JP5760898B2 - 配信システム、仮想マシン割当装置およびプログラム - Google Patents
配信システム、仮想マシン割当装置およびプログラム Download PDFInfo
- Publication number
- JP5760898B2 JP5760898B2 JP2011208701A JP2011208701A JP5760898B2 JP 5760898 B2 JP5760898 B2 JP 5760898B2 JP 2011208701 A JP2011208701 A JP 2011208701A JP 2011208701 A JP2011208701 A JP 2011208701A JP 5760898 B2 JP5760898 B2 JP 5760898B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- distribution
- server
- distribution server
- connections
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Power Sources (AREA)
- Information Transfer Between Computers (AREA)
Description
また、本発明に係るプログラムは、外部ネットワークと接続する複数の配信サーバと内部ネットワークを介して接続し、前記複数の配信サーバ間を移動可能な複数の仮想マシンの移動先配信サーバを決定するコンピュータに実行させるプログラムであって、前記コンピュータを、各仮想マシンから、前記外部ネットワークを介して接続している通信装置との配信処理における現在接続数と、各配信サーバが前記外部ネットワークを介して接続している通信装置との配信処理における最大接続数とに基づき、前記配信サーバに所属したときの前記各仮想マシンの現在配信数の合計が当該配信サーバの最大接続数以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出するように、前記仮想マシンそれぞれの移動先配信サーバを決定する決定処理手段、として機能させる、ことを特徴とする。
(配信システム1)
図1に示すように、配信システム1は、複数の配信サーバ2(2a,2b,2c)と、仮想マシン管理サーバ3と、蓄積サーバ4と、仮想マシン割当サーバ5と、複数の外部装置9(9a,9b,9c)と、内部ネットワークNW1と、外部ネットワークNW2とで構成される。
複数の配信サーバ2と、仮想マシン管理サーバ3と、蓄積サーバ4と、仮想マシン割当サーバ5とは、内部ネットワークNW1を介して通信可能に接続される。また、複数の配信サーバ2と、複数の外部装置9とは、外部ネットワークNW2を介して通信可能に接続される。
図1では、配信サーバ2および外部装置9はそれぞれ3台で図示しているが、本発明は最大台数を制限しない。特に、配信サーバ2は2台以上あればよい。
その他の構成として、Citrix社の“XenServer”、Red Hat社の“Red Hat Enterprise Virtualization for Servers”がある。
さらに、配信サーバ2には、予め仮想マシン追加機能アプリケーション(以下、“仮想マシン追加AP”とする)がインストールされている。
内部ネットワークNW1は、例えば、有線/無線LAN(Local Area Network)などを介して、インターネットプロトコル(Internet Protocol)技術を利用して相互接続されるコンピュータネットワークである。また、LAN以外にも、ZigBee(登録商標)やBluetooth(登録商標)であってもよい。
外部ネットワークNW2は、例えば、WAN(Wide Area Network)や有線/無線LANなどを介して、インターネットプロトコル技術を利用して相互接続されるコンピュータネットワークである。また、LAN以外にも、ZigBee(登録商標)やBluetooth(登録商標)であってもよい。
外部装置9(9a,9b,9c)は、例えば、PC(Personal Computer)などであり、利用者(視聴者)が外部装置9の操作部(不図示)を介して、映像の視聴要求を入力することで、外部装置9は配信サーバ2との通信を開始し、配信サーバ2からストリーミング配信されるメディアデータ(映像データ)を受信して、ディスプレイなどの表示部(不図示)に映像を表示させる。
配信サーバ2(2a,2b,2c)は、仮想マシンVM(VM1,VM2,VM3,・・・)として動作させる仮想マシン制御部と、配信状態記録部21と、電力制御部22とを備える。
配信状態記録部21は、データを記憶する構成部であって、例えば、HDD、RAM、光ディスクなどの記憶手段である。
電力制御部22は、不図示の外部電源と接続し、配信サーバ2内部への電力供給量を制限する構成部であり、図示しないCPUによるプログラム実行処理や専用回路などにより実現される。
図1では、第1の実施形態において、配信サーバ2aに仮想マシンVM1と仮想マシンVM2とが所属することが示されている。これは、配信サーバ2aは、仮想マシンVM1として動作すると共に、仮想マシンVM2としても動作することを示している。
同様に、図1に示すように、配信サーバ2bには、仮想マシンVM3と仮想マシンVM4とが所属し、配信サーバ2cには、仮想マシンVM5が所属している。
これら仮想マシンVMには、それぞれを識別する番号(仮想マシンID)が付与されており、仮想マシンVM1には“VM−ID01”、仮想マシンVM2には“VM−ID02”、仮想マシンVM3には“VM−ID03”、仮想マシンVM4には“VM−ID04”、仮想マシンVM5には“VM−ID05”がそれぞれ仮想マシンIDとして付与されている。
また、配信サーバ2は、内部ネットワークNW1を介して接続された仮想マシン割当サーバ5と通信を行う。詳細は後記する。
図2に示すように、仮想マシンVMは、VODシステム部201と、RTSP監視部202とを有する。
仮想マシンVMは、配信サーバ2の制御部(CPU)により、VMware社のアプリケーションが実行されることでvMotion機能を有する。このvMotion機能は、配信サーバ2(例えば、配信サーバ2a)で稼働中の当該仮想マシンVMを、オンライン状態のまま別の配信サーバ2(例えば、配信サーバ2b)に移動することができるという機能である。
VODシステム部201は、ビデオオンデマンド(Video On Demand)を実現する構成部であり、外部装置9からの要求に応じて、蓄積サーバ4から要求されるメディアデータを取得して、外部装置9とのストリーミング配信を行う。
(1)セッションID記録機能
(2)配信開始記録機能
(3)配信停止記録機能
このRTSP監視部202は、配信サーバ2(仮想マシンVM)と外部装置9との間で通信されるRTSPパケットを監視し、各機能を実行する。以下に、各機能の詳細について説明する。
配信サーバ2(仮想マシンVM)は、外部装置9から送信されるSETUPメッセージ(リクエストメッセージ)に対して、送信元の外部装置9と接続するセッションを識別する“Session_ID”を含むレスポンスメッセージを送信する。このとき、RTSP監視部202は、配信状態記録部21に“Session_ID”の配信状態を「0」(待機中)で記録させる。
配信サーバ2(仮想マシンVM)は、外部装置9から送信される(初回の)PLAYメッセージ(リクエストメッセージ)に対して、送信元の外部装置9と接続するセッションを識別する“Session_ID”を含むレスポンスメッセージを送信する。このレスポンスメッセージに含まれる“Status_Code”が“200 OK”の場合、RTSP監視部202は、該当する“Session_ID”の配信状態を「1」(配信中)で配信状態記録部21に記録させる。このとき、記録している全データについて、配信状態のカウンタが「1」である個数(接続数)を求め、仮想マシンVMの識別番号(仮想マシンID)と接続数とを含めた配信状態通知メッセージを生成し、仮想マシン割当サーバ5に送信する。
ここで接続数とは、仮想マシンVM(配信サーバ2)が外部ネットワークNW2を介して、外部装置9と現在確立しているセッションの数である。配信サーバ2は、外部装置9にメディアコンテンツをストリーミング配信するごとに、外部装置9と新たにセッションを確立する。
配信サーバ2(仮想マシンVM)は、外部装置9から送信されるTEARDOWNメッセージ(リクエストメッセージ)に対して、送信元の外部装置9と接続するセッションを識別する“Session_ID”を含むレスポンスメッセージを送信する。そして、RTSP監視部202は、このレスポンスメッセージに含まれる“Session_ID”に係るデータを配信状態記録部21から削除する。
さらに、RTSP監視部202は、配信状態記録部21に記録されている全てのデータに対して、配信状態が「1」であるデータ数(接続数)を求め、仮想マシンVMの識別番号(仮想マシンID)と接続数とを含めた配信状態通知メッセージを生成し、仮想マシン割当サーバ5に送信する。
仮想マシン管理サーバ3は、内蔵する制御部(CPU)がVMware社のアプリケーション“VMware(登録商標) vCenter Server”を実行することで一般的な機能として、仮想マシン監視手段31と、仮想マシン移動手段32と、配信サーバ電源管理手段33とを実現する装置である。
仮想マシン監視手段31は、仮想マシンVMが所属する配信サーバ2(所属中配信サーバ)の情報を取得する。
仮想マシン移動手段32は、仮想マシンVMを、所属中配信サーバ2から別の配信サーバ2(所属先配信サーバ)に移動させる。
配信サーバ電源管理手段33は、配信サーバ2に電力供給量を制限させる指示をする。例えば、配信サーバ電源管理手段33は、電源のON/OFFを切り替える指示をする。また、配信サーバ2が「通常モード」と、通常モードより少ない電力で駆動する「省電力モード(スタンバイモード)」とを備える場合、配信サーバ電源管理手段33は、配信サーバ2に対して、「通常モード」または「省電力モード」に切り替える指示をする。
蓄積サーバ4は、配信データを蓄積するサーバである。例えば、ストリーミング配信される音楽や映像などのメディアデータである。蓄積サーバ4は、配信サーバ2(仮想マシンVM)からの要求に応じて、要求された配信データを配信サーバ2に出力する。
仮想マシン割当サーバ5は、仮想マシンVMの移動先の配信サーバ2を決定する仮想マシン集約手段51と、配信サーバ最大接続数管理テーブル52(図3)と、仮想マシン接続数管理テーブル53(図4)とを備える。
配信サーバ最大接続数管理テーブル52は、配信サーバ2を識別する“配信サーバID”と、その配信サーバIDに該当する配信サーバ2が確立可能なセッションの最大数を示す“最大接続数”とを記憶する。
図3に、図1の状態であるときの配信サーバ最大接続数管理テーブル52の一例を示す。配信サーバ最大接続数管理テーブル52には、配信サーバID“NS−ID2a”で識別される配信サーバ2aの最大接続数が“10”であること、配信サーバID“NS−ID2b”で識別される配信サーバ2bの最大接続数が“9”であること、配信サーバID“NS−ID2c”で識別される配信サーバ2cの最大接続数が“6”であることが記憶されている。
ここで、“最大接続数”は、配信サーバ2が確立可能なセッションの最大数でなくてもよく、余裕をもたせた数値であってもよい。例えば、最大数の80%の数値であってもよい。
仮想マシン接続数管理テーブル53は、仮想マシンVMを識別する“仮想マシンID”と、その仮想マシンIDに該当する仮想マシンVMが現在確立しているセッションの数を示す“接続数”とを記憶する。
図4に、図1の状態であるときの仮想マシン接続数管理テーブル53の一例を示す。仮想マシン接続数管理テーブル53には、仮想マシンID“VM−ID01”で識別される仮想マシンVM1の接続数が“6”であること、仮想マシンID“VM−ID02”で識別される仮想マシンVM2の接続数が“2”であること、仮想マシンID“VM−ID03”で識別される仮想マシンVM3の接続数が“4”であること、仮想マシンID“VM−ID04”で識別される仮想マシンVM4の接続数が“1”であること、仮想マシンID“VM−ID05”で識別される仮想マシンVM5の接続数が“3”であることが記憶されている。
仮想マシン集約手段51は、配信サーバ2(仮想マシンVM)から配信状態通知メッセージを受信したことを契機に、配信サーバ2間で仮想マシンVMを移動させて、仮想マシンVMが所属しない配信サーバ2が存在するような、配信サーバ2(2a〜2c)と仮想マシンVM(VM1〜VM5)との組み合わせを探索し、その組み合わせを抽出する構成部である。
そして、仮想マシン集約手段51は、仮想マシン管理サーバ3から取得した「仮想マシンVMがどの配信サーバ2に所属しているかを示す情報」と、「仮想マシンVMの接続数」と、「配信サーバ2の最大接続数」との3つの情報から、配信サーバ2間で仮想マシンVMを移動させて、仮想マシンVMが所属しない配信サーバ2が存在するような、配信サーバ2(2a〜2c)と仮想マシンVM(VM1〜VM5)との組み合わせを探索し、その組み合わせを抽出する。
図1に示すように、最大接続数が“10”の配信サーバ2aには、接続数が“6”の仮想マシンVM1と、接続数が“2”の仮想マシンVM2とが所属している。また、最大接続数が“9”の配信サーバ2bには、接続数が“4”の仮想マシンVM3と、接続数が“1”の仮想マシンVM4とが所属している。そして、最大接続数が“8”の配信サーバ2cには、接続数が“3”の仮想マシンVM5が所属している。
また、この探索において、最大接続数が“10”の配信サーバ2aの残り接続数が“2”であることを算出し、配信サーバ2bに所属する仮想マシンVM4(接続数“1”)を移動させ、さらに最大接続数が“8”の配信サーバ2cの残り接続数が“5”であることを算出し、配信サーバ2bに所属する仮想マシンVM3(接続数“4”)を移動させて、配信サーバ2cに所属させることで、仮想マシンVMが所属しない配信サーバ2bを捻出する組み合わせ(パターン3)を抽出する。
仮想マシン集約手段51は、抽出した組み合わせパターンより、移動コストが最も低い(移動する回数が少ない)組み合わせを選択する。
ここで、パターン1は、1つの配信サーバに対して1つの仮想マシンVMを移動するものであり、パターン2は、1つの配信サーバに対して2つの仮想マシンVMを移動するものであり、パターン3は、2つの各配信サーバに対して1つずつの仮想マシンVMを移動するものである。
よって、仮想マシン集約手段51は、最終的に、抽出した組み合わせのパターン1〜パターン3からパターン1を選択し、配信サーバ2cに所属する仮想マシンVM5を移動させて、配信サーバ2bに所属させることで、仮想マシンVMが所属しない配信サーバ2cを捻出する組み合わせを抽出する。
第1の実施形態において、配信サーバ2(仮想マシンVM)と、外部装置9との間でやりとりされるRTSPのシーケンスの一例を図5に示す。そして、図6〜図11にRTSPのシーケンスにおけるメッセージの一例を示す。例えば、利用者(視聴者)が以下、外部装置9の操作部(不図示)を介して、映像の視聴要求を入力することで、外部装置9は配信サーバ2との通信処理を開始する。
次に、外部装置9は、PLAYメッセージ(図8)を配信サーバ2に送信する(ステップS105)。受信した配信サーバ2は、外部装置9に、レスポンスメッセージ(図9)を送信する(ステップS106)。その後、配信サーバ2は、外部装置9に対して、メディアデータ(映像データ)のストリーミング配信を開始する。
これにより、外部装置9と、配信サーバ2との間で、RTP(Real-time Transport Protocol)やRTCP(RTP Control Protocol)に準じたストリーミング配信(データの送受信)が行われる。
次に、外部装置9は、TEARDOWNメッセージ(図10)を配信サーバ2に送信する(ステップS109)。受信した配信サーバ2は、終了させるセッションの“Session_ID”を含めたレスポンスメッセージ(図11)を外部装置9に送信してから、リソースを解放し、外部装置9とのセッションを終了する(ステップS110)。
第1の実施形態において仮想マシン割当サーバ5が実行する集約処理について、図12Aを用いて、配信サーバ2(仮想マシンVM)と、仮想マシン管理サーバ3と、仮想マシン割当サーバ5との間で行われるシーケンスとともに説明する。ここでは、例として、前記パターン1の組み合わせが選択され、図1に示す配信サーバ2cに所属する仮想マシンVM5が配信サーバ2bに移動する処理を説明する。
そして、配信サーバ2cに所属する仮想マシンVM5は、外部装置9から受信したPLAYメッセージに対してレスポンスメッセージを送信する。このレスポンスメッセージに含まれるStatus_Codeが“200 OK”である場合(ステップS201)に、RTSP監視部202は、配信状態記録部21に〔Session1001,1〕を記録する(ステップS202)。
仮想マシン管理サーバ3の仮想マシン監視手段31は、監視する全ての仮想マシンVMの「仮想マシンID」と、その仮想マシンVMが所属する配信サーバ2の「配信サーバID」とを含む仮想マシンが所属する配信サーバ情報を、仮想マシン割当サーバ5に送信する(ステップS207)。
探索の結果、組み合わせがあれば、仮想マシン集約手段51は、移動させる仮想マシンVM(VM5)の「仮想マシンID」(VM−ID05)と、所属中の配信サーバ2の「配信サーバID」(NS−ID2c)と、移動先の配信サーバ2の「配信サーバID」(NS−ID2b)とを含めた移動要求メッセージを作成し、仮想マシン管理サーバ3に送信する(ステップS211)。
一方、ステップS210の探索の結果、組み合わせがなければ、次の配信状態通知メッセージ(ステップS204)を受信するまで待機する。
仮想マシン移動手段32は、移動要求メッセージを解析して、vMotion機能を利用して、仮想マシンVM5を所属中の配信サーバ2cから、移動先の配信サーバ2bに移動させる処理(仮想マシン移動処理)を行う(ステップS212)。この仮想マシン移動処理により、仮想マシンVM5の移動が完了する。
仮想マシン移動要求メッセージが同期メッセージである場合の処理について、図12Bを用いて、配信サーバ2(仮想マシンVM)と、仮想マシン管理サーバ3と、仮想マシン割当サーバ5との間で行われるシーケンス(ステップS2131〜ステップS2132)とともに説明する。
仮想マシン管理サーバ3の仮想マシン移動手段32は、仮想マシン割当サーバ5の仮想マシン集約手段51に、ステップS211(仮想マシン移動要求メッセージ送信)に対するレスポンスメッセージとしてACKメッセージを送信する(ステップS2132)。
一方、仮想マシン移動要求メッセージが非同期メッセージである場合の処理について、図12Cを用いて、配信サーバ2(仮想マシンVM)と、仮想マシン管理サーバ3と、仮想マシン割当サーバ5との間で行われるシーケンス(ステップS2133〜ステップS2135)とともに説明する。
仮想マシン管理サーバ3の仮想マシン監視手段31は、監視する全ての仮想マシンVMの「仮想マシンID」と、その仮想マシンVMが所属する配信サーバ2の「配信サーバID」とを含めた、つまり、仮想マシンVMが所属する配信サーバの情報(配信サーバ情報)を、仮想マシン割当サーバ5の仮想マシン集約手段51に送信する(ステップS2134)。
一方、ステップS211の処理に基づく仮想マシン移動処理が完了した場合(ステップS2135,Yes)、仮想マシン割当サーバ5の仮想マシン集約手段51は、次の処理(ステップS214,図12A)を行う。
ステップS214の後、配信サーバ2cに対する電源オフ要求メッセージを受信した仮想マシン管理サーバ3の配信サーバ電源管理手段33は、配信サーバ2cに対して、電源オフ指示を送信する(ステップS215)。指示を受けた配信サーバ2の電力制御部22は、電源をOFFする処理を行う(ステップS216)。以上のように集約処理が行われる。
図13に示す第2の実施形態の配信システム1Aは、仮想マシンVMの配信ビットレートを用いて、仮想マシンVMが所属しない配信サーバ2が存在するような、配信サーバ2と仮想マシンVMとの組み合わせを探索する。第2の実施形態の配信システム1Aは、「接続数」の代わりに、「配信ビットレート」を用いる点で第1の実施形態の配信システム1と異なる。
ここで、配信サーバ2A自体は、第1の実施形態における配信サーバ2と変わらない。しかしながら、仮想マシンVMAには、第1の実施形態にて配信サーバ2にインストールした仮想マシン追加APとは一部機能が異なる、仮想マシン追加APAが予め配信サーバ2Aにインストールされている。そのため、配信サーバ2Aは、仮想マシン追加APAを実行することで、仮想マシンVMの一部機能が異なる仮想マシンVMAとして動作することとなる。そこで、便宜上、第2の実施形態において配信サーバ2Aとする。
仮想マシンVMAは、第1の実施形態における仮想マシンVMと同様に、配信サーバ2Aの制御部(CPU)により、VMware社のアプリケーションが実行されることでvMotion機能を有する。
(1α)ビットレート特定機能
(2α)セッションID記録機能
(3α)配信開始記録機能
(4α)配信停止記録機能
ここで(2α)〜(4α)の機能は、第1の実施形態の仮想マシンVMのRTSP監視部202(図2)が有する機能(1)〜(3)と同様であるが、接続数の代わりに、配信ビットレートを扱う点が異なる。
RTSP監視部202A(不図示)の各機能について、図5および図14〜図15を用いて説明する。
配信サーバ2A(仮想マシンVMA)は、外部装置9から送信されるDESCRIBEメソッドを含むリクエストメッセージ(図14)に対して、レスポンスメッセージ(description)(図15)を送信する(図5のステップS101〜S102を参照)。
このとき、RTSP監視部202A(不図示)(仮想マシンVMA)は、DESCRIBEメッセージに含まれる“rtsp_URL”と、descriptionメッセージに含まれるSDP(図15の破線枠内)に記述された“bitrate”のビットレート値とを取得する。そして、配信状態記録部21に“rtsp_URL”とビットレート値とを対応付けて記録し、“Session_ID”の配信状態を「0」(待機中)で記録させる。
配信サーバ2A(仮想マシンVMA)は、外部装置9から送信されるSETUPメッセージ(リクエストメッセージ)に対して、送信元の外部装置9と接続するセッションを識別する“Session_ID”を含むレスポンスメッセージを送信する(図5のステップS103〜S104を参照)。
このとき、RTSP監視部202A(不図示)(仮想マシンVMA)は、SETUPメッセージに含まれる“rtsp_URL”と、レスポンスメッセージに含まれる“Session_ID”とを、配信状態記録部21に記録された同じ“rtsp_URL”と対応付けて記録させる。これにより、配信状態記録部21には、“Session_ID”とビットレート値と“rtsp_URL”との3つが対応付けられて記録される。
配信サーバ2A(仮想マシンVMA)は、外部装置9から送信される(初回の)PLAYメッセージ(リクエストメッセージ)に対して、送信元の外部装置9と接続するセッションを識別する“Session_ID”を含むレスポンスメッセージを送信する(図5のステップS105〜S106を参照)。
このレスポンスメッセージに含まれる“Status_Code”が“200 OK”の場合、RTSP監視部202A(不図示)(仮想マシンVMA)は、該当する“Session_ID”の配信状態を「1」(配信中)で配信状態記録部21に記録させる。このとき、記録している全データについて、配信状態のカウンタが「1」であるビットレート値の総和(総配信ビットレート値)を求め、仮想マシンVMAの識別番号(仮想マシンID)と総配信ビットレート値とを含めた配信状態通知メッセージを生成し、仮想マシン割当サーバ5Aに送信する。
配信サーバ2A(仮想マシンVMA)は、外部装置9から送信されるTEARDOWNメッセージ(リクエストメッセージ)に対して、送信元の外部装置9と接続するセッションを識別する“Session_ID”を含むレスポンスメッセージを送信する(図5のステップS109〜S110を参照)。
そして、RTSP監視部202A(不図示)(仮想マシンVMA)は、このレスポンスメッセージに含まれる“Session_ID”に係るデータを配信状態記録部21から削除する。
さらに、RTSP監視部202A(不図示)(仮想マシンVMA)は、配信状態記録部21に記録されている全てのデータに対して、配信状態が「1」であるビットレート値の総和(総配信ビットレート値)を求め、仮想マシンVMAの識別番号(仮想マシンID)と総配信ビットレート値と総配信ビットレート値とを含めた配信状態通知メッセージを生成し、仮想マシン割当サーバ5Aに送信する。
仮想マシン割当サーバ5Aは、仮想マシンVMAの移動先の配信サーバ2Aを決定する仮想マシン集約手段51Aと、最大配信ビットレート値管理テーブル52A(図16)と、配信ビットレート値管理テーブル53A(図17)とを備える。
最大配信ビットレート値管理テーブル52Aは、図16に示すように、配信サーバ2Aを識別する“配信サーバID”と、その配信サーバIDに該当する配信サーバ2Aが配信可能な最大ビットレート値を示す“最大配信ビットレート値”とを記憶する。
ここで、“最大配信ビットレート値”は、配信サーバ2Aが配信可能な最大ビットレート値でなくてもよく、余裕をもたせた数値であってもよい。例えば、最大ビットレート値の80%の数値であってもよい。
配信ビットレート値管理テーブル53Aは、図17に示すように、仮想マシンVMAを識別する“仮想マシンID”と、その仮想マシンIDに該当する仮想マシンVMAが現在の配信時のビットレート値を示す“配信ビットレート値”とを記憶する。
仮想マシン集約手段51Aは、配信サーバ2A(仮想マシンVMA)から配信状態通知メッセージを受信したことを契機に、配信サーバ2A間で仮想マシンVMAを移動させて、仮想マシンVMAが所属しない配信サーバ2Aが存在するような、配信サーバ2A(2Aa〜2Ac)と仮想マシンVMA(VMA1〜VMA5)との組み合わせを探索し、その組み合わせを抽出する構成部である。
そして、仮想マシン集約手段51Aは、仮想マシン管理サーバ3から取得した「仮想マシンVMAがどの配信サーバ2Aに所属しているかを示す情報」と、「仮想マシンVMAの配信ビットレート値」と、「配信サーバ2Aの最大配信ビットレート値」との3つの情報から、配信サーバ2A間で仮想マシンVMAを移動させて、仮想マシンVMAが所属しない配信サーバ2Aが存在するような、配信サーバ2A(2Aa〜2Ac)と仮想マシンVMA(VMA1〜VMA5)との組み合わせを探索し、その組み合わせを抽出する。
以上、本発明の実施形態について説明したが、本発明は前記した実施形態に限定されず、適宜変更して実施することが可能である。
例えば、第1および第2の実施形態において配信システム1(1A)が備える、仮想マシン管理サーバ3と仮想マシン割当サーバ5(5A)とは、1つのサーバであってもよい。
当該探索により、配信サーバ2(2A)の「接続数」と「配信ビットレート値」との双方に係る能力を考慮して、仮想マシンVM(VMA)の移動を行うことができる。そのため、残り接続数に余裕があるものの残り配信ビットレート値に余裕がない配信サーバ2(2A)や、逆に、残り配信ビットレート値に余裕があるものの残り接続数に余裕がない配信サーバ2(2A)を、仮想マシンVM(VMA)の移動先に選ぶことがない。これにより、配信サーバ2(2A)が過負荷状態に陥ることを回避することができる。
2(2a,2b,2c),2A(2Aa,2Ab,2Ac) 配信サーバ
3 仮想マシン管理サーバ
4 蓄積サーバ
5,5A 仮想マシン割当サーバ
9(9a,9b,9c) 外部装置(通信装置)
21 配信状態記録部
22 電力制御部
31 仮想マシン監視手段
32 仮想マシン移動手段
33 配信サーバ電源管理手段
51,51A 仮想マシン集約手段
52 配信サーバ最大接続数管理テーブル
52A 最大配信ビットレート値管理テーブル
53 仮想マシン接続数管理テーブル
53A 配信ビットレート値管理テーブル
201 VODシステム部
202,202A RTSP監視部
NW1 内部ネットワーク
NW2 外部ネットワーク
VM(VM1〜VM5),VMA(VMA1〜VMA5) 仮想マシン
Claims (11)
- 外部ネットワークを介して接続する複数の配信サーバと、
前記複数の配信サーバを監視し、当該配信サーバ間を移動可能な複数の仮想マシンの移動を管理する仮想マシン管理サーバと、
前記配信サーバと前記仮想マシン管理サーバとが内部ネットワークを介して接続し、移動する仮想マシンと当該仮想マシンの移動先配信サーバとを決定する仮想マシン割当装置と
を備える配信システムであって、
前記仮想マシン割当装置は、
各仮想マシンから、当該仮想マシンにおいて前記外部ネットワークを介して接続している通信装置との配信処理における現在接続数を受信し、
前記各仮想マシンの現在接続数と、各配信サーバが前記外部ネットワークを介して接続している通信装置との配信処理における最大接続数とに基づき、
前記配信サーバに所属したときの前記各仮想マシンの現在接続数の合計が当該配信サーバの最大接続数以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出するように、前記仮想マシンそれぞれの移動先配信サーバを決定する
ことを特徴とする配信システム。 - 前記仮想マシン管理サーバは、
前記各仮想マシンが所属している配信サーバの所属情報を取得し、
前記仮想マシン割当装置は、
前記現在接続数と前記最大接続数と前記所属情報とに基づき、
前記配信サーバに所属したときの前記各仮想マシンの現在接続数の合計が当該配信サーバの最大接続数以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出するようにできる前記移動先配信サーバの組み合わせを算出し、前記組み合わせの中から前記仮想マシンを移動させる処理回数が最小になるように、前記仮想マシンそれぞれの移動先配信サーバを決定する
ことを特徴とする請求項1に記載された配信システム。 - 前記仮想マシン割当装置は、
前記各仮想マシンから前記各仮想マシンの現在接続数を受信したときに更新される、前記仮想マシンの識別情報と、当該仮想マシンが前記外部ネットワークを介して接続している通信装置の現在接続数とを対応付けて記憶する仮想マシン接続数管理テーブルと、
前記配信サーバの識別情報と、当該配信サーバにおいて前記外部ネットワークを介して接続している通信装置との配信処理における最大接続数とを対応付けて記憶する配信サーバ最大接続数管理テーブルと
を備えることを特徴とする請求項1または請求項2に記載された配信システム。 - 前記配信サーバは、各部に供給される供給電力を制御する電力制御部を備え、
前記仮想マシン管理サーバは、前記配信サーバに供給電力の制御を指示する配信サーバ電源管理部をさらに備え、
前記仮想マシン割当装置は、前記仮想マシンそれぞれの移動先配信サーバを決定した後で、前記仮想マシンが所属しない配信サーバの情報を、前記仮想マシン管理サーバに提供する
ことを特徴とする請求項1乃至請求項3のいずれか1項に記載された配信システム。 - 前記配信サーバは、前記外部ネットワークを介して、マルチメディアコンテンツをストリーミング配信することを特徴とする請求項1乃至請求項4のいずれか1項に記載された配信システム。
- 前記仮想マシン割当装置は、
さらに、前記各仮想マシンが前記外部ネットワークとの通信における現在配信ビットレート値と、各配信サーバが前記外部ネットワークとの通信における最大配信ビットレート値とに基づき、
前記配信サーバに所属したときの前記各仮想マシンの現在接続数の合計が当該配信サーバの最大接続数以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出し、かつ、前記配信サーバに所属したときの前記各仮想マシンの現在配信ビットレート値の合計が当該配信サーバの最大配信ビットレート値以下になるように、
前記仮想マシンそれぞれの移動先配信サーバを決定する
ことを特徴とする請求項1乃至請求項5のいずれか1項に記載された配信システム。 - 外部ネットワークを介して接続する複数の配信サーバと、
前記複数の配信サーバを監視し、当該配信サーバ間を移動可能な複数の仮想マシンの移動を管理する仮想マシン管理サーバと、
前記配信サーバと前記仮想マシン管理サーバとが内部ネットワークを介して接続し、移動する仮想マシンと当該仮想マシンの移動先配信サーバとを決定する仮想マシン割当装置と
を備える配信システムであって、
前記仮想マシン割当装置は、
各仮想マシンから、当該仮想マシンの前記外部ネットワークとの通信における現在配信ビットレート値を受信し、
前記各仮想マシンが前記外部ネットワークとの通信における現在配信ビットレート値と、各配信サーバが前記外部ネットワークとの通信における最大配信ビットレート値とに基づき、
前記配信サーバに所属したときの前記各仮想マシンの現在配信ビットレート値の合計が当該配信サーバの最大配信ビットレート値以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出するように、前記仮想マシンそれぞれの移動先配信サーバを決定する
ことを特徴とする配信システム。 - 外部ネットワークと接続する複数の配信サーバと内部ネットワークを介して接続し、前記複数の配信サーバ間を移動可能な複数の仮想マシンの移動先配信サーバを決定する仮想マシン割当装置であって、
各仮想マシンから取得した、前記外部ネットワークを介して接続している通信装置との配信処理における現在接続数と、各配信サーバが前記外部ネットワークを介して接続している通信装置との配信処理における最大接続数とに基づき、
前記配信サーバに所属したときの前記各仮想マシンの現在接続数の合計が当該配信サーバの最大接続数以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出するように、前記仮想マシンそれぞれの移動先配信サーバを決定する決定処理手段を有する
ことを特徴とする仮想マシン割当装置。 - 外部ネットワークと接続する複数の配信サーバと内部ネットワークを介して接続し、前記複数の配信サーバ間を移動可能な複数の仮想マシンの移動先配信サーバを決定する仮想マシン割当装置であって、
前記仮想マシン割当装置は、
各仮想マシンから取得した、当該仮想マシンの前記外部ネットワークとの通信における現在配信ビットレート値と、各配信サーバが前記外部ネットワークとの通信における最大配信ビットレート値とに基づき、
前記配信サーバに所属したときの前記各仮想マシンの現在配信ビットレート値の合計が当該配信サーバの最大配信ビットレート値以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出するように、前記仮想マシンそれぞれの移動先配信サーバを決定する決定処理手段を有する
ことを特徴とする仮想マシン割当装置。 - 外部ネットワークと接続する複数の配信サーバと内部ネットワークを介して接続し、前記複数の配信サーバ間を移動可能な複数の仮想マシンの移動先配信サーバを決定するコンピュータに実行させるプログラムであって、
前記コンピュータを、
各仮想マシンから取得した、前記外部ネットワークを介して接続している通信装置との配信処理における現在接続数と、各配信サーバが前記外部ネットワークを介して接続している通信装置との配信処理における最大接続数とに基づき、
前記配信サーバに所属したときの前記各仮想マシンの現在配信数の合計が当該配信サーバの最大接続数以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出するように、前記仮想マシンそれぞれの移動先配信サーバを決定する決定処理手段、
として機能させるためのプログラム。 - 外部ネットワークと接続する複数の配信サーバと内部ネットワークを介して接続し、前記複数の配信サーバ間を移動可能な複数の仮想マシンの移動先配信サーバを決定するコンピュータに実行させるプログラムであって、
前記コンピュータを、
各仮想マシンから取得した、当該仮想マシンの前記外部ネットワークとの通信における現在配信ビットレート値と、各配信サーバが前記外部ネットワークとの通信における最大配信ビットレート値とに基づき、
前記配信サーバに所属したときの前記各仮想マシンの現在配信ビットレート値の合計が当該配信サーバの最大配信ビットレート値以下、かつ、前記仮想マシンが所属しない新たな配信サーバを捻出するように、前記仮想マシンそれぞれの移動先配信サーバを決定する決定処理手段、
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011208701A JP5760898B2 (ja) | 2011-09-26 | 2011-09-26 | 配信システム、仮想マシン割当装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011208701A JP5760898B2 (ja) | 2011-09-26 | 2011-09-26 | 配信システム、仮想マシン割当装置およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013069205A JP2013069205A (ja) | 2013-04-18 |
JP5760898B2 true JP5760898B2 (ja) | 2015-08-12 |
Family
ID=48474823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011208701A Active JP5760898B2 (ja) | 2011-09-26 | 2011-09-26 | 配信システム、仮想マシン割当装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5760898B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9858322B2 (en) | 2013-11-11 | 2018-01-02 | Amazon Technologies, Inc. | Data stream ingestion and persistence techniques |
US9794135B2 (en) | 2013-11-11 | 2017-10-17 | Amazon Technologies, Inc. | Managed service for acquisition, storage and consumption of large-scale data streams |
US10635644B2 (en) | 2013-11-11 | 2020-04-28 | Amazon Technologies, Inc. | Partition-based data stream processing framework |
US9639589B1 (en) | 2013-12-20 | 2017-05-02 | Amazon Technologies, Inc. | Chained replication techniques for large-scale data streams |
US10798140B1 (en) | 2018-07-16 | 2020-10-06 | Amazon Technologies, Inc. | Stream data record reads using push-mode persistent connections |
US10956246B1 (en) | 2018-07-16 | 2021-03-23 | Amazon Technologies, Inc. | Isolated read channel management interfaces at streaming data service |
US10855754B1 (en) | 2018-07-16 | 2020-12-01 | Amazon Technologies, Inc. | Isolated read channel categories at streaming data service |
US10768830B1 (en) | 2018-07-16 | 2020-09-08 | Amazon Technologies, Inc. | Streaming data service with isolated read channels |
US11075984B1 (en) | 2018-07-16 | 2021-07-27 | Amazon Technologies, Inc. | Workload management at streaming data service supporting persistent connections for reads |
US11070600B1 (en) | 2018-07-16 | 2021-07-20 | Amazon Technologies, Inc. | Optimization techniques to support lagging readers at streaming data service |
-
2011
- 2011-09-26 JP JP2011208701A patent/JP5760898B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013069205A (ja) | 2013-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5760898B2 (ja) | 配信システム、仮想マシン割当装置およびプログラム | |
US11612814B2 (en) | Game state save, transfer and resume for cloud gaming | |
JP2020024722A (ja) | ストリーミング・サーバのセッション・アイドル最適化 | |
RU2701118C2 (ru) | Администрирование центра обработки данных многорежимных серверов | |
US9395786B2 (en) | Cross-layer power management in a multi-layer system | |
TW201443662A (zh) | 動態修改到用戶端裝置與執行於代表用戶端裝置的資料伺服器上的應用程式相關聯的資料傳輸之訊框率 | |
JP2013171355A (ja) | 計算機システム | |
Jang et al. | Stratus: Assembling virtual platforms from device clouds | |
TW201020804A (en) | Virtualization in a multi-core processor (MCP) | |
Li et al. | Cloud computing for multimedia services | |
JP2011186775A (ja) | アプリケーションサーバの仮想化環境上における運用容易化技術 | |
TWI517048B (zh) | 雲端服務之負載平衡方法 | |
WO2013040929A1 (zh) | 虚拟机运行方法及系统 | |
Hamid et al. | Enhancing Cloud Gaming Experience through Optimized Virtual Machine Placement: A Comprehensive Review | |
Yang et al. | A virtual machine migration Algorithm Based on Network flow balance | |
CN105302648A (zh) | 一种对虚拟计算机资源再分配的计算机系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140515 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150313 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150512 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150525 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5760898 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |