**4. Cloud computing and its contribution to IoT and smart home**

Cloud computing is a shared pool of computing resources ready to provide a variety of computing services in different levels, from basic infrastructure to most sophisticated application services, easily allocated and released with minimal efforts or service provider interaction [6, 7]. In practice, it manages computing, storage, and communication resources that are shared by multiple users in a virtualized and isolated environment. **Figure 2** depicts the overall cloud paradigm.

**29**

and cloud service model.

**Figure 2.**

*Cloud computing paradigm.*

*Smart Home Systems Based on Internet of Things DOI: http://dx.doi.org/10.5772/intechopen.84894*

IoT and smart home can benefit from the wide resources and functionalities of cloud to compensate its limitation in storage, processing, communication, support in pick demand, backup and recovery. For example, cloud can support IoT service management and fulfillment and execute complementary applications using the data produced by it. Smart home can be condensed and focus just on the basic and critical functions and so minimize the local home resources and rely on the cloud capabilities and resources. Smart home and IoT will focus on data collection, basic processing, and transmission to the cloud for further processing. To cope with security challenges, cloud may be private for highly secured data and public for the rest. IoT, smart home and cloud computing are not just a merge of technologies. But rather, a balance between local and central computing along with optimization of resources consumption. A computing task can be either executed on the IoT and smart home devices or outsourced to the cloud. Where to compute depends on the overhead tradeoffs, data availability, data dependency, amount of data transportation, communications dependency and security considerations. On the one hand, the triple computing model involving the cloud, IoT and smart home, should minimize the entire system cost, usually with more focus on reducing resource consumptions at home. On the other hand, an IoT and smart home computing service model, should improve IoT users to fulfill their demand when using cloud applications and address complex problems arising from the new IoT, smart home

Some examples of healthcare services provided by cloud and IoT integration: properly managing information, sharing electronic healthcare records enable highquality medical services, managing healthcare sensor data, makes mobile devices suited for health data delivery, security, privacy, and reliability, by enhancing medical data security and service availability and redundancy and assisted-living services in real-time, and cloud execution of multimedia-based health services.

Smart home and IoT are rich with sensors, which generate massive data flows in the form of messages or events. Processing this data is above the capacity of a human being's capabilities [8–10]. Hence, event processing systems have been developed and used to respond faster to classified events. In this section, we focus

**5. Centralized event processing, a rule-based system**

*Smart Home Systems Based on Internet of Things DOI: http://dx.doi.org/10.5772/intechopen.84894*

#### **Figure 2.**

*Internet of Things (IoT) for Automated and Smart Applications*

proper device processor.

*Smart home paradigm with optional cloud connectivity.*

**Figure 1.**

**3. Internet of things [IoT] overview**

of XML, for inter components and external messaging.

**4. Cloud computing and its contribution to IoT and smart home**

ized and isolated environment. **Figure 2** depicts the overall cloud paradigm.

Cloud computing is a shared pool of computing resources ready to provide a variety of computing services in different levels, from basic infrastructure to most sophisticated application services, easily allocated and released with minimal efforts or service provider interaction [6, 7]. In practice, it manages computing, storage, and communication resources that are shared by multiple users in a virtual-

d.Actuators to provision and execute commands in the server or other control devices. It translates the required activity to the command syntax; the device can execute. During processing the received sensors' data, the task checks if any rule became true. In such case the system may launch a command to the

e.Database to store the processed data collected from the sensors [and cloud services]. It will also be used for data analysis, data presentation and visualization. The processed data is saved in the attached database for future use.

The internet of things (IoT) paradigm refers to devices connected to the internet. Devices are objects such as sensors and actuators, equipped with a telecommunication interface, a processing unit, limited storage and software applications. It enables the integration of objects into the internet, establishing the interaction between people and devices among devices. The key technology of IoT includes radio frequency identification (RFID), sensor technology and intelligence technology. RFID is the foundation and networking core of the construction of IoT. Its processing and communication capabilities along with unique algorithms allows the integration of a variety of elements to operate as an integrated unit but at the same time allow easy addition and removal of components with minimum impact, making IoT robust but flexible to absorb changes in the environment and user preferences. To minimize bandwidth usage, it is using JSON, a lightweight version

**28**

*Cloud computing paradigm.*

IoT and smart home can benefit from the wide resources and functionalities of cloud to compensate its limitation in storage, processing, communication, support in pick demand, backup and recovery. For example, cloud can support IoT service management and fulfillment and execute complementary applications using the data produced by it. Smart home can be condensed and focus just on the basic and critical functions and so minimize the local home resources and rely on the cloud capabilities and resources. Smart home and IoT will focus on data collection, basic processing, and transmission to the cloud for further processing. To cope with security challenges, cloud may be private for highly secured data and public for the rest.

