(57)【特許請求の範囲】
【請求項１】
外部ネットワークを介して接続する複数の配信サーバと、
前記複数の配信サーバを監視し、当該配信サーバ間を移動可能な複数の仮想マシンの移動を管理する仮想マシン管理サーバと、
前記配信サーバと前記仮想マシン管理サーバとが内部ネットワークを介して接続し、移動する仮想マシンと当該仮想マシンの移動先配信サーバとを決定する仮想マシン割当装置と
を備える配信システムであって、
前記仮想マシン割当装置は、
各仮想マシンから、当該仮想マシンにおいて前記外部ネットワークを介して接続している通信装置との配信処理における現在接続数を受信し、
前記各仮想マシンの現在接続数と、各配信サーバが前記外部ネットワークを介して接続している通信装置との配信処理における最大接続数とに基づき、
前記配信サーバに所属したときの前記各仮想マシンの現在接続数の合計が当該配信サーバの最大接続数以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出するように、前記仮想マシンそれぞれの移動先配信サーバを決定する
ことを特徴とする配信システム。
【請求項２】
前記仮想マシン管理サーバは、
前記各仮想マシンが所属している配信サーバの所属情報を取得し、
前記仮想マシン割当装置は、
前記現在接続数と前記最大接続数と前記所属情報とに基づき、
前記配信サーバに所属したときの前記各仮想マシンの現在接続数の合計が当該配信サーバの最大接続数以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出するようにできる前記移動先配信サーバの組み合わせを算出し、前記組み合わせの中から前記仮想マシンを移動させる処理回数が最小になるように、前記仮想マシンそれぞれの移動先配信サーバを決定する
ことを特徴とする請求項１に記載された配信システム。
【請求項３】
前記仮想マシン割当装置は、
前記各仮想マシンから前記各仮想マシンの現在接続数を受信したときに更新される、前記仮想マシンの識別情報と、当該仮想マシンが前記外部ネットワークを介して接続している通信装置の現在接続数とを対応付けて記憶する仮想マシン接続数管理テーブルと、
前記配信サーバの識別情報と、当該配信サーバにおいて前記外部ネットワークを介して接続している通信装置との配信処理における最大接続数とを対応付けて記憶する配信サーバ最大接続数管理テーブルと
を備えることを特徴とする請求項１または請求項２に記載された配信システム。
【請求項４】
前記配信サーバは、各部に供給される供給電力を制御する電力制御部を備え、
前記仮想マシン管理サーバは、前記配信サーバに供給電力の制御を指示する配信サーバ電源管理部をさらに備え、
前記仮想マシン割当装置は、前記仮想マシンそれぞれの移動先配信サーバを決定した後で、前記仮想マシンが所属しない配信サーバの情報を、前記仮想マシン管理サーバに提供する
ことを特徴とする請求項１乃至請求項３のいずれか１項に記載された配信システム。
【請求項５】
前記配信サーバは、前記外部ネットワークを介して、マルチメディアコンテンツをストリーミング配信することを特徴とする請求項１乃至請求項４のいずれか１項に記載された配信システム。
【請求項６】
前記仮想マシン割当装置は、
さらに、前記各仮想マシンが前記外部ネットワークとの通信における現在配信ビットレート値と、各配信サーバが前記外部ネットワークとの通信における最大配信ビットレート値とに基づき、
前記配信サーバに所属したときの前記各仮想マシンの現在接続数の合計が当該配信サーバの最大接続数以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出し、かつ、前記配信サーバに所属したときの前記各仮想マシンの現在配信ビットレート値の合計が当該配信サーバの最大配信ビットレート値以下になるように、
前記仮想マシンそれぞれの移動先配信サーバを決定する
ことを特徴とする請求項１乃至請求項５のいずれか１項に記載された配信システム。
【請求項７】
外部ネットワークを介して接続する複数の配信サーバと、
前記複数の配信サーバを監視し、当該配信サーバ間を移動可能な複数の仮想マシンの移動を管理する仮想マシン管理サーバと、
前記配信サーバと前記仮想マシン管理サーバとが内部ネットワークを介して接続し、移動する仮想マシンと当該仮想マシンの移動先配信サーバとを決定する仮想マシン割当装置と
を備える配信システムであって、
前記仮想マシン割当装置は、
各仮想マシンから、当該仮想マシンの前記外部ネットワークとの通信における現在配信ビットレート値を受信し、
前記各仮想マシンが前記外部ネットワークとの通信における現在配信ビットレート値と、各配信サーバが前記外部ネットワークとの通信における最大配信ビットレート値とに基づき、
前記配信サーバに所属したときの前記各仮想マシンの現在配信ビットレート値の合計が当該配信サーバの最大配信ビットレート値以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出するように、前記仮想マシンそれぞれの移動先配信サーバを決定する
ことを特徴とする配信システム。
【請求項８】
外部ネットワークと接続する複数の配信サーバと内部ネットワークを介して接続し、前記複数の配信サーバ間を移動可能な複数の仮想マシンの移動先配信サーバを決定する仮想マシン割当装置であって、
各仮想マシンから取得した、前記外部ネットワークを介して接続している通信装置との配信処理における現在接続数と、各配信サーバが前記外部ネットワークを介して接続している通信装置との配信処理における最大接続数とに基づき、
前記配信サーバに所属したときの前記各仮想マシンの現在接続数の合計が当該配信サーバの最大接続数以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出するように、前記仮想マシンそれぞれの移動先配信サーバを決定する決定処理手段を有する
ことを特徴とする仮想マシン割当装置。
【請求項９】
外部ネットワークと接続する複数の配信サーバと内部ネットワークを介して接続し、前記複数の配信サーバ間を移動可能な複数の仮想マシンの移動先配信サーバを決定する仮想マシン割当装置であって、
前記仮想マシン割当装置は、
各仮想マシンから取得した、当該仮想マシンの前記外部ネットワークとの通信における現在配信ビットレート値と、各配信サーバが前記外部ネットワークとの通信における最大配信ビットレート値とに基づき、
前記配信サーバに所属したときの前記各仮想マシンの現在配信ビットレート値の合計が当該配信サーバの最大配信ビットレート値以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出するように、前記仮想マシンそれぞれの移動先配信サーバを決定する決定処理手段を有する
ことを特徴とする仮想マシン割当装置。
【請求項１０】
外部ネットワークと接続する複数の配信サーバと内部ネットワークを介して接続し、前記複数の配信サーバ間を移動可能な複数の仮想マシンの移動先配信サーバを決定するコンピュータに実行させるプログラムであって、
前記コンピュータを、
各仮想マシンから取得した、前記外部ネットワークを介して接続している通信装置との配信処理における現在接続数と、各配信サーバが前記外部ネットワークを介して接続している通信装置との配信処理における最大接続数とに基づき、
前記配信サーバに所属したときの前記各仮想マシンの現在配信数の合計が当該配信サーバの最大接続数以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出するように、前記仮想マシンそれぞれの移動先配信サーバを決定する決定処理手段、
として機能させるためのプログラム。
【請求項１１】
外部ネットワークと接続する複数の配信サーバと内部ネットワークを介して接続し、前記複数の配信サーバ間を移動可能な複数の仮想マシンの移動先配信サーバを決定するコンピュータに実行させるプログラムであって、
前記コンピュータを、
各仮想マシンから取得した、当該仮想マシンの前記外部ネットワークとの通信における現在配信ビットレート値と、各配信サーバが前記外部ネットワークとの通信における最大配信ビットレート値とに基づき、
前記配信サーバに所属したときの前記各仮想マシンの現在配信ビットレート値の合計が当該配信サーバの最大配信ビットレート値以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出するように、前記仮想マシンそれぞれの移動先配信サーバを決定する決定処理手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、配信システムおよび仮想マシン割当装置に関し、特に、仮想マシン割当装置および複数の各種サーバを備えるシステムにおいて低消費電力化を実現する配信システムおよび仮想マシン割当装置に関する。
【背景技術】
【０００２】
仮想化技術の一つに、ホストサーバが１つしか存在しないにもかかわらず、あたかも複数のホストサーバが存在して、それらのホストサーバがそれぞれ独立して動作する仮想マシン技術がある。このような仮想マシン技術を利用している製品として、例えばVMware社のESX Server（登録商標）やMicrosoft社のVirtual Server（登録商標）などが挙げられる。
【０００３】
この仮想マシン技術は、ホストサーバで稼働中の仮想マシンを、オンライン状態のまま別のホストサーバに移動するホット・マイグレーションという機能を有している。この機能を利用して、仮想マシンのリアルタイムにおける消費電力、およびホストサーバのリアルタイムの残電力に基づいて、ホストサーバの稼働数をできる限り低減する条件を満たすように、ホストサーバの最大電力の範囲で仮想マシンを移動させて集約し、仮想マシンが所属しないサーバを捻出する。そして、当該集約により仮想マシンが所属しないサーバを停止（電源ＯＦＦ）させて、電力の消費量を低減させるサーバシステムがある（例えば、特許文献１参照）。
【０００４】
また、ホストサーバは、音楽や映像などマルチメディアコンテンツをストリーミング配信する場合、コンテンツを視聴する側のクライアント装置に、ＩＥＴＦ（Internet Engineering Task Force）によりＲＦＣ２３２６で規定されたＲＴＳＰ（Real Time Streaming Protocol）を利用して配信する。このときのＲＴＳＰのシーケンス例が非特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１６９８５８号公報
【非特許文献】
【０００６】
【非特許文献１】「マルチメディア配信技術」、Jan 2001、NTT DoCoMo テクニカル・ジャーナル Vol.8 No.4（p.46〜47，図５）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来のサーバシステムは、ホストサーバ（配信サーバ）で消費される電力を基準に、仮想マシンを移動させていたため、移動先ホストサーバ（移動先配信サーバ）の能力（例えば、処理能力や通信能力など）が考慮されていなかった。これにより、所属する仮想マシンそれぞれを実行するための能力が足りなくなった移動先配信サーバは、負荷がかかりすぎたことにより、クライアント装置にマルチメディアコンテンツを遅滞なくストリーミング配信することができないという問題がある。
【０００８】
本発明は、以上のような問題を解決するためになされたものであり、配信サーバの能力を考慮して、仮想マシンが所属しない配信サーバを捻出する配信システムおよび仮想マシン割当装置を提供することを課題とする。
【課題を解決するための手段】
【０００９】
前記課題を解決するために、本発明の配信システムは、外部ネットワークを介して接続する複数の配信サーバと、前記複数の配信サーバを監視し、当該配信サーバ間を移動可能な複数の仮想マシンの移動を管理する仮想マシン管理サーバと、前記配信サーバと前記仮想マシン管理サーバとが内部ネットワークを介して接続し、移動する仮想マシンと当該仮想マシンの移動先配信サーバとを決定する仮想マシン割当装置とを備える配信システムであって、前記仮想マシン割当装置は、各仮想マシンから、当該仮想マシンにおいて前記外部ネットワークを介して接続している通信装置との配信処理における現在接続数を受信し、前記各仮想マシンの現在接続数と、各配信サーバが前記外部ネットワークを介して接続している通信装置との配信処理における最大接続数とに基づき、前記配信サーバに所属したときの前記各仮想マシンの現在接続数の合計が当該配信サーバの最大接続数以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出するように、前記仮想マシンそれぞれの移動先配信サーバを決定することを特徴とする。
【００１０】
また、仮想マシン割当装置は、外部ネットワークと接続する複数の配信サーバと内部ネットワークを介して接続し、前記複数の配信サーバ間を移動可能な複数の仮想マシンの移動先配信サーバを決定する仮想マシン割当装置であって、各仮想マシンから、前記外部ネットワークを介して接続している通信装置との配信処理における現在接続数と、各配信サーバが前記外部ネットワークを介して接続している通信装置との配信処理における最大接続数とに基づき、前記配信サーバに所属したときの前記各仮想マシンの現在接続数の合計が当該配信サーバの最大接続数以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出するように、前記仮想マシンそれぞれの移動先配信サーバを決定する決定処理手段を有することを特徴とする。
また、本発明に係るプログラムは、外部ネットワークと接続する複数の配信サーバと内部ネットワークを介して接続し、前記複数の配信サーバ間を移動可能な複数の仮想マシンの移動先配信サーバを決定するコンピュータに実行させるプログラムであって、前記コンピュータを、各仮想マシンから、前記外部ネットワークを介して接続している通信装置との配信処理における現在接続数と、各配信サーバが前記外部ネットワークを介して接続している通信装置との配信処理における最大接続数とに基づき、前記配信サーバに所属したときの前記各仮想マシンの現在配信数の合計が当該配信サーバの最大接続数以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出するように、前記仮想マシンそれぞれの移動先配信サーバを決定する決定処理手段、として機能させる、ことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、配信サーバの能力を考慮して、仮想マシンが所属しない配信サーバを捻出することができる。これにより、稼動中の配信サーバの処理能力を格段に落とすことなく、仮想マシンが所属しない配信サーバを待機状態にすることができ、当該配信サーバの電源を落とすことや、当該配信サーバに供給する電力を待機するために必要な最小限の量に抑えることができる。そのため、配信サーバを含む配信システム全体における省電力効果が期待できる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態に係る配信システムの構成を示す図である。
【図２】仮想マシンの構成を示す図である。
【図３】配信サーバ最大接続数管理テーブルの一例を示す図である。
【図４】仮想マシン接続数管理テーブルの一例を示す図である。
【図５】ＲＴＳＰのシーケンスの一例を示す図である。
【図６】SETUPメッセージの一例を示す図である。
【図７】図６のSETUPメッセージに対するレスポンスメッセージの一例を示す図である。
【図８】PLAYメッセージの一例を示す図である。
【図９】図８のPLAYメッセージに対するレスポンスメッセージの一例を示す図である。
【図１０】TEARDOWNメッセージの一例を示す図である。
【図１１】図１０のTEARDOWNメッセージに対するレスポンスメッセージの一例を示す図である。
【図１２Ａ】仮想マシン割当サーバが行う集約処理を説明するためのシーケンス図の一例を示す図である。
【図１２Ｂ】図１２Ａの仮想マシン移動処理の完了確認において、仮想マシン移動要求メッセージが同期メッセージである場合のシーケンス図の一例を示す図である。
【図１２Ｃ】図１２Ａの仮想マシン移動処理の完了確認において、仮想マシン移動要求メッセージが非同期メッセージである場合のシーケンス図の一例を示す図である。
【図１３】第２の実施形態に係る配信システムの構成を示す図である。
【図１４】DESCRIBEメソッドを含むリクエストメッセージの一例を示す図である。
【図１５】図１４のリクエストメッセージに対するレスポンスメッセージの一例を示す図である。
【図１６】最大配信ビットレート値管理テーブルの一例を示す図である。
【図１７】配信ビットレート値管理テーブルの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施の形態（以下、「本実施形態」と称する）につき詳細に説明する。なお、各図は、本発明について概略的に示してあるに過ぎない。よって、本発明は、図示例のみに限定されるものではない。また、各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
【００１４】
《第１の実施形態》
（配信システム１）
図１に示すように、配信システム１は、複数の配信サーバ２（２ａ，２ｂ，２ｃ）と、仮想マシン管理サーバ３と、蓄積サーバ４と、仮想マシン割当サーバ５と、複数の外部装置９（９ａ，９ｂ，９ｃ）と、内部ネットワークＮＷ１と、外部ネットワークＮＷ２とで構成される。
複数の配信サーバ２と、仮想マシン管理サーバ３と、蓄積サーバ４と、仮想マシン割当サーバ５とは、内部ネットワークＮＷ１を介して通信可能に接続される。また、複数の配信サーバ２と、複数の外部装置９とは、外部ネットワークＮＷ２を介して通信可能に接続される。
図１では、配信サーバ２および外部装置９はそれぞれ３台で図示しているが、本発明は最大台数を制限しない。特に、配信サーバ２は２台以上あればよい。
【００１５】
なお、配信サーバ２、仮想マシン管理サーバ３、蓄積サーバ４、仮想マシン割当サーバ５および、外部装置９は、図示を省略したＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disc Drive）などを備えた一般的なコンピュータで構成することができ、コンピュータを前記した各手段として機能させるプログラムにより実現することができる。
【００１６】
また、第１の実施形態における配信サーバ２には、予めVMware社の“VMware（登録商標） ESXi”がインストールされている。また、仮想マシン管理サーバ３には、予めVMware社の“VMware（登録商標） vCenter Server”がインストールされている。そして、配信サーバ２には、仮想マシン管理サーバ３から内部ネットワークＮＷ１を介して、“VMware（登録商標） vCenter Serverエージェント”がインストールされている。
その他の構成として、Citrix社の“XenServer”、Red Hat社の“Red Hat Enterprise Virtualization for Servers”がある。
さらに、配信サーバ２には、予め仮想マシン追加機能アプリケーション（以下、“仮想マシン追加ＡＰ”とする）がインストールされている。
【００１７】
（内部ネットワークＮＷ１）
内部ネットワークＮＷ１は、例えば、有線／無線ＬＡＮ（Local Area Network）などを介して、インターネットプロトコル（Internet Protocol）技術を利用して相互接続されるコンピュータネットワークである。また、ＬＡＮ以外にも、ZigBee（登録商標）やBluetooth（登録商標）であってもよい。
【００１８】
（外部ネットワークＮＷ２）
外部ネットワークＮＷ２は、例えば、ＷＡＮ（Wide Area Network）や有線／無線ＬＡＮなどを介して、インターネットプロトコル技術を利用して相互接続されるコンピュータネットワークである。また、ＬＡＮ以外にも、ZigBee（登録商標）やBluetooth（登録商標）であってもよい。
【００１９】
また、配信サーバ２（２ａ，２ｂ，２ｃ）は互いに図示しない共有ストレージを介して、vMotion専用のギガビット・イーサネット（登録商標）で接続されている。本発明は、仮想マシンＶＭの移動先を決定することを目的としているものであるため、その後の仮想マシンＶＭを移動する処理の説明について省略する。
【００２０】
（外部装置９）
外部装置９（９ａ，９ｂ，９ｃ）は、例えば、ＰＣ（Personal Computer）などであり、利用者（視聴者）が外部装置９の操作部（不図示）を介して、映像の視聴要求を入力することで、外部装置９は配信サーバ２との通信を開始し、配信サーバ２からストリーミング配信されるメディアデータ（映像データ）を受信して、ディスプレイなどの表示部（不図示）に映像を表示させる。
【００２１】
（配信サーバ２）
配信サーバ２（２ａ，２ｂ，２ｃ）は、仮想マシンＶＭ（ＶＭ１，ＶＭ２，ＶＭ３，・・・）として動作させる仮想マシン制御部と、配信状態記録部２１と、電力制御部２２とを備える。
配信状態記録部２１は、データを記憶する構成部であって、例えば、ＨＤＤ、ＲＡＭ、光ディスクなどの記憶手段である。
電力制御部２２は、不図示の外部電源と接続し、配信サーバ２内部への電力供給量を制限する構成部であり、図示しないＣＰＵによるプログラム実行処理や専用回路などにより実現される。
【００２２】
前記したように、配信サーバ２には、予めVMware社の“VMware（登録商標） ESXi”や“VMware（登録商標）vCenter Serverエージェント”、“仮想マシン追加ＡＰ”がインストールされており、不図示の仮想マシン制御部（ＣＰＵなど）により、それらのアプリケーションが実行されることで、配信サーバ２は仮想マシンＶＭとして動作する。
図１では、第１の実施形態において、配信サーバ２ａに仮想マシンＶＭ１と仮想マシンＶＭ２とが所属することが示されている。これは、配信サーバ２ａは、仮想マシンＶＭ１として動作すると共に、仮想マシンＶＭ２としても動作することを示している。
同様に、図１に示すように、配信サーバ２ｂには、仮想マシンＶＭ３と仮想マシンＶＭ４とが所属し、配信サーバ２ｃには、仮想マシンＶＭ５が所属している。
これら仮想マシンＶＭには、それぞれを識別する番号（仮想マシンＩＤ）が付与されており、仮想マシンＶＭ１には“ＶＭ−ＩＤ０１”、仮想マシンＶＭ２には“ＶＭ−ＩＤ０２”、仮想マシンＶＭ３には“ＶＭ−ＩＤ０３”、仮想マシンＶＭ４には“ＶＭ−ＩＤ０４”、仮想マシンＶＭ５には“ＶＭ−ＩＤ０５”がそれぞれ仮想マシンＩＤとして付与されている。
【００２３】
配信サーバ２は、外部ネットワークＮＷ２を介して接続された外部装置９からの要求に応じて、内部ネットワークＮＷ１を介して接続された（後記する）蓄積サーバ４からメディアデータ（映像データ）を取得して、外部装置９とのストリーミング配信（配信処理）を行う。
また、配信サーバ２は、内部ネットワークＮＷ１を介して接続された仮想マシン割当サーバ５と通信を行う。詳細は後記する。
【００２４】
配信サーバ２は、“Session_ID”で識別されるセッションで接続される外部装置９との配信状態が記録される配信状態記録部２１を備える。この配信状態記録部２１に記録される配信状態は、セッションが接続されているものの配信データをまだ配信できない状態（待機中）であれば「０」であり、一方、セッションが接続されており配信データを配信できる状態（配信中）であれば「１」である。例えば、配信状態記録部２１には“Session_ID”と配信状態とが（Session_ID,1）のように記録される。また、セッションが開放された場合、配信サーバ２は、そのセッションに係る“Session_ID”のデータを配信状態記録部２１から削除する。
【００２５】
また、配信サーバ２は、仮想マシンＶＭとして動作して、内部ネットワークＮＷ１を介して接続された仮想マシン管理サーバ３からの指示（vMotion機能）に応じて、仮想マシンＶＭが外部装置９と確立したセッションを切断することなく、自装置に所属する仮想マシンＶＭを別の配信サーバ２に移動させる処理を行ったり、別の配信サーバ２から移動してきた仮想マシンＶＭを所属させたりする。
【００２６】
（仮想マシンＶＭ）
図２に示すように、仮想マシンＶＭは、ＶＯＤシステム部２０１と、ＲＴＳＰ監視部２０２とを有する。
仮想マシンＶＭは、配信サーバ２の制御部（ＣＰＵ）により、VMware社のアプリケーションが実行されることでvMotion機能を有する。このvMotion機能は、配信サーバ２（例えば、配信サーバ２ａ）で稼働中の当該仮想マシンＶＭを、オンライン状態のまま別の配信サーバ２（例えば、配信サーバ２ｂ）に移動することができるという機能である。
ＶＯＤシステム部２０１は、ビデオオンデマンド（Video On Demand）を実現する構成部であり、外部装置９からの要求に応じて、蓄積サーバ４から要求されるメディアデータを取得して、外部装置９とのストリーミング配信を行う。
【００２７】
また、仮想マシンＶＭは、配信サーバ２の制御部（ＣＰＵ）により仮想マシン追加ＡＰが実行されることで、以下の機能を実行するＲＴＳＰ監視部２０２を有する。
（１）セッションＩＤ記録機能
（２）配信開始記録機能
（３）配信停止記録機能
このＲＴＳＰ監視部２０２は、配信サーバ２（仮想マシンＶＭ）と外部装置９との間で通信されるＲＴＳＰパケットを監視し、各機能を実行する。以下に、各機能の詳細について説明する。
【００２８】
（１）セッションＩＤ記録機能
配信サーバ２（仮想マシンＶＭ）は、外部装置９から送信されるSETUPメッセージ（リクエストメッセージ）に対して、送信元の外部装置９と接続するセッションを識別する“Session_ID”を含むレスポンスメッセージを送信する。このとき、ＲＴＳＰ監視部２０２は、配信状態記録部２１に“Session_ID”の配信状態を「０」（待機中）で記録させる。
【００２９】
（２）配信開始記録機能
配信サーバ２（仮想マシンＶＭ）は、外部装置９から送信される（初回の）PLAYメッセージ（リクエストメッセージ）に対して、送信元の外部装置９と接続するセッションを識別する“Session_ID”を含むレスポンスメッセージを送信する。このレスポンスメッセージに含まれる“Status_Code”が“200 OK”の場合、ＲＴＳＰ監視部２０２は、該当する“Session_ID”の配信状態を「１」（配信中）で配信状態記録部２１に記録させる。このとき、記録している全データについて、配信状態のカウンタが「１」である個数（接続数）を求め、仮想マシンＶＭの識別番号（仮想マシンＩＤ）と接続数とを含めた配信状態通知メッセージを生成し、仮想マシン割当サーバ５に送信する。
ここで接続数とは、仮想マシンＶＭ（配信サーバ２）が外部ネットワークＮＷ２を介して、外部装置９と現在確立しているセッションの数である。配信サーバ２は、外部装置９にメディアコンテンツをストリーミング配信するごとに、外部装置９と新たにセッションを確立する。
【００３０】
（３）配信停止記録機能
配信サーバ２（仮想マシンＶＭ）は、外部装置９から送信されるTEARDOWNメッセージ（リクエストメッセージ）に対して、送信元の外部装置９と接続するセッションを識別する“Session_ID”を含むレスポンスメッセージを送信する。そして、ＲＴＳＰ監視部２０２は、このレスポンスメッセージに含まれる“Session_ID”に係るデータを配信状態記録部２１から削除する。
さらに、ＲＴＳＰ監視部２０２は、配信状態記録部２１に記録されている全てのデータに対して、配信状態が「１」であるデータ数（接続数）を求め、仮想マシンＶＭの識別番号（仮想マシンＩＤ）と接続数とを含めた配信状態通知メッセージを生成し、仮想マシン割当サーバ５に送信する。
【００３１】
（仮想マシン管理サーバ３）
仮想マシン管理サーバ３は、内蔵する制御部（ＣＰＵ）がVMware社のアプリケーション“VMware（登録商標） vCenter Server”を実行することで一般的な機能として、仮想マシン監視手段３１と、仮想マシン移動手段３２と、配信サーバ電源管理手段３３とを実現する装置である。
【００３２】
（仮想マシン監視手段３１）
仮想マシン監視手段３１は、仮想マシンＶＭが所属する配信サーバ２（所属中配信サーバ）の情報を取得する。
【００３３】
（仮想マシン移動手段３２）
仮想マシン移動手段３２は、仮想マシンＶＭを、所属中配信サーバ２から別の配信サーバ２（所属先配信サーバ）に移動させる。
【００３４】
（配信サーバ電源管理手段３３）
配信サーバ電源管理手段３３は、配信サーバ２に電力供給量を制限させる指示をする。例えば、配信サーバ電源管理手段３３は、電源のＯＮ／ＯＦＦを切り替える指示をする。また、配信サーバ２が「通常モード」と、通常モードより少ない電力で駆動する「省電力モード（スタンバイモード）」とを備える場合、配信サーバ電源管理手段３３は、配信サーバ２に対して、「通常モード」または「省電力モード」に切り替える指示をする。
【００３５】
（蓄積サーバ４）
蓄積サーバ４は、配信データを蓄積するサーバである。例えば、ストリーミング配信される音楽や映像などのメディアデータである。蓄積サーバ４は、配信サーバ２（仮想マシンＶＭ）からの要求に応じて、要求された配信データを配信サーバ２に出力する。
【００３６】
（仮想マシン割当サーバ５）
仮想マシン割当サーバ５は、仮想マシンＶＭの移動先の配信サーバ２を決定する仮想マシン集約手段５１と、配信サーバ最大接続数管理テーブル５２（図３）と、仮想マシン接続数管理テーブル５３（図４）とを備える。
【００３７】
（配信サーバ最大接続数管理テーブル５２）
配信サーバ最大接続数管理テーブル５２は、配信サーバ２を識別する“配信サーバＩＤ”と、その配信サーバＩＤに該当する配信サーバ２が確立可能なセッションの最大数を示す“最大接続数”とを記憶する。
図３に、図１の状態であるときの配信サーバ最大接続数管理テーブル５２の一例を示す。配信サーバ最大接続数管理テーブル５２には、配信サーバＩＤ“ＮＳ−ＩＤ２ａ”で識別される配信サーバ２ａの最大接続数が“１０”であること、配信サーバＩＤ“ＮＳ−ＩＤ２ｂ”で識別される配信サーバ２ｂの最大接続数が“９”であること、配信サーバＩＤ“ＮＳ−ＩＤ２ｃ”で識別される配信サーバ２ｃの最大接続数が“６”であることが記憶されている。
ここで、“最大接続数”は、配信サーバ２が確立可能なセッションの最大数でなくてもよく、余裕をもたせた数値であってもよい。例えば、最大数の８０％の数値であってもよい。
【００３８】
（仮想マシン接続数管理テーブル５３）
仮想マシン接続数管理テーブル５３は、仮想マシンＶＭを識別する“仮想マシンＩＤ”と、その仮想マシンＩＤに該当する仮想マシンＶＭが現在確立しているセッションの数を示す“接続数”とを記憶する。
図４に、図１の状態であるときの仮想マシン接続数管理テーブル５３の一例を示す。仮想マシン接続数管理テーブル５３には、仮想マシンＩＤ“ＶＭ−ＩＤ０１”で識別される仮想マシンＶＭ１の接続数が“６”であること、仮想マシンＩＤ“ＶＭ−ＩＤ０２”で識別される仮想マシンＶＭ２の接続数が“２”であること、仮想マシンＩＤ“ＶＭ−ＩＤ０３”で識別される仮想マシンＶＭ３の接続数が“４”であること、仮想マシンＩＤ“ＶＭ−ＩＤ０４”で識別される仮想マシンＶＭ４の接続数が“１”であること、仮想マシンＩＤ“ＶＭ−ＩＤ０５”で識別される仮想マシンＶＭ５の接続数が“３”であることが記憶されている。
【００３９】
（仮想マシン集約手段５１）
仮想マシン集約手段５１は、配信サーバ２（仮想マシンＶＭ）から配信状態通知メッセージを受信したことを契機に、配信サーバ２間で仮想マシンＶＭを移動させて、仮想マシンＶＭが所属しない配信サーバ２が存在するような、配信サーバ２（２ａ〜２ｃ）と仮想マシンＶＭ（ＶＭ１〜ＶＭ５）との組み合わせを探索し、その組み合わせを抽出する構成部である。
【００４０】
仮想マシン集約手段５１は、配信サーバ２（仮想マシンＶＭ）から送信された配信状態通知メッセージに基づき、仮想マシン接続数管理テーブル５３における仮想マシンＶＭの接続数の数値を更新する。この仮想マシン集約手段５１は、配信状態通知メッセージに含まれる「仮想マシンＩＤ」と「接続数」とを取得して、仮想マシン接続数管理テーブル５３の「仮想マシンＩＤ」に対応する「接続数」の数値を、取得した「接続数」で更新する。
【００４１】
仮想マシン集約手段５１は、仮想マシン管理サーバ３に、仮想マシンＶＭそれぞれが所属する配信サーバ２の情報の提供を要求する。これにより、どの配信サーバ２にどの仮想マシンＶＭが所属しているのか（配信サーバ２がどの仮想マシンＶＭとして動作しているのか）という情報を、仮想マシン集約手段５１は仮想マシン管理サーバ３から取得することができる。第１の実施形態において、この情報は、仮想マシン管理サーバ３にインストールされたVMware社の“VMware（登録商標） vCenter Server”がデフォルトの構成で提供しているvSphere APIの機能を利用して得られる情報である。すなわち、どの配信サーバ２にどの仮想マシンＶＭが所属しているのかという情報は、仮想マシン集約手段５１が仮想マシン管理サーバ３に要求することで容易に得られる。
【００４２】
仮想マシン集約手段５１は、仮想マシン接続数管理テーブル５３を参照して、仮想マシンＶＭそれぞれの「接続数」を取得し、配信サーバ最大接続数管理テーブル５２を参照して、配信サーバ２の「最大接続数」を取得する。
そして、仮想マシン集約手段５１は、仮想マシン管理サーバ３から取得した「仮想マシンＶＭがどの配信サーバ２に所属しているかを示す情報」と、「仮想マシンＶＭの接続数」と、「配信サーバ２の最大接続数」との３つの情報から、配信サーバ２間で仮想マシンＶＭを移動させて、仮想マシンＶＭが所属しない配信サーバ２が存在するような、配信サーバ２（２ａ〜２ｃ）と仮想マシンＶＭ（ＶＭ１〜ＶＭ５）との組み合わせを探索し、その組み合わせを抽出する。
【００４３】
仮想マシン集約手段５１が探索する組み合わせの例を、図１，図３，図４を用いて説明する。
図１に示すように、最大接続数が“１０”の配信サーバ２ａには、接続数が“６”の仮想マシンＶＭ１と、接続数が“２”の仮想マシンＶＭ２とが所属している。また、最大接続数が“９”の配信サーバ２ｂには、接続数が“４”の仮想マシンＶＭ３と、接続数が“１”の仮想マシンＶＭ４とが所属している。そして、最大接続数が“８”の配信サーバ２ｃには、接続数が“３”の仮想マシンＶＭ５が所属している。
【００４４】
この状態において、仮想マシン集約手段５１は、配信サーバ２と仮想マシンＶＭとの組み合わせを探索する。この探索において、最大接続数が“９”の配信サーバ２ｂの残り接続数が“４”であることを算出し、配信サーバ２ｃに所属する仮想マシンＶＭ５（接続数“３”）を移動させて、配信サーバ２ｂに所属させることで、仮想マシンＶＭが所属しない配信サーバ２ｃを捻出する組み合わせ（パターン１）を抽出する。
【００４５】
また、この探索において、最大接続数が“８”の配信サーバ２ｃの残り接続数が“５”であることを算出し、配信サーバ２ｂに所属する仮想マシンＶＭ３（接続数“４”）と仮想マシンＶＭ４（接続数“１”）を移動させて、配信サーバ２ｃに所属させることで、仮想マシンＶＭが所属しない配信サーバ２ｂを捻出する組み合わせ（パターン２）を抽出する。
また、この探索において、最大接続数が“１０”の配信サーバ２ａの残り接続数が“２”であることを算出し、配信サーバ２ｂに所属する仮想マシンＶＭ４（接続数“１”）を移動させ、さらに最大接続数が“８”の配信サーバ２ｃの残り接続数が“５”であることを算出し、配信サーバ２ｂに所属する仮想マシンＶＭ３（接続数“４”）を移動させて、配信サーバ２ｃに所属させることで、仮想マシンＶＭが所属しない配信サーバ２ｂを捻出する組み合わせ（パターン３）を抽出する。
仮想マシン集約手段５１は、抽出した組み合わせパターンより、移動コストが最も低い（移動する回数が少ない）組み合わせを選択する。
ここで、パターン１は、１つの配信サーバに対して１つの仮想マシンＶＭを移動するものであり、パターン２は、１つの配信サーバに対して２つの仮想マシンＶＭを移動するものであり、パターン３は、２つの各配信サーバに対して１つずつの仮想マシンＶＭを移動するものである。
よって、仮想マシン集約手段５１は、最終的に、抽出した組み合わせのパターン１〜パターン３からパターン１を選択し、配信サーバ２ｃに所属する仮想マシンＶＭ５を移動させて、配信サーバ２ｂに所属させることで、仮想マシンＶＭが所属しない配信サーバ２ｃを捻出する組み合わせを抽出する。
【００４６】
以上のように、仮想マシン集約手段５１は、仮想マシンＶＭ５を配信サーバ２ｂに所属させる組み合わせを抽出する。
【００４７】
＜ＲＴＳＰのシーケンス＞
第１の実施形態において、配信サーバ２（仮想マシンＶＭ）と、外部装置９との間でやりとりされるＲＴＳＰのシーケンスの一例を図５に示す。そして、図６〜図１１にＲＴＳＰのシーケンスにおけるメッセージの一例を示す。例えば、利用者（視聴者）が以下、外部装置９の操作部（不図示）を介して、映像の視聴要求を入力することで、外部装置９は配信サーバ２との通信処理を開始する。
【００４８】
まず、外部装置９は、DESCRIBEメソッドを含むリクエストメッセージを配信サーバ２に送信する（ステップＳ１０１）。これに対して、配信サーバ２は、外部装置９にレスポンスメッセージ（description）を送信する（ステップＳ１０２）。
【００４９】
次に、外部装置９は、配信サーバ２にSETUPメッセージ（図６）を送信する（ステップＳ１０３）。受信した配信サーバ２は、リソースを確保し、レスポンスメッセージ（図７）を外部装置９に送信して、外部装置９とのセッションを開始する（ステップＳ１０４）。
次に、外部装置９は、PLAYメッセージ（図８）を配信サーバ２に送信する（ステップＳ１０５）。受信した配信サーバ２は、外部装置９に、レスポンスメッセージ（図９）を送信する（ステップＳ１０６）。その後、配信サーバ２は、外部装置９に対して、メディアデータ（映像データ）のストリーミング配信を開始する。
これにより、外部装置９と、配信サーバ２との間で、ＲＴＰ（Real-time Transport Protocol）やＲＴＣＰ（RTP Control Protocol）に準じたストリーミング配信（データの送受信）が行われる。
【００５０】
その後、外部装置９は、PAUSEメッセージを配信サーバ２に送信する（ステップＳ１０７）。受信した配信サーバ２は、ストリーミング配信を中断し、レスポンスメッセージを外部装置９に送信する（ステップＳ１０８）。
次に、外部装置９は、TEARDOWNメッセージ（図１０）を配信サーバ２に送信する（ステップＳ１０９）。受信した配信サーバ２は、終了させるセッションの“Session_ID”を含めたレスポンスメッセージ（図１１）を外部装置９に送信してから、リソースを解放し、外部装置９とのセッションを終了する（ステップＳ１１０）。
【００５１】
＜集約処理＞
第１の実施形態において仮想マシン割当サーバ５が実行する集約処理について、図１２Ａを用いて、配信サーバ２（仮想マシンＶＭ）と、仮想マシン管理サーバ３と、仮想マシン割当サーバ５との間で行われるシーケンスとともに説明する。ここでは、例として、前記パターン１の組み合わせが選択され、図１に示す配信サーバ２ｃに所属する仮想マシンＶＭ５が配信サーバ２ｂに移動する処理を説明する。
【００５２】
まず、配信サーバ２ｃに所属する仮想マシンＶＭ５が、外部装置９ａと、Session_IDが“Session1001”で識別されるセッションで接続されているとする。このとき、仮想マシンＶＭ５のＲＴＳＰ監視部２０２により、配信状態記録部２１には〔Session1001,0〕が記録されている。
そして、配信サーバ２ｃに所属する仮想マシンＶＭ５は、外部装置９から受信したＰＬＡＹメッセージに対してレスポンスメッセージを送信する。このレスポンスメッセージに含まれるStatus_Codeが“200 OK”である場合（ステップＳ２０１）に、ＲＴＳＰ監視部２０２は、配信状態記録部２１に〔Session1001,1〕を記録する（ステップＳ２０２）。
【００５３】
ＲＴＳＰ監視部２０２は、配信状態記録部２１に「１」で記録されたセッションＩＤの数を数え、その総数である仮想マシンＶＭ５の接続数を算出する（ステップＳ２０３）。そして、ＲＴＳＰ監視部２０２は、仮想マシンＶＭ５の「仮想マシンＩＤ」と「接続数」とを含む配信状態通知メッセージを作成し、配信サーバ２ｃの通信部を介して、仮想マシン割当サーバ５に送信する（ステップＳ２０４）。
【００５４】
仮想マシン割当サーバ５は、配信サーバ２ｃから配信状態通知メッセージを受信する。仮想マシン集約手段５１は、配信状態通知メッセージに含まれる「仮想マシンＩＤ」と「接続数」とを取得して、仮想マシン接続数管理テーブル５３にて仮想マシンＶＭ５の接続数の数値を更新する（ステップＳ２０５）。
【００５５】
配信サーバ２から配信状態通知メッセージを受信した仮想マシン割当サーバ５の仮想マシン集約手段５１は、仮想マシン管理サーバ３に仮想マシンＶＭが所属する配信サーバ情報を要求する（ステップＳ２０６）。
仮想マシン管理サーバ３の仮想マシン監視手段３１は、監視する全ての仮想マシンＶＭの「仮想マシンＩＤ」と、その仮想マシンＶＭが所属する配信サーバ２の「配信サーバＩＤ」とを含む仮想マシンが所属する配信サーバ情報を、仮想マシン割当サーバ５に送信する（ステップＳ２０７）。
【００５６】
仮想マシン集約手段５１は、仮想マシン管理サーバ３から取得した配信サーバ情報と、仮想マシン接続数管理テーブル５３に記憶されたデータとに基づき、配信サーバ２それぞれの接続数を算出する（ステップＳ２０８）。
【００５７】
仮想マシン集約手段５１は、配信サーバ最大接続数管理テーブル５２を参照して、配信サーバ２の最大接続数を取得する。そして、最大接続数から、ステップＳ２０８で算出した接続数を差分して、配信サーバ２の残り接続可能数を算出する（ステップＳ２０９）。それらの算出処理を、配信サーバ最大接続数管理テーブル５２に記録された全ての配信サーバ２に対して行い、配信サーバ２それぞれの残り接続可能数を算出する。
【００５８】
仮想マシン集約手段５１は、仮想マシン接続数管理テーブル５３に記憶された仮想マシンＶＭの接続数と、ステップＳ２０９で算出した配信サーバ２の残り接続可能数と、配信サーバ情報に含まれる仮想マシンＶＭの所属先配信サーバとの３つの情報から、仮想マシンＶＭを移動（集約）して、配信サーバ２の稼動数を減らすことが可能な組み合わせがあるか否かを探索する（ステップＳ２１０）。
探索の結果、組み合わせがあれば、仮想マシン集約手段５１は、移動させる仮想マシンＶＭ（ＶＭ５）の「仮想マシンＩＤ」（ＶＭ−ＩＤ０５）と、所属中の配信サーバ２の「配信サーバＩＤ」（ＮＳ−ＩＤ２ｃ）と、移動先の配信サーバ２の「配信サーバＩＤ」（ＮＳ−ＩＤ２ｂ）とを含めた移動要求メッセージを作成し、仮想マシン管理サーバ３に送信する（ステップＳ２１１）。
一方、ステップＳ２１０の探索の結果、組み合わせがなければ、次の配信状態通知メッセージ（ステップＳ２０４）を受信するまで待機する。
【００５９】
ステップＳ２１１の後、仮想マシン管理サーバ３は、仮想マシン割当サーバ５から移動要求メッセージを受信する。
仮想マシン移動手段３２は、移動要求メッセージを解析して、vMotion機能を利用して、仮想マシンＶＭ５を所属中の配信サーバ２ｃから、移動先の配信サーバ２ｂに移動させる処理（仮想マシン移動処理）を行う（ステップＳ２１２）。この仮想マシン移動処理により、仮想マシンＶＭ５の移動が完了する。
【００６０】
ステップＳ２１２の処理後、仮想マシン移動処理の完了確認を行う（ステップＳ２１３）。そして、ステップＳ２１３の処理後、仮想マシン集約手段５１は、ステップＳ２１１の処理で、仮想マシン管理サーバ３に送信した仮想マシン移動要求メッセージに含めた所属中の配信サーバ２ｃに対する電源オフ要求メッセージを、仮想マシン管理サーバ３に送信する（ステップＳ２１４）。その後、仮想マシン集約手段５１は、次に配信状態通知メッセージ（ステップＳ２０４）を受信するまで待機する。
【００６１】
ここで、ステップＳ２１３の処理（仮想マシン移動処理の完了確認）は、ステップＳ２１１の処理で送信した仮想マシン移動要求メッセージが、同期メッセージなのか非同期メッセージなのかによって、電源オフ要求メッセージを送るタイミングが変わる。そのため、仮想マシン移動要求メッセージが、同期メッセージである場合と非同期メッセージである場合とに分けて説明する。
【００６２】
＜仮想マシン移動要求メッセージが同期メッセージである場合＞
仮想マシン移動要求メッセージが同期メッセージである場合の処理について、図１２Ｂを用いて、配信サーバ２（仮想マシンＶＭ）と、仮想マシン管理サーバ３と、仮想マシン割当サーバ５との間で行われるシーケンス（ステップＳ２１３１〜ステップＳ２１３２）とともに説明する。
【００６３】
ステップＳ２１２（図１２Ａ）により、所属中の配信サーバ２ｃから、移動先の配信サーバ２ｂに移動させる処理（仮想マシン移動処理）が完了すると、所属中の配信サーバ２ｃと移動先の配信サーバ２ｂは、仮想マシン管理サーバ３の仮想マシン移動手段３２に、ステップＳ２１２（仮想マシン移動処理実行）に対するレスポンスメッセージとしてACKメッセージを送信する（ステップＳ２１３１）。
仮想マシン管理サーバ３の仮想マシン移動手段３２は、仮想マシン割当サーバ５の仮想マシン集約手段５１に、ステップＳ２１１（仮想マシン移動要求メッセージ送信）に対するレスポンスメッセージとしてACKメッセージを送信する（ステップＳ２１３２）。
【００６４】
＜仮想マシン移動要求メッセージが非同期メッセージである場合＞
一方、仮想マシン移動要求メッセージが非同期メッセージである場合の処理について、図１２Ｃを用いて、配信サーバ２（仮想マシンＶＭ）と、仮想マシン管理サーバ３と、仮想マシン割当サーバ５との間で行われるシーケンス（ステップＳ２１３３〜ステップＳ２１３５）とともに説明する。
【００６５】
仮想マシン割当サーバ５の仮想マシン集約手段５１は、ステップＳ２１１（仮想マシン移動要求メッセージ送信）の処理から所定時間後に、仮想マシン管理サーバ３に配信サーバ情報を要求する（ステップＳ２１３３）。
仮想マシン管理サーバ３の仮想マシン監視手段３１は、監視する全ての仮想マシンＶＭの「仮想マシンＩＤ」と、その仮想マシンＶＭが所属する配信サーバ２の「配信サーバＩＤ」とを含めた、つまり、仮想マシンＶＭが所属する配信サーバの情報（配信サーバ情報）を、仮想マシン割当サーバ５の仮想マシン集約手段５１に送信する（ステップＳ２１３４）。
【００６６】
仮想マシン割当サーバ５の仮想マシン集約手段５１は、仮想マシン管理サーバ３の仮想マシン監視手段３１から取得した配信サーバ情報に基づき、ステップＳ２１１で送信した移動要求メッセージに含めた「仮想マシンＩＤ」と「配信サーバＩＤ」との組み合わせと、配信サーバ情報から得られるその「仮想マシンＩＤ」に該当する仮想マシンＶＭが現在所属する配信サーバ２の「配信サーバＩＤ」とが一致するか否かにより、ステップＳ２１１で移動対象の仮想マシンＶＭが、移動先として指示した「配信サーバＩＤ」に該当する配信サーバ２への仮想マシン移動処理が完了したか否かを判定する（ステップＳ２１３５）。
【００６７】
ここで、ステップＳ２１１の処理に基づく仮想マシン移動処理が完了していない場合（ステップＳ２１３５，Ｎｏ）、仮想マシン割当サーバ５の仮想マシン集約手段５１は、ステップＳ２１３３に戻り、再び、仮想マシン管理サーバ３に仮想マシンＶＭが所属する配信サーバ情報を要求する。
一方、ステップＳ２１１の処理に基づく仮想マシン移動処理が完了した場合（ステップＳ２１３５，Ｙｅｓ）、仮想マシン割当サーバ５の仮想マシン集約手段５１は、次の処理（ステップＳ２１４，図１２Ａ）を行う。
【００６８】
図１２Ａに戻る。
ステップＳ２１４の後、配信サーバ２ｃに対する電源オフ要求メッセージを受信した仮想マシン管理サーバ３の配信サーバ電源管理手段３３は、配信サーバ２ｃに対して、電源オフ指示を送信する（ステップＳ２１５）。指示を受けた配信サーバ２の電力制御部２２は、電源をＯＦＦする処理を行う（ステップＳ２１６）。以上のように集約処理が行われる。
【００６９】
この例では、便宜上、配信状態通知メッセージを送信した仮想マシンＶＭ５が移動対象となっているが、配信状態通知メッセージの送信元の配信サーバ２の仮想マシンＶＭが必ずしも移動対象となるわけではない。
【００７０】
《第２の実施形態》
図１３に示す第２の実施形態の配信システム１Ａは、仮想マシンＶＭの配信ビットレートを用いて、仮想マシンＶＭが所属しない配信サーバ２が存在するような、配信サーバ２と仮想マシンＶＭとの組み合わせを探索する。第２の実施形態の配信システム１Ａは、「接続数」の代わりに、「配信ビットレート」を用いる点で第１の実施形態の配信システム１と異なる。
【００７１】
第２の実施形態の配信システム１Ａは、配信サーバ２Ａと、仮想マシン割当サーバ５の一部機能が異なる仮想マシン割当サーバ５Ａとを備える。
ここで、配信サーバ２Ａ自体は、第１の実施形態における配信サーバ２と変わらない。しかしながら、仮想マシンＶＭＡには、第１の実施形態にて配信サーバ２にインストールした仮想マシン追加ＡＰとは一部機能が異なる、仮想マシン追加ＡＰＡが予め配信サーバ２Ａにインストールされている。そのため、配信サーバ２Ａは、仮想マシン追加ＡＰＡを実行することで、仮想マシンＶＭの一部機能が異なる仮想マシンＶＭＡとして動作することとなる。そこで、便宜上、第２の実施形態において配信サーバ２Ａとする。
【００７２】
（仮想マシンＶＭＡ）
仮想マシンＶＭＡは、第１の実施形態における仮想マシンＶＭと同様に、配信サーバ２Ａの制御部（ＣＰＵ）により、VMware社のアプリケーションが実行されることでvMotion機能を有する。
【００７３】
また、仮想マシンＶＭＡは、配信サーバ２Ａの制御部（ＣＰＵ）により仮想マシン追加ＡＰＡが実行されることで、以下の機能を実行するＲＴＳＰ監視部２０２Ａ（不図示）を有する。
（１α）ビットレート特定機能
（２α）セッションＩＤ記録機能
（３α）配信開始記録機能
（４α）配信停止記録機能
ここで（２α）〜（４α）の機能は、第１の実施形態の仮想マシンＶＭのＲＴＳＰ監視部２０２（図２）が有する機能（１）〜（３）と同様であるが、接続数の代わりに、配信ビットレートを扱う点が異なる。
ＲＴＳＰ監視部２０２Ａ（不図示）の各機能について、図５および図１４〜図１５を用いて説明する。
【００７４】
（１α）ビットレート特定機能
配信サーバ２Ａ（仮想マシンＶＭＡ）は、外部装置９から送信されるDESCRIBEメソッドを含むリクエストメッセージ（図１４）に対して、レスポンスメッセージ（description）（図１５）を送信する（図５のステップＳ１０１〜Ｓ１０２を参照）。
このとき、ＲＴＳＰ監視部２０２Ａ（不図示）（仮想マシンＶＭＡ）は、DESCRIBEメッセージに含まれる“rtsp_URL”と、descriptionメッセージに含まれるSDP（図１５の破線枠内）に記述された“bitrate”のビットレート値とを取得する。そして、配信状態記録部２１に“rtsp_URL”とビットレート値とを対応付けて記録し、“Session_ID”の配信状態を「０」（待機中）で記録させる。
【００７５】
（２α）セッションＩＤ記録機能
配信サーバ２Ａ（仮想マシンＶＭＡ）は、外部装置９から送信されるSETUPメッセージ（リクエストメッセージ）に対して、送信元の外部装置９と接続するセッションを識別する“Session_ID”を含むレスポンスメッセージを送信する（図５のステップＳ１０３〜Ｓ１０４を参照）。
このとき、ＲＴＳＰ監視部２０２Ａ（不図示）（仮想マシンＶＭＡ）は、SETUPメッセージに含まれる“rtsp_URL”と、レスポンスメッセージに含まれる“Session_ID”とを、配信状態記録部２１に記録された同じ“rtsp_URL”と対応付けて記録させる。これにより、配信状態記録部２１には、“Session_ID”とビットレート値と“rtsp_URL”との３つが対応付けられて記録される。
【００７６】
（３α）配信開始記録機能
配信サーバ２Ａ（仮想マシンＶＭＡ）は、外部装置９から送信される（初回の）PLAYメッセージ（リクエストメッセージ）に対して、送信元の外部装置９と接続するセッションを識別する“Session_ID”を含むレスポンスメッセージを送信する（図５のステップＳ１０５〜Ｓ１０６を参照）。
このレスポンスメッセージに含まれる“Status_Code”が“200 OK”の場合、ＲＴＳＰ監視部２０２Ａ（不図示）（仮想マシンＶＭＡ）は、該当する“Session_ID”の配信状態を「１」（配信中）で配信状態記録部２１に記録させる。このとき、記録している全データについて、配信状態のカウンタが「１」であるビットレート値の総和（総配信ビットレート値）を求め、仮想マシンＶＭＡの識別番号（仮想マシンＩＤ）と総配信ビットレート値とを含めた配信状態通知メッセージを生成し、仮想マシン割当サーバ５Ａに送信する。
【００７７】
（４α）配信停止記録機能
配信サーバ２Ａ（仮想マシンＶＭＡ）は、外部装置９から送信されるTEARDOWNメッセージ（リクエストメッセージ）に対して、送信元の外部装置９と接続するセッションを識別する“Session_ID”を含むレスポンスメッセージを送信する（図５のステップＳ１０９〜Ｓ１１０を参照）。
そして、ＲＴＳＰ監視部２０２Ａ（不図示）（仮想マシンＶＭＡ）は、このレスポンスメッセージに含まれる“Session_ID”に係るデータを配信状態記録部２１から削除する。
さらに、ＲＴＳＰ監視部２０２Ａ（不図示）（仮想マシンＶＭＡ）は、配信状態記録部２１に記録されている全てのデータに対して、配信状態が「１」であるビットレート値の総和（総配信ビットレート値）を求め、仮想マシンＶＭＡの識別番号（仮想マシンＩＤ）と総配信ビットレート値と総配信ビットレート値とを含めた配信状態通知メッセージを生成し、仮想マシン割当サーバ５Ａに送信する。
【００７８】
（仮想マシン割当サーバ５Ａ）
仮想マシン割当サーバ５Ａは、仮想マシンＶＭＡの移動先の配信サーバ２Ａを決定する仮想マシン集約手段５１Ａと、最大配信ビットレート値管理テーブル５２Ａ（図１６）と、配信ビットレート値管理テーブル５３Ａ（図１７）とを備える。
【００７９】
（最大配信ビットレート値管理テーブル５２Ａ）
最大配信ビットレート値管理テーブル５２Ａは、図１６に示すように、配信サーバ２Ａを識別する“配信サーバＩＤ”と、その配信サーバＩＤに該当する配信サーバ２Ａが配信可能な最大ビットレート値を示す“最大配信ビットレート値”とを記憶する。
ここで、“最大配信ビットレート値”は、配信サーバ２Ａが配信可能な最大ビットレート値でなくてもよく、余裕をもたせた数値であってもよい。例えば、最大ビットレート値の８０％の数値であってもよい。
【００８０】
（配信ビットレート値管理テーブル５３Ａ）
配信ビットレート値管理テーブル５３Ａは、図１７に示すように、仮想マシンＶＭＡを識別する“仮想マシンＩＤ”と、その仮想マシンＩＤに該当する仮想マシンＶＭＡが現在の配信時のビットレート値を示す“配信ビットレート値”とを記憶する。
【００８１】
（仮想マシン集約手段５１Ａ）
仮想マシン集約手段５１Ａは、配信サーバ２Ａ（仮想マシンＶＭＡ）から配信状態通知メッセージを受信したことを契機に、配信サーバ２Ａ間で仮想マシンＶＭＡを移動させて、仮想マシンＶＭＡが所属しない配信サーバ２Ａが存在するような、配信サーバ２Ａ（２Ａａ〜２Ａｃ）と仮想マシンＶＭＡ（ＶＭＡ１〜ＶＭＡ５）との組み合わせを探索し、その組み合わせを抽出する構成部である。
【００８２】
仮想マシン集約手段５１Ａは、配信サーバ２Ａ（仮想マシンＶＭＡ）から送信された配信状態通知メッセージに基づき、配信ビットレート値管理テーブル５３Ａにおける仮想マシンＶＭＡの配信ビットレート値を更新する。この仮想マシン集約手段５１Ａは、配信状態通知メッセージに含まれる「仮想マシンＩＤ」と「配信ビットレート値」とを取得して、配信ビットレート値管理テーブル５３Ａの「仮想マシンＩＤ」に対応する「配信ビットレート値」の数値を、取得した「配信ビットレート値」で更新する。
【００８３】
仮想マシン集約手段５１Ａは、仮想マシン管理サーバ３に、仮想マシンＶＭＡそれぞれが所属する配信サーバ２Ａの情報の提供を要求する。これにより、どの配信サーバ２Ａにどの仮想マシンＶＭＡが所属しているのか（配信サーバ２Ａがどの仮想マシンＶＭＡとして動作しているのか）という情報を、仮想マシン集約手段５１Ａは仮想マシン管理サーバ３から取得することができる。第１の実施形態において、仮想マシン集約手段５１が仮想マシン管理サーバ３に、VMware社のvSphere APIを利用して要求することで得られる情報と同様である。
【００８４】
仮想マシン集約手段５１Ａは、配信ビットレート値管理テーブル５３Ａを参照して、仮想マシンＶＭＡそれぞれの「配信ビットレート値」を取得し、最大配信ビットレート値管理テーブル５２Ａを参照して、配信サーバ２Ａの「最大配信ビットレート値」を取得する。
そして、仮想マシン集約手段５１Ａは、仮想マシン管理サーバ３から取得した「仮想マシンＶＭＡがどの配信サーバ２Ａに所属しているかを示す情報」と、「仮想マシンＶＭＡの配信ビットレート値」と、「配信サーバ２Ａの最大配信ビットレート値」との３つの情報から、配信サーバ２Ａ間で仮想マシンＶＭＡを移動させて、仮想マシンＶＭＡが所属しない配信サーバ２Ａが存在するような、配信サーバ２Ａ（２Ａａ〜２Ａｃ）と仮想マシンＶＭＡ（ＶＭＡ１〜ＶＭＡ５）との組み合わせを探索し、その組み合わせを抽出する。
【００８５】
《その他の実施形態》
以上、本発明の実施形態について説明したが、本発明は前記した実施形態に限定されず、適宜変更して実施することが可能である。
例えば、第１および第２の実施形態において配信システム１（１Ａ）が備える、仮想マシン管理サーバ３と仮想マシン割当サーバ５（５Ａ）とは、１つのサーバであってもよい。
【００８６】
例えば、仮想マシン割当サーバ５（５Ａ）は、第１の実施形態では「接続数」を用い、一方、第２の実施形態では「配信ビットレート値」を用いて、仮想マシンＶＭ（ＶＭＡ）が所属しない配信サーバ２（２Ａ）が存在するような、配信サーバ２（２Ａ）と仮想マシンＶＭ（ＶＭＡ）との組み合わせを探索した。しかし、仮想マシン割当サーバ５（５Ａ）は、この「接続数」と「配信ビットレート値」との双方を用いて、探索を行ってもよい。
当該探索により、配信サーバ２（２Ａ）の「接続数」と「配信ビットレート値」との双方に係る能力を考慮して、仮想マシンＶＭ（ＶＭＡ）の移動を行うことができる。そのため、残り接続数に余裕があるものの残り配信ビットレート値に余裕がない配信サーバ２（２Ａ）や、逆に、残り配信ビットレート値に余裕があるものの残り接続数に余裕がない配信サーバ２（２Ａ）を、仮想マシンＶＭ（ＶＭＡ）の移動先に選ぶことがない。これにより、配信サーバ２（２Ａ）が過負荷状態に陥ることを回避することができる。
【００８７】
例えば、第１および第２の実施形態において配信システム１（１Ａ）は、蓄積サーバ４を備えなくてもよい。その代わり、同一の配信データを記憶する記憶部を配信サーバ２（２Ａ）それぞれが備える。当該構成により、第１および第２の実施形態と異なり、配信サーバ２（２Ａ）は、蓄積サーバ４にアクセスすることなく、自装置の記憶部からメディアデータ（映像データ）を取得してストリーミング配信すればよい。
【００８８】
例えば、仮想マシン割当サーバ５は、配信サーバ２（２Ａ）それぞれの電力消費量を示すテーブルを備えてもよい。仮想マシン割当サーバ５は、電力消費量の値も考慮して、仮想マシンＶＭ（ＶＭＡ）の集約処理を行う。これにより、配信システム１（１Ａ）が電力消費量の異なる配信サーバ（新旧の配信サーバ）を備える場合に、節電効果が高いシステムを提供することができる。例えば、電力消費量が少ない配信サーバ２（２Ａ）に優先的に仮想マシンＶＭ（ＶＭＡ）を割り当てる。これにより、電力消費量が高い配信サーバ２（２Ａ）に仮想マシンＶＭ（ＶＭＡ）が割り当てられる優先順位が下がるため、節電効果が高くなる。特に、接続中の仮想マシンＶＭ（ＶＭＡ）の数が少ない場合に効果的である。
【符号の説明】
【００８９】
１，１Ａ  配信システム
２（２ａ，２ｂ，２ｃ），２Ａ（２Ａａ，２Ａｂ，２Ａｃ）  配信サーバ
３      仮想マシン管理サーバ
４      蓄積サーバ
５，５Ａ  仮想マシン割当サーバ
９（９ａ，９ｂ，９ｃ）  外部装置（通信装置）
２１    配信状態記録部
２２    電力制御部
３１    仮想マシン監視手段
３２    仮想マシン移動手段
３３    配信サーバ電源管理手段
５１，５１Ａ  仮想マシン集約手段
５２    配信サーバ最大接続数管理テーブル
５２Ａ  最大配信ビットレート値管理テーブル
５３    仮想マシン接続数管理テーブル
５３Ａ  配信ビットレート値管理テーブル
２０１  ＶＯＤシステム部
２０２，２０２Ａ  ＲＴＳＰ監視部
ＮＷ１  内部ネットワーク
ＮＷ２  外部ネットワーク
ＶＭ（ＶＭ１〜ＶＭ５），ＶＭＡ（ＶＭＡ１〜ＶＭＡ５）  仮想マシン
【図１】
0005760898.tif 000002
【図２】
0005760898.tif 000003
【図３】
0005760898.tif 000004
【図４】
0005760898.tif 000005
【図５】
0005760898.tif 000006
【図６】
0005760898.tif 000007
【図７】
0005760898.tif 000008
【図８】
0005760898.tif 000009
【図９】
0005760898.tif 000010
【図１０】
0005760898.tif 000011
【図１１】
0005760898.tif 000012
【図１２Ａ】
0005760898.tif 000013
【図１２Ｂ】
0005760898.tif 000014
【図１２Ｃ】
0005760898.tif 000015
【図１３】
0005760898.tif 000016
【図１４】
0005760898.tif 000017
【図１５】
0005760898.tif 000018
【図１６】
0005760898.tif 000019
【図１７】
0005760898.tif 000020