JP4959602B2 - ピアツーピア通信システムおよび方法 - Google Patents

ピアツーピア通信システムおよび方法 Download PDF

Info

Publication number
JP4959602B2
JP4959602B2 JP2008039509A JP2008039509A JP4959602B2 JP 4959602 B2 JP4959602 B2 JP 4959602B2 JP 2008039509 A JP2008039509 A JP 2008039509A JP 2008039509 A JP2008039509 A JP 2008039509A JP 4959602 B2 JP4959602 B2 JP 4959602B2
Authority
JP
Japan
Prior art keywords
peer
peers
network
connection
overlay
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
JP2008039509A
Other languages
English (en)
Other versions
JP2008206160A (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 JP2008206160A publication Critical patent/JP2008206160A/ja
Application granted granted Critical
Publication of JP4959602B2 publication Critical patent/JP4959602B2/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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/24Radio transmission systems, i.e. using radiation field for communication between two or more posts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • 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/2567NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a 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/50Address allocation
    • H04L61/5069Address allocation for group communication, multicast communication or broadcast communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • 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
    • 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/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、ネットワークアドレス・トランスレータの存在下でのネットワーク上のピアツーピア通信の容易化の技術分野に関する。
関連出願の記載
本出願は、出願人が本出願と共に出願した同時係属中の「Bootstrapping in peer−to−peer networks with network address translators」という表題の米国特許出願に関連し、この米国特許出願は、ここでの言及をもって本明細書に組み入れられたものとする。
ネットワーク内に参加するピアは、グローバルに有効なIP(インターネットプロトコル)アドレスに到達し得ないため、ネットワークアドレス変換(NAT)は、ピアツーピア(P2P)通信に対して公知の問題を生じさせる。
特に、最新のインターネットアドレス・アーキテクチャは、NATで相互接続された1つのグローバルアドレス空間(即ち、パブリックIPアドレス)および多数のプライベートアドレス空間(即ち、プライベートIPアドレス)で構成される。グローバルアドレス空間内のピア(ノード、クラアント等とも呼ばれる)は、固有なグローバルにルーティング可能なIPアドレスを有するので、それらだけが、ネットワーク内のどこからも容易にコンタクトされ得る。プライベートネットワーク上のピアは、同じプライベートネットワーク上の他のピアと接続することができ、それらは通常、グローバルアドレス空間内に確立されたピアにTCP(通信制御プロトコル)またはUDP(ユーザデータグラムプロトコル)の接続を開放することが可能である。しかしながら、最新のアドレス・アーキテクチャは、異なるプライベートネットワーク上の2つのピアが互いに直接的にコンタクトすること、またはパブリックネットワーク内のピアがプライベートネットワーク内のピアとコンタクトを開始することを困難にする。一般に、この状況が存在するのは、NATが外向き接続に対してパブリックエンドポイントを一時的に割当ててそれらのセッションを含むパケット内のアドレスおよびポート番号を変換する一方で、そうでないように構成されている場合を除き、通常、全ての内向きトラフィックをブロックするからである。
同時係属中米国特許出願「Bootstrapping in peer−to−peer networks with network address translators」
直接的なピアツーピア通信の問題を克服するために、多数の技術が提案されてきたが、NATの動作が標準化されていないため、それらは、概して、一般的に適用可能でない。
本発明のいくつかの例示的な実施形態は、ネットワークアドレス・トランスレータ(NAT)の存在下でピアツーピア(P2P)ネットワーク内の複数のピアの間の通信を可能にする方法であって、(a)P2Pネットワーク内の複数のピアの各々に固有のピア識別子を割当てることと、(b)各ピアの固有のピア識別子に基づいて、各ピアを複数のピアのサブセットに構造化された接続パターンで接続するオーバーレイ・トポロジーを確立し、複数のピアの各々が、近接のピアへのより多くの接続および遠隔のピアへのより少ない接続を有することと、(c)確立されたオーバーレイ・トポロジーを介してピア間でメッセージをルーティングすることと、を含む方法を提供し得る。
本発明のいくつかの例示的な実施形態は、ネットワークアドレス・トランスレータの存在下でピアツーピア・ネットワーク内の複数のピアの間の通信を可能にするネットワーク・オーバーレイ・トポロジーであって、P2Pネットワーク内の複数のピアの各々に帰属する固有のピア識別子と、各ピアの固有のピア識別子に基づいて、各ピアを複数のピアのサブセットに構造化された接続パターンで接続するオーバーレイ・トポロジーであって、複数のピアの各々が、近接のピアへのより多くの接続および遠隔のピアへのより少ない接続を有し、構造化された接続パターンが、確立されたオーバーレイ・トポロジーを介してピアの間でのメッセージのルーティングを可能にするように配置された、オーバーレイ・トポロジーと、を含むネットワーク・オーバーレイ・トポロジーを提供し得る。
図1は、P2Pオーバーレイ・トポロジー(単にオーバーレイと呼ぶ)に構造化されるピア12の代表的な集団を含むネットワークトポロジー10を示す。
オーバーレイは、効果的には他のネットワークの上に構築されるネットワークである。オーバーレイ内のノード/ピアは、仮想または論理リンクを用いて接続され、それらの各々は、通常、多くの物理リンクを介して、基礎ネットワーク内の経路に対応する。
図1のネットワークトポロジー10は、各々が1つまたは複数のピア12を含む一連のサブネット(サブネットワーク)14、16、18、20、22、24および26と、インターネット28とを含む。サブネット18および22は、グローバルアドレス空間の一部であるため、パブリックIPアドレスを用いる。サブネット14、16、20、24および26は、各サブネットとインターネット28との間にNAT(ネットワークアドレス・トランスレータ)30が配置されているため、プライベートIPアドレスを用いる。サブネット24および26は、単一のNAT30を共有する。サブネット20は、2つのNAT30がサブネット20およびインターネット28の間に配置されたカスケーディングNAT配置を示す。
NATを介したネットワーク内のピア間接続の確立は、一般的にNATトラバーサルと呼ばれる。NAT動作に基づく多数の公知のNATトラバーサルプロトコルは:Simple Traversal of UDP over NATs(STUN);Traversal Using Relay NAT(TURN);Session Border Controller(SBC);およびUDP hole punchingを含む。NAT制御に基づく多数の公知のNATトラバーサルプロトコルは:Realm−Specific IP(RSIP);NAT Port Mapping Protocol;およびUniversal Plug and Play(UPnP)を含む。複数の異なるプロトコルを組み合わせたNATトラバーサルプロトコルは、Interactive Connectivity Establishment(ICE)と呼ばれる。
本発明の実施形態は、ピア間通信を容易化するための種々のオーバーレイおよび関連する方法を説明する。
部分メッシュ・オーバーレイ/接続
図2は、代表的な部分メッシュ・オーバーレイ50を示しており、この例では、各ピア12は、制限的なフィルタリングポリシーを有するNAT(図示せず)の裏に配置されている。一般に、オーバーレイ50内の各ピア12は、いくつかの他のピア12と接続(実線で示す)を確立し、ピア12間接続の部分メッシュを確立する。部分メッシュ・オーバーレイ50を生成すると、次に、ピア12は確立された接続を用いてメッセージをルーティングする。一度、確立されると、少なくとも1つのピアによって望まれる限り、接続が保持される。接続の保持は、通常、何らかのメッセージの周期的な交換を必要とする。
部分メッシュ・オーバーレイ50は、各ピアが2つの隣のピアとだけ接続されるリング・オーバーレイと、全てのピアの対が接続される全メッシュ・オーバーレイとのバランスをとる一方で、NATを通してメッセージを送ることを可能にする。
ピアがネットワークに参加および退出する際に、時々、接続がオーバーレイ50に付加されたり、そこから除去されたりする必要がある。新規の接続を付加することは、通常、新規の接続に関する信号が既存の接続に沿ってルーティングされることを必要とする。例えば、図2を見ると、ピア12Xがピア12Yへの接続をセットアップしたいものとする。ピア12Yは制限的フィルタリングポリシーを有するNAT30の裏にあるため、ピア12Xは、接続要求をピア12Yに直接的に(線52)送信できない。この制限を解決するために、ピア12Xは接続要求をオーバーレイ50内の既存の接続を介して(点線54)送信する。接続要求がピア12Yに配信された後、ピア12Xおよび12Yは、標準NATトラバーサル技術を用いて接続を開始および保持する。
汎用オーバーレイ・トポロジーは、メッセージがあらゆる任意のピアの対の間で送信され得ることを確実にするために、最小の接続セットを用いる。用いられる特定の数の接続は、ネットワーク内のピア間でメッセージをルーティングするために用いられる機構の種類に基づく。一般に、より多くの接続が存在する場合、より少ないホップでルーティングを実行可能である。しかしながら、各接続はリソース(メモリ、ピア自体の上でのコンピューティングサイクル、基礎ネットワーク上の帯域幅等)を消費するため、ルーティングの効率を低下させずに接続の数を最小化させることは、オーバーレイ設計の要因である。
ルーティング設計に基づいて生成された接続に加え、アプリケーション特有の問題に関してさらなる接続が有用であり得る。例えば、図2に実線で示された接続は、ネットワーク50内のあらゆる任意のピア対間でのメッセージのルーティングが可能であり、かつ適度に効率的であることを両方共に確実にするように生成され得る。しかしながら、ピア12Xおよび12Yが、大量のメッセージを交換する必要がある場合、または一定間隔で/頻繁にメッセージを交換する必要がある場合、それらの交換を最適化するために新規の接続52を付加することが有益であり得る。
代表的なピア
図3は、図1のサブネット14の例示的な配置80を示す。サブネット14は、いずれもNAT30の裏に配置されたピア12の集団を含む。この種類のトポロジーでは、サブネット14内の1つまたは複数のピア12が、サブネット14内の他のピア12の代わりに動作する代表的なピア12Rとして「選出され」るか、「指名され」得る。
配置80は、2種類の接続:(1)NAT30を横断する代表的なピア12Rの間の接続(点線86を参照)と、(2)NAT30を横断しないサブネット14内の代表的なピア12Rおよびローカルピア12の間の接続(点線90を参照)とを生成する。
構造化されたメッセージルーティング/対称的関心
構造化されたスキームは、ルーティングに活用され得る接続パターンを生成する。例えば、構造化されたメッセージルーティングは、DHT(分散ハッシュテーブル)ルックアップスキームのルーティングアルゴリズムへの「変換」に基づいてもよい。特に、データアイテムを調べるためのDHTスキームは、データを保持するピアへのルーティングのスキームと見なされる。ルーティングが検索されるノードのピア識別子に基づく場合、プロセスは、ルーティングアルゴリズムと考えることが可能である。
より詳細には、(図2を参照して説明されたような)1パターンの接続を仮定すると、これら接続の種々のパターンが可能である。オーバーレイ50は、ピア12が他のピア12を呼び出し、ピア(またはユーザ)のそのステータスを発行し、およびオーバーレイ50内の別のピアへの接続を生成することを可能にする。構造化されたスキームは、ピア12間の接続パターンが、ピア間でのメッセージのルーティングの際に活用されることを可能にする。
接続トポロジーの基本的な構造は、オーバーレイ50のルーティング機構を支援するべきである。例えば、DHTは、固有の識別子を各ピア(例えば、ピアの属性:ネットワークアドレス、製造番号、MAC(媒体アクセス制御)アドレス等、に基づいて)に割当てることによって、構造化されたスキームの基礎として用いることが可能である。ピアの属性は、一般に、固有のピア識別子を生成するために、(MD5[メッセージダイジェストアルゴリズム 5]、SHA−1[安全ハッシュアルゴリズム]等の)1方向ハッシュ関数を用いて「ハッシュ化」される。
1つの例では、固有のピア識別子は、ピアを概念的/仮想的リング上に配置するために用いられ得る。そして各ピアは、リングの周りに時計回りに種々の位置に配置されたピアへの接続を保持する。この構造化された接続スキームでは、ピア(Q)へのメッセージがリング内のその位置に送信され、中間ピア(I)が、そのメッセージを中間ピア(I)の接続テーブル内のピア(Q)に最も近いピア(S)に転送することが可能である。
DHTベース接続トポロジーは、ネットワーク内のリソースをインデックス付けおよび配置するために必要な努力を分散させるために生成される。VoIP(Voice Over IP)通信オーバーレイ・ネットワークの場合、ピアは通常、電話またはコンピュータ上で動作する電話アプリケーションであり、リソースは通常、互いに通信を望む人々である。システム内の各リソースは、通常、1つまたは複数の識別子(例えば、電話番号または記憶されている住所)が割当てられる。DHTベースオーバーレイ・ネットワークは、固有のリソース識別子を作成するために、(上述したように)固有のピア識別子を生成するために用いられた同一の1方向ハッシュ関数を効率的に「再利用」することが可能である。そしてオーバーレイ50内の各ピア12は、利用可能なリソースに関する情報を記憶するための責任の一部を負う。例えば、コードベースのDHTオーバーレイでは、ピアは、そのリソース識別子が最も近いが自分の識別子を超えないリソースに関する情報を保持する責任を負う。それゆえに、ユーザの記憶されている住所のハッシュがXである場合、そのユーザに関するコンタクトおよびステータスの情報は、そのピア識別子が最も近いがXを超えないピアによって記憶される。
オーバーレイ・ネットワーク50によって用いられるルーティング構造に加え、接続トポロジーを確立する際に、対称的関心と呼ばれる特性がさらに考慮される。接続スキームは、仮にピア12Xが他のピア12Yへの接続を望む場合、ピア12Yもピア12Xへの接続を望むという対称的関心を示す。NAT30を介した接続は双方向的であり、ピア12Xおよび12Yの両方が、接続を確立し保持するためのメッセージ送信のオーバーヘッドを招くので、対称的関心は接続スキームの有用な特性である。
図4を見ると、構造化された接続パターン92が示されており、仮想的リング98の周りに時計回り94および反時計回り96の両方の配置で配置され、指数関数的に増大する距離に配置されたピア12との接続を各ピア12が保持するため、対称的関心を示す。特に、パターン92は、単一のノード(即ち、ピアP)の視点から接続トポロジーを示す。Pに対するピア識別子を0と仮定すると、ハッシュテーブルは、識別子:2、2、2、・・・、2n/2、・・・2n−2、2n−1を有する各ピアのアドレスを含み得る。この種類の配置では、ピアPは、その接続テーブルにピアPを含み、それにより、対称的関心を示す。
この方法でピア間の接続が確立された場合、各ピアは、「近接の」ピアへの接続をより多く有し、「遠隔の」ピアへの接続をより少なく有する。用語「近接の」および「遠隔の」は、(上述したように)オーバーレイ・ネットワークによって割当てられた固有のピア識別子に基づいており、地理的、物理的な近接性または物理的ネットワークホップ数を反映する必要はない。1つのピア(即ち、ピアP)の視点から、構造化された接続パターン92は、より多くの接続が下側半円S内に存在し、より少ない接続がリング98の上側半円S内に存在するという事実によって、対称的関心を図式的に示す。
ネットワークの結合
図3を見ると、ピア12Aは、最初はネットワーク全体の一部でない。ピア12Aのネットワークへの結合を可能にするプロセス100が、図5のフローチャートに関連して説明される。
ステップ110:ネットワーク内の他のピア(ピア12Bと名付けられている−図13参照)を検出およびコンタクトする。ピア12Aは、マルチキャスティングまたはブロードキャスティング112、仲間リスト114、手動構成116および導入118を用いて他のピアの検出およびコンタクトを達成可能である。これらの方法は、さらなる詳細が以下で説明される。
ステップ150:NATトラバーサルプロトコルを用いて、ピア12Aと検出された他のピア12Bとの間の接続を確立する。
マルチキャスティング/ブロードキャスティング112では、ピア12Aは「こんにちは、誰かそこにいますか?」というマルチキャスト/ブロードキャストのメッセージを送信し、現在オーバーレイ・ネットワーク内にあるいずれかのピア(即ち、ピア12B)が応答し得る。応答は、ピア12Aが1つ(または複数)の他のピアとコンタクトし、オーバーレイに承認を要求することを可能にする情報を含む。代替的に、現在ネットワーク内にある(ピア12Bを含む)ピア12は、存在を宣伝するメッセージ(即ち、宣伝メッセージ)を周期的にマルチキャスト/ブロードキャストしてもよく、ピア12Aがマルチキャスト/ブロードキャストのメッセージを聴くことによって他のピアを発見することが可能になる。宣伝メッセージは、ピア12Aが1つ(または複数)の他のピアとコンタクトし、オーバーレイに承認を要求することを可能にする情報も含み得る。
ピア12Aが以前にネットワークの一部であったが、一定期間の間、切断されていた(例えば、VoIP電話がネットワークから取り外された、または電源が切られた)場合、仲間リスト114が用いられ得る。ピア12Aは、切断する際にいくつかのピア12のアドレスおよびポート情報を記憶するように構成されてよく、ネットワークに再結合することを望む際に自分の仲間リスト上のピア12へのコンタクトを試みる。ピア12Aは、少なくとも1つの他のピア12がコンタクト可能で、まだネットワークの一員である場合、ネットワークに再結合することが可能である。
手動構成方法116は、ネットワーク内の他のピア12のうちの1つのアドレスおよびポート情報を用いてピア12Aを構成することを含む。アドレスおよびポート情報は、(該当する場合に)NAT30が割当てるピア12のパブリックIPアドレスおよびポートを示す。ピア12Aが、フィルタリング動作(アドレス制限)を備えたNAT30の裏にある場合、例えば、ピア12Aもピア12Bのアドレスおよびポート情報を用いて構成される。
導入方法118は、ノードにパブリックIPアドレスおよび、場合により、DNS(ドメイン名サービス)エントリを示すブートストラップ・サーバ52(図3参照)の利用を含む。ブートストラップ・サーバ52は、それ自体がネットワークの一部である必要はないが、新規のピアをネットワーク内に導入/ブートストラップするために用いられる。例えば、サブネット14は、サーバ52への接続88を保持するために、ネットワーク内のピア(ピア12Bまたは12R等)のうちの1つを選出/指名し得る。ピア12Aがサーバ52にコンタクトすると、ピア12Aは、選出されたピアのアドレスおよびポート情報(即ち、マッピングされたIPアドレス)が与えられ、サーバ52は、オーバーレイへの承認を可能にするために、ピア12Aのアドレスおよびポート情報を選出されたピアに転送する。
ピアツーピア通信
図6は、本発明の実施形態による、ネットワークアドレス・トランスレータ(NAT)の存在下でピアツーピア(P2P)ネットワーク内でのピア間通信を可能にするための方法200を示すフローチャートである。方法200が含むのは:
ステップ210:例えば、1方向ハッシュ関数215を用いて、P2Pネットワーク内の複数のピアの各々に固有のピア識別子を割当てる。
ステップ220:各ピアの固有のピア識別子に基づいて、各ピアを複数のピアのサブセットに構造化された接続パターンで接続するオーバーレイ・トポロジーを確立し、複数のピアの各々が、(例えば、仮想的リング225の周りに時計回りおよび反時計回りの両方で指数関数的に増大する距離で)近接のピアへのより多くの接続および遠隔のピアへのより少ない接続を有する。
ステップ230:確立されたオーバーレイ・トポロジーを介してメッセージをルーティングする(即ち、接続トポロジーが、メッセージルーティングプロセス/アルゴリズムに合致する240)。
本発明の実施形態による、オーバーレイ・トポロジーに構造化される複数のピアを有するピアツーピア・ネットワークの概略図である。 本発明の実施形態による、部分メッシュ・オーバーレイ・トポロジーの概略図である。 本発明の実施形態による、ピア承認プロセスを示すための図1のネットワークの一部の概略図である。 本発明の実施形態による、構造化された接続パターンを有するオーバーレイ・トポロジーの概略図である。 本発明の実施形態による、新規のピアをネットワークに付加するプロセスを示すフローチャートである。 本発明の実施形態による、ネットワーク内のピアの間の通信を可能にするプロセスを示すフローチャートである。

Claims (10)

  1. ネットワークアドレス・トランスレータ(NAT)の存在下でピアツーピア(P2P)ネットワーク内の複数のピアの間の通信を可能にする方法であって、
    (a)前記P2Pネットワーク内の前記複数のピアの各々に固有のピア識別子を割当てることと、
    (b)各ピアの前記固有のピア識別子に基づいて、各ピアを前記複数のピアのサブセットに構造化された接続パターンで接続するオーバーレイ・トポロジーを確立し、前記複数のピアの各々が、近接のピアへのより多くの接続および遠隔のピアへのより少ない接続を有することと、
    (c)前記確立されたオーバーレイ・トポロジーを介してピア間でメッセージをルーティングすることと、
    を含む方法。
  2. ステップ(b)が、仮想的リングの周りに時計回りおよび反時計回りの方向に指数関数的に増大する距離にあるピア間に接続を確立することを含む、請求項1に記載の方法。
  3. ステップ(a)が、前記固有のピア識別子を生成するために、1方向ハッシュ関数を用いて前記複数のピアの各々の属性をハッシュすることを含み、前記属性が、ネットワークアドレス、MAC(媒体アクセス制御)アドレス、および製造番号のうちの1つを含む、請求項1に記載の方法。
  4. 前記構造化された接続パターンで確立された接続が、前記複数のピアからのピア対の間での接続要求の信号送信の間および前記ピア対の間でのメッセージの信号送信の間、保持される、請求項1に記載の方法。
  5. 前記構造化された接続パターンで確立された前記接続の一部ではない、前記複数のピアからのピア対の間で、接続要求の信号送信の間、通信が確立される、さらなる接続を、確立することをさらに含む、請求項1に記載の方法。
  6. 前記P2Pネットワーク内に新規のピアを付加することをさらに含み、
    新規のピアを付加する前記ステップが、
    (i)前記P2Pネットワーク内の前記複数のピアのうちの1つを検出およびコンタクトすることと、
    (ii)前記新規のピアおよび前記P2Pネットワーク内の前記複数のピアのうちの前記1つの間の接続を確立することと、
    を含む、請求項1に記載の方法。
  7. 前記ステップ(i)が、マルチキャストすることによって、またはブロードキャストすることによって、または宣伝することによって、または仲間リストを用いることによって、または手動構成によって、または導入によって、前記P2Pネットワーク内の前記複数のピアのうちの1つを検出およびコンタクトすることと、
    前記オーバーレイ・トポロジーに承認を要求することと、
    を含む、請求項6に記載の方法。
  8. 前記ステップ(i)が、
    サーバへの接続を保持するために、前記P2Pネットワーク内の前記複数のピアから選択されるターゲットピアを選出することと、
    前記P2Pネットワーク内の前記複数のピアから選択される前記ターゲットピアのアドレスおよびポート情報を取得するために前記サーバにコンタクトすることと、
    前記ターゲットピアとの通信を開始することによって、前記オーバーレイ・トポロジーに承認を要求することと、
    を含む、請求項6に記載の方法。
  9. ネットワークアドレス・トランスレータの存在下でピアツーピア・ネットワーク内の複数のピアの間の通信を可能にするネットワーク・オーバーレイ・トポロジーであって、
    前記P2Pネットワーク内の前記複数のピアの各々に帰属する固有のピア識別子と、
    各ピアの前記固有のピア識別子に基づいて、各ピアを前記複数のピアのサブセットに構造化された接続パターンで接続するオーバーレイ・トポロジーであって、前記複数のピアの各々が、近接のピアへのより多くの接続および遠隔のピアへのより少ない接続を有し、前記構造化された接続パターンが、前記確立されたオーバーレイ・トポロジーを介してピアの間でのメッセージのルーティングを可能にするように配置されたオーバーレイ・トポロジーと、
    を含むネットワーク・オーバーレイ・トポロジー。
  10. 前記オーバーレイ・トポロジーが、
    仮想的リングの周りに時計回りおよび反時計回りの方向に指数関数的に増大する距離に配置されたピアの間の接続と、
    前記固有のピア識別子を生成するために、前記複数のピアの各々の属性をコーディングするための手段と、を含み、
    前記属性が、ネットワークアドレス、MAC(媒体アクセス制御)アドレス、および製造番号のうちの1つを含む、請求項9に記載のシステム。
JP2008039509A 2007-02-21 2008-02-21 ピアツーピア通信システムおよび方法 Expired - Fee Related JP4959602B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/708,635 US8693392B2 (en) 2007-02-21 2007-02-21 Peer-to-peer communication system and method
US11/708635 2007-02-21

Publications (2)

Publication Number Publication Date
JP2008206160A JP2008206160A (ja) 2008-09-04
JP4959602B2 true JP4959602B2 (ja) 2012-06-27

Family

ID=39356702

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008039509A Expired - Fee Related JP4959602B2 (ja) 2007-02-21 2008-02-21 ピアツーピア通信システムおよび方法

Country Status (6)

Country Link
US (1) US8693392B2 (ja)
JP (1) JP4959602B2 (ja)
KR (1) KR101399914B1 (ja)
CN (1) CN101309301B (ja)
DE (1) DE102008010145B4 (ja)
GB (1) GB2446951B (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7764691B2 (en) * 2007-03-15 2010-07-27 Microsoft Corporation Allowing IPv4 clients to communicate using teredo addresses when both clients are behind a NAT
US7933273B2 (en) 2007-07-27 2011-04-26 Sony Computer Entertainment Inc. Cooperative NAT behavior discovery
JP5029373B2 (ja) * 2008-01-11 2012-09-19 日本電気株式会社 ノード、経路制御方法および経路制御プログラム
CN101557388B (zh) * 2008-04-11 2012-05-23 中国科学院声学研究所 一种基于UPnP和STUN技术相结合的NAT穿越方法
US7953010B2 (en) * 2008-07-30 2011-05-31 Avaya Inc. System and method of controlling in-bound path selection based on historical and continuous path quality monitoring, assessment and predictions
WO2010054471A1 (en) 2008-11-17 2010-05-20 Sierra Wireless, Inc. Method and apparatus for network port and network address translation
US8924486B2 (en) * 2009-02-12 2014-12-30 Sierra Wireless, Inc. Method and system for aggregating communications
US7962627B2 (en) * 2008-12-04 2011-06-14 Microsoft Corporation Peer-to-peer network address translator (NAT) traversal techniques
US20100145912A1 (en) * 2008-12-08 2010-06-10 At&T Intellectual Property I, L.P. Detecting peer to peer applications
US8165041B2 (en) * 2008-12-15 2012-04-24 Microsoft Corporation Peer to multi-peer routing
US7962621B2 (en) * 2009-01-13 2011-06-14 Microsoft Corporation—One Microsoft Way Policy service system architecture for sessions created using STUN
US9264498B2 (en) * 2009-03-11 2016-02-16 Qualcomm Incorporated Methods and apparatus for creation, advertisement, and discovery of peer-to-peer overlay networks
US8082331B2 (en) * 2009-04-07 2011-12-20 International Business Machines Corporation Optimized multicasting using an interest-aware membership service
KR101035902B1 (ko) * 2009-05-14 2011-05-23 이화여자대학교 산학협력단 미디어 스트리밍을 위한 피투피 오버레이 네트워크 구조, 상기 네트워크에서 미디어 스트리밍 데이터를 전송하는 방법 및 상기 네트워크를 형성하는 방법
EP2458788B1 (en) 2009-07-24 2015-11-04 Huawei Technologies Co., Ltd. Method, device and system for processing network mapping identifiers and method for selecting peer nodes
US9203872B2 (en) 2010-02-19 2015-12-01 Microsoft Technology Licensing, Llc Distributed connectivity policy enforcement with ICE
US8924304B2 (en) * 2010-06-04 2014-12-30 Apple Inc. Methods for using unique identifiers to identify systems in collaborative interaction in a mesh network
CN101980508B (zh) * 2010-11-01 2013-05-15 深圳市鼎盛威电子有限公司 网络监控系统上的网络自适应运行模式
EP2673927A4 (en) 2011-02-08 2016-08-24 Sierra Wireless Inc METHOD AND DATA-TRANSFER SYSTEM BETWEEN NETWORK DEVICES
US9237434B2 (en) 2011-07-13 2016-01-12 Qualcomm Incorporated Network-assisted peer discovery with network coding
US20140244794A1 (en) * 2011-09-27 2014-08-28 Nec Corporation Information System, Method and Program for Managing the Same, Method and Program for Processing Data, and Data Structure
US20140222873A1 (en) * 2011-09-27 2014-08-07 Nec Corporation Information system, management apparatus, method for processing data, data structure, program, and recording medium
US10164929B2 (en) 2012-09-28 2018-12-25 Avaya Inc. Intelligent notification of requests for real-time online interaction via real-time communications and/or markup protocols, and related methods, systems, and computer-readable media
US9363133B2 (en) 2012-09-28 2016-06-07 Avaya Inc. Distributed application of enterprise policies to Web Real-Time Communications (WebRTC) interactive sessions, and related methods, systems, and computer-readable media
US9442679B2 (en) * 2013-01-31 2016-09-13 Xerox Corporation Network discovery using unicast communications
US9294458B2 (en) 2013-03-14 2016-03-22 Avaya Inc. Managing identity provider (IdP) identifiers for web real-time communications (WebRTC) interactive flows, and related methods, systems, and computer-readable media
US10205624B2 (en) 2013-06-07 2019-02-12 Avaya Inc. Bandwidth-efficient archiving of real-time interactive flows, and related methods, systems, and computer-readable media
US9525718B2 (en) 2013-06-30 2016-12-20 Avaya Inc. Back-to-back virtual web real-time communications (WebRTC) agents, and related methods, systems, and computer-readable media
US9065969B2 (en) * 2013-06-30 2015-06-23 Avaya Inc. Scalable web real-time communications (WebRTC) media engines, and related methods, systems, and computer-readable media
US9614890B2 (en) 2013-07-31 2017-04-04 Avaya Inc. Acquiring and correlating web real-time communications (WEBRTC) interactive flow characteristics, and related methods, systems, and computer-readable media
US9531808B2 (en) 2013-08-22 2016-12-27 Avaya Inc. Providing data resource services within enterprise systems for resource level sharing among multiple applications, and related methods, systems, and computer-readable media
US10263952B2 (en) 2013-10-31 2019-04-16 Avaya Inc. Providing origin insight for web applications via session traversal utilities for network address translation (STUN) messages, and related methods, systems, and computer-readable media
US9769214B2 (en) 2013-11-05 2017-09-19 Avaya Inc. Providing reliable session initiation protocol (SIP) signaling for web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media
US10129243B2 (en) 2013-12-27 2018-11-13 Avaya Inc. Controlling access to traversal using relays around network address translation (TURN) servers using trusted single-use credentials
JP6262063B2 (ja) 2014-03-18 2018-01-17 東芝メモリ株式会社 不揮発性メモリおよび書き込み方法
US10581927B2 (en) 2014-04-17 2020-03-03 Avaya Inc. Providing web real-time communications (WebRTC) media services via WebRTC-enabled media servers, and related methods, systems, and computer-readable media
US9749363B2 (en) 2014-04-17 2017-08-29 Avaya Inc. Application of enterprise policies to web real-time communications (WebRTC) interactive sessions using an enterprise session initiation protocol (SIP) engine, and related methods, systems, and computer-readable media
US10305748B2 (en) 2014-05-19 2019-05-28 The Michael Harrison Tretter Auerbach Trust Dynamic computer systems and uses thereof
US10666735B2 (en) 2014-05-19 2020-05-26 Auerbach Michael Harrison Tretter Dynamic computer systems and uses thereof
US9742853B2 (en) 2014-05-19 2017-08-22 The Michael Harrison Tretter Auerbach Trust Dynamic computer systems and uses thereof
US9912705B2 (en) 2014-06-24 2018-03-06 Avaya Inc. Enhancing media characteristics during web real-time communications (WebRTC) interactive sessions by using session initiation protocol (SIP) endpoints, and related methods, systems, and computer-readable media
GB2529838B (en) 2014-09-03 2021-06-30 Advanced Risc Mach Ltd Bootstrap Mechanism For Endpoint Devices
CN107690777A (zh) * 2015-03-30 2018-02-13 爱迪德技术有限公司 监视对等网络
GB2540989B (en) 2015-08-03 2018-05-30 Advanced Risc Mach Ltd Server initiated remote device registration
GB2540987B (en) 2015-08-03 2020-05-13 Advanced Risc Mach Ltd Bootstrapping without transferring private key
KR102666587B1 (ko) 2019-05-30 2024-05-17 삼성에스디에스 주식회사 피어-투-피어 통신 단말 장치 및 상기 장치에서의 피어-투-피어 통신 방법
CN111478908B (zh) * 2020-04-09 2022-05-03 杭州溪塔科技有限公司 一种p2p网络中用户建立通讯的方法、装置及电子设备
KR102419829B1 (ko) * 2020-12-28 2022-07-11 경희대학교 산학협력단 분산 및 계층적 머신러닝 학습을 위한 신뢰 기반의 차량 에지 네트워크

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8224985B2 (en) 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
US7206934B2 (en) * 2002-09-26 2007-04-17 Sun Microsystems, Inc. Distributed indexing of identity information in a peer-to-peer network
US8204992B2 (en) * 2002-09-26 2012-06-19 Oracle America, Inc. Presence detection using distributed indexes in peer-to-peer networks
US7792915B2 (en) * 2003-06-04 2010-09-07 Sony Computer Entertainment Inc. Content distribution overlay network and methods for operating same in a P2P network
US7539771B2 (en) * 2003-06-06 2009-05-26 Microsoft Corporation Organizational locality in prefix-based structured peer-to-peer overlays
US7516482B2 (en) * 2003-07-21 2009-04-07 Microsoft Corporation Secure hierarchical namespaces in peer-to-peer networks
US7418454B2 (en) * 2004-04-16 2008-08-26 Microsoft Corporation Data overlay, self-organized metadata overlay, and application level multicasting
US8015211B2 (en) * 2004-04-21 2011-09-06 Architecture Technology Corporation Secure peer-to-peer object storage system
EP1613024A1 (en) * 2004-06-29 2006-01-04 Alcatel Alsthom Compagnie Generale D'electricite Method and call server for establishing a bidirectional peer-to-peer communication link
US8014321B2 (en) * 2004-10-22 2011-09-06 Microsoft Corporation Rendezvousing resource requests with corresponding resources
US7639681B2 (en) 2004-11-23 2009-12-29 Microsoft Corporation System and method for a distributed server for peer-to-peer networks
US8365301B2 (en) * 2005-02-22 2013-01-29 Microsoft Corporation Peer-to-peer network communication
US7529255B2 (en) * 2005-04-21 2009-05-05 Microsoft Corporation Peer-to-peer multicasting using multiple transport protocols
JP4631531B2 (ja) 2005-05-10 2011-02-16 ブラザー工業株式会社 ネットワークシステム、接続確立方法、及びノード装置等
US7468952B2 (en) * 2005-11-29 2008-12-23 Sony Computer Entertainment Inc. Broadcast messaging in peer to peer overlay network

Also Published As

Publication number Publication date
GB2446951A (en) 2008-08-27
JP2008206160A (ja) 2008-09-04
CN101309301B (zh) 2012-11-14
GB2446951B (en) 2011-06-01
US8693392B2 (en) 2014-04-08
KR101399914B1 (ko) 2014-05-28
DE102008010145B4 (de) 2016-01-14
KR20080077915A (ko) 2008-08-26
US20080198850A1 (en) 2008-08-21
DE102008010145A1 (de) 2008-08-28
CN101309301A (zh) 2008-11-19
GB0803196D0 (en) 2008-04-23

Similar Documents

Publication Publication Date Title
JP4959602B2 (ja) ピアツーピア通信システムおよび方法
US10164826B2 (en) Distributed bootstrapping mechanism for peer-to-peer networks
US9137027B2 (en) Bootstrapping in peer-to-peer networks with network address translators
Singh et al. Peer-to-peer internet telephony using SIP
US8913525B2 (en) Method of merging distributed hash table (DHT) rings in heterogeneous network domains
US8296839B2 (en) VPN discovery server
AU2008270207B2 (en) Method, apparatus and system for mobility management and efficient information retrieval in a communications network
US20080183853A1 (en) Private virtual lan spanning a public network for connection of arbitrary hosts
US20090216887A1 (en) Method of establishing a connection
Partridge et al. RFC1546: Host anycasting service
US9118733B2 (en) Multilevel routing
Wolinsky et al. Addressing the P2P bootstrap problem for small overlay networks
Hanka et al. A novel DHT-based network architecture for the Next Generation Internet
US20080225867A1 (en) Faster NAT detection for Teredo client
CA2579331A1 (en) Peer-to-peer communication system and method
JP4242752B2 (ja) アドレス表管理方法、及び、端末
Waldhorst On overlay-based addressing and routing in heterogeneous future networks
Bless et al. Decentralized and autonomous bootstrapping for ipv6-based peer-to-peer networks
Hanka et al. A DHT-inspired clean-slate approach for the Next Generation Internet
AHMED et al. NAT Traversal and DHT for transmission of H264 stream on P2P networks
Seada Mobile devices as an extension to the wireless infrastructure
Di et al. Linyphi: creating IPv6 mesh networks with SSR
Niedermayer et al. Maintenance/Churn
Manner Autoconfiguration and Service Discovery
Dao et al. Using Anycast for Improving Peer-to-Peer Overlay Networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110615

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110915

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110921

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: 20120312

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120321

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

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4959602

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees