(57)【要約】  本発明は、ピアツーピア・ネットワーク上に配置される改善ノードに関する。この改善ノードは、ネットワークをモニタしてネットワークから通信メッセージを受け取り転送し、オプションであるが通信半径パラメータを最適な又はほぼ最適な値に変更するようにプログラムされている。この改善ノードは、あるネットワークからのメッセージを別のネットワークに転送することができるし、あるネットワークからのメッセージを同じネットワークに転送することもできる。本発明は、また、ピアツーピア・ネットワーク上のノードによる選択された対象に対する通信メッセージをモニタする方法を提供する。この方法は、改善ノードをネットワークに挿入することを含む。改善ノードは、その改善ノード自身において記憶されている通信メッセージの対象に対応する少なくとも１つの記憶された対象を有し、ネットワークをモニタして記憶されている対象の中の少なくとも１つと一致する通信メッセージを検出し、通信メッセージを転送するか、何らかの定義されたプログラミング又は構成に基づいて通信メッセージの半径パラメータを変更するかを判断する。
2007519375.tif 000002
【特許請求の範囲】
【請求項１】
ピアツーピア・ネットワーク通信を改善する方法であって、
少なくとも１つの改善ノードをピアツーピア・ネットワークに挿入するステップを含み、
前記改善ノードは前記ネットワークから通信メッセージを受け取り、前記通信メッセージを前記ネットワークに転送する前に前記通信メッセージの任意の通信メッセージ半径パラメータを最適な又はほぼ最適な値に設定し、前記通信メッセージを前記ネットワークに転送することを特徴とする方法。
【請求項２】
ピアツーピア・ネットワーク通信を改善する方法であって、
少なくとも１つの改善ノードをピアツーピア・ネットワークに挿入するステップを含み、
前記改善ノードは前記ネットワークから通信メッセージを受け取り、前記通信メッセージを前記通信メッセージを排除するか転送するかに関する１組の基準と比較した上で、前記比較に基づいて前記通信メッセージを転送する又は排除することを特徴とする方法。
【請求項３】
請求項２記載の方法において、前記改善ノードは前記通信メッセージの通信半径パラメータを最適な又はほぼ最適な値に設定することを特徴とする方法。
【請求項４】
請求項２記載の方法において、通信メッセージの排除又は転送は他の特徴の保護に基づくことを特徴とする方法。
【請求項５】
ピアツーピア・ネットワーク通信を改善する方法であって、
少なくとも１つの改善ノードをピアツーピア・ネットワークに挿入するステップを含み、
前記改善ノードは第１のネットワークに接続し、次に、別のピアツーピア・ネットワークに接続し、前記改善ノードは、１つのネットワークから通信メッセージを受け取り前記通信メッセージを別のネットワークに転送し、オプションとして通信半径パラメータを最適な又はほぼ最適な値に設定することを特徴とする方法。
【請求項６】
請求項５記載の方法において、前記改善ノードは前記通信メッセージの通信半径パラメータを最適な又はほぼ最適な値に設定することを特徴とする方法。
【請求項７】
ピアツーピア・ネットワーク通信を改善する方法であって、
少なくとも１つの改善ノードをピアツーピア・ネットワークに挿入するステップを含み、
前記改善ノードは第１のネットワークに接続し、次に、別のピアツーピア・ネットワークに接続し、前記改善ノードは、１つのネットワークから通信メッセージを受け取り前記通信メッセージを１組の基準と比較して前記通信メッセージを排除又は転送することを特徴とする方法。
【請求項８】
請求項７記載の方法であって。
【請求項９】
請求項８記載の方法において、前記通信メッセージの排除又は転送は他の特徴の保護のためであることを特徴とする方法。
【請求項１０】
ピアツーピア・ネットワーク通信を改善する方法であって、
少なくとも１つの改善ノードをピアツーピア・ネットワークに挿入するステップを含み、
前記改善ノードは、前記ネットワークから通信メッセージを受け取り、同一の情報と新たな識別情報とを用いて、前記受け取ったメッセージの中の情報に代わる新たな通信メッセージを作成し、前記改善ノードは、前記新たな通信メッセージを前記ネットワークに転送し、前記新たな通信メッセージへの応答を受け取り、前記新たな通信メッセージへの応答を受け取ったメッセージを送信した元のモジュールに転送することを特徴とする方法。
【請求項１１】
ピアツーピア・ネットワーク通信を改善する方法であって、
少なくとも１つの改善ノードをピアツーピア・ネットワークに挿入するステップを含み、
前記改善ノードは、第２のピアツーピア・ネットワークに接続し、前記第１のピアツーピア・ネットワークから通信メッセージを受け取り、前記改善ノードは、同一の情報と新たな識別情報とを用いて、前記受け取ったメッセージの中の情報に代わる新たな通信メッセージを作成し、前記改善ノードは、前記新たな通信メッセージを前記第２のネットワークに転送し、前記改善ノードは、前記新たな通信メッセージへの応答と、前記第１のネットワークの元のノードへの新たな通信メッセージへの応答とを受け取ることを特徴とする方法。
【請求項１２】
請求項１１記載の方法において、前記改善ノードは前記元のノードの識別子を秘匿することを特徴とする方法。
【請求項１３】
ピアツーピア・ネットワークに配置するための改善ノードであって、前記ネットワークを監視し通信メッセージを受け取り通信メッセージを転送する手段を含むことを特徴とする改善ノード。
【請求項１４】
ピアツーピア・ネットワークに配置するための改善ノードであって、前記ネットワークを監視し通信メッセージを受け取り通信メッセージの半径パラメータを別の値に変更し前記通信メッセージを転送する手段を含むことを特徴とする改善ノード。
【請求項１５】
請求項１４記載の改善ノードにおいて、前記異なる値は最適な又はほぼ最適な値であることを特徴とする改善ノード。
【請求項１６】
ピアツーピア・ネットワークに配置するための改善ノードであって、前記ネットワークを監視し通信メッセージを受け取りアドレス情報を変更し元のノードに代わって通信メッセージを転送し応答通信メッセージを受け取り前記応答通信メッセージを元のノードに転送する手段を含むことを特徴とする改善ノード。
【請求項１７】
請求項１６記載の方法において、前記改善ノードは前記元のノードの識別子を秘匿することを特徴とする方法。
【発明の詳細な説明】
【関連出願】
【０００１】
この出願は、２００４年１月２３日に出願され発明の名称が「Method for Monitoring and Providing Information over a Peer to Peer Network」である米国特許第１０／７６４１１１号の一部継続出願である。
【技術分野】
【０００２】
本発明は、ピアツーピア（peer-to-peer）ネットワーク通信を改善する方法を提供するものであり、特に、１又は複数のピアツーピア・ネットワークを相互に接続し、１つのネットワークからの通信メッセージを受け取り、それを別のネットワークに転送する、そして、オプションではあるが、通信メッセージの半径パラメータを変更して、ネットワーク上でのその通信メッセージの移動半径を拡大する方法を提供する。
【背景技術】
【０００３】
本発明の主題でありこの明細書で説明するピアツーピア・ネットワークは、複数のノードを備えていて、それぞれのノードは、データ又は「通信メッセージ」を接続されているノードとの間で送受信することができるファイル・サーバ及びクライアントの両方で構成されているのが典型的である。
【０００４】
ピアツーピア・ネットワークでは、それぞれのノードは、インターネットなどの通信媒体により、直接に又は何らかのタイプのプロキシを経由して、他のノードに接続されている。例えば、サーチ・リクエストが送出される際には、送信側のノードは、この送信側のノードが接続されているすべてのノードにサーチ・リクエストを送信する（図１を参照のこと）。これらのノードは利用可能なファイルのリストをサーチして、一致が見つかると、その位置とともに応答を返送する。しかし、ピアツーピア・プロキシ・ネットワークは、典型的には、ノードＢに接続されたノードＡで構成されていて、ノードＢはノードＣに接続されている（図２を参照のこと）。ノードＡは、ノードＣに接続されていないから、ノードＡがサーチ・リクエストを送出する場合には、このサーチ・リクエストはノードＢに送られ、ノードＢがその利用可能なファイルをサーチし、一致が見つかると、応答がノードＡに返送される。ノードＢは、次に、ノードＡのリクエストをノードＣに転送し、ノードＣがその利用可能なファイルをサーチし、一致が見つかると、応答がノードＢに返送される。ノードＢは、次に、この応答をノードＡに転送する。図３は、非プロキシ型のループ・ネットワークを示しているが、この場合、それぞれのノードは、相互に直接に接続されている。
【０００５】
リーフ／メイン・ノード・プロキシ・トポロジを用いるピアツーピア・ネットワークもあり（図４を参照のこと）、この場合には、ノードのいくつかがメイン・ノードと分類され、残りのノードがリーフ・ノードと分類される。リーフ・ノードは、メイン・ノードにしか接続できない。メイン・ノードだけが、他のメイン・ノードに接続できる。リーフ・ノードは、サーチ・リクエストを生じるときには、そのリクエストを、自分が接続されているメイン・ノードに送る。そして、そのメイン・ノードが、リクエストを、自分が接続されているすべての他のリーフ・ノードに転送し、更に、自分が接続されているすべてのメイン・ノードにも転送する。これらのメイン・ノードは、リクエストを、それらに接続されているすべてのリーフ・ノードに転送する。
【０００６】
ピアツーピア・ネットワークでは、通信メッセージは、接続されているノードに送られ、逆に、これらのノードはそれぞれが通信メッセージを接続されている他のノードに送る。
【０００７】
通常はそれぞれが属性の好適な組を有する複数のピアツーピア・ネットワークが存在する。その特定の属性のためにある１つのピアツーピア・ネットワークを用いることを望むユーザは、その特定のネットワークにアクセスするために特定のソフトウェアをインストールしなければならない。多くの場合、ユーザは、複数のネットワークへのアクセスを望むから、複数のソフトウェア・アプリケーションを自分自身のコンピュータにインストールすることになる。ユーザは、ある特定のネットワークをサーチすることを望むときには、その特定のソフトウェア・アプリケーションを起動してサーチを開始しなければならない。結果が満足できるものではない場合には、ユーザは第２のアプリケーションを起動し、第２のピアツーピア・ネットワークをサーチしなければならない。従って、ユーザが自らが選択したソフトウェア・アプリケーションを用いてある１つのネットワークをサーチするとその通信メッセージが第２のネットワークに自動的に転送されるのであれば、便利である。
【０００８】
図９を参照すると、ピアツーピア・ネットワークが図示されているが、ピアツーピア・ネットワークは通常の大規模なものである。これらのネットワークは、数百数千もの非常に多くのノードから構成されている。そのようなネットワークを動作させるのに必要な帯域幅を限定するため、ノードは、コミュニティによって課せられた送信距離すなわち「半径」という制限を有する。通信メッセージは、「ホップ」や生存時間（ＴＴＬ）など、通信メッセージの半径パラメータを含む。ホップは、０から開始して通信が転送されるたびにインクリメントされる値である。生存時間は、通常は５から開始して通信が転送されるたびにデクリメントされる値である。ホップが予め設定された値（多くの場合は５である）に到達すると、又は、生存時間が０に到達すると、その通信はネットワークから廃棄される。多くの場合、ノードは、「最長生存時間」の設定を有しており、これは５に設定されているのが通常である。ノードが、設定された最長生存時間よりも多く通信メッセージを受け取ると、そのパケットは廃棄されるか、又は、通信メッセージの生存時間が最長生存時間の中の設定値まで減らされる。これにより、効果的に、コミュニティの生存時間値が強制され、送信側ノードから通信メッセージを受け取るノードの数が制限される。通信メッセージがある距離だけ移動した時点で、通信メッセージの半径パラメータが最適な又はほぼ最適な値に変更され、通信メッセージの移動可能距離が増加されるならば、効果的である。例えば、通信メッセージは、４ホップ移動し、その時点で、設定を０に戻すことが可能になる。
【０００９】
従って、本発明の目的は、ピアツーピア・ネットワークを改善する方法を提供することである。本発明の別の目的は、２以上のピアツーピア・ネットワークを相互に接続して、ある１つのネットワークからの通信メッセージを受け取り、別のネットワークに提供することである。本発明の更に別の目的は、ピアツーピア・ネットワークからの通信メッセージを受け取り、通信メッセージの半径パラメータを最適な又はほぼ最適な値に変更して、その通信メッセージを再送信し、通信の半径又は距離が延長されるようにすることである。
【発明の開示】
【００１０】
一般に、本発明は、以下で述べる方法の中の少なくとも１つを用いることによりピアツーピア・ネットワーク通信を改善する方法を提供する。好適な方法は、次のステップを含む。
【００１１】
例えば、少なくとも１つの改善ノードがピアツーピア・ネットワークの中に配置される。この改善ノードは、（ａ）オプションであるが、同じ又は異なるピアツーピア・ネットワークに二度目に接続し、（ｂ）あるネットワークからの通信メッセージを受け取り、それを同じ又は別のネットワークに転送し、オプションであるが、通信メッセージの半径パラメータを最適な又はほぼ最適な値に設定する。更に、この改善ノードは、あるネットワークからの通信メッセージを受け取り、それを、通信メッセージを廃棄するか転送するかを判断するための１組の定義と比較する。改善ノードは、オプションであるが、通信メッセージの半径パラメータを最適の又はほぼ最適の値に設定し、通信メッセージを転送する。
【００１２】
このようにして、本発明は、１又は複数のピアツーピア・ネットワークを相互に接続して１つのピアツーピア・ネットワークからの通信メッセージを受け取り、別のピアツーピア・ネットワークに与える方法を提供する。本発明は、すべての通信メッセージが転送されることは要求しないし、改善ノードが複数のネットワークに接続することも要求しない。そのような実施例では、改善ノードは、サーチ及びサーチ応答の通信メッセージだけを転送し、それ以外の通信メッセージは転送しない。別の実施例では、改善ノードは同じネットワークに接続して通信メッセージを受け取り、通信メッセージの半径パラメータを最適な又はほぼ最適な値に変更し、それを同じネットワーク上に再度送出する。別の実施例では、改善ノードはすべての通信メッセージを受け取りすべての通信メッセージを転送する。別の実施例では、改善ノードは１つのネットワークからの通信メッセージを受け取り、予め構成された情報を用いてそれを別のネットワークに転送するべきかどうかを判断する。更に別のネットワークでは、改善ノードはネットワーク上のあるノードから通信メッセージを受け取り、元のノードに代わって、同じ方法を含む新たなメッセージを同じネットワーク上に、又は、別のネットワーク上に提供する。
【００１３】
すべての実施例において、改善ノードは、以下に述べる特徴の中の１又は複数を有するように構成されている、これらの特徴は、ピアツーピア・ネットワーク通信を改善して宛先になっている特定のネットワークにおけるネットワーク・ノードと比較して強化された性能を提供する方法において用いられる。このように、通信メッセージを受け取り転送するのには、すべての性能がそれぞれの改善ノードの中にプログラムされることは必ずしも必要ではない。好適な構成は、以下のものを含む。
【００１４】
改善ノードは、同じネットワークに複数回接続するように構成されている。
改善ノードは、複数のネットワークに接続するように構成されている。
改善ノードは、複数のネットワークに複数回接続するように構成されている。
【００１５】
改善ノードは、あるネットワークから通信メッセージを受け取り別のネットワークに転送するように構成されている。
改善ノードは、あるネットワークから通信メッセージを受け取り、その通信メッセージの半径パラメータを変更し、その通信メッセージを別のネットワークに再送信するように構成されている。
【００１６】
改善ノードは、あるネットワークから通信メッセージを受け取り、通信メッセージの半径パラメータを変更し、その通信メッセージを同じネットワークに再送信するように構成されている。
【００１７】
改善ノードは、予めプログラムされた構成に基づいて、通信メッセージを転送する判断をするように構成されている。
改善ノードは、予めプログラムされた構成に基づいて、通信メッセージの半径パラメータを変更する判断をするように構成されている。
【００１８】
改善ノードは、あるノードからの通信メッセージを受け取り、同じ情報を有するが識別情報をそれ自身のものに変更した新たな通信メッセージを作成し、その新たな通信メッセージを同じ又は異なるネットワークに転送し、前記通信メッセージへの応答を受け取り、新たな通信メッセージの応答を元のノードに転送する。
【００１９】
改善ノードは、複数のプロトコルを理解するように構成されている。
改善ノードは、複数のネットワークを相互にブリッジするように構成されている。
改善ノードは、１つのネットワークを別のネットワークにルーティングするように構成されている。
【００２０】
改善ノードは、通信メッセージを反復してその移動距離を延長するように構成されている。
本発明のこれ以外の効果は、添付の図面を参照して本発明の好適実施例に関する以下の詳細な説明を読むことにより明らかになるはずである。
【発明を実施するための最良の形態】
【００２１】
図７及び８を参照すると、本発明の好適な方法は、少なくとも１つの改善ノードを効果的に用いる。改善ノードはある好適な属性を有しており、これらの属性はエンド・ユーザが希望する特定のタイプの通信の改善のために構成されている。
【００２２】
本発明のある好適実施例では、改善ノードは、特定のロジック又はプログラミング・コード（すなわちソフトウェア）を用いてプログラムすることができるコンピュータ、薄型装置、ＡＳＩＣベースのデバイス又はそれ以外の類似のデバイスなどのハードウェアとソフトウェアとの両方で構成されている。この好適実施例では、デバイスは、好ましくは、直接に又はゲートウェイの使用を経由して物理ネットワークと接続することができる。プログラミング・ロジックにより、デバイスは、物理ネットワークと物理ネットワークの上に存在するのが典型的であるピアツーピア・ネットワークとの両方において送受信することができる。本発明の好適実施例では、プログラミング・ロジックは、ソフトウェア・プログラムであるが、典型的にはＡＳＩＣベースのデバイスの上で見られるようなハードコードされた充電不可能な手順情報でもありうる。
【００２３】
図５を参照すると、流れ図が、改善ノードとして機能して２つのピアツーピア・ネットワークに付随するデバイスを構成するプログラミング・ロジックの方法を開示している。この改善ノードは、一方のネットワーク上にあるノードから通信メッセージを受け取り、他方のネットワークに転送する。
【００２４】
図６を参照すると、流れ図が、改善ノードとして機能して同じ１つのピアツーピア・ネットワークに２回付随するデバイスを構成するプログラミング・ロジックの方法を開示している。この改善ノードは、ネットワーク上にあるノードから通信メッセージを受け取り、通信メッセージの半径パラメータを変更し、同じネットワークに転送する。
【００２５】
一方のネットワークから他方のネットワークへの通信の伝送を防止することに意味のある場合がある。例えば、改善ノードのオペレータが著作権侵害リクエストがこれらのネットワークを移動することを防止しようとしているときなどは、そうである。この場合には、通信メッセージを受け取り、基準と比較し、一致が見つかるかどうか何らかのイベントを実行するように、プログラミング・ロジックを構成することができる。プログラミング・ロジックは、通信メッセージを廃棄し他のネットワークに転送しないことを選択できる。この選択は、負荷などのトリガ・ポイントに応じて自動的な場合もあるし、プログラミング・ロジックのユーザによってなされるという構成も可能である。
【００２６】
比較方法には、ストリング相互、完全ストリング、部分ストリング、ファジー・ロジック、パトリシア・ツリーなど、２以上のストリング又は２以上のストリングの部分の類似性を比較するのに用いることができる任意の方法が含まれる。ストリングの比較は、他のサーチとともに部分的に行ってスループットを上昇させることができるし、又は、それらをシリアルに（つまり、１つずつの意味）比較することもできる。一致が生じる場合には、プログラミング・ロジックは、そのようにプログラムがなされているならば、通信メッセージを廃棄することができる。
【００２７】
そのような実施例では、改善ノードは、他の通信メッセージは転送することなく、単に、サーチ及びサーチ応答の通信メッセージを転送するだけである。この実施例では、改善ノードは、通信メッセージを受け取り、それがサーチであるのかサーチに対する応答であるのかを判断し、見つけたことに基づいて通信メッセージを転送する又は廃棄する。
【００２８】
別の実施例では、改善ノードは「中継器（リピータ）」として機能するので、通信メッセージは、通常の場合よりもネットワークを遠くまで移動することができる。この場合には、改善ノードは、１つのノード又はネットワークから通信メッセージを受け取り、通信メッセージの半径パラメータを最適又はほぼ最適な値に設定して、その通信メッセージを再送信する。
【００２９】
別の実施例では、改善ノードは、すべての通信メッセージを受け取り、すべての通信メッセージを転送する。この実施例では、改善ノードは、１つのネットワークからすべての通信メッセージを受け取り、別のネットワークに転送する。
【００３０】
別の実施例では、改善ノードは、１つのノードからの通信メッセージを受け取り、そのノードに代わって、リクエストを同じネットワークか又は別のネットワークに向けて生じさせる。これは、キャッシュ環境において、又は、元のノードがその識別子を秘匿することを望むような環境において有用である。このノードは、改善ノードが受け取るであろう通信メッセージを生じる。改善ノードは、元の通信メッセージを、それ自身の通信メッセージの１つに代替し、通信メッセージをそれ自体で送信しているかのような外観を生じさせる。改善ノードは、ノード通信メッセージから「代理の」通信メッセージへのテーブルを維持する。通信メッセージ又はサービスが改善ノードに戻されると、改善ノードは、訂正のためにこのテーブルを見る。そして、改善ノードは、その通信メッセージ又はサービスを元のノードに転送する。
【００３１】
次に例について説明するが、以下の例は、本発明による方法の様々な実施例を説明するためのものである。
例１：図７を参照して、この例では、２つのネットワークを相互に接続し一方からの通信メッセージを受け取り他方に転送する方法を説明する。
【００３２】
この例では、ノードＡ、Ｂ及びＣは第１のネットワーク上にあり、ノードＥ、Ｆ及びＧは第２のネットワーク上にある。それぞれのネットワークは、プロトコルが異なるので、相互に通信することはできない。ノードＤは改善ノードであり両方のネットワークの一部を構成し、両方のプロトコルを理解することができる。ノードＡは「Ａ」というファイル名のファイルをサーチし、このサーチ・リクエストをノードＢ及びＣに送信する。ノードＢ及びＣはこのサーチ・リクエストを受け取る。ノードＣは、このサーチ・リクエストをノードＤに転送する。ノードＤはこのサーチ・リクエストを受け取り、ノードＥに転送する。ノードＥはこのサーチ・リクエストを受け取り、ノードＦ及びＧに転送する。ノードＦ及びＧはこのサーチ・リクエストを受け取る。すべてのノードが、このサーチ・リクエストを処理する。ノードＧは、求められているファイルを有していることを発見し、応答をノードＥに送信する。ノードＥはこの応答をノードＤに転送する。ノードＤはこの応答をノードＣに転送する。ノードＣはこの応答をノードＡに転送する。ノードＡはこの応答を、別のネットワーク上にあるノードＧから受け取ることになる。
【００３３】
例２：図８を参照して、この例では、単一のネットワーク上にある複数のノードから通信メッセージを受け取り、通信メッセージの半径パラメータを変更し、その変更された通信メッセージを同じネットワークに転送する方法が説明される。
【００３４】
この例では、すべてのノードは１つのネットワークの上にあり、ノードＣは改善ノードであって任意の通信メッセージを受け取り、通信メッセージの半径パラメータを最適な又はほぼ最適な値に変更し、その通信メッセージを再送信する方法が説明される。
【００３５】
ノードＡは、自分自身がネットワークに接続されている位置から３ホップを超えてサーチ・リクエストを送信することができないように構成されている。ノードＡはサーチ・リクエストをノードＢに送る。ノードＢはサーチ・リクエストを受け取り、そのホップ値を１にインクリメントして、ノードＣに転送する。ノードＣはサーチ・リクエストを受け取り、ホップ値を０にリセットして、ノードＤに転送する。ノードＤはサーチ・リクエストを受け取り、そのホップ値を１にインクリメントして、ノードＥに転送する。ノードＥはサーチ・リクエストを受け取り、そのホップ値を２にインクリメントして、ノードＦに転送する。ノードＦはサーチ・リクエストを受け取る。すべてのノードがサーチ・リクエストを処理する。ノードＦは、求められているファイルを有していることを発見し、ホップ値が０の応答を生成して、その応答をノードＥに送信する。ノードＥは応答を受け取り、ホップ値を１にインクリメントして、この応答をノードＤに転送する。ノードＤは応答を受け取り、ホップ値を２にインクリメントして、ノードＣに転送する。ノードＣは応答を受け取り、ホップ値を０に変更する。ノードＣは応答をノードＢに転送する。ノードＢは応答を受け取り、ホップ値を１にインクリメントして、ノードＡに転送する。ノードＡは応答を受け取る。最終的な結果は、ノードＧは５ホップ離れているけれどもノードＡと通信することができるということである。
【００３６】
例３：図７を参照して、例３では、２つのネットワークを相互に接続し、一方からの通信メッセージを受け取り、それを基準のリストと比較し、一致する場合には通信メッセージを廃棄し一致しない場合には転送する方法が説明される。
【００３７】
この例では、ノードＡ、Ｂ及びＣは第１のネットワーク上にあり、ノードＥ、Ｆ及びＧは第２のネットワーク上にある。それぞれのネットワークは、異なるプロトコルを用いるので、相互に通信することはできない。ノードＤは改善ノードであり両方のネットワークの一部を構成し、両方のプロトコルを用いて動作可能である。ノードＤは、「Madonnna.txt」に対するサーチを廃棄するように構成されている。ノードＡは、「Madonnna.txt」というファイル名のファイルをサーチするのだが、このサーチ・リクエストをノードＢ及びＣに送る。ノードＢ及びＣはこのサーチ・リクエストを受け取る。ノードＣはこのサーチ・リクエストをノードＤに転送する。ここで、ノードＤは「Madonnna.txt」と一致するサーチを廃棄するように構成されているので、そして、ノードＡは「Madonnna.txt」をサーチしているのだから、ノードＤはこのサーチを放棄する。
【００３８】
ノードＡは、次に、「Ａ」というファイル名のファイルをサーチし、このサーチ・リクエストをノードＢ及びＣに送る。ノードＢ及びＣはこのサーチ・リクエストを受け取る。ノードＣはこのサーチ・リクエストをノードＤに転送する。ここで、ノードＤは「Madonnna.txt」と一致するサーチを廃棄するように構成されており、ノードＡは「Ａ」をサーチしているのだから、ノードＤはこのサーチ・リクエストをノードＥに転送する。ノードＥはこのサーチ・リクエストを受け取り、ノードＦ及びＧに転送する。ノードＦ及びＧはこのサーチ・リクエストを受け取る。こうして、すべてのノードがこのサーチ・リクエストを処理する。ノードＧは自分自身がそのファイルを有していることを発見し、応答をノードＥに送る。ノードＥはこの応答をノードＤに転送する。ノードＤはこの応答をノードＣに転送する。ノードＣはこの応答をノードＡに転送する。このようにして、ノードＡは、この応答を、別のネットワーク上にあるノードＧから受け取る。
【００３９】
例４：図７を再び参照して、例４では、２つのネットワークを相互に接続し、一方からの通信メッセージを受け取り、サーチ及びサーチ・リクエストだけを別のネットワークに転送しそれ以外のものは何も別のネットワークに転送しない方法が説明される。
【００４０】
この例では、ノードＡ、Ｂ及びＣは第１のネットワーク上にあり、ノードＥ、Ｆ及びＧは第２のネットワーク上にある。それぞれのネットワークは、異なるプロトコルを用いるので、相互に通信することはできない。ノードＤは改善ノードであり両方のネットワークの一部を構成し、両方のプロトコルを用いることができる。ノードＡは「Ａ」というファイル名のファイルをサーチするのだが、このサーチ・リクエストをノードＢ及びＣに送る。ノードＢ及びＣはこのサーチ・リクエストを受け取る。ノードＣはこのサーチ・リクエストをノードＤに転送する。ノードＤはこのサーチ・リクエストを受け取りノードＥに転送する。ノードＥはこのサーチ・リクエストを受け取り、ノードＦ及びＧに転送する。ノードＦ及びＧはこのサーチ・リクエストを受け取る。こうして、すべてのノードがこのサーチ・リクエストを処理する。ノードＧは自分自身がそのファイルを有していることを発見し、応答をノードＥに送る。ノードＥはこの応答をノードＤに転送する。ノードＤはこの応答をノードＣに転送する。ノードＣはこの応答をノードＡに転送する。このようにして、ノードＡは、この応答を、別のネットワーク上にあるノードＧから受け取る。
【００４１】
ノードＡは次にピング・リクエストをノードＢ及びＣに送る。ノードＢはこのリクエストを受け取り応答する。ノードＣはこのリクエストを受け取り応答する。ノードＣはこのピング・リクエストをノードＤを転送する。ノードＤは、サーチ・リクエスト及び応答だけを転送するように構成されているので、このピングを受け取り応答するが、ピングを転送することはない。
【００４２】
例５：図７を参照して、例５では、第１のネットワーク上にあるノードからの通信を受け取り第２のネットワークに転送し、実際にはそうではないにもかかわらず元の通信に改善ノードから来たような外観を与える方法が説明される。この例に関しては図７を参照してほしい。
【００４３】
この例では、ノードＤは改善ノードである。ノードＣはファイル名が「Ｘ」であるファイルを見つけてサーチ・リクエストをノードＤに送ることを望む。ノードＤはこのサーチ・リクエストを受け取り、同じサーチ・タームを有するがそれ自体のアドレス情報を有する新たなリクエストを送る。ノードＤはこのリクエストをテーブルに記憶することにより、どのようなリクエストであっても受け取ったときにはそれをノードＣに転送することを知る。ノードＤはこのリクエストをノードＥに転送する。ノードＥはこのサーチ・リクエストを受け取り、一致があることを発見する。ノードＥはノードＤのアドレス情報を有する応答を生成して、その応答をノードＤに転送する。ノードＤは応答を受け取り、それをテーブルに関して参照して、この応答がノードＣに対するものであることを発見し、この応答をノードＣに転送する。
【００４４】
以上で、本発明の好適実施例を示し説明してきたが、本発明は、特に断らない場合には、冒頭の特許請求の範囲の範囲内で実現することができる。
【図面の簡単な説明】
【００４５】
【図１】２ノード型のピアツーピア・ネットワークの単純化された概略である。
【図２】ピアツーピア・プロキシ・ネットワークの単純化された概略である。
【図３】ピアツーピア・ノンプロキシ・ループ・ネットワークの単純化された概略である。
【図４】ピアツーピア・リーフ／メイン・ネットワークの単純化された概略である。
【図５】改善ノードを２つのネットワークを相互に接続するようにプログラムする又は構成する流れ図である。
【図６】改善ノードを通信メッセージの半径パラメータを最適な又はほぼ最適な値に変更するようにプログラムする又は構成する流れ図である。
【図７】２つのピアツーピア・ネットワークが改善ノードを介して相互に接続されている単純化された概略である。
【図８】通信メッセージの半径パラメータをリセットするのに用いられる改善ノードの単純化された概略である。
【図９】大規模なピアツーピア・ネットワークの単純化された概略である。
【図１】
2007519375.tif 000003
【図２】
2007519375.tif 000004
【図３】
2007519375.tif 000005
【図４】
2007519375.tif 000006
【図５】
2007519375.tif 000007
【図６】
2007519375.tif 000008
【図７】
2007519375.tif 000009
【図８】
2007519375.tif 000010
【図９】
2007519375.tif 000011
【国際調査報告】
2007519375.tif 000012
2007519375.tif 000013
2007519375.tif 000014
2007519375.tif 000015
2007519375.tif 000016
2007519375.tif 000017