An Architecture to Combine Context Awareness and ... - Springer Link

5 downloads 168 Views 287KB Size Report
Body Sensor Networks for Health Care Applications ... health care monitoring. .... gency: each person is profiled in a centralized server, named Advanced User ...
An Architecture to Combine Context Awareness and Body Sensor Networks for Health Care Applications Alessia Salmeri1, Carlo Alberto Licciardi1, Luca Lamorte1, Massimo Valla1, Roberta Giannantonio1, and Marco Sgroi2 1

Telecom Italia Lab, Via Reiss Romoli 274, 10148 Torino, Italy {alessia.salmeri,carlo.licciardi,luca.lamorte, massimo.valla,roberta.giannantonio}@telecomitalia.it 2 WSN Lab sponsored by Pirelli and Telecom Italia, Berkeley, CA {marco.sgroi}@wsnlabberkeley.com

Abstract. Information derived from wearable sensors, such as illness/fall alarms, can be enhanced with context information to provide advanced health care and assisted living applications. In this paper we describe an architecture that combines sensor and context data into a telecommunication service to detect emergency situations and generate alarm calls according to user’s preferences and contacts geographic proximity. Keywords: Body Sensor Network, Wireless Sensor Network, SPINE, Context Awareness Platform, Context Broker, ContextML, Context Query Language, health care monitoring.

1 Introduction The progress of the body sensor networks (BSNs) technology and the development of context aware telecommunication platforms open great opportunities in healthcare systems. Pervasive applications may assist elderly and disabled by providing home assistance and emergency communication, therefore reducing the cost and inconvenience of visits to doctors and emergency rooms. BSNs for health care applications consist of sensors that measure physiological and motion parameters of the patient or the elderly, and algorithms for the interpretation of the sensor data In addition to the data derived from the body sensors, context information about the user or the environment can play a very important role and enhance health care services. For example users’ location can be used to detect the closest medical center, environment temperature can influence physiological parameters, etc. This paper presents a platform that integrates BSN data, environment and user’s context information and allows to provide a health care telecommunication service to detect emergency situations. In the proposed platform real-time BSN data acquisition and analysis is performed within the SPINE (Signal Processing in Node Environment) framework. SPINE is an open source software framework for the design and management of BSN applications; it provides APIs and libraries of protocols, analysis and the classification of sensor data, utilities and data processing functions. Other design M. Mokhtari et al. (Eds.): ICOST 2009, LNCS 5597, pp. 90–97, 2009. © Springer-Verlag Berlin Heidelberg 2009

An Architecture to Combine Context Awareness and Body Sensor Networks

91

frameworks that have been proposed for BSNs are Titan [5] and CodeBlue [6]. Titan (Tiny Task Network) is a task oriented framework that defines the application as a set of tasks distributed on the sensor network. This framework has been used on SensorButton [11] devices for activity recognition applications based on accelerometer data. CodeBlue is a framework designed to provide routing, naming, discovery and security for wireless medical sensors but does not have extensive on node signal processing capabilities like SPINE. Context information acquisition, aggregation and elaboration are performed by the Telecom Italia Lab’s Context Awareness Platform (CAP). CAP allows easy integration of context information into the existing infrastructure of a telecommunications service provider, offering the unique opportunity to deliver context-aware services to a wide range of users. Several frameworks for context acquisition and processing have also been proposed in literature [7][8][9]. In our application scenario, we are interested in a context processing platform that enables applications to receive asynchronously context updates, expressing their context needs using a platform independent context query language. Applications should ignore how context is gathered, reasoned and notified, obtaining complete separation between the application layer and the context acquisition/reasoning layers. In particular, context platforms that support a Query Language to access context have been proposed and analyzed in [2]. Compared to other solutions, the context processing and query language used by our system offer asynchronous context notification, high abstraction from underlying technologies, and complex context filtering features as required by our Fall-Illness Alarm application. The paper describes how to integrate SPINE and CAP in the design of a health care application: “Fall-Illness Alarm”. The purpose of “Fall-Illness Alarm” application is to increase the feeling of safety for elderly and disabled people and use context information to optimize and shorten emergency assistance. It is able to detect emergency situations (fall, illness) and generate alarm calls according to user’s preferences, geographic proximity and available contacts.

2 “Fall-Illness Alarm” Application Scenario The purpose of the “Fall-Illness Alarm” application is to increase the feeling of safety for elderly and disabled people and ensure that emergency assistance is provided in short time. This application allows detecting particular situations where a prompt reaction could help a person in case of emergency: it detects alarm conditions, knows her geographic location and makes the proper alarm calls according to customer preferences or geographic proximity and availability of customer’s contacts. The person being monitored should wear a BSN that allows to collect data and infer the person ACTIVITY through recognition algorithms. Activities that can be recognized are: STANDING, SITTING, WALKING, LYING and FALLING. The latter activity must be notified immediately. Besides the detection of movements, the BSN can also check physiological parameters and recognize when a person is ILL. The BSN periodically publishes those two parameters (ACTIVITY and ILLNESS) on the CAP, which stores and makes them available to applications . To achieve its task, the Fall-Illness Alarm” application subscribes itself to the CAP to receive notifications

92

A. Salmeri et al.

about changes on both ILLNESS and ACTIVITY parameters. As soon as one or both these conditions are true (ACTIVITY=FALL or ILLNESS=TRUE) a notification is sent by the CAP to the application, which triggers a logic to deal with the recognized situation. The application allows to specify who should be informed first in case of emergency: each person is profiled in a centralized server, named Advanced User Profile, which contains the users’ information like: personal contact information, address book of relatives/friends contacts, the assigned General Practitioner (GP)/doctor and the emergency contacts.

BSN

FALL-ILLNESS Alarm

CAP

AUP

Subscribe(Ativity, ILL) SendBodyActivity NotifyAlarm(User A) getProfile(UserA)

Make a CALL Send an SMS

{GP, Preferred Number Closest buddies, Medical Center}

GetNearbyBuddies(UserA)

Fig. 1. Sequence diagram of the Fall-Illness Alarm application logic

The application logic changes depending on the detected situation. In case of an ILLNESS alarm, the first operation is to obtain the GP number from the Advanced User Profile, call him by playing a synthesized “Illness emergency” message that provides the name of the person with the ILLNESS condition, his current location and the phone number of the nearest Medical Centre. At the end of the call, information is also delivered to the doctor through SMS. If the GP doesn’t answer, the call is diverted to the closest Medical Center. If a FALL alarm is detected, the application tries to call first the preferred emergency contact as configured in the user profile. A synthesized “Fall emergency” message will provide the name of the fallen person and his current location. If the contact doesn’t answer, the application will detect which of the contacts (relatives or friends) from the address book is localized near the fallen person, according to the available context information. If none of the closest contacts is able to answer, the application will try to call the GP and, finally, the call will be redirected to the closest Medical Center. At the end of the call an SMS with the same information is sent to the selected contact. If both the alarm conditions are detected at the same time, the application acts combining the previous described situations.

An Architecture to Combine Context Awareness and Body Sensor Networks

93

3 Architecture The general architecture integrating the BSN and the CAP is described in Fig. 2. The BSN is connected as a context sensor to the CAP; detected ACTIVITY and ILLNESS conditions are provided to interested applications as context information. The following paragraphs describe the CAP and SPINE sub-components in more detail.

Fig. 2. Architecture integrating Body Sensor Network and Context Awareness Platform

3.1 Telecom Italia Lab Context Awareness Platform Telecom Italia Lab’s Context Awareness Platform (CAP) [1] supports context acquisition, aggregation and elaboration. In CAP a Context Broker (CB) receives context updates from devices, and stores them in a Context Cache until they are valid. For example, context data such as device GPS position, nearby Bluetooth devices, nearby WiFi access points and Fall / Illness status (as derived by SPINE from the BSN) are all asynchronously received from the device and cached. The CB computes higher level context information with the help of Context Providers. An example is the User Proximity Provider, which is able to compute the relative proximity of two users by analyzing nearby Bluetooth and WiFi raw context information sent by their devices. The same raw context information is used by the Location Provider which, with the help of external geo-information services, can provide address and in-building positioning of the device. CB also provides profile information and contacts’ information by integrating the Advanced User Profile and Address Book Provider components. In CAP all context information is structured using a common XML-based Context Mark-up Language (called ContextML), which provides context data as parameter/values

94

A. Salmeri et al.

