JP2018028735A - 移動制御プログラム、移動制御装置及び移動制御方法 - Google Patents
移動制御プログラム、移動制御装置及び移動制御方法 Download PDFInfo
- Publication number
- JP2018028735A JP2018028735A JP2016159343A JP2016159343A JP2018028735A JP 2018028735 A JP2018028735 A JP 2018028735A JP 2016159343 A JP2016159343 A JP 2016159343A JP 2016159343 A JP2016159343 A JP 2016159343A JP 2018028735 A JP2018028735 A JP 2018028735A
- Authority
- JP
- Japan
- Prior art keywords
- information
- variable
- conditional expression
- movement
- machine
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
Abstract
【課題】仮想マシンの再配置に伴う仮想マシンの移動順序を決定する移動制御プログラム、移動制御装置及び移動制御方法を提供する。
【解決手段】複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、複数の物理マシン及び複数の仮想マシンそれぞれのリソース情報リソース情報と、複数の仮想マシンそれぞれが移動する際の移動経路に対応する移動可能数情報と、第1変数と、第2変数と、第3変数とから、第1条件式と、第2条件式と、第3条件式と、第4条件式と、第5条件式と、第6条件式を生成し、第1条件式と、第2条件式と、第3条件式と、第4条件式と、第5条件式と、第6条件式とから、第3変数が最小になる場合の第1変数、第2変数及び第3変数の値を算出する。
【選択図】図5
【解決手段】複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、複数の物理マシン及び複数の仮想マシンそれぞれのリソース情報リソース情報と、複数の仮想マシンそれぞれが移動する際の移動経路に対応する移動可能数情報と、第1変数と、第2変数と、第3変数とから、第1条件式と、第2条件式と、第3条件式と、第4条件式と、第5条件式と、第6条件式を生成し、第1条件式と、第2条件式と、第3条件式と、第4条件式と、第5条件式と、第6条件式とから、第3変数が最小になる場合の第1変数、第2変数及び第3変数の値を算出する。
【選択図】図5
Description
本発明は、移動制御プログラム、移動制御装置及び移動制御方法に関する。
近年、物理マシンの性能向上に伴い、複数の仮想マシン(VM:Virtual Machine)を1つの物理マシンに集約する仮想化技術の研究が進められている。この仮想化技術は、例えば、仮想化ソフトウエア(以下、ハイパバイザとも呼ぶ)が物理マシンの物理リソースを複数の仮想マシンに割当て、各仮想マシンにインストールされたアプリケーションプログラム(以下、アプリケーションとも呼ぶ)によるサービスの提供を可能にする。
上記のような仮想マシンにおいて、仮想マシンの管理を行う管理者(以下、単に管理者とも呼ぶ)は、必要に応じて物理マシン間における仮想マシンの移動を行う(以下、これをマイグレーションとも呼ぶ)。これにより、管理者は、例えば、利用者によるサービスの利用状況に応じて仮想マシンの再配置を行うことが可能になる。そのため、管理者は、物理マシンの物理リソースの効率的な活用等を実現することが可能になる(例えば、特許文献1及び2参照)。
上記のような仮想マシンの移動を行う場合、管理者は、例えば、各仮想マシンが動作する物理マシンのうち、物理リソースの残余がある物理マシンに対して仮想マシンの移動を行う。しかしながら、この場合、仮想マシンを移動することができる物理マシンは、現状で物理リソースに残余のある物理マシンに限られる。そのため、仮想マシンの移動が行われた後における各仮想マシンの配置は、物理マシンの物理リソースを効率的に使用する観点から最適な仮想マシンの配置でない場合がある。
これに対し、管理者は、例えば、最適化ソルバ等の数理計画法を活用することにより、物理マシンの物理リソースの最も効率的に使用することができる仮想マシンの配置(以下、最適配置とも呼ぶ)を予め決定することが可能である。しかしながら、数理計画法によって算出される仮想マシンの配置は、各仮想マシンの移動中における各物理マシンの物理リソースの残余の状況や、仮想マシン毎の移動に要する時間の差異等が考慮されていない場合がある。そのため、管理者は、仮想マシンを最適配置に再配置するための仮想マシンの移動順序を特定することが困難な場合がある。
そこで、一つの側面では、仮想マシンの再配置に伴う仮想マシンの移動順序を決定する移動制御プログラム、移動制御装置及び移動制御方法を提供することを目的とする。
実施の形態の一つの態様によれば、情報処理システムを構成する複数の物理マシン間において移動する複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、前記複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、前記複数の仮想マシンそれぞれが配置される物理マシンを示す第1変数と、前記複数の仮想マシンそれぞれの移動状態を示す第2変数とから、前記第1変数と、前記第2変数との関係を示す第1条件式を生成し、前記見積り時間情報と、前記第2変数と、前記複数の仮想マシン全ての移動に要する時間を示す第3変数とから、前記第2変数と、前記第3変数との関係を示す第2条件式を生成し、前記複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、前記見積り時間情報と、前記複数の物理マシンそれぞれのリソース情報と、前記複数の仮想マシンそれぞれのリソース情報と、前記第1変数と、前記第2変数とから、前記移動先の物理マシンに移動する仮想マシンのリソース情報の条件を示す第3条件式を生成し、前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記複数の物理マシン間における仮想マシンの複数の移動経路それぞれを並行して移動可能な仮想マシンの数を示す移動可能数情報と、前記第2変数とから、前記複数の仮想マシンそれぞれが移動する際の移動経路に対応する前記移動可能数情報の条件を示す第4条件式を生成し、前記移動情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが前記複数の物理マシンのいずれかに配置されることを示す第5条件式を生成し、前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが、前記移動元の物理マシンからの移動開始後であって前記移動元の物理マシンからの移動が完了するまでの間、前記移動元の物理マシンに配置されていることと、前記複数の仮想マシンそれぞれが、前記見積り時間情報が示す時間において前記移動先の物理マシンに配置されていることとを示す第6条件式を生成し、前記第1条件式と、前記第2条件式と、前記第3条件式と、前記第4条件式と、前記第5条件式と、前記第6条件式とから、前記第3変数が最小になる場合の前記第1変数、前記第2変数及び前記第3変数の値を算出する、処理をコンピュータに実行させる。
一つの側面によれば、仮想マシンの再配置に伴う仮想マシンの移動順序を決定する。
[情報処理システムの構成]
図1は、情報処理システム10の全体構成を示す図である。図1に示す情報処理システム10は、例えば、利用者にサービスを提供するための業務システムである。図1に示す情報処理システム10において、情報処理装置1と、物理マシン2とがデータセンターDC内に設けられている。そして、利用者端末11は、インターネットやイントラネット等のネットワークを介して、データセンターDCとアクセス可能になっている。
図1は、情報処理システム10の全体構成を示す図である。図1に示す情報処理システム10は、例えば、利用者にサービスを提供するための業務システムである。図1に示す情報処理システム10において、情報処理装置1と、物理マシン2とがデータセンターDC内に設けられている。そして、利用者端末11は、インターネットやイントラネット等のネットワークを介して、データセンターDCとアクセス可能になっている。
物理マシン2は、例えば、複数の物理マシンから構成される。各物理マシンは、CPU(Central Computing Unit)と、メモリ(DRAM:Dynamic Random Access Memory)と、ハードディスク(HDD:Hard Disk Drive)等の大容量メモリとを有する。そして、物理マシン2の物理リソースは、複数の仮想マシン3に割当てられる。
情報処理装置1は、仮想マシン3とアクセス可能であり、物理マシン2内に作成された仮想マシン3の管理を行うものである。情報処理装置1は、例えば、仮想マシン3によって作成されるものであってもよい。
仮想マシン3では、そのインフラをネットワーク経由で利用者に提供するもの(以下、クラウドサービスとも呼ぶ)である。
クラウドサービスは、コンピュータシステムを構築し稼働させるための基盤、すなわち、仮想マシン3やネットワーク等のインフラストラクチャを、ネットワーク経由で提供するサービスである。また、利用者は、例えば、利用者端末11を介して、仮想マシン3に必要な仕様、例えば、CPUのクロック周波数、メモリの容量、ハードディスクの容量及びネットワークの通信帯域幅を選択し、それらについてクラウド利用契約を締結する。さらに、利用者は、例えば、利用者端末11を介して、仮想マシン3の稼働状態を監視や、仮想マシン3に対する操作等を可能にする。
仮想化ソフトウエア4は、情報処理装置1からの指示に応じて、物理マシン2のCPU、メモリ、ハードディスク及びネットワークを割当てることにより、仮想マシン3を動作させる基盤ソフトウエアである。仮想化ソフトウエア4は、例えば、物理マシン2で動作する。また、仮想化ソフトウエア4は、例えば、物理マシン2間における仮想マシン3の移動を行う。
[物理マシンに配備された仮想マシンの具体例]
次に、物理マシン2に配備された仮想マシン3の具体例について説明を行う。図2は、物理マシン2に配備された仮想マシン3の具体例を説明する図である。
次に、物理マシン2に配備された仮想マシン3の具体例について説明を行う。図2は、物理マシン2に配備された仮想マシン3の具体例を説明する図である。
図2に示す例において、データセンターDCには、物理マシン2A、2B、2C、2D、2E及び2Fが配備されている。そして、物理マシン2Aには、仮想マシン3A及び仮想マシン3Bが配備され、物理マシン2Bには、仮想マシン3Cが配備されている。また、物理マシン2D、2E及び2Fには、それぞれ仮想マシン3D、3E及び3Fが配備されている。
なお、図2に示す例において、物理マシン2Aにおける「物理マシン(0,1)」は、物理マシン2Aのディスクの空き容量が「0(GB)」であって、メモリの空き容量が「1(GB)」であることを示している。そして、図2に示す例において、仮想マシン3Aにおける「仮想マシン(1,2)」は、仮想マシン3Aが動作するために必要なディスクの使用容量が「1(GB)」であって、メモリの使用容量が「2(GB)」であることを示している。なお、図2における他の物理マシン2及び仮想マシン3の説明については省略する。
そして、図2に示すような仮想マシン3において、管理者は、必要に応じて物理マシン2間における仮想マシン3の移動を行う。これにより、管理者は、例えば、利用者によるサービスの利用状況に応じて仮想マシン3の再配置を行うことが可能になる。そのため、管理者は、物理マシン2の物理リソースの効率的な活用等を実現することが可能になる。
具体的に、仮想マシン3の移動を行う場合、管理者は、例えば、各仮想マシン3が動作する物理マシン2のうち、物理リソースの残余がある物理マシン2に対して仮想マシン3の移動を行う。しかしながら、この場合、仮想マシン3が移動することができる物理マシン2は、現状で物理リソースに残余のある物理マシン2に限られる。そのため、仮想マシン3の移動後における各仮想マシン3の配置は、例えば、物理マシン2の物理リソースを効率的に使用する観点から、最適な仮想マシン3の配置ではない場合がある。
これに対し、管理者は、例えば、数理計画法(例えば、最適化ソルバ)を活用する場合がある。これにより、管理者は、図2の各矢印が示すように、物理マシン2の物理リソースの最も効率的に使用することができる仮想マシン3の最適配置を算出することが可能になる。しかしながら、数理計画法によって算出される仮想マシン3の配置は、各仮想マシン3の移動中における各物理マシン2の物理リソースの残余の状況が考慮されていない場合がある。
具体的に、図2に示す例において、管理者は、仮想マシン3A及び仮想マシン3Bを物理マシン2Aから物理マシン2Eに移動する必要がある。そして、仮想マシン3A及び仮想マシン3Bのディスクの使用容量の合計は、「2(GB)」であり、仮想マシン3A及び仮想マシン3Bのメモリの使用容量の合計は、「3(GB)」である。したがって、仮想マシン3A及び仮想マシン3Bを物理マシン2Aから物理マシン2Eに移動するためには、物理マシン2Eのディスクの空き容量が「2(GB)」以上であり、メモリの空き容量が「3(GB)」以上である必要がある。
しかしながら、図2に示す例において、物理マシン2Eのディスクの空き容量は「1(GB)」であり、メモリの空き容量は「2(GB)」である。そのため、仮想マシン3A及び仮想マシン3Bは、図2に示すように、物理マシン2Eに対して同時に移動することができない。すなわち、仮想マシン3A及び仮想マシン3Bのうち、直ちに物理マシン2Eに移動できない仮想マシン3については、仮想マシン3Eが物理マシン2Eから物理マシン2Dに移動した後に移動する必要がある。
また、図2に示す例において、管理者は、仮想マシン3Cを物理マシン2Bから物理マシン2Fに移動する必要があり、仮想マシン3Fを物理マシン2Fから物理マシン2Bに移動する必要がある。そして、仮想マシン3Cのディスクの使用容量は、「2(GB)」であり、仮想マシン3Cのメモリの使用容量は、「2(GB)」である。また、仮想マシン3Fのディスクの使用容量の合計は、「2(GB)」であり、仮想マシン3Fのメモリの使用容量の合計は、「2(GB)」である。したがって、仮想マシン3Cを物理マシン2Bから物理マシン2Fに移動するためには、物理マシン2Fのディスクの空き容量が「2(GB)」以上であり、メモリの空き容量が「2(GB)」以上である必要がある。また、仮想マシン3Fを物理マシン2Fから物理マシン2Bに移動するためには、物理マシン2Bのディスクの空き容量が「2(GB)」以上であり、メモリの空き容量が「2(GB)」以上である必要がある。
しかしながら、図2に示す例において、物理マシン2Fのディスクの空き容量が「0(GB)」であり、メモリの空き容量が「1(GB)」である。また、図2に示す例において、物理マシン2Bのディスクの空き容量が「0(GB)」であり、メモリの空き容量が「0(GB)」である。そのため、仮想マシン3C及び仮想マシン3Fは、それぞれ移動先の物理マシン2に対して同時に移動することができない。
さらに、図2に示す例において、管理者は、仮想マシン3Dを物理マシン2Dから物理マシン2Aに移動する必要がある。そして、仮想マシン3Dのディスクの使用容量は、「1(GB)」であり、仮想マシン3Dのメモリの使用容量は、「1(GB)」である。したがって、仮想マシン3Dを物理マシン2Dから物理マシン2Aに移動するためには、物理マシン2Aのディスクの空き容量が「1(GB)」以上であり、メモリの空き容量が「1(GB)」以上である必要がある。
しかしながら、図2に示す例において、物理マシン2Aのディスクの空き容量が「0(GB)」であり、メモリの空き容量が「1(GB)」である。そのため、仮想マシン3Dは、物理マシン2Aに対して移動することができない。すなわち、仮想マシン3Dは、この場合、物理マシン2Aへの移動を、仮想マシン3Aまたは仮想マシン3Bが物理マシン2Aから物理マシン2Eに移動した後に行う必要がある。
そのため、管理者は、数理計画法を用いて最適配置を算出した場合であっても、仮想マシン3を最適配置に再配置するための仮想マシン3の移動順序を特定することが困難な場合がある。
また、各仮想マシン3が物理マシン2間を移動するために要する時間は、必ずしも一定ではない。そのため、管理者は、全ての仮想マシン3の移動に要する総時間を短くする必要性から、仮想マシン3毎の移動に要する時間の差異を考慮した上で、仮想マシン3の移動順序を決定することが好ましい。
さらに、全ての仮想マシン3の移動に要する総時間を短くするためには、仮想マシン3の移動を可能な限り並行して行う必要がある。そのため、移動可能な仮想マシン3が存在する場合であっても、その仮想マシン3の移動の開始を遅らせることにより、全ての仮想マシン3の移動に要する総時間を短くすることができる場合がある。したがって、管理者は、移動可能な仮想マシン3の移動を直ちに行わない場合を考慮した上で、仮想マシン3の移動順序に加えて、各仮想マシン3の移動開始時間を決定することが好ましい。
そこで、本実施の形態における情報処理装置1は、数理計画法によって各仮想マシン3の最適配置の算出を行う際に、各仮想マシン3が配置する物理マシン2の遷移を示す情報を考慮する。
具体的に、本実施の形態における情報処理装置1は、複数の物理マシン2間において移動する複数の仮想マシン3のそれぞれの移動元及び移動先の物理マシン2を示す情報(以下、移動情報とも呼ぶ)と、複数の仮想マシン3のそれぞれの移動に要する時間を示す情報(以下、所要時間情報とも呼ぶ)とを取得する。また、情報処理装置1は、複数の仮想マシン3の全ての移動に要する見積り時間を示す情報(以下、見積り時間情報とも呼ぶ)と、複数の物理マシン2それぞれのリソース情報(以下、物理リソース情報とも呼ぶ)と、複数の仮想マシン3のそれぞれのリソース情報(以下、仮想リソース情報とも呼ぶ)とを取得する。さらに、情報処理装置1は、複数の物理マシン2間における移動経路それぞれを並行して移動可能な仮想マシン3の数を示す情報(以下、移動可能数情報とも呼ぶ)を取得する。
そして、情報処理装置1は、所要時間情報と、見積り時間情報と、複数の仮想マシン3のそれぞれが配置される物理マシン2を示す変数(以下、第1変数または配置情報とも呼ぶ)と、複数の仮想マシン3のそれぞれの移動状態を示す変数(以下、第2変数または状態情報とも呼ぶ)とから、第1変数と、第2変数との関係を示す式(以下、第1条件式とも呼ぶ)を生成する。
また、情報処理装置1は、見積り時間情報と、第2変数と、複数の仮想マシン3の全ての移動に要する時間を示す変数(以下、第3変数または全体所要時間情報とも呼ぶ)とから、第2変数と、第3変数との関係を示す式(以下、第2条件式とも呼ぶ)を生成する。
また、情報処理装置1は、移動情報と、見積り時間情報と、物理リソース情報と、仮想リソース情報と、第1変数と、第2変数とから、移動先の物理マシン2に移動する仮想マシン3の仮想リソース情報の条件を示す式(以下、第3条件式とも呼ぶ)を生成する。
また、情報処理装置1は、移動情報と、所要時間情報と、見積り時間情報と、移動可能数情報と、第2変数とから、複数の仮想マシン3のそれぞれが移動する際の移動経路に対応する移動可能数情報の条件を示す式(以下、第4条件式とも呼ぶ)を生成する。
また、情報処理装置1は、移動情報と、見積り時間情報と、第1変数とから、複数の仮想マシン3のそれぞれが複数の物理マシン2のいずれかに配置されることを示す式(以下、第5条件式)を生成する。
また、情報処理装置1は、移動情報と、所要時間情報と、見積り時間情報と、第1変数とから、複数の仮想マシン3のそれぞれが、移動元の物理マシン2からの移動開始後であって移動元の物理マシン2からの移動が完了するまでの間、移動元の物理マシン2に配置されていることと、複数の仮想マシン3のそれぞれが、見積り時間情報が示す時間において移動先の物理マシン2に配置されていることとを示す式(以下、第6条件式とも呼ぶ)を生成する。
その後、情報処理装置1は、生成した第1条件式、第2条件式、第3条件式、第4条件式、第5条件式及び第6条件式から、第3変数が最小になる場合の第1変数、第2変数及び第3変数を算出する。
すなわち、情報処理装置1は、仮想マシン3の全ての移動に要する時間である全体所要時間情報の算出とともに、各仮想マシン3が配置される物理マシン2を示す配置情報及び各仮想マシン3が配置される物理マシン2の遷移を示す状態情報の算出が可能な式を作成する。
これにより、情報処理装置1は、仮想マシン3の最適配置に従った仮想マシン3の再配置を、可能な限り短い時間で行うための仮想マシン3の移動順序及び各仮想マシン3の移動開始時間を特定することが可能になる。
[情報処理装置のハードウエア構成]
次に、情報処理装置1のハードウエア構成について説明する。図3は、情報処理装置1のハードウエア構成を説明する図である。
次に、情報処理装置1のハードウエア構成について説明する。図3は、情報処理装置1のハードウエア構成を説明する図である。
情報処理装置1は、プロセッサであるCPU101と、メモリ102と、外部インターフェース(I/Oユニット)103と、記憶媒体(ストレージ)104とを有する。各部は、バス105を介して互いに接続される。
記憶媒体104は、記憶媒体104内のプログラム格納領域(図示しない)に、各仮想マシン3の移動を制御する処理(以下、移動制御処理とも呼ぶ)を行うためのプログラム110を記憶する。
CPU101は、図3に示すように、プログラム110の実行時に、プログラム110を記憶媒体104からメモリ102にロードし、プログラム110と協働して移動制御処理を行う。
記憶媒体104は、例えば、移動制御処理を行う際に用いられる情報を記憶する情報格納領域130(以下、記憶部130とも呼ぶ)を有する。また、外部インターフェース103は、物理マシン2と通信を行う。
[情報処理装置のソフトウエア構成]
次に、情報処理装置1のソフトウエア構成について説明する。図4は、図3の情報処理装置1の機能ブロック図である。CPU101は、プログラム110と協働することにより、条件式生成部111と、条件算出部112と、移動指示部113として動作する。
次に、情報処理装置1のソフトウエア構成について説明する。図4は、図3の情報処理装置1の機能ブロック図である。CPU101は、プログラム110と協働することにより、条件式生成部111と、条件算出部112と、移動指示部113として動作する。
また、図4に示すように、情報格納領域130には、移動情報131と、所要時間情報132と、見積り時間情報133と、物理リソース情報134と、仮想リソース情報135とが記憶されている。さらに、情報格納領域130には、ネットワーク情報136と、移動可能数情報137と、生成済式情報138とが記憶されている。
条件式生成部111は、情報格納領域130に記憶された移動情報131、所要時間情報132、見積り時間情報133、物理リソース情報134、仮想リソース情報135、ネットワーク情報136及び移動可能数情報137を取得する。そして、条件式生成部111は、取得した移動情報131等から、第1条件式、第2条件式、第3条件式、第4条件式、第5条件式及び第6条件式を生成する。その後、条件式生成部111は、生成した第1条件式等を、生成済式情報138として情報格納領域130に記憶する。
条件算出部112は、条件式生成部111が生成した第1条件式、第2条件式、第3条件式、第4条件式、第5条件式及び第6条件式から、全体所要時間情報143が最小になる配置情報141、状態情報142及び全体所要時間情報143をそれぞれ算出する。
なお、事業者は、全体所要時間情報143を最小にすることを示す式(以下、目的関数式)を予め情報格納領域130に記憶するものであってよい。そして、条件算出部112は、第1条件式等の各式から、情報格納領域130に記憶された目的関数式を満たす配置情報141、状態情報142及び全体所要時間情報143の算出を行うものであってよい。
移動指示部113は、条件算出部112が算出した配置情報141、状態情報142及び全体所要時間情報143を参照して、仮想マシン3の移動順序及び各仮想マシン3の移動開始時間を決定する。そして、移動指示部113は、決定した移動順序及び移動開始時間に従って、仮想マシン3の移動を指示する。具体的に、移動指示部113は、例えば、各物理マシン2において動作する仮想化ソフトウエア4に対して仮想マシンの移動の指示を行う。
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。図5及び図6は、第1の実施の形態における移動制御処理の概略を説明するフローチャートである。
次に、第1の実施の形態の概略について説明する。図5及び図6は、第1の実施の形態における移動制御処理の概略を説明するフローチャートである。
情報処理装置1の条件式生成部111は、図5に示すように、仮想マシン3の移動タイミングまで待機する(S1のNO)。仮想マシン3の移動タイミングは、例えば、管理者が仮想マシン3の再配置を行うことを決定したタイミングであってよい。具体的に、仮想マシン3の移動タイミングは、仮想マシン3を配備した物理マシン2において、物理リソースの使用率が所定の閾値を上回った物理マシン2が発生したことに伴って、管理者が仮想マシン3の再配置を行うことを決定したタイミングであってよい。
そして、仮想マシン3の移動タイミングになった場合(S1のYES)、条件式生成部111は、所要時間情報132と、見積り時間情報133と、配置情報141と、状態情報142とから、配置情報141と、状態情報142との関係を示す第1条件式を生成する(S2)。
また、条件式生成部111は、この場合、見積り時間情報133と、状態情報142と、全体所要時間情報143とから、状態情報142と、全体所要時間情報143との関係を示す第2条件式を生成する(S3)。そして、条件式生成部111は、この場合、移動情報131と、見積り時間情報133と、物理リソース情報134と、仮想リソース情報135と、配置情報141と、状態情報142とから、移動先の物理マシン2に移動する仮想マシン3の仮想リソース情報135の条件を示す第3条件式を生成する(S4)。
さらに、条件式生成部111は、この場合、移動情報131と、所要時間情報132と、見積り時間情報133と、移動可能数情報137と、状態情報142とから、複数の仮想マシン3のそれぞれが移動する際の移動経路に対応する移動可能数情報137の条件を示す第4条件式を生成する(S5)。そして、条件式生成部111は、この場合、移動情報131と、見積り時間情報133と、配置情報141とから、複数の仮想マシン3のそれぞれが複数の物理マシン2のいずれかに配置されることを示す第5条件式を生成する(S6)。
また、条件式生成部111は、この場合、移動情報131と、所要時間情報132と、見積り時間情報133と、配置情報141とから、第6条件式を生成する(S7)。第6条件式は、複数の仮想マシン3のそれぞれが、移動元の物理マシン2からの移動開始後であって移動元の物理マシン2からの移動が完了するまでの間、移動元の物理マシン2に配置されていること示す式を含む。また、第6条件式は、複数の仮想マシン3のそれぞれが、見積り時間情報133が示す時間において移動先の物理マシン2に配置されていることを示す式を含む。
すなわち、条件式生成部111は、S2からS7の処理を行うによって、仮想マシン3の全ての移動に要する時間である全体所要時間情報143の算出とともに、配置情報141及び状態情報142の算出が可能な式を作成する。
そして、情報処理装置1の条件算出部112は、S2等の処理において条件式生成部111が生成した第1条件式と、第2条件式と、第3条件式と、第4条件式と、第5条件式と、第6条件式とから、全体所要時間情報143が最小になる場合の配置情報141、状態情報142及び全体所要時間情報143をそれぞれ算出する(S8)。
その後、情報処理装置1の移動指示部113は、S8の処理で算出した値に基づいて、複数の仮想マシン3のそれぞれの移動の指示を行う(S9)。
これにより、情報処理装置1は、仮想マシン3の最適配置に従った仮想マシン3の再配置を、可能な限り短い時間で行うことが可能になる。
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図7から図14は、第1の実施の形態における移動制御処理の詳細を説明するフローチャートである。また、図15から図28は、第1の実施の形態における移動制御処理の詳細を説明する図である。図15から図28を参照しながら、図7から図14の移動制御処理を説明する。
次に、第1の実施の形態の詳細について説明する。図7から図14は、第1の実施の形態における移動制御処理の詳細を説明するフローチャートである。また、図15から図28は、第1の実施の形態における移動制御処理の詳細を説明する図である。図15から図28を参照しながら、図7から図14の移動制御処理を説明する。
[配置情報及び状態情報]
初めに、配置情報141及び状態情報142について説明を行う。以下、仮想マシン3A、仮想マシン3B及び仮想マシン3Cが、物理マシン2A及び物理マシン2Bとの間で移動を行う場合を例として説明を行う。また、以下、物理マシン2A及び物理マシン2Bを総称して複数の物理マシン2とも呼び、仮想マシン3A、仮想マシン3B及び仮想マシン3Cを総称して複数の仮想マシン3とも呼び、物理マシン2A及び物理マシン2B間における各移動経路を総称して複数の移動経路とも呼ぶ。なお、以下、仮想マシン3A、仮想マシン3B、仮想マシン3C、物理マシン2A及び物理マシン2Bを、それぞれ仮想マシンA、仮想マシンB、仮想マシンC、物理マシンA及び物理マシンBとも表記する。
初めに、配置情報141及び状態情報142について説明を行う。以下、仮想マシン3A、仮想マシン3B及び仮想マシン3Cが、物理マシン2A及び物理マシン2Bとの間で移動を行う場合を例として説明を行う。また、以下、物理マシン2A及び物理マシン2Bを総称して複数の物理マシン2とも呼び、仮想マシン3A、仮想マシン3B及び仮想マシン3Cを総称して複数の仮想マシン3とも呼び、物理マシン2A及び物理マシン2B間における各移動経路を総称して複数の移動経路とも呼ぶ。なお、以下、仮想マシン3A、仮想マシン3B、仮想マシン3C、物理マシン2A及び物理マシン2Bを、それぞれ仮想マシンA、仮想マシンB、仮想マシンC、物理マシンA及び物理マシンBとも表記する。
配置情報141は、見積り時間情報133が示す時間に含まれる単位時間毎であり、仮想マシン3毎であり、物理マシン2毎の情報である。そして、配置情報141では、特定の単位時間において特定の仮想マシン3が特定の物理マシン2に配置されている場合、特定の単位時間と特定の仮想マシン3と特定の物理マシン2とに対応する情報として、第1の値(例えば、1)が設定される。また、配置情報141では、特定の単位時間において特定の仮想マシン3が特定の物理マシン2に配置されていない場合、特定の単位時間と特定の仮想マシン3と特定の物理マシン2とに対応する情報として、第1の値よりも小さい第2の値(例えば、0)が設定される。
また、状態情報142は、見積り時間情報133が示す時間に含まれる単位時間毎であり、仮想マシン3毎であり、物理マシン2間において行われる仮想マシン3の移動経路毎の情報である。そして、状態情報142では、特定の単位時間において特定の仮想マシン3の移動が完了した場合、特定の単位時間と特定の仮想マシン3と完了した移動の移動経路とに対応する情報として、第1の値が設定される。また、状態情報142では、特定の単位時間において特定の仮想マシン3の移動を完了していない場合、特定の単位時間と特定の仮想マシン3と完了していない移動の移動経路とに対応する情報として、第2の値が設定される。なお、以下、第1の値が1であり、第2の値が0であるものとして説明を行う。
[配置情報及び状態情報の具体例]
次に、配置情報141及び状態情報142の具体例について説明を行う。図15から図17は、配置情報141及び状態情報142の具体例を説明する図である。具体的に、図15から図17は、S8の処理によって値が算出された後の配置情報141(第1変数)及び状態情報142(第2変数)の具体例を説明する図である。なお、以下、仮想マシン3の移動が開始された時刻を時刻0とも呼び、時刻0から単位時間が経過した時刻を時刻1とも呼び、時刻1から単位時間が経過した時刻を時刻2とも呼ぶ。
次に、配置情報141及び状態情報142の具体例について説明を行う。図15から図17は、配置情報141及び状態情報142の具体例を説明する図である。具体的に、図15から図17は、S8の処理によって値が算出された後の配置情報141(第1変数)及び状態情報142(第2変数)の具体例を説明する図である。なお、以下、仮想マシン3の移動が開始された時刻を時刻0とも呼び、時刻0から単位時間が経過した時刻を時刻1とも呼び、時刻1から単位時間が経過した時刻を時刻2とも呼ぶ。
具体的に、図15(A)は、時刻0における配置情報141の具体例を示す図である。また、図15(B)は、時刻0における状態情報142の具体例を示す図である。そして、図16(A)は、時刻1における配置情報141の具体例を示す図である。また、図16(B)は、時刻1における状態情報142の具体例を示す図である。さらに、図17(A)は、時刻2における配置情報141の具体例を示す図である。また、図17(B)は、時刻2における状態情報142の具体例を示す図である。
図15(A)、図16(A)及び図17(A)に示す配置情報141における縦の欄は、それぞれ物理マシン2A及び物理マシン2Bに対応している。また、図15(A)、図16(A)及び図17(A)に示す配置情報141における横の欄は、それぞれ仮想マシン3A、仮想マシン3B及び仮想マシン3Cに対応している。そして、図15(B)、図16(B)及び図17(B)に示す状態情報142における縦の欄は、それぞれ物理マシン2Aから物理マシン2Bに向けた移動経路及び物理マシン2Bから物理マシン2Aに向けた移動経路に対応している。また、図15(B)、図16(B)及び図17(B)に示す状態情報142における横の欄は、それぞれ仮想マシン3A、仮想マシン3B及び仮想マシン3Cに対応している。
さらに具体的に、図15(A)に示す配置情報141では、「仮想マシンA」及び「物理マシンA」に対応する欄と、「仮想マシンB」及び「物理マシンB」に対応する欄と、「仮想マシンC」及び「物理マシンB」に対応する欄とに「1」が設定されている。また、図15(A)に示す配置情報141では、「仮想マシンA」及び「物理マシンB」に対応する欄と、「仮想マシンB」及び「物理マシンA」に対応する欄と、「仮想マシンC」及び「物理マシンA」に対応する欄とに「0」が設定されている。すなわち、図15(A)に示す配置情報141は、時刻0において、仮想マシン3Aが物理マシン2Aに配置されており、仮想マシン3B及び仮想マシン3Cが物理マシン2Bに配置されていること示している。
また、図15(B)に示す状態情報142では、全ての欄に「0」が設定されている。すなわち、図15(B)に示す状態情報142は、時刻0において、移動が完了した仮想マシン3が存在しないことを示している。
そして、図16(A)に示す配置情報141では、「仮想マシンA」及び「物理マシンA」に対応する欄と、「仮想マシンB」及び「物理マシンB」に対応する欄と、「仮想マシンC」及び「物理マシンB」に対応する欄とに「1」が設定されている。また、図16(A)に示す配置情報141では、「仮想マシンA」及び「物理マシンB」に対応する欄と、「仮想マシンB」及び「物理マシンA」に対応する欄と、「仮想マシンC」及び「物理マシンA」に対応する欄とに「0」が設定されている。すなわち、図15(A)及び図16(A)に示す配置情報141は、時刻0から時刻1までの間において、移動が完了した仮想マシン3が存在しないことを示している。
また、図16(B)に示す状態情報142では、全ての欄に「0」が設定されている。すなわち、図16(B)に示す状態情報142は、時刻1において、移動が完了した仮想マシン3が存在しないことを示している。
一方、図17(A)に示す配置情報141では、図16(A)で説明した配置情報141と比較して、「仮想マシンA」及び「物理マシンA」に対応する欄が「1」から「0」に更新され、「仮想マシンA」及び「物理マシンB」に対応する欄が「0」から「1」に更新されている。すなわち、図16(A)及び図17(A)に示す配置情報141は、時刻1から時刻2までの間において、仮想マシン3Aが物理マシン2Aから物理マシン2Bに移動したことを示している。
また、図17(B)に示す状態情報142では、図16(B)で説明した状態情報142と比較して、「仮想マシンA」及び「物理マシンA→物理マシンB」に対応する欄が「0」から「1」に更新されている。すなわち、図17(B)に示す状態情報142は、時刻2において、物理マシン2Aに配置されていた仮想マシン3Aの物理マシン2Bに対する移動が完了したことを示している。
[全体所要時間情報の具体例]
次に、全体所要時間情報143の具体例について説明を行う。図18に示す例は、S8の処理によって値が算出された後の全体所要時間情報143(第3変数)を説明する例である。
次に、全体所要時間情報143の具体例について説明を行う。図18に示す例は、S8の処理によって値が算出された後の全体所要時間情報143(第3変数)を説明する例である。
図18に示す全体所要時間情報143は、全体所要時間情報143に含まれる各情報を識別する「情報ID」と、物理マシン2間における全ての仮想マシン3の移動に要する時間を示す「全体所要時間」とを項目として有する。
具体的に、図18に示す全体所要時間情報143において、「情報ID」に「1」が設定された情報には、「全体所要時間」として「7」が設定されている。
[S2の処理の詳細]
次に、図5で説明したS2の処理の詳細について説明を行う。図7及び図8は、S2の処理の詳細を説明するフローチャートである。
次に、図5で説明したS2の処理の詳細について説明を行う。図7及び図8は、S2の処理の詳細を説明するフローチャートである。
条件式生成部111は、配置情報141のうち、特定の単位時間(以下、第1の単位時間とも呼ぶ)と特定の仮想マシン3(以下、第1の仮想マシン3とも呼ぶ)と特定の移動経路(以下、第1の移動経路とも呼ぶ)の始点である物理マシン2とに対応する配置情報141を特定する(S11)。すなわち、条件式生成部111は、配置情報141に含まれる情報のうちのいずれかの情報を特定(抽出)する。
また、条件式生成部111は、配置情報141のうち、第1の単位時間の次の単位時間(以下、第2の単位時間とも呼ぶ)と第1の仮想マシン3と第1の移動経路の終点である物理マシン2とに対応する配置情報141を特定する(S12)。
そして、条件式生成部111は、S11の処理で特定した配置情報141に、S12の処理で特定した配置情報141を加算し、第1の値を減算する式を生成する(S13)。さらに、条件式生成部111は、S13の処理で生成した式が、第2の単位時間と第1の仮想マシン3と第1の移動経路とに対応する状態情報142以下であることを示す式を、第1の式として生成する(S14)。
その後、条件式生成部111は、S11の処理において、見積り時間情報133が示す時間に含まれる単位時間と、物理マシン2間において移動する仮想マシン3と、物理マシン2間における仮想マシン3の移動経路との組み合わせを全て特定したか否かを判定する(S15)。具体的に、条件式生成部111は、情報格納領域130に記憶された見積り時間情報133を参照し、S15の処理を行う。以下、S15の処理の具体例について説明を行う。
[見積り時間情報の具体例]
図19は、見積り時間情報133の具体例を説明する図である。図19に示す見積り時間情報133は、見積り時間情報133に含まれる各情報を識別する「情報ID」と、物理マシン2間における全ての仮想マシン3の移動に要する見積り時間を示す「見積り時間」とを項目として有する。
図19は、見積り時間情報133の具体例を説明する図である。図19に示す見積り時間情報133は、見積り時間情報133に含まれる各情報を識別する「情報ID」と、物理マシン2間における全ての仮想マシン3の移動に要する見積り時間を示す「見積り時間」とを項目として有する。
具体的に、図19に示す見積り時間情報133において、「情報ID」に「1」が設定された情報には、「見積り時間」として「5」が設定されている。
図7に戻り、S11の処理において組み合わせの全てを特定済でないと判定した場合(S15のNO)、条件式生成部111は、S11以降の処理が行われていない単位時間と仮想マシン3と移動経路の組み合わせについて、S11以降の処理を行う。一方、S11の処理において組み合わせの全てを特定済であると判定した場合(S15のYES)、条件式生成部111は、S16以降の処理を行う。
具体的に、条件式生成部111は、S11からS14の処理を繰り返し行うことにより、例えば、第1の条件式として以下の式(1)を生成する。
式(1)において、Qが配置情報141を示し、Eが状態情報142を示す。また、式(1)において、mが第1の単位時間を示し、m+1が第2の単位時間を示し、vが第1の仮想マシン3を示し、p1が第1の移動経路の始点である物理マシン2を示し、p2が第1の移動経路の終点である物理マシン2を示す。そのため、式(1)の左辺の第1項は、第2の単位時間と第1の仮想マシン3と第1の移動経路の終点である物理マシン2とに対応する配置情報141を示し、式(1)の左辺の第2項は、第1の単位時間と第1の仮想マシン3と第1の移動経路の始点である物理マシン2とに対応する配置情報141を示す。また、式(1)の右辺は、第2の単位時間と第1の仮想マシン3と第1の移動経路とに対応する状態情報142を示している。
図7に戻り、S11の処理において組み合わせの全てを特定済であると判定した場合(S15のYES)、条件式生成部111は、図8に示すように、第1の仮想マシン3と第1の移動経路の始点である物理マシン2に対応する配置情報141を特定する。そして、条件式生成部111は、特定した配置情報141のうち、第1の単位時間から第1の仮想マシン3に対応する所要時間情報132が示す時間を遡るまでの単位時間それぞれに対応する配置情報141を加算する式を生成する(S16)。
続いて、条件式生成部111は、第1の単位時間と第1の仮想マシン3と第1の移動経路に対応する状態情報142と、第1の仮想マシン3に対応する所要時間情報132が示す値とを乗算する式を生成する(S17)。具体的に、条件式生成部111は、情報格納領域130に記憶された所要時間情報132を参照し、S17の処理を行う。以下、所要時間情報132の具体例について説明を行う。
[所要時間情報の具体例]
図20は、所要時間情報132の具体例を説明する図である。図20に示す所要時間情報132は、所要時間情報132に含まれる各情報を識別する「情報ID」と、各仮想マシン3を識別する「仮想マシン名」と、各仮想マシン3が物理マシン2間を移動する際に要する時間である「移動所要時間」とを項目として有する。
図20は、所要時間情報132の具体例を説明する図である。図20に示す所要時間情報132は、所要時間情報132に含まれる各情報を識別する「情報ID」と、各仮想マシン3を識別する「仮想マシン名」と、各仮想マシン3が物理マシン2間を移動する際に要する時間である「移動所要時間」とを項目として有する。
具体的に、図20に示す所要時間情報132において、「情報ID」に「1」が設定された情報には、「仮想マシン名」として「仮想マシンA」が設定され、「移動所要時間」として「2」が設定されている。図20に含まれる他の情報については説明を省略する。
図8に戻り、条件式生成部111は、S16の処理で生成した式が、S17の処理で生成した式以上であることを示す式を、第1条件式として生成する(S18)。
その後、条件式生成部111は、S16の処理において、見積り時間情報133が示す時間に含まれる単位時間と、物理マシン2間において移動する仮想マシン3と、物理マシン2間における仮想マシン3の移動経路との組み合わせを全て特定したか否かを判定する(S19)。そして、S16の処理において組み合わせの全てを特定済でないと判定した場合(S19のNO)、条件式生成部111は、S16以降の処理が行われていない単位時間と仮想マシン3と移動経路の組み合わせについて、S16以降の処理を行う。一方、S16の処理において組み合わせの全てを特定済であると判定した場合(S19のYES)、条件式生成部111は、S2の処理を終了する。
具体的に、条件式生成部111は、S16からS18の処理を繰り返し行うことにより、例えば、第1条件式として以下の式(2)を生成する。
式(2)において、Qが配置情報141を示し、Eが状態情報142を示す。また、式(2)において、mが第1の単位時間を示し、vが第1の仮想マシン3を示し、p1が第1の移動経路の始点である物理マシン2を示し、p2が第1の移動経路の終点である物理マシン2を示し、kvが第1の仮想マシン3に対応する所要時間情報132を示す。
すなわち、条件式生成部111は、配置情報141と状態情報142とを関連付ける式を、第1条件式として生成する。
[S3の処理の詳細]
次に、図5で説明したS3の処理の詳細について説明を行う。図9は、S3の処理の詳細を説明するフローチャートである。
次に、図5で説明したS3の処理の詳細について説明を行う。図9は、S3の処理の詳細を説明するフローチャートである。
条件式生成部111は、第1の単位時間と第1の仮想マシン3と第1の仮想マシン3の移動先の物理マシン2を終点とする第1の移動経路とに対応する状態情報142を特定する(S21)。具体的に、条件式生成部111は、情報格納領域130に記憶された移動情報131を参照し、S21の処理を行う。以下、移動情報131の具体例について説明を行う。
[移動情報の具体例]
図21は、移動情報131の具体例を説明する図である。図21に示す移動情報131は、移動情報131に含まれる各情報を識別する「情報ID」と、各仮想マシン3を識別する「仮想マシン名」とを項目として有する。図21に示す移動情報131は、各仮想マシン3の移動元の物理マシン2を識別する「移動元の物理マシン」と、各仮想マシン3の移動先の物理マシン2を識別する「移動先の物理マシン」とを項目として有する。
図21は、移動情報131の具体例を説明する図である。図21に示す移動情報131は、移動情報131に含まれる各情報を識別する「情報ID」と、各仮想マシン3を識別する「仮想マシン名」とを項目として有する。図21に示す移動情報131は、各仮想マシン3の移動元の物理マシン2を識別する「移動元の物理マシン」と、各仮想マシン3の移動先の物理マシン2を識別する「移動先の物理マシン」とを項目として有する。
具体的に、図21に示す移動情報131において、「情報ID」に「1」が設定された情報には、「仮想マシン名」として「仮想マシンA」が設定され、「移動元の物理マシン」として「物理マシンA」が設定され、「移動先の物理マシン」として「物理マシンB」が設定されている。図21に含まれる他の情報については説明を省略する。
図9に戻り、条件式生成部111は、複数の仮想マシン3の移動が開始してから第1の単位時間が経過するまでの時間を特定する(S22)。
そして、条件式生成部111は、S21の処理で特定した状態情報142と、S22の処理で特定した時間とを乗算する式を算出する(S23)。さらに、条件式生成部111は、S23の処理で生成した式が、全体所要時間情報143以下であることを示す式を、第2条件式として生成する(S24)。
その後、条件式生成部111は、S21の処理において、見積り時間情報133が示す時間に含まれる単位時間と、物理マシン2間において移動する仮想マシン3と、仮想マシン3が移動する物理マシン2との組み合わせを全て特定したか否かを判定する(S25)。そして、S21の処理において組み合わせの全てを特定済でないと判定した場合(S25のNO)、条件式生成部111は、S21以降の処理が行われていない単位時間と仮想マシン3と移動経路の組み合わせについて、S21以降の処理を行う。一方、S21の処理において組み合わせの全てを特定済であると判定した場合(S25のYES)、条件式生成部111は、S3の処理を終了する。
具体的に、条件式生成部111は、S21からS24の処理を繰り返し行うことにより、例えば、第2条件式として以下の式(3)を生成する。
式(3)において、Eが状態情報142を示し、SPが全体所要時間情報143を示す。また、式(3)において、mが第1の単位時間を示し、vが第1の仮想マシン3を示し、g(v)が第1の仮想マシンの移動先の物理マシン2(第1の移動経路の終点である物理マシン2)を示し、pが第1の移動経路における始点である物理マシン2を示す。
すなわち、条件式生成部111は、各仮想マシン3の移動のそれぞれが、全体所要時間情報143が示す時間(全ての仮想マシン3の移動が完了する時間)よりも前に完了する式を、第2条件式として生成する。
[S4の処理の詳細]
次に、図5で説明したS4の処理の詳細について説明を行う。図10は、S4の処理の詳細を説明するフローチャートである。
次に、図5で説明したS4の処理の詳細について説明を行う。図10は、S4の処理の詳細を説明するフローチャートである。
条件式生成部111は、第1の仮想マシン3と第1の物理マシン2を終点とする第1の移動経路それぞれとに対応する状態情報142を特定する。そして、条件式生成部111は、特定した状態情報142のうち、第1の単位時間から第1の仮想マシン3に対応する所要時間情報132が示す時間が経過するまでの単位時間それぞれに対応する状態情報142を、複数の仮想マシン3毎に特定する(S31)。
続いて、条件式生成部111は、第1の単位時間と第1の仮想マシン3と第1の物理マシン2に対応する配置情報141を、複数の仮想マシン3毎に特定する(S32)。そして、条件式生成部111は、S31の処理で特定した状態情報142と、S32の処理で特定した配置情報141とを加算する式を、複数の仮想マシン3毎に算出する(S33)。
その後、条件式生成部111は、S33の処理で生成した式と、第1の仮想マシン3の仮想リソース情報135が示す値とを乗算する式を、複数の仮想マシン3毎に生成する(S34)。そして、条件式生成部111は、S34の処理で生成した式それぞれを加算した値が、第1の物理マシン2の物理リソース情報134が示す値以下であることを示す式を、第3条件式として生成する(S35)。具体的に、条件式生成部111は、情報格納領域130に記憶された物理リソース情報134と仮想リソース情報135とを参照し、S34及びS35の処理を行う。以下、物理リソース情報134及び仮想リソース情報135の具体例について説明を行う。
[物理リソース情報及び仮想リソース情報の具体例]
図22は、物理リソース情報134及び仮想リソース情報135の具体例を説明する図である。具体的に、図22(A)は、物理リソース情報134の具体例を説明する図である。また、図22(B)は、仮想リソース情報135の具体例を説明する図である。
図22は、物理リソース情報134及び仮想リソース情報135の具体例を説明する図である。具体的に、図22(A)は、物理リソース情報134の具体例を説明する図である。また、図22(B)は、仮想リソース情報135の具体例を説明する図である。
図22(A)に示す物理リソース情報134は、物理リソース情報134に含まれる各情報を識別する「情報ID」と、各物理マシン2を識別する「物理マシン名」と、各物理マシン2の空きリソースの容量を示す「物理リソース」とを項目として有する。
具体的に、図22(A)に示す物理リソース情報134において、「情報ID」に「1」が設定された情報には、「物理マシン名」として「物理マシンA」が設定され、「物理リソース」として「16」が設定されている。図22(A)に含まれる他の情報については説明を省略する。
また、図22(B)に示す仮想リソース情報135は、仮想リソース情報135に含まれる各情報を識別する「情報ID」と、各仮想マシン3を識別する「仮想マシン名」と、各仮想マシン3の使用リソースの容量を示す「仮想リソース」とを項目として有する。
具体的に、図22(B)に示す仮想リソース情報135において、「情報ID」に「1」が設定された情報には、「仮想マシン名」として「仮想マシンA」が設定され、「仮想リソース」として「2」が設定されている。図22(B)に含まれる他の情報については説明を省略する。
図10に戻り、条件式生成部111は、S31の処理において、見積り時間情報133が示す時間に含まれる単位時間と物理マシン2との組み合わせを全て特定したか否かを判定する(S36)。そして、S31の処理において組み合わせの全てを特定済でないと判定した場合(S36のNO)、条件式生成部111は、S31以降の処理が行われていない単位時間と物理マシン2との組み合わせについて、S31以降の処理を行う。一方、S31の処理において組み合わせの全てを特定済であると判定した場合(S36のYES)、条件式生成部111は、S4の処理を終了する。
具体的に、条件式生成部111は、S31からS35の処理を繰り返し行うことにより、例えば、第3条件式として以下の式(4)を生成する。
式(4)において、Qが配置情報141を示し、Eが状態情報142を示す。また、式(4)において、mが第1の単位時間を示し、vが第1の仮想マシン3を示し、pが第1の物理マシン2を示し、hが第1物理マシンを終点とする移動経路の始点である物理マシンを示し、kvが第1の仮想マシン3に対応する所要時間情報132と示す。さらに、式(4)において、CPUpが物理リソース情報134を示し、CPUvが仮想リソース情報135を示す。
すなわち、条件式生成部111は、各仮想マシン3の移動先の物理マシン2において、移動する仮想マシン3が使用するリソースが空いていることを示す式を、第3条件式として生成する。
なお、条件式生成部111は、複数の種類のリソース(例えば、CPUとメモリ等)のそれぞれについて、上記の式(4)を生成するものであってもよい。
[S5の処理の詳細]
次に、図5で説明したS5の処理の詳細について説明を行う。図10は、S4の処理の詳細を説明するフローチャートである。
次に、図5で説明したS5の処理の詳細について説明を行う。図10は、S4の処理の詳細を説明するフローチャートである。
条件式生成部111は、第1の仮想マシン3と複数の移動経路に対応する状態情報142のうち、第1の単位時間から第1の仮想マシン3に対応する所要時間情報132が示す時間が経過するまでの単位時間それぞれに対応する状態情報142を、複数の仮想マシン3毎に特定する(S41)。
そして、条件式生成部111は、S41の処理で特定した状態情報142から、各移動経路に対応する状態情報142を、複数の移動経路毎に特定する(S42)。
なお、複数の移動経路上に、移動経路の収束を行うことができるルータ装置等のネットワーク機器が存在する場合、条件式生成部111は、S42の処理において、そのネットワーク機器によって区分けされる複数のネットワークの特定を行う。そして、条件式生成部111は、この場合、特定した複数のネットワーク毎に、状態情報142の特定を行う。以下、複数の移動経路上にネットワーク機器が存在する場合の具体例について説明を行う。
[複数の移動経路上にネットワーク機器が存在する場合の具体例]
図23は、移動経路上にネットワーク機器が存在する場合の具体例を説明する図である。具体的に、図23は、物理マシン2Aと物理マシン2Bとの間の移動経路上にスイッチ装置5が存在する場合を説明する図である。
図23は、移動経路上にネットワーク機器が存在する場合の具体例を説明する図である。具体的に、図23は、物理マシン2Aと物理マシン2Bとの間の移動経路上にスイッチ装置5が存在する場合を説明する図である。
図23に示す例において、物理マシン2A及び物理マシン2Bは、それぞれポートA及びポートBを有する。また、図23に示す例において、スイッチ装置5は、ポートC及びポートDを有する。
図23に示すように、物理マシン2Aと物理マシン2Bとの間の移動経路上にスイッチ装置5が存在する場合、物理マシン2Aと物理マシン2Bとの間には、物理マシン2AのポートAからスイッチ装置5に向けたネットワーク(以下、単にネットワークAとも呼ぶ)と、スイッチ装置5のポートCから物理マシン2Bに向けたネットワーク(以下、単にネットワークCとも呼ぶ)とが含まれる。また、この場合、物理マシン2Aと物理マシン2Bとの間には、物理マシン2BのポートBからスイッチ装置5に向けたネットワーク(以下、単にネットワークBとも呼ぶ)と、スイッチ装置5のポートDから物理マシン2Aに向けたネットワーク(以下、単にネットワークDとも呼ぶ)とが含まれる。以下、物理マシン2Aと物理マシン2Bとの間の移動経路上にスイッチ装置5が存在する場合のネットワーク情報136の具体例について説明を行う。
[ネットワーク情報の具体例]
図24は、ネットワーク情報136の具体例を説明する図である。ネットワーク情報136は、各移動経路と各ネットワークとを対応させた情報である。
図24は、ネットワーク情報136の具体例を説明する図である。ネットワーク情報136は、各移動経路と各ネットワークとを対応させた情報である。
図24に示すネットワーク情報136における縦の欄は、各移動経路を識別する「物理マシンA→物理マシンB」及び「物理マシンB→物理マシンA」にそれぞれ対応している。また、図24に示すネットワーク情報136における横の欄は、各ネットワークを識別する「ネットワークA」、「ネットワークB」、「ネットワークC」及び「ネットワークD」にそれぞれ対応している。
具体的に、図24に示すネットワーク情報136において、「物理マシンA→物理マシンB」及び「ネットワークA」に対応する欄と、「物理マシンA→物理マシンB」及び「ネットワークC」に対応する欄には、情報が存在することを示す「○」が設定されている。一方、図24に示すネットワーク情報136において、「物理マシンA→物理マシンB」及び「ネットワークB」に対応する欄と、「物理マシンA→物理マシンB」及び「ネットワークD」に対応する欄には、情報が存在しないことを示す「−」が設定されている。
すなわち、図24に示すネットワーク情報136は、物理マシンAから物理マシンBに向けた移動経路に、物理マシン2AのポートAからスイッチ装置5に向けたネットワークAと、スイッチ装置5のポートCから物理マシン2Bに向けたネットワークCとが含まれることを示している。図24に含まれる他の情報については説明を省略する。
そのため、条件式生成部111は、この場合、S42の処理において、ネットワークA、ネットワークB、ネットワークC及びネットワークDのそれぞれについて、状態情報142の特定を行う。
図11に戻り、条件式生成部111は、S42の処理で特定した状態情報142を複数の移動経路毎に加算する式それぞれが、各移動経路に対応する移動可能数情報137が示す値以下であることを示す式を、第4条件式として生成する(S43)。なお、複数の移動経路上にネットワーク機器が存在する場合、条件式生成部111は、S42の処理で特定した状態情報142を複数のネットワーク毎に加算する式それぞれが、各ネットワークに対応する移動可能数情報137が示す値以下であることを示す式を、第4条件式として生成する。具体的に、条件式生成部111は、情報格納領域130に記憶された移動可能数情報137を参照し、S43の処理を行う。以下、移動可能数情報137の具体例について説明を行う。
[移動可能数情報の具体例]
図25は、移動可能数情報137の具体例を説明する図である。図25に示す移動可能数情報137は、移動可能数情報137に含まれる各情報を識別する「情報ID」と、各ネットワークを識別する「ネットワーク名」と、各ネットワークを並行して移動可能な仮想マシン3の数である「移動可能数」とを項目として有する。
図25は、移動可能数情報137の具体例を説明する図である。図25に示す移動可能数情報137は、移動可能数情報137に含まれる各情報を識別する「情報ID」と、各ネットワークを識別する「ネットワーク名」と、各ネットワークを並行して移動可能な仮想マシン3の数である「移動可能数」とを項目として有する。
具体的に、図25に示す移動可能数情報137において、「情報ID」に「1」が設定された情報には、「ネットワーク名」として「ネットワークA」が設定され、「移動可能数」として「2」が設定されている。図25に含まれる他の情報については説明を省略する。
図11に戻り、条件式生成部111は、S41の処理において見積り時間情報133が示す時間に含まれる単位時間を全て特定したか否かを判定する(S44)。そして、S41の処理において単位時間の全てを特定済でないと判定した場合(S44のNO)、条件式生成部111は、S41以降の処理が行われていない単位時間について、S41以降の処理を行う。一方、S41の処理において単位時間の全てを特定済であると判定した場合(S44のYES)、条件式生成部111は、S5の処理を終了する。
具体的に、条件式生成部111は、S41からS43の処理を繰り返し行うことにより、例えば、第4条件式として以下の式(5)を生成する。
式(5)において、Eが状態情報142を示し、lが各ネットワークを示し、miglが各ネットワークの移動可能数情報137を示す。また、式(5)において、mが第1の単位時間を示し、vが第1の仮想マシン3を示し、p1が各移動経路の始点である物理マシン2を示し、p2が各移動経路の終点である物理マシン2を示し、kvが第1の仮想マシン3に対応する所要時間情報132と示す。
すなわち、条件式生成部111は、並行して移動する仮想マシン3の数が移動可能数を上回る移動経路(ネットワーク)が存在しないことを示す式を、第4条件式として生成する。
[S6の処理の詳細]
次に、図5で説明したS6の処理の詳細について説明を行う。図12は、S6の処理の詳細を説明するフローチャートである。
次に、図5で説明したS6の処理の詳細について説明を行う。図12は、S6の処理の詳細を説明するフローチャートである。
条件式生成部111は、第1の単位時間と第1の仮想マシン3と第1の物理マシンとに対応する配置情報141を、複数の物理マシン2毎に特定する(S51)。そして、条件式生成部111は、S51の処理で特定した配置情報141を加算する式が第1の値と等しいことを示す式を、第5条件式として生成する(S52)。
その後、条件式生成部111は、S51の処理において見積り時間情報133が示す時間に含まれる単位時間と仮想マシン3との組み合わせを全て特定したか否かを判定する(S53)。そして、S51の処理において組み合わせの全てを特定済でないと判定した場合(S53のNO)、条件式生成部111は、S51以降の処理が行われていない単位時間と仮想マシン3との組み合わせについて、S51以降の処理を行う。一方、S51の処理において組み合わせの全てを特定済であると判定した場合(S53のYES)、条件式生成部111は、S6の処理を終了する。
具体的に、条件式生成部111は、S51からS52の処理を繰り返し行うことにより、例えば、第5条件式として以下の式(6)を生成する。
式(6)において、Qが配置情報141を示し、mが第1の単位時間を示し、vが第1の仮想マシン3を示し、pが各物理マシン2を示す。
すなわち、条件式生成部111は、各単位時間において、各仮想マシン3が複数の物理マシン2のいずれかに配置していることを示す式を、第5条件式として生成する。
[S7の処理の詳細]
次に、図5で説明したS7の処理の詳細について説明を行う。図13は、S7の処理の詳細を説明するフローチャートである。
次に、図5で説明したS7の処理の詳細について説明を行う。図13は、S7の処理の詳細を説明するフローチャートである。
条件式生成部111は、第1の仮想マシン3と第1の仮想マシン3の移動元の物理マシン2に対応する配置情報141を、第1の仮想マシン3の移動が開始してから第1の仮想マシン3に対応する所要時間情報132が示す時間が経過するまでの単位時間毎に特定する(S61)。そして、条件式生成部111は、S61の処理で特定した配置情報141を加算する式が、第1の仮想マシン3に対応する所要時間情報132が示す値と等しいことを示す式を、第6条件式として生成する(S62)。
さらに、条件式生成部111は、見積り時間情報133が示す時間と第1の仮想マシン3と第1の仮想マシン3の移動先の物理マシン2に対応する配置情報141が、第1の値と等しいことを示す式を、第6条件式として生成する(S63)。
その後、条件式生成部111は、S61の処理において仮想マシン3を全て特定したか否かを判定する(S64)。そして、S61の処理において仮想マシン3の全てを特定済でないと判定した場合(S64のNO)、条件式生成部111は、S61以降の処理が行われていない仮想マシン3について、S61以降の処理を行う。一方、S61の処理において仮想マシン3の全てを特定済であると判定した場合(S64のYES)、条件式生成部111は、S7の処理を終了する。
具体的に、条件式生成部111は、S61からS62の処理を繰り返し行うことにより、例えば、第6条件式として以下の式(7)を生成する。
式(7)において、Qが配置情報141を示し、vが第1の仮想マシン3を示し、piが第1の仮想マシン3の移動元の物理マシン2を示し、kvが第1の仮想マシン3に対応する所要時間情報132を示す。
すなわち、条件式生成部111は、各仮想マシン3が、移動元の物理マシン2から移動する場合、その移動が完了するまで移動元の物理マシン2に配置されていることを示す式を、第6条件式として生成する。
また、条件式生成部111は、S63の処理を繰り返し行うことにより、例えば、第6条件式として以下の式(8)を生成する。
式(8)において、Qが配置情報141を示し、vが第1の仮想マシン3を示し、pfが第1の仮想マシン3の移動先の物理マシン2を示し、mfが見積り時間情報133を示す。
すなわち、条件式生成部111は、見積り時間情報133が示す時間において、各仮想マシン3が移動先の物理マシン2に配置されていることを示す式を、第6条件式として生成する。
その後、条件式生成部111は、例えば、S2からS7の処理において生成した式を、生成済式情報138の一部(以下、制約条件式情報138aとも呼ぶ)として情報格納領域130に記憶する。以下、制約条件式情報138aの具体例について説明を行う。
[制約条件式情報の具体例]
図26は、制約条件式情報138aの具体例を説明する図である。図26に示す制約条件式情報138aは、制約条件式情報138aに含まれる各式を識別する「情報ID」と、各式が設定される「式」とを項目として有している。
図26は、制約条件式情報138aの具体例を説明する図である。図26に示す制約条件式情報138aは、制約条件式情報138aに含まれる各式を識別する「情報ID」と、各式が設定される「式」とを項目として有している。
具体的に、図26に示す制約条件式情報138aにおいて、「情報ID」が「1」である情報には、「式」として「Q1 1,2 + Q0 1,1 - 1 ≦ E1 1,1,2, Q2 1,2 + Q1 1,1 - 1 ≦ E2 1,1,2 , ...」が設定されている。図26に含まれる他の情報については説明を省略する。
[S8の処理の詳細]
次に、図5で説明したS8の処理の詳細について説明を行う。図14は、S8の処理の詳細を説明するフローチャートである。
次に、図5で説明したS8の処理の詳細について説明を行う。図14は、S8の処理の詳細を説明するフローチャートである。
条件式生成部111は、見積り時間情報133が示す時間に含まれる単位時間毎、複数の仮想マシン3毎及び複数の移動経路毎の状態情報142のそれぞれを特定する(S71)。そして、条件式生成部111は、S71の処理で特定した状態情報142のそれぞれと、全体所要時間情報143とを加算する式を生成する(S72)。
具体的に、条件式生成部111は、S72の処理を行うことにより、例えば、以下の式(9)を生成する。
式(9)において、Eが状態情報142を示し、mが各単位時間を示し、vが各仮想マシン3を示し、p1が各移動経路の始点である物理マシン2を示し、p2が各移動経路の終点である物理マシン2を示し、δが係数(例えば、十分小さい係数)を示している。
すなわち、上記の式(1)は、右辺の状態情報142が0であっても1であっても成立する式である。そのため、式(1)から式(8)から全体所要時間情報143が最小になる条件の算出を行う場合、条件算出部112は、必ずしも行う必要がない仮想マシン3の移動が行われる条件を算出する可能性がある。
そこで、条件式生成部111は、S72の処理において、全体所要時間情報143に、S71の処理で特定した状態情報142のそれぞれを加算する式を生成する。そして、条件算出部112は、後述するように、S72の処理で生成した式を最小にする条件の算出を行う。
これにより、条件算出部112は、全体所要時間情報143だけでなく、S71の処理で特定した状態情報142の総和(すなわち、仮想マシン3の総移動回数)を最小にする条件の算出を行うことが可能になる。そのため、条件算出部112は、行う必要がない仮想マシン3の移動が行われない条件の算出を行うことが可能になる。
なお、式(9)における第2項には、係数であるδが乗算されている。これにより、条件算出部112は、全体所要時間情報143と、S71の処理で特定した状態情報142の総和との両方が最小になる場合の条件の算出を行うことが可能になる。
そして、条件算出部112は、S72の処理において生成した式を、生成済式情報138の一部(以下、目的関数式情報138bとも呼ぶ)として情報格納領域130に記憶する。以下、目的関数式情報138bの具体例について説明を行う。
[目的関数式情報の具体例]
図27は、目的関数式情報138bの具体例を説明する図である。図27に示す目的関数式情報138bは、目的関数式情報138bに含まれる各式を識別する「情報ID」と、各式が設定される「式」とを項目として有している。
図27は、目的関数式情報138bの具体例を説明する図である。図27に示す目的関数式情報138bは、目的関数式情報138bに含まれる各式を識別する「情報ID」と、各式が設定される「式」とを項目として有している。
具体的に、図27に示す目的関数式情報138bにおいて、「情報ID」が「1」である情報には、「式」として「minimize SP + 0.00001(E0 1,1,2 + E0 1,1,2, ...)」が設定されている。
図14に戻り、条件算出部112は、S14及びS18の処理で生成した第1条件式と、S24の処理で生成した第2条件式と、S35の処理で生成した第3条件式と、S43の処理で生成した第4条件式と、S52の処理で生成した第5条件式と、S62及びS63の処理で生成した第6条件式を取得する。具体的に、条件算出部112は、例えば、情報格納領域130に記憶された制約条件式情報138aを参照することにより、各式の取得を行う。また、条件算出部112は、情報格納領域130に記憶された目的関数式情報138bを参照することにより、S72の処理で生成した式を取得する。そして、条件算出部112は、取得した第1条件式、第2条件式、第3条件式、第4条件式、第5条件式及び第6条件式から、S72の処理で生成した式が最小になる場合の配置情報141、状態情報142及び全体所要時間情報143それぞれの値を算出する(S73)。
そして、条件算出部112は、例えば、S73の処理によって算出された結果(以下、結果情報とも呼ぶ)を、情報格納領域130に記憶する。以下、結果情報の具体例について説明を行う。
[結果情報の具体例]
図28は、結果情報の具体例を説明する図である。図28に示す結果情報は、結果情報に含まれる各式を識別する「情報ID」と、各変数を示す「変数」と、各変数に対応する値の算出結果である「算出結果」とを項目として有している。
図28は、結果情報の具体例を説明する図である。図28に示す結果情報は、結果情報に含まれる各式を識別する「情報ID」と、各変数を示す「変数」と、各変数に対応する値の算出結果である「算出結果」とを項目として有している。
具体的に、図28に示す結果情報において、「情報ID」が「1−1」である情報の「変数」には「SP」が設定され、「算出結果」には「7」が設定されている。また、図28に示す結果情報において、「情報ID」が「2−1」である情報の「変数」には「Q1 1,1」が設定され、「算出結果」には「1」が設定されている。さらに、図28に示す結果情報において、「情報ID」が「3−1」である情報の「変数」には「E1 1,1,2」が設定され、「算出結果」には「0」が設定されている。図28に含まれる他の情報については説明を省略する。
これにより、移動指示部113は、情報格納領域130等に記憶された結果情報を参照することで、各仮想マシン3の移動順序及び移動開始時間を特定することが可能になる。そのため、情報処理装置1は、仮想マシン3の最適配置に従った仮想マシン3の再配置を、可能な限り短い時間で行うことが可能になる。
以上の実施の形態をまとめると、以下の付記の通りである。
(付記1)
情報処理システムを構成する複数の物理マシン間において移動する複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、前記複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、前記複数の仮想マシンそれぞれが配置される物理マシンを示す第1変数と、前記複数の仮想マシンそれぞれの移動状態を示す第2変数とから、前記第1変数と、前記第2変数との関係を示す第1条件式を生成し、
前記見積り時間情報と、前記第2変数と、前記複数の仮想マシン全ての移動に要する時間を示す第3変数とから、前記第2変数と、前記第3変数との関係を示す第2条件式を生成し、
前記複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、前記見積り時間情報と、前記複数の物理マシンそれぞれのリソース情報と、前記複数の仮想マシンそれぞれのリソース情報と、前記第1変数と、前記第2変数とから、前記移動先の物理マシンに移動する仮想マシンのリソース情報の条件を示す第3条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記複数の物理マシン間における複数の移動経路それぞれを並行して移動可能な仮想マシンの数を示す移動可能数情報と、前記第2変数とから、前記複数の仮想マシンそれぞれが移動する際の移動経路に対応する前記移動可能数情報の条件を示す第4条件式を生成し、
前記移動情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが前記複数の物理マシンのいずれかに配置されることを示す第5条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが、前記移動元の物理マシンからの移動開始後であって前記移動元の物理マシンからの移動が完了するまでの間、前記移動元の物理マシンに配置されていることと、前記複数の仮想マシンそれぞれが、前記見積り時間情報が示す時間において前記移動先の物理マシンに配置されていることとを示す第6条件式を生成し、
前記第1条件式と、前記第2条件式と、前記第3条件式と、前記第4条件式と、前記第5条件式と、前記第6条件式とから、前記第3変数が最小になる場合の前記第1変数、前記第2変数及び前記第3変数の値を算出する、
処理をコンピュータに実行させることを特徴とする移動制御プログラム。
情報処理システムを構成する複数の物理マシン間において移動する複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、前記複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、前記複数の仮想マシンそれぞれが配置される物理マシンを示す第1変数と、前記複数の仮想マシンそれぞれの移動状態を示す第2変数とから、前記第1変数と、前記第2変数との関係を示す第1条件式を生成し、
前記見積り時間情報と、前記第2変数と、前記複数の仮想マシン全ての移動に要する時間を示す第3変数とから、前記第2変数と、前記第3変数との関係を示す第2条件式を生成し、
前記複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、前記見積り時間情報と、前記複数の物理マシンそれぞれのリソース情報と、前記複数の仮想マシンそれぞれのリソース情報と、前記第1変数と、前記第2変数とから、前記移動先の物理マシンに移動する仮想マシンのリソース情報の条件を示す第3条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記複数の物理マシン間における複数の移動経路それぞれを並行して移動可能な仮想マシンの数を示す移動可能数情報と、前記第2変数とから、前記複数の仮想マシンそれぞれが移動する際の移動経路に対応する前記移動可能数情報の条件を示す第4条件式を生成し、
前記移動情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが前記複数の物理マシンのいずれかに配置されることを示す第5条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが、前記移動元の物理マシンからの移動開始後であって前記移動元の物理マシンからの移動が完了するまでの間、前記移動元の物理マシンに配置されていることと、前記複数の仮想マシンそれぞれが、前記見積り時間情報が示す時間において前記移動先の物理マシンに配置されていることとを示す第6条件式を生成し、
前記第1条件式と、前記第2条件式と、前記第3条件式と、前記第4条件式と、前記第5条件式と、前記第6条件式とから、前記第3変数が最小になる場合の前記第1変数、前記第2変数及び前記第3変数の値を算出する、
処理をコンピュータに実行させることを特徴とする移動制御プログラム。
(付記2)
付記1において、
前記第1変数は、
前記見積り時間情報が示す時間に含まれる前記単位時間毎であり、前記複数の仮想マシン毎であり、前記複数の物理マシン毎の変数であり、
特定の単位時間において特定の仮想マシンが特定の物理マシンに配置されている場合、前記特定の単位時間と前記特定の仮想マシンと前記特定の物理マシンとに対応する情報に第1の値が設定され、前記特定の単位時間において前記特定の仮想マシンが前記特定の物理マシンに配置されていない場合、前記特定の単位時間と前記特定の仮想マシンと前記特定の物理マシンとに対応する情報に第2の値が設定される変数であり、
前記第2変数は、
前記見積り時間情報が示す時間に含まれる前記単位時間毎であり、前記複数の仮想マシン毎であり、前記複数の移動経路毎の変数であり、
前記特定の単位時間において前記特定の仮想マシンの移動が完了した場合、前記特定の単位時間と前記特定の仮想マシンと完了した前記移動の移動経路とに対応する情報に前記第1の値が設定され、前記特定の単位時間において前記特定の仮想マシンの移動を完了していない場合、前記特定の単位時間と前記特定の仮想マシンと完了していない前記移動の移動経路とに対応する情報に前記第2の値が設定される変数である、
ことを特徴とする移動制御プログラム。
付記1において、
前記第1変数は、
前記見積り時間情報が示す時間に含まれる前記単位時間毎であり、前記複数の仮想マシン毎であり、前記複数の物理マシン毎の変数であり、
特定の単位時間において特定の仮想マシンが特定の物理マシンに配置されている場合、前記特定の単位時間と前記特定の仮想マシンと前記特定の物理マシンとに対応する情報に第1の値が設定され、前記特定の単位時間において前記特定の仮想マシンが前記特定の物理マシンに配置されていない場合、前記特定の単位時間と前記特定の仮想マシンと前記特定の物理マシンとに対応する情報に第2の値が設定される変数であり、
前記第2変数は、
前記見積り時間情報が示す時間に含まれる前記単位時間毎であり、前記複数の仮想マシン毎であり、前記複数の移動経路毎の変数であり、
前記特定の単位時間において前記特定の仮想マシンの移動が完了した場合、前記特定の単位時間と前記特定の仮想マシンと完了した前記移動の移動経路とに対応する情報に前記第1の値が設定され、前記特定の単位時間において前記特定の仮想マシンの移動を完了していない場合、前記特定の単位時間と前記特定の仮想マシンと完了していない前記移動の移動経路とに対応する情報に前記第2の値が設定される変数である、
ことを特徴とする移動制御プログラム。
(付記3)
付記2において、
前記第1条件式の生成する処理では、
第1の単位時間と第1の仮想マシンと第1の移動経路の始点である物理マシンとに対応する前記第1変数に、前記第1の単位時間の次の第2の単位時間と前記第1の仮想マシンと前記第1の移動経路の終点である物理マシンとに対応する前記第1変数とを加算し、前記第1の値を減算する式が、前記第2の単位時間と前記第1の仮想マシンと前記第1の移動経路にと対応する前記第2変数以下であることを示す式を、前記第1条件式として生成し、
前記第1の仮想マシンと前記第1の移動経路の始点である物理マシンとに対応する前記第1変数のうち、前記第1の単位時間から前記第1の仮想マシンに対応する前記所要時間情報が示す時間を遡るまでの単位時間それぞれに対応する前記第1変数を加算する式が、前記第1の単位時間と前記第1の仮想マシンと前記第1の移動経路とに対応する前記第2変数と前記第1の仮想マシンに対応する前記所要時間情報が示す値とを乗算する式以上であることを示す式を、前記第1条件式として生成する、
ことを特徴とする移動制御プログラム。
付記2において、
前記第1条件式の生成する処理では、
第1の単位時間と第1の仮想マシンと第1の移動経路の始点である物理マシンとに対応する前記第1変数に、前記第1の単位時間の次の第2の単位時間と前記第1の仮想マシンと前記第1の移動経路の終点である物理マシンとに対応する前記第1変数とを加算し、前記第1の値を減算する式が、前記第2の単位時間と前記第1の仮想マシンと前記第1の移動経路にと対応する前記第2変数以下であることを示す式を、前記第1条件式として生成し、
前記第1の仮想マシンと前記第1の移動経路の始点である物理マシンとに対応する前記第1変数のうち、前記第1の単位時間から前記第1の仮想マシンに対応する前記所要時間情報が示す時間を遡るまでの単位時間それぞれに対応する前記第1変数を加算する式が、前記第1の単位時間と前記第1の仮想マシンと前記第1の移動経路とに対応する前記第2変数と前記第1の仮想マシンに対応する前記所要時間情報が示す値とを乗算する式以上であることを示す式を、前記第1条件式として生成する、
ことを特徴とする移動制御プログラム。
(付記4)
付記2において、
前記第2条件式の生成する処理では、第1の単位時間と第1の仮想マシンと該第1の仮想マシンの前記移動先の物理マシンを終点とする第1の移動経路とに対応する前記第2変数と、前記複数の仮想マシンの移動が開始してから前記第1の単位時間が経過するまでの時間とを乗算する式が、前記第3変数以下であることを示す式を、前記第2条件式として生成する、
ことを特徴とする移動制御プログラム。
付記2において、
前記第2条件式の生成する処理では、第1の単位時間と第1の仮想マシンと該第1の仮想マシンの前記移動先の物理マシンを終点とする第1の移動経路とに対応する前記第2変数と、前記複数の仮想マシンの移動が開始してから前記第1の単位時間が経過するまでの時間とを乗算する式が、前記第3変数以下であることを示す式を、前記第2条件式として生成する、
ことを特徴とする移動制御プログラム。
(付記5)
付記2において、
前記第3条件式の生成する処理では、
第1の仮想マシンと第1の物理マシンを終点とする第1の移動経路とに対応する前記第2変数のうち、前記第1の単位時間から前記第1の仮想マシンに対応する前記所要時間情報が示す時間が経過するまでの単位時間それぞれに対応する前記第2変数と、前記第1の単位時間と前記第1の仮想マシンと前記第1の物理マシンとに対応する前記第1変数とを加算する式と、前記第1の仮想マシンの前記リソース情報が示す値とを乗算する式を、前記複数の仮想マシン毎に生成し、
生成した式それぞれを加算する式が、前記第1の物理マシンのリソース情報が示す値以下であることを示す式を、前記第3条件式として生成する、
ことを特徴とする移動制御プログラム。
付記2において、
前記第3条件式の生成する処理では、
第1の仮想マシンと第1の物理マシンを終点とする第1の移動経路とに対応する前記第2変数のうち、前記第1の単位時間から前記第1の仮想マシンに対応する前記所要時間情報が示す時間が経過するまでの単位時間それぞれに対応する前記第2変数と、前記第1の単位時間と前記第1の仮想マシンと前記第1の物理マシンとに対応する前記第1変数とを加算する式と、前記第1の仮想マシンの前記リソース情報が示す値とを乗算する式を、前記複数の仮想マシン毎に生成し、
生成した式それぞれを加算する式が、前記第1の物理マシンのリソース情報が示す値以下であることを示す式を、前記第3条件式として生成する、
ことを特徴とする移動制御プログラム。
(付記6)
付記2において、
前記第4条件式の生成する処理では、
第1の仮想マシンと前記複数の移動経路のいずれかとに対応する前記第2変数のうち、第1の単位時間から前記第1の仮想マシンに対応する前記所要時間情報が示す時間が経過するまでの単位時間それぞれに対応する前記第2変数を、前記複数の仮想マシン毎に特定し、
特定した前記第2変数から、各移動経路に対応する前記第2変数を、前記複数の移動経路毎に特定し、
特定した前記第2変数を前記複数の移動経路毎に加算する式それぞれが、各移動経路に対応する前記移動可能数情報が示す値以下であることを示す式を、前記第4条件式として生成する、
ことを特徴とする移動制御プログラム。
付記2において、
前記第4条件式の生成する処理では、
第1の仮想マシンと前記複数の移動経路のいずれかとに対応する前記第2変数のうち、第1の単位時間から前記第1の仮想マシンに対応する前記所要時間情報が示す時間が経過するまでの単位時間それぞれに対応する前記第2変数を、前記複数の仮想マシン毎に特定し、
特定した前記第2変数から、各移動経路に対応する前記第2変数を、前記複数の移動経路毎に特定し、
特定した前記第2変数を前記複数の移動経路毎に加算する式それぞれが、各移動経路に対応する前記移動可能数情報が示す値以下であることを示す式を、前記第4条件式として生成する、
ことを特徴とする移動制御プログラム。
(付記7)
付記6において、
前記複数の移動経路毎に第2変数を特定する処理では、前記複数の移動経路のいずれかにネットワーク機器が配置されている場合、前記ネットワーク機器によって区分けされる複数のネットワーク毎に前記第2変数の特定を行い、
前記第4条件式を生成する処理では、前記第2変数を前記複数のネットワーク毎に加算する式それぞれが、各ネットワークに対応する前記移動可能数情報が示す値以下であることを示す式を生成する、
ことを特徴とする移動制御プログラム。
付記6において、
前記複数の移動経路毎に第2変数を特定する処理では、前記複数の移動経路のいずれかにネットワーク機器が配置されている場合、前記ネットワーク機器によって区分けされる複数のネットワーク毎に前記第2変数の特定を行い、
前記第4条件式を生成する処理では、前記第2変数を前記複数のネットワーク毎に加算する式それぞれが、各ネットワークに対応する前記移動可能数情報が示す値以下であることを示す式を生成する、
ことを特徴とする移動制御プログラム。
(付記8)
付記2において、
前記第5条件式の生成する処理では、第1の単位時間と第1の仮想マシンと第1の物理マシンとに対応する前記第1変数を、前記複数の物理マシン毎に特定し、
特定した前記第1変数を加算する式が前記第1の値と等しいことを示す式を、前記第5条件式として生成する、
ことを特徴とする移動制御プログラム。
付記2において、
前記第5条件式の生成する処理では、第1の単位時間と第1の仮想マシンと第1の物理マシンとに対応する前記第1変数を、前記複数の物理マシン毎に特定し、
特定した前記第1変数を加算する式が前記第1の値と等しいことを示す式を、前記第5条件式として生成する、
ことを特徴とする移動制御プログラム。
(付記9)
付記2において、
前記第6条件式の生成する処理では、
第1の仮想マシンと該第1の仮想マシンの前記移動元の物理マシンとに対応する前記第1変数を、前記第1の仮想マシンの移動が開始してから前記第1の仮想マシンに対応する前記所要時間情報が示す時間が経過するまでの前記単位時間毎に特定し、
特定した前記第1変数を加算する式が、前記第1の仮想マシンに対応する前記所要時間情報が示す値であることを示す式を、前記第6条件式として生成し、
第1の単位時間と前記第1の仮想マシンと該第1の仮想マシンの前記移動先の物理マシンとに対応する前記第1変数が、前記第1の値と等しいことを示す式を、前記第6条件式として生成する、
ことを特徴とする移動制御プログラム。
付記2において、
前記第6条件式の生成する処理では、
第1の仮想マシンと該第1の仮想マシンの前記移動元の物理マシンとに対応する前記第1変数を、前記第1の仮想マシンの移動が開始してから前記第1の仮想マシンに対応する前記所要時間情報が示す時間が経過するまでの前記単位時間毎に特定し、
特定した前記第1変数を加算する式が、前記第1の仮想マシンに対応する前記所要時間情報が示す値であることを示す式を、前記第6条件式として生成し、
第1の単位時間と前記第1の仮想マシンと該第1の仮想マシンの前記移動先の物理マシンとに対応する前記第1変数が、前記第1の値と等しいことを示す式を、前記第6条件式として生成する、
ことを特徴とする移動制御プログラム。
(付記10)
付記2において、
前記第3変数が最小になる場合の値を算出する処理では、前記見積り時間情報が示す時間に含まれる前記単位時間毎、前記複数の仮想マシン毎及び前記複数の移動経路毎の前記第2変数それぞれと、前記第3変数とを加算する式が最小になる場合の前記第1変数、前記第2変数及び前記第3変数の値の算出を行う、
ことを特徴とする移動制御プログラム。
付記2において、
前記第3変数が最小になる場合の値を算出する処理では、前記見積り時間情報が示す時間に含まれる前記単位時間毎、前記複数の仮想マシン毎及び前記複数の移動経路毎の前記第2変数それぞれと、前記第3変数とを加算する式が最小になる場合の前記第1変数、前記第2変数及び前記第3変数の値の算出を行う、
ことを特徴とする移動制御プログラム。
(付記11)
付記1において、
前記第3変数が最小になる場合の値を算出する処理では、前記第1条件式と、前記第2条件式と、前記第3条件式と、前記第4条件式と、前記第5条件式と、前記第6条件式とを入力として、前記第3変数を最小にする条件を算出するプログラムをコンピュータに動作させることにより、前記第3変数が最小になる場合の前記第1変数、前記第2変数及び前記第3変数の値の算出を行う、
ことを特徴とする移動制御プログラム。
付記1において、
前記第3変数が最小になる場合の値を算出する処理では、前記第1条件式と、前記第2条件式と、前記第3条件式と、前記第4条件式と、前記第5条件式と、前記第6条件式とを入力として、前記第3変数を最小にする条件を算出するプログラムをコンピュータに動作させることにより、前記第3変数が最小になる場合の前記第1変数、前記第2変数及び前記第3変数の値の算出を行う、
ことを特徴とする移動制御プログラム。
(付記12)
情報処理システムを構成する複数の物理マシン間において移動する複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、前記複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、前記複数の仮想マシンそれぞれが配置される物理マシンを示す第1変数と、前記複数の仮想マシンそれぞれの移動状態を示す第2変数とから、前記第1変数と、前記第2変数との関係を示す第1条件式を生成する条件式生成部と、
前記見積り時間情報と、前記第2変数と、前記複数の仮想マシン全ての移動に要する時間を示す第3変数とから、前記第2変数と、前記第3変数との関係を示す第2条件式を生成する条件式生成部と、
前記複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、前記見積り時間情報と、前記複数の物理マシンそれぞれのリソース情報と、前記複数の仮想マシンそれぞれのリソース情報と、前記第1変数と、前記第2変数とから、前記移動先の物理マシンに移動する仮想マシンのリソース情報の条件を示す第3条件式を生成する条件式生成部と、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記複数の物理マシン間における複数の移動経路それぞれを並行して移動可能な仮想マシンの数を示す移動可能数情報と、前記第2変数とから、前記複数の仮想マシンそれぞれが移動する際の移動経路に対応する前記移動可能数情報の条件を示す第4条件式を生成する条件式生成部と、
前記移動情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが前記複数の物理マシンのいずれかに配置されることを示す第5条件式を生成する条件式生成部と、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが、前記移動元の物理マシンからの移動開始後であって前記移動元の物理マシンからの移動が完了するまでの間、前記移動元の物理マシンに配置されていることと、前記複数の仮想マシンそれぞれが、前記見積り時間情報が示す時間において前記移動先の物理マシンに配置されていることとを示す第6条件式を生成する条件式生成部と、
前記第1条件式と、前記第2条件式と、前記第3条件式と、前記第4条件式と、前記第5条件式と、前記第6条件式とから、前記第3変数が最小になる場合の前記第1変数、前記第2変数及び前記第3変数の値を算出する条件算出部と、を有する、
ことを特徴とする移動制御装置。
情報処理システムを構成する複数の物理マシン間において移動する複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、前記複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、前記複数の仮想マシンそれぞれが配置される物理マシンを示す第1変数と、前記複数の仮想マシンそれぞれの移動状態を示す第2変数とから、前記第1変数と、前記第2変数との関係を示す第1条件式を生成する条件式生成部と、
前記見積り時間情報と、前記第2変数と、前記複数の仮想マシン全ての移動に要する時間を示す第3変数とから、前記第2変数と、前記第3変数との関係を示す第2条件式を生成する条件式生成部と、
前記複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、前記見積り時間情報と、前記複数の物理マシンそれぞれのリソース情報と、前記複数の仮想マシンそれぞれのリソース情報と、前記第1変数と、前記第2変数とから、前記移動先の物理マシンに移動する仮想マシンのリソース情報の条件を示す第3条件式を生成する条件式生成部と、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記複数の物理マシン間における複数の移動経路それぞれを並行して移動可能な仮想マシンの数を示す移動可能数情報と、前記第2変数とから、前記複数の仮想マシンそれぞれが移動する際の移動経路に対応する前記移動可能数情報の条件を示す第4条件式を生成する条件式生成部と、
前記移動情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが前記複数の物理マシンのいずれかに配置されることを示す第5条件式を生成する条件式生成部と、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが、前記移動元の物理マシンからの移動開始後であって前記移動元の物理マシンからの移動が完了するまでの間、前記移動元の物理マシンに配置されていることと、前記複数の仮想マシンそれぞれが、前記見積り時間情報が示す時間において前記移動先の物理マシンに配置されていることとを示す第6条件式を生成する条件式生成部と、
前記第1条件式と、前記第2条件式と、前記第3条件式と、前記第4条件式と、前記第5条件式と、前記第6条件式とから、前記第3変数が最小になる場合の前記第1変数、前記第2変数及び前記第3変数の値を算出する条件算出部と、を有する、
ことを特徴とする移動制御装置。
(付記13)
情報処理システムを構成する複数の物理マシン間において移動する複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、前記複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、前記複数の仮想マシンそれぞれが配置される物理マシンを示す第1変数と、前記複数の仮想マシンそれぞれの移動状態を示す第2変数とから、前記第1変数と、前記第2変数との関係を示す第1条件式を生成し、
前記見積り時間情報と、前記第2変数と、前記複数の仮想マシン全ての移動に要する時間を示す第3変数とから、前記第2変数と、前記第3変数との関係を示す第2条件式を生成し、
前記複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、前記見積り時間情報と、前記複数の物理マシンそれぞれのリソース情報と、前記複数の仮想マシンそれぞれのリソース情報と、前記第1変数と、前記第2変数とから、前記移動先の物理マシンに移動する仮想マシンのリソース情報の条件を示す第3条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記複数の物理マシン間における複数の移動経路それぞれを並行して移動可能な仮想マシンの数を示す移動可能数情報と、前記第2変数とから、前記複数の仮想マシンそれぞれが移動する際の移動経路に対応する前記移動可能数情報の条件を示す第4条件式を生成し、
前記移動情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが前記複数の物理マシンのいずれかに配置されることを示す第5条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが、前記移動元の物理マシンからの移動開始後であって前記移動元の物理マシンからの移動が完了するまでの間、前記移動元の物理マシンに配置されていることと、前記複数の仮想マシンそれぞれが、前記見積り時間情報が示す時間において前記移動先の物理マシンに配置されていることとを示す第6条件式を生成し、
前記第1条件式と、前記第2条件式と、前記第3条件式と、前記第4条件式と、前記第5条件式と、前記第6条件式とから、前記第3変数が最小になる場合の前記第1変数、前記第2変数及び前記第3変数の値を算出する、
ことを特徴とする移動制御方法。
情報処理システムを構成する複数の物理マシン間において移動する複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、前記複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、前記複数の仮想マシンそれぞれが配置される物理マシンを示す第1変数と、前記複数の仮想マシンそれぞれの移動状態を示す第2変数とから、前記第1変数と、前記第2変数との関係を示す第1条件式を生成し、
前記見積り時間情報と、前記第2変数と、前記複数の仮想マシン全ての移動に要する時間を示す第3変数とから、前記第2変数と、前記第3変数との関係を示す第2条件式を生成し、
前記複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、前記見積り時間情報と、前記複数の物理マシンそれぞれのリソース情報と、前記複数の仮想マシンそれぞれのリソース情報と、前記第1変数と、前記第2変数とから、前記移動先の物理マシンに移動する仮想マシンのリソース情報の条件を示す第3条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記複数の物理マシン間における複数の移動経路それぞれを並行して移動可能な仮想マシンの数を示す移動可能数情報と、前記第2変数とから、前記複数の仮想マシンそれぞれが移動する際の移動経路に対応する前記移動可能数情報の条件を示す第4条件式を生成し、
前記移動情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが前記複数の物理マシンのいずれかに配置されることを示す第5条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが、前記移動元の物理マシンからの移動開始後であって前記移動元の物理マシンからの移動が完了するまでの間、前記移動元の物理マシンに配置されていることと、前記複数の仮想マシンそれぞれが、前記見積り時間情報が示す時間において前記移動先の物理マシンに配置されていることとを示す第6条件式を生成し、
前記第1条件式と、前記第2条件式と、前記第3条件式と、前記第4条件式と、前記第5条件式と、前記第6条件式とから、前記第3変数が最小になる場合の前記第1変数、前記第2変数及び前記第3変数の値を算出する、
ことを特徴とする移動制御方法。
1:情報処理装置 2:物理マシン
3:仮想マシン 4:仮想化ソフトウエア
11:利用者端末
3:仮想マシン 4:仮想化ソフトウエア
11:利用者端末
Claims (12)
- 情報処理システムを構成する複数の物理マシン間において移動する複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、前記複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、前記複数の仮想マシンそれぞれが配置される物理マシンを示す第1変数と、前記複数の仮想マシンそれぞれの移動状態を示す第2変数とから、前記第1変数と、前記第2変数との関係を示す第1条件式を生成し、
前記見積り時間情報と、前記第2変数と、前記複数の仮想マシン全ての移動に要する時間を示す第3変数とから、前記第2変数と、前記第3変数との関係を示す第2条件式を生成し、
前記複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、前記見積り時間情報と、前記複数の物理マシンそれぞれのリソース情報と、前記複数の仮想マシンそれぞれのリソース情報と、前記第1変数と、前記第2変数とから、前記移動先の物理マシンに移動する仮想マシンのリソース情報の条件を示す第3条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記複数の物理マシン間における複数の移動経路それぞれを並行して移動可能な仮想マシンの数を示す移動可能数情報と、前記第2変数とから、前記複数の仮想マシンそれぞれが移動する際の移動経路に対応する前記移動可能数情報の条件を示す第4条件式を生成し、
前記移動情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが前記複数の物理マシンのいずれかに配置されることを示す第5条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが、前記移動元の物理マシンからの移動開始後であって前記移動元の物理マシンからの移動が完了するまでの間、前記移動元の物理マシンに配置されていることと、前記複数の仮想マシンそれぞれが、前記見積り時間情報が示す時間において前記移動先の物理マシンに配置されていることとを示す第6条件式を生成し、
前記第1条件式と、前記第2条件式と、前記第3条件式と、前記第4条件式と、前記第5条件式と、前記第6条件式とから、前記第3変数が最小になる場合の前記第1変数、前記第2変数及び前記第3変数の値を算出する、
処理をコンピュータに実行させることを特徴とする移動制御プログラム。 - 請求項1において、
前記第1変数は、
前記見積り時間情報が示す時間に含まれる前記単位時間毎であり、前記複数の仮想マシン毎であり、前記複数の物理マシン毎の変数であり、
特定の単位時間において特定の仮想マシンが特定の物理マシンに配置されている場合、前記特定の単位時間と前記特定の仮想マシンと前記特定の物理マシンとに対応する情報に第1の値が設定され、前記特定の単位時間において前記特定の仮想マシンが前記特定の物理マシンに配置されていない場合、前記特定の単位時間と前記特定の仮想マシンと前記特定の物理マシンとに対応する情報に第2の値が設定される変数であり、
前記第2変数は、
前記見積り時間情報が示す時間に含まれる前記単位時間毎であり、前記複数の仮想マシン毎であり、前記複数の移動経路毎の変数であり、
前記特定の単位時間において前記特定の仮想マシンの移動が完了した場合、前記特定の単位時間と前記特定の仮想マシンと完了した前記移動の移動経路とに対応する情報に前記第1の値が設定され、前記特定の単位時間において前記特定の仮想マシンの移動を完了していない場合、前記特定の単位時間と前記特定の仮想マシンと完了していない前記移動の移動経路とに対応する情報に前記第2の値が設定される変数である、
ことを特徴とする移動制御プログラム。 - 請求項2において、
前記第1条件式の生成する処理では、
第1の単位時間と第1の仮想マシンと第1の移動経路の始点である物理マシンとに対応する前記第1変数に、前記第1の単位時間の次の第2の単位時間と前記第1の仮想マシンと前記第1の移動経路の終点である物理マシンとに対応する前記第1変数とを加算し、前記第1の値を減算する式が、前記第2の単位時間と前記第1の仮想マシンと前記第1の移動経路にと対応する前記第2変数以下であることを示す式を、前記第1条件式として生成し、
前記第1の仮想マシンと前記第1の移動経路の始点である物理マシンとに対応する前記第1変数のうち、前記第1の単位時間から前記第1の仮想マシンに対応する前記所要時間情報が示す時間を遡るまでの単位時間それぞれに対応する前記第1変数を加算する式が、前記第1の単位時間と前記第1の仮想マシンと前記第1の移動経路とに対応する前記第2変数と前記第1の仮想マシンに対応する前記所要時間情報が示す値とを乗算する式以上であることを示す式を、前記第1条件式として生成する、
ことを特徴とする移動制御プログラム。 - 請求項2において、
前記第2条件式の生成する処理では、第1の単位時間と第1の仮想マシンと該第1の仮想マシンの前記移動先の物理マシンを終点とする第1の移動経路とに対応する前記第2変数と、前記複数の仮想マシンの移動が開始してから前記第1の単位時間が経過するまでの時間とを乗算する式が、前記第3変数以下であることを示す式を、前記第2条件式として生成する、
ことを特徴とする移動制御プログラム。 - 請求項2において、
前記第3条件式の生成する処理では、
第1の仮想マシンと第1の物理マシンを終点とする第1の移動経路とに対応する前記第2変数のうち、前記第1の単位時間から前記第1の仮想マシンに対応する前記所要時間情報が示す時間が経過するまでの単位時間それぞれに対応する前記第2変数と、前記第1の単位時間と前記第1の仮想マシンと前記第1の物理マシンとに対応する前記第1変数とを加算する式と、前記第1の仮想マシンの前記リソース情報が示す値とを乗算する式を、前記複数の仮想マシン毎に生成し、
生成した式それぞれを加算する式が、前記第1の物理マシンのリソース情報が示す値以下であることを示す式を、前記第3条件式として生成する、
ことを特徴とする移動制御プログラム。 - 請求項2において、
前記第4条件式の生成する処理では、
第1の仮想マシンと前記複数の移動経路のいずれかとに対応する前記第2変数のうち、第1の単位時間から前記第1の仮想マシンに対応する前記所要時間情報が示す時間が経過するまでの単位時間それぞれに対応する前記第2変数を、前記複数の仮想マシン毎に特定し、
特定した前記第2変数から、各移動経路に対応する前記第2変数を、前記複数の移動経路毎に特定し、
特定した前記第2変数を前記複数の移動経路毎に加算する式それぞれが、各移動経路に対応する前記移動可能数情報が示す値以下であることを示す式を、前記第4条件式として生成する、
ことを特徴とする移動制御プログラム。 - 請求項6において、
前記複数の移動経路毎に第2変数を特定する処理では、前記複数の移動経路のいずれかにネットワーク機器が配置されている場合、前記ネットワーク機器によって区分けされる複数のネットワーク毎に前記第2変数の特定を行い、
前記第4条件式を生成する処理では、前記第2変数を前記複数のネットワーク毎に加算する式それぞれが、各ネットワークに対応する前記移動可能数情報が示す値以下であることを示す式を生成する、
ことを特徴とする移動制御プログラム。 - 請求項2において、
前記第5条件式の生成する処理では、第1の単位時間と第1の仮想マシンと第1の物理マシンとに対応する前記第1変数を、前記複数の物理マシン毎に特定し、
特定した前記第1変数を加算する式が前記第1の値と等しいことを示す式を、前記第5条件式として生成する、
ことを特徴とする移動制御プログラム。 - 請求項2において、
前記第6条件式の生成する処理では、
第1の仮想マシンと該第1の仮想マシンの前記移動元の物理マシンとに対応する前記第1変数を、前記第1の仮想マシンの移動が開始してから前記第1の仮想マシンに対応する前記所要時間情報が示す時間が経過するまでの前記単位時間毎に特定し、
特定した前記第1変数を加算する式が、前記第1の仮想マシンに対応する前記所要時間情報が示す値であることを示す式を、前記第6条件式として生成し、
第1の単位時間と前記第1の仮想マシンと該第1の仮想マシンの前記移動先の物理マシンとに対応する前記第1変数が、前記第1の値と等しいことを示す式を、前記第6条件式として生成する、
ことを特徴とする移動制御プログラム。 - 請求項2において、
前記第3変数が最小になる場合の値を算出する処理では、前記見積り時間情報が示す時間に含まれる前記単位時間毎、前記複数の仮想マシン毎及び前記複数の移動経路毎の前記第2変数それぞれと、前記第3変数とを加算する式が最小になる場合の前記第1変数、前記第2変数及び前記第3変数の値の算出を行う、
ことを特徴とする移動制御プログラム。 - 情報処理システムを構成する複数の物理マシン間において移動する複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、前記複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、前記複数の仮想マシンそれぞれが配置される物理マシンを示す第1変数と、前記複数の仮想マシンそれぞれの移動状態を示す第2変数とから、前記第1変数と、前記第2変数との関係を示す第1条件式を生成する条件式生成部と、
前記見積り時間情報と、前記第2変数と、前記複数の仮想マシン全ての移動に要する時間を示す第3変数とから、前記第2変数と、前記第3変数との関係を示す第2条件式を生成する条件式生成部と、
前記複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、前記見積り時間情報と、前記複数の物理マシンそれぞれのリソース情報と、前記複数の仮想マシンそれぞれのリソース情報と、前記第1変数と、前記第2変数とから、前記移動先の物理マシンに移動する仮想マシンのリソース情報の条件を示す第3条件式を生成する条件式生成部と、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記複数の物理マシン間における複数の移動経路それぞれを並行して移動可能な仮想マシンの数を示す移動可能数情報と、前記第2変数とから、前記複数の仮想マシンそれぞれが移動する際の移動経路に対応する前記移動可能数情報の条件を示す第4条件式を生成する条件式生成部と、
前記移動情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが前記複数の物理マシンのいずれかに配置されることを示す第5条件式を生成する条件式生成部と、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが、前記移動元の物理マシンからの移動開始後であって前記移動元の物理マシンからの移動が完了するまでの間、前記移動元の物理マシンに配置されていることと、前記複数の仮想マシンそれぞれが、前記見積り時間情報が示す時間において前記移動先の物理マシンに配置されていることとを示す第6条件式を生成する条件式生成部と、
前記第1条件式と、前記第2条件式と、前記第3条件式と、前記第4条件式と、前記第5条件式と、前記第6条件式とから、前記第3変数が最小になる場合の前記第1変数、前記第2変数及び前記第3変数の値を算出する条件算出部と、を有する、
ことを特徴とする移動制御装置。 - 情報処理システムを構成する複数の物理マシン間において移動する複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、前記複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、前記複数の仮想マシンそれぞれが配置される物理マシンを示す第1変数と、前記複数の仮想マシンそれぞれの移動状態を示す第2変数とから、前記第1変数と、前記第2変数との関係を示す第1条件式を生成し、
前記見積り時間情報と、前記第2変数と、前記複数の仮想マシン全ての移動に要する時間を示す第3変数とから、前記第2変数と、前記第3変数との関係を示す第2条件式を生成し、
前記複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、前記見積り時間情報と、前記複数の物理マシンそれぞれのリソース情報と、前記複数の仮想マシンそれぞれのリソース情報と、前記第1変数と、前記第2変数とから、前記移動先の物理マシンに移動する仮想マシンのリソース情報の条件を示す第3条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記複数の物理マシン間における複数の移動経路それぞれを並行して移動可能な仮想マシンの数を示す移動可能数情報と、前記第2変数とから、前記複数の仮想マシンそれぞれが移動する際の移動経路に対応する前記移動可能数情報の条件を示す第4条件式を生成し、
前記移動情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが前記複数の物理マシンのいずれかに配置されることを示す第5条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記第1変数とから、前記複数の仮想マシンそれぞれが、前記移動元の物理マシンからの移動開始後であって前記移動元の物理マシンからの移動が完了するまでの間、前記移動元の物理マシンに配置されていることと、前記複数の仮想マシンそれぞれが、前記見積り時間情報が示す時間において前記移動先の物理マシンに配置されていることとを示す第6条件式を生成し、
前記第1条件式と、前記第2条件式と、前記第3条件式と、前記第4条件式と、前記第5条件式と、前記第6条件式とから、前記第3変数が最小になる場合の前記第1変数、前記第2変数及び前記第3変数の値を算出する、
ことを特徴とする移動制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016159343A JP2018028735A (ja) | 2016-08-15 | 2016-08-15 | 移動制御プログラム、移動制御装置及び移動制御方法 |
US15/666,696 US20180046490A1 (en) | 2016-08-15 | 2017-08-02 | Moving control apparatus and moving control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016159343A JP2018028735A (ja) | 2016-08-15 | 2016-08-15 | 移動制御プログラム、移動制御装置及び移動制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018028735A true JP2018028735A (ja) | 2018-02-22 |
Family
ID=61159008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016159343A Pending JP2018028735A (ja) | 2016-08-15 | 2016-08-15 | 移動制御プログラム、移動制御装置及び移動制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20180046490A1 (ja) |
JP (1) | JP2018028735A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3117312A1 (en) * | 2014-03-10 | 2017-01-18 | Nokia Solutions and Networks Oy | Notification about virtual machine live migration to vnf manager |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5454135B2 (ja) * | 2009-12-25 | 2014-03-26 | 富士通株式会社 | 仮想マシン移動制御装置、仮想マシン移動制御方法および仮想マシン移動制御プログラム |
US8694644B2 (en) * | 2011-09-29 | 2014-04-08 | Nec Laboratories America, Inc. | Network-aware coordination of virtual machine migrations in enterprise data centers and clouds |
JP5952214B2 (ja) * | 2013-04-04 | 2016-07-13 | 日本電信電話株式会社 | 仮想マシンの動的配置方法及び仮想マシンシステム |
US10652327B2 (en) * | 2016-04-29 | 2020-05-12 | Hewlett Packard Enterprise Development Lp | Migration of virtual machines |
-
2016
- 2016-08-15 JP JP2016159343A patent/JP2018028735A/ja active Pending
-
2017
- 2017-08-02 US US15/666,696 patent/US20180046490A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20180046490A1 (en) | 2018-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108009016B (zh) | 一种资源负载均衡控制方法及集群调度器 | |
US9235801B2 (en) | Managing computer server capacity | |
JP2021523474A (ja) | グラフデータ処理方法、グラフデータの計算タスクの配布方法、装置、コンピュータプログラム、及びコンピュータ機器 | |
US20120167081A1 (en) | Application Service Performance in Cloud Computing | |
KR101990411B1 (ko) | 클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법 | |
US20180046489A1 (en) | Storage medium, method, and device | |
JP6380110B2 (ja) | リソース制御システム、制御パターン生成装置、制御装置、リソース制御方法及びプログラム | |
JP2015011569A (ja) | 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理プログラム | |
JPWO2008102739A1 (ja) | 仮想サーバシステム及び物理サーバ選択方法 | |
JP2013250775A (ja) | 仮想マシン管理装置、仮想マシン管理プログラム、仮想マシン管理方法及びネットワークシステム | |
JP6972796B2 (ja) | ソフトウェアサービス実行装置、システム、及び方法 | |
CN114675965B (zh) | 联邦学习方法、装置、设备和介质 | |
JPWO2015079612A1 (ja) | 仮想ミドルボックス管理システム、仮想ミドルボックス管理方法および仮想ミドルボックス管理用プログラム | |
JP2009528649A (ja) | 分散コンピューティングに関する改良 | |
JP2013089166A (ja) | 通信装置、通信方法、および、通信プログラム | |
JP5910499B2 (ja) | 拡張性評価装置、拡張性評価方法および拡張性評価プログラム | |
US10862822B2 (en) | Intent-based service configuration, service conformance, and service auditing | |
US20220173977A1 (en) | Information processing method, computer-readable recording medium storing information processing program, information processing apparatus, and information processing system | |
Sivan et al. | Proximity‐based cloud resource provisioning for deep learning applications in smart healthcare | |
JP2017049772A (ja) | 移動制御プログラム、移動制御装置及び移動制御方法 | |
Kakadia et al. | MECCA: mobile, efficient cloud computing workload adoption framework using scheduler customization and workload migration decisions | |
JP2018028735A (ja) | 移動制御プログラム、移動制御装置及び移動制御方法 | |
KR20210056655A (ko) | 클라우드 엣지 환경에서 예측 기반 마이그레이션 후보 및 대상 선정 방법 | |
JP6627475B2 (ja) | 処理リソース制御プログラム、処理リソース制御装置、および処理リソース制御方法 | |
KR20220029004A (ko) | 클라우드 기반 딥러닝 작업의 수행시간 예측 시스템 및 방법 |