JP5259835B2 - データノード装置、ピア情報取得方法およびシステム - Google Patents

データノード装置、ピア情報取得方法およびシステム Download PDF

Info

Publication number
JP5259835B2
JP5259835B2 JP2011541075A JP2011541075A JP5259835B2 JP 5259835 B2 JP5259835 B2 JP 5259835B2 JP 2011541075 A JP2011541075 A JP 2011541075A JP 2011541075 A JP2011541075 A JP 2011541075A JP 5259835 B2 JP5259835 B2 JP 5259835B2
Authority
JP
Japan
Prior art keywords
peer
peer list
list
unit
data node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011541075A
Other languages
English (en)
Other versions
JP2012512471A (ja
Inventor
イェンリン ロー
ヨンク リュウ
ソンジエ チェン
チエン ウオン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC China Co Ltd
Original Assignee
NEC China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC China Co Ltd filed Critical NEC China Co Ltd
Publication of JP2012512471A publication Critical patent/JP2012512471A/ja
Application granted granted Critical
Publication of JP5259835B2 publication Critical patent/JP5259835B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1072Discovery involving ranked list compilation of candidate peers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、コンピュータネットワークに関し、特に、P2Pクロスドメイン(cross−domain)トラフィックを軽減することができる、ピア・ツー・ピア(P2P)データ交換において用いられるピア情報を提供し取得するデータノード装置、ピア情報取得方法およびシステムに関する。
P2Pシステムは分散型データ共有システムであり、ファイル共有、ストリーミング・メディア(streaming media)、ボイス・オーバ・インターネット・プロトコル(Voice over Internet Protocol:VoIP)などのサービスを提供する。P2Pシステムにおけるトラフィック量は莫大である。P2Pトラフィックが世界中のインターネットトラフィックの70%を占めることが報告されている。既存のP2P実装方法の大部分は、ネットワークのトポロジ状態を考慮に入れていない。ピアリング決定(相互接続の決定:peering decision)は、ネットワーク・トポロジとトラフィック状態と無関係に下される。問い合わせデータノードアプリケーションユニットによってなされた要求に応答して、インデックスサーバは、通常、既存のメタデータの集合から部分集合をランダムに選択する。このようなランダムな応答は、クロスドメイン(cross−domain)トラフィックの重要な問題を引き起こす。
例えば、図1は、関連技術によるピア情報を提供し取得するためのシステム5の構成ブロック図を示している。図示のように、データノード60内のデータノードアプリケーションユニット61が、それが属するP2Pシステム内のピア(図示しない)とデータファイルを交換したい場合、そのピア情報要求ユニット612がP2Pシステム内のインデックスサーバ50にピア・リスト要求を発行する。ピア・リスト要求を受信すると、インデックスサーバ50内のピア情報管理ユニット52は、データノードアプリケーションユニット61とデータファイルを交換することができる全てのピアについてピア情報記憶ユニット51を検索し、これらのピアの中からの幾つかのピアをランダムに選択してピア・リストに含める。そのピア・リストが応答としてデータノードアプリケーションユニット61に返される。ピア・リスト応答を受信すると、データノードアプリケーションユニット61のピア情報要求ユニット612は、データ交換装置611にそれを提供する。その後、データ交換装置611は、ピア・リストにリストされたピアとデータを交換する。
インデックスサーバ50によって返されたピア・リスト内のピアはランダムに選択されているので、それらは、異なるネットワークドメインに位置するデータノード上のデータノードアプリケーションユニット(例えば、異なるISP(インターネット・サービス・プロバイダ:Internet Service Provider)に属するデータノード上のデータノードアプリケーションユニット)を含む可能性ある。そのため、自身のネットワークドメインのデータノードがそのデータファイルを有しても、ネットワークドメインのデータノードは、他のネットワークドメインのデータノードからデータファイルをダウンロードすることになる。このことが、莫大な量のクロスドメインのトラフィックを引き起こす。
P2Pシステムによってもたらされる莫大な量のクロスドメインのトラフィックを軽減するために、ISPはかつてP2Pアプリケーションについてブロッキング・ポリシを強化したが、大きな効果は得られていない。現在、何人かの学者が、既存のシステムコードを修正する解決策を提案している。
例えば、Haiyong Xie, Y. Richard Yang, Arvind Krishnamurthy, Yanbin Liu, Avi Silberschatz等は、“P4P:Provider Portal for Applications”, SIGCOMM’2008, pp. 351−362(非特許文献1)において、新たなP2Pネットワーク・アーキテクチャ:P4P(Proactive network Provider Participation for P2P)を紹介している。
このアーキテクチャは、ネットワークプロバイダがアプリケーションに対して、より多くの情報を提供することを可能にし、不必要なクロスISP(cross−ISP)トラフィックを減らすことができる。ネットワークとアプリケーションの間のインタフェースとして、P4Pは、問合せクライアントに対して、静的なネットワーク・ポリシ、ネットワークの状態を反映するP4P距離(P4P distance)、ネットワーク能力(network capability)等の多くの情報を提供する。この新たなアーキテクチャの中心は、P4P距離インタフェースである。このインタフェースを通じて、ISPは、アプリケーションに対して、現在の内部リンクと外部リンク上のアプリケーションオーバヘッド情報を供給することができる。P4Pアーキテクチャは、ネットワーク事業者(network operator)とアプリケーション間の通信用のインタフェースとして情報サーバを導入する。
例えば、図2は、非特許文献1に記載された関連技術によるピア情報の提供と取得のための他のシステム5aのブロック図を示している。システム5aは、さらに情報サーバ70を含む点において図1に示すシステム5と相違する。情報サーバ70は、距離、遅延、トラフィック状態等を含むネットワーク情報を提供する。ネットワーク内の他の実体(インデックスサーバ、データノード)は、それが提供するサービス・インタフェースを通して2つのノードの間の距離、ネットワークトラフィック等に関する情報を問い合わせる。
図示のインデックスサーバ50aは、ピア情報記憶ユニット51とピア情報管理ユニット52aに加えて、位置情報要求ユニット53をさらに含んでいる点で図1に示すインデックスサーバ50と相違する。インデックスサーバ50a内のピア情報管理ユニット52aは、ピア・リスト要求を受信すると、ピア情報管理ユニット52と同様に、まず、データノードアプリケーションユニット61とデータを交換することができる全てのピアについてピア情報記憶ユニット51を検索する。その後、ピア情報管理ユニット52と異なり、これらのピアから幾つかのピアをランダムに選択するのではなく、ピア情報管理ユニット52aは、これらのピアが存在する全てのデータノードのデータノード60に対する位置(P4P距離)に関する情報を情報サーバ70に対して要求するよう位置情報要求ユニット53に指示し、位置情報要求ユニット53によって情報サーバから受信した位置情報について基づいて、データノードアプリケーションユニット61とデータを交換することができるピアからデータノード60に近いデータノード上に存在するピアを選択し、そして、データノード60に返す応答としてピア・リスト内にそれらの選択したピアを含める。
このようにして、インデックスサーバは、情報サーバからの情報を用いることにより、同一のドメイン(例えば、同一のISP)から大部分が到来するピアを含むピア・リストを用いてクライアントに応答する。
Haiyong Xie, Y. Richard Yang, Arvind Krishnamurthy, Yanbin Liu, Avi Silberschatz等による"P4P:Provider Portal for Applications", SIGCOMM’2008, pp. 351−362
以上のように、非特許文献1は、ネットワーク情報の転送とクロスドメインのトラフィックの管理のための新たなP2Pネットワーク・アーキテクチャを定義する。
しかしながら、そのような解決策は、現在のネットワークに対してほとんど効果が得られない。その理由は、まず、現在多くのP2Pシステムが既に配置されており、莫大なネットワークトラフィックを生成しているためである。次に、現在のP2Pシステム内のクロスドメインのトラフィックを減らすためには、既存のP2Pシステム内のインデックスサーバのコードの修正が必要であるが、それを実現するのが困難であるためである。
本発明は、P2Pデータ交換において用いられ、クロスドメインのトラフィックを減らすことが可能なデータノード装置、それに用いるピア情報取得方法、および関連システムを提供することを目的とする。
本発明の第1の態様によれば、ピア・ツー・ピア(P2P)データ交換においてデータノードとして機能する装置であって、ピア・リスト要求を発行し、ピアとのP2Pデータ交換を実行するデータノードアプリケーションユニットと、ピア・リスト要求に応答してインデックスサーバによって提供されるオリジナルのピア・リストを傍受し、情報サーバにピア位置要求を発行し、ピア位置要求に応答して情報サーバによって提供されるピア位置情報を受信し、ピア位置情報に基づいてオリジナルのピア・リストについて処理を実行し、処理済みのピア・リストを取得し、処理済みのピア・リストをデータノードアプリケーションユニットに提供するリスト処理ユニットとを備える。
本発明の第2の態様によれば、ピア・ツー・ピア(P2P)データ交換のためのデータノードでのピア情報の取得方法であって、インデックスサーバにピア・リスト要求を発行するステップと、ピア・リスト要求に応答してインデックスサーバによって提供されるオリジナルのピア・リストを傍受するステップと、情報サーバにピア位置要求を発行するステップと、ピア位置要求に応答して情報サーバによって提供されるピア位置情報を受信するステップと、ピア位置情報に基づいて、オリジナルのピア・リストについて処理を実行して処理済みのピア・リストを取得するステップと、処理済みのピア・リストをデータノードアプリケーションユニットに提供するステップとを含む。
本発明の第3の態様によれば、ピア・ツー・ピア(P2P)データ交換においてピア情報を提供しかつ取得するためのシステムであって、それぞれがピア・リスト要求に応答してオリジナルのピア・リストを提供する1つ以上のインデックスサーバと、ピア位置要求に応答してピア位置情報を提供する情報サーバと、上述した装置とを備える。
本発明によれば、既存のP2Pクロスドメイントラフィックを、既存のインデックスサーバとデータノードアプリケーションユニットを修正することなく軽減することが可能となる。また、例えばプラグ・インとして提供される1つのリスト処理ユニットをデータノード内に配置するだけで、多数の異なるP2Pシステムに関するメッセージを同時に処理することが可能となる。さらに、再度ピア・リストを要求することにより、より短いダウンロード時間が保証される。
本発明の上記および他の特徴、並びに効果は、図面を参照して説明された下記の好適な実施例からさらに明らかになるであろう。添付図面において、同一の又は類似する参照符号は、同一又は類似する構成要素を示している。
関連技術によるシステムの構成を示すブロック図である。 関連技術による他のシステムの構成を示すブロック図である。 本発明の第1の実施の形態によるデータノードとして機能する装置を含むシステムのブロック図である。 図3に示すデータノードによってピア・リストを取得する方法を説明するフローチャートである。 本発明の第2の実施の形態によるデータノードとして機能する装置を含むシステムのブロック図である。 図5に示すデータノードによってピア・リストを取得する方法を説明するフローチャートである。
添付図面を参照して本発明の実施の形態を説明する前に、ここで用いられるいくつかの用語について説明する。
P2Pシステム:P2Pシステムは、インデックスサーバ、情報サーバおよびデータ交換を実行し互いにピアとなる複数のデータノードアプリケーションユニットを含む。
インデックスサーバ:交換される全てのファイルのメタデータとこれらのファイルを交換するデータノードアプリケーションが存在するデータノードに関する情報を格納する実体。インデックスサーバは、また、信号ノード(Signaling Node)、Tracker、appTracker、Super Nodeとして知られている。ピアリスト要求を受信すると、インデックスサーバは、対応するピアリスト応答により応答する。各P2Pシステムは1つ以上のインデックスサーバを含んでいる。異なるP2Pシステムは、通常それ自身のインデックスサーバを有している。
情報サーバ:iTrackerとして知られている。距離、遅延、トラフィック状態等を含むネットワーク情報を提供する実体である。
ネットワーク内の他の実体(インデックスサーバとデータノード)は、それが提供するサービスインタフェースを通して2つのデータノード間の距離、ネットワークトラフィック等に関する情報を問い合わせることが可能である。
1つの情報サーバを複数のP2Pシステムで共有することが可能である。例えば、情報サーバはISP(Internet Services Provider)によって提供される。
データノード:実際のデータ項目の全てあるいは一部分を格納する実体。
データノードは、情報処理装置(例えば、パソコン(PC)、携帯電話、携帯情報端末(PDA)等)であり、データを格納し、ネットワーク上の他のネットワークノードと通信することが可能である。
データノードは、1つ以上のP2Pシステムにそれぞれ属する1つ以上のデータノードアプリケーションユニットをホストする。
例えば、BitTorrentアプリケーションユニット、eMuleアプリケーションユニット等が、PCにインストールされる。
以下、データノードは、時々、データノード装置あるいはデータノードとして機能する装置と呼ばれる。
データノードアプリケーションユニット:P2Pシステムにおけるデータ交換とピア情報問い合わせのためのユニット。データノードアプリケーションユニットは、データ交換ユニットとピア情報要求ユニットを含んでいる。
ピア情報要求ユニットは、データノードアプリケーションユニットが属するP2Pシステム内のインデックスサーバから所望のファイルを交換(ダウンロード/アップロード)しているピアに関する情報を要求する。
データ交換ユニットは、ピアリスト内のピアとの接続を確立し、これらのピアに対してファイルデータのダウンロード/アップロードを実行する。
データノードアプリケーションユニットはデータノードアプリケーションとも呼ばれる。さらに、インデックスサーバと情報サーバとのやり取りにおいて、データノードアプリケーションユニットは、クライアントアプリケーションユニットあるいはクライアントアプリケーションとも呼ばれる。
ピア:P2Pシステム内のデータノードアプリケーションユニットは互いにピアである。さらに、本明細書においては、ピアとなるデータノードアプリケーションユニットが存在するデータノードは互いにピアであると称する。
メタデータ:実際のデータの属性(例えば、実際のデータ項目の位置とサイズ)について記述する情報。
ネットワークドメイン:一般的に、ネットワーク・トポロジーの観点から同一のエリアに存在するネットワークノードの集合である。例えば、同じ「ネットワークドメイン」は、同じISP、同じローカル・エリア・ネットワーク等を示す。2つのデータノードが同一のネットワークドメインに属するとすれば、これらの2つのデータノードによってホストされる各のデータノードアプリケーションユニットは、同一のネットワークドメインに属すると言える。
位置:ここで、「位置」とは必ずしも物理的な位置を指さない場合がある。もっと正確に言えば、「位置」とは、ネットワーク・トポロジーの観点からのデータノードの位置を指す。本発明において、データノードアプリケーションユニットに関してデータノードアプリケーションユニットのピアの位置は、データノードアプリケーションユニットをホストするデータノードに関してこれらのピアをホストするデータノードの位置に相当する。一例として、データノード間の相対位置は、それらの間のネットワーク距離によって表される。
ネットワーク距離:ネットワーク・トポロジーの観点からのデータノードの間の距離を反映する。
それは、ネットワークの状態とトラフィックに関するプレファレンスを反映する上述のようなP4P距離でもよい。
同様に、本発明において、データノードアプリケーションユニットのピアとデータノードアプリケーションユニットの間の距離は、それらのピアをホストするデータノードとそのデータノードアプリケーションユニットをホストするデータノードの間の距離に等しい。
本発明の好ましい実施の形態について、図面を参照して以下に説明する。
図3は、本発明の第1の実施の形態によるデータノード(以下、データノード20と称する)として機能する装置20と、1以上のインデックスサーバ10と1の情報サーバ30から構成されるシステム1のブロック図を示す。
図3に示すように、システム1は、1以上のインデックスサーバ10−1、10−2、・・・及び10−N(インデックスサーバ10と総称する)と、データノード20と、情報サーバ30を含む(Nは1以上の整数)。
インデックスサーバ10は、ピア情報を格納し索引付けを行う実体であり、図1に示すようにピア情報記憶ユニットと、ピア情報管理ユニットを含んでいる。説明を分かり易くするため、インデックスサーバ10の内部構成は、図3において示されない。
各インデックスサーバ10のピア情報記憶ユニットは、インデックスサーバ10が属するP2Pシステム内のデータノードアプリケーションユニットが存在する全てのデータノードの情報、例えば、連絡情報、保有するファイルのメタデータ等を格納し、それらのデータノードによって交換された(あるいは、これらのデータノードによってホストされたデータノードアプリケーションユニットによって交換された)ファイルによってデータノードを索引付けする。
ピア情報管理ユニットは、全てのデータノードアプリケーションユニットと通信することを担当する。それは、データノードアプリケーションユニットからの報告を受信するとピア情報記憶ユニットに情報を格納し、データノードアプリケーションユニットからの要求を受信すると適切なピアリストを提供する。
情報サーバ30は、距離、遅延、トラフィック状態等を含むネットワーク情報を提供する実体である。インデックスサーバとデータノードアプリケーションユニットは、それが提供するサービス・インタフェースを通して2つのデータノード間の距離とネットワークトラフィックに関する情報を問い合わせること可能である。
説明を分かり易くするため、情報サーバ30の内部構成は、図3において示されていない。
データノード20は、1以上のP2Pシステムにそれぞれ属する1以上のデータノードアプリケーションユニット21−1、21−2、・・・、21−Nおよび(データノードアプリケーションユニット21と総称する)と、リスト処理ユニット22を含んでいる。
データノードアプリケーションユニット21−1、インデックスサーバ10−1、情報サーバ30および1以上の他のデータノードにそれぞれ存在する1以上のデータノードアプリケーションユニット(図示しない)が、第1のP2Pシステムを構成し、データノードアプリケーションユニット21−2、インデックスサーバ10−2、情報サーバ30および1以上の他のデータノードにそれぞれ存在する1以上の他のデータノードアプリケーションユニット(図示しない)が第2のP2Pシステムを構成し、・・・、データノードアプリケーションユニット21−N、インデックスサーバ10−N、情報サーバ30および1以上の他のデータノードにそれぞれ存在する1以上の他のデータノードアプリケーションユニット(図示しない)が第NのP2Pシステムを構成する。
例えば、いくつかのデータノードに存在するBitTorrentアプリケーションユニット、BitTorrentインデックスサーバおよび共有情報サーバが、BitTorrent P2Pシステムを構成し、一方、これらのデータノードに存在するeMuleアプリケーションユニット、eMuleインデックスサーバおよび共有情報サーバが、eMule P2Pシステムを構成する。
ここでは、N個のP2Pシステムの各々がインデックスサーバを含み、全てのP2Pシステムが1つの情報サーバを共有する場合を図示している。しかしながら、しかしながら、本発明がそれらに限定されないことは当業者にとって明白である。
例えば、各P2Pシステムが複数のインデクシングサーバを含んでいてもよい。また、例えば、各P2Pシステムが、それ自身の情報サーバを有していてもよい。
さらに、異なるP2Pシステムが1以上のインデックスサーバを共有していてもよい。
各データノードアプリケーションユニット21はデータ交換装置とピア情報要求ユニットを含んでいる。
例えば、データノードアプリケーションユニット21−1は、データ交換装置211−1とピア情報要求ユニット212−1を含み、データノードアプリケーションユニット21−2は、データ交換装置211−2とピア情報要求ユニット212−2を含み、・・・、データノードアプリケーションユニット21−Nは、データ交換装置211−Nとピア情報要求ユニット212−Nを含んでいる。
本実施の形態において、リスト処理ユニット22は、応答メッセージ取得ユニット221、応答メッセージ構成ユニット223、および1つ以上のアプリケーションメッセージ処理ユニット222−1、222−2、・・・、222−N(アプリケーションメッセージ処理ユニット222と総称する)を含んでいる。
アプリケーションメッセージ処理ユニット222−1、222−2、・・・、222−Nは、それぞれデータノードアプリケーションユニット21−1、21−2、・・・、21−Nと関連付けられている。
すなわち、例えば、アプリケーションメッセージ処理ユニット222−1、222−2、・・・、222−Nは、データノードアプリケーションユニット21−1、21−2、・・・、21−Nに対して一対一に対応している。
各アプリケーションメッセージ処理ユニット222は、対応する1つのデータノードアプリケーションユニット21が属するP2Pシステムに関連する情報、例えば、BitTorrentメッセージ、eMuleメッセージ等を処理する。
データノードアプリケーションユニット(例えば、データノード20のデータノードアプリケーションユニット21−1)が、それが属するP2Pシステム内の他のデータノードアプリケーションユニットとデータを交換したい場合、データノードアプリケーションユニット21−1のピア情報要求ユニット212−1は、リストを取得するために対応するインデックスサーバ10−1にピア・リスト要求をまず発行する。このリストは、データノードアプリケーションユニット21−1が属するP2Pシステムにおいて、そのデータノードアプリケーションユニットとデータファイルを交換することが可能なデータノードアプリケーションユニット(すなわち、ピア)をリストアップしている。
ピアリスト要求を受信すると、インデックスサーバ10−1内のピア情報管理ユニットは、そのピア情報記憶ユニットからデータの交換に利用可能なデータノードアプリケーションユニットを検索し、それらのデータノードアプリケーションユニットからランダムに幾つかのデータノードアプリケーションユニットを選択し、返すピア・リストに、ランダムに選択したデータノードアプリケーションユニットをピアとして含める。
ランダムな選択であるため、ピア・リストは、データノードアプリケーションユニット21−1が存在するデータノード20から大きな距離にあるデータノード上に存在するピア(例えば、異なるネットワークドメインから来る)を含む可能性がある。
言いかえれば、これらのピアはデータノードアプリケーションユニット21−1から離れている。例えば、それらは、データノードアプリケーションユニット21−1と異なるネットワークドメインから到来する。
ここで、このように各インデックスサーバ10によってランダムに選択されたピアのリストを、オリジナルピア・リストと称する。
一実現例において、各インデックスサーバ10は、ピア・リスト応答メッセージにオリジナルピア・リストを含め、ピア・リスト要求を発行したデータノードに対してその応答メッセージを返す。
上述のように、本発明のデータノード20はリスト処理ユニット22を含んでいる。
このリスト処理ユニット22は、プラグ・インのモジュールとして、データノード20のオペレーティング・システムのカーネル空間に追加することが可能である。しかしながら、本発明はそれに限定されない。
リスト処理ユニット22が、他のソフトウェア、ハードウェア、ファームウェアあるいはそれの組み合わせによって実現可能であることは、当業者にとって十分に理解できるであろう。
リスト処理ユニット22は、1つのインデックスサーバ10から送信され、データノードアプリケーションユニット21によって受信されたピア・リスト応答メッセージを取得する。
具体的には、リスト処理ユニット22内の応答メッセージ取得ユニット221が、ピア・リスト応答メッセージを取得する。
一実現例において、応答メッセージ取得ユニット221は、データノード20のオペレーティング・システムにフック(hook)を追加することにより、インデックスサーバから送信された全てのメッセージを傍受することが可能である。
一実現例において、応答メッセージ取得ユニット221は、オペレーティング・システムのTCP/IPプロトコル・スタックからこれらのメッセージを直接傍受することが可能である。
応答メッセージ取得ユニット221は、ピア・リスト応答メッセージがどのP2Pシステムに属するか、すなわち、メッセージがどのデータノードアプリケーションユニット21−1、21−2、・・・、21−Nに関連しているかを判定するために、傍受したピア・リスト応答メッセージを分類し、その分類結果に従って対応する1つのアプリケーションメッセージ処理ユニット222にピア・リスト応答メッセージを配信する。
この実施例においては、上述のように、ピア・リスト要求がデータノードアプリケーションユニット21−1によって発行され、その結果、ピア・リスト応答メッセージがインデックスサーバ10−1によって返されたので、応答メッセージ取得ユニット221は、メッセージに含まれている識別情報に基づいて、受信したピア・リスト応答メッセージがデータノードアプリケーションユニット21−1を対象としていると判定する。これにより、応答メッセージ取得ユニット221は、データノードアプリケーションユニット21−1と関連するアプリケーションメッセージ処理ユニット222−1にピア・リスト応答メッセージを配信する。
例えば、データノードアプリケーションユニット21−1がBitTorrentアプリケーションである場合、応答メッセージ取得ユニット221は、メッセージに含まれる識別情報に基づいて、受信したメッセージがBitTorrent応答メッセージであることを識別し、それにより、BitTorrentアプリケーション・メッセージと関連するアプリケーションメッセージ処理ユニット222−1にメッセージを配信することが可能となる。
応答メッセージ取得ユニット221から配信されたピア・リスト応答メッセージを受信すると、アプリケーションメッセージ処理ユニット222−1は、そこに含まれるオリジナルピア・リストを抽出する。
その後、アプリケーションメッセージ処理ユニット222−1は、オリジナルピア・リストに含まれるピアが存在するデータノードの当該データノード20に対する位置情報を取得するために、情報サーバ30にピア位置要求を発行する。
アプリケーションメッセージ処理ユニット222−1からのピア位置要求に応答して、情報サーバ30はアプリケーションメッセージ処理ユニット222−1に対してピア位置情報を返す。
一例として、ピア位置情報は、オリジナルピア・リストにリストされたピアが存在するデータノードとデータノード20の間のネットワーク距離(例えばP4P距離)に関する情報を含んでいる。
アプリケーションメッセージ処理ユニット222−1は、情報サーバ30から返されたピア位置情報に基づいて、オリジナルピア・リスト内のピアに関する処理を実行する。
一実現例において、この処理は、これらのピアが存在するデータノードとデータノード20の間のネットワーク距離の降順にピアをソートすることを含む。
一例として、この処理は、ピアをソートした後、必要に応じてデータノード20から遠く離れているデータノード上に存在するピアをリストから削除する処理をさらに含む。
この結果、このように処理されたピア・リストは、データノード20に比較的近いデータノード、例えば、データノード20と同一のネットワークドメインに属するデータノード上のピアだけを包含する。
アプリケーションメッセージ処理ユニット222−1は、このように処理されたピア・リストを応答メッセージ構成ユニット223に配信する。
応答メッセージ構成ユニット223は、アプリケーションメッセージ処理ユニットから配信された処理済みのピア・リストを収集し、対応するデータノードアプリケーションユニットに対して、処理済みのピア・リストを含むピア・リスト応答メッセージを提供する。
この実施例において、アプリケーションメッセージ処理ユニット222−1から配信された処理済みのピア・リストを受信すると、応答メッセージ構成ユニット223は、それを、対応するP2Pシステムに対するピア・リスト応答メッセージとしてデータノードアプリケーションユニット21−1に提供する。
例えば、データノードアプリケーションユニット21−1がBitTorrentアプリケーションである場合、応答メッセージ構成ユニット223は、BitTorrent応答メッセージに処理済みのピア・リストを含め、それをデータノードアプリケーションユニット21−1に提供する。
処理済みのピア・リストを含むピア・リスト応答メッセージを受信すると、データノードアプリケーションユニット21−1のピア情報要求ユニット212−1は、そこからピア・リストを抽出し、それをデータ交換装置211−1に提供する。
これにより、データ交換装置211−1は、ピア・リストにリストされているピアとのデータ交換を実行することができる。
以上のように、データノードアプリケーションユニット21−1、関連するアプリケーションメッセージ処理ユニット222−1及びインデックスサーバ10−1を例として用いて説明を行ったが、同様の解決方法は、データノード20内の他のデータノードアプリケーションユニットと、関連するアプリケーションメッセージ処理ユニットと、インデックスサーバに適用可能であることに留意されたい。
以上のように、ピアとデータを交換しようとするデータノードアプリケーションユニットは、ランダムに選択されたピアのリストではなく、それに接近して位置するピアのリストを取得する。
従って、本発明によれば、既存のP2Pクロスドメイントラフィックを、既存のインデックスサーバとデータノードアプリケーションユニットを修正することなく軽減することが可能となる。また、例えばプラグ・インとして提供される1つのリスト処理ユニットをデータノード内に配置するだけで、多数の異なるP2Pシステムに関するメッセージを同時に処理することが可能となる。
図3において示したデータノード20によってピア・リストを取得する方法について、図4を参照して以下に説明する。
ステップS101において、データノードアプリケーションユニット21の1つのピア情報要求ユニットは、対応するインデックスサーバ10の1つにピア・リスト要求を発行する。
ステップS102において、オリジナルピア・リストが傍受される。
本実施の形態において、このステップは、ピア・リスト要求に応じてインデックスサーバ10の1つから送信されたピア・リスト応答メッセージを傍受し、データノードアプリケーションユニット21のどの1つがピア・リスト応答メッセージに関連しているかを判定し、その後、対応するアプリケーションメッセージ処理ユニット222の1つにピア・リスト応答メッセージを配信する応答メッセージ取得ユニット221を含んでいる。
このステップは、さらに、応答メッセージ取得ユニット221から配信されたピア・リスト応答メッセージを受信し、ピア・リスト応答メッセージに含まれるオリジナルピア・リストを抽出し、それにより、オリジナルピア・リストを取得するアプリケーションメッセージ処理ユニット222の1つを含む。
ステップS103において、アプリケーションメッセージ処理ユニット222の1つが、オリジナルピア・リストに含まれるピアが存在するデータノードの当該データノード20に対する位置情報を取得するために、情報サーバ30にピア位置要求を発行する。
ステップS104において、ピア位置要求を発行したアプリケーションメッセージ処理ユニットは、情報サーバ30から返されたピア位置情報を受信する。
ステップS105において、アプリケーションメッセージ処理ユニットは、ピア位置情報に基づいて、オリジナルピア・リスト内のピアについて、例えばソートと幾つかのピアの削除を含む処理を実行し、そして、処理済みのピア・リストを応答メッセージ構成ユニット223に配信する。
ステップS106において、応答メッセージ構成ユニット223は、アプリケーションメッセージ処理ユニット222の1つから配信された処理済みのピア・リストを受信すると、対応するデータノードアプリケーションユニットに処理済みのピア・リストを含むピア・リスト応答メッセージを提供する。その後、処理が終了する。
図5は、本発明の第2の実施の形態によるデータノード(以下、データノード20aと呼ぶ)として機能する装置20aと、1以上のインデックスサーバ10、情報サーバ30から構成されるシステム1aの構成ブロック図である。
図5において、図3に示した第1の実施の形態と同一の参照番号は、同一の構成要素を示しており、これらの構成要素の詳細な説明については省略する。
図5に示すように、データノード20aは、応答メッセージ取得ユニット221、アプリケーションメッセージ処理ユニット222および応答メッセージ構成ユニット223に加えて、以下の要素を含む点で図3に示すデータノード20と相違する。リスト処理ユニット22aは、さらに、データノードアプリケーションユニット21−1、21−2、・・・、21−Nに対して一対一に対応し、かつそれによりアプリケーションメッセージ処理ユニット222−1、222−2、・・・、222−Nに対して一対一に対応する1以上の再要求ユニット224−1、224−2、・・・、224−N(再要求ユニット224と総称する)と、キャッシュユニット225を備えている。
再要求ユニット224は、対応するインデックスサーバ10により多くのピア情報を要求するために、対応するP2Pシステム用のピア・リスト要求を作成する。
キャッシュユニット225は、ピア・リストを取得する処理で得られた処理済みのピア・リストをキャッシュする。
本実施の形態においては、1つのキャッシュユニット225が複数アプリケーションメッセージ処理ユニット222によって共有される場合を示していることに留意されたい。この場合、各アプリケーションメッセージ処理ユニット222は、キャッシュユニット225内の対応するエリアにアクセスする。
もちろん、当業者であれば思い付く他の実現方式も可能である。例えば、各アプリケーションメッセージ処理ユニット222がそれ自身のキャッシュユニットを有することも可能である。
通常、本実施の形態のアプリケーションメッセージ処理ユニットによりオリジナルピア・リストについて実行される処理は、距離よってオリジナルピア・リストをソートし、必要に応じて大きな距離を有する幾つかのピアを削除することに加えて、そのように取得したピア・リストを、キャッシュユニット225内の対応するエリアに既にキャッシュさされているピア・リスト(もし存在すれば)と組み合わせることを含む。
その後、アプリケーションメッセージ処理ユニットは、そのように処理されたピア・リスト内のピアが十分であるかどうか、例えば、その数がしきい値に達しているかどうかを判定する。
ピアの数が少な過ぎると、データ交換を実行した場合に、データノードアプリケーションユニットは十分なデータソースを確保することできず、その結果、データダウンロードのための時間が延長されることになる。
短いダウンロード時間を保証するために、ピアの数が少な過ぎると判定した場合に、本実施の形態によるアプリケーションメッセージ処理ユニットは、キャッシュユニット225内の対応するエリアに、現在処理済みのピア・リストを一時的に格納し、対応するインデックスサーバ10の1つに1以上の追加のピア・リスト要求を発行することを、対応する再要求ユニットに指示する。
このような追加のピア・リスト要求を受け取ると、対応するインデックスサーバ10内のピア情報管理ユニットは、再度、ピア情報記憶ユニットを検索し、対応するデータノードアプリケーションユニットによって要求されたデータファイルを交換することができるピアをそこからランダムに選択し、その結果、オリジナルピア・リストを含む1以上の追加のピア・リスト応答メッセージをデータノード20aに提供する。
アプリケーションメッセージ処理ユニットは、ソート、削除、組合せを含む処理と、1以上の抽出された追加のオリジナルのピア・リストについて上述した判定を実行し、ピアの数が十分となるまで、必要に応じて再要求を繰り返す。
例として、再度アプリケーションメッセージ処理ユニット222−1を用いて説明を行う。
特に、一実現方式において、応答メッセージ取得ユニット221から配信されたピア・リスト応答メッセージ内のオリジナルのピア・リストを抽出した後、アプリケーションメッセージ処理ユニット222−1が、オリジナルのピア・リストを処理する。
この処理は、オリジナルピア・リスト内のピアをソートし、必要に応じて大きな距離のピア(例えば、異なるネットワークドメイン内のピア)を削除すること、及び、残りのピアを含むピア・リストをキャッシュユニット225の対応するエリア内のピア・リスト(もし、存在すれば)と組み合わせることを含む。
この場合、アプリケーションメッセージ処理ユニット222−1は、まず、以前にキャッシュされたピア・リストがキャッシュユニット225の対応するエリアに存在するかどうかをチェックする。
現在処理されているオリジナルピア・リストが、データノードアプリケーションユニットによって発行されたピア・リスト要求に応じてインデックスサーバ10−1によって返されたオリジナルのピア・リストであれば、キャッシュユニット225の対応するエリアは空であるはずである。
この場合、組み合わせは不要であり、ソートされ幾つかのピアが削除されたピア・リストが処理済みのピア・リストとなる。
一方、ピア・リストがキャッシュユニット225の対応するエリアに既にキャッシュされていれば、これは、現在処理されているオリジナルピア・リストが、再要求ユニットによって発行された追加のピア・リスト要求に応答してインデックスサーバ10−1によって返されたオリジナルのピア・リストであることを示している。
そこで、アプリケーションメッセージ処理ユニット222−1は、上述のようにソートされ幾つかのピアが削除されたピア・リストを、キャッシュユニット225内のピア・リストと組み合わせ、処理済みのピア・リストを取得する。
いずれの場合も、その後、アプリケーションメッセージ処理ユニット222−1は、処理済みのピア・リスト内のピアが十分であるかどうか、例えば、その数が所定のしきい値に達しているかどうかを判定する。
数が十分であれば、アプリケーションメッセージ処理ユニット222−1は、応答メッセージ構成ユニット223を介して処理済みのピア・リストを対応するデータノードアプリケーションユニット21−1に提供する。
その前或いは後に、アプリケーションメッセージ処理ユニット222−1は、キャッシュユニット225内の対応するエリアを空にする。
一方、ピアが十分でなければ、アプリケーションメッセージ処理ユニット222−1は、キャッシュユニット225の対応するエリアにもともとキャッシュされたピア・リストに上書きするように、処理済みのピア・リストを対応するエリアにキャッシュし、かつインデックスサーバ10−1に追加のピア・リスト要求を発行するよう対応する再要求ユニット224−1に指示する。
このピア・リスト要求に応じて、インデックスサーバ10−1は、再度、ランダムに選択されたピア・リストを含むピア・リスト応答メッセージを返す。
そして、リスト処理ユニット22aは、処理済みのピア・リスト内のピアの数が十分となるまで、上述したような処理を繰り返す。
言うまでもなく、上記の処理はあくまで一例である。
例えば、アプリケーションメッセージ処理ユニット222−2は、オリジナルピア・リストを抽出した後に、まず、オリジナルピア・リストを、キャッシュされたピア・リスト(もし存在すれば)と組み合わせ、その後、ネットワーク距離によって組み合わせたピア・リスト内のすべてのピアをソートし、かつ必要に応じて大きな距離を有する幾つかのピアを削除して、処理済みのピア・リストを取得することも可能である。
この場合、ピア・リストそのものをキャッシュすることに加えて、各ピアをホストするデータノードと現在のデータノードの間のネットワーク距離に関する情報もキャッシュすることも可能である。
当業者によって思い付く他の実現方式も可能である。
第1の実施の形態と同様に、データノードアプリケーションユニット21−1、関連するアプリケーションメッセージ処理ユニット222−1、再要求ユニット224−1及びインデックスサーバ10−1を例として用いて説明を行ったが、同様の解決方法は、データノード20内の他のデータノードアプリケーションユニットと、関連するアプリケーションメッセージ処理ユニットと、再要求ユニットおよびインデックスサーバにも適用可能である。
上述したように、本実施の形態によれば、ピアの数が十分でなければ、インデックスサーバは幾つかのランダムに選択されたピアを返すことを再度要求される。従って、ピアが十分にあることが保証され、それにより、より短いダウンロード時間が保証される。
図5において示したデータノード20aによってピア・リストを取得する方法について、図6を参照して以下に説明する。
ステップS201において、1つのデータノードアプリケーションユニットのピア情報要求ユニットは、対応するインデックスサーバ10の1つにピア・リスト要求を発行する。
ステップS202において、オリジナルピア・リストが傍受される。
本実施の形態において、このオリジナルピア・リストは、対応するデータノードアプリケーションユニットのピア情報要求ユニットによって発行された最初のピア・リスト要求に応じてインデックスサーバ10の1つによって返されたオリジナルピア・リストであり、さらに、対応する再要求ユニットによって発行された追加のピア・リスト要求に応じてインデックスサーバ10の1つによって返されたオリジナルピア・リストでもある。
いずれの場合も、応答メッセージ取得ユニット221は、オリジナルのピア・リストを含むピア・リスト応答メッセージを傍受し、アプリケーションメッセージ処理ユニット222の対応する1つにピア・リスト応答メッセージを配信する。
その後、アプリケーションメッセージ処理ユニット222の対応する1つが、ピア・リスト応答メッセージに含まれるオリジナルのピア・リストを抽出する。
ステップS203において、アプリケーションメッセージ処理ユニット222の1つが、対応するデータノード20に対するオリジナルピア・リストに含まれるピアの位置情報(すなわち、これらのピアが位置するデータノードの現在のデータノード20に対する位置)を取得するために、情報サーバ30にピア位置要求を発行する。
ステップS204において、ピア位置要求を発行したアプリケーションメッセージ処理ユニットが、情報サーバ30から返されたピア位置情報を受信する。
ステップS205において、アプリケーションメッセージ処理ユニットは、ピア位置情報に基づいて、オリジナルピア・リストについて、ソート、削除、キャッシュされたピア・リストとの組み合わせを含む処理を実行する。
ステップS206において、アプリケーションメッセージ処理ユニットは、処理済みのピア・リスト内のピアが十分であるかどうか、例えば、その数が所定のしきい値に達しているかどうかを判定する。
ピアが十分でなければ(ステップS206で「NO」)、アプリケーションメッセージ処理ユニットは、キャッシュユニットの対応するエリアに処理済みのピア・リストをキャッシュし(ステップS207)、インデックスサーバに対して追加のピア・リスト要求を発行するよう対応する再要求ユニットに指示する(ステップS208)。
その後、処理済みのピア・リスト内のピアの数が十分となるまで、データノード20は、ステップS202からステップS206を繰り返す。
一方、ステップS206においてピアが十分であることを判定すると(ステップS206で「YES」)、アプリケーションメッセージ処理ユニットは、ステップS209において、キャッシュユニット225内の対応するエリアを空にし、ステップS210において、応答メッセージ構成ユニットを介して対応するデータノードアプリケーションユニットに処理済みのピア・リストを提供する。
その後、その処理が終了する。
以上、本発明についてその好適な実施例を参照して説明したが、当該技術に精通した当業者には、本発明の精神と範囲から逸脱することなく他の様々な修正、変更、追加を行うことが可能なことは明らかであろう。したがって、本発明の範囲は上記の具体的な実施例に限定されず、付記した請求項によってのみ限定される。
さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。
(付記1)
ピア・ツー・ピア(P2P)データ交換においてデータノードとして機能する装置であって、
ピア・リスト要求を発行し、ピアとのP2Pデータ交換を実行するデータノードアプリケーションユニットと、
前記ピア・リスト要求に応答してインデックスサーバによって提供されるオリジナルのピア・リストを傍受し、情報サーバにピア位置要求を発行し、ピア位置要求に応答して情報サーバによって提供されるピア位置情報を受信し、前記ピア位置情報に基づいてオリジナルのピア・リストについて処理を実行し、処理済みのピア・リストを取得し、処理済みのピア・リストを前記データノードアプリケーションユニットに提供するリスト処理ユニットと
を備えることを特徴とする装置。
(付記2)
前記リスト処理ユニットが、さらに、
ピア・リスト要求に応答して前記インデックスサーバによって提供されるオリジナルのピア・リストを含むピア・リスト応答メッセージを傍受し、傍受したピア・リスト応答メッセージを、アプリケーションメッセージ処理ユニットに配信するメッセージ傍受ユニットと、
前記メッセージ傍受ユニットから配信されたピア・リスト応答メッセージを受信すると、ピア・リスト応答メッセージに含まれるオリジナルのピア・リストを抽出し、前記情報サーバにピア位置要求を発行し、ピア位置要求に応答して前記情報サーバによって提供されるピア位置情報を受信し、前記ピア位置情報に基づいて、抽出したオリジナルのピア・リストについて処理を実行して処理済みのピア・リストを取得し、処理済みのピア・リストをメッセージ構成ユニットに提供する前記アプリケーションメッセージ処理ユニットと、
前記アプリケーションメッセージ処理ユニットから配信された処理済みのピア・リストを収集し、処理済みのピア・リストを含むピア・リスト応答メッセージを前記データ・ノード・アプリケーション・ユニットに提供する前記メッセージ構成ユニットとを含むことを特徴とする付記1に記載の装置。
(付記3)
前記リスト処理ユニットが、さらに、
ピア・リスト要求を発行するために用いる再要求ユニットと、
一時的にピア・リストを格納するために用いるキャッシュユニットとを含み、
前記アプリケーションメッセージ処理ユニットは、オリジナルのピア・リストについて処理を実行した後に、処理済みのピア・リストにリストされたピアの数がしきい値に達しているかどうかを判定し、ピアの数が前記しきい値に達していない場合、処理済みのピア・リストを一時的に前記キャッシュユニットに格納し、ピア・リスト要求を発行するよう前記再要求ユニットに指示する
ことを特徴とする付記2に記載の装置。
(付記4)
前記データノードアプリケーションユニットが、1以上のデータノードアプリケーションユニットを含み、
前記アプリケーションメッセージ処理ユニットは、1以上のデータノードアプリケーションユニットに対応する1以上のアプリケーションメッセージ処理ユニットを含み、
前記メッセージ傍受ユニットは、1以上の前記データノードアプリケーションユニットのうち、特定のデータノードアプリケーションユニットに関連するピア・リスト要求に応答して提供されるオリジナルのピア・リストを含むピア・リスト応答メッセージを傍受し、1以上のアプリケーションメッセージ処理ユニットのうち、特定のデータノードアプリケーションユニットに対応するアプリケーションメッセージ処理ユニットに対して傍受したピア・リスト応答メッセージを配信し、
前記メッセージ構成ユニットは、1以上のアプリケーションメッセージ処理ユニットのうち、特定のアプリケーションメッセージ処理ユニットから配信された処理済みのピア・リストを収集し、1以上のデータノードアプリケーションユニットのうち、特定のアプリケーションメッセージ処理ユニットに対応するデータノードアプリケーションユニットに対して処理済みのピア・リストを含むピア・リスト応答メッセージを提供する
ことを特徴とする付記2に記載の装置。
(付記5)
前記データノードアプリケーションユニットが1以上のデータノードアプリケーションユニットを含み、
前記アプリケーションメッセージ処理ユニットは、1以上のデータノードアプリケーションユニットに対応する1以上のアプリケーションメッセージ処理ユニットを含み、
前記再要求ユニットは、1以上のアプリケーションメッセージ処理ユニットに対応する1以上の再要求ユニットを含み、
前記メッセージ傍受ユニットは、1以上の前記データノードアプリケーションユニットのうち、特定のデータノードアプリケーションユニットに関連するピア・リスト要求に応答して提供されるオリジナルのピア・リストを含むピア・リスト応答メッセージを傍受し、1以上のアプリケーションメッセージ処理ユニットのうち、特定のデータノードアプリケーションユニットに対応するアプリケーションメッセージ処理ユニットに対して傍受したピア・リスト応答メッセージを配信し、
1以上のアプリケーションメッセージ処理ユニットのそれぞれが、ピアノ数が前記しきい値に達していない場合、前記キャッシュユニットに処理済みのピア・リストを格納し、1以上の再要求ユニットのうち、自身のアプリケーションメッセージ処理ユニットに対応する再要求ユニットに対してピア・リスト要求の発行を指示し、
前記メッセージ構成ユニットは、1以上のアプリケーションメッセージ処理ユニットのうち、特定のアプリケーションメッセージ処理ユニットから配信された処理済みのピア・リストを収集し、1以上のデータノードアプリケーションユニットのうち、特定のアプリケーションメッセージ処理ユニットに対応するデータノードアプリケーションユニットに対して処理済みのピア・リストを含むピア・リスト応答メッセージを提供する
ことを特徴とする付記3に記載の装置。
(付記6)
前記ピア位置情報は、オリジナルのピア・リストにリストされたピアが存在するデータノードと前記データノード間のネットワーク距離に関する情報を含み、
前記処理が、前記ネットワーク距離の降順に、オリジナルのピア・リストにリストされたピアをソートする処理を含むことを特徴とする付記1に記載の装置。
(付記7)
前記処理が、オリジナルのピア・リストにリストされたピアのうち、前記データノードと同一のネットワークドメイン内にないデータノード上に存在するピアを削除する処理を含むことを特徴とする付記6に記載の装置。
(付記8)
前記ピア位置情報は、オリジナルのピア・リストにリストされたピアが存在するデータノードと前記データノード間のネットワーク距離に関する情報を含み、
前記処理が、前記ネットワーク距離の降順に、オリジナルのピア・リストにリストされたピアをソートする処理と、オリジナルのピア・リストにリストされたピアのうち、前記データノードと同一のネットワークドメイン内にないデータノード上に存在するピアを削除する処理と、残りのピアを含むピア・リストを前記キャッシュユニットにキャッシュしたピア・リストと組み合わせる処理を含むことを特徴とする付記3に記載の装置。
(付記9)
ピア・ツー・ピア(P2P)データ交換のためのデータノードでのピア情報の取得方法であって、
インデックスサーバにピア・リスト要求を発行するステップと、
前記ピア・リスト要求に応答して前記インデックスサーバによって提供されるオリジナルのピア・リストを傍受するステップと、
情報サーバにピア位置要求を発行するステップと、
前記ピア位置要求に応答して前記情報サーバによって提供されるピア位置情報を受信するステップと、
前記ピア位置情報に基づいて、オリジナルのピア・リストについて処理を実行して処理済みのピア・リストを取得するステップと、
処理済みのピア・リストをデータノードアプリケーションユニットに提供するステップと
を含むことを特徴とするピア情報の取得方法。
(付記10)
処理済みのピア・リストにリストされたピアの数がしきい値に達しているかどうかを判定し、ピアの数が前記しきい値に達していない場合、処理済みのピア・リストをキャッシュし、1以上の追加のピア・リスト要求を発行するステップをさらに含むことを特徴とする付記9に記載のピア情報の取得方法。
(付記11)
前記ピア位置情報は、オリジナルのピア・リストにリストされたピアが存在するデータノードと前記データノード間のネットワーク距離に関する情報を含み、
前記処理が、前記ネットワーク距離の降順に、オリジナルのピア・リストにリストされたピアをソートする処理を含むことを特徴とする付記9に記載のピア情報の取得方法。
(付記12)
前記処理が、オリジナルのピア・リストにリストされたピアのうち、前記データノードと同一のネットワークドメイン内にないデータノード上に存在するピアを削除する処理を含むことを特徴とする付記11に記載のピア情報の取得方法。
(付記13)
前記ピア位置情報は、オリジナルのピア・リストにリストされたピアが存在するデータノードと前記データノード間のネットワーク距離に関する情報を含み、
前記処理が、前記ネットワーク距離の降順に、オリジナルのピア・リストにリストされたピアをソートする処理と、オリジナルのピア・リストにリストされたピアのうち、前記データノードと同一のネットワークドメイン内にないデータノード上に存在するピアを削除する処理と、残りのピアを含むピア・リストをキャッシュしたピア・リストと組み合わせる処理を含むことを特徴とする付記10に記載のピア情報の取得方法。
(付記14)
ピア・ツー・ピア(P2P)データ交換においてピア情報を提供しかつ取得するためのシステムであって、
それぞれがピア・リスト要求に応答してオリジナルのピア・リストを提供する1つ以上のインデックスサーバと、
ピア位置要求に応答してピア位置情報を提供する情報サーバと、
付記1から付記8の何れかに記載の装置と
を備えることを特徴とするシステム。
5、5a:システム
10−1〜10−N:インデックスサーバ
20:データノード
21−1〜21−N:データノードアプリケーションユニット
211−1〜211−N:データ交換装置
212−1〜212−N:ピア情報要求ユニット
22:リスト処理ユニット
221:応答メッセージ取得ユニット
222−1〜222−N:アプリケーションメッセージ処理ユニット
223:応答メッセージ構成ユニット
225:キャッシュユニット
30:情報サーバ
50、50a:インデックスサーバ
51:ピア情報記憶ユニット
52、52a:ピア情報管理ユニット
53:位置情報要求ユニット
60:データノード
61:データノードアプリケーションユニット
611:データ交換装置
612:ピア情報要求ユニット
70:情報サーバ

Claims (8)

  1. ピア・ツー・ピア(P2P)データ交換においてデータノードとして機能する装置であって、
    ピア・リスト要求を発行し、ピアとのP2Pデータ交換を実行するデータノードアプリケーションユニットと、
    前記ピア・リスト要求に応答してインデックスサーバによって提供されるオリジナルのピア・リストを傍受し、情報サーバにピア位置要求を発行し、ピア位置要求に応答して情報サーバによって提供されるピア位置情報を受信し、前記ピア位置情報に基づいてオリジナルのピア・リストについて処理を実行し、処理済みのピア・リストを取得し、処理済みのピア・リストを前記データノードアプリケーションユニットに提供するリスト処理ユニットとを備え
    前記リスト処理ユニットが、
    ピア・リスト要求に応答して前記インデックスサーバによって提供されるオリジナルのピア・リストを含むピア・リスト応答メッセージを傍受し、傍受したピア・リスト応答メッセージを、アプリケーションメッセージ処理ユニットに配信するメッセージ傍受ユニットと、
    前記メッセージ傍受ユニットから配信されたピア・リスト応答メッセージを受信すると、ピア・リスト応答メッセージに含まれるオリジナルのピア・リストを抽出し、前記情報サーバにピア位置要求を発行し、ピア位置要求に応答して前記情報サーバによって提供されるピア位置情報を受信し、前記ピア位置情報に基づいて、抽出したオリジナルのピア・リストについて処理を実行して処理済みのピア・リストを取得し、処理済みのピア・リストをメッセージ構成ユニットに提供する前記アプリケーションメッセージ処理ユニットと、
    前記アプリケーションメッセージ処理ユニットから配信された処理済みのピア・リストを収集し、処理済みのピア・リストを含むピア・リスト応答メッセージを前記データ・ノード・アプリケーション・ユニットに提供する前記メッセージ構成ユニットと、
    ピア・リスト要求を発行するために用いる再要求ユニットと、
    一時的にピア・リストを格納するために用いるキャッシュユニットとを含み、
    前記アプリケーションメッセージ処理ユニットは、オリジナルのピア・リストについて処理を実行した後に、処理済みのピア・リストにリストされたピアの数がしきい値に達しているかどうかを判定し、ピアの数が前記しきい値に達していない場合、処理済みのピア・リストを一時的に前記キャッシュユニットに格納し、ピア・リスト要求を発行するよう前記再要求ユニットに指示する
    ことを特徴とする装置。
  2. 前記データノードアプリケーションユニットが、1以上のデータノードアプリケーションユニットを含み、
    前記アプリケーションメッセージ処理ユニットは、1以上のデータノードアプリケーションユニットに対応する1以上のアプリケーションメッセージ処理ユニットを含み、
    前記メッセージ傍受ユニットは、1以上の前記データノードアプリケーションユニットのうち、特定のデータノードアプリケーションユニットに関連するピア・リスト要求に応答して提供されるオリジナルのピア・リストを含むピア・リスト応答メッセージを傍受し、1以上のアプリケーションメッセージ処理ユニットのうち、特定のデータノードアプリケーションユニットに対応するアプリケーションメッセージ処理ユニットに対して傍受したピア・リスト応答メッセージを配信し、
    前記メッセージ構成ユニットは、1以上のアプリケーションメッセージ処理ユニットのうち、特定のアプリケーションメッセージ処理ユニットから配信された処理済みのピア・リストを収集し、1以上のデータノードアプリケーションユニットのうち、特定のアプリケーションメッセージ処理ユニットに対応するデータノードアプリケーションユニットに対して処理済みのピア・リストを含むピア・リスト応答メッセージを提供する
    ことを特徴とする請求項1に記載の装置
  3. 前記データノードアプリケーションユニットが1以上のデータノードアプリケーションユニットを含み、
    前記アプリケーションメッセージ処理ユニットは、1以上のデータノードアプリケーションユニットに対応する1以上のアプリケーションメッセージ処理ユニットを含み、
    前記再要求ユニットは、1以上のアプリケーションメッセージ処理ユニットに対応する1以上の再要求ユニットを含み、
    前記メッセージ傍受ユニットは、1以上の前記データノードアプリケーションユニットのうち、特定のデータノードアプリケーションユニットに関連するピア・リスト要求に応答して提供されるオリジナルのピア・リストを含むピア・リスト応答メッセージを傍受し、1以上のアプリケーションメッセージ処理ユニットのうち、特定のデータノードアプリケーションユニットに対応するアプリケーションメッセージ処理ユニットに対して傍受したピア・リスト応答メッセージを配信し、
    1以上のアプリケーションメッセージ処理ユニットのそれぞれが、ピアノ数が前記しきい値に達していない場合、前記キャッシュユニットに処理済みのピア・リストを格納し、1以上の再要求ユニットのうち、自身のアプリケーションメッセージ処理ユニットに対応する再要求ユニットに対してピア・リスト要求の発行を指示し、
    前記メッセージ構成ユニットは、1以上のアプリケーションメッセージ処理ユニットのうち、特定のアプリケーションメッセージ処理ユニットから配信された処理済みのピア・リストを収集し、1以上のデータノードアプリケーションユニットのうち、特定のアプリケーションメッセージ処理ユニットに対応するデータノードアプリケーションユニットに対して処理済みのピア・リストを含むピア・リスト応答メッセージを提供する
    ことを特徴とする請求項1に記載の装置
  4. 前記ピア位置情報は、オリジナルのピア・リストにリストされたピアが存在するデータノードと前記データノード間のネットワーク距離に関する情報を含み、
    前記処理が、前記ネットワーク距離の降順に、オリジナルのピア・リストにリストされたピアをソートする処理を含むことを特徴とする請求項1から請求項3の何れか1項に記載の装置
  5. 前記処理が、オリジナルのピア・リストにリストされたピアのうち、前記データノードと同一のネットワークドメイン内にないデータノード上に存在するピアを削除する処理を含むことを特徴とする請求項4に記載の装置
  6. 前記ピア位置情報は、オリジナルのピア・リストにリストされたピアが存在するデータノードと前記データノード間のネットワーク距離に関する情報を含み、
    前記処理が、前記ネットワーク距離の降順に、オリジナルのピア・リストにリストされたピアをソートする処理と、オリジナルのピア・リストにリストされたピアのうち、前記データノードと同一のネットワークドメイン内にないデータノード上に存在するピアを削除する処理と、残りのピアを含むピア・リストを前記キャッシュユニットにキャッシュしたピア・リストと組み合わせる処理を含むことを特徴とする請求項1から請求項5の何れか1項に記載の装置
  7. ピア・ツー・ピア(P2P)データ交換のためのデータノードとして機能する装置によるピア情報の取得方法であって、
    データノードアプリケーションユニットが、ピア・リスト要求を発行し、ピアとのP2Pデータ交換を実行するデータノードアプリケーションステップと、
    リスト処理ユニットが、前記ピア・リスト要求に応答してインデックスサーバによって提供されるオリジナルのピア・リストを傍受し、情報サーバにピア位置要求を発行し、ピア位置要求に応答して情報サーバによって提供されるピア位置情報を受信し、前記ピア位置情報に基づいてオリジナルのピア・リストについて処理を実行し、処理済みのピア・リストを取得し、処理済みのピア・リストを前記データノードアプリケーションユニットに提供するリスト処理ステップと、
    前記リスト処理ユニットが含むメッセージ傍受ユニットが、ピア・リスト要求に応答して前記インデックスサーバによって提供されるオリジナルのピア・リストを含むピア・リスト応答メッセージを傍受し、傍受したピア・リスト応答メッセージを、アプリケーションメッセージ処理ユニットに配信するメッセージ傍受ステップと、
    前記リスト処理ユニットが含むアプリケーションメッセージ処理ユニットが、前記メッセージ傍受ユニットから配信されたピア・リスト応答メッセージを受信すると、ピア・リスト応答メッセージに含まれるオリジナルのピア・リストを抽出し、前記情報サーバにピア位置要求を発行し、ピア位置要求に応答して前記情報サーバによって提供されるピア位置情報を受信し、前記ピア位置情報に基づいて、抽出したオリジナルのピア・リストについて処理を実行して処理済みのピア・リストを取得し、処理済みのピア・リストをメッセージ構成ユニットに提供するアプリケーションメッセージ処理ステップと、
    前記リスト処理ユニットが含むメッセージ構成ユニットが、前記アプリケーションメッセージ処理ユニットから配信された処理済みのピア・リストを収集し、処理済みのピア・リストを含むピア・リスト応答メッセージを前記データ・ノード・アプリケーション・ユニットに提供するメッセージ構成ステップと、
    前記リスト処理ユニットが含む再要求ユニットが、ピア・リスト要求を発行する再要求ステップと、
    前記リスト処理ユニットが含むキャッシュユニットが、一時的にピア・リストを格納するキャッシュステップとを有し、
    前記アプリケーションメッセージ処理ステップで、オリジナルのピア・リストについて処理を実行した後に、処理済みのピア・リストにリストされたピアの数がしきい値に達しているかどうかを判定し、ピアの数が前記しきい値に達していない場合、処理済みのピア・リストを一時的に前記キャッシュユニットに格納し、ピア・リスト要求を発行するよう前記再要求ユニットに指示する
    ことを特徴とするピア情報の取得方法
  8. ピア・ツー・ピア(P2P)データ交換においてピア情報を提供しかつ取得するためのシステムであって、
    それぞれがピア・リスト要求に応答してオリジナルのピア・リストを提供する1つ以上のインデックスサーバと、
    ピア位置要求に応答してピア位置情報を提供する情報サーバと、
    請求項1から請求項6の何れかに記載の装置と
    を備えることを特徴とするシステム
JP2011541075A 2009-04-01 2010-03-19 データノード装置、ピア情報取得方法およびシステム Expired - Fee Related JP5259835B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200910132675A CN101854374A (zh) 2009-04-01 2009-04-01 数据节点装置、对端信息获取方法和***
CN200910132675.0 2009-04-01
PCT/CN2010/000335 WO2010111887A1 (zh) 2009-04-01 2010-03-19 数据节点装置、对端信息获取方法和***

Publications (2)

Publication Number Publication Date
JP2012512471A JP2012512471A (ja) 2012-05-31
JP5259835B2 true JP5259835B2 (ja) 2013-08-07

Family

ID=42805639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011541075A Expired - Fee Related JP5259835B2 (ja) 2009-04-01 2010-03-19 データノード装置、ピア情報取得方法およびシステム

Country Status (4)

Country Link
US (1) US20110307564A1 (ja)
JP (1) JP5259835B2 (ja)
CN (1) CN101854374A (ja)
WO (1) WO2010111887A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010277314A (ja) * 2009-05-28 2010-12-09 Kddi Corp P2p配信方法およびシステム
US9235519B2 (en) * 2012-07-30 2016-01-12 Futurewei Technologies, Inc. Method for peer to peer cache forwarding
US11386233B2 (en) 2019-04-30 2022-07-12 JFrog, Ltd. Data bundle generation and deployment
US11886390B2 (en) 2019-04-30 2024-01-30 JFrog Ltd. Data file partition and replication
US11340894B2 (en) 2019-04-30 2022-05-24 JFrog, Ltd. Data file partition and replication
US10999314B2 (en) 2019-07-19 2021-05-04 JFrog Ltd. Software release tracking and logging
WO2021014326A2 (en) 2019-07-19 2021-01-28 JFrog Ltd. Software release verification
US11695829B2 (en) 2020-01-09 2023-07-04 JFrog Ltd. Peer-to-peer (P2P) downloading
US11860680B2 (en) 2020-11-24 2024-01-02 JFrog Ltd. Software pipeline and release validation
US12061889B2 (en) 2021-10-29 2024-08-13 JFrog Ltd. Software release distribution across a hierarchical network

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272645B2 (en) * 2001-05-25 2007-09-18 Sbc Technology Resources, Inc. Method of improving the reliability of peer-to-peer network downloads
US20060212542A1 (en) * 2005-03-15 2006-09-21 1000 Oaks Hu Lian Technology Development Co., Ltd. Method and computer-readable medium for file downloading in a peer-to-peer network
EP1821487B1 (en) * 2006-02-21 2010-04-07 Microsoft Corporation Topology management in peer-to-peer content distribution clouds
CN100493091C (zh) * 2006-03-10 2009-05-27 清华大学 基于会话初始化协议的流媒体直播p2p网络方法
EP2084881B1 (en) * 2006-09-28 2012-03-28 Rayv Inc. System and methods for Peer-to-Peer Media Streaming
CN101005606B (zh) * 2006-12-31 2012-07-04 华为技术有限公司 一种减少媒体播放延时的方法和装置
CN101018172A (zh) * 2007-02-09 2007-08-15 浪潮电子信息产业股份有限公司 一种优化城域网内p2p传输的方法
US20090100128A1 (en) * 2007-10-15 2009-04-16 General Electric Company Accelerating peer-to-peer content distribution
CN101552719A (zh) * 2008-04-01 2009-10-07 华为技术有限公司 路由选择方法和装置
US9106668B2 (en) * 2008-06-24 2015-08-11 Azureus Software, Inc. Distributed peer location in peer-to-peer file transfers
CN101394423B (zh) * 2008-09-27 2012-07-18 中兴通讯股份有限公司 一种媒体定位、搜索方法和***

Also Published As

Publication number Publication date
US20110307564A1 (en) 2011-12-15
CN101854374A (zh) 2010-10-06
WO2010111887A1 (zh) 2010-10-07
JP2012512471A (ja) 2012-05-31

Similar Documents

Publication Publication Date Title
JP5259835B2 (ja) データノード装置、ピア情報取得方法およびシステム
US11194719B2 (en) Cache optimization
US10681167B2 (en) Distributed computing resources in an information centric network
US10880390B2 (en) Method and apparatus for reducing network resource transmission size using delta compression
JP4938074B2 (ja) リソースの位置情報の要求方法、当該方法のためのユーザノードおよびサーバ
US7782866B1 (en) Virtual peer in a peer-to-peer network
KR20200040722A (ko) 컨텐츠 중심 네트워크에서 컨텐츠 소유자 및 노드의 패킷 전송 방법
JP5526137B2 (ja) 選択的データ転送ストレージ
CN106031130A (zh) 具有边缘代理的内容传送网络架构
Dutta et al. Caching scheme for information‐centric networks with balanced content distribution
KR20090080051A (ko) P2p 네트워크에서 가상 피어를 호스팅하는 스폰서 노드, 및 방법
Nikolaou et al. Proactive cache placement on cooperative client caches for online social networks
JP6564852B2 (ja) 情報中心ネットワーキング(icn)ノードのネットワークにおいてパケットを管理する方法
CN109873855A (zh) 一种基于区块链网络的资源获取方法和***
Lal et al. A cache content replacement scheme for information centric network
Lal et al. A popularity based content eviction scheme via betweenness-centrality caching approach for content-centric networking (CCN)
Sourlas et al. Caching in content-based publish/subscribe systems
JP4437956B2 (ja) ファイル共有アプリケーションに対するインデックス・サーバ・サポートを提供する方法
Pitkanen et al. Searching for content in mobile DTNs
KR20130033252A (ko) 서비스 오버레이 네트워크에서 종단간 QoS 보장형 콘텐츠 전달 방법 및 그 시스템
JP4923115B2 (ja) 自己組織型分散オーバーレイ・ネットワークにおいてオブジェクトへの参照を分散させる方法、コンピュータプログラム、及びノード、並びに自己組織型分散オーバーレイ・ネットワーク
Mishra et al. A review on content centric networking and caching strategies
WO2017045438A1 (zh) 一种移动网络决策cdn中缓存内容的方法、装置及***
Lertsinsrubtavee et al. Comparing NDN and CDN performance for content distribution service in community wireless mesh network
CN103685367A (zh) 离线下载***和方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130312

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130424

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

Free format text: PAYMENT UNTIL: 20160502

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees