JP4358581B2 - 効率的な分散データ構造を備えた改良されたオーバレイネットワークを生成するシステムおよび方法 - Google Patents
効率的な分散データ構造を備えた改良されたオーバレイネットワークを生成するシステムおよび方法 Download PDFInfo
- Publication number
- JP4358581B2 JP4358581B2 JP2003316039A JP2003316039A JP4358581B2 JP 4358581 B2 JP4358581 B2 JP 4358581B2 JP 2003316039 A JP2003316039 A JP 2003316039A JP 2003316039 A JP2003316039 A JP 2003316039A JP 4358581 B2 JP4358581 B2 JP 4358581B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- nodes
- name
- ring
- skipnet
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
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 Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
- Mobile Radio Communication Systems (AREA)
Description
当分野で知られた特定のリスト構造は、スキップリストと呼ばれることがある。スキップリストとは、メモリ内辞書データ構造である。つまり、スキップリストとは、一部のノードが多くのリスト要素に渡ってスキップするポインタで補完された、分類されたリンク済みリストである。図7Aに示されるような「完全」スキップリストは、リスト内のi'番目のノードの高さが、iを分ける2の最大累乗の指数によって決定されるものである。高さiのポインタは、長さ2iを有する(すなわち、リスト内で2iノードをトラバースする)。従って完全スキップリストは、O(log n)時間の検索を明確にサポートする。
次に図3を見ると、オーバレイネットワーク上のノード300は、近接テーブル310およびルーティングテーブル340という2つのポインタテーブルを使用して、オーバレイネットワーク上にあるいくつかの他のノードを指すポインタを格納する。近接テーブル310は、名前スペースでの基本ルーティングテーブル340の最適化を表す。さらに、前述のように、数値スペースでのルーティングを最適化する近接テーブルも維持されることが好ましいことに留意されたい。一般に、オーバレイネットワークの一部である各ノードは、ポインタを格納するためにそれ独自のテーブルセットを持たなければならない。ルーティングテーブル340は、リングメンバシップと、ノード300とリスト済み隣接ノードとの間の辞書編集用距離に基づいて、隣接ノードを指すポインタを格納する。最適化として、近接テーブル310は、ノード300と隣接ノードとの間のネットワーク距離に基づいて、隣接ノードを指すポインタを格納する。名前スペースおよび/または数値スペースで近接テーブルを実施するための様々なスキームが可能である。(例えば、非特許文献10参照)例えば、一実施形態では、各ノードがそのルーティングテーブルにある隣接ノードを使用して、辞書編集用識別子「インターバル」のセットを確立する。次に各ノードは、それらインターバルそれぞれに充填するために、ネットワーク近接に関して近傍ノードを見つける。
識別子によってスキップネットを検索する場合、検索はノード「ソース」から最も近いノードを識別するために一連の中間ノードを横切り、識別子「destID」まで進む。本発明の一実施形態では、各中間が、宛先に最も近いがそれを越えないポインタを使用して、メッセージ転送をルーティングする。
[Algorithm 1]
Node SearchRight( Node source, string destID, bit[] searchMask )
{
currNode = source
while( true ) {
h = 128
nextNode = currNode.RightFinger[h]
while(nextNode.ID>destID || nextNode.ID<currNode.ID ) {
if( h==0 ) {
return currNode;
}
h--;
nextNode = currNode.RightFinger[h]
}
currNode = nextNode
}
}
スキップネットは、他のオーバレイネットワークと同じ分散ハッシュテーブル機能をサポートすることもできる。分散ハッシュテーブルが実施できるので、数値アドレススペースを使用してロードバランシングされたデータの格納および取出しを実行する。この項では、数値アドレススペースにおけるこれらアクティビティの性能について、具体的には関連する数値idを取得するためのノード名およびデータ名のハッシングについて説明する。オーバレイネットワークに文書を格納する場合、文書のファイル名が一方向ハッシュに入力される。このハッシュが、オーバレイネットワーク内のどこへファイルを格納するかを決定する際に使用できる、擬似ランダム広域一意識別子(GUID)を生成する。GUIDを使用することにより、格納されたファイルの場所が十分にランダムとなるはずであり、これによってロードバランシングが実施される。例えば、格納するファイルに「ShoppingList.doc」という名前が付けられた場合、GUID(2進形式)は1010...で始まるかもしれない。どのノードがファイルを格納することになるかを決定するには、格納を開始するノード(例えばノードabc.com/A)がそのポインタテーブルからリング1の中で最も近いノードを検索する。図4Aのオーバレイネットワークの例では、リング1の中で最も近いノードはノードabc.com/Bであってよい。次に、ノードabc.com/Bはそのポインタテーブルからリング10で最も近いノードを検索する。この例では、これはノードabc.com/Bである。このプロセスは、要求が、リング101の中の唯一のノードであるノードabc.com/Tに達するまで続く。この時点で、ファイルはノードabc.com/Tに格納される。
前述のように、一部の実施では、オーバレイネットワーク上で特定のファイルが格納される場所を制限するので有利である場合がある。次に図4Bを見ると、複数のドメインに広がるオーバレイネットワークの一例が示されている。例えば、ABC社が自社の「ShoppingList.doc」ファイルを、競合相手のBCD社のbcd.comドメインに属するマシン上に格納させたくない場合がある。ただし、上記で概説したDHTプロセスに従うと、結果としてファイルがbcd.com/Tに格納されることになる(ここでも再度ハッシュ済みGUIDを1010...と想定する)。この問題には、制約付きロードバランシングと呼ばれるプロセスを使用して対処することができる。特定のファイルをどのドメインに制限するかを指定する場合、一部の実施では明示的ドメイン制限子(restrictor)を含むファイル名を提供することがある。例えば、ファイル名「ShoppingList.doc」を「abc.com?ShoppingList.doc」と指定することができる。この例で「?」の文字は、ファイルが前のドメインabc.comに属するノードにしか格納してはならないことを指定するものである。この制限を使用して、「abc.com?ShoppingList.doc」ファイルを格納するために割り当てられたノード(GUIDを1010...と想定する)は、abc.com/Bとなり、これはabc.comドメインに属するリング101に最も近いノードである。ノードは、単一のドメイン名ではなく複数のネストされたドメイン名に関連付けられること、およびこうした複数のネストされたドメイン名が制約付きロードバランシングの場合と同じ方法でも使用できることを理解されよう。ドメイン部分を使用する検索が辞書編集検索であり、ファイル名部分のハッシュを使用する検索が、ドメイン部分を接頭部として共用する名前を有するノードに制約された数値検索であることに留意されたい。制約があろうとなかろうと、辞書編集検索と数値検索はどちらもO(log n)オペレーションであるため、検索の全体効率もO(log n)である。
再度図4Bを参照すると、ノードabc.com/Cがオフラインになると、リング0中のノードaaa.com/Aおよびbcd.com/Aは、リング中の破損した接続を修理または「修復」するように構成される。一実施形態では、規模の大きいリング(この場合はリング450)に下がって、リング0中にある次の隣接ノードを探すことによって、これが実行できる。従って、ノードaaa.com/Aはリング0中の新しい隣接ノードがbcd.com/Aであることを見つけ、ノードbcd.com/Aはリング0中の新しい隣接ノードがabc.com/Aであることを見つけ、それによってリング0およびベースリング中の破損リンクを閉じる。
新しいノードが確率的スキップネットを使用してオーバレイネットワークに追加される場合、新しいノードは、その辞書編集名およびランダムな固有識別子に基づいて、ベースリング450および小規模リングに追加される。挿入オペレーションは、数値スペースでの検索と同様の方法を使用して、ランダム固有識別子の値によって決定された、新しいノードが接合しなければならない最も高位の空でないリングを見つけることから開始される。このリングが見つかると、挿入オペレーションは新しいノードの文字列識別子を検索することによって続行される。この検索プロセス中に、新しいノードは、そのルーティングテーブルがそれを指すポインタを含んでいなければならないすべてのノードを追跡する。検索が完了すると、新しいノードは新しいノードが指していなければならないノードへのポインタを作成し、それらのノードに対して新しいノードを指し返すように要求する。
[Algorithm 2]
Init (){
phase =upward
currentH = 0
}
Insert (){
If (phase == upward) then
nextHop = NextHopUp ()
else
nextHop = NexHopDown ()
if (phase != complete) then
SendMessage (InsertMsg, nextHop)
}
Node NextHop (){
h = LongestCommononPrefix (currNode, RandID, newNode, RandID);
if (h > currentH) then
currentH = h
ringStart = currNode
nextHop = currNode.ClockwiseFinger [h]
if (ringStart == nextHop) then
phase = downward
return NextHopDown ()
else
return nextHop
}
Node NextHopDowm (){
While (currentH > 0)
nextHop = currNode.ClockwiseFinger[currentH]
if (LliesBetweenClockwise (newNode.LexID, currNode.LexID,
nextHop.LexID)) then
InsertHere (newNode)
else
return nextHop
currentH = current H - 1
endwhile
phase = complete
return null
}
BuildRightPTable (Node newNode, Node J) {
// Compute bounds for each entry in the P table
for( h=127; newNode.RightFingers[h]==null; h-- ) { }
maxH = h;
while( h>0 ) {
newNode.upperBound[h] = newNode.RightFingers[h].ID;
newNode.lowerBound[h] = newNode.RightFingers[h-1].ID;
if( newNode.upperBound[h]==newNode.lowerBound[h] ) {
newNode.RightP[h] = newNode. RightFingers[h];
}
h--;
}
currNode = J;
while( true ) {
FillEntries( newNode, currNode );
// Find the highest empty entry in the right P table
for( h=maxH; h>0; h-- ) {
if( newNode.RightP[h]==null ) break;
}
if (h==0) break;
// Search for any node that fits newNode's bounds at height h
if( currNode.ID < newNode.lowerBound[h] ) {
Let nextNode = the closest node in currNode's P Table to
the left of newNode.upperBound[h]
Set currNode = nextNode
} else {
Let nextNode = the closest node in currNode's P Table to
the right of newNode.lowerBound[h]
Set currNode = nextNode
}
}
newNode.RightP[0] = newNode.RightFinger[0];
}
FillEntries( Node newNode, Node J ) {
TryInsertOne( newNode, J );
for( i=0; i<128; i++ ) {
if( J.LeftP[i]!=null ) TryInsertOne ( newNode, J.LeftP[i] ) ;
if( J.RightP[i]!=null ) TryInsertone ( newNode, J.RightP[i] );
}
}
TryInsertOne( Node newNode, Node n ) {
for( i=0; i<128; i++ ) {
if( newNode.RightP[i]!=null ) continue;
if( FitBounds(newNode, i, n.ID) ) {
newNode.RightP[i] = n;
}
}
}
bool FitBounds( Node newNode, int h, bit[] ID ) {
if( newNode.lowerBound[h]<ID && ID<=newNode.upperBound[h] )
return true;
if( newNode.upperBound[h]<newNode.lowerBound[h]
&& (newNode.lowerBound[h]<ID || ID<=newNode.upperBound[h])
)
return true;
}
リーフセットは、システムの耐障害性を向上させるために使用することができる。例えば、各ノードのアドレステーブルはk個の隣接ノードのアドレスを(辞書編集用順序で)格納することが可能であり、ここでkは正の整数(例えば8)である。k個の最も近い隣接ノードのアドレスを(辞書編集的に)格納することによって、1つの隣接ノードが障害(例えばオフラインになる)を経験すると、複数の隣接ノードはリンクを閉じるのに必要な情報を得ることになる。これらのリーフセットは、実施に応じて、近接テーブルなどの他のテーブルの一部であるか、または近接テーブルに加えて格納することができる。一部の実施形態では、追加のポインタ記憶域が使用可能な場合は、選択されたポインタのみ(例えばスキップ0、スキップ1、スキップ2、スキップ4、スキップ8、スキップ16、スキップ32、以下参照)を格納する代わりに、選択されたポインタに隣接する追加のポインタ(例えば、スキップ0、スキップ1、スキップ2、スキップ4、スキップ7、スキップ8、スキップ9、スキップ15、スキップ16、スキップ17、スキップ31、スキップ32、スキップ33、以下参照)も格納することができる。格納されたノードまたはスキップされたノードのパターンの他の組合せが可能であり、企図される。
ネットワークに関する一般的な障害モードの1つが、特定のドメインがWAN(例えばインターネット)から切断されることである。これは、ドメインの拠点サーバ、ファイアウォール、またはルータの障害に起因する場合がある。ドメインがオフラインになった場合、ドメイン内のものにとって引き続き相互に通信できることが有利である。図4Bに示されたスキップネットの例を参照し、abc.comのインターネットルータに障害が発生したと想定する。スキップネットが双方向である(すなわち、左の隣接および右の隣接の両方を指すポインタを維持する)場合、ルーティングアルゴリズムは、abc.comドメイン内の任意のノードがabc.comドメイン内の任意の他のノードに首尾よくルーティングできることを保証する。すなわち、一般に、切断された組織のノード名がいくつかの組織の接頭部のうちの1つを使用している場合、スキップネットの関連する部分は、接合していない(disjoint)が内的には適切に接続された、いくつかのセグメントに区分されることになる。スキップネットのルーティング局所性により、各セグメント内のメッセージトラフィックは、切断による影響を受けることなく、O(log n)の効率で引き続きルーティングされることになる。
同時更新および予期せぬノード障害は、前述のように一定のスキップネット特性に破損を生じさせる場合がある。これに関するいくつかの潜在的な問題についての考察、それらを検出するためのプローブ、およびそれらを解決するための修正アクションを、下記に示す。
1.予期せぬ障害は、一定の高さで有効な隣接ノードを持たないノードを作成する可能性がある。これは、以下で論じるプローブ1によって検出可能である。
1.プロービングノードは、高さhでその左および右の隣接ノードに定期的に接触する。接触されたノードが死んでいる場合、以下で論じる修正1が使用されるはずである。隣接ノードが、プロービングノードをその隣接ノードであると認識しない場合、以下で論じる修正2が使用されるはずである。
1.h=0の場合、障害が発生したノードをスキップするために高さ>0のポインタが使用され、その後、最も近い生きたノードを見つけるためにスキップバックする際に、ポインタが逆方向で使用される。h>0の場合、高さ<hのポインタを使用して、リングhのメンバである可能性のある最も近い生きたノードを見つけるためにスキップする。
Webホスティングなどのいくつかのアプリケーションでは、単一の物理サーバ上で複数のドメインをホストすることが有利な場合がある。従って、2つまたはそれ以上のノードが単一の物理ネットワークノードに関連付けられる場合がある。この仮想ノード構成は、Webホスティングサービスをそれらのクライアントに提供しているISP(インターネットサービスプロバイダ)にとって、特に有利な場合がある。各仮想ドメインに関連付けられたオーバヘッドの量を減らすために、アドレステーブルを共用するように仮想ノードを構成することができる。
前述の基本スキップネット構造に関して可能ないくつかの変形がある。以下に、こうした変形のいくつかについてより詳細に説明するが、以下の考察は網羅的なリストを提供することを意図するものではない。本発明の一実施形態では、ノードは、それが属する各リング上で直後の後続者(immediate successor)(および直前者(predecessor))を示すポインタを維持する。その結果、ノードがいくつかのリング上で同じ後続者を示し、重複ポインタを維持することが可能となる。この実施形態では、各ノードがこれらの冗長性を検出し、重複ではない第1の後続者を示す重複ポインタを再使用する。これらのポインタは潜在的にスキップネットの精密な構造を変えることが可能であるため、これらのポインタ再調整はノードに対して透過ではなく、代わりにノードは、ノードの挿入および/または除去用ではなく検索用に再調整されたポインタのみを使用することになるのが好ましい。重複ポインタの再調整は、ノード挿入中に実行することができる。
for i=log(n) downto 1
if( i==log(n) ) stop = me
else stop = Fingers[i+1]
while n < stop
AddToList( AdditionalFingers[i], n )
n = n.Fingers [i]
end
end
以下の技術レポートは、本発明の実施形態およびその実施に関する追加の考察を提供するために、本明細書に含まれるものである。技術レポートに示された各参照は、例外なしにその中のすべての教示に関して全体として参照により組み込まれている。以下に示される参照番号は、本項の末尾に掲載された参照番号を表すものであることに留意されたい。
近年、大規模なピアツーピアシステムを構築するためのフレキシブルなインフラストラクチャとして、Chord[30]、CAN[25]、Pastry[27]、およびTapestry[36]などのスケーラブルオーバレイネットワークが出現してきた。これらのネットワークが実行できる主要な機能が分散ハッシュテーブル(DHT)であり、これは、ピアツーピアシステム内のすべての参加者にわたってデータを均一に拡散できるものである。
近年、CAN[25]、Chord[30]、Freenet[6]、Gnutella[11]、Kademlia[20]、Pastry[27]、Tapestry[36]、およびViceroy[19]などの、多くのピアツーピアオーバレイネットワーク設計が提案されてきた。SkipNetは、既存のピアツーピアオーバレイネットワークと同じ機能を提供し、さらにコンテンツ配置に関する明示的な管理を介して改善されたコンテンツ可用性も提供するように設計されている。
この項では、SkipNetの基本設計について紹介する。SkipNetでルーティングする方法およびSkipNetと接合しこれを離れる方法を含む、SkipNetアーキテクチャを示す。
第1にPugh[23]に記載されたスキップリストは、典型的にはメモリ内に格納された辞書データ構造である。スキップリストとは、一部のノードが多くのリスト要素をスキップするポインタによって補完された、分類されたリンク済みリストである。「完全」スキップリストとは、i番目のノードの高さがiを分ける2の最大累乗の指数であるものである。図7aは、完全スキップリストを示す図である。レベルhのポインタの長さが2hである(すなわちリスト内で2hノードをトラバースする)ことに留意されたい。完全スキップリストは、O(log N)時間の検索をサポートする。
スキップリストから取り入れた主な所見は、数が変化するレコードを「スキップする」すべてのデータレコードならびにポインタの分類済みリストを維持するという概念である。データレコードをコンピュータノードに置き換え、ノードの文字列名IDをデータレコードキーとして使用し、リストの変わりにリングを形成することによって、スキップリストの概念を分散システムセッティングに変形させる。第3.3項で説明するように、パス局所性を実行可能にするためにリングは2重リンクしていなければならない。
SkipNetにおける名前IDによるルーティングは、意図された宛先に最も近くルーティングするポインタに従うという、スキップリストにおける検索と同じ基本原理に基づくものである。各ノードでは、メッセージが、宛先値を超えて示すことのない最高位ポインタに沿ってルーティングされることになる。名前IDが宛先に最も近いノードにメッセージが達したときに、ルーティングは終了する。
所与の数値IDに従って、効率的にメッセージをルーティングすることも可能である。手短に言えば、ルーティングオペレーションは、第1桁で数値IDが宛先数値IDと一致するノードが見つかるまで、レベル0リングでノードを検査することによって開始される。この時点で、ルーティングオペレーションは、宛先ノードも含むこのノードのレベル1リングにジャンプする。次にルーティングオペレーションは、第2桁で数値IDが宛先数値IDと一致するノードが見つかるまで、このレベル1リング中のノードを検査する。前述のように、このノードのレベル2リングは宛先ノードも含まなければならないため、ルーティングオペレーションはこのレベル2リングに進むと結論付ける。
currH:トラバースされる現在のリングのレベル
startNode:現在のリング中で遭遇する最初のノード
bestNode:これまでに遭遇したすべてのノードの中で宛先に最も近いノード
finalDestination:メッセージを処理するための次のノードがメッセージにとって正しい最終宛先である場合に、trueに設定されるフラグ
メッセージをラップした後、実際にメッセージを次のノードに転送するために、関数RouteMessageByNumericIDが呼び出される。この関数は、メッセージがルーティングされるときに通過する各ノードで呼び出されることになる(発信元ノードを含む)。RouteMessageByNumericIDは、メッセージの最終宛先がそれ自体であるかどうかをチェックし、そうであれば、メッセージのローカル送達を実行するために、関数DeliverMessageを呼び出す。
数値IDによってルーティングされる際にメッセージがトラバースするホップの予測数は、高い確率でO(log N)となる。その証明については、第8.3項を参照されたい。
SkipNetを接合するために、新参者は第1に新参者の数値IDに対応するトップレベルのリングを見つけなければならない。これは、第3.4項に記載したように、新参者の数値IDにメッセージをルーティングすることに等しい。
JoiningNode:新しく接合するノードの識別
nameID:新しく接合するノードの名前ID
numericID:新しく接合するノードの数値ID
currH:挿入隣接が現在検索されているリング
ringNeighbors:挿入隣接ノードのアレイ
doInsertion:ringNeighborsのアレイが完全に充填され、メッセージを処理するための次のノードが新しく接合するノード(次に各リングへの実際の挿入を実行しなければならない)である場合に、trueに設定されるフラグ
挿入隣接集合メッセージを実際に処理するために、関数CollectRingNeighborsが呼び出される。この関数は、InsertNodeIntoRingsによって作成されたメッセージがルーティングされるときに通過する各ノードで呼び出されることになる。
あらゆるSkipNetノードは、左側および同様に右側の、名前IDで最も近いL/2ノードを指すポインタセットを維持する。このポインタセットをリーフセットと呼ぶ。いくつかの以前のピアツーピアシステム[27]が同様のアーキテクチャ特徴を組み込んでおり、Chord[31]では、これを後続者リストと呼ぶ。
SkipNetは、レベル0リング内の隣接ポインタが正しいノードを指す確率が確実に高くなるように、リーフセットを使用する。Chord[30]の場合と同様に、効率的でない可能性がある場合、名前IDによるルーティングが正しいことを保証するのに必要なのはこれだけである。なぜこれが真であるかを直感的に議論する場合、何らかの高位レベルポインタが正しいノードを示しておらず、検索アルゴリズムがこのポインタを使用しようとしているものと想定する。2つのケースがある。第1のケースでは、正しくないポインタは、リングを回ってルーティングの宛先よりも遠くを指す。この場合、宛先を越えるとポインタは使用されなくなる。第2のケースでは、正しくないポインタは、現在の場所と宛先との間の場所を指す。この場合、ポインタに安全に従っていくことが可能であり、ルーティングはそれが指すところであればどこからでも進んでいくことになる。唯一の潜在的な損失はルーティングの効率である。最悪の場合、正しいルーティングはレベル0リングを使用して発生することになる。
本項では、SkipNetが提供できる有用な局所特性と、その結果について論じる。
SkipNetが基本的構造であるとして、SkipNetがコンテンツ局所性およびパス局所性をどのようにサポートするかについて端的に説明する。ノードの名前IDをコンテンツ名に組み込むことによって、コンテンツがそのノードでホストされることを保証する。一例として、ノードjohn.microsoft.com上の文書doc-nameを格納するためには、これにjohn.microsoft.com/doc-nameと命名すれば十分である。
概説部で述べたように、SkipNetは、制約付きロードバランシング(CLB)をサポートしている。CLBを実施するために、データオブジェクト名は、DHTロードバランシングの実行に使用されるノードセットを指定する部分と、DHTのハッシュ関数への入力として使用される部分という、2つの部分に分けられる。SkipNetでは、名前の2つの部分の区切り文字として、特殊文字「!」が使用される。例えば、名前msn.com/DataCenter!TopStories.htmlは、名前が接頭部msn.com/DataCenterで始まるノードを介したロードバランシングを示す。接尾部TopStories.htmlは、DHTハッシュ関数への入力として使用され、これがmsn.com/DataCenter内のどのノードにデータオブジェクトを配置するかを決定する。
以前の研究[18、21]で、今日のインターネットにおけるネットワーク接続障害は、主に境界ゲートウェイプロトコル(BGP)の構成誤りおよび障害によるものであることがわかった。他のハードウェア、ソフトウェア、および人為的障害の果たす役割は、それほど大きくない。その結果、オーバレイシステムのノード障害は独立しておらず、代わりに、同じ組織またはASドメインに属するノードも一緒に障害を起こす傾向がある。従って、組織境界に沿って発生する障害を処理するためのSkipNetの耐障害性の設計に焦点をあてた。SkipNetの相関していない独立した障害に対する耐性は、以前のオーバレイ設計(例えばChordおよびPastry)とほぼ同じであり、同様のメカニズムを介して達成される。
障害回復における主な所見は、レベル0リングにおいて正しい隣接ポインタを維持することでオーバレイの正しい機能が十分に保証されるということである。各ノードがL個のレベル0隣接のリーフセットを維持するので、レベル0リングポインタは、それらを、障害を起こしたノードに続く最も近い生きたノードを指すリーフセットエントリに置き換えることによって修復できる。リーフセットを再度完全に占有させるために、リーフセット内の生きたノードに接触することができる。
以前のピアツーピアオーバレイ設計「25、30、27、36」では、オーバレイトポロジでのノード配置は、ランダムに選択された数値IDによって決定された。その結果、単一組織内のノードは、オーバレイのアドレススペース全体に均一に配置される。均一な分散はオーバレイのO(log N)ルーティング性能を可能にするが、オーバレイネットワーク上での物理リンク障害の影響を制御するのを困難にさせる。具体的に言えば、組織間ネットワークリンクの障害は、オーバレイでの複合的な拡散されたリンク障害として現れることになる。実際に、インターネットへの接続性を失った単一組織内の各ノードにとっては、オーバレイ全体および組織内の他のすべてのノードから切断される可能性がある。第9.4項では、この考えを確認する実験によって得られた結果を報告する。
コンテンツ局所性およびパス局所性の利点についての考察では、名前IDの選択に関するアクセス制御メカニズムが想定されている。SkipNetは、このメカニズムを直接提供していないが、他のレイヤで提供されると想定している。名前IDにDNS名を使用することでこれを提供しており、任意のノードはmicrosoft.com接尾部を備えたグローバルDNS名を作成することはできない。
SkipNetの設計はスキップリストに基づき、スキップリストによって影響を受けるものであるため、効率的な領域照会をサポートする中でそれらの機能性および柔軟性を引き継ぐ。具体的に言えば、ノードおよびデータは名前ID順で格納されるため、共通の接頭部を共用している文書は、連続したリングセグメントに渡って格納される。従ってSkipNetでの領域照会への回答は、対応するリングセグメントに沿ったルーティングと等価である。現在はSkipNetのアーキテクチャおよび局所特性に焦点を当てているため、本書ではこれ以上領域照会について論じることはしない。
本項では、基本的なSkipNet設計に対するいくつかの最適化および機能拡張について示す。
第3項に記載した基本的なSkipNetルーティングテーブルの構造およびアルゴリズムは、ルーティング性能を向上させるために修正することができる。そこで、より詳細に論じると、SkipNetの数値IDは、128のランダム2進数字からなる。ただし、ランダム数字は2進である必要はない。実際に、非2進のランダム数字を使用するスキップリストがよく知られている[23]。
レベルhのリング内で隣接する2つのノードは、レベルh+1のリングでも隣接する可能性がある。この場合、これら2つのノードはレベルhおよびh+1で互いに「重複」ポインタを維持する。直感的に、より多くの別個のポインタを有するルーティングテーブルは、別個のポインタが少ないテーブルよりも優れたルーティング性能を生み出すため、重複ポインタはルーティングテーブルの有効性を低下させることになる。重複ポインタを、下位リングの次の隣接などの好適な代替に置き換えることで、適度な量(典型的にはおよそ20%)のルーティング性能が向上する。この方式で調整されたルーティングテーブルエントリは、数値IDによる正しいルーティングに必要なリング上で最も近い隣接を指すノードである不変式を侵害するため、名前IDによるルーティングの際にしか使用できない。
SkipNetでは、ノードの隣接はリングメンバシップのランダムな選択、およびそれらリング内での識別子の順序付けによって決定される。従って、SkipNetオーバレイは、潜在的にルーティング性能を損なう物理ネットワークトポロジを直接考慮せずに構築される。例えば、どちらも米国内のノードsaturn.com/nodeAからノードchrysler.com/nodeBへメッセージを送信する場合、このメッセージは、英国内の中間ノードjaguar.com/nodeCを通ってルーティングされる可能性がある。その結果、メッセージが米国内にある他の中間ノードを通ってルーティングされる場合よりもかなり長いパスになってしまう。
R−Tableは、値kと疎または密の構造体という、2つの構成パラメータしか備えていないことを想起されたい。P−Tableは、その基になるR−Tableからこれらのパラメータを受け継ぐ。あるケースでは、第1に所望のパラメータを備えた一時R−Tableを構築することによって、R−Tableのパラメータと異なるパラメータを備えたP−Tableを構築することが可能である。例えば、R−Tableが疎である場合、P−Table構築アルゴリズムへの入力として使用する一時密R−Tableを第1に構築することによって、密なP−Tableを構築することができる。
名前IDによる検索の際にネットワーク近接が組み込まれるP−Tableとほぼ同様に、数値IDによる検索の際にネットワーク近接を組み込むために、第3のテーブルであるC−Tableを追加する。制約付きロードバランシング(CLB)は、名前IDと数値IDの両方による検索を含むため、P−TableとC−Tableの両方を利用する。CLB検索の一部としての数値IDによる検索は、CLB検索の名前制約に従わなければならず、名前制約を守らないC−Tableエントリは使用できない。こうしたエントリに遭遇すると、CLB検索はR−Tableの使用に戻らなければならない。
C−Table構築の詳細は[4]に示されている。主な考え方は、C−Tableの各アレイについて、必要な数値ID接頭部を備えた近くのノードにルーティングし、そのレベルでそのC−Tableエントリを取得し、その後接合ノードのアレイにそれらのエントリを配置することである。特定のテーブルエントリにはいくつかの候補ノードが使用可能であるため、最適なネットワーク近接を備えた候補が選択される。第8.8項は、メッセージトラフィックに関してC−Tableの構築コストがO(log N)であることを示している。Pastryの場合と同様に、C−Tableは背景安定化アルゴリズムを使用してゆっくりと更新される。
規模の経済および別個のWebサイト間でハードウェアリソースを多重化する機能が、World Wide Webにおけるホスティングサービスの出現につながった。ピアツーピアシステムの単一ハードウェアプラットフォーム上で仮想ノードをホストすることについても、同様の需要が予想される。この項では、SkipNet設計の中で仮想ノードをスケーラブルにサポートするための方法について説明する。説明をわかりやすくするために、R−Tableの変更についてのみ記載し、P−TableおよびC−Tableへの対応する変更については明白であるので省略する。
・スキップリスト内のノードは、著しく不均衡なルーティングロードを経験する。
・スキップリスト内のノードは、平均エッジ接続性が低い。
・同様に、各物理マシンのエッジ接続性は高くなければならない。単一の物理マシン上の仮想ノードのエッジ接続性が高いことは、それほど重要ではない。
本項では、組織がインターネットから切断された場合という、一般的な障害モードに関するSkipNetの挙動について特徴付ける。こうした障害が発生した場合にSkipNetオーバレイの修復に使用される回復アルゴリズムについて説明および評価する。SkipNetの局所特性の主要な特典の1つが、ルータの構成誤りならびにリンクおよびルータの故障による組織の切断に応答した、適切な低均化(graceful degradation)である[18]。SkipNetはその名前に従った順にノードを並べるため、組織がノード名に1つまたは数個の組織接頭部を割り当てると想定すると、組織のノードは自然に、数個の連続したオーバレイセグメントに配置構成される。1つの組織が切断されると、そのセグメントは内的には適切に接続されたままとなり、セグメント内トラフィックは以前と同じO(log M)ホップ効率でルーティングされることが可能であって、ここでMは任意のセグメントでの最大ノード数である。
組織がインターネットから切断されたとき、そのノードはIPを介して少なくとも互いに通信は可能であるが、組織外のノードとは通信できなくなるであろう。組織のノード名がいくつかの組織接頭部のうちの1つを使用している場合、グローバルSkipNetはそれ自体を、接合していないが内的には適切に接続されている、いくつかのセグメントに区分する。図14は、この状況を示した図である。
組織が切断されると、そのセグメントは、SkipNetポインタのみを使用したのでは、互いを見つけることができない場合がある。これは、連続していないセグメントが互いの中へのポインタを有することになるという保証がないためである。組織がそのノードを相対的に少数の名前セグメントに分割すると想定し、それらが各セグメントの中のいくつかのノードを「周知」として指定するように要求することによって、この問題を解決する。組織内の各ノードは、これらの周知ノードのリストを維持し、それらを様々なオーバレイセグメント間の接触ポイントとして使用する。
セグメントマージプロセスを、レベル0リングを含むポインタの修復と、すべての高位レベルリングに関するポインタの修復という、2つのステップに分ける。第1のステップは、各セグメントの「エッジ」ノードのレベル0ポインタの修復のみを含む場合、即時に実行可能である。第1のステップが実行されると、様々なセグメント内のノード間でメッセージを正しくルーティングすること、およびO(S log M)の効率でそのように実行することが可能になり、ここでSはセグメントの合計数、Mは1セグメント内の最大ノード数である。従って、第2のより費用のかかるステップは、第6.1.3項で説明するように、背景タスクとして実行することができる。
レベル0リング接続段階が完了すると、修復を必要とする残りのすべてのポインタを、背景タスクを使用して更新することができる。ここでは、修復アクティビティの適切な順序付けを通じて作業の不要な重複を避ける、事前対応型アルゴリズムを示す。
SkipNetによって提供される局所特性は、既存のオーバレイネットワーク設計に対する好適な機能拡張によってある程度までは得ることができる。ただし、これらの代替設計の中には、SkipNetの提供しているすべての局所性の利点を提供するものはない。本項では、SkipNetの様々な代替について説明し、これらとSkipNetの手法とを比較する。
・オーバレイネットワークをまったく使用せず、代わりに、基礎となるIPネットワークおよびDNS命名の本来の局所特性に依拠する。
・増補された可能性のある単一の既存のオーバレイネットワークを使用して、局所性を提供する。
・メンバノードの異なるセットを広げることで局所性を提供する、複数の既存のオーバレイネットワークを使用する。
・DHTの暗黙のサポート、およびSkipNetの場合には制約付きロードバランシングのサポート
・ノード障害発生時の、適切に定義された代替ノードへのトラフィックのシームレスな再割当て
・マルチキャスト「5、29、26」およびロード認識複製[33]などの、高位レベル抽象化のサポート
・DNSサービスの可用性とは無関係で、メッセージを文字列名宛先に直接ルーティングする機能
ここで、SkipNetの目標を、何らかの方法で増補された可能性のある既存のオーバレイネットワークで達成しようと試みる手法について考える。SkipNetに対するスケーラブルな汎用代替は、Chord、Pastry、およびTapestryなどの、すべてDHTベースの設計である。こうしたオーバレイネットワークは、それらが使用するアドレススペース内で均一のノード分散を得るために、ノードIDのランダムな割当てに依存する。
本項では、SkipNetにおけるオペレーションの様々な特性およびそのコストについて分析する。各サブセクションでは、最初に簡単な直感的説明、続いて主要な結果の概要について述べる。各サブセクションの残りの部分では、結果について正式に証明する。
密なSkipNetでの名前IDによる検索には、予想としてO(logk N)ホップが必要であり、疎SkipNetではO(k logk N)ホップが必要である。さらにこれらの限度(bound)は、高い確率で持続する。(「疎」、「密」、およびパラメータkの定義については、第5.1項を参照のこと。第3項に記載された基本的なSkipNet設計は、k=2の疎のSkipNetである。)これらの結果については、定理8.5および定理8.2で正式に証明する。直感的に言えば、スキップリスト検索の場合と同じ理由で、SkipNetでの検索にはこの多くのホップが必要であり、あらゆるノードのポインタがほぼ指数的に分散されているため、宛先までの残りの距離を半分にする何らかのポインタが存在することになる確率が最も高い。密なSkipNetは、およそk倍のポインタを維持し、あらゆるホップ上をおよそk倍で進行する。
F(x,y)=F(y,x) (1)
F(x,y)<F(y,z)⇒F(x,z)=F(x,y) (2)
F(x,y)≦F(y,z)⇒F(x,z)≧F(x,y) (3)
F(x,y)>f、F(x,z)>f⇒F(y,z)>f (4)
スキップリスト検索パスQは、dに近いノードほどsと共有の桁をより多く持たないような、sとdの間のあらゆるノードxを含む。正式には、Qは、F(s、y)>F(s、x)であるように、βy∈[x,d]の場合およびその場合のみx∈[s,d]を含む。
O(k logk D)
である。より精密には、定数
Pr[Y>m]= Pr[Y>mおよびX<g]
+Pr[Y>mおよびX≧g]
≦ Pr[Y>mおよびX<g]
+Pr[X≧g]
これでは、検索がレベルgポインタをトラバースせずにmより多いホップを必要とする確率が小さいことがまだ明らかにされていない。従来のスキップリスト分析[24]は、負の2項分布を使用して、Pr[Y>mおよびX<g]≦1-Gg,1/k(m)を示す、この確率の上限を制限する。恒等式5を使用すると、1-Gg,1/k(m)=Fm,1/k(g-1)が得られる。α=1/tkと設定し、恒等式6を適用すると、以下の上限が与えられる。
t≧9の場合、-t+log t+2<-t/2<0が得られ、e(−t+log t+2)g<e−t/2となる。従って、
Fm,1/k(g)<2e−t/2
である。
これらの結果を組み合わせ、
O(logk D)
である。より精密には、定数
証明:定理8.2の証明の場合と同様に、少なくとも
SkipNetのポインタは、効率良くあらゆるノードをノードの名前IDによって順序付けられたスキップリストのヘッドにする。同時に、あらゆるノードは、ノードの数値ID上のトライのルートでもある[10]。従って、SkipNetは2つの別個のデータ構造を単一の構造内で同時に実施する。1つの含意は、トライ分析を再使用して、SkipNetノードの疎R−Table内での予測される非nullポインタ数を決定することができるということである。これは、N個のノードおよびパラメータpを備えたスキップリスト予測高さは、均一な[0,1]分布から引き出されたN+1個のキーを備えた
SkipNetは、数値IDによる検索ならびに名前IDによる検索をサポートする。密なSkipNetにおける数値IDによる検索は、予測ではO(logk N)ホップが必要であり、疎SkipNetではO(k logk N)が必要である。直感的に言えば、数値IDによる検索は1回に桁1を訂正し、多くともO(logk N)桁を訂正する必要がある。疎SkipNetでは、単一の桁を訂正するにはおよそO(k)ホップが必要であるのに対して、密な場合はO(1)ホップしか必要としない。
Pr[検索はmより多くのホップを必要とする]
≦Pr[mより多くのホップおよび多くともgレベル]
+Pr[gより多くのレベル]
次に、前の項からの名前IDによる検索および数値IDによる検索の両方の分析を使用して、ノードの接合および離脱オペレーションを分析する。第3.5で述べたように、ノード接合は数値IDによる検索を使用し、その後名前IDによる検索を使用して実施することが可能であり、疎または密のどちらのSkipNetでもO(k logk N)ホップが必要となる。ノード離脱の実施も簡単であり、第3.5項で述べたように、離脱ノードに必要なのは、あらゆるレベルでその右および左の隣接に離れることを通知するだけであり、離脱ノードの左および右の隣接は互いを指すものとする。これにより、疎SkipNetの場合はO(logk N)ホップ、密SkipNetの場合はO(k logk N)の限度が得られ、ここでホップはメッセージによってトラバースされるホップの合計数を示すが、これは、これらのメッセージが平行に送信できるためである。
次に、R−Tableを使用して名前IDによる検索を実行する場合の、負荷の分散を分析する。ルーティング負荷を分析するには、ルーティングトラフィックの何らかの分散を想定しなければならない。すべてのルーティングトラフィックのソースと宛先の両方の分布が一様であると仮定する。何らかのルーティングアルゴリズム(偶然にパス局所性を保持していない)の下では、ルーティング負荷の分散は明らかに均一である。例えば、ルーティングトラフィックが常に右側にルーティングされる場合、負荷は均一になる。ソースおよび宛先の名前IDが共通の接頭部を共用していない場合、パス局所性は問題ではなく、SkipNetルーティングアルゴリズムはルーティングの方向をランダムに選択することが可能であり、こうしたトラフィックは均一に分散される。
第5.5項で、単一の物理ノードが複数の可能ノードをホストする場合に使用できるスキームについて概説した。このスキームを使用すると、検索ホップの限度には影響を与えず、物理ノードあたりのポインタ数は密な場合でO(k logk N+kv)のみであって、この式でvは仮想ノードの数である。疎な場合、ポインタ数はO(logk N+v)のみである。
次に、第6項で述べたように、接合していないSkipNetセグメントをマージするための事前対応型アルゴリズムの性能を分析する。M個のノードを含む単一のSkipNetセグメントの、N個のノードを含む大規模なSkipNetセグメントとのマージを考えてみる。わかりやすくするために、考察ではk=2であると想定し、同様の分析を任意のkに適用する。マージされたSkipNet内のリングの予測最大レベルは、高い確率でO(log N)である(第8.2項)ことを想起されたい。直感的に言えば、所与のレベルで、そのレベルに到達した後にリングを修復するための予測時間はO(1)であり、リングの修復は、所与のレベルのすべてのリングにまたがって平行に発生する。これは、マージオペレーションを実行するのに必要な予測時間がO(log N)であることを示唆するものであり、これについては、基礎となるネットワークが修復トラフィックの無制限の並列化に対処するという想定の下で、定理8.12で正式に明らかにする。実際には、ネットワークの帯域幅は制限を加える場合があり、多くの修復を平行して実行すると、ネットワークを飽和させ、より多くの時間がかかる可能性がある。
第1に、数値IDによる検索、ノードの接合、およびノードの逸脱に関する限度が、C−TableのSkipNetへの追加で引き続き保持されることについて論議する。数値IDによる検索は各ホップ上の少なくとも1桁を訂正し、訂正する桁がO(logk N)より多いことは決してない(第8.2項)。ノード接合時のC−Tableの構築は、結果的にC−Tableを使用した任意のSkipNetノードから接合ノードまでの数値IDによる検索に等しい。これにより、数値IDによる検索の場合と同じノード接合の限度が与えられる。ノード逸脱時に、C−Tableを維持するために実行される作業はない。
SkipNetの設計および性能を理解および評価するために、物理リンクを介して送信されたパケット数をカウントし、使用されるトポロジに応じて単位ホップカウントまたは指定された遅延のいずれかを各リンクに割り当てる、単純なパケットレベルの離散型イベントシミュレータを使用した。これは、待ち行列遅延またはパケット損失のいずれかをモデリングすると、大規模ネットワークのシミュレーションを妨げることになるため、これらをモデリングすることはない。
以下の評価基準を使用して、ルックアップの性能特徴を測定した。
・均一モデルでは、各組織のサイズは1からNの間で均一に分布され、Nはオーバレイネットワークにおけるアプリケーションノードの合計数である。
・ジップ様モデルでは、組織のサイズは、x−1.25+0.5によって決定される分布に従って決定され、システム内にあるオーバレイノードの合計数に正規化される。本項で言及する他のすべてのジップ様分布は、同様の方式で定義される。
・均一モデルでは、ノードはオーバレイ全体にわたって均一に拡散する。
・クラスタ化モデルでは、組織のノードは、Mercatorトポロジ内で単一のランダムに選択された自律システム全体、およびGT−ITMでランダムに選択されたスタブネットワーク全体にわたって、均一に拡散する。Mercatorでは、選択されたASが、オーバレイノードと同じ数のコアルータノードの少なくとも1/10を有することを保証する。GT−ITMでは、一定サイズより上の組織を「スタブクラスタ」上に配置する。これらは、すべて同じトランジットリンクに接続されたスタブネットワークである。
・ジップクラスタ化の場合、前述のように、組織はASまたはスタブネットワーク内に配置する。ただし組織のノードは、「ルート」物理ノードはASまたはスタブネットワーク内にランダムに配置され、すべてのオーバレイノードはこのルートを基準にしてジップ様分布によってモデル化された距離で配置されるという具合に、そのASまたはスタブネットワーク全体にわたって拡散される。この構成では、組織のほとんどのオーバレイノードは、そのASまたはスタブネットワーク内に緊密にまとめてクラスタ化されることになる。この構成は、一部のASがトポロジ全体の広い部分にわたって拡散されるMercatorトポロジに、特に関連するものである。
アプリケーションホップ:オーバレイを介して宛先にメッセージをルーティングするのに必要な、アプリケーションレベルのホップ数
相対遅延ペナルティ:オーバレイルーティングを使用する平均遅延とIPルーティングを使用する平均遅延との比率。
オーバレイタイプ:Chord、Pastry、基本SkipNet、または完全SkipNet
トポロジ:Mercator(デフォルト)またはGT−ITM
メッセージタイプ:メッセージがDHTルックアップであることを示すDHT Lookup(デフォルト)、またはメッセージがランダムに選択されたオーバレイノードに送信されることを示すSendのいずれか
ノード(N):オーバレイノードの数。ほとんどの実験ではNを28から216まで、2の累乗ずつ変更する。Nを216に固定する場合もある。
ルックアップ:実験あたりのルーティングされたルックアップ要求数。通常は2×N。
試行:各実験が、それぞれ異なるランダムシード値で実行される回数。通常は10。報告された結果は、すべての実行の結果である。
組織:中にコンテンツが位置する別個の組織名の数。典型的な値には、1、10、100、および1000組織が含まれる。1組織内のノードは、シミュレートされたネットワークトポロジの同じ領域内に位置する。Mercatorトポロジの場合、同じ自律システム(AS)内に位置する。GT−ITMトポロジでは、小規模な組織の場合、同じスタブネットワークに接続されたすべてのノードであり、大規模な組織の場合、選択されたコアノードに接続されたすべてのノードである。
組織サイズ:サイズが1からNまでの、ランダムに選択された組織サイズを示すUniform、または、
ノード局所性:UniformまたはZipfのうちの1つ。各組織内でノード位置がクラスタ化される方法を制御する。Uniformは、組織のトポロジ内のノード間で、ノードをランダムに拡散させる。Zipfは、組織のトポロジ内で選択されたルートノードからの距離によって候補ノードを分類し、ジップ分布を使用してそのノードに近いノードをクラスタ化する。
文書局所性:Uniform、By Org、またはBy Nodeのうちの1つ。Uniformは、すべてのノードにわたって文書名を均一に拡散させる。By Orgは、より規模の大きい組織により多くの文書が割り当てられるジップ分布を適用し、文書は各組織内のノードにわたって均一に分布される。
%ローカル:クライアントの組織内の文書に対してローカルであるように制約された、ルックアップの部分。ローカルでないルックアップは、実験のすべての文書間で分布される。
オーバレイ特有のパラメータのデフォルト値は、以下のとおりであった。
Chord:ノードIDビット=40
Pastry:ノードIDビット=128、桁あたりビット数(b)=4、リーフセットサイズ=16
SkipNet:基本構成:ランダムIDビット=128、リーフセットサイズ=16、リング分岐係数(k)=2。完全構成:k=8であり、近接認識にはP−Tableの使用、効率的な数値ルーティングにはC−Tableの使用を追加することを除き、基本と同じである。
SkipNetのルーティング性能を理解するために、N=2iノードでオーバレイネットワークをシミュレートし、ここでiは10から16の範囲である。実験は、10、100、および1000の組織、ならびに、組織サイズ分布、ノード配置、およびデータ配置に関して取得可能なすべての順列を使用して実施した。その意図は、様々な構成の下でRDPがどのように挙動するかをみるためであった。特に、データオブジェクト名の非均一な分布が、ChordおよびPastryに比べて、SkipNetルックアップの性能に悪い影響を与えるかどうかをみることに関心があった。
RDPは、IPベースのルーティングを基準にした性能のみを測定する。ただし、SkipNetの重要な得点の1つは、データの局所的配置を可能にすることである。図19は、216のオーバレイノードおよび100の組織を含み、組織サイズ、ノード配置、およびデータ配置がすべてジップ様分布によって決められる、実験構成に関するルックアップ要求用の、物理ネットワークホップの平均数を示す図である。x軸は、ルックアップのどの部分が強制的にローカルデータとされたか(すなわち、ルックアップされたデータオブジェクト名が要求側クライアントと同じ組織からのものであった)を示す。y軸は、ルックアップ要求に対する物理ネットワークホップの数を示す。
配置の局所性は、耐障害性も向上させる。図20は、組織がネットワークの残りの部分から切断されたときに障害が発生したルックアップ要求の数を示す図である。
図22は、2つの異なるCLB構成のルーティング性能を探求し、それらの性能をPastryと比較した図である。各システムでは、すべてのルックアップトラフィックが組織的にローカルなデータである。組織サイズならびにノードおよびデータの配置は、ジップ様分布でクラスタ化される。基本CLB構成は第3項で述べたR−Tableのみを使用し、完全CLBは第5.4項で述べたC−Tableを使用する。
他のピアツーピアシステムは、すべてのピアが等しいと想定している。任意の特定のピアに対して、同じ組織内にあるピアはシステム内のほとんどのピアよりも重要であると想定することによって、これを補足説明する。具体的に言えば、それらは障害を起こす確率が低く、ネットワーク距離が近い確率が高く、さらに攻撃のソースとなる確率が低い。
Antony Rowstron、Miguel Castro、およびAnne-Marie Kermarrecに対し、彼らのPastryの実施およびネットワークシミュレータの使用を許可いただけたことに感謝する。また、Scott Sheffieldに対しても、名前による検索の分析に関する彼の洞察に感謝する。
[1]J.Aspnes, G.Shah著。スキップグラフ。SODA 2003への出版認可済み。
[2]L.F.Cabrera, M.B.Jones, M.Theimer著。Herald:グローバルイベント通知サービスの達成。2001年5月HotOS VIIIにて。
[3]M.Castro, P.Druschel, A.Ganesh, A.Rowstron, D.Wallach著。ピアツーピアオーバレイルーティングに関するセキュリティ。Operating System Design and Implementation(OSDI)第5回シンポジウム議事録より。2002年12月、USENIX。
[4]M.Castro, P.Druschel, Y.C.Hu, A.Rowstron著。構造化ピアツーピアオーバレイネットワークにおけるトポロジ認識ルーティング。Microsoftテクニカルレポート #MSR-TR-2002-82、2002年より。
[5]Y.H.Chu, S.G.Rao, H.Zhang著。エンドシステムマルチキャストの事例。ACM SIGMETRICS 2000、1〜12ページより。2000年6月 カリフォルニア州サンタクララ。ACM。
[6]I.Clarke, O.Sandberg, B.Wiley, T.W.Hong著。フリーネット:分散匿名情報記憶および検索システム。2000年7月、匿名および不可観測性における設計問題に関するワークショップ、311〜320ページより。ICSI、米国カリフォルニア州バークレー。
[7]T.H.Cormen, C.E.Leiserson, R.L.Rivest著。アルゴリズム入門。MITプレス、1990年マサチューセッツ州ケンブリッジ。
[8]F.Dabek, M.F.Kaashoek, D.Karger、R.Morris, I.Stoica著。CFSによる広域協同記憶域。2001年10月、オペレーティングシステムの原理に関する第18回ACMシンポジウムより。
[9]J.R.Douceur著。Sybilアタック。第1回ピアツーピアシステムに関する国際ワークショップ(IPTPS '02)より。2002年3月。
[10]E.Fredkin著。トライメモリ。Communications of the ACM、3(9):490−499、1960年9月。
[11]Gnutella。http://www.gunutelliums.com/
[12]S.Gribble, E.Brewer, J.Hellerstein, D.Culler著。インターネットサービス構造向けのスケーラブルな分散データ構造。Operating System Design and Implementation(OSDI 2000)第4回シンポジウム議事録、2000年10月より。
[13]S.Iyer, A.Rowstron, P.Druschel著。Squirrel:分散型ピアツーピアWebキャッシュ。Principles of Distributed Computing(PODC)第21回ACM年次シンポジウム議事録、2002年7月より。
[14]F.Kaashoek, R.Morris, F,Dabek, I.Stoica, E.Brunskill, D.Karger, R.Cox, A.Muthitacharoen著。Chordプロジェクト2002。http://www.pdos.jcs.mit.edu/Chord/。
[15]D.Karger, E.Lehman, F.Leighton, M.Levine、D.Lewin, R.Panigraphy著。整合的ハッシングおよびランダムツリー:World Wide Web上のホットスポットを軽減するための分散キャッシングプロトコル。計算理論に関する第29回ACM年次シンポジウム議事録、654〜663ページ、1997年5月より。
[16]P.Keleher, S.Bhattacharjee, B.Silaghi著。仮想化オーバレイネットワークの氾濫を見過ごせるか。第1回ピアツーピアシステムに関する国際ワークショップ(IPTPS '02)、2002年3月。
[17]D.E.Knuth著。コンピュータプログラミングの芸術、第3巻:ソートと検索。Addison-Wesley、マサチューセッツ州リーディング、1973年。
[18]C.Labovitz, A.Ahuja著。インターネットの安定化および広域バックボーン障害に関する実験に基づく研究。耐障害性コンピューティングシンポジウム(FTCS)、1999年6月より。
[19]D.Malkhi, M.Naor, D.Ratajczak著。Viceroy:Butterflyのスケーラブルかつ動的なエミュレーション。Principles of Distributed Computing(PODC)第21回ACM年次シンポジウム議事録、ACM、2002年7月より。
[20]P.Maymounkov, D.Mazieres著。Kademilia:XOR測定規準に基づくピアツーピア情報システム。第1回ピアツーピアシステムに関する国際ワークショップ(IPTPS '02)、MIT、2002年3月。
[21]D.Oppenheimer, D.A.Patterson著。大規模インターネットサービスからの障害データの研究および使用。第10回ACM SIGOPS ヨーロッパワークショップ、2002年9月より。
[22]T.Papadakis著。スキップリストおよびアルゴリズムの確率分析。ワーテルロー大学博士論文、1993年。テクニカルレポートCS93-28としても入手可。
[23]W.Pugh著。スキップリスト:平衡木の確率的代替。アルゴリズムおよびデータ構造に関するワークショップ、437〜449ページ、1989年より。
[24]W.Pugh著。スキップリスト解説書。メリーランド大学テクニカルレポートCS-TR-2286.1,1990年。
[25]S.Ratnasamy, P.Francis, M.Handley, R.Karp, S.Shenker著。スケーラブルコンテンツアドレス可能ネットワーク。ACM SIGCOMM議事録、2001年8月より。
[26]S.Ratnasamy, M.Handley, R.Karp, S.Shenker著。コンテンツアドレス可能ネットワークを使用するアプリケーションレベルマルチキャスト。ネットワーク化グループ通信に関する第3回国際ワークショップ議事録、2001年11月より。
[27]A.Rowstron, P.Druschel著。Pastry:大規模ピアツーピアシステムに関するスケーラブルな分散オブジェクトのロケーションおよびルーティング。分散システムプラットフォーム(ミドルウェア)に関する国際会議、329〜350ページ、ドイツ、ハイデルベルグ、2001年11月より。
[28]A.Rowstron, P.Druschel著。PAST(大規模永続ピアツーピア記憶ユーティリティ)における記憶管理およびキャッシング。オペレーティングシステムの原理に関する第18回ACMシンポジウム、2001年10月より。
[29]A.Rowstron, A.M.Kermarrec, M.Castro, P.Druschel著。Scribe:大規模イベント通知インフラストラクチャの設計。ネットワーク化グループ通信に関する第3回国際ワークショップ、2001年11月より。
[30]I.Stoica, R.Morris, D.Karger, M.F.Kaashoek, H.Balakrishnan著。Chord:インターネットアプリケーションのためのスケーラブルピアツーピアルックアップサービス。ACM SIGCOMM '01会議議事録、149〜160ページ、カリフォルニア州サンディエゴ、2001年8月より。
[31]I.Stoica, R.Morris, D.Karger, M.F.Kaashoek, H.Balakrishnan著。Chord:インターネットアプリケーションのためのスケーラブルピアツーピアルックアップサービス。テクニカルレポートTR-819、MIT、2001年3月。
[32]H.Tangmunarunkit, R.Govindan, S.Shenker, D.Estrin著。インターネットパスにおけるルーティングポリシーの影響。INFOCOM、736〜742ページ、2001年4月より。
[33]M.Theimer, M.B.Jones著。Overlook:オーバレイネットワーク上でのスケーラブルな名前サービス。第22回分散コンピューティングシステム国際会議(ICDCS)議事録より。IEEE Computer Society、2002年7月。
[34]A.Vahdat, J.Chase, R.Braynard, D.Kostic, A.Rodriguez著。自己編成サブセット:From Each According to His Abilities, To Each According to His Needs。第1回ピアツーピアシステムに関する国際ワークショップ(IPTPS '02)より。2002年3月。
[35]E.W.Zegura, K.L.Calvert, S.Bhattacharjee著。インターネットワークのモデル化方法。IEEE Infocom '96、1996年4月、議事録より。
[36]B.Y.Zhao, J.D.Kubiatowiez, A.D.Joseph著。Tapestry:障害弾力性のある広域ロケーションおよびルーティングに関するインフラストラクチャ。テクニカルレポートUCB//CSD-01-1141、U.C.バークレー、2001年4月。
600 単一の物理位置
612 log(n)ポインタ
614 部分ルーティングテーブル
616 リーフノードポインタ
Claims (23)
- ネットワーク化されたノードのセットからオーバレイネットワークを作成するための方法であって、各ノードはポインタを有し、ピアツーピアのメッセージをルーティングし、前記方法は、
各ノードに異なる名前を割り当てることであって、同じドメイン内にあるノードは、名前によって辞書編集的に順序付けされたときに互いに隣接すること、
各ノードに異なる番号を割り当てることであって、各々の番号は、前記ネットワーク化されたノードのセットに対して固有であり、ノードにかかる番号の分布は、確率的に一様であること、
各ノードにテーブルを作成することであって、前記テーブルは、レベル番号hで表される2以上のレベルを有し、(a)レベル番号h=0のノードにおいて、辞書編集的に隣接するノードへのポインタを含み、さらにレベル番号h>1のノードにおいて、それぞれ辞書編集的に2 h ノード離れたノードへのポインタを含み、(b)レベル番号h=0において、全てのノードは1つのリングに割り当てられ、さらにレベル番号h>1において、レベルh+1のリングはレベルhのリングが2つの接合されていないリングに分割され、各々のノードはランダムに、一様に前記2つの接合されていないリングのいずれかに割り当てられ、および
各ノードにおいて、前記メッセージの宛先を越えて指示することのない最高位のポインタに従って、前記オーバレイネットワークを介して前記メッセージをルーティングすること
を備えたことを特徴とする方法。 - 各ノードのテーブル内にある第1のポインタは、前記ノードが名前によって辞書編集的に順序付けされたときに、直後のノードを指すことを特徴とする請求項1に記載の方法。
- 各ノードのテーブル内にある第2のポインタは、前記ノードが名前によって辞書編集的に順序付けされたときに、直前のノードを指すことを特徴とする請求項2に記載の方法。
- 各ノードのテーブル内にある第3のポインタは、前記ノードが名前によって辞書編集的に順序付けされたときに、Kポジションだけ前にある距離ノードを指すことを特徴とする請求項3に記載の方法。
- 各ノードのテーブル内にある第4のポインタは、前記ノードが名前によって辞書編集的に順序付けされたときに、Kポジションだけ後ろにある距離ノードを指すことを特徴とする請求項4に記載の方法。
- 前記ポインタは、ノードのネットワークアドレスであることを特徴とする請求項1に記載の方法。
- 前記ネットワークアドレスは、IPアドレスであり、前記オーバレイネットワークは、インターネットに接続されたノードのサブセットを含むことを特徴とする請求項6に記載の方法。
- 各ノードのテーブルに追加のポインタを加えることによって前記オーバレイネットワーク内に1つまたは複数のサブリングを形成することであって、前記追加のポインタは、同じサブリングに属する他のノードを識別することをさらに備えたことを特徴とする請求項1に記載の方法。
- 前記ノード名は、ユーザの電子メールアドレスであることを特徴とする請求項1に記載の方法。
- 前記ノード名は、ユニフォームリソースロケータ(URL)であることを特徴とする請求項1に記載の方法。
- 前記ノード名は、DNS(ドメインネームサービス)名であることを特徴とする請求項1に記載の方法。
- 各ノードについて近接テーブルを作成することであって、前記近接テーブルは、ネットワーク位置に基づいて隣接ノードを指す1つまたは複数のポインタを格納することをさらに備えたことを特徴とする請求項1に記載の方法。
- 各ノードについて2以上のリーフセットポインタを格納することをさらに備えたことを特徴とする請求項1に記載の方法。
- 広域一意識別子(GUID)を取得するためにファイル名をハッシュすること、
GUIDに最も近い番号を備えた前記オーバレイネットワーク上のノードを見つけること、および
前記ファイルをそのノードに格納すること
をさらに備えたことを特徴とする請求項1に記載の方法。 - ファイル名を受け取り、前記ファイル名に最も緊密に一致する名前の、前記オーバレイネットワーク上にあるノードを識別すること、および
前記ファイル名に関連付けられた前記ファイルを、前記識別されたノードに格納すること
をさらに備えたことを特徴とする請求項1に記載の方法。 - 広域一意識別子(GUID)を取得するためにファイル名をハッシュすることであって、前記ファイル名は、前記オーバレイネットワーク上のどのドメインに前記ファイルを格納すべきであるかを示すドメイン識別子接頭部を含むこと、
前記ドメイン識別子に一致するノード名を備えた前記オーバレイネットワーク上のノードのGUIDに最も近い番号を有する前記オーバレイネットワーク上のノードを見つけること、および
前記ファイルをそのノードに格納すること
をさらに備えたことを特徴とする請求項1に記載の方法。 - 前記オーバレイネットワーク上に格納するためにファイルを受け取り、制約付きロードバランシングを実行することをさらに備えたことを特徴とする請求項1に記載の方法。
- 前記ノードに関連付けられた番号は、ノードをほぼ均等にサブリングに分散させるために使用され、特定のサブリングに属する各ノードは、前記サブリング内にあるノードがノード名により辞書編集的に順序付けられる場合に、前記サブリング内のすぐ隣にあるノードを指す少なくとも1つのポインタを有することを特徴とする請求項1に記載の方法。
- 前記ノードを各ノード名により辞書編集的に論理リングに配置構成することであって、各ノードのテーブルは、1つまたは複数の前記リング上の隣接ノードのアドレスを格納すること、
前記ノードを2つの論理サブリングに分割することであって、前記ノードの一部は、各サブリング内にあり、各ノードのテーブルは、前記1つまたは複数の前記サブリング上のノードのアドレスを格納すること、および
前記分割を複数のノードを有する各サブリングにつき1または複数回反復すること
をさらに備えたことを特徴とする請求項1に記載の方法。 - 各ノードに割り当てられた前記番号は、ほぼランダムおよび固有であり、前記ノードは、ランダム数に基づいてサブリングに分割されることを特徴とする請求項19に記載の方法。
- 前記ノードは、パスに従って辞書編集的に順序付けられ、各ノードのパスは、少なくとも1つのドメイン名およびノード名を含むことを特徴とする請求項19に記載の方法。
- 少なくとも1つのノードのパスは、複数のネストされたドメイン名を含むことを特徴とする請求項21に記載の方法。
- コンピュータ読取り可能媒体上で実施されるコンピュータプログラムであって、前記コンピュータプログラムは、請求項1ないし22のいずれか一項に記載の方法を実施するように実行可能であることを特徴とするコンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US40973502P | 2002-09-11 | 2002-09-11 | |
US10/356,961 US7613796B2 (en) | 2002-09-11 | 2003-02-03 | System and method for creating improved overlay network with an efficient distributed data structure |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004266796A JP2004266796A (ja) | 2004-09-24 |
JP4358581B2 true JP4358581B2 (ja) | 2009-11-04 |
Family
ID=31891075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003316039A Expired - Fee Related JP4358581B2 (ja) | 2002-09-11 | 2003-09-08 | 効率的な分散データ構造を備えた改良されたオーバレイネットワークを生成するシステムおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7613796B2 (ja) |
EP (2) | EP1398924B1 (ja) |
JP (1) | JP4358581B2 (ja) |
AT (1) | ATE399416T1 (ja) |
DE (1) | DE60321759D1 (ja) |
Families Citing this family (207)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7379857B2 (en) * | 2002-05-10 | 2008-05-27 | Lockheed Martin Corporation | Method and system for simulating computer networks to facilitate testing of computer network security |
EP1514183A2 (en) * | 2002-06-20 | 2005-03-16 | BRITISH TELECOMMUNICATIONS public limited company | Distributed computer |
US20040064725A1 (en) * | 2002-09-18 | 2004-04-01 | Microsoft Corporation | Method and system for detecting a communication problem in a computer network |
US20040088274A1 (en) * | 2002-10-31 | 2004-05-06 | Zhichen Xu | Semantic hashing |
US20040088301A1 (en) * | 2002-10-31 | 2004-05-06 | Mallik Mahalingam | Snapshot of a file system |
US7421433B2 (en) * | 2002-10-31 | 2008-09-02 | Hewlett-Packard Development Company, L.P. | Semantic-based system including semantic vectors |
US7289520B2 (en) * | 2002-11-20 | 2007-10-30 | Hewlett-Packard Development Company, L.P. | Method, apparatus, and system for expressway routing among peers |
GB0230331D0 (en) * | 2002-12-31 | 2003-02-05 | British Telecomm | Method and apparatus for operating a computer network |
US7043470B2 (en) * | 2003-03-05 | 2006-05-09 | Hewlett-Packard Development Company, L.P. | Method and apparatus for improving querying |
US20040205242A1 (en) * | 2003-03-12 | 2004-10-14 | Zhichen Xu | Querying a peer-to-peer network |
US7039634B2 (en) * | 2003-03-12 | 2006-05-02 | Hewlett-Packard Development Company, L.P. | Semantic querying a peer-to-peer network |
US20040181607A1 (en) * | 2003-03-13 | 2004-09-16 | Zhichen Xu | Method and apparatus for providing information in a peer-to-peer network |
US7907544B2 (en) * | 2003-03-14 | 2011-03-15 | Hewlett-Packard Development Company, L.P. | Overlay network for location-independent communication between computer systems |
US8145699B2 (en) | 2003-05-30 | 2012-03-27 | Microsoft Corporation | Generalized proximity service |
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 |
US7916739B2 (en) * | 2003-06-24 | 2011-03-29 | Ntt Docomo, Inc. | Location privacy for internet protocol networks using cryptographically protected prefixes |
US7990948B2 (en) * | 2003-08-15 | 2011-08-02 | Quintence Properties Kg, Llc | Serverless and switchless internet protocol telephony system and method |
US6956827B2 (en) * | 2003-08-15 | 2005-10-18 | Popular Telephony, Inc. | Distribution of identifiers in serverless networks |
TWI225999B (en) * | 2003-08-22 | 2005-01-01 | Ind Tech Res Inst | A method for searching Peer-based security policy database |
US7702882B2 (en) * | 2003-09-10 | 2010-04-20 | Samsung Electronics Co., Ltd. | Apparatus and method for performing high-speed lookups in a routing table |
US7523220B2 (en) * | 2003-09-17 | 2009-04-21 | Microsoft Corporation | Metaspace: communication middleware for partially connected mobile ad hoc networks |
US7809843B1 (en) * | 2003-09-18 | 2010-10-05 | Intel Corporation | Globally unique identification in communications protocols and databases |
US7788400B2 (en) * | 2003-09-19 | 2010-08-31 | Hewlett-Packard Development Company, L.P. | Utilizing proximity information in an overlay network |
US6988180B2 (en) * | 2003-09-29 | 2006-01-17 | Microsoft Corporation | Method and apparatus for lock-free, non-blocking hash table |
US7570600B1 (en) * | 2003-12-17 | 2009-08-04 | Symantec Operating Corporation | Overlay network with efficient routing and recovery |
US20050154794A1 (en) * | 2004-01-14 | 2005-07-14 | Deshpande Sachin G. | Systems and methods for providing a discovery protocol |
US7827279B2 (en) * | 2004-01-30 | 2010-11-02 | Hewlett-Packard Development Company, L.P. | Selecting nodes close to another node in a network using location information for the nodes |
US7961650B2 (en) * | 2004-02-16 | 2011-06-14 | Christopher Michael Davies | Network architecture |
US20050198351A1 (en) * | 2004-02-20 | 2005-09-08 | Microsoft Corporation | Content-based routing |
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
WO2005089241A2 (en) | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method for providing object triggers |
US7730207B2 (en) * | 2004-03-31 | 2010-06-01 | Microsoft Corporation | Routing in peer-to-peer networks |
US7536467B2 (en) * | 2004-04-20 | 2009-05-19 | Microsoft Corporation | Peer-to-peer (P2P) mobility system, and method |
JP2005333374A (ja) * | 2004-05-19 | 2005-12-02 | Toshiba Corp | ネットワーク検索システム、情報検索方法、ブリッジ装置及びプログラム |
WO2005120102A1 (en) * | 2004-05-19 | 2005-12-15 | Wurld Media, Inc. | Dynamic connection structure topologies and methods for facilitating the peer-to-peer transfer of digital files |
GB0412655D0 (en) * | 2004-06-07 | 2004-07-07 | British Telecomm | Distributed storage network |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
US7877476B2 (en) * | 2004-06-25 | 2011-01-25 | Hajime Fukushima | Communication model, counter sign signal, method, and device |
JP3987512B2 (ja) * | 2004-07-15 | 2007-10-10 | 株式会社東芝 | メッセージ配送方法、計算機及びプログラム |
US7715396B2 (en) * | 2004-08-19 | 2010-05-11 | Microsoft Corporation | Network routing |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
US20070133520A1 (en) * | 2005-12-12 | 2007-06-14 | Microsoft Corporation | Dynamically adapting peer groups |
US7613703B2 (en) * | 2004-09-30 | 2009-11-03 | Microsoft Corporation | Organizing resources into collections to facilitate more efficient and reliable resource access |
US7640299B2 (en) * | 2004-09-30 | 2009-12-29 | Microsoft Corporation | Optimizing communication using scaleable peer groups |
US9298513B2 (en) * | 2004-10-07 | 2016-03-29 | International Business Machines Corporation | Method and structure for autonomic application differentiation/specialization |
US20110082928A1 (en) | 2004-10-22 | 2011-04-07 | Microsoft Corporation | Maintaining consistency within a federation infrastructure |
US20080288659A1 (en) | 2006-11-09 | 2008-11-20 | Microsoft Corporation | Maintaining consistency within a federation infrastructure |
US20060090003A1 (en) * | 2004-10-22 | 2006-04-27 | Microsoft Corporation | Rendezvousing resource requests with corresponding resources |
US8549180B2 (en) * | 2004-10-22 | 2013-10-01 | Microsoft Corporation | Optimizing access to federation infrastructure-based resources |
US8095601B2 (en) * | 2004-10-22 | 2012-01-10 | Microsoft Corporation | Inter-proximity communication within a rendezvous federation |
US7958262B2 (en) | 2004-10-22 | 2011-06-07 | Microsoft Corporation | Allocating and reclaiming resources within a rendezvous federation |
US8014321B2 (en) * | 2004-10-22 | 2011-09-06 | Microsoft Corporation | Rendezvousing resource requests with corresponding resources |
US8095600B2 (en) * | 2004-10-22 | 2012-01-10 | Microsoft Corporation | Inter-proximity communication within a rendezvous federation |
US8392515B2 (en) * | 2004-10-22 | 2013-03-05 | Microsoft Corporation | Subfederation creation and maintenance in a federation infrastructure |
US7694167B2 (en) * | 2004-10-22 | 2010-04-06 | Microsoft Corporation | Maintaining routing consistency within a rendezvous federation |
US7730220B2 (en) * | 2004-10-22 | 2010-06-01 | Microsoft Corporation | Broadcasting communication within a rendezvous federation |
US8271980B2 (en) | 2004-11-08 | 2012-09-18 | Adaptive Computing Enterprises, Inc. | System and method of providing system jobs within a compute environment |
WO2006068365A1 (en) * | 2004-12-21 | 2006-06-29 | Electronics And Telecommunications Research Institute | P2p overlay network construction method and apparatus |
US8102837B2 (en) * | 2004-12-30 | 2012-01-24 | Massachusetts Institute Of Technology | Network coding approach to rapid information dissemination |
US8046426B2 (en) * | 2004-12-30 | 2011-10-25 | Massachusetts Institute Of Technology | Random linear coding approach to distributed data storage |
US7587367B2 (en) * | 2004-12-31 | 2009-09-08 | Ebay Inc. | Method and system to provide feedback data within a distributed e-commerce system |
JP4371056B2 (ja) * | 2005-01-07 | 2009-11-25 | ブラザー工業株式会社 | ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等 |
US8683020B2 (en) * | 2005-02-26 | 2014-03-25 | Coco Communications Corp. | Naming system layer |
US8631130B2 (en) | 2005-03-16 | 2014-01-14 | Adaptive Computing Enterprises, Inc. | Reserving resources in an on-demand compute environment from a local compute environment |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
CA2603577A1 (en) | 2005-04-07 | 2006-10-12 | Cluster Resources, Inc. | On-demand access to compute resources |
US7895270B2 (en) * | 2005-04-21 | 2011-02-22 | Microsoft Corporation | Transport abstraction for multiparty replication |
KR100636232B1 (ko) * | 2005-04-29 | 2006-10-18 | 삼성전자주식회사 | 해시 체인을 이용하여 디바이스들간의 인접성을 검사하는방법 및 장치 |
US20060271638A1 (en) * | 2005-05-27 | 2006-11-30 | Beigi Mandis S | Method and apparatus for improving data transfers in peer-to-peer networks |
US7831624B2 (en) * | 2005-06-24 | 2010-11-09 | Seagate Technology Llc | Skip list with address related table structure |
DE502005001390D1 (de) * | 2005-07-14 | 2007-10-11 | Konrad Zuse Zentrum Fuer Infor | Vorrichtung und Verfahren zum Abrufen/Speichern von elektronischen Daten in einem System mit mehreren Datenverarbeitungseinheiten |
US8208477B1 (en) * | 2005-08-24 | 2012-06-26 | Hewlett-Packard Development Company, L.P. | Data-dependent overlay network |
WO2007034313A1 (en) * | 2005-09-23 | 2007-03-29 | Thomas Friedrich Theo Fuhrmann | Routing method and apparatus |
JP2007148545A (ja) * | 2005-11-24 | 2007-06-14 | Brother Ind Ltd | 情報配信システム、情報配信方法、ノード装置、及びノード処理プログラム |
US7468952B2 (en) * | 2005-11-29 | 2008-12-23 | Sony Computer Entertainment Inc. | Broadcast messaging in peer to peer overlay network |
JP2007200203A (ja) * | 2006-01-30 | 2007-08-09 | Brother Ind Ltd | 情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラム |
US7860106B2 (en) * | 2006-02-13 | 2010-12-28 | Wind River Systems, Inc. | System and method for routing table computation and analysis |
JP2007235243A (ja) * | 2006-02-27 | 2007-09-13 | Brother Ind Ltd | 情報通信システム、情報収集方法、ノード装置、及びノード処理プログラム |
US20070233832A1 (en) * | 2006-03-30 | 2007-10-04 | Matsushita Electric Industrial Co., Ltd. | Method of distributed hash table node ID collision detection |
US7881223B2 (en) * | 2006-03-31 | 2011-02-01 | Panasonic Corporation | Method for on demand distributed hash table update |
US7516116B2 (en) * | 2006-04-07 | 2009-04-07 | Microsoft Corporation | Range and cover queries in overlay networks |
CN100433657C (zh) * | 2006-05-11 | 2008-11-12 | 蓝汛网络科技(北京)有限公司 | 适用于大规模流媒体直播系统的对等网络成员管理方法 |
US8605721B1 (en) * | 2006-05-25 | 2013-12-10 | The Hong Kong University Of Science And Technology | Scalable island multicast for peer-to-peer media delivery |
US7925781B1 (en) * | 2006-05-26 | 2011-04-12 | The Hong Kong University Of Science And Technology | Distributed storage to support user interactivity in peer-to-peer video streaming |
EP1868114B1 (de) * | 2006-06-12 | 2015-11-18 | Konrad-Zuse-Zentrum für Informationstechnik Berlin | Vorrichtung und Verfahren zum Speichern und Abrufen von Objekten mit mehrdimensional adressierten, elektronischen Daten |
JP2008059398A (ja) * | 2006-08-31 | 2008-03-13 | Brother Ind Ltd | 識別情報割当装置及びその情報処理方法並びにそのプログラム |
US8041942B2 (en) * | 2006-09-05 | 2011-10-18 | Panasonic Corporation | Robust peer-to-peer networks and methods of use thereof |
JP2008090564A (ja) * | 2006-09-29 | 2008-04-17 | Brother Ind Ltd | コンテンツ配信システム及び同システムにおける識別情報割当方法及び同システムにおける識別情報割当装置及び同装置のプログラム |
WO2008037758A1 (de) * | 2006-09-29 | 2008-04-03 | Siemens Aktiengesellschaft | Physikalischer netzwerkknoten eines mesh-netzwerks sowie mesh-netzwerk |
US7684352B2 (en) * | 2006-11-02 | 2010-03-23 | Nortel Networks Ltd | Distributed storage of routing information in a link state protocol controlled network |
US20100281165A1 (en) * | 2006-11-14 | 2010-11-04 | Christoph Gerdes | Method for the load distribution in a peer-to-peer-overlay network |
KR101305397B1 (ko) * | 2006-11-24 | 2013-09-06 | 네이버 주식회사 | P2p 시스템에서 피어 랜덤 선택을 위한 피어 관리 서버및 피어 관리 방법 |
EP2087667A4 (en) * | 2006-11-27 | 2015-03-04 | Ericsson Telefon Ab L M | METHOD AND SYSTEM FOR PROVIDING A ROUTING ARCHITECTURE FOR OVERLAY NETWORKS |
US8737261B2 (en) * | 2006-11-27 | 2014-05-27 | Telefonaktiebolaget L M Ericsson (Publ) | Node registering method |
US9026628B2 (en) * | 2007-01-22 | 2015-05-05 | Xerox Corporation | Two-level structured overlay design for cluster management in a peer-to-peer network |
JP4952276B2 (ja) * | 2007-02-05 | 2012-06-13 | 日本電気株式会社 | 分散データ管理システムおよび方法 |
WO2008102195A1 (en) * | 2007-02-22 | 2008-08-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Consistent and fault tolerant distributed hash table (dht) overlay network |
US8108918B2 (en) * | 2007-02-27 | 2012-01-31 | Red Hat, Inc. | Zero knowledge attribute storage and retrieval |
US8028019B2 (en) * | 2007-02-28 | 2011-09-27 | Solid State Networks, Inc. | Methods and apparatus for data transfer in networks using distributed file location indices |
JP4926763B2 (ja) * | 2007-03-06 | 2012-05-09 | 三菱電機株式会社 | パケット転送方法および制御装置 |
US7895345B2 (en) * | 2007-04-13 | 2011-02-22 | Microsoft Corporation | Distributed routing table architecture and design |
US8739123B2 (en) * | 2007-05-28 | 2014-05-27 | Google Inc. | Incorporating gadget functionality on webpages |
US7809785B2 (en) * | 2007-05-28 | 2010-10-05 | Google Inc. | System using router in a web browser for inter-domain communication |
WO2008151674A1 (en) * | 2007-06-15 | 2008-12-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Method of discovering overlapping cells |
US8238237B2 (en) * | 2007-06-18 | 2012-08-07 | Sony Computer Entertainment Inc. | Load balancing distribution of data to multiple recipients on a peer-to-peer network |
CA2693312A1 (en) * | 2007-06-22 | 2008-12-31 | Telefonaktiebolaget L M Ericsson (Publ) | System and method for access network multi-homing |
JP4770804B2 (ja) * | 2007-07-03 | 2011-09-14 | ブラザー工業株式会社 | オーバレイネットワーク型通信システム、オーバレイネットワーク型ノード装置およびプログラム |
US7882327B2 (en) * | 2007-07-31 | 2011-02-01 | Advanced Micro Devices, Inc. | Communicating between partitions in a statically partitioned multiprocessing system |
US7961711B2 (en) * | 2007-08-06 | 2011-06-14 | Microsoft Corporation | Fitness based routing |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US9407693B2 (en) * | 2007-10-03 | 2016-08-02 | Microsoft Technology Licensing, Llc | Network routing of endpoints to content based on content swarms |
EP2215770B1 (en) * | 2007-10-18 | 2013-03-20 | Telefonaktiebolaget L M Ericsson (publ) | Merging of overlay networks in distributed data structures |
US8375062B2 (en) * | 2007-11-19 | 2013-02-12 | Oracle America, Inc. | Simple optimistic skiplist |
JP4417997B2 (ja) * | 2007-12-13 | 2010-02-17 | 株式会社東芝 | オーバーレイネットワークシステム、同システムにおけるオーバーレイネットワーク構築・維持方法、及びプログラム |
US7870133B2 (en) * | 2008-01-14 | 2011-01-11 | Infosys Technologies Ltd. | Method for semantic based storage and retrieval of information |
US20100315945A1 (en) * | 2008-01-25 | 2010-12-16 | Nokia Corporation | Method, apparatus, and computer program product for providing device monitoring in a network |
US7636759B1 (en) | 2008-09-29 | 2009-12-22 | Gene Fein | Rotating encryption in data forwarding storage |
US7636760B1 (en) | 2008-09-29 | 2009-12-22 | Gene Fein | Selective data forwarding storage |
US7599997B1 (en) | 2008-08-01 | 2009-10-06 | Gene Fein | Multi-homed data forwarding storage |
US7636761B1 (en) | 2008-09-29 | 2009-12-22 | Gene Fein | Measurement in data forwarding storage |
US9203928B2 (en) | 2008-03-20 | 2015-12-01 | Callahan Cellular L.L.C. | Data storage and retrieval |
US8458285B2 (en) | 2008-03-20 | 2013-06-04 | Post Dahl Co. Limited Liability Company | Redundant data forwarding storage |
US8386585B2 (en) | 2008-04-25 | 2013-02-26 | Tajitshu Transfer Limited Liability Company | Real-time communications over data forwarding framework |
KR101472936B1 (ko) | 2008-04-30 | 2014-12-17 | 삼성전자주식회사 | 피투피 네트워크 시스템 및 그의 지역 기반 운용 방법 |
US8452844B2 (en) | 2008-05-07 | 2013-05-28 | Tajitshu Transfer Limited Liability Company | Deletion in data file forwarding framework |
US7792992B2 (en) * | 2008-05-29 | 2010-09-07 | Xerox Corporation | Serverless distributed monitoring and anomaly detection for a service oriented architecture |
US8130773B2 (en) * | 2008-06-25 | 2012-03-06 | Honeywell International Inc. | Hybrid topology ethernet architecture |
US8599678B2 (en) | 2008-07-10 | 2013-12-03 | Tajitshu Transfer Limited Liability Company | Media delivery in data forwarding storage network |
US8370446B2 (en) | 2008-07-10 | 2013-02-05 | Tajitshu Transfer Limited Liability Company | Advertisement forwarding storage and retrieval network |
JP2010028551A (ja) * | 2008-07-22 | 2010-02-04 | Brother Ind Ltd | コンテンツ分散保存システム、ノード装置、ノード処理プログラム、及びアドレス情報変更通知方法 |
WO2010011342A1 (en) * | 2008-07-25 | 2010-01-28 | Brown University | Apparatus, methods, and computer program products providing dynamic provable data possession |
US8200915B2 (en) * | 2008-08-22 | 2012-06-12 | Cadence Design Systems, Inc. | Management of very large streaming data sets for efficient writes and reads to and from persistent storage |
JP5390814B2 (ja) * | 2008-09-04 | 2014-01-15 | Kddi株式会社 | リング型の出力値サークル、認証システム、鍵配布システム、メンバー確認システムおよび認証方法、鍵配布方法、メンバー確認方法 |
US8478823B2 (en) | 2008-09-29 | 2013-07-02 | Tajitshu Transfer Limited Liability Company | Selective data forwarding storage |
US8352635B2 (en) | 2008-09-29 | 2013-01-08 | Tajitshu Transfer Limited Liability Company | Geolocation assisted data forwarding storage |
CN101741715B (zh) * | 2008-11-20 | 2013-03-20 | 华为技术有限公司 | 发送消息的方法、接入路由节点设备和数据缓存系统 |
US9344438B2 (en) * | 2008-12-22 | 2016-05-17 | Qualcomm Incorporated | Secure node identifier assignment in a distributed hash table for peer-to-peer networks |
KR100983479B1 (ko) * | 2009-02-11 | 2010-09-27 | 엔에이치엔(주) | 분산 스페이스를 이용하여 분산 프로그래밍 환경을 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 |
US8301654B2 (en) * | 2009-02-24 | 2012-10-30 | Hitachi, Ltd. | Geographical distributed storage system based on hierarchical peer to peer architecture |
US9240927B2 (en) * | 2009-02-26 | 2016-01-19 | Qualcomm Incorporated | Methods and apparatus for enhanced overlay state maintenance |
US8484382B2 (en) * | 2009-03-11 | 2013-07-09 | Qualcomm Incorporated | Methods and apparatus for merging peer-to-peer overlay networks |
EP2234055A1 (en) * | 2009-03-27 | 2010-09-29 | Siemens Aktiengesellschaft | Method for installing a web package within an manufacturing executing system |
WO2010124355A1 (en) | 2009-05-01 | 2010-11-04 | Nortel Networks Limited | E-spring support of ethernet protection |
US8100755B2 (en) * | 2009-05-11 | 2012-01-24 | Multimedia Games, Inc. | Method, apparatus, and program product for distributing random number generation on a gaming network |
JP4947106B2 (ja) * | 2009-07-27 | 2012-06-06 | ブラザー工業株式会社 | 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム |
US20110078779A1 (en) * | 2009-09-25 | 2011-03-31 | Song Liu | Anonymous Preservation of a Relationship and Its Application in Account System Management |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
CN102088450B (zh) * | 2009-12-08 | 2014-03-19 | 中兴通讯股份有限公司南京分公司 | 一种多域对等网络中域的拆分与合并方法及系统 |
US20110153737A1 (en) * | 2009-12-17 | 2011-06-23 | Chu Thomas P | Method and apparatus for decomposing a peer-to-peer network and using a decomposed peer-to-peer network |
US8549126B2 (en) | 2010-04-09 | 2013-10-01 | Sony Computer Entertainment Inc. | Application level broadcast in peer overlay network |
US8799438B2 (en) * | 2010-12-14 | 2014-08-05 | Microsoft Corporation | Generic and automatic address configuration for data center networks |
TW201251376A (en) * | 2011-06-09 | 2012-12-16 | Ind Tech Res Inst | Method and device for distribution of nodes, and computer program products thereof |
US8443086B2 (en) | 2011-06-22 | 2013-05-14 | National Chiao Tung University | Decentralized structured peer-to-peer network and load balancing methods thereof |
US8880880B2 (en) * | 2011-07-29 | 2014-11-04 | Qualcomm Incorporated | Facilitating access control in peer-to-peer overlay networks |
CN103093140B (zh) * | 2011-10-31 | 2015-11-25 | 腾讯科技(深圳)有限公司 | 权限管理方法及系统 |
JP5759881B2 (ja) * | 2011-12-08 | 2015-08-05 | 株式会社日立ソリューションズ | 情報処理システム |
US10044582B2 (en) | 2012-01-28 | 2018-08-07 | A10 Networks, Inc. | Generating secure name records |
US9515920B2 (en) * | 2012-04-20 | 2016-12-06 | Futurewei Technologies, Inc. | Name-based neighbor discovery and multi-hop service discovery in information-centric networks |
JP6168052B2 (ja) * | 2012-05-31 | 2017-07-26 | 株式会社ニコン | 移動電子機器およびプログラム |
US20130332992A1 (en) * | 2012-06-12 | 2013-12-12 | Xerox Corporation | Methods and systems for identifying a trustable workflow based on a comprehensive trust model |
GB2505230B (en) * | 2012-08-23 | 2019-10-16 | Metaswitch Networks Ltd | Leader node appointment |
US9634922B2 (en) * | 2012-09-11 | 2017-04-25 | Board Of Regents Of The Nevada System Of Higher Education, On Behalf Of The University Of Nevada, Reno | Apparatus, system, and method for cloud-assisted routing |
US8965845B2 (en) * | 2012-12-07 | 2015-02-24 | International Business Machines Corporation | Proactive data object replication in named data networks |
US9722918B2 (en) | 2013-03-15 | 2017-08-01 | A10 Networks, Inc. | System and method for customizing the identification of application or content type |
US9912555B2 (en) | 2013-03-15 | 2018-03-06 | A10 Networks, Inc. | System and method of updating modules for application or content identification |
US9838425B2 (en) | 2013-04-25 | 2017-12-05 | A10 Networks, Inc. | Systems and methods for network access control |
US9525726B2 (en) * | 2013-06-24 | 2016-12-20 | Nec Corporation | Compute followed by network load balancing procedure for embedding cloud services in software-defined flexible-grid optical transport networks |
US9294503B2 (en) | 2013-08-26 | 2016-03-22 | A10 Networks, Inc. | Health monitor based distributed denial of service attack mitigation |
US9705801B2 (en) * | 2013-10-07 | 2017-07-11 | Facebook, Inc. | Systems and methods for mapping and routing based on clustering |
US9684737B2 (en) * | 2014-02-18 | 2017-06-20 | International Business Machines Corporation | Accessing an N-way linked list |
US9906422B2 (en) | 2014-05-16 | 2018-02-27 | A10 Networks, Inc. | Distributed system to determine a server's health |
TW201545510A (zh) * | 2014-05-30 | 2015-12-01 | Ibm | 在分散式計算系統中進行訊息路由的方法 |
US9819573B2 (en) | 2014-09-11 | 2017-11-14 | Microsoft Technology Licensing, Llc | Method for scalable computer network partitioning |
US9756071B1 (en) | 2014-09-16 | 2017-09-05 | A10 Networks, Inc. | DNS denial of service attack protection |
US9544225B2 (en) | 2014-09-16 | 2017-01-10 | Microsoft Technology Licensing, Llc | Method for end point identification in computer networks |
US10447676B2 (en) * | 2014-10-10 | 2019-10-15 | Adp, Llc | Securing application programming interfaces (APIS) through infrastructure virtualization |
US9537886B1 (en) | 2014-10-23 | 2017-01-03 | A10 Networks, Inc. | Flagging security threats in web service requests |
US9769536B2 (en) | 2014-12-26 | 2017-09-19 | System73, Inc. | Method and system for adaptive virtual broadcasting of digital content |
US9621575B1 (en) | 2014-12-29 | 2017-04-11 | A10 Networks, Inc. | Context aware threat protection |
US9584318B1 (en) | 2014-12-30 | 2017-02-28 | A10 Networks, Inc. | Perfect forward secrecy distributed denial of service attack defense |
US9900343B1 (en) | 2015-01-05 | 2018-02-20 | A10 Networks, Inc. | Distributed denial of service cellular signaling |
US9848013B1 (en) | 2015-02-05 | 2017-12-19 | A10 Networks, Inc. | Perfect forward secrecy distributed denial of service attack detection |
US10063591B1 (en) | 2015-02-14 | 2018-08-28 | A10 Networks, Inc. | Implementing and optimizing secure socket layer intercept |
US10248678B2 (en) * | 2015-08-25 | 2019-04-02 | International Business Machines Corporation | Enabling placement control for consistent hashing-based object stores |
US9787581B2 (en) | 2015-09-21 | 2017-10-10 | A10 Networks, Inc. | Secure data flow open information analytics |
US10469594B2 (en) | 2015-12-08 | 2019-11-05 | A10 Networks, Inc. | Implementation of secure socket layer intercept |
US10291470B1 (en) * | 2016-07-01 | 2019-05-14 | Juniper Networks, Inc. | Selective storage of network device attributes |
US10812348B2 (en) | 2016-07-15 | 2020-10-20 | A10 Networks, Inc. | Automatic capture of network data for a detected anomaly |
US10341118B2 (en) | 2016-08-01 | 2019-07-02 | A10 Networks, Inc. | SSL gateway with integrated hardware security module |
US10382562B2 (en) | 2016-11-04 | 2019-08-13 | A10 Networks, Inc. | Verification of server certificates using hash codes |
US10250475B2 (en) | 2016-12-08 | 2019-04-02 | A10 Networks, Inc. | Measurement of application response delay time |
US10397270B2 (en) | 2017-01-04 | 2019-08-27 | A10 Networks, Inc. | Dynamic session rate limiter |
US10187377B2 (en) | 2017-02-08 | 2019-01-22 | A10 Networks, Inc. | Caching network generated security certificates |
US10735268B2 (en) | 2017-04-21 | 2020-08-04 | System73 Ltd. | Predictive overlay network architecture |
US11606263B2 (en) * | 2017-10-17 | 2023-03-14 | Science Applications International Corporation | Large network simulation |
US10803196B2 (en) * | 2018-03-30 | 2020-10-13 | Microsoft Technology Licensing, Llc | On-demand de-identification of data in computer storage systems |
WO2020081727A1 (en) * | 2018-10-16 | 2020-04-23 | Eluvio, Inc. | Decentralized content fabric |
JP7074018B2 (ja) * | 2018-10-22 | 2022-05-24 | 日本電信電話株式会社 | 分散処理システムおよび分散処理方法 |
CN113132147B (zh) * | 2020-01-15 | 2024-06-21 | 伊姆西Ip控股有限责任公司 | 管理网络中的节点的方法、设备和计算机程序产品 |
GB2592211A (en) * | 2020-02-19 | 2021-08-25 | Nchain Holdings Ltd | Adapting connections of a layered network |
GB2594684A (en) | 2020-02-19 | 2021-11-10 | Nchain Holdings Ltd | Layered network |
US11949595B2 (en) * | 2020-06-26 | 2024-04-02 | Intel Corporation | Reflection routing as a framework for adaptive modular load balancing for multi-hierarchy network on chips |
US11256678B2 (en) * | 2020-06-30 | 2022-02-22 | EMC IP Holding Company LLC | Reconstruction of links between logical pages in a storage system |
US11775530B2 (en) * | 2020-12-08 | 2023-10-03 | Huawei Technologies Canada Co., Ltd. | Method to improve global query performance in an edge network |
CN115277864B (zh) * | 2022-07-27 | 2024-01-26 | 海通证券股份有限公司 | 路由确定方法及装置、计算机可读存储介质、终端 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4142069A (en) | 1977-06-20 | 1979-02-27 | The United States Of America As Represented By The Secretary Of The Army | Time reference distribution technique |
US5253248A (en) | 1990-07-03 | 1993-10-12 | At&T Bell Laboratories | Congestion control for connectionless traffic in data networks via alternate routing |
ES2129038T3 (es) | 1992-11-27 | 1999-06-01 | Ibm | Encaminamiento a destinos multiples entre dominios. |
JP3425192B2 (ja) * | 1993-08-25 | 2003-07-07 | 富士通株式会社 | アドレス情報の自動設定処理方法およびアドレス情報の設定装置 |
US5978364A (en) | 1996-02-29 | 1999-11-02 | Philips Electronics North America Corporation | Method for routing data packets within a wireless, packet-hopping network and a wireless network for implementing the same |
US5970489A (en) * | 1997-05-20 | 1999-10-19 | At&T Corp | Method for using region-sets to focus searches in hierarchical structures |
US6029168A (en) | 1998-01-23 | 2000-02-22 | Tricord Systems, Inc. | Decentralized file mapping in a striped network file system in a distributed computing environment |
US6667957B1 (en) * | 1998-03-14 | 2003-12-23 | University Of Maryland | Adaptive routing method for a dynamic network |
US6522632B1 (en) * | 1998-05-06 | 2003-02-18 | Avici Systems | Apparatus and method for efficient prefix search |
US6430527B1 (en) * | 1998-05-06 | 2002-08-06 | Avici Systems | Prefix search circuitry and method |
US6975631B1 (en) * | 1998-06-19 | 2005-12-13 | Juniper Networks, Inc. | Network packet forwarding lookup with a reduced number of memory accesses |
US6249813B1 (en) | 1998-08-06 | 2001-06-19 | Mci Communications Corporation | Automated method of and apparatus for internet address management |
US6611872B1 (en) | 1999-01-11 | 2003-08-26 | Fastforward Networks, Inc. | Performing multicast communication in computer networks by using overlay routing |
US6338082B1 (en) * | 1999-03-22 | 2002-01-08 | Eric Schneider | Method, product, and apparatus for requesting a network resource |
US6836463B2 (en) * | 1999-10-15 | 2004-12-28 | Nokia Corporation | System for communicating labeled routing trees to establish preferred paths and source routes with local identifiers in wireless computer networks |
US6490592B1 (en) | 1999-12-30 | 2002-12-03 | Nortel Networks Limited | Method of and apparatus for generating a tree data structure supporting longest match lookup |
US7412462B2 (en) | 2000-02-18 | 2008-08-12 | Burnside Acquisition, Llc | Data repository and method for promoting network storage of data |
US6636854B2 (en) * | 2000-12-07 | 2003-10-21 | International Business Machines Corporation | Method and system for augmenting web-indexed search engine results with peer-to-peer search results |
US7188145B2 (en) * | 2001-01-12 | 2007-03-06 | Epicrealm Licensing Llc | Method and system for dynamic distributed data caching |
US7043644B2 (en) * | 2001-01-31 | 2006-05-09 | Qurio Holdings, Inc. | Facilitating file access from firewall-protected nodes in a peer-to-peer network |
US20020116533A1 (en) * | 2001-02-20 | 2002-08-22 | Holliman Matthew J. | System for providing a multimedia peer-to-peer computing platform |
US7149797B1 (en) * | 2001-04-02 | 2006-12-12 | Akamai Technologies, Inc. | Content delivery network service provider (CDNSP)-managed content delivery network (CDN) for network service provider (NSP) |
US7065587B2 (en) | 2001-04-02 | 2006-06-20 | Microsoft Corporation | Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith |
US7310666B2 (en) * | 2001-06-29 | 2007-12-18 | International Business Machines Corporation | Method and system for restricting and enhancing topology displays for multi-customer logical networks within a network management system |
US20030110252A1 (en) * | 2001-12-07 | 2003-06-12 | Siew-Hong Yang-Huffman | Enhanced system and method for network usage monitoring |
JP4154893B2 (ja) | 2002-01-23 | 2008-09-24 | 株式会社日立製作所 | ネットワークストレージ仮想化方法 |
US20030196024A1 (en) * | 2002-04-16 | 2003-10-16 | Exanet, Inc. | Apparatus and method for a skip-list based cache |
US7096228B2 (en) * | 2002-03-27 | 2006-08-22 | Microsoft Corporation | Method and system for managing data records on a computer network |
KR100429900B1 (ko) * | 2002-05-07 | 2004-05-03 | 한국전자통신연구원 | IPv4 주소체계 확장방법 및 확장된 IPv4주소체계를 이용하여 계층적으로 레이블을 스위칭하는방법 및 그 기록매체 |
US7089323B2 (en) * | 2002-06-21 | 2006-08-08 | Microsoft Corporation | Method for multicasting a message on a computer network |
US7266082B2 (en) * | 2002-08-30 | 2007-09-04 | Hewlett-Packard Development Company, L.P. | Expressway routing among peers |
US7554988B2 (en) * | 2002-09-10 | 2009-06-30 | Hewlett-Packard Development Company, L.P. | Creating expressway for overlay routing |
-
2003
- 2003-02-03 US US10/356,961 patent/US7613796B2/en not_active Expired - Fee Related
- 2003-09-08 JP JP2003316039A patent/JP4358581B2/ja not_active Expired - Fee Related
- 2003-09-11 EP EP03020712A patent/EP1398924B1/en not_active Expired - Lifetime
- 2003-09-11 EP EP08010538A patent/EP1968257A3/en not_active Withdrawn
- 2003-09-11 AT AT03020712T patent/ATE399416T1/de not_active IP Right Cessation
- 2003-09-11 DE DE60321759T patent/DE60321759D1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US7613796B2 (en) | 2009-11-03 |
EP1968257A2 (en) | 2008-09-10 |
US20040054807A1 (en) | 2004-03-18 |
JP2004266796A (ja) | 2004-09-24 |
EP1968257A3 (en) | 2008-09-17 |
EP1398924A2 (en) | 2004-03-17 |
EP1398924A3 (en) | 2004-05-19 |
DE60321759D1 (de) | 2008-08-07 |
EP1398924B1 (en) | 2008-06-25 |
ATE399416T1 (de) | 2008-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4358581B2 (ja) | 効率的な分散データ構造を備えた改良されたオーバレイネットワークを生成するシステムおよび方法 | |
Harvey et al. | {SkipNet}: A Scalable Overlay Network with Practical Locality Properties | |
Jafari Navimipour et al. | A comprehensive study of the resource discovery techniques in Peer-to-Peer networks | |
Ratnasamy et al. | A scalable content-addressable network | |
Lua et al. | A survey and comparison of peer-to-peer overlay network schemes | |
Wang et al. | Peer-to-peer overlay networks: A survey | |
Ratnasamy et al. | Routing algorithms for DHTs: Some open questions | |
KR101183050B1 (ko) | 자기조직화 네트워크들을 위한 분산 해싱 메커니즘 | |
EP1351141B1 (en) | Method and system for managing data records on a computer network | |
Zhang et al. | Distributed hash table: Theory, platforms and applications | |
Gupta et al. | Efficient and adaptive epidemic-style protocols for reliable and scalable multicast | |
Confais et al. | Data location management protocol for object stores in a fog computing infrastructure | |
Al-Oqily et al. | SORD: A fault-resilient service overlay for mediaport resource discovery | |
Vishnevsky et al. | Scalable blind search and broadcasting over distributed hash tables | |
Zeinalipour-Yazti | Information retrieval in peer-to-peer systems | |
Bauer et al. | Replica placement and location using distributed hash tables | |
Confais et al. | SToN: A New Fundamental Trade-off for Distributed Data Storage Systems | |
Richa et al. | Overlay networks for peer-to-peer networks | |
Sethom et al. | Palma: A P2P based Architecture for Location Management | |
Fantar et al. | Exploiting locality using geographic coordinates and semantic proximity in Chord | |
Mischke et al. | Design space for distributed search (DS) ²: a system designers' guide | |
Zheng et al. | Peer-to-peer: A technique perspective | |
Xu et al. | Enhancing Routing Robustness of Unstructured Peer-to-Peer Networks Using Mobile Agents | |
Cojocar | BBUFs: A new lookup mechanism based on IPV6 | |
Mary et al. | Peer-to-Peer Overlays: Issues and Trends |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060814 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090501 |
|
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: 20090710 |
|
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: 20090806 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4358581 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: 20130814 Year of fee payment: 4 |
|
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 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |