VirIoT Overview

The VirIoT platform enables virtualization of IoT systems, formed by Virtual Things and IoT Brokers. VirIoT allows owners of IoT infrastructures to share them with many IoT application developers, which can simply rent the Virtual Things and the Brokers their applications need.

The architecture is built with a microservices design in mind: each component is an autonomous subsystem exposing network interfaces. The core of its development are cloud-oriented and cutting edge technologies, such as Docker and Kubernetes. VirIoT can be discovered and supported on GitHub.

VirIoT System Architecture

What can VirIoT do?

VirIoT can be useful for small stakeholders whose applications require large-scale IoT infrastructures, who are nevertheless unable to handle the infrastructure deployment. VirIoT can also be useful for owners of IoT infrastructures, in order to create isolated development environments to run experimental services, before final deployment in the production system.

VirIoT is an IoT virtualization platform, which re-uses cloud concepts but adapts them to the IoT world, providing virtual IoT systems, named Virtual Silos, to IoT developers, which are isolated environments formed by Virtual Things and standard IoT Brokers. Virtual Things appear to a tenant as dedicated sensors or actuators that expose their data through a configurable broker technology, including oneM2M, NGSIv2 and NGSI-LD.

VirIoT Main Components

  • The main element of the VirIoT control plane is the Master-Controller. It is in charge of managing the deployment of the elements of the entire platform after the requests of both administrators and tenants.
  • The run-time configurations of VirIoT are saved in the System Database.
  • For external communications, the platform exposes an HTTP REST interface for the administrator and the tenants, meanwhile, for the internal communications, it uses a topic-based Publish-Subscribe System based on MQTT.
  • The Virtual Silo isolated environments dedicated to a specific tenant for running his applications. They are IoT systems-as-a-service, storing and providing the access to data of rented Virtual Things by meas of a configurable IoT broker technology. Virtual Silo can be connected to upstream IoT cloud services for additional processing purposes.
  • The ThingVisor is an element that interoperates with real things (Root Data Domain) to create Virtual Things.
  • A Virtual Thing is an emulation of a real thing that produces (sensor) or consumes (actuator) IoT data .

For an in-depth analysis of the VirIoT platform, check the following references: