(57)【要約】【課題】移動するクライアント端末に対して、広域ネットワーク上に複数存在するコンピュータリソースの中から、常に通信遅延が小さいコンピュータを選択して、サービス中に高速にＶＭを移動できる仮想サーバ構成変更方法を提供する。【解決手段】複数のコンピュータ５および、各コンピュータ５上に仮想マシン６を生成して起動させる仮想リソース管理部１を含む仮想サーバ構成変更システムＳは、クライアント端末７のＩＰアドレスを監視する。仮想リソース管理部１は、クライアント端末７のアドレスの変更に伴い、クライアント端末７がサービスを受ける仮想マシン６とこのクライアント端末７との間の通信遅延が閾値を超えたならば、このクライアント端末７との通信遅延が閾値以下のコンピュータ５に対して仮想マシン６の生成および起動を指示し、このコンピュータ５上に生成された仮想マシン６のアドレスをこのクライアント端末７に通知する。【選択図】図１
2019022057.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンピュータおよび、各前記コンピュータ上に仮想マシンを生成して起動させる仮想リソース管理部を含む仮想サーバ編成システムが実行する仮想サーバ編成変更方法であって、
端末のＩＰアドレスを監視し
前記仮想リソース管理部は、前記端末のアドレスの変更に伴い、前記端末がサービスを受ける仮想マシンと当該端末との間の通信遅延が閾値を超えたならば、当該端末のとの間の通信遅延が閾値以下の新たなコンピュータに対して仮想マシンの生成および起動を指示し、
前記新たなコンピュータ上に生成された仮想マシンのアドレスを前記端末に通知する、
ことを特徴とする仮想サーバ構成変更方法。
【請求項２】
前記仮想リソース管理部は、前記端末にサービスを提供する仮想マシンのイメージファイルを、前記新たなコンピュータに対して転送する、
ことを特徴とする請求項１に記載の仮想サーバ構成変更方法。
【請求項３】
前記仮想リソース管理部は、前記端末にサービスを提供する仮想マシンのイメージファイルを有するコンピュータのうち、前記新たなコンピュータに対する実効速度が最も高いものを選択し、
前記イメージファイルを前記新たなコンピュータに対して転送する、
ことを特徴とする請求項２に記載の仮想サーバ構成変更方法。
【請求項４】
各前記コンピュータが保持する仮想マシンのイメージファイル情報のリストに基づき、前記新たなコンピュータに対してイメージファイルを転送するコンピュータを特定する、
ことを特徴とする請求項２または３に記載の仮想サーバ構成変更方法。
【請求項５】
前記端末がサービスを受ける仮想マシンを具現化するコンピュータから前記端末へｐｉｎｇを送信して通信遅延を測定する、
ことを特徴とする請求項１に記載の仮想サーバ構成変更方法。
【請求項６】
複数のコンピュータと、
端末のＩＰアドレスを監視するクライアント監視部と、
前記クライアント監視部がいずれかの端末のアドレス変更を検知し、前記端末がサービスを受ける仮想マシンと当該端末との間の通信遅延が閾値を超えたならば、当該端末との間の通信遅延が閾値以下の新たなコンピュータに対して仮想マシンの生成および起動を指示する仮想リソース管理部と、
前記仮想リソース管理部によって生成された仮想マシンのアドレスを前記端末に通知するサービスＩＰアドレス通知部と、
ことを特徴とする仮想サーバ構成変更システム。
【請求項７】
前記仮想リソース管理部および各前記コンピュータは、前記端末にサービスを提供する仮想マシンのイメージファイルを転送するファイル転送部を含む、
ことを特徴とする請求項６に記載の仮想サーバ構成変更システム。
【請求項８】
各前記コンピュータが保持する仮想マシンのイメージファイルの情報が格納されたリストを含み、
前記仮想リソース管理部は、前記リストによって特定された各前記コンピュータおよび当該仮想リソース管理部のファイル転送部に対し、前記端末との間の通信遅延が閾値以下の新たなコンピュータに対する所定時間のファイル転送を行わせて転送速度が最も速い装置を特定し、当該装置から前記新たなコンピュータに対して、前記イメージファイルを転送する、
ことを特徴とする請求項６に記載の仮想サーバ構成変更システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想サーバ編成方法および仮想サーバ構成変更システムに関する。
【背景技術】
【０００２】
《サーバ仮想化技術》
近年のクラウドコンピューティングによるサービスでは、集約効率を高めるために仮想化技術を用いることが一般的である。仮想化技術は、アプリケーションサービスの実行環境を仮想マシン単位で扱うことで、異なるコンピュータリソース上に簡易かつ短時間でサービス環境を展開することを可能にする。仮想マシンの生成、削除等、仮想リソース管理を担うソフトウェア（仮想リソース管理部）として、ＯｐｅｎＳｔａｃｋ（非特許文献１参照）が注目されている。
以降、仮想マシンをＶＭ（Virtual Machine）とも記載する。
【０００３】
クラウドコンピューティングによる仮想サーバ編成システムの構成を考える。
図６は、比較例に係る仮想サーバ編成システムＳ１の構成例を示す機能ブロック図である。
【０００４】
仮想サーバ編成システムＳ１は、仮想リソース管理部１、コンピュータ５ａ〜５ｄ、クライアント端末７ａ〜７ｄから構成される。
コンピュータ５ａはＶＭ６ａとＶＭ６ｂを具現化し、コンピュータ５ｂはＶＭ６ｃとＶＭ６ｄを具現化する。コンピュータ５ｃはＶＭ６ｅとＶＭ６ｆを具現化し、コンピュータ５ｄはＶＭ６ｇとＶＭ６ｈを具現化する。
以降、コンピュータ５ａ〜５ｄを単にコンピュータ５、ＶＭ６ａ〜６ｈを単にＶＭ６と記載することもある。
【０００５】
仮想リソース管理部１は、ＯｐｅｎＳｔａｃｋに代表される仮想リソース管理ソフトウェアであり、例えばコンピュータ５上のＶＭ６を一元管理する。仮想サーバ編成システムＳ１は、サービスアプリケーションをＶＭ６という単位で、それぞれのコンピュータ５に配備する構成をとる。それぞれのコンピュータ５で実行されるサービスは、各クライアント端末７と、一対一または一対多で結びつく。
クライアント端末７ａは、同じロケーション９ａにあるコンピュータ５ａ上のＶＭ６ｂにアクセスし、サービスの提供を受けている。クライアント端末７ｂは、同じロケーション９ｂにあるコンピュータ５ｂ上のＶＭ６ｄにアクセスし、サービスの提供を受けている。クライアント端末７ｃ，７ｄは、同じロケーション９ｃにあるコンピュータ５ｃ上のＶＭ６ｆにアクセスし、サービスの提供を受けている。
【０００６】
図７は、比較例に係る仮想サーバ編成システムＳ１における、仮想マシンの生成指示からクライアント端末７ａによるサービスアクセスまでの流れを示したシーケンス図である。
比較例の仮想サーバ編成システムＳ１においては、クライアント端末７の信号は全て、一箇所のデータセンタサーバに集約して処理される。そのため、サービス開始時にあらかじめ予測需要分のＶＭ６をデータセンタ内のサーバに配備しておくことが一般的である。
ここでは、仮想リソース管理部１がコンピュータ＃１（コンピュータ５ａ）とコンピュータ＃２（コンピュータ５ｂ）とコンピュータ＃３（コンピュータ５ｃ）の３台を管理している場合を考える。
【０００７】
まず、サービスプロバイダ８は仮想リソース管理部１に対して、コンピュータ５ａにＶＭ６を生成するよう指示を出す（ステップＳ７０）。指示を受けた仮想リソース管理部１はコンピュータ５ａにＶＭ６を生成して起動する（ステップＳ７１）。生成と起動が完了したＶＭ６は、起動した旨を仮想リソース管理部１に返信する（ステップＳ７２）。これを受けて、仮想リソース管理部１は、コンピュータ５ａ上で生成と起動の完了したＶＭ６のＩＰアドレスを、サービスプロバイダ８に返信する（ステップＳ７３）。
【０００８】
次に、サービスプロバイダ８は仮想リソース管理部１に対して、コンピュータ５ｂにＶＭ６を生成するよう指示を出す（ステップＳ７４）。指示を受けた仮想リソース管理部１はコンピュータ５ｂにＶＭ６を生成して起動する（ステップＳ７５）。生成と起動が完了したＶＭ６は、起動した旨を仮想リソース管理部１に返信する（ステップＳ７６）。これを受けて、仮想リソース管理部１は、コンピュータ５ｂ上で生成と起動の完了したＶＭ６のＩＰアドレスを、サービスプロバイダ８に返信する（ステップＳ７７）。
【０００９】
次に、サービスプロバイダ８は仮想リソース管理部１に対して、コンピュータ５ｃにＶＭ６を生成するよう指示を出す（ステップＳ７８）。指示を受けた仮想リソース管理部１はコンピュータ５ｃにＶＭ６を生成して起動する（ステップＳ７９）。生成と起動が完了したＶＭ６は、起動した旨を仮想リソース管理部１に返信する（ステップＳ８０）。これを受けて、仮想リソース管理部１は、コンピュータ５ｃ上で生成と起動の完了したＶＭ６のＩＰアドレスを、サービスプロバイダ８に返信する（ステップＳ８１）。
【００１０】
仮想リソース管理部１の管理する全てのコンピュータ５にＶＭ６を生成した後に、サービスプロバイダ８は、サービス宛先ＩＰの通知を行う（ステップＳ８２）。すなわち、サービスプロバイダ８は、クライアント端末７ａと同じロケーション９ａにあるコンピュータ５ａ上のＶＭ６のＩＰアドレスを、クライアント端末７にサービス宛先ＩＰとして通知する。
通知を受けたクライアント端末７ａは通知されたサービス宛先ＩＰにアクセスし、コンピュータ５ａ上のＶＭ６で実行されているサービスを利用する（ステップＳ８３）。
【００１１】
このように、比較例の仮想サーバ編成システムＳ１においては、サービス開始時にあらかじめ、サービスプロバイダ８が一括してＶＭ６の生成指示を出しておく。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】OpenStack Project、“OpenStack Open Source Cloud Computing Software”、[online]、[平成２９年６月１６日検索]、インターネット<URL:http://www.openstack.org/>
【非特許文献２】European Telecommunications Standards Institute(ETSI)、“ETSI - Multi-access Edge Computing”、[online]、[平成２９年７月４日検索]、インターネット<URL:http://www.etsi.org/technologies-clusters/technologies/mobile-edge-computing/>
【発明の概要】
【発明が解決しようとする課題】
【００１３】
《エッジコンピューティング》
近年、ＩｏＴ（Internet of Things）の普及に伴い、センシングや物理的なインタラクションを行うために、大容量のデータ処理や高いリアルタイム性を必要とするサービスの増加が予想される。
このようなサービスを実現するために、エッジコンピューティングが提唱されている（非特許文献２参照）。エッジコンピューティングとは、ネットワーク周縁へ計算処理リソース（エッジサーバ）を分散配置する手法である。エッジコンピューティングは、クライアント端末近傍のコンピュータでサービス処理を行い、通信距離を短縮することで、通信トラヒックを最適化し、アプリケーション処理の低遅延化を実現できる。
【００１４】
ＩｏＴサービスのクライアント端末として想定されるスマートフォンやウェアラブル端末は、所有者の移動にしたがって物理的な位置や接続するネットワークが変化する。このような環境における、通信トラヒックの最適化を妨げる要素には、クライアント端末とサービス処理を行うコンピュータとの通信距離の変動はもちろん、接続先の各ネットワークの状況等も考えられる。よって、サービス処理に最適なコンピュータとは、クライアント端末の近傍にあるというだけでなく、クライアント端末との通信遅延が最小になるコンピュータである。
以上により、エッジコンピューティングの仮想化を実現するには、クライアント端末の移動に伴って、サービス実行環境である仮想マシンを、通信遅延が最小のコンピュータに適宜移動させることが必要である。
【００１５】
《エッジコンピューティングの仮想化技術実装》
エッジコンピューティングをサーバ仮想化技術で実現することを考える。図６の比較例では、広域ネットワーク上に複数存在するコンピュータをＯｐｅｎＳｔａｃｋに代表される仮想リソース管理ソフトウェアで一元管理している。比較例では更に、サービスアプリケーションを仮想マシン単位で、それぞれのコンピュータに配備している。それぞれのコンピュータで実行されるサービスは、クライアントと一対一または一対多で結びついている。
【００１６】
ここで、既存の仮想リソース管理ソフトウェアによる管理とは異なる本構成の要件を以下に示す。
エッジコンピューティングの対極の手法であるクラウドコンピューティングでは、広域ネットワーク上のクライアントの信号は全て一箇所のデータセンタサーバに集約して処理される。そのためクラウドコンピューティングでは、サービス開始時にあらかじめ予測需要分の仮想マシンをデータセンタ内のサーバに配備しておくことが一般的である（図７参照）。
【００１７】
これに対して、エッジコンピューティングでは、クライアント端末の近傍のコンピュータでサービス処理を行う必要がある。そのため、エッジコンピューティングでは、クライアント端末のロケーションごとに仮想マシンを割り当てることが前提となる。ロケーションごとのサービス需要をとらえて適切に仮想マシンを配備しないと、需要がないコンピュータに仮想マシンを配備してコンピュータリソースを無駄に消費してしまうか、または、クライアントからの遅延が大きいコンピュータでサービスを実行してしまう。このように、エッジコンピューティングを仮想リソース管理ソフトウェアで実装するには、需要に応じた必要最小限の仮想マシンを適切なコンピュータへ適切なタイミングで配備することが求められる。
【００１８】
ところが、ＯｐｅｎＳｔａｃｋに代表される既存の仮想リソース管理ソフトウェアの多くは、データセンタという限定された環境にあるコンピュータのみを対象としている。このような既存の仮想リソース管理ソフトウェアは、広域ネットワーク上に散在するコンピュータに対して、その遅延や帯域といったネットワーク条件を考慮して仮想マシンを生成させることができない。したがって、クライアント端末が移動し、近傍のコンピュータが変更された場合であっても、そのことを検知してサービス実行環境を新たに近傍となったコンピュータへ移動することができない。
また、仮想マシンを異なるコンピュータに再生成してサービス実行環境を移動しようとする際に、広域ネットワークを対象とすると、仮想リソース管理機能部とコンピュータ間のネットワークの実効帯域が小さく、仮想マシン生成に必要なイメージファイルの転送に非常に長い時間を要してしまうおそれがあり、問題となる。
【００１９】
本発明はこのような点を鑑みてなされたものであり、移動するクライアント端末に対して、広域ネットワーク上に複数存在するコンピュータリソースの中から通信遅延が小さいコンピュータを選択して、サービス中に高速に仮想マシンを移動することを課題とする。
【課題を解決するための手段】
【００２０】
前記した課題を解決するため、請求項１に記載の発明は、
複数のコンピュータおよび、各前記コンピュータ上に仮想マシンを生成して起動させる仮想リソース管理部を含む仮想サーバ編成システムが実行する仮想サーバ編成変更方法であって、
端末のＩＰアドレスを監視し
前記仮想リソース管理部は、前記端末のアドレスの変更に伴い、前記端末がサービスを受ける仮想マシンと当該端末との間の通信遅延が閾値を超えたならば、当該端末のとの間の通信遅延が閾値以下の新たなコンピュータに対して仮想マシンの生成および起動を指示し、
前記新たなコンピュータ上に生成された仮想マシンのアドレスを前記端末に通知する、
ことを特徴とする仮想サーバ構成変更方法とした。
【００２１】
このようにすることで、移動するクライアント端末に対して、広域ネットワーク上に複数存在するコンピュータリソースの中から、常に通信遅延が小さいコンピュータを選択して、サービス中に高速に仮想マシンを移動できる。
【００２２】
前記した課題を解決するため、請求項２に記載の発明は、
前記仮想リソース管理部は、前記端末にサービスを提供する仮想マシンのイメージファイルを、前記新たなコンピュータに対して転送する、
ことを特徴とする請求項１に記載の仮想サーバ構成変更方法とした。
【００２３】
このようにすることで、仮想リソース管理部が保持する仮想マシンのイメージファイルを、端末との通信遅延が所定値よりも小さいコンピュータに転送することができる。
【００２４】
前記した課題を解決するため、請求項３に記載の発明は、
前記仮想リソース管理部は、前記端末にサービスを提供する仮想マシンのイメージファイルを有するコンピュータのうち、前記新たなコンピュータに対する実効速度が最も高いものを選択し、
前記イメージファイルを前記新たなコンピュータに対して転送する、
ことを特徴とする請求項２に記載の仮想サーバ構成変更方法とした。
【００２５】
このようにすることで、仮想マシンのイメージファイルを保持する複数のコンピュータおよび仮想リソース管理部から、イメージファイルの転送元として最適な装置を特定することができる。
【００２６】
前記した課題を解決するため、請求項４に記載の発明は、
各前記コンピュータが保持する仮想マシンのイメージファイル情報のリストに基づき、前記新たなコンピュータに対してイメージファイルを転送するコンピュータを特定する、
ことを特徴とする請求項２または３に記載の仮想サーバ構成変更方法とした。
【００２７】
前記した課題を解決するため、請求項５に記載の発明は、
前記端末がサービスを受ける仮想マシンを具現化するコンピュータから前記端末へｐｉｎｇを送信して通信遅延を測定する、
ことを特徴とする請求項１に記載の仮想サーバ構成変更方法とした。
【００２８】
このようにすることで、サービスを受ける仮想マシンを具現化するコンピュータと端末との間の通信遅延をｐｉｎｇ送信によって測定することができる。
【００２９】
前記した課題を解決するため、請求項６に記載の発明は、
複数のコンピュータと、
端末のＩＰアドレスを監視するクライアント監視部と、
前記クライアント監視部がいずれかの端末のアドレス変更を検知し、前記端末がサービスを受ける仮想マシンと当該端末との間の通信遅延が閾値を超えたならば、当該端末との間の通信遅延が閾値以下の新たなコンピュータに対して仮想マシンの生成および起動を指示する仮想リソース管理部と、
前記仮想リソース管理部によって生成された仮想マシンのアドレスを前記端末に通知するサービスＩＰアドレス通知部と、
ことを特徴とする仮想サーバ構成変更システムとした。
【００３０】
このようにすることで、移動するクライアント端末に対して、広域ネットワーク上に複数存在するコンピュータリソースの中から、常に通信遅延が小さいコンピュータを選択して、サービス中に高速に仮想マシンを移動できる。
【００３１】
前記した課題を解決するため、請求項７に記載の発明は、
前記仮想リソース管理部および各前記コンピュータは、前記端末にサービスを提供する仮想マシンのイメージファイルを転送するファイル転送部を含む、
ことを特徴とする請求項６に記載の仮想サーバ構成変更システムとした。
【００３２】
このようにすることで、仮想リソース管理部および各コンピュータが保持する仮想マシンのイメージファイルを、端末との通信遅延が所定値よりも小さいコンピュータに転送することができる。
【００３３】
前記した課題を解決するため、請求項８に記載の発明は、
各前記コンピュータが保持する仮想マシンのイメージファイルの情報が格納されたリストを含み、
前記仮想リソース管理部は、前記リストによって特定された各前記コンピュータおよび当該仮想リソース管理部のファイル転送部に対し、前記端末との間の通信遅延が閾値以下の新たなコンピュータに対する所定時間のファイル転送を行わせて転送速度が最も速い装置を特定し、当該装置から前記新たなコンピュータに対して、前記イメージファイルを転送する、
ことを特徴とする請求項６に記載の仮想サーバ構成変更システムとした。
【００３４】
このようにすることで、仮想マシンのイメージファイルを保持する複数のコンピュータから、イメージファイルの転送元として最適なコンピュータを特定することができる。
【発明の効果】
【００３５】
本発明によれば、移動するクライアント端末に対して、広域ネットワーク上に複数存在するコンピュータリソースの中から通信遅延が小さいコンピュータを選択し、サービス中に高速に仮想マシンを移動できる。
【図面の簡単な説明】
【００３６】
【図１】本実施形態に係る仮想サーバ構成変更システムの構成例を示す機能ブロック図である。
【図２】本実施形態に係る仮想サーバ構成変更システムにおける、クライアント端末のＩＰアドレス変更から、クライアント端末に新サービスアドレスが通知されるまでの流れを示したフローチャートである。
【図３】本実施形態に係るＶＭイメージファイルリストのテーブルの一例である。
【図４】本実施形態に係る仮想サーバ構成変更システムにおける、クライアント端末のＩＰアドレス変更から、新たなコンピュータの選択までの流れを示したシーケンス図である。
【図５】本実施形態に係る仮想サーバ構成変更システムにおける、転送速度測定から新サービスＩＰアドレスの通知までの流れを示したシーケンス図である。
【図６】比較例に係る仮想サーバ編成システムの構成例を示す機能ブロック図である。
【図７】比較例に係る仮想サーバ編成システムにおける、ＶＭ生成指示からクライアント端末によるサービスアクセスまでの流れを示したシーケンス図である。
【発明を実施するための形態】
【００３７】
次に、本発明を実施するための形態（以下、「本実施形態」と称する。）における仮想サーバ構成変更システムＳについて説明する。
本実施形態では、クライアント端末のＩＰアドレスの変化を監視することで通信遅延の変化を検知する。ＩＰアドレスの変化は、必ずしも位置の変化とは対応しないが、通信遅延の変化に大きく影響するＬＴＥ（Long Term Evolution）からＷｉｆｉ（登録商標）などへのアクセス手段の変更を扱うことができる。従って、ＩＰアドレスの変化を監視することで、クライアント端末からコンピュータへの通信遅延の変化を検出できる。
なお、本実施形態では、サーバ側に状態データを一切持たないステートレスのサービスを暗に想定している。これにより、サーバ側である仮想マシンを自由に移動可能としている。本実施形態では、アプリケーションの性質に応じて、例えば、アプリケーションによるデータ同期や、外部サーバによる一元管理などにより、データの一貫性を保持している。
【００３８】
図１は本実施形態に係る仮想サーバ構成変更システムＳの構成例を示す機能ブロック図である。
仮想サーバ構成変更システムＳは、広域ネットワーク上の仮想リソース管理部１、クライアント監視部２、ＶＭイメージファイルリスト３を備える。また、コンピュータＩＰアドレスリスト４、コンピュータ５ａ〜５ｄ、クライアント端末７ａ〜７ｄも備える。
以降、コンピュータ５ａ〜５ｄを単にコンピュータ５、クライアント端末７ａ〜７ｄを単にクライアント端末７と記載することもある。
【００３９】
仮想リソース管理部１は、ファイル転送部１１とサービスＩＰアドレス通知部１２を備える。
クライアント端末７は、クライアント監視部２は仮想リソース監視部と連携する。また、ＶＭイメージファイルリスト３とコンピュータＩＰアドレスリスト４は仮想リソース管理部１から参照できる。
【００４０】
各コンピュータ５は、遅延測定部５１とファイル転送部５２を備える。
なお、遅延測定部５１とファイル転送部５２は仮想リソース管理部１が管理する各コンピュータ５上に配備する必要があるが、クライアント監視部２については実装形態を問わない。クライアント監視部２はコンピュータ５上に仮想マシンとして実装してもよいし、外部の別コンピュータ上に実装してもよい。
【００４１】
コンピュータ５ａはＶＭ６ａとＶＭ６ｂを具現化し、コンピュータ５ｂはＶＭ６ｃとＶＭ６ｄを具現化し、コンピュータ５ｃはＶＭ６ｅとＶＭ６ｆを具現化し、コンピュータ５ｄはＶＭ６ｇとＶＭ６ｈを具現化する。
以降、ＶＭ６ａ〜６ｈを単にＶＭ６と記載することもある。
【００４２】
仮想リソース管理部１はコンピュータ５上のＶＭ６を管理する。
クライアント端末７ａは、同じロケーション９ａにあるコンピュータ５ａ上のＶＭ６ｂにアクセスし、サービスの提供を受けている。クライアント端末７ｂは、同じロケーション９ｂにあるコンピュータ５ｂ上のＶＭ６ｄにアクセスし、サービスの提供を受けている。クライアント端末７ｃ，７ｄは、同じロケーション９ｃにあるコンピュータ５ｃ上のＶＭ６ｆにアクセスし、サービスの提供を受けている。
このように、それぞれのＶＭ６で実行されるサービスは、クライアント端末７と一対一で結びついてもよいし、一対多で結びついてもよい。
【００４３】
図２は本実施形態に係る仮想サーバ構成変更システムＳにおける、クライアント端末７のＩＰアドレス変更から、クライアント端末７に新サービスアドレスが通知されるまでの流れを示したフローチャートである。
以下の手順により、クライアント端末７の移動に追従して、クライアント端末７の近傍のコンピュータ５にＶＭ６を配備することができる。
【００４４】
クライアント監視部２は、クライアント端末７のＩＰアドレスを一定周期で監視している。クライアント監視部２（監視手段）の具体的な動作は、基地局（不図示）が一定周期でクライアント端末７と通信してもよく、クライアント端末７が一定周期で基地局（不図示）と通信してもよく、限定されない。クライアント監視部２（監視手段）の具体的な動作については、図４のステップＳ３１において説明する。
監視の結果、ＩＰアドレスに変更がなければ、クライアント監視部２は再びクライアント端末７の監視に戻る（ステップＳ１０：Ｎｏ）。
【００４５】
監視の結果、クライアント端末７のＩＰアドレスに変更があったならば（ステップＳ１０：Ｙｅｓ）、仮想リソース管理部１は、このクライアント端末７にサービスを提供しているコンピュータ５に対して、このクライアント端末７との間の通信遅延を測定する命令を送信する。
コンピュータ５とクライアント端末７との間の通信遅延が許容値（閾値）以下であれば（ステップＳ１１：Ｙｅｓ）、クライアント監視部２は、再びクライアント端末７の監視に戻る（ステップＳ１０）。
【００４６】
コンピュータ５とクライアント端末７との間の通信遅延が許容値（閾値）を超えていた場合（ステップＳ１１：Ｎｏ）、広域ネットワークを探索して通信遅延が許容値以下のコンピュータ５を新たに選択する（ステップＳ１２）。
本実施形態では、ステップＳ１２における探索の手段は問わない。ここでは仮想リソース管理部１が、各コンピュータ５に通信遅延を測定する命令を送信し、各コンピュータ５とクライアント端末７との間の通信遅延を測定している。しかし、これに限られず、例えば仮想リソース管理部１が、各クライアント端末７について低遅延が期待できるコンピュータ５の候補リストを備え、候補リスト上のコンピュータ５を順次選択してもよい。探索手段の具体的な動作は、図４のステップＳ４２〜Ｓ５３において説明する。
【００４７】
ステップＳ１３において、仮想リソース管理部１は、このクライアント端末７にサービスを提供するＶＭ６を生成して起動するために選択した新たなコンピュータ５が、このＶＭ６のイメージファイルを保持しているかどうかを確認する。この新たなコンピュータ５がＶＭ６のイメージファイルを保持していた場合（ステップＳ１３：Ｙｅｓ）、保持しているイメージファイルでＶＭ６を起動する（ステップＳ１９）。
【００４８】
このクライアント端末７にサービスを提供するＶＭ６を生成して起動するために選択した新たなコンピュータ５が、このＶＭ６のイメージファイルを保持していなかったならば（ステップＳ１３：Ｎｏ）、仮想リソース管理部１は、このＶＭ６のイメージファイルを保持しているコンピュータ５の中から、選択した新たなコンピュータ５への転送速度が最も速いものを探索する。
クライアント端末７にサービスを提供するＶＭ６のイメージファイルは、少なくとも仮想リソース管理部１と、クライアント端末７にサービスを提供していたコンピュータ５に保持されている。更に、過去に同じサービスを提供したことがあるコンピュータ５にも保持されている。仮想リソース管理部１および各コンピュータ５が保持するＶＭ６のイメージファイルのリストは、ＶＭイメージファイルリスト３で管理されている。ＶＭイメージファイルリスト３については、図３において説明する。
以降、クライアント端末７にサービスを提供するＶＭ６のイメージファイルを保持している仮想リソース管理部１およびコンピュータ５を、ＶＭイメージファイル保持コンピュータと記載することもある。
【００４９】
探索にあたって、仮想リソース管理部１は、全てのＶＭイメージファイル保持コンピュータに対して、クライアント端末７ａとの間の転送速度を計測させる（ステップＳ１４〜Ｓ１６）。
転送速度の計測としては、例えば、一般的なダウンロード測定方法が採用できる。仮想リソース管理部１のファイル転送部１１、および各コンピュータ５のファイル転送部５２から数秒程度の所定時間のファイル転送を行うことで、転送されたファイル容量から転送速度を試算することができる。
転送速度の測定が完了したならば（ステップＳ１５）、仮想リソース管理部１は、次のＶＭイメージファイル保持コンピュータの測定に移行する。以降、全てのＶＭイメージファイル保持コンピュータの測定が完了するまで測定処理を繰り返す（ステップＳ１６）。
【００５０】
転送速度の測定が完了したならば、仮想リソース管理部１は、測定結果を比較し、ＶＭイメージファイル保持コンピュータの中から転送速度が最も速い装置を特定する（ステップＳ１７）。
このようにすることで、ＶＭ６のイメージファイルを保持する複数の装置から、イメージファイルの転送元として最適な装置を特定することができる。
【００５１】
特定された装置が仮想リソース管理部１であればファイル転送部１１が、選択した新たなコンピュータ５に、クライアント端末７にサービスを提供するＶＭ６のイメージファイルを転送する（ステップＳ１８）。このようにすることで、仮想リソース管理部１が保持するＶＭ６のイメージファイルを、クライアント端末７との通信遅延が所定値よりも小さいコンピュータ５に転送することができる。
特定された装置がコンピュータ５であればファイル転送部５２が、選択した新たなコンピュータ５に、クライアント端末７にサービスを提供するＶＭ６のイメージファイルを転送する（ステップＳ１８）。
このようにすることで、移動するクライアント端末７に対して、広域ネットワーク上に複数存在するコンピュータリソースの中から、常に通信遅延が小さいコンピュータ５を選択して、サービス中に高速にＶＭ６を移動できる。
【００５２】
なお、この転送処理には競合制御を実施する。例えば、後発で他のクライアント端末７のＩＰアドレスが変化し、かつ通信遅延が許容値を超えたために、ＶＭ６のイメージファイルを転送する場合を考える。このとき、ステップＳ１８でイメージファイルを転送している最中のコンピュータ５は、ＶＭイメージファイル保持コンピュータのリストから除かれる。転送の競合により転送速度が低下し、ＶＭイメージファイルの転送に長時間を要してしまう事態を回避するためである。
【００５３】
転送が完了したなら、新たなコンピュータ５で転送したＶＭ６を生成して起動する（ステップＳ１９）。
ＶＭ６の生成と起動とが完了したなら、サービスＩＰアドレス通知部１２は、クライアント端末７に、このＶＭ６のＩＰアドレスをサービスアドレスとして通知する（ステップＳ２０）。サービスＩＰアドレス通知部１２は、通知のためにＷｅｂ上にサービスアドレスを掲載してもよく、更にメールでサービスアドレス送信してもよい。このクライアント端末７は、サービス中にサービスの宛先ＩＰアドレス通知を受け取って、接続先を変更する機能を有するものとする。
【００５４】
以上により、移動するクライアント端末７に対して、広域ネットワーク上に複数存在するコンピュータリソースの中から、常に通信遅延が小さいコンピュータ５を選択して、サービス中に高速にＶＭ６を移動できる。
【００５５】
図３は、本実施形態に係るＶＭイメージファイルリスト３のテーブルの一例である。
本実施形態では、コンピュータ名と保持ＶＭイメージファイルのリストを関連付けて記憶している。
コンピュータ＃１が保持するＶＭイメージファイルのリストは「ＶＭ＃Ａ」と「ＶＭ＃Ｂ」である。コンピュータ＃２が保持するＶＭイメージファイルのリストは「ＶＭ＃Ｂ」と「ＶＭ＃Ｃ」である。コンピュータ＃３が保持するＶＭイメージファイルは「ＶＭ＃Ｃ」である。
仮想リソース管理部１は、当該テーブルから所望のＶＭイメージファイルを保持するコンピュータ５のリストを取得し、これらコンピュータ５に転送速度の測定指示を送信する。このようにすることで、仮想マシンのイメージファイルを保持する複数のコンピュータおよび仮想リソース管理部のうち、イメージファイルの転送元として最適な装置を特定することができる。
【００５６】
図４は、本実施形態に係る仮想サーバ構成変更システムＳにおける、クライアント端末７ａのＩＰアドレス変更から、新たなコンピュータ５の選択までの流れを示したシーケンス図である。
ここでは、仮想リソース管理部１がコンピュータ＃１（コンピュータ５ａ）、コンピュータ＃２（コンピュータ５ｂ）、コンピュータ＃３（コンピュータ５ｃ）を管理していた場合を考える。また、ＶＭ６を再生成する新たなコンピュータ５は、仮想リソース管理部１が、各コンピュータ５に通信遅延の測定命令を送信し、各コンピュータ５とクライアント端末７ａとの間の通信遅延を比較することで選択するものとする。
【００５７】
クライアント端末７ａは、コンピュータ５ａ（コンピュータ＃１）上のＶＭ６にアクセスし、サービスを享受している（ステップＳ３０）。
クライアント端末７ａのＩＰアドレス変化の監視手段は複数存在するが、ここでは、クライアント端末７ａが定期的にクライアント監視部２にＩＰアドレスを送信することで、監視を実現している（ステップＳ３１，Ｓ４０）。
【００５８】
ここで、クライアント端末７ａのＩＰアドレスに変化があったものとする（ステップＳ３２）。その後、クライアント端末７ａは、定期的な送信タイミングにおいて、ＩＰアドレスをクライアント監視部２に送信する（ステップＳ４０）。
クライアント監視部２は、ステップＳ３１に送信されたＩＰアドレスと、ステップＳ４０に送信されたＩＰアドレスを比較し、これらが異なることからクライアント端末７ａのＩＰアドレスが変化したと判断する。クライアント監視部２は、仮想リソース管理部１にクライアント端末７のＩＰアドレスに変更があった旨を送信する（ステップＳ４１）。
ＩＰアドレス変更を受けて、仮想リソース管理部１は、各コンピュータ５とクライアント端末７ａとの間の通信遅延を取得する。以下にその詳細を述べる。
【００５９】
まず、仮想リソース管理部１は、クライアント端末７ａにサービスを供給しているコンピュータ５ａとクライアント端末７ａとの間の通信遅延を測定させる。
仮想リソース管理部１は、コンピュータ５ａの遅延測定部５１に通信遅延の測定命令を送信する（ステップＳ４２）。コンピュータ５ａの遅延測定部５１はクライアント端末７ａにｐｉｎｇを送信し（ステップＳ４３）、クライアント端末７ａはｐｉｎｇに応答する（ステップＳ４４）。コンピュータ５ａの遅延測定部５１は、ｐｉｎｇ送信から応答受信までに要した時間を通信遅延として仮想リソース管理部１に通知する（ステップＳ４５）。
【００６０】
ここで、コンピュータ５ａとクライアント端末７ａとの間の通信遅延が許容値を超えていたので、仮想リソース管理部１は、他のコンピュータ５ｂ，５ｃとクライアント端末７ａ間の通信遅延を測定する。
仮想リソース管理部１は、コンピュータ５ｂの遅延測定部５１に通信遅延の測定命令を送信する（ステップＳ４６）。コンピュータ５ｂの遅延測定部５１は、クライアント端末７ａにｐｉｎｇを送信し（ステップＳ４７）、クライアント端末７ａはｐｉｎｇに応答する（ステップＳ４８）。コンピュータ５ｂの遅延測定部５１は、ｐｉｎｇ送信から応答受信までに要した時間を通信遅延として仮想リソース管理部１に通知する（ステップＳ４９）。
【００６１】
次に、仮想リソース管理部１は、コンピュータ５ｃの遅延測定部５１に通信遅延の測定命令を送信する（ステップＳ５０）。コンピュータ５ｃの遅延測定部５１は、クライアント端末７ａにｐｉｎｇを送信し（ステップＳ５１）、クライアント端末７ａはｐｉｎｇに応答する（ステップＳ５２）。コンピュータ５ｃの遅延測定部５１は、ｐｉｎｇ送信から応答受信までに要した時間を通信遅延として仮想リソース管理部１に通知する（ステップＳ５３）。
【００６２】
このようにすることで、サービスを受けるＶＭ６を具現化するコンピュータ５とクライアント端末７との間の通信遅延をｐｉｎｇ送信によって測定することができる。全てのコンピュータ５の通信遅延の測定が完了したなら、仮想リソース管理部１は、通信遅延が最小となるコンピュータ５を新たに選択する。
【００６３】
図５は、本実施形態に係る仮想サーバ構成変更システムＳにおける、転送速度測定から新サービスＩＰアドレスの通知までの流れを示したシーケンス図である。
ここでは、このクライアント端末７にサービスを提供しているＶＭ６のイメージファイルを仮想リソース管理部１とコンピュータ＃１（コンピュータ５ａ）が保持しており、選択された新たなコンピュータがコンピュータ＃２（コンピュータ５ｂ）であった場合を考える。
【００６４】
まず、仮想リソース管理部１は、ファイル転送部１１からコンピュータ５ｂに所定時間のファイル転送を行い、コンピュータ５ｂとの間の転送速度を測定する（ステップＳ５４）。ここで所定時間とは、例えば数秒間であるが、これに限定されない。
次に、仮想リソース管理部１は、コンピュータ５ａに転送速度の測定指示を送信する（ステップＳ５５）。コンピュータ５ａは、ファイル転送部５２からコンピュータ５ｂに所定時間のファイル転送を行い、コンピュータ５ｂとの間の転送速度を測定する（ステップＳ５６）。コンピュータ５ａは測定した転送速度を仮想リソース管理部１に返信する（ステップＳ５７）。
仮想リソース管理部１は、転送速度の測定結果を比較し、コンピュータ５ｂへの転送速度が最も速い装置を特定する。ここでは、コンピュータ５ａが最速だった場合を考える。
【００６５】
仮想リソース管理部１はコンピュータ５ａにＶＭイメージ転送指示を送信する（ステップＳ５８）。
この指示を受けて、コンピュータ５ａは、ファイル転送部５２からコンピュータ５ｂにＶＭイメージを転送する（ステップＳ５９）。転送が完了したなら、コンピュータ５ｂは転送完了の旨をコンピュータ５ａに応答する（ステップＳ６０）。コンピュータ５ａは、仮想リソース管理部１に転送完了の旨を応答する（ステップＳ６１）。
【００６６】
コンピュータ５ａの転送完了を受けて、仮想リソース管理部１は、コンピュータ５ｂにＶＭ起動指示を送信する（ステップＳ６２）。コンピュータ５ｂは、ＶＭ６を生成して起動する。コンピュータ５ｂ上で生成されて起動されたＶＭ６は、起動された旨を仮想リソース管理部１に返信する（ステップＳ６３）。
【００６７】
ステップＳ５４〜Ｓ６２の処理により、移動するクライアント端末７に対して、広域ネットワーク上に複数存在するコンピュータリソースの中から、常に通信遅延が小さいコンピュータ５を選択して、サービス中に高速にＶＭ６を移動できる。
【００６８】
ＶＭ６の起動完了を受けて、仮想リソース管理部１は、起動したＶＭ６のＩＰアドレスをサービスアドレスとして、サービスＩＰアドレス通知部１２に送信する（ステップＳ６４）。
サービスＩＰアドレス通知部１２はサービスアドレスをクライアント端末７に通知する（ステップＳ６５）。クライアント端末７は、サービスアドレスにアクセスし、コンピュータ５ｂからサービスの提供を受ける（ステップＳ６６）。
【００６９】
図４と図５の動作により、コンピュータ５ａ上で動作していたＶＭ６を、コンピュータ５ｂ上に移動させることができる。クライアント端末７は、近傍のコンピュータ５ｂ上のＶＭ６によるサービスを享受することができる。
本実施形態によれば、特殊なハードウェアが不要であり、ソフトウェアの機能だけで実装が可能である。
【００７０】
実施形態は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されない。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、前記した機構や構成は説明上必要と考えられるものを示しており、製品上必ずしも全ての機構や構成を示しているとは限らない。
【符号の説明】
【００７１】
Ｓ                                              仮想サーバ構成変更システム
Ｓ１                                            仮想サーバ編成システム
１                                              仮想リソース管理部
１１                                            ファイル転送部
１２                                            サービスＩＰアドレス通知部
２                                              クライアント監視部
３                                              ＶＭイメージファイルリスト
４                                              コンピュータＩＰアドレスリスト
５ａ，５ｂ，５ｃ，５ｄ                          コンピュータ
５１                                            遅延測定部
５２                                            ファイル転送部
６ａ，６ｂ，６ｃ，６ｄ，６ｅ，６ｆ，６ｇ，６ｈ  ＶＭ（仮想マシン）
７ａ，７ｂ，７ｃ，７ｄ                          クライアント端末（端末）
９ａ，９ｂ，９ｃ                                ロケーション
【図１】
2019022057.tif 000003
【図２】
2019022057.tif 000004
【図３】
2019022057.tif 000005
【図４】
2019022057.tif 000006
【図５】
2019022057.tif 000007
【図６】
2019022057.tif 000008
【図７】
2019022057.tif 000009