【目的】 【成果】 【VirIoT】 【コンソーシアム】 【Japan Home】
VirIoTはIoTシステムを仮想化するプラットフォームです。VirIoTは下の図のように、仮想IoTデバイスを実現するThingVisor、個々のIoTアプリケーション開発者にIoT開発環境を提供するVirtual Silo (vSilo)、それらの間の通信路であるMQTTクラスタ、その他コントローラから構成されています。VirIoTは、個別のシステムとして管理されるIoTシステムの資源を、多くのIoTアプリケーション開発者と共用できるようにします。また、IoTアプリケーション開発者は、他のアプリケーション開発者を意識すること無く、自分の慣れたoneM2m、NGSI、あるいはNGSI-LDの環境でIoTアプリケーションを開発することができます。
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の詳細については、以下の参考文献を参照ください。
- “Virtual IoT Systems: Boosting IoT Innovation by Decoupling Things Providers and Applications Developers”, Andrea Detti, Giuseppe Tropea, Giulio Rossi, Juan A. Martinez, Antonio F. Skarmeta, and Hidenori Nakazato, Proceedings of IEEE Global IoT Summit 2019, Aarhus, Denmark
- Fed4IoT 報告書
- VirIoT の動作映像