JP5153888B2 - 接続を確立する方法 - Google Patents

接続を確立する方法 Download PDF

Info

Publication number
JP5153888B2
JP5153888B2 JP2010537355A JP2010537355A JP5153888B2 JP 5153888 B2 JP5153888 B2 JP 5153888B2 JP 2010537355 A JP2010537355 A JP 2010537355A JP 2010537355 A JP2010537355 A JP 2010537355A JP 5153888 B2 JP5153888 B2 JP 5153888B2
Authority
JP
Japan
Prior art keywords
peer
relay
connection
network
candidates
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010537355A
Other languages
English (en)
Other versions
JP2011507370A (ja
Inventor
ヘルトル,アンドレアス
ピーラー,マルセル
トムス,マルコ
Original Assignee
アルカテル−ルーセント
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アルカテル−ルーセント filed Critical アルカテル−ルーセント
Publication of JP2011507370A publication Critical patent/JP2011507370A/ja
Application granted granted Critical
Publication of JP5153888B2 publication Critical patent/JP5153888B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2564NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2578NAT traversal without involvement of the NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/59Network arrangements, protocols or services for addressing or naming using proxies for addressing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明はピアツーピアネットワークにおいて接続を確立する方法、及びピア、ピアツーピアネットワークを備えた電気通信インフラストラクチャ、並びに該方法を実行するためのコンピュータプログラム製品に関する。
ネットワークオペレータ(電気通信事業者及び企業)は強い競争力を維持し、顧客保有率を上げるために最低限のCAPEX/OPEXによる負担の軽い解決策を非常に必要としている(CAPEX=資本支出、OPEX=運用経費)。
最低限の集中型インフラストラクチャを有する低OPEXシステムは、しばしばオーバレイネットワークにおいて高度に分散されたデータベースを使用する。オーバレイネットワーク、例えばピアツーピア(=P2P)ネットワークは、既存のIPネットワークの上の仮想ネットワークである(IP=インターネットプロトコル)。Chordのような現代のP2Pシステムは参加ピアをグラフ、つまりノード及びエッジの構造に編成する。ノードは参加ピアを表し、エッジは2つのピア間の近隣関係を表す。オーバレイ内の各ピアは、オーバレイ内のその位置を定義する一意の識別子(ピアID又はノードID)を有する(ID=識別子/識別)。近隣であるピアは直接IP接続を介して接続される。うまく構成されたオーバレイが効率のよいルーティング及びルックアップ機構のために必要である。メッセージは宛先ピアのIPアドレスを知らずに、オーバレイを介して他のピアに送信されることが可能である。
ネットワークアドレス変換(=NAT)ルータは、P2Pネットワークにおける接続確立に対して、よく知られている問題を引き起こす。P2Pオーバレイ内の各パーティシパント(ピア)はパブリックIPアドレス領域にあってもよく、あるいは1つ以上のNATデバイスの背後にあるプライベートIPアドレス領域にあってもよい。ユーザインターネットノードの大多数がNATルータの背後にあると仮定する。プライベート領域内のピアにパブリック領域又は別のプライベート領域から直接到達することは不可能である。関係するNATデバイスのコラボレーションが保証されることは不可能なので、NATデバイスとのコラボレーションではなくNAT動作の予測に依存するNATトラバーサルソリューションが必要とされる。
本発明の目的はNATを有するP2Pネットワークにおける接続の確立を改善することである。
本発明の目的は、ピアツーピアネットワークの第1のアドレス領域内の第1のピアとピアツーピアネットワークの第2のアドレス領域内の第2のピアとの間の接続を確立する方法によって達成され、本方法は、ピアツーピアネットワークにおいて、第1のピアと第2のピアとの間の直接接続を妨げるネットワークアドレス変換を発見するステップ、ピアツーピアネットワークの第3のピアを中継ピアと決めるステップ、及び中継ピアによって第1のピアと第2のピアとの間の接続を中継するステップを備える。本発明の目的は、ピアツーピアネットワークの第1のアドレス領域内の1つ以上のピア及びピアツーピアネットワークの第2のアドレス領域内の1つ以上のピアを備えるピアツーピアネットワークのピアによってさらに達成され、ピアは、ピアツーピアネットワークにおいて、そのピアと別のアドレス領域のピアとの間の直接接続を妨げるネットワークアドレス変換を発見するように適応された発見する手段、ピアツーピアネットワークの1つのピアを中継ピアと決めるように適応された決定手段、ピアツーピアネットワークの第1のアドレス領域内の第1のピアとピアツーピアネットワークの第2のアドレス領域内の第2のピアとの間の接続の中継をサポートするように適応された中継手段、及びピアツーピアネットワークにおいて、情報、とりわけ接続情報を伝搬するように適応された伝搬手段を備える。さらに、本発明の目的は、ピアツーピアネットワークの第1のアドレス領域内の第1のピア及びピアツーピアネットワークの第2のアドレス領域内の第2のピアを有するピアツーピアネットワークを備える電気通信インフラストラクチャによって達成され、電気通信インフラストラクチャは、第1のピアと第2のピアとの間の直接接続を妨げるネットワークアドレス変換、及び第1のピアと第2のピアとの間の接続を中継するように適応された中継ピアと決められたピアツーピアネットワークの第3のピアをさらに備える。さらに、本発明の目的は、ピアツーピアネットワークの第1のアドレス領域内の1つ以上のピア及びピアツーピアネットワークの第2のアドレス領域内の1つ以上のピアを備えるピアツーピアネットワークにおいて接続を確立するためのコンピュータプログラム製品によって達成され、コンピュータプログラム製品は、ピアツーピアネットワークのピアによって実行された場合、ピアツーピアネットワークにおいて、該ピアと別のアドレス領域のピアとの間の直接接続を妨げるネットワークアドレス変換を発見するステップ、ピアツーピアネットワークの1つのピアを中継ピアと決めるステップ、ピアツーピアネットワークの第1のアドレス領域内の第1のピアとピアツーピアネットワークの第2のアドレス領域内の第2のピアとの間の接続の中継をサポートするステップ、及びピアツーピアネットワークにおいて、情報、とりわけ接続情報を伝搬するステップを実行する。
本発明はP2PネットワークにおけるNATトラバーサル問題を解決するための新しい可能性を提供する。ホールパンチング、STUN、TURN、及びICEのような従来技術の解決策は中央サーバ構成要素を必要とし、従って、中央構成要素はP2Pネットワークにおけるピアの数に比例せず、中央構成要素はサービスプロバイダにとってのOPEXを増大させるので、重大な欠点を含む(STUN=Simple Traversal of User Datagram Protocol Through Network Address Translation、TURN=Traversal Using Relay NAT、ICE=Interactive Connectivity Establishiment)
従来技術において知られている前述の解決策とは対照的に、本発明は、完全なNATトラバーサルソリューションを有する構造化P2Pオーバレイネットワークを拡張することにより中央サーバ構成要素の必要性を最小化する。
中央サーバ構成要素の必要性の最小化はいくつかの利点をもたらす。第1に、必要とされるサービスを提供するために参加ユーザの資源が使用されるので、サービスプロバイダにとってのOPEXが低減されることになる。第2に、オーバレイのパーティシパントが多くなるにつれて必要とされるサービスを提供するピアの数も多くなるので、より良いスケーラビリティが達成される。第3に、本発明を使用したP2Pネットワークは、ターゲットにされる可能性がある中央インスタンスがないので、サービス妨害攻撃に対する強靭性の向上を示す。
前述の従来技術の解決策は構造化P2Pオーバレイ(例えば、Chord)の特別な必要条件及び可能性を考慮しないが、本発明は、プライベートアドレス領域内のピアがそれらのNATをトラバースし、オーバレイに参加することができるようにすることにより、構造化P2Pオーバレイネットワークを拡張する。
さらに、本発明は1つのピアごとに1つのIPアドレスで管理する。これは、P2Pネットワーク内のピアは、通常、IPアドレスを1つしか有しないので、NAT動作の検出のためにIPアドレスを2つ必要とするSTUNサーバ、そしてまたTURNサーバ(TURNはSTUNを拡張したものなので)と比較して、かなりの簡略化を意味する。従って、本発明の通常のP2Pネットワークへの統合は平易かつ簡単である。
本発明によれば、ピアがオーバレイに参加する場合、ピアはその「接続情報」を検出するために複数のピアとインタラクトする。接続情報はNAT動作、パブリックエンドポイント及びプライベートエンドポイントから成る。接続情報の検出のためには、STUNと同様のプロトコルが使用されるが、第2のIPアドレスは必要がない。従って、パブリック領域にあるオーバレイ内のどのピアも全てこのサービスを提供することができる。
本発明によれば、1つのピアが別のピアへの接続を確立したいと思う場合、両者はオーバレイを介してそれらの接続情報を交換する。従って、ランデブーサーバは必要がない。2つのピアは交換された接続情報を用いてホールパンチングの機構に基づいて直接接続を確立しようと試みる。
オーバレイにまだ参加していないピアはその接続相手の接続情報を受信することができない。接続情報はオーバレイを介してルーティングされ、オーバレイにすでに参加しているピア宛にのみ送信されることが可能である。従って、参加ピアは、オーバレイにすでに参加しているピアの支援を必要とする。そのピアは参加ピアとオーバレイとの間の接続確立のために必要とされるメッセージを中継する。
本発明によれば、接続を確立したいと思う2つのピアは、直接接続の試みが失敗した場合は、両者間でメッセージを中継することになる第3のピアからの支援を要求する。2つのピアは中継ピアへの直接接続を確立する。好ましくは、中継ピアは2つのピアのうちの1つに直接接続をすでに確立している。すでに接続されている直接接続の再利用は接続確立の労力を最小化するのに役立つ。
さらなる利点は、添付の特許請求の範囲によって示されている本発明の諸実施形態によって達成される。
本発明の好ましい実施形態によれば、上記ネットワークアドレス変換の発見はピアツーピアネットワークのトポロジ及び接続情報に基づく。P2Pネットワークの各ピアはそのピアに特有のそれ自体の接続情報を有する。P2Pネットワークのオーバレイにすでに統合されているピアには、接続情報によって到達することができる。好ましくは、ピア特有の接続情報は、そのピアに関連するNATを特定するNATタイプ、1つ以上の自己認識エンドポイント、及び1つ以上のUNSAF派生エンドポイントを備える(UNSAF=Unilateral Self Address Fixing)。好ましくは、ピア特有の接続情報はまた、1つ以上の中継候補を備える。
NATタイプは、マッピング動作(マッピングなし、EIM、ADM、PDM)、フィルタリング動作(EIF、ADF、PDF)及びヘアピン変換(可能、不可能)によって表される(EIM=エンドポイント非依存マッピング、ADM=アドレス依存マッピング、PDM=アドレス及びポート依存マッピング、EIF=エンドポイント非依存フィルタリング、ADF=アドレス依存フィルタリング、PDF=アドレス及びポート依存フィルタリング)。自己認識エンドポイントは、ローカルオペレーティングシステムの方法を使用して発見されたIPアドレス及びポートのタプルである。UNSAF派生エンドポイントはUNSAF機構(例えば、STUN)を介して発見されたIPアドレス及びポートのタプルである。ピアがNATされていない、例えばNATデバイスの背後にない場合は、UNSAF派生エンドポイントは自己認識エンドポイントに等しい。中継候補は中継サービスを提供するP2Pネットワークのピアを表す。候補はそのようなピアのピアID、及び中継候補を格付けするために使用されるヒューリスティック値のセットによって識別される。
好ましくは、上記ネットワークアドレス変換の発見は、発見されたネットワークアドレス変換の動作の仕様、第1のアドレス領域内の第1のピアに関連するエンドポイント及び第2のアドレス領域内の第2のピアに関連するエンドポイントを備える接続情報に基づく。
本発明の他の好ましい実施形態によれば、第1のピア及び第2のピアは、ピアツーピアネットワークの1つ以上の他のピアを介してホップバイホップルーティングで第1のピアと第2のピアとの間でそれらそれぞれの接続情報を交換する。
接続が2つのピア間で確立される必要がある場合は、両方のピアは前に集められた接続情報を交換する必要がある。接続情報はP2Pオーバレイを介して交換される。ネットワークに対する最小の影響を保証するために、接続要求及び接続応答の2つのメッセージだけが送信される。接続要求メッセージは要求ピア即ち第1のピアの接続情報及び接続IDを含む。接続IDは、接続を確立しようとするこの試みに属するメッセージの識別のために使用される。接続応答は接続要求と同じ接続IDを含む必要がある。通常、接続応答は応答ピア即ち第2のピアの接続情報を含む。そうでなければ、接続応答は接続要求に対する断りと解釈されなければならない。接続要求は、応答ピアが何らかの理由で、例えば応答ピアがP2Pネットワークを出て行きつつあるか又はその接続境界に到達しているために接続を確立することができない場合は拒否される可能性がある。
本発明の他の好ましい実施形態によれば、中継ピアを介しての第1のピアと第2のピアとの間の中継接続の確立は、以下の諸ステップによって行われる。第1のステップは、第1のピアによって、第1のピアの接続情報を備えた中継接続要求を中継ピアに送信するステップである。次のステップは、中継ピアによって、中継ピアの接続情報を備えた中継接続応答を第1のピアに送信するステップを備える。次のステップは、第1のピアと中継ピアとの間の直接接続がまだ確立されていない場合は、第1のピアと中継ピアとの間の直接接続を確立するステップを備える。第1のピアと中継ピアとの間の直接接続がすでに確立されている場合は、第1のピアと中継ピアとの間の直接接続は再確立される必要がないので、第1のピアと中継ピアとの間の直接接続を確立するステップはスキップされる。
次のステップは、第1のピアによって、中継ピアのピア識別子を備えた中継される発見されたメッセージを第2のピアに送信するステップを備える。次のステップは、第2のピアによって、第2のピアの接続情報を備えた中継される接続要求を中継ピアに送信するステップを備える。次のステップは、中継ピアによって、中継ピアの接続情報を備えた中継される接続応答を第2のピアに送信するステップを備える。さらに、次のステップは、第2のピアと中継ピアとの間の直接接続がまだ確立されていない場合は、第2のピアと中継ピアとの間の直接接続を確立するステップを備える。第2のピアと中継ピアとの間の直接接続がすでに確立されている場合は、第2のピアと中継ピアとの間の直接接続は再確立される必要がないので、第2のピアと中継ピアとの間の直接接続を確立するステップはスキップされる。
好ましい実施形態では、第1のピア及び/又は第2のピアは1つ以上の中継候補を含むリストを提供する。中継ピアはこのリストから選択される。選択は、ピアツーピアネットワークにおいてすでに確立されている1つ以上の直接接続が第1のピアと第2のピアとの間の中継接続のために再利用されることが可能である中継候補を選択するステップ、及び別の中継候補より少ない中継接続に関与する中継候補を選択するステップのうちの1つ以上のステップに基づくことができる。中継接続を確立する場合に既存の直接接続を再利用することは、オーバレイネットワークを生成し維持するために必要なキープアライブトラフィックを低減する。
本発明の他の好ましい実施形態によれば、本方法は、第1のピアの接続情報を備えたブートストラッピング要求をピアツーピアネットワークのパブリックに到達可能なアドレス領域内のピアに送信するステップを備え、ピアツーピアネットワークのパブリックに到達可能なアドレス領域内のピアはブートストラッピングピアとして機能する。次のステップは、ブートストラッピングピアによって、第1のピアと第2のピアとの間で交換されるメッセージを中継するステップを備える。
好ましくは、中継接続の終了は以下の諸ステップを備える。第1のステップは、第1のピアによって、中継ピアに割当て解除中継メッセージを送信することにより中継接続を終了するステップを備え、割当て解除中継メッセージは、中継接続は不必要であると宣言する。次のステップは、中継ピアによって、第1のピアから受信された割当て解除中継メッセージを第2のピアに転送するステップを備える。次のステップは、第2のピアによって、割当て解除中継メッセージを中継ピアに送信するステップを備える。次のステップは、中継ピアによって、第2のピアから受信された割当て解除中継メッセージを第1のピアに転送するステップを備える。さらに、次のステップは、転送された割当て解除中継メッセージを第1のピアにおいて受信した後に、中継接続を終了するステップを備える。
本発明のこれらの並びに他の特徴及び利点は、添付の図面に関連して取り上げられた現時点で好ましい例示的実施形態の以下の詳細な説明を読むことにより、より良く理解されるであろう。
本発明の一実施形態によるピアツーピアネットワークのブロック図である。 本発明の一実施形態によるピアツーピアネットワークにおけるブートストラッピングサービスの図である。 本発明の一実施形態によるピアツーピアネットワークにおける直接接続の確立の図である。 本発明の一実施形態によるピアツーピアネットワークにおける直接接続の終了の図である。 本発明の一実施形態による中継候補のランク付けリストである。 本発明の一実施形態によるピアツーピアネットワークにおける中継接続の確立の図である。 本発明の一実施形態によるピアツーピアネットワークにおける中継接続の終了の図である。 ピアツーピアネットワークにおける本発明の一実施形態によるピアのブロック図である。
図1に、例えばSIPネットワークのような電気通信インフラストラクチャを表すP2Pネットワーク100を示す。P2Pネットワーク100は、P2Pネットワーク100のパブリックアドレス領域101内のUNSAFサービスを提供する第1のピア1、及びP2Pネットワーク100のプライベートアドレス領域102内の第2のピア2を備える。NATデバイス21、例えばNATを有するホームルータは、パブリックアドレス領域101からプライベートアドレス領域102を分離する。第2のピア2は、NATの背後にあるピア、即ちいわゆるNATされたピアであり、パブリックアドレス領域101からはNATデバイス21を介してのみ到達可能である。
UNSAFサービスは、UNSAFサービスを要求するピアがそれらのピアとUNSAFサービスを提供するピアとの間にNATデバイスがあるかどうかを検出することができるようにする。NATデバイスがある場合は、その動作、及びNATデバイスによってUNSAFサービスを要求するピアに割り当てられたパブリックエンドポイントを検出することが可能である。このUNSAFサービスはSTUNの軽いバージョンとみなされてよく、NATの動作を検出する場合に正確さが落ちるのと引き替えに第2のIPアドレスは必要とされない。パブリックアドレス領域内にあるピアだけがUNSAFサービスを提供することができる。このサービスを提供するピアは予め決められたポート上でUNSAF要求をリスンしなければならない。
ピアは、NATデバイス動作、パブリックエンドポイント(1つ以上)、プライベートエンドポイント(1つ以上)、及び中継候補のリストから成るその接続情報(=CI)を検出してからでないと、P2Pネットワーク100のオーバレイネットワークに参加することができない。CIの検出はプライベートエンドポイントから開始する。エンドポイントはIPアドレス及びポート番号によって表される。IPアドレスはオペレーティングシステムから取得されることが可能であり、ポート番号はピアによって選択されることが可能である。第2のピア2はUNSAFサービスを提供する少なくとも1つの第1のピア1のエンドポイントを知らなければならない。フォールバックソリューションとしてのみ、第2のピア2はそのようなエンドポイントを取得するための中央サーバを指してもよい。
第2のピア2は、UNSAF要求201を第2のピア2のエンドポイント(=プライベートエンドポイント)から第1のピア1のUNSAFエンドポイントに送信する。このUNSAF要求201がNATデバイス21を通る場合、UNSAF要求201においてソースエンドポイントと指定されているプライベートエンドポイントは、NATデバイス21のエンドポイント(=割り当てられたエンドポイント)と取り替えられる。これは、NATの背後にある基本的な考えによる。UNSAFサービスを提供する第1のピア1は、受信されたUNSAF要求201を処理する。第1のピア1は、UNSAF要求201からソースエンドポイント、即ちNATデバイス21のエンドポイント(=割り当てられたエンドポイント)を抽出する。第1のピア1は、UNSAF要求201に対するUNSAF応答202を生成し、UNSAF応答202に、抽出されたソースエンドポイント(=割り当てられたエンドポイント)を宛先エンドポイントと書き入れる。言い換えれば、第1のピア1はUNSAF応答202を、割り当てられたエンドポイント、即ちNATデバイス21のエンドポイント宛に送信する。UNSAF応答202は、NAT21を通る場合、UNSAF応答202において指定されている宛先エンドポイント、即ち割り当てられたエンドポイントは第2のピア2のプライベートエンドポイントと取り替えられる。しかし、UNSAF応答202のペイロードは依然として割り当てられたエンドポイントを含む。
即ち、UNSAF応答202は第1のピア1がUNSAF要求201から抽出したソースエンドポイントを(ペイロード内に)含む。第2のピア2はUNSAF応答202を受信し、ペイロード内のこのソースエンドポイントが、第2のピア2がUNSAF要求201をそこから送信したプライベートエンドポイントと同一かどうかをチェックする。このソースエンドポイントが、第2のピア2がUNSAF要求201をそこから送信したプライベートエンドポイントと同一である場合は、第2のピア2はパブリックアドレス領域101にあると結論を下すことができる。そうでなければ、UNSAF要求201はNATデバイス21を通過した。従って、第2のピア2はプライベートアドレス領域102にあり、そのNATデバイス21の動作を調べる必要がある。
UNSAF応答202はまた、UNSAFサービスを提供する、第1のピア1に知られている他のピアのエンドポイントのリストを含む。従って、第2のピア2は様々なピアに対してUNSAFプロセスを繰り返すことができる。
本発明は、接続を確立する前に2つのピア間で接続情報(CI)を交換することに依存する。CIは、オーバレイを介して送信されるメッセージによって交換される。しかし、これらのメッセージはオーバレイにすでに統合されているピアにしか到達することができない。新規のピアがオーバレイに参加しようとしている場合は、新規のピアはオーバレイにすでに統合されているピアの支援を必要とする。基本的には、これはパブリックアドレスを介して到達可能ないかなるピアでもよい。ブートストラッピングサービスを提供するピアは参加ピアとオーバレイとの間でメッセージを中継する。パブリック領域にあるピアだけがブートストラッピングサービスを提供することができる。ブートストラッピングサービスを提供するピアは、予め決められたポート上でブートストラッピング要求をリスンしなければならない。
図2に、ブートストラッピングピアBP、近隣ピア22、及び複数の他のピア220乃至223を有するP2Pネットワークのオーバレイ120を示す。ブートストラッピングピアBP及び近隣ピア22はP2Pオーバレイ120にすでに完全に統合されており、オーバレイ120を介してメッセージを受信することができる。参加ピア11はP2Pオーバレイ120にまだ統合されていない。参加ピア11がオーバレイネットワーク120に参加しつつある場合、以下の2つのステップが実行される必要がある。参加ピア11はそのCIをすでに検出しており、オーバレイ120に参加しようとしている。従って、参加ピア11は、P2Pプロトコルによって要求されているように、参加ピア11がDHTの役割を分担し合うピア(例えば、ピア22)への接続を確立する必要がある(DHT=分散ハッシュテーブル)。
参加ピア11は、CIの検出中にコンタクトされたピアのうちの1つ、例えばブートストラッピングピアBPにブートストラッピング要求210を送信する。ブートストラッピング要求メッセージ210は参加ピア11のCI及び参加ピア11のピアIDを含み、ピアIDはオーバレイ120における参加ピア11の将来の位置を決める。従って、メッセージ210は近隣ピア22宛に送信されることが可能である。ブートストラッピングピアBPは、オーバレイ120のその他のピア220乃至223のうちの1つ以上を介してホップバイホップルーティング211で、オーバレイ120を介して近隣ピア22に参加ピア11のCIを転送する。近隣ピア22は参加ピア11のCIを受信し、近隣ピア22のCIを含む応答を生成する。応答はオーバレイ120のその他のピア220乃至223のうちの1つ以上を介してホップバイホップルーティング212でブートストラッピングピアBPに送信される。近隣ピア22からの応答がブートストラッピングピアBPによって受信された後は、ブートストラッピングピアBPはブートストラッピング応答メッセージ213を参加ピア11に返送し、ブートストラッピング応答メッセージ213は近隣ピア22のCIを含む。これらのステップの後に、参加ピア11はオーバレイ120に完全に統合される。
図3に、第1のピア31、第2のピア32、及び複数の他のピア320乃至323を有するP2Pネットワークのオーバレイ130を示す。第1のピア31は第2のピア32への接続を確立したいと思う。第1のピア31と第2のピア32との間の直接接続の確立のためには、以下の諸ステップが実行される必要がある。第1のピア31は、オーバレイ130のその他のピア320乃至323の1つ以上を介してホップバイホップルーティングで第2のピア32に接続要求メッセージ310を送信し、接続要求メッセージ310は第1のピア31のCIを含む。接続要求310を受信した後に、第2のピア32はオーバレイ130のその他のピア320乃至323のうちの1つ以上を介してホップバイホップルーティングで第1のピア31に接続応答メッセージ311を送信し、接続応答メッセージ311は第2のピア32のCIを含む。次いで、両方のピア31、32は相互のCIを知る。両方のピア31、32は、最適の接続方式を決めるために、交換されたCIを評価する必要がある。直接接続が可能かどうかは、関係するNATデバイスの動作に依存する。評価は以下の3つの可能な結果のうちの1つを有する。
i)2つのピアが同じプライベート領域にあり、直接接続がプライベートエンドポイントを使用して確立されることが可能である。
ii)2つのピアがパブリックエンドポイントを使用して直接接続を確立することができる。
iii)関係するNATデバイスの動作が直接接続を妨げる。中継サービスを提供する第3のピアが見つけられる必要がある。中継接続の確立に関するさらなる詳細は以下で見ることが可能である。
直接接続を確立するために、UNSAF派生エンドポイント又は自己認識エンドポイントのどちらが使用されてもよい。
プライベートエンドポイントを使用して直接接続を確立しようとする試みが失敗した場合は、パブリックエンドポイントを使用して直接接続を確立しようとする試みが行われる。パブリックエンドポイントを使用して直接接続を確立しようとする試みが失敗した場合は、中継接続が確立される。
図3は、直接接続が確立されることが可能である場合を示す。直接接続は、評価フェーズ中に決められたように、パブリックエンドポイントを介して、又はプライベートエンドポイントを介して確立されることが可能である。各ピア31、32は、他方のピア31、32それぞれのエンドポイントに接続メッセージ312、323を送信し始める。両方のピア31、32が少なくとも1つの接続メッセージを受信した場合、接続が確立される。ピア31、32のうちの1つが複数の試みの後に接続メッセージを受信することができなかった場合は、試みは失敗する。直接接続が確立された後は、NATマッピング及びフィルタリングルールをリフレッシュするためにキープアライブメッセージが双方向に定期的に送信される必要がある。
図4は直接接続の終了を例示する。図4は、第1のピア31及び第2のピア32を有するP2Pネットワークのオーバレイ130を示す。第1のピア31と第2のピア32との間の直接接続410は、もう必要がなくなった後は、P2Pネットワークの資源を解放するために終了されてよい。P2Pプロトコルが接続を必要とするか、又はこの接続が中継の一部分である場合は、接続が必要である。第1のピア31は、割当て解除メッセージ411を送信することにより接続410が不必要であることを第2のピア32に通知する。代替として、第1のピア31は、割当てメッセージ(図示されていない)を送信することにより接続410が必要であることを第2のピア32に通知する。第2のピア32が第1のピア31から割当て解除メッセージ411を受信して接続410がもう必要がないことを認識した場合、第2のピア31はまた、第1のピアに割当て解除メッセージ412を送信する。両方のピア31、32はこの接続410を不必要と考え、従ってこの接続は終了される。両方のピア31、32が接続410を不必要と考えた場合は、この接続は終了される。
ピア31、32のうちの1つがオーバレイ130を出ようとしている場合は、そのピアは、接続410を閉じるために他方のピアに終了メッセージを送信する。キープアライブメッセージが特定の継続時間の間に受信されなかった場合は、接続410はまた、終了される。
いくつかの場合には、2つのピア間の直接接続が確立されないことがある。その場合、2つのピアは2つのピア間の接続を中継する第3のピアの支援(中継接続確立)を必要とする。第1のピアから第2のピアへの中継接続は、第1のピアから中継ピアへの直接接続及び第2のピアから中継ピアへの直接接続から構成され、中継ピアは中継サービスを提供するピアである。各ピアは中継候補のリストを維持する。ピアは中継候補になるために満たさなければならないいくつかの必要条件があり、ピアはADM、PDM又はPDF動作を有するNATの背後にあってはならない。1つのピアが別のピアへの直接接続を確立し、その別のピアが前述の必要条件を満たしている場合、その別のピアは中継候補のリストに追加される。このリストは接続を確立する場合にCIと共に交換される。
2つのピア間で中継接続が必要とされる場合には、まず最適の中継が見つけられる必要がある。接続情報の交換中、2つのピアはまた、接続情報の一部分として中継候補を交換する。2つのピアの交換されたCIはそれぞれ中継候補のリストを含む。これらのピアの2つのリストは併合される。従って、オーバレイに統合された各ピアは少なくとも1つの中継候補を知っているはずである。さらに、オーバレイに参加しようとしているピアは、パブリック領域にあるはずのブートストラッピングピアを知っている。さらに、中継サービスを提供するピアを見つけるためにフォールバックソリューションが必要なこともある。接続情報を交換した後に、2つのピアは両方とも中継候補の同じリストを有する。
リスト上の各中継候補は、最初にどの中継候補がコンタクトされるべきかを決めるために格付けされる。好ましくは、リスト上の中継候補はヒューリスティック値を用いて格付けされる。格付けのための2つの適切な値は再利用及び集中である。
既存の接続を再利用する値はネットワークトラフィックを最適化する目的に基づく。ネットワークに対するストレスを最小化するためには、中継接続の一部分としてすでに確立されている直接接続を再利用することが最良である。すでに確立されている接続が再利用されるべきである。両方のピアが中継候補への接続をすでに確立している場合は、そのピアが最適であるはずであり、接続の再利用が最大化されるはずである。それらのピアのうちの1つが接続を確立している場合はさらに好ましい。
本発明の好ましい実施形態によれば、ローカルピアが中継候補へのアクティブな直接接続を有する場合は、再利用に関する値は1である。接続情報の交換の後に、両方のピアが同じ中継候補へのアクティブ接続を有することが知られた場合は、再利用に関する値は2である。従って、2つのピアのうちの1つのピアへの直接接続しか有しない中継候補より両方のピアへの直接接続をすでに確立している中継候補の方が好まれる。
中継接続の集中の値は多様化に関する。あるピアが同じ中継ピアを介しての中継を必要とする全ての接続を確立し、そのピアがネットワークを出る場合は、全ての接続が再確立されなければならない。従って、複数のピア上に中継接続を多様化すること、即ち、様々な中継ピア上に中継接続を分散する方が良い。従って、より少ないアクティブ中継接続を有する中継候補は、より多くの接続を有する中継候補より良い。本発明の好ましい実施形態によれば、集中に関する値は、この中継候補を介して確立されていてアクティブである中継接続の数に等しい。
シグナリング中継では、シグナリングトラフィックは、メディアトラフィックと違って、タイムクリティカルでもなく帯域幅コンシューミングでもないので、待ち時間又は帯域幅のような値は重要ではない。中継接続が確立される必要があると決められた後は、要求ピアの仕事はリストから適切な中継候補を選択することである。リストは、応答ピアの中継候補と結合された要求ピアの接続情報にある中継候補から成る。
好ましくは、リストはヒューリスティック値を使用してソートされる。再利用は主要なソート基準であり、その後に集中が続く。再利用値が高いほど、リストにおける中継候補のランク付けは高くなる。集中値が低いほど、ランク付けは高くなる。ソートされたリストの一実施例が図5に表示されている。リスト50は、4つの列51乃至54、及び5つの行511乃至515を備える。列51は5つの中継候補のピアIDを提供する。列52は5つの中継候補に属すると考えられる再利用値を提供する。列53は5つの中継候補に属すると考えられる集中値を提供する。列54は5つの中継候補それぞれのランク付けを提供し、最高の格付けの中継候補が一番上に置かれている。
この場合、要求ピアは行511内の最高の格付けの候補と中継接続を確立しようと努める。それが失敗した(例えば中継候補が要求を拒否するか、又は全然応答しない)場合は、リスト50は、接続が確立されることが可能になるまで、下の方へ行ごとに処理される。即ち、要求ピアは、接続が確立されることが可能になるまで、行512内の第2の格付けの候補と、行513内の第3の格付けの候補と、以下同様に、中継接続を確立しようと努める。
要求ピアが中継候補をランク付けして適切な候補が選択された後は、中継候補がコンタクトされる必要がある。中継接続は直接接続と同様に確立される。
図6は、第1のピア61、第2のピア62、最高のランク付けの中継候補として第1のピア61によって選択された中継ピアR、並びに複数の他の中継候補RC及び他のピア620、621を有するP2Pネットワークのオーバレイ160を示す。第1のピア61及び第2のピア62は両方とも、別個のプライベートアドレス領域内にある。それらはP2Pオーバレイ160にすでに完全に統合されており、ホップバイホップルーティングを介してP2Pオーバレイ160の他のピアとメッセージを交換することができる。中継ピアRは、中継ピアRが中継であるための必要条件を満たす限り、プライベートアドレス領域にあってもパブリックアドレス領域にあってもよい。中継候補が中継候補のリストから選択された後は、第1のピア61及び第2のピア62は両方とも中継ピアRへの直接接続を確立する必要がある。
第1のピア61は、ピアツーピアネットワーク160のその他の中継候補RC及び/又はその他のピア620、621のうちの1つ以上を介してホップバイホップルーティングで、P2Pオーバレイ160を介して中継ピアRに中継接続要求610を送信する。中継接続要求610は、第1のピア61の接続情報、及び第1のピア61と第2のピア62との間の接続情報交換で使用されたのと同じ接続IDを含む。中継ピアRは、ピアツーピアネットワーク160のその他の中継候補RC及び/又はその他のピア620、621のうちの1つ以上を介してホップバイホップルーティングで第1のピア61に送信される中継接続応答611を用いて応答する。中継接続応答611は中継ピアRの接続情報及び接続IDを含む。中継ピアRはその接続情報を送信することにより、それが中継要求610を受け入れることをシグナリングする。中継接続応答611がIDしか含まない場合は、要求610は中継ピアRによって拒否されたことになる。中継ピアRが第1のピア61の中継接続要求610を拒否した/断った場合は、第1のピア61は新規の中継候補を見つける必要があることになる。
中継ピアRが中継要求610を受諾することを中継ピアRがシグナリングした後に、第1のピア61及び中継ピアRは相互に、即ちそれらそれぞれの交換されたエンドポイントに接続メッセージ612、613を送信することにより相互間の直接接続を確立しようと努める。第1のピア61が中継ピアRへの直接接続を確立することができない場合は、第1のピア61は新規の中継候補を見つける必要がある。
第1のピア61と中継ピアRとの間の直接接続の確立が成功したと仮定すると、第1のピア61は、中継候補が見つかったこと、即ち中継ピアRが中継ピアとしての機能を果たすことを受諾したことを第2のピア62に通知する必要がある。これは、ピアツーピアネットワーク160のその他の中継候補RC及び/又はその他のピア620、621のうちの1つ以上を介してホップバイホップルーティングで、P2Pオーバレイ160を介して中継発見メッセージ614を送信することにより達成される。中継発見メッセージ614は中継ピアRのピアID及び接続IDを含む。中継発見メッセージ614を受信した後に、第2のピア62は、前述のようなやり方で、中継ピアRへの直接接続を確立しようと努める。第2のピア62は中継ピアRに中継接続要求615を送信し、中継接続要求615は第2のピア62の接続情報を含む。中継ピアRは、中継接続要求615に応答して、中継ピアRの接続情報を備える中継接続応答616を第2のピア62に送信する。第2のピア62と中継ピアRとの間の接続情報の交換の後に、各ピア62、Rは、他方のピアR、62それぞれのエンドポイントに接続メッセージを送信し始める。両方のピア62、Rが少なくとも1つの接続メッセージを受信した場合、第2のピア62と中継ピアRとの間で直接接続617が確立される。直接接続617は、第2のピア62と中継ピアRとの間の直接接続がまだ確立されていない場合に確立されるだけである。
従って、基本的には、要求する第1のピア61及び応答する第2のピア62の両方のピアが中継ピアRへの接続の試みを開始する必要がある。従って、第2のピア62から中継接続要求615が受信されるまで第2のピア62にはいかなるメッセージも送信されないので、中継ピアRが別のピアに対する攻撃で利用されることは不可能である。中継ピアRは、送信された接続IDによって中継接続要求を識別する。両方のピア61、62への直接接続を確立することができた後は、第1のピア61から第2のピア62に、及びその逆に、送信されるメッセージが正しく転送されるように、接続は論理的にリンクされる必要がある。
第1のピア61と中継ピアRとの間の、又は第2のピア62と中継ピアRとの間の直接接続がすでに確立されている場合は、このプロセスは部分的にスキップされてよい。その場合、中継接続要求及び応答は、この接続が今や中継の一部分であることを中継ピアRに通知するために依然として交換されなければならないが、直接接続は再確立されなくてよい。中継ピアRにとっては、中継接続を確立することは2つの直接接続を論理的にリンクすることに等しい。このリンクは以下の2つの目的のために必要である。
i)第1のピア61との接続が失われた場合は第2のピア62に通知するために、2つの直接接続の接続状態を追跡すること。
ii)2つの直接接続の必要性を追跡すること。
リンクはオーバレイメッセージをルーティングするためには必要がない。どのオーバレイメッセージも全て、ルーティングの次のホップを決めるために使用される宛先ピアIDを含む。ルーティングアルゴリズムは直接接続のリストを処理し、宛先IDの最も近くにつながるものを選択する。従って、リンクはルーティングのために使用されるのではなく、直接接続を有効にしておくために使用される。
中継ピアRが第2のピア62の中継接続要求615を断った場合は、第2のピア62は、第1のピア61が新規の中継候補を見つけようと努めることができるように、第1のピア61に中継接続失敗メッセージを送信しなければならない。第2のピア62が中継ピアRへの直接接続を確立することができない場合は、第2のピア62は、第1のピア61が新規の中継候補を見つけようと努めることができるように、第1のピア61に中継接続失敗メッセージを送信する必要がある。
中継接続は、もう必要がなくなった後は終了されてよい。直接接続の場合と同様に、端にある2つのピアは、ただし中継ピアではない、割当て解除中継メッセージを送信することにより接続は不必要であると宣言することができる。
それぞれ、割当て中継メッセージは接続が必要であると宣言する。両方のピアが接続は不必要であると宣言した場合には、中継接続は終了される。中継接続はまた、3つのピアのうちの1つがオーバレイを出る場合は、終了される。中継を終了した後に、中継の一部分であった2つの直接接続が依然として必要かどうかが評価されなければならない。
図7はプロセスを例示し、第1のピア61、第2のピア62及び中継ピアRを有するP2Pネットワークのオーバレイ160を示す。中継接続710が第1のピア61と第2のピア62との間で確立される。中継接続710は第1のピア61と中継ピアRとの間の直接接続710a、及び第2のピア62と中継ピアRとの間の直接接続710bから成る。
第1のピア61は中継ピアRに割当て解除中継メッセージ711を送信し、中継接続710は不必要であると宣言する。中継ピアRは、712つまり第1のピア61によって送信された割当て解除中継メッセージ711を第2のピア62に転送する。しばらくしてから、第2のピア62はまた、割当て解除中継メッセージ713を中継ピアRに送信する。中継ピアRは714つまり第2のピア62によって送信された割当て解除中継メッセージ713を第1のピア61に転送する。第1のピア61も第2のピア62も中継710が必要であると考えていないので、中継接続710は終了される。直接接続710a、710bそれぞれの必要性が評価される必要がある。
図8は、両方ともピアツーピアネットワーク800の第1のアドレス領域にある第1のピア81及び中継ピア83、並びにピアツーピアネットワーク800の第2のアドレス領域にある第2のピア82を備えるピアツーピアネットワーク800を示す。第1のピア81は第2のピア82への接続を確立したいと思う。
第2のピア82が第1のアドレス領域と第2のアドレス領域との間の境界にあるNATデバイス、例えばファイアウォール(図示されていない)の背後にあるため、第1のピア81と第2のピア82との間の直接接続は不可能なので、第1のピア81と第2のピア82との間の中継接続は中継ピア83を介して確立される。
ピア81、82、83はそれぞれ、1つ又はいくつかの相互リンクコンピュータ、即ちハードウェアプラットフォーム、ハードウェアプラットフォームに基づくソフトウェアプラットフォーム、並びにソフトウェア及びハードウェアプラットフォームによって形成されたシステムプラットフォームによって実行されるいくつかのアプリケーションプログラムから構成される。ピア81、82、83それぞれの機能はこれらのアプリケーションプログラムの実行によって提供される。アプリケーションプログラム又はこれらのアプリケーションプログラムの選択された部分は、システムプラットフォーム上で実行された場合、前述のような接続確立サービスを提供するコンピュータソフトウェア製品を構成する。さらに、そのようなコンピュータソフトウェア製品は、これらのアプリケーションプログラム又はアプリケーションプログラムの上記選択された部分を記憶する記憶媒体によって構成される。
好ましくは、ピア81、82、83は、スタンドアロンネットワークノード、例えば様々な物理的位置にあり、電気通信ネットワーク、例えば電話及びメディアトランスポートネットワーク又はインターネットを介して相互に接続された個々のパーソナルコンピュータである。
機能的な観点から、第1のピア81は、ピアツーピアネットワーク800において、第1のピア81と第2のピア82との間の直接接続を妨げるネットワークアドレス変換を発見するための発見ユニット811を備える。さらに、第1のピア81は、ピアツーピアネットワーク800の第3のピアを中継ピア83と決めるための決定ユニット812を備える。さらに、第1のピア81は、第1のピア81と第2のピア82との間の接続の中継をサポートするための中継ユニット813を備える。さらに、第1のピア81は、ピアツーピアネットワーク800の中の情報の伝搬のための伝搬手段814、例えばトランシーバインターフェースを備える。さらに、第1のピア81は、第1のピア81のCPUによって実行された場合に第1のピア81の諸機能を実行するコンピュータソフトウェア製品を記憶するためのメモリユニット815を備える(CPU=中央処理装置)。
好ましくは、発見ユニット811、決定ユニット812、中継ユニット813、及び伝搬手段814は、第1のピア81の機能を制御する制御ユニット810のソフトウェア構成要素及び/又はハードウェア構成要素である。発見ユニット811、決定ユニット812、中継ユニット813、及び伝搬手段814は、制御ユニット810に接続された別個のユニットであることも可能である。好ましくは、制御ユニット810はまた、上記CPUを備える。
第1のピア81の設計と同様に、第2のピア82及び中継ピア83はまた、それぞれの発見ユニット821及び831、それぞれの決定ユニット822及び832、それぞれの中継ユニット823及び833、それぞれの伝搬手段824及び834、並びにそれぞれのメモリユニット825及び835を備える。他のシナリオでは、P2Pネットワーク800の中のピア81、82、83の役割は変わってよい。例えば、中継ピア83は応答ピアを表してよく、第1のピア81は中継ピアを表してよく、第2のピア82は要求ピアを表してよい。従って、ピア81、82、83はそれぞれ、前述の機能的構成要素を全て備える。

