A Research Agenda for IOT Adaptive Architectures †
Abstract
:1. Introduction
- interaction between devices of different makes, and
2. Challenges in Building IoT Systems
- Resiliency to transient IoT devices. IoT devices may become temporally or permanently unavailable due to a (hardware or software) failure, or users/devices mobility. In this case, services would become unresponsive, as readings from the surrounding environment are not received. The system should dynamically adapt to deal with these situations.
- Inclusion of new IoT devices. As new IoT devices appear in the environment, they should be seamlessly incorporated in the system. If the system cannot recognize new devices, services will be agnostic to new available information. Changes in the topology should be integrated dynamically.
- Data format change in a device. IoT devices may change the format in which measured data is sent as response to devices’ updates, or the replacement of an existing device by another one. Modifying service’s format would break the service, as the received data cannot be interpreted, or the service would yield wrong results. Both entities should change in unison.
- Middleware Unavailability. The Middleware layer may become unavailable due to maintenance or malfunction. If the Middleware is not available, communication between devices and services is lost. In such a case, the communication mechanism between services and devices must adapt to search for new components (re-)enabling the interaction between physical and virtual entities.
- Authorization and authentication. As discussed in Challenge 2, new IoT devices should be incorporated in the system. In addition to functionality, security aspects should be taken into account too. The devices should be authorized and authenticated prior to establishing new connections, to monitor and regulate all the devices in the system.
- Service connectivity loss. There are multiple situations in which connectivity with a service might be lost. For example, due to connectivity problems or services leaving the environment. All of these situations cause data sent by IoT devices not to reach their associated services. The system should adapt to discontinue the service.
- Abnormal information from different devices. Due to the nature of collaborative systems, a variation of the measured variable is expected in case of abnormalities. In such cases, the IoT device must adapt its behavior, to properly analyze the environment.
- Services’ API change. Services evolve over time. As developers modify services’ APIs, these may become unresponsive as the data sent from the IoT devices may no longer be consumable. In such cases, the Middleware should be able to search for other potential suitable devices to supply services’ data.
2.1. Challenges to Evolve IoT Systems
2.1.1. AC.1—Adaptation to Transient IoT Devices
2.1.2. AC.2—Adaptation to Inclusion of New IoT Devices
2.1.3. The IoT Device Sends the Measured Data with a Different Format
2.1.4. AC.4—The Middleware is Temporally or Permanently Unavailable
2.1.5. AC.5—Service Adaptation in the Event of a Cybernetic Attack
2.1.6. AC.6—Adaptation to Loss of Network Connection to the Services
2.1.7. AC.7—Adaptation to Abnormal Values of the Measured Variable
3. Smart-Home Alert System
4. An Adaptive IoT Architecture
4.1. Physical Layer
4.2. Middleware Layer
4.2.1. Hub
4.2.2. Broker
- Similarity, and
- Filtering.
- Unmatched services,
- Unavailable services, and
- Abnormal service responses.
- Non breaking changes,
- breaking and resolvable changes, and
- breaking and unsolvable changes.
4.3. Service Layer
4.4. Security Layer
5. Addressing the Adaptation Challenges
- Transient IoT devices: Whenever a device becomes unavailable (e.g., the fire alarm, or the gas detection nodes), the system must adapt to continue sensing the environment and alert users about the fault. In our example, a maintenance order for the affected IoT device is generated by the Web Service associated to the faulty device. Moreover, the Broker will try to find an alternative (set of) device(s) to supply the missing information to the web service. The Broker must update its IoT device registry, mapping new devices to services, and changing the status of the absent device to inactive. If the device restart its operation during this process, the maintenance order will be canceled and the device registry will be updated to active. If the device keeps an intermittent behavior, the service will generate a maintenance request, explaining the intermittent behavior.
- Inclusion of new IoT devices: Let us take an environment that initially contains devices connecting through a wireless (e.g., WiFi) network with the Hub. If new devices using a cellular network appear in the environment, the Hub seamlessly connects with the device (regardless of the difference in protocols), given this is a valid device according to the SSN ontology. New devices are registered in the Broker, to use in cases the currently active devices fail.
- The IoT device sends the measured data with a different format: Measurement provided by IoT devices can use different semantic formats, for example the CO node can use particles per million (ppm), or milligram per liter (mg/L), or milligrams per kilogram (mg/kg). To ensure proper system operation, the Broker will request the Format translator to transform the CO measurement to the format required by the corresponding Service, using the Metadata provide by the IoT device. Syntactic format inconsistencies are resolved in a similar fashion.
- The Middleware is temporally or permanently unavailable: The Broker connecting the web service and the fire alarm may become unavailable. In such a case, as with IoT devices, a redundant Broker is made available to maintain the communication between IoT devices to access the Services. Upon the Broker connection failure, IoT devices and the Services adapt their behavior to search for another Broker to establish proper communication. To make this task easier, each Broker of the group will share its registry and database snapshot with other Brokers, so the new connection between Services and devices will propagate to other Brokers. Registry and database synchronization is vital in case of a new unavailability or the recovery of the Broker. This behavior should always take place independently, from the specific application domain using the architecture.
- Authorization and authentication of new IoT devices: Third party interference, data manipulation, or devices may cause the device to malfunction, possibly leading to a hazardous situation. The system’s security component is responsible for providing authorization and authentication mechanism to new connected IoT devices. This process provides proper regulation of IoT devices, in order to assure suitable devices to the required needs of services.
- Service connectivity loss: The web services analyzing the readings provided by the CO device may become unavailable. Three possible adaptations are presented to deal with this problem. Each of the solutions offers adaptations for one layer in our architecture. First, our proposed architecture considers that each service has at least a redundant copy. If a service is not available due to infrastructure or connectivity failure, the Broker must connect the associated IoT devices to a copy of such service, to avoid losing data or service malfunction. In case all copies are unavailable, the Broker must search for another suitable service in the Registry. The second adaptation option is to temporally store the data in the Broker database to be processed once the service is available anew. Finally, the third adaptation option is to enforce IoT devices to stop sending information, until the Broker can find a new suitable Service for the provided information.
- Adaptation to abnormal values of the measured variable: Our case study is an example of a low demand system. This means, it is not expected that the fire alarm and CO detection nodes, announce abnormal events (e.g., fire or CO presence) in a regular time basis, as these scenarios represent emergencies. As a consequence, sensed variables can be stored with a low sample rate. If there is a significant perturbation in the measured variable, the IoT device must increase the sample rate, to get more detail about the abnormal situation.
- Service API change: Services can change their API and the Broker must adapt the requests to satisfy the new API. The adaptation required depends on the kind of change. As an example, take the initial API version of the CO web service that triggers maintenance orders if the data received from a single CO device is intermittent. Suppose further that the API evolves to a new version, in which the maintenance order is created whenever multiple IoT devices, located in the same area of the house, present an erratic behavior. In such a case, the API Conflict Solver has to resolve a suitable combination of IoT devices, to comply with the new data requirements of the evolved API.
6. Experiments and Results
6.1. Prototype
6.2. Evaluation
6.3. Discussion
- an additional registry where parent nodes (in the tree representation) represent services (those initiating communication) and children represent the devices that match such services; and
- a low-cost mechanism for reaching devices from the Middleware.
7. Related Work
8. Conclusions and Future Work
1 | The database type depends on the type of information to store. Typically a NoSQL database is used, but this should be transparent to the broker. |
2 | The implementation of the remaining components are needed to address the remaining challenges, but fall outside of the scope of this paper. |
References
- Mattern, F.; Floerkemeier, C. From the Internet of computers to the Internet of Things. Informatik-Spektrum 2010, 33, 107–121. [Google Scholar] [CrossRef]
- van Kranenburg, R.; Bassi, A. IoT Challenges. Commun. Mob. Comput. 2012, 1, 9. [Google Scholar] [CrossRef]
- Gazis, V.; Goertz, M.; Huber, M.; Leonardi, A.; Mathioudakis, K.; Wiesmaier, A.; Zeiger, F. Short Paper: IoT: Challenges, projects, architectures. In Proceedings of the 2015 18th International Conference on Intelligence in Next Generation Networks, Paris, France, 17–19 February 2015; pp. 145–147. [Google Scholar] [CrossRef]
- Bauer, M.; Boussard, M.; Bui, N.; De Loof, J.; Magerkurth, C.; Meissner, S.; Nettsträter, A.; Stefa, J.; Thoma, M.; Walewski, J.W. IoT Reference Architecture. In Enabling Things to Talk: Designing IoT solutions with the IoT Architectural Reference Model; Springer: Berlin/Heidelberg, Germany, 2013; pp. 163–211. [Google Scholar] [CrossRef]
- Desai, P.; Sheth, A.; Anantharam, P. Semantic Gateway as a Service Architecture for IoT Interoperability. In Proceedings of the 2015 IEEE International Conference on Mobile Services, New York, NY, USA, 27 June–2 July 2015. [Google Scholar] [CrossRef]
- Compton, M.; Barnaghi, P.; Bermudez, L.; García-Castro, R.; Corcho, O.; Cox, S.; Graybeal, J.; Hauswirth, M.; Henson, C.; Herzog, A.; Huang, V.; Janowicz, K.; Kelsey, W.D.; Le Phuoc, D.; Lefort, L.; Leggieri, M.; Neuhaus, H.; Nikolov, A.; Page, K.; Passant, A.; Sheth, A.; Taylor, K. The SSN ontology of the W3C semantic sensor network incubator group. Web Semant. Sci. Serv. Agents World Wide Web 2012, 17, 25–32. [Google Scholar] [CrossRef]
- Ryu, M.; Kim, J.; Yun, J. Integrated semantics service platform for the Internet of Things: A case study of a smart office. Sensors 2015, 15, 2137–2160. [Google Scholar] [CrossRef] [PubMed]
- Euzenat, J.; Shvaiko, P. Ontology Matching; Springer-Verlag: Berlin/Heidelberg, Germany, 2007. [Google Scholar]
- IBM Corporation. Evolving Java-based APIs. 2017. [Google Scholar]
- Arduino. Arduino uno WIFI. 2018. Available online: https://store.arduino.cc/usa/arduino-uno-wifi (accessed on 10 October 2018).
- Pivotal Software. Spring Boot. 2018. Available online: https://projects.spring.io/spring-boot/ (accessed on 10 October 2018).
- The Apache Software Foundation. Apache ZooKeeper. 2017. Available online: https://zookeeper.apache.org/ (accessed on 10 October 2018).
- Garshol, L.M. Duke. 2017. Available online: https://github.com/larsga/Duke (accessed on 10 October 2018).
- Tran, H.T.; Baraki, H.; Kuppili, R.; Taherkordi, A.; Geihs, K. A Notification Management Architecture for Service Co-evolution in the Internet of Things. In Proceedings of the 2016 IEEE 10th International Symposium on the Maintenance and Evolution of Service-Oriented and Cloud-Based Environments (MESOCA), Raleigh, NC, USA, 3 October 2016; pp. 9–15. [Google Scholar] [CrossRef]
- Gaur, S.; Rangarajan, R.; Tovar, E. Extending T-Res with Mobility for Context-Aware IoT. In Proceedings of the 2016 IEEE First International Conference on Internet-of-Things Design and Implementation (IoTDI), Berlin, Germany, 4–8 April 2016; pp. 293–296. [Google Scholar] [CrossRef]
- Pötter, H.B.; Sztajnberg, A. Adapting Heterogeneous Devices into an IoT Context-aware Infrastructure. In Proceedings of the 2016 IEEE/ACM 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS) Austin, TX, USA 16–17 May 2016; pp. 64–74. [Google Scholar] [CrossRef]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Ariza, J.; Mendoza, C.; Garcés, K.; Cardozo, N. A Research Agenda for IOT Adaptive Architectures. Proceedings 2018, 2, 1229. https://doi.org/10.3390/proceedings2191229
Ariza J, Mendoza C, Garcés K, Cardozo N. A Research Agenda for IOT Adaptive Architectures. Proceedings. 2018; 2(19):1229. https://doi.org/10.3390/proceedings2191229
Chicago/Turabian StyleAriza, Jairo, Camilo Mendoza, Kelly Garcés, and Nicolás Cardozo. 2018. "A Research Agenda for IOT Adaptive Architectures" Proceedings 2, no. 19: 1229. https://doi.org/10.3390/proceedings2191229
APA StyleAriza, J., Mendoza, C., Garcés, K., & Cardozo, N. (2018). A Research Agenda for IOT Adaptive Architectures. Proceedings, 2(19), 1229. https://doi.org/10.3390/proceedings2191229