JP6365536B2 - 仮想マシン制御装置、仮想マシン制御方法とプログラム、および、データセンタ - Google Patents

仮想マシン制御装置、仮想マシン制御方法とプログラム、および、データセンタ Download PDF

Info

Publication number
JP6365536B2
JP6365536B2 JP2015519630A JP2015519630A JP6365536B2 JP 6365536 B2 JP6365536 B2 JP 6365536B2 JP 2015519630 A JP2015519630 A JP 2015519630A JP 2015519630 A JP2015519630 A JP 2015519630A JP 6365536 B2 JP6365536 B2 JP 6365536B2
Authority
JP
Japan
Prior art keywords
virtual machine
host
host machine
constraint
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015519630A
Other languages
English (en)
Other versions
JPWO2014192254A1 (ja
Inventor
文雄 町田
文雄 町田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2014192254A1 publication Critical patent/JPWO2014192254A1/ja
Application granted granted Critical
Publication of JP6365536B2 publication Critical patent/JP6365536B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、仮想マシン制御装置、仮想マシン制御方法とそのプログラムを記録したコンピュータ読み取り可能な記録媒体、および、データセンタに関し、特に、ホストマシンに仮想マシンを配置する制御に関する。
サーバ仮想化は、1台のサーバを複数台の仮想コンピュータ(以下、仮想マシンと示す。)に分割し、それぞれの仮想マシンに異なるOS(Operating System)又はアプリケーションソフトを動作させる技術である。このような技術を用いることで、OS又はアプリケーション毎に複数のサーバを使用する場合に比べて、物理的資源の管理にかかる手間が省け、需要に応じた柔軟な資源配分が可能となる。
サーバ仮想化技術の普及に伴い、データセンタにおけるサーバ統合の事例が増えている。複数の仮想マシンを少数のサーバに配置することによりサーバの利用効率が高まり、その結果、データセンタにおける消費電力又は環境負荷が低減される。
一方、サーバで利用可能なCPU(Central Processing Unit)およびメモリなどの計算機資源は限りがある。このため、仮想マシンの配置は、サーバにおける処理容量を越えないように決定される。サーバ統合の効率を高めるために、仮想マシンをどのサーバ上で動作させるかを決める仮想マシンの配置決定が重要となる。
また、仮想マシン上で動作するアプリケーションの種類によって、仮想マシン間でサーバ上のリソースの競合が生じる場合がある。このためアプリケーションの性能に問題が生じないによう仮想マシンの配置を決定する工夫が必要となる。このような資源の制約および仮想マシン間の関係を反映して適切な仮想マシン配置を決定する方法が、データセンタ効率化の鍵として近年注目されている。
特許文献1、2、3、4、および、非特許文献1に仮想マシンの配置技術の例が記載されている。
特許文献1は、ホストマシンに仮想マシンを配置する際、ホストマシンの能力限界に基づいて仮想マシンの最適配置を決定する技術を開示する。その配置の決定は、電力効率を指標としている。
特許文献2は、サーバと仮想マシンにおける負荷と電力効率を反映して、種々の制約条件に基づいて仮想マシン配置を決定する技術を開示する。
特許文献3は、サーバに複数の仮想マシンを配置する際に、仮想マシンの組み合わせの適切度を計算することにより、リソースの競合を回避した仮想マシン配置を決定する技術を開示する。
特許文献4は、サーバに複数の仮想マシンを配置する際に、業務視点での物理マシンのリソースの割り当てを可能にする技術を開示する。
さらに非特許文献1は、制約プログラミングを利用し様々な仮想マシン配置の制約を反映した仮想マシンの配置決定を提案している。制約プログラミングを利用した仮想マシンの配置決定は、配置に関する制約をアルゴリズムの中に設計する必要がないため、柔軟性と拡張性に優れている。例えば、新しい制約を反映した仮想マシンの配置を決定する必要がある場合に、既存のアルゴリズムに修正を加えることなく制約プログラミングで処理可能な制約を追加するだけで対応することができる。
特表2012−523620号公報 特開2011−013822号公報 国際公開第2007/136021号 特開2011−118864号公報
Fabien Hermenier et al. "Entropy: a Consolidation Manager for Clusters" Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, Pages 41-50, March 11-13, 2009, Section 3.2
システムの運用管理において、運用管理者がシステムの構成および状態を適切に把握できることが重要である。
特許文献1〜4と非特許文献1に開示された仮想マシンの配置技術は、データセンタ全体の性能、コスト、あるいは、リソース利用の最適化を主目的としている。しかしながら、このような目的で決定される仮想マシンの配置は、必ずしも運用管理しやすい配置になるとは限らない。
例えば、複数の仮想マシンの連携によって提供されるアプリケーションサービスにおいて、一部の仮想マシンが物理的に遠い場所に分散して配置されると、運用管理者は仮想マシンの配置関係を把握することが困難になる。また、アプリケーションサービスを構成する複数の仮想マシンが、物理的に広範囲に分散して配置されると、運用管理者はアプリケーションサービスの構成を把握して仮想マシンを管理することが難しくなる。
このように、システムの運用管理を反映した仮想マシンの配置制御の例はなく、その実現が望まれる。
[発明の目的]
本発明の目的は、システムの運用管理を反映した仮想マシンの配置決定が可能な仮想マシン制御装置、仮想マシン制御方法とそのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することにある。
本発明の一形態に係る仮想マシン制御装置は、配置予定の仮想マシン名リストと仮想マシンを配置可能なホストマシン名リストに基づき、仮想マシンの運用性制約を生成する生成手段と、生成された運用性制約を含む制約に基づき、対象の仮想マシンの配置を決定する決定手段と、を備え、ホストマシン名は、データセンタにおける各ホストマシンのロケーション情報を含み、仮想マシン名は、アプリケーションサービスを構成するコンポーネント情報を含む。
本発明の一形態に係る仮想マシン制御方法は、配置予定の仮想マシン名リストと仮想マシンを配置可能なホストマシン名リストに基づき、仮想マシンの運用性制約を生成し、生成された運用性制約を含む制約に基づき、対象の仮想マシンの配置を決定し、ホストマシン名は、データセンタにおける各ホストマシンのロケーション情報を含み、仮想マシン名は、アプリケーションサービスを構成するコンポーネント情報を含む。
本発明の一形態に係る仮想マシン制御プログラムを記録したコンピュータ読み取り可能な記録媒体は、コンピュータに、配置予定の仮想マシン名リストと仮想マシンを配置可能なホストマシン名リストに基づき、仮想マシンの運用性制約を生成する処理と、生成された運用性制約を含む制約に基づき、対象の仮想マシンの配置を決定する処理とを実現させるプログラムであって、ホストマシン名は、データセンタにおける各ホストマシンのロケーション情報を含み、仮想マシン名は、アプリケーションサービスを構成するコンポーネント情報を含む。
本発明の一形態に係るデータセンタは、仮想マシン制御装置を備え、仮想マシン制御装置は、配置予定の仮想マシン名リストと仮想マシンを配置可能なホストマシン名リストに基づき、仮想マシンの運用性制約を生成する生成手段と、生成された運用性制約を含む制約に基づき、対象の仮想マシンの配置を決定する決定手段と、を備え、ホストマシン名は、データセンタにおける各ホストマシンのロケーション情報を含み、仮想マシン名は、アプリケーションサービスを構成するコンポーネント情報を含む。
本発明によれば、システムの運用管理を反映した仮想マシンの配置決定が可能な仮想マシン制御装置、仮想マシン制御方法とそのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することができる。
本発明の実施の形態である仮想マシン制御装置をデータセンタに適用した概略図である。 本発明の第1の実施形態である仮想マシン制御装置の構成を示すブロック図である。 本発明の第1の実施形態である仮想マシン制御装置の動作を示すフローチャート図である。 本発明の第2の実施形態である仮想マシン制御装置の構造を示すブロック図である。 第2の実施形態における仮想マシン制御装置の生成部の構成を示すブロック図である。 本発明の第2の実施形態における仮想マシン制御装置の動作を示すフローチャートである。 第2の実施形態における仮想マシン制御装置の決定部の動作を示すフローチャートである。 第2の実施形態における仮想マシン制御装置の順序制約生成部の動作を示すフローチャートである。 本発明の第2実施形態におけるホストマシン名リストの一例を示す図である。 本発明の第2実施形態における仮想マシン名リストの一例を示す図である。 本発明の第2実施形態におけるホストマシンにおけるリソース制約の一例を示す図である。 本発明の第2実施形態における仮想マシンにおけるリソース制約の一例を示す図である。 比較例であるリソース制約に基づいた仮想マシン配置情報の一例を示す図である。 ホストマシン名集合および順序規則によって分類されたホストマシン名の一例を示す図である。 仮想マシン名集合および順序規則によって分類された仮想マシン名の一例を示す図である。 仮想マシン名集合および順序規則によって分類された仮想マシン名の一例を示す図である。 運用性制約を反映して決定した仮想マシン配置情報の一例を示す図である。 本発明の第3の実施形態である仮想マシン制御装置の構成を示すブロック図である。 本発明の第3の実施形態である仮想マシン制御装置の動作を示すフローチャートである。 本発明の第3の実施形態である仮想マシン制御装置の動作を示すフローチャートである。 本発明の第4の実施形態である仮想マシン制御装置の構成を示すブロック図である。 本発明の第4の実施形態である仮想マシン制御装置の動作を示すフローチャートである。 本発明の第1〜4の実施形態における仮想マシン制御装置10、又は、ホストマシン30A、30B、30Cをコンピュータ装置で実現したハードウエア構成を示すブロック図である。
本発明の実施の形態について図面を参照して詳細に説明する。
本実施の形態における仮想マシンは、仮想化技術によって物理的なコンピュータの中で動作する論理的なマシンであり、独立したOSを持つことができ物理的なコンピュータ(以下、ホストマシン)と同様に動作する。
仮想マシンの動作に必要なリソースは、ホストマシンのリソースを、ホストマシンの中で動作する複数の仮想マシンで共有する。各仮想マシンは、割り当てられた仮想的なリソースを使用しアプリケーション等を実行する。
<データセンタ>
図1は、本発明の実施の形態である仮想マシン制御装置をデータセンタに適用した一例の概略図である。
図中、データセンタ20は、仮想マシン制御装置10、および、ホストマシン30A、30B、30Cを備える。仮想マシン制御装置10は、仮想マシンの配置要求に基づき、仮想マシンの配置制約を反映して、ホストマシン30A、30B、30Cへの仮想マシンの配置を決定する。
図1は、仮想マシン制御装置10による仮想マシンの配置決定によって、ホストマシン30A、30B、30Cのそれぞれに仮想マシン40A、40B、40Cを配置した例を示す。また、図中、複数の仮想マシン40A、40B、40Cの連携によって動作するアプリケーションサービス80の例が示されている。アプリケーションサービス80を構成するコンポーネント(個別プログラム50A、50B、50C)が仮想マシン40A、40B、40Cで実行されることでアプリケーションサービス80のサービスが提供される。
<第1の実施形態>
次に、本発明の第1の実施形態である仮想マシン制御装置10に用いる仮想マシン配置制御部5について図面を参照して詳細に説明する。
[構成の説明]
図2は、本発明の第1の実施形態の仮想マシン制御装置10に用いる仮想マシン配置制御部5の構成を示すブロック図である。第1の実施形態の仮想マシン配置制御部5は、生成部1と決定部2を備える。
図中、仮想マシン配置制御部5の生成部1は、配置予定の仮想マシン名が記述されたリスト(以下、仮想マシン名リストと示す)と仮想マシンを配置可能なホストマシン名が記述されたリスト(以下、ホストマシン名リストと示す)を入力データとして入力する。更に生成部1は、これらリストの情報に基づき、仮想マシンの配置を決定するための運用性制約を生成する。
リストに記述された各ホストマシン名、および、各仮想マシン名には、それぞれホストマシン、および、仮想マシンの識別情報を含む名前が付与される。更に、運用管理情報として、ホストマシン名には、データセンタにおける各ホストマシンのロケーション情報が付与され、仮想マシン名には、仮想マシンが実行するアプリケーションサービスを構成するコンポーネント情報が付与される。
運用性制約は、仮想マシンの配置決定後、運用管理者がホストマシンと仮想マシンとの関係を把握し易くするための制約である。運用性制約の例としては、集合制約、あるいは、順序制約がある。集合制約は、例えば、「仮想マシンの集合V1{v1、v2、v3}を、ホストマシンの集合H1{h1、h2}、集合H2{h3、h4}、又は、集合H3{h5、h6}の何れか一つに収まるように配置する」という仮想マシンの配置の纏まりを規定する。集合制約は、例えば、「仮想マシンの集合V1{v1、v2、v3}を、ホストマシンの集合H1{h1、h2}、集合H2{h3、h4}、又は、集合H3{h5、h6}の何れか一つに収まるように配置する」という仮想マシンの配置の纏まりを規定する。ここでv1〜v5はそれぞれ仮想マシンを表し、h1〜h6はそれぞれホストマシンを表す。順序制約は、例えば、v1、v2、v3を、この順番でホストマシンの集合H1{h1、h2}に配置する」という仮想マシンの配置順序を規定する。
仮想マシン配置制御部5の決定部2は、生成部1で生成された運用性制約を含む制約を参照し、制約を満たす仮想マシンの配置を決定する。運用性制約以外の制約としては、例えば、仮想マシン又はホストマシンにおけるリソース制約などがある。
[動作の説明]
図3は、本発明の第1の実施形態である仮想マシン制御装置10に用いる仮想マシン配置制御部5の動作を示すフローチャートである。
はじめに、仮想マシン配置制御部5の生成部1は、仮想マシン名リストとホストマシン名リストを入力データとして入力する(S1)。
次に、仮想マシン配置制御部5の生成部1は、仮想マシン名リストとホストマシン名リストの情報に基づき、仮想マシンの配置を決定するための運用性制約を生成する(S2)。
仮想マシン配置制御部5の決定部2は、生成部1により生成された運用性制約を含む制約を参照し、制約を満たす仮想マシンの配置を決定する(S3)。これにより決定部は、仮想マシンの配置情報を出力する。
[効果の説明]
本発明の第1の実施形態の仮想マシン制御装置10に用いる仮想マシン配置制御部5は、運用管理情報が反映されたホストマシン名、および、仮想マシン名に基づき運用性制約を生成し、生成した運用性制約を用いて仮想マシンの配置を決定する。これにより、第1の実施形態における仮想マシン制御装置10に用いる仮想マシン配置制御部5は、運用管理に基づく仮想マシンの配置決定が可能となる。
<第2の実施形態>
次に、本発明の第2の実施形態の仮想マシン制御装置10について図面を用いて詳細に説明する。
[構成の説明]
図4は、本発明の第2の実施形態である仮想マシン制御装置10の構成を示すブロック図である。図中、第2の実施形態である仮想マシン制御装置10は、入力部13、生成部11、決定部12、抽出部14、記憶部15、及び、出力部16を備える。
仮想マシン制御装置10の入力部13は、仮想マシン名リストを生成部11へ送る。なお、本実施形態では仮想マシン名リストは仮想マシン配置要求中に記述される例として説明するが、これに限らず仮想マシン配置要求の情報に基づいて入力部13が仮想マシン名リストを作成してもよい。
仮想マシン制御装置10の記憶部15は、ホストマシン構成情報151、配置制約情報152、運用性制約情報153を記憶する。ここでホストマシン構成情報151は、データセンタ内に設置される各ホストマシンの構成を表す情報である。ホストマシン構成情報151は、データセンタ内のホストマシンの増設又は撤去、あるいは、各ホストマシンの性能変化に応じて書き換えられる。また配置制約情報152は、仮想マシンの配置制約を記述した情報である。配置制約は、ホストマシン、仮想マシンのリソース制約、あるいは、仮想マシンの組合せに関するコロケーション制約などである。
リソース制約は、ホストマシンが仮想マシンへ提供できるリソースの情報(例えば、ホストマシンで利用可能なCPUのコアの数が4個、ホストマシンで提供できるメモリの総量が16GB(ギガバイト))である。他のリソース制約は、仮想マシンが要求するリソースの情報(仮想マシンAを配置できるのは10Gbit/secのネットワークインタフェースを持つホストマシンに限る)である。
コロケーション制約は、例えば、「仮想マシンAと仮想マシンBは別のホストマシンに配置する」、あるいは、「仮想マシンCはホストマシンX、又は、ホストマシンYに配置する」である。他のコロケーション制約は、例えば、「仮想マシンDはネットワークZに接続されたホストマシンZに配置する」である。
運用性制約情報153は、生成部11で生成される運用性制約を記述した制約情報である。
仮想マシン制御装置10の抽出部14は、記憶部15のホストマシン構成情報151に基づき仮想マシンを配置可能なホストマシンを抽出し、ホストマシン名リストとして生成部11へ送る。なお、本実施形態では、抽出部14から生成部11にホストマシン名リストを送る例で説明するが、これに限られるものではなく、記憶部15に記憶されたホストマシン名リストを生成部11が読み込んでもよい。
仮想マシン制御装置10の生成部11は、入力された仮想マシン名リスト、および、ホストマシン名リストを参照して運用性制約を生成する。
決定部12は、記憶部15に格納されたホストマシン構成情報151、配置制約情報152および運用性制約情報153を参照し、所定の制約を満たす仮想マシン配置情報を決定する。
出力部16は、決定部12で決定された仮想マシンの配置情報を、仮想マシンの配置先となる所定のホストマシンへ出力する。
ここで、第2の実施形態における仮想マシン制御部10の生成部11の具体的な構成について図5を用いて詳細に説明する。
図5は、仮想マシン制御部10の生成部11の構成の一例を示すブロック図である。
生成部11は、類似性判定部110、集合作成部111、順序規則特定部112、及び、順序制約生成部113を備える。
類似性判定部110は、生成部11に入力されたホストマシン名リストと仮想マシン名リストに対し、リスト中のホストマシン名と仮想マシン名のそれぞれの類似性を判定する。各マシン名の類似性を判定するための具体的な内容は後に説明する。
集合作成部111は、類似性判定部110によるホストマシン名、あるいは、仮想マシン名の類似性に基づいてホストマシン名の集合H、あるいは、仮想マシン名の集合Vを作成する。
ホストマシン名の集合Hは、H={h1、h2、・・・、hn}[nは1以上の整数]として表される。例えば、集合H{h1}は、ホストマシン名の集合Hにホストマシンh1が1台あることを表し、集合H{h2、h3、h4}は、ホストマシン名の集合Hにホストマシンh2、h3およびh4が3台あることを示す。なお、ホストマシン名の集合が、H1、H2のように複数ある場合、ホストマシンh1、h2、・・・、hnは、ホストマシン名の集合間で排他的に作成される。また、仮想マシン名の集合Vは、V={v1、v2、・・・、vt}[tは1以上の整数]として表される。例えば、集合V{v1、v2、v3}は、仮想マシン名の集合Vに仮想マシンv1、v2、v3が3台あることを示す。なお、仮想マシン名の集合がV1、V2のように複数ある場合、仮想マシンv1、v2、・・・、vtは、仮想マシン名の集合間で排他的に作成される。
次に、規則特定部112は、作成されたホストマシン名の集合H、又は、仮想マシン名の集合Vに対し、それぞれ集合におけるホストマシン名、又は、仮想マシン名の順序規則を特定する。
最後に、順序制約生成部113は、配置順序規則を仮想マシン配置に反映させるための配置制約を生成する。
[動作の説明]
次に、図6を参照して第2の実施形態である仮想マシン制御装置の動作について詳細に説明する。
図6は、仮想マシン制御装置10の動作の一例を示すフローチャートである。
はじめに、仮想マシン制御装置10の入力部13は、配置予定の仮想マシンの情報が記述された仮想マシン配置要求を受け付ける(A1)。
入力部13は、仮想マシン配置要求から仮想マシン名リストを作成し生成部11に送る(A2)。
次に、抽出部14は、記憶部15のホストマシン構成情報151から仮想マシンを配置可能なホストマシン名リストを作成し生成部11へ送る(A3)。
生成部11は、ホストマシン名リストと仮想マシン名リストの情報に基づき、ホストマシン名および仮想マシン名におけるそれぞれの類似性と規則性を特定する(A4)。
続いて生成部11は、特定した「類似した名前の集合」と「集合における名前の順序規則」に基づいて仮想マシンの配置決定のための運用性制約を生成し(A5)、記憶部15に格納する(A6)。
運用性制約は、データセンタの運用管理者が、配置決定後の仮想マシンとホストマシンの関係を把握しやすくするための配置制約の一つである。配置制約の例としては、「仮想マシン名の集合V1はホストマシン名の集合H1、H2、H3の何れか一つに収まるように配置する」という集合制約がある。その他に「仮想マシンv1、v2、v3はこの順番でホストマシン名の集合H1{h1、h2、h3}に配置する」という順序制約がある。
次に、決定部12は、記憶部15からホストマシン構成情報151と、配置制約情報152と、運用性制約情報153を参照する(A7〜A9)。ホストマシン構成情報151は、仮想マシンの配置先となるホストマシンの構成を示す情報である。本実施形態において、ホストマシンは、データセンタ内のマシンである。
決定部12は制約プログラミングを解く処理によって与えられた制約を満たす仮想マシン配置を決定する(A10)。制約プログラミングによる仮想マシンの配置決定は、既知の技術を適用することができる(例えば、非特許文献1を参照)。
出力部16は、決定部12で決定された仮想マシンの配置情報を配置先となるホストマシンへ出力する(A11)。
次に、第2の実施形態である仮想マシン制御装置10の生成部11の動作について図7と図8を用いて詳細に説明する。
図7は、図5の構成を備えた生成部11が、順序規則に基づく運用性制約を生成する動作を示すフローチャートである。
はじめに、生成部11の類似性判定部110は、仮想マシン名リストを取得し(B1)、取得した仮想マシン名リストから仮想マシン名の類似性を判定する。
次に、類似性判定部110の判定後、生成部11の集合作成部111は、仮想マシン名リストの中で類似した仮想マシン名の集合Vを作成する(B2)。
類似性判定部110における仮想マシン名の類似性の判定は、仮想マシン名の文字列のうち、部分文字列の一致を検索し一致する文字列の長さで類似度を決める方法を用いる。なお、仮想マシン名の類似性の判定は、これに限られるものではなくレーベンシュタイン距離などの二つの文字列の間の距離を測定して類似度を計算し、類似度の高いものを集合とする方法を用いてもよい。
次に、類似性判定部110は、ホストマシン名リストを取得し(B3)、取得したホストマシン名リストからホストマシン名の類似性を判定する。
続いて、類似性判定部110による判定後、集合作成部111は、ホストマシン名リストの中で類似したホストマシン名の集合Hを作成する(B4)。
次に、生成部11の順序規則特定部112は、各仮想マシン名の集合Vを取得し(B5)、仮想マシン名の順序規則を特定する(B6)。
順序規則には、1、2、3、という数値の昇順、又は、A、B、Cというアルファベット順が含まれる。単純に集合内に含まれる仮想マシン名を辞書順に並べて順序規則としてもよい。
生成部11の順序制約生成部113は、特定した順序に基づいて仮想マシン配置を決定するための運用性制約を生成する(B7)。順序制約生成部113は、この処理を未処理の集合Vが無くなるまで繰り返す(B8)。
次に、順序制約生成部113は、各仮想マシン名の集合Vと同様に、各ホストマシン名の集合Hを取得し、ホストマシン名の順序規則を特定し、順序規則に基づいて仮想マシン配置を行う運用性制約を作成する(B9〜B12)。
順序制約とは、例えば、仮想マシンv1、仮想マシンv2、仮想マシンv3を各ホストマシンに配置する必要がある時に、ホストマシンの集合H1に含まれるホストマシンh1、ホストマシンh2、ホストマシンh3に対してh1→h2→h3という順番で仮想マシンを配置するという制約である。順序制約によって配置順序に秩序ができるため、運用管理者がホストマシンと仮想マシンとの関係を把握がしやすい仮想マシンの配置決定が可能となる。
図8は、生成部11の順序制約生成部113における動作を示すフローチャートである。順序制約生成部113は、順序規則特定部112により特定された仮想マシン名の集合V、および、ホストマシン名の集合Hに対して、仮想マシン名の集合Vをホストマシン名の集合Hに割り当てる運用性制約を生成する(C1〜C4)。順序制約生成部113は、この処理を未処理の集合Vがなくなるまで繰り返す(C5)。
割り当て方法はどのような方法でもよく、仮想マシン名の集合Vを複数のホストマシン名の集合H1、H2に割り当てても良い。ただし、各仮想マシン名の集合Vが何れか一つ以上のホストマシン名の集合Hに割り当てられるように運用性制約を生成することが好ましい。
類似した、あるいは、順序規則が定まった仮想マシンの集合Vはシステムの運用管理者の管理単位を反映することができる。また、生成部11は、この管理単位を共通のホストマシン集合Hに配置するように限定することができる。その結果、運用管理者にとって管理が容易となる仮想マシンの配置を得ることができる。
次に、上記の第2の実施形態である仮想マシン制御装置について、具体例を用いて説明する。
図9Aは、仮想マシンを配置可能なホストマシン名が記述されたホストマシン名リスト、および、図9Bは、配置予定の仮想マシン名が記述された仮想マシン名リストの一例である。
仮想マシン名リストは、仮想マシンの配置要求により仮想マシン制御装置10に与えられる。ホストマシン名リストは、ホストマシン構成情報151として予め仮想マシン制御装置10の記憶部15に格納される。なお、ホストマシン名リストは、仮想マシンの配置要求により仮想マシン制御装置10に与えられてもよい。
次に、ホストマシン名リストおよび仮想マシン名リストを具体的な例を用いて説明する。
図9Aに示すように、6台のホストマシン名が、ホストマシン名リストに含まれている。6台のホストマシン名は、何れも「DC1−XXXX−YYY」という形式で記述される。このホストマシン名の記述は、“DC1”がデータセンタの識別子を表し、“XXXX”がデータセンタ内のフロア識別子およびラック識別子を表し、“YYY”がホストマシンの識別子を表す。
図9Aの例では、ホストマシン名「DC1−0305−010」は、第1データセンタの3階フロア・第5ラックの第10ホストマシンであることを示す。これらホストマシン名の形式は、例えば、データセンタのシステム構成時に運用管理者等による操作に基づき決定されることが好ましい。
一方、図9Bに示す配置予定の仮想マシン名リストには、11個の仮想マシン名が含まれる。これらの仮想マシン名は、何れも「AAA−BBB−CCC」という形式で記述される。この例では、仮想マシン名として、アプリケーションサービスを構成するコンポーネント情報を用いる。仮想マシン名の形式は、「AAA」がアプリケーションサービス名を表し、「BBB」がアプリケーションサービスを構成するコンポーネント名を表し、「CCC」がコンポーネントの通し番号を表す。
図9Bにおける仮想マシン名「SRV1−WEB1−002」は、第1サービスとしてWEB1アプリケーションサービスを構成するコンポーネント番号002を表す。なお、図9B中の「APP」は、アプリケーションを表し、「DB」は、データベースを表す。なお、「BBB」は、「WEB」又は「APP」のようなアプリケーションサービスの機能を示すコンポート名でなくてもよく、例えば、「COM1」、「COM2」のようなコンポーネントを示す「COM」に識別番号を加えたものでものよい。コンポーネント名また仮想マシン名の形式は、仮想マシンが実行するアプリケーションに応じて運用管理者等により決定しておくことが好ましい。
次に、配置予定の仮想マシンを配置先のホストマシンに配置する場合を考える。配置決定に際しては、ホストマシンで利用可能なリソースの量と、各仮想マシンが要求するリソースの量を対応させる必要がある。つまり、配置先のホストマシンで利用可能なリソース量を越えないように配置予定の仮想マシンをホストマシンに配置する必要がある。
図10Aは、ホストマシンのリソース制約を示し、図10Bは、仮想マシンのリソース制約の例を示す。図10Aに示すホストマシンのリソース制約は、ホストマシンごとに利用可能なリソースの量を示す。図10Aの例では、配置先のホストマシンは、4つのCPUコアを持ち、及び、12GB(Giga Byte)のメモリ容量というリソース制限を持つ。リソース制約はCPUコア数又はメモリ容量の他に、NIC(Network Interface card)の数、記憶ディスクの記録容量、又は、I/O(Input/Output)帯域を含んでもよい。
一方、図10Bに示す仮想マシンリソース制約は、各仮想マシンが要求するリソースの量を示している。例えば、サービスSRV1のWEBコンポーネントは、1つのCPUコア、2GBのメモリ容量を要求することがわかる。
上記のようなリソース制約を満すように仮想マシン配置を決定する場合、先行技術文献の特許文献1のように性能又はコスト要件に基づいて、できるだけ少ないホストマシンに仮想マシンを集約させるという方針がある。
図11は、比較例である特許文献1の仮想マシン配置法を用いて、リソース制約を満たすように仮想マシンをホストマシンに配置した例である。特許文献1の配置法によって、6台中5台のホストマシンに仮想マシンが集約される。
しかし、図11の配置例では、各ホストマシンにサービスSRV1とサービスSRV2の仮想マシンが混在する形で配置されており、運用管理の観点からすると見通しが悪い。
また、比較例では、アプリケーションのコンポーネント番号に関係なく仮想マシンの配置が決まる。例えば、仮想マシン名「SRV2−COM1−001」である仮想マシンと、仮想マシン名「SRV2−COM1−002」である仮想マシンは、そのアプリケーションの関連性が反映されることなくホストマシンに配置される。このため、運用管理者は、コンポーネントの集合を特定することが難しい。
比較例では、「DC1−0101−*」のホストマシンと「DC1−0305−*」のホストマシンは、第1データセンタ内の異なるフロアにある。このため、SRV1とSRV2が異なるフロアにまたがって配置される。したがって障害が発生した場合、運用管理者はホストマシンの復旧作業のために異なるフロアを往復しなければならず、運用性を著しく損なうことになる。
これに対し、本発明の各実施の形態は、仮想マシン制御装置の生成部によりホストマシン名/仮想マシン名に基づいた運用性制約を生成し、ホストマシン名は、データセンタにおける各ホストマシンのロケーション情報を含む。さらに仮想マシン名は、アプリケーションサービスを構成するコンポーネント情報を含んでいる。このため、仮想マシンの配置決定で運用性を反映した仮想マシンの配置が可能となる。
以下、第2の実施形態である仮想マシン制御装置に図9Aのホストマシン名リスト、図9Bの仮想マシン名リストを用いた例を説明する。
はじめに、仮想マシン制御装置10の生成部11は、ホストマシン名の類似性を判定する。これにより、生成部11は、「DC1−0101」と「DC1−0305」というホストマシン名の集合を生成する。ホストマシン名の集合は、各ホストマシン名に対して、部分的な文字列一致を検索することで取得できる。
同様に、生成部11は、仮想マシン名の類似性を判定し、「SRV1−WEB1」、「SRV1−APP1」「SRV1−DB」、「SRV2−COM1」、「SRV2−COM2」、及び、「SRV2−COM3」という仮想マシン名の集合を生成する。
次に、生成部11は、ホストマシン名の集合、および、仮想マシン名の集合に対して、順序規則の特定を行う。
仮想マシン名の集合のうち、仮想マシン名の最後の文字列に着目する。文字列は、3桁の番号が付与されており、生成部11は、これを仮想マシン名の順序として特定する。この場合、単純に辞書順にソートするだけでも順序を特定できる。
以上のようにして、ホストマシン名および仮想マシン名はそれぞれ図12、図13A、及び、図13Bに示す体系として表現できる。
図12、図13A、及び、図13Bに示す体系は、そのまま運用管理の体系を反映しているため、この体系を仮想マシン配置に反映することが運用管理にとって望ましい。
第2の実施形態における仮想マシン制御装置10の生成部11は、ある仮想マシンの集合における特定の順序規則を、仮想マシンの配置の順番として反映させた運用性制約を生成することができる。例えば、生成部11は、図12に示すホストマシンの集合「DC1−0101」で「DC1−0101−001」、「DC1−0101−002」、「DC1−0101−003」、「DC1−0101−004」の順に仮想マシンを配置する制約を生成できる。
また、第2の実施形態における仮想マシン制御装置10の生成部11によって、仮想マシンの集合に属する仮想マシンが共通のホストマシンの集合に配置するように運用性制約を生成することができる。
仮想マシン制御装置10の決定部12は、この運用性制約を参照して仮想マシン配置を決定する。これにより、リソース制約を満たし、かつ運用性制約を満たす仮想マシン配置情報を決定することができる。
図14は運用性制約を反映して決定した仮想マシンの配置情報の例である。運用性制約に基づき、サービスSRV1は「DC1−0101」のホストマシン集合に集約されており、サービスSRV2は「DC1−0305」のホストマシン集合に集約される。図14の配置情報によれば、データセンタのフロアごとに仮想マシンが配置されるサービスが異なるため、運用性の向上が期待できる。
また、「DC1−0101−001」、「DC1−0101−002」の順に「SRV1−WEB1」の仮想マシン集合のコンポーネントが配置されており、「SRV1−WEB1」の仮想マシン集合に4台の仮想マシンが配置されることを容易に把握できる。
さらに、図14に示す運用性を反映した配置情報は、リソース制約を満たす比較例と同等の5台のホストマシンに仮想マシンを集約することもできる。
[効果の説明]
本発明の第2の実施形態における仮想マシン制御装置10は、生成部11によって、ホストマシン名と仮想マシン名に基づく集合制約と順序制約を含む運用性制約が生成される。これにより、システムの運用管理者は、システムの管理単位での運用性制約を得ることができ、運用性を反映した仮想マシン配置を決定できる。
なお、本実施の形態における生成部11では、順序規則特定部112、あるいは、順序制約生成部113を用いた例を記載しているが、運用性制約をゆるくしてもよい場合は、仮想マシンの順序規則又はホストマシンへの配置順序のいずれか一方を採用した運用性制約でもよい。
<第3の実施形態>
次に、本発明の第3の実施形態である仮想マシン制御装置60について図面を用いて詳細に説明する。第3の実施形態の仮想マシン制御装置は、運用性制約を生成する際に、配置予定の仮想マシンの情報に加えて、配置済みの仮想マシンの情報を用いる点で、第2の実施形態の仮想マシン制御装置と異なる。
[構成の説明]
図15は、本発明の第3の実施形態である仮想マシン制御装置60の構成を示すブロック図である。図中、第3の実施形態の仮想マシン制御装置60は、入力部63と、生成部61、決定部62、抽出部64と、記憶部65、出力部66を備える。
仮想マシン制御装置60の入力部63には、仮想マシンの配置要求が入力され、配置要求に記載された配置予定の仮想マシンの情報は生成部61に送られる。
仮想マシン制御装置60の記憶部65は、配置制約情報652と仮想マシン配置情報654を記憶する。仮想マシン配置情報654は、現在、ホストマシンに配置された仮想マシンの配置構成の情報である。
抽出部64は、仮想マシン配置情報654から、対象となる配置済みの仮想マシン名リスト、および、ホストマシン名リストを作成し、生成部61へ送る。
生成部61は、配置予定の仮想マシン名リストと、抽出部64で抽出された仮想マシン名リストとホストマシン名リストを参照して運用性制約を生成する。
第3の実施形態における生成部61の類似性判定部は、第2の実施形態の生成部11の類似性判定部110と同様に、ホストマシン名と仮想マシン名のそれぞれの類似性を判定する。さらに生成部61の集合作成部は、第2の実施形態の生成部11の集合作成部111と同様に、ホストマシン名と仮想マシン名のそれぞれの類似性に基づいた集合を作成する。
生成部61の順序規則特定部は、第2の実施形態の生成部11の順序規則特定部112と同様に、類似性判定部と集合作成部で作成されたホストマシン名の集合、および、仮想マシン名の集合内で名前の順序規則を特定する。生成部61の順序制約生成部は、第2の実施形態の生成部11の順序制約生成部113と同様に、その順序規則を仮想マシン配置に反映させるための配置制約を生成する。
記憶部65には、生成部61によって生成された運用性制約が運用性制約情報653として格納される。記憶部65の配置制約情報652は、仮想マシンの配置を決定する際に反映する制約であり、仮想マシン及びホストマシンのリソース制約、又は、仮想マシン間のコロケーション制約などが該当する。
決定部62は、運用性制約と配置制約と現在の仮想マシン配置の情報を参照し、制約を満たす仮想マシン配置を決定する。
出力部66は、決定部62が決定した仮想マシン配置の結果を出力する。
[動作の説明]
図16、図17は、本発明の第3の実施形態である仮想マシン制御装置の動作を示すフローチャートである。
入力部63は、仮想マシンの配置要求を入力し(D1)、配置要求の情報に基づき配置予定の仮想マシン名リストを抽出し(D2)、生成部61へ送る。
次に、抽出部64は、記憶部65に記憶された仮想マシン配置情報654からホストマシン名リスト、および、配置済みの仮想マシン名リストを抽出する(D3)。
次に、生成部61は、仮想マシンの配置要求に配置済みの仮想マシンがあるかを判断し(D4)、配置済みの仮想マシンが含まれる場合は、生成部61は、配置予定の仮想マシン名リストと配置済みの仮想マシン名リストをマージする(D5)。配置済みの仮想マシンが含まれない場合は、次の類似性と規則性の特定の手順へ進む。
生成部61は、取得したホストマシン名リストと仮想マシン名リストから、名前の類似性と規則性を特定し、仮想マシン配置のための運用性制約を生成し(D6、D7)、生成した運用性制約を運用性制約情報653として記憶部65に格納する(D8)。
図17に示すように、生成部61は、記憶部65から現在の仮想マシン配置情報654を取得する(D9)。
ここで、仮想マシンの配置要求に配置済みの仮想マシンが含まれている場合、生成部61は、配置済みの仮想マシン名の情報を配置予定の仮想マシン名リストに追加する(D10、D12)。
配置要求に配置済みの仮想マシンが含まれていない場合、生成部61は、配置済みの仮想マシンが利用しているリソースを他の仮想マシンに割り当てないように配置制約を生成し(D11)、配置制約情報652とマージする。
次に、決定部62は配置制約情報652を参照し(D13)、また、生成された運用性制約を参照し(D14)、制約プログラミングを解く処理によって与えられた制約を満たす仮想マシン配置を決定する(D15)。
決定された仮想マシン配置は、出力部66から出力される(D16)。
[効果の説明]
本発明の第3の実施形態である仮想マシン制御装置60は、配置予定の仮想マシンと現在、配置済みの仮想マシンに基づいて運用性制約を生成し、生成された運用性制約を含む制約に基づき仮想マシン配置を決定する。このような構成により、現在、配置済みの仮想マシンの配置構成を反映した仮想マシンの配置決定が可能となる。配置済みの仮想マシンの配置構成を用いた管理上の制約を維持し運用性を低下させない仮想マシン配置を得ることができる。
<第4の実施形態>
次に、本発明の第4の実施形態である仮想マシン制御装置について図面を参照して詳細に説明する。第4の実施形態の仮想マシン制御装置は、仮想マシン制御装置の決定部がその構成として探索部、スコア計算部、選択部を備える点で相違する。第2の実施形態の仮想マシン制御装置と同じ構成・動作については、詳細な説明を省略する。
[構成の説明]
図18は、本発明の第4の実施形態である仮想マシン制御装置の構成を示すブロック図である。図中、第4の実施形態である仮想マシン制御装置70は、入力部73、生成部71、抽出部74、記憶部75、出力部76、探索部77、スコア計算部78、及び、選択部79を備える。
仮想マシン制御装置70の記憶部75は、ホストマシン構成情報751、配置制約情報752、および、生成部71で生成された運用性制約情報753を記憶する。
仮想マシン制御装置70の探索部77は、記憶部75に記憶されたホストマシン構成情報751、配置制約情報752、および、運用性制約情報753を参照し、制約を充足する仮想マシン配置の候補を複数決定する。
仮想マシン制御装置70のスコア計算部78は、運用性制約情報753と仮想マシンの配置制約情報752を参照して、探索部77で決定された複数の仮想マシン配置情報ごとに、制約を満たす度合いを計算する。
仮想マシン制御装置70の選択部79は、複数の仮想マシン配置情報に対して制約の充足度に基づいてスコア付を行い、複数の仮想マシン配置情報から一つを選択する。複数の仮想マシンからの選択は、例えば、最も高いスコアを基準とする。
[動作の説明]
図19は、本発明の第4の実施形態である仮想マシン制御装置の動作を示すフローチャートである。仮想マシン配置要求を入力として運用性制約を生成する動作は第2の実施形態のフローチャートの動作と同様である。
生成部71による運用性制約の生成後、探索部77は、記憶部75からホストマシン構成情報751(E1)と、配置制約情報752(E2)と、運用性制約情報753(E3)を参照し、配置制約と運用性制約の中で必ず満たすべき制約を充足する仮想マシン配置情報の候補を探索する(E4)。
必ず満たすべき制約であるか否かは、ユーザによって事前に指定されるものとする。
以上のようにして得られた複数の仮想マシン配置情報の中から各仮想マシン配置情報の候補を取り出す(E5)。
スコア計算部78は、仮想マシンの配置制約と運用性制約の充足度を調べ、各仮想マシン配置情報の候補のスコアを計算する(E6)。なお、「仮想マシン名の集合Vを可能な限りホストマシン名の集合Hに配置する」という制約がある場合、スコア計算部78は、ホストマシン名の集合Hに配置できた仮想マシンの数に基づくスコアを計算してもよい。
また、「仮想マシンv1、v2、v3、v4を可能な限り辞書順で配置する」という制約がある場合、スコア計算部78は、配置情報に含まれる仮想マシンv1、v2、v3、v4の出現順を列(v1、v2、v3、v4)に変換するために必要な置換処理の数に基づくスコアを計算してもよい。さらに、スコア計算部78は、仮想マシン配置の候補によって実現される他の非機能な要件、例えば、性能、あるいは、可用性などを数値的に計算してスコアとしてもよい。
次に、スコア計算部78は、所定の数の仮想マシン配置情報の候補に対するスコアを計算した後(E7)、選択部79は、計算の結果に基づいて仮想マシンの配置情報を選択する。配置情報の選択は、最も高いスコアの配置情報が好ましい(E8)。
最後に、選択された仮想マシン配置情報が出力部76から各ホストマシンへ出力される(E9)。
[効果の説明]
本発明の第4の実施形態である仮想マシン制御装置70は、必要な配置制約を充足した上で、可能な限り満たすべき配置制約、又は、運用性制約をできるだけ多く満たす仮想マシン配置を選択できるようになる。これにより、リソース制約や運用性制約を厳密に満たせない場合でも、可能な限り運用性を反映した仮想マシン配置を決定できる。
仮想マシン配置情報の候補が複数ある場合、又は、制約を完全に満たす仮想マシン配置情報が存在しない場合でも運用性を向上させる仮想マシン配置情報を決定することができる。
<ハードウエア構成>
図20は、本発明の第1〜4の実施形態における仮想マシン制御装置、又は、ホストマシンをコンピュータ装置で実現したハードウエア構成を示す図である。
図20に示すように、仮想マシン制御装置、又は、ホストマシンは、CPU91、ネットワーク接続用の通信I/F(InterFace)92、メモリ93、及び、プログラムを格納するハードディスク等の記憶部94を含み、システムバス97を介して入力部95及び、出力部96に接続される。
CPU91は、オペレーティングシステムを動作させて本発明の第1〜4の実施形態に係る仮想マシン制御装置又はホストマシンを制御する。またCPU91は、例えば、ドライブ装置に装着された記録媒体からメモリ93にプログラム、又は、データを読み出す。
また、CPU91は、例えば、各実施形態における生成部、決定部、入力部、抽出部を処理する機能を有し、プログラムに基づいて各種機能の処理を実行する。
記憶部94は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、又は半導体メモリ等である。記憶部94の一部の記憶媒体は、不揮発性記憶装置であり、そこにプログラムを記憶する。また、プログラムは、通信網に接続される。図示しない外部コンピュータからダウンロードされてもよい。
入力部95は、情報の入力に用いられ、出力部96はCPU91により処理された情報等を出力して確認するために用いられる。このように、本発明の各実施形態は、図20に示されるハードウエア構成によって実現される。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
[付記1]
配置予定の仮想マシンが記述された仮想マシン名リストと仮想マシンを配置可能なホストマシンが記述されたホストマシン名リストに基づき、前記配置予定の仮想マシンに対する運用性制約を生成する生成手段と、
前記生成された運用性制約を含む制約に基づき、前記配置予定の仮想マシンの配置を決定する決定手段と、を備え、
前記ホストマシン名は、前記ホストマシンのロケーション情報を含み、前記仮想マシン名は、アプリケーションサービスを構成するコンポーネント情報を含む、仮想マシン制御装置。
[付記2]
前記運用性制約が、仮想マシンの配置の纏まりを規定した集合制約、又は、仮想マシンの配置順序を規定した順序制約である、付記1記載の仮想マシン制御装置。
[付記3]
前記生成手段は、類似性判定手段と、集合作成手段と、備え、
前記類似性判定手段は、前記ホストマシン名リストと前記仮想マシン名リストに対し、リスト中のホストマシン名と仮想マシン名の類似性を判定し、
前記集合作成手段は、前記類似性判定手段によるホストマシン名、あるいは、仮想マシン名の類似性に基づいてホストマシン名の集合、あるいは、仮想マシン名の集合を作成する、付記1又は2記載の仮想マシン制御装置。
[付記4]
前記生成手段は、順序規則特定手段を備え、
前記順序規則特定手段は、作成されたホストマシン名の集合ごと、又は、仮想マシン名の集合ごとに、集合におけるホストマシン名、あるいは、仮想マシン名の順序規則を特定する、付記3記載の仮想マシン制御装置。
[付記5]
前記生成手段は、配置予定の仮想マシンの情報と、配置済みの仮想マシンとの情報に基づいて前記運用性制約を生成する、付記1から4のいずれかに記載の仮想マシン制御装置。
[付記6]
仮想マシンの配置要求に、配置要求に配置済みの仮想マシンが含まれていない場合は、配置済みの仮想マシンが利用しているリソースを他の仮想マシンに割り当てないように配置制約を生成する、付記1から4のいずれかに記載の仮想マシン制御装置。
[付記7]
前記決定手段は、探索手段、スコア計算手段、および、選択手段を備え、
前記探索手段は、記憶手段に記憶されたホストマシン構成情報、配置制約情報、および、前記生成手段で生成した運用性制約情報を参照し、制約を充足する仮想マシン配置の候補を複数決定し、
前記スコア計算手段は、運用性制約情報と仮想マシンの配置制約情報を参照して、前記探索手段で決定された複数の仮想マシン配置情報ごとに、制約を満たす度合いを計算し、
前記選択手段は、前記決定された複数の仮想マシン配置情報に対して制約の充足度に基づいてスコア付を行い、前記スコアに基づいて前記決定された複数の仮想マシン配置情報から一つを選択する、付記1から6のいずれかに記載の仮想マシン制御装置。
[付記8]
配置予定の仮想マシンが記述された仮想マシン名リストと仮想マシンを配置可能なホストマシンが記述されたホストマシン名リストに基づき、前記配置予定の仮想マシンに対する運用性制約を生成し、
前記生成された運用性制約を含む制約に基づき、前記配置予定の仮想マシンの配置を決定し、
前記ホストマシン名は、前記ホストマシンのロケーション情報を含み、前記仮想マシン名は、アプリケーションサービスを構成するコンポーネント情報を含む、仮想マシン制御方法。
[付記9]
コンピュータに、
配置予定の仮想マシンが記述された仮想マシン名リストと仮想マシンを配置可能なホストマシンが記述されたホストマシン名リストに基づき、前記配置予定の仮想マシンに対する運用性制約を生成する処理と、
前記生成された運用性制約を含む制約に基づき、前記配置予定の仮想マシンの配置を決定する処理と、を実現させる仮想マシン制御プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記ホストマシン名は、前記ホストマシンのロケーション情報を含み、前記仮想マシン名は、アプリケーションサービスを構成するコンポーネント情報を含む、仮想マシン制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
[付記10]
仮想マシン制御装置と、ホストマシンを備えるデータセンタであって、
前記仮想マシン制御装置は、
配置予定の仮想マシンが記述された仮想マシン名リストと仮想マシンを配置可能なホストマシンが記述されたホストマシン名リストに基づき、前記仮想マシンの運用性制約を生成する生成手段と、
前記生成された運用性制約を含む制約に基づき、前記配置予定の仮想マシンの配置を決定する決定手段と、を備え、
前記ホストマシン名は、前記データセンタにおける前記ホストマシンのロケーション情報を含み、前記仮想マシン名は、アプリケーションサービスを構成するコンポーネント情報を含む、データセンタ。
この出願は、2013年5月29日に出願された日本出願特願2013−112906号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
5 仮想マシン配置制御部
10、60、70 仮想マシン制御装置
1、11、61、71 生成部
2、12、62 決定部
13、63、73 入力部
14、64、74 抽出部
15、65、75 記憶部
16、66、76 出力部
20 データセンタ
30A、30B、30C ホストマシン
40A、40B、40C 仮想マシン
50A、50B、50C プログラム
77 探索部
78 スコア計算部
79 選択部
80 アプリケーションサービス
91 CPU
92 通信I/F
93 メモリ
94 記憶部
95 入力部
96 出力部
97 システムバス
110 類似性判定部
111 集合作成部
112 順序規則特定部
113 順序制約生成部
151、751 ホストマシン構成情報
152、652、752 配置制約情報
153、653、753 運用性制約情報
654 仮想マシン配置情報

Claims (9)

  1. 配置予定の仮想マシンが記述された仮想マシン名リストと仮想マシンを配置可能なホストマシンが記述されたホストマシン名リストに基づき、前記配置予定の仮想マシンに対する運用性制約を生成する生成手段と、
    前記生成された運用性制約を含む制約に基づき、前記配置予定の仮想マシンの配置を決定する決定手段と、を備え、
    前記ホストマシン名は、前記ホストマシンのロケーション情報を含み、前記仮想マシン名は、アプリケーションサービスを構成するコンポーネント情報を含み、
    前記生成手段は、類似性判定手段と、集合作成手段と、備え、
    前記類似性判定手段は、前記ホストマシン名リストと前記仮想マシン名リストに対し、リスト中のホストマシン名と仮想マシン名の類似性を判定し、
    前記集合作成手段は、前記類似性判定手段によるホストマシン名、あるいは、仮想マシン名の類似性に基づいてホストマシン名の集合、あるいは、仮想マシン名の集合を作成する、仮想マシン制御装置。
  2. 前記運用性制約が、仮想マシンの配置の纏まりを規定した集合制約、又は、仮想マシンの配置順序を規定した順序制約である、請求項1記載の仮想マシン制御装置。
  3. 前記生成手段は、順序規則特定手段を備え、
    前記順序規則特定手段は、作成されたホストマシン名の集合ごと、又は、仮想マシン名の集合ごとに、集合におけるホストマシン名、あるいは、仮想マシン名の順序規則を特定する、請求項1記載の仮想マシン制御装置。
  4. 前記生成手段は、配置予定の仮想マシンの情報と、配置済みの仮想マシンとの情報に基づいて前記運用性制約を生成する、請求項1から3のいずれかに記載の仮想マシン制御装置。
  5. 仮想マシンの配置要求に、配置要求に配置済みの仮想マシンが含まれていない場合は、配置済みの仮想マシンが利用しているリソースを他の仮想マシンに割り当てないように配置制約を生成する、請求項1から3のいずれかに記載の仮想マシン制御装置。
  6. 前記決定手段は、探索手段、スコア計算手段、および、選択手段を備え、
    前記探索手段は、記憶手段に記憶されたホストマシン構成情報、配置制約情報、および、前記生成手段で生成した運用性制約情報を参照し、制約を充足する仮想マシン配置情報の候補を複数決定し、
    前記スコア計算手段は、運用性制約情報と仮想マシンの配置制約情報を参照して、前記探索手段で決定された複数の仮想マシン配置情報ごとに、制約を満たす度合いを計算し、
    前記選択手段は、前記決定された複数の仮想マシン配置情報に対して制約の充足度に基づいてスコア付を行い、前記スコアに基づいて前記決定された複数の仮想マシン配置情報から一つを選択する、請求項1に記載の仮想マシン制御装置。
  7. コンピュータが、
    配置予定の仮想マシンが記述された仮想マシン名リストと仮想マシンを配置可能なホストマシンが記述されたホストマシン名リストに基づき、前記配置予定の仮想マシンに対する運用性制約を生成し、
    前記生成された運用性制約を含む制約に基づき、前記配置予定の仮想マシンの配置を決定し、
    前記ホストマシン名は、前記ホストマシンのロケーション情報を含み、前記仮想マシン名は、アプリケーションサービスを構成するコンポーネント情報を含み、
    前記ホストマシン名リストと前記仮想マシン名リストに対し、リスト中のホストマシン名と仮想マシン名の類似性を判定し、
    前記ホストマシン名、あるいは、仮想マシン名の類似性に基づいてホストマシン名の集合、あるいは、仮想マシン名の集合を作成する、
    仮想マシン制御方法。
  8. コンピュータに、
    配置予定の仮想マシンが記述された仮想マシン名リストと仮想マシンを配置可能なホストマシンが記述されたホストマシン名リストに基づき、前記配置予定の仮想マシンに対する運用性制約を生成する処理と、
    前記生成された運用性制約を含む制約に基づき、前記配置予定の仮想マシンの配置を決定する処理と、
    前記ホストマシン名リストと前記仮想マシン名リストに対し、リスト中のホストマシン名と仮想マシン名の類似性を判定する処理と、
    前記ホストマシン名、あるいは、前記仮想マシン名の類似性に基づいてホストマシン名の集合、あるいは、仮想マシン名の集合を作成する処理と、を実現させ、
    前記ホストマシン名は、前記ホストマシンのロケーション情報を含み、前記仮想マシン名は、アプリケーションサービスを構成するコンポーネント情報を含む、プログラム。
  9. 仮想マシン制御装置と、ホストマシンを備えるデータセンタであって、
    前記仮想マシン制御装置は、
    配置予定の仮想マシンが記述された仮想マシン名リストと仮想マシンを配置可能なホストマシンが記述されたホストマシン名リストに基づき、前記仮想マシンの運用性制約を生成する生成手段と、
    前記生成された運用性制約を含む制約に基づき、前記配置予定の仮想マシンの配置を決定する決定手段と、を備え、
    前記ホストマシン名は、前記データセンタにおける前記ホストマシンのロケーション情報を含み、前記仮想マシン名は、アプリケーションサービスを構成するコンポーネント情報を含み、
    前記生成手段は、類似性判定手段と、集合作成手段と、備え、
    前記類似性判定手段は、前記ホストマシン名リストと前記仮想マシン名リストに対し、リスト中のホストマシン名と仮想マシン名の類似性を判定し、
    前記集合作成手段は、前記類似性判定手段によるホストマシン名、あるいは、仮想マシン名の類似性に基づいてホストマシン名の集合、あるいは、仮想マシン名の集合を作成する、
    データセンタ。
JP2015519630A 2013-05-29 2014-05-21 仮想マシン制御装置、仮想マシン制御方法とプログラム、および、データセンタ Active JP6365536B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013112906 2013-05-29
JP2013112906 2013-05-29
PCT/JP2014/002665 WO2014192254A1 (ja) 2013-05-29 2014-05-21 仮想マシン制御装置、仮想マシン制御方法とそのプログラムを記録したコンピュータ読み取り可能な記録媒体、および、データセンタ

Publications (2)

Publication Number Publication Date
JPWO2014192254A1 JPWO2014192254A1 (ja) 2017-02-23
JP6365536B2 true JP6365536B2 (ja) 2018-08-01

Family

ID=51988306

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015519630A Active JP6365536B2 (ja) 2013-05-29 2014-05-21 仮想マシン制御装置、仮想マシン制御方法とプログラム、および、データセンタ

Country Status (3)

Country Link
US (1) US10157073B2 (ja)
JP (1) JP6365536B2 (ja)
WO (1) WO2014192254A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10505862B1 (en) * 2015-02-18 2019-12-10 Amazon Technologies, Inc. Optimizing for infrastructure diversity constraints in resource placement
JP7003692B2 (ja) * 2018-01-30 2022-01-20 富士通株式会社 情報処理装置,情報処理システムおよび制御プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1418501A1 (fr) * 2002-11-08 2004-05-12 Dunes Technologies S.A. Méthode d'administration d'applications sur des machines virtuelles
US9329905B2 (en) * 2004-10-15 2016-05-03 Emc Corporation Method and apparatus for configuring, monitoring and/or managing resource groups including a virtual machine
JP5110315B2 (ja) 2006-05-24 2012-12-26 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法およびプログラム
JP4995015B2 (ja) * 2007-09-13 2012-08-08 株式会社日立製作所 仮想計算機の実行可否検査方法
JP2010113677A (ja) * 2008-11-10 2010-05-20 Hitachi Ltd サービス管理装置、サービス管理方法およびサービス管理システム
US8117613B2 (en) 2009-04-08 2012-02-14 Microsoft Corporation Optimized virtual machine migration mechanism
US20100281478A1 (en) * 2009-05-01 2010-11-04 Microsoft Corporation Multiphase virtual machine host capacity planning
JP5471080B2 (ja) 2009-06-30 2014-04-16 日本電気株式会社 情報システム、制御装置、そのデータ処理方法およびプログラム
JP5396339B2 (ja) 2009-10-28 2014-01-22 株式会社日立製作所 リソース制御方法及びリソース制御システム
US8478878B2 (en) * 2010-03-11 2013-07-02 International Business Machines Corporation Placement of virtual machines based on server cost and network cost
US8806484B2 (en) * 2011-04-18 2014-08-12 Vmware, Inc. Host selection for virtual machine placement
US9710295B2 (en) 2011-04-20 2017-07-18 Nec Corporation Grouping and placement of virtual machines based on similarity and correlation of functional relations

Also Published As

Publication number Publication date
JPWO2014192254A1 (ja) 2017-02-23
US20160085579A1 (en) 2016-03-24
US10157073B2 (en) 2018-12-18
WO2014192254A1 (ja) 2014-12-04

Similar Documents

Publication Publication Date Title
KR102198680B1 (ko) 확장 가능한 멀티-스테이지 데이터 처리 시스템들에서의 효율적인 데이터 캐싱 관리
JP5880575B2 (ja) リソース検索装置及び該プログラム
JP5400482B2 (ja) 管理計算機、リソース管理方法、リソース管理プログラム、記録媒体および情報処理システム
CN110058932B (zh) 一种用于数据流驱动计算的存储方法和存储系统
US10305815B2 (en) System and method for distributed resource management
US20130339956A1 (en) Computer system and optimal arrangement method of virtual machine in computer system
JP6958414B2 (ja) 仮想リソース管理装置、仮想リソース割り当て方法、仮想リソース割り当てプログラム、および、仮想リソース管理システム
JP5352890B2 (ja) 計算機システムの運用管理方法、計算機システム及びプログラムを記憶する計算機読み取り可能な媒体
JP6533623B2 (ja) 管理計算機、性能監視方法及び計算機システム
US10990433B2 (en) Efficient distributed arrangement of virtual machines on plural host machines
US20180254999A1 (en) Multidimensional resource allocation in data centers
JP2016139237A (ja) 計算機システム及び計算機システムの性能障害の対処方法
US10250455B1 (en) Deployment and management of tenant services
US9544368B2 (en) Efficient configuration combination selection in migration
JP5515889B2 (ja) 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム
JP6365536B2 (ja) 仮想マシン制御装置、仮想マシン制御方法とプログラム、および、データセンタ
US9467336B2 (en) Information processing system and management method thereof
US20150178115A1 (en) Optimal assignment of virtual machines and virtual disks using multiary tree
WO2016017111A1 (ja) 情報処理システム及びシステム設計方法
Farzaneh et al. A novel virtual machine placement algorithm using RF element in cloud infrastructure
CN113762668A (zh) 生成任务单的方法的和装置
JP2011100263A (ja) 仮想コンピュータシステム、仮想コンピュータ管理方法および管理プログラム
US10097431B1 (en) Routing to tenant services utilizing a service directory
US20210392087A1 (en) Computer system and operation management method for computer system
EP2642379A2 (en) Information processing apparatus, program, and data allocation method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170929

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180207

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180510

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180618

R150 Certificate of patent or registration of utility model

Ref document number: 6365536

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350