JP2005094773A - 参加局所性認識オーバーレイモジュールを含むコンピュータ化されたシステム及びコンピュータによって実施される方法 - Google Patents

参加局所性認識オーバーレイモジュールを含むコンピュータ化されたシステム及びコンピュータによって実施される方法 Download PDF

Info

Publication number
JP2005094773A
JP2005094773A JP2004269037A JP2004269037A JP2005094773A JP 2005094773 A JP2005094773 A JP 2005094773A JP 2004269037 A JP2004269037 A JP 2004269037A JP 2004269037 A JP2004269037 A JP 2004269037A JP 2005094773 A JP2005094773 A JP 2005094773A
Authority
JP
Japan
Prior art keywords
peer
peer group
overlay network
network
group
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.)
Granted
Application number
JP2004269037A
Other languages
English (en)
Other versions
JP4634108B2 (ja
Inventor
Xin Yan Zhang
シン ヤン チャン
Qian Zhang
チエン チャン
Yongqiang Xiong
ヤンチェン ジオン
Wenwu Zhu
ウェンウ チュー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005094773A publication Critical patent/JP2005094773A/ja
Application granted granted Critical
Publication of JP4634108B2 publication Critical patent/JP4634108B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • 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
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building
    • 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/1059Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
    • 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/1072Discovery involving ranked list compilation of candidate peers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • 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/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)

Abstract

【課題】 局所性認識オーバーレイネットワークの測定ベースの構成を実現する。
【解決手段】 ピアグループ内各ピアが他ピアグループ内ピア群と類似のトランスポートネットワーク近接度を有するように、オーバーレイネットワークピア群をグループ化する。第1のセットのトランスポートネットワーク距離がピアグループとそのピアグループのピアグループ近隣の間の距離を含む。第2のセットの距離がピアとそのピアグループのピアグループ近隣の間の距離を含む。ピアは、第1のセットの距離が第2のセットに近い場合ピアグループに参加することを決める。第1のピアグループが、第2のピアグループの近隣ピアグループに関して、第2のピアグループにクエリを行う。第1のピアグループと、第2のピアグループの近隣のそれぞれとの間の距離を測定する。第1のピアグループと第2のピアグループの近隣の最も近接した近隣の間でオーバーレイネットワーク接続を確立する。
【選択図】 図10

Description

本発明は、参加局所性認識オーバーレイモジュールを含むコンピュータ化されたシステム及びコンピュータによって実施される方法に関し、より詳細には、一般にコンピュータネットワークに関し、1つまたは複数のオーバーレイネットワークをサポートすることができるコンピュータネットワークに係る、参加局所性認識オーバーレイモジュールを含むコンピュータ化されたシステム、記録媒体、及びコンピュータによって実施される方法に関する。
コンピュータネットワークによって提供されるサービスを活用するアプリケーションの数は多く、増えつづけている。そのようなアプリケーションは、対話型マルチ媒体通信、マルチ媒体ファイル取得、ストリーミング媒体配信、及び分散コンピューティングを含む。最新のコンピュータネットワークによって通常、提供される基本的なサービスは、ネットワーク内の各コンピュータが、ネットワーク内の他の任意のコンピュータと通信接続を確立する能力である。特に大型のコンピュータネットワークにおいては、このサービスが、例えば、力づくのそれぞれ互いに対する(N×N)接続ではなく、より高度なルーティングによって提供されることが普通である。少なくとも以下の説明では、この基本サービスを提供することに関わるコンピュータネットワークをトランスポートネットワークと呼ぶ。
様々なアプリケーションアーキテクチャが、異なる形でトランスポートネットワークを利用することが可能である。例えば、クライアント−サーバアーキテクチャが、集中サーバコンポーネント、及び、必要に応じて、サーバと程度の差はあれ一時的な通信接続を確立するトランスポートネットワーク全体に配置されたいくつかのクライアントコンポーネントを有することが可能である。別の例は、最近、普及しているピアツーピア(P2P)アーキテクチャである。ピアツーピアアーキテクチャは、通常、集中化された要素を回避し、代わりに、おおむね等価の機能を有するピア(peer)群を頼りにしてアプリケーションのバックボーンを提供する。そのような分散化の利点には、単独の障害点及び攻撃に対する脆弱点が回避されること、ならびに良好な理論上のスケーラビリティが含まれることが可能である。
ピア群をピアツーピアアーキテクチャに構成するための様々な従来のスキームが存在する。そのようなスキームの例には、CANアーキテクチャ(非特許文献1参照)、Chordアーキテクチャ(非特許文献2参照)、Pastryアーキテクチャ(非特許文献3参照)、及びTapestryアーキテクチャ(非特許文献4参照)が含まれる。一般に、ピアツーピアアーキテクチャにおけるピア群は、基礎にあるトランスポートネットワークとは独立に考えることができるオーバーレイネットワークと呼ばれるネットワークに構成される。
トランスポートネットワークとは独立にピアツーピアアーキテクチャのオーバーレイネットワークを構成することが抱える問題は、オーバーレイネットワークにおいて近隣であるピア群が、基礎にあるトランスポートネットワークにおいて互いに遠く離れている可能性があり、例えば、互いに通信する際に長い遅延を受ける可能性があることである。オーバーレイネットワークとトランスポートネットワークの間におけるこの不一致は、完全に望ましくないわけではない。というのは、例えば、それにより、オーバーレイネットワークが、また、したがって、オーバーレイネットワークを利用しているアプリケーションが、トランスポートネットワークにおける障害に耐えることができるようになる可能性があるからである。しかし、オーバーレイネットワークの利点が所望される多くのアプリケーション、特に高いサービス品質(QoS)要件を有するアプリケーションは、基礎にあるトランスポートネットワークを効率的に利用するオーバーレイネットワークを構成するシステム及び方法から利益を得るであろう。
Ratnasamy 他, "Scalable Content-Addressable Network", Proceedings of ACM SIGCOMM, August 2001 Stoica他, "Chord: A scalable Peer-to-peer Lookup Service for Internet Applications", Proceedings of ACM SIGCOMM, August 2001 Rowstron他, "Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems", Proceedings of the 18th IFIP/ACM International Conference on Distributed Systems Platforms (Middleware 2001), November 2001 Zhao他, "Tapestry: An Infrastructure for Fault-tolerant Wide-area Location and Routing", Report No. UCB/CSD-01-1141, Computer Science Division, University of California, Berkeley, April 2001
従来のシステムには上述したような問題があり、さらなる改善が望まれている。
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、局所性(locality)認識オーバーレイネットワークの測定ベースの構成を実現する、参加局所性認識オーバーレイモジュールを含むコンピュータ化されたシステム及びコンピュータによって実施される方法を提供することにある。
このセクションでは、本発明のいくつかの実施形態の簡単な説明を提示する。この概要は、本発明の広範な全体像ではない。この簡単な説明は、本発明の重要な/不可欠な要素を特定する、または本発明の範囲を画定することを意図していない。この簡単な説明の唯一の目的は、後に提示するより詳細な説明の前置きとして、本発明のいくつかの実施形態を簡略化された形態で提示することである。
本発明の一実施形態では、オーバーレイネットワークピア群がグループ化され、ピアグループ内の各ピアが、他のピアグループ内のピア群と比較して同様のトランスポートネットワーク近接度を有するようになる。
第1のセットのトランスポートネットワーク距離には、オーバーレイネットワークピアグループと、そのオーバーレイネットワークピアグループのピアグループ近隣の間のトランスポートネットワーク距離が含まれることが可能である。第2のセットのトランスポートネットワーク距離には、ピアと、オーバーレイネットワークピアグループのピアグループ近隣の間のトランスポートネットワーク距離が含まれることが可能である。本発明の一実施形態では、ピアは、第1のセットのトランスポートネットワーク距離が、第2のセットのトランスポートネットワーク距離に近い場合、オーバーレイネットワークピアグループに参加することを決める。本発明の一実施形態では、第1のセットのトランスポートネットワーク距離が第2のセットのトランスポートネットワーク距離に近いかどうかを判定するように参加局所性認識オーバーレイモジュールが構成される。
本発明の一実施形態では、第1のオーバーレイネットワークピアグループが、第2のピアグループの近隣ピアグループに関する第2のオーバーレイネットワークピアグループのクエリを行う。各オーバーレイネットワークピアグループは、オーバーレイネットワークにおける第1のピアグループでない限り、少なくとも1つの近隣ピアグループを有する。第1のオーバーレイネットワークピアグループと、第2のピアグループの近隣のそれぞれの間のトランスポートネットワーク距離が測定される。第1のオーバーレイネットワークピアグループと、第2のピアグループの近隣の中で最も近接した近隣との間で少なくとも1つのオーバーレイネットワーク接続が確立される。
添付の特許請求の範囲が、本発明の特徴を詳細に記載しているが、本発明、及び本発明の利点は、添付の図面と併せて考慮される以下の詳細な説明からよく理解される。
本発明によれば、局所性認識オーバーレイネットワークの測定ベースの構成を実現できる。
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。本発明の様々な実施形態の説明を始める前に、本発明の様々な実施形態を実施することができるコンピュータ及びネットワーキングの環境の説明を以下に提供する。必須ではないが、本発明は、コンピュータによって実行されている、プログラムモジュールなどのコンピュータ実行可能命令の一般的な状況で説明する。一般に、プログラムには、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、オブジェクト、コンポーネント、データ構造などが含まれる。本明細書で使用する「プログラム」という用語は、単一のプログラムモジュール、または協調して動作する複数のプログラムモジュールを表すことが可能である。本明細書で使用する「コンピュータ」及び「コンピューティングデバイス」という用語には、パーソナルコンピュータ(PC)、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのプログラマブル家庭用電化製品、ネットワークPC、ミニコンピュータ、タブレットPC、ラップトップコンピュータ、マイクロプロセッサまたはマイクロコントローラを有する家庭用電気器具、ルータ、ゲートウェイ、ハブなどの1つまたは複数のプログラムを電子的に実行する任意のデバイスが含まれる。また、本発明は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境において使用してもよい。分散コンピューティング環境では、プログラムは、ローカルメモリ記憶装置とリモートメモリ記憶装置の両方の中に配置することができる。
本発明の態様を組み込むのに適したコンピュータネットワーキング環境の例を図1を参照して説明する。典型的なコンピュータネットワーキング環境100は、雲で表すネットワーク104を介して互いに通信するいくつかのコンピュータ102を含む。ネットワーク104は、ルータ群、ゲートウェイ群、ハブ群などの多くの周知のコンポーネントを含むことが可能であり、コンピュータ群102が、有線媒体及び/または無線媒体を介して通信することができるようにしている。ネットワーク104を介して互いに対話する際、コンピュータ群102の1つまたは複数は、他のコンピュータ群102に対してクライアント群、サーバ群、またはピア群として動作することができる。したがって、本発明の様々な実施形態は、クライアント上、サーバ上、ピア上、または以上の組み合わせの上で実施することができる。ただし、それでも本明細書に含まれる特定の実施形態は、それらのタイプのコンピュータ群のすべてについて述べない可能性がある。コンピュータネットワーキング環境100は、トランスポートネットワークの例である。
図2を参照すると、本明細書で説明する本発明の態様を実施することができるコンピュータ102の基本的な構成の例が示されている。最も基本的な構成では、コンピュータ102は、通常、少なくとも1つのプロセッサ202、及びメモリ204を含む。プロセッサ202は、本発明の様々な実施形態に従ってタスクを行う命令を実行する。そのようなタスクを実行する際、プロセッサ202は、コンピュータ102の他の諸部分、及びコンピュータ102の外部のデバイス群に電子信号を伝送して、何らかの結果を生じさせることができる。コンピュータ102の正確な構成及びタイプに依存して、メモリ204は、揮発性である(RAMのように)、不揮発性である(ROMまたはフラッシュメモリのように)、あるいはその2つの何らかの組み合わせであることが可能である。この最も基本的な構成を図2に破線206で示している。
また、コンピュータ102は、追加の特徴/機能も有することが可能である。例えば、コンピュータ102は、磁気式または光学式のディスクまたはテープを含むが、以上には限定されない追加のストレージ(リムーバブルストレージ208及び/またはノンリムーバブルストレージ210)を含むことも可能である。コンピュータ記憶媒体には、コンピュータ実行可能命令、データ構造、プログラムモジュール、またはその他のデータを含む情報を格納するために任意の方法または技術で実装された揮発性媒体または不揮発性媒体、リムーバブル媒体またはノンリムーバブル媒体が含まれる。コンピュータ記憶媒体には、RAM(random access memory)、ROM(read only memory)、EEPROM(electrically erasable programmable read-only memory)、フラッシュメモリ、CD(compact disc)−ROM、DVD(Digital Versatile Disc)または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶装置、あるいは所望の情報を格納するのに使用することができ、コンピュータ102がアクセスすることができる他の任意の媒体が含まれるが、以上には限定されない。あらゆるそのようなコンピュータ記憶媒体が、コンピュータ102の一部であることが可能である。
コンピュータ102は、好ましくは、デバイスが、リモートコンピュータ214のような他のデバイス群と通信することができるようにする通信接続212も含む。通信接続は、通信媒体の例である。通信媒体は、通常、搬送波などの変調されたデータ信号、または他のトランスポート機構でコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを実体化し、あらゆる情報配信媒体が含まれる。例として、限定としてではなく、「通信媒体」という用語には、音響媒体、RF(radio frequency)媒体、赤外線媒体、及びその他の無線媒体などの無線媒体が含まれる。本明細書で使用する「コンピュータ可読媒体」という用語には、コンピュータ記憶媒体と通信媒体がともに含まれる。
コンピュータ102は、キーボード/キーパッド、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの入力デバイス群216も有することが可能である。ディスプレイ、スピーカ、プリンタなどの他の出力デバイス群218も含まれることが可能である。これらすべてのデバイスは、当技術分野で周知であり、本明細書で詳細に説明することはしない。
以下の説明において、本発明は、特に明記しない限り、1つまたは複数のコンピューティングデバイスによって実行される動作の作用及び記号表現に関連して説明する。このため、ときとして、コンピュータによって実行されるものとして述べるそのような作用及び動作には、コンピュータのプロセッサによる構造化された形態のデータを表す電子信号の操作も含まれることを理解されたい。この操作は、データを変換するか、またはコンピュータのメモリシステム内の局所性にデータを保持し、それにより、当業者に周知の形でコンピュータの動作が再構成されるか、または別の形で変更される。データが保持されるデータ構造は、データのフォーマットによって定義された特定のプロパティを有するメモリの物理的な局所性である。ただし、本発明を以上の状況で説明するが、以下に説明する様々な作用及び動作をハードウェアで実施してもよいことが当業者には認められるように、限定することを意図するものではない。
通信ネットワークにおける近接度(proximity)は、時間に関して測定することができる。適切な近接メトリック(metric)/測度には、送信−受信待ち時間、往復時間、及びネットワークルーティングホップ数が含まれ、したがって、例えば、ネットワーク内の2つのポイントは、その2つのポイント間の往復時間が短い場合、近接していると言うことができ、ホップ数が多い場合、遠く離れていると言うことができる。オーバーレイネットワーク内の各ペアのピアに関連する次の少なくとも2つのそのような距離が存在する。すなわち、オーバーレイネットワークを介して測定された第1の距離、及び基礎にあるトランスポートネットワークを介して測定された第2の距離である。これらのメトリックは、例えば、各メトリックが往復時間である場合、同一の値を有することが可能であり、あるいは、異なることが可能であり、例えば、トランスポートネットワークを介して5つのルーティングホップが要求される場合に、オーバーレイネットワーク内の2つのピア間で直接接続が存在することが可能である。特に明記しない限りまたは明らかに状況と矛盾しない限り、以下の説明における2つのピア間の距離への言及は、基礎にあるトランスポートネットワークを介して測定された距離を指す。本発明の一実施形態では、オーバーレイネットワークは、隣接するピア間の平均トランスポートネットワーク距離を最短にするように構成される。
図3は、基礎にあるトランスポートネットワークとは独立に構成された典型的なオーバーレイネットワーク300を示している。したがって、図3のピア間の例示する距離は、そのピア間における基礎にあるトランスポートネットワーク距離とは独立である。そのようなオーバーレイネットワークは、当技術分野で周知であり、したがって、オーバーレイネットワークの詳細の一部だけを以下に説明する。図1に関連して説明するコンピュータネットワーキング環境100は、適切なトランスポートネットワークの例である。トランスポートネットワークのコンピュータ群102は、オーバーレイネットワーク300のピア群302、304、306、308、310、312、314、316をホストする。コンピュータ群とピア群はともに、トランスポートネットワーク内のノード群と見なすことができる。ピア(例えば、ピア302)とコンピュータ(例えば、コンピュータ102)の間の関係は、必ずしも1対1ではない。単一のコンピュータが、複数のピアをホストすることができ、例えば、ピア302及びピア316が、単一のコンピュータ102によってホストされることが可能である。単一のピア(例えば、ピア306)が、複数のコンピュータ102によってホストされることも可能である。
オーバーレイネットワーク300のピア相互接続の詳細は、例示が、基礎にあるトランスポートネットワークとは独立に構成された任意のオーバーレイネットワークの概略であることを意図しているため、比較的重要ではないが、完全にするために以下に説明する。ピア302は、ピア群304、306、及び316に直接に接続される(そのピア群のオーバーレイネットワーク内の近隣である)。ピア304は、ピア302及び306に接続される。ピア306は、ピア302、304、308、及び310に接続される。ピア308は、ピア306及び310に接続される。ピア310は、ピア306、308、及び312に接続される。ピア312は、ピア310、314、及び316に接続される。ピア314は、ピア312及び316に接続される。ピア316は、ピア302、312、及び314に接続される。この意味で接続されるピア群は、関連するアクティブなトランスポートネットワーク通信接続(例えば、図2の通信接続212)を有する必要はないが、それぞれのそのような接続には、通常、何らかのトランスポートネットワーク及び/またはオーバーレイネットワークのリソースが割り当てられている。
図4は、図4のピア間の例示する距離が、基礎にあるトランスポートネットワーク内のピア間の距離(すなわち、近接メトリック)を表していること以外は、図3と同一のオーバーレイネットワーク300を示している。ピア302、306、312、及び316が、トランスポートネットワーク内で互いに近接している。ピア302、306、312、及び316は、破線402で画定された第1のトランスポートネットワーク局所性の範囲内にあり、ピアグループAを一緒に形成している。ピア304、308、310、及び314も、トランスポートネットワーク内で互いに近接している。ピア304、308、310、及び314は、破線404で画定された第2のトランスポートネットワーク局所性の範囲内にあり、ピアグループBを形成している。ピアグループA及びピアグループBは、トランスポートネットワーク内で互いから比較的遠く離れており、つまり、この例では、異なるグループ内のピア間の接続は、長距離接続であるものと想定される。
ピア302とピア316は、オーバーレイネットワーク300内の近隣である。図4は、ピア302とピア316が、トランスポートネットワーク内でも互いに近接していることを示している。ピア304とピア314は、トランスポートネットワーク内で互いに近接しているが、オーバーレイネットワーク300内の最短パス経由でルーティングされるピア304からピア314へのオーバーレイネットワークメッセージでさえ、ピア304からピア302にまず送信され、次にピア302からピア316に、最後にピア316からピア314に送信される。ピア304からピア302へのオーバーレイネットワーク300接続、及びピア316からピア314へのオーバーレイネットワーク300接続は、長距離接続である。ピア304とピア314は、トランスポートネットワーク内で互いに近接しているものの、それらの間でルーティングされるオーバーレイネットワークメッセージは、2つの長距離接続の費用を被る。以上が、本発明の一実施形態が標的にする非効率の例である。
図5は、図4と同一のピア群及びトランスポートネットワーク局所性を示しているが、図5では、基礎にあるトランスポートネットワーク局所性402及び404を認識して、典型的なピアツーピアオーバーレイネットワーク500が構成されており、つまり、オーバーレイネットワーク500は、本発明の一実施形態に従って局所性認識している。図3及び図4のオーバーレイネットワーク300と比べて、オーバーレイネットワーク500は、より少数の長距離(すなわち、グループ間)接続を有する。本発明の一実施形態では、オーバーレイネットワーク内の隣接ピア間の平均トランスポートネットワーク距離が、オーバーレイネットワークのピア群をトランスポートネットワーク局所性の中にグループ化し、グループ間接続の数を最小限に抑えることによって短縮される。
オーバーレイネットワークの分散された性質に沿って、本発明の一実施形態による局所性認識オーバーレイネットワークの各ピアは、トランスポートネットワーク局所性を検出し、互いに接続されたグループに自己組織化することができることが望ましい。図6は、局所性認識ピア600の典型的なモジュール式ソフトウェアアーキテクチャを示している。局所性認識ピア600は、局所性認識ピア600が、自らのトランスポートネットワーク局所性の局所性認識オーバーレイネットワークピアグループに参加できるようにする参加局所性認識オーバーレイモジュール602を有する。グループ内保持モジュール604が、グループ内キャッシュ606を保持する。グループ内キャッシュ606は、局所性認識ピア600が参加するピアグループに関する情報を含む。グループ間保持モジュール608は、グループ間キャッシュ610を保持する。グループ間キャッシュ610は、局所性認識ピア600が参加しているピアグループ以外のピアグループに関する情報を含む。
ランデブーポイント(rendezvous point)モジュール612が、ブートピアキャッシュ614を保持し、キャッシュ614へのアクセスを提供する。ブートピアキャッシュ614は、局所性認識ピア600が、自らのトランスポートネットワーク局所性のピアグループを探索する際の開始点として利用することができるオーバーレイネットワーク内の1つまたは複数のピアのリストを含む。破線616により、本発明の様々な実施形態において、ランデブーポイントモジュール612及びブートピアキャッシュ614が、局所性認識オーバーレイネットワーク内のピア群のすべて、または一部によって組み込まれる、あるいはいずれによっても組み込まれないことが可能であることが示されている。ランデブーポイントモジュール612及びブートピアキャッシュ614は、ランデブーポイント機能を提供することに専用である公知の(または容易に発見することができる)トランスポートネットワーク局所性にあるピア(必ずしも局所性認識ピア600ではない)の中に組み込むこともできる。LDAP(Lightweight Directory Access Protocol)サーバ及びDHCP(dynamic host configuration protocol)サーバなどを利用して、ランデブーポイント機能を実装することができる。オーバーレイネットワーク全体に複数のブートピア(すなわち、ランデブーポイントモジュール612及びブートピアキャッシュ614を組み込んだピア群)を分散させることにより、オーバーレイネットワークの堅牢性及びフォールトトレランス(fault tolerance)を強化することができる。
本発明の一実施形態では、局所性認識オーバーレイネットワーク(例えば、図5の局所性認識オーバーレイネットワーク500、または図7に関連して以下に説明する局所性認識オーバーレイネットワーク700)に参加する局所性認識ピア600は、ピア600のトランスポートネットワーク局所性のピアグループに参加するか、またはピア600が、自らの局所性でピアグループを見つけられない場合、新規のピアグループを確立する。特定のピアグループに参加する際、局所性認識ピア600は、そのピアグループのメンバであるピア群に対するオーバーレイネットワーク接続を開始することができる。新規のピアグループを確立する際、局所性認識ピア600は、トランスポートネットワーク内で近接している既存のピアグループ内のピア群に対するオーバーレイネットワーク接続を開始することができる。新規のピアグループの確立は、局所性認識オーバーレイネットワークがより小さい場合、つまり、局所性認識オーバーレイネットワークが、より少数の局所性認識ピア600を組み込んでいる場合により一般的である可能性がある。
図7は、本発明の一実施形態による複数のピアグループを有する局所性認識オーバーレイネットワーク700の例を示している。各ピアグループ702、704、706、708、710、712、714、716、718、720は、少なくとも1つの局所性認識ピアを含む。局所性認識オーバーレイネットワーク700は、ランデブーポイント722を有する。図7の局所性認識ピア724は、まだオーバーレイネットワーク700に参加していない。
各ピアグループは、別のピアグループに対する少なくとも1つのオーバーレイネットワーク接続を有する。つまり、各ピアグループ内のピアの少なくとも1つが、別のピアグループ内のピアに対するオーバーレイネットワーク接続を有する。オーバーレイネットワーク700内で、各ピアグループは、トランスポートネットワーク内で近接する別のピアグループとの少なくとも1つの接続を有する。例えば、ピアグループ704、706、及び708は、トランスポートネットワーク内でピアグループ702に比較的近接しており、ピアグループ702は、これらのピアグループのそれぞれに対する直接オーバーレイネットワーク接続を有する。つまりピアグループ704、706、及び708は、ピアグループ702のピアグループ近隣である。これとは反対に、ピアグループ718は、トランスポートネットワーク内でピアグループ702から比較的遠く離れており、ピアグループ702は、ピアグループ718に対する直接オーバーレイネットワーク接続を有さない。ピアグループ702とピアグループ718は、オーバーレイネットワーク700内で近隣ではない。本発明の一実施形態では、ピアグループは、例えば、局在するトランスポートネットワーク障害に起因するオーバーレイネットワーク分割のリスクを小さくするため、近接したピアグループと並んで、他のランダムなピアグループに対してもオーバーレイネットワーク接続を有することが可能である。
局所性認識ピア群600を含むピアグループは、ピアグループネットワーク内のノード群と見なすことができる。図8は、従来のオーバーレイネットワークに関連するネットワークレイヤの概略図である。図8では、従来のオーバーレイネットワーク802が、トランスポートネットワーク804によってサポートされている。図9は、局所性認識オーバーレイネットワークに関連するネットワークレイヤの適切な概略図である。局所性認識オーバーレイネットワーク902(例えば、局所性認識オーバーレイネットワーク700)が、トランスポートネットワーク904(図8のトランスポートネットワーク804と同一であることが可能な)によってサポートされている。本発明の一実施形態では、局所性認識オーバーレイネットワーク902を保持することの一環として、局所性認識オーバーレイネットワーク902は、ピアグループネットワーク906を保持する。
各ピアグループは、そのピアグループのリーダ(「ピアグループリーダ」)であるピアを含むことができる。新規のピアグループを確立するピアは、通常、その新規のピアグループの第1のリーダである。ピアグループ内のそれぞれの局所性認識ピア600が、そのピアグループのリーダになることができる。本発明の一実施形態では、グループ間オーバーレイネットワーク接続は、ピアグループリーダ間で行われる。例えば、図5では、ピア312が、ピアグループAのリーダであり、ピア314が、ピアグループBのリーダである。図9のピアグループネットワーク906は、ピアグループのリーダである局所性認識オーバーレイネットワーク902内のピア群のネットワークであることが可能である。
本発明の一実施形態では、ピアグループ内の各ピアは、トランスポートネットワーク内で十分に互いに近接しているので、ピアとピアグループリーダの間のトランスポートネットワーク距離の測定値が、そのピアと、ピアグループリーダを含むピアグループ内の各ピアの間のトランスポートネットワーク距離の良好な近似値である。このピアグループの一貫性により、自らのトランスポートネットワーク局所性のピアグループを探索するピアが、トランスポートネットワーク局所性データに関してネットワークのピアグループリーダにクエリを行うことにより、局所性認識オーバーレイネットワークを迅速に走査する(例えば、ランダムな開始点から)ことができるようになることが可能である。局所性認識オーバーレイネットワーク走査をさらに強化するため、各ピアグループリーダが、隣接するピアグループ(すなわち、トランスポートネットワーク内で近接したピアグループ)のリスト、及びそれらの隣接ピアグループまでのトランスポートネットワーク距離を保持することが可能である。例えば、図7では、ピアグループ702のリーダが、ピアグループ704、706、及び708のリーダに対する参照のリスト、及びそれらのピアグループまでの測定済みのトランスポートネットワーク距離を保持する。
自らのトランスポートネットワーク局所性のピアグループを探索する局所性認識ピア600は、少なくとも1つのピアグループを見つけると、候補ピアグループの隣接ピアグループに対する参照、ならびに候補ピアグループから測定されたそれらの隣接ピアグループまでのトランスポートネットワーク距離に関して候補ピアグループにクエリを行うことにより(例えば、ピアグループリーダにクエリを行うことにより)、そのピアグループが自らの局所性にあるかどうかを調べることができる。次に、ピア600は、ピア600自体から、候補ピアグループに隣接するピアグループまでのトランスポートネットワーク距離を測定することができる。ピア600によって測定されたトランスポートネットワーク距離が、候補ピアグループによって与えられたトランスポートネットワーク距離と同一である(例えば、10ミリ秒の往復時間、または1つのトランスポートネットワークホップの許容差の範囲内まで)場合は、本発明の一実施形態では、ピア600は、自らのトランスポートネットワーク局所性のピアグループを見つけたことになる。ピアグループネットワーク内のピアグループは、探索を行うピア600のための動的な目印(landmark)として作用する。ピア600は、例えば、オーバーレイネットワーク接続を確立する相手のピアグループ内のピア群のリストに関して、ピアグループのリーダにさらにクエリを行うことにより、ピアグループに参加することができる。ピア600によって測定されたピアグループ近隣の距離が、候補ピアグループによって与えられた距離と一致しない場合、ピア600は、検査すべき新たな候補ピアグループ(すなわち、不合格にされた候補ピアグループの近隣)のリストを有し、例えば、最短の測定されたトランスポートネットワーク距離を有する候補グループを次に試みるように選択することができる。
図10は、本発明の一実施形態による局所性認識オーバーレイネットワーク700に参加する際に以上の戦略を使用する局所性認識ピア724(図7)によって実行される典型的な手続きを示している。図6の参加局所性認識オーバーレイモジュール602が、図10で示された手続きを実行することができる。局所性認識オーバーレイネットワーク700に参加する局所性認識ピア724は、局所性認識オーバーレイネットワーク700内の少なくとも1つのピアグループに対する第1の参照をいくつかの形で獲得することができる。コンピュータユーザが、ピアグループリーダのトランスポートネットワークアドレス、例えば、IP(Internet Protocol)アドレス、トランスポートネットワークドメイン名、またはURL(Uniform Resource Locator)を直接に入力することができる。代替として、各局所性認識ピア724が、例えば、DHCP、またはオーバーレイネットワークの類似物を介して獲得することができる局所性認識オーバーレイネットワーク700に関するランデブーポイント(RP)(例えば、ランデブーポイント722)に対する参照を有していてもよい。図10に示した例では、1つまたは複数のピアグループのブートリストが、ステップ1002で、局所性認識オーバーレイネットワーク700に関するランデブーポイント722から獲得される。
ステップ1004で、ピア724が、ピア724自体と、ブートリストの中の候補ピアグループのそれぞれの間のトランスポートネットワーク距離を測定する。例えば、ピア724が、各ピアグループのリーダに明示的なMeasureメッセージを送信し、Measureメッセージに対する応答を受信した後、往復時間を計算することが可能である。本発明の一実施形態では、グループ間保持モジュール608(図6)が、Measureメッセージなどに応答することを担う。当業者には理解されるとおり、トランスポートネットワーク距離を測定する他の適切な方法を使用してもよい。ステップ1006で、ピア724からの最短の測定されたトランスポートネットワーク距離を有する現在のセットの候補ピアグループの中のピアグループが、調べられる次のピアグループとして選択される。ピア724が、オーバーレイネットワーク内のピアグループに対する直接の第1の参照(例えば、ランデブーポイント以外からの)を有する場合、ピア724は、ステップ1002、1004、及び1006を迂回して、ステップ1008から始めることができる。
ステップ1008で、ピア724が、選択されたピアグループの隣接ピアグループに対する参照に関して、選択されたピアグループにクエリを行う。例えば、ピア724は、明示的なGet Neighboring Peer Gropusメッセージを選択されたピアグループのリーダに送信し、応答として隣接するピアグループに対する参照を受信することができる。例えば、ピア724が、Get Neighboring Peer Groupsメッセージをピアグループ702のリーダに送信した場合、本発明の一実施形態では、ピア724は、応答としてピアグループ704、706、及び708のリーダのリストを受信する。本発明の一実施形態では、グループ内保持モジュール608(図6)は、Get Neighboring Peer Groupsメッセージなどに応答することを担う。
ステップ1010で、ピア724は、選択されたピアグループによって測定された選択されたピアグループの隣接ピアグループまでのトランスポートネットワーク距離に関して、選択されたピアグループにクエリを行う。例えば、ピア724は、明示的なGet Neighboring Peer Group Distancesメッセージを選択されたピアグループに送信し、応答としてそれぞれの隣接ピアグループに関するトランスポートネットワーク距離を受信することができる。例えば、ピア724が、Get Neighboring Peer Group Distancesメッセージをピアグループ702のリーダに送信した場合、本発明の一実施形態では、ピアは、応答として、ピアグループ702からピアグループ704まで、ピアグループ702からピアグループ706まで、及びピアグループ702からピアグループ708までのトランスポートネットワーク距離を受信する。一実施形態では、グループ間保持モジュール608(図6)が、Get Neighboring Peer Group Distancesメッセージなどに応答することを担う。
本発明の一実施形態では、各ピアグループリーダが、自らのグループ間キャッシュ610(図6)の中に、隣接するピアグループ内のピアグループリーダのリスト、ならびにそれぞれの隣接ピアグループリーダまでのトランスポートネットワーク距離を保持する。隣接するピアグループのリストを確立し、保持することについて、図11を参照して以下により詳細に説明する。グループ間保持モジュール608は、例えば、Measureメッセージをリストの中の各ピアグループリーダに定期的に送信することにより、トランスポートネットワーク距離を定期的に更新することができる。本発明の一実施形態では、選択されたピアグループのリーダのグループ内保持キャッシュ610のコピーを要求することにより、前述したステップ1008及び1010のメッセージの場合と少なくとも同一の情報が提供される。オーバーレイネットワークのピア間のキャッシュ同期は、従来のオーバーレイネットワークプロトコルによってサポートすることができる。
ステップ1012で、ピア724が、ピア724自体と選択されたピアグループの中の隣接ピアグループのそれぞれとの間のトランスポートネットワーク距離を測定する。例えば、ピア724は、隣接するピアグループのそれぞれのリーダにMeasureメッセージを送信することができる。例えば、ピア724が、図7のピアグループ702を考慮している場合、ピア724は、ピアグループ704、706、及び708のリーダにMeasureメッセージを送信することができる。ステップ1012の完了時に、ピア724は、選択されたピアグループの中の隣接ピアグループのリスト、選択されたピアグループからそれらの隣接ピアグループのそれぞれまでのトランスポートネットワーク距離(提供された距離)、及びピアからそれらの隣接ピアグループのそれぞれまでのトランスポートネットワーク距離(測定された距離)を有する。
ステップ1014で、ピア724が、提供された距離のそれぞれをそれに対応する測定された距離と比較する。例えば、ピア724が、ピアグループ702を考慮している場合、ピア724はまず、ピアグループ702によって提供されたピアグループ702とピアグループ704の間のトランスポートネットワーク距離を、ピア724によって測定されたピアグループ702とピアグループ704の間のトランスポートネットワーク距離と比較する。次に、ピア724は、ピアグループ702によって提供されたピアグループ702とピアグループ706の間のトランスポートネットワーク距離を、ピア724が測定したピア724自体とピアグループ706の間のトランスポートネットワーク距離と比較する。次に、ピア724は、ピアグループ702によって提供されたピアグループ702とピアグループ708の間のトランスポートネットワーク距離を、ピア724によって測定されたピアとピアグループ708の間のトランスポートネットワーク距離と比較する。それぞれの比較に関して、差の絶対値(すなわち、符号を無視した値)が、閾値(例えば、10ミリ秒)未満である場合、選択されたピアグループは、ピア724のトランスポートネットワーク局所性の中にあると判定され、手続きは、ステップ1016に進み、ピア724は、選択されたピアグループに参加する。閾値未満ではない場合、現在、選択されているピアグループは、ピア724のトランスポートネットワーク局所性の中にないと判定され、手続きは、ステップ1018に進む。
ステップ1018で、ピア724は、候補ピアグループの残りのセットを検査して、局所性試験に適したものが存在するかどうかを判定する。ピア724の局所性の中にピアグループが見つからずに、すべての適切な候補が既に試験済みである、あるいはあまりにも多くの(例えば、10個の)ピアグループが既に試験済みであることがあり得る。適切な候補ピアグループが残っていない場合、手続きは、ステップ1020に進み、ピア724が、自らを第1のメンバとして新規のピアグループを確立する。候補ピアグループのセットが、それでも適切な候補を含まない場合、手続きは、ステップ1006に戻り、ピア724から最短の測定されたトランスポートネットワーク距離を有する適切な候補が、次回の局所性試験のために選択される。
例えば、ピア724がオーバーレイネットワーク700に参加することを求めており、ランデブーポイント722が局所性探索の開始点としてピアグループ702を提供する場合、ピア724は、ピアグループ702の隣接ピアグループに関してピアグループ702にクエリを行い、応答としてピアグループ704、706、及び708を受け取る。本発明の一実施形態では、これらのピアグループ704、706、及び708は、次回の局所性試験のための候補ピアグループのセットとなる。ピアグループ702が、ステップ1014の局所性試験に不合格であった場合、ピアグループ724は、ステップ1012でピア724によって測定されたトランスポートネットワーク内のそのピアに最も近接した候補ピアグループのセットの中のピアグループを選択する。
この例では、ピアグループ708が、ピアグループ704、706、及び708の中で最も近接している。この結果、ピア724は、ピアグループ708が試験されるように選択し、ピアグループ708の近隣に関してピアグループ708にクエリを行う。オーバーレイネットワーク700内で、ピアグループ708の隣接ピアグループは、ピアグループ702及び710である。本発明の一実施形態では、ピアグループ702は、既に試験され、不合格にされており、したがって、適切な候補ではないが、ピアグループ710は、候補ピアグループのセットに追加される。ピアグループ710までのトランスポートネットワーク距離が、ピアグループ708を試験する手続きの一環として測定される。ピアグループ708が、ステップ1014の局所性試験に不合格であった場合、本発明の一実施形態では、ピア724は、ピアグループ704、706、及び710のうち最も近接したピアグループが次に試験されるように選択する。
ピアグループ710が最も近接している場合、ピアグループネットワーク探索は、ピアグループ710に進む。ピアグループ710の近隣に関してピアグループ710にクエリを行った際、ピアグループ712、714、及び716が候補ピアグループのセットに追加され、ピアグループの1つが局所性試験に合格するまで、局所性認識オーバーレイネットワーク内のピアグループのそれぞれが局所性試験に不合格になるまで、あるいはピア724が、時間(例えば、10秒間)、試験されたピアグループの数(例えば、10個)などに関してピアグループネットワーク探索限度に達するまで、以下同様に行われる。本発明の一実施形態では、既に試験済みのピアグループは、候補ピアグループのセットから除外されず、既に試験済みのピアグループの1つが最良の(すなわち、最短距離の)候補であると判定された場合、ピア724は、そのピアグループを新規のピアグループの第1の近隣として新規のピアグループを確立する。
本発明の一実施形態では、新規のピアグループを確立することは、新規ピアグループ識別子(ID)を生成すること、及びいくつかの新規ピアグループの最も近接した近隣に対するオーバーレイネットワーク接続を確立することを含む。新規のピアグループに最も近接したピアグループは、図10に関連して前述した方法の変種を使用して見つけることができる。ピアグループネットワークの中の一巡し、既存のピアグループの1つに参加するのではなく、新規のピアグループを確立することを決定した時点で、ピア600は、最も近接した既存のピアグループ(最後に試験されたピアグループ)に対する参照を有することが可能である。この最も近接した既存のピアグループが、新規のピアグループの第1の近隣になることが可能である。次に、新規のピアグループが、その第1の近隣の近隣(複数)に関して、その第1の近隣にクエリを行い、新規のピアグループからのその近隣の距離を測定し、それらのうち最も近接したピアグループを新規ピアグループの第2の近隣として選択することができる。次に、新規のピアグループは、その第2の近隣の近隣(複数)に関して、その第2の近隣にクエリを行い、例えば、新規のピアグループが適切な数の接続された近隣(例えば、6個の近隣)を有するまで、新規のピアグループが局所性認識オーバーレイネットワーク内のピアグループのそれぞれに接続するまで、あるいはピアグループがトランスポートネットワーク距離境界(例えば、1000ミリ秒または7個のトランスポートネットワークホップ)内の各ピアグループに接続するまで、以下同様に行われることが可能である。
図11は、本発明の一実施形態による局所性認識オーバーレイネットワーク内で新規のピアグループを確立するための典型的な手続きを示している。図6の参加局所性認識オーバーレイモジュール602が、図11に示した手続きを実行することができる。ステップ1102で、新規のピアグループを確立するピア724(図7)が、ピア識別子の従来の生成と同様の方法を使用して新規ピアグループ識別子を生成し、例えば、ピアグループ識別子は、当技術分野で周知の方法を使用して生成されたGUID(globally unique identifier)であることが可能である。ステップ1104で、ピア724は、オーバーレイネットワーク内で最も近接した既知の既存ピアグループのリーダに対するオーバーレイネットワーク接続を確立する。例えば、ピア724は、図10に関連して前述した方法を利用して、局所性認識オーバーレイネットワーク700を走査することが可能である。ピアグループ702から開始して、ピア724は、ピアグループ708、710、714、718、及び720のそれぞれを順に考慮したが、それぞれのピアグループがピア724の局所性試験に不合格になっていた場合、ピア724は、自らを第1のメンバとして新規のピアグループを確立することを判定する。この例では、ピアグループ720が、オーバーレイネットワーク700内で最も近接した既知の既存ピアグループであり、したがって、ピア724は、ピアグループ720に対して、例えば、ピアグループ720のリーダに対して自らの第1のオーバーレイネットワーク接続を確立する。
ステップ1106で、ピア724は、目標数のグループ間接続に達したかどうかを調べる。グループ間接続の目標数は、局所性認識オーバーレイネットワークを利用しているアプリケーションの要件に依存して異なる可能性があるが、本発明の一実施形態では、少なくとも2つであり、しばしば、より多い。目標が満たされている場合、新規のピアグループを確立するこの態様は、完了である。満たされていない場合、手続きは、ステップ1108に進み、候補の近隣を獲得する。将来の何らかの時点で、近隣ピアグループに対する確立済みの接続の1つまたは複数が失われた場合、ピア724は、グループ間接続を目標数まで復元するため、この手続きに、例えば、ステップ1106から再び入ることが可能である。
ステップ1108で、ピア724は、図10のステップ1008と同様の形で新たな近隣の近隣(複数)のリストに関して、新たな近隣にクエリを行う。例えば、図7のピアグループ720が新規のピアグループの第1の近隣である場合、新規のピアグループは、ピアグループ720の近隣のリストに関してピアグループ720にクエリを行い、応答として、ピアグループ718及びその新規のピアグループ自体に対する参照を受け取る。本発明の一実施形態では、第1の近隣ピアグループのそれらの近隣が、新規のピアグループに関する候補の近隣となる。後続の繰り返しの際、近隣クエリの結果が候補の近隣のリストに追加されることが可能である。ステップ1110で、ピア724は、図10のステップ1012と同様の形で、ピア724自体から新たな候補の近隣までのトランスポートネットワーク距離を測定する。例えば、図7のピアグループ720に、ピアグループ720の近隣に関してクエリを行った後、ピア724は、ピアグループ718までのトランスポートネットワーク距離を測定する。
ステップ1112で、ピア724は、候補の近隣のリストを調べて、適切な候補が存在するかどうかを判定する。新規のピアグループが、目標数のグループ間接続に達することなしに、局所性認識オーバーレイネットワークのピアグループのそれぞれに対するオーバーレイネットワーク接続を確立済みであることがあり得る。新規のピアグループが、トランスポートネットワーク距離限度内のピアグループのそれぞれに対するピアグループレベルの接続を確立済みであることがあり得る。適切な近隣候補が全く存在しない場合、ピア724は、図11に示した手続きを終了することができる。存在する場合、手続きは、ステップ1104に戻り、ピア724が、候補のピアグループの最も近接したピアグループを新規のピアグループの新たな近隣として選択する。手続きが、目標数のグループ間接続を確立することなしに終了した場合、新規のピアグループのリーダが、例えば、ステップ1104から、定期的にこの手続きに再び入って新たな近隣を探索することができる。
本発明の一実施形態では、新規のピアグループを確立するピアは、そのピアグループの第1のリーダになる。確立を行ったピアは、無期限にそのピアグループのリーダにとどまることができるが、確立を行ったピアが、局所性認識オーバーレイネットワークを離れた場合(例えば、トランスポートネットワークから接続解除することにより)は、本発明の一実施形態では、別のピアグループメンバが、その役割を引き受ける。他のピアグループメンバが全く存在しない場合は、ピアグループは、存在しなくなる可能性がある。
本発明の一実施形態では、ピアグループリーダが、リーダシップリストを確立し、保持する。リーダシップリストは、ピアグループのメンバであるピア群に対するいくつかの参照を含むことが可能である。リーダシップリストは、ピアグループの各メンバを含む必要はない。本発明の一実施形態では、リーダシップリストは、局所性認識ピア600のグループ内キャッシュ606(図6)の中に格納される。ピアグループを確立するピアは、ピアグループを確立するプロセスの一環として、自らをリーダシップリストの第1のメンバとして追加することができる。
新たなピアがピアグループに参加することを求める場合、その新たなピアは、グループ内オーバーレイネットワーク接続を確立する相手の候補のピアのリストに関してピアグループリーダにクエリを行うか、または、候補のピア群が、接続最大数に達している場合、少なくとも追加の候補に関してクエリを行うことができる。例えば、新たなピアは、Get Peer Group Membersメッセージをピアグループリーダに送信し、応答として現在のリーダシップリストを受け取ることができる。本発明の一実施形態では、グループ内保持モジュール604が、Get Peer Group Membersメッセージなどに応答することを担う。オーバーレイネットワークがピアキャッシュ同期プロトコルを組み込んでいる場合、新たなピアは、自らのグループ内キャッシュ606をピアグループリーダのグループ内キャッシュ606と同期させることにより、候補グループ内ピアのリストを獲得することができる。リーダシップリストが目標数未満のピア(例えば、10個)を含む場合、候補のグループ内ピアのリストに関してピアグループリーダにクエリを行った結果、新たなピアをリーダシップリストに追加することができる。
ピアグループ内の各ピアは、リーダシップリストのコピーを有することが可能である。現在のピアグループリーダがピアグループを離れた(例えば、オーバーレイネットワークを離れた)場合、本発明の一実施形態では、リーダシップリストの中で次のピアが、ピアグループリーダになる。新たなピアグループリーダは、古いピアグループリーダをリーダシップリストから削除し、新たなピアをリーダシップリストの末尾に追加することができる。本発明の一実施形態では、ピアグループリーダは、例えば、ピアグループ内で従来のオーバーレイネットワークフラッディングスタイル(flooding−style)のメッセージ伝搬を利用することにより、Aliveメッセージをピアグループ内の各ピアに定期的に(例えば、毎5秒に)送信する。Aliveメッセージがある時間(例えば、10秒間)内に受信されなかった場合、本発明の一実施形態では、現在のグループリーダが、そのピアグループを離れたものと判定される。
リーダシップリストの中のピアのそれぞれが、ピアグループを離れ、したがって、ピアグループが、リーダ不在で、明確な継承のないままになることがあり得る。その状況では、ピアグループ内に残っている各ピアが、新たなピアグループリーダになろうと試みることが可能である。例えば、Aliveメッセージの欠如を介してこの状況が検出されると、各ピアが、ランダムな時間量(例えば、0ないし10秒間)待った後、New Leaderメッセージがピアグループ内の別のピアから既に受信されていない場合、New Leaderメッセージを送信することができる。本発明の一実施形態では、最も早期のタイムスタンプを有するNew Leaderメッセージを送信するピアが、新たなリーダである。ピアグループ内の2つ以上のピアが、ある時間(例えば、1秒間)内にNew Leaderメッセージを送信する可能性があるため、数回を要する可能性がある。本発明の一実施形態では、グループ内保持モジュール604が、Aliveメッセージなどの処理を担う。
ピアグループ内の各ピアが、隣接ピアグループ内のピアグループリーダのリストのコピーを有することが可能である。新たなピアグループリーダは、そのリストの隣接ピアグループのリーダに対するグループ間オーバーレイネットワーク接続を再確立することができる。代替として、新たなピアグループリーダは、図11に関連して前述した手続きを実行して、グループ間接続を再確立してもよい。
例えば、図5を参照すると、ピア314が、トランスポートネットワーク局所性404のピアグループのリーダである。ピア314は、ピアグループの第1のメンバであり、新規のグループを確立するプロセスの一環として、ピア314は、自らのグループ内キャッシュの中に格納されたリーダシップリストに自らを加えた。ピア308がそのピアグループに参加した際、ピア308は、候補のグループ内ピアのリストに関してピア314にクエリを行った。この結果、ピア314は、ピア308をリーダシップリストの第2位に追加し、グループ内オーバーレイネットワーク接続を確立する相手の候補のピアとしてピア314自体を戻した。ピア308は、実際、ピア314とオーバーレイネットワーク接続を確立した。ピア304が、そのピアグループに参加する次のピアであり、その次が、ピア310である。毎回、同様の一連の動作が行われる。ピア314がピアグループを離れた場合、ピア308が、ピアグループリーダになり、ピア312に対するグループ内接続を再確立する。
「ある(”a” and ”an”)」及び「その(the)」という用語、ならびに本発明を説明する文脈(特に特許請求の範囲の文脈)における同様の指示詞は、本明細書で特に明記しない限り、または明らかに文脈と矛盾しない限り、単数形と複数形をともに範囲に含むものと解釈されたい。「備える(comprising)」、「有する(having)」、「含む(including)」、及び「含む「containing」」という用語は、特に明記しない限り、無制限の用語(すなわち、「含むが、以上には限定されない(including,but not limited to)」を意味するものと解釈されたい。本明細書における値の諸範囲の列挙は、本明細書で特に明記しない限り、単に、その範囲内に該当するそれぞれの別個の値を個々に指す略記法の役割をするものとし、それぞれの別個の値が、あたかも個々に本明細書で列挙されているかのように本明細書に組み込まれる。本明細書で説明するすべての方法は、本明細書で特に明記しない限り、または明らかに状況と矛盾しない限り、任意の適切な順序で実行することができる。本明細書で提示するあらゆる例、または典型を示す言葉(例えば、「などの(such as)」)は、単に、本発明をよりよく例示することを目的としており、特に明記しない限り、本発明の範囲に限定を加えるものではない。本明細書におけるいずれの言葉も、特許請求していない要素が本発明の実施に不可欠であることを示しているものと解釈してはならない。
本発明を実施するための本発明者らが知る最良の形態を含め、本発明の好適実施形態を本明細書で説明している。これらの好適実施形態の変種も、以上の説明を読むことで、当業者には明白となる可能性がある。本発明者らは、当業者がそのような変種を適宜、使用することを予期しており、本発明者らは、本発明が、本明細書で具体的に説明した以外の形で実施されることも企図している。したがって、本発明は、該当する法律によって許される本明細書に添付した特許請求の範囲に記載する案件のすべての変形形態及び等価形態を含む。さらに、本明細書で特に明記しない限り、または明らかに状況と矛盾しない限り、前述した要素の任意の組み合わせが、可能なすべての変種において本発明に包含される。
トランスポートネットワークで接続されたコンピュータ群を示す概略図である。 本発明を適用できる実施形態の典型的なコンピュータシステムを示す概略図である。 基礎にあるトランスポートネットワークとは独立に構成された典型的なオーバーレイネットワークを示す概略図である。 ピア間の例示した距離がピア間のトランスポートネットワーク距離を表している図3の典型的なオーバーレイネットワークを示す概略図である。 本発明の一実施形態による典型的な局所性認識オーバーレイネットワークを示す概略図である。 本発明を適用できる実施形態の局所性認識ピアを実施するのに適した典型的なモジュール式ソフトウェアアーキテクチャを示すブロック図である。 本発明を適用できる実施形態の典型的な局所性認識オーバーレイネットワークのピアグループネットワークの態様を示す概略図である。 従来のオーバーレイネットワークに関連するネットワークレイヤを示す概略図である。 本発明を適用できる実施形態の局所性認識オーバーレイネットワークに関連するネットワークレイヤを示す概略図である。 本発明の一実施形態による局所性認識オーバーレイネットワークに参加する際に局所性認識ピアによって実行される典型的なステップを示す流れ図である。 本発明を適用できる実施形態の局所性認識オーバーレイネットワーク内で新規のピアグループを確立する際に局所性認識ピアによって実行される典型的なステップを示す流れ図である。
符号の説明
302、304、306、308、310、312、314、316、
402 グループA
404 グループB
600 局所性認識ピア
602 参加局所性認識オーバーレイ
604 グループ内保持モジュール
606 グループ内キャッシュ
608 グループ間保持モジュール
610 グループ間キャッシュ
612 ランデブーポイント
614 ブートピアキャッシュ
702、704、706、708、710、712、714、716、718、720 ピアグループ
902 局所性認識オーバーレイネットワーク
904 トランスポートネットワーク
906 ピアグループネットワーク

Claims (41)

  1. ピアにおいて、第1のセットのトランスポートネットワーク距離が第2のセットのトランスポートネットワーク距離に近い場合、オーバーレイネットワークピアグループに参加することを判定するステップを備える方法を実行するためのコンピュータ実行可能命令を有するコンピュータ読み取り可能な記録媒体であって、
    前記第1のセットのトランスポートネットワーク距離は、前記オーバーレイネットワークピアグループと、前記オーバーレイネットワークピアグループの少なくとも1つのオーバーレイネットワークピアグループ近隣の間の少なくとも1つのトランスポートネットワーク距離を含み、前記第2のセットのトランスポートネットワーク距離は、前記ピアと、前記オーバーレイネットワークピアグループの前記少なくとも1つのオーバーレイネットワークピアグループ近隣の間の少なくとも1つのトランスポートネットワーク距離を含む
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
  2. 前記第1のセットのトランスポートネットワーク距離は、前記第1のセットのトランスポートネットワーク距離の中の各トランスポートネットワーク距離に関して、前記第1のセットのトランスポートネットワーク距離の中の前記トランスポートネットワーク距離と、前記第2のセットのトランスポートネットワーク距離の中の対応するトランスポートネットワーク距離の差の絶対値が、閾値未満である場合、前記第2のセットのトランスポートネットワーク距離に近い
    ことを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
  3. トランスポートネットワーク内の第1のノードと第2のノードの間のトランスポートネットワーク距離は、前記第1のノードと前記第2のノードの間のメッセージに関する往復時間を含む
    ことを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
  4. トランスポートネットワーク内の第1のノードと第2のノードの間のトランスポートネットワーク距離は、前記第1のノードと前記第2のノードの間のトランスポートネットワーク待ち時間を含む
    ことを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
  5. トランスポートネットワーク内の第1のノードと第2のノードの間のトランスポートネットワーク距離は、前記第1のノードと前記第2のノードの間のトランスポートネットワークルーティングホップ数のカウントを含む
    ことを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
  6. 各オーバーレイネットワークピアグループは、ピアグループリーダを含み、前記ピアとオーバーレイネットワークピアグループの間のトランスポートネットワーク距離は、前記ピアと、前記オーバーレイネットワークピアグループの前記ピアグループリーダの間のトランスポートネットワーク距離を含み、第1のオーバーレイネットワークピアグループと第2のオーバーレイネットワークピアグループの間のトランスポートネットワーク距離は、前記第1のオーバーレイネットワークピアグループのピアグループリーダと前記第2のオーバーレイネットワークピアグループのピアグループリーダの間のトランスポートネットワーク距離を含む
    ことを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
  7. 前記方法は、
    前記第1のセットのトランスポートネットワーク距離に関して前記オーバーレイネットワークピアグループにクエリを行うステップと、
    前記第2のセットのトランスポートネットワーク距離の中の各トランスポートネットワーク距離を測定するステップとをさらに備える
    ことを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
  8. 前記方法は、
    前記ピアが前記オーバーレイネットワークピアグループに参加しない場合、前記オーバーレイネットワークピアグループの前記少なくとも1つのオーバーレイネットワークピアグループ近隣を候補のリストに追加するステップと、
    候補の前記リストの中で最も近接したオーバーレイネットワークピアグループを参加が考慮される次のピアグループとして選択するステップとをさらに備える
    ことを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
  9. 前記方法は、選択された各候補を試験した後、前記ピアが既存のオーバーレイネットワークピアグループに参加していない場合、新規のオーバーレイネットワークピアグループを確立することを判定するステップをさらに備える
    ことを特徴とする請求項8に記載のコンピュータ読み取り可能な記録媒体。
  10. ピアグループ内の各ピアが、他のピアグループ内のピア群と比較して類似のトランスポートネットワーク近接度を有するようにオーバーレイネットワークピア群をグループ化するステップを備える方法を実行するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ読み取り可能な記録媒体。
  11. 前記トランスポートネットワーク近接度は、ピア間の通信往復時間を含む
    ことを特徴とする請求項10に記載のコンピュータ読み取り可能な記録媒体。
  12. 類似のトランスポートネットワーク近接度は、閾値未満の絶対値の差を有する
    ことを特徴とする請求項10に記載のコンピュータ読み取り可能な記録媒体。
  13. 前記オーバーレイネットワークピア群をグループ化するステップは、前記オーバーレイネットワークピア群によって実行される
    ことを特徴とする請求項10に記載のコンピュータ読み取り可能な記録媒体。
  14. オーバーレイネットワークピア群をグループ化するステップは、
    既存のピアグループと、該既存のピアグループのピアグループ近隣の間のトランスポートネットワーク近接度が、新規のオーバーレイネットワークピアと、該既存のピアグループの前記ピアグループ近隣の間のトランスポートネットワーク近接度に類似している場合、該新規のオーバーレイネットワークピアを該既存のピアグループに追加するステップと、
    前記新規のオーバーレイネットワークピアが、既存のピアグループに追加されない場合、前記新規のオーバーレイネットワークピアを含む新規のピアグループを確立するステップとを含む
    ことを特徴とする請求項10に記載のコンピュータ読み取り可能な記録媒体。
  15. 新規のピアグループを確立するステップは、
    新規ピアグループ識別子を生成するステップと、
    前記トランスポートネットワーク内で近接した少なくとも1つのピアグループに対して、少なくとも1つのオーバーレイネットワーク接続を確立するステップとを含む
    ことを特徴とする請求項14に記載のコンピュータ読み取り可能な記録媒体。
  16. 各ピアグループは、ピアグループリーダを含み、
    第1のピアグループと第2のピアグループの間で、オーバーレイネットワーク接続を確立するステップは、前記第1のピアグループのリーダと前記第2のピアグループのリーダの間で前記オーバーレイネットワーク接続を確立するステップを含む
    ことを特徴とする請求項15に記載のコンピュータ読み取り可能な記録媒体。
  17. 各ピアグループは、少なくとも1つの隣接ピアグループを有し、
    新規のピアグループを確立するステップに先立ち、前記新規のオーバーレイネットワークピアは、
    現在のピアグループの前記少なくとも1つの隣接ピアグループを候補のピアグループのリストに追加するステップと、
    前記新規のオーバーレイネットワークピアから最短トランスポートネットワーク距離にある候補のピアグループの前記リストから次のピアグループを選択するステップと
    を含む方法によって既存のピアグループを走査する
    ことを特徴とする請求項14に記載のコンピュータ読み取り可能な記録媒体。
  18. 第1のセットのトランスポートネットワーク距離が、第2のセットのトランスポートネットワーク距離に近い場合、オーバーレイネットワークピアがオーバーレイネットワークピアグループに参加すべきであると少なくとも判定するように構成された参加局所性認識オーバーレイモジュールを含むコンピュータ化されたシステムであって、
    前記第1のセットのトランスポートネットワーク距離は、前記オーバーレイネットワークピアグループと、前記オーバーレイネットワークピアグループの少なくとも1つのオーバーレイネットワークピアグループ近隣の間の少なくとも1つのトランスポートネットワーク距離を含み、前記第2のセットのトランスポートネットワーク距離は、前記オーバーレイネットワークピアと、前記オーバーレイネットワークピアグループの少なくとも1つのオーバーレイネットワークピアグループ近隣の間の少なくとも1つのトランスポートネットワーク距離を含む
    ことを特徴とするシステム。
  19. 前記第1のセットのトランスポートネットワーク距離は、前記第1のセットのトランスポートネットワーク距離の中の各トランスポートネットワーク距離に関して、前記第1のセットのトランスポートネットワーク距離の中の前記トランスポートネットワーク距離と、前記第2のセットのトランスポートネットワーク距離の中の対応するトランスポートネットワーク距離の差の算術絶対値が、閾値未満である場合、前記第2のセットのトランスポートネットワーク距離に近い
    ことを特徴とする請求項18に記載のコンピュータ化されたシステム。
  20. 前記参加局所性認識オーバーレイモジュールは、少なくとも、
    前記第1のセットのトランスポートネットワーク距離に関して前記オーバーレイネットワークピアグループにクエリを行い、
    前記第2のセットのトランスポートネットワーク距離の中の各トランスポートネットワーク距離を測定する
    ようにさらに構成されている
    ことを特徴とする請求項18に記載のコンピュータ化されたシステム。
  21. リストされた順序でオーバーレイネットワークピアグループのリーダになる該オーバーレイネットワークピアグループ内の少なくとも1つのオーバーレイネットワークピアをリストアップする順序付けされたリーダシップリストを含むグループ内キャッシュをさらに備えた
    ことを特徴とする請求項18に記載のコンピュータ化されたシステム。
  22. オーバーレイネットワークピアグループの現在のリーダが、前記オーバーレイネットワークピアグループを離れたかどうかを少なくとも判定するように構成されたグループ内保持モジュールをさらに備えた
    ことを特徴とする請求項18に記載のコンピュータ化されたシステム。
  23. オーバーレイネットワークピアグループの少なくとも1つのオーバーレイネットワークピアグループ近隣のリストと、
    前記リストの中の各近隣に関して、前記オーバーレイネットワークピアグループと前記近隣の間の測定されたトランスポートネットワーク距離と
    を含むグループ間キャッシュをさらに備えた
    ことを特徴とする請求項18に記載のコンピュータ化されたシステム。
  24. オーバーレイネットワークピアグループと、前記オーバーレイネットワークピアグループの各オーバーレイネットワークピアグループ近隣の間のトランスポートネットワーク距離を少なくとも定期的に測定するように構成されたグループ間保持モジュールをさらに備えた
    ことを特徴とする請求項18に記載のコンピュータ化されたシステム。
  25. 第1のオーバーレイネットワークピアグループから、第2のオーバーレイネットワークピアグループの少なくとも1つのオーバーレイネットワークピアグループ近隣に関して、該第2のオーバーレイネットワークピアグループにクエリを行うステップと、
    前記第1のオーバーレイネットワークピアグループと、前記第2のオーバーレイネットワークピアグループの前記少なくとも1つのオーバーレイネットワークピアグループのそれぞれの間のトランスポートネットワーク距離を測定するステップと、
    前記第1のオーバーレイネットワークピアグループと、前記オーバーレイネットワークピアグループから最短の測定されたトランスポートネットワーク距離にある前記第2のオーバーレイネットワークピアグループの前記少なくとも1つのオーバーレイネットワークピアグループ近隣の1つの間で少なくとも1つのオーバーレイネットワーク接続を確立するステップと
    を備える方法を実行するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ読み取り可能な記録媒体。
  26. 各オーバーレイネットワークピアグループは、ピアグループリーダを含む
    ことを特徴とする請求項25に記載のコンピュータ読み取り可能な記録媒体。
  27. 前記第2のオーバーレイネットワークピアグループにクエリを行うステップは、前記第2のオーバーレイネットワークピアグループのピアグループリーダにクエリを行うステップを含む
    ことを特徴とする請求項26に記載のコンピュータ読み取り可能な記録媒体。
  28. 前記第1のオーバーレイネットワークピアグループからクエリを行うステップは、前記第1のオーバーレイネットワークピアグループのピアグループリーダからクエリを行うステップを含む
    ことを特徴とする請求項26に記載のコンピュータ読み取り可能な記録媒体。
  29. 一対のオーバーレイネットワークピアグループ間のトランスポートネットワーク距離を測定するステップは、前記一対のオーバーレイネットワークピアグループのピアグループリーダ間で前記トランスポートネットワーク距離を測定するステップを含む
    ことを特徴とする請求項26に記載のコンピュータ読み取り可能な記録媒体。
  30. 一対のオーバーレイネットワークピアグループ間でオーバーレイネットワーク接続を確立するステップは、前記一対のオーバーレイネットワークピアグループのピアグループリーダ間で前記オーバーレイネットワーク接続を確立するステップを含む
    ことを特徴とする請求項26に記載のコンピュータ読み取り可能な記録媒体。
  31. 一対のオーバーレイネットワークピアグループ間のトランスポートネットワーク距離は、前記一対のオーバーレイネットワークピアグループ間のメッセージに関する往復時間を含む
    ことを特徴とする請求項25に記載のコンピュータ読み取り可能な記録媒体。
  32. 第1のセットのトランスポートネットワーク距離が第2のセットのトランスポートネットワーク距離に近い場合、オーバーレイネットワークピアグループに参加することを判定するステップを備えるコンピュータによって実施される方法であって、
    前記第1のセットのトランスポートネットワーク距離は、前記オーバーレイネットワークピアグループと、前記オーバーレイネットワークピアグループの少なくとも1つのオーバーレイネットワークピアグループ近隣の間の少なくとも1つトランスポートネットワーク距離を含み、前記第2のセットのトランスポートネットワーク距離は、ピアと、前記オーバーレイネットワークピアグループの前記少なくとも1つのオーバーレイネットワークピアグループ近隣の間の少なくとも1つのトランスポートネットワーク距離を含む
    ことを特徴とする方法。
  33. 前記第1のセットのトランスポートネットワーク距離に関して前記オーバーレイネットワークピアグループにクエリを行うステップと、
    前記第2のセットのトランスポートネットワーク距離の中の各トランスポートネットワーク距離を測定するステップと
    をさらに備えることを特徴とする請求項32に記載の方法。
  34. 請求項32に記載の方法を実行するためのコンピュータ実行可能命令を有する
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
  35. ピアグループ内の各ピアが、他のピアグループ内のピア群と比較して類似のトランスポートネットワーク近接度を有するようにオーバーレイネットワークピア群をグループ化するステップ
    を備えることを特徴とするコンピュータによって実施される方法。
  36. 前記オーバーレイネットワークピア群をグループ化するステップは、前記オーバーレイネットワークピア群によって実行される
    ことを特徴とする請求項35に記載の方法。
  37. 請求項35に記載の方法を実行するためのコンピュータ実行可能命令を有する
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
  38. 第1のオーバーレイネットワークピアグループの1つまたは複数のオーバーレイネットワークピアグループ近隣に関して該第1のオーバーレイネットワークピアグループにクエリを行うステップと、
    第2のオーバーレイネットワークピアグループと、前記第1のオーバーレイネットワークピアグループの前記1つまたは複数のオーバーレイネットワークピアグループ近隣のそれぞれの間のトランスポートネットワーク距離を測定するステップと、
    前記第2のオーバーレイネットワークピアグループから最短トランスポートネットワーク距離である前記第2のオーバーレイネットワークピアグループと前記第1のオーバーレイネットワークピアグループの前記1つまたは複数のオーバーレイネットワークピアグループ近隣の1つとの間で少なくとも1つのオーバーレイネットワーク接続を確立するステップと
    を備えることを特徴とするコンピュータによって実施される方法。
  39. 各オーバーレイネットワークピアグループは、前記オーバーレイネットワークピアグループのリーダであるオーバーレイネットワークピアを含む
    ことを特徴とする請求項38に記載の方法。
  40. 一対のオーバーレイネットワークピアグループ間のトランスポートネットワーク距離は、前記一対のオーバーレイネットワークピアグループのリーダであるオーバーレイネットワークピア間のメッセージに関する往復時間を含む
    ことを特徴とする請求項39に記載の方法。
  41. 請求項38に記載の方法を実行するためのコンピュータ実行可能命令を有する
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2004269037A 2003-09-15 2004-09-15 参加局所性認識オーバーレイモジュールを含むコンピュータ化されたシステム及びコンピュータによって実施される方法 Expired - Fee Related JP4634108B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/662,574 US7558875B2 (en) 2003-09-15 2003-09-15 Measurement-based construction of locality-aware overlay networks

Publications (2)

Publication Number Publication Date
JP2005094773A true JP2005094773A (ja) 2005-04-07
JP4634108B2 JP4634108B2 (ja) 2011-02-16

Family

ID=34136806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004269037A Expired - Fee Related JP4634108B2 (ja) 2003-09-15 2004-09-15 参加局所性認識オーバーレイモジュールを含むコンピュータ化されたシステム及びコンピュータによって実施される方法

Country Status (7)

Country Link
US (1) US7558875B2 (ja)
EP (1) EP1515520B1 (ja)
JP (1) JP4634108B2 (ja)
KR (1) KR101015311B1 (ja)
CN (1) CN1620027B (ja)
AT (1) ATE443966T1 (ja)
DE (1) DE602004023261D1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006073046A1 (ja) * 2005-01-07 2006-07-13 Brother Kogyo Kabushiki Kaisha ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
JP2006319848A (ja) * 2005-05-16 2006-11-24 Konica Minolta Holdings Inc 情報処理装置、プログラム、情報処理システム、および孤立状態回避方法
WO2008105170A1 (ja) * 2007-02-27 2008-09-04 Panasonic Corporation オーバレイネットワークノード
JP2008306725A (ja) * 2007-06-06 2008-12-18 Avaya Technology Llc 仮想プライベート・ネットワーク上のピア・ツー・ピア・ネットワーク
JP2009506455A (ja) * 2005-08-30 2009-02-12 マイクロソフト コーポレーション ネットワークにおけるファイルの分散キャッシング
WO2010067457A1 (ja) * 2008-12-12 2010-06-17 富士通株式会社 グループ管理装置
JP2011130351A (ja) * 2009-12-21 2011-06-30 Fujitsu Ltd ネットワークグループ判定装置、ネットワークグループ判定方法、およびネットワークグループ判定プログラム
JP2013514591A (ja) * 2009-12-17 2013-04-25 アルカテル−ルーセント ピアツーピアネットワークを分解して、分解されたピアツーピアネットワークを使用するための方法および装置
US10084856B2 (en) 2009-12-17 2018-09-25 Wsou Investments, Llc Method and apparatus for locating services within peer-to-peer networks

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761569B2 (en) * 2004-01-23 2010-07-20 Tiversa, Inc. Method for monitoring and providing information over a peer to peer network
US8677017B2 (en) * 2004-01-30 2014-03-18 Hewlett-Packard Development Company, L.P. Determining location information for a node in a network using at least one local landmark node
US7702756B2 (en) * 2004-02-27 2010-04-20 Microsoft Corporation Numerousity and latency driven dynamic computer grouping
US20080281950A1 (en) * 2004-03-08 2008-11-13 First Oversi Ltd Method and Device for Peer to Peer File Sharing
US7870426B2 (en) * 2004-04-14 2011-01-11 International Business Machines Corporation Apparatus, system, and method for transactional peer recovery in a data sharing clustering computer system
US7281153B2 (en) * 2004-04-14 2007-10-09 International Business Machines Corporation Apparatus, system, and method for transactional peer recovery in a data sharing clustering computer system
US20060004714A1 (en) * 2004-06-30 2006-01-05 Ibm Corporation Transposition search method for optimal topology construction
US7543020B2 (en) * 2005-02-10 2009-06-02 Cisco Technology, Inc. Distributed client services based on execution of service attributes and data attributes by multiple nodes in resource groups
US8051170B2 (en) * 2005-02-10 2011-11-01 Cisco Technology, Inc. Distributed computing based on multiple nodes with determined capacity selectively joining resource groups having resource requirements
US20070011171A1 (en) * 2005-07-08 2007-01-11 Nurminen Jukka K System and method for operation control functionality
EP1821487B1 (en) * 2006-02-21 2010-04-07 Microsoft Corporation Topology management in peer-to-peer content distribution clouds
CN101326759B (zh) * 2006-04-20 2010-09-15 张永敏 对等网络客户端快速接入方法及装置
JP4670726B2 (ja) * 2006-04-28 2011-04-13 ブラザー工業株式会社 ノード装置、情報処理方法及びノード装置用プログラム
JP4281925B2 (ja) * 2006-06-19 2009-06-17 株式会社スクウェア・エニックス ネットワークシステム
CN101606374B (zh) * 2006-11-14 2014-10-01 西门子公司 在对等式覆盖网中分配负载的方法
CN101617499A (zh) * 2006-12-21 2009-12-30 艾利森电话股份有限公司 自形成网络管理拓扑
US8463927B2 (en) 2006-12-29 2013-06-11 Ebay Inc. Video mail through peer to peer network
US7630370B2 (en) * 2007-02-28 2009-12-08 Sharp Laboratories Of America, Inc. Overlay join latency reduction using preferred peer list
KR101409991B1 (ko) * 2007-04-16 2014-06-20 삼성전자주식회사 P2p 통신 환경에서의 데이터 전송 방법 및 장치
WO2009007587A1 (fr) * 2007-06-27 2009-01-15 France Telecom Procede et dispositif de mise en relation de pairs dans un reseau
CN102780624B (zh) * 2008-02-05 2016-02-03 华为技术有限公司 一种建立路由的方法和装置
US8996726B2 (en) * 2008-06-19 2015-03-31 Qualcomm Incorporated Methods and apparatus for event distribution and routing in peer-to-peer overlay networks
US8484382B2 (en) * 2009-03-11 2013-07-09 Qualcomm Incorporated Methods and apparatus for merging peer-to-peer overlay networks
EP2543200B1 (en) * 2010-03-01 2015-08-26 Telefonaktiebolaget L M Ericsson (PUBL) Mobile user equipment, broadcast server and method for a wireless data communication network
US8661080B2 (en) * 2010-07-15 2014-02-25 International Business Machines Corporation Propagating changes in topic subscription status of processes in an overlay network
JP5473827B2 (ja) * 2010-08-20 2014-04-16 パナソニック株式会社 ネットワーク遅延推定装置およびネットワーク遅延推定方法
US20130166654A1 (en) * 2010-08-31 2013-06-27 Telefonaktiebolaget L M Ericsson (Publ) Method and Arrangement in a Peer-to-Peer Network
US8892708B2 (en) 2011-07-11 2014-11-18 Cisco Technology, Inc. Placement of service delivery locations of a distributed computing service based on logical topology
KR101333272B1 (ko) * 2012-05-17 2013-11-27 목포대학교산학협력단 이웃 노드 홉 수의 평균을 이용한 무선 센서 네트워크에서의 위치 인식 방법
US9219782B2 (en) * 2012-12-11 2015-12-22 Microsoft Technology Licensing, Llc Identifying seed computing devices using estimates in peer-to-peer networks
US10075519B2 (en) * 2013-01-10 2018-09-11 Telefonaktiebolaget Lm Ericsson (Publ) Connection mechanism for energy-efficient peer-to-peer networks
US9853826B2 (en) * 2013-02-25 2017-12-26 Qualcomm Incorporated Establishing groups of internet of things (IOT) devices and enabling communication among the groups of IOT devices
KR101534555B1 (ko) * 2013-06-25 2015-07-08 숭실대학교산학협력단 원형 메시 오버레이 생성 및 유지 방법
US9716641B2 (en) * 2013-09-19 2017-07-25 Avago Technologies General Ip (Singapore) Pte. Ltd. Adaptive industrial ethernet
CN105593897A (zh) * 2013-09-30 2016-05-18 慧与发展有限责任合伙企业 用于修改源数据的数据对象的覆盖
US9560129B2 (en) * 2014-07-28 2017-01-31 Google Technology Holdings LLC Peer-to-peer group re-formation
US11146415B2 (en) * 2019-11-16 2021-10-12 Microsoft Technology Licensing, Llc Message-limited self-organizing network groups for computing device peer matching
GR20210100586A (el) * 2021-09-07 2023-04-10 Ανωνυμη Εταιρεια Ερευνας Και Αναπτυξης Συστηματων Και Υπηρεσιων, Συστημα ταυτοποιησης και ταξινομησης ομοτιμων κομβων εκθεσης κινδυνου σε ασθενειες / επειγουσες καταστασεις
CN114500359B (zh) * 2022-04-15 2022-07-12 深圳市永达电子信息股份有限公司 集群动态组网方法和集群动态系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003249958A (ja) * 2002-02-01 2003-09-05 Microsoft Corp 大規模ネットワークのためのピアツーピアベースのネットワーク性能測定および分析システムおよび方法
US20040047350A1 (en) * 2002-09-10 2004-03-11 Zheng Zhang Creating expressway for overlay routing

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832514A (en) 1996-06-26 1998-11-03 Microsoft Corporation System and method for discovery based data recovery in a store and forward replication process
US5987376A (en) 1997-07-16 1999-11-16 Microsoft Corporation System and method for the distribution and synchronization of data and state information between clients in a distributed processing system
WO2000001115A1 (en) 1998-06-30 2000-01-06 Sun Microsystems, Inc. Dynamic optimization in reliable multicast protocol
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7266125B2 (en) * 2002-10-31 2007-09-04 Hewlett-Packard Development Company, L.P. Landmark numbering based auxiliary network for peer-to-peer overlay network
US7289520B2 (en) 2002-11-20 2007-10-30 Hewlett-Packard Development Company, L.P. Method, apparatus, and system for expressway routing among peers
US7774495B2 (en) * 2003-02-13 2010-08-10 Oracle America, Inc, Infrastructure for accessing a peer-to-peer network environment
US7870218B2 (en) 2003-04-09 2011-01-11 Nec Laboratories America, Inc. Peer-to-peer system and method with improved utilization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003249958A (ja) * 2002-02-01 2003-09-05 Microsoft Corp 大規模ネットワークのためのピアツーピアベースのネットワーク性能測定および分析システムおよび方法
US20040047350A1 (en) * 2002-09-10 2004-03-11 Zheng Zhang Creating expressway for overlay routing

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006073046A1 (ja) * 2005-01-07 2006-07-13 Brother Kogyo Kabushiki Kaisha ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
JP2006319848A (ja) * 2005-05-16 2006-11-24 Konica Minolta Holdings Inc 情報処理装置、プログラム、情報処理システム、および孤立状態回避方法
JP4604830B2 (ja) * 2005-05-16 2011-01-05 コニカミノルタホールディングス株式会社 情報処理装置、プログラム、情報処理システム、および孤立状態回避方法
JP2009506455A (ja) * 2005-08-30 2009-02-12 マイクロソフト コーポレーション ネットワークにおけるファイルの分散キャッシング
KR101322947B1 (ko) 2005-08-30 2013-10-29 마이크로소프트 코포레이션 네트워크에서의 파일의 분산 캐싱
JP4999919B2 (ja) * 2007-02-27 2012-08-15 パナソニック株式会社 オーバレイネットワークノード
WO2008105170A1 (ja) * 2007-02-27 2008-09-04 Panasonic Corporation オーバレイネットワークノード
JP2008306725A (ja) * 2007-06-06 2008-12-18 Avaya Technology Llc 仮想プライベート・ネットワーク上のピア・ツー・ピア・ネットワーク
JP5146539B2 (ja) * 2008-12-12 2013-02-20 富士通株式会社 グループ管理装置
WO2010067457A1 (ja) * 2008-12-12 2010-06-17 富士通株式会社 グループ管理装置
US8959193B2 (en) 2008-12-12 2015-02-17 Fujitsu Limited Group management device
JP2013514591A (ja) * 2009-12-17 2013-04-25 アルカテル−ルーセント ピアツーピアネットワークを分解して、分解されたピアツーピアネットワークを使用するための方法および装置
US10084856B2 (en) 2009-12-17 2018-09-25 Wsou Investments, Llc Method and apparatus for locating services within peer-to-peer networks
JP2011130351A (ja) * 2009-12-21 2011-06-30 Fujitsu Ltd ネットワークグループ判定装置、ネットワークグループ判定方法、およびネットワークグループ判定プログラム

Also Published As

Publication number Publication date
JP4634108B2 (ja) 2011-02-16
US7558875B2 (en) 2009-07-07
EP1515520A2 (en) 2005-03-16
CN1620027A (zh) 2005-05-25
KR20050027932A (ko) 2005-03-21
DE602004023261D1 (de) 2009-11-05
ATE443966T1 (de) 2009-10-15
KR101015311B1 (ko) 2011-02-15
EP1515520A3 (en) 2005-10-19
US20050060406A1 (en) 2005-03-17
EP1515520B1 (en) 2009-09-23
CN1620027B (zh) 2011-05-18

Similar Documents

Publication Publication Date Title
JP4634108B2 (ja) 参加局所性認識オーバーレイモジュールを含むコンピュータ化されたシステム及びコンピュータによって実施される方法
EP2308213B1 (en) Maintenance of overlay networks
EP2031816B1 (en) Optimal operation of hierarchical peer-to-peer networks
JP4358581B2 (ja) 効率的な分散データ構造を備えた改良されたオーバレイネットワークを生成するシステムおよび方法
US7978631B1 (en) Method and apparatus for encoding and mapping of virtual addresses for clusters
US7644182B2 (en) Reconfiguring a multicast tree
US7660320B2 (en) Communication network, a method of routing data packets in such communication network and a method of locating and securing data of a desired resource in such communication network
Ren et al. SAT-Match: a self-adaptive topology matching method to achieve low lookup latency in structured P2P overlay networks
Brocco et al. Enabling efficient information discovery in a self-structured grid
Liu et al. Distributed distance measurement for large-scale networks
JP5425939B2 (ja) ピアツーピアオーバーレイネットワークの発見のための方法および装置
Kummer et al. Distributed lookup in structured peer-to-peer ad-hoc networks
Kalmar et al. Caesar: A context-aware addressing and routing scheme for RPL networks
Hsiao et al. Resolving the topology mismatch problem in unstructured peer-to-peer networks
KR100872170B1 (ko) P2p 네트워크 다중 라우팅 방법
KR100641796B1 (ko) P2p 오버레이 네트워크 구축 방법 및 장치
JP5287500B2 (ja) ノード装置およびノード装置用プログラム
Poryev et al. CARMA: A distance estimation method for internet nodes and its usage in P2P networks
Le et al. An efficient mechanism for mobility support using peer-to-peer overlay networks
Victoriano et al. Offline Collaboration Tool utilizing WebRTC in Ad Hoc Peer-to-Peer Networks
Milić et al. Fisheye: Topology aware choice of peers for overlay networks
Hartmann et al. Coordinate-based routing: Refining nodeids in structured peer-to-peer systems
Ma et al. A scalable framework for global application anycast
Schwerdel et al. Chordnet: protocol specification and analysis
Mani et al. P2P IP Telephony over wireless ad-hoc networks: A smart approach on super node admission

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101028

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4634108

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131126

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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