Research Overview

Internet of Things (IoT) exemplifies future large-scale cyber-physical systems. It iot has the potential to fundamentally transform people's life style by computerizing heterogeneous physical objects and integrating them into a networked ecosystem, and will also produce a unprecedented amount of data at a large number of distributed and autonomous computing objects. Data processing in IoT is completely different from that in current mobile computing systems and raises new challenges:

My research addresses these challenges from a system and networking perspective, by answering two fundamental research questions: 1) How data in IoT should be transmitted for remote processing? and 2) What data in IoT should be remotely processed? To answer the first question, my research designs wireless radio hardware and network protocols at multiple layers of the network stack, which jointly achieve ultra-low latency and high energy efficiency of IoT data transmission over highly congested and dynamic wireless links. To answer the second question, my work develops embedded and distributed software systems, which adaptively partition a data processing task and only offload the portion that benefit the most from remote execution to remote places.

 

How data in IoT should be transmitted for remote processing?

Data processing in IoT is delay-sensitive, and hence raises unique challenges on the timeliness, scalability and energy efficiency of wireless networks which transmit data for remote processing. To address these challenges, my research has touched on multiple layers of the wireless network stack, spanning from physical-layer design of wireless radio hardware to MAC-layer link scheduling protocols.

We achieve iot ultra-low data transmission latency in IoT via a physical-layer design of wireless side channel. Most of IoT devices transmit data over the unlicensed wireless spectrum, which is usually occupied by high volumes of traffic from other wireless devices. When transmitting data over congested wireless links in IoT, my research ensures ultra-low transmission latency without requiring any additional spectrum by designing a wireless side channel, which operates concurrently with themain channel over the same spectrum but dedicates to IoT traffic [MobiHoc'16]. Data transmission via the side channel will not compete with other network traffic and is only delayed by link propagation. The key insight of this design is that data transmissions in IoT usually consist of bursty small-sized data bundles and hence is not demanding for high bandwidth. As a result, we build the side channel by exploiting the in-band SNR margin, i.e., the link SNR is usually higher than the SNR required for the link rate being used, and encode small bundles of IoT data as patterned interference over the main channel. IoT data is modulated as raw signals into separate slots in time and frequency domains over the carrier wave, and the amount of patterned interference is controlled by the number of interfered slots.

Data transmissions in IoT may also be delayed when multiple IoT devices transmit simultaneously and interfere with each other. Appropriate link scheduling is the key to eliminate such interference and ensure prompt data delivery for remote data processing, but may be expensive due to the dynamic environmental contexts in IoT. Every time when the status of any wireless link changes due to such environmental dynamics, conventional schemes will have to entirely reschedule the large-scale wireless network in IoT. My solution to this challenge is motivated by our experimental observation that environmental dynamics usually affect only a small portion of IoT at any moment. We developed distributed protocols that schedule wireless networks only within the limited scope where the environmental dynamics occur [ICNP'16, ICNP'15]. When being merged with the remaining portions of the network, the scheduling results from such limited operations of our algorithms have been formally proved to still provide guaranteed network performance, with much lower overhead.

Selected publications:

  1. Scheduling Dynamic Wireless Networks with Limited Operations [pdf]
    Haoyang Lu and Wei Gao, in Proceedings of the 24th IEEE International Conference on Network Protocols (ICNP), 2016.
    (Acceptance Ratio: 46/229=20.1%)

  2. Supporting Real-Time Wireless Traffic through A High-Throughput Side Channel [pdf][slides]
    Haoyang Lu and Wei Gao, in Proceedings of the 17th ACM International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc), 2016.
    (Acceptance Ratio: 35/187=18.7%)

  3. Energy-Efficient Computation Offloading in Cellular Networks [pdf]
    Yeli Geng, Wenjie Hu, Yi Yang, Wei Gao and Guohong Cao, in Proceedings of the 23rd IEEE International Conference on Network Protocols (ICNP), 2015.
    (Acceptance Ratio: 38/187=20.3%)

 

