JP5682709B2 - 配置設計プログラム及び方法、並びに情報処理装置 - Google Patents

配置設計プログラム及び方法、並びに情報処理装置 Download PDF

Info

Publication number
JP5682709B2
JP5682709B2 JP2013522628A JP2013522628A JP5682709B2 JP 5682709 B2 JP5682709 B2 JP 5682709B2 JP 2013522628 A JP2013522628 A JP 2013522628A JP 2013522628 A JP2013522628 A JP 2013522628A JP 5682709 B2 JP5682709 B2 JP 5682709B2
Authority
JP
Japan
Prior art keywords
virtual machine
data
physical
evaluation
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.)
Expired - Fee Related
Application number
JP2013522628A
Other languages
English (en)
Other versions
JPWO2013005290A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2013005290A1 publication Critical patent/JPWO2013005290A1/ja
Application granted granted Critical
Publication of JP5682709B2 publication Critical patent/JP5682709B2/ja
Expired - Fee Related 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/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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and 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
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Description

本技術は、仮想マシンの配置設計技術に関する。
クラウドを実現するデータセンタでは、物理サーバを仮想化し、複数の仮想マシン(VM:Virtual Machine)を物理サーバ上で起動且つ運用することによりリソースの運用が行われている。
このようなデータセンタに対する仮想マシンの配備、撤収、構成変更の要求は、ユーザから随時出力されるものであり、そのタイミングや構成変更の内容については、データセンタ運用者にとって事前予測不能である。また、データセンタの主要な役割は、ユーザの要件を実現すると同時に、それに使用されるインフラストラクチャの利用効率の向上や、電力、ソフトウェアライセンス料などの提供コスト削減である。
データセンタの運用要件やVM運用要件としては、省電力運用や耐故障性向上(可用性向上)運用など様々な運用要件が含まれ、これらの運用要件はビジネス環境に合わせて時代とともに変化する。
従来技術では、データセンタの運用要件を運用管理システムの開発完了又はシステム稼働開始以前に固定的に決定しておき、このような複数の運用要件に特化したプログラムを予め用意しておく。そして、ユーザからVMの配備要求や追加要求が発生すると、要求に係るVMを、当該プログラムの処理結果に基づき物理サーバ上に追加的に起動する。
しかしながら、環境や社会的要請により個々の運用要件の優先度が変化したり、新たな運用要件が追加されたり、既存の運用要件が無くなったりするため、特定の運用要件に特化したプログラムでは対応できない。そのため、運用要件の変更のたび全面的に変更した複数の運用要件に特化した新たなプログラムを用意することになる。また、運用要件が増えれば増えるほどそれらの要件に対する判定条件を見つけるのが難しくなり、プログラム自体も複雑となる。そのため、環境変化に応じて運用方針を変更することは容易ではない。
なお、システム仮想化技術を用いた環境下における計算処理性能を向上させ得る分散計算制御装置が存在している。具体的には、第1の計算処理を構成する複数の第2の計算処理を、1又は複数の物理マシン上で動作する複数の仮想マシンに分散配置する分散計算制御装置は、複数の第2の計算処理を複数の仮想マシンに分散配置する各種の配置パターンを検出する配置パターン検出部と、配置パターンごとのコストを計算するコスト計算部と、コスト計算部の計算結果に基づいて、コストが最小となる配置パターンを選択し、当該配置パターンに従って複数の第2の計算処理を複数の仮想マシンに分散配置する分散配置部とを有する。この技術は、仮想マシン上に処理を分散配置する技術であり、さらに第1の計算処理やその処理の要求元に応じてコストの計算方法を変えるような事項は開示されていない。
特開2010−218307号公報
よって、本技術の目的は、一側面として、仮想マシンを配置すべき物理マシンを柔軟に決定できるようにするための技術を提供することである。
本技術に係る配置設計方法は、(A)1又は複数の仮想マシンを含むシステムについての仮想マシンを物理マシンに配置する要求を受信するステップと、(B)システム又は要求の送信元に対応付けて登録されている、仮想マシン配置の評価指標に関するデータを読み出すステップと、(C)1又は複数の仮想マシンの各々について、仮想マシン配置の評価指標に関するデータに基づき、使用可能な物理マシンのいずれかに配置する場合における第1のコストを算出し、算出された第1のコストが最低となる物理マシンを特定するステップと、(D)1又は複数の仮想マシンについて特定された物理マシンについてのデータを含む配置設計データを生成するステップとを含む。
図1は、本技術の実施の形態に係るシステム概要図である。 図2は、本技術の実施の形態に係る配置設計装置の機能ブロック図を示す図である。 図3は、第1管理テーブルに格納されているデータの一例を示す図である。 図4は、第2管理テーブルに格納されているデータの一例を示す図である。 図5は、物理サーバデータの一例を示す図である。 図6は、システム管理テーブルの一例を示す図である。 図7は、ネットワーク管理テーブルの一例を示す図である。 図8は、クラス管理テーブルの一例を示す図である。 図9は、VM管理テーブルの一例を示す図である。 図10は、第1の実施の形態についての処理フローを示す図である。 図11は、構築すべきシステムの一例を示す図である。 図12は、第2管理テーブルに登録すべき評価プラグインデータの一例を示す図である。 図13は、システム管理テーブルに格納すべきデータの一例を示す図である。 図14は、ネットワーク管理テーブルに格納すべきデータの一例を示す図である。 図15は、クラス管理テーブルに格納すべきデータの一例を示す図である。 図16は、グルーピング処理の処理フローを示す図である。 図17は、グルーピングデータ生成処理の処理フローを示す図である。 図18は、初期状態の物理サーバデータの一例を示す図である。 図19は、ネットワーク利用についてのコスト値の算出を説明するための図である。 図20は、ネットワーク利用についてのコスト値の算出を説明するための図である。 図21は、ネットワーク利用についてのコスト値の算出を説明するための図である。 図22は、ネットワーク利用についてのコスト値の算出を説明するための図である。 図23は、システム管理テーブルに格納すべきデータの一例を示す図である。 図24は、グルーピングデータの一例を示す図である。 図25は、グルーピングデータの一例を示す図である。 図26は、グルーピングデータの一例を示す図である。 図27は、合成グルーピングデータの一例を示す図である。 図28は、物理サーバデータの一例を示す図である。 図29は、VM管理テーブルの一例を示す図である。 図30は、物理サーバデータの一例を示す図である。 図31は、VM管理テーブルの一例を示す図である。 図32は、VM配置設計データの一例を示す図である。 図33Aは、物理サーバ台数の例を示す図である。 図33Bは、タイムアウト時間の例を示す図である。 図34は、第2の実施の形態における処理フローを示す図である。 図35は、第2の実施の形態における処理フローを示す図である。 図36は、第2の実施の形態における処理フローを示す図である。 図37は、VM管理テーブルの一例を示す図である。 図38は、仮システム配置設計データの一例を示す図である。 図39は、VM管理テーブルの一例を示す図である。 図40は、テンポラリの仮システム配置設計データの一例を示す図である。 図41は、システム評価値取得処理の処理フローを示す図である。 図42は、可用性についての評価プラグインによるシステム評価値算出処理の処理フローを示す図である。 図43は、電力についての評価プラグインによるシステム評価値算出処理の処理フローを示す図である。 図44は、ネットワーク利用についての評価プラグインによるシステム評価値算出処理の処理フローを示す図である。 図45は、第3の実施の形態の処理フローを示す図である。 図46は、第3の実施の形態の処理フローを示す図である。 図47は、仮システム配置設計データの一例を示す図である。 図48は、第3の実施の形態の処理フローを示す図である。 図49は、仮システム配置設計データの更新例を示す図である。 図50は、仮システム配置設計データの更新例を示す図である。 図51は、仮システム配置設計データの更新例を示す図である。 図52は、仮システム配置設計データの更新例を示す図である。 図53は、仮システム配置設計データの更新例を示す図である。 図54は、VM配置設計データの一例を示す図である。 図55は、コンピュータの機能ブロック図である。 図56は、配置設計装置の機能ブロック図である。
[実施の形態1]
図1に、本技術の第1の実施の形態に係るシステム概要図を示す。例えばインターネットなどのネットワーク1には、複数のユーザ装置(図1ではユーザ装置A及びB)と、クラウドセンタ3とが接続されている。ユーザ装置は、各ユーザに管理されているコンピュータであり、クラウドセンタ3に対して1又は複数の仮想マシンを含むシステムの配備を要求したり、ユーザ自身に関する設定を行ったりするためのコンピュータである。また、クラウドセンタ3は、本実施の形態に係る主要な処理を実施するための配置設計装置31と、配置設計装置31によって生成される配置設計データに従って仮想マシンを物理サーバ(物理マシンとも呼ぶ)に起動させるための処理を実施する管理装置33と、管理装置33に管理されている複数の物理サーバとを含む。この例では、配置設計装置31と管理装置33は別れているが、同じ装置上に配置設計装置31と管理装置33の同様な機能が実現されていても良い。
次に、図2に、配置設計装置31の構成を示す。配置設計装置31は、要求受信部311と、制御部312と、配置設計データ格納部313と、出力部314と、コスト値合成部315と、配置及び構成データ格納部316と、設定データ格納部317と、評価部318とを有する。評価部318は、各々担当する評価指標を独立に評価して統一的なコスト値を算出するn個の評価プラグインを有している。図2では、3つの評価プラグインを示しているが、nは任意の整数である。また、ビジネス環境の変化等に応じて個々の評価プラグインは、追加又は削減、置換などが行われる。また、1つの評価指標についての判定内容の変更は、1つの評価プラグインの変更ですむ。
要求受信部311は、ユーザ装置からVM配置要求を受信すると、当該VM配置要求を制御部312に出力する。制御部312は、配置設計装置31の制御を行う。具体的には、制御部312は、VM配置要求に応じて処理を行い、処理結果を配置及び構成データ格納部316に格納する。また、制御部312は、コスト値合成部315に処理を要求し、コスト値合成部315から処理結果を受け取る。そして、制御部312は、処理結果に基づき配置設計データを生成して、配置設計データ格納部313に格納する。出力部314は、配置設計データ格納部313に格納された配置設計データを、例えば管理装置33に出力する。管理装置33は、受け取った配置設計データに従って、指定された物理サーバに指定された仮想マシンを起動するといった処理を実施させる。なお、一度要求元のユーザ装置に配置設計データを送信して確認してもらうようにしても良い。
コスト値合成部315は、設定データ格納部317及び配置及び構成データ格納部316に格納されているデータを用いて、評価部318と連携して処理を行って、処理結果を制御部312に出力する。評価部318においては、コスト値合成部315から指定された評価プラグインが、自らが担当する評価指標についてのコストを算出する処理を実施する。
また、図3に、設定データ格納部317に格納されるデータである第1管理テーブルの一例を示す。第1管理テーブルは、配置設計装置31に存在している評価プラグインを管理するためのテーブルである。図3の例では、評価プラグイン毎に、評価プラグイン識別子(ID)と、評価プラグイン名と、合成係数(すなわち重み値)とを含む。合成係数は、デフォルト値であり、この値を用いるか否かは、ユーザやシステム毎に設定することができる。評価プラグイン名は、その評価指標(要件とも呼ぶ)を表している。
さらに、図4に、設定データ格納部317に格納されるデータである第2管理テーブルの一例を示す。第2管理テーブルは、クラウドセンタ3に配備されているシステム毎に、適用すべき評価プラグインと、その評価プラグインが計算したコストに対する合成係数とを規定するテーブルである。図4の例では、システム毎に、システム識別子(ID)と、適用評価プラグインデータとを登録するようになっている。適用評価プラグインデータは、例えば図3に示した第1管理テーブルをそのまま適用する場合には「デフォルト(Default)」であり、個別の設定を行う場合にはその設定データである。設定データは、図3の第1管理テーブルをオーバーライドして適用するものであり、適用すべき評価プラグインIDと合成係数との対を含む。例えばシステムID「SYS003」であるシステムの場合は、評価プラグインIDが「PI−0」については合成係数「10」を用い、評価プラグインIDが「PI−1」については合成係数「1」を用い、評価プラグインIDが「PI−3」については合成係数「1」を用い、評価プラグインIDが「PI−7」については合成係数「5」を用いるような設定となっている。なお、システムID「SYS003」のシステムについては、それ以外の評価プラグインは用いられない。
ユーザは、例えばユーザ装置から、クラウドセンタ3に配備される自身のシステムについて予め配置設計装置31が保持する複数の評価プラグインから、適用すべき評価プラグインを指定することができる。
以下、本実施の形態では、一例として可用性についての評価プラグイン(第1評価プラグイン)と、電力についての評価プラグイン(第2評価プラグイン)と、ネットワーク利用についての評価プラグイン(第3評価プラグイン)とを具体的に説明する。実際には、その他の評価プラグインについても、その評価指標について評価ポリシーに従ったロジックを用意することになる。
また、図5に、配置及び構成データ格納部316に格納されるデータである物理サーバデータの一例を示す。図5の例では、物理サーバ毎に、物理サーバ識別子(ID)と、スペック(単位サイズ換算)と、配備可能最大仮想マシン数と、接続スイッチ識別子(ID)と、配済仮想マシンの識別子(ID)と、仮配置仮想マシンの識別子(ID)と、電源状態とが登録されるようになっている。物理サーバIDは、クラウドセンタ3において使用可能な物理サーバのIDである。スペックについては、例えばあるタイプのCPU(Central Processing Unit)を周波数1GHzで動作させ、例えば4GBのメインメモリを有する物理サーバを、処理能力についてのサイズ「1」の物理サーバであるとして換算した結果が登録されるようになっている。より具体的には、サイズ「2」の物理サーバは、あるタイプのCPUを周波数2GHzで動作させ、8GBのメインメモリを有する物理サーバである。
本実施の形態では、配備すべき仮想マシンについても、同様に処理能力が指定される。すなわち、処理能力のサイズ「1」の仮想マシンであれば、処理能力のサイズ「1」以上の物理サーバ上に配備可能となる。なお、本実施の形態では、より簡易に、サイズ「S」、「M」、「L」及び「LL」といったようなサイズの指定を行う例を説明する。サイズ「S」が指定される場合には、サイズ「1」の仮想マシンを配備する。サイズ「M」が指定される場合には、サイズ「2」の仮想マシンを配備する。サイズ「L」が指定される場合には、サイズ「4」の仮想マシンを配備する。より具体的には、あるタイプのCPU(2コア含む)を2GHzで動作させ、16GBのメインメモリを有する物理サーバのような処理能力の仮想マシンである。サイズ「LL」が指定される場合には、サイズ「8」の仮想マシンを配備する。より具体的には、あるタイプのCPU(4コア含む)を2GHzで動作させ、32GBのメインメモリを有する物理サーバのような処理能力の仮想マシンである。
図6に、配置及び構成データ格納部316に格納されるデータであるシステム管理テーブルの一例を示す。図6の例では、クラウドセンタ3に配備されているシステム毎に、システム識別子(ID)と、システムに含まれる仮想マシンの識別子(ID)と、システムに含まれるネットワークの識別子(NET ID)とが登録されるようになっている。
図7に、配置及び構成データ格納部316に格納されるデータであるネットワーク管理テーブルの一例を示す。図7の例では、システム毎に、システムIDと、当該システムに含まれるネットワークのID(NET ID)と、各ネットワークについて関連する仮想マシンのIDとが登録されるようになっている。このデータによって、各システムに、どのようなネットワークが存在しており、どのような仮想マシンが接続されているかを把握できるようになる。
図8に、配置及び構成データ格納部316に格納されるデータであるクラス管理テーブルの一例を示す。図8の例では、システム毎に、システムIDと、当該システムに含まれる仮想マシンの機能種別(クラスと呼ぶ)と、各クラスに所属する仮想マシンのIDとが登録されるようになっている。なお、FWは、ファイアウォールを表し、WEBはWebサーバを表し、APPはアプリケーションサーバを表し、DBはDBサーバを表し、APP/DBはアプリケーションサーバ及びDBサーバの機能を有するサーバを表す。
図9に、配置及び構成データ格納部316に格納されるデータであるVM管理テーブルの一例を示す。図9の例では、仮想マシン毎に、仮想マシンのIDと、システムIDと、クラスと、サイズと、接続ネットワークのIDと、配置済の物理サーバのIDと、仮配置先の物理サーバのIDとを登録するようになっている。
次に、図10乃至図32を用いて、図1のシステムにより行われる処理を説明する。例えばユーザ装置AがVM配置要求をクラウドセンタ3に送信すると、クラウドセンタ3における配置設計装置31の要求受信部311は、当該VM配置要求を受信し、制御部312に出力する(図10:ステップS1)。本実施の形態では、VM配置要求には、構築すべきシステムのシステムIDと、起動すべき仮想マシンについてのデータと、仮想マシン間に設定すべきネットワークについてのデータとを含む。例えば、図11に示すようなシステムを構築することを想定する。図11では、システムID「SYS005」のシステムは、FWクラスの仮想マシンを1台、WEBクラスの仮想マシンを4台、APPクラスの仮想マシンを2台、及びDBクラスのマシンを1台を含む。また、FWクラスの仮想マシンとWEBクラスの仮想マシンとの間のネットワークのネットワークIDは「NET005−01」となっており、WEBクラスの仮想マシンとAPPクラスの仮想マシンとの間のネットワークのネットワークIDは「NET005−02」となっており、APPクラスの仮想マシンとDBクラスの仮想マシンとの間のネットワークのネットワークIDは「NET005−03」となっている。さらに、クラスFWのサイズを「S」、クラスWEBのサイズを「M」、クラスAPPのサイズを「L」、クラスDBのサイズを「LL」とするものとする。このように仮想マシンについてのデータは、各クラスについて仮想マシンの個数、サイズ及びIDを含む。さらに、ネットワークについてのデータには、クラス間又は仮想マシン間に設定すべきネットワークのIDを含む。
なお、VM配置要求に係るシステム「SYS005」についての評価プラグインデータについては、予め配置設計装置31に設定しておいても良いし、VM配置要求と共に送信するようにしても良い。本例では、例えば図12に示すようなデータが、システム「SYS005」についての評価プラグインデータとして第2管理テーブル(設定データ格納部317)に格納されているものとする。図12の例では、評価プラグインID「PI−0」と「PI−1」と「PI−7」についてのみ設定されているので、これらの3つの評価プラグインのみが用いられる。合成係数もこのようにして設定されている値が用いられる。
次に、制御部312は、受信したVM配置要求から配置及び構成データ格納部316に格納すべきデータを生成し、格納する(ステップS3)。具体的には、システム管理テーブルのデータ(図13)、ネットワーク管理テーブル(図14)及びクラス管理テーブル(図15)のデータを生成し、格納する。これらのデータについては、上で述べたVM配置要求から生成可能である。
そして、制御部312は、配置すべき仮想マシンのうち未処理の仮想マシンを1つ特定する(ステップS5)。例えば仮想マシンの識別子の小さい順に選択しても良いし、ランダムに選択しても良い。そして、制御部312は、特定した仮想マシンについて、コスト値合成部315及び評価部318に、グルーピング処理を実施させる(ステップS7)。このグルーピング処理については、図16乃至図27を用いて説明する。
コスト値合成部315は、特定された仮想マシンのシステムIDを、例えば配置及び構成データ格納部316に格納されているシステム管理テーブルなどから取得する(図16:ステップS21)。そして、コスト値合成部315は、取得したシステムIDから、適用すべき評価プラグイン及び合成係数を特定する(ステップS23)。第2管理テーブルから、システムIDに対応付けられているデータを読み出す。なお、デフォルトが指定されている場合には、第1管理テーブルを読み出す。図12の例であれは、第1乃至第3評価プラグインが特定され、それぞれについての合成係数が特定される。
その後、コスト値合成部315は、適用すべき評価プラグインのうち未処理の評価プラグインを特定する(ステップS25)。そして、コスト値合成部315は、特定された評価プラグインに、グルーピングデータ生成処理を実施させる(ステップS27)。特定された評価プラグインは、コスト値合成部315からの指示に応じて、グルーピングデータ生成処理を実施する。グルーピングデータ生成処理については、図17乃至図26を用いて説明する。なお、グルーピングデータ生成処理は、評価プラグインによって内容が異なるが、基本的な処理構造は同じである。
評価プラグインは、特定されている仮想マシンについてのデータ(システム管理テーブル、ネットワーク管理テーブル及びクラス管理テーブルなどのデータ)を、配置及び構成データ格納部316から読み出す(図17:ステップS41)。また、評価プラグインは、物理サーバデータも、配置及び構成データ格納部316から読み出す(ステップS43)。例えば、図18に示すような初期状態であると仮定する。すなわち、図18は、いずれの仮想マシンも起動されていない状態を表している物理サーバデータを示している。
そして、評価プラグインは、物理サーバデータにおける未処理の物理サーバを1つ特定する(ステップS45)。残配備可能サイズと、配置しようとする仮想マシンのサイズとから、配置可能な物理サーバのみを特定する。その後、評価プラグインは、選択された物理サーバについての差分のコスト値を算出する(ステップS47)。このステップは、各評価プラグインについて異なる処理を実施する。
例えば可用性についての第1評価プラグインは、以下のような処理を実施する。すなわち、ステップS45で特定された物理サーバに、ステップS5で特定された仮想マシンを配置した場合を想定して、ステップS5で特定された仮想マシンと同じシステムIDで且つ同じクラスの仮想マシンの個数nをカウントする。そして、コスト値=p×(n−1)2(n=1の場合)または、コスト値=p×((n−1)2−(n−2)2)(n>1の場合)によって計算する。pは係数で例えば30である。同じシステムIDで且つ同じクラスの仮想マシンを同じ物理サーバへたくさん配置すると、その個数nの2乗でコストがかかるものと想定したものである。これは、その物理サーバに障害が発生し、配置した仮想マシンが利用できない場合の影響度を合わせた違約金相当のコスト値を想定したものである。
図18に示したような状態であれば、どの物理サーバに配置しても、最初の仮想マシンを配置する際にはn=1となるため、コスト値=「0」となる。
また、例えば電力についての第2評価プラグインは、以下のような処理を実施する。すなわち、ステップS45で特定された物理サーバの電源状態が「ON」、又は物理サーバデータにおいて仮配置仮想マシンのIDに仮想マシンが登録済みである場合には、コスト値=「0」であり、それ以外の場合には「10」を設定する。新たに物理サーバの電源をオンにしたり、他の仮想マシンが配置されていない物理サーバを使用する場合には、電力についてのコスト値が「10」になると想定している。
さらに、例えばネットワーク利用についての第3評価プラグインは、以下のような処理を実施する。すなわち、ステップS45で特定された物理サーバに、ステップS5で特定された仮想マシンを配置した場合、当該仮想マシンと同じシステムIDで、同じネットワークIDで、且つ異なるクラスの仮想マシンが、物理サーバデータにおいて既存配置及び仮配置されている個数を、以下の3つの観点で増加した数をカウントする。具体的には、同じ物理サーバに既存配置又は仮配置されている仮想マシンの増加した個数をC0としてカウントし、同じ接続スイッチIDのスイッチには接続されているが別の物理サーバに既存配置又は仮配置されている仮想マシンの増加した個数をC1としてカウントし、異なる接続スイッチIDのスイッチに接続されている物理サーバに既存配置又は仮配置されている仮想マシンの増加した個数をC2としてカウントする。
そして、C0×a+C1×b+C2×cによりコストを算出する。a、b、cは係数であり、例えばa=1、b=2、c=30とする。但し、a=0、b=1、c=20のように変更してもよい。
このようにするのは、異なるスイッチに接続されているような物理サーバに仮想マシンを配置してしまうと、物理的なネットワーク利用の程度が高いのでコストを高くするようにしている。
例えば、上で述べた物理サーバデータは、図19のようなハードウエア構成を示している。すなわち、ラックrack1には、物理サーバSvr001乃至Svr010が配置されて、それらの物理サーバはスイッチSW001で接続されている。同様に、ラックrack2には、物理サーバSvr011乃至Svr020が配置されて、それらの物理サーバはスイッチSW002で接続されている。また、ラックrack10には、物理サーバSvr091乃至Svr100が配置されて、それらの物理サーバはスイッチSW010で接続されている。スイッチSW001乃至SW010は、L2スイッチ又はL3スイッチ若しくはルータに接続されている。
仮に、図19に示すように物理サーバSvr001にクラスFWの仮想マシンVM005−01、物理サーバSvr002にクラスWEBの仮想マシンVM005−02、物理サーバSvr003にクラスWEBの仮想マシンVM005−03が仮配置されていることを想定する。そして、この状態で、クラスWEBの仮想マシンVM005−04を配置することを考える。図20のように、クラスWEBの仮想マシンVM005−04を、物理サーバSvr001に配置しようとすると、同じシステムIDで、同じネットワークIDで且つ異なるクラスの仮想マシンVM005−01が存在しているので、C0=1である。物理サーバSvr002及びSvr003には、同じクラスの仮想マシンのみが仮配置されているので、C1=0である。異なるスイッチに接続されている物理サーバには、仮想マシンが配置されていないのでC2=0となる。従って、コスト値は、1(=C0)×1=1となる。
さらに、図21に示すように、クラスWEBの仮想マシンVM005−04を、物理サーバSvr002に配置しようとすると、物理サーバSvr002には、同じクラスの仮想マシンしか仮配置されていないので、C0=0となる。一方、同じシステムIDで、同じネットワークIDで且つ異なるクラスの仮想マシンは、同じスイッチIDで且つ異なる物理サーバSvr001に存在しているので、C1=1となる。異なるスイッチに接続されている物理サーバには、仮想マシンが配置されていないのでC2=0となる。従って、コスト値は、1(=C1)×2=2となる。
さらに、図22に示すように、クラスWEBの仮想マシンVM005−04を、物理サーバSvr011に配置しようとすると、同じスイッチIDの物理サーバには他の仮想マシンが存在していないのでC0=C1=0である。一方、異なるスイッチIDの物理サーバSvr001には、同じネットワークIDで且つ異なるクラスの仮想マシンVM005−01が存在しているのでC2=1となる。従って、コスト値は、1(=C2)×30=30となる。
さらに、図23に示すように、仮想マシンVM005−01乃至VM005−06までを仮配置した状態で、クラスAPPの仮想マシンVM005−07をSvr003に配置しようとする場合には、以下のように仮想マシンがカウントされる。クラスAPPの仮想マシンVM005−07とネットワークIDが同じという要件を満たすのは、クラスWEBの仮想マシンとなる。クラスFWの仮想マシンは異なるネットワークIDの仮想マシンとなる。従って、同じ物理サーバにおいて同じネットワークIDで且つ異なるクラスの仮想マシンは1つだけであるから、C0=1となる。一方、同じスイッチIDで且つ異なる物理サーバにおいて同じネットワークIDで且つ異なるクラスの仮想マシンは仮想マシンVM005−02、VM005−03及びVM005−05であるからC1=3となる。異なるスイッチIDの物理サーバには対象となる仮想マシンが配置されていないのでC2=0となる。すなわち、コスト値は、1×1+2×3=7となる。
なお、図11に示したネットワーク構成の場合、クラスWEB及びAPPの場合には同じスイッチIDという要件を満たす異なるクラスが複数存在するので留意する。
図17の処理の説明に戻って、評価プラグインは、同じ値のコスト値が、グルーピングデータに既に存在しているか判断する(ステップS49)。同じ値のコスト値がグルーピングデータに存在しない場合には、評価プラグインは、グルーピングデータにおいてコスト値を登録する(ステップS51)。その後ステップS53に移行する。一方、既に同じ値のコスト値がグルーピングデータに存在する場合には、ステップS53に移行する。
その後、評価プラグインは、算出されたコスト値に対応付けて、ステップS45で特定された物理サーバID登録する(ステップS53)。
グルーピングデータは、例えば図24乃至図26に示すようなデータである。図24は、例えば可用性についての第1評価プラグインで生成されるグルーピングデータの一例を示している。このように、コスト値毎に、該当する物理サーバのIDが登録されるようになっている。同様に、図25は、電力についての第2評価プラグインで生成されるグルーピングデータの一例を示している。さらに、図26は、ネットワーク利用についての第3評価プラグインで生成されるグルーピングデータの一例を示している。これによって、使用される可能性のある物理サーバ毎に、各評価指標についてのコスト値が独立に算出され、グルーピングデータとして得られるようになる。
その後、評価プラグインは、未処理の物理サーバが存在しているか判断する(ステップS55)。未処理の物理サーバが存在している場合にはステップS45に戻る。一方、未処理の物理サーバが存在しない場合には、評価プラグインは、生成したグルーピングデータをコスト値合成部315に出力する。そして、呼び出し元の処理に戻る。
図16の処理の説明に戻って、コスト値合成部315は、未処理の評価プラグインが存在しているか判断する(ステップS29)。未処理の評価プラグインが存在する場合にはステップS25に戻る。一方、未処理の評価プラグインが存在しない場合には、上の例では図24乃至図26に示したグルーピングデータが得られたことになる。
その後、コスト値合成部315は、ステップS23で特定された合成係数と、ステップS27で取得されたグルーピングデータとから、合成グルーピングデータを生成する(ステップS31)。上で述べたようなグルーピングデータに含まれる各物理サーバについて、コスト値を読み出して、合成係数で重み付けした上で加算する。そして呼び出し元の処理に戻る。
例えば物理サーバSvr001については、第1評価プラグインについてのコスト値=30、第2評価プラグインについてのコスト値=0及び第3評価プラグインについてのコスト値=0であるから、合成コスト値は、30×1(=第1評価プラグインの合成係数)+0×2(=第2評価プラグインの合成係数)+0×1(=第3評価プラグインの合成係数)=30と計算できる。同様に、物理サーバSvr003については、第1評価プラグインのコスト値=0、第2評価プラグインのコスト値=10、第3評価プラグインのコスト値=1であるから、合成コスト値は、0×1+10×2+1×1=21と算出される。
このような処理を実施すれば、図27に示すような合成グルーピングデータが生成される。図27でも、コスト値毎に、該当する物理サーバのIDが登録されるようになっている。なお、このようなデータを得られれば、ステップS5で特定された仮想マシンを配置する際に、最もコスト値が低い物理サーバ群を特定できる。このように生成された合成グルーピングデータは、コスト値合成部315から、制御部312に出力される。
図10の処理の説明に戻って、制御部312は、コスト値合成部315から受け取った合成グルーピングデータにおいて、コスト値が最低の物理サーバ群から、所定の法則に従って物理サーバを1台選択する(ステップS9)。例えば、物理サーバデータにおいて、最も残配備可能サイズが小さいものを選択しても良いし、逆に最も残配備可能サイズが大きいものを選択しても良い。さらに、コスト値が最低の物理サーバ群の中でランダムに選択しても良い。さらに、他の観点に従って物理サーバを1台選択するようにしても良い。
その後、制御部312は、選択された物理サーバのIDを、ステップS5で特定された仮想マシンの仮配置先として、配置及び構成データ格納部316に格納されている物理サーバデータにおいて登録すると共に、VM管理テーブルにおいても同様に登録する(ステップS11)。
例えば、図24乃至図26のようなグルーピングデータ及び図27のような合成グルーピングデータが、図28に示すような物理サーバデータ及び図29に示すようなVM管理テーブル(仮想マシンVM005−01乃至VM005−03までが仮配備済みである状態を表す)を前提としているものとする。そうすると、仮想マシンVM005−04に対して物理サーバSvr003が選択され、図30に示すように物理サーバデータにおいて物理サーバSvr003には仮想マシンVM005−04が仮配置仮想マシンIDとして登録され、図31に示すようにVM管理テーブルにおいて仮想マシンVM005−04には物理サーバSvr003が登録される。
そして、制御部312は、未処理の仮想マシンが存在するか判断する(ステップS13)。未処理の仮想マシンが存在する場合には処理はステップS5に戻る。一方、未処理の仮想マシンが存在していない場合には、制御部312は、VM管理テーブル又は物理サーバデータにおける仮想マシンの仮配置データから、VM配置設計データを生成し、配置設計データ格納部313に格納する(ステップS15)。例えば、図32に示すようなVM配置設計データを生成する。図32の例では、仮想マシン毎に、仮想マシンのIDと、システムIDと、クラスと、サイズと、接続ネットワークIDと、決定配置先の物理サーバIDとが登録されるようになっている。但し、仮想マシンと決定配置先の物理サーバIDとが対応付けられたデータであれば、他の要素については無くても良い。出力部314は、このようなVM配置設計データを管理装置33に出力する。
以上のようなVM配置設計データがあれば、管理装置33は、適切に仮想マシンを指定の物理サーバ上に起動させることができる。
例えば、自動的に仮想マシンを起動させる場合には、管理装置33からの配備完了通知に応じて、制御部312は、配備完了通知に係るVM配置設計データに従って、配置及び構成データ格納部316におけるVM管理テーブル及び物理サーバデータの状態を更新する(ステップS17)。具体的には、仮配置仮想マシンIDの列に登録されている仮想マシンIDを、配置済仮想マシンIDの列に登録し直す。
以上のような処理を実施することで、ユーザ又はシステム毎に柔軟に物理サーバについて評価を行って、当該評価結果に基づく合成コスト値に従って適切な物理サーバに仮想マシンを配置するという設計データが得られるようになる。
なお、上では新規にシステムを配備するような例を説明したが、あるシステムに仮想マシンを追加するような場合でも同様の処理で取り扱うことができる。
[実施の形態2]
次に、本技術の第2の実施の形態について説明する。第1の実施の形態では、配置すべき仮想マシンを、仮想マシンの識別子順又はランダムに決定していたが、仮想マシンの選択順によって合成コスト値が変動する場合もある。従って、本実施の形態においては、このような問題について対処する。
システムの構成については、第1の実施の形態とほぼ同様である。異なる点は、設定データ格納部317にり返しの上限回数である指定回数(例えば10回)、又は図33Bに示すようなタイムアウト時間(例えば10秒)のデータが格納されているので、制御部312が、設定データ格納部317にアクセスすることである。なお、図2では点線にてこのアクセスを表している。
そして、第2の実施の形態におけるシステムの処理について図34乃至図44を用いて説明する。
例えばユーザ装置AがVM配置要求をクラウドセンタ3に送信すると、クラウドセンタ3における配置設計装置31の要求受信部311は、当該VM配置要求を受信し、制御部312に出力する(図34:ステップS61)。本実施の形態でも、第1の実施の形態で説明したようなシステムについての仮想マシンを、いずれかの物理サーバに配置するようなVM配置要求を受信した場合を想定する。
次に、制御部312は、受信したVM配置要求から配置及び構成データ格納部316に格納すべきデータを生成し、格納する(ステップS63)。第1の実施の形態と同様に、システム管理テーブル(図13)、ネットワーク管理テーブル(図14)及びクラス管理テーブル(図15)のデータを生成し、格納する。これらのデータについては、上で述べたVM配置要求から生成可能である。
また、制御部312は、設定データ格納部317に格納されている繰り返しの上限回数を読み出してCrmaxに設定し、繰り返し回数のカウンタCrに0を設定する(ステップS65)。
また、制御部312は、仮想マシンの配置順を1つ生成する(ステップS67)。例えば、ランダムに仮想マシンの識別子を並べるようにしても良いし、1つの順番の中で仮想マシンの順番を入れ替えて他の順番を生成するようにしても良い。
本具体例では、VM005−01、VM005−02、VM005−03、VM005−04、VM005−05、VM005−06、VM005−07及びVM005−08の順番を最初に生成し、その後、VM005−06、VM005−07、VM005−03、VM005−04、VM005−05、VM005−02、VM005−01及びVM005−08の順番を生成したものとする。
そして、制御部312は、配置及び構成データ格納部316における物理サーバデータ及びVM管理テーブルにおける仮配置データをクリアする(ステップS69)。ここで、処理は端子Aを介して図35の処理に移行する。
図35の処理の説明に移行して、制御部312は、ステップS67で生成した仮想マシンの配置順に従って、未処理の仮想マシンを1つ特定する(ステップS71)。そして、制御部312は、特定された仮想マシンについて、コスト値合成部315及び評価部318に、グルーピング処理を実施させる(ステップS73)。グルーピング処理については、第1の実施の形態と同様であるから、これ以上説明しない。結果として、合成グルーピングデータが生成されることになる。
そして、制御部312は、コスト値合成部315から合成グルーピングデータを受け取ると、当該合成グルーピングデータにおいて、コスト値が最低の物理サーバ群から、所定の法則に従って物理サーバを1台選択する(ステップS75)。例えば、物理サーバデータにおいて、最も残配備可能サイズが小さいものを選択しても良いし、逆に最も残配備可能サイズが大きいものを選択しても良い。さらに、コスト値が最低の物理サーバ群の中でランダムに選択しても良い。さらに、他の観点に従って物理サーバを1台選択するようにしても良い。
その後、制御部312は、選択された物理サーバのIDを、ステップS71で特定された仮想マシンの仮配置先として、配置及び構成データ格納部316に格納されている物理サーバデータに登録すると共に、VM管理テーブルにおいても同様に登録する(ステップS77)。
そして、制御部312は、ステップS67で生成した仮想マシンの配置順において未処理の仮想マシンが存在するか判断する(ステップS79)。未処理の仮想マシンが存在している場合には、処理はステップS71に戻る。一方、未処理の仮想マシンがない場合には、端子Bを介して図36の処理に移行する。
図36の処理の説明に移行して、制御部312は、仮システム配置設計データが配置及び構成データ格納部316に既に存在しているか判断する(ステップS80)。仮想マシン配置要求に係る仮想マシンについての仮配置を初めて行った場合には、仮システム配置設計データは存在していないので、制御部312は、配置及び構成データ格納部316におけるVM管理テーブル又は物理サーバデータにおける仮配置に係るVM配置データから、仮システム配置設計データを生成し、配置及び構成データ格納部316に格納する(ステップS81)。
そして、制御部312は、仮システム配置設計データについてシステム評価値取得処理を、コスト値合成部315に実施させる(ステップS82)。システム評価値取得処理については、図41乃至図44を用いて説明する。この処理を実施して得られたシステム評価値については、コスト値合成部315から制御部312に返され、制御部312は、仮システム配置設計データに追加する。そして処理はステップS89に移行する。
例えば、図37に示すようなVM管理テーブルがステップS77で生成されると、図38に示すような仮システム配置設計データが生成される。図38の例では、システム評価値と、各仮想マシンについて、仮想マシンの識別子と、システムIDと、クラスと、サイズと、接続ネットワークIDと、配置済物理サーバのIDと、仮配置先の物理サーバのIDとを含む。なお、システムIDと、クラスと、サイズと、接続ネットワークIDとは含まれない場合もある。
一方、仮システム配置設計データが既に存在する場合には、制御部312は、配置及び構成データ格納部316におけるVM管理テーブル又は物理サーバデータにおける仮配置に係るVM配置データから、テンポラリの仮システム配置設計データを生成し、配置及び構成データ格納部316に格納する(ステップS83)。例えば、図38のような仮システム配置設計データが存在していて、今回は、図39のようなVM管理テーブルが得られた場合には、図40に示すようなテンポラリの仮システム配置設計データが生成される。
そして、制御部312は、テンポラリの仮システム配置設計データについてシステム評価値取得処理を、コスト値合成部315に実施させる(ステップS84)。システム評価値取得処理については、図41乃至図44を用いて説明する。この処理を実施して得られたシステム評価値については、コスト値合成部315から制御部312に返され、制御部312は、テンポラリの仮システム配置設計データに追加する。そして処理はステップS85に移行する。
そして、制御部312は、仮システム配置設計データのシステム評価値と、テンポラリの仮システム配置設計データのシステム評価値とを比較して、テンポラリの仮システム配置設計データのシステム評価値の方が小さいか判断する(ステップS85)。テンポラリの仮システム配置設計データのシステム評価値が、仮システム配置設計データのシステム評価値以上であれば、制御部312は、テンポラリの仮システム配置設計データを破棄する(ステップS86)そして、処理はステップS89に移行する。
一方、テンポラリの仮システム配置設計データのシステム評価値の方が小さい場合には、制御部312は、テンポラリの仮システム配置設計データを採用するため、当該テンポラリの仮システム配置設計データで仮システム配置設計データを置換する(ステップS87)。そしてステップS89の処理に移行する。
その後、制御部312は、CrがCrmax以上になったか判断する(ステップS89)。CrがCrmax未満であれば、制御部312は、Crを1インクリメントし(ステップS91)、処理は端子Cを介して図34のステップS67に戻る。
一方、CrがCrmax以上となった場合には、制御部312は、仮システム配置設計データを、配置及び構成データ格納部316におけるVM管理テーブル及び物理サーバデータに反映する(ステップS93)。すなわち、仮配置仮想マシンのIDのデータを更新する。その後、制御部312は、仮システム配置設計データからVM配置設計データを生成し、配置設計データ格納部313に格納する(ステップS95)。例えば、図32に示すようなVM配置設計データを生成する。出力部314は、このようなVM配置設計データを管理装置33に出力する。
以上のようなVM配置設計データがあれば、管理装置33は、適切に仮想マシンを指定の物理サーバ上に起動させることができる。
例えば、自動的に仮想マシンを起動させる場合には、管理装置33からの配備完了通知に基づき制御部312は、配備完了通知に係るVM配置設計データに従って、配置及び構成データ格納部316におけるVM管理テーブル及び物理サーバデータの状態を更新する。具体的には、仮配置仮想マシンIDの列に登録されている仮想マシンIDを、配置済仮想マシンIDの列に登録し直す。
以上のような処理を実施することで、ユーザ又はシステム毎に柔軟に物理サーバについて評価を行って、当該評価結果に基づく合成コスト値に従って適切な物理サーバに仮想マシンを配置するという設計データが得られるようになる。なお、第1の実施の形態とは異なり、仮想マシンの配置順番も考慮しているので、ユーザ又はシステムについて考慮すべき要件についてコストの低い仮想マシン配置が可能となる。
なお、上では新規にシステムを配備するような例を説明したが、あるシステムに仮想マシンを追加するような場合でも同様の処理で取り扱うことができる。
さらに、上では繰り返し回数を制限する処理の例を示したが、図33Bに示すようにタイムアウト時間で、繰り返しの回数を制限するようにしても良い。タイムアウト時間を用いる場合には、ステップS65から時間の計測を行う。
次に、図41乃至図44を用いてシステム評価値取得処理について説明する。
コスト値合成部315は、処理に係る仮想マシンのシステムIDを、例えば配置及び構成データ格納部316に格納されている仮システム配置設計データ又はテンポラリの仮システム配置設計データなどから取得する(ステップS141)。そして、コスト値合成部315は、取得したシステムIDから、適用すべき評価プラグイン及び合成係数を特定する(ステップS143)。第2管理テーブルから、システムIDに対応付けられているデータを読み出す。なお、デフォルトが指定されている場合には、第1管理テーブルを読み出す。図12の例であれは、第1乃至第3評価プラグインが特定され、それぞれについての合成係数が特定される。
そして、コスト値合成部315は、未処理の評価プラグインを1つ特定する(ステップS145)。その後、コスト値合成部315は、特定された評価プラグインに対して、システム評価値算出処理を実施させる(ステップS147)。
例えば、図42を用いて、可用性についての評価プラグインを呼び出した場合におけるシステム評価値算出処理Aを説明する。
まず、第1評価プラグインは、処理に係るシステムについての仮システム配置設計データ又はテンポラリの仮システム配置設計データを、配置及び構成データ格納部316から読み出す(ステップS161)。そして、第1評価プラグインは、システム評価値を「0」に初期化する(ステップS163)。
その後、第1評価プラグインは、仮システム配置設計データにおいて、処理に係るシステムと同じシステムIDを有する未処理のクラスを1つ特定する(ステップS165)。そして第1評価プラグインは、同一システム且つ同一クラスに属する仮想マシンが配置されている物理サーバ毎に、仮想マシンの個数nをカウントして、このクラスのコスト値を以下の算式に従って算出する(ステップS167)。具体的には、コスト値=p×(n−1)2によって計算する。pは係数で例えば30である。この算式の考え方は、第1の実施の形態において説明したものと同様である。例えば、Svr001に2個、Srv002に3個配置されている場合には、30×(2−1)2+30×(3−1)2=150というようにコスト値が算出される。
その後、第1評価プラグインは、クラスのコスト値を、システム評価値に加算することで、全クラスについてのコスト値合計を算出する(ステップS169)。その後、第1評価プラグインは、未処理のクラスが存在するか判断する(ステップS171)。未処理のクラスが存在する場合にはステップS165に戻る。一方、未処理のクラスが存在しない場合には、コスト値合計であるシステム評価値を、コスト値合成部315に出力し、呼び出し元の処理に戻る。
また、図43を用いて、電力についての評価プラグインを呼び出した場合におけるシステム評価値算出処理Bを説明する。
第2評価プラグインは、仮システム配置設計データ又はテンポラリの仮システム配置設計データを、配置及び構成データ格納部316から読み出す(ステップS181)。その後、第2評価プラグインは、仮システム配置設計データ又はテンポラリの仮システム配置設計データから、関係する物理サーバを特定し、当該物理サーバのデータを、配置及び構成データ格納部316における物理サーバデータから読み出す(ステップS183)。
また、第2評価プラグインは、システム評価値を「0」に初期化する(ステップS185)。さらに、第2評価プラグインは、特定された物理サーバのうち、未処理の物理サーバを1つ特定する(ステップS187)。そして、第2評価プラグインは、特定された物理サーバの電源状態に応じて、当該物理サーバについてのコスト値を算出する(ステップS189)。本実施の形態においては、電源状態が「ON」であればコスト値を「0」と設定し、電源状態が「OFF」であればコスト値を「10」と設定する。このようなコスト値設定の考え方は、第1の実施の形態において説明したものと同様である。
その後、第2評価プラグインは、物理サーバについてコスト値を、システム評価値に加算することで、特定された物理サーバのうち全ての物理サーバについてのコスト値合計を算出する(ステップS191)。そして、第2評価プラグインは、未処理の物理サーバが存在するか判断する(ステップS193)。未処理の物理サーバが存在する場合にはステップS187に戻る。一方、未処理の物理サーバが存在しない場合には、コスト値合計であるシステム評価値を、コスト値合成部315に出力し、呼び出し元の処理に戻る。
さらに、図44を用いてネットワーク利用についての第3評価プラグインを呼び出した場合におけるシステム評価値算出処理Cを説明する。
まず、第3評価プラグインは、仮システム配置設計データ又はテンポラリの仮システム配置設計データを読み出す(ステップS201)。また、第3評価プラグインは、システム評価値を0に初期化する(ステップS203)。そして、第3評価プラグインは、仮システム配置設計データ又はテンポラリの仮システム配置設計データから、未処理のクラスを1つ第1クラスとして特定する(ステップS205)。第1クラスは基準となるクラスである。次に、第3評価プラグインは、配置及び構成データ格納部316におけるネットワーク管理テーブルなどから、第1クラスと同一システムID且つ同一ネットワークIDの異なるクラスを第2クラスとして特定する(ステップS207).
そして、第3評価プラグインは、第1クラスの仮想マシンの各々について、同じ物理サーバに配置されている第2クラスの仮想マシンの数C0と、同じ接続スイッチに接続されている異なる物理サーバに配置されている第2クラスの仮想マシンの数C1と、異なる接続スイッチに接続されている物理サーバに配置されている第2クラスの仮想マシンの数C2をカウントする(ステップS209)。カウントの仕方については、図19乃至図22を用いて説明したものと同様である。そして、第3評価プラグインは、カウント結果に応じて、コスト値を算出する(ステップS211)。本例では、C0の総和×a+C1の総和×b+C2の総和×cという数式を用いる。例えばa=1、b=2及びc=30といった係数を用いる。
さらに、第3評価プラグインは、システム評価値にコスト値を加算することで、全てのクラスについてのコスト値を合計する(ステップS213)。そして、第3評価プラグインは、未処理のクラスが存在するか判断する(ステップS215)。未処理のクラスが存在する場合には、ステップS205に戻る。一方、未処理のクラスが存在しない場合には、システム評価値/2をコスト値合成部315に返して、呼び出し元の処理に戻る。システム評価値/2にしているのは、仮想マシン間の接続を両側からカウントしているのでカウント値が2倍になってしまっているためである。
図41の処理の説明に戻って、コスト値合成部315は、特定された評価プラグインのうち未処理の評価プラグインが存在するか判断する(ステップS149)。未処理の評価プラグインが存在する場合にはステップS145に戻る。一方、未処理の評価プラグインが存在しない場合には、各評価プラグインから取得したシステム評価値と、対応する合成係数との積の総和を、合成システム評価値として算出する(ステップS151)。コスト値合成部315は、この合成システム評価値を制御部312に返す。この合成システム評価値は、制御部312ではシステム評価値として処理される。
以上のような処理を実施することで、システム完成後のコスト値合計であるシステム評価値が算出されるようになる。
[実施の形態3]
次に、本技術の第3の実施の形態について説明する。本実施の形態では、ある順番で仮想マシンを配置した後に、仮想マシン毎に配置先の物理サーバを見直すことで、よりコストが低い仮想マシン配置を探索する処理を実施する例を説明する。
システムの構成については、第1の実施の形態とほぼ同様である。異なる点は、設定データ格納部317に図33Aに示すような物理サーバを指定する上限台数である指定物理サーバ台数(例えば99台)のデータが格納されている。更に場合によっては図33Bに示すようなタイムアウト時間(例えば10秒)のデータが格納されているので、制御部312が、設定データ格納部317にアクセスすることである。図2では、点線にてこのアクセスが表されている。
そして、第3の実施の形態におけるシステムの処理について図45乃至図54を用いて説明する。
例えばユーザ装置AがVM配置要求をクラウドセンタ3に送信すると、クラウドセンタ3における配置設計装置31の要求受信部311は、当該VM配置要求を受信し、制御部312に出力する(図45:ステップS301)。本実施の形態でも、第1の実施の形態で説明したようなシステムについての仮想マシンを、いずれかの物理サーバに配置するようなVM配置要求を受信した場合を想定する。
次に、制御部312は、受信したVM配置要求から配置及び構成データ格納部316に格納すべきデータを生成し、格納する(ステップS303)。第1の実施の形態と同様に、システム管理テーブル(図13)、ネットワーク管理テーブル(図14)及びクラス管理テーブル(図15)のデータを生成し、格納する。これらのデータについては、上で述べたVM配置要求から生成可能である。
また、制御部312は、設定データ格納部317に格納されている指定物理サーバ台数を読み出す(ステップS305)。
そして、制御部312は、配置すべき仮想マシンのうち、未処理の仮想マシンを1つ特定する(ステップS307)。そして、制御部312は、特定された仮想マシンについて、コスト値合成部315及び評価部318に、グルーピング処理を実施させる(ステップS309)。グルーピング処理については、第1の実施の形態と同様であるから、これ以上説明しない。結果として、合成グルーピングデータが生成されることになる。
そして、制御部312は、コスト値合成部315から合成グルーピングデータを受け取ると、当該合成グルーピングデータにおいて、コスト値が最低の物理サーバ群から、所定の法則に従って物理サーバを1台選択する(ステップS311)。例えば、物理サーバデータにおいて、最も残配備可能サイズが小さいものを選択しても良いし、逆に最も残配備可能サイズが大きいものを選択しても良い。さらに、コスト値が最低の物理サーバ群の中でランダムに選択しても良い。さらに、他の観点に従って物理サーバを1台選択するようにしても良い。
そして、制御部312は、選択された物理サーバのIDを、ステップS311で特定された仮想マシンの仮配置先として、配置及び構成データ格納部316に格納されている物理サーバデータにおいて登録すると共に、VM管理テーブルにおいても同様に登録する(ステップS313)。
その後、制御部312は、配置すべき仮想マシンにおいて未処理の仮想マシンが存在するか判断する(ステップS315)。未処理の仮想マシンが存在している場合には、処理はステップS307に戻る。一方、未処理の仮想マシンがない場合には、端子Dを介して図46の処理に移行する。
図46の処理の説明に移行して、制御部312は、配置及び構成データ格納部316におけるVM管理テーブル又は物理サーバデータにおける仮配置に係るVM配置データから、仮システム配置設計データを生成し、配置及び構成データ格納部316に格納する(ステップS317)。また、制御部312は、配置及び構成データ格納部316におけるVM管理テーブル及び物理サーバデータにおける仮想マシンの仮配置のデータを削除する(ステップS319)。これは、以下で繰り返し、仮配置を行うためである。その後、制御部312は、コスト値合成部315及び評価部318に、システム評価値取得処理を実施させる(ステップS321)。この処理は、第2の実施の形態において説明したものと同様であり、ステップS317で生成した仮システム配置設計データをベースに処理を行う。
そして、制御部312は、ステップS321で算出されたシステム評価値を、仮システム配置設計データに追加する(ステップS323)。なお、図37のような仮システム配置設計データが得られた場合には、システム評価値「216」が算出され、図47に示すように、仮システム配置設計データにシステム評価値が追加される。なお、可用性についての評価プラグインから得られるシステム評価値は「0」で合成係数「1」を乗じて、総合でも「0」となる。また、電力についての評価プラグインから得られるシステム評価値は「30」で合成係数「2」を乗じて、総合で「60」となる。さらに、ネットワーク利用についての評価プラグインから得られるシステム評価値が「156」で合成係数「1」を乗じて、総合で「156」が得られる。そうすると、最終的なシステム評価値は「216」となるものとする。なお、図47に示すように、さらにテンポラリサーバIDをも管理するものとする。但し、テンポラリサーバIDには、まだ何も設定されていない。
次に、制御部312は、ステップS317で生成した仮システム配置設計データをベースに、少しずつ仮想マシンの配置先の物理サーバを変更するため、仮システム配置設計データにおける未処理の仮想マシンを1つ特定する(ステップS325)。例えば、VM005−05、VM005−06、VM005−07、VM005−08、VM005−01、VM005−02、VM005−03、VM005−04といった順番で仮想マシンを特定するものとする。そして、制御部312は、物理マシン変更台数をカウントするためのカウンタCrを0に初期化する(ステップS327)。次に、制御部312は、残配備可能サイズと、配置しようとする仮想マシンのサイズとから、配置不可能な物理サーバの台数をカウントし、その結果のCnをカウンタCrへ代入する(ステップS328)。その後、制御部312は、特定された仮想マシンの仮配置先物理サーバを変更する(ステップS329)。例えば、物理サーバの識別番号を1ずつずらすといったような手法が採用可能である。但し、重複しないようにランダムに選択するようにしても良い。なお、残配備可能サイズと、配置しようとする仮想マシンのサイズとから、配置可能な物理サーバのみを特定する。
例えば、仮想マシンVM005−05の仮配置先の物理サーバをSvr013からSvr014に変更する。但し、ここでは、仮想マシンVM005−05乃至VM005−08までは他の物理サーバに変更したとしてもシステム評価値を下げることができないものとする。
そして、制御部312は、ステップS329の変更を反映させた仮システム配置設計データについてシステム評価値取得処理を実施する(ステップS331)。この処理はステップS321と同様である。処理は端子Eを介して図48の処理に移行する。
図48の処理の説明に移行して、制御部312は、ステップS331で取得したシステム評価値の方が、仮システム配置設計データに含まれる評価値よりも小さいか判断する(ステップS333)。ステップS331で取得したシステム評価値の方が小さいわけではない場合には、ステップS337に移行する。
一方、ステップS331で取得したシステム評価値の方が小さい場合には、制御部312は、変更後の仮配置先物理サーバのIDをテンポラリサーバIDとして登録し、ステップS331で取得したシステム評価値で、仮システム配置設計データにおけるシステム評価値を置換する(ステップS335)。上の例では、仮想マシンVM005−01について、物理サーバSvr009からSvr011に変更した場合に、システム評価値が、変更前のシステム評価値を下回るものとする。例えば、この場合、ネットワーク利用についてのシステム評価値が「97」で合成係数「1」を乗じて97となる。他のシステム評価値は同じで、合計で157となる。従って、図49に示すような仮システム配置設計データの変更がなされる。VM005−01についての仮配置先の物理サーバがSvr011に変更され、テンポラリサーバIDもSvr011に変更されている。さらに、システム評価値も「157」に変更されている。次いで、制御部312は、現在のVM以外の「既処理のVM」を「未処理のVM」へ変更する(ステップS336)。
その後、制御部312は、カウンタCrが指定物理サーバ台数以上となっているか判断する(ステップS337)。設定データ格納部317に設定されている指定物理サーバ台数以上となっているかを確認する。指定物理サーバ台数以上となっていない場合には、制御部312は、カウンタCrの値を1インクリメントし(ステップS338)、処理は端子Fを介してステップS329に戻る。
一方、Crが指定物理サーバ台数以上となった場合には、制御部312は、テンポラリサーバIDで、ステップS325で特定された仮想マシンの仮配置先物理サーバのIDを置換する(ステップS339)。そして、制御部312は、テンポラリサーバIDをクリアする(ステップS341)。さらに、制御部312は、未処理の仮想マシンが存在しているか判断する(ステップS343)。未処理の仮想マシンが存在する場合には端子Gを介してステップS325に戻る。
上で述べた例では、仮想マシンVM005−01についての仮配置先物理サーバを変更してもシステム評価値を下げることができず、テンポラリサーバIDがクリアされて、図50に示すような状態に遷移する。次に、仮想マシンVM005−02について仮配置先物理サーバを変更することになるが、例えばSvr012に変更した際に、可用性についての評価プラグインのシステム評価値が「30」で合成係数「1」でシステム評価値「30」と算出され、電力についての評価プラグインのシステム評価値が「30」で合成係数「2」でシステム評価値「60」と算出され、ネットワーク利用についての評価プラグインのシステム評価値が「9」で合成係数「1」でシステム評価値「9」と算出される。従って合計でシステム評価値は「99」となる。従って、仮システム配置設計データは、図51に示すような状態になる。すなわち、仮想マシンVM005−02の仮配置先物理サーバが「Svr012」と設定され、テンポラリサーバID「Svr012」と設定され、システム評価値が「99」に設定される。
さらに、仮想マシンVM005−02の仮配置先物理サーバをSvr014に変更すると、可用性についての評価プラグインのシステム評価値が「0」になり、電力についての評価プラグインのシステム評価値が「40」で合成係数「2」との積でシステム評価値「80」が得られ、ネットワーク利用についての評価プラグインのシステム評価値が「10」で合成係数「1」との積でシステム評価値「10」が得られる。すなわち、合計のシステム評価値は「90」であり、これまでの中で最も低いシステム評価値が得られたことになる。従って、仮システム配置設計データは図52に示すように変更される。すなわち、仮想マシンVM005−02についての仮配置先物理サーバが「Svr014」に変更され、テンポラリサーバIDが「Svr014」に変更され、システム評価値が「90」へ更新される。この後仮想マシンVM005−02についてはシステム評価値は小さくならないので、図53に示すような状態に変更される。すなわち、テンポラリサーバIDがクリアされる。以後は、システム評価値が小さな値になることはないものとする。
図48の処理の説明に戻って、未処理の仮想マシンが存在していない場合には、制御部312は、仮システム配置設計データを、配置及び構成データ格納部316におけるVM管理テーブル及び物理サーバデータに反映する(ステップS345)。すなわち、仮配置仮想マシンのIDのデータを更新する。その後、制御部312は、仮システム配置設計データからVM配置設計データを生成し、配置設計データ格納部313に格納する(ステップS347)。例えば、図54に示すようなVM配置設計データを生成する。出力部314は、このようなVM配置設計データを管理装置33に出力する。
以上のようなVM配置設計データがあれば、管理装置33は、適切に仮想マシンを指定の物理サーバ上に起動させることができる。
例えば、自動的に仮想マシンを起動させる場合には、管理装置33からの配備完了通知に基づき制御部312は、配備完了通知に係るVM配置設計データに従って、配置及び構成データ格納部316におけるVM管理テーブル及び物理サーバデータの状態を更新する。具体的には、仮配置仮想マシンIDの列に登録されている仮想マシンIDを、配置済仮想マシンIDの列に登録し直す。
以上のような処理を実施することで、ユーザ又はシステム毎に柔軟に物理サーバについて評価を行って、当該評価結果に基づく合成コスト値に従って適切な物理サーバに仮想マシンを配置するという設計データが得られるようになる。なお、第1及び第2の実施の形態とは異なり、一度決めた仮配置先物理サーバを少しずつ変更してシステム評価値が低い値となる他の物理サーバを探索しているので、ユーザ又はシステムについて考慮すべき要件についてコストの低い仮想マシン配置が可能となる。
なお、上では新規にシステムを配備するような例を説明したが、あるシステムに仮想マシンを追加するような場合でもほぼ同様の処理で取り扱うことができる。ネットワーク利用についてのコスト値については、調整が必要になる場合もある。
なお、第2の実施の形態を第3の実施の形態でも実施した後に、上で述べたような仮想マシンの仮配置先物理サーバをずらすような処理を実施するようにしても良い。
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で述べた装置の機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。また、処理フローについても、処理結果が変わらない限り、処理順番を異なるようにしても良いし、並列実行することができる場合もある。
さらに、評価プラグインについては、上でアルゴリズムの一例を述べたが、他のアルゴリズムを採用するようにしても良い。さらに種類もより多くのものを採用するようにしても良い。
なお、上で述べた配置設計装置31、ユーザ装置及び管理装置33は、コンピュータ装置であって、図55に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると、以下のようになる。
本技術の実施の形態に係る配置設計方法は、(A)1又は複数の仮想マシンを含むシステムについての仮想マシンを物理マシンに配置する要求を受信するステップと、(B)システム又は要求の送信元に対応付けて登録されている、仮想マシン配置の評価指標に関するデータを読み出すステップと、(C)1又は複数の仮想マシンの各々について、仮想マシン配置の評価指標に関するデータに基づき、使用可能な物理マシンのいずれかに配置する場合における第1のコストを算出し、算出された第1のコストが最低となる物理マシンを特定するステップと、(D)1又は複数の仮想マシンについて特定された物理マシンについてのデータを含む配置設計データを生成するステップとを含む。
ユーザや要求の送信元毎に評価指標に関するデータを設定すれば、ユーザや要求の送信元に応じて、仮想マシンを配置すべき物理マシンを柔軟に決定できるようになる。
なお、上で述べた物理マシンを特定するステップが、1又は複数の仮想マシンの各々について、(c1)仮想マシン配置の評価指標に関するデータに含まれる評価指標毎に、使用可能な物理マシンの各々についての第2のコストを算出するステップと、(c2)使用可能な物理マシンの各々について、評価指標の各々について算出された第2のコストを、仮想マシン配置の評価指標に関するデータに含まれる重み値に基づき加算することで、第1のコストを算出するステップとを含むようにしてもよい。このように、評価指標及び重みを組み合わせて、柔軟にコスト値の算出方法を規定することができ、柔軟に配置先の物理マシンを決定できるようになる。
また、上で述べた物理マシンを特定するステップにおいて、複数の仮想マシンを配置する場合には、任意の順番で仮想マシンを選択し、評価指標毎に、先行して処理された仮想マシン及び当該仮想マシンについて特定された物理マシンについての影響を勘案した第2のコストを算出するようにしてもよい。このように任意の順番で1つずつ仮想マシンの配置先物理マシンを特定するようにすれば、コストの計算処理が簡単になる。
さらに、上で述べた物理マシンを特定するステップを、仮想マシンを異なる順番で選択するように複数回実行するようにしてもよい。この場合、本配置設計方法は、(E)物理マシンを特定する処理を実行する毎に、当該物理マシンを特定する処理により特定される、複数の仮想マシンの各々と物理マシンとの対応関係についての評価値を、仮想マシン配置の評価指標に関するデータに基づき算出するステップと、(F)最も評価値が低い対応関係を特定するステップとをさらに有する。仮想マシンの配置順によって解が異なる可能性がある手法を採用する場合には、順番を変えて全体コスト値である評価値が最低となる仮想マシンの配置先物理マシンを探索するようにしても良い。
また、本配置設計方法は、(G)物理マシンを特定する処理を実施することで複数の仮想マシンの各々について特定された物理マシンのうち、少なくとも一部の物理マシンを他の物理マシンに変更した上で、複数の仮想マシンの各々と物理マシンとの対応関係についての評価値を、仮想マシン配置の評価指標に関するデータに基づき算出するステップと、(H)最も評価値が低い対応関係を特定するステップとをさらに含むようにしてもよい。このようにすれば、より適切な配置先の物理マシンが見つかる場合もある。
本実施の形態に係る配置設計装置は、1又は複数の仮想マシンを含むシステムについての仮想マシンを物理マシンに配置する要求を受信する受信部(図56:3010)と、システム又は要求の送信元に対応付けて登録されている、データ格納部(図56:3040)から、仮想マシン配置の評価指標に関するデータを読み出し、1又は複数の仮想マシンの各々について、仮想マシン配置の評価指標に関するデータに基づき、使用可能な物理マシンのいずれかに配置する場合における第1のコストを算出するコスト算出部(図56:3030)と、コスト算出部に処理を指示し、1又は複数の仮想マシンの各々について、算出された第1のコストが最低となる物理マシンを特定し、1又は複数の仮想マシンについて特定された物理マシンについてのデータを含む配置設計データを生成する制御部(図56:3020)と有する。
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。

