(57)【特許請求の範囲】
【請求項１】
それぞれが複数のストリーミングデータを配信する複数の配信サーバ装置と、クライアント装置からのリクエストを受け付け、当該クライアント装置に対して、配信を行う前記配信サーバ装置のアドレスを通知するディスパッチサーバ装置とを備えるストリーミング配信システムにおいて、
前記ディスパッチサーバ装置は、
前記複数の配信サーバ装置により配信されるストリーミングデータの配信数を予測する予測手段と、
前記予測手段により予測した配信数に応じて、稼動させる配信サーバ装置群を決定する決定手段と、
前記決定手段により決定した配信サーバ装置群から選択した配信サーバ装置のアドレスを前記クライアント装置からのリクエストに対して返答する返答手段と、を備え、
前記決定手段は、前記複数の配信サーバ装置のそれぞれについて、前記稼動させる配信サーバ装置群を決定する現時点から配信数が0になるまでの配信終了時間を算出又は取得し、前記配信終了時間が長くなるにつれて小さくなる重みを当該配信サーバ装置の消費電力に対して付け、前記重みを付けた消費電力の和が最小となるような配信サーバ装置群を前記稼動させる配信サーバ装置群として決定する
ことを特徴とするストリーミング配信システム。
【請求項２】
前記返答手段は、前記決定手段により決定した配信サーバ装置群の中で、現時点の配信数から最大配信数を減じた値が最も小さくなる配信サーバ装置を選択し、当該配信サーバ装置のアドレスを前記クライアント装置からのリクエストに対して返答する
ことを特徴とする請求項１に記載のストリーミング配信システム。
【請求項３】
それぞれが複数のストリーミングデータを配信する複数の配信サーバ装置と、クライアント装置からのリクエストを受け付け、当該クライアント装置に対して、配信を行う前記配信サーバ装置のアドレスを通知するディスパッチサーバ装置とを備えるストリーミング配信システムが実行するストリーミング配信制御方法であって、
前記ディスパッチサーバ装置が、
前記複数の配信サーバ装置により配信されるストリーミングデータの配信数を予測する予測ステップと、
前記予測ステップにおいて予測した配信数に応じて、稼動させる配信サーバ装置群を決定する決定ステップと、
前記決定ステップにおいて決定した配信サーバ装置群から選択した配信サーバ装置のアドレスを前記クライアント装置からのリクエストに対して返答する返答ステップと、を行い、
前記決定ステップにおいて、前記ディスパッチサーバ装置は、前記複数の配信サーバ装置のそれぞれについて、前記稼動させる配信サーバ装置群を決定する現時点から配信数が0になるまでの配信終了時間を算出又は取得し、前記配信終了時間が長くなるにつれて小さくなる重みを当該配信サーバ装置の消費電力に対して付け、前記重みを付けた消費電力の和が最小となるような配信サーバ装置群を前記稼動させる配信サーバ装置群として決定する
ことを特徴とするストリーミング配信制御方法。
【請求項４】
前記返答ステップにおいて、前記ディスパッチサーバ装置は、前記決定ステップにおいて決定した配信サーバ装置群の中で、現時点の配信数から最大配信数を減じた値が最も小さくなる配信サーバ装置を選択し、当該配信サーバ装置のアドレスを前記クライアント装置からのリクエストに対して返答する
ことを特徴とする請求項３に記載のストリーミング配信制御方法。
【請求項５】
それぞれが複数のストリーミングデータを配信する複数の配信サーバ装置と、クライアント装置からのリクエストを受け付け、当該クライアント装置に対して、配信を行う前記配信サーバ装置のアドレスを通知するディスパッチサーバ装置とを備えるストリーミング配信システムにおける前記ディスパッチサーバ装置であって、
前記複数の配信サーバ装置により配信されるストリーミングデータの配信数を予測する予測手段と、
前記予測手段により予測した配信数に応じて、稼動させる配信サーバ装置群を決定する決定手段と、
前記決定手段により決定した配信サーバ装置群から選択した配信サーバ装置のアドレスを前記クライアント装置からのリクエストに対して返答する返答手段と、を備え、
前記決定手段は、前記複数の配信サーバ装置のそれぞれについて、前記稼動させる配信サーバ装置群を決定する現時点から配信数が0になるまでの配信終了時間を算出又は取得し、前記配信終了時間が長くなるにつれて小さくなる重みを当該配信サーバ装置の消費電力に対して付け、前記重みを付けた消費電力の和が最小となるような配信サーバ装置群を前記稼動させる配信サーバ装置群として決定する
ことを特徴とするディスパッチサーバ装置。
【請求項６】
前記返答手段は、前記決定手段により決定した配信サーバ装置群の中で、現時点の配信数から最大配信数を減じた値が最も小さくなる配信サーバ装置を選択し、当該配信サーバ装置のアドレスを前記クライアント装置からのリクエストに対して返答する
ことを特徴とする請求項５に記載のディスパッチサーバ装置。
【請求項７】
コンピュータを、請求項５又は６に記載のディスパッチサーバ装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリーミング配信技術に関し、特にストリーミング配信システムにおける機器が消費する電力を最小化するためのストリーミング配信制御技術に関するものである。
【背景技術】
【０００２】
回線の広域化、およびサーバ装置やルータ機器などの電子機器の高性能化により、高画質動画をインターネットを通じて多数の人に配信するサービスが登場してきた。高画質動画のようなリッチコンテンツが円滑に配信されているという現状がある一方、配信サーバ装置を格納しているデータセンタやエンタープライズネットワークにおけるサーバ装置機器の消費電力が問題になっている。特に、一般的なデータセンタに導入されているコモディティサーバ装置は、データセンタに割り当てられている全ての機器が消費する電力の大半を占めている（非特許文献１）。このためサーバ装置の消費電力を下げることが、データセンタ全体の消費電力を大幅に節減できると考えられる。具体的な手法として、サービスを利用しているユーザ数の増減に合わせて、データセンタ内で稼働しているサーバ装置数を制限する方法がある。
【０００３】
データセンタやエンタープライズネットワークにて、クライアント装置からのストリーミング配信要求の規模を見積もり、配信サーバ装置の稼働数を削減することで当該ネットワークにおける消費電力を削減する方法が存在する。これらの多くはサーバ装置の消費電力の網羅的なモデル化や配信要求の予測精度を向上させることに力点を置き、当該モデルや予測の上で消費電力の最小化を動的計画法を用いて達成している（非特許文献２、３）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】"Report to Congress on Server and Data Center Energy Efficiency Public Law 109-431", pp. 25-40, August 2, 2007, URL http://www.energystar.gov/ia/partners/prod_development/downloads/EPA_Datacenter_Report_Congress_Final1.pdf?b811-06d7
【非特許文献２】Ehsan. P, and Massaoud. P, "Minimizing Data Center Cooling and Server Powercosts", in Proc. International Symposium on Low Power Electronics and Design, 2009.
【非特許文献３】Castellanos, M.; Casati, F.; Shan, M.-C.; Dayal, U.;, "iBOM: A Platform for Intelligent Business Operation Management", Proceedings. 21st International Conference on Data Engineering, 2005, pp. 1084-1095, 2005.
【非特許文献４】高倉健, "アクセス負荷の予測を用いた動的コンテンツ再配置方式", 情報処理学会論文誌40(3), pp. 1285-1293, 1999.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、一般的な動的計画法や線形計画法を用いる場合、ストリーミングの配信要求の規模の見積もりが変化すると、稼働すべき配信サーバ装置を劇的に変更する可能性がある。図１に、従来手法の課題を説明するための説明図を示す。
【０００６】
図１において、集合Xは稼働中のサーバ装置群を示しており、ある一定期間でユーザの配信要求の規模を再度見積もり、この見積もりを用いて稼働すべきサーバ装置群の変更を行う。変更を行う際には、稼働中のサーバ装置の動作を止めることはせず、当該稼働サーバ装置のアドレスの発行を停止し、視聴している全クライアント装置の視聴が終了するまで稼働させ、配信数が0になった時に当該サーバ装置の電源を落とすことにする。図1では、稼働サーバ装置をa、b、cからd、e、fに切り替えているが、a、b、cの配信数が0になるまで起動しておかなければならないため、配信数が0になるまでの時間が長い場合、長時間の稼働を余儀なくされ、無駄な消費電力を発生させてしまう。
【０００７】
本発明は上記の点に鑑みてなされたものであり、各配信サーバ装置における稼働時間を考慮し、消費電力を最小化しつつストリーミング配信要求の規模の見積もりに応じた配信サーバ装置の稼働数を決定することを可能とした技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明は、それぞれが複数のストリーミングデータを配信する複数の配信サーバ装置と、クライアント装置からのリクエストを受け付け、当該クライアント装置に対して、配信を行う前記配信サーバ装置のアドレスを通知するディスパッチサーバ装置とを備えるストリーミング配信システムにおいて、
前記ディスパッチサーバ装置は、
前記複数の配信サーバ装置により配信されるストリーミングデータの配信数を予測する予測手段と、
前記予測手段により予測した配信数に応じて、稼動させる配信サーバ装置群を決定する決定手段と、
前記決定手段により決定した配信サーバ装置群から選択した配信サーバ装置のアドレスを前記クライアント装置からのリクエストに対して返答する返答手段と、を備え、
前記決定手段は、前記複数の配信サーバ装置のそれぞれについて、前記稼動させる配信サーバ装置群を決定する現時点から配信数が0になるまでの配信終了時間を算出又は取得し、前記配信終了時間が長くなるにつれて小さくなる重みを当該配信サーバ装置の消費電力に対して付け、前記重みを付けた消費電力の和が最小となるような配信サーバ装置群を前記稼動させる配信サーバ装置群として決定することを特徴とするストリーミング配信システムとして構成される。
【０００９】
前記返答手段は、前記決定手段により決定した配信サーバ装置群の中で、現時点の配信数から最大配信数を減じた値が最も小さくなる配信サーバ装置を選択し、当該配信サーバ装置のアドレスを前記クライアント装置からのリクエストに対して返答するように構成することができる。
【００１０】
また、本発明は、それぞれが複数のストリーミングデータを配信する複数の配信サーバ装置と、クライアント装置からのリクエストを受け付け、当該クライアント装置に対して、配信を行う前記配信サーバ装置のアドレスを通知するディスパッチサーバ装置とを備えるストリーミング配信システムが実行するストリーミング配信制御方法であって、
前記ディスパッチサーバ装置が、
前記複数の配信サーバ装置により配信されるストリーミングデータの配信数を予測する予測ステップと、
前記予測ステップにおいて予測した配信数に応じて、稼動させる配信サーバ装置群を決定する決定ステップと、
前記決定ステップにおいて決定した配信サーバ装置群から選択した配信サーバ装置のアドレスを前記クライアント装置からのリクエストに対して返答する返答ステップと、を行い、
前記決定ステップにおいて、前記ディスパッチサーバ装置は、前記複数の配信サーバ装置のそれぞれについて、前記稼動させる配信サーバ装置群を決定する現時点から配信数が0になるまでの配信終了時間を算出又は取得し、前記配信終了時間が長くなるにつれて小さくなる重みを当該配信サーバ装置の消費電力に対して付け、前記重みを付けた消費電力の和が最小となるような配信サーバ装置群を前記稼動させる配信サーバ装置群として決定することを特徴とするストリーミング配信制御方法として構成してもよい。
【００１１】
また、本発明は、それぞれが複数のストリーミングデータを配信する複数の配信サーバ装置と、クライアント装置からのリクエストを受け付け、当該クライアント装置に対して、配信を行う前記配信サーバ装置のアドレスを通知するディスパッチサーバ装置とを備えるストリーミング配信システムにおける前記ディスパッチサーバ装置であって、
前記複数の配信サーバ装置により配信されるストリーミングデータの配信数を予測する予測手段と、
前記予測手段により予測した配信数に応じて、稼動させる配信サーバ装置群を決定する決定手段と、
前記決定手段により決定した配信サーバ装置群から選択した配信サーバ装置のアドレスを前記クライアント装置からのリクエストに対して返答する返答手段と、を備え、
前記決定手段は、前記複数の配信サーバ装置のそれぞれについて、前記稼動させる配信サーバ装置群を決定する現時点から配信数が0になるまでの配信終了時間を算出又は取得し、前記配信終了時間が長くなるにつれて小さくなる重みを当該配信サーバ装置の消費電力に対して付け、前記重みを付けた消費電力の和が最小となるような配信サーバ装置群を前記稼動させる配信サーバ装置群として決定することを特徴とするディスパッチサーバ装置として構成することもできる。
【００１２】
更に、本発明は、コンピュータを、上記ディスパッチサーバ装置における各手段として機能させるためのプログラムとして構成してもよい。
【発明の効果】
【００１３】
本発明によれば、稼動させる配信サーバ装置の台数をリクエストに対応可能な必要最小限の台数とすることができ、ストリーミング配信システム全体の消費電力を最小化することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】従来手法の課題を説明するための図である。
【図２】本発明の実施の形態の概要を説明するための図である。
【図３】本実施の形態に係るストリーミング配信システムの概要構成を示す図である。
【図４】ディスパッチサーバ装置１０の機能構成図である。
【図５】配信終了時間の算出方法を説明するための図である。
【図６】配信サーバ装置決定モジュール１２の処理の流れを説明するための図である。
【図７】消費電力と配信数の関係を示す図である。
【図８】本発明の実施の形態に係る提案手法を説明するための図である。
【図９】アドレス返答モジュール１３の処理を説明するための図である。
【図１０】シミュレーションのパラメータを示す表である。
【図１１】実験結果を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【００１６】
（実施の形態の概要）
図２を参照して、本実施の形態の概要を説明する。本実施の形態では、配信サーバ装置のアドレスの発行を停止したとした場合、各配信サーバ装置における配信数が0になるまでの時間（以下、配信終了時間）が長ければ長いほど、優先的に当該配信サーバ装置を利用するように、稼動させる配信サーバ装置を決定する。配信終了時刻まで配信数が0にならないので、当該配信サーバ装置に対して配信要求を割り当てることで、新たに配信サーバ装置を起動する必要がなくなり、稼働させるべき配信サーバ装置数を削減することができる。
【００１７】
具体的には、配信終了時間が長い配信サーバ装置に対して、配信終了時間の長さが長くなるにつれて小さくなる重みを当該配信サーバ装置の消費電力に対して付け（配信終了時間が長い配信サーバ装置の消費電力を低く見積もることで）、当該配信サーバ装置を動的計画法や線形計画法の最適方策にて選択されやすくする。
【００１８】
より詳細な構成については後述するが、本実施の形態に係るディスパッチサーバ装置は、ストリーミング配信システムにおける複数の配信サーバ装置により配信されるストリーミングデータの配信数を予測する予測手段と、前記予測手段により予測した配信数に応じて、稼動させる配信サーバ装置を決定する決定手段と、前記決定手段により決定した複数の配信サーバ装置から選択した配信サーバ装置のアドレスを前記クライアント装置からのリクエストに対して返答する返答手段と、を備え、前記決定手段は、稼動させる配信サーバ装置を決定する現時点から配信数が0になるまでの時間がより長い配信サーバ装置ほどより優先的に利用するように、稼動させる配信サーバ装置を決定するように構成される。
【００１９】
これにより、最適な稼働させる配信サーバ装置を選択する際、劇的な配信サーバ装置の変更を防ぐことができ、稼働させる配信サーバ装置を減らし消費電力を抑えることが可能となる。
【００２０】
（実施の形態の詳細）
＜システム構成＞
図３に、本実施の形態に係る動画配信サービスを提供するためのストリーミング配信システムの概要構成を示す。図３に示すように、当該ストリーミング配信システムは、カメラ１で撮影された動画をストリーム配信するストリーミング配信サーバ装置群（２）、クライアント装置３からのリクエスト（Ａ）に応じてストリーミング配信サーバ装置２のアドレス（Ｂ）を送信するディスパッチサーバ装置１０、及び、ストリーミング配信サーバ装置２に接続してストリーム受信（Ｃ）を行うクライアント装置３を有する。ストリーミング配信サーバ装置群（２）、及びディスパッチサーバ装置１０はデータセンタ１００に備えられる。また、データセンタ１００に備えられた装置と、クライアント装置３とはインターネット等の通信ネットワークを介して通信可能である。更に、ディスパッチサーバ装置１０と各ストリーミング配信サーバ装置２間も通信ネットワークを介して通信可能である。
【００２１】
なお、ストリーミング配信サーバ装置２を「配信サーバ装置」と呼ぶ場合がある。また、図３には、図示の便宜上、１つのクライアント装置３が示されているが、実際には多数のクライアント装置３が存在する。
【００２２】
図４に、本実施の形態に係るディスパッチサーバ装置１０の機能構成図を示す。図４に示すように、ディスパッチサーバ装置１０は、当該ディスパッチサーバ装置１０に対するクライアント装置３からの配信要求数を過去の配信要求の履歴から予測する配信数予測モジュール１１と、予測に基づいて、どのストリーミング配信サーバ装置から配信を行うか（どのストリーミング配信サーバ装置を起動しておくか）の方策を消費電力を最小化するという目的関数を満たすように決定する配信サーバ装置決定モジュール１２と、クライアント装置３からのストリーミング配信要求に対して稼働しているストリーミング配信サーバ装置２のアドレスを1つ返答するアドレス返答モジュール１３と、既存のTCP/UDPプロトコルを用いて通信を行う通信モジュール１４とを有する。
【００２３】
配信数予測モジュール１１と配信サーバ装置決定モジュール１２とアドレス返答モジュール１３とからなる構成が本発明の提案に係る構成である。また、図４に示すとおり、アドレス返答モジュール１３は稼動サーバ装置情報格納部１３１を備え、配信数予測モジュールは予測値テーブル格納部１１１を備える。
【００２４】
ディスパッチサーバ装置１０のアドレス返答モジュール１３が、クライアント装置３からストリーミング配信要求を受け、ストリーミング配信サーバ装置２のアドレスを返答する際に、ディスパッチサーバ装置１０は、当該ストリーミング配信サーバ装置２のアドレスの発行回数を記憶手段に保存する。さらに、各配信サーバ装置２にて、クライアント装置１０へのストリーム配信が終了すると同時にディスパッチサーバ装置１０に対して、当該イベントを通知する。これにより、ディスパッチサーバ装置１０は各配信サーバ装置２における現在の配信数を把握することが可能となる。各配信サーバ装置における現在の配信数は、例えば配信数予測モジュール１１が算出し、メモリ等の記憶手段に保存する。
【００２５】
また、ディスパッチサーバ装置１０の配信サーバ装置決定モジュール１２は各ストリーミング配信サーバ装置２が配信しているコンテンツ情報（各クライアント装置の視聴開始時刻、当該コンテンツの視聴時間等）を定期的にストリーミング配信サーバ装置２に対して問い合わせることで取得することができるものとする。取得された情報により配信終了時間が算出され、記憶手段に保持される。配信終了時間は配信サーバ装置決定処理に用いられる。配信終了時間をディスパッチサーバ装置１０が算出するかわりに、配信終了時間を各配信サーバ装置が算出し、算出された配信終了時間をディスパッチサーバ装置１０が取得することとしてもよい。なお、以降、「配信サーバ装置２」は参照符号２を付けずに表記する。
【００２６】
本実施の形態では、配信サーバ装置の数をNとし、配信サーバ装置i（1≦i≦N）の消費電力をCiとする。また、配信サーバ装置管理者は各配信サーバ装置の最大配信数Miを予め決定し、ディスパッチサーバ装置１０の記憶手段に保存しておく。また、ディスパッチサーバ装置１０は、時刻tにおける、各配信サーバ装置の配信数をsi(t)として保持している。配信サーバ装置iにおいて、配信要求を以降受信しないとした場合における、配信数が0になるまでの配信終了時間をτiとする。さらに、時刻tにおける配信数（全体の配信数）の予測値をptと定義する。なお、配信数の予測値の更新は一定時間毎に行われるものとし、予測値の更新を行う際に、各配信サーバ装置の配信終了時間の取得や起動しておく配信サーバ装置数の変更を行うものとする。配信サーバ装置の配信数が0になれば、当該サーバ装置の電源を切るものとする。なお、配信サーバ装置に対して電源ＯＮ／ＯＦＦの制御を行う手段は、ディスパッチサーバ装置１０が備えてもよいし、ディスパッチサーバ装置１０から制御対象の配信サーバ装置の通知を受けた他の装置が備えてもよい。
【００２７】
ここで、上述した配信終了時間について図５を参照して説明する。図５に示すように、ディスパッチサーバ装置１０は、配信サーバ装置からコンテンツ毎の配信開始時刻を取得する。また、各コンテンツ（ストリーム）の時間長も取得する（もしくは予め別のサーバ等から取得しておく）。この場合、現在時刻（問い合わせ時刻、稼動配信サーバ装置決定時刻）以降、配信要求を受信しないものとした場合において、コンテンツ毎に{配信開始時刻+各コンテンツの視聴時間- 現在の時刻(問い合わせ時刻)}を算出し、算出した結果の中での最大値を「配信終了時間」（τi）とする。図５の例では、３分である。
【００２８】
本実施の形態に係るディスパッチサーバ装置１０は、例えば、ＣＰＵ、メモリ、及びハードディスク等を備えるコンピュータに、各モジュールの処理に対応するプログラムを実行させることにより実現可能である。当該プログラムは、可搬メモリ等の記憶媒体に格納して配布し、上記コンピュータにインストールして用いてもよいし、ネットワーク上のサーバからダウンロードして上記コンピュータにインストールしてもよい。また、ディスパッチサーバ装置１０を、各モジュールに対応するハードウェア回路を備えた装置として実現することもできる。
【００２９】
以下、本発明の実施の形態に係る各モジュールの処理を詳細に説明する。
【００３０】
＜配信数予測モジュール１１の処理＞
まず、配信数予測モジュール１１の処理内容を説明する。
【００３１】
配信数予測モジュール１１では、1日分の予測値を格納する予測値テーブル（テーブルサイズ： (24[時間]/T)+1 ）を予測値テーブル格納部１１１に保持しており、T時間間隔で予測値を記録しているものとする（時間の粒度（時間or分or秒）は任意、予め定めておく）。この時、配信数予測モジュール１１が動作を開始してからt時間後の予測値は[t/T+1]番目のカラムに記録されるものとし、各予測値は各T時間間隔における予測値とする。配信数予測モジュール１１が起動してからKT時間後（1≦K≦24/T）の予測値の更新は下記の式によって行われる。
【００３２】
【数１】
0005806976.tif 000002
上記の式におけるR(K-1)T,KTは時刻(K-1)TからKTまでの間の最大総配信数（配信サーバ装置全体の最大配信数）を示している。最大総配信数を基に予測値を更新する理由は、予想を超える配信が発生しないようにするためである。μ（0≦μ≦1）は平滑化係数と呼ばれ、μが大きいとpKTに重みがかかり、過去の予測値を重要視し、小さいとR(K-1)T,KTが重要視され、現在の最大配信数を重要視する。μの値は予め定めておく。上記の式は、24/T+1のテーブルを数日にまたがって予測値を更新する式であり、d日目の時刻KTの予測値（上記の式の左辺のpKT）をd-1日目の時刻KTの予測値pKT（右辺のpKT）とd日目の最大総配信数（右辺のR(K-1)T,KT）を基に更新する。上記の式を用いて、予測モジュールは24/T+1のサイズのテーブルを更新し、各時刻における予測値を保持する。
【００３３】
＜配信サーバ装置決定モジュール１２の処理＞
次に、消費電力を考慮した配信サーバ装置の稼働数を決定するための配信サーバ装置決定モジュール１２の処理について説明する。
【００３４】
まず、配信サーバ装置決定モジュール１２に関する全体の処理の流れを図６を参照して説明する。配信サーバ装置決定モジュール１２は、時刻nTにて、(n+1)Tの予測値やコンテンツ情報（配信終了時間）を用いて（ステップ１）、nTから(n+1)Tの間に起動させておく配信サーバ装置を決定し（ステップ２）、決定結果である配信サーバ装置の識別情報（アドレス）を、アドレス返答モジュール１３の稼動サーバ装置情報格納部１３１に格納する（ステップ３）。ここでは、起動させておく配信サーバ装置の集合X⊂{1, 2, ..., N}の消費電力に基づく評価値f(X)を
【００３５】
【数２】
0005806976.tif 000003
とする。α（0≦α≦1）は割引率を示し、将来の消費電力に対する重みを示す。αが大きければ将来の消費電力を考慮し、小さければ将来の消費電力を考慮しない。具体的には、αを小さくすると、αが大きい場合と比較して、f(x)が低く見積もられる。最大配信数は変わらず、消費電力の評価値を低く見積もられた配信サーバ装置は動的計画法によって選択されやすくなる。なお、αは定数であり、事前にサーバ装置管理者が決定し、ディスパッチサーバ装置１０に設定しておくものである。P(X, t)は時刻tにおける起動させておく配信サーバ装置群の消費電力を示しており、配信サーバ装置iの消費電力をCiとすると
【００３６】
【数３】
0005806976.tif 000004
となる。なお、各配信サーバ装置の消費電力は、配信数にかかわらず一定であるという前提をおく。これは事前実験の結果から、配信サーバ装置の消費電力が配信数によらずほぼ一定と見なせることができるからである。事前実験の結果を図７に示す。
【００３７】
時刻nTにて、(n+1)Tの予測値を用いて、nTから(n+1)Tの間に起動させておく配信サーバ装置を決定する際に、(n+1)Tの予測値として表されるストリームの配信数p(n+1)Tを収容しつつ将来的な消費電力を最小化する目的関数は
【００３８】
【数４】
0005806976.tif 000005
と表すことができる。tは時刻nTからの経過時間を示している。ここで、配信を行っているk台の配信サーバ装置の配信終了時間で各配信サーバ装置番号をソートする（配信を行っていないN-k台の配信サーバ装置は配信終了時間を0とする）。その結果、配信終了時間が0＜τ1＜τ2＜ ... ＜τk、τk+1＝τk+2＝ ... ＝τN＝0として表すことができる。上記の式は、
【００３９】
【数５】
0005806976.tif 000006
の区間にて
【００４０】
【数６】
0005806976.tif 000007
と表すことができ、τ0＝0としたとき、
【００４１】
【数７】
0005806976.tif 000008
とすると、f(X)は
【００４２】
【数８】
0005806976.tif 000009
となる。ここで、P(X, τi-1)を配信サーバ装置の消費電力Ciの総和を用いて表すと、
【００４３】
【数９】
0005806976.tif 000010
但し、
【００４４】
【数１０】
0005806976.tif 000011
である。
【００４５】
【数１１】
0005806976.tif 000012
の消費電力に対応する配信サーバ装置は、ディスパッチサーバ装置１０からクライアント装置３に対して当該配信サーバ装置のアドレスを発行するかどうかに関係なく、消費される電力（定数）のため、考慮しない。
【００４６】
【数１２】
0005806976.tif 000013
は稼働中の配信サーバ装置を継続して動作した場合の消費電力に相当する。なお、配信終了時間が長いサーバ装置ほど継続して利用される。
【００４７】
【数１３】
0005806976.tif 000014
は新たに稼働させる配信サーバ装置の消費電力を示している。つまり、現在稼働中のサーバ装置を継続して稼働させた場合と、新たに配信サーバ装置を稼働する場合の消費電力を考慮し、時刻nTにおいて、時刻(n+1)Tのクライアント装置３からの配信要求の予想値（総和）を収容できかつ消費電力を最小化する動的計画法の目的関数とその条件式は
【００４８】
【数１４】
0005806976.tif 000015
のように表すことができ、この目的関数を満たす配信サーバ装置群を動的計画法で導くことが可能となる。すなわち、図８に示すように、継続して稼動させる配信サーバ装置群の重み付きの消費電力と追加する配信サーバ群の重み付きの消費電力の和が最小になるように、配信サーバ装置群を決定する。
【００４９】
なお、上記の目的関数と条件式を満たす稼働サーバ装置群を求めるためには、配信要求の予想値と各配信サーバ装置における配信終了時間、消費電力、および最大配信数を用いる必要があるが、配信要求の予想値については配信数予測モジュール１１が算出した値を用い、配信終了時間については前述したとおりに算出または取得する。各配信サーバ装置の消費電力、および最大配信数については、予めディスパッチサーバ装置１０に登録しておいてもよいし、必要に応じて各配信サーバ装置あるいはその他の装置から取得してもよい。
【００５０】
＜アドレス返答モジュール１３の処理＞
次に、アドレス返答モジュール１３の処理について説明する。
【００５１】
図９に示すように、アドレス返答モジュール１３は、クライアント装置３からの配信要求を受け（ステップ１１）、それに対して稼働中のストリーミング配信サーバ装置のアドレスを返答する（ステップ１２）。本実施の形態では、他の２つのモジュールによって決定された稼働配信サーバ装置群の中から、最大配信数から最も配信数が下回っている稼働中のストリーミング配信サーバ装置のアドレスを返答するものとする。なお、クライアント装置３からの配信要求を受けた際には、配信数予測モジュール１１を通して予測値算出のための配信数の更新も行う（ステップ１３）。
【００５２】
具体的には、時刻tにクライアント装置３からのストリーミング配信要求を受信した際、各配信サーバ装置の配信数si(t)と最大配信数Miから
【００５３】
【数１５】
0005806976.tif 000016
を満たす配信サーバ装置のアドレスを返答することによって、各配信サーバ装置の負荷を均一にする。
【００５４】
（実験）
本実施の形態に係る提案手法の有効性を検証するためにシミュレーションによる比較実験を行った。シミュレーションのパラメータを図１０に示す。クライアント装置３のリクエストの到着率はポアソン分布を仮定し、各リクエストによって確立されるストリームの長さ（クライアント装置の視聴時間）は包絡線モデルを用いて、ストリーミングの配信モデルを構築する（非特許文献４）。
【００５５】
包絡線モデルとは、ストリーミングサービスの実ログから導かれたモデルであり、ある120分の映画コンテンツの視聴人数の1/3が開始から10分以内で視聴をやめ、1/3がほぼ最後まで視聴し、残りの1/3の視聴時間が離散化されているモデルである。この割合を各コンテンツの視聴時間で正規化したものを本実験では、各ストリームの視聴時間として用いる。配信数予測モジュール１１は、実験期間（3日）のうち2日間の間のリクエスト数に対して、1時間毎にリクエスト数の予測値を更新する。3日目からは、配信数予測モジュール１１の予測値を利用して、配信サーバ装置決定モジュール１２によって配信サーバ装置を決定することにする。3日目の積算消費電力を計測した計測結果を図１１に示す。グラフより、本実施の形態に係る提案手法の方が従来手法（動的計画法）に比べて消費電力を15.6%削減することが可能になった。
【００５６】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【００５７】
１  カメラ  
２  配信サーバ装置
３  クライアント装置
１０  ディスパッチサーバ装置
１１  配信数予測モジュール
１２  配信サーバ装置決定モジュール
１３  アドレス返答モジュール
１４  通信モジュール
１００  データセンタ
１１１  予測値テーブル格納部
１３１  稼動サーバ装置情報格納部
【図１】
0005806976.tif 000017
【図２】
0005806976.tif 000018
【図３】
0005806976.tif 000019
【図４】
0005806976.tif 000020
【図５】
0005806976.tif 000021
【図６】
0005806976.tif 000022
【図７】
0005806976.tif 000023
【図８】
0005806976.tif 000024
【図９】
0005806976.tif 000025
【図１０】
0005806976.tif 000026
【図１１】
0005806976.tif 000027