JP2010522386A - P2pコンテンツ共有のための方法、システム、及びノード - Google Patents

P2pコンテンツ共有のための方法、システム、及びノード Download PDF

Info

Publication number
JP2010522386A
JP2010522386A JP2010500055A JP2010500055A JP2010522386A JP 2010522386 A JP2010522386 A JP 2010522386A JP 2010500055 A JP2010500055 A JP 2010500055A JP 2010500055 A JP2010500055 A JP 2010500055A JP 2010522386 A JP2010522386 A JP 2010522386A
Authority
JP
Japan
Prior art keywords
node
user node
super
super node
fragment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010500055A
Other languages
English (en)
Other versions
JP5050095B2 (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2010522386A publication Critical patent/JP2010522386A/ja
Application granted granted Critical
Publication of JP5050095B2 publication Critical patent/JP5050095B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • 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/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

P2Pコンテンツ共有のための方法、システム、及びノードが提供される。方法は、スーパーノードが、一般ユーザノードから、フラグメントを求める要求を受信するステップと、一般ユーザノードによって求められたフラグメントが記憶されているかどうかについてスーパーノード自体を調べるステップと、記憶されている場合、記憶されているフラグメントを一般ユーザノードによって共有されるようにアップロードするステップと、記憶されていない場合、一般ユーザノードによって求められたフラグメントをその他のスーパーノード及び一般ユーザノードに求めるステップと、取得したフラグメントを一般ユーザノードによって共有されるようにアップロードするステップとを含む。提供される解決法は、NATの背後のプライベートネットワークユーザがNATを越えてP2P伝送を達成するのを支援することが可能である。同時に、上りレートと下りレートとが非対称である場合に全体的な共有レートはネットワーク内の最小レートによって制限されるという問題が解決され、高い帯域幅要求を有するリアルタイムP2Pビジネスアプリケーションが可能になる。

Description

本発明は、インターネット技術の分野に関し、特に、インターネットにおけるコンテンツ共有技術に関する。
従来のインターネットでは、クライアント/サーバモードが採用され、Webサイト上の集中型サーバが使用されている。しかし、インターネットの発展は集中化から分散化へ向かっており、集中型サーバは分散型サーバに、例えば、PeerツーPeer(P2P)技術に変化している。
P2P技術では、複数のユーザをネットワーク内に統合して、帯域幅を共有し、ネットワーク内の情報を共同処理する。従来のクライアント/サーバモードとは異なり、P2P動作モードでは、各クライアント端末がクライアント及びサーバの両方として機能する。
P2P共有ダウンロードは、一般的なダウンロードモードである。毎日、世界中の何十万ものネットワークユーザが、ビットトレント(BT)ソフトウェアを使用して、映画全体、MP3、及び大規模ソフトウェアをダウンロードしており、データトラフィックは、世界の総インターネットデータトラフィックの70%を超えている。共有ダウンロードのプロセスにおいて、同じファイルをダウンロードする必要がある複数のユーザのうちの各ユーザ端末は、ファイルのセグメントをダウンロードする必要があるのみであり、次に、お互いに交換して、それにより、各ユーザは最終的に完全なファイルを得ることができる。
現在のP2P共有ダウンロードモードでは、BTが広く利用されている。図1に示すように、BTのネットワークモデルは、接尾部.torrentを有するファイルを配置するためのWebサーバと、ユーザがお互いを見つけるのを管理するトラッカと、一般ユーザとを含む。
BT共有ダウンロードを実現するプロセスは、具体的には以下のステップを含む。
1.コンテンツを共有することを意図するユーザは、接尾部.torrentを有するファイルを一般的なWebサーバ上に発行し、そのファイルは、共有ファイルに関する長さと名前とハッシュ情報、及びトラッカのユニバーサルリソースロケータ(URL)などを含む。
2.共有コンテンツを入手したいユーザは、一般的なWebサイトのWebサーバから.torrentファイルをダウンロードして、トラッカのURLを取得する。
3.ユーザ(コンテンツを共有することを意図するユーザと、共有コンテンツを入手したいユーザとを含む)は、トラッカと通信を行い、それらのユーザがオンラインであることをトラッカに報告し、その他のpeers(コンテンツを共有することを意図するユーザと、共有コンテンツを入手したいユーザとを意味する)のリストをトラッカから取得する。
4.完全なファイルを有するPeerはシードと呼ばれ、ファイルを共有することを意図するユーザは、ファイルを、フラグメント共有に適した複数のフラグメントに分割する。
5.全てのPeersはファイルを共有するために相互に通信を行い、その通信の中で、各Peerは、そのPeerの所望するフラグメントをその他のPeerに要求し、一方で、そのPeer自体のフラグメントを、それらのフラグメントを要求しているPeerに分配する。
6.全てのファイルコンテンツがダウンロードされた後で、共有プロセス全体を終了する。
BT共有のためのP2Pネットワークは典型的な「皆は一人のために、一人は皆のために」のネットワークであり、そのネットワークを介して各ユーザのリソースが完全に共有されるということが、上記のBT共有プロセスから分かる。しかし、このネットワークでは、真の「平等」の故に、いかなる追加の動作でも「自発的に」行うことを希望するユーザはなく、それによりネットワークは、主として次の2点における特定の制限を有する。
1.2つのユーザがネットワークアドレス変換(NAT)の背後にある場合、それらのユーザのアドレスはプライベートネットワークアドレスであり、プライベートネットワークアドレスは外部から直接アクセスされることができない。プライベートネットワーク内の装置に直接アクセスするためには、STUN(Simple Traversal of UDP Through Network Address Translators)又はTURN(Traversal Using Relay NAT)のメカニズムが必要とされる。しかし、現在のBTネットワークでは、その動作を調整及び完了するための対応するユニットを採用することができず、そのため、P2Pの直接アクセスは実現不可能である。
2.ネットワークが非対称ネットワークである場合、全体的な共有アクセスレートは最小レートによって制限され、例えば、非対称型デジタル加入者線(ADSL)ネットワークでは、代表的な下りレートは8Mであり、代表的な上りレートは512Kである。単に1つのユーザの観点からは、そのユーザのために複数のその他のユーザが、各ユーザの上りレートは十分に高くなくても、同時にアップロードサービスを提供してもよく、複数のユーザの合計レートが、高速ダウンロードに対する1つのユーザの要求を満たすかもしれない。しかし、ネットワーク全体の状況を考慮に入れると、完全なP2Pの下では、合計の上りレートは、合計の下りレートと正確に等しい。従って、下りリンクの帯域幅がたとえ十分に広くても、上りレートの制限の故に、ユーザの平均下りレートは、ネットワークの平均上りレートであることのみが可能である。
従って、本発明は、プライベートネットワークユーザノードがP2P共有を実現できず、P2P共有アクセスレートが上りレートと下りレートのうちのより低いレートによって制限されるという、従来技術における問題を解決することが可能な、P2Pコンテンツ共有のための方法、システム、及びノードに関する。
上記の目的を達成するために、本発明は以下の技術的解決法を提供する。
スーパーノードがユーザノードから選択される、P2Pコンテンツ共有のための方法は、以下のステップを含む。
スーパーノードは、一般ユーザノードから、フラグメントを求める要求を受信し、そのスーパーノード自体を調べて、一般ユーザノードによって要求されたフラグメントがそのスーパーノード内に記憶されているかどうかを確認する。記憶されている場合、スーパーノードは、そのスーパーノードの記憶されているフラグメントを一般ユーザノードによって共有されるようにアップロードし、記憶されていない場合、スーパーノードは、一般ユーザノードによって所望されるフラグメントをその他のスーパーノード又は一般ユーザノードに要求し、取得したフラグメントを一般ユーザノードによって共有されるようにアップロードする。
P2Pコンテンツ共有のためのシステムは、トラッカと、一般ユーザノードとを含み、スーパーノードを更に含む。ダウンロード要求がない場合、スーパーノードは、一般ユーザノードからの、フラグメントを求める要求に従って、そのスーパーノード自体によって記憶されたフラグメント、あるいは、その他のスーパーノード又は一般ユーザノードから取得したフラグメントを、一般ユーザノードによって共有されるようにアップロードする。
スーパーノードとして働くことが可能なユーザノードは、スーパーノード登録モジュールと、フラグメント要求処理モジュールとを含む。
スーパーノード登録モジュールは、ユーザノードがスーパーノードであるための条件を満たすことを検出した場合に、ユーザノードをスーパーノードとしてトラッカに登録するように適合される。
フラグメント要求処理モジュールは、一般ユーザノードから、フラグメントを求める要求を受信し、そのモジュール自体を調べて、一般ユーザノードによって要求されたフラグメントがそのモジュール内に記憶されているかどうかを確認するように適合される。記憶されている場合、処理モジュールは、そのモジュールの記憶されているフラグメントを、一般ユーザノードによって共有されるようにアップロードし、記憶されていない場合、処理モジュールは、一般ユーザノードによって所望されるフラグメントをその他のスーパーノード又は一般ユーザノードに要求し、取得したフラグメントを、一般ユーザノードによって共有されるようにアップロードする。
スーパーノードがユーザノードから選択される、P2Pコンテンツ共有のための方法は、以下のステップを含む。
プライベートネットワークユーザノードは、そのプライベートネットワークユーザノード自体のフラグメントを、スーパーノードによって割り当てられたパブリックIPアドレスとポート番号とを介して、又はエージェントとしてのスーパーノードを使用してアップロードして、その他のユーザノードによって共有されるようにするか、又はその他のユーザノードからフラグメントをダウンロードする。
P2Pコンテンツ共有のためのシステムは、トラッカと、一般ユーザノードとを含み、スーパーノードを更に含む。スーパーノードは、P2P伝送を達成するように、プライベートネットワークユーザノードがネットワークアドレス変換(NAT)を越えることを支援するように適合される。
プライベートネットワークユーザノードは、NATタイプ判定モジュールと、登録モジュールとを含む。
NATタイプ判定モジュールは、ユーザノードがプライベートネットワークユーザノードであることを検出し、次に、ユーザノードのNATタイプがコーン型NATであるか対称型NATであるかを判定し、そして、判定結果を登録モジュールに送信するように適合される。
登録モジュールは、NATタイプ判定モジュールによって送信された判定結果を受信するように適合される。結果がコーン型NATである場合、登録モジュールは、パブリックIPアドレスとポート番号とをユーザノードに割り当てるようスーパーノードに要求し、パブリックIPアドレスとポート番号とをトラッカに登録する。結果が対称型NATである場合、登録モジュールは、少なくとも1つのスーパーノードに登録し、スーパーノードに、ユーザノードのエージェントとしてトラッカに登録するよう要求する。
スーパーノードは、コーン型NATプライベートネットワークユーザノードがパブリックIPアドレスとポート番号とをトラッカに登録するように、パブリックIPアドレスとポート番号とをコーン型NATプライベートネットワークユーザノードに割り当てるように適合された、STUN(Simple Traversal of UDP Through Network Address Translators)サーバ機能モジュールを含む。
スーパーノードは、対称型NATプライベートネットワークユーザノードのエージェントとしてトラッカに登録するように適合された、TURN(Traversal Using Relay NAT)サーバ機能モジュールを含む。
本発明の実施形態によれば、従来技術の欠点を克服するために、一定の条件を満たすユーザノードをスーパーノードとし、スーパーノードは、NATを越える際のプライベートネットワークユーザノードのために、調整及び中継の役割を果たす。更に、ダウンロード要求を有さない場合、スーパーノードは、下りレートの要求を上りレートが満たすようにするために、自発的にアップロードサービスを提供して過度に低い上りレートを補償し、それにより、NATの背後のプライベートネットワークユーザノードがNATを越えるのを支援して、P2P伝送を達成する。同時に、上りレートと下りレートとが非対称である場合に全体的な共有レートはネットワーク内の最小レートによって制限されるという問題が解決され、従って、高い帯域幅要求を有するリアルタイムP2Pビジネスアプリケーションが可能となる。
従来技術における、BTネットワークのアーキテクチャ図である。 本発明の一実施形態による、BTネットワークのアーキテクチャ図である。 本発明の一実施形態による、アップロードサービスを提供しているスーパーノードのフローチャートである。 本発明の一実施形態による、プライベートネットワークユーザノードがNATを越えるのを支援しているスーパーノードのフローチャートである。
以下、本発明について、添付の図面を参照して、実施形態を介して更に詳細に説明する。
本発明の実施形態で提供される技術的解決法によれば、既存のBTネットワークアーキテクチャにおいて、一定の条件を満たすユーザノードをスーパーノードとし、スーパーノードは、NATを越える際のプライベートネットワークユーザノードのために、STUNサーバ又はTURNサーバとして、調整及び中継の役割を果たす。更に、ダウンロード要求がない場合、スーパーノードは、下りレートの要求を上りレートが満たすようにするために、自発的にアップロードサービスを提供して過度に低い上りレートを補償する。
本発明の目的、技術的解決法、及び利点を分かりやすくするために、添付の図面を使用して、実施形態について以下で詳細に説明する。本明細書に記載する実施形態は、本発明を限定することを意図するものではなく、本発明を説明することのみを意図するものであるということが理解されるべきである。
本発明の一実施形態によるネットワークアーキテクチャを図2に示す。図2では、既存のBTネットワークアーキテクチャ内にスーパーノードが導入されている。スーパーノードは、以下の条件を満たす一般ユーザノードによって置き換えられてもよい。パブリックIPアドレスを有する。その他のユーザノードによって直接アクセスされることが可能である。十分な処理能力を有する。共有コンテンツを記憶するための十分な記憶空間を有する。十分な帯域幅を有する。
一般ユーザノードの全ての処理に従うことに加えて、スーパーノードは、更に、トラッカに登録する際にそのノードがスーパーノードであることを明らかにする必要があり、それにより、トラッカ及びその他のユーザノードは、どのノードがスーパーノードであるかを情報のやりとりの間に知らされてもよい。
ダウンロードの要求がない場合、スーパーノードは、ダウンロードファイルの特定のコンテンツに関心がなく、Webサーバから.torrentファイルを能動的にダウンロードしなくてもよい。従って、トラッカの発見メカニズムはそれに応じて修正される必要があり、そのため、トラッカのIPアドレス又はドメイン名は.torrentファイルからはもはや取得されず、各ユーザノード内に予め設定される。一般ユーザノードがスーパーノードとしてトラッカに登録する際の特定のプロセスを、以下に示す。
1.ユーザノードは、予め設定されたトラッカのIPアドレス又はドメイン名を介してトラッカを見つける。
2.ユーザノードは、トラッカから、スーパーノードのリストを取得する。
3.スーパーノードはSTUNサーバの機能を統合し、一般ユーザノードはSTUNクライアントの機能を統合する。STUNクライアントは、STUNサーバと通信して、ユーザノードのIPアドレスがパブリックIPアドレスであるかプライベートIPアドレスであるかを判定する。具体的には、STUNクライアントはSTUNサーバにプローブパケットを最初に送信し、(IPヘッダを除く)パケットペイロードは、STUNクライアント自体のIPアドレスを含む。パケットがNATを越える場合、ヘッダのIPアドレスはNATのパブリックIPアドレスに変更されるが、ペイロード内のIPアドレスは変わらない。それ故、プローブパケットを受信した場合、STUNサーバは、STUNクライアントがNATを越えたかどうかを判定するために、パケットヘッダのソースIPがペイロードのIPアドレスと同一であるかどうかを比較して確認し、次に、STUNクライアントに応答パケットを返す。パケットペイロードは、その中でパブリックIPアドレスを運び、STUNクライアントは、応答パケットのヘッダ宛先IPアドレスを、ペイロードIPアドレスと比較して、そのパケットがNATを越えたかどうかを確認する。
STUNクライアントがNATの背後にある場合、STUNサーバは、NATを越えた後のSTUNクライアントのIPアドレスとポート番号とについて、その他のユーザに通知し、従って、その他のユーザはSTUNクライアントにアクセスできる。
4.ユーザノードは、そのユーザノード自体のIPアドレスがパブリックIPアドレスであることを見出した場合、そのユーザノード自体を調べて、処理能力、記憶容量、及び帯域幅がスーパーノードの条件を満たすかどうかを確認し、満たすならば、スーパーノードとしてトラッカに登録する。
条件を満たすユーザノードがスーパーノードとして登録された後で、スーパーノードは、BTネットワークアーキテクチャ内で2つの機能を達成する。1つは、そのスーパーノード自体がいかなるファイルもダウンロードしていない場合にアップロードサービスを提供することであり、もう1つは、プライベートネットワークアドレスを有するユーザがNATを越えるのを支援することである。
スーパーノードの、そのスーパーノード自体がいかなるファイルもダウンロードしていない場合にアップロードサービスを提供するプロセスを、図3に示す。
ステップ301で、スーパーノードは、一般ユーザノードから、フラグメントを求める要求を受信する。
ステップ302で、スーパーノードは、一般ユーザノードからの、フラグメントを求める要求を解析し、そのスーパーノード自体を調べて、そのフラグメントが存在するかどうかを確認する。存在しない場合はステップ3に進み、存在する場合はステップ5に進む。
ステップ303で、スーパーノードは、一般ユーザノードによって所望されるフラグメントのうちの一部のフラグメントをランダムに選択し、選択された一部をその他のノード(スーパーノード及び一般ユーザノードを含む)に要求する。
ステップ304で、スーパーノードは、その他のノードからフラグメントを取得し、取得したフラグメントを、そのスーパーノード自体の記憶空間内に一時的に記憶する。
ステップ304の後で、プロセスは、ステップ305に進むか、又はステップ301に戻る。
ステップ305で、スーパーノードは、記憶されたフラグメントを、フラグメントを要求する一般ユーザノードによって共有されるようにアップロードする。
上記のプロセスにおいて最も重要な点は、スーパーノードは、全てのフラグメントをダウンロードするのではなく、一部のフラグメントをランダムにダウンロードして、スーパーノードと一般ユーザノードとの間での帯域幅をめぐる競合を回避するということである。スーパーノードは一部のフラグメントのみを有するが、スーパーノードの数が十分である場合、全部のフラグメントを取得するために全てのスーパーノードが統合されてもよく、そして、各スーパーノードはそのスーパーノード自体によって所有される部分を共有するために繰り返しアップロードし、それにより、不十分なアップロード帯域幅の問題は有効に解決されうる。
プライベートネットワークアドレスを有するにすぎない一般ユーザノードがNATを越えるのを支援する、スーパーノードの具体的なプロセスを図4に示す。このプロセスは以下のステップを含む。
ステップ401で、一般ユーザノードは、その一般ユーザノード自体のIPアドレスがプライベートIPアドレスであることを見出した場合、スーパーノードのSTUNサーバと情報を交換する。
ステップ402で、一般ユーザノードは、その一般ユーザノード自体のNATタイプがコーン型NATであるか対称型NATであるかを、交換された情報に従って判定する。結果がコーン型NATである場合はステップ403に進み、結果が対称型NATである場合はステップ404に進む。
ステップ403で、結果がコーン型NATである場合、一般ユーザノードは、その一般ユーザノード自体のパブリックIPアドレスとポート番号とをスーパーノードのSTUNサーバから取得し、パブリックIPアドレスとポート番号とをトラッカに登録し、それにより、その他のユーザノード(一般ユーザノード及びスーパーノードを含む)は、一般ユーザノードによって発行されたパブリックIPアドレスとポート番号とを介して一般ユーザノードにアクセスして、P2P伝送を直接実行してもよい。その後、プロセスは終了する。
ステップ404で、結果が対称型NATである場合、一般ユーザノードは、1つ以上のスーパーノードを選択してそのスーパーノードに登録し、選択されたスーパーノードに、エージェントとしてトラッカに登録するよう要求する。スーパーノードは、そのスーパーノード自体のパブリックIPアドレスを登録し、その後、一般ユーザノードは、転送のためのエージェントとしてのスーパーノードを介してファイルをアップロード及びダウンロードする。スーパーノードは、NAT越えのためのTURNサーバとして働く。
本発明の一実施形態によれば、スーパーノードとして働くことが可能なユーザノードの構成は主として、スーパーノード登録モジュールと、フラグメント要求処理モジュールとを含む。
スーパーノード登録モジュールは、ユーザノードがスーパーノードであるための条件を満たすことを検出した場合に、ユーザノードをスーパーノードとしてトラッカに登録するように適合される。
フラグメント要求処理モジュールは、一般ユーザノードから、フラグメントを求める要求を受信し、そのスーパーノード自体を調べて、一般ユーザノードによって要求されたフラグメントがそのスーパーノード内に記憶されているかどうかを確認するように適合される。記憶されている場合、処理モジュールは、記憶されているフラグメントを、一般ユーザノードによって共有されるようにアップロードし、記憶されていない場合、処理モジュールは、一般ユーザノードによって所望されるフラグメントをその他のスーパーノード又は一般ユーザノードに要求し、取得したフラグメントを、一般ユーザノードによって共有されるようにアップロードする。
本発明の一実施形態によれば、プライベートネットワークユーザノードの構成は主として、NATタイプ判定モジュールと、登録モジュールとを含む。
NATタイプ判定モジュールは、ユーザノードがプライベートネットワークユーザノードであることを検出し、次に、ユーザノードのNATタイプがコーン型NATであるか対称型NATであるかを判定し、そして、判定結果を登録モジュールに送信するように適合される。
登録モジュールは、NATタイプ判定モジュールによって送信された判定結果を受信するように適合される。結果がコーン型NATである場合、登録モジュールは、パブリックIPアドレスとポート番号とをユーザノードに割り当てるようスーパーノードに要求し、パブリックIPアドレスとポート番号とをトラッカに登録する。結果が対称型NATである場合、登録モジュールは、少なくとも1つのスーパーノードに登録し、スーパーノードに、ユーザノードのエージェントとしてトラッカに登録するよう要求する。
本発明の一実施形態によれば、プライベートネットワークユーザノードがNATを越えるのを支援することが可能なスーパーノードの構成は主として、STUNサーバ機能モジュールと、TURNサーバ機能モジュールとを含む。
STUNサーバ機能モジュールは、パブリックIPアドレスとポート番号とをコーン型NATプライベートネットワークユーザノードに割り当てるように適合され、それにより、プライベートネットワークユーザノードは、パブリックIPアドレスとポート番号とをトラッカに登録する。
TURNサーバ機能モジュールは、対称型NATプライベートネットワークユーザノードのエージェントとしてトラッカに登録するように適合される。
上述のように、本発明の実施形態では、一定の条件を満たすユーザノードをスーパーノードとし、スーパーノードは、NATを越える際のプライベートネットワークユーザノードのために、STUNサーバ又はTURNサーバとして、調整及び中継の役割を果たす。更に、ダウンロード要求がない場合、スーパーノードは、下りレートの要求を上りレートが満たすようにするために、自発的にアップロードサービスを提供して過度に低い上りレートを補償し、それにより、NATの背後のプライベートネットワークユーザノードがNATを越えてP2P伝送を達成するのを支援する。同時に、上りレートと下りレートとが非対称である場合に全体的な共有レートはネットワーク内の最小レートによって制限されるという問題が解決され、従って、高い帯域幅要求を有するリアルタイムP2Pビジネスアプリケーションが可能となる。
本発明を実施形態によって上記で開示してきたが、実施形態は本発明を限定することを意図するものではない。本発明の精神及び原理内で行われるいかなる修正、均等物との置換、及び変形も、本発明の範囲内に入る。

Claims (16)

  1. スーパーノードがユーザノードから選択される、ピアツーピア(P2P)コンテンツ共有のための方法であって、
    前記スーパーノードによって、一般ユーザノードから、フラグメントを求める要求を受信し、前記スーパーノード自体を調べて、前記一般ユーザノードによって要求された前記フラグメントが前記スーパーノード内に記憶されているかどうかを確認し、記憶されている場合、前記スーパーノードは、前記スーパーノードの記憶されているフラグメントを前記一般ユーザノードによって共有されるようにアップロードし、記憶されていない場合、前記スーパーノードは、前記一般ユーザノードによって所望される前記フラグメントをその他のスーパーノード又は一般ユーザノードに要求し、取得したフラグメントを前記一般ユーザノードによって共有されるようにアップロードすることを含む、方法。
  2. 前記スーパーノードを前記ユーザノードから選択することは、
    パブリックIPアドレスを有するユーザノードを前記スーパーノードとしてトラッカに登録することを含む、請求項1に記載の方法。
  3. 前記スーパーノードによって、前記一般ユーザノードから、フラグメントを求める前記要求を受信することの前に、前記方法は、
    前記一般ユーザノードによって、トラッカから、スーパーノードリストを取得し、フラグメントを求める前記要求を、前記スーパーノードリスト内の少なくとも1つのスーパーノードに送信することを更に含み、
    前記スーパーノードによって、前記一般ユーザノードによって所望される前記フラグメントを前記その他のスーパーノード又は一般ユーザノードに要求することは、前記スーパーノードによって、前記一般ユーザノードによって所望される一部の前記フラグメントをランダムに選択し、前記その他のスーパーノード又は一般ユーザノードに、前記選択された一部を要求することを含む、請求項1に記載の方法。
  4. トラッカと、一般ユーザノードとを備える、ピアツーピア(P2P)コンテンツ共有のためのシステムであって、前記システムはスーパーノードを更に備え、ダウンロード要求を有さない場合、前記スーパーノードは、一般ユーザノードからの、フラグメントを求める要求に従って、前記スーパーノード自体によって記憶されたフラグメント、あるいは、その他のスーパーノード又は一般ユーザノードから取得したフラグメントを、前記一般ユーザノードによって共有されるようにアップロードする、システム。
  5. 前記スーパーノードはパブリックIPアドレスを有するユーザノードである、請求項4に記載のシステム。
  6. スーパーノードとして働くことが可能なユーザノードであって、
    ユーザノードがスーパーノードであるための条件を満たすことを検出した場合に、前記ユーザノードをスーパーノードとしてトラッカに登録するように適合された、スーパーノード登録モジュールと、
    フラグメント要求処理モジュールであって、一般ユーザノードから、フラグメントを求める要求を受信し、前記処理モジュール自体を調べて、前記一般ユーザノードによって要求された前記フラグメントが前記処理モジュール内に記憶されているかどうかを確認し、記憶されている場合、前記処理モジュールは、前記処理モジュールの記憶されているフラグメントを、前記一般ユーザノードによって共有されるようにアップロードし、記憶されていない場合、前記処理モジュールは、前記一般ユーザノードによって所望される前記フラグメントをその他のスーパーノード又は一般ユーザノードに要求し、取得したフラグメントを前記一般ユーザノードによって共有されるようにアップロードする、フラグメント要求処理モジュールとを備える、ユーザノード。
  7. スーパーノードがユーザノードから選択される、ピアツーピア(P2P)コンテンツ共有のための方法であって、
    プライベートネットワークユーザノードによって、前記プライベートネットワークユーザノード自体のフラグメントを、前記スーパーノードによって割り当てられたパブリックIPアドレスとポート番号とを介して、又はエージェントとしての前記スーパーノードを使用してアップロードして、その他のユーザノードによって共有されるようにするか、又はその他のユーザノードからフラグメントをダウンロードすることを含む、方法。
  8. 前記プライベートネットワークユーザノードによって、前記プライベートネットワークユーザノード自体のフラグメントをアップロードすることの前に、前記方法は、
    パブリックIPアドレスを有するユーザノードを、前記スーパーノードとしてトラッカに登録することを更に含み、ここで、前記プライベートネットワークユーザノードは、前記スーパーノードと相互作用して、前記プライベートネットワークユーザノード自体のネットワークアドレス変換(NAT)がコーン型NATであることを判定し、次に、前記スーパーノードから前記パブリックIPアドレスと前記ポート番号とを取得して、前記パブリックIPアドレスと前記ポート番号とを前記トラッカに登録する、請求項7に記載の方法。
  9. 前記プライベートネットワークユーザノードによって、前記プライベートネットワークユーザノード自体のフラグメントをアップロードすることの前に、前記方法は、
    パブリックIPアドレスを有するユーザノードを、前記スーパーノードとしてトラッカに登録することを更に含み、ここで、前記プライベートネットワークユーザノードは、前記スーパーノードと相互作用して、前記プライベートネットワークユーザノード自体のNATが対称型NATであることを判定し、次に、前記スーパーノードに、エージェントとして前記トラッカに登録するよう要求し、前記スーパーノードは、前記スーパーノード自体のパブリックIPアドレスを前記トラッカに登録する、請求項7に記載の方法。
  10. トラッカと、一般ユーザノードとを備える、ピアツーピア(P2P)コンテンツ共有のためのシステムであって、前記システムはスーパーノードを更に備え、前記スーパーノードは、プライベートネットワークユーザノードがネットワークアドレス変換(NAT)を越えてP2P伝送を達成するのを支援するように適合された、システム。
  11. 前記スーパーノードは、パブリックIPアドレスとポート番号とをコーン型NATプライベートネットワークユーザノードに割り当てるように適合された、STUN(Simple Traversal of UDP Through Network Address Translators)サーバ機能モジュールを更に備え、前記プライベートネットワークユーザノードは、前記パブリックIPアドレスと前記ポート番号とを前記トラッカに登録する、請求項10に記載のシステム。
  12. 前記スーパーノードは、対称型NATプライベートネットワークユーザノードのエージェントとして前記トラッカに登録するように適合された、TURN(Traversal Using Relay NAT)サーバ機能モジュールを更に備える、請求項10に記載のシステム。
  13. プライベートネットワークユーザノードであって、
    前記ユーザノードがプライベートネットワークユーザノードであることを検出し、次に、前記ユーザノードのNATタイプがコーン型NATであるか対称型NATであるかを判定し、そして、判定結果を登録モジュールに送信するように適合された、ネットワークアドレス変換(NAT)タイプ判定モジュールと、
    前記NATタイプ判定モジュールによって送信された前記判定結果を受信するように適合された、登録モジュールであって、前記結果がコーン型NATである場合、前記登録モジュールは、パブリックIPアドレスとポート番号とを前記ユーザノードに割り当てるようスーパーノードに要求し、前記パブリックIPアドレスと前記ポート番号とをトラッカに登録し、前記結果が対称型NATである場合、前記登録モジュールは、少なくとも1つのスーパーノードに登録し、前記スーパーノードに、前記ユーザノードのエージェントとして前記トラッカに登録するよう要求する、登録モジュールとを備える、プライベートネットワークユーザノード。
  14. コーン型NATプライベートネットワークユーザノードがパブリックIPアドレスとポート番号とをトラッカに登録できるように、前記パブリックIPアドレスと前記ポート番号とを前記コーン型NATプライベートネットワークユーザノードに割り当てるように適合された、STUN(Simple Traversal of UDP Through Network Address Translators)サーバ機能モジュール
    を備える、スーパーノード。
  15. 対称型NATプライベートネットワークユーザノードのエージェントとしてトラッカに登録するように適合された、TURN(Traversal Using Relay NAT)サーバ機能モジュール
    を更に備える、請求項14に記載のスーパーノード。
  16. 対称型NATプライベートネットワークユーザノードのエージェントとしてトラッカに登録するように適合された、TURN(Traversal Using Relay NAT)サーバ機能モジュール
    を備える、スーパーノード。
JP2010500055A 2007-03-28 2008-02-02 P2pコンテンツ共有のための方法、システム、及びノード Active JP5050095B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200710073733.8 2007-03-28
CNA2007100737338A CN101026543A (zh) 2007-03-28 2007-03-28 点到点p2p内容共享的方法及***
PCT/CN2008/070245 WO2008116401A1 (fr) 2007-03-28 2008-02-02 Procédé, système et nœuds pour partage de contenu p2p

Publications (2)

Publication Number Publication Date
JP2010522386A true JP2010522386A (ja) 2010-07-01
JP5050095B2 JP5050095B2 (ja) 2012-10-17

Family

ID=38744462

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010500055A Active JP5050095B2 (ja) 2007-03-28 2008-02-02 P2pコンテンツ共有のための方法、システム、及びノード

Country Status (5)

Country Link
EP (1) EP2112788B1 (ja)
JP (1) JP5050095B2 (ja)
KR (1) KR20090115225A (ja)
CN (1) CN101026543A (ja)
WO (1) WO2008116401A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019502182A (ja) * 2015-12-31 2019-01-24 ドロップボックス, インコーポレイテッド 共有コンテンツアイテムのランダム化ピアツーピア同期

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101026543A (zh) * 2007-03-28 2007-08-29 华为技术有限公司 点到点p2p内容共享的方法及***
CN101610162A (zh) * 2008-06-16 2009-12-23 华为技术有限公司 一种基于对等存储网络提供内容的方法、***和设备
CN101399776B (zh) * 2008-10-13 2011-07-20 华为技术有限公司 一种对等网络资源共享的方法、装置及***
CN101478505B (zh) * 2009-01-23 2011-09-07 建汉科技股份有限公司 不同私有网络的网络装置间建立网络***及网络联机方法
CN101873348A (zh) * 2010-06-09 2010-10-27 清华大学 基于网络出口设备的云存储***及其网络访问方法
US20110307538A1 (en) * 2010-06-10 2011-12-15 Alcatel-Lucent Usa, Inc. Network based peer-to-peer traffic optimization
CN101917488B (zh) * 2010-08-20 2013-09-11 华为数字技术(成都)有限公司 一种bt下载方法、装置及***
CN102055609B (zh) * 2010-09-29 2013-04-03 捷鎏科技股份有限公司 低延迟网络拓扑***及其资料传输补偿方法
NL2007502C2 (en) * 2011-09-29 2013-04-02 Hlr Dev B V Data distribution system, method and computer device.
CN103188279B (zh) * 2011-12-27 2016-06-01 中国电信股份有限公司 通过对等网络从多个邻居节点下载文件的方法和装置
NZ607298A (en) 2013-02-19 2014-08-29 Allied Telesis Holdings Kk Improvements in and relating to network communications
CN103259866B (zh) * 2013-05-23 2016-01-27 中国科学院计算机网络信息中心 一种多点传输dns区文件的方法和***
CN104735106A (zh) * 2013-12-20 2015-06-24 乐视网信息技术(北京)股份有限公司 一种节点发送方法及装置
US10142190B2 (en) 2014-12-10 2018-11-27 Allied Telesis Holdings Kabushiki Kaisha Management plane network aggregation
US9634961B2 (en) 2014-12-18 2017-04-25 Allied Telesis Holdings Kabushiki Kaisha Automated configuration of network device
CN104539727A (zh) * 2015-01-15 2015-04-22 北京国创富盛通信股份有限公司 一种基于ap平台的缓存方法和***
TWI595765B (zh) * 2015-10-22 2017-08-11 財團法人工業技術研究院 穿透網路位置轉換器之方法及通訊裝置
CN109104451A (zh) * 2017-06-21 2018-12-28 阿里巴巴集团控股有限公司 Docker镜像的下载方法及节点、Docker镜像的预热方法及节点
CN107483638A (zh) * 2017-09-22 2017-12-15 上海云熵网络科技有限公司 P2p网络节点管理***
CN108600316B (zh) * 2018-03-23 2021-10-08 深圳市网心科技有限公司 云存储服务的数据管理方法、***及设备
CN109040258B (zh) * 2018-08-09 2021-06-18 中国联合网络通信集团有限公司 一种基于私有种子文件的数据处理方法及装置
CN109347968B (zh) * 2018-11-07 2021-09-24 网宿科技股份有限公司 一种下载资源文件的数据块的方法、设备和***
CN110139119B (zh) * 2019-05-20 2020-08-04 湖南康通电子股份有限公司 数字广播***的p2p音频直播分发方法、装置及存储介质
CN112954052A (zh) * 2021-02-07 2021-06-11 深圳市星网储区块链有限公司 一种基于点到点的流媒体分发方法及装置
US12003600B2 (en) 2022-06-21 2024-06-04 Oxylabs, Uab Network coordination between proxy servers

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006025408A (ja) * 2004-07-07 2006-01-26 Microsoft Corp ピアツーピアコンピュータネットワーク内の効率的な一対多コンテンツ配信

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004046969A1 (en) * 2002-11-15 2004-06-03 Bigchampagne, Llc. Monitor file storage and transfer on a peer-to-peer network
CN1901540A (zh) * 2005-12-02 2007-01-24 陈勇 解决p2p应用问题的方法
CN1852381B (zh) * 2006-05-30 2011-06-22 四川长虹电器股份有限公司 多媒体通信方法
CN101026543A (zh) * 2007-03-28 2007-08-29 华为技术有限公司 点到点p2p内容共享的方法及***

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006025408A (ja) * 2004-07-07 2006-01-26 Microsoft Corp ピアツーピアコンピュータネットワーク内の効率的な一対多コンテンツ配信

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019502182A (ja) * 2015-12-31 2019-01-24 ドロップボックス, インコーポレイテッド 共有コンテンツアイテムのランダム化ピアツーピア同期
US10257272B2 (en) 2015-12-31 2019-04-09 Dropbox, Inc. Randomized peer-to-peer synchronization of shared content items
JP2019149170A (ja) * 2015-12-31 2019-09-05 ドロップボックス, インコーポレイテッド 共有コンテンツアイテムのランダム化ピアツーピア同期

Also Published As

Publication number Publication date
KR20090115225A (ko) 2009-11-04
EP2112788A1 (en) 2009-10-28
JP5050095B2 (ja) 2012-10-17
CN101026543A (zh) 2007-08-29
EP2112788A4 (en) 2010-08-25
WO2008116401A1 (fr) 2008-10-02
EP2112788B1 (en) 2014-10-15

Similar Documents

Publication Publication Date Title
JP5050095B2 (ja) P2pコンテンツ共有のための方法、システム、及びノード
US20230115557A1 (en) Method and System for Transmitting Data in a Computer Network
EP2420035B1 (en) Method and apparatus for reducing traffic in a communications network
US8606846B2 (en) Accelerating peer-to-peer content distribution
Dannewitz et al. Network of information (netinf)–an information-centric networking architecture
Kim et al. Performance analysis of in-network caching for content-centric networking
US7995473B2 (en) Content delivery system for digital object
JP5102361B2 (ja) 無線メッシュ・ネットワークにおけるコンテンツ・サービスのための統一されたピア・ツー・ピア・キャッシュ・システム
US20090100128A1 (en) Accelerating peer-to-peer content distribution
US20080040420A1 (en) Content distribution network
CN104967677B (zh) 一种基于ndn缓存优化的文件传输方法以及装置
WO2010028590A1 (zh) 地址列表的提供方法、对等网络及其调度方法
IL197007A (en) Cache structure
WO2012022216A1 (zh) 内容交付网络及内容交付方法
WO2008017502A1 (en) Content distribution network
KR20150099944A (ko) 피투피 기반 파일 전송 제어 방법 및 이를 위한 피투피 통신 제어 장치
WO2009076251A2 (en) Accelerating peer-to-peer content distribution
US20130238683A1 (en) Method, system and computer program product for providing files to a client
WO2012029248A1 (ja) データ転送システム
JP2013531852A (ja) トポロジサーバを用いた、通信アーキテクチャにわたって分散されたノードのネットワークに対する秘密または保護されたアクセス
Alghamdi et al. Fog-Based CDN Architecture Using ICN Approach for Efficient Large-Scale Content Distribution
KR101535085B1 (ko) 피투피 통신 제어 방법 및 장치
Rajasekhar et al. A scalable and robust qos architecture for wifi p2p networks
Bosunia et al. Efficient data delivery based on content-centric networking
Meng et al. Peer-to-peer file sharing in next generation eXpressive Internet Architecture

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111014

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111021

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111117

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120420

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120427

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

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

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

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5050095

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250