(57)【要約】  本発明のコンテンツ配信装置は、第１のビットレートを有する第１コンテンツと、第１のビットレートよりも低い第２のビットレートを有する第２コンテンツとを含む配信可能な複数の配信コンテンツを保持するコンテンツ保持部と、一時的に前記第１及び第２コンテンツの少なくとも一方を保持するキャッシュ保持部と、前記コンテンツ保持部から配信すべき前記第１または第２コンテンツを読み出し、前記読み出されたコンテンツを前記キャッシュ保持部に格納するキャッシュ制御部と、前記複数の配信コンテンツのうちの配信要求で指定された指定コンテンツの配信において、前記キャッシュ保持部に一時的に保持された前記第１または第２コンテンツ、あるいは前記コンテンツ保持部に保持された前記第１または第２コンテンツを読み出して配信するコンテンツ配信部とを備える。前記コンテンツ配信部は、前記指定コンテンツが前記キャッシュ保持部に格納されておらず、前記キャッシュ保持部の空き容量が第１空き容量閾値未満の場合には、前記コンテンツ保持部に保持された前記指定コンテンツの第２コンテンツを読み出して配信する。
2011024949.tif 000002
【特許請求の範囲】
【請求項１】
第１のビットレートを有する第１コンテンツと、第１のビットレートよりも低い第２のビットレートを有する第２コンテンツとを含む配信可能な複数の配信コンテンツを保持するコンテンツ保持部と、
一時的に前記第１及び第２コンテンツの少なくとも一方を保持するキャッシュ保持部と、
前記コンテンツ保持部から配信すべき前記第１または第２コンテンツを読み出し、前記読み出されたコンテンツを前記キャッシュ保持部に格納するキャッシュ制御部と、
前記複数の配信コンテンツのうちの配信要求で指定された指定コンテンツの配信において、前記キャッシュ保持部に一時的に保持された前記第１または第２コンテンツ、あるいは前記コンテンツ保持部に保持された前記第１または第２コンテンツを読み出して配信するコンテンツ配信部と、
を備え、
前記コンテンツ配信部は、前記指定コンテンツが前記キャッシュ保持部に格納されておらず、前記キャッシュ保持部の空き容量が第１空き容量閾値未満の場合には、前記コンテンツ保持部に保持された前記指定コンテンツの第２コンテンツを読み出して配信する
コンテンツ配信装置。
【請求項２】
前記コンテンツ配信部は、前記複数の配信コンテンツ毎に設定された前記第１空き容量閾値に基づいて、前記指定コンテンツに対応する前記第１空き容量閾値を特定し、前記キャッシュ保持部の空き容量が前記特定した第１空き容量閾値未満かを判定する
請求項１に記載のコンテンツ配信装置。
【請求項３】
前記コンテンツ配信部は、前記指定コンテンツが、前記第１空き容量閾値未満の値を示す第２空き容量閾値未満の場合に、前記コンテンツ保持部に保持された前記指定コンテンツの前記第２コンテンツを読み出して配信する
請求項２に記載のコンテンツ配信装置。
【請求項４】
前記コンテンツ配信部は、前記指定コンテンツが、前記第１空き容量閾値未満、前記第２空き容量閾値以上である場合には、前記コンテンツ保持部に保持された指定コンテンツの前記第２コンテンツを、前記キャッシュ保持部に一時的に保持して、前記キャッシュ保持部に一時的に保持された前記第２コンテンツを読み出して配信する
請求項３に記載のコンテンツ配信装置。
【請求項５】
第１のビットレートを有する第１コンテンツと、第１のビットレートよりも低い第２のビットレートを有する第２コンテンツとを含む配信可能な複数の配信コンテンツを保持するコンテンツ保持部と、
一時的に前記第１及び第２コンテンツの少なくとも一方を保持するキャッシュ保持部と、
前記コンテンツ保持部から配信すべき前記第１または第２コンテンツを読み出し、前記読み出されたコンテンツを前記キャッシュ保持部に格納するキャッシュ制御部と、
前記複数の配信コンテンツのうちの配信要求で指定された指定コンテンツの配信において、前記キャッシュ保持部に一時的に保持された前記第１または第２コンテンツ、あるいは前記コンテンツ保持部に保持された前記第１または第２コンテンツを読み出して配信するコンテンツ配信部と、
を備え、
前記コンテンツ配信部は、前記指定コンテンツが前記キャッシュ保持部に格納されておらず、前記キャッシュ制御部と、前記コンテンツ配信部のそれぞれが前記コンテンツ保持部からの前記第１または第２コンテンツを読み出すアクセス帯域の合計が、アクセス帯域閾値以上の場合には、前記コンテンツ保持部に保持された前記指定コンテンツの第２コンテンツを読み出して配信する
コンテンツ配信装置。
【請求項６】
コンテンツ配信装置のコンテンツ配信方法であって、
前記コンテンツ配信装置のコンテンツ保持部が、第１のビットレートを有する第１コンテンツと、第１のビットレートよりも低い第２のビットレートを有する第２コンテンツとを含む配信可能な複数の配信コンテンツを保持し、
前記コンテンツ配信装置のキャッシュ保持部が、一時的に前記第１及び第２コンテンツの少なくとも一方を保持し、
前記コンテンツ配信装置のキャッシュ制御部が、前記コンテンツ保持部から配信すべき前記第１または第２コンテンツを読み出し、前記読み出されたコンテンツを前記キャッシュ保持部に格納し、
前記コンテンツ配信装置のコンテンツ配信部は、前記複数の配信コンテンツのうちの前記配信要求で指定された指定コンテンツが前記キャッシュ保持部に格納されておらず、前記キャッシュ保持部の空き容量が第１空き容量閾値未満の場合には、前記コンテンツ保持部に保持された前記指定コンテンツの第２コンテンツを読み出して配信する
ことを含むコンテンツ配信方法。
【請求項７】
コンテンツ配信装置のコンテンツ配信方法であって、
前記コンテンツ配信装置のコンテンツ保持部が、第１のビットレートを有する第１コンテンツと、第１のビットレートよりも低い第２のビットレートを有する第２コンテンツとを含む配信可能な複数の配信コンテンツを保持し、
前記コンテンツ配信装置のキャッシュ保持部が、一時的に前記第１及び第２コンテンツの少なくとも一方を保持し、
前記コンテンツ配信装置のキャッシュ制御部が、前記コンテンツ保持部から配信すべき前記第１または第２コンテンツを読み出し、前記読み出されたコンテンツを前記キャッシュ保持部に格納し、
前記コンテンツ配信装置のコンテンツ配信部は、前記複数の配信コンテンツのうちの前記配信要求で指定された指定コンテンツが前記キャッシュ保持部に格納されておらず、前記キャッシュ制御部と、前記コンテンツ配信部のそれぞれが前記コンテンツ保持部からの前記第１または第２コンテンツを読み出すアクセス帯域の合計が、アクセス帯域閾値以上の場合には、前記コンテンツ保持部に保持された前記指定コンテンツの第２コンテンツを読み出して配信する
ことを含むコンテンツ配信方法。
【請求項８】
第１のビットレートを有する第１コンテンツと、第１のビットレートよりも低い第２のビットレートを有する第２コンテンツとを含む配信可能な複数の配信コンテンツを保持するコンテンツ保持部と、
一時的に前記第１及び第２コンテンツの少なくとも一方を保持するキャッシュ保持部と、を備えたコンテンツ配信装置のコンピュータを、
前記コンテンツ保持部から配信すべき前記第１または第２コンテンツを読み出し、前記読み出されたコンテンツを前記キャッシュ保持部に格納するキャッシュ制御部、
前記複数の配信コンテンツのうちの前記配信要求で指定された指定コンテンツが前記キャッシュ保持部に格納されておらず、前記キャッシュ保持部の空き容量が第１空き容量閾値未満の場合には、前記コンテンツ保持部に保持された前記指定コンテンツの第２コンテンツを読み出して配信するコンテンツ配信部、
として機能させるプログラム。
【請求項９】
第１のビットレートを有する第１コンテンツと、第１のビットレートよりも低い第２のビットレートを有する第２コンテンツとを含む配信可能な複数の配信コンテンツを保持するコンテンツ保持部と、
一時的に前記第１及び第２コンテンツの少なくとも一方を保持するキャッシュ保持部と、を備えたコンテンツ配信装置のコンピュータを、
前記コンテンツ保持部から配信すべき前記第１または第２コンテンツを読み出し、前記読み出されたコンテンツを前記キャッシュ保持部に格納するキャッシュ制御部、
前記複数の配信コンテンツのうちの前記配信要求で指定された指定コンテンツが前記キャッシュ保持部に格納されておらず、前記キャッシュ制御部と、前記コンテンツ配信部のそれぞれが前記コンテンツ保持部からの前記第１または第２コンテンツを読み出すアクセス帯域の合計が、アクセス帯域閾値以上の場合には、前記コンテンツ保持部に保持された前記指定コンテンツの第２コンテンツを読み出して配信するコンテンツ配信部、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像等のコンテンツを配信するシステムに関する。本発明は、特に、コンテンツをキャッシュメモリに一時的に保有し、キャッシュメモリからコンテンツを読み出して配信するコンテンツ配信装置、コンテンツ配信方法、およびプログラムに関する。
【背景技術】
【０００２】
ネットワークを介して、映画や、ドラマ等の映像コンテンツなどを配信するコンテンツ配信システムにおいては、コンテンツをキャッシュメモリ上に保存し、キャッシュメモリからコンテンツを配信するキャッシュ技術が利用されている。この技術により、コンテンツを蓄積するディスク装置へのアクセス数を削減し、配信性能を向上させている。キャッシュメモリを利用したコンテンツ配信では、ディスク装置の容量に対して、コンテンツをキャッシュするメモリの容量が小さいため、キャッシュ領域の効率的な利用が必要である。【０００３】
キャッシュ領域を効率的に利用する方法の一例が、特許文献１に開示されている。特許文献１に記載の方法は、キャッシュメモリが満杯状態になった場合に、キャッシュメモリ内の削除可能なコンテンツのデータをブロック単位で削除することで、コンテンツのキャッシュメモリへ格納するための領域を確保している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】日本国特開２００１−３１３９１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１記載の関連技術においては次のような課題があった。
キャッシュメモリに格納されている全てのブロックがアクセス中である場合、キャッシュメモリ内のデータを削除して新たにデータを格納するための空き領域を確保することができない。このため、キャッシュメモリにコンテンツを格納できないため、キャッシュメモリに格納されていないコンテンツは、ディスク装置からコンテンツを読み出して配信する。このキャッシュメモリにコンテンツが格納できない状態において、キャッシュメモリに格納されていないコンテンツに対する配信要求が増加すると、ディスク装置からコンテンツを読み出して配信する配信数が増加し、ディスク装置のアクセス限界に到達する。ディスク装置のアクセス限界に到達すると、コンテンツ配信システムは、コンテンツの配信ができなくなり、サービスが停止してしまう問題があった。【０００６】
その理由は、以下の通りである。キャッシュメモリを利用したコンテンツ配信システムでは、キャッシュメモリを利用して配信することにより、ディスク装置へのアクセス帯域を小さくすることが可能である。このため、コンテンツ配信システムの同時配信帯域の上限値と比較して、ディスク装置への同時アクセス帯域の上限を小さくすることで、コンテンツ配信システムのディスク装置にかかるコストを抑えている。このため、キャッシュメモリが満杯になった場合に、削除可能なコンテンツがなく、ディスク装置へアクセスしてコンテンツを配信する処理数が増加すると、コンテンツ配信システムの同時配信帯域に達するよりも前に、ディスク装置へのアクセス帯域の上限に達してしまう。【０００７】
本発明は、このような事情を考慮してなされた。本発明の目的は、キャッシュメモリを利用したコンテンツ配信システムにおいて、キャッシュメモリが全て使用されている状態となり、キャッシュメモリを削除して空き領域を確保できない時にディスク装置からコンテンツを読み出して配信する場合においても、コンテンツの同時配信数を低下させずにコンテンツ配信サービスを継続させることができるコンテンツ配信装置、コンテンツ配信方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、本発明の第１の実施態様に係るコンテンツ配信装置は、第１のビットレートを有する第１コンテンツと、第１のビットレートよりも低い第２のビットレートを有する第２コンテンツとを含む配信可能な複数の配信コンテンツを保持するコンテンツ保持部と、一時的に前記第１及び第２コンテンツの少なくとも一方を保持するキャッシュ保持部と、前記コンテンツ保持部から配信すべき前記第１または第２コンテンツを読み出し、前記読み出されたコンテンツを前記キャッシュ保持部に格納するキャッシュ制御部と、前記複数の配信コンテンツのうちの配信要求で指定された指定コンテンツの配信において、前記キャッシュ保持部に一時的に保持された前記第１または第２コンテンツ、あるいは前記コンテンツ保持部に保持された前記第１または第２コンテンツを読み出して配信するコンテンツ配信部とを備える。前記コンテンツ配信部は、前記指定コンテンツが前記キャッシュ保持部に格納されておらず、前記キャッシュ保持部の空き容量が第１空き容量閾値未満の場合には、前記コンテンツ保持部に保持された前記指定コンテンツの第２コンテンツを読み出して配信する。【０００９】
本発明の第２の実施態様に係るコンテンツ配信装置は、第１のビットレートを有する第１コンテンツと、第１のビットレートよりも低い第２のビットレートを有する第２コンテンツとを含む配信可能な複数の配信コンテンツを保持するコンテンツ保持部と、一時的に前記第１及び第２コンテンツの少なくとも一方を保持するキャッシュ保持部と、前記コンテンツ保持部から配信すべき前記第１または第２コンテンツを読み出し、前記読み出されたコンテンツを前記キャッシュ保持部に格納するキャッシュ制御部と、前記複数の配信コンテンツのうちの配信要求で指定された指定コンテンツの配信において、前記キャッシュ保持部に一時的に保持された前記第１または第２コンテンツ、あるいは前記コンテンツ保持部に保持された前記第１または第２コンテンツを読み出して配信するコンテンツ配信部とを備える。前記コンテンツ配信部は、前記指定コンテンツが前記キャッシュ保持部に格納されておらず、前記キャッシュ制御部と、前記コンテンツ配信部のそれぞれが前記コンテンツ保持部からの前記第１または第２コンテンツを読み出すアクセス帯域の合計が、アクセス帯域閾値以上の場合には、前記コンテンツ保持部に保持された前記指定コンテンツの第２コンテンツを読み出して配信する。【００１０】
本発明の第３の実施態様に係るコンテンツ配信装置のコンテンツ配信方法は、前記コンテンツ配信装置のコンテンツ保持部が、第１のビットレートを有する第１コンテンツと、第１のビットレートよりも低い第２のビットレートを有する第２コンテンツとを含む配信可能な複数の配信コンテンツを保持し、前記コンテンツ配信装置のキャッシュ保持部が、一時的に前記第１及び第２コンテンツの少なくとも一方を保持し、前記コンテンツ配信装置のキャッシュ制御部が、前記コンテンツ保持部から配信すべき前記第１または第２コンテンツを読み出し、前記読み出されたコンテンツを前記キャッシュ保持部に格納し、前記コンテンツ配信装置のコンテンツ配信部は、前記複数の配信コンテンツのうちの前記配信要求で指定された指定コンテンツが前記キャッシュ保持部に格納されておらず、前記キャッシュ保持部の空き容量が第１空き容量閾値未満の場合には、前記コンテンツ保持部に保持された前記指定コンテンツの第２コンテンツを読み出して配信することを含む。【００１１】
本発明の第４の実施態様に係るコンテンツ配信装置のコンテンツ配信方法は、前記コンテンツ配信装置のコンテンツ保持部が、第１のビットレートを有する第１コンテンツと、第１のビットレートよりも低い第２のビットレートを有する第２コンテンツとを含む配信可能な複数の配信コンテンツを保持し、前記コンテンツ配信装置のキャッシュ保持部が、一時的に前記第１及び第２コンテンツの少なくとも一方を保持し、前記コンテンツ配信装置のキャッシュ制御部が、前記コンテンツ保持部から配信すべき前記第１または第２コンテンツを読み出し、前記読み出されたコンテンツを前記キャッシュ保持部に格納し、前記コンテンツ配信装置のコンテンツ配信部は、前記複数の配信コンテンツのうちの前記配信要求で指定された指定コンテンツが前記キャッシュ保持部に格納されておらず、前記キャッシュ制御部と、前記コンテンツ配信部のそれぞれが前記コンテンツ保持部からの前記第１または第２コンテンツを読み出すアクセス帯域の合計が、アクセス帯域閾値以上の場合には、前記コンテンツ保持部に保持された前記指定コンテンツの第２コンテンツを読み出して配信することを含む。【００１２】
本発明の第５の実施態様に係るプログラムは、第１のビットレートを有する第１コンテンツと、第１のビットレートよりも低い第２のビットレートを有する第２コンテンツとを含む配信可能な複数の配信コンテンツを保持するコンテンツ保持部と、一時的に前記第１及び第２コンテンツの少なくとも一方を保持するキャッシュ保持部と、を備えたコンテンツ配信装置のコンピュータを、前記コンテンツ保持部から配信すべき前記第１または第２コンテンツを読み出し、前記読み出されたコンテンツを前記キャッシュ保持部に格納するキャッシュ制御部、前記複数の配信コンテンツのうちの前記配信要求で指定された指定コンテンツが前記キャッシュ保持部に格納されておらず、前記キャッシュ保持部の空き容量が第１空き容量閾値未満の場合には、前記コンテンツ保持部に保持された前記指定コンテンツの第２コンテンツを読み出して配信するコンテンツ配信部、として機能させる。【００１３】
本発明の第６の実施態様に係るプログラムは、第１のビットレートを有する第１コンテンツと、第１のビットレートよりも低い第２のビットレートを有する第２コンテンツとを含む配信可能な複数の配信コンテンツを保持するコンテンツ保持部と、一時的に前記第１及び第２コンテンツの少なくとも一方を保持するキャッシュ保持部と、を備えたコンテンツ配信装置のコンピュータを、前記コンテンツ保持部から配信すべき前記第１または第２コンテンツを読み出し、前記読み出されたコンテンツを前記キャッシュ保持部に格納するキャッシュ制御部、前記複数の配信コンテンツのうちの前記配信要求で指定された指定コンテンツが前記キャッシュ保持部に格納されておらず、前記キャッシュ制御部と、前記コンテンツ配信部のそれぞれが前記コンテンツ保持部からの前記第１または第２コンテンツを読み出すアクセス帯域の合計が、アクセス帯域閾値以上の場合には、前記コンテンツ保持部に保持された前記指定コンテンツの第２コンテンツを読み出して配信するコンテンツ配信部として機能させる。
【発明の効果】
【００１４】
この発明の実施形態によれば、コンテンツをキャッシュするキャッシュ保持部を利用したコンテンツ配信において、キャッシュ領域が不足し、ディスク装置へのアクセスが増加した場合でもディスク装置へのアクセス帯域の増加を抑制するため、コンテンツ配信を継続することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１実施形態によるコンテンツ配信システムの構成を示すブロック図である。
【図２】本発明の第１実施形態による、コンテンツ情報テーブルの一例を示す概念図である。
【図３】本発明の第１実施形態による、キャッシュ制御テーブルの一例を示す概念図である。
【図４】本発明の第１実施形態によるコンテンツを格納処理の動作を説明するためのフローチャートである。
【図５】本発明の第１実施形態による、コンテンツ登録部によって登録されたコンテンツ情報テーブルの一例を示す概念図である。
【図６】本発明の第１実施形態による、コンテンツ登録部によって登録された直後のキャッシュ制御テーブルの一例を示す概念図である。
【図７】本発明の第１実施形態による、コンテンツを配信開始する動作を説明するためのシーケンス図である。
【図８】本発明の第１実施形態による、コンテンツを配信開始する動作を説明するためのフローチャートである。
【図９】本発明の第１実施形態による、コンテンツのデータを格納する動作を説明するためのフローチャートである。
【図１０】本発明の第１実施形態による、コンテンツのキャッシュデータを削除する処理の動作を説明するためのフローチャートである。
【図１１】本発明の第２実施形態によるコンテンツ情報テーブルの構成を示す概念図である。
【図１２】本発明の第２実施形態によるコンテンツ情報テーブルの一例を示す概念図である。
【図１３】本発明の第３実施形態によるコンテンツ情報テーブルの構成を示す概念図である。
【図１４】本発明の第３実施形態によるコンテンツ情報テーブルの一構成例を示す概念図である。
【図１５Ａ】本発明の第３実施形態によるコンテンツを配信する動作を説明するためのフローチャートである。
【図１５Ｂ】本発明の第３実施形態によるコンテンツを配信する動作を説明するためのフローチャートである。
【図１６】本発明の第４実施形態によるコンテンツ情報テーブルの構成を示す概念図である。
【図１７Ａ】本発明の第４実施形態によるコンテンツを配信する動作を説明するためのフローチャートである。
【図１７Ｂ】本発明の第４実施形態によるコンテンツを配信する動作を説明するためのフローチャートである。
【図１８】本発明の第４実施形態によるコンテンツ情報テーブルの一構成例を示す概念図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態を、図面を参照して説明する。
【００１７】
Ａ．第１実施形態
図１は、本発明の第１実施形態によるコンテンツ配信システムの構成を示すブロック図である。図１において、コンテンツ配信システムは、コンテンツ配信装置１０と、コンテンツを受信するクライアント群２０と、ネットワーク３０とから構成されている。
【００１８】
コンテンツ配信装置１０は、コンテンツ配信部１０１と、キャッシュ制御部１０２と、コンテンツ保持部１０３と、キャッシュ保持部１０４と、コンテンツ・キャッシュ情報保持部１０５と、コンテンツ登録部１０６とを備えている。
【００１９】
クライアント群２０は、コンテンツを受信する端末であり、ネットワーク３０へ接続するための機能を有する。本第１実施形態では、便宜上、クライアント群２０として、クライアント端末２０１ａと、クライアント端末２０１ｂと、クライアント端末２０１ｃの３台の構成で説明する。しかしながら、クライアント群２０におけるクライアント端末の台数に制限はない。
【００２０】
ネットワーク３０は、コンテンツ配信装置１０と、クライアント群２０の各クライアント端末２０１ａ〜２０１ｃとを接続するインターネットなどのネットワークである。
【００２１】
上述した各処理部の機能について説明する。
コンテンツ配信部１０１は、クライアント群２０の各クライアント端末２０１ａ〜２０１ｃからコンテンツ配信要求を受信する。コンテンツ配信部１０１は、配信要求されたコンテンツがキャッシュ保持部１０４に格納されている場合には、キャッシュ保持部１０４からコンテンツを読み出し、ネットワーク３０を介して、コンテンツ配信要求を行ったクライアント群２０の各クライアント端末２０１ａ〜２０１ｃのいずれかに対してそのコンテンツを配信する。
【００２２】
このとき、コンテンツ配信部１０１は、指定されたコンテンツが、キャッシュ保持部１０４に格納されていない場合には、キャッシュ保持部１０４の空き容量を確認する。コンテンツ配信部１０１は、キャッシュ保持部１０４の空き容量が、設定された閾値よりも大きい場合には、キャッシュ制御部１０２に対して該当コンテンツをキャッシュ保持部１０４に格納するように指示する。コンテンツ配信部１０１は、この指示によりキャッシュ保持部１０４に格納されたコンテンツを読み出して、ネットワーク３０を介して、クライアント群２０の各クライアント端末２０１ａ〜２０１ｃに対してそのコンテンツを配信する。
【００２３】
一方、コンテンツ配信部１０１は、キャッシュ保持部１０４の空き容量が、設定された閾値よりも小さい場合には、コンテンツ・キャッシュ情報保持部１０５の設定に従い、通常配信で読み出すファイルよりも低いビットレートのファイルをコンテンツ保持部１０３より読み出し、ネットワーク３０を介して、クライアント群２０の各クライアント端末２０１ａ〜２０１ｃに対してそのファイルを配信する。
【００２４】
キャッシュ制御部１０２は、コンテンツ配信部１０１の指示により、コンテンツ・キャッシュ情報保持部１０５に格納されるキャッシュ制御テーブル３００に従い、コンテンツ保持部１０３のコンテンツを、キャッシュ保持部１０４に格納する。また、キャッシュ制御部１０２は、コンテンツ・キャッシュ情報保持部１０５に格納されるキャッシュ制御テーブル３００に設定されるコンテンツのブロックに対するアクセス状態に従い、キャッシュ保持部１０４に格納される各コンテンツのキャッシュをブロック単位で削除する。
【００２５】
コンテンツ保持部１０３は、配信可能なコンテンツを格納する記憶部であり、例えば、磁気ディスク、半導体メモリ等の不揮発性メモリから構成される記憶装置で実現される。コンテンツ保持部１０３に格納するコンテンツは、例えば、映画や、ドラマなどの映像コンテンツ等である。
【００２６】
キャッシュ保持部１０４は、コンテンツを一時的に格納するキャッシュメモリとして機能し、配信可能なコンテンツを複数のブロックに区切って領域上に保持している。このキャッシュ保持部１０４は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で実現される。
【００２７】
コンテンツ・キャッシュ情報保持部１０５は、コンテンツ毎に、ビットレートや、ファイルＩＤ等のコンテンツに係る情報を、コンテンツ情報テーブル２００として保有する。また、コンテンツ・キャッシュ情報保持部１０５は、コンテンツ毎にキャッシュメモリを制御する情報を、キャッシュ制御テーブル３００として保有する。
【００２８】
図２は、本第１実施形態による、コンテンツ情報テーブル２００の一例を示す概念図である。図示の例では、コンテンツ情報テーブル２００は、コンテンツＩＤ２０１と、ファイルＩＤ２０２と、ビットレート２０３と、種別２０４とから構成されている。コンテンツＩＤ２０１は、コンテンツ毎に付与されるコンテンツを識別するためのＩＤである。ファイルＩＤ２０２は、１つのコンテンツが保有する異なる複数のビットレートのファイルに対して、ファイル毎に付与されるＩＤである。ビットレート２０３は、該当ファイルＩＤ２０２に対応するビットレートを示す情報である。種別２０４は、該当ファイルＩＤ２０２に対応するファイルが通常配信で使用する種別であるか（この場合、種別を「通常」と表記する）、キャッシュメモリの空き容量が低下したときに使用する種別であるか（この場合、種別を「低」と表記する）を示す情報である。
【００２９】
図３は、本第１実施形態による、キャッシュ制御テーブル３００の一例を示す概念図である。図示の例では、キャッシュ制御テーブル３００は、コンテンツＩＤ３０１と、ブロックＩＤ３０２と、サイズ３０３と、キャッシュ有無３０４と、アクセス有無３０５とから構成されている。コンテンツＩＤ３０１は、コンテンツ毎に付与されるコンテンツを識別するためのＩＤであり、コンテンツ情報テーブル２００のコンテンツＩＤ２０１と同一である。ブロックＩＤ３０２は、１つのコンテンツを複数のブロックに区切った場合に、そのブロック毎に付与するＩＤであり、このブロックＩＤ３０２毎にキャッシュの制御情報を設定する。サイズ３０３は、該当ブロックＩＤ３０２のデータサイズを示す情報である。キャッシュ有無３０４は、該当ブロックＩＤ３０２に対応するコンテンツのブロックが、キャッシュ保持部１０４に格納済みであるかどうかを示す情報である。アクセス有無３０５は、該当ブロックＩＤ３０２のキャッシュに対してアクセス中であるか否かを示す情報である。
【００３０】
コンテンツ登録部１０６は、コンテンツ保持部１０３にコンテンツを格納する処理において、コンテンツに係る情報としてファイルＩＤ、ビットレート、種別の情報から上述したコンテンツ情報テーブル２００として生成して、それをコンテンツ・キャッシュ情報保持部１０５に登録する。
【００３１】
また、コンテンツ登録部１０６は、コンテンツ保持部１０３にコンテンツを格納する処理において、あらかじめ設定されている規則（例えば、一定のサイズ、または時間毎にコンテンツを区切ることを設定した規則）に基づいて、上述したキャッシュ制御テーブル３００を生成して、それをコンテンツ・キャッシュ情報保持部１０５に登録する。
【００３２】
次に、本第１実施形態の全体の動作について詳細に説明する。
まず、本第１実施形態において、コンテンツ登録部１０６が、コンテンツ保持部１０３にコンテンツを格納する処理において、コンテンツ・キャッシュ情報保持部１０５が保有するコンテンツ情報テーブル２００とキャッシュ制御テーブル３００とを生成する動作について説明する。
【００３３】
図４は、本第１実施形態によるコンテンツを格納処理する動作を説明するためのフローチャートである。コンテンツ保持部１０２にコンテンツを格納すると（ステップＳ１０１）、該当コンテンツについてコンテンツ情報テーブル２００を生成し（ステップＳ１０２）、さらに該当コンテンツについてキャッシュ制御テーブル３００を生成する（ステップＳ１０３）。次に、コンテンツ登録部１０６は、コンテンツ情報テーブル２００とキャッシュ制御テーブル３００とをコンテンツ・キャッシュ情報保持部１０５に登録する（ステップＳ１０４）。
【００３４】
コンテンツ情報テーブル２００の生成において、コンテンツ登録部１０６は、格納したコンテンツを識別するコンテンツＩＤ２０１と、通常の配信で使用するビットレートのファイルおよびキャッシュメモリ空き容量とが設定された閾値を下回った場合に使用する低ビットレートのファイルのそれぞれに対するファイルＩＤ２０２と、ファイル毎のビットレート２０３とその種別２０４とを対応付けてコンテンツ情報テーブル２００に登録する。
【００３５】
キャッシュ制御テーブル３００の生成において、コンテンツ登録部１０６は、格納したコンテンツを識別するコンテンツＩＤ３０１と、所定のブロック化規則に基づいて、コンテンツを複数のブロックに区切った当該ブロック毎のブロックＩＤ３０２と、ブロック毎の大きさを示すサイズ３０３とを対応付けてキャッシュ制御テーブル３００に登録する。
【００３６】
コンテンツ登録部１０６は、キャッシュ有無３０４として初期値「無」の情報と、アクセス有無３０５として初期値「無」の情報とを対応付けてキャッシュ制御テーブル３００に登録する。ブロック化規則とは、例えば、コンテンツを複数のブロックに分けてキャッシュ保持部１０４に格納する際に、コンテンツをどのように複数のブロックに分割するか（コンテンツの分割方法）を示す。例えば、ブロックのデータサイズや、再生時間などがブロック化規則として指定される。
【００３７】
この分割については、例えば、固定レートで符号化されたコンテンツ（映像）の場合、データサイズと再生時間とが一意に対応するので、一定の再生時間毎にコンテンツを区切れば、各ブロックのサイズは、全て同じになる。一方、可変レートで符号化されたコンテンツの場合には、データサイズと再生時間とが一意に対応しないので、一定の再生時間毎にコンテンツを区切った場合、各ブロックのサイズは、それぞれのレートに応じて異なる。また、一定のサイズ毎にコンテンツを区切った場合、各ブロックの再生時間は、それぞれのレートに応じて異なる。
【００３８】
コンテンツ情報テーブル２００について説明する。
図５は、本第１実施形態による、コンテンツ登録部１０６によって登録されたコンテンツ情報テーブル２００の一例を示す概念図である。コンテンツＩＤとして「ＣＩＤ００１」のコンテンツが登録されており、ファイルＩＤとして「Ｆ００１１」の通常配信用８Ｍｂｐｓのファイルと、ファイルＩＤが「Ｆ００１２」のキャッシュメモリの空き容量が設定された閾値を下回った場合に使用する１Ｍｂｐｓの低ビットレートのファイルとが登録されており、それぞれに種別として「通常」、「低」が設定されている。
【００３９】
次に、キャッシュ制御テーブル３００について説明する。
図６は、本第１実施形態による、コンテンツ登録部１０６によって登録された直後のキャッシュ制御テーブル３００の一例を示す概念図である。コンテンツＩＤが「ＣＩＤ００１」のコンテンツは、４つのブロックに３００ＭＢ毎のサイズで分割されており、それぞれのブロックに対してブロックＩＤ３０２（００１〜００４）、サイズ３０３（３００ＭＢ）、キャッシュ有無３０４（無）、アクセス有無３０５（無）が設定されている。この例では、コンテンツ登録直後のため、キャッシュ有無３０４は、全て「無」、アクセス有無３０５は、全て「無」に設定されている。
【００４０】
次に、コンテンツ配信装置１０が、クライアント端末２０１ａからコンテンツ配信要求を受け、コンテンツを配信開始する動作について説明する。
【００４１】
図７は、本第１実施形態による、コンテンツを配信開始する動作を説明するためのシーケンス図である。
クライアント端末２０１ａは、配信要求するコンテンツの再生箇所を指定し（ＳＳ１）、コンテンツ配信装置１０にコンテンツの配信要求を行う（ＳＳ２）。コンテンツ配信要求を受けたコンテンツ配信装置１０は、要求されたコンテンツと再生箇所に対応するブロックとを、キャッシュ制御テーブル３００で検索し、要求されたコンテンツの再生箇所に対応するブロックを、キャッシュ保持部１０４、またはコンテンツ保持部１０３から読み出してクライアント端末２０１ａに配信し、キャッシュ制御テーブル３００を更新する（ＳＳ３、ＳＳ４）。再生箇所とは、例えば、コンテンツの最初からの再生時間で指定される位置である。
【００４２】
次に、コンテンツ配信装置１０が、クライアント端末２０１ａからコンテンツ配信要求を受け、コンテンツを配信開始する動作について説明する。
図８は、本第１実施形態による、コンテンツを配信開始する動作を説明するためのフローチャートである。コンテンツ配信装置１０のコンテンツ配信部１０１は、クライアント端末２０１ａからコンテンツ配信要求を受け付けると、配信を指定されたコンテンツＩＤと再生箇所とをキーにして、コンテンツ・キャッシュ情報保持部１０５内のキャッシュ制御テーブル３００を検索する（ステップＳ２０１）。コンテンツ配信部１０１は、要求されたコンテンツの指定された再生箇所に対応するブロックのＩＤに対応付けられて登録されているキャッシュ有無の情報に基づいて、当該ブロック部分のデータがキャッシュ保持部１０４に格納されているか否かを判別する（ステップＳ２０２）。要求されたコンテンツの指定された再生箇所に対応するブロックの判定は、例えば、ブロックが同一の時間単位で区切られている場合には、各ブロックが区切られている時間単位に基づいて最初に再生されるブロックからその再生順に時間単位を加算していき、要求されたコンテンツの指定時間に初めて達したブロックを、指定時間の再生箇所に対応するブロックと判定すればよい。
【００４３】
該当コンテンツのブロック部分のデータがキャッシュ保持部１０４に格納されている場合（すなわち、要求されたコンテンツの指定された再生箇所に対応するブロックのＩＤに対応付けられて登録されているキャッシュ有無の情報が「有」を示す場合）には、コンテンツ配信部１０１は、キャッシュ保持部１０４から該当コンテンツのブロック部分のデータを読み出し、クライアント端末２０１ａに対してそのデータを配信する（ステップＳ２０３）。その後、コンテンツ配信部１０１は、コンテンツ・キャッシュ情報保持部１０５内のキャッシュ制御テーブル３００の該当コンテンツに属するブロックのアクセス有無３０５が「無」であれば「有」に更新する（ステップＳ２０４）。
【００４４】
一方、該当コンテンツのブロック部分のデータがキャッシュ保持部１０４に格納されていない場合（すなわち、要求されたコンテンツの指定された再生箇所に対応するブロックのＩＤに対応付けられて登録されているキャッシュ有無の情報が「無」を示す場合）には、コンテンツ配信部１０１は、キャッシュメモリの空き容量が、設定された閾値以上であるか否かを判別する（ステップＳ２０５）。キャッシュメモリの空き容量が閾値以上であれば、コンテンツ配信部１０１は、キャッシュ制御部１０２に対して、キャッシュ保持部１０４に該当コンテンツのブロックのＩＤを通知し、そのブロック部分のデータの格納を指示する（ステップＳ２０６）。次に、コンテンツ配信部１０１は、ステップＳ２０６の指示によってキャッシュ保持部１０４に格納された当該コンテンツのブロック部分のデータを読み出し、クライアント端末２０１ａに対してそのデータを配信する（ステップＳ２０７）。
【００４５】
一方、キャッシュメモリの空き容量が閾値未満の場合には、コンテンツ配信部１０１は、コンテンツ・キャッシュ情報保持部１０５内のコンテンツ情報テーブル２００を、コンテンツＩＤをキーにして検索する（ステップＳ２０８）。コンテンツ配信部１０１は、該当コンテンツの種別が「低」に設定されているファイルを選択し、コンテンツ保持部１０３から該当ファイルのブロック部分のデータを読み出し、クライアント端末２０１ａに対してそのデータを配信する（ステップＳ２０９）。
【００４６】
キャッシュメモリ空き容量閾値は、コンテンツ配信装置１０の設定ファイル等によりあらかじめ設定されている値であり、その範囲は、最小値が０、最大値はキャッシュメモリ容量の値を取ると設定する。例えば、キャッシュメモリ空き容量閾値が１Ｇバイトに設定されている場合には、配信するコンテンツのブロックがキャッシュメモリに格納されておらず、キャッシュメモリの空き容量が１Ｇバイトを下回ると、種別「低」のファイルを読み出して配信し、ディスク装置へのアクセス帯域を小さくする。また、例えば、キャッシュメモリ空き容量閾値が０の場合にのみ、種別「低」のファイルを読み出して配信するようにしてもよい。
【００４７】
次に、キャッシュ制御部１０２が、コンテンツ配信部１０１からの指示に基づいてキャッシュ保持部１０４にコンテンツのデータを格納する処理について説明する。
【００４８】
図９は、本第１実施形態による、コンテンツのデータを格納する動作を説明するためのフローチャートである。キャッシュ制御部１０２は、コンテンツ配信部１０１からキャッシュ格納指示を受け付けると、通知を受けたコンテンツのブロックＩＤに基づいて、そのコンテンツのブロック部分のデータをコンテンツ保持部１０３から取得し（ステップＳ３０１）、そのデータをキャッシュ保持部１０４へ格納し（ステップＳ３０２）、キャッシュ制御テーブル３００を更新する（ステップＳ３０３）。すなわち、キャッシュ制御部１０２は、キャッシュ制御テーブル３００の該当するブロックのキャッシュ有無３０４の情報を「無」から「有」へと更新する。
【００４９】
次に、キャッシュ制御部１０２が、キャッシュ保持部１０４に格納されているコンテンツのキャッシュデータを削除する処理について説明する。
【００５０】
図１０は、本第１実施形態による、コンテンツのキャッシュデータを削除する処理の動作を説明するためのフローチャートである。キャッシュ制御部１０２は、コンテンツ・キャッシュ情報保持部１０５に格納されているキャッシュ制御テーブル３００を参照し、キャッシュ保持部１０４にキャッシュされているデータがアクセスされているか否かを、アクセス有無の情報に基づいて確認する（ステップＳ４０１）。キャッシュされているデータがアクセスされている場合（すなわち、アクセス「有」の場合）には、処理が後述するステップＳ４０３に移行する。
【００５１】
一方、キャッシュされているデータがアクセス中でない場合（すなわち、アクセス「無」の場合）には、キャッシュ制御部１０２は、キャッシュデータをキャッシュ保持部１０４から削除し、キャッシュ制御テーブル３００の該当するコンテンツＩＤ、ブロックＩＤのキャッシュ有無を「無」に設定する（ステップＳ４０２）。
【００５２】
次に、ステップＳ４０１でキャッシュされているデータがアクセス中である場合、またはステップＳ４０２の処理が終了した場合には、キャッシュ制御テーブル３００の全てのブロックの処理が完了したか否かを判定し（ステップＳ４０３）、完了していない場合には、次のコンテンツＩＤ、ブロックＩＤについて、ステップＳ４０１からＳ４０２までの処理を実施する。
【００５３】
キャッシュ制御部１０２は、上述した一連の処理（ステップＳ４０１からステップＳ４０２）をキャッシュ制御テーブル３００に登録されている全てのコンテンツＩＤ、ブロックＩＤに対して実施し処理を終了する。キャッシュ制御部１０２による上述した処理は、例えば、１分毎のような所定の時間間隔で周期的に実行し、キャッシュ制御テーブル３００およびキャッシュ保持部１０４のキャッシュデータを更新するようにしてもよい。
【００５４】
上述した第１実施形態によれば、キャッシュメモリ空き容量に応じて、配信するコンテンツのビットレートを変更することにより、コンテンツ保持部１０３へのアクセス帯域を変更することが可能となる。これにより、コンテンツ配信装置１０に対する配信要求が増加することで、キャッシュ保持部１０４へのコンテンツ格納数が増加し、キャッシュメモリの空き容量が不足状態となり、キャッシュメモリにコンテンツが格納できなくなることによって、コンテンツ保持部１０３へのアクセス数が増加する場合であっても、コンテンツ保持部１０３から読み出して配信するコンテンツのビットレートを低くすることで、コンテンツ保持部１０３のアクセス帯域の増加を抑えることが可能となる。
【００５５】
Ｂ．第２実施形態
次に、本発明の第２実施形態について説明する。
本第２実施形態によるコンテンツ配信システムおよびそのコンテンツ配信装置１０の構成は、図１に示した第１実施形態の構成と同じであるので説明を省略する。
【００５６】
図１１は、本第２実施形態によるコンテンツ情報テーブル２００の構成を示す概念図である。第２実施形態と第１実施形態との違いは、第２実施形態では、コンテンツ情報テーブル２００にキャッシュメモリ空き容量閾値２０５を追加し、キャッシュメモリ空き容量閾値２０５がコンテンツＩＤ単位に設定されている点である。
【００５７】
次に、本第２実施形態におけるコンテンツ情報テーブル２００を生成する動作について説明する。コンテンツ情報テーブル２００の生成は、コンテンツ登録部１０６が、コンテンツを登録する処理において実施され、第１実施形態と同様に、図４に示すフローチャートに従って処理される。第２実施形態と第１実施形態との違いは、図４のステップＳ１０２内の処理であり、以下に説明する。
【００５８】
コンテンツ情報テーブル２００の生成（図４のステップＳ１０２）において、コンテンツ登録部１０６は、格納したコンテンツを識別するコンテンツＩＤ２０１と、通常の配信で使用するビットレートのファイルのファイルＩＤと、その種別と、そのファイルを配信する際のビットレートとを対応付けてコンテンツ情報テーブル２００に登録する。また、コンテンツ登録部１０６は、キャッシュメモリ空き容量が設定された閾値を下回った場合に使用する低ビットレートのファイルのファイルＩＤと、その種別と、そのファイルを配信する際のビットレートとを対応付けてコンテンツ情報テーブル２００に登録する。さらに、コンテンツ登録部１０６は、それらの情報に通常のビットレートと低ビットレートのどちらのファイルを利用するかを判定するためのキャッシュメモリ空き容量閾値２０５とを対応付けて登録する。
【００５９】
図１２は、本第２実施形態によるコンテンツ情報テーブル２００の一例を示す概念図である。
図１２においては、コンテンツ情報テーブル２００にコンテンツＩＤとして、ＣＩＤ００１とＣＩＤ００２との２つのコンテンツが登録されている。通常配信時のビットレートは、ＣＩＤ００１のコンテンツでは８Ｍｂｐｓであり、ＣＩＤ００１２のコンテンツでは４Ｍｂｐｓである。各コンテンツに対してキャッシュメモリ空き容量閾値２０５が設定されている。キャッシュメモリ空き容量閾値２０５は、ＣＩＤ００１のコンテンツでは２Ｇｂｙｔｅであり、ＣＩＤ００１２のコンテンツでは１Ｇｂｙｔｅである。
【００６０】
次に、本第２実施形態におけるコンテンツを配信する動作について説明する。
本第２実施形態によるコンテンツ配信処理は、第１実施形態と同一であり、図８に示すフローチャートに従って処理される。第２実施形態と第１実施形態との違いは、ステップＳ２０５で使用するキャッシュメモリ空き容量閾値に、コンテンツ配信装置１０の設定ファイル等で指定される値ではなく、コンテンツ情報テーブル２００においてコンテンツＩＤ毎に設定されるキャッシュメモリ空き容量閾値２０５を使用し、配信するコンテンツに応じてキャッシュメモリ空き容量閾値２０５を用意する点である。つまり、コンテンツ配信部１０１が、配信するコンテンツがキャッシュ保持部１０４に格納されていない場合に、コンテンツ保持部１０３から読み出すコンテンツのビットレートを決定するために使用するキャッシュメモリの空き容量閾値を、配信するコンテンツに応じて別の値とする点が相違する。
【００６１】
上述した第２実施形態によれば、配信するコンテンツのビットレートに応じてキャッシュメモリ空き容量閾値２０５を設定可能としたので、コンテンツ保持部１０３へのアクセス帯域を多く必要とするコンテンツ、つまり高ビットレートのコンテンツほど、キャッシュメモリ空き容量閾値２０５を大きく設定することで、キャッシュメモリの使用量の増加を抑えつつ、コンテンツ保持部１０３へのアクセス帯域を抑えることが可能となる。また、低いビットレートのコンテンツは、キャッシュメモリ空き容量閾値２０５を小さく設定することで、出来るだけ通常時に使用するビットレートで配信することが可能となる。
【００６２】
Ｃ．第３実施形態
次に、本発明の第３実施形態について説明する。
本第３実施形態によるコンテンツ配信システムおよびそのコンテンツ配信装置１０の構成は、図１に示した第１実施形態の構成と同じであるので説明を省略する。
【００６３】
図１３は、本第３実施形態によるコンテンツ情報テーブル２００の構成を示す概念図である。
第３実施形態と、前述した第１、第２実施形態との違いは、コンテンツ情報テーブル２００にキャッシュメモリ空き容量閾値を２つ保有している点である。キャッシュメモリ空き容量閾値Ａ２０５は、キャッシュメモリ空き容量がこの値を下回った場合に、配信するコンテンツを通常配信のビットレートから低ビットレートへ切り替えるための値である。キャッシュメモリ空き容量閾値Ｂ２０６は、キャッシュメモリ空き容量がこの値を下回った場合には、コンテンツをキャッシュ保持部１０４に格納せずに、コンテンツ保持部１０３から低ビットレートのファイルを読み出して直接配信する動作に切り替えるための値である。
【００６４】
図１４は、本第３実施形態によるコンテンツ情報テーブル２００の一構成例を示す概念図である。図１４において、キャッシュメモリ空き容量閾値Ａ２０５は、４Ｇバイトに設定されており、キャッシュメモリ空き容量閾値Ｂ２０６は、２Ｇバイトに設定されている。つまり、コンテンツＩＤが「ＣＩＤ００１」のコンテンツを配信する場合、キャッシュ保持部１０４の空き容量がキャッシュメモリ空き容量閾値Ａ２０５で設定されている４Ｇバイトを下回ると、種別２０４が「低」の１Ｍｂｐｓのファイルを読み出してキャッシュ保持部１０４へ格納して配信する。また、キャッシュ保持部１０４の空き容量がキャッシュメモリ空き容量閾値Ｂ２０６に設定されている２Ｇバイトを下回ると、種別２０４が「低」の１Ｍｂｐｓのファイルを読み出してキャッシュ保持部１０４には格納せずにコンテンツ保持部１０３から読み出したコンテンツを直接配信する。
【００６５】
次に、本第３実施形態によるコンテンツを配信する動作について説明する。
図１５Ａおよび１５Ｂは、本第３実施形態によるコンテンツを配信する動作を説明するためのフローチャートである。コンテンツ配信装置１０のコンテンツ配信部１０１は、クライアント端末２０１ａからコンテンツ配信要求を受け付けると、配信を指定されたコンテンツＩＤと再生箇所とをキーにして、コンテンツ・キャッシュ情報保持部１０５内のキャッシュ制御テーブル３００を検索する（ステップＳ５０１）。次に、コンテンツ配信部１０１は、要求されたコンテンツの指定された再生箇所に対応するブロックがキャッシュ保持部１０４に格納されているか否かを、キャッシュ有無の情報から判別する（ステップＳ５０２）。
【００６６】
該当コンテンツのブロック部分のデータがキャッシュ保持部１０４に格納されている場合（すなわち、キャッシュ有無が「有」の場合）には、コンテンツ配信部１０１は、キャッシュ保持部１０４から該当コンテンツのブロック部分のデータを読み出し、クライアント端末２０１ａ〜２０１ｃに対してそのデータを配信する（ステップＳ５０３）。その後、コンテンツ配信部１０１は、コンテンツ・キャッシュ情報保持部１０５内のキャッシュ制御テーブル３００の該当コンテンツに属するブロックのアクセス有無３０５が「無」であれば「有」に更新する（ステップＳ５０４）。
【００６７】
一方、該当コンテンツのブロック部分のデータがキャッシュ保持部１０４に格納されていない場合（すなわち、キャッシュ有無が「無」の場合）には、コンテンツ配信部１０１は、キャッシュメモリの空き容量が、設定されたキャッシュメモリ空き容量閾値Ａ以上空いているか否かを判別する（ステップＳ５０５）。キャッシュメモリの空き容量がコンテンツ情報テーブル２００のキャッシュメモリ空き容量閾値Ａ以上であれば、コンテンツ配信部１０１は、キャッシュ制御部１０２に対して、キャッシュ保持部１０４に該当コンテンツのブロック部分のデータの格納を指示する（ステップＳ５０６）。そして、コンテンツ配信部１０１は、ステップＳ５０６の指示によってキャッシュ保持部１０４に格納された当該コンテンツのブロック部分のデータを読み出し、クライアント端末２０１ａに対してそのデータを配信する（ステップＳ５０７）。
【００６８】
一方、キャッシュメモリの空き容量がキャッシュメモリ空き容量閾値Ａ未満の場合には、さらにキャッシュメモリの空き容量がキャッシュメモリ空き容量閾値Ｂ以上であるか否かを判別する（ステップＳ５０８）。キャッシュメモリの空き容量がキャッシュメモリ空き容量閾値Ａ未満で、かつキャッシュメモリ空き容量閾値Ｂ以上であれば、コンテンツ配信部１０１は、該当コンテンツの種別が「低」に設定されているファイルを選択し、キャッシュ制御部１０２に対して、キャッシュ保持部１０４への該当コンテンツのブロック部分のデータの格納を指示する（ステップＳ５０９）。そして、コンテンツ配信部１０１は、ステップＳ５０９の指示によってキャッシュ保持部１０４に格納された当該コンテンツのブロック部分のデータを読み出し、クライアント端末２０１ａに対して配信する（ステップＳ５１０）。
【００６９】
キャッシュメモリの空き容量がキャッシュメモリ空き容量閾値Ｂ未満の場合には、コンテンツ配信部１０１は、該当コンテンツの種別が「低」に設定されているファイルを選択し、コンテンツ保持部１０３から該当ファイルのブロック部分のデータを読み出し、キャッシュ保持部１０４にキャッシングすることなく、クライアント端末２０１ａ〜２０１ｃに対してそのデータを直接配信する（ステップＳ５１０）。
【００７０】
上述した第３実施形態によれば、キャッシュメモリ空き容量閾値をコンテンツの配信時のビットレートに応じて段階的に設定することによって、キャッシュ保持部１０４の空き容量が少なくなり始めた時点で、キャッシュ保持部１０４へ格納するコンテンツのデータ量を小さくすることで、より多くのコンテンツのキャッシュをキャッシュ保持部１０４へ格納することが可能となり、キャッシュ保持部１０４の利用効率を高めることができる。
【００７１】
Ｄ．第４実施形態
次に、本発明の第４実施形態について説明する。
第４実施形態によるコンテンツ配信システムおよびそのコンテンツ配信装置１０の構成は、図１に示した第１実施形態の構成と同じであるので説明を省略する。
【００７２】
図１６は、第４実施形態によるコンテンツ情報テーブル２００の構成を示す概念図である。
第４実施形態によるコンテンツ情報テーブル２００と、第１、第２、第３の実施の形態によるコンテンツ情報テーブル２００との違いは、コンテンツ情報テーブル２００にコンテンツ保持部アクセス帯域閾値２０７を有していることである。
コンテンツ配信部１０１が、コンテンツを配信するためにコンテンツ保持部１０３からコンテンツを読み出している帯域と、キャッシュ制御部１０２が、コンテンツをキャッシュ保持部１０４へ格納するためにコンテンツ保持部１０３からコンテンツを読み出している帯域とを足し合わせた帯域をコンテンツ保持部アクセス帯域と設定する。コンテンツ保持部アクセス帯域閾値２０７は、配信するコンテンツを通常配信ビットレートコンテンツから低ビットレートコンテンツへと切り替えるための判断に使用する値である。
【００７３】
図１７Ａおよび１７Ｂは、第４実施形態によるコンテンツを配信する動作を説明するためのフローチャートである。
まず、コンテンツ配信装置１０のコンテンツ配信部１０１は、クライアント端末２０１ａ〜２０１ｃからコンテンツ配信要求を受け付けると、配信を指定されたコンテンツＩＤと再生箇所をキーにして、コンテンツ・キャッシュ情報保持部１０５内のキャッシュ制御テーブル３００を検索する（ステップＳ６０１）。次に、コンテンツ配信部１０１は、要求されたコンテンツの指定された再生箇所に対応するブロックがキャッシュ保持部１０４に格納されているかを、当該ブロックのＩＤに対応して登録されているキャッシュ有無の情報から判別する（ステップＳ６０２）。コンテンツ配信部１０１は、該当コンテンツの指定された箇所に対応するブロックがキャッシュ保持部１０４に格納されている場合（すなわち、キャッシュ有無が「有」の場合）、キャッシュ保持部１０４から該当コンテンツのブロック部分のデータを読み出し、クライアント端末２０１ａ〜２０１ｃに対してそのデータを配信する（ステップＳ６０３）。その後、コンテンツ配信部１０１は、コンテンツ・キャッシュ情報保持部１０５内のキャッシュ制御テーブル３００の該当コンテンツに属するブロックのアクセス有無３０５が「無」であればそれを「有」に更新する（ステップＳ６０４）。
【００７４】
コンテンツ配信部１０１は、該当コンテンツのブロック部分のデータが、キャッシュ保持部１０４に格納されていない場合（すなわち、キャッシュ有無が「無」の場合）、キャッシュメモリの空き容量が設定された閾値以上に空いているか判別する（ステップＳ６０５）。キャッシュメモリの空き容量がコンテンツ情報テーブル２００のキャッシュメモリ空き容量閾値２０５以上であれば、コンテンツ配信部１０１は、キャッシュ制御部１０２に対して、キャッシュ保持部１０４に該当コンテンツのブロック部分のデータの格納を指示する（ステップＳ６０６）。そして、コンテンツ配信部１０１は、ステップＳ６０６の指示によってキャッシュ保持部１０４に格納された当該コンテンツのブロック部分のデータを読み出し、クライアント端末２０１ａに対してそのデータを配信する（ステップＳ６０７）。
【００７５】
キャッシュメモリの空き容量がキャッシュメモリ空き容量閾値未満の場合、さらにコンテンツ保持部アクセス帯域がコンテンツ保持部アクセス帯域閾値２０７以下であるか判別する（ステップＳ６０８）。コンテンツ保持部アクセス帯域が、コンテンツ保持部アクセス帯域閾値２０７以下である場合、コンテンツ配信部１０１は、該当コンテンツの種別が「通常」に設定されているファイルを選択し、コンテンツ保持部１０３から該当ファイルのブロック部分のデータを読み出し、そのデータをキャッシュ保持部１０４へは格納せずにクライアント端末２０１ａに対して配信する（ステップＳ６０９）。一方、コンテンツ保持部アクセス帯域が、コンテンツ保持部アクセス帯域閾値２０７より大きい場合、コンテンツ配信部１０１は、該当コンテンツの種別が「低」に設定されているファイルを選択し、コンテンツ保持部１０３から該当ファイルのブロック部分のデータを読み出し、そのデータをキャッシュ保持部１０４へは格納せずにクライアント端末２０１ａに対して配信する（ステップＳ６１０）。
【００７６】
図１８は、第４実施形態によるコンテンツ情報テーブル２００の一構成例を示す概念図である。
図１８に示すコンテンツ情報テーブル２００には、コンテンツＩＤ２０１がＣＩＤ００１であるコンテンツに対するコンテンツ保持部アクセス帯域閾値２０７が、３Ｇｂｐｓと設定されている。キャッシュメモリ空き容量がキャッシュメモリ空き容量閾値２０５を下回った場合、ＣＩＤ００１のコンテンツを配信する時、コンテンツ保持部アクセス帯域が３Ｇｂｐｓ以下であれば、通常配信で使用する８Ｍｂｐｓのコンテンツを読み出して配信し、コンテンツ保持部アクセス帯域が３Ｇｂｐｓを超えている場合は、低ビットレートコンテンツである１Ｍｂｐｓのコンテンツを読み出して配信する。
【００７７】
以上、第４実施形態の処理によれば、配信するコンテンツのビットレートを決定する際に、キャッシュメモリの空き容量に加え、コンテンツ保持部へのアクセス帯域量を考慮することにより、キャッシュメモリの空き容量が不足した場合でもコンテンツ保持部のアクセス帯域に余裕があれば、出来るだけ高い品質のコンテンツを配信することが可能となる。
【００７８】
プログラムが、図１に示すコンテンツ配信装置１０に、コンテンツを配信する処理を実行させもよい。
図１に示すコンテンツ配信装置１０の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより図１に示すコンテンツ配信装置１０に、コンテンツを配信する処理を実行させてもよい。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むとする。
「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含む。
「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００７９】
この出願は、２００９年８月３１日に出願された日本出願特願２００９−２００３８２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【００８０】
本発明は、放送番組や、映画などの映像コンテンツを、ネットワークを経由して配信するといった用途に適用できる。本発明は、特に、高い配信性能を要求される大規模な加入者を有し、人気コンテンツを配信するコンテンツ配信システムに適用できる。
【符号の説明】
【００８１】
１０  コンテンツ配信装置
１０１  コンテンツ配信部
１０２  キャッシュ制御部
１０３  コンテンツ保持部
１０４  キャッシュ保持部
１０５  コンテンツ・キャッシュ情報保持部
１０６  コンテンツ登録部
２０  クライアント群
２０１ａ  クライアント端末
２０１ｂ  クライアント端末
２０１ｃ  クライアント端末
３０  ネットワーク
【図１】
2011024949.tif 000003
【図２】
2011024949.tif 000004
【図３】
2011024949.tif 000005
【図４】
2011024949.tif 000006
【図５】
2011024949.tif 000007
【図６】
2011024949.tif 000008
【図７】
2011024949.tif 000009
【図８】
2011024949.tif 000010
【図９】
2011024949.tif 000011
【図１０】
2011024949.tif 000012
【図１１】
2011024949.tif 000013
【図１２】
2011024949.tif 000014
【図１３】
2011024949.tif 000015
【図１４】
2011024949.tif 000016
【図１５Ａ】
2011024949.tif 000017
【図１５Ｂ】
2011024949.tif 000018
【図１６】
2011024949.tif 000019
【図１７Ａ】
2011024949.tif 000020
【図１７Ｂ】
2011024949.tif 000021
【図１８】
2011024949.tif 000022
【国際調査報告】
2011024949.tif 000023
2011024949.tif 000024
2011024949.tif 000025