(57)【特許請求の範囲】
【請求項１】
ピアツーピアネットワークにおけるライブストリーミングのための方法であって、
ピアの有資格次数および余剰次数を判定するステップであって、前記ピアの有資格次数は使用可能な帯域幅を平均帯域幅で除した値であり、前記余剰次数は使用可能な次数を超える必要な次数の余剰であるステップと、
潜在的な親ピアを識別し、連絡をとるステップと、
ピア先取りポリシーを実行するステップであって、前記ピア先取りポリシーは前記潜在的な親ピアにすでに接続されている子ピアが先取可能であるかどうかを決定するためのものであるステップと
を備え、
前記ピアツーピアネットワークは、メッシュベースのネットワークであることを特徴とする方法。
【請求項２】
前記ピアツーピアネットワークにおけるピアは、前記ピアによる送信帯域幅の貢献をフロー当たりの帯域幅で割ったものに比例するレベルのライブストリーミングを受けることを特徴とする請求項１に記載の方法。
【請求項３】
前記ピアによりピア情報を更新するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項４】
前記更新するステップは、
更新されたピア情報を転送するステップと、
前記更新されたピア情報が受信され、格納されていることの承認を受信するステップと
を含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記判定するステップは、
Ｎ、Ｗi、およびｆiを含む１組のシステム全体のパラメータを判定するステップと、
前記ピアツーピアネットワークにおいて、前記判定された１組のシステム全体のパラメータを伝搬するステップと
を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記識別し、連絡をとるステップは、
前記ピアの有資格次数および余剰次数を判定するステップにおいて判定されたピアの有資格次数に基づいて有資格の入次数を判定するステップと、
前記ピアの有資格次数および余剰次数を判定するステップにおいて判定されたピアの余剰次数に基づいて余剰の入次数を判定するステップと、
参加要求メッセージを送信するステップと、
潜在的な親ピアのリストを受信するステップと、
前記潜在的な親ピアのリスト上の潜在的な親ピアに連絡をとって、前記潜在的な親ピアとの接続を確立しようと試みるステップと
を含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記潜在的な親ピアが空のスロットを有している場合、前記潜在的な親ピアへの前記接続が確立されることを特徴とする請求項６に記載の方法。
【請求項８】
前記実行するステップは、潜在的な親ピアが空のスロットを有していない場合に、前記接続ポリシーに従って、前記潜在的な親ピアにすでに接続されている子ピアが先取可能であるかどうかを決定するステップを含むことを特徴とする請求項６に記載の方法。
【請求項９】
前記識別し、連絡をとるステップは、
前記ピアの有資格次数および余剰次数を判定するステップにおいて判定されたピアの有資格次数に基づいて有資格の入次数を判定するステップと、
前記ピアの有資格次数および余剰次数を判定するステップにおいて判定されたピアの余剰次数に基づいて余剰の入次数を判定するステップと、
参加要求メッセージを送信するステップと、
ソースのアドレスを受信するステップと、
前記ソースに連絡をとるステップと、
前記ソースから、潜在的な親ピアの第１のリストを受信するステップと、
前記潜在的な親ピアの第１のリスト上の前記潜在的な親ピアのうちの１つに連絡をとって、前記潜在的な親ピアとの接続を確立しようと試みるステップと、
前記連絡を受けた潜在的な親ピアから、潜在的な親ピアの第２のリストを受信するステップと
を含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記潜在的な親ピアが空のスロットを有している場合、前記潜在的な親ピアへの前記接続が確立されることを特徴とする請求項９に記載の方法。
【請求項１１】
前記実行するステップは、潜在的な親ピアが空のスロットを有していない場合に、前記接続ポリシーに従って、前記潜在的な親ピアにすでに接続されている子ピアが先取可能であるかどうかを決定するステップを含むことを特徴とする請求項９に記載の方法。
【請求項１２】
前記識別し、連絡をとるステップは、
前記ピアの有資格次数および余剰次数を判定するステップにおいて判定されたピアの有資格次数に基づいて有資格の入次数を判定するステップと、
前記ピアの有資格次数および余剰次数を判定するステップにおいて判定されたピアの余剰次数に基づいて余剰の入次数を判定するステップと、
参加要求メッセージを送信するステップと、
潜在的な親ピアのランダムに選択されたリストを受信するステップと、
前記潜在的な親ピアのランダムに選択されたリスト上の潜在的な親ピアに連絡をとって、前記潜在的な親ピアとの接続を確立しようと試みるステップと、
前記連絡を受けた潜在的な親ピアから、潜在的な親ピアのリストを受信するステップと
を含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記潜在的な親ピアが空のスロットを有している場合、前記潜在的な親ピアへの前記接続が確立されることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記実行するステップは、潜在的な親ピアが空のスロットを有していない場合に、前記接続ポリシーに従って、前記潜在的な親ピアにすでに接続されている子ピアが先取可能であるかどうかを決定するステップを含むことを特徴とする請求項１２に記載の方法。
【請求項１５】
前記接続ポリシーが過度の参加、離脱をもたらす場合、前記接続ポリシーは、変更可能であることを特徴とする請求項１に記載の方法。
【請求項１６】
ピアツーピアネットワークにおけるライブストリーミングのためのシステムであって、
ピアの有資格次数および余剰次数を判定する手段であって、前記ピアの有資格次数は使用可能な帯域幅を平均帯域幅で除した値であり、前記余剰次数は使用可能な次数を超える必要な次数の余剰である手段と、
潜在的な親ピアを識別し、連絡をとる手段と、
ピア先取りポリシーを実行する手段であって、前記ピア先取りポリシーは前記潜在的な親ピアにすでに接続されている子ピアが先取可能であるかどうかを決定するためのものである手段と
を備え、
前記ピアツーピアネットワークは、メッシュベースのネットワークであることを特徴とするシステム。
【請求項１７】
前記ピアツーピアネットワークにおけるピアは、前記ピアによる送信帯域幅の貢献をフロー当たりの帯域幅で割ったものに比例するレベルのライブストリーミングを受けることを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記ピアによりピア情報を更新するための手段をさらに備えたことを特徴とする請求項１６に記載のシステム。
【請求項１９】
前記更新する手段は、
更新されたピア情報を転送する手段と、
前記更新されたピア情報が受信され、格納されていることの承認を受信する手段と
を含むことを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記判定する手段は、
Ｎ、Ｗi、およびｆiを含む１組のシステム全体のパラメータを判定する手段と、
前記ピアツーピアネットワークにおいて、前記計算された１組のシステム全体のパラメータを伝搬する手段と
を含むことを特徴とする請求項１８に記載のシステム。
【請求項２１】
前記識別し、連絡をとる手段は、
前記ピアの有資格次数および余剰次数を判定する手段において判定されたピアの有資格次数に基づいて有資格の入次数を判定する手段と、
前記ピアの有資格次数および余剰次数を判定する手段において判定されたピアの余剰次数に基づいて余剰の入次数を判定する手段と、
参加要求メッセージを送信する手段と、
潜在的な親ピアのリストを受信する手段と、
潜在的な親ピアの前記リスト上の潜在的な親ピアに連絡をとって、前記潜在的な親ピアとの接続を確立しようと試みる手段と
を含むことを特徴とする請求項１６に記載のシステム。
【請求項２２】
前記潜在的な親ピアが空のスロットを有している場合、前記潜在的な親ピアへの前記接続が確立されることを特徴とする請求項２１に記載のシステム。
【請求項２３】
前記実行する手段は、潜在的な親ピアが空のスロットを有していない場合に、前記接続ポリシーに従って、前記潜在的な親ピアにすでに接続されている子ピアが先取可能であるかどうかを決定することを含むことを特徴とする請求項２１に記載のシステム。
【請求項２４】
前記識別し、連絡をとる手段は、
前記ピアの有資格次数および余剰次数を判定する手段において判定されたピアの有資格次数に基づいて有資格の入次数を判定する手段と、
前記ピアの有資格次数および余剰次数を判定する手段において判定されたピアの余剰次数に基づいて余剰の入次数を判定する手段と、
参加要求メッセージを送信する手段と、
ソースのアドレスを受信する手段と、
前記ソースに連絡をとる手段と、
前記ソースから、潜在的な親ピアの第１のリストを受信する手段と、
前記潜在的な親ピアの第１のリスト上の前記潜在的な親ピアのうちの１つに連絡をとって、前記潜在的な親ピアとの接続を確立しようと試みる手段と、
前記連絡を受けた潜在的な親ピアから、潜在的な親ピアの第２のリストを受信する手段と
を含むことを特徴とする請求項１６に記載のシステム。
【請求項２５】
前記潜在的な親ピアが空のスロットを有している場合、前記潜在的な親ピアへの前記接続が確立されることを特徴とする請求項２４に記載のシステム。
【請求項２６】
前記実行する手段は、潜在的な親ピアが空のスロットを有していない場合に、前記接続ポリシーに従って、前記潜在的な親ピアにすでに接続されている子ピアが先取可能であるかどうかを決定することを含むことを特徴とする請求項２４に記載のシステム。
【請求項２７】
前記識別し、連絡をとる手段は、
記ピアの有資格次数および余剰次数を判定する手段において判定されたピアの有資格次数に基づいて有資格の入次数を判定する手段と、
前記ピアの有資格次数および余剰次数を判定する手段において判定されたピアの余剰次数に基づいて余剰の入次数を判定する手段と、
参加要求メッセージを送信する手段と、
潜在的な親ピアのランダムに選択されたリストを受信する手段と、
前記潜在的な親ピアのランダムに選択されたリスト上の潜在的な親ピアに連絡をとって、前記潜在的な親ピアとの接続を確立しようと試みる手段と、
前記連絡を受けた潜在的な親ピアから、潜在的な親ピアのリストを受信する手段と
を含むことを特徴とする請求項１６に記載のシステム。
【請求項２８】
前記潜在的な親ピアが空のスロットを有している場合、前記潜在的な親ピアへの前記接続が確立されることを特徴とする請求項２７に記載のシステム。
【請求項２９】
前記実行する手段は、潜在的な親ピアが空のスロットを有していない場合に、前記接続ポリシーに従って、前記潜在的な親ピアにすでに接続されている子ピアが先取可能であるかどうかを決定することを含むことを特徴とする請求項２７に記載のシステム。
【請求項３０】
前記接続ポリシーが過度の参加、離脱をもたらす場合、前記接続ポリシーは、変更可能であることを特徴とする請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にピアツーピアネットワーキングに関し、詳細には、ピアツーピアネットワークを介したインセンティブベースのライブストリーミングに関する。
【背景技術】
【０００２】
ピアツーピア（Ｐ２Ｐ）ライブストリーミング環境には、ツリーベースおよびメッシュベースの２種類の手法がある。ツリーベースの手法では、貢献認識Ｐ２Ｐライブストリーミングを提供するに際し、いくつかの対処がなされてきている。メッシュベースの手法では、貢献認識Ｐ２Ｐライブストリーミングを提供するに際し、特に周知の対応はなされていない。しかしながら、メッシュベースの手法は、堅牢性、効率などの点で、ツリーベースの手法より優れている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
Ｐ２Ｐライブストリーミングのメッシュベースの手法における環境の特徴は、ピアが制約された不均一な送信帯域幅（outgoing bandwidth）を有していることである。ピアが制約された不均一な送信帯域幅を有するメッシュベースの手法では、貢献認識Ｐ２Ｐライブストリーミングを提供することが望ましい。
【課題を解決するための手段】
【０００４】
ライブストリーミングは、本明細書では、ビデオに関して説明されているが、デジタル音声など、任意のタイプのライブストリーミングメディアを含めることもできる。本明細書で使用する場合、「／」は、同じまたは同様の構成要素の代替名を示す。Ｐ２Ｐライブストリーミングのメッシュベースの処理では、ピア／ユーザは、ネットワークに貢献しようという意思値（ｗｉｌｌｉｎｇｎｅｓｓ）に合わせて、異なるレベルのサービスを受け、この場合意思値は、メッシュオーバーレイに対するピアによるアップリンク帯域幅の貢献をフロー当たりの帯域幅で割ることによって得られる。
【０００５】
Ｐ２Ｐネットワークに参加を所望するピアは、本明細書では、参加ピアまたは要求側ピアと表記する。ブートストラッピングノードは、ゲートキーパーとして振る舞うノードである。参加ピアは、Ｐ２Ｐネットワークに参加するために、ブートストラッピングノードに連絡をとる。ブートストラッピングノードは、Ｐ２Ｐネットワークにおけるピア／ユーザの総数を参加ピアに知らせる。またはこれに代えて、参加ピアは、参加ピアがＰ２Ｐオーバーレイ／ネットワークに対し行おうとしている、帯域幅によって測定されるその貢献の意思値をブートストラッピングノードに知らせる。ブートストラッピングノードによって提供される情報を使用して、参加ピアは、接続することができる親ピアの数を計算する。
【０００６】
各ピアは、オーバーレイの状況およびそれ自体の帯域幅の貢献に基づいて、資格がある親ピア（ｒi）を一定数維持することを試みる。これにより、次いで帯域幅が決定され、その結果、ピアが受けることができる品質が決定される。各個別のピアは、その意思値および子ピアの可用性に基づいて、子として特定の数の他のピアにサービスを提供する。
【０００７】
ピアの有資格および余剰次数（entitled and excess degree）を判定するステップと、潜在的な親ピアを識別し、それに連絡をとるステップと、接続ポリシーを実行するステップとを含む、ピアツーピアネットワークにおけるライブストリーミングのための方法およびシステムについて説明する。
【図面の簡単な説明】
【０００８】
以下の詳細な説明を添付の図面と併せて参照することにより、本発明を最もよく理解することができる。図面は、以下に簡単に説明する次の図を含む。
【図１】拡散ツリー（diffusion tree）を示す概要図である。
【図２】本発明によるシステムの主な基本要素を示す図である。
【図３Ａ】集中型のピア発見方式を示す概要図である。
【図３Ｂ】集中型のピア発見方式における要求側ピアとブートストラッピングノードとの間の通信を示すブロック図である。
【図３Ｃ】図３Ｂの要求側ピアの詳細な操作を示す概要図である。
【図３Ｄ】集中型のピア発見方式における既存のピアとブートストラッピングノードとの間の通信を示すブロック図である。
【図３Ｅ】図３Ｄの連絡を受けたピアの詳細な操作を示す概要図である。
【図４Ａ】分散型のピア発見方式を示す概要図である。
【図４Ｂ】分散型のピア発見方式における要求側ピアとブートストラッピングノードとの間の通信を示すブロック図である。
【図４Ｃ】図４Ｂの要求側ピアの詳細な操作を示す概要図である。
【図４Ｄ】図４Ｂの連絡を受けたピアの詳細な操作を示す概要図である。
【図５Ａ】セミ分散型のピア発見方式を示す概要図である。
【図５Ｂ】セミ分散型のピア発見方式における要求側ピアとブートストラッピングノードとの間の通信を示すブロック図である。
【図５Ｃ】図５Ｂの要求側ピアの詳細な操作を示す概要図である。
【図５Ｄ】図５Ｂの連絡を受けたピアの詳細な操作を示す概要図である。
【図６】ピア発見工程を示すフロー図である。
【発明を実施するための形態】
【０００９】
参加ピアに帯域幅を分配するための選択ポリシーは、Ｐ２Ｐネットワークにおけるピアの貢献に基づく。Ｎ個のピアがあり、ピアｉ（ｐi）の意思値がＷiであると仮定すると、本明細書に記載されているヒューリスティクスにより、そのｐiが有することができる、資格がある親ピアｒiの総数を決定する。各ピアが有することができる、資格がある親の数を決定するのに、包括的コスト関数（generic cost function）を使用する。
【００１０】
【数１】
0004830025.tif 000002
【００１１】
式中、ｒiは資格がある親ピア、Ｎは参加ピアの数、Ｗiはｐiの意思値、ｔはコスト係数である。１より大きいコスト係数を使用することによって、システムに確実に余分な帯域幅が有するようにする。
【００１２】
資格がある親ピアの数ｒiを決定した後、親発見工程を実行する。各ピアは、少なくともｒi個の接続（接続を形成）すべき親ピアを探し出す必要がある。親発見工程は、公正で時宜を得たやり方で帯域幅を分配する必要がある。本明細書では、ピアが適切な親ピアを発見することができる異なる３つの手法、集中型、分散型、およびセミ分散型について説明する。また、本明細書では、参加／要求側ピアに適切な親ピアを探し出すことができる装置も説明する。
【００１３】
Ｐ２Ｐオーバーレイを介したライブマルチメディアストリームの配信は、インターネットを介した１対多のストリーミングをサポートするのに有効な手法である。この手法は、一般に、Ｐ２Ｐストリーミングと呼ばれている。Ｐ２Ｐストリーミングでは、参加ユーザ（ピア）は、各自の使用可能なコンテンツを他のピアに転送することによって、各自のリソース（帯域幅および記憶空間）を積極的に提供する。使用可能な総リソースは、総ユーザ／ピア数に対応しており、潜在的には任意の数の参加ピアに対応することができる。
【００１４】
Ｐ２Ｐストリーミングプロトコルの設計における取り組みについては、システムにおいてリソースが高度にプロビジョニングされている環境に制限される場合がほとんどであった。しかし、多くは無視されてきた、実際の配置に重要ないくつかの大切な側面は、非対称で不均一な帯域幅のピア、およびオーバーレイにおいてリソースが不十分なことである。本発明は、送信帯域幅が制限され、または意思値が欠如しているために、ホストがオーバーレイに相応しない貢献を行う、かなり不均一な環境を考慮に入れることによって、これらの問題に対処する。さらに、こうした環境では、システムにおける総リソースは、誰もが十分な品質のストリームを受信するには十分ではない可能性がある。
【００１５】
ピアが、システムにおけるすべてのリソースを効果的に使用しながら、その貢献に応じたストリーム品質を享受できることが望ましい。これらのポリシーは、高帯域幅のピアの帯域幅をより使用し、低帯域幅のピアによりよい品質を提供し、より高い品質を享受するために、さらに貢献するようピアを促すことができる。集中型、分散型、およびセミ分散型を含めて、全体的なシステムリソースを監視する、考え得る方法が精査される。
【００１６】
ＰＲＩＭＥは、ライブストリーミング技術であり、各Ｐ２Ｐストリーミングシステムは、（ｉ）参加ピアをオーバーレイにまとめるオーバーレイ構築、および（ｉｉ）オーバーレイを介して個々のピアへのコンテンツの配信を決定するコンテンツ配信の２つの主な構成要素から成る。
【００１７】
参加ピアは、ランダムに接続されたオーバーレイまたはメッシュを形成するが、これは有向グラフである。各ピアは、コンテンツをそこから取り出す一定の数の親ピア、およびコンテンツを配信する一定の数の子ピアを維持する。ピアごとに、親ピアの数および子ピアの数は、それぞれそのピアの入次数および出次数（incoming and outgoing degree）として示される。参加ピアのアクセスリンク帯域幅を効果的に使用するために、各ピアの入次数および出次数は、その使用可能な受信帯域幅ｂdown、および送信帯域幅ｂupに比例して設定される。受信（または送信）帯域幅と入（または出）次数の比率は、各接続の平均帯域幅を表し、これは、フロー当たりの帯域幅またはｂｗｐｆと呼ばれる。ｂｗｐｆは、先験的に選択され、個々のピアによって知られている構成パラメータである。具体的には、ピアの入次数および出次数は、それぞれｂdown／ｂｗｐｆおよびｂup／ｂｗｐｆとなるように設定される。
【００１８】
群状コンテンツ配信機構（swarm-like content delivery mechanism）は、コンテンツの配信のために使用される。群状コンテンツ配信の主な利点は、参加ピアの送信帯域幅を効果的に使用できること、およびピアの参加の動き（または激しい変化）に対する堅牢性を有することである。群状コンテンツ配信は、プッシュ型のコンテンツ報告とプル型のコンテンツ要求とを結合する。親ピアとして、各ピアは、その新しく受信されたパケットをその子ピアに定期的に報告する。子ピアとして、各ピアは、各親ピアにおいて報告された使用可能なパケット、および各親ピアから要求側の子ピアへの使用可能な帯域幅に基づいて、要求されたパケットのサブセットをその親ピアの各々に定期的に要求する。各親ピアに要求されたパケットは、パケットスケジューリングアルゴリズムによって決定する。各親ピアは、ＴＣＰ、ＲＡＰなどの輻輳制御機構（congestion controlled mechanism）を介して、各子ピアによって要求されたパケットを配信する。
【００１９】
ピア間の帯域幅の不均一性に適応するために、コンテンツは、多重記述符号化（ＭＤＣ）で符号化される。ＭＤＣは、ストリーミングコンテンツをいくつかのサブストリームにまとめ、各サブストリームは、別個に復号される。各ピアに配信される品質は、それが受信する別個のサブストリームの数に比例する。ＭＤＣ符号化によって、各ピアは、そのアクセスリンク帯域幅を介して配信される適切な数のサブストリームを受信することができる。
【００２０】
パケットスケジューリングアルゴリズムは、以下の、（ｉ）各親ピアからの使用可能な帯域幅を完全に使用すること、および（ｉｉ）子ピアによって要求されたパケットを確実に時間内に配信すること、という２つの目標を達成すべきである。オーバーレイメッシュ（パケットがソースから各ピアに到達するために横断するパス）を介した個々のパケットの配信のパターンは、全参加ピアにおけるパケットスケジューリングアルゴリズムの群挙動、およびオーバーレイメッシュのトポロジに依存する。各ピアは、（受動的測定を介して）各親ピアにおいて使用可能な帯域幅を、および（定期的なレポートを使用して）使用可能なコンテンツを追跡する。この情報が与えられると、スケジューリングアルゴリズムが定期的に呼び出されて、２つのステップで、各親ピアに要求されるパケットを決定する。まず、スケジューラは、最後の報告期間中に親ピア中で使用可能になった最も大きいタイムスタンプを有する新しいパケットを識別する。これらの新しいパケットは、常に、子ピアによって親ピアに要求される。第２に、その受信帯域幅を完全に使用するために、他の欠けているパケットのランダムなサブセットが各親ピアに要求される。負荷バランシングを達成するために、複数の親ピアにおけるパケットが使用可能な場合、親ピアによってサービスを提供することができる総パケットに対する要求されたパケットの比率が最も低い親に、パケットを要求する。
【００２１】
上記のスケジューリングアルゴリズムを使用することによって、コンテンツの各セグメントは、拡散段階およびスウォーミング段階（swarming phase）の２段階で個々の参加ピアに配信される。拡散段階中、各ピアは、新しいセグメントの任意の断片を、より高いレベルの（ソースにより近い）その親ピアから受信する。したがって、新しく生成されたセグメントの断片は、異なるレベルのピアによって累進的に引きとられる。例えば、新しく生成されたセグメントの断片は、１期間（Δ）後にレベル１のピアによって引きとられ、２＊Δ後にレベル２のピアによって引きとられ、以下同様に引きとられる。ｄ期間後、オーバーレイにおけるすべてのピアは、新しいセグメントの１断片を有する。セグメントの各断片がソースによって一度だけ配信するのが理想的である。したがって、拡散段階中にセグメントの１断片を受信するピア群は、レベル１のピアに端を発する、拡散ツリーと呼ばれるツリーを形成する。図１の陰付きのノードは、拡散ツリーを形成する。レベルｉのピアからレベルｉ＋１のその子ピアへのすべての接続は、拡散接続と呼ばれる。これらの接続は、拡散ツリー上にある。
【００２２】
スウォーミング段階中、各ピアは、同じまたは低いレベルの（ソースから遠い）その親ピアからセグメントの欠けている断片をすべて受信する。これらの親ピアは、スウォーミング親（swarming parent）と呼ばれる。スウォーミング段階は、複数期間かかる可能性がある。というのは、スウォーミング親は、セグメントの欠けているすべての断片を有してない場合があるからである。拡散接続を除いて、オーバーレイメッシュにおける他のすべての接続は、スウォーミング接続である。スウォーミング接続の集まりは、スウォーミングメッシュと呼ばれる有向メッシュを形成する。スウォーミングメッシュは、異なる拡散ツリー間で各セグメントの異なる断片を交換するために使用される。
【００２３】
すなわち、任意の新しいセグメントの各断片は、そのセグメントの拡散段階中に、特定の拡散ツリーを介して拡散される。次いで、使用可能な断片は、セグメントのスウォーミング段階中に、スウォーミングメッシュを介して、異なる拡散ツリーのピア間で交換される。
【００２４】
ピアがシステムにおけるその貢献に比例する品質を受けることができるようにするために、上記のＰ２Ｐストリーミング技術は、図２に示されている以下の４つの機構により強化される。
１．システムレベルの情報更新および伝搬
２．ピアの有資格および余剰接続の算出
３．ピアの発見
４．ポリシー
【００２５】
図２を参照すると、ポリシーの基本要素「更新」は、システム全体のパラメータＮ、Ｗi、およびｆiを算出し、そのパラメータをネットワークにおけるすべてのピアに伝搬する必要性を表す。有資格（Ｒi）および余剰（Ｅi）の入次数が、以下に示される式に従ってピアごとに算出される。ピアの発見を介して、分散型のピア発見手法では、ピアの全プールの、または集中型のピア発見手法では、ブートストラッピングノードによって選択されるピアの組／リスト／キューの潜在的なピアに連絡することによって、潜在的に先取可能（preemptable）な子ピアを有するＲi＋Ｅiの空いている、または親ピアを探し出す試行が行われる。最後に、潜在的なピアが探し出され、しかしすでに接続されている場合、表２を使用して、潜在的なピアの子が先取可能であるかどうかを決定する。子が先取可能である場合、子ピアを先取する。
【００２６】
システムレベルのパラメータは、ライブストリーミング全体を通して更新され、伝搬される必要がある。これらのパラメータには、表１に定義されているように、Ｎ、Ｗi、およびｆiが含まれる。到着すると、参加ピアは、ブートストラッピングノードに連絡して、他のピアにサービスを提供しようとする意思値（Ｗi）をブートストラッピングノードに知らせる。ブートストラッピングノードは、システムにおけるピアの総数Ｎ、およびすべてのピアの意思値の総計Σ（Ｗi）の情報を有する。ピアは、離れるとき、ブートストラッピングノードに再度連絡して、オーバーレイから登録解除する必要がある。ピアは、破損または他の致命的な状態がある場合、オーバーレイから登録解除しない場合がある。そうでない場合、既存のピアは、オーバーレイからの離脱をブートストラッピングノードに知らせる必要がある。
【００２７】
【表１】
0004830025.tif 000003
【００２８】
ピアの実際の貢献ｆiは、時間が経つにつれて変わる。したがって、システムは、すべてのピアの貢献の総計Σ（ｆi）を算出するために、この情報を定期的にリフレッシュする必要がある。算出は、次の２つの方法によって実行することができる。
【００２９】
・集中型の更新：この手法では、ピアは、実際の貢献が変わるたびにブートストラッピングノードに連絡する。
【００３０】
・分散型の更新：この手法では、貢献情報は、拡散ツリーに沿って伝搬される。ピアは、その現在の貢献および（拡散ツリーにおける）その下位の（子）ピアの貢献の総計に関して、拡散ツリーにおけるその親ピアを定期的に更新する。第１レベルのピアは、全域のブートストラッピングノードに更新を送信する。分散型の更新では、情報が定期的に更新されるだけなので、Σ（ｆi）の値は、正確ではない可能性がある。しかし、定期的な更新の長さを調整することによって、十分な精度を持たせることができると考えられる。
【００３１】
後述するように、ピアが有資格および余剰受信の数を算出するために、Ｎ、Σ（Ｗi）およびΣ（ｆi）の集められた情報もすべてのピアに伝搬する必要がある。この伝搬も、集中方式または分散方式によって行うことができる。集中方式では、ブートストラッピングノードは、Ｎ、Σ（Ｗi）、およびΣ（ｆi）の現在の値をすべてのピアに定期的に通知する。分散方式では、拡散ツリーを介して、ルート（ブートストラッピングノード）からすべてのピアに、情報が分散される。
【００３２】
ピアｉの有資格次数Ｒiは、以下の式を使用して算出される。
【００３３】
【数２】
0004830025.tif 000004
【００３４】
式中、ｔは、コスト係数として表されるパラメータであり、システムが余分な帯域幅を確実に有するために、ｔ＞１である。Ｒiは、基本的には、２項の合計である。第１項は、ピアがＷiを提供することによって受ける資格が与えられた最小帯域幅を表し、第２項は、ピア当たりの平均残余帯域幅である。ピアｉの算出された余剰の入次数は、
Ｅi＝Ｍａｘ−Ｒi
である。
【００３５】
ピアは、有資格次数を算出すると、それに対応するために余剰次数を有するピアを見つけようとする。すなわち、余剰次数を有するピアは、その貢献を向上させ、したがってその品質を向上させるように、余剰次数を有するピアが追加の接続を行うのを支援することができる親ピアを探す。ピア発見工程は、後述する３つの異なる手法を使用して行うことができる。
【００３６】
集中型のピア発見において、ブートストラッピングノードは、システムにおける各ピアを追跡する表を維持管理する。各ピアは、表に１つの入力を有し（ｉｄ、Ｗi、ｆi、ｅi、ｒi）、この場合ｉｄはピアｉｄである。Ｗiとｆiとの差は、このピアにおける空のスロットの数を示す。また、システムにおける各ピアは、拡散ツリーにおけるその子ピアすべて、およびその対応するパラメータの表を維持管理する。
【００３７】
次に図３Ａを参照すると、要求側ピア（それが接続することができる潜在的なピアの発見を要求するピア）は、要求を、ｒA、ｅA、ｆAのそのパラメータと共に、ブートストラッピングノードに送信する（１）。ブートストラッピングノードは、要求側ピアを潜在的に受け入れることができ、その親ピアになることができるすべての潜在的な親ピアのリストを返す（１）。要求側ピアの潜在的な親ピアは、以下のように定義される。  
１．ピアが空のスロットを有している場合、それは潜在的な親ピアである。  
２．表２で定義されたポリシーに基づいて、要求側ピア（ピアＡと表記）がピア（ピア
Ｂと表記）を先取する可能性がある場合、ピアＢの親ピアは、潜在的なピアである。
【００３８】
【表２】
0004830025.tif 000005
【００３９】
現在の接続が先取可能であるかどうかを決定するために表２を使用する方法の例は、以下の通りである。ピアＢがすでに特定の親ピアに接続されていると仮定する。最初の例では、ピアａ（ｐa）およびピアｂ（ｐa）は、いずれも有資格次数を有する。ｐaの実際の貢献（出次数）はｆaである。ｐaの実際の有資格の入次数は、ｒaである。ｐaの実際の余剰の入次数は、ｅaである。ｐbについても同様である。ｆa＝２０、ｒa＝２、ｅa＝０である場合、（ｒa＋ｅa）／ｆa＝２／２０＝１／１０である。ｆb＝２０、ｒb＝５、ｅb＝０である場合、（ｒb＋ｅb）／ｆb＝５／２０＝１／４である。ｐa＜ｐbの計算であるため、ｐaはｐbを先取することができる。第２の例では、ｐaは、有資格次数を有し、ｐbは、余剰次数を有する。ｐaのパラメータに同じ値を使用して、ｐaは、この場合も（ｒa＋ｅa）／ｆa＝２／２０＝１／１０の計算値を有する。ｆb＝５、ｒb＝２、ｅb＝１である場合、（ｒb＋ｅb）／ｆb＝３／５である。この場合も、ｐa＜ｐbの計算であるため、ｐbはｐaを先取することができる。第３の例では、ｐaは、余剰次数を有し、ｐbは、有資格次数である。この場合、Ｐaは、Ｐbを先取することはできない。第４の例では、ｐaおよびｐbは、余剰次数を有する。ｆa＝５、ｒa＝２、ｅa＝１である場合、ｅa／ｆa＝０／５＝０である。ｆb＝５、ｒb＝２、ｅb＝２である場合、ｅb／ｆb＝２／５であるため、ｐaは、Ｐbを先取することができる。というのは、比率ｅa／ｆaは、比率ｅb／ｆbより小さいからである。ｒaおよびｒbは、この例では使用されないことに留意されたい。
【００４０】
要求側ピアは、ブートストラッピングノードからリストを受信する（２）と、リスト内のピアに順次連絡をとる（２）。連絡を受けたピアは、空のスロットを有している場合、要求側ピアを受け入れ、このピアがこの連絡を受けたピアの子になる。連絡を受けたピアが空のスロットを有していない場合、要求側ピアが連絡を受けたピアの子ピアのうちの１つを先取することができるかどうかを決定するために、表２に記載されたポリシーを使用する。要求側ピアが連絡を受けた子ピアのうちの１つを先取することができる場合、連絡を受けたピアは、先取するよう選択した子ピアの接続を解除し、接続／スロットを要求側ピアに割り当てる。そうでない場合、要求側ピアに、それを受け入れることができないことを通知する。戻されたリスト内のすべてのピアは、潜在的な親ピアであるが、以下の理由のために、要求側ピアを受け入れることができない可能性がある。
１．ブートストラッピングノードにおいて維持管理されるパラメータは、状態の変化とパラメータが更新される時間との間の遅延のために、最新のものではない可能性がある。
２．要求側ノードがより多くの親ピアを取得するにつれて、ｒA、ｅA、ｆAの値が時間に伴い変化する。
【００４１】
リスト内のピアに連絡をとる工程は、要求側ピアが要求された数のピアを取得するまで、またはリストが使い果たされるまで続く。後者の場合、要求側ピアは、Ｔの期間の間休止し、上記の工程を再度開始する。
【００４２】
図３Ｂは、集中型のピア発見方式における要求側ピアとブートストラッピングノードとの間の通信のブロック図である。ピアごとに、ピア情報表に１つの入力がある（ｉｄ、Ｗi、ｆi、ｅi、ｒi）。要求側ピアは、ブートストラッピングノード内のピア連絡インターフェイス３０５に参加要求を送信する（１）。次いで、ピア連絡インターフェイス３０５は、参照要求をピア情報表モジュール３１０に転送する（２）。ピア情報表モジュール３１０は、ピア情報表において参照操作を行い、潜在的な親ピアリストのリストをピア連絡インターフェイス３０５に返す（３）。次いで、ピア連絡インターフェイス３０５は、要求側ピアに要求されたピア情報を含むリストを返す（４）。
【００４３】
図３Ｃは、図３Ｂの要求側ピアの詳細な操作の概要図である。要求側ピアは、参加要求によりブートストラッピングノードに連絡をとる（１）。ブートストラッピングノードは、潜在的な親ピアのリストを返す（２）。要求側ピアは、潜在的な親ピアのリストを潜在的な／候補の親ピアのキューに入力する。次いで要求側ピアは、それぞれの潜在的な親ピアをキューから順次取得し、潜在的な親ピアに連絡をとって、要求側ピアを受け入れることができ、したがってその子ピア（またはその子ピアのうちの１つ）になることができるかどうかを確認する（３）。
【００４４】
図３Ｄは、集中型のピア発見方式における既存のピアとブートストラッピングノードとの間の通信のブロック図である。既存のピアは、ブートストラッピングノードのピア連絡インターフェイス３０５に更新メッセージを送信する（１）ことによって、ブートストラッピングノードとのその関連情報を更新する。ピア連絡インターフェイス３０５は、更新情報を、ピア情報表を更新するピア情報表モジュール３１０に転送する（２）。ブートストラッピングノードは、ピア連絡インターフェイスを介して、情報が更新されたことを示すメッセージを既存のピアに返す（３）。
【００４５】
図３Ｅは、図３Ｄの連絡を受けたピアの詳細な操作の概要図である。連絡を受けたピア（潜在的な親ピア）は、要求側ピアから、それを子ピアとして参加させる旨の要求を受信する（１）。連絡を受けたピアは、その子ピア情報表を検査し、それが有することができる任意の空のスロットにより、または現在の子ピアのうちの１つを先取することによって、参加要求を満たすことができるかどうかを決定する。連絡を受けたピアは、要求側ピアに、その決定の結果を示す応答を返す（２）。
【００４６】
次に図４Ａを参照すると、分散型の発見手法において、要求側ピアは、最初に、ブートストラッピングノードに連絡をとる（１）。ブートストラッピングノードは、すべての拡散ツリーのルートにあるコンテンツソースノードのアドレス／場所を返す（１）。要求側ノードは、連絡待ちキューを維持管理し、コンテンツソースノードをそのキューに入れ、要求側ピアは、最初にソースノードに連絡をとり（２）、これは、その子リストを要求側ピアに返す（２）。コンテンツソースノードおよびシステムにおけるすべてのピアは、拡散ツリーにおけるその子ピアの表、およびその対応するパラメータを維持管理する。
【００４７】
要求側ピアは、その都度１つの潜在的な親ピアをキューから取り出し、この潜在的な親ピアに連絡をとって、それを受け入れることができるかどうかを確認する（３）。連絡を受けた各ピアは、その子ピアのリストを返す（４）。受け入れは、上述したものと同じポリシーに基づく。連絡を受けたピアは、空のスロットを有している場合、要求側ピアを受け入れ、要求側ピアは、この連絡を受けたピアの子になり、連絡を受けたピアは、その子ピアのリストを要求側ピアに返す（４）。このようにして、要求側ピアは、拡散ツリーのさらに下方向のピアに連絡をとり（５）、次に要求側ピアが受け入れられた、連絡を受けた各ピアの子に連絡をとりながら、要求側ピアが接続することができるピアが要求された数取得されるか、リストおよびピアが使い果たされるまで続行する（６）。連絡を受けたピアが空のスロットを有していない場合、要求側ピアが連絡を受けたピアの子ピアのうちの１つを先取することができるかどうかを決定するために、表２に記載されたポリシーを使用する。要求側ピアが連絡を受けた子ピアのうちの１つを先取することができる場合、連絡を受けたピアは、先取されるよう選択された子ピアの接続を解除し、接続／スロットを要求側ピアに割り当てる。そうでない場合、要求側ピアに、それを受け入れることができないことを通知する。連絡を受けたピアは、工程の最後に、要求側ピアに、拡散ツリーにおけるその子ピアのリストも返す。要求側ピアは、戻されたリストを連絡待ちキューの最後に添付する。この工程は、要求側ピアが要求された数のピアを取得するか、リストが使い果たされるまで続く。後者の場合、要求側ピアは、Ｔの期間の間休止し、上記の工程を再度開始する。
【００４８】
第３の手法は、セミ分散型の手法である。シグナリングオーバーヘッドを低減するために、ピアは、２ホップ離れた親ピアについての何らかのローカル情報を維持管理する。各親ピアは、空のスロットの数Ｗi、実際の貢献ｆi、およびその子ピアへの余剰の接続の数ｅiについての情報を、コンテンツパケットでピギーバックする。さらに、親ピアは、その親ピアの情報（Ｗi、ｆi、ｅi）をその子ピアに送信する。したがって、ノードは、その親ピア、および祖父母ピアの情報を有する。
【００４９】
図４Ｂは、分散型のピア発見方式における要求側ピアとブートストラッピングノードとの間の通信のブロック図である。要求側ピアは、ブートストラッピングノードのピア連絡インターフェイス４０５に参加要求を送信する（１）。ブートストラッピングノードは、コンテンツソースノードのアドレス／場所を返す（２）。要求側ピアは、コンテンツソースノードに連絡をとる（３）。
【００５０】
図４Ｃは、図４Ｂの要求側ピアの詳細な操作を示す概要図である。要求側ピアは、ブートストラッピングノードに連絡をとる（１）。要求側ピアは、ブートストラッピングノードからコンテンツソースノード情報を受信する（２）。要求側ピアは、コンテンツソースノードに連絡をとり、要求側ピアの潜在的な親ピアであるその子ピアのリスト／キューを受信する（３）。要求側ピアは、戻された子ピアリストを、その潜在的な／候補の親ピアのキューの最後に格納する。要求側ピアは、次いで、それぞれの潜在的な親ピアの入力を潜在的な／候補の親ピアのキューから取り出し、それに連絡をとって、要求側ピアがその子ピアになることができるかどうかを確認する（４）。連絡を受けた潜在的な親ピアは、その子ピアのリスト／キューを戻し、要求側ピアがその潜在的な／候補の親ピアのキューの最後に格納する。
【００５１】
図４Ｄは、図４Ｂの連絡を受けたピアの詳細な操作の概要図である。要求側ピアから参加要求を受信する（１）と、連絡を受けたピアは、その子ピア情報表を検査し、それが有することができる任意の空のスロットにより、またはその現在の子ピアのうちの１つを先取することによって参加要求を満たすことができるかどうかを決定する。連絡を受けたピアは、その決定の結果を示す応答を、その子ピアリストと共に、要求側ピアに返す（２）。
【００５２】
次に、図５Ａを参照すると、要求側ノードは、潜在的なピアの連絡待ちキューを返す（１）ブートストラッピングノードに連絡をとる（１）。ブートストラッピングノードは、システムにおけるすべてのピアのリストを有することに留意されたい。しかし、これは、各ピアのパラメータを追跡する表を維持管理しない。ブートストラッピングノードは、予め定められた数の潜在的な親ピアをリストからランダムに選択し、リストを連絡待ちキューとして要求側ノードに返す。
【００５３】
次いで要求側ノードは、リスト内の各ピアに連絡をとり（２）、その隣接リストを受信する（２）。これらのリストはすべて、単一の連絡待ちキューを形成するために、まとめられる。要求側ピアは、その都度１つのピアをキューから取り出し、この潜在的なピアに連絡をとって、それを受け入れることができるかどうかを確認する（３）。受け入れは、上述したものと同じポリシーに基づく。連絡を受けたピアは、空のスロットを有している場合、要求側ピアを受け入れ、このピアがこの連絡を受けたピアの子になる。連絡を受けたピアが空のスロットを有していない場合、要求側ピアが連絡を受けたピアの子ピアのうちの１つを先取することができるかどうかを決定するために、表２に記載されたポリシーを使用する。要求側ピアが連絡を受けた子ピアのうちの１つを先取することができる場合、連絡を受けたピアは、先取されるよう選択された子ピアの接続を解除し、接続／スロットを要求側ピアに割り当てる。そうでない場合、要求側ピアに、それを受け入れることができないことを通知する。
【００５４】
この工程は、要求側ピアが要求された数のピアを取得するか、リストが使い果たされるまで続く。後者の場合、要求側ピアは、Ｔの期間の間休止し、上記の工程を再度開始する。
【００５５】
図５Ｂは、セミ分散型のピア発見方式における要求側ピアとブートストラッピングノードとの間の通信のブロック図である。ピア情報表は、システムにおけるすべてのピアのリストを維持管理する。要求側ピアは、ブートストラッピングノードのピア連絡インターフェイス５０５に参加要求を送信する（１）。次いで、ピア連絡インターフェイス５０５は、参照要求をピア情報表モジュール５１０に転送する（２）。ピア情報表モジュール５１０は、ピア情報表において参照操作を行い、ランダムに選択された潜在的な親ピアのリストをピア連絡インターフェイス５０５に返す（３）。次いで、ピア連絡インターフェイス５０５は、ランダムに選択された潜在的な親ピアのリスト、およびそのピア情報を要求側ピアに返す（４）。
【００５６】
図５Ｃは、図５Ｂの要求側ピアの詳細な操作の概要図である。要求側ピアは、ブートストラッピングノードに連絡をとる（１）。要求側ピアは、ランダムに選択された潜在的な親ピアのリストを受信し（２）、ランダムに選択された潜在的な親ピアをその潜在的な／候補の親ピアのキューに格納する。要求側ピアは、その潜在的な／候補の親ピアのキューにおけるピアに順次連絡をとる（３）。次いで、要求側ピアは、隣接要求メッセージを連絡を受けた（潜在的な親）ピアに送る（３）。連絡を受けた各ピアは、その隣接ピアのリストを返す。要求側ピアは、その潜在的な／候補の親ピアのキューに隣接ピアのリストを格納する。要求側ピアは、その潜在的な／候補の親ピアのキューにおける次の潜在的な親ピアに連絡をとって、要求側ピアがその子ピアになることができるかどうかを確認する（４）。
【００５７】
図５Ｄは、図５Ｂの連絡を受けたピアの詳細な操作を示す概要図である。連絡を受けたピアは、隣接要求メッセージを要求側ノードから受信すると、その隣接ピアリストを要求側ノードに返す（１）。入ってくるメッセージが空のスロットを探すためのものである場合、連絡を受けたピアは、その子ピア情報表を検査し、それが有することができる任意の空のスロットにより、または現在の子ピアのうちの１つを先取することによって要求を満たすことができるかどうかを決定する。連絡を受けたピアは、要求側ピアに、その決定の結果を示す応答を返す（２）。
【００５８】
次にピア発見工程を示すフロー図である図６を参照する。６０５で、ｐiは、ブートストラッピングノードに連絡をとる。６１０で、集中型のピア発見を使用することになっているかどうかを決定するためにテストが行われる。集中型のピア発見を使用することになっている場合、６１５で、ブートストラッピングノードによって、空のスロット／接続が、潜在的に先取可能な子ピアのリスト／キューと共にｐiに提供される。次いで、ｐiは、６３５で、有資格のピアとして潜在的なピアのうちのｒiに、また余剰のピアとして潜在的なピアのうちのｅiに連絡をとる。集中型のピア発見を使用しないことになっている場合、６２０で、分散型のピア発見を使用することになっているかどうかを決定するためのテストが行われる。分散型のピア発見を使用することになっている場合、６２５で、ランダムなピアのリスト／キューの識別（ｉｄ）がｐiに提供される。６３０で、ｐiは、空のスロット／接続および潜在的に先取可能なピアに関して、ピアのリスト／キュー中のすべてのピアを探索する。次いで、ｐiは、６３５で、有資格のピアとして潜在的なピアのうちのｒiに、また余剰のピアとして潜在的なピアのうちのｅiに連絡をとる。分散型のピア発見を使用することになっていない場合、デフォルトでは、セミ分散型のピア発見を使用することになる。６４０で、ネットワークにおけるピアの数Ｎがｐiに提供される。次いで６４５で、Ｉは、Ｎ個すべてのピアを探索して、これらのＮ個のピアの子またはｐiから１ホップ離れた潜在的なピアの子の中で、空のスロットまたは潜在的に先取可能な子ピアを見つける。次いで、ｐiは、６３５で、有資格のピアとして潜在的なピアのうちのｒiに、また余剰のピアとして潜在的なピアのうちのｅiに連絡をとる。
【００５９】
本発明は、従来の非貢献認識ピアツーピアストリーミング方式より長い起動遅延／待ち時間を有することができることに留意されたい。親ピアを探し出す工程は、より長い起動遅延をもたらす。また、異なるピア発見方式によっては異なる待ち時間となる。集中型のピア発見方式およびセミ分散型のピア発見方式は、ルートから開始する拡散ツリーを横断する分散型のピア発見方式より起動／参加待ち時間が短くなる。しかし、本発明の貢献認識ピアツーピアライブストリーミング方法は、基礎を成すデータを符号化するためにＭＤＣ（多重記述符号化）を使用するので、ピアは、それが最初の記述を受信するたびに、再生を開始することができる。これにより、起動待ち時間を潜在的に短くすることができる。
【００６０】
ピア先取ポリシーによって、本発明において、余分なピアの参加、離脱につなげることができる。例えば、要求側ピアが親ピアにすでに接続されている子ピアを先取する場合、先取された子ピアは、別の親ピアに参加しようとしなければならず、したがって、余分な参加、離脱をシステムに追加することになる。この工程は、先取された子ピアがそれ用の空のスロットを別の親ピアで見つけるまで続く。
【００６１】
先取される接続が「余剰の接続」である場合、ピアが最初にこの接続を有するとは考えられないため、これはあまり影響を与えない。この問題を軽減する１つの方法は、先取ポリシーを変更することである。本発明の先取ポリシーでは、「有資格の接続」が別の「有資格の接続」を先取することができない。また、ストリームデータを符号化するためにＭＤＣ（多重記述符号化）を使用するので、参加、離脱の影響は、重大なものではない可能性がある。ピアがいくつかの記述を失う場合、表示品質は低下するが、ストリームは、依然として表示可能である。
【００６２】
本発明は、様々な形のハードウェア、ソフトウェア、ファームウェア、専用プロセッサ、またはその組合せに実装することができることを理解されたい。本発明は、ハードウェアおよびソフトウェアの組合せとして実装することが望ましい。さらに、ソフトウェアは、プログラム記憶装置に有形で組み込まれるアプリケーションプログラムとして実装することが望ましい。アプリケーションプログラムは、任意の適したアーキテクチャを含むマシンにアップロードされ、それによって実行され得る。マシンは、１つまたは複数の中央処理装置（ＣＰＵ）、ランダムアクセスメモリ（ＲＡＭ）、および入出力（Ｉ／Ｏ）インターフェイスなど、ハードウェアを有するコンピュータプラットフォームに実装することが望ましい。また、コンピュータプラットフォームは、オペレーティングシステムおよびマイクロ命令コードも含む。本明細書に記載されている様々な工程および機能は、マイクロ命令コードの一部、またはアプリケーションプログラムの一部（またはその組合せ）とすることができ、これは、オペレーティングシステムを介して実行される。さらに、追加のデータ記憶装置および印刷装置など、他の様々な周辺機器をコンピュータプラットフォームに接続することができる。
【００６３】
添付の図面に示された構成システム部品および方法ステップのうちの一部は、ソフトウェアに実装することが望ましいため、システム構成要素（または工程ステップ）間の実際の接続は、本発明がプログラムされる方法に応じて異なる可能性があることをさらに理解されたい。本明細書において教示が与えられた場合、当事者であれば、本発明のこれらおよび類似の実施または構成を企図することができる。
【図１】
0004830025.tif 000006
【図２】
0004830025.tif 000007
【図３Ａ】
0004830025.tif 000008
【図３Ｂ】
0004830025.tif 000009
【図３Ｃ】
0004830025.tif 000010
【図３Ｄ】
0004830025.tif 000011
【図３Ｅ】
0004830025.tif 000012
【図４Ａ】
0004830025.tif 000013
【図４Ｂ】
0004830025.tif 000014
【図４Ｃ】
0004830025.tif 000015
【図４Ｄ】
0004830025.tif 000016
【図５Ａ】
0004830025.tif 000017
【図５Ｂ】
0004830025.tif 000018
【図５Ｃ】
0004830025.tif 000019
【図５Ｄ】
0004830025.tif 000020
【図６】
0004830025.tif 000021