A Novel Sensory Data Processing Framework to ... - IEEE Xplore

21 downloads 13972 Views 1MB Size Report
A Novel Sensory Data Processing Framework to. Integrate Sensor Networks With Mobile Cloud. Chunsheng Zhu, Student Member, IEEE, Hai Wang, Student ...
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination. IEEE SYSTEMS JOURNAL

1

A Novel Sensory Data Processing Framework to Integrate Sensor Networks With Mobile Cloud Chunsheng Zhu, Student Member, IEEE, Hai Wang, Student Member, IEEE, Xiulong Liu, Lei Shu, Member, IEEE, Laurence T. Yang, Member, IEEE, and Victor C. M. Leung, Fellow, IEEE

Abstract—Taking advantage of the data gathering capability of wireless sensor networks (WSNs) as well as the data storage and processing ability of mobile cloud computing (MCC), WSN–MCC integration is attracting significant attention from both academia and industry. This paper focuses on processing of the sensory data in WSN–MCC integration, by identifying the critical issues concerning WSN–MCC integration and proposing a novel sensory data processing framework, which aims at transmitting desirable sensory data to the mobile users in a fast, reliable, and secure manner. The proposed framework could prolong the WSN lifetime, decrease the storage requirements of the sensors and the WSN gateway, and reduce the traffic load and bandwidth requirement of sensory data transmissions. In addition, the framework is capable of monitoring and predicting the future trend of the sensory data traffic, as well as improving its security. The framework further decreases the storage and processing overhead of the cloud, while enabling mobile users to securely obtain their desired sensory data faster. Analytical and experimental results are presented to demonstrate the effectiveness of the proposed framework. Index Terms—Data processing, framework, integration, mobile cloud computing (MCC), wireless sensor networks (WSNs).

I. I NTRODUCTION A. Wireless Sensor Networks

W

IRELESS sensor networks (WSNs) are spatially distributed autonomous sensors that cooperatively monitor

Manuscript received September 9, 2013; revised December 16, 2013; accepted January 4, 2014. This work is based in part on a paper in Proceedings of the 5th IEEE International Conference on Cloud Computing Technology and Science (IEEE CloudCom), Bristol, U.K., Dec. 2013. This work was supported by The University of British Columbia under a Four-Year Doctoral Fellowship, by the Natural Sciences and Engineering Research Council of Canada, by TELUS, and by other industry partners. The work of L. Shu was supported by the Guangdong University of Petrochemical Technology under Internal Project 2012RC0106. C. Zhu and V. C. M. Leung are with the Department of Electrical and Computer Engineering, The University of British Columbia, Vancouver, BC V6T 1Z4, Canada (e-mail: [email protected]; [email protected]). H. Wang is with the Department of Computer Science and Engineering, Pohang University of Science and Technology, Pohang 790-784, Korea (e-mail: [email protected]). X. Liu is with the School of Computer Science and Technology, Dalian University of Technology, Dalian 116024, China (e-mail: xiulongliudut@ gmail.com). L. Shu is with the Guangdong Provincial Key Laboratory of Petrochemical Equipment Fault Diagnosis, Guangdong University of Petrochemical Technology, Maoming 525000, China (e-mail: [email protected]). L. T. Yang is with the Department of Mathematics, Statistics and Computer Science, St. Francis Xavier University, Antigonish, NS B2G 2W5, Canada (e-mail: [email protected]). Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/JSYST.2014.2300535

some physical or environmental conditions (e.g., temperature, sound, vibration, pressure, motion, etc.) [1]–[3]. WSNs have attracted the attention of numerous researchers because of their great potential to enable many important applications (e.g., battlefield surveillance, battle damage assessment, industrial process monitoring and control, health monitoring, home automation, and traffic monitoring), which could change the way that people interact with the physical world. Take battlefield surveillance for instance, by deploying sensor nodes in a battlefield to continuously monitor the condition of critical terrain, approach routes, paths, and straits, the activities of the opposing forces can be closely watched by a surveillance center without the involvement of physical scouts. In health monitoring, by deploying sensor nodes to monitor and detect the body status (e.g., heart rate, a fall, etc.) of elderly people or patients, doctors can identify symptoms or prevent unexpected accidents earlier without direct contacts with the subjects. With recent advances in microelectromechanical systems and digital electronics, as well as wireless communications, which make miniature, low-cost, low-power, and multifunctional sensor nodes available, the widespread implementation of WSNs is becoming a reality. B. MCC Moreover, with available cheaper, more powerful, and ubiquitous computing resources, cloud computing (CC) has emerged as a new computing model [4]. In CC, resources (e.g., processors, storage, networks, applications, and services) are offered as general utilities that can be rapidly provisioned and released by users through the Internet in an on-demand manner. It offers the following advantages to the user of computing services: 1) no up-front investment; 2) lower operating cost; 3) high scalability; 4) easy accessibility; 5) reduced business risks and maintenance expenses. Inheriting the advantages of CC, mobile CC (MCC) [5]–[7] further overcomes the hardware limits (e.g., battery, storage capacity, and processing power) of mobile devices by offloading much of the data processing and storage from the mobile device to the powerful computing platforms located in the clouds. In addition, MCC also leverages the applications of CC to enable a lot of new mobile services (e.g., mobile cloud commerce, mobile cloud learning, mobile cloud healthcare, and mobile cloud gaming) with CC. For instance, in traditional mobile learning based on electronic learning, mobile devices may encounter issues such as high storage cost, low processing speed, and limited education resources on the mobile devices. With the

1932-8184 © 2014 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination. 2

IEEE SYSTEMS JOURNAL

Fig. 1. Applications of WSN–MCC integration.

cloud storing data and processing client requests from smart phones sent via wireless networks, much richer services, as well as faster processing speed, could be provided through MCC to both learners and teachers. In mobile gaming, MCC could move the game engine that requires large computing resources (e.g., for graphic rendering) to the servers in the cloud. Then, game players only need to interact with the screen interface on their devices. This not only can help reduce energy consumption for mobile devices but also can enhance the performance (e.g., refresh rate, image definition, and sound effect) of mobile gaming. C. Integration of WSNs and MCC Recently, induced by the attractiveness of exploiting both the ubiquitous data gathering capability of WSNs and the powerful data storage and processing capacities of MCC, the integration of WSNs and MCC has attracted much attention from both academia and industry [8]–[14]. The main idea is to utilize the powerful CC platform to store and process the sensory data (e.g., humidity, temperature, and traffic) and then further offer these processed sensory data to the mobile users. For example, as shown in Fig. 1, WSNs are deployed to collect the weather,

