(57)【要約】【課題】コンテンツの格納に必要な資源の増大を防止するとともに、クライアントがコンテンツ読み出し要求を出してからコンテンツの再生を開始するまでの待ち時間を短縮することを目的とする。【解決手段】ファイルサーバ１４が、ストレージ１６１からよりも高速なコンテンツの読み出しが可能なコンテンツキャッシュ１４３に、コンテンツの先頭から切り出したコンテンツ先頭部分を格納し、クライアント１０からコンテンツ読み出しの要求を受け付けると、まず、コンテンツキャッシュ１４３に格納されたコンテンツ先頭部分をクライアント１０に返却し、クライアント１０におけるコンテンツ再生中に、返却したコンテンツ先頭部分に続く、ストレージ１６１に格納されたコンテンツの残りの部分を読み出し、クライアント１０に返却する。【選択図】図１
2008204055.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のストレージを有する１つまたは複数のストレージサーバおよびコンテンツの読み出しを要求する１つまたは複数のクライアントと通信可能にされ、前記ストレージに格納されたコンテンツの一部を格納することが可能なコンテンツキャッシュを備えるファイルサーバによるコンテンツ管理方法であって、
前記ストレージからよりも高速なコンテンツの読み出しが可能な前記コンテンツキャッシュに、前記コンテンツの先頭から切り出したコンテンツ先頭部分を格納し、
前記クライアントからコンテンツ読み出しの要求を受け付けると、前記コンテンツキャッシュに格納されたコンテンツ先頭部分を前記クライアントに返却し、
返却した前記コンテンツ先頭部分に続く、前記ストレージに格納されたコンテンツの残りの部分を前記クライアントに返却すること
を特徴とするコンテンツ管理方法。
【請求項２】
前記ファイルサーバは、
前記コンテンツキャッシュに格納されたコンテンツ先頭部分を前記クライアントに返却した時刻と、前記クライアントにおける前記コンテンツ先頭部分の再生時間と、前記クライアントにコンテンツを返却する単位であるコンテンツブロックの１ブロック分をストレージから読み出して前記クライアントに返却するために必要となる時間とから、前記ストレージに格納されたコンテンツの読み出しを開始する時刻を決定すること
を特徴とする請求項１に記載のコンテンツ管理方法。
【請求項３】
前記ファイルサーバは、
前記コンテンツブロックの１ブロック分をストレージから読み出して前記クライアントに返却するために必要となる時間を、前記ストレージから読み出すコンテンツブロックの１ブロック分のサイズと、前記コンテンツが格納されたストレージの読み出し性能とを元に算出すること
を特徴とする請求項２に記載のコンテンツ管理方法。
【請求項４】
前記ファイルサーバは、
前記ストレージに格納されたコンテンツ読み出しを開始する時刻までに、前記クライアントから同じコンテンツに対する読み出し要求があった場合は、当該読み出し要求を１つに統合した、前記ストレージからのコンテンツの読み出しを実行し、統合対象とされた読み出し要求をした前記クライアントに対して、前記ストレージから読み出した前記コンテンツを返却すること
を特徴とする請求項２に記載のコンテンツ管理方法。
【請求項５】
前記ファイルサーバは、
前記コンテンツがストリームデータの場合は、前記クライアントにおける前記コンテンツ先頭部分の再生時間として、前記コンテンツ先頭部分のサイズと、ストリームデータの属性であるビットレートとを用いて算出されるコンテンツの再生時間を用い、
コンテンツブロックの１ブロック分のサイズとして、ストリームデータの属性であるビットレートを用いて算出されるサイズを用いること
を特徴とする請求項２に記載のコンテンツ管理方法。
【請求項６】
前記ファイルサーバは、
１つのストレージに格納された１つまたは複数のコンテンツに対して、複数の読み出しを行う場合に、これらの読み出しのうち、前記コンテンツキャッシュに格納されたコンテンツの先頭部分を前記クライアントに返却した時刻に、前記コンテンツキャッシュに格納されたコンテンツ先頭部分のサイズおよび既にストレージから読み出して前記クライアントに返却したコンテンツのサイズと、コンテンツであるストリームデータの属性であるビットレートとを用いて算出した再生時間を加えた時刻である再生完了時刻が、最も早い読み出しを優先的に実行すること
を特徴とする請求項５に記載のコンテンツ管理方法。
【請求項７】
前記ファイルサーバは、
コンテンツを登録するストレージを選択する際に、ストレージからの読み出し性能の監視により得られるストレージの読み出し性能が、登録するコンテンツのビットレートを元に定めた限界値より高いストレージを、前記コンテンツを登録するストレージとして選択する
ことを特徴とする請求項５に記載のコンテンツ管理方法。
【請求項８】
前記ファイルサーバは、
コンテンツを登録するストレージを選択する際に、前記ストレージに格納されたコンテンツのビットレートの最大値が、登録するコンテンツのビットレートより高いストレージを、前記コンテンツを登録するストレージとして選択する
ことを特徴とする請求項５に記載のコンテンツ管理方法。
【請求項９】
前記ファイルサーバは、
コンテンツを登録するストレージを選択する際に、前記ストレージに格納されたコンテンツのビットレートの平均値が、登録するコンテンツのビットレートと最も近いストレージを、前記コンテンツを登録するストレージとして選択する
ことを特徴とする請求項５に記載のコンテンツ管理方法。
【請求項１０】
前記ファイルサーバは、
コンテンツを登録するストレージを選択する際に、前記ストレージに格納されたすべてのコンテンツのビットレートが、登録するコンテンツのビットレートと同じストレージを、前記コンテンツを登録するストレージとして選択する
ことを特徴とする請求項５に記載のコンテンツ管理方法。
【請求項１１】
前記ファイルサーバは、
前記コンテンツキャッシュに格納する、前記コンテンツの先頭から切り出すコンテンツ先頭部分のサイズは、前記コンテンツが格納されたストレージから前記クライアントにコンテンツを返却する単位であるコンテンツブロックの１ブロック分を読み出すために必要となる時間と、前記コンテンツのビットレートとを元に決定する
ことを特徴とする請求項５に記載のコンテンツ管理方法。
【請求項１２】
前記ファイルサーバは、
ストレージからの読み出し性能の監視により得られる、ストレージの読み出し性能が、そのストレージに格納されたコンテンツのビットレートから求めた読み出し性能の閾値以下の場合は、前記ストレージの読み出し性能が前記読み出し性能の閾値を上回るまで、前記ストレージに格納されたコンテンツの、前記コンテンツキャッシュに格納されたコンテンツ先頭部分のサイズを増加する
ことを特徴とする請求項５に記載のコンテンツ管理方法。
【請求項１３】
前記ファイルサーバは、
前記コンテンツキャッシュに格納されたコンテンツ先頭部分のサイズを増加する対象となるコンテンツは、コンテンツに対するストレージアクセス頻度が高い順である
ことを特徴とする請求項１２に記載のコンテンツ管理方法。
【請求項１４】
前記ファイルサーバは、
前記コンテンツキャッシュに格納されたコンテンツ先頭部分のサイズを増加する際に、前記コンテンツキャッシュの空き領域が不足している場合は、前記ストレージの読み出し性能が、読み出し性能の閾値を上回る他のストレージを選択し、選択したストレージに格納されたコンテンツの、前記コンテンツキャッシュに格納されたコンテンツ先頭部分のサイズを縮小することにより、コンテンツキャッシュの空き領域を増加する
ことを特徴とする請求項１２に記載のコンテンツ管理方法。
【請求項１５】
前記ファイルサーバは、
前記コンテンツキャッシュに格納されたコンテンツ先頭部分のサイズを縮小する対象となるコンテンツを、コンテンツに対するアクセス頻度が低い順に選択する
ことを特徴とする請求項１４に記載のコンテンツ管理方法。
【請求項１６】
１つ以上のストレージを有する１つまたは複数のストレージサーバおよびコンテンツの読み出しを要求する１つまたは複数のクライアントと通信可能にされ、前記ストレージに格納されたコンテンツの一部を格納することが可能なコンテンツキャッシュを備えるともに、情報を処理する処理部を備えるファイルサーバであって、
前記処理部は、
前記ストレージからよりも高速なコンテンツの読み出しが可能な前記コンテンツキャッシュに、前記コンテンツの先頭から切り出したコンテンツ先頭部分を格納し、
前記クライアントからコンテンツ読み出しの要求を受け付けると、前記コンテンツキャッシュに格納されたコンテンツ先頭部分を前記クライアントに返却し、
返却した前記コンテンツ先頭部分に続く、前記ストレージに格納されたコンテンツの残りの部分を前記クライアントに返却すること
を特徴とするファイルサーバ。
【請求項１７】
前記処理部は、
前記コンテンツキャッシュに格納されたコンテンツ先頭部分を前記クライアントに返却した時刻と、前記クライアントにおける前記コンテンツ先頭部分の再生時間と、前記クライアントにコンテンツを返却する単位であるコンテンツブロックの１ブロック分をストレージから読み出して前記クライアントに返却するために必要となる時間とから、前記ストレージに格納されたコンテンツの読み出しを開始する時刻を決定すること
を特徴とする請求項１６に記載のファイルサーバ。
【請求項１８】
１つ以上のストレージを有する１つまたは複数のストレージサーバおよびコンテンツの読み出しを要求する１つまたは複数のクライアントと通信可能にされ、前記ストレージに格納されたコンテンツの一部を格納することが可能なコンテンツキャッシュを備えるコンピュータにコンテンツの読み出し制御の処理を実行させる読み出し制御プログラムであって、
読み出し制御プログラムは、前記コンピュータに、
前記ストレージからよりも高速なコンテンツの読み出しが可能な前記コンテンツキャッシュに、前記コンテンツの先頭から切り出したコンテンツ先頭部分を格納し、
前記クライアントからコンテンツ読み出しの要求を受け付けると、前記コンテンツキャッシュに格納されたコンテンツ先頭部分を前記クライアントに返却し、
返却した前記コンテンツ先頭部分に続く、前記ストレージに格納されたコンテンツの残りの部分を前記クライアントに返却する処理を実行させること
を特徴とする読み出し制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）などのファイルサーバ上のコンテンツキャッシュ管理方法およびファイルサーバからのデータ読み出し処理の制御方法に関するものである。
【背景技術】
【０００２】
この数年、ブロードバンド環境の拡大に伴い、高品質な映像ストリームなどの大容量ストリームコンテンツを提供するメディアサービスが増加している。これらのコンテンツは、ＮＡＳなどのファイルサーバに格納され、Ｗｅｂサーバなどのメディアサーバを経由して利用者に提供される。従来は、ネットワーク上の通信性能がこれらのメディアサービスにおける性能ネックとなっていたが、ネットワークの広帯域化に伴い、ファイルサーバがコンテンツ格納に使用するストレージにおけるディスクからのデータ読み出し処理が性能ネックとなってきている。また、ユーザが自由にコンテンツを登録できる、コンテンツ共有サービスも増えている。これらのサービスでは、いつ、どのようなコンテンツが登録され、それらに対するアクセス頻度がどうなるかを事前に予測することは困難である。
【０００３】
メディアサーバでは、コンテンツの配信先との間のネットワーク帯域および各メディアサーバの負荷がコンテンツ配信性能を決める重要なファクターとなる。このため、複数のコンテンツが存在する場合に、どのメディアサーバにアクセスするかの選択をネットワークの帯域と各メディアサーバのアクセス状況を元に制御する。このようなクライアントからのアクセス先のメディアサーバを特定する方法としては、特許文献１に示すような従来技術が用いられる。
【０００４】
さらに、各メディアサーバにおいて、アクセス頻度が高いコンテンツを複数のキャッシュサーバに保持することでアクセス性能を確保する技術があり、これにより、アクセス頻度が高いコンテンツのみをキャッシュサーバに格納することができる。この方法としては、特許文献２に示すような従来技術が用いられる。
【０００５】
特許文献３に示す従来技術には、一定期間に受け付けたコンテンツ読み出し要求を１つの読み出し要求に纏める方法が示されている。これにより、ストレージに対する読み出し負荷を低減することが可能となる。
【０００６】
特許文献４に示す従来技術には、ストリームなどのコンテンツの先頭部分だけをメールで配信し、その再生中に、続きのデータの配信を要求する方法が示されている。これにより、コンテンツの再生までにかかる時間を短縮することが可能となる。
【特許文献１】特開２００３−２５６３０３号公報
【特許文献２】特開２００３−２４２０２０号公報
【特許文献３】特開平８−１８９４５号公報
【特許文献４】特開２００４−１２０３７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、前記した特許文献２に示された従来技術では、アクセス頻度が高いコンテンツをキャッシュサーバに格納することにより、クライアントがコンテンツ読み出し要求を出してからクライアントにおいてストリームコンテンツの再生を開始するまでの待ち時間を短縮することは可能であるが、コンテンツの格納に必要な資源が多くなるという問題がある。
【０００８】
また、前記した特許文献４に示された従来技術では、クライアントにおけるコンテンツ再生までの時間を短縮することはできるが、配信側がメールによってコンテンツの先頭部分をクライアントに配信し、配信されたコンテンツの先頭部分をクライアントが再生するか否かを決定するため、配信されるコンテンツが配信側で決められてしまい、利用者からの要求に応じてコンテンツを配信することはできないという問題がある。
【０００９】
そこで、本発明は、以上のような問題点に鑑みてなされたものであり、コンテンツの格納に必要な資源の増大を防止するとともに、クライアントがコンテンツ読み出し要求を出してからクライアントにおいてコンテンツの再生を開始するまでの待ち時間を短縮することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、前記課題を解決するために創案されたものであり、１つ以上のストレージを有する１つまたは複数のストレージサーバおよびコンテンツの読み出しを要求する１つまたは複数のクライアントと通信可能にされたファイルサーバである。ファイルサーバは、ストレージに格納されたコンテンツの一部を格納することが可能なコンテンツキャッシュを備え、ファイルサーバが、ストレージからよりも高速なコンテンツの読み出しが可能なコンテンツキャッシュに、コンテンツの先頭から切り出したコンテンツ先頭部分を格納し、クライアントからコンテンツ読み出しの要求を受け付けると、コンテンツキャッシュに格納されたコンテンツ先頭部分をクライアントに返却し、返却したコンテンツ先頭部分に続く、ストレージに格納されたコンテンツの残りの部分をクライアントに返却する。
【発明の効果】
【００１１】
本発明によれば、コンテンツの格納に必要な資源の増大を防止するとともに、クライアントがコンテンツ読み出し要求を出してからクライアントにおいてコンテンツの再生を開始するまでの待ち時間を短縮することが可能である。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を実施するための最良の形態（以下、「実施形態」という）を図面に基づいて詳細に説明する。
【００１３】
図１は、本発明における一実施形態のシステム構成を示す図である。
本システム構成では、クライアント１０と、メディアサーバ１１と、ネットワーク監視サーバ１２とが、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１３により接続されている。クライアント１０およびメディアサーバ１１は、ＷＡＮ１３上に、それぞれ１つまたは複数存在しており、ネットワーク監視サーバ１２が、各クライアント１０から各メディアサーバ１１への接続経路の距離やＷＡＮ１３の負荷、メディアサーバ１１へのアクセス状況などの情報を元に、各クライアント１０が接続するメディアサーバ１１を決定する。
【００１４】
各メディアサーバ１１は、ファイルサーバ１４と、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１５により接続されており、ファイルサーバ１４は、１つまたは複数のストレージサーバ１６と、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１７により接続される。各メディアサーバ１１が配信するコンテンツは、ファイルサーバ１４を経由して、ストレージサーバ１６内のストレージ１６１に格納される。
【００１５】
メディアサーバ１１は、ＣＰＵ（Central Processing Unit）（中央処理装置）１１０と、メモリ１１１と、ハードディスク１１２と、ＷＡＮアダプタ１１３と、ＬＡＮアダプタ１１４とがシステムバス１１５によって接続されたコンピュータであり、メモリ１１１上には、コンテンツ配信プログラム２１０、コンテンツ受付プログラム２１１、コンテンツ管理プログラム２１２、コンテンツ読み出しプログラム２１３、コンテンツ更新プログラム２１４、コンテンツ管理テーブル２１５が格納される。ハードディスク１１２には、登録コンテンツが格納されるコンテンツ格納領域２１６がある。
【００１６】
ファイルサーバ１４は、処理部としてのＣＰＵ１４０と、記憶部としてのメモリ１４１と、ハードディスク１４２と、コンテンツキャッシュ１４３と、第1の通信部としてのＬＡＮアダプタ１４４と、第２の通信部としてのＳＡＮアダプタ１４５とが、システムバス１４６によって接続されたコンピュータであり、メモリ１４１上には、ファイルシステム管理プログラム２４０、読み出し要求管理プログラム２４１、アクセス頻度管理プログラム２４２、読み出し制御プログラム２４３、更新要求管理プログラム２４４、更新制御プログラム２４５、キャッシュ制御プログラム２４６、ストレージ性能管理プログラム２４７、コンテンツ格納先管理テーブル２４８が格納される。ハードディスク１４２上には、ファイルシステム管理プログラム２４０が使用するファイルシステム管理情報格納領域２４９がある。
【００１７】
ストレージサーバ１６は、１つまたは複数のストレージ１６１と、コントローラ１６０と、ＳＡＮアダプタ１６２とが、システムバス１６３により接続されており、ＳＡＮアダプタ１６２を経由した、ストレージサーバ１６内のストレージ１６１に対するコンテンツの書き込み、および、コンテンツの読み出しがコントローラ１６０により制御される。
【００１８】
クライアント１０は、ＣＰＵ１００と、メモリ１０１と、ハードディスク１０２と、キーボードやマウスなどの入力装置１０３と、液晶ディスプレイなどの表示装置１０４と、ＷＡＮアダプタ１０５が、システムバス１０６によって接続されたコンピュータであり、メモリ１０１上には、コンテンツ再生プログラム２００、コンテンツ登録プログラム２０１が格納される。ハードディスク１０２上には、表示装置１０４への表示もしくはメディアサーバ１１に登録するコンテンツを格納するコンテンツ格納領域２０２がある。なお、本実施形態では、クライアント１０とファイルサーバ１４とがメディアサーバ１１を経由して通信を行うこととするが、メディアサーバ１１を経由せずに通信を行うこととしてもよい。この場合は、コンテンツ再生プログラム２００およびコンテンツ登録プログラム２０１は、それぞれ、読み出し要求管理プログラム２４１、更新要求管理プログラム２４４に接続する。
【００１９】
ネットワーク監視サーバ１２は、ＣＰＵ１２０と、メモリ１２１と、ハードディスク１２２と、ＷＡＮアダプタ１２３とがシステムバス１２４によって接続されたコンピュータであり、メモリ１２１上には、ネットワーク監視プログラム２２０、アクセス先制御プログラム２２１が格納される。ハードディスク１２２上には、ＷＡＮ１３経由で収集したネットワーク性能の情報を格納する監視データ格納領域２２２、メディアサーバ１１の接続先情報が格納されるメディアサーバ管理データ格納領域２２３がある。
【００２０】
前記のシステム構成において、各クライアントおよびサーバのメモリ上に格納されるプログラムやテーブルは、ハードディスク上に格納されており、プログラムの起動時にメモリ上に読み込まれるが、本図においては、ハードディスク上に格納されているこれらのプログラムおよびテーブルの記載は省略している。
【００２１】
なお、本実施形態においては、ネットワーク監視サーバ１２は、特許文献３などによって示される従来技術を利用することによって実現する。以降の説明では、クライアント１０が接続するメディアサーバ１１は、ネットワーク監視サーバ１２によって、既に決定されているものとして、ネットワーク監視サーバ１２については、説明を省略する。
【００２２】
また、以下の説明において、各種プログラムが処理の主体として記述される場合には、ハードウェア的には、クライアントやサーバに搭載されたＣＰＵが、メモリに格納されている各種プログラムを実行することによって処理を行っている。また、これらの処理は、専用のハードウェアによって実行されることとしてもよい。
【００２３】
図２は、メディアサーバ１１と接続したクライアント１０において、コンテンツ再生プログラム２００およびコンテンツ登録プログラム２０１を実行する際に、メディアサーバ１１およびファイルサーバ１４上で動作する各プログラムのモジュール関連図である。
【００２４】
メディアサーバ１１は、コンテンツ管理プログラム２１２により、コンテンツの配信、登録、削除などの処理を制御する。ファイルサーバ１４は、ファイルサーバとしての機能をファイルシステム管理プログラム２４０で実現する。本実施形態では、ファイルシステム管理プログラム２４０は、ファイルサーバ１４上で動作する汎用ＯＳ（Operating System）により提供されるファイルシステム管理機能により実現することとし、詳細な説明を省略する。本実施形態では、ファイルシステム管理機能としては、ファイルサーバ１４で管理しているファイルの有無チェックおよびファイル登録、削除時にファイルシステム管理情報を更新する機能について説明する。
【００２５】
まず、クライアント１０のコンテンツ再生プログラム２００から、メディアサーバ１１のコンテンツ配信プログラム２１０に対して、コンテンツ配信を要求する場合の各プログラムの処理手順を説明する。
【００２６】
コンテンツ配信プログラム２１０は、コンテンツ管理プログラム２１２に対して、クライアント１０から指示されたコンテンツの読み出しを要求する。コンテンツ管理プログラム２１２は、コンテンツ管理テーブル２１５を確認し、ファイルサーバ１４内におけるコンテンツ識別子であるコンテンツ名を取得し、コンテンツ読み出しプログラム２１３に対して、ファイルサーバ１４からのコンテンツ読み出しを要求する。コンテンツ管理テーブル２１５のデータ構造は、図９に示す。コンテンツ読み出しプログラム２１３は、ファイルサーバ１４の読み出し要求管理プログラム２４１に接続し、コンテンツ名を指定してコンテンツ読み出しを要求する。読み出し要求管理プログラム２４１は、ファイルシステム管理プログラム２４０により、指定されたコンテンツ名のコンテンツが存在するか否かをチェックする。ファイルシステム管理プログラム２４０は、コンテンツが存在しない場合は、読み出し要求管理プログラム２４１にエラーを返却し、存在する場合は、アクセス頻度管理プログラム２４２を呼び出して、コンテンツ格納先管理テーブル２４８に格納されている、そのコンテンツに対するアクセス頻度１６０４（図１６参照）を更新する。コンテンツ格納先管理テーブル２４８のデータ構造は、図１６に示す。
【００２７】
次に、読み出し要求管理プログラム２４１が読み出し制御プログラム２４３を呼び出すと、読み出し制御プログラム２４３は、ファイルサーバ１４のコンテンツキャッシュ１４３に管理されているコンテンツの先頭部分（コンテンツ先頭部分）２６１を読み出すとともに、ストレージ１６１Ａに格納されているコンテンツ２６０Ａを読み出し、読み出したコンテンツ（先頭部分２６１およびコンテンツ２６０Ａ）を、読み出し要求管理プログラム２４１を介してメディアサーバ１１に返却する。ここで、同じコンテンツ２６０Ａに対する複数の読み出し要求があり、これらの読み出し要求が、ストレージ１６１Ａからのコンテンツ２６０Ａの読み出しを統合することができるタイミングで発生している場合は、これらの読み出し要求を統合して、１回のストレージ１６１Ａからのコンテンツ読み出しにより、複数の読み出し要求に対してストレージ１６１Ａから読み出したコンテンツ２６０Ａを返却する。
【００２８】
さらに、読み出し制御プログラム２４３により、ストレージ１６１Ａからのコンテンツ２６０Ａのストレージ読み出し性能を算出し、ストレージ性能管理プログラム２４７に通知する。ストレージ性能管理プログラム２４７では、読み出し制御プログラム２４３から通知された、ストレージ１６１Ａのストレージ読み出し性能を、ストレージ１６１Ａにおいて定められた、ストレージ読み出し性能限界値と比較し、ストレージ読み出し性能がストレージ読み出し性能限界値以下の場合は、キャッシュ制御プログラム２４６に対して、ストレージ１６１Ａに格納されたコンテンツ２６０Ａに対して割り当てるコンテンツキャッシュ１４３のキャッシュ領域のサイズの変更を指示する。ストレージ読み出し性能限界値については、図２２に示す。
【００２９】
キャッシュ制御プログラム２４６では、ストレージ１６１Ａに格納された、すべてのコンテンツ２６０Ａに対するアクセス頻度の情報を元に、各コンテンツ２６０Ａに対して割り当てるコンテンツキャッシュ１４３のキャッシュ領域のサイズを変更することで、ストレージ１６１Ａのストレージ読み出し性能が、ストレージ読み出し性能限界値を上回るようにする。
【００３０】
次に、クライアント１０のコンテンツ登録プログラム２０１から、メディアサーバ１１のコンテンツ受付プログラム２１１に対して、コンテンツの登録（新規登録もしくは更新登録）もしくは削除を要求する場合の処理手順を示す。
【００３１】
クライアント１０のコンテンツ登録プログラム２０１から、コンテンツ受付プログラム２１１に対して、コンテンツの登録もしくは削除の要求があると、コンテンツ受付プログラム２１１は、コンテンツ管理プログラム２１２に対して、クライアント１０から指示されたコンテンツの登録もしくは削除を要求する。コンテンツ管理プログラム２１２では、コンテンツの削除もしくは更新登録の場合には、コンテンツ管理テーブル２１５から、指定されたコンテンツのファイルサーバ１４における識別子であるコンテンツ名を取得する。コンテンツの登録の場合には、登録対象のコンテンツを引数として、コンテンツ更新プログラム２１４に対して、ファイルサーバ１４へのコンテンツ登録を要求する。コンテンツの削除の場合には、コンテンツ名を引数として、コンテンツ更新プログラム２１４に対して、ファイルサーバ１４からのコンテンツ削除を要求する。
【００３２】
続いて、コンテンツ更新プログラム２１４は、ファイルサーバ１４の更新要求管理プログラム２４４に対して、ファイルサーバ１４へのコンテンツ登録もしくは削除を要求する。更新要求管理プログラム２４４は、コンテンツの登録もしくは削除の場合は、ファイルシステム管理プログラム２４０に対して、コンテンツの登録もしくは削除を要求した後に、更新制御プログラム２４５に対して、コンテンツ登録もしくは削除を要求する。コンテンツ登録もしくは削除の結果は、ファイルシステム管理プログラム２４０およびアクセス頻度管理プログラム２４２に通知され、更新要求管理プログラム２４４は、結果をメディアサーバ１１に返却する。
【００３３】
更新制御プログラム２４５は、削除の場合は、ストレージ１６１Ｂからコンテンツ２６０Ｂを削除する。登録の場合は、ストレージ性能管理プログラム２４７から取得できる各ストレージの読み出し性能および空き容量の情報から、コンテンツを登録するストレージ１６１Ｂを決定し、そのストレージ１６１Ｂに対する書き込み処理を行なう。さらに、キャッシュ制御プログラム２４６に対して、登録したコンテンツのコンテンツキャッシュ１４３への登録を要求する。キャッシュ制御プログラム２４６では、要求されたコンテンツに割り当てるキャッシュサイズをコンテンツの属性であるビットレートおよび格納先のストレージ読み出し性能から算出し、算出したサイズでコンテンツから切り出したコンテンツの先頭部分をコンテンツキャッシュ１４３に格納し、コンテンツ格納先管理テーブル２４８のキャッシュサイズ１６０５（図１６参照）およびキャッシュ格納先１６０６（図１６参照）の情報を更新する。コンテンツ格納先管理テーブル２４８については、図１６に示す。
【００３４】
図３は、本システムにおけるコンテンツ読み出しおよび配信処理のシーケンス図である。
【００３５】
図２のモジュール関連図を用いて説明したように、所定の期間に発生した、複数のクライアント１０からの同じコンテンツに対する配信要求（読み出し要求）は、１つのストレージ読み出しに統合することができる。ここでは、クライアント１０（図１参照）として、例えば、クライアント１０Ａ，１０Ｂが、所定の期間に同じコンテンツに対して配信要求を行った場合について説明する。シーケンス３００Ａは、クライアント１０Ａから、シーケンス３００Ｂは、クライアント１０Ｂからのコンテンツ配信要求のシーケンスである。配信要求３０１Ａ，３０１Ｂを受けたメディアサーバ１１は、ファイルサーバ１４に対して、コンテンツの読み出し要求３０２Ａ，３０２Ｂを実行する。クライアント１０Ａからの配信要求に対してファイルサーバ１４が実行する処理は、要求Ａに示されており、クライアント１０Ｂからの配信要求に対してファイルサーバ１４が実行する処理は、要求Ｂに示されている。ファイルサーバ１４は、コンテンツキャッシュ１４３（図２参照）に格納されたコンテンツの先頭部分２６１（図２参照）を読み出すキャッシュ読み出し３０３Ａ，３０３Ｂを実行して、読み出したコンテンツの先頭部分２６１（図２参照）をメディアサーバ１１に送信する。
【００３６】
メディアサーバ１１は、読み出したコンテンツのクライアント１０Ａ，１０Ｂへの配信３０７Ａ，３０７Ｂを実行する。ここで、ファイルサーバ１４がキャッシュ読み出し３０３Ａ（３０３Ｂ）によって読み出したコンテンツについて、メディアサーバ１１が２回に分けて配信３０７Ａ（３０７Ｂ）を行っているのは、コンテンツキャッシュ１４３（図２参照）に格納されたコンテンツの先頭部分２６１（図２参照）に、コンテンツブロック４００（図４参照）が２つ分含まれているためである。したがって、メディアサーバ１１がコンテンツについて、何回に分けてクライアント１０Ａ，１０Ｂに配信３０７Ａ（３０７Ｂ）を行うかについては、コンテンツキャッシュ１４３（図２参照）に格納されたコンテンツの先頭部分２６１（図２参照）のサイズによって決まる。クライアント１０Ａ，１０Ｂでは、配信されたコンテンツにより、キャッシュ内コンテンツ再生３０８Ａ，３０８Ｂを開始する。ファイルサーバ１４では、コンテンツ読み出し要求３０２Ａに対する読み出しを、読み出し停止３０４とする。読み出し停止３０４の間にファイルサーバ１４が受け付けたコンテンツの読み出し要求Ｂが、コンテンツの読み出し要求３０２Ａに対する読み出しの対象となるコンテンツと同じコンテンツを読み出す要求である場合には、ファイルサーバ１４は、コンテンツの読み出し要求３０２Ｂを、コンテンツの読み出し要求３０２Ａに統合する読み出し統合３０５を行う。読み出し停止３０４が終了すると、ファイルサーバ１４は、ストレージ読み出し３０６を開始し、メディアサーバ１１は、ファイルサーバ１４が読み出したコンテンツについて、コンテンツの読み出し要求３０２Ａの要求元であるクライアント１０Ａに対する配信３０７を実行するとともに、コンテンツの読み出し要求３０２Ａへの読み出し統合３０５の対象となったコンテンツの読み出し要求３０２Ｂの要求元であるクライアント１０Ｂに対する配信３０７を実行する。クライアント１０Ａ，１０Ｂでは、配信されたコンテンツにより、それぞれコンテンツ再生３０９Ａ，３０９Ｂを実行する。以上の手順により、１つに統合されたストレージ読み出しにより、得られたコンテンツを、複数のクライアント１０（図１参照）に配信することができる。また、これにより、アクセス集中によるストレージからのコンテンツ読み出しの性能劣化を防止することが可能となる。
【００３７】
図４は、ストリームデータの構造およびコンテンツブロックの説明図である。図４を参照して（適宜図１参照）、コンテンツの一例としてのストリームデータ（映像ストリームや音声ストリームなど）の構造について説明する。
【００３８】
本システムにおける配信対象コンテンツは、例えば、ＭＰＥＧ（Moving Picture Experts Group）などの方式に基づくストリームデータである。ストリームデータは、パケット４０３を最小単位としており、パケット４０３内にヘッダ４０４とエレメンタリストリーム４０５が格納されている。これらのパケット４０３を纏めて、ヘッダ４０２をつけたものが、パック４０１であり、パック４０１の１つ分を最小単位として配信される。このパック４０１をファイルサーバ１４で管理するために、１つまたは複数集めた管理データを、以下では、コンテンツブロック４００と呼ぶ。メディアサーバ１１、ファイルサーバ１４、ストレージサーバ１６では、コンテンツをコンテンツブロック４００単位に読み出しおよび配信可能なように管理する。配信されたコンテンツブロック４００は、これらを受信したクライアント１０のコンテンツ再生プログラム２００によりデコードされ、表示装置１０４上で再生される。
【００３９】
以下、クライアント１０からコンテンツの表示、および、コンテンツの登録、更新もしくは削除を行なう際のクライアント１０、メディアサーバ１１およびファイルサーバ１４における、各プログラムの処理手順の詳細について説明する。コンテンツの表示を行なう場合については図５から図２８を、コンテンツの登録もしくは削除を行なう場合については図２９から図３６を用いて（適宜他の図も参照）、説明する。
【００４０】
図５は、クライアント１０におけるコンテンツ再生プログラム２００の実行手順を示すフローチャートである。
【００４１】
まず、Ｓ５０１において、メディアサーバ１１が提供するプロトコルに従い、メディアサーバ１１に接続する。Ｓ５０２において、接続したメディアサーバ１１に対して、ＷＡＮ１３上で一意性のある公開コンテンツ名を指定して、コンテンツの配信を要求する。Ｓ５０３において、メディアサーバ１１からのコンテンツブロックの配信を待ち、配信されたコンテンツブロックを受信する。Ｓ５０４において、受信したコンテンツブロックをクライアント１０上の表示装置１０４に出力して再生する。Ｓ５０５において、すべてのコンテンツブロックを受信したか否かを判定する。まだ受信するコンテンツブロックがある場合は、Ｓ５０３とＳ５０４を繰り返し実行する。すべてのコンテンツブロックの受信が終わると、Ｓ５０６において、メディアサーバ１１との接続を解除（切断）する。
【００４２】
図６は、メディアサーバ１１におけるコンテンツ配信プログラム２１０のフローチャートである。
【００４３】
Ｓ６０１において、クライアント１０からのコンテンツ配信要求を待ち、要求を受け付けると、受け付けた配信要求のエントリを、コンテンツ配信先管理テーブル７００に登録する。コンテンツ配信先管理テーブル７００のデータ構造については、図７を用いて後記する。Ｓ６０２において、指定されたコンテンツの読み出しをコンテンツ管理プログラム２１２に要求する。Ｓ６０３において、コンテンツ管理プログラム２１２の実行結果を確認する。コンテンツの読み出し時にエラーが返却された場合は、Ｓ６０４において、クライアント１０に対して、エラー情報を通知する。クライアント１０に、エラー情報を通知した後は、Ｓ６０８において、クライアント１０との接続を解除する。
【００４４】
Ｓ６０３で読み出しエラーが返却されなかった場合は、Ｓ６０５において、コンテンツ管理プログラム２１２からのコンテンツブロック返却を待ち、返却されたコンテンツブロックを読み出す。さらに、Ｓ６０６において、読み出したコンテンツブロックをクライアント１０に配信する。Ｓ６０７において、クライアント１０から配信要求されたコンテンツの、すべてのコンテンツブロックを配信し終わったかを確認する。配信が終わっていない場合は、Ｓ６０５とＳ６０６を繰り返し実行し、要求されたコンテンツのすべてのコンテンツブロックがクライアント１０に配信されると、Ｓ６０８において、コンテンツ配信先管理テーブル７００に登録したエントリを削除し、クライアント１０との接続を解除する。
【００４５】
図７は、メディアサーバ１１のコンテンツ配信プログラム２１０が使用するコンテンツ配信先管理テーブル７００のデータ構造を示す図である。コンテンツ配信先管理テーブル７００には、公開コンテンツ名７０１と配信先７０２の情報が登録される。配信先７０２には、コンテンツ配信プログラム２１０が、クライアント１０に接続するための情報が格納される。クライアント１０に接続するための情報とは、クライアント１０を特定可能な情報であり、例えば、クライアント１０の名称や、ＩＰ（Internet Protocol）アドレス、ＵＲＬ（Uniform Resource Locator）などである。
【００４６】
図８は、メディアサーバ１１のコンテンツ管理プログラム２１２におけるコンテンツ読み出し要求処理のフローチャートである。
【００４７】
コンテンツ配信プログラム２１０からコンテンツ読み出し要求があると、コンテンツ管理プログラム２１２は、コンテンツ読み出し要求処理を実行する。コンテンツ読み出し要求処理では、Ｓ８０１において、公開コンテンツ名によって読み出しを要求されたコンテンツのファイルサーバ１４上での識別子であるコンテンツ名９０４をコンテンツ管理テーブル２１５から取得する。コンテンツ管理テーブル２１５については、図９に示す。
【００４８】
Ｓ８０２において、要求されたコンテンツが、コンテンツ管理テーブル２１５上に存在しないと判定された場合は、Ｓ８０３において、エラー処理を実行し、要求されたコンテンツが存在しない旨のエラーをコンテンツ配信プログラム２１０に返却し、本処理を終了する。Ｓ８０２において、コンテンツ管理テーブル２１５上に要求されたコンテンツが存在すると判定された場合は、Ｓ８０４において、コンテンツ読み出しプログラム２１３に対して、コンテンツ名を指定して、ファイルサーバ１４からのコンテンツ読み出しを要求する。
【００４９】
Ｓ８０５において、コンテンツ読み出しプログラム２１３から、読み出しエラーが返却されたと判定した場合は、Ｓ８０３において、エラー処理を実行し、要求されたコンテンツの読み出しができない旨のエラーをコンテンツ配信プログラム２１０に返却し、本処理を終了する。Ｓ８０５において、コンテンツ読み出しプログラム２１３でコンテンツ読み出しに成功したと判定した場合は、Ｓ８０６において、コンテンツ読み出しプログラム２１３から返却されるコンテンツブロックを順次読み出し、Ｓ８０７において、コンテンツ配信プログラム２１０に対して、読み出したコンテンツブロックを返却する。Ｓ８０８において、読み出し対象のコンテンツのコンテンツブロックが残っているか否かを判定し、残っている場合は、Ｓ８０６とＳ８０７を繰り返す。すべてのコンテンツブロックの読み出しが完了すると、本処理を終了する。
【００５０】
図９は、メディアサーバ１１におけるコンテンツ管理テーブル２１５のデータ構造を示す図である。
【００５１】
コンテンツ管理テーブル２１５には、クライアント１０からメディアサーバ１１に対して、コンテンツを特定するための識別子である公開コンテンツ名９０１と、コンテンツのファイルタイプ９０２（例えば、図４に示したストリームデータの構造を特定する情報）と、コンテンツのストリームデータとしてのビットレート９０３と、ファイルサーバ１４に格納したコンテンツを特定するための識別子であるコンテンツ名９０４が格納される。
【００５２】
本テーブルのエントリは、メディアサーバ１１へのコンテンツ登録要求時に作成され、コンテンツ削除要求時に削除される。公開コンテンツ名９０１は、コンテンツ登録時にメディアサーバ１１内で一意になるように付与される。ファイルタイプ９０２およびビットレート９０３には、登録されたコンテンツの属性情報から取得した値が格納される。属性情報とは、例えば、登録されたコンテンツのヘッダ４０２に設定されている値であるが、ファイルタイプ９０２は、必須のものではない。コンテンツ名９０４には、ファイルサーバ１４へのコンテンツ登録時にファイルサーバ１４で一意になる識別子として付与された情報（例えば、文字列）が格納される。
【００５３】
図１０は、メディアサーバ１１におけるコンテンツ読み出しプログラム２１３のフローチャートである。
【００５４】
Ｓ１００１において、コンテンツ管理プログラム２１２からのコンテンツ読み出し要求時に引数として渡されたコンテンツ名を指定して、ファイルサーバ１４の読み出し要求管理プログラム２４１に対して、コンテンツの読み出しを要求する。Ｓ１００２において、ファイルサーバ１４でコンテンツ読み出しがエラーとなったと判定された場合は、Ｓ１００３において、エラー処理を実行する。Ｓ１００３のエラー処理では、読み出しエラーをコンテンツ管理プログラム２１２に返却する。
【００５５】
Ｓ１００２で読み出しに成功したと判定された場合は、Ｓ１００４において、ファイルサーバ１４からコンテンツブロックを順次読み出し、Ｓ１００５において、読み出したコンテンツブロックをコンテンツ管理プログラム２１２に返却する。Ｓ１００６において、まだ読み出していない残りのコンテンツブロックが存在するか否かをチェックし、読み出し対象のコンテンツのコンテンツブロックが存在する間は、Ｓ１００４とＳ１００５を繰り返し実行する。すべてのコンテンツブロックのコンテンツ管理プログラム２１２への返却、もしくは、Ｓ１００３のエラー処理が完了したら、本プログラムを終了する。
【００５６】
図１１は、ファイルサーバ１４における読み出し要求管理プログラム２４１のフローチャートである。
【００５７】
Ｓ１１０１において、メディアサーバ１１からの読み出し要求を待ち、読み出し要求を受け付けると、引数で渡されるコンテンツ名を取得する。Ｓ１１０２において、ファイルシステム管理プログラム２４０に対して、コンテンツ名に対応するコンテンツが存在するか否かの確認を要求する。ファイルシステム管理プログラム２４０のコンテンツ有無チェック処理については、図１２を用いて後記する。
【００５８】
Ｓ１１０３でコンテンツ名に対応するコンテンツがないと判定された場合は、Ｓ１１０４のエラー処理を実行する。Ｓ１１０４のエラー処理では、コンテンツの読み出しに失敗した旨のエラーをメディアサーバ１１に返却する。Ｓ１１０３でコンテンツ名に対応するコンテンツが存在すると判定された場合は、Ｓ１１０５において、アクセス頻度管理プログラム２４２に対して、そのコンテンツに対するアクセス頻度の情報の更新を要求する。アクセス頻度管理プログラム２４２における、アクセス頻度の情報の更新処理については、図１３を用いて後記する。
【００５９】
次に、Ｓ１１０６において、コンテンツ名を指定して、読み出し制御プログラム２４３を実行する。読み出し制御プログラム２４３の処理手順については、図１７と図１８を用いて後記する。Ｓ１１０７において、読み出し制御プログラム２４３から、コンテンツブロックを順次読み出し、Ｓ１１０８において、メディアサーバ１１に対して、読み出したコンテンツブロックを返却する。Ｓ１１０９において、コンテンツブロックが残っていると判定された場合は、Ｓ１１０７とＳ１１０８を繰り返す。Ｓ１１０９において、すべてのコンテンツブロックをメディアサーバ１１に返却したと判定された場合、もしくは、Ｓ１１０４のエラー処理が完了すると、本プログラムを終了する。
【００６０】
図１２は、ファイルサーバ１４のファイルシステム管理プログラム２４０におけるコンテンツ有無チェック処理Ｓ１１０２のフローチャートである。
【００６１】
ファイルシステム管理プログラム２４０は、コンテンツ名を指定して、コンテンツ有無チェックを要求されると、Ｓ１２０１において、ファイルシステム管理情報格納領域２４９に、指定されたコンテンツ名のコンテンツが存在するか否かをチェックする。Ｓ１２０２において、該当するコンテンツが存在しないと判定された場合は、Ｓ１２０３において、指定されたコンテンツが存在しないこと（指定されたコンテンツが存在しないことを示す返却値）を返却する。Ｓ１２０２において、指定されたコンテンツが存在すると判定された場合は、Ｓ１２０４において、指定されたコンテンツが存在すること（指定されたコンテンツが存在することを示す返却値）を返却する。結果を返却すると、本処理は終了する。
【００６２】
図１３は、ファイルサーバ１４のアクセス頻度管理プログラム２４２におけるアクセス頻度更新処理Ｓ１１０５のフローチャートである。
【００６３】
Ｓ１３０１において、読み出し対象のコンテンツのアクセス頻度管理情報を更新する。すなわち、図１４に示すコンテンツアクセス頻度管理テーブル１４００に格納された、指定されたコンテンツ名に対応するエントリのアクセス数カウンタＡ１４０４もしくはアクセス数カウンタＢ１４０５の値を更新する（１つ増加する）とともに、最終アクセス時刻１４０３を現在の時刻で更新する。
【００６４】
Ｓ１３０２において、コンテンツアクセス頻度管理テーブル１４００に管理されている、コンテンツ登録時刻１４０２、アクセス数カウンタＡ１４０４、アクセス数カウンタＢ１４０５および実行時の現在時刻を使用して、すべてのコンテンツの最新のアクセス頻度を算出する。コンテンツアクセス頻度管理テーブル１４００に格納された情報から、アクセス頻度を算出する方法については、図１５を用いて後記する。Ｓ１３０３において、Ｓ１３０２で算出したすべてのコンテンツのアクセス頻度の情報を更新する。すなわち、図１６に示すコンテンツ格納先管理テーブル２４８のアクセス頻度１６０４に格納する。以上で本プログラムを終了する。
【００６５】
図１４は、ファイルサーバ１４のアクセス頻度管理プログラム２４２が使用するコンテンツアクセス頻度管理テーブル１４００のデータ構造を示す図である。
【００６６】
コンテンツアクセス頻度管理テーブル１４００には、コンテンツ名１４０１と、コンテンツ登録時刻１４０２と、最終アクセス時刻１４０３と、アクセス数カウンタＡ１４０４およびアクセス数カウンタＢ１４０５の２つのカウンタが存在する。コンテンツの登録時には、コンテンツ名１４０１とコンテンツ登録時刻１４０２を設定したエントリが登録され、その他の値は初期化される。コンテンツに対する読み出し要求が発生する度に、アクセス数カウンタＡ１４０４とアクセス数カウンタＢ１４０５は、いずれか１つのアクセス数カウンタに格納された値を１つ増加し、最終アクセス時刻１４０３を現在の時刻で更新する。
【００６７】
図１５は、ファイルサーバ１４のアクセス頻度管理プログラム２４２において、コンテンツアクセス頻度管理テーブル１４００内で使用するアクセス数カウンタの決定方法および最新アクセス頻度算出方法の説明図である。
【００６８】
アクセス数カウンタＡ１４０４およびアクセス数カウンタＢ１４０５の２つあるカウンタのうち、どちらのカウンタを使用するかについては、コンテンツ登録時刻１４０２と、アクセス頻度更新実行時点の現在時刻１５０３と、あらかじめ定められたアクセス頻度算出単位時間１５０１によって決定される。コンテンツ登録後、アクセス頻度算出単位時間１５０１が経過したアクセス数カウンタ変更時刻１５０２Ａまでは、アクセス数カウンタＡ１４０４を使用し、アクセス数カウンタ変更時刻１５０２Ａ以降、アクセス数カウンタ変更時刻１５０２Ｂまでは、アクセス数カウンタＢ１４０５を使用する。その後は、アクセス数カウンタ変更時刻１５０２を経過するたびに、アクセス数カウンタＡ１４０４とアクセス数カウンタＢ１４０５を切り替える。
【００６９】
アクセス数カウンタ変更時刻１５０２Ａ，１５０２Ｂ後の、コンテンツに対する最初の読み出し要求時に、使用するアクセス数カウンタを０に初期化する。例えば、アクセス数カウンタ変更時刻１５０２Ａ後の、コンテンツに対する最初の読み出し要求時には、アクセス数カウンタＡ１４０４を０に初期化し、アクセス数カウンタ変更時刻１５０２Ｂ後の、コンテンツに対する最初の読み出し要求時には、アクセス数カウンタＢ１４０５を０に初期化する。アクセス数カウンタ変更時刻１５０２Ａ，１５０２Ｂを経過した後の最初の読み出し要求か否かは、最終アクセス時刻１４０３が、最新のアクセス数カウンタ変更時刻１５０２Ｂより前であるか否かにより判定する。最終アクセス時刻１４０３が、２つ前のアクセス数カウンタ変更時刻１５０２Ａより前の場合は、アクセス数カウンタＡ１４０４、アクセス数カウンタＢ１４０５の両方を０に初期化する。
【００７０】
各コンテンツの最新アクセス頻度は、アクセス数カウンタＡ１４０４と、アクセス数カウンタＢ１４０５と、現在時刻１５０３および２つ前のアクセス数カウンタ変更時刻１５０２Ａの時間差（例えば、分単位の時間差）である最新アクセス頻度算出期間１５０４を用いて、以下の式により、単位時間あたり（例えば、１分単位）のアクセス頻度として算出する。
【００７１】
最新アクセス頻度＝
（アクセス数カウンタＡの値＋アクセス数カウンタＢの値）÷最新アクセス頻度算出期間
【００７２】
なお、ここでは簡単のために、アクセス数カウンタを２つ使用することとしたが、より正確なアクセス頻度を求めるために、３つ以上使用することとしてもよい。
【００７３】
図１６は、ファイルサーバ１４におけるコンテンツ格納先管理テーブル２４８のデータ構造を示す図である。
【００７４】
コンテンツ格納先管理テーブル２４８には、コンテンツ名１６０１、コンテンツのサイズ１６０２、ストリームデータとしてのコンテンツのビットレート１６０３、コンテンツの最新のアクセス頻度１６０４、コンテンツキャッシュ１４３に格納されたコンテンツの先頭部分のサイズであるキャッシュサイズ１６０５、コンテンツの先頭部分のコンテンツキャッシュ内の格納先であるキャッシュ格納先１６０６、コンテンツのストレージ内の格納先であるストレージ格納先１６０７よりなるエントリが登録される。キャッシュ格納先１６０６に設定される値としては、例えば、コンテンツキャッシュ内におけるコンテンツの先頭部分の先頭アドレスを用いることができる。また、ストレージ格納先１６０７に設定される値としては、例えば、ストレージ番号や、ストレージ内におけるコンテンツの先頭アドレスを用いることができる。
【００７５】
図１７は、ファイルサーバ１４における読み出し制御プログラム２４３のフローチャートの１番目である。
【００７６】
Ｓ１７０１において、読み出し要求管理プログラム２４１から、コンテンツ名を引数として読み出し要求を受けると、コンテンツ格納先管理テーブル２４８に格納された、読み出し対象コンテンツの属性情報を取得する。属性情報とは、引数としてのコンテンツ名と一致するコンテンツ名１６０１を、コンテンツ格納先管理テーブル２４８から検索し、この検索によって得られたエントリである。
【００７７】
Ｓ１７０２において、Ｓ１７０１で読み出した属性情報のうち、コンテンツキャッシュ１４３に格納されたコンテンツの先頭部分のサイズ（キャッシュサイズ１６０５）と、コンテンツの先頭部分のコンテンツキャッシュ１４３内の格納先（キャッシュ格納先１６０６）の情報を元に、コンテンツキャッシュ１４３に格納されたコンテンツの先頭部分２６１を読み出す。
【００７８】
Ｓ１７０３において、読み出したコンテンツの先頭部分２６１をコンテンツブロック単位に読み出し要求管理プログラム２４１に返却する。Ｓ１７０４において、図１９に示すコンテンツ読み出し管理テーブル１９００に、コンテンツ名１９０１が、引数として指定されたコンテンツ名と同じで、状態１９０２が「読み出し待ち」のエントリが存在するか否かを確認する。
【００７９】
Ｓ１７０５において、同じコンテンツに対するストレージ１６１からの「読み出し待ち」の状態のエントリが存在すると判定された場合は、Ｓ１７０６において、このエントリ内の読み出し要求リスト１９０６に、読み出し要求管理プログラム２４１のプロセスを特定する識別子を追加し、本読み出し要求に対する読み出し制御の処理を終了する（図１８参照）。
【００８０】
Ｓ１７０５で同じコンテンツに対するストレージ１６１からの「読み出し待ち」の状態のエントリが存在しないと判定された場合は、Ｓ１７０７において、コンテンツ格納先管理テーブル２４８に格納されたコンテンツのストレージ内の格納先（ストレージ格納先１６０７）から得られるこのコンテンツが格納されたストレージ１６１の読み出し性能情報を取得する。この読み出し性能情報は、例えば、ストレージアクセス性能管理テーブル２１００のストレージ読み出し性能２２００から取得できる。
【００８１】
Ｓ１７０８において、まず、Ｓ１７０７で得られたストレージ１６１の読み出し性能情報から、読み出し対象のコンテンツ２６０のコンテンツブロックをストレージ１６１から読み出すために必要となる時間を求め、さらに、Ｓ１７０３で返却したコンテンツの先頭部分２６１による再生時間を、コンテンツの先頭部分２６１のサイズをコンテンツのビットレート１６０３で割ることによって求める。この２つの時間の差を、Ｓ１７０３で求めた、コンテンツの先頭部分２６１を返却した時刻に加えることで算出される時刻を、ストレージからのコンテンツ読み出し開始時刻とする。
【００８２】
Ｓ１７０９において、コンテンツ読み出し管理テーブル１９００に対して、コンテンツ名１９０１に、読み出し対象のコンテンツのコンテンツ名を設定し、状態１９０２に、「読み出し待ち」の状態を設定し、配信開始時刻１９０３に、コンテンツキャッシュ１４３に格納されたコンテンツの先頭部分２６１の配信を開始した時刻を設定し、再生可能時間１９０４に、コンテンツの先頭部分２６１のサイズをコンテンツのビットレートで割ることによって求めた再生時間を設定し、ストレージからの読み出し開始時刻１９０５に、Ｓ１７０８で算出したストレージからのコンテンツ読み出し開始時刻を設定し、読み出し要求リスト１９０６に、読み出し要求管理プログラム２４１の実行プロセスを特定する識別子を設定したエントリを新規登録する。Ｓ１７１０において、ストレージからの読み出し開始時刻１９０５まで読み出しを待つ。
【００８３】
図１８は、ファイルサーバ１４における読み出し制御プログラム２４３のフローチャートの２番目である。
【００８４】
Ｓ１７１１において、読み出し開始時刻１９０５になると、コンテンツ読み出し管理テーブル１９００に登録したエントリの状態１９０２を「読み出し中」に変更する。Ｓ１７１２において、ストレージ１６１に格納されたコンテンツ２６０のうち、コンテンツキャッシュ１４３に格納されたコンテンツの先頭部分２６１は、既にコンテンツキャッシュ１４３から読み出し済みであるため、この部分については、ストレージ１６１に格納されたコンテンツ２６０からの読み出しをスキップする。
【００８５】
Ｓ１７１３において、ストレージ１６１からコンテンツブロックを読み出す。ここで、ストレージ１６１からコンテンツブロックを読み出す際には、Ｓ１７０１において取得した属性情報のストレージ格納先１６０７を元に読み出しを始め、以降は順次に読み出す。ストレージ１６１からコンテンツブロックを読み出す際に、１つのストレージに格納された１つまたは複数のコンテンツに対して、複数の読み出しを行う場合に、それらの読み出しのうち、コンテンツ読み出し管理テーブル１９００の配信開始時刻１９０３に再生可能時間１９０４を加えた時刻である再生完了時刻から、現在時刻を引いた時間が最も短い読み出しを優先的に実行する（再生完了時刻が最も早い読み出しを優先的に実行する）。再生完了時刻が早いコンテンツを優先して読み出すことによって、特定のコンテンツの読み出し遅延などが原因で発生する他のコンテンツにおける再生停止を防止することが可能となる。Ｓ１７１４において、ストレージ１６１からコンテンツブロックを読み出すのに要した時間から、ストレージ１６１からの読み出し性能を算出し、ストレージ性能管理プログラム２４７に通知する。
【００８６】
Ｓ１７１５において、ストレージ１６１から読み出したコンテンツブロックを、コンテンツ読み出し管理テーブル１９００の、読み出し要求リスト１９０６に登録された、すべての読み出し要求管理プログラム２４１のプロセスに返却する。Ｓ１７１６において、返却したコンテンツにより再生可能な時間を、コンテンツ読み出し管理テーブル１９００の再生可能時間１９０４に加算することによって再生可能時間１９０４を更新し、Ｓ１７１７において、残りのコンテンツブロックが存在するか否かを判定し、存在する場合は、Ｓ１７１３とＳ１７１４とＳ１７１５とＳ１７１６とを繰り返す。Ｓ１７１７において、すべてのコンテンツブロックの返却が完了したと判定されると、Ｓ１７１８において、コンテンツ読み出し管理テーブル１９００に登録した、本読み出し要求のエントリを削除し、本プログラムを終了する。
【００８７】
図１９は、ファイルサーバ１４の読み出し制御プログラム２４３が使用するコンテンツ読み出し管理テーブル１９００のデータ構造を示す図である。
【００８８】
コンテンツ読み出し管理テーブル１９００には、コンテンツ名１９０１、ストレージからの読み出しの状態１９０２、配信開始時刻１９０３、再生可能時間１９０４、ストレージからの読み出し開始時刻１９０５、読み出し要求リスト１９０６を持つエントリが登録される。
【００８９】
ストレージからの読み出しの状態１９０２には、「読み出し待ち」と「読み出し中」がある。配信開始時刻１９０３は、コンテンツの先頭部分２６１の配信を開始した時刻である。再生可能時間１９０４は、配信済みのコンテンツによって、コンテンツ再生できる時間である。ストレージからの読み出し開始時刻１９０５には、図１７と図１８に示した読み出し制御プログラム２４３のフローチャートのＳ１７０８において算出した、ストレージからの読み出しを開始する時刻が格納される。読み出し要求リスト１９０６には、読み出し制御プログラム２４３を呼び出した読み出し要求管理プログラム２４１の実行プロセスを特定する識別子のリストが格納される。
【００９０】
図２０は、ファイルサーバ１４のストレージ性能管理プログラム２４７におけるストレージ性能監視処理のフローチャートである。
【００９１】
Ｓ２００１において、図１７と図１８に示した読み出し制御プログラム２４３のフローチャートのＳ１７１４で、ストレージ性能管理プログラム２４７に通知されたストレージ１６１からのコンテンツブロックの読み出し性能を、図２１に示すストレージアクセス性能管理テーブル２１００のストレージ読み出し性能２２００に登録する。Ｓ２００２において、ストレージ読み出し性能２２００とストレージ読み出し性能限界値２２０３を比較する。Ｓ２００３において、ストレージ読み出し性能２２００がストレージ読み出し性能限界値２２０３以下であると判定された場合は、Ｓ２００４において、キャッシュ制御プログラム２４６にストレージ読み出し性能２２００が不足していることを通知する。
【００９２】
図２１は、ファイルサーバ１４のストレージ性能管理プログラム２４７が使用するストレージアクセス性能管理テーブル２１００のデータ構造を示す図である。
【００９３】
ストレージアクセス性能管理テーブル２１００には、ストレージ名２１０１と、ストレージ読み出し性能限界値２２０３、ストレージ読み出し性能２２００、最終のストレージ読み出し性能更新時刻２１０２が格納される。ストレージ読み出し性能限界値２２０３については、図２２を用いて説明する。尚、最終のストレージ読み出し性能更新時刻２１０２は、必須のものではない。
【００９４】
図２２は、コンテンツ再生速度に基づくストレージ読み出し性能限界値の算出およびストレージ読み出し性能の時間による変化とストレージアクセス頻度限界値との相関図である。
【００９５】
ストレージ読み出し性能２２００は、時間経過に伴うストレージ１６１からのコンテンツブロックの読み出し性能の変化を示している。コンテンツ再生速度２２０１は、ストレージ１６１に格納されたコンテンツの再生速度（ビットレート）の最大値である。ストレージ読み出し性能限界値２２０３は、コンテンツ再生速度２２０１に性能マージン２２０２を加えた性能である。
【００９６】
性能マージン２２０２には、例えば、ストレージ１６１に対するストレージアクセス頻度２２０５の単位時間あたりの上昇率の最大値を元に求めた値を設定する。これにより、ストレージ性能管理プログラム２４７が、ストレージ読み出し性能２２００がストレージ読み出し性能限界値２２０３以下になったことを検知してから、キャッシュ制御プログラム２４６が、キャッシュサイズの変更による性能向上対策を行なうまでに、コンテンツ再生速度２２０１以下にならないようにすることが可能である。性能マージン２２０２には、運用開始時には、例えば、固定値を設定し、適宜変更することも可能である。
【００９７】
性能余裕値２２０４は、ストレージ読み出し性能２２００からストレージ読み出し性能限界値２２０３を引いた値である。ストレージアクセス頻度２２０５は、ストレージ１６１に対する、単位時間あたりのコンテンツブロック読み出し回数である。ストレージアクセス頻度２２０５が上昇すると、ある時点から、ストレージ読み出し性能２２００が急激に低下することになる。性能余裕値２２０４が０の時点のストレージアクセス頻度２２０５が、ストレージアクセス頻度限界値２２０６である。性能余裕値２２０４が０以下になると、ストレージ読み出し性能２２００が、ストレージ読み出し性能限界値２２０３以下になり、ストレージ読み出し性能不足２２０７となる。この時点では、ストレージアクセス頻度２２０５がストレージアクセス頻度限界値２２０６以上になっており、ストレージアクセス頻度限界値超過２２０８となる。この状態では、コンテンツブロック配信遅れによる、クライアント１０におけるコンテンツ再生停止が発生することになる。
【００９８】
図２３は、ファイルサーバ１４のストレージ性能管理プログラム２４７におけるストレージ性能参照処理のフローチャートである。
【００９９】
Ｓ２３０１において、ストレージ性能参照要求を受けとると、ストレージアクセス性能管理テーブル２１００から、全ストレージの読み出し性能を取得する。Ｓ２３０２において、読み出した各ストレージの読み出し性能を要求元に返却する。
【０１００】
図２４は、ファイルサーバ１４におけるキャッシュ制御プログラム２４６のフローチャートである。
【０１０１】
Ｓ２４０１において、ストレージ性能管理プログラム２４７から、ストレージ読み出し性能限界値２２０３以下の性能のストレージ１６１が存在するという通知を受け取ると、そのストレージ１６１に格納されたすべてのコンテンツのエントリをコンテンツ格納先管理テーブル２４８から取得したコンテンツリストを作成する。Ｓ２４０２において、まず、各コンテンツに割り当てられたキャッシュサイズと、コンテンツのサイズと、コンテンツのアクセス頻度を元に、ストレージ１６１内のコンテンツ２６０に対するアクセス頻度であるストレージアクセス頻度を求める。ストレージアクセス頻度は、以下の計算式によって求めることができる。
【０１０２】
ストレージアクセス頻度＝
アクセス頻度×（コンテンツサイズ−キャッシュサイズ）÷キャッシュサイズ
【０１０３】
コンテンツリストの全コンテンツについて、ストレージアクセス頻度を求めると、コンテンツリストを、ストレージアクセス頻度の高い順に並び替える（ストレージアクセス頻度の降順でソートする）。Ｓ２４０３において、コンテンツキャッシュ１４３に、コンテンツブロックのサイズより大きな空き領域があるか否かをチェックする。コンテンツキャッシュ１４３に空き領域がない場合は、Ｓ２４０４において、使用頻度が低いコンテンツに割り当てられたキャッシュ領域を解放することにより、必要領域、すなわちコンテンツキャッシュ１４３の空き領域を確保する。使用頻度が低いコンテンツに割り当てられたキャッシュ領域を解放する処理の手順については、図２７と図２８を用いて後記する。
【０１０４】
Ｓ２４０５において、キャッシュ領域の確保の結果を確認し、確保に失敗したと判定した場合は、Ｓ２４０６において、キャッシュ不足のアラートを発行するなどのエラー処理を行い、本処理は終了する。Ｓ２４０５において、コンテンツキャッシュ１４３の空き領域が確保に成功したと判定した場合は、Ｓ２４０７において、コンテンツリストの先頭にあるコンテンツ（ストレージアクセス頻度の高いコンテンツ）の、コンテンツキャッシュ１４３に格納するコンテンツの先頭部分２６１のキャッシュ領域のサイズをコンテンツブロックの１ブロック分のサイズ増加し、ストレージ１６１に格納されたコンテンツ２６０から、サイズを増加したコンテンツの先頭部分２６１のコンテンツブロックを読み出して、コンテンツキャッシュ１４３に格納する。
【０１０５】
Ｓ２４０８において、コンテンツ格納先管理テーブル２４８に格納されている、対象コンテンツのキャッシュサイズ１６０５の値を、増加したキャッシュサイズに変更する。Ｓ２４０９において、Ｓ２４０７でアクセス頻度が高いコンテンツに割り当てるキャッシュサイズを増加したことによって変更されたストレージ１６１のストレージアクセス頻度を算出し、Ｓ２４１０において、ストレージアクセス頻度に基づく、ストレージ１６１のストレージ読み出し性能見通しを算出する。
【０１０６】
Ｓ２４１１において、算出したストレージ読み出し性能見通しが、ストレージ読み出し性能限界値２２０３以下と判定された場合は、Ｓ２４０３に戻り、ストレージ読み出し性能２２００が、ストレージ読み出し性能限界値２２０３を上回るまで、前記の処理を繰り返す。Ｓ２４１１において、ストレージ読み出し性能見通しが、ストレージ読み出し性能限界値を上回っていると判定されれば、本処理を終了する。
【０１０７】
図２５は、コンテンツキャッシュ１４３に格納されたコンテンツの先頭部分２６１のサイズ変更による読み出し要求統合数変化の説明図である。
【０１０８】
コンテンツの読み出し要求２５００Ａ，２５００Ｂがあると、読み出し制御プログラム２４３は、キャッシュ内コンテンツの読み出し２５０１Ａ，２５０１Ｂを実行し、その後に、読み出し停止２５０２Ａ，２５０２Ｂに入る。読み出し停止２５０２Ａ，２５０２Ｂが終わると、読み出し制御プログラム２４３は、読み出し要求の統合２５０３Ａ，２５０３Ｂ、ストレージ内コンテンツの読み出し２５０４Ａ，２５０４Ｂを実行する。
【０１０９】
本図では、キャッシュが小さい場合の読み出し要求２５００Ａとキャッシュが大きい場合の読み出し要求２５００Ｂを比較している。キャッシュ内コンテンツの読み出し２５０１Ａの実行時間は、キャッシュ内コンテンツの読み出し２５０１Ｂの実行時間に比べて短いが、読み出し停止２５０２Ａの時間も読み出し停止２５０２Ｂの時間より短いため、コンテンツに対するアクセス頻度は同じであっても、読み出し要求の統合２５０３Ａで統合できる読み出し要求数は、読み出し要求の統合２５０３Ｂで統合できる読み出し要求数より少なくなる。このように、コンテンツキャッシュ１４３に格納するコンテンツの先頭部分２６１のサイズを増加することによって、読み出し要求の統合数を増加し、ストレージアクセス頻度を低減することが可能となる。ストレージアクセス頻度が低下すると、ストレージ読み出し性能が向上することになる。
【０１１０】
図２６は、コンテンツキャッシュ１４３に格納されたコンテンツの先頭部分２６１のサイズ増加によるストレージ読み出し性能向上の説明図である。
【０１１１】
ストレージ読み出し性能２２００が、コンテンツ再生速度２２０１から求められた、ストレージ読み出し性能限界値２２０３以下になると、ストレージアクセス頻度２２０５もストレージアクセス頻度限界値２２０６以上となる。この際に、キャッシュ制御プログラム２４６がコンテンツキャッシュ１４３に格納するコンテンツの先頭部分２６１のサイズを増加すると、ストレージアクセス頻度２２０５が低下し、それにより、ストレージ読み出し性能２２００が向上する。ストレージ読み出し性能２２００がストレージ読み出し性能限界値２２０３以下になる度に、キャッシュ制御プログラム２４６の処理を実行して、コンテンツキャッシュ格納サイズ増加２６０１を行なうことにより、ストレージ読み出し性能２２００を、コンテンツ再生速度２２０１を上回る速度に保つことができる。コンテンツキャッシュ格納サイズ増加２６０１を行なわない場合のストレージ読み出し性能２６０２は、コンテンツ再生速度以下になる。また、コンテンツキャッシュ格納サイズ増加２６０１を行なわない場合のストレージアクセス頻度２６０３も、ストレージアクセス頻度限界値２２０６以上になる。
【０１１２】
図２７は、ファイルサーバ１４のキャッシュ制御プログラム２４６における使用頻度が低いキャッシュ領域の解放処理のフローチャートの１番目である。本フローチャートは、図２４に示した、ファイルサーバ１４におけるキャッシュ制御プログラム２４６のフローチャートのＳ２４０４の処理手順を示している。本処理は、キャッシュ制御プログラム２４６において、ストレージアクセス頻度が高いコンテンツに対して割り当てるキャッシュ領域のサイズを増加する際に、コンテンツキャッシュ１４３の空き領域のサイズが不足する場合に呼び出される。
【０１１３】
Ｓ２７０１において、全ストレージ１６１のストレージ読み出し性能２２００を、図２１に示すストレージアクセス性能管理テーブル２１００から取得し、ストレージリストを作成する。Ｓ２７０２において、ストレージリストを、ストレージ読み出し性能２２００からストレージ読み出し性能限界値２２０３を引いた値である性能余裕値２２０４の降順でソートする。これにより、ストレージ読み出し性能に余裕がある順に、ストレージリストが作成される。
【０１１４】
Ｓ２７０３において、作成したストレージリストの先頭にあるストレージ１６１に格納されたすべてのコンテンツのエントリをコンテンツ格納先管理テーブル２４８から取得したコンテンツリストを作成する。Ｓ２７０４において、コンテンツリストに格納された全コンテンツをアクセス頻度１６０４の昇順にソートする。これによりアクセス頻度が低い順のコンテンツリストが作成される。
【０１１５】
Ｓ２７０５において、コンテンツリストの先頭に格納されたコンテンツ２６０に割り当てられたキャッシュサイズ１６０５を確認する。つまり、このサイズが、コンテンツ２６０が格納されたストレージ１６１から、コンテンツブロックの最小単位（コンテンツブロックの１単位分）を読み出すために必要な時間の再生が可能なコンテンツの先頭部分２６１を格納できるサイズ（最小キャッシュサイズ）より大きいか否かを確認する。この最小キャッシュサイズは、例えば、コンテンツブロックの最小単位を読み出すために必要な時間と、コンテンツのビットレートとを乗算することによって算出される。
【０１１６】
最小キャッシュサイズより大きい場合は、そのコンテンツに割り当てたキャッシュサイズを削減することが可能である。Ｓ２７０６において、キャッシュサイズ１６０５が削減可能な大きさであると判定された場合は、Ｓ２７０７において、コンテンツキャッシュ１４３に格納されたコンテンツの先頭部分２６１のサイズを、最小キャッシュサイズまで削減する。Ｓ２７０８において、コンテンツ格納先管理テーブル２４８に格納された、対象コンテンツのキャッシュサイズ１６０５を変更後のサイズに変更する。Ｓ２７０６において、削減できない大きさであると判定された場合は、Ｓ２７０７とＳ２７０８をスキップする。
【０１１７】
図２８は、ファイルサーバ１４のキャッシュ制御プログラム２４６における使用頻度が低いキャッシュ領域の解放処理のフローチャートの２番目である。
【０１１８】
Ｓ２７０９において、コンテンツリストから先頭のエントリを削除する。Ｓ２７１０において、必要なサイズのコンテンツキャッシュ１４３の空き領域が確保できたと判定された場合は、本処理を終了する。Ｓ２７１０において、必要なコンテンツキャッシュ１４３の空き領域が確保できなかったと判定された場合は、さらに必要なキャッシュ領域を確保するために、ストレージアクセス頻度が低いコンテンツに割り当てられたキャッシュ領域の解放処理を継続する。
【０１１９】
Ｓ２７１１において、キャッシュサイズを削減したコンテンツのストレージアクセス頻度が増加することによる、ストレージリストの先頭にあるストレージ１６１のストレージ読み出し性能２２００の見通しを算出し、ストレージ読み出し性能限界値２２０３を引いた値である性能余裕値２２０４を算出する。
【０１２０】
Ｓ２７１２において、算出した性能余裕値２２０４があらかじめ定められた閾値以下になったと判定された場合は、このストレージ１６１に格納されたコンテンツ２６０に割り当てたキャッシュ領域の解放処理は終了し、Ｓ２７１４以降の処理を行なう。
【０１２１】
Ｓ２７１２において、算出した性能余裕値２２０４が閾値を上回ると判定された場合は、Ｓ２７１３において、コンテンツリストに残エントリが有るか否かを確認し、まだ、エントリがある場合は、Ｓ２７０５の処理に戻り、次のエントリのコンテンツに割り当てたキャッシュサイズの削減を続ける。
【０１２２】
Ｓ２７１３において、コンテンツリストのエントリが無くなった場合は、このストレージ１６１に格納されたコンテンツ２６０に対するキャッシュサイズの削減は終了し、Ｓ２７１４以降の処理を行なう。Ｓ２７１４において、ストレージリストの最初のエントリを削除する。Ｓ２７１５において、ストレージリストに残エントリがあるか否かを判定し、残エントリがある場合は、Ｓ２７０３の処理に戻り、他のストレージに対する使用頻度が低いキャッシュ領域の解放処理を継続する。
【０１２３】
Ｓ２７１５において、ストレージリストに残エントリが無いと判定された場合、つまり、すべてのストレージに対して、使用頻度が低いキャッシュ領域の解放処理を実行しても必要なキャッシュサイズが確保できないと判定された場合は、Ｓ２７１６のエラー処理において、必要なキャッシュコンテンツの空き領域が確保できなかった旨のエラーを呼び出し元に返却する。
【０１２４】
図２９は、クライアント１０におけるコンテンツ登録プログラム２０１のフローチャートである。
【０１２５】
まず、Ｓ２９０１において、メディアサーバ１１が提供するプロトコルに従い、メディアサーバ１１に接続する。Ｓ２９０２において、登録要求の種別を判定し、登録済みのコンテンツに対する更新登録もしくは削除の場合は、Ｓ２９０３において、対象となる公開コンテンツ名をメディアサーバ１１に対して通知する。Ｓ２９０２において、登録要求の種別が新規登録の場合は、Ｓ２９０３のステップをスキップする。
【０１２６】
Ｓ２９０４において、登録要求の種別を判定し、コンテンツの新規登録もしくは更新登録の場合は、Ｓ２９０５において、ハードディスク１０２のコンテンツ格納領域２０２に格納された、登録対象のコンテンツをメディアサーバ１１に送付する。Ｓ２９０４において、登録要求の種別が削除であると判定された場合は、Ｓ２９０５のステップをスキップする。Ｓ２９０６において、メディアサーバ１１からの結果返信を待ち、結果を受信する。
【０１２７】
メディアサーバ１１からの結果が、登録もしくは削除の成功であった場合は、Ｓ２９０７において、登録もしくは削除したコンテンツに付けられた公開コンテンツ名を表示装置１０４に表示する。登録エラーの場合は、Ｓ２９０７において、エラー情報を表示装置１０４に表示する。Ｓ２９０６の結果の受信およびＳ２９０７の結果の表示が完了したら、Ｓ２９０８において、メディアサーバ１１との接続を解除する。
【０１２８】
図３０は、メディアサーバ１１におけるコンテンツ受付プログラム２１１のフローチャートである。
【０１２９】
Ｓ３００１において、クライアント１０からの新規登録、更新登録、削除の要求を待ち、要求が来たらこれを受け付ける。Ｓ３００２において、受け付けた要求の種別を判定し、削除、更新登録の場合は、Ｓ３００３において、削除もしくは更新対象の公開コンテンツ名を取得する。Ｓ３００２において、受け付けた要求の種別が新規登録と判定された場合は、Ｓ３００３のステップをスキップする。
【０１３０】
Ｓ３００４において、受け付けた要求の種別を判定し、新規登録、更新登録の場合は、Ｓ３００５において、登録するコンテンツを取得し、コンテンツ格納領域２１６に格納する。Ｓ３００４において、受け付けた要求の種別が削除と判定された場合は、Ｓ３００５のステップをスキップする。Ｓ３００６において、コンテンツ管理プログラム２１２に対して、コンテンツの更新を要求する。Ｓ３００７において、クライアント１０に対して結果を通知する。Ｓ３００８において、クライアントとの接続を解除し、本プログラムを終了する。
【０１３１】
図３１は、メディアサーバ１１のコンテンツ管理プログラム２１２におけるコンテンツ更新要求処理のフローチャートである。コンテンツ受付プログラム２１１からコンテンツ更新要求があると、本処理を実行する。
【０１３２】
Ｓ３１０１において、要求の種別を確認する。Ｓ３１０２において、要求の種別を判定し、要求の種別が新規登録と判定された場合は、Ｓ３１０７のステップに進む。Ｓ３１０２において、要求の種別が、削除もしくは更新登録と判定された場合は、Ｓ３１０３において、指定された公開コンテンツ名９０１を持つコンテンツのコンテンツ名９０４をコンテンツ管理テーブル２１５から取得する。
【０１３３】
Ｓ３１０４において、指定された公開コンテンツ名を持つコンテンツがコンテンツ管理テーブル２１５に存在するか否かを判定し、存在しない場合は、Ｓ３１０５のエラー処理において、エラー情報をコンテンツ受付プログラム２１１に返却する。Ｓ３１０４において、指定された公開コンテンツ名９０１を持つコンテンツがコンテンツ管理テーブル２１５に存在すると判定された場合は、Ｓ３１０６において、要求種別を判定して、更新登録の場合は、Ｓ３１０７のステップに進み、削除の場合は、Ｓ３１０７のステップをスキップして、Ｓ３１０８のステップに進む。
【０１３４】
Ｓ３１０７において、コンテンツ格納領域２１６に格納された登録コンテンツを取得する。Ｓ３１０８において、削除の場合は、要求種別とＳ３１０３で取得したコンテンツ名を引数とし、新規登録の場合は、要求種別とコンテンツ属性（例えば、コンテンツのヘッダ４０２に設定されている値）から取得したビットレートとコンテンツを引数として、更新登録の場合は、要求種別とＳ３１０３で取得したコンテンツ名とコンテンツ属性から取得したビットレートとコンテンツを引数として、コンテンツ更新を実行する。
【０１３５】
Ｓ３１０９において、コンテンツ更新がエラーとなったと判定された場合は、Ｓ３１０５において、エラー処理として、コンテンツ受付プログラム２１１に、エラー情報を返却する。Ｓ３１０９において、コンテンツ更新が成功したと判定された場合は、Ｓ３１１０において、コンテンツ管理テーブル２１５の更新を行う。すなわち、要求種別が、新規登録の場合は、コンテンツ管理テーブル２１５にエントリを追加し、更新登録の場合は、登録したコンテンツのコンテンツ名をコンテンツ管理テーブル２１５の更新対象コンテンツのコンテンツ名９０４に設定し、削除の場合は、コンテンツ管理テーブル２１５の対象コンテンツのエントリを削除する。Ｓ３１１１において、コンテンツ受付プログラム２１１に、更新の結果として登録もしくは削除したコンテンツのコンテンツ名９０４を返却する。
【０１３６】
図３２は、メディアサーバ１１におけるコンテンツ更新プログラム２１４のフローチャートである。
【０１３７】
Ｓ３２０１において、コンテンツ管理プログラム２１２のコンテンツ更新要求処理から呼び出されると、ファイルサーバ１４の更新要求管理プログラム２４４に対して、更新要求を行なう。Ｓ３２０２において、更新要求管理プログラム２４４に対する更新要求の実行結果がエラーと判定された場合は、Ｓ３２０３において、エラー処理としてコンテンツ管理プログラム２１２に対して、エラー情報を返却する。
【０１３８】
Ｓ３２０２において、更新要求管理プログラム２４４に対する更新要求の実行結果が成功したと判定された場合は、Ｓ３２０４のステップに進む。Ｓ３２０４において、要求種別を判定し、新規登録、更新登録と判定された場合は、Ｓ３２０５において、ファイルサーバ１４に書き込んだコンテンツのコンテンツ名（更新要求管理プログラム２４４から返却されたコンテンツ名）を呼び出し元のコンテンツ管理プログラム２１２のコンテンツ更新要求処理に返却し，本プログラムを終了する。Ｓ３２０４において、要求種別が削除と判定された場合は、本プログラムを終了する。
【０１３９】
図３３は、ファイルサーバ１４における更新要求管理プログラム２４４のフローチャートである。
【０１４０】
Ｓ３３０１において、メディアサーバ１１のコンテンツ更新プログラム２１４からの更新要求を受け付ける。Ｓ３３０２において、要求種別を判定し、新規登録と判定された場合は、Ｓ３３０９のステップに進む。Ｓ３３０２において、要求種別が更新登録もしくは削除と判定された場合は、Ｓ３３０３において、ファイルシステム管理プログラム２４０の実行により、指定されたコンテンツ名のコンテンツの有無をチェックする。ファイルシステム管理プログラム２４０のコンテンツ有無チェックの処理内容は、図１２を用いて前記した通りである。
【０１４１】
Ｓ３３０４において、指定されたコンテンツが存在しないと判定された場合は、Ｓ３３０５のエラー処理において、コンテンツが存在しない旨のエラーをメディアサーバ１１に返却し、本プログラムを終了する。Ｓ３３０４において、指定されたコンテンツが存在すると判定された場合は、Ｓ３３０６において、ファイルシステム管理プログラム２４０に対して、ファイルシステム管理情報格納領域２４９からの対象コンテンツの削除を要求し、さらにアクセス頻度管理プログラム２４２に対して、削除対象コンテンツのコンテンツアクセス頻度管理テーブル１４００からの削除もしくは更新対象のコンテンツのエントリの削除を要求する。
【０１４２】
Ｓ３３０７において、更新制御プログラム２４５に対して、コンテンツ削除を要求する。更新制御プログラム２４５のコンテンツ削除処理は、図３４を用いて後記する。Ｓ３３０８において、要求種別を判定し、削除の場合は、本処理を終了する。Ｓ３３０８において、要求種別が新規登録もしくは更新登録と判定された場合は、Ｓ３３０９において、更新制御プログラム２４５に対して、コンテンツ書き込みを要求する。更新制御プログラム２４５のコンテンツ書き込み処理は、図３５を用いて後記する。
【０１４３】
Ｓ３３１０において、ファイルシステム管理プログラム２４０に対して、ファイルシステム管理情報格納領域２４９への登録対象コンテンツの情報の追加を要求し、さらに、アクセス頻度管理プログラム２４２に対して、コンテンツアクセス頻度管理テーブル１４００への登録対象コンテンツのエントリの登録を要求する。Ｓ３３１１において、ファイルサーバ１４内でコンテンツを一意に特定するためのコンテンツ名をメディアサーバ１１に返却する。
【０１４４】
図３４は、ファイルサーバ１４の更新制御プログラム２４５におけるコンテンツ削除処理のフローチャートである。
【０１４５】
Ｓ３４０１において、コンテンツ格納先管理テーブル２４８から、削除対象のコンテンツのキャッシュ格納先１６０６およびストレージ格納先１６０７の情報を取得する。Ｓ３４０２において、コンテンツ格納先管理テーブル２４８から、削除対象コンテンツのエントリを削除する。Ｓ３４０３において、キャッシュ格納先１６０６の情報を用いて、コンテンツキャッシュ１４３内のコンテンツの先頭部分２６１が格納されたキャッシュ領域を解放することによってコンテンツキャッシュ１４３内のコンテンツを削除する。Ｓ３４０４において、ストレージ格納先１６０７の情報を元に、ストレージ１６１に格納されたコンテンツ２６０の格納領域を解放することによってストレージ１６１内のコンテンツを削除し、本処理を終了する。
【０１４６】
図３５は、ファイルサーバ１４の更新制御プログラム２４５におけるコンテンツ書き込み処理のフローチャートである。
【０１４７】
Ｓ３５０１において、ストレージ性能管理プログラム２４７のストレージ性能参照処理（図２３参照）を呼び出し、すべてのストレージ１６１の読み出し性能を取得する。Ｓ３５０２において、ストレージ１６１のストレージ読み出し性能２２００と、ストレージ読み出し性能限界値２２０３、書き込み対象のコンテンツのビットレートの情報およびストレージ１６１の空き容量の情報から、コンテンツ格納先のストレージ１６１を選択（決定）する。格納先のストレージ１６１を選択（決定）する際には、ストレージ読み出し性能限界値２２０３が、書き込み対象のコンテンツの再生速度（ビットレート）を上回るストレージ１６１の中から、ストレージ読み出し性能２２００からストレージ読み出し性能限界値２２０３を引いた値である性能余裕値が、あらかじめ定められた閾値を上回るストレージ１６１を選択する。対象となるストレージ１６１が複数存在する場合は、例えば、空き領域が最も大きなストレージ１６１を選択する。
【０１４８】
Ｓ３５０３において、選択したストレージ１６１に対して、書き込み対象のコンテンツを書き込む。Ｓ３５０４において、ファイルサーバ１４内のコンテンツを特定することができるコンテンツ名を決定する。コンテンツ名を決定する際には、例えば、所定の規則に従って生成したコンテンツの名称をコンテンツ名として決定する。Ｓ３５０５において、コンテンツ格納先管理テーブル２４８に、書き込んだコンテンツのエントリを登録する。Ｓ３５０６において、ストレージ１６１に書き込んだコンテンツ２６０のコンテンツの先頭部分２６１のコンテンツキャッシュ１４３への格納（書き込み）を行なう。コンテンツキャッシュ１４３へのコンテンツの先頭部分２６１の書き込み処理の手順は、図３６を用いて後記する。Ｓ３５０７において、書き込んだコンテンツのコンテンツ名およびコンテンツ格納先情報を更新要求管理プログラム２４４に返却し、本処理を終了する。
【０１４９】
なお、前記の更新制御プログラム２４５におけるコンテンツ書き込み処理の手順のうち、Ｓ３５０２の格納先のストレージ１６１を決定する手順として、以下の２つのいずれかの手順を用いることも本実施形態に含まれる。
【０１５０】
（１）Ｓ３５０２において、書き込み対象のコンテンツのビットレートの情報および、コンテンツ格納先管理テーブル２４８より得られる、ストレージ１６１に格納されたコンテンツのビットレート１６０３の情報から、登録されるコンテンツのビットレートが、ストレージ１６１に格納されたコンテンツのビットレート１６０３の平均値と最も近いストレージ１６１を選択する。対象となるストレージ１６１が複数存在する場合は、空き領域が最も大きなストレージ１６１を選択する。
【０１５１】
（２）Ｓ３５０２において、１つのストレージ１６１に格納されるコンテンツのビットレートを統一するために、書き込み対象のコンテンツのビットレートの情報および、コンテンツ格納先管理テーブル２４８より得られる、ストレージ１６１に格納されたコンテンツのビットレート１６０３の情報から、登録されるコンテンツのビットレートが、ストレージ１６１に格納された、すべてのコンテンツのビットレート１６０３と一致するストレージ１６１を選択する。対象となるストレージ１６１が複数存在する場合は、空き領域が最も大きなストレージ１６１を選択する。
【０１５２】
図３６は、ファイルサーバ１４のキャッシュ制御プログラム２４６におけるコンテンツの先頭部分２６１のコンテンツキャッシュ１４３への格納処理のフローチャートである。
【０１５３】
Ｓ３６０１において、ストレージ１６１に書き込まれたコンテンツ２６０のビットレートをコンテンツ格納先管理テーブル２４８から取得する。Ｓ３６０２において、ストレージ性能管理プログラム２４７より、コンテンツが書き込まれたストレージ１６１のストレージ読み出し性能２２００を取得する。Ｓ３６０３において、ストレージ読み出し性能２２００を元に、コンテンツキャッシュ１４３への書き込みが必要なコンテンツの先頭部分２６１のサイズを算出する。このサイズは、コンテンツ２６０が格納されたストレージ１６１から、コンテンツブロックの１単位分を読み出すために必要な時間の再生が可能な大きさのコンテンツの先頭部分２６１を格納できるサイズ（最小キャッシュサイズ）とする。
【０１５４】
Ｓ３６０４において、算出したサイズのコンテンツの先頭部分２６１をストレージ１６１に格納されたコンテンツ２６０から読み出し、コンテンツキャッシュ１４３に書き込む（格納する）。Ｓ３６０５において、コンテンツキャッシュ１４３に格納したコンテンツの先頭部分２６１のサイズを、コンテンツ格納先管理テーブル２４８のキャッシュサイズ１６０５に登録し、コンテンツの先頭部分２６１のコンテンツキャッシュ１４３内の格納先を、コンテンツ格納先管理テーブル２４８のキャッシュ格納先１６０６に登録することで、コンテンツ格納先管理テーブル２４８の情報を更新する。
【０１５５】
本実施形態では、以下の（１）〜（９）に示す手段を用いて、コンテンツキャッシュの管理、コンテンツの読み出し処理およびコンテンツの登録処理を制御することとした。
【０１５６】
（１）コンテンツ（映像ストリームなど）のビットレートおよびコンテンツが格納されたストレージからのデータ読み出し性能の情報を用いて、ストレージから、各コンテンツの配信および管理の単位である１つのコンテンツブロックを読み出すために必要な時間を求める手段
【０１５７】
（２）各コンテンツについて、（１）で求めた時間、配信先でコンテンツを再生するために必要なコンテンツのサイズを算出し、ファイルサーバ上の、算出した必要サイズの合計より大きなサイズを持つ、高速な読み出しが可能なコンテンツキャッシュに対して、各コンテンツから、コンテンツキャッシュに格納可能な範囲で、前記で算出したサイズを上回る大きさのコンテンツの先頭部分をストレージから読み出し、コンテンツキャッシュに格納する手段
【０１５８】
（３）コンテンツの読み出し要求に対して、まず、（２）によりコンテンツキャッシュに格納されたコンテンツの先頭部分を読み出し、このコンテンツの先頭部分の再生に要する時間と、ストレージから１つのコンテンツブロックを読み出すために必要な時間より、クライアントにおけるコンテンツ再生停止が起きないようにするための、ストレージに格納されたコンテンツの読み出し開始時間を決定し、その時間までは、ストレージに格納されたコンテンツの読み出しを停止する手段
【０１５９】
（４）（３）によるコンテンツの読み出しを停止している期間中に、同一コンテンツに対して、コンテンツキャッシュに格納されたコンテンツの配信が完了する読み出し要求がある場合は、ストレージ上に格納されたコンテンツの読み出し要求を統合する手段
【０１６０】
（５）１つのストレージから、複数のコンテンツを読み出す際には、配信済みのコンテンツの再生完了までの時間が短いコンテンツを優先的に読み出すことで、クライアントにおける再生停止を防止する手段
【０１６１】
（６）あるストレージに格納されたコンテンツの読み出し頻度が増大し、ストレージの読み出し性能が、読み出したコンテンツの再生速度（ビットレート）から得られる限界値以下になった場合は、そのストレージに格納されたコンテンツのコンテンツキャッシュに格納するコンテンツの先頭部分のサイズを増大することで、ストレージに対するアクセス頻度を低減させ、ストレージの読み出し性能が、限界値以下にならないようにする手段
【０１６２】
（７）（６）において、コンテンツの先頭部分のサイズを増大するコンテンツには、アクセス頻度が高いコンテンツを優先的に割り当てることで、効率的にストレージに対するアクセス頻度を低減する手段
【０１６３】
（８）（６）でコンテンツキャッシュの容量が不足する場合は、ストレージからのコンテンツ読み出し性能がクライアントにおける再生速度（ビットレート）を上回るストレージに格納されたコンテンツのコンテンツキャッシュに格納したコンテンツの先頭部分のサイズを小さくすることで、必要な容量を確保する手段
【０１６４】
（９）コンテンツを登録する際に、コンテンツのビットレートとストレージの読み出し性能と既にストレージに登録されているコンテンツのビットレートとを用いて、登録先のストレージを選択する手段
【０１６５】
本実施形態では、ファイルサーバが、ストレージからよりも高速なコンテンツの読み出しが可能なコンテンツキャッシュに、コンテンツの先頭から切り出したコンテンツの先頭部分を格納し、クライアントからコンテンツ読み出しの要求を受け付けると、コンテンツキャッシュに格納されたコンテンツの先頭部分をクライアントに返却し、返却したコンテンツの先頭部分に続く、ストレージに格納されたコンテンツの残りの部分をクライアントに返却することとした。これによれば、コンテンツの格納に必要な資源の増大を防止するとともに、クライアントがコンテンツ読み出し要求を出してからクライアントにおいてコンテンツの再生を開始するまでの待ち時間を短縮することが可能である。
【０１６６】
また、一般に、メディアサーバに格納されたコンテンツに対するアクセス頻度は、コンテンツ登録後、短期間で急激に増大し、ピークを迎え、以降は、次第にアクセスが減少する。このようなコンテンツについては、各コンテンツに対するキャッシュサイズを固定で割り当てるキャッシュキャッシュサーバを設置しても、コンテンツに対するキャッシュサーバの性能を上回るアクセスが発生する可能性が高い。一方、本実施形態によれば、コンテンツに対するアクセス頻度に応じて、コンテンツの先頭部分を格納するキャッシュのサイズを変更し、読み出し性能を動的に制御することが可能である。
【図面の簡単な説明】
【０１６７】
【図１】システム構成図
【図２】プラグラムのモジュール関連図
【図３】本システムにおけるコンテンツ読み出しおよび配信処理のシーケンス図
【図４】ストリームデータの構造およびコンテンツブロックの説明図
【図５】クライアントにおけるコンテンツ再生プログラムのフローチャート
【図６】メディアサーバにおけるコンテンツ配信プログラムのフローチャート
【図７】メディアサーバのコンテンツ配信プログラムが使用するコンテンツ配信先管理テーブルのデータ構造
【図８】メディアサーバのコンテンツ管理プログラムにおけるコンテンツ読み出し要求処理のフローチャート
【図９】メディアサーバにおけるコンテンツ管理テーブルのデータ構造
【図１０】メディアサーバにおけるコンテンツ読み出しプログラムのフローチャート
【図１１】ファイルサーバにおける読み出し要求管理プログラムのフローチャート
【図１２】ファイルサーバのファイルシステム管理プログラムにおけるコンテンツ有無チェック処理のフローチャート
【図１３】ファイルサーバのアクセス頻度管理プログラムにおけるアクセス頻度更新処理のフローチャート
【図１４】ファイルサーバのアクセス頻度管理プログラムが使用するコンテンツアクセス頻度管理テーブルのデータ構造
【図１５】ファイルサーバのアクセス頻度管理プログラムにおけるコンテンツアクセス頻度管理テーブル内で使用するアクセス数カウンタの決定方法および最新アクセス頻度算出方法の説明図
【図１６】ファイルサーバにおけるコンテンツ格納先管理テーブルのデータ構造
【図１７】ファイルサーバにおける読み出し制御プログラムのフローチャート（１／２）
【図１８】ファイルサーバにおける読み出し制御プログラムのフローチャート（２／２）
【図１９】ファイルサーバの読み出し制御プログラムが使用するコンテンツ読み出し管理テーブルのデータ構造
【図２０】ファイルサーバのストレージ性能管理プログラムにおけるストレージ性能監視処理のフローチャート
【図２１】ファイルサーバのストレージ性能管理プログラムが使用するストレージアクセス性能管理テーブル
【図２２】コンテンツ再生速度に基づくストレージ読み出し性能限界値の算出およびストレージ読み出し性能の時間による変化とストレージアクセス頻度限界値との相関図
【図２３】ファイルサーバのストレージ性能管理プログラムにおけるストレージ性能参照処理のフローチャート
【図２４】ファイルサーバにおけるキャッシュ制御プログラムのフローチャート
【図２５】コンテンツキャッシュに格納されたコンテンツの先頭部分のサイズ変更による読み出し要求統合数変化の説明図
【図２６】コンテンツキャッシュに格納されたコンテンツの先頭部分のサイズ増加によるストレージ読み出し性能向上の説明図
【図２７】ファイルサーバのキャッシュ制御プログラムにおける使用頻度が低いキャッシュ領域の解放処理のフローチャート（１／２）
【図２８】ファイルサーバのキャッシュ制御プログラムにおける使用頻度が低いキャッシュ領域の解放処理のフローチャート（２／２）
【図２９】クライアントにおけるコンテンツ登録プログラムのフローチャート
【図３０】メディアサーバにおけるコンテンツ受付プログラムのフローチャート
【図３１】メディアサーバのコンテンツ管理プログラムにおけるコンテンツ更新要求処理のフローチャート
【図３２】メディアサーバにおけるコンテンツ更新プログラムのフローチャート
【図３３】ファイルサーバにおける更新要求管理プログラムのフローチャート
【図３４】ファイルサーバの更新制御プログラムにおけるコンテンツ削除処理のフローチャート
【図３５】ファイルサーバの更新制御プログラムにおけるコンテンツ書き込み処理のフローチャート
【図３６】ファイルサーバのキャッシュ制御プログラムにおけるコンテンツの先頭部分のキャッシュ格納処理のフローチャート
【符号の説明】
【０１６８】
１０（１０Ａ，１０Ｂ）  クライアント
１１    メディアサーバ
１２    ネットワーク監視サーバ
１３    ＷＡＮ
１４    ファイルサーバ
１５    ＬＡＮ
１６    ストレージサーバ
１７    ＳＡＮ
１００  ＣＰＵ
１０１  メモリ
１０２  ハードディスク
１０３  入力装置
１０４  表示装置
１０５  ＷＡＮアダプタ
１０６  システムバス
１１０  ＣＰＵ
１１１  メモリ
１１２  ハードディスク
１１３  ＷＡＮアダプタ
１１４  ＬＡＮアダプタ
１１５  システムバス
１２０  ＣＰＵ
１２１  メモリ
１２２  ハードディスク
１２３  ＷＡＮアダプタ
１２４  システムバス
１４０  ＣＰＵ
１４１  メモリ
１４２  ハードディスク
１４３  コンテンツキャッシュ
１４４  ＬＡＮアダプタ
１４５  ＳＡＮアダプタ
１４６  システムバス
１６０  コントローラ
１６１（１６１Ａ，１６１Ｂ）  ストレージ
１６２  ＳＡＮアダプタ
１６３  システムバス
２００  コンテンツ再生プログラム
２０１  コンテンツ登録プログラム
２０２  コンテンツ格納領域
２１０  コンテンツ配信プログラム
２１１  コンテンツ受付プログラム
２１２  コンテンツ管理プログラム
２１３  コンテンツ読み出しプログラム
２１４  コンテンツ更新プログラム
２１５  コンテンツ管理テーブル
２１６  コンテンツ格納領域
２２０  ネットワーク監視プログラム
２２１  アクセス先制御プログラム
２２２  監視データ格納領域
２２３  メディアサーバ管理データ格納領域
２４０  ファイルシステム管理プログラム
２４１  読み出し要求管理プログラム
２４２  アクセス頻度管理プログラム
２４３  読み出し制御プログラム
２４４  更新要求管理プログラム
２４５  更新制御プログラム
２４６  キャッシュ制御プログラム
２４７  ストレージ性能管理プログラム
２４８  コンテンツ格納先管理テーブル
２４９  ファイルシステム管理情報格納領域
２６０（２６０Ａ，２６０Ｂ）  （ストレージに格納された）コンテンツ
２６１  （コンテンツキャッシュに格納されたコンテンツ）先頭部分
３００Ａ，３００Ｂ  （コンテンツ読み出し処理）シーケンス
３０１Ａ，３０１Ｂ  （クライアントからのコンテンツ）配信要求
３０２Ａ，３０２Ｂ  （メディアサーバからファイルサーバに対するコンテンツ）読み出し要求
３０３Ａ，３０３Ｂ  キャッシュ読み出し（キャッシュ内コンテンツの読み出し）
３０４  （コンテンツの）読み出し停止
３０５  読み出し統合（ストレージ内コンテンツの読み出し要求の統合）
３０６  ストレージ読み出し（ストレージ内コンテンツの読み出し）
３０７（３０７Ａ，３０７Ｂ）  （メディアサーバからクライアントへのコンテンツ）配信
３０８Ａ，３０８Ｂ  （クライアントにおける）キャッシュ内コンテンツ再生
３０９Ａ，３０９Ｂ  （クライアントにおけるストレージ内）コンテンツ再生
４００  コンテンツブロック
４０１  （ストリームデータにおける）パック
４０２  （ストリームデータにおけるパックの）ヘッダ
４０３  （ストリームデータにおける）パケット
４０４  （ストリームデータにおけるパケットの）ヘッダ
４０５  （ストリームデータにおける）エレメンタリストリーム
７００  コンテンツ配信先管理テーブル
１４００  コンテンツアクセス頻度管理テーブル
１５０１  アクセス頻度算出単位時間
１５０２（１５０２Ａ，１５０２Ｂ）  アクセス数カウンタ変更時刻
１５０３  現在時刻
１５０４  最新アクセス頻度算出期間
１９００  コンテンツ読み出し管理テーブル
２１００  ストレージアクセス性能管理テーブル
２２００  ストレージ読み出し性能
２２０１  コンテンツ再生速度
２２０２  性能マージン
２２０３  ストレージ読み出し性能限界値
２２０４  性能余裕値
２２０５  ストレージアクセス頻度
２２０６  ストレージアクセス頻度限界値
２２０７  ストレージ読み出し性能不足
２２０８  ストレージアクセス頻度限界値超過
２５００Ａ，２５００Ｂ  読み出し要求
２５０１Ａ，２５０１Ｂ  キャッシュ内コンテンツの読み出し
２５０２Ａ，２５０２Ｂ  読み出し停止
２５０３Ａ，２５０３Ｂ  読み出し要求の統合
２５０４Ａ，２５０４Ｂ  ストレージ内コンテンツの読み出し
２６０１  コンテンツキャッシュ格納サイズ増加
２６０２  （コンテンツキャッシュ格納サイズを変更しない場合の）ストレージ読み出し性能
２６０３  （コンテンツキャッシュ格納サイズを変更しない場合の）ストレージアクセス頻度
【図１】
2008204055.tif 000003
【図２】
2008204055.tif 000004
【図３】
2008204055.tif 000005
【図４】
2008204055.tif 000006
【図５】
2008204055.tif 000007
【図６】
2008204055.tif 000008
【図７】
2008204055.tif 000009
【図８】
2008204055.tif 000010
【図９】
2008204055.tif 000011
【図１０】
2008204055.tif 000012
【図１１】
2008204055.tif 000013
【図１２】
2008204055.tif 000014
【図１３】
2008204055.tif 000015
【図１４】
2008204055.tif 000016
【図１５】
2008204055.tif 000017
【図１６】
2008204055.tif 000018
【図１７】
2008204055.tif 000019
【図１８】
2008204055.tif 000020
【図１９】
2008204055.tif 000021
【図２０】
2008204055.tif 000022
【図２１】
2008204055.tif 000023
【図２２】
2008204055.tif 000024
【図２３】
2008204055.tif 000025
【図２４】
2008204055.tif 000026
【図２５】
2008204055.tif 000027
【図２６】
2008204055.tif 000028
【図２７】
2008204055.tif 000029
【図２８】
2008204055.tif 000030
【図２９】
2008204055.tif 000031
【図３０】
2008204055.tif 000032
【図３１】
2008204055.tif 000033
【図３２】
2008204055.tif 000034
【図３３】
2008204055.tif 000035
【図３４】
2008204055.tif 000036
【図３５】
2008204055.tif 000037
【図３６】
2008204055.tif 000038