What data in IoT should be remotely processed?

Remote data processing augments IoT's computational power at the cost of additional energy consumed by wirelessly transmitting data among IoT devices and the cloud. My research adaptively partitions data processing tasks and decides the data being remotely processed with respect to both dynamic data characteristics and heterogeneous data processing methods in different IoT scenarios. As a result, it simultaneously optimizes both the performance and energy efficiency of IoT applications.

First, to ensure efficient data processing in IoT, the amount of local energy saved by remote data processing must exceed the energy cost of wirelessly transmitting the data. Accurate estimation of such energy cost depends on appropriate understanding about how programs at IoT devices process data. My approach perceives the run-time executionsrun-time dynamics of these programs as stochastic and formulates these executions using a semi-Markov model, which depicts the dynamic characteristics of program method invocations and execution times. Based on this formulation, code offload decisions are probabilistically made based on short-term predictions about program behaviors [ICNP'14].

Second, by parsing the program bytecodes offline and tracking the memory contexts at run-time, my team has enforced the code offload decisions over real IoT systems at a fine granularity, where only the minimum amount of memory objects relevant to the corresponding remote program execution are transmitted [INFOCOM'15, TMC'16]. Our work has been implemented and integrated with the Android OS kernel, and can operate over the intact program binaries without requiring programmers' efforts on software redevelopment.

Third, werun-time dynamics also expand the scope of IoT applications to mobile crowdsensing and intelligent traffic control, which need to simultaneously process multiple types of data generated from different IoT devices. The types and locations of data being processed may also vary according to the environmental contexts. My research supports these IoT applications by developing a distributed software framework that can generically interconnect any type of embedded hardware and share its generated data between IoT devices [INFOCOM'17]. This framework addresses the hardware heterogeneity by avoiding direct operation over the process memory of device drivers. Instead, it exploits the existing upper-layer system services provided by the mobile OS for data access from remote hardware. These service interfaces hide the low-layer details of hardware operations and provide unified APIs to user applications. Our design has been implemented as a middleware over Android OS, and can be conveniently invoked via remote inter-process communication without involving complicated memory referencing and synchronization.

Selected publications:

  1. Interconnecting Heterogeneous Devices in the Personal Mobile Cloud [pdf]
    Yong Li and Wei Gao, in Proceedings of the 36th IEEE Conference on Computer Communications (INFOCOM), 2017.
    (Acceptance Ratio: 292/1395=20.9%)

  2. Minimizing Context Migration in Mobile Code Offload [pdf]
    Yong Li and Wei Gao, IEEE Transactions on Mobile Computing, IEEE Transactions on Mobile Computing, vol. 16(4), 2017, pp. 1005-1018.

  3. Code Offload with Least Context Migration in the Mobile Cloud [pdf][slides]
    Yong Li and Wei Gao, in Proceedings of the 34th IEEE Conference on Computer Communications (INFOCOM), 2015.
    (Acceptance Ratio: 316/1640=19%)
  4. A Computation Offloading Framework For Soft Real-time Embedded Systems [pdf]
    Yuchuan Liu, Cong Liu, Xia Zhang, Wei Gao, Liang He, and Yu Gu, in Proceedings of the 27th Euromicro Conference on Real-Time Systems (ECRTS), 2015.

  5. On Exploiting Dynamic Execution Patterns for Workload Offloading in Mobile Cloud Applications [pdf][slides]
    Wei Gao, Yong Li, Haoyang Lu, Ting Wang, and Cong Liu, in Proceedings of the 22nd IEEE Int'l Conference on Network Protocols (ICNP), 2014.
    (Acceptance Ratio: 32/160=20%)

 

Acknowledgement

This project is supported in part by the U.S. National Science Foundation (NSF) under the grants CNS-1553395 (project website) and CNS-1526769 (project website). Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the NSF.