humidity, temperature, traffic, and house information within a certain area. The collected information can be transmitted to the cloud for storage and processing first. Then, the cloud is able to further transmit the processed sensory data to the mobile users on demand. Mobile users can have access to the sensory information with just a simple client in the mobile device. D. Research Motivations When integrating WSNs and MCC, the following critical issues or needs should be taken into consideration. 1) In a WSN, sensory data from a source node are usually forwarded to the gateway via intermediary sensor nodes in a hop-by-hop manner. Intermediary nodes close to the gateway therefore tend to have a heavy workload. Since sensor nodes are often equipped with batteries that are not rechargeable and they may not be accessible for battery replacement, energy conservation is always an important concern to extend the lifetime of a WSN. 2) Wireless networks utilize scarce radio resource for communications. With the anticipated dramatic increase in the numbers of mobile and cloud users, the relatively low wireless network bandwidth may become a very

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination. ZHU et al.: FRAMEWORK TO INTEGRATE SENSOR NETWORKS WITH MOBILE CLOUD

critical bottleneck. When sensors are employed to gather multimedia data (e.g., images, videos, etc.), they generate a large volume of data traffic that further aggravates the demand on transmission bandwidth. Reduction of traffic and bandwidth demand is therefore an important issue. 3) Most WSNs collect data either continuously or at the command of the applications or users. In the latter case, there will be a delay for the applications or users to eventually obtain the desired data. It would be desirable to harness the processing capacity of the cloud to empower the WSN with the ability to anticipate the data needs of the applications/users. E. Research Contributions and Organization Motivated by the issues or needs identified previously, this paper proposes a novel framework to process the sensory data in an integrated WSN–MCC system. The proposed framework utilizes the WSN gateway to perform data traffic monitoring, filtering, prediction, compression, and security (i.e., encryption and decryption) functions, and the cloud gateway to perform data security and decompression functions. Furthermore, the cloud conducts data recommendation, and both the cloud and the mobile users also support data security functions. The design of the framework is aimed to transmit the desirable sensory data from the sensors to the cloud and further to the mobile users in a fast, reliable, and secure way. We present analytical and experimental results to show that the proposed framework could prolong the network lifetime, reduce storage requirement, and improve the performance of the WSN, as well as the security of the transmitted sensory data. Moreover, the framework is also able to reduce the traffic and bandwidth required for sensory data transmissions, as well as the cloud storage and processing overhead. In addition, it is capable of reducing the latency, while enhancing the security that mobile users experience in obtaining their desired data. To the best of our knowledge, our work is the first to achieve all these favorable advantages. 1) This paper is the first to address the critical issues identified previously with regard to WSN–MCC integration. These issues are generally ignored by current frameworks integrating WSNs and MCC. 2) A novel sensory data processing framework is proposed in this paper motivated by these critical issues. Data traffic monitoring, data filtering, data prediction, and data compression are performed by the WSN gateway. Data decompression and data recommendation are conducted by the cloud gateway and cloud, respectively. Encryption/ decryption are utilized by the WSN gateway, cloud gateway, the cloud, and the mobile users for data security. 3) We implement a simplified prototype of our proposed framework to evaluate the effectiveness. Analytical and experimental results show that the proposed framework can enhance the performance of WSNs and the cloud to favor transmitting desirable sensory data to the mobile users in a fast, reliable, and secure way. Specifically, the proposed framework could prolong the sensor network lifetime, decrease the storage requirement of the sensor

3

and the sensor gateway, reduce the sensory data transmission bandwidth requirement and traffic, predict the future trend of the sensory data, monitor the sensory data traffic, and improve the security of transmitted sensory data. Furthermore, it is also able to decrease the storage and processing overhead of the cloud, as well as favor the mobile users to obtain their desired sensory data faster and securely. The rest part of this paper is organized as follows: Section II introduces the related work regarding sensory data processing in WSN–MCC integration. The proposed framework to integrate a WSN with MCC is described and analyzed in Section III. Section IV presents the evaluation results. Section V concludes the paper. II. R ELATED W ORK Current frameworks for processing sensory data in integrated WSN–MCC mainly focus on dealing with the sensory data after the data are transmitted to the cloud. For instance, [15] proposes an architecture based on CC to improve the performance of WSN. Particularly, it assumes that the cloud acts as a virtual sink with many sink points that gather the sensory data from sensors, with each sink point in charge of collecting the data from the sensors within a zone. The sensory data are finally stored and processed in a distributed manner in the cloud. A dynamic proxy-based approach is proposed in [16] to connect sensors to the cloud. Specifically, at the sensor tier, the aggregated sensory data at a sink are sent to the local proxy via a local communication mechanism. At the gateway tier, the local proxy parses the received messages and generates dynamic components over the event bus for each new sensor detected. The gathered sensory data are modeled and then further relayed to the cloud. Another sensor–cloud integration framework is proposed in [17]. This framework includes the data processing unit (DPU), Pub/Sub Broker, the request subscriber, the identity and access management unit, and the data repository (DR). Sensory data collected from the WSN are transmitted via a gateway to the DPU, which processes the data into a storage format and sends the data to the DR. In addition, [18] focuses on large-scale sensory data processing in the cloud. It utilizes the Hadoop Distributed File System and HBase to store the sensory data. Hadoop MapReduce is used for parallel processing of the sensory data. In [19], it is argued that WSNs could offload some resource-intensive tasks to the cloud and uses Amazon Web Services for this purpose. This work demonstrates that Amazon web service can meet the dynamic computational needs of environmental applications of WSNs. The provision of sensory data to mobile users is not considered. The work that is most similar to ours is the framework in [20], which focuses on data filtering with sensor gateways when integrating WSNs and MCC. However, the focus in [20] is the use of neural networks for filtering and compression of data from homogenous WSNs. In contrast, our proposed framework considers not only data filtering and compression but also data prediction, traffic monitoring, and security, for integrating not only homogeneous but also heterogeneous WSNs with MCC.

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination. 4

IEEE SYSTEMS JOURNAL

Fig. 2. Proposed framework to integrate WSNs and MCC.