Claims (9)

  1. ピアツーピアネットワークの第1のアドレス領域内の第1のピアとピアツーピアネットワークの第2のアドレス領域内の第2のピアとの間の接続を確立する方法であって、
    該ピアツーピアネットワークにおいて、該第1のピアと該第2のピアとの間の直接接続を妨げるネットワークアドレス変換を発見するステップ
    該第2のピアによって該第1のピアに提供された1つ又は複数の中継候補のリストから中継ピアを選択することにより該中継ピアとして該ピアツーピアネットワークの第3のピアを決定するステップとを含み、1つ又は複数の中継候補の該リストは、各々の中継候補について少なくともアクティブ中継接続の数を示す集中に関する値と再利用値とを含み該第3のピアを決定するステップは、
    1つ又は複数の中継候補の該リストの中の各々の中継候補についてアクティブ中継接続の数を決定するステップと、
    該リストの中の各々の中継候補について再利用値を使用することにより、該ピアツーピアネットワークにおいてすでに確立されている1つ又は複数の直接接続が該第1のピア及び該第2のピアの双方への中継接続のために再利用可能である1つ又は複数の中継候補を優先的に選択するステップと、
    該1つ又は複数の中継候補の該優先的な選択に基づいて、該リストの中の各々の中継候補について該集中に関する値を使用することにより、他の中継候補と比較してより少ないアクティブ中継接続に関与している1つの中継候補を優先するステップとを含み、
    該中継ピアによって、該第1のピアと該第2のピアとの間の該接続を中継するステップを備えることを特徴とする方法。
  2. 請求項1記載の方法において、
    該ピアツーピアネットワークのトポロジ及び接続情報に基づいて該ネットワークアドレス変換を発見するステップを備え、該接続情報は、該ネットワークアドレス変換の動作の仕様、該第1のアドレス領域内の該第1のピアに関連するエンドポイント、及び該第2のアドレス領域内の該第2のピアに関連するエンドポイントを備えることを特徴とする方法。
  3. 請求項1記載の方法において、
    該ピアツーピアネットワークの1つ以上の他のピアを介してホップバイホップルーティングで該第1のピアと該第2のピアとの間で該第1のピア及び該第2のピアそれぞれの接続情報を交換するステップを備えることを特徴とする方法。
  4. 請求項1記載の方法において、
    該第1のピアによって、該第1のピアの接続情報を備える中継接続要求を該中継ピアに送信するステップ、
    該中継ピアによって、該中継ピアの接続情報を備える中継接続応答を該第1のピアに送信するステップ、
    該第1のピアと該中継ピアとの間の直接接続がまだ確立されていない場合は、該第1のピアと該中継ピアとの間の直接接続を確立するステップ、
    該第1のピアによって、該中継ピアのピア識別子を備える中継発見メッセージを該第2のピアに送信するステップ、
    該第2のピアによって、該第2のピアの接続情報を備える中継接続要求を該中継ピアに送信するステップ、
    該中継ピアによって、該中継ピアの接続情報を備える中継接続応答を該第2のピアに送信するステップ、及び
    該第2のピアと該中継ピアとの間の直接接続がまだ確立されていない場合は、該第2のピアと該中継ピアとの間の直接接続を確立するステップを備えることを特徴とする方法。
  5. 請求項1記載の方法であって、
    第1のピアの接続情報を備えるブートストラッピング要求をピアツーピアネットワークのパブリックに到達可能なアドレス領域内のピアに送信するステップであって、該ピアツーピアネットワークの該パブリックに到達可能なアドレス領域内の該ピアはブートストラッピングピアとして機能する、ステップ、及び
    ブートストラッピングピアによって、該第1のピアと第2のピアとの間で交換されるメッセージを中継するステップとをさらに備えることを特徴とする方法。
  6. 請求項1記載の方法であって、
    該第1のピアによって、割当て解除中継メッセージを該中継ピアに送信することにより中継接続を終了するステップであって、該割当て解除中継メッセージは、該中継接続は不必要であると宣言する、ステップ、
    該中継ピアによって、該第1のピアから受信された該割当て解除中継メッセージを該第2のピアに転送するステップ
    該第2のピアによって、該中継ピアに割当て解除中継メッセージを送信するステップ、
    該中継ピアによって、該第2のピアから受信された該割当て解除中継メッセージを該第1のピアに転送するステップ、及び
    該第1のピアにおいて該転送された割当て解除中継メッセージを受信した後に、該中継接続を終了するステップをさらに備えることを特徴とする方法。
  7. ピアツーピアネットワークの第1のアドレス領域内の1つ以上のピア及び該ピアツーピアネットワークの第2のアドレス領域内の1つ以上のピアを備える該ピアツーピアネットワークのピアであって、
    1つ又は複数のコンピュータを含むハードウェアプラットフォームと、
    該ハードウェアプラットフォームの該1つ又は複数のコンピュータによって実行され、該ピアツーピアネットワークにおいて、該ピアと別のアドレス領域のピアとの間の直接接続を妨げるネットワークアドレス変換を発見するように適応された発見する手段
    該ハードウェアプラットフォームの該1つ又は複数のコンピュータによって実行され、該別のアドレス領域のピアによって該ピアに提供された1つ又は複数の中継候補のリストから中継ピアを選択することにより該中継ピアとして該ピアツーピアネットワークの1つのピアを決定するように適応された決定手段(812、822、832)とを含み、1つ又は複数の中継候補の該リストは、各々の中継候補について少なくともアクティブ中継接続の数を示す集中に関する値と再利用値とを含み中継ピアとしての該ピアツーピアネットワークの該1つのピアの決定は、
    1つ又は複数の中継候補の該リストの中の各々の中継候補についてアクティブ中継接続の数を決定することと、
    該リストの中の各々の中継候補について再利用値を使用することにより、該ピアツーピアネットワークにおいてすでに確立されている1つ又は複数の直接接続が該ピア及び該別のアドレス領域のピアの双方への中継接続のために再利用可能である1つ又は複数の中継候補を優先的に選択することと、
    該1つ又は複数の中継候補の該優先的な選択に基づいて、該リストの中の各々の中継候補について該集中に関する値を使用することにより、他の中継候補と比較してより少ないアクティブ中継接続に関与している1つの中継候補を優先することとを含み、
    該ハードウェアプラットフォームの該1つ又は複数のコンピュータによって実行され、該ピアツーピアネットワークの該第1のアドレス領域内の第1のピアと該ピアツーピアネットワークの該第2のアドレス領域内の第2のピアとの間の接続の中継をサポートするように適応された中継手段、及び
    該ハードウェアプラットフォームの該1つ又は複数のコンピュータによって実行され、該ピアツーピアネットワークにおいて、接続情報を含む情報を伝搬するように適応された伝搬手段を備えることを特徴とするピア。
  8. ピアツーピアネットワークを含む通信インフラストラクチャであって、
    ピアツーピアネットワークの第1のアドレス領域内の第1のピアを含み、該第1のピアは、1つ又は複数のコンピュータを含むハードウェアプラットフォームを含み、
    該ピアツーピアネットワークの第2のアドレス領域内の第2のピアを含み該第2のピアは、1つ又は複数のコンピュータを含むハードウェアプラットフォームを含み、
    該第1のピアと該第2のピアとの間の直接接続を妨げるネットワークアドレス変換デバイス、及び
    該第1のピアと該第2のピアとの間の該接続を中継するように適応された中継ピアとして決定された該ピアツーピアネットワークの第3のピアをさらに含み、
    該第3のピアは、該第2のピアによって該第1のピアに提供された1つ又は複数の中継候補のリストから中継ピアを選択することにより該中継ピアとして決定され、1つ又は複数の中継候補の該リストは、各々の中継候補について少なくともアクティブ中継接続の数を示す集中に関する値と再利用値とを含み、該中継ピアとしての該第3のピアの決定は、
    1つ又は複数の中継候補の該リストの中の各々の中継候補についてアクティブ中継接続の数を決定することと、
    該リストの中の各々の中継候補について再利用値を使用することにより、該ピアツーピアネットワークにおいてすでに確立されている1つ又は複数の直接接続が該第1のピア及び該第2のピアの双方への中継接続のために再利用可能である1つ又は複数の中継候補を優先的に選択することと、
    該1つ又は複数の中継候補の該優先的な選択に基づいて、該リストの中の各々の中継候補について該集中に関する値を使用することにより、他の中継候補と比較してより少ないアクティブ中継接続に関与している1つの中継候補を優先することとを含む電気通信インフラストラクチャ。
  9. ピアツーピアネットワークの第1のアドレス領域内の1つ以上のピア及び該ピアツーピアネットワークの第2のアドレス領域内の1つ以上のピアを備える該ピアツーピアネットワークにおいて接続を確立するためのコンピュータプログラムであって、該ピアツーピアネットワークの1つのピアによって実行されたときに、該コンピュータプログラムは、該ピアツーピアネットワークの該ピアに、
    該ピアツーピアネットワークにおいて、該ピアと別のアドレス領域のピアとの間の直接接続を妨げるネットワークアドレス変換を発見するステップ
    該第2のアドレス領域の第2のピアによって該第1のアドレス領域の第1のピアに提供された1つ又は複数の中継候補のリストから中継ピアを選択することにより該中継ピアとして該ピアツーピアネットワークの1つのピアを決定するステップとを実行させ、1つ又は複数の中継候補の該リストは、各々の中継候補について少なくともアクティブ中継接続の数を示す集中に関する値と再利用値とを含み該中継ピアとして該ピアツーピアネットワークの該1つのピアを決定するステップは、
    1つ又は複数の中継候補の該リストの中の各々の中継候補についてアクティブ中継接続の数を決定するステップと、
    該リストの中の各々の中継候補について再利用値を使用することにより、該ピアツーピアネットワークにおいてすでに確立されている1つ又は複数の直接接続が該第1のピア及び該第2のピアの双方への中継接続のために再利用可能である1つ又は複数の中継候補を優先的に選択するステップと、
    該1つ又は複数の中継候補の該優先的な選択に基づいて、該リストの中の各々の中継候補について該集中に関する値を使用することにより、他の中継候補と比較してより少ないアクティブ中継接続に関与している1つの中継候補を優先するステップとを含み、
    該ピアツーピアネットワークの該第1のアドレス領域内の第1のピアと該ピアツーピアネットワークの該第2のアドレス領域内の第2のピアとの間の接続の中継をサポートするステップ、及び
    該ピアツーピアネットワークにおいて、接続情報を含む情報を伝搬するステップを実行させることを特徴とするコンピュータプログラム。
