(57)【要約】【課題】改善された発見のためのシステムおよび方法の提供。【解決手段】本明細書では、改善されたサービス発見を提供するための種々のデバイス、方法、プロセス、およびシステムが開示される。ネットワーク内のエンティティは、サービス発見に対する要求をリソースディレクトリに送信し得、リソースディレクトリは、要求された発見情報で応答し得る。この発見情報は、要求エンティティとリソースディレクトリとの間のパス上に位置するネットワークノードでキャッシュされ得る。類似発見要求を検出すると、ネットワークノードは、キャッシュされた発見情報で返信し、キャッシュされた発見情報に基づいて要求を別のエンティティに転送し、または要求された発見情報を有し得る別のエンティティのアドレスまたは場所で返信し得る。【選択図】図１
2018042288.tif 000002
【特許請求の範囲】
【請求項１】
明細書に記載された発明。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の引用）
本願は、米国仮特許出願第６１／８２３，９８８号（２０１３年５月１６日出願、名称「ＥＭＢＯＤＩＭＥＮＴＳ  ＴＯ  ＰＲＯＶＩＤＥ  ＥＮＨＡＮＣＥＤ  ＤＩＳＣＯＶＥＲＹ」）の利益を主張し、上記出願の内容は、参照により本明細書に引用される。
【背景技術】
【０００２】
マシンツーマシン（Ｍ２Ｍ）技術およびインターネット等の現在のネットワークおよび通信技術は、有線および無線通信システムを使用して、デバイスが互いにより直接的に通信することを可能にする。Ｍ２Ｍ技術は、特に、一意的に識別可能なオブジェクトおよびインターネット等のネットワークを経由して互いに通信するそのようなオブジェクトの仮想表現のシステムである、モノのインターネット（ＩｏＴ）のさらなる実現を可能にする。ＩｏＴは、食料品店内の商品または家庭内の器具等のさらに日常的な毎日のオブジェクトとの通信を促進し、それによって、そのようなオブジェクトの知識を向上させることによって、費用および無駄を低減させ得る。例えば、店は、在庫中または販売された場合があるオブジェクトと通信するか、またはそこからデータを取得することができることによって、非常に精密な在庫データを維持し得る。通信可能に接続されたエンティティおよびオブジェクトの他のネットワークもまた、同様の機能性を促進し得る。
【０００３】
接続されたエンティティのＩｏＴまたは類似ネットワークを含む、ほぼあらゆる通信ネットワーク内のエンティティの各々は、通信してタスクを達成し、機能を果たすことができるように、ネットワーク内の他のエンティティを発見する機構を必要とする。現在の発見機構は、典型的には、２つの形態をとる。ディレクトリベースの発見では、ネットワーク内のエンティティがリソースを発見するために問い合わせを行い得る、ディレクトリサーバまたは他のディレクトリエンティティがある（本明細書で使用されるような「リソース」とは、ネットワーク内で利用可能な任意のデバイス、サービス、エンティティ、および任意の他の機能、能力、または「モノ」を指す）。ディレクトリサーバは、中央に位置し得るか、またはネットワークの周囲に分散させられ得る。ディレクトリレス発見では、個々のエンティティが、ネットワークまたはそのサブセクションにわたって発見要求をブロードキャストまたはマルチキャストする。リソース提供エンティティは、エンティティにおいて利用可能なリソースを報告することによって、この要求に応答する。Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ（ＩＥＴＦ）サービスロケーションプロトコル（ＳＬＰ）が使用するもの等のいくつかの実装は、ディレクトリベースおよびディレクトリレス発見の両方をサポートし得る。
【０００４】
現在の実装では、ネットワーク内のエンティティが同一のタイプのリソースを使用しようとする場合、同一のタイプのリソースに対する複数の発見要求は、リソースを提供するリソースディレクトリサーバまたはエンティティによって処理され得る。類似または同一タイプの発見要求のこの反復処理は、有意なオーバーヘッドをそのようなエンティティに追加することができ、そのようなエンティティが限定された処理、通信、電力、および／または他の能力を有する場合、エンティティの他のタスクを行う能力に影響を及ぼし得る。
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書で開示される実施形態は、接続されたエンティティのネットワーク内のネットワークノードにおいて、第１のエンティティから第１の発見要求を受信し、第１の発見要求をリソースディレクトリエンティティに伝送し、リソースディレクトリエンティティから第１の発見応答を受信し、第１の発見応答に基づいて、ネットワークノードにおいて第１の発見応答データを記憶し、第１の発見応答を第１のエンティティに伝送する方法を含む。次いで、ネットワークノードは、第２のエンティティから第２の発見要求を受信すると、第２の発見要求の発見要求データが第１の発見応答データに対応することを決定し得、したがって、第２の要求をリソースディレクトリに転送する代わりに、第１の発見応答データを含む第２の発見応答を第２のエンティティに伝送し得る。
【０００６】
本明細書で開示される実施形態はさらに、接続されたエンティティのネットワーク内のネットワークノードにおいて第１のエンティティから第１の発見要求を受信し、第１の発見要求をリソースディレクトリエンティティに伝送し、リソースディレクトリエンティティから第１の発見応答を受信し、第１の発見応答に基づいて、ネットワークノードにおいて第１の発見応答データを記憶し、第１の発見応答を第１のエンティティに伝送する命令を実行する、プロセッサを含む、ネットワークノードを含む。次いで、ネットワークノードは、第２のエンティティから第２の発見要求を受信すると、第２の発見要求の発見要求データが第１の発見応答データに対応することを決定し得、したがって、第２の要求をリソースディレクトリに転送する代わりに、第１の発見応答データを含む第２の発見応答を第２のエンティティに伝送し得る。
【０００７】
本明細書で開示される実施形態はさらに、接続されたエンティティのネットワーク内のネットワークノードにおいて第１のエンティティから第１の発見要求を受信し、第１の発見要求をリソースディレクトリエンティティに伝送し、リソースディレクトリエンティティから第１の発見応答を受信し、第１の発見応答に基づいて、ネットワークノードにおいて第１の発見応答データを記憶し、第１の発見応答を第１のエンティティに伝送する命令を実行する、プロセッサを含む、ネットワークノードを含む。次いで、ネットワークノードは、第２のエンティティから第２の発見要求を受信すると、第２の発見要求の発見要求データが第１の発見応答データに対応することを決定し得、したがって、第１のエンティティの場所を含む第２の発見応答を第２のエンティティに伝送するか、または第２の要求を第２のエンティティにリダイレクトし得る。
【０００８】
本概要は、発明を実施するための形態において以下でさらに説明される、簡略化形態の概念の選択を導入するように提供される。本概要は、請求された主題の主要な特徴または不可欠な特徴を識別することを目的としておらず、また、請求された主題の範囲を限定するために使用されることも目的としていない。さらに、請求された主題は、本開示の任意の部分で記述されるいずれかまたは全ての不利点を解決する制限に限定されない。
本発明はさらに、例えば、以下を提供する。
（項目１）
接続されたエンティティのネットワーク内のネットワークノードにおいて、第１のエンティティから第１の発見要求を受信することと、
前記ネットワークノードからリソースディレクトリエンティティへ前記第１の発見要求を伝送することと、
前記ネットワークノードにおいて、前記リソースディレクトリエンティティから第１の発見応答を受信することと、
前記第１の発見応答に基づいて、前記ネットワークノードにおいて前記第１の発見応答データを記憶することと、
前記ネットワークノードから前記第１のエンティティへ前記第１の発見応答を伝送することと、
前記ネットワークノードにおいて、第２のエンティティから第２の発見要求を受信することと、
前記ネットワークノードにおいて、前記第２の発見要求の発見要求データが前記第１の発見応答データに対応していることを決定することと、
前記ネットワークノードから前記第２のエンティティへ前記第１の発見応答データを含む第２の発見応答を伝送することと
を含む、方法。
（項目２）
第３の発見要求の発見要求データが前記第１の発見応答データに対応していることを決定することと、
前記第１のエンティティの場所を含む第３の発見応答を前記第２のエンティティに伝送することと
をさらに含む、項目１に記載の方法。
（項目３）
第３の発見要求の発見要求データが前記第１の発見応答データに対応していることを決定することと、
前記第３の発見要求を前記第１のエンティティに伝送することと
をさらに含む、項目１に記載の方法。
（項目４）
第３のエンティティから第３の発見応答を受信することと、
前記第３の発見応答の第２の発見応答データの第１のサブセットが、前記第１の発見応答データの第１のサブセットに対応していることを決定することと、
前記第２の発見応答データの第２のサブセットを含むように前記第１の発見応答データを修正することによって、前記第２の発見応答データの前記第２のサブセットを記憶することと
をさらに含む、項目１に記載の方法。
（項目５）
第３のエンティティから第３の発見応答を受信することと、
前記第３の発見応答の第２の発見応答データの第１のサブセットを決定することと、
前記第２の発見応答データの第１のサブセットを記憶することと
をさらに含む、項目１に記載の方法。
（項目６）
前記第１の発見応答データにおいて識別されたサービスに関連付けられたサービス提供エンティティの識別子を含むメッセージを受信することであって、前記メッセージは、前記サービス提供エンティティがサービスを提供することが可能であることを示す、ことと、
前記サービス提供エンティティの前記識別子を含むように前記第１の発見応答データを修正することによって、前記サービス提供エンティティの前記識別子を記憶することと
をさらに含む、項目１に記載の方法。
（項目７）
前記第１の発見応答データにおいて識別されたサービスに関連付けられたサービス提供エンティティの識別子を含むメッセージを受信することであって、前記メッセージは、前記サービス提供エンティティがサービスを提供することが可能ではないことを示す、ことと、
前記第１の発見応答データがサービス提供エンティティの前記識別子を含むことを決定することと、
前記第１の発見応答データから前記サービス提供エンティティの前記識別子を削除することと
をさらに含む、項目１に記載の方法。
（項目８）
接続されたエンティティのネットワーク内のネットワークノードであって、前記ネットワークノードは、
コンピュータ読み取り可能な命令を実行するように適合された第１のプロセッサと、
前記第１のプロセッサに通信可能に連結された第１のメモリと
を備え、
前記第１のメモリは、コンピュータ読み取り可能な命令を記憶しており、前記命令は、前記第１のプロセッサによって実行されると、
前記接続されたエンティティのネットワーク内の第１のエンティティから第１の発見要求を受信することと、
前記第１の発見要求をリソースディレクトリエンティティに伝送することと、
前記リソースディレクトリエンティティから第１の発見応答を受信することと、
前記第１の発見応答に基づいて前記第１の発見応答データを記憶することと、
前記第１の発見応答を前記第１のエンティティに伝送することと、
前記接続されたエンティティのネットワーク内の第２のエンティティから第２の発見要求を受信することと、
前記第２の発見要求の発見要求データが前記第１の発見応答データに対応していることを決定することと、
前記第１の発見応答データを含む第２の発見応答を前記第２のエンティティに伝送することと
を含む動作を前記プロセッサに行わせる、ネットワークノード。
（項目９）
前記動作は、
第３の発見要求の発見要求データが前記第１の発見応答データに対応していることを決定することと、
前記第１のエンティティの場所を含む第３の発見応答を前記第２のエンティティに伝送することと
をさらに含む、項目８に記載のネットワークノード。
（項目１０）
前記動作は、
第３の発見要求の発見要求データが前記第１の発見応答データに対応していることを決定することと、
前記第３の発見要求を前記第１のエンティティに伝送することと
をさらに含む、項目８に記載のネットワークノード。
（項目１１）
前記動作は、
第３のエンティティから第３の発見応答を受信することと、
前記第３の発見応答の第２の発見応答データの第１のサブセットが前記第１の発見応答データの第１のサブセットに対応していることを決定することと、
前記第２の発見応答データの第２のサブセットを含むように前記第１の発見応答データを修正することによって、前記第２の発見応答データの前記第２のサブセットを記憶することと
をさらに含む、項目８に記載のネットワークノード。
（項目１２）
前記動作は、
第３のエンティティから第３の発見応答を受信することと、
前記第３の発見応答の第２の発見応答データの第１のサブセットを決定することと、
前記第２の発見応答データの第１のサブセットを記憶することと
をさらに含む、項目８に記載のネットワークノード。
（項目１３）
前記動作は、
前記第１の発見応答データにおいて識別されたサービスに関連付けられたサービス提供エンティティの識別子を含むメッセージを受信することであって、前記メッセージは、前記サービス提供エンティティがサービスを提供することが可能であることを示す、ことと、
前記サービス提供エンティティの前記識別子を含むように前記第１の発見応答データを修正することによって、前記サービス提供エンティティの前記識別子を記憶することと
をさらに含む、項目８に記載のネットワークノード。
（項目１４）
前記動作は、
前記第１の発見応答データにおいて識別されたサービスに関連付けられたサービス提供エンティティの識別子を含むメッセージを受信することであって、前記メッセージは、前記サービス提供エンティティがサービスを提供することが可能ではないことを示す、ことと、
前記第１の発見応答データがサービス提供エンティティの前記識別子を含むことを決定することと、
前記第１の発見応答データから前記サービス提供エンティティの前記識別子を削除することと
をさらに含む、項目８に記載のネットワークノード。
（項目１５）
接続されたエンティティのネットワーク内のエンティティであって、前記エンティティは、
コンピュータ読み取り可能な命令を実行するように適合された第１のプロセッサと、
前記第１のプロセッサに通信可能に連結された第１のメモリと
を備え、
前記第１のメモリは、コンピュータ読み取り可能な命令を記憶しており、前記命令は、前記第１のプロセッサによって実行されると、
前記接続されたエンティティのネットワーク内の第１のエンティティから第１の発見要求を受信することと、
前記第１の発見要求をリソースディレクトリエンティティに伝送することと、
前記リソースディレクトリエンティティから第１の発見応答を受信することと、
前記第１の発見応答に基づいて前記第１の発見応答データを記憶することと、
前記第１の発見応答を前記第１のエンティティに伝送することと、
前記接続されたエンティティのネットワーク内の第２のエンティティから第２の発見要求を受信することと、
前記第２の発見要求の発見要求データが前記第１の発見応答データに対応していることを決定することと、
前記第１の発見応答データを含む第２の発見応答を前記第２のエンティティに伝送することと
を含む動作を前記プロセッサに行わせる、エンティティ。
（項目１６）
前記動作は、
第３の発見要求の発見要求データが前記第１の発見応答データに対応していることを決定することと、
前記第１のエンティティの場所を含む第３の発見応答を前記第２のエンティティに伝送することと
をさらに含む、項目８に記載のエンティティ。
（項目１７）
前記動作は、
第３の発見要求の発見要求データが前記第１の発見応答データに対応していることを決定することと、
前記第３の発見要求を前記第１のエンティティに伝送することと
をさらに含む、項目８に記載のエンティティ。
（項目１８）
前記動作は、
第３のエンティティから第３の発見応答を受信することと、
前記第３の発見応答の第２の発見応答データの第１のサブセットが前記第１の発見応答データの第１のサブセットに対応していることを決定することと、
前記第２の発見応答データの第２のサブセットを含むように前記第１の発見応答データを修正することによって、前記第２の発見応答データの前記第２のサブセットを記憶することと
をさらに含む、項目８に記載のエンティティ。
（項目１９）
前記動作は、
第３のエンティティから第３の発見応答を受信することと、
前記第３の発見応答の第２の発見応答データの第１のサブセットを決定することと、
前記第２の発見応答データの第１のサブセットを記憶することと
をさらに含む、項目８に記載のエンティティ。
（項目２０）
前記動作は、
前記第１の発見応答データにおいて識別されたサービスに関連付けられたサービス提供エンティティの識別子を含むメッセージを受信することであって、前記メッセージは、前記サービス提供エンティティがサービスを提供することが可能であることを示す、ことと、
前記サービス提供エンティティの前記識別子を含むように前記第１の発見応答データを修正することによって、前記サービス提供エンティティの前記識別子を記憶することと
をさらに含む、項目８に記載のエンティティ。
【図面の簡単な説明】
【０００９】
【図１】図１は、改善されたリソース発見の実施形態が実装され得る、例示的なシステムを図示する。
【図２】図２は、改善されたリソース発見の実施形態を実装するための例示的なプロセスを実証する、信号フローを図示する。
【図３】図３は、改善されたリソース発見の実施形態が実装され得る、例示的なシステムを図示する。
【図４】図４は、改善されたリソース発見の実施形態で使用され得る、例示的なメッセージ形式を図示する。
【図５】図５は、改善されたリソース発見の実施形態を実装するための例示的なプロセスを実証する、信号フローを図示する。
【図６】図６は、改善されたリソース発見の実施形態が実装され得る、例示的なシステムを図示する。
【図７】図７は、改善されたリソース発見の実施形態で使用され得る、例示的なメッセージ形式を図示する。
【図８】図８は、改善されたリソース発見の実施形態を実装するための例示的なプロセスを実証する、信号フローを図示する。
【図９】図９は、改善されたリソース発見の実施形態が実装され得る、例示的なシステムを図示する。
【図１０】図１０は、改善されたリソース発見の実施形態を実装するための例示的なプロセスを実証する、信号フローを図示する。
【図１１】図１１は、改善されたリソース発見の実施形態が実装され得る、例示的なシステムを図示する。
【図１２】図１２は、改善されたリソース発見の実施形態を実装するための例示的なプロセスを実証する、信号フローを図示する。
【図１３】図１３は、改善されたリソース発見の実施形態が実装され得る、例示的なシステムを図示する。
【図１４】図１４は、改善されたリソース発見の実施形態を実装するための例示的なプロセスを実証する、信号フローを図示する。
【図１５】図１５は、改善されたリソース発見の実施形態で発見データを記憶するために使用され得る、例示的な構造を図示する。
【図１６】図１６は、改善されたリソース発見の実施形態を実装する例示的な方法を図示する。
【図１７】図１７は、改善されたリソース発見の実施形態を実装する例示的な方法を図示する。
【図１８】図１８は、改善されたリソース発見の実施形態を実装する例示的な方法を図示する。
【図１９】図１９は、改善されたリソース発見の実施形態で使用され得る、例示的なメッセージ形式を図示する。
【図２０】図２０は、改善されたリソース発見の実施形態が実装され得る、例示的なシステムを図示する。
【図２１Ａ】図２１Ａは、１つ以上の開示された実施形態が図示され得る、例示的マシンツーマシン（Ｍ２Ｍ）またはモノのインターネット（ＩｏＴ）通信システムの系統図である。
【図２１Ｂ】図２１Ｂは、図１２Ａで図示されるＭ２Ｍ／ＩｏＴ通信システム内で使用され得る、例示的アーキテクチャの系統図である。
【図２１Ｃ】図２１Ｃは、図１２Ａで図示される通信システム内で使用され得る、例示的Ｍ２Ｍ／ＩｏＴ端末またはゲートウェイデバイスの系統図である。
【図２１Ｄ】図２１Ｄは、図１２Ａの通信システムの側面が具現化され得る、例示的コンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１０】
明細書に記載される実施形態は、表現状態転送（ＲＥＳＴ）アーキテクチャに関して説明され得、説明される構成要素およびエンティティは、ＲＥＳＴアーキテクチャ（ＲＥＳＴｆｕｌアーキテクチャ）の制約に従う。ＲＥＳＴｆｕｌアーキテクチャは、物理的構成要素の実装または使用される通信プロトコルに関するよりもむしろ、アーキテクチャで使用される構成要素、エンティティ、コネクタ、およびデータ要素に適用される制約に関して説明される。したがって、構成要素、エンティティ、コネクタ、およびデータ要素の役割および機能は、一意的にアドレス可能なリソースの表現が、エンティティ間で転送され得る、ＲＥＳＴｆｕｌアーキテクチャを使用して説明され得る。しかしながら、本明細書に記載される他の環境で実装され得る、多くの他の実施形態が考慮される。例えば、本開示の実施形態は、サービス指向アーキテクチャ（ＳＯＡ）またはリソースの発見を可能にする任意の他のアーキテクチャあるいは抽象化に関して定義または説明されるアーキテクチャで実装され得る。
【００１１】
当業者であれば、本実施形態の実装が、本開示の範囲内にとどまりながら変動し得ることを認識するであろう。当業者であれば、開示された例示的実施形態は、本明細書では時としてＥｕｒｏｐｅａｎ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｔａｎｄａｒｄｓ
Ｉｎｓｔｉｔｕｔｅ（ＥＴＳＩ）Ｍ２Ｍアーキテクチャを参照して説明される一方で、ＥＴＳＩ  Ｍ２Ｍアーキテクチャを使用する実装に限定されないことも認識するであろう。開示された実施形態は、ｏｎｅＭ２Ｍ、ならびに他のＭ２Ｍシステムおよびアーキテクチャ等の接続されたエンティティを有する、他のアーキテクチャおよびシステムで実装され得る。開示された実施形態はまた、より一般的には、コンピュータネットワーク、および１つ以上のコンピュータネットワークを有するシステムに適用可能であり得る。例えば、開示された実施形態は、インターネット上で、または相互接続されたデバイスを含む任意のネットワーク内で、ルータ、ハブ、ゲートウェイ、またはサーバにおいて実装され得る。全てのそのような実施形態は、本開示の範囲内と見なされる。
【００１２】
現在のリソース発見機構に存在する問題に対処するために、本開示は、通信可能に接続されたエンティティの任意のネットワークまたは集合で使用され得る、いくつかの実施形態を説明するであろう。開示された実施形態の多くでは、発見要求者とリソースディレクトリまたはリソース提供エンティティとの間のパスに沿った中間ノードにおけるネットワーク内記憶装置が使用され得る。例えば、本明細書でさらに詳細に説明されるように、発見要求をリソースディレクトリまたはリソース提供エンティティに転送する代わりに、そのような要求に返信し得る中間ノードにおける発見結果キャッシングを使用して、より効率的なリソース発見が実装され得る。他の実施形態では、キャッシュされた発見結果をリソースディレクトリまたはリソース提供エンティティに近いノードに知らせるために、中間ノードによる発見結果のブロードキャストが使用され得る。なおも他の実施形態では、リソースディレクトリ、リソース提供エンティティ、および／または中間ノードは、要求者の指示を含む発見要求を記録に残し得る。後に、同一または類似発見要求がノード、ディレクトリ、またはエンティティによって受信された場合、それは、前の要求者が要求された発見結果を有し得ることを要求者に通知し得るか、または要求を前の要求者に転送し得る。
【００１３】
他の実施形態は、キャッシュされた発見結果の更新修正を可能にする。例えば、実施形態では、キャッシュされた発見結果が無効または不完全になった場合、キャッシングディレクトリ、エンティティ、またはノードは、キャッシュされた発見結果の有用性を延長するために、ネットワーク内の情報の公開および非公開に基づいて、キャッシュされた発見結果を修正し得る。中間ノードはまた、複数のリソースディレクトリまたはリソース提供エンティティから発見結果を受信し得、リソースの読み出しおよび配信に対する複数のリソースプロバイダ間の負荷バランシングを提供するために、そのような結果を組み合わせ得る。代替として、中間ノードは、発見結果全体を記憶しないこともあり、その一部分のみをキャッシュし得る。例示的なメッセージおよびプロシージャが、これらの機構を可能にするように本開示で定義される。本開示では、ＳＬＰが、本開示で説明される例示的実施形態を例証するためにいくつかの実施例で使用され得るが、開示された実施形態を実装するための他のプロトコルおよび機構が、本開示の範囲内と見なされる。
【００１４】
本開示の全体を通して、種々の実施形態の例証に使用される例示的リソースは、監視ビデオコンテンツのプロバイダであろうことに留意されたい。これは、多くの実施形態のうちの１つにすぎず、例示的な目的のみで本明細書で使用される。開示された実施形態は、任意のリソース、サービス、エンティティ、デバイス等に適用可能であり得、いかなる実施形態への制限も本実施例の使用によって意図されない。
【００１５】
図１は、本明細書で開示される実施形態をサポートし得る、例示的アーキテクチャ１００を図示する。図１に関して説明される種々のエンティティは、例証目的のみで使用され、他のアーキテクチャおよび構成が考慮されることに留意されたい。説明される種々のエンティティは、本明細書で説明されようと、または別様に説明されようと、任意の数および組み合わせのデバイスおよびソフトウェアを使用して実装され得、任意のネットワーク、ネットワークの一部等の中に位置し得、任意の他のエンティティと相互接続および／または通信し得る。全てのそのような実施形態は、本開示の範囲内と見なされる。
【００１６】
発見要求が、例えば、エンティティ１１１−１１３のうちの１つ等のエッジネットワークまたは無線アクセスネットワーク（ＲＡＮ）１１０内のエンティティによって伝送され得る。この発見要求は、リソースディレクトリ１３０にアドレス指定されるか、または別様に向かわせられ得る。発見要求は、最初に、コアネットワーク１２０内のゲートウェイ１２１において受信され得、次いで、リソースディレクトリ１３０への要求の配信を促進する、ノード１２２−１２９の任意の組み合わせ等の１つ以上の中間ノードを横断し得る。次いで、リソースディレクトリ１３０は、要求エンティティに向かわせられ発見結果で返信し得る。発見結果が、ノード１２２−１２９の任意の組み合わせおよびゲートウェイ１２１によって要求エンティティに転送されている間に、これらのノードのうちのいずれかおよび／またはゲートウェイ１２１は、発見結果、またはそのある部分をキャッシュし得る。アーキテクチャ１００内の各ノードおよびゲートウェイは、各ノードまたはゲートウェイが決定するように構成され得る任意の基準に基づいて、あるいはそのようなノードおよびゲートウェイの構成に基づいて、発見結果をキャッシュすべきかどうかを独立して別個に決定し得る。同一または類似発見要求が、発見結果をキャッシュしたノード１２２−１２９のうちの１つまたはゲートウェイ１２１によって受信されると、そのようなエンティティは、要求をリソースディレクトリ１３０に転送することなく、キャッシュされたデータで要求自体に返信し得る。これは、リソースディレクトリ１３０が同一または類似発見要求を複数回取り扱うことを防止することによって、リソースディレクトリ１３０への負荷を低減させ、さらに、リソースディレクトリ１３０へのパスのリンクにわたる反復リソース発見要求および応答を除去することによって、そのパス上のネットワーク帯域幅を節約する。そのような発見要求に応答した中間ノードは、発リソースディレクトリ１３０に見要求をそれに通知する通知を送信し得るか、またはそれが返信したいくつかの発見要求に対する複合通知を送信し得る。これは、リソースが発見された回数に基づいて、リソースディレクトリ１３０がリソースの評判を決定することを可能にし得る。
【００１７】
実施形態では、発見要求は、異なるタイプのリソース発見を示す、１つ以上の識別子を含む構造であり得る発見キーフィールドを含み得る。本明細書でさらに詳細に議論されるように、種々の可能な識別子は、発見のタイプ、スコープ、述語、および／またはタイプおよびスコープの組み合わせを示し得る。実施形態では、発見キーフィールドのコンテンツは、発見応答において要求者にエコーバックされ得る。発見キーフィールドは、リソースディレクトリ１３０等のリソースディレクトリによって認識され得る、任意のデータまたは指標を含み得る。例えば、データコンテンツがアプリケーションによって提供される場合、要求者が関心を持つデータに関連付けられるキーワード、要求されたデータのタイプ、および／または要求されたデータが収集および／または記憶される場所が、フィールド内にあり得る。例えば、要求は、要求者がＭ２Ｍおよび／またはＩｏＴリソースからの監視ビデオコンテンツに関心を持っていることを示し得る。発見キーフィールドはまた、あるいは代わりに、例えば、ホスティング場所と組み合わせられたコンテンツの識別子を含むことによって、要求されたコンテンツのキャッシング場所を示す、１つ以上の識別子を含み得る。発見キーフィールドは、さらに、あるいは代わりに、サービスプロバイダを示す１つ以上の識別子を含み得、いくつかの実施形態では、サービスのホスティング場所と組み合わせられたサービスの識別子を含み得る。発見キーフィールドは、さらに、あるいは代わりに、サービスのタイプ、および要求者の目的とする場所（要求者の場所であり得る）を示す、１つ以上の識別子を含み得、要求者に最も近いサービスプロバイダの決定を可能にする。
【００１８】
図２は、リソース発見のための例示的な信号およびプロシージャを図示する、例示的な非限定的信号フロー２００を示す。２１１では、エンティティ２１０が、リソースディレクトリ２６０にアドレス指定された見要求を送信し得、それは、ゲートウェイ２４０において受信され得る。発見要求２１１は、例えば、発見キーフィールドの中に要求されたサービスに関連付けられるデータを含み得る。例えば、発見要求２１１は、要求されたコンテンツを要求するエンティティの場所、および／または要求されたコンテンツの識別子を示し得る（ほとんどの実施形態では、地理的な場所よりもむしろ、アドレスのような論理的場所またはアクセスの手段であるが、地理的な場所の実施形態も考慮される）。一実施例では、発見要求２１１は、要求者が監視ビデオコンテンツリソースを発見したいことを示し得る。
【００１９】
ゲートウェイ２４０は、発見要求２１１を受信すると、要求されたリソースに対するリソース情報をローカルでキャッシュしていないことを決定し得、それに応答して、発見要求２１２を生成し、中間ノード２５０に送信し得、中間ノード２５０は、発見要求２１３として要求をリソースディレクトリ２６０に中継し得る。リソースディレクトリ２６０は、発見応答２１４で返信し得、それは、中間ノード２５０に送信され、中間ノード２５０は、発見応答２１６として応答を中継し、発見応答２１６は、発見応答２１８としてエンティティ２１０にさらに送り返される。実施例では、発見応答２１４は、監視ビデオコンテンツリソースのアドレスまたは場所を示し得る。
【００２０】
発見応答２１４を受信すると、ブロック２１５では、中間ノード２５０は、類似発見要求に応答する際の将来の使用のために、発見応答２１４またはそのある部分をキャッシュすることを決定し得る。同様に、ゲートウェイ２４０も、発見応答２１６を受信すると、類似発見要求に応答する際の将来の使用のために、発見応答２１４またはそのある部分をキャッシュすることを決定し得る。
【００２１】
２１９では、エンティティ２２０が、発見要求２１１と同一であるか、または類似する発見要求を送信し得る。例えば、発見要求２１９は、発見要求２１１と同一のコンテンツ場所識別子を含み得る。代替として、または加えて、要求は、一実施例では、エンティティ２２０が、要求２１１の中で示されるエンティティ２１０と同一の監視ビデオコンテンツリソースに関心を持っていることを示し得る。エンティティ２２０はまた、発見要求２１１を送信したエンティティ２１０と同一のゲートウェイ、すなわち、ゲートウェイ２４０を使用し得る。しかしながら、ゲートウェイ２４０が、ブロック２２１で、エンティティ２１０の発見要求２１１に対する発見応答をキャッシュしたため、ゲートウェイ２４０は、発見要求２１９を受信することに応答して、エンティティ２２０に送信される発見応答２２２を生成し得る。これは、ネットワークを通して発見要求をリソースディレクトリ２６０に転送する必要性を除去し、したがって、中間ノード２５０およびリソースディレクトリ２６０等のそのような要求を処理することにそうでなければ関与したであろう要素上のいくらかのオーバーヘッドおよび負担を除去する。実施例では、発見応答２２２は、応答２１４において監視ビデオコンテンツリソースのアドレスまたは場所を受信したときに、ゲートウェイ２４０がキャッシュした監視ビデオコンテンツリソースのアドレスまたは場所を示し得る。監視ビデオコンテンツリソースアドレスまたは場所の発見、要求、および要求への応答、ならびに任意の他のリソースまたはサービスの発見、要求、および要求への応答が、開示された実施形態のうちのいずれかで使用され得ることに留意されたい。全てのそのような実施形態は、本開示の範囲内と見なされる。
【００２２】
２２３では、エンティティ２３０が、発見要求２１１と同一であるか、または類似する発見要求を送信し得る。例えば、発見要求２２３は、発見要求２１１と同一のコンテンツ場所識別子を含み得る。エンティティ２３０は、発見要求２１１を送信したエンティティ２１０と同一のゲートウェイ、すなわち、ゲートウェイ２４０を使用しないこともある。したがって、発見要求２２３は、ゲートウェイ２４０を迂回し得る。しかしながら、エンティティ２３０からソースディレクトリ２６０までのパスは、エンティティ２１０の発見要求２１１に対する発見応答をキャッシュした中間ノード２５０を横断し得る。したがって、ブロック２２４では、中間ノード２５０が、発見要求２２３を受信することに応答して、エンティティ２３０に送信される発見応答２２５を生成し得る。これは、ネットワークを通して発見要求をリソースディレクトリ２６０に転送する必要性を除去し、したがって、他の中間ノードおよびリソースディレクトリ２６０等のそのような要求を処理することにそうでなければ関与したであろう要素上のいくらかのオーバーヘッドおよび負担を除去する。
【００２３】
実施形態では、中間ノードは、発見結果をキャッシュし、結果および／または関連情報をそのネットワークまたはそのネットワークのサブセクション内のエンティティにブロードキャストし得る。ブロードキャストされる情報は、ブロードキャストによって公表されているリソースの特性を示すデータを本明細書で説明されるような発見キーフィールドの中に含み得る。ブロードキャストオーバーヘッドを低く保つために、中間ノードは、ブロードキャストが伝送され得るインターフェースを選択し得、ブロードキャストが送信され得るホップの数を特定することによって、ブロードキャスト区域を制限し得る。
【００２４】
図３は、そのような実施形態をサポートし得る、例示的アーキテクチャ３００を図示する。本実施例では、中間ノード３２７は、発見応答をキャッシュしており、インターフェースを通して関連発見情報を中間ノード３２９、３２６、および３２４にブロードキャストし得るが、インターフェースを通して情報を中間ノード３２８にブロードキャストしないこともある。中間ノード３２７は、中間ノード３２９、３２６、および３２４が情報をそれらの近隣にさらに転送しないように、情報が送信され得るホップの数を制限し得る（例えば、１つのホップ）。したがって、本実施例では、中間ノード３２７、３２９、３２６、および３２４のうちのいずれかを横断する任意の発見要求が、そのノードにおけるキャッシュされた情報を使用して、アドレス指定され得る。例えば、中間ノード３２７、３２９、３２６、および３２４のうちのいずれかに記憶された、キャッシュされた発見応答の発見キーフィールドデータに合致する、エッジネットワーク３１０内のエンティティ３１１−３１３のうちのいずれか、またはコアネットワーク３２０に進入するエンティティ３４０、３５０、および３６０からの任意の発見要求が、キャッシュされた情報を用いてノードによってアドレス指定され得る。残りのノード３２１、３２２、３２３、および３２５は、単純に、それらが通常するであろうようにそのようなトラフィックを中継し得るが、さらに、たとえそのような応答がキャッシュされた発見応答データを使用するノードで生じたとしても、検出される応答をキャッシュし得る。代替として、本明細書でさらに詳細に説明されるように、開示された実施形態を使用して、そのようなノードは、要求をアドレス指定するために、その要求を、キャッシュされた発見応答または関連情報をキャッシュしているノードに転送し得る。
【００２５】
実施形態では、ブロードキャスト発見応答が、図４の例示的な非限定的ブロードキャストメッセージ４００として送信され得る。メッセージ４００では、フィールドブロードキャストＩＤ４１０は、ブロードキャストメッセージの識別子であり得る。ブロードキャストＩＤ４１０は、ブロードキャストメッセージ４００を生じたエンティティのインターネットプロトコル（ＩＰ）アドレス等の識別子を含み得る。メッセージ４００は、フィールド発見キー４２０も含み得、フィールド発見キー４２０は、キャッシュされた発見応答から抽出され得、本明細書で開示されるような発見キーフィールドデータを含み得る。メッセージ４００はまた、メッセージおよび／またはその中に含まれる情報の状態を示し得るフィールド状態４３０を含み得る。例えば、状態４３０は、メッセージ４００が、新たにキャッシュされた発見結果を隣接ノードに通知するためのブロードキャストメッセージであることを示し得るか、またはメッセージ４００が、以前に提供された発見結果を削除することを目的としているブロードキャストメッセージであることを示し得る。メッセージ４００はまた、キャッシュされた発見応答がどれだけの期間有効であると見なされるべきかを示し得る、フィールド寿命４４０を含み得る。寿命は、発見情報をブロードキャストしているノードによって推定され得る。寿命は、時間量（例えば、１時間、１日等）、またはキャッシュされた発見応答の期限が切れる特定の時刻（例えば、特定の日の正午）を含む、任意の形態で提供され得る。メッセージ４００はさらに、ブロードキャストメッセージが伝搬されるであろうホップの数を指定し得る、フィールドホップ４５０を含み得、したがって、キャッシュされた発見応答または関連情報の伝送区域を制限する手段を提供する。
【００２６】
図５は、発見応答または関連情報をブロードキャストするための例示的な信号およびプロシージャを図示する、例示的な非限定的信号フロー５００を示す。ブロック５１１では、中間ノード５４０が、リソースディレクトリ５９０で生成された発見結果をキャッシュし得る。同様に、５１２では、ゲートウェイ５３０もまた、リソースディレクトリ５９０で生成された同一の発見結果をキャッシュし得る。ゲートウェイ５３０は、実施形態では、図４のメッセージ形式を使用して、発見結果または関連情報をブロードキャストし得る。メッセージのホップフィールドは、単一のホップを示し得、したがって、１つだけの他の中間ノード、すなわち、中間ノード５５０に直接接続され得るゲートウェイ５３０は、５１４で、発見結果情報を伴うメッセージを中間ノード５５０にブロードキャストし得る。中間ノード５４０は、中間ノード５６０、５７０、および５８０に直接接続され得、したがって、５１３で、図４のメッセージ形式を使用して、発見結果または関連情報をこれらのノードの各々にブロードキャストし得る。したがって、中間ノード５５０が、発見結果情報を有し得、かつゲートウェイ５３０が情報を有することを把握し得る一方で、中間ノード５６０、５７０、および５８０の各々は、発見結果情報を有し得、かつ中間ノード５４０が情報を有することを把握し得る。
【００２７】
５１５では、エンティティ５１０が、中間ノード５４０およびゲートウェイ５３０に記憶された、キャッシュされた発見結果情報に対応する（すなわち、それと同一の発見キーフィールド情報を有する）発見要求を送信し得る。発見要求５１５が中間ノード５５０に到達するとき、一実施形態では、中間ノード５５０は、そのキャッシュされた発見情報を使用して返信し得るが、別の実施形態では、中間ノード５５０は、ブロードキャスト５１４を受信することによって決定される、ゲートウェイ５３０がキャッシュされた発見結果情報を有するという知識に基づいて、５１６で要求をゲートウェイ５３０に転送し得る。ゲートウェイ５３０は、５１７で、キャッシュされた情報を使用して発見応答を生成し得、５１８で、それを要求エンティティ５１０に送信し得る。
【００２８】
中間ノード５４０およびゲートウェイ５３０に記憶された、キャッシュされた発見結果情報に対応する（すなわち、それと同一の発見キーフィールド情報を有する）類似発見要求が、エンティティ５２０によって伝送され得る。この要求が中間ノード５６０に到達すると、このノードは、ブロードキャスト５１３を受信することによって決定される、中間ノード５４０がキャッシュされた発見結果情報を有するという知識に基づいて、５２１で要求を中間ノード５４０に転送し得る。中間ノード５４０は、５２２で、キャッシュされた情報を使用して発見応答を生成し得、５２２で、それを要求エンティティ５２０に送信し得る。
【００２９】
発見要求が中間ノードまたはリソースディレクトリによって転送または応答されるとき、要求および／または応答は、別の中間ノードまたはリソースディレクトリによって記録され得る。記録された発見要求は、要求が応答された後の短期間で要求者が発見応答を有するであろうという指示としての機能を果たし得る。後に、同一または類似発見要求が、最初の応答を記録したノードまたはリソースディレクトリに転送されるか、またはそれによって受信される場合、最初の要求を送信した前の要求者が発見結果を有し得ることを要求者に通知し得る。代替として、最初の応答を記録したノードまたはリソースディレクトリは、要求を前の要求者に転送し得る。そのような実施形態では、ノードにおいてキャッシュされた情報をもたらし得る要求を受信したこれらのノードを追跡するために、中間ノードおよび／またはリソースディレクトリが、本明細書で説明されるような情報を捕捉する記録を維持し得る。
【００３０】
図６は、そのような実施形態をサポートし得る、例示的アーキテクチャ６００を図示する。エッジネットワーク６１０のエンティティ６１１は、発見要求をリソースディレクトリ６３０に送信し得る。リソースディレクトリ６３０は、この要求の記録を維持し得る。そのような記録の維持、および将来の類似要求を処理するか、またはこれらの要求を前の要求者に向かわせるかどうかを決定するために必要とされる処理は、そのような記録を維持するリソースディレクトリまたは他のエンティティのわずかではない量のリソースを消費し得ることに留意されたい。したがって、実施形態では、リソースディレクトリまでのパスに沿ったある場所で構成され得る、プロキシノードが使用され得る。このプロキシは、そのような記録を維持し、発見情報のキャッシュされたコピーを使用して、応答するために、要求がリソースディレクトリによって取り扱われるか、または前の要求者に迂回させられるかどうかを決定し得る。例えば、ノード６２９は、リソースディレクトリ６３０の直前にあるため、プロキシノードとしての機能を果たし得る。代替として、ノード６２３、６２５、６２６、６２８のうちの１つおよび／またはゲートウェイ３２１等のコアネットワーク６２０のネットワークエッジにより近いノードが、プロキシノードとしての機能を果たし得る。代替として、プロキシノードは、リソースディレクトリ６３０のためのプロキシとしてのみ機能する、専用デバイスまたはエンティティであり得る。全てのそのような実施形態は、本開示の範囲内と見なされる。
【００３１】
エンティティ６１１がその発見要求を送信した後、エンティティ６１２は、エンティティ６１１によって送信される要求と同一の発見キーフィールド情報を有する、後続の発見要求を送信し得る。この要求を受信すると、リソースディレクトリ６３０は、要求を処理して結果自体を送信する代わりに、エンティティ６１１が発見結果を有することをエンティティ６１２に知らせ得る。したがって、エンティティ６１２は、エンティティ６１１から結果を読み出し得、リソースディレクトリ６３０が、結果を再度決定するか、または記憶装置からそのような情報を引き出すために追加のリソースを使用することを防ぐ。
【００３２】
一実施形態では、エンティティ６１１が要求された発見情報を有することをエンティティ６１２に示す、リソースディレクトリ６３０によって送信されるメッセージは、図７でメッセージ７００に対して示される形式で送信され得る。発見キーフィールド７２０は、両方の要求と同一の発見キーフィールドデータを有し得、それが以前に要求されたものと同一の発見キーフィールドデータであることを要求者に対して確認する働きをし得る。場所フィールド７３０は、記録された発見要求に基づいて決定されるような、発見結果を有し得るエンティティの１つ以上の潜在的な場所の指示を提供し得る。通知ＩＤ７１０は、本実施例ではリソースディレクトリ６３０である、メッセージ７００を生じたエンティティのＩＰアドレス等の識別子を含み得る、メッセージ７００の識別子であり得る。
【００３３】
図８は、要求された発見情報を有し得る別のエンティティに要求者をリダイレクトするための例示的な信号およびプロシージャを図示する、例示的な非限定的信号フロー８００を示す。８１１では、エンティティ８１０が、発見要求をリソースディレクトリ８４０に伝送し得る。しかしながら、この要求は、ネットワーク内の任意のエンティティまたはデバイスであり得る、リソースディレクトリプロキシ８３０によって途中で捕獲され得る。８１２では、リソースディレクトリプロキシ８３０は、例えば、同一の発見キーフィールドデータを伴う以前の要求の記録がないことに基づいて、要求がリソースディレクトリ８４０に中継されるべきであると決定し得る。次いで、要求は、８１３でリソースディレクトリ８４０に中継され、発見応答８１４は、リソースディレクトリプロキシ８３０に伝送され、リソースディレクトリプロキシ８３０は、８１５で、エンティティ８１０に送信されている応答の記録を作る。８１６では、発見応答がエンティティ８１０に提供される。
【００３４】
後に、エンティティ８２０が、要求８１１と同一の発見キーフィールドデータを伴う要求８１７を伝送し得る。要求８１７はまた、例えば、同一の発見キーフィールドデータを伴う以前の要求８１１または応答８１４の記録を有することに基づいて、要求は、リソースディレクトリプロキシ８３０によって途中で捕獲され得、リソースディレクトリプロキシ８３０は、リソースディレクトリ８４０よりもむしろ要求エンティティ８１０によって取り扱われ得ることをブロック８１８で決定し得る。次いで、リソースディレクトリプロキシ８３０は、エンティティ８２０に暗示的発見結果通知８１９を伝送し得、エンティティ８２０は、メッセージ８１９の中の情報を使用し、エンティティ８１０が要求を処理するべきであると決定し得る。次いで、エンティティ８２０は、発見結果を読み出す要求８２１を伝送し得、８２２で結果を受信し得る。
【００３５】
代替として、要求された発見情報を有し得る他のエンティティに要求者をリダイレクトするよりもむしろ、いくつかの実施形態では、要求自体がそのようなエンティティにリダイレクトされ得る。図９は、そのような実施形態をサポートし得る、例示的アーキテクチャ９００を図示する。エッジネットワーク９１０のエンティティ９１１は、発見要求をリソースディレクトリ９３０に送信し得る。ノード９２４は、この要求の記録を維持し得、後のある時点で、エンティティ９１１が、要求に応答してリソースディレクトリ９３０によって生成される発見結果を有するであろうと暗黙に仮定する。後に、エンティティ９１２が、同一の発見キーフィールドデータを有する、類似発見要求を送信し得る。この要求は、ノード９２４を含み得るパスを移動し得る。この要求を受信し、それが同一の発見キーフィールドデータを有するエンティティ９１１によって送信された要求の記録を有すると決定することに応答して、ノード９２４は、要求をリソースディレクトリ９３０に転送するよりもむしろ、それをエンティティ９１１にリダイレクトし得る。次いで、エンティティ９１１は、リソースディレクトリ９３０から送信され、それが受信した、記憶された発見結果データで要求に返信し得る。
【００３６】
図１０は、要求された発見情報を有し得る別のエンティティに要求をリダイレクトするための例示的な信号およびプロシージャを図示する、例示的な非限定的信号フロー１０００を示す。エンティティ１０１０は、発見要求１０１１をリソースディレクトリ１０４０に送信し得る。中間ノード１０３０は、エンティティ１０１０とリソースディレクトリ１０４０との間のパスの中にあり得、したがって、ブロック１０１２で要求１０１１の記録を観察して記憶し得る。後に、エンティティ１０２０が、同様に中間ノード１０３０を横断し得る、要求１０１１と同一の発見キーフィールドデータを有する類似発見要求１０１４を送信し得る。この要求を受信し、ブロック１０１５で、それがエンティティ１０１０によって送信される要求１０１１の記録を有し、要求１０１１が要求１０１４と同一の発見キーフィールドデータを有すると決定することに応答して、中間ノード１０３０は、要求をリソースディレクトリ１０４０に転送するよりもむしろ、発見要求１０１６としてエンティティ１０１０にリダイレクトし得る。次いで、エンティティ１０１０は、発見結果１０１７で要求に返信し、リソースディレクトリ１０４０から送信され、それが受信した、記憶された発見結果データをエンティティ１０２０に送信し得る。
【００３７】
本明細書で記述されるように、キャッシュされた発見結果は、それが期限切れになるか、または無効になる前に限定された寿命を有し得る。したがって、実施形態では、キャッシングノードは、寿命を延長するためにキャッシュされた発見結果を知的に修正し、および／またはそのような結果を利用し続け、関連発見要求をリソースディレクトリに送信することを回避するように構成され得る。どのようにして、およびいつキャッシュされた発見結果を修正するかという決定は、コンテンツサーバから受信されるコンテンツ公開メッセージに基づき得る。このメッセージは、特定のコンテンツに関連付けられるコンテンツ識別子を含み得る。コンテンツ識別子はまた、特定のコンテンツを要求エンティティによって取得することができるように、コンテンツサーバの場所を要求する発見要求の発見キーフィールドデータの中に含まれ得る。例えば、発見キーフィールドデータは、特定のコンテンツの場所を含み得る。異なるコンテンツサーバからの特定のコンテンツの公開は、キャッシュされた発見結果を不完全にし得る。どのようにして、およびいつキャッシュされた発見結果を修正するかという決定はまた、あるいは代わりに、コンテンツサーバから受信されるコンテンツ非公開メッセージに基づき得る。コンテンツサーバは、その記憶装置から特定のコンテンツを削除するとき、特定の削除されたコンテンツに関連付けられるコンテンツ識別子を含む、そのようなメッセージを送信し得る。コンテンツ識別子はまた、特定のコンテンツを要求エンティティによって取得することができるように、コンテンツサーバの場所を要求する発見要求の発見キーフィールドデータの中に含まれ得る。コンテンツサーバからのコンテンツの非公開は、キャッシュされた発見結果を無効にし得る。
【００３８】
図１１は、そのような実施形態をサポートし得る、例示的アーキテクチャ１１００を図示する。本実施例では、ノード１１２７は、特定のコンテンツの場所を示す発見結果をキャッシュしていることがあり、特定のコンテンツ場所は、サーバ１１４２およびノード１１２６であり得る。サーバ１１４１は、ノード１１２７においてキャッシュされる発見結果で識別されるコンテンツと同一のコンテンツ識別子を有する、コンテンツ公開メッセージを送信し得る。この公開情報は、ノード１１２４、１１２７、および１１２９によってリソースディレクトリ１１３０に転送され得る。コンテンツ公開メッセージを検出すると、ノード１１２７は、コンテンツに関連付けられたそのキャッシュされた発見結果を修正し、コンテンツの追加の場所としてサーバ１１４１を反映し得る。
【００３９】
ノード１１２６は、後に、コンテンツのそのキャッシュされたコピーを削除し、ノード１１２７においてキャッシュされている発見結果で識別されるコンテンツと同一のコンテンツ識別子を有する、コンテンツ非公開メッセージを生成してブロードキャストするか、または別様に伝送し得る。コンテンツ非公開メッセージを検出すると、ノード１１２７は、コンテンツに関連付けられたそのキャッシュされた発見結果を修正し、コンテンツに関連付けられる場所からノード１１２６を除去し得る。
【００４０】
図１２は、キャッシュされた発見結果を更新するための例示的な信号およびプロシージャを図示する、例示的な非限定的信号フロー１２００を示す。本実施例では、中間ノード１２３０は、ブロック１２１１で、第２のサーバ（図示せず）および中間ノード１２３０であり得る、特定のコンテンツの場所を示す発見結果をキャッシュしていることがある。サーバ１２１０は、ブロック１２１１で中間ノード１２３０によってキャッシュされる発見結果で識別されるコンテンツと同一のコンテンツ識別子を有する、コンテンツ公開メッセージ１２１２を送信し得る。コンテンツ公開メッセージ１２１２を検出すると、ノード１２３０は、メッセージ１２１３としてメッセージをリソースディレクトリ１２４０に転送し、ブロック１２１４で、コンテンツに関連付けられたそのキャッシュされた発見結果を修正し、コンテンツの追加の場所としてサーバ１２１０を反映し得る。
【００４１】
中間ノード１２２０は、後に、コンテンツのそのキャッシュされたコピーを削除し、ノード１１２７においてキャッシュされる発見結果で識別されるコンテンツと同一のコンテンツ識別子を有する、コンテンツ非公開メッセージ１２１５を伝送し得る。コンテンツ非公開メッセージ１２１５を検出すると、ノード１２３０は、メッセージ１２１６としてメッセージをリソースディレクトリ１２４０に転送し、ブロック１２１７で、コンテンツに関連付けられる、そのキャッシュされた発見結果を修正し、コンテンツに関連付けられる場所からノード１２２０を除去し得る。
【００４２】
実施形態では、発見結果は、発見結果を分割すること、および／または組み合わせることによって、中間ノードによって操作され得る。中間ノードは、例えば、ノードが限定された記憶能力を有すると決定することに応答して、その一部分をキャッシュすることによって発見結果を分割し得る。これは、リソースが制約されるときでさえも、ノードが少なくともいくらかの発見情報を維持することを可能にするであろう。
【００４３】
いくつかの実施形態では、複数の分散型リソースディレクトリが使用され得る。ノードは、（例えば、要求が同一の発見キーフィールド情報を有する場合）同一のリソースに対する発見要求に対して、複数のリソースディレクトリからの発見結果を転送および／またはキャッシュし得る。キャッシングノードは、より完全な発見結果情報を将来の要求者に提供することができるように、異なるリソースディレクトリからのそのような発見結果を組み合わせ得る。結果を組み合わせることはまた、要求されたリソースに対するより多種多様なソースを要求者に提供し得、これは、複数のリソースプロバイダにわたるそのリソースの負荷の平衡を保つことに役立ち得る。
【００４４】
図１３は、そのような結果をサポートし得る、例示的アーキテクチャ１３００を図示する。本実施例では、エンティティ１３５２は、特定のコンテンツの場所を示す発見キーフィールドデータとともに、発見要求をリソースディレクトリ１３４０に送信し得、リソースディレクトリ１３４０は、コンテンツの場所がゲートウェイ１３２１であることを示す発見結果で返信し得る。中間ノード１３２７は、この発見結果をキャッシュし得る。
【００４５】
後に、エンティティ１３５４が、その特定のコンテンツの場所を示す同一の発見キーフィールドデータとともに、発見要求をリソースディレクトリ１３３０に送信し得、リソースディレクトリ１３３０は、コンテンツの場所がノード１３２３であることを示す発見結果で返信し得る。中間ノード１３２７はまた、この発見結果をキャッシュし得る。次いで、中間ノード１３２７は、これら２つの発見結果を、その特定のコンテンツの両方の場所を示す発見キーフィールドデータを有する１つの発見結果記録に組み込み得る。
【００４６】
後に、エンティティ１３５３が、その特定のコンテンツの場所を示す同一の発見キーフィールドデータを伴う発見要求をリソースディレクトリ１３３０に送信し得る。ここで、この要求が中間ノード１３２７に到達すると、中間ノード１３２７は、その特定のコンテンツの場所のより完全なリストで要求に返信することができる。次いで、エンティティ１３５３は、いずれか一方の場所からコンテンツを読み出すことを選択し得る。同様に、エンティティ１３５１が、中間ノード１３２７を横断する、その特定のコンテンツの場所を示す同一の発見キーフィールドデータを伴う要求を送信すると、このノードはまた、そのコンテンツの場所のより完全なリストで返信することができる。
【００４７】
図１４は、キャッシュされた発見結果を操作するための例示的な信号およびプロシージャを図示する、例示的な非限定的信号フロー１４００を示す。本実施例では、エンティティ１４１０は、特定のコンテンツの場所を示す発見キーフィールドデータとともに、発見要求１４１１をリソースディレクトリ１４９０に送信し得る。リソースディレクトリ１４９０は、コンテンツの場所がゲートウェイ１４５０であることを示す発見結果１４１２で返信し得る。中間ノード１４７０は、１４１３で、この応答をエンティティ１４１０に転送し得、ブロック１４１４で、この発見結果をキャッシュし得る。
【００４８】
後に、エンティティ１４２０が、その特定のコンテンツの場所を示す同一の発見キーフィールドデータとともに、発見要求１４１５をリソースディレクトリ１４８０に送信し得る。リソースディレクトリ１４８０は、コンテンツの場所が中間ノード１４６０であることを示す発見応答１４１６で返信し得る。中間ノード１４７０は、１４１７で、この応答をエンティティ１４２０に転送し得、ブロック１４１８で、この発見結果をキャッシュし得る。ブロック１４１９では、次いで、中間ノード１４７０は、これら２つの発見結果を、その特定のコンテンツの両方の場所を示す発見キーフィールドデータを有する、１つの発見結果に組み込み得る。
【００４９】
後に、エンティティ１４３０は、その特定のコンテンツの場所を示す同一の発見キーフィールドデータを伴う発見要求１４２１をいずれか一方のリソースディレクトリに送信し得る。しかしながら、要求１４２１が中間ノード１４７０に到達すると、このノードは、ゲートウェイ１４５０および中間ノード１４６０の両方を含む、その特定のコンテンツの場所のより完全なリストを有する応答１４２２で要求に返信し得る。次いで、エンティティ１４３０は、１４２３でゲートウェイ１４５０からコンテンツを読み出すことを選択し得る。同様に、エンティティ１４４０は、その特定のコンテンツの場所を示す同一の発見キーフィールドデータを伴う発見要求１４２４をいずれか一方のリソースディレクトリに送信し得る。ここで再度、要求１４２４が中間ノード１４７０に到達すると、このノードは、ゲートウェイ１４５０および中間ノード１４６０の両方を含む、その特定のコンテンツの場所のより完全なリストを有する応答１４２５で要求に返信し得る。次いで、エンティティ１４４０は、１４２６で中間ノード１４６０からコンテンツを読み出すことを選択し得る。
【００５０】
図１５は、種々の開示されたリソース発見機構を可能にするために、開示された実施形態によるノードで使用され得る、例示的な非限定的構造１５００を図示する。構造１５００は、ハードウェア、ソフトウェア、またはそれらの組み合わせで実装され得る。構造１５００は、ノードを通過して検出される発見結果を記憶するために使用され得る発見応答キャッシュを含み得る。これらの結果は、そのような結果の発見キーフィールドの中のデータを使用してインデックスを付けられ得る。寿命を含む発見結果に対して、その寿命の満了時に、キャッシュされた発見結果は、発見応答キャッシュ１５１０から削除され得る。したがって、いくつかの実施形態では、発見応答キャッシュ１５１０に存在するそのような結果は、有効と推測され得る。
【００５１】
構造１５００はまた、ノード実装構造１５００によって、例えば、リソースディレクトリ以外の別のノードに転送される発見要求を記録し得る発見要求記録１５２０を含み得る。これらの記録は、そのような要求の発見キーフィールドの中のデータを使用してインデックスを付けられ得る。
【００５２】
構造１５００は、そのネットワークまたはネットワークサブセクションであり得る、そのノードの「近隣」での発見結果ブロードキャストメッセージの記録であり得る近隣での発見応答１５３０を含み得る。発見結果がキャッシングノードによって近隣でブロードキャストされる場合、これは、ブロードキャストラベルでマークされ得る。発見結果が（例えば、キャッシュ置換、寿命満了等により）発見応答キャッシュから削除されるとき、更新通知が、元の発見結果ブロードキャストメッセージと同一であるように設定されるブロードキャストホップを用いて、キャッシングノードから隣接ノードにブロードキャストされ得る。同一の発見キーフィールドデータを伴う特定の記録は、更新通知を送信するキャッシングノードがこの発見結果をキャッシュする唯一の近隣である場合、近隣での発見応答１５３０から除去され得る。
【００５３】
図１６は、実施形態による、発見要求を処理する例示的な非限定的方法１６００を図示する。方法１６００に関して開示される機能、動作、および／またはステップのうちの任意のものは、本明細書で説明されようと、または別様に説明されようと、任意の順序で、分離して、開示された機能、動作、およびステップのサブセットとともに、ならびに任意の他の機能、動作、およびステップと組み合わせて行われ得ることに留意されたい。全てのそのような実施形態は、本開示の範囲内と見なされる。
【００５４】
ブロック１６１０では、ノードが発見要求を受信し得る。ブロック１６１５では、ノードは、合致する発見応答のキャッシュされたコピーがあるかどうかをブロック１６２０で決定するために、発見要求の発見キーフィールドの中のデータに合致する情報を、その発見応答キャッシュの中で見つけようとし得る。合致する発見応答のキャッシュされたコピーがある場合、ブロック１６２５で、このコピーからのデータは、応答として要求者に返される。
【００５５】
合致する発見応答がない場合、ブロック１６３０で、ノードは、以前にノードにブロードキャストされた合致する発見応答のキャッシュされたコピーがあるかどうかをブロック１６３５で決定するために、発見要求の発見キーフィールドの中のデータに合致する情報を、その近隣での発見応答の中で見つけようとし得る。合致するブロードキャストメッセージが見出された場合、ノードは、合致する発見キーフィールドデータを伴うメッセージをブロードキャストした隣接ノードに発見要求を転送し得る。
【００５６】
合致するブロードキャストメッセージが見出されない場合、ブロック１６４５で、ノードは、同一のリソースについての情報に対する以前の要求が受信されたかどうかをブロック１６５０で決定するために、発見要求の発見キーフィールドの中のデータに合致する情報を、その発見要求記録の中で見つけようとし得る。もし同一のリソースについての情報に対する以前の要求が受信されていた場合、これは、前の要求者が合致する発見応答のコピーを有することを示し得る。合致する発見要求が見出された場合、いくつかの実施形態では、ノードと前の要求者および／またはリソースディレクトリとの間の距離、ノードに知られている場合はリソースディレクトリの状態等の基準を用いて、ブロック１６５５で、発見要求を前の要求者に転送するかどうかを決定する。ノードが要求を前の要求者に転送することを決定する場合、ブロック１６６０でそれを行う。そうでなければ、ブロック１６６５で、発見要求がリソースディレクトリに転送される。
【００５７】
図１７は、実施形態による、発見応答を処理する例示的な非限定的方法１７００を図示する。方法１７００に関して開示される機能、動作、および／またはステップのうちの任意のものは、本明細書で説明されようと、または別様に説明されようと、任意の順序で、分離して、開示された機能、動作、およびステップのサブセットとともに、ならびに任意の他の機能、動作、およびステップと組み合わせて行われ得ることに留意されたい。全てのそのような実施形態は、本開示の範囲内と見なされる。
【００５８】
ブロック１７１０では、発見応答がノード（ネットワーク内の任意のエンティティであり得る）によって受信され得る。１７２０では、ノードが、発見応答をキャッシュするかどうかを決定し得る。もしそうであれば、行われ得る、２つのさらなる決定がある。ブロック１７３０では、ノードは、応答の中の発見結果を、ノードにおいてすでにキャッシュされた他の結果と組み合わせることができるかどうかを決定し得る。これは、キャッシュされた発見キーフィールドデータを、応答に含まれる発見キーフィールドと照合することによって達成され得る。そのような入力が見出されない場合、ノードは、ブロック１７３５で発見応答キャッシュに発見応答を記憶する。合致する入力が見出された場合、ブロック１７４０で、入力は、ごく最近受信された結果と組み合わせられ、組み合わせられた入力が発見応答キャッシュに記憶される。
【００５９】
ブロック１７５０では、ノードはまた、発見結果を近隣にブロードキャストするかどうかを決定し得る。この決定は、後に、および／または周期的に行われ、全ての記憶された発見結果に適用され得る。この決定に使用される基準は、キャッシュされた結果が使用されるか、または他のエンティティに提供される頻度を含み得る。ノードが結果をブロードキャストすることを決定する場合、ブロック１７６０で、結果を伴うブロードキャストメッセージが生成され、ノードの近隣に伝送される。
【００６０】
図１８は、実施形態による、受信した発見結果ブロードキャストメッセージを処理する例示的な非限定的方法１８００を図示する。方法１７００に関して開示される機能、動作、および／またはステップのうちの任意のものは、本明細書で説明されようと、または別様に説明されようと、任意の順序で、分離して、開示された機能、動作、およびステップのサブセットとともに、ならびに任意の他の機能、動作、およびステップと組み合わせて行われ得ることに留意されたい。全てのそのような実施形態は、本開示の範囲内と見なされる。
【００６１】
ブロック１８１０では、ノード（ネットワーク内の任意のエンティティであり得る）が、発見結果ブロードキャストメッセージを受信し得る。ブロック１８１５では、ノードは、メッセージの中で示されるホップ数を１だけ減少させ、ホップ数が現在ゼロであるかどうかをブロック１８２０で決定し得る。もしそうであれば、ブロック１８２５で、ノードは、ブロードキャストメッセージをその他の近隣に転送することを控える。ホップ数が依然としてゼロより大きい場合、ブロック１８３０で、ノードは、削減されたホップ数を反映するように修正されたブロードキャストメッセージをその近隣に伝送する。
【００６２】
ノードはまた、ブロードキャストメッセージの状態フィールドを評価し、メッセージが、その近隣での発見応答の中のノードの入力に追加されることを目的としているキャッシングメッセージであるか、またはその近隣での発見応答の中のノードの入力から結果を除去することを目的としている削除メッセージであるかをブロック１８３５で決定し得る。メッセージが近隣結果に追加されることを目的としていることを状態が示す場合、ブロック１８４５で、ノードは、受信したブロードキャストメッセージのものに合致する発見キーフィールドデータを有する、すでにキャッシュされた任意の結果を有するかどうかを決定し得る。もしそうであれば、ブロック１８５５で、ノードは、ブロードキャストメッセージからの結果を、その近隣での発見応答の中の既存の合致する入力に追加し得る。もしそうでなければ、ブロック１８６５で、ノードは、ブロードキャストメッセージ結果に対して、新しい入力を作成し、その近隣での発見応答の中に追加し得る。
【００６３】
メッセージがその近隣での発見応答の中のノードの入力から結果を除去することを目的としている削除メッセージであることを状態が示す場合、ブロック１８５０で、ノードは、受信したブロードキャストメッセージの発信元が、受信したブロードキャストメッセージの発見キーフィールドデータに合致する、その近隣での発見応答の中の唯一のキャッシュされた入力であるかどうかを決定し得る。もしそうであれば、ブロック１８６０で、ノードは、その近隣での発見応答から入力を除去し得る。受信したブロードキャストメッセージの発見キーフィールドデータに合致する入力に関連付けられる他のエンティティがある場合、ブロック１８７０で、ノードは、入力から発信元のみを除去し、そのキャッシュの中で入力の残存データを残し得る。
【００６４】
開示された実施形態は、サービスロケーションプロトコル（ＳＬＰ）を使用して実装され得る。ＳＬＰでは、サービスは、サービスタイプまたはスコープに基づいて、あるいは特定述語を満たすサービスに基づいて発見され得る。したがって、ＳＬＰ実装では、ＳＬＰ発見メッセージのための発見キーフィールドデータは、タイプ、スコープ、述語、およびそれらの任意の組み合わせのうちの１つ以上のものを含み得る。実施形態による、例示的な非限定的ＳＬＰサービス返信メッセージ１９００が、図１９に示される。サービス返信メッセージ１９００は、サービスロケーションヘッダ１９１０、サービスタイプの長さ１９１５、サービスタイプ文字列１９２０、スコープリストの長さ１９２５、スコープリスト文字列１９３０、述語文字列の長さ１９３５、サービス要求述語１９４０、エラーコード１９４５、ＵＲＬ入力数１９５０、およびユニバーサルリソースロケータ（ＵＲＬ）入力の一覧１９６０を含み得る。メッセージ１９００に含まれるサービスタイプ、スコープリスト、および述語の介在物および／またはコンテンツは、サービス返信メッセージ１９００の生成を引き起こした発信元要求メッセージの発見キーフィールドデータに依存し得ることに留意されたい。
【００６５】
図２０は、ＳＬＰサービス発見の例示的実施形態で使用され得るネットワーク構成２０００を示す。ユーザエージェント（ＵＡ）２０１１−２０１４の各々は、サービス発見のためにディレクトリエージェント（ＤＡ）２０４１および２０４２のうちの１つ以上のものと通信し得る。サービスエージェント（ＳＡ）２０２１が、サービス登録のためにＤＡ２０４１と通信し得る一方で、ＳＡ２０２２は、サービス登録のためにＤＡ２０４２と通信し得る。これらの通信は、ネットワークノード２００１−２００７によって促進され得る。
【００６６】
実施例では、「ｓｅｒｖｉｃｅ：ｄｅｖｉｃｅ：ｓｅｎｓｏｒ１：／／ｔｅｍｐｅｒａｔｕｒｅ」、「ｓｅｒｖｉｃｅ：ｄｅｖｉｃｅ：ｓｅｎｓｏｒ２：／／ｔｅｍｐｅｒａｔｕｒｅ」、および「ｓｅｒｖｉｃｅ：ｄｅｖｉｃｅ：ｓｅｎｓｏｒ１：／／ｈｕｍｉｄｉｔｙ」というＵＲＬを有するサービスは、ＳＡ２０２１によってＤＡ２０４１に登録され得る。「ｓｅｒｖｉｃｅ：ｄｅｖｉｃｅ：ｓｅｎｓｏｒ３：／／ｈｕｍｉｄｉｔｙ」、「ｓｅｒｖｉｃｅ：ｄｅｖｉｃｅ：ｓｅｎｓｏｒ４：／／ｈｕｍｉｄｉｔｙ」、および「ｓｅｒｖｉｃｅ：ｄｅｖｉｃｅ：ｓｅｎｓｏｒ５：／／ｔｅｍｐｅｒａｔｕｒｅ」というＵＲＬを有するサービスは、ＳＡ２０２２によってＤＡ２０４２に登録され得る。これらのサービス、およびそれらを提供するサービスエージェントの場所は、ＳＬＰを使用して現在可能であるよりも低い、エンティティに対するオーバーヘッドでより効率的な発見プロセスを提供し得る、開示された実施形態を使用して発見され得る。
【００６７】
例えば、ＵＳ２０１１は、温度を示すように設定されたサービスタイプとともに、サービス発見要求をＤＡ２０４１に送信し得る。ＤＡ２０４１は、「ｓｅｒｖｉｃｅ：ｄｅｖｉｃｅ：ｓｅｎｓｏｒ１：／／ｔｅｍｐｅｒａｔｕｒｅ」および「ｓｅｒｖｉｃｅ：ｄｅｖｉｃｅ：ｓｅｎｓｏｒ２：／／ｔｅｍｐｅｒａｔｕｒｅ」というＵＲＬを含む、発見返信を返し得る。ノード２００２は、表１（発見結果キャッシング）で以下に示されるように、この発見結果をキャッシュし得る（例えば、その発見応答キャッシュに記憶する）。
【００６８】
【表１】
2018042288.tif 000003
【００６９】
ＵＡ２０１２は、同一のサービスタイプ（すなわち、温度を示すように設定されたサービスタイプ）とともに、サービス発見要求をＤＡ２０４１に送信し得る。ノード２００１が、その発見要求記録キャッシュの中のＵＡ２００１の以前の発見要求の記録を作っていることもあるため、ノード２００１は、この要求を、発見結果を有すると暗示的に仮定され得るＵＳ２０１１に転送し得る。ＵＡ２００１は、そのローカルでキャッシュされた発見結果とともにＵＡ２０１２に返信し得る。
【００７０】
ＵＡ２０１３は、同様に温度に設定されたサービスタイプとともに、サービス発見要求をＤＡ２０４１に送信し得る。ノード２００２は、このサービス発見要求を、ＤＡ２０４１に転送するよりもむしろ、ノード２００６に転送し得、ノード２００６は、そのローカルでキャッシュされた発見結果で要求に返信し得る。ノード２００２は、発見結果がそのノードを横断する場合、その発見応答キャッシュの中にこの発見結果をキャッシュし得る。ここで、ノード２００２の発見応答キャッシュはまた、少なくとも部分的に、上記の表１のコンテンツを反映し得る。ノード２００２はまた、最近キャッシュされた発見結果を隣接ノード２００３にブロードキャストし得る。
【００７１】
ＵＳ２０１５は、（すなわち、温度に設定された）同一のサービスタイプとともに、サービス発見要求をＤＡ２０４１に送信し得る。ノード２００３は、このサービス発見要求を受信すると、その近隣での発見応答キャッシュに記憶された、ノード２００２から受信された、キャッシュされた発見結果を有することを決定し得、したがって、要求をＤＡ２０４１に向かってノード２００５に転送する代わりにノード２００２に転送し得る。ノード２００２は、そのローカルでキャッシュされた発見結果で転送されたサービス発見要求に返信し得る。
【００７２】
ＳＡ２０２１は、「ｓｅｒｖｉｃｅ：ｄｅｖｉｃｅ：ｓｅｎｓｏｒ６：／／ｔｅｍｐｅｒａｔｕｒｅ」というＵＲＬとともに、新しいサービス登録をＤＡ２０４１に送信し得る。この登録情報は、表２において以下で示されるように、キャッシュされた発見結果を知的に修正し得るノード２００６に到達し得る。
【００７３】
【表２】
2018042288.tif 000004
【００７４】
ＵＡ２０１３は、温度に設定されたサービスタイプとともに、サービス発見要求をＤＡ２０４１に送信し得る。ノード２００６は、ＵＡ２０１３に応答し、表２で反映される発見結果を提供し得る。
【００７５】
ＵＳ２０１５は、湿度に設定されたサービスタイプとともに、サービス発見要求をＤＡ２０４１に送信し得る。ＤＡ２０４１は、「ｓｅｒｖｉｃｅ：ｄｅｖｉｃｅ：ｓｅｎｓｏｒ１：／／ｈｕｍｉｄｉｔｙ」というサービスＵＲＬを含むサービス返信でＵＡ２０１５に返信し得る。ノード２００３は、以下の表３に示されるように、それがそのノードを横断する場合、この発見をキャッシュし得る。
【００７６】
【表３】
2018042288.tif 000005
【００７７】
次いで、ＵＡ２０１３は、同様に湿度に設定されたサービスタイプとともに、サービス発見要求をＤＡ２０４２に送信し得る。ＤＡ２０４２は、「ｓｅｒｖｉｃｅ：ｄｅｖｉｃｅ：ｓｅｎｓｏｒ３：／／ｈｕｍｉｄｉｔｙ」および「ｓｅｒｖｉｃｅ：ｄｅｖｉｃｅ：ｓｅｎｓｏｒ４：／／ｈｕｍｉｄｉｔｙ」というサービスＵＲＬを含むサービス返信でＵＡ２０１３に返信し得る。ノード２００３は、表４において以下で示されるように、この発見返信をキャッシュし、２つの発見結果を組み合わせ得る。
【００７８】
【表４】
2018042288.tif 000006
【００７９】
ＵＡ２０１４は、同様に湿度に設定されたサービスタイプとともに、サービス発見要求をＤＡ２０４２に送信し得る。ここで、ＵＡ２０１４は、本明細書で開示される機構を使用して、ノード２００３から完全な発見結果を取得し得る。
【００８０】
図２１Ａは、改善された発見のためのシステムおよび方法の１つ以上の開示された実施形態が実装され得る、例示的Ｍ２ＭまたはＩｏＴ通信システム１０の略図である。概して、Ｍ２Ｍ技術は、ＩｏＴのための構成要素を提供し、任意のＭ２Ｍデバイス、ゲートウェイ、またはサービスプラットフォームは、ＩｏＴの構成要素ならびにＩｏＴサービス層等であり得る。
【００８１】
図２１Ａに示されるように、Ｍ２Ｍ／ＩｏＴ通信システム１０は、通信ネットワーク１２を含む。通信ネットワーク１２は、固定ネットワークまたは無線ネットワーク（例えば、ＷＬＡＮ、セルラー等）、あるいは異種ネットワークのネットワークであり得る。例えば、通信ネットワーク１２は、音声、データ、ビデオ、メッセージング、ブロードキャスト等のコンテンツを複数のユーザに提供する、複数のアクセスネットワークから成り得る。例えば、通信ネットワーク１２は、符号分割多重アクセス（ＣＤＭＡ）、時分割多重アクセス（ＴＤＭＡ）、周波数分割多重アクセス（ＦＤＭＡ）、直交ＦＤＭＡ（ＯＦＤＭＡ）、単一キャリアＦＤＭＡ（ＳＣ−ＦＤＭＡ）等の１つ以上のチャネルアクセス方法を採用し得る。さらに、通信ネットワーク１２は、例えば、コアネットワーク、インターネット、センサネットワーク、工業制御ネットワーク、パーソナルエリアネットワーク、融合個人ネットワーク、衛星ネットワーク、ホームネットワーク、または企業ネットワーク等の他のネットワークを備え得る。
【００８２】
図２１Ａに示されるように、Ｍ２Ｍ／ＩｏＴ通信システム１０は、Ｍ２Ｍゲートウェイデバイス１４と、Ｍ２Ｍ端末デバイス１８とを含み得る。任意の数のＭ２Ｍゲートウェイデバイス１４およびＭ２Ｍ端末デバイス１８が、所望に応じてＭ２Ｍ／ＩｏＴ通信システム１０に含まれ得ることが理解されるであろう。Ｍ２Ｍゲートウェイデバイス１４およびＭ２Ｍ端末デバイス１８の各々は、通信ネットワーク１２または直接無線リンクを介して、信号を伝送および受信するように構成され得る。Ｍ２Ｍゲートウェイデバイス１４は、無線Ｍ２Ｍデバイス（例えば、セルラーおよび非セルラー）ならびに固定ネットワークＭ２Ｍデバイス（例えば、ＰＬＣ）が、通信ネットワーク１２等のオペレータネットワークを通して、または直接無線リンクを通してのいずれかで、通信することを可能にする。例えば、Ｍ２Ｍデバイス１８は、データを収集し、通信ネットワーク１２または直接無線リンクを介して、データをＭ２Ｍアプリケーション２０またはＭ２Ｍデバイス１８に送信し得る。Ｍ２Ｍデバイス１８はまた、Ｍ２Ｍアプリケーション２０またはＭ２Ｍデバイス１８からデータを受信し得る。さらに、データおよび信号は、以下で説明されるように、Ｍ２Ｍサービスプラットフォーム２２を介して、Ｍ２Ｍアプリケーション２０に送信され、そこから受信され得る。Ｍ２Ｍデバイス１８およびゲートウェイ１４は、例えば、セルラー、ＷＬＡＮ、ＷＰＡＮ（例えば、Ｚｉｇｂｅｅ（登録商標）、６ＬｏＷＰＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標））、直接無線リンク、および有線を含む、種々のネットワークを介して通信し得る。リソースディレクトリ、ゲートウェイ、プロキシ、サーバ、ＵＡ、ＤＡ、ＳＡ、任意のタイプの任意のノード、および任意の他の開示されたＩｏＴエンティティ等の本明細書で説明されるエンティティのうちのいずれかは、Ｍ２Ｍデバイス１８、ゲートウェイ１４、およびサービスプラットフォーム２２等のデバイス上で部分的または完全に実装され、実行され、または別様に有効にされ得る。例えば、本明細書で説明されるゲートウェイ１２１、２４０、および他のゲートウェイの各々は、ゲートウェイ１４のようなゲートウェイである。同様に、本明細書で説明されるエンティティ１１１、１１２等の各々は、Ｍ２Ｍデバイス１８のようなデバイスであるか、または、そのようなデバイス上で実装される。全てのそのような実施形態は、本開示の範囲内と見なされる。
【００８３】
図示したＭ２Ｍサービスプラットフォーム２２は、Ｍ２Ｍアプリケーション２０、Ｍ２Ｍゲートウェイデバイス１４、Ｍ２Ｍ端末デバイス１８、および通信ネットワーク１２のためのサービスを提供する。Ｍ２Ｍサービスプラットフォーム２２は、所望に応じて、任意の数のＭ２Ｍアプリケーション、Ｍ２Ｍゲートウェイデバイス１４、Ｍ２Ｍ端末デバイス１８、および通信ネットワーク１２と通信し得ることが理解されるであろう。Ｍ２Ｍサービスプラットフォーム２２は、１つ以上のサーバ、コンピュータ等によって実装され得る。Ｍ２Ｍサービスプラットフォーム２２は、Ｍ２Ｍ端末デバイス１８およびＭ２Ｍゲートウェイデバイス１４の管理および監視等のサービスを提供する。Ｍ２Ｍサービスプラットフォーム２２はまた、データを収集し、異なるタイプのＭ２Ｍアプリケーション２０と適合性があるようにデータを変換し得る。Ｍ２Ｍサービスプラットフォーム２２の機能は、例えば、ウェブサーバとして、セルラーコアネットワークで、クラウドで等、種々の方法で実装され得る。
【００８４】
図２１Ｂも参照すると、Ｍ２Ｍサービスプラットフォームは、典型的には、多様なアプリケーションおよび垂直線が活用することができる、サービス配信能力のコアセットを提供する、サービス層２６（例えば、本明細書で説明されるようなネットワークサービス能力層（ＮＳＣＬ））を実装する。これらのサービス能力は、Ｍ２Ｍアプリケーション２０がデバイスと相互作用し、データ収集、データ分析、デバイス管理、セキュリティ、課金、サービス／デバイス発見等の機能を果たすことを可能にする。本質的に、これらのサービス能力は、これらの機能性を実装する負担をアプリケーションから取り除き、したがって、アプリケーション開発を単純化し、市場に出す費用および時間を削減する。サービス層２６はまた、Ｍ２Ｍアプリケーション２０が、サービス層２６が提供するサービスと関連して、種々のネットワーク１２を通して通信することも可能にする。
【００８５】
いくつかの実施形態では、Ｍ２Ｍアプリケーション２０は、改善された発見のための開示されたシステムおよび方法を使用し得るデバイスを含む、１つ以上のピアツーピアネットワークの作成のための基礎を形成する、所望のアプリケーションを含み得る。Ｍ２Ｍアプリケーション２０は、限定ではないが、輸送、保健および健康、コネクテッドホーム、エネルギー管理、アセット追跡、ならびにセキュリティおよび監視等の種々の業界でのアプリケーションを含み得る。上記のように、本システムのデバイス、ゲートウェイ、および他のサーバにわたって作動するＭ２Ｍサービス層は、例えば、データ収集、デバイス管理、セキュリティ、課金、場所追跡／ジオフェンシング、デバイス／サービス発見、およびレガシーシステム統合等の機能をサポートし、サービス等のこれらの機能をＭ２Ｍアプリケーション２０に提供する。説明されたサービス層およびオブジェクトが相互作用するアプリケーションは、Ｍ２Ｍアプリケーション２０のもの等のアプリケーションであり得る。
【００８６】
図２１Ｃは、例えば、Ｍ２Ｍ端末デバイス１８またはＭ２Ｍゲートウェイデバイス１４等の例示的Ｍ２Ｍデバイス３０の系統図である。図２１Ｃに示されるように、Ｍ２Ｍデバイス３０は、プロセッサ３２と、送受信機３４と、伝送／受信要素３６と、スピーカ／マイクロホン３８と、キーパッド４０と、ディスプレイ／タッチパッド／指標（例えば、１つ以上の発光ダイオード（ＬＥＤ））４２と、非取り外し可能なメモリ４４と、取り外し可能なメモリ４６と、電源４８と、全地球測位システム（ＧＰＳ）チップセット５０と、他の周辺機器５２とを含み得る。Ｍ２Ｍデバイス４０は、実施形態と一致したままで、先述の要素の任意の副次的組み合わせを含み得ることが理解されるであろう。このデバイスは、改善された発見のための開示されたシステムおよび方法を使用する、デバイスであり得る。
【００８７】
プロセッサ３２は、汎用プロセッサ、特殊用途プロセッサ、従来のプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、複数のマイクロプロセッサ、ＤＳＰコアと関連する１つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、１つ以上の特定用途向け集積回路（ＡＳＩＣ）、１つ以上のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）回路、任意の他のタイプおよび数の集積回路（ＩＣ）、状態機械等であり得る。プロセッサ３２は、信号符号化、データ処理、電力制御、入出力処理、および／またはＭ２Ｍデバイス３０が無線環境で動作することを可能にする任意の他の機能性を果たし得る。プロセッサ３２は、伝送／受信要素３６に連結され得る、送受信機３４に連結され得る。図２１Ｃは、プロセッサ３２および送受信機３４を別個の構成要素として描写するが、プロセッサ３２および送受信機３４は、電子パッケージまたはチップに一緒に組み込まれ得ることが理解されるであろう。プロセッサ３２は、アプリケーション層プログラム（例えば、ブラウザ）および／または無線アクセス層（ＲＡＮ）プログラムおよび／または通信を行い得る。プロセッサ３２は、例えば、アクセス層および／またはアプリケーション層等で、認証、セキュリティキー一致、および／または暗号化動作等のセキュリティ動作を行い得る。
【００８８】
伝送／受信要素３６は、信号をＭ２Ｍサービスプラットフォーム９に伝送し、および／またはＭ２Ｍサービスプラットフォーム９から信号を受信するように構成され得る。例えば、実施形態では、伝送／受信要素３６は、ＲＦ信号を伝送および／または受信するように構成されるアンテナであり得る。伝送／受信要素３６は、ＷＬＡＮ、ＷＰＡＮ、セルラー等の種々のネットワークおよび無線インターフェースをサポートし得る。実施形態では、伝送／受信要素３６は、例えば、ＩＲ、ＵＶ、または可視光信号を伝送および／または受信するように構成されるエミッタ／検出器であり得る。さらに別の実施形態では、伝送／受信要素３６は、ＲＦおよび光信号の両方を伝送および受信するように構成され得る。伝送／受信要素３６は、無線または有線信号の任意の組み合わせを伝送および／または受信するように構成され得ることが理解されるであろう。
【００８９】
加えて、伝送／受信要素３６は、単一の要素として図２１Ｃで描写されているが、Ｍ２Ｍデバイス３０は、任意の数の伝送／受信要素３６を含み得る。より具体的には、Ｍ２Ｍデバイス３０は、ＭＩＭＯ技術を採用し得る。したがって、実施形態では、Ｍ２Ｍデバイス３０は、無線信号を伝送および受信するための２つ以上の伝送／受信要素３６（例えば、複数のアンテナ）を含み得る。
【００９０】
送受信機３４は、伝送／受信要素３６によって伝送される信号を変調するように、および伝送／受信要素３６によって受信される信号を変調するように構成され得る。上記のように、Ｍ２Ｍデバイス３０は、マルチモード能力を有し得る。したがって、送受信機３４は、Ｍ２Ｍデバイス３０が、例えば、ＵＴＲＡおよびＩＥＥＥ８０２．１１等の複数のＲＡＴを介して通信することを可能にするための複数の送受信機を含み得る。
【００９１】
プロセッサ３２は、非取り外し可能なメモリ４４および／または取り外し可能なメモリ４６等の任意のタイプの好適なメモリから情報にアクセスし、そこにデータを記憶し得る。非取り外し可能なメモリ４４は、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、ハードディスク、または任意の他のタイプのメモリ記憶デバイスを含み得る。取り外し可能なメモリ４６は、加入者識別モジュール（ＳＩＭ）カード、メモリスティック、セキュアデジタル（ＳＤ）メモリカード等を含み得る。他の実施形態では、プロセッサ３２は、サーバまたはホームコンピュータ上等のＭ２Ｍデバイス３０上に物理的に位置しないメモリから情報にアクセスし、そこにデータを記憶し得る。プロセッサ３２は、本明細書で記載される実施形態のうちのいくつかで説明されるもの等の種々の条件およびパラメータに応答して、ディスプレイまたはインジケータ４２上の照明パターン、画像、または色を制御するように構成され得る。
【００９２】
プロセッサ３２は、電源４８から電力を受け取り得、Ｍ２Ｍデバイス３０内の他の構成要素への電力を分配および／または制御するように構成され得る。電源４８は、Ｍ２Ｍデバイス３０に電力供給するための任意の好適なデバイスであり得る。例えば、電源４８は、１つ以上の乾電池バッテリ（例えば、ニッケルカドミウム（ＮｉＣｄ）、ニッケル亜鉛（ＮｉＺｎ）、ニッケル水素（ＮｉＭＨ）、リチウムイオン（Ｌｉ−ｉｏｎ）等）、太陽電池、燃料電池等を含み得る。
【００９３】
プロセッサ３２はまた、Ｍ２Ｍデバイス３０の現在の場所に関する場所情報（例えば、経度および緯度）を提供するように構成され得る、ＧＰＳチップセット５０に連結され得る。Ｍ２Ｍデバイス３０は、実施形態と一致したままで、任意の公的な場所決定方法を介して場所情報を獲得し得ることが理解されるであろう。
【００９４】
プロセッサ３２はさらに、追加の特徴、機能性、および／または有線あるいは無線接続を提供する、１つ以上のソフトウェアおよび／またはハードウェアモジュールを含み得る、他の周辺機器５２に連結され得る。例えば、周辺機器５２は、加速度計、ｅ−コンパス、衛星送受信機、センサ、デジタルカメラ（写真またはビデオ用）、ユニバーサルシリアルバス（ＵＳＢ）ポート、振動デバイス、テレビ送受信機、ハンズフリーヘッドセット、Ｂｌｕｅｔｏｏｔｈ（登録商標）モジュール、周波数変調（ＦＭ）ラジオユニット、デジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザ等を含み得る。
【００９５】
図２１Ｄは、例えば、図２１Ａおよび２１ＢのＭ２Ｍサービスプラットフォーム２２が実装され得る、例示的なコンピュータシステム９０のブロック図である。コンピュータシステム９０は、コンピュータまたはサーバを備え得、主に、ソフトウェアの形態であり得るコンピュータ読み取り可能な命令によって制御され得、どこでも、またはどのような手段を用いても、そのようなソフトウェアが記憶あるいはアクセスされる。そのようなコンピュータ読み取り可能な命令は、コンピュータシステム９０を稼働させるように、中央処理装置（ＣＰＵ）９１内で実行され得る。多くの既知のワークステーション、サーバ、および周辺コンピュータでは、中央処理装置９１は、マイクロプロセッサと呼ばれる単一チップＣＰＵによって実装される。他の機械では、中央処理装置９１は、複数のプロセッサを備え得る。コプロセッサ８１は、追加の機能を果たすか、またはＣＰＵ９１を支援する、主要ＣＰＵ９１とは明確に異なる、随意的なプロセッサである。ＣＰＵ９１および／またはコプロセッサ８１は、改善された発見のための開示されたシステムおよび方法に関連する、データを受信、生成、および処理し得る。
【００９６】
動作中、ＣＰＵ９１は、命令をフェッチ、復号、および実行し、コンピュータの主要データ転送経路であるシステムバス８０を介して、情報を他のリソースへ、およびそこから転送する。そのようなシステムバスは、コンピュータシステム９０内の構成要素を接続し、データ交換のための媒体を定義する。システムバス８０は、典型的には、データを送信するためのデータライン、アドレスを送信するためのアドレスライン、ならびに割り込みを送信するため、およびシステムバスを動作するための制御ラインを含む。そのようなシステムバス８０の実施例は、ＰＣＩ（周辺構成要素相互接続）バスである。
【００９７】
システムバス８０に連結されるメモリデバイスは、ランダムアクセスメモリ（ＲＡＭ）８２および読み取り専用メモリ（ＲＯＭ）９３を含む。そのようなメモリは、情報が記憶されて取り出されることを可能にする回路を含む。ＲＯＭ９３は、概して、容易に修正することができない、記憶されたデータを含む。ＲＡＭ８２に記憶されたデータは、ＣＰＵ９１または他のハードウェアデバイスによって読み取られ、または変更され得る。ＲＡＭ８２および／またはＲＯＭ９３へのアクセスは、メモリコントローラ９２によって制御され得る。メモリコントローラ９２は、命令が実行されると、仮想アドレスを物理的アドレスに変換する、アドレス変換機能を提供し得る。メモリコントローラ９２はまた、システム内のプロセスを分離し、ユーザプロセスからシステムプロセスを分離する、メモリ保護機能を提供し得る。したがって、第１のモードで作動するプログラムは、独自のプロセス仮想アドレス空間によってマップされるメモリのみにアクセスすることができ、プロセス間のメモリ共有が設定されていない限り、別のプロセスの仮想アドレス空間内のメモリにアクセスすることができない。
【００９８】
加えて、コンピュータシステム９０は、ＣＰＵ９１からプリンタ９４、キーボード８４、マウス９５、およびディスクドライブ８５等の周辺機器に命令を伝達する責任がある、周辺機器コントローラ８３を含み得る。
【００９９】
ディスプレイコントローラ９６によって制御されるディスプレイ８６は、コンピュータシステム９０によって生成される視覚出力を表示するために使用される。そのような視覚出力は、テキスト、グラフィックス、動画グラフィックス、およびビデオを含み得る。ディスプレイ８６は、ＣＲＴベースのビデオディスプレイ、ＬＣＤベースのフラットパネルディスプレイ、ガスプラズマベースのフラットパネルディスプレイ、またはタッチパネルを伴って実装され得る。ディスプレイコントローラ９６は、ディスプレイ８６に送信されるビデオ信号を生成するために必要とされる、電子構成要素を含む。
【０１００】
さらに、コンピュータシステム９０は、図２１Ａおよび２１Ｂのネットワーク１２等の外部通信ネットワークにコンピュータシステム９０を接続するために使用され得る、ネットワークアダプタ９７を含み得る。実施形態では、ネットワークアダプタ９７は、改善された発見のための開示されたシステムおよび方法に関連するデータを受信および伝送し得る。
【０１０１】
本明細書で説明されるシステム、方法、およびプロセスのうちのいずれかまたは全ては、物理的デバイスまたは装置として具現化されるコンピュータ読み取り可能な記憶媒体上に記憶されたコンピュータ実行可能命令（すなわち、プログラムコード）の形態で具現化され得ることが理解される。そのような命令は、コンピュータ、サーバ、Ｍ２Ｍ端末デバイス、Ｍ２Ｍゲートウェイデバイス等の機械あるいは機械の中で構成されるプロセッサによって実行されると、本明細書で説明されるシステム、方法、およびプロセスを達成し、行い、および／または実装する。具体的には、上で説明されること、動作、または機能のうちのいずれかは、そのようなコンピュータ実行可能命令の形態で実装され得る。コンピュータ読み取り可能な記憶媒体は、情報の記憶のための任意の方法または技術で実装される、揮発性および不揮発性、取り外し可能なおよび非取り外し可能な媒体の両方を含むが、そのようなコンピュータ読み取り可能な記憶媒体は、信号を含まない。コンピュータ読み取り可能な記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは所望の情報を記憶するために使用することができ、コンピュータによってアクセスすることができる任意の他の物理的媒体を含むが、それらに限定されない。
【０１０２】
図で図示されるような本開示の主題の好ましい実施形態を説明する際に、明確にするために、特定の用語が採用される。しかしながら、請求された主題は、そのように選択された特定の用語に限定されることを目的としておらず、各特定の要素は、類似目的を達成するように同様に動作する、全ての技術的均等物を含むことを理解されたい。
【０１０３】
本明細書は、最良の様態を含む、本発明を開示するために、また、当業者が、任意のデバイスまたはシステムを作製して使用すること、および任意の組み込まれた方法を行うことを含む、本発明を実践することを可能にするために、実施例を使用する。本発明の特許性のある範囲は、請求項によって定義され、当業者に想起される他の実施例を含み得る。そのような他の実施例は、請求項の文字通りの言葉とは異ならない構造要素を有する場合に、または請求項の文字通りの言葉とのごくわずかな差異を伴う同等の構造要素を含む場合に、請求項の範囲内であることを目的としている。
【図１】
2018042288.tif 000007
【図２】
2018042288.tif 000008
【図３】
2018042288.tif 000009
【図４】
2018042288.tif 000010
【図５】
2018042288.tif 000011
【図６】
2018042288.tif 000012
【図７】
2018042288.tif 000013
【図８】
2018042288.tif 000014
【図９】
2018042288.tif 000015
【図１０】
2018042288.tif 000016
【図１１】
2018042288.tif 000017
【図１２】
2018042288.tif 000018
【図１３】
2018042288.tif 000019
【図１４】
2018042288.tif 000020
【図１５】
2018042288.tif 000021
【図１６】
2018042288.tif 000022
【図１７】
2018042288.tif 000023
【図１８】
2018042288.tif 000024
【図１９】
2018042288.tif 000025
【図２０】
2018042288.tif 000026
【図２１Ａ】
2018042288.tif 000027
【図２１Ｂ】
2018042288.tif 000028
【図２１Ｃ】
2018042288.tif 000029
【図２１Ｄ】
2018042288.tif 000030
【外国語明細書】
2018042288000001.pdf