JP2013196287A - 仮想マシン制御装置及びプログラム - Google Patents
仮想マシン制御装置及びプログラム Download PDFInfo
- Publication number
- JP2013196287A JP2013196287A JP2012061911A JP2012061911A JP2013196287A JP 2013196287 A JP2013196287 A JP 2013196287A JP 2012061911 A JP2012061911 A JP 2012061911A JP 2012061911 A JP2012061911 A JP 2012061911A JP 2013196287 A JP2013196287 A JP 2013196287A
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- delay time
- user terminals
- installation position
- server
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】ユーザの体感品質を向上させ、アプリケーションの操作性及び作業効率を高めるために、サービスを提供する仮想マシンを、地理的に離れたデータセンタ間で移動させることができるようにする。
【解決手段】本発明は、それぞれ地理的に離れた拠点のうちいずれの拠点のサーバ上で動作するものであって、複数のユーザ端末が同時にアクセス可能なアプリケーションを実行する仮想マシンを制御する仮想マシン制御装置において、複数のユーザ端末と各拠点との間の遅延時間を取得する遅延時間取得手段と、複数のユーザ端末と各拠点との間の遅延時間に基づいて、複数のユーザ端末との間の遅延時間のばらつきが最小の拠点を決定する位置決定手段と、決定された拠点のサーバ上で仮想マシンを動作させる位置制御手段とを備える。
【選択図】 図1
【解決手段】本発明は、それぞれ地理的に離れた拠点のうちいずれの拠点のサーバ上で動作するものであって、複数のユーザ端末が同時にアクセス可能なアプリケーションを実行する仮想マシンを制御する仮想マシン制御装置において、複数のユーザ端末と各拠点との間の遅延時間を取得する遅延時間取得手段と、複数のユーザ端末と各拠点との間の遅延時間に基づいて、複数のユーザ端末との間の遅延時間のばらつきが最小の拠点を決定する位置決定手段と、決定された拠点のサーバ上で仮想マシンを動作させる位置制御手段とを備える。
【選択図】 図1
Description
本発明は、仮想マシン制御装置及びプログラムに関し、例えば、データセンタにおいて、仮想マシンが提供するサービスの体感品質を向上させるために、仮想マシンを制御する仮想マシン制御装置及びプログラムに適用し得るものである。
例えば、複数のユーザが同時に共同編集しながら文章や画像等を制作するサービスがある。
この種のサービスは、例えば、遠隔にあるユーザ端末同士がドキュメントを共同で作成したり、又複数のユーザ端末が、ディスプレイをホワイトボードとして活用して文章等を書き込み、ネットワークを通じて、書き込んだ文章等を同時に共有したりすることが必要となる。
一般的なサーバ−クライアントシステムは1対1の情報通信を行なうため、上記のような複数のクライントが同時にかつ共通の情報を共有することはできない。
近年、上記のようなサービスを提供するために、データセンタにおいて、サーバが仮想マシンを起動させ、仮想マシンが複数のユーザ端末との間で情報通信をして情報を統合することで、複数のユーザ間で共通の情報を同時に共有することができる。
ここで、仮想マシンとは、サーバのハードウェア上で動作し、OS(オペレーティングシステム)の機能やサービスを提供するソフトウェアをいう。
特許文献1には、ユーザ端末(クライアント)に最高レベルの応答性を提供するために、接続モニタがデータセンタのサーバのパフォーマンスを観測し、その観測値が閾値よりも低下した場合に、そのサーバで起動しているプロセス(当該プロセスが仮想マシンに相当する)を、パフォーマンスの高い他のサーバに移動させる技術が記載されている。
しかしながら、仮想マシンの提供サービスをユーザが享受する際、ユーザのクライアントと仮想マシンとの間の遅延時間がユーザ毎に異なり、ユーザのアプリケーション操作に支障をきたす場合が生じ得る。
すなわち、クライアントから仮想マシンまでの遅延時間はユーザ毎に異なるため、文章等の編集が反映されるまでの時間がユーザ毎に異なり、作業の同期がとれず、共同作業の効率が大きく低下する場合がある。
また、特許文献1の記載技術は、サーバのパフォーマンスの観測値に基づいて、同じデータセンタ内に存在するサーバに、プロセス(仮想マシン)を移動させるものである。
しかし、ある時点においてユーザ毎の遅延時間に大きな差がないとしても、ネットワークを流れるトラフィック量やトラフィック量の分布は一定ではない。そのため、ネットワークの輻輳状態は時間とともに変化し、ユーザ毎の遅延時間もそれに伴い変化する。
特許文献1の記載技術は、同じデータセンタ内のサーバにプロセス(仮想マシン)を移動させても、同じデータセンタ内にプロセス(仮想マシン)が存在する限り、移動後のユーザの遅延時間は移動前と変わらず生じ得る。そのため、ユーザ毎の遅延時間が異なることによって生じ得るアプリケーションの操作上の不都合は解消し得ない。
そのため、ユーザが体感する、クライアントとサーバとの間の応答速度等の品質を向上させ、アプリケーションの操作性及び作業効率を高めるために、サービスを提供する仮想マシンを、地理的に離れたデータセンタ間で移動させることができる仮想マシン制御装置及び仮想マシン制御プログラムが求められている。
かかる課題を解決するために、第1の本発明は、それぞれ地理的に離れた拠点のうちいずれの拠点のサーバ上で動作するものであって、複数のユーザ端末が同時にアクセス可能なアプリケーションを実行する仮想マシンを制御する仮想マシン制御装置において、(1)仮想マシンが提供するサービスを受ける複数のユーザ端末と各拠点との間の遅延時間を取得する遅延時間取得手段と、(2)複数のユーザ端末と各拠点との間の遅延時間に基づいて、複数のユーザ端末との間の遅延時間のばらつきが比較的小さい拠点を、仮想マシンを動作させる位置として決定する位置決定手段と、(3)位置決定手段により決定された拠点のサーバ上で仮想マシンを動作させる位置制御手段とを備えることを特徴とする仮想マシン制御装置である。
第2の本発明は、それぞれ地理的に離れた拠点のうちいずれの拠点のサーバ上で動作するものであって、複数のユーザ端末が同時にアクセス可能なアプリケーションを実行する仮想マシンを制御する仮想マシン制御プログラムにおいて、コンピュータを、(1)仮想マシンが提供するサービスを受ける複数のユーザ端末と各拠点との間の遅延時間を取得する遅延時間取得手段、(2)複数のユーザ端末と各拠点との間の遅延時間に基づいて、複数のユーザ端末との間の遅延時間のばらつきが比較的小さい拠点を、仮想マシンを動作させる位置として決定する位置決定手段、(3)位置決定手段により決定された拠点のサーバ上で仮想マシンを動作させる位置制御手段として機能させることを特徴とする仮想マシン制御プログラムである。
本発明によれば、ユーザが体感する、クライアントとサーバとの間の応答速度等の品質を向上させ、アプリケーションの操作性及び作業効率を高めるために、サービスを提供する仮想マシンを、地理的に離れた拠点間で移動させることができる。
(A)第1の実施形態
以下では、本発明の仮想マシン制御装置及び仮想マシン制御プログラムの第1の実施形態を、図面を参照しながら詳細に説明する。
以下では、本発明の仮想マシン制御装置及び仮想マシン制御プログラムの第1の実施形態を、図面を参照しながら詳細に説明する。
(A−1)第1の実施形態の構成
図1は、この実施形態のサービス提供システム1の全体構成を示す全体構成図である。
図1は、この実施形態のサービス提供システム1の全体構成を示す全体構成図である。
図1において、この実施形態のサービス提供システム1は、データセンタ101−1〜101−M(Mは正の整数)、ゲートウェイ102−1〜102−M、ユーザ端末103−1〜103−N(Nは正の整数)、制御装置106を少なくとも有して構成される。
図1に示すネットワーク100は、いわゆるインターネットであり、有線回線、又は無線回線の通信網である。また、ネットワーク100は、公衆網を想定して説明するが、専用網であってもよい。
データセンタ101−m(1≦m≦M)は、複数のサーバ104を有して構成されている。データセンタ101−mに設置されている複数のサーバ104はそれぞれ、ゲートウェイ102−mを介してネットワーク100と接続している。
データセンタ101−mの各サーバ104は、仮想マシンとしての機能するためのソフトウェアを有しており、複数の仮想マシンを起動させることができるものである。
図2は、データセンタ101−mのサーバ104が仮想マシン105を起動させている様子を説明する説明図である。
サーバ104は、既存するサーバと同様のハードウェア構成を備えるものであり、例えば、CPU、ROM、RAM、EEPROM、入出力インタフェース等を有して構成されるものである。そして、サーバ104は、ROM等に格納されている処理プログラムを、CPUが読み出して実行することにより実現される。
図2に示すように、各サーバ104は、複数のクライアントに対してサービスを提供する仮想マシン105を起動させて、仮想マシン105が複数のユーザ端末103に対してサービスを提供する。
ここで、仮想マシン105とは、サーバ104のハードウェア上で動作し、OSの機能やサービスをユーザ端末103に提供するソフトウェアである。また、仮想マシン105は、サーバ104の計算機資源やネットワーク資源を互いに共有し、1台のサーバが多重化した信号を通信するという特徴を有している。
また図2では、1台のサーバ104がそれぞれ異なる複数の仮想マシン105を起動させる場合を例示するが、1台のサーバ104が1個の仮想マシン105を起動させるものであっても構わない。
さらに、1個の仮想マシン105は、複数のユーザ端末103−nと同時接続が可能であり、複数のユーザ端末103−nとの間で情報のやり取りが可能である。
例えば、図1では、ネットワーク100における点線が、データセンタ101−1とユーザ端末103−1〜103−Nとの間で接続しているが、これは、1個の仮想マシン105がN台のユーザ端末103−nと同時接続していることを示している。
なお、仮想マシン105に接続するユーザ数は、現実にはサービス利用形態やユーザの都合等により、サービス提供中でも変動するものである。また、接続ユーザ数は、この実施形態において本質的な影響をもたらすものではない。そこで、接続ユーザ数は、N台と固定的なものとして説明するが、特に限定されるものではない。
また、この実施形態では、仮想マシン105は、後述するように仮想マシン制御装置106の制御により、物理的に異なるサーバ104に移動するものである。つまり、仮想マシン105は、同一のデータセンタ101−mに設置されている他のサーバ104に移動したり、又は、地理的に離れた他のデータセンタ101のサーバ104に移動したりできる。
仮想マシン105は、いずれのデータセンタ101−mへの移動も可能である。つまり、データセンタ101−mも仮想マシン105を収容する収容能力(例えば、データセンタ101−m内のサーバ104のパフォーマンス能力等)を有しており、その収容能力に応じて仮想マシン105を受け入れることができる。仮想マシン105は、その移動先のデータセンタ101−mでユーザ端末104に対してサービスを提供することができる。
ゲートウェイ102−m(1≦m≦M)は、ネットワーク100と対応するデータセンタ101−mとの間で信号の転送処理を行なうものである。
この実施形態では、説明便宜上、ゲートウェイ102−mが、1対1でデータセンタ101−mと接続する場合を例示する。従って、ゲートウェイ102−mはM台あるものとする。
ユーザ端末103−n(1≦n≦N)は、ユーザがサービス提供を受ける端末であり、サーバ104上の仮想マシン105に対するクライアントに相当するものである。例えば、ユーザ端末103−nは、パーソナルコンピュータ(PC)、タブレット端末、いわゆるスマートフォン等を含む携帯端末、通信機能を有する携帯電話機等が該当する。
仮想マシン制御装置106は、ネットワーク100に接続して、データセンタ101、ユーザ端末103と通信可能なものであり、ユーザ端末103と仮想マシン105との間の遅延時間を観測し、その遅延時間に応じて仮想マシン105を実行するサーバ104を決定するものである。
仮想マシン制御装置106は既存のサーバ上で実現されるようにしてもよい。例えば、サーバは、CPU、ROM、RAM、EEPROM、入出力インタフェース等を有して構成されるものである。そして、CPUが、ROM等に格納されている仮想マシン制御プログラムを読み出して実行することにより仮想マシン制御処理が実現される。
なお、仮想マシン制御装置106は、上記のようにネットワーク100に接続するサーバが仮想マシン制御機能を実行するようにしてもよいし、仮想マシン制御装置106の仮想マシン機能が仮想マシン105に組み込まれるようにしてもよい。後者のように、仮想マシン機能が仮想マシン105のアプリケーションプログラムに組み込まれる場合でも、仮想マシン制御機能は、図3に例示する構成を有する。
図3は、仮想マシン制御装置106の機能構成を示す機能構成図である。図3に示すように、仮想マシン制御装置106は、遅延情報取得部201、設置位置決定部202、設置位置制御部203、設置位置決定情報記憶部204を少なくとも有して構成される。
遅延情報取得部201は、ユーザ端末103−nと仮想マシン105との間の遅延時間情報を取得し、その取得した遅延時間情報を設置位置決定部202に与えるものである。
ここで、ユーザ端末103−nと仮想マシン105との間の遅延時間は、ユーザ端末103−nとゲートウェイ102−mとの間の遅延時間とする。
また、ユーザ端末103−nとゲートウェイ102−mとの間の遅延時間の取得方法は、種々の方法を広く適用することができ、例えば、各ユーザ端末103−nがゲートウェイ102−mとの間の遅延時間を測定したり、また例えば、各ゲートウェイ102−mがユーザ端末103−nとの間の遅延時間を測定したりする方法を適用することができる。
例えば、各ユーザ端末103−nが遅延時間を測定する場合を、図4を用いて例示する。図4に示すように、ユーザ端末103−nは、遅延時間測定部301と、通知部302とを有する。遅延時間測定部301は、ゲートウェイ102−mとの間で送受信されるパケットの往復時間を定期的に又は非定期的に測定し、通知部302が、測定されたユーザ端末103−nとゲートウェイ102−mとの間の遅延時間を仮想マシン制御装置106に通知する。これにより、仮想マシン制御装置106が各ユーザ端末103−n毎のゲートウェイ102−mとの間の遅延時間を取得することができる。
また、各ユーザ端末103−nによる遅延時間の観測対象は、現にサービス提供を受けているデータセンタ101−mに対応するゲートウェイ102−mを含む複数のゲートウェイ102−mとする。すなわち、ユーザ端末103−nが現在接続しているデータセンタ101−mのゲートウェイ102−mだけでなく、接続していない他のデータセンタ101−mのゲートウェイ102−mとの間の遅延時間も測定する。
例えば、ユーザ端末103−nの観測対象とするゲートウェイ102がM台であり、ユーザ端末103がN台あるとすると、遅延情報取得部201は、M×N個の遅延時間情報を各ユーザ端末103−nから取得する。
なお、観測時間について、M×N個の遅延時間がほぼ同じタイミングに観測することが望ましいため、各ユーザ端末103−n間で予め決定された時間で行なうようにしてもよいし、又は仮想マシン制御装置106又はゲートウェイ102−mが観測指示を各ユーザ端末103−nに対して行なうようにしてもよい。
設置位置決定部202は、仮想マシン105が設置されるべきデータセンタ101を決定するものであり、決定したデータセンタ101の情報を設置場所制御部400に与えるものである。
ここで、設置位置決定部202による設置位置の決定は、遅延時間情報取得部201から同じタイミングで観測されたM×N個の遅延時間情報に基づいて行なう。設置位置決定部202は、どのユーザ端末103−nからどのゲートウェイ102−mまでの遅延時間情報を得ればよいかは、設置位置情報記憶部204から取得する。
また、設置位置決定方法については、例えば以下の方法を適用することができる。
第1の方法例として、設置位置決定部202が遅延時間情報のレンジに基づいて判断する方法を適用できる。ここで、遅延時間情報のレンジとは、遅延時間の最大値から最小値を引いた値をいう。
例えば、設置位置決定部202は、ゲートウェイ102−m毎に遅延時間情報のレンジを求める。そして、レンジの値が最小となるゲートウェイ102−mに対応するデータセンタ101−mを、仮想マシン105を設定するデータセンタ101−mとして決定する。
つまり、各ゲートウェイ102−mについて、ユーザ端末103−nの台数分(すなわちN個)の遅延時間が求められる。そして、ゲートウェイ102−m毎に、N個の遅延時間のレンジを計算することになるから、ゲートウェイ102−mの台数分のレンジの値、すなわちM個のレンジの値が得られる。設置位置決定部202は、M個のレンジの値の中から最小値となるゲートウェイ102−mを発見し、当該ゲートウェイ102−mに対応するデータセンタ101を、仮想マシン105を設置するデータセンタ101と決定する。
設置位置決定部202は、遅延時間情報の分散をゲートウェイ102−m毎に求める。そして、ゲートウェイ102−m毎の分散の値が最小となるゲートウェイ102−mに対応するデータセンタ101−mを、仮想マシン105を設定するデータセンタ101−mとして決定する。
なお、第2の方法では、標本分散により分散の値を求めるようにしたが、標本分散による方法に限定されるものではなく、例えば不偏分散による方法で求めるようにしてもよい。
設置位置決定部202は、ゲートウェイ102−mとユーザ端末103−nとの間の遅延時間のばらつきが比較的小さいゲートウェイ102−mを選択することに意味がある。そこで、ゲートウェイ102−mとユーザ端末103−nとの間の遅延時間のばらつきが小さいものを決定することができれば、設置位置の決定方法は広く適用することができる。
設置位置制御部203は、設置位置決定部202により決定されたデータセンタ101−mに対して、仮想マシン105を移動させるものである。
設置位置決定情報記憶部204は、設置位置決定部203が仮想マシン105の設置位置を求めるのに必要なゲートウェイ102−mとユーザ端末103−nの情報を保持するものである。すなわち、設置位置決定情報記憶部204は、ゲートウェイ102−mとユーザ端末103−nとの間の遅延時間を保持する。
(A−2)第1の実施形態の動作
次に、この実施形態のネットワーク1における仮想マシン制御処理の動作を、図面を参照しながら詳細に説明する。
次に、この実施形態のネットワーク1における仮想マシン制御処理の動作を、図面を参照しながら詳細に説明する。
ここで、仮想マシン制御装置106の仮想マシン制御処理の動作を説明するに当たり、図6に例示するネットワーク構成を想定して説明する。
図6では、ネットワーク100−1〜100−4は、それぞれリンクL1〜L3で接続されている。
また、図6において、ネットワーク100−1〜100−4には、ゲートウェイ(GW)102−1〜102−3及びユーザ端末103−1〜103−4がリンクL4〜L10を介して接続している。例えば、ネットワーク100−1には、ゲートウェイ102−1がリンク8を介して接続し、ユーザ端末103−1がリンクL4を介して接続している。
さらに、仮想マシン制御装置106もリンクL11を介してネットワーク100−4に接続している。
また、図6において、リンクL1〜L10付近に付している数字は、リンク伝送時間を表しており、伝送時間の単位は「ms」とする。例えば、ユーザ端末103−1とネットワーク100−1とを接続するリンクL4の伝送時間は10msである。なお、説明を簡単にするために、リンク伝送時間はこれ以外を考慮しない。例えば、パケットがネットワークを通過してもそこを通過するのに要する伝送時間は0として説明する。
図5は、各ユーザ端末103−nと各ゲートウェイ102−mとの間の遅延時間の測定処理を示すフローチャートである。ここでは、各ユーザ端末103−nが遅延時間を測定する場合を例示する。
図5において、各ユーザ端末103−nは、各ゲートウェイ102−mとの間でパケットの送受信を行ない、そのパケットの往復時間に基づいて遅延時間を測定する(S101)。
そして、各ユーザ端末103−nの通知部302が、仮想マシン制御装置106に測定した遅延時間情報を通知する(S102)。
この実施形態では、データセンタの数がM個であり、各データセンタ101−mに1対1のゲートウェイ102−mが接続しているから、1台のユーザ端末103−nが取得する遅延時間は、M個である。
従って、1台のユーザ端末103−nは、M個の遅延時間情報を仮想マシン制御装置106に通知する。
例えば、図6において、仮想マシン105がデータセンタ101−1内のサーバ104で起動しているとする。そして、データセンタ101−1内の仮想マシン105が、ユーザ端末103−1〜103−4に対して、例えば共同ドキュメント編集サービス等のサービスを提供しているとする。
図6において、ユーザ端末103−1〜103−4が仮想マシン105に接続するには、遅延が発生する。遅延時間は経由するリンクの伝送時間の和となる。例えば、ユーザ端末103−2が仮想マシン105に接続する場合、パケットが経由するリンクはL5+L1+L8であるから、遅延時間はL5+L1+L8=10+10+10=30msである。
上記のような状況で、各ユーザ端末103−1〜103−4は、定期的に又は非定期的に、各ゲートウェイ102−1〜102−3までの遅延時間を測定し、仮想マシン制御装置106に遅延時間情報を通知する。
つまり、仮想マシン105からサービスの提供を受けている最中も、各ユーザ端末103−1〜103−4は、各ゲートウェイ102−1〜102−3との間の遅延時間を測定し、各遅延時間情報を通知する。
また、現在、仮想マシン105が設置されているデータセンタ101−1の遅延時間を含み、他のデータセンタ101−2〜101−3との間の遅延時間も各ユーザ端末103−1〜103−4は測定する。
例えば、図6において、ユーザ端末103−1は、3台のゲートウェイ102−1、ゲートウェイ102−1、ゲートウェイ102−3までの遅延時間を測定し、それぞれの遅延時間は、20ms、45ms、65msとなる。そして、これらの遅延時間を仮想マシン制御装置106に通知する。
次に、仮想マシン制御装置106における仮想マシンの設置位置決定処理の動作について図面を用いて説明する。
図7は、仮想マシン制御装置106における設置位置決定処理の動作を示すフローチャートである。
仮想マシン制御装置106において、遅延情報取得部201は、各ユーザ端末103−1〜103−4が測定した各ゲートウェイ102−1〜102−3までの遅延時間情報を取得し、設置位置決定部202に与える(S201)。
ここで、現在、仮想マシン105はデータセンタ101−1に設置されているが、データセンタ101−1に対応するゲートウェイ102−1との間の遅延時間情報も、仮想マシン制御装置106は取得する。
設置位置決定部201において、遅延情報取得部201から、各ユーザ端末103−1〜103−4からの各遅延時間情報を受け取る。
このとき、設置位置決定部201は、受け取った各ユーザ端末103−1〜103−4からの遅延時間情報を設置位置決定情報記憶部204に記憶する。
これにより、各ユーザ端末103−1〜103−4と各ゲートウェイ102−1〜102−3との間の遅延時間情報が全ての取得できているか否かを認識することができる。
例えば、図8に示すように、設置位置決定情報記憶部204は、遅延情報取得部201が遅延情報を取得するたびに、各ユーザ端末103−nと各ゲートウェイ102−mとの間の遅延時間情報を記憶していく。
設置位置決定部202は、設置位置決定情報記憶部204を参照して、各ユーザ端末103−nと各ゲートウェイ102−mとの間の遅延時間情報の全てが揃っているか否かを確認し、全ての遅延時間情報が揃っている場合に、処理をS203に移行する。
S203では、設置位置決定部202は、各ユーザ端末103−nと各ゲートウェイ102−mとの間の遅延時間情報に基づいて、ゲートウェイ毎の遅延時間のレンジ又は分散の値を求める(S203)。
そして、設置位置決定部202が遅延時間のレンジを求める場合には、レンジの値が最小となるゲートウェイ102−mのデータセンタ101−mを、仮想マシン105を設置するデータセンタ101−mとして設置位置決定部202は決定する(S204)。
また、設置位置決定部202が遅延時間情報の分散を求める場合には、ゲートウェイ102−m毎の分散の値が最小となるゲートウェイ102−mのデータセンタ101−mを、仮想マシン105を設定するデータセンタ101−mとして設置位置決定部202は決定する(S204)。
そして、設置位置決定部202は、仮想マシン105の設置位置とするデータセンタ101−mを示す情報を、設置位置制御部203に与え、設置位置制御部203が、設置位置とするデータセンタ101−mの情報に従って、仮想マシン105をデータセンタ101へ移動させる(S205)。
図6を用いて、仮想マシンの設置位置の決定処理を具体的に説明する。図6において、各ユーザ端末103−1〜103−4は、測定した各ゲートウェイ102−1〜102−3との間の遅延時間を仮想マシン制御装置106に通知する。
仮想マシン制御装置106において、設置位置決定部202は、取得した各ユーザ端末103−nと各ゲートウェイ102−mとの間の遅延時間情報を、設置位置決定情報記憶部204に記憶する。
全てのユーザ端末103−nから遅延時間情報が与えられると、設置位置決定情報記憶部204には、例えば、図8に例示する情報が記憶される。
設置位置決定部202は、設置位置決定情報記憶部204を参照して、全てのユーザ端末103−nの遅延時間情報があることを確認すると、設置位置決定情報記憶部204に記憶されるユーザ端末103−nの遅延時間情報を用いて、レンジ又は分散の値をゲートウェイ102−m毎に求める。
例えば、図8に例示する情報が記憶されているとする。設置位置決定部202は、ゲートウェイ102−1について、各ユーザ端末103−1〜103−4との間の遅延時間の最大値は65msであり、最小値は20msである。
従って、設置位置決定部202は、ゲートウェイ102−1についてのレンジの値を、65−20=45msとして求める。同様の計算方法で、設置位置決定部202は、ゲートウェイ102−2についてのレンジの値25msを求め、ゲートウェイ102−2についてのレンジの値45msを求める。
そうすると、レンジの値の最小値は、ゲートウェイ102−2の25msとなる。よって、設置位置決定部202は、ゲートウェイ102−2に対応するデータセンタ101−2を、仮想マシン105を設置するものとして決定する。
そして、設置位置制御部203が、設置位置決定部203からデータセンタ101−2の情報を受け取り、仮想マシン105をデータセンタ102−2に移動する。
例えば、設置位置制御部203は、各データセンタ101−m内のサーバ104のIPアドレスを管理している。このとき、設置位置制御部203は、各データセンタ101−m内のサーバ104のパフォーマンス状況を管理するようにしてもよい。
設置位置制御部203は、設置位置決定部202から移動先とするデータセンタ101−2の情報を受け取る。このとき、どのサーバ104が仮想マシン105を起動するかが問題になるが、仮想マシン105を起動させるサーバ104の決定は、既存技術を用いるようにしてもよい。
例えば、設置位置制御部203が、各データセンタ101−m内のサーバ104のパフォーマンス情報(例えば、CPUの利用率、メモリの残容量等のリソースの負荷情報など)を管理しておき、設置位置制御部203が移動先のデータセンタ101−2内で、最も負荷の低いサーバ104を選択するようにしてもよい。
この場合、設置位置制御部203が、各データセンタ101−mのサーバ104のIPアドレスを管理し、移動先のサーバ104のIPアドレスを宛先として移動元のサーバ104のIPアドレス及び仮想マシン105の実行に係るポート番号を、移動先のサーバ104に送信する。また、それまでの仮想マシン105がサービスのアプリケーションプログラムの実行に必要なデータも、設置位置制御部203は移動先サーバ104に送信する。
また別の方法として、例えば、各データセンタ101−m内で、予め仮想マシン105を起動させるサーバ104を決めておき、設置位置制御部203がこれを管理していてもよい。
この場合、設置位置制御部203が、移動先のデータセンタ101−mのサーバ104のIPアドレスを管理し、移動先のサーバ104のIPアドレスを宛先として移動元のサーバ104のIPアドレス及び仮想マシン105の実行に係るポート番号を、移動先のサーバ104に送信する。また、それまでの仮想マシン105がサービスのアプリケーションプログラムの実行に必要なデータも、設置位置制御部203は移動先サーバ104に送信する。
さらに別の方法として、例えば、各データセンタ101−m内で、サーバ104の動作を制御する制御装置(図示しない)を設け、設置位置制御部203は当該制御装置(図示しない)に仮想マシン105の移動先であることを通知する。これを受けて、当該制御装置が、現在のサーバ104のパフォーマンス状況等を考慮して、仮想マシン105を起動させるサーバ104を決定するようにしてもよい。
また、移動先のデータセンタ101−m内のサーバ104に仮想マシンが切り替わるとき、それまでサービスの提供を受けていたユーザ端末103−nに移動先サーバ104のアドレス情報(IPアドレス及びポート番号)の通知することが問題となるが、移動先サーバ104のアドレス情報の通知方法は、既存技術を適用できる。
例えば、設置位置制御部203が、移動先のデータセンタ101−mのサーバ104のIPアドレスを管理している場合、設置位置制御部203が、サービス提供を受けている各ユーザ端末103−nに対して、IPアドレス及びポート番号を送信するようにしてもよい。
また別の方法として、例えば、移動先のデータセンタ101−m内のサーバ104又は制御装置(図示しない)が、サービス提供を受けている各ユーザ端末103−nに対して、IPアドレス及びポート番号を送信するようにしてもよい。
(A−3)実施形態の効果
以上のように、この実施形態によれば、各ユーザ端末から仮想マシンまでの遅延時間のばらつきが小さいデータセンタから、ユーザはサービスを受けられる。
以上のように、この実施形態によれば、各ユーザ端末から仮想マシンまでの遅延時間のばらつきが小さいデータセンタから、ユーザはサービスを受けられる。
従来技術は、ユーザ端末から仮想マシンまでの遅延時間のばらつきがこの実施形態におけるそれより大きいため、ユーザ端末が同時に同じ仮想マシンのアプリケーションを操作した場合に、ユーザ端末毎に更新にかかる時間の差が大きく、ユーザの体感品質を下げ、作業効率を低下するという課題があった。しかし、この実施形態によれば、ユーザの体感品質を向上させ、アプリケーションの操作性及び作業効率を向上させることができる。
(B)第2の実施形態
次に、本発明の仮想マシン制御装置及び仮想マシン制御プログラムの第2の実施形態を、図面を参照しながら詳細に説明する。
次に、本発明の仮想マシン制御装置及び仮想マシン制御プログラムの第2の実施形態を、図面を参照しながら詳細に説明する。
(B−1)第2の実施形態の構成
第2の実施形態は、仮想マシン制御装置106の仮想マシン制御処理が第1の実施形態と異なり、それ以外の構成要素は第1の実施形態に対応するものである。
第2の実施形態は、仮想マシン制御装置106の仮想マシン制御処理が第1の実施形態と異なり、それ以外の構成要素は第1の実施形態に対応するものである。
従って、第2の実施形態においても、図1、図2及び図4を用いることとする。また、以下では、第2の実施形態の仮想マシン制御装置106の仮想マシン制御処理を中心に詳細に説明するものとし、第1の実施形態で既に説明した構成要素の詳細な説明は省略する。
図9は、第2の実施形態の仮想マシン制御装置106の機能構成を示す機能構成図である。図9に示すように、第2の実施形態の仮想マシン制御装置106は、遅延情報取得部201、設置位置決定部402、設置位置制御部403、設置位置決定情報記憶部404を有する。
第2の実施形態は、仮想マシン制御装置106が、設置位置決定部202に代えて設置位置決定部402を有する点、設置位置決定情報記憶部204に代えて設置位置決定情報記憶部404を有する点が第1の実施形態と異なる。
設置位置決定部402は、第1の実施形態で説明した第1の方法例により、仮想マシン105が設置されるべきデータセンタ101を決定するものである。
また、設置位置決定部402は、ゲートウェイ102−mと各ユーザ端末103−nとの間の遅延時間のうち、閾値を超えるものがあるか否かを各ゲートウェイ102−m毎に確認し、閾値を超える遅延時間があるものについては、仮想マシン105を設置すべきデータセンタ101のゲートウェイ候補から除外する。
すなわち、遅延時間情報のレンジの値が最小であっても、ゲートウェイ102−mとユーザ端末103−nとの間で閾値を超える遅延時間となるものがあれば、設置位置決定部402は当該ゲートウェイ102−mを候補としない。
これにより、遅延時間のばらつきは小さいが、遅延時間が大きいデータセンタ101−mへ、仮想マシン105が移動することがなくなる。
これは、ゲートウェイ102−mと各ユーザ端末103−nとの間で遅延時間のばらつきが小さいと、各ユーザ端末103−n間での作業の同期が取りやすくなる。しかし、ゲートウェイ102−mと各ユーザ端末103−nとの間の遅延時間があまりに大きくなると、アプリケーションに対する操作性そのものが低下する。第2の実施形態は、上記の点を考慮したものである。
設置位置決定情報記憶部404は、第1の実施形態で説明した設置位置決定に係る情報と共に、遅延時間の閾値を記憶するものである。ここで、遅延時間の閾値は、予め設定されるものである。また、遅延時間の閾値は、運用に応じて、管理者等の操作により変更可能なものである。
(B−2)第2の実施形態の動作
次に、第2の実施形態の仮想マシン制御装置106における設置位置決定処理の動作について図面を用いて説明する。
次に、第2の実施形態の仮想マシン制御装置106における設置位置決定処理の動作について図面を用いて説明する。
図10は、第2の実施形態の仮想マシン制御装置106における設置位置決定処理の動作を示すフローチャートである。
図10において、仮想マシン制御装置106が、S201〜S203の処理は、図7のフローチャートのS201〜S203の処理と同じである。
S203では、設置位置決定部402が、各ゲートウェイ102−3遅延時間のレンジの値を求める。
S301では、設置位置決定部402が、ユーザ端末103−nからゲートウェイ102−mまでの遅延時間のうち、閾値を超えるものがあるかを確認する。
そして、設置位置決定部402は、ユーザ端末103−nからゲートウェイ102−mまでの遅延時間が全て閾値未満となるゲートウェイ102−mのうち、レンジの値が最小となるゲートウェイ102−mを選択し、当該ゲートウェイ102−mのデータセンタ101−mを、仮想マシン105を設置するデータセンタ101−mとする(S204)。
そして、S205では、そして、設置位置決定部202は、仮想マシン105の設置位置とするデータセンタ101−mを示す情報を、設置位置制御部203に与え、設置位置制御部203が、設置位置とするデータセンタ101−mの情報に従って、仮想マシン105をデータセンタ101へ移動させる(S205)。
図11は、図6のゲートウェイ102−1〜102−3と、各ユーザ端末103−1〜103−4との間の遅延時間を示す情報である。図11に例示する情報は、設置位置決定情報記憶部404に記憶される。
ここでは、遅延時間の閾値が50msであるとする。
この場合、ゲートウェイ102−1について、遅延時間の最大値は65msであり、最小値は45msであるから、遅延時間のレンジの値は65−45=20msである。
同様の計算方法で、ゲートウェイ102−2についての遅延時間のレンジの値は25msであり、ゲートウェイ102−2についての遅延時間のレンジの値は45msである。
上記より、遅延時間のレンジの値は、ゲートウェイ102−1が最小であるが、ゲートウェイ102−1とユーザ端末103−1、103−2及び103−4との間の遅延時間は、遅延時間の閾値である50msを超えている。
従って、設置位置決定部404は、ゲートウェイ102−1を候補から除外する。なお、同様の理由から、ゲートウェイ102−3も候補から除外する。
そうすると、設置位置決定部202は、遅延時間のレンジの値が最小となる、ゲートウェイ102−2に対応するデータセンタ101−2を、仮想マシン105を設置するものとして決定する。
(B−3)第2の実施形態の効果
以上のように、第2の実施形態によれば、第1の実施形態に加えて、アプリケーションの操作性を考慮し遅延時間のばらつきは小さいが、遅延時間が大きいデータセンタへの仮想マシンの移動を防ぐことができる。
以上のように、第2の実施形態によれば、第1の実施形態に加えて、アプリケーションの操作性を考慮し遅延時間のばらつきは小さいが、遅延時間が大きいデータセンタへの仮想マシンの移動を防ぐことができる。
(C)他の実施形態
(C−1)上述した第1及び第2の実施形態で説明したサービス提供システムは、複数のユーザが同一サービスに同時にアクセスすることができ、そのサービスを提供する提供場所が可変であるシステムに広く適用することができる。
(C−1)上述した第1及び第2の実施形態で説明したサービス提供システムは、複数のユーザが同一サービスに同時にアクセスすることができ、そのサービスを提供する提供場所が可変であるシステムに広く適用することができる。
(C−2)上述した第1及び第2の実施形態では、説明を簡単にするために、図1に例示するシステム構成を想定して説明したが、図1に例示するシステム構成に限定されるものではない。
例えば、1台のゲートウェイを介して、複数のデータセンタがネットワークに接続可能であってもよい。また、仮想マシン制御装置の機能が仮想マシンに含まれるようにしてもよいし、あるデータセンタ内に仮想マシン制御装置が設けられるようにしてもよい。
(C−3)仮想マシン制御装置の設置位置決定部が、遅延時間のレンジ又は分散の値に基づいて、仮想マシンの設置位置を決定する際に、レンジ又は分散の値が同じ場合には、いずれのゲートウェイ102−mを選択するようにしてもよい。例えば、予め優先順位を決めておき、その優先順位に基づいて、設置位置決定部が設置位置を決定するようにしてもよいし、又例えば、設置位置決定部がランダムに設置位置を決定するようにしてもよい。
1…サービス提供システム、101−1〜101−M…データセンタ、
102−1〜102−M…ゲートウェイ、
103−1〜103−N…ユーザ端末、104…サーバ、
105…仮想マシン、106…仮想マシン制御装置、
201…遅延情報取得部、202…設置位置決定部、
203…設置位置制御部、204…設置位置決定情報記憶部。
102−1〜102−M…ゲートウェイ、
103−1〜103−N…ユーザ端末、104…サーバ、
105…仮想マシン、106…仮想マシン制御装置、
201…遅延情報取得部、202…設置位置決定部、
203…設置位置制御部、204…設置位置決定情報記憶部。
Claims (5)
- それぞれ地理的に離れた拠点のうちいずれの拠点のサーバ上で動作するものであって、複数のユーザ端末が同時にアクセス可能なアプリケーションを実行する仮想マシンを制御する仮想マシン制御装置において、
前記仮想マシンが提供するサービスを受ける前記複数のユーザ端末と前記各拠点との間の遅延時間を取得する遅延時間取得手段と、
前記複数のユーザ端末と前記各拠点との間の遅延時間に基づいて、前記複数のユーザ端末との間の遅延時間のばらつきが比較的小さい拠点を、前記仮想マシンを動作させる位置として決定する位置決定手段と、
前記位置決定手段により決定された拠点のサーバ上で前記仮想マシンを動作させる位置制御手段と
を備えることを特徴とする仮想マシン制御装置。 - 前記位置決定手段が、前記複数のユーザ端末との間の遅延時間を前記拠点毎に取得し、前記拠点毎の遅延時間の最大値と最小値との差が最小となる拠点を、前記仮想マシンを動作させる位置として決定するものであることを特徴とする請求項1に記載の仮想マシン制御装置。
- 前記位置決定手段が、前記複数のユーザ端末との間の遅延時間を前記拠点毎に取得し、前記拠点毎の遅延時間の分散値が最小となる拠点を、前記仮想マシンを動作させる位置として決定するものであることを特徴とする請求項1に記載の仮想マシン制御装置。
- 前記位置決定手段が、前記複数のユーザ端末と前記拠点との間の遅延時間のうち、閾値を超える遅延時間を含む場合、当該拠点を前記仮想マシンを動作させる候補から除外することを特徴とする請求項1又は2に記載の仮想マシン制御装置。
- それぞれ地理的に離れた拠点のうちいずれの拠点のサーバ上で動作するものであって、複数のユーザ端末が同時にアクセス可能なアプリケーションを実行する仮想マシンを制御する仮想マシン制御プログラムにおいて、
コンピュータを、
前記仮想マシンが提供するサービスを受ける前記複数のユーザ端末と前記各拠点との間の遅延時間を取得する遅延時間取得手段、
前記複数のユーザ端末と前記各拠点との間の遅延時間に基づいて、前記複数のユーザ端末との間の遅延時間のばらつきが比較的小さい拠点を、前記仮想マシンを動作させる位置として決定する位置決定手段、
前記位置決定手段により決定された拠点のサーバ上で前記仮想マシンを動作させる位置制御手段
として機能させることを特徴とする仮想マシン制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012061911A JP2013196287A (ja) | 2012-03-19 | 2012-03-19 | 仮想マシン制御装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012061911A JP2013196287A (ja) | 2012-03-19 | 2012-03-19 | 仮想マシン制御装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013196287A true JP2013196287A (ja) | 2013-09-30 |
Family
ID=49395183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012061911A Pending JP2013196287A (ja) | 2012-03-19 | 2012-03-19 | 仮想マシン制御装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013196287A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015153370A (ja) * | 2014-02-19 | 2015-08-24 | 西日本電信電話株式会社 | 負荷分散システム、負荷分散装置及び負荷分散方法 |
JP2019022057A (ja) * | 2017-07-14 | 2019-02-07 | 日本電信電話株式会社 | 仮想サーバ構成変更方法および仮想サーバ構成変更システム |
JP2019032653A (ja) * | 2017-08-07 | 2019-02-28 | 日本電信電話株式会社 | 分散方法 |
-
2012
- 2012-03-19 JP JP2012061911A patent/JP2013196287A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015153370A (ja) * | 2014-02-19 | 2015-08-24 | 西日本電信電話株式会社 | 負荷分散システム、負荷分散装置及び負荷分散方法 |
JP2019022057A (ja) * | 2017-07-14 | 2019-02-07 | 日本電信電話株式会社 | 仮想サーバ構成変更方法および仮想サーバ構成変更システム |
JP2019032653A (ja) * | 2017-08-07 | 2019-02-28 | 日本電信電話株式会社 | 分散方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9674279B2 (en) | Methods, devices, and systems for allocating service nodes in a network | |
US10523748B2 (en) | Managing health status of network devices in a distributed global server load balancing system | |
EP3526985B1 (en) | Relocation of mobile edge applications | |
CN102378303B (zh) | 一种选择wifi接入点接入网络的方法及装置 | |
US8972519B2 (en) | Optimization of multimedia service over an IMS network | |
US10080158B2 (en) | Providing multiple interfaces for traffic | |
JP7118860B2 (ja) | VoIPでメディア送信のための最適ネットワーク経路を選択するための方法とシステム、非一時的なコンピュータで読み取り可能な記録媒体 | |
CN108777640B (zh) | 一种服务器探测方法、装置、系统及存储介质 | |
CN110838991A (zh) | 网关连接方法、装置、存储介质、电子设备及网关设备 | |
EP2526491A1 (en) | Client-server system | |
US9113358B1 (en) | Configurable network virtualization | |
KR101708238B1 (ko) | 송신 장치 및 다종 네트워크 환경에서 동적 경로 상태를 측정하는 방법 | |
Wehrle et al. | Device driver-enabled wireless network emulation | |
WO2019011142A1 (zh) | 一种进行网络链路切换的方法和系统 | |
US20140006589A1 (en) | Network capability notification | |
JP2013196287A (ja) | 仮想マシン制御装置及びプログラム | |
WO2014044689A1 (en) | A method for connecting programs and/or applications to network interfaces | |
CN111193778B (zh) | 一种web服务负载均衡的方法及装置 | |
US9692685B2 (en) | Heterogeneous network system, network apparatus, and rendezvous path selection method thereof | |
CA2997153A1 (en) | Devices and methods for managing a network communication channel between an electronic device and an enterprise entity | |
CN104737499A (zh) | 终端、消息分发系统、消息分发方法以及消息接收程序 | |
CN111418174A (zh) | 第一节点和第二节点以及操作第一节点和第二节点的方法 | |
JP2017142647A (ja) | リソース管理装置及びリソース管理方法 | |
EP3222096A1 (en) | Determining location of a networked device | |
US20130114584A1 (en) | Method for establishing a bridge connection among wireless access points |