Web of Things ( WoT ) は、さまざまなIoTプラットフォームやアプリケーション ドメイン間での相互運用性を確保するために、World Wide Web Consortium (W3C)によって開発された一連の標準です。[ 1 ]
WoTの4つの構成要素は、WoTアーキテクチャに準拠したシステムを実装する方法を提供する。
WoT ビルディングブロックの主要コンポーネントは、WoT の Thing Descriptionです。Thing Description は、仮想または物理的なデバイス (Thing) を定義し、JSONでシリアル化された意味論的語彙に基づく情報モデルを提供します。Thing Description は、 Web サイトのJSONページと同様に、Thing の主要なエントリ ポイントと考えることができます。Thing Description は、Thing のタイトル、ID、説明など、Thing に関する人間と機械の両方が読みやすく理解しやすいJSONを提供することでJSONを促進します。さらに、Thing Description は、Thing の利用可能なすべてのアクション、イベント、プロパティ、およびそれらにアクセスするために必要なセキュリティ メカニズムを概説します。Thing Description は相互運用性を確保するために非常に柔軟であり、標準機能に加えて、Context Extension Framework を介して機能を拡張するメカニズムを定義します。[ 2 ]
IoT は、単一のプロトコルが普遍的に適していないため、さまざまなプロトコルを使用してモノとやり取りします。[ 3 ] Web of Things の主な課題の 1 つは、プロトコルと相互作用メカニズムの多様性を管理することです。この課題は、バインディング テンプレートによって解決されます。WoT バインディング テンプレートは、さまざまな IoT ソリューションをサポートする通信メタデータ ブループリントのコレクションを提供します。バインディング テンプレートは一度作成すると、任意のモノの説明で再利用できます。[ 2 ]
WoT Scripting API は、Web of Things のオプションの構成要素です。Webブラウザが Web アプリケーション用の API を提供するのと同様に、ECMAScriptベースのアプリケーション API を提供することで、 IoTアプリケーション開発を簡素化します。汎用アプリケーションランタイムシステムを提供することで、Scripting API は IoT システムの異種混在の問題に対処します。また、デバイスロジックを実装するための再利用可能なスクリプトの作成を可能にし、アプリケーションモジュールの移植性を大幅に向上させます。[ 2 ]
WoT Scripting API の現在のリファレンス実装は、Eclipse Thingwebプロジェクトによって開発されたnode-wotと呼ばれるオープンソース プロジェクトです。[ 4 ]
WoTアーキテクチャでは、セキュリティはシステムのあらゆる側面に関係します。各WoT構成要素の仕様には、その特定の構成要素のセキュリティとプライバシーに関するいくつかの考慮事項が含まれています。セキュリティは、Thing Descriptionsの公開メタデータやScripting APIの設計における関心の分離などの特定の機能によってサポートされています。さらに、さまざまなセキュリティとプライバシー関連の懸念事項に対処するWoTセキュリティおよびプライバシーガイドラインと呼ばれる仕様があります。[ 2 ]
オブジェクトをウェブに接続する試みは、おそらく2000年頃に始まったと言えるでしょう。2002年には、査読付き論文でCooltownプロジェクトが発表されました。[ 5 ]このプロジェクトでは、URLを使用してアドレスを指定し、HTTPを使用して公共のスクリーンやプリンターなどの物理的なオブジェクトとやり取りする方法が検討されました。
この初期の研究に続いて、モノのインターネット(IoT)への関心の高まりと実装により、IoTのアプリケーション層に関するいくつかの疑問が生じ始めました。[ 6 ] [ 3 ] IoT分野の研究のほとんどはネットワークプロトコルに焦点を当てていましたが、IoTデバイスからのデータの統合について考える必要がありました。研究者や実務家は、さまざまなデバイスからのデータをWebアプリケーションが消費して新しいユースケースを作成できるシステムとしてIoTを構想し始めました。
IoT のアプリケーション レイヤーとしての Web のアイデアは 2007 年に現れ始めました。複数の研究者が並行してこれらの概念に取り組み始めました。その中で、Dominique GuinardとVlad Trifaは Web of Things オンライン コミュニティを立ち上げ、最初の WoT マニフェストを発表し、IoT のアプリケーション レイヤーを構築するために Web 標準 ( REST、軽量セマンティクスなど) を使用することを提唱しました。マニフェストは Sun SPOT プラットフォームでの実装とともに公開されました。同時に、W3CのDave Raggett はさまざまな W3C および IoT イベントで Web of Things について議論し始めました。Erik Wilde は、物理オブジェクトの感知と制御に REST を利用することを検討した自費出版の概念論文「Putting Things to REST」を発表しました。[ 7 ] Web of Things という用語の初期の言及は、Vlad Stirbu らの論文にも登場しました。[ 8 ]
2007年以降、Trifa、Guinard、Wilde、その他の研究者たちは、査読付き会議で自分たちのアイデアやコンセプトを発表しようと試みたが、インターネットやWebプロトコルは冗長で、実際のデバイスのコンテキストでは制限されているという理由で、ワイヤレスセンサーネットワークの研究コミュニティによって彼らの研究は却下された[ 9 ]。彼らはメモリと計算の使用、ワイヤレス帯域幅、または非常に短いデューティサイクルの最適化に焦点を当てることを好んだ。
しかし、WSNコミュニティの多くの研究者がこれらのアイデアをより真剣に検討し始めました。2009年初頭、David Culler、Jonathan Hui、Adam Dunkels、Yazar Doganなどの尊敬されるWSN研究者数名が、低電力センサーノードへのインターネットおよびWebプロトコルの使用を評価し、このアプローチの実現可能性を示しました。[ 10 ] [ 11 ]
これに続いて、GuinardとTrifaは、概念のエンドツーエンドの実装を発表し、2009年のワールドワイドウェブ会議で採択された査読付き出版物で発表しました。[ 12 ]この実装に基づいて、努力を統合し、2010年にGuinard、Trifa、およびWildeによってモノのためのRESTfulアーキテクチャが提案されました。[ 13 ] Guinard、Trifa、およびWildeは、2010年にWeb of Thingsに関する最初の国際ワークショップを開催し[ 14 ]、それ以来毎年開催されています。これらのワークショップは、Web of Thingsに関する最新の発見やアイデアを議論できる研究者や実務家の成長するコミュニティへと発展しました。
2011年、ETHチューリッヒでは、Web of Thingsに関する最初の博士論文2件が発表されました。Vlad Trifa氏による「参加型Web of Thingsの構成要素:デバイス、インフラストラクチャ、プログラミングフレームワーク」[ 15 ]と、 Dominique Guinard氏による「Web of Thingsアプリケーションアーキテクチャ - 現実世界をWebに統合する」[ 16 ]です。この研究を基に、Simon Mayer氏は博士論文でRESTの統一インターフェース、特にHATEOAS原則の重要性を強調しました。[ 17 ]
2014年、W3CはWeb of Thingsへの関心を高め、Dave Raggettの主導の下、SiemensおよびCOMPOSE欧州プロジェクトと共同でWeb of Thingsに関するW3Cワークショップを開催しました[14]。このワークショップは、 W3CにおけるWeb of Thingsインタレストグループの設立[ 18 ]とWeb Thing Modelの提出[ 19 ]につながりました。
同年、シーメンスはモノのインターネット(Web of Things)に特化した研究グループの設立を発表した。[ 20 ] 2014年10月、GoogleもPhysical Web GitHubプロジェクトを立ち上げ、これらのアイデアへの関心を示した。[ 21 ]
Web of Things Interest Group は、2017 年 2 月に Web of Things に必要な標準のセットを特定しました。[ 22 ]ワーキング グループは、WoT アーキテクチャ、[ 23 ] WoT シング記述、[ 24 ] WoT スクリプティング API、[ 25 ]および WoT バインディング テンプレート[ 26 ]と呼ばれる 4 つの成果物に取り組み始めました。