(57)【要約】メディアの断片化が、提供される。まず、マニフェストについての要求が、クライアントから受信される。そして、その受信したマニフェストについての要求に応えて、マニフェストは、クライアントに対して送信される。次に、ファイル断片についての要求が、クライアントから受信される。その要求は、ファイル断片に対応する、開始時刻および終了時刻を示す。その要求は、マニフェストによって定義される形式である。そして、ルックアップテーブルが、開始時刻に対応するメディアファイルにおける第１バイトの記憶場所および終了時刻に対応するメディアファイルにおける第２バイトの記憶場所について、問い合わせを受ける。次に、第１バイトの記憶場所と第２バイトの記憶場所との間のメディアファイルの一部分が、メディアファイルから抽出される。この一部分は、そのファイル断片を備える。そのファイル断片は、クライアントに対して送信される。
2012507940.tif 000002
【特許請求の範囲】
【請求項１】
クライアント（１１０）から、マニフェスト（３００）についての要求を受信すること（２１０）と、
受信した前記マニフェスト（３００）についての要求に応答して、前記クライアント（１１０）に対して、前記マニフェスト（３００）を送信すること（２２０）と、
前記クライアント（１１０）から、ファイル断片（１２５、１３０、１３５）についての要求であって、ファイル断片（１２５、１３０、１３５）に対応する開始時刻および終了時刻を示し、前記マニフェスト（３００）によって定義される形式である要求を受信すること（２３０）と、
開始時刻に対応する前記メディアファイル（１１５）における第１バイトの位置と終了時刻に対応する前記メディアファイル（１１５）における第２バイトの位置について、ルックアップテーブル（１４０）へ問い合わせること（２４０）と、
第１バイトの位置と第２バイトの位置との間であり、前記ファイル断片（１２５、１３０、１３５）を備える、前記メディアファイル（１１５）の一部分を前記メディアファイル（１１５）から抽出をすること（２５０）と、
前記クライアント（１１０）に対して、前記ファイル断片（１２５、１３０、１３５）を送信すること（２６０）と
を備えることを特徴とするメディアの断片化を提供する方法。
【請求項２】
前記マニフェスト（３００）を送信すること（２２０）は、前記クライアント（１１０）にとって利用可能な媒体を記述するマニフェスト（３００）を送信することを含むことを特徴とする請求項１に記載のメディアの断片化を提供する方法。
【請求項３】
前記マニフェスト（３００）を送信すること（２２０）は、前記要求がＵＲＬにてどのようにフォーマットされるべきかを記述するマニフェスト（３００）を送信すること（２２０）を含むことを特徴とする請求項１に記載のメディアの断片化を提供する方法。
【請求項４】
前記マニフェスト（３００）を送信すること（２２０）は、前記クライアント（１１０）にとって利用可能な媒体に対応する複数のタイトルを示すマニフェスト（３００）を送信することを含むことを特徴とする請求項１に記載のメディアの断片化を提供する方法。
【請求項５】
前記マニフェスト（３００）を送信すること（２２０）は、前記ファイル断片（１２５、１３０、１３５）にとって利用可能な品質レベル（３１０）を記述するマニフェストを送信すること含むことを特徴とする請求項１に記載のメディアの断片化を提供する方法。
【請求項６】
前記マニフェスト（３００）を送信すること（２２０）は、前記ファイル断片（１２５、１３０、１３５）にとって利用可能な品質レベル（３１０）を記述するマニフェスト（３００）であって、前記利用可能な品質レベル（３１０）が、ビットレート１５００Ｋｂｐｓ、１０００Ｋｂｐｓ、および３００Ｋｂｐｓにおいて、これに相応するものとして前記断片ファイル（１２５、１３０、１３５）を提供するマニフェストを送信することを含むことを特徴とする請求項１に記載のメディアの断片化を提供する方法。
【請求項７】
前記マニフェスト（３００）を送信すること（２２０）は、前記利用可能な品質レベル（３１０）に対応する利用可能なトラック（３１５）を記述するマニフェスト（３００）を送信することを含むことを特徴とする請求項１に記載のメディアの断片化を提供する方法。
【請求項８】
前記マニフェスト（３００）を送信すること（２２０）は、前記利用可能な品質レベル（３１０）に対応する利用可能なトラック（３１５）を記述するマニフェスト（３００）であって、前記利用可能なトラック（３１５）が音声、映像、および字幕のうち少なくとも１つを備えた、マニフェストを送信することを含むことを特徴とする請求項１に記載のメディアの断片化を提供する方法。
【請求項９】
前記クライアント（１１０）から要求を受信すること（２３０）は、前記クライアント（１１０）から、前記ファイル断片（１２５、１３０、１３５）についての要求であって、前記ファイル断片（１２５、１３０、１３５）にとっての品質レベルを示す要求を受信することを含むことを特徴とする請求項１に記載のメディアの断片化を提供する方法。
【請求項１０】
前記クライアント（１１０）から要求を受信すること（２３０）は、前記クライアント（１１０）から、前記ファイル断片（１２５、１３０、１３５）についての要求であって、前記ファイル断片（１２５、１３０、１３５）にとっての品質レベルであってネットワーク上で前記クライアント（１１０）にとって利用可能な帯域幅に基づく品質レベルを示す要求を受信することを含むことを特徴とする請求項１に記載のメディアの断片化を提供する方法。
【請求項１１】
前記クライアント（１１０）から要求を受信すること（２３０）は、前記クライアント（１１０）から、前記ファイル断片（１２５、１３０、１３５）についての要求であって、前記ファイル断片（１２５、１３０、１３５）にとっての品質レベル、１５００Ｋｂｐｓ、１０００Ｋｂｐｓ、３００Ｋｂｐｓのうち１つで前記断片（１２５、１３０、１３５）を提供するように構成される品質レベルを示す要求を受信することを含むことを特徴とする請求項１に記載のメディアの断片化を提供する方法。
【請求項１２】
前記クライアント（１１０）から要求を受信すること（２３０）は、前記クライアント（１１０）から、前記ファイル断片（１２５、１３０、１３５）についての要求であって、前記ファイル断片（１２５、１３０、１３５）のトラックを示す要求を受信することを含むことを特徴とする請求項１に記載のメディアの断片化を提供する方法。
【請求項１３】
前記クライアント（１１０）から要求を受信すること（２３０）は、前記クライアント（１１０）から、前記ファイル断片（１２５、１３０、１３５）についての要求であって、ファイル断片（１２５、１３０、１３５）のトラックを示し、前記トラックは音声、映像、および字幕のうち１つを備えた要求を受信することを含むことを特徴とする請求項１に記載のメディアの断片化を提供する方法。
【請求項１４】
前記ルックアップテーブル（１４０）へ問い合わせること（２４０）は、キャッシュしたルックアップテーブル（１４０）へ問い合わせることであって、サーバ（１０５）の記憶域にルックアップテーブル（１４０）をキャッシュしておくことをさらに備えることを特徴とする請求項１に記載のメディアの断片化を提供する方法。
【請求項１５】
実行されたときにメディアの断片化を提供する方法を実行する命令のセットを格納したコンピュータ可読媒体であって、前記方法は、
ファイル断片（１２５、１３０、１３５）についての要求であって、ファイル断片（１２５、１３０、１３５）に対応する開始時刻および終了時刻を示し、前記要求はマニフェスト（３００）によって定義される形式であり、前記マニフェスト（３００）は利用可能な品質レベル（３１０）に対応する利用可能なトラック（３１５）を記述する要求を受信すること（２３０）と、
サーバ（１０５）の記憶域にルックアップテーブル（１４０）をキャッシュしておくことと、
開始時刻に対応するメディアファイル（１１５）における第１バイトの位置と終了時刻に対応する前記メディアファイル（１１５）における第２バイトの位置について、前記キャッシュしたルックアップテーブル（１４０）へ問い合わせること（２４０）と、
第１バイトの位置と第２バイトの位置との間であり、ファイル断片（１２５、１３０、１３５）を備える、前記メディアファイルの一部分を前記メディアファイル（１１５）から抽出をすること（２５０）と
を備えることを特徴とするコンピュータ可読媒体。
【請求項１６】
クライアント（１１０）から前記マニフェスト（３００）についての要求を受信すること（２１０）と、
前記受信したマニフェスト（３００）についての要求に応じて、前記クライアント（１１０）に対して、前記マニフェスト（３００）を送信すること（２２０）と
をさらに備えたことを特徴とする請求項１５に記載のコンピュータ可読媒体。
【請求項１７】
前記マニフェスト（３００）を送信すること（２２０）は、前記要求がＵＲＬにてどのような形式であるべきかを記述するマニフェスト（３００）を送信することを含むことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項１８】
前記要求を受信すること（２３０）は、前記ファイル断片（１２５、１３０、１３５）のトラックを示す要求であって、前記トラックは音声、映像、および字幕のうち１つを備え、前記要求はファイル断片（１２５、１３０、１３５）にとっての品質レベルを示し、前記品質レベルは、ビットレート１５００Ｋｂｐｓ、１０００Ｋｂｐｓ、および３００Ｋｂｐｓのうち１つで前記断片（１２５、１３０、１３５）を提供するように構成される要求を受信することを含むことを特徴とする請求項１５に記載のコンピュータ可読媒体。
【請求項１９】
前記ファイル断片（１２５、１３０、１３５）を要求したクライアント（１１０）に対して前記ファイル断片（１２５、１３０、１３５）を送信すること
をさらに備えたことを特徴とする請求項１５に記載のコンピュータ可読媒体。
【請求項２０】
メディアの断片化を提供するシステムにおいて、
メモリ記憶域（４０４、４０９、４１０）と、
メモリ記憶域（４０４、４０９、４１０）と連結しているプロセスユニット（４０２）であって、前記プロセスユニット（４０２）は、
クライアント（１１０）から、マニフェスト（３００）についての要求を受信すること（２１０）と、
前記受信したマニフェスト（３００）についての要求に応じて、前記クライアント（１１０）に対して、利用可能な品質レベル（３１０）に対応する形式および利用可能なトラック（３１５）を記述するマニフェスト（３００）を送信すること（２２０）と、
前記クライアント（１１０）から、ファイル断片（１２５、１３０、１３５）についての要求であって、前記要求はファイル断片（１２５、１３０、１３５）に対応する開始時刻および終了時刻を示し、前記要求は前記マニフェスト（３００）によって定義される形式であり、前記要求は前記ファイル断片（１２５、１３０、１３５）に対応するトラックおよび品質レベルを示す要求を受信し（２３０）、
前記メモリ記憶域にルックアップテーブル（１４０）をキャッシュし、
開始時刻に対応する前記メディアファイル（１１５）における第１バイトの位置と終了時刻に対応する前記メディアファイル（１１５）における第２バイトの位置について、前記キャッシュしたルックアップテーブル（１４０）へ問い合わせ（２４０）、
第１バイトの位置と第２バイトの位置との間であり、前記の示されたトラックおよび品質レベルに関連する前記ファイル断片（１２５、１３０、１３５）を備える、前記メディアファイル（１１５）の一部分を前記メディアファイル（１１５）から抽出し（２５０）、かつ
前記クライアント（１１０）に対して、前記ファイル断片（１２５、１３０、１３５）を送信する（２６０）
ために動作するプロセスユニットと
を備えることを特徴とするメディア断片化を提供するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メディアの断片化に関する。
【背景技術】
【０００２】
オーディオのストリーミングは、インターネットからの音声および／または映像ファイルを再生するための手順である。多数のファイルが、コンテンツ・サーバから到着した順に、エンドユーザーのクライアントにおいて再生される。これらのファイルはエンドユーザーのクライアント上で保存されないので、ファイルを受信し続けるためにネットワーク接続は持続されなければならない。言い換えると、ファイルがプロバイダによってコンテンツ・サーバから配信されている間、ストリーミングにより、ファイルはエンドユーザーのクライアントによって絶えず受信されて、そして正常に提示される。ストリーミングは、コンテンツ・ファイルを、ディスク上の短時間の断片（short-duration fragment）を備える多数のファイルへ、物理的に断片化することに因る。しかしながら、この断片化の手順は、そのコンテンツ・ファイルに関連する１時間のコンテンツにつき、何千ものファイルを生成する。そして、多数のファイルが原因で、結果として生じたコンテンツ・ファイル・ライブラリを管理することを困難にする。
【発明の概要】
【課題を解決するための手段】
【０００３】
この概要は、以下の詳細な説明においてさらに記載される、概念を簡素化した形式で導入するために、提供される。この概要は、特許請求の範囲に記載された主題の重要な特徴または本質的な特徴を特定することを意図するものではない。そしてまた、この概要は、特許請求の範囲に記載された主題の範囲を限定するために用いられることを意図するものでもない。
【０００４】
メディアの断片化を提供することができる。まず、マニフェストについての要求が、クライアントから受信されうる。そして、その受信したマニフェストについての要求に応えて、マニフェストは、クライアントに対して送信されうる。次に、ファイル断片についての要求が、クライアントから受信されうる。その要求は、ファイル断片に対応する、開始時刻および終了時刻を示しうる。その要求は、マニフェストによって定義される形式とすることができる。そして、ルックアップテーブルは、開始時刻に対応するメディアファイルにおける第１バイトの記憶場所および終了時刻に対応するメディアファイルにおける第２バイトの記憶場所について、問い合わせを受けることができる。次に、第１バイトの記憶場所と第２バイトの記憶場所との間のメディアファイルの一部分が、メディアファイルから抽出されうる。この一部分は、そのファイル断片を備えうる。そのファイル断片は、クライアントに対して送信されうる。
【０００５】
前述の概略の説明および以下の詳細な説明の両方は、例を提供しており、説明のためだけにある。したがって、この前述の概略の説明および以下の詳細な説明は、限定的なものとみなされるべきではない。さらに、特徴または変化が、本明細書での説明に加えて、提供される。例えば、実施形態は、詳細な説明に記載されるさまざまな特徴のコンビネーションおよびサブコンビネーションを対象とすることができる。
【０００６】
本開示の一部に組み込まれて構成要素となる添付図面は、本発明のさまざまな実施形態を例示する。
【図面の簡単な説明】
【０００７】
【図１】動作環境のブロック図である。
【図２】メディアの断片化を提供する方法のフローチャートである。
【図３】マニフェストのファイル配置を例示する図である。
【図４】コンピュータ装置を含むシステムのブロック図である。
【発明を実施するための形態】
【０００８】
以下の詳細な説明は、添付図面を参照する。可能なかぎり、図面と以下の説明において同じ参照符号が用いられて、同一または類似の要素を参照する。本発明の実施形態が記載されるであろうが、修正、適応、および他の実装も可能である。例えば、代用、付加、または修正は、図面に例示される要素となりえる。そして、本明細書に記載される方法は、代用、並べ替え、または開示された方法への段階の付加によって、修正されうる。したがって、以下の詳細な説明は、本発明を制限するものではない。代わりに、本発明の適切な範囲は、添付の特許請求の範囲によって定義される。
【０００９】
例えば、ＨＴＴＰに基づくプログレッシブダウンロードによる、配信のためのデジタルメディアの動的断片化が提供されうる。本発明の実施形態と一致して、ファイル形式、伝送形式（例えば、有線など）、およびサーバ論理は、ディスク上の物理的に断片化されていないメディアファイルから、効率的に短時間の断片を配信するために、提供されうる。従来のシステムは、ディスク上の短時間の断片（short-duration fragment）を伴うファイルの物理的な断片化に依存している。しかし、これにより、１時間のコンテンツにつき何千ものファイルを生成し、結果として生じたライブラリを管理することを困難にしうる。短時間の断片（例えば、有線上などの）によって、データは、プロキシにより有効にキャッシュされ、スケールアウト配信のために負荷分散を利用して、使用されるアルゴリズムの柔軟性を提供することが可能となる。
【００１０】
図１は、メディアの断片化システム１００を含む動作環境のブロック図である。メディアの断片化１００は、サーバ１０５、クライアント１１０、およびメディアファイル１１５を含むことができる。メディアファイル１１５は、サーバ１０５に格納することができる。メディアファイル１１５は、ヘッダー１２０、１番目の断片１２５、２番目の断片１３０、ｎ番目の断片１３５、およびルックアップテーブル１４０を含むことができる。クライアント１１０は、メディアファイル１１５に対応するコンテンツを視聴することを望む利用者によって作動することができる。サーバ１０５は、クライアント１１０に対してメディアファイル１１５に対応するコンテンツを提供することができる。下記の図４においてより詳細に記載されるように、サーバ１０５はコンピュータ装置４００を使用することによって実装することができ、クライアント１１０は他のコンピュータ装置４１８を使用することによって実装することができる。
【００１１】
図２は、メディアの断片化を提供する本発明の実施形態と一致する方法２００を含む、一般的なステージを説明するフローチャートである。方法２００は、上述のとおり、サーバ１０５を使用することによって実装することができる。方法２００のステージを実装する手段は、下記でより詳細に記載される。
【００１２】
方法２００は、開始ブロック２０５で始まり、ステージ２１０へ進むことができる。そこでは、サーバ１０５は、クライアント１１０から、図３に関して記載されているようなマニフェスト３００の要求を受信しうる。例えば、マニフェスト３００は、メディアファイル１１５に対応するコンテンツがストリーミングされうる、異なる品質レベル３１０（例えば、合計ビットレートなど）を指定することができる。また、マニフェスト３００は、各品質レベルが対応する、トラック３１５を指定することができる。品質レベル３１０は、以下のビットレート、１５００Ｋｂｐｓ、１０００Ｋｂｐｓ、または３００Ｋｂｐｓにて断片を提供することを備えることができるが、これらに限定されるわけではない。また、トラック３１５は、音声、映像および字幕を備えることができるが、これらに限定されるわけではない。加えて、マニフェスト３００は、例えばＵＲＬ（Uniform Resource Locator）などの規則を記述することができる。クライアント１１０は、サーバー１０５に対してメディアファイル１１５に対応するファイル断片を要求するときに、この規則を使用することができる。図３は、マニフェスト３００のファイル配置を例示する。
【００１３】
方法２００は、サーバ１０５がマニフェスト３００の要求を受信するステージ２１０から、ステージ２２０へ進むことができる。そこでは、サーバ１０５は、受信した要求に応じて、クライアント１１０に対してマニフェスト３００を送信することができる。上述したように、例えばマニフェスト３００は、クライアント１１０にとって利用可能なさまざまな品質レベルを記述することができる。ゆえに、サーバ１０５は、クライアント１１０に対して、サーバ１０５上で利用可能な情報（例えば、メディアファイル１１５など）、および、クライアント１１０がどのようにその情報を取得するかを記述する、マニフェスト３００を送信することができる。
【００１４】
いったん、ステージ２２０において、サーバ１０５がクライアント１１０に対して、マニフェスト３００を送信すると、方法２００はステージ２３０へ続くことができる。そこでは、サーバ１０５は、クライアント１１０から、ファイル断片の要求を受信することができる。その要求は、マニフェストによって定義された形式とすることができる。要求を作成するときに、クライアント１１０は、マニフェスト３００によって表わされる規則を考慮することができる。例えば、クライアント１１０はＵＲＬ形式で要求を構成しうる。要求は、最上位レベルにおいて、利用者が視聴することを望むコンテンツの名前（例えば、映画名など）を有することができる。次のレベルにおいて、要求は、希望するビットレート／品質レベル（例えば、１５００Ｋｂｐｓなど）を示すことができる。そして、次のレベルにおいて、要求はトラック（例えば、映像など）を示すことができる。さらに次のレベルにおいて、要求は、要求で名前を挙げられているコンテンツに関連するファイル断片に対応する開始時刻および終了時刻を示すことができる。
【００１５】
クライアント１１０は、コンテンツの時間における次の部分に対応する次の要求を行うことができる。さらに、クライアント１１０は、クライアント１１０とサーバ１０５を接続するネットワーク（図示せず）上でクライアント１１０にとって利用可能な帯域幅を判断することができる。判断した帯域幅に基づいて、クライアント１１０は、要求でのビットレート／品質レベルを増減させることができる。例えば、クライアント１１０は、映画の０秒から２秒では１秒あたり１．５メガビットの映像を求める、要求を構成することができる。そして、クライアント１１０は、映画の２秒から４秒では１秒あたり１．５メガビットの映像を求める、次の要求を構成することができる。クライアント１１０とサーバ１０５を接続するネットワーク上に障害が存在すると判断した後、クライアント１１０は、４秒から６秒では１秒あたり５００キロバイトの映像を求める、次の要求を構成することができる。そのビットレート／品質のレベルは、判断した障害によって減少しうる。
【００１６】
ステージ２３０においてサーバ１０５がファイル断片の要求を受信した後、方法２００はステージ２４０へ続くことができる。そこでは、サーバ１０５は、開始時刻に対応するメディアファイル１１５における第１バイトの記憶場所、および、終了時刻に対応するメディアファイル１１５における第２バイトの記憶場所について、ルックアップテーブルへ問い合わせることができる。例えば、サーバ１０５は、特定の映画の０秒から２秒では１秒あたり１．５メガビットの映像を求める要求を受信しうる。ヘッダー１２０から、サーバ１０５は、この要求がメディアファイル１１５に対応すると確定することができる。そして、サーバ１０５は、ルックアップテーブル１４０をサーバ１０５のメモリにキャッシュしておくことができる。サーバ１０５は、開始時刻（例えば、０秒など）および終了時刻（例えば、２秒など）について、ルックアップテーブル１４０へ問い合わせることができる。その問い合わせに応じて、ルックアップテーブル１４０は、１番目の断片１２５のメディアファイル１１５における第１バイトの記憶場所（例えば、バイト位置３００００）、および、１番目の断片１２５のメディアファイル１１５における第２バイトの記憶場所（例えば、バイト位置６００００）を対応して返すことができる。
【００１７】
いったん、ステージ２４０において、サーバ１０５がルックアップテーブル１４０へ問い合わせると、方法２００はステージ２５０へ続くことができる。そこでは、サーバ１０５は、メディアファイル１１５から、第１バイトの記憶場所と第２バイトの記憶場所との間のメディアファイル１１５の一部分を抽出することができる。その部分は、１番目の断片１２５を備えることができる。例えば、サーバ１０５上で完全に分けられたファイルとして、１番目の断片１２５、２番目の断片１３０およびｎ番目の断片１３５に対応するデータを保つよりは、むしろ、サーバ１０５は、連続するメディアファイル１１５におけるこれらの断片の記憶場所を調べて、要求ごとにメディアファイル１１５から断片に対応するデータを抽出しうる。
【００１８】
ステージ２５０においてサーバ１０５がメディアファイル１１５の一部分を抽出した後、方法２００はステージ２６０へ続くことができる。そこでは、サーバ１０５は、クライアント１１５に対して、１番目の断片１２５に対応する抽出したデータを送信することができる。さらに、クライアント１１０からの次の要求のために、サーバ１０５は連続するメディアファイル１１５における次の要求に対応する断片の記憶場所を調べることができる。そして、次の要求ごとにメディアファイル１１５から対応断片に対応するデータを抽出することができる。いったん、ステージ２６０において、サーバ１０５がクライアント１１０に対してファイル断片を送信すると、方法２００はステージ２７０で終了することができる。
【００１９】
本発明に従う実施形態は、メディアの断片化を提供するシステムを備えうる。そのシステムは、メモリ記憶域およびメモリ記憶域と連結しているプロセスユニットを備えうる。プロセスユニットは、クライアントからのマニフェストについての要求を受信して、受信したマニフェストについての要求に応じて、クライアントに対してマニフェストを送信するように動作することができる。さらに、プロセスユニットは、クライアントからのファイル断片についての要求を受信するように動作することができる。要求は、ファイル断片に対応する開始時刻および終了時刻を示すことができる。要求は、マニフェストにより定義される形式とすることができる。さらに、プロセスユニットは、開始時刻に対応するメディアファイルにおける第１バイトの記憶場所および終了時刻に対応するメディアファイルにおける第２バイトの記憶場所について、ルックアップテーブルへ問い合わせるように動作することができる。加えて、プロセスユニットは、メディアファイルから、第１バイトの記憶場所と第２バイトの記憶場所との間のメディアファイルの一部分を抽出するように動作することができる。この一部分は、そのファイル断片を備えることができる。また、プロセスユニットは、クライアントに対してそのファイル断片を送信するように動作することができる。
【００２０】
本発明に従う別の実施形態は、メディアの断片化を提供するシステムを備えうる。そのシステムは、メモリ記憶域およびメモリ記憶域と連結しているプロセスユニットを備えうる。プロセスユニットは、ファイル断片についての要求を受信するように動作することができる。要求は、ファイル断片に対応する開始時刻および終了時刻を示すことができる。要求は、マニフェストにより定義される形式とすることができる。マニフェストは、利用可能な品質レベルに対応する利用可能なトラックを記述することができる。プロセスユニットは、さらに、ルックアップテーブルをサーバのメモリ記憶域にキャッシュするように動作することができる。さらに、プロセスユニットは、開始時刻に対応するメディアファイルにおける第１バイトの記憶場所および終了時刻に対応するメディアファイルにおける第２バイトの記憶場所について、ルックアップテーブルへ問い合わせるように動作することができる。加えて、プロセスユニットは、メディアファイルから、第１バイトの記憶場所と第２バイトの記憶場所との間のメディアファイルの一部分を抽出するように動作することができる。この一部分は、そのファイル断片を備えることができる。
【００２１】
さらに、本発明に関連する別の実施形態は、メディアの断片化を提供するシステムを備えうる。そのシステムは、メモリ記憶域およびメモリ記憶域と連結しているプロセスユニットを備えうる。プロセスユニットは、クライアントからのマニフェストについての要求を受信するように、および、受信したマニフェストについてのリクエストに応じて、クライアントに対してマニフェストを送信するように動作することができる。マニフェストは、形式、および、利用可能な品質レベルに対応した利用可能なトラックを記述することができる。さらに、プロセスユニットは、クライアントからのファイル断片についての要求を受信するように動作することができる。要求は、ファイル断片に対応する開始時刻および終了時刻を示すことができる。要求は、マニフェストにより定義される形式とすることができる。要求は、ファイル断片に対応するトラックおよび品質レベルを表わすことができる。加えて、プロセスユニットは、ルックアップテーブルをメモリ記憶域にキャッシュして、開始時刻に対応するメディアファイルにおける第１バイトの記憶場所および終了時刻に対応するメディアファイルにおける第２バイトの記憶場所について、格納したルックアップテーブルへ問い合わせるように動作することができる。さらに、プロセスユニットは、メディアファイルから、第１バイトの記憶場所と第２バイトの記憶場所との間のメディアファイルの一部分を抽出するように動作することができる。この一部分は、示されたトラックおよび品質レベルに対応するファイル断片を備えることができる。加えて、プロセスユニットはクライアントに対してファイル断片を送信するように動作することができる。
【００２２】
図４は、コンピュータ装置４００を含むシステムのブロック図である。本発明の実施形態と一致して、上述のメモリ記憶域およびプロセスユニットは、図４のコンピュータ装置４００のようなコンピュータ装置にて実装されうる。ハードウェア、ソフトウェア、またはファームウェアの任意の組み合わせは、メモリ記憶域およびプロセスユニットを実装するために使用されうる。例えば、メモリ記憶域およびプロセスユニットは、コンピュータ装置４００、または、コンピュータ装置４００と組み合わせて、いずれかの他のコンピュータ装置４１８（例えば、クライアント１１０など）で実装されうる。上述のシステム、装置、およびプロセッサは例であり、他のシステム、装置、およびプロセッサが、本発明の実施形態と一致して、上述のメモリ記憶域およびプロセスユニットを備えうる。さらに、コンピュータ装置４００は、上述したようにシステム１００の動作環境を備えうる。システム１００は他の環境で動作でき、コンピュータ装置４００に制限されるわけではない。
【００２３】
図４に関連して、本発明の実施形態と一致するシステムは、コンピュータ装置４００のようなコンピュータ装置を含みうる。基本的な構成において、コンピュータ装置４００は、少なくとも１のプロセスユニット４０２、およびシステムメモリ４０４を含みうる。コンピュータ装置の構成およびタイプによって、システムメモリ４０４は、揮発性（例えば、ＲＡＭ（Random Access Memory））、不揮発性（例えば、ＲＯＭ（Read−only Memory））、フラッシュメモリ、またはいずれかの組み合わせを備えうるが、これらに制限されるわけではない。システムメモリ４０４は、オペレーティングシステム４０５、１または２以上のプログラミングモジュール４０６、および、プログラムデータ４０７およびメディアファイル１１５を含みうる。オペレーティングシステム４０５は、例えば、コンピュータ装置４００の動作を制御することに適しうる。１つの実施形態において、プログラミングモジュール４０６は、例えば、断片化アプリケーション４２０を含みうる。さらに、本発明の実施形態は、画像ライブラリ、他のオペレーティングシステム、またはいずれかの他のアプリケーションプログラムと関連して行われうるが、特定のアプリケーションまたはシステムに限定されるものではない。この基本構成は、破線４０８内のこれらの構成要素によって、図４において例示される。
【００２４】
コンピュータ装置４００は、付加的な特徴または機能性を有することができる。例えば、コンピュータ装置４００は、付加的なデータ記憶装置（取り外し可能および／または取り外し不可能）、例えば、磁気ディスク、光学ディスク、またはテープなども含みうる。この付加的な記憶域は、図４にて、取り外し可能な記憶域４０９および取り外し不可能な記憶域４１０により例示される。コンピュータの記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の記憶域のための方法や技術によって実装される、揮発性および不揮発性、取り外し可能および取り外し不可能な媒体を含みうる。システムメモリ４０４、取り外し可能な記憶域４０９、および取り外し不可能な記憶域４１０は、すべてのコンピュータの記憶媒体の例である（例えば、メモリ記憶域など）。コンピュータの記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（Electrically Erasable Read Only Memory）、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（Digital Versatile Disks）または他の光学記憶域、磁気カセット、磁気テープ、磁気ディスク記憶域または他の磁気記憶装置、または、情報を格納するために用いられおよびコンピュータ装置４００によりアクセスされうる媒体、を含みうるが、これらに限定されるわけではない。いずれかのこのコンピュータの記憶媒体は、装置４００の部分となりうる。コンピュータ装置４００は、キーボード、マウス、ペン、音声入力装置、接触入力装置などの入力装置（群）４１２も有することができる。ディスプレイ、スピーカー、プリンターなどの出力装置（群）４１４も含まれうる。前述の装置は例であり、他のものも使用されうる。
【００２５】
コンピュータ装置４００は通信接続４１６も含むことができ、この通信接続４１６によって、装置４００は、分散コンピュータ環境で、例えばイントラネットやインターネットなどのネットワークを介して、他のコンピュータ装置４１８と通信することができる。通信接続４１６は、通信媒体の一例である。通信媒体は、一般に、搬送波または他の搬送機構などの変調されたデータ信号におけるコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータによって具体化されることが可能で、任意の情報配信媒体を含む。用語「変調されたデータ信号」は、信号における情報を符号化するような方式で設定または変更される１または２以上の特性を有する信号を記述しうる。限定するわけではなく、例として、通信媒体は、有線ネットワークまたは直接配線する接続のような有線媒体、そして、音響、無線周波数（ＲＦ）、赤外線、および他の無線媒体のような無線媒体を含みうる。本明細書で用いられる用語「コンピュータ可読媒体」は、記憶媒体と通信媒体の両方を含みうる。
【００２６】
上述のとおり、いくつかのプログラムモジュールおよびデータファイルが、オペレーティングシステム４０５を含むシステムメモリ４０４にて格納されうる。プロセスユニット４０２上で実行される間、プログラムモジュール４０６（例えば、断片化アプリケーションなど）は、例えば上述した方法２００における１または２以上のステージを含む、手順を実行することができる。上述した手順は一例であり、プロセスユニット４０２は、他の手順を実行することもできる。本発明の実施形態に関連して用いられうる他のプログラミングモジュールは、電子メールおよびコンタクトアプリケーション、ワープロアプリケーション、表計算アプリケーション、データベースアプリケーション、スライドプレゼンテーションアプリケーション、製図、またはコンピュータによるアプリケーションプログラムなど、を含みうる。
【００２７】
通常、本発明の実施形態と一致して、プログラムモジュールは、ルーティン、プログラム、コンポーネント、データ構造、そして、特定のタスクを実行または特定の抽象データ型を実装しうる、他のタイプの構造を含みうる。さらに、本発明の実施形態は、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能なコンシューマエレクトロニクス、ミニコンピュータ、メーンフレームコンピュータなど、を含む他のコンピュータシステム構成で行われうる。本発明の実施形態は、分散コンピュータ環境でも実行されうる。そこでは、タスクが、通信ネットワークを介してリンクされるリモート処理装置によって、実行される。分散コンピュータ環境において、プログラムモジュールは、ローカルおよびリモートの両方のメモリ記憶装置において、配置されうる。
【００２８】
さらに、本発明の実施形態は、個別の電子素子、論理ゲートを含むパッケージ化または統合化された電子チップ、マイクロプロセッサを利用する回路、または、電子素子またはマイクロプロセッサを含むシングルチップ上で実行されうる。本発明の実施形態は、論理的なオペレーション、例えば、ＡＮＤ、ＯＲ、および、ＮＯＴを実行することができる、他の技術を用いても実行されうる。それは、機械、光学、流体、および、量子の技術を含むが、これらに限定されるわけではない。加えて、本発明の実施形態は、汎用コンピュータ、またはいずれかの他の回路やシステム内にて行われうる。
【００２９】
本発明の実施形態は、例えば、コンピュータプロセス（方法）、コンピュータシステム、または、コンピュータプログラム製品またはコンピュータ可読媒体などの製品、として実装されうる。コンピュータプログラム製品は、コンピュータシステムによって読み取ることができ、コンピュータプロセスを実行するコンピュータの命令プログラムを符号化したコンピュータ記憶媒体とすることができる。コンピュータプログラム製品は、コンピュータシステムによって読み取ることができ、コンピュータプロセスを実行するコンピュータの命令プログラムを符号化した搬送波で搬送される信号とすることもできる。したがって、本発明は、ハードウェアおよび／またはソフトウェア（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）にて、実装されうる。言い換えると、本発明の実施形態は、命令実行システムによる使用のための媒体または命令実行システムに関する媒体で具体化される、コンピュータが使用可能なまたはコンピュータ可読のプログラムコードを有する、コンピュータが使用可能なまたはコンピュータ可読の記憶域媒体における、コンピュータプログラム製品の形をとることができる。コンピュータが使用可能または可読の媒体は、システム実行の命令、器具、装置向けまたは関連したプログラムを含み、格納し、通信し、伝播し、転送することができる、いずれかの媒体でありえる。
【００３０】
コンピュータが使用可能または可読の媒体は、限定するわけではないが、例えば、電子、磁気、光学、電磁気、赤外線、または半導体のシステム、器具、装置、または搬送媒体でありえる。さらに，具体的なコンピュータ可読の媒体の例（網羅的でないリスト）として、コンピュータ可読の媒体は、次のものを含みうる。すなわち、１または２以上の有線を有する電子的な接続、携帯用のコンピュータディスケット、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read−only Memory）、ＥＰＲＯＭ（Erasable Programmable Read−only Memory）またはフラッシュメモリ、光ファイバ、および携帯用ＣＤ−ＲＯＭ（Compact Disc Read−only Memory）を含みうる。コンピュータが使用可能または可読の媒体は、紙または、別の適切な媒体でさえありえることに留意されたい。そこでは、プログラムが例えば紙または他の媒体の光学式走査によって電子的に記録することができるように、プログラムは印刷され、次いで、コンパイルされ、解釈され、あるいは、必要ならば適切な方法で処理され、そしてコンピュータのメモリに格納されうる。
【００３１】
本発明の実施形態は、例えば、ブロック図および／または本発明の実施形態による方法、システム、およびコンピュータプログラム製品の動作の説明図を参照した。ブロックに書かれた機能／行為は、フローチャートで示されるように、異なる順序で生じうる。例えば、含まれる機能／行為によっては、連続して示される２つのブロックは、実際には、実質上同時に行われうる。または、ブロックは時々逆の順番で行われうる。
【００３２】
本発明の特定の実施形態を上記で説明したが、他の実施形態も存在しうる。さらに、本発明の実施形態をメモリおよび他の記憶媒体に格納されるデータと関連するものとして説明したが、データは、ハードディスク、フロッピー（登録商標）ディスク、またはＣＤ−ＲＯＭ、インターネットからの搬送波、または他の形式のＲＡＭまたはＲＯＭの型などの、補助的な記憶装置のような、他のタイプのコンピュータ可読の媒体に格納されまたは読み込まれうる。さらに、開示された方法のステージは、本発明から逸脱することなく、ステージの並べ替えおよび／またはステージの挿入もしくは削除を含めたいずれかの方法で修正されうる。
【００３３】
本明細書に含まれた規約の著作権を含むすべての権利は、出願人の所有権に帰属する。出願人は、本明細書に含まれた規約のすべての権利を保持および保有する。そして、他の目的なく特許付与の複製に関してのみ素材の複製を許可する。
【００３４】
本明細書は例を含むが、本発明の範囲は添付の特許請求の範囲によって示される。さらに、本明細書は、構造上の特徴および／または方法論の行為に特有の言葉で説明されているが、特許請求の範囲は、上述の特徴または行為に限定されない。むしろ、上述の具体的な特徴および行為は、本発明の実施形態の例として開示されている。
【図１】
2012507940.tif 000003
【図２】
2012507940.tif 000004
【図４】
2012507940.tif 000005
【図３】
2012507940.tif 000006
【国際調査報告】
2012507940.tif 000007
2012507940.tif 000008