(57)【特許請求の範囲】
【請求項１】
ストレージ装置にデータが格納された配信対象の１又は複数のコンテンツを管理し、クライアントからの配信要求に応じて、配信要求された前記コンテンツを要求元の前記クライアントに配信するコンテンツ管理装置であって、
前記コンテンツのデータを一時的に保持するキャッシュと、
各前記クライアントをそれぞれ利用する各ユーザの前記コンテンツの視聴履歴に基づき得られるユーザごとのユーザ特性と、前記コンテンツに関連付けられた情報から抽出される前記コンテンツごとのコンテンツ特性とに基づいて、前記キャッシュにデータを格納すべき前記コンテンツと、前記キャッシュからデータを廃棄すべき前記コンテンツとを決定する制御部とを備え、
前記制御部は、
前記クライアントからの配信要求を受信したタイミングで、前記ユーザ特性により示される値が所定の閾値よりも大きい場合、前記配信要求されたコンテンツのデータを前記キャッシュに格納すべきであることを決定し、前記キャッシュに格納されているコンテンツのデータのうち、前記コンテンツ特性により示される値が最も小さいコンテンツのデータを前記キャッシュから破棄すべきであることを決定する
ことを特徴とするコンテンツ管理装置。
【請求項２】
前記制御部は、
ユーザごとの前記ユーザ特性として、前記キャッシュから前記コンテンツのデータを廃棄する際、当該コンテンツを過去に視聴したユーザについては第１の数値だけ減算され、前記キャッシュにデータが残る前記コンテンツを視聴した又は視聴する前記ユーザについては所定の第２の数値だけ加算されるユーザごとのユーザ指標値を管理し、
前記クライアントからの前記コンテンツの配信要求を受信した場合であって、当該コンテンツのデータが前記キャッシュに格納されていないときに、当該クライアントを操作したユーザの前記ユーザ指標値に基づいて、当該コンテンツのデータを前記キャッシュに格納すべきか否かを決定する
ことを特徴とする請求項１に記載のコンテンツ管理装置。
【請求項３】
前記制御部は、
前記コンテンツごとの前記コンテンツ特性として、当該コンテンツを過去に視聴した各ユーザの前記ユーザ指標値を集計することにより得られたユーザ指標集計値を管理し、前記キャッシュにデータが格納された前記コンテンツごとの前記ユーザ指標集計値に基づいて、前記キャッシュからデータを廃棄すべき前記コンテンツを決定する
ことを特徴とする請求項２に記載のコンテンツ管理装置。
【請求項４】
それぞれ性能が異なる前記ストレージ装置が複数設けられ、
前記制御部は、
よりアクセス頻度が高いコンテンツをより性能が高い前記ストレージ装置に再配置するよう対応する前記ストレージ装置を制御する再配置処理を定期的に実行し、
前記キャッシュからデータを廃棄すべき前記コンテンツを決定した後に、当該コンテンツの前記ユーザ指標集計値に基づいて、当該コンテンツのデータの再配置先とすべき前記ストレージ装置を決定し、当該ストレージ装置に当該コンテンツのデータの再配置するよう対応する前記ストレージ装置を必要に応じて制御する
ことを特徴とする請求項３に記載のコンテンツ管理装置。
【請求項５】
前記制御部は、
各前記コンテンツについて、当該コンテンツに対するアクセス数がピークとなるピークアクセス期間を管理し、
前記クライアントからの前記コンテンツの配信要求を受信した場合であって、当該コンテンツのデータが前記キャッシュに格納されていないときに、当該クライアントを操作したユーザの前記ユーザ指標値と、当該コンテンツの前記ピークアクセス期間に対する当該コンテンツの配信要求の受信日時とに基づいて、当該コンテンツのデータを前記キャッシュに格納すべきか否かを決定する
ことを特徴とする請求項２に記載のコンテンツ管理装置。
【請求項６】
ストレージ装置にデータが格納された配信対象の１又は複数のコンテンツを管理し、クライアントからの配信要求に応じて、配信要求された前記コンテンツを要求元の前記クライアントに配信するコンテンツ管理装置において配信対象の前記コンテンツを管理するコンテンツ管理方法であって、
前記コンテンツ管理装置は、
前記コンテンツのデータを一時的に保持するキャッシュと、
前記キャッシュにデータを格納すべき前記コンテンツと、前記キャッシュからデータを廃棄すべき前記コンテンツとを決定する制御部とを有し、
前記制御部が、各前記クライアントをそれぞれ利用する各ユーザの前記コンテンツの視聴履歴に基づき得られるユーザごとのユーザ特性と、前記コンテンツに関連付けられた情報から抽出される前記コンテンツごとのコンテンツ特性とをそれぞれ管理する第１のステップと、
前記制御部が、前記クライアントからの配信要求を受信したタイミングで、前記ユーザ特性により示される値が所定の閾値よりも大きい場合、前記配信要求されたコンテンツのデータを前記キャッシュに格納すべきであることを決定し、前記キャッシュに格納されているコンテンツのデータのうち、前記コンテンツ特性により示される値が最も小さいコンテンツのデータを前記キャッシュから破棄すべきであることを決定する第２のステップと
を備えることを特徴とするコンテンツ管理方法。
【請求項７】
前記第１のステップにおいて、
前記制御部は、ユーザごとの前記ユーザ特性として、前記キャッシュから前記コンテンツのデータを廃棄する際、当該コンテンツを過去に視聴したユーザについては第１の数値だけ減算され、前記キャッシュにデータが残る前記コンテンツを視聴した又は視聴する前記ユーザについては所定の第２の数値だけ加算されるユーザごとのユーザ指標値を管理し、
前記第２のステップにおいて、
前記制御部は、前記クライアントからの前記コンテンツの配信要求を受信した場合であって、当該コンテンツのデータが前記キャッシュに格納されていないときに、当該クライアントを操作したユーザの前記ユーザ指標値に基づいて、当該コンテンツのデータを前記キャッシュに格納すべきか否かを決定する
ことを特徴とする請求項６に記載のコンテンツ管理方法。
【請求項８】
前記第１のステップにおいて、
前記制御部は、前記コンテンツごとの前記コンテンツ特性として、当該コンテンツを過去に視聴した各ユーザの前記ユーザ指標値を集計することにより得られたユーザ指標集計値を管理し、
前記第２のステップにおいて、
前記制御部は、前記キャッシュにデータが格納された前記コンテンツごとの前記ユーザ指標集計値に基づいて、前記キャッシュからデータを廃棄すべき前記コンテンツを決定する
ことを特徴とする請求項７に記載のコンテンツ管理方法。
【請求項９】
それぞれ性能が異なる前記ストレージ装置が複数設けられ、
前記制御部は、よりアクセス頻度が高いコンテンツをより性能が高い前記ストレージ装置に再配置するよう対応する前記ストレージ装置を制御する再配置処理を定期的に実行し、
前記第２のステップにおいて、
前記制御部は、前記キャッシュからデータを廃棄すべき前記コンテンツを決定した後に、当該コンテンツの前記ユーザ指標集計値に基づいて、当該コンテンツのデータの再配置先とすべき前記ストレージ装置を決定し、当該ストレージ装置に当該コンテンツのデータの再配置するよう対応する前記ストレージ装置を必要に応じて制御する
ことを特徴とする請求項８に記載のコンテンツ管理方法。
【請求項１０】
前記制御部は、各前記コンテンツについて、当該コンテンツに対するアクセス数がピークとなるピークアクセス期間を管理し、
前記第２のステップにおいて、
前記制御部は、前記クライアントからの前記コンテンツの配信要求を受信した場合であって、当該コンテンツのデータが前記キャッシュに格納されていないときに、当該クライアントを操作したユーザの前記ユーザ指標値と、当該コンテンツの前記ピークアクセス期間に対する当該コンテンツの配信要求の受信日時とに基づいて、当該コンテンツのデータを前記キャッシュに格納すべきか否かを決定する
ことを特徴とする請求項７に記載のコンテンツ管理方法。
【請求項１１】
ストレージ装置にデータが格納された配信対象の１又は複数のコンテンツを管理し、クライアントからの配信要求に応じて、配信要求された前記コンテンツを要求元の前記クライアントに配信するコンテンツ管理装置に実装されるプログラムが格納された記憶媒体であって、
前記コンテンツ管理装置は、
前記コンテンツのデータを一時的に保持するキャッシュと、
前記キャッシュにデータを格納すべき前記コンテンツと、前記キャッシュからデータを廃棄すべき前記コンテンツとを決定する制御部とを有し、
前記プログラムは、前記制御部に、
各前記クライアントをそれぞれ利用する各ユーザの前記コンテンツの視聴履歴に基づき得られるユーザごとのユーザ特性と、前記コンテンツに関連付けられた情報から抽出される前記コンテンツごとのコンテンツ特性とをそれぞれ管理する第１のステップと、
前記クライアントからの配信要求を受信したタイミングで、前記ユーザ特性により示される値が所定の閾値よりも大きい場合、前記配信要求されたコンテンツのデータを前記キャッシュに格納すべきであることを決定し、前記キャッシュに格納されているコンテンツのデータのうち、前記コンテンツ特性により示される値が最も小さいコンテンツのデータを前記キャッシュから破棄すべきであることを決定する第２のステップと
を備える処理を実行させる
ことを特徴とする記憶媒体。
【請求項１２】
前記第１のステップにおいて、
前記制御部は、ユーザごとの前記ユーザ特性として、前記キャッシュから前記コンテンツのデータを廃棄する際、当該コンテンツを過去に視聴したユーザについては第１の数値だけ減算され、前記キャッシュにデータが残る前記コンテンツを視聴した又は視聴する前記ユーザについては所定の第２の数値だけ加算されるユーザごとのユーザ指標値を管理し、
前記第２のステップにおいて、
前記制御部は、前記クライアントからの前記コンテンツの配信要求を受信した場合であって、当該コンテンツのデータが前記キャッシュに格納されていないときに、当該クライアントを操作したユーザの前記ユーザ指標値に基づいて、当該コンテンツのデータを前記キャッシュに格納すべきか否かを決定する
ことを特徴とする請求項１１に記載の記憶媒体。
【請求項１３】
前記第１のステップにおいて、
前記制御部は、前記コンテンツごとの前記コンテンツ特性として、当該コンテンツを過去に視聴した各ユーザの前記ユーザ指標値を集計することにより得られたユーザ指標集計値を管理し、
前記第２のステップにおいて、
前記制御部は、前記キャッシュにデータが格納された前記コンテンツごとの前記ユーザ指標集計値に基づいて、前記キャッシュからデータを廃棄すべき前記コンテンツを決定する
ことを特徴とする請求項１２に記載の記憶媒体。
【請求項１４】
それぞれ性能が異なる前記ストレージ装置が複数設けられ、
前記制御部は、よりアクセス頻度が高いコンテンツをより性能が高い前記ストレージ装置に再配置するよう対応する前記ストレージ装置を制御する再配置処理を定期的に実行し、
前記第２のステップにおいて、
前記制御部は、前記キャッシュからデータを廃棄すべき前記コンテンツを決定した後に、当該コンテンツの前記ユーザ指標集計値に基づいて、当該コンテンツのデータの再配置先とすべき前記ストレージ装置を決定し、当該ストレージ装置に当該コンテンツのデータの再配置するよう対応する前記ストレージ装置を必要に応じて制御する
ことを特徴とする請求項１３に記載の記憶媒体。
【請求項１５】
前記制御部は、各前記コンテンツについて、当該コンテンツに対するアクセス数がピークとなるピークアクセス期間を管理し、
前記第２のステップにおいて、
前記制御部は、前記クライアントからの前記コンテンツの配信要求を受信した場合であって、当該コンテンツのデータが前記キャッシュに格納されていないときに、当該クライアントを操作したユーザの前記ユーザ指標値と、当該コンテンツの前記ピークアクセス期間に対する当該コンテンツの配信要求の受信日時とに基づいて、当該コンテンツのデータを前記キャッシュに格納すべきか否かを決定する
ことを特徴とする請求項１２に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ管理装置及び方法並びに記憶媒体に関し、例えば映像コンテンツ等のオンデマンドサービスを提供するコンテンツ管理技術に関する。
【背景技術】
【０００２】
近年、ネットワーク通信の回線の強化や、対応するデバイスの増加により、高品質な映像コンテンツを提供するＶＯＤ（Video On Demand）サービスが急速に普及してきている。ＶＯＤサービスを提供するコンテンツ配信システムでは、大量のコンテンツを多数のクライアントに効率良く配信するために、配信サーバの主記憶装置（半導体メモリ）をキャッシュとして利用している。キャッシュにコンテンツを格納しておくことで、ハードディスク装置等のストレージ装置からコンテンツを読み出す場合と比べて高速にコンテンツを配信することができる。【０００３】
ただし、キャッシュの容量は有限であるため、キャッシュを効率的に利用するキャッシュ管理方式が重要である。このようなキャッシュ管理方式として、特許文献１には、キャッシュサーバに配信対象のコンテンツを格納する際、コンテンツを格納する領域がない場合に、コンテンツと既にキャッシュサーバに格納されているコンテンツごとの再生要求の頻度を算出し、算出した再生要求の頻度を基準としてキャッシュサーバから廃棄するコンテンツを決定するような技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１０３６０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、かかる特許文献１に開示されるような技術には、コンテンツ特性のみを利用して、キャッシュサーバから廃棄するコンテンツを決定する仕組みを有している。ここでコンテンツ特性とは、コンテンツに関連付いている情報から抽出される特性であり、例えば、コンテンツの累積アクセス数から抽出されるアクセス傾向、キャッシュ状態に合わせてコンテンツがキャッシュに格納されているか否かの情報、コンテンツの視聴者数をベースとした人気度などがある。特許文献１に開示されるような技術では、コンテンツ特性として、コンテンツごとの再生の期待値である予想再生要求頻度を利用している。【０００６】
しかしながら、コンテンツ特性のみを判断基準にすると、情報が不十分のため、適切なコンテンツの保持状態を選択できない。例えば、特許文献１に開示されるような技術では、コンテンツの未視聴者数を、コンテンツの配信開始からの経過時間で除算することで、コンテンツの再生の期待値である予想再生要求頻度を算出し、その算出結果に基づいてキャッシュに格納するコンテンツの選定を行っている。【０００７】
すなわち、コンテンツを見ていない人が多いほど、または配信開始からの経過時間が短いほど、予想再生要求頻度は高くなり、キャッシュに格納される確率が高くなる。つまり、配信開始からの経過時間が長くなってしまうと、コンテンツの人気が上昇し、未視聴者数が減ったとしても、予想再生要求頻度に与える影響は小さくなってしまい、キャッシュに格納した方が良いにも関わらず、キャッシュへの格納が行われないことになる。【０００８】
また、ＶＯＤサービスのサービス提供事業者が提供するコンテンツ数が増加すると、視聴者数が少ないコンテンツが増える。これらのコンテンツは、未視聴者数が多いため、予想再生要求頻度が高くなり、再生要求がある際に、キャッシュに格納される。しかし、これらのコンテンツはすべて人気があるわけではないので、いくつかのコンテンツはキャッシュに格納したにもかかわらず、アクセスされることなく、やがてキャッシュから追い出されることになる。これらのコンテンツの数が多くなれば、キャッシュの無駄遣いは大きくなり、無視できない状況となる。【０００９】
本発明は以上の点を考慮してなされたもので、コンテンツ管理システムにおけるキャッシュの活用効率を向上させ得ることを目的とする。
【課題を解決するための手段】
【００１０】
かかる課題を解決するため本発明においては、ストレージ装置にデータが格納された配信対象の１又は複数のコンテンツを管理し、クライアントからの配信要求に応じて、配信要求された前記コンテンツを要求元の前記クライアントに配信するコンテンツ管理装置において、前記コンテンツのデータを一時的に保持するキャッシュと、各前記クライアントをそれぞれ利用する各ユーザの前記コンテンツの視聴履歴に基づき得られるユーザごとのユーザ特性と、前記コンテンツに関連付けられた情報から抽出される前記コンテンツごとのコンテンツ特性とに基づいて、前記キャッシュにデータを格納すべき前記コンテンツと、前記キャッシュからデータを廃棄すべき前記コンテンツとを決定する制御部とを設けるようにした。【００１１】
また本発明においては、ストレージ装置にデータが格納された配信対象の１又は複数のコンテンツを管理し、クライアントからの配信要求に応じて、配信要求された前記コンテンツを要求元の前記クライアントに配信するコンテンツ管理装置において配信対象の前記コンテンツを管理するコンテンツ管理方法であって、前記コンテンツ管理装置は、前記コンテンツのデータを一時的に保持するキャッシュと、前記キャッシュにデータを格納すべき前記コンテンツと、前記キャッシュからデータを廃棄すべき前記コンテンツとを決定する制御部とを有し、前記制御部が、各前記クライアントをそれぞれ利用する各ユーザの前記コンテンツの視聴履歴と、前記コンテンツに関連付けられた情報から抽出される前記コンテンツごとのコンテンツ特性とをそれぞれ管理する第１のステップと、前記制御部が、ユーザごとの前記ユーザ特性と、前記コンテンツごとの前記コンテンツ特性とに基づいて、前記キャッシュにデータを格納すべき前記コンテンツと、前記キャッシュからデータを廃棄すべき前記コンテンツとを決定する第２のステップとを設けるようにした。【００１２】
さらに本発明においては、ストレージ装置にデータが格納された配信対象の１又は複数のコンテンツを管理し、クライアント（端末）からの配信要求に応じて、配信要求された前記コンテンツを要求元の前記クライアントに配信するコンテンツ管理装置に実装されるプログラムが格納された記憶媒体であって、前記コンテンツ管理装置は、前記コンテンツのデータを一時的に保持するキャッシュと、前記キャッシュにデータを格納すべき前記コンテンツと、前記キャッシュからデータを廃棄すべき前記コンテンツとを決定する制御部とを有し、前記プログラムは、前記制御部に、各前記クライアントをそれぞれ利用する各ユーザの前記コンテンツの視聴履歴と、前記コンテンツに関連付けられた情報から抽出される前記コンテンツごとのコンテンツ特性とをそれぞれ管理する第１のステップと、ユーザごとの前記ユーザ特性と、前記コンテンツごとの前記コンテンツ特性とに基づいて、前記キャッシュにデータを格納すべき前記コンテンツと、前記キャッシュからデータを廃棄すべき前記コンテンツとを決定する第２のステップとを備える処理を実行させるようにした。【００１３】
本発明のコンテンツ管理装置及び方法並びに記憶媒体によれば、個々のユーザのユーザ特性と、個々のコンテンツのコンテンツ特性とに基づいてコンテンツの保持状態（データをキャッシュに格納しておくか否か）を決定するため、コンテンツごとにより適切な保持状態を選択できる。
【発明の効果】
【００１４】
本発明によれば、適切なコンテンツのデータを選択的にキャッシュに格納しておくことができ、かくしてキャッシュの活用効率を向上させ得ることが可能となる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施形態によるコンテンツ配信システムの全体構成を示すブロック図である。
【図２】コンテンツ管理テーブルの一例である。
【図３】コンテンツアクセス傾向管理テーブルの一例である。
【図４】コンテンツ視聴履歴管理テーブルの一例である。
【図５】ユーザ指標管理テーブルの一例である。
【図６】本コンテンツ配信システムにおけるコンテンツ配信処理の流れを示す概念図である。
【図７】コンテンツ配信処理における各管理テーブルの更新の流れを示す概念図である。
【図８】コンテンツ再生処理の処理手順を示すフローチャートである。
【図９】コンテンツ配信処理の処理手順を示すフローチャートである。
【図１０】コンテンツ管理処理の処理手順を示すフローチャートである。
【図１１】コンテンツ視聴履歴テーブル更新処理の処理手順を示すフローチャートである。
【図１２】コンテンツの保持状態決定処理の処理手順を示すフローチャートである。
【図１３】キャッシュ格納準備処理の処理手順を示すフローチャートである。
【図１４】キャッシュ追出し処理の処理手順を示すフローチャートである。
【図１５】ユーザ特性更新処理の処理手順を示すフローチャートである。
【図１６】第２の実施形態によるコンテンツ配信システムの全体構成を示すブロック図である。
【図１７】ストレージ性能管理テーブルの一例である。
【図１８】第２の実施の形態によるキャッシュ追出し処理の処理手順を示すフローチャートである。
【図１９】コンテンツ分散処理の処理手順を示すフローチャートである。
【図２０】第３の実施の形態によるコンテンツ配信システムの全体構成を示すブロック図である。
【図２１】第３の実施の形態によるコンテンツ視聴履歴管理テーブルの構成を示す概念図である。
【図２２】コンテンツピークアクセス期間管理テーブルの一例である。
【図２３】コンテンツのピークアクセス期間の検出手法の説明に供するヒストグラムである。
【図２４】コンテンツのピークアクセス期間の検出手法の説明に供するヒストグラムである。
【図２５】第３の実施の形態によるコンテンツ保持状態決定処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下図面について、本発明の一実施の形態を詳述する。
【００１７】
（１）第１の実施の形態
（１−１）本実施の形態によるコンテンツ配信ステムの構成
図１において、１は全体として本実施の形態によるコンテンツ配信システムを示す。このコンテンツ配信システム１は、１又は複数のクライアント２がＷＡＮ（Wide Area Network）３を介してコンテンツ管理サーバ４と接続され、当該コンテンツ管理サーバ４がＳＡＮ（Storage Area Network）５を介して１又は複数のストレージ装置６と接続されて構成されている。
【００１８】
クライアント２は、後述するコンテンツ配信サービスの利用者が使用するパーソナルコンピュータやスマートフォンなどの通信端末であり、システムバス１０を介して相互に接続されたＣＰＵ（Central Processing Unit）１１、主記憶装置１２、補助記憶装置１３、表示装置１４、ＷＡＮアダプタ１５及び入力装置１８を備えて構成される。
【００１９】
ＣＰＵ１１は、クライアント２全体の動作制御を司るプロセッサである。また主記憶装置１２は、半導体メモリから構成され、ＣＰＵ１１のワークメモリとして利用される。補助記憶装置１３は、ハードディスク装置などから構成され、各種プログラムや各種データが格納される。補助記憶装置１３に格納されたプログラムが所定のタイミングで主記憶装置１２に読み出され、このプログラムをＣＰＵ１１が実行することにより、クライアント２全体としての各種処理が実行される。
【００２０】
後述のようにコンテンツ管理サーバ４から配信されたコンテンツのデータ（以下、これをコンテンツデータと呼ぶ）を再生処理するプログラムモジュールであるコンテンツ再生部１６や、ＯＳ（Operating System）を含む制御部１７も補助記憶装置１３から読み出されて主記憶装置１２に保持される。なお補助記憶装置１３内には、コンテンツ管理サーバ４から配信されたコンテンツデータを一時的に保持するための記憶領域であるコンテンツ格納領域１３Ａが設けられる。
【００２１】
表示装置１４は、例えば液晶ディスプレイから構成される。またＷＡＮアダプタ１５は、クライアント２をＷＡＮ３に接続するためのインタフェースであり、ＷＡＮを介したコンテンツ管理サーバ４との通信時におけるプロトコル変換等の処理を行う。入力装置１８は、キーボードやマウスやタブレット等を使用し、コンテンツの選択や、クライアント２やコンテンツ管理サーバ４の設定や制御などを行う。
【００２２】
コンテンツ管理サーバ４は、クライアント２からの要求に応じて映像コンテンツ等のコンテンツデータをそのクライアント２に配信するコンテンツ配信サービスを提供するサーバ装置である。このコンテンツ管理サーバ４は、システムバス２０を介して相互に接続されたＣＰＵ２１、主記憶装置２２、補助記憶装置２３、ＷＡＮアダプタ２４及びＳＡＮアダプタ２５を備えて構成される。
【００２３】
ＣＰＵ２１は、コンテンツ管理サーバ４全体の動作制御を司るプロセッサである。また主記憶装置２２は、半導体メモリから構成され、ＣＰＵ２１のワークメモリとして利用される。補助記憶装置２３は、ハードディスク装置などから構成され、各種プログラムや各種データが格納される。補助記憶装置２３に格納されたプログラムが所定のタイミングで主記憶装置２２に読み出され、このプログラムをＣＰＵ２１が実行することにより、コンテンツ管理サーバ４全体としての各種処理が実行される。ＯＳを含む制御部２７もコンテンツ管理サーバ４の起動時に補助記憶装置２３から読み出されて主記憶装置２２に保持される。
【００２４】
なお、主記憶装置２２には、ストレージ装置６から読み出された１又は複数のコンテンツのコンテンツデータを一時的に保持しておくための記憶領域であるコンテンツキャッシュ領域２２Ａが設けられる。アクセス頻度が高いコンテンツや、今後アクセスが増加することが予想されるコンテンツのコンテンツデータをこのコンテンツキャッシュ領域２２Ａに格納しておくことにより、このようなコンテンツを高速にクライアント２に配信することができる。
【００２５】
ＷＡＮアダプタ２４は、コンテンツ管理サーバ４をＷＡＮ３に接続するためのインタフェースであり、ＷＡＮ３を介したクライアント２との通信時におけるプロトコル変換等の処理を行う。またＳＡＮアダプタ２５は、コンテンツ管理サーバ４をＳＡＮ５に接続するためのインタフェースであり、ＳＡＮ５を介したストレージ装置６との通信時におけるプロトコル変換等の処理を行う。
【００２６】
ストレージ装置６は、各種コンテンツを記憶保持する大容量の記憶装置であり、システムバス３０を介して相互に接続された１又は複数の記憶デバイス３１、コントローラ３２、主記憶装置３３及びＳＡＮアダプタ３４を備えて構成される。
【００２７】
記憶デバイス３１は、例えばＳＡＳ（Serial Attached SCSI）ディスク等の高価なディスクデバイス、若しくは、ＳＡＴＡ（Serial Advanced Technology Attachment）ディスクや光ディスク等の安価なディスクデバイス、又は、ＳＳＤ（Solid State Drive）等の半導体メモリなどから構成される。これらの記憶デバイス３１に１又は複数の配信対象のコンテンツのコンテンツデータが格納されて保持される。また特定の記憶デバイス３１には、各種プログラムや各種データが格納される。
【００２８】
コントローラ３２は、ストレージ装置６全体の動作制御を司るプロセッサである。また主記憶装置３３は、半導体メモリから構成され、コントローラ３２のワークメモリとして利用される。特定の記憶デバイス３１に格納されたプログラムが所定のタイミングで主記憶装置３３に読み出され、このプログラムがコントローラ３２により実行されることにより、記憶デバイス３１に対するコンテンツの読み書き等の各種処理が実行される。
【００２９】
コンテンツのコンテンツデータをストレージ装置６内で各記憶デバイス３１に分散させる制御を行うプログラムモジュールである管理部３５や、ＯＳを含む制御部３６も特定の記憶デバイス３１から読み出されて主記憶装置３３に格納されて保持される。
【００３０】
（１−２）コンテンツ管理機能
次に、コンテンツ管理サーバ４に搭載された本実施の形態によるコンテンツ管理機能について説明する。本実施の形態のコンテンツ配信システム１は、ユーザごとのユーザ特性と、コンテンツごとのコンテンツ特性とに基づいて、コンテンツ管理サーバ４の主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納すべきコンテンツと、当該コンテンツキャッシュ領域２２Ａから廃棄すべきコンテンツとを決定するコンテンツ管理機能がコンテンツ管理サーバ４に搭載されている点を特徴とする。
【００３１】
ここで、ユーザ特性とは、ユーザに関連付いている情報から抽出される特性であり、例えば、ユーザごとの視聴履歴から認識される特性などを指す。本実施の形態においては、かかるユーザ特性として、ユーザの視聴履歴等に基づいて算出される指標値（以下、これをユーザ指標値と呼ぶ）を利用する。例えば、人気のあるコンテンツを多く視聴しているユーザに対しては高いユーザ指標値を設定する。なおユーザ指標値の初期値は、どのような数値（「０」を含む）であっても良い。本実施の形態の場合、ユーザごとのユーザ指標値に基づいて、コンテンツ管理サーバ４の主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納すべきコンテンツを決定する。
【００３２】
またコンテンツ特性とは、上述のようにコンテンツに関連付いている情報から抽出される特性である。本実施の形態の場合、かかるコンテンツ特性として、そのコンテンツを視聴したすべてのユーザのユーザ指標値の集計値を利用する。この集計値の詳細については後述する。本実施の形態の場合、主記憶装置２２のコンテンツキャッシュ領域２２Ａにコンテンツデータが格納されている各コンテンツのコンテンツ特性に基づいて当該コンテンツキャッシュ領域２２Ａからコンテンツデータを廃棄すべきコンテンツを決定する。
【００３３】
以上のような本実施の形態のコンテンツ管理機能を実現するための手段として、コンテンツ管理サーバ４の主記憶装置２２には、図１に示すように、プログラムモジュールとして、コンテンツ配信部４０、コンテンツ管理部４１、コンテンツ保持状態決定部４２、キャッシュ制御部４３及びユーザ特性更新部４４が格納され、管理テーブルとして、コンテンツ管理テーブル４５、コンテンツアクセス傾向管理テーブル４６、コンテンツ視聴履歴管理テーブル４７及びユーザ指標管理テーブル４８が格納されている。
【００３４】
コンテンツ配信部４０は、クライアント２から送信されるコンテンツの配信要求（以下、これをコンテンツ配信要求と呼ぶ）において指定された、配信要求されたコンテンツ（以下、これを配信要求コンテンツと呼ぶ）のコンテンツデータをコンテンツ管理サーバ４の主記憶装置２２内のコンテンツキャッシュ領域２２Ａ又はストレージ装置６から読み出し、読み出したコンテンツデータをコンテンツ配信要求の送信元のクライアント２に送信するモジュールである。
【００３５】
またコンテンツ管理部４１は、コンテンツ配信部４０からの要求に応じて配信要求コンテンツのコンテンツデータの格納場所を検索し、当該格納場所をコンテンツ配信部４０に通知するモジュールである。さらにコンテンツ保持状態決定部４２は、配信要求コンテンツのコンテンツデータが主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納されていない場合に、その配信要求コンテンツの保持状態（コンテンツデータをコンテンツキャッシュ領域２２Ａに格納すべきか否か）を決定するモジュールである。
【００３６】
キャッシュ制御部４３は、コンテンツ保持状態決定部４２により配信要求コンテンツのコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納すべきと決定された場合に、そのコンテンツデータを格納するための記憶領域をコンテンツキャッシュ領域２２Ａ上に確保するモジュールである。またユーザ特性更新部４４は、キャッシュ制御部４３からの指示に応じてユーザ指標管理テーブル４８を更新するモジュールである。
【００３７】
一方、コンテンツ管理テーブル４５は、コンテンツ管理サーバ４がクライアント２に提供可能なコンテンツを管理するために利用されるテーブルである。このコンテンツ管理テーブル４５は、図２に示すように、コンテンツ名欄４５Ａ、サイズ欄４５Ｂ、ビットレート欄４５Ｃ、キャッシュ格納フラグ欄４５Ｄ、キャッシュ格納先欄４５Ｅ及びストレージ格納先欄４５Ｆから構成される。
【００３８】
そしてコンテンツ名欄４５Ａには、コンテンツ管理サーバ４が管理している各コンテンツの名称（以下、これをコンテンツ名と呼ぶ）がそれぞれ格納され、サイズ欄４５Ｂには、対応するコンテンツのファイルサイズが格納される。またビットレート欄４５Ｃには、対応するコンテンツのコンテンツデータをクライアント２に転送する際のデータ転送レートが格納される。
【００３９】
さらにキャッシュ格納フラグ欄４５Ｄには、そのコンテンツのコンテンツデータが主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納されているか否かを表すフラグ（以下、これをキャッシュ格納フラグと呼ぶ）が格納される。この場合、キャッシュ格納フラグは、対応するコンテンツのコンテンツデータがコンテンツキャッシュ領域２２Ａに格納されている場合には「１」に設定され、当該コンテンツデータがコンテンツキャッシュ領域２２Ａに格納されていない場合には「０」に設定される。
【００４０】
キャッシュ格納先欄４５Ｅには、対応するコンテンツのコンテンツデータが主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納されている場合に、当該コンテンツデータが格納されているコンテンツキャッシュ領域２２Ａ内のアドレス（以下、これをキャッシュ格納先アドレスと呼ぶ）が格納される。またストレージ格納先欄４５Ｆには、対応するコンテンツのコンテンツデータが格納されているストレージ装置６の装置ＩＤと、当該ストレージ装置６内のそのコンテンツデータが格納されているアドレス位置とから構成されるアドレス（以下、これをストレージ格納先アドレスと呼ぶ）が格納される。
【００４１】
従って、図２の場合、例えば「動画ｕ.mp4」というコンテンツは、データサイズが「4.2GB」、データ転送レートが「5Mbps」であって、そのコンテンツデータは主記憶装置２２のコンテンツキャッシュ領域２２Ａには格納されておらず、「ST-1」というストレージ装置６内の「0xB00000」というアドレス位置に格納されていることが示されている。
【００４２】
コンテンツアクセス傾向管理テーブル４６は、コンテンツ管理サーバ４が管理しているコンテンツごとのアクセス数と、これらコンテンツごとのユーザ指標値の集計値（以下、これをユーザ指標集計値と呼ぶ）を管理するために利用されるテーブルである。このコンテンツアクセス傾向管理テーブル４６は、図３に示すように、コンテンツ名欄４６Ａ、アクセス数欄４６Ｂ及びユーザ指標集計値欄４６Ｃから構成される。
【００４３】
そしてコンテンツ名欄４６Ａには、コンテンツ管理サーバ４が管理している各コンテンツのコンテンツ名がそれぞれ格納され、アクセス数欄４６Ｂには、一定期間内における対応するコンテンツへのアクセス数が格納される。ここで、「一定期間」とは、本コンテンツ管理システム１のシステム管理者が設定した時間である。またアクセス数については、過去にアクセス数が高いコンテンツが永久にキャッシュに保存されないように所定のタイミングでリセット処理を実行するようにしても良い。リセット処理の方法としては、例えば、一定期間が経過するごとにアクセス数を半分にするといった方法がある。
【００４４】
またユーザ指標集計値欄４６Ｃには、対応するコンテンツを視聴したすべてのユーザのユーザ指標値の集計値（ユーザ指標集計値）が格納される。なお、以下においては、かかるユーザ指標集計値をユーザ指標値の平均値として説明するが、これ以外の集計値を適用するようにしても良い。コンテンツごとのユーザ指標集計値を管理することで、そのコンテンツを視聴しているユーザの傾向を解析することができる。
【００４５】
従って、図３の場合、「動画ｕ.mp4」というコンテンツは、一定期間内のアクセス数が「８」回、ユーザ指標値の平均値（ユーザ指標集計値）が「3.7」であり、「動画ｖ.mp4」というコンテンツは、一定期間内のアクセス数が「10」回、ユーザ指標集計値が「15.2」であり、「動画ｘ.mp4」というコンテンツは、一定期間内のアクセス数が「100」回、ユーザ指標集計値が「22.5」であることが示されている。
【００４６】
コンテンツ視聴履歴管理テーブル４７は、主記憶装置２２のコンテンツキャッシュ領域２２Ａにコンテンツデータが格納されている各コンテンツをそれぞれ視聴したユーザを管理するために利用されるテーブルであり、図４に示すように、コンテンツ名欄４７Ａ及び視聴ユーザ名欄４７Ｂから構成される。
【００４７】
そしてコンテンツ名欄４７Ａには、コンテンツキャッシュ領域２２Ａにコンテンツデータが格納された各コンテンツのコンテンツ名がそれぞれ格納され、視聴ユーザ名欄４７Ｂには、対応するコンテンツを過去に視聴したユーザのユーザ名が格納される。ユーザから当該ユーザが未視聴のコンテンツを指定したコンテンツ配信要求がコンテンツ管理サーバ４に与えられるごとに、コンテンツ視聴履歴管理テーブル４７におけるそのコンテンツのエントリ（行）の視聴ユーザ名欄４７Ｂにそのユーザのユーザ名が追加登録される。
【００４８】
従って、図４の場合、「動画ｕ.mp4」というコンテンツは、過去に「AAA」、「BBB」、「CCC」、……というユーザ名の各ユーザにそれぞれ視聴され、「動画v.mp4」というコンテンツは、過去に「BBB」、「DDD」、……というユーザ名の各ユーザにそれぞれ視聴され、「動画w.mp4」というコンテンツは、過去に「CCC」、……というユーザ名のユーザに視聴されたことが示されている。
【００４９】
なお、後述のように、コンテンツのコンテンツデータがコンテンツキャッシュ領域２２Ａから廃棄された場合、コンテンツ視聴履歴管理テーブル４７からそのコンテンツに対応するエントリが削除されるもしくは当該エントリが空エントリとされる。
【００５０】
ユーザ指標管理テーブル４８は、ユーザごとのユーザ指標値を管理するために利用されるテーブルである。このユーザ指標管理テーブル４８は、図５に示すように、ユーザ名欄４８Ａ及びユーザ指標値欄４８Ｂから構成される。そしてユーザ名欄４８Ａには、登録された各ユーザのユーザ名がそれぞれ格納され、ユーザ指標値欄４８Ｂには、対応するユーザのユーザ指標値が格納される。
【００５１】
従って、図５の場合、「AAA」というユーザのユーザ指標値が「-13」であり、「BBB」というユーザのユーザ指標値が「25」であり、「CCC」というユーザのユーザ指標値が「2」であることが示されている。
【００５２】
ここで、ユーザ指標値は、上述のようにそのユーザが視聴しているコンテンツの人気度と関連している。コンテンツの人気度とは、ユーザから配信要求される頻度のことであり、他のコンテンツと比べたときに、頻度が多い場合にはそのコンテンツは人気があることを示し、頻度が低い場合にはそのコンテンツは人気がないことを示す。
【００５３】
ユーザ指標値は、上述のように配信要求コンテンツのコンテンツデータがコンテンツ管理サーバ４の主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納されていない場合に、配信要求コンテンツの保持状態（コンテンツデータを主記憶装置２２のコンテンツキャッシュ領域に格納するか否か）を決定するために用いられる。後述のように、このユーザ指標値は、主記憶装置２２のコンテンツキャッシュ領域２２Ａからコンテンツを廃棄（以下、適宜、これをコンテンツの追い出しと呼ぶ）する際に更新される。
【００５４】
（１−３）コンテンツ配信処理の流れ
図６は、ユーザがクライアント２を操作して所望のコンテンツの配信をコンテンツ管理サーバ４に要求した場合におけるコンテンツ管理サーバ４内での処理及びコンテンツデータの流れを示す。以下においては、各種処理の処理主体を「モジュール（……部）」として説明するが、実際上は、そのモジュール（プログラムまたはオブジェクト）に基づいてクライアント２のＣＰＵ１１（図１）やコンテンツ管理サーバ４のＣＰＵ２１（図１）がその処理を実行することは言うまでもない。
【００５５】
まず、ユーザがクライアント２に対して所望するコンテンツを視聴するための操作（以下、これをコンテンツ視聴操作と呼ぶ）を行うと、これに応じたコンテンツ配信要求がクライアント２のコンテンツ再生部１６からコンテンツ管理サーバ４に送信される（ＳＰ１）。
【００５６】
コンテンツ管理サーバ４のコンテンツ配信部４０は、かかるコンテンツ配信要求を受信すると、そのコンテンツ配信要求において指定された配信要求コンテンツのコンテンツデータの格納先をコンテンツ管理部４１に問い合わせる（ＳＰ２）。
【００５７】
コンテンツ管理部４１は、かかる問い合わせに従って、コンテンツ管理テーブル４５を参照して（ＳＰ３）、配信要求コンテンツのコンテンツデータが主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納されているか否かを判定する。そしてコンテンツ管理部４１は、配信要求コンテンツがコンテンツキャッシュ領域２２Ａに格納されている場合には、コンテンツキャッシュ領域２２Ａにおける配信要求コンテンツのコンテンツデータの格納先（キャッシュ格納先アドレス）をコンテンツ管理テーブル４５から読み出し（ＳＰ３）、読み出したキャッシュ格納先アドレスをコンテンツ配信部４０に通知する（ＳＰ４）。
【００５８】
かくして、このときコンテンツ配信部４０は、コンテンツキャッシュ領域２２Ａにおけるコンテンツ管理部４１より通知されたキャッシュ格納先アドレスから配信要求コンテンツのコンテンツデータを読み出し（ＳＰ５）、読み出したコンテンツデータをクライアント２に送信する（ＳＰ６）。
【００５９】
一方、コンテンツ管理部４１は、配信要求コンテンツのコンテンツデータが主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納されていない場合には、配信要求コンテンツの保持状態を決定するようコンテンツ保持状態決定部４２に指示を与える（ＳＰ７）。
【００６０】
コンテンツ保持状態決定部４２は、かかる指示が与えられると、配信要求コンテンツの配信を要求したユーザ（以下、これを配信要求ユーザと呼ぶ）のユーザ指標値をユーザ指標管理テーブル４８から取得し（ＳＰ８）、取得したユーザ指標値に基づいて、配信要求コンテンツのコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納すべきか否かを決定する。
【００６１】
例えば、コンテンツ保持状態決定部４２は、ステップＳＰ８において取得したユーザ指標値が予め設定されたユーザ指標閾値以下である場合には、配信要求コンテンツのコンテンツデータをコンテンツキャッシュ領域２２Ａに格納しないと決定し、その決定結果をコンテンツ管理部４１に通知する（ＳＰ９）。
【００６２】
この場合、コンテンツ管理部４１は、配信要求コンテンツのコンテンツデータの格納先（ストレージ格納先アドレス）をコンテンツ管理テーブル４５から取得する（ＳＰ３）。またコンテンツ管理部４１は、コンテンツ視聴履歴管理テーブル４７の配信要求コンテンツに対応するエントリの視聴ユーザ名欄４７Ｂ（図４）に、配信要求コンテンツの配信を要求したユーザのユーザ名を追加登録し（ＳＰ１０）、この後、上述のようにして取得したストレージ格納先アドレスをコンテンツ配信部４０に通知する（ＳＰ４）。
【００６３】
コンテンツ配信部４０は、かかるストレージ格納先アドレスがコンテンツ管理部４１から通知されると、そのコンテンツデータが格納されているストレージ装置６に対して配信要求コンテンツのコンテンツデータを対象とする読出し要求を送信する（ＳＰ１１）。またコンテンツ配信部４０は、かかる読出し要求に応じてそのストレージ装置６から送信される配信要求コンテンツのコンテンツデータを受領すると、これをコンテンツ配信要求の送信元のクライアント２に転送する（ＳＰ１２，ＳＰ６）。
【００６４】
これに対してコンテンツ保持状態決定部４２は、ステップＳＰ９において、ステップＳＰ８において取得したユーザ指標値がユーザ指標閾値よりも大きい場合には、配信要求コンテンツのコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納すべきことを決定し、その決定結果をコンテンツ管理部４１に通知する。
【００６５】
この場合、コンテンツ管理部４１は、コンテンツキャッシュ領域２２Ａ内に配信要求コンテンツのコンテンツデータを格納するための記憶領域を確保するようキャッシュ制御部４３に指示を与える（ＳＰ１３）。
【００６６】
キャッシュ制御部４３は、かかる指示が与えられると、配信要求コンテンツのコンテンツデータを格納するための空き領域が存在するか否かを確認する（ＳＰ１４）。そしてキャッシュ制御部４３は、かかる空き領域が存在すると判断した場合には、その空き領域を確保した上でコンテンツ管理部４１にその旨を通知する（ＳＰ１５）。
【００６７】
コンテンツ管理部４１は、配信要求コンテンツを格納するための空き領域が存在するとの通知を受けると、その旨をコンテンツ配信部４０に通知する（ＳＰ４）。またコンテンツ配信部４０は、かかる通知を受領すると、上述のように先行してコンテンツ管理部４１から通知された、配信要求コンテンツのコンテンツデータの格納先（ストレージ格納先アドレス）に基づいて、対応するストレージ装置６に対して配信要求コンテンツのコンテンツデータの読出し要求を送信する（ＳＰ１６）。
【００６８】
かかる読み出し要求を受信したストレージ装置６は、当該読出し要求において指定された配信要求コンテンツのコンテンツデータを記憶デバイス３１から読み出し、読み出したコンテンツデータをコンテンツ管理サーバ４に送信する（ＳＰ１７）。かくして、このコンテンツデータは、この後、主記憶装置２２のコンテンツキャッシュ領域２２Ａ内のキャッシュ制御部４３により確保された空き領域に順次書き込まれながら、これと並行してコンテンツ配信部４０によりコンテンツキャッシュ領域２２Ａから読み出され（ＳＰ５）、コンテンツ配信要求の送信元のクライアント２に送信される（ＳＰ６）。
【００６９】
これに対して、キャッシュ制御部４３は、ステップＳＰ１４の処理時に、主記憶装置２２のコンテンツキャッシュ領域２２Ａ内に配信要求コンテンツのコンテンツデータを格納するための空き領域が存在しないと判断した場合には、コンテンツ管理テーブル４５及びコンテンツアクセス傾向管理テーブルを参照し（ＳＰ１８，ＳＰ１９）、主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納された各コンテンツのコンテンツ特性に基づいて、当該コンテンツキャッシュ領域２２Ａからコンテンツデータを追い出すべきコンテンツ（以下、これを追出し対象コンテンツと呼ぶ）を決定する。
【００７０】
なお、かかる追出し対象コンテンツの決定方法として、最後にアクセスされた日時が最も古いコンテンツを追出し対象コンテンツとするＬＲＵ（Least Recently Used）や、アクセス数が最も少ないコンテンツを追出し対象コンテンツとするＬＦＵ（Least Frequently Used）といったアルゴリズム、又は、これ以外のアリゴリズムを広く適用することができる。例えば、追出し対象コンテンツの決定方法としてＬＦＵを適用する場合、キャッシュ制御部は、コンテンツアクセス傾向管理テーブルを参照して、アクセス数が最も低いコンテンツを追出し対象コンテンツに決定する。以下においては、追出し対象コンテンツの決定方法として、ＬＦＵを適用するものとして説明する。
【００７１】
キャッシュ制御部４３は、上述のようにして追出し対象コンテンツを決定すると、その追出し対象コンテンツのコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａから廃棄（削除）すると共に（ＳＰ１４）、追出し対象コンテンツのコンテンツ名をユーザ特性更新部４４に通知する（ＳＰ２０）。
【００７２】
ユーザ特性更新部４４は、かかる通知を受領すると、コンテンツ視聴履歴管理テーブル４７を参照し（ＳＰ２２）、対応する各ユーザのコンテンツの視聴履歴に基づいて、ユーザ指標管理テーブル４８に格納されている各ユーザのユーザ指標値をそれぞれ更新する（ＳＰ２３）。
【００７３】
具体的に、ユーザ特定更新部４４は、追出し対象コンテンツを過去に視聴したユーザのユーザ指標値を所定数（以下においては、「２」とする）だけ減少させた値に変更し、主記憶装置２２のコンテンツキャッシュ領域２２Ａに残っているいずれかのコンテンツを視聴した又は視聴するユーザのユーザ指標値を所定数（以下においては、「１」とする）だけ増加させた値に変更するようにユーザ指標管理テーブル４８を更新する。
【００７４】
（１−４）各管理テーブルの更新の流れ
次に、上述のコンテンツ配信処理において行われる各管理テーブルの更新処理の流れについて説明する。図７は、コンテンツ配信処理時における各管理テーブルの更新の流れを示す。
【００７５】
なお、ここでは「ユーザＣ」というユーザが使用するクライアント２から「動画ｚ」というコンテンツを指定したコンテンツ配信要求がコンテンツ管理サーバ４に与えられた場合であって、この「動画ｚ」のコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納することとなり、これに伴って当該コンテンツキャッシュ領域２２Ａからいずれかのコンテンツのコンテンツデータを追い出す追出し処理が実行されるときに行われる各ユーザのユーザ指標値を更新する例について説明する。
【００７６】
まず、「ユーザＣ」の操作に応じて配信要求シーケンスＳＱ１が実行され、「動画ｚ」を指定したコンテンツ配信要求がクライアント２からコンテンツ管理サーバ４に送信される。
【００７７】
コンテンツ管理サーバ４側では、このコンテンツ配信要求を受信すると、コンテンツ配信部４０により要求受信シーケンスＳＱ２が実行され、当該コンテンツ配信要求の受信処理が実行される。
【００７８】
続くキャッシュ検索シーケンスＳＱ３では、コンテンツ管理部４１により、主記憶装置２２のコンテンツキャッシュ領域２２Ａに「動画ｚ」のコンテンツデータが格納されているかが検索される。具体的に、コンテンツ管理部４１は、このキャッシュ検索シーケンスＳＱ３において、コンテンツ管理テーブル４５の「動画ｚ」に対応するエントリ（行）のキャッシュ格納フラグ欄４５Ｄ（図２）を参照して、当該キャッシュ格納フラグ欄４５Ｄに格納されているキャッシュ格納先フラグの値が「０」であるか否かを判定する。この例では、キャッシュ格納先フラグが「０」であるため、コンテンツ管理部４１は、「動画ｚ」というコンテンツのコンテンツデータは主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納されていないと認識する。かくして、コンテンツ管理部４１は、配信要求コンテンツの保持状態を決定するようコンテンツ保持状態決定部４２に指示を与える。
【００７９】
かかる指示がコンテンツ保持状態決定部４２に与えられると、コンテンツ保持状態決定シーケンスＳＱ４が実行され、コンテンツ保持状態決定部４２が、ユーザ指標管理テーブル４８から「ユーザＣ」のユーザ指標値を読み出し、読み出したユーザ指標値に基づいて、「動画ｚ」というコンテンツの保持状態を決定する。ユーザ指標閾値を「０」とすると、「ユーザＣ」のユーザ指標値がユーザ指標閾値よりも大きいため、「動画ｚ」というコンテンツを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納することが決定される。そして、この決定結果がコンテンツ管理部４１に通知される。
【００８０】
コンテンツ管理部４１は、かかる通知を受領すると、配信要求コンテンツのコンテンツデータを格納するための記憶領域を主記憶装置２２のコンテンツキャッシュ領域２２Ａ上に確保するようキャッシュ制御部４３に指示を与える。
【００８１】
かかる指示がキャッシュ制御部４３に与えられると、キャッシュ追出しシーケンスＳＱ５が実行され、キャッシュ制御部４３が、コンテンツアクセス傾向管理テーブル４６を参照して追出し対象コンテンツを決定し、その追出し対象コンテンツのコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａから廃棄する。図７の例では、「動画ｕ」のアクセス数が最も少ないため、この「動画ｕ」のコンテンツデータが主記憶装置２２のコンテンツキャッシュ領域２２Ａから廃棄されることになる。またキャッシュ制御部４３は、この後、コンテンツ管理テーブル４５における「動画ｕ」のキャッシュ格納フラグを「０」に変更すると共に、「動画ｚ」のキャッシュ格納フラグを「１」に変更する。
【００８２】
続くユーザ指標値更新シーケンスＳＱ６では、ユーザ特性更新部４４が、追出し対象コンテンツを過去に視聴したユーザをコンテンツ視聴履歴管理テーブル４７上で検索し、ユーザ指標管理テーブル４８におけるそのユーザのユーザ指標値を２だけ減少させる。図７の例では、「ユーザＡ」が追出し対象コンテンツである「動画ｕ」を視聴しているため、ユーザ指標管理テーブル４８における「ユーザＡ」のユーザ指標値が２だけ減算した値に更新される。
【００８３】
またユーザ特性更新部４４は、これと併せて、そのとき主記憶装置２２のコンテンツキャッシュ領域２２Ａにコンテンツデータが格納されているいずれかのコンテンツを視聴した又は視聴するユーザをコンテンツ視聴履歴管理テーブル４７上で検索し、ユーザ指標管理テーブル４８におけるそのユーザのユーザ指標値を１だけ増加させる。図７の例では、そのとき「動画ｖ」及び「動画ｚ」というコンテンツのコンテンツデータが主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納されており、「動画ｖ」については「ユーザＢ」が過去に視聴し、「動画ｚ」については「ユーザＣ」が視聴することになっているため、ユーザ指標管理テーブル４８におけるこれら「ユーザＢ」及び「ユーザＣ」のユーザ指標値がそれぞれ１ずつ加算された値に更新される。
【００８４】
続くコンテンツ配信開始シーケンスＳＱ７では、コンテンツ配信部４０が、配信要求コンテンツである「動画ｚ」のコンテンツデータを保持するストレージ装置６に対して、当該「動画ｚ」のコンテンツデータの読出し要求を送信する。かくして、この読出し要求を受信したストレージ装置６は、要求された「動画ｚ」のコンテンツデータをコンテンツブロック単位で読み出し、読み出したコンテンツデータをコンテンツ管理サーバ４に送信する（シーケンスＳＱ８）。
【００８５】
そして、この後のコンテンツ配信シーケンスＳＱ９では、ストレージ装置６からコンテンツブロック単位で送信されるコンテンツデータを、主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納しながら、コンテンツ配信要求の送信元のクライアント２に転送する。かくしてクライアント２のコンテンツ再生部１６（図１）は、コンテンツ管理サーバ４からコンテンツブロック単位で送信されるコンテンツデータを受信しながら再生する（シーケンスＳＱ１０）。
【００８６】
（１−５）コンテンツ管理機能に関連する各プログラムモジュールの処理
次に、かかる本実施の形態によるコンテンツ管理機能に関連して、クライアント２の主記憶装置１２（図１）や、コンテンツ管理サーバ４の主記憶装置２２に格納された各プログラムモジュールにより実行される各種処理の具体的な処理内容について説明する。
（１−５−１）コンテンツ再生処理
図８は、ユーザがクライアント２に対してコンテンツ視聴操作を行ったときに、当該クライアント２の主記憶装置１２に格納されたコンテンツ再生部１６（図１）により実行されるコンテンツ再生処理の具体的な処理内容を示す。
【００８７】
コンテンツ再生部１６は、かかるコンテンツ視聴操作が行われると、この図８に示すコンテンツ再生処理を開始し、まず、コンテンツ管理サーバ４が提供するプロトコルに従って、当該コンテンツ管理サーバ４との間の通信を確立する（ＳＰ３０）。
【００８８】
続いて、コンテンツ再生部１６は、コンテンツ視聴操作により選択されたコンテンツを配信要求コンテンツとして指定したコンテンツ配信要求を、コンテンツ管理サーバ４に送信する（ＳＰ３１）。またコンテンツ再生部１６は、この後、コンテンツ管理サーバ４から配信要求コンテンツのコンテンツデータが送信されるのを待ち受ける（ＳＰ３２）。
【００８９】
そしてコンテンツ再生部１６は、やがてコンテンツ管理サーバ４から配信要求コンテンツのデータブロック１つ分のコンテンツデータ（以下、これをコンテンツブロックと呼ぶ）が送信されてくると、そのコンテンツブロックを再生処理する（ＳＰ３３）。この結果、かかるコンテンツデータに基づく配信要求コンテンツの画像が表示装置１４に表示される。
【００９０】
次いで、コンテンツ再生部１６は、すべてのコンテンツブロックを受信し終えたか否かを判断する（ＳＰ３４）。そしてコンテンツ再生部１６は、この判断で否定結果を得るとステップＳＰ３２に戻り、この後、ステップＳＰ３４において肯定結果を得るまで、同様の処理を繰り返す。
【００９１】
そしてコンテンツ再生部１６は、やがてすべてのコンテンツブロックを再生処理し終えることによりステップＳＰ３４において肯定結果を得ると、このコンテンツ再生処理を終了する。
【００９２】
（１−５−２）コンテンツ配信処理
図９は、クライアント２からのコンテンツ配信要求を受信したコンテンツ管理サーバ４のコンテンツ配信部４０により実行されるコンテンツ配信処理の処理手順を示す。
【００９３】
コンテンツ配信部４０は、コンテンツ配信要求を受信すると、この図９に示すコンテンツ配信処理を開始し、まず、受信したコンテンツ配信要求に含まれる、当該コンテンツ配信要求の送信元のクライアント２を使用するユーザのユーザ名と、配信要求コンテンツのコンテンツ名とをコンテンツ管理部４１に渡し、配信要求コンテンツの格納先をコンテンツ管理部４１に問い合わせる（ＳＰ４０）。
【００９４】
続いて、コンテンツ配信部４０は、かかる問合せに対するコンテンツ管理部４１からの戻り値に基づいて、配信要求コンテンツのコンテンツデータが主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納されているか否かを判断する（ＳＰ４１）。
【００９５】
ここで、配信要求コンテンツのコンテンツデータが主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納されている場合、コンテンツキャッシュ領域２２Ａにおける配信要求コンテンツのコンテンツデータの格納先（キャッシュ格納先アドレス）が上述の戻り値としてコンテンツ管理部４１から通知される。かくして、このときコンテンツ配信部４０は、主記憶装置２２のコンテンツキャッシュ領域２２Ａにおけるかかるキャッシュ格納先アドレスのアドレス位置から配信要求コンテンツの１つのコンテンツブロックを読み出し（ＳＰ４２）、読み出したコンテンツブロックをクライアント２に送信する（ＳＰ４３）。
【００９６】
またコンテンツ配信部４０は、この後、配信要求コンテンツのすべてのコンテンツブロックをクライアント２に送信し終えたか否かを判断する（ＳＰ４４）。そしてコンテンツ配信部４０は、この判断で否定結果を得ると、ステップＳＰ４２に戻り、この後、ステップＳＰ４２〜ステップＳＰ４４の処理を繰り返す。
【００９７】
そして、コンテンツ配信部４０は、やがて配信要求コンテンツのすべてのコンテンツブロックをクライアント２に送信し終えることによりステップＳＰ４４で肯定結果を得ると、このコンテンツ配信処理を終了する。
【００９８】
一方、配信要求コンテンツのコンテンツデータが主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納されていない場合、配信要求コンテンツを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納すべきか否かの情報が上述の戻り値としてコンテンツ管理部４１から通知される。かくして、このときコンテンツ配信部４０は、この戻り値に基づいて、配信要求コンテンツを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納すべきか否かを判断する（ＳＰ４５）。
【００９９】
そしてコンテンツ配信部４０は、この判断で否定結果を得ると、かかる戻り値に含まれる、配信要求コンテンツのコンテンツデータの格納先であるストレージ格納先アドレスに基づいて、対応するストレージ装置６内の対応するアドレス位置から配信要求コンテンツの１つのコンテンツブロックを読み出し（ＳＰ４６）、読み出したコンテンツブロックをクライアント２に送信する（ＳＰ４７）。
【０１００】
またコンテンツ配信部４０は、この後、配信要求コンテンツのすべてのコンテンツブロックをクライアント２に送信し終えたか否かを判断する（ＳＰ４８）。そしてコンテンツ配信部４０は、この判断で否定結果を得ると、ステップＳＰ４６に戻り、この後、ステップＳＰ４６〜ステップＳＰ４８の処理を繰り返す。
【０１０１】
そして、コンテンツ配信部４０は、やがて配信要求コンテンツのすべてのコンテンツブロックをクライアント２に送信し終えることによりステップＳＰ４８で肯定結果を得ると、このコンテンツ配信処理を終了する。
【０１０２】
これに対して、コンテンツ配信部４０は、ステップＳＰ４５の判断で肯定結果を得ると、ステップＳＰ４６と同様にして対応するストレージ装置６から配信要求コンテンツの１つのコンテンツブロックを読み出し（ＳＰ４９）、読み出したコンテンツブロックを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納しながらクライアント２に送信する（ＳＰ５０）。
【０１０３】
またコンテンツ配信部４０は、この後、配信要求コンテンツのすべてのコンテンツブロックをクライアント２に送信し終えたか否かを判断する（ＳＰ５１）。そしてコンテンツ配信部４０は、この判断で否定結果を得ると、ステップＳＰ４９に戻り、この後、ステップＳＰ４９〜ステップＳＰ５１の処理を繰り返す。
【０１０４】
そして、コンテンツ配信部４０は、やがて配信要求コンテンツのすべてのコンテンツブロックをクライアント２に送信し終えることによりステップＳＰ５１で肯定結果を得ると、このコンテンツ配信処理を終了する。
【０１０５】
（１−５−３）コンテンツ管理処理
図１０は、コンテンツ配信部４０から配信要求コンテンツの格納先の問合せを受けたコンテンツ管理部４１により実行されるコンテンツ管理処理の処理手順を示す。コンテンツ管理部４１は、この図１０に示す処理手順に従って、配信要求コンテンツのコンテンツデータの格納場所を検索すると共に、必要に応じて主記憶装置２２のコンテンツキャッシュ領域２２Ａ上に設定し、検出又は設定した配信要求コンテンツのコンテンツデータの格納先をコンテンツ配信部４０に通知する。
【０１０６】
実際上、コンテンツ管理部４１は、コンテンツ配信部４０からかかる問合せを受けるとこの図１０に示すコンテンツ管理処理を開始し、まず、コンテンツ管理テーブル４５（図２）から配信要求コンテンツと対応付けられたキャッシュ格納フラグを取得し（ＳＰ６０）、取得したキャッシュ格納フラグに基づいて、配信要求コンテンツのコンテンツデータが主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納されているか否かを判断する（ＳＰ６１）。
【０１０７】
コンテンツ管理部４１は、この判断で肯定結果を得ると、コンテンツ視聴履歴管理テーブル４７を必要に応じて更新するコンテンツ視聴履歴管理処理を実行する（ＳＰ６２）。コンテンツ視聴履歴管理処理の詳細については後述する。またコンテンツ管理部４１は、この後、主記憶装置２２のコンテンツキャッシュ領域２２Ａにおける配信要求コンテンツのコンテンツデータが格納されている場所のアドレス（キャッシュ格納先アドレス）をコンテンツ管理テーブル４５から取得し、これをコンテンツ格納先に設定する（ＳＰ６６）。
【０１０８】
続いて、コンテンツ管理部４１は、コンテンツアクセス傾向管理テーブル４６の配信要求コンテンツに対応するエントリ（行）のアクセス数欄４６Ｂ（図３）に格納されているアクセス数を１だけ増加させる。またコンテンツ管理部４１は、コンテンツアクセス傾向管理テーブル４６に登録された各コンテンツのユーザ指標集計値をそれぞれ算出し、算出結果に基づいて、コンテンツアクセス傾向管理テーブル４６の各ユーザ指標集計値欄４６Ｃ（図３）をそれぞれ更新する（ＳＰ６８）。なお、この際、登録後間もない（予め定められた所定時間が経過していない）ユーザについては、そのユーザのアクセス傾向を把握し難いため、ユーザ指標集計値を算出する際の対象から除外するようにしても良い。
【０１０９】
次いで、コンテンツ管理部４１は、配信要求コンテンツの保持状態を表すメッセージ（ここでは配信要求コンテンツのコンテンツデータが主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納されている旨のメッセージ）と、ステップＳＰ６６において配信要求コンテンツのコンテンツデータの格納先に設定したキャッシュ格納先アドレスとをコンテンツ配信部４０に通知する（ＳＰ６９）。そしてコンテンツ管理部４１は、この後、このコンテンツ管理処理を終了する。
【０１１０】
一方、コンテンツ管理部４１は、ステップＳＰ６１の判断で否定結果を得ると、配信要求コンテンツのコンテンツ名と、配信要求ユーザのユーザ名とをコンテンツ保持状態決定部に通知し、配信要求コンテンツの保持状態（コンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納するか否か）を決定するようコンテンツ保持状態決定部４２に指示する（ＳＰ６３）。
【０１１１】
またコンテンツ管理部４１は、この後、配信要求コンテンツの保持状態の決定結果がコンテンツ保持状態決定部４２から通知されると、この決定結果が、配信要求コンテンツを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納すべき決定であるか否かを判断する（ＳＰ６４）。
【０１１２】
コンテンツ管理部４１は、この判断で否定結果を得ると、コンテンツ管理テーブル４５の配信要求コンテンツと対応付けられたエントリ（行）のストレージ格納先欄４５Ｆ（図２）に格納されているアドレス（ストレージ格納先アドレス）を取得し、取得したストレージ格納先アドレスを配信要求コンテンツの格納先に設定する（ＳＰ６７）。
【０１１３】
次いで、コンテンツ管理部４１は、上述と同様にコンテンツアクセス傾向管理テーブル４６を更新し（ＳＰ６８）、さらに配信要求コンテンツの保持状態を表すメッセージ（ここでは配信要求コンテンツのコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納しない旨のメッセージ）と、ステップＳＰ６７において配信要求コンテンツの格納先に設定したストレージ格納先アドレスとをコンテンツ配信部４０に送信する（ＳＰ６９）。そしてコンテンツ管理部４１は、この後、このコンテンツ管理処理を終了する。
【０１１４】
これに対して、コンテンツ管理部４１は、ステップＳＰ６４の判断で肯定結果を得ると、配信要求コンテンツのコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納するための準備であるキャッシュ格納準備処理を実行するようキャッシュ制御部４３に指示を与える（ＳＰ６５）。
【０１１５】
このキャッシュ格納準備処理により主記憶装置２２のコンテンツキャッシュ領域２２Ａ上に配信要求コンテンツのコンテンツデータの格納先が確保され、その格納先のアドレス（キャッシュ格納先アドレス）がキャッシュ制御部４３からコンテンツ管理部４１に通知される。かくして、コンテンツ管理部４１は、このようにしてキャッシュ制御部４３から通知されたキャッシュ格納先アドレスを配信要求コンテンツのコンテンツデータの格納先に設定する（ＳＰ６６）。
【０１１６】
続いて、コンテンツ管理部４１は、上述と同様にコンテンツアクセス傾向管理テーブル４６を更新し（ＳＰ６８）、さらに配信要求コンテンツの保持状態を表すメッセージ（ここでは配信要求コンテンツのコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納する旨のメッセージ）と、ステップＳＰ６６において配信要求コンテンツのコンテンツデータの格納先に設定したキャッシュ格納先アドレスとをコンテンツ配信部４０に送信する（ＳＰ６９）。
【０１１７】
つまり、ステップＳＰ６４において肯定結果を得るケースの場合、配信要求コンテンツは、主記憶装置２２のコンテンツキャッシュ領域２２Ａのうち、ステップＳＰ６６において格納先に設定されたキャッシュ格納先アドレスのアドレス位置にストレージ装置６から読み出され、これと並行して当該アドレス位置からコンテンツ配信部４０に読み出されてクライアント２に送信されることになる。
【０１１８】
そしてコンテンツ管理部４１は、この後、このコンテンツ管理処理を終了する。
【０１１９】
（１−５−４）コンテンツ視聴履歴管理テーブル更新処理
図１１は、図１０について上述したコンテンツ管理処理のステップＳＰ６２においてコンテンツ管理部４１により実行されるコンテンツ視聴履歴管理テーブル更新処理の具体的な処理手順を示す。
【０１２０】
コンテンツ管理部４１は、コンテンツ管理処理のステップＳＰ６２に進むと、このコンテンツ視聴履歴管理テーブル更新処理を開始し、まず、コンテンツ視聴履歴管理テーブル４７の配信要求コンテンツと対応付けられたエントリ（行）の視聴ユーザ名欄４７Ｂ（図４）から、配信要求コンテンツを過去に視聴したすべてのユーザのユーザ名を取得し、取得したすべてのユーザのユーザ名が登録されたリスト（以下、これを視聴ユーザリストと呼ぶ）を作成する（ＳＰ７０）。
【０１２１】
続いて、コンテンツ管理部４１は、配信要求コンテンツの配信要求ユーザのユーザ名がステップＳＰ７０において作成した視聴ユーザリストに登録されているか否かを判断し（Ｓ７１Ｐ）、肯定結果を得ると、このコンテンツ視聴履歴管理テーブル更新処理を終了する。
【０１２２】
これに対して、コンテンツ管理部４１は、ステップＳＰ７１の判断で肯定結果を得ると、配信要求コンテンツの配信要求ユーザのユーザ名を、コンテンツ視聴履歴管理テーブル４７の配信要求コンテンツと対応付けられたエントリの視聴ユーザ名欄４７Ｂに追加登録するようコンテンツ視聴履歴管理テーブル４７を更新し（ＳＰ７２）、この後、このコンテンツ視聴履歴管理テーブル更新処理を終了する。
【０１２３】
（１−５−５）コンテンツ保持状態決定処理
図１２は、図１０について上述したコンテンツ管理処理のステップＳＰ６３において、配信要求コンテンツの保持状態を決定するようコンテンツ管理部４１から指示されたコンテンツ保持状態決定部４２により実行されるコンテンツ保持状態決定処理の処理手順を示す。コンテンツ保持状態決定部４２は、この図１２に示す処理手順に従って、配信要求コンテンツのコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納するか否かを決定する。
【０１２４】
実際上、コンテンツ保持状態決定部４２は、かかる指示が与えられると、この図１２に示すコンテンツ保持状態決定処理を開始し、まず、配信要求ユーザのユーザ指標値をユーザ指標管理テーブル４８から取得する（ＳＰ８０）。
【０１２５】
続いて、コンテンツ保持状態決定部４２は、ステップＳＰ８０において取得した配信要求ユーザのユーザ指標値が、予め定められたユーザ指標閾値よりも大きいか否かを判断する（ＳＰ８１）。
【０１２６】
この判断で肯定結果を得ることは、配信要求ユーザが人気のあるコンテンツを多く視聴しているユーザであることを意味する。従って、このような配信要求ユーザが配信を要求するコンテンツ（配信要求コンテンツ）は、今度、人気となってアクセス数が増加すると予想される。かくして、このときコンテンツ保持状態決定部４２は、配信要求コンテンツのコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納すべきことを決定し、決定結果をコンテンツ管理部４１に通知する（ＳＰ８２）。そしてコンテンツ保持状態決定部４２は、この後、このコンテンツ保持状態決定処理を終了する。
【０１２７】
これに対して、ステップＳＰ８１の判断で否定結果を得ることは、配信要求ユーザが人気のあるコンテンツをあまり視聴していないユーザであることを意味する。従って、このような配信要求ユーザが配信を要求するコンテンツ（配信要求コンテンツ）は、今後もそれほど人気となることはなく、アクセス数もそれほど増加しないと予想される。かくして、このときコンテンツ保持状態決定部４２は、配信要求コンテンツのコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納しないことを決定し、決定結果をコンテンツ管理部４１に通知する（ＳＰ８３）。そしてコンテンツ保持状態決定部４２は、この後、このコンテンツ保持状態決定処理を終了する。
【０１２８】
（１−５−６）キャッシュ格納準備処理
図１３は、図１０について上述したコンテンツ管理処理のステップＳＰ６５においてキャッシュ格納準備処理の実行指示が与えられたキャッシュ制御部４３により実行されるキャッシュ格納準備処理の処理手順を示す。キャッシュ制御部４３は、この図１３の処理手順に従って、コンテンツ管理から配信要求コンテンツのコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納するための準備を行う。
【０１２９】
実際上、キャッシュ制御部４３は、かかる指示が与えられると、この図１３に示すキャッシュ格納準備処理を開始し、まず、コンテンツ管理テーブル４５を参照して、主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納された各コンテンツのデータサイズをそれぞれ取得し、これら各コンテンツのデータサイズの合計値と、主記憶装置２２のコンテンツキャッシュ領域２２Ａの容量とを比較して、当該コンテンツキャッシュ領域２２Ａの現在の空き容量を取得する（ＳＰ９０）。
【０１３０】
続いて、キャッシュ制御部４３は、コンテンツ管理テーブル４５から配信要求コンテンツのデータサイズを取得し、取得した配信要求コンテンツのデータサイズと、ステップＳＰ９０において取得した主記憶装置２２のコンテンツキャッシュ領域２２Ａの空き容量とに基づいて、配信要求コンテンツのコンテンツデータを格納するだけの空き容量が当該コンテンツキャッシュ領域２２Ａ上に存在するか否かを判断する（ＳＰ９１）。
【０１３１】
キャッシュ制御部４３は、この判断で肯定結果を得るとステップＳＰ９３に進み、これに対して否定結果を得ると、そのとき主記憶装置２２のコンテンツキャッシュ領域２２Ａにコンテンツデータが格納されているコンテンツの中から不要なコンテンツのコンテンツデータを追い出す（廃棄する）キャッシュ追出し処理を実行する（ＳＰ９２）。これによりキャッシュ制御部４３は、配信要求コンテンツのコンテンツデータを格納できるだけの空き容量を主記憶装置２２のコンテンツキャッシュ領域内に確保する。
【０１３２】
次いで、キャッシュ制御部４３は、かかるキャッシュ追出し処理の処理結果に従ってコンテンツ管理テーブル４５を更新する（ＳＰ９３）。具体的に、キャッシュ制御部４３は、コンテンツ管理テーブル４５のエントリ（行）のうち、かかるキャッシュ追出し処理により主記憶装置２２のコンテンツキャッシュ領域２２Ａから追い出したコンテンツと対応付けられたエントリについて、キャッシュ格納フラグ欄４５Ｄ（図２）に格納されているキャッシュ格納フラグを「１」から「０」に変更すると共に、キャッシュ格納先欄４５Ｅ（図２）に格納されているアドレスを「０」に変更する。またキャッシュ制御部４３は、コンテンツ管理テーブル４５のエントリのうち、配信要求コンテンツと対応付けられたエントリについて、キャッシュ格納フラグ欄４５Ｄに格納されているキャッシュ格納フラグを「０」から「１」に変更すると共に、キャッシュ追出し処理により主記憶装置２２のコンテンツキャッシュ領域２２Ａ上に確保した配信要求コンテンツのコンテンツデータを格納するための記憶領域のアドレスをキャッシュ格納先欄４５Ｅに格納する。
【０１３３】
次いで、キャッシュ制御部４３は、コンテンツ視聴履歴管理テーブル４７に配信要求コンテンツのエントリを追加する（ＳＰ９４）。具体的に、キャッシュ制御部４３は、コンテンツ視聴履歴管理テーブル４７における未使用の行のコンテンツ名欄４７Ａ（図４）に配信要求コンテンツのコンテンツ名を格納し、さらにその行の視聴ユーザ名欄４７Ｂ（図４）に配信要求ユーザのユーザ名を格納する。
【０１３４】
最後に、キャッシュ制御部４３は、ステップＳＰ９２のキャッシュ追出し処理により主記憶装置２２のコンテンツキャッシュ領域２２Ａ上に確保した配信要求コンテンツのコンテンツデータを格納するための記憶領域のアドレス（キャッシュ格納先アドレス）をコンテンツ管理部４１に通知し（ＳＰ９５）、この後、このキャッシュ格納準備処理を終了する。
【０１３５】
（１−５−７）キャッシュ追出し処理
図１４は、図１３について上述したキャッシュ格納準備処理のステップＳＰ９２においてキャッシュ制御部４３により実行されるキャッシュ追出し処理の具体的な処理手順を示す。
【０１３６】
キャッシュ制御部４３は、キャッシュ格納準備処理のステップＳＰ９２に進むとこの図１４に示すキャッシュ追出し処理を開始し、まず、コンテンツ管理テーブル４５及びコンテンツアクセス傾向管理テーブル４６を参照して、主記憶装置２２のコンテンツキャッシュ領域２２Ａにコンテンツデータが格納されたコンテンツのうち、最もユーザ指標集計値が低いコンテンツ（以下、これを追出し対象コンテンツと呼ぶ）を検出する（ＳＰ１００）。
【０１３７】
続いて、キャッシュ制御部４３は、ステップＳＰ１００において検出した追出し対象コンテンツのコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａから廃棄する（ＳＰ１０１）。またキャッシュ制御部４３は、ステップＳＰ１０１の処理結果に従ってユーザ指標管理テーブル４８を更新するユーザ特性更新処理を実行するようユーザ特性更新部に指示を与える（ＳＰ１０２）。
【０１３８】
次いで、キャッシュ制御部４３は、図１３について上述したキャッシュ格納準備処理のステップＳＰ９１と同様にして、配信要求コンテンツのコンテンツデータを格納可能な容量の空き領域を主記憶装置２２のコンテンツキャッシュ領域２２Ａ上に確保できたか否かを判断する（ＳＰ１０３）。
【０１３９】
キャッシュ制御部４３は、この判断で否定結果を得るとステップＳＰ１００に戻り、この後、ステップＳＰ１０３で肯定結果を得るまでステップＳＰ１００〜ステップＳＰ１０３の処理を繰り返す。
【０１４０】
そしてキャッシュ制御部４３は、やがて配信要求コンテンツのコンテンツデータを格納可能な容量の空き領域を主記憶装置２２のコンテンツキャッシュ領域２２Ａ上に確保し終えることによりステップＳＰ１０３で肯定結果を得ると、このキャッシュ追出し処理を終了する。
【０１４１】
（１−５−８）ユーザ特性更新処理
図１５は、図１４について上述したキャッシュ追出し処理のステップＳＰ１０２において、ユーザ指標管理テーブル４８を更新するようキャッシュ制御部４３から指示が与えられたユーザ特性更新部４４により実行されるユーザ特性更新処理の具体的な処理手順を示す。
【０１４２】
ユーザ特性更新部４４は、かかる指示がキャッシュ制御部４３から与えられるとこのユーザ特性更新処理を開始し、まず、コンテンツ視聴履歴管理テーブル４７を参照して、追出し対象コンテンツを過去に視聴したユーザのリスト（以下、これを追出し対象コンテンツ視聴ユーザリストと呼ぶ）を作成する（ＳＰ１１０）。
【０１４３】
続いて、ユーザ特性更新部４４は、追出し対象コンテンツ視聴ユーザリストに登録されているユーザを一人選択し、選択したユーザのユーザ指標値を所定値（ここでは「２」）だけ減算した値に変更するようにユーザ指標管理テーブル４８を更新する（ＳＰ１１１）。
【０１４４】
次いで、ユーザ特性更新部４４は、追出し対象コンテンツ視聴ユーザリストに登録されたすべてのユーザについてステップＳＰ１１１の処理を実行し終えたか否かを判断する（ＳＰ１１２）。そしてユーザ特性更新部４４は、この判断で否定結果を得るとステップＳＰ１１１に戻り、この後、ステップＳＰ１１１において選択するユーザを未処理の他のユーザに順次切り替えながら、ステップＳＰ１１１−ステップＳＰ１１２−ステップＳＰ１１１のループを繰り返す。
【０１４５】
そしてユーザ特性更新部４４は、やがて追出し対象コンテンツ視聴ユーザリストに登録されたすべてのユーザについてステップＳＰ１１１の処理を実行し終えることによりステップＳＰ１１２で肯定結果を得ると、コンテンツ視聴履歴管理テーブル４７から追出し対象コンテンツのエントリを削除する（ＳＰ１１３）。従って、コンテンツ視聴履歴管理テーブル４７には、主記憶装置２２のコンテンツキャッシュ領域２２Ａにコンテンツデータが格納されているコンテンツのみが登録されていることになる。
【０１４６】
続いて、ユーザ特性更新部４４は、コンテンツ視聴履歴管理テーブル４７を参照して、現在、キャッシュにコンテンツデータが格納されているコンテンツ（つまりコンテンツ視聴履歴管理テーブル４７に登録されているコンテンツ）を視聴した又は視聴するユーザのリスト（以下、これをキャッシュ格納コンテンツ視聴ユーザリストと呼ぶ）を作成する（ＳＰ１１４）。
【０１４７】
続いて、ユーザ特性更新部４４は、キャッシュ格納コンテンツ視聴ユーザリストに登録されているユーザを一人選択し、選択したユーザのユーザ指標値を所定値（ここでは「１」）だけ加算した値に更新するようにユーザ指標管理テーブル４８を更新する（ＳＰ１１５）。
【０１４８】
次いで、ユーザ特性更新部４４は、キャッシュ格納コンテンツ視聴ユーザリストに登録されたすべてのユーザについてステップＳＰ１１５の処理を実行し終えたか否かを判断する（ＳＰ１１６）。そしてユーザ特性更新部４４は、この判断で否定結果を得るとステップＳＰ１１５に戻り、この後、ステップＳＰ１１５において選択するユーザを未処理の他のユーザに順次切り替えながら、ステップＳＰ１１５−ステップＳＰ１１６−ステップＳＰ１１５のループを繰り返す。
【０１４９】
そしてユーザ特性更新部４４は、やがてキャッシュ格納コンテンツ視聴ユーザリストに登録されたすべてのユーザについてステップＳＰ１１５の処理を実行し終えることによりステップＳＰ１１６で肯定結果を得ると、このユーザ特性更新処理を終了する。
【０１５０】
（１−６）本実施の形態の効果
上述の構成を有する本実施の形態のコンテンツ配信システム１では、ユーザ指標値が高いユーザが視聴したコンテンツのコンテンツデータを優先的にコンテンツ管理サーバ４の主記憶装置２２のコンテンツキャッシュ領域２２Ａにおいて保持することができる。
【０１５１】
そして、ユーザ指標値が高いユーザが視聴したコンテンツは、今後、アクセス数が増加することが予想されるため、このようなコンテンツのコンテンツデータをコンテンツキャッシュ領域２２Ａに保持しておくことで、当該コンテンツキャッシュ領域２２Ａからコンテンツデータを読み出す確率（キャッシュヒット率）を向上させることができる。
【０１５２】
またユーザ指標値が低いユーザが視聴するコンテンツは、今後もアクセス数が増加しないと予想されるため、このようなコンテンツのコンテンツデータをコンテンツキャッシュ領域２２Ａに格納しないことで、当該コンテンツキャッシュ領域２２Ａの無駄遣いを防止することができる。
【０１５３】
従って、本コンテンツ配信システム１によれば、コンテンツ管理サーバ４の主記憶装置２２のコンテンツキャッシュ領域２２Ａの活用効率を向上させることができる。
【０１５４】
（２）第２の実施の形態
（２−１）本実施の形態によるコンテンツ配信システムの構成
図１６は、第２の実施の形態によるコンテンツ配信システム５０を示す。図１６において、図１と同一符号を付された部分は図１の対応部分と同様の構成及び機能を有するものであるため、ここでの説明は省略する。従って、以下においては、第１の実施の形態と異なる本実施の形態によるコンテンツ配信システム５０の特徴部分について説明する。
【０１５５】
本実施の形態によるコンテンツ配信システム５０は、各ストレージ装置６にそれぞれ搭載される記憶デバイス３１の種別（ＳＡＳディスクやＳＡＴＡディスクなど）がそれぞれ異なり、ストレージ装置６ごとに性能が異なる点が第１の実施の形態によるコンテンツ管理システム１と大きく異なる。
【０１５６】
そして本コンテンツ配信システム５０では、コンテンツ管理サーバ５１の制御のもとに、コンテンツに対するアクセス頻度に応じて、アクセス頻度の高いコンテンツのコンテンツデータを必要に応じて応答性能の高いストレージ装置６に再配置する（移動させる）と共に、アクセス頻度の低いコンテンツのコンテンツデータを必要に応じて応答性能の低いストレージ装置６に再配置する（移動させる）階層制御処理を定期的に実行している。
【０１５７】
ところで、コンテンツ管理サーバ５１の主記憶装置２２のコンテンツキャッシュ領域２２Ａから追出し対象コンテンツを廃棄する際に、当該追出し対象コンテンツのコンテンツデータを再配置すべきか否かを判定し、再配置すべき場合には、追出し対象コンテンツのコンテンツデータを再配置先のストレージ装置６に転送するようにすれば、再配置対象のコンテンツのコンテンツデータをストレージ装置６間で送受する場合に比べて、コンテンツデータの再配置に要するオーバヘッドを低減させ得るものと考えられる。
【０１５８】
そこで、本実施の形態によるコンテンツ配信システム５０は、コンテンツ管理サーバ５１の主記憶装置２２のコンテンツキャッシュ領域２２Ａから追出し対象コンテンツを廃棄する際に、必要に応じてコンテンツデータの再配置をも実行する点を特徴の１つとする。
【０１５９】
以上のような本実施の形態によるコンテンツ管理機能を実現するための手段として、本実施の形態によるコンテンツ管理サーバ５１の主記憶装置２２には、プログラムモジュールとして、コンテンツ配信部４０、コンテンツ管理部４１、コンテンツ保持状態決定部４２、キャッシュ制御部５３、ユーザ特性更新部４４及び制御部２７に加えてコンテンツ分散管理部５４が格納され、管理テーブルとして、コンテンツ管理テーブル４５、コンテンツアクセス傾向管理テーブル４６、コンテンツ視聴履歴管理テーブル４７及びユーザ指標管理テーブル４８に加えてストレージ性能管理テーブル５２が格納されている。
【０１６０】
コンテンツ分散管理部５４は、主記憶装置２２のコンテンツキャッシュ領域２２Ａから廃棄するコンテンツについて、そのコンテンツの再配置先の決定や、再配置のための制御を行うモジュールである。
【０１６１】
またストレージ性能管理テーブル５２は、各ストレージ装置６の性能を管理するために利用されるテーブルであり、図１７に示すように、装置ＩＤ欄５２Ａ及び読出し性能欄５２Ｂから構成される。
【０１６２】
そして装置ＩＤ欄５２Ａには、本コンテンツ配信システム５０内に存在する各ストレージ装置６の装置ＩＤがそれぞれ格納され、読出し性能欄５２Ｂには、対応するストレージ装置６のデータ読出し速度の理論値が格納される。
【０１６３】
従って、図１７の場合、「ST-01」という装置ＩＤのストレージ装置６はデータ読出し速度の理論値が「1000MB/s」であり、「ST-02」という装置ＩＤのストレージ装置６はデータ読出し速度の理論値が「700MB/s」であることが示されている。
【０１６４】
（２−２）本実施の形態によるキャッシュ追出し処理
本実施の形態のキャッシュ制御部５３は、第１の実施の形態のキャッシュ制御部４３と同様の条件で図１３について上述したキャッシュ格納準備処理を実行するが、このキャッシュ格納準備処理のステップＳＰ９２では、図１４について上述した第１の実施の形態によるキャッシュ追出し処理に代えて、図１８に示すキャッシュ追出し処理を実行する。
【０１６５】
すなわちキャッシュ制御部５３は、キャッシュ格納準備処理のステップＳＰ９２に進むと、この図１８に示すキャッシュ追出し処理を開始し、まず、コンテンツ管理テーブル４５及びコンテンツアクセス傾向管理テーブル４６を参照して、主記憶装置２２のコンテンツキャッシュ領域２２Ａにコンテンツデータが格納されたコンテンツのうち、最もユーザ指標集計値が低いコンテンツ（追出し対象コンテンツ）を検出する（ＳＰ１２０）。
【０１６６】
続いて、キャッシュ制御部５３は、ステップＳＰ１２０で検出した追出し対象コンテンツのコンテンツデータを必要に応じて適切なストレージ装置６に再配置（移動）させるコンテンツ分散処理を実行するようコンテンツ分散管理部５４に指示を与える（ＳＰ１２１）。
【０１６７】
次いで、キャッシュ制御部５３は、かかるコンテンツ分散処理の処理結果に応じてユーザ指標管理テーブル４８を更新するユーザ特性更新処理を実行するようユーザ特性更新部４４に指示を与える（ＳＰ１２２）。この指示に基づいて、ユーザ特性更新部４４により図１５について上述した第１の実施の形態と同様のユーザ特性更新処理が実行される。
【０１６８】
次いで、キャッシュ制御部５３は、図１３について上述したキャッシュ格納準備処理のステップＳＰ９１と同様にして、主記憶装置２２のコンテンツキャッシュ領域２２Ａに、配信要求コンテンツのコンテンツデータを格納可能な容量の空き領域を確保できたか否かを判断する（ＳＰ１２３）。
【０１６９】
キャッシュ制御部５３は、この判断で否定結果を得るとステップＳＰ１２０に戻り、この後、ステップＳＰ１２３で肯定結果を得るまでステップＳＰ１２０〜ステップＳＰ１２３の処理を繰り返す。
【０１７０】
そしてキャッシュ制御部５３は、やがて配信要求コンテンツのコンテンツデータを格納可能な容量の空き領域を主記憶装置２２のコンテンツキャッシュ領域２２Ａ上に確保し終えることによりステップＳＰ１２３で肯定結果を得ると、このキャッシュ追出し処理を終了する。
【０１７１】
（２−３）コンテンツ分散処理
図１９は、図１８について上述したキャッシュ追出し処理のステップＳＰ１２１においてキャッシュ制御部５３からコンテンツ分散処理の実行指示が与えられたコンテンツ分散管理部５４により実行されるコンテンツ分散処理の処理手順を示す。
【０１７２】
コンテンツ分散管理部５４は、かかる実行指示が与えられると、この図１９に示すコンテンツ分散処理を開始し、まず、コンテンツアクセス傾向管理テーブル４６を参照して、追出し対象コンテンツのユーザ指標集計値を取得する（ＳＰ１３０）。またコンテンツ分散管理部５４は、この後、取得したユーザ指標集計値の値が予め定められた再配置用閾値よりも大きいか否かを判断する（ＳＰ１３１）。
【０１７３】
そしてコンテンツ分散管理部５４は、この判断で肯定結果を得ると、ストレージ性能管理テーブル５２を参照して、現在、追出し対象コンテンツのコンテンツデータを保持しているストレージ装置（以下、これをデータ保持ストレージ装置と呼ぶ）６又は当該データ保持ストレージ装置６よりも低性能（読出し速度が遅い）のストレージ装置６を、当該追出し対象コンテンツのコンテンツデータの再配置先に決定する（ＳＰ１３２）。
【０１７４】
これに対して、コンテンツ分散管理部５４は、ステップＳＰ１３１の判断で否定結果を得ると、ストレージ性能管理テーブル５２を参照して、データ保持ストレージ装置６よりも高性能（読出し速度が速い）のストレージ装置６を、当該追出し対象コンテンツのコンテンツデータの再配置先に決定する（ＳＰ１３３）。
【０１７５】
続いて、コンテンツ分散管理部５４は、データ保持ストレージ装置６からステップＳＰ１３２又はステップＳＰ１３３において追出し対象コンテンツのコンテンツデータの再配置先に設定したストレージ装置（以下、これを再配置先ストレージ装置と呼ぶ）６に当該コンテンツデータを移動させるためにストレージ装置６間のデータ移動が発生するか否か（つまりデータ保持ストレージ装置６と、再配置先ストレージ装置６とが異なるストレージ装置であるか否か）を判断する（ＳＰ１３４）。
【０１７６】
そしてコンテンツ分散管理部５４は、この判断で肯定結果を得ると、主記憶装置２２のコンテンツキャッシュ領域２２Ａから追出し対象コンテンツのコンテンツデータを読み出し、これを再配置先ストレージ装置６に書込み要求と共に送信する。またコンテンツ分散管理部５４は、これと併せて、追出し対象コンテンツのコンテンツデータを廃棄するようデータ保持ストレージ装置６に指示を与える（ＳＰ１３５）。
【０１７７】
この結果、かかる追出し対象コンテンツのコンテンツデータが再配置先ストレージ装置６に格納されると共に、データ保持ストレージ装置６から追出し対象コンテンツのコンテンツデータが廃棄され、これによりデータ保持ストレージ装置６から再配置先ストレージ装置６への追出し対象コンテンツのコンテンツデータの移動が完了する。
【０１７８】
これに対してコンテンツ分散管理部５４は、ステップＳＰ１３４の判断で否定結果を得ると、データ保持ストレージ装置６のコントローラ３２（図１）に階層制御処理を実行するよう指示を与えると共に、主記憶装置２２のコンテンツキャッシュ領域２２Ａから追出し対象コンテンツのコンテンツデータを廃棄する（ＳＰ１３６）。従って、この場合には、データ保持ストレージ装置６から再配置先ストレージ装置６への追出し対象コンテンツのコンテンツデータの移動は行われない。
【０１７９】
そしてコンテンツ分散管理部５４は、この後、コンテンツ管理テーブル４５における追出し対象コンテンツと対応付けられたエントリのストレージ格納先欄を必要に応じて新たな内容に更新し（ＳＰ１３７）、この後、このコンテンツ分散処理を終了する。
【０１８０】
（２−４）本実施の形態の効果
以上の構成を有する本実施の形態のコンテンツ配信システム５０では、コンテンツ管理サーバ５１の主記憶装置２２のコンテンツキャッシュ領域２２Ａからコンテンツのコンテンツデータを廃棄する際、そのコンテンツのコンテンツデータが当該コンテンツのアクセス数に応じた適切な性能のストレージ装置６に再配置される。
【０１８１】
従って、本コンテンツ配信システム５０によれば、階層制御処理時に再配置すべきコンテンツの数を低減することができ、その分、コンテンツデータの再配置に要するオーバヘッドを低減させることができる。
【０１８２】
（３）第３の実施の形態
第１の実施の形態では、コンテンツのコンテンツデータをコンテンツ管理サーバ４の主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納するか否か（コンテンツの保持状態）を決定する要因としてユーザ指標値を利用していた。これに対して、本実施の形態では、コンテンツごとのそのコンテンツに対するアクセス数がピークとなる期間（以下、これをピークアクセス期間と呼ぶ）をも考慮してコンテンツの保持状態を決定する点を特徴の１つとする。以下、本実施の形態によるコンテンツ配信システムについて説明する。
【０１８３】
（３−１）本実施の形態によるコンテンツ配信システムの構成
図１との対応部分に同一符号を付した図２０は、第３の実施の形態によるコンテンツ配信システム６０を示す。本コンテンツ配信システム６０は、コンテンツ視聴履歴管理テーブル６２の構成が異なる点と、コンテンツ管理サーバ６１の主記憶装置２２にコンテンツピークアクセス期間管理テーブル６３が格納されている点と、コンテンツ保持状態決定部６４により実行されるコンテンツ保持状態決定処理の一部処理内容が異なる点とを除いて、第１の実施の形態によるコンテンツ配信システム１と同様に構成されている。
【０１８４】
図２１は、本実施の形態によるコンテンツ視聴履歴管理テーブル６２の構成を示す。このコンテンツ視聴履歴管理テーブル６２は、コンテンツ名欄６２Ａ、視聴ユーザ名欄６２Ｂ及びアクセス日時欄６２Ｃから構成される。
【０１８５】
そしてコンテンツ名欄６２Ａ及び視聴ユーザ名欄６２Ｂには、それぞれ図４について上述した第１の実施の形態のコンテンツ視聴履歴管理テーブル４７と同様の情報が格納される。
【０１８６】
またアクセス日時欄６２Ｃには、対応するユーザが対応するコンテンツについてのコンテンツ配信要求を送信してきた日時及びその曜日（以下、これをコンテンツアクセス日時と呼ぶ）が格納される。このコンテンツアクセス日時は、対応するユーザから対応するコンテンツに対するコンテンツ配信要求をコンテンツ管理サーバ６１が受信したときに、コンテンツ管理部６５により登録又は更新される。
【０１８７】
従って、図２１の場合、「動画ｕ.mp4」というコンテンツがコンテンツ管理サーバ６１の主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納されている間に、「AAA」、「BBB」、「CCC」、……というユーザからそのコンテンツを対象とするコンテンツ配信要求がコンテンツ管理サーバ６１に与えられ、例えば「AAA」というユーザからのコンテンツ配信要求を受信した日時は「2012/10/5 13:21」であり、その曜日は「金曜日」であったことが示されている。
【０１８８】
一方、コンテンツピークアクセス期間管理テーブル６３は、各コンテンツのピークアクセス期間を管理するために利用されるテーブルであり、図２２に示すように、コンテンツ名欄６３Ａ及びピークアクセス期間欄６３Ｂから構成される。そしてコンテンツ名欄６３Ａには、コンテンツ管理サーバ６１が管理する各コンテンツのコンテンツ名が格納され、ピークアクセス期間欄６３Ｂには、対応するコンテンツのピークアクセス期間が格納される。
【０１８９】
従って、図２２の場合、「動画ｕ.mp4」というコンテンツのピークアクセス期間は「金曜日」の「12:00〜18:00」であり、「動画ｖ.mp4」というコンテンツのピークアクセス期間は「土曜日」の「18:00〜24:00」であることが示されている。
【０１９０】
なお、このコンテンツピークアクセス期間管理テーブル６３は、コンテンツ管理部６５により定期的（例えば６時間ごと）に更新される。
【０１９１】
実際上、コンテンツ管理部６５は、定期的にコンテンツ視聴履歴管理テーブル６２を参照し、コンテンツごとに、図２３に示すような所定期間（例えば１ヶ月）内におけるそのコンテンツに対する曜日ごとのアクセス数のヒストグラムを作成する。また、コンテンツ管理部６５は、これと併せて、図２４に示すような同期間内における時間帯ごとのアクセス数のヒストグラムをコンテンツごとに作成する。
【０１９２】
そしてコンテンツ管理部６５は、このようにしてコンテンツごとに作成した曜日ごとのアクセス数のヒストグラムと、時間帯ごとのアクセス数のヒストグラムとに基づいて、コンテンツごとに、そのコンテンツに対するアクセス数が最大となる曜日と、１日のうちでそのコンテンツに対するアクセス数が最大となる時間帯とを取得し、これらの取得結果に基づいてコンテンツピークアクセス期間管理テーブル６３の対応するエントリのピークアクセス期間欄６３Ｂにピークアクセス期間を登録し又はピークアクセス期間欄６３Ｂに格納されているピークアクセス期間を更新する。
【０１９３】
例えば、図２３及び図２４の例では、対応するコンテンツ（ここでは「動画ｕ.mp4」とする）のアクセス数が最大となる曜日は「金曜日」であり、そのコンテンツのアクセス数が最大となる時間帯は「12:00〜18:00」であるため、コンテンツ管理部６５は、コンテンツピークアクセス期間管理テーブル６３上の「動画ｕ.mp4」に対応するエントリのピークアクセス期間欄６３Ｂを、図２２のように「金12:00〜18:00」と更新することになる。
【０１９４】
（３−２）本実施の形態によるコンテンツ保持状態決定処理
図２５は、図１２について上述したコンテンツ保持状態決定処理に代えて、コンテンツ保持状態決定部６４により実行される本実施の形態によるコンテンツ保持状態決定処理を示す。コンテンツ保持状態決定部６４は、この図１２に示す処理手順に従って、配信要求コンテンツのコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納するか否かを決定する。
【０１９５】
実際上、コンテンツ保持状態決定部６４は、図１０について上述したコンテンツ管理処理のステップＳＰ６３において、配信要求コンテンツの保持状態を決定するようコンテンツ管理部４１から指示されるとこの図２５に示すコンテンツ保持状態決定処理を開始し、まず、配信要求ユーザのユーザ指標値をユーザ指標管理テーブル４８から取得する（ＳＰ１４０）。
【０１９６】
続いて、コンテンツ保持状態決定部６４は、コンテンツピークアクセス期間管理テーブル６３を参照して、配信要求コンテンツのピークアクセス期間を取得する（ＳＰ１４１）。
【０１９７】
次いで、コンテンツ保持状態決定部６４は、ステップＳＰ１４０において取得した配信要求ユーザのユーザ指標値が予め定められたユーザ指標閾値よりも大きく、かつ、かかるコンテンツ配信要求をコンテンツ管理サーバが受信した時刻が、ステップＳＰ１４１で取得した配信要求コンテンツのピークアクセス期間内であるか否かを判断する（ＳＰ１４２）。
【０１９８】
そしてコンテンツ保持状態決定部６４は、この判断で肯定結果を得ると、配信要求コンテンツのコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納すべきことを決定し、決定結果をコンテンツ管理部６５に通知する（ＳＰ１４３）。そしてコンテンツ保持状態決定部６４は、この後、このコンテンツ保持状態決定処理を終了する。
【０１９９】
これに対して、コンテンツ保持状態決定部６４は、ステップＳＰ１４２の判断で否定結果を得ると、配信要求コンテンツのコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納しないことを決定し、決定結果をコンテンツ管理部４１に通知する（ＳＰ１４４）。そしてコンテンツ保持状態決定部６４は、この後、このコンテンツ保持状態決定処理を終了する。
【０２００】
（３−３）本実施の形態の効果
以上の構成を有する本実施の形態のコンテンツ配信システム６０では、配信要求ユーザのユーザ指標値がユーザ指標閾値よりも高い場合であっても、コンテンツ管理サーバ６１がコンテンツ配信要求を配信要求コンテンツのピークアクセス期間内に受信しない限り、配信要求コンテンツのコンテンツデータが主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納されることはない（図２５のステップＳＰ１４２参照）。
【０２０１】
従って、本コンテンツ配信システム６０によれば、配信要求コンテンツのコンテンツデータがピークアクセス期間以外の期間に主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納されるのを抑制することができ、かくして無駄なコンテンツデータが主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納されるのを防止して、当該コンテンツキャッシュ領域２２Ａの利用効率を向上させることができる。
【０２０２】
（４）他の実施の形態
なお上述の第１〜第３の実施の形態においては、本発明を図１、図１６又は図２０のように構成されたコンテンツ配信システム１，５０，６０に適用するようにした場合について述べたが、本発明はこれに限らず、本発明を適用するコンテンツ配信システムの構成としては、この他種々の構成を広く適用することができる。
【０２０３】
また上述の第１〜第３の実施の形態においては、図１５について上述したユーザ特性更新処理において、主記憶装置２２のコンテンツキャッシュ領域２２Ａから廃棄されるコンテンツを過去に視聴したユーザのユーザ指標値をそれぞれ２だけ減少させ、当該コンテンツキャッシュ領域２２Ａに残るコンテンツを視聴し又は視聴するユーザのユーザ指標値を１だけ増加させるようにした場合について述べたが、本発明はこれに限らず、ユーザ指標値を減少又は増加させる値は、これら以外の値を適用するようにしても良い。
【０２０４】
さらに上述の第１〜第３の実施の形態においては、各クライアント２をそれぞれ利用する各ユーザのコンテンツの視聴履歴に基づき得られるユーザごとのユーザ特性と、コンテンツに関連付けられた情報から抽出されるコンテンツごとのコンテンツ特性とに基づいて、主記憶装置２２のコンテンツキャッシュ領域２２Ａにコンテンツデータを格納すべきコンテンツと、当該コンテンツキャッシュ領域２２Ａからデータを廃棄すべきコンテンツとを決定する制御部を、コンテンツ管理サーバ４，５１，６１のＣＰＵ２１と、主記憶装置２２に格納された各種プログラムモジュールとにより構成するようにした場合について述べたが、本発明はこれに限らず、例えばかかる制御部を専用のハードウェアにより構築するようにしても良い。
【０２０５】
さらに上述の第３の実施の形態においては、配信要求ユーザのユーザ指標値が予め定められたユーザ指標閾値よりも大きく、かつ、かかるコンテンツ配信要求をコンテンツ管理サーバ６１が受信した時刻が、配信要求コンテンツのピークアクセス期間内である場合に、配信要求コンテンツのコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納するようにした場合について述べたが、本発明はこれに限らず、例えば、図２５について上述したコンテンツ保持状態決定処理のステップＳＰ１４２において、コンテンツ配信要求をコンテンツ管理サーバ６１が受信した時刻が配信要求コンテンツのピークアクセス期間よりも所定時間（例えば１〜２時間）前からピークアクセス期間の終了前までの時間内であるか否かを判断するようにしても良い。このようにすることによって、配信要求コンテンツのピークアクセス期間前に当該配信要求コンテンツのコンテンツデータを主記憶装置２２のコンテンツキャッシュ領域２２Ａに格納しておくことができ、配信要求コンテンツのピークアクセス期間内により迅速に配信要求コンテンツをクライアントに配信し得るようにすることができる。
【０２０６】
なお、本発明は上記した第１〜第３の実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した第１〜第３の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０２０７】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現しても良い。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現しても良い。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク装置、ＳＳＤ等の記憶装置、またはＳＤ（Secure Digital）カード、ＤＶＤ−ＲＯＭ（Digital Versatile Disc - Read Only Memory）等の記憶媒体に置くことができる。
【符号の説明】
【０２０８】
１，５０，６０……コンテンツ配信システム、２……クライアント、４，５１，６１……コンテンツ管理サーバ、６……ストレージ装置、２１……ＣＰＵ、２２……主記憶装置、２２Ａ……コンテンツキャッシュ領域、３１……記憶デバイス、３２……コントローラ、４０……コンテンツ配信部、４１，６５……コンテンツ管理部、４２，６４……コンテンツ保持状態決定部、４３……キャッシュ制御部、４４……ユーザ特性更新部、４５……コンテンツ管理テーブル、４６……コンテンツアクセス傾向管理テーブル、４７，６２……コンテンツ視聴履歴管理テーブル、４８……ユーザ指標管理テーブル、５２……ストレージ性能管理テーブル、６３……ピークアクセス期間管理テーブル。
【図１】
0006013517.tif 000002
【図２】
0006013517.tif 000003
【図３】
0006013517.tif 000004
【図４】
0006013517.tif 000005
【図５】
0006013517.tif 000006
【図６】
0006013517.tif 000007
【図７】
0006013517.tif 000008
【図８】
0006013517.tif 000009
【図９】
0006013517.tif 000010
【図１０】
0006013517.tif 000011
【図１１】
0006013517.tif 000012
【図１２】
0006013517.tif 000013
【図１３】
0006013517.tif 000014
【図１４】
0006013517.tif 000015
【図１５】
0006013517.tif 000016
【図１６】
0006013517.tif 000017
【図１７】
0006013517.tif 000018
【図１８】
0006013517.tif 000019
【図１９】
0006013517.tif 000020
【図２０】
0006013517.tif 000021
【図２１】
0006013517.tif 000022
【図２２】
0006013517.tif 000023
【図２３】
0006013517.tif 000024
【図２４】
0006013517.tif 000025
【図２５】
0006013517.tif 000026