JP2010537355A 2007-12-13 2008-11-13 接続を確立する方法 Expired - Fee Related JP5153888B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP07291525.9 2007-12-13
EP07291525A EP2071809A1 (en) 2007-12-13 2007-12-13 Method of establishing a connection in a peer-to-peer network with network address translation (NAT)
PCT/EP2008/065461 WO2009074422A1 (en) 2007-12-13 2008-11-13 Method of establishing a connection

Publications (2)

Publication Number Publication Date
JP2011507370A JP2011507370A (ja) 2011-03-03
JP5153888B2 true JP5153888B2 (ja) 2013-02-27

Family

ID=39402944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010537355A Expired - Fee Related JP5153888B2 (ja) 2007-12-13 2008-11-13 接続を確立する方法

Country Status (11)

Country Link
US (1) US20090216887A1 (ja)
EP (1) EP2071809A1 (ja)
JP (1) JP5153888B2 (ja)
KR (1) KR20100087213A (ja)
CN (1) CN101459689A (ja)
AU (1) AU2008334808B2 (ja)
BR (1) BRPI0820939A2 (ja)
IL (1) IL205038A0 (ja)
MX (1) MX2010004360A (ja)
RU (1) RU2460231C2 (ja)
WO (1) WO2009074422A1 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101425958A (zh) * 2007-10-29 2009-05-06 华为技术有限公司 一种p2p叠加网中请求应答方法、装置和系统
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US9203872B2 (en) * 2010-02-19 2015-12-01 Microsoft Technology Licensing, Llc Distributed connectivity policy enforcement with ICE
CN102215274B (zh) * 2010-04-07 2014-04-30 苹果公司 用于邀请用户到在线会话的设备和方法
US8412833B2 (en) * 2010-04-07 2013-04-02 Apple Inc. Apparatus and method for inviting users to online sessions
US8438294B2 (en) * 2010-04-07 2013-05-07 Apple Inc. Application programming interface, system, and method for collaborative online applications
US8769278B2 (en) 2010-04-07 2014-07-01 Apple Inc. Apparatus and method for efficiently and securely exchanging connection data
US8704863B2 (en) 2010-04-07 2014-04-22 Apple Inc. Transitioning between circuit switched calls and video calls
US8819244B2 (en) * 2010-04-07 2014-08-26 Apple Inc. Apparatus and method for establishing and utilizing backup communication channels
CN102469015B (zh) * 2010-11-17 2016-04-13 中兴通讯股份有限公司 实现中继选择的方法及装置、系统
EP2475145A1 (en) * 2011-01-06 2012-07-11 Research In Motion Limited System and method for enabling a peer-to-peer (P2P) connection
US20150003296A1 (en) * 2012-01-04 2015-01-01 Hongbing Fan System and method for providing p2p based reconfigurable computing and structured data distribution
CN102665065B (zh) * 2012-04-20 2016-06-15 惠州Tcl移动通信有限公司 一种基于太赫兹无线通信的对等监控方法及其系统
KR101995802B1 (ko) * 2012-05-15 2019-07-03 삼성전자주식회사 무선통신 네트워크에서 인접 노드들을 디스커버리하기 위한 방법 및 장치
EP2993854B1 (en) 2013-06-29 2019-12-04 Huawei Technologies Co., Ltd. Connection recovery method, device and system
US9379952B2 (en) * 2013-08-20 2016-06-28 Futurewei Technologies, Inc. Monitoring NAT behaviors through URI dereferences in web browsers
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US9356915B2 (en) * 2014-01-27 2016-05-31 Avaya Inc. Enhancing privacy by obscuring traversal using relays around network address translator (TURN) connections, and related methods, systems, and computer-readable media
US9609056B2 (en) * 2014-03-29 2017-03-28 Google Technology Holdings LLC Methods for obtaining content from a peer device
AU2014410591B2 (en) * 2014-11-07 2018-07-12 Godo Kaisha Ip Bridge 1 Connection establishment method, device, and system
US20160191461A1 (en) * 2014-12-31 2016-06-30 Futurewei Technologies, Inc. TURN Relay Service Reuse For NAT Traversal During Media Session Resumption
US9936530B2 (en) * 2015-03-10 2018-04-03 Intel IP Corporation Systems, methods, and devices for device-to-device relay communication
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US10237236B2 (en) * 2015-06-25 2019-03-19 Microsoft Technology Licensing, Llc Media Session
TWI595765B (zh) 2015-10-22 2017-08-11 財團法人工業技術研究院 穿透網路位置轉換器之方法及通訊裝置
CN106453588B (zh) * 2016-11-01 2019-08-09 东软集团股份有限公司 释放连接的方法、装置及系统
CN107205026A (zh) * 2017-05-22 2017-09-26 厦门市美亚柏科信息股份有限公司 一种点对点数据传输方法及系统
US11190374B2 (en) 2017-08-28 2021-11-30 Bright Data Ltd. System and method for improving content fetching by selecting tunnel devices
LT3472717T (lt) 2017-08-28 2021-01-11 Luminati Networks Ltd. Būdas pagerinti turinio parsisiuntimą, pasirenkant tunelinius įrenginius
JP7074018B2 (ja) * 2018-10-22 2022-05-24 日本電信電話株式会社 分散処理システムおよび分散処理方法
JP6920442B2 (ja) 2019-02-01 2021-08-18 アドバンスド ニュー テクノロジーズ カンパニー リミテッド ブロックチェーンシステムのノード間の通信を確立するための方法及びデバイス
EP4220442A1 (en) 2019-02-25 2023-08-02 Bright Data Ltd. System and method for url fetching retry mechanism
EP4383686A1 (en) 2019-04-02 2024-06-12 Bright Data Ltd. System and method for managing non-direct url fetching service
KR102126828B1 (ko) * 2019-04-23 2020-06-25 권준 무선 인터컴 시스템
CN115514800A (zh) * 2022-08-31 2022-12-23 深圳市绿联科技股份有限公司 一种设备网络连接方法、装置、电子设备、服务器及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2260919C2 (ru) * 1998-11-25 2005-09-20 Телефонактиеболагет Лм Эрикссон (Пабл) Архитектура канала пакетной передачи для сетей доступа
US7043644B2 (en) * 2001-01-31 2006-05-09 Qurio Holdings, Inc. Facilitating file access from firewall-protected nodes in a peer-to-peer network
US7899932B2 (en) * 2003-01-15 2011-03-01 Panasonic Corporation Relayed network address translator (NAT) traversal
US7656870B2 (en) * 2004-06-29 2010-02-02 Damaka, Inc. System and method for peer-to-peer hybrid communications
EP1713233A1 (en) * 2005-04-14 2006-10-18 Alcatel Interconnection of domains in a peer to peer network
US7788378B2 (en) * 2005-04-22 2010-08-31 Microsoft Corporation Apparatus and method for community relay node discovery
US8874691B2 (en) * 2005-06-22 2014-10-28 Core Wireless Licensing S.A.R.L. System and method for establishing peer to peer connections between PCS and smart phones using networks with obstacles
DE102006004025A1 (de) * 2006-01-27 2007-08-09 Siemens Ag Verfahren zur Übermittlung einer Nachricht, Netzwerkknoten und Netzwerk
CN101390369B (zh) * 2006-02-28 2012-11-14 国际商业机器公司 点对点通信的检测和控制
US8077622B2 (en) * 2007-08-03 2011-12-13 Citrix Systems, Inc. Systems and methods for efficiently load balancing based on least connections
US7945680B2 (en) * 2007-10-30 2011-05-17 Motorola Solutions, Inc. Method and apparatus for peer to peer link establishment over a network

