(57)【要約】本発明の方法及び装置が開示され、当該方法及び装置は、データのストリームを複数のサブストリームに分割し、複数のサブストリームの割り当てを複数の送信装置の間で確立し、割り当てに従って、複数の送信装置が複数のサブストリームを同時に送信し始めるのを可能し、及び割り当てを調節する。
2009545203.tif 000002
【特許請求の範囲】
【請求項１】
データのストリームを複数のサブストリームに分割するステップと、
前記複数のサブストリームの割り当てを複数の送信装置の間で確立するステップと、
前記割り当てに従って、前記複数の送信装置が前記複数のサブストリームを同時に送信し始めるのを可能にするステップと、
前記割り当てを調節するステップと、
を有することを特徴とする方法。
【請求項２】
前記調節するステップは、
前記複数の送信装置の送信の品質をモニタするステップと、
それらの送信品質に基づいて前記複数の送信装置をソートするステップと、
乏しい送信品質をもつ前記複数の送信装置のうちの装置と良好な送信品質をもつ前記複数の送信装置のうちの装置との間で予め決定された数のサブストリームを交換するステップと、
を更に有する請求項１記載の方法。
【請求項３】
良好な送信品質をもつ前記複数の送信装置のうちで予め決定された数の前記装置を選択するステップと、良好な送信品質をもつ前記選択された装置は、ストロング送信装置として示され、
乏しい送信品質をもつ前記複数の送信品質のうちで等しい数の装置を選択するステップとを更に含み、乏しい送信品質をもつ前記選択された装置は、ウィーク送信装置として示され、
前記予め決定された数の選択されたストロング送信装置は、前記複数の送信装置の数の半分未満である、
請求項２記載の方法。
【請求項４】
前記交換するステップは、
予め決定された期間について前記ウィーク送信装置に以前に割り当てられた更なるサブストリームを送信するように前記ストロング送信装置に要求するステップと、
前記更なるサブストリームを送信する前記ストロング送信装置の送信品質を測定及び記録するステップと、
前記予め決定された期間後に良好な送信品質を有し続ける前記ストロング送信装置に前記ウィーク送信装置から前記更なるサブストリームを移動するステップと、
を更に含む請求項３記載の方法。
【請求項５】
前記ストロング送信装置と前記ウィーク送信装置との間のそれぞれのリンクと重みを関連付けるステップと、前記重みは前記交換するステップのゲインを反映し、
前記重みの合計を最大にすることに基づいて、前記ストロング送信装置と前記ウィーク送信装置との間で前記交換するステップを実行するステップと、
を更に含む請求項３記載の方法。
【請求項６】
前記複数の送信装置は、ピアツーピアネットワークのメンバーであり、
複数の受信装置のうちの受信する装置は、前記ピアツーピアネットワークのメンバーである、
請求項１記載の方法。
【請求項７】
前記予め決定された数のサブストリームは、前記複数の送信装置の数よりも多い、
請求項２記載の方法。
【請求項８】
前記ピアツーピアネットワークの帯域幅は非対称であり、前記受信する装置は、前記複数の送信装置の結合されたレートよりも大きいか又は等しいレートで前記データのストリームを受信するために十分な帯域幅を有する、
請求項５記載の方法。
【請求項９】
前記データのストリームの前記パケットは等しいサイズである、
請求項１記載の方法。
【請求項１０】
それぞれのサブストリームは、それぞれ予め決定された数のサブストリームのうちの１つのパケットから構成される、
請求項１記載の方法。
【請求項１１】
それぞれの送信装置は前記データのストリームを有し、前記データのストリームは、等しいサイズのパケットの集合としてそれぞれの送信装置で記憶される、
請求項１記載の方法。
【請求項１２】
前記パケットは、前記データのストリームにおけるそれらの位置を示すシーケンスナンバーを有する、
請求項１記載の方法。
【請求項１３】
前記コンテンツのストリームは、ビデオストリームのデータである、
請求項１記載の方法。
【請求項１４】
前記交換するステップは、予め決定された時間インターバルで行われ、前記予め決定された時間インターバルは、コンフィギュレーションパラメータである、
請求項２記載の方法。
【請求項１５】
前記予め決定された時間インターバルは、帯域幅の変化を捕捉するために十分に短く、不要なオーバヘッドを回避するために十分に長く、前記予め決定された時間インターバルはエポークとして示される、
請求項１４記載の方法。
【請求項１６】
前記それぞれのリンクに関連される重みは、
【数１】
2009545203.tif 000005
により与えられ、ｎsiはｉ番目のストロング送信装置により搬送されるサブストリームの数を示し、ｎwjはｊ番目のウィーク送信装置により搬送されるサブストリームの数を示す、
請求項５記載の方法。
【請求項１７】
データのストリームを複数のサブストリームに分割する手段と、
前記複数のサブストリームの割り当てを複数の送信装置の間で確立する手段と、
前記割り当てに従って、前記複数の送信装置が前記複数のサブストリームを同時に送信し始めるのを可能にする手段と、
前記割り当てを調節する手段と、
を有することを特徴とするデータ送信システム。
【請求項１８】
前記調節する手段は、
前記複数の送信装置の送信の品質をモニタする手段と、
それらの送信品質に基づいて前記複数の送信装置をソートする手段と、
乏しい送信品質をもつ前記複数の送信装置のうちの装置と良好な送信品質をもつ前記複数の送信装置のうちの装置との間で予め決定された数のサブストリームを交換する手段と、
を更に有する請求項１７記載のシステム。
【請求項１９】
良好な送信品質をもつ前記複数の送信装置のうちで予め決定された数の前記装置を選択する手段と、良好な送信品質をもつ前記選択された装置は、ストロング送信装置として示され、
乏しい送信品質をもつ前記複数の送信品質のうちで等しい数の装置を選択する手段とを更に含み、乏しい送信品質をもつ前記選択された装置は、ウィーク送信装置として示され、
前記予め決定された数の選択されたストロング送信装置は、前記複数の送信装置の数の半分未満である、
請求項１８記載のシステム。
【請求項２０】
前記交換する手段は、
予め決定された期間について前記ウィーク送信装置に以前に割り当てられた更なるサブストリームを送信するように前記ストロング送信装置に要求する手段と、
前記更なるサブストリームを送信する前記ストロング送信装置の送信品質を測定及び記録する手段と、
前記予め決定された期間後に良好な送信品質を有し続ける前記ストロング送信装置に前記ウィーク送信装置から前記更なるサブストリームを移動する手段と、
を更に含む請求項１９記載のシステム。
【請求項２１】
前記ストロング送信装置と前記ウィーク送信装置との間のそれぞれのリンクと重みを関連付ける手段と、前記重みは前記交換するステップのゲインを反映し、
前記重みの合計を最大にすることに基づいて、前記ストロング送信装置と前記ウィーク送信装置との間で前記交換を実行する手段と、
を更に含む請求項１９記載のシステム。
【請求項２２】
前記複数の送信装置は、ピアツーピアネットワークのメンバーであり、
複数の受信装置のうちの受信する装置は、前記ピアツーピアネットワークのメンバーである、
請求項１７記載のシステム。
【請求項２３】
前記送信装置は、制御メッセージリスナ、サブストリーム情報データベース及びデータポンプをそれぞれ有する、
請求項２２記載のシステム。
【請求項２４】
前記制御メッセージリスナは、前記受信装置から到来する制御メッセージを定期的にモニタする、
請求項２３記載のシステム。
【請求項２５】
新たな制御メッセージが前記受信装置のうちの１つから到来したとき、前記新たな制御メッセージを受信する前記送信装置は、前記サブストリーム情報データベースを更新する、
請求項２４記載のシステム。
【請求項２６】
前記データポンプは、前記サブストリーム情報データベースにおける情報に基づいて前記サブストリームを送信する、
請求項２３記載のシステム。
【請求項２７】
前記受信装置は、
それぞれのデータレシーバが前記送信装置のうちの１つからサブストリームデータを受信する複数のデータレシーバと、
ストリーミングコーディネータと、
制御メッセージセンダと、
を更に有する、
請求項２２記載のシステム。
【請求項２８】
それぞれのデータレシーバは、その関連される送信装置からストリーミングの品質メトリックを収集し、前記ストリーミングの品質メトリックは、時間通りに到達する前記サブストリームの前記パケットのパーセンテージである、
請求項２７記載のシステム。
【請求項２９】
前記ストリーミングコーディネータは、前記送信装置からのストリーミングを調整し、前記ストリーミングコーディネータは、前記送信装置のそれぞれから受信された前記ストリーミングの品質メトリックをモニタし、前記送信装置により送信されるサブストリームの数を定期的に動的に調節する、
請求項２８記載のシステム。
【請求項３０】
前記制御メッセージセンダは、前記ストリーミングコーディネータからの入力に基づいて制御メッセージを形成し、前記制御メッセージを前記送信装置に送信する、
請求項２７記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーキング全般に関し、より詳細には、ビデオコンテンツストリーミングのためのピアツーピア（Ｐ２Ｐ）ネットワークに関する。
【背景技術】
【０００２】
ピアツーピア（Ｐ２Ｐ）ネットワーキングは、インターネットを通したビデオコンテンツストリーミングサービスをサポートするために提案される。それぞれのピアは、クライアントとサーバの両者の機能で実現される。ピアは、コンテンツを受信及びキャッシュし、コンテンツを他のピアにストリーミングする。ピアからの寄与のため、システムは、全体として、従来のクライアントサーバ型のサービスモデルよりも多くのユーザをサポートする。
【０００３】
現在のインターネットでは、多数のピアは、非対称なアップロード／ダウンロードの帯域幅を有するＡＤＳＬ又は高速ケーブルモデムを使用する。ダウンロードの帯域幅は、アップロードの帯域幅よりも典型的に広い。したがって、ピアがストリーミングコンテンツを受信するために十分な帯域幅を有する場合があるが、それらのアップロード帯域幅は、他のピアをサポートするために十分に広くない。非対称な帯域幅の問題は、Ｐ２Ｐビデオコンテンツのストリーミングサービスの有効性に大いに影響を及ぼす。
【０００４】
従来技術のなかには、多数のソースからストリーミングサービスを提供しようとするものがある。従来技術のなかには、パケットレベルでの負荷の調節を実行するものがある。他の従来技術のスキームは、マルコフチェインとしてピア間のコネクション／リンクをモデル化する。さらに他の従来技術のスキームは、動的なサブストリームの調節の問題を解決するために確率的なアプローチを利用する。
【発明の開示】
【課題を解決するための手段】
【０００５】
本発明は、（本明細書では送信ピア“sending peer”として示される）ユーザのセットが、個々の送信ピアのアップロード帯域幅が受信ピアにコンテンツをストリームするのに不十分である場合でさえ、ストリーミングサービスを（受信ピア“receiving peer”として示される）別のユーザに協力して提供するのを可能にするメカニズムを提供するものである。本発明の方法及び装置は、ピアツーピアビデオストリーミングサービスで遭遇される非対称な帯域幅の問題を解決する。本明細書で使用されるように、ピアはノード、ビデオ再生装置、パーソナルデジタルアシスタント（ＰＤＡ）、ラップトップコンピュータを含むコンピュータ、ピアツーピアネットワークでコンテンツを送信及び受信可能な任意の他の装置を含む。
【０００６】
本発明は、非対称な帯域幅をもつピアが協働して帯域幅に寄与するのを可能にするマルチパーティコーポラティブ（multiparty cooperative）Ｐ２Ｐストリーミング方法である。本発明の目的は、送信ピアの集合のアップロード帯域幅が必要とされるストリーミングの帯域幅よりも広く、したがって非対称な帯域幅の問題が解決されるように、複数の送信ピアが受信ピアにコンテンツを協働してストリーミングするのを可能にすることである。
【０００７】
マルチパーティコーポラティブ ストリーミング方法及び装置が記載され、当該方法及び装置は、コンテンツのストリームのパケットをサブストリームに区分し、送信ピア間で送信のためのサブストリームを一様に割り当て、受信ピアへのサブストリームの送信を同時に開始する命令を送信ピアについて発生し、送信ピアにより送信されるサブストリームの数を周期的に調節することを含む。
【０００８】
データを送信する方法及び装置が記載され、当該方法及び装置は、データのストリームを複数のサブストリームに区分し、複数の送信装置間で複数のサブストリームの割り当てを確立し、割り当てに従って複数の送信装置が複数のサブストリームを同時に送信し始めるのを可能にし、該割り当てを調節することを含む。
【発明を実施するための最良の形態】
【０００９】
本発明は、以下の詳細な説明が添付図面と共に読まれたときに良好に理解されるであろう。図面において、同じ参照符号は類似のエレメントを表す。
【００１０】
本発明は、個々の送信／送出ピアのアップロード帯域幅が受信ピアにコンテンツを個々にストリーミングするために不十分である場合でさえ、ピアのセット（送信）が別のピア（受信）にビデオコンテンツのストリーミングサービスを協働で提供するのを可能にする。本発明の方法及び装置は、Ｐ２Ｐビデオコンテンツのストリーミングで遭遇される非対称な帯域幅の問題を解決する。本発明は、アップロード帯域幅を前もって積極的に調べ、ビデオストリーミングの品質をコンスタントに最適化するのを試みる。
【００１１】
より詳細には、本発明は、パケットをサブストリームに区分する。サブストリームはパケットの集合であるので、シグナリングのオーバヘッドが効果的に低減され、ダイナミックな負荷の調節のストラテジが簡易にされる。さらに、本発明の方法及び装置は、所定のパスを通して多くのトラフィックを注入することで、利用可能な帯域幅を積極的に調べる。本発明は、変化するネットワーク環境により迅速に反応するものであり、このことは、Ｐ２Ｐネットワーク設定において重要である。本発明は、ミニマムウェイト パーフェクトマッチング問題（Minimum-Weight-Perfect-Matching
problem）としてダイナミックなサブストリームの調節の問題を定式化する。
【００１２】
｛ｓi｝，ｉ＝１，２，．．．，Ｎを、目的／受信ピアｄにコンテンツをストリーミングするＮ個の送信ピアのセットを示す。所望のコンテンツを有するＮ個の送信ピアは、他の手段により識別されているとする。ストリーミングビデオコンテンツは、等しいサイズのパケットの集合として送信ノードで記憶される。識別された送信オードのそれぞれは、コンテンツのコピーを有する。パケットは、ビデオコンテンツストリームにおけるそれらの位置を示すシーケンスナンバーを有する。ビデオコンテンツストリームは、Ｍ個の等しいレートのサブストリームに分割される。それぞれのサブストリームは、Ｍ個のパケットのなかで１つのパケットを有する。以下では、Ｎ個のピアがＭ個のサブストリームをｄに集合的に送出するのを可能にする装置が記載される。受信ピアｄがレートｒで全体のストリームを受信するために十分なダウンロード帯域幅を有し、送信ピアｓiのアップロード帯域幅が制限され、ストリーミングレートｒよりも低いと仮定する。サブストリームの数Ｍは、送信ピアの数Ｎよりも大きく選択される。送信ピア及び受信ピアのアーキテクチャは、それぞれ、はじめに説明される。後に、受信ピアで知覚されるストリーミング品質を最適にするように、それぞれの送信ピアにより搬送されるサブストリームの数を動的に調節するミニマムウェイト パーフェクトマッチング（ＭＷＰＭ）に基づいたアルゴリズムが記載される。
【００１３】
図１に示されるように、送信ピアは、制御メッセージリスナ１０５、サブストリーム情報データベース１１０及びデータポンプ１１５といった３つのコンポーネントを含む。制御メッセージリスナ１０５は、受信ピアから到来する制御メッセージをコンスタントにモニタする。制御メッセージが到達したとき、送信ピアは、これに応じて、サブストリーム情報データベース１１０をアップデートする。制御メッセージは、３つの項目（action, sub_stream_id, time_offset）からなる。“add”及び“delete”といった２つのタイプのactionが存在する。制御メッセージリスナ１０５は、actionが追加された場合に、（sub_stream_id,
time_offset）ペアをサブストリーム情報データベース１１０に挿入し、actionが削除された場合に、sub_stream_idでサブストリーム情報データベース１１０におけるエントリを削除する。データポンプ１１５は、サブストリーム情報データベース１１０に基づいてサブストリームを送信／送出する役割を果たす。
【００１４】
図２に示されるように、受信ピアは、データレシーバ２０５、ストリーミングコンディショナ２１０及び制御メッセージセンダ２１５といった３つのタイプのコンポーネントを有する。１つのデータ受信機２０５は、１つの送信ピアからのデータの受信の専用とされる。データレシーバ２０５は、対応する送信ピアから送出されたサブストリームを受信し、関連されるサブストリームのストリーミングの品質のメトリックを集合する。ストリーミングの品質のメトリックは、時間通りに到達したパケットのパーセンテージであると定義される。ストリーミングコーディネータ２１０は、複数の送信ピアからのストリーミングを調整し、受信ピア側での知覚される品質、すなわち時間通りに到達したパケットのパーセンテージを最適化する。制御メッセージセンダ２１５は、ストリーミングコーディネータ２１０からの入力に基づいて制御メッセージを形成し、該制御メッセージをターゲットとされる送信ピアに送出する。
【００１５】
ストリーミングコーディネータ２１０は、送信ピアのストリーミングの品質をモニタし、全体のストリーミングの品質を最適化するように、それぞれの送信ピアに割り当てられるサブストリームの数を動的に調節する。図３は、ストリーミングコーディネータ２１０のワークフローのフローチャートを示し、このワークフローは、初期化フェーズ３０５と動的な調節フェーズ３２５といった２つのフェーズから構成される。ストリーミングコーディネータ２１０により使用される方法は、変動する利用可能な帯域幅に適応することでストリーミングの品質を最適化するため、サブストリームを送信ピアに動的に割り当てる。
【００１６】
送信ピアｓiから受信ピアｄへの利用可能なアップストリームの帯域幅は初期化フェーズにおいて未知であるので、ストリーミングコンディショナ２１０は、ステップ３１０で、全ての送信ピアの間でサブストリーミングを一様に分散させる。異なる送信ピアにより搬送されるサブストリームの数は、ラウンドアップエラーのために１だけ異なる。ストリーミングコンディショナ２１０は、ステップ３１５で、サブストリームのセットの送信ピアに、送信／送出することを要求されたことを通知する。ストリーミングコンディショナ２１０は、ステップ３２０で、同時にストリーミングを開始するために送信ピアに命令を発生する。
【００１７】
動的な調節フェーズ３２５で、ストリーミングコンディショナ２１０は、それぞれの送出ピアにより搬送／送信されるサブストリームの数を周期的に調節する。これにより、それぞれの利用可能なアップロードの帯域幅を正しく反映するサブストリームの数を送信ピアが搬送／送信するのを可能にし、したがって、ビデオの集合の送信品質が最適化される。
【００１８】
ストリーミングコンディショナ２１０は、ステップ３３０で、送信ピアの送信品質をモニタする。送信ピアは、送信品質の降順にソートされる。本発明の方法は、良好な送信品質をもつピアと乏しい送信品質をもつピアとの間でｍ個のサブストリームをスワップ／交換する。ｍの値は、コンフィギュレーションパラメータであり、Ｎ／２よりも小さくあるべきである。上位ｍにランクされる送信ピアは、ストロング送信ピアとして示され、下位ｍにランクされる送信ピアは、ウィーク送信ピアとして示される。ウィークピアからストロングピアに負荷の幾らかを移動することで、平均の送信品質が最大になる。
【００１９】
エポックは、それぞれのピアがサブストリームを送信する時間インターバルである。エポックの長さは、コンフィギュレーションパラメータであり、このパラメータは、コネクションの帯域幅の変化を迅速に捕捉するために十分に小さく、動的な調節プロセスで導入される不要なオーバヘッドを回避するために十分に長く選択されるべきである。このエポックは、たとえば５秒である。エポック内の動的な調節プロセスは、トライアウトステップ及びダイナミックアジャストメントステップといった、２つのステップを含む。トライアウトステップの間、ステップ３３５で、ストロングピアは、短時間でもう１つのサブストリームを搬送／送信するのを要求され、（以前よりも、もう１つのサブストリームによる）それぞれのストロングピアの送信品質が測定され、記録される。ダイナミックアジャストメントフェーズである動的な調節ステップ３４０の間、サブストリームは、ウィークピアからストロングピアに移動される。多くとも１つのサブストリームをウィークピアから移動することができ、多くとも１つの余分のサブストリームをストロングピアにより搬送することができる。この背後にある論理的な根拠は、調節プロセスを安定かつスムースにすることである。
【００２０】
実施の形態では、ミニマムウェイト パーフェクトマッチング（ＭＷＰＭ）に基づいた動的なサブストリームの調節により、受信ピアにより知覚される送信品質が最大となる。
【００２１】
［外１］
2009545203.tif 000003
を、それぞれ、もう１つのサブストリームを搬送する前後のｉ番目のストロングピアの送信品質とし、｛ｑwi｝Mi=1をｊ番目のウィークピアの送信品質とする。ウィークピアの送信品質は、１つ少ないサブストリームを搬送する結果として変化しないものとする。問題を説明するため、３つのストロングピアと３つのウィークピアを有する図４における例を考える。ストロングピアとウィークピアの間のリンクは、ウィークピアからストロングピアへの潜在的なサブストリームの変化を表す。リンクに関連される重みは、係る変化のゲインを示し、特に、ｗijは、ｉ番目のストロングピアとｊ番目のウィークピアとの間のリンクの重みを示す。したがって、以下の通りである。
【００２２】
【数２】
2009545203.tif 000004
ここでｎsiは、ｉ番目のストロング送信ピアにより搬送されるサブストリームの数を示し、ｎwjは、ｊ番目のウィーク送信ピアにより搬送されるサブストリームの数を示す。
【００２３】
式（１）の角括弧内の最初の項は、ウィークピアからストロングピアに１つのサブストリームをスイッチした後のストロングピアとウィークピアの集合の送信品質である。第二の項は、サブストリームの交換前の集合の送信品質である。サブストリームの交換が行なわれないため、送信の改善を達成することができない場合、重みが負でないことを示すために［・］+が使用される。重みがゼロに等しい場合、サブストリームの交換が含まれない。最適なサブストリームの調節は、重みの合計を最大にする二部グラフ（bi-partite graph）における完全一致を発見することに等価である。二部グラフは、無向グラフ（undirected graph）Ｇ＝（Ｖ,Ｅ）であり、Ｖは２つのセットＶ１及びＶ２に区分することができ、Ｅにおける（ｕ,ｖ）は、Ｖ１におけるｕ及びＶ２におけるｖ又はＶ２におけるｕ及びＶ１におけるｖのいずれかである。すなわち、全てのエッジは、２つのセットＶ１及びＶ２の間にある。この問題は、本発明のミニマムウェイト パーフェクトマッチングアルゴリズムを使用して解決される。
【００２４】
サブストリームの調節が継続するとき、送信ピアのなかには、サブストリームを送信しないで終わるものがある。係る送信ピアは、アイドル送信ピアと呼ばれる。係るアイドル送信ピアに対処する１つの方法は、送信ピアのプールからそれらを単に除くことである。別の方法は、ストロングピアとして所定の確立をもつアイドル送信ピアを選択し、アイドル送信ピアを搬送すべき１つのサブストリームを割り当てることである。次いで、上述された同じアルゴリズムが適用される。論理的根拠は、最後の時間インターバル（エポック）以降に、それらのアップロードの帯域幅が著しく改善されるケースで、これらのアイドル送信ピアに貢献する機会を与えることである。
【００２５】
先の説明では、リンクの機能休止の状態は考慮されていない。この状況では、リンクが故障し、送信ピアと受信ピア間の接続が失われている。係る状況は、閾値をセットアップし、送信ピアプールから接続されていない（又は粗悪に接続された）ピアを積極的に排除することで対処される。たとえば、閾値の値はσに設定することができる。送信ピアの送信品質が閾値よりも低い場合、送信ピアのプールから除かれ、そのサブストリームは、前の時間インターバル（エポック）で選択されたストロングピアに一様に分散される。
【００２６】
本発明は、ハードウェア、ソフトウェア、ファームウェア、特定用途向けプロセッサ、又はその組み合わせからなる様々な形式で実現される場合がある。好ましくは、本発明は、ハードウェアとソフトウェアの組み合わせとして実現される。さらに、ソフトウェアは、プログラムストレージデバイスで実施されるアプリケーションプログラムとして実現されることが好ましい。アプリケーションプログラムは、任意の適切なアーキテクチャを有するコンピュータにアップロードされるか、該コンピュータにより実行される。好ましくは、コンピュータは、１以上の中央処理装置（ＣＰＵ）、ランダムアクセスメモリ（ＲＡＭ）、及び入力／出力（Ｉ／Ｏ）インタフェースのようなハードウェアを有するコンピュータプラットフォームで実現される。また、コンピュータプラットフォームは、オペレーティングシステム及びマイクロ命令を含む。本明細書で記載された様々なプロセス及び機能は、オペレーティングシステムを介して実行されるマイクロ命令の一部又はアプリケーションプログラムの一部（或いはその組み合わせ）のいずれかである場合がある。さらに、様々な他の周辺装置は、更なるデータストレージ装置及びプリンティング装置のようなコンピュータプラットフォームに接続される場合がある。
【００２７】
さらに、添付図面で示されるシステムコンポーネント及び方法ステップの幾つかは、ソフトウェアで実現されることが好ましく、システムコンポーネント（又はプロセスステップ）間の実際のコネクションは、本発明がプログラムされる方式に依存して異なる。本明細書での教示が与えられると、当業者であれば、本発明のこれらの実現又はコンフィギュレーション及び類似の実現又はコンフィギュレーションを考案することができるであろう。
【図面の簡単な説明】
【００２８】
【図１】本発明に係る送信ピアのアーキテクチャのブロック図である。
【図２】本発明に係る受信ピアのアーキテクチャのブロック図である。
【図３】本発明の方法のフローチャートである。
【図４】本発明のミニマムウェイト パーフェクトマッチングスキームの例示的な状態図である。
【図１】
2009545203.tif 000006
【図２】
2009545203.tif 000007
【図３】
2009545203.tif 000008
【図４】
2009545203.tif 000009
【手続補正書】
【提出日】平成21年1月21日(2009.1.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データのストリームを複数のサブストリームに分割するステップと、
前記複数のサブストリームの割り当てを複数の送信装置の間で確立するステップと、
前記割り当てに従って、並行して、前記複数の送信装置が前記複数のサブストリームを送信し始めるのを可能にするステップと、
前記割り当てを調節するステップと、
を有することを特徴とする方法。
【請求項２】
前記調節するステップは、
前記複数の送信装置の送信の品質をモニタするステップと、
それらの送信品質に基づいて前記複数の送信装置をソートするステップと、
乏しい送信品質をもつ前記複数の送信装置のうちの装置と良好な送信品質をもつ前記複数の送信装置のうちの装置との間で予め決定された数のサブストリームを交換するステップと、
を更に有する請求項１記載の方法。
【請求項３】
良好な送信品質をもつ前記複数の送信装置のうちで予め決定された数の前記装置を選択するステップと、良好な送信品質をもつ前記選択された装置は、ストロング送信装置として示され、
乏しい送信品質をもつ前記複数の送信品質のうちで等しい数の装置を選択するステップとを更に含み、乏しい送信品質をもつ前記選択された装置は、ウィーク送信装置として示され、
前記予め決定された数の選択されたストロング送信装置は、前記複数の送信装置の数の半分未満である、
請求項２記載の方法。
【請求項４】
前記交換するステップは、
予め決定された期間について前記ウィーク送信装置に以前に割り当てられた更なるサブストリームを送信するように前記ストロング送信装置に要求するステップと、
前記更なるサブストリームを送信する前記ストロング送信装置の送信品質を測定及び記録するステップと、
前記予め決定された期間後に良好な送信品質を有し続ける前記ストロング送信装置に前記ウィーク送信装置から前記更なるサブストリームを移動するステップと、
を更に含む請求項３記載の方法。
【請求項５】
前記ストロング送信装置と前記ウィーク送信装置との間のそれぞれのリンクと重みを関連付けるステップと、前記重みは前記交換するステップのゲインを反映し、
前記重みの合計を最大にすることに基づいて、前記ストロング送信装置と前記ウィーク送信装置との間で前記交換するステップを実行するステップと、
を更に含む請求項３記載の方法。
【請求項６】
前記複数の送信装置は、ピアツーピアネットワークのメンバーであり、
複数の受信装置のうちの受信する装置は、前記ピアツーピアネットワークのメンバーである、
請求項１記載の方法。
【請求項７】
前記予め決定された数のサブストリームは、前記複数の送信装置の数よりも多い、
請求項２記載の方法。
【請求項８】
前記ピアツーピアネットワークの帯域幅は非対称であり、前記受信する装置は、前記複数の送信装置の結合されたレートよりも大きいか又は等しいレートで前記データのストリームを受信するために十分な帯域幅を有する、
請求項５記載の方法。
【請求項９】
前記データのストリームの前記パケットは等しいサイズである、
請求項１記載の方法。
【請求項１０】
それぞれのサブストリームは、それぞれ予め決定された数のサブストリームのうちの１つのパケットから構成される、
請求項１記載の方法。
【請求項１１】
それぞれの送信装置は前記データのストリームを有し、前記データのストリームは、等しいサイズのパケットの集合としてそれぞれの送信装置で記憶される、
請求項１記載の方法。
【請求項１２】
前記パケットは、前記データのストリームにおけるそれらの位置を示すシーケンスナンバーを有する、
請求項１記載の方法。
【請求項１３】
前記コンテンツのストリームは、ビデオストリームのデータである、
請求項１記載の方法。
【請求項１４】
前記交換するステップは、予め決定された時間インターバルで行われ、前記予め決定された時間インターバルは、コンフィギュレーションパラメータである、
請求項２記載の方法。
【請求項１５】
前記予め決定された時間インターバルは、帯域幅の変化を捕捉するために十分に短く、不要なオーバヘッドを回避するために十分に長く、前記予め決定された時間インターバルはエポークとして示される、
請求項１４記載の方法。
【請求項１６】
前記それぞれのリンクに関連される重みは、
【数１】
2009545203.tif 000010
により与えられ、ｎsiはｉ番目のストロング送信装置により搬送されるサブストリームの数を示し、ｎwjはｊ番目のウィーク送信装置により搬送されるサブストリームの数を示す、
請求項５記載の方法。
【請求項１７】
データのストリームを複数のサブストリームに分割する手段と、
前記複数のサブストリームの割り当てを複数の送信装置の間で確立する手段と、
前記割り当てに従って、並行して、前記複数の送信装置が前記複数のサブストリームを送信し始めるのを可能にする手段と、
前記割り当てを調節する手段と、
を有することを特徴とするデータ送信システム。
【請求項１８】
前記調節する手段は、
前記複数の送信装置の送信の品質をモニタする手段と、
それらの送信品質に基づいて前記複数の送信装置をソートする手段と、
乏しい送信品質をもつ前記複数の送信装置のうちの装置と良好な送信品質をもつ前記複数の送信装置のうちの装置との間で予め決定された数のサブストリームを交換する手段と、
を更に有する請求項１７記載のシステム。
【請求項１９】
良好な送信品質をもつ前記複数の送信装置のうちで予め決定された数の前記装置を選択する手段と、良好な送信品質をもつ前記選択された装置は、ストロング送信装置として示され、
乏しい送信品質をもつ前記複数の送信品質のうちで等しい数の装置を選択する手段とを更に含み、乏しい送信品質をもつ前記選択された装置は、ウィーク送信装置として示され、
前記予め決定された数の選択されたストロング送信装置は、前記複数の送信装置の数の半分未満である、
請求項１８記載のシステム。
【請求項２０】
前記交換する手段は、
予め決定された期間について前記ウィーク送信装置に以前に割り当てられた更なるサブストリームを送信するように前記ストロング送信装置に要求する手段と、
前記更なるサブストリームを送信する前記ストロング送信装置の送信品質を測定及び記録する手段と、
前記予め決定された期間後に良好な送信品質を有し続ける前記ストロング送信装置に前記ウィーク送信装置から前記更なるサブストリームを移動する手段と、
を更に含む請求項１９記載のシステム。
【請求項２１】
前記ストロング送信装置と前記ウィーク送信装置との間のそれぞれのリンクと重みを関連付ける手段と、前記重みは前記交換するステップのゲインを反映し、
前記重みの合計を最大にすることに基づいて、前記ストロング送信装置と前記ウィーク送信装置との間で前記交換を実行する手段と、
を更に含む請求項１９記載のシステム。
【請求項２２】
前記複数の送信装置は、ピアツーピアネットワークのメンバーであり、
複数の受信装置のうちの受信する装置は、前記ピアツーピアネットワークのメンバーである、
請求項１７記載のシステム。
【請求項２３】
前記送信装置は、制御メッセージリスナ、サブストリーム情報データベース及びデータポンプをそれぞれ有する、
請求項２２記載のシステム。
【請求項２４】
前記制御メッセージリスナは、前記受信装置から到来する制御メッセージを定期的にモニタする、
請求項２３記載のシステム。
【請求項２５】
新たな制御メッセージが前記受信装置のうちの１つから到来したとき、前記新たな制御メッセージを受信する前記送信装置は、前記サブストリーム情報データベースを更新する、
請求項２４記載のシステム。
【請求項２６】
前記データポンプは、前記サブストリーム情報データベースにおける情報に基づいて前記サブストリームを送信する、
請求項２３記載のシステム。
【請求項２７】
前記受信装置は、
それぞれのデータレシーバが前記送信装置のうちの１つからサブストリームデータを受信する複数のデータレシーバと、
ストリーミングコーディネータと、
制御メッセージセンダと、
を更に有する、
請求項２２記載のシステム。
【請求項２８】
それぞれのデータレシーバは、その関連される送信装置からストリーミングの品質メトリックを収集し、前記ストリーミングの品質メトリックは、時間通りに到達する前記サブストリームの前記パケットのパーセンテージである、
請求項２７記載のシステム。
【請求項２９】
前記ストリーミングコーディネータは、前記送信装置からのストリーミングを調整し、前記ストリーミングコーディネータは、前記送信装置のそれぞれから受信された前記ストリーミングの品質メトリックをモニタし、前記送信装置により送信されるサブストリームの数を定期的に動的に調節する、
請求項２８記載のシステム。
【請求項３０】
前記制御メッセージセンダは、前記ストリーミングコーディネータからの入力に基づいて制御メッセージを形成し、前記制御メッセージを前記送信装置に送信する、
請求項２７記載のシステム。
【国際調査報告】
2009545203.tif 000011
2009545203.tif 000012