(57)【特許請求の範囲】
【請求項１】
オーバーレイネットワークを発見するようにノードを動作させるための方法において、
関心のあるオーバーレイネットワークについての情報を発見するための要求を受信することと、
前記関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含む、サーチクエリを発生させることと、
ローカルエリアネットワーク上のノードに対して、前記サーチクエリを送信することと、
前記送信されたサーチクエリに一致するオーバーレイネットワークに関連する情報を、発見プロセッサのオーバーレイネットワークデータベースから受信することと
を含み、
前記オーバーレイネットワークに関連する情報は、オーバーレイネットワークのサービス品質（ＱｏＳ）パラメータを含む、方法。
【請求項２】
前記送信は、前記ローカルエリアネットワーク上の前記ノードに対して、前記サーチクエリをユニキャストすること、マルチキャストすること、および、ブロードキャストすることのうちの少なくとも１つを実行することを含む、請求項１記載の方法。
【請求項３】
前記受信は、前記ノードにおいて実行しているアプリケーションから前記要求を受け取ることを含む、請求項１記載の方法。
【請求項４】
前記少なくとも１つのパラメータは、オーバーレイネットワーク名称、コンテンツタイプパラメータ、特定のコンテンツパラメータ、サービス品質パラメータ、動作領域パラメータ、および、オーバーレイネットワークタイプパラメータのうちの少なくとも１つを含む、請求項１記載の方法。
【請求項５】
前記サーチクエリに一致するオーバーレイネットワークに関係する情報を、前記ローカルエリアネットワーク上の１つ以上のノードから受信することをさらに含む、請求項１記載の方法。
【請求項６】
前記サーチクエリに一致するオーバーレイネットワークに関係する情報を、前記要求に関係するエンティティに送出することをさらに含む、請求項５記載の方法。
【請求項７】
オーバーレイネットワークを発見するように構成されている装置において、
関心のあるオーバーレイネットワークについての情報を発見するための要求を受信する手段と、
前記関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含む、サーチクエリを発生させる手段と、
ローカルエリアネットワーク上のノードに対して、前記サーチクエリを送信する手段と、
前記送信されたサーチクエリに一致するオーバーレイネットワークに関連する情報を、発見プロセッサのオーバーレイネットワークデータベースから受信する手段と
を具備し、
前記オーバーレイネットワークに関連する情報は、オーバーレイネットワークのサービス品質（ＱｏＳ）パラメータを含む、装置。
【請求項８】
前記送信手段は、前記ローカルエリアネットワーク上の前記ノードに対して、前記サーチクエリをユニキャストすること、マルチキャストすること、および、ブロードキャストすることのうちの少なくとも１つを実行する手段を備える、請求項７記載の装置。
【請求項９】
前記受信手段は、前記ノードにおいて実行しているアプリケーションから前記要求を受け取る手段を含む、請求項７記載の装置。
【請求項１０】
前記少なくとも１つのパラメータは、オーバーレイネットワーク名称、コンテンツタイプパラメータ、特定のコンテンツパラメータ、サービス品質パラメータ、動作領域パラメータ、および、オーバーレイネットワークタイプパラメータのうちの少なくとも１つを含む、請求項７記載の装置。
【請求項１１】
前記サーチクエリに一致するオーバーレイネットワークに関係する情報を、前記ローカルエリアネットワーク上の１つ以上のノードから受信する手段をさらに具備する、請求項７記載の装置。
【請求項１２】
前記サーチクエリに一致するオーバーレイネットワークに関係する情報を、前記要求に関係するエンティティに送出する手段をさらに具備する、請求項１１記載の装置。
【請求項１３】
オーバーレイネットワークを発見するように構成されている装置において、
プロセッサと、
ローカルエリアネットワーク上のノードに対して、前記サーチクエリを送信するように構成されているトランシーバと、
前記送信されたサーチクエリに一致するオーバーレイネットワークに関連する情報を、発見プロセッサのオーバーレイネットワークデータベースから受信するように構成されているレシーバと
を具備し、
前記プロセッサは、
関心のあるオーバーレイネットワークについての情報を発見するための要求を受信し、前記関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含む、サーチクエリを発生させるように構成されており、
前記オーバーレイネットワークに関連する情報は、オーバーレイネットワークのサービス品質（ＱｏＳ）パラメータを含む、装置。
【請求項１４】
前記トランシーバは、前記ローカルエリアネットワーク上の前記ノードに対して、前記サーチクエリをユニキャストすること、マルチキャストすること、および、ブロードキャストすることのうちの少なくとも１つを実行するように構成されている、請求項１３記載の装置。
【請求項１５】
前記プロセッサは、前記ノードにおいて実行しているアプリケーションから前記要求を受け取るように構成されている、請求項１３記載の装置。
【請求項１６】
前記少なくとも１つのパラメータは、オーバーレイネットワーク名称、コンテンツタイプパラメータ、特定のコンテンツパラメータ、サービス品質パラメータ、動作領域パラメータ、および、オーバーレイネットワークタイプパラメータのうちの少なくとも１つを含む、請求項１３記載の装置。
【請求項１７】
前記プロセッサは、前記サーチクエリに一致するオーバーレイネットワークに関係する情報を、前記ローカルエリアネットワーク上の１つ以上のノードから受信するように構成されている、請求項１３記載の装置。
【請求項１８】
前記プロセッサは、前記サーチクエリに一致するオーバーレイネットワークに関係する情報を、前記要求に関係するエンティティに送出するように構成されている、請求項１７記載の装置。
【請求項１９】
オーバーレイネットワークを発見するためのコードを有するコンピュータ読取可能記憶媒体において、
前記コードは、プロセッサに、
関心のあるオーバーレイネットワークについての情報を発見するための要求を受信させ、
前記関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含む、サーチクエリを発生させ、
ローカルエリアネットワーク上のノードに対して、前記サーチクエリを送信させ、
前記送信されたサーチクエリに一致するオーバーレイネットワークに関連する情報を、発見プロセッサのオーバーレイネットワークデータベースから受信させる
ように実行可能であり、
前記オーバーレイネットワークに関連する情報は、オーバーレイネットワークのサービス品質（ＱｏＳ）パラメータを含む、コンピュータ読取可能記憶媒体。
【請求項２０】
前記コードは、前記ローカルエリアネットワーク上の前記ノードに対して、前記サーチクエリをユニキャストすること、マルチキャストすること、および、ブロードキャストすることのうちの少なくとも１つを実行するように構成されている、請求項１９記載のコンピュータ読取可能記憶媒体。
【請求項２１】
前記コードは、前記ノードにおいて実行しているアプリケーションから前記要求を受け取るように構成されている、請求項１９記載のコンピュータ読取可能記憶媒体。
【請求項２２】
前記少なくとも１つのパラメータは、オーバーレイネットワーク名称、コンテンツタイプパラメータ、特定のコンテンツパラメータ、サービス品質パラメータ、動作領域パラメータ、および、オーバーレイネットワークタイプパラメータのうちの少なくとも１つを含む、請求項１９記載のコンピュータ読取可能記憶媒体。
【請求項２３】
前記コードは、前記サーチクエリに一致するオーバーレイネットワークに関係する情報を、前記ローカルエリアネットワーク上の１つ以上のノードから受信するように構成されている、請求項１９記載のコンピュータ読取可能記憶媒体。
【請求項２４】
前記コードは、前記サーチクエリに一致するオーバーレイネットワークに関係する情報を、前記要求に関係するエンティティに送出するように構成されている、請求項２３記載のコンピュータ読取可能記憶媒体。
【請求項２５】
オーバーレイネットワークを発見するようにノードを動作させるための方法において、
発見プロセッサにおいて、１つ以上の知られているオーバーレイネットワークに関係するメタデータのオーバーレイデータベースを維持することと、
関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含むサーチクエリを取得することと、
前記少なくとも１つのパラメータに基づいて、前記オーバーレイデータベースから、１つ以上の選択されたオーバーレイネットワークを決定することと、
前記サーチクエリに応答して、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを送信することと
を含み、
前記オーバーレイネットワークに関係するメタデータは、オーバーレイネットワークのサービス品質（ＱｏＳ）パラメータに関連する情報を含む、方法。
【請求項２６】
前記取得することは、ローカルエリアネットワーク上で、ユニキャスト、マルチキャスト、および、ブロードキャスト送信の少なくとも１つにおいて、前記サーチクエリを受信することを含む、請求項２５記載の方法。
【請求項２７】
前記送信することは、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを、前記サーチクエリを発生させた、前記ローカルエリアネットワーク上のノードに対して送信することを含む、請求項２６記載の方法。
【請求項２８】
前記取得することは、前記ノードにおいて、前記サーチクエリを発生させることを含む、請求項２５記載の方法。
【請求項２９】
前記送信することは、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを、前記サーチクエリを開始させたローカルエンティティに送信することを含む、請求項２８記載の方法。
【請求項３０】
前記決定することは、前記少なくとも１つのパラメータを、前記オーバーレイデータベース中に維持されている前記メタデータにマッチングさせることによって、前記１つ以上の選択されたオーバーレイネットワークを決定することを含む、請求項２５記載の方法。
【請求項３１】
前記少なくとも１つのパラメータは、オーバーレイネットワーク名称、コンテンツタイプパラメータ、特定のコンテンツパラメータ、サービス品質パラメータ、動作領域パラメータ、および、オーバーレイネットワークタイプパラメータのうちの少なくとも１つを含む、請求項２５記載の方法。
【請求項３２】
前記維持することは、新しく発見されたオーバーレイネットワークに関係するメタデータとともに、前記オーバーレイデータベースを更新することを含む、請求項２５記載の方法。
【請求項３３】
オーバーレイネットワークを発見するように構成されている装置において、
１つ以上の知られているオーバーレイネットワークに関係するメタデータのオーバーレイデータベースを、発見プロセッサのメモリにおいて維持する手段と、
関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含むサーチクエリを取得する手段と、
前記少なくとも１つのパラメータに基づいて、前記オーバーレイデータベースから、１つ以上の選択されたオーバーレイネットワークを決定する手段と、
前記サーチクエリに応答して、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを送信する手段と
を具備し、
前記オーバーレイネットワークに関係するメタデータは、オーバーレイネットワークのサービス品質（ＱｏＳ）パラメータに関連する情報を含む、装置。
【請求項３４】
前記取得する手段は、ローカルエリアネットワーク上で、ユニキャスト、マルチキャスト、および、ブロードキャスト送信の少なくとも１つにおいて、前記サーチクエリを受信する手段を備える、請求項３３記載の装置。
【請求項３５】
前記送信する手段は、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを、前記サーチクエリを発生させた、前記ローカルエリアネットワーク上のノードに対して送信する手段を備える、請求項３４記載の装置。
【請求項３６】
前記取得する手段は、前記ノードにおいて、前記サーチクエリを発生させる手段を含む、請求項３３記載の装置。
【請求項３７】
前記送信する手段は、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを、前記サーチクエリを開始させたローカルエンティティに送信する手段を含む、請求項３６記載の装置。
【請求項３８】
前記決定する手段は、前記少なくとも１つのパラメータを、前記オーバーレイデータベース中に維持されている前記メタデータにマッチングさせることによって、前記１つ以上の選択されたオーバーレイネットワークを決定する手段を含む、請求項３３記載の装置。
【請求項３９】
前記少なくとも１つのパラメータは、オーバーレイネットワーク名称、コンテンツタイプパラメータ、特定のコンテンツパラメータ、サービス品質パラメータ、動作領域パラメータ、および、オーバーレイネットワークタイプパラメータのうちの少なくとも１つを含む、請求項３３記載の装置。
【請求項４０】
前記維持する手段は、新しく発見されたオーバーレイネットワークに関係するメタデータとともに、前記オーバーレイデータベースを更新する手段を備える、請求項３３記載の装置。
【請求項４１】
オーバーレイネットワークを発見するように構成されている装置において、
１つ以上の知られているオーバーレイネットワークに関係するメタデータのオーバーレイデータベースを備える発見プロセッサのメモリと、
前記メモリに結合されているプロセッサと
を具備し、
前記プロセッサは、
関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含むサーチクエリを取得し、
前記少なくとも１つのパラメータに基づいて、前記オーバーレイデータベースから、１つ以上の選択されたオーバーレイネットワークを決定し、
前記サーチクエリに応答して、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを送信する
ように構成されており、
前記オーバーレイネットワークに関係するメタデータは、オーバーレイネットワークのサービス品質（ＱｏＳ）パラメータに関連する情報を含む、装置。
【請求項４２】
前記プロセッサは、ローカルエリアネットワーク上で、ユニキャスト、マルチキャスト、および、ブロードキャスト送信の少なくとも１つにおいて、前記サーチクエリを受信するように構成されている、請求項４１記載の装置。
【請求項４３】
前記プロセッサは、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを、前記サーチクエリを発生させた、前記ローカルエリアネットワーク上のノードに対して送信するように構成されている、請求項４２記載の装置。
【請求項４４】
前記プロセッサは、前記ノードにおいて、前記サーチクエリをローカルに発生させるように構成されている、請求項４１記載の装置。
【請求項４５】
前記プロセッサは、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを、前記サーチクエリを開始させたローカルエンティティに送信するように構成されている、請求項４４記載の装置。
【請求項４６】
前記プロセッサは、前記少なくとも１つのパラメータを、前記オーバーレイデータベース中に維持されている前記メタデータにマッチングさせることによって、前記１つ以上の選択されたオーバーレイネットワークを決定するように構成されている、請求項４１記載の装置。
【請求項４７】
前記少なくとも１つのパラメータは、オーバーレイネットワーク名称、コンテンツタイプパラメータ、特定のコンテンツパラメータ、サービス品質パラメータ、動作領域パラメータ、および、オーバーレイネットワークタイプパラメータのうちの少なくとも１つを含む、請求項４１記載の装置。
【請求項４８】
前記プロセッサは、新しく発見されたオーバーレイネットワークに関係するメタデータとともに、前記オーバーレイデータベースを更新するように構成されている、請求項４１記載の装置。
【請求項４９】
オーバーレイネットワークを発見するためのコードを有するコンピュータ読取可能記憶媒体において、
前記コードは、発見プロセッサに、
１つ以上の知られているオーバーレイネットワークに関係するメタデータのオーバーレイデータベースを発見プロセッサのメモリにおいて維持させ、
関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含むサーチクエリを取得させ、
前記少なくとも１つのパラメータに基づいて、前記オーバーレイデータベースから、１つ以上の選択されたオーバーレイネットワークを決定させ、
前記サーチクエリに応答して、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを送信させる
ように実行可能であり、
前記オーバーレイネットワークに関係するメタデータは、オーバーレイネットワークのサービス品質（ＱｏＳ）パラメータに関連する情報を含む、コンピュータ読取可能記憶媒体。
【請求項５０】
前記コードは、ローカルエリアネットワーク上で、ユニキャスト、マルチキャスト、および、ブロードキャスト送信の少なくとも１つにおいて、前記サーチクエリを受信するように構成されている、請求項４９記載のコンピュータ読取可能記憶媒体。
【請求項５１】
前記コードは、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを、前記サーチクエリを発生させた、前記ローカルエリアネットワーク上のノードに対して送信するように構成されている、請求項５０記載のコンピュータ読取可能記憶媒体。
【請求項５２】
前記コードは、前記ノードにおいて、前記サーチクエリをローカルに発生させるように構成されている、請求項４９記載のコンピュータ読取可能記憶媒体。
【請求項５３】
前記コードは、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを、前記サーチクエリを開始させたローカルエンティティに送信するように構成されている、請求項５２記載のコンピュータ読取可能記憶媒体。
【請求項５４】
前記コードは、前記少なくとも１つのパラメータを、前記オーバーレイデータベース中に維持されている前記メタデータにマッチングさせることによって、前記１つ以上の選択されたオーバーレイネットワークを決定するように構成されている、請求項４９記載のコンピュータ読取可能記憶媒体。
【請求項５５】
前記少なくとも１つのパラメータは、オーバーレイネットワーク名称、コンテンツタイプパラメータ、特定のコンテンツパラメータ、サービス品質パラメータ、動作領域パラメータ、および、オーバーレイネットワークタイプパラメータのうちの１つ以上を含む、請求項４９記載のコンピュータ読取可能記憶媒体。
【請求項５６】
前記コードは、新しく発見されたオーバーレイネットワークに関係するメタデータとともに、前記オーバーレイデータベースを更新するように構成されている、請求項４９記載のコンピュータ読取可能記憶媒体。
【発明の詳細な説明】
【米国法第３５部第１１９条に基づく優先権の主張】
【０００１】
本出願は、２００８年６月１７日に出願され、“オーバーレイネットワークの発見のための方法と装置”と題されている仮出願第６１／０７３，３２５号に対する優先権を主張し、これは、本出願譲受人に譲渡され、ここで参照により明示的に組み込まれている。
【分野】
【０００２】
本出願は、一般的に、オーバーレイネットワークの動作に関連し、より詳細には、ピア・ツー・ピアオーバーレイネットワークの発見のための方法と装置に関連する。
【背景】
【０００３】
サーバーベースのインフラストラクチャが無いときに、メンバーノードが、その中でサービスを取得するネットワークを、ここで、“ピア・ツー・ピア” オーバーレイネットワークと呼ぶ。ピア・ツー・ピアオーバーレイにおいて、ピアノードは、サービスを提供するためと、ネットワークを維持するための両方において、互いに協働する。ピア・ツー・ピアオーバーレイネットワークは、インターネットプロトコル（ＩＰ）を利用するネットワークのような、基礎をなすネットワークのトップに構築することができる。
【０００４】
ノードは、ピア・ツー・ピアオーバーレイネットワーク中に参加するために、既存のオーバーレイネットワークの名称と、これらのオーバーレイネットワークに関係するメタデータとを発見しなければならない。メタデータは、一般的に、“導入者”ノードのＩＰアドレスを含んでおり、導入者ノードは、参加ノードが、特定のオーバーレイネットワークに参加するのを支援できる。
【０００５】
オーバーレイネットワーク発見の問題を解決するためのいくつかの伝統的アプローチがある。ノードは、ウェブサーチのような帯域外メカニズムを使用して、利用可能なオーバーレイネットワークの名称を見つけてもよい。次に、ノードは、ドメインネームサービス（ＤＮＳ）を使用して、何らかの発見されたオーバーレイネットワーク名称を解決して、導入者ノードのインターネットプロトコル（ＩＰ）アドレスを見つけてもよい。第２のアプローチでは、周知のスーパーオーバーレイネットワークが使用される。他のオーバーレイネットワークを発見することを望む何らかのノードは、スーパーオーバーレイネットワークに参加して、スーパーオーバーレイネットワーク中のノードに、他のオーバーレイネットワークについての情報を問い合わせる。残念なことに、これらの技術は、非効率的であり、ノードが、特定のオーバーレイネットワークを発見して、参加することを難しくしている。
【０００６】
したがって、ノードが、ピア・ツー・ピアオーバーレイネットワークを発見することを可能にするために動作する、簡潔で、費用効率的なメカニズムを持つことが望ましい。
【概要】
【０００７】
１つ以上の観点では、方法および装置を含む、ピアツーピアオーバーレイネットワーク発見システムが提供され、ピアツーピアオーバーレイネットワーク発見システムは、ノードがピアツーピアオーバーレイネットワークを発見することを可能にするように動作する。さまざまな観点において、システムは、ノードが、ＩＰマルチキャストのような、ローカルエリアトランスポートメカニズムを使用して、ローカルエリア中の他のノードによって集められたオーバーレイネットワークに関係する情報を発見することを可能にするように動作する。特定のオーバーレイネットワークに参加するために、ノードによってこの情報が使用される。
【０００８】
１つの観点では、オーバーレイネットワークを発見するようにノードを動作させるための方法が提供される。方法は、関心のあるオーバーレイネットワークについての情報を発見するための要求を受信することと、関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含む、サーチクエリを発生させることと、ローカルエリアネットワーク上のノードに対して、サーチクエリを送信することとを含む。
【０００９】
１つの観点では、オーバーレイネットワークを発見するように構成されている装置が提供される。装置は、関心のあるオーバーレイネットワークについての情報を発見するための要求を受信する手段と、関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含む、サーチクエリを発生させる手段と、ローカルエリアネットワーク上のノードに対して、サーチクエリを送信する手段とを具備する。
【００１０】
１つの観点では、オーバーレイネットワークを発見するように構成されている装置が提供される。装置は、プロセッサと、ローカルエリアネットワーク上のノードに対して、サーチクエリを送信するように構成されているトランシーバとを具備し、プロセッサは、関心のあるオーバーレイネットワークについての情報を発見するための要求を受信し、関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含む、サーチクエリを発生させるように構成されている。
【００１１】
１つの観点では、オーバーレイネットワークを発見するためのコンピュータプログラム製品が提供される。コンピュータプログラム製品は、コードを組み込んでいるコンピュータ読取可能媒体を備えており、コードは、関心のあるオーバーレイネットワークについての情報を発見するための要求を受信し、関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含む、サーチクエリを発生させ、ローカルエリアネットワーク上のノードに対して、サーチクエリを送信するように実行可能である。
【００１２】
１つの観点では、オーバーレイネットワークを発見するようにノードを動作させるための方法が提供される。方法は、１つ以上の知られているオーバーレイネットワークに関係するメタデータのオーバーレイデータベースを維持することと、関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含むサーチクエリを取得することと、少なくとも１つのパラメータに基づいて、オーバーレイデータベースから、１つ以上の選択されたオーバーレイネットワークを決定することと、サーチクエリに応答して、１つ以上の選択されたオーバーレイネットワークに関係するメタデータを送信することとを含む。
【００１３】
１つの観点では、オーバーレイネットワークを発見するように構成されている装置が提供される。装置は、１つ以上の知られているオーバーレイネットワークに関係するメタデータのオーバーレイデータベースを維持する手段と、関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含むサーチクエリを取得する手段と、少なくとも１つのパラメータに基づいて、オーバーレイデータベースから、１つ以上の選択されたオーバーレイネットワークを決定する手段と、サーチクエリに応答して、１つ以上の選択されたオーバーレイネットワークに関係するメタデータを送信する手段とを具備する。
【００１４】
１つの観点では、オーバーレイネットワークを発見するように構成されている装置が提供される。装置は、１つ以上の知られているオーバーレイネットワークに関係するメタデータのオーバーレイデータベースを備えるメモリと、メモリに結合されたプロセッサとを具備し、プロセッサは、関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含むサーチクエリを取得し、少なくとも１つのパラメータに基づいて、オーバーレイデータベースから、１つ以上の選択されたオーバーレイネットワークを決定し、サーチクエリに応答して、１つ以上の選択されたオーバーレイネットワークに関係するメタデータを送信するように構成されている。
【００１５】
１つの観点では、オーバーレイネットワークを発見するように構成されているコンピュータプログラム製品が提供される。コンピュータプログラム製品は、コードを組み込んでいるコンピュータ読取可能媒体を備えており、コードは、１つ以上の知られているオーバーレイネットワークに関係するメタデータのオーバーレイデータベースを維持し、関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含むサーチクエリを取得し、少なくとも１つのパラメータに基づいて、オーバーレイデータベースから、１つ以上の選択されたオーバーレイネットワークを決定し、サーチクエリに応答して、１つ以上の選択されたオーバーレイネットワークに関係するメタデータを送信するように実行可能である。
【００１６】
以下に述べる図面の簡単な説明、詳細な説明、および、特許請求の範囲を読んだ後に、他の観点が明らかになるだろう。
【図面の簡単な説明】
【００１７】
ここで上記の観点は、添付の図面とともに考慮するときに、以下の詳細な説明を参照することによって、より容易に明確になるだろう。
【図１】図１は、ピア・ツー・ピアオーバーレイネットワーク発見システムの観点を図示するネットワークを示す。
【図２】図２は、ピア・ツー・ピアオーバーレイネットワーク発見システムの観点中で、ノードにおいて使用するための例示的な発見プロセッサを示す。
【図３】図３は、ピア・ツー・ピアオーバーレイネットワーク発見システムの観点を提供するように、ノードにおいて発見プロセッサを動作させるための例示的な方法を示す。
【図４】図４は、ピア・ツー・ピアオーバーレイネットワーク発見システムの観点を提供するように、ノードにおいて発見プロセッサを動作させるための例示的な方法を示す。
【図５】図５は、ピア・ツー・ピアオーバーレイネットワーク発見システムの観点を提供するように、ノードにおいて発見プロセッサを動作させるための例示的な方法を示す。
【図６】図６は、ピア・ツー・ピアオーバーレイネットワーク発見システムの観点を提供するように、ノードにおいて使用するための例示的な発見プロセッサを示す。
【図７】図７は、ピア・ツー・ピアオーバーレイネットワーク発見システムの観点を提供するように、ノードにおいて使用するための例示的な発見プロセッサを示す。
【発明の詳細な説明】
【００１８】
以下の説明は、ノードが、ピア・ツー・ピアオーバーレイネットワークを発見することを可能にするように動作する、ピア・ツー・ピアオーバーレイネットワーク発見システムの観点を記述する。既存のピア・ツー・ピアオーバーレイネットワークを発見することを望むノードが、そのローカルエリアネットワーク上で、“オーバーレイサーチ”クエリを送るように、システムは動作する。クエリは、ノードにとって関心のあるオーバーレイネットワークのタイプを識別する、１つ以上の属性（または、パラメータ）を含む。１つのインプリメンテーションでは、オーバーレイサーチクエリは、周知のＩＰマルチキャストまたはブロードキャストアドレスに対して送信されてもよい。ローカルエリアネットワーク上のノードは、彼らが気付いているオーバーレイネットワークと、これらのオーバーレイネットワークに関係するメタデータとを追跡するように動作する。彼らがオーバーレイサーチクエリを受信するとき、彼らは、そのサーチ基準に一致する、彼らが知っているオーバーレイネットワークについての情報とともに応答する。したがって、要求ノードは、関心のあるオーバーレイネットワークを、そのローカルエリア中の他のノードから、効率的に発見することができる。
【００１９】
図１は、ピア・ツー・ピアオーバーレイネットワーク発見システムの観点を図示するネットワーク１００を示す。ネットワーク１００は、インターネットプロトコルネットワークのような、何らかのタイプのネットワークを含む、基礎をなすネットワーク１０２を含む。基礎をなすネットワーク１０２を、単一のエンティティとして示したが、基礎をなすネットワークは、ＷＡＮ、ＬＡＮ、ワイヤレスネットワーク、または、他の何らかのタイプのネットワークのような、何らかの数またはタイプのネットワークを含んでもよい。
【００２０】
基礎をなすネットワークは、複数のピア・ツー・ピアオーバーレイネットワーク（１０４、１０６、および、１０８）を含む。ピア・ツー・ピアオーバーレイネットワーク１０４、１０６、および、１０８は、それぞれ、基礎をなすネットワーク１０２のノードのサブセットを含み、基礎をなすネットワーク１０２のサービスを利用して動作して、これらのノードが通信できるようにする。例えば、ピア・ツー・ピアオーバーレイネットワーク１０４、１０６、および、１０８において、基礎をなすネットワーク１０２によって提供された通信リンクによって、これらのノードが接続されて、所望のルーティングパスを形成している。ピア・ツー・ピアオーバーレイネットワーク１０４、１０６、および、１０８は、何らかのルーティング構成を可能にするための何らかのトポロジーまたはアーキテクチャを持っていてもよく、ピア・ツー・ピアオーバーレイネットワーク１０４、１０６、および、１０８は、図１に示した構成に制限されていないことにも留意すべきである。
【００２１】
基礎をなすネットワーク１０２はまた、一般的に、１１０において示す、複数のノードを含むローカルエリアネットワークを含む。ローカルエリアネットワーク１１０のノードは、ユニキャスト、マルチキャスト、または、ブロードキャスト送信を利用して、ネットワーク１０２上の他のノードと、そして、お互いに、通信するように動作される。例えば、ローカルエリアネットワーク１１０の一部であるノード１１２は、ローカルエリアネットワーク１１０中で、他のノードに対してメッセージをマルチキャストまたはブロードキャストしてもよい。
【００２２】
オーバーレイ発見システムにしたがうと、ローカルエリアネットワーク１１０のノードは、発見プロセッサ（ＤＰ）１１４を含む。説明の目的で、ＤＰ１１４を、ノード１１２において示した；しかしながら、ＤＰ１１４が、ローカルエリアネットワーク１１０中の他のノードにおいて利用可能であることも仮定されるだろう。ＤＰ１１４は、ネットワーク１０２上での動作の間に、その関係するノードが気付いているオーバーレイネットワークについての情報と、メタデータを保存するように動作する。例えば、情報は、これらに制限されていないが、オーバーレイ名称、ノードのＩＰアドレス、導入者ノードのＩＰアドレス、および／または、ネットワーク１０２上で知られているオーバーレイネットワークに関係する、他のメタデータを含む。ローカルエリアネットワーク１１０のノードの動作の間に、ルーティング、または、他のタスクを実行しつつ、この情報が取得される。この情報は、後の使用のために、ＤＰ１１４において保存される。
【００２３】
ある観点では、発見プロセッサは、ローカルエリアネットワーク１１０のノードに位置しており、知られているオーバーレイネットワークについての、彼らのそれぞれの情報を、自動的にアドバタイズする。したがって、ノード１１２において動作しているＤＰ１１４は、これらのアドバタイズをリッスンすることができ、１つ以上のオーバーレイネットワークに気付くことができる。
【００２４】
別の観点では、要求に応答して、例えば、ノード１１２において実行しているアプリケーションによって、ＤＰ１１４は、ローカルエリアネットワーク１１０上で、オーバーレイサーチクエリを発生、および、送出して、サーチクエリ中のパラメータに一致するオーバーレイネットワークに関係する情報を取得する。クエリは、ノード１１２にとって関心のあるオーバーレイのタイプを識別する、１つ以上の属性またはパラメータを含む。例えば、サーチクエリは、これらのパラメータだけに制限されていないが、以下のパラメータのうちの１つ以上を含む。  
１．オーバーレイ名称  
２．コンテンツタイプ  
３．特定のコンテンツ  
４．サービス品質（ＱｏＳ）パラメータ  
５．オーバーレイ動作領域  
６．オーバーレイネットワークタイプパラメータ
【００２５】
１つの観点では、オーバーレイサーチクエリは、周知のＩＰマルチキャストまたはブロードキャストアドレスに対して送信されてもよく、あるいは、明確に規定されたオーバーレイ発見サービスインスタンスに対して送信されてもよい。後者のケースでは、サービスインスタンスは、何らかの知られているサービス発見プロトコルを使用して、最初に発見される。いずれのケースにおいても、ローカルエリアネットワーク１１０上のノードにおいて動作しているＤＰ１１４は、彼らが気付いているオーバーレイネットワークと、これらのオーバーレイネットワークに関係付けられているメタデータとを追跡する。彼らがオーバーレイサーチクエリを受け取るとき、彼らは、サーチ基準に一致する、彼らが知っているオーバーレイネットワークについての情報とともに応答する。ＤＰ１１４の動作についてのより詳細な説明を以下で提供する。したがって、ピア・ツー・ピアオーバーレイネットワーク発見システムは、ノードが、関心のあるピア・ツー・ピアオーバーレイネットワークを発見できるようにする。
【００２６】
図２は、ピア・ツー・ピアオーバーレイネットワーク発見システムの観点中で、ノードにおいて使用するための例示的な発見プロセッサ２００を示す。例えば、発見プロセッサ２００は、図１に示した発見プロセッサ１１４としての使用に適している。発見プロセッサ２００は、プロセッサ２０２、メモリ２０４、および、トランシーバ２０６を含み、これらすべては、データバス２０８に対して結合されている。発見プロセッサ２００は、単に１つのインプリメンテーションであり、この観点の範囲内で、他のインプリメンテーションも可能であることに留意すべきである。
【００２７】
トランシーバ２０６は、発見プロセッサ２００がネットワーク上の複数のノードとともに、データまたは他の情報を通信することを可能にするために動作する、ハードウェア、および／または、ハードウェア実行ソフトウェアを含む。１つの観点では、トランシーバ２０６は、ユニキャスト、マルチキャスト、または、ブロードキャスト送信を使用して、ローカルエリアネットワーク上で、サーチクエリを送信するように動作可能である。トランシーバ２０６はまた、ローカルエリアネットワーク上でアドバタイズを送信またはリッスンするように動作可能であり、あるいは、送信されたサーチクエリに応答して、メッセージを受信するように動作可能である。
【００２８】
メモリ２０４は、発見プロセッサ２００が気付いている１つ以上のピア・ツー・ピアオーバーレイネットワークに関係する情報（すなわち、メタデータ）を含むオーバーレイデータベース２１２を記憶するように動作可能な何らかの適切な記憶デバイスを含む。
【００２９】
メモリ２０４はまた、ここで記述するピア・ツー・ピアオーバーレイネットワーク発見システムの機能を提供するために、プロセッサ２０２によって実行可能な命令またはコードを有する１つ以上のモジュールを備える、発見モジュール２１４も含む。
【００３０】
プロセッサ２０２は、ＣＰＵ、プロセッサ、ゲートアレイ、ハードウェアロジック、メモリエレメント、および／または、ハードウェア実行ソフトウェアのうちの少なくとも１つを含む。１つの観点では、プロセッサ２０２は、発見モジュール２１４の命令を実行するように動作して、発見プロセッサ２００を制御して、ここで記述するピア・ツー・ピアオーバーレイネットワーク発見システムの機能を実行させる。
【００３１】
オーバーレイネットワークデータベースの維持 
動作の間に、プロセッサ２０２は、発見プロセッサ２００が気付いているオーバーレイネットワークについての情報とともに、オーバーレイデータベース２１２を維持するように動作する。例えば、通常のメッセージルーティングおよびネットワーク通信の間に、プロセッサ２０２は、１つ以上のオーバーレイネットワークに関係する情報および／またはメタデータに気付いている。プロセッサ２０２は、オーバーレイデータベース２１２中に、この情報および／またはメタデータを記憶させるように動作する。例えば、オーバーレイネットワークに関係する情報および／またはメタデータは、これらに制限されないが、以下の情報を含む。  
１．オーバーレイネットワーク名称  
２．ノードアドレス  
３．導入者ノードアドレス  
４．コンテンツタイプ  
５．特定のコンテンツ  
６．サービス品質（ＱｏＳ）パラメータ  
７．オーバーレイネットワーク動作領域  
８．オーバーレイネットワークタイプ  
【００３２】
オーバーレイネットワークアドバタイズの送受信 
１つの観点では、プロセッサ２０２は、トランシーバ２０６を制御して、ローカルエリアネットワーク上でアドバタイズを自動的に送信させるように動作する。アドバタイズは、オーバーレイデータベース２１２からの、知られているオーバーレイネットワークについての情報を含む。別の観点では、トランシーバ２０６は、ローカルエリアネットワーク中の他のノードによって送信されたアドバタイズをリッスンするように動作する。アドバタイズは、アドバタイズを発信している、他のノードが知っているオーバーレイネットワークについての情報を含む。受信されたアドバタイズ情報は、プロセッサ２０２に渡され、プロセッサ２０２は、情報を使用して、オーバーレイデータベース２１２を更新する。
【００３３】
オーバーレイネットワークのサーチ 
別の観点では、プロセッサ２０２は、選択された基準に一致するオーバーレイネットワークについての情報に対する要求を受信するように動作する。要求は、発見プロセッサ２００が位置しているノードにおいて実行しているアプリケーションから発信されてもよい。例えば、要求は、リンク２１６を通して、１つ以上のアプリケーションから受信される。プロセッサ２０２は、基準を含むサーチクエリを発生させるための要求を処理し、サーチクエリは、サーチが実行されることになるオーバーレイネットワークに関係する、基準、パラメータまたはメタデータを含む。プロセッサ２０２は、トランシーバ２０６を制御して、ローカルエリアネットワーク中の他のノードに対してサーチクエリを送信させる。例えば、トランシーバ２０６は、ユニキャスト、マルチキャスト、または、ブロードキャスト送信のうちの少なくとも１つを使用して、サーチクエリを送信する。
【００３４】
サーチクエリを受信しているノードは、それら自身のそれぞれのＤＰを含み、ＤＰは、オーバーレイデータベース２１２に類似したオーバーレイデータベースを維持するように動作する。受信ノードにおけるＤＰは、それらのそれぞれのオーバーレイデータベースをサーチして、サーチクエリ中に含まれるパラメータに一致する、何らかのオーバーレイネットワークについての情報および／またはメタデータを決定する。この情報は、ＤＰ２００に戻される。例えば、情報は、トランシーバ２０６によって、リンク２１０上で受信され、トランシーバ２０６は、この情報を、プロセッサ２０２に対して送出する。プロセッサ２０２は、要求エンティティに、（リンク２１６を使用して、）サーチクエリに一致するオーバーレイネットワークについて、通知する。さらに、プロセッサ２０２は、新しく発見されたオーバーレイネットワークについての何らかの受信された情報とともに、オーバーレイデータベース２１２を更新するように動作する。
【００３５】
１つの観点では、ピア・ツー・ピアオーバーレイネットワーク発見システムは、機械読取可能媒体上に記憶され、または、組み込まれた、１つ以上のプログラム命令（“命令”）、あるいは、１組のコードを有しているコンピュータプログラム製品を含む。コードが、少なくとも１つのプロセッサ、例えば、プロセッサ２０２によって実行されるとき、これらの実行は、発見プロセッサ２００に、ここに記述するピア・ツー・ピアオーバーレイネットワーク発見システムの機能を提供させる。例えば、機械読取可能媒体は、フロッピー（登録商標）ディスク、ＣＤＲＯＭ、メモリカード、ＦＬＡＳＨメモリデバイス、ＲＡＭ、ＲＯＭ、または、発見プロセッサ２００にインターフェースされている、他の何らかのタイプのメモリデバイスまたは機械読取可能媒体を含む。別の観点では、１組のコードが、外部デバイスまたは通信ネットワークリソースから、発見プロセッサ２００へとダウンロードされてもよい。実行されるときに、１組のコードは、ここで記述するピア・ツー・ピアオーバーレイネットワーク発見システムの機能を提供するように動作する。
【００３６】
図３は、ピア・ツー・ピアオーバーレイネットワーク発見システムの観点を提供するために、ノードにおいて発見プロセッサを動作させるための例示的な方法３００を示す。明瞭さのために、方法３００を、図２に示した発見プロセッサ２００を参照して以下に記述する。１つの観点において、プロセッサ２０２は、発見モジュール２１４によって提供される１つ以上の組のコードを実行して、発見プロセッサ２００を制御し、以下に記述する機能を実行する。
【００３７】
ブロック３０２において、要求者にとって関心のあるオーバーレイネットワークについての情報を発見するための要求が受信される。１つの観点では、ＤＰ２００が位置しているノードにおいて実行されているアプリケーションから、プロセッサ２０２によって、リンク２１６を通して要求が受信される。
【００３８】
ブロック３０４において、要求に基づいて、サーチクエリが発生される。例えば、プロセッサ２０２が、それに対してサーチが実行されることになるオーバーレイネットワークに関係する基準を記述または識別する１つ以上のパラメータを含むように、サーチクエリを発生させる。例えば、サーチクエリは、上に記述したパラメータを含むが、上に記述したパラメータに制限されていない。
【００３９】
ブロック３０６において、ローカルエリアネットワーク上でサーチクエリが送信される。例えば、プロセッサ２０２は、トランシーバ２０６を制御して、通信リンク２１０を使用して、ローカルエリアネットワーク上でサーチクエリを送信する。トランシーバ２０６は、ローカルエリアネットワーク上で、ユニキャスト、マルチキャスト、または、ブロードキャスト送信を使用して、サーチクエリを送信する。
【００４０】
ブロック３０８において、サーチクエリに一致するオーバーレイネットワークについての情報が受信される。例えば、トランシーバ２０６は、ローカルエリアネットワーク上で、ノードからの情報を受信する。１つのインプリメンテーションでは、それぞれのノードは、オーバーレイネットワーク情報のオーバーレイデータベースを維持するＤＰを含む。これらのノードにおけるＤＰは、サーチクエリ中の1つ以上のパラメータに基づいて、選択されたオーバーレイネットワークを識別する。次に、ノードは、トランシーバ２０６によって受信のための通信リンク２１０上で、選択されたオーバーレイネットワークについての情報を送信する。トランシーバ２０６は、次に、プロセッサ２０２に対して情報を送出する。
【００４１】
ブロック３１０において、サーチクエリに一致しているオーバーレイネットワークを識別する受信された情報が、最初の要求者に対して送出される。例えば、プロセッサ２０２は、サーチクエリに一致するオーバーレイネットワークについての受信された情報を、リンク２１６を使用して、要求アプリケーションに対して送出する。
【００４２】
したがって、方法３００は、ピア・ツー・ピアオーバーレイネットワーク発見システムの観点を提供するために、ノードにおいて、発見プロセッサによって実行される。方法３００は、単に１つのインプリメンテーションに過ぎないことと、方法３００の動作が、さまざまな観点の範囲内で再配置またはそうでなければ修正されてもよいことを理解すべきである。したがって、ここで記述するさまざまな観点の範囲内で、他のインプリメンテーションが可能である。
【００４３】
図４は、ピア・ツー・ピアオーバーレイネットワーク発見システムの観点を提供するために、ノードにおいて発見プロセッサを動作させるための例示的な方法４００を示す。明瞭さのために、方法４００を、図２に示した発見プロセッサ２００を参照して以下に記述する。１つの観点において、プロセッサ２０２は、発見モジュール２１４によって提供される１つ以上の組のコードを実行して、発見プロセッサ２００を制御して、以下に記述する機能を実行する。
【００４４】
ブロック４０２において、知られているオーバーレイネットワークに関係するメタデータのオーバーレイデータベースが維持される。例えば、プロセッサ２０２は、基礎をなすネットワーク上で、通常のルーティングおよびメッセージトランザクションの間に、１つ以上のオーバーレイネットワークについての情報を取得する。プロセッサ２０２は、知られているオーバーレイネットワークに関係するメタデータを、オーバーレイデータベース２１２中に記憶させる。１つの観点では、プロセッサ２０２は、新たに発見されたオーバーレイネットワークに関係するメタデータで、オーバーレイデータベースを更新する。例えば、１つ以上のオーバーレイネットワークが、ローカルエリアネットワーク上で発見プロセッサの動作の間に発見されてもよい。
【００４５】
ブロック４０４において、サーチクエリが受信される。例えば、トランシーバ２０６は、ローカルエリアネットワーク上で、ユニキャスト、マルチキャスト、または、ブロードキャスト送信において、サーチクエリを受信する。トランシーバ２０６は、通信リンク２１０上でクエリを受信する。サーチクエリは、それに対して、情報が探されている、関心のあるオーバーレイネットワークを識別する１つ以上のパラメータを含む。
【００４６】
別の観点では、サーチクエリは、ＤＰ２００が位置しているノードにおいて実行しているアプリケーションからの要求に応答して、ローカルに発生される。例えば、プロセッサ２０２は、要求しているアプリケーションに対して、関心のあるオーバーレイネットワークについての情報に対する要求を受信する。１つの観点では、ＤＰ２００が位置しているノードにおいて実行しているアプリケーションから、プロセッサ２０２によって、リンク２１６を通して要求が受信される。
【００４７】
ブロック４０６において、サーチクエリ中のパラメータが、オーバーレイデータベース中に記述されているオーバーレイネットワークの何らかのものに一致するかどうかについて、決定が行われる。例えば、プロセッサ２０２は、サーチクエリ中のパラメータに一致する、知られているオーバーレイネットワークについての他の情報に、および、決定されたメタデータに関して、オーバーレイデータベース２１２中に記憶されている情報に、サーチクエリ中のパラメータをマッチングさせる。
【００４８】
ブロック４０８において、一致があるとして仮定すると、サーチクエリ中のパラメータに一致する、メタデータおよび他の情報が、オーバーレイデータベースから取得される。例えば、プロセッサ２０２は、オーバーレイデータベース２１２から、サーチクエリに一致する、メタデータおよび他の情報を取得する。
【００４９】
ブロック４１０において、サーチクエリに応答して、サーチクエリに基づいてデータベースから決定された、メタデータおよび他の情報が送信される。例えば、プロセッサ２０２は、トランシーバ２０６を制御して、サーチクエリに関係するエンティティに対して、メタデータおよび他の情報を送信する。１つの観点では、サーチクエリに関係するノードに、メタデータが送信され、リンク２１０を使用して実行される。サーチがローカルオーバーレイデータベース中で実行される、別の観点では、メタデータは、初期要求に関係するローカル実行中のアプリケーションに対して送られて、リンク２１６を使用して、プロセッサ２０２によって実行される。
【００５０】
したがって、方法４００は、ピア・ツー・ピアオーバーレイネットワーク発見システムの観点を提供するために、ノードにおける発見プロセッサによって実行される。方法４００は、単に１つのインプリメンテーションに過ぎないことと、方法４００の動作が、さまざまな観点の範囲内で再配置またはそうでなければ修正されてもよいことを理解すべきである。したがって、ここで記述するさまざまな観点の範囲内で、他のインプリメンテーションが可能である。
【００５１】
図５は、ピア・ツー・ピアオーバーレイネットワーク発見システムの観点を提供するために、ノードにおいて発見プロセッサを動作させるための例示的な方法５００を示す。明瞭さのために、方法５００を、図２に示した発見プロセッサ２００を参照して以下に記述する。１つの観点において、プロセッサ２０２は、発見モジュール２１５によって提供される１つ以上の組のコードを実行して、発見プロセッサ２００を制御して、以下に記述する機能を実行する。
【００５２】
ブロック５０２において、オーバーレイデータベースは、知られているオーバーレイネットワークに関係するメタデータとともに維持される。例えば、プロセッサ２０２は、基礎となるネットワーク上で、通常のルーティングおよびメッセージトランザクションの間に、１つ以上のオーバーレイネットワークについての情報を取得する。プロセッサ２０２は、知られているオーバーレイネットワークに関係するメタデータを、オーバーレイデータベース２１２に記憶させる。１つの観点では、プロセッサ２０２は、新しく発見されたオーバーレイネットワークに関係するメタデータとともに、オーバーレイデータベースを更新する。例えば、ローカルエリアネットワーク上で、発見プロセッサの動作の間に、１つ以上のオーバーレイネットワークが発見されてもよい。
【００５３】
ブロック５０４において、ローカルエリアネットワーク中で、アドバタイズが送信される。例えば、プロセッサ２０２は、オーバーレイデータベース２１２から、知られているオーバーレイネットワークに関係するメタデータを含む情報を取得して、この情報をトランシーバ２０６に対して送出する。トランシーバ２０６は、ローカルエリアネットワーク上で、リスニングしていてもよいローカルエリア中の何らかのノードによって受信されることができる１つ以上のアドバタイズ中で、メタデータを送信するように動作する。例えば、トランシーバ２０６は、ローカルエリアネットワーク上で、ユニキャスト、マルチキャスト、または、ブロードキャスト送信中で、１つ以上のアドバタイズを送信するように動作する。
【００５４】
ブロック５０６において、知られているオーバーレイネットワークについてのメタデータを含む１つ以上のアドバタイズが受信される。例えば、トランシーバ２０６は、ローカルエリアネットワーク中の他のノードからのアドバタイズをリスニングするように動作し、受信されたメタデータを、プロセッサ２０２に対して送出するように動作する。例えば、トランシーバ２０６は、ローカルエリアネットワーク上で、ユニキャスト、マルチキャスト、または、ブロードキャスト送信のうちの少なくとも１つにおいて、１つ以上のアドバタイズを受信するように動作する。プロセッサ２０２は、次に、受信したメタデータを使用して、オーバーレイデータベース２１２を更新する。例えば、方法は、ブロック５０２に進み、ここでオーバーレイデータベース２１２が更新される。
【００５５】
したがって、方法５００は、ピア・ツー・ピアオーバーレイネットワーク発見システムの観点を提供するために、ノードにおける発見プロセッサによって実行される。方法５００は、単に１つのインプリメンテーションに過ぎないことと、方法５００の動作が、さまざまな観点の範囲内で再配置またはそうでなければ修正されてもよいことを理解すべきである。したがって、ここで記述するさまざまな観点の範囲内で、他のインプリメンテーションが可能である。
【００５６】
方法３００、４００、５００はすべて、ローカルエリアネットワーク中のノードにおいて位置する同一の発見プロセッサによって実行されることができることにも留意すべきである。ここで記述する発見システムのすべての機能を、単一の発見プロセッサによって実行できるように、方法３００、４００、５００の動作は、結合されてもよく、混合されてもよく、または、そうでなければ、並列もしくは直列の方法で実行されてもよい。
【００５７】
図６は、ピア・ツー・ピアオーバーレイネットワーク発見システムの観点を提供するために、ノードにおいて使用するための例示的な発見プロセッサ６００を示す。例えば、発見プロセッサ６００は、図２に示した発見プロセッサ２００にしたがって実現される。１つの観点において、発見プロセッサ６００は、ここで記述するオーバーレイネットワーク発見システムの観点を提供するように構成されている１つ以上のモジュールを備える、少なくとも１つの集積回路によって実現される。例えば、１つの観点では、それぞれのモジュールは、ハードウェアおよび／またはハードウェア実行ソフトウェアを含む。
【００５８】
発見プロセッサ６００は、関心のあるオーバーレイネットワークについての情報を発見するための要求を受信する手段（６０２）を備える第１のモジュールを具備し、これは、１つの観点ではプロセッサ２０２を具備する。発見プロセッサ６００はまた、関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含むサーチクエリを発生させる手段（６０４）を備える第２のモジュールを具備し、これは、１つの観点ではプロセッサ２０２を具備する。発見プロセッサ６００はさらに、ローカルエリアネットワーク上で、ノードに対してサーチクエリを送信する手段（６０６）を備える第３のモジュールを具備し、これは、１つの観点ではトランシーバ２０６を具備する。
【００５９】
図７は、オーバーレイネットワーク発見システムの観点を提供するために、ノードにおいて使用するための例示的な発見プロセッサ７００を示す。例えば、発見プロセッサ７００は、図２に示した発見プロセッサ２００にしたがって実現される。１つの観点において、発見プロセッサ７００は、ここで記述するオーバーレイネットワーク発見システムの観点を提供するように構成されている１つ以上のモジュールを含む、少なくとも１つの集積回路によって実現される。例えば、１つの観点では、それぞれのモジュールは、ハードウェアおよび／またはハードウェア実行ソフトウェアを含む。
【００６０】
発見プロセッサ７００は、１つ以上の知られているオーバーレイネットワークに関係するメタデータのオーバーレイデータベースを維持する手段（７０２）を備える第１のモジュールを具備し、これは、１つの観点ではメモリ２０４を具備する。発見プロセッサ７００は、関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含むサーチクエリを取得する手段（７０４）を備える第２のモジュールを具備し、これは、１つの観点ではプロセッサ２０２を具備する。発見プロセッサ７００は、少なくとも１つのパラメータに基づいて、オーバーレイデータベースからの１つ以上の選択されたオーバーレイネットワークを決定する手段（７０６）を備える第３のモジュールを具備し、これは、１つの観点ではプロセッサ２０２を具備する。発見プロセッサ７００は、サーチクエリに応答して、１つ以上の選択されたオーバーレイネットワークに関係するメタデータを送信する手段（７０８）を備える第４のモジュールを具備し、これは、１つの観点ではプロセッサ２０２を具備する。
【００６１】
ここで説明する観点に関連して説明する、さまざまな例示的なロジック、ロジックブロック、モジュール、および、回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途集積回路（ＡＳＩＣ）、フィールドプログラム可能ゲートアレイ（ＦＰＧＡ）または他のプログラム可能ロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェア構成部品、あるいは、ここで説明する機能を実現するように設計されているこれらの任意の組み合わせとともに実現、または、実行してもよい。汎用プロセッサは、マイクロプロセッサであってもよいが、代わりに、プロセッサは、任意の従来のプロセッサ、制御装置、マイクロ制御装置、または、状態機械であってもよい。プロセッサはまた、計算デバイスの組み合わせとして、例えば、ＤＳＰとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと連携した１つ以上のマイクロプロセッサ、または、他の何らかのこのような構成として、実現されてもよい。
【００６２】
ここで開示した観点に関連して記述した方法またはアルゴリズムのステップは、直接、ハードウェアで、プロセッサにより実行されるソフトウェアモジュールで、あるいは、２つの組み合わせで具体化してもよい。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、消去可能プログラム可能ＲＯＭ（“ＥＰＲＯＭ”）メモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーブバルディスク、ＣＤ−ＲＯＭ、あるいは、技術的に知られている他の何らかの形態のコンピュータ読取可能記憶媒体に存在していてもよい。例示的な記憶媒体は、コンピュータ／プロセッサのような機械（ここで、簡潔さのために“プロセッサ”として呼ばれてもよい）が記憶媒体から情報（例えば、コード）を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代わりに、例示的な記憶媒体は、プロセッサと一体化されてもよい。プロセッサおよび記憶媒体は、ＡＳＩＣに存在してもよい。ＡＳＩＣはユーザ装置に存在してもよい。代わりに、プロセッサおよび記憶媒体は、ワイヤレス通信デバイス中のディスクリートコンポーネントとして存在してもよい。
【００６３】
開示した観点のこれまでの説明は、当業者が本発明を製作または使用できるように提供した。これらの観点に対するさまざま改良は当業者に容易に明らかとなり、ここに定義された一般的な原理は、本発明の精神および範囲を逸脱することなく、他の観点に適用されてもよい。したがって、本発明はここで示した観点に限定されることを意図しているものではなく、ここで開示している原理および新しい特徴と一致した最も広い範囲に一致させるべきである。“例示的”という言葉は、“例として、事例として、あるいは、例示として働くこと”を意味するためにここで使用されている。ここで“例示的”として記述した任意の観点は、必ずしも他の観点より好ましい、または有利であるとして解釈すべきではない。
【００６４】
したがって、ピア・ツー・ピアオーバーレイネットワーク発見システムの観点を例示し、記述してきたが、これらの精神または本質的特徴から逸脱することなく、観点に対するさまざまな変更を行ってもよいことが理解されるだろう。したがって、ここでの開示および記述は、例示的であることを意図しているが、以下の特許請求の範囲に述べる本発明の範囲を制限することを意図していない。  
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［１］オーバーレイネットワークを発見するようにノードを動作させるための方法において、
関心のあるオーバーレイネットワークについての情報を発見するための要求を受信することと、
前記関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含む、サーチクエリを発生させることと、
ローカルエリアネットワーク上のノードに対して、前記サーチクエリを送信することと
を含む方法。
［２］前記送信は、前記ローカルエリアネットワーク上の前記ノードに対して、前記サーチクエリをユニキャストすること、マルチキャストすること、および、ブロードキャストすることのうちの少なくとも１つを実行することを含む、上記［１］の方法。
［３］前記受信は、前記ノードにおいて実行しているアプリケーションから前記要求を受け取ることを含む、上記［１］の方法。
［４］前記少なくとも１つのパラメータは、オーバーレイネットワーク名称、コンテンツタイプパラメータ、特定のコンテンツパラメータ、サービス品質パラメータ、動作領域パラメータ、および、オーバーレイネットワークタイプパラメータのうちの少なくとも１つを含む、上記［１］の方法。
［５］前記サーチクエリに一致するオーバーレイネットワークに関係する情報を、前記ローカルエリアネットワーク上の１つ以上のノードから受信することをさらに含む、上記［１］の方法。
［６］前記サーチクエリに一致するオーバーレイネットワークに関係する情報を、前記要求に関係するエンティティに送出することをさらに含む、上記［５］の方法。
［７］オーバーレイネットワークを発見するように構成されている装置において、
関心のあるオーバーレイネットワークについての情報を発見するための要求を受信する手段と、
前記関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含む、サーチクエリを発生させる手段と、
ローカルエリアネットワーク上のノードに対して、前記サーチクエリを送信する手段と
を具備する装置。
［８］前記送信手段は、前記ローカルエリアネットワーク上の前記ノードに対して、前記サーチクエリをユニキャストすること、マルチキャストすること、および、ブロードキャストすることのうちの少なくとも１つを実行する手段を備える、上記［７］の装置。
［９］前記受信手段は、前記ノードにおいて実行しているアプリケーションから前記要求を受け取る手段を含む、上記［７］の装置。
［１０］前記少なくとも１つのパラメータは、オーバーレイネットワーク名称、コンテンツタイプパラメータ、特定のコンテンツパラメータ、サービス品質パラメータ、動作領域パラメータ、および、オーバーレイネットワークタイプパラメータのうちの少なくとも１つを含む、上記［７］の装置。
［１１］前記サーチクエリに一致するオーバーレイネットワークに関係する情報を、前記ローカルエリアネットワーク上の１つ以上のノードから受信する手段をさらに具備する、上記［７］の装置。
［１２］前記サーチクエリに一致するオーバーレイネットワークに関係する情報を、前記要求に関係するエンティティに送出する手段をさらに具備する、上記［１１］の装置。
［１３］オーバーレイネットワークを発見するように構成されている装置において、
プロセッサと、
ローカルエリアネットワーク上のノードに対して、前記サーチクエリを送信するように構成されているトランシーバと
を具備し、
前記プロセッサは、
関心のあるオーバーレイネットワークについての情報を発見するための要求を受信し、前記関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含む、サーチクエリを発生させるように構成されている、装置。
［１４］前記トランシーバは、前記ローカルエリアネットワーク上の前記ノードに対して、前記サーチクエリをユニキャストすること、マルチキャストすること、および、ブロードキャストすることのうちの少なくとも１つを実行するように構成されている、上記［１３］の装置。
［１５］前記プロセッサは、前記ノードにおいて実行しているアプリケーションから前記要求を受け取るように構成されている、上記［１３］の装置。
［１６］前記少なくとも１つのパラメータは、オーバーレイネットワーク名称、コンテンツタイプパラメータ、特定のコンテンツパラメータ、サービス品質パラメータ、動作領域パラメータ、および、オーバーレイネットワークタイプパラメータのうちの少なくとも１つを含む、上記［１３］の装置。
［１７］前記プロセッサは、前記サーチクエリに一致するオーバーレイネットワークに関係する情報を、前記ローカルエリアネットワーク上の１つ以上のノードから受信するように構成されている、上記［１３］の装置。
［１８］前記プロセッサは、前記サーチクエリに一致するオーバーレイネットワークに関係する情報を、前記要求に関係するエンティティに送出するように構成されている、上記［１７］の装置。
［１９］コードを組み込んでいるコンピュータ読取可能媒体を備えており、オーバーレイネットワークを発見するためのコンピュータプログラム製品において、
前記コードは、
関心のあるオーバーレイネットワークについての情報を発見するための要求を受信し、
前記関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含む、サーチクエリを発生させ、
ローカルエリアネットワーク上のノードに対して、前記サーチクエリを送信する
ように実行可能であるコンピュータ読取可能媒体。
［２０］前記コードは、前記ローカルエリアネットワーク上の前記ノードに対して、前記サーチクエリをユニキャストすること、マルチキャストすること、および、ブロードキャストすることのうちの少なくとも１つを実行するように構成されている、上記［１９］のコンピュータ読取可能媒体。
［２１］前記コードは、前記ノードにおいて実行しているアプリケーションから前記要求を受け取るように構成されている、上記［１９］のコンピュータ読取可能媒体。
［２２］前記少なくとも１つのパラメータは、オーバーレイネットワーク名称、コンテンツタイプパラメータ、特定のコンテンツパラメータ、サービス品質パラメータ、動作領域パラメータ、および、オーバーレイネットワークタイプパラメータのうちの少なくとも１つを含む、上記［１９］のコンピュータ読取可能媒体。
［２３］前記コードは、前記サーチクエリに一致するオーバーレイネットワークに関係する情報を、前記ローカルエリアネットワーク上の１つ以上のノードから受信するように構成されている、上記［１９］のコンピュータ読取可能媒体。
［２４］前記コードは、前記サーチクエリに一致するオーバーレイネットワークに関係する情報を、前記要求に関係するエンティティに送出するように構成されている、上記［２３］のコンピュータ読取可能媒体。
［２５］オーバーレイネットワークを発見するようにノードを動作させるための方法において、
１つ以上の知られているオーバーレイネットワークに関係するメタデータのオーバーレイデータベースを維持することと、
関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含むサーチクエリを取得することと、
前記少なくとも１つのパラメータに基づいて、前記オーバーレイデータベースから、１つ以上の選択されたオーバーレイネットワークを決定することと、
前記サーチクエリに応答して、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを送信することと
を含む方法。
［２６］前記取得することは、ローカルエリアネットワーク上で、ユニキャスト、マルチキャスト、および、ブロードキャスト送信の少なくとも１つにおいて、前記サーチクエリを受信することを含む、上記［２５］の方法。
［２７］前記送信することは、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを、前記サーチクエリを発生させた、前記ローカルエリアネットワーク上のノードに対して送信することを含む、上記［２６］の方法。
［２８］前記取得することは、前記ノードにおいて、前記サーチクエリを発生させることを含む、上記［２５］の方法。
［２９］前記送信することは、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを、前記サーチクエリを開始させたローカルエンティティに送信することを含む、上記［２８］の方法。
［３０］前記決定することは、前記少なくとも１つのパラメータを、前記オーバーレイデータベース中に維持されている前記メタデータにマッチングさせることによって、前記１つ以上の選択されたオーバーレイネットワークを決定することを含む、上記［２５］の方法。
［３１］前記少なくとも１つのパラメータは、オーバーレイネットワーク名称、コンテンツタイプパラメータ、特定のコンテンツパラメータ、サービス品質パラメータ、動作領域パラメータ、および、オーバーレイネットワークタイプパラメータのうちの少なくとも１つを含む、上記［２５］の方法。
［３２］前記維持することは、新しく発見されたオーバーレイネットワークに関係するメタデータとともに、前記オーバーレイデータベースを更新することを含む、上記［２５］の方法。
［３３］オーバーレイネットワークを発見するように構成されている装置において、
１つ以上の知られているオーバーレイネットワークに関係するメタデータのオーバーレイデータベースを維持する手段と、
関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含むサーチクエリを取得する手段と、
前記少なくとも１つのパラメータに基づいて、前記オーバーレイデータベースから、１つ以上の選択されたオーバーレイネットワークを決定する手段と、
前記サーチクエリに応答して、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを送信する手段と
を具備する装置。
［３４］前記取得する手段は、ローカルエリアネットワーク上で、ユニキャスト、マルチキャスト、および、ブロードキャスト送信の少なくとも１つにおいて、前記サーチクエリを受信する手段を備える、上記［３３］の装置。
［３５］前記送信する手段は、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを、前記サーチクエリを発生させた、前記ローカルエリアネットワーク上のノードに対して送信する手段を備える、上記［３４］の装置。
［３６］前記取得する手段は、前記ノードにおいて、前記サーチクエリを発生させる手段を含む、上記［３３］の装置。
［３７］前記送信する手段は、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを、前記サーチクエリを開始させたローカルエンティティに送信する手段を含む、上記［３６］の装置。
［３８］前記決定する手段は、前記少なくとも１つのパラメータを、前記オーバーレイデータベース中に維持されている前記メタデータにマッチングさせることによって、前記１つ以上の選択されたオーバーレイネットワークを決定する手段を含む、上記［３３］の装置。
［３９］前記少なくとも１つのパラメータは、オーバーレイネットワーク名称、コンテンツタイプパラメータ、特定のコンテンツパラメータ、サービス品質パラメータ、動作領域パラメータ、および、オーバーレイネットワークタイプパラメータのうちの少なくとも１つを含む、上記［３３］の装置。
［４０］前記維持する手段は、新しく発見されたオーバーレイネットワークに関係するメタデータとともに、前記オーバーレイデータベースを更新する手段を備える、上記［３３］の装置。
［４１］オーバーレイネットワークを発見するように構成されている装置において、
１つ以上の知られているオーバーレイネットワークに関係するメタデータのオーバーレイデータベースを備えるメモリと、
前記メモリに結合されているプロセッサと
を具備し、
前記プロセッサは、
関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含むサーチクエリを取得し、
前記少なくとも１つのパラメータに基づいて、前記オーバーレイデータベースから、１つ以上の選択されたオーバーレイネットワークを決定し、
前記サーチクエリに応答して、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを送信する
ように構成されている装置。
［４２］前記プロセッサは、ローカルエリアネットワーク上で、ユニキャスト、マルチキャスト、および、ブロードキャスト送信の少なくとも１つにおいて、前記サーチクエリを受信するように構成されている、上記［４１］の装置。
［４３］前記プロセッサは、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを、前記サーチクエリを発生させた、前記ローカルエリアネットワーク上のノードに対して送信するように構成されている、上記［４２］の装置。
［４４］前記プロセッサは、前記ノードにおいて、前記サーチクエリをローカルに発生させるように構成されている、上記［４１］の装置。
［４５］前記プロセッサは、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを、前記サーチクエリを開始させたローカルエンティティに送信するように構成されている、上記［４４］の装置。
［４６］前記プロセッサは、前記少なくとも１つのパラメータを、前記オーバーレイデータベース中に維持されている前記メタデータにマッチングさせることによって、前記１つ以上の選択されたオーバーレイネットワークを決定するように構成されている、上記［４１］の装置。
［４７］前記少なくとも１つのパラメータは、オーバーレイネットワーク名称、コンテンツタイプパラメータ、特定のコンテンツパラメータ、サービス品質パラメータ、動作領域パラメータ、および、オーバーレイネットワークタイプパラメータのうちの少なくとも１つを含む、上記［４１］の装置。
［４８］前記プロセッサは、新しく発見されたオーバーレイネットワークに関係するメタデータとともに、前記オーバーレイデータベースを更新するように構成されている、上記［４１］の装置。
［４９］コードを組み込んでいるコンピュータ読取可能媒体を備えており、オーバーレイネットワークを発見するように構成されているコンピュータプログラム製品において、
前記コードは、
１つ以上の知られているオーバーレイネットワークに関係するメタデータのオーバーレイデータベースを維持し、
関心のあるオーバーレイネットワークに関係する少なくとも１つのパラメータを含むサーチクエリを取得し、
前記少なくとも１つのパラメータに基づいて、前記オーバーレイデータベースから、１つ以上の選択されたオーバーレイネットワークを決定し、
前記サーチクエリに応答して、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを送信する
ように実行可能である、コンピュータ読取可能媒体。
［５０］前記コードは、ローカルエリアネットワーク上で、ユニキャスト、マルチキャスト、および、ブロードキャスト送信の少なくとも１つにおいて、前記サーチクエリを受信するように構成されている、上記［４９］のコンピュータ読取可能媒体。
［５１］前記コードは、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを、前記サーチクエリを発生させた、前記ローカルエリアネットワーク上のノードに対して送信するように構成されている、上記［５０］のコンピュータ読取可能媒体。
［５２］前記コードは、前記ノードにおいて、前記サーチクエリをローカルに発生させるように構成されている、上記［４９］のコンピュータ読取可能媒体。
［５３］前記コードは、前記１つ以上の選択されたオーバーレイネットワークに関係するメタデータを、前記サーチクエリを開始させたローカルエンティティに送信するように構成されている、上記［５２］のコンピュータ読取可能媒体。
［５４］前記コードは、前記少なくとも１つのパラメータを、前記オーバーレイデータベース中に維持されている前記メタデータにマッチングさせることによって、前記１つ以上の選択されたオーバーレイネットワークを決定するように構成されている、上記［４９］のコンピュータ読取可能媒体。
［５５］前記少なくとも１つのパラメータは、オーバーレイネットワーク名称、コンテンツタイプパラメータ、特定のコンテンツパラメータ、サービス品質パラメータ、動作領域パラメータ、および、オーバーレイネットワークタイプパラメータのうちの１つ以上を含む、上記［４９］のコンピュータ読取可能媒体。
［５６］前記コードは、新しく発見されたオーバーレイネットワークに関係するメタデータとともに、前記オーバーレイデータベースを更新するように構成されている、上記［４９］のコンピュータ読取可能媒体。
［５７］オーバーレイネットワークにアドバタイズするようにノードを動作させるための方法において、
１つ以上の知られているオーバーレイネットワークに関係するメタデータのオーバーレイデータベースを維持することと、
ローカルエリアネットワーク上で、１つ以上のアドバタイズ中で、前記１つ以上の知られているオーバーレイネットワークに関係するメタデータを送信することと
を含む方法。
［５８］前記送信することは、ローカルエリアネットワーク上で、ユニキャスト、マルチキャスト、および、ブロードキャスト送信の少なくとも１つにおいて、前記１つ以上のアドバタイズを送信することを含む、上記［５７］の方法。
［５９］オーバーレイネットワークにアドバタイズするようにノードを動作させるための装置において、
１つ以上の知られているオーバーレイネットワークに関係するメタデータのオーバーレイデータベースを維持する手段と、
ローカルエリアネットワーク上で、１つ以上のアドバタイズ中で、前記１つ以上の知られているオーバーレイネットワークに関係するメタデータを送信する手段と
を具備する装置。
［６０］前記送信する手段は、ローカルエリアネットワーク上で、ユニキャスト、マルチキャスト、および、ブロードキャスト送信の少なくとも１つにおいて、前記１つ以上のアドバタイズを送信する手段を備える、上記［５９］の装置。
［６１］オーバーレイネットワークにアドバタイズするようにノードを動作させるための装置において、
１つ以上の知られているオーバーレイネットワークに関係するメタデータのオーバーレイデータベースを維持するように構成されているプロセッサと、
ローカルエリアネットワーク上で、１つ以上のアドバタイズ中で、前記１つ以上の知られているオーバーレイネットワークに関係するメタデータを送信するように構成されているトランシーバと
を含む方法。
［６２］前記トランシーバは、ローカルエリアネットワーク上で、ユニキャスト、マルチキャスト、および、ブロードキャスト送信の少なくとも１つにおいて、前記１つ以上のアドバタイズを送信するように構成されている、上記［６１］の装置。
【図１】
0005389909.tif 000002
【図２】
0005389909.tif 000003
【図３】
0005389909.tif 000004
【図４】
0005389909.tif 000005
【図５】
0005389909.tif 000006
【図６】
0005389909.tif 000007
【図７】
0005389909.tif 000008