Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4994458B2 - コントリビューション認識ピアツーピアライブストリーミングサービス - Google Patents
[go: Go Back, main page]

JP4994458B2 - コントリビューション認識ピアツーピアライブストリーミングサービス - Google Patents

コントリビューション認識ピアツーピアライブストリーミングサービス Download PDF

Info

Publication number
JP4994458B2
JP4994458B2 JP2009539236A JP2009539236A JP4994458B2 JP 4994458 B2 JP4994458 B2 JP 4994458B2 JP 2009539236 A JP2009539236 A JP 2009539236A JP 2009539236 A JP2009539236 A JP 2009539236A JP 4994458 B2 JP4994458 B2 JP 4994458B2
Authority
JP
Japan
Prior art keywords
peer
peers
parent
contribution
bandwidth
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
JP2009539236A
Other languages
English (en)
Other versions
JP2010515113A (ja
JP2010515113A5 (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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2010515113A publication Critical patent/JP2010515113A/ja
Publication of JP2010515113A5 publication Critical patent/JP2010515113A5/ja
Application granted granted Critical
Publication of JP4994458B2 publication Critical patent/JP4994458B2/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • 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/1082Resource delivery mechanisms involving incentive schemes
    • 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)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、一般に、ピアツーピアネットワーキングに関し、詳細には、ピアツーピアネットワークを介するインセンティブベースのライブストリーミング(live streaming)に関する。
ピアツーピア(P2P)ライブストリーミング環境では、2つのタイプのアプローチ、すなわち、ツリーベースとメッシュベースのアプローチがある。ツリーベースのアプローチのためのコントリビューション認識(contribution aware)P2Pライブストリーミングを提供することに関して、いくつかの成果があがっている。メッシュベースのアプローチのためのコントリビューション認識P2Pライブストリーミングを提供することに関しては、知られた成果はあがっていない。しかし、メッシュベースのアプローチは、ロバスト性、効率性などに関してツリーベースのアプローチよりも性能が良い。
P2Pライブストリーミングに対するメッシュベースのアプローチにおいて、その環境は、制約された不均一(heterogeneous)な発信帯域幅(outgoing bandwidth)を有するピアによって特徴づけられる。ピアが制約された不均一な発信帯域幅を有するメッシュベースのアプローチのためのコントリビューション認識P2Pライブストリーミングを提供することが望ましい。
本明細書では、ライブストリーミングをビデオに関して説明するが、デジタルオーディオなど任意のタイプのライブストリーミングメディアも含むことができる。本明細書で使用される「/」は、同一または同様のコンポーネントの代替名を示す。本発明の一実施形態では、メッシュベースのピアは、ランダムに接続された有向のオーバレイ/メッシュを維持する。P2Pライブストリーミングのメッシュベースのアプローチでは、ピア/ユーザは、ネットワークに対する貢献意欲(willingness to contribute)に比例した異なるレベルのサービスを受け、意欲は、帯域幅毎のフロー(bandwidth per flow)によって除算された、メッシュオーバレイへのピアのアップリンク帯域幅の貢献によって測定される。
ピアツーピアストリーミングオーバレイは、不均一で非対称かつ制限された帯域幅を有するピアで構成される。そのような環境において個々のピアへの配信品質(delivered quality)を最大化するための1つのアプローチでは、例示的なシステムは、各ピアへの配信品質がその貢献に比例することを保証する。基本的に、例示的なリソース制約システムにおける配信品質は貢献を認識したものである。本発明の例示的な一実施形態によれば、コントリビューション認識機構は、メッシュベースのピアツーピアライブストリーミングシステムに組み込まれる。
一実施形態では、参加ピア(participating peer)は、子ピア(child peer)がその必要パケットを1つまたは複数の親ピアからプル(pull)するスウォーミング型コンテンツ配信(swarming content delivery)を組み込む。オーバレイを形成するため、各ピアは、その必要なコンテンツをそこからプルするある数の親ピアを維持する。各ピアは、特定の数の子ピアの親としても機能し、それらにコンテンツを提供する。
P2Pネットワークへの加入を望むピアは、本明細書では、加入ピア(joining peer)または要求ピア(requesting peer)と呼ばれる。ブートストラップノード(bootstrap node)は、ゲートキーパ(gatekeeper)として振舞うノードである。加入ピアは、P2Pネットワークに加入するために、ブートストラップノードと交信(contact)する。ブートストラップノードは、P2Pネットワーク内のピア/ユーザの総数を加入ピアに通知する。それと引き換えに、加入ピアは、該加入ピアがP2Pオーバレイ/ネットワークに貢献する意思のある帯域幅によって測定された貢献意欲をブートストラップノードに報告する。ブートストラップノードによって提供された情報を使用して、加入ピアは、該加入ピアが接続することができる親ピアの数を計算する。本発明の一実施形態では、ブートストラップノードは、すべての参加ピアのステータス情報を維持する。加入/要求ピアからの要求に応答して、ブートストラップノードは、着信要求のための新たな子ピアを受け入れることが可能な、無作為に選択された親/参加ピアのセットを提供する。
各ピアは、オーバレイのステータスおよびピア自身の帯域幅の貢献に基づいて、ある特定の数の有権利親ピア(entitled parent peer)(ri)を維持しようと試みる。これにより次に帯域幅が決定され、その結果、ピアが受信できる通信の品質が決定される。各個々のピアは、その意欲および子ピアの利用可能性に基づいて、ある特定の数の他のピアの子として機能する。
ピアツーピアネットワークにおけるライブストリーミングのためのコントリビューション認識の方法およびシステムが説明され、これは、ピアの有権利度数(entitled degree)および超過度数(excess degree)を計算するステップと、潜在的な(potential)親ピアを識別して交信するステップと、接続ポリシーを実施するステップとを含む。
一実施形態では、参加ピアがオーバレイを形成し、オーバレイ上で、個々のピアが、利用可能コンテンツのサブセットを接続ピアに転送することによって、その発信帯域幅を提供する。ツリーベースのアプローチでは、参加ピアは、1つまたは複数のツリー形状のオーバレイを形成し、各ピアは、ストリーム全体またはその特定の部分(例えば、サブストリームまたは記述(description))を各接続ピアにプッシュ(push)する。
本発明のさらなる一実施形態では、コントリビューション認識ピアツーピアシステムは、少なくとも1つの飽和ピア(saturated peer)を含む。飽和ピアは、その有権利度数が最大許容度数より大きいピアとして定義される。ピア度数は、整数値だけを取ることができる。一実施形態では、ピアは、「実際の着信度数(actual incoming degree)および超過度数」を有する。
加入コントリビューション認識ピア(joining contribution−aware peer)のピアツーピアネットワークへの加入を許可する方法が説明され、該方法は、システムリソースインデックス(resource index)をさらに含む複数のシステムパラメータを、加入ピアで受信するステップと、加入ピアの有権利着信度数(entitled incoming degree)の値を計算するステップとを含み、計算された有権利着信度数は、システムリソースインデックスの値を反映している。また、コントリビューション認識ピアツーピアネットワークのためのブートストラップノードが説明され、該ブートストラップノードは、プロセッサデバイスと、プロセッサデバイスに結合されたネットワークインタフェースデバイスとを含み、ネットワークインタフェースデバイスは、通信ネットワークに結合されるように適合され、プロセッサデバイスは、潜在的な親ピアの識別情報を求める要求を通信ネットワークからネットワークインタフェースデバイスを介して受信するように適合され、その一方で、プロセッサデバイスは、複数のデバイス識別値およびシステムパラメータを用いて応答するように適合される。
本発明の一実施形態では、コントリビューション認識メッシュベースピアツーピアストリーミングのピアは、その貢献に比例した品質を受け取る。本発明の別の実施形態では、コストファクタ(cost factor)/タックスレート(tax rate)に関わらず、リソース利用度は95%より大きい。本発明のさらに別の実施形態では、追加のプリエンプションポリシー(preemption policy)を排除し、(現在の貢献ではなく)ピアの意欲を考慮し、その結果、オーバレイ安定性が著しく向上する。本発明のまたさらなる実施形態では、説明されるコントリビューション認識機構は、スケーラブルであり、望ましくはグループサイズに関わらず機能する。本発明のまた別の実施形態によれば、オーバレイにおける情報配信の頻度の増加は、メッセージのオーバヘッドを減少させるが、存続期間の短いピアの受信品質を低下させる。本発明のまた別の実施形態では、接続の総数によって配信品質が決定され、それらがどの接続であるかではない。
本発明の様々な実施形態が、_年_月_日に___に発表された論文(非特許文献1参照)中でさらに説明されている。
本明細書で使用される通信ネットワークは、通信ネットワーク上のオーバレイであるピアツーピアネットワークを含む。本明細書で使用される通信ネットワークは、有線とすることもでき、または無線とすることもできることに留意されたい。
本発明は、以下の詳細な説明を添付の図面ともに読むことで最も良く理解される。図面は、以下で簡潔に説明される以下の図を含む。
拡散ツリーの概略図である。 本発明によるシステムの主要なプリミティブを示す図である。 集中ピア発見の方法を示す概略図である。 集中ピア発見方法における要求ピアとブートストラップノードの間の通信を示すブロック図である。 図3Bの要求ピアの詳細な動作を示す概略図である。 集中ピア発見方法における既存ピアとブートストラップノードの間の通信を示すブロック図である。 図3Dの交信ピアの詳細な動作の概略図である。 分散ピア発見の方法を示す概略図である。 分散ピア発見方法における要求ピアとブートストラップノードの間の通信を示すブロック図である。 図4Bの要求ピアの詳細な動作の概略図である。 図4Bの交信ピアの詳細な動作の概略図である。 半分散ピア発見の方法を示す概略図である。 半分散ピア発見方法における要求ピアとブートストラップノードの間の通信を示すブロック図である。 図5Bの要求ピアの詳細な動作の概略図である。 図5Bの交信ピアの詳細な動作の概略図である。 ピア発見プロセスのフローチャートである。 本発明の実施形態による、基本コストファクタ/タックスレート関数のグラフ表示である。 本発明の実施形態による、フロアリング(flooring)を含むタックスレート/コストファクタ関数のグラフ表示である。 本発明の実施形態による、フロアリングおよび飽和を考慮したタックスレート/コストファクタ関数のグラフ表示である。 本発明の実施形態による、典型的な低貢献ピアの着信度数の変動のグラフ表示である。 本発明の実施形態による、典型的な高貢献ピアの着信度数の変動のグラフ表示である。 本発明の実施形態による、存続期間に基づいたピアの平均着信度数のグラフ表示である。 本発明の実施形態による、タックス値/コストファクタが2である場合の度数の加重平均の分布のグラフ表示である。 本発明の実施形態による、チャーン(churn)に起因する平均親切断率のグラフ表示である。 本発明の実施形態による、プリエンプションに起因する平均親切断率のグラフ表示である。 本発明の実施形態による、切捨てが施された計算された有権利接続の本発明のグラフ表示である。 本発明の実施形態による、有権利ピア加重平均のグラフ表示である。 本発明の実施形態による、着信度数加重平均のグラフ表示である。 本発明の実施形態による、高帯域幅ピアの平均有権利および超過着信度数のグラフ表示である。 本発明の実施形態による、低帯域幅ピアの平均有権利および超過着信度数のグラフ表示である。 本発明の実施形態による、加重平均発信度数のグラフ表示である。 本発明の実施形態による、平均利用度のグラフ表示である。 本発明の実施形態による、プリエンプションに起因する切断率のグラフ表示である。 本発明の実施形態による、切捨てが施された計算された有権利接続のグラフ表示である。 本発明の実施形態による、タックスレート/コストファクタに関して取られた有権利加重平均のグラフ表示である。 本発明の実施形態による、高帯域幅ピアの平均有権利および超過着信度数のグラフ表示である。 本発明の実施形態による、低帯域幅ピアの平均有権利および超過着信度数のグラフ表示である。 本発明の実施形態による、加重平均発信度数のグラフ表示である。 本発明の実施形態による、平均利用度のグラフ表示である。 本発明の実施形態による、加重平均着信度数のグラフ表示である。 本発明の実施形態による、高帯域幅ピアの平均有権利および超過着信度数のグラフ表示である。 本発明の実施形態による、低帯域幅ピアの平均有権利および超過着信度数のグラフ表示である。 本発明の実施形態による、加重平均着信度数のグラフ表示である。 本発明の実施形態による、高帯域幅ピアの平均有権利および超過着信度数のグラフ表示である。 本発明の実施形態による、低帯域幅ピアの平均有権利および超過着信度数のグラフ表示である。 本発明の実施形態による、異なる存続期間を有する高帯域幅ピアの平均着信度数のグラフ表示である。 本発明の実施形態による、異なる存続期間を有する低帯域幅ピアの平均着信度数のグラフ表示である。 本発明の実施形態による、異なる存続期間を有するピアの正規化チャーン頻度のグラフ表示である。
本発明の一実施形態によれば、参加ピアの間で帯域幅を分配するための選択ポリシーは、P2Pネットワークにおけるピアの貢献に基づいている。N個のピアが存在し、ピアi(pi)の意欲がWiであると仮定すると、本明細書で説明されるヒューリスティックは、piが有することができる有権利親ピア(entitled parent peer)の総数Riを決定する。汎用的なコスト関数(cost function)を使用して、各ピアが有することができる有権利の親の数を決定する。
Figure 0004994458
ここで、Riは(有権利度数(entitled degree)とも呼ばれる)有権利親ピアであり、Nは参加ピアの数であり、Wiはpiの意欲であり、tはタックスレート/コストファクタである。1より大きなタックスレート/コストファクタを使用することによって、システム内に追加の帯域幅が存在すると想定される。
親発見プロセスは、有権利親ピアの数 i が決定された後に起こる。各ピアは、接続する(接続を形成する)親ピアを少なくともRi個見つけるべきである。親発見プロセスは、帯域幅を公平かつタイムリーな方法で分散させるべきである。本明細書では、ピアが適切な親ピアを発見することを可能にする、集中(centralized)、分散(distributed)、および半分散(semi−distributed)の3つの異なるアプローチを説明する。また本明細書では、加入/要求ピアの適切な親ピアを見つけることができるデバイスも説明される。
P2Pオーバレイを介したライブマルチメディアストリームの配信は、インターネット上の1対多のストリーミングをサポートするための有望なアプローチである。このアプローチは一般に、P2Pストリーミングと呼ばれる。P2Pストリーミングでは、参加ユーザ(ピア)は、その利用可能コンテンツを他のピアに転送することによって、そのリソース(帯域幅と記憶空間の両方)を積極的に提供する。利用可能なリソースの総数は、ユーザ/ピアの数(population)に対応し、潜在的に任意の数の参加ピアに適合することができる。参加ピアがオーバレイを形成し、それを介して、個々のピアは、その利用可能コンテンツのサブセットを、該個々のピアに接続されたピアに転送することによって、その発信帯域幅を提供する。
P2Pストリーミングプロトコルの設計における努力の大部分は、システム内の大量のリソースが提供される環境に制限されてきた。しかし、概して無視されてきたが現実の展開では重大な一部の重要な側面は、ピアが非対称かつ不均一な帯域幅を有し、オーバレイ内に十分なリソースをもたない点である。本発明は、ホストが、その限られた発信帯域幅または意欲の欠如が原因で一定しない貢献をオーバレイに行う、不均一性の高い環境を考慮することによって、これらの問題に対処する。さらに、これらの環境では、システム内の全リソースは、全ての人が完全な品質のストリームを受信するのに十分でなくてもよい。
システム内のすべてのリソースを有効に利用しながら、ピアがその貢献に比例した品質のストリームを受信できるようにすることが望ましい。これらのポリシーは、高帯域幅ピアの帯域幅をより良く利用することができ、低帯域幅ピアよりも良い品質を提供することができ、より高い品質で受信するためにより多くの貢献をするようピアに促すことができる。集中、分散、および半分散を含む、システムリソース全体をモニタリングする可能な方法を検討する。
PRIMEは、各P2Pストリーミングシステムが、2つの主要なコンポーネント、すなわち、(i)参加ピアをオーバレイに編成するオーバレイ構成と、(ii)オーバレイを介して個々のピアへのコンテンツの配信を決定するコンテンツ配信とで構成される、ライブストリーミング技法である。本発明の一実施形態によれば、これらの特徴は、コントリビューション認識機構と組み合わされる。
参加ピアは、ランダムに接続されたオーバレイまたはメッシュを形成し、該オーバレイまたはメッシュは有向グラフ(directed graph)である。各ピアは、ある特定の数の親ピアと、ある特定の数の子ピアを保持し、該ある特定の数の親ピアからコンテンツを取り出し、該ある特定の数の子ピアにコンテンツを配信する。各ピアについて、親ピアの数および子ピアの数はそれぞれ、そのピアの着信度数(incoming degree)および発信度数(outgoing degree)と呼ばれる。参加ピアのアクセスリンク帯域幅を有効に利用するため、各ピアの着信度数および発信度数は、利用可能な着信帯域幅bdownおよび発信帯域幅bupに比例して設定される。着信(または発信)帯域幅の着信(または発信)度数に対する比は、各接続の平均帯域幅を表し、帯域幅毎のフロー(bandwidth−per−flow)、すなわちbwpfと呼ばれる。
bwpfは、事前選択され個々のピアに知られている構成パラメータである。具体的には、ピアの着信度数および発信度数はそれぞれ、bdown/bwpfおよびbup/bwpfとなるように設定される。このような一実施形態では、各接続は、おおよそ同量のデータレートを受信ピアに提供する。したがって、一実施形態によれば、ピアの受信品質は、その着信ピアの数に比例する。
一実施形態では、スウォーミング型に類似の(swarm−like)コンテンツ配信機構が、コンテンツ配信に利用される。スウォーミング型コンテンツ配信の主な利点は、参加ピアの発信帯域幅を有効に利用できるその能力と、参加ピアのダイナミクス(またはチャーン(churn))に対するそのロバスト性にある。スウォーミング型に類似のコンテンツ配信は、プッシュコンテンツ報告(push content reporting)をプルコンテンツ要求(pull content requesting)と組み合わせる。親ピアとして、各ピアは、新たに受信したパケットをその子ピアに定期的に報告する。子ピアとして、各ピアは、各親ピアにおいて報告された利用可能なパケットと、各親ピアから要求している子ピアへの利用可能な帯域幅とに基づいて、要求パケットのサブセットをその親ピアに定期的に要求する。一実施形態では、これらの子ピアの要求は、定期的に行われる。
各親ピアからの要求パケットは、パケットスケジューリングアルゴリズムによって決定される。一実施形態では、ある親ピアは、子ピアから要求パケットのリストを定期的に受信し、要求順にパケットを配信する。各親ピアは、各子ピアによって要求されたパケットを、TCPまたはRAPなどの輻輳制御機構を介して配信する。一実施形態では、各ピアの情報は、ハートビートメッセージ(heart−beat message)回毎に、定期的に更新される。
ピア間での帯域幅の不均一性に適合するために、一実施形態において、コンテンツは、MDC(multiple description coding)を用いて符号化される。MDCは、ストリーミングコンテンツをいくつかのサブストリームに編成し、各サブストリームは、独立に復号される。各ピアに対する配信品質は、受信する独立のサブストリームの数に比例する。MDC符号化によって、各ピアは、そのアクセスリンク帯域幅を介して配信される適切な数のサブストリームを受信することができる。
パケットスケジューリングアルゴリズムは、次の2つの目標を達成するべきである。
(i)各親ピアからの利用可能な帯域幅を十分に利用することと、
(ii)子ピアによって要求されたパケットの時間内(in−time)配信を保証することである。
様々な実施形態では、システムの有効性は、各ピアが適切な数の子ピアを有し、そのリソースが有効に利用されているかどうか、および各ピアが、利用可能なリソースの割り当てに比例した適切な数の親との接続を識別し、確立することができるかどうかに従って決定される。一部の実施形態によれば、コントリビューション認識機構の性能の評価は、専らピア間の生産性に基づき、コンテンツ配信機構および実際の配信品質は考慮されない。一実施形態では、メッシュベースのピアツーピアストリーミングに関するコントリビューション認識機構の性能は、1つまたは複数の個々のピアがそれぞれ着信度数および発信度数を特定の値に維持できる能力に基づいて評価される。
少なくとも一実施形態では、オーバレイメッシュ(ソースから各ピアに到達するためにパケットが辿る経路)を介して個々のパケットを配信するパターンは、すべての参加ピアにおけるパケットスケジューリングアルゴリズムの集団的挙動(collective behavior)、およびオーバレイメッシュのトポロジに依存する。様々な実施形態において、各ピアは、(受動測定を通して)利用可能な帯域幅と、(定期的な報告を使用して)各親ピアにおいて利用可能なコンテンツの動向を追跡する。
この情報が与えられると、スケジューリングアルゴリズムが定期的に起動され、各親ピアからの要求パケットが2つのステップで決定される。第1に、スケジューラは、最後の報告期間中に親ピア間に利用可能になった、最高のタイムスタンプを有する新しいパケットを識別する。これらの新しいパケットは常に、子ピアによって親ピアに要求される。第2に、一実施形態では、着信帯域幅を十分に利用するために、他の喪失パケット(missing packets)のランダムなサブセットを、各親ピアに要求する。負荷平衡を達成するために、あるパケットが2つ以上の親ピアで利用可能である場合、該パケットは、親ピアによってサービスされ得る全パケットに対する要求パケットの比が最も低い親から要求される。
様々な実施形態によれば、ブートストラップノードは、ピア間の接続を暗黙的に調整し、それにより、親発見プロセス中の成功の確率が増大する。少なくとも一実施形態において、親は、交信ピア(contacted peer)のステータスの最近の変更を理由に要求を拒否できることに留意されたい。一実施形態によれば、交信ピアを親として機能させる要求に先立って、最小限のローカル状態情報(すなわち、Wi、ai、およびRi)を交換する。
上述のスケジューリングアルゴリズムを利用する一部の実施形態では、コンテンツの各セグメントは、2つのフェーズ、すなわち拡散フェーズ(diffusion phase)とスウォーミングフェーズ(swarming phase)で個々の参加ピアに配信される。拡散フェーズでは、各ピアは、より高いレベルの(ソースにより近い)親ピアから新しいセグメントのいずれかの部分を受信する。したがって、新たに生成されたセグメントのいくつかの部分は、異なるレベルのピアによって徐々にプルされる。例えば、新たに生成されたセグメントのいくつかの部分は、1回の周期(one time period)(Δ)の後、レベル1のピアによってプルされ、次いで2×Δの後、レベル2のピアによってプルされ、それ以降も同様である。d回の周期の後、オーバレイ内のすべてのピアは、新しいセグメントの一部分を有する。
したがって、一部の実施形態では、セグメントの各部分は、ソースによって一度だけ配信される。したがって、拡散フェーズ中にセグメントの部分を受信するピアのグループは、レベル1のピアをルートとするツリーを形成し、拡散ツリー(diffusion tree)と呼ばれる。図1の影付きノードは、拡散ツリーを形成する。レベルiのピアからレベルi+1のその子ピアへのすべての接続は、拡散接続(diffusion connection)と呼ばれる。これらの接続は、拡散ツリー上に配置される。
スウォーミングフェーズでは、各ピアは、同じまたはより低いレベルの(ソースからより遠い)親ピアからセグメントのすべての喪失部分を受信する。これらの親ピアは、スウォーミングペアレント(swarming parent)と呼ばれる。スウォーミングペアレントがセグメントのすべての喪失部分をもたないことがあるので、スウォーミングフェーズは、2回以上の周期を要することがある。拡散接続を除いて、オーバレイメッシュにおける他のすべての接続は、スウォーミング接続(swarming connection)である。スウォーミング接続のコレクションは、スウォーミングメッシュ(swarming mesh)と呼ばれる有向メッシュを形成する。スウォーミングメッシュを使用して、各セグメントの異なる部分を異なる拡散ツリーの間で交換する。
要約すると、任意の新しいセグメントの各部分は、そのセグメントの拡散フェーズ中に特定の拡散ツリーを通って拡散される。次いで、利用可能な部分が、そのセグメントのスウォーミングフェーズ中にスウォーミングメッシュを通して異なる拡散ツリー内のピア間で交換される。
システムにおいてピアが、その貢献に比例した品質を受信できるようにするために、上述のP2Pストリーミング技法は、図2に示される以下の4つの機構を用いて増補される。
1.システムレベルの情報の更新と伝播
2.ピアの有権利および超過接続の計算
3.ピア発見
4.ポリシー
図2を参照すると、ポリシープリミティブ(policy primitive)の「更新」は、システムワイドパラメータである、N、Wi、およびpiの実際貢献(fi)を計算し、該パラメータをネットワーク内のすべてのピアに伝播させる必要があることを表す。有権利(Ri)および超過(Ei)の着信度数は、以下で与えられる式に従って、各ピアについて計算される。
分散ピア発見の実施形態では、ピアのプール全体からの潜在的ピアと交信することによって、Ri+Ei個のアイドル親ピア、または潜在的にプリエンプト可能な(preemptable)子ピアを有する親ピアを見つける試みが行われる。集中ピア発見の実施形態では、ブートストラップノードによって選択されたピアのセット/リスト/キューを介して、Ri+Ei個のアイドル親ピア、または潜在的にプリエンプト可能な子ピアを有する親ピアを見つける試みが行われる。他の実施形態では、集中ピア発見と分散ピア発見の実施形態を組み合わせた特徴を有する実施形態を含む、代替的なアプローチが使用される。すでに接続されている潜在的ピアを見つけた場合、表2によるルールを使用して、該潜在的ピアの子がプリエンプト可能かどうか判断する。子ピアがプリエンプト可能である場合、該子ピアに割り込む。
システムレベルパラメータは、ライブストリーミングの進行中に更新され、伝播される必要がある。これらのパラメータは、表1で定義されるようにN、Wi、およびfiを含む。到着時に、一実施形態によれば、加入ピアは、ブートストラップノードと交信し、該ブートストラップノードに他のピアに提供する意欲(Wi)を通知する。ほぼ同時に、一実施形態によれば、加入ピアは、該加入ピアが接続できる潜在的親ピアのリストを受信する。ブートストラップノードは、上記一実施形態では、システム内のピアの総数Nと、すべてのピアについて集約された意欲Σ(Wi)についての情報を有する。
ピアは離脱する(depart)とき、ブートストラップノードと交信し、オーバレイから登録抹消(すなわち離脱(departure)を登録)されるべきである。クラッシュまたは他の致命的な状態が存在する場合、ピアは、オーバレイからの登録抹消に失敗することがある。それ以外の場合、終了ピア(exiting peer)は、ブートストラップノードにオーバレイからの離脱を通知すべきである。例えば、本発明の一実施形態によれば、各ピアは、離脱の直前にBYEメッセージをブートストラップノードに送信する。ブートストラップノードは、指定の時間間隔(例えば、2×τ秒、ここで、τはハートビート間隔などの標準時間間隔)の間にピアからハートビートメッセージを受信しない場合、ピアが離脱したと仮定して、そのピアの記録を削除する。ブートストラップノードは、一実施形態では、個々のピアの更新された状態を維持し、したがって、NおよびPWiなどのグループレベルの状態の特徴を容易に判断することができる。
Figure 0004994458
ピアpiの実際の貢献fiは、時間とともに変化する。したがって、システムは、すべてのピアについて集約された貢献Σ(fi)を計算するために、この情報を定期的にリフレッシュする必要がある。計算は、以下で説明される2つの例示的な方法を含め、様々な方法で実行することができる。
・集中更新:このアプローチでは、ピアは、その実際の貢献が変化した場合は常に、ブートストラップノードと交信する。
・分散更新:このアプローチでは、貢献情報は、拡散ツリーに沿って伝播される。ピアは、その現在の貢献に(拡散ツリー内の)後続(子)ピアについて集約された貢献を加算したものに関して、拡散ツリー内の親ピアを定期的に更新する。第1レベルのピアは、更新をグローバルブートストラップノードに送信する。分散更新では、情報は定期的(または実施形態によっては散発的)に更新されるだけなので、Σ(fi)の値は、正確でないことがある。しかし、更新の間の時間間隔を調整することによって、十分な正確性が達成される。
N、Σ(Wi)、およびΣ(fi)の集約情報も、以下で説明されるように、ピアが有権利および超過着信接続の数を計算するために、すべてのピアに伝播させる必要がある。この伝播も、集中または分散スキーマによって行うことができる。例示的な集中スキーマでは、ブートストラップノードは、すべてのピアにN、Σ(Wi)、およびΣ(fi)の現在の値を定期的に通知する。例示的な分散スキーマでは、情報は、拡散ツリーを通じてルート(ブートストラップノード)からすべてのピアに分配される。
親発見機構の目標は、各ピアが、必要な数の親を見つけて、所望の数の接続を確立できるようにすることである。本発明の一実施形態によれば、各ピアは常に、Ri個の有権利接続を確立し、その後、超過接続を確立できる可能性を探る。そのような一実施形態では、ピアiの有権利度数Riは、以下の式を使用して計算される。
Figure 0004994458
ここで、tは、タックスレート/コストファクタを表すパラメータであり、システム内の追加の帯域幅を保証するために、t>1である。Riは基本的に、2つの項の和である。第1項は、ピアがWiの貢献をすることによって受信する権利がある最低帯域幅を表し、第2項は、ピアあたりの残りの平均帯域幅である。ピアiの計算された超過着信度数は、
i=Max−Ri (3)
である。
ピアは、その有権利度数を計算すると、それをサポートする超過度数を有するピアを見つけようと試みる。すなわち、超過度数を有するピアは、超過度数を有するピアが追加的な接続を行う手助けができる親ピアを探す。このようにして、超過度数を有するピアは、その貢献を改善し、それによってその品質を改善する。ピア発見プロセスは、以下で説明される3つの異なるアプローチを使用して行うことができる。
本発明の一実施形態によれば、各子ピアは、親からの着信接続を有権利または超過としてラベル付けしないことに留意されたい。代わりに、子ピアは、接続の実際の数(ai)と有権利度数Riの動向を追跡するだけである。Riは、ブートストラップノードからの各報告の後、定期的に更新される。本発明の様々な実施形態では、すべての接続は同じ帯域幅を有するので、これが実行可能である。
集中ピア発見では、ブートストラップノードは、システム内のすべてのピアの動向を追跡するテーブルを保持する。各ピアは、例えば、テーブル内に1つのエントリ(id,Wi,fi,ei,ri)を有し、ここで、idは、ピアの識別(identification)である。Wiとfiの差は、このピアにおける空スロットの数を示す。一実施形態では、システム内のすべてのピアは、拡散ツリー内のすべての子ピアと、対応するパラメータとのテーブルも保持する。一実施形態によれば、セッション中、各ピアは、τ秒毎に1回(上述したようにτは標準時間間隔である)、ハートビートメッセージをブートストラップノードに送信する。ハートビートメッセージを用いて、ピアは、有権利度数(Ri)およびその親のリストとともに、実際の発信度数(fi)および着信度数(ai)を含む、その動的なプロパティの値を報告する。
したがって本発明の一実施形態によれば、ブートストラップノードは、最も最近のグループレベルの状態をすべての参加ピアに定期的に報告する。例示的な一実施形態では、この報告はτ秒毎に行われる。一実施形態では、ピアは、ブートストラップノードから新しい報告を受信すると、上記の式(2)を使用して、その有権利接続の数(Ri)を決定する。Riの値が、対応するピアの現在の着信度数より大きい場合、該ピアは、さらに親の発見を継続する。対照的に、ピアは、その有権利着信度数が低下した場合、それに応じてeiを増加させる。
更新周期τは、したがって、一実施形態ではブートストラップノードにおける状態情報の新しさと信号伝達オーバヘッドの間のトレードオフを決定する構成パラメータである。より具体的には、τの値の増加は、信号伝達オーバヘッドを減少させる。
一実施形態では、ピアは、そのRiの低下を理由に推測によって着信接続を切断することはなく、むしろ、実際の超過着信度数を増加させることに留意されたい。要求および適切なプリエンプションにおいて、追加の超過接続は親ピアによって切断されることがある。このアプローチは、ブートストラップノードにおける状態情報の正確性がより低下するというコストを払って、状態収集および報告に関連するシステム内のダイナミクスおよび引き起こされるチャーンを減少させる。例えば、一実施形態では、τのデフォルト値は、10秒である。
様々な実施形態では、各ピアは、離脱する直前にBYEメッセージをブートストラップノードに送信する。ブートストラップノードは、2×τ秒の間にハートビートメッセージをピアから受信しない場合、ピアが離脱したと仮定し、その記録を削除する。本発明の一実施形態によれば、ブートストラップノードは、個々のピアの更新された状態を維持し、したがって、NおよびΣWiなどのグループレベルの状態を容易に決定することができる。本発明の一実施形態によれば、チャーンに起因する、正規化された親の切断率は、ピアの帯域幅に依存しない。
ここで図3A〜図3Eを参照すると、有権利または超過接続を確立するために、各ピアは最初に、より多くの子ピアに適合できる可能性のある参加ピアのサブセットについての交信情報を、ブートストラップノードから取得する必要がある。したがって、本発明の一実施形態では、要求ピア(接続できる潜在的ピアの発見を要求するピア)は、要求を、それ自体のパラメータであるrA、eA、fAと一緒に、ブートストラップノードに送信する(1)。
一実施形態によれば、ブートストラップノードは、すべての参加ピアの状態(すなわち潜在的な親)を維持しているので、潜在的な親を識別し、該潜在的な親のランダムなサブセットを、より多くの親を探しているピアに提供することができる。したがって、一実施形態では、ブートストラップノードは、要求ピアを潜在的に受け入れて要求ピアの親ピアになることができる、すべての潜在的親ピアのリストを要求ノードに返す(1)。
一実施形態によれば、ブートストラップノードから潜在的な親のリストを与えられると、各ピアは、リスト内の各ピアと順番に交信し、そのローカル状態(すなわち、Wi、ai、およびRi)を提供し、交信ピアに親として機能するように要求する。ピアは、以下で説明されるようなローカルプリエンプションポリシーに基づいて、親として機能するよう求める要求を受け入れ、または拒否する。
交信ピアが、ピアpの親として機能することに同意した場合、ピアpは、その有権利および超過接続の数を相応に更新し、更新された情報を次のハートビートでブートストラップノードに提供する。この場合もやはり、一実施形態によれば、ピアは、そのローカル状態(すなわち、aiおよびRi)を、データパケットにピギーバックされる親に送信する。各ピアは、その着信度数が最大値(すなわちMax)に達するまで、より多くの親への接続を確立し続ける。本発明のさらなる一実施形態では、最初に提供された潜在的な親のリストがすべて使い果たされた場合、ピアは、ブートストラップノードと交信して潜在的な親の新しいリストを取得する。
ローカルプリエンプションポリシーは、親ピアが子ピアからの接続の要求にどのように反応するかを決定する。親ピアの発信度数が、貢献意欲がありかつ貢献可能な最大発信度数より小さい場合(ri<Wi)、プリエンプションポリシーに従って、接続要求が受け入れられる。しかし、親ピアの発信度数が十分に利用されている場合、新たな子ピアAは、子ピアAへの接続の提供がより高い優先度を有するときのみ、既存の子ピアBに置き換えられる(すなわちプリエンプトする)ことができる。
一実施形態では、親によって利用されるポリシーと同じローカルプリエンプションポリシーを使用して、適切な親が選択される。別の実施形態では、親ピアと子ピアが、異なるプリエンプションポリシーを使用する。ピアpがブートストラップノードに潜在的な親のリストを要求すると、ブートストラップノードは、ピアpがプリエンプトすることができる少なくとも1つの子を有する参加ピアのランダムなサブセットを選択する。基本的に、ブートストラップノードは、ピア間の接続を暗黙的に調整する。これがひいては、親発見プロセス中の成功の確率を増大させる。この調整にもかかわらず、例えば、交信ピアの状態が最近変更された場合のように、親が要求を拒否することが可能であることは注目に値する。
ピアAとピアBの間の接続の相対的な優先度は、以下の表2−Aに示されるように4つのシナリオで決定される。
Figure 0004994458
表2−Aは、親ノード/ピアにおいてピアBによって現在使用されている接続/スロットを使用するために、ピアAがピアBをプリエンプトする(preempt)ことができるかどうかを決定する際に使用される第1の実施形態のポリシーを表している。
現在の接続がプリエンプト可能であるかどうかを判断するために表2−Aをどのように使用すべきかの例を以下に示す。ピアBがすでに特定の親ピアに接続されていると仮定する。第1の例では、ピアA(pa)およびピアB(pa)がともに有権利度数を有する。paの実際の貢献(発信度数)はfaである。paの実際の有権利着信度数はraである。paの実際の超過着信度数はeaである。pbについても同様である。fa=20、ra=2、およびea=0である場合、(ra+ea)/fa=2/20=1/10である。fb=20、rb=5、およびeb=0である場合、(rb+eb)/fb=5/20=1/4である。計算はpa<pbであるので、paはpbをプリエンプトすることができる。第2の例では、paは有権利度数を有し、pbは超過度数を有する。paのパラメータについては同じ値を使用すると、paは今回もやはり、(ra+ea)/fa=2/20=1/10という計算値を有する。fb=5、rb=2、およびeb=1である場合、(rb+eb)/fb=3/5である。今回もやはり、pa<pbの計算あるので、pbはpaをプリエンプトすることができる。第3の例では、paは超過度数を有し、pbは有権利度数を有する。この場合、paはpbをプリエンプトすることができない。第4の例では、paおよびpbがともに超過度数を有する。fa=5、ra=2、およびea=0である場合、ea/fa=0/5=0である。fb=5、rb=2、およびeb=2である場合、eb/fb=2/5であり、比ea/faは比eb/fbより小さいので、paはpbをプリエンプトすることができる。この例では、raおよびrbは使用されないことに留意されたい。
上述したように、要求ピアは、ブートストラップノードからリストを受信すると(2)、リスト内のピアと順番に交信する(2)。交信したピアは、空スロットを有する場合、要求ピアを許可し、該ピアはこの交信したピアの子になる。交信したピアが空スロットをもたない場合、表2−Aで説明されたポリシーを使用して、要求ピアが、交信したピアの子ピアの1つをプリエンプトすることができるかどうか判断する。要求ピアが、交信ピアの子ピアの1つをプリエンプトすることができる場合、交信ピアは、選択されプリエンプトされる該子ピアを切断して、接続/スロットを要求ピアに割り当てる。それ以外の場合、要求ピアは、許可されないことを通知される。返されたリスト内のすべてのピアは潜在的な親ピアであるが、これらは、以下の理由のために要求ピアを許可できないことがある。
1.ブートストラップノードで維持されるパラメータは、状態変化とパラメータが更新される時間との間の遅延のために最新でないことがある。
2.要求ノードがより多くの親ピアを取得するにつれて、rA、eA、fAの値は時間とともに変化する。
リスト内のピア(ピアの子を含む)と交信するプロセスは、要求ピアが必要な数のピアを取得するまで、またはリストが使い果たされるまで続く。後者の場合、要求ピアは、時間Tの間スリープし、再び上述のプロセスを開始する。
一実施形態では、ピアAとピアBの間の接続の相対的な優先度は、以下の表2−Bに示されるように4つのシナリオで決定される。
Figure 0004994458
本発明の表2−Bの実施形態では、接続を求めるピアiの要求が潜在的な親によって拒否された場合、ピアiの反応は、以下のように、その現在の状態に依存する。
・En−Exシナリオ:ピアAが有権利接続を探し(aA<RA)、ピアBが既にいくつかの超過接続を有している(aB>RB)場合、Aによる要求は常に、ピアBへの既存の接続をプリエンプトすることができる。このポリシーは、新たなピアが、他のピアへの超過接続をプリエンプトすることによって、容易に有権利着信度数に達することを可能にする。
・Ex−Enシナリオ:ピアAが超過接続を探し(aA>RA)、ピアBが有権利接続だけを有している(aB≦RB)場合、Aによる要求は、ピアBへの既存の接続をプリエンプトすることができない。
・En−Enシナリオ:両方のピアが有権利接続だけを有する場合、Aの正規化された着信度数がBよりも小さい、すなわち、rA/WA<(rB/WB−1)という条件が満たされるときのみ、AはBへの接続をプリエンプトすることができる。
・Ex−Exシナリオ:ピアAが超過接続を探し(aA>RA)、ピアBがいくつかの超過接続を有している(aB>RB)場合、Aは、より少ない数の超過接続を有するとき(すなわち、eA<eB−1)、ピアBへの既存の接続をプリエンプトすることができる。やはり、この条件も、2つのピアの間のプリエンプションの振動(oscillate)を防止する。
表II−Bは、新規のピアAによる既存の子ピアBへの上記のローカルプリエンプションポリシーを要約したものである。新規のピアがシステムに加入するとき、または既存のピアがプリエンプションに起因して親を失うとき、これらは親発見プロセスを開始し、システム内の別のピアを同様にプリエンプトすることができることに留意されたい。したがって、観測した参加ピア間における親の変更率は、単にチャーンが原因で発生する親の離脱率よりも高い。基本的に、プリエンプションは、オーバレイの不安定性をさらに悪化させる。一実施形態では、オーバレイの安定性は、個々のピアの親の変更率を測定することによって定量化される。別の実施形態では、親の変更は、2つのグループ、すなわち親の離脱が原因の変更と、他の子ピアによるプリエンプションが原因の変更とに分類される。
要求ピアの潜在的な親ピアは、以下のように定義される。
1.1つのピアが複数の空スロットをもつ場合、それは潜在的親ピアである。
2.表2−Bで定義されたポリシーに基づいて、(ピアBで示される)ピアを(ピアAで示される)要求ピアによってプリエンプトすることができる場合、ピアBの親ピアが潜在的ピアである。
各接続が特定の記述(description)を提供するので、ツリーベースのP2Pストリーミング機構は、各接続を具体的にラベル付けするべきである。ピアiの現在の親の数がその有権利着信度数より小さい場合(ai<Ri)、該ピアはまだその有権利着信度数に達しようと試みているところである。したがって、該ピアは直ちに、ブートストラップノードによって提供されたリスト内の次の潜在的な親に要求を送信する。各ピアが有権利着信度数に達し得るように、システム内に十分なリソースが存在しなければならないので、このかなり積極的な発見アプローチは理に適っている。ピアiの現在の親の数がその有権利度数以上である場合、ピアiは、既にその有権利度数を確立しており、超過接続を探しているところである。
この場合、拒否された要求は、システム内で超過リソースが制限されていることを示す。したがって、拒否されたピアは、別の接続要求を送信する前に、待機間隔と呼ばれる間隔twaitだけ待機する。待機間隔は、超過接続を求める拒否された各要求についての指数バックオフであり、
wait=tmin×K×(ei+βret
である。ここで、tminは最小バックオフ時間であり、Kはバックオフ係数(backoff factor)である1より大きな乱数であり、retは連続した失敗の数である。一実施形態では、tminは5秒に設定され、βは2である。上で示したように、超過リソース量は分からず、チャーンに伴って動的に変化している。待機時間を決定するためのこの適合アプローチは、ピア間の明示的な調整を全く必要とせずに、個々のピアの超過度数(ei)および超過接続を求める総需要を調整する。
親発見を、分散方式で実行することができる。例えば、多重ツリーベースP2Pストリーミングアプローチと同様に、ピアは(ソースから開始して)拡散ツリーをトラバースし、各ピアを検査して、所望のタイプの適切な数の親を見つけることができる。このアプローチは、中央調整ポイントを必要としないが、新たに到着したピアによる持続的な親を求める要求が原因で、参加ピア(特に拡散ツリーのより高いレベルにある参加ピア)に重い負荷を与えることがあり得る。ここで提示される集中アプローチは、そのようなコントリビューション認識機構を適切に表す。
図3Bは、集中ピア発見方法における要求ピアとブートストラップノードの間の通信を示すブロック図である。ピア毎に、ピア情報テーブル内に1つのエントリ(id,Wi,fi,ei,ri)が存在する。要求ピアは、加入要求をブートストラップノード内のピア交信インタフェース305に送信する(1)。その後、ピア交信インタフェース305は、ピア情報テーブルモジュール310にルックアップ要求を転送する(2)。ピア情報テーブルモジュール310は、ピア情報テーブルに対してルックアップオペレーションを実行し、潜在的な親ピアリストのリストをピア交信インタフェース305に返す(3)。その後、ピア交信インタフェース305は、要求されたピア情報を含むリストを要求ピアに返す。
図3Cは、図3Bの要求ピアの詳細なオペレーションを示す概略図である。要求ピアは、加入要求でブートストラップノードと交信する(1)。ブートストラップノードは、潜在的な親ピアのリストを返す(2)。要求ピアは、潜在的な親ピアのリストを、潜在的/候補(candidate)親ピアのキューに入れる。その後、要求ピアは、各潜在的親ピアをキューから順番に取り出し、要求ピアを許可できるかどうか、および該要求ピアが子ピア(または子ピアの1つ)となることができるかできるかどうかを調べるために、その潜在的な親ピアと交信する(3)。
図3Dは、集中ピア発見方法における既存のピアとブートストラップノードの間の通信を示すブロック図である。既存のピアは、更新メッセージをブートストラップノードのピア交信インタフェース305に送信することによって(1)、ブートストラップノードに関するその情報を更新する。ピア交信インタフェース305は、ピア情報テーブルモジュール310に更新情報を転送し(2)、ピア情報テーブルモジュール310は、ピア情報テーブルを更新する。ブートストラップノードは、ピア交信インタフェースを介して、情報が更新されたことを示すメッセージを既存のピアに返す(3)。
図3Eは、図3Dの交信ピアの詳細なオペレーションを示す概略図である。交信ピア(潜在的な親ピア)は、子ピアとして加入することを求める要求を要求ピアから受信する(1)。交信ピアは、その子ピア情報テーブルを検査し、自身が有している空スロットのいずれかを用いて、または現在の子ピアの1つをプリエンプトすることによって、加入要求を満たすことができるかどうかを判断する。交信ピアは、その判断の結果を示す応答を要求ピアに返す(2)。
ここで図4Aを参照すると、分散発見アプローチでは、要求ピアは最初に、ブートストラップノードと交信する(1)。ブートストラップノードは、すべての拡散ツリーのルートにあるコンテンツソースノードのアドレス/位置を返す(1)。要求ノードは、交信キューを保持しており、コンテンツソースノードをキューに入れ、要求ピアが最初にソースノードと交信し(2)、ソースノードは、その子のリストを要求ピアに返す(2)。コンテンツソースノードおよびシステム内のすべてのピアは、拡散ツリー内の子ピアおよび対応するパラメータのテーブルを保持する。
要求ピアは、1回に1つの潜在的親ピアをキューから取り出し、この潜在的親ピアと交信して、該要求ピアが許可されるかどうか調べる(3)。各交信ピアは、その子ピアリストを返す(4)。許可は、上述のポリシーと同じポリシーに基づく。交信ピアが空スロットを有する場合、該交信ピアは、要求ピアを許可し、要求ピアは、この交信ピアの子になり、交信ピアは、その子ピアのリストを要求ピアに返す(4)。要求ピアは、このようにして、要求ピアが接続可能な必要な数のピアを取得するまで、あるいはリストおよびピアが使い果たされるまで、拡散ツリーのさらに下のピアと交信(5)を続け、その後、要求ピアが許可された各交信ピアの子と交信(6)を続ける。交信ピアが空スロットを有しない場合、表2−Aで説明したポリシーを使用して、要求ピアが交信ピアの子ピアの1つをプリエンプトすることができるかどうか判断する。
要求ピアが交信子ピアの1つをプリエンプトすることができる場合、交信ピアは、プリエンプトするのに選択された子ピアを切断し、接続/スロットを要求ピアに割り当てる。それ以外の場合、要求ピアは許可されないことを通知される。交信ピアはまた、プロセスの終りに、拡散ツリー内のその子ピアのリストを要求ピアに返す。要求ピアは、返されたリストを交信キューの最後に付加する。プロセスは、要求ピアが必要な数のピアを取得するまで、またはリストが使い果たされるまで継続される。後者の場合、要求ピアは、時間Tの間スリープし、再び上述のプロセスを開始する。
第3のアプローチは、半分散(semi−distributed)アプローチである。信号伝達のオーバヘッドを減少させるため、ピアは、2ホップ離れた親ピアに関するローカル情報を保持する。各親ピアは、空スロットの数Wi、実際の貢献fi、および超過接続の数eiについての情報を、子ピアへのコンテンツパケット内にピギーバックする。
さらに、親ピアは、その親ピアの情報(Wi,fi,ei)も子ピアに送信する。したがって、ノードは、その親ピアおよびグランドペアレントピアの情報を有する。
図4Bは、分散ピア発見方法における要求ピアとブートストラップノードの間の通信を示すブロック図である。要求ピアは、加入要求をブートストラップノードのピア交信インタフェース405に送信する(1)。ブートストラップノードは、コンテンツソースノードのアドレス/位置を返す(2)。要求ピアは、コンテンツソースノードと交信する(3)。
図4Cは、図4Bの要求ピアの詳細なオペレーションを示す概略図である。要求ピアは、ブートストラップノードと交信する(1)。要求ピアは、コンテンツソースノード情報をブートストラップノードから受信する(2)。要求ピアは、コンテンツソースノードと交信し、要求ピアの潜在的な親ピアである子ピアのリスト/キューを受信する(2)。要求ピアは、返された子ピアのリストを、その潜在的/候補親ピアのキューの最後に保存する。その後、要求ピアは、潜在的/候補親ピアのキューからそれぞれの潜在的な親ピアのエントリを取り出し、潜在的な親ピアと交信して、該要求ピアが子ピアになることができるかどうか調べる(4)。交信される潜在的な親ピアは、その子ピアのリスト/キューを返し、要求ピアは、その潜在的/候補親ピアのキューの最後にそれを保存する。
図4Dは、図4Bの交信ピアの詳細なオペレーションを示す概略図である。要求ピアから加入要求を受信すると(1)、交信ピアは、その子ピア情報のテーブルを検査し、有している空スロットのいずれかを用いて、または現在の子ピアの1つをプリエンプトすることによって、加入要求を満たすことができるかどうかを決定する。交信ピアは、その決定の結果を示す応答を子ピアのリストとともに要求ピアに返す(2)。
ここで図5Aを参照すると、要求ノードは、ブートストラップノードと交信し(1)、ブートストラップノードは、潜在的ピアの交信キューを返す(1)。ブートストラップノードがシステム内のすべてのピアのリストを有することに留意されたい。しかし、ブートストラップノードは、各ピアのパラメータの経過を追跡するテーブルを保持しない。ブートストラップノードは、所定の数の潜在的親ピアをリストからランダムに選択し、そのリストを交信キューとして要求ノードに返す。
本発明の別の実施形態では、ブートストラップノードは、状態テーブルを保持する。状態テーブルは、ブートストラップノードによる、あるピアのサービスの状態を反映する。要求ピアから許可要求を受信すると、ブートストラップノードは、プリエンプト可能な少なくとも1つの子を有する参加ピアのランダムなサブセットを選択する。一実施形態によれば、許可を要求している子ピアを受け入れ、または拒否するのに親ピアがローカルに使用するものと同じプリエンプションポリシー基準に基づいて、ブートストラップノードによって、状態テーブルに包含するための適切な親が選択される。
その後、要求ノードは、リスト内の各ピアと交信し(2)、その近隣(neighbor)のリストを受信する(2)。これらのリストをすべて一緒にして、単一の交信キューを形成する。要求ピアは、1回に1つのピアをキューから取り出し、要求ピアが許可されるかどうかを調べるために、この潜在的ピアと交信する(3)。許可は、上述と同じポリシーに基づく。交信ピアは、空スロットを有する場合、要求ピアの参加を許可し、該ピアは、この交信ピアの子になる。交信ピアが空スロットを有しない場合、表2で説明したポリシーを使用して、要求ピアが交信ピアの子ピアの1つをプリエンプトすることができるかどうかを判断する。
要求ピアが交信子ピアの1つをプリエンプトすることができる場合、交信ピアは、プリエンプトするのに選択された子ピアを切断し、接続/スロットを要求ピアに割り当てる。それ以外の場合、要求ピアは許可されないことを通知される。
プロセスは、要求ピアが必要な数のピアを取得するまで、またはリストが使い果たされるまで継続される。後者の場合、要求ピアは、時間間Tの間スリープし、再び上述のプロセスを開始する。
図5Bは、半分散ピア発見方法における要求ピアとブートストラップノードの間の通信を示すブロック図である。ピア情報テーブルは、システム内のすべてのピアのリストを保持する。要求ピアは、加入要求をブートストラップノードのピア交信インタフェース505に送信する(1)。その後、ピア交信インタフェース505は、ルックアップ要求をピア情報テーブルモジュール510に転送する(2)。ピア情報テーブルモジュール510は、ピア情報テーブル上でルックアップオペレーションを実行し、ランダムに選択された潜在的親ピアのリストをピア交信インタフェース505に返す(3)。その後、ピア交信インタフェース505は、ランダムに選択された潜在的親ピアのリストと、それらのピアの情報を要求ピアに返す。
図5Cは、図5Bの要求ピアの詳細なオペレーションを示す概略図である。要求ピアは、ブートストラップノードと交信する(1)。要求ピアは、ランダムに選択された潜在的親ピアのリストを受信し(2)、ランダムに選択された潜在的親ピアを潜在的/候補親ピアのキューに保存する。要求ピアは、潜在的/候補親ピアのキュー内のピアと順番に交信する(3)。その後、要求ピアは、近隣要求メッセージであるメッセージを交信(潜在的な親)ピアに送信する(3)。すべての交信ピアは、近隣ピアのリストを返す。要求ピアは、近隣ピアのリストを潜在的/候補親ピアキューに保存する。要求ピアは、要求ピアが子ピアになることができるかどうかを調べるために、潜在的/候補親ピアキュー上の次の潜在的親ピアと交信する(4)。
図5Dは、図5Bの交信ピアの詳細なオペレーションを示す概略図である。交信ピアは、要求ノードから近隣要求メッセージを受信すると、その近隣ピアのリストを要求ノードに返す(1)。着信メッセージが空スロットを探すためのものである場合、交信ピアは、その子ピア情報のテーブルを検査し、有している空スロットのいずれかを用いて、または現在の子ピアの1つをプリエンプトすることによって、要求を満たすことができるかどうかを決定する。交信ピアは、その決定の結果を示す応答を要求ピアに返す(2)。
ここで図6を参照すると、図6は、ピア発見プロセスを示すフローチャートである。605において、piがブートストラップノードと交信する。610において、集中ピア発見が使用されるかどうかを決定するテストが実行される。集中ピア発見が使用される場合、615において、空スロット/接続が、潜在的プリエンプト可能な子ピアのリスト/キューとともに、ブートストラップノードによってpiに与えられる。その後、635において、piは、有権利ピアとしてのri個の潜在的ピア、および超過ピアとしてのei個の潜在的ピアと交信する。集中ピア発見が使用されない場合、620において、分散ピア発見が使用されるかどうかを決定するテストが実行される。分散ピア発見が使用される場合、625において、ランダムピアのリスト/キューの識別(id)がpiに与えられる。630において、piは、空スロット/接続を有するピアおよび潜在的にプリエンプト可能なピアのリスト/キュー内のすべてのピアを調査する。
その後、635において、piは、有権利ピアとしてのri個の潜在的ピア、および超過ピアとしてのei個の潜在的ピアと交信する。分散ピア発見が使用されない場合、デフォルトで半分散ピア発見が使用される。640において、ネットワーク内のN個のピアがpiに与えられる。その後、645において、IはN個のピアすべてを調査し、それらN個のピアの子またはpiから1ホップ離れた潜在的ピアの子の中で、空スロットまたは潜在的にプリエンプト可能な子ピアを見つける。その後、635において、piは、有権利ピアとしてのri個の潜在的ピア、および超過ピアとしてのei個の潜在的ピアと交信する。
本発明では、従来の非コントリビューション認識のピアツーピアストリーミングスキーマよりも長いスタートアップ遅延/待ち時間を有することがあることに留意されたい。親ピアを見つけるプロセスは、より長いスタートアップ遅延の一因となる。また、異なるピア発見スキーマによって、異なる待ち時間が生じる。集中ピア発見スキーマおよび半分散ピア発見スキーマは、ルートから開始する拡散ツリーのトラバースに、分散ピア発見スキーマよりも短いスタートアップ/加入待ち時間を要する。しかし、本発明のコントリビューション認識ピアツーピアライブストリーミング方法は、MDC(多重記述符号化:multiple description coding)を使用して、基礎をなすデータを符号化するので、ピアは、最初の記述を受信するといつでも、再生を開始することができる。これは潜在的に、スタートアップ/待ち時間を短縮することができる。
本発明では、ピアのプリエンプションポリシーは、追加のピアチャーニングを引き起こすことがある。例えば、要求ピアが、すでに親ピアに接続されている子ピアをプリエンプトする場合、プリエンプトされた子ピアは、別の親ピアへの加入を試みる必要があり、したがって、システムに追加のチャーニングを追加する。このプロセスは、プリエンプトされた子ピアがそれ自体のための空スロットを別の親ピアにおいて見つけるまで継続されることがある。
プリエンプトされている接続が「超過接続(excess connection)」である場合、ピアはこの接続をまず第1にもつべきとは見なされないので、これはそれほど大きな影響をもたない。この問題を緩和する1つの方法はプリエンプションポリシーを修正することである。本発明のプリエンプションポリシーは、「有権利接続(entitled connection)」が別の「有権利接続」をプリエンプトすることを許可しない。また、MDCを使用してストリームデータを符号化するため、チャーンの影響はそれほど深刻でないこともある。ピアがいくつかの記述を喪失した場合、表示品質は劣化することになるが、ストリームは依然として視認可能である。
次に、コントリビューション認識機構をメッシュベースのP2Pストリーミングに関連して説明する。説明される機構は主に、従来技術のツリーベースのP2Pストリーミングアプローチに類似したスキーマに端を発するものであるが、いくつかの注目すべき相違が存在する。ツリーベースのアプローチでは、コンテンツの特定の記述は、各ツリーを介して配信される。したがって、各ピアは、適切な数のツリーに加入すべきであり、また1つのツリーにおける内部ノードとして機能すべきである。このアプローチによって、以下のような、メッシュベースのストリーミングには存在しないいくつかの問題が生じる。
第1に、ツリーベースのアプローチでは、その受信品質を改善するために、各ピアは、新しいツリー内で親を見つける必要があるが、メッシュベースのアプローチでは、任意の新しいピアが、親として機能することができる。第2に、ツリーベースのアプローチのローカルプリエンプションポリシーは、貢献ピア(contributor peer)と非貢献ピア(non−contributor peer)の有権利接続を区別する必要がある。これが今度は、ポリシーによって対処されるべき新しいシナリオを追加する。第3に、ツリーベースのアプローチでは、各接続は、有権利または超過と具体的にレベル付けされる必要がある。
これに対して、本発明のメッシュベースのアプローチでは、超過接続の(識別ではなく)数を、単に、ピア毎に接続の実際の数と有権利接続の数の差によって決定する(すなわち、ai>Riのとき、ei=ai−Ri)。
本発明のアプローチとツリーベースのアプローチの別の重要な相違は、実際の貢献(fi)の代わりに、意欲(Wi)を使用して、式(1)および式(2)におけるピアの有権利着信度数を決定することである。各ピアの実際の貢献が常にその意欲より小さいとすると(すなわち、fi<Wi)、実際の貢献の使用には以下の2つの副次的な影響がある。(i)システム内の利用可能なリソースが、式(1)および式(2)の第2項において過小評価される(すなわち、以下である)。
Figure 0004994458
これは、親発見プロセス中に、個々のピアによる、より保守的な(conservative)挙動をもたらす。(ii)ピアiの実際の貢献は、その発信帯域幅を使用する他の参加ピアの能力および需要に依存し、(iii)効果的なチャーン(すなわち、子ピアの離脱)によって、システム内でより大きなダイナミクスをもたらすfiの一時的な低下が発生する。研究によって、様々な実施形態においてこのアプローチは、親発見の速度を低下させ、ピアの数(したがって、利用可能なリソース)が絶えず変化するダイナミックな環境では不適切であることが示されている。
上述の汎用的なコスト関数/タックス関数によって、ピアを許可するオペレーションが調整される。この関数のtパラメータの選択によって、本発明の様々な実施形態の特性を決定することができる。したがって様々な実施形態では、タックスレート(t)が変化するときのコスト関数/タックス関数(すなわち式(1))の異なる挙動、およびその挙動に対する主要パラメータ(例えばWi)の影響を示す。タックス/コスト関数の挙動の理解は、パラメータ空間にわたって個々のピアが着信度数をどのように決定するかについての決定を可能にし、それは、コントリビューション認識機構の性能を評価する際に非常に有益である。
図7A〜図7Cは、本発明の様々な実施形態による、リソースインデックス(RI:resource index)が0.5、Maxが16である場合の、異なる値のWiを有するタックス関数/コスト関数の挙動を示す。
N個のピアからなるグループと、それらの貢献意欲のレベル(Wi)を与えると、シナリオのRIは、リソースの総需要に対する利用可能なリソース(ΣWi)の比として定義される。様々な実施形態では、すべてのピアは完全な品質のストリームを受信するのに十分な着信帯域幅を有すると仮定し、リソースの総需要は、N×Maxとして単純に決定することができる。したがって、所与のシナリオにおけるRIの値は、以下である。
Figure 0004994458
この定義を、式(1)に代入することができ、その場合、式は、以下のように書き直すことができる。
Figure 0004994458
式(5)は、ピアiの有権利度数を、次のパラメータ、すなわち、ピアの意欲(Wi)と、オーバレイにおけるリソースインデックス(RI)と、(ストリーム帯域幅に基づいた)最大度数Maxとに基づいたタックスレートtの関数として表している。図7Aは、RI=0.5、RI×Max=8のときの異なる値のWiについて、Ri(t)をtの関数としてプロットしている。この図は、以下のようなタックス関数のいくつかの重要な特性と、異なるパラメータに対するその依存性を明らかにしている。
第1に、タックスレートが増大するにつれて、すべてのピアの有権利度数は、初期値に関わらず、RI×Maxという同じ値に収束する。高帯域幅のピア(Wi>RI×Max)の場合、有権利度数は、タックスレートにつれて徐々に減少するが、低帯域幅のピア(Wi<RI×Max)の場合、有権利度数は、タックスレートにつれて徐々に増大する。当業者であれば、tが増大するにつれて、式の第1項は急速に減少し、第2項はRI×Maxに収束することに気づくであろう。
第2に、タックスレートが増大するときの有権利度数の変化率は、ピアの意欲(すなわちWi)に依存する。より大きな値のWiは、図7Aに示されるように、より速い収束をもたらす。
第3に、RI×Maxの値は、すべてのピアの有権利度数の最終的な値を決定する。したがって、リソースまたはストリーム帯域幅の利用可能性の変化は、この図における収束値をしかるべく上下に単純にシフトさせる。第4に、上で指摘したように、式(5)のfloor(Ri)の値は、利用可能なリソースの過大評価を防止するために使用される。図7Bは、式(5)のfloor(Ri)を示している。これは、異なる値のWiについて、floor(Ri)演算が、タックスレート/コストファクタの関数として有権利度数の展開(evolution)にどのように影響するかを示している。
第5に、上述のように、あるピアの有権利度数が完全な品質のストリームを受信するのに必要な最大度数より大きい、すなわち、Max≦Riである場合、該ピアを飽和(saturate)させることができる。ピアの80%が高帯域幅を有し、残りのピアが低帯域幅を有する例示的な一実施形態によれば、完全な品質のストリームを受信するのに必要な着信度数は8であり、高帯域幅ピアおよび低帯域幅ピアの意欲の度数は、それぞれ24および4である。本発明の別の実施形態では、高帯域幅ピアおよび低帯域幅ピアは、それぞれ40および4の発信接続を提供する。飽和ピアの実際の度数は、Maxまでに制限される。図7Cは、いくつかの高帯域幅ピアが飽和している場合のタックス関数/コスト関数の挙動を示している。所与のシナリオにおいてピア(およびその一部)が飽和するかどうかは(i)受信品質、および(ii)システム内の超過リソース量に影響するので、該所与のシナリオにおいてピア(およびその一部)が飽和するかどうかを決定することが重要であることは、当業者であれば理解されよう。すなわち、図7Cは、ピア参加総数および利用可能なリソースが一定であって知られている静的システム、すなわち、基準静的シナリオ(reference static senario)における、タックス関数/コスト関数の挙動を表している。実際には、ピア参加のダイナミクスと、その結果である利用可能なリソースの変動のため、個々のピアに報告されるグループ状態は、完全に正確ではない。したがって、参加ピアの間の平均挙動は、上記の基準ケースとは異なる可能性がある。以下では、様々なシナリオを調べ、対応する基準静的シナリオと比較して、観測された相違をもたらす背後に潜む原因を特定する。
様々な実施形態において、ピアは、その着信度数をゼロから速やかに増加させて、有権利度数に達し得ることが示された。少なくとも一実施形態では、高帯域幅ピアは、20秒未満で有権利度数に達することができ、一方、低帯域幅ピアは、11秒で有権利度数に達することができる。一実施形態では、すべてのピアは、約60秒でその目標の着信度数に達する。一実施形態によれば、存続期間が60秒未満のピアは、有権利着信度数に達しない。様々な実施形態では、ピアの着信度数がいったん有権利度数に達すると、そのピアの着信度数は、利用可能なリソースの僅かな変化と超過接続の数の変動のために、有権利度数値の周囲で振動する傾向がある。
本発明の様々な実施形態の挙動は、シミュレーションを通して評価された。その評価方法を使用して、提案するコントリビューション認識機構の挙動を検査するが、ここでは、例示的な機構がPRIMEと呼ばれるメッシュベースP2Pストリーミング機構に含まれる。メッシュベースP2Pストリーミング機構において個々のピアに配信される品質は、
(i)ピアがシステムから離脱/システムに加入するときに適切な数の親を維持する能力と、
(ii)結果のオーバレイを介して参加ピア間にコンテンツを配信する機構の挙動に依存する。
オーバレイにおける個々のピアとそれらの親との間の接続性は明らかである。様々な実施形態によれば、コントリビューション認識機構は、親選択の戦略(strategy)および子プリエンプションポリシーの両方を導入することによって、主としてピア間の接続性に影響する。オーバレイの接続性およびダイナミクスは、コンテンツ配信の性能に影響を与える可能性が高いが、この影響は、コントリビューション認識機構の性能を示すのではなく、むしろオーバレイ接続性およびダイナミクスに対処するPRIMEの能力を示す。オーバレイ接続性に対するコントリビューション認識機構の効果に焦点を当てることによって、パケットレベルダイナミクスからの抽象、およびより大きなグループサイズを用いたシミュレーションも可能になる。
本発明の様々な実施形態についての以下の評価は、psimと呼ばれるP2Pセッションレベルのシミュレータ(P2P session−level simulator)を使用して行われた。psimは、参加ピア間に対ネットワーク遅延(pairwise network delay)を組み込む、イベントドリブンシミュレータである。さらに、psimは、展開されたP2Pストリーミングシステムに関する従来の実験的研究によって報告されるように、ピアセッション時間については(μ=4.29、σ=1.28の)対数正規分布(log−normal distribution)を使用し、ピア到着時間間隔(inter−arrival time)をモデル化するために(a=2.52、b=1.55の)パレート分布(Pareto distribution)を使用することによって、チャーンの現実的なモデルを提供する。パケットレベルダイナミクスからの抽象によって、psimは、ピアが多数の、またはピア参加のダイナミクスの度合いが高い、シミュレーションシナリオを可能にする。3つのグループの性能メトリックを使用して、コントリビューション認識機構の性能の異なる側面をキャプチャする。
各ピアの着信度数および発信度数はともに、セッション中に変化する。したがって加重(weighted)着信度数および発信度数を使用して、各ピアによって観測される有効度数をキャプチャする。加重着信度数または発信度数は、各ピアがセッション中の異なる間隔で経験する度数の平均値であり、各度数値は、その度数が維持される時間間隔によって重み付けされる。例えば、あるピアが、そのセッションの半分について3、別の半分について5の発信度数を有する場合、その加重発信度数は4である。
各ピアの加重着信度数および発信度数は、セッション中のリソースの使用および貢献を定量化する。ピアの加重平均着信度数はさらに、加重平均有権利度数および超過度数に分割される。
このメトリックは、コントリビューション認識機構がどれだけ良好に参加ピアの発信帯域幅を利用できるかもキャプチャし、すべてのピアにわたる最大発信度数に対する、すべてのピアにわたる総加重発信度数の比として定義される。2つのメトリックを使用して、オーバレイにおける変化の度合いをキャプチャする。
(i)親の連続的な喪失の間の平均時間と、
(ii)親の連続的な変更の間の観測時間が少なくとも600秒であるピアとして識別される、安定なピアのパーセンテージである。
観測された親の変更は、2つのグループ、すなわち親の離脱に起因する変更と、他の子ピアによるプリエンプションに起因する変更に分類される。コントリビューション認識機構に関連するすべての信号伝達メッセージ関するオーバヘッドは、メッセージ(またはバイト)毎にピア毎秒でキャプチャされる。
本発明による例示的なコントリビューション認識機構の性能に対する次の各要因の影響は、以下のように評価される。
(i)親の切断のダイナミクス、
(ii)コントリビューション認識機構の利点、
(iii)タックスレート/コストファクタおよびピア貢献の効果、
(iv)システムにおけるリソースインデックス(RI)、
(v)グループサイズに関するスケーラビリティ、および
(vi)更新頻度の効果
各シミュレーションについて報告された結果は、異なるランダムなシード(seed)を用いた多数の試行にわたって平均される。ここで提供される説明的で例示的なシミュレーションでは、次のデフォルトパラメータが使用される。すなわち、ストリームレート=400Kbps、グループサイズ=500ピア、高帯域幅ピアおよび低帯域幅ピアのアクセスリンク帯域幅が、それぞれ1Mbpsおよび100Kbpsである。他の例示的な実施形態では、600Kbpsのストリームレートが利用される。帯域幅毎フローすなわちbwpf(すなわち、各ピアの度数に対する帯域幅の比)の値は、50Kbpsに設定される。すべてのシミュレーションでは現実的なチャーンモデルが組み込まれ、該チャーンモデルでは、ピアセッション時間について(μ=4:29、σ=1.28の)対数正規分布を有し、ピア到着時間間隔をモデル化するために(a=2:52、b=1:55の)パレート分布を有する。チャーンモデルは、展開されたP2Pストリーミングシステムに関する最近の実験的研究から導き出される。状態の収集および報告は、10秒毎に1回実行される。各シミュレーションは6000秒にわたって実行され、情報は、数が所望の目標に達した安定状態の間に収集される。本発明の一実施形態では、長期間存続する親子の間の接続は、総リソースが変化しない限り、損なわれずに存続する。本発明の別の実施形態では、更新間隔の増大によって、有権利度数に著しい低下が引き起こされ、超過度数には対応する僅かな増加が伴う。
図8Aおよび図8Bは、一実施形態によれば、存続期間中の典型的な低貢献と高貢献の着信度数をそれぞれ示している。タックスレート/コストファクタは4に設定され、高貢献の発信度数は24であり、一方、低貢献の発信度数は4である。このシナリオでは、高貢献は11の権利を有し、低貢献は6の権利を有する。典型的な挙動として、ピアは、ゼロから開始し、短期間(高貢献の場合は20秒未満、低貢献の場合は11秒未満)に親の有権利数に達する。図8Aに示されるように、ピアは、その着信度数を増加させ、いくつかの超過接続を獲得するが、これらの超過接続は安定的ではなく、要求されると、他の有権利接続によってプロエンプトされることがある。
当業者であれば、ピアが速やかに平均の度数を増加させることを理解されよう。これを説明するため、10秒間隔以内の存続期間を有するピアの加重平均度数を示す。図8Cは、異なる存続期間を有するピアの平均着信度数を示している。
ピアの加重平均(着信または発信)度数は、ピアがその度数を維持する間隔で各度数を加重することによる、その有効平均度数を表す。例えば、ピアがそのセッション時間の4分の1は3の発信度数を有し、セッション時間の残りは5を有する場合、その加重発信度数は4.5である。本発明の一実施形態によれば、各ピアの加重着信度数および発信度数は、セッション中のリソースの利用および貢献をそれぞれ定量化する。様々な実施形態では、加重平均着信度数は、加重平均有権利度数および平均超過度数に含まれる。
図8Cから明らかなように、存続期間が50ミリ秒未満の例示的なピアは、有権利接続に基づいた平均数の着信接続を受信するのに十分なほど長くはシステム内に留まらない。
コントリビューション認識ピアツーピアの許可の利点は、本発明の様々な実施形態によれば、80%の低帯域幅ピアおよび20%の高帯域幅ピアからなるグループ内の参加ピア間にリソースを分散させることに対する、コントリビューション認識機構の効果について調べる。タックスレート/コストファクタは2であり、高帯域幅ピアは24接続まで提供し、一方、低帯域幅ピアは4接続まで提供する。他のすべてのパラメータは、そのデフォルト値である。
図9Aは、タックスレート/コストファクタが2であるときに、コントリビューション認識機構を用いた場合(Cont.*とラベル付け)、およびコントリビューション認識機構を用いない場合(No−Cont.*とラベル付け)の高帯域幅ピアおよび低帯域幅ピアの間の加重平均着信度数の累積分布関数(CDF:cumulative distribution function)を示している。この図は、コントリビューション認識機構が存在しない場合、高帯域幅ピアおよび低帯域幅ピアの着信度数の分布は同様であり、したがって、リソースの割当ては、参加ピアの貢献に依存しないことを示している。対照的に、高帯域幅ピアおよび低帯域幅ピアの度数分布は、明らかに離れているが、各グループ内ではかなり一様であり、すなわち、すべての低帯域幅ピアは6に近い度数を有し、一方、すべての高帯域幅ピアの度数は15に非常に近い。
異なるプリエンプションポリシーの重要度を定量化するため、2つの他のシナリオを説明するが、Ex−ExおよびEn−Enシナリオでは、プリエンプションは発生しない。図9Aは、これら2つのシナリオにおける高帯域幅ピアおよび低帯域幅ピアの両方に関する度数分布のCDFを示している。その結果は、Ex−ExおよびEn−Enプリエンプションシナリオの執行が、加重平均着信度数の分布に関してどのような性能改善も引き起こさないように見えることを示している。言い換えると、良好な性能を達成するには、En−Exポリシーで十分である。
図9Bは、チャーンに起因する個々のピアによって観測された接続切断の平均率の分布を示している。各ピアのチャーンに起因する切断率は、その着信度数に直接比例し、正規化された値が、図9Bに提示されている。図9Bは、チャーンに起因する平均切断率の分布が、ピア帯域幅に依存せず、コントリビューション認識機構を用いても変化しないことを示している。
図9Cは、基本シナリオならびにEx−ExおよびEn−Enがともに無効にされたシナリオにおける、高帯域幅ピアおよび低帯域幅ピアの間の参加ピア間における親の平均切断率の分布を提示している。この図は、基本ケースでは、ピアの低帯域幅実施形態がより高いプリエンプション率を観測することを示している。この状態は、En−Enのプリエンプションポリシーを無効にした後であっても持続する。しかし、他のすべてのケースでは、観測される切断率は同様である。このパラメータ設定では、高帯域幅ピアの接続は有権利であり、したがって、それらは重大なプリエンプションを観測しないことに留意されたい。
図9Bと図9Cの比較によって、プリエンプションに起因する親の接続切断率は、チャーンに起因する親の接続切断よりもおおよそ20倍高いことが明らかになる。言い換えると、プリエンプションポリシーは、チャーンのみに起因する観測率を超えて、全体的な切断率を著しく増大させる。観測率は各ピアの超過度数の相対数に依存するので、図9Cにおけるプリエンプションに起因する切断率の正規化は意味がないことに留意されたい。
Figure 0004994458
表3は、(原因に関わらず)連続的な切断の間の観測時間が少なくとも600秒であるピアのパーセンテージを示すことによって、グループレベルの安定性の概要を示す。表の各行は、(プリエンプションポリシーの様々な組合せを含む)コントリビューション認識機構を用いたシナリオ、および用いないシナリオの異なるシナリオを表す。
表3は、コントリビューション認識機構が存在しない場合、ピアの29%しか安定ではないことを示している。En−ExおよびEx−Enポリシーのみを用いるコントリビューション認識機構の使用は、安定ピアのパーセンテージを僅かに低下させ、24%にする。しかし、他の任意のポリシーの追加は、安定ピアのパーセンテージに著しい低下をもたらす。En−EnおよびEx−Exポリシーは、コントリビューション認識機構の性能に影響を与えず、オーバレイの非安定性を著しく増大させるので、これらのポリシーは、残りの評価において提示される実施形態では排除される。
次に、本発明の様々な実施形態では、シナリオを決定する主要パラメータとして、
(i)構成パラメータであるタックスレート/コストファクタの値t、および
(ii)ピアの貢献意欲の値(Wi
を用いるコントリビューション認識機構の挙動の変化に関して調べる。
以下の説明は、Max=16、リソースインデックス(RI)が0.5、bwpf=50Kbpsであり、500個のピアが80%の低帯域幅ピアおよび20%の高帯域幅ピアからで構成されると仮定する。当業者であれば、高帯域幅ピアおよび低帯域幅ピアの発信帯域幅について、以下のような3つの異なるシナリオが(bwpfに対する発信度数の比である対応する貢献Wiとともに)提示されることが理解されよう。
シナリオS1:800Kbpsおよび300Kbps(WH1=16,WL1=6)
シナリオS2:1.2Mbpsおよび200Kbps(WH2=24,WL1=4)
シナリオS3:1.6Mbpsおよび100Kbps(WHh=32,WL1=2)
ここで、WHiおよびWLiは、高帯域幅ピアおよび低帯域幅ピアの貢献をそれぞれ表すことに留意されたい。リソース(またはRI)の総量はこれら3つのシナリオで一定のままであるが、帯域幅の不均一性のレベルが、それらの間で著しく変化し、ピア間における最大発信度数の分布を決定することに留意されたい。したがって、これらのシナリオにわたるシステムの性能の検査は、ピア間におけるWiの分布がどのようにシステム性能に影響するかを明らかにする。
図10Aは、基準とする式(2)に基づいて、異なるタックスレート/コストファクタ値を有する3つのシナリオのすべてにおける、高帯域幅ピアおよび低帯域幅ピアの有権利度数を示している。図10Bは、シミュレーションにおけるタックスレート/コストファクタの関数として、3つのシナリオのすべてにおける、高帯域幅ピアおよび低帯域幅ピアの間の加重平均有権利度数を示している。これら2つの図の比較は、高帯域幅ピアおよび低帯域幅ピアの間の加重平均有権利度数が、興味深いことに、ピア間の接続性におけるダイナミクスの存在にもかかわらず、式(2)によるその推定値に密接に従うことを示している。本発明の一実施形態では、非常に小さなタックス値を除いて、有権利度数および総度数の平均値は、実質的に同様である。例示的な本発明の一態様では、コストファクタ/タックスレートが小さい場合、高帯域幅ピアの有権利度数は飽和し、高帯域幅ピアは超過接続を必要としない。
一実施形態では、飽和ピアは有権利度数を使用せず、超過リソースがシステム内で利用可能になり、超過リソースの量は(Rih−Max)に比例する。低帯域幅ピアは、超過接続を形成するために、これらの超過リソースを利用することができる。本発明の一実施形態では、高帯域幅ピアが飽和しない限り、高帯域幅ピアおよび低帯域幅ピアの両方の平均超過度数は、実質的に同じであり、タックスレート/コストファクタおよびピア貢献の分布の変化に実質的に反応しない。一実施形態では、コントリビューション認識機構は、超過リソースを参加ピアの間に実質的に均等に分配する。さらなる一実施形態では、高帯域幅ピアおよび低帯域幅ピアによる貢献リソースの不均一性は、総貢献リソースが実質的に一定に留まるように、比例的に調整される。
図10Cは、3つのシナリオにおける、高帯域幅ピアおよび低帯域幅ピアの間の総着信度数(有権利および超過の両方)の加重平均を提示している。この図は、有権利度数および総度数の平均値が非常に類似して見えることを示している。ピアの各グループにおける有権利度数および超過度数の変化のダイナミクスをさらに調べる。
図10Dおよび図10Eは、高帯域幅ピアおよび低帯域幅ピアそれぞれの有権利度数および超過度数の両方の加重平均値を示している。これら2つの図における超過度数の調べることによって、次の点が説明される。第1に、高帯域幅ピアおよび低帯域幅ピアの両方について、加重平均超過度数は、高帯域幅ピアが飽和しない限り(すなわち、t>3)、ピア貢献の分布に伴って(シナリオ間で)変化しないことである。
高帯域幅ピアが飽和していない場合、コントリビューション認識機構は、有権利度数を制御することによって、利用可能なリソースを効果的に管理する。したがって、超過リソースの唯一の原因は、(floor()に起因する)有権利度数の丸め(rounding)である。これは、制限された量の超過リソースのみを提供し、このことは、すべてのシナリオにわたってこの領域(t>3)の小さな超過度数を有する理由を説明する。さらに、これらの図は、すべてのピアが同数の超過接続を有するため、コントリビューション認識機構がすべてのピアの間に超過リソースを均等に分配できることを示している。第2に、タックスレート/コストファクタが小さい場合、高帯域幅ピアの有権利度数は飽和し、したがって、該ピアは超過接続を必要としない。飽和ピアは有権利度数を使用しないので、超過リソースがシステム内で利用可能になり、超過リソースの量は(WHi−Max)に比例する。低帯域幅ピアは、図10Eに示されるように、これらの超過リソースを超過接続として利用することができる。
図11Aは、3つのシナリオについて、タックスレートの関数としての高帯域幅ピアおよび低帯域幅ピアの間の平均発信度数を有する、様々な重み付けされた実施形態のシステム利用度を示している。この図は、すべてのシナリオにおけるピアの発信度数が、貢献への意欲(Wi)に非常に近いこと、すなわち、コントリビューション認識機構は、ピア間の接続性のダイナミクスに関わらず、リソースの異なる分配に利用可能なリソースを効果的に利用できることを明らかに示している。図11Bは、単一の時間スナップショットにおけるシステムリソースの全体的な利用度、すなわち、オーバレイの1つのスナップショットにおけるすべてのピアの間の発信度数の利用度を提示している。この図は、高帯域幅ピアが飽和していない場合、リソースは実質的に完全に利用されていることを示している。飽和領域では、リソースの全体的な利用度は、超過接続のダイナミクスのために僅かに低下する。飽和領域では、システム内のリソースの相対的に大きな部分が、超過接続によって利用される。超過接続の部分が増大するにつれて、拒否された超過接続の待機時間を適応させる際の指数的バックオフが、未使用リソースおよびより低い利用度をもたらすことがあり得る。本発明の一実施形態によれば、超過リソースの部分が増大するにつれて、超過接続を求める要求が拒否される確率が増大する。これは、拒否された超過接続の待機時間を適応させる際のバックオフが原因で、リソースの利用度を低下させる。
Figure 0004994458
図11Cは、3つのシナリオのすべてにわたる、6のタックスレート/コストファクタの関数としてのプリエンプションに起因する高帯域幅ピアおよび低帯域幅ピアの間の平均切断率を示している。この図は、高帯域幅ピアまたは低帯域幅ピアについて、プリエンプションが引き起こす、親からの接続性のダイナミクスの平均レベルを定量化する。高帯域幅ピアは、飽和領域にある(すなわち、WHi>Max)間、プリエンプトされ得ない有権利接続だけを確立するので、プリエンプションを全く経験しない。したがって、本発明の一実施形態では、高帯域幅ピアは、プリエンプトされ得ない有権利接続だけを確立するので、プリエンプションを全く経験しない。
しかし、飽和領域外では、高帯域幅ピアは、タックスレート/コストファクタの増大につれて徐々に低下する、親の間の接続のかなりの切断率を経験する。低帯域幅ピアの場合、リソースのコンテンションがあまりなく、したがってプリエンプションの必要性がないので、飽和領域内において観測される切断率は小さい。異なるシナリオにおいて、タックスレート/コストファクタが増大するにつれて、平均切断率は一定に留まるようになる。さらに、(図10Dおよび図10Eに示されるように飽和領域外では)すべての参加ピアは平均的に同数の超過接続を有するが、図11Cは、高帯域幅ピアが驚くほどより高い切断率を観測することを明らかにする。本発明の一実施形態によれば、飽和領域外では、低帯域幅ピアの間の平均の親切断率は、コストファクタ/タックスレートに実質的に反応しない。
本発明の一実施形態では、より大きな総ピア度数は、より高い親切断率をもたらす。ダイナミクスのレベルにおいて観測される傾向を説明するため、個々の接続のタイプ(すなわち、有権利と超過)は、本明細書で示されるように、メッシュベースP2Pストリーミングにおけるコントリビューション認識機構によって明示的に指定されないことに留意されたい。各親ピアは、プリエンプションの決定を行うために(最新の更新に基づいた)現在の子の超過接続および有権利接続の数だけを使用するので、2つの親が、共通の子の最新の更新を利用し、この子に対する接続を同時にプリエンプトする(すなわち切断する)可能性が高い。そのようなイベントの可能性は、子ピアの着信度数に比例する。したがって、一般に、飽和領域外では、より大きな数の着信度数を有するピア(高帯域幅ピア)は、より高頻度のプリエンプションを観測し、これは、着信度数が減少するにつれてタックスレート/コストファクタだけ減少する。
次に、RIの変化が、システムの様々な実施形態の主要な性能メトリックにどのように影響するかを調べる。ここで使用される例示的なパラメータは、表4に要約されている。Max=16、bwpf=25Kbps、グループサイズが500であると仮定する。各RIについての高帯域幅ピアおよび低帯域幅ピアの分布は、従来技術で知られているこれまでの現世界のトレースから導き出される。
図12Aは、基準として式(2)に基づいて計算された、異なるRIを有する高帯域幅ピアおよび低帯域幅ピアの有権利度数を示している。図12Bは、タックスレート/コストファクタの関数として異なるRIを用いるシナリオにおける、高帯域幅ピアおよび低帯域幅ピアの加重平均有権利度数を示している。これら2つの図の比較は、高帯域幅ピアおよび低帯域幅ピアの加重平均有権利度数が、式(2)から導き出された、対応する値に従うことを明らかにする。一実施形態では、切断の頻度は、単一のピアによって観測された連続するプリエンプションの間の平均時間の逆数値であり、それは次に、すべてのピアにわたって平均される。図12Aおよび図12Bが示すように、RI>0:8であるシナリオにおける高帯域幅ピアの有権利度数は、上限を9とするタックスレート/コストファクタ範囲で飽和する。これは、高帯域幅ピアの飽和領域が拡大し、それが他のメトリックに影響することを示している。
図12Cおよび図12Dは、高帯域幅ピアおよび低帯域幅ピアの平均有権利度数および超過度数をそれぞれ示している。図12Cに示されるように、高帯域幅ピアは、より高いリソースインデックスシナリオの飽和領域の拡大のために、上限を9とするタックスレート/コストファクタ範囲では超過接続をもたない。他方、図12Dは、低帯域幅ピアが、飽和を補償して利用可能なリソースを利用するために、より多くの超過接続を取得することを明らかにする。
図12Eは、タックスレート/コストファクタの関数として異なるRIを用いるシナリオの高帯域幅ピアおよび低帯域幅ピアの平均発信度数を示している。この図は、タックスレート/コストファクタおよびRIにかかわらず、高帯域幅ピアおよび低帯域幅ピアの平均発信度数がその貢献に近いことを明らかに示している。より小さいタックスレート/コストファクタでは、高帯域幅ピアの平均発信度数の僅かな低下が存在する。
図12Fは、スナップショットにおけるリソースの利用度を示している。この図も、飽和領域ではリソースの全体的な利用度が低下することを明らかにする。上述したように、RI>0:8のシナリオでは、高帯域幅ピアは飽和領域にあり、したがって、(図12Dに示される)低帯域幅ピアには多くの超過接続が存在する。
様々な実施形態のシミュレーションは、より低いタックスレート/コストファクタの効果を明らかにする。拒否された超過接続の待機時間を適応させる際の指数的バックオフは、利用可能なリソースの低い利用度をもたらす可能性がある。
スケーラブルなコントリビューション認識機構の効果を、以下のように調べる。参加数は100ピアから1000ピアまで変化し、異なる性能メトリックの結果が検査される。RI=0.5、Max=16、bwpf=50Kbpsであると仮定する。高帯域幅ピアは、最大で24接続まで貢献し、低帯域幅ピアは、最大で4接続まで貢献する。
図13Aは、タックスレート/コストファクタの関数として異なるグループサイズを有するシナリオの高帯域幅ピアおよび低帯域幅ピアの加重平均着信度数を示している。この図は、グループサイズに関わらず、コントリビューション認識機構が適切に機能することを明らかに示している。図13Bおよび図13Cは、高帯域幅ピアおよび低帯域幅ピアの平均有権利度数および超過度数をそれぞれ示している。これらの図は、異なるグループサイズの低帯域幅ピアおよび高帯域幅ピアの平均有権利度数および超過度数が近いことを明らかに示す。当業者であれば、コントリビューション認識機構がスケーラブルであり、異なるグループサイズを用いたシナリオにおいて機能することを理解されよう。
全体的な性能に対する更新間隔の効果は以下のようである。更新間隔を、本発明のそれぞれの実施形態によって、10秒から120秒まで変化させる。すべてのシミュレーションにおいて、RI=0:5、Max=16、bwpf=50Kbpsである。高帯域幅ピアの度数は24であり、低帯域幅ピアの度数は4である。
図14Aは、タックスレート/コストファクタの関数として異なる更新間隔を用いたシナリオの高帯域幅ピアおよび低帯域幅ピアの平均着信度数を示している。明らかに、この図は、ピアの平均度数が、更新間隔に関わらず、同じ傾向に従うことを示している。図14Aは、更新間隔を増大させることによって、ピアの平均着信度数が最大20%減少することを明らかにする。
図14Bおよび図14Cは、高帯域幅ピアおよび低帯域幅ピアの着信度数の有権利接続および超過接続への分離をそれぞれ示している。興味深いことに、これらの図は、更新間隔を増大させることによって、平均有権利接続が著しく減少することを明らかにする。他方、平均超過接続は、更新間隔を増大させることによって僅かに増大する。
更新間隔を増大させることによって、システムワイドな情報のより長い伝播または収集の結果である、2つの主要な問題が生じることがある。
(i)ピア毎の情報の収集期間の増大が原因で、ブートストラップノード/ピアは、オーバレイ全体の正確なビューを有することができず、その保存された情報が曖昧になることがある。結果として、ブートストラップノード/ピアは、ピアが新たな子ピアを受け入れるための空スロットを有している、または、ピアがプリエンプトされて別の有権利ピアによって置き換えられる超過接続を有していると誤って仮定することがある。どちらのケースでも、ブートストラップノード/ピアが新たなピアに送信する情報は不正確である。
(ii)情報をブートストラップノード/ピアから個々のピアに伝播する長い期間のために、全てのリソース(
Figure 0004994458
)における一時的な変化が、式(2)によって計算された各ピアの有権利接続に誤って影響することがある。したがって、一時的な変化は、より長い時間のピアに影響し、有権利接続の公平な割り当てを取得するその能力を低下させることがある。
より具体的には、より少数の有権利接続では、ピアは、(図14Bに示されるように平均超過接続の増加によって)より多くの超過接続を確立しようと試みる。超過接続を探しているピアは、他の超過接続をプリエンプトすることができず、総着信度数が低くなることに留意されたい。驚くべきことに、上述の問題はともに、短期存続ピアの実施形態の性能に主として影響する。
図14Dおよび図14Eは、高帯域幅ピアおよび低帯域幅ピアの加重平均着信度数を存続期間の関数としてそれぞれ示している。1000秒を超えるとピアの着信度数に変化はないので、x軸を1000秒のところで切っている。これらの図では、選択されたタックスレート/コストファクタは4であり、この特定の結果について、他のタックスレート/コストファクタとの間に大きな相違は存在しない。これらの図は、以下の2つの重要な点を示している。
(i)長期存続ピアの平均着信度数は、更新期間が異なっても変化しないこと。
(ii)短期存続ピアは、更新期間が増大するにつれて、着信度数がより低いこと。
この現象の説明として、図14Fは、異なる存続期間のすべてのピアに関する正規化されたチャーンの頻度を示している。明らかに、この図は、存続期間がより長いピアがより少ないチャーンを観測することを示している。したがって、最終的に長期存続ピアが互いに接続する傾向にあることは明らかである。したがって、長期存続ピアは、あまり頻繁にはチャーンが原因で親を喪失することがなく、このことは、ブートストラップノードからの曖昧な情報が、それらの接続性に劇的には影響しない傾向にあることを意味する。他方、長期存続ピアは有権利接続の不正確な計算の悪影響を打ち消すほど十分長くシステム内に留まるので、リソースの一時的な変化が、長期存続ピアに著しく影響することはない。
本発明は、様々な形態のハードウェア、ソフトウェア、ファームウェア、専用プロセッサ、またはそれらの組合せで実装され得ることを理解されたい。好ましくは、本発明は、ハードウェアとソフトウェアの組合せとして実装される。さらに、ソフトウェアは、好ましくは、プログラム記憶装置上に明白に具現化されるアプリケーションプログラムとして実装される。アプリケーションプログラムを、任意の適切なアーキテクチャを備えるマシンにアップロードし、そのマシンによって実行することができる。好ましくは、マシンは、1つまたは複数の中央処理装置(CPU)、ランダムアクセスメモリ(RAM)、および入出力(I/O)インタフェースなどの、ハードウェアを有するコンピュータプラットフォームで実装される。コンピュータプラットフォームは、オペレーティングシステムおよびマイクロ命令コードも含む。本明細書で説明された様々なプロセスおよび機能は、オペレーティングシステムを介して実行される、マイクロ命令コードの一部もしくはアプリケーションプログラムの一部(またはそれらの組合せ)とすることができる。加えて、コンピュータプラットフォームには、追加のデータ記憶装置およびプリント装置など、他の様々な周辺装置を接続することができる。
添付の図面に示された構成要素であるシステムコンポーネントおよび方法のステップの一部は、好ましくはソフトウェアで実装されるので、システムコンポーネント(またはプロセスステップ)の間の実際の接続は、本発明がプログラムされる方法に応じて異なることがあることをさらに理解されたい。本明細書の教示を与えることで、当業者であれば、本発明の上記および類似の実施形態および構成を考えることができよう。

Claims (9)

  1. 加入コントリビューション認識ピアのピアツーピアネットワークへの加入を許可する方法であって、
    加入ピアにおいて、システムリソースインデックスを含む複数のシステムパラメータを受信することであって、前記システムリソースインデックスは、前記ピアツーピアネットワークにおけるリソースの総需要に対する利用可能なリソースの比を表すことと、
    前記加入ピアの有権利着信度数の値を計算することであって、前記加入ピアの前記有権利着信度数は、前記加入ピアが前記ピアツーピアネットワーク内で接続可能な親ピアの数を示し、前記計算された有権利着信度数は、前記システムリソースインデックスの値、および前記ピアツーピアネットワークに対する前記加入ピアの帯域幅の貢献意欲を反映していることと、
    前記加入ピアにおいて潜在的な親ピアのリストを受信することと、
    ライブストリーミングコンテンツを受信するために前記潜在的な親ピアのうち少なくとも1つの親ピアとの通信を確立することと
    を含むことを特徴とする方法。
  2. 記システムリソースインデックスは、式
    Figure 0004994458
    に従って決定され、ここで、W i は、前記ピアツーピアネットワーク内のピアp i の前記ピアツーピアネットワークに対する帯域幅の貢献意欲を表し、Nは、前記ピアツーピアネットワーク内のピアの総数を表し、N*Maxは、リソースの総需要を表すことを特徴とする請求項1に記載の加入コントリビューション認識ピアのピアツーピアネットワークへの加入を許可する方法。
  3. 前記加入ピアの前記有権利着信度数の値を計算することは、式
    Figure 0004994458
    に従って実行されることを特徴とする請求項2に記載の加入コントリビューション認識ピアのピアツーピアネットワークへの加入を許可する方法。
  4. 前記加入ピアの処理デバイスを使用して前記有権利着信度数の値を決定することをさらに含むことを特徴とする請求項1に記載の加入コントリビューション認識ピアのピアツーピアネットワークへの加入を許可する方法。
  5. 前記加入ピアは、所定のローカルプリエンプションポリシーを遵守するときに前記少なくとも1つの親ピアとの接続を許可され、前記ローカルプリエンプションポリシーは、各親ピアが子ピアからの接続要求にどのように反応するかを規定することを特徴とする請求項1に記載の加入コントリビューション認識ピアのピアツーピアネットワークへの加入を許可する方法。
  6. 前記ピアツーピアネットワークのピアデバイスから、前記ピアツーピアネットワークに対する前記ピアデバイスの帯域幅の貢献意欲を表す意欲情報を定期的に受信することをさらに含むことを特徴とする請求項1に記載の加入コントリビューション認識ピアのピアツーピアネットワークへの加入を許可する方法。
  7. 前記ピアツーピアネットワークのピアデバイスにハートビートメッセージを定期的に送信することをさらに含むことを特徴とする請求項1に記載の加入コントリビューション認識ピアのピアツーピアネットワークへの加入を許可する方法。
  8. 前記加入ピアは、帯域幅を有する信号を受信するように適合され、前記帯域幅は、前記ピアツーピアネットワークに対して前記加入ピアがリソースを提供する意欲に関係することを特徴とする請求項1に記載の加入コントリビューション認識ピアのピアツーピアネットワークへの加入を許可する方法。
  9. 前記加入ピアは、信号を受信するように適合され、前記信号は、多重記述符号化信号として構成されることを特徴とする請求項1に記載の加入コントリビューション認識ピアのピアツーピアネットワークへの加入を許可する方法。
JP2009539236A 2006-11-29 2007-03-23 コントリビューション認識ピアツーピアライブストリーミングサービス Expired - Fee Related JP4994458B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
USPCT/US2006/045588 2006-11-29
PCT/US2006/045588 WO2008066516A1 (en) 2006-11-29 2006-11-29 Contribution aware peer-to-peer live streaming service
PCT/US2007/007220 WO2008066560A1 (en) 2006-11-29 2007-03-23 Contribution aware peer-to-peer live streaming service

Publications (3)

Publication Number Publication Date
JP2010515113A JP2010515113A (ja) 2010-05-06
JP2010515113A5 JP2010515113A5 (ja) 2010-06-17
JP4994458B2 true JP4994458B2 (ja) 2012-08-08

Family

ID=38269103

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2009539220A Expired - Fee Related JP4830025B2 (ja) 2006-11-29 2006-11-29 貢献認識(contributionaware)ピアツーピアライブストリーミングサービス
JP2009539236A Expired - Fee Related JP4994458B2 (ja) 2006-11-29 2007-03-23 コントリビューション認識ピアツーピアライブストリーミングサービス

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2009539220A Expired - Fee Related JP4830025B2 (ja) 2006-11-29 2006-11-29 貢献認識(contributionaware)ピアツーピアライブストリーミングサービス

Country Status (6)

Country Link
US (1) US8898232B2 (ja)
EP (2) EP2090074A1 (ja)
JP (2) JP4830025B2 (ja)
CN (3) CN101543019B (ja)
BR (2) BRPI0622079A2 (ja)
WO (2) WO2008066516A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8904463B2 (en) 2005-03-09 2014-12-02 Vudu, Inc. Live video broadcasting on distributed networks
US8300798B1 (en) 2006-04-03 2012-10-30 Wai Wu Intelligent communication routing system and method
FR2915044B1 (fr) * 2007-04-16 2009-09-18 France Telecom Procede de determination de la dynamique d'un reseau logique
US8015311B2 (en) * 2007-09-21 2011-09-06 Polytechnic Institute Of New York University Reducing or minimizing delays in peer-to-peer communications such as peer-to-peer video streaming
US20090122753A1 (en) * 2007-10-01 2009-05-14 Hughes Timothy J Dynamic data link segmentation and reassembly
US9769255B2 (en) * 2007-12-24 2017-09-19 Core Wireless Licensing S.A.R.L. Continuous scheduling for peer-to-peer streaming
US7996546B2 (en) * 2008-10-02 2011-08-09 Ray-V Technologies, Ltd. Dynamic allocation of a quota of consumer nodes connecting to a resource node of a peer-to-peer network
US8452886B2 (en) * 2008-12-04 2013-05-28 Microsoft Corporation Peer-to-peer packet scheduling algorithm
US8051161B2 (en) * 2008-12-08 2011-11-01 Microsoft Corporation Peer-to-peer (P2P) streaming overlay construction and optimization
JP2010182111A (ja) * 2009-02-05 2010-08-19 Csk-Is:Kk ネットワークシステム及びネットワークプログラム
US9049206B2 (en) 2009-05-05 2015-06-02 Telefonaktiebolaget L M Ericsson (Publ) P2P for mobile providers
CN102064992B (zh) * 2009-11-13 2012-11-28 中兴通讯股份有限公司 一种中继节点、中继节点的分布式网络及其组网方法
US8560633B2 (en) * 2010-01-11 2013-10-15 Tangome, Inc. Communicating in a peer-to-peer computer environment
US9444887B2 (en) 2011-05-26 2016-09-13 Qualcomm Incorporated Multipath overlay network and its multipath management protocol
US8995338B2 (en) * 2011-05-26 2015-03-31 Qualcomm Incorporated Multipath overlay network and its multipath management protocol
ES2523596T3 (es) * 2011-11-18 2014-11-27 Peerialism AB Método y dispositivo para la disposición de pares en redes superpuestas P2P de carga de secuencia única
WO2013134211A2 (en) * 2012-03-09 2013-09-12 Interdigital Patent Holdings, Inc. Method and system for cdn exchange nterconnection
US9544366B2 (en) 2012-12-19 2017-01-10 Hive Streaming Ab Highest bandwidth download request policy in a live streaming P2P network
US9680926B2 (en) 2012-12-19 2017-06-13 Hive Streaming Ab Nearest peer download request policy in a live streaming P2P network
US9591070B2 (en) * 2012-12-19 2017-03-07 Hive Streaming Ab Multiple requests for content download in a live streaming P2P network
JP5907132B2 (ja) * 2013-08-30 2016-04-20 ブラザー工業株式会社 中継装置、プログラム及び通信システム
US9967336B2 (en) * 2013-12-19 2018-05-08 Hive Streaming Ab Distributing content data to resource constrained devices in a segment of a P2P network
CN104540173B (zh) * 2015-01-04 2018-08-03 河海大学常州校区 一种基于树状簇结构的无线传感器网络移动数据收集方法
KR101780981B1 (ko) 2015-09-23 2017-09-26 주식회사 마블루스 P2p 비디오 스트리밍을 지원하기 위한 장치 및 방법
CN106790647B (zh) * 2017-01-15 2020-06-23 网宿科技股份有限公司 一种自适应服务管理的方法和系统
CN109651219B (zh) * 2018-12-29 2020-11-03 信阳师范学院 一种偶氮苯基硫脲衍生物的有机凝胶化合物及制备方法、有机凝胶及应用

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5859959A (en) 1996-04-29 1999-01-12 Hewlett-Packard Company Computer network with devices/paths having redundant links
US6601101B1 (en) 2000-03-15 2003-07-29 3Com Corporation Transparent access to network attached devices
US7089301B1 (en) 2000-08-11 2006-08-08 Napster, Inc. System and method for searching peer-to-peer computer networks by selecting a computer based on at least a number of files shared by the computer
US7113771B2 (en) * 2001-08-02 2006-09-26 Motorola, Inc. Method and apparatus for enabling and rewarding wireless resource sharing
US7076564B2 (en) 2001-09-17 2006-07-11 Micromuse Ltd. Method and apparatus for determining and resolving missing topology features of a network for improved topology accuracy
JP2003209576A (ja) 2002-01-15 2003-07-25 Matsushita Electric Ind Co Ltd マルチキャスト通信方法及びそのシステム
US7792982B2 (en) 2003-01-07 2010-09-07 Microsoft Corporation System and method for distributing streaming content through cooperative networking
US20040203385A1 (en) 2003-03-14 2004-10-14 Sathya Narayanan Session endpoint management method for ad-hoc networks
US7729992B2 (en) 2003-06-13 2010-06-01 Brilliant Digital Entertainment, Inc. Monitoring of computer-related resources and associated methods and systems for disbursing compensation
GB0319251D0 (en) * 2003-08-15 2003-09-17 British Telecomm System and method for selecting data providers
US20050273511A1 (en) * 2004-06-08 2005-12-08 Hewlett-Packard Development Company, L.P. Equitable resource sharing in grid-based computing environments
US7593333B2 (en) * 2004-07-07 2009-09-22 Microsoft Corporation Efficient one-to-many content distribution in a peer-to-peer computer network
EP1633088A1 (en) * 2004-09-02 2006-03-08 Deutsche Thomson-Brandt Gmbh Method and device for improving quality-of-service management in peer-to-peer networks
US7664109B2 (en) * 2004-09-03 2010-02-16 Microsoft Corporation System and method for distributed streaming of scalable media
US20070091809A1 (en) 2005-10-25 2007-04-26 Smith Jeffrey C Managed network resource sharing and optimization method and apparatus
WO2007147170A2 (en) * 2006-06-16 2007-12-21 Bittorrent, Inc. Classification and verification of static file transfer protocols
US7558797B2 (en) * 2006-06-30 2009-07-07 Microsoft Corporation Metadata structures for mass P2P file sharing
US7613770B2 (en) * 2006-06-30 2009-11-03 Microsoft Corporation On-demand file transfers for mass P2P file sharing
WO2008038280A2 (en) * 2006-09-28 2008-04-03 Rayv Inc. System and methods for peer-to-peer media streaming
WO2008043092A1 (en) * 2006-10-05 2008-04-10 Bittorrent, Inc. Peer-to-peer streaming of non-live content

Also Published As

Publication number Publication date
BRPI0622079A2 (pt) 2011-12-20
US8898232B2 (en) 2014-11-25
CN101543021A (zh) 2009-09-23
JP2010511348A (ja) 2010-04-08
CN101543021B (zh) 2012-08-29
CN101543019B (zh) 2012-11-28
JP2010515113A (ja) 2010-05-06
EP2095610A1 (en) 2009-09-02
WO2008066516A1 (en) 2008-06-05
BRPI0718939A2 (pt) 2013-01-15
JP4830025B2 (ja) 2011-12-07
WO2008066560A1 (en) 2008-06-05
CN101543019A (zh) 2009-09-23
US20100030909A1 (en) 2010-02-04
CN102868674A (zh) 2013-01-09
EP2090074A1 (en) 2009-08-19

Similar Documents

Publication Publication Date Title
JP4994458B2 (ja) コントリビューション認識ピアツーピアライブストリーミングサービス
US9094416B2 (en) Contribution aware peer-to-peer live streaming service
EP3528440B1 (en) Path selection method and system, network acceleration node, and network acceleration system
CN1744575B (zh) 用于提高网络中的服务质量管理的方法
Mahdian et al. MIRCC: Multipath-aware ICN rate-based congestion control
CN102355448B (zh) 云流媒体数据传输方法及系统
US8341283B2 (en) Method and system for peer-to-peer content dissemination
EP2434704B1 (en) Method and system for choosing backup resources
US20030212787A1 (en) Adaptive allocation of last-hop bandwidth based on monitoring of end-to-end throughput
CN105634992A (zh) Cdn平台自适应带宽控制方法和系统
Steinmetz et al. Quality of Service: Where are we?
WO2025076899A1 (zh) 一种分布式算力资源调度方法及系统
CN113176936B (zh) QoE感知的分布式边缘任务调度和资源管理方法及系统
CN111432231A (zh) 边缘网络的内容调度方法、家庭网关、系统、及服务器
CN101867580B (zh) 一种分配网络流量的方法及装置
Sherman et al. FairTorrent: a deficit-based distributed algorithm to ensure fairness in peer-to-peer systems
US8583819B2 (en) System and method for controlling server usage in peer-to-peer (P2P) based streaming service
Samiayya et al. An efficient congestion control in multimedia streaming using adaptive BRR and fuzzy butterfly optimization
CN119892741A (zh) 服务质量限速方法与装置
Yang et al. Hotspot avoidance for P2P streaming distribution application: a game theoretic approach
Magharei et al. Incorporating contribution-awareness into mesh-based Peer-to-Peer streaming systems
El Marai et al. Ensuring high QoE for DASH-based clients using deterministic network calculus in SDN networks
Zhao et al. An in-network service system based on smart routers and edge devices
CN111416830A (zh) 一种自适应的p2p流媒体数据调度算法
CN119854534A (zh) 直播流并行处理方法及其装置、设备、介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100323

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111021

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120123

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

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

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

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4994458

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

LAPS Cancellation because of no payment of annual fees