Moreover, in terms of data filtering and compression with neural networks, a neural network generally requires greater computational resources compared with other methods [21]. In addition, compressing data with neural networks may result in a high compressed data deviation, as the neural network is based on minimum of experience risk and owns a local minimum problem [22]. To the best of our knowledge, none of the existing work on WSN–MCC integration considers the data traffic monitoring, filtering, prediction, compression, and encryption of sensory data before transmitting to the cloud. Our work is the first to consider all these tasks.

flowchart of how sensory data are processed over the proposed framework. Specifically, the framework is reviewed as follows. First, for each WSN gathering specific sensory data, there is a sensor gateway for each cluster of the WSN. Each sensor gathers the sensory data and sends the sensory data directly to the sensor gateway. The collected data are further processed by the sensor gateway.1 Second, after the sensor gateway receives the sensory data, the sensor gateway processes the data with the following five components: data traffic monitoring unit, data filtering unit, data prediction unit, data compression unit, and data encryption unit. Specifically, the respective unit filters the sensory data traffic according to a set of predefined rules, monitors the data traffic, and predicts the future sensory data. Furthermore, the

III. P ROPOSED WSN–MCC I NTEGRATION F RAMEWORK A. Framework Overview Fig. 2 shows the overall view of the proposed WSN–MCC integration framework, and Fig. 3 presents the numbered

1 The sensor gateway (e.g., NI 9792 programmable real-time gateway [23] offered by National Instruments Corporation) is a programmable gateway with enough capacity (e.g., operating system, processor, memory, and storage) to perform real-time data processing.

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination. ZHU et al.: FRAMEWORK TO INTEGRATE SENSOR NETWORKS WITH MOBILE CLOUD

Fig. 3.

5

Flowchart of the proposed WSN–MCC integration framework.

sensory data are compressed and encrypted. Detailed descriptions of these five processing units will be given later. After the sensor gateway has processed the data, the data that are deemed faulty are discarded, while the normal data are further transmitted to the cloud gateway. Third, when the cloud gateway receives the compressed sensory data from the sensor gateway, the cloud gateway processes the received data by decrypting the data with the data decryption unit and then decompressing the data with the data decompression unit. Fourth, the decrypted and decompressed sensory data from the cloud gateway are stored and processed by the powerful servers in the cloud, so that they are suitable for presentation to requesting mobile users. Particularly, the cloud utilizes the data recommendation unit to analyze the data feature information required by mobile users. Fifth, in response to data requests from mobile users, the cloud encrypts the required sensory data with the encryption unit at the cloud gateway before transmitting the data to the mobile users. The mobile users decrypt the received data with the data decryption unit in the respective mobile device. When the mobile users issue data requests, they also encrypt the data requests, and the data requests are further decrypted by the decryption unit of the cloud gateway. Finally, after the cloud obtains the data feature information required by mobile users, the cloud provides feedback to the WSN manager with information encrypted with the encryption unit at the cloud gateway. The corresponding sensor gateway decrypts the information with the data decryption unit, and then, the WSN manager can take corresponding countermeasures (e.g., deploying more sensors to the area that mobile users are interested in).

B. Descriptions of Data Processing Tasks 1) Data Traffic Monitoring: Normally, the sensors collect data with a set frequency (e.g., every 30 s). Thus, the size of data records can be taken into account to check whether there is too much or very few data collected by the sensors. If there is too much or very few data traffic, which is above or below the normal acceptable data traffic for a specific time interval, then probably some sensors are compromised, and the network manager should check whether the situation is true to avoid further harm from the compromised sensors to the network. 2) Data Filtering: Generally, the values of data collected by the sensors should fall within an acceptable range, according to the design of the sensors. For example, humidity values cannot exceed 100%. However, sensory data values that are out of range may appear due to various factors (e.g., measurement errors or compromised sensors, etc.). The data filtering unit checks whether the gathered sensory data values fall within the acceptable range. If the data value is out of range, these faulty sensory data will be discarded. Only acceptable sensory data will be further processed. 3) Data Prediction: Here, we consider that time-series sensory data are collected by the WSN, and apply the secondary exponential smoothing model (SESM) [24]–[26] for data prediction. The SESM is a widely used technique that can be applied to time-series data, either to produce smoothed data for presentation or to make forecasts [27]–[29]. In [29], the prediction process of the SESM is as follows. Suppose that there are n time sequences and the primary data Y = yl , y2 , . . . , yn are the data in the original time sequence. (1) (2) Let St and St be the first and second smoothing values at (1) (2) time t. St−1 and St−1 represent the first and second smoothing

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination. 6

IEEE SYSTEMS JOURNAL

(1)

(2)

values at time t − 1. Then, St and St are expressed as follows, in which α is the smoothing parameter: ⎧ (1) (1) ⎪ S = αyt + (1 − α)St−1 ⎪ ⎪ ⎨ t(2) (1) (2) St = αSt + (1 − α)St−1 (1) (1) (2) ⎪ ⎪ S1 = S1 = y 1 ⎪ ⎩ t = 2, 3, . . . , n. Based on (1), we can further deduce that Ft+m = at + bt m. Here, Ft+m is the prediction value at time t + m, where m is the prediction step and m = 0, 1, 2, . . . , M . The variables at and bt are given as follows:  (1) (2) at = 2St  − St  (2) (1) (2) α St − St . bt = 1−α Moreover, the prediction error is calculated as M



α

yn+m − yn+m

. P Eα =

(3)

m=1 α yn+m is the actual data value at time n + m, and yn+m is the predicted data value at time n + m. 4) Data Compression and Decompression: Assuming that every piece of sensory data collected by the WSNs and processed by the cloud is important to fulfill the requests from the mobile users for sensory data, transmissions of sensory data from the sensor gateway to the cloud gateway should be lossless. Compression and decompression are performed at the respective gateways to reduce packet losses due to network congestion, which would be recovered using a suitable transport protocol (e.g., transmission control protocol) between the gateways. However, important sensory data could still be lost if the decompressed data do not perfectly match the data that are compressed, i.e., the compression/decompression process is lossy. To avoid this problem, we utilize lossless compression/ decompression techniques. The deflate algorithm, which is defined in RFC 1951 [30] and combines Huffman coding [31] and LZ77 compression [32], is a widely used entropy encoding algorithm for lossless data compression in computer science and information theory [33]–[38]. We employ the deflate algorithm in the proposed WSN-MSS integration framework. Huffman coding [31], [39] is a statistical technique for reducing the number of bits required to represent a string of symbols and therefore is well suited for data compression. The key of Huffman coding is to allow encoded symbols to vary in length. Particularly, shorter codes are assigned to the most frequently used symbols and vice versa. Huffman coding is easy to implement following the basic process as follows: 1) scan the sensory data storage file to be compressed and calculate the occurrence of all sensory data values; 2) sort or prioritize the sensory data values based on the number of occurrences in the storage file; 3) establish the Huffman code tree based on the prioritized list; 4) perform a traversal of tree to determine all code words; 5) scan the sensory data storage file again and create a new file using the Huffman codes.

The Huffman code tree is established as follows: • create a parentless node for each symbol: each node includes the symbol and its probability; • the two parentless nodes with the lowest probabilities are selected; • a new node is created, which is the parent of the two nodes with the lowest probabilities; • assign the new node a probability, which is equal to the sum of probabilities of its children; • repeat from Step 2 until only one parentless node is left. To decode the Huffman coded symbols, the process is as follows: 1) scan the encoded file; 2) reconstruct the Huffman code for each symbol in the encoded file; 3) read the data in the encoded file and decode the file. LZ77 [32], [39] is a dictionary-based encoding technique that can be applied for data compression, by replacing a string of symbols with a reference to a dictionary location for the same string. The main motivation is that the dictionary reference should be shorter than the string it replaces. The dictionary is actually a sliding window containing the last N symbols encoded or decoded. Larger N means that it takes longer to search the whole dictionary for a match and it will require more bits to store the offsets into the dictionary. Typically, the number of symbols in a dictionary is equal to some power of 2. The encoding process of LZ77 consists of the following steps. Step 1) The dictionary is initialized to a known value. Step 2) Read an uncoded string whose length is the maximum allowable match length. Step 3) The longest matching string is searched in the dictionary. Step 4) If a match is found with not less than the minimum allowable match length, then the encoded flag, the offset, and the length are written to the encoded output. Otherwise, the uncoded flag and the first uncoded symbol are written to the encoded output. Step 5) A copy of the symbols written to the encoded output is shifted from the uncoded string to the dictionary. Step 6) Read a number of symbols from the uncoded input whose length is equal to the number of symbols written in Step 4. Step 7) Repeat from Step 3 until all the uncoded inputs have been encoded. To perform the decoding of LZ77, the following steps are performed. Step 1) The dictionary is initialized to a known value. Step 2) Read the encoded or not encoded flag. Step 3) If the flag indicates an encoded string, then read the encoded length and the offset and copy the specified symbols from the dictionary to the decoded output. Otherwise, the next character is read and written to the decoded output. Step 4) A copy of the symbols written to the decoded output is shifted into the dictionary.

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination. ZHU et al.: FRAMEWORK TO INTEGRATE SENSOR NETWORKS WITH MOBILE CLOUD

Step 5) Repeat from Step 2 until the whole inputs have been decoded. Deflate is a combination of Huffman coding and LZ77 with a window size of 32 KB. 5) Data Encryption and Decryption: Considering the popularity of encryption algorithms and security, the Rivest– Shamir–Adleman (RSA) method [40] is utilized for data encryption and decryption due to the follow reasons. First, RSA is based on the factorization of large numbers, which is rather difficult [41], [42] to be breached. Second, RSA is a public-keybased cryptography algorithm, and thus, the security of keys is also higher compared with symmetric cryptography algorithms that only use one key for encryption and decryption. Third, RSA is widely utilized in real-life applications (e.g., online business activities, bank systems, and military intelligence) due to its simplicity and ease of implementation [43], [44]. Specifically, the public-key cryptography RSA involves three aspects (i.e., key generation, encryption, and decryption). For the key generation part, it consists of the following processes: 1) select random prime numbers p and q, and check that p and q are distinct primes; 2) compute modulus n = p × q; 3) compute ϕ(n) = (p − 1)(q − 1); 4) select public exponent e, 1 < e < ϕ(n) such that gcd(ϕ(n), e) = 1; 5) compute private exponent d = e−1 mod ϕ(n); 6) public key is (n, e); private key is d. With regard to the encryption part, we have c = me mod n.

(4)

About decryption, we have m = cd mod n.

(5)

6) Data Recommendation: Here, the Apriori algorithm [45] is utilized because it is a classical algorithm for frequent itemset mining and association rule learning [46]. Particularly, Apriori is a level-wise complete search algorithm utilizing the antimonotonicity of itemsets. The Apriori property is that any superset of an itemset will not be frequent if an itemset itself is not frequent. Based on this property, the main idea of Apriori is shown with the following three steps first, which are followed with detailed illustrations. 1) First, the database is scanned and searched for frequent itemsets of size 1 by accumulating the count for each item. Those itemsets that satisfy the minimum_support requirement are collected. 2) Second, iterating with the following three steps to find frequent itemsets with cardinality from 1 to k (k-itemset). 1) From the frequent itemsets of size k, Ck+1 that contains the candidates of frequent itemsets of size k + 1 is generated. 2) The database is scanned, and the support of each candidate of frequent itemsets is calculated. 3) Those candidate itemsets satisfying the minimum_support requirement are added to Fk+1 .

7

3) Third, the frequent itemsets are utilized to generate association rules if necessary with support_count() and min_conf idence. Pseudocode of Apriori algorithm 1. F1 = {Frequent itemsets of cardinality 1} 2. for (k = 1; Fk = ∅; k + +) do begin 3. Ck+1 = apriori-gen(Fk ); //New candidates 4. for all transactions t ∈ Database, do begin 5. Ct = subset(Ck+1 , t); //Candidates contained in t 6. for all candidates c ∈ Ct do 7. c.count + +; 8. end 9. Fk+1 = {C∈Ck+1 |c.count ≥ minimum_support} 10. end 11. end 12. return k Fk The pseudocode of the Apriori algorithm for frequent itemset mining is previously shown, with Ck denoting the candidate itemsets of size k and Fk representing the frequent itemsets of size k. In addition, minimum_support is a threshold value for an itemset to be taken as a frequent itemset if the appearance of the itemset in the transactions of the database exceeds the threshold value. Particularly, the following two steps (i.e., join and prune) are utilized to generate Ck+1 from Fk using function apriori-gen in line 3. 1) Join step: RK+1 , which are the initial candidates of frequent itemsets of size k + 1, are generated, by taking the union of the two frequent itemsets of size k, i.e., Pk and Qk , that own the first k − 1 elements in common. Specifically, RK+1 = Pk Qk = {item1 , . . . , itemk−1 , itemk , itemk }, in which Pk = {item1 , item2 , . . . , itemk−1, itemk } and Qk = {item1, item2 , . . . , itemk−1 , itemk }, where item1 < item2 < · · · < itemk < itemk . 2) Prune step: Check if all the itemsets of size k in Rk+1 are frequent and Ck+1 is generated by removing those candidates that do not pass this requirement from Rk+1 . This is based on the Apriori property that any subset of size k of Ck+1 , which is not frequent, cannot be a subset of a frequent itemset of size k + 1. Furthermore, all the candidates of the frequent itemsets included in transaction t are found with the function subset in line 5. With that, the frequencies of the candidates generated in this way are calculated by scanning the database, and the frequencies are checked to see whether they exceed the minimum_support. The Apriori algorithm scans the database at most kmax +1 times if the maximum size of frequent itemsets is set at kmax . After the set of frequent itemsets F is achieved, the association rules are generated based on the frequent itemsets with the following procedure. 1) For each frequent itemset I in F , all nonempty subsets of I are obtained.

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination. 8

