【文献】
山登庸次,外2名,ユーザ状況に適したサービス提供のためのサービス代理処理機能の研究開発,電子情報通信学会論文誌,日本,社団法人電子情報通信学会,2008年12月 1日,第12号,pp.1682-1692
【文献】
磯村学,外2名,広域に分散するセンサネットワークのための統合通信基盤の提案,情報処理学会論文誌,日本,社団法人情報処理学会,2008年 6月15日,第49巻,第6号,pp.1803-1818
(58)【調査した分野】(Int.Cl.,DB名)
前記ゲートウェイコンピューティングシステムに通信可能に結合されるサーバシステムをさらに備え、前記サーバシステムには、前記記述されたサービスのグループに対応する前記通信される前記ウェブサービス記述言語による第2のファイルを受信すること
を含む動作を実行するための実行可能なコンピューティング命令が記憶されている、請求項15に記載のシステム。
サービス消費者システムをさらに備え、前記サービス消費者システムは、前記サーバシステムおよび前記ゲートウェイコンピューティングシステムと通信可能に結合され、前記サーバシステムには、前記サービス消費者システムから、サービスを発見するための要求を受信すること
を含むさらなる動作を実行するための実行可能なコンピューティング命令が記憶されている、請求項22に記載のシステム。
前記記述されたサービスのグループ内のサービスを要約する情報をコンパイルすることは、グループ識別子、グループ機能、グループメンバーの数、グループ統計、前記グループ内のサービスのための領域、前記グループ内のサービスに予期される入力、および前記グループ内のサービスから予期される出力のうちの少なくとも複数のものをコンパイルすることを含む、請求項30に記載のコンピュータ実装方法。
前記記述されたサービスのグループ内のサービスを要約する情報をコンパイルすることは、グループ識別子、グループ機能、グループメンバーの数、グループ統計、前記グループ内のサービスのための領域、前記グループ内のサービスに予期される入力、および前記グループ内のサービスから予期される出力のうちの少なくとも複数のものをコンパイルすることを含む、請求項32に記載のシステム。
【発明の概要】
【課題を解決するための手段】
【0006】
本出願人は、本明細書において、M2M/IoTリソースまたはサービスのパブリッシュおよび発見のためのシステムおよび方法を開示する。開示されるシステムおよび方法は、ウェブベースのアプリケーションであり得る、消費者システムが、M2M/IoTデバイスによって提供される機能性を発見し、それにアクセスすることを有効にする。
【0007】
例示的実施形態では、例えば、M2Mゲートウェイシステムであり得る、第1のコンピューティングシステムは、リソース記述をM2M/IoTデバイスから受信する。リソース記述はそれぞれ、記述が受信されたデバイスまたはシステムにアクセス可能なサービスと考えられ得る、特定のリソースを記述する。例えば、リソース記述は、特定のデバイスが、特定のデバイスの近傍における測定または環境条件を提供するために利用可能であることを記述する、情報を含んでもよい。リソース記述は、リソースディレクトリ(RD)への参照等の任意の好適なフォーマットにおけるものであってもよい。
【0008】
例示的実施形態では、受信されるリソース記述毎に、ゲートウェイは、リソースを記述するエントリを作成する。例示的実施形態では、ゲートウェイは、サービスと称され得るリソース毎に、別個のまたは個々のファイルを作成してもよい。ファイル内に含まれる情報は、特定のリソースにアクセスする方法に関する情報を含む。例示的シナリオでは、ファイルは、リソースが利用可能な時、リソースがアクセスされ得る場所、およびリソースへのアクセスと関連付けられたコストを規定する情報を含んでもよい。個々のファイルは、任意の好適な様式でフォーマットされてもよい。例示的実施形態では、個々のファイルは、ウェブサービス記述言語(WSDL)を使用してフォーマットされてもよい。ウェブサービス記述言語を使用してフォーマットされた個々のファイルは、WSDL−Iファイルと称され得、ゲートウェイ上に記憶されてもよい。
【0009】
例示的実施形態では、ゲートウェイはさらに、リソースまたはサービスの特性に従って、リソースをグループ化するようにプログラムされてもよい。例えば、ゲートウェイは、新しく受信されたリソースと以前に作成されたグループを比較するように適合されてもよい。ゲートウェイは、比較に基づいて、リソースがリソースの既存のグループ化とともにカテゴリ化され得るかどうか、または特定のリソースが新しいグループ化内に属するかどうかを判定する。リソースが温度を識別するための機能性に関する、例示的シナリオでは、ゲートウェイは、リソースが、同様に温度測定を提供するリソースの既存のグループ化とペアにされ得ることを判定してもよい。代替シナリオでは、ゲートウェイは、リソースが任意の既存のグループに類似しないことを判定してもよい。
【0010】
ゲートウェイが、リソースが既存のグループに関連することを判定する場合、ゲートウェイは、特定のリソースを既存のグループに追加する。これは、例えば、グループと関連付けられたリソースに関する情報が記憶されたファイルを更新することを伴ってもよい。情報は、特定のグループと関連付けられたリソースを要約するために好適な任意の情報を含んでもよい。要約情報を含有するファイルは、任意の好適な様式でフォーマットされてもよい。例示的シナリオでは、ファイルは、ウェブサービス記述言語ファイルとしてフォーマットされてもよい。そのようなシナリオでは、ファイルは、WSDL−Gファイルと称され得る。
【0011】
ゲートウェイが、リソースが既存のグループに関連しないことを判定する場合、ゲートウェイは、新しいグループを生成してもよい。例えば、ゲートウェイは、新しいグループに関する要約情報が記憶される、新しいファイルを生成してもよい。グループおよびファイルが、最初に作成されるとき、グループ内に1つのみのリソースが存在してもよい。経時的に、ファイルは、新しいリソースがグループに追加されるにつれて更新される。例示的実施形態では、ファイルは、ウェブサービス記述言語ファイルとしてフォーマットされてもよい。
【0012】
開示される実施形態の別の側面によると、ゲートウェイは、デバイスおよびシステムが、リソースの存在を発見し、リソースの使用を要求し得るように、それが情報を受信したリソースについての情報をパブリッシュするようにプログラムされる。例示的実施形態では、ゲートウェイは、リソースの定義されたグループに関する情報を、要約グループ情報が維持される、サーバコンピューティングシステムに通信する。例えば、ゲートウェイは、情報を、利用可能なリソースまたはサービスのためのレジストリとして動作する、サービスレジストリインフラストラクチャ(SRI)に通信してもよい。例示的実施形態では、ゲートウェイは、グループ毎に、ソースの特定のグループに関する要約情報を含有するファイルを伝送してもよい。故に、ゲートウェイが、既存のグループに適合しないリソースの受信に応答して、新しいグループを作成すると、ゲートウェイは、対応するファイル(WSDL−G)をSRIに通信してもよい。グループが以前から存在しており、リソースがグループのためのグループファイルに追加されるインスタンスでは、ゲートウェイは、更新をグループファイルが以前に通信されたSRIに通信してもよい。
【0013】
いったんリソースのグループに関する情報がパブリッシュされると、サーバシステム、すなわち、SRIは、リソースのグループについての情報を発見するための要求を受信してもよい。例えば、要求は、サービスを使用する必要性を有し得る任意のシステムであり得る、サービス消費者システムから受信されてもよい。例示的シナリオでは、要求は、ウェブアプリケーションから受信されてもよい。要求は、システムが検索しているサービスまたはリソースのタイプに関する、種々のパラメータを提供してもよい。例えば、要求は、特定のタイプの機能または動作に関し、特定のエリア内、および特定の時間周期の間のサービスに対するクエリを規定してもよい。例示的シナリオでは、要求は、製造設備の特定の部分内の温度を提供する、リソースのクエリを規定してもよい。
【0014】
要求に応答して、リソースサーバシステム、すなわち、SRIは、クエリ内の情報を使用して、応答し得る、リソースのグループを識別する。SRIは、複数のWSDL−Gファイルを通して検索し、特定の要求に応答するリソースのグループに関する、1つまたはそれを上回るファイルを識別してもよい。SRIは、消費者システムに、SRIがクエリに応答すると判定する、1つまたはそれを上回るWSDL−Gファイルを返す。
【0015】
消費者システムは、識別されたサービスのグループと関連付けられた情報を解析し、消費者システムが使用し得るサービスまたはリソースと関連付けられたグループを判定する。消費者システムは、WSDL−Gファイルから、特定のWSDL−Gファイル内で要約されたサービスについての付加的情報を含有する、特定のゲートウェイを識別する。消費者システムは、次いで、消費者システムが使用し得ると判定したサービスの特定のグループに関する付加的情報の要求またはクエリを生成し、識別されたゲートウェイに伝送する。
【0016】
ゲートウェイは、クエリを処理し、要求が関連するサービスの特定のグループを識別する。ゲートウェイは、要求内で識別された特定のグループ内に含まれる特定のリソースを識別し、識別されたリソースのそれぞれに対応する個々のファイル(WSDL−I)を読み出す。ゲートウェイは、例えば、WSDL−Iファイルであり得る個々のファイルを消費者システムに通信する。
【0017】
消費者システムは、受信されたWSDL−Iファイルを解析し、それがアクセスするであろうサービスを判定する。アクセスを所望する特定のサービスを判定した消費者システムは、対応するWSDL−Iファイルから、特定のサービスへのアクセスに関する特定のパラメータを読み出す。例えば、消費者システムは、WSDL−Iファイルから、サービス/リソースがアクセスされ得る特定のシステムならびにリソースにアクセスするための特定の様式および時間を識別してもよい。消費者システムは、リソースを使用するための要求を生成し、識別されたシステムに通信する。
【0018】
M2M/IoTシステムであり得る、識別されたシステムは、要求に応じて、サービスを提供する。例えば、サービスが、温度読取値を提供することに関する場合、識別されたシステムは、所定の間隔で温度読取値を消費者システムに通信してもよい。
【0019】
本概要は、以下の発明を実施するための形態にさらに説明される、簡略化された形態における一連の概念を紹介するために提供される。本要約は、請求される主題の重要特徴または不可欠な特徴を識別することを意図しておらず、請求される主題の範囲を限定するために使用されることも意図していない。他の特徴も、以下に説明される。
例えば、本願は以下の項目を提供する。
(項目1)
コンピュータ実装方法であって、
第1のコンピューティングシステムが、複数のリソース記述を受信するステップであって、各リソース記述は、デバイスによって提供されるリソースを記述する、ステップと、
前記第1のコンピューティングシステムが、受信されたリソース記述毎に、デバイスによって提供されるリソースに対応するサービスを記述するウェブサービス記述言語ファイルを生成するステップと、
前記第1のコンピューティングシステムが、前記記述されたサービスのグループに対応するウェブサービス記述言語ファイルを生成するステップと、
前記第1のコンピューティングシステムが、前記記述されたサービスのグループに対応するウェブサービス記述言語ファイルを伝送するステップと、
を含む、方法。
(項目2)
第1のコンピューティングシステムが複数のリソース記述を受信するステップは、複数のIoTデバイスから第1のコンピューティングシステムが複数のリソース記述を受信するステップを含む、項目1に記載のコンピュータ実装方法。
(項目3)
第1のコンピューティングシステムが、受信されたリソース記述毎に、デバイスによって提供されるリソースに対応するサービスを記述するウェブサービス記述言語ファイルを生成するステップは、第1のコンピューティングシステムが、特定のサービスにアクセスする方法を記述するウェブサービス記述言語ファイルを生成するステップを含む、項目1に記載のコンピュータ実装方法。
(項目4)
前記第1のコンピューティングシステムが、特定のサービスにアクセスする方法を記述するウェブサービス記述言語ファイルを生成するステップはさらに、前記第1のコンピューティングシステムが、サービスが利用可能な時、サービスが利用可能な場所、およびサービスと関連付けられたコストのうちの1つまたはそれを上回るものを記述するウェブサービス記述言語ファイルを生成するステップを含む、項目3に記載のコンピュータ実装方法。
(項目5)
第1のコンピューティングシステムが、ウェブサービス記述言語ファイルを生成するステップは、第1のコンピューティングシステムが、WSDL−Iファイルを生成するステップを含む、項目4に記載のコンピュータ実装方法。
(項目6)
第1のコンピューティングシステムが、前記記述されたサービスのグループに対応するウェブサービス記述言語ファイルを生成するステップは、第1のコンピューティングシステムが、複数の類似サービスを記述する情報を含む、ウェブサービス記述言語ファイルを生成するステップを含む、項目1に記載のコンピュータ実装方法。
(項目7)
第1のコンピューティングシステムが、グループに対応するウェブサービス記述言語ファイルを生成するステップは、WSDL−Gファイルを生成するステップを含む、項目6に記載のコンピュータ実装方法。
(項目8)
前記第1のコンピューティングシステムは、ゲートウェイコンピューティングシステムである、項目1に記載のコンピュータ実装方法。
(項目9)
サーバシステムにおいて、前記記述されたサービスのグループに対応する前記通信されるウェブサービス記述言語ファイルを受信するステップをさらに含む、項目1に記載のコンピュータ実装方法。
(項目10)
前記サーバシステムが、サービス消費者システムから、サービスを発見するための要求を受信するステップをさらに含む、項目9に記載のコンピュータ実装方法。
(項目11)
前記要求に応答して、前記サーバシステムが、前記サービス消費者システムに、前記記述されたサービスのグループに対応するウェブサービス記述言語ファイルに関する情報を通信するステップをさらに含む、項目10に記載のコンピュータ実装方法。
(項目12)
前記サービス消費者システムが、前記記述されたサービスのグループに対応するウェブサービス記述言語ファイル内の情報を参照し、前記第1のコンピューティングシステムが、前記記述されたサービスのグループに対応するウェブサービス記述言語ファイル内で識別されたサービスに関連する情報を含有すると識別するステップと、
前記サービス消費者システムが、前記記述されたサービスのグループに対応するウェブサービス記述言語ファイル内で識別されたサービスに関する情報のための要求を生成し、前記第1のコンピューティングシステムに通信するステップと、
をさらに含む、項目11に記載のコンピュータ実装方法。
(項目13)
前記第1のコンピューティングシステムが、前記サービス消費者システムに、複数のサービス毎に、サービスを記述するウェブサービス記述言語ファイルを伝送するステップをさらに含む、項目12に記載のコンピュータ実装方法。
(項目14)
前記第1のコンピューティングシステムが、複数のサービス毎に、サービスを記述するウェブサービス記述言語ファイルを受信するステップと、
前記第1のコンピューティングシステムが、前記受信されたウェブサービス記述言語ファイルを解析し、サービスおよび前記識別されたサービスにアクセスするためのプロセスに関するパラメータを識別するステップと、
前記第1のコンピューティングシステムが、前記識別されたパラメータを採用し、前記識別されたサービスが実施されることの要求を生成および伝送するステップと、
をさらに含む、項目13に記載のコンピュータ実装方法。
(項目15)
システムであって、
ゲートウェイコンピューティングシステム
を備え、
前記ゲートウェイコンピューティングシステムは、
コンピューティングプロセッサと、
前記コンピューティングプロセッサと通信可能に結合される、コンピューティングメモリと、
を備え、前記コンピューティングメモリは、
複数のリソース記述を受信するステップであって、各リソース記述は、デバイスによって提供されるリソースを記述する、ステップと、
受信されたリソース記述毎に、デバイスによって提供されるリソースに対応するサービスを記述するウェブサービス記述言語ファイルを生成するステップと、
前記記述されたサービスのグループに対応するウェブサービス記述言語ファイルを生成するステップと、
前記記述されたサービスのグループに対応するウェブサービス記述言語ファイルを伝送するステップと、
を含む動作を実施するためのその中に記憶された実行可能コンピューティング命令を有する、システム。
(項目16)
複数のリソース記述を受信するステップは、複数のIoTデバイスから複数のリソース記述を受信するステップを含む、項目15に記載のシステム。
(項目17)
受信されたリソース記述毎に、デバイスによって提供されるリソースに対応するサービスを記述するウェブサービス記述言語ファイルを生成するステップは、特定のサービスにアクセスする方法を記述するウェブサービス記述言語ファイルを生成するステップを含む、項目15に記載のシステム。
(項目18)
特定のサービスにアクセスする方法を記述するウェブサービス記述言語ファイルを生成するステップはさらに、サービスが利用可能な時、サービスが利用可能な場所、およびサービスと関連付けられたコストのうちの1つまたはそれを上回るものを記述するウェブサービス記述言語ファイルを生成するステップを含む、項目17に記載のシステム。
(項目19)
ウェブサービス記述言語ファイルを生成するステップは、WSDL−Iファイルを生成するステップを含む、項目18に記載のシステム。
(項目20)
前記記述されたサービスのグループに対応するウェブサービス記述言語ファイルを生成するステップは、複数の類似サービスを記述する情報を含む、ウェブサービス記述言語ファイルを生成するステップを含む、項目15に記載のシステム。
(項目21)
グループに対応するウェブサービス記述言語ファイルを生成するステップは、WSDL−Gファイルを生成するステップを含む、項目20に記載のシステム。
(項目22)
前記ゲートウェイコンピューティングシステムに通信可能に結合されるサーバシステムをさらに備え、前記サーバシステムは、前記記述されたサービスのグループに対応する前記通信されるウェブサービス記述言語ファイルを受信するステップ
を含む動作を実施するためのその中に記憶された実行可能コンピューティング命令を有する、項目15に記載のシステム。
(項目23)
サービス消費者システムをさらに備え、前記サービス消費者システムは、前記サーバシステムおよび前記ゲートウェイコンピューティングシステムと通信可能に結合され、前記サーバシステムは、前記サービス消費者システムから、サービスを発見するための要求を受信するステップ
を含むさらなる動作を実施するためのその中に記憶された実行可能コンピューティング命令を有する、項目22に記載のシステム。
(項目24)
前記サーバシステムは、前記要求に応答して、前記サービス消費者システムに、前記記述されたサービスのグループに対応するウェブサービス記述言語ファイルに関する情報を通信するステップ
を含むさらなる動作を実施するためのその中に記憶された実行可能コンピューティング命令を有する、項目23に記載のシステム。
(項目25)
前記サービス消費者システムは、
前記記述されたサービスのグループに対応するウェブサービス記述言語ファイル内の情報を参照し、前記ゲートウェイシステムが、前記記述されたサービスのグループに対応するウェブサービス記述言語ファイル内で識別されたサービスに関連する情報を含有すると識別するステップと、
前記記述されたサービスのグループに対応するウェブサービス記述言語ファイル内で識別されたサービスに関する情報のための要求を生成し、前記ゲートウェイシステムに通信するステップと、
を含むさらなる動作を実施するためのその中に記憶された実行可能コンピューティング命令を有する、項目24に記載のシステム。
(項目26)
前記ゲートウェイコンピューティングシステムは、前記サービス消費者システムに、複数のサービス毎に、サービスを記述するウェブサービス記述言語ファイルを伝送するステップ
を含むさらなる動作を実施するためのその中に記憶された実行可能コンピューティング命令を有する、項目25に記載のシステム。
(項目27)
前記ゲートウェイコンピューティングシステムは、
複数のサービス毎に、サービスを記述するウェブサービス記述言語ファイルを受信するステップと、
前記受信されたウェブサービス記述言語ファイルを解析し、サービスおよび前記識別されたサービスにアクセスするためのプロセスに関するパラメータを識別するステップと、
前記識別されたパラメータを採用し、前記識別されたサービスが実施されることの要求を生成および伝送するステップと、
を含むさらなる動作を実施するためのその中に記憶された実行可能命令を有する、項目26に記載のシステム。
(項目28)
コンピュータ実装方法であって、
第1のコンピューティングシステムが、複数のリソース記述を受信するステップであって、各リソース記述は、デバイスによって提供されるリソースを記述する、ステップと、
前記第1のコンピューティングシステムが、受信されたリソース記述毎に、デバイスによって提供されるリソースに対応するサービスを記述するウェブサービス記述言語ファイルを生成するステップと、
を含み、サービスを記述するウェブサービス記述言語ファイルを生成するステップは、
前記サービスが利用可能な時を示す情報を組み込むステップと、
前記サービスが利用可能な場所を示す情報を組み込むステップと、
前記サービスの使用と関連付けられたコストを示す情報を組み込むステップと、
を含む、方法。
(項目29)
システムであって、
コンピューティングプロセッサと、
前記コンピューティングプロセッサと通信可能に結合される、コンピューティングメモリと、
を備え、
前記コンピューティングメモリは、
複数のリソース記述を受信するステップであって、各リソース記述は、デバイスによって提供されるリソースを記述する、ステップと、
受信されたリソース記述毎に、デバイスによって提供されるリソースに対応するサービスを記述するウェブサービス記述言語ファイルを生成するステップと、
を含む動作を実施するためのその中に記憶された実行可能コンピューティング命令を有し、
サービスを記述するウェブサービス記述言語ファイルを生成するステップは、
前記サービスが利用可能な時を示す情報を組み込むステップと、
前記サービスが利用可能な場所を示す情報を組み込むステップと、
前記サービスの使用と関連付けられたコストを示す情報を組み込むステップと、
を含む、システム。
(項目30)
コンピュータ実装方法であって、
第1のコンピューティングシステムが、複数のリソース記述を受信するステップであって、各リソース記述は、デバイスによって提供されるリソースを記述する、ステップと、
前記第1のコンピューティングシステムが、受信されたリソース記述毎に、デバイスによって提供されるリソースに対応するサービスを記述するウェブサービス記述言語ファイルを生成するステップと、
前記第1のコンピューティングシステムが、前記記述されたサービスのグループに対応するウェブサービス記述言語ファイルを生成するステップと、
を含み、前記第1のコンピューティングシステムが、前記記述されたサービスのグループに対応するウェブサービス記述言語ファイルを生成するステップは、前記記述されたサービスのグループ内のサービスを要約する情報をコンパイルするステップを含む、方法。
(項目31)
前記記述されたサービスのグループ内のサービスを要約する情報をコンパイルするステップは、グループ識別子、グループ機能、グループメンバーの数、グループ統計、前記グループ内のサービスのための領域、前記グループ内のサービスに予期される入力、および前記グループ内のサービスから予期される出力のうちの少なくとも複数のものをコンパイルするステップを含む、項目30に記載のコンピュータ実装方法。
(項目32)
システムであって、
コンピューティングプロセッサと、
前記コンピューティングプロセッサと通信可能に結合される、コンピューティングメモリと、
を備え、
前記コンピューティングメモリは、
複数のリソース記述を受信するステップであって、各リソース記述は、デバイスによって提供されるリソースを記述する、ステップと、
受信されたリソース記述毎に、デバイスによって提供されるリソースに対応するサービスを記述するウェブサービス記述言語ファイルを生成するステップと、
前記記述されたサービスのグループに対応するウェブサービス記述言語ファイルを生成するステップと、
を含む動作を実施するためのその中に記憶された実行可能コンピューティング命令を有し、
前記記述されたサービスのグループに対応するウェブサービス記述言語ファイルを生成するステップは、前記記述されたサービスのグループ内のサービスを要約する情報をコンパイルするステップを含む、システム。
(項目33)
前記記述されたサービスのグループ内のサービスを要約する情報をコンパイルするステップは、グループ識別子、グループ機能、グループメンバーの数、グループ統計、前記グループ内のサービスのための領域、前記グループ内のサービスに予期される入力、および前記グループ内のサービスから予期される出力のうちの少なくとも複数のものをコンパイルするステップを含む、項目32に記載のシステム。
(項目34)
コンピュータ実装方法であって、
第1のコンピューティングシステムが、複数のリソース記述を受信するステップであって、各リソース記述は、デバイスによって提供されるリソースを記述する、ステップと、
前記第1のコンピューティングシステムが、受信されたリソース記述毎に、デバイスによって提供されるリソースに対応するサービスを記述するウェブサービス記述言語ファイルを生成するステップと、
を含み、ウェブサービス記述言語ファイルを生成するステップは、コアリソースディレクトリファイルを解析し、ウェブサービス記述言語タグおよび前記コアリソースディレクトリファイルのコンテンツに対応するコンテンツを生成するステップを含む、方法。
(項目35)
システムであって、
コンピューティングプロセッサと、
前記コンピューティングプロセッサと通信可能に結合される、コンピューティングメモリと、
を備え、
前記コンピューティングメモリは、
複数のリソース記述を受信するステップであって、各リソース記述は、デバイスによって提供されるリソースを記述する、ステップと、
受信されたリソース記述毎に、デバイスによって提供されるリソースに対応するサービスを記述するウェブサービス記述言語ファイルを生成するステップと、
を含む動作を実施するためのその中に記憶された実行可能コンピューティング命令を有し、
ウェブサービス記述言語ファイルを生成するステップは、コアリソースディレクトリファイルを解析し、ウェブサービス記述言語タグおよび前記コアリソースディレクトリファイルのコンテンツに対応するコンテンツを生成するステップを含む、システム。
(項目36)
コンピュータ実装方法であって、
第1のコンピューティングシステムが、複数のリソース記述を受信するステップであって、各リソース記述は、デバイスによって提供されるリソースを記述する、ステップと、
前記第1のコンピューティングシステムが、受信されたリソース記述毎に、デバイスによって提供されるリソースに対応するサービスを記述するウェブサービス記述言語ファイルを生成するステップと、
前記第1のコンピューティングシステムが、サービス毎に前記サービスが既存のグループに対応するかどうかを判定するステップと、
サービスが既存のグループに対応するという判定に応じて、
記述されたサービスのグループに対応する既存のウェブサービス記述言語ファイルを更新するステップと、
サーバシステムに、記述されたサービスのグループに対応する前記更新されたウェブサービス記述言語ファイルを伝送するステップと、
サービスが既存のグループに対応しないという判定に応じて、
記述されたサービスの新しいグループに対応する新しいウェブサービス記述言語ファイルを作成するステップであって、前記サービスを含む記述されたサービスの新しいグループは、既存のグループに対応しないと判定される、ステップと、
サーバシステムに、前記記述されたサービスの新しいグループに対応する新しく作成されたウェブサービス記述言語ファイルを伝送するステップと、
を含む、方法。
(項目37)
システムであって、
コンピューティングプロセッサと、
前記コンピューティングプロセッサと通信可能に結合される、コンピューティングメモリと、
を備え、
前記コンピューティングメモリは、
複数のリソース記述を受信するステップであって、各リソース記述は、デバイスによって提供されるリソースを記述する、ステップと、
受信されたリソース記述毎に、デバイスによって提供されるリソースに対応するサービスを記述するウェブサービス記述言語ファイルを生成するステップと、
サービス毎に前記サービスが既存のグループに対応するかどうかを判定するステップと、
サービスが既存のグループに対応するという判定に応じて、
記述されたサービスのグループに対応する既存のウェブサービス記述言語ファイルを更新するステップと、
サーバシステムに、記述されたサービスのグループに対応する前記更新されたウェブサービス記述言語ファイルを伝送するステップと、
サービスが既存のグループに対応しないという判定に応じて、
記述されたサービスの新しいグループに対応する新しいウェブサービス記述言語ファイルを作成するステップであって、前記サービスを含む記述されたサービスの新しいグループは、既存のグループに対応しないと判定される、ステップと、
サーバシステムに、前記記述されたサービスの新しいグループに対応する新しく作成されたウェブサービス記述言語ファイルを伝送するステップと、
を含む動作を実施するためのその中に記憶された実行可能コンピューティング命令を有する、システム。
【発明を実施するための形態】
【0022】
本出願人は、本明細書において、M2M/IoTリソースまたはサービスのパブリッシュおよび発見のためのシステムおよび方法を開示する。開示されるシステムおよび方法は、ウェブサービスシステムまたはウェブアプリケーションであり得る、サービス消費者システムが、M2M/IoTデバイスによって提供される機能性を発見し、それにアクセスすることを有効にする。
(例示的サービスアーキテクチャ)
【0023】
ネットワークおよびアーキテクチャの視点から、サービスは、「サービス層」内に存在すると考えられ得る。
図1は、サービス層の相対的場所を図示する、例示的プロトコルスタックの略図を提供する。示されるように、サービス層110は、種々のトランスポートおよびネットワーク層112上にある。これは、サービス層内のサービスが、サービスを提供する際、ネットワーク層内の能力を利用することを可能にする。サービス層は、クライアントアプリケーション層114の下に存在すると考えられ得る。クライアントアプリケーションは、サービスによって利用可能となる機能性にアクセスするために、サービス層内のサービスに要求を行う。故に、サービス層は、サービスによってエクスポージャされる機能および能力へのアクセスを提供する、ミドルウェアとして動作する。
【0024】
図2は、その中に展開されるサービス層のインスタンスを有する、例示的ネットワークトポグラフィを図示する。
図2を参照すると、ネットワークアプリケーションドメイン210内に存在するユーザアプリケーションは、特定の機能が実施されることを要求してもよい。ユーザアプリケーションは、例えば、
図26A−Dに関連して以下に説明されるもの等のシステムであり得る、デバイス30上で実行してもよい。一例として、ネットワーク内のデバイスの管理専用ユーザアプリケーションは、デバイスの現在のステータスについての情報を要求してもよい。別の実施例では、ユーザアプリケーションは、ウェブアプリケーションであってもよく、別のデータフォーマッティング標準を使用する、別のアプリケーションにデータを通信する必要があってもよい。
【0025】
アプリケーションは、特定のサービスのための要求をネットワークサービスドメイン212に通信する。示されるように、ネットワークサービスドメイン212は、種々のネットワークノード220を備える。ネットワークノード220は、ネットワーク内のネットワークアドレス指定可能エンティティである。ネットワークノード220は、例えば、デバイス、ゲートウェイ、もしくはサーバ等の物理的アイテムであってもよい、または、例えば、VMware等の仮想化ソフトウェアを使用して作成される、例えば、仮想機械等の仮想エンティティであってもよい。
図2の例示的実施形態では、ネットワークノード220は、例えば、ディレクトリサーバ、アプリケーションサーバ、記憶サーバ、管理サーバ、およびサービスサーバを含む、種々のサーバタイプを備える。ネットワークノード220は、例えば、
図26Dに関連して以下に説明されるもの等の任意の好適なコンピューティングシステムによって実装されてもよい。
図2の実施形態では、種々のネットワーク222へのアクセスは、ゲートウェイ226を介して提供される。ゲートウェイは、例えば、
図26Cまたは26Dに関連して以下に説明されるもの等の任意の好適なコンピューティングシステムによって実装されてもよい。
【0026】
サーバ220およびゲートウェイ226は、サービス層230をその上に有する。サービス層230は、アプリケーションプログラミングインターフェース(API)および下層ネットワークインターフェースのセットを通して付加価値サービス能力をサポートする、ソフトウェアミドルウェア層である。特定のサービス機能を実施するためのネットワークアプリケーションドメイン210内のアプリケーションからの要求は、特定のサービス層230にルーティングされ、そこで受信される。サービス層230は、要求を処理し、要求されるサービスの結果を要求側アプリケーションに返す。1つまたはそれを上回るサービス能力をサポートするサービス層をホストする、ネットワークノードは、サービスノードと称される。
【0027】
図2を参照すると、サービス層230内のサービスはまた、デバイスアプリケーションドメイン214内に存在するもの等のデバイスアプリケーションによって要求されてもよい。故に、例えば、センサまたはアクチュエータ等の特定のデバイスが、特定の機能性が実施されることを要求する場合、デバイスは、要求をネットワークサービスドメイン212内のサービス層のうちの1つ内に存在する適切なサービスに伝送してもよい。サービス層230は、要求を処理し、要求されるサービスの結果を要求側デバイスに返す。デバイスアプリケーションドメイン214内のデバイスは、例えば、以下の
図26A−Dに関連して説明されるもの等の任意の好適なコンピューティングシステムを使用して実装されてもよい。
【0028】
いくつかのインスタンスでは、ネットワークサービスドメイン内のサービスは、他のサービスのうちの1つによって提供される機能性を要求してもよい。故に、サービス層230内のサービスは、要求を別のサービス層230内に存在するサービスに伝送してもよい。要求を受信したサービスがその処理を完了すると、応答を要求側サービスに伝送する。
【0029】
サービス層230は、任意のタイプのサービス層であってもよい。例えば、サービス層230のうちの1つまたはそれを上回るものは、モバイルネットワークデバイスのためのマルチメディアサービスを提供することに具体的に標的化されたIPマルチメディアサブシステム(IMS)サービス層であってもよい。さらなる実施例として、サービス層230のうちの1つまたはそれを上回るものは、M2M/IoTサービス層であってもよい。M2M/IoTサービス層は、M2M/IoTタイプデバイスおよびアプリケーションのための付加価値サービスを提供することに具体的に標的化されたあるタイプのサービス層の実施例である。最近、いくつかの産業標準段階(例えば、ETSI M2M、oneM2M、およびOMA LWM2M)が、M2M/IoTタイプのデバイスおよびアプリケーションのインターネット/ウェブ、セルラー、エンタープライズ、およびホームネットワーク等の展開への統合と関連付けられた課題に対処するためのM2M/IoTサービス層を開発している。
【0030】
M2Mサービス層は、サービス層によってサポートされる一連のM2M中心能力へのアプリケーションおよびデバイスアクセスを提供することができる。いくつかの実施例として、セキュリティ、課金、データ管理、デバイス管理、発見、プロビジョニング、および接続管理が挙げられる。これらの能力は、M2Mサービス層によって定義されたメッセージフォーマット、リソース構造、およびリソース表現を利用するAPIを介して、アプリケーションに利用可能となる。
【0031】
oneM2Mの目的および目標は、容易に種々のハードウェアおよびソフトウェア内に埋め込まれ、世界中のM2Mアプリケーションサーバ内の様々なデバイスに接続するために信頼されることができる、共通M2Mサービス層の必要性に対処する、技術的仕様を開発することである。
【0032】
図3は、例示的基本oneM2Mアーキテクチャを図示する。示されるように、oneM2Mアーキテクチャは、oneM2Mソリューションにおけるアプリケーション論理を提供する、アプリケーションエンティティ(AE)310を備える。oneM2M共通サービス層は、共通サービス機能(CSF)(すなわち、サービス能力)のセットをサポートする。1つまたはそれを上回る特定のタイプのCSFのセットのインスタンス化は、異なるタイプのネットワークノード(例えば、インフラストラクチャノード、ミドルノード、特定用途向けノード)上にホストされることができる、共通サービスエンティティ(CSE)312と称される。サービス機能は、基準点Mca320およびMcc322を通して他のエンティティにエクスポージャされる。基準点Mcn330は、下層ネットワークサービスエンティティにアクセスするために使用される。ネットワークサービスエンティティ(NSE)340は、サービスをCSEに提供する。M2Mサービスの実施例として、デバイス管理、場所サービス、およびデバイストリガリングが挙げられる。下層NSEは、例えば、3GPPベースのネットワークであってもよい。
【0033】
oneM2Mアプリケーションは、典型的には、表現状態転送(RESTful)アーキテクチャを使用して実装される。そのようなインスタンスでは、CSFは、RESTful「リソース」のセットとして表される。リソースは、作成、読み出し、更新、および削除等のRESTful方法を介して操作されることができる表現を有する、アーキテクチャ内の一意にアドレス指定可能なエンティティである。これらのリソースは、ユニフォームリソース識別子(URI)を使用してアドレス指定可能にされる。リソースは、子リソースおよび属性を含有してもよい。子リソースは、親リソースと含有関係を有するリソースである。親リソース表現は、その子リソースへの参照を含有する。子リソースの寿命は、親のリソース寿命によって限定される。各リソースは、リソースについての情報を記憶する、「属性」のセットをサポートする。本出願人は、本明細書において、ウェブアプリケーション等のシステムに可視となるように、M2M/IoTリソース/サービスについての情報をパブリッシュするシステムおよび方法を開示する。
【0034】
図4は、例示的M2Mサービスアーキテクチャのコンポーネントを備える、略図を描写する。M2Mサービスアーキテクチャは、AEにM2MサービスおよびM2Mサービスプロバイダへのアクセスを提供することによって、
図3に関連して前述のoneM2M機能アーキテクチャを拡張する。
図4に示されるように、AE410は、CSE414内でともにグループ化されたサービスエクスポージャコンポーネント412と通信可能に結合されてもよい。サービスエクスポージャコンポーネント412は、ネットワークサービス利用コンポーネント420および遠隔サービスエクスポージャコンポーネント422と通信可能に結合される。ネットワークサービス利用コンポーネント412は、ネットワークサービスエンティティ430を介して提供されるサービスへのアクセスを提供する。遠隔サービスエクスポージャコンポーネント422は、遠隔M2M環境432からサービスへのアクセスを提供する。
(ウェブサービス技術)
【0035】
ウェブサービス(WS)とは、ネットワークを経由してコンピュータ間の相互動作可能相互作用をサポートするために設計されたソフトウェアシステムを実装する方法を指す。WSは、種々のプラットフォームおよびフレームワーク上で起動する、ソフトウェアアプリケーション間の相互動作の標準的手段を提供する。例えば、WSは、第1のプログラムが、ネットワーク内の異なるコンピュータ上に位置する第2のプログラムからサービスを要求し得るように、遠隔手続き呼び出し(RPC)を採用してもよい。WSは、拡張マークアップ言語(XML)を使用して実装されてもよく、その優れた相互運用性および拡張性ならびにその機械可読記述によって特徴付けられ得る。WSは、単純サービスを提供するプログラムが、相互に相互作用し、高度な付加価値サービスを送達し得るように、複合動作を達成するように疎結合方式で組み合わせられることができる。
(ウェブサービス記述言語(WSDL))
【0036】
ウェブサービス記述言語(WSDL)は、WSによってもたらされる機能性を記述するために使用される、XMLベースのインターフェース記述言語である。WSのWSDL記述(WSDLファイルとも称される)は、サービスが呼ばれ得る名称、それが予期する入力パラメータ、それが送達する出力、およびそれが使用するトランスポートプロトコル等の機械可読記述を提供する。開示されるシステムの側面に従って、WSDLファイルは、サービス消費者と称され得る、他のソフトウェアアプリケーションが、利用可能なWSを発見し、WSDLファイル内に含まれる情報に基づいて、それらのWSにアクセスする方法を容易に判定し得るように、サービスプロバイダによってネットワークにパブリッシュされてもよい。
【0037】
既存のWSDLバージョン2.0フォーマッティングを採用する、例示的WSDLテンプレートは、以下に示される。例証されるように、既存のWSDLフォーマッティングは、例えば、サービスが使用するデータ、サービスによって提供される機能性、サービスが提供される様式、およびサービスがアクセスされ得る場所を含む、サービスに関連する識別情報を提供する。
【化1-1】
【化1-2】
【0038】
前述の実施例によって例証されるように、WSDLバージョン2.0は、ウェブサービスを記述するために使用される、いくつかの要素をサポートする。より具体的には、既存のWSDLテンプレートは、ウェブサービスを記述するために使用される、以下の要素をサポートする。
・<Types>要素は、特定のサービスによって使用されるデータを記述する。XMLスキーマ定義(XSD)が、本目的のために使用される。
・<Interface>要素は、特定のサービスを使用して実施されることができる動作(<Interface>の一部として<operation>要素内に定義されるように)を定義する。動作情報は、サービスに関連してパスされ得る、具体的入力、出力、および障害メッセージを含んでもよい。サービスとの本データのフォーマッティング交換は、WSDL2.0では、メッセージ交換パターン(MEP)と称され得る。
・<Binding>要素は、WSクライアントまたは消費者がWSと通信することができる方法を定義する。バインディングトランスポートプロトコルは、例えば、REST WSのためのHTTPまたは従来のWSのためのSOAP(XML+HTTP)を含む、いくつかの異なるプロトコルのいずれかであってもよい。
・<service>要素は、WSのためのアドレス(<endpoint>要素内に規定される)と具体的インターフェースおよびバインディングを関連付ける。
【0039】
典型的には、WSDLファイルは、ウェブサービス毎に生成される。
図5は、ホテル予約サービスに対応する、例示的WSDLファイルを図示する。
図5に図示されるように、<Types>、<Interface>、<binding>、および<service>WSDL要素は、予約サービスによって実施される動作、予約サービスによって使用されるデータ、予約サービスと通信する方法、および予約サービスがアクセスされ得る場所を定義するために使用される。
(WSDLにおけるメッセージ交換パターン(MEP))
【0040】
WSDLは、サービス指向アーキテクチャ(SOA)において定義されるために使用されてもよい。SOAは、一連の機能性を提供するソフトウェアコンポーネントが、非依存型サービスとしてカプセル化され、メッセージを介して、相互と通信する、アーキテクチャスタイルである。WSDLが、SOAのサポートにおいて使用される場合、WSDLは、1)サービスが送受信可能なメッセージ、および2)それらを動作にグループ化することによるメッセージの関連性を定義する。WSDL2.0は、メッセージ交換パターン(MEP)と呼ばれる動作タイプを記述するための一般的機構を導入する。MEPは、同一動作に属するメッセージが交換される順序を定義する所定のテンプレートを採用することによって、WSDL動作の動作タイプを定義する。以下の8つのMEPが、WSDL2.0において定義される。
・入力のみ:サービスがメッセージを受信する。
・ロバストな入力のみ:サービスがメッセージを受信し、障害の場合、障害メッセージを返す。
・入出力:サービスがメッセージを受信し、応答メッセージを返す。
・入力と随意の出力:サービスがメッセージを受信し、随意に、応答メッセージを返す。・出力のみ:サービスがメッセージを送信する。
・ロバストな出力のみ:サービスがメッセージを送信し、パートナーサービスにおける障害の場合、障害メッセージを受信する。
・出入力:サービスがメッセージを送信し、応答メッセージを受信する。
・出力と随意の入力:サービスがメッセージを送信し、随意に、応答メッセージを受信する。
これらのパターンは全て、サービスとサービスを遠隔で呼び出すパートナー(すなわち、サービス消費者)との間のメッセージ交換を記述する。
(既存のサービスパブリッシュおよび発見プロセス)
【0041】
図6は、既存のサービスパブリッシュおよび発見処理の論理フローを描写する。既存のWSパブリッシュおよび発見処理は、3つの一次システム、すなわち、サービスプロバイダシステム610と、サービスレジストリシステム612と、サービス消費者システム614とによる処理およびその間の通信を伴う。サービスプロバイダシステム610は、特定のサービスへのアクセスを提供するように動作する。
図6におけるフロー1によって例証されるように、サービスプロバイダシステム610は、システム610を介してアクセス可能なサービス毎に、記述をパブリッシュする。パブリッシュ処理は、サービスレジストリシステム612へのサービスの記述の通信を伴ってもよい。サービス記述は、WSDLファイルとしてフォーマットされてもよい。
【0042】
サービスレジストリシステム612は、例えば、ユニバーサル記述、発見、および統合(UDDI)であり得る、サービスレジストリインフラストラクチャ(SRI)を活用してもよい。サービスレジストリシステムまたはSRI612は、サービス記述情報を記憶する。例示的実施形態では、SRI612は、SRI612にパブリッシュされるサービス毎に、WSDLファイルを記憶する。
【0043】
図6のフロー2によって例証されるように、サービス消費者システム614は、ウェブサービスを発見するために、要求をSRI612に通信する。要求は、要求されるサービスのタイプを規定するパラメータを含んでもよい。要求に応答して、SRI612は、要求に規定されるパラメータに対応するサービスのためのWSDLファイルをサービス消費者システム614に転送する。
【0044】
サービス消費者システム614は、受信されたWSDLファイルからの情報を使用して、サービスプロバイダ610によって提供されるサービスにアクセスするための要求をフォーマットする。例えば、サービス消費者システム614は、WSDLファイル内の情報を使用して、サービスプロバイダシステム610が、特定のサービスへのアクセスを提供し、対応する要求をシステム610に伝送することを識別する。
【0045】
サービスパブリッシュおよびレジストリの代替アプローチも試みられている。例えば、サービスパブリッシュおよび発見は、一般的検索エンジン、特殊WS広告ウェブサイト、および/または単純様式におけるウェブ上での伝搬性WSDLファイルを使用して実施されてもよい。
(WS意味論)
【0046】
WSDLは、サービスを、関連入力および出力、エンドポイント、およびサービスに関連する他の情報とともに記述するための手段を提供する。本情報を用いる場合でも、WSDLファイルを処理するコンピューティングシステムは、例えば、インターフェース記述内の有意義な識別子およびテキスト情報を含む、関連付けられた情報の全てを完全に処理するために、ヒト補助を要求し得る。故に、OWL−S等のいくつかの既存の試みは、意味注釈をWSDLファイルに追加することに焦点を当てている。
(ウェブアプリケーション記述言語(WADL)およびRESTfulサービス記述言語(RSDL))
【0047】
既存のパブリッシュおよび発見システムは、WASDL以外の技術を採用してもよい。例えば、サービスは、表象状態転送(REST)スタイルウェブアプリケーションを記述するために使用され得るウェブアプリケーション記述言語(WADL)を使用して、記述される場合がある。WADLは、「リソース」が中心概念であるという意味において、RESTまたはリソース指向アーキテクチャ(ROA)スタイルに従う、典型的には、HTTPベースのウェブアプリケーションを記述するために採用される、記述言語である。WADLは、2009年8月31日にSun Microsystemsによってワールド・ワイド・ウェブ・コンソーシアム(W3C)に提出されたが、標準化されておらず、広く採用されていない。
【0048】
それと比較して、WSDLバージョン2.0は、形式仕様であって、WSを記述および定義するための業界標準である。WSDLは、サービス指向記述言語である。WSは、「サービス」が中心概念である、サービス指向アーキテクチャ(SOA)を実装するための最も一般的技術のうちの1つになりつつある。既存のWSは、2つのタイプにグループ化されることができる。すなわち、1)従来のタイプである、大規模WSと、2)RESTful WSである。2つのタイプは、大規模WSがSOAP(HTTP+XML)をトランスポートプロトコルとして使用し、REST設計原理に従わないという点において異なる。例えば、「追加」動作は、HTTPにおいて「取得」動作にバインディングする。それと比較して、RESTful WSは、REST設計原理に従い、1)HTTP方法を明示的に使用し、2)ステートレスであって、3)ディレクトリ構造状URIをエクスポージャし、4)XML、ジャバスクリプトオブジェクト表記法(JSON)を転送することを含む。RESTful WSベースのシステムは、ROA(「リソース」が中心概念である)ではなく、依然として、SOAであり得ることは、着目に値する。
【0049】
RESTfulサービス記述言語(RSDL)はまた、RESTful WSのための機械可読XML記述でもある。RSDLは、ウェブのHTTPアーキテクチャに基づいて、WSの再使用を簡略化するように意図される。しかしながら、RSDLは、RESTful WSを記述するために具体的に設計されている一方、最新のWSDL2.0は、本目的をすでに達成することができる。加えて、WADLと同様に、RSDLは、広く採用されているWSDL2.0と比較して、WSを記述するための標準化言語ではない。
(M2MシステムおよびM2Mサービス)
【0050】
図7は、ウェブサービスシステムとM2Mシステムリソースとの間の通信経路を描写する、ネットワーク略図である。示されるように、M2Mエリアネットワーク710は、M2Mエンドデバイス712とM2Mゲートウェイ(GW)714との間の接続を提供する。M2Mエリアネットワーク710は、例えば、IEEE802.15、Zigbee(登録商標)、Bluetooth(登録商標)等のパーソナルエリアネットワーク技術を採用するネットワークを含む、任意の好適なネットワークであってもよい。M2Mデバイス712は、湿度もしくは温度等の感覚情報の報告等のサービスを提供する、または照明スイッチ等のコントローラとして機能する、リソース制約デバイスであってもよい。M2Mエンドデバイス712は、コアネットワーク720を経由して、M2Mサーバ722と通信する、M2M GW714と通信する。M2Mサーバ722は、外部ネットワークおよびアプリケーション730とインターフェースをとる。外部アプリケーション730は、サービスの消費者であってもよく、M2Mサーバ722を介して、デバイス712によって提供されるサービスにアクセスしてもよい。
(CoAPプロトコルにおけるリソース観察)
【0051】
制約付きアプリケーションプロトコル(CoAP)は、無線センサネットワーク等の制約付きノード/ネットワークと併用するために具体的に開発されたアプリケーションプロトコルである。CoAPは、ますます注目が集まっており、IoTシステムのための有望なメッセージングプロトコルとなりつつある。CoAPサーバとCoAPクライアントとの間のRESTfulリソース動作のサポートに加え、CoAPプロトコルはまた、リソース表現をCoAPサーバ(すなわち、サービスプロバイダ)から関与CoAPクライアント(すなわち、サービス消費者)に自動的にプッシュすることを可能にする、「観察」と称される加入/通知機構を定義する。
【0052】
図8は、CoAPを使用して記録された観察動作の実施例を図示する。CoAPクライアントは、最初に、取得要求を観察オプションとともに、CoAPサーバに送信し、関与リソースを登録する。クライアントは、3つの通知をCoAPサーバから受信し、第1の通知は、登録に応じて送信され、他の2つの通知は、リソースの状態が変化したときに発行される。通知は、CoAPクライアントからのオリジナル取得要求内に含有される同一トークンをエコーし、したがって、CoAPクライアントは、それらをオリジナル取得要求に容易に相関させることができる。
(既存のパブリッシュおよび発見処理の制限)
【0053】
多くの既存のソフトウェアシステム(エンタープライズアプリケーションシステム等)は、WS技術を使用することによって、分散かつ疎結合方式で実装されている。現在、新しく出現したM2M/IoTサービスを活用および/または統合するために、既存の方法論を拡張することに関心が集まっている。故に、それらの新しく出現したM2Mサービスを既存のWSベースのソフトウェアシステムにスムーズに統合するためのシステムおよび方法の開発は、解決されるべき基本問題である。そのようなシステムの開発は、新しく出現したシステムにおいて使用されている多様な技術によって複雑となる。例えば、多くの既存のシステムは、SOAを採用する一方、新しく出現したシステムは、典型的には、ROAを利用する。
【0054】
前述の議論に記載のように、サービスパブリッシュおよび発見の目的のために、サービスを記述するために使用され得る、いくつかの異なるサービス/リソース記述言語(例えば、WSDL、WADL、またはRSDL)が存在する。これらの言語はそれぞれ、ウェブベースのシステムによるM2Mサービスの効率的パブリッシュおよび発見を妨げる、制限を有する。本明細書における議論は、最も広く使用されている記述言語であるため、WSDLに焦点を当てる。しかしながら、他の記述言語も類似制限を有し得、WSDLに関連して以下に説明されるように、同様に拡張され、開示されるシステムおよび方法を提供し得ることを理解されたい。
(既存のWSDLパブリッシュ/発見アーキテクチャは、IoTシステムに不適切である)
【0055】
IoTの状況では、典型的には、リソース(温度、湿度等)を提供する、多数のデバイス(例えば、センサ)が存在する。ある推定によると、2020年までに500億個のIoTデバイスが存在することになるであろう。さらに、IoTネットワークでは、類似タイプのデバイスに関してであっても、デバイスは、多数のばらつきを有し得る。例えば、類似機能性を提供するデバイスが、異なる製造業によって作成された異なるソフトウェアを使用して得る等である。IoTデバイスは、デバイスが非アクティブ、すなわち、スリープとなり得る周期に起因して、常時、アクセス可能ではない場合がある。IoTデバイスはまた、デバイスがアクセスされ得る方法を含め、動的構成変化(例えば、スリープスケジュールの調節、入力および出力フォーマットの変更等)を経時的に受ける。
【0056】
図6に関連して前述のように、M2MおよびIoTリソース/サービスをパブリッシュする既存の方法は、各サービスプロバイダが、リソースのそれぞれに対応するWSDLファイルを生成し、リソース毎に、WSDLファイルのそれぞれをサービスレジストリに伝送することを伴う。しかし、本既存の処理は、IoT状況では、最適とは言えない。例えば、サービスプロバイダ、すなわち、IoTデバイスと、WSDLファイルを生成、パブリッシュ、および更新するために必要とされる、サービスレジストリとの間の直接相互作用は、リソース制約デバイスおよびネットワークにとって課題である。多くのIoTデバイスは、制限されたコンピューティング処理容量および制限された電力予算を有し、その両方とも、SRIとの通信を抑制する。
【0057】
さらなる実施例として、IoTデバイスからの多数のWSDLファイルは、SRIを容易に圧倒し得る。前述のように、非常に多くのIoTデバイスが存在する可能性が高く、それぞれ、1つまたはそれを上回るリソースまたはサービスを有する。現在の実践に従って、各リソースは、別個のWSDLファイルが、生成され、SRIに通信される結果をもたらす。多数のWSDLファイルが通信され、SRI上に記憶されることは、SRIを容易に圧倒し、長時間のクエリ遅延につながり得る。
【0058】
デバイス構成の変更を表すための頻繁な更新は、現在のパブリッシュおよび発見プロシージャを使用すると、SRI性能を損なわせ得る。IoTデバイスは、その構成を動的に調節するように適合される。例えば、IoTデバイスは、時として、その構成を調節し、エネルギーを保存する。構成におけるそのような変更は、最適には、デバイス上のリソースに対応するWSDLファイルにも表されるであろう。最適には、構成におけるそのような変更は、SRI上に位置する対応するWSDLファイルにも表されるべきである。残念ながら、構成における変更に伴ってSRIを更新するために要求されるであろう、頻繁な更新は、SRIの処理オーバーヘッドおよび性能を有意に増加させる。
【0059】
サービスパブリッシュおよび発見のための既存の方法は、IoTデバイス可用性を考慮しない。前述のように、いくつかのIoTデバイスは、例えば、特定のデバイスがスリープに入ることに起因して、利用可能ではない周期を被る。故に、現在の実践に従って、サービス消費者システムが、SIRを介してサービスを特定し得る場合でも、消費者システムは、デバイスが、利用不可能である、すなわち、スリープ中であり得るため、特定のサービスプロバイダデバイスにアクセス不可能であり得る。
【0060】
本出願人はまた、リソースのパブリッシュおよび発見の既存のプロセスの不適切性に加え、リソースを記述するために現在使用されているウェブサービス記述言語(WSDL)が、IoTデバイスの特性に対応しないことにも着目する。例えば、既存のWSDLテンプレートは、M2Mサービスの特性を適切に記述するための特徴または要素を欠いている。所与のサービスに関して、3つのデータアイテム、すなわち、サービスがアクセスされ得る場所、サービスがアクセスされ得る時、およびサービスへのアクセスと関連付けられたコストが、把握される場合が多い。いくつかの点において、M2M/IoTデバイスによって提供されるサービスは、レストランが、関連付けられた3つのデータアイテム、すなわち、場所(ピザレストランが781 3rd Ave.に位置し得る)、時(ピザレストランが月曜日から金曜日の9AM〜6PMに営業し得る)、および料金(ピザスライスがスライスあたり$3.5である)を有し得るという点において、ピザレストランによって提供されるサービスと異ならない。ピザレストランを広告するとき、潜在的顧客に場所、時、および料金について知らせることが有用であることと同様に、M2MおよびIoTおよびパブリッシュサービス情報についても、本出願人は、場所、時、および料金を規定する情報をパブリッシュすることが有用であることに着目する。しかしながら、既存のWSDLテンプレート要素は、本情報のパブリッシュを適切にサポートしない。
【0061】
サービスが位置する「場所」に関して、特定の場所に近接するサービスを利用する概念は、IoTシステムに共通である。例示的シナリオでは、可能性として考えられる火災イベントを検出するために、光/煙霧センサに近接する温度センサデバイスを特定することが所望され得る。別の例示的シナリオでは、特定のサービスへのアクセスに関わるネットワークトラフィックを低減させるように、近接近するサービスを特定することが所望され得る。既存のWSDLテンプレートは、位置情報をパブリッシュおよび発見するために指定される要素を欠いている。
【0062】
サービスがアクセスされ得る「時」に関して、IoTデバイスおよびそれらが提供するサービス/リソースは、利用可能ではない周期を被る。例えば、IoTデバイスが、デバイスがスリープである周期を経るのは、非典型的であるわけではない。利用可能ではない周期の間のサービスへのアクセスの試みは、サービスの失敗をもたらす可能性が高い。既存のWSDLテンプレートは、サービスに関連する時間的情報をパブリッシュおよび発見するために指定される要素を欠いている。既存のWSDLテンプレートおよび処理は、サービスが常時利用可能であると仮定する。
【0063】
サービスにかかり得る「料金」に関して、少なくとも部分的に、サービスにアクセスするために関連付けられたコストに基づいて、使用するサービスに関する決定が、行われてもよい。現在のWSDLバージョン2.0テンプレートは、サービスプロバイダがサービス記述内のそのサービスを使用するための価格(必ずしも、実際のお金ではなく、例えば、仮想通貨を使用する)を規定することをサポートしない。
【0064】
既存のWSDLテンプレートはまた、M2Mシステムにおける新しいサービスプロビジョニングまたは相互作用パターンを記述するための特徴を欠いている。既存のWSDL2.0仕様は、8つのメッセージ交換パターン(MEP)を定義する。定義されたMEPの多くは、単一トランザクションにおけるサービスプロバイダとサービス消費者との間の相互作用を記述する。定義されたMEPは、ある時間周期にわたる複数のトランザクションまたは相互作用を記述する能力を欠いている。
【0065】
既存のWSDLテンプレートはまた、例えば、CoAPプロトコルにおける「観察」動作等の新しい相互作用パターンを記述することをサポートしない。
図8に関連して前述のように、観察動作に関連して、CoAPクライアントは、CoAPサーバに登録後、規定時間周期にわたって、いくつかの通知を受信する。既存のWSDLは、そのような特徴を適切に記述する構造を欠いている。
(M2M/IoTサービスの拡張パブリッシュおよび発見)
【0066】
本出願人は、M2M/IoTデバイスによって提供されるサービスのパブリッシュおよび発見のための新しいシステムおよび方法を開発した。開示されるシステムおよび方法は、制約付きM2M/IoTデバイスに関して特に有用である。開示される実施形態のある側面によると、IoTデバイスは、リソース記述をM2M GWに通信する。GWは、中間ノードとして動作する。受信されるリソース毎に、GWは、リソースを、WSDL−Iファイル(「I」は、ファイルが個々のサービスに関することを示す)と称される「個々の」WSDLファイル内にラップする。GWはまた、いくつかの特性を共有する、サービスのグループを作成し、グループ化を、WSDL−Gファイル(「G」は、ファイルがサービスのグループに関することを示す)と称され得るWSDLファイル内に記録する。GWは、グループ化されたWSDLファイル(すなわち、WSDL−Gファイル)をSRIにパブリッシュする。GWは、典型的には、個々のWSDL−Iファイルをパブリッシュせず、それによって、WSDLプロセスから生じるオーバーヘッドを低減させる。例えば、ウェブサービスアプリケーションであり得る、サービス消費者システムは、特定のパラメータを満たすサービスに関して、SRIにクエリする。SRIは、クエリパラメータに対応するWSDL−Gファイルを返す。サービス消費者システムは、WSDL−Gファイル内の情報を使用して、適切なGWを特定し、特定のWSDL−Gファイルに規定されるサービスに関する特定の情報を要求する。それに応答して、GWは、特定のWSDL−Gファイルに対応するWSDL−Iファイルを返す。サービス消費者システムは、受信されたWSDL−Iファイル内の情報を使用して、1つまたはそれを上回るサービスを選択し、選択されたサービスを受信するための要求をフォーマットする。
【0067】
パブリッシュおよび発見処理における中間物としてのGWの導入は、M2Mエリアネットワーク内で頻繁であり得る、WSDL更新を留保する利点を有する。GWは、WSDL−GファイルをSRIにパブリッシュする必要のみあり、これは、SRIとの通信オーバーヘッドおよびSRI内の算出オーバーヘッドを低減させる。
【0068】
図9Aは、M2M/IoTサービスのパブリッシュおよび発見のためのシステムアーキテクチャおよび高レベルフローを描写する、略図である。
図9Aを参照すると、複数のM2M/IoTデバイス910が、GW912と通信可能に結合される。デバイス910は、例えば、感覚情報を提供するセンサ等の任意のM2M/IoTデバイスであってもよい。デバイス910は、例えば、M2Mエリアネットワークを経由して、GW912と通信してもよい。
図9Aを参照すると、ステップ1において、デバイス910は、リソース記述をGW912に通信する。リソース記述は、特定のデバイスによって提供されるリソースまたはサービスを記述する。情報は、例えば、サービスが行うこと、サービスが位置する場所、およびサービスと関連付けられたコストに関する情報を含んでもよい。例示的実施形態では、デバイス910およびゲートウェイ912は、
図26A−Dに関連して以下に説明されるようなシステムを使用して実装されてもよい。
【0069】
ステップ2において、GW912は、サービス毎にWSDL−Iファイルを生成することによって、個々のリソースのそれぞれをサービスにラップする。代替の例示的実施形態では、デバイス910は、WSDL−Iファイルを生成し、ファイルをGW912に通信してもよい。いくつかのインスタンスでは、デバイス910は、例えば、温度、湿度、光等の複数のリソースを提供するように適合されてもよい。例示的シナリオでは、各リソースは、別個のWSDL−Iファイルにラップされてもよい。しかしながら、典型的には、各デバイス910は、1つのみのリソースを提供する。故に、外部消費者システムは、前述のように、その既存のSOAスタイルに準拠するWSDL−Iファイルを通して、M2Mサービスを発見することのみ必要である。
【0070】
M2M/IoTデバイス910は、エネルギー効率目的のために、その構成を動的に変更する、または頻繁に利用不可能になり得る。そのような変更がデバイス910で生じると、対応するWSDL−Iファイルも、適宜、更新される必要がある。そのような更新の発生は、関与し得る多数のデバイスを前提として、頻繁であり得る。開示されるシステムでは、WSDL−Iファイルは、直接SRI914にパブリッシュされる代わりに、GW912に記憶される。故に、開示されるシステムおよび方法は、ネットワークを横断して多数のファイルを伝送する必要性を回避し、改良されたスケーラビリティをもたらす。各WSDL−IファイルをSRIにパブリッシュするのではなく、GW912は、機能性の類似性に基づいて、リソースをグループ化する。例示的シナリオでは、GW912は、特定の地理的場所における温度読取値を記録する、デバイスのグループを定義してもよい。GW912は、特定のグループのメンバーであるサービスを記録する、WSDL−Gファイルと称される、WSDLフォーマットファイルを作成する。
【0071】
図9Aを参照すると、ステップ3において、GW912は、ファイルをSRI914に通信することによって、WSDL−Gファイルをパブリッシュする。例示的実施形態では、SRI914は、
図7に描写されるような典型的M2Mシステムアーキテクチャに準拠する、M2Mサーバに実装されてもよく、
図26Dに関連して以下に説明されるもの等のデバイス上に実装されてもよい。GW912は、続いて、更新情報をデバイス910から受信してもよい。例えば、デバイスは、その構成を変更する、またはスリープに入り得、これは、更新されたリソース情報がGW912に通信される結果をもたらし得る。GW912は、そのような更新に応答して、適切なサービスのための対応するWSDL−Iを変更してもよい。GW912はまた、受信されたリソース更新よって実装された変更が、WSDL−Gファイル内に反映されたグループ情報に影響を及ぼす場合、対応するWSDL−Gを更新してもよい。一般に、WSDL−Gは、多くの場合、下層WSDL−Iファイルへの変更によって影響されない、高レベル共通情報を反映するため、頻繁に更新される必要はない。WSDL−Gファイルは、頻繁に変化しないため、GW912が改訂されたWSDL−GファイルをSRI914に転送する必要があるインスタンスは、比較的に少ない。その結果、GW912とSRI914との間の更新の通信専用のリソースは、既存の方法と比較して低減される。
【0072】
任意の1つのWSDL−Gファイルのために、複数のWSDL−Iファイルが存在してもよい。故に、WSDL−IおよびWSDL−Gファイルは、階層的に関連するものと見なされ得る。本関係は、複数のステップを伴う発見処理に反映される。
図9Aを参照すると、ステップ4に示されるように、M2M/IoTサービスを利用し得る任意のシステムであり得る、消費者システム916は、要求を生成し、SRI914に伝送する。例示的実施形態では、サービス消費者システム916は、ウェブサービスによって提供される情報を使用する、ウェブベースのアプリケーションであってもよい。例示的シナリオでは、消費者システム916は、IoT/M2Mシステムから天気予報サービスにアクセスし、受信された情報を使用して、リアルタイムで労働力の派遣を計画する、芝生整備システムであってもよい。別の例示的シナリオでは、消費者システム916は、道路側IoT/M2Mシステムからの交通状態サービスにアクセスし、受信された情報を使用し、渋滞を緩和するように、トラフィックフローを動的に誘導する、交通管理システムであってもよい。例示的実施形態では、サービス消費者システム916は、
図26A−Dに関連して説明されるようなシステムを使用して実装されてもよい。要求は、サービスの特性を定義する特定のパラメータを用いて、クエリを規定してもよい。例えば、要求は、特定の倉庫設備における6PM〜6AMの時間の間の温度読取値を提供する、サービスを定義するパラメータを規定してもよい。SRI914は、そこに記憶されたWSDL−Gファイルにクエリし、クエリパラメータに応答して、サービスのグループに関する特定のWSDL−Gファイルを識別する。応答WSDL−Gファイルは、消費者システム916に通信される。
【0073】
図9Aのステップ5を参照すると、消費者システム916は、受信されたWSDL−Gファイル内の情報を解析し、特定のファイルと関連付けられたゲートウェイを識別する。消費者システム916は、受信されたWSDL−Gファイルに関する詳細な情報の要求を生成し、識別されたゲートウェイに伝送する。GW912は、要求を受信し、要求に対応するWSDL−Gファイルを識別し、WSDL−Gファイルに対応するWSDL−Iファイルを集め、その要求を起源とする集められたWSDL−Iファイルを消費者システム916に通信する。
【0074】
ステップ6において、消費者システム916は、GW912から受信された受信WSDL−Iファイルを処理する。消費者システム916は、WSDL−Iファイル内に提供される情報を使用して、1つまたはそれを上回るサービスを選択する。選択されたサービスに関するWSDL−Iファイル内の情報を使用して、消費者システム916は、選択されたサービスに対応する特定のデバイス910を識別し、サービスにアクセスするための要求を生成し、要求を特定のデバイス910に伝送する。
【0075】
図9Aに関して、ステップ(1)−(3)は、サービスパブリッシュに関し、ステップ(4)−(5)は、サービス発見に関し、ステップ(6)は、サービスアクセスに関することを理解されたい。
【0076】
開示される方法では、WSDL−Iファイル内に含まれるサービスアクセス詳細は、消費者システムがSRIにコンタクトしたときにWSDLファイルを通信する既存のプロセスと比較して、後に、すなわち、GWにコンタクトするとき、消費者システムに通信される。開示されるシステムおよび方法におけるように、処理の後の段階でサービスアクセス詳細を提供することは、アクセスするための具体的サービスプロバイダを判定し、入力/出力およびエンドポイントアドレス情報に関連する正確なアクセス詳細を得ることを伴う、動的サービスプロバイダバインディングに対してより柔軟性を可能にする。本向上した柔軟性は、サービスステータスの動的変更およびM2Mデバイス内で生じ得る異種特性に対応する。それと比較して、既存のWSDLパブリッシュおよび発見処理では、サービス消費者は、サービスアクセス情報を直接SRIから得る。本既存の技術を使用すると、消費者は、デバイスのステータスが、変化している場合があり、かつもはや利用可能ではない場合があるため、デバイス上のサービスにアクセスできないであろうことが可能性として考えられる。加えて、選択した場合、サービス提供をもたらし得た類似サービスを伴うデバイスは、使用されないままとなるであろう。
【0077】
本願によるサービスの発見は、最初に、SRIにクエリし、続いて、GWにクエリする、2ステッププロセスを伴うが、いくつかの状況では、発見は、GWに対する1ステップ要求を用いて進められてもよい。例えば、消費者システムは、消費者システムが、GWおよびグループに関する情報ならびにそこに記憶されたWSDL−Iファイルを前もって得ている場合、直接、GWにコンタクトし、適切なWSDL−Iファイルを選択してもよい。
(WSDL−Iテンプレート)
【0078】
WSDL−Iテンプレートは、個々のサービス毎にWSDL−Iファイルを生成するために使用される、一般的テンプレートである。前述のように、既存のWSDL2.0テンプレートは、サービスへのアクセス方法に関連する情報のみを含むため、M2Mシナリオにおいて使用されるとき、最適とは言えない。本出願人は、WSDL−Iが、サービスへのアクセス方法を記述するだけではなく、また、例えば、サービスが利用可能な時、サービスプロバイダが位置する場所、およびサービスを使用するためのコスト等のコンテキストまたはソーシャル情報を記述するように、新しい属性を既存のWSDLテンプレートに追加することを提案する。これらはそれぞれ、M2Mシナリオにおけるサービスプロビジョニングの成功に影響を及ぼす潜在性を有する、無視できない要因である。
【0079】
サービスを使用するためのコストに関して、一般的用語「仮想金額」が、本明細書で使用され、例えば、M2Mシステムにおいて使用され、ソーシャル関連の協働をサポートまたは促進することができる、クレジット、スコア、または仮想マネー等の任意の好適な値の測定値を指してもよい。例えば、デバイスは、他のシステムがそのリソースにアクセスすることを可能にするためのクレジットを獲得する、または仮想マネーもしくはスコアを獲得してもよい。仮想価格の値は、異なるアプリケーションシナリオに依存してもよい。仮想価格は、ネットワークオペレータ、デバイス自体、またはネットワークキャリアによって設定されてもよい。
【0080】
例示的実施形態では、WSDLテンプレートは、サービスが利用可能な時、サービスプロバイダが位置する場所、およびサービスを使用するためのコストを記述する情報を受信するための新しい属性を含むように適合されている。例示的実施形態では、属性は、以下の実施例に示されるように、現在のWSDL2.0テンプレートの<endpoint>セクションに追加されている。
【化2-1】
【化2-2】
【化2-3】
【0081】
所与のWSDL−Iファイルに関して、<operation>要素は、入力および出力のためのメッセージ交換パターンおよびデータタイプを記述する。入力/出力のための実践的値は、WSDLファイル内に含まれない。むしろ、入力は、サービス消費者から生じ、出力は、入力を処理後、サービスプロバイダから生じるであろう。本明細書に提案されるような新しい属性等のサービス記述情報に関して、値は、WSDLファイル内に含まれる。これは、具体的URIがサービスがアクセスされ得る場所を示すために含まれる、<endpoint>部分に類似する。異なる測定基準系が、広く展開され、他のサービスとの相互動作可能である、M2Mサービスの能力を低下させずに、属性のための値を設定するために使用されてもよい。潜在的実施形態の一側面によると、意味論情報が、消費者がそれらの属性内の値の意味を正しく理解することに役立てるために属性に追加される。
【0082】
例示的実施形態では、個人は、サービスのために規定されるべき属性をカスタマイズしてもよいことを理解されたい。例えば、個人は、コンピューティングシステムによって生成および表示されるユーザインターフェースを採用し、サービスに適用され、それに関して記録されるべき属性を規定してもよい。
図10Aは、サービスのためのWSDL−Iファイル内に記憶されるべき属性を規定するために、システムによって生成され、個人によって使用され得る、例示的ユーザインターフェースを描写する。示されるように、ユーザインターフェースは、ユーザが、個人がサービスに適用することを所望し、サービスのためのWSDL−Iファイル内に含まれる属性を選択し得る、チェックボックスを提供する。
図10Aの例示的実施形態では、ユーザインターフェースは、ユーザが、WSDL−Iファイル内に、サービスが利用可能な時、サービスプロバイダが位置する場所、およびサービスを使用する仮想コストを規定する属性を含むことを選択することを可能にする、ユーザインターフェース特徴を提供する。いったんユーザが、サービスに関連する特定の属性を選択し、「確認」ボタンを選択すると、対応するWSDL−Iファイルが、ユーザ入力に準拠して構成されてもよい。
図10Aの例示的実施形態は、対応するWSDL−Iファイル内に含まれるべき属性に応じて、特定の属性を選択するための特徴を図示するが、ユーザインターフェースは、付加的および/または異なる属性を選択するための付加的特徴を伴って改変および/または拡張されてもよいことを理解されたい。
(WSDL−IによるCoAPにおける「オブザーバ」動作の記述有効化)
【0083】
WSDL−Iファイルは、CoAPプロトコルにおいて使用される「観察」動作を記述するように有効にされてもよい。CoAPプロトコルでは、クライアントが所与のリソースのための観察動作をサブスクライブすることを意図するとき、クライアントは、特定の情報をリソースプロバイダに伝送する。例えば、クライアントは、クライアントがプロバイダから送信される後続通知を理解することを可能にするために使用されるべきトークンおよびクライアントが通知を受信すべき時間を示す観察持続時間を伝送してもよい。
【0084】
観察動作をWSDL−Iテンプレート内に記述することは、以下に説明されるような特定のプロシージャを実施することを伴う。例示的シナリオでは、関わるリソースは、デバイス上の温度リソースである。故に、パラメータ名は、容易な理解のために、「温度」に関連してもよい。
【0085】
観察動作を記述するために、新しいデータ要素が、観察登録のためにWSDL−I内に定義されてもよい(すなわち、xs:elementname=“observeRegist”)。観察登録データ要素は、以下の実施例に示されるように、サービス消費者によって使用されるべきサービストークンおよび観察持続時間を含んでもよい。異なるトークンが、続いて、CoAP層内に自動的に生成され、これは、CoAPクライアントによって、後続通知を認識するために使用される。それと比較して、本明細書に定義されるovserveServiceTokenは、サービス消費者(CoAP層の上方にある)が、サービスプロバイダからの通知を認識することを有効にするためのものである。以下の実施例に示されるように、新しいデータ要素は、WSDL−Iファイルの<type>セクションに定義されてもよい。
【化3】
【0086】
観察動作を実装することはまた、通知のための新しいデータ要素(すなわち、xs:elementname=“observeResponse”)を定義することも伴う。ovserveResponse通知データ要素は、以下の例示的リストに示されるように、例えば、リソース表現(例えば、温度)およびトークンを示す、要素を含む。
【化4】
【0087】
オブザーバ動作を実装することはさらに、WSDL−Iファイル内の<operation>セクションにおけるパターン属性のための新しい値(すなわち、「Observe−In−Out」)を定義することを伴う。概して、WSDL2.0は、任意の者が、WSDLプロセッサによって処理され得る、新しいパターンを認識および理解することができる、新しいパターンを定義することを可能にする。実際、Observe−In−Outは、ovserveTimeDurationが0に設定される場合、従来のIn−Outパターンとなってもよい。故に、WSDL−Iファイル内の<operation>は、以下の実施例に示されるような「観察」動作として記述されてもよい。以下に示されるように、動作のパターンは、「Observe−In−Out」(消費者が次の時間周期において通知のバッチを受信し得ることを示す)に設定され、入力/出力メッセージは、上記に定義されるような新しいデータ要素、すなわち、それぞれ、ovserveRegist(登録のために使用される)およびovserveResponse(後続通知のために使用される)を使用する。
【化5】
(WSDL−Gテンプレート)
【0088】
WSDL−Iファイルを生成することによって、受信されたデバイスリソースのそれぞれをサービスとしてラップすることに加え、GWはまた、類似サービスをグループにカテゴリ化する。GWは、WSDL−Iファイル内に含まれる情報を要約することによって、グループ毎にWSDL−Gファイルを生成する。GWは、代替として、または加えて、直接、M2M/IoTデバイスから受信されるリソース記述内に含まれる情報から、WSDL−Gファイルを生成してもよい。例示的WSDL−Gテンプレートは、
図11に描写される。WSDL−Gテンプレートは、特定のWSDL−Gファイルを生成する際に使用される、一般的テンプレートである。
図11の例示的WSDL−Gテンプレートによって例証されるように、WSDL−Gファイルは、典型的には、サービスのグループに関連する高レベルまたは集約された統計的情報を含む。
図11のWSDL−Gテンプレートは、例証のために提示される。
図11に描写されるものの付加的または異なる属性が、代替実施形態では使用されてもよいことを理解されたい。
【0089】
図11を参照すると、例示的WSDL−Gテンプレートは、<groupIdentifier>属性を含んでもよい。<groupIdentifier>属性は、グループIDを定義するデータを受信するように意図される。グループIDは、グループ内に定義されたサービスの特定のグループについての情報に関する要求がGWに行われるときに、消費者サービスによって使用されてもよい。
【0090】
WSDL−Gテンプレートは、<groupFunction>属性を含んでもよい。<groupFunction>属性は、特定のグループの機能を記述する情報を受信する。例示的シナリオでは、情報は、明確な意味論情報を含んでもよい。
【0091】
<numberOfMembers>属性は、現在グループ内に存在するメンバーの数を示す情報を受信する。例示的実施形態では、メンバーの数の値は、正確な数字ではなく、むしろ、比較用語で表されるより一般化された測定基準であってもよい。例えば、メンバーの数は、特定の値を上回るまたはそれ未満、例えば、20より大きい(>)として表されてもよい。
【0092】
<groupStatistics>属性は、サービスのグループに関する統計に関する情報を受信する。例えば、属性は、本グループ内のサービスにアクセスする際の成功の確率を示す情報を含んでもよい。加えて、QoS関連パラメータもまた、テンプレートに追加されてもよい。情報は、特定のグループと関連付けられたサービスを使用するかどうかを評価する際、サービス消費者システムによって使用されてもよい。
【0093】
<locationRegion>属性は、グループ内のサービスが提供される領域を示す情報を受信する。
【0094】
<inputAllowed>属性は、サービスを実施するために消費者から必要とされるパラメータを記述する。<outputExpected>属性は、グループ内のサービスから予期される出力を記述する。<inputAllowed>および<outputExpected>属性は、典型的には、個々のサービスに関する具体的記述を提供せず、むしろ、クライアントが初期または高レベル理解を有するためのグループ内のサービスの入力および出力の要約リストを含む。
【0095】
<GWAddress>属性は、特定のWSDL−Gテンプレートを起源とするGWにコンタクトする方法を示す情報を含む。例えば、情報は、GWが到達され得るIPアドレスおよび/または具体的ポートを含んでもよい。
【0096】
例示的実施形態では、個人は、サービスのグループ化のために規定される情報をカスタマイズしてもよいことを理解されたい。例えば、個人は、特定のグループ内のサービス毎に記憶された情報内に含まれる属性を規定するために、コンピューティングシステムによって生成および表示される、ユーザインターフェースを採用してもよい。
図10Bは、システムによって生成され、個人によって使用され、サービスのための属性を規定し得る、例示的ユーザインターフェースを描写する。示されるように、ユーザインターフェースは、ユーザが、個人がサービスの特定のグループのための対応するWSDL−Gファイル内に含まれることを所望する特定の属性を選択し得る、チェックボックスを提供する。
図10Bの例示的実施形態では、ユーザインターフェースは、ユーザが、WSDL−Gファイル内に、サービスのそれぞれによって提供されるサービスの品質を規定する属性および/またはそれを介してサービスがアクセスされるゲートウェイの特性を規定する属性を含むかどうかを選択することを可能にする、ユーザインターフェース特徴を提供する。いったんユーザが、サービスのグループに関連する特定の属性を選択し、「確認」ボタンを選択すると、WSDL−Gファイルは、ユーザ選択に準拠して構成される。
図10Bの例示的実施形態は、対応するWSDL−Gファイル内に含まれるべき属性に応じて、特定の属性を選択するための特徴を図示するが、ユーザインターフェースは、付加的および/または異なる属性を選択するための付加的特徴を伴って改変および/または拡張されてもよいことを理解されたい。
(リソース記述とWSDL−Iサービス記述との間のマッピング)
【0097】
M2Mシステムでは、他のシステムに利用可能にされるデバイス動作は、リソースと称され、特定の記述構文および言語を使用して記述される。ウェブサービス動作では、他のシステムに提供される機能は、サービスと称され、特定の記述構文および言語を使用して記述される。故に、GWが、リソース記述をデバイスから受信すると、GWは、リソース記述からの情報をウェブサービス記述を予期するシステムに理解可能であるようにフォーマットする必要がある。本プロセスは、時として、WSDL−Iファイルを生成することによるリソースのサービスへのラップと称される。処理は、典型的には、リソース記述からの要素をWSDL−Iファイル内の対応する要素にマップすることを伴う。
【0098】
リソースを記述するために、多数の異なるアプローチが存在する。故に、処理リソース記述を処理し、WSDL−Iファイルを作成するために、あらゆるインスタンスで使用され得る、一般的プロシージャは、存在しない。コアリソースディレクトリ(RD)は、IETFドメイン内の一般的概念であって、多くの場合、リソース記述を記憶するためのリポジトリとして使用される。RDは、デバイス上にホストされるリソースについてのウェブリンクのためのリポジトリとしての役割を果たす。RDは、デバイスのためのRESTインターフェースのセットを実装し、リソースディレクトリエントリと称される、ウェブリンクのセットを登録および維持する。リソースディレクトリエントリは、リソース記述としての役割を果たし得る。例示的実施形態では、RDは、M2M/IoTデバイスがRDに登録し、そのリソース記述をGWに通信するように、GWと同じ場所に存在してもよい。
【0099】
図12は、RDを使用して記述されるリソース記述をWSDL−Iファイルにマップするためのプロセスを描写する。
図12の左側に示されるように、デバイス−1は、POST要求を初期化し、POSTのペイロード部分内にフォーマットされたリンクによって記述される、その温度リソースをGWに提出してもよい。POST要求は、リソースを記述するための関連情報の全てを含み、その情報は、WSDL−Iファイルを生成するために使用される。提供される情報は、例えば、リソースが行うこと、リソースが位置する場所、リソースが利用可能な時、およびリソースと関連付けられたコストを規定する情報を含んでもよいことを理解されたい。要求の受信に応じて、GWは、リソース記述をRD内に記憶し、WSDL関連プロシージャを実行し、WSDL−Iファイルを生成する。
【0100】
概して、GWは、リソース記述内の情報を解析し、解析された情報をWSDLテンプレートの適切な要素にマップすることによって、リソース記述からWSDL−Iファイルを生成する。本マッピングは、受信されたリソース記述のフォーマッティングに応じて、変動する。しかしながら、概して、マッピングは、GWが、リソース記述からのどの情報がWSDLテンプレート内のどの要素に対応するかを識別する情報を含むことを要求する。
【0101】
図13は、受信されたリソース記述と生成されたWSDL−Iファイルとの間の例示的マッピングを描写する、略図である。
図13を参照すると、参照文字Aは、トランスポートプロトコルを規定するリソース記述内の情報をマークする。対応する矢印によって記載されるように、リソース記述情報は、WSDL−Iファイル内の<binding>要素で使用されてもよい。
【0102】
参照文字Bは、特定のサービスプロバイダを規定するリソース記述内の情報をマークする。対応する矢印によって記載されるように、本特定のリソース記述情報は、WSDL−Iファイル内のservice>要素で使用されてもよい。
【0103】
参照文字Cは、デバイス/リソースが利用可能であり得ない時を示す情報をマークする。対応する矢印によって記載されるように、リソース記述からの本特定の情報は、WSDL−Iファイル内の<availability>要素で使用されてもよい。
【0104】
参照文字Dは、特定のリソースと関連付けられた仮想価格を示す情報をマークする。対応する矢印によって記載されるように、本特定の情報は、WSDL−Iファイル内の<virtualPrice>要素にマップされてもよい。
【0105】
参照文字Fは、リソースまたはサービスがアクセスされ得る場所を示す情報をマークする。対応する矢印によって記載されるように、本特定の情報は、WSDL−Iファイル内の<geoLoacation>要素にマップされてもよい。
【0106】
参照文字Eは、リソースまたはサービスのタイプを規定する情報をマークする。対応する矢印によって記載されるように、情報は、WSDL−Iファイル内の<type>要素にマップされてもよい。
【0107】
参照文字Gは、特定のリソースのためのインターフェース情報を規定する情報をマークする。対応する矢印によって記載されるように、情報は、WSDL−Iファイル内の<Interface>要素にマップされてもよい。
(サービスグループ化)
【0108】
GWは、類似特性を有するサービスのグループを識別し、識別されたグループ化をWSDL−Gファイル内に記録する。GWは、任意の有用基準に基づいて、サービスをグループ化してもよい。例示的シナリオでは、GWは、類似機能性を有するサービスをグループ化してもよい。典型的には、GWがリソース記述をデバイスから受信すると、生じる2つの典型的シナリオが存在する。第1のシナリオではリソースは、新しいタイプであって、その場合、GWは、リソースのための新しいグループを定義し、グループのためのWSDL−Gファイルを生成する。第2のシナリオでは、リソース記述は、既存のリソース記述への更新を定義し、その場合、GWは、特定のリソースと関連付けられたグループおよびWSDL−Gファイルを更新する。
【0109】
図14は、新しいリソースに関するリソース記述がGWにおいて受信されると実施される処理のフロー図を描写する。
図14を参照すると、ステップ1において、GWは、新しいリソース記述をデバイスから受信する。リソース記述は、例えば、提供される機能性を規定する情報、リソースが利用可能な時間、リソースの場所、およびリソースを使用するためのコストを含む、リソースに関する関連詳細を通信するために好適な任意のフォーマットにおけるものであってもよい。例示的シナリオでは、リソースは、RDを使用して通信される。
【0110】
再び、
図14を参照すると、ステップ2において、GWは、リソース情報を解析し、新しいWSDL−Iファイルを生成し、ファイルをメモリ内に記憶する。GWは、受信されたリソース記述を処理し、
図13に関連して前述のように、マッピングを実施してもよい。
【0111】
ステップ3において、GWは、受信されたリソースとGWによって定義された既存のグループを比較する。GWは、リソースが既存のグループにカテゴリ化されることができるかどうかを評価する。その場合、処理は、ステップ4に継続し、既存のWSDL−Gファイルが、特定のリソースの受信を反映するように更新される。リソースが、既存のグループ内にカテゴリ化されることができない場合、処理は、ステップ5に継続し、新しいWSDL−Gファイルが、作成される。
【0112】
ステップ4において、GWは、新しく識別されたリソースを既存のグループに追加する。より具体的には、GWは、既存のグループのためのWSDL−Gファイルを更新し、新しいリソース/サービスを反映する。WSDL−Gファイルの更新に応じて、GWは、新しいメンバーをグループに追加することが、以前に1つまたはそれを上回るSRIに通信された任意のWSDL−Gファイルの更新を要求し得るかどうかを評価する。例えば、新しいリソースが、グループ内の既存のメンバーより豊富な情報を提供し得る場合、WSDL−Gファイル内の<OutputExpect>セクション(
図13参照)は、本変更を反映するように更新される必要があり得る。GWが、以前に配信されたWSDL−Gファイルが更新を要求すると判定する場合、GWは、WSDL−G更新要求をSRIに開始する。
【0113】
ステップ5において、GWが、新しいリソースが任意の既存のグループに属さないことを判定するインスタンスでは、GWは、新しいグループを定義し、グループのための新しいWSDL−Gファイルを作成する。グループが最初に定義されるとき、1つのグループのメンバーのみ存在するであろう。
【0114】
ステップ6において、GWは、新しいWSDL−Gファイルを1つまたはそれを上回るSRIにパブリッシュする。
【0115】
図15は、GWが、更新を既存のリソースに提供するリソース記述を受信するときに実施される処理のフロー図を描写する。示されるように、ステップ1において、GWは、リソース更新をデバイスから受信する。M2M/IoTデバイスが、デバイスの入力/出力、サービス可用性、またはデバイスの動作の任意の他の側面における変更を反映する、動的変更を受け得ることは、典型的である。その結果、GWは、デバイス変更のステータスとして、リソース更新要求をデバイスから頻繁に受信してもよい。
【0116】
ステップ2において、更新要求内に含まれる情報に応じて、GWは、更新された特定のリソースのための対応するWSDL−Iファイルを更新する。本明細書に開示される改良された処理下、WSDL−Iファイルは、典型的には、SRIデバイスではなく、GWにのみ記憶されることを理解されたい。故に、M2M/IoTデバイスに典型的である、サービスへの頻繁な更新は、SRIを更新するためにリソースを費やすことを要求しない。
【0117】
ステップ3において、WSDL−Iファイルの更新に加え、GWはまた、ソース更新がその対応するサービスが属するグループに影響を及ぼし得るかどうかを評価する。GWが、リソース更新がグループおよび対応するWSDL−Gファイルに更新を要求しないと判定する場合、さらなるアクションは、必要とされず、処理は、ステップ4において終了する。GWが、リソース更新がグループの更新を要求すると判定する場合、処理は、ステップ5に継続する。
【0118】
ステップ5において、GWは、グループを更新し、受信されたサービス更新を反映する。例えば、受信された更新が、デバイスがバッテリエネルギー消耗に起因していずれは到達不能となるであろうことを示す場合、GWは、サービスを対応するグループから削除するであろう。GWは、グループのためのWSDL−Gファイルを更新する。
【0119】
ステップ6において、GWは、WSDL−Gファイルのローカルコピーの更新に加え、また、1つまたはそれを上回るSRI上に記憶されたWSDL−Gファイルの任意のコピーを更新する必要があるかどうかを判定する。例えば、具体的出力インターフェースを有する全デバイスが利用不可能となる場合、GWは、具体的出力がもはやサポートされないため、WSDL−Gファイル内の<outputExpect>セクションを修正するであろう。本シナリオでは、GWは、更新がグループおよびWSDL−Gへの変更を要求し、変更が現在WSDL−Gのコピーを維持している任意のSRIに成し遂げられるべきほど重要であることを判定してもよい。他のインスタンスでは、
【0120】
図13および14に関連する上記の議論は、識別されたサービスのグループを記録するためのWSDL−Gファイルの生成を参照する。GWは、類似特性を有するサービスのグループを識別し、識別されたグループ化をWSDL−Gファイル内に記録する。GWは、任意の有用基準に基づいて、サービスをグループ化してもよい。例示的シナリオでは、GWは、類似サービス機能性を有するサービスをグループ化してもよい。類似機能性を有するサービスの判定は、任意の好適な様式で実施されてもよい。リンク−フォーマットがリソースを記述するために使用される、例示的シナリオでは、「ct」パラメータは、リソースの機能性を示すためのものであって、GWは、同一「ct」を有する全リソース/サービスを含むグループを作成してもよい。
【0121】
図16は、グループを個々のリソース/サービスから生成するために採用される例示的論理の例証を提供する。
図16に描写される実施例では、2つのリソース記述が、GWに提出されており、両方とも、温度に関連する。故に、GWは、「温度」と呼ばれる新しいグループを定義してもよく、2つのリソースをグループに割り当ててもよい。いくつかのインスタンスでは、リソースは、同一グループに属すると特徴付けられ得るが、それでもなお、個々のリソース/サービス間にばらつきを有し得る。例えば、リンクフォーマット仕様において定義されるような結果コンテンツに対応し得る、「rt」パラメータから、リソース/サービスの一方は、摂氏で温度読取値を提供する一方、他方は、華氏で読取値を提供する。また、2つのリソースは、その「if」パラメータ(インターフェース記述)に関しても異なる。「if」パラメータは、2つのリソース/サービスの一方が豊富な情報を提供可能である一方、他方が基本情報のみを提供することを示す。これは、リソース/サービスを提供するデバイスの一方が、「センサ豊富」インターフェースをサポートする、シナリオで生じ得、それによって、温度読取値だけではなく、また、感知/サンプリングタイムスタンプ、最近の傾向データ(より寒冷化または温暖化しつつある)等の関連付けられたコンテキスト情報も返す。本同一シナリオでは、「センサ基本」インターフェースを伴う他方のデバイスは、単純温度値のみを返してもよい。
【0122】
図16の実施例に関して、「温度」グループを定義後、GWは、グループのためのWSDL−Gファイルを生成する。
図16の実施例に対応する例示的WSDL−Gファイルは、
図17に図示される。
図17に示されるように、GWは、<groupIdentifie>パラメータを使用して、具体的グループ識別子がグループに割り当てられており、本インスタンスでは、「TEM0909011」の値を有する。GWは、<groupFunction>パラメータのための値を定義しており、本インスタンスでは、「温度」の値が割り当てられている。グループ内のメンバーの数は、<numberOfMembers>パラメータを使用して識別され、本特定の実施例では、20の値が割り当てられている。メンバーの数に関する値は、グループと関連付けられたリソースの数(いくつかのデバイスの数に対応し得る)を表してもよい。<groupStatistics>パラメータは、グループ内のサービスへのアクセスの試みの90%が成功することを示す。グループのための場所は、<locationRegion>パラメータを使用して識別され、本特定の実施例では、グループのメンバーがAmherstタウンエリア内に分布されていることを示す。WSDL−Gファイルは、グループのメンバーが典型的に承認するクエリ入力のタイプを識別するための<inputAllowed>パラメータを含む。本特定の実施例では、<inputAllowed>パラメータは、本グループ内のサービスが郵便番号または地理的座標に関するクエリ/入力値を承認することを示す。言い換えると、サービスは、郵便番号または地理的座標によって、温度読取値に関するクエリに応答する。最後に、WSDL−Gファイルは、グループ内に定義されたサービスが関連付けられ、それを通してグループ内のサービスがコンタクトされ得る、ゲートウェイのアドレスを識別する、<gwAddress>パラメータを含む。
図17の特定の実施例では、<gwAdress>パラメータは、GWがアクセスされ得る、特定のインターネットプロトコルアドレスを識別する。
(サービス発見およびアクセス処理)
【0123】
図13から16に関連する議論は、主に、サービスパブリッシュのための例示的実施形態の記述に対処する。いったんサービスがGWに登録され、サービスのグループがSRIにパブリッシュされると、サービスは、サービス消費者システムによって発見およびアクセスされてもよい。
図18は、サービス発見のための例示的プロセスのフロー図を描写する。
図18を参照すると、ステップ1において、例えば、ウェブサービスであり得る、サービス消費者システムである消費者−1は、M2Mシステムによって提供されるサービスのためのサービス発見要求を初期化する。言い換えると、サービス消費者システムは、アプリケーションまたはビジネス需要を満たすために、サービスの使用を要求することを判定する。
【0124】
ステップ2において、サービス消費者システムである消費者−1は、要求を生成し、SRIに通信する。要求は、クエリとしてフォーマットされてもよい。例えば、消費者−1は、所望のサービスに関する特性を規定するクエリを生成および伝送してもよい。例示的シナリオでは、要求は、所望の機能性、その機能性が必要とされる時間、およびサービスが提供される好ましい場所を規定してもよい。
図17に関連して前述の値のいずれかは、サービス消費者システムから提出されるクエリのための基礎であってもよいことを理解されたい。要求/クエリは、任意の好適な技術を使用してフォーマットおよび通信されてもよい。
【0125】
ステップ3において、SRIは、要求/クエリ内の情報を使用して、そこに記憶されたグループ情報を検索し、サービス消費者システムによって提出された検索基準を満たすサービスグループを識別する。より具体的には、SRIは、SRIに以前に転送された種々のWSDL−Gファイルに規定されるデータを検索する。サービスのグループ、すなわち、規定される基準を満たすWSDL−Gファイルの識別に応じて、SRIは、応答WSDL−Gファイルのリストを消費者−1システムに通信する。
【0126】
いくつかのシナリオ下では、消費者−1によって提出された選択基準に対応するWSDL−Gファイルが存在しない場合がある。そのようなシナリオでは、SRIは、グループ情報を返さなくてもよい。そのようなインスタンスでは、消費者−1システムは、新しい選択基準のセットを用いて、新しいクエリを生成してもよい。
【0127】
ステップ4において、消費者−1システムは、識別されたWSDL−Gファイルのコンテンツを解析し、さらなる情報が得られるべき1つまたはそれを上回るグループを選択する。言い換えると、消費者−1システムは、所望のサービスを提供するための望ましい候補であるグループを判定する。消費者−1システムは、いったん特定のグループを選択すると、グループに関する個々のファイルが記憶されたゲートウェイを識別する。ゲートウェイを識別する情報は、選択されたグループに対応するWSDL−Gファイルから読み出される。
【0128】
図18のステップ5において、消費者−1は、クエリを生成し、選択されたサービスのグループに対応するWSDL−Gファイル内で識別された特定のゲートウェイGW−1に伝送する。クエリは、選択されたサービスグループ化内で識別された特定のサービスに関する情報を要求する。例示的シナリオでは、通信は、特定のWSDL−Gファイル内で識別されたサービスに対応するWSDL−Iファイルを要求する。
【0129】
ステップ6において、GW−1は、消費者−1からのクエリを解析し、要求される情報を識別する。例示的シナリオでは、GW−1は、そのメモリを検索し、要求内で識別されたWSDL−Gファイルに対応するWSDL−Iファイルを識別する。言い換えると、GW−1は、そのメモリを検索し、識別されたグループ内に含まれるサービスのためのWSDL−Iファイルを読み出す。開示される実施形態の側面に従って、識別されたグループ内のサービスの数が非常に多い場合、GW−1は、検索時間を加速するために、返信リスト内のエントリの数を制限してもよい。GW−1は、識別されたWSDL−Iファイルを消費者−1システムに通信する。
【0130】
ステップ7において、消費者−1システムは、GW−1から返されたWSDL−Iファイルを解析する。消費者−1は、グループ内のサービス毎に、利用可能な情報の全てを利用可能にする。消費者−1は、WSDL−Iファイル内に含まれる情報に基づいて、1つまたはそれを上回るサービスを選択する。
【0131】
ステップ8において、消費者−1は、要求を生成し、選択された1つまたはそれを上回るサービスに伝送する。消費者−1システムは、要求をフォーマットする方法を判定するために、選択されたサービスのためのWSDL−Iファイル内の情報を使用する。例えば、消費者−1は、WSDL−Iファイルから、要求をサービスを提供するデバイスに伝送するための具体的様式およびフォーマットを判定する。
【0132】
例示的シナリオでは、消費者1システムは、WSDL−I要求を選択されたサービスを提供するデバイスに伝送し、
図18では、デバイス−1として識別される。代替シナリオでは、消費者−1システムが通信するように適合されないプロトコルにおいてデバイス−1と通信する必要があり得る。そのようなシナリオでは、デバイス−1との通信は、GW−1を通してルーティングされてもよい。GWは、サービスアクセスプロセスの間、変換またはプロキシ機能を実施してもよい。例示的シナリオでは、そのような変換は、消費者−1システムがHTTPを使用して通信するように適合されているが、デバイス−1がCoAPプロトコルを使用するように適合されている場合に要求されてもよい。
【0133】
最後に、ステップ9において、デバイス−1は、消費者−1によって要求されるサービスを実施する。
(可用性を意識したサービス発見およびアクセス)
【0134】
前述のように、開示される実施形態の側面によると、WSDLテンプレートは、サービス可用性、サービス場所、およびサービス価格を含む、サービスに関する付加的情報の記録をサポートするように修正されてもよい。本情報の捕捉の結果、情報は、サービス発見処理およびサービスアクセスの間に使用されてもよい。
【0135】
図19は、サービス可用性に関する情報がサービス毎に記録されている、サービス発見の間の例示的処理を図示する。
図19を参照すると、消費者−1は、
図18に関連して上記で概略されたようなプロセスに従って、デバイス−1上のサービス−1を発見し、それにアクセスする。そのプロセスの一部として、消費者−1は、サービス−1に関するサービス/デバイス可用性情報を受信する。例示的シナリオでは、サービス/デバイス可用性情報は、サービス−1が特定の日時に利用不可能になるようにスケジュールされていることを示してもよい。そのようなシナリオでは、
図198のステップ4に示されるように、消費者−1サービスは、サービス−1が利用不可能となるであろうことを識別し、ステップ5において、GW−1に先を見越してコンタクトし、サービス−1によって提供されるものと同一タイプのサービスを提供することができる代替デバイスを検索する。殆どのインスタンスでは、消費者−1サービスは、GW−1が、直接、サービス−1と同一グループ内にある他の利用可能なサービスの代替WSDL−Iファイルを返すことが可能であるため、SRIにコンタクトすることによって、新しいサービスを発見する必要はないことを理解されたい。ステップ6において、GW−1は、サービス−1と類似サービスを提供し、要求される時間の間に利用可能な他のサービスに関してメモリを検索する。GW−1は、消費者−1に、デバイス−2上のサービス−2がサービス−1に取って代わる候補であることを通信する。通信は、サービス2のためのWSDL−Iファイルを含む。ステップ7において、消費者−1システムは、サービス−2のためのWSDL−Iファイル内の情報を使用して、要求を生成し、サービス−2に伝送する。
【0136】
可用性情報を利用するための他の方法も、存在することを理解されたい。例えば、可用性を意識したサービス発見およびアクセスをサポートするための代替方法は、消費者システムが、GWへのその要件を規定し、GWが、消費者システムが、利用不可能になるとき、順番にサービスにアクセスし得るように、サービスのバッチを返すことである。
(場所を意識したサービス発見およびアクセス)
【0137】
図20は、サービスの地理的場所に関する情報が、サービス毎に記録された、対応するWSDL−Iファイル内に記憶されている、サービス発見の間の例示的処理を図示する。
図20を参照すると、消費者−1は、
図18に関連して上記で概略されるようなプロセスに従って、デバイス−1上のサービス−1を発見し、それにアクセスする。そのプロセスの一部として、消費者−1システムは、サービス−1に関するサービス/デバイスの地理的場所情報を受信する。アプリケーションまたはビジネス要件に基づいて、ステップ4において、消費者−1は、続いて、サービス−1に近接する1つまたはそれを上回る付加的サービスを要求してもよい。サービス−1が温度の報告に関連し、消費者−1が企業のエンタープライズシステム内の火災報知アプリケーションである、例示的シナリオでは、消費者−1は、サービス−1に近接する光または煙霧に関する付加的読取値を必要とすることを判定してもよい。ステップ5において、消費者−1システムは、特定の特性を伴うサービスに関する要求を生成し、GW−1に伝送する。要求がサービス−1に近接するサービスに関するものであるため、GW−1もまた、要求されるサービスに関するWSDL−Iファイルをそこに記憶しているであろう可能性が高い。ステップ6において、GW−1は、要求される基準を満たすサービスを検索し、デバイス2上のサービス2を識別する。GW−1は、消費者−1システムに、サービス2を識別し、サービス2のためのWSDL−Iファイルを含む、応答を伝送する。ステップ7において、消費者−1システムは、サービス−2にアクセスするための要求を伝送する。
(仮想価格を意識したサービス発見およびアクセス)
【0138】
図21は、仮想価格に関する情報がサービス毎に記録されている、サービス発見の間の例示的処理を図示する。
図21を参照すると、ステップ1において、消費者−1システムは、SRIから読み出されたWSDL−Gファイルを使用して、GW−1がWSDL−Gに対応するサービスに関する情報を有すると識別する。ステップ2において、消費者−1は、さらなるサービス発見のために、要求をGW−1に通信する。ステップ3に示されるように、WSDL−I内に含まれる仮想価格情報を用いて、デバイス自体またはネットワークオペレータは、異なる目的のために、価格を動的に更新することができる。例えば、デバイスが、長時間、過負荷であって、他のピアと比較して、非常に多くのエネルギーを消費している場合、そのデバイスによって提供されるサービスの仮想価格は、サービスアクセス要求のうちのいくつかが同一グループ内の他のピアにオフロードされ得るように、より高い値に設定され得る。価格情報をWSDL−Iファイル内に含める能力は、サービスプロバイダが、例えば、要求側の場所、要求側組織の識別、または要求側組織のメンバー等の任意の数の変数に応じて、より柔軟性のあるサービススキームを有することを有効にし、そのいずれも、異なる価格を課金させ得る。
【0139】
再び、
図21を参照すると、ステップ4において、GWは、WSDL−Iファイルを含む候補のリストを生成し、消費者−1に伝送する。WSDL−Iファイル内の情報は、各サービスと関連付けられた仮想価格情報を含有する。ステップ5において、消費者−1は、サービスを選択するために、WSDL−Iファイルのそれぞれを評価する。評価の一部として、消費者−1は、サービスのそれぞれを使用する相対的価格を検討する。例示的シナリオでは、消費者−1システムは、少なくとも部分的に、サービスの相対的価格に起因して、サービス−2を使用することを判定する。ステップ6において、消費者−1は、要求をサービス2に伝送する。ステップ7において、サービス−2は、サービスからの結果を返す。
(oneM2M実施形態)
【0140】
本明細書に開示されるシステムおよび方法の多くの異なる可能性として考えられる実装が、存在することを理解されたい。例示的実施形態では、リソースパブリッシュおよび発見のための開示される方法は、oneM2M仕様に従って、RESTfulリソースベースのプログラミングインターフェースを使用して実装されてもよい。
【0141】
概して、
図3に関連して前述のように、oneM2M共通サービス層は、共通サービス機能(CSF)のセットをサポートする。1つまたはそれを上回る特定のタイプのCSFのセットのインスタンス化は、共通サービスエンティティ(CSE)と称され、これは、いくつかの異なるタイプのネットワークノード(例えば、インフラストラクチャノード、ミドルノード等、およびその対応するCSEは、それぞれ、IN−CSE、MN−CSEと称される)のいずれか上にホストされることができる。oneM2Mアプリケーションは、多くの場合、アプリケーションエンティティ(AE)と称される。
【0142】
サービスパブリッシュおよび発見のためのシステムの例示的M2M実施形態では、2つの新しいリソース<WSDL−I>および<WSDL−G>が、定義される。
図22は、2つのリソースの例示的実装を図示する。図は、リソースを記述するために、以下のoneM2M慣例を使用する。正方形ボックスは、リソースおよび子リソースを表すために使用され、丸角を伴う正方形ボックスは、属性を表すために使用され、多様な各属性および子リソースが、定義され、「<」および「>」を用いて境界されたリソース名は、リソースの作成の間に割り当てられる名称を示す。
【0143】
図22を参照すると、リソース<WSDL−I>および<WSDL−G>はそれぞれ、属性および子リソースのバッチを有する。例えば、<WSDL−I>リソース内の属性は、前述のように、タイプ、インターフェース、バインディング等、WSDL−Iファイル内に定義されるような異なるデータ要素に対応する。同様に、<WSDL−G>リソース内の属性は、
図11に関連して前述のような異なるデータ要素に対応する。
【0144】
M2Mリソース<WSDL−I>および<WSDL−G>は、M2Mシステム内で使用されることを理解されたい。M2M GWは、xmlベースのWSDL−IおよびWSDL−Gファイルを生成し、外部サービス消費者によって発見およびアクセスされる。示されるように、xmlベースのWSDL−IおよびWSDL−Gファイルは、表記<XML−basedWSDL−Ifile>および<XML−basedWSDL−Ifile>によって図に図示されるように、<container>タイプのリソース内に記憶されてもよい。
【0145】
M2M GWは、エッジ機能/コンポーネントとして動作する。M2M GWは、M2Mシステム内の異なるノード間で通信するための現在のoneM2Mアーキテクチャを活用するだけではなく、また、従来のWSベースのプロトコルを使用する、外部サービス消費者システムが、M2Mサービスにアクセスすることを有効にする。
【0146】
図23は、M2Mサービス層の視点からのサービスパブリッシュを図示する。
図23を参照すると、いくつかのoneM2Mサービス層エンティティが、それぞれ、M2Mデバイス、M2M GW、およびM2Mサーバ上にある。より具体的には、AEは、M2Mデバイス上で動作し、MN−CSEは、M2M GW上で動作し、IN−CSEは、M2Mサーバ上で動作する。故に、例えば、温度読取値アプリケーションであり得る、AEは、MN−CSEに登録することによって、そのリソース記述を提出可能である。MN−CSEは、<temperature−App>リソースおよび子<WSDL−I>リソースを生成する。MN−CSEは、IN−CSEに登録することによって、WSDL−GをSRIにパブリッシュし、<WSDL−G>リソースは、<IN−CSEBase>/<MN−CSEBase>の子リソースとして作成される。
【0147】
図24は、前述のプロセスと関連付けられた詳述なコールフローを図示する。
図24を参照すると、ステップ1−7は、リソース記述の報告/生成に関連する一方、ステップ8−15は、リソース記述の更新に関連する。
【0148】
図24のステップ1において、AEは、制約付きM2Mデバイス上で実行する。例示的シナリオでは、AEは、デバイスによって測定される温度情報を読取り、報告する。M2M GWノード上で起動するMN−CSEを発見後、AEは、それ自体をMN−CSEに登録する。登録メッセージは、M2Mデバイスが提供するリソースの記述を含む。リソース記述は、WSDL−Iファイルの議論に関連して前述のもの等の属性を含む。
【0149】
ステップ2において、MN−CSEは、AEに対応する<application>リソースを生成する。登録メッセージ内に提供されるリソース記述を使用して、MN−CSEは、<application>リソース下に置かれ得る、<WSDL−I>リソースを生成する。
【0150】
ステップ3において、リソースの登録および生成の完了成功後、MN−CSEは、確認を生成し、AEに伝送する。
【0151】
ステップ4において、MN−CSEは、AEおよびそのリソースが既存のサービスのグループに割り当てられ得るかどうかを識別する。MN−CSEが、リソースが新しいグループに割り当てられることができないと判定する場合、新しいグループを生成する。
【0152】
ステップ5において、MN−CSEは、リソース作成要求を生成し、M2Mサーバ上で動作するIN−CSEに伝送する。作成要求は、前述のように、WSDL−Gに関連する全属性を含む。
【0153】
ステップ6において、MN−CSEからの要求を受信後、IN−CSEは、ステップ5の要求内で転送されるグループ記述情報に基づいて、<WSDL−G>リソースを生成する。
【0154】
ステップ7において、<WSDL−G>リソースを作成後、IN−CSEは、MN−CSEへの応答を生成し、アクションを確認する。
【0155】
本処理の時点で、新しいリソースのパブリッシュが、完了する。リソース/サービスは、前述のように、消費者システムによって発見されるために利用可能となり、個々のリソースは、要求されるために利用可能となる。
【0156】
M2Mデバイスは、ステータスにおける変更を受ける。例えば、M2Mデバイスは、リソースを節約するようにスリープする周期を経る場合がある。故に、M2Mデバイスの動作ステータスは、頻繁に変化する。
図24を参照すると、ステップ8において、M2Mデバイス上のAEが、ステータスを変更する、またはステータスの今後の変更を有するとき、AEは、更新要求を生成し、MN−CSEに通信する。要求は、ステータスの変更についての情報を含み、変更が<WSDL−I>リソースの1つまたはそれを上回る属性を変更するために行われるべきことを信号伝達する。
【0157】
ステップ9において、MN−CSEは、<WSDL−I>リソースを更新し、ステータスにおける変更を反映する。更新のタイプは、変動されてもよい。例えば、更新は、例えば、リソース内の「可用性」属性を修正し、ノードスリープ中を反映するための要求等、リソース内の属性に関連し得る。別の例示的シナリオでは、更新は、障害ハードウェアに起因する、<WSDL−I>リソースの削除を要求してもよい。
【0158】
ステップ10において、<WSDL−I>リソースを更新後、MN−CSEは、確認を生成し、AEに伝送する。
【0159】
ステップ11において、MN−CSEは、<WSDL−I>が属するグループへの更新が、<WSDL−I>リソースへの更新を反映するように必要とされることを判定する。
【0160】
ステップ12において、MN−CSEは、リソース更新要求を生成し、IN−CSEに伝送する。要求は、IN−CSE上の対応する<WSDL−G>リソースを更新することを規定する。
【0161】
ステップ13において、MN−CSEからの要求受信後、IN−CSEは、要求内に含まれるグループ更新記述に基づいて、<WSDL−G>リソースを更新する。
【0162】
ステップ14において、<WSDL−G>リソースを更新後、IN−CSEは、更新の確認を生成し、MN−CSEに伝送する。
(代替サービスパブリッシュおよび発見)
【0163】
本明細書に開示されるシステムおよび方法に準拠するサービスパブリッシュおよび発見のための付加的実施形態が、存在することを理解されたい。
図9および22に関連して前述の実施形態では、GWは、リソース制約デバイスを支援する際、重要な役割を果たす。
図25に描写されるような代替実施形態では、独立型デバイス(例えば、携帯電話)は、GWをトラバースせずに、直接、M2Mサーバとトークしてもよい。故に、GWによって実施されるものとして前述の処理は、代替実施形態では、M2Mサーバにも拡張され得る。加えて、SRIは、M2Mサーバ上に実装されるのではなく、
図25に示されるように、別個のエンティティとして実装され得る。
(例示的コンピューティング環境)
【0164】
図26Aは、1つまたはそれを上回る開示される実施形態が実装され得る、例示的マシンツーマシン(M2M)、モノのインターネット(IoT)、またはモノのウェブ(WoT)通信システム10の略図である。概して、M2M技術は、IoT/WoTのための基礎的要素を提供し、任意のM2Mデバイス、M2Mゲートウェイ、M2Mサーバ、またはM2Mサービスプラットフォームは、IoT/WOTだけではなく、IoT/WoTサービス層等のコンポーネントまたはノードであってもよい。通信システム10は、開示される実施形態の機能性を実装するために使用されることができ、例えば、AE310、CSE312、NSE340、GW226、GW912、SCS916、およびUE916等の機能性および論理エンティティならびにユーザインターフェースを生成するための論理エンティティを含むことができる。
【0165】
図26Aに示されるように、M2M/IoT/WoT通信システム10は、通信ネットワーク12を含む。通信ネットワーク12は、固定ネットワーク(例えば、イーサネット(登録商標)、ファイバ、ISDN、PLC、または同等物)もしくは無線ネットワーク(例えば、WLAN、セルラー、または同等物)もしくは異種ネットワークのネットワークであってもよい。例えば、通信ネットワーク12は、音声、データ、ビデオ、メッセージング、ブロードキャスト、または同等物等のコンテンツを複数のユーザに提供する、多重アクセスネットワークから成ってもよい。例えば、通信ネットワーク12は、符号分割多重アクセス(CDMA)、時分割多重アクセス(TDMA)、周波数分割多重アクセス(FDMA)、直交FDMA(OFDMA)、単一キャリアFDMA(SC−FDMA)、および同等物等の1つまたはそれを上回るチャネルアクセス方法を採用してもよい。さらに、通信ネットワーク12は、例えば、コアネットワーク、インターネット、センサネットワーク、工業制御ネットワーク、パーソナルエリアネットワーク、融合個人ネットワーク、衛星ネットワーク、ホームネットワーク、またはエンタープライズネットワーク等の他のネットワークを備えてもよい。
【0166】
図26Aに示されるように、M2M/IoT/WoT通信システム10は、インフラストラクチャドメインおよびフィールドドメインを含んでもよい。インフラストラクチャドメインは、エンドツーエンドM2M展開のネットワーク側を指し、フィールドドメインは、通常、M2Mゲートウェイの背後にある、エリアネットワークを指す。フィールドドメインおよびインフラストラクチャドメインは両方とも、種々の異なるネットワークノード(例えば、サーバ、ゲートウェイ、デバイス、および同等物)を備えてもよい。例えば、フィールドドメインは、M2Mゲートウェイ14と、端末デバイス18とを含んでもよい。任意の数のM2Mゲートウェイデバイス14およびM2M端末デバイス18が、所望に応じて、M2M/IoT/WoT通信システム10に含まれ得ることが理解されるであろう。M2Mゲートウェイデバイス14およびM2M端末デバイス18はそれぞれ、通信回路を使用して、通信ネットワーク12または直接無線リンクを介して、信号を伝送および受信するように構成される。M2Mゲートウェイ14は、無線M2Mデバイス(例えば、セルラーおよび非セルラー)ならびに固定ネットワークM2Mデバイス(例えば、PLC)が、通信ネットワーク12等のオペレータネットワークを通して、または直接無線リンクを通してのいずれかで、通信することを可能にする。例えば、M2M端末デバイス18は、データを収集し、通信ネットワーク12または直接無線リンクを介して、データをM2Mアプリケーション20または他のM2M端末デバイス18に送信してもよい。M2M端末デバイス18はまた、M2Mアプリケーション20またはM2M端末デバイス18からデータを受信してもよい。さらに、データおよび信号は、以下で説明されるように、M2Mサービス層22を介して、M2Mアプリケーション20に送信され、そこから受信されてもよい。M2M端末デバイス18およびゲートウェイ14は、例えば、セルラー、WLAN、WPAN(例えば、Zigbee(登録商標)、6LoWPAN、Bluetooth(登録商標))、直接無線リンク、および有線を含む、種々のネットワークを介して通信してもよい。
【0167】
例示的M2M端末デバイス18は、タブレット、スマートフォン、医療デバイス、温度および天候のモニタ、コネクテッドカー、スマートメータ、ゲームコンソール、携帯情報端末、健康およびフィットネスのモニタ、照明、サーモスタット、電気器具、車庫のドアおよび他のアクチュエータベースのデバイス、セキュリティデバイス、ならびにスマートコンセントを含むが、それらに限定されない。
【0168】
図26Bを参照すると、フィールドドメイン内の図示されるM2Mサービス層22は、M2Mアプリケーション20、M2Mゲートウェイデバイス14、およびM2M端末デバイス18、ならびに通信ネットワーク12のためのサービスを提供する。通信システムネットワーク12は、開示される実施形態の機能性を実装するために使用されることができ、例えば、AE310、CSE312、NSE340、GW226、GW912、SCS916、およびUE916等の機能性および論理エンティティを含むことができる。M2Mサービス層22は、例えば、以下で説明される
図20Cおよび20Dで図示されるデバイスを含む、1つまたはそれを上回るサーバ、コンピュータ、デバイス、仮想マシン(例えば、クラウド/記憶ファーム等)、または同等物によって実装されてもよい。M2Mサービス層22は、所望に応じて、任意の数のM2Mアプリケーション、M2Mゲートウェイ14、M2M端末デバイス18、および通信ネットワーク12と通信し得ることが理解されるであろう。M2Mサービス層22は、サーバ、コンピュータ、デバイス、または同等物を備え得る、ネットワークの1つもしくはそれを上回るノードによって実装されてもよい。M2Mサービス層22は、M2M端末デバイス18、M2Mゲートウェイ14、およびM2Mアプリケーション20に適用されるサービス能力を提供する。M2Mサービス層22の機能は、例えば、ウェブサーバとして、セルラーコアネットワーク内で、クラウド内で等、種々の方法で実装されてもよい。
【0169】
図示されるM2Mサービス層22と同様に、インフラストラクチャドメイン内のM2Mサービス層22’を提示する。M2Mサービス層22’は、インフラストラクチャドメイン内のM2Mアプリケーション20’および下層通信ネットワーク12’のためのサービスを提供する。M2Mサービス層22’はまた、フィールドドメイン内のM2Mゲートウェイデバイス14およびM2Mデバイス18のためのサービスも提供する。M2Mサービス層22’は、任意の数のM2Mアプリケーション、M2Mゲートウェイ、およびM2Mデバイスと通信し得ることが理解されるであろう。M2Mサービス層22’は、異なるサービスプロバイダによるサービス層と相互作用してもよい。M2Mサービス層22’は、サーバ、コンピュータ、デバイス、仮想マシン(例えば、クラウドコンピューティング/記憶ファーム等)、または同等物を備え得る、ネットワークの1つもしくはそれを上回るノードによって実装されてもよい。
【0170】
また、
図26Bを参照すると、M2Mサービス層22および22’は、多様なアプリケーションおよびバーティカルが活用することができる、サービス配信能力のコアセットを提供する。これらのサービス能力は、M2Mアプリケーション20および20’がデバイスと相互作用し、データ収集、データ分析、デバイス管理、セキュリティ、課金、サービス/デバイス発見等の機能を果たすことを可能にする。本質的に、これらのサービス能力は、これらの機能性を実装する負担をアプリケーションから取り除き、したがって、アプリケーション開発を単純化し、市場に出すコストおよび時間を削減する。サービス層22および22’はまた、M2Mアプリケーション20および20’が、サービス層22および22’が提供するサービスと関連して、種々のネットワーク12および12’を通して通信することも可能にする。
【0171】
本願の方法は、サービス層22および22’の一部として実装されてもよい。サービス層22および22’は、アプリケーションプログラミングインターフェース(API)および下層ネットワーキングインターフェースのセットを通して付加価値サービス能力をサポートする、ソフトウェアミドルウェア層である。ETSI M2MおよびoneM2Mの両方は、本願の接続方法を含有し得る、サービス層を使用する。ETSI M2Mのサービス層は、サービス能力層(SCL)と称される。SCLは、M2Mデバイス(デバイスSCL(DSCL)と称される)、ゲートウェイ(ゲートウェイSCL(GSCL)と称される)、および/またはネットワークノード(ネットワークSCL(NSCL)と称される)内に実装されてもよい。oneM2Mサービス層は、共通サービス機能(CSF)(すなわち、サービス能力)のセットをサポートする。1つまたはそれを上回る特定のタイプのCSFのセットのインスタンス化は、異なるタイプのネットワークノード(例えば、インフラストラクチャノード、中間ノード、特定用途向けノード)上にホストされ得る、共通サービスエンティティ(CSE)と称される。さらに、本願の接続方法は、本願の接続方法等のサービスにアクセスするために、サービス指向アーキテクチャ(SOA)および/またはリソース指向アーキテクチャ(ROA)を使用する、M2Mネットワークの一部として実装されることができる。
【0172】
いくつかの実施形態では、M2Mアプリケーション20および20’は、開示されるシステムおよび方法と併せて使用されてもよい。M2Mアプリケーション20および20’は、UEまたはゲートウェイと相互作用するアプリケーションを含んでもよく、また、他の開示されるシステムおよび方法と併せて使用されてもよい。
【0173】
一実施形態では、例えば、AE310、CSE312、NSE340、GW226、GW912、SCS916、およびUE916等の論理エンティティは、
図20Bに示されるように、M2Mサーバ、M2Mゲートウェイ、またはM2Mデバイス等のM2MノードによってホストされるM2Mサービス層インスタンス内でホストされてもよい。例えば、AE310、CSE312、NSE340、GW226、GW912、SCS916、およびUE916等の論理エンティティは、M2Mサービス層インスタンス内で、または既存のサービス能力内のサブ機能として、個々のサービス能力を備えてもよい。
【0174】
M2Mアプリケーション20および20’は、限定ではないが、輸送、保健および健康、コネクテッドホーム、エネルギー管理、アセット追跡、ならびにセキュリティおよび監視等の種々の業界でのアプリケーションを含んでもよい。前述のように、本システムのデバイス、ゲートウェイ、サーバ、および他のノードにわたって作動するM2Mサービス層は、例えば、データ収集、デバイス管理、セキュリティ、課金、場所追跡/ジオフェンシング、デバイス/サービス発見、およびレガシーシステム統合等の機能をサポートし、サービスとしてこれらの機能をM2Mアプリケーション20および20’に提供する。
【0175】
概して、サービス層22および22’は、アプリケーションプログラミングインターフェース(API)および下層ネットワーキングインターフェースのセットを通して付加価値サービス能力をサポートする、ソフトウェアミドルウェア層を定義する。ETSI M2MおよびoneM2Mアーキテクチャの両方は、サービス層を定義する。ETSI M2Mのサービス層は、サービス能力層(SCL)と称される。SCLは、ETSI M2Mアーキテクチャの種々の異なるノード内に実装されてもよい。例えば、サービス層のインスタンスは、M2Mデバイス(デバイスSCL(DSCL)と称される)、ゲートウェイ(ゲートウェイSCL(GSCL)と称される)、および/またはネットワークノード(ネットワークSCL(NSCL)と称される)内で実装されてもよい。oneM2Mサービス層は、共通サービス機能(CSF)(すなわち、サービス能力)のセットをサポートする。1つまたはそれを上回る特定のタイプのCSFのセットのインスタンス化は、異なるタイプのネットワークノード(例えば、インフラストラクチャノード、中間ノード、特定用途向けノード)上にホストされ得る、共通サービスエンティティ(CSE)と称される。第3世代パートナーシッププロジェクト(3GPP)はまた、マシンタイプ通信(MTC)のためのアーキテクチャも定義している。そのアーキテクチャでは、サービス層、およびそれが提供するサービス能力は、サービス能力サーバ(SCS)の一部として実装される。ETSI M2MアーキテクチャのDSCL、GSCL、またはNSCLで具現化されようと、3GPPMTCアーキテクチャのサービス能力サーバ(SCS)で具現化されようと、oneM2MアーキテクチャのCSFまたはCSEで具現化されようと、もしくはネットワークのある他のノードとして具現化されようと、サービス層のインスタンスは、サーバ、コンピュータ、および他のコンピュータデバイスまたはノードを含む、ネットワーク内の1つもしくはそれを上回る独立型ノード上で実行される論理エンティティ(例えば、ソフトウェア、コンピュータ実行可能命令、および同等物)として、もしくは1つまたはそれを上回る既存のノードの一部としてのいずれかで実装されてもよい。実施例として、サービス層またはそのコンポーネントのインスタンスは、以下で説明される
図26Cまたは
図26Dで図示される一般アーキテクチャを有する、ネットワークノード(例えば、サーバ、コンピュータ、ゲートウェイ、デバイス、または同等物)上で作動するソフトウェアの形態において実装されてもよい。
【0176】
さらに、AE310、CSE312、NSE340、GW226、GW912、SCS916、およびUE916等の本願の論理エンティティは、本願のサービスにアクセスするために、サービス指向アーキテクチャ(SOA)および/またはリソース指向アーキテクチャ(ROA)を使用する、M2Mネットワークの一部として実装されることができる。
【0177】
図26Cは、例えば、eNB2100、M2Mデバイス18、M2Mゲートウェイ14、M2Mサーバ、または同等物等のM2Mネットワークノード30の例示的ハードウェア/ソフトウェアアーキテクチャのブロック図である。ノード30は、AE310、CSE312、NSE340、GW226、GW912、SCS916、およびUE916等の論理エンティティを実行する、またはそれらを含むことができる。デバイス30は、
図26A−Bに示されるようなM2M端末デバイスまたは非M2Mネットワークの一部であり得る。
図26Dに示されるように、M2Mノード30は、プロセッサ32と、非可撤性メモリ44と、可撤性メモリ46と、スピーカ/マイクロホン38と、キーパッド40と、ディスプレイ、タッチパッド、および/またはインジケータ42と、電源48と、全地球測位システム(GPS)チップセット50と、他の周辺機器52とを含んでもよい。ノード30はまた、送受信機34および伝送/受信要素36等の通信回路を含んでもよい。M2Mノード30は、実施形態と一致したままで、先述の要素の任意の副次的組み合わせを含み得ることが理解されるであろう。本ノードは、本明細書に説明されるSMSF機能性を実装する、ノードであってもよい。
【0178】
プロセッサ32は、汎用プロセッサ、特殊目的プロセッサ、従来のプロセッサ、デジタル信号プロセッサ(DSP)、複数のマイクロプロセッサ、DSPコアと関連する1つまたはそれを上回るマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)回路、任意の他のタイプの集積回路(IC)、状態マシン、および同等物であってもよい。一般に、プロセッサ32は、ノードの種々の要求される機能を果たすために、ノードのメモリ(例えば、メモリ44および/またはメモリ46)内に記憶されるコンピュータ実行可能命令を実行してもよい。例えば、プロセッサ32は、信号符号化、データ処理、電力制御、入出力処理、および/またはM2Mノード30が無線もしくは有線環境内で動作することを可能にする任意の他の機能性を行ってもよい。プロセッサ32は、アプリケーション層プログラム(例えば、ブラウザ)および/または無線アクセス層(RAN)プログラムならびに/もしくは他の通信プログラムを起動させてもよい。プロセッサ32はまた、例えば、アクセス層および/またはアプリケーション層等で、認証、セキュリティキー一致、ならびに/もしくは暗号化動作等のセキュリティ動作を行ってもよい。
【0179】
図26Cに示されるように、プロセッサ32は、その通信回路(例えば、送受信機34および伝送/受信要素36)に連結される。プロセッサ32は、ノード30に、それが接続されるネットワークを介して他のノードと通信させるために、コンピュータ実行可能命令の実行を通して、通信回路を制御してもよい。特に、プロセッサ32は、本明細書および請求項に説明される伝送および受信ステップを実施するために、通信回路を制御してもよい。
図26Cは、プロセッサ32および送受信機34を別個のコンポーネントとして描写するが、プロセッサ32および送受信機34は、電子パッケージまたはチップ内にともに統合され得ることが理解されるであろう。
【0180】
伝送/受信要素36は、M2Mサーバ、ゲートウェイ、デバイス、および同等物を含む、他のM2Mノードに信号を伝送する、またはそこから信号を受信するように構成されてもよい。例えば、ある実施形態では、伝送/受信要素36は、RF信号を伝送および/または受信するように構成されるアンテナであってもよい。伝送/受信要素36は、WLAN、WPAN、セルラー、および同等物等の種々のネットワークならびにエアインターフェースをサポートしてもよい。ある実施形態では、伝送/受信要素36は、例えば、IR、UV、または可視光信号を伝送ならびに/もしくは受信するように構成されるエミッタ/検出器であってもよい。さらに別の実施形態では、伝送/受信要素36は、RF信号および光信号の両方を伝送ならびに受信するように構成されてもよい。伝送/受信要素36は、無線または有線信号の任意の組み合わせを伝送ならびに/もしくは受信するように構成され得ることが理解されるであろう。
【0181】
加えて、伝送/受信要素36は、単一の要素として
図20Dに描写されているが、M2Mノード30は、任意の数の伝送/受信要素36を含んでもよい。より具体的には、M2Mノード30は、MIMO技術を採用してもよい。したがって、ある実施形態では、M2Mノード30は、無線信号を伝送および受信するための2つまたはそれを上回る伝送/受信要素36(例えば、複数のアンテナ)を含んでもよい。
【0182】
送受信機34は、伝送/受信要素36によって伝送される信号を変調するように、および伝送/受信要素36によって受信される信号を復調するように構成されてもよい。上記のように、M2Mノード30は、マルチモード能力を有してもよい。したがって、送受信機34は、M2Mノード30が、例えば、UTRAおよびIEEE802.11等の複数のRATを介して通信することを可能にするための複数の送受信機を含んでもよい。
【0183】
プロセッサ32は、非可撤性メモリ44および/または可撤性メモリ46等の任意のタイプの好適なメモリから情報にアクセスし、その中にデータを記憶してもよい。例えば、プロセッサ32は、前述のように、セッションコンテキストをそのメモリ内に記憶してもよい。非可撤性メモリ44は、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、ハードディスク、または任意の他のタイプのメモリ記憶デバイスを含んでもよい。可撤性メモリ46は、加入者識別モジュール(SIM)カード、メモリスティック、セキュアデジタル(SD)メモリカード、および同等物を含んでもよい。他の実施形態では、プロセッサ32は、サーバまたはホームコンピュータ上等、M2Mノード30上に物理に位置しないメモリから情報にアクセスし、その中にデータを記憶してもよい。プロセッサ32は、ディスプレイまたはインジケータ42上の照明パターン、画像、または色を制御し、M2Mサービス層セッション移行または共有のステータスを反映させる、またはノードのセッション移行または共有能力もしくは設定についての入力をユーザから得る、または情報をユーザに表示するように構成されてもよい。別の実施例では、ディスプレイは、セッション状態に関する情報を示してもよい。本開示は、oneM2M実施形態においてRESTfulユーザ/アプリケーションAPIを定義する。ディスプレイ上に示され得る、グラフィカルユーザインターフェースは、APIの上部に層化され、ユーザが、本明細書に説明される下層サービス層セッション機能性を介して、E2Eセッションまたはその移行もしくは共有を双方向に確立および管理することを可能にしてもよい。
【0184】
プロセッサ32は、電源48から電力を受容してもよく、M2Mノード30内の他のコンポーネントへの電力を分配および/または制御するように構成されてもよい。電源48は、M2Mノード30に給電するための任意の好適なデバイスであってもよい。例えば、電源48は、1つまたはそれを上回る乾電池バッテリ(例えば、ニッケルカドミウム(NiCd)、ニッケル亜鉛(NiZn)、ニッケル水素(NiMH)、リチウムイオン(Li−ion)等)、太陽電池、燃料電池、および同等物を含んでもよい。
【0185】
プロセッサ32はまた、M2Mノード30の現在の場所に関する場所情報(例えば、経度および緯度)を提供するように構成され得る、GPSチップセット50に連結されてもよい。M2Mノード30は、実施形態と一致したままで、任意の好適な場所判定方法を介して場所情報を獲得し得ることが理解されるであろう。
【0186】
プロセッサ32はさらに、付加的な特徴、機能性、および/または有線もしくは無線接続を提供する、1つまたはそれを上回るソフトウェアならびに/もしくはハードウェアモジュールを含み得る、他の周辺機器52に連結されてもよい。例えば、周辺機器52は、加速度計、e−コンパス、衛星送受信機、センサ、デジタルカメラ(写真またはビデオ用)、ユニバーサルシリアルバス(USB)ポート、振動デバイス、テレビ送受信機、ハンズフリーヘッドセット、Bluetooth(登録商標)モジュール、周波数変調(FM)無線ユニット、デジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザ、および同等物を含んでもよい。
【0187】
図26Dは、M2Mサーバ、ゲートウェイ、デバイス、または他のノード等、M2Mネットワークの1つまたはそれを上回るノードを実装するためにも使用され得る、例示的コンピューティングシステム90のブロック図である。コンピューティングシステム90は、コンピュータまたはサーバを備えてもよく、主に、ソフトウェアの形態であり得るコンピュータ可読命令によって制御されてもよく、どこでもまたはどのような手段を用いても、そのようなソフトウェアが記憶またはアクセスされる。コンピューティングシステム90は、AE310、CSE312、NSE340、GW226、GW912、SCS916、およびUE916等の論理エンティティを実行する、またはそれらを含むことができる。コンピューティングシステム90は、M2Mデバイス、ユーザ機器、ゲートウェイ、UE/GW、または、例えば、モバイルコアネットワーク、サービス層ネットワークアプリケーションプロバイダ、端末デバイス18、もしくはM2Mゲートウェイデバイス14のノードを含む、任意の他のノードであり得る。そのようなコンピュータ可読命令は、コンピューティングシステム90を稼働させるように、中央処理装置(CPU)91等のプロセッサ内で実行されてもよい。多くの既知のワークステーション、サーバ、およびパーソナルコンピュータでは、中央処理装置91は、マイクロプロセッサと呼ばれる単一チップCPUによって実装される。他の機械では、中央処理装置91は、複数のプロセッサを備えてもよい。コプロセッサ81は、付加的な機能を果たすか、またはCPU91を支援する、主要CPU91とは明確に異なる、随意的なプロセッサである。CPU91および/またはコプロセッサ81は、セッション証明書の受信またはセッション証明書に基づく認証等、E2E M2Mサービス層セッションのための開示されるシステムおよび方法に関連するデータを受信、生成、および処理してもよい。
【0188】
動作時、CPU91は、命令をフェッチ、復号、および実行し、コンピュータの主要データ転送経路であるシステムバス80を介して、情報を他のリソースへ、およびそこから転送する。そのようなシステムバスは、コンピューティングシステム90内のコンポーネントを接続し、データ交換のための媒体を定義する。システムバス80は、典型的には、データを送信するためのデータラインと、アドレスを送信するためのアドレスラインと、割り込みを送信するため、およびシステムバスを動作するための制御ラインとを含む。そのようなシステムバス80の実施例は、PCI(周辺コンポーネント相互接続)バスである。
【0189】
システムバス80に連結されるメモリは、ランダムアクセスメモリ(RAM)82と、読取専用メモリ(ROM)93とを含む。そのようなメモリは、情報が記憶され、読み出されることを可能にする回路を含む。ROM93は、概して、容易に修正され得ない、記憶されたデータを含有する。RAM82内に記憶されたデータは、CPU91または他のハードウェアデバイスによって読み取られる、もしくは変更されてもよい。RAM82および/またはROM93へのアクセスは、メモリコントローラ92によって制御されてもよい。メモリコントローラ92は、命令が実行されると、仮想アドレスを物理アドレスに変換する、アドレス変換機能を提供してもよい。メモリコントローラ92はまた、システム内のプロセスを隔離し、ユーザプロセスからシステムプロセスを隔離する、メモリ保護機能を提供してもよい。したがって、第1のモードで作動するプログラムは、その独自のプロセス仮想アドレス空間によってマップされるメモリのみにアクセスすることができ、プロセス間のメモリ共有が設定されていない限り、別のプロセスの仮想アドレス空間内のメモリにアクセスすることはできない。
【0190】
加えて、コンピューティングシステム90は、CPU91からプリンタ94、キーボード84、マウス95、およびディスクドライブ85等の周辺機器に命令を伝達する責任がある、周辺機器コントローラ83を含有してもよい。
【0191】
ディスプレイコントローラ96によって制御される、ディスプレイ86は、コンピューティングシステム90によって生成される視覚出力を表示するために使用される。そのような視覚出力は、テキスト、グラフィックス、動画グラフィックス、およびビデオを含んでもよい。ディスプレイ86は、CRTベースのビデオディスプレイ、LCDベースのフラットパネルディスプレイ、ガスプラズマベースのフラットパネルディスプレイ、またはタッチパネルを伴って実装されてもよい。ディスプレイコントローラ96は、ディスプレイ86に送信されるビデオ信号を生成するために要求される、電子コンポーネントを含む。
【0192】
さらに、コンピューティングシステム90は、例えば、
図26Aおよび
図26Bのネットワーク12等の外部通信ネットワークにコンピューティングシステム90を接続するために使用され得る、ネットワークアダプタ97等の通信回路を含有し、コンピューティングシステム90が、ネットワークの他のノードと通信することを可能にしてもよい。
【0193】
本明細書で説明されるシステム、方法、およびプロセスのうちのいずれかまたは全ては、コンピュータ可読記憶媒体上に記憶されたコンピュータ実行可能命令(すなわち、プログラムコード)の形態で具現化され得、その命令は、例えば、M2Mサーバ、ゲートウェイ、デバイス、または同等物を含む、M2Mネットワークのノード等の機械によって実行されると、本明細書に説明されるシステム、方法、およびプロセスを実施するならびに/もしくは実装することが理解される。具体的には、ゲートウェイ、UE、UE/GW、またはモバイルコアネットワーク、サービス層、もしくはネットワークアプリケーションプロバイダのノードのうちのいずれかの動作を含む、前述の説明されるステップ、動作、または機能のうちのいずれかは、そのようなコンピュータ実行可能命令の形態において実装されてもよい。AE310、CSE312、NSE340、GW226、GW912、SCS916、およびUE916等の論理エンティティは、コンピュータ可読記憶媒体上に記憶されるコンピュータ実行可能命令の形態において具現化されてもよい。コンピュータ可読記憶媒体は、情報の記憶のための任意の非一過性(すなわち、有形または物理)方法もしくは技術で実装される、揮発性および不揮発性、可撤性および非可撤性媒体の両方を含むが、そのようなコンピュータ可読記憶媒体は、信号を含まない。コンピュータ可読記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または所望の情報を記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の有形または物理媒体を含むが、それらに限定されない。
【0194】
故に、本出願人は、M2M/IoTサービスのパブリッシュおよび発見のための例示的システムおよび方法を開示した。例示的システムおよび方法では、ゲートウェイシステムは、リソース記述をM2M/IoTデバイスから受信する。ゲートウェイシステムは、受信されたリソース記述毎に、リソースについての情報を記録する個々のウェブサービス記述言語ファイル(WSDL−Iファイル)を作成する。ゲートウェイは、類似特性を伴うサービスのグループを識別し、識別されたグループ毎に、グループに関する情報を記録するウェブサービス記述ファイル(WSDL−Gファイル)を生成する。WSDL−Gファイルは、サービスレジストリインフラストラクチャ(SRI)に通信される。消費者システムは、特定の基準を満たすサービスに関してSRIにクエリし、基準を満たすサービスのグループに関するWSDL−Gファイルを受信する。消費者システムは、ゲートウェイから選択されたWSDL−Gファイルに対応するWSDL−Iファイルを要求する。消費者システムは、受信されたWSDL−Iファイルを使用して、特定のサービスを選択し、選択されたサービスに関するWSDL−Iファイル内の情報を使用して、対応するM2M/IoTデバイスからそのサービスを要求する。
【0195】
例証的実施形態が開示されたが、潜在的実施形態の範囲は、明示的に記載されたものに限定されないことを理解されたい。例えば、システムは、主に、M2MゲートウェイおよびSRIを参照して説明されたが、他のコンピュータ配列も、加えて、または代替として、使用されてもよい。想定される実施形態は、特定のアーキテクチャまたは技術を使用した実装以外にも拡張する。例えば、潜在的実施形態は、WSDL以外のコンピュータ可読記述言語を採用してもよい。潜在的実装は、あらゆるタイプのサービス層アーキテクチャ、システム、および実施形態に及ぶ。
【0196】
本明細書に説明される種々の技法は、ハードウェアまたはソフトウェア、もしくは、必要に応じて、両方の組み合わせに関連して実装されてもよいことを理解されたい。したがって、本明細書に説明される主題の方法および装置またはそのある側面または一部は、フロッピー(登録商標)ディスケット、CD−ROM、ハードドライブ、または任意の他の機械可読記憶媒体等の有形媒体内に具現化されるプログラムコード(すなわち、命令)の形態をとってもよく、プログラムコードが、コンピュータ等の機械の中にロードされ、それによって実行されると、機械は、本明細書に説明される主題を実践するための装置となる。プログラムコードが、媒体上に記憶される場合、これは、当該プログラムコードが1つまたはそれを上回る媒体上に記憶され、集合的に当該アクションを実施する、すなわち、統合された1つまたはそれを上回る媒体が、アクションを実施するためのコードを含有する場合に当てはまり得るが、しかし、1つを上回る単一媒体が存在する場合、コードの任意の特定の部分が任意の特定の媒体上に記憶される要件は存在しない。プログラマブルコンピュータ上のプログラムコード実行の場合、コンピューティングデバイスは、概して、プロセッサと、プロセッサによって可読である記憶媒体(揮発性および不揮発性メモリおよび/または記憶要素を含む)と、少なくとも1つの入力デバイスと、少なくとも1つの出力デバイスとを含む。1つまたはそれを上回るプログラムは、例えば、API、再使用可能制御、または同等物の使用を通して、本明細書に説明される主題に関連して説明されるプロセスを実装または利用してもよい。そのようなプログラムは、好ましくは、高レベル手続き型またはオブジェクト指向型プログラミング言語において実装され、コンピュータシステムと通信する。しかしながら、プログラムは、所望に応じて、アセンブリまたは機械言語で実装されることもできる。いずれの場合も、言語は、コンパイルまたは解釈言語であって、ハードウェア実装と組み合わせられてもよい。
【0197】
例示的実施形態は、1つまたはそれを上回る独立型コンピュータシステムまたはデバイスの文脈において、本明細書に説明される主題の側面の利用を参照し得るが、本明細書に説明される主題は、そのように限定されず、むしろ、ネットワークまたは分散型コンピューティング環境等の任意のコンピューティング環境に関連して実装されてもよい。本明細書に説明される主題のなおもさらなる側面は、複数の処理チップまたはデバイス内もしくはそれを横断して実装されてもよく、記憶も同様に、複数のデバイスを横断して影響されてもよい。そのようなデバイスは、パーソナルコンピュータ、ネットワークサーバ、ハンドヘルドデバイス、スーパーコンピュータ、または自動車および飛行機等の他のシステムの中に統合されるコンピュータを含み得る。
【0198】
以下は、前述の説明に現れ得る、サービスレベル技術に関連する頭字語のリストである。
AE アプリケーションエンティティ
CoAP 制約付きアプリケーションプロトコル
CoRE 制約付きRESTful環境
CSE 共通サービスエンティティ
CSF 共通サービス機能
GW ゲートウェイ
HTTP ハイパーテキスト転送プロトコル
IETF インターネット技術タスクフォース
IoT モノのインターネット
JSON ジャバスクリプトオブジェクト表記
M2M マシンツーマシン
MEP メッセージ交換パターン
OWL−S ウェブサービスのためのウェブオントロジー言語
RD リソースディレクトリ
REST 表象状態転送
ROA リソース指向アーキテクチャ
RPC 遠隔プロシージャコール
RSDL RESTfulサービス記述言語
SOA サービス指向アーキテクチャ
SOAP 単純オブジェクトアクセスプロトコル
SRI サービスレジストリインフラストラクチャ
UDDI ユニバーサル記述、発見、および統合
WADL ウェブアプリケーション記述言語
WS ウェブサービス
WSDL ウェブサービス記述言語
WSDL−G 類似サービスのグループのためのWSDLファイル
WSDL−I 個々のサービスのためのWSDLファイル
W3C ワールドワイドウェブコンソーシアム
XML 拡張マークアップ言語
XSD XMLスキーマ定義
【0199】
主題は、構造特徴および/または方法論的アクションに特有の言語で説明されたが、添付の請求項に定義された主題は、必ずしも、前述の具体的特徴またはアクションに限定されないことを理解されたい。むしろ、前述の具体的特徴およびアクションは、請求項を実装する例示的形態として開示される。