Sensor Network Middleware that Mediates between Sensors and Health Care Applications
By Christian Seeger and Kristof Van Laerhoven
An increasing variety of sensors has led to a vast increase in sensor-based telemedicine solutions and to an increase in system development effort. An event-driven middleware, which allows applications to define desired information types reduces these efforts. Incoming sensor data is transformed into the required data representation. Reloading of transformation rules from a remote server allows the system to adapt to future applications and sensors at run-time. Application-specific event channels provide tailor-made information retrieval and control over the data dissemination.
Rapid development towards sensor networks that consist of on-body and ambient sensors have commenced a new paradigm in telemedicine and elderly care. With growing sensor diversity the range of monitoring parameters and, therefore, the range of potential applications and solutions expands. By using the same sensor network for multiple applications, solutions can be adapted to individual requirements. On the other hand, having a variety of sensors and applications within one sensor network results in two major challenges:
- 1) How to deliver only the desired and permitted sensor readings to an application, manage information dissemination, and save resources?
- 2) How to deal with the diversity of sensors and data representations without requiring application developers to adapt to new sensors and changing sensor constellations?
In [1], an event-based middleware architecture for on-body and ambient sensor networks is proposed that runs on a mediator device. It communicates with sensors and relays sensor information as events to applications using open communication channels. Running on a smart phone, this system supports multiple applications and it has proven to support daylong monitoring of user activities and physiological parameters [2]. It furthermore detects different levels of data fidelity, deals with temporary disconnected sensors, and can handle sensor-specific peculiarities [3].
Application-specific Communication Channels
For providing application-specific communication channels, this middleware architecture was adapted to follow a publish/subscribe approach [4]. The use of loosely-coupled publish/subscribe communication fits the characteristics of on-body and ambient sensor networks very well [5], because: i) sensor constellations and running applications change over time, ii) most on-body and ambient sensors send their readings in an event-driven manner, and iii) sensors have no knowledge about the applications consuming their readings.
In order to retrieve the desired sensor information, applications subscribe to event types of their interest. Before a subscription is permitted, a security manager checks the application’s confidence level, allowing control over data dissemination. Incoming events are disseminated to subscribed and permitted applications. The middleware administers lists of desired and provided event types. Resources are saved by switching off redundant sensors, thus avoiding especially wireless transmissions from sensors.
By introducing application-specific communication channels, incoming sensor information is forwarded to each application individually. This provides control over the data dissemination and tailor-made information retrieval, but also puts additional overhead on the messaging system, since the same sensor reading is forwarded multiple times. In Figure 1, the CPU utilization and the delivery ratio for open and application-specific communication channels are compared: It shows that the performance of the open channels is independent of the number of subscribed applications (subscribers). The workload for application-specific communication, however, increases with each additional subscriber. For a workload of 20 events per second and 9 subscribed applications, the message delivery ratio drops below 99%. This performance evaluation was done on an HTC One V phone with a 1 GHz processor and 512 MB memory. For newer phones, more applications and higher workloads are feasible.
Figure 1: Performance evaluation of open (blue bars) and application-specific (green bars) communication channels. For an increasing amount of subscribers, the application-specific approach is less efficient due to the higher amount of individually sent messages.
Adaptive Event Transformation
In order to avoid that developers must adapt their solutions to accommodate changing sensor configurations, an adaptive event transformation mechanism that transforms the available information into the desired format is proposed in [4]. This could be a simple unit transformation from kilogram to pound, but also a more complex transformation from an ECG stream to a heart rate reading. A transformation that derives heart rate alarms based on heart rate and activity information and, hence, enriches the system’s functionality, illustrates the capabilities of event transformations.
Transformations are started and stopped based on subscriptions and advertisements. Upon a subscription without a fitting advertisement (i.e., the event type is not available), the middleware searches a matching event transformation from one or more advertised event type(s) to the desired event type. A remote repository of event transformations allows downloading new transformations and, thus, adapting the system at run-time. If a matching transformation is found, it is started and the required event type is provided. If a produced event type is not required anymore, the transformation is stopped again. For detailed information, we refer to [4].
In addition to mediating among installed applications and connected sensors, event transformations can also replace sensors by deriving the required information from other sources. Assuming subscriptions for heart rate (HR) events and for ECG events. Instead of connecting both a HR and an ECG sensor to the system, a transformation TECG→HR that converts ECG events to HR events could replace the HR sensor and, thus, save additional wireless communication. Figure 2 depicts the energy savings for this scenario. The energy consumption values are taken from the PowerTutor application [6]. Figure 2 (a) shows the energy consumption in case of individual sensors connected. In total, both the middleware and the Android system consume about 225 mW. Compared to this, the combination of an ECG sensor and a TECG→HR transformation consumes only about 191 mW and, thus, saves more than 15% of energy (cp. Figure 2 (b)). In this case, the overall system lasts longer and does not require the user to wear an additional sensor. A comparison between (b) and (c) shows the energy overhead for performing the transformation which is less than 7.5%.
Figure 2: Energy consumption for different sensor constellations. A transformation that converts ECG streams to heart rate data (b) saves more than 15 % energy compared to having both sensors connected (a).
In summary, application-specific communication channels established by a mediator for body and ambient sensor networks provide tailor-made information retrieval as well as control over the dissemination of critical information. By providing event transformations, the system behavior is automatically adapted, thereby increasing user comfort, while keeping energy usage as low as possible.
Acknowledgements
The research were done in collaboration with Jens Sauer and Alejandro Buchmann. It is gratefully supported by the German BMBF Software Campus (01IS12054) and the German Research Foundation (DFG) within the research training group 1362 Cooperative, Adaptive, and Responsive Monitoring in Mixed Mode Environments.
For Further Reading
1. C. Seeger, A. Buchmann and K. Van Laerhoven, “An Event-based BSN Middleware that supports Seamless Switching between Sensor Configurations,” in 2nd ACM SIGHIT International Health Informatics Symposium (IHI 2012), Miami, FL, USA, 2012.
2. C. Seeger, A. Buchmann and K. Van Laerhoven, “myHealthAssistant: A Phone-based Body Sensor Network that Captures the Wearer’s Exercises throughout the Day,” in 6th ACM International Conference on Body Area Networks (BodyNets 2011), Beijing, China, 2011.
3. C. Seeger, A. Buchmann and K. Van Laerhoven, “Wireless Sensor Networks in the Wild: Three Practical Issues after a Middleware Deployment,” in 6th ACM International Workshop on Middleware Tools, Services and Run-time Support for Networked Embedded Systems (MidSens 2011), Lisbon, Portugal, 2011.
4. C. Seeger, K. Van Laerhoven, J. Sauer and A. Buchmann, “A Publish/Subscribe Middleware for Body and Ambient Sensor Networks that Mediates between Sensors and Applications,” in IEEE International Conference on Healthcare Informatics (ICHI 2013), Philadelphia, PA, USA, 2013.
5. A. Hinze, K. Sachs and A. Buchmann, “Event-based Applications and enabling Technologies,” in International Conference on Distributed Event-Based Systems (DEBS 2009), Nashville, TN, USA, 2009.
6. L. Zhang, B. Tiwana, Z. Qian, Z. Wang, R. P. Dick and Z. M. Mao, “Accurate online power estimation and automatic battery behavior based power model,” in 8th IEEE/ACM/IFIP International Conference on Hardware/software Codesign and System Synthesis (CODES/ISSS 2010), New York, NY, USA, 2010.
Contributors
Christian Seeger is currently a Ph.D. student in the Databases and Distributed Systems group led by Prof. Alejandro Buchmann at TU Darmstadt. His research interests are middleware approaches and applications for on-body and ambient sensor networks. Read more
Kristof Van Laerhoven obtained his Ph.D. at Lancaster University (UK) He heads the Embedded Sensing Systems lab at the TU Darmstadt (Germany), funded by the Emmy Noether Programme of the German research foundation DFG. His research combines sensing systems with pattern recognition and machine learning, to obtain adaptive and power-efficient systems. Read more