IEEE SYSTEMS JOURNAL

2) For every nonempty subset s of I, the rule s → (I − s) is selected if the following equation holds: support_count(I) ≥ min_conf idence support_count(s)

TABLE I DATA T RAFFIC M ONITORING P ERFORMANCE

(6)

where support_count(X) of an itemset X is the proportion of transactions containing the itemset in the database, and min_conf idence is a minimum confidence threshold value.

TABLE II DATA F ILTERING P ERFORMANCE

C. Framework Characteristics Based on the aforementioned descriptions of the data processing tasks incorporated in the proposed framework, we can observe that the proposed framework has the following desirable characteristics that enable the timely, reliable, and secure transmissions of sensory data from the sensors to the cloud and further to the mobile users. 1) Prolong the Sensor Network Lifetime: By offloading data processing from the sensors to the cloud, energy consumption due to extensive data processing at the sensors will be significantly reduced, and the lifetime of the sensor network will be prolonged. 2) Decrease the Storage Requirement of the Sensor and the Sensor Gateway: In the proposed framework, complex signal processing functions are offloaded to the cloud. There is no need for the sensor, the sensor gateway, or the cloud gateway to store a large amount of data for processing. Thus, the storage requirements of the sensor and the sensor gateway are minimized. 3) Reduce the Sensory Data Transmission Bandwidth Requirement and Traffic: Because the sensory data are filtered and compressed before transmitting to the cloud, the traffic load and transmission bandwidth requirements for sensory data are reduced. 4) Predict the Future Trend of the Sensory Data: With the SESM, which can predict the future trend of the sensory data, this can alert people to take measures in advance to prevent the occurrence of dangerous events, which are indicated by the sensory data trend. For example, if the hearting rate of a patient collected by a body sensor becomes abnormally high, then perhaps the condition of the patient is getting worse. Moreover, if the toxic substances in the water detected by some sensors tend to exceed the acceptable level, then maybe the government should take some actions to avoid the danger that excessive toxic substances might kill a lot of people. 5) Monitor the Sensory Data Traffic: Based on the data traffic monitoring unit in the sensor gateway, the sensory data traffic is monitored. If the sensory data traffic is too high or too low, then it is quite likely that there is something wrong with some sensors. Perhaps some sensors have died or are faulty, or maybe some sensors are compromised. This can alert the system manager to check the status of the sensor to ensure the sensors work properly. 6) Improve the Security of Transmitted Data: Since the compressed data are encrypted with RSA before transmission to the cloud, the security of the transmitted data is thus improved.

TABLE III DATA P REDICTION P ERFORMANCE

7) Enable Mobile Users to Securely Obtain Desired Sensory Data Faster: The proposed framework is designed to efficiently and securely transmit sensory data to the cloud for processing. In addition, a data recommendation unit is incorporated in the cloud to provide recommendations to mobile users, depending on their previous interests. In addition, when the cloud responds to the data requests of mobile users, it encrypts the requested sensory data and then transmits the data to mobile users. The mobile users then decrypt the received data. Thus, the sensory data can be obtained by mobile users securely. IV. E VALUATIONS A. Evaluation Setup To perform the evaluation, we implement a simplified prototype of the proposed framework to process the sensory data in the following two scenarios. 1) Scenario 1: Two real Mica2Dot sensor nodes built on the TinyOS platform collect two types of sensory data (i.e., temperature and humidity) during a 6-h period in a dormitory of the Dalian University of Technology, China. 2) Scenario 2: Eight real Mica2Dot sensor nodes built on the TinyOS platform gather four types of sensory data (i.e., temperature, humidity, light, and voltage) for 14 days in a classroom of the Dalian University of Technology. Specifically, the temperature is in degrees Celsius. Humidity is the temperature-corrected relative humidity, which ranges from 0% to 100%. Light is in lux, and voltage is expressed in volts. For both scenarios 1 and 2, the gathered sensory data are further processed with the Jupiter cloud platform of the Dalian University of Technology to offer these processed sensory data to a mobile user requesting these sensory data. The Jupiter cloud platform utilizes four virtual CPU cores (2.6 GHz) and a 64-GB memory.

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination. ZHU et al.: FRAMEWORK TO INTEGRATE SENSOR NETWORKS WITH MOBILE CLOUD

9

Fig. 4. Data prediction performance sample in scenario 1, with regard to (a) temperature and (b) humidity, and in scenario 2, with regard to (c) temperature, (d) humidity, (e) light, and (f) voltage.

The evaluated performance are data traffic monitoring performance, data filtering performance, data prediction performance, data compression performance, and data recommendation performance. B. Evaluation Results 1) Data Traffic Monitoring Performance: Table I shows the data traffic monitoring performance in scenarios 1 and 2. We monitor the data traffic for a specific time interval (i.e., every minute) regarding all types of sensory data (i.e., temperature, humidity, light, and voltage). From this table, we can observe that the data traffic is normal. There are 24 data records every minute in scenario 1 and 16 data records every minute in scenario 2. 2) Data Filtering Performance: For data filtering, we remove the collected data that own too high or too low data value, which is obviously not acceptable. The data filtering performance in both scenarios 1 and 2 are shown in Table II.