Claims (6)

  1. 数の仮想マシンを含むシステムについての仮想マシンを物理マシンに配置する要求を受信し、
    前記システム又は前記要求の送信元に対応付けて登録されている、仮想マシン配置の評価指標に関するデータを読み出し、
    記複数の仮想マシンの各々について、前記仮想マシン配置の評価指標に関するデータに基づき、使用可能な物理マシンのいずれかに配置する場合における第1のコストを算出し、算出された前記第1のコストが最低となる物理マシンを特定する処理を、前記複数の仮想マシンを異なる順番で選択するように複数回実行し、
    前記物理マシンを特定する処理を実行する毎に、当該物理マシンを特定する処理により特定される、前記複数の仮想マシンの各々と物理マシンとの対応関係についての評価値を、前記仮想マシン配置の評価指標に関するデータに基づき算出し、
    最も評価値が低い対応関係を特定し、
    特定された前記対応関係に基づいて、記複数の仮想マシンについて特定された前記物理マシンについてのデータを含む配置設計データを生成する
    処理を、コンピュータに実行させるためのプログラム。
  2. 前記物理マシンを特定する処理は、
    記複数の仮想マシンの各々について、
    前記仮想マシン配置の評価指標に関するデータに含まれる評価指標毎に、前記使用可能な物理マシンの各々についての第2のコストを算出し、
    前記使用可能な物理マシンの各々について、前記評価指標の各々について算出された第2のコストを、前記仮想マシン配置の評価指標に関するデータに含まれる重み値に基づき加算することで、前記第1のコストを算出する
    処理を含む請求項1記載のプログラム。
  3. 前記物理マシンを特定する処理において
    前記評価指標毎に、先行して処理された仮想マシン及び当該仮想マシンについて特定された物理マシンについての影響を勘案した第2のコストを算出する
    請求項2記載のプログラム。
  4. 前記コンピュータに、
    前記物理マシンを特定する処理を実施することで前記複数の仮想マシンについて特定された物理マシンのうち、少なくとも一部の物理マシンを他の物理マシンに変更した上で、前記複数の仮想マシンの各々と物理マシンとの対応関係についての評価値を、前記仮想マシン配置の評価指標に関するデータに基づき算出する処理と、
    最も評価値が低い対応関係を特定する処理と、
    をさらに実行させるための請求項1乃至3のいずれか1つ記載のプログラム。
  5. 数の仮想マシンを含むシステムについての仮想マシンを物理マシンに配置する要求を受信し、
    前記システム又は前記要求の送信元に対応付けて登録されている、仮想マシン配置の評価指標に関するデータを読み出し、
    記複数の仮想マシンの各々について、前記仮想マシン配置の評価指標に関するデータに基づき、使用可能な物理マシンのいずれかに配置する場合における第1のコストを算出し、算出された前記第1のコストが最低となる物理マシンを特定する処理を、前記複数の仮想マシンを異なる順番で選択するように複数回実行し、
    前記物理マシンを特定する処理を実行する毎に、当該物理マシンを特定する処理により特定される、前記複数の仮想マシンの各々と物理マシンとの対応関係についての評価値を、前記仮想マシン配置の評価指標に関するデータに基づき算出し、
    最も評価値が低い対応関係を特定し、
    特定された前記対応関係に基づいて、記複数の仮想マシンについて特定された前記物理マシンについてのデータを含む配置設計データを生成する
    処理を、コンピュータが実行する配置設計方法。
  6. 数の仮想マシンを含むシステムについての仮想マシンを物理マシンに配置する要求を受信する受信部と、
    前記システム又は前記要求の送信元に対応付けて登録されている、仮想マシン配置の評価指標に関するデータを読み出し、前記複数の仮想マシンの各々について、前記仮想マシン配置の評価指標に関するデータに基づき、使用可能な物理マシンのいずれかに配置する場合における第1のコストを算出するコスト算出部と、
    前記コスト算出部に処理を指示し、前記複数の仮想マシンの各々について、算出された前記第1のコストが最低となる物理マシンを特定する処理を、前記複数の仮想マシンを異なる順番で選択するように複数回実行し、前記物理マシンを特定する処理を実行する毎に、当該物理マシンを特定する処理により特定される、前記複数の仮想マシンの各々と物理マシンとの対応関係についての評価値を、前記仮想マシン配置の評価指標に関するデータに基づき算出し、最も評価値が低い対応関係を特定し、特定された前記対応関係に基づいて、記複数の仮想マシンについて特定された前記物理マシンについてのデータを含む配置設計データを生成する制御部と、
    を有する配置設計装置。
