(57)【要約】【課題】  ストリーミングサービスにおいて、特定の人気コンテンツへアクセスが集中することで、ストレージ性能がボトルネックとなり、配信性能が低下する問題がある。従来、事前にアクセス集中が予測されるコンテンツの複製を作成し配信性能の低下を抑制する方法があったが、管理者負荷が高く、事前予測が困難という課題がある【解決手段】  ストリーミングサーバプログラムはストレージ装置のオリジナルコンテンツ格納領域のコンテンツを配信し、サーバ計算機はコンテンツ配信状況を監視し、複製作成・削除基準を満たすコンテンツの複製をプール記憶領域に作成する。該複製コンテンツの配信に当たって、オリジナルおよびプール記憶領域の両領域よりデータを配信することで、配信ボトルネックの抑制を図る。本発明により、アクセス集中を自動的に検知し、コンテンツの全体または一部を自動的に複製し、事前予測を不要にすることで管理者負荷を軽減する。【選択図】  図２
2010102464.tif 000002
【特許請求の範囲】
【請求項１】
サーバ計算機と、前記サーバ計算機に接続されるストレージ装置と、を備える計算機システムであって、
前記ストレージ装置は、第一の記憶装置と、第二の記憶装置と、を有し、
前記サーバ計算機は、前記第一の記憶装置に格納されているストリーミングデータへのアクセスがあった場合、前記第一の記憶装置から前記データを配信し、
前記サーバ計算機は、前記データへのアクセスが所定の条件を満たす場合に、データを複製する範囲を前記ストレージ装置に通知し、
前記ストレージ装置は、前記データの通知された範囲を前記第一の記憶装置から前記第二の記憶装置に複製することを特徴とする計算機システム。
【請求項２】
前記サーバ計算機は、配信開始から終了までの配信時間を計測し、前記配信時間と、前記配信時間までを配信の対象としたクライアント計算機の数より、前記配信時間まで配信したクライアント計算機の数が一定割合以下になる時間を求め、前記データの前記一定割合以下になる時間までの範囲を複製すると決定することを特徴とする請求項１記載の計算機システム。
【請求項３】
前記サーバ計算機は、前記データへのアクセス頻度を計測し、前記データへのアクセス頻度が一定値以上であれば、前記データを複製することを前記ストレージ装置へ通知することを特徴とする請求項１記載の計算機システム。
【請求項４】
前記サーバ計算機は、前記複製されたデータへのアクセス頻度を計測し、前記複製されたデータへのアクセス頻度が一定値以上であれば、前記複製されたデータを複製することを前記ストレージ装置へ通知することを特徴とする請求項３記載の計算機システム。
【請求項５】
前記サーバ計算機は、前記データへのアクセスがあった場合、前記第一の記憶装置に格納された前記データまたは前記第二の記憶装置に格納された前記複製されたデータの何れかを配信することを特徴とする請求項１記載の計算機システム。
【請求項６】
前記サーバ計算機は、前記データと前記複製されたデータの論理ブロックアドレスの対応関係を保持し、前記データを構成するブロックへのアクセスがあった場合、前記データを構成するブロックに対応する、前記複製されたデータを構成するブロックが存在する場合、
前記データを構成するブロックまたは前記複製されたデータを構成するブロックを配信することを特徴とする請求項５記載の計算機システム。
【請求項７】
前記サーバ計算機は、前記データを複製する際、前記第二の記憶装置に前記データを格納する領域があるかを確認し、前記第二の記憶装置に前記データを格納する領域がない場合、前記第二の記憶装置に格納されたデータへのアクセスが所定の条件を満たす場合に、前記第二の記憶装置のデータを削除する指示を前記ストレージ装置に通知し、
前記ストレージ装置は、前記指示のあったデータを削除することを特徴とする、請求項１記載の計算機システム。
【請求項８】
前記サーバ計算機は、前記第二の記憶装置のデータへのアクセス頻度を計測し、前記アクセス頻度が一定値より小さければ、前記第二の記憶装置のデータを削除すると判断することを特徴とする請求項７記載の計算機システム。
【請求項９】
サーバ計算機と、前記サーバ計算機に接続され、第一の記憶装置と、第二の記憶装置と、を有するストレージ装置と、を備える計算機システムのデータ複製方法であって、
前記サーバ計算機は、前記第一の記憶装置に格納されているストリーミングデータへのアクセスがあった場合、前記第一の記憶装置から前記データを配信し、
前記サーバ計算機は、前記データへのアクセスが所定の条件を満たす場合に、データを複製する範囲を前記ストレージ装置に通知し、
前記ストレージ装置は、前記データの通知された範囲を前記第一の記憶装置から前記第二の記憶装置に複製することを特徴とする計算機システムのデータ複製方法。
【請求項１０】
前記サーバ計算機は、配信開始から終了までの配信時間を計測し、前記配信時間と、前記配信時間までを配信の対象としたクライアント計算機の数より、前記配信時間まで配信したクライアント計算機の数が一定割合以下になる時間を求め、前記データの前記一定割合以下になる時間までの範囲を複製すると決定することを特徴とする請求項９記載の計算機システムのデータ複製方法。
【請求項１１】
前記サーバ計算機は、前記データへのアクセス頻度を計測し、前記データへのアクセス頻度が一定値以上であれば前記データを複製することを前記ストレージ装置に通知することを特徴とする請求項９記載の計算機システムのデータ複製方法。
【請求項１２】
前記サーバ計算機は、前記複製されたデータへのアクセス頻度を計測し、前記複製されたデータへのアクセス頻度が一定値以上であれば前記複製されたデータを複製することを前記ストレージ装置に通知することを特徴とする請求項１１記載の計算機システムのデータ複製方法。
【請求項１３】
前記サーバ計算機は、前記データへのアクセスがあった場合、前記第一の記憶装置に格納された前記データまたは前記第二の記憶装置に格納された前記複製されたデータの何れかを配信することを特徴とする請求項９記載の計算機システムのデータ複製方法。
【請求項１４】
前記サーバ計算機は、前記データと前記複製されたデータの論理ブロックアドレスの対応関係を保持し、前記データを構成するブロックへのアクセスがあった場合、前記データを構成するブロックに対応する、前記複製されたデータを構成するブロックが存在する場合、
前記データを構成するブロックまたは前記複製されたデータを構成するブロックを配信することを特徴とする請求項１３記載の計算機システムのデータ複製方法。
【請求項１５】
前記サーバ計算機は、前記データを複製する際、前記第二の記憶装置に前記データを格納する領域があるかを確認し、前記第二の記憶装置に前記データを格納する領域がない場合、前記第二の記憶装置に格納されたデータへのアクセスが所定の条件を満たす場合に、前記第二の記憶装置のデータを削除する指示を前記ストレージ装置に通知し、
前記ストレージ装置は、前記指示のあったデータを削除することを特徴とする、請求項９記載の計算機システムのデータ複製方法。
【請求項１６】
前記サーバ計算機は、前記第二の記憶装置のデータへのアクセス頻度を計測し、前記アクセス頻度が一定値より小さければ、前記第二の記憶装置のデータを削除すると判断することを特徴とする請求項１５記載の計算機システムのデータ複製方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主にストリーミングサーバ向けにコンテンツを格納するストレージおよび計算機システムに関し、コンテンツを複製し、効率よく配信する方法に関する。
【背景技術】
【０００２】
ストリーミングサービスような映画やビデオのようなメディアコンテンツを配信する形態では、メディアコンテンツをストレージに格納し、ウィンドウズ（登録商標）メディアサーバのような配信ソフトウェアをサーバ上で稼動させ、メディアをストリーミングとして提供する。このとき、配信性能は配信サーバの処理能力やストレージの処理性能に影響される。
【０００３】
ストリーミングサービスにおいて、特定のコンテンツに人気が集中することにより、ストレージのディスク性能がボトルネックとなり、配信性能が低下することがある。これに対して、事前に人気を集めそうなコンテンツの複製を、ストレージで作成し、ボトルネックを回避する方法があるが、管理者が行うため、管理者の負荷が高い。また、コンテンツの動的ミラーリング方法として、コンテンツの複製を動的に作成する方法はある（特許文献1）。
【０００４】
【特許文献１】特開２００３−６７２７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術では、管理者負荷を軽減するものの、該文献ではサーバのＣＰＵ負荷、コンテンツ転送セッション数、スループットしか見ておらず、これらはストリーミングメディアに特化したパラメタではない。また、サーバ間でミラーリングを行っており、複数サーバの使用を前提としているため、配信のために必要な機器コストが高価である。
【０００６】
本発明は、コンテンツを格納するストレージとサーバからなる計算機システムにおいて、アクセス集中を監視し、低廉な機器コストで、管理者負荷を低減するのが目的である。
【課題を解決するための手段】
【０００７】
上記課題の解決のために、本発明は以下の構成を有する。
【０００８】
サーバ計算機と、前記サーバ計算機に接続されるストレージ装置と、を備える計算機システムであって、前記ストレージ装置は、第一の記憶装置と、第二の記憶装置と、を有する。サーバ計算機は、第一の記憶装置に格納されているストリーミングデータへのアクセスがあった場合、第一の記憶装置からデータを配信し、データへのアクセスが所定の条件を満たす場合に、データを複製する範囲をストレージ装置に通知する。そして、ストレージ装置は、データの通知された範囲を第一の記憶装置から第二の記憶装置に複製する。
【０００９】
サーバ計算機は、配信開始から終了までの配信を計測し、前記配信と、配信時間までを配信の対象としたクライアント計算機の数より、配信時間まで配信したクライアント計算機の数が一定割合以下になる時間を求め、データの一定割合以下になる時間までの範囲を複製すると決定する。
【００１０】
サーバ計算機は、データへのアクセス頻度を計測し、データへのアクセス頻度が一定値以上であれば、データを複製するとストレージ装置に通知する。
【００１１】
サーバ計算機は、複製されたデータへのアクセス頻度を計測し、複製されたデータへのアクセス頻度が一定値以上であれば、複製されたデータを複製するとストレージ装置に通知する。
【００１２】
サーバ計算機は、データへのアクセスがあった場合、第一の記憶装置に格納されたデータまたは前記第二の記憶装置に格納された複製されたデータの何れかを配信する。
【００１３】
サーバ計算機は、データと複製されたデータの論理ブロックアドレスの対応関係を保持し、データを構成するブロックへのアクセスがあった場合、データを構成するブロックに対応する、複製されたデータを構成するブロックが存在する場合、データを構成するブロックまたは複製されたデータを構成するブロックを配信する。
【００１４】
サーバ計算機は、データを複製する際、第二の記憶装置にデータを格納する領域があるかを確認し、第二の記憶装置にデータを格納する領域がない場合、第二の記憶装置に格納されたデータへのアクセスが所定の条件を満たす場合に、第二の記憶装置のデータを削除する指示を前記ストレージ装置に通知し、ストレージ装置は、前記指示のあったデータを削除する。
【００１５】
サーバ計算機は、第二の記憶装置のデータへのアクセス頻度を計測し、アクセス頻度が一定値より小さければ、第二の記憶装置のデータを削除すると判断する。
【発明の効果】
【００１６】
本発明により、ストリーミングシステムにおけるアクセス集中が起きた際のストレージボトルネックを抑制し、コンテンツへのアクセスパターン情報より、複製内容を決定し、複製を自動的に作成することで、管理コストの低減が可能となる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を詳細に説明する。ただし、本発明が以下の実施形態に限定されることはなく、本発明には以下に示す実施形態と類似した構成も含まれる。
【実施例１】
【００１８】
図１は、本実施形態の計算機システムの構成例を示す図である。
【００１９】
計算機システムは、サーバ計算機２００とストレージ装置２２０とからなる。計算機システムに、管理計算機２１０およびクライアント計算機２５０が接続される。
【００２０】
サーバ計算機２００と管理計算機２１０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ハブ（またはスイッチ）２３０およびケーブルを介して相互に接続されている。ＬＡＮハブ（またはスイッチ）２３０とネットワークをまとめてＬＡＮと呼ぶこともある。なお、サーバ計算機２００と管理計算機２１０とを接続するネットワークはＬＡＮでなくてもよい。
【００２１】
サーバ計算機２００とストレージ装置２２０は、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ハブ（またはスイッチ）２４０およびケーブルを介して相互に接続されている。ＳＡＮハブ２４０とネットワークをまとめてＳＡＮと呼ぶこともある。なお、サーバ計算機２００とストレージ装置２４０とを接続するネットワークはＬＡＮでなくてもよい。
【００２２】
サーバ計算機２００とクライアント計算機２５０はネットワーク２６０を介して相互に接続される。なお、サーバ計算機２００とクライアント計算機２５０とを接続するネットワークはＬＡＮ、ＳＡＮ、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等である。
【００２３】
サーバ計算機２００は、ＣＰＵ２０１、主記憶２０２、ＣＤ−ＲＯＭ装置２０３、ＳＡＮ  Ｉ／Ｆ２０４、ＬＡＮ  Ｉ／Ｆ２０５、２０７、ディスク装置２０６および配信部１２３を有する。そして、これらの装置がコントローラ２０９によって相互に接続されている。
【００２４】
ストリーミングサーバプログラム１２０および管理サーバプログラム１４０などのプログラムおよびデータは、ディスク装置２０６に格納されている。ＣＰＵ２０１は、これらのプログラムを主記憶２０２にロードして実行する。
【００２５】
また、これらのプログラムとデータを、管理計算機２１０のディスク装置２１６に格納してもよく、ストレージ装置２２０の物理デバイスに格納してもよい。
【００２６】
ＣＰＵ２０１は、ストリーミングサーバプログラム１２０を実行し、ストレージ装置２２０に格納されたコンテンツを読み込み、クライアント計算機２５０に配信し、コンテンツのアクセスパターン情報１２１を出力する。また、ＣＰＵ２０１は、管理サーバプログラム１４０を実行し、コンテンツのアクセスパターン情報１２１を収集し、コンテンツの複製を作成するかを判断し、ストレージ装置２２０に複製を指示する。
【００２７】
ここで、コンテンツとは映画等の動画データであり、時間経過に伴って動画が再生される。このデータは、映像部分と音声部分を含んでいる。また、このデータは、キーフレームと差分フレームからなる。コンテンツの再生の形態としては、通常スピードでの再生、早送り、巻き戻し、一時停止等がある。また、コンテンツが途中から再生されることや、中断されることもある。
【００２８】
管理計算機２１０は、ストリーミングサーバプログラム１２０および管理サーバプログラム１４０の実行管理と、配信目標や使用するプールの選択を設定する。計算機システムの管理者が、管理計算機２１０を用いて、計算機システムの管理および更新を行う。
【００２９】
管理計算機２１０は、ＣＰＵ２１１、主記憶２１２、ＣＤ−ＲＯＭ装置２１３、ＬＡＮ  Ｉ／Ｆ２１４、ディスク装置２１６および装置間相互を接続するコントローラ２１７を有する。
【００３０】
管理計算機９１０のディスク装置９１６には、管理計算機プログラム１３０が格納されている。
【００３１】
また、これらのプログラムとデータを、サーバ計算機２００のディスク装置２０６に格納してもよく、ストレージ装置２２０の物理デバイスに格納してもよい。
【００３２】
ストレージ装置２２０は、ＳＡＮ  Ｉ／Ｆ２２１、ストレージ制御プロセッサ２２２、記憶２２３、および物理デバイス２２５〜２２８を有する。そして、これらの装置がバス２２９によって相互に接続されている。ストレージ制御プロセッサ２２２は、ストレージ装置２２０において、コンテンツ管理部１０２を記憶２２３に読み込み、ブロック情報の受信やテーブルの更新等を行う。物理デバイス２２５〜２２８は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｅｖｉｃｅ）等である。
【００３３】
なお、本実施形態は、サーバ計算機２００と管理計算機２１０とストレージ装置２２０を有する構成としたが、これを一台の計算機とストレージ装置で行ってもよい。また、サーバ計算機２００と管理計算機２１０とストレージ装置２２０とクライアント計算機２０８は、それぞれ複数から構成されてもよい。
【００３４】
図２は、本実施形態におけるプログラム構成およびデータ構成の例を示す図である。本図では例として、ストリーミングサーバプログラム１２０と、コンテンツを格納するストレージ装置１００と、コンテンツの管理を行う管理サーバプログラム１４０と、配信目標等の管理を行う管理計算機プログラム１３０を例として説明する。なお、配信目標情報１３１、プール選択基準１３２、コンテンツ分離・性能予測１４３、プール管理情報１４４、オリジナルコンテンツ情報１４５、複製コンテンツ情報１４６、複製作成・削除基準１４７は、任意の場所に配置される。それぞれの詳細は後に説明する。
【００３５】
また、以下の構成要素の一部が専用のハードウェアによって実現されていてもよい。
【００３６】
ストリーミングサーバプログラム１２０は、ストレージ装置１００に格納されたコンテンツをドライバ１２４を用いて読み込み、配信部１２３を用いてクライアント計算機２５０に配信し、アクセスパターン監視部１２２を用いてアクセスパターン情報１２１を出力する。
【００３７】
プール管理部１４１は、アクセスパターン情報１２１を監視し、複製作成・削除基準１４７と照合し、条件を満たすコンテンツを複製すると決定する。複製を作成する際、必要に応じて冒頭のみやキーフレームのみ等の複製する部分を決定し、格納するプールを決定する。決定に基づいて、ストレージ装置１００に複製を指示する。
【００３８】
ストレージ装置１００のコンテンツ管理部１０２は、プール管理部１４１より受信した情報を元に、オリジナルコンテンツ格納領域１０６からプール記憶領域１０４にコンテンツを複製する。
【００３９】
ドライバ１２４は、複製を作成したコンテンツに配信要求があった場合、オリジナルコンテンツ情報１４５および複製コンテンツ情報１４６をもとに、オリジナルコンテンツ格納領域またはプール記憶領域から交互にデータを取得するなどし、アクセス負荷を分散する。このとき、ポートコントローラ１０１Ａおよび１０１Ｂを複数使うなどしてさらに負荷を軽減してもよい。ストレージ装置１００は、コンテンツへの要求をドライバ１２４から受信した場合、オリジナル複製ブロック対応情報１１５を用いて、オリジナルコンテンツ格納領域１０６またはプール記憶領域１０４から交互にデータを取得するなどし、ストレージ側で負荷分散を行ってもよい。
【００４０】
管理計算機プログラム１３０は、配信目標情報１３１およびプール選択基準１３２を定義する。
【００４１】
ここで、本実施形態における計算機システムの処理の概略を説明する。なお、以下の説明でプログラムが主語になる場合は、実際はそのプログラムを実行する装置が処理を実行する。
【００４２】
計算機システム管理者は、管理計算機プログラム１３０を用いて、配信目標情報１３１の目標値１００４と優先順位１００４、およびプール選択基準１３２の優先度７０３、および複製作成削除基準１４７の値６０４を設定する。また、ストリーミングサーバプログラム１２０および管理サーバプログラムの起動・終了管理を行う。
【００４３】
以下では、通常の配信中において、アクセス集中が起きた場合の処理を説明する。
【００４４】
ストリーミングサーバプログラム１２０は配信部１２３を用いてストレージ装置１００のオリジナルコンテンツ格納領域１０６に格納されているコンテンツを読み込み、クライアント計算機２５０に配信すると同時に、アクセスパターン監視部１２２はその配信状況を監視し、アクセスパターン情報１２１を出力する。
【００４５】
管理サーバプログラム１４０のプール管理部１４１は、アクセスパターン情報１２１を監視し、複製作成・削除基準１４７と照合し、配信中のコンテンツにおいて複製作成基準を満たすコンテンツがあれば、プール管理情報１４４より該コンテンツを格納可能なプール記憶領域１０４を検索し、複製内容・性能予測情報１４３を用いて格納可能なプールに格納した場合の性能予測を行う。このとき、必要に応じてコンテンツ分析部１４２を用いてコンテンツの前処理を行った場合についても試算する。その後、プール選択基準１３２を用いて、割り当てるプールを決定し、コンテンツ管理部１０２に複製を指示する。
【００４６】
ストレージ装置１００は、コンテンツ管理部１０２より受信した情報を元に、オリジナルコンテンツ格納領域１０６に格納されているコンテンツをプール記憶領域１０４に複製し、プール管理情報１４４を更新し、また複製した旨を管理サーバプログラム１４０に通知する。
【００４７】
複製後、プール管理部１４１は、プール管理情報１４４および複製コンテンツ情報１４６およびオリジナルコンテンツ情報１４４を更新する。管理サーバプログラム１４０はオリジナルコンテンツ情報１４５および複製コンテンツ情報１４６を元に、アクセスを分散するコンテンツに関する情報として、ストリーミングサーバプログラムのドライバ１２４に通知する。ストリーミングサーバプログラム１２０は該コンテンツの配信に当たって、ドライバ１２４を用いて、オリジナルコンテンツ格納領域１０６およびプール記憶領域１０４の両領域よりデータを受信し配信することで、配信性能低下の抑制を図る。
【００４８】
なお、アクセスの分散に当たっては、ドライバ１２４ではなく、ストレージ装置１００がオリジナル複製ブロック対応情報１１５を用いて、オリジナルコンテンツ格納領域１０６およびプール記憶領域１０４の両領域よりデータを取得し送信することで、配信性能低下の抑制を図ってもよい。
【００４９】
次に、プールに複製したコンテンツの削除について説明する。プール管理部１４１は定期的にアクセスパターン情報１２１を監視し、複製作成・削除基準１４７と照合する。プールに格納された複製を削除する基準にマッチするコンテンツが存在した場合、該コンテンツを格納するプール記憶領域について複製コンテンツ情報１４６を検索し、当該ブロックについてその解除をコンテンツ管理部１０２に通知する。コンテンツ管理部１０２は、通知を受け取り、プール記憶領域の割当を解除し、オリジナル複製ブロック対応情報１１５およびプール管理情報１４４を更新し、プール管理部１４１に通知する。プール管理部１４１は、オリジナルコンテンツ情報１４５および複製コンテンツ情報１４６を更新する。
【００５０】
図３は、配信するコンテンツのリストおよびそのプロパティとリクエストと配信状況を記録するアクセスパターン情報１２１である。
【００５１】
アクセスパターン情報１２１は、ＩＤ３０１、コンテンツＵＲＬ３０２、画質／音質３０３、ファイルサイズ３０４、格納場所３０５、複製有無３０６、コンテンツの状態３０７、現在の転送レート３０８、ストリーム数３０９、総リクエスト数３３１０、リクエスト頻度３１１、配信情報３１２を有する。
【００５２】
なお、アクセスパターン情報１２１は、上述のフィールドに限定されず、その他のアクセスパターンにかかわる情報を記述するフィールドを含んでもよい。また、アクセスパターン情報１２１は、コンテンツ毎にレコードを記載したが、これを別の観点でまとめたものを１レコードとする表現にしてもよい。
【００５３】
コンテンツＵＲＬ３０２は、コンテンツの配信ＵＲＬである。画質／音質３０３は、コンテンツのレートと、ＳＤ（標準画質）、ＨＤ（高画質）等である。ファイルサイズ３０４は、コンテンツのファイルサイズである。格納場所３０５は、コンテンツが格納されている領域であるＬＵやＣａｃｈｅ等が記載される。複製有無３０６は、コンテンツが複製されていれば“Ｙｅｓ”、複製されていなければ“Ｎｏ”、複製されたコンテンツであれば“複製”が記載される。コンテンツの状態３０７は、コンテンツがオリジナルか複製かと、コンテンツの内容が記載される。コンテンツ全体が格納されていれば“全体”、前半部分が格納されていれば“前半”、映像部分が格納されていれば“映像”等が記載される。他に、コンテンツの一部が格納されていれば、“冒頭から１０分”、“２５分〜４５分”、“キーフレーム”等のコンテンツの内容が記載される。転送レート３０８は、現在の、コンテンツがサーバから配信される際の転送レートである。ストリーム数３０９は、現在配信されているストリームの数である。総リクエスト数３１０は、コンテンツへの現在までの、リクエスト数の合計である。一定期間（１時間、１日、１週間等）あたりのリクエスト数を表示してもよい。リクエスト頻度３１１は、単位時間当たりのリクエスト数である。リクエスト頻度を元に、複製を作成するかを判断する。配信情報３１２は、コンテンツのリクエストや配信の状況である。例えば、コンテンツの配信開始から１１：１５以内にクライアント計算機の５０％が配信を中止している、リクエストのうち１５％が配信されずにｔｉｍｅｏｕｔしている、等の情報が示される。配信情報としては、通常スピードで配信された(全フレームが実際の再生時間で送付された)フレーム／チャプタや、早送りやスキップされたチャプタ(Iフレームのみなどが送信された、全フレームを送付する前に次のチャプタの要求がきたなど)、ポーズがかけられた（再生中の一時停止）チャプタに関する情報などがある。配信情報３１１は、コンテンツを複製するか否かの判断や、複製範囲の決定に用いられる。
【００５４】
なお、これらのレコード表現において、以上の表現に限定されず、別の表記・表現をとってもよく、単数のテーブルで表現するのではなく、複数のテーブルの組み合わせで表現されてもよい。なお、レコードの個数は上記に限定されず、０以上の任意の数をとってよい
図４は、オリジナルのコンテンツの格納状況を示す、オリジナルコンテンツ情報１４５である。
【００５５】
オリジナルコンテンツ情報１４５は、コンテンツＵＲＬ４０２、フレーム４０３、種別４０４、格納ＬＵ：ＬＢＡ４０５、複製時処理４０６、複製先４０７をフィールドとして有する。なお、オリジナルコンテンツ情報１４５としては、上述のフィールドに限定されず、その他のオリジナルコンテンツを格納するブロックにかかわる情報を記述するフィールドを含んでもよい。また、オリジナルコンテンツ情報は、コンテンツ毎にレコードを記載したが、これを別の観点でまとめたものを１レコードとする表現にしてもよい。
【００５６】
フレーム４０３は、コンテンツが有するフレームである。種別４０４は、全体、前半、後半、映像、音声等、格納されているコンテンツの状態を表わす。格納ＬＵ：ＬＢＡ８０４は、コンテンツが格納されているＬＵとＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｒｅｓｓ）を表わす。複製時処理４０６は、複製する際に認める処理の内容を示す。処理には、前半部分、後半部分、冒頭部分、音声部分、映像部分、キーフレームの複製などがある。“Ａｎｙ”であれば、どの処理を行ってもよい。“部分のみ”であれば、コンテンツの一部を複製する処理のみを認める。他には、“音声優先”であれば、音声部分を優先的に複製する。また、“間引きを許す”であれば、差分フレームの間引きや、キーフレームのみの複製が可能となる。部分的な複製や間引きを許さないコンテンツであれば、“全体のみ”が記載される。複製先４０７は、複製した場合は複製場所を示し、複製していない場合は“Ｎｏ”が記載される。
【００５７】
なお、これらのレコード表現において、以上の表現に限定されず、別の表記・表現をとってもよく、単数のテーブルで表現するのではなく、複数のテーブルの組み合わせで表現されてもよい。なお、レコードの個数は上記に限定されず、０以上の任意の数をとってよい。
【００５８】
図５は、プールに複製したコンテンツの状況を示す、複製コンテンツ情報１４６である。複製コンテンツ情報１４６は、ＩＤ５０１、コンテンツＵＲＬ５０２、フレーム５０３、種別５０４、格納ＬＵ５０５、格納ＬＢＡ５０６、複製元ＬＵ５０７、複製元ＬＢＡ５０８、複製元も利用５０９を有する。なお、複製コンテンツ情報１４６としては、上述のフィールドに限定されず、その他の複製したコンテンツにかかわる情報を記述するフィールドを含んでもよい。また、複製コンテンツ情報１４６は、コンテンツの断片毎にレコードを記載したが、これを別の観点でまとめたものを１レコードとする表現にしてもよい。
【００５９】
コンテンツＵＲＬ５０２、フレーム５０３と種別５０４は、図４と同様のため説明を省略する。格納５０４は、複製されたコンテンツが格納されている場所を示す。ＬＢＡ５０６は、複製されたコンテンツが格納されているＬＢＡを示す。オリジナルＬＵ：ＬＢＡ５０７は、格納ＬＵ：ＬＢＡ４０５と同じ情報である。オリジナルの利用５０８は、コンテンツを配信する際、オリジナルのコンテンツを利用するか否かを示す。利用する場合は“Ｔ”を入力し、オリジナルと複製のコンテンツを併用して配信する。利用しない場合は“Ｆ”を入力する。複製したコンテンツのみで配信性能を確保できる場合は、オリジナルのコンテンツを利用しなくてもよい。
【００６０】
なお、これらのレコード表現において、以上の表現に限定されず、別の表記・表現をとってもよく、単数のテーブルで表現するのではなく、複数のテーブルの組み合わせで表現されてもよい。なお、レコードの個数は上記に限定されず、０以上の任意の数をとってよい。
【００６１】
図６は、プールにコンテンツを複製するか、複製したコンテンツを削除するか、の条件を示す複製作成・削除基準１４７である。複製作成・削除基準１４７は、ＩＤ６０１、配置基準６０２、比較６０３、値６０４、区分６０５をフィールドとして有する。配置基準６０２には、複製を作成または削除するための条件が記載される。比較６０３には、値６０４との大小を示す記号が入力される。値６０４には、複製作成または削除の基準となる値が記載される。区分６０５には、基準が複製作成に用いられる場合は“作成用”、複製削除に用いられる場合は“削除用”が記載される。なお、複製作成・削除基準１４７としては、上述のフィールドに限定されず、その他の複製作成・削除基準にかかわる情報を記述するフィールドを含んでもよい。また、複製作成・削除基準１４７は、作成・削除条件毎にレコードを記載したが、これを別の観点でまとめたものを１レコードとする表現にしてもよい。
【００６２】
レコード６５１〜６５６はプール割り当てに関する条件である。いずれかの条件を満たすコンテンツはプールに複製される。レコード６５１は、リクエスト頻度が６０／ｍｉｎを超えるコンテンツがプールに複製されることを示している。レコード６５２は、１日当たりのリクエスト数が１２０００を超えるコンテンツがプールに複製されることを示している。条件を満たせば、プールに格納されたコンテンツをさらに複製することも可能である。
【００６３】
レコード６５３〜６５４はプールに複製されたコンテンツを削除するための条件である。いずれかの条件を満たすコンテンツはプールから削除される。レコード６５３は、リクエスト頻度が１５／ｍｉｎより小さいコンテンツがプールから削除される対象であることを示している。レコード６５４は、１日当たりのリクエスト数が２０００より小さいコンテンツがプールから削除される対象であることを示している。  なお、これらのレコード表現において、以上の表現に限定されず、別の表記・表現をとってもよく、単数のテーブルで表現するのではなく、複数のテーブルの組み合わせで表現されてもよい。なお、レコードの個数は上記に限定されず、０以上の任意の数をとってよい。
【００６４】
図７は、複製を格納するプールの優先順位の条件であるプール選択基準１３２である。プール選択基準１３２は、ＩＤ７０１、ポリシー７０２、優先度７０３を有する。なお、プール選択基準１３２としては、上述のフィールドに限定されず、その他のプール選択基準にかかわる情報を記述するフィールドを含んでもよい。また、プール選択基準１３２は、基準毎にレコードを記載したが、これを別の観点でまとめたものを１レコードとする表現にしてもよい。
【００６５】
レコード７５１は、プールの選択基準として転送レートが最大となるものを選択することを示す“最高性能優先”が、ポリシー７０２に記載され、その優先度を示す数値である“１０”が優先度７０３に記載されている。“ＨＤＤ優先”、“キャッシュメモリ優先”は、プールの選択基準として、それぞれ、ＨＤＤを優先すること、キャッシュメモリを優先することを示す。“キャッシュメモリリソース利用効率優先”
レコード７５６は、プールの選択基準として転送レートが目標性能を最低満たすものを選択することを示す情報“性能ミニマム確保優先”が、ポリシー７０２に記載され、その優先度を示す数値である“１”が優先度７０３に記載されている。これらのとき、より優先度が高い条件であるレコード７５１が、レコード７５６より優先され、最高性能を確保するようにプールが選択されることとなる。
【００６６】
なお、これらのレコード表現において、以上の表現に限定されず、別の表記・表現をとってもよく、単数のテーブルで表現するのではなく、複数のテーブルの組み合わせで表現されてもよい。なお、レコードの個数は上記に限定されず、０以上の任意の数をとってよい。
【００６７】
図８は、複製内容・性能予測情報１４３を示す。複製内容・性能予測情報１４３は、あるコンテンツの複製をプールに作成する際に、全体を複製した場合や、前処理を行って部分的に複製した場合などのケースごとにその性能改善の程度や利用するプールの容量を予測するためのパラメタを記録している。複製内容・性能予測情報１４３は、ＩＤ８０１、ポリシー８０２、パラメタ８０３、利用容量８０４、性能改善式８０５を有する。ポリシー８０２は、複製を作成する際に行う処理の内容が記載されている。パラメタ８０３は、複製を作成する際に、使用する容量等を算出するために必要なパラメタである。利用容量８０４は、前処理を行って、プールへ複製する際に使用するプールの容量を示す。性能改善式８０５は、前処理を行って、プールへ複製する際に改善される転送速度の計算式を示す。なお、複製内容・性能予測情報１４３としては、上述のフィールドに限定されず、その他のコンテンツの複製内容や性能予測にかかわる情報を記述するフィールドを含んでもよい。また、複製内容・性能予測情報１４３は、予測条件毎にレコードを記載したが、これを別の観点でまとめたものを１レコードとする表現にしてもよい。
【００６８】
ポリシー８０２について説明する。レコード８５１の“全体を格納”は、コンテンツ全体を複製するためのポリシーである。“キーフレーム”は、コンテンツのキーフレームを複製するためのポリシーである。ストリーミングコンテンツはキーフレームと差分フレームから構成されている。映像部分が劣化しても問題ない場合は、キーフレームのみを配信することで、プールの利用容量を抑えることができる。“音声”は、コンテンツの音声部分を複製するためのポリシーである。音声を重視するようなコンテンツでは、キーフレームと音声を複製し、配信することで、利用容量を抑えつつアクセスを分散することができる。“映像”はコンテンツの映像部分を複製するためのポリシーである。“ＳＤ版／ＨＤ版”はコンテンツのＳＤ（標準画質）版とＨＤ（高画質）版等が存在する場合、いずれを複製するかを選択するためのポリシーである。アクセスが集中した際に、ＳＤ版を複数作成し、アクセスを分散させる等の対応が可能である。“コンテンツのｘ％”は、コンテンツのｘ％の範囲を複製するためのポリシーである。複製範囲は時間で指定してもよい。アクセスの集中しやすいコンテンツの冒頭部分等を複製することで効率良くアクセスを分散させることができる。コンテンツの複製範囲は予め管理者等が入力してもよいし、アクセス状況から統計的な処理で適応的に決定してもよい。次に、統計的処理による複製範囲の決定方法の具体例を説明する。
【００６９】
アクセスパターン情報１２１より、サーバ計算機がクライアント計算機に対して配信した時間を横軸、ある時間まで配信されていたクライアント計算機の割合を縦軸としたグラフをプロットすることができる。ある時間まで配信されていたクライアント計算機の割合は、一定期間内（1時間、1日等）のアクセスから算出できる。また、直近の１０００アクセスから算出するなど、一定のアクセス数から算出してもよい。ある時間まで配信されていたクライアント計算機の割合が、冒頭から一定の値を下回る時間までを複製する範囲とできる。また、冒頭に限らず、配信されていたクライアント計算機の割合が一定の値を超えている範囲を複製してもよい。または、グラフの微分値を計算し、微分値が最大または最小となる時間までを複製範囲の指標として利用してもよい。または、クライアント計算機によって配信が中止された時間の相対累積度数分布をプロットし、上記と同様の処理として、ある時間まで配信されたクライアント計算機の割合が一定の時間を上回る時間までを複製する範囲としてもよい。
【００７０】
“差分フレームを間引き”は、コンテンツの差分フレームを間引きして、複製するためのポリシーである。間引きした分だけ画質は劣化するが、利用容量は小さくなる。
“チャプタ冒頭”は、チャプタの冒頭の各ｔ分を複製するためのポリシーである。アクセスが集中しやすいチャプタの冒頭を複製することで、効率よくアクセスを分散させることができる。チャプタの複製範囲はｘ％などで指定してもよい。
【００７１】
パラメタ８０３において、“Ｉ”はコンテンツに含まれるキーフレームの割合である。例えば、キーフレームはフレーム１５枚につき１枚含まれる。“ＨＤ優先”は同一コンテンツのＨＤ（高画質）版を優先すること、“ｘ％”はコンテンツのｘ％の範囲を複製すること、“５％”は差分フレームの５％を間引きして複製すること、“ｔ分”はコンテンツの冒頭から各ｔ分間を複製することを表わす。
【００７２】
利用容量８０４は、複製する際に利用する容量を表わす。容量の計算式は、複製するコンテンツまたはコンテンツの一部分の容量と複製する数（ｎ）の積で表わされる。以下の容量計算の説明では複製数を省略する。レコード８５２では、キーフレームが１５枚に１枚の割合で含まれるため、複製する容量はコンテンツの容量の１５分の１となる。レコード８５６では、コンテンツのｘ％を複製するので利用容量は、コンテンツ容量×（ｘ／１００）となる。レコード８５７では、差分フレームを５％間引きしているので、利用容量はコンテンツ容量×（１−ｙ／１００）となる。レコード８５８では、コンテンツのｔ分に該当する容量×チャプタ数となる。  性能改善式８０５は、複製を作成した際に改善される転送レートの計算式を表わす。性能改善式８０５において、“＿ｂｐｓ”はオリジナルのコンテンツのレートを表わす。この転送レートは、複製を格納するメディア（ＨＤＤやＳＳＤ等）の転送レートを元に計算する。実際にサーバから配信される際の転送レートの値とは異なり、転送レートがどの程度改善されるかの指標として用いる。改善式の値が大きい方が、サーバからクライアント計算機への配信性能の改善も大きくなる。
【００７３】
なお、これらのレコード表現において、以上の表現に限定されず、別の表記・表現をとってもよく、単数のテーブルで表現するのではなく、複数のテーブルの組み合わせで表現されてもよい。なお、レコードの個数は上記に限定されず、０以上の任意の数をとってよい。
【００７４】
図９は、プール管理情報１４４である。プール管理情報１４４は、空きプールや利用されているプールのブロックやその特性等を示す。プール管理情報１４４は、ＩＤ９０１、プール種別９０２、ＬＢＡ９０３、容量９０４、性能特性９０５、管理単位９０６、使用状況９０７を有する。なお、プール管理情報１４４としては、上述のフィールドに限定されず、その他のプールを管理するために必要な情報を記述するフィールドを含んでもよい。また、プール管理情報１４４は、プールのブロック（単数および複数）毎にレコードを記載したが、これを別の観点でまとめたものを１レコードとする表現にしてもよい。
【００７５】
プール種別９０２には、CacheやＬＵ等の種別と番号が記載される。また、ＮＶＲＡＭやＳＳＤ、ＳＡＴＡ等の種別が記載されてもよい。ＬＢＡ９０３には、プールに登録されたＬＢＡが記載される。容量９０４には、プールとして利用可能な容量または、使用している容量が記載される。性能特性９０５には、プールの転送レートが記載される。管理単位９０６は、ＬＵやＢｌｏｃｋなど、プールを管理する単位が記載される。使用状況９０７は、使用していればコンテンツ名が記載され、未使用のものは“Ｎｏ”が記載される。
【００７６】
レコード９５１は、プール種別がキャッシュ１番であることを示す情報“Ｃａｃｈｅ１”がプール種別９０２に記載され、そのプール登録されたＬＢＡが“００００−ｆｆｆｆ”であることがＬＢＡ９０３に記載され、その容量が“１ＧＢ”であることが容量９０４に記載され、その性能特性として転送速度が“１．０Ｇｂｐｓ”であることが性能特性９０５に記載され、その管理単位としてその論理ユニット全体であることを示す“ＬＵ”が管理単位９０６に記載され、使用中でないため使用中９０７に“Ｎｏ”が記載されている。
【００７７】
レコード９５３は、プール種別がＨＤＤ５２番であることを示す情報“ＬＵ５２”がプール種別９０２に記載され、そのプール登録されたＬＢＡが“０１０１”であることがＬＢＡ９０３に記載され、その容量が“２５６ｋｂ”であることが容量９０４に記載され、その性能特性として転送速度が“１００Ｍｂｐｓ”であることが性能特性９０５に記載され、その管理単位としてそのＬＵのブロック部分であることを示す“Ｂｌｏｃｋ”が管理単位９０６に記載され、使用中でないため使用中９０７に“Ｎｏ”が記載されている。
【００７８】
レコード９５７は、プール種別がキャッシュ２番であることを示す情報“Ｃａｃｈｅ２”がプール種別９０２に記載され、そのプール登録されたＬＢＡが“０１００−０２００”であることがＬＢＡ９０３に記載され、その容量が“０．１ＧＢ”であることが容量９０４に記載され、その性能特性として転送速度が“０．５Ｇｂｐｓ”であることが性能特性９０５に記載され、その管理単位としてその論理ユニット全体であることを示す“ＬＵ”が管理単位９０６に記載され、使用中であることが使用中９０７に示されている。
【００７９】
なお、これらのレコード表現において、以上の表現に限定されず、別の表記・表現をとってもよく、単数のテーブルで表現するのではなく、複数のテーブルの組み合わせで表現されてもよい。なお、レコードの個数は上記に限定されず、０以上の任意の数をとってよい。
【００８０】
図１０は、ストリーミングシステムの配信目標の数値を管理する、配信目標情報１３１である。配信目標情報１３１は、ＩＤ１００１、配信プロパティ１００２、比較１００３、目標値１００４、優先順位１００５を有する。なお、配信目標情報１３１としては、上述のフィールドに限定されず、その他の配信目標を管理するために必要な情報を記述するフィールドを含んでもよい。また、配信目標情報１３１は、プールのブロック（単数および複数）毎にレコードを記載したが、これを別の観点でまとめたものを１レコードとする表現にしてもよい。
【００８１】
配信プロパティ１００２は、配信目標の項目が記載される。目標値１００４は、配信目標の数値である。優先順位１００５は、配信目標を適用する優先順位である。
【００８２】
レコード１０５１は、転送レートが動画のレート×配信数×０．９より大きくなることを目標とすることが記載されている。理想的な転送レートは、動画のレート×配信数であるから、その９０％を超えることが目標であることを示す。
【００８３】
レコード１０５２は、ｔｉｍｅｏｕｔ率を基準として目標を設定している。ｔｉｍｅｏｕｔ率とは、クライアントからのリクエスト数に対する配信数の割合である。ｔｉｍｅｏｕｔ率が大きいと、リクエストに対して配信できていないことになるため、ｔｉｍｅｏｕｔ率が小さくすることを目標とする。
【００８４】
なお、これらのレコード表現において、以上の表現に限定されず、別の表記・表現をとってもよく、単数のテーブルで表現するのではなく、複数のテーブルの組み合わせで表現されてもよい。なお、レコードの個数は上記に限定されず、０以上の任意の数をとってよい。
【００８５】
図１５は、オリジナル複製ブロック対応情報１１５である。オリジナル複製ブロック対応情報１１５は、オリジナルのコンテンツとプールに複製したコンテンツのブロックの対応関係を管理する。オリジナル複製ブロック対応情報１１５は、オリジナルブロック１５０１、複製ブロック１５０２を有する。なお、オリジナル複製ブロック対応情報１１５としては、上述のフィールドに限定されず、その他のブロックを管理するために必要な情報を記述するフィールドを含んでもよい。また、オリジナル複製ブロック対応情報１１５は、ブロック毎にレコードを記載したが、これを別の観点でまとめたものを１レコードとする表現にしてもよい。
【００８６】
レコード１５５１は、オリジナルコンテンツのブロックアドレスがＬＵ１であり、ブロックが０ｘ００であり、複製したコンテンツのブロックアドレスがＬＵ５１であり、ブロックが０ｘ００であることを示す。レコード１５５２も同様の情報が記載されている。
【００８７】
なお、これらのレコード表現において、以上の表現に限定されず、別の表記・表現をとってもよく、単数のテーブルで表現するのではなく、複数のテーブルの組み合わせで表現されてもよい。なお、レコードの個数は上記に限定されず、０以上の任意の数をとってよい。
【００８８】
以下、本実施形態におけるプール管理部１４１の処理手順について説明する。
【００８９】
図１１は、コンテンツ複製処理に関するフローである。プール管理部１４１が、コンテンツ複製処理フローを開始すると、プール管理部１４１はアクセスパターン情報１２１を読み込み（ステップ１１０１）。
【００９０】
次に、処理していないコンテンツエントリがあるかどうかをチェックする（ステップ１１０２）。未処理のコンテンツがあった場合、ステップ１１０３へ進む。
【００９１】
次に、アクセスパターン情報１２１と複製作成・削除基準１４７を比較する。区分６０５が“作成用”となっている条件を満たすコンテンツを複製すると判断する（ステップ１１０３）。具体的には、レコード３５１を読み込み、リクエスト頻度３１１の“１８／ｍｉｎ“がリクエスト頻度６０２の”１５／ｍｉｎ“を超えていることがわかる。よって、ｍｏｖｉｅ１．ｍｏｖを複製すると判断する。
【００９２】
条件を満たす項目がない場合はステップ１１０２に戻り、次のコンテンツエントリを処理する。
【００９３】
条件を満たすコンテンツがあった場合、プール管理情報１４４よりプールに空きがあるかチェックする（ステップ１１０４）。
【００９４】
プールに空きがある場合はステップ１１０５へ進み、プールにコンテンツ全体の複製を作成した場合と、部分的な複製を作成場合の性能予測を行う。部分的な複製とは、        １４３で説明した、キーフレーム、音声部分、映像部分や範囲指定による複製等をいう。プールに空きがない場合はステップ１１０８において、複製削除処理を実施する。複製削除処理とは、アクセスの少ない、利用されていない、プールにある複製コンテンツを削除する処理である。具体的には、レコード９５１〜レコード９５４の使用状況９０７および容量９０４を確認し、空きが存在するのでステップ１１０５を実行する。ステップ１１０８の処理の詳細は、図１２で説明する。また、ステップ１１０５の処理の詳細は、図１３で説明する。
【００９５】
次に、ステップ１１０５で予測した性能を元に、プール選択基準１３２のポリシーを満たし、配信目標１３１を満たすプールがあるかを判断する（ステップ１１０６）。プール選択基準１３２と配信目標１３１を満たすまで、それぞれの優先順位を下げてチェックする。プール選択基準１３２と配信目標１３１を満たすプールが無い場合は、複製削除処理を行う（ステップ１１０８）。
【００９６】
具体的には、レコード７５１の優先度が最も高いため、複製を作成したときに、配信性能が最も改善されるプールと、複製内容を選択する。複製内容は、複製時処理４０６に該当するものが選択され、キーフレーム、音声部分、範囲指定等が決定される。
ここで、複製内容・性能予測情報１４３のレコード８５１とプール管理情報１４４のレコード９５１より、全体をＣａｃｈｅ１へ格納すると判断される。
【００９７】
複製する内容とプールが決定されると、プール管理情報１４４と、オリジナルコンテンツ情報１４５と、複製コンテンツ情報１４６を更新し、複製の指示をコンテンツ管理部１０２に通知する（ステップ１１０７）。具体的には、プール管理情報１４４のＬＢＡ９０３に使用するＬＢＡが入力され、容量９０４に使用する容量が入力され、使用状況９０７にコンテンツ名が入力される。また、オリジナルコンテンツ情報１４５に、複製先のプール名が入力される。また、複製コンテンツ情報１４６の各内容が入力される。
【００９８】
次に、コンテンツを部分的に複製する場合は、コンテンツ分析部１４２が、コンテンツの一部を複製するための処理を行う。ストレージ装置は、指示に基づき、プールへ複製を格納する（ステップ１１０９）。
【００９９】
複製処理が終了すると、ステップ１１０２に戻り処理を続行する。すべてのコンテンツを処理すると、複製作成処理のフローを終了する。
【０１００】
図１２は、図１１のステップ１１０８にて行う、複製削除処理のフローである。プールに複製されたが、アクセスが少ないコンテンツを削除するための処理である。
【０１０１】
ステップ１１０８において、複製削除処理を開始すると、プール管理部１４１はアクセスパターン情報１２１を読み込む（ステップ１２０１）。
【０１０２】
次に、処理していないコンテンツエントリがあるかをチェックする（ステップ１２０２）。未処理のコンテンツがあった場合、ステップ１２０３へ進む。
【０１０３】
次に、アクセスパターン情報１２１と複製作成・削除基準１４７を比較する。区分６０５が“削除用”となっている条件を満たすコンテンツを、プールから削除すると判断する（ステップ１２０３）。具体的には、リクエスト頻度が“１５／ｍｉｎ”より小さい、または、１日当たりのリクエスト数が２０００より小さければそのコンテンツをプールから削除する。
【０１０４】
条件を満たす項目がない場合はステップ１２０２に戻り、次のコンテンツエントリを処理する。
【０１０５】
次に、条件を満たすコンテンツを削除した場合の、性能予測を行う（ステップ１２０４）。
【０１０６】
ステップ１２０４で予測した性能に基づいて、配信目標情報１３１と比較する（ステップ１２０５）。複製を削除しても配信目標を満たさない場合は、ステップ１２０２に戻る。複製を削除することで配信目標を満たす場合は、プールの複製を削除する。オリジナルコンテンツ情報１４５と、複製コンテンツ情報１４６と、アクセスパターン情報１２１を更新し、コンテンツ管理部１０２に通知する。
【０１０７】
具体的には、レコード３５２がオリジナルのコンテンツ、レコード３５３、３５４が複製のコンテンツでそれぞれの性能値を記録している。レコード３５３、３５４を削除した場合はレコード３５２のみの性能値を採用することが予測ということとなる。レコード３５２の転送レート２３５Ｍｂｐｓは、配信目標１０５１を維持しているため、性能を満たしていると判断する。レコード４５３の複製先４０７を“Ｎｏ”と更新し、複製コンテンツ情報のレコード５５７、５５８を削除し、プール管理情報１４４のレコード９５８の使用中９０７を空き状態にする。
【０１０８】
すべてのコンテンツエントリを処理した場合、ステップ１２０７に進む。削除したコンテンツが無い場合、複製したコンテンツとプール全体の最適化を行う（ステップ１２０８）。
【０１０９】
次に、ステップ１２０９へ進み、最適化によってプールに空きができた場合は、ステップ１２０２へ戻り処理を続ける。最適化をしてもプールに空きができなかった場合は、管理計算機の画面に警告を表示する。
【０１１０】
図１３は、図１１のステップ１１０５にて行う、プールに複製を作成する際の、性能予測処理のフローである。性能予測処理が開始されると、プール管理部１４１は複製内容・性能予測情報１４３を読み込む（ステップ１３０１）。
【０１１１】
各エントリに記された複製時処理４０６にしたがって、性能改善式８０５を用いて、プール管理情報１４４の複製可能な空き領域に複製した場合に改善される性能を求める（ステップ１３０２）。
【０１１２】
具体的には、レコード３５１のｍｏｖｉｅ１．ｍｏｖについて、レコード８５１を評価すると、利用容量８０４よりファイルサイズ３０４“０．７５ＧＢ”×複製数分ｎを格納できるのは、レコード９５１〜９５２である。その性能を性能改善式よりそれぞれ“１．０Ｇｂｐｓ×ｎ”、“０．５Ｇｂｐｓ×ｎ”として計算する。次にレコード８５２について評価し、利用容量８０４よりファイルサイズ３０４“０．７５ＧＢ”×複製数分ｎ／１５を格納できるレコード９５１〜９５４について、改善される性能を計算する。複製時処理４０６が“Ａｎｙ”であるから、上記のようにして、複製内容・性能予測情報１４３の全エントリを処理する。複製時処理４０６が“部分のみ”であれば、部分的な複製に関するエントリのみ計算する。
【０１１３】
図１４は、コンテンツ管理部１０２における、オリジナルと複製コンテンツのブロック情報を管理する際の処理フローである。
【０１１４】
コンテンツ管理部１０２は、プール管理部１４１よりブロック情報を受信する（ステップ１４０１）。
【０１１５】
プール複製に関するブロック情報であれば、オリジナルコンテンツ格納領域に格納されている当該コンテンツのブロックを、指定されたプール記憶領域１０４のブロックに複製し、オリジナル複製ブロック対応情報１１５およびプール管理情報１４４を更新する（ステップ１４０２）。
【０１１６】
具体的には、レコード４５１のコンテンツの複製を、プール９５３に作るよう指示された場合、コンテンツを構成するブロックである“０ｘ００”について、オリジナル１５０１が“ＬＵ１：０ｘ００”であり、複製先９５３がＬＵ５１であるため１５０２が“ＬＵ５１：０ｘ００”となるように、レコード１５０１を追加する。次のブロック０ｘ０１についても同様に１５５２にとして追加し、以下構成する各ブロックについてレコードエントリを追加していく。その後、プール管理情報１４４のレコード９５３の９０７にｍｏｖｉｅ１．ｍｏｖにて使用中であるようにエントリを修正し、使っている領域についてレコード９５９のように追加する（本例では０ｘ００，０ｘ０１のみ記載）。
【０１１７】
ステップ１４０１において受信した情報が、ブロックの削除に関する情報であれば、当該エントリを削除し、当該プール管理情報を更新する。先ほどの例では、レコード１５０１〜１５０２を削除し、レコード９５３の９０７を使用中でないようにエントリを修正し、使っている領域であるレコード９５９を削除する。
【０１１８】
なお、本処理フローで行ったプール管理情報１４４の更新については、本実施例のようにコンテンツ管理部が行っても、管理サーバが行ってもよい。
【０１１９】
図１６は、コンテンツへのアクセス要求が来た際に、アクセスをオリジナルコンテンツ格納領域１０６およびプール記憶領域１０４に分散させる処理のフローである。コンテンツへのアクセス要求が発生すると、配信部１２３からドライバ１２４またはストレージ装置１００へはブロックの要求が伝達される。
【０１２０】
ドライバ１２４またはストレージ装置はブロックの要求を受信すると（ステップ１６０１）、複製コンテンツ情報１４６またはオリジナル複製ブロック対応情報１１５を参照し、該コンテンツのブロックが含まれているかを確認する（ステップ１６０２）。本レコード例では、ｍｏｖｉｅ１．ｍｏｖのブロック“ＬＵ１の０ｘ００”へのアクセスが来たとすると、該ブロックは、プール複製コンテンツ１４６のレコード５５１の５０７に含まれていることがわかるため、該当するプールＬＢＡを５０５、５０６より参照し、“Ｃａｃｈｅ１の０ｘ００”に格納されていることが判明する。または、オリジナル複製ブロック対応情報を参照し、レコード１５５１の１５０１に該当するものがあるため、１５０２より“ＬＵ５１の０ｘ００”に格納されていることが判明する。ステップ１６０２により判明したプールのブロックにアクセスを適宜振り分けることで、局所的アクセスを減少させることができる。配信するブロックは、オリジナルと複製を交互に振り分けてもよいし、転送性能の比率に応じて振り分けてもよい。オリジナルコンテンツ格納領域とプール記憶領域の転送レートの比が、１：３であれば、振り分けも１：３にする等である。
【０１２１】
冒頭のみ等、コンテンツの一部を複製した場合、複製が存在する部分は上記のように振り分け、複製が存在しない部分は、オリジナルコンテンツ格納領域から配信する。
【図面の簡単な説明】
【０１２２】
【図１】計算機システムのハードウェア構成例を示す図である。
【図２】計算機システムの論理的な構成例を示す図である。
【図３】アクセスパターン情報の例を示す図である。
【図４】オリジナルコンテンツ情報の例を示す図である。
【図５】複製コンテンツ情報の例を示す図である。
【図６】複製作成・削除基準の例を示す図である。
【図７】プール選択基準の例を示す図である。
【図８】複製内容・性能予測情報の例を示す図である。
【図９】プール管理情報の例を示す図である。
【図１０】配信目標情報の例を示す図である。
【図１１】コンテンツの複製作成処理の例を示すフローチャートである。
【図１２】複製したコンテンツの削除処理の例を示すフローチャートである。
【図１３】コンテンツを複製した場合の性能予測処理の例を示すフローチャートである。
【図１４】コンテンツ管理部におけるブロック情報管理の処理手順の例を示すフローチャートである。
【図１５】オリジナル複製ブロック対応情報の例を示す図である。
【図１６】ドライバまたはストレージ装置によるアクセスの分散処理の例を示す図である。
【符号の説明】
【０１２３】
１００…ストレージ装置、１０２…コンテンツ管理部、１２０…ストリーミングサーバプログラム、１２１…アクセスパターン情報、１２２…アクセスパターン監視部、１３２…プール選択基準、１４０…管理サーバプログラム、１４３…複製内容・性能予測情報、１４７…複製作成・削除基準
【図１】
2010102464.tif 000003
【図２】
2010102464.tif 000004
【図３】
2010102464.tif 000005
【図４】
2010102464.tif 000006
【図５】
2010102464.tif 000007
【図６】
2010102464.tif 000008
【図７】
2010102464.tif 000009
【図８】
2010102464.tif 000010
【図９】
2010102464.tif 000011
【図１０】
2010102464.tif 000012
【図１１】
2010102464.tif 000013
【図１２】
2010102464.tif 000014
【図１３】
2010102464.tif 000015
【図１４】
2010102464.tif 000016
【図１５】
2010102464.tif 000017
【図１６】
2010102464.tif 000018