In scenario 1, there are total of 8834 records before data filtering, and there are total of 8750 records after the data filtering. Eighty-four records are filtered. In scenario 2, before data filtering, there are total of 322 553 records. After the data filtering, there are total of 322510 records. Forty-three records are filtered. 3) Data Prediction Performance: Table III summarizes the data prediction error with the SESM data prediction technique in scenarios 1 and 2 utilizing 2000 group data. Moreover, Fig. 4(a) and (b), respectively, show the data prediction sample, with respect to temperature and humidity, in scenario 1. The data prediction sample, with respect to temperature, humidity, light, and voltage, in scenario 2 are presented in Fig. 4(c)–(f), respectively. In Table III and Fig. 4, we can observe that the predicted data value is almost the same as the actual data value. 4) Data Compression Performance: Regarding data compression, we utilize the deflate data compression method illustrated previously. The data compression performance is shown in Table IV. In scenario 1, the size of all the data is

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination. 10

IEEE SYSTEMS JOURNAL

TABLE IV DATA C OMPRESSION P ERFORMANCE

TABLE V DATA R ECOMMENDATION P ERFORMANCE B EFORE ATTRIBUTE C OMBINATION

TABLE VI DATA R ECOMMENDATION P ERFORMANCE A FTER ATTRIBUTE C OMBINATION

data to mobile users in a fast, reliable, and secure manner. Particularly, data traffic monitoring, filtering, prediction, compression, and decompression capabilities are incorporated in the sensor gateway and the cloud gateway. The large processing capacity of the cloud is exploited to provide data recommendation capability. Data encryption and decryption techniques are applied in the cloud, mobile devices, and sensor and cloud gateways to enhance capacity. We have provided analytical and experimental results to show that the proposed framework is capable of enhancing the network lifetime, the storage requirement, the security and monitoring performance of WSNs, and the security of the transmitted sensory data and of reducing the traffic and bandwidth required for sensory data transmissions and the cloud storage and processing overhead. The advanced capabilities and high performance of the proposed framework enable the mobile users to securely obtain their desired sensory data faster. R EFERENCES

138 035 bytes before data compression and 33 433 bytes after data compression. About 75% data are compressed. In scenario 2, before data compression, the size of all the data is 11 610 360 bytes. After data compression, the size of all the data is reduced to 3 716 327 bytes. Around 70% data are compressed. 5) Data Recommendation Performance: Tables V and VI show the data recommendation performance with Apriori, with respect to confidence, before and after attribute combination in both scenarios 1 and 2. Here, we randomly select 1000 group sensory data records and preset the attributes (i.e., temperature, humidity, light, or voltage) that the mobile user will utilize. Then the support confidence for each attribute is determined, and the corresponding confidence of the combination of two attributes is obtained. From this table, we can know that the proposed framework can accomplish the following goal. When the mobile user chooses one type of data (e.g., temperature), by setting a confidence threshold, we can get some data combinations (e.g., temperature and humidity), whose confidence is larger than the threshold. Then, these data are the recommended data that indicate a stronger relationship than other data patterns. These recommended data would help the WSNs to deploy sensors in advance, to the corresponding areas that result in these strong data combinations. V. C ONCLUSION The integration of WSNs and MCC is a very timely and important research topic. Focusing on the sensory data processing aspect in integrated WSN–MCC, in this paper, we have proposed a novel framework to process the sensory data collected by the sensors, to enable the transmissions of desirable sensory

[1] I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci, “Wireless sensor networks: A survey,” Comput. Netw., vol. 38, pp. 393–422, 2002. [2] C. Zhu, L. Shu, T. Hara, L. Wang, S. Nishio, and L. T. Yang, “A survey on communication and data management issues in mobile sensor networks,” Wireless Commun. and Mob. Comput., vol. 14, no. 1, pp. 19– 36, Jan. 2014. [3] M. Li and Y. Liu, “Underground coal mine monitoring with wireless sensor networks,” ACM Trans. Sensor Netw., vol. 5, no. 2, pp. 10-1–10-29, Mar. 2009. [4] Q. Zhang, L. Cheng, and R. Boutaba, “Cloud computing: State-of-the-art and research challenges,” J. Ineternet Serv. Appl., vol. 1, no. 1, pp. 7–18, May 2010. [5] H. T. Dinh, C. Lee, D. Niyato, and P. Wang, “A survey of mobile cloud computing: Architecture, applications, and approaches,” Wireless Commun. Mobile Comput., vol. 13, no. 18, pp. 1587–1611, Dec. 2013. [6] C. Zhu, V. C. M. Leung, X. Hu, L. Shu, and L. T. Yang, “A review of key issues that concern the feasibility of mobile cloud computing,” in Proc. IEEE Int. Conf. Cyber, Phys. Soc. Comput., 2013, pp. 769–776. [7] S. Wang and S. Dey, “Adaptive mobile cloud computing to enable rich mobile multimedia applications,” IEEE Trans. Multimedia, vol. 15, no. 4, pp. 870–883, Jun. 2013. [8] M. Yuriyama and T. Kushida, “Sensor-cloud infrastructure—Physical sensor management with virtualized sensors on cloud computing,” in Proc. 13th Int. Conf. Netw.-Based Inf. Syst., 2010, pp. 1–8. [9] G. Fortino, M. Pathan, and G. D. Fatta, “Bodycloud: Integration of cloud computing and body sensor networks,” in Proc. IEEE 4th Int. Conf. Cloud Comput. Technol. Sci., 2012, pp. 851–856. [10] Y. Takabe, K. Matsumoto, M. Yamagiwa, and M. Uehara, “Proposed sensor network for living environments using cloud computing,” in Proc. 15th Int. Conf. Netw.-Based Inf. Syst., 2012, pp. 838–843. [11] C. Zhu, V. C. M. Leung, L. T. Yang, X. Hu, and L. Shu, “Collaborative location-based sleep scheduling to integrate wireless sensor networks with mobile cloud computing,” in Proc. IEEE Globecom Workshop Cloud Comput. Syst., Netw., Appl., 2013, pp. 451–456. [12] P. You and Z. Huang, “Towards an extensible and secure cloud architecture model for sensor information system,” Int. J. Distrib. Sensor Netw., vol. 2013, pp. 823418-1–823418-12, 2013. [13] S. T. Ali, V. Sivaraman, and D. Ostry, “Authentication of lossy data in body-sensor networks for cloud-based healthcare monitoring,” Future Gener. Comput. Syst., Sep. 2013. [Online]. Available: http://www. sciencedirect.com/science/article/pii/S0167739X13001866 [14] A. Alamri, W. S. Ansari, M. M. Hassan, M. S. Hossain, A. Alelaiwi, and M. A. Hossain, “A survey on sensor-cloud: Architecture, applications, and approaches,” Int. J. Distrib. Sensor Netw., vol. 2013, pp. 917923-1– 917923-18, 2013. [15] P. Zhang, Z. Yan, and H. Sun, “A novel architecture based on cloud computing for wireless sensor network,” in Proc. 2nd Int. Conf. Comput. Sci. Electron. Eng., 2013, pp. 472–475. [16] W. Wang, K. Lee, and D. Murray, “Integrating sensors with the cloud using dynamic proxies,” in Proc. IEEE 23rd Int. Symp. Pers. Indoor Mobile Radio Commun., 2012, pp. 1466–1471.

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination. ZHU et al.: FRAMEWORK TO INTEGRATE SENSOR NETWORKS WITH MOBILE CLOUD

