(57)【要約】本発明は、ピアツーピアネットワーク（１６０）において接続を確立する方法、及びピア、ピアツーピアネットワーク（１６０）を備える電気通信インフラストラクチャ、並びに該方法を実行するためのコンピュータプログラム製品に関する。接続はピアツーピアネットワーク（１６０）の第１のアドレス領域内の第１のピア（６１）とピアツーピアネットワーク（１６０）の第２のアドレス領域内の第２のピア（６２）との間で確立される。ピアツーピアネットワーク（１６０）において、第１のピア（６１）と第２のピア（６２）との間の直接接続を妨げるネットワークアドレス変換が発見される。ピアツーピアネットワーク（１６０）の第３のピアが中継ピア（Ｒ）と決められる。中継ピア（Ｒ）は第１のピア（６１）と第２のピア（６２）との間の接続を中継する。
2011507370.tif 000002
【特許請求の範囲】
【請求項１】
ピアツーピアネットワーク（１６０）の第１のアドレス領域内の第１のピア（６１）とピアツーピアネットワーク（１６０）の第２のアドレス領域内の第２のピア（６２）との間の接続を確立する方法であって、
前記ピアツーピアネットワーク（１６０）において、前記第１のピア（６１）と前記第２のピア（６２）との間の直接接続を妨げるネットワークアドレス変換を発見するステップ、
前記ピアツーピアネットワーク（１６０）の第３のピアを中継ピア（Ｒ）と決めるステップ、及び
前記中継ピア（Ｒ）によって、前記第１のピア（６１）と前記第２のピア（６２）との間の前記接続を中継するステップ
を備えることを特徴とする方法。
【請求項２】
請求項１記載の方法であって、
前記ピアツーピアネットワーク（１６０）のトポロジ及び接続情報に基づいて前記ネットワークアドレス変換を発見するステップを備え、前記接続情報は、前記ネットワークアドレス変換の動作の仕様、前記第１のアドレス領域内の前記第１のピア（６１）に関連するエンドポイント、及び前記第２のアドレス領域内の前記第２のピア（６２）に関連するエンドポイントを備えることを特徴とする方法。
【請求項３】
請求項１記載の方法であって、
前記ピアツーピアネットワーク（１６０）の１つ以上の他のピアを介してホップバイホップルーティングで前記第１のピア（６１）と前記第２のピア（６２）との間で前記第１のピア（６１）及び前記第２のピア（６２）それぞれの接続情報を交換するステップを備えることを特徴とする方法。
【請求項４】
請求項１記載の方法であって、
前記第１のピア（６１）によって、前記第１のピア（６１）の接続情報を備える中継接続要求（６１０）を前記中継ピア（Ｒ）に送信するステップ、
前記中継ピア（Ｒ）によって、前記中継ピア（Ｒ）の接続情報を備える中継接続応答（６１１）を前記第１のピア（６１）に送信するステップ、
前記第１のピア（６１）と前記中継ピア（Ｒ）との間の直接接続がまだ確立されていない場合は、前記第１のピア（６１）と前記中継ピア（Ｒ）との間の直接接続（６１２、６１３）を確立するステップ、
前記第１のピア（６１）によって、前記中継ピア（Ｒ）のピア識別子を備える中継発見メッセージ（６１４）を前記第２のピア（６２）に送信するステップ、
前記第２のピア（６２）によって、前記第２のピア（６２）の接続情報を備える中継接続要求（６１５）を前記中継ピア（Ｒ）に送信するステップ、
前記中継ピア（Ｒ）によって、前記中継ピア（Ｒ）の接続情報を備える中継接続応答（６１６）を前記第２のピア（６２）に送信するステップ、及び
前記第２のピア（６２）と前記中継ピア（Ｒ）との間の直接接続がまだ確立されていない場合は、前記第２のピア（６２）と前記中継ピア（Ｒ）との間の直接接続（６１７）を確立するステップ
を備えることを特徴とする方法。
【請求項５】
請求項１記載の方法であって、
１つ以上の中継候補（ＲＣ）のリスト（５０）から前記中継ピア（Ｒ）を選択するステップであって、前記リストは前記第１のピア（６１）及び／又は前記第２のピア（６２）によって提供され、前記選択は、
前記ピアツーピアネットワーク（１６０）においてすでに確立されている１つ以上の直接接続が前記第１のピア（６１）と前記第２のピア（６２）との間の前記中継接続のために再利用されることが可能な中継候補（ＲＣ）を選択するステップ、及び
別の中継候補（ＲＣ）より少ない中継接続に関与する中継候補（ＲＣ）を選択するステップ
のうちの１つ以上に基づく、ステップ
を備えることを特徴とする方法。
【請求項６】
請求項１記載の方法であって、
第１のピア（１１）の接続情報を備えるブートストラッピング要求（２１０）をピアツーピアネットワーク（１２０）のパブリックに到達可能なアドレス領域内のピア（ＢＰ）に送信するステップであって、前記ピアツーピアネットワーク（１２０）の前記パブリックに到達可能なアドレス領域内の前記ピア（ＢＰ）はブートストラッピングピアとして機能する、ステップ、及び
ブートストラッピングピア（ＢＰ）によって、前記第１のピア（１１）と第２のピア（２２）との間で交換されるメッセージを中継するステップ
をさらに備えることを特徴とする方法。
【請求項７】
請求項１記載の方法であって、
前記第１のピア（６１）によって、割当て解除中継メッセージ（７１１）を前記中継ピア（Ｒ）に送信することにより中継接続（７１０）を終了するステップであって、前記割当て解除中継メッセージ（７１１）は、前記中継接続（７１０）は不必要であると宣言する、ステップ、
前記中継ピア（Ｒ）によって、（７１２）つまり前記第１のピア（６１）から受信された前記割当て解除中継メッセージ（７１１）を前記第２のピア（６２）に転送するステップ
前記第２のピア（６２）によって、前記中継ピア（Ｒ）に割当て解除中継メッセージ（７１３）を送信するステップ、
前記中継ピア（Ｒ）によって、（７１４）つまり前記第２のピア（６２）から受信された前記割当て解除中継メッセージ（７１３）を前記第１のピア（６１）に転送するステップ、及び
前記第１のピア（６１）において前記転送された割当て解除中継メッセージ（７１４）を受信した後に、前記中継接続（７１０）を終了するステップ
をさらに備えることを特徴とする方法。
【請求項８】
ピアツーピアネットワーク（８００）の第１のアドレス領域内の１つ以上のピア（８１）及び前記ピアツーピアネットワーク（８００）の第２のアドレス領域内の１つ以上のピア（８２）を備える前記ピアツーピアネットワーク（８００）のピア（８１、８２、８３）であって、
前記ピアツーピアネットワーク（８００）において、前記ピア（８１）と別のアドレス領域のピア（８２）との間の直接接続を妨げるネットワークアドレス変換を発見するように適応された発見する手段（８１１、８２１、８３２）、
前記ピアツーピアネットワーク（８００）のピア（８３）を中継ピアと決めるように適応された決定手段（８１２、８２２、８３２）、
前記ピアツーピアネットワーク（８００）の前記第１のアドレス領域内の第１のピア（８１）と前記ピアツーピアネットワーク（８００）の前記第２のアドレス領域内の第２のピア（８２）との間の接続の中継をサポートするように適応された中継手段（８１２、８２２、８３２）、及び
前記ピアツーピアネットワーク（８００）において、情報、とりわけ接続情報を伝搬するように適応された伝搬手段（８１２、８２２、８３２）
を備えることを特徴とするピア（８１、８２、８３）。
【請求項９】
ピアツーピアネットワーク（１６０）の第１のアドレス領域内の第１のピア（６１）及び前記ピアツーピアネットワーク（１６０）の第２のアドレス領域内の第２のピア（６２）を有する前記ピアツーピアネットワーク（１６０）を備えた電気通信インフラストラクチャであって、
前記第１のピア（６１）と前記第２のピア（６２）との間の直接接続を妨げるネットワークアドレス変換、及び
前記第１のピア（６１）と前記第２のピア（６２）との間の前記接続を中継するように適応された中継ピア（Ｒ）と決められた前記ピアツーピアネットワーク（１６０）の第３のピア、
をさらに備えることを特徴とする電気通信インフラストラクチャ。
【請求項１０】
ピアツーピアネットワーク（８００）の第１のアドレス領域内の１つ以上のピア（８１）及び前記ピアツーピアネットワーク（８００）の第２のアドレス領域内の１つ以上のピア（８２）を備える前記ピアツーピアネットワーク（８００）において接続を確立するためのコンピュータプログラム製品であって、
前記ピアツーピアネットワーク（８００）のピア（８１、８２、８３）によって実行された場合、
前記ピアツーピアネットワーク（８００）において、前記ピア（８１）と別のアドレス領域のピア（８２）との間の直接接続を妨げるネットワークアドレス変換を発見するステップ、
前記ピアツーピアネットワーク（８００）のピア（８３）を中継ピアと決めるステップ、
前記ピアツーピアネットワーク（８００）の前記第１のアドレス領域内の第１のピア（８１）と前記ピアツーピアネットワーク（８００）の前記第２のアドレス領域内の第２のピア（８２）との間の接続の中継をサポートするステップ、及び
前記ピアツーピアネットワーク（８００）において、情報、とりわけ接続情報を伝搬するステップ
を実行することを特徴とするコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はピアツーピアネットワークにおいて接続を確立する方法、及びピア、ピアツーピアネットワークを備えた電気通信インフラストラクチャ、並びに該方法を実行するためのコンピュータプログラム製品に関する。
【背景技術】
【０００２】
ネットワークオペレータ（電気通信事業者及び企業）は強い競争力を維持し、顧客保有率を上げるために最低限のＣＡＰＥＸ／ＯＰＥＸによる負担の軽い解決策を非常に必要としている（ＣＡＰＥＸ＝資本支出、ＯＰＥＸ＝運用経費）。
【０００３】
最低限の集中型インフラストラクチャを有する低ＯＰＥＸシステムは、しばしばオーバレイネットワークにおいて高度に分散されたデータベースを使用する。オーバレイネットワーク、例えばピアツーピア（＝Ｐ２Ｐ）ネットワークは、既存のＩＰネットワークの上の仮想ネットワークである（ＩＰ＝インターネットプロトコル）。Ｃｈｏｒｄのような現代のＰ２Ｐシステムは参加ピアをグラフ、つまりノード及びエッジの構造に編成する。ノードは参加ピアを表し、エッジは２つのピア間の近隣関係を表す。オーバレイ内の各ピアは、オーバレイ内のその位置を定義する一意の識別子（ピアＩＤ又はノードＩＤ）を有する（ＩＤ＝識別子／識別）。近隣であるピアは直接ＩＰ接続を介して接続される。うまく構成されたオーバレイが効率のよいルーティング及びルックアップ機構のために必要である。メッセージは宛先ピアのＩＰアドレスを知らずに、オーバレイを介して他のピアに送信されることが可能である。
【０００４】
ネットワークアドレス変換（＝ＮＡＴ）ルータは、Ｐ２Ｐネットワークにおける接続確立に対して、よく知られている問題を引き起こす。Ｐ２Ｐオーバレイ内の各パーティシパント（ピア）はパブリックＩＰアドレス領域にあってもよく、あるいは１つ以上のＮＡＴデバイスの背後にあるプライベートＩＰアドレス領域にあってもよい。ユーザインターネットノードの大多数がＮＡＴルータの背後にあると仮定する。プライベート領域内のピアにパブリック領域又は別のプライベート領域から直接到達することは不可能である。関係するＮＡＴデバイスのコラボレーションが保証されることは不可能なので、ＮＡＴデバイスとのコラボレーションではなくＮＡＴ動作の予測に依存するＮＡＴトラバーサルソリューションが必要とされる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的はＮＡＴを有するＰ２Ｐネットワークにおける接続の確立を改善することである。
【課題を解決するための手段】
【０００６】
本発明の目的は、ピアツーピアネットワークの第１のアドレス領域内の第１のピアとピアツーピアネットワークの第２のアドレス領域内の第２のピアとの間の接続を確立する方法によって達成され、本方法は、ピアツーピアネットワークにおいて、第１のピアと第２のピアとの間の直接接続を妨げるネットワークアドレス変換を発見するステップ、ピアツーピアネットワークの第３のピアを中継ピアと決めるステップ、及び中継ピアによって第１のピアと第２のピアとの間の接続を中継するステップを備える。本発明の目的は、ピアツーピアネットワークの第１のアドレス領域内の１つ以上のピア及びピアツーピアネットワークの第２のアドレス領域内の１つ以上のピアを備えるピアツーピアネットワークのピアによってさらに達成され、ピアは、ピアツーピアネットワークにおいて、そのピアと別のアドレス領域のピアとの間の直接接続を妨げるネットワークアドレス変換を発見するように適応された発見する手段、ピアツーピアネットワークの１つのピアを中継ピアと決めるように適応された決定手段、ピアツーピアネットワークの第１のアドレス領域内の第１のピアとピアツーピアネットワークの第２のアドレス領域内の第２のピアとの間の接続の中継をサポートするように適応された中継手段、及びピアツーピアネットワークにおいて、情報、とりわけ接続情報を伝搬するように適応された伝搬手段を備える。さらに、本発明の目的は、ピアツーピアネットワークの第１のアドレス領域内の第１のピア及びピアツーピアネットワークの第２のアドレス領域内の第２のピアを有するピアツーピアネットワークを備える電気通信インフラストラクチャによって達成され、電気通信インフラストラクチャは、第１のピアと第２のピアとの間の直接接続を妨げるネットワークアドレス変換、及び第１のピアと第２のピアとの間の接続を中継するように適応された中継ピアと決められたピアツーピアネットワークの第３のピアをさらに備える。さらに、本発明の目的は、ピアツーピアネットワークの第１のアドレス領域内の１つ以上のピア及びピアツーピアネットワークの第２のアドレス領域内の１つ以上のピアを備えるピアツーピアネットワークにおいて接続を確立するためのコンピュータプログラム製品によって達成され、コンピュータプログラム製品は、ピアツーピアネットワークのピアによって実行された場合、ピアツーピアネットワークにおいて、該ピアと別のアドレス領域のピアとの間の直接接続を妨げるネットワークアドレス変換を発見するステップ、ピアツーピアネットワークの１つのピアを中継ピアと決めるステップ、ピアツーピアネットワークの第１のアドレス領域内の第１のピアとピアツーピアネットワークの第２のアドレス領域内の第２のピアとの間の接続の中継をサポートするステップ、及びピアツーピアネットワークにおいて、情報、とりわけ接続情報を伝搬するステップを実行する。
【０００７】
本発明はＰ２ＰネットワークにおけるＮＡＴトラバーサル問題を解決するための新しい可能性を提供する。ホールパンチング、ＳＴＵＮ、ＴＵＲＮ、及びＩＣＥのような従来技術の解決策は中央サーバ構成要素を必要とし、従って、中央構成要素はＰ２Ｐネットワークにおけるピアの数に比例せず、中央構成要素はサービスプロバイダにとってのＯＰＥＸを増大させるので、重大な欠点を含む（ＳＴＵＮ＝Ｓｉｍｐｌｅ  Ｔｒａｖｅｒｓａｌ  ｏｆ  Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ  Ｔｈｒｏｕｇｈ  Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ、ＴＵＲＮ＝Ｔｒａｖｅｒｓａｌ  Ｕｓｉｎｇ  Ｒｅｌａｙ  ＮＡＴ、ＩＣＥ＝Ｉｎｔｅｒａｃｔｉｖｅ  Ｃｏｎｎｅｃｔｉｖｉｔｙ  Ｅｓｔａｂｌｉｓｈｉｍｅｎｔ）
【０００８】
従来技術において知られている前述の解決策とは対照的に、本発明は、完全なＮＡＴトラバーサルソリューションを有する構造化Ｐ２Ｐオーバレイネットワークを拡張することにより中央サーバ構成要素の必要性を最小化する。
【０００９】
中央サーバ構成要素の必要性の最小化はいくつかの利点をもたらす。第１に、必要とされるサービスを提供するために参加ユーザの資源が使用されるので、サービスプロバイダにとってのＯＰＥＸが低減されることになる。第２に、オーバレイのパーティシパントが多くなるにつれて必要とされるサービスを提供するピアの数も多くなるので、より良いスケーラビリティが達成される。第３に、本発明を使用したＰ２Ｐネットワークは、ターゲットにされる可能性がある中央インスタンスがないので、サービス妨害攻撃に対する強靭性の向上を示す。
【００１０】
前述の従来技術の解決策は構造化Ｐ２Ｐオーバレイ（例えば、Ｃｈｏｒｄ）の特別な必要条件及び可能性を考慮しないが、本発明は、プライベートアドレス領域内のピアがそれらのＮＡＴをトラバースし、オーバレイに参加することができるようにすることにより、構造化Ｐ２Ｐオーバレイネットワークを拡張する。
【００１１】
さらに、本発明は１つのピアごとに１つのＩＰアドレスで管理する。これは、Ｐ２Ｐネットワーク内のピアは、通常、ＩＰアドレスを１つしか有しないので、ＮＡＴ動作の検出のためにＩＰアドレスを２つ必要とするＳＴＵＮサーバ、そしてまたＴＵＲＮサーバ（ＴＵＲＮはＳＴＵＮを拡張したものなので）と比較して、かなりの簡略化を意味する。従って、本発明の通常のＰ２Ｐネットワークへの統合は平易かつ簡単である。
【００１２】
本発明によれば、ピアがオーバレイに参加する場合、ピアはその「接続情報」を検出するために複数のピアとインタラクトする。接続情報はＮＡＴ動作、パブリックエンドポイント及びプライベートエンドポイントから成る。接続情報の検出のためには、ＳＴＵＮと同様のプロトコルが使用されるが、第２のＩＰアドレスは必要がない。従って、パブリック領域にあるオーバレイ内のどのピアも全てこのサービスを提供することができる。
【００１３】
本発明によれば、１つのピアが別のピアへの接続を確立したいと思う場合、両者はオーバレイを介してそれらの接続情報を交換する。従って、ランデブーサーバは必要がない。２つのピアは交換された接続情報を用いてホールパンチングの機構に基づいて直接接続を確立しようと試みる。
【００１４】
オーバレイにまだ参加していないピアはその接続相手の接続情報を受信することができない。接続情報はオーバレイを介してルーティングされ、オーバレイにすでに参加しているピア宛にのみ送信されることが可能である。従って、参加ピアは、オーバレイにすでに参加しているピアの支援を必要とする。そのピアは参加ピアとオーバレイとの間の接続確立のために必要とされるメッセージを中継する。
【００１５】
本発明によれば、接続を確立したいと思う２つのピアは、直接接続の試みが失敗した場合は、両者間でメッセージを中継することになる第３のピアからの支援を要求する。２つのピアは中継ピアへの直接接続を確立する。好ましくは、中継ピアは２つのピアのうちの１つに直接接続をすでに確立している。すでに接続されている直接接続の再利用は接続確立の労力を最小化するのに役立つ。
【００１６】
さらなる利点は、添付の特許請求の範囲によって示されている本発明の諸実施形態によって達成される。
【００１７】
本発明の好ましい実施形態によれば、上記ネットワークアドレス変換の発見はピアツーピアネットワークのトポロジ及び接続情報に基づく。Ｐ２Ｐネットワークの各ピアはそのピアに特有のそれ自体の接続情報を有する。Ｐ２Ｐネットワークのオーバレイにすでに統合されているピアには、接続情報によって到達することができる。好ましくは、ピア特有の接続情報は、そのピアに関連するＮＡＴを特定するＮＡＴタイプ、１つ以上の自己認識エンドポイント、及び１つ以上のＵＮＳＡＦ派生エンドポイントを備える（ＵＮＳＡＦ＝Ｕｎｉｌａｔｅｒａｌ  Ｓｅｌｆ  Ａｄｄｒｅｓｓ  Ｆｉｘｉｎｇ）。好ましくは、ピア特有の接続情報はまた、１つ以上の中継候補を備える。
【００１８】
ＮＡＴタイプは、マッピング動作（マッピングなし、ＥＩＭ、ＡＤＭ、ＰＤＭ）、フィルタリング動作（ＥＩＦ、ＡＤＦ、ＰＤＦ）及びヘアピン変換（可能、不可能）によって表される（ＥＩＭ＝エンドポイント非依存マッピング、ＡＤＭ＝アドレス依存マッピング、ＰＤＭ＝アドレス及びポート依存マッピング、ＥＩＦ＝エンドポイント非依存フィルタリング、ＡＤＦ＝アドレス依存フィルタリング、ＰＤＦ＝アドレス及びポート依存フィルタリング）。自己認識エンドポイントは、ローカルオペレーティングシステムの方法を使用して発見されたＩＰアドレス及びポートのタプルである。ＵＮＳＡＦ派生エンドポイントはＵＮＳＡＦ機構（例えば、ＳＴＵＮ）を介して発見されたＩＰアドレス及びポートのタプルである。ピアがＮＡＴされていない、例えばＮＡＴデバイスの背後にない場合は、ＵＮＳＡＦ派生エンドポイントは自己認識エンドポイントに等しい。中継候補は中継サービスを提供するＰ２Ｐネットワークのピアを表す。候補はそのようなピアのピアＩＤ、及び中継候補を格付けするために使用されるヒューリスティック値のセットによって識別される。
【００１９】
好ましくは、上記ネットワークアドレス変換の発見は、発見されたネットワークアドレス変換の動作の仕様、第１のアドレス領域内の第１のピアに関連するエンドポイント及び第２のアドレス領域内の第２のピアに関連するエンドポイントを備える接続情報に基づく。
【００２０】
本発明の他の好ましい実施形態によれば、第１のピア及び第２のピアは、ピアツーピアネットワークの１つ以上の他のピアを介してホップバイホップルーティングで第１のピアと第２のピアとの間でそれらそれぞれの接続情報を交換する。
【００２１】
接続が２つのピア間で確立される必要がある場合は、両方のピアは前に集められた接続情報を交換する必要がある。接続情報はＰ２Ｐオーバレイを介して交換される。ネットワークに対する最小の影響を保証するために、接続要求及び接続応答の２つのメッセージだけが送信される。接続要求メッセージは要求ピア即ち第１のピアの接続情報及び接続ＩＤを含む。接続ＩＤは、接続を確立しようとするこの試みに属するメッセージの識別のために使用される。接続応答は接続要求と同じ接続ＩＤを含む必要がある。通常、接続応答は応答ピア即ち第２のピアの接続情報を含む。そうでなければ、接続応答は接続要求に対する断りと解釈されなければならない。接続要求は、応答ピアが何らかの理由で、例えば応答ピアがＰ２Ｐネットワークを出て行きつつあるか又はその接続境界に到達しているために接続を確立することができない場合は拒否される可能性がある。
【００２２】
本発明の他の好ましい実施形態によれば、中継ピアを介しての第１のピアと第２のピアとの間の中継接続の確立は、以下の諸ステップによって行われる。第１のステップは、第１のピアによって、第１のピアの接続情報を備えた中継接続要求を中継ピアに送信するステップである。次のステップは、中継ピアによって、中継ピアの接続情報を備えた中継接続応答を第１のピアに送信するステップを備える。次のステップは、第１のピアと中継ピアとの間の直接接続がまだ確立されていない場合は、第１のピアと中継ピアとの間の直接接続を確立するステップを備える。第１のピアと中継ピアとの間の直接接続がすでに確立されている場合は、第１のピアと中継ピアとの間の直接接続は再確立される必要がないので、第１のピアと中継ピアとの間の直接接続を確立するステップはスキップされる。
【００２３】
次のステップは、第１のピアによって、中継ピアのピア識別子を備えた中継される発見されたメッセージを第２のピアに送信するステップを備える。次のステップは、第２のピアによって、第２のピアの接続情報を備えた中継される接続要求を中継ピアに送信するステップを備える。次のステップは、中継ピアによって、中継ピアの接続情報を備えた中継される接続応答を第２のピアに送信するステップを備える。さらに、次のステップは、第２のピアと中継ピアとの間の直接接続がまだ確立されていない場合は、第２のピアと中継ピアとの間の直接接続を確立するステップを備える。第２のピアと中継ピアとの間の直接接続がすでに確立されている場合は、第２のピアと中継ピアとの間の直接接続は再確立される必要がないので、第２のピアと中継ピアとの間の直接接続を確立するステップはスキップされる。
【００２４】
好ましい実施形態では、第１のピア及び／又は第２のピアは１つ以上の中継候補を含むリストを提供する。中継ピアはこのリストから選択される。選択は、ピアツーピアネットワークにおいてすでに確立されている１つ以上の直接接続が第１のピアと第２のピアとの間の中継接続のために再利用されることが可能である中継候補を選択するステップ、及び別の中継候補より少ない中継接続に関与する中継候補を選択するステップのうちの１つ以上のステップに基づくことができる。中継接続を確立する場合に既存の直接接続を再利用することは、オーバレイネットワークを生成し維持するために必要なキープアライブトラフィックを低減する。
【００２５】
本発明の他の好ましい実施形態によれば、本方法は、第１のピアの接続情報を備えたブートストラッピング要求をピアツーピアネットワークのパブリックに到達可能なアドレス領域内のピアに送信するステップを備え、ピアツーピアネットワークのパブリックに到達可能なアドレス領域内のピアはブートストラッピングピアとして機能する。次のステップは、ブートストラッピングピアによって、第１のピアと第２のピアとの間で交換されるメッセージを中継するステップを備える。
【００２６】
好ましくは、中継接続の終了は以下の諸ステップを備える。第１のステップは、第１のピアによって、中継ピアに割当て解除中継メッセージを送信することにより中継接続を終了するステップを備え、割当て解除中継メッセージは、中継接続は不必要であると宣言する。次のステップは、中継ピアによって、第１のピアから受信された割当て解除中継メッセージを第２のピアに転送するステップを備える。次のステップは、第２のピアによって、割当て解除中継メッセージを中継ピアに送信するステップを備える。次のステップは、中継ピアによって、第２のピアから受信された割当て解除中継メッセージを第１のピアに転送するステップを備える。さらに、次のステップは、転送された割当て解除中継メッセージを第１のピアにおいて受信した後に、中継接続を終了するステップを備える。
【００２７】
本発明のこれらの並びに他の特徴及び利点は、添付の図面に関連して取り上げられた現時点で好ましい例示的実施形態の以下の詳細な説明を読むことにより、より良く理解されるであろう。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態によるピアツーピアネットワークのブロック図である。
【図２】本発明の一実施形態によるピアツーピアネットワークにおけるブートストラッピングサービスの図である。
【図３】本発明の一実施形態によるピアツーピアネットワークにおける直接接続の確立の図である。
【図４】本発明の一実施形態によるピアツーピアネットワークにおける直接接続の終了の図である。
【図５】本発明の一実施形態による中継候補のランク付けリストである。
【図６】本発明の一実施形態によるピアツーピアネットワークにおける中継接続の確立の図である。
【図７】本発明の一実施形態によるピアツーピアネットワークにおける中継接続の終了の図である。
【図８】ピアツーピアネットワークにおける本発明の一実施形態によるピアのブロック図である。
【発明を実施するための形態】
【００２９】
図１に、例えばＳＩＰネットワークのような電気通信インフラストラクチャを表すＰ２Ｐネットワーク１００を示す。Ｐ２Ｐネットワーク１００は、Ｐ２Ｐネットワーク１００のパブリックアドレス領域１０１内のＵＮＳＡＦサービスを提供する第１のピア１、及びＰ２Ｐネットワーク１００のプライベートアドレス領域１０２内の第２のピア２を備える。ＮＡＴデバイス２１、例えばＮＡＴを有するホームルータは、パブリックアドレス領域１０１からプライベートアドレス領域１０２を分離する。第２のピア２は、ＮＡＴの背後にあるピア、即ちいわゆるＮＡＴされたピアであり、パブリックアドレス領域１０１からはＮＡＴデバイス２１を介してのみ到達可能である。
【００３０】
ＵＮＳＡＦサービスは、ＵＮＳＡＦサービスを要求するピアがそれらのピアとＵＮＳＡＦサービスを提供するピアとの間にＮＡＴデバイスがあるかどうかを検出することができるようにする。ＮＡＴデバイスがある場合は、その動作、及びＮＡＴデバイスによってＵＮＳＡＦサービスを要求するピアに割り当てられたパブリックエンドポイントを検出することが可能である。このＵＮＳＡＦサービスはＳＴＵＮの軽いバージョンとみなされてよく、ＮＡＴの動作を検出する場合に正確さが落ちるのと引き替えに第２のＩＰアドレスは必要とされない。パブリックアドレス領域内にあるピアだけがＵＮＳＡＦサービスを提供することができる。このサービスを提供するピアは予め決められたポート上でＵＮＳＡＦ要求をリスンしなければならない。
【００３１】
ピアは、ＮＡＴデバイス動作、パブリックエンドポイント（１つ以上）、プライベートエンドポイント（１つ以上）、及び中継候補のリストから成るその接続情報（＝ＣＩ）を検出してからでないと、Ｐ２Ｐネットワーク１００のオーバレイネットワークに参加することができない。ＣＩの検出はプライベートエンドポイントから開始する。エンドポイントはＩＰアドレス及びポート番号によって表される。ＩＰアドレスはオペレーティングシステムから取得されることが可能であり、ポート番号はピアによって選択されることが可能である。第２のピア２はＵＮＳＡＦサービスを提供する少なくとも１つの第１のピア１のエンドポイントを知らなければならない。フォールバックソリューションとしてのみ、第２のピア２はそのようなエンドポイントを取得するための中央サーバを指してもよい。
【００３２】
第２のピア２は、ＵＮＳＡＦ要求２０１を第２のピア２のエンドポイント（＝プライベートエンドポイント）から第１のピア１のＵＮＳＡＦエンドポイントに送信する。このＵＮＳＡＦ要求２０１がＮＡＴデバイス２１を通る場合、ＵＮＳＡＦ要求２０１においてソースエンドポイントと指定されているプライベートエンドポイントは、ＮＡＴデバイス２１のエンドポイント（＝割り当てられたエンドポイント）と取り替えられる。これは、ＮＡＴの背後にある基本的な考えによる。ＵＮＳＡＦサービスを提供する第１のピア１は、受信されたＵＮＳＡＦ要求２０１を処理する。第１のピア１は、ＵＮＳＡＦ要求２０１からソースエンドポイント、即ちＮＡＴデバイス２１のエンドポイント（＝割り当てられたエンドポイント）を抽出する。第１のピア１は、ＵＮＳＡＦ要求２０１に対するＵＮＳＡＦ応答２０２を生成し、ＵＮＳＡＦ応答２０２に、抽出されたソースエンドポイント（＝割り当てられたエンドポイント）を宛先エンドポイントと書き入れる。言い換えれば、第１のピア１はＵＮＳＡＦ応答２０２を、割り当てられたエンドポイント、即ちＮＡＴデバイス２１のエンドポイント宛に送信する。ＵＮＳＡＦ応答２０２は、ＮＡＴ２１を通る場合、ＵＮＳＡＦ応答２０２において指定されている宛先エンドポイント、即ち割り当てられたエンドポイントは第２のピア２のプライベートエンドポイントと取り替えられる。しかし、ＵＮＳＡＦ応答２０２のペイロードは依然として割り当てられたエンドポイントを含む。
【００３３】
即ち、ＵＮＳＡＦ応答２０２は第１のピア１がＵＮＳＡＦ要求２０１から抽出したソースエンドポイントを（ペイロード内に）含む。第２のピア２はＵＮＳＡＦ応答２０２を受信し、ペイロード内のこのソースエンドポイントが、第２のピア２がＵＮＳＡＦ要求２０１をそこから送信したプライベートエンドポイントと同一かどうかをチェックする。このソースエンドポイントが、第２のピア２がＵＮＳＡＦ要求２０１をそこから送信したプライベートエンドポイントと同一である場合は、第２のピア２はパブリックアドレス領域１０１にあると結論を下すことができる。そうでなければ、ＵＮＳＡＦ要求２０１はＮＡＴデバイス２１を通過した。従って、第２のピア２はプライベートアドレス領域１０２にあり、そのＮＡＴデバイス２１の動作を調べる必要がある。
【００３４】
ＵＮＳＡＦ応答２０２はまた、ＵＮＳＡＦサービスを提供する、第１のピア１に知られている他のピアのエンドポイントのリストを含む。従って、第２のピア２は様々なピアに対してＵＮＳＡＦプロセスを繰り返すことができる。
【００３５】
本発明は、接続を確立する前に２つのピア間で接続情報（ＣＩ）を交換することに依存する。ＣＩは、オーバレイを介して送信されるメッセージによって交換される。しかし、これらのメッセージはオーバレイにすでに統合されているピアにしか到達することができない。新規のピアがオーバレイに参加しようとしている場合は、新規のピアはオーバレイにすでに統合されているピアの支援を必要とする。基本的には、これはパブリックアドレスを介して到達可能ないかなるピアでもよい。ブートストラッピングサービスを提供するピアは参加ピアとオーバレイとの間でメッセージを中継する。パブリック領域にあるピアだけがブートストラッピングサービスを提供することができる。ブートストラッピングサービスを提供するピアは、予め決められたポート上でブートストラッピング要求をリスンしなければならない。
【００３６】
図２に、ブートストラッピングピアＢＰ、近隣ピア２２、及び複数の他のピア２２０乃至２２３を有するＰ２Ｐネットワークのオーバレイ１２０を示す。ブートストラッピングピアＢＰ及び近隣ピア２２はＰ２Ｐオーバレイ１２０にすでに完全に統合されており、オーバレイ１２０を介してメッセージを受信することができる。参加ピア１１はＰ２Ｐオーバレイ１２０にまだ統合されていない。参加ピア１１がオーバレイネットワーク１２０に参加しつつある場合、以下の２つのステップが実行される必要がある。参加ピア１１はそのＣＩをすでに検出しており、オーバレイ１２０に参加しようとしている。従って、参加ピア１１は、Ｐ２Ｐプロトコルによって要求されているように、参加ピア１１がＤＨＴの役割を分担し合うピア（例えば、ピア２２）への接続を確立する必要がある（ＤＨＴ＝分散ハッシュテーブル）。
【００３７】
参加ピア１１は、ＣＩの検出中にコンタクトされたピアのうちの１つ、例えばブートストラッピングピアＢＰにブートストラッピング要求２１０を送信する。ブートストラッピング要求メッセージ２１０は参加ピア１１のＣＩ及び参加ピア１１のピアＩＤを含み、ピアＩＤはオーバレイ１２０における参加ピア１１の将来の位置を決める。従って、メッセージ２１０は近隣ピア２２宛に送信されることが可能である。ブートストラッピングピアＢＰは、オーバレイ１２０のその他のピア２２０乃至２２３のうちの１つ以上を介してホップバイホップルーティング２１１で、オーバレイ１２０を介して近隣ピア２２に参加ピア１１のＣＩを転送する。近隣ピア２２は参加ピア１１のＣＩを受信し、近隣ピア２２のＣＩを含む応答を生成する。応答はオーバレイ１２０のその他のピア２２０乃至２２３のうちの１つ以上を介してホップバイホップルーティング２１２でブートストラッピングピアＢＰに送信される。近隣ピア２２からの応答がブートストラッピングピアＢＰによって受信された後は、ブートストラッピングピアＢＰはブートストラッピング応答メッセージ２１３を参加ピア１１に返送し、ブートストラッピング応答メッセージ２１３は近隣ピア２２のＣＩを含む。これらのステップの後に、参加ピア１１はオーバレイ１２０に完全に統合される。
【００３８】
図３に、第１のピア３１、第２のピア３２、及び複数の他のピア３２０乃至３２３を有するＰ２Ｐネットワークのオーバレイ１３０を示す。第１のピア３１は第２のピア３２への接続を確立したいと思う。第１のピア３１と第２のピア３２との間の直接接続の確立のためには、以下の諸ステップが実行される必要がある。第１のピア３１は、オーバレイ１３０のその他のピア３２０乃至３２３の１つ以上を介してホップバイホップルーティングで第２のピア３２に接続要求メッセージ３１０を送信し、接続要求メッセージ３１０は第１のピア３１のＣＩを含む。接続要求３１０を受信した後に、第２のピア３２はオーバレイ１３０のその他のピア３２０乃至３２３のうちの１つ以上を介してホップバイホップルーティングで第１のピア３１に接続応答メッセージ３１１を送信し、接続応答メッセージ３１１は第２のピア３２のＣＩを含む。次いで、両方のピア３１、３２は相互のＣＩを知る。両方のピア３１、３２は、最適の接続方式を決めるために、交換されたＣＩを評価する必要がある。直接接続が可能かどうかは、関係するＮＡＴデバイスの動作に依存する。評価は以下の３つの可能な結果のうちの１つを有する。
ｉ）２つのピアが同じプライベート領域にあり、直接接続がプライベートエンドポイントを使用して確立されることが可能である。
ｉｉ）２つのピアがパブリックエンドポイントを使用して直接接続を確立することができる。
ｉｉｉ）関係するＮＡＴデバイスの動作が直接接続を妨げる。中継サービスを提供する第３のピアが見つけられる必要がある。中継接続の確立に関するさらなる詳細は以下で見ることが可能である。
【００３９】
直接接続を確立するために、ＵＮＳＡＦ派生エンドポイント又は自己認識エンドポイントのどちらが使用されてもよい。
【００４０】
プライベートエンドポイントを使用して直接接続を確立しようとする試みが失敗した場合は、パブリックエンドポイントを使用して直接接続を確立しようとする試みが行われる。パブリックエンドポイントを使用して直接接続を確立しようとする試みが失敗した場合は、中継接続が確立される。
【００４１】
図３は、直接接続が確立されることが可能である場合を示す。直接接続は、評価フェーズ中に決められたように、パブリックエンドポイントを介して、又はプライベートエンドポイントを介して確立されることが可能である。各ピア３１、３２は、他方のピア３１、３２それぞれのエンドポイントに接続メッセージ３１２、３２３を送信し始める。両方のピア３１、３２が少なくとも１つの接続メッセージを受信した場合、接続が確立される。ピア３１、３２のうちの１つが複数の試みの後に接続メッセージを受信することができなかった場合は、試みは失敗する。直接接続が確立された後は、ＮＡＴマッピング及びフィルタリングルールをリフレッシュするためにキープアライブメッセージが双方向に定期的に送信される必要がある。
【００４２】
図４は直接接続の終了を例示する。図４は、第１のピア３１及び第２のピア３２を有するＰ２Ｐネットワークのオーバレイ１３０を示す。第１のピア３１と第２のピア３２との間の直接接続４１０は、もう必要がなくなった後は、Ｐ２Ｐネットワークの資源を解放するために終了されてよい。Ｐ２Ｐプロトコルが接続を必要とするか、又はこの接続が中継の一部分である場合は、接続が必要である。第１のピア３１は、割当て解除メッセージ４１１を送信することにより接続４１０が不必要であることを第２のピア３２に通知する。代替として、第１のピア３１は、割当てメッセージ（図示されていない）を送信することにより接続４１０が必要であることを第２のピア３２に通知する。第２のピア３２が第１のピア３１から割当て解除メッセージ４１１を受信して接続４１０がもう必要がないことを認識した場合、第２のピア３１はまた、第１のピアに割当て解除メッセージ４１２を送信する。両方のピア３１、３２はこの接続４１０を不必要と考え、従ってこの接続は終了される。両方のピア３１、３２が接続４１０を不必要と考えた場合は、この接続は終了される。
【００４３】
ピア３１、３２のうちの１つがオーバレイ１３０を出ようとしている場合は、そのピアは、接続４１０を閉じるために他方のピアに終了メッセージを送信する。キープアライブメッセージが特定の継続時間の間に受信されなかった場合は、接続４１０はまた、終了される。
【００４４】
いくつかの場合には、２つのピア間の直接接続が確立されないことがある。その場合、２つのピアは２つのピア間の接続を中継する第３のピアの支援（中継接続確立）を必要とする。第１のピアから第２のピアへの中継接続は、第１のピアから中継ピアへの直接接続及び第２のピアから中継ピアへの直接接続から構成され、中継ピアは中継サービスを提供するピアである。各ピアは中継候補のリストを維持する。ピアは中継候補になるために満たさなければならないいくつかの必要条件があり、ピアはＡＤＭ、ＰＤＭ又はＰＤＦ動作を有するＮＡＴの背後にあってはならない。１つのピアが別のピアへの直接接続を確立し、その別のピアが前述の必要条件を満たしている場合、その別のピアは中継候補のリストに追加される。このリストは接続を確立する場合にＣＩと共に交換される。
【００４５】
２つのピア間で中継接続が必要とされる場合には、まず最適の中継が見つけられる必要がある。接続情報の交換中、２つのピアはまた、接続情報の一部分として中継候補を交換する。２つのピアの交換されたＣＩはそれぞれ中継候補のリストを含む。これらのピアの２つのリストは併合される。従って、オーバレイに統合された各ピアは少なくとも１つの中継候補を知っているはずである。さらに、オーバレイに参加しようとしているピアは、パブリック領域にあるはずのブートストラッピングピアを知っている。さらに、中継サービスを提供するピアを見つけるためにフォールバックソリューションが必要なこともある。接続情報を交換した後に、２つのピアは両方とも中継候補の同じリストを有する。
【００４６】
リスト上の各中継候補は、最初にどの中継候補がコンタクトされるべきかを決めるために格付けされる。好ましくは、リスト上の中継候補はヒューリスティック値を用いて格付けされる。格付けのための２つの適切な値は再利用及び集中である。
【００４７】
既存の接続を再利用する値はネットワークトラフィックを最適化する目的に基づく。ネットワークに対するストレスを最小化するためには、中継接続の一部分としてすでに確立されている直接接続を再利用することが最良である。すでに確立されている接続が再利用されるべきである。両方のピアが中継候補への接続をすでに確立している場合は、そのピアが最適であるはずであり、接続の再利用が最大化されるはずである。それらのピアのうちの１つが接続を確立している場合はさらに好ましい。
【００４８】
本発明の好ましい実施形態によれば、ローカルピアが中継候補へのアクティブな直接接続を有する場合は、再利用に関する値は１である。接続情報の交換の後に、両方のピアが同じ中継候補へのアクティブ接続を有することが知られた場合は、再利用に関する値は２である。従って、２つのピアのうちの１つのピアへの直接接続しか有しない中継候補より両方のピアへの直接接続をすでに確立している中継候補の方が好まれる。
【００４９】
中継接続の集中の値は多様化に関する。あるピアが同じ中継ピアを介しての中継を必要とする全ての接続を確立し、そのピアがネットワークを出る場合は、全ての接続が再確立されなければならない。従って、複数のピア上に中継接続を多様化すること、即ち、様々な中継ピア上に中継接続を分散する方が良い。従って、より少ないアクティブ中継接続を有する中継候補は、より多くの接続を有する中継候補より良い。本発明の好ましい実施形態によれば、集中に関する値は、この中継候補を介して確立されていてアクティブである中継接続の数に等しい。
【００５０】
シグナリング中継では、シグナリングトラフィックは、メディアトラフィックと違って、タイムクリティカルでもなく帯域幅コンシューミングでもないので、待ち時間又は帯域幅のような値は重要ではない。中継接続が確立される必要があると決められた後は、要求ピアの仕事はリストから適切な中継候補を選択することである。リストは、応答ピアの中継候補と結合された要求ピアの接続情報にある中継候補から成る。
【００５１】
好ましくは、リストはヒューリスティック値を使用してソートされる。再利用は主要なソート基準であり、その後に集中が続く。再利用値が高いほど、リストにおける中継候補のランク付けは高くなる。集中値が低いほど、ランク付けは高くなる。ソートされたリストの一実施例が図５に表示されている。リスト５０は、４つの列５１乃至５４、及び５つの行５１１乃至５１５を備える。列５１は５つの中継候補のピアＩＤを提供する。列５２は５つの中継候補に属すると考えられる再利用値を提供する。列５３は５つの中継候補に属すると考えられる集中値を提供する。列５４は５つの中継候補それぞれのランク付けを提供し、最高の格付けの中継候補が一番上に置かれている。
【００５２】
この場合、要求ピアは行５１１内の最高の格付けの候補と中継接続を確立しようと努める。それが失敗した（例えば中継候補が要求を拒否するか、又は全然応答しない）場合は、リスト５０は、接続が確立されることが可能になるまで、下の方へ行ごとに処理される。即ち、要求ピアは、接続が確立されることが可能になるまで、行５１２内の第２の格付けの候補と、行５１３内の第３の格付けの候補と、以下同様に、中継接続を確立しようと努める。
【００５３】
要求ピアが中継候補をランク付けして適切な候補が選択された後は、中継候補がコンタクトされる必要がある。中継接続は直接接続と同様に確立される。
【００５４】
図６は、第１のピア６１、第２のピア６２、最高のランク付けの中継候補として第１のピア６１によって選択された中継ピアＲ、並びに複数の他の中継候補ＲＣ及び他のピア６２０、６２１を有するＰ２Ｐネットワークのオーバレイ１６０を示す。第１のピア６１及び第２のピア６２は両方とも、別個のプライベートアドレス領域内にある。それらはＰ２Ｐオーバレイ１６０にすでに完全に統合されており、ホップバイホップルーティングを介してＰ２Ｐオーバレイ１６０の他のピアとメッセージを交換することができる。中継ピアＲは、中継ピアＲが中継であるための必要条件を満たす限り、プライベートアドレス領域にあってもパブリックアドレス領域にあってもよい。中継候補が中継候補のリストから選択された後は、第１のピア６１及び第２のピア６２は両方とも中継ピアＲへの直接接続を確立する必要がある。
【００５５】
第１のピア６１は、ピアツーピアネットワーク１６０のその他の中継候補ＲＣ及び／又はその他のピア６２０、６２１のうちの１つ以上を介してホップバイホップルーティングで、Ｐ２Ｐオーバレイ１６０を介して中継ピアＲに中継接続要求６１０を送信する。中継接続要求６１０は、第１のピア６１の接続情報、及び第１のピア６１と第２のピア６２との間の接続情報交換で使用されたのと同じ接続ＩＤを含む。中継ピアＲは、ピアツーピアネットワーク１６０のその他の中継候補ＲＣ及び／又はその他のピア６２０、６２１のうちの１つ以上を介してホップバイホップルーティングで第１のピア６１に送信される中継接続応答６１１を用いて応答する。中継接続応答６１１は中継ピアＲの接続情報及び接続ＩＤを含む。中継ピアＲはその接続情報を送信することにより、それが中継要求６１０を受け入れることをシグナリングする。中継接続応答６１１がＩＤしか含まない場合は、要求６１０は中継ピアＲによって拒否されたことになる。中継ピアＲが第１のピア６１の中継接続要求６１０を拒否した／断った場合は、第１のピア６１は新規の中継候補を見つける必要があることになる。
【００５６】
中継ピアＲが中継要求６１０を受諾することを中継ピアＲがシグナリングした後に、第１のピア６１及び中継ピアＲは相互に、即ちそれらそれぞれの交換されたエンドポイントに接続メッセージ６１２、６１３を送信することにより相互間の直接接続を確立しようと努める。第１のピア６１が中継ピアＲへの直接接続を確立することができない場合は、第１のピア６１は新規の中継候補を見つける必要がある。
【００５７】
第１のピア６１と中継ピアＲとの間の直接接続の確立が成功したと仮定すると、第１のピア６１は、中継候補が見つかったこと、即ち中継ピアＲが中継ピアとしての機能を果たすことを受諾したことを第２のピア６２に通知する必要がある。これは、ピアツーピアネットワーク１６０のその他の中継候補ＲＣ及び／又はその他のピア６２０、６２１のうちの１つ以上を介してホップバイホップルーティングで、Ｐ２Ｐオーバレイ１６０を介して中継発見メッセージ６１４を送信することにより達成される。中継発見メッセージ６１４は中継ピアＲのピアＩＤ及び接続ＩＤを含む。中継発見メッセージ６１４を受信した後に、第２のピア６２は、前述のようなやり方で、中継ピアＲへの直接接続を確立しようと努める。第２のピア６２は中継ピアＲに中継接続要求６１５を送信し、中継接続要求６１５は第２のピア６２の接続情報を含む。中継ピアＲは、中継接続要求６１５に応答して、中継ピアＲの接続情報を備える中継接続応答６１６を第２のピア６２に送信する。第２のピア６２と中継ピアＲとの間の接続情報の交換の後に、各ピア６２、Ｒは、他方のピアＲ、６２それぞれのエンドポイントに接続メッセージを送信し始める。両方のピア６２、Ｒが少なくとも１つの接続メッセージを受信した場合、第２のピア６２と中継ピアＲとの間で直接接続６１７が確立される。直接接続６１７は、第２のピア６２と中継ピアＲとの間の直接接続がまだ確立されていない場合に確立されるだけである。
【００５８】
従って、基本的には、要求する第１のピア６１及び応答する第２のピア６２の両方のピアが中継ピアＲへの接続の試みを開始する必要がある。従って、第２のピア６２から中継接続要求６１５が受信されるまで第２のピア６２にはいかなるメッセージも送信されないので、中継ピアＲが別のピアに対する攻撃で利用されることは不可能である。中継ピアＲは、送信された接続ＩＤによって中継接続要求を識別する。両方のピア６１、６２への直接接続を確立することができた後は、第１のピア６１から第２のピア６２に、及びその逆に、送信されるメッセージが正しく転送されるように、接続は論理的にリンクされる必要がある。
【００５９】
第１のピア６１と中継ピアＲとの間の、又は第２のピア６２と中継ピアＲとの間の直接接続がすでに確立されている場合は、このプロセスは部分的にスキップされてよい。その場合、中継接続要求及び応答は、この接続が今や中継の一部分であることを中継ピアＲに通知するために依然として交換されなければならないが、直接接続は再確立されなくてよい。中継ピアＲにとっては、中継接続を確立することは２つの直接接続を論理的にリンクすることに等しい。このリンクは以下の２つの目的のために必要である。
ｉ）第１のピア６１との接続が失われた場合は第２のピア６２に通知するために、２つの直接接続の接続状態を追跡すること。
ｉｉ）２つの直接接続の必要性を追跡すること。
【００６０】
リンクはオーバレイメッセージをルーティングするためには必要がない。どのオーバレイメッセージも全て、ルーティングの次のホップを決めるために使用される宛先ピアＩＤを含む。ルーティングアルゴリズムは直接接続のリストを処理し、宛先ＩＤの最も近くにつながるものを選択する。従って、リンクはルーティングのために使用されるのではなく、直接接続を有効にしておくために使用される。
【００６１】
中継ピアＲが第２のピア６２の中継接続要求６１５を断った場合は、第２のピア６２は、第１のピア６１が新規の中継候補を見つけようと努めることができるように、第１のピア６１に中継接続失敗メッセージを送信しなければならない。第２のピア６２が中継ピアＲへの直接接続を確立することができない場合は、第２のピア６２は、第１のピア６１が新規の中継候補を見つけようと努めることができるように、第１のピア６１に中継接続失敗メッセージを送信する必要がある。
【００６２】
中継接続は、もう必要がなくなった後は終了されてよい。直接接続の場合と同様に、端にある２つのピアは、ただし中継ピアではない、割当て解除中継メッセージを送信することにより接続は不必要であると宣言することができる。
【００６３】
それぞれ、割当て中継メッセージは接続が必要であると宣言する。両方のピアが接続は不必要であると宣言した場合には、中継接続は終了される。中継接続はまた、３つのピアのうちの１つがオーバレイを出る場合は、終了される。中継を終了した後に、中継の一部分であった２つの直接接続が依然として必要かどうかが評価されなければならない。
【００６４】
図７はプロセスを例示し、第１のピア６１、第２のピア６２及び中継ピアＲを有するＰ２Ｐネットワークのオーバレイ１６０を示す。中継接続７１０が第１のピア６１と第２のピア６２との間で確立される。中継接続７１０は第１のピア６１と中継ピアＲとの間の直接接続７１０ａ、及び第２のピア６２と中継ピアＲとの間の直接接続７１０ｂから成る。
【００６５】
第１のピア６１は中継ピアＲに割当て解除中継メッセージ７１１を送信し、中継接続７１０は不必要であると宣言する。中継ピアＲは、７１２つまり第１のピア６１によって送信された割当て解除中継メッセージ７１１を第２のピア６２に転送する。しばらくしてから、第２のピア６２はまた、割当て解除中継メッセージ７１３を中継ピアＲに送信する。中継ピアＲは７１４つまり第２のピア６２によって送信された割当て解除中継メッセージ７１３を第１のピア６１に転送する。第１のピア６１も第２のピア６２も中継７１０が必要であると考えていないので、中継接続７１０は終了される。直接接続７１０ａ、７１０ｂそれぞれの必要性が評価される必要がある。
【００６６】
図８は、両方ともピアツーピアネットワーク８００の第１のアドレス領域にある第１のピア８１及び中継ピア８３、並びにピアツーピアネットワーク８００の第２のアドレス領域にある第２のピア８２を備えるピアツーピアネットワーク８００を示す。第１のピア８１は第２のピア８２への接続を確立したいと思う。
【００６７】
第２のピア８２が第１のアドレス領域と第２のアドレス領域との間の境界にあるＮＡＴデバイス、例えばファイアウォール（図示されていない）の背後にあるため、第１のピア８１と第２のピア８２との間の直接接続は不可能なので、第１のピア８１と第２のピア８２との間の中継接続は中継ピア８３を介して確立される。
【００６８】
ピア８１、８２、８３はそれぞれ、１つ又はいくつかの相互リンクコンピュータ、即ちハードウェアプラットフォーム、ハードウェアプラットフォームに基づくソフトウェアプラットフォーム、並びにソフトウェア及びハードウェアプラットフォームによって形成されたシステムプラットフォームによって実行されるいくつかのアプリケーションプログラムから構成される。ピア８１、８２、８３それぞれの機能はこれらのアプリケーションプログラムの実行によって提供される。アプリケーションプログラム又はこれらのアプリケーションプログラムの選択された部分は、システムプラットフォーム上で実行された場合、前述のような接続確立サービスを提供するコンピュータソフトウェア製品を構成する。さらに、そのようなコンピュータソフトウェア製品は、これらのアプリケーションプログラム又はアプリケーションプログラムの上記選択された部分を記憶する記憶媒体によって構成される。
【００６９】
好ましくは、ピア８１、８２、８３は、スタンドアロンネットワークノード、例えば様々な物理的位置にあり、電気通信ネットワーク、例えば電話及びメディアトランスポートネットワーク又はインターネットを介して相互に接続された個々のパーソナルコンピュータである。
【００７０】
機能的な観点から、第１のピア８１は、ピアツーピアネットワーク８００において、第１のピア８１と第２のピア８２との間の直接接続を妨げるネットワークアドレス変換を発見するための発見ユニット８１１を備える。さらに、第１のピア８１は、ピアツーピアネットワーク８００の第３のピアを中継ピア８３と決めるための決定ユニット８１２を備える。さらに、第１のピア８１は、第１のピア８１と第２のピア８２との間の接続の中継をサポートするための中継ユニット８１３を備える。さらに、第１のピア８１は、ピアツーピアネットワーク８００の中の情報の伝搬のための伝搬手段８１４、例えばトランシーバインターフェースを備える。さらに、第１のピア８１は、第１のピア８１のＣＰＵによって実行された場合に第１のピア８１の諸機能を実行するコンピュータソフトウェア製品を記憶するためのメモリユニット８１５を備える（ＣＰＵ＝中央処理装置）。
【００７１】
好ましくは、発見ユニット８１１、決定ユニット８１２、中継ユニット８１３、及び伝搬手段８１４は、第１のピア８１の機能を制御する制御ユニット８１０のソフトウェア構成要素及び／又はハードウェア構成要素である。発見ユニット８１１、決定ユニット８１２、中継ユニット８１３、及び伝搬手段８１４は、制御ユニット８１０に接続された別個のユニットであることも可能である。好ましくは、制御ユニット８１０はまた、上記ＣＰＵを備える。
【００７２】
第１のピア８１の設計と同様に、第２のピア８２及び中継ピア８３はまた、それぞれの発見ユニット８２１及び８３１、それぞれの決定ユニット８２２及び８３２、それぞれの中継ユニット８２３及び８３３、それぞれの伝搬手段８２４及び８３４、並びにそれぞれのメモリユニット８２５及び８３５を備える。他のシナリオでは、Ｐ２Ｐネットワーク８００の中のピア８１、８２、８３の役割は変わってよい。例えば、中継ピア８３は応答ピアを表してよく、第１のピア８１は中継ピアを表してよく、第２のピア８２は要求ピアを表してよい。従って、ピア８１、８２、８３はそれぞれ、前述の機能的構成要素を全て備える。
【図１】
2011507370.tif 000003
【図２】
2011507370.tif 000004
【図３】
2011507370.tif 000005
【図４】
2011507370.tif 000006
【図５】
2011507370.tif 000007
【図６】
2011507370.tif 000008
【図７】
2011507370.tif 000009
【図８】
2011507370.tif 000010
【国際調査報告】
2011507370.tif 000011
2011507370.tif 000012
2011507370.tif 000013
2011507370.tif 000014