【手続補正書】
【提出日】平成20年11月17日(2008.11.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ピアツーピア（Ｐ２Ｐ）ネットワークでのマルチメディアデータパケットのクライアントドリブンのストリーミングを提供するコンピュータ実行可能命令を記録するコンピュータ読み取り可能な記録媒体において、
前記コンピュータ実行可能命令は、
クライアントコンピュータ上で複数のクライアントリクエストキューを保持することであって、各クライアントリクエストキューはサービングピアのクラスタ内の複数のサービングピアのうちの１つに対応すること、
１つ又は複数のデータパケットのクライアントリクエストを前記クライアントコンピュータから前記サービングピアのうちの１つ又は複数に送信することであって、サービングピアへの前記クライアントリクエストは、信頼でき順番が守られたリンクを介して前記サービングピアに提供されるため、前記サービングピアが前記クライアントリクエストに応答して送る前記データパケットを識別する必要がないこと、
データパケットリクエストが前記クライアントコンピュータから前記サービングピアの一つに送信される場合、各データパケットリクエストを前記対応するリクエストキューに追加すること、
前記クライアントコンピュータが前記サービングピアから前記対応するデータパケットを受信する場合に、各データパケットリクエストを前記対応するリクエストキューから取り出すこと、
前記クライアントコンピュータが保持する共通ステージングキューに各受信データパケットを提供すること、
前記共通ステージングキュー内の前記データパケットを対応するマルチメディアデータパケットに集めること、
を含むことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２】
クライアントコンピュータ上で複数のクライアントリクエストキューを保持することは、前記サービングピアのクラスタに続いて加わる追加のサービングピアに対応する追加のクライアントリクエストキューを作成すること及び保持することを更に含むことを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項３】
クライアントコンピュータ上で複数のクライアントリクエストキューを保持することは、前記サービングピアのクラスタから除外されたサービングピアに対応するリクエストキューに残存するデータパケットリクエストを１つ又は複数の他のクライアントリクエストキューに移すことを更に含むことを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項４】
前記サービングピアのクラスタ内の各サービングピアにおいて大体一致するリクエスト達成時間（ＲＦＴ）を保持するデータパケットリクエストのクライアントマネージメントを提供することにより、前記サービングピアのクラスタ内の前記各サービングピアにおいて負荷バランシングを維持することを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項５】
前記サービングピアへの前記信頼でき順番が守られたリンクは、ＴＣＰ通信プロトコルであることを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項６】
前記クライアントコンピュータがサービングピアから受信する入力パケットは、前記データパケットを提供した前記サービングピアに対応する前記リクエストキュー内の第１のデータパケットリクエストに対応することを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項７】
特定のサービングピアへの特定のデータパケットのクライアントリクエストは、前記各サービングピアから取り出された可用性ベクトルのクライアント分析に基づいてなされ、各サービングピアから受信される前記可用性ベクトルは、対応する各サービングピアに格納される利用可能なデータパケットを少なくとも定義することを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項８】
前記クライアントコンピュータ上で前記集められたマルチメディアデータパケットをデコーディングしレンダリングし、前記クライアントコンピュータ上でストリーミングメディア再生を提供することを更に含むことを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項９】
前記データパケットは、埋め込みコード化データパケットであることを特徴とする請求項１記載のコンピュータ読み取り可能な記録媒体。
【請求項１０】
１つ又は複数のデータパケットの前記クライアントリクエストを前記サービングピアのうちの１つ又は複数に自動的に制限することによって、埋め込み各コード化データパケットのストリーミングビットレートでクライアント制御を維持することを更に含み、前記制限は、
前記サービングピアの集合サービング帯域幅、
前記共通ステージングキューのサイズ、
所望のリクエスト達成時間、
前記共通ステージングキュー内の受信パケット長、
各リクエストキュー内の未リプライの長さ、
前記埋め込み符号化データパケットの基層ビットレート
に応じることを特徴とする請求項９記載のコンピュータ読み取り可能な記録媒体。
【請求項１１】
ピアツーピア（Ｐ２Ｐ）ネットワークにおけるメディアファイルのクライアント制御ストリーミングを提供する方法において、コンピューティングデバイスを用いて、
メディアヘッダとメディア本体を備える符号化されたメディアファイルの１つ又は複数のパケットを利用可能なサービングピアのクラスタ内の１つ又は複数のサービングピア上に格納し、これにより、前記符号化されたメディアファイルが前記サービングピアの少なくとも一つにキャッシュされるようにすること、
前記クライアントを使用し、前記クライアントが利用可能なサービングピアのリストを取り出すこと、
各利用可能なサービングピアの前記クライアント上の分離パケットリクエストキューを初期化すること、
１つ又は複数の特定のデータパケットに対する１つ又は複数のクライアントリクエストを１つ又は複数の特定のサービングピアに送信し、各リクエストを前記対応するパケットリクエストキューに追加すること、
前記クライアントが前記対応するデータパケットを受信する場合、前記対応するパケットリクエストキューから各リクエストを取り出すこと、及び、
前記受信されたデータパケットをデコーディングしレンダリングし、前記クライアント上でストリーミングメディア再生を提供することを特徴とする方法。
【請求項１２】
可用性ベクトルを各利用可能なサービングピアから前記クライアントにダウンロードすることを更に備え、各可用性ベクトルは、各対応するサービングピアに格納される利用可能なデータパケットを表し、１つ又は複数の特定のデータパケットに対する前記クライアントリクエストは前記ダウンロードされた可用性ベクトルに基づくことを特徴とする請求項１１記載の方法。
【請求項１３】
前記受信データパケットをデコーディングしレンダリングすることは、前記クライアント上で再生する前に、前記デコードされレンダリングされたデータパケットの少なくとも一部をバッファリングすることを更に含むことを特徴とする請求項１１記載の方法。
【請求項１４】
各利用可能なサービングピアに対して前記クライアント上の分離パケットリクエストキューを初期化することは、前記サービングピアのクラスタに加わるサービングピアに対応する追加のパケットリクエストキューを作成し維持することを更に含むことを特徴とする請求項１１記載の方法。
【請求項１５】
前記クライアントが利用できなくなるサービングピアに対応する前記パケットリクエストキューに残存するデータパケットを１つ又は複数の前記他のパケットリクエストキューに移すことと、前記対応するサービングピアに前記対応するパケットを要求することを更に含むことを特徴とする請求項１１記載の方法。
【請求項１６】
前記利用可能なサービングピアの各々において所望のリクエスト達成時間（ＲＦＴ）を維持するためのデータパケットリクエストの動的クライアントマネージメントを提供することによって、前記利用可能な各サービングピア間の帯域幅負荷バランシングを実行することを更に含むことを特徴とする請求項１１記載の方法。
【請求項１７】
サービングピアへの前記クライアントデータパケットリクエストは、前記サービングピアが特別の各クライアントリクエストに応答して送信される前記データパケットを識別しないＴＣＰ通信プロトコルを介して提供され、前記クライアントがサービングピアから受信する入力データパケットは、前記データパケットを提供した前記サービングピアに対応する前記リクエストキュー内の第１のデータパケットリクエストに対応することを特徴とする請求項１１記載の方法。
【請求項１８】
前記データパケットは、埋め込みコード化データパケットであり、クライアント制御は、１つ又は複数の特定のデータパケットの前記クライアントリクエストを１つ又は複数の特定のサービングピアに自動的に制限することによって、各埋め込みコード化データパケットのストリーミングビットレートで維持されることを特徴とする請求項１１記載の方法。
【請求項１９】
前記サービングピアの集合サービング帯域幅、
前記共通ステージングキューのサイズ、
所望のリクエスト達成時間、
前記共通ステージングキュー内の受信パケット長、
各パケットリクエストキューの長さ、および
前記埋め込み符号化データパケットの基層ビットレートに応じて、前記クライアントリクエストを自動的に制限することを特徴とする請求項１８記載の方法。
【請求項２０】
１つ又は複数の非協働ピアのクラスタからクライアントドリブンのメディアストリーミングを調整するシステムにおいて、
クライアントとの通信に利用可能なサービングピアのクラスタ内の１つ又は複数のサービングピアにおける符号化されたメディアファイルの全パケットを分散させること、
クライアントリクエストに応答して、前記クラスタ内の前記サービングピアのリストを前記クライアントに提供すること、
前記クラスタ内の各サービングピアに対応する前記クライアント上に分離パケットリクエストキューを提供すること、
１つ又は複数の特定のデータパケットに対する１つ又は複数のクライアントリクエストを前記クラスタ内の１つ又は複数の特定のサービングピアに送信し、各リクエストを前記対応するパケットリクエストキューに加えること、
前記クライアントが前記対応するデータパケットを受信する場合、前記対応するパケットクエストキューから各リクエストを取り出すこと、
クライアントステージングキューに各受信データパケットをキャッシングすること、および、
前記受信データパケットをデコーディングしレンダリングし前記クライアント上でストリーミングメディア再生を提供することを
備えることを特徴とするシステム。
【請求項２１】
クライアントリクエストに応答して前記クラスタ内の各サービングピアから可用性ベクトルを提供することを更に備え、前記各可用性ベクトルは対応する各サービングピアに格納される利用可能なデータパケットを表すことを特徴とする請求項２０記載のシステム。
【請求項２２】
１つ又は複数の特定のデータパケットに対する１つ又は複数のクライアントリクエストを、前記クラスタ内の１つ又は複数の特定のサービングピアに送信することは、前記クラスタ内の各サービングピアに対応する前記可用性ベクトルのクライアント分析に基づくことを特徴とする請求項２１記載のシステム。
【請求項２３】
前記クライアントステージングキューの前記長さは、前記受信データパケットをデコーディングしレンダリングする前に、前記リクエストされたデータパケットの所望のバッファリング量を提供するために変化することを特徴とする請求項２０記載のシステム。
【請求項２４】
前記クラスタ内の各サービングピアに対応する前記クライアント上の分離パケットリクエストキューを提供することは、前記クラスタに加わり及び前記クラスタから離れるサービングピアに応答してクライアントリクエストキューを動的に追加し及び取り出すことを更に備えることを特徴とする請求項２０記載のシステム。
【請求項２５】
前記クラスタから離れるサービングピアに応答してクライアントリクエストキューを取り出すことは、取り出されたクライアントリクエストキュー内に残存するデータパケットリクエストを１つ又は複数の他のクライアントリクエストキューに移すことと、前記対応するサービングピアに前記対応するパケットをリクエストすることを備えることを特徴とする請求項２０記載のシステム。
【請求項２６】
前記クラスタ内の各サービングピアの所望のリクエスト達成時間（ＲＦＴ）を維持するためにクライアントデータパケットリクエストを動的にバランシングすることにより、前記クラスタ内の前記各サービングピア間の帯域幅負荷バランシングを実行することを更に備えることを特徴とする請求項２０記載のシステム。
【請求項２７】
前記クライアントデータパケットリクエストは、ＴＣＰ通信プロトコルを介して前記様々なサービングピアに送信され、前記クライアントが特定のサービングピアから受信する入力データパケットは、前記対応するクライアントリクエストキュー内の第一のデータパケットに対応することを特徴とする請求項２０記載のシステム。