IoT, smart home and cloud computing are not just a merge of technologies. But rather, a balance between local and central computing along with optimization of resources consumption. A computing task can be either executed on the IoT and smart home devices or outsourced to the cloud. Where to compute depends on the overhead tradeoffs, data availability, data dependency, amount of data transportation, communications dependency and security considerations. On the one hand, the triple computing model involving the cloud, IoT and smart home, should minimize the entire system cost, usually with more focus on reducing resource consumptions at home. On the other hand, an IoT and smart home computing service model, should improve IoT users to fulfill their demand when using cloud applications and address complex problems arising from the new IoT, smart home and cloud service model.

Some examples of healthcare services provided by cloud and IoT integration: properly managing information, sharing electronic healthcare records enable highquality medical services, managing healthcare sensor data, makes mobile devices suited for health data delivery, security, privacy, and reliability, by enhancing medical data security and service availability and redundancy and assisted-living services in real-time, and cloud execution of multimedia-based health services.

#### **5. Centralized event processing, a rule-based system**

Smart home and IoT are rich with sensors, which generate massive data flows in the form of messages or events. Processing this data is above the capacity of a human being's capabilities [8–10]. Hence, event processing systems have been developed and used to respond faster to classified events. In this section, we focus on rule management systems which can sense and evaluate events to respond to changes in values or interrupts. The user can define event-triggered rule and to control the proper delivery of services. A rule is composed of event conditions, event pattern and correlation-related information which can be combined for modeling complex situations. It was implemented in a typical smart home and proved its suitability for a service-oriented system.

The system can process large amounts of events, execute functions to monitor, navigate and optimize processes in real-time. It discovers and analyzes anomalies or exceptions and creates reactive/proactive responses, such as warnings and preventing damage actions. Situations are modeled by a user-friendly modeling interface for event-triggered rules. When required, it breaks them down into simple, understandable elements. The proposed model can be seamlessly integrated into the distributed and service-oriented event processing platform.

The evaluation process is triggered by events delivering the most recent state and information from the relevant environment. The outcome is a decision graph representing the rule. It can break down complex situations to simple conditions, and combine them with each other, composing complex conditions. The output is a response event raised when a rule fires. The fired events may be used as input for other rules for further evaluation. Event patterns are discovered when multiple events occur and match a pre-defined pattern. Due to the graphical model and modular approach for constructing rules, rules can be easily adapted to domain changes. New event conditions or event patterns can be added or removed from the rule model. Rules are executed by event services, which supply the rule engine with events and process the evaluation result. To ensure the availability of suitable processing resources, the system can run in a distributed mode, on multiple machines and facilitate the integration with external systems, as well. The definition of relationships and dependencies among events that are relevant for the rule processing, are performed using sequence sets, generated by the rule engine. The rule engine constructs sequences of events relevant to a specific rule condition to allow associating events by their context data. Rules automatically perform actions in response when stated conditions hold. Actions generate response events, which trigger response activities. Event patterns can match temporal event sequences, allowing the description of home situations where the occurrences of events are relevant. For example, when the door is kept open too long.

The following challenges are known with this model: structure for the processed events and data, configuration of services and adapters for processing steps, including their input and output parameters, interfaces to external systems for sensing data and for responding by executing transactions, structure for the processed events and data, data transformations, data analysis and persistence. It allows to model which events should be processed by the rule service and how the response events should be forwarded to other event services. The process is simple: data is collected and received from adapters which forward events to event services that consume them. Initially the events are enriched to prepare the event data for the rule processing. For example, the response events are sent to a service for sending notifications to a call agent, or to services which transmit event delay notifications and event updates back to the event management system.

#### **5.1 Event processing languages**

Event processing is concerned with real-time capturing and managing predefined events. It starts from managing the receptors of events right from the event occurrence, even identification, data collection, process association and activation

**31**

**Figure 3.**

*Smart Home Systems Based on Internet of Things DOI: http://dx.doi.org/10.5772/intechopen.84894*

complex event-types applied over the event log.

**5.2 Rediscovering workflow from events**

**6. Advanced smart home**

of the response action. To allow rapid and flexible event handling, an event processing language is used, which allows fast configuration of the resources required to handle the expected sequence of activities per event type. It is composed of two modules, ESP and CEP. ESP efficiently handles the event, analyzes it and selects the appropriate occurrence. CEP handles aggregated events. Event languages describe

In some cases, rules relate to discrepancies in a sequence of events in a workflow. In such cases, it is mandatory to precisely understand the workflow and its associated events. To overcome this, we propose a reverse engineering process to automatically rediscover the workflows from the events log collected over time, assuming these events are ordered, and each event refers to one task being executed