[17] K. Ahmed and M. Gregory, “Integrating wireless sensor networks with cloud computing,” in Proc. 7th Int. Conf. Mobile Ad-hoc Sensor Netw., 2011, pp. 364–366. [18] B. Tang and Y. Wang, “Design of large-scale sensory data processing system based on cloud computing,” Res. J. Appl. Sci., Eng. Technol., vol. 4, no. 8, pp. 1004–1009, 2012. [19] K. Lee, D. Murray, D. Hughes, and W. Joosen, “Extending sensor networks into the Cloud using Amazon Web Services,” in Proc. IEEE Int. Conf. Netw. Embedded Syst. Enterp. Appl., 2010, pp. 1–7. [20] L. P. D. Kumar, S. S. Grace, A. Krishnan, V. M. Manikandan, R. Chinraj, and M. R. Sumalatha, “Data filtering in wireless sensor networks using neural networks for storage in cloud,” in Proc. Int. Conf. Recent Trends Inf. Technol., 2012, pp. 202–205. [21] J. V. Tu, “Advantages and disadvantages of using artificial neural networks versus logistic regression for predicting medical outcomes,” J. Clinical Epidemiology, vol. 49, no. 11, pp. 1225–1231, Nov. 1996. [22] L. Fausett, Fundamentals of Neural Networks: Architectures, Algorithms, and Applications. Englewood Cliffs, NJ, USA: Prentice-Hall, 1994. [23] [Online]. Available: http://www.ni.com/pdf/products/us/cat_NI9792.pdf [24] R. G. Brown, Exponential Smoothing for Predicting Demand. Cambridge, MA, USA: Arthur D. Little Inc., 1956. [25] C. C. Holt, “Forecasting trends and seasonal by exponentially weighted averages,” Int. J. Forecast., vol. 20, no. 1, pp. 5–10, 1957. [26] S. K. Prajakta, “Time series forecasting using Holt-Winters exponential smoothing,” Kanwal Rekhi School Inf. Technol., Mumbai, India, Tech. Rep., 2004, pp. 1-3. [27] R. J. Hyndman, A. B. Koehler, R. D. Snyder, and S. Grose, “A state space framework for automatic forecasting using exponential smoothing methods,” Int. J. Forecast., vol. 18, no. 3, pp. 439–454, Jul.-Sep. 2002. [28] J. W. Taylor, “Exponential smoothing with a damped multiplicative trend,” Int. J. Forecast., vol. 19, no. 4, pp. 715–725, 2003. [29] F. Hao and Z. Pei, “A method of determining the secondary exponential smoothing parameter based on OWA,” in Proc. Int. Symp. Commun. Inf. Technol., 2006, pp. 459–462. [30] [Online]. Available: http://www.ietf.org/rfc/rfc1951.txt [31] D. A. Huffman, “A method for the construction of minimum-redundancy codes,” Proc. Inst. Radio Eng., vol. 40, no. 9, pp. 1098–1101, Sep. 1952. [32] J. Ziv and A. Lempel, “A universal algorithm for sequential data compression,” IEEE Trans. Inf. Theory, vol. 23, no. 3, pp. 337–343, May 1977. [33] [Online]. Available: http://tools.ietf.org/html/rfc1979 [34] [Online]. Available: http://tools.ietf.org/html/rfc2394 [35] J. P. McGregor and R. B. Lee, “Performance impact of data compression on virtual private network transactions,” in Proc. 25th Annu. IEEE Conf. Local Comput. Netw., 2000, pp. 500–510. [36] R. Karri and P. Mishra, “Minimizing energy consumption of secure wireless session with QoS constraints,” in Proc. IEEE Int. Conf. Commun., 2002, pp. 2053–2057. [37] G. Moritz, D. Timmermann, R. Stoll, and F. Golatowski, “Encoding and compression for the devices profile for web services,” in Proc. IEEE 24th Int. Conf. Adv. Inf. Netw. Appl. Workshops, 2010, pp. 514–519. [38] M. Tahghighi, M. Mousavi, and P. Khadivi, “Hardware implementation of a novel adaptive version of Deflate compression algorithm,” in Proc. 18th Iranian Conf. Electr. Eng., 2010, pp. 566–569. [39] [Online]. Available: http://michael.dipperstein.com/ [40] R. L. Rivest, A. Shamir, and L. Adleman, “A method for obtaining digital signatures and public-key cryptosystems,” Commun. ACM, vol. 21, no. 2, pp. 120–126, Feb. 1978. [41] L. T. Yang, L. Xu, and M. Lin, “Integer factorization by a parallel GNFS algorithm for public key cryptosystems,” in Proc. 2nd Int. Conf. Embed. Softw. Syst., 2005, pp. 683–695. [42] L. T. Yang, L. Xu, S.-S. Yeo, and S. Hussain, “An integrated parallel GNFS algorithm for integer factorization based on Linbox Montgomery block Lanczos method over GF(2),” Comput. Math. Appl., vol. 60, no. 2, pp. 338–346, Jul. 2010. [43] A. E. Cohen and K. K. Parhi, “Architecture optimizations for the RSA public key cryptosystem: A tutorial,” IEEE Circuits Syst. Mag., vol. 11, no. 4, pp. 24–34, 2011. [44] G. Wang, F. Bao, J. Zhou, and R. H. Deng, “Comments on ‘A practical (t, n) threshold proxy signature scheme based on the RSA cryptosystem’,” IEEE Trans. Knowl. Data Eng., vol. 16, no. 10, pp. 1309–1311, Oct. 2004. [45] R. Agrawal and R. Srikant, “Fast algorithms for mining association rules,” in Proc. 20th Int. Conf. Very Large Data Bases, 1994, pp. 487–499. [46] X. Wu, V. Kumar, J. R. Quinlan, J. Ghosh, Q. Yang, H. Motoda, G. J. McLachlan, A. Ng, B. Liu, P. S. Yu, Z.-H. Zhou, M. Steinbach, D. J. Hand, and D. Steinberg, “Top 10 algorithms in data mining,” Knowl. Inf. Syst., vol. 14, no. 1, pp. 1–37, Jan. 2008.

