(57)【特許請求の範囲】
【請求項１】
複数のコンテンツを記憶している記憶装置を有するコンテンツ記憶サーバと、上記コンテンツ記憶サーバからコンテンツが配送されることがある、コンテンツをキャッシュングするキャッシュメモリを備えた１又は複数のコンテンツ配送先サーバとを有し、クライアント端末からのコンテンツ配信要求に対し、上記コンテンツ記憶サーバ又はいずれかの上記コンテンツ配送先サーバから要求されたコンテンツを配信する分散型コンテンツ配信システムにおいて、
当該分散型コンテンツ配信システムは、上記コンテンツ記憶サーバ及び上記各コンテンツ配送先サーバに加えて、
コンテンツの配信ログを収集し、過去一定期間のログデータから人気コンテンツを予測し、人気コンテンツを上記各コンテンツ配送先サーバに配送する指示を上記コンテンツ記憶サーバに発して人気コンテンツを配送させるコンテンツ配送指示装置と、
コンテンツ配信要求が生じる毎に、配信元及び配信方法を決定する配信サーバ決定装置とを有し、
上記コンテンツ記憶サーバは、上記記憶装置をアクセスする、コンテンツをキャッシュングするキャッシュメモリを備えた１又は複数のコンテンツアクセス部を備え、上記各コンテンツアクセス部は上記記憶装置にアクセスしてコンテンツを配信できると共に、自己のキャッシュメモリからコンテンツを取出して配信できるものであり、
上記配信サーバ決定装置は、
上記各コンテンツ配送先サーバのキャッシュメモリにキャッシュングされているコンテンツ、上記各コンテンツアクセス部のキャッシュメモリにキャッシュングされているコンテンツ、上記記憶装置の各コンテンツのアクセス状況の情報を管理している管理手段と、
コンテンツ配信要求が生じると、要求時点でいずれかの上記キャッシュメモリにキャッシュングされているコンテンツの配信を優先させると共に、上記記憶装置から要求されたコンテンツを取出して配信する場合には、上記各キャッシュメモリにキャッシュされているコンテンツの見直しを実行するキャッシュコンテンツ見直し手段とを有し、
上記キャッシュコンテンツ見直し手段は、今回のコンテンツ配信要求に応じていずれかの上記コンテンツアクセス部が上記記憶装置から要求された該当コンテンツを取出すことにより、上記記憶装置の該当コンテンツの入出力負荷が第１の閾値を超える場合には、入出力負荷が最大なコンテンツを上記記憶装置から読み出して上記コンテンツアクセス部の上記キャッシュメモリにキャッシュングする
ことを特徴とする分散型コンテンツ配信システム。
【請求項２】
上記キャッシュコンテンツ見直し手段は、入出力負荷が最大でキャッシュングさせたコンテンツが要求されたコンテンツと同一である場合には、要求したクライアント端末への配信を、上記キャッシュメモリからの読み出し配信に切り替えることを特徴とする請求項１に記載の分散型コンテンツ配信システム。
【請求項３】
上記キャッシュコンテンツ見直し手段は、入出力負荷が最大でキャッシュングさせたコンテンツが要求されたコンテンツと異なる場合には、要求されたコンテンツと同一のコンテンツを最も配信している上記コンテンツアクセス部から、要求したクライアント端末へ要求されたコンテンツを配信させることを特徴とする請求項２に記載の分散型コンテンツ配信システム。
【請求項４】
上記キャッシュコンテンツ見直し手段は、要求されたコンテンツを上記記憶装置から取出すことによる入出力負荷が、要求されたコンテンツが人気コンテンツになったと判断できる負荷であることを少なくとも条件とし、要求されたコンテンツと同一のコンテンツを、上記コンテンツ記憶サーバから配信する場合のコストと、上記各コンテンツ配送先サーバから配信する場合のコストとの比較を行い、要求されたコンテンツをキャッシュングさせるいずれかの１以上の上記キャッシュメモリを決定することを特徴とする請求項３に記載の分散型コンテンツ配信システム。
【請求項５】
複数のコンテンツを記憶している記憶装置を有するコンテンツ記憶サーバと、上記コンテンツ記憶サーバからコンテンツが配送されることがある、コンテンツをキャッシュングするキャッシュメモリを備えた１又は複数のコンテンツ配送先サーバとを有し、クライアント端末からのコンテンツ配信要求に対し、上記コンテンツ記憶サーバ又はいずれかの上記コンテンツ配送先サーバから要求されたコンテンツを配信する分散型コンテンツ配信システムにおける分散型コンテンツ配信方法において、
上記分散型コンテンツ配信システムは、上記コンテンツ記憶サーバ及び上記各コンテンツ配送先サーバに加えて、コンテンツ配送指示装置と配信サーバ決定装置とを有し、
上記コンテンツ記憶サーバは、上記記憶装置をアクセスする、コンテンツをキャッシュングするキャッシュメモリを備えた１又は複数のコンテンツアクセス部を備え、上記各コンテンツアクセス部は上記記憶装置にアクセスしてコンテンツを配信できると共に、自己のキャッシュメモリからコンテンツを取出して配信できるものであり、
上記コンテンツ配送指示装置は、コンテンツの配信ログを収集し、過去一定期間のログデータから人気コンテンツを予測し、人気コンテンツを上記各コンテンツ配送先サーバに配送する指示を上記コンテンツ記憶サーバに発して人気コンテンツを配送させ、
上記配信サーバ決定装置は、コンテンツ配信要求が生じる毎に、配信元及び配信方法を決定するものであり、
上記配信サーバ決定装置の管理手段は、上記各コンテンツ配送先サーバのキャッシュメモリにキャッシュングされているコンテンツ、上記各コンテンツアクセス部のキャッシュメモリにキャッシュングされているコンテンツ、上記記憶装置の各コンテンツのアクセス状況の情報を管理し、
上記配信サーバ決定装置のキャッシュコンテンツ見直し手段は、コンテンツ配信要求が生じると、要求時点でいずれかの上記キャッシュメモリにキャッシュングされているコンテンツの配信を優先させると共に、上記記憶装置から要求されたコンテンツを取出して配信する場合には、上記各キャッシュメモリにキャッシュされているコンテンツの見直しを実行し、今回のコンテンツ配信要求に応じていずれかの上記コンテンツアクセス部が上記記憶装置から要求された該当コンテンツを取出すことにより、上記記憶装置の該当コンテンツの入出力負荷が第１の閾値を超える場合には、入出力負荷が最大なコンテンツを上記記憶装置から読み出して上記コンテンツアクセス部の上記キャッシュメモリにキャッシュングする
ことを特徴とする分散型コンテンツ配信方法。
【請求項６】
複数のコンテンツを記憶している記憶装置を有するコンテンツ記憶サーバと、上記コンテンツ記憶サーバからコンテンツが配送されることがある、コンテンツをキャッシュングするキャッシュメモリを備えた１又は複数のコンテンツ配送先サーバと、コンテンツの配信ログを収集し、過去一定期間のログデータから人気コンテンツを予測し、人気コンテンツを上記各コンテンツ配送先サーバに配送する指示を上記コンテンツ記憶サーバに発して人気コンテンツを配送させるコンテンツ配送指示装置とを有し、クライアント端末からのコンテンツ配信要求に対し、上記コンテンツ記憶サーバ又はいずれかの上記コンテンツ配送先サーバから要求されたコンテンツを配信する分散型コンテンツ配信システムに設けられる配信サーバ決定装置であって、
上記コンテンツ記憶サーバは、上記記憶装置をアクセスする、コンテンツをキャッシュングするキャッシュメモリを備えた１又は複数のコンテンツアクセス部を備え、上記各コンテンツアクセス部は上記記憶装置にアクセスしてコンテンツを配信できると共に、自己のキャッシュメモリからコンテンツを取出して配信できるものであり、
当該配信サーバ決定装置が、
上記各コンテンツ配送先サーバのキャッシュメモリにキャッシュングされているコンテンツ、上記各コンテンツアクセス部のキャッシュメモリにキャッシュングされているコンテンツ、上記記憶装置の各コンテンツのアクセス状況の情報を管理している管理手段と、
コンテンツ配信要求が生じると、要求時点でいずれかの上記キャッシュメモリにキャッシュングされているコンテンツの配信を優先させると共に、上記記憶装置から要求されたコンテンツを取出して配信する場合には、上記各キャッシュメモリにキャッシュされているコンテンツの見直しを実行するキャッシュコンテンツ見直し手段とを有し、
上記キャッシュコンテンツ見直し手段は、今回のコンテンツ配信要求に応じていずれかの上記コンテンツアクセス部が上記記憶装置から要求された該当コンテンツを取出すことにより、上記記憶装置の該当コンテンツの入出力負荷が第１の閾値を超える場合には、入出力負荷が最大なコンテンツを上記記憶装置から読み出して上記コンテンツアクセス部の上記キャッシュメモリにキャッシュングする
ことを特徴とする配信サーバ決定装置。
【請求項７】
複数のコンテンツを記憶している記憶装置を有するコンテンツ記憶サーバと、上記コンテンツ記憶サーバからコンテンツが配送されることがある、コンテンツをキャッシュングするキャッシュメモリを備えた１又は複数のコンテンツ配送先サーバと、コンテンツの配信ログを収集し、過去一定期間のログデータから人気コンテンツを予測し、人気コンテンツを上記各コンテンツ配送先サーバに配送する指示を上記コンテンツ記憶サーバに発して人気コンテンツを配送させるコンテンツ配送指示装置とを有し、クライアント端末からのコンテンツ配信要求に対し、上記コンテンツ記憶サーバ又はいずれかの上記コンテンツ配送先サーバから要求されたコンテンツを配信する分散型コンテンツ配信システムに設けられる配信サーバ決定装置による配信サーバ決定方法であって、
上記コンテンツ記憶サーバは、上記記憶装置をアクセスする、コンテンツをキャッシュングするキャッシュメモリを備えた１又は複数のコンテンツアクセス部を備え、上記各コンテンツアクセス部は上記記憶装置にアクセスしてコンテンツを配信できると共に、自己のキャッシュメモリからコンテンツを取出して配信できるものであり、
上記配信サーバ決定装置は、管理手段とキャッシュコンテンツ見直し手段とを有し、
上記管理手段は、上記各コンテンツ配送先サーバのキャッシュメモリにキャッシュングされているコンテンツ、上記各コンテンツアクセス部のキャッシュメモリにキャッシュングされているコンテンツ、上記記憶装置の各コンテンツのアクセス状況の情報を管理し、
上記キャッシュコンテンツ見直し手段は、コンテンツ配信要求が生じると、要求時点でいずれかの上記キャッシュメモリにキャッシュングされているコンテンツの配信を優先させると共に、上記記憶装置から要求されたコンテンツを取出して配信する場合には、上記各キャッシュメモリにキャッシュされているコンテンツの見直しを実行し、今回のコンテンツ配信要求に応じていずれかの上記コンテンツアクセス部が上記記憶装置から要求された該当コンテンツを取出すことにより、上記記憶装置の該当コンテンツの入出力負荷が第１の閾値を超える場合には、入出力負荷が最大なコンテンツを上記記憶装置から読み出して上記コンテンツアクセス部の上記キャッシュメモリにキャッシュングする
ことを特徴とする配信サーバ決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は分散型コンテンツ配信システム及び方法、並びに、配信サーバ決定装置及び方法に関し、例えば、分散型のビデオオンデマンドシステムに適用し得るものである。
【背景技術】
【０００２】
従来、分散型のビデオオンデマンドシステムは、配信先端末（以下、クライアントと呼ぶ）からの要求を受け付けるなど、中心的なサーバ（以下、センタサーバと呼ぶ）にかかる負荷を軽減するため、ローカルにキャッシュサーバ（以下、ローカルサーバと呼ぶ）を配置して、人気の高いコンテンツはローカルサーバから配信して、センタサーバに負荷が集中することを防ぎつつ、ユーザからのアクセス要求を消化できるようにしていた（特許文献１参照）。センタサーバに負荷が集中するとは、例えば、センタサーバにおけるビデオサーバ部に負荷が集中したり、ビデオサーバ部がコンテンツを読み出すＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）等のディスク装置に負荷が集中したりすることである。
【０００３】
コンテンツが配置されるローカルサーバがキャッシュサーバとして効果的に動作するように、人気の高いアクセス頻度の高いコンテンツをローカルサーバに配置するのが効果的である。このため、システム全体のコンテンツのアクセス状況を常に把握し、信用のおける人気情報を得るため、ある程度の長期間のコンテンツアクセス状況を蓄積し、その蓄積したアクセス状況データから今後のコンテンツのアクセス頻度を予測し、人気の高いコンテンツほどキャッシュサーバに配置する方法が効果的であると考えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２４５１１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、人気を高いコンテンツをキャッシュサーバとして機能するローカルサーバに配置する上述した方法は、以下のような課題を有するものであった。
【０００６】
ある一定期間のアクセス状況データから各地のローカルサーバ（キャッシュサーバ）に配置するコンテンツを決定して配置する場合、そのようなコンテンツは人気の高いコンテンツであるため、早急に各地のローカルサーバに配置することが望ましい。しかし、センタサーバと各ローカルサーバとの距離は遠いことが多く、ネットワークコストもその分高価であり、また、急に大量のコンテンツデータを配送すると、ネットワーク負荷が急に上昇し、配送元のセンタサーバにおけるディスク装置の入出力負荷（以下、ＩＯ負荷と呼ぶ）や、配送先の各地のローカルサーバにおけるディスク装置のＩＯ負荷も大きくなり、センタサーバ及びローカルサーバのビデオオンデマンドによる配信性能を劣化させることも生じる。
【０００７】
しかしながら、このような不都合を回避しようとすべく、サーバ間のコンテンツ配送をゆっくり行うと、アクセス頻度の高いコンテンツのため、配送中の期間においても、多くのユーザがアクセス要求を発し、キャッシュサーバが十分活用できず、結果的にセンタサーバの負荷を押し上げ、システム全体のビデオオンデマンド配信性能を劣化させる結果となる。
【０００８】
また、人気コンテンツを正確に把握するために、過去一定期間の全コンテンツの配信傾向（アクセス状況）のデータを収集しているが、この一定期間中に、アクセス頻度の高いコンテンツが急に出現しても、一定期間の全期間でそのコンテンツの高アクセスというデータを収集していないため、人気があることを見落とす恐れがある。人気が急に変化しても、それに速やかに対応することができない。
【０００９】
このような不都合を回避するために、データ収集期間を短くすると、収集したデータ量が少ないため、予測したコンテンツのアクセス頻度（人気度）の合致率が十分でないことも生じ、ローカルサーバ（キャッシュサーバ）にコンテンツを配送した後も、予想ほどそのコンテンツのアクセスが十分でなく、結果的にローカルサーバの効率が下がり、ローカルサーバに配送したこと（例えば、ネットワークコスト、ディスク装置の入出力コストなど）が無駄になるという結果を招くことも生じる。
【００１０】
本発明は、以上の点に鑑みてなされたものであり、コンテンツを当初格納しているサーバからキャッシュサーバとして機能するサーバへ配送させるコンテンツを適切に定めることができる、しかも、サーバ間のコンテンツ配送を、コンテンツの配信性能を劣化させることなくできる、分散型コンテンツ配信システム及び方法を提供しようとしたものであり、また、そのような分散型コンテンツ配信システムに必要となる装置及び方法（配信サーバ決定装置及び方法）を提供しようとしたものである。
【課題を解決するための手段】
【００１１】
第１の本発明は、複数のコンテンツを記憶している記憶装置を有するコンテンツ記憶サーバと、上記コンテンツ記憶サーバからコンテンツが配送されることがある、コンテンツをキャッシュングするキャッシュメモリを備えた１又は複数のコンテンツ配送先サーバとを有し、クライアント端末からのコンテンツ配信要求に対し、上記コンテンツ記憶サーバ又はいずれかの上記コンテンツ配送先サーバから要求されたコンテンツを配信する分散型コンテンツ配信システムにおいて、（１）当該分散型コンテンツ配信システムは、上記コンテンツ記憶サーバ及び上記各コンテンツ配送先サーバに加えて、（１−１）コンテンツの配信ログを収集し、過去一定期間のログデータから人気コンテンツを予測し、人気コンテンツを上記各コンテンツ配送先サーバに配送する指示を上記コンテンツ記憶サーバに発して人気コンテンツを配送させるコンテンツ配送指示装置と、（１−２）コンテンツ配信要求が生じる毎に、配信元及び配信方法を決定する配信サーバ決定装置とを有し、（２）上記コンテンツ記憶サーバは、上記記憶装置をアクセスする、コンテンツをキャッシュングするキャッシュメモリを備えた１又は複数のコンテンツアクセス部を備え、上記各コンテンツアクセス部は上記記憶装置にアクセスしてコンテンツを配信できると共に、自己のキャッシュメモリからコンテンツを取出して配信できるものであり、（３）上記配信サーバ決定装置は、（３−１）上記各コンテンツ配送先サーバのキャッシュメモリにキャッシュングされているコンテンツ、上記各コンテンツアクセス部のキャッシュメモリにキャッシュングされているコンテンツ、上記記憶装置の各コンテンツのアクセス状況の情報を管理している管理手段と、（３−２）コンテンツ配信要求が生じると、要求時点でいずれかの上記キャッシュメモリにキャッシュングされているコンテンツの配信を優先させると共に、上記記憶装置から要求されたコンテンツを取出して配信する場合には、上記各キャッシュメモリにキャッシュされているコンテンツの見直しを実行するキャッシュコンテンツ見直し手段とを有し、（３−３）上記キャッシュコンテンツ見直し手段は、今回のコンテンツ配信要求に応じていずれかの上記コンテンツアクセス部が上記記憶装置から要求された該当コンテンツを取出すことにより、上記記憶装置の該当コンテンツの入出力負荷が第
１の閾値を超える場合には、入出力負荷が最大なコンテンツを上記記憶装置から読み出して上記コンテンツアクセス部の上記キャッシュメモリにキャッシュングすることを特徴とする。
第２の本発明は、複数のコンテンツを記憶している記憶装置を有するコンテンツ記憶サーバと、上記コンテンツ記憶サーバからコンテンツが配送されることがある、コンテンツをキャッシュングするキャッシュメモリを備えた１又は複数のコンテンツ配送先サーバとを有し、クライアント端末からのコンテンツ配信要求に対し、上記コンテンツ記憶サーバ又はいずれかの上記コンテンツ配送先サーバから要求されたコンテンツを配信する分散型コンテンツ配信システムにおける分散型コンテンツ配信方法において、（１）上記分散型コンテンツ配信システムは、上記コンテンツ記憶サーバ及び上記各コンテンツ配送先サーバに加えて、コンテンツ配送指示装置と配信サーバ決定装置とを有し、（２）上記コンテンツ記憶サーバは、上記記憶装置をアクセスする、コンテンツをキャッシュングするキャッシュメモリを備えた１又は複数のコンテンツアクセス部を備え、上記各コンテンツアクセス部は上記記憶装置にアクセスしてコンテンツを配信できると共に、自己のキャッシュメモリからコンテンツを取出して配信できるものであり、（３）上記コンテンツ配送指示装置は、コンテンツの配信ログを収集し、過去一定期間のログデータから人気コンテンツを予測し、人気コンテンツを上記各コンテンツ配送先サーバに配送する指示を上記コンテンツ記憶サーバに発して人気コンテンツを配送させ、（４）上記配信サーバ決定装置は、コンテンツ配信要求が生じる毎に、配信元及び配信方法を決定するものであり、（４−１）上記配信サーバ決定装置の管理手段は、上記各コンテンツ配送先サーバのキャッシュメモリにキャッシュングされているコンテンツ、上記各コンテンツアクセス部のキャッシュメモリにキャッシュングされているコンテンツ、上記記憶装置の各コンテンツのアクセス状況の情報を管理し、（４−２）上記配信サーバ決定装置のキャッシュコンテンツ見直し手段は、コンテンツ配信要求が生じると、要求時点でいずれかの上記キャッシュメモリにキャッシュングされているコンテンツの配信を優先させると共に、上記記憶装置から要求されたコンテンツを取出して配信する場合には、上記各キャッシュメモリにキャッシュされているコンテンツの見直しを実行し、今回のコンテンツ配信要求に応じていずれかの上記コンテンツアクセス部が上記記憶装置から要求された該当コンテンツを取出すことによ
り、上記記憶装置の該当コンテンツの入出力負荷が第１の閾値を超える場合には、入出力負荷が最大なコンテンツを上記記憶装置から読み出して上記コンテンツアクセス部の上記キャッシュメモリにキャッシュングすることを特徴とする。
【００１２】
第３の本発明は、（１−１）複数のコンテンツを記憶している記憶装置を有するコンテンツ記憶サーバと、（１−２）上記コンテンツ記憶サーバからコンテンツが配送されることがある、コンテンツをキャッシュングするキャッシュメモリを備えた１又は複数のコンテンツ配送先サーバと、（１−３）コンテンツの配信ログを収集し、過去一定期間のログデータから人気コンテンツを予測し、人気コンテンツを上記各コンテンツ配送先サーバに配送する指示を上記コンテンツ記憶サーバに発して人気コンテンツを配送させるコンテンツ配送指示装置とを有し、（１−４）クライアント端末からのコンテンツ配信要求に対し、上記コンテンツ記憶サーバ又はいずれかの上記コンテンツ配送先サーバから要求されたコンテンツを配信する分散型コンテンツ配信システムに設けられる配信サーバ決定装置であって、（２）上記コンテンツ記憶サーバは、上記記憶装置をアクセスする、コンテンツをキャッシュングするキャッシュメモリを備えた１又は複数のコンテンツアクセス部を備え、上記各コンテンツアクセス部は上記記憶装置にアクセスしてコンテンツを配信できると共に、自己のキャッシュメモリからコンテンツを取出して配信できるものであり、（３）当該配信サーバ決定装置が、（３−１）上記各コンテンツ配送先サーバのキャッシュメモリにキャッシュングされているコンテンツ、上記各コンテンツアクセス部のキャッシュメモリにキャッシュングされているコンテンツ、上記記憶装置の各コンテンツのアクセス状況の情報を管理している管理手段と、（３−２）コンテンツ配信要求が生じると、要求時点でいずれかの上記キャッシュメモリにキャッシュングされているコンテンツの配信を優先させると共に、上記記憶装置から要求されたコンテンツを取出して配信する場合には、上記各キャッシュメモリにキャッシュされているコンテンツの見直しを実行するキャッシュコンテンツ見直し手段とを有し、（３−３）上記キャッシュコンテンツ見直し手段は、今回のコンテンツ配信要求に応じていずれかの上記コンテンツアクセス部が上記記憶装置から要求された該当コンテンツを取出すことにより、上記記憶装置の該当コンテンツの入出力負荷が第１の閾値を超える場合には、入出力負荷が最大なコンテンツを上記記憶装置から読み出して上記コンテンツアクセス部の上記キャッシュメモリにキャッシュングす
ることを特徴とする。
第４の本発明は、（１−１）複数のコンテンツを記憶している記憶装置を有するコンテンツ記憶サーバと、（１−２）上記コンテンツ記憶サーバからコンテンツが配送されることがある、コンテンツをキャッシュングするキャッシュメモリを備えた１又は複数のコンテンツ配送先サーバと、（１−３）コンテンツの配信ログを収集し、過去一定期間のログデータから人気コンテンツを予測し、人気コンテンツを上記各コンテンツ配送先サーバに配送する指示を上記コンテンツ記憶サーバに発して人気コンテンツを配送させるコンテンツ配送指示装置とを有し、（１−４）クライアント端末からのコンテンツ配信要求に対し、上記コンテンツ記憶サーバ又はいずれかの上記コンテンツ配送先サーバから要求されたコンテンツを配信する分散型コンテンツ配信システムに設けられる配信サーバ決定装置による配信サーバ決定方法であって、（２）上記コンテンツ記憶サーバは、上記記憶装置をアクセスする、コンテンツをキャッシュングするキャッシュメモリを備えた１又は複数のコンテンツアクセス部を備え、上記各コンテンツアクセス部は上記記憶装置にアクセスしてコンテンツを配信できると共に、自己のキャッシュメモリからコンテンツを取出して配信できるものであり、（３）上記配信サーバ決定装置は、管理手段とキャッシュコンテンツ見直し手段とを有し、（３−１）上記管理手段は、上記各コンテンツ配送先サーバのキャッシュメモリにキャッシュングされているコンテンツ、上記各コンテンツアクセス部のキャッシュメモリにキャッシュングされているコンテンツ、上記記憶装置の各コンテンツのアクセス状況の情報を管理し、（３−２）上記キャッシュコンテンツ見直し手段は、コンテンツ配信要求が生じると、要求時点でいずれかの上記キャッシュメモリにキャッシュングされているコンテンツの配信を優先させると共に、上記記憶装置から要求されたコンテンツを取出して配信する場合には、上記各キャッシュメモリにキャッシュされているコンテンツの見直しを実行し、今回のコンテンツ配信要求に応じていずれかの上記コンテンツアクセス部が上記記憶装置から要求された該当コンテンツを取出すことにより、上記記憶装置の該当コンテンツの入出力負荷が第１の閾値を超える場合には、入出力負荷が最大なコンテンツを上記記憶装置から読み出して上記コンテンツアクセス部の上記キャッシュ
メモリにキャッシュングすることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、コンテンツ記憶サーバからコンテンツ配送先サーバへ配送させるコンテンツを適切に定めることができる、しかも、サーバ間のコンテンツ配送を、コンテンツの配信性能を劣化させることなくできるようになる。
【図面の簡単な説明】
【００１４】
【図１】実施形態の分散型コンテンツ配信システムの全体構成を示すブロック図である。
【図２】実施形態のセンタサーバにおけるディスク負荷監視モジュールが監視しているディスク負荷などの監視情報の説明図である。
【図３】実施形態のセンタサーバが各部キャッシュを効率的に使用する動作の流れを示すフローチャートである。
【図４】実施形態のコンテンツ配送指示サーバの動作概要を示すフローチャートである。
【発明を実施するための形態】
【００１５】
（Ａ）主たる実施形態
以下、本発明による分散型コンテンツ配信システム及び方法、並びに、配信サーバ決定装置及び方法の一実施形態を、図面を参照しながら説明する。この実施形態の分散型コンテンツ配信システムは、分散型のビデオオンデマンドシステムであり、配信されるコンテンツはビデオ信号（映像信号だけであっても良く、映像信号及び音響信号の双方が含まれるものであっても良い）のコンテンツ（ビデオコンテンツ）である。
【００１６】
（Ａ−１）実施形態の構成
図１は、実施形態の分散型コンテンツ配信システム１の構成を示すブロック図である。なお、図１は、クライアントが送出したビデオオンデマンドの要求を受信するセンタサーバの構成については図示を省略している。
【００１７】
図１において、実施形態の分散型コンテンツ配信システム１は、センタエリアＣＡの構成要素と、１又は複数（図２では２つの場合を示している）のローカルエリアＬＡ１、ＬＡ２の構成要素と、センタエリアＣＡとローカルエリアＬＡ１、ＬＡ２との間に介在するネットワークＮＷとを有している。なお、センタエリアＣＡとローカルエリアＬＡ１との間に介在するネットワークと、センタエリアＣＡとローカルエリアＬＡ２との間に介在するネットワークとが異なっていても良いことは勿論である。
【００１８】
この実施形態において、センタエリアＣＡとは、センタサーバ１０を有するエリアである。センタサーバ１０には、コンテンツ配送指示サーバ１１が関連して設けられている。コンテンツの配信を受ける端末（例えば、セットトップボックスでなる）であるクライアントの中には、センタサーバ１０が送出したコンテンツがネットワークＮＷ−ＣＡを介して配信されるクライアントもあり、図１では、符号１２−１、１２−２、…で示している。
【００１９】
センタサーバ１０は、ＲＡＩＤ装置２０と、１又は複数（図１では２つの場合を示している）のビデオサーバ部２１−１、２１−２と、キャッシュ制御サーバ部２２とを有している。
【００２０】
ＲＡＩＤ装置２０は、コンテンツ（ビデオコンテンツ）を格納しているものであり、入出力部（ディスクＩＯ）が異なっていて独立にアクセス可能な１又は複数（図１では３つの場合を示している）のディスク２３−１、２３−２、２３−３を有する。
【００２１】
各ビデオサーバ部２１−１、２１−２はそれぞれ、ＲＡＩＤ装置２０から指示されたコンテンツを読み出すものであり、各ビデオサーバ部２１−１、２１−２とＲＡＩＤ装置２０との間は、ＦＣ、ＳＣＳＩ、ネットワークといった読み出し用の経路を介して接続されている。各ビデオサーバ部２１−１、２１−２はそれぞれ、キャッシュメモリ（以下、キャッシュと呼ぶことがある）２４−１、２４−２を有している。各キャッシュメモリ２４−１、２４−２はそれぞれ、高価なメモリ素子を使用して構成されているため、メモリ容量が制限され、同時に多数のコンテンツをキャッシュすることは困難なものである。
【００２２】
各ビデオサーバ部２１−１、２１−２はそれぞれ、コンテンツ配送指示サーバ１１及びキャッシュ制御サーバ部２２とは、例えば、制御バスを介して接続されており、この制御バスを介して、コンテンツの配送や配信が指示されるものである。ここで、「コンテンツの配送」とは、ローカルエリアＬＡ１、ＬＡ２内の後述するキャッシュサーバへコンテンツを送出することを言い、「コンテンツの配信」とは、クライアントへコンテンツを送出することを言う。
【００２３】
キャッシュ制御サーバ部２２は、ディスク負荷監視モジュール２５、キャッシュコンテンツ選択モジュール２６、ビデオサーバ割振モジュール２７を有し、これらモジュール２５〜２７は主としてプログラム及びその実行構成で構築されている。ディスク負荷監視モジュール２５は、ＲＡＩＤ装置２０の全ディスク２３−１〜２３−３の負荷を監視するためのモジュールである。キャッシュコンテンツ選択モジュール２６は、ビデオサーバ部２１−１、２１−２が内部のキャッシュ２４−１、２４−２に格納する（キャッシュする）コンテンツを選択してビデオサーバ部２１−１、２１−２に伝達するためのモジュールである。ビデオサーバ割振モジュール２７は、コンテンツの配信をビデオサーバ部２１−１、２１−２に割り振るためのモジュールである。
【００２４】
図２は、ディスク負荷監視モジュール２５が監視しているディスク負荷などの監視情報の構造を示す説明図である。図２は、ＲＡＩＤ装置２０のディスクの数が図１に示すように３個で、センタサーバ１０に設けられているビデオサーバ部の数が図１に示すように２個の場合を示しているが、ディスクの数やビデオサーバ部の数の他の組み合わせの場合にも、同様な構造で監視情報が監視されている。なお、図２に示す監視情報は、ディスク負荷監視モジュール２５に内蔵されて記憶されていても良く、ディスク負荷監視モジュール２５の外部の記憶部に記憶されているものであっても良い。
【００２５】
図２において、監視情報は、各ディスク２３−１、…、２３−３のディスク名ＤＩＳＣ＃１、ＤＩＳＣ＃２、ＤＩＳＣ＃３に対応付けられて、コンテンツ名、各ビデオサーバ部から配信されている各コンテンツの本数、現時点の総入出力レート（総ＩＯレート）、限界入出力レート（限界ＩＯレート）が記述されている。限界入出力レートは、そのディスクに新たな入出力を許容できるか否かを切り分ける閾値となっている。
【００２６】
例えば、ディスク名が「ＤＩＳＣ＃１」であるＲＡＩＤ装置２０のディスク２３−１には、コンテンツ名が「ＣＮＴ＃１」〜「ＣＮＴ＃（Ｎ−１）」のコンテンツが記録されている。これらコンテンツのうち、コンテンツ名が「ＣＮＴ＃１」のコンテンツは、現在、ビデオサーバ部２１−１からはＸ１本、ビデオサーバ部２１−２からはＹ１本が配信され、コンテンツ名が「ＣＮＴ＃２」のコンテンツは、現在、ビデオサーバ部２１−１からはＸ２本、ビデオサーバ部２１−２からはＹ２本が配信されている。ディスク名が「ＤＩＳＣ＃１」のディスク２３−１の現時点における総入出力レートはＲ１であり、その限界入出力レートはＴＨＲ１になっている。
【００２７】
ここで、ビデオサーバ部から配信されているコンテンツの本数が「キャッシュされていないことを表すコード」になっている欄は、そのビデオサーバ部のキャッシュにそのコンテンツがキャッシュされていないことを意味し、「０本」と記述されている欄は、ビデオサーバ部のキャッシュにそのコンテンツがキャッシュされているが配送中のコンテンツがないことを意味する。ここで、キャッシュされているか否かを表す欄と、配送中本数を表す欄とを別個に設けるようにしても良い。
【００２８】
なお、図２では省略しているが、そのコンテンツをディスクから１つ読み出した場合に増加する入出力レートの増分も監視情報には含まれている。若しくは、そのコンテンツをディスクから１つ読み出した場合に増加する入出力レートの計算式が規定されている。
【００２９】
キャッシュコンテンツ選択モジュール２６は、ビデオサーバ部２１−１、２１−２が内部のキャッシュ２４−１、２４−２にどのようなコンテンツを格納しているかの情報を管理している。なお、図２では、省略しているが、キャッシュ制御サーバ部２２には、後述するキャッシュサーバ３０−１、３０−２のキャッシュ３１−１、３１−２にどのようなコンテンツが格納されているかの情報を管理している機能部も存在している。
【００３０】
各ローカルエリアＬＡ１、ＬＡ２は同様な構成を有している。図１では、ローカルエリアＬＡ１について詳細構成を示しているが、ローカルエリアＬＡ２についても同様な詳細構成を有する。以下では、ローカルエリアＬＡ１を例にローカルエリアの構成を説明する。
【００３１】
ここで、ローカルエリアＬＡ１とは、センタサーバ１０におけるＲＡＩＤ装置２０に格納されているコンテンツが与えられてそれを格納する（キャッシュする）ローカルサーバ（以下、キャッシュサーバと呼ぶ）３０−１を有するエリアを言う。キャッシュサーバ３０−１には、キャッシュメモリ（以下、キャッシュと呼ぶことがある）３１−１が設けられている。キャッシュサーバ３０−１のキャッシュ３１−１は、ビデオサーバ部２１−１、２１−２のキャッシュ２４−１、２４−２より、多くのコンテンツをキャッシュ可能となされている。センタエリアＣＡとローカルエリアＬＡ１との間に介在するネットワークＮＷを経由することなく、キャッシュサーバ３０−１が収容されているネットワークＮＷ−ＬＡ１を介して、キャッシュサーバ３０−１から配信可能なクライアント３２−１−１、３２−２−１、…はローカルエリアＬＡ１の構成要素と見ることもできる。
【００３２】
この実施形態の場合、ローカルエリアＬＡ１内のクライアント３２−１−１、３２−２−１、…には、センタサーバ１０から、ネットワークＮＷ及びＮＷ−ＬＡ１を介して、コンテンツが配信されることもあれば、自己が属するローカルエリアＬＡ１内のキャッシュサーバ３０−１から、ネットワークＮＷ−ＬＡ１を介して、コンテンツが配信されることもある。
【００３３】
なお、図１では省略しているが、以下の説明において、必要ならば、ローカルエリアＬＡ２におけるキャッシュサーバ、キャッシュメモリ、クライアントに対して、符号３０−２、３１−２、３２−１−２、３２−２−２、…を付与して呼ぶこととする。
【００３４】
また、図１では省略しているが、センタサーバ１０には、各クライアントの情報も管理されている。例えば、どのエリア（センタエリアＣＡ、ローカルエリアＬＡ１、ローカルエリアＬＡ２）に在圏しているかを表す情報、配信要求時の認証用情報、配信が認められているコンテンツ名、現在配信されているコンテンツの情報なども管理している。
【００３５】
コンテンツ配送指示サーバ１１は、全コンテンツの配信ログをセンタサーバ１０側から随時収集し、過去一定期間のログデータから計算して、今後、一定期間の人気コンテンツを予測し、人気度の高いコンテンツから順に各ローカルエリアＬＡ１、ＬＡ２のキャッシュサーバ３０−１、３０−２にセンタサーバ１０から配送する指示を出すものである。
【００３６】
（Ａ−２）実施形態の動作
次に、実施形態の分散型コンテンツ配信システム１における動作を説明する。以下では、コンテンツ配信要求に応じた配信・配送動作、コンテンツ人気度に応じた配送動作の順に動作を説明する。
【００３７】
コンテンツ配信要求に応じた配信・配送動作の概要は、以下の通りである。クライアントからのコンテンツ配信要求はセンタサーバ１０（なお、センタエリアＣＡに要求受け付け用のサーバをセンタサーバ１０の他に設けるようにしても良い）に与えられ、このとき、要求されたコンテンツを配置しているビデオサーバ部があれば、そのビデオサーバ部からクライアントに対してコンテンツを配信することを基本とするが、コスト（ネットワーク負荷や入出力負荷などを考慮した評価値）のバランスによっては、ローカルエリアにリアルタイムでコンテンツを配送して、そこからクライアントにコンテンツを配信させることも行う。すなわち、この実施形態は、コンテンツ配信要求が生じる毎に、ローカルエリアへ配送させる条件が成立しているかを確認することを特徴としており、また、成立しているときに、ローカルエリアにリアルタイムでコンテンツを配送してそこからクライアントにコンテンツを配信させることを特徴としている。
【００３８】
図３は、実施形態の分散型コンテンツ配信システム１のセンタサーバ１０が各部のキャッシュ２４−１、２４−２、３１−１、３１−２を効率的に使用する動作の流れを示すフローチャートである。なお、図３において、「本コンテンツ」の用語はクライアントから要求されたコンテンツ及びそれと同じコンテンツ（要求されているか否かを問わない）を表している。
【００３９】
センタサーバ１０は、いずれかのクライアントがコンテンツ配信要求を発行し、センタサーバ１０から配信することを要するときには、図３の一連の処理を開始する（ステップＳ１）。なお、例えば、ローカルエリアＬＡ１のクライアント３２−１−１がコンテンツ配信要求を発行し、要求されたコンテンツがそのローカルエリアＬＡ１のキャッシュサーバ３０−１に既に配送されていてキャッシュ３１−１に既に格納されている場合には、そのキャッシュサーバ３０−１から配信されることとなり、図３は、このような場合の記載を省略している。他のローカルエリアＬＡ２についても同様である。また、ステップＳ２以降の処理に移行するためには、予め、クライアントの認証や、そのクライアントへ要求されたコンテンツを配信しても良いことの確認などが実行される。
【００４０】
いずれかのクライアントからコンテンツ配信要求が与えられると、センタサーバ１０のキャッシュコンテンツ選択モジュール２１は、ディスク負荷監視モジュール２５が管理している上述した図２に示す監視情報に基づき、要求されたコンテンツを既にキャッシュして配信しているビデオサーバ部があるか否かを判別する（ステップＳ２）。
【００４１】
要求されたコンテンツを既にキャッシュして配信しているビデオサーバ部があれば、そのビデオサーバ部から、要求したクライアントに要求したコンテンツを配信させ（ステップＳ３）、次のコンテンツ配信要求の待機状態に戻る（既に受信していてバッファから取出すことを待っていることもあり得る）。なお、要求されたコンテンツを既にキャッシュして配信しているビデオサーバ部が複数ある場合には、ビデオサーバ割振モジュール２７によって、所定の決定ルールに従い、配信させるビデオサーバ部を決定させる。例えば、要求されたコンテンツの配送中の本数が少ない方のビデオサーバ部を、配信させるビデオサーバ部に決定する。
【００４２】
このように、キャッシュしているビデオサーバ部からの配信を優先させることにより、そのコンテンツを格納しているＲＡＩＤ装置３のディスクに対して、追加の入出力負荷を掛けることはない。
【００４３】
要求されたコンテンツをキャッシュして配信しているビデオサーバ部が１つもなければ、ディスク負荷監視モジュール２５は、図２に示す監視情報を参照し、要求されたコンテンツをＲＡＩＤ装置２０の該当するディスクから新たにリードすると仮定した場合に、そのディスクの入出力負荷が限界（閾値）を超えるか否かを判別する（ステップＳ４）。例えば、要求されたコンテンツのコンテンツ名が「ＣＮＴ＃１」であったとする。このコンテンツは、ディスク名が「ＤＩＳＣ＃１」のディスク２３−１に格納されているので、このディスク２３−１の現時点における総入出力レートはＲ１に、コンテンツ名が「ＣＮＴ＃１」のコンテンツのリードを１つ増やした場合の入出力レートの増分を加算し、この加算後の入出力レートと、限界入出力レート（閾値）との大小比較により、ステップＳ４の判別を行う。
【００４４】
新たにコンテンツのリードを増やしても限界入出力レートを超えない場合には、ビデオサーバ割振モジュール２７が、要求されたコンテンツをＲＡＩＤ装置２０（の該当するディスク）からリードして要求したクライアントに配信するビデオサーバ部を決定し、そのビデオサーバ部から要求されたコンテンツを要求したクライアントに配信させ（ステップＳ５）、コンテンツ配信要求の待機状態に戻る。ビデオサーバ割振モジュール２７は、例えば、その時点で最も配信本数が少ないビデオサーバ部を、要求されたコンテンツを配信するものに決定する。
【００４５】
一方、新たにコンテンツのリードを増やすと限界入出力（閾値）を超える場合には、キャッシュ制御サーバ部２２は、要求されたコンテンツが格納されているディスクのコンテンツの中から、いずれかのビデオサーバ部のキャッシュにもキャッシュされていないものであって、しかも、最もディスクに負荷を掛けているコンテンツを探索し、探索されたコンテンツを、いずれかのビデオサーバ部のキャッシュにコピーし、探索されたコンテンツをそのビデオサーバ部のキャッシュから配信させる（ステップＳ６）。「最もディスクに負荷を掛けているコンテンツ」とは、例えば、そのディスクからの総リードレート（例えばリード本数）が最も高いコンテンツであり、負荷が低いコンテンツより人気が高いコンテンツであるということができる。探索されたコンテンツをキャッシュするビデオサーバ部の決定は、ビデオサーバ割振モジュール２７が実行する。このステップＳ６におけるキャッシュからの配信は、今回の要求元のクライアントへの配信ではなく、既に配信中であったクライアントへの継続配信である。既に配信中であったクライアントへの配信元の記憶部が、ディスクからキャッシュへ変化したに過ぎない。ステップＳ６の処理による、探索されたコンテンツの配信元記憶部の変化（ディスクからキャッシュへの変化）により、そのディスクの入出力負荷は減少する。
【００４６】
ステップＳ６の処理が終了すると、キャッシュ制御サーバ部２２は、ビデオサーバ部のキャッシュにコピーされたコンテンツと、今回要求されているコンテンツとが同一か否かを判別する（ステップＳ７）。
【００４７】
同一コンテンツならば、キャッシュ制御サーバ部２２は、そのコンテンツがキャッシュされたばかりのビデオサーバ部から、要求したクライアントに要求したコンテンツを配信させ（ステップＳ８）、コンテンツ配信要求の待機状態に戻る。
【００４８】
これに対して、ビデオサーバ部のキャッシュにコピーされたコンテンツと、今回要求されているコンテンツとが異なる場合には、キャッシュ制御サーバ部２２は、図２に示す監視情報を参照して、要求されているコンテンツを現時点で最も多く配信しているビデオサーバ部を認識し、そのビデオサーバ部に該当するディスクからのリードを実行させながら、要求したクライアントに要求したコンテンツを配信させる（ステップＳ９）。このステップＳ９の処理によっては、そのディスクの入出力負荷は増大することになる。
【００４９】
その後、キャッシュ制御サーバ部２２は、図２に示す監視情報を参照しながら、このような配信によって、要求されたコンテンツ（と同一のコンテンツ）が、ＲＡＩＤ装置２０の該当するディスクに掛ける負荷が、そのディスクに記憶されているコンテンツの中で最も負荷の高いコンテンツになったか否かを判別する（ステップＳ１０）。ここで、最も負荷が高いコンテンツは、配信数が多いことを表しており、そのコンテンツは人気があることを意味する。後述するように、コンテンツ配送指示サーバ１１は所定周期で人気コンテンツを把握し、人気コンテンツはキャッシュサーバ３０−１、３０−２にキャッシュングされる。しかし、前回の処理時に人気コンテンツと把握されなければ通常のコンテンツとしてセンタサーバ１０からの配信が前提となるが、ディスクの負荷を捉えることで、その後の人気変化を捉えることもできる。
【００５０】
最も負荷の高いコンテンツになっていなければ、キャッシュ制御サーバ部２２は、ＲＡＩＤ装置２０の該当するディスクからリードしながらの各種コンテンツの配信や、ビデオサーバ部のキャッシュからのコンテンツの配信をそのまま継続させ（ステップＳ１１）、コンテンツ配信要求の待機状態に戻る。
【００５１】
これに対して、最も負荷の高いコンテンツになったならば、キャッシュ制御サーバ部２２のディスク負荷監視モジュール２５は、図２の監視情報を参照しながら、そのコンテンツをリードしているビデオサーバ部において現時点でキャッシングしているコンテンツをキャッシュから出し、代わりにＲＡＩＤ装置２０の該当するディスクからリードするようにしたと仮定した場合に、該当するディスクの入出力レートの閾値を超えることになるか否かを判別する（ステップＳ１２）。
【００５２】
該当するディスクの入出力レートの閾値を超えない場合には、キャッシュ制御サーバ部２２は、ＲＡＩＤ装置２０の該当するディスクからリードしながらの各種コンテンツの配信や、ビデオサーバ部のキャッシュからのコンテンツの配信をそのまま継続させ（ステップＳ１１）、コンテンツ配信要求の待機状態に戻る。
【００５３】
これに対して、ステップＳ１２の判別により、該当するディスクの入出力レートの閾値を超えるという結果が得られた場合には、キャッシュ制御サーバ部２２は、要求されたコンテンツと同一のコンテンツの配信を、ローカルエリアＬＡ１、ＬＡ２のキャッシュサーバ３０−１、３０−２から行う場合のコストＣ２と、センタサーバ１０から行う場合のコストＣ１とを比較する（ステップＳ１３）。例えば、現時点で、各ローカルエリアＬＡ１、ＬＡ２でそのコンテンツの配信を受けているクライアントの数から、このまま、センタエリアＣＡのいずれかのビデオサーバ部から、ローカルエリアＬＡ１、ＬＡ２のクライアントに対して配信するネットワークのコストＣＴ１と、ローカルエリアＬＡ１、ＬＡ２のキャッシュサーバ３０−１、３０−２に本コンテンツを配送する際のネットワークのコストＣＴａと配送元におけるディスク入出力負荷のコストＣＴｂと配送先におけるディスク入出力負荷のコストＣＴｃの総和Ｃ２（＝ＣＴａ＋ＣＴｂ＋ＣＴｃ）とを比較する。すなわち、この例では、キャッシュサーバ３０−１、３０−２からの配信コストとセンタサーバ１０からの配信コストとの比較を、センタサーバ１０から配信する場合のコストと、センタサーバ１０からキャッシュサーバ３０−１、３０−２へ配送する場合のコストとの比較により行っている。
【００５４】
ローカルエリアＬＡ１、ＬＡ２のキャッシュサーバ３０−１、３０−２に本コンテンツを配送した上でキャッシュサーバから配信させる方のコストが低ければ（等しい場合を含んでも良い）、キャッシュ制御サーバ部２２は、ローカルエリアＬＡ１、ＬＡ２のキャッシュサーバ３０−１、３０−２に本コンテンツを配送させ、以降、ローカルエリアＬＡ１、ＬＡ２のクライアント３２−１−１、３０−２−１、…、３２−１−２、３０−２−２、…に対しては、ローカルエリアＬＡ１、ＬＡ２のキャッシュサーバ３０−１、３０−２から配信させるように設定し（ステップＳ１４）、その後、上述したステップＳ１０に戻る。
【００５５】
このステップＳ１４により、ビデオサーバ部にキャッシングされているコンテンツが高頻度でアクセスされるものである場合に、そのアクセスの一部をキャッシュサーバ側で移すことができる。また、ステップＳ１０に戻ることは、ビデオサーバ部にキャッシングされているコンテンツの中に、アクセスが高頻度のものがさらにあるか（残っているか）の判別を行うことになる。
【００５６】
一方、ステップＳ１３の判別により、ローカルエリアＬＡ１、ＬＡ２のキャッシュサーバ３０−１、３０−２に本コンテンツを配送した上でキャッシュサーバから配信させる方のコストが高い（等しい場合を含んでも良い）という結果を得ると、キャッシュ制御サーバ部２２は、要求されたコンテンツの配信に機能するビデオサーバ部に、現時点でキャッシングされているコンテンツをキャッシュから出し（キャッシュから消去し）、そのコンテンツについては、これ以降、ＲＡＩＤ装置２０の該当するディスクからリードして今までの配信中のクライアントに配信させることとすると共に、要求されたコンテンツをＲＡＩＤ装置２０の該当するディスクからリードしてビデオサーバ部のキャッシュに入れ、このコンテンツの配信先のクライアント（要求元クライアントを含む）への継続配信はキャッシュからの配信に移行させ（ステップＳ１５）、コンテンツ配信要求の待機状態に戻る。
【００５７】
ステップＳ１５の処理は、今回のコンテンツ配信要求によって、要求されたコンテンツと同一コンテンツのディスクアクセスが高頻度になり、現時点でキャッシュされているコンテンツよりキャッシングが好ましいものとなったので、キャッシュングしているコンテンツを切り替える処理になっている。
【００５８】
次に、コンテンツ人気度に応じた配送動作を説明する。このコンテンツ人気度に応じた配送動作は、コンテンツ配送指示サーバ１１による配送コンテンツの決定動作から実行される。
【００５９】
図４は、コンテンツ配送指示サーバ１１の動作の概要を示すフローチャートである。
【００６０】
コンテンツ配送指示サーバ１１は、全コンテンツの配信ログを随時収集し（ステップＳ２０）、過去一定期間のログデータが得られたときに、今後一定期間の人気コンテンツを予測する（ステップＳ２１、Ｓ２２）。人気コンテンツの予測方法は任意の方法を適用して構わない。例えば、各コンテンツにつて、過去一定期間を複数に等分したサブ期間毎のアクセス（配信要求）数を求め、サブ期間毎のアクセス数から、アクセス数の変化曲線を求め、その変化曲線を適用して、今後一定期間のアクセス数を推定し、その推定アクセス数を、人気があるか否かの判別用閾値と比較することにより、人気コンテンツを予測する。また例えば、上述したようにして求めた推定アクセス数が上位である所定数のコンテンツを人気コンテンツとして捉えるようにしても良い。さらに、判別用閾値を超えているコンテンツの中でも、超えている度合いが大きい所定数を人気コンテンツとして捉えるようにしても良い。
【００６１】
コンテンツ配送指示サーバ１１は、新たな人気コンテンツが予測できたときには（人気コンテンツとして予測されたことが初めてのコンテンツが生じたときには）、センタサーバ１０へ、人気コンテンツをローカルエリアＬＡ１、ＬＡ２のキャッシュサーバ３０−１、３０−２に配送することを指示する（ステップＳ２３）。ここで、新たな人気コンテンツが複数存在する場合には、人気が高いコンテンツの配送から指示する。
【００６２】
また、コンテンツ配送指示サーバ１１は、今回、人気コンテンツと予測できなかったコンテンツのうち、過去に人気コンテンツと予測されてキャッシュサーバ３０−１、３０−２にキャッシュされているが、今回及び過去の予測結果からキャッシングに不向きになったコンテンツがあれば、センタサーバ１０へ、ローカルエリアＬＡ１、ＬＡ２のキャッシュサーバ３０−１、３０−２からそのコンテンツをキャッシュングすることを取り止めることを指示し（ステップＳ２４）、配信ログの収集処理に戻る。例えば、人気コンテンツと予測されないことが所定回数連続した場合に、キャッシュングを取り止めることに決定する。
【００６３】
センタサーバ１０は、配送指示を受けた新たな人気コンテンツを各キャッシュサーバ３０−１、３０−２に配送し、キャッシュサーバ３０−１、３０−２のキャッシュ３１−１、３１−２へキャッシュさせる。ローカルエリアに属するクライアントからの配信要求が、クライアントが在圏するキャッシュサーバ３０−１、３０−２にキャッシュされている人気コンテンツの場合には、キャッシュサーバ３０−１、３０−２からそのクライアントに配信される。
【００６４】
また、センタサーバ１０は、キャッシュング取止指示を受けたコンテンツのキャッシュ３１−１、３１−２からの消去を各キャッシュサーバ３０−１、３０−２に指令し、キャッシュサーバ３０−１、３０−２のキャッシュ３１−１、３１−２から消去させる。このようなコンテンツは、センタサーバ１０が配信を行うことになる。
【００６５】
以上のように、人気コンテンツをキャッシュサーバ３０−１、３０−２にキャッシュングし、同一ローカルエリアに在圏するクライアントからの配信要求に対しては、キャッシュサーバから配信するようにすると、システム全体の配信性能が向上するようになる。
【００６６】
（Ａ−３）実施形態の効果
実施形態の分散型コンテンツ配信システム１によれば、以下の効果を奏することができる。
【００６７】
ＲＡＩＤ装置２０のディスクをアクセスするビデオサーバ部２１−１、２１−２にキャッシュ２４−１、２４−２を設け、ローカルのキャッシュサーバ３０−１、３０−２が対応しない、コンテンツ配信要求が生じる毎に、ビデオサーバ部２１−１、２１−２のキャッシュ２４−１、２４−２から取出して配信する、ＲＡＩＤ装置２０から取出して配信する、キャッシュ２４−１、２４−２にキャッシュングした上でキャッシュ２４−１、２４−２から取出して配信する、キャッシュサーバ３０−１、３０−２に配送した上でキャッシュサーバ３０−１、３０−２から配信するなど、ディスクの入出力性能を考慮して、要求元のクライアントだけでなく配信中のクライアントへの配信元装置や配信方法を動的に決定するようにしたので、ディスクの入出力性能の限界が超えて、クライアントの要求を処理できなくなるような事態を未然に防止することができる。
【００６８】
例えば、コンテンツ配送指示サーバ１１が人気コンテンツと予測する前に、急激に、そのコンテンツの配信要求が頻発しても、配信要求が生じる毎に、配信元装置や配信方法を動的に決定しているため、ディスクからの取出しで配信していた状況において、配信要求の頻発によって、ディスクの入出力性能の限界が超えるような事態になりそうならば、ビデオサーバ部のキャッシュにキャッシュングした上でキャッシュから取出して配信するように切替え、その際に既にキャッシュングされていた他のコンテンツについては場合によりキャッシュサーバに配送した上でキャッシュサーバから配信するように変化させたので、ディスクの入出力性能の限界が超えるような事態を回避でき、クライアントの配信要求を処理できなくなる事態を防ぐことができる。
【００６９】
また、上述したように、コンテンツ配信要求が生じる毎に、クライアントへの配信元装置や配信方法を動的に決定するようにしたので、コンテンツ配送指示サーバ１１が人気コンテンツを見直す前に、人気コンテンツの傾向が大きく変動したとしても、それに応じて、配信元装置や配信方法を決定でき、人気コンテンツの変動時におけるシステム全体の配信性能を向上させることができる。
【００７０】
ここで、急激に人気が高まったコンテンツに対し、センタサーバにおけるビデオサーバ部のキャッシュから配信した際のコストと、キャッシュサーバから配信する場合とのコストを比較して、配信元装置を選択するようにしたので、システム全体のネットワークコストとディスクの入出力コストなどの総コストを低減することができる。
【００７１】
（Ｂ）他の実施形態
上記実施形態においては、センタサーバが１つのものを示したが、センタサーバが複数あっても良い。この場合、コンテンツを重複することなく割り振るようにすれば良い。あるセンタサーバがあるコンテンツを記憶しているディスクを有する場合、他のセンタサーバのセンタエリアはそのコンテンツについてはローカルエリアとなり、実施形態で説明したキャッシュサーバとして機能するサーバを設けるようにすれば良い。
【００７２】
上記実施形態においては、大容量記憶装置がＲＡＩＤ装置であるものを示したが、大容量記憶装置はＲＡＩＤ装置に限定されるものではなく、その構成要素もディスクに限定されない。磁気テープや半導体メモリを全て又は部分的に利用したものであっても良い。
【００７３】
上記実施形態では、ステップＳ６において、要求されたコンテンツが格納されているディスクのコンテンツの中から、いずれかのビデオサーバ部のキャッシュにもキャッシュされていないものであって、しかも、最もディスクに負荷を掛けているコンテンツを探索し、探索されたコンテンツを、いずれかのビデオサーバ部のキャッシュにコピーするようにしたが、探索されたコンテンツの負荷（最も大きな負荷）が閾値を超えているかを確認し、超えている場合にのみ、探索されたコンテンツを、いずれかのビデオサーバ部のキャッシュにコピーするようにし、超えていない場合には、ステップＳ５に移行するようにしても良い。
【００７４】
上記実施形態では、ステップＳ１０において、最も入出力負荷の高いコンテンツになったかを判別するものを示したが、上位所定順位以内の入出力負荷のコンテンツになったかを判別するようにしても良く、また、順位ではなく、入出力負荷が予め定められている閾値以上のコンテンツになったかを判別するようにしても良い。
【００７５】
上記実施形態においては、ステップＳ１２で肯定結果が得られたときに、ステップＳ１３のセンタサーバからの配信コストと、ローカルのキャッシュサーバからの配信コストとの相対比較を行うものを示したが、ステップＳ１２を省略し、ステップＳ１１で肯定結果を得た場合に、直ちにステップＳ１３へ移行するようにしても良い。すなわち、ビデオサーバ部にその時点でキャッシュされているコンテンツのリード時の負荷を確認しないようにしても良い。若しくは、ステップＳ１３からステップＳ１５へ移行する際に、ステップＳ１５の処理の前に、ステップＳ１２のようなビデオサーバ部にその時点でキャッシュされているコンテンツのリード時の負荷を確認するようにしても良い。
【００７６】
上記実施形態においては、コンテンツ配送指示サーバ１１が、エリアを区別することなく、人気コンテンツを把握するものを示したが、人気コンテンツの把握をローカルエリア単位に行うようにしても良い。
【００７７】
同様に、ステップＳ１３のコスト比較も、ローカルエリア単位に行うようにしても良い。例えば、この場合、全てのローカルエリアについてセンタ側でのコストが低いときにステップＳ１５に移行し、ステップＳ１４への移行は、ローカル側のコストが低いローカルエリアについてのみ行うようにすれば良い。
【００７８】
上記実施形態においては、コンテンツがビデオコンテンツの場合を示したが、コンテンツはビデオコンテンツに限定されるものではない。
【００７９】
上記実施形態においては、センタサーバ内に、配送サーバ決定装置として機能するキャッシュ制御サーバ部が設けられたものを示したが、配送サーバ決定装置がセンタサーバ外に設けられたものであっても良い。
【００８０】
上記実施形態において、「サーバ」や「サーバ部」と表現した部分は１つの物理的なサーバで構成されている場合に限られず、複数の物理的なサーバで構成されていても良い。
【符号の説明】
【００８１】
１…分散型コンテンツ配信システム、
ＣＡ…センタエリア、
１０…センタサーバ、
２０…ＲＡＩＤ装置、２１−１、２１−２…ビデオサーバ部、
２２…キャッシュ制御サーバ部、２３−１、２３−２、２３−３…ディスク、
２４−１、２４−２…キャッシュメモリ（キャッシュ）、
２５…ディスク負荷監視モジュール、２６…キャッシュコンテンツ選択モジュール、
２７…ビデオサーバ割振モジュール
１１…コンテンツ配送指示サーバ
１２−１、１２−２、…クライアント、
ＬＡ１、ＬＡ２…ローカルエリア、
３０−１、３０−２…キャッシュサーバ、
３１−１、３１−２…キャッシュメモリ（キャッシュ）、
３２−１−１、３２−２−１、３２−１−２、３２−２−２、…クライアント。
【図１】
0005593732.tif 000002
【図２】
0005593732.tif 000003
【図３】
0005593732.tif 000004
【図４】
0005593732.tif 000005