JP2013522628A 2011-07-04 2011-07-04 配置設計プログラム及び方法、並びに情報処理装置 Expired - Fee Related JP5682709B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/065272 WO2013005290A1 (ja) 2011-07-04 2011-07-04 配置設計プログラム及び方法、並びに情報処理装置

Publications (2)

Publication Number Publication Date
JPWO2013005290A1 JPWO2013005290A1 (ja) 2015-02-23
JP5682709B2 true JP5682709B2 (ja) 2015-03-11

Family

ID=47436663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013522628A Expired - Fee Related JP5682709B2 (ja) 2011-07-04 2011-07-04 配置設計プログラム及び方法、並びに情報処理装置

Country Status (4)

Country Link
US (1) US9542225B2 (ja)
EP (1) EP2731009A4 (ja)
JP (1) JP5682709B2 (ja)
WO (1) WO2013005290A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10348628B2 (en) * 2013-09-12 2019-07-09 Vmware, Inc. Placement of virtual machines in a virtualized computing environment
US20150081400A1 (en) * 2013-09-19 2015-03-19 Infosys Limited Watching ARM
US9722877B2 (en) * 2014-09-12 2017-08-01 Viasat, Inc. Method and apparatus for managing virtual networks via cloud hosted application
US9367344B2 (en) 2014-10-08 2016-06-14 Cisco Technology, Inc. Optimized assignments and/or generation virtual machine for reducer tasks
US9846589B2 (en) 2015-06-04 2017-12-19 Cisco Technology, Inc. Virtual machine placement optimization with generalized organizational scenarios
US9965261B2 (en) * 2015-08-18 2018-05-08 International Business Machines Corporation Dependency-based container deployment
US10990467B2 (en) 2016-12-15 2021-04-27 Nutanix, Inc. Accessing computing resource attributes of an external service provider
US10277526B2 (en) * 2017-02-20 2019-04-30 International Business Machines Corporation Injection of information technology management process into resource request flows
US11036537B1 (en) * 2019-03-26 2021-06-15 Amazon Technologies, Inc. On demand capacity management in provider networks using type-agnostic resources

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010218307A (ja) * 2009-03-17 2010-09-30 Hitachi Ltd 分散計算制御装置及び方法
JP2011095871A (ja) * 2009-10-28 2011-05-12 Hitachi Ltd プログラム配布方法及び運用管理装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4119239B2 (ja) * 2002-12-20 2008-07-16 株式会社日立製作所 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム
US20070204266A1 (en) * 2006-02-28 2007-08-30 International Business Machines Corporation Systems and methods for dynamically managing virtual machines
US8296760B2 (en) * 2006-10-27 2012-10-23 Hewlett-Packard Development Company, L.P. Migrating a virtual machine from a first physical machine in response to receiving a command to lower a power mode of the first physical machine
JP4724730B2 (ja) * 2008-04-09 2011-07-13 株式会社日立製作所 情報処理システムの運用管理方法、運用管理プログラム、および運用管理装置、ならびに情報処理システム
JP4922255B2 (ja) * 2008-06-30 2012-04-25 株式会社日立製作所 情報処理システムおよびそのシステムにおける省電力制御方法
US8799895B2 (en) * 2008-12-22 2014-08-05 Electronics And Telecommunications Research Institute Virtualization-based resource management apparatus and method and computing system for virtualization-based resource management
US8336049B2 (en) * 2009-02-05 2012-12-18 Vmware, Inc. Virtual machine utility computing method and system
JP5708013B2 (ja) 2011-02-22 2015-04-30 富士通株式会社 仮想マシンの配置変更方法、仮想マシンの配置変更装置、及び、仮想マシンの配置変更プログラム
US9537788B2 (en) * 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010218307A (ja) * 2009-03-17 2010-09-30 Hitachi Ltd 分散計算制御装置及び方法
JP2011095871A (ja) * 2009-10-28 2011-05-12 Hitachi Ltd プログラム配布方法及び運用管理装置