11

Chunsheng Zhu (S’12) received the B.E. degree in network engineering from the Dalian University of Technology, Dalian, China, in June 2010 and the M.Sc. degree in computer science from St. Francis Xavier University, Antigonish, NS, Canada, in May 2012. He has been working toward the Ph.D. degree in the Department of Electrical and Computer Engineering, The University of British Columbia, Vancouver, BC, Canada, since September 2012. His current research interests are mainly in the areas of wireless sensor networks and mobile cloud computing.

Hai Wang (S’11) received the B.Sc. degree in computer science and engineering from Wuhan University, Wuhan, China, in 2011. He is currently working toward the Master degree in the Department of Computer Science and Engineering, Pohang University of Science and Technology (POSTECH), Pohang, Korea. His research interests include machine learning, computer vision, and face recognition.

Xiulong Liu received the B.E. degree in 2010 from the Dalian University of Technology, Dalian, China, where he is currently working toward the Ph.D. degree in the School of Computer Science and Technology. His research interests include radio-frequency identification systems and wireless sensor networks.

Lei Shu (M’07) received the B.Sc. degree in computer science from the South Central University for Nationalities, Beijing, China, in 2002, the M.Sc. degree in computer engineering from Kyung Hee University, Seoul, Korea, in 2005, and the Ph.D. degree from the National University of Ireland, Galway, Ireland, in 2010. He is currently a Full Professor with the College of Electronic Information and Computer, Guangdong University of Petrochemical Technology, China, where he is also the Vice Director of the Guangdong Petrochemical Equipment Fault Diagnosis (PEFD) Key Laboratory. He was a Specially Assigned Research Fellow with the Department of Multimedia Engineering, Graduate School of Information Science and Technology, Osaka University, Suita, Japan. He has published over 170 papers in related conferences, journals, and books. He has served as an Editor and a Guest Editor for more than 20 international journals. He has served as a Reviewer for more than 50 journals. His research interests include wireless sensor network, sensor network middleware, multimedia communication, and security. Prof. Shu is a member of the Association for Computing Machinery. He was a recipient of the Globecom 2010 and ICC 2013 Best Paper Award. He has served as a Cochair for more than 50 various international conferences/ workshops, e.g., IWCMC, ICC, and ISCC, and as a member of the technical program committee for more than 150 conferences, e.g., ICC, Globecom, ICCCN, WCNC, and ISCC.

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination. 12

Laurence T. Yang (M’97) received the B.E. degree from Tsinghua University, Beijing, China, and the Ph.D. degree from the University of Victoria, Victoria, BC, Canada. He is currently a Professor with the Department of Mathematics, Statistics and Computer Science, St. Francis Xavier University, Antigonish, NS, Canada. He has published around 300 papers in related conferences, journals, and books. His research interests include high performance computing and networking, embedded systems, ubiquitous/ pervasive computing and intelligence. Prof. Yang served as the Vice Chair of the IEEE Technical Committee of Supercomputing Applications (TCSA) until 2004. He is currently the Chair of the IEEE Technical Committee of Scalable Computing (TCSC) and of the IEEE Task force on Ubiquitous Computing and Intelligence. He is serving as an Editor for around 20 international journals, and he has been acting as an author/coauthor or an editor/coeditor of 25 books by Kluwer, Springer, Nova Science, American Scientific Publishers, and John Wiley & Sons. He has also been involved in more than 100 conferences and workshops as a Program/General/Steering Conference Chair and more than 300 conference and workshops as a Program Committee Member.

IEEE SYSTEMS JOURNAL

Victor C. M. Leung (S’75–M’89–SM’97–F’03) received the B.A.Sc. (Hons.) degree in 1977 and the Ph.D. degree in 1981 both in electrical engineering from The University of British Columbia (UBC), Vancouver, BC, Canada, where he attended graduate school on a Natural Sciences and Engineering Research Council Postgraduate Scholarship. From 1981 to 1987, he was a Senior Member of Technical Staff and a Satellite System Specialist with MPR Teltech Ltd., Canada. In 1988, he was a Lecturer with the Department of Electronics, The Chinese University of Hong Kong, Shatin, Hong Kong. In 1989, he returned as a Faculty Member with UBC, where he currently holds the positions of Professor and TELUS Mobility Research Chair in Advanced Telecommunications Engineering with the Department of Electrical and Computer Engineering. He has coauthored more than 700 technical papers in international journals and conference proceedings and 27 book chapters, and he coedited six book titles. Several of his papers had been selected for best paper awards. His research interests include wireless networks and mobile systems. Dr. Leung is a Registered Professional Engineer in the Province of British Columbia, Canada. He is a Fellow of the Royal Society of Canada, the Engineering Institute of Canada, and the Canadian Academy of Engineering. He was a Distinguished Lecturer of the IEEE Communications Society. He is/has been a member of the editorial boards of the IEEE T RANSACTIONS ON C OMPUTERS, IEEE W IRELESS C OMMUNICATIONS L ETTERS, Computer Communications, the Journal of Communications and Networks, and several other journals, and he has previously served on the editorial boards of the IEEE J OURNAL ON S ELECTED A REAS IN C OMMUNICATIONS —W IRELESS C OMMUNICATIONS S ERIES, the IEEE T RANSACTIONS ON W IRELESS C OMMUNICATIONS, and the IEEE T RANSACTIONS ON V EHICULAR T ECHNOLOGY. He has guest edited many journal special issues and contributed to the organizing committees and technical program committees of numerous conferences and workshops. He is a recipient of an IEEE Vancouver Section Centennial Award and a 2012 UBC Killam Research Prize. He was also a recipient of the APEBC Gold Medal as the head of the 1977 graduating class in the Faculty of Applied Science.