In this section, we focus on the integration of smart home, IoT and cloud computing to define a new computing paradigm. We can find in the literature section [11–14] surveys and research work on smart home, IoT and cloud computing separately, emphasizing their unique properties, features, technologies, and drawbacks. However, our approach is the opposite. We are looking at the synergy among these three concepts and searching for ways to integrate them into a new comprehensive paradigm, utilizing its common underlying concepts as well as its unique attributes, to allow the execution of new processes, which could not be processed otherwise. **Figure 3** depicts the advanced smart-home main components and their interconnectivity. On the left block, the smart home environment, we can see the typical

for a single case. The rediscovering process can be used to validate workflow sequences by measuring the discrepancies between prescriptive models and actual process executions. The rediscovery process consists of the following three steps: (1) construction of the dependency/frequency table. (2) Induction of dependency/

frequency graphs. (3) Generating WF-nets from D/F-graphs.

*Advanced smart home—integrating smart home, IoT and cloud computing.*

*Smart Home Systems Based on Internet of Things DOI: http://dx.doi.org/10.5772/intechopen.84894*

*Internet of Things (IoT) for Automated and Smart Applications*

distributed and service-oriented event processing platform.

and event updates back to the event management system.

**5.1 Event processing languages**

suitability for a service-oriented system.

on rule management systems which can sense and evaluate events to respond to changes in values or interrupts. The user can define event-triggered rule and to control the proper delivery of services. A rule is composed of event conditions, event pattern and correlation-related information which can be combined for modeling complex situations. It was implemented in a typical smart home and proved its

The system can process large amounts of events, execute functions to monitor, navigate and optimize processes in real-time. It discovers and analyzes anomalies or exceptions and creates reactive/proactive responses, such as warnings and preventing damage actions. Situations are modeled by a user-friendly modeling interface for event-triggered rules. When required, it breaks them down into simple, understandable elements. The proposed model can be seamlessly integrated into the

The evaluation process is triggered by events delivering the most recent state and information from the relevant environment. The outcome is a decision graph representing the rule. It can break down complex situations to simple conditions, and combine them with each other, composing complex conditions. The output is a response event raised when a rule fires. The fired events may be used as input for other rules for further evaluation. Event patterns are discovered when multiple events occur and match a pre-defined pattern. Due to the graphical model and modular approach for constructing rules, rules can be easily adapted to domain changes. New event conditions or event patterns can be added or removed from the rule model. Rules are executed by event services, which supply the rule engine with events and process the evaluation result. To ensure the availability of suitable processing resources, the system can run in a distributed mode, on multiple machines and facilitate the integration with external systems, as well. The definition of relationships and dependencies among events that are relevant for the rule processing, are performed using sequence sets, generated by the rule engine. The rule engine constructs sequences of events relevant to a specific rule condition to allow associating events by their context data. Rules automatically perform actions in response when stated conditions hold. Actions generate response events, which trigger response activities. Event patterns can match temporal event sequences, allowing the description of home situations where the occurrences of events are relevant. For example, when the door is kept

The following challenges are known with this model: structure for the processed events and data, configuration of services and adapters for processing steps, including their input and output parameters, interfaces to external systems for sensing data and for responding by executing transactions, structure for the processed events and data, data transformations, data analysis and persistence. It allows to model which events should be processed by the rule service and how the response events should be forwarded to other event services. The process is simple: data is collected and received from adapters which forward events to event services that consume them. Initially the events are enriched to prepare the event data for the rule processing. For example, the response events are sent to a service for sending notifications to a call agent, or to services which transmit event delay notifications

Event processing is concerned with real-time capturing and managing predefined events. It starts from managing the receptors of events right from the event occurrence, even identification, data collection, process association and activation

**30**

open too long.

of the response action. To allow rapid and flexible event handling, an event processing language is used, which allows fast configuration of the resources required to handle the expected sequence of activities per event type. It is composed of two modules, ESP and CEP. ESP efficiently handles the event, analyzes it and selects the appropriate occurrence. CEP handles aggregated events. Event languages describe complex event-types applied over the event log.

### **5.2 Rediscovering workflow from events**

In some cases, rules relate to discrepancies in a sequence of events in a workflow. In such cases, it is mandatory to precisely understand the workflow and its associated events. To overcome this, we propose a reverse engineering process to automatically rediscover the workflows from the events log collected over time, assuming these events are ordered, and each event refers to one task being executed for a single case. The rediscovering process can be used to validate workflow sequences by measuring the discrepancies between prescriptive models and actual process executions. The rediscovery process consists of the following three steps: (1) construction of the dependency/frequency table. (2) Induction of dependency/ frequency graphs. (3) Generating WF-nets from D/F-graphs.
