Pervasive Computing Research
The Mobile and Pervasive Computing Lab is focused on systems research and experimental aspects of pervasive computing, emphasizing four main research thrusts: fundamentals, applications, enablers and smart space deployments
Fundamentals ❯ Cloud-Sensor Systems: Enabling Pervasive Applications in the Cloud
As pervasive computing matures and as smart spaces proliferate into a massive scale (e.g., smart cities), data and applications will be pressed to move to the cloud. This will come as a natural result to the strengthening cloud force, which is crushing edge computing to the limits. As this happens, cloud-sensor systems will need to be developed over smart spaces. We anticipate a major challenge in realizing such cloud-sensor systems: sensors and actuators are not and cannot be cloud resources that are provided dynamically and on demand. The main question for us is: How can we enable pervasive cloud applications requiring some resources from outside and “beneath” the cloud—in smart spaces?
To answer this question, and to enable pervasive cloud applications, the Mobile and Pervasive Computing Lab is developing a novel cyber-physical architecture that mediates the relationship between the cloud (cyber) and the sensors and devices (physical) in smart spaces. The architecture, which we call the Cloud, the Edge, and the Beneath, or CEB, re-establishes the absolute necessity of an indispensable new type of Edge computing—one that does not compete with the cloud but rather enables its relevance and applicability to pervasive computing.
CEB assumes a multitude of independent applications in the cloud and multitudes of smart spaces beneath. Its mediation goals are to maximize sentience and energy efficiency. As such, CEB is designed, in the first place, as a powerful distributed optimization platform.
Active Projects:
- The Cloud-Edge-Beneath Architecture (CEB)
- Optimal Push-Pull Envelops in CEB Cloud-Sensors Systems
- Dual Data-Application Caching for Suppressed System Dynamics in CEB Cloud-Sensors System
The Cloud-Edge-Beneath Architecture (CEB)
CEB is a three tiered architecture in which sensors (Beneath layer) are connected to the cloud indirectly through an edge computer (Edge layer). Sensors are partitioned into groups and each are assigned an edge (e.g., a smart home or a smart building could be assigned to an edge). Applications in the cloud could access any number of sensors or sensor groups, and hence could utilize multiple edges. The staging of sensors and their data to the cloud through the edge, and the staging of the applications and their request to the sensors, also through the same edge, create significant opportunities for optimizing overall system dynamics and, hence, minimizing data movements and power consumption.
The Beneath layer utilizes sensor platforms similar to our own Atlas platform with significant power limitations. The Edge layer utilizes standard computing elements with unlimited energy supply but with limited computing resources available per sensor (scalability limitation). The Cloud layer runs all pervasive applications, which utilize on demand resources but with sensor/actuator requests limitations
The Cloud layer senses the characteristics of the pervasive applications. The Beneath layer senses its own sensor data characteristics. The Edge layer knows which sensors are in the same group, and consolidates hints from the Cloud and the Beneath layers.
We utilize CEB in developing optimization ideas and algorithms to maximize sentience and energy efficiency. We also utilize CEB to discover the most appropriate programming model of cloud applications. The programming model could affect (enable or limit) the potential optimizations. We are currently using the event model and sentience abstraction as the initial programming model of CEB. We will consider other models in the future, including publish/subscribe and tuple space models.
Optimal Push-Pull Envelopes in CEB Cloud-Sensor Systems
For smart spaces to survive cloud application demands, we must take into account the limitation on energy use by the sensor nodes and the sensor network. On the other hand, for the cloud servers that are more powerful in terms of computation, the constant information processing that could be required by the application model (e.g. event processing) could also pose hefty computational burdens to such centralized data sinks. Therefore, the goal of this project is to use CEB architecture to achieve energy efficiency of the cloud-sensors system by adapting and optimizing a mixed push-pull strategy for sensor data acquisition.
The acquisition of updated sensor readings can be realized via communications between the Cloud, Edge, and Beneath layers using information from push and pull mechanisms.
The push mechanism allows a data sink (Edge or Cloud) to subscribe to a particular sensor for continuous readings at a constant rate, while the pull mechanism enables an on-demand style of data query to acquire readings one at time. Each mechanism could be advantageous or disadvantageous based on the application characteristics (the application rules and events). When sensor data are needed at a constant rate, pushing requires much less downlink traffic since the engine subscribes only once, while pulling pays the round-trip penalty for each data query. However, pushing loses its edge when handling sporadic data needs, as a subscribed sensor has to sample and transmit data even when they are not needed by the engine, leading to a substantial waste of energy in the sensor network. To balance the trade-offs between pushing and pulling, we developed a hybrid approach to achieve a near-optimal energy cost. We describe the core idea of this approach using the push-pull envelope concept (depicted below). A push-pull envelope is an optimal configuration of hybrid push/pull proportions for each sensor over the lifetime of execution of a group of applications (sets of rules).
In one strategy, by analyzing and predicting the patterns of sensor data required by the engine, we could separate constant and dominant data demands from sporadic, transient data demands. In this strategy, for each sensor, the push-pull envelope establishes an optimal base push rate to meet those dominant demands, and supplements it with reactive pulls to satisfy the rest of the demands. The combination of push and pull mechanisms reduces network traffic and the cost of sensor sampling (reading), and hence the overall energy consumption in the sensor network
In another strategy, we employ two push/pull envelopes (PPE), one between the Cloud and Edge layers and another between the Edge and Beneath layers. We observe that the Edge layer, as an intermediary between the Cloud and Beneath layers, can learn from both the applications in the Cloud and sensor data from the Beneath. Taking advantage of this observation, we optimize the push/pull envelopes based on both the relative characteristic of the application (sensor data requests) from the Cloud and the characteristic of sensor data from the Beneath, both of which are learned by the Edge layer (see figure below).
Dual Data-Application Caching for Suppressed System Dynamics in CEB Cloud-Sensor Systems
The goal of this project is to implement an aggressive caching strategy in the Cloud-Sensor system that extends the notion of caching to include applications in addition to sensor data. The main goal here is achieving maximally suppressed system dynamics, meaning exhibiting the same application semantics at a lower cost—the cost of minimized total “movements” in the system (be they movement of data or movement of application “fragments”). The idea of dual data-application caching is enabled by the event-based programming model we are currently using. It allows an application to be fragmented into units that can be moved down to the edge, or even deeper beneath.
Using CEB, we propose a novel caching idea that aims to minimize movements of requests from the Application layer down to the Beneath layer, and movement of sensor data up towards the Cloud layer. Caching an application or application fragments enables in-network processing so that intelligence processing and decision making may happen deeper in the network (e.g., in the sensor or its edge) before data is moved upward to the cloud. The idea of caching applications in-network enables a two directional paradigm of caching in which data are obtained from lower layers and applications are acquired from above layers. By learning the relative characteristics of the applications and the characteristics of sensor data, we are able to dynamically decide what moves up and what moves down and to what height/depth. The goal of this idea—achieving maximally suppressed system dynamics—obviously leads to minimum energy consumption.
People
Dr. Sumi Helal
Yi Xu
Dr. My Thai
Publications
-
Y. Xu, S. Helal, M. T. Thai, and M. Schmalz, "Optimizing Push/pull Envelopes For Energy-efficient Cloud-sensor Systems," Proceedings of the 14th ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems (MSWIM), Miami, Florida, October 2011. (pdf)
-
Y. Xu and A. Helal, "Achieving Suppressed System Dynamics in Energy-Efficient Cloud-Sensor Systems," under review.
-
C. Chen, Y. Xu, K. Li, A. Helal. "Reactive Programming Optimizations in Pervasive Computing," In Proceedings of the 10th Annual International Symposium on Applications and the Internet (SAINT'10), Seoul, Korea, Jul. 2010. (pdf)