Also Published As

Publication number Publication date
US20090216887A1 (en) 2009-08-27
JP2011507370A (ja) 2011-03-03
RU2460231C2 (ru) 2012-08-27
AU2008334808A1 (en) 2009-06-18
KR20100087213A (ko) 2010-08-03
CN101459689A (zh) 2009-06-17
EP2071809A1 (en) 2009-06-17
MX2010004360A (es) 2010-04-30
AU2008334808B2 (en) 2012-04-05
BRPI0820939A2 (pt) 2015-06-30
WO2009074422A1 (en) 2009-06-18
IL205038A0 (en) 2010-11-30
RU2010128945A (ru) 2012-01-20

Similar Documents

Publication Publication Date Title
JP5153888B2 (ja) 接続を確立する方法
JP5414807B2 (ja) ネットワークにおけるアドレス割り当て
EP2137844B1 (en) Distributed routing table architecture and design
JP4959602B2 (ja) ピアツーピア通信システムおよび方法
US20120278379A1 (en) Relay Node, Distributed Network of Relay Node and Networking Method Thereof
CA2611146C (en) Method for data communication and system thereof
JP5146539B2 (ja) グループ管理装置
JP2010527561A (ja) エッジルーティングを用いたピアツーピアコラボレーションシステム
JP2011525767A (ja) ルーティング経路決定方法
US9118733B2 (en) Multilevel routing
US8396988B2 (en) Method and system for survival of data plane through a total control plane failure
EP1440529B1 (en) System and method for information object routing in computer networks
CN101557335B (zh) 控制节点加入对等网络的方法和装置
Konishi et al. Proposal and evaluation of a cooperative mechanism for pure P2P file sharing networks
US8135859B1 (en) System and method for providing infrastructure services without a designated network manager
WO2011097997A1 (zh) 基于reload的客户端接入对等网络的方法和系统
CN117955952A (zh) 一种通信系统和通信链路保持方法
JP4561626B2 (ja) 情報処理装置およびその制御方法ならびにコンピュータプログラム
CN117354316A (zh) 基于p2p网络的中继连接方法、装置、设备和存储介质
Mani et al. P2P IP Telephony over wireless ad-hoc networks: A smart approach on super node admission
Ho et al. AS-aware Relay Selection Mechanism for Multiparty Streaming Service in Overlay Network
Senbel Pro-active task sharing in a self-organizing server cluster
Gomes Inter domain negotiation

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111226

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120326

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120626

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120710

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121204

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees