JP2005502289A - ディレクトリサービスを有するスケーラブルピアツーピアネットワーク - Google Patents
ディレクトリサービスを有するスケーラブルピアツーピアネットワーク Download PDFInfo
- Publication number
- JP2005502289A JP2005502289A JP2003527943A JP2003527943A JP2005502289A JP 2005502289 A JP2005502289 A JP 2005502289A JP 2003527943 A JP2003527943 A JP 2003527943A JP 2003527943 A JP2003527943 A JP 2003527943A JP 2005502289 A JP2005502289 A JP 2005502289A
- Authority
- JP
- Japan
- Prior art keywords
- peer
- group
- peers
- resource
- resources
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
-
- 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/1044—Group management mechanisms
-
- 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/1068—Discovery involving direct consultation or announcement among potential requesting and potential source peers
-
- 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/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1854—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
-
- 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)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
【0001】
本発明は、請求項1の上位概念に記載された、スケーラブルピアツーピアネットワークにおけるディレクトリサービス形成方法に関する。
【0002】
例えばNapster,Gnutella,Freenetなどの公知のスケーラブルピアツーピアネットワーク、すなわちペアの個数が制限されていないピアツーピアネットワークにおいて、ピアすなわち計算機は、使用登録し、使用登録した全ピア内でファイルを検索したり、および/または別のピアによるアクセスに対してそれ自体でファイルを公開する(いわゆるファイル共有)ことが可能である。
【0003】
ここで集中形のピアツーピアネットワークにおいて、複数のピアは1つまたは複数の中央のサーバにおいて使用登録され、またこれらのピアによって公開されたファイルは、1サーバで動作するディレクトリサービスによって登録される。
【0004】
所定のファイルの検索に対してピアは、相応する検索問い合わせをサーバに行い、これに基づきこのサーバは、このファイルを公開しているピアのリストをこのピアに送信する(ディレクトリサービス)。つぎに検索しているピアは、これらのピアのうちの1つを選択して、このピアにファイルを直接要求するか、ないしはこれから直接ダウンロードするのである。
【0005】
例えばNapster,iMesh,Audiogalaxy,Songspyなどの集中形のピアツーピアネットワークにおいて欠点であるのは、中央のサーバの利用可能性に依存することであり、この中央のサーバがなければ、ディレクトリサービスは機能せず、ひいては使用登録も、登録も、公開されたファイルの検索も共に機能しないのである。
【0006】
さらにディレクトリサービスに対して、中央のサーバがない非集中形のピアツーピアネットワークもある。ここではピアは、ネットワークの別のピアを動的に見つけてこれと通信して、データおよび情報を交換する。このような非集中形のネットワークの機能および利用可能性は有利にも、中央のサーバの機能および利用可能性に依存しない。しかしながらピアは、それ自体で行き着かなければならない。これは通例、局所的であり所定の近さの内側だけでしか行われないか(例えば最大のホップカウントを有するIPマルチキャスティングによる)、または前もって分かっているピアのリストを介してしか行われない。ここでこのリストは、手で作成されるかまたは専用のサーバに要求される。
【0007】
このため、非集中形のピアツーピアネットワークには独立したルーティングプロトコルが必要であり、このプロトコルによってデータを種々異なるピアを介してルーティングするのである。ファイルの検索に対してピアは、検索問い合わせをそのピアに既知のピアに伝達し、このピアはピアで同じようにする。このようにして、ネットワーク全体(すべてのピア)は検索問い合わせで満たされ、この検索問い合わせに相応するファイルを公開していた各ピアは、この検索を開始したピアにこのことを通知するのである。これに基づき、検索したピアは、これらのピアの1つを選択して、ファイルをこのピアに要求することができるのである。
【0008】
例えばGnutella,KaZaA,Freenet,MojoNation,Edonkey2000などのこのような非集中形のピアツーピアネットワークではディレクトリサービスは提供されない。すなわち、公開されたファイルについての情報を有する呼出可能なリストはネットワークに存在しないのである。このような非集中形のピアツーピアネットワークにおける検索は、ネットワーク全体が満たされる必要があることにより、比較的時間を多用しまた効率も悪い。
【0009】
したがって本発明の課題は、ピアツーピアネットワークにおけるディレクトリサービス形成方法を提供して、公開された資源の高速かつ効率的な検索を可能にし、またピアツーピアネットワークの高い利用可能性および動作を保証することである。
【0010】
この課題は、本発明により、請求項1,10および11の特徴的構成を有する方法、コンピュータプログラム製品およびこのようなコンピュータプログラム製品を有するデータ担体によりそれぞれ解決される。
【0011】
ディレクトリサービスを複数のグループに分けることによって、検索問い合わせを高速かつ効率的に相応するグループに伝達し、応答をもらうことができ、その際にネットワーク全体の利用可能性および動作が中央の1サーバに依存することがない。
【0012】
ここでは資源の公開または資源の検索のための問い合わせは、ピアツーピアネットワークの一部のピアだけに伝達するだけでよいため、ネットワーク全体が満たされるのに比して、検索または公開の効率および速度が有利にも増大する。しかしながら同時に(極めて確率の低い)1グループまるごとのダウンにより、ピアツーピアネットワーク全体が動作不能になってしまうこともない。
【0013】
1グループまるごとのダウンは本発明により防止することでき、ここでこれは複数のグループメンバーが同じ情報を記憶することによって行われる。このようにグループを構成することにより、有利にも1グループ内で情報の冗長性が得られるため、1グループの個々の計算機のダウンにより、公開されたファイルについて情報(ディレクトリ)が失われてしまうことがない。
【0014】
本発明の有利な実施形態において、1グループへの資源の割り当ては、割り当てルール、例えばハッシュ法を介して行われ、このルールを用いて、割り当て値、例えばハッシュ値が、所定の制限された値域から、資源ないしはその既知のパラメタに依存して計算される。
【0015】
ここでパラメタとして例えば、資源の種類、資源の名称などを使用可能である。例えば、公開すべき資源としてのファイルに対して(ファイル共有アプリケーション)16ビット幅(すなわち0〜65535の値域ないしはアドレス空間から)のハッシュ値をファイル名ないし名前の部分から計算することが考えられる。
【0016】
このような割り当ては必ずしも一意的である必要はなく、ちょうど1つの割り当て値、例えばハッシュ値を1つのグループが一意的に管轄する場合であっても、1つのグループはふつう複数の資源を管轄する。
【0017】
本発明の有利な実施形態では、上記のように計算される割り当て値は、例えばアドレステーブルによって、一意的にただ1つのマルチキャストIPアドレスにマッピングされ、ここで1グループは1マルチキャストIPアドレスだけを管轄し、各問い合わせは、管轄の1つまたは複数のグループにそれぞれ伝達される。
【0018】
しかしながらつぎようにすることも当然考えられる。すなわち複数のマルチキャストIPアドレスまたは所定の既知のアドレス空間からなる全領域を1グループに割り当てることも当然考えられる。この際に相応にあらかじめ定めた限界値ないしは閾値を介して、これらのグループの大きさおよび効率をそれ自体で管理することもできる。例えば考えられるのは、ピアの1グループが、最大の大きさ(ピアの個数)に達した際に2つのグループに分割され、各グループが、同様に分割された(例えば半分にされた)アドレス領域を管轄することである。この場合、このような新たな分割を付加情報として各対話(検索問い合わせ、使用登録および資源の公開)の際に伝達することができ、これにより、ここでも各問い合わせが1つまたは複数の管轄のグループだけにそれぞれ伝達されるのである。
【0019】
問い合わせの伝達(公開または検索)は、本発明によれば、有利にはIPマルチキャスティングを用いて、例えばIPベースの比較的大きなネットワーク内で、有利にはインターネット上で行われる。これにより有利にも検索は、公知のピアツーピアルーティングに比べて高速かつ効率的に行われる(アプリケーションレベルでのルーティングはもはや行われない)。
【0020】
本発明の有利な実施形態では、(公開された資源、対応するピアないしはそれらのIPアドレスなどについての)情報は、1グループ内で複数のピアの冗長に設けられる。これにより、1グループ内の個々のピアまたは複数のピアがダウンした際にもこのグループの動作は維持され有利である。
【0021】
本発明の別の実施形態では、管轄のグループ内で、選択された1つのピアだけが問い合わせ(検索または公開)に応答する。このため、全グループメンバと対話するのに比べて問い合わせまたは結果の速度を増大させることができ有利である。応答するないしは対話を行うピアの選択は、例えば、距離の測定基準を介して(例えば最も小さなホップカウントまたは類似のもの)またはあらかじめ定めた物のルール、例えばグループの最初のメンバ(最初に使用登録したメンバ)によって行われる。
【0022】
本発明の別の実施形態において、資源の通知ないしは公開の際に新たなピアに通知されるのは、IPマルチキャストによって問い合わせを伝達した1つまたは複数のグループの能動的なメンバまたは受動的なメンバのいずれにこのピアがなるべきであるかである。この際に能動的または受動的なメンバについての判断は、有利にはグループの負荷ないしは最大負荷に依存し、これは、通例のメカニズムを介して個々のパラメタ(検索問い合わせの数、伝送速度)からまたはこれらの任意の組み合わせから得られるものである。あらかじめ定めた負荷の所定の閾値を上回る場合、使用登録の際に新たなピアに通知されるのは、このピアがこのグループの能動的なメンバになるべきであり、このピアがこのグループの情報を伝送することである。
【0023】
上記の閾値と同じとすることができるが必ずしもそのようにする必要のない所定の閾値を負荷が下回る場合、使用登録の際に新たなピアに通知されるのは、このピアがこのグループの受動的なメンバにだけなれることである。このような受動的なメンバは、例えば、(例えば問い合わせ時点または別の判定基準にしたがってソートされる)待ちリストに導かれ、グループの負荷の閾値を上回った場合、順番に能動化される。
【0024】
本発明の別の実施形態では、個々の能動的なグループメンバ(ピア)は、その固有の(ピアの)負荷の限界値に達した場合または動作障害の場合にこのグループの受動的なメンバにされ、場合によっては別の受動的なメンバによって置き変えられることがある。例えば、それはこのグループの最大負荷の限界値がこれによって上回ってしまったか、または基本的な交換ルールが存在するからである。
【0025】
本発明の別の有利な実施形態は従属請求項に記載されている。
【0026】
本発明を以下、図面に示した実施例に基づいて詳しく説明する。図面において、
図1は、本発明による分散形ディレクトリサービスを有するピアツーピアネットワークにおいて、新たなピアの資源を登録および公開するための流れ図(資源登録およびグループ形成)を示しており、
図2は、本発明による分散形ディレクトリサービスを有するピアツーピアネットワークにおいて、資源を検索するための流れ図(資源検索および伝送)を示している。
【0027】
この実施例に示されているのは本発明の方法であり、これはファイル共用の適用、すなわちファイルを共同で理由できるようにすることにも基づいている。ここでハッシュ値は、例えば16ビット幅であり、ファイル名の個々の語から生成される(例えば、Javaのストリングクラスの標準アルゴリズムのような標準アルゴリズムによる)。マルチキャストIPアドレス領域として、この実施例では239.192.0.0〜239.192.255.255が選択され、これはIANAより組織内部の適用に対してリザーブされており(RFC2365)、例えば任意の会社は自由に使用可能である。
【0028】
以下では、ピアがネットワークにどうのようにして入れられるか、ピアがその公開したファイルをこのネットワークにどのように登録するか(図1)、このネットワーク内で検索がどのように行われる(図2)かの過程を図1および図2に記載した流れ図にしたがって詳しく説明する。
【0029】
図1に記載のファイルの登録ないしは公開
ファイルを利用可能にするため、ピアはそのハッシュ値を計算し(すなわち、例えば、"Killer Queen"なる名前に基づいて、ないしは空白文字またはあらかじめ定めた別の分離文字によって分離される名前の構成部分"Killer"および"Queen"に基づいて、Javaのストリングクラスのハッシュ関数を用いて計算し)、登録問い合わせ"Multicast Register Resource(Killer Queen)"を、対応するマルチキャストアドレスに送信する。ここでこのマルチキャストアドレスは、このピアにより、このピアに存在するアドレステーブルから一意的に求められる。
【0030】
ここで新しいピアには、マッピングルール(資源に依存してハッシュ値を求め、相応するマルチキャストIPアドレスにマッピングすること)だけでなく、ハッシュ値の値域も、マルチキャストIPアドレスのアドレス空間も(例えば、このピアで動作するクライアントソフトウェアの形態で)既知である。
【0031】
ここでは上記の登録問い合わせにより、公開する資源の名称、例えばファイル"Killer Queen"およびこのピアの固有のIPアドレス、例えば138.24.67.88に付加的に、一意の識別情報、例えば、パケット(登録パケット)におけるいわゆるUUID(Universal Unique Identifier)を伝達することも可能である。
【0032】
別のピアがこのマルチキャストIPアドレスをまだ管轄していないか、ないしは担当していない場合、(この別のピアに対してタイムアウト(Timeout)、例えば"Timer > 1min"に基づいて識別されるか、ないしは相応する応答パケットがなく、場合によって失敗の繰り返し(あらかじめ定めた試行回数)の後はじめて)、当該のピアは以降、このマルチキャストIPアドレスへの検索および登録問い合わせをそれ自体で管理する。
【0033】
このためにこのピアはIPマルチキャスト"Join Group"パケットを送信して、このマルチキャストアドレスに当てられるパケットを受け取り、ないしは公開する自身の資源(上に挙げた付加情報、すなわちIPアドレス、名称などを含d)をその(グループ)資源テーブルに記入する。
【0034】
上記とは異なる場合、このピアは、このグループの少なくとも1つのピアによるその登録問い合わせの確認"Unicast Register Response"を受け取り、これによってこのピアが能動的または受動的なグループメンバのどちらになるか、すなわちこのピアが、以降、このマルチキャストIPアドレス宛の問い合わせを処理すべきであるのか、または待ちリストに記入されて、場合によってはのちに、このマルチキャストIPアドレスに対応付けられた情報の能動的な管理者のグループに入れられるのいずれであるかという通知を受け取るのである。能動的または受動的なメンバ資格についての判定は、ここでこのグループの負荷(CPU負荷、記憶容量など)に依存して行われる。
【0035】
ピアが能動的な管理者になる場合、このピアは、このグループへの"Multicast Group Join Request"の後、登録された資源についての目下の情報"Unicast Resource List Update"と、少なくとも1つのグループメンバとについての目下の情報を受け取る(例えば、ftpを介した別のグループメンバの資源テーブルのダウンロードおよびユニキャストによる資源テーブルの更新)。ここで上記の少なくとも1つのグループメンバは、あらかじめ定めた選択方式によって求めた別の能動的なグループメンバである。
【0036】
ピアのネットワークコネクションまたはシステム資源が、1つまたは複数のグループに所属することによって、例えばCPUの高負荷、記憶容量が少なすぎることなどによって過負荷になると、このピアはトリガを行って、受動的なグループメンバになることが可能である。
【0037】
上で(図1の上半分で)説明した問い合わせたピアの問い合わせに対するこのグループないしは1グループの少なくとも1つのピアのアクションないしはリアクションが、わかりやすくするため図1の下半分に流れ図として示されている。これによると、(登録)問い合わせをしたピアは、管轄でありかつグループが過負荷でない場合だけ、応答"Unicast Register Response"により、能動的なメンバになる(Join = true)という応答を受け取る。そうでなければ、問い合わせたピアは、図示のように待ちリストに記入される。
【0038】
例:
ピア「xyz」はファイル"Killer Queen"を公開したい、とする。このピアは、2つの語に対してハッシュ値を生成する。"Killer"に対してはハッシュ値を12345とし、"Queen"に対してはこれを42424とする。ここでこのピアは、登録情報をマルチキャストIPアドレス(12345->)239.192.48.57および(42424->239.192.165.184)に送信する。このピアがその元々の情報に対して得た応答ならびにその負荷状態に基づき、このピアは、これらのマルチキャストIPアドレスに割り当てられた2つのグループにおいて能動的または受動的なメンバになるのである。
【0039】
図2に記載のファイル検索
ピアはファイルをその「キーワード」、例えば"Killer"または"Queen"に基づいて探すことができる。ピアが例えばファイル名に"Queen"を有するファイルを検索する場合、このピアはこの語に対するハッシュ値(42424)を生成し、例えばアドレステーブルを用いてこのハッシュ値に対するマルチキャストIPアドレス(239.192.165.184)を求め、ファイル名に"Queen"またはこの実施例のように"Killer Queen"を有するファイルを求める問い合わせ"Multicast Query Resource (Killer Queen)"を、IPベースのネットワークを介して上記のマルチキャストIPアドレスに送信し、応答(Unicast Query Response)を待つ。ここで上記の送信は、例えば、固有のIPアドレス,UUIDなどの別の情報を有するパケットとして行われる。
【0040】
該当するグループ内では(例えば、ラウンドロビン方式またはこれと類似の所定の選択ルールにしたがって)1つまたは複数のピアが選択され、これらのピアは、検索問い合わせ"Multicast Query Resource (Killer Queen)"に"Unicast Query Reponse"で応答し、問い合わせたピアにピアのリストを与える。これらのピアからこのピアはファイル名に"Queen"を有するファイルを直接受け取ることができる。
【0041】
応答"Unicast Query Response"に例えばグループがないか、またはあらかじめ定めた時間インターバル内に、例えばTimer < 1minに到着しない失敗の伝送エラーの場合、問い合わせたピアでは、場合によっては所定の回数、繰り返しを試行した後、結果として「該当するものが見つからない」が出力される。
【0042】
図2の下半分に示したように、問い合わせたピアは、これらのピアの1つまたは複数に直接の問い合わせ"Unicast Resource Request"(IPユニキャスティング)を開始して、あらかじめ定めた制限時間"Timer = 30 sec"内にコネクションが成功した際には、検索した資源、例えばファイル"Killer Queen"を有する応答"Unicast Resource Response"を受け取ることができる。
【0043】
例えば、検索したピアがオフラインであるかまたは別のコネクションエラーのため、タイマを用いて監視される制限時間を超過した場合、問い合わせたピアは、これらのピアまたは伝達されたリストの別のピアに、別途または後に状況が変わった場合にコネクション問い合わせ"Unicast Resource Request"を行うことできる。
【0044】
以下では、この実施例で使用した方法を詳しく説明する。
【0045】
ハッシュ法
ピアが公開したい資源毎に1つまたは複数のハッシュ値が(決まった範囲ないしはアドレス空間で、例えば16ビットのハッシュ値では0〜65535で)生成される。これはすべてのピアに既知であるハッシュ関数によって行われる。資源は例えばファイルとすることが可能であり、ハッシュ値はこの場合にファイル名から(より有利には名前の個々の「語」から)生成される。しかしながらハッシュ値は、資源を特徴付ける別のパラメタからなる組み合わせまたはこれらを個々に使用することによって形成することも可能であり、これらのパラメタは、例えば、分散形サービスに対するサービス名(Jini,.NETなど)、ファイルの種類ないしは拡張子(.doc,.mp3,.jpg,.mpgなど)その他である。これにより、本発明の方法はファイル共用の適用に限定されず、任意のサービス(プリンタ共用、モデム共用など)に使用可能である。
【0046】
ハッシュ値毎にピアのグループがちょうど1つ存在し、このグループがこのハッシュ値を管轄する。
【0047】
所定のハッシュ値を有する資源は、このハッシュ値に割り当てられているピアのグループにおいて登録される。ここでは1グループは、この実施例におけるのと同様に1つのハッシュ値だけを管轄する。しかしながら上述のように本発明の別の実施形態を考えることができ、ここでは1グループが、所定の範囲(例えば32768〜65535)の複数のハッシュ値を管轄する。
【0048】
ピアは、資源のハッシュ値毎にこの資源をグループにおいて登録する。ここでグループはこのハッシュ値を管轄するグループである。
【0049】
検索問い合わせに対しても同様にハッシュ値が生成される。このハッシュ値に対して、管轄のグループが求められ、これに対して検索問い合わせが行われる。グループないしは相応するルール(ランクリスト、問い合わせを行ったピアに最も近いないしホップカウントの最も小さい)によって選択されたこのグループのピアは、検索したピアに検索の結果を直接伝達する。
【0050】
この実施例では割り当てルールとしてハッシュ法を選択したが、ハッシュ法について上述したステップを転用することができる任意の割り当て方法を使用することも当然考えられる。このため本発明はハッシュ法の使用には制限されない。
【0051】
グループ形成
ピアの各グループには所定の範囲の1マルチキャストIPアドレスが割り当てられる。この範囲の大きさは、使用するハッシュ値(例えば16ビットのハッシュ値ではマルチキャストIPアドレスはx.y.0.0〜x.y.255.255の範囲が必要である)から得られる。
【0052】
ピアが資源を利用可能にしたい場合、このピアはこの資源のハッシュ値を求め、所属のマルチキャストIPアドレスにこの資源の位置を発表する。このマルチキャストIPアドレスへのメッセージを管轄する受信者が存在しない場合、このピアそれ自体がこのアドレスを管轄し、以降、到来する登録メッセージおよび検索問い合わせを処理する。このマルチキャストグループに資源を登録する別のピアは、このグループにおける資源の管理をサポートする。新たな資源をグループに登録するピアは、すでに十分な管理者がこのグループの資源を管轄するようになった後では、待ちリストにおいて管理され、過負荷の際にはこのグループをサポートしてダウンしたグループメンバを置き換えることができる。
【0053】
最も簡単なケースでは、マルチキャストグループへの検索問い合わせにグループの全メンバが応答する。有利な(例えば距離の)測定基準を用いて、応答するグループメンバを決定することにより、処理の効率を向上させることができる。使用する測定基準を考慮して、問い合わせの負荷に(待機しているピアのプールから)グループのメンバの数を適合させることにより、個々のピアの過負荷が回避されそれ自体で管理を行うバランスのとれたシステムが得られ有利である。
【0054】
ピアをブートストラップする際にも資源を検索する際にも共に必要となる、与えられたハッシュ値を管轄するマルチキャストグループの探索のため、種々の方法が考えられる。範囲およびマルチキャストIPアドレスを適切に設定すると、対数的な繁雑さを有する力ずく("Brute-Force")メカニズムが可能である。場合によってはバックボーンにおいてIPルータにより直接支援して、"Valid Address Table"を複製することにより、この繁雑さをただ1つの要求にまで低減することが可能である。
【0055】
上に説明した本発明の方法により、ディレクトリサービスはいずれの場合(すべての実施例)にも、複数のピアに基本的に自動的に分散され有利である。ここでこれらのピアは、このネットワークにおいて使用登録するピアである。この際にディレクトリは、公開される資源が増加すると(このネットワークのピアが増大すると、通例それだけより多くのファイルが登録される)、同時に個数が増えた所要のピアに分割されるのである。これにより、非集中形のネットワークとは異なり、検索問い合わせは全ピアツーピアネットワークに満たされることはなく、該当するファイルについての情報を有するピアに所期のように宛てられる。ここではシステムは、利用可能な資源(ピア、公開されるファイル)に自動的に適合化される。
【図面の簡単な説明】
【0056】
【図1】本発明による分散形ディレクトリサービスを有するピアツーピアネットワークにおいて、新たなピアの資源を登録および公開するための流れ図である。
【図2】本発明による分散形ディレクトリサービスを有するピアツーピアネットワークにおいて資源を検索するための流れ図である。
Claims (11)
- スケーラブルピアツーピアネットワークにおけるディレクトリサービス形成方法において、
少なくとも1つのピアを有するグループに該ディレクトリサービスを分割して複数の部分集合にし、
資源を公開および/または資源を検索問い合わせするため、割り当てルールを介し、前記資源に依存して、あらかじめ定めたアドレス空間から割り当て値を形成し、
各割り当て値をただ1つのグループによって管轄し、
前記の資源の公開または資源の検索問い合わせを前記の管轄グループだけに伝達することを特徴とする、
ディレクトリサービス形成方法。 - 前記の管轄グループだけに宛てられる前記の資源の公開または資源の検索問い合わせをIPマルチキャスティングによって行う、
請求項1に記載の方法。 - 1グループに1つのマルチキャストIPアドレスを割り当てる、
請求項2に記載の方法。 - 割り当てルールとしてハッシュ法を使用し、
該ハッシュ法を用いて、割り当て値としてハッシュ値を計算する、
請求項1から3までのいずれか1項に記載の方法。 - 前記のマルチキャストIPアドレスへのハッシュ値の一意的な割り当てを、有利にはアドレステーブルによって行う、
請求項4に記載の方法。 - 複数のピアを有するグループ内に、公開された資源および所属のピアについての情報を冗長に設ける、
請求項1から5までのいずれか1項に記載の方法。 - 前記の管轄グループ内では選択されたただ1つのピア、有利には最初のピア、またはホップカウントを介して決定される隣のピアだけが応答する、
請求項1から6までのいずれか1項に記載の方法。 - 資源を公開する際に、存在する管轄グループの負荷に依存してピアを当該グループに能動的に加えるか、またはピアを受動的に待ちリストに設定する、
請求項1から7までのいずれか1項に記載の方法。 - ピアをその負荷に依存して、グループの能動的なメンバから受動的なメンバに変更する、
請求項8に記載の方法。 - コンピュータプログラム製品において、
該コンピュータプログラム製品は、計算装置の作業用メモリにロードされ、
前記コンピュータプログラム製品が計算装置にて動作する場合、請求項1から9までのいずれか1項に記載の方法を実行するためのソフトウェアコードを有することを特徴とする
コンピュータプログラム製品。 - データ担体において、
請求項10に記載のコンピュータプログラム製品を有することを特徴とする、
データ担体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10143754A DE10143754A1 (de) | 2001-09-06 | 2001-09-06 | Skalierbares Peer-to-Peer-Netzwerk mit einem Verzeichnisdienst |
PCT/DE2002/003271 WO2003024021A2 (de) | 2001-09-06 | 2002-09-04 | Skalierbares peer-to-peer-netzwerk mit einem verzeichnisdienst |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005502289A true JP2005502289A (ja) | 2005-01-20 |
JP4170905B2 JP4170905B2 (ja) | 2008-10-22 |
Family
ID=7697956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003527943A Expired - Fee Related JP4170905B2 (ja) | 2001-09-06 | 2002-09-04 | ディレクトリサービスを有するスケーラブルピアツーピアネットワーク |
Country Status (5)
Country | Link |
---|---|
US (1) | US8266216B2 (ja) |
EP (1) | EP1423964B1 (ja) |
JP (1) | JP4170905B2 (ja) |
DE (1) | DE10143754A1 (ja) |
WO (1) | WO2003024021A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008140388A (ja) * | 2006-11-23 | 2008-06-19 | Ntt Docomo Inc | 階層型ピアツーピアシステムにおける負荷バランシング機能を有するスーパーピア及び該スーパーピアを動作させる方法 |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040055008A1 (en) * | 2001-05-23 | 2004-03-18 | Hidekazu Ikeda | Broadcast program display method, broadcast program display apparatus and broadcast receiver |
US7054867B2 (en) | 2001-09-18 | 2006-05-30 | Skyris Networks, Inc. | Systems, methods and programming for routing and indexing globally addressable objects and associated business models |
US20030182428A1 (en) * | 2002-03-19 | 2003-09-25 | Jiang Li | Peer-to-peer (P2P) communication system |
US7516482B2 (en) * | 2003-07-21 | 2009-04-07 | Microsoft Corporation | Secure hierarchical namespaces in peer-to-peer networks |
US7457288B2 (en) * | 2003-12-26 | 2008-11-25 | Electronics And Telecommunications Research Institute | Relay multicast system and method for providing efficient group communication service |
US7552175B2 (en) * | 2004-04-30 | 2009-06-23 | Microsoft Corporation | Mechanism for controlling communication paths between conference members |
US20070133520A1 (en) * | 2005-12-12 | 2007-06-14 | Microsoft Corporation | Dynamically adapting peer groups |
US7640299B2 (en) | 2004-09-30 | 2009-12-29 | Microsoft Corporation | Optimizing communication using scaleable peer groups |
US7613703B2 (en) | 2004-09-30 | 2009-11-03 | Microsoft Corporation | Organizing resources into collections to facilitate more efficient and reliable resource access |
US8549180B2 (en) * | 2004-10-22 | 2013-10-01 | Microsoft Corporation | Optimizing access to federation infrastructure-based resources |
FR2881305A1 (fr) * | 2005-01-24 | 2006-07-28 | France Telecom | Systeme et procede pour etablir une relation de type client/serveur dans un reseau pair a pair |
US20060271638A1 (en) * | 2005-05-27 | 2006-11-30 | Beigi Mandis S | Method and apparatus for improving data transfers in peer-to-peer networks |
US8086567B2 (en) * | 2005-09-28 | 2011-12-27 | Koninklijke Philips Electronics N.V. | Apparatus and method for storing data |
US7613281B2 (en) * | 2005-12-13 | 2009-11-03 | Sap Ag | Monitoring a response time for a user request |
US7877457B2 (en) * | 2006-03-17 | 2011-01-25 | Macrovision Corporation | Peer to peer gateway |
DE102006021591B3 (de) * | 2006-05-09 | 2007-04-05 | Siemens Ag | Verfahren und Anordnung zur Datenübertragung zwischen Peer-to-Peer-Netzwerken |
US8103870B2 (en) * | 2006-09-12 | 2012-01-24 | Foleeo, Inc. | Hive-based peer-to-peer network |
US8027342B2 (en) * | 2006-12-21 | 2011-09-27 | Motorola Mobility, Inc. | Method and apparatus for establishing peer-to-peer communications |
US7984158B2 (en) * | 2007-03-20 | 2011-07-19 | Microsoft Corporation | Web service for coordinating actions of clients |
US8495232B2 (en) * | 2007-07-10 | 2013-07-23 | Qualcomm Incorporated | Methods and apparatus for supporting broadcast communications in a peer to peer network |
US8861418B2 (en) * | 2007-07-10 | 2014-10-14 | Qualcomm Incorporated | Methods and apparatus for supporting group communications with data re-transmission support |
US7961698B2 (en) * | 2007-07-10 | 2011-06-14 | Qualcomm Incorporated | Methods and apparatus for controlling interference to broadcast signaling in a peer to peer network |
US8694662B2 (en) * | 2007-07-10 | 2014-04-08 | Qualcomm Incorporated | Method and apparatus for communicating transmission requests to members of a group and/or making group related transmission decisions |
CN102037678B (zh) * | 2008-05-20 | 2013-09-25 | 汤姆森许可贸易公司 | 分发在多个接收机处可用的内容的映射图的系统和方法 |
CA2726887C (en) * | 2008-07-01 | 2017-03-07 | Twisted Pair Solutions, Inc. | Method, apparatus, system, and article of manufacture for reliable low-bandwidth information delivery across mixed-mode unicast and multicast networks |
US9800926B2 (en) * | 2008-08-13 | 2017-10-24 | At&T Intellectual Property I, L.P. | Peer-to-peer video data sharing |
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 |
US10084856B2 (en) | 2009-12-17 | 2018-09-25 | Wsou Investments, Llc | Method and apparatus for locating services within peer-to-peer networks |
CN102714616A (zh) * | 2009-12-18 | 2012-10-03 | 爱立信(中国)通信有限公司 | 分组交换网络中的方法和设备 |
US8589393B2 (en) * | 2011-11-08 | 2013-11-19 | Google Inc. | Methods and apparatus for discovery of attributes using a social mobile application |
US9319317B1 (en) * | 2014-01-31 | 2016-04-19 | Adtran, Inc. | Systems and methods for disseminating addresses in distributed switching environments |
US9391884B2 (en) * | 2014-01-31 | 2016-07-12 | Google Inc. | Consistent hashing using exact matching with application to hardware load balancing |
US10194275B2 (en) * | 2015-03-06 | 2019-01-29 | Omnitracs, Llc | Inter-network messaging for mobile computing platforms |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5095480A (en) * | 1989-06-16 | 1992-03-10 | Fenner Peter R | Message routing system for shared communication media networks |
US6850252B1 (en) * | 1999-10-05 | 2005-02-01 | Steven M. Hoffberg | Intelligent electronic appliance system and method |
US5946316A (en) * | 1997-01-17 | 1999-08-31 | Lucent Technologies, Inc. | Dynamic distributed multicast routing protocol |
JP3090194B2 (ja) * | 1997-02-24 | 2000-09-18 | 日本電気株式会社 | 移動ホストのマルチキャスト通信方法 |
US5970069A (en) * | 1997-04-21 | 1999-10-19 | Lsi Logic Corporation | Single chip remote access processor |
US6055364A (en) * | 1997-07-31 | 2000-04-25 | Cisco Technology, Inc. | Content-based filtering of multicast information |
US6393428B1 (en) * | 1998-07-13 | 2002-05-21 | Microsoft Corporation | Natural language information retrieval system |
US6078957A (en) * | 1998-11-20 | 2000-06-20 | Network Alchemy, Inc. | Method and apparatus for a TCP/IP load balancing and failover process in an internet protocol (IP) network clustering system |
US6006259A (en) * | 1998-11-20 | 1999-12-21 | Network Alchemy, Inc. | Method and apparatus for an internet protocol (IP) network clustering system |
EP1009130A1 (en) | 1998-12-11 | 2000-06-14 | International Business Machines Corporation | Distributed directory services for locating network resources in a very large packet switching network |
US6611872B1 (en) * | 1999-01-11 | 2003-08-26 | Fastforward Networks, Inc. | Performing multicast communication in computer networks by using overlay routing |
US20020049760A1 (en) * | 2000-06-16 | 2002-04-25 | Flycode, Inc. | Technique for accessing information in a peer-to-peer network |
US20030021417A1 (en) * | 2000-10-20 | 2003-01-30 | Ognjen Vasic | Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data |
US7203768B2 (en) * | 2000-12-22 | 2007-04-10 | Intel Corporation | Managing network traffic using hashing functions |
US7275102B2 (en) * | 2001-01-22 | 2007-09-25 | Sun Microsystems, Inc. | Trust mechanisms for a peer-to-peer network computing platform |
US7469230B2 (en) * | 2001-03-21 | 2008-12-23 | Qurio Holdings, Inc. | Method and system for automatically distributing fees, including a reseller commission, during a digital file transaction |
US7065587B2 (en) * | 2001-04-02 | 2006-06-20 | Microsoft Corporation | Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith |
US6934702B2 (en) * | 2001-05-04 | 2005-08-23 | Sun Microsystems, Inc. | Method and system of routing messages in a distributed search network |
-
2001
- 2001-09-06 DE DE10143754A patent/DE10143754A1/de not_active Ceased
-
2002
- 2002-09-04 US US10/488,794 patent/US8266216B2/en active Active
- 2002-09-04 JP JP2003527943A patent/JP4170905B2/ja not_active Expired - Fee Related
- 2002-09-04 EP EP02774306A patent/EP1423964B1/de not_active Expired - Fee Related
- 2002-09-04 WO PCT/DE2002/003271 patent/WO2003024021A2/de active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008140388A (ja) * | 2006-11-23 | 2008-06-19 | Ntt Docomo Inc | 階層型ピアツーピアシステムにおける負荷バランシング機能を有するスーパーピア及び該スーパーピアを動作させる方法 |
JP4533923B2 (ja) * | 2006-11-23 | 2010-09-01 | 株式会社エヌ・ティ・ティ・ドコモ | 階層型ピアツーピアシステムにおける負荷バランシング機能を有するスーパーピア及び該スーパーピアを動作させる方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1423964B1 (de) | 2011-11-30 |
EP1423964A2 (de) | 2004-06-02 |
WO2003024021A2 (de) | 2003-03-20 |
US20050021617A1 (en) | 2005-01-27 |
JP4170905B2 (ja) | 2008-10-22 |
US8266216B2 (en) | 2012-09-11 |
DE10143754A1 (de) | 2003-04-03 |
WO2003024021A3 (de) | 2003-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4170905B2 (ja) | ディレクトリサービスを有するスケーラブルピアツーピアネットワーク | |
US8139483B2 (en) | Network traffic control in peer-to-peer environments | |
US8073978B2 (en) | Proximity guided data discovery | |
Wang et al. | Peer-to-peer overlay networks: A survey | |
Peng | CDN: Content distribution network | |
Pourebrahimi et al. | A survey of peer-to-peer networks | |
KR100984384B1 (ko) | 클러스터 노드들을 권위적 도메인 네임 서버들로서사용하여 액티브 부하 조절을 하는 시스템, 네트워크 장치,방법, 및 컴퓨터 프로그램 생성물 | |
WO2007097877A1 (en) | Topology management in peer-to peer content distribution clouds | |
WO2010028590A1 (zh) | 地址列表的提供方法、对等网络及其调度方法 | |
KR20090053532A (ko) | 단말의 능력을 기초로 역할을 설정하는 장치 및 그 방법 | |
US20080040482A1 (en) | System and method for the location of caches | |
Ivkovic | Improving gnutella protocol: Protocol analysis and research proposals | |
EP1719326B1 (en) | Method for improving peer to peer network communication | |
EP1741270A1 (en) | Zone-based peer-to-peer | |
Altmann et al. | A DHT-Based Scalable Approach for Device and Service Discovery | |
Shukla et al. | Towards software defined low maintenance structured peer-to-peer overlays | |
US20130111068A1 (en) | Creating an optimized distribution network for the efficient transfer of data between endpoints using crossover connections | |
Hsiao et al. | A Tree Model for Structured Peer-to-Peer Protocols. | |
Lu et al. | A scalable P2P overlay based on arrangement graph with minimized overhead | |
Dasgupta | Incentive Driven Node Discovery in a P2P Network Using Mobile Intelligent Agents. | |
Dewan et al. | Afuronto: A six hop peer-to-peer network of zillions of nodes | |
US20130110999A1 (en) | Creating an optimized distribution network for the efficient transfer of data between endpoints | |
Lv et al. | Incorporating clusters into hybrid P2P network | |
Hsiao et al. | A peer-to-peer mechanism for resource location and allocation over the grid | |
Mäntylä | Scalability of peer-to-peer systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050629 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070223 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070327 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070403 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070822 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070928 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20071227 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080109 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080128 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080207 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080228 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080306 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080327 |
|
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: 20080709 |
|
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: 20080807 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120815 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |