Smart homes are equipped with multiple sensors and actuators to observe the residents and environmental phenomena, to interpret the situation out of that, and finally, to react accordingly. While the data processing for a single smart home is facile, the data processing for multiple smart homes in one smart building is more complex because there are different people (e.g., like several residents, administrators, or a property management) with different interests concerning the processed data. On that point, this chapter shows which kind of typical roles can be found in a smart building and what requirements and challenges they demand for managing and processing the data. Secondly, Data Stream Management Systems (DSMS) are introduced as an approach for processing and managing data in a smart building by presenting an appropriate architecture. Finally, the chapter discusses further concepts from DSMS and illustrates how they additionally meet and solve the requirements and the challenges.
TopIntroduction
So-called smart homes have been envisioned since more than two decades now (Weiser, 1991), and we have seen more and more research projects, running prototypes, and even products that aim to make our everyday life easier, safer, more sustainable, or just to be more fun. However, since smart homes involve a number of microprocessors, sensors, networks, applications, and user interfaces to work together, and since users are still inexperienced in dealing with the technical issues and the usage of such systems, many challenges remain. This is particularly true when we think not only of a single smart home, but of a smart building. For us, a smart building is a combination of two or more smart homes where each smart home has different residents like a block of flats. In contrast to a single smart home, where a family or friends live together, the tenants of flats tend to have more oppositional interests and share less common interests. This also holds for using pervasive computing within their smart home. For example, Martha is an older and calm woman, who uses the smart home for assistance in her daily living. Her neighbor Tom, on the other hand, is a young and trendy guy, who always wants the latest technical equipment. And their neighbor Jill wants to extend her smart home with her own new applications and hardware. Finally, there is Jerry, the property manager, who takes care about the whole building and wants to save resources, like energy and maintenance costs; in addition, Jerry aims for a high quality of living in all flats of this building, since by that, he can justify higher rents. In our scenario, we have a smart building with several apartments. Each apartment has a wide range of sensors and actuators. There are simple sensors to detect phenomena like temperature, motion, light, or weather. Furthermore, devices like a television or a telephone can also be seen as sensors, when they send their status or other data as events. A smart home uses all this data to detect certain states and calls some actuators by some predefined rules. Such a rule might be, for example, to turn on the light if the television is used. Although this approach works well for one certain person, it is not generalizable for everyone. That is why each of the residents has to define their own set of rules. For Tom this might be easy, but for Martha it is not practical. Because of that, the individual preferences can be automatically learned for each person by observing and detecting frequently emerging patterns that are derived from sensor events. Thus, such an approach provides a very adaptively processing for each resident, so that the resident as well as the property manager does not need time consuming configurations. However, despite that learning is a very individual task; one system per person would be expensive: it needs additional configuration, maintenance, and resources like hardware and energy. Since all—or at least the most—sensors and actuators are part of the building and are managed by the property manager, it is recommended that they also provide a system where all processing is centrally managed. Since Jerry, the property manager, is interested in low costs and low energy consumption, he is sensible to use one single system for all processing. To keep also the individuality and independence of each resident, such a system has to support multiple users at once, where each user may not be able to influence other users. In this contribution, we present a conceptional architecture for an infrastructure for smart buildings. While previous work focused on middleware aspects (Garlan, Siewiorek, Smailagic, & Steenkiste, 2002; Roman & Campbell, 2000) or on model-driven approaches for the representation of the (physical) context (Lehmann, Bauer, Becker, & Nicklas, 2004; Wojciechowski & Wiedeler, 2012; Zhang, Gu, & Wang, 2005), they rely on human experts that configure, model, develop, and program smart home applications. A main aspect for creating personal awareness and individual applications is often neglected: the ability of systems to learn and predict patterns, to manage historical context information and the learned patterns, and to cope with concept drift. This has also been stated by a survey on context-aware architectures and applications by Baldauf et al. (2007):” Many of the systems store contextual information but none of them do not use learning techniques to provide context-aware service proactively”. Furthermore, each new prototype mostly starts to design a completely new system, so that there are no standards and only few commercialized systems for home automation. Thus, we present an architecture that is based on one central system that provides learning and processing to multiple users while it is very adaptive, extensible and reusable. Similar to common and generally accepted database management systems (DBMS), we provide an approach that is based upon a data stream management system (DSMS). A DSMS is a system for general purposes and is designed for a flexible management of continuous and potential infinite data streams. The generic, flexible and standard compliant approach of DSMS and their availability from prototypes up to commercial systems may encourage that the processing and management of continuous data is not implemented up from the ground whenever a new smart home middleware is designed. Additionally, the main aspects of the proposed architecture are orthogonal to previous works in smart home architectures. We first present an overview of the architecture and show some user stories that the system covers. Afterwards, we present some challenges of the architecture and show what components and technologies can solve them.