(57)【要約】【課題】  ローカルサーバのコンテンツ配信に悪影響を与えることなく、ローカルサーバへコンテンツをコピーすることができる分散型コンテンツ配信システムを提供する。【解決手段】  本発明の分散型コンテンツ配信システムは、クライアント端末へコンテンツを配信可能な複数のローカルサーバと、各ローカルサーバに各種コンテンツをコピーして提供すると共に、クライアント端末に配信させるローカルサーバを決定するセンタサーバとを有する。センタサーバは、各ローカルサーバマシンにおける各リソースの負荷情報を監視する手段と、各ローカルサーバマシンにおける各リソースの負荷情報に応じ、各ローカルサーバ毎に、少なくとも同時コピーするコンテンツ数を定めて、コピースケジュールを作成する手段と、作成されたコピースケジュールに従って、各ローカルサーバへの各種コンテンツのコピーを実行する手段とを有する。【選択図】      図１
2009237918.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末へコンテンツを配信可能な複数のローカルサーバと、各ローカルサーバに、各種のコンテンツをコピーして提供すると共に、クライアント端末に対して、配信すべきコンテンツをどのローカルサーバから配信させるかを決定するセンタサーバとを有する分散型コンテンツ配信システムにおいて、
上記センタサーバが、
上記各ローカルサーバのマシンにおける各リソースの負荷情報を監視するマシン負荷監視手段と、
上記マシン負荷監視手段が取得した上記各ローカルサーバのマシンにおける各リソースの負荷情報に応じ、上記各ローカルサーバ毎に、少なくとも、同時コピーするコンテンツ数を定めて、コピースケジュールを作成するコピースケジュール決定手段と、
上記コピースケジュール決定手段が、上記各ローカルサーバ毎に作成したコピースケジュールに従って、上記各ローカルサーバへの各種コンテンツのコピーを実行するコンテンツコピー実行手段とを有する
ことを特徴とする分散型コンテンツ配信システム。
【請求項２】
上記コピースケジュール決定手段は、同時コピーするコンテンツ数が所定数の場合には、コピースピードをも決定するものであり、
上記コンテンツコピー実行手段によるコピーのスピードが、決定されたコピースピードになるように調整するコピースピード調整手段を、上記センタサーバがさらに備える
ことを特徴とする請求項１に記載の分散型コンテンツ配信システム。
【請求項３】
上記コピースケジュール決定手段は、コピーを起動した後であって、上記マシン負荷監視手段が監視している各リソースの負荷情報が更新されたときに、コピースケジュールの見直しを実行することを特徴とする請求項１又は２に記載の分散型コンテンツ配信システム。
【請求項４】
上記センタサーバは、いずれかのクライアント端末からコンテンツ要求が与えられたときに、上記マシン負荷監視手段が取得した上記各ローカルサーバのマシンにおける各リソースの負荷情報に応じ、負荷状態に余裕があるローカルサーバを配信元のローカルサーバに決定する配信サーバ決定手段をさらに備えることを特徴とする請求項１〜３のいずれかに記載の分散型コンテンツ配信システム。
【請求項５】
クライアント端末へコンテンツを配信可能な複数のローカルサーバと、各ローカルサーバに、各種のコンテンツをコピーして提供すると共に、クライアント端末に対して、配信すべきコンテンツをどのローカルサーバから配信させるかを決定するセンタサーバとを有する分散型コンテンツ配信システムにおける上記センタサーバにおいて、
上記各ローカルサーバのマシンにおける各リソースの負荷情報を監視するマシン負荷監視手段と、
上記マシン負荷監視手段が取得した上記各ローカルサーバのマシンにおける各リソースの負荷情報に応じ、上記各ローカルサーバ毎に、少なくとも、同時コピーするコンテンツ数を定めて、コピースケジュールを作成するコピースケジュール決定手段と、
上記コピースケジュール決定手段が、上記各ローカルサーバ毎に作成したコピースケジュールに従って、上記各ローカルサーバへの各種コンテンツのコピーを実行するコンテンツコピー実行手段と
を有することを特徴とするセンタサーバ。
【請求項６】
クライアント端末へコンテンツを配信可能な複数のローカルサーバと、各ローカルサーバに、各種のコンテンツをコピーして提供すると共に、クライアント端末に対して、配信すべきコンテンツをどのローカルサーバから配信させるかを決定するセンタサーバとを有し、いずれかの上記ローカルサーバがクライアント端末にコンテンツを配信する分散型コンテンツ配信方法において、
上記センタサーバは、マシン負荷監視手段、コピースケジュール決定手段、及び、コンテンツコピー実行手段とを有し、
上記マシン負荷監視手段は、上記各ローカルサーバのマシンにおける各リソースの負荷情報を監視し、
上記コピースケジュール決定手段は、上記マシン負荷監視手段が取得した上記各ローカルサーバのマシンにおける各リソースの負荷情報に応じ、上記各ローカルサーバ毎に、少なくとも、同時コピーするコンテンツ数を定めて、コピースケジュールを作成し、
上記コンテンツコピー実行手段は、上記コピースケジュール決定手段が、上記各ローカルサーバ毎に作成したコピースケジュールに従って、上記各ローカルサーバへの各種コンテンツのコピーを実行する
ことを特徴とする分散型コンテンツ配信方法。
【請求項７】
クライアント端末へコンテンツを配信可能な複数のローカルサーバと、各ローカルサーバに、各種のコンテンツをコピーして提供すると共に、クライアント端末に対して、配信すべきコンテンツをどのローカルサーバから配信させるかを決定するセンタサーバとを有する分散型コンテンツ配信システムにおける上記センタサーバとなるコンピュータを、
上記各ローカルサーバのマシンにおける各リソースの負荷情報を監視するマシン負荷監視手段と、
上記マシン負荷監視手段が取得した上記各ローカルサーバのマシンにおける各リソースの負荷情報に応じ、上記各ローカルサーバ毎に、少なくとも、同時コピーするコンテンツ数を定めて、コピースケジュールを作成するコピースケジュール決定手段と、
上記コピースケジュール決定手段が、上記各ローカルサーバ毎に作成したコピースケジュールに従って、上記各ローカルサーバへの各種コンテンツのコピーを実行するコンテンツコピー実行手段と
して機能させることを特徴とする分散型コンテンツ配信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散型コンテンツ配信システム、センタサーバ、分散型コンテンツ配信方法及び分散型コンテンツ配信プログラムに関し、例えば、分散型のビデオオンデマンド（ＶＯＤ）システムに適用し得るものである。
【背景技術】
【０００２】
近年、視聴者が見たい番組を選択し、放送局は視聴者の指示に従ってコンテンツを送信する分散型のビデオオンデマンドシステムが研究、開発されている。従来、分散型のビデオオンデマンドシステムは、コンテンツを、分散配置されているローカルの各ビデオサーバにコピーし、各ビデオサーバはコピーされたコンテンツをクライアント端末（以下、単にクライアントと呼ぶ）に配信するものであった。特許文献１には、各ビデオサーバの負荷を、ユーザの配信予約情報に基づいて予測し、どのローカルのビデオサーバに配信を担当させるかを計画することが記載されている。
【特許文献１】特開２００２−２２３４２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来のシステムは、以下のような課題を有するものであった。
【０００４】
コンテンツをローカルの各ビデオサーバにコピーすると、そのコピーの動作により、ビデオサーバマシンのＣＰＵ、ディスクＩ／Ｏ、ネットワーク（通信機能）、メモリ、空きディスク容量といった各リソースを消費する。このため、コンテンツのコピーをビデオサーバマシンのＣＰＵ、ディスクＩ／Ｏ、ネットワーク、メモリ、空きディスク容量等の各リソースの負荷状況に拘わらずに行うと、ビデオサーバマシンのリソースに影響を与え、ビデオサーバが提供するＶＯＤサービス（コンテンツのストリーム配信）に悪影響を与えることがあった。
【０００５】
すなわち、ユーザの配信予約情報を用いた負荷予測では、仮に、ビデオサーバの負荷を予測できたとしても、ビデオサーバマシンにおける各リソースの負荷状況を把握できず、コンテンツのコピー動作がＶＯＤサービス（コンテンツのストリーム配信）に悪影響を与えることがあった。
【０００６】
そのため、ローカルサーバのコンテンツ配信に悪影響を与えることなく、ローカルサーバへコンテンツをコピーすることができる分散型コンテンツ配信システム、センタサーバ、分散型コンテンツ配信方法及び分散型コンテンツ配信プログラムが望まれている。
【課題を解決するための手段】
【０００７】
第１の本発明は、クライアント端末へコンテンツを配信可能な複数のローカルサーバと、各ローカルサーバに、各種のコンテンツをコピーして提供すると共に、クライアント端末に対して、配信すべきコンテンツをどのローカルサーバから配信させるかを決定するセンタサーバとを有する分散型コンテンツ配信システムにおいて、上記センタサーバが、（１）上記各ローカルサーバのマシンにおける各リソースの負荷情報を監視するマシン負荷監視手段と、（２）上記マシン負荷監視手段が取得した上記各ローカルサーバのマシンにおける各リソースの負荷情報に応じ、上記各ローカルサーバ毎に、少なくとも、同時コピーするコンテンツ数を定めて、コピースケジュールを作成するコピースケジュール決定手段と、（３）上記コピースケジュール決定手段が、上記各ローカルサーバ毎に作成したコピースケジュールに従って、上記各ローカルサーバへの各種コンテンツのコピーを実行するコンテンツコピー実行手段とを有することを特徴とする。
【０００８】
第２の本発明は、クライアント端末へコンテンツを配信可能な複数のローカルサーバと、各ローカルサーバに、各種のコンテンツをコピーして提供すると共に、クライアント端末に対して、配信すべきコンテンツをどのローカルサーバから配信させるかを決定するセンタサーバとを有する分散型コンテンツ配信システムにおける上記センタサーバにおいて、（１）上記各ローカルサーバのマシンにおける各リソースの負荷情報を監視するマシン負荷監視手段と、（２）上記マシン負荷監視手段が取得した上記各ローカルサーバのマシンにおける各リソースの負荷情報に応じ、上記各ローカルサーバ毎に、少なくとも、同時コピーするコンテンツ数を定めて、コピースケジュールを作成するコピースケジュール決定手段と、（３）上記コピースケジュール決定手段が、上記各ローカルサーバ毎に作成したコピースケジュールに従って、上記各ローカルサーバへの各種コンテンツのコピーを実行するコンテンツコピー実行手段とを有することを特徴とする。
【０００９】
第３の本発明は、クライアント端末へコンテンツを配信可能な複数のローカルサーバと、各ローカルサーバに、各種のコンテンツをコピーして提供すると共に、クライアント端末に対して、配信すべきコンテンツをどのローカルサーバから配信させるかを決定するセンタサーバとを有し、いずれかの上記ローカルサーバがクライアント端末にコンテンツを配信する分散型コンテンツ配信方法において、上記センタサーバは、マシン負荷監視手段、コピースケジュール決定手段、及び、コンテンツコピー実行手段とを有し、（１）上記マシン負荷監視手段は、上記各ローカルサーバのマシンにおける各リソースの負荷情報を監視し、（２）上記コピースケジュール決定手段は、上記マシン負荷監視手段が取得した上記各ローカルサーバのマシンにおける各リソースの負荷情報に応じ、上記各ローカルサーバ毎に、少なくとも、同時コピーするコンテンツ数を定めて、コピースケジュールを作成し、（３）上記コンテンツコピー実行手段は、上記コピースケジュール決定手段が、上記各ローカルサーバ毎に作成したコピースケジュールに従って、上記各ローカルサーバへの各種コンテンツのコピーを実行することを特徴とする。
【００１０】
第４の本発明の分散型コンテンツ配信プログラムは、クライアント端末へコンテンツを配信可能な複数のローカルサーバと、各ローカルサーバに、各種のコンテンツをコピーして提供すると共に、クライアント端末に対して、配信すべきコンテンツをどのローカルサーバから配信させるかを決定するセンタサーバとを有する分散型コンテンツ配信システムにおける上記センタサーバとなるコンピュータを、（１）上記各ローカルサーバのマシンにおける各リソースの負荷情報を監視するマシン負荷監視手段と、（２）上記マシン負荷監視手段が取得した上記各ローカルサーバのマシンにおける各リソースの負荷情報に応じ、上記各ローカルサーバ毎に、少なくとも、同時コピーするコンテンツ数を定めて、コピースケジュールを作成するコピースケジュール決定手段と、（３）上記コピースケジュール決定手段が、上記各ローカルサーバ毎に作成したコピースケジュールに従って、上記各ローカルサーバへの各種コンテンツのコピーを実行するコンテンツコピー実行手段として機能させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ローカルサーバのコンテンツ配信に悪影響を与えることなく、ローカルサーバへコンテンツをコピーすることができるようになる。
【発明を実施するための最良の形態】
【００１２】
（Ａ）主たる実施形態
以下、本発明による分散型コンテンツ配信システム、センタサーバ、分散型コンテンツ配信方法及び分散型コンテンツ配信プログラムの一実施形態を、図面を参照しながら詳述する。この実施形態の分散型コンテンツ配信システムは、分散型のビデオオンデマンド（ＶＯＤ）システムである。
【００１３】
（Ａ−１）実施形態の構成
図１は、実施形態に係るビデオオンデマンドシステムの全体構成と、そのうちのセンタサーバの詳細構成とを示すブロック図である。
【００１４】
図１において、実施形態に係るビデオオンデマンドシステム１は、センタサーバ２がネットワーク３を介して、ローカルの複数のビデオサーバ（以下、ローカルサーバと呼ぶ）４−１〜４−ｍ（図１はｍが「３」の例を示している）と接続可能なものであり、各ローカルサーバ４−１〜４−ｍが、ネットワーク５を介して、指示されたクライアント６−１〜６−ｎにコンテンツを供給し得るものである。各クライアント６−１〜６−ｎは、例えば、セットトップボックスが該当し、ネットワーク５を介して、センタサーバ２にコンテンツの要求を送信することができる。なお、ネットワーク３及び５が同一のネットワークで良いことは勿論である。
【００１５】
センタサーバ２には、コンテンツが格納されているディスク、ＤＶＤ等のコンテンツ保存装置７が接続されており、また、システムの運用者９が作成した各ローカルサーバ４−１〜４−ｍにコピーするコンテンツのリスト８が与えられるようになされている。
【００１６】
センタサーバ２は、例えば、分散型コンテンツ配信プログラムが搭載されて所望の機能を果たすものであり、機能的には、図１に示すような内部構成を有する。すなわち、コピースピード調整モジュール１０、マシン負荷監視モジュール１１、コピースケジュール決定モジュール１２、ＶＯＤ配信ローカルサーバ決定モジュール１３、コンテンツコピーモジュール１４、同時最大配信本数リスト１５、マシン負荷閾値リスト１６、コピー優先度指定リスト１７を有する。なお、各種のリスト８、１５〜１７は、センタサーバ２内では記憶装置に格納されているものである。
【００１７】
同時最大配信本数リスト１５には、各ローカルサーバ４−１〜４−ｍ単位でクライアント６（６−１〜６−ｎ）に同時に配信する最大本数がリストアップされている。
【００１８】
マシン負荷閾値リスト１６には、各ローカルサーバ４−１〜４−ｍがコンテンツをセンタサーバ２からコピーされるために必要なパフォーマンスが確保できるかを判断するための、ローカルサーバマシンのＣＰＵ、ディスクＩ／Ｏ、ネットワークなどの負荷の閾値がリストアップされている。マシン負荷閾値リスト１６には、コンテンツを１個コピーした場合、同時に複数コピーした場合、あるいは、コンテンツの種類が変わった場合など、複数のパターンでコピーされる場合の閾値がリストアップされている。
【００１９】
コピー優先度指定リスト１７には、センタサーバ２からのコンテンツのコピーを、クライアント６へのＶＯＤ配信と比較して、どの程度優先するかを指定する優先度がリストアップされている。なお、このコピー優先度指定リスト１７は存在しないものであっても良い。
【００２０】
システム運用者９は、コンテンツ保存装置７に格納されているコンテンツに基づき、各ローカルサーバ４−１〜４−ｍにコピーするコンテンツをリストアップしたコピーコンテンツリスト８を作成する。
【００２１】
コピースケジュール決定モジュール１２は、各ローカルサーバ４−１〜４−ｍのそれぞれに対するコピースケジュールを決定するものであり、ローカルサーバのマシンの負荷状況から、コンテンツを１個だけコピーするスケジュール、あるいは、コンテンツを同時に複数コピーするスケジュールを作成する。ここで、コピースケジュール決定モジュール１２は、ＣＰＵやディスクＩ／Ｏ等複数あるリソースのうちのどれか１つでもボトルネックがあれば、ＶＯＤ配信に影響が出るので、マシン負荷が閾値を超えるリソースが１つでもあるローカルサーバに対しては、コンテンツをコピーしないスケジュールを作成する。また、この実施形態の場合、コピースケジュール決定モジュール１２は、コピー開始時のコピースピードも決定するものである。
【００２２】
また、コピースケジュール決定モジュール１２は、コピー開始後においても、同時コピーするコンテンツ数やコピースピードを見直すものである。
【００２３】
コピースピード調整モジュール１０は、コピー動作が開始された後（コピーの指示後の待機中を含む）に、コピースケジュール決定モジュール１２の指示に従い、コピースピードを変更するものである。コピースピード調整モジュール１０は、例えば、ローカルサーバのＶＯＤサービスに影響がでないように、各ローカルサーバ４−１〜４−ｍのマシン負荷が閾値を超えた場合にはコピースピード（例えば、通信速度（ｂｐｓやｐｐｓ））を減速したり、あるいは、コピーを停止したりするものである。また、コピースピード調整モジュール１０は、マシン負荷が閾値を下回るようになると、コピーを開始又は再開したり、あるいはコピー速度を加速したりするものである。
【００２４】
マシン負荷監視モジュール１１は、各ローカルサーバ４−１〜４−ｍから、そのマシン負荷の状況を定期的に取得し、内部で管理するものである。
【００２５】
ＶＯＤ配信ローカルサーバ決定モジュール１３は、クライアント６（６−１〜６−ｎ）からのＶＯＤ配信要求に対して、各ローカルサーバ４−１〜４−ｍのマシン負荷の状況から、どのローカルサーバからコンテンツを配信するかを決定するものである。例えば、複数のリソースに係るマシン負荷の総合値（単純な合計でも、重み付け加算でも良い）が最小のローカルサーバから配信するように決定する。
【００２６】
コンテンツコピーモジュール１４は、コピースケジュール決定モジュール１２が作成したコピースケジュールと、コピースピード調整モジュール２からのコピースピードの指示とに従い、コンテンツ保存装置７の該当するコンテンツを各ローカルサーバ４−１〜４−ｍにコピーするものである。
【００２７】
各ローカルサーバ４（４−１〜４−ｍ）は、ＣＰＵ、ディスク、ネットワーク（通信機能）、メモリ等を有するサーバが該当するものであるが、機能的には、図２に示すような内部構成を有する。すなわち、ローカルサーバ４は、マシン負荷報告モジュール２０、コピーコンテンツ受信モジュール２１、コンテンツメモリ２２及びコンテンツ配信モジュール２３を有する。
【００２８】
マシン負荷報告モジュール２０は、センタサーバ２のマシン負荷監視モジュール１１によってマシン負荷情報が求められたときに、当該ローカルサーバ４の各種リソースに係るマシン負荷を収集し、マシン負荷監視モジュール１１に報告するものである。
【００２９】
コンテンツメモリ２２は、センタサーバ２から与えられたコンテンツ（コピーコンテンツ）を格納しておくものである。
【００３０】
コピーコンテンツ受信モジュール２１は、センタサーバ２のコンテンツコピーモジュール１７がコピーして送信してきたコンテンツを受信し、コンテンツメモリ２２に格納させるものである。コピーコンテンツ受信モジュール２１は、コピースピードが変化するが、それに対応できる速度調整機構を内蔵している。
【００３１】
コンテンツ配信モジュール２３は、センタサーバ２のＶＯＤ配信ローカルサーバ決定モジュール１３が、クライアント６からのＶＯＤ配信要求に対して、当該ローカルサーバ４からコンテンツを配信すると決定した場合、そのクライアント６へ向けて該当するコンテンツを配信するものである。
【００３２】
（Ａ−２）実施形態の動作
次に、実施形態に係るビデオオンデマンドシステムの各種動作を、図面を参照しながら説明する。なお、以下では、ローカルサーバが３台として説明を行う。また、ローカルサーバマシンの負荷を捉えるリソース（項目）が、ＣＰＵ（ＣＰＵ使用率）、ディスクＩ／Ｏ（ディスクＩ／Ｏ使用率）、ネットワーク（ネットワーク使用率）、メモリ（メモリ使用率）であるとして説明を行う。
【００３３】
まず、ＶＯＤ配信を行うローカルサーバの決定動作を、図３のシーケンス図を参照しながら説明する。
【００３４】
センタサーバ２のマシン負荷監視モジュール１１は、例えば、定期的に、全てのローカルサーバ４−１〜４−３から、所定のリソースについての負荷情報を収集する（ステップ１０１）。
【００３５】
収集した各マシンの負荷情報は、マシン負荷監視モジュール１１から、必要に応じて、ＶＯＤ配信サーバ決定モジュール１３に与えられるものである。また、センタサーバ２に設定されたマシン負荷閾値リスト１６の内容も、必要に応じて、ＶＯＤ配信サーバ決定モジュール１３に与えられるものである。図４は、参考までに、収集された各マシンの負荷情報と、マシン負荷閾値リスト１６に記述されている閾値とを対比して示している。
【００３６】
クライアント６−Ｎ（Ｎは１〜ｎのいずれか）がＶＯＤ配信要求（ストリーミング要求）を送出すると、センタサーバ２に到達する（ステップ１０２）。
【００３７】
このとき、ＶＯＤ配信ローカルサーバ決定モジュール１３が、要求元のクライアント６−Ｎへコンテンツを配信するローカルサーバを、収集した各マシンの負荷情報や、マシン負荷閾値リスト１６の内容に基づいて決定する（ステップ１０３）。なお、要求されたコンテンツが、全てのローカルサーバにコピーされているとは限らず、そのような場合には、コピーされているローカルサーバの中から配信するローカルサーバを決定することになる。
【００３８】
収集した各マシンの負荷情報、及び、マシン負荷閾値リスト１６の内容が図４に示すようなものであったとする。まず、閾値を超えた負荷情報を１個でも有するローカルサーバがあるか判断する。そのようなローカルサーバがあれば候補から除外するが、図４の例の場合には、存在しないので、次に、マシン負荷の総合値の大小を、候補から除外されていない全てのローカルサーバ４−１〜４−３を比較する。マシン負荷の総合値を、各リソース（項目）の総和とした場合、図４の負荷情報であれば、ローカルサーバ４−１のマシン負荷の総合値は「１９０」であり、ローカルサーバ４−２のマシン負荷の総合値は「１９０」であり、ローカルサーバ４−３のマシン負荷の総合値は「２７０」であり、総合値の比較でも１つに絞り込めず、ローカルサーバ４−１及び４−２が候補となる。このとき、単純にリストの上側のものに決定しても良いが、例えば、閾値との余裕度（閾値との差）が最も小さい負荷情報の余裕度を、両候補で比較して余裕度の大きい方に定めるようにしても良い。例えば、ローカルサーバ４−１の最も小さい余裕度はＣＰＵ使用率の「１０」であり、ローカルサーバ４−２の最も小さい余裕度はＣＰＵ使用率、ディスクＩ／Ｏ使用率、ネットワーク使用率、メモリ使用率の「３０」であるので、ローカルサーバ４−２を配信するローカルサーバに決定する。
【００３９】
センタサーバ２は、決定したローカルサーバ４−２に、要求元のクライアント６−Ｎへのコンテンツ配信を指示し（ステップ１０４）、ローカルサーバ４−２は、要求されたコンテンツを要求元のクライアント６−Ｎへ配信する（ステップ１０５）。
【００４０】
次に、ローカルサーバへのコンテンツのコピー動作を、図５のシーケンス図を参照しながら説明する。
【００４１】
システム運用者９は、各ローカルサーバ４−１〜４−ｍにコピーするコンテンツをリストアップしたコンテンツリスト８をセンタサーバ２に入力する(ステップ１５１)。なお、このコンテンツリスト８の入力前には、システム運用者９は、コンテンツ保存装置７にリストアップされている全てのコンテンツを格納しておくことを要する。
【００４２】
センタサーバ２のマシン負荷監視モジュール１１は、上述したように、定期的に、全てのローカルサーバ４−１〜４−３から、所定のリソースについての負荷情報を収集している。コピースケジュールを決定する際にも、直前の定期処理で収集した負荷情報を利用するようにしても良く、コンテンツリスト８が入力された直後に、最新の負荷情報を収集し（ステップ１５２）、それをコピースケジュールの決定に利用するようにしても良い。
【００４３】
コピースケジュール決定モジュール１２には、収集された負荷情報、マシン負荷閾値リスト１６の内容、コピー優先度指定リスト１７の内容が与えられ、各ローカルサーバ４−１〜４−ｍのそれぞれについて、コピースケジュールを決定する（ステップ１５３）。
【００４４】
図６は、ある１つのローカルサーバに対するコピースケジュールの決定処理（ステップ１５３）の詳細を示すフローチャートである。なお、以下では、コピースケジュール決定モジュール１２が決定する、コンテンツを同時に複数コピーするスケジュールの複数の最大数が２であるとして説明するが（すなわち、同時最大配信本数リスト１５に記述されている同時に配信する最大本数として「２」がリストアップされている場合を説明するが）、同時コピー数の最大数が３以上であっても良いことは勿論である。
【００４５】
コピースケジュール決定モジュール１２は、コピー優先度指定リスト１７が、対象となっているローカルサーバ４−Ｍ（Ｍは１〜ｍ）について、コピー優先度指定リスト１７がＶＯＤ配信よりコピーを優先させることになっているか否かを判別する（ステップ２０１）。
【００４６】
コピーを優先させることになっている場合には、ＶＯＤ配信ローカルサーバ決定モジュール１３に対し、対象となっているローカルサーバ４−Ｍを、配信するローカルサーバに決定し難くするように指示する(ステップ２０２)。例えば、ＶＯＤ配信ローカルサーバ決定モジュール１３は、対象となっているローカルサーバ４−Ｍについては、マシン負荷閾値リスト１６に記述されている閾値より小さい閾値（例えばリスト記述閾値の８割）を、配信するローカルサーバの決定処理に適用するように変更し、対象となっているローカルサーバ４−Ｍが配信するローカルサーバに決定され難くする。
【００４７】
なお、フローチャートなどの図示は省略するが、配信するローカルサーバに決定し難い状態は、当該ローカルサーバへの全てのコンテンツのコピーが終了したときに解除される。なお、優先度が複数の段階に分かれている場合には、その段階に応じて、閾値を更新するようにすれば良い。
【００４８】
また、コピーよりＶＯＤ配信を優先させるローカルサーバを指定しても良く、コピー優先度指定リスト１７によって、このような指定がなされたローカルサーバについては、コピースケジュール決定モジュール１２が利用する閾値を本来の閾値より厳しくするようにしても良い。
【００４９】
次に、コピースケジュール決定モジュール１２は、マシン負荷閾値リスト１６に記述されている閾値を超えたマシン負荷が１個でも存在するか否かを判別する（ステップ２０３）。閾値を超えたマシン負荷が１個でも存在する場合には、コンテンツのコピーを開始させず、マシン負荷が閾値以下に下がるのを監視する状態に設定し（ステップ２０４）、図６に示す一連の処理を終了する。
【００５０】
閾値を超えたマシン負荷が１個も存在しない場合には、１個のコンテンツをノーマルのスピードでコピーしたと仮定した場合におけるマシン負荷の更新値（以下、この更新値を１コピーノーマル更新値と呼ぶ）を算出する（ステップ２０５）。コピースケジュール決定モジュール１２は、例えば、ローカルサーバの種類を問わず、又は、ローカルサーバ毎に、１個のコンテンツをノーマルスピードでコピーした場合の各種のマシン負荷の増大量が予め設定されて内部保持しており、このマシン負荷の増大量を適用して、１コピーノーマル更新値を算出する。
【００５１】
そして、閾値を超えた１コピーノーマル更新値が１個でも存在するか否かを判別する（ステップ２０６）。
【００５２】
閾値を超えた１コピーノーマル更新値が１個でも存在する場合には、コピースケジュール決定モジュール１２は、１個のコンテンツを低速（ノーマルのスピードより遅い速度）でコピーしたと仮定した場合におけるマシン負荷の更新値（以下、この更新値を１コピー低速更新値と呼ぶ）を算出する（ステップ２０７）。そして、閾値を超えた１コピー低速更新値が１個でも存在するか否かを判別する（ステップ２０８）。低速コピーでのマシン負荷の増大量としては、例えば、ノーマルスピードでの１コピーの増大量の所定パーセント（例えば５０％）を適用する。
【００５３】
閾値を超えた１コピー低速更新値が１個も存在しない場合には、コピースケジュール決定モジュール１２は、対象となっているローカルサーバ４−Ｍについて、コンテンツを１個ずつ低速でコピーするスケジュールを決定、設定し（ステップ２０９）、図６に示す一連の処理を終了する。一方、閾値を超えた１コピー低速更新値が１個でも存在する場合には、コピースケジュール決定モジュール１２は、コンテンツのコピーを開始させず、マシン負荷が閾値以下に下がるのを監視する状態に設定し（ステップ２０４）、図６に示す一連の処理を終了する。
【００５４】
上述したステップ２０６の判別により、閾値を超えた１コピーノーマル更新値が１個も存在しないという結果を得ると、２個のコンテンツをノーマルのスピードで同時にコピーしたと仮定した場合におけるマシン負荷の更新値（以下、この更新値を２コピーノーマル更新値と呼ぶ）を算出し（ステップ２１０）、閾値を超えた２コピーノーマル更新値が１個でも存在するか否かを判別する（ステップ２１１）。２コピーでのマシン負荷の増大量としては、例えば、ノーマルスピードでの１コピーの増大量の所定倍（例えば２倍）を適用する。
【００５５】
閾値を超えた２コピーノーマル更新値が１個でも存在すると、コピースケジュール決定モジュール１２は、対象となっているローカルサーバ４−Ｍについて、コンテンツを１個ずつノーマルスピードでコピーするスケジュールを決定、設定し（ステップ２１２）、図６に示す一連の処理を終了する。一方、閾値を超えた２コピーノーマル更新値が１個も存在しない場合には、コピースケジュール決定モジュール１２は、対象となっているローカルサーバ４−Ｍについて、コンテンツを２個ずつ同時にノーマルスピードでコピーするスケジュールを決定、設定し（ステップ２１３）、図６に示す一連の処理を終了する。
【００５６】
１個、若しくは、２個ずつコピーする場合において、どのコンテンツを早めにコピーするかについては、例えば、コピーコンテンツリスト８の上の行に記載されている方を早めにコピーするように決定しても良く、また、コンテンツの容量の大きいもの（又は小さいもの）を早めにコピーするように決定しても良い。
【００５７】
また、上述では、マシン負荷、１コピーノーマル更新値、１コピー低速更新値若しくは２コピーノーマル更新値と、閾値とを比較して、コピースピードとコピー数とを定めるものを示したが、閾値から所定の余裕を減算した値と比較し、余裕を持たせた状態で、コピースピードとコピー数とを定めるようにしても良い。
【００５８】
さらに、上述では、ＶＯＤ配信ローカルサーバ決定モジュール１３が利用するリスト上の閾値も、コピースケジュール決定モジュール１２が利用するリスト上の閾値も同じものを示したが、異なるリストで異なる閾値をリストアップするようにしても良い。
【００５９】
図５に戻り、コピースケジュール決定モジュール１２が、各ローカルサーバ４−１〜４−３のそれぞれについてコピースケジュールを決定すると、コンテンツコピーモジュール１４は、コピースケジュール決定モジュール１２が作成したコピースケジュールに従い、コンテンツ保存装置７の該当するコンテンツを各ローカルサーバ４−１〜４−３にコピーする（ステップ１５４〜１５６）。
【００６０】
図５は、コピースケジュール決定モジュール１２が、ローカルサーバ４−１については１コンテンツずつノーマルスピードでコピーするように決定し、ローカルサーバ４−２については２コンテンツずつノーマルスピードで同時にコピーするように決定し、ローカルサーバ４−３についてはコピーを待機するように決定した場合を示している。
【００６１】
次に、ローカルサーバへのコンテンツコピー中にマシン負荷状態が変化した場合の動作を、図７のシーケンス図を参照しながら説明する。
【００６２】
いずれかのローカルサーバのコピー中においても、マシン負荷監視モジュール１１は、定期的に、各ローカルサーバ４−１〜４−３から、各リソースの負荷情報を収集する（ステップ２５１）。なお、コピー中の監視周期を、コピーを実行していないときの監視周期より短くようにしても良い。
【００６３】
コピースケジュール決定モジュール１２は、各リソースの負荷情報が新たに収集されると、全てのコンテンツのコピーが完了していない各ローカルサーバについて、同時コピーするコンテンツ数やコピースピードを見直す（ステップ２５２）。この見直し方法は、コピー開始前のコピースケジュールの決定方法（図６参照）とほぼ同様であり、マシン負荷状態に応じて、同時コピーするコンテンツ数やコピースピードを維持すると決定したり、同時コピーするコンテンツ数を増減したり、コピースピードを加減速したりする。
【００６４】
そして、コンテンツコピーモジュール１４は、コピースケジュール決定モジュール１２が見直した結果に従い、各ローカルサーバ４−１〜４−３に対するコンテンツのコピー動作を適宜切り替える（ステップ２５３〜２５５）。ここで、コピースピードの変化がある場合には、コピースピード調整モジュール１０が、コピースピード（例えば、通信速度（ｂｐｓやｐｐｓ））の変更処理を実行する。また、見直した新たなコピー方法への切り替えは、今までコピー中のコンテンツのコピーが終了した後で実行するようにしても良く、コピー中のコンテンツの途中から切り替えるようにしても良い。
【００６５】
図７は、コピースケジュール決定モジュール１２が、ローカルサーバ４−１については１コンテンツずつノーマルスピードでコピーする状態から１コンテンツずつ低速でコピーする状態に見直し、ローカルサーバ４−２については２コンテンツずつノーマルスピードで同時にコピーする状態を見直しても維持し、ローカルサーバ４−３についてはコピーを待機している状態から１コンテンツずつノーマルスピードでコピーする状態へ見直した場合を示している。
【００６６】
（Ａ−３）実施形態の効果
上記実施形態によれば、以下のような効果を奏することができる。
【００６７】
従来では、センタサーバからのコンテンツのコピーにより、ローカルサーバのＣＰＵ、ディスクＩ／Ｏ、ネットワーク、メモリ、ディスク容量等の各リソースの負荷が増大し、この結果、ローカルサーバからのストリーミング配信に悪影響が発生することもあったが、上記実施形態によれば、コピーのスケジュールを各リソースの負荷状態に応じて決定しているので、上述のような悪影響の発生を未然に防止することができる。
【００６８】
また、上記実施形態によれば、センタサーバからローカルサーバへのコンテンツのコピーを各ローカルサーバのマシン負荷を監視して効率的に行うようにしたので、各ローカルサーバにおける各リソースを有効に使用することができる。
【００６９】
さらに、センタサーバからローカルサーバへのコンテンツのコピーを効率的に行うようにしたので、各ローカルサーバがコピーされたコンテンツを速やかにクライアントに提供できる。
【００７０】
これまで運用者が手動でコピーしてきたローカルサーバへのコンテンツのコピーを自動で行うことにより、運用者の手を煩わせることはない。
【００７１】
（Ｂ）他の実施形態
上記実施形態の説明においても、種々変形実施形態に言及したが、さらに、以下に例示するような変形実施形態を挙げることができる。
【００７２】
上記実施形態では、センタサーバが１台のサーバで構成されているように説明したが、物理的に複数台のサーバで構成されていても良い。同様に、各ローカルサーバもそれぞれ、物理的に複数台のサーバで構成されていても良い。また、ＶＯＤ配信を行うローカルサーバの決定動作を行うセンタサーバと、コンテンツのコピーを行うセンタサーバとが別個に設けられているものであっても良い。
【００７３】
また、上記実施形態では、クライアントの要求時に、クライアントにコンテンツを配信するものを示したが、ローカルサーバからのクライアントの配信の起動のトリガは、上記方法に限定されるものではない。例えば、一部のクライアント（ユーザ）との間でスポーツ番組の配信を行うという契約を結んでいた場合に、センタサーバが各ローカルサーバへのコピーを終了したときに、コピーしたコンテンツのうち、スポーツ番組のコンテンツを、契約締結のクライアントに順次配信するようにセンタサーバが制御するようにしても良い。
【００７４】
さらに、上記実施形態では、ビデオ（動画像及びオーディオ）のコンテンツを配信するシステムを示したが、オーディ）のコンテンツを配信するシステムに対しても本発明を適用することができる。また、ビデオコンテンツの提供元のセンタサーバと、オーディオコンテンツの提供元のセンタサーバとが別個に設けられたシステムであっても良い。
【図面の簡単な説明】
【００７５】
【図１】実施形態に係るビデオオンデマンドシステムの全体構成と、そのうちのセンタサーバの機能的な詳細構成とを示すブロック図である。
【図２】実施形態のローカルサーバの機能的な詳細構成を示すブロック図である。
【図３】実施形態におけるＶＯＤ配信を行うローカルサーバの決定動作を示すシーケンス図である。
【図４】実施形態におけるローカルサーバマシンの負荷情報及び閾値を示す説明図である。
【図５】実施形態におけるローカルサーバへのコンテンツのコピー動作を示すシーケンス図である。
【図６】実施形態におけるコピースケジュールの決定処理の詳細を示すフローチャートである。
【図７】実施形態におけるローカルサーバへのコンテンツコピー中にマシン負荷状態が変化した場合の動作を示すシーケンス図である。
【符号の説明】
【００７６】
１…ビデオオンデマンドシステム、２…センタサーバ、４、４−１〜４−ｍ…ローカルビデオサーバ（ローカルサーバ）、６−１〜６−ｎ…クライアント、７…コンテンツ保存装置、８…コピーコンテンツリスト、１０…コピースピード調整モジュール、１１…マシン負荷監視モジュール、１２…コピースケジュール決定モジュール、１３…ＶＯＤ配信ローカルサーバ決定モジュール、１４…コンテンツコピーモジュール、１５…同時最大配信本数リスト、１６…マシン負荷閾値リスト、１７…コピー優先度指定リスト、２０…マシン負荷報告モジュール、２１…コピーコンテンツ受信モジュール、２２…コンテンツメモリ、２３…コンテンツ配信モジュール。
【図１】
2009237918.tif 000003
【図２】
2009237918.tif 000004
【図３】
2009237918.tif 000005
【図４】
2009237918.tif 000006
【図５】
2009237918.tif 000007
【図６】
2009237918.tif 000008
【図７】
2009237918.tif 000009