[go: up one dir, main page]

Academia.eduAcademia.edu
Meditrina: Addressing the System-level Challenges to Ambient Assisted Living Albert F Harris III†, Rob Kooper+ , Robin Kravets†,1 , Gaia Maselli∗,2 , and Chiara Petrioli∗,2 † Department of Computer Science, University of Illinois at Urbana–Champaign National Center for Supercomputing Applications, University of Illinois at Urbana-Champaign ∗ Department of Computer Science, University of Rome “La Sapienza” INTRODUCTION As the world’s population ages, there is a driving need to provide technology-enabled assisted living solutions to help manage the comfort and lives of the elderly [1, 2, 3, 4]. Similar support is desirable for the disabled and ill who require extensive assistance. Using technology to augment the lives of individuals with the need for assistance in dayto-day activities is a natural idea; however, assisted living scenarios have a unique set of requirements that make the straight-forward application of current state-of-the-art technology very challenging. Essentially, assisted living systems must monitor, control, and interact with a number of different components of the living environment, from various medical devices, to environmental controls, to the people themselves, without interfering with the lives of those being monitored. The goal from a systems perspective is to support intelligent applications that augment the ability of the limited number of caretakers to effectively and efficiently maintain the health and comfort of user while minimizing intrusive behavior. Additionally, the complexity of the underlying systems and management of the diverse devices must be hidden to enable easy-to-use interfaces and easy-to-design applications. These requirements drive the need for new system architectures to manage the entire assisted living environment. If we look at the system from the bottom up, the complexity of providing the needed services stems from the heterogeneous nature of the devices and communication technologies used to interact with those devices. Additionally, such a complex system must be designed in a distributed manner to support efficient resource usage and fault tolerance. A pplication A ctivity M anager M editrina 1. IntelligentControlSystem Categories and Subject Descriptors: D.4.4 [Communications Management]: Network communication General Terms: Management, Design Keywords: Ambient healthcare, device management U serControl System kooper@ncsa.uiuc.edu, {maselli,petrioli}@di.uniroma1.it A utom ated ControlSystem {aharris,rhk}@cs.uiuc.edu, Caregiver ControlSystem + TaskHMygea anager Service M anager PhysicalD evices PhysicalD evices PhysicalD evices PhysicalD evices Figure 1: System architecture An effective system must enable information collection and device actuation while not exposing the complexity of the system to either the applications or the users. However, the ultimate goal of such a system is to provide the support required by the applications and users. Therefore, the key to a successful system lies in the design of the interfaces to the applications, the environment and the users. The main contribution of this paper is the design of an architecture, called Meditrina, that can be used to facilitate an assisted living solution in an effective and efficient manner. 2. MEDITRINA In the design of Meditrina, our ambient assisted living architecture, we assume that a number of components are present in the system (see Figure 1). The highest level component, the application, implements the functionality of the assisted living environment. At the lowest level, there is a collection of physical devices, including sensors, network devices, home appliances, and medical devices. Finally, there is a control plane, which we call the Intelligent Control System, which facilitates ongoing user activities by providing rules and guidelines within which environmental decisions can be made (e.g., giving safe thresholds for water temperature to be used in a bath). The intelligent control system is the source of rules that govern actions within the ambient assisted living environment. For each activity, it specifies the action to be taken according to physicians advice and the user’s desires based 1 The work was partially performed when visiting the CS Department, University of Rome ”La Sapienza” 2 The work was partially funded by the Eureka ITEA project AmIE (Ambient Intelligence for the Elderly) Copyright is held by the author/owner(s). HealthNet’07, June 11, 2007, San Juan, Puerto Rico, USA. ACM 978-1-59593-767-4/07/0006. 79 H ygea A ctivity Rules U ser/A ctivity Param eters Thresholds Task List Task Thresholds A ctivity N otification A nom alies Task Results Task Library Service Q uery Task D ata Task Status Task Status M onitors Regulators N otifiers Sensors A ctuators Service D iscovery A ctivity M anager Task M anager Service M anager aided by the Meditrina system, which takes inputs from the intelligent control system, senses, and reacts according to current user behavior and state. The interaction of the system with the user makes the system adaptive, allowing for flexibility, since the system may be personalized to a specific user in the course of activities (e.g., choosing a shower-water temperature). The Meditrina architecture contains three main components, reflecting this decomposition of activities (see Figure 2). The first component is the Activity Manager, whose job is managing activities for users. The second component is called the Task Manager, whose job is to manage specific tasks needed to accomplish activities within the system. The third component, called the Service Manager, consists of the interfaces, called service coordinators, to the ambient devices providing services in the environment, including user devices (e.g., PDAs), environmental sensors (e.g., light sensors), medical devices (e.g., heart rate monitors), environmental actuators (e.g., thermostats), and networked, computer-equipped household devices (e.g., ovens). In addition to these three components, there is a Service Discovery component, which enables optimizations related to choosing devices within the system to perform tasks. In the following subsections, we present descriptions of each of the components of the architecture. M editrina Service response Figure 2: Meditrina architecture on the parameters that characterize and personalize the activity for each user. Violations of these rules are automatically controlled by the system whenever possible: for example, a rule for a user’s bath may be that the temperature must be below X, within Y degrees. If the user increases the amount of cold water to the point that the temperature goes below Y degrees, the system automatically increases the flow of hot water to reach the dictated temperature. The intelligent control system includes three types of control interfaces to support users with different skill levels and specialties (see Figure 1). The caregiver control system is the subsystem that allows caregivers to oversee the operation of the entire system and handle any anomalies that arise. Such oversight is needed in life-critical systems, and allows a group of physicians to send commands to the system, or send assistance (e.g., an ambulance) directly to users in the case of emergencies. The automated control system contains predefined rules to augment system functionality. The user control system allows input from the users to help adjust their own comfort level. Essentially, the combination of these components of the intelligent control system provide two different types of assistance. The caregiver control system and the user control system are reactive, always working in response to some emergency, anomaly, or user’s wish. On the other hand, the automated control system is proactively attempting to avoid complications. The Meditrina architecture provides communication support between the devices, applications, and intelligent control system, while allowing optimizations at the system level to save energy, match sensor reading accuracy to application needs, and improve the lifestyles of the users while offloading management from the caretakers to the system. We call the goal of a specific application an activity. Activities are decomposed into tasks required to reach a successful conclusion. Finally, each task requires some number of services from the ambient assisted living environment. The idea behind our architecture is that everyday routine is modeled as a set of activities that follow and possibly interlace with one another. Examples of activities are sleeping, having breakfast, taking a bath, taking medicine, measuring vital signs, and leaving home. The interleaving of activities is caused by normal user behavior (e.g., a user may need to take medicine during breakfast, causing the suspension of the breakfast activity until the medication activity is complete). During their daily routine, the user is monitored and 2.1 Activity Manager The activity manager is responsible for managing user activities, by decomposing each activity into a number of tasks, and propagating them along with any parameters from the intelligent control system to the task manager. The upper interface interacts with the intelligent control system to prevent anomalous user behavior that may have negative effects. For example, while taking a bath, several factors in the environment must be monitored and controlled (e.g., regulating air temperature, regulating water temperature, and closing windows), so that the user activity can be performed according to the rules specified by the intelligent control system (e.g., water temperature must fall within a specific range), but the user can choose their preferred water temperature, within that range. The intelligent control system also comes into play in case of emergency, or unusual behavior, and reactively provides support according to the specific situation. In these situations, the activity manager interacts directly with the control system, passing it the values that define the anomaly. The control system can in turn issues specific queries to the activity manager to better understand the situation (e.g., requesting some vital parameters) and enter commands that specify the action to be taken. 2.2 Task Manager The task manager is invoked by the activity manager for each part of an activity. Consider the previous example of taking a bath, this single activity is broken into regulating air temperature, regulating water temperature and pressure, and monitoring user vital signs. Each of these tasks is handled by a manager that is in charge of guaranteeing efficient task execution. Specifically, task managers are responsible for finding available services from the service discovery component, making specific service requests to the service manager, and monitoring task performance. The optimization of network costs is performed by the 80 or the user according to application requirements. Their task is to output sensed data, in a number of formats including: boolean, numerical, complex (e.g., images), or streaming (e.g., video). A sensor can either be queried, triggered, read, or set to continuously sense on some pre-defined timescale: the former is called reactive sensing, the latter proactive sensing. Sensors have different levels of complexity: some capable of sensing only a single property, others capable of sensing multiple properties (e.g., heat and light). Actuators - Active components that change the physical environment. Specifically, actuators activate devices to change the state of the environment (e.g., generating sounds, adjusting light levels, changing the ambient air temperature, or locking a door). Both types of devices export information about their functions to upper layers. In the case of sensors, such data includes what factors in the environment they sense, their accuracy, and the frequency with which they take readings. For actuators, such data includes the costs of performing actions, the expected time frame for a result to be reached, and the probability with which expected changes occur. This data can be used by task manager, along with information from the intelligent control system to choose which sensors and actuators to use for particular activities. task manager that takes as input the application requirements from the activity manager and the cost and reliability for each service offered by the devices from the service manager. The objective of the task manager is to trade off application requirements and network costs, so as to achieve a satisfying quality of service, keeping network cost as low as possible. This kind of optimization is performed at the task level because the same task may be performed by using different sensors and actuators, with different costs and quality. The task manager is located between the activity and service managers to get application requirements from the former and network costs from the latter. The task managers interface with the activity managers to report on the results of the tasks making up the activity. The task manager also interfaces directly with the service manager to monitor and perform their tasks. 2.3 Service Manager The Meditrina architecture provides a service manager that defines three types of service coordinators, through which other system components interact with the various devices in the environment. Each service coordinator provides a clean interface to one or more devices for use by task managers. There are two classes of service coordinators to support the various types of devices in the ambient environment, passive and active. Passive components, which we call monitors, sense and output collected data. Active components include both sensing and acting. Within this class, we define two different components: regulators and notifiers. The formers adjust environmental conditions, while the latter notifies the users to take certain actions. Monitor - A passive component that collects sensed data. Monitors can watch users’ vital signs (e.g., heart rate or blood pressure), or environmental conditions (e.g., light levels, air temperature, or humidity). Monitors are passive in the sense that they do not perform any action, but just sense and report data. Regulator - An active component that involves both sensing and modifying environmental conditions. Regulators are based on the paradigm “sense and adjust,” since they adjust the environmental state according to application requirements. Examples of regulators are: water temperature regulators, water pressure regulators, and door openers. Thus a regulator coordinates sensors and actuators according to a target task. Regulators may have cyclic properties: after triggering an actuator to adjust the environment, the regulator must return to monitoring to ensure the desired effect was achieved. Notifier - An active component that uses notifications to encourage specific actions in users (e.g., taking medication). Notifiers are based on the paradigm “notify and wait for response,” and involve the interaction of sensors, actuators, and user feedback. After notifying the user, the notifier waits for a response, checks if the task has been correctly performed, and potentially takes further action. These service coordinators provide the interfaces to devices in the system, which can be divided into two types: sensors and actuators. Sensors are passive components, merely taking input from the environment. Actuators are active components, affecting factors within the environment (e.g., activating the compressor on the air conditioning unit). Sensors - Passive components that sense the environment 3. FUTURE DIRECTIONS We have assembled a large number of devices, both sensors and actuators, to create an initial testbed. We plan on deploying the initial implementation of the Meditrina system on this testbed in the near future. Once we have the initial deployment of the system, we can start to experiment with various optimizations of this system in all layers. The nature of these optimizations depend greatly on the application needs; however, there are general techniques that can be applied. In terms of service discovery, we are analyzing techniques to perform rapid, cheap (in terms of computation, storage, and energy) device and service location. This is complex because not only are the services in the area unknown to new users, the available means of communication are also unknown. Once available communication channels are discovered, the problem of optimizing the communication by choosing one or more channels arises. Finally, optimizing the choice of devices to serve a particular application’s needs over the space of available devices and communication channels, while taking into account the accuracy and other properties of the devices’ abilities is a complex problem that we are beginning to model. 4. REFERENCES [1] Q. Wang, W. Shin, X. Lui, Z. Zeng, C. Oh, B. Alshebli, M. Caccamo, C. Gunter, E. Gunter, J. Hou, K. Karahalios, and L. Sha, “I-Living: An Open System Architecture for Assisted Living,” in IEEE SMC, 2006. [2] D. Malan, T. Fulford-Jones, M. Welsh, and S. Moulton, “CodeBlue: An ad hoc sensor network infrastructure for emergency medical care,” in International Workshop on Wearable and Implantable Body Sensor Networks, 2004. [3] I. Mohomed, M. Ebling, W. Jerome, and A. Misra, “HARMONI: Client middleware for long-term, continous, remote health monitoring,” in UbiHealth, 2006. [4] W. Heinzelman, A. Murphy, H. Carvalho, and M. Perillo, “Middleware to support sensor network applications,” IEEE Transactions on Network, vol. 18, no. 1, pp. 6–14, January-February 2004. 81 View publication stats