VirIoT: A Cloud of Things That Offers IoT Infrastructures as a Service
Abstract
:1. Introduction
1.1. Background
1.2. Proposed Evolution
2. Related Works
3. VirIoT Architecture and Services
3.1. Information Models and Interoperability
3.2. ThingVisors, vThings and Thing Virtualization Concept
Creating the illusion that a thing is present by producing the data and provoking the actions it would have produced or provoked if it was real.
3.2.1. Virtual Sensors
3.2.2. Virtual Actuators
- cmd-value contains the arguments of the command;
- cmd-id is a unique ID of the command;
- cmd-qos is a concept of “actuation QoS” we introduced to differentiate the types of feedback messages sent by a Virtual Actuator: 0 = no feedback; 1 = result message at the end of the actuation; 2 = one or more status messages during the actuation and a result message at the end of the actuation. The value QoS = 0 is useful for use cases where actuation commands are issued at such a high rate that waiting for feedback is useless. The value QoS = 1 is useful for fast and reliable actuation. The value QoS = 2 is useful for a long lasting actuation that requires feedback during execution. For example, for the virtual face detector, an actuation-command set-face-feature is used to send the parameters of the face to be detected, QoS is set to 2 and status messages are sent to the requesting vSilo each time the face is detected. We used QoS = 2 for the lamp example for completeness, but QoS = 1 is more appropriate for this use case;
- cmd-token is an authorization token optionally used to manage conflicting commands, as discussed below;
- cmd-nuri is a notification URI (nuri) where to send the actuation feedback, and it is the data_in topic of the vSilo by default (see Section 3.4.1) so that only the requesting vSilo will receive feedback messages.
3.3. Virtual Silos
3.4. MQTT and HTTP Distribution Systems
3.4.1. MQTT Distribution System
- Decoupling publishers (e.g., ThingVisors) from subscribers (e.g., vSilos) supports the highly dynamic nature of VirIoT, where vSilos are created/destroyed, vThings added/removed and ThingVisors added/removed, etc.;
- Data latency among ThingVisors and vSilos is very low due to the push-based delivery model and the persistence of MQTT connections;
- Inter-zone traffic is reduced due to topology-based multicasting.
3.4.2. HTTP Distribution System
4. Performance Evaluation
4.1. Efficiency and Scalability of Data Distribution
4.2. Comparison of Open-Source IoT Brokers
5. Conclusions
- On-demand self-service: A consumer can unilaterally provision IoT resources, such as Virtual Things, IoT Broker and Virtual Silos;
- Broad IoT access: IoT resources are available over the network and accessed through a plethora of heterogeneous IoT standard technologies, such as those specified by NGSI, NGSI-LD, oneM2M, etc;
- Broad support of IoT devices: We support heterogeneous IoT sensors and actuators producing or consuming context data and generic, large-size HTTP contents;
- Resource pooling: Underlying computing and IoT resources (real things, open data, etc.) are pooled to serve multiple consumers by means of different kinds of virtual resources that are dynamically assigned and reassigned according to current demand from consumers.
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Conflicts of Interest
References
- Ray, P.P. A survey of IoT cloud platforms. Future Comput. Inform. J. 2016, 1, 35–46. [Google Scholar] [CrossRef]
- Ilyas, M.U.; Ahmad, M.; Saleem, S. Internet-of-Things-Infrastructure-as-a-Service: The democratization of access to public Internet-of-Things Infrastructure. Int. J. Commun. Syst. 2020, 33, e4562. [Google Scholar] [CrossRef]
- Amazon. AWS IoT Overview. Available online: https://aws.amazon.com/iot/ (accessed on 16 September 2021).
- Microsoft. Azure IoT Overview. Available online: https://azure.microsoft.com/en-us/overview/iot/ (accessed on 16 September 2021).
- Botta, A.; De Donato, W.; Persico, V.; Pescapé, A. Integration of cloud computing and internet of things: A survey. Future Gener. Comput. Syst. 2016, 56, 684–700. [Google Scholar] [CrossRef]
- Cavalcante, E.; Pereira, J.; Alves, M.P.; Maia, P.; Moura, R.; Batista, T.; Delicato, F.C.; Pires, P.F. On the interplay of Internet of Things and Cloud Computing: A systematic mapping study. Comput. Commun. 2016, 89, 17–33. [Google Scholar] [CrossRef]
- Guth, J.; Breitenbücher, U.; Falkenthal, M.; Leymann, F.; Reinfurt, L. Comparison of IoT platform architectures: A field study based on a reference architecture. In Proceedings of the 2016 Cloudification of the Internet of Things (CIoT), Paris, France, 23–25 November 2016; pp. 1–6. [Google Scholar] [CrossRef]
- Swetina, J.; Lu, G.; Jacobs, P.; Ennesser, F.; Song, J. Toward a standardized common M2M service layer platform: Introduction to oneM2M. IEEE Wirel. Commun. 2014, 21, 20–26. [Google Scholar] [CrossRef]
- FIWARE Home Page. Available online: https://www.fiware.org/ (accessed on 16 September 2021).
- ETSI GS CIM 009. Context Information Management (CIM): NGSI-LD API. Available online: https://docbox.etsi.org/ISG/CIM/Open (accessed on 16 September 2021).
- Petrakis, E.G.; Sotiriadis, S.; Soultanopoulos, T.; Renta, P.T.; Buyya, R.; Bessis, N. Internet of Things as a Service (iTaaS): Challenges and Solutions for Management of Sensor Data on the Cloud and the Fog. Internet Things 2018, 3, 156–174. [Google Scholar] [CrossRef] [Green Version]
- Li, J.; Jin, J.; Yuan, D.; Zhang, H. Virtual fog: A virtualization enabled fog computing framework for Internet of Things. IEEE Internet Things J. 2017, 5, 121–131. [Google Scholar] [CrossRef]
- Al-Azez, Z.T.; Lawey, A.Q.; El-Gorashi, T.E.; Elmirghani, J.M. Energy efficient IoT virtualization framework with passive optical access networks. In Proceedings of the 2016 18th International Conference on Transparent Optical Networks (ICTON), Trento, Italy, 10–14 July 2016; pp. 1–4. [Google Scholar]
- Alves, M.P.; Delicato, F.C.; Santos, I.L.; Pires, P.F. LW-CoEdge: A lightweight virtualization model and collaboration process for edge computing. World Wide Web Internet Web Inf. Syst. 2020, 23, 1127–1175. [Google Scholar] [CrossRef]
- Samaniego, M.; Espana, C.; Deters, R. Smart virtualization for IoT. In Proceedings of the 2018 IEEE International Conference on Smart Cloud (SmartCloud), New York, NY, USA, 21–23 September 2018; pp. 125–128. [Google Scholar]
- Longo, F.; Bruneo, D.; Distefano, S.; Merlino, G.; Puliafito, A. Stack4Things: A sensing-and-actuation-as-a-service framework for IoT and cloud integration. Ann. Telecommun. 2017, 72, 53–70. [Google Scholar] [CrossRef]
- Pierleoni, P.; Concetti, R.; Belli, A.; Palma, L. Amazon, Google and Microsoft solutions for IoT: Architectures and a performance comparison. IEEE Access 2019, 8, 5455–5470. [Google Scholar] [CrossRef]
- Kabadayi, S.; Pridgen, A.; Julien, C. Virtual sensors: Abstracting data from physical sensors. In Proceedings of the 2006 International Symposium on a World of Wireless, Mobile and Multimedia Networks (WoWMoM’06), Buffalo-Niagara Falls, NY, USA, 26–29 June 2006; pp. 6–592. [Google Scholar]
- Alam, S.; Chowdhury, M.M.; Noll, J. Senaas: An event-driven sensor virtualization approach for internet of things cloud. In Proceedings of the 2010 IEEE International Conference on Networked Embedded Systems for Enterprise Applications, Suzhou, China, 25–26 November 2010; pp. 1–6. [Google Scholar]
- Aazam, M.; Khan, I.; Alsaffar, A.A.; Huh, E.N. Cloud of Things: Integrating Internet of Things and cloud computing and the issues involved. In Proceedings of the 2014 11th International Bhurban Conference on Applied Sciences & Technology (IBCAST), Islamabad, Pakistan, 14–18 January 2014; pp. 414–419. [Google Scholar]
- Madria, S.; Kumar, V.; Dalvi, R. Sensor Cloud: A Cloud of Virtual Sensors. IEEE Softw. 2014, 31, 70–77. [Google Scholar] [CrossRef]
- Dar, K.S.; Taherkordi, A.; Eliassen, F. Enhancing dependability of cloud-based IoT services through virtualization. In Proceedings of the 2016 IEEE First International Conference on Internet-of-Things Design and Implementation (IoTDI), Berlin, Germany, 4–8 April 2016; pp. 106–116. [Google Scholar]
- Alam, I.; Sharif, K.; Li, F.; Latif, Z.; Karim, M.M.; Nour, B.; Biswas, S.; Wang, Y. IoT virtualization: A survey of software definition & function virtualization techniques for internet of things. arXiv 2019, arXiv:1902.10910. [Google Scholar]
- Mell, P.; Grance, T. The NIST Definition of Cloud Computing; National Institute of Science and Technology: Berhampur, India, 2011. [Google Scholar]
- VirIoT Open-Source Code. Available online: https://github.com/fed4iot/VirIoT (accessed on 16 September 2021).
- Kubernetes Production-Grade Container Orchestration. Available online: https://kubernetes.io/ (accessed on 16 September 2021).
- Information Technology—Message Queuing Telemetry Transport (MQTT) v3.1.1; Technical Report ISO/IEC 20922:2016; International Organization for Standardization (ISO): Geneva, Switzerland, 2016.
- VirIoT-in-Action Video. Available online: https://fed4iot.org/wp-content/uploads/ftp/VirIoT-in-Action.mp4 (accessed on 16 September 2021).
- Gonzalez-Gil, P.; Skarmeta, A.F.; Martinez, J.A. The security framework of Fed4IoT. In Proceedings of the Workshop on Cloud Continuum Services for Smart IoT Systems, Virtual, 16–19 November 2020; pp. 1–6. [Google Scholar]
- Jeong, S.; Kim, S.; Kim, J. City Data Hub: Implementation of Standard-Based Smart City Data Platform for Interoperability. Sensors 2020, 20, 7000. [Google Scholar] [CrossRef] [PubMed]
- Fed4IoT Deliverable 5.4—Pilot Integration—Second Release. Available online: https://fed4iot.org/wp-content/uploads/2021/09/D5.4.pdf (accessed on 16 September 2021).
- Fed4IoT VirIoT Platform. Available online: https://fed4iot.org/index.php/viriot-overview/ (accessed on 16 September 2021).
- Mobius IoT Server Platform. Available online: http://developers.iotocean.org/archives/module/mobius (accessed on 16 September 2021).
- Orion Context Broker. Available online: https://github.com/telefonicaid/fiware-orion (accessed on 16 September 2021).
- Orion Context Broker (Linked Data Extensions). Available online: https://https://github.com/FIWARE/context.Orion-LD (accessed on 16 September 2021).
- Scorpio NGSI-LD Broker. Available online: https://github.com/ScorpioBroker/ScorpioBroker (accessed on 16 September 2021).
- Detti, A.; Funari, L.; Blefari-Melazzi, N. Sub-Linear Scalability of MQTT Clusters in Topic-Based Publish-Subscribe Applications. IEEE Trans. Netw. Serv. Manag. 2020, 17, 1954–1968. [Google Scholar] [CrossRef]
- VerneMQ. Clustering MQTT for High Availability and Scalability. Available online: https://vernemq.com (accessed on 16 September 2021).
Ref. | Platform | Main Idea | Comparison |
---|---|---|---|
[2] | IoT-IaaS | Sensor sharing | No actuation; IoT data moved to centralized database |
[16] | Stack4Things | Sensing and actuation as a service | No conversion to “neutral format”; hence, no cross-domain interoperability |
[3] | AWS Greengrass | Tight integration of IoT devices with the cloud | Does not provide IoT infrastructure itself or permit sharing of IoT infrastructure by multiple tenants |
[18] | Virtual Sensors | Abstracting data from physical sensors | No containerized approach; no actuation |
[19] | An event-driven sensor virtualization approach | Information obtained from IoT devices is enriched using semantic representations | No standards-based data model is used; custom concepts were defined |
[20] | Cloud of Things | Use of a middleware layer for storing and processing IoT data | No actuation; no virtualization of services; no conversion to “neutral format”; hence, no cross-domain interoperability |
[21] | Sensor Cloud | Sensors spread in a huge geographical area can connect together and be employed simultaneously by multiple users in a many-to-many configuration | No actuation; focus on integrating distributed Wireless Sensor Networks of homogeneous type |
[22] | Enhancing Dependability of Cloud-based IoT Services through Virtualization | Enhancing two desired service dependability features, reliability and availability, at the application layer | Narrow focus on dependability |
[11] | iTaaS | Solution based on micro-services to support data collection from IoT devices to a gateway on a real time basis and data sharing, storage and processing | No actuation; no support for bulk HTTP data streams |
[15] | Smart Virtualization for IoT | Builds distributed virtual systems that include the benefits of the cloud, fog and dew computing to provide services directly at the edge level | No conversion to “neutral format”; hence, no cross-domain interoperability |
[12] | Virtual Fog | A layered framework grounded on object virtualization, network function virtualization and service virtualization | No conversion to “neutral format”; hence, no cross-domain interoperability |
NGSI-LD | NGSIv2 | oneM2M |
---|---|---|
Entity | Entity | Top-level Container (cnt) |
Property/Relationship | Attribute | Sub Container |
Entity ID | Entity ID | Top-level Container resourceName (rn) |
Entity Type | Entity Type | Top-level Container Labels (lbl) |
Property/Relationship Name | Attribute Name | Sub Container resourceName |
Property/Relationship Block | Attribute block | Content Instance (cin) of the sub Container |
Topic | Description |
---|---|
vThing/<vThingID>/ {c_in,c_out,data_in,data_out} | Used by a ThingVisor to send (c_out) and receive (c_in) control messages related to the vThing (e.g., removal, change of configuration parameters, etc.) or to publish context data items of a vThing data_out or to receives actuation command data_in. |
TV/<TVID>/{c_in,c_out} | Used by a ThingVisor to send (c_out) or receive (c_in) control messages related to the whole ThingVisor (e.g., pause, remove, activate vThing, etc.). |
vSilo/<vSiloID>/{c_in,c_out,data_in} | Used by the vSilo controller to send (c_out) or receive (c_in) control messages related to the specific Virtual Silo (e.g., add vThing, remove vThing, etc.) or to receive (data_in) Virtual Silo specific data (e.g., actuation feedback, initial context synchronization, etc.). |
master/{c_in,c_out} | Used by the master-control to send (c_out) or receive (c_in) control messages related to the system configuration. |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 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
Detti, A.; Nakazato, H.; Martínez Navarro, J.A.; Tropea, G.; Funari, L.; Petrucci, L.; Sánchez Segado, J.A.; Kanai, K. VirIoT: A Cloud of Things That Offers IoT Infrastructures as a Service. Sensors 2021, 21, 6546. https://doi.org/10.3390/s21196546
Detti A, Nakazato H, Martínez Navarro JA, Tropea G, Funari L, Petrucci L, Sánchez Segado JA, Kanai K. VirIoT: A Cloud of Things That Offers IoT Infrastructures as a Service. Sensors. 2021; 21(19):6546. https://doi.org/10.3390/s21196546
Chicago/Turabian StyleDetti, Andrea, Hidenori Nakazato, Juan Antonio Martínez Navarro, Giuseppe Tropea, Ludovico Funari, Luca Petrucci, Juan Andrés Sánchez Segado, and Kenji Kanai. 2021. "VirIoT: A Cloud of Things That Offers IoT Infrastructures as a Service" Sensors 21, no. 19: 6546. https://doi.org/10.3390/s21196546
APA StyleDetti, A., Nakazato, H., Martínez Navarro, J. A., Tropea, G., Funari, L., Petrucci, L., Sánchez Segado, J. A., & Kanai, K. (2021). VirIoT: A Cloud of Things That Offers IoT Infrastructures as a Service. Sensors, 21(19), 6546. https://doi.org/10.3390/s21196546