VirIoT Overview

The VirIoT Cloud of Things  enables virtualization of IoT Infrastructure, 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.

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 Distribution System based on MQTT for context data produced by Virtual Things, and a HTTP Distribution System for vdeo streams and large contents produced by Virtual Things.
  • The Virtual Silos are isolated environments dedicated to a specific tenant for running his applications. They are virtual IoT infrastructures offered as-a-service, storing and providing the access to data and service of rented Virtual Things by meas of a configurable IoT Broker technology and HTTP proxy. 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 the real thing has produced/consumed if it real.

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