pairs, enriched by meta-information such as source, entity, scope (or context “topic”), timestamp and validity. To enable sophisticated access to context information, a Context Query Language (CQL) has been designed [2] to allow applications to structure their interest in context using a XML language. The query language offers both request-based and subscription-based queries and is used by the Fall-Illness Alarm application to subscribe to context changes on information provided by the SPINE Framework. The CQL-Engine analyzes the CQL query and sets proper triggers to remember when and how to notify the application about changes in the requested context information. To optimize context updating to the CB, a Local Context Broker (LCB) component is installed on the “Wireless Sensor Network (WSN) Mobile Gateway”. LCB is connected to SPINE through an adaptation layer and is responsible to structure in ContextML the data coming from SPINE and send it via HTTP protocol to the CB at specific intervals. The SPINE CA Application will also consume context information through LCB, which caches received data on a local memory, thus avoiding unneeded data transmissions to request context that is still valid. 3.2 Body Sensor Networks and the SPINE Framework A Body Sensor Network (BSN) is a collection of tiny devices (nodes), equipped with a microcontroller, a transceiver and one or more sensors that wirelessly communicate data sampled by the sensors. BSN nodes are typically small in size and battery operated; hence, they can be easily worn or even embedded in clothes and accessories. BSN nodes placed on the user’s body may be used to monitor his activities and his health condition depending on the sensors that are embedded on the nodes. In the application scenario described in this paper, user’s nodes are equipped with motion sensors, 3-axis accelerometers and 2-axis gyroscopes, and bio signal sensors for heart and respiration examination. While motion sensors are used to monitor user’s activity and send an alarm notification when needed (e.g. fall detected), the other sensors are used to monitor user’s health and notify diseases. BSN nodes on the body locally process sampled data and send the results of this computation to a collector device, called Coordinator, usually a mobile phone, that has the role to configure and manage the BSN as well as further process received data [3]. The BSN described in this paper has been implemented using the SPINE framework. SPINE (Signal Processing In Node Environment) [4] (see Fig. 3) is a software framework for the design of signal processing intensive (SPI) applications in Body Sensor Networks. SPINE is composed of two modules, namely Server and Node side, which respectively contain the software code to run on the Coordinator and on the Sensor Nodes. The Coordinator has the task to set up and manage the network as well as configure the nodes to send the needed information and to collect data coming from the sensor nodes. Coordinator devices may be mobile (e.g. PDAs, mobile phones) or fixed (e.g. access gateways, video phones) as far as they provide the wireless connectivity with the sensor nodes. Sensor Nodes are worn by the user: their main task is to sample data coming from the embedded sensors, pre-process it and send the result back to the Coordinator depending on the existing configuration.

An Architecture to Combine Context Awareness and Body Sensor Networks

95

Fig. 3. SPINE framework software architercture

The SPINE CA Application has been developed using SPINE Java APIs to communicate with the BSN and then provide context information to the Local Context Broker as previously described. SPINE APIs allow the dynamic discovery the BSN functionalities (e.g. the sensors’ type, the nodes’ computation capabilities and more) and configure the BSN itself to report the needed information. In the sample application we described, BSN nodes are configured to send some features on the acceleration signal to then classify the action the person is doing and to report an alarm message whenever the person falls or its vital signs seem to be not normal. Specifically, the SPINE CA Application manages BSNs composed of two sensor nodes with accelerometers to monitor person’s activities and one sensor node equipped with biosensors to monitor the vital signs of the person (e.g. ECG and respiration rate). The SPINE CA Application will then post the person’s activity and alarms (BSN generated context information) to the LCB. On the other hand, the LCB can provide context information to the SPINE CA Application that can be then used to dynamically configure the BSN. For instance, if User Proximity context information shows that the caregiver is nearby the user, the BSN can be configured to stop monitoring the activities and the same nodes may be used for other purposes (e.g. rehabilitation exercises). The doctor can also remotely change settings on the BSN to better monitor the person’s heart rate.

4 Evaluation The SPINE CA Application has been implemented using as a K-Nearest Neighbor (K-NN) [12] classifier that takes as input from the motion nodes the significant features selected using the sequential forward floating selection (SFFS) [13] approach. In this example activated features are: • •

Motion sensor on the waist: mean on the accelerometer (sampled at 40 Hz) axes xyz, min value and max value on the accelerometer axis x; Motion sensor on the leg: min value on the accelerometer (sampled at 40 Hz) axis x.

The performances of the solution have been evaluated in terms of classification accuracy and wireless channel usage [3]. The classification algorithm allows to recognize four different activities such as SITTING, LYING, STANDING and WALKING. The

96

A. Salmeri et al.

system has then been tested in a real deployment and the results of the experiments have shown a 97% classification accuracy. In terms of wireless channel usage, in the described application the feature selection mechanism implemented in the SPINE framework allows a channel bandwidth saving of almost 90% or more [3] if we compare with the raw data approach, typically used in BSN, where a data packet is sent to the coordinator for each value sampled on the sensor. Moreover, the motion node at the waist is configured to send an alarm whenever the total energy of the acceleration is above a certain threshold: the FALL ALARM will be sent through the LCB only when the alarm is received by the node and the classified action is LYING, to avoid the report of false alarms. The biosensor node is configured to send alarms whenever vital signs are out of the normal range but can be runtime configured to send raw or processed data to better check the person’s health. The biosensor board [10] has been recently integrated in the SPINE Framework and experimental tests of the application including biosensor nodes are currently in progress. Data derived from the SPINE framework has been collected as context information by the CAP and notified to the Fall-Illness Alarm application. During our evaluation, the Fall-Illness Alarm application has correctly placed an alarm phone call to a contact near the location of the user in 92% of the tests (errors might occur when the transition to the lying position is too fast); in particular positioning of the user has proven to be accurate enough, always detecting the correct room. The Fall-Illness Alarm application has also been described to some elderly patients to receive feedback. Patients have underlined the benefit of the application being integrated with their phone device and contact lists, without the need of any additional transmission device.

5 Conclusions and Future Work The architecture combining the context-aware platform and body sensor networks based on the SPINE Framework that we have presented in this paper has the potential to support a new generation of health care and assisted living applications (e.g. “FallIllness Alarm”) able to adapt to a wide variety of user needs depending on the user’s context. As future work, the CAP will be further developed with features that ensure the privacy and security of health information. Furthermore new functionality should be added to “Fall-Illness Alarm” application in order to provide on demand information about user’s illness status (or monitoring user’s health) and physical activity.

References 1. Lamorte, L., Licciardi, C.A., Marengo, M., Salmeri, A., Mohr, P., Raffa, G., Roffia, L., Pettinari, M., Cinotti, T.S.: A platform for enabling context aware telecommunication services. In: Third Workshop on Context Awareness for Proactive Systems, Guildford, UK (2007)

An Architecture to Combine Context Awareness and Body Sensor Networks

97

2. Reichle, R., Wagner, M., Khan, M.U., Geihs, K., Valla, M., Fra, C., Paspallis, N., Papadopoulos, G.A.: A Context Query Language for Pervasive Computing Environments. In: Proceedings of 5th IEEE Workshop on Context Modeling and Reasoning (CoMoRea 2008) in conjunction with the 6th IEEE International Conference on Pervasive Computing and Communication (PerCom), pp. 434–440 (2008) 3. Gravina, R., Guerrieri, A., Fortino, G., Bellifemmine, F., Giannantonio, R., Sgroi, M.: Development of BSN Applications using SPINE. In: 2008 IEEE Int. Conf. on Systems, Man, and Cybernetics (SMC 2008), Singapore, October 12-15 (2008) 4. SPINE, http://spine.tilab.com 5. Lombriser, C., Roggen, D., Stäger, M., Tröster, G.: Titan: A Tiny Task Network for Dynamically Reconfigurable Heterogeneous Sensor Networks. In: 15. Fachtagung Kommunikation in Verteilten Systemen (KiVS), pp. 127–138 (February 2007) 6. Shnayder, V., Chen, B., Lorincz, K., Fulford-Jones, T.R.F., Welsh, M.: Sensor Networks for Medical Care. Technical Report TR-08-05, Division of Engineering and Applied Sciences, Harvard University (2005) 7. Dey, A.K., Salber, D., Abowd, G.D.: A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications. Special issue on Contextaware Computing in the Human-Computer Interaction 16(2-4), 97–166 (2001) 8. Roman, M., Hess, C., Cerqueira, R., Ranganathan, A., Campbell, R.H., Nahrstedt, K.: Gaia: A Middleware Infrastructure for Active Spaces. IEEE Pervasive Computing, Special Issue on Wearable Computing 1, 74–83 (2002) 9. Henricksen, K., Indulska, J., McFadden, T., Balasubramaniam, S.: Middleware for Distributed Context-aware Systems. In: Meersman, R., Tari, Z. (eds.) OTM 2005. LNCS, vol. 3760, pp. 846–863. Springer, Heidelberg (2005) 10. Seppä, V.-P., Lahtinen, O., Väisänen, J., Hyttinen, J.: Assessment of breathing parameters during running with a wearable bioimpedance device. In: Proceedings of the 4th European Congress for Medical and Biomedical Engineering (2008) 11. Lombriser, C., Bharatula, N.B., Roggen, D.: On-Body Activity Recognition in a Dynamic Sensor Network. In: Proc. of 2nd Int. Conference on Body Area Networks (BodyNets 2007), Florence, Italy, June 11-13 (2007) 12. Cover, T., Hart, P.: Nearest neighbour pattern classification. IEEE Trans. Inform. Theory 13, 21–27 (1967) 13. Pudil, P., Novovicova, J., Kittler, J.: Floating search methods in feature selection. Pattern Recognition Letters 15(11), 1119–1125 (1994)

Suggest Documents