VirIoTの概要

【目的】 【成果】 【VirIoT】 【コンソーシアム】 【Japan Home】

VirIoTはIoTシステムを仮想化するプラットフォームです。VirIoTは下の図のように、仮想IoTデバイスを実現するThingVisor、個々のIoTアプリケーション開発者にIoT開発環境を提供するVirtual Silo (vSilo)、それらの間の通信路であるMQTTクラスタ、その他コントローラから構成されています。VirIoTは、個別のシステムとして管理されるIoTシステムの資源を、多くのIoTアプリケーション開発者と共用できるようにします。また、IoTアプリケーション開発者は、他のアプリケーション開発者を意識すること無く、自分の慣れたoneM2m、NGSI、あるいはNGSI-LDの環境でIoTアプリケーションを開発することができます。

VirIoTシステムの構成

Fed4IoTシステムは、マイクロサービスの概念に沿って構築されています。ThingVisorやvSiloといったマイクロサービスは、自律したシステムでありネットワークのインタフェースを公開することによって、他のマイクロサービスと連携しています。クラウド/エッジコンピュ−ティングの環境で運用されるようDockerやKubernetesの機構を活用している。VirIoTのソフトウェアはGitHubに公開されている。

VirIoTでできること

VirIoTは、大規模なIoTインフラを必要とするようなIoTアプリケーションを、その大規模なインフラを構築する資源をもたないサービス提供者が提供することを可能にします。また、IoTインフラの所有者が、試験的に新しいIoTサービスをテストするのにVirIoTを使うことも可能です。

VirIoTの主なコンポーネント

  • VirIoTの制御機構の主たるコンポーネントは Master-Controller です。Master-Controllerは、ThingVisorの起動、Virtual Siloの生成、Virtual Thingの設定を行います。
  • VirIoT の実行状態や設定は System Database に保存されます。
  • Master ControllerやVirtual SiloとVirIoT外との通信は HTTP REST インタフェースによって行います。一方、VirIoT内部の通信はMQTTを用いたトピックによる出版/購読モデルの通信を用います。
  • Virtual Silo は特定のIoTアプリケーション開発者のための隔離された開発/実行環境を提供します。Virtual Siloは言うなれば IoT systems-as-a-service を提供する環境であり、oneM2MやNGSIといった環境が規定するIoTブローカを経由して、利用する仮想IoTデバイス (Virtual Thing) のデータを利用可能にします。Virtual Silo を経由して、さらに上流のIoTクラウドによるさらなる情報処理も可能です。
  • ThingVisor は実IoTデバイスを仮想化し、仮想IoTデバイス (Virtual Thing) を作り出すコンポーネントです。
  • Virtual Thing は実IoTデバイスを仮想化した仮想IoTデバイスで、Virtual SiloにアクセスするIoTアプリケーションは、個々のVirtual Silo用に準備されたVirtual Thingにアクセスすることによって、最終的に実IoTデバイスにアクセスすることができます。

VirIoTの詳細については、以下の参考文献を参照ください。