セマンティクスノード(semantics node)でホストされるセマンティクス関連リソースが発見され、他のコンピュータデバイスによって使用され得る。セマンティクスノードがセマンティクス関連リソースに対する要求を受信すると、セマンティクスノードは、そのローカル意味論データベースをチェックし得る。合致がない場合、セマンティクスノードは、それと論理的関係を有する他のセマンティクスノード、例えば、兄弟ノードまたは親ノードに要求を転送し得る。
セマンティクス関連リソースのセマンティクス公表および発見のためのシステムは、セマンティクスノードによって積極的に回答することができない各発見要求を大量送信または転送するステップを含み得る。大規模ネットワークで実装される場合、各要求を大量送信または転送することは、ネットワーク上の有意なオーバーヘッドおよび帯域幅消費を引き起こし得る。前述の大量送信および転送環境に加えて、セマンティクスノードが合致セマンティクス関連リソースを返信することに協力しない場合、追加のネットワーク問題があり得る。例えば、セマンティクスノード間の協力がないことは、セマンティクスノードに、複数の他のセマンティクスノードから返信される、類似する合致セマンティクス関連リソースを受信させ得、これは、ネットワーク内で有意なオーバーヘッドおよび帯域幅消費を課し得る。本明細書では、セマンティクス関連リソースの場所を発見(検索)すること、およびセマンティクス関連リソースの場所を公表(伝送)することを促進し得る、追加のセマンティクス関連リソース方式が開示される。
セマンティクスノードアーキテクチャの簡潔な概要が以下で提示される。セマンティクスノードアーキテクチャに関するさらなる詳細は、図18−図42に対応する説明で提供される。
従来のマシンツーマシン(M2M)システムでは、(エンドデバイスならびにバックエンドネットワークサーバ上でホストされる)M2Mアプリケーションは、交換されたデータの共通定義について事前に合意する必要がある。これは主に、アプリケーションの代わりにM2Mデータを解析、解釈、または処理することができる、意味認識M2Mサービス層の欠如によるものである。現在のM2Mシステムでは、M2Mサービス層は、意味認識能力が欠けており、したがって、M2Mサービス層を通って流動する、またはM2Mサービス層内に記憶されるデータは、不透明な情報として扱われる。
この意味認識の欠如は、たとえデータが起源であったアプリケーションのいかなる予備知識がなくても、異なるアプリケーションによって発見、アクセス、解釈、および共有することができるように、M2Mアプリケーションによって生成されるデータがM2Mサービス層によって効果的に抽象化または仮想化されることを可能にするサービスを、M2Mサービス層が提供することを妨げる。結果として、感知および作用される物理的エンティティ(例えば、アプライアンス、人、車、建築物の部屋等)は、M2Mサービス層によって効果的に仮想化/抽象化されない場合があり、物理的エンティティは、環境に固有であり、特定のM2Mアプリケーションに関係しない一般的エンティティとして扱われる。この制限を克服するために、M2Mシステムにおいて伝送されるデータは、意味認識M2Mサービス層がM2Mアプリケーションと同一のデータの知識を有することができるように、セマンティクス情報に関連付けられ、統合され得る。そうすることで、M2Mサービス層は、アプリケーションにわたるデータの共有をより良好に促進し、付加価値のある意味認識サービスをM2Mアプリケーションに提供することができる(例えば、データ集約、異なるアプリケーション間のデータ共有等)。
例えば、図1で図示される患者監視アプリケーションでは、患者の生命兆候(例えば、血圧、温度、酸素、心拍数等)を監視する無線センサデバイスの各々の上でホストされる、別個のアプリケーションがあり得る。同様に、この情報を利用することができる、ネットワーク内でホストされる別個のアプリケーションがあり得る(例えば、患者の医師、個人トレーナ、家族、救急車の救急医療隊員等)。しかしながら、無線センサデバイスの各々からのM2M意味認識サービスデータがないと、ネットワークアプリケーションが、無線センサデバイス上でホストされるアプリケーションの予備知識、およびそれらが生成する情報のタイプ(例えば、場所/アドレス、データの単位、データのコンテキスト等)を有しない限り、ネットワークアプリケーションは、デバイスアプリケーションから情報を発見、共有、および理解することに困難を有し得る。
セマンティクスノードは、M2Mサービス層意味認識およびデータ抽象化をサポートするために、M2Mシステムにおいて以下の機能、すなわち、(i)セマンティクス情報を記憶するためのサポート、および/またはセマンティクス情報を記憶するサーバへのインターフェースのためのサポート、(ii)セマンティクス情報を作成、読み出し、更新、および削除するための機構のためのサポート、(iii)ローカルおよび遠隔リソースへのセマンティクス情報更新のための機構のためのサポート、(iv)セマンティクス情報をローカルまたは遠隔のいずれかで記憶され得る対応するリソースに関連付ける/結び付けるためのサポート、および(v)セマンティクス記述を公表して発見する能力を提供し得る。
本明細書で説明される場合、セマンティクスノードは、ネットワーク内の独立型コンピュータデバイス(例えば、サーバ)上でホストされ得るか、またはM2Mゲートウェイ、M2Mデバイス、M2Mサーバ等のネットワーク内の既存のエンティティ上でホストされ得る、論理エンティティである。セマンティクスノードは、データを記述するレポジトリと見なされ得る。例えば、血圧用のセンサデバイスは、どのようにしてそのデータを記述するかを理解することを希望し得、従って、すでに定義された血圧クラスがあるかどうかを解明するために近くのセマンティクスノードに問い合わせを行う。すでに定義された血圧クラスがある場合、セマンティクスノードは、それがローカルで見出した血圧クラスでセンサデバイスに応答する。もしそうでなければ、セマンティクスノードは、他のセマンティクスノード(例えば、兄弟または親)に問い合わせを行い得る。セマンティクスノードの使用は、エンドデバイスにデータの記述を記憶させる必要を低減させ得る。
セマンティクスノードは、セマンティクス関連リソースを記憶して管理する。セマンティクス関連リソースは、通常、例えば、ETSI M2Mリソース等の他のリソースを記述し、ETSI M2Mリソースは、リソースツリー、すなわち、<SCL>、<application>、<container>、<contentInstance>の下に記憶され、それらは、それらのセマンティクスの理解を可能にするために、それらに関連付けられたセマンティクス関連リソースを有する必要がある。一実施形態では、セマンティクス関連リソースは、3つのタイプ、すなわち、クラス、関係、およびタームのうちの1つを有し得る。このカテゴリ化は、セマンティクスウェブの現在の技法との適合性を提供し、M2Mシステムが既存のセマンティクス関連リソースを活用することを可能にする。
本明細書で議論されるように、セマンティクスノードは、異なるレベルが階層構造に形成されるように、M2Mエリアネットワーク、M2Mアクセスネットワーク、およびM2Mコアネットワーク等の異なるレベルでM2Mシステムに展開され得る。同一のレベルでのセマンティクスノードは、分散され、兄弟関係を有し得る。異なるレベルの抽象化および適合性の利益を既存のネットワーク階層に提供する、セマンティクスノードのそのようなハイブリッドアーキテクチャを構築して維持することに関して、機構が開示される。
図2−図17ならびにそれらの付随する説明は、以下で説明されるセマンティクス公表および発見のための方法、デバイス、およびシステムと関連するセマンティクスノードアーキテクチャおよびプラットフォームの実施形態のさらなる情報および理解を提供する。
効率的なセマンティクス関連リソース公表方式は、セマンティクス関連リソース発見および共有を可能にして促進することが開示されている。セマンティクスノードは、セマンティクス関連リソースを公表または非公表することによって、セマンティクス関連リソースが作成、更新、または削除されるときをその兄弟および子に知らせ得る。セマンティクスノードは、そのローカルデータベースまたはディレクトリにセマンティクス関連リソースを記憶する。これらのディレクトリは、どのセマンティクス関連リソースが記憶され、ネットワーク内で共有されることができるかを他のセマンティクスノードが把握するように交換される。他のエンティティは、セマンティクスノードからセマンティクス関連リソースを発見することができ、たとえ合致するリソースがそのローカルディレクトリの中になくても、要求を兄弟に大量送信する必要も、要求を親に転送する必要もなく、代わりに他のセマンティクスノードから公表された情報を検索することができる。以下でさらに詳細に議論されるセマンティクス関連リソース公表方式は、セマンティクス関連リソース識別子キーワードの公表と、セマンティクスノードダイジェストの公表と、ハイブリッド識別子およびダイジェストの公表とを含み得る。
以下では、セマンティクス関連リソースを記憶するセマンティクスノードを隣接セマンティクスノード(例えば、兄弟、子、または非関連セマンティクスノード)に通知するためのキーワードを含む、セマンティクス関連リソースの識別子の使用が開示される。セマンティクスノードによって記憶および管理されるセマンティクス関連リソースは、ユニバーサルリソースロケータ(URL)またはユニバーサルリソース識別子(URI)であり得る、一意の識別子を有する。セマンティクスノードに記憶されたセマンティクス関連リソースを他のセマンティクスノードに知らせるために、セマンティクス関連リソースの存在が、キーワードを使用して公表され得る。公表は、いくつかある方法の中でも、新たに作成されたセマンティクス関連リソース(または識別子)の閾値数に達したことに基づいて、またはある時間閾値後に、自動的にトリガされ得る。セマンティクスノード上のセマンティクス関連リソースの存在は、セマンティクス関連リソースの識別子、セマンティクス関連リソースのコンテンツ、またはセマンティクス関連リソースの識別子およびコンテンツを使用することによって公表され得る。
図2は、キーワードを使用するセマンティクス関連リソース識別子710の例示的な形式を図示する。ホストアドレス711は、セマンティクス関連リソースを記憶して管理する、元のセマンティクスノードのアドレスである。ホストアドレスは、IPアドレス、MSDN ID等であり得る。タイプ712は、クラス、関係、またはターム等の定義されたタイプのうちの1つであり得る、セマンティクス関連リソースのタイプである。セマンティクス関連リソース識別子710はまた、1つ以上のキーワードを含み得る、キーワード713を含み得る。
図3は、セマンティクス公表および発見と関連して本明細書で議論されるであろう、例示的なセマンティクスノードトポロジー720を図示する。セマンティクスノード723は、兄弟セマンティクスノード722および兄弟セマンティクスノード724と通信可能に接続される。セマンティクスノード723はまた、親セマンティクスノード721、子セマンティクスノード725、および子セマンティクスノード726と通信可能に接続される。兄弟セマンティクスノード724はまた、任意のコンピュータデバイスであり得る、ユーザ機器(UE)727と通信可能に接続され得る。
図3を続けて参照すると、以下は、キーワードを使用する公表に関する例示的なシナリオである。セマンティクスノード723は、表1に示されるような、その上に記憶されたいくつかのセマンティクス関連リソースを有し得る。各記憶されたセマンティクス関連リソースは、表1に示されるような識別子を有し得る。表1の各識別子は、図2に示される識別子形式による、「セマンティクスノード723」というホストアドレス、および「クラス」というタイプを有する。表1では、識別子に対するキーワードは、行1内の識別子に対して「温度」および「摂氏」、行2内の識別子に対して「湿度」、行3の識別子に対して「トレッドミル」、および行4の識別子に対して「血圧」である。
図4は、表1の4つのセマンティクス関連リソースを1つの集約識別子に集約する例示的な集約識別子形式を図示し、集約識別子は、公表メッセージを介して1つ以上の他のセマンティクスノードに伝送される。セマンティクスノード723は、(図2の形式に従って)表1に類似する様式で別々に識別子を公表するか、または図4に示されるように、キーワードを公表メッセージ内の単一のキーワード(例えば、集約識別子)に集約し得る(例えば、Semantics Node 723.class.temperature.Celsius;humidity;treadmill;bloodpressure)。集約識別子を含む公表メッセージが使用されるとき、公表メッセージを受信するセマンティクスノードに、集約識別子の各識別子を抽出または解析する方法を示す、セミコロン等の異なるインジケータがあり得る。
図2を参照すると、セマンティクス関連リソース識別子710の長さをさらに短縮するために、各タイプは、各セマンティクスノードに普遍的に知られ得る、標識を有し得る。例えば、クラスは、標識「1」を有し得、関係は、標識「2」を有し得、タームは、標識「3」を有し得る。
キーワードは、同一のタイプを伴う複数のセマンティクス関連リソースに合致し得るが、セマンティクス関連リソースを区別し得る追加の別個のキーとなるワードを伴う。例えば、クラスtemperatureReadingは、tempというキーワードを有し得、クラスtemperatureInCは、温度(temperature)および摂氏(InC)のキーワードを有し得、クラスtemperatureInFは、温度(temperature)および華氏(InF)のキーワードを有し得る。キーワードは、複数のセマンティクス関連リソースを異なるタイプと合致させ得る。例えば、関係タイプhasCoreTemperatureは、温度というキーワードとともに選択され得、タームタイプ摂氏も、温度というキーワードとともに選択され得る。ホストセマンティクスノードは、キーワードを選択し得る。
加えて、セマンティクスノードを公表するためのセマンティクスノードアドレスが、それによって公表されるセマンティクス関連リソースに対して同一であるため、送信された公表メッセージ内の識別子は、含まれるタイプおよびキーワードのみを有し、ホストアドレスを有しないこともある(例えば、type1.keyword1)。公表メッセージを受信するセマンティクスノードは、ホストアドレスが識別子に含まれないとき、IPまたはMAC層情報に基づいてホストアドレスをその受信した識別子のテーブルに追加し得る(例えば、host1.type1.keyword1)。
図5は、図3との関連でセマンティクス関連リソースの識別子を公表する例示的方法を図示する。ステップ731では、セマンティクスノード723が、各タイプ(例えば、クラス、関係、またはターム)に対するセマンティクス関連リソースの数を記録し得る。セマンティクス関連リソースの数は、セマンティクスノード723が特定のセマンティクスノードまたは複数のセマンティクスノードを最後に公表したとき以降に追加されたセマンティクス関連リソースの総数であり得る。ステップ732では、セマンティクスノード723が、セマンティクス関連リソースの閾値量に達したかどうかを決定し得る。閾値量は、1つの特定のタイプ(例えば、クラス)、またはタイプの任意の組み合わせに基づき得る。閾値量に達した場合、ステップ733で、セマンティクスノード723は、セマンティクスノード723の追加されたセマンティクス関連リソースに対応するキーワードの全てまたはいくつかを連結させ得る。tempに対するtemperature等の連結されたキーワードは、公表された識別子とともに、またはその代わりに含まれ得る(例えば、Class.temperature.tempまたはClass.temp)。ステップ734では、セマンティクスノード723が、タイプにステップ731の数えられたセマンティクス関連リソースの適切なキーワードを取り付ける。ステップ735では、セマンティクスノード723が、図2または図4に類似する形式で識別子情報を含み得る、公表メッセージを作成する。公表メッセージは、ステップ734の情報を含む。
続けて図5を参照すると、ステップ736では、セマンティクスノード723が、任意の子セマンティクスノードがあるかどうかを決定する。ステップ737では、子セマンティクスノード725および子セマンティクスノード726があるため、ステップ735の公表メッセージは、子セマンティクスノード725および子セマンティクスノード726に送信される。ステップ738では、セマンティクスノード723が、任意の兄弟セマンティクスノードがあるかどうかを決定する。セマンティクスノード723は、図3に示されるような兄弟セマンティクスノード722および724を有する。ステップ739では、兄弟ノードがあるため、セマンティクスノード723が、公表メッセージの伝搬を制限するためにホップ制限(例えば、1または2)を設定し得る。ホップ制限は、識別子を含む公表メッセージに含まれ得る。ステップ740では、セマンティクスノード723が、公表メッセージをその兄弟に送信する。公表メッセージは、アプリケーショントランスポートプロトコル(例えば、HTTPまたはCoAP)を使用して送信され得る。
図5およびその付随する説明は、公表シナリオについて議論するものの、非公表シナリオが同一または類似方法で稼働し得るが、新たに除去されたセマンティクス関連リソースの数が、非公表にするトリガ(例えば、識別子を除去する命令)として使用され得る。セマンティクスノード722等のセマンティクスノードは、その兄弟(例えば、セマンティクスノード723)または親(例えば、セマンティクスノード721)から公表メッセージを受信すると、同一のタイプの公表されたセマンティクス関連リソースの識別子(例えば、表1に類似する)を構築するように、タイプフィールドおよびキーワードを抽出する。
図6は、セマンティクス関連リソースを発見する例示的方法を図示する。ステップ751では、兄弟セマンティクスノード724が、セマンティクスノード723から公表メッセージを受信し得る。公表メッセージは、他のセマンティクスノードならびにセマンティクスノード723上に位置するセマンティクス関連リソースに対する、セマンティクスノード123上に位置する全ての識別子(または識別子の更新)を含み得る。セマンティクスノード724は、識別子を記憶し得る。ステップ752では、兄弟セマンティクスノード724が、UE727からセマンティクス関連リソースに対する要求を受信し得る。ステップ753では、兄弟セマンティクスノード724が、要求されたセマンティクス関連リソースがローカルに記憶されていないことを決定する。ステップ754では、兄弟セマンティクスノード724が、セマンティクス関連リソースをローカルで見出せないとき、ステップ751で受信された識別子等のその受信した識別子を検索する。ステップ755では、兄弟セマンティクスノード724が、ステップ752の受信した要求に合致するキーワードおよびタイプを有する識別子を見出す。例証目的で、識別子は、セマンティクスノード723に対応する。ステップ756では、兄弟セマンティクスノード724が、セマンティクスノード723のアドレスをUE727に転送し得る。代替として、兄弟セマンティクスノード724は、セマンティクスノード723から1つ以上の合致セマンティクス関連リソースのコピーを要求し、合致セマンティクス関連リソースをローカルに記憶し、セマンティクス関連リソースでUE727に応答し得る。別の実施形態では、元の要求は、セマンティクスノード723に転送され得、セマンティクスノード723は、UE727に直接応答し得る。
図7は、修正された応答を含む、セマンティクス関連リソースの発見および検証のための例示的なコールフロー760を図示する。ステップ761では、UE727が、セマンティクス関連リソースに対する要求(すなわち、セマンティクス関連リソース発見要求)をセマンティクスノード724に送信する。要求は、タイプと、1つ以上のキーワードとを含む。ステップ762では、セマンティクスノード724が、要求を処理し、識別子に対応するキーワードに基づいて、別のセマンティクスノード(セマンティクスノード723)がステップ761の要求に合致するセマンティクス関連リソースを有することを発見する。ステップ763では、セマンティクスノード723が、ステップ762で見出された識別子をUE727に送信する。ステップ764では、UE727が、ステップ763の受信した識別子を処理する。ステップ765では、UE727が、要求(例えば、ステップ761に類似する要求)を送信し、UE727が、要求に合致する応答を受信する。
続けて図7を参照すると、ステップ766では、UE727が、ステップ765で受信されるセマンティクス関連リソースの表現をチェックする。例えば、UE727が、温度クラスを要求し得、返信された合致セマンティクス関連リソースは、華氏の関連単位を伴うtemperatureReadingと呼ばれるクラスであり得る。UE727は、華氏よりも摂氏という単位を伴う温度クラスを好み得るが、temperatureReadingクラスの他のフィールドを容認し得る。ステップ767で、UE727が、セマンティクスノード723にセマンティクス関連リソース修正要求を送信し得る。ステップ768で、セマンティクスノード723が、新しいクラスを追加することによって、または摂氏という単位を反映するように現在のクラスを拡張することによって、クラスをローカルで修正し得る。ステップ769で、新たに追加または修正されたセマンティクス関連リソースの識別子が、UE727に返信される。表2は、デバイス間で送信され得る、発見に関連する例示的メッセージを示す。
表3および表4は、それぞれ、セマンティクス関連リソース識別子公表およびセマンティクス関連リソース発見から発生する、ネットワーク、ソースセマンティクスノード、および兄弟/親セマンティクスノードへのオーバーヘッドを示す。表3および表4から、ネットワーク帯域幅が別個/累積識別子の公表メッセージをトランスポートする際に主に使用され、発見プロセスがソース/要求されたセマンティクスノードとその兄弟/親との間で余分なオーバーヘッドを引き起こさないことを観察することができる。ソース/要求されたセマンティクスノードは、それ自体および公表されたリソースによってホストされる、そのローカルで維持されたセマンティクス関連リソースディレクトリを検索し、合致した識別子を直接返信することができる。
以下では、ネットワークへの全識別子公表と比較して、ネットワークオーバーヘッドを低減させ得る、セマンティクスノード内の記憶されたセマンティクス関連リソースを公表する、セマンティクスノードダイジェスト機構が開示される。セマンティクスダイジェストは、セマンティクス関連リソースを公表するための記憶装置が1ビット程度と小さくあり得るように、ブルームフィルタを使用し得る。ブルームフィルタは、メンバーシップクエリ(すなわち、「要素Xが集合Yの中にあるか?」と尋ねるクエリ)をサポートするために、集合の確率的表現のためのコンパクトデータ構造である。ブルームフィルタがコンパクトな表現を可能にするが、トレードオフは、メンバーシップクエリにおけるわずかな誤検出率であり、すなわち、クエリが、要素を集合のメンバーとして誤って認識する場合がある。
ブルームフィルタは、パラメータKおよびNによって定義される。K個の独立ハッシュ関数、およびMビットのアレイがあり得る。ブルームフィルタのビットは、N個のキーワードの集まり(フィルタに入れられるであろうアイテムの最大数)を符号化するために使用される。公表されたセマンティクスノードダイジェストは、セマンティクスノードに記憶されたセマンティクス関連リソースのキーワードの集まりを含む。
以下は、表1のセマンティクス関連リソース識別子を使用して、どのようにしてブルームフィルタが利用され得るかの実施例である。K、すなわち、ハッシュ関数の数は、本実施例では3であり得る。Kが3である場合、表1の4つのセマンティクス関連リソース識別子のキーワードに対して使用されるであろう、3つのハッシング関数(例えば、f(x)、g(x)、およびh(x))があろう。各ハッシング関数は、各識別子のハッシュ値を生成し得る。各ハッシュ値は、オンにされるべきブルームフィルタ内のビットを表す。Mは、ブルームフィルタのアレイ内のビット数である。Mは、ハッシュ関数の範囲より小さくなるべきであり、そうでなければ、いくつかのビットがオンにされないことがある。本実施例については、Mは16である。Nは、キーワードの数である。我々の実施例では、Nは、全ての識別子に対して全キーワードの最大数である。M、K、およびNは、ユーザ選好に基づいて決定されるか、またはセマンティクスノード723によって自動的に決定され得る。誤検出の確率は、方程式(1)によって決定され得る。アレイの最適なサイズ(M)およびハッシュ関数の最適な数(K)は、それぞれ、方程式2および方程式3に基づいて決定され得る。
よって、我々の実施例では、キーワード「温度(temperature)」および表1の他のキーワードは、ハッシュ関数を通して処理され、表5に示されるように、3つの結果を有するであろう。ハッシュ関数(例えば、f(x)、g(x)、h(x))の結果は、各ハッシュ関数を通過するキーワードの結果に基づいてオンにされる位置である。結果として、16ビットブルームフィルタは、01101111 11001111のようになるであろう。ビット5、6、13、および15は、オフであるため、ゼロのままである。
表8は、図3との関連でダイジェストを使用して公表する例示的方法を図示する。ステップ771では、セマンティクスノード723が、各タイプ(例えば、クラス、関係、またはターム)に対するセマンティクス関連リソースの数を記録し得る。セマンティクス関連リソースの数は、セマンティクスノード723がブルームフィルタを特定のセマンティクスノードまたは複数のセマンティクスノードに最後に伝搬したとき以降に追加された、セマンティクス関連リソースの数であり得る。ステップ772では、セマンティクスノード723が、セマンティクス関連リソースの閾値量に達したかどうかを決定し得る。閾値量は、1つの特定のタイプ(例えば、クラス)、またはタイプの任意の組み合わせに基づき得る。
閾値量に達した場合、ステップ773では、セマンティクスノード723が、公表されるべき全てのセマンティクス関連リソースに対する全てのキーワードをコンパイルし得る。ステップ774では、セマンティクスノード723は、方程式1、方程式2、または方程式3に基づいて、KおよびMを決定し得る。ステップ775では、セマンティクスノード723が、全てのキーワードにハッシュ関数を使用する。ステップ776では、ハッシュ値がMより大きい場合、モジュロ演算子がステップ775のハッシュ関数値に適用され得る。モジュロを適用することは、ハッシュ値をMの範囲内に保つ。ステップ777では、セマンティクスノード723が、ダイジェストメッセージを作成するように、ステップ775またはステップ776の結果に基づいて、対応する位置でビットをオンにする。ダイジェストメッセージは、ブルームフィルタ、ホストアドレス、ならびにステップ775で処理されたキーワードに関連付けられているクラスを含み得る。
続けて図8を参照すると、ステップ778では、セマンティクスノード723が、任意の子セマンティクスノードがあるかどうかを決定する。ステップ779では、子セマンティクスノード725および子セマンティクスノード726があるため、ステップ777のダイジェストメッセージ(すなわち、ブルームフィルタを含むメッセージ)が、子セマンティクスノード725および子セマンティクスノード726に送信される。ステップ780では、セマンティクスノード723が、任意の兄弟セマンティクスノードがあるかどうかを決定する。セマンティクスノード723は、図3に示されるような兄弟セマンティクスノード722および724を有する。ステップ781では、セマンティクスノード723が、ダイジェストメッセージの伝搬を制限するためにホップ制限(例えば、1、2、またはそれを上回る)を設定し得る。ステップ782では、セマンティクスノード723が、ダイジェストメッセージをその兄弟に送信する。ダイジェストメッセージは、アプリケーショントランスポートプロトコルを使用して送信され得る。ブルームフィルタは、ハッシュ関数とともに、最初に各セマンティクスノードに公表されるであろう。後の更新で、ハッシュ関数は、同一のままである場合は、公表される必要がないであろう。
非公表は、図8で図示される様式と同様であるが、適切な値をゼロに設定することによって行われ得る。非公表に対して、セマンティクスノードは、フィルタ内でそれらの存在を確認するために他のキーワードがビットを必要としないならば、そのビットをゼロに設定するのみであろう。例えば、摂氏が除去された場合、ビット3は、温度の存在を確認するために使用されるので、ビット2または4のみがゼロに設定されるであろう。加えて、非公表または公表は、記憶されたハッシュ関数を使用して、新しいブルームフィルタを作成することによって、以前のブルームフィルタをローカルで更新することを含み得る。新しいブルームフィルタは、次いで、他のセマンティクスノードに伝搬させられ得、それらの現在のブルームフィルタを置き換えるために使用され得る。
図9は、ブルームフィルタを使用してセマンティクス関連リソースを発見する例示的方法を図示する。ステップ791では、兄弟セマンティクスノード724が、セマンティクスノード723からダイジェストメッセージを受信し得る。ダイジェストメッセージは、初期通信において、またはハッシュ関数がセマンティクスノード723によって変更された場合、ハッシュ関数とともにブルームフィルタを有し得る。セマンティクスノード724は、ハッシュ関数とともにブルームフィルタを記憶し得る。ステップ792では、兄弟セマンティクスノード724が、UE727から、セマンティクス関連リソースに対するキーワードを含む要求を受信し得る。ステップ793では、兄弟セマンティクスノード724が、要求されたセマンティクス関連リソースがローカルに記憶されていないことを決定する。ステップ794では、兄弟セマンティクスノード724がセマンティクス関連リソースをローカルで見出すことができないとき、ステップ792の受信したキーワードに対してハッシュ関数を使用し、それをローカルに記憶されたブルームフィルタと比較する。ステップ795では、兄弟セマンティクスノード724が、1つ以上のブルームフィルタの位置がステップ794のハッシュ化値に合致することを見出す。例証目的で、ブルームフィルタは、セマンティクスノード723に対応する。ステップ796では、兄弟セマンティクスノード724が、セマンティクスノード723のアドレスをUE727に転送し得る。代替として、兄弟セマンティクスノード724は、セマンティクスノード723から1つ以上の合致セマンティクス関連リソースのコピーを要求し、合致セマンティクス関連リソースをローカルに記憶し、セマンティクス関連リソースでUE727に応答し得る。別の実施形態では、元の要求は、セマンティクスノード723に転送され得、セマンティクスノード723は、UE727に直接応答し得る。
表6および表7は、それぞれ、セマンティクス関連リソース識別子公表およびセマンティクス関連リソース発見から発生し得る、ネットワーク、ソースセマンティクスノード、および兄弟/親セマンティクスノードへのオーバーヘッドを示す。ダイジェストメッセージ(ブルームフィルタ)のトランスポートで使用される帯域幅は、本明細書で議論されるように、図5および図6のセマンティクス発見識別子公表メッセージより有意に小さくあり得る。上記で議論されるように、ブルームフィルタにおける誤検出合致により、メッセージが要求されたセマンティクス関連リソースを含まないセマンティクスノードに送信された場合、ネットワーク帯域幅が非効率的に使用される時間があり得る。
以下では、図3との関連でセマンティクスノードダイジェストのRESTful実施形態が議論される。要約すると、本明細書に記載されるいくつかの実施形態は、RESTアーキテクチャ(RESTfulアーキテクチャ)の制約に一致する、説明される構成要素およびエンティティを伴う、表現状態転送(REST)アーキテクチャに関連して説明される。RESTfulアーキテクチャは、物理的構成要素実装または使用される通信プロトコルに関連するよりもむしろ、アーキテクチャで使用される構成要素、エンティティ、コネクタ、およびデータ要素に適用される制約に関連して説明される。当業者であれば、本開示の範囲内にとどまりながら、本実施形態の実装が変動し得ることを認識するであろう。
図10に示されるようなフィルタ801(すなわち、ブルームフィルタ)リソース構造は、セマンティクスノードダイジェストを記憶する。セマンティクスノード724上のタイプ(例えば、クラス、関係、またはターム)で最新のセマンティクス関連リソースを示す、フィルタ801の下に記憶された、複数のフィルタインスタンス<filter>802があり得る。例えば、フィルタリソースは、更新されたときに交換される。<filter>802の属性803は、タイプ、nofArrayBits、nOfKeys、およびnOfHashを含む。タイプは、フィルタが表すセマンティクス関連リソースディレクトリのタイプである。nOfArrayBitsは、フィルタ内のアレイビットの数(M)である。nOfKeysは、フィルタによって表されるキーワードの数(N)である。nOfHashは、フィルタを生成するために使用されるハッシュ関数の数(K)である。
hashFunctionsリソース805は、ブルームフィルタを生成するために使用されるK個のハッシュ関数を記憶する。セマンティクスノード724はまた、図11および図12に示されるように、セマンティクスノードダイジェスト811およびセマンティクスノードダイジェスト815も記憶する。親セマンティクスノード721および兄弟セマンティクスノード723等の兄弟および親は、セマンティクスノードダイジェスト811およびセマンティクスノードダイジェスト815を公表する。filterContentリソース806は、16ビットブルームフィルタ(例えば、01101111 11001111)を伴う上記の実施例等のブルームフィルタのビットを含む。
セマンティクスノードダイジェストがRESTful方法で記憶されると、兄弟および子に公表されるだけでなく、他のホストによって積極的に読み出され得る。例えば、図13に示されるように、セマンティクスノード822は、セマンティクスノード821およびセマンティクスノード823に対して兄弟であるが、セマンティクスノード821とセマンティクスノード823とは、兄弟関係を有していない。セマンティクスノード821は、クラスフィルタをその兄弟セマンティクスノード822に公表する。セマンティクスノード822は、Semantics node 822/siblings/SemanticsNode821/filters/filterClassofSemanticsNode 821等のリソースのURIとともに、POST応答等の応答を返信する。リソース発見を通して、セマンティクスノード823は、セマンティクスノード821の公表されたフィルタの知識を有する。セマンティクスノード823は、発見要求に基づいて、リソースを合致させるためにフィルタを使用することができ、これは、合致セマンティクス関連リソースを見出す機会を増加させる。セマンティクスノード823は、発見要求をセマンティクスノード821に転送し得る。
以下では、ダイジェストおよび識別子メッセージ公表(または非公表)を利用するために使用され得る、ハイブリッドアプローチが議論される。ダイジェスト公表は、レベル間トラフィックを低減させるために使用され得る。例えば、セマンティクスノード723は、識別子を兄弟セマンティクスノードのみに公表し得る(例えば、図5のステップ731−735、738−740を参照)。セマンティクスノード723はまた、ダイジェストを子セマンティクスノードのみに公表し得る(例えば、図8のステップ771−779)。本明細書で議論されるような階層構造(例えば、親、兄弟、および子)に基づき得る、任意の数のハイブリッド公表/非公表アプローチがあり得る。ハイブリッドアプローチはまた、発見プロセスのために使用され得る。例えば、識別子を合致させる初期処理があり得る(例えば、図6)。そして、識別子合致を使用して見出される合致がない場合、後続の処理は、ブルームフィルタを使用して合致させようとし得る(例えば、図9)。本明細書で議論されるような階層構造(例えば、親、兄弟、および子)に基づき得る、任意の数のハイブリッド発見アプローチがあり得る。
以下では、CoREリンク形式およびCoREリソースディレクトリ(RD)でのセマンティクス関連リソース公表および発見の実施形態が議論される。制約されたサーバによってホストされるリソースの発見は、ループ内に人間がおらず、静的インターフェースが脆弱性をもたらすM2Mアプリケーションにおいて重要である。HTTPウェブサーバによって提供されるリソースの発見は、典型的には、ウェブ発見と呼ばれ、リソース間の関係の記述は、ウェブリンキングと呼ばれる(RFC 5988参照)。そのような発見機構の重要な機能は、これらのリソースおよび可能なさらなるリンク関係について属性によって補完される、サーバによってホストされるリソースのユニバーサルリソース識別子(URI、リンクと呼ばれる)を提供することである。
制約RESTful環境(CoRE)において、このリンクの集まりは、(特定のリソースとともに送達されるHTTPヘッダとは対照的に)それ自体のリソースとして搬送される。IETF(例えば、RFC 6690)によって定義されるCoREリンク形式は、これらのリンク記述を表すようにHTTPリンクヘッダ形式(例えば、RFC 5988)を拡張することによって、CoREリソース発見での使用のためのリンク形式を特定する。CoREリンク形式は、ペイロードとして搬送され、インターネットメディアタイプを割り当てられる。周知の相対的URI「/.well−known/core」が、サーバによってホストされるリソースについてのリンクのリストを要求するため、したがって、CoREリソース発見を行うためのデフォルト入力点として定義される。CoREリンク形式は、RFC 5988で特定されるHTTPリンクヘッダフィールドを拡張する。
実施形態では、セマンティクス関連リソースの提案された識別子は、本明細書で紹介されるウェブリンキングまたはCoREリンク形式を活用し得る。‘kw’と呼ばれる新しいCoREリンク属性が定義され得る。リソースタイプ‘kw’属性は、キーワードをセマンティクス関連リソースに関連付けるために使用される。結果として、セマンティクス関連リソースをアドレス指定する既存の識別子(例えば、URI/URL)が再利用され得るが、‘kw’属性をウェブリンキングまたはCoREリンク形式に追加することによって、セマンティクス関連リソースが、公表され、それらに関連付けられているキーワードとともに維持される。セマンティクス関連リソース発見は、本明細書でさらに詳細に議論される、セマンティクス関連リソースのキーワードを把握することから利益を得ることができる。
CoREリソースディレクトリは、ウェブサーバが、RDを発見するため、およびリソース記述を登録、維持、参照、および除去するために、リソースディレクトリ(RD)がサポートするウェブインターフェースを特定する。さらに、リソースディレクトリと併せて有用な新しいリンク属性が定義される。
RDは、エンドポイント(EP)と呼ばれる、他のウェブサーバ上でホストされるリソースについてのウェブリンクのためのレポジトリとして使用される。RDは、組のウェブリンク(リソースディレクトリエントリと呼ばれる)を登録して維持するためにエンドポイントに対する、エントリを検証するためにRDに対する、およびRDからリソースを参照するためにクライアントに対する、組のRESTインターフェースを実装する。エンドポイント自体はまた、クライアントの役割を果たすこともできる。
リソース発見は、マルチキャストまたはユニキャストGET要求のいずれかを/.well−known/coreに送信し、クエリ文字列の中に値「core.rd」とともにリソースタイプ(rt)パラメータを含むことによって、行われ得る。リソース公表は、リソース登録によって行われ得る。エンドポイントからのPOSTは、エンドポイントの名前、そのドメイン、および登録の寿命を示す、クエリ文字列パラメータとともに、CoREリンク形式でのメッセージペイロードとして、ディレクトリに追加されるべきリソースのリストを含む。
セマンティクスノードは、その兄弟および子ノードをRDと見なし得、そこで、そのセマンティクス関連リソースを公表し得る。これを可能にするために、セマンティクスノードは、POSTをRD(その兄弟および子)に送信し得る。本明細書では、セマンティクス関連リソース識別子の公表、セマンティクスノードダイジェストの公表、ならびにハイブリッド識別子およびダイジェスト公表のためのCoREリンク形式方法が議論される。3つ全てのセマンティクス関連リソース公表をサポートするために、公表方法(pm)と呼ばれる、1つのURIテンプレート変数が、CoRE RDリソース登録要求インターフェースに追加され得る。pmは、異なる公表またはダイジェスト方法を示すように、特定の値(例えば、0、1、または2)に設定され得る。ハイブリッドアプローチは、RDが兄弟または子であるときに異なってpmが設定されるときに採用される(pm=RDが兄弟であるときには識別子、pm=RDが子であるときにはダイジェスト)。pmは、他の公表方法のために拡張可能であり得る。
図14は、本明細書で議論されるように、識別子を公表するためのPOSTメッセージの例示的な使用を図示する。ステップ843では、セマンティクスノード841(すなわち、EP)が、pm=識別子および他の関連情報とともに、POSTメッセージをセマンティクスノード842(すなわち、RD)に送信する。セマンティクスノード842は、兄弟、子等の任意のタイプのセマンティクスノードであり得、または正式な階層関係を有していないこともある。ステップ844では、セマンティクスノード842が、ステップ843の情報がセマンティクスノード842上に記憶されていることを確認する応答をセマンティクスノード841に送信し得る。図15は、本明細書で議論されるようなダイジェストメッセージを公表するためのPOSTメッセージの例示的な使用を図示する。ステップ845では、セマンティクスノード841(すなわち、EP)が、pm=ダイジェストおよび他の関連情報とともに、POSTメッセージをセマンティクスノード842(すなわち、RD)に送信する。セマンティクスノード842は、兄弟、子等の任意のタイプのセマンティクスノードであり得るか、または正式な階層関係を有していないこともある。ステップ846では、セマンティクスノード842が、ステップ845の情報がセマンティクスノード842上に記憶されていることを確認する応答をセマンティクスノード841に送信し得る。
図16は、本明細書で議論されるように、ハイブリッドアプローチを公表するためのPOSTメッセージの例示的な使用を図示する。ステップ847では、セマンティクスノード841が、pm=ダイジェストおよび他の関連情報とともに、POSTメッセージをセマンティクスノード842(すなわち、RD)に送信するのみであり得る。本実施例に対して、セマンティクスノード842は、子セマンティクスノードであり得る。ステップ848では、セマンティクスノード841は、pm=識別子および他の関連情報とともに、POSTメッセージをセマンティクスノード843(すなわち、RD)に送信するのみであり得る。本実施例に対して、セマンティクスノード840は、兄弟セマンティクスノードのみであり得る。
図17は、セマンティクス関連リソース発見のための例示的なGETメッセージを例証する。セマンティクス関連リソース発見は、GET要求によって行われ得る。本明細書で議論されるように、クラス、関係、またはターム等のセマンティクス関連リソースタイプがあり得る。「kw」属性(キーワード属性)を設定することによって、キーワードに合致するセマンティクス関連リソースが発見され得る。ステップ851では、セマンティクスノード841が、「temp」のkwとともに、取得コマンドを送信する。ステップ852では、セマンティクスノード842が、セマンティクスノード841にタイプクラスのセマンティクス関連リソースtemperatureReadingを送信する。
上記は、セマンティクス関連リソースの公表および発見のための複数の技法である。セマンティクス関連リソース公表および発見の標的は、兄弟および子として例証されるが、セマンティクスノードは、そのような関係を有していない場合がある、公表および発見のための他のセマンティクスノードを選択し得る。クラス、関係、およびターム等の本明細書で議論されるセマンティクス関連リソースのタイプは、前述のタイプに限定されるべきではない。
本明細書で議論されるように、いったん新しいセマンティクス関連リソースが作成されるか、または古いセマンティクス関連リソースがセマンティクスノードから除去されると、セマンティクスノードは、公表/非公表メッセージを兄弟セマンティクスノードおよび子セマンティクスノードに送信し得る。これらのメッセージは、HTTPまたはCoAP、ならびにその他等の1つ以上の既存のプロトコルに結び付けられ得る。そうするために、HTTPまたはCoAP等のプロトコルは、公表/非公表メッセージを搬送するための基礎的トランスポートプロトコルとして使用され得る。公表/非公表メッセージは、HTTP/CoAPメッセージのペイロード内にカプセル化され得るか、または代替として、公表/非公表メッセージ内の一部の情報は、HTTP/CoAPヘッダおよび/またはオプション内のフィールドに結び付けられ得る。例えば、一実施形態では、公表/非公表メッセージは、HTTPまたはCoAP要求のペイロードで搬送される、Java(登録商標)Script Object Notation(JSON)または拡張マークアップ言語(XML)記述として符号化され得る。そのような類似実施形態はまた、前述または以下の開示された方式でのセマンティクス関連リソース公表/非公表メッセージ、ならびに対応するセマンティクス関連リソース発見要求および応答メッセージにも適用される。
上記では、セマンティクス公表および発見を構築および維持することに関する機構が議論される。以下は、セマンティクスノードアーキテクチャに関するさらなる詳細である。セマンティクス概念は、World Wide Web Consortium(W3C)として知られている国際規格団体によって先導される協調的な動きである、セマンティクスウェブの分野で一般的に知られている。本規格は、ワールドワイドウェブ上の共通データ形式を推進する。ウェブページに意味コンテンツを含むことを促すことによって、セマンティクスウェブは、非構造化および半構造化文書によって支配されている現在のウェブを「データのウェブ」に変換することを目指す。セマンティクスウェブスタックは、W3Cのリソースディスクリプションフレームワーク(RDF)をもとにする。
種々の実施形態では、以下の機能性がセマンティクスノード上で有効化され得、すなわち、(i)セマンティクスノードによって管理されるセマンティクス関連リソースは、発見され、読み出され、有効にされることが可能である、(ii)セマンティクスノードは、他のノードによって発見され得、セマンティクス関連リソースもまた、加入機構を用いて発見され得る、(iii)セマンティクス関連リソースがセマンティクス情報を提供され、普遍的に理解されるように、セマンティクス関連リソースは、M2Mシステム内のリソースと結び付けられ、関連付けられ得る、(iv)セマンティクス関連リソースは、効率的な発見および容易なアクセスの目的で、階層内の他のセマンティクスノードにプッシュ配信され得る、(v)セマンティクス関連リソースの関連および結び付きは、記述されているセマンティクス関連リソースのセマンティクス類似性およびグループ化に基づいて最適化され得る、(vi)セマンティクス関連リソースは、データの移動とともに、1つのセマンティクスノードから別のセマンティクスノードへ移動させられ得る。
以降で説明される一実施形態では、セマンティクスノードは、ETSI M2M/oneM2Mアーキテクチャのサービス能力層(xSCL)で実装される。別の実施形態では、セマンティクスノードは、3GPPマシン型通信(MTC)アーキテクチャのサービス能力サーバ(SCS)で実装される。
(M2Mアーキテクチャ)
図34は、そのTS 102 690においてETSIによって定義されるETSI M2Mアーキテクチャを実装する、通信システム120を図示する略図である。この略図は、本開示の理解を支援するために使用され、本明細書で開示される主題の説明を促進するように簡略化されていることに留意されたい。図2に示されるように、システム120は、ネットワークドメイン122、ネットワークドメイン130、ネットワークドメイン135、およびネットワークドメイン138等の複数のネットワークドメインを備え得る。各ネットワークドメインは、NSCL126、NSCL131、NSCL136、およびNSCL139等のネットワークサービス能力層(NSCL)を含み得る。各NSCLは、ネットワークドメイン122およびネットワークドメイン130内のネットワークアプリケーション127およびネットワークアプリケーション132等のそれぞれのネットワークアプリケーションと連動し得る。
さらに示されるように、ネットワークドメイン122等のネットワークドメインはさらに、(例えば、図1の患者監視アプリケーションで使用されるM2Mデバイスのうちの1つであり得る)デバイス145等の1つ以上のデバイスと、ゲートウェイ140等の1つ以上のゲートウェイとを備え得る。3GPP用語では、デバイスおよびゲートウェイは、UEの実施例である。示されるように、デバイス145は、アーキテクチャによって定義されるmId基準点を経由してNSCL126と通信する、デバイスサービス能力層(DSCL)146を実行し得る。デバイスアプリケーション(DA)147もまた、デバイス145上で作動し得、dIa基準点を経由してDSCL146と通信し得る。同様に、ゲートウェイ140は、mId基準点を経由してNSCL126と通信するゲートウェイサービス能力層(GSCL)141を実装し得る。ゲートウェイ140上で作動するゲートウェイアプリケーション(GA)142は、dIa基準点を経由してGSCL141と通信し得る。一般に、dIa基準点は、デバイスおよびゲートウェイアプリケーションがそれぞれのローカルサービス能力(すなわち、それぞれ、DSCLまたはGSCLで利用可能なサービス能力)と通信することを可能にする。mId基準点は、M2Mデバイス(例えば、DSCL146)またはM2Mゲートウェイ(例えば、GSCL141)に常駐するM2MSCLが、ネットワークドメイン内のM2Mサービス能力(例えば、NSCL126)と通信することを可能にし、その逆も同様である。
依然として図2をさらに詳細に参照すると、NSCL126は、ドメイン122内にあり、M2Mサーバプラットフォーム125上にネットワークアプリケーション(NA)127を伴って構成され得る。NA127およびNSCL126は、基準点mIa128を介して通信し得る。mIa基準点は、NAが、M2Mドメイン内のNSCLから利用可能なM2Mサービス能力にアクセスすることを可能にし得る。
典型的には、デバイス145、ゲートウェイ140、およびM2Mサーバプラットフォーム125は、図26Cおよび図26Dで図示され、以下で説明されるデバイス等のコンピュータデバイスを備えている。NSCL、DSCL、GSCL、NA、GA、およびDAエンティティは、典型的には、システム120においてそれぞれの機能を果たすように、基礎的なデバイスまたはプラットフォーム上で実行される、ソフトウェアの形態で実装される論理エンティティである。
図2でさらに示されるように、NSCL131は、NA132とともにドメイン130内にあり得る。NA132およびNSCL131は、mIa基準点133を介して通信し得る。ネットワークドメイン135内のNSCL136、およびネットワークドメイン138内のNSCL139もあり得る。mIm基準点123は、ネットワークドメイン122内のNSCL126、ネットワークドメイン130内のNSCL131、ネットワークドメイン135内のNSCL136、またはネットワークドメイン138内のNSCL139等の異なるネットワークドメイン内のM2Mネットワークノードが、互いに通信することを可能にする、ドメイン間基準点であり得る。本明細書で簡単にするために、「M2Mサーバ」という用語は、サービス能力サーバ(SCS)、NSCL、アプリケーションサーバ、NA、またはMTCサーバを示すために使用され得る。加えて、本明細書で議論される場合、ユーザ機器(UE)という用語は、GA、GSCL、DA、またはDSCLに適用され得る。本明細書で議論される場合、UEは、移動局、固定または移動加入者ユニット、ポケットベル、携帯電話、携帯情報端末(PDA)、スマートフォン、ラップトップ、ネットブック、パーソナルコンピュータ、無線センサまたはアクチュエータ、消費者電子機器等と見なされ得る。本明細書で議論される場合、マシンツーマシンサービス能力層エンティティは、M2MサーバまたはUEを含み得る。
(I.セマンティクスノードを伴うM2Mアーキテクチャ)
セマンティクスノードを含むM2Mシステムの一実施形態が、図35で図示される。M2Mシステム150で示されるように、セマンティクスノードは、3つのレベルで展開される。エリアネットワーク154、エリアネットワーク155、エリアネットワーク156、およびエリアネットワーク157等のネットワークを含み得る、エリアレベルがあり得る。アクセスネットワーク152およびアクセスネットワーク153等のネットワークを含み得る、アクセスレベルがあり得る。そして、コアネットワーク151等のネットワークを含む、コアレベルがあり得る。
システム150に示されるように、アプリケーション158は、基準点sIc159を介して、エリアネットワーク157内に位置するM2Mセマンティクスノード160と通信可能に接続され得る。sIc基準点は、概して、セマンティクスノードに通信をするために、アプリケーション、すなわち、エリアネットワーク、アクセスネットワーク、およびコアネットワークエンティティ内の他の非セマンティクスノードエンティティによって使用される。M2Mセマンティクスノード160は、基準点sIe162を介して外部セマンティクスノード163と通信可能に接続される。M2Mシステム内のセマンティクスノードは、sIe基準点を介して外部セマンティクスノードと連動し得る。外部セマンティクスノードは、セマンティクスウェブに対してRDFSによって定義されるもの等の他の既存のセマンティクス関連リソースを管理し得る。M2Mセマンティクスノード160はまた、sIs基準点161を介して、アクセスネットワーク153内に位置するM2Mセマンティクスノード164と通信可能に接続される。M2Mセマンティクスノード164は、sIc基準点166を介してM2Mゲートウェイ165と通信可能に接続され、かつ基準点sIsを介してコアネットワーク151内に位置するM2Mセマンティクスノード168と通信可能に接続される。本実施形態では、M2Mゲートウェイ165自体は、セマンティクスノードではないが、他の実施形態では、M2Mゲートウェイ165は、セマンティクスノードの機能性を組み込むことができる。
セマンティクスノードは、オフローディング、負荷バランシング、容易なアクセス等の目的で、エリアレベルで展開され得る。エリアレベルでは、ローカルエリアネットワーク内の全てのデバイスが、取り付けられたアクセスネットワーク内またはコアネットワーク内のセマンティクスノードと通信する場合、展開されたセマンティクスノードがない可能性がある。エリアレベルでのセマンティクスノードは、アクセスレベルに対応する親セマンティクスノードを有し得るか(例えば、M2Mセマンティクスノード164と接続されたM2Mセマンティクスノード160)、またはコアレベルに対応する親セマンティクスノードを有し得る(例えば、セマンティクスノードを含むM2Mサーバ170と接続されたM2Mセマンティクスノード169)。セマンティクスノードは、sIs基準点を通して互に通信をする。基準点の詳細は、以降でさらに詳細に定義される。アクセスレベルでのセマンティクスノードも、それがsIs基準点を経由して通信する、コアレベルでの親を有し得る。同様に、アクセスレベルでのセマンティクスノードは、それがsIs基準点を経由して通信する、エリアレベルでの子セマンティクスノードを有し得る。コアレベルでのセマンティクスノードはまた、アクセスまたはエリアレベルで子セマンティクスノードを有し得る。
図35で図示される親子関係に加えて、セマンティクスノードはまた、セマンティクスノードレベル(例えば、アクセス、エリア、またはコア)のうちのいずれかで兄弟の概念をサポートする。兄弟セマンティクスノードは、階層内の同一レベルでのノードであり、セマンティクスノードの負荷を分散するために使用されることができる。例えば、コアネットワーク151では、M2Mセマンティクスノード168は、セマンティクスノードを含むM2Mサーバ170と接続される。垂直な観点から、1つより多くのセマンティクスノードの確立された階層がある場合には、ノードは、互に通信をし、sIs基準点を経由した通知、ブロードキャスト、発見等を介して、セマンティクス情報を共有することができる。
容量の制限による、制約されたデバイスに対して、セマンティクスは、特定の意味、または遠隔セマンティクスノードに記憶されたセマンティクスを指し示すリンクを指すコードであり得る。そのようなセマンティクス情報は、データを作成したアプリケーションによって、またはサービス層によって提供され得る。
アクセスレベルにおいて、1つのアクセスネットワークで展開された1つ以上のセマンティクスノードがあり得る。もしそうであれば、兄弟は、sIs基準点を通してセマンティクス情報通知、ブロードキャスト、および発見のために互に通信し得る。アクセスレベルでのセマンティクスノードは、それがsIs基準点を経由して通信する、コアレベルでの親を有し得る。同様に、アクセスレベルでのセマンティクスノードは、それがsIs基準点を経由して通信する、エリアレベルでの子セマンティクスノードを有し得る。
コアレベルにおいて、コアネットワークで展開された1つ以上のセマンティクスノードがあり得る。これらのノードは、兄弟であり得、通知、ブロードキャスト、および発見を使用してセマンティクス情報を共有するために、sIs基準点を経由して互に通知し得る。コアレベルでのセマンティクスノードはまた、アクセスまたはエリアレベルにおいて子セマンティクスノードを有し得る。アプリケーション、すなわち、エリアネットワーク、アクセスネットワーク、およびコアネットワーク内の他の非セマンティクスノードエンティティは、sIc基準点を介してセマンティクスノードに通信をする。
上記のように、セマンティクスノードは、ネットワーク内の独立型物理ノード(例えば、独立型M2Mセマンティクスノード160)であり得るか、または図35のシステム150で示されるようなM2Mデバイス171、M2Mゲートウェイ172、またはM2Mサーバ170等のネットワーク内の別の物理ノード上でホストされる論理エンティティであり得る。換言すると、M2Mデバイス、M2Mゲートウェイ、およびM2Mサーバは、セマンティクスノード機能性をサポートすることができる。
図35で図示される多層セマンティクスノード階層の特徴は、それが異なるレベルの抽象化を提供できることである。セマンティクスノードは、エリアネットワーク特有のセマンティクス関連リソースがローカルで見出され得るように、M2Mエリアネットワーク内等の局所的領域中のセマンティクス関連リソースを管理することのみを担当し得る。局所的領域中で典型的ではない任意のセマンティクス関連リソースは、高レベルの親または並列の兄弟セマンティクスノードに記憶され、見出されことができる。別の特徴は、インターネット階層、場所階層等により、セマンティクス関連リソースがそれら自体で階層を有し得ることである。結果として、セマンティクスの複数の層は、既存のネットワークアーキテクチャと整合する。加えて、セマンティクスノードは、各レベルで分散され得、これは、集中型セマンティクスノードがコアネットワークのみで展開された場合の単一故障点を防止する。
(II.セマンティクスノードアーキテクチャ)
ここで、セマンティクスノードのアーキテクチャに関するさらなる詳細について議論する。記述されるように、セマンティクスノードは、セマンティクス関連リソースを記憶して管理する。本明細書で定義される場合、セマンティクス関連リソースは、M2Mデバイスまたはアプリケーションによって生成されるデータ、あるいはM2Mデバイスまたはアプリケーション自体の意味等のモノのセマンティクス情報を記述するために使用することができる、情報を備えている。一実施形態では、セマンティクス関連リソースは、XMLスキーマ定義(XSD)、RDFスキーマ/ウェブオントロジー言語(RDFS/OWL)等の既存のスキーマを使用して、拡張マークアップ言語(XML)で表現され得る。実施形態では、3つのタイプのセマンティクス関連リソース、すなわち、それらの各々が以下でさらに完全に説明される、クラス、関係、およびタームが、セマンティクスノードに記憶され得る。このようなセマンティクス関連リソースのカテゴリ化は、セマンティクスウェブの現在の技法との適合性を提供する。この適合性は、M2Mシステムが、例えば、W3Cによって定義される、これらのコアクラスおよびコアプロパティ等の既存のセマンティクス関連リソースを活用することを可能にする。M2Mシステムの外部のアプリケーションおよびエンティティは、セマンティクスを適合性にするために必要な形式変換または修正による、いかなる余分なオーバーヘッドも被ることなく、セマンティクスノードによってホストされるセマンティクス関連リソースを使用することができる。
(クラス):ここで、M2Mドメイン内のオブジェクト/モノのクラスの概念が議論される。図1の例示的健康監視システムでは、例えば、システムに関連するオブジェクトのクラスは、患者、医師、救急車の通信指令係、血圧、中核体温、酸素飽和度、運動加速度計等を含む。クラスは、ユニフォームリソース識別子(URI)またはユニフォームリソースロケータ(URL)によって識別され得る。クラスは、クラスを定義する情報を含む、フィールド記述を含む。例えば、摂氏単位の整数として温度データを表し、例えば、これらのセマンティクスを温度センサによって生成されるデータに提供するために使用することができる、temperatureReadingクラスは、以下のようにXSDのスキーマを用いてXMLで定義され得る。
<simpleType name=“temperatureReading”>
<restriction>
description =“temperature in Celsius” unit=“Celsius” base=“integer”
</restriction>
</simpleType>
ここで、クラスは、“description”、“unit”、および“base”というフィールドを含み、これらのフィールドの中の情報は、それぞれ、“temperature in Celsius”、“Celsius”、および“integer”である。別の実施例として、BloodPressureクラスは、2つのフィールド、すなわち、収縮期圧のための1つのフィールド、および拡張期圧のための別のフィールドを含み得る。このBloodPressureクラスのためのクラス記述は、両方のフィールドの記述を含み、以下のようにXML/XSDを使用して表現され得る。
<complexType name=“BloodPressure”>
<sequence>
<element name=“systolicINmmHG” type=“integer”/>
<element name=“diastolicINmmHG” type=“integer”/>
</sequence>
</complexType>
しかしながら、再度、クラス(および他のタイプのセマンティクス関連リソース、すなわち、関係およびターム)は、XML/XSDを使用する表現に限定されないが、むしろ、例えば、RDFS/OWL等を含む、種々の好適な記述言語のうちのいずれかで表現され得ることが理解される。クラスはまた、互に関係付けられ得る。例えば、「血圧」は、「生命」のサブクラスであり得、または等価的に、「生命」は、「血圧」のスーパークラスであり得る。サブクラス/スーパークラス関係は、クラスの階層を定義する。一般に、Aの全てのインスタンスがBのインスタンスでもある場合、AはBのサブクラスである。クラスは、複数のスーパークラスを有し得る。
関係。関係は、特別な種類のセマンティクス関連リソースである。関係は、セマンティクス関連リソース間の関連、例えば、「作者」、「寿命」、「加入者」等を記述する。関係はまた、全体的な一意の命名スキームをM2Mドメインの関係に与える、URI/URLによって識別することもできる。クラスおよびインヘリタンスは、計算の他の分野で、例えば、オブジェクト指向プログラミングで知られている。しかし類似点がある一方で、差異も存在する。オブジェクト指向プログラミングでは、オブジェクトクラスは、それが適用される関係またはプロパティを定義する。新しい関係またはプロパティをクラスに追加することは、クラスを修正することを意味する。しかしながら、ここでは、関係は、全体的に定義され、つまり、それらは、クラス定義における属性としてカプセル化されない。クラス自体の定義を変更することなく既存のクラスに適用される、新しい関係が定義され得る。クラスのように、関係も互に関連付けることができる。例えば、「エネルギーモード」および「使用モード」は、「モード」のサブ関係である。デバイスが電気の「エネルギーモード」および手動の「使用モード」を有する場合には、電気および手動の「モード」を有する。
(ターム):タームは、M2Mドメインで一般的に使用されている概念である。本明細書で定義される場合、タームは、リソースのセマンティクスを記述するために多くの関係者によって使用され得る値である。タームの定義は、それが公表される、あるドメインで普遍的に承認され得る。例えば、手動、ユーザ指図、および自律は、それぞれ、例えば、アプライアンスの使用モードを記述するために使用され得る、タームの例である。一般に、セマンティクス関連リソースの作成者は、そのセマンティクス関連リソースが、クラス、関係、またはタームであるかどうかを決定するであろう。次いで、セマンティクスノードは、それらの作成者によって定義または決定されるカテゴリの下でセマンティクス関連リソースを記憶するであろう。例えば、図1の患者監視実施例では、セマンティクス関連リソースクラス、関係、およびタームは、血圧モニタ製造業者によって、医師によって、または別のアプライアンス製造業者によって作成され得る。他の実施例では、セマンティクス関連リソースクラス、リソース、およびタームは、垂直アプリケーションによって定義または作成され得る。
リソース(データ、モノ等を含む)のセマンティクスは、リソース、関係、および値から成る、リソース・関係・値トリプルによって記述することができる。値は、クラス、ターム、または他のリソースのいずれかであり得る。以下は、いくつかの実施例である。
・ コンテンツインスタンス(リソース)は、hasType(関係) temperatureReading(クラス)
・ アプリケーション(リソース)は、hasUsageMode(関係) ユーザ指図(ターム)
・ コンテンツインスタンス(リソース)は、generatedBySameApplicationAs(関係)別のコンテンツインスタンス(リソース)
提案されたsIc、sIs、およびsIe基準点を通して、セマンティクスノードのクラス、関係、およびタームリソースへの要求を行うことができる。図36は、M2Mセマンティクスノードのクラス、関係、およびタームリソースの例示的説明図である。本実施例で図示されるように、セマンティクスノード420は、異なるアプリケーションおよびドメインからの種々のクラス422、関係424、およびターム426を記憶するように構成され得る。代替として、セマンティクスノード420は、アプライアンスセマンティクス、車両セマンティクス、医療アプリケーションセマンティクス等の一意のアプリケーションまたはドメインのためのクラス、関係、およびタームリソースを記憶するように構成され得る。
(III.M2Mセマンティクスノード機能および基準点)
この節では、セマンティクスノードの機能および基準点に関するさらなる詳細が提供される。一実施形態では、セマンティクスノードは、以下の機能を行い得る:
他のセマンティクスノードを認証(セマンティクスノード階層内のより低レベルの子または並列兄弟セマンティクスノードを認証することを含む)することにより、それらが登録し、セマンティクスノードのリソースに対する要求を行うことを可能にすること、アプリケーション、デバイス、および/またはユーザを認証することにより、それらがセマンティクス関連クラス、関係、およびタームリソースを公表、作成、削除、更新、および読み出すことを可能にすること、セマンティクス関連クラス、関係、およびタームリソースを記憶して管理すること、セマンティクス関連リソースの発見のためのサポートを提供すること、および発見クエリに協力してセマンティクス関連リソース情報を共有するために、セマンティクスノードが互に(親子、兄弟の間で)通信するためのサポートを提供すること。
セマンティクスノードは、1つ以上の基準点またはインターフェースを介して、ネットワーク内の他のエンティティと通信し得る。一実施形態では、3つの基準点、すなわち、sIs基準点、sIc基準点、およびsIe基準点が定義される。sIs基準点は、セマンティクスノード間の通信に使用される。sIs基準点はまた、親子または兄弟関係を形成するように別のセマンティクスノードに登録するため、他のセマンティクスノードを発見するため、その状態(例えば、オンライン、オフライン、オーバーロード等)に関して他者に通知するため、特定の動作(例えば、登録解除、登録)を行うように別のセマンティクスノードをトリガするため、別のセマンティクスノード内のセマンティクス関連リソースを公表、作成、削除、更新、および読み出すために、セマンティクスノードによって使用され得る。加えて、セマンティクスノードは、図36、図37、および図38に関連して以下でさらに説明されるように、別のセマンティクスノード内のセマンティクス関連リソースに加入し、対応する通知を受信するため、その階層内の兄弟および親セマンティクスノード上のセマンティクス関連リソースを発見するため、セマンティクス関連リソースのグループを1つのセマンティクスノードから別のセマンティクスノードへ移動させるため、および、別のセマンティクスノードに記憶されたセマンティクス関連リソースがあるリソースと結び付けられて関連付けられ、そのセマンティクスをそのリソースに提供することを可能にするために、sIs基準点を使用し得る。
本実施形態では、sIc基準点は、種々のネットワークドメイン(例えば、エリアネットワーク、アクセスネットワーク、またはコアネットワーク)からのセマンティクスノードと通信するために、アプリケーションまたは非セマンティクスノードによって使用され得る。sIc基準点はまた、アプリケーションまたは非セマンティクスノードが、セマンティクスノード内のセマンティクス関連リソースを公表、作成、削除、更新、読み出し、加入、または発見すること、およびセマンティクスノードから通知を受信することも可能にする。加えて、sIc基準点は、セマンティクスノードに記憶されたセマンティクス関連リソースがあるリソースと結び付けられて関連付けられ、そのセマンティクスをそのリソースに提供することを可能する。
sIe基準点は、M2Mシステム内のノードの既存の階層の一部であるセマンティクスノードと外部セマンティクスノードとの間の通信のために使用され得る。外部セマンティクスノードは、M2Mドメインの外側にセマンティクス関連リソースを記憶する。外部セマンティクスノードの一実施例は、http://www.w3.org/2005/Incubator/ssnで説明されるようなW2C Semantic Sensor
Network Incubator Groupによって定義される、セマンティックセンサネットワークオントロジーのためのセマンティクス関連リソースを記憶するサーバであり得る。sIe基準点は、セマンティクスノードが外部セマンティクスノード内のセマンティクス関連リソースを読み出し、発見し、およびそれに加入することを可能にし、その逆も同様である。また、sIe基準点を介して、外部セマンティクスノードは、M2Mシステム内のセマンティクスノードを発見し、通知を受信し得る。
これらの基準点を効果的に定義する、sIs、sIe、およびsIc基準点に関連付けられているメッセージの一実施形態が、表1で以下に記載される。
表8は、セマンティクスノード関連メッセージ、それらの対応する意味、および使用される基準点を記載する。
ハイパーテキスト転送プロトコル(HTTP)または制約アプリケーションプロトコル(CoAP)等のプロトコルが、異なるタイプのメッセージを搬送するための基礎的トランスポートプロトコルとして使用され得る。上記で議論される種々のセマンティクスノード機能性を果たすためのこれらのメッセージの使用の実施例が、以下で提示される。
(IV.M2Mセマンティクスノードプロシージャ)
(A.セマンティクスノード階層を構築する)
この節では、一実施形態による、どのようにしてセマンティクスノードの階層(以降では「セマンティクスノード階層」)が構築され得るかに関して、追加の詳細が提供される。本実施形態では、セマンティクスノード階層は、ネットワーク内の異なるエリア、アクセス、およびコアレベルに位置するセマンティクスノード間の親子および兄弟関係を決定することによって構築される。
図21Aは、セマンティクスノード階層を確立する方法の一実施形態を図示する、フロー図である。セマンティクスノードがネットワークに参加するとき(ステップ504)、すなわち、それがオンラインになるとき、それがネットワーク内で動作セマンティクスノードになることができる前に、子・親および兄弟関係を最初に構築する必要がある。この目的を達成するために、ステップ506では、セマンティクスノードは、同一のレベルで兄弟セマンティクスノードの発見を行い得る。
セマンティクスノード発見要求(例えば、マルチキャスト、ブロードキャスト、エニーキャスト)を送信することに基づき得、兄弟セマンティクスノードの発見は、兄弟セマンティクスノードを発見しようとして発見要求を発行することができる。要求は、ネットワークを混雑させ得る、発見要求および応答メッセージのフラッディングを制限する定義されたホップ制限を有することができる。代替として、発見は、利用可能である場合、ドメイン名システム(DNS)、DNSサービス発見(DNS−SD)、サービスロケーションプロトコル(SLP)等のネットワーク内で利用可能な既存の発見機構を活用することができる。セマンティクスノードは、IPアドレスまたは管理されるセマンティクス情報のタイプ等の隣接兄弟セマンティクスノードの返信された情報を記憶し得る。以下でさらに議論されるように、兄弟セマンティクスノード発見応答メッセージはまた、高レベルセマンティクスノード発見サーバのアドレス、兄弟の親セマンティクスノードのアドレス、または両方をピギーバックし得る。
依然として図21Aを参照すると、兄弟セマンティクスノードの発見に続いて、セマンティクスノードは、次に、ステップ508、ステップ510、およびステップ512で、高レベルのセマンティクスノードを発見しようと、および/またはそれらに登録しようとし得る。セマンティクスノードが、それが登録する必要がある高レベルノードを供給されている場合、単純に、この供給されたセマンティクスノードに登録し、親子関係を構築することができる(ステップ508、ステップ512)。別様に、セマンティクスノードは、既存の高レベルセマンティクスノードを発見し、登録するためにそれらのうちの1つを選択する必要がある(ステップ510)。選択は、同一のタイプのセマンティクス関連リソース等をサポートする、隣接上位レベルで最近傍等の基準に基づき得る。図21Bは、これらのステップ508、ステップ510、およびステップ512をさらに詳細に図示する。
本実施形態では、各レベルでは、デフォルトで高レベルセマンティクスノード発見要求を受理する、1つのセマンティクスノード発見サーバがあり得る。セマンティクスノード発見サーバのアドレスは、低レベルセマンティクスノードに周知され得る。図21Bに示されるように、新しいセマンティクスノードが高レベル親セマンティクスノードアドレスを供給されていない場合(ステップ602)、および新しいセマンティクスノードが上位レベルでセマンティクスノード発見サーバを供給されていない場合(ステップ604)、最初に、兄弟セマンティクスノード発見606を行うことができる。兄弟発見の一部として、セマンティクスノード発見サーバのアドレスは、共有され得る(例えば、発見された兄弟セマンティクスノードから受信される兄弟発見応答でピギーバックされる)(ステップ608)。一方で、新しいセマンティクスノードはまた、兄弟の親セマンティクスノード情報(アドレス)を明示的に要求し得、登録すべき自身の親として1つを選択し得る。(ステップ610、618)。
新しいセマンティクスノードが上位セマンティクスノード発見サーバのアドレスを供給されている場合、セマンティクスノード発見を直接行うことができる(ステップ604からステップ614への通過を制御する)。そうでない場合、兄弟の親リストから選択したいかどうか、および兄弟からデフォルトセマンティクスノード発見サーバのアドレスを読み出したいかどうかを決定する(ステップ608および610)。新しいセマンティクスノードが兄弟の親から上位セマンティクスノードを選択する場合(ステップ618)、セマンティクスノード発見をさらに行わないことを選択し得る。上位セマンティクスノード発見サーバのアドレスを供給されている場合、これは、(同一のタイプのセマンティクス関連リソース等をサポートする、ホップ数で最近傍にある)親を選択する基準を決定する(ステップ614)。基準に基づいて、これは、上位レベルでのセマンティクスノードのアドレスに加えて、発見したい情報(距離、セマンティクス関連リソースのサポートされたタイプ等)を設定する(ステップ616)。
ステップ620では、新しいセマンティクスノードが、発見した、または別様に選択した高レベル親セマンティクスノードに登録し得る。新しいセマンティクスノードが、高レベルセマンティクスノード発見サーバのアドレスを知ることも、それが選択し得るその兄弟のいかなる高レベル親セマンティクスノードも識別することもできない場合、いずれの高レベル親セマンティクスノードも利用可能ではないと決定し、ステップ612でプロセスを終了させ得る。
図21Aを再度参照すると、兄弟の発見ならびに親ノードの発見および登録が完了すると、新しいセマンティクスノードの兄弟および親に関する情報が記憶される(ステップ514)。図21Aでさらに図示されるように、新しい兄弟がネットワークに参加するか、または既存の兄弟がオフラインになる場合、セマンティクスノードは、そのセマンティクスノード関係を更新し得る(ステップ516、518)。ステップ520では、新しいセマンティクスノードが現在動作している。図21Aでさらに図示されるように、動作セマンティクスノードは、ある以降の時点で、別の高レベルノードに登録するようにトリガされ得(ステップ522)、またはネットワークから離れてもよい(ステップ526)。前者の場合、セマンティクスノードは、その現在の親を登録解除し、新しい親に登録し得る(ステップ524)。後者の場合、セマンティクスノードは、単純に、その現在の親を登録解除し得る(ステップ528)。
図22は、上記で議論され、図21Aおよび図21Bで図示される、セマンティクスノード発見および登録プロセスをさらに図示する、メッセージフロー図である。ステップ185では、新しいセマンティクスノード181が、セマンティクスノード発見要求を兄弟セマンティクスノード182に送信する。兄弟セマンティクスノード182は、新しいセマンティクスノード181と同一のネットワークレベルにある。ステップ185のセマンティクスノード発見要求は、セマンティクスノード発見サーバ183に関する情報(例えば、アドレス)、または兄弟セマンティクスノード182の親(例えば、上位)セマンティクスノード184であるセマンティクスノードの情報に対する要求を含み得る。親セマンティクスノードに対する要求は、新しいセマンティクスノード181が、登録する自身の親を選択することを可能にし得る。
セマンティクスノード発見サーバ183は、同一のレベル内に散乱させられたセマンティクスノードの情報を記憶するための集中点、またはネットワークの同一のレベルで発見要求を大量送信し、セマンティクスノードの返信される応答を収集する集合点と見なされ得る。セマンティクスノード発見サーバ183は、新しいセマンティクスノード181のネットワークレベルより高いレベル、同一レベル、または低いレベルのネットワークレベルでネットワークに常駐する、サーバであり得る。本実施例は、セマンティクスノード発見サーバ183が、新しいセマンティクスノード181のネットワークレベルに関して上位レベルにあることを仮定する。セマンティクスノード発見サーバ183のアドレスを、低レベルセマンティクスノード(例えば、兄弟セマンティクスノード182)に周知させることができる。新しいセマンティクスノード181がセマンティクスノード発見サーバ183を供給されていない場合、新しいセマンティクスノード181は、兄弟セマンティクスノード発見を行い得る。新しいセマンティクスノード181がセマンティクスノード発見サーバ183のアドレスを供給されている場合、セマンティクスノード発見を直接行うことができる。
図22のステップ186では、兄弟セマンティクスノード182が、セマンティクスノード発見応答を送信する。セマンティクスノード発見応答は、セマンティクスノード発見サーバ183の情報(例えば、アドレス情報)、または兄弟セマンティクスノード182の親であるセマンティクスノードの情報を含み得る。ネットワークのレベルでの各兄弟ノードは、兄弟セマンティクスノード182によって提供される情報とは異なり得る、親セマンティクスノード情報およびセマンティクスノード発見サーバ情報で応答し得る。
ステップ187では、新しいセマンティクスノード181が、セマンティクスノード発見サーバ183の受信されたアドレスを抽出する。ステップ188では、新しいセマンティクスノード181が、セマンティクスノード発見要求をセマンティクスノード発見サーバ183に送信する。ステップ188での要求は、セマンティクスノード181が接続し得る、1つ以上の親セマンティクスノードに対する問い合わせであり得る。ステップ189では、セマンティクスノード発見サーバ183が、セマンティクスノード発見応答を新しいセマンティクスノード181に送信する。ステップ189での応答は、1つ以上の親セマンティクスノードを含み得る。ステップ190では、新しいセマンティクスノード181が、登録する1つの親セマンティクスノードを選択する。ステップ191では、セマンティクスノード181が、その選択された親セマンティクスノード184への登録に対する要求を送信する。ステップ192では、親セマンティクスノード184が、ステップ191での登録に対する要求への応答を送信する。
概して、新しいセマンティクスノード181がセマンティクスノード発見サーバ183のアドレスを供給されている場合、セマンティクスノード発見を直接行うことができる。そうでなければ、新しいセマンティクスノード181は、1つ以上の兄弟から受信される親セマンティクスノードのリストから選択したいかどうか、および兄弟からセマンティクスノード発見サーバ183のデフォルトアドレスを読み出したいかどうかを決定する。各レベルにおいて、デフォルトで高レベルセマンティクスノード発見要求を受理する、1つ以上のセマンティクスノード発見サーバがあり得る。新しいセマンティクスノード181が兄弟の親から上位セマンティクスノードを選択する場合、新しいセマンティクスノード181は、セマンティクスノード発見をさらに行わないことを選択し得る。新しいセマンティクスノード181は、親を選択する(例えば、同一のタイプのセマンティクス関連リソース等をサポートする、ホップ数で最近傍等のオプションから選択する)基準を決定するオプションを有し得る。基準に基づいて、新しいセマンティクスノード181は、上位レベルでのセマンティクスノードのアドレスに加えて、発見したい情報(例えば、距離、セマンティクス関連リソースのサポートされたタイプ等)を設定する。
図23は、その一実施形態による、親子関係更新プロセス(図21Aのステップ522および524)のさらなる詳細を提供する、メッセージフローを提供する。更新は、子または親セマンティクスノードによって開始され得る。ステップ205では、セマンティクスノード201が、通知に基づいて現在の親セマンティクスノード203から登録解除することを決定する。通知は、とりわけ、登録解除を開始する現在の親セマンティクスノード203からのメッセージ、現在のセマンティクスノード203が連絡可能ではない(例えば、オフラインである、切断されている、または他の通信問題)という決定、または親セマンティクスノード203に関連付けられている受信された状態更新(例えば、ネットワークトラフィック混雑、デバイスまたは回線エラー、メモリ容量問題等)であり得る。
ステップ206では、セマンティクスノード201が、親子関係を終了させるための要求を含む、登録解除要求を現在の親セマンティクスノード203に送信する。ステップ207では、セマンティクスノード201が、親セマンティクスノード203から、または現在の親セマンティクスノード203の知覚された状態を通信することができる別のデバイスから、ステップ206で送信された登録解除要求への応答を受信し得る。図22に関して図示されるステップと同様に、セマンティクスノード201は、新しい親セマンティクスノードに登録しようとする。ステップ208では、セマンティクスノード201が、セマンティクスノード発見要求をセマンティクスノード発見サーバ202に送信する。ステップ209では、セマンティクスノード発見サーバ202が、セマンティクスノード発見応答をセマンティクスノード201に送信する。ステップ210では、セマンティクスノード201が、登録するための1つの上位セマンティクスノードを選択する。ステップ211では、セマンティクスノード201が、その選択された新しい親セマンティクスノード204への登録のための要求を送信する。ステップ212では、新しい親セマンティクスノード204が、親子関係の更新を確認する、ステップ211での登録のための要求への応答を送信する。
(示されていないが、図23の要素を参照して)実施形態では、親セマンティクスノードが、子の登録解除をトリガし、登録する子のための新しい親セマンティクスノードを提供し得る。この新しい親情報は、登録解除トリガメッセージに、または代替として、別個のトリガメッセージに含まれ得る。セマンティクスノード201は、現在の親セマンティクスノード203に登録要求を新しい親セマンティクスノード204へ送信させることによって、新しい親セマンティクスノード204に登録することができる。現在の親セマンティクスノード203は、登録目的で、セマンティクスノード201の情報を新しい親セマンティクスノード204に転送するオプションを有する。現在の親セマンティクスノード203またはセマンティクスノード201は、現在の親セマンティクスノード203を新しい親セマンティクスノード204に切り替える前に、親子関係を終了させ得る。
概して、セマンティクスノードの親子関係は、子セマンティクスノードがオフラインになるとき、または子セマンティクスノードが別の高レベル親セマンティクスノードに登録するときに、現在の親セマンティクスノードを登録解除することによって終了させられる。
隣接兄弟セマンティクスノードがネットワークに参加する場合、新しいセマンティクスノードを追加することによって、対応する兄弟情報が更新される。隣接兄弟セマンティクスノードがネットワークから離れる場合、セマンティクスノードを削除するか、またはネットワークから離れた兄弟セマンティクスノードの状態を示すようにテーブルを別様に更新する(例えば、状態=オフライン)ことによって、対応する兄弟情報が更新される。セマンティクスノードは、例えば、表1で上に示されるSEMANTICS_NODE_STATUS_NOTIFY()メッセージを使用して、その状態を兄弟セマンティクスノードにブロードキャストするか、または別様に伝達し得る。状態更新は、どのようにして兄弟および親子関係が維持されるかに影響を及ぼし得る。
(B.セマンティクス関連リソース発見、読み出し、および検証)
アプリケーション、デバイス、ユーザ、ピアセマンティクスノード、外部セマンティクスノード、または非セマンティクスノードは、sIc、sIs、およびsIe基準点を通して、セマンティクス関連リソース発見要求をセマンティクスノードに送信し得る。発見要求メッセージは、セマンティクス関連リソースのタイプ(クラス、関係、またはターム)と、検索文字列とを含み得る。例えば、摂氏単位の整数として、その温度読取データをそのM2Mゲートウェイに報告する必要がある、M2Mシステム内の温度感知アプリケーション(App1)を仮定されたい。ゲートウェイサービス能力層(GSCL)がデータを理解することを可能にするために、App1は、データを適正なセマンティクス情報に関連付ける必要がある。本明細書で説明されるプロシージャに従って、App1は、摂氏単位の整数として温度データを表す、セマンティクス関連リソースクラス、すなわち、temperatureReadingクラスを記憶する、セマンティクスノードを発見し得る。発見後に、App1は、temperatureReadingクラスの表現を読み出し、その温度データのセマンティクスを提供するためにそれが使用したいものであることを検証するであろう。次いで、これは、データをその属性(セマンティクス属性)のうちの1つとしてtemepratureReadingクラスと結び付けるであろう。GSCLでは、データは、App1のための<tempData>コンテナの下で記憶され得、<tempData>コンテナは、例えば、図42で図示されるように、hasType関係を使用してtemperatureReadingクラスに結び付くセマンティクス属性を有するであろう。結果として、GSCL内の<tempData>コンテナの下で記憶された全てのApp1データは、データの各アイテムが整数であり、摂氏単位を有するという同一のセマンティクスを有するであろう。別の実施例として、App1は、NSCLからリソースを取り出すアプリケーションであり得る。リソースは、(上記の実施例に類似する)temperatureReadingクラスに結び付くセマンティクス属性を有し得る。リソースのコンテナ内のデータを理解して解釈するために、App1は、リソースのセマンティクス属性が結び付けられるセマンティクス関連リソース、この場合は、temperatureReadingクラスを読み出す必要があろう。App1は、temperatureReadingクラスセマンティクス関連リソースの表現を読み出した後、現在、整数であり、摂氏単位を有することが分かっている、リソースデータを解釈できるであろう。
図24は、一実施形態による、セマンティクスノードにおけるセマンティクス関連リソース発見要求の処理を図示する、フロー図である。ブロック221では、セマンティクスノードが、要求されたセマンティクス関連リソースのタイプと、潜在的な検索文字列とを含む、セマンティクス関連リソース発見要求を受信する。ブロック222では、セマンティクスノードが、発見要求をチェックする。要求が不十分であるか、または不正な形式である(例えば、要求されたリソースのタイプが欠落している)場合、発見要求は無効と見なされ、無効な発見応答がブロック233によって示されるように発行側(例えば、要求クライアントデバイス)に返信されるであろう。ブロック223によって示されるように、要求が有効である場合、検索文字列は、ローカルで記憶されたセマンティクス関連リソースと比較される。具体的には、要求されたセマンティクス関連リソースのタイプに基づいて、セマンティクスノードは、どのタイプ(すなわち、クラス、関係、またはターム)のセマンティクス関連リソースをそれが検索するであろうかを決定することができる。ブロック224によって示されるように、キーワードとして検索文字列を使用して、セマンティクスノードは、1つ以上の合致するセマンティクス関連リソースを見出すために、そのローカル意味データベースを検索する。合致するセマンティクス関連リソースがローカルで見出された場合、セマンティクス関連リソースのアドレス(例えば、URL/URI)が、ブロック225によって示されるように、発見応答で発行側に返信され得る。
ローカルで見出された合致するセマンティクス関連リソースがない場合、セマンティクスノードは、その兄弟セマンティクスノードから、合致するセマンティクス関連リソースを見出そうとするであろう。ブロック226およびブロック227によって示されるように、セマンティクスノードは、発見要求を兄弟に転送し、応答が戻ってくることを待つであろう時間窓を設定する。ブロック228では、合致するセマンティクス関連リソースが連絡を受けた兄弟から見出されるかどうかが決定される。合致するセマンティクス関連リソースがその兄弟から返信される場合、セマンティクス関連リソースの対応するアドレス(例えば、URI/URL)が、成功発見応答とともに発行側に返送される(ブロック225)。
セマンティクスノードの兄弟から返信される、合致するセマンティクス関連リソースがない場合には、ブロック229によって示されるように、親セマンティクスノードが連絡を受けることができるかどうかが決定される。親セマンティクスノードがない場合には、否定結果を示す発見応答が発行側に返信されるであろう(ブロック233)。親セマンティクスノードがある場合、セマンティクスノードは、その親セマンティクスノードから合致するセマンティクス関連リソースを見出そうとするであろう。それぞれ、ブロック230およびブロック231によって示されるように、セマンティクスノードは、発見要求を親セマンティクスノードに転送し、応答が戻ってくることを待つであろう時間窓を設定する。ブロック232では、合致するセマンティクス関連リソースが連絡を受けた親から見出されるかどうかが決定される。合致するセマンティクス関連リソースが連絡を受けた親から返信される場合、セマンティクス関連リソースの対応するアドレス(例えば、URI/URL)が、成功発見応答とともに発行側に返送される(ブロック225)。セマンティクスノードの親から返信される、合致するセマンティクス関連リソースがない場合には、否定結果を示す発見応答が発行側に返信されるであろう(ブロック233)。
発行側が、合致するセマンティクス関連リソースのアドレス(例えば、URI/URL)を含む成功発見応答を受信した後、発行側は、セマンティクス関連リソースの表現を読み出すことができる。
一実施形態では、セマンティクスノードは、クライアントおよびサーバから成る、RESTfulアーキテクチャ形式(表現状態転送)をサポートし得る。クライアント(例えば、発行側)は、サーバ(例えば、セマンティクスノード)へのセマンティクス要求を開始する。本実施形態では、サーバ(例えば、セマンティクスノード)は、セマンティクスに対する要求を処理し、適切なセマンティクス応答を返信する。要求および応答は、セマンティクス関連リソースの表現の転送の周りで構築される。クライアントは、セマンティクス関連リソース(例えば、クラス、関係、またはターム)に対するRESTful動作をセマンティクスノードに要求することができる、アプリケーション、ユーザ、デバイス、セマンティクスノード等であり得る。
RESTfulアーキテクチャでリソースを取り扱うとき、セマンティクス関連リソースに適用され得る4つの基本的方法がある。
CREATE:クラス、関係、またはタームリソースを作成する
RETRIEVE:クラス、関係、またはタームリソースのコンテンツを読み取る
UPDATE:クラス、関係、またはタームリソースのコンテンツを書き込む
DELETE:クラス、関係、またはタームリソースを削除する
RESTfulサーバの役割を果たすセマンティクスノードが、受信した要求を検証し得る。動作は、発行側が適正なアクセス権の認定を受けた場合に可能にされる。
図25は、このRESTful実施形態による、これらのRESTfulセマンティクスノード動作をさらに図示する、メッセージフロー図である。ステップ243では、発行側241が、RESTful CREATE、UPDATE、RETRIEVE、またはDELETEという動詞を対応して使用して、セマンティクス関連リソース(クラス、関係、またはターム)を作成、更新、読み出し、または削除することを要求する。発行側241は、アプリケーション、別のセマンティクスノード、デバイス、ユーザ等であり得る。ステップ243でセマンティクス関連リソースを作成するために、発行側241は、CREATE要求を発行し、セマンティクス関連リソースのタイプおよび表現を提供する。ステップ243でセマンティクス関連リソースを更新するために、発行側241は、UPDATE要求を発行し、セマンティクス関連リソースの一意の識別またはアドレス、および更新または部分的に更新された表現を提供する。ステップ243でセマンティクス関連リソースを読み出すために、発行側241は、RETRIEVE要求を発行し、セマンティクス関連リソースの一意の識別またはアドレス、および随意に検索文字列パラメータを提供する。ステップ243でセマンティクス関連リソースを削除するために、発行側241は、DELETE要求を発行し、セマンティクス関連リソースの一意の識別またはアドレスを提供する。
ステップ244では、セマンティクスノード242が、サーバの役割を果たし、受信した要求を検証し、別様にそれを処理する。受信した要求は、発行側241が適正なアクセス権の認定を受けている場合に許可される。作成動作がセマンティクスノード242によって許可される場合、新しいセマンティクス関連リソースは、それがクラス、関係、またはタームであるかどうかに基づいて、適切なリソースプールの下で作成される。そしてセマンティクス関連リソースは、セマンティクスノード242によって一意の識別子またはアドレスを割り当てられる。更新動作がセマンティクスノード242によって許可される場合、セマンティクス関連リソースの表現が更新される。読み出し動作がセマンティクスノード242によって許可される場合、セマンティクス関連リソースの表現は、発行側241が要求する形式で準備される。削除動作がセマンティクスノード242によって許可される場合、要求されたセマンティクス関連リソースが削除される。
ステップ245では、セマンティクスノード242が応答を発行側241に返信する。作成動作に対して、新たに作成されたセマンティクス関連リソースの識別またはアドレスが発行側に返信される。更新動作に対して、動作が成功しようとそうでなかろうと、応答コードが発行側241に返信される。読み出し動作に対して、発行側241が要求する形式のセマンティクス関連リソースの表現が、発行側241に返信される。削除動作に対して、動作が成功したかどうかを示すために、応答コードが発行側241に返信される。
図26は、本明細書で説明されるセマンティクス関連リソース発見、読み出し、および検証をさらに図示する、メッセージフロー250である。本実施例では、ネットワークは、発行側251、セマンティクスノード252、セマンティクスノード252の兄弟である兄弟セマンティクスノード253、およびセマンティクスノード252に対して親である親セマンティクスノード254を含み得る。ステップ256では、発行側251が、セマンティクス関連リソース発見要求をセマンティクスノード252に送信する。メッセージフロー250に示されるように、セマンティクスノード252は、ステップ256での要求に合致するセマンティクス関連リソースを見出すために、(図24のプロセスに類似する)いくつかのステップを経る。図示されるように、第1に、セマンティクスノード252は、そのローカルディレクトリを検索するであろう。これは、いかなる合致リソースも見出さない場合、時間窓を設定し、発見要求を兄弟253等のその兄弟に転送するであろう。応答がその兄弟から受信されない場合、セマンティクスノード252は、その要求を親セマンティクスノード254に転送するであろう。本実施例では、親セマンティクスノード254が合致するリソースを見出し、それが見出したセマンティクス関連リソースのアドレス(例えば、URI/URL)を示す応答をセマンティクスノード252に返送するであろうことが仮定される。
ステップ257では、次いで、セマンティクスノード252が、発行側の要求に合致した、親セマンティクスノード254からのセマンティクス関連リソースのアドレス(例えば、URI/URL)を含む、セマンティクス関連リソース発見応答を発行側251に返送する。ステップ259では、発行側251が、受信したURLに基づいてセマンティクス関連リソース読み出し要求を送信する。ステップ260では、親セマンティクスノード254が、クラス、関係、またはタームを含み得る、要求されたセマンティクス情報を含む、セマンティクス関連リソース読み出し応答を送信する。
ステップ261では、発行側251が、ステップ260からの受信したセマンティクス情報の表現をチェックする(検証する)。ステップ260で送信された受信したセマンティクス関連リソースが、正確には発行側251が欲しいものではない可能性がある。例えば、発行側251が温度クラスを要求し、返信された合致するリソースが関連華氏単位を伴うtemperatureReadingと呼ばれるクラスであり、発行側251が摂氏単位を伴う温度クラスを所望する場合、発行側251は、親セマンティクスノード254がセマンティクスを修正することを要求することができる。これは、セマンティクス関連リソースを修正するために、ステップ262でセマンティクス関連リソース修正要求を親セマンティクスノード254に送信することによってサポートされることができる。ステップ263では、新たに追加または修正されたセマンティクス関連リソースのアドレス(例えば、URL/URI)が、発行側251に返信されるであろう。
セマンティクス関連リソースの修正に関して、概して、セマンティクスノードがそれ自体で修正をサポートしない場合、セマンティクスノードは、修正を行うようにその兄弟または親と協力し得る。セマンティクスノードが修正をサポートする場合には、セマンティクスノードは、新しいクラスを追加するか、現在のクラスを拡張することによって、クラスをローカルで修正し得る。
(C.セマンティクス関連リソースに加入する)
一実施形態では、セマンティクスノードは、それに加入するクライアント(例えば、アプリケーション、別のセマンティクスノード、デバイス、ユーザ等)をサポートすることができる。一実施例として、クライアントは、加入したセマンティクス関連リソースに対する任意の更新があるときに通知されるように、セマンティクスノードに加入し得る。更新が生じるとき、加入クライアントは、リソースの新しい表現で通知されるであろう。それ自体がセマンティクスノードであるクライアントの場合、加入したセマンティクス関連リソースは、加入者セマンティクスノードが関係しない(例えば、親子または兄弟ではない)別のセマンティクスノードに記憶され得る。本実施例では、クライアントは、SEMANTICS_RESOURCE_SUBSCRIBE_REQメッセージをセマンティクスノードに発行し得る。メッセージは、リソースが更新されたときにクライアントが通知を受信することを希望する、セマンティクス関連リソースを識別する。セマンティクスノードは、加入を承認する、SEMANTICS_RESOURCE_SUBSCRIBE_RESPメッセージで要求に応答するであろう。クライアントが加入したセマンティクス関連リソースが更新されるとき、セマンティクスノードは、更新をクライアントに通知するために、SEMANTICS_RESOURCE_SUBSCRIBER_NOTIFYメッセージを送信するであろう。
別の実施例として、セマンティクスノードは、その兄弟、親、または子セマンティクスノードのうちの1つによって記憶および管理されるセマンティクス関連リソースに関して更新されることに関心があり得る。図27は、一実施形態による、この状況のための加入/通知プロセスの例示的なフロー270である。本実施例では、セマンティクスノード271は、加入先セマンティクスノード272によって記憶および管理されるセマンティクス関連リソースに関して更新される。加入先セマンティクスノード272は、セマンティクスノード271の兄弟、親、または子であり得る。ステップ273では、セマンティクスノード271が、加入標的を識別し、トリガ基準に関連するセマンティクス関連リソース通知のみを受信するように、通知トリガ基準を設定し得る。例えば、加入者は、新しい通知が送信される前に、特定のセマンティクス関連リソース、またはセマンティクス関連リソースに対する更新の特定数を特定するように、通知トリガ基準を構成し得る。セマンティクスノード271はまた、通知が送信されるべきときの期間スケジューリング情報を設定し得る。
ステップ274では、セマンティクスノード271が、セマンティクスノードリソース加入要求を標的セマンティクスノード272に送信する。ステップ275では、標的セマンティクスノード272が、ステップ274のセマンティクス加入要求を受理するかどうかを決定する。標的セマンティクスノード272は、既存の加入者、加入を取り扱う負荷(例えば、更新情報の収集または通知を送信するために使用される帯域幅に関する負荷)等に基づいて、加入要求を受理するかどうかを決定することができる。ステップ276では、標的セマンティクスノード272が、セマンティクスノード加入応答をセマンティクスノード271に送信する。ステップ276での応答は、加入の確認、および加入を処理する際に使用されるであろうパラメータを含み得る。ステップ277では、ステップ276後のある時点で、標的セマンティクスノード272が、ステップ274で受信された要求トリガに合致する、意味通知トリガ条件を検出する。ステップ278では、標的セマンティクスノード272が、特定のセマンティクス関連リソースに関してセマンティクスノード271を更新するために、セマンティクスノードリソース加入通知メッセージを送信する。
概して、セマンティクス関連リソース加入は、ピアセマンティクスノードまたは親セマンティクスノードからのセマンティクス関連リソース発見を促進することができる。例えば、(セマンティクスノードに記憶される、新たに作成または更新されたセマンティクス関連リソースのURIを含むであろう)通知メッセージに基づいて、セマンティクスノードは、発見要求を送信することなく、他のノードのセマンティクス関連リソースに対する発見を行うことが可能であり得る。
(D.セマンティクス関連リソースへの結び付きおよび関連)
セマンティクスノードのセマンティクス関連リソースは、種々の方法で使用することができる。例えば、セマンティクス関連リソース表現は、セマンティクスノードから読み出され得、データが(例えば、ネットワークサーバ上、デバイス上、ゲートウェイ上等に)記憶されるネットワーク場所に、共同設置様式で記憶され得る。代替として、リソースのセマンティクスは、セマンティクスノード上に記憶され得、セマンティクスへのリンクは、データとともに、同一場所に位置し、記憶され得る。このセマンティクスリンクは、データ内にインラインで記憶され得るか(すなわち、埋め込まれ)、またはデータと並んで別個に(例えば、別個のリソースまたは属性に)記憶され得る。したがって、このセマンティクス関連リソースへの結び付きを通して、セマンティクスは、M2Mシステム内の通常リソース(例えば、<SCL>、<application>、<container>等)に適用されることができる。典型的には、この結び付きは、リソースが作成されるときにリソース作成者/生成者によって作成されるであろう。
図1の患者健康監視アプリケーションの以前の実施例を続けると、セマンティクスノード上で定義される意味クラスがあり、これらのクラスのURLは、患者健康監視アプリケーションによって発見され得る。表2は、患者健康監視アプリケーションに関連するタイプ「クラス」のセマンティクス関連リソースの例を示す。データは、hasTypeと呼ばれる意味関係を使用して、意味クラスに結び付けられ得る。結果として、example/healthmonitoring/data1というURIを伴う各データリソースに対して、リソースのセマンティクスは、以下の関連によって把握されるであろう。
・ example/health/patient/data1 hasType semanticsNode1/class/patient
・ example/health/doctor/data2 hasType semanticsNode1/class/doctor
・ example/health/bp/data1 hasType semanticsNode1/class/bloodpressure
・ example/health/temp/data1 hasType semanticsNode1/class/temperature
・ example/health/hr/data5 hasType semanticsNode1/class/heartrate
hasType関係はまた、セマンティクスノード上に記憶されたhasType関係のセマンティクス記述を参照する、URL/URIによって識別され得る。
(E.グループ化最適化)
リソースのグループが類似セマンティクスを有する(例えば、同一のアプリケーション内の全てのリソースが同一のセマンティクスを有する)場合、類似セマンティクスは、アプリケーションの下の各個々のリソースの代わりに、アプリケーションに適用されることができる。図28は、その一実施形態による、同一のセマンティクスを伴うリソースのグループ化の方法281を図示する。ステップ281では、同一のアプリケーションの既存のデータの一部が、同一のセマンティクス関連を共有すると決定される。ステップ282では、同一のセマンティクスを共有する、同一のアプリケーション内の決定されたデータが、グループに分類される。ステップ283では、ステップ282の各グループが、適切なセマンティクスに関連付けられている。ステップ284では、同一のアプリケーションからの新たに受信したデータが、同一のセマンティクスを共有するグループに入れられる。同一のアプリケーションの既存のデータは、複数のグループに分類され得、それらの各々は、同一のセマンティクス結び付きおよび関連を共有する。新しいデータが同一のアプリケーションから生成される場合、データは、同一のセマンティクスを共有するグループに入れられる。
例えば、血圧監視データの複数のインスタンスは、同一のセマンティクスを有する。したがって、各インスタンスは、以下に示されるような同一のセマンティクス(semanticsNode1/class/bloodpressure)に関連付けられ得る。
・ example/health/bp/data1 hasType semanticsNode1/class/bloodpressure
・ example/health/bp/data2 hasType semanticsNode1/class/bloodpressure
・ example/health/bp/data3 hasType semanticsNode1/class/bloodpressure
・ ・・・
このグループ化最適化をサポートすることによって、以下の関連も有効であり得る。
・ example/health/bp hasType semanticsNode1/class/bloodpressure
(F.セマンティクス関連リソースをプッシュ配信する)
上記のように、セマンティクスノードにおいてホストされるクラス、関係、およびタームが発見され、他者によって使用され得る。要求の頻度に基づいて、セマンティクス関連リソースのうちのいくつかが、より容易な発見またはアクセスのために、プッシュ配信されるか、または別のセマンティクスノードにおいてミラーリングされ得る。例えば、1つのセマンティクスノードは、別のセマンティクスノードから同一の転送された発見要求を(例えば、ポリシー定義閾値を超える)ある回数検出した後、セマンティクス関連リソースのミラーリングされたコピーをそのセマンティクスノードにプッシュ配信することを決定し得る。
セマンティクス関連リソースのプッシュ配信は、図29に示されるように、兄弟間で、または親セマンティクスノードと子セマンティクスノードとの間で生じることができる。例えば、コアネットワーク295内の図29のセマンティクスノード291は、セマンティクスノード292、セマンティクスノード293、およびセマンティクスノード294から、同一のセマンティクス関連リソース(例えば、温度)に対する多くの発見および読み出し要求を受信し得る。発見要求が定義された閾値に達するとき、セマンティクスノード293およびセマンティクスノード294がより速い応答時間でセマンティクス関連リソースにアクセスし得るように、セマンティクスノード291は、セマンティクスノード292上に同一のセマンティクス関連リソースを作成する(すなわち、リソースをミラーリングする)ことを決定し得る。セマンティクスノード291は、次いで、適切なSEMANTICS_RESOURCE_CREATE_RESPメッセージで応答するであろう、他のセマンティクスノードにSEMANTICS_RESOURCE_CREATE_REQメッセージを発行することによって、セマンティクスノード上にミラーリングされたリソースを作成し得る。
以下のオプションは、セマンティクス関連リソースを最新の状態に保つために使用され得る。図29を参照すると、セマンティクスノード291は、セマンティクス関連リソースの元の表現に対する任意の更新がある場合、セマンティクスノード292上のセマンティクス関連リソースを自動的に更新し得る(例えば、加入が必要とされない)。代替として、セマンティクスノード292は、元のセマンティクス関連リソースに加入し得る。セマンティクス関連リソースに対するセマンティクスノード292の加入に基づいて、セマンティクスノード292は、特定の加入先セマンティクス関連リソースへの任意の変更に関して通知されるであろう。また、前述のシナリオの組み合わせがあり得る。例えば、セマンティクスノード291の自動更新が、セマンティクスノード291上の全てのセマンティクス関連リソースに対して周期的に生じる一方で、セマンティクスノード292は、特定の加入先セマンティクス関連リソースに対するより即時の更新を所望する状況があり得。
セマンティクス関連リソースのプッシュ配信は、いずれの方向においても、兄弟間で、親と子との間で生じることができる。例えば、図29を参照すると、セマンティクスノード296は、あるローカルセマンティクス関連リソースをその親セマンティクスノード297にプッシュ配信し得る。別の実施例では、セマンティクスノード291は、ある高次セマンティクス関連リソースを子セマンティクスノード298にプッシュ配信し得る。
(G.データ/セマンティクス関連リソース移動)
図30は、デバイスが1つのネットワークから別のネットワークへ移動するシナリオを図示する。このシナリオでは、デバイスに関連するセマンティクス関連リソース、およびデバイスによって生成されるデータもまた、セマンティクス関連リソース読み出しに起因して、セキュリティ、オーバーヘッド、および/または負荷のために新しい場所へ移動させられる必要があり得る。
図30を参照すると、デバイスは、最初に、エリアネットワーク301内に位置しているたが、エリアネットワーク302へ移動していることがある。最初に、デバイス309は、セマンティクスノード306と通信していた。デバイス309がエリア302に到着した後、デバイス309は、最初に、線303によって例証されるように、セマンティクスノード306に通信し続け得る。これは、アクセスネットワーク304、アクセスネットワーク308、およびコアネットワーク300で不必要なオーバーヘッドをもたらし得る。この問題および他の問題に対処するために、セマンティクスノード306のセマンティクス関連リソースは、エリアネットワーク302内のセマンティクスノード307に移動させられ得る。セマンティクス関連リソースをセマンティクスノード307に移動させた後、デバイス309は、セマンティクス関連リソースのためにコアネットワーク300を横断する必要はなく、代わりに、線305によって示されるように、セマンティクスノード307と通信することができる。
図31は、図30で描写されるようなデータまたはセマンティクス関連リソースの移動をさらに図示する、例示的メッセージフロー310である。ステップ315では、第1のエリアネットワーク内のセマンティクスノード311が、エリアネットワーク2内に位置するデバイスアプリケーション314とメッセージを交換する。ステップ315で交換されるメッセージは、例えば、セマンティクス関連リソース読み出し要求およびセマンティクス関連リソース読み出し応答を含み得る。ステップ316では、セマンティクスノード311が、デバイスアプリケーション214に関連付けられたセマンティクス関連リソースを、第2のエリアネットワーク内に位置するセマンティクスノード313に移動させることを決定する。セマンティクスノード313は、第1のエリアネットワークより通信的に近く(到達するためにより少ない時間を要する)、または論理的に近く(例えば、より少ないホップ)あり得る。ステップ316を参照すると、他のデバイスは、セマンティクスノード発見サーバ312、デバイスアプリケーション314、または別のコンピュータデバイス(図示せず)等のセマンティクス関連リソースを移動させる決定を行い得る。
ステップ317では、セマンティクスノード発見要求および応答が、セマンティクスノードの階層ならびに兄弟関係を構築するために、セマンティクスノード311とセマンティクスノード発見サーバ312との間で交換される。ステップ318では、セマンティクスノード311が、セマンティクスノード313のアドレスを決定する。ステップ320では、セマンティクス関連リソース作成要求メッセージが、デバイスアプリケーション314によって使用されるセマンティクス関連リソース(および他のデータ)をコピーするために、セマンティクスノード313に送信される。セマンティクスノード313は、セマンティクス関連リソースおよび他のデータのコピーが成功したという確認応答を含み得る、セマンティクス関連リソース作成応答メッセージで応答する。ステップ321では、セマンティクス連結更新要求メッセージが、デバイスアプリケーション314に送信される。ステップ321でのメッセージは、デバイスアプリケーション314がセマンティクスノード313からセマンティクス関連リソースを取り出すための命令を含み得る。ステップ322では、セマンティクス連結更新応答メッセージは、セマンティクスノード連結が更新されるという確認応答を含み得る。ステップ323では、デバイスアプリケーション314は、セマンティクスノード313から、クラス、関係、およびタームのタイプのセマンティクス関連リソースを読み出す。
(V.ETSI M2M/oneM2M実施形態)
(A.セマンティクスノードを伴うETSI M2Mアーキテクチャ)
上記のように、本明細書で説明されるセマンティクスノード概念は、ETSI M2Mアーキテクチャを拡張するために使用することができる。一実施形態では、1つ以上のセマンティクスノードは、図32に示されるように、M2Mセマンティクスノードと称され得る、独立型ネットワークエンティティとしてアクセス/コアネットワーク内に位置し得る。図32では、M2Mセマンティクスノード331およびM2Mセマンティクスノード332は、同一のアクセス/コアネットワーク330内に位置する。エリア/コアネットワーク330内のM2Mセマンティクスノードは、上で説明されるsIc基準点を介して、DSCL、GSCL、NSCL、およびアプリケーションと連動し得る。加えて、M2Mセマンティクスノード331およびM2Mセマンティクスノード332は、sIs基準点334を介して互に連動し得る。M2Mセマンティクスノード331およびM2Mセマンティクスノード332はまた、sIe基準点を介して、別のタイプの外部セマンティクスノード333を参照し得る。本実施形態では、アクセス/コアネットワーク330内に位置するM2Mセマンティクスノードはまた、兄弟および/または親子関係を形成し得る。
セマンティクスノードは、現在のETSI M2Mアーキテクチャのサービス能力層(xSCL)で使用されるような相補的リソース構造をサポートし得、このリソース構造は、図33で図示される様式で、本明細書で説明されるセマンティクスノードに適用され得る。本実施形態では、<ssBase>リソース341は、ホスティングセマンティクスノード上に常駐するリソースツリーのルートである。<ssBase>リソース341は、ホスティングセマンティクスノードを説明する属性を含み得る。<ssBase>リソース341は、とりわけ、SSリソース343、クラスリソース344、関係リソース346、タームリソース348、アクセス権リソース349、および加入リソース350の集合を表す、集合リソースを含む。クラスリソース344の下には、クラスリソース344のサブクラスである、他の<class>リソース345があり得る。関係リソース346の下には、関係リソース346のサブ関係である、<relationship>リソース347があり得る。SSリソース集合343は、遠隔セマンティクスノードがローカルセマンティクスノードに登録または登録解除するときに、作成または削除されるセマンティクスノードリソースを含む。
図34に示されるように、SSリソース343に対する集合における各セマンティクスノードリソースは、対応するリソース構造を有し得る。これらのリソースは、ローカルセマンティクスノードに登録された遠隔セマンティクスノードの状態を維持する。例えば、連絡先情報、発見情報(例えば、発表された意味クラス、表現、およびタームリソース)、およびセキュリティ情報(例えば、対応する遠隔セマンティクスノードと通信するために使用される信用証明)等の状態である。
図33を再度参照すると、<ssBase>リソース341の下のクラス344、関係346、およびターム348集合の各々は、ローカルセマンティクスノード上でホストされるセマンティクス関連リソースのそれぞれのインスタンスを含むことができる。各インスタンスは、意味表現を含むとともに、タグ等の発見関連情報等のそれに関連付けられている他の属性を有することができる。セマンティクス関連リソースのこれらの集合は、そうするための適正なアクセス権を有するクライアントによってアクセスされることができる。<ssBase>リソース341の下のアクセス権リソース349は、アクセス権のインスタンスを含むことができる。これらのアクセス権リソース349は、どのクライアントが、セマンティクスノードによってサポートされるどのセマンティクス関連リソースおよび動作へのアクセスを供与されるかを制御する、アクセス権のインスタンスを定義することができる。代替として、アクセス権集合の他のインスタンスは、より粒度の細かいアクセス制御を提供するようにリソース構造でサポートすることができる(図33に示されていない)。加入リソース350の集合は、加入リソースのインスタンスを含むことができる。加入リソースのインスタンスは、特定通知トリガ基準イベントが生じるときに、セマンティクスノードから意味通知を受信することを希望するクライアントによって作成されることができる。発見リソース342は、クライアント意味発見要求をサポートする。これらの発見要求は、検索基準(例えば、特定のタイプの属性を有するセマンティクス関連リソース)をサポートすることができる。セマンティクスノードは、(存在する場合)検索基準に合致するリソースアドレス(例えば、URI)のリストで発見要求に応答することができる。セマンティクスノードはまた、他のセマンティクスノードへの要求の転送(例えば、子、兄弟、または親セマンティクスノードへの発見要求の転送)をサポートすることもできる。
(B.セマンティクス能力を伴うxSCL)
図35で図示される別の実施形態では、M2Mセマンティクスノードは、別個の独立型セマンティクスノードとしてよりも、ETSI M2MアーキテクチャのDSCL、GSCL、および/またはNSCL内の組み込まれた能力として展開され得る。この組み込まれた実施形態では、sIs基準点は、別個のままであり得るか、またはETSI M2M
mId基準点が、sIs機能性をサポートするように拡張させられ得る。同様に、sIc基準点は、別個のままであり得るか、またはETSI M2M mIaおよびdIa基準点が、sIc機能性をサポートするように拡張させられ得る。本実施形態では、GSCLまたはDSCL内に位置するM2Mセマンティクスノードは、それらが登録されるNSCLと親子関係を確立し得る。加えて、GSCLまたはDSCL内に位置するセマンティクスノードはまた、互に兄弟関係を確立し得る。
図35の実施形態をサポートするために、xSCLは、図36に示されるリソース構造を有し得る。セマンティクスノードのリソース集合は、セマンティクスノード能力を有する遠隔SCLがローカルSCLに登録または登録解除するときに作成または削除される、セマンティクスノードリソースを含む。この集合の中の各セマンティクスノードリソースは、図36に示される、対応するリソース構造を有し得る。これらのリソースは、ローカルSCLに登録される遠隔セマンティクスノードの状態を維持する。例えば、意味発見情報(例えば、発表された意味クラス、表現、およびタームリソース)等の状態である。
<sclBase>リソース361の下のクラス、関係、およびターム集合の各々は、ローカルSCL上でホストされるセマンティクス関連リソースのそれぞれのインスタンスを含み得る。各インスタンスは、意味表現を含むとともに、タグ等の発見関連情報等のそれに関連付けられている他の属性を有することができる。セマンティクス関連リソースのこれらの集合は、そうするための適正なアクセス権を有するクライアントによってアクセスされ得る。
(C.ETSI M2Mセマンティクス実装の使用事例の実施例)
セマンティクスノードによって管理されるセマンティクス関連リソースは、<sclBase>、<application>、<container>、<contentInstance>等のETSI M2Mリソース構造のリソースに関連付けられ、結び付けられ得る。以下の議論は、<contentInstance>のセマンティクス情報を提供するために、どのようにしてセマンティクス関連リソースが使用され得るかを例証する。
本実施例では、temperatureReadingクラスは、scl1上で定義および記憶され、scl1/classes/temperatureReadingというURIを有することを仮定されたい。hasLocationという関係も、scl1上で定義および記憶され、scl1/relationships/hasLocationというURIを有する。加えて、‘northeast China’というタームも、scl1上で定義および記憶され、scl1/terms/northeastChinaというURIを有する。図37は、図36に示されるxSCLリソース構造の実施例である、<scl1>上のセマンティクス関連リソース構造を示す。このリソース構造は、セマンティクス関連リソースのURIを決定する。contentInstanceは、gscl2/applications/app1/containers/<temperature>/contentInstances/<inst1>というURIを有する。図38のxSCLリソース構造で示されるようなセマンティクスを用いてcontentInstanceを拡張することによって、contentInstanceのコンテンツを効果的に記述し、曖昧性を伴わずに解釈することができる。
図39は、リソースおよびセマンティクス読み出しの一実施例を図示する、メッセージフローである。ステップ393では、NA390が、データリソースに対して、RETRIEVE要求をGSCL2 391に送信する。データリソースは、例えば、とりわけ、血圧センサ示度値、中核体温センサ示度値、酸素飽和度センサ示度値、または運動加速度計センサ示度値であり得る。ステップ394では、GSCL2 391が、データリソースの表現を返信する。データリソースを理解するために、NAは、データリソースのセマンティクスを読み出す必要がある。したがって、ステップ395では、NA390が、読み出し要求をGSCL391に送信する。ステップ396では、GSCL2 391が、SCL1 392上に記憶されるデータリソースに対する関連セマンティクス関連リソースのURIのリストを返信する。ステップ397から399では、NA390が、それぞれ、temperatureReading、hasLocation、およびnortheastChinaというセマンティクス関連リソースについて、RETRIEVEメッセージをSCL1 392と交換する。これらのセマンティクス関連リソースにより、NA390は、データリソースを理解することができ、したがって、データリソースを使用および操作することができる。
(VI.3GPP MTCアーキテクチャ実施形態)
さらに上記のように、3GPP MTCアーキテクチャはまた、本明細書で説明されるセマンティクスノードによって提供されるセマンティクスサポートを用いて拡張させられ得る。図40に示されるように、一実施形態では、M2Mセマンティクスノード401は、3GPPコアネットワーク境界の外側に位置し得る。さらに示されるように、SCS404は、セマンティクス能力をサポートするように拡張させられ得、sIs基準点(図示せず)を介してM2Mセマンティクスノード401と連動し得る。M2Mセマンティクスノード401はまた、sIc基準点403を介して、3GPPマシン型通信連動機能(MTC−IWF)402と連動し得る。アプリケーションサーバ(AS)406およびAS407は、sIc基準点400を介してM2Mセマンティクスノード401と通信し得る。図41は、セマンティクスノードを伴う3GPP MTCアーキテクチャの別の実施形態を図示する。本実施形態では、セマンティクスノードは、SCS408に組み込まれている。図41で409においてさらに示されるように、本実施形態では、sIc基準点は、3GPP MTC Tspの一部であり得る。
3GPPおよびETSI M2Mアーキテクチャが、本明細書で背景として説明され、以降で説明される種々の実施形態を例証するために使用され得るが、本開示の範囲内にとどまりながら、以降で説明される実施形態の実装が変動し得ることが理解される。当業者であれば、開示された実施形態は、上記で議論される3GPPまたはETSI M2Mアーキテクチャを使用する実装に限定されないが、むしろoneM2M、MQTT、W3Cセマンティクスウェブ、ならびに他のM2Mシステムおよびアーキテクチャ等の他のアーキテクチャおよびシステムで実装され得ることも認識するであろう。
図43Aは、図1、図3、図14、およびその他等の1つ以上の開示された実施形態が実装され得る、例示的マシンツーマシン(M2M)、モノのインターネット(IoT)、またはモノのウェブ(WoT)通信システム10の略図である。概して、M2M技術は、IoT/WoTのための構成要素を提供し、任意のM2Mデバイス、ゲートウェイ、またはサービスプラットフォームは、IoT/WoTの構成要素ならびにIoT/WoTサービス層等であり得る。
図43Aに示されるように、M2M/IoT/WoT通信システム10は、通信ネットワーク12を含む。通信ネットワーク12は、固定ネットワーク(例えば、Ethernet(登録商標)、ファイバ、ISDN、PLC等)または無線ネットワーク(例えば、WLAN、セルラー等)、あるいは異種ネットワークのネットワークであり得る。例えば、通信ネットワーク12は、音声、データ、ビデオ、メッセージング、ブロードキャスト等のコンテンツを複数のユーザに提供する、複数のアクセスネットワークから成り得る。例えば、通信ネットワーク12は、符号分割多重アクセス(CDMA)、時分割多重アクセス(TDMA)、周波数分割多重アクセス(FDMA)、直交FDMA(OFDMA)、単一キャリアFDMA(SC−FDMA)等の1つ以上のチャネルアクセス方法を採用し得る。さらに、通信ネットワーク12は、例えば、コアネットワーク、インターネット、センサネットワーク、工業制御ネットワーク、パーソナルエリアネットワーク、融合個人ネットワーク、衛星ネットワーク、ホームネットワーク、または企業ネットワーク等の他のネットワークを備え得る。
図43Aに示されるように、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(登録商標))、直接無線リンク、および有線を含む、種々のネットワークを介して通信し得る。
図43Bを参照すると、フィールドドメイン内の図示したM2Mサービスプラットフォーム22(例えば、本明細書で説明されるようなネットワークサービス能力層(NSCL))は、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つ以上のサーバ、コンピュータ、仮想マシン(例えば、クラウド/計算/記憶ファーム等)等によって実装され得る。
図43Bも参照すると、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’に提供する。
本願のセマンティクス関連リソース公表および発見は、サービス層の一部として実装され得る。サービス層(例えば、NSCL126)は、アプリケーションプログラミングインターフェース(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ネットワークの一部として実装することができる。
図43Cは、例えば、M2M端末デバイス18またはM2Mゲートウェイデバイス14等の例示的M2Mデバイス30の系統図である。図3のセマンティクスノード723等のセマンティクスノードおよび他のUE(例えば、UE127)は、図43Cの構成要素を反映し得る。図43Cに示されるように、M2Mデバイス30は、プロセッサ32と、送受信機34と、伝送/受信要素36と、スピーカ/マイクロホン38と、キーパッド40と、ディスプレイ/タッチパッド42と、非取り外し可能メモリ44と、取り外し可能メモリ46と、電源48と、全地球測位システム(GPS)チップセット50と、他の周辺機器52とを含み得る。M2Mデバイス30は、実施形態と一致したままで、先述の要素の任意の副次的組み合わせを含み得ることが理解されるであろう。このデバイスは、セマンティクス関連リソース公表および発見のための開示されたシステムおよび方法を使用する、デバイスであり得る。
プロセッサ32は、汎用プロセッサ、特殊用途プロセッサ、従来のプロセッサ、デジタル信号プロセッサ(DSP)、複数のマイクロプロセッサ、DSPコアと関連する1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)回路、任意の他のタイプの集積回路(IC)、状態機械等であり得る。プロセッサ32は、信号符号化、データ処理、電力制御、入出力処理、および/またはM2Mデバイス30が無線環境で動作することを可能にする任意の他の機能性を果たし得る。プロセッサ32は、伝送/受信要素36に連結され得る、送受信機34に連結され得る。図43Cは、プロセッサ32および送受信機34を別個の構成要素として描写するが、プロセッサ32および送受信機34は、電子パッケージまたはチップに一緒に組み込まれ得ることが理解されるであろう。プロセッサ32は、アプリケーション層プログラム(例えば、ブラウザ)および/または無線アクセス層(RAN)プログラムおよび/または通信を行い得る。プロセッサ32は、例えば、アクセス層および/またはアプリケーション層等で、認証、セキュリティキー一致、および/または暗号化動作等のセキュリティ動作を行い得る。
伝送/受信要素36は、信号をM2Mサービスプラットフォーム22に伝送し、またはM2Mサービスプラットフォーム22から信号を受信するように構成され得る。例えば、実施形態では、伝送/受信要素36は、RF信号を伝送および/または受信するように構成されるアンテナであり得る。伝送/受信要素36は、WLAN、WPAN、セルラー等の種々のネットワークおよび無線インターフェースをサポートし得る。実施形態では、伝送/受信要素36は、例えば、IR、UV、または可視光信号を伝送および/または受信するように構成されるエミッタ/検出器であり得る。さらに別の実施形態では、伝送/受信要素36は、RFおよび光信号の両方を伝送および受信するように構成され得る。伝送/受信要素36は、無線または有線信号の任意の組み合わせを伝送および/または受信するように構成され得ることが理解されるであろう。
加えて、伝送/受信要素36は、単一の要素として図26Cで描写されているが、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上の照明パターン、画像、または色を制御するか、あるいは別様に識別子およびブルームフィルタ等のリソース伝搬プロセスの状態を示すように構成され得る(例えば、図7および図8)。アプリケーションプログラミングインターフェースが、セマンティクス関連リソース公表メッセージおよび発見メッセージを定義するために表示され得る。
プロセッサ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)ラジオユニット、デジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザ等を含み得る。
図43Dは、例えば、図43Aおよび43BのM2Mサービスプラットフォーム22が実装され得る、例示的なコンピュータシステム90のブロック図である。コンピュータシステム90は、コンピュータまたはサーバを備え得、主に、ソフトウェアの形態であり得るコンピュータ読み取り可能な命令によって制御され得、どこでも、またはどのような手段を用いても、そのようなソフトウェアが記憶あるいはアクセスされる。そのようなコンピュータ読み取り可能な命令は、コンピュータシステム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は、図43Aおよび43Bのネットワーク12等の外部通信ネットワークにコンピュータシステム90を接続するために使用され得る、ネットワークアダプタ97を含み得る。
本明細書で説明されるシステム、方法、およびプロセスのうちのいずれかまたは全ては、命令が、コンピュータ、サーバ、M2M端末デバイス、M2Mゲートウェイデバイス等の機械によって実行されると、本明細書で説明されるシステム、方法、およびプロセスを行うおよび/または実装される、コンピュータ読み取り可能な記憶媒体上に記憶されたコンピュータ実行可能命令(すなわち、プログラムコード)の形態で具現化され得ることが理解される。具体的には、上で説明されるステップ、動作、または機能のうちのいずれかは、そのようなコンピュータ実行可能命令の形態で実装され得る。コンピュータ読み取り可能な記憶媒体は、情報の記憶のための任意の方法または技術で実装される、揮発性および不揮発性、取り外し可能なおよび非取り外し可能な媒体の両方を含むが、そのようなコンピュータ読み取り可能な記憶媒体は、信号を含まない。コンピュータ読み取り可能な記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CDROM、デジタル多用途ディスク(DVD)または他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは所望の情報を記憶するために使用することができ、コンピュータによってアクセスすることができる任意の他の物理的媒体を含むが、それらに限定されない。
図で図示されるような本開示の主題の好ましい実施形態を説明する際に、明確にするために、特定の用語が採用される。しかしながら、請求された主題は、そのように選択された特定の用語に限定されることを目的としておらず、各特定の要素は、類似目的を達成するように同様に動作する、全ての技術的均等物を含むことを理解されたい。
本明細書は、最良の様態を含む、本発明を開示するために、また、当業者が、任意のデバイスまたはシステムを作製して使用すること、および任意の組み込まれた方法を行うことを含む、本発明を実践することを可能にするために、実施例を使用する。本発明の特許性のある範囲は、請求項によって定義され、当業者に想起される他の実施例を含み得る。そのような他の実施例は、請求項の文字通りの言葉とは異ならない構造要素を有する場合に、または請求項の文字通りの言葉とのごくわずかな差異を伴う同等の構造要素を含む場合に、請求項の範囲内であることを目的としている。