(57)【要約】  本発明は、セントラルリポジトリを利用して、特定のＵＳＢ  Ｉ／Ｏスキーマと対応するＵＳＢ拡張を有するモノの記述（Ｔｈｉｎｇ  Ｄｅｓｃｒｉｐｔｉｏｎ、ＴＤ）ドキュメントを記憶して共有するシステム及び方法を提供する。ネットワークインタフェースモジュールは、ＵＳＢ  Ｉ／Ｏサプライヤー及び製品識別子により、セントラルリポジトリを照会し、特定のＵＳＢ  Ｉ／Ｏデバイスに対して、適正なモノの記述（ＴＤ）ドキュメントをダウンロードする。ネットワークインタフェースモジュールは、ＴＤドキュメントを解析し、適正なウェブ・オブ・シングズ（Ｗｅｂ  ｏｆ  Ｔｈｉｎｇ、  ＷｏＴ）のデータアーキテクチャーを確立し、このデータアーキテクチャーによって、ネットワークとＵＳＢ  Ｉ／Ｏデバイスとの間にインタフェースを確立し、ＵＳＢ  Ｉ／ＯデバイスをＩｏＴ  （Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇ）  デバイスにコンバートする。【選択図】図１４
2021533515.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢ  Ｉ／ＯデバイスをＩｏＴデバイスとして稼働させることができる方法であって、
ＵＳＢ  Ｉ／Ｏデバイスを用意すること、
ＵＳＢ信号ポートを有するネットワークインタフェースモジュールを用意することであって、前記ＵＳＢ  Ｉ／ＯデバイスがＵＳＢ信号ポートに挿入され、前記ネットワークインタフェースモジュールは、ネットワークとデータ通信するインタフェース、ＵＳＢホストコントローラー回路、前記ＵＳＢホストコントローラー回路とデータ通信するＵＳＢ通信インタフェース、及び、前記ＵＳＢ通信インタフェースとデータ通信して、前記ＵＳＢ信号ポートに挿入された前記ＵＳＢ  Ｉ／Ｏデバイスをモノインタラクションモデル（Ｔｈｉｎｇ  Ｉｎｔｅｒａｃｔｉｏｎ  Ｍｏｄｅｌ）で表現する論理回路をさらに含むこと、
インターネットとデータ通信するとともに、特定のＵＳＢ拡張を有する複数のモノの記述（Ｔｈｉｎｇ  Ｄｅｓｃｒｉｐｔｉｏｎ、ＴＤ）ドキュメントを記憶しているデータベースを含むセントラルリポジトリを用意することであって、モノの記述（ＴＤ）ドキュメントのそれぞれが特定のＵＳＢ  Ｉ／Ｏデバイスと対応していること、
前記ネットワークインタフェースモジュールにより、前記ネットワークインタフェースモジュールの前記ＵＳＢ信号ポートに挿入された前記ＵＳＢ  Ｉ／Ｏデバイスのサプライヤー及び製品識別子を取得すること、
前記ネットワークインタフェースモジュールにより、前記セントラルリポジトリの前記データベースに、取得したサプライヤー及び製品識別子と対応する特定のＵＳＢ拡張を有する前記モノの記述（ＴＤ）ドキュメントを照会すること、
前記ネットワークインタフェースモジュールにより、取得したサプライヤー及び製品識別子と対応するＵＳＢ拡張を有する前記モノの記述（ＴＤ）ドキュメントを取り出すこと、及び、
取り出したモノの記述（ＴＤ）ドキュメント及びＵＳＢホストコントローラーの論理回路を利用して、ＵＳＢ信号ポートに挿入された前記ＵＳＢ  Ｉ／Ｏデバイスと交換性を持つ通信パイプを構築すると共に、ＵＳＢ信号ポートに挿入された前記ＵＳＢ  Ｉ／Ｏデバイスのモノインタラクションモデルとマッチングする通信ソケットを構築すること、を含む
ことを特徴とする方法。
【請求項２】
サプライヤー及び製品識別子を取得することは、
前記ＵＳＢ  Ｉ／Ｏデバイスとのインタフェースを確立し、サプライヤー及び製品識別子を取得するために、前記ネットワークインタフェースモジュールにより、ＵＳＢ信号ポートに挿入された前記ＵＳＢ  Ｉ／Ｏデバイス上で列挙プロセスを実行することを含む
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記ネットワークインタフェースモジュールは、取得したサプライヤー及び製品識別子を照会用のキーワードとして使用し、前記セントラルリポジトリをアクセスして照会する
ことを特徴とする請求項１に記載の方法。
【請求項４】
取り出したモノの記述（ＴＤ）ドキュメント及びＵＳＢホストコントローラーの論理回路を利用するステップは、
前記通信パイプを構築するために、前記ネットワークインタフェースモジュールにより、取り出したモノの記述（ＴＤ）ドキュメントを解析することをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項５】
前記解析するステップは、
前記通信パイプを用いて通信ソケットを確立し、ＵＳＢ信号ポートに挿入された前記ＵＳＢ  Ｉ／Ｏデバイスが前記モノインタラクションモデルに基づいて稼働できるようにすることをさらに含む
ことを特徴とする請求項４に記載の方法。
【請求項６】
ＵＳＢサプライヤー及び製品識別子により、前記セントラルリポジトリのデータベースに記憶された、特定のＵＳＢ拡張を有する複数のモノの記述ドキュメントを索引する
ことを特徴とする請求項１に記載の方法。
【請求項７】
前記ネットワークインタフェースモジュールがインターネットを用いて前記セントラルリポジトリを照会すると共に前記特定のＵＳＢ拡張を有する前記特定のモノの記述ドキュメントを取り出すように許可するウェブサービス（ｗｅｂ  ｓｅｒｖｉｃｅ）を、前記セントラルリポジトリ上で提供することをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項８】
ＵＳＢ  Ｉ／ＯデバイスをＩｏＴデバイスとして稼働させることができる方法であって、
少なくとも一つのＵＳＢ  Ｉ／Ｏデバイスを用意すること、
ローカル通信ネットワークを用意すること、
インターネットとデータ通信する第一インタフェース、及び、前記ローカル通信ネットワークとデータ通信する第二インタフェースを含む、ＩｏＴネットワークゲートウェイを用意すること、
プロセッサー、前記ローカル通信ネットワークとデータ通信するインタフェース、及び、ＵＳＢ信号ポートを含む少なくとも一つの小型インタフェースモジュール（Ｔｈｉｎ  Ｉｎｔｅｒｆａｃｅ  Ｍｏｄｕｌｅ）を用意することであって、前記ＵＳＢ  Ｉ／ＯデバイスがＵＳＢ信号ポートに挿入され、小型インタフェースモジュールのプロセッサーは、ＵＳＢ信号ポートに挿入された前記ＵＳＢ  Ｉ／ＯデバイスのＵＳＢ列挙を実現するファームウェアを含み、前記小型インタフェースモジュールは、ＵＳＢホストコントローラー回路、ＵＳＢホストコントローラー回路とデータ通信するＵＳＢ通信インタフェース、及び、ＵＳＢ通信インタフェースとデータ通信して、ＵＳＢ信号ポートに挿入された前記ＵＳＢ  Ｉ／Ｏデバイスのモノインタラクションモデルを実現する論理回路を含むこと、
インターネットとデータ通信するとともに、特定のＵＳＢ拡張を有する複数のモノの記述（ＴＤ）ドキュメントを記憶しているデータベースを含むセントラルリポジトリを用意することであって、モノの記述（ＴＤ）ドキュメントのそれぞれが特定のＵＳＢ  Ｉ／Ｏデバイスと対応していること、
前記ＵＳＢ  Ｉ／Ｏデバイスのサプライヤー及び製品識別子を取得するために、前記小型インタフェースモジュールのプロセッサーにより、ＵＳＢ信号ポートに挿入された前記ＵＳＢ  Ｉ／Ｏデバイスの列挙プロセスを実行すること、
前記ＩｏＴネットワークゲートウェイにより、前記セントラルリポジトリのデータベースに、取得したサプライヤー及び製品識別子と対応する特定のＵＳＢ拡張を有するモノの記述（ＴＤ）ドキュメントをサーチすること、
前記ＩｏＴネットワークゲートウェイにより、取得したサプライヤー及び製品識別子と対応するＵＳＢ拡張を有する前記モノの記述（ＴＤ）ドキュメントを取り出すこと、及び、
取り出したモノの記述（ＴＤ）ドキュメント及びＵＳＢホストコントローラー回路の論理回路を利用して、（ｉ）ＵＳＢ信号ポートに挿入された前記ＵＳＢ  Ｉ／Ｏデバイスと交換性を持つ通信パイプを構築すると共に、（ｉｉ）ＵＳＢ信号ポートに挿入された前記ＵＳＢ  Ｉ／Ｏデバイスのモノインタラクションモデルとマッチングする通信ソケットを構築することを含む
ことを特徴とする方法。
【請求項９】
小型インタフェースモジュールのプロセッサーのそれぞれは、
ローカル通信ネットワーク上でＵＳＢデータ転送の通信プロトコルを実行して、前記ローカル通信ネットワーク上で、前記ＩｏＴネットワークゲートウェイを往復するＵＳＢデータを転送するための高信頼性且つ分散式のＵＳＢ通信パイプを提供するようにプログラミングされる
ことを特徴とする請求項８に記載の方法。
【請求項１０】
前記ＩｏＴネットワークゲートウェイのプロセッサーは、
前記ＩｏＴネットワークゲートウェイが前記小型インタフェースモジュールを発見できると共に前記ＩｏＴネットワークゲートウェイと前記小型インタフェースモジュールとの間にネットワーク接続を確立できるようにするファームウェアを含む
ことを特徴とする請求項８に記載の方法。
【請求項１１】
前記ＩｏＴネットワークゲートウェイのプロセッサーは、
前記ＩｏＴネットワークゲートウェイが、前記セントラルリポジトリに、前記小型インタフェースモジュールのＵＳＢ信号ポートに挿入された前記ＵＳＢ  Ｉ／Ｏデバイスのモノの記述ドキュメントを照会できるようにするファームウェアを含む
ことを特徴とする請求項８に記載の方法。
【請求項１２】
前記ＩｏＴネットワークゲートウェイのプロセッサーは、
前記ＩｏＴネットワークゲートウェイが、モノの記述（ＴＤ）ドキュメントを解析して、前記小型インタフェースモジュールのＵＳＢ信号ポートに挿入された前記ＵＳＢ  Ｉ／Ｏデバイスとの通信を確立できるようにするファームウェアを含む
ことを特徴とする請求項８に記載の方法。
【請求項１３】
記憶されたＵＳＢ拡張を有するモノの記述ドキュメントへのアクセスをドキュメントの購読者に提供するシステムであって、
ネットワークとデータ通信するとともに、複数の特定のＵＳＢ拡張を有するモノの記述（ＴＤ）ドキュメントを記憶しているデータベースを含むセントラルリポジトリであって、モノの記述（ＴＤ）ドキュメントのそれぞれが特定のＵＳＢ  Ｉ／Ｏデバイスと対応しているセントラルリポジトリと、
前記ネットワークとデータ通信するとともに、プロセッサー及び少なくとも一つのＵＳＢ  Ｉ／Ｏデバイスのサプライヤー及び製品識別子を記憶しているデータ記憶媒体を含むリモートドキュメント購読者インタフェースモジュールであって、前記プロセッサーはファームウェアを含み、前記ファームウェアが実行されると、（ｉ）サプライヤー及び製品識別子により、前記セントラルリポジトリの前記データベースに、前記サプライヤー及び製品識別子と対応する特定のＵＳＢ拡張を有するモノの記述（ＴＤ）ドキュメントを照会し、（ｉｉ）前記サプライヤー及び製品識別子と対応するＵＳＢ拡張を有する前記モノの記述（ＴＤ）ドキュメントを取り出す、リモートドキュメント購読者インタフェースモジュールと、を含む
ことを特徴とするシステム。
【請求項１４】
前記ネットワークはインターネットであり、前記リモートドキュメント購読者インタフェースモジュールは、ウェブサービス（ｗｅｂ  ｓｅｖｉｃｅ）とインタラクションすることにより、インターネット上で、前記セントラルリポジトリと前記リモートドキュメント購読者インタフェースモジュールとの間にデータ通信を行えるように配置される
ことを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記リモートドキュメント購読者インタフェースモジュールは、前記モノの記述（ＴＤ）ドキュメントを、少なくとも一つのデータ処理リソースへとルーティングするデータ処理回路を含む
ことを特徴とする請求項１３に記載のシステム。
【請求項１６】
取り出したモノの記述（ＴＤ）ドキュメントを、特定のアプリケーションに用いられる特定の所定フォーマットに変換するデータ処理リソースをさらに含む
ことを特徴とする請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セントラルリポジトリから取り出された対応するモノの記述（ＴＤ、Ｔｈｉｎｇ  Ｄｅｓｃｒｉｐｔｉｏｎ）ドキュメントを用いて、ＵＳＢデバイスをモノのインターネット（ＩｏＴ、Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）デバイスにコンバートするための方法及びシステムに関する。
【背景技術】
【０００２】
例えばスマートフォンやタブレットなどの携帯デバイスの普及に伴い、モノのインターネット（ＩｏＴ）に数多くの注目が集められている。これらの携帯デバイスは、データネットワーク（例えばインターネット）により、情報を表示し、異なる電子又は電気デバイスを遠隔制御するためのものである。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ユニバーサルシリアルバス（ＵＳＢ）は、パーソナルコンピューターとその周辺デバイスとの接続、通信、及び、給電用の電気配線、コネクター及びプロトコルについての業界標準である。例えば、ＵＳＢは、最初に、パーソナルコンピューター向けの周辺バスとして定義され、すべてのＩ／Ｏインタフェースを単一の規格バスとして統合してきた。ＵＳＢの規格は、段々に発展するのに伴い、例えば、パラレルプリンタポート、シリアルポート及びビデオポートなどの他の規格による接続に取って代わってきた。ＵＳＢは、最近、その更新済みのバージョンがＵＳＢ  ３．１であり、データスピード及び給電容量が大幅に向上するので、ＵＳＢデバイスが最大１０Ｇｂｐｓというスピードでデータを転送できると共に最大１００Ｗの電力を提供できることになる。ＵＳＢは、良好な定義とされるインタフェースの構造により、コンピューターの周辺デバイス以外に、数多くの電子デバイスに適用され得る。更新済みのＵＳＢ規格によると、例えば、家庭電化製品、音楽プレーヤーやビデオレコーダーなどに仕組み込まれているアプリケーションまでサポート範囲が拡大されている。これらのものは、ＵＳＢソケットを有し、ＵＳＢメモリをデータ記憶（例えば、音楽やビデオデータの記憶など）に利用できる。ＵＳＢは、物理的な接続以外に、ユニークな論理アーキテクチャー定義を有しているので、パーソナルコンピューター（ＰＣ）と周辺デバイスとの間の通信を体系的に設定でき、あらゆる種類の周辺機能まで拡張できるようになる。電力転送プロトコル（Ｐｏｗｅｒ  Ｄｅｌｉｖｅｒｙ、ＰＤ）が登場するにつれ、周辺デバイスの電力消費が１００Ｗにも及ぶことから、周辺デバイスの機能が拡張される。このような拡張された機能により、ＵＳＢデバイスは、ＰＣの周辺デバイスのみならず、如何なる種類のＩ／Ｏデバイスにも適用され得る。例えば、現在、ほぼ全ての携帯電話は、ＵＳＢ−Ｃを、電力と通信のインタフェースとして利用している。従って、電力とスピードに対する要求がＵＳＢインタフェースのサポート可能範囲に含まれていれば、ＵＳＢインタフェースを次世代のＩ／Ｏデバイス（例えば家庭電化製品を含む）の規格として選択できる。
【０００４】
図１を参照して、ＵＳＢデバイス１０１及びＵＳＢハブ１０３は、異なる種類のＵＳＢ周辺デバイスとインタフェーシングするために、元々、パーソナルコンピューター１０２及び対応するデバイスドライバープログラムだけと一緒に使われていた。通常のシステムでは、デバイスドライバープログラム２０４が必要となり（図３参照）、そうすると、パーソナルコンピューター（ＰＣ）のオペレーティングシステム２０１により、特定のＵＳＢハードウェアを駆動することが可能となる。各ＵＳＢデバイスは、ユニークなデバイスドライバープログラム２０４により、或いは、対応する定義類別のドライバープログラムにより、上位層のアプリケーション層２０６がＵＳＢ  Ｉ／Ｏを使用できる（図３参照）ようになる。当分野によく知られているように、Ｗｉｎｄｏｗｓ  ＯＳ  ２０１には、カーネルモード２０２及びユーザモード２０３が含まれている。カーネルモード２０２には、カーネルモードクライアントドライバープログラム、ＵＳＢホストコントローラー及びドライバープログラム２０５が含まれている。ユーザモード２０３には、ユーザモードクライアントドライバープログラム、Ｗｉｎｄｏｗｓ  ＡＰＩ及び上位層のアプリケーション層２０６が含まれている。ＵＳＢデバイスドライバープログラム１０４は、ローカルから、オペレーティングシステムにロードされ、或いは、セントラルリポジトリ１０５（図２参照）からリモートでオペレーティングシステムにロードされることができる。当該セントラルリポジトリ１０５は、サプライヤーのウェブサイトであってもよい。ＵＳＢ  Ｉ／Ｏデバイスは、これらの特定のドライバープログラムに基づいて、ハードウェア及びオペレーティングシステムにおいて稼働する必要がある。ＵＳＢデバイスは、主に、ＰＣアプリケーションのために確立されたものであり、既存の定義済みデバイスの類別は、ＰＣアプリケーション用に限定されている。ＩｏＴアプリケーションにＵＳＢの接続技術を採用すると、ＵＳＢ  Ｉ／Ｏデバイスのアプリケーションの多様性が広げられる。既存の定義済みデバイス類別は、ＩｏＴアプリケーションをサポートできない。従って、新たなデバイスドライバープログラムは、新たなＵＳＢアプリケーションにとって必要なものである。デバイスドライバープログラムに対する元々の設計は、例えば、Ｗｉｎｄｏｗｓ、Ｌｉｎｕｘ（登録商標）又は他の組み込みＯＳといったペレーティングシステム（ＯＳ）に大きく依存されてしまう。もう一つの欠点は、デバイスドライバープログラムがＯＳの特定のバージョンにも依存しているということである。このことから、ＵＳＢ  Ｉ／Ｏデバイスのメーカーによるデバイスドライバープログラムの開発や保守は、複雑となってしまう。図１は、直接に、又は、ＵＳＢハブ１０３を介して、ＵＳＢ周辺デバイス１０１とパーソナルコンピューター（ＰＣ）システム１０２との間に形成された標準接続を示している。図１に示されている配置は、システムを中心とする通常のＩ／Ｏ配置であり、そのうち、含まれているＩ／Ｏデバイスがいずれも、パーソナルコンピューターのＣＰＵシステム及びそのオペレーティングシステム（ＯＳ）の組み合わせに接続されると共に、この組み合わせにより制���される。すべてのＩ／Ｏ操作は、上位層のアプリケーション層２０６に基づいて確立される（図３参照）。
【０００５】
特に、通常のシステムでは、ＵＳＢホストコントローラーは、列挙プロセスにより、すべてのＵＳＢデバイスの記述子を識別する。そして、オペレーティングシステム（ＯＳ）は、特定のＵＳＢデバイスと対応するＵＳＢデバイスドライバープログラムをロードし、或いは標準類別のドライバープログラムを使用することにより、ＵＳＢホストコントローラーを介して、対応するポートと通信パイプを確立する。ＵＳＢデバイスドライバープログラムは、オペレーティングシステム（ＯＳ）の下で稼働して、下位層に位置するＵＳＢシステムのソフトウェアを介して、接続されているＵＳＢデバイスと特定の通信パイプを確立する。しかしながら、当該ＵＳＢデバイスドライバープログラムは、オペレーティングシステム（ＯＳ）に依存しているので、ＯＳを中心とするものである。その結果、ＵＳＢデバイスのメーカーは、使用されているＯＳの規格に準じなければならない。ＯＳに依存しているＵＳＢデバイスドライバープログラムの主な欠点は、ＵＳＢデバイスのユーザーがプラットフォームのハードウェア及びソフトウェアを選択する際の自由度が低く、使用されているＯＳの規格に準ずるしかない点である。
【０００６】
ＵＳＢ  Ｉ／Ｏデバイスをネットワークシステムとインタフェーシングするには、当該ＵＳＢ  Ｉ／Ｏデバイスのために特定のドライバープログラムを確立することがなく、当該ＵＳＢ  Ｉ／Ｏデバイスを変更することもなく、当該ＵＳＢ  Ｉ／ＯデバイスをＩｏＴデバイスとして機能させることができる、新しく改良された方法が望ましい。
【課題を解決するための手段】
【０００７】
本発明は、セントラルリポジトリを利用して、特定のＵＳＢ  Ｉ／Ｏスキーマと対応するＵＳＢ拡張を有するモノの記述（Ｔｈｉｎｇ  Ｄｅｓｃｒｉｐｔｉｏｎ、ＴＤ）ドキュメントを記憶して共有するシステム及び方法を提供する。ネットワークインタフェースモジュールは、ＵＳＢ  Ｉ／Ｏサプライヤー及び製品識別子により、セントラルリポジトリを照会し、特定のＵＳＢ  Ｉ／Ｏデバイスに対して、対応するモノの記述（ＴＤ）ドキュメントをダウンロードする。ネットワークインタフェースモジュールは、ＴＤドキュメントを解析し、適正なウェブ・オブ・シングズ（ＷｏＴ、Ｗｅｂ  ｏｆ  Ｔｈｉｎｇｓ）データアーキテクチャーを確立し、このデータアーキテクチャーによって、ネットワークとＵＳＢ  Ｉ／Ｏデバイスとの間にインタフェースを確立し、ＵＳＢ  Ｉ／ＯデバイスをＩｏＴデバイスにコンバートする。該当態様では、ネットワークインタフェースモジュールには、図４に示されるように、モノの記述ドキュメントに従ってＵＳＢ  Ｉ／Ｏを配置し、組み合わせられたシステムをＩｏＴにコンバートする実行プログラムが記憶されている。
【０００８】
従って、いくつかの実施例では、本発明は、あらゆるＵＳＢ  Ｉ／ＯデバイスをＩｏＴデバイスとして稼働させることができるようにするシステム及び方法を提供する。セントラルリポジトリは、モノの記述（ＴＤ）ドキュメントを配置して記憶するためのものであり、当該ドキュメントは、ＵＳＢ  Ｉ／Ｏデバイスにおける特定のＵＳＢ機能と対応するＷｏＴデータモデルを定義している。ネットワークインタフェースモジュールは、列挙プロセスを実行して、ＵＳＢ  Ｉ／Ｏデバイスと対応するユニークなサプライヤーＩＤ（識別子）又はＶＩＤ、及び、製品ＩＤ（識別子）又はＰＩＤを取得する。ユニークなサプライヤーＩＤ及び製品ＩＤ識別子符は、インターネットを経由してセントラルリポジトリから対応するモノの記述（ＴＤ）ドキュメントを探して取り出す時に、照会用のキーワードとして用いられる。ネットワークインタフェースモジュールは、取り出したモノの記述（ＴＤ）ドキュメントにより、特定のＵＳＢ  Ｉ／Ｏデバイスと交換性を持つデータ通信を構築して、ＵＳＢ  Ｉ／ＯデバイスがＩｏＴデバイスとしてネットワークとインタフェーシングして通信できるようにする。
【発明の効果】
【０００９】
本発明は、以下の新たな特徴、メリット及び利点がある。
ａ）ＵＳＢ  Ｉ／Ｏデバイスは、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ、Ａｐｐｌｅ  Ｍａｃ  ＯＳ、Ｃｈｒｏｍｅ  ＯＳ或いはＬｉｎｕｘオペレーティングシステムといった如何なる特定のオペレーティングシステム（ＯＳ）にも依存しなくなる。
ｂ）ＯＳを中心とするプラットフォームではなく、Ｉ／Ｏを中心とするプラットフォームに依存する。
ｃ）インタフェースハードウェアプラットフォームのリソース需要が低減される。
ｄ）特定のＵＳＢ  Ｉ／Ｏデバイスに対して、デバイスドライバープログラムを実現する必要がなくなる。
ｅ）デバイスドライバープログラムを開発したり保守したりする必要性が大幅に削減される。
ｆ）ＵＳＢデバイスのメーカーは、ＵＳＢデバイスの機能を定義する際に、より大きい主導権があり、しかも、このような定義がモノの記述（ＴＤ）ドキュメントの一部になる。
ｇ）特定のＵＳＢ  Ｉ／Ｏデバイスに対して一つだけのモノの記述（ＴＤ）ドキュメントを構築することが許可され、構築したモノの記述（ＴＤ）ドキュメントが集中的に記憶され、そのうち、集中的に記憶したモノの記述（ＴＤ）ドキュメントが、永遠に如何なるプラットフォームにも使用され得る。
ｈ）プラグアンドプレイという機能を持つ。
【００１０】
以下の説明がＵＳＢ  Ｉ／Ｏデバイスに対するものであるが、本発明がＵＳＢ  Ｉ／Ｏアーキテクチャー以外のＩ／Ｏアーキテクチャー（例えば、ＰＣＩ、サンダーボルトなど）を有するデバイスにも適用され、或いは、当該デバイスと一緒に適用されると理解され得るであろう。
【００１１】
当該概要の部分には、大まかに本発明のいくつかの特徴及び利点を記載したが、本明細書の図面、明細書及び請求の範囲に基づいて、他の特徴、利点及び実施例がここで提示され、或いは、当業者にとって明らかである。従って、理解すべきところは、本発明の範囲は、同概要の部分に開示されている特定の実施例に限定されない。
【図面の簡単な説明】
【００１２】
【図１】システムを中心とする通常のＵＳＢ入力／出力の配置を示すブロック図であり、そのうち、ＵＳＢ周辺デバイスが、直接に、又は、ＵＳＢハブを介してパーソナルコンピューター（ＰＣ）のシステムに接続される。
【図２】ＵＳＢデバイスドライバープログラムが、従来技術に従ってローカルから又はデータベースからリモートで、オペレーティングシステムにロードされるブロック図である。
【図３】システムを中心とする通常のＵＳＢ  Ｉ／Ｏ配置のオペレーティングシステム（ＯＳ）を示すブロック図である。
【図４】本発明の実施例に係るネットワークインタフェースモジュールを示すブロック図であり、当該ネットワークインタフェースモジュールがＵＳＢ  Ｉ／Ｏデバイスをネットワークとインタフェーシングして、ＵＳＢ  Ｉ／ＯデバイスがＩｏＴデバイスとして稼働できるようにする。
【図５】本発明に係るＩ／Ｏを中心とするアーキテクチャーに基づいて入力／出力デバイスに接続されるモノのインターネット（ＩｏＴ）ネットワークを示す図である。
【図６】物理のＩｏＴデバイスにおけるロジック又はプログラムによる記述をモデリングするためのウェブ・オブ・シングズ（ＷｏＴ）、及び、モノの記述（ＴＤ）ドキュメントの図である。
【図７】特定のＵＳＢデバイスの機能、特性、インタフェース、通信、及び、データフォーマットのデバイス記述子を示す各層の図である。
【図８】データが如何にＵＳＢホストコントローラーからＵＳＢ  Ｉ／Ｏデバイスに流れるかを提示するためのＵＳＢ通信モデルを示す図である。
【図９】ＵＳＢ記述ドキュメントを解析して、ＵＳＢ  Ｉ／ＯデバイスとインタフェーシングするためのＵＳＢホストコントローラーを配置するＭＣＵを示すブロック図である。
【図１０】ハードウェアロジックに、対応する通信プロセス及びデータ構成を理解・実施させて、ＵＳＢ  Ｉ／Ｏデバイス操作を駆動するためのＵＳＢデバイス記述モデルを示す図である。
【図１１】ＵＳＢ通信ソケット及び通信パイプに関するブロック図である。
【図１２】本発明の実施例のネットワークインタフェースモジュールに基づく一般的なハードウェア配置を示すブロック図である。
【図１３】セントラルリポジトリから取得された特定のＵＳＢ  Ｉ／Ｏデバイス記述拡張を有するモノの記述（ＴＤ）ドキュメントとソフトウェア抽象化レイヤー構造との関連、及び、ネットワークインタフェースモジュール及びＵＳＢ  Ｉ／Ｏデバイスの組み合わせを、ＩｏＴデバイスに必要な対応するＷｏＴデータアーキテクチャーにコンバートするブロック図である。
【図１４】ＵＳＢ  Ｉ／ＯデバイスからＵＳＢ  ＩｏＴデバイスへのコンバートのブロック図であり、そのうち、セントラルリポジトリから特定のＵＳＢ拡張を有するモノの記述（ＴＤ）ドキュメントを取得し、ネットワークインタフェースモジュールのロジックを配置して、ＵＳＢ  Ｉ／ＯデバイスをネットワークとインタフェーシングしてＩｏＴデバイスにコンバートできるようにする。
【図１５】ネットワークインタフェースモジュールにモノの記述（ＴＤ）ドキュメントをフィードバックして、ＵＳＢ  Ｉ／Ｏデバイスを例えばインターネットといったネットワークとデータ通信するＩｏＴデバイスにコンバートできるようにする方法を実行するためのフローチャートである。
【図１６】本発明の他の実施例のブロック図であり、当該実施例は、ネットワークゲートウェイと小型インタフェース（Ｔｈｉｎ  Ｉｎｔｅｒｆａｃｅ）モジュールのクラスターとを、図４に示すネットワークインタフェースモジュールに代えるものである。
【図１７】本発明の他の例示的実施例のブロック図であり、当該実施例は、図１６に示す実施例に基づいて電気配線通信（ＰＬＣ）ネットワークを用いたものであり、そのうち、図１６に示される小型インタフェースモジュール及びネットワークゲートウェイがそれぞれＰＬＣ  ＵＳＢ電源アダプタ及びＰＬＣネットワークゲートウェイにより実現される。
【図１８】本発明の更に他の実施例を示す図であり、そのうち、ドキュメント購読者は、ネットワークとインタフェーシングしてセントラルリポジトリからＵＳＢ拡張を有するモノの記述（ＴＤ）ドキュメントを取得してから、取得したモノの記述（ＴＤ）ドキュメントを、ローカルに展開するための他のアプリケーションプログラムのフォーマットに変換する。
【図１９】本発明を利用したＵＳＢアクアテラリウム制御センターのブロック図である。
【図２０】図１９に示されるＵＳＢアクアテラリウム制御センターと同等するモノモデルイントラクションのテーブルである。
【図２１】図１９に示されるＵＳＢアクアテラリウム制御センターのＵＳＢエンドポイントの対応性を示す図である。
【図２２】図１９に示されるＵＳＢアクアテラリウム制御センターのモノの記述（ＴＤ）ドキュメントにおけるイントラクション、通信ソケット及びＵＳＢ通信パイプの相互関係を示す図である。
【発明を実施するための形態】
【００１３】
本文に言及する、「含み」、「含まれる」、「有する」などの用語又はあらゆる変形した用語とは、非排他的な包含という意味を指す。例えば、一連の要素を含む過程、方法、もの又は装置は、これらの要素だけに限定されるわけではなく、明示的に挙げられていない要素や、このような過程、方法、もの又は装置に固有の他の要素を含んでもよい。
【００１４】
本文に言及する「 ＵＳＢ」とは、「ユニバーサルシリアルバス」を意味する。
本文に言及する「 Ｉ／Ｏ」とは、「 入力／出力」を意味する。
本文に言及する「 ＮＩＭ」とは、「ネットワークインタフェースモジュール 」を意味する。
本文に言及する「 ＩｏＴ 」とは、「 モノのインターネット」を意味する。
本文に言及する「 ＷｏＴ」とは、「 ウェブ・オブ・シングズ」を意味する。
本文に言及する「 ＴＤ 」とは、「 モノの記述」を意味する。
本文に言及する「 ＯＳ 」とは、「 オペレーティングシステム」を意味する。
【００１５】
本文に言及する、「ネットワーク」とは、互いに通信する複数のデバイスを指すべきであり、パーソナルエリアネットワーク（ＰＡＮ）、無線パーソナルエリアネットワーク（ＷＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、無線ローカルエリアネットワーク（ＷＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ワイドエリアネットワーク（ＷＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、携帯電話ネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク（ＶＰＮ）、或いはそれらのうち２つ又はより多くのネットワークの組み合わせを含むが、それらに限定されない。「ネットワーク」には、インターネット又はワールドワイドウェブを用いて互いに通信を行う複数のデバイスが含まれてもよい。
【００１６】
本発明は、ＵＳＢ  Ｉ／Ｏデバイスのために特定のデバイスドライバープログラムを確立することがなく、ＵＳＢ  Ｉ／Ｏデバイスに対して如何なる変更をすることもなく、ＵＳＢ  Ｉ／ＯデバイスをＩｏＴデバイスとして稼働させることができるシステム及び方法を提供する。数多くのスマートデバイスは、ＵＳＢ  Ｉ／Ｏをデータ通信、データ転送、及び、ＤＣ電源から電圧及び電流を受けるインタフェースとして用いている。外部のデバイスは、ネットワークを介してＵＳＢ  Ｉ／Ｏデバイスを制御することができる。図４及び図５を参照して、ＵＳＢ  Ｉ／Ｏ  １０１は、ネットワークインタフェースモジュール３０１を経由してネットワークとインタフェーシングし、ＵＳＢ  Ｉ／Ｏデバイスがネットワークにより通信を行えるようにする。ネットワークインタフェースモジュール及びＵＳＢ  Ｉ／Ｏデバイスの組み合わせは、モノのインターネット（ＩｏＴ）の環境において稼働できる「モノ」３０２とされる。以下の明細書では、ネットワークインタフェースモジュールを詳しく記載する。モノのインターネット（ＩｏＴ）は、接続されているＩ／Ｏデバイスのネットワークとして定義され、これらのＩ／Ｏデバイスは、既存のネットワーク（例えばインターネット）のインフラにおいて、互いに通信を行うことができる。このようなネットワークでは、接続されているモノ３０２、即ちＩ／Ｏデバイスが焦点となる。従って、このようなネットワークは、Ｉ／Ｏを中心とするプラットフォーム（図５参照）に基づくものである。当該ネットワーク４０１では、モノ３０２がネットワークに接続されて、ネットワークに分布される。しかしながら、モノ３０２は、如何なるホストシステムにも制約されていない。各モノ３０２は、例えばエアコンといった単一のＩ／Ｏデバイスであってもよく、或いは、ＵＳＢ  Ｉ／Ｏデバイス及びネットワークインタフェースモジュール３０１（図４参照）の組み合わせであってもよい。制御端末４０２は、例えば、リモートコントローラー、スマートフォン又はスマートスピーカーの制御デバイスであってもよい。制御ゲートウェイ４０３は、接続されているＩ／Ｏデバイスのネットワークをインターネットに接続できるようにし、或いは、ローカルに接続されているモノ３０２のための中央管理手段として機能する。
【００１７】
図６を参照して、Ｗ３Ｃ組織は、様々なＩｏＴプラットフォーム及びアプリケーション分野間でのデータ通信を実行できるように、ウェブ・オブ・シングズ（ＷｏＴ）アーキテクチャーを提出してきた。Ｗ３Ｃによるモノの記述（ＴＤ）は、モノのメタデータ及びモノのアクセスポイントのインタフェースを記述するためのデータモデルを提供している。図６は、Ｉ／Ｏ及びネットワーク接続性を有するデバイスとしての「モノ」３０２の物理的表現を示している。その論理的表現は、モノ３０２の機能を記述するモノの記述（ＴＤ）モデル５０１により示される。モノ３０２は、ＷｏＴインタフェース５０２を介してインターネットにアクセスする。モノの記述（ＴＤ）ドキュメントは、「属性」（Ｐｒｏｐｅｒｔｙ）、「動作」（Ａｃｔｉｏｎ）及び「イベント」（Ｅｖｅｎｔ）といった既定のインタラクションパターンを持つ正式なＴＤインタラクションモデルに基づいて確立される。これらのインタラクションパターンは、大部分のＩｏＴプラットフォームにより提供されているネットワーク向けのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）をカーバするのに十分である。「属性」というインタラクションパターンは、静的又は動的な、読み取り可能及び／又は書き込み可能データを提供する。「動作」というインタラクションパターンは、モノにおいてある程度の時間を掛けて完成する変化や過程（つまり、「属性」の書き込みのように、すぐに動作を適用できない）をトリガする。通常、実行中の動作は、モノが動作の呼び出しを受ける時に形成されるタスクリソースとしてモデリングされる。「イベント」というインタラクションパターンは、イベントのメカニズムが一定の条件でモノにより通知される。モノの記述データモデルは、例えば、音声入力モード、統一なユーザーインタフェースやＵＩ拡張などの、他の類型のデータモード又はデータ構成をモデリングすることに利用可能である。
【００１８】
特定のＵＳＢ  Ｉ／Ｏデバイスの機能、特性、インタフェース、通信及びデータフォーマットを規定するためには、ＵＳＢ  Ｉ／Ｏデバイスには、一定の階層とされる記述子が配置されている。図７は、ＵＳＢデバイスにおける典型的な層分け記述モデルを示す。「デバイス記述子」６０３は、階層の頂部に位置すると共に、例えば、サプライヤーＩＤ（識別子）又は「ＶＩＤ」、及び、製品ＩＤ（識別子）又は「ＰＩＤ」などの、ＵＳＢ  Ｉ／Ｏデバイスに関する情報を含む。「配置記述子」６０４は、階層における１つ下の階級に位置すると共に、ＵＳＢ  Ｉ／Ｏデバイスの付加的な特性を記述する。配置記述子は、例えばインタフェースの数量及び最大電力といった当該ＵＳＢ  Ｉ／Ｏデバイスの配置情報を含む。次に、インタフェースの類別及び使用中のエンドポイントの数を記述する「インタフェース記述子」６０５が複数存在している。「エンドポイント」とは、通信ストリームの出入ポートである。
【００１９】
「エンドポイント記述子」６０６は、例えば、方向（即、入力／出力）、転送類型、ポーリング間隔、同期、使用類型属性、及び、通信パケットの大きさなどの各エンドポイントの情報を含む。ＵＳＢホストコントローラーは、当該情報を用いて、当該エンドポイントとの通信に必要な通信パイプを構築する。「類別特定記述子」も、階層の底部に位置する。「類別特定記述子」６０７は、当該特定類別のＵＳＢ  Ｉ／Ｏデバイスが使用するデータ構造に関する付加的な類別特定情報を定義している。
【００２０】
図８は、ＵＳＢ通信モデルを示す。現在にＵＳＢデバイス記述子の情報を有するＵＳＢホストコントローラー６０２は、既存のエンドポイントＥＰ０、ＥＰ１、……ＥＰＮのそれぞれへの論理通信パイプ６０８を介して、ＵＳＢ  Ｉ／Ｏデバイス１０１と通信するように配置される。既定の制御パイプ６１１は、ＵＳＢ  Ｉ／Ｏデバイスのエンドポイントゼロ６０９にアクセスすることにより、ＵＳＢ配置情報を設置して取り出す。しかも、ＵＳＢホストコントローラー６０２は、当該エンドポイント記述子６０６からの関連するエンドポイントの属性を用いて、異なるインタフェース（例えば、インタフェース１及びインタフェース２）における異なるエンドポイント６１０と、他のデータ通信パイプ６０８を確立する。ＵＳＢ通信ソケット６１２は、上位層のアプリケーションがＵＳＢ通信パイプを介してデータパケット６１３を駆動してＵＳＢデバイスとの間で往復させることができるようにするソフトウェアインタフェースである。従って、図９に示されるように、ＵＳＢ記述ドキュメント（ＵＤＤ）７０２を用いて、ＵＳＢ  Ｉ／Ｏデバイス１０１の、ＵＳＢホストコントローラー６０２を介したインタフェーシングを十分に記述することができる。ＵＤＤを有するマイクロコントローラーユニット（ＭＣＵ）６０１は、ＵＳＢホストコントローラー６０２により、通信パイプを介して通信経路及びデータ構造を確立して、ＵＳＢ  Ｉ／Ｏデバイス１０１を制御することができる。本発明は、オペレーティングシステム（ＯＳ）から独立しＩ／Ｏを中心とするプラットフォームを利用することにより、ＵＳＢデバイスドライバープログラムを用いてＯＳを中心とする通常のプラットフォームと関連する問題を解決すると共に、ＵＳＢ記述ドキュメント（ＵＤＤ）７０２を利用することにより、ＵＳＢ  Ｉ／Ｏデバイスがインタフェースハードウェアとインタフェーシングしてその下で稼働できるようにするＵＳＢアクセスメカニズムを構築する。
【００２１】
図１０は、ＵＳＢデバイス記述モデルＵＤＤ  ７０２の詳しいブロック図である。当該モデルは、モノの記述と類似する概念に基づくものであり、ＪＳＯＮ−ＬＤを使用してＵＳＢ  Ｉ／Ｏデバイスの構築、インタフェース及びデータ構造を記述する。基本的には、ＵＤＤ  ７０２は、ＵＳＢ通信ソケット７０３、ＵＳＢ通信パイプ７０４、及び、ＵＳＢデバイス設定ファイル７０５の三つの仮想的な層からなる。ＵＳＢデバイス設定ファイル７０５は、ＵＳＢ列挙プロセスにおいてエンドポイントゼロを有する制御パイプにより取り出されたＵＳＢデバイス記述子の内容と同等する基本ＵＳＢデバイス情報を有する。ＵＳＢデバイス設定ファイル７０５は、例えば、以下のようなＵＳＢ  Ｉ／Ｏデバイスの情報を含む。
ａ）デバイス類別、サブ類別、プロトコル、
ｂ）サプライヤーＩＤ、製品ＩＤ、リリース、
ｃ）メーカーの名称、モデル、シリアル番号、及び、
ｄ）最大定格電力。
【００２２】
ＵＳＢデバイス設定ファイル７０５は、エンドポイント番号、方向、パケットの大きさ、転送類型と同期類型と使用類型の転送属性、及び、ＵＳＢ−ＩＦに定義されている他の情報を含む、エンドポイントの詳細をさらに含む。
【００２３】
ＵＳＢ通信パイプ記述７０４は、特定のＵＳＢデバイスのエンドポイントと通信するために、ＵＳＢホストコントローラーの設置に関する抽象情報を定義している。インタフェースボードのＭＣＵ  ６０１は、ホストコントローラーを初期化させ、特定の類型のデータ転送（データストリーム又は情報パイプ、ｓｔｒｅａｍ  ｏｒ  ｍｅｓｓａｇｅ  ｐｉｐｅｓ）において、ホストコントローラーと特定のＵＳＢデバイスとの間にデータ転送を行うための対応するバッファエリアを確立する。また、ＵＳＢデバイスのエンドポイント用のデータバッファには、特定情報と関連するデータが存在する。当該情報は、当該デバイスＩ／Ｏ機能に特有の類別特定データモードからのものである。例えば、多領域制御ユニットを有する照明コントローラーボックスは、１６ビットとされるメタデータで定義でき、データの各ビットが一つの領域と対応する。従って、当該データのデータ類型は、ＪＳＯＮの定義における標準でない類型であり、例えば、ハードウェアによる実現によく見られる、ビット（ｂｉｔ）、バイト（ｂｙｔｅ）又はＢＣＤ（二進法エンコードによる十進法）類型のデータである。ＵＳＢ  Ｉ／Ｏスキーマでは、ＵＤＤがサポートされるように、こられのデータ類型が全て定義されている。また、特定のＵＳＢデバイスにより使用される特定のデータ構造も宣言されている。当該通信パイプ記述情報は、データの変換及び転送のために、上位層の通信ソケットに更に用いられる。
【００２４】
ＵＳＢ通信ソケット６１２は、上位層アプリケーションと、ＵＳＢ通信パイプ６０８により表される下位層ＵＳＢホストコントローラーデータ転送との間でインタフェーシングするためのものである。図１１に示すように、ＵＳＢ通信ソケットは、ＵＳＢ通信パイプ６０８を介してＵＳＢデバイスとデータ転送するためのＩ／Ｏ要求パケット（ＩＲＰ）６１３を生成する。通常、通信ソケットに「読み取り」、「書き込み」及び「監視」といった機能が存在しており、それらの機能は、入力パイプから、データを読み取って出力パイプに書き込むためのものである。読み取り／書き込みの機能により、さらに、入力／出力パイプの原始データとＵＳＢ記述ドキュメントに用いられる高級のデータ類型との間で、データの抽出・変換を実行する。監視機能は、ＵＳＢアーキテクチャーがホストに基づいて制御されるＩ／Ｏバスであるため、ＵＳＢ操作に特有の特殊的な機能である。ホストコントローラーは、全てのＩ／Ｏアクティビティを担当すると共に、デバイスが要求だけに従ってデータをホストに送信する。全ての操作は、いずれも、ＵＳＢホストコントローラーにより起動され、ＵＳＢデバイスは、通信パイプだけを介して要求に従ってＩ／Ｏの更新状態を応答する。監視操作は、どの状態情報を検査するかのを規定するとともに、リフレッシュレートも宣言することにより、ＭＣＵが読み取り操作を開始し、通信パイプを経由してホストコントローラーにより定期的に更新データを検出できるようにする。変化があるたびに、それに応じて、監視操作により、フィードバックを提供する。監視機能は、起動すると、バックグラウンドで稼働される。
【００２５】
図１２及び図１３は、以上の明細書に記載されたＵＳＢ操作モデルのネットワークインタフェースモジュール（ＮＩＭ）３０１による例示的なハードウェアを示すブロック図である。図１２に示すように、ネットワークインタフェースモジュール（ＮＩＭ）３０１は、マイクロコントローラーユニット（ＭＣＵ）６０１、及び、ＲＡＭ及びＲＯＭを含む。ＮＩＭ  ３０１は、ＬＡＮ又はインターネットへの接続を許可する、通常イーサネット又はＷｉＦＩ接続とされるネットワークインタフェースコントローラー６１４を含む。ＵＳＢホストコントローラー６０２は、ＮＩＭ  ３０１を外部のＵＳＢ  Ｉ／Ｏデバイスに接続可能にする。図１３を参照して、ＮＩＭ  ３０１は、ＵＳＢ  Ｉ／Ｏデバイス１０１を受け入れるためのＵＳＢインタフェース（例えばＵＳＢ信号ポート）を含む。ＮＩＭ  ３０１は、ＷｏＴプロトコルバインディング及びスクリプトＡＰＩ  ５０２として示されるＷｏＴインタフェースアーキテクチャーを実現するロジック及びファームウェアを含む。ＮＩＭ  ３０１は、モノの記述（ＴＤ）ドキュメント７０１及び「モノの記述イントラクション」のロジック５０１により、ＵＳＢ  Ｉ／Ｏデバイス１０１の機能をモデリングする。モノの記述（ＴＤ）ドキュメント７０１は、ＷｏＴアーキテクチャーモデルに基づくものである。ＷｏＴプロトコルバインディング及びスクリプトＡＰＩ  ５０２は、モノ（即、ＵＳＢ  Ｉ／Ｏデバイス１０１）を、ＷｏＴ環境で稼働させ、他のＩｏＴデバイスと通信させるインタフェースアーキテクチャーである。プロトコルバインディングは、プロトコル（例えば、ＨＴＴＰ、ＭＱＴＴ又はＣｏＡＰ）に基づいて、モノの記述インタラクションモデル５０１におけるイントラクションと特定の操作との間のマッピングの実現である。スクリプトＡＰＩ  ５０２は、Ｗ３Ｃ（ワールドワイドウェブコンソーシアム）ドキュメントに記述されるＳｅｒｖｉｅｎｔのように、アプリケーションに向けのプログラミングインタフェースを提供する。ＮＩＭ  ３０１は、対応するＵＳＢデバイス記述拡張を通じて、ＵＳＢ  Ｉ／Ｏデバイス１０１の機能及びインタフェースを理解すると共に、ＮＩＭ  ３０１がモノの記述イントラクション５０１の属性、動作及びイベントインタラクションパターンとマッチングした対応するＵＳＢ通信ソケット６１２を確立するように許可する。通信ソケット６１２は、読み取り／書き込み／監視指令を有することにより、ＴＤ属性／動作／イベントイントラクション要求が完全に満たされ得る。「監視」ソケットインタフェースは専ら、「イベント」イントラクションを処理するように設計される。
【００２６】
図１４は、本発明の例示的な実施例を示すブロック図である。セントラルリポジトリ８０１は、ネットワーク（例えば、インターネット）データ通信を行い、異なるＵＳＢ  Ｉ／Ｏデバイスと対応するＵＳＢ拡張７０１を有する複数のモノの記述（ＴＤ）ドキュメントを記憶する。ＵＳＢデバイス１０１は、ＮＩＭ  ３０１のＵＳＢ信号ポート（不図示）と電気的に接続される。ＮＩＭ  ３０１は、例えばインターネットといったネットワークとデータ通信を行う。当該例では、ＵＳＢ  Ｉ／Ｏデバイスは、最初にネットワークと接続されていないので、ＩｏＴデバイスとしてネットワーク上で稼働することができない。しかしながら、ＵＳＢ  Ｉ／ＯデバイスをＩｏＴデバイスとして稼働させてＷｏＴに加入させることができるように、ＵＳＢデバイス１０１とネットワークとの間のデータ通信を実現することが望ましい。ＵＳＢ  Ｉ／Ｏデバイス１０１をＩｏＴデバイスとして機能させることを可能にするために、ＮＩＭ  ３０１は、ネットワークを介して、セントラルリポジトリ８０１から、ＵＳＢ拡張を有する適正なＷｏＴモノの記述（ＴＤ）ドキュメントを取得する。取得したＷｏＴモノの記述（ＴＤ）ドキュメントは、特定のＵＳＢ  Ｉ／Ｏデバイスと対応しており、当該デバイスは、ＮＩＭ  ３０１のＵＳＢ信号ポートと電気的に接続される。ＮＩＭ  ３０１は、デジタル論理回路及びファームウェアを含み、モノの記述（ＴＤ）を解析してＷｏＴデータモデルを構築することで、ＵＳＢ  ＮＩＭ  ３０１を介してＩ／Ｏデバイス１０１とネットワークとの間の通信を実現する。ＵＳＢ  Ｉ／Ｏデバイス１０１は、如何なる変更もされることがなく、ＩｏＴデバイスとしてネットワークにインタフェーシングしてＷｏＴに加入できるようになる。
【００２７】
図１５は、ネットワークインタフェースモジュール（ＮＩＭ）３０１により実現される処理ステップを示す図である。ＵＳＢ  Ｉ／Ｏデバイス１０１は、ＷｏＴ環境においてＩｏＴデバイスとして稼働でき、ＮＩＭ  ３０１がネットワーク（例えば、インターネット）とデータ通信を行う。最初のステップ８０２では、ＵＳＢ  Ｉ／Ｏデバイス１０１がＮＩＭ  ３０１のＵＳＢ信号ポートに接続又は挿入される。続いて、ステップ８０３では、ＮＩＭ  ３０１は、ＵＳＢデバイス列挙プロセスを実行して、デバイス記述子６０３（図７参照）に記憶されているＵＳＢ  Ｉ／Ｏデバイス１０１のユニークなサプライヤーＩＤ（ＶＩＤ）及び製品ＩＤ（ＰＩＤ）を取得する。次のステップ８０４では、ＮＩＭ  ３０１は、ＵＳＢ  Ｉ／Ｏデバイス１０１のユニークなサプライヤーＩＤ及び製品ＩＤをキーワードとして利用し、ウェブサービスを介して、セントラルリポジトリ８０１にアクセスし、適正なモノの記述（ＴＤ）ドキュメント７０１を照会及びサーチする。適正なモノの記述（ＴＤ）ドキュメントが特定されたら、ＮＩＭ  ３０１は、セントラルリポジトリ８０１から、識別子のモノの記述（ＴＤ）ドキュメントを取得する。ダウンロードしたモノの記述（ＴＤ）ドキュメントは、ＮＩＭ  ３０１のＵＳＢ信号ポートに挿入されたＵＳＢ  Ｉ／ＯデバイスのＩ／Ｏと対応する特定のＵＳＢ拡張を含む。ステップ８０５では、ＮＩＭ  ３０１のＭＣＵ  ６０１（図１２参照）がモノの記述（ＴＤ）ドキュメントを解析する。モノの記述（ＴＤ）ドキュメントは、特定のＵＳＢ  Ｉ／Ｏデバイス記述拡張を含むように構築される。ＮＩＭ  ３０１は、解析済みのモノの記述（ＴＤ）ドキュメントにより、通信パイプ６０８及び通信ソケット６１２を構築することで、ＵＳＢ  Ｉ／ＯデバイスのＩ／ＯとＵＳＢホストコントローラー６０２（図１１参照）との間のデータ通信を実現し、ＵＳＢ  Ｉ／ＯデバイスのＩ／Ｏが、以上の明細書に記載された「属性」、「動作」及び「イベント」のインタラクションパターンとマッチングするようにする。こうして、ＵＳＢホストコントローラー６０２は、ＵＳＢ  Ｉ／Ｏデバイス１０１からのデータを解析するとともに、このように解析されたデータをマイクロコントローラーユニット（ＭＣＵ）６０１にルーティングすることができるようになる。続いて、ＭＣＵ  ６０１は、ネットワークインタフェースコントローラー６１４とインタフェーシングして、ＵＳＢ  Ｉ／Ｏデバイス１０１がＩｏＴデバイスとしてネットワークとインタフェーシングできるようにする。以上の明細書から明らかに分かるように、ＵＳＢ  Ｉ／Ｏデバイス１０１がＩｏＴデバイスとしてネットワークとインタフェーシングできるようにするには、デバイスドライバープログラムは必要ではない。ＮＩＭ  ３０１ハードウェア及びファームウェアは、ＴＤドキュメント７０１を解析すると共に、対応するインタフェースの呼び出し機能を配置すれば、その旨のタスクが遂行される。
【００２８】
図１６は、本発明のもう一つの例示的な実施例を示す。当該実施例では、ＩｏＴネットワークゲートウェイ９０１は、複数の小型インタフェースモジュール９０２と組み合わせて使用され、図４に示すネットワークインタフェースモジュール（ＮＩＭ）３０１と同じ機能を実現する。従って、当該実施例では、ネットワークインタフェースモジュール（ＮＩＭ）３０１がＩｏＴネットワークゲートウェイ９０１及び小型インタフェースモジュール９０２により代えられる。小型インタフェースモジュール９０２のそれぞれは、ローカルの通信リンク９０３を介して、ＩｏＴネットワークゲートウェイ９０１とデータ通信を行い、よりコスト効果の高い分散式ＩｏＴ環境を形成する。ＩｏＴネットワークゲートウェイ９０１は、デジタル論理回路と、ファームウェアが配置された少なくとも一つのデータ処理リソースとを含み、当該ファームウェアには、ローカル通信ネットワーク９０３と対応するＵＳＢデータ転送の通信プロトコルが取り込まれている。当該ＵＳＢデータ転送プロトコルは、高信頼性且つ分散式のＵＳＢ通信パイプに寄与しており、ローカルの通信ネットワーク９０３においてＵＳＢデータをＩｏＴネットワークゲートウェイ９０１に転送し、或いは、ローカル通信ネットワーク９０３において、ＩｏＴネットワークゲートウェイ９０１からＵＳＢデータを受信するためのものである。小型インタフェースモジュール９０２のそれぞれは、デジタル論理回路を含み、当該デジタル論理回路は、マイクロコントローラーユニット（ＭＣＵ）、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、ＵＳＢホストコントローラー、及び、ＮＩＭと類似するネットワークインタフェースコントローラーを含む。ネットワークインタフェースコントローラーは、ローカルの通信ネットワーク９０３により、ＩｏＴネットワークゲートウェイ９０１とのデータ信号通信を確立する。各小型インタフェースモジュール９０２のハードウェアリソースは、ローカル通信ネットワーク９０３とＵＳＢ  Ｉ／Ｏデバイス１０１との間だけで最小限の通信機能を実行するという理由から、コスト削減のため、最低限の要求に従って配置される。従って、複数のＵＳＢ  Ｉ／Ｏデバイス１０１、小型インタフェースモジュール９０２、ローカル通信ネットワーク９０３、及び、ＩｏＴネットワークゲートウェイ９０１の組み合わせにより、ローカル化したＩｏＴネットワークを実現することができる。小型インタフェースモジュール９０２のそれぞれは、対応するＵＳＢ  Ｉ／Ｏデバイス１０１とデータ信号通信を行い、列挙プロセスにより、対応する当該ＵＳＢ  Ｉ／Ｏデバイス１０１のユニークなサプライヤーＩＤ及び製品ＩＤを取得する。小型インタフェースモジュール９０２のそれぞれは、ユニークなサプライヤーＩＤ及び製品ＩＤをＩｏＴネットワークゲートウェイにルーティングする。サプライヤーＩＤ及び製品ＩＤを照会用のキーワードとすることにより、セントラルリポジトリ８０１にアクセスして、操作中のＵＳＢ  Ｉ／Ｏデバイスと対応するモノの記述（ＴＤ）ドキュメントをサーチする。適正なモノの記述（ＴＤ）ドキュメントがセントラルリポジトリ８０１にあったら、さらなる処��を行うために、それをＩｏＴネットワークゲートウェイにダウンロードする。続いて、ＩｏＴネットワークゲートウェイ９０１は、モノの記述（ＴＤ）ドキュメントを解析し、ゲートウェイ上でＷｏＴインタフェースアーキテクチャーを構築する。対応するＵＳＢ通信ソケットは、ゲートウェイに含まれ、それと同時に、ＵＳＢ通信パイプ情報が小型インタフェースモジュール９０２に転送されることで、ＵＳＢホストコントローラーが設置され、小型インタフェースモジュール９０２と対応するＵＳＢ  Ｉ／Ｏデバイス１０１との間で通信パイプが確立される。従って、各ＵＳＢ  Ｉ／Ｏデバイス１０１は、いずれも、対応する小型インタフェースモジュール９０２及びＩｏＴネットワークゲートウェイ９０１を介してネットワークに接続され、ネットワークインタフェースモジュール３０１におけるすべての同じ機能を遂行するように配置される。当該配置の利点として、小型インタフェースモジュール９０２は、ＵＳＢ  Ｉ／Ｏデバイス１０１をインタフェーシングするために必要なハードウェアリソースが最小限となり、複数のＩｏＴデバイスを具備した際のトータルコストが最適化されることができる。また、マシンツーマシン（Ｍ２Ｍ）操作といった、ＷｏＴアーキテクチャーにおける大部分の重要な役割の部分を、ＩｏＴネットワークゲートウェイ９０１に集中して担当させるように割り当て及び最適化することができる。当該配置によれば、コストの最適化、分散式のＩ／Ｏの特性及び集中管理効率が実現される。
【００２９】
他の実施例では、各小型インタフェースモジュール９０２のネットワークインタフェースコントローラーは、様々な種類のローカル通信ネットワーク又はリンク９０３のいずれ（例えば、電気配線通信ネットワーク、又は、無線ネットワーク（例えば５Ｇ、Ｚｉｇｂｅｅ（登録商標）、Ｌｏｒａ（登録商標）、ブルートゥース（登録商標）によるグリッドなど））ともインタフェーシングするように配置可能であると理解されるべきである。
【００３０】
図１７は、ローカル通信リンクが電気配線ネットワーク１００３に基づくものであることを示す例示的な実施例である。当該実施例では、各小型インタフェースモジュールは、ＵＳＢ  Ｉ／Ｏデバイス１０１にデータ及び電力の両方を供給するＰＬＣ（電気配線通信）ＵＳＢ電源アダプタ１００２として示される。データの全ては、図１６に示すネットワークゲートウェイ９０１と同等するＰＬＣネットワークゲートウェイ１００１にルーティングされる。ＰＬＣネットワークゲートウェイについては、本願の出願人が所有する米国出願第６２／５６４、２３４に詳しく記載されており、同出願に開示された内容が参照により本明細書に取り込まれる。
【００３１】
図１８は、本発明のもう一つの実施例であり、そのうち、ドキュメント購読者１１０１は、権限を付与されて、セントラルリポジトリ８０１に、ＵＳＢ拡張７０１を有するモノの記述（ＴＤ）ドキュメントに照会及びサーチし、そして、モノの記述（ＴＤ）ドキュメントを他の種類のフォーマットに変換する。当該フォーマットは、ドキュメント購読者１１０１にわざわざ要求され、例えば専有のネットワークインタフェースモジュールアプリケーションといった特定のアプリケーションに用いられる。一つの実施例では、ドキュメント購読者１１０１は、ネットワークとデータ信号通信するリモートドキュメント購読者インタフェースモジュールを含むと共に、少なくとも一つのＵＳＢ  Ｉ／Ｏデバイスのサプライヤー及び製品識別子を受信して記憶するためのプロセッサー及びデジタル論理回路を含む。プロセッサーは、ファームウェアを含み、当該ファームウェアは、実行されると、サプライヤー及び製品識別子を用いて、セントラルリポジトリ８０１のデータベースに、サプライヤー及び製品識別子と対応する特定のＵＳＢ拡張を有するモノの記述（ＴＤ）ドキュメントを照会すると共に、サプライヤー及び製品識別子と対応するＵＳＢ拡張を有するモノの記述（ＴＤ）ドキュメントを取り出す。例示的な実施例では、ネットワークはインターネットとされ、リモートドキュメント購読者インタフェースモジュールが、ウェブサービスとイントラクションして、セントラルリポジトリ８０１とリモートドキュメント購読者インタフェースとの間で、インターネットを介してデータ通信できるように配置される。もう一つの例示的な実施例では、ネットワークがパーソナルエリアネットワークとされる。一つの実施例では、リモートドキュメント購読者インタフェースモジュールは、モノの記述（ＴＤ）ドキュメントを少なくとも一つの外部処理リソースにルーティングするためのデータ出力ロジックを含む。
【００３２】
好ましい実施例では、セントラルリポジトリ８０１は、特定のＵＳＢ製品のそれぞれに対して単一のＴＤドキュメントを記憶することが好ましい。そうすると、ＵＳＢ  Ｉ／Ｏデバイスのメーカーが一回だけＴＤドキュメントを作成すれば済むことを確保され、しかも、当該ＴＤドキュメントは、如何なるＩｏＴプラットフォームによる実現にも利用できる。ＩｏＴプラットフォームは、ＴＤドキュメントを解析して、対応するＷｏＴロジックを配置するだけで、ＵＳＢ  Ｉ／ＯデバイスをＩｏＴデバイスとしてネットワークを介して通信させることができる。
【００３３】
以上より、明細書から明らかになるように、本発明が以下のような数多くの利点を有している。
ａ）ネットワークインタフェースモジュールによりＩ／Ｏの配置を処理することから、ＯＳに依存する如何なるデバイスドライバープログラムの開発も必要としない。
ｂ）あらゆるＩｏＴプラットフォームにおける各特定のＵＳＢ  Ｉ／Ｏデバイスに適合できるように、単一のモノの記述（ＴＤ）ドキュメントを構築する。
ｃ）単一のモノの記述（ＴＤ）ドキュメントを一回だけ構築すればよく、そして、当該ドキュメントに永遠にアクセスできるセントラルリポジトリに記憶される。
ｄ）特定のＵＳＢ  Ｉ／Ｏデバイスと必要に応じて一緒に稼働すればよいことから、ネットワークインタフェースモジュールが最適化される。
ｅ）ネットワークゲートウェイは、小型インタフェースモジュールと組み合わせて使用可能で、セントラルリポジトリからモノの記述（ＴＤ）ドキュメントを照会してアクセスすることから、分散式ＩｏＴの操作に必要なトータルコストがさらに最適化される。
ｆ）ＵＳＢ  Ｉ／Ｏデバイスを接続する際に、ネットワークインタフェースモジュール又はＩｏＴネットワークゲートウェイにより、モノの記述（ＴＤ）ドキュメントをインターネットを介してダウンロードすることから、プラグアンドプレイの操作が実現される。
ｇ）ＯＳシステムにおけるデバイスドライバープログラム又は類別ドライバープログラムへの如何なる制限もないことから、新型のＵＳＢ  Ｉ／Ｏ製品の開発及び製品の発売を大幅に拡大させることができる。
【００３４】
図１９乃至図２２は、機能定義、モノのインタラクションパターン、ＵＳＢモデル及び対応するＴＤドキュメントにから始まるＵＳＢ  Ｉ／Ｏデバイスの実現例を示す。当該例では、ＵＳＢ  Ｉ／Ｏデバイスは、ＵＳＢアクアテラリウム制御センターとされる。制御センター１２０１は、制御センター１２０１に電力及びデータを供給するＵＳＢインタフェースを含む。制御センター１２０１は、以下の三つの機能を実行する。
ａ）空気ポンプ１２０２により、空気をアクアテラリウムに送り込むこと
ｂ）熱制御手段及びヒータ１２０３により水温を制御すること
ｃ）指令に従って食料配り手段１２０４により食料をアクアテラリウムに配ること。
【００３５】
各機能ユニットは、図１９の右側の列に示されている特定機能モデルの定義を有する。機能モデルに基づいて、図２０に「属性」、「動作」及び「イベント」のインタラクションパターン付きの対応するモノモデルを示す。図２１は、ＵＳＢにおける同等機能の実現を示す。図２１は、対応するＵＳＢ記述の階層、機能インタフェース、及び、エンドポイントを示す。ＵＳＢのエンドポイント機能が中央の列に定義される一方、通信パイプが最も右側の列に示される。ソフトウェアの通信ソケット構造を定義することにより、ＵＳＢデバイスのエンドポイントのパラメータの物理的な定義をモノインタラクションモデルと連携する。図２２に示されるように、モノの記述イントラクションの「属性」及び「動作」が、「通信ソケット」に対する読み取り／書き込み指令を経て、対応する「通信パイプ」を経由してＵＳＢデバイスのデータにアクセスすることにより実現される。イントラクションの「イベント」は、「通信ソケット」の監視指令を起動して、対応するＵＳＢ  Ｉ／Ｏ状態を定期的に検出し、状態が変化した場合に、イベント警報を返すためのものである。
【００３６】
本発明の全ての実施例は、いずれも、セキュリティが確保されると共にネットワークへの攻撃が避けられるように、セキュリティ認証、通信プロトコル、及び、アプリケーション層と一緒に使われてもよい。
【００３７】
説明という目的で、特定の実施例を参照しながら以上に明細書を説明した。しかしながら、以上の説明的な記載は、本願を、開示した形態に、網羅的又は制限的に限定するものではない。上記の教示に基づいて、数多くの変更や変形が可能である。実施例を選択して記載したのは、本発明の原理及びその実際の応用をより良く解釈し、当業者が、より良く本発明を利用でき、また、見込まれる特定の用途に適した様々な変更を伴う各種の実施例を取得できるようにするためである。
【図１】
2021533515.tif 000003
【図２】
2021533515.tif 000004
【図３】
2021533515.tif 000005
【図４】
2021533515.tif 000006
【図５】
2021533515.tif 000007
【図６】
2021533515.tif 000008
【図７】
2021533515.tif 000009
【図８】
2021533515.tif 000010
【図９】
2021533515.tif 000011
【図１０】
2021533515.tif 000012
【図１１】
2021533515.tif 000013
【図１２】
2021533515.tif 000014
【図１３】
2021533515.tif 000015
【図１４】
2021533515.tif 000016
【図１５】
2021533515.tif 000017
【図１６】
2021533515.tif 000018
【図１７】
2021533515.tif 000019
【図１８】
2021533515.tif 000020
【図１９】
2021533515.tif 000021
【図２０】
2021533515.tif 000022
【図２１】
2021533515.tif 000023
【図２２】
2021533515.tif 000024
【国際調査報告】
2021533515.tif 000025
2021533515.tif 000026