"複数のユーザにメディアコンテンツをストリーミングするためのコンピュータ実装方法であって、前記メディアコンテンツに対する第1のストリームを前記メディアコンテンツ内の第1の位置から第1のユーザにストリーミングすることと、前記メディアコンテンツ内のシーク位置までシークする要求を前記第1のユーザから受信することと、1人または複数の第2のユーザにストリーミングされている第2のストリームに基づく、前記シーク位置と適合する前記メディアコンテンツ内の第2の位置を決定することと、前記第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザにストリーミングすることと、を備えるコンピュータ実装方法。前記要求は、前記第1のメディアコンテンツに対する進行タイムラインバー上のスライダを移動させることにより、前記第1のユーザから受信される、請求項1に記載のコンピュータ実装方法。前記第2の位置は、前記メディアコンテンツのショットまたはシーンに基づく、請求項1に記載のコンピュータ実装方法。前記第2の位置は、他の複数のユーザにストリーミングされている複数のメディアコンテンツストリームを解析することにより決定される、請求項1に記載のコンピュータ実装方法。前記第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザに前記ストリーミングすることは、前記第1のユーザと前記1人または複数の第2のユーザの間の前記メディアコンテンツの視聴を同期させる、請求項1に記載のコンピュータ実装方法。前記第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザに前記ストリーミングすることは、前記第2のストリームをマルチキャストすることを備える、請求項1に記載のコンピュータ実装方法。前記第2のストリームを前記ストリーミングすることは、ピアツーピアP2Pネットワーク内で行われる、請求項1に記載のコンピュータ実装方法。前記第2の位置に基づき前記第1のユーザに広告をストリーミングすることをさらに備える、請求項1に記載のコンピュータ実装方法。前記広告は、前記第1のユーザの複数の属性に基づき、前記第1のユーザに特に向けられた、有向広告を備える、請求項8に記載のコンピュータ実装方法。前記シーク位置と、前記1人または複数の第2のユーザが受信している前記第2のストリーム内の前記第2の位置との間の時間差に基づき前記広告を選択することをさらに備える、請求項8に記載のコンピュータ実装方法。コンピュータシステムにおいてメディアコンテンツを複数のユーザにストリーミングするための装置であって、aメモリを有するコンピュータと、b前記コンピュータ上で実行するアプリケーションであって、i前記メディアコンテンツに対する第1のストリームを前記メディアコンテンツ内の第1の位置から第1のユーザにストリーミングし、ii前記メディアコンテンツ内のシーク位置までシークする要求を前記第1のユーザから受信し、iii1人または複数の第2のユーザにストリーミングされている第2のストリームに基づく、前記シーク位置と適合する前記メディアコンテンツ内の第2の位置を決定し、iv前記第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザにストリーミングするように構成されたアプリケーションと、を備える装置。前記要求は、前記第1のメディアコンテンツに対する進行タイムラインバー上のスライダを移動させることにより、前記第1のユーザから受信される、請求項11に記載の装置。前記第2の位置は、前記メディアコンテンツのショットまたはシーンに基づく、請求項11に記載の装置。前記第2の位置は、他の複数のユーザにストリーミングされている複数のメディアコンテンツストリームを解析することにより決定される、請求項11に記載の装置。前記第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザに前記ストリーミングすることは、前記第1のユーザと前記1人または複数の第2のユーザの間の前記メディアコンテンツの視聴を同期させる、請求項11に記載の装置。前記第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザに前記ストリーミングすることは、前記第2のストリームをマルチキャストすることを備える、請求項11に記載の装置。前記第2のストリームを前記ストリーミングすることは、ピアツーピアP2Pネットワーク内で行われる、請求項11に記載の装置。前記アプリケーションは、前記第2の位置に基づき前記第1のユーザに広告をストリーミングするようにさらに構成された、請求項11に記載の装置。前記広告は、前記第1のユーザの複数の属性に基づき、前記第1のユーザに特に向けられた、有向広告を備える、請求項18に記載の装置。前記アプリケーションは、前記シーク位置と、前記1人または複数の第2のユーザが受信している前記第2のストリーム内の前記第2の位置との間の時間差に基づき前記広告を選択するようにさらに構成された、請求項18に記載の装置。コンピュータによりアクセスされたとき、前記コンピュータに複数のプログラム命令をメモリにロードさせ、この中で専用データ構造を生成し、前記コンピュータに特別にプログラムされたコンピュータとして動作させ、複数のユーザにメディアコンテンツをストリーミングする方法を実行する前記複数のコンピュータプログラム命令をエンコードされたコンピュータ可読記憶媒体であって、前記特別にプログラムされたコンピュータ内で、前記メディアコンテンツに対する第1のストリームを前記メディアコンテンツ内の第1の位置から第1のユーザにストリーミングすることと、前記特別にプログラムされたコンピュータ内で、前記メディアコンテンツ内のシーク位置までシークする要求を前記第1のユーザから受信することと、前記特別にプログラムされたコンピュータ内で、1人または複数の第2のユーザにストリーミングされている第2のストリームに基づく、前記シーク位置と適合する前記メディアコンテンツ内の第2の位置を決定することと、前記特別にプログラムされたコンピュータ内で、前記第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザにストリーミングすることと、を備えるコンピュータ可読記憶媒体。前記要求は、前記第1のメディアコンテンツに対する進行タイムラインバー上のスライダを移動させることにより、前記第1のユーザから受信される、請求項21に記載のコンピュータ可読記憶媒体。前記第2の位置は、前記メディアコンテンツのショットまたはシーンに基づく、請求項21に記載のコンピュータ可読記憶媒体。前記第2の位置は、他の複数のユーザにストリーミングされている複数のメディアコンテンツストリームを解析することにより決定される、請求項21に記載のコンピュータ可読記憶媒体。前記第2のストリームを前記第1のユーザおよび前記第2のユーザに前記ストリーミングすることは、前記第1のユーザと前記1人または複数の第2のユーザの間の前記メディアコンテンツの視聴を同期させる、請求項21に記載のコンピュータ可読記憶媒体。前記第2のストリームを前記第1のユーザおよび前記1人または複数の第2のユーザに前記ストリーミングすることは、前記第2のストリームをマルチキャストすることを備える、請求項21に記載のコンピュータ可読記憶媒体。前記第2のストリームを前記ストリーミングすることは、ピアツーピアP2Pネットワーク内で行われる、請求項21に記載のコンピュータ可読記憶媒体。前記特別にプログラムされたコンピュータ内で、前記第2の位置に基づき前記第1のユーザに広告をストリーミングすることをさらに備える、請求項21に記載のコンピュータ可読記憶媒体。前記広告は、前記第1のユーザの複数の属性に基づき、前記第1のユーザに特に向けられた、有向広告を備える、請求項28に記載のコンピュータ可読記憶媒体。前記特別にプログラムされたコンピュータ内で、前記シーク位置と、前記1人または複数の第2のユーザが受信している前記第2のストリーム内の前記第2の位置との間の時間差に基づき前記広告を選択することをさらに備える、請求項28に記載のコンピュータ可読記憶媒体。以下の説明では、本発明のいくつかの実施形態の一部を形成し、かつ例示によって示される複数の添付図面が参照される。本発明の範囲を逸脱することなく、他の複数の実施形態を利用してもよく、複数の構造的変更を行ってもよいことが理解される。概要本発明の複数の実施形態が、行われるシーク動作に基づき複数のユーザを同期させる能力を提供する。このような複数の性能を提供するために、複数の実施形態が、任意のランダムな複数の地点ではなく、メディアプログラム内の特定の複数の地点に複数のユーザを誘導する。特定の複数の地点は、シーンの最初、ショット、フレーム、Iフレームなどとすることができる。したがって、複数のユーザは、望むプログラム内の任意の地点までスキャンすることができない。代わりに、複数のユーザは、最も近いまたは直前のショットまたはシーンまでスキャンすることができる。複数のユーザをこのような方法で誘導することにより、複数のユーザは同一信号ストリームを受信する可能性が高く、それにより、帯域幅が節約される。ハードウェアおよびソフトウェアの環境図1は、例示的メディアプログラムシステム100を示す図である。図示される実施形態では、システム100は、インターネットなどの通信ネットワーク104に通信可能に結合され、かつ1つまたは複数のソースメディアプログラムデータベース124A、124Bに通信可能に結合された1つまたは複数のソースビデオサーバ122A、122Bをそれぞれ有する1つまたは複数のメディアプログラムソース120A、120Bを備えてもよい。メディアプログラムシステム100は、通信ネットワーク104に通信可能に結合され、かつ1つまたは複数のプロバイダビデオサーバ112および1つまたは複数のプロバイダデータベース114を有するメディアプログラムプロバイダ110をさらに備える。一実施形態では、メディアプログラムプロバイダ110は、ビデオオンデマンドおよび/またはストリーミングメディアプログラムプロバイダである。メディアプログラムシステム100は、複数のメディアプログラムをコンピュータなどの第1のユーザデバイス102A、または携帯電話などの第2のユーザデバイス102Bに送信する以下、代わりにユーザデバイス複数120と呼ぶ。この送信は、メディアプログラムプロバイダ110から直接であってもよい、またはメディアプログラムプロバイダ110はポータルとして動作して、メディアプログラム自体代わりに、メディアプログラムソース複数120により提供されるではなく、複数のメディアプログラムソース120Aおよび120Bから利用可能である複数のメディアプログラムへのインタフェースを提供してもよい。第1の事例では、メディアプログラムプロバイダ110は、複数のメディアプログラムソース120例えばwww.fox.comまたはwww.nbc.comから複数のメディアプログラムのライセンス供与を受け、このような複数のプログラムに対するメタデータも、典型的には、同様にメディアプログラムソース120からメディアプログラムプロバイダ110に提供される。このようなメタデータは、使用するためにメディアプログラムプロバイダのデータベース114により取り出すことができる。補足のメタデータが必要な場合、以下でさらに説明されるように、補足のメタデータは、メディアプログラムプロバイダ110およびメディアプログラムソース120とは無関係のメタデータソース130から得ることができる。第2の事例では、複数のメディアプログラムは、直接メディアプログラムソース120の複数のサーバからユーザデバイス102にストリーミングされる。複数のメディアプログラムが、直接メディアプログラムソース120からストリーミングされたとき、メディアプログラムソース120により提供されるメタデータが不十分である場合がしばしばある。複数のこのような場合、補足のメタデータが、無関係のメタデータソース130例えばwww.tv.comまたはwww.imdb.comまたは他のサードパーティの複数のソースから得られてもよい。この状況では、メディアプログラムプロバイダ110の役割は、利用可能な複数のメディアプログラムのリスト、およびこのような複数のプログラムを見つけ出すために検索し、かつこのような複数のプログラムを視聴するインタフェースを複数のユーザ132に提供するポータルの役割である。複数のメディアプログラムおよびメタデータは、インターネットなどの通信ネットワーク104を介して、または複数の補助および/または専用通信リンク134を通して得られてもよい。このような情報は、ウェブクローリングにより例えば、ワールドワイドウェブを順序だった、自動化された方法でブラウズするプログラムまたは自動化スクリプトを使用して得られてもよい。複数のユーザデバイス102を使用して、複数の遠隔ユーザ132が、通信ネットワーク104を使用してメディアプログラムプロバイダ110と通信して、複数のメディアプログラム複数のビデオオンデマンドおよび/またはストリーミングビデオサービスを含むを得て、プロバイダのメディアプログラムデータベース114を検索して、関心のある複数のメディアプログラムを見つけ出すことができる。メディアプログラムシステム100はまた、メディアプログラムプロバイダ110または複数のメディアプログラムソース120により提供される複数のメディアプログラムと一緒に再生される複数の広告を供給する1つまたは複数の広告プロバイダ140を備えてもよい。図示される実施形態では、広告プロバイダ140は、関連づけられ、かつ通信可能に結合された広告プロバイダデータベース144に通信可能に結合された広告プロバイダサーバ142を含む。複数の広告は、インターネット104、専用リンク146を介して、または広告を有するメモリ記憶デバイスの物理的交換により、広告プロバイダ140からメディアプログラムプロバイダ110に供給されてもよい。このような複数の広告は、メディアプログラムプロバイダ110により提供および格納され、該当する時間に、メディアプログラムと一緒にユーザデバイス複数102にストリーミングまたはダウンロードすることができる。一実施形態では、複数の広告は、メディアプログラムプロバイダ110からストリーミングまたはダウンロードされたビデオと一体化される。別の実施形態では、複数の広告は、メディアプログラムと一体化されるのではなく、代わりに、メディアプログラムとは別個に複数のユーザデバイス102に送信され、各広告がいつ提示されるべきかを示す複数のインデックスを使用して、該当する時間に再生される。例えば、複数の広告は、インデックスをつけることができる、および複数のユーザデバイス102にストリーミングまたはダウンロードすることができメディアプログラムプロバイダ110または広告プロバイダ140から、このような複数の広告は、メディアプログラム内の対応する複数のインデックスにより示される複数の時間に、ユーザ132に対して再生することができる。図2は、複数のユーザデバイス102、複数のサーバ112、122および142、ならびにデータベース114、124および144を含む、本発明の複数の要素を実現するために使用することができる例示的コンピュータシステム202を示す。コンピュータ202は、汎用ハードウェアプロセッサ204Aおよび/または専用ハードウェアプロセッサ204B以下、代わりに集合的にプロセッサ204と呼ぶ、ならびにランダムアクセスメモリRAMなどのメモリ206を備える。コンピュータ202は、キーボード214、マウスデバイス216およびプリンタ228などの複数の入出力I/Oデバイスを含む他の複数のデバイスに結合されてもよい。一実施形態では、コンピュータ202は、オペレーティングシステム208の制御下でコンピュータプログラム210により規定される複数の命令を汎用プロセッサ204Aが実行することにより動作する。コンピュータプログラム210および/またはオペレーティングシステム208は、メモリ206に格納されてもよく、ユーザ132および/または他の複数のデバイスとインタフェースで接続して、入力および複数のコマンドを受け入れて、このような入力および複数コマンド、ならびにコンピュータプログラム210およびオペレーティングシステム208により規定される複数のコマンドおよび複数の命令に基づき、出力および複数の結果を提供してもよい。出力/複数の結果は、画面222上に示されても、提示する、またはさらに処理もしくは動作させるために、他のデバイスに提供されてもよい。典型的には、ディスプレイ222は、状態を変えて、ユーザ132に画像を集合的に提示する複数の画像要素複数の画素を備える。例えば、ディスプレイ222は、不透明な状態または半透明な状態に変化して、入力および複数のコマンドに対してコンピュータプログラム210および/またはオペレーティングシステム208の複数の命令を適用することにより、プロセッサ204により生成されたデータまたは情報に応答して、ディスプレイ上で画像の一部を形成する液晶をそれぞれ備える別個にアドレス可能な複数の画素を有する液晶ディスプレイLCDを備えてもよい。同様に、複数のプラズマディスプレイが、異なる色の蛍光体をそれぞれ備える3つの別個のサブピクセルからなるセルを有する画素を含む。複数の色が一緒に混ざり合って、画素内に提示される色を生成する。複数のセルを通って流れる複数の電流パルスが、入力および複数のコマンドに応答してコンピュータプログラムおよび/またはオペレーティングシステム208の複数の命令を適用することにより、プロセッサにより生成されたデータに従って変更され、画素により提供される光の強さが変化する。また、同様に、複数の陰極線管CRTディスプレイが複数の画素を含み、それぞれ、各画素が、典型的にはアパーチャグリルからの複数のドットまたは複数のラインで表現される複数のサブピクセルを有する複数の画素を有する。各ドットまたはラインは、電子銃からの複数の電子が衝突したときに光を放つ蛍光体コーティングを含む。コンピュータプログラムおよび/またはオペレーティングシステム208の複数の命令を適用することにより、プロセッサにより生成されたデータに応答して、および入力および/または複数のコマンドに応答して、電子銃により放出された複数の電子は、複数のドットまたは複数のラインに導かれ、したがって、このドットまたはラインの蛍光体コーティングに光を放たせることにより関連する画素の状態を変更する。画像はグラフィカルユーザインタフェースGUIモジュール218Aにより提供されてもよい。GUIモジュール218Aは別個のモジュールとして描かれているが、複数のGUI機能を実行する複数の命令が、オペレーティングシステム208、コンピュータプログラム210内に常駐もしくは分散する、または専用のメモリおよび複数のプロセッサで実現することができる。コンピュータプログラム110の複数の命令に従ってコンピュータ202により実行される複数の動作の一部またはすべてが、専用プロセッサ204Bで実現されてもよい。さらに、コンピュータプログラム210の複数の命令の一部またはすべては、読み出し専用メモリROM、プログラム可能読み出し専用メモリPROM、もしくは専用プロセッサ204B内部またはメモリ206内のフラッシュメモリに格納された複数のファームウェア命令により実現されてもよい。専用プロセッサ204Bはまた、複数の動作の一部またはすべてを実行して本発明を実現する回路設計により、ハードウェアに組み込まれてもよい。さらに、専用プロセッサ204Bは、複数の機能のサブセットを実行するための専用回路、および複数のコンピュータプログラム命令に応答するなどのより一般的な複数の機能を実行するための他の複数の回路を含むハイブリッドプロセッサでもよい。一実施形態では、専用プロセッサは、特定用途向け集積回路ASICである。コンピュータ202はまた、COBOL、C、FORTRANまたは他の言語などのプログラミング言語で書かれたアプリケーションプログラム210をプロセッサ204の可読コードに翻訳することができるようにするコンパイラ212を実装してもよい。コンパイル後、アプリケーションまたはコンピュータプログラム210は、コンパイラ212を使用して生成された複数の関係およびロジックを使用して、複数のI/Oデバイスから受け入れられ、コンピュータ206のメモリ206に格納されたデータにアクセスし、操作する。コンピュータ202はまたモデム、衛星リンク、イーサネット登録商標カードまたは他の複数のコンピュータから入力を受け入れ他の複数のコンピュータに出力を提供する他のデバイスなどの外部通信デバイスを任意選択で備える。一実施形態では、オペレーティングシステム208、コンピュータプログラム210およびコンパイラ212を実現する複数の命令は、コンピュータ可読媒体、例えば1つまたは複数の固定のまたは取り外し可能なデータ記憶デバイス、例えばジップドライブ、フロッピー登録商標ディスクドライブ224、ハードドライブ、CD-ROMドライブ、テープドライブ、DVDなどを含むことができるデータ記憶デバイス220内に有形に具体化される。さらに、オペレーティングシステム208およびコンピュータプログラム210は、コンピュータ202によりアクセスされ、読み出され、実行されたとき、コンピュータ202に本発明を実現および/もしくは使用するのに必要な、または複数の命令からなるプログラムをメモリの中にロードするのに必要な複数のステップを実行させる複数のコンピュータプログラム命令からなり、したがって、コンピュータに本明細書で説明される複数の方法ステップを実行する専用にプログラムされたコンピュータとして動作させる専用データ構造を生成する。コンピュータプログラム210および/または動作させる複数の命令はまた、メモリ206および/または複数のデータ通信デバイス230内に有形に具体化されてもよく、それにより、本発明によるコンピュータプログラム製品または製造物を作成する。このため、用語製造物、プログラム記憶デバイスおよびコンピュータプログラム製品は、本明細書で使用されるとき、任意のコンピュータ可読デバイスまたは媒体からアクセス可能なコンピュータプログラムを包含するものとする。当然のことながら、上記の複数の構成要素の任意の組み合わせ、または任意の数の異なる複数の構成要素、複数の周辺装置および他の複数のデバイスが、コンピュータ202と共に使用されてもよいことを当業者であれば理解されよう。本明細書では用語ユーザコンピュータと呼ばれるが、ユーザコンピュータ102は、複数の携帯デバイス、例えば複数の携帯電話、複数の携帯型MP3プレーヤ、複数のビデオゲーム機、複数のノートブックコンピュータ、複数のポケットコンピュータ、複数の携帯情報端末複数のPDAまたは適切な処理、通信および入出力の性能を備えた任意の他のデバイスを含んでもよいことが理解される。図3は、コンテンツ配送サブシステムCDS300の第1の実施形態、およびHTTP、TCP、RSTPまたは類似の複数のプロトコルに従ってユーザ132に提示するための複数のメディアプログラムおよび複数の広告を配送するために使用することができるトップレベルの複数の動作を示す図である。これらの複数のプロトコルを使用して、メディアプログラム配送中に、メディアプログラムプレーヤ110からの要求に従って、またはメディアサーバ114の主導権で、メディアプログラムプレーヤ110に送信されるデータのスループットを変更することができる。例えば、RTSPは、メディアサーバが、メディアサーバの能力と整合する特定の速度でメディアプログラムプレーヤにデータを配送し、この速度でメディアを提供することを望むことを要求する速度要求ヘッダフィールドを定義する。図示される実施形態では、コンテンツ配送サブシステム300は、ユーザデバイス102、メディアプログラムプロバイダ110および広告プロバイダ140を含む。メディアプログラムプロバイダ110は、フィードサービス306、コンテンツセレクタ308およびコンテンツ管理サービス310を備える。ユーザ132が、ユーザデバイス102を使用してメディアプログラムを選択したとき、選択されたメディアプログラムのメディアプログラム識別子PIDを要求するメッセージが、ユーザデバイス102からメディアプログラムプロバイダ110に送信される。フィードサービス306は要求を受信し、コンテンツ管理サービス310を介して安全な記憶装置312から得られた情報を使用して、フィードサービス306は、選択されたメディアプログラムに対するPIDを決定し、PIDをユーザデバイス102に送信する。ユーザデバイスは、このPIDおよびユーザIDをメディアプログラムプロバイダ110のコンテンツセレクタ308に送信する。コンテンツセレクタ308は、情報をコンテンツ管理サービス310に転送し、コンテンツ管理サービス310は、広告サービス318を使用して、安全な記憶装置312に格納された情報を使用して、ユーザおよび選択されたメディアプログラムに該当する複数の広告を選択する。これは、2010年5月26日に出願された、WingChitMakによる迅速でスケーラブルな管理された広告サービスのための方法および装置METHODANDAPPARATUSFORRAPIDANDSCALEABLEDIRECTEDADVERTISINGSERVICEと題する同時係属中の特許出願第12/787,679号明細書に説明されるように実現されてもよく、この出願は参照により本明細書に組み入れられる。コンテンツ管理サービス310は、この情報をコンテンツセレクタ318に転送し、コンテンツセレクタ318は、選択されたメディアプログラムをユーザデバイス102がメディアサーバ114から得ることができる情報だけでなく、広告プロバイダ140からの複数の広告も送信する。図示される実施形態では、この情報は、メディアサーバ114から所望のメディアプログラムを得ることができるアドレス例えばURLを含む。ユーザデバイス102は、指定されたアドレスにあるメディアサーバ114にメディアプログラム要求を送信する。メディアサーバ114は、メディアプログラムを安全な記憶装置から取り出し、メディアプログラムをユーザデバイス102に送信する。ユーザデバイス102は、送信されたメディアプログラムを受信し、メディアプログラムをバッファ305に一時的に格納してもよい。バッファ305は、ハードウェアおよび/またはソフトウェアのバッファリングを含んでもよく、メディアプログラムプレーヤ305内、またはユーザデバイス102内の他のどこかに存在してもよい。ユーザデバイス102はまた、広告プロバイダ120からの複数の広告を要求し、複数の広告を同様に受信してもよい。典型的には、メディアサーバ114は、異なるスループットまたは帯域幅の複数の通信チャネルにそれぞれ適した、複数のバージョンのメディアプログラムを有する。ユーザデバイス102または他の場所から受信された情報を使用して、メディアプレーヤ114は、ユーザデバイス102に送信するメディアプログラムの最も該当するバージョンを決定する。この決定は、例えば、メディアプログラムをユーザデバイス102に送信するために使用される通信チャネルの帯域幅または利用可能なビットレート、ユーザデバイスのスループット、ならびにユーザデバイス102で実現されるバッファ305のサイズおよび速度に基づくことができる。次いで、ユーザデバイス102は、メディアプログラムを受信する。典型的には、メディアプログラムデータは、ユーザデバイス内のハードウェアまたはソフトウェアのバッファ305に格納され、先入れ先出しFIFO法で取り出される。配送されるメディアプログラムのバージョンの平均ビットレートが、複数の通信のチャネルの帯域幅性能よりも低いので、メディアプログラムが再生されている間に、バッファ305は一杯になる。バッファリングされたデータは、通信チャネルの帯域幅またはメディアプログラムのビットレートが変化したときでさえ利用可能であり、したがって、バッファリングされたデータは、途切れ途切れの再生を低減するために使用することができる。メディアプログラムが、必要とされるビットレートで配送されていないとユーザデバイス102が判断した場合メディアプログラムを再生するためにデータが消費される速度が、データが受信される速度を、バッファ305が途切れ途切れの再生を適切に防止することができない程度まで超える、ユーザデバイス102は、異なるバージョンのメディアプログラム例えば、より低いビットレートでの送信に適したバージョンを要求するメッセージをメディアサーバ114に送信してもよい。逆に、メディアプログラムが必要とされるビットレートよりも高く配送されているとユーザデバイス102が判断した場合、ユーザデバイス102は、より高いビットレートでの送信に適したバージョンのメディアプログラムを要求するメッセージをメディアサーバに送信してもよい。これにより、より高解像度バージョンのメディアプログラムがユーザ132に提供されることがある。広告プロバイダ140およびメディアサーバ114は、メディアプログラムプロバイダ110とは別個のアーキテクチャエンティティとして図示されているが、広告プロバイダ140は、メディアプログラムプロバイダ110と一体化されてもよいすなわち、メディアプログラムプロバイダはまた、複数の広告を提供してもよい。CDS300は、www.hulu.com、www.imdb.com、www.aol.comまたはwww.msn.comを含んでもよい複数の配送ネットワークを介して複数のメディアプログラムおよび複数の広告を提供する手段を提供する。メディアプログラムおよび広告コンテンツに関するメタデータだけでなく、ストリーミング情報も、複数のメディアプログラムおよび複数の広告がCDS300内部のどこで見つけ出すことができるかを記述するデータのように、コンテンツ配送システム300内に、データベース312内に格納されてもよい。ユーザデバイス102は、インタフェースモジュール302およびメディアプログラムプレーヤ304を含んでもよい。インタフェースモジュール302は、情報および複数のメディアプログラムをユーザ132に提示するため、および複数のコマンドを含むユーザ入力を受け入れるために使用される、ユーザデバイス102により実行される複数の命令を含む。複数の例示的ユーザデバイス102が、デスクトップコンピュータ、ラップトップコンピュータまたは携帯デバイス、例えばIPOD、IPHONE、IPAD、携帯電話もしくはPALMデバイスである。別の実施形態では、前述のことは、ユーザデバイス102が、PIDを受信し、PIDをコンテンツセレクタに送信する必要なしに実現され、代わりに、単にメディアプログラムの要求をユーザデバイスから受け入れ、ユーザデバイス102に送信され、かつメディアサーバ114からメディアプログラムを得るために使用されるURLおよびメタデータを生成する。図4は、ライブストリーミングプロトコルに従って複数のメディアプログラムを送信するために提供されるコンテンツ配送システム400を示す図である。このプロトコルは、複数の携帯デバイスおよび複数の無線デバイスに対して特に有用である。基本的に、このプロトコルは、ユーザデバイス102がメディアプログラムを要求したときに、メディアプログラムの小さな複数のセグメントまたは複数のチャンクのプレイリストを提供されることを除いて、図3に示すプロトコルに類似している。ユーザデバイス102は、プレイリストを使用して、メディアプログラムの各チャンクを順序正しく送信することを要求し、各チャンクが受信されたとき、各チャンクは処理され、ユーザ132に提示されるメディアプログラムに組み立てられる。図4に示すように、ユーザデバイス102は、メディアプログラムのPIDの要求をフィードサービス306に送信する。要求は、典型的にはユーザID、またはこのプロキシだけでなく、メディアプログラムに対する何らかの識別も備える。フィードサービス306は要求を受信し、安全な記憶装置312およびコンテンツメタデータ/ストリーミング情報データベースから得られた情報を使用して、要求されたメディアプログラムのPIDをCMS310から得る。次いで、PIDはユーザデバイス102に送信される。次いで、ユーザデバイスは、コンテンツセレクタ308にPIDと共にメディアプログラム要求を送信する。次いで、PIDを有するメディアプログラム要求が、コンテンツセレクタ308に送信され、コンテンツセレクタ308は、この情報をコンテンツ管理サービス310に転送する。コンテンツ管理システム318は、広告サービス318を使用して、安全な記憶装置312に格納された情報を使用して、ユーザおよび選択されたメディアプログラムに該当する複数の広告を選択する。この場合も、これは、上述の同時係属中の特許出願第12/787,679号明細書で説明されるように達成されてもよい。コンテンツ管理サービス310は、この情報をコンテンツセレクタ318に転送する。次いで、コンテンツセレクタ308は、マスタプレイリストを生成してもよい。マスタプレイリストが、同じくコンテンツを送信するために使用されてもよい。マスタプレイリストは、異なる複数のビットレートで表現されたメディアプログラムに対するセグメントプレイリストにそれぞれ関連づけられる複数のリンクを含んでもよい。例えば、1つのリンクが、1.5Mbpsのビットレートバージョンのメディアプログラムに対するセグメントプレイリストに関連づけられてもよい。他のリンクが、3.2MBPSのバージョンのメディアプログラムに対するセグメントリストに関連づけられてよく、一方で、第3のリンクが、64Kbpsのバージョンのメディアプログラムに関連づけられてもよい。次いで、マスタプレイリストはユーザデバイス102に送信される。ユーザデバイス102は、受信および再生に最も適合するバージョンのメディアプログラムを選択する。この選択は、例えば、メディアサーバ114とユーザデバイス102の間の複数の通信のチャネルの帯域幅もしくはスループット、ならびに/またはユーザデバイス102内の任意のバッファ複数305のサイズおよびスピードに基づくことができる。ユーザデバイス102は、選択されたバージョンのメディアプログラムのメディアプログラムバージョン要求をコンテンツセレクタ308に送信する。コンテンツセレクタ308は、メディアプログラムバージョン要求を受信し、セグメントプレイリストを生成し、セグメントプレイリストをユーザデバイス102に送信する。ユーザデバイス102は、セグメントプレイリストを受信し、メディアサーバ114または広告プロバイダ140から示された順序でプレイリスト内の複数のセグメントを要求する。上述のように、複数のデジタルメディアプログラムの配送および提示が困難になる可能性があるのは、1メディアプログラムをユーザデバイス102に配送するために使用される通信チャネルが、a典型的には帯域幅が制限されており、b時間の経過と共に、および複数の移動体用途ではユーザの位置に対してかなり変化する可能性がある、2ユーザデバイス102により受信されたメディアプログラムの処理および提示には、a時間と共に変化する場合があるかなりのスループットおよび処理速度、ならびにbユーザデバイス102内で使用される任意のバッファリングのかなりの記憶容量および記憶/取出速度を必要とするためである。上記でさらに説明されたように、複数のデジタルメディアプログラムを配送するための従来技術の複数の技法は、P2P、マルチキャスト/ブロードキャストのアドレス指定方式を使用することにより帯域幅を節約しようとする場合が多い。しかしながら、複数の視聴者が、視聴中にデジタルメディアプログラム内の新しい複数の位置に頻繁にシークすることは珍しいわけではない。例えば、視聴者が、メディアプログラム内部の現在時間に基づく位置を示す進行タイムラインバーprogresstimelinebar上のスライダsliderを新しい位置に移動させてもよい。従来技術の複数の技法では、複数のシーク性能を同じく可能にしながら、複数のデジタルメディアプログラムをマルチキャスト/ブロードキャストする能力を提供できない。さらに、従来技術の複数の技法はまた、マルチキャスト/P2P環境でシーク性能を提供しながら、カスタムの/管理された広告を提供することができない。したがって、異なる複数のユーザへの複数のストリームを共有することができ、かつこれにより帯域幅コストが低減するので、異なる複数のユーザに対して同期した複数のストリームが、サービスの観点から望ましい。メディアコンテンツ配送の同期本発明の複数の実施形態は、コンピュータ202内部で実行されるコンピュータプログラム210上で実現されてもよい。1つまたは複数の実施形態では、異なる/複数のユーザに配送される複数のストリームが、実行される複数のシーク動作に基づき同期/整列する。このような複数の性能を提供するために、複数のユーザは、ランダムな地点ではなく、メディアプログラム内の特定の複数の地点に誘導される。特定の複数の地点は、シーンの最初、ショット、フレーム、Iフレームなどとすることができる。したがって、複数のユーザは、望むプログラムの任意の地点までスキャンすることができるわけではない。代わりに、複数のユーザは、最も近いまたは直前のショットまたはシーンまでスキャンすることができる。複数のユーザをこのような方法で誘導することにより、複数のユーザは同一信号ストリームを受信する可能性が高く、それにより、帯域幅が節約される。図5は、本発明の1つまたは複数の実施形態に従ってユーザのシーク位置を同期した位置にリダイレクトすることを示すユーザインタフェースを示す。ユーザが、再生バー/スライダを動かして、ビデオ内の前方または後方に移動するとき、ユーザが選択する正確な地点すなわち、位置502からビデオのストリーミングを開始するのではなく、メディアプログラムは、適度に近いが、ユーザが選択した正確な地点ではない地点すなわち、位置504から始まり、ストリーミングされる。ビデオストリーミングが開始する可能性がある地点504は、視聴者が選択した地点502の前であり、かつ少なくとも1人の他の視聴者がすでにこのビデオを視聴している地点504にある。この後、両方のユーザに、同一ビデオストリームが提供される例えばマルチキャスト。したがって、ユーザが特定の地点502までシークした場合、近似的な位置が、誰か他の人のシーク/視聴地点と一致する。したがって、複数のユーザが、所与のデジタルプログラム内の同一位置から視聴するように連係/同期する。代わりにまたはさらに、シーンの最初、ショット、またはおそらく直前のIフレームにさえ視聴者を誘導することができる。換言すれば、ストリームの同期は、単に他のユーザの位置に基づけばよいのではなく、代わりにまたはさらにショット、シーン、フレームなどに基づくことができる。すべての複数の視聴者がこれに支配されるので、ビデオプログラムを視聴する際に他の視聴者が地点504に存在する可能性が高い。ユーザがスキャンする場所502に応じて、複数のユーザが複数の広告例えば複数のコマーシャルまたは他のメディアコンテンツを示されることがある、およびこのような複数の広告/コンテンツはメディアプログラムの再生が開始される前に再生されることがあるという事実も考慮されてもよい。例えば、第1のユーザが、ビデオをプログラムの中の12:51で再生を始めるように誘導するが、第2のユーザが12:45ですでにこのメディアをストリーミングしているとする。複数の広告を考慮しなければ、第1のユーザは、12:45で開始されるストリームに誘導される。しかしながら、第1のユーザが12:51以前に複数のコマーシャルを見ていなかった場合、選択されたストリームが、第1のユーザがストリームに加わる前に複数のコマーシャルを見るのに十分な時間を含むように、システムは、これらの複数のコマーシャルを考慮する必要がある。換言すれば、第1のユーザは、まず30秒~60秒間、複数のコマーシャルを再生している間、12:45の直後の位置に誘導されてもよい。あるいは、第1のユーザは、必要とされるコマーシャル視聴に対応するために異なるユーザと同期してもよい。あるいは、複数の広告または代替コンテンツの挿入により、ユーザが最初に意図した場所以外でビデオを開始することになることがあるので、ユーザが、何度も正確な場所に到達しないようにするように何らかのメッセージが示されてもよい。一例として、ユーザ2がメディアプログラムの中間点を視聴しているが、ユーザ1が同一メディアプログラムの最初を視聴しているとする。ユーザ1は、中央近傍の何らかの場所、ユーザ2よりも少し先までシーク動作を実行する。ユーザ1の入力まで単にシークする場合、追加の帯域幅が消費され、ユーザ1およびユーザ2は、同一コンテンツであるがコンテンツ内の異なる複数の地点を視聴していても同期しない。複数のユーザは、ビデオ再生の短いセクションまたは部分をスキップしたいだけであるので、シーク動作の実際の位置にあまり敏感ではないことがわかった。したがって、本発明の複数の実施形態は、ユーザ2がユーザ1に追いつくことができるように、ユーザ1をしばらく待たせる。ユーザ1は、何もすることがなく引き留められる場合、退屈することがある。したがって、視聴している際に、ユーザ2およびユーザ1の時間の空白に合う、異なる複数の長さで、異なるが依然として的を絞った複数の広告/コンテンツが再生されることがある。この特定の広告を再生することにより、ユーザ1およびユーザ2は、一緒に整列することができる。この技法は、再生の最初にも同様に適用される。例えば、ユーザ1がユーザ2よりも30秒早く到着するとする。ユーザ1は、ユーザ2を待つために広告に時間を費やすよう要求されることがある。さらに、このような視聴の遅延の一部として、通知がユーザ1に表示されてもよい例えば、視聴品質を改善するために、ビデオコンテンツがバッファされ/同期する間、お待ちください。このような遅延の間、本発明の複数の実施形態はまた、両方のユーザに対するネットワーク帯域幅を決定し、ビデオコンテンツのバッファリング、または第1または第2のユーザへのビデオコンテンツの一部の送信を開始してもよい例えば、待っているユーザのネットワーク接続が、他方のユーザのネットワーク接続よりも遅い場合。上記に加えて、上述の複数の特徴のいずれも、サービス利用者以外に対して制限することができる。論理的な流れ図6は、本発明の1つまたは複数の実施形態に従って複数のユーザにメディアコンテンツをストリーミングするための論理的な流れを示す流れ図である。ステップ602では、メディアコンテンツの/に対する第1のストリームが、メディアコンテンツ内の第1の位置から第1のユーザにストリーミングされる。ステップ604では、メディアコンテンツ内のシーク位置までシークする要求が第1のユーザから受信される。要求は、第1のメディアコンテンツに対する進行タイムラインバー上のスライダを移動させることにより、第1のユーザから受信されてもよい。ステップ606では、メディアコンテンツ内の第2の位置が決定される。第2の位置はシーク位置と適合する。さらに、第2の位置は、1人または複数の第2のユーザにストリーミングされている第2のストリームに基づく。この点、第2のユーザは、同一メディアコンテンツ/ビデオを見ている複数のユーザの大きなプールから選択されてもよい。このような選択は、最適化手法に基づいてもよい。例えば、第2の位置は、メディアコンテンツのショットまたはシーンに基づいてもよい。さらに、第2の位置は、他の複数のユーザにストリーミングされている複数のメディアコンテンツストリームを解析することにより決定されてもよい。換言すれば、シーク要求を受信するサーバは、ユーザにより要求されたシーク位置と適合するストリームを見つけ出すために、他の複数のユーザに送信されている複数のストリームを探索する。ステップ608では、第2のストリームが、第1のユーザおよび第2のユーザの両方にストリーミングされる。このようなストリーミングは、第1のユーザと第2のユーザの間でメディアコンテンツの視聴を同期させる。1つまたは複数の実施形態では、ストリーミングは、第1および第2のユーザに第2のストリームをマルチキャストすることにより行われてもよい。あるいは、P2Pネットワークが、両方のユーザに第2のストリームをストリーミングするために使用されてもよい。第2のストリームをストリーミングするのに加えて、第2の位置/シーク位置に基づき、第1のユーザに広告がストリーミングされてもよい。このような広告は、第1のユーザの複数の属性に基づき、第1のユーザに特に向けられたdirected、有向広告directedadvertisementでもよい。さらに、選択された広告は、シーク位置と、第2のユーザが受信している第2のストリーム内の第2の位置との間の時間差に基づいてもよい。結論ここでは、本発明の好ましい複数の実施形態の説明が締めくくられる。本発明の好ましい実施形態の以上の説明は、例示および説明のために提示された。本発明の好ましい実施形態の以上の説明は、網羅的なものでも、開示した厳密な形態に本発明を限定するものでもない。以上の開示に照らして、多くの修正および変形が可能である。本発明の範囲は、この詳細な説明によって限定されるものではなく、むしろ本明細書に添付の特許請求の範囲によって限定されるものである。上記の説明、例およびデータは、本発明の製造、および組成物の用途の完全な説明を提供する。本発明の多くの実施形態は、本発明の精神および範囲を逸脱することなく作成することができるので、本発明は、以下に添付される特許請求の範囲にある。"