本明細書に開示されるのは、モノのインターネット(IoT)のために使用され得る、サービスを提供するための1つ以上のサービス要素の使用である。各サービス要素は、複数のデバイスまたは仮想デバイス(サービス要素ホスト)によって提供され得る。本明細書により詳細に議論されるのは、サービス、サービスホスト、サービス要素、およびサービス要素ホスト等のサービス層に関連付けられた概念である。サービスは、クライアントにとって関心があるアクション、機能、またはデータの組と考えられ得、サービスは、クライアントの入力に基づいて、結果および成果物の組を提供するために導入される。サービスホストは、サービスをアナウンスし、クライアントがサービスにアクセスするためのインターフェースを提供し得るエンティティである。アプリケーションの形態であり得るサービスを要求するエンティティは、クライアントと考えられ得る。サービスホストは、サービスをアナウンスし得るエンティティであり、クライアントのためのインターフェースをサービスにアクセスするために提供する。サービスホストは、サービス要素から全体的サービスを形成し、それをサービス要求の発信側に配信し得る。サービス要素は、サービスが構成される個々のコンポーネントと考えられ得る。サービス要素は、通常、サービスを提供するために使用されるデータ(例えば、物理的世界から感知されるデータ)である。例えば、サービス要素は、温度または血糖値データであり得る。最後に、サービス要素ホストは、サービス要素の物理的ホストとして定義され得る。1つのサービス要素ホスト上に位置する複数の異なるサービス要素(例えば、温度または湿度)が存在し得る。
図6は、サービス要素の使用を含む、天候推測サービスのためのユースケースを図示する。図6では、近隣130は、サービス要素(例えば、温度、湿度、およびCO2)と、温度センサ131、湿度センサ132、およびCO2センサ134等の対応するサービス要素ホストとを含む。天候推測サービスホスト133は、種々のデバイスから収集されるデータに基づいて、推測を生成し、サービスをその他に提供することができる。
例えば、図6を参照すると、推測は、近隣130内に展開される種々のセンサデバイスによって収集される温度、湿度、およびCO2(例えば、空気汚染)データに基づき得る、近隣130が晴天であるかどうかであり得る。図6に示されるように、種々のセンサデバイスは、パラメータ、例えば、温度、湿度、およびCO2の各々を感知するために近隣130に展開される。この特定の天候推測サービスは、サービスホストであるゲートウェイ133を有する。天候推測サービスは、3つのサービス要素を有し、それらの各々が複数のホストを有する。ここで、アプリケーション等は、適切なアクセス権を用いてサービス要素を要求することを可能にされるように、サービスホスト(例えば、天候推測サービスホスト133)およびサービス要素ホスト(例えば、温度センサ131または湿度センサ132)と登録関係を有すると仮定される。
従来、複数のサービス要素から成るサービス(本明細書に定義されるように)をサポートするための機能性はない。従来のサービス層(例えば、oneM2Mサービス層)は、サービスのこの概念を有しておらず、サービスが複数のサービス要素から成り得るシナリオをサポートしない。従来のサービス層は、定義された多くのリソースを有するが、これらは、物理的世界から収集されるデータを記憶のみする。クライアントは、そのデータを読み出し、それをローカルで処理することが可能となるであろう。加えて、従来のサービス層は、複数のサービス要素から成り得るサービスの情報を処理および維持する方法を提供しない。そのような方法がないと、サービスは、サービス層において発見または使用されることができない。
本明細書に議論されるようなサービスは、サービス要素によって集められるデータに基づいて情報を決定する(従来のサービス層で行われるように、データを記憶するだけではない)。本明細書に開示されるサービスは、物理的世界を感知することによって提供されるデータを使用し得る。この新しいサービスは、サービス層によって提供されることができ、サービスがクライアントによって発見および使用されることを可能にする。本明細書に開示されるサービスは、例えば、図6を参照すると、晴天であるかどうか、または近隣130に関して晴天であるかどうかを推測し得る。別の例は、血圧データに関連付けられる。サービスは、ある人が健康であるかどうか、または任意の薬剤が必要とされるかどうかを決定するように提供され得る。
サービス要素(例えば、温度、湿度、およびCO2データ)を受信するクライアント(例えば、アプリケーション等)は、それらを異なる組み合わせのセンサデバイス(例えば、サービス要素ホスト)から受信し得、天候に関するユーザの快適性レベルおよび環境条件に関連付けられたそれら自身の定義(例えば、容認可能決定/推測を提供するために使用される1つ以上のサービス要素に関連付けられたデータの最小閾値)に基づいて、推測を行い得る。別の例では、サービスホスト(例えば、ゲートウェイ133)は、異なるセンサデバイスから受信されたサービス要素に基づいて、大域的快適性のレベルを決定し得る。大域的快適性のレベルは、例えば、そのサービスホストまたはサービスホストのグループによる全てまたは実質的に全てのサービスに関連付けられ得る。
クライアントは、図7に示されるように、ルータを通してネットワークに接続される異なる物理的場所からサービスを要求し得る。例では、クライアント(例えば、図7におけるクライアント141、142、143、または144)の各々は、サービスを受信するためのそれ自身のサービス品質(QoS)要件を有し得る。QoSは、最短総距離、最短総応答時間等であり得る。図7では、サービスホスト155は、例として、ゲートウェイ上にあり得る。示されるように、このサービスのための3つのサービス要素、すなわち、以下のように、サービス要素A、B、Cが存在する。
・ サービス要素Aは、サービス要素ホスト146、147、および148を有する。
・ サービス要素Bは、サービス要素ホスト152および153を有する。
・ サービス要素Cは、サービス要素ホスト149、150、151、および154を有する。
クライアント141およびクライアント144が、最短総距離のQoSを伴う要求を送信する場合、サービス要素ホスト146、152、および154がサービス要素A、B、およびCをクライアント141に提供することが最適である。クライアント144に関して、サービス要素ホスト147、153、および149がサービス要素A、B、およびCを提供することが最適である。別の例では、クライアント151およびクライアント149が、最短総応答時間のQoSを伴う要求を送信する場合、サービス要素ホスト146、152、149がサービス要素A、B、Cをクライアント142およびクライアント143に提供することが最適である(この例に対して、他のピアサービス要素ホストと比較して最短応答時間を有すると仮定して)。
サービス要求は、要求内のQoS要件を考慮して応答されることが重要であり得る。従来のシステムは、サービスが複数の/異なるサービス要素ホスト内にホストされる複数のサービス要素から成り得ることを理解しないこともあり、かつ関連コンテキスト情報も理解しないこともあるので、サービス要素を効率的に使用および選択することができない。従来のシステムは、本明細書に議論されるように、クライアントからのQoS要件を満たすための最良サービス要素ホストを見出すように良好にサポートされず、そのように動作しない。現在、本明細書に議論されるようなこれらの要因を考慮することができるサービス要素ホスト選択機能がない。
以下に開示されるのは、サービス層が、提案される概念のために、oneM2Mを使用して実装されるoneM2M例に加え、複数のサービス要素を伴うサービスをサポートするための能力を提供する方法である。とりわけ、図9−図15に図示されるステップを行うエンティティは、図24Cまたは図24Dに図示されるもの等のデバイス、サーバ、またはコンピューティングシステムのメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(例えば、コンピュータ実行可能命令)の形態で実装され得る論理エンティティであることを理解されたい。すなわち、図9−図15に図示される方法は、とりわけ、図24Cまたは図24Dに図示されるデバイスまたはコンピューティングシステム等のコンピューティングデバイスのメモリ内に記憶されるソフトウェア(例えば、コンピュータ実行可能命令)の形態で実装され得、そのコンピュータ実行可能命令は、コンピューティングデバイスのプロセッサによって実行されると、とりわけ、図9−図15に図示されるステップを行う。M2Mデバイスの相互作用に関して以下にさらに詳細を伴う例では、図8のサービスホスト161は、図24AのM2Mゲートウェイデバイス14上に常駐し得る一方、図14のクライアント170は、図24AのM2Mデバイス18上に常駐し得る。
図8は、サービス、サービス要素、およびホスト報告(以降、S−SEaH報告)に関連付けられた例示的メッセージフローを図示する。サービス層162は、そのようなS−SEaH報告の入力をとり、各サービスのためにサービス、サービス要素、およびサービス要素ホスト記録を構築する。本明細書に議論されるように、サービスは、1つ以上のサービス要素から成る。各サービスおよび各サービス要素は、それぞれ、serviceIDまたはelementIDを割り当てられ得る。
図8を参照すると、ステップ164では、サービス層162は、サービスホスト161からであり得るS−SEaH報告メッセージを受信する。表1は、特に、新しいサービスが利用可能であるとき、S−SEaH報告メッセージ内に含まれ得るものの例を提供する。
S−SEaH報告メッセージは、とりわけ、serviceID、numOfElement、elementID、numOfElementHost、listOfElementHost、およびserviceElementOrderを含み得る。serviceIDは、サービスを表し、区別し得る、識別子である。serviceIDは、各サービスが一意の識別子を有するように、サービスディレクトリ等の中央点によって割り当てられ得る。例として、serviceIDは、サービスの説明だけではなく、それをその他から区別するか、またはURI等であり得る、いくつかの標識を含み得る。numOfElementは、サービスが構成されているサービス要素の数を示す。numOfElementフィールドの後には、示されるように、その識別子、要素ホストの数、および対応するホスト識別子を伴うサービス要素が続き得る。numOfElementフィールドは、ステップ164のS−SEaH報告メッセージ内に含まれるelementIDの数から得られ得る。
elementIDは、このサービス内のサービス要素を表し、区別し得る、識別子である。elementIDは、serviceIDから拡張され得る。表2を参照すると、サービスは、3つのサービス要素を有するDeduceService1のserviceIDを有する。elementIDは、serviceIDから拡張され、DeduceService1.temperature、DeduceService1.humidity、およびDeduceService1.airである。numOfElementHostは、各サービス要素のための要素ホストの数を示す。numOfElementHostフィールドは、listOfElementHostフィールドを検討することによって推測され得る。
listOfElementHostは、各サービス要素のためのサービス要素ホストのリストまたは他のインジケータを含む。numOfElement後、一例では、elementID、numOfElementHost、listOfElementHostの複数の組み合わせが続き得る。サービス要素ホストは、サービスホストに登録しているか、またはサービスホストによって発見されたサービス要素ホストによって把握され、サービスホストに対して更新される。serviceElementOrderは、サービスを要求する場合、サービス要素の順番の要因(例えば、インジケータ)を考慮する。言い換えると、サービスのサービス要素は、完全なサービスを得るために、クライアントによって受信されるべき所定の順序を有し得る。そのような順序要件がない場合、このフィールドは、S−SEaH報告メッセージから省略され、そうでなければS−SEaH報告内に示され得る。他のフィールドと同様に、serviceElementOrderは、クライアントに読み出されるか、または提供され得る。
表2は、メッセージから導出され得る例示的S−SEaH記録を図示する。それは、S−SEaH記録または報告メッセージのためにディスプレイインターフェース(例えば、ディスプレイ/タッチパッド42)上に表示され得るものの例でもあり得る。serviceElementOrderは、この例では、必要とされないので、表2に示されない。表2のこの記録内に含まれ、サービス、サービス要素、およびサービス要素ホストに関して全体を通した識別子は、例証目的のためのものであり、他の可能な形態、例えば、IPアドレス、MSISDN、またはIMSIであり得ることを理解されたい。
図8を継続して参照すると、ステップ165では、サービス層162は、表2に示されるものに類似し得るS−SEaH記録を生成する。表2のS−SEaH記録は、サービスホスト161からステップ164において提供されるメッセージ等のS−SEaH報告メッセージに基づく。サービス層162は、DeduceService1を適切に共有またはパブリッシュし得る。したがって、サービス層162は、表1の情報を維持するための属性を有するサービスリソースを有し、それをパブリッシュし得る。サービス層162は(いくつかのインスタンスでは)、単に、サービス要素等を追加または除去し得る、更新情報を送信し得る。ステップ166では、サービス層162は、メッセージをサービスホスト162に送信する。ステップ166のメッセージは、記録がサービスのために成功裏に作成された(または不完全もしくは相反情報等の理由から不成功である)ことを示し得る。
サービス層162およびサービスホスト161に関するさらなる明確化のために、サービスホスト161は、主に、サービス(例えば、DeduceService1)について把握する。したがって、DeduceService1を有するサービスホスト161は、DeduceService1をサービス層162にパブリッシュすることを欲し得る。サービス層162によって提供される機能性により、クライアントは、サービスホスト161のDeduceService1(および他のサービス)を発見し得る。サービス層161は、サービスホスト161によって提供されるサービスが、クライアントによって発見され、次いで、使用され得るように、サービス(例えば、DeduceService1)の情報を管理することができる。
本明細書に開示されるのは、サービス要素ホスト選択サービス(SEHS)の機能性である。図9および図10の各々は、SEHSのための別個のシナリオを示す。第1のシナリオを要約すると、クライアントは、QoSベースのサービス要求をSEHSに送信し得る。SEHSは、要求を処理し、クライアントのQoSに基づいて適切なサービス要素ホストを選択し、サービス要素要求をサービス要素ホストにディスパッチする。第2のシナリオを要約すると、クライアントは、QoSベースのサービス要求を直接サービスホストに送信することができ、サービスホストは、順に、要求をSEHSに転送する。このシナリオは、リソース制約付きデバイス内に常駐する場合に発生し、リソース制約付きデバイスは、異なるサービス要素ホストからのサービス要素をつなぎ合わせ、全体的サービスを形成する能力を持たず、クライアントは、それを取り扱うサービスホストに頼る。同様に、SEHSは、要求を処理し、クライアントのQoSに基づいて適切なサービス要素ホストを選択し、サービス要素要求をサービス要素ホストにディスパッチする。両シナリオは、本明細書でより詳細に議論される。
より詳細には、第1のシナリオでは、図9に示されるように、ステップ181では、SEHS171は、サービス要求を受信し、要求は、クライアント170からであることを示し得る。ステップ182では、SEHS171は、サービス要素ホスト選択応答をクライアント170に送信し、応答は、クライアント170に全ての選択されたサービス要素ホストを知らせ得る。SEHS171内では、サービス要求に基づくQoSの処理(ブロック176)、関連コンテキスト情報の収集/決定(ブロック177)、サービス要素ホストの選択/調節、および選択されたサービス要素ホストの各々へのサービス要求のディスパッチが行われ得る。ステップ183では、SEHS171は、サービス要素要求をサービス要素ホスト172に送信する。ステップ184では、クライアント170は、サービス要素応答を受信し、応答は、サービス要素ホスト172からであることを示す。すなわち、184における応答は、クライアント172が要求したものに対応するサービス結果またはコンテンツを含み得る(例えば、サービス要素ホストが温度センサノードである場合、温度値)。
第2のシナリオでは、図10に示されるように、ステップ191では、サービスホスト173は、サービス要求を受信し、要求は、クライアント170からであることを示し得る。ステップ192では、サービスホスト173は、ステップ191の要求をSEHS171に送信する。ステップ193では、サービスホスト173は、サービス要素ホスト選択応答を受信し、応答は、選択されたサービス要素ホストを含み、SEHS171からであることを示し得る。SEHS171内では、サービス要求に基づくQoSの処理(ブロック176)、関連コンテキスト情報の収集/決定(ブロック177)、サービス要素ホストの選択/調節、および選択されたサービス要素ホストの各々へのサービス要求のディスパッチが行われ得る。ステップ194では、サービス要素ホスト172は、SEHS171からであることを示すサービス要素要求を受信する。ステップ195では、サービスホスト173は、サービス要素ホスト172からであることを示すサービス要素応答を受信する。すなわち、195における応答は、サービスホスト173が要求するものに対応するサービス結果またはコンテンツ(例えば、サービス要素ホストが温度センサノードである場合、温度値)を含み得る。ステップ196では、サービスホスト173は、サービス応答をクライアント170に送信する。すなわち、196における応答は、個々にまたは組み合わせられた/集約された全サービス要素からのサービス結果またはコンテンツを含み得る。
図9および図10によって図示されるシナリオのいずにおいても、QoS要件は、サービス要求内において随意であり得る。サービスホスト173またはSEHS171は、要求されるサービスの特性または他の要因に基づいて、クライアント170のためのQoS要件を決定し得る。サービスホスト173は、QoS要件をSEHS171に提供し得るか、またはQoS要件は、SEHS171内にプロビジョニングされ得る。
両シナリオでは、SEHS171は、類似様式で動作し得る。SEHS171がサービス要求を受信すると、ブロック176の「Qosベースのサービス要求の処理」は、要求メッセージを解析し(例えば、ステップ181またはステップ192)、適切なコンテキスト情報のために、ブロック177の「関連コンテキスト情報収集」から入力を受信し得る。ブロック178の「サービス要素ホストの選択または調節」は、要求メッセージおよび収集されるコンテキスト情報に基づいて、サービス要素ホスト172を選択または再選択することを担当する。サービス要素ホスト172が選択または再選択された後、ブロック179の「選択されたサービス要素ホストのそれぞれのサービス要求ディスパッチ」は、要求をディスパッチすることを担当する。
以下に議論されるのは、SEHS171のための相互作用のさらなる詳細である。以下は、SEHS171に関連付けられたメッセージ構造、メッセージコンテンツ、およびメッセージングフローの例である。クライアント170は、アタッチされたルータ、ゲートウェイ、基地局等(以降、プロキシルータまたはプロキシゲートウェイが提示の簡略化のために使用される)を通してアクセスを得ることによって、サービス要求を送信し得る(例えば、ステップ181)。ルータは、プロキシとしての役割を果たし、クライアントのためのサービス要求をSEHS171またはサービスホスト173に送信し得る(SEHS171は、ルータをサービス要求の発信側と見なすことができる)。例では、SEHS171は、図19に示されるように、CSE内にCSFとして常駐し得る。プロキシルータのアドレスの知識を有するSEHS171は、ルータからサービス要素ホスト172までの距離等、コンテキスト情報をルータから読み出すことを補助し得る。この例に対して、ルータからサービス要素ホスト172までの距離は、比較を行うとき、クライアント170からサービス要素ホスト172までの距離に相当すると考えられ得る。例示的サービス要求メッセージ(例えば、ステップ181)が、表3に示される。
表3におけるクライアントのアドレスは、サービスを要求しているクライアント170のアドレスである。図9によって要約される第1のシナリオに対して、表3のプロキシのアドレスは、クライアント170をインターネットのようなネットワークに接続し得るクライアント170のプロキシゲートウェイ(例えば、図11のプロキシゲートウェイ169)のアドレスである。プロキシゲートウェイ169のアドレスは、最初は、クライアント170に把握されていないこともある。プロキシゲートウェイ169は、それ自身のアドレスを追加することによって、クライアント170の要求メッセージを再編成し得る。プロキシゲートウェイ169は、要求メッセージを検査し、それ自身のアドレスを追加し得ると仮定される。第2のシナリオに対して、表3のプロキシのアドレスは、プロキシゲートウェイ169がサービスホスト173自体であるので、サービスホスト173によってリセットされ、それは、本明細書でより詳細に議論される。表3のserviceIDは、クライアント170が要求しているサービスの識別子である。クライアント170がサービスを要求する前、サービスディレクトリからサービスを発見し得ることが想定され、サービスディレクトリは、例えば、oneM2Mアーキテクチャ内のCSE内に常駐し、サービスのメタデータおよびセマンティクスを記憶し得る。表3のQoS要件は、クライアント170がサービスホスト173から望むQoSである。用語「要件」が、使用されるが、本明細書では、QoSオプションは、優先順位が付けられ、条件および優先順位を考慮して、優先順位に基づいて実装され得ることが想定される。SEHS171は、それが解析および理解可能なQoS要件のリストを維持し得る。このリストは、クライアント170の要求に基づいて、知らされ(例えば、パターン決定される)、常に更新され得る。例は、最短総距離、デバイス間のケーブルの長さ、最小遅延、最短応答時間、信頼性、最短スリープ期間等を含み得る。クライアント170は、一緒に考慮され得る、複数のQoS要求を有し得る。以下では、最短総距離が、例証目的のために例として使用される。最短総距離は、概して、プロキシゲートウェイ169からサービス要素ホスト172までの距離の和としてこれらの例のために定義され得る。
図11は、図9によって要約される第1のシナリオに基づくSEHSの例示的メッセージフローを図示する。ステップ201では、SEHS171は、表3に示されるようなQoS要件を伴うサービス要求を受信し得る。ステップ201のサービス要求は、プロキシゲートウェイ170からであることを示し得る。表2に示されるサービスを例として挙げると、クライアント170のアドレスは、クライアント170自体のアドレスであり、プロキシのアドレスは、クライアント170とアタッチされたルータのアドレスであり、serviceIDは、「DeduceService1」に設定され、QoS要件は、最短総距離に設定される。例として、ステップ201のサービス要求は、個々のサービス要素の各々に対するサブスクリプション要求であり得る。この例は、例証目的のために本明細書で使用されるであろう。
図11を継続して参照すると、ステップ202では、SEHS171によってコンテキスト読み出しが行われる。SEHS171は、サービス要素ホストの選択を行うために、関連コンテキスト情報を読み出す。SEHS171は、コンテキスト情報をコンテキストプロバイダ174から読み出し得る。SEHS171は、表4に示されるようなコンテキスト要求メッセージを送信し得る。コンテキストプロバイダ174は、プロキシゲートウェイ169であり得る。例では、表4のコンテキストフィールドは、SEHS171が要求側(例えば、プロキシゲートウェイ169)からサービス要素ホスト172までの距離情報を要求することを示し得る。サービス要素ホスト172のリストは、表4のフィールド内に含まれる。例では、コンテンツプロバイダ174としてのプロキシゲートウェイ169は、デバイスの場所(例えば、GPS)、プロキシゲートウェイ169のルーティングテーブル、およびping、トレースルーティング等の他のツールのうちの1つ以上のものに基づいて、コンテキスト情報を取得し得る。コンテキストプロバイダ174は、プロキシゲートウェイ169から列挙されたサービス要素ホストまでの決定された距離を返す。例では、SEHS171は、以前のトランザクションからのコンテキスト情報をキャッシュし得、したがって、コンテキスト情報をコンテキストプロバイダ174から要求しないこともある。読み出されるコンテキスト情報は、表5に示されるようなものであり得る。
図11を継続して参照すると、ステップ203では、SEHS171は、QoS要件および取得されたコンテキスト情報に基づいて、サービス要素ホストの組を選択し得る。表5に基づくこの例では、SEHS171は、クライアント170までの最短総距離を有するので、サービス「DeduceService1」の3つのサービス要素の各々をクライアント170に提供するサービス要素ホスト172として、「tempSensor1」、「humiditySensor2」、および「airSensor2」を選択する。ステップ204では、SEHS171は、ステップ201のオリジナルサービス要求を継続中サービスリストに入れる。ステップ205では、SEHS171は、選択されたサービス要素ホスト172の各々にディスパッチされるであろうクライアント170のためのサービス要素要求を編成する。ステップ205において生成されたサービス要素要求では、サービス要素ホスト172がサービス要素を送信すべき場所を把握するように、クライアント170のアドレスが、含まれ得る。
図11を継続して参照すると、ステップ206aでは、SEHS171は、クライアント169の代わりに、サービス要素要求を選択されたサービス要素ホスト172にディスパッチする。SEHS171は、クライアント170のアドレス、ステップ201のサービス要求からのserviceID、およびサービス要素ホスト172のための対応するserviceElementIDをディスパッチされる要求メッセージ内に含み得る。SEHS171は、クライアント170とサービス要素ホスト172との間の共通信頼ポイントであり得る。ステップ206aまたは201のサービス要素要求メッセージは、クライアント170と通信するときに使用され得るセキュリティ証明情報を含み得る。ステップ206bでは、SEHS171は、要求されるサービス内に含まれる各サービス要素のための確認および選択されたサービス要素ホスト172を含み得る、メッセージを送信する。サービス要素ホスト172とクライアント170との間のセキュアな通信を確立するために、セキュリティキーが、ステップ206bのメッセージ内に含まれ得る。加えて、SEHS171は、表6に示されるように、同じサービスおよびプロキシゲートウェイに対応する選択されたサービス要素ホスト172を記憶し得る。前述は、以下の状況において有用であり得る。例えば、別のクライアント(図示せず)がクライアント170と同じプロキシゲートウェイ169を使用して、同じQoS要件を伴う同じサービスのためのサービス要求を送信する場合、SEHS171は、ステップ202およびステップ203を実施する必要がないこともある。SEHS171は、すでに選択されたサービス要素ホスト172を使用して、要求および他の関連付けられたメッセージングをディスパッチし得る。
図11を継続して参照すると、ステップ207では、プロキシゲートウェイ169は、ステップ201に関連付けられたサービス要素(例えば、サービス要素に関連付けられたデータ)を受信する。ステップ207のメッセージは、サービス要素ホスト172からであることを示し得る。ステップ208では、プロキシゲートウェイ169は、各サービス要素ホスト172からの受信されたメッセージをチェックし、サービス要素の閾値量が受信されたかどうかを決定し得る。ステップ209では、サービス要素の閾値量がプロキシゲートウェイ169によって受信されたことの決定後、サービス完了メッセージをSEHS171に送信し得る。ステップ210では、SEHS171は、サービス要求を継続中リストから除去し得、それは、ステップ201のサービス要求が完了されたことを示す。
図12は、図10によって要約される第2のシナリオに基づく、SEHSの例示的メッセージフローを図示する。ステップ211では、サービスホスト173は、QoS要件を伴う表3に示されるようなサービス要求を受信する。サービス要求は、サービスホスト173からであることを示し得る。ステップ212では、サービスホスト173は、サービス要素ホスト172がサービス要素をサービスホスト173に送信するように、プロキシゲートウェイ169からの要求メッセージ内のプロキシアドレスをそれ自体(サービスホスト173)へリセットする。ステップ213では、サービスホスト173は、ステップ211のサービス要求をSEHS171に転送する。ステップ214から218aは、図11のステップ202からステップ206aに類似する。図12のステップ218bは、図11のステップ206bに類似するが、ステップ218bでは、SEHS171は、確認をサービスホスト173に送信する。
図12を継続して参照すると、ステップ219では、サービスホスト173は、ステップ211に関連付けられたサービス要素を受信する。ステップ220では、サービスホスト173は、各サービス要素ホスト172から受信されたメッセージをチェックし、サービス要素の閾値量が受信されたかどうかを決定し得る。ステップ221では、サービスホスト173は、閾値量が受信されると、ステップ219の受信されたサービス要素の完全サービスを形成する。例えば、図6の推測サービスに対して、サービスは、受信された温度、湿度、およびCO2データからの推測によって編成される。ステップ222aでは、サービス要素の閾値量がサービスホスト173によって受信されたことの決定後、サービス完了メッセージをSEHS171に送信し得る。ステップ222bでは、サービスホスト173は、全体的サービスをプロキシゲートウェイ169に送信する。ステップ223では、SEHS171は、サービス要求を継続中リストから除去する。除去は、ステップ211のサービス要求が完了したことを示し得る。他のクライアント(図示せず)も、他のクライアントのためのプロキシとしての役割を果たすサービスホスト173に要求を送信し得るので、サービス要素選択は、同じQoS要件を伴うサービス要求に対して、主要なイベント(例えば、電力サイクル、エラー、閾値超過等)がなければ、1回のみ発生し得る。
サービス要素ホスト再選択が、現在選択されているサービス要素ホスト172によって提供されるサービスのクライアントの不満足(例えば、最小閾値を満たさない)を含み得る、コンテキスト変化に起因して、SEHS171において発生し得る。サービス要素ホスト再選択に関する例は、以下に議論される。例は、図9の第1のシナリオのコンテキストにおけるものであるが、サービス要素ホスト再選択は、図10の第2のシナリオ等の他のシナリオにも適用可能である。SEHS171によって取り扱われ得る、サービス要素ホストを再選択するようにSEHS171をトリガし得る、本明細書に提供されるもの以外の要因が存在することも可能である。
図13は、コンテキストの変化に基づくサービス要素ホスト再選択の例示的メッセージフローを図示する。ステップ231では、SEHS171は、コンテキストプロバイダ174によって提供される関心のあるコンテキストにサブスクライブする。SEHS171によって考慮され得る異なるコンテキスト情報が存在する。例えば、SEHS171は、信頼性のQoS要件に基づいて、サービス要素ホスト172のバッテリに関連付けられた情報にサブスクライブし得る。SEHS171は、バッテリ電力のための閾値が満たされる場合、通知され得る。例は、デバイス間の距離に関して、図13のフローのためにコンテキスト要求され得る。SEHS171は、プロキシゲートウェイ169からサービス要素ホスト172までの距離のためのコンテキスト情報にサブスクライブし得る。ステップ232では、SEHS171は、コンテキストにおける変化を通知するためのメッセージを受信する。ステップ232のメッセージは、コンテキストプロバイダ174からであることを示し得る。例では、プロキシゲートウェイ169からサービス要素ホスト「humiditySensor1」までの距離は、3である。表7に示される3の距離は、7等の別の数字から減少している。
図13を継続して参照すると、ステップ233では、3へのhumiditySensor1の距離の変化は、関連継続中サービス、または表6に示されるような選択されたサービス要素ホスト履歴内に記憶されるサービスのために、サービス要素ホスト再選択を行うようにSEHS171をトリガする。SEHS171は、「humiditySensor1」を新しいサービス要素ホスト175として選択し、サービス要素「service1.humidity」を提供し得る。ステップ234では、SEHS171は、プロキシゲートウェイ169に、新しく選択されたサービス要素ホスト175の通知を送信し、それは、サービス要素のうちの1つを提供する。ステップ235では、プロキシゲートウェイ169は、現在のステータスとともに、一般的サービス要素ホスト切り替えに対する変化の通知(またはサービス要素ホスト175に対する切り替えの特定の言及)の受信を確認する。ステータスは、プロキシゲートウェイ169がサービス要素を受信している段階を示す。例では、プロキシゲートウェイ169は、ある期間、例えば、10分にわたって、サービスを受信する(例えば、個々のサービス要素の各々にサブスクライブする)ことを欲し得る。その結果、ステータスにおいて、プロキシゲートウェイ169は、それがサービスを例えば、4分受信したこと、したがって、6分残っていることを通知し得る。ステップ236では、SEHS171は、サービス要素要求を、プロキシゲートウェイ169からの現在のサービス要素受信ステータスとともに、新しく選択されたサービス要素ホスト175に送信する。
図13を継続して参照すると、ステップ237では、SEHS171は、サービス要素要求キャンセルを古いサービス要素ホスト172に送信する。例えば、サービス要素ホスト172は、表6および表7に示されるように、「humiditySensor2」であり得る。ステップ238では、新しいサービス要素ホスト175は、未完了サービス要素をプロキシゲートウェイ169に提供する。例では、サービス要素ホスト175(「humiditySensor1」)は、残りの6分にわたって湿度データをプロキシゲートウェイ169に送信する。ステップ239では、プロキシゲートウェイ169は、期間内にサービス要素ホストから閾値数のサービス要素(例えば、期間あたり、量あたり、またはそれらの組み合わせ)(元々選択されたものと新しく選択されたものの組み合わせであり得る)を受信したかどうかを決定する。ステップ240では、閾値に到達後、プロキシゲートウェイ169は、サービス完了確認をSEHS171に送信する。ステップ241では、SEHS171は、サービス要求を継続中リストから除去する。除去は、プロキシゲートウェイ169によって要求されるサービスの完了を示し得る。
図14は、クライアントの不満足(例えば、最小閾値を満たさない)に基づく、サービス要素ホスト再選択の例示的メッセージフローを図示する。ステップ251では、クライアント270は、不満足閾値に到達するQoSに対してアラートされる。アラートは、例えば、ドロップされたパケットまたは他のエラー等のサブスクライブされるトリガイベントの構成に基づいて受信され得る。アラートは、SEHS171のために受信され得る。QoSは、クライアントが最初に要求した要件と異なり得る。例えば、クライアント170は、サービス要素ホスト172(例えば、「tempSensor1」)がある時間にわたって期待される通り温度データを送信しなかったことをアラートまたは別様に決定され得る。理由は、センサが、所定のスケジュールに基づいてそのスリープモードに切り替わったか、または別様に利用不可能であり得ることであり得る。ステップ252では、SEHS171は、クライアント170のためにサービス要素ホストを再選択するための要求を受信し得る。要求は、クライアント170からであることを示し得、サービス要素IDを含み得る。ステップ253では、ステップ252の要求に基づいて、SEHS171は、関連継続中サービスのためのサービス要素ホストの再選択を行うようにトリガされ得る。例では、SEHS171は、サービス要素ホスト175(例えば、「tempSensor2」)がサービス要素ホスト172(例えば、「tempSensor1」)の代わりに要求されるサービス要素を提供するため選択されるように、変更を行い得る。
図14を継続して参照すると、ステップでは、SEHS171は、クライアント170に、要求されるサービス要素(例えば、温度)のために新しく選択されたサービス要素ホスト175を知らせるメッセージを送信する。ステップ255では、クライアント170は、サービス要素ホスト175に、サービス要素を得ることに関する要求を送信し得る。要求は、SEHS171の代わりに、クライアント170から直接ディスパッチされる。この直接要求は、代替であり、本明細書で議論されるいくつかの他の例と異なる。ステップ256では、SEHS171は、サービス要素ホスト172にそれとのサービスのキャンセルを通知するために、メッセージをサービス要素ホスト172に送信する。サービス要素ホスト172は、SEHS171に確認または同等メッセージで応答し得る。ステップ257からステップ260は、図13のステップに類似する。
以下に議論されるのは、SEHSがクライアントの要求に基づいてサービス要素ホストの複数の候補を選択し得る方法に関する方法であり、それによって、クライアントがQoSの閾値変化(例えば、QoS劣化)が存在することを決定すると、クライアントは、自動的に次の候補に切り替えられることができる。表3におけるサービス要求メッセージは、バックアップのための1つ以上の候補を有するオプションを示すために追加されるフィールドを有し得る。図15は、サービス要素ホストの複数の候補を伴うサービス要求の例示的メッセージフローを図示する。ステップ271およびステップ272は、図11のステップ201およびステップ202に類似する。ステップ273では、SEHS171は、QoS要件、コンテキスト情報等に基づいて、複数の候補グループを選択し得る。例では、SEHS171は、「tempSensor1」、「humiditySensor2」、「airSensor2」を第1の候補として、「tempSensor1」、「humiditySensor2」、「airSensor3」を第2の候補として、「tempSensor2」、「humiditySensor2」、「airSensor2」を第3の候補等として選択し得る。ステップ274では、SEHSは、オリジナルサービス要求を継続中サービスリスト内に入れ得る。ステップ275では、SEHS171は、サービス要素のための要求を生成するための命令を提供する。ステップ276aでは、サービス要素のための要求は、サービス要素ホスト172にディスパッチされ、サービス要素ホスト172は、サービス要素(例えば、温度、湿度、CO2に関するデータ)を集めるためのサービス要素ホストとしての選択のための複数の候補のうちの第1の候補であり得る。ステップ276bでは、SEHS171は、メッセージをクライアント170に送信する。メッセージは、サービス要素ホスト172が選択されたことの確認を含み得る。メッセージは、サービス要素ホストの複数の候補グループのリストも含み得る。
図15を継続して参照すると、ステップ277からステップ278は、図11のステップ207およびステップ208に類似する。ステップ279は、図14のステップ251に類似する。ステップ280では、クライアント270は、サービス要素「service1.temperature」を提供するためのサービス要素ホストとしての別の候補(例えば、第3の候補−tempSensor2)に切り替えることに関連付けられたメッセージを送信する。ステップ280のメッセージは、温度に関連付けられたサービス要素(例えば、tempSensor1)に関するサービス要素ホスト172へのキャンセルメッセージであり得る。ステップ281からステップ285は、それぞれ、図14のステップ256からステップ260に類似する。
以下の議論は、特に、サービスを要求するとき、サービス要素の順番を考慮する。言い換えると、サービスのサービス要素は、完全なサービスを得るために、クライアントによって受信されるべき、所定の順序を有し得る。以下に議論されるのは、サービス要素の要求が要求側クライアントにある順序で到達する2つの例示的シナリオである。処理順序に関する考慮点(例えば、順序外で到達しているが、ある順序で処理している)も、本明細書で検討されるが、以下で直接述べられない。
表8および図16に示されるようなサービス要素の順番に関する第1のシナリオでは、サービスS1は、2つのサービス要素:AおよびBを有する。サービス要素Aは、デバイス−1、デバイス−4、およびデバイス−6と標識された3つのサービス要素ホストを有する。3つのサービス要素ホストの応答時間は、それぞれ、11秒、5秒、および1秒である。サービス要素Bは、1つのサービス要素ホスト(デバイス8)を有し、その応答時間は、10秒毎に変動し、20秒または1秒のいずれかである。この例では、応答時間は、サービス要素要求が着信した瞬間に決定され、サービス要素Aは、サービス要素Bの前に提供される必要がある。最短総応答時間のQoS要件を伴うSEHS171によって受信される要求があり得る。
サービス要素の順番に関する第1のシナリオの検討を継続すると、サービス要素の順番が考慮されない場合、SEHS171は、他のサービス要素ホストの中で最短応答時間を有するので、サービス要素Aを配信するためにデバイス−6を選定するであろう。さらに、1つのみのサービス要素ホストがサービス要素Bを提供するので、デバイス−8が、代替を伴わずに選択される。要求が、図16に示されるブロック291におけるデバイス−8の(その応答時間が20秒である場合の)非効率的期間内において着信する場合、サービス要素Bの応答時間は、20秒である。したがって、サービスの総応答時間は、デバイス−6が選定される場合、max(1,20)=20秒であろう。しかしながら、この例示的第1のシナリオでは、サービス要素Aは、サービス要素Bの前に要求側クライアント170に到達する必要があることが要求される。同じデバイスが選定される(デバイス−6およびデバイス−8)場合、サービスの総応答時間は、1+20=21秒であろう。
サービス要素の順番に関する第1のシナリオの検討を継続すると、デバイス−6およびデバイス−8の選択は、サービス要素の順番が考慮されるとき、サービス要素ホストの最も効率的組み合わせではない。より効率的ソリューションは、SEHS171が、最初に、サービス要素Aを提供するために、デバイス−1を選択することであり得る。クライアント170がサービス要素Aを受信後、サービス要素Bのための要求が、その後、デバイス−8にディスパッチされる。その時点で、デバイス−8は、その効率的期間(1秒)にすでに切り替わっており、総応答時間は、11+1=12秒である。
サービス要素の順番に関する第2のシナリオでは、表9および図17に示されるように、サービスS2は、2つのサービス要素:CおよびDを有する。サービス要素Cは、デバイス−2およびデバイス−5と標識された2つのサービス要素ホストを有する。2つのサービス要素ホストの応答時間は、それぞれ、10秒および1秒である。サービス要素Dは、デバイス−6およびデバイス−9と標識された2つのサービス要素ホストを有する。2つのサービス要素ホストの応答時間は、20秒および1秒であるが、それらは、オンライン/オフラインスケジュールまたはスリープスケジュールを有する。このシナリオでは、要求は、SEHS171によって、最短総応答時間のQoS要件とともに受信される。さらに、サービス要素Cは、サービス要素Dの前、要求側クライアント170に到達する必要があることも要求される。
サービス要素の順番に関する第2のシナリオを継続して参照すると、SEHS171が、サービス要素Aを提供するためにデバイス−5を選択する場合、1秒後、デバイス−6がオンラインになるが、デバイス−9がオフラインになる状況が発生する。2つのサービス要素の順番を考慮すると、サービスの総応答時間は、1+20=21秒であろう。デバイス−2がサービス要素Cを提供することを可能にする等、より効率的選択が、SEHS171によって行われ得る。次の10秒後、デバイス−2がサービス要素Cの提供を終了すると、デバイス9は、オンラインになる。SEHS171は、サービス要素Dを提供するためにデバイス−9を選択するオプションを有する。したがって、サービスの総応答時間は、10+1=11秒であろう。
図18は、SEHSがCSE内にoneM2M SEHS CSF294としてホストされ得る例示的例証である。oneM2Mは、oneM2Mサービス層によってサポートされる能力を定義する。oneM2Mサービス層は、能力サービス機能(CSF)の組を含む能力サービスエンティティ(CSE)としてインスタンス化される。
アプリケーションエンティティ(AE)またはCSEであり得る、クライアント170は、McaまたはMcc参照点を介して、oneM2M SEHS CSF294と通信し、サービスを要求し得る。oneM2M SEHS CSF294は、Mcn参照点を介して、下層ネットワークサービスエンティティと通信し、関連コンテキスト情報を読み出し得る。oneM2M SEHS CSF294は、各サービス要素ホスト172と通信し、Mca、Mcc/Mcc’参照点を介して、サービス要求をディスパッチし得る。
図19は、oneM2M RoAのためのサービス要求の例示的例証である。この例では、サービスホストは、MN−CSEである。クライアントであるAE301は、サービス要求をIN−CSE302内のSEHS CSFに送信する。コンテキストプロバイダは、NSE303であり得る。IN−CSE302内のSEHSは、コンテキスト情報にサブスクライブし、その通知をNSE303から入手し得る(またはそれを読み出す)。IN−CSE302は、サービス要素ホストであるASN−CSE304にサービス要素要求を送信し、応答をそこから受信し得る。
本明細書に議論されるようなメッセージに基づいて、IN−CSE302は、以下のリソースをそのリソース構造内に維持し、定義されたプロシージャ、すなわち、サービス要求のためのRESTfulインターフェースを提供し得る。図20は、<serviceRequest>のリソースツリー構造の例示的例証である。表10および表11は、<serviceRequest>リソースの子リソースおよび属性を示す。それらの共通属性は、oneM2M−TS−0001 oneM2M Functional Architecture−V−1.6.1(以降、[1])を参照し得る。
図21は、oneM2Mにおけるサービス要求の例示的メッセージフローを図示する。図21のメッセージフローは、前述のメッセージフローより簡略化されている。ステップ311では、AE301(例えば、クライアント170)は、<serviceRequest>を作成し、サービス要求をIN−CSE302(例えば、SEHS171)に送信する。ステップ312では、IN−CSE302は、QoS要件に基づいて、ASN−CSE304(例えば、サービス要素ホスト172)を選択する。ステップ313では、IN−CSE302は、<serviceRequest>をASN−CSE304に転送する。ステップ314では、ASN−CSE304は、サービス要素応答をAE301に送信する。
図22は、oneM2Mサービスコンポーネントアーキテクチャ(SOA)内の例示的SEHSを図示する。AE321または遠隔サービスエクスポージャコンポーネント322等の形態のサービスプロバイダは、サービス要素およびその対応するサービス要素ホスト(例えば、サービス要素ホスト172)を報告および更新するために、Mca参照点331またはMsc参照点332を介して、サービス要素ホスト選択サービスコンポーネント323(例えば、SEHS171)にトークし得る。AE321または遠隔サービスエクスポージャコンポーネント322等の形態におけるクライアント(例えば、クライアント170)は、Mca参照点331またはMsc参照点332を介して、サービス要素ホスト選択サービスコンポーネント323と通信し、サービスを要求し得る。サービス要素ホスト選択サービスコンポーネント323は、Msc参照点332を介して、ネットワークサービス利用コンポーネント324(例えば、コンテキストプロバイダ174)を通して下層ネットワークサービスエンティティと通信し、関連コンテキスト情報を読み出すであろう。サービス要素ホスト選択サービスコンポーネント323は、Mca参照点331またはMsc参照点332を介して、各サービス要素ホストと通信し、サービス要求をディスパッチし得る。
図23は、本明細書で議論される方法およびシステムに基づいて生成され得る、例示的ディスプレイ(例えば、グラフィカルユーザインターフェース)を図示する。ディスプレイインターフェース341(例えば、タッチスクリーンディスプレイ)は、表2から表11のパラメータ等のサービス要素ホスト選択に関連付けられたテキストをブロック342内に提供し得る。別の例では、本明細書で議論されるステップのいずれかの進捗度(例えば、図9から図15の例えば、送信されるメッセージまたはステップの成功)は、ブロック342に表示され得る。加えて、グラフィカル出力343が、ディスプレイインターフェース341上に表示され得る。グラフィカル出力343は、サービス要素ホスト172またはデバイスに関連付けられた他のサービス要素のトポロジもしくはグラフィカルマッピング(例えば、図6−7)、本明細書で議論される任意の方法またはシステムの進捗度のグラフィカル出力等であり得る。
図24Aは、とりわけ、図6または図7等のサービス要素のためのシステムおよび方法に関連付けられた1つ以上の開示される概念が実装され得る、例示的マシンツーマシン(M2M)、モノのインターネット(IoT)、またはモノのウェブ(WoT)通信システム10の略図である。概して、M2M技術は、IoT/WoTのための構築ブロックを提供し、任意のM2Mデバイス、M2Mゲートウェイ、またはM2Mサービスプラットフォームは、IoT/WoTのコンポーネントならびにIoT/WoTサービス層等であり得る。
図24Aに示されるように、M2M/IoT/WoT通信システム10は、通信ネットワーク12を含む。通信ネットワーク12は、固定ネットワーク(例えば、Ethernet(登録商標)、Fiber、ISDN、PLC等)または無線ネットワーク(例えば、WLAN、セルラー等)、もしくは異種ネットワークのネットワークであり得る。例えば、通信ネットワーク12は、音声、データ、ビデオ、メッセージング、ブロードキャスト等のコンテンツを複数のユーザに提供する複数のアクセスネットワークから成り得る。例えば、通信ネットワーク12は、符号分割多重アクセス(CDMA)、時分割多重アクセス(TDMA)、周波数分割多重アクセス(FDMA)、直交FDMA(OFDMA)、単一キャリアFDMA(SC−FDMA)等の1つ以上のチャネルアクセス方法を採用し得る。さらに、通信ネットワーク12は、例えば、コアネットワーク、インターネット、センサネットワーク、工業制御ネットワーク、パーソナルエリアネットワーク、融合個人ネットワーク、衛星ネットワーク、ホームネットワーク、または企業ネットワーク等の他のネットワークを備え得る。
図24Aに示されるように、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(登録商標))、直接無線リンク、および有線を含む、種々のネットワークを介して通信し得る。
図24Bを参照すると、フィールドドメイン内に例証されるM2Mサービス層22は、M2Mアプリケーション20、M2Mゲートウェイデバイス14、ならびにM2M端末デバイス18および通信ネットワーク12のためのサービスを提供する。M2Mサービスプラットフォーム22は、所望に応じて、任意の数のM2Mアプリケーション、M2Mゲートウェイデバイス14、M2M端末デバイス18、および通信ネットワーク12と通信し得ることが理解されるであろう。M2Mサービス層22は、1つ以上のサーバ、コンピュータ等によって実装され得る。M2Mサービス層22は、M2M端末デバイス18、M2Mゲートウェイデバイス14、およびM2Mアプリケーション20に適用されるサービス能力を提供する。M2Mサービス層22の機能は、例えば、ウェブサーバとして、セルラーコアネットワークで、クラウドで等、種々の方法で実装され得る。
図示した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つ以上のサーバ、コンピュータ、仮想マシン(例えば、クラウド/計算/記憶ファーム等)等によって実装され得る。
図24Bをさらに参照すると、M2Mサービス層22および22’は、多様なアプリケーションおよびバーティカルが活用することができるサービス配信能力のコアの組を提供する。これらのサービス能力は、M2Mアプリケーション20および20’がデバイスと相互作用し、データ収集、データ分析、デバイス管理、セキュリティ、課金、サービス/デバイス発見等の機能を果たすことを可能にする。本質的に、これらのサービス能力は、これらの機能性を実装する負担をアプリケーションから取り除き、したがって、アプリケーション開発を単純化し、市場に出す費用および時間を削減する。サービス層22および22’は、M2Mアプリケーション20および20’が、サービス層22および22’が提供するサービスと関連して、種々のネットワーク12および12’を通して通信することも可能にする。
いくつかの例では、M2Mアプリケーション20および20’は、本明細書に議論されるようなサービス要素を使用して通信する所望のアプリケーションを含み得る。M2Mアプリケーション20および20’は、限定ではないが、輸送、保健および健康、コネクテッドホーム、エネルギー管理、アセット追跡、ならびにセキュリティおよび監視等の種々の業界でのアプリケーションを含み得る。上記のように、システムのデバイス、ゲートウェイ、および他のサーバを経由して作動するM2Mサービス層は、例えば、データ収集、デバイス管理、セキュリティ、課金、場所追跡/ジオフェンシング、デバイス/サービス発見、およびレガシーシステム統合等の機能をサポートし、サービスとしてこれらの機能をM2Mアプリケーション20および20’に提供する。
本願のサービス要素ホスト選択は、サービス層の一部として実装され得る。サービス層は、アプリケーションプログラミングインターフェース(API)および下層ネットワーキングインターフェースの組を通して付加価値サービス能力をサポートするソフトウェアミドルウェア層である。M2Mエンティティ(例えば、ハードウェアおよびソフトウェアの組み合わせによって実装され得るデバイス、ゲートウェイ、またはサービス/プラットフォーム等のM2M機能エンティティ)は、アプリケーションまたはサービスを提供し得る。ETSI M2MおよびoneM2Mは両方とも、本願のサービス要素ホスト選択を含み得るサービス層を使用する。ETSI M2Mのサービス層は、サービス能力層(SCL)と称される。SCLは、M2Mデバイス(デバイスSCL(DSCL)と称される)、ゲートウェイ(ゲートウェイSCL(GSCL)と称される)、および/またはネットワークノード(ネットワークSCL(NSCL)と称される)内で実装され得る。oneM2Mサービス層は、共通サービス機能(CSF)(すなわち、サービス能力)の組をサポートする。1つ以上の特定のタイプのCSFの組のインスタンス化は、異なるタイプのネットワークノード(例えば、インフラストラクチャノード、中間ノード、アプリケーション特定のノード)上でホストすることができる、共通サービスエンティティ(CSE)と称される。さらに、本願のサービス要素ホスト選択は、本願のサービス要素ホスト選択等のサービスにアクセスするために、サービス指向アーキテクチャ(SOA)および/またはリソース指向アーキテクチャ(ROA)を使用するM2Mネットワークの一部として実装されることができる。
本明細書に議論されるように、サービス層は、ネットワークサービスアーキテクチャ内の機能的層と考えられ得る。サービス層は、典型的には、HTTP、CoAP、またはMQTT等のアプリケーションプロトコル層の上方に位置し、付加価値サービスをクライアントアプリケーションに提供する。サービス層はまた、インターフェースを、例えば、制御層およびトランスポート/アクセス層等の下位リソース層におけるコアネットワークに提供する。サービス層は、サービス定義、サービスランタイム有効化、ポリシ管理、アクセス制御、およびサービスクラスタリングを含む(サービス)能力または機能性の複数のカテゴリをサポートする。最近、いくつかの産業規格団体、例えば、oneM2Mが、インターネット/ウェブ、セルラー、企業、およびホームネットワーク等の展開へのM2Mタイプのデバイスならびにアプリケーションの統合に関連付けられた課題に対処するためのM2Mサービス層を開発している。M2Mサービス層は、アプリケーションおよび/または種々のデバイスに、CSEもしくはサービス能力層(SCL)と称され得るサービス層によってサポートされる前述の能力または機能性の集合もしくは組へのアクセスを提供することができる。いくつかの例として、限定ではないが、種々のアプリケーションによって一般に使用され得るセキュリティ、課金、データ管理、デバイス管理、発見、プロビジョニング、および接続性管理が挙げられる。これらの能力または機能性は、M2Mサービス層によって定義されたメッセージフォーマット、リソース構造、およびリソース表現を利用するAPIを介して、そのような種々のアプリケーションに利用可能となる。CSEまたはSCLは、それらにそのような能力もしくは機能性を使用するために、ハードウェアおよび/もしくはソフトウェアによって実装され得、種々のアプリケーションならびに/もしくはデバイスにエクスポーズされる(サービス)能力または機能性を提供する、機能エンティティ(例えば、そのような機能エンティティ間の機能インターフェース)である。
図24Cは、例えば、M2M端末デバイス18(例えば、クライアント170)またはM2Mゲートウェイデバイス14(例えば、SEHS171)等の例示的M2Mデバイス30の系統図である。図24Cに示されるように、M2Mデバイス30は、プロセッサ32と、送受信機34と、伝送/受信要素36と、スピーカ/マイクロホン38と、キーパッド40と、ディスプレイ/タッチパッド42と、非取り外し可能メモリ44と、取り外し可能メモリ46と、電源48と、全地球測位システム(GPS)チップセット50と、他の周辺機器52とを含み得る。M2Mデバイス30は、開示される主題と一致したままで、先述の要素の任意の副次的組み合わせを含み得ることが理解されるであろう。M2Mデバイス30(例えば、プロキシゲートウェイ169、クライアント170、コンテキストプロバイダ174、サービス要素ホスト172、SEHS171、およびその他)は、サービス要素のための開示されるシステムおよび方法を行う例示的実装であり得る。
プロセッサ32は、汎用プロセッサ、特殊目的プロセッサ、従来のプロセッサ、デジタル信号プロセッサ(DSP)、複数のマイクロプロセッサ、DSPコアと関連する1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)回路、任意の他のタイプの集積回路(IC)、状態マシン等であり得る。プロセッサ32は、信号符号化、データ処理、電力制御、入出力処理、および/またはM2Mデバイス30が無線環境で動作することを可能にする任意の他の機能性を果たし得る。プロセッサ32は、伝送/受信要素36に結合され得る送受信機34に結合され得る。図24Cは、プロセッサ32および送受信機34を別個のコンポーネントとして描写するが、プロセッサ32および送受信機34は、電子パッケージまたはチップに一緒に組み込まれ得ることが理解されるであろう。プロセッサ32は、アプリケーション層プログラム(例えば、ブラウザ)および/または無線アクセス層(RAN)プログラムおよび/または通信を実施し得る。プロセッサ32は、例えば、アクセス層および/またはアプリケーション層等で、認証、セキュリティキー一致、および/または暗号化動作等のセキュリティ動作を実施し得る。
伝送/受信要素36は、信号をM2Mサービスプラットフォーム22に伝送し、またはM2Mサービスプラットフォーム22から信号を受信するように構成され得る。例えば、伝送/受信要素36は、RF信号を伝送および/または受信するように構成されるアンテナであり得る。伝送/受信要素36は、WLAN、WPAN、セルラー等の種々のネットワークおよびエアインターフェースをサポートし得る。例では、伝送/受信要素36は、例えば、IR、UV、または可視光信号を伝送および/または受信するように構成されるエミッタ/検出器であり得る。さらに別の例では、伝送/受信要素36は、RFおよび光信号の両方を伝送および受信するように構成され得る。伝送/受信要素36は、無線または有線信号の任意の組み合わせを伝送および/または受信するように構成され得ることが理解されるであろう。
加えて、伝送/受信要素36は、単一の要素として図24Cで描写されているが、M2Mデバイス30は、任意の数の伝送/受信要素36を含み得る。より具体的には、M2Mデバイス30は、MIMO技術を採用し得る。したがって、例では、M2Mデバイス30は、無線信号を伝送および受信するための2つ以上の伝送/受信要素36(例えば、複数のアンテナ)を含み得る。
送受信機34は、伝送/受信要素36によって伝送される信号を変調するように、および伝送/受信要素36によって受信される信号を復調するように構成され得る。上記のように、M2Mデバイス30は、マルチモード能力を有し得る。したがって、送受信機34は、M2Mデバイス30が、例えば、UTRAおよびIEEE802.11等の複数のRATを介して通信することを可能にするための複数の送受信機を含み得る。
プロセッサ32は、非取り外し可能メモリ44および/または取り外し可能メモリ46等の任意のタイプの好適なメモリから情報にアクセスし、そこにデータを記憶し得る。非取り外し可能メモリ44は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ハードディスク、または任意の他のタイプのメモリ記憶デバイスを含み得る。取り外し可能メモリ46は、サブスクライバ識別モジュール(SIM)カード、メモリスティック、セキュアデジタル(SD)メモリカード等を含み得る。他の例では、プロセッサ32は、サーバまたはホームコンピュータ上等のM2Mデバイス30上に物理的に位置しないメモリから情報にアクセスし、そこにデータを記憶し得る。プロセッサ32は、本明細書に説明される例のうちのいくつかにおけるサービス要素ホスト選択が成功もしくは不成功である(例えば、サービス要求、コンテキスト読み出し、またはコンテキスト通知等)に応答して、ディスプレイもしくはインジケータ42上の照明パターン、画像、または色を制御するか、または別様に、サービス要素および関連付けられたコンポーネントのステータスを示すように構成され得る。ディスプレイまたはインジケータ42上の照明パターン、画像、もしくは色の制御は、表もしくは図に図示される、または本明細書で議論される(例えば、図6−図7および図11−図15、図21等)方法フローもしくはコンポーネントのいずれかのステータスを反映し得る。本明細書に開示されるのは、サービス要素のメッセージおよびプロシージャである。メッセージおよびプロシージャは、インターフェース/APIを提供するように拡張され、ユーザが、入力源(例えば、スピーカ/マイクロホン38、キーパッド40、またはディスプレイ/タッチパッド42)を介して、リソース関連リソースを要求し、とりわけ、ディスプレイ42上に表示され得る、情報に関連付けられたサービス要素を要求、構成、またはクエリすることができる。
プロセッサ32は、電源48から電力を受け取り得、M2Mデバイス30内の他のコンポーネントへの電力を分配および/または制御するように構成され得る。電源48は、M2Mデバイス30に電力供給するための任意の好適なデバイスであり得る。例えば、電源48は、1つ以上の乾電池バッテリ(例えば、ニッケルカドミウム(NiCd)、ニッケル亜鉛(NiZn)、ニッケル水素(NiMH)、リチウムイオン(Li−ion)等)、太陽電池、燃料電池等を含み得る。
プロセッサ32はまた、M2Mデバイス30の現在の場所に関する場所情報(例えば、経度および緯度)を提供するように構成されるGPSチップセット50に結合され得る。M2Mデバイス30は、本明細書に開示される情報と一致したままで、任意の好適な場所決定方法を介して場所情報を獲得し得ることが理解されるであろう。
プロセッサ32はさらに、追加の特徴、機能性、および/または有線もしくは無線接続を提供する1つ以上のソフトウェアおよび/またはハードウェアモジュールを含み得る他の周辺機器52に結合され得る。例えば、周辺機器52は、種々のセンサ、例えば、加速度計、バイオメトリック(例えば、指紋)センサ、e−コンパス、衛星送受信機、センサ、デジタルカメラ(写真またはビデオ用)、ユニバーサルシリアルバス(USB)ポート、または他の相互接続インターフェース、振動デバイス、テレビ送受信機、ハンズフリーヘッドセット、Bluetooth(登録商標)モジュール、周波数変調(FM)ラジオユニット、デジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザ等を含み得る。
伝送/受信要素36は、センサ、消費者電子機器、スマートウォッチまたはスマート衣類等のウェアラブルデバイス、医療またはe−ヘルスデバイス、ロボット、産業機器、ドローン、車、トラック、電車、または飛行機等の車両等の他の装置もしくはデバイスで具現化され得る。伝送/受信要素36は、周辺機器52のうちの1つを備え得る相互接続インターフェース等の1つ以上の相互接続インターフェースを介して、そのような装置もしくはデバイスの他のコンポーネント、モジュール、またはシステムに接続し得る。
図24Dは、例えば、図24Aおよび図24BのM2Mサービスプラットフォーム22が実装され得る例示的なコンピューティングシステム90のブロック図である。コンピューティングシステム90(例えば、M2M端末デバイス18またはM2Mゲートウェイデバイス14)は、コンピュータまたはサーバを備え得、主に、そのようなソフトウェアが記憶またはアクセスされる場所もしくは手段にかかわらず、ソフトウェアの形態であり得るコンピュータ読み取り可能な命令によって制御され得る。そのようなコンピュータ読み取り可能な命令は、コンピューティングシステム90を起動させるように、中央処理装置(CPU)91内で実行され得る。多くの既知のワークステーション、サーバ、および周辺コンピュータでは、中央処理装置91は、マイクロプロセッサと呼ばれる単一チップCPUによって実装される。他のマシンでは、中央処理装置91は、複数のプロセッサを備え得る。コプロセッサ81は、追加の機能を果たすか、またはCPU91を支援する、主要CPU91とは異なる随意的なプロセッサである。CPU91またはコプロセッサ81は、本明細書に議論されるように、とりわけ、サービス要求、コンテキスト通知、またはサービス要素の受信等、サービス要素のための開示されたシステムおよび方法に関係付けられるデータを受信、生成、ならびに処理し得る。
動作時、CPU91は、命令をフェッチ、復号、および実行し、コンピュータの主要データ転送パスであるシステムバス80を介して、情報を他のリソースへ、およびそこから転送する。そのようなシステムバスは、コンピューティングシステム90内のコンポーネントを接続し、データ交換のための媒体を定義する。システムバス80は、典型的には、データを送信するためのデータライン、アドレスを送信するためのアドレスライン、ならびに割込を送信するため、およびシステムバスを動作させるための制御ラインを含む。そのようなシステムバス80の例は、PCI(周辺コンポーネント相互接続)バスである。
システムバス80に結合されるメモリデバイスは、ランダムアクセスメモリ(RAM)82および読み取り専用メモリ(ROM)93を含む。そのようなメモリは、情報が記憶されて読み出されることを可能にする回路を含む。ROM93は、概して、容易に修正することができない記憶されたデータを含む。RAM82に記憶されたデータは、CPU91または他のハードウェアデバイスによって読み取られ、または変更されることができる。RAM82および/またはROM93へのアクセスは、メモリコントローラ92によって制御され得る。メモリコントローラ92は、命令が実行されると、仮想アドレスを物理的アドレスに変換するアドレス変換機能を提供し得る。メモリコントローラ92はまた、システム内のプロセスを分離し、ユーザプロセスからシステムプロセスを分離するメモリ保護機能を提供し得る。したがって、第1のモードで作動するプログラムは、自身のプロセス仮想アドレス空間によってマップされるメモリのみにアクセスすることができ、プロセス間のメモリ共有が設定されていない限り、別のプロセスの仮想アドレス空間内のメモリにアクセスすることができない。
加えて、コンピューティングシステム90は、CPU91からプリンタ94、キーボード84、マウス95、およびディスクドライブ85等の周辺機器に命令を伝達する責任がある周辺機器コントローラ83を含み得る。
ディスプレイコントローラ96によって制御されるディスプレイ86は、コンピューティングシステム90によって生成される視覚出力を表示するために使用される。そのような視覚出力は、テキスト、グラフィックス、動画グラフィックス、およびビデオを含み得る。ディスプレイ86は、CRTベースのビデオディスプレイ、LCDベースのフラットパネルディスプレイ、ガスプラズマベースのフラットパネルディスプレイ、またはタッチパネルを伴って実装され得る。ディスプレイコントローラ96は、ディスプレイ86に送信されるビデオ信号を生成するために必要とされる電子コンポーネントを含む。
さらに、コンピューティングシステム90は、図24Aおよび24Bのネットワーク12等の外部通信ネットワークにコンピューティングシステム90を接続するために使用され得るネットワークアダプタ97を含み得る。
本明細書で説明されるシステム、方法、およびプロセスのうちのいずれかまたは全ては、命令が、コンピュータ、サーバ、M2M端末デバイス、M2Mゲートウェイデバイス等のマシンによって実行されると、本明細書で説明されるシステム、方法、およびプロセスを行うおよび/または実装される、コンピュータ読み取り可能な記憶媒体上に記憶されたコンピュータ実行可能命令(すなわち、プログラムコード)の形態で具現化され得ることが理解される。具体的には、上で説明されるステップ、動作、または機能のうちのいずれかは、そのようなコンピュータ実行可能命令の形態で実装され得る。コンピュータ読み取り可能な記憶媒体は、情報の記憶のための任意の方法または技術で実装される揮発性および不揮発性、取り外し可能および非取り外し可能媒体の両方を含むが、そのようなコンピュータ読み取り可能な記憶媒体は、信号を含まない。コンピュータ読み取り可能な記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、もしくは所望の情報を記憶するために使用することができ、コンピュータによってアクセスすることができる任意の他の物理的媒体を含むが、それらに限定されない。
図に例証されるように、本開示の主題(サービス要素ホスト選択)の好ましい方法、システム、または装置を説明する上で、明確にするために、特定の用語が採用される。しかしながら、請求された主題は、そのように選択された特定の用語に限定されることを目的としておらず、各特定の要素は、類似目的を達成するように同様に動作する、全ての技術的均等物を含むことを理解されたい。
本明細書に説明される種々の技法は、ハードウェア、ファームウェア、ソフトウェア、もしくは適切である場合、それらの組み合わせに関連して実装され得る。そのようなハードウェア、ファームウェア、およびソフトウェアは、通信ネットワークの種々のノードに位置する装置の中に常駐し得る。装置は、本明細書に説明される方法をもたらすように、単独で、または互いに組み合わせて動作し得る。本明細書で使用されるように、用語「装置」、「ネットワーク装置」、「ノード」、「デバイス」、および「ネットワークノード」等は、同義的に使用され得る。
本明細書は、最良の様態を含む、本発明を開示するために、また、当業者が、任意のデバイスまたはシステムを作製して使用すること、任意の組み込まれた方法を行うことを含む、本発明を実践することを可能にするために、例を使用する。本発明の特許性のある範囲は、請求項によって定義され、当業者に想起される他の例を含み得る(例えば、本明細書に開示される例示的方法間のステップのスキップ、組み合わせステップ、または追加ステップ)。そのような他の例は、請求項の文字通りの言葉とは異ならない構造要素を有する場合、または請求項の文字通りの言葉とのごくわずかな差異を伴う同等の構造要素を含む場合、請求項の範囲内であることを目的としている。
とりわけ、本明細書に説明されるような方法、システム、および装置は、サービスホスト選択等のための手段を提供し得る。方法、システム、コンピュータ読み取り可能な記憶媒体、または装置は、サービスに対する要求とサービス品質の要件とを含む、メッセージを受信するスことと、メッセージに基づいて、サービス要素ホストを決定することと、要求をサービス要素ホストに転送することとを行う手段を有する。メッセージは、サービスの識別子を含み得る。メッセージは、サービスホストからであることを示し得る。メッセージは、サービスが構成されているサービス要素の数を含み得る。メッセージは、各サービス要素のための複数のサービス要素ホストのインジケータを含み得る。メッセージは、第1のサービスのための第1のサービス要素を処理する順番のインジケータを含み得る。第1のサービス要素は、温度データであり得る。本段落における全ての組み合わせ(ステップの除去または追加を含む)は、発明を実施するための形態の他の部分と一貫する様式で検討される。
本概要は、発明を実施するための形態において以下でさらに説明される簡略化形態の一連の概念を導入するように提供される。本概要は、請求される主題の主要な特徴または不可欠な特徴を識別することを意図せず、請求される主題の範囲を限定するために使用されることも意図していない。さらに、請求される主題は、本開示の任意の部分で記述されるいずれかまたは全ての不利点を解決する制限に限定されない。
本発明はさらに、例えば、以下を提供する。
(項目1)
装置であって、前記装置は、
プロセッサと、
前記プロセッサと結合されているメモリと
を備え、
前記メモリは、実行可能命令を備え、前記命令は、前記プロセッサによって実行されると、
サービスに対する要求とサービス品質の要件とを備えているメッセージを受信することと、
前記メッセージに基づいて、サービス要素ホストを決定することと、
前記要求を前記サービス要素ホストに転送することと
を含む動作を前記プロセッサに達成させる、装置。
(項目2)
前記メッセージは、サービスの識別子を備えている、項目1に記載の装置。
(項目3)
前記メッセージは、サービスホストからであることを示す、項目1に記載の装置。
(項目4)
前記メッセージは、サービスが構成されているサービス要素の数を備えている、項目1に記載の装置。
(項目5)
前記メッセージは、各サービス要素のための複数のサービス要素ホストのインジケータを備えている、項目1に記載の装置。
(項目6)
前記メッセージは、第1のサービスのための第1のサービス要素を処理する順番のインジケータを備えている、項目1に記載の装置。
(項目7)
前記第1のサービス要素は、温度データである、項目1に記載の装置。
(項目8)
システムであって、前記システムは、
ディスプレイと、
前記ディスプレイと通信可能に接続されるデバイスと
を備え、
前記デバイスは、
プロセッサと、
前記プロセッサと結合されているメモリと
を備え、
前記メモリは、実行可能命令を備え、前記命令は、プロセッサによって実行されると、
サービスに対する要求を備えているメッセージを受信することと、
前記メッセージに基づいて、サービス要素ホストを決定することと、
前記要求を前記サービス要素ホストに転送することと、
前記サービス要素ホストを備えている記録を前記ディスプレイにパブリッシュすることと
を含む動作を前記プロセッサに達成させる、システム。
(項目9)
前記メッセージは、サービスの識別子を備えている、項目8に記載のシステム。
(項目10)
前記メッセージは、サービスホストからであることを示す、項目8に記載のシステム。
(項目11)
前記メッセージは、サービスが構成されているサービス要素の数を備えている、項目8に記載のシステム。
(項目12)
前記メッセージは、各サービス要素のための複数のサービス要素ホストのインジケータを備えている、項目8に記載のシステム。
(項目13)
前記メッセージは、第1のサービスのための第1のサービス要素を処理する順番のインジケータを備えている、項目8に記載のシステム。
(項目14)
さらなる動作が、地理的エリアのグラフィカル表現を提供することを含み、前記グラフィカル表現は、前記サービス要素ホストの場所を示すインジケータを備えている、項目8に記載のシステム。
(項目15)
さらなる動作が、グラフィカル表現を提供することを含み、前記グラフィカル表現は、前記サービス要素要求の受信の確認を示すインジケータを備えている、項目8に記載のシステム。
(項目16)
方法であって、前記方法は、
サービスに対する要求を備えているメッセージを受信することと、
前記メッセージに基づいて、サービス要素ホストを決定することと、
前記要求を前記サービス要素ホストに転送することと
を含む、方法。
(項目17)
前記メッセージは、サービスの識別子を備えている、項目16に記載の方法。
(項目18)
前記メッセージは、サービスホストからであることを示す、項目16に記載の方法。
(項目19)
前記メッセージは、サービスが構成されているサービス要素の数を備えている、項目16に記載の方法。
(項目20)
前記メッセージは、各サービス要素のための複数のサービス要素ホストのインジケータを備えている、項目16に記載の方法。