Also Published As

Publication number Publication date
EP2731009A4 (en) 2015-01-07
US9542225B2 (en) 2017-01-10
JPWO2013005290A1 (ja) 2015-02-23
WO2013005290A1 (ja) 2013-01-10
EP2731009A1 (en) 2014-05-14
US20140115168A1 (en) 2014-04-24

Similar Documents

Publication Publication Date Title
JP5682709B2 (ja) 配置設計プログラム及び方法、並びに情報処理装置
Tong et al. A hierarchical edge cloud architecture for mobile computing
Gao et al. System design of cloud computing based on mobile learning
JP6424823B2 (ja) 情報処理装置、及び、システム設計支援方法
CN102646052B (zh) 一种虚拟机部署方法、装置及系统
Lu et al. Research on Hadoop cloud computing model and its applications
US20130227232A1 (en) Partition aware quality of service feature
CN112948063B (zh) 云平台的创建方法、装置、云平台以及云平台实现系统
WO2013030436A1 (en) Method and apparatus for information clustering based on predictive social graphs
CN110798517A (zh) 去中心化集群负载均衡方法、系统、移动终端及存储介质
Li et al. An effective scheduling strategy based on hypergraph partition in geographically distributed datacenters
CN103593192A (zh) 一种基于slurm调度的算法集成与评测平台及方法
JPWO2011071104A1 (ja) 分散ファイルシステム、そのデータ選択方法およびプログラム
Sudheer et al. Optimization of the hop-byte metric for effective topology aware mapping
WO2017002222A1 (ja) システムデプロイ装置およびシステムデプロイ方法
Yang et al. High-performance docker integration scheme based on OpenStack
Subramoni et al. Design of network topology aware scheduling services for large infiniband clusters
WO2011096314A1 (ja) Webサービス構築管理方法、装置、及びプログラム
Zhao et al. An improved data placement strategy in a heterogeneous hadoop cluster
CN115729693A (zh) 数据处理方法、装置、计算机设备及计算机可读存储介质
CN114020454A (zh) 一种内存管理方法、装置、设备及介质
Ambalavanan et al. HYDRO: Hybrid Orchestration of In-Network Computations for the Internet of Things
WO2022174675A1 (zh) 算力信息的处理方法、第一网络设备及系统
Soner et al. A new auction‐based scheduler for heterogeneous systems with moldable generic resources support
CN118093582A (zh) 数据处理方法、电子设备及存储介质

Legal Events

Date Code Title Description
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: 20141216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141229

R150 Certificate of patent or registration of utility model

Ref document number: 5682709

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees