JP5110315B2 - 仮想マシン管理装置、仮想マシン管理方法およびプログラム - Google Patents

仮想マシン管理装置、仮想マシン管理方法およびプログラム Download PDF

Info

Publication number
JP5110315B2
JP5110315B2 JP2008516678A JP2008516678A JP5110315B2 JP 5110315 B2 JP5110315 B2 JP 5110315B2 JP 2008516678 A JP2008516678 A JP 2008516678A JP 2008516678 A JP2008516678 A JP 2008516678A JP 5110315 B2 JP5110315 B2 JP 5110315B2
Authority
JP
Japan
Prior art keywords
virtual machine
server device
score
placement
index value
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
JP2008516678A
Other languages
English (en)
Other versions
JPWO2007136021A1 (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
Priority to JP2008516678A priority Critical patent/JP5110315B2/ja
Publication of JPWO2007136021A1 publication Critical patent/JPWO2007136021A1/ja
Application granted granted Critical
Publication of JP5110315B2 publication Critical patent/JP5110315B2/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/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
    • 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/45591Monitoring or debugging support

Landscapes

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

Description

本発明は仮想マシン管理装置および仮想マシン管理方法に関し、特に仮想マシン上で動作するプログラムの負荷特性に基づいて物理マシンへの仮想マシンの配置方法を動的に決定する仮想マシン管理装置および仮想マシン管理方法に関する。
従来、単一のサーバ装置上で複数のオペレーティングシステム(OS)を動作させることにより、1台のコンピュータを仮想的に複数台のサーバとして使うことのできる仮想マシン(VM:Virtual Machine)技術が知られている。ここで、単一のサーバ装置とは、ワークステーションやパーソナルコンピュータ等のコンピュータを指す。この種の技術を適用した製品として、ヴイエムウェア社による「VMWare ESX Server」、マイクロソフト社による「Virtual Server」、および米国XenSource社による「Xen」などが知られている。これらの製品では、VM生成用のコマンドを発行することにより新たな仮想マシンを、サーバ装置上に生成することができる。
また、サーバ装置がネットワークを通じて複数台接続された分散プロセッサ環境において、或るサーバ装置に生成された仮想マシンを他のサーバ装置に移動させる技術が知られている。仮想マシンの移動技術を記載した文献としては、例えば、特開平10−283210号公報(以下、「特許文献1」と呼ぶ)がある。また、VMwareではvMotion、Xenではmigrationとして仮想マシンの移動機能を提供している。
このようにサーバ装置が複数台に分散した環境において、仮想マシンを新たに生成する場合、従来は、特開2005−115653号公報(以下、「特許文献2」と呼ぶ)に記載されるように、リソースに余裕のあるサーバ装置をランダムに選択する方法が採用されている。ここで、特許文献2では、リソースに余裕のあるサーバ装置が1台も存在しない場合は、仮想マシンの新規生成を断念し、エラーメッセージを表示する。また、特許文献2では、新規仮想マシンの生成とは非同期に、既存の仮想マシンの所定時間毎のパフォーマンスを示す実測データに基づいて、各仮想マシンを複数のサーバ装置の何れかで稼動させた場合の各時間における各仮想マシンのパフォーマンス値の合計が最大となる仮想マシンとサーバ装置の組合せを算出し、この算出した組合せに対して各仮想マシンの再配置を行うようにしている。
上述したように従来は、仮想マシンの新規作成時、リソースに余裕のあるサーバ装置をランダムに選択して仮想マシンを作成している。このため、以下のような課題がある。
第1の課題は、新規に生成された仮想マシンが十分な性能を発揮できず、また、既存の他の仮想マシンに悪影響を与える恐れが多いことである。その理由は、ランダムに選択したサーバ装置が、新規仮想マシンの生成に最適なサーバ装置である確率は非常に低いためである。
第2の課題は、仮想マシンの新規作成が行えない恐れが多いことである。その理由は、リソースに余裕のあるサーバ装置が1つも存在しなければ、仮想マシンの新規作成が行えないからである。
本発明の第1の目的は、適切なサーバ装置に仮想マシンを作成できるようにすることにある。
本発明の第2の目的は、仮想マシンの新規作成を可能な限り行えるようにすることにある。
本発明の第1の仮想マシン管理装置は、ネットワークを介して複数のサーバ装置に接続された仮想マシン管理装置であって、仮想マシン種別の組合せ毎にその組合せの仮想マシン種別どうしが同じサーバ装置に配置される適切度を示すスコアを記憶する配置規則表と、新規の仮想マシンを配置可能な1以上のサーバ装置を選択し、該選択したサーバ装置について新規の仮想マシンを配置する場合における指標値を前記スコアを用いて計算し、該計算した指標値を参照して新規の仮想マシンの配置先を決定する仮想マシン配置決定手段とを備えることを特徴とする。
本発明の第2の仮想マシン管理装置は、第1の仮想マシン管理装置において、新規の仮想マシンを配置可能なサーバ装置として、新規の仮想マシンに必要なリソースを現に確保できるサーバ装置を選択することを特徴とする。
本発明の第3の仮想マシン管理装置は、第2の仮想マシン管理装置において、前記仮想マシン配置決定手段から呼び出されることにより、サーバ装置上の既存の仮想マシンを他のサーバ装置に移動させることにより、新規の仮想マシンを配置可能なサーバ装置を生成する仮想マシン移動決定手段を備えることを特徴とする。
本発明の第4の仮想マシン管理装置は、第3の仮想マシン管理装置において、前記仮想マシン移動決定手段は、新規の仮想マシンを配置可能なサーバ装置を生成できる移動方法の各候補について、当該移動方法の適切度を示す指標値を前記スコアを用いて計算し、該計算した指標値を参照して仮想マシンの移動方法を決定することを特徴とする。
本発明の第5の仮想マシン管理装置は、第3または第4の仮想マシン管理装置において、前記仮想マシン配置決定手段は、新規の仮想マシンに必要なリソースを現に確保できるサーバ装置が存在しない場合に前記仮想マシン移動決定手段を呼び出すことを特徴とする。
本発明の第6の仮想マシン管理装置は、ネットワークを介して複数のサーバ装置に接続された仮想マシン管理装置であって、仮想マシン種別の組合せ毎にその組合せの仮想マシン種別どうしが同じサーバ装置に配置される適切度を示すスコアを記憶する配置規則表と、既存の仮想マシンの移動を伴わない新規の仮想マシンの配置方法、および、既存の仮想マシンの移動を伴う新規の仮想マシンの配置方法の各候補を選択し、該選択した各候補について、当該配置方法の適切度を示す指標値を前記スコアを用いて計算し、該計算した指標値を参照して新規の仮想マシンの配置先を決定する仮想マシン配置・移動決定手段とを備えることを特徴とする。
本発明の第7の仮想マシン管理装置は、第1または第6の仮想マシン管理装置において、新規の仮想マシンの配置とは独立に、サーバ装置上の仮想マシンを他のサーバ装置へ移動させる移動方法の各候補について、当該移動方法の適切度を示す指標値を前記スコアを用いて計算し、該計算した指標値を参照して既存の仮想マシンの移動を行う移動手段を備えることを特徴とする。
本発明の第8の仮想マシン管理装置は、第7の仮想マシン管理装置において、前記移動手段は、一定時間ごと、サーバ装置あるいは仮想マシンのリソースが予め定められた一定の条件に達するごと、または仮想マシンの停止ごとに動作することを特徴とする。
本発明の第9の仮想マシン管理装置は、第1または第6の仮想マシン管理装置において、仮想マシンの種別ごとに、その種別の仮想マシンが配置されているサーバ装置から当該仮想マシンのリソースの使用状況と他の仮想マシンとの間の通信状況とを収集するサーバ監視手段と、該サーバ監視手段で収集された情報と予め定められたスコア生成規則とから前記スコアを生成して前記配置規則表に記憶する配置規則生成手段とを備えることを特徴とする。
本発明の第1の仮想マシン管理方法は、ネットワークを介して複数のサーバ装置に接続されたコンピュータにより前記サーバ装置上の仮想マシンを管理する方法であって、前記コンピュータが、新規の仮想マシンを配置可能な1以上のサーバ装置を選択する第1のステップと、前記コンピュータが、前記選択した各サーバ装置について、仮想マシン種別の組合せ毎にその組合せの仮想マシン種別どうしが同じサーバ装置に配置される適切度を示すスコアを配置規則表から参照して、新規の仮想マシンを当該サーバ装置に配置する適切度を示す指標値を計算する第2のステップと、前記コンピュータが、前記計算した指標値を参照して新規の仮想マシンの配置先を決定する第3のステップとを含むことを特徴とする。
本発明の第2の仮想マシン管理方法は、第1の仮想マシン管理方法において、前記第1のステップでは、新規の仮想マシンを配置可能なサーバ装置として、新規の仮想マシンに必要なリソースを現に確保できるサーバ装置を選択することを特徴とする。
本発明の第3の仮想マシン管理方法は、第2の仮想マシン管理方法において、前記第1のステップでは、新規の仮想マシンに必要なリソースを現に確保できるサーバ装置が存在しない場合、サーバ装置上の既存の仮想マシンを他のサーバ装置に移動させることにより、新規の仮想マシンを配置可能なサーバ装置の生成を試みることを特徴とする。
本発明の第4の仮想マシン管理方法は、第3の仮想マシン管理方法において、前記第1のステップでは、新規の仮想マシンを配置可能なサーバ装置を生成できる移動方法の各候補について、当該移動方法の適切度を示す指標値を前記スコアを用いて計算し、該計算した指標値を参照して仮想マシンの移動方法を決定することを特徴とする。
本発明の第5の仮想マシン管理方法は、ネットワークを介して複数のサーバ装置に接続されたコンピュータにより前記サーバ装置上の仮想マシンを管理する方法であって、前記コンピュータが、既存の仮想マシンの移動を伴わない新規の仮想マシンの配置方法、および、既存の仮想マシンの移動を伴う新規の仮想マシンの配置方法の各候補を選択する第1のステップと、前記コンピュータが、前記選択した各候補について、仮想マシン種別の組合せ毎にその組合せの仮想マシン種別どうしが同じサーバ装置に配置される適切度を示すスコアを配置規則表から参照して、当該配置方法の適切度を示す指標値を計算する第2のステップと、前記コンピュータが、前記計算した指標値を参照して新規の仮想マシンの配置先を決定する第3のステップとを含むことを特徴とする。
本発明の第6の仮想マシン管理方法は、第1または第5の仮想マシン管理方法において、前記コンピュータが、新規の仮想マシンの配置とは独立に、サーバ装置上の仮想マシンを他のサーバ装置へ移動させる移動方法の各候補について、当該移動方法の適切度を示す指標値を前記スコアを用いて計算し、該計算した指標値を参照して既存の仮想マシンの移動を行う第4のステップをさらに含むことを特徴とする。
本発明の第7の仮想マシン管理方法は、第6の仮想マシン管理方法において、前記第4のステップは、一定時間ごと、サーバ装置あるいは仮想マシンのリソースが予め定められた一定の条件に達するごと、または仮想マシンの停止ごとに開始することを特徴とする。
本発明の第8の仮想マシン管理方法は、第1または第5の仮想マシン管理方法において、前記コンピュータが、仮想マシンの種別ごとに、その種別の仮想マシンが配置されているサーバ装置から当該仮想マシンのリソースの使用状況と他の仮想マシンとの間の通信状況とを収集する第5のステップと、前記コンピュータが、前記収集された情報と予め定められたスコア生成規則とから前記スコアを生成して前記配置規則表に記憶する第6のステップとをさらに含むことを特徴とする。
本発明にあっては、仮想マシン種別の組合せ毎にその組合せの仮想マシン種別どうしが同じサーバ装置に配置される適切度を示すスコアを用いて、新規の仮想マシンを配置可能な1以上のサーバ装置のそれぞれについて、新規の仮想マシンを当該サーバ装置に配置する適切度を示す指標値を計算し、この計算した指標値を参照して新規の仮想マシンの配置先を決定する。これにより、リソースに余裕のあるサーバ装置をランダムに選択する場合に比べて、より適切なサーバ装置に新規の仮想マシンを配置することができる。
上記のスコアは、例えば、仮想マシンの種別ごとに、その種別の仮想マシンが配置されているサーバ装置から当該仮想マシンのリソースの使用状況と他の仮想マシンとの間の通信状況とを収集し、この収集された情報と予め定められたスコア生成規則とから作成することができる。スコア生成規則としては、例えば、リソースの競合が少ないほど、また相互の通信が多いほど、数値の大きなスコアを算出する規則が用いられる。
新規の仮想マシンを配置可能な1以上のサーバ装置の候補としては、新規の仮想マシンに必要なリソースを現に確保できるサーバ装置にのみ限定しても良いが、既存の仮想マシンを他のサーバ装置に移動させることにより新規の仮想マシンを配置可能なサーバ装置も候補に含めれば、新規の仮想マシンの配置に成功する確率を高めることができる。このとき、新規の仮想マシンに必要なリソースを現に確保できるサーバ装置が存在しない場合に限って、既存の仮想マシンを他のサーバ装置に移動させることにより新規の仮想マシンを配置可能なサーバ装置の生成を試みるようにすれば、新規仮想マシンの配置時における既存仮想マシンへの影響を抑えることができる。また新規の仮想マシンを配置可能な1以上のサーバ装置の候補を選択する際に、既存の仮想マシンの移動を伴わない新規の仮想マシンの配置方法、および、既存の仮想マシンの移動を伴う新規の仮想マシンの配置方法の各候補を選択することも可能である。さらに、新規の仮想マシンの配置とは独立に、サーバ装置上の仮想マシンを他のサーバ装置へ移動させるようにしても良い。
本発明によれば、新規な仮想マシンを適切なサーバ装置、すなわち、新規に生成された仮想マシンが十分に性能を発揮でき、また、既存の他の仮想マシンに悪影響を与える恐れが少ないサーバ装置に作成することができる。その理由は、新規の仮想マシンを配置可能な1以上のサーバ装置のそれぞれについて、新規の仮想マシンを当該サーバ装置に配置する適切度を示す指標値を計算し、この計算した指標値を参照して新規の仮想マシンの配置先を決定するためである。
また、新規の仮想マシンを配置可能な1以上のサーバ装置の候補として、新規の仮想マシンに必要なリソースを現に確保できるサーバ装置以外に、既存の仮想マシンを他のサーバ装置に移動させることにより新規の仮想マシンを配置可能なサーバ装置なども含める構成にあっては、仮想マシンの新規作成に失敗する確率を低減することが可能となる。
図1は本発明の第1の実施の形態による仮想マシン管理装置を含む情報処理システムのブロック図である。
図2は本発明の第1の実施の形態による情報処理システムにおけるサーバ装置の内部構成を示すブロック図である。
図3は本発明の第1の実施の形態による仮想マシン管理装置におけるサーバ監視手段の動作手順を示すフローチャートである。
図4は本発明の第1の実施の形態による仮想マシン管理装置における資源情報DBに格納されるサーバ装置情報の一例を示す図である。
図5は本発明の第1の実施の形態による仮想マシン管理装置における資源情報DBに格納される仮想マシン情報の一例を示す図である。
図6は本発明の第1の実施の形態による仮想マシン管理装置における資源情報DBに格納されるサービス情報の一例を示す図である。
図7は本発明の第1の実施の形態による仮想マシン管理装置におけるVM配置規則生成手段の動作手順を示すフローチャートである。
図8は本発明の第1の実施の形態による仮想マシン管理装置における配置規則表に格納される情報の一例を示す図である。
図9は本発明の第1の実施の形態による仮想マシン管理装置におけるVM配置決定手段の動作手順を示すフローチャートである。
図10は本発明の第1の実施の形態による仮想マシン管理装置におけるVM移動決定手段の動作手順を示すフローチャートである。
図11は本発明の第1の実施の形態による仮想マシン管理装置におけるVM移動決定手段による可能な移動方法の判別方法を説明するための図である。
図12は本発明の第1の実施の形態による仮想マシン管理装置におけるVM移動決定手段によるスコア差分計算の例を示すための図である。
図13は本発明の第2の実施の形態による仮想マシン管理装置を含む情報処理システムのブロック図である。
図14は本発明の第2の実施の形態による仮想マシン管理装置におけるVM配置・移動決定手段の動作手順を示すフローチャートである。
図15は本発明の第2の実施の形態による仮想マシン管理装置におけるVM配置・移動決定手段が実行する、既存VMの移動を伴わない新規VMの配置方法とそのスコア計算の詳細な動作手順を示すフローチャートである。
図16は本発明の第2の実施の形態による仮想マシン管理装置におけるVM配置・移動決定手段が実行する、既存VMの移動を伴う新規VMの配置方法とそのスコア計算の詳細な動作手順を示すフローチャートである。
図17は本発明の第2の実施の形態による仮想マシン管理装置におけるVM配置・移動決定手段が実行する、既存VMの移動を伴う新規VMの配置方法の具体例を示す図である。
図18は本発明の第3の実施の形態による仮想マシン管理装置を含む情報処理システムのブロック図である。
図19は本発明の第3の実施の形態による仮想マシン管理装置におけるVM定期移動決定手段の動作手順を示すフローチャートである。
図20は本発明の第4の実施の形態による仮想マシン管理装置のブロック図である。
図21は本発明の第4の実施の形態による仮想マシン管理装置におけるVM停止手段の動作手順を示すフローチャートである。
次に、本発明を実施するための最良の形態について、図面を参照して詳細に説明する。
図1を参照すると、本発明の第1の実施の形態に係る情報処理システムは、仮想マシン管理装置1と、管理端末2と、複数のサーバ装置3と、ネットワーク4とから構成される。
仮想マシン管理装置1は、プログラム制御により動作するコンピュータであり、サーバ監視手段11と、VM(Virtual Machine)配置規則生成手段12と、VM配置決定手段13と、VM移動決定手段14と、資源情報DB(Database)15と、配置規則表16とから構成される。
サーバ監視手段11は、各サーバ装置3中のサーバエージェント(後述)を介して、管理対象の情報処理システムを構成する各サーバ装置3、仮想マシン、サービスの稼動状況を取得し、その内容を資源情報DB15に格納する手段である。ここで、各仮想マシン上では、1つまたは複数のアプリケーションソフトウェアが稼動する。単一の仮想マシン上で動作するアプリケーションソフトウェア群を総称して、サービス(Service)と呼ぶ。各サービスは名前により区別される。複数の仮想マシン上で同一のサービスが稼動することもある。このように、各仮想マシンとその上で稼動するサービスとは1対1に対応する。従って、仮想マシンの配置先を決定することと、サービスの配置先を決定することとは等価である。また、仮想マシンの種別とサービスの種別とは等価である。
VM配置規則生成手段12は、資源情報DB15に格納された情報を元に、サービスの種類(仮想マシンの種類)の組合せ毎にその組合せのサービスの種類どうし(仮想マシンの種類どうし)が同じサーバ装置3に配置される適切度を示すスコアを生成し、その内容をVM配置規則表16に格納する手段である。
VM配置決定手段13は、資源情報DB15に格納されたサーバ装置情報と仮想マシン情報、およびVM配置規則表16の内容を元に、新規に生成する仮想マシンの配置先となるサーバ装置3を決定する手段である。
VM移動決定手段14は、新規の仮想マシンを起動するのに必要な資源を確保するために、稼働中の仮想マシンを別のサーバ装置3に移動させる手段である。
管理端末2は、キーボードやマウスなどの入力装置と、ディスプレイなどの出力装置を備える端末(コンソール)である。管理端末2は、仮想マシン管理装置1に接続して、運用管理者によって入力された各種操作を仮想マシン管理装置1に送信する機能と、各種操作の実行状況と情報システムの稼動状況を仮想マシン管理装置1から受信して、出力装置に出力する機能を有する。ここで、各種操作には、新規の仮想マシンの作成と、稼働中の仮想マシンの破棄とを含む。
サーバ装置3は、プログラム制御により動作するコンピュータである。図2を参照すると、サーバ装置3は、サーバエージェント31と、仮想マシンモニタ(Hypervisor)32と、複数の仮想マシン33とから構成される。
サーバエージェント31は、仮想マシンモニタ32および仮想マシン33からハードウェアとソフトウェアの稼働状況を取得する機能と、仮想マシンモニタ32に対して仮想マシンの生成、破棄、他のサーバ装置3への移動を要求する機能を有する。
仮想マシンモニタ32は、サーバ装置3が有するCPU(Central Processing Unit)やメモリ(Main Memory)などのハードウェア資源を各仮想マシン33に配分するとともに、仮想マシン33の生成および破棄を制御する機能を有する。
各仮想マシン33上では、前述したように、1種類のサービス(1つまたは複数のアプリケーションソフトウェア)が稼動する。
ネットワーク4は、仮想マシン管理装置1と複数のサーバ装置3とを接続するネットワークである。図1では管理端末2はネットワーク4には接続されていないものの、管理端末2がネットワーク4を介して仮想マシン管理装置1と接続する構成でも、発明の本質は影響を受けない。
<本実施の形態の構成の具体例>
以下に、本実施の形態の構成の具体例を挙げる。
仮想マシン管理装置1の具体例は、イーサネット(登録商標)などのネットワーク接続手段を備えるコンピュータであって、Windows(登録商標)やLinuxなどのOSが動作する。さらに、サーバ監視手段11、VM配置規則生成手段12、VM配置決定手段13、VM移動決定手段14の各手段が、OS上のソフトウェアモジュールとして動作する。資源情報DB15および配置規則表16には、OracleやDB2、MySQLなどのDB製品、あるいはメモリ上に資源情報および配置規則(スコア)の情報を格納するソフトウェアモジュールを用いる。各手段11〜14と資源情報DB15および配置規則表16との間の相互作用は、プログラミング言語における関数(function,procedure,subroutine,method)を用いて実現される。あるいは、TCP/IPなどの通信プロトコルと、その上のHTTP(Hyper Text Transfer Protocol)あるいはSOAP(Simple Object Access Protocol)などの通信プロトコルを組合せて実現しても良い。
管理端末2の具体例は、キーボードとマウスからなる入力装置と、液晶表示装置と、仮想マシン管理装置1との接続手段とを備える端末装置である。典型的な例は、Windowsが動作するパーソナルコンピュータ(PC)であり、Internet Explorerなどのウェブ・ブラウザを通して仮想マシン管理装置1に接続する。この例では、図1のように仮想マシン管理装置1と管理端末2が直結しているが、その必要性は必ずしもなく、ネットワーク4に管理端末2が接続する形態でも良い。
サーバ装置3の具体例は、イーサネット(登録商標)などのネットワーク接続手段を備えるコンピュータであって、VMware GSX Server、VMware ESX Server、Xenなどの仮想マシンモニタ32と、それらの仮想マシンモニタ32によって制御される1つ以上の仮想マシン33が稼動する。各仮想マシン33では、Windows Server、Red Hat Enterprise Linux、Solaris、HP−UXなどのOSが稼動する。さらに、その上で稼動するサービスとして、Internet Information Server,Apache HTTP Serverなどのウェブ・サーバ、Enterprise Java(登録商標)Beans(EJB)などのアプリケーション・コンテナ、OracleやDB2、MySQLなどのデータベース管理システム(DBMS,Database Management System)が稼動する。
サーバ装置3におけるサーバエージェント31の構成は、仮想マシンモニタ32の種類に依存する。VMware GSX Serverのように、ホストOS上で動作する仮想マシンモニタ32を用いる場合、サーバエージェント31はホストOS上のソフトウェアとして動作する。一方、VMware ESX ServerやXenのように、ホストOSを必要としない種類の仮想マシンモニタ32を用いる場合には、仮想マシンモニタ32中のソフトウェアモジュールとしてサーバエージェント31を動作させるか、Xen Domain0などの特権仮想マシン上のプロセスとしてサーバエージェント31を動作させる構成を取る。
ネットワーク4の具体例は、イーサネット(登録商標)によるローカルエリアネットワーク(LAN)、およびインターネットである。
次に、フローチャートを用いて、本実施の形態の全体の動作について詳細に説明する。
<サーバ監視手段11の動作手順>
図3は、仮想マシン管理装置1におけるサーバ監視手段11の動作手順を示すフローチャートである。本手順は以下のステップから構成される。
まず、サーバ監視手段11は、管理下の各サーバ装置3が備えるサーバエージェント31から、各サーバ装置3、その上で動作する仮想マシン33、およびそれらの仮想マシン33上で稼動するサービスに関する情報を稼働状況として取得する(ステップS111)。ここで取得する稼動状況には以下の種類の情報が含まれる。
a)各サーバ装置3が備えるハードウェア資源など、各サーバ装置3自体に関する情報(以下、「サーバ装置情報」と呼ぶ)
b)各サーバ装置3上で稼動する仮想マシン33の名称、その仮想マシン33が使用するハードウェア資源、およびその仮想マシン33上で稼動するサービスの名称(以下、「仮想マシン情報」と呼ぶ)
c)稼働中の各サービスについて、他のサービスとの通信履歴
次に、サーバ監視手段11は、ステップS111で取得した稼働状況を元に、各サービスを特徴づける指標(以下、「サービス情報」と呼ぶ)を集計する(ステップS112)。サービス情報は、以下の2種類の指標から構成される。
1)負荷パターン:サービスが使用するハードウェア資源
2)通信パターン:サービスと別のサービスの間での相互作用
同一種類のサービスが複数の仮想マシン上で稼動している場合には、サーバ監視手段11は、それらの仮想マシンについての指標の平均値を、そのサービスについての指標とする。
次に、サーバ監視手段11は、ステップS111で取得したサーバ装置情報と仮想マシン情報、およびステップS112で集計したサービス情報を、資源情報DB15に格納する(ステップS113)。
<負荷パターン/通信パターンの具体例>
以下に、ステップS112で集計する負荷パターンと通信パターンの具体例を示す。
負荷パターンの具体例は、以下の数値からなる組である。
a)過去一定期間(例えば5分間)における平均CPU使用率(以下、「平均CPU使用率」)
b)過去一定期間(例えば1時間)における最大CPU使用率(以下、「最大CPU使用率」)
c)過去一定期間(例えば5分間)における平均メモリ使用量(以下、「平均メモリ使用量」)
d)過去一定期間(例えば1時間)における最大メモリ使用量(以下、「最大メモリ使用量」)
通信パターンの具体例は、過去一定期間(例えば10分間)におけるTCP(Transmission Control Protocol)セッションの回数(以下、「接続頻度」と呼ぶ。)である。
<資源情報DBに格納される情報の具体例>
以下に、ステップS113で資源情報DB15に格納する情報の具体例を示す。
図4は、サーバ装置情報の具体例である。この例では、管理対象のサーバ装置3はhost01,host02,host03の計3台あり、それらの各サーバ装置3についてのCPU(Central Processing Unit)の種類、物理メモリ量、ホストOS(Operating System)の各情報を示している。
図5は、仮想マシン情報の具体例である。この例では、vm01からvm06の6つの仮想マシン33について、その仮想マシン33が所属するサーバ装置3のホスト名、割当CPU使用率、割当メモリ使用量、ゲストOS、その仮想マシン33上で稼動するサービスの名称、の各情報が格納される。ここで、割当CPU使用率と割当メモリ使用量は、その仮想マシン33が使うことを許された最大のCPU使用率とメモリ容量を意味する。
図6は、サービス情報の具体例である。この例では、ショッピングサービス、ブログサービス(ウェブログサービス、blog/weblog service)、ログ解析サービス、課金サービス、商品情報DB(Database)、アクセスログの6種類のサービスについて、平均/最大CPU使用率、平均/最大メモリ使用量、接続先サービス/接続頻度の各情報が格納されている。
ここで、平均/最大CPU使用率とは、過去の一定期間内において、そのサービスが消費したCPU使用率の平均値と最大値を指す。同様に、平均/最大メモリ使用量は、過去一定期間内における、そのサービスによるメモリ使用量の平均値と最大値を指す。接続先サービス/接続頻度とは、過去の一定期間において、そのサービスと通信を行ったサービス名と、その接続回数の平均値を指す。同一種別のサービスが複数の仮想マシン上で稼動する可能性があるために、接続頻度の値は必ずしも整数とは限らない。
<VM配置規則生成手段12の動作手順>
図7は、仮想マシン管理装置1におけるVM配置規則生成手段12の動作手順を示すフローチャートである。VM配置規則生成手段12は、管理端末2からの起動命令により、あるいはタイマによる起動によって、本手順の実行を開始する。本手順は以下のステップから構成される。
まず、VM配置規則生成手段12は、配置規則表16に記録済みのすべての情報を消去して、初期状態にする(ステップS121)。配置規則表16には、2種類のサービスからなる対(同一種類のサービス同士からなる対もありうる)と、その対に割り当てるスコア(点数、優先度)が記録される。スコアは整数または実数の値を取る。この数値が大きいほど、対に含まれるサービスを優先して同一のサーバ装置3上で稼動させることを意味する。ステップS121実行直後では、配置規則表16は空である。
次に、VM配置規則生成手段12は、資源情報DB15に記録されたサービス情報を読み込み、そこに含まれるサービス名のすべての可能な対からなる集合Sを作成する(ステップS122)。
次に、VM配置規則生成手段12は、集合Sから1つのサービス対を取り出す(ステップS123)。もし集合S中のすべてのサービス対を取り出した後であれば、VM配置規則生成手段12の動作を終了する。以降のステップでは、ここで取り出したサービス対を(a,b)と表記する。
次に、VM配置規則生成手段12は、資源情報DB15に記録された、サービスaとbについての負荷パターンおよび通信パターンを用いて、サービス対(a,b)に割り当てるスコアを算出する(ステップS124)。ここで用いる負荷パターンと通信パターンは、サーバ監視手段11のステップS112において抽出されたものである。
本ステップS124では、VM配置規則生成手段12は、資源情報DB15中のサービス情報のうち、サービスaおよびbについての要素に対して、「スコア生成関数」と呼ぶ関数を適用することによって、スコアを算出する。スコア生成関数は、以下の性質を満たす形で定義される。
1)同一種類のハードウェア資源(例えばCPU使用率)を多く使用するサービス同士の対には、低いスコアを割り当てる。その理由は、それらの対を同じサーバ装置に配置すると、リソースの競合が頻発して所望の性能が発揮されないためである。さらに、使用する資源の絶対量が多いほど低いスコアを割り当てる。
2)サービス対の相互作用の度合いが大きいほど、そのサービス対に対して高いスコアを割り当てる。その理由は、それらの対を同じサーバ装置に配置した方が、通信コストが小さくなることと、ネットワーク4に流れる通信量が小さくなるためである。
すなわち、スコア生成関数は、リソースの競合が少ないほど、また相互の通信が多いほど、数値の大きなスコアを算出する関数である。
次に、VM配置規則生成手段12は、ステップS123で取り出したサービス対(a,b)と、ステップS124で算出したスコアとからなる組を、配置規則表16に追加する(ステップS125)。このステップの後、ステップS123以降の手順を繰り返す。
図8に配置規則表16の一例を示す。この例では、ショッピングサービス、ブログサービス、ログ解析サービス、課金サービス、商品情報DB、アクセスログの6種類のサービスの任意の2種類の組合せ毎にスコアが設定されている。
<VM配置決定手段13の動作手順>
VM配置決定手段13は、入力として新規の仮想マシン上で実行すべきサービスの情報(サービス種別、使用するハードウェア資源など)を管理端末2から受け取り、そのために必要な仮想マシン33を最適なサーバ装置3上に生成する機能を持つ。以下では、入力として与えられるサービスの情報を指して、「仮想マシン起動要求」と呼ぶ。
図9は、仮想マシン管理装置1におけるVM配置決定手段13の動作手順を示すフローチャートである。本手順は以下のステップから構成される。
まず、VM配置決定手段13は、資源情報DB15に記録されたサーバ装置情報と仮想マシン情報を検索して、仮想マシン起動要求に含まれる条件を満たすサーバ装置3のリストを取得する(ステップS131)。
ここで、仮想マシン起動要求の内容と、それに対応する本ステップS131における処理の具体例を示す。例として、VM配置決定手段13に対して、以下の内容を含む仮想マシン起動要求が渡された場合を考える。
a)サービス名:「ショッピングサービス」
b)CPU種別:Xeon
c)割当CPU使用率:20%
d)割当メモリ使用量:256MB(Megabytes、メガバイト)
本ステップS131で取り出すサーバ装置3は、以下の条件(1),(2)をともに満たすものである。
(1)サーバ装置情報におけるCPU種別の項目が、仮想マシン起動要求中のCPU種別(すなわちXeon)と一致していること。サーバ装置情報の内容が図4に示すものである場合、host01が該当する。
(2)空きCPU使用率および空きメモリ使用量が、仮想マシン起動要求中の割当CPU使用率(20%)および割当メモリ使用量(256MB)に等しいか、上回ること。
あるサーバ装置3の空きCPU使用率と空きメモリ使用量は、以下の式によって計算される。
空きCPU使用率=100−当該サーバ装置上で稼働中の仮想マシンについての割当CPU使用率の合計
空きメモリ使用量=当該サーバ装置の物理メモリ量−当該サーバ装置上で稼働中の仮想マシンについての割当メモリ使用量の合計
したがって、サーバ装置内容と仮想マシン情報の内容がそれぞれ図4、図5に示すものである場合、これらの数値は以下のようになる。
host01:
空きCPU使用率=100−(40+40)=20(%)
空きメモリ使用量=4−(1.5+1.5)=1(GB(Gigabytes、ギガバイト))host02:
空きCPU使用率=100−(40+50)=10(%)
空きメモリ使用量=2−(1+1)=0(GB)
host03:
空きCPU使用率=100−(20+30)=50(%)
空きメモリ使用量=8−(2+2)=4(GB)
ゆえに、空きCPUと空きメモリ使用量に関する条件については、host01とhost03の2つのサーバ装置3が満たしている。第1の条件と合わせると、host01のみが本ステップで取り出される。
次に、VM配置決定手段13は、ステップS131において検索結果に1つ以上の要素が含まれているかどうか、すなわちサービスを配置することが可能なサーバ装置3が存在するか否かを調べる(ステップS132)。もし配置可能なサーバ装置3があれば、ステップS133以降に進む。そうでない場合には、VM配置決定手段13は、後述するVM移動決定手段14を適用して、既存の仮想マシン33の移動を試みた後、ステップS136に移る。既存の仮想マシンの移動手順(ステップS141−147)については、後述の「VM移動決定手段14」についての項で詳細に説明する。
ステップS136では、VM配置決定手段13は、VM移動決定手段14による仮想マシンの移動に成功したかどうかを確かめる。
もし移動に成功した場合には、VM配置決定手段13は、ステップS131に戻って、仮想マシン起動要求の処理を再度試みる。移動に失敗した場合、すなわち仮想マシン起動要求の実行に必要なサーバ装置3を確保できなかった場合には、VM配置決定手段13は、仮想マシン起動要求の実行に失敗して処理を終了する。
ステップS132において、配置可能なサーバ装置3を少なくとも1台検出した場合、VM配置決定手段13は、以下の手順により、その中から配置先のサーバ装置3を選択する。
まず、VM配置決定手段13は、配置規則表16の内容を適用して、可能な配置先サーバ装置3のそれぞれについてスコアを算出する(ステップS133)。スコアの算出は、新規に起動するサービス名と、配置先候補のサーバ装置3上で稼働中の各サービスの対について、配置規則表16に記載されたスコアの和を取ることによって行う。例えば、新規に起動するサービス名が「ショッピングサービス」であり、配置先候補のサービス装置3上で稼動中のサービスが「課金サービス」と「アクセルログ」である場合、図8を参照すると、ショッピングサービスと課金サービスの対のスコアは−1、ショッピングサービスとアクセスログの対のスコアは+1なので、合計スコアは(−1)+(+1)=0である。ここで、新規に起動するサービス名と同じサービス名のサービスが配置規則表16に存在しなかった場合、VM配置決定手段13は、すべての既存サービスとの組合せについて、所定のスコア(例えば−1)を付与する。
ステップS134では、VM配置決定手段13は、ステップS133で計算されたスコアが最大になる場合のサーバ装置3を、新規サービスの配置先として選択する。例えば、合計スコアが−1と+3の2つの配置先サーバ装置があれば、合計スコア+3のサーバ装置を新規サービスの配置先に選択する。
次に、VM配置決定手段13は、S134で選択したサーバ装置3上のサーバエージェント31に対して、新規サービスを稼動させるための仮想マシン33の起動を要求し、処理を終了する(ステップS135)。サーバ装置3上への新規仮想マシンの生成は、既存技術を用いて行えるため、その詳細な説明は省略する。
<VM移動決定手段14の動作手順>
図10は、仮想マシン管理装置1におけるVM移動決定手段14の動作手順を示すフローチャートである。VM移動決定手段14を用いるのは、現在の仮想マシン配置状態では、VM配置決定手段13が受け取った仮想マシン起動要求を実行することができない場合である(図9、ステップS132において、配置可能なサーバ装置3がない場合に相当する)。
以下、図10のフローチャートを用いて、VM移動決定手段14の動作手順を説明する。
まず、VM移動決定手段14は、資源情報DB15に格納されたサーバ装置情報の中から、仮想マシンの移動元となり得るサーバ装置3からなる集合を作成する(ステップS141)。以降では、これらのサーバ装置3の集合をNと表記する。ここで、Nに含まれるサーバ装置3は、その上で少なくとも1つの仮想マシンが動作し、かつそれらを別のサーバ装置3に移動することによって、新規仮想マシンの生成に必要な資源が確保できるサーバ装置3である。例えば、サービス名:「ショッピングサービス」、CPU種別:Xeon、割当CPU使用率:20%、割当メモリ使用量:256MBの仮想マシン起動要求の場合、資源情報DB15に格納されたサーバ装置情報の中から、CPU種別がXeonで、かつ、物理メモリ量が256MB以上あるサーバ装置3が候補となる。
次に、VM移動決定手段14は、Nの中に、少なくとも1台のサーバ装置3が含まれるかどうかを調べる(ステップS142)。含まれる場合にはステップS143に、含まれない場合にはS145に進む。
ステップS143では、VM移動決定手段14は、Nから単一のサーバ装置3についての情報を取り出す。さらに、VM移動決定手段14は、ここで取り出したサーバ装置3の情報を、Nから取り除く。
次に、VM移動決定手段14は、S143で取り出したサーバ装置3上で稼動する各仮想マシン33について、可能な移動方法のそれぞれについてのスコア差分を計算する(ステップS144)。
ここで、可能な移動方法とは、仮想マシンを移動することにより新規仮想マシンに必要な資源が確保でき、かつ移動対象となる仮想マシンに必要な資源が確保できるような移動方法(すなわち、仮想マシンとその移動先サーバ装置の対)を指す。単一の移動方法の中に、仮想マシンと移動先サーバ装置の対が複数含まれる可能性もある。すなわち、一つのサーバ装置上の複数の仮想マシンを同時に同じあるいは異なる別のサーバ装置へ移動させる場合も含まれる。可能な移動方法の具体例については後述する。
また、スコア差分とは、既存の仮想マシン移動の前後で、配置規則表16を適用した場合のスコアの差を指す。ある移動方法についてのスコア差分が大きいほど、その移動方法は好ましいと言える。スコア差分の計算方法についての具体例は後述する。
ステップS144が終了すると、VM移動決定手段14は、ステップS142に戻り、別のサーバ装置3を移動元とする移動方法についてのスコア差分の計算を試みる。
ステップS145では、VM移動決定手段14は、ステップS142からS144までの手順において、可能な移動方法について少なくとも1つスコア差分を計算したかどうかを調べる。条件に当てはまる場合はステップS146に進む。それ以外の場合は仮想マシンの移動に失敗したため、VM移動決定手段14はVM移動決定手順の処理を終了する。
ステップS146では、VM移動決定手段14は、ステップS142からS144までに計算した各移動方法について、スコア差分を最大化するものを選択する。
最後に、S146で選択した移動方法を実行するために、VM移動決定手段14は、移動元のサーバ装置3上のサーバエージェント31と、移動先のサーバ装置3上のサーバエージェント31のそれぞれについて、仮想マシン移動を要求する(ステップS147)。或るサーバ装置3から別のサーバ装置3への仮想マシンの移動は、既存技術を用いて行えるため、その詳細な説明は省略する。
<可能な仮想マシン移動方法の判別例>
以下に、ステップS144において、可能な仮想マシン移動方法を判別する具体例を示す。
図11は、ステップS143において、移動元のサーバ装置3としてサーバ装置Aを取り出した後で、サーバ装置A上の仮想マシンVM1の可能な移動方法を判断する状況を示している。ここでは、仮想マシン起動要求として、起動対象のサービス(ここでは、「ブログサービス」)には割当メモリ使用量として1GB以上が必要であるという条件が含まれると仮定する。さらに、サーバ装置A−Dはどれも1GBの物理メモリを備えており、既存の仮想マシンVM1−VM5にはそれぞれ0.5GBの割当メモリ使用量が割当てられていると仮定する。
割当メモリ使用量のみを判断基準とすると、サーバ装置A上の仮想マシンVM1を、サーバ装置BおよびCに移動することは可能であるが、サーバ装置Dに移動することはできない。その理由は、サーバ装置D上では割当メモリ使用量0.5GBを占有するVMがすでに2つ動作中だからである。
したがって、サーバ装置A上の仮想マシンVM1についての可能な移動方法は、以下の2通りである。
1)移動対象:VM1、移動先:サーバ装置B
2)移動対象:VM1、移動先:サーバ装置C
以上の例では、説明の便宜上、割当メモリ使用量のみを判断基準としたが、実際には割当CPU使用率などの他の要因を総合的に判断して、可能な仮想マシン移動方法を判別することになる。
<スコア差分の計算例>
以下に、ステップS144におけるスコア差分の計算方法の例を示す。
図12は、サーバ装置host01上で稼動する仮想マシンvm01を、別のサーバ装置host02に移動する操作を示している。host01ではvm01,vm02,vm03の3つの仮想マシンが稼動しており、それらの仮想マシン上でそれぞれショッピングサービス、ブログサービス、アクセスログが動作する。また、host02では仮想マシンvm04が稼動しており、その上で商品情報DBが動作する。
図8の配置規則表を適用すると、vm01をhost01からhost02に移動することによるスコア差分は以下のように計算できる。
1)ショッピングサービスとブログサービスの組合せはスコア−1なので、vm01をhost01から除去することによるスコア差分は+1となる。
2)ショッピングサービスとアクセスログの組合せはスコア+1なので、vm01をhost01から除去することによるスコア差分は−1となる。
3)ショッピングサービスと商品情報DBの組合せはスコア−2なので、vm01をhost02に追加することによるスコア差分は−2となる。
以上から、vm01の移動全体についてのスコア差分は、(+1)+(−1)+(−2)=−2となる。
<第1の実施の形態の効果>
次に、本実施の形態による仮想マシン管理装置の効果について説明する。
本実施の形態の仮想マシン管理装置によれば、新規な仮想マシンを適切なサーバ装置、すなわち、新規に生成された仮想マシンが十分に性能を発揮でき、また、既存の他の仮想マシンに悪影響を与える恐れが少ないサーバ装置に作成することができる。その理由は、新規な仮想マシンと同じサーバ装置上の他の既存の仮想マシンとの組合せがより適切なサーバ装置を新規な仮想マシンの配置先として選択しているためである。
また本実施の形態の仮想マシン管理装置によれば、新規仮想マシンの生成に失敗する確率を小さくすることができる。その理由は、新規作成予定の仮想マシンに必要なリソースを確保できるサーバ装置が存在しなかった場合、既存の仮想マシンの他サーバ装置への移動により新規作成予定の仮想マシンに必要なリソースを有する状態のサーバ装置の生成を試みるからである。特に本実施の形態の仮想マシン管理装置では、仮想マシンの配置の適切度の改善度合いが最も良い仮想マシンの移動方法を決定しているため、新規作成予定の仮想マシンに必要なリソースを有する状態のサーバ装置の生成と同時に、仮想マシンのより適切な再配置が可能になる効果がある。
<第2の実施の形態>
図13を参照すると、本発明の第2の実施の形態に係る情報処理システムは、図1に示した第1の実施の形態に係る情報処理システムと比較して、仮想マシン管理装置1がVM配置決定手段13およびVM移動決定手段14の代わりにVM配置・移動決定手段17を備えている点で相違する。
第1の実施の形態に係る情報処理システムにおける仮想マシン管理装置では、新規仮想マシンを配置する際、まず、すべてのサーバ装置群のうち現時点でリソースに余裕のあるサーバ装置の中から新規仮想マシンの配置先の選択を試み、それが不可能である場合に、現時点ではリソースに余裕はないが既存仮想マシンを他のサーバ装置に移動させればリソースに余裕が出るサーバ装置群の中からより適切なサーバ装置を新規仮想マシンの配置先に選択していた。
これに対して、本実施の形態に係る情報処理システムにおける仮想マシン管理装置1のVM配置・移動決定手段17は、既存の仮想マシンの移動を伴わない配置方法と移動を伴う配置方法との双方を考慮し、その中から最適な配置方法を選択する。ここで、既存の仮想マシンの移動を伴わない配置方法とは、現時点でリソースに余裕のあるサーバ装置の中から新規仮想マシンの配置先を選択する方法である。他方、既存の仮想マシンの移動を伴う配置方法とは、現時点でリソースに余裕があるかどうかを問わず、既存の仮想マシンの移動を行った移動元サーバ装置あるいは移動先サーバ装置のうちリソースに余裕のあるサーバ装置の中から新規仮想マシンの配置先を選択する方法である。
以下では、第1の実施の形態の仮想マシン管理装置との相違点を中心に本実施の形態の仮想マシン管理装置の動作を説明する。
<第2の実施の形態におけるVM配置・移動決定手段17の動作手順>
図14、図15、図16を参照して、本実施の形態における仮想マシン管理装置1のVM配置・移動決定手段17の動作手順を説明する。なお、図14は、VM配置・移動決定手段17の動作全体を示すフローチャートであり、図15と図16は、図14におけるステップS171−S173およびS174−S177の詳細を示すフローチャートである。
まず、VM配置・移動決定手段17は、既存の仮想マシンの移動を伴わないことを前提として、新規仮想マシンについての可能な配置先サーバ装置の候補を生成し、そのスコアを算出する(ステップS171−S173)。本手順は、以下の3つのステップからなる。
まず、VM配置・移動決定手段17は、資源情報DB15に記録されたサーバ装置情報と仮想マシン情報を検索して、仮想マシン起動要求に含まれる条件を満たすサーバ装置のリストを取得する(ステップS171)。このステップS171は、第1の実施の形態におけるVM配置決定手段13の動作手順(図9)におけるステップS131と同様である。
次に、VM配置・移動決定手段17は、ステップS171の検索結果に1つ以上の要素が含まれているかどうかを調べる(ステップS172)。条件に該当する場合にはステップS173に進み、そうでない場合にはステップS174に進む。
ステップS173では、VM配置・移動決定手段17は、配置規則表16の内容を適用して、可能な配置先サーバ装置3のそれぞれについてスコアを算出する。ここでの処理は、第1の実施の形態におけるVM配置決定手段13における図9のステップS133と同様である。
次に、VM配置・移動決定手段17は、既存の仮想マシンの移動と新規の仮想マシンの配置との組合せによる移動・配置方法の候補を生成し、そのスコアを計算する(ステップS174−S177)。本手順は、以下のステップから構成される。
まず、VM配置・移動決定手段17は、資源情報DB15に格納されたサーバ装置情報の中から、仮想マシンの移動元となり得るサーバ装置からなる集合Nを生成する(ステップS174)。ここでの処理は、第1の実施の形態におけるVM移動決定手段14の動作手順(図10)におけるステップS141と同様である。
次に、VM配置・移動決定手段17は、Nの中に、少なくとも1台のサーバ装置3が含まれるかどうかを調べる(ステップS175)。含まれる場合にはステップS176に進み、含まれない場合にはステップS178に進む。
ステップS176では、VM配置・移動決定手段17は、Nから単一のサーバ装置3についての情報を取り出すとともに、取り出したサーバ装置3の情報をNから取り除く(図10のステップS143と同様)。
次に、VM配置・移動決定手段17は、ステップS176で取り出したサーバ装置3上で稼動する各仮想マシン33について、可能な移動・配置方法の候補を生成するとともに、そのスコアを計算する(ステップS177)。
ここで、移動・配置方法とは、既存の仮想マシンの移動と、新規の仮想マシンの配置とを組合せた操作を指す。単一の移動・配置方法は、以下の3つの要素により指定される。
a)移動対象の仮想マシン
b)移動先のサーバ装置
c)新規仮想マシンの配置先サーバ装置
移動・配置方法は、可能な移動方法を含んでいなければならない。すなわち、移動先のサーバ装置は、移動対象の仮想マシンの動作に必要な資源を備えていなければならない。さらに、新規仮想マシンの配置先サーバ装置は、新規仮想マシンの動作に必要な資源を備えていなければならない。ここで、新規仮想マシンの配置先サーバ装置は、移動対象の仮想マシンの移動元のサーバ装置である場合と、移動先のサーバ装置である場合とが考えられる。
それぞれの移動・配置方法について、以下の方法でスコアを算出する。
1)移動・配置方法に含まれる移動方法について、スコア差分を算出する。このスコア差分は、第1の実施の形態における図10のステップS144と同様に行う。
2)移動・配置方法に含まれる新規仮想マシン配置方法について、スコアを算出する。このスコアは、第1の実施の形態における図9のステップS133と同様に行う。
3)1および2の結果の和を、移動・配置方法のスコアとする。
本ステップS177において、VM配置・移動決定手段17は、すべての移動・配置方法について可能性を調べる代わりに、何らかのヒューリスティックを用いて調査対象を削減しても良い。ここでのヒューリスティックの一例を以下に示す。
a)移動対象の仮想マシンと、移動先のサーバ装置については、すべての組合せについて可能性を調べる。
b)新規仮想マシンの配置先サーバ装置は、移動元のサーバ装置(すなわち、ステップS176でNから取り出したサーバ装置)に固定する。
本ステップS177の終了後、VM配置・移動決定手段17は、ステップS175に戻り、S175以降の処理を繰り返す。
ステップS174−S177の処理が終了した後で、VM配置・移動決定手段17は、可能な配置方法の候補(ステップS171−S173で生成されたもの)、あるいは可能な移動・配置方法(ステップS174−177で生成されたもの)が存在するかどうかを確かめる(ステップS178)。条件に該当する場合にはS179に進み、該当しない場合には新規仮想マシンの配置に失敗したので、処理を終了する。
ステップS179では、VM配置・移動決定手段17は、可能な仮想マシン配置方法、あるいは移動・配置方法の中から、スコアを最大化するものを選択する。ここでは、移動を伴わない配置方法と、移動・配置方法についてのスコアを直接比較する以外の比較方法を取っても良い。例えば、移動を伴わない配置方法に一定のスコアを加算することにより、移動を伴わない配置方法を優先するようにしても良い。
最後に、VM配置・移動決定手段17は、ステップS179で選択した仮想マシン配置方法あるいは移動・配置方法を実行する(ステップS1710)。ここで、選択した操作が移動・配置方法である場合には、VM配置・移動決定手段17は、図10のステップS147と同様の手順により、サーバエージェント31に対して仮想マシン33の移動を要求する。さらに、VM配置・移動決定手段17は、仮想マシン33の移動の有無に関わらず、図9のステップS135と同様の手順により、サーバエージェント31に対して仮想マシン33の起動を要求する。
図17に、本手順による仮想マシン移動・配置操作の具体例を示す。この図は、host01,host02,host03の3台のサーバ装置3からなるシステムにおいて、新規の仮想マシンvm05を配置する状況を示している。ここで、既存仮想マシンの移動元のサーバ装置3に新規仮想マシンを配置することを前提とすると、既存仮想マシンvm01の移動を含む移動・配置方法は以下の2種類である。
1)移動対象:vm01、移動先:host02、新規仮想マシンの配置先:host01
2)移動対象:vm01、移動先:host03、新規仮想マシンの配置先:host01
<第2の実施の形態の効果>
本実施の形態の仮想マシン管理装置によれば、新規な仮想マシンを適切なサーバ装置、すなわち、新規に生成された仮想マシンが十分に性能を発揮でき、また、既存の他の仮想マシンに悪影響を与える恐れが少ないサーバ装置に作成することができる。その理由は、新規な仮想マシンと同じサーバ装置上の他の既存の仮想マシンとの組合せがより適切なサーバ装置を新規な仮想マシンの配置先として選択しているためである。
また本実施の形態の仮想マシン管理装置によれば、新規仮想マシンの生成に失敗する確率を小さくすることができる。その理由は、新規作成予定の仮想マシンに必要なリソースを確保できるサーバ装置だけでなく、既存の仮想マシンの他サーバ装置への移動により新規作成予定の仮想マシンに必要なリソースを有する状態のサーバ装置も含めて、新規仮想マシンの配置先を選択しているからである。
さらに本実施の形態の仮想マシン管理装置によれば、新規に仮想マシンを配置する際に、現状において新規仮想マシンに必要な空きリソースを有するサーバ装置かどうかに関係なく、既存の仮想マシンの移動を同時に試みることにより、効率的な資源配分が可能となる。
<第3の実施の形態>
図18を参照すると、本発明の第3の実施の形態に係る情報処理システムは、図1に示した第1の実施の形態に係る情報処理システムと比較して、仮想マシン管理装置1がVM定期移動決定手段18をさらに備えている点で相違する。
第1の実施の形態に係る情報処理システムの仮想マシン管理装置1では、既存の仮想マシンの再配置が行われるケースは、新規仮想マシンの配置時に限られていた。これに対して、本実施の形態に係る情報処理システムの仮想マシン管理装置1は、新規の仮想マシンの配置と独立して、VM定期移動決定手段18により一定時間毎に既存の仮想マシンの再配置を行う。
以下では、第1の実施の形態の仮想マシン管理装置との相違点を中心に本実施の形態の仮想マシン管理装置の動作を説明する。
<VM定期移動決定手段18の動作手順>
以下では、図19のフローチャートを用いて、本実施の形態における仮想マシン管理装置1のVM定期移動決定手段18の動作手順を説明する。
VM定期移動決定手段18は、図19に示される処理を前回実行し終えた時刻から一定時間が経過すると、再び図19に示される処理を開始する。
まず、VM定期移動決定手段18は、資源情報DB15に格納された仮想マシン情報を参照して、稼働中の全仮想マシン33からなる集合を取得する(ステップS141b)。以降では、これらの仮想マシン33の集合をMと表記する。
次に、VM定期移動決定手段18は、Mの中に少なくとも1つの仮想マシン33が含まれることを確認する(ステップS142b)。条件に該当する場合にはステップS143bに進み、該当しない場合にはステップS145bに進む。
ステップS143bでは、VM定期移動決定手段18は、Mから単一の仮想マシン33についての情報を取り出す。さらに、VM定期移動決定手段18は、ここで取り出した仮想マシン33の情報を、Mから取り除く。
次に、VM定期移動決定手段18は、ステップS143bで取り出した仮想マシンについて、可能な移動方法のそれぞれについてのスコア差分を計算する(ステップS144b)。本ステップS144bにおける「可能な移動方法」とは、移動対象の仮想マシンと、移動先のサーバ装置上で稼働中のすべての仮想マシンについて、それらの仮想マシン上で動作しているサービスが使用する資源についての条件(CPU使用率、メモリ量など)を満たす、仮想マシンと移動先サーバ装置の対を意味する。また、スコア差分の計算は、VM移動決定手段14と同様に行う。本ステップ終了後、ステップS142bに戻る。
ステップS145bでは、VM定期移動決定手段18は、ステップS142b−S144bでスコア差分を計算した移動方法のうち、スコア差分が予め定められた閾値以上であるような移動方法が少なくとも1つあるかどうかを確認する。条件に該当する場合にはステップS146に進み、該当しない場合には、VM定期移動決定手段18の今回の処理を終了する。ここで用いる閾値は0以上の定数であり、事前に値が決められている。
ステップS146では、VM定期移動決定手段18は、スコア差分が予め定められた閾値以上である1以上の移動方法の中からスコア差分を最大化する移動方法を選択する。このステップS146において選択する移動方法の数は任意に設定することができる。選択方法の一例としては、あらかじめ決めておいた数の移動方法を、スコア差分の大きい順に選択する方法がある。別の選択方法としては、ステップS145bで用いた閾値以上のスコア差分を持つすべての移動方法を選択する方法がある。さらに別の選択方法としては、ステップS145bで用いた閾値以上のスコア差分を持つ移動方法の中から事前に決めた数だけ選択し、かつ別の閾値以上のスコア差分を持つすべての移動方法を選択する方法がある。
最後に、VM定期移動決定手段18は、決定した移動元および移動先のサーバ装置3におけるサーバエージェント31に対して、選択した移動方法の実行を要求する(ステップS147)。ステップS146およびS147の動作は、VM移動決定手段14の動作手順(図10)におけるS146とS147と同じである。
<第3の実施の形態の効果>
本実施の形態の仮想マシン管理装置によれば、第1の実施の形態の仮想マシン管理装置と同様の効果が得られるとともに、稼働中の仮想マシン33の再配置を定期的に試みるため、仮想マシン33への資源配分を常に最適化することができる。このことにより、各仮想マシン33上で稼動するサービスの性能が向上する。
なお、本実施の形態の仮想マシン管理装置は以下のような変更が可能である。
VM定期移動決定手段18は一定時間ごとに図19に示される処理を実行するものとしたが、サーバ装置3や仮想マシン33のリソースが予め定められた一定の条件に達した場合に、図19に示される処理を開始するようにしても良い。
VM配置決定手段13およびVM移動決定手段14の代わりに、第2の実施の形態におけるVM配置・移動決定手段17と同様な手段を仮想マシン管理装置1に備える構成であっても良い。
<第4の実施の形態>
図20を参照すると、本発明の第4の実施の形態に係る情報処理システムは、図1に示した第1の実施の形態に係る情報処理システムと比較して、仮想マシン管理装置1がVM停止手段19および停止時VM移動決定手段1Aをさらに備えている点で相違する。
第1の実施の形態による仮想マシン管理装置では、既存の仮想マシンの再配置が行われるケースは、新規仮想マシンの配置時に限られていた。これに対して本実施の形態による仮想マシン管理装置は、VM停止手段19によりサーバ装置3上の仮想マシン33が停止された時点で、停止時VM移動決定手段1Aにより、仮想マシン33が停止したサーバ装置3へ他のサーバ装置3上の仮想マシン33を移動させることで再配置を行う。
以下では、第1の実施の形態の仮想マシン管理装置との相違点を中心に本実施の形態の仮想マシン管理装置の動作を説明する。
<VM停止手段19の動作手順>
VM停止手段19は、管理端末2から、停止対象の仮想マシン名を含む仮想マシン停止要求を受け取る。VM停止手段19は、仮想マシン停止要求に従って仮想マシンを停止するとともに、停止時VM移動決定手段1Aを呼び出して既存の仮想マシンを移動させる機能を持つ。
図21は、本実施の形態の仮想マシン管理装置におけるVM停止手段19の動作手順を示すフローチャートである。以下に、本動作手順の詳細を説明する。
まず、VM停止手段19は、停止対象の仮想マシン33が稼動するサーバ装置3上のサーバエージェント31に対して、当該仮想マシン33の停止を要求する(ステップS191)。
次に、VM停止手段19は、停止時VM移動決定手段1Aを用いて、稼働中の仮想マシン33の移動を試みる(ステップS141b−S147)。ここでの停止時VM移動決定手段1Aの動作は、第3の実施の形態におけるVM定期移動決定手段18の動作(図19)と比較し、以下の点が異なる以外は同じである。
1)ステップS141bにおいて、移動対象の仮想マシン33の集合Mには、停止対象の仮想マシン33と同一のサーバ装置3上で動作している仮想マシン33を含めない。
2)ステップS144bにおいて、可能な移動方法には、停止対象の仮想マシン33が動作していたサーバ装置3を移動先とする移動方法のみを含める。
<第4の実施の形態の効果>
本実施の形態の仮想マシン管理装置によれば、第1の実施の形態の仮想マシン管理装置と同様の効果が得られるとともに、仮想マシン33の停止時に他の仮想マシン33の再配置を試みることで、仮想マシン33への資源配分を最適化することができる。このことにより、各仮想マシン33上で稼動するサービスの性能が向上する。
なお、VM配置決定手段13およびVM移動決定手段14の代わりに、第2の実施の形態の仮想マシン管理装置におけるVM配置・移動決定手段17と同様な手段、あるいは第3の実施の形態の仮想マシン管理装置におけるVM定期移動決定手段18と同様な手段を仮想マシン管理装置1に備える構成であっても良い。
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。また、また、本発明の仮想マシン管理装置は、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態における仮想マシン管理装置として機能させ、前述した処理を実行させる。
本発明によれば、企業情報システムを構成するサーバ資源を一元的に管理する運用管理ミドルウェアといった用途に適用できる。また、複数の個人や法人ユーザに対してサーバ資源を貨し出すホスティングサービスおよびアプリケーションサービスプロバイダ(ASP、Application Service Provider)を構成する資源管理ソフトウェアといった用途にも適用できる。

Claims (28)

  1. ネットワーク(4)を介して複数のサーバ装置(3)に接続された仮想マシン管理装置(1)であって、
    仮想マシン種別の組合せ毎にその組合せの仮想マシン種別どうしが同じサーバ装置に配置される適切度を示すスコアであって、リソースの競合が少なく、相互の通信が多いほど高くなる前記スコアを記憶する配置規則表(16)と、
    新規の仮想マシンを配置可能な1以上のサーバ装置を選択し、該選択したサーバ装置について新規の仮想マシンを配置する場合における指標値を前記スコアを用いて計算し、該計算した指標値を参照して新規の仮想マシンの配置先を決定する仮想マシン配置決定手段(13)であって、新規の仮想マシンを配置可能なサーバ装置として、新規の仮想マシンに必要なリソースを現に確保できるサーバ装置を選択する前記仮想マシン配置決定手段(13)と、
    前記仮想マシン配置決定手段(13)から呼び出されることにより、サーバ装置(3)上の既存の仮想マシン(33)を他のサーバ装置に移動させることにより、新規の仮想マシンを配置可能なサーバ装置を生成する仮想マシン移動決定手段(14)と、
    を備えることを特徴とする仮想マシン管理装置。
  2. 前記仮想マシン移動決定手段(14)は、新規の仮想マシンを配置可能なサーバ装置を生成できる移動方法の各候補について、当該移動方法の適切度を示す指標値を前記スコアを用いて計算し、該計算した指標値を参照して仮想マシンの移動方法を決定することを特徴とする、請求項1に記載の仮想マシン管理装置。
  3. 前記仮想マシン配置決定手段(13)は、新規の仮想マシンに必要なリソースを現に確保できるサーバ装置が存在しない場合に前記仮想マシン移動決定手段(14)を呼び出すことを特徴とする、請求項1に記載の仮想マシン管理装置。
  4. 新規の仮想マシンの配置とは独立に、サーバ装置上の仮想マシンを他のサーバ装置へ移動させる移動方法の各候補について、当該移動方法の適切度を示す指標値を前記スコアを用いて計算し、該計算した指標値を参照して既存の仮想マシンの移動を行う移動手段(18;1A)を備えることを特徴とする、請求項1に記載の仮想マシン管理装置。
  5. 前記移動手段(18;1A)は、一定時間ごと、サーバ装置(3)あるいは仮想マシン(33)のリソースが予め定められた一定の条件に達するごと、または仮想マシン(33)の停止ごとに動作することを特徴とする、請求項4に記載の仮想マシン管理装置。
  6. 仮想マシンの種別ごとに、その種別の仮想マシン(33)が配置されているサーバ装置(3)から当該仮想マシンのリソースの使用状況と他の仮想マシンとの間の通信状況とを収集するサーバ監視手段(11)と、
    該サーバ監視手段(11)で収集された情報と予め定められたスコア生成規則とから前記スコアを生成して前記配置規則表(16)に記憶する配置規則生成手段(12)と
    を備えることを特徴とする、請求項1に記載の仮想マシン管理装置。
  7. ネットワーク(4)を介して複数のサーバ装置(3)に接続された仮想マシン管理装置(1)であって、
    仮想マシン種別の組合せ毎にその組合せの仮想マシン種別どうしが同じサーバ装置に配置される適切度を示すスコアであって、リソースの競合が少なく、相互の通信が多いほど高くなる前記スコアを記憶する配置規則表(16)と、
    既存の仮想マシンの移動を伴わない新規の仮想マシンの配置方法、および、既存の仮想マシンの移動を伴う新規の仮想マシンの配置方法の各候補を選択し、該選択した各候補について、当該配置方法の適切度を示す指標値を前記スコアを用いて計算し、該計算した指標値を参照して新規の仮想マシンの配置先を決定する仮想マシン配置・移動決定手段(17)と、
    を備えることを特徴とする仮想マシン管理装置。
  8. 新規の仮想マシンの配置とは独立に、サーバ装置(3)上の仮想マシン(33)を他のサーバ装置へ移動させる移動方法の各候補について、当該移動方法の適切度を示す指標値を前記スコアを用いて計算し、該計算した指標値を参照して既存の仮想マシンの移動を行う移動手段(18;1A)を備えることを特徴とする、請求項7に記載の仮想マシン管理装置。
  9. 前記移動手段(18;1A)は、一定時間ごと、サーバ装置(3)あるいは仮想マシン(33)のリソースが予め定められた一定の条件に達するごと、または仮想マシンの停止ごとに動作することを特徴とする、請求項8に記載の仮想マシン管理装置。
  10. 仮想マシンの種別ごとに、その種別の仮想マシンが配置されているサーバ装置から当該仮想マシンのリソースの使用状況と他の仮想マシンとの間の通信状況とを収集するサーバ監視手段(11)と、
    該サーバ監視手段(11)で収集された情報と予め定められたスコア生成規則とから前記スコアを生成して前記配置規則表(16)に記憶する配置規則生成手段(12)と
    を備えることを特徴とする、請求項7に記載の仮想マシン管理装置。
  11. ネットワーク(4)を介して複数のサーバ装置(3)に接続されたコンピュータ(1)により前記サーバ装置(3)上の仮想マシン(33)を管理する方法であって、
    前記コンピュータ(1)が、新規の仮想マシンを配置可能な1以上のサーバ装置を選択する第1のステップ(S131,S132)と、
    前記コンピュータ(1)が、前記選択した各サーバ装置について、仮想マシン種別の組合せ毎にその組合せの仮想マシン種別どうしが同じサーバ装置に配置される適切度を示すスコアであって、リソースの競合が少なく、相互の通信が多いほど高くなる前記スコアを配置規則表(16)から参照して、新規の仮想マシンを当該サーバ装置(3)に配置する適切度を示す指標値を計算する第2のステップ(S133)と、
    前記コンピュータ(1)が、前記計算した指標値を参照して新規の仮想マシンの配置先を決定する第3のステップ(S134)と、
    を含み、
    前記第1のステップ(S131)では、新規の仮想マシンを配置可能なサーバ装置として、新規の仮想マシンに必要なリソースを現に確保できるサーバ装置(3)を選択し、
    前記第1のステップでは、新規の仮想マシンに必要なリソースを現に確保できるサーバ装置が存在しない場合(S132のNO)、サーバ装置(3)上の既存の仮想マシン(33)を他のサーバ装置に移動させる(S141〜S147)ことにより、新規の仮想マシンを配置可能なサーバ装置の生成を試みる(S136)ことを特徴とする仮想マシン管理方法。
  12. 前記第1のステップ(S141〜S147)では、新規の仮想マシンを配置可能なサーバ装置を生成できる移動方法の各候補について、当該移動方法の適切度を示す指標値を前記スコアを用いて計算し、該計算した指標値を参照して仮想マシンの移動方法を決定することを特徴とする、請求項11に記載の仮想マシン管理方法。
  13. 前記コンピュータ(1)が、新規の仮想マシンの配置とは独立に、サーバ装置(3)上の仮想マシン(33)を他のサーバ装置へ移動させる移動方法の各候補について、当該移動方法の適切度を示す指標値を前記スコアを用いて計算し、該計算した指標値を参照して既存の仮想マシンの移動を行う第4のステップ(S141b〜S147)をさらに含むことを特徴とする、請求項11に記載の仮想マシン管理方法。
  14. 前記第4のステップ(S141b〜S147)は、一定時間ごと、サーバ装置(3)あるいは仮想マシン(33)のリソースが予め定められた一定の条件に達するごと、または仮想マシン(33)の停止ごとに開始することを特徴とする、請求項13に記載の仮想マシン管理方法。
  15. 前記コンピュータ(1)が、仮想マシン(33)の種別ごとに、その種別の仮想マシンが配置されているサーバ装置(3)から当該仮想マシンのリソースの使用状況と他の仮想マシンとの間の通信状況とを収集する第5のステップ(S111〜S113)と、
    前記コンピュータ(1)が、前記収集された情報と予め定められたスコア生成規則とから前記スコアを生成して前記配置規則表(16)に記憶する第6のステップ(S121〜S125)と
    をさらに含むことを特徴とする、請求項11に記載の仮想マシン管理方法。
  16. ネットワーク(4)を介して複数のサーバ装置(3)に接続されたコンピュータ(1)により前記サーバ装置(3)上の仮想マシン(33)を管理する方法であって、
    前記コンピュータ(1)が、既存の仮想マシンの移動を伴わない新規の仮想マシンの配置方法、および、既存の仮想マシンの移動を伴う新規の仮想マシンの配置方法の各候補を選択する第1のステップ(S171,S172,S174〜S176)と、
    前記コンピュータ(1)が、前記選択した各候補について、仮想マシン種別の組合せ毎にその組合せの仮想マシン種別どうしが同じサーバ装置に配置される適切度を示すスコアであって、リソースの競合が少なく、相互の通信が多いほど高くなる前記スコアを配置規則表(16)から参照して、当該配置方法の適切度を示す指標値を計算する第2のステップ(S173,S177)と、
    前記コンピュータ(1)が、前記計算した指標値を参照して新規の仮想マシンの配置先を決定する第3のステップ(S179,S1710)と
    を含むことを特徴とする仮想マシン管理方法。
  17. 前記コンピュータ(1)が、新規の仮想マシンの配置とは独立に、サーバ装置(3)上の仮想マシン(33)を他のサーバ装置へ移動させる移動方法の各候補について、当該移動方法の適切度を示す指標値を前記スコアを用いて計算し、該計算した指標値を参照して既存の仮想マシンの移動を行う第4のステップ(S141b〜S147)をさらに含むことを特徴とする、請求項16に記載の仮想マシン管理方法。
  18. 前記第4のステップ(S141b〜S147)は、一定時間ごと、サーバ装置(3)あるいは仮想マシン(33)のリソースが予め定められた一定の条件に達するごと、または仮想マシン(33)の停止ごとに開始することを特徴とする、請求項17に記載の仮想マシン管理方法。
  19. 前記コンピュータ(1)が、仮想マシン(33)の種別ごとに、その種別の仮想マシンが配置されているサーバ装置(3)から当該仮想マシンのリソースの使用状況と他の仮想マシンとの間の通信状況とを収集する第5のステップ(S111〜S113)と、
    前記コンピュータ(1)が、前記収集された情報と予め定められたスコア生成規則とから前記スコアを生成して前記配置規則表(16)に記憶する第6のステップ(S121〜S125)と
    をさらに含むことを特徴とする、請求項16に記載の仮想マシン管理方法。
  20. ネットワーク(4)を介して複数のサーバ装置(3)に接続されたコンピュータ(1)に、
    新規の仮想マシンを配置可能な1以上のサーバ装置を選択する第1の処理(S131,S132)と、
    前記選択した各サーバ装置について、仮想マシン種別の組合せ毎にその組合せの仮想マシン種別どうしが同じサーバ装置に配置される適切度を示すスコアであって、リソースの競合が少なく、相互の通信が多いほど高くなる前記スコアを配置規則表(16)から参照して、新規の仮想マシンを当該サーバ装置に配置する適切度を示す指標値を計算する第2の処理(S133)と、
    前記計算した指標値を参照して新規の仮想マシンの配置先を決定する第3の処理(S134)と
    を行わせるためのプログラムであって、
    前記第1の処理(S131)では、新規の仮想マシンを配置可能なサーバ装置として、新規の仮想マシンに必要なリソースを現に確保できるサーバ装置(3)を選択し、
    前記第1の処理では、新規の仮想マシンに必要なリソースを現に確保できるサーバ装置が存在しない場合(S132のNO)、サーバ装置(3)上の既存の仮想マシン(33)を他のサーバ装置に移動させる(S141〜S147)ことにより、新規の仮想マシンを配置可能なサーバ装置の生成を試みる(S136)ことを特徴とするプログラム。
  21. 前記第1の処理(S141〜S147)では、新規の仮想マシンを配置可能なサーバ装置を生成できる移動方法の各候補について、当該移動方法の適切度を示す指標値を前記スコアを用いて計算し、該計算した指標値を参照して仮想マシンの移動方法を決定することを特徴とする、請求項20に記載のプログラム。
  22. 前記コンピュータ(1)に、さらに、新規の仮想マシンの配置とは独立に、サーバ装置(3)上の仮想マシン(33)を他のサーバ装置へ移動させる移動方法の各候補について、当該移動方法の適切度を示す指標値を前記スコアを用いて計算し、該計算した指標値を参照して既存の仮想マシンの移動を行う第4の処理(S141b〜S147)を行わせることを特徴とする、請求項20に記載のプログラム。
  23. 前記第4の処理(S141b〜S147)は、一定時間ごと、サーバ装置(3)あるいは仮想マシン(33)のリソースが予め定められた一定の条件に達するごと、または仮想マシン(33)の停止ごとに開始することを特徴とする、請求項22に記載のプログラム
  24. 前記コンピュータ(1)に、さらに、
    仮想マシン(33)の種別ごとに、その種別の仮想マシンが配置されているサーバ装置(3)から当該仮想マシンのリソースの使用状況と他の仮想マシンとの間の通信状況とを収集する第5の処理(S111〜S113)と、
    前記収集された情報と予め定められたスコア生成規則とから前記スコアを生成して前記配置規則表(16)に記憶する第6の処理(S121〜S125)と
    を行わせることを特徴とする、請求項20に記載のプログラム。
  25. ネットワーク(4)を介して複数のサーバ装置(3)に接続されたコンピュータ(1)に、
    既存の仮想マシンの移動を伴わない新規の仮想マシンの配置方法、および、既存の仮想マシンの移動を伴う新規の仮想マシンの配置方法の各候補を選択する第1の処理(S171,S172,S174〜S176)と、
    前記選択した各候補について、仮想マシン種別の組合せ毎にその組合せの仮想マシン種別どうしが同じサーバ装置に配置される適切度を示すスコアであって、リソースの競合が少なく、相互の通信が多いほど高くなる前記スコアを配置規則表(16)から参照して、当該配置方法の適切度を示す指標値を計算する第2の処理(S173,S177)と、
    前記計算した指標値を参照して新規の仮想マシンの配置先を決定する第3の処理(S179,S1710)と
    を行わせることを特徴とするプログラム。
  26. 前記コンピュータ(1)に、さらに、新規の仮想マシンの配置とは独立に、サーバ装置(3)上の仮想マシン(33)を他のサーバ装置へ移動させる移動方法の各候補について、当該移動方法の適切度を示す指標値を前記スコアを用いて計算し、該計算した指標値を参照して既存の仮想マシンの移動を行う第4の処理(S141b〜S147)を行わせることを特徴とする、請求項25に記載のプログラム。
  27. 前記第4の処理(S141b〜S147)は、一定時間ごと、サーバ装置(3)あるいは仮想マシン(33)のリソースが予め定められた一定の条件に達するごと、または仮想マシン(33)の停止ごとに開始することを特徴とする、請求項26に記載のプログラム
  28. 前記コンピュータ(1)に、さらに、
    仮想マシン(33)の種別ごとに、その種別の仮想マシンが配置されているサーバ装置(3)から当該仮想マシンのリソースの使用状況と他の仮想マシンとの間の通信状況とを収集する第5の処理(S111〜S113)と、
    前記収集された情報と予め定められたスコア生成規則とから前記スコアを生成して前記配置規則表(16)に記憶する第6の処理(S121〜S125)と
    を行わせることを特徴とする、請求項25に記載のプログラム。
JP2008516678A 2006-05-24 2007-05-15 仮想マシン管理装置、仮想マシン管理方法およびプログラム Active JP5110315B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008516678A JP5110315B2 (ja) 2006-05-24 2007-05-15 仮想マシン管理装置、仮想マシン管理方法およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006143626 2006-05-24
JP2006143626 2006-05-24
JP2008516678A JP5110315B2 (ja) 2006-05-24 2007-05-15 仮想マシン管理装置、仮想マシン管理方法およびプログラム
PCT/JP2007/060312 WO2007136021A1 (ja) 2006-05-24 2007-05-15 仮想マシン管理装置、仮想マシン管理方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2007136021A1 JPWO2007136021A1 (ja) 2009-10-01
JP5110315B2 true JP5110315B2 (ja) 2012-12-26

Family

ID=38723333

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008516678A Active JP5110315B2 (ja) 2006-05-24 2007-05-15 仮想マシン管理装置、仮想マシン管理方法およびプログラム

Country Status (4)

Country Link
US (1) US8112527B2 (ja)
EP (1) EP2037362A4 (ja)
JP (1) JP5110315B2 (ja)
WO (1) WO2007136021A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150009662A (ko) * 2013-07-16 2015-01-27 한국전자통신연구원 가상 데스크톱 서비스 제공 방법 및 장치
KR20150074708A (ko) * 2013-12-24 2015-07-02 주식회사 케이티 클라우드 시스템에서의 가상 머신 배치 방법 및 장치
KR101671119B1 (ko) 2014-12-17 2016-10-31 경희대학교 산학협력단 클라우드 컴퓨팅 시스템의 자원 관리 방법
KR20170109832A (ko) * 2016-03-22 2017-10-10 삼성전자주식회사 장치 및 이의 가상 머신 재배치 방법

Families Citing this family (237)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7840398B2 (en) * 2006-03-28 2010-11-23 Intel Corporation Techniques for unified management communication for virtualization systems
US20100250734A1 (en) * 2007-09-18 2010-09-30 Nec Corporation Server reassignment support system and server reassignment support method
JP2009169473A (ja) * 2008-01-10 2009-07-30 Nec Corp モジュール配置装置並びにモジュール配置方法並びにプログラム
US8175863B1 (en) * 2008-02-13 2012-05-08 Quest Software, Inc. Systems and methods for analyzing performance of virtual environments
JP5035011B2 (ja) * 2008-02-22 2012-09-26 日本電気株式会社 仮想サーバ管理装置および仮想サーバ管理方法
US8458658B2 (en) 2008-02-29 2013-06-04 Red Hat, Inc. Methods and systems for dynamically building a software appliance
JP5211766B2 (ja) * 2008-03-10 2013-06-12 富士通株式会社 資源割り当て装置及びプログラム
JP4577384B2 (ja) 2008-03-14 2010-11-10 日本電気株式会社 管理マシン、管理システム、管理プログラム、および、管理方法
JP2009237859A (ja) * 2008-03-27 2009-10-15 Nec Corp 仮想マシン管理システム
JP2009252204A (ja) * 2008-04-11 2009-10-29 Hitachi Ltd 計算機の運用管理システム及び運用管理方法
US8089168B2 (en) * 2008-04-15 2012-01-03 Claude Chevrette Tire actuated generator for use on cars
US9501305B2 (en) * 2008-04-23 2016-11-22 Inernational Business Machines Corporation System for virtualisation monitoring
US8935692B2 (en) 2008-05-22 2015-01-13 Red Hat, Inc. Self-management of virtual machines in cloud-based networks
US7886038B2 (en) 2008-05-27 2011-02-08 Red Hat, Inc. Methods and systems for user identity management in cloud-based networks
US8239509B2 (en) * 2008-05-28 2012-08-07 Red Hat, Inc. Systems and methods for management of virtual appliances in cloud-based network
US8849971B2 (en) * 2008-05-28 2014-09-30 Red Hat, Inc. Load balancing in cloud-based networks
US9092243B2 (en) 2008-05-28 2015-07-28 Red Hat, Inc. Managing a software appliance
US20090300423A1 (en) * 2008-05-28 2009-12-03 James Michael Ferris Systems and methods for software test management in cloud-based network
US8341625B2 (en) * 2008-05-29 2012-12-25 Red Hat, Inc. Systems and methods for identification and management of cloud-based virtual machines
US8943497B2 (en) * 2008-05-29 2015-01-27 Red Hat, Inc. Managing subscriptions for cloud-based virtual machines
US10657466B2 (en) 2008-05-29 2020-05-19 Red Hat, Inc. Building custom appliances in a cloud-based network
US8108912B2 (en) * 2008-05-29 2012-01-31 Red Hat, Inc. Systems and methods for management of secure data in cloud-based network
US8868721B2 (en) 2008-05-29 2014-10-21 Red Hat, Inc. Software appliance management using broadcast data
US10372490B2 (en) * 2008-05-30 2019-08-06 Red Hat, Inc. Migration of a virtual machine from a first cloud computing environment to a second cloud computing environment in response to a resource or services in the second cloud computing environment becoming available
US9842004B2 (en) 2008-08-22 2017-12-12 Red Hat, Inc. Adjusting resource usage for cloud-based networks
US9910708B2 (en) * 2008-08-28 2018-03-06 Red Hat, Inc. Promotion of calculations to cloud-based computation resources
US8019873B2 (en) * 2008-09-30 2011-09-13 Microsoft Corporation Mesh platform utility computing portal
JP4966942B2 (ja) * 2008-10-01 2012-07-04 株式会社日立製作所 仮想pc管理方法、仮想pc管理システム、および仮想pc管理プログラム
US8924961B2 (en) * 2008-10-29 2014-12-30 Dell Products L.P. Virtual machine scheduling methods and systems
JP5223596B2 (ja) * 2008-10-30 2013-06-26 富士通株式会社 仮想計算機システム及びその管理方法、管理プログラム並びに記録媒体、制御方法
JP4839361B2 (ja) * 2008-11-11 2011-12-21 株式会社日立製作所 仮想マシン移動管理サーバおよび仮想マシン移動方法
JP2010122805A (ja) * 2008-11-18 2010-06-03 Hitachi Ltd 仮想サーバシステム並びに物理cpu及び物理メモリの割り当て方法
US8984505B2 (en) * 2008-11-26 2015-03-17 Red Hat, Inc. Providing access control to user-controlled resources in a cloud computing environment
US8782233B2 (en) * 2008-11-26 2014-07-15 Red Hat, Inc. Embedding a cloud-based resource request in a specification language wrapper
US9210173B2 (en) * 2008-11-26 2015-12-08 Red Hat, Inc. Securing appliances for use in a cloud computing environment
US10025627B2 (en) 2008-11-26 2018-07-17 Red Hat, Inc. On-demand cloud computing environments
US9870541B2 (en) * 2008-11-26 2018-01-16 Red Hat, Inc. Service level backup using re-cloud network
US9037692B2 (en) 2008-11-26 2015-05-19 Red Hat, Inc. Multiple cloud marketplace aggregation
KR101277273B1 (ko) * 2008-12-08 2013-06-20 한국전자통신연구원 자원 관리 시스템을 이용한 단말 장치간 자원 할당 방법 및 이를 위한 자원 관리 서버
US20100146123A1 (en) * 2008-12-08 2010-06-10 Electronics And Telecommunications Research Institute Resource allocation method of each terminal apparatus using resource management system and resource management server apparatus
JP2010140134A (ja) * 2008-12-10 2010-06-24 Hitachi Ltd 仮想マシン管理方法、プログラムおよび管理サーバ
US20100161922A1 (en) * 2008-12-19 2010-06-24 Richard William Sharp Systems and methods for facilitating migration of virtual machines among a plurality of physical machines
JP5159898B2 (ja) * 2009-01-06 2013-03-13 三菱電機株式会社 管理装置及び管理方法及びプログラム
US9485117B2 (en) 2009-02-23 2016-11-01 Red Hat, Inc. Providing user-controlled resources for cloud computing environments
US9930138B2 (en) 2009-02-23 2018-03-27 Red Hat, Inc. Communicating with third party resources in cloud computing environment
US8977750B2 (en) * 2009-02-24 2015-03-10 Red Hat, Inc. Extending security platforms to cloud-based networks
US9547455B1 (en) 2009-03-10 2017-01-17 Hewlett Packard Enterprise Development Lp Allocating mass storage to a logical server
US8832235B1 (en) 2009-03-10 2014-09-09 Hewlett-Packard Development Company, L.P. Deploying and releasing logical servers
US9154385B1 (en) 2009-03-10 2015-10-06 Hewlett-Packard Development Company, L.P. Logical server management interface displaying real-server technologies
US8549123B1 (en) 2009-03-10 2013-10-01 Hewlett-Packard Development Company, L.P. Logical server management
US8676946B1 (en) 2009-03-10 2014-03-18 Hewlett-Packard Development Company, L.P. Warnings for logical-server target hosts
JP5476764B2 (ja) * 2009-03-30 2014-04-23 富士通株式会社 サーバ装置、計算機システム、プログラム及び仮想計算機移動方法
JPWO2010122709A1 (ja) 2009-04-23 2012-10-25 日本電気株式会社 若化処理装置、若化処理システム、コンピュータプログラムおよびデータ処理方法
WO2010122710A1 (ja) 2009-04-23 2010-10-28 日本電気株式会社 若化処理装置、若化処理システム、コンピュータプログラムおよびデータ処理方法
JP5617839B2 (ja) * 2009-04-24 2014-11-05 日本電気株式会社 パケット通信システム、パケット通信装置、パケット通信方法、パケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体
US9600332B2 (en) * 2009-04-28 2017-03-21 Cisco Technology, Inc. Server load balancing based on virtual utilization, physical utilization, and feedback
US8261266B2 (en) * 2009-04-30 2012-09-04 Microsoft Corporation Deploying a virtual machine having a virtual hardware configuration matching an improved hardware profile with respect to execution of an application
US9311162B2 (en) * 2009-05-27 2016-04-12 Red Hat, Inc. Flexible cloud management
US9104407B2 (en) * 2009-05-28 2015-08-11 Red Hat, Inc. Flexible cloud management with power management support
US9450783B2 (en) * 2009-05-28 2016-09-20 Red Hat, Inc. Abstracting cloud management
US9703609B2 (en) 2009-05-29 2017-07-11 Red Hat, Inc. Matching resources associated with a virtual machine to offered resources
US9201485B2 (en) * 2009-05-29 2015-12-01 Red Hat, Inc. Power management in managed network having hardware based and virtual resources
WO2010138130A1 (en) * 2009-05-29 2010-12-02 Hewlett-Packard Development Company, L.P. System and method for allocating resources of a server to a virtual machine
US20100306767A1 (en) * 2009-05-29 2010-12-02 Dehaan Michael Paul Methods and systems for automated scaling of cloud computing systems
WO2010140194A1 (ja) * 2009-06-05 2010-12-09 富士通株式会社 情報処理システムの管理方法、情報処理システム、記録媒体、管理プログラム
US8271644B2 (en) * 2009-06-18 2012-09-18 Dell Products, Lp System and method to manage information handling system resources in virtual machine infrastructure
US8489744B2 (en) * 2009-06-29 2013-07-16 Red Hat Israel, Ltd. Selecting a host from a host cluster for live migration of a virtual machine
US8694638B2 (en) * 2009-06-29 2014-04-08 Red Hat Israel Selecting a host from a host cluster to run a virtual machine
US8140812B2 (en) * 2009-07-01 2012-03-20 International Business Machines Corporation Method and apparatus for two-phase storage-aware placement of virtual machines
US8910153B2 (en) * 2009-07-13 2014-12-09 Hewlett-Packard Development Company, L. P. Managing virtualized accelerators using admission control, load balancing and scheduling
EP2457176B1 (en) * 2009-07-24 2018-11-14 EntIT Software LLC Virtual-machine based application-service provision
US8832459B2 (en) 2009-08-28 2014-09-09 Red Hat, Inc. Securely terminating processes in a cloud computing environment
US8271653B2 (en) * 2009-08-31 2012-09-18 Red Hat, Inc. Methods and systems for cloud management using multiple cloud management schemes to allow communication between independently controlled clouds
US8504443B2 (en) * 2009-08-31 2013-08-06 Red Hat, Inc. Methods and systems for pricing software infrastructure for a cloud computing environment
US8769083B2 (en) 2009-08-31 2014-07-01 Red Hat, Inc. Metering software infrastructure in a cloud computing environment
US8862720B2 (en) 2009-08-31 2014-10-14 Red Hat, Inc. Flexible cloud management including external clouds
US8316125B2 (en) * 2009-08-31 2012-11-20 Red Hat, Inc. Methods and systems for automated migration of cloud processes to external clouds
US20120173604A1 (en) * 2009-09-18 2012-07-05 Nec Corporation Data center system, reconfigurable node, reconfigurable node controlling method and reconfigurable node control program
US11132237B2 (en) * 2009-09-24 2021-09-28 Oracle International Corporation System and method for usage-based application licensing in a hypervisor virtual execution environment
GB2473849B (en) * 2009-09-25 2015-06-17 Ge Aviat Systems Ltd Module communication
EP2472396A1 (en) * 2009-10-01 2012-07-04 Mitsubishi Electric Corporation Computer device
JP5541289B2 (ja) * 2009-10-09 2014-07-09 日本電気株式会社 仮想サーバシステム、その自律制御サーバ、そのデータ処理方法およびコンピュータプログラム
US8375223B2 (en) 2009-10-30 2013-02-12 Red Hat, Inc. Systems and methods for secure distributed storage
US8700752B2 (en) * 2009-11-03 2014-04-15 International Business Machines Corporation Optimized efficient LPAR capacity consolidation
KR101612780B1 (ko) * 2009-11-13 2016-04-18 삼성전자주식회사 컴퓨팅 시스템 및 컴퓨팅 시스템의 메모리 관리 방법
US10268522B2 (en) * 2009-11-30 2019-04-23 Red Hat, Inc. Service aggregation using graduated service levels in a cloud network
US9529689B2 (en) 2009-11-30 2016-12-27 Red Hat, Inc. Monitoring cloud computing environments
US10402544B2 (en) * 2009-11-30 2019-09-03 Red Hat, Inc. Generating a software license knowledge base for verifying software license compliance in cloud computing environments
US9971880B2 (en) 2009-11-30 2018-05-15 Red Hat, Inc. Verifying software license compliance in cloud computing environments
US9389980B2 (en) * 2009-11-30 2016-07-12 Red Hat, Inc. Detecting events in cloud computing environments and performing actions upon occurrence of the events
US8850426B2 (en) * 2009-12-13 2014-09-30 International Business Machines Corporation Managing remote deployment of a virtual machine and service request to be processed by the virtual machines based on network bandwith and storage connectivity
EP2513780A4 (en) 2009-12-14 2014-10-22 Hewlett Packard Development Co CHANGE OF A COMPUTER MANAGEMENT REQUEST
US8631403B2 (en) 2010-01-04 2014-01-14 Vmware, Inc. Method and system for managing tasks by dynamically scaling centralized virtual center in virtual infrastructure
US9053472B2 (en) * 2010-02-26 2015-06-09 Red Hat, Inc. Offering additional license terms during conversion of standard software licenses for use in cloud computing environments
US20110214124A1 (en) * 2010-02-26 2011-09-01 James Michael Ferris Systems and methods for generating cross-cloud computing appliances
US8606667B2 (en) * 2010-02-26 2013-12-10 Red Hat, Inc. Systems and methods for managing a software subscription in a cloud network
US11922196B2 (en) 2010-02-26 2024-03-05 Red Hat, Inc. Cloud-based utilization of software entitlements
US8255529B2 (en) * 2010-02-26 2012-08-28 Red Hat, Inc. Methods and systems for providing deployment architectures in cloud computing environments
US10783504B2 (en) * 2010-02-26 2020-09-22 Red Hat, Inc. Converting standard software licenses for use in cloud computing environments
US20110213687A1 (en) * 2010-02-26 2011-09-01 James Michael Ferris Systems and methods for or a usage manager for cross-cloud appliances
US8402139B2 (en) * 2010-02-26 2013-03-19 Red Hat, Inc. Methods and systems for matching resource requests with cloud computing environments
JP2011180889A (ja) * 2010-03-02 2011-09-15 Nec Corp ネットワークリソース管理システム、装置、方法及びプログラム
JP5549347B2 (ja) * 2010-04-20 2014-07-16 日本電気株式会社 管理サーバおよび仮想マシン配置制御方法
US8909783B2 (en) 2010-05-28 2014-12-09 Red Hat, Inc. Managing multi-level service level agreements in cloud-based network
US8606897B2 (en) 2010-05-28 2013-12-10 Red Hat, Inc. Systems and methods for exporting usage history data as input to a management platform of a target cloud-based network
US8364819B2 (en) 2010-05-28 2013-01-29 Red Hat, Inc. Systems and methods for cross-vendor mapping service in cloud networks
US9436459B2 (en) 2010-05-28 2016-09-06 Red Hat, Inc. Generating cross-mapping of vendor software in a cloud computing environment
US8954564B2 (en) 2010-05-28 2015-02-10 Red Hat, Inc. Cross-cloud vendor mapping service in cloud marketplace
US8504689B2 (en) 2010-05-28 2013-08-06 Red Hat, Inc. Methods and systems for cloud deployment analysis featuring relative cloud resource importance
US9354939B2 (en) 2010-05-28 2016-05-31 Red Hat, Inc. Generating customized build options for cloud deployment matching usage profile against cloud infrastructure options
US9202225B2 (en) 2010-05-28 2015-12-01 Red Hat, Inc. Aggregate monitoring of utilization data for vendor products in cloud networks
US20110296429A1 (en) * 2010-06-01 2011-12-01 International Business Machines Corporation System and method for management of license entitlements in a virtualized environment
US8417911B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Associating input/output device requests with memory associated with a logical partition
US8615622B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Non-standard I/O adapters in a standardized I/O architecture
US8645606B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Upbound input/output expansion request and response processing in a PCIe architecture
US8745292B2 (en) 2010-06-23 2014-06-03 International Business Machines Corporation System and method for routing I/O expansion requests and responses in a PCIE architecture
US8615586B2 (en) * 2010-06-23 2013-12-24 International Business Machines Corporation Discovery of logical images at storage area network endpoints
US8918573B2 (en) 2010-06-23 2014-12-23 International Business Machines Corporation Input/output (I/O) expansion response processing in a peripheral component interconnect express (PCIe) environment
US8677180B2 (en) 2010-06-23 2014-03-18 International Business Machines Corporation Switch failover control in a multiprocessor computer system
US8645767B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Scalable I/O adapter function level error detection, isolation, and reporting
US8671287B2 (en) 2010-06-23 2014-03-11 International Business Machines Corporation Redundant power supply configuration for a data center
US8656228B2 (en) 2010-06-23 2014-02-18 International Business Machines Corporation Memory error isolation and recovery in a multiprocessor computer system
US8416834B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Spread spectrum wireless communication code for data center environments
US8423646B2 (en) 2010-07-09 2013-04-16 International Business Machines Corporation Network-aware virtual machine migration in datacenters
US20120030686A1 (en) * 2010-07-29 2012-02-02 International Business Machines Corporation Thermal load management in a partitioned virtual computer system environment through monitoring of ambient temperatures of envirnoment surrounding the systems
US9104458B1 (en) 2010-09-30 2015-08-11 Amazon Technologies, Inc. Managing virtual computing nodes using isolation and migration techniques
US9384029B1 (en) 2010-09-30 2016-07-05 Amazon Technologies, Inc. Managing virtual computing nodes
US9183028B1 (en) 2010-09-30 2015-11-10 Amazon Technologies, Inc. Managing virtual computing nodes
US8909767B2 (en) * 2010-10-13 2014-12-09 Rackware, Inc. Cloud federation in a cloud computing environment
JP5614226B2 (ja) * 2010-10-15 2014-10-29 富士通株式会社 仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法
WO2012053393A1 (ja) * 2010-10-19 2012-04-26 株式会社日立製作所 仮想計算機を配置する方法及び装置
JP5786863B2 (ja) * 2010-10-28 2015-09-30 日本電気株式会社 タスク配置最適化システム、タスク配置最適化方法、及びタスク配置最適化プログラム
US8874457B2 (en) * 2010-11-17 2014-10-28 International Business Machines Corporation Concurrent scheduling of plan operations in a virtualized computing environment
US8584121B2 (en) * 2010-11-19 2013-11-12 International Business Machines Corporation Using a score-based template to provide a virtual machine
US9736252B2 (en) 2010-11-23 2017-08-15 Red Hat, Inc. Migrating subscribed services in a cloud deployment
US8612577B2 (en) 2010-11-23 2013-12-17 Red Hat, Inc. Systems and methods for migrating software modules into one or more clouds
US8904005B2 (en) 2010-11-23 2014-12-02 Red Hat, Inc. Indentifying service dependencies in a cloud deployment
US8612615B2 (en) 2010-11-23 2013-12-17 Red Hat, Inc. Systems and methods for identifying usage histories for producing optimized cloud utilization
US8909784B2 (en) 2010-11-23 2014-12-09 Red Hat, Inc. Migrating subscribed services from a set of clouds to a second set of clouds
US8924539B2 (en) 2010-11-24 2014-12-30 Red Hat, Inc. Combinatorial optimization of multiple resources across a set of cloud-based networks
US10192246B2 (en) 2010-11-24 2019-01-29 Red Hat, Inc. Generating multi-cloud incremental billing capture and administration
US8713147B2 (en) 2010-11-24 2014-04-29 Red Hat, Inc. Matching a usage history to a new cloud
US8825791B2 (en) 2010-11-24 2014-09-02 Red Hat, Inc. Managing subscribed resource in cloud network using variable or instantaneous consumption tracking periods
US9442771B2 (en) 2010-11-24 2016-09-13 Red Hat, Inc. Generating configurable subscription parameters
US8949426B2 (en) 2010-11-24 2015-02-03 Red Hat, Inc. Aggregation of marginal subscription offsets in set of multiple host clouds
US9606831B2 (en) 2010-11-30 2017-03-28 Red Hat, Inc. Migrating virtual machine operations
US9563479B2 (en) 2010-11-30 2017-02-07 Red Hat, Inc. Brokering optimized resource supply costs in host cloud-based network using predictive workloads
US20130283273A1 (en) * 2011-01-05 2013-10-24 Hirohisa Miyazaki Service reservation management method, virtual machine system and storage medium
US8959221B2 (en) 2011-03-01 2015-02-17 Red Hat, Inc. Metering cloud resource consumption using multiple hierarchical subscription periods
US8832219B2 (en) 2011-03-01 2014-09-09 Red Hat, Inc. Generating optimized resource consumption periods for multiple users on combined basis
CN102859502B (zh) * 2011-03-02 2016-03-23 松下电器(美国)知识产权公司 虚拟计算机系统、虚拟计算机控制方法、及半导体集成电路
WO2012117453A1 (ja) * 2011-03-03 2012-09-07 株式会社日立製作所 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法
JP5593260B2 (ja) * 2011-03-17 2014-09-17 株式会社エヌ・ティ・ティ・データ 移動要求装置、移動要求方法、移動要求プログラム
JP5675471B2 (ja) * 2011-04-05 2015-02-25 株式会社日立製作所 データセンタシステム管理方法、データセンタシステム、及び管理装置
US9710295B2 (en) 2011-04-20 2017-07-18 Nec Corporation Grouping and placement of virtual machines based on similarity and correlation of functional relations
US8631099B2 (en) 2011-05-27 2014-01-14 Red Hat, Inc. Systems and methods for cloud deployment engine for selective workload migration or federation based on workload conditions
US10102018B2 (en) 2011-05-27 2018-10-16 Red Hat, Inc. Introspective application reporting to facilitate virtual machine movement between cloud hosts
US8984104B2 (en) 2011-05-31 2015-03-17 Red Hat, Inc. Self-moving operating system installation in cloud-based network
US9037723B2 (en) 2011-05-31 2015-05-19 Red Hat, Inc. Triggering workload movement based on policy stack having multiple selectable inputs
US10360122B2 (en) 2011-05-31 2019-07-23 Red Hat, Inc. Tracking cloud installation information using cloud-aware kernel of operating system
US8782192B2 (en) 2011-05-31 2014-07-15 Red Hat, Inc. Detecting resource consumption events over sliding intervals in cloud-based network
CN103827823A (zh) 2011-07-29 2014-05-28 惠普发展公司,有限责任合伙企业 迁移虚拟机
US8782242B2 (en) 2011-10-13 2014-07-15 Vmware, Inc. Software application placement using computing resource containers
US8880930B2 (en) * 2011-10-13 2014-11-04 Vmware, Inc. Software application placement based on failure correlation
JP5879117B2 (ja) * 2011-12-19 2016-03-08 株式会社日立製作所 情報処理システムおよび運用管理方法
JP5887149B2 (ja) * 2012-01-25 2016-03-16 株式会社エヌ・ティ・ティ・データ 仮想マシン配置装置、仮想マシン配置方法
KR101603928B1 (ko) * 2012-02-06 2016-03-16 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 클라우드 서비스 간의 이송 시 애플리케이션 성능의 유지
US20130238785A1 (en) * 2012-03-06 2013-09-12 Rackspace Us, Inc. System and Method for Metadata Discovery and Metadata-Aware Scheduling
TW201337766A (zh) * 2012-03-15 2013-09-16 Hon Hai Prec Ind Co Ltd 虛擬機資源整合系統及方法
JP5998577B2 (ja) * 2012-03-29 2016-09-28 日本電気株式会社 クラスタ監視装置、クラスタ監視方法、及びプログラム
WO2013171944A1 (ja) * 2012-05-15 2013-11-21 日本電気株式会社 仮想マシン管理システム、仮想マシン管理方法およびプログラム
JP5935505B2 (ja) * 2012-05-24 2016-06-15 富士通株式会社 情報処理装置、仮想マシン制御方法、仮想マシン制御プログラム
US10430216B1 (en) * 2012-08-23 2019-10-01 Scale Computing Inc Virtual machine automated selection
US8966495B2 (en) * 2012-09-05 2015-02-24 Cisco Technology, Inc. Dynamic virtual machine consolidation
RU2605473C2 (ru) * 2012-09-20 2016-12-20 Амазон Текнолоджис, Инк. Автоматизированное профилирование использования ресурса
US9557879B1 (en) 2012-10-23 2017-01-31 Dell Software Inc. System for inferring dependencies among computing systems
US10333820B1 (en) 2012-10-23 2019-06-25 Quest Software Inc. System for inferring dependencies among computing systems
JP5958301B2 (ja) * 2012-11-21 2016-07-27 富士通株式会社 情報処理方法、プログラム、情報処理装置、及び情報処理システム。
US9223636B2 (en) 2013-01-08 2015-12-29 International Business Machines Corporation Low-risk server consolidation
US20140196038A1 (en) 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine management in a data storage system
US9025452B2 (en) * 2013-02-18 2015-05-05 Broadcom Corporation Oversubscription monitor
US9110722B2 (en) 2013-02-28 2015-08-18 International Business Machines Corporation Data processing work allocation
JP6365536B2 (ja) 2013-05-29 2018-08-01 日本電気株式会社 仮想マシン制御装置、仮想マシン制御方法とプログラム、および、データセンタ
US9960963B2 (en) * 2013-06-24 2018-05-01 Oracle International Corporation Dynamic client fail-over during a rolling patch installation based on temporal server conditions
JP2015022385A (ja) * 2013-07-17 2015-02-02 日本電気株式会社 仮想システムおよび仮想システム制御方法
EP3022649A1 (en) * 2013-07-19 2016-05-25 Hewlett Packard Enterprise Development LP Virtual machine resource management system and method thereof
US20150081400A1 (en) * 2013-09-19 2015-03-19 Infosys Limited Watching ARM
EP4071605A1 (en) * 2013-10-23 2022-10-12 Huawei Cloud Computing Technologies Co., Ltd. Method, system and apparatus for creating virtual machine
US9817683B2 (en) * 2014-01-10 2017-11-14 Dell Products, Lp Optimized remediation policy in a virtualized environment
US20150199206A1 (en) * 2014-01-13 2015-07-16 Bigtera Limited Data distribution device and data distribution method thereof for use in storage system
JP2015158773A (ja) * 2014-02-24 2015-09-03 富士通株式会社 仮想装置の動作検証装置,仮想装置の動作検証システム及びプログラム
US11005738B1 (en) 2014-04-09 2021-05-11 Quest Software Inc. System and method for end-to-end response-time analysis
US9479414B1 (en) 2014-05-30 2016-10-25 Dell Software Inc. System and method for analyzing computing performance
US20170068558A1 (en) * 2014-06-12 2017-03-09 Hitachi, Ltd. Virtual machine management system and method therefor
CA2952886A1 (en) * 2014-06-20 2015-12-23 Cirba Ip Inc. System and method for optimizing placements of virtual machines on hypervisor hosts
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
JP6243817B2 (ja) * 2014-09-03 2017-12-06 日本電信電話株式会社 分散アプリケーション配置システム
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US10291493B1 (en) 2014-12-05 2019-05-14 Quest Software Inc. System and method for determining relevant computer performance events
US11182713B2 (en) 2015-01-24 2021-11-23 Vmware, Inc. Methods and systems to optimize operating system license costs in a virtual data center
US9274758B1 (en) 2015-01-28 2016-03-01 Dell Software Inc. System and method for creating customized performance-monitoring applications
CN105988872B (zh) 2015-02-03 2020-02-18 阿里巴巴集团控股有限公司 一种cpu资源分配的方法、装置及电子设备
US9996577B1 (en) 2015-02-11 2018-06-12 Quest Software Inc. Systems and methods for graphically filtering code call trees
US10505862B1 (en) * 2015-02-18 2019-12-10 Amazon Technologies, Inc. Optimizing for infrastructure diversity constraints in resource placement
US9817688B2 (en) * 2015-02-18 2017-11-14 Red Hat Israel, Ltd. Identifying and preventing removal of virtual hardware
US20160294665A1 (en) * 2015-03-30 2016-10-06 Ca, Inc. Selectively deploying probes at different resource levels
CN106155807A (zh) 2015-04-15 2016-11-23 阿里巴巴集团控股有限公司 一种实现资源调度的方法与设备
WO2016174717A1 (ja) * 2015-04-27 2016-11-03 三菱電機株式会社 情報処理装置及びリソース割り当て方法及びリソース割り当てプログラム
CN106155812A (zh) * 2015-04-28 2016-11-23 阿里巴巴集团控股有限公司 一种对虚拟主机的资源管理的方法、装置、系统及电子设备
US9946573B2 (en) * 2015-05-20 2018-04-17 Oracle International Corporation Optimizing virtual machine memory sizing for cloud-scale application deployments
US10187260B1 (en) 2015-05-29 2019-01-22 Quest Software Inc. Systems and methods for multilayer monitoring of network function virtualization architectures
US9760398B1 (en) * 2015-06-29 2017-09-12 Amazon Technologies, Inc. Automatic placement of virtual machine instances
US9886299B2 (en) * 2015-07-28 2018-02-06 American Megatrends, Inc. System and method for dynamically allocating resources of virtual machines based on service-level agreements (SLA) and privilege levels of users
US11150927B1 (en) * 2015-08-10 2021-10-19 Amazon Technologies, Inc. Policy-based virtual machine instance cotenancy
JP6540356B2 (ja) * 2015-08-10 2019-07-10 富士通株式会社 システム複製制御装置およびシステムの複製制御方法
US10200252B1 (en) 2015-09-18 2019-02-05 Quest Software Inc. Systems and methods for integrated modeling of monitored virtual desktop infrastructure systems
US10990926B2 (en) * 2015-10-29 2021-04-27 International Business Machines Corporation Management of resources in view of business goals
JP6417341B2 (ja) * 2016-01-20 2018-11-07 日本電信電話株式会社 管理装置、および、ソフトウェアコンポーネントグルーピング方法
US10230601B1 (en) 2016-07-05 2019-03-12 Quest Software Inc. Systems and methods for integrated modeling and performance measurements of monitored virtual desktop infrastructure systems
US10379893B2 (en) 2016-08-10 2019-08-13 Rackware, Inc. Container synchronization
US10382352B2 (en) * 2016-11-15 2019-08-13 Vmware Inc. Distributed resource scheduling based on network utilization
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
JP6801468B2 (ja) 2017-01-19 2020-12-16 富士通株式会社 管理装置、制御方法、および管理プログラム
US10877851B2 (en) 2017-03-24 2020-12-29 Commvault Systems, Inc. Virtual machine recovery point selection
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
CN106911809B (zh) * 2017-04-28 2020-06-26 郑州云海信息技术有限公司 一种数据中心用户请求信息的存储和分发的方法及装置
JP7037059B2 (ja) 2018-07-23 2022-03-16 日本電信電話株式会社 リソース管理システム、および、リソース割当プログラム
JP6957431B2 (ja) * 2018-09-27 2021-11-02 株式会社日立製作所 Hci環境でのvm/コンテナおよびボリューム配置決定方法及びストレージシステム
US20200257571A1 (en) * 2019-02-13 2020-08-13 Hewlett Packard Enterprise Development Lp Relationship driven workload placement for computing clusters
US10922283B2 (en) 2019-02-22 2021-02-16 Rackware, Inc. File synchronization
US11036537B1 (en) * 2019-03-26 2021-06-15 Amazon Technologies, Inc. On demand capacity management in provider networks using type-agnostic resources
US11909517B2 (en) * 2019-05-29 2024-02-20 CEO Vision, Inc Systems and methods for secure, low bandwidth replicated virtual worlds for shared space computing
US11520634B2 (en) * 2019-06-21 2022-12-06 Kyndryl, Inc. Requirement-based resource sharing in computing environment
JP7368143B2 (ja) * 2019-08-27 2023-10-24 株式会社日立製作所 サービス配備制御システム、サービス配備制御方法及び記憶媒体
JP2021149129A (ja) * 2020-03-16 2021-09-27 富士通株式会社 料金算出プログラム、及び料金算出方法
US11966781B2 (en) * 2020-04-02 2024-04-23 Jpmorgan Chase Bank, N.A. System and method for implementing a standalone application module
CN112328357A (zh) * 2020-10-26 2021-02-05 中国建设银行股份有限公司 创建虚拟机模版的方法、装置、存储介质及计算机设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS642145A (en) * 1987-06-25 1989-01-06 Fujitsu Ltd Resource control system for virtual computer system
JPH04229330A (ja) * 1990-12-27 1992-08-18 Nippon Telegr & Teleph Corp <Ntt> タスク分配割当て方式
JP2005310120A (ja) * 2004-03-23 2005-11-04 Hitachi Ltd 計算機システム及びタスク割当方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3653159B2 (ja) 1997-04-01 2005-05-25 株式会社日立製作所 仮想計算機システム間の仮想計算機移動制御方法
JP2002259147A (ja) 2001-02-27 2002-09-13 Hitachi Ltd 情報処理装置及びリアルタイム分散処理システム
US7065549B2 (en) * 2002-03-29 2006-06-20 Illinois Institute Of Technology Communication and process migration protocols for distributed heterogeneous computing
JP4163481B2 (ja) 2002-10-11 2008-10-08 株式会社東芝 クラスタシステム及び同システムにおけるサービス制御方法
JP4119239B2 (ja) * 2002-12-20 2008-07-16 株式会社日立製作所 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム
US7203944B1 (en) * 2003-07-09 2007-04-10 Veritas Operating Corporation Migrating virtual machines among computer systems to balance load caused by virtual machines
JP3987517B2 (ja) 2003-09-02 2007-10-10 株式会社東芝 計算機システム及びクラスタシステム用プログラム
US20050050200A1 (en) * 2003-09-02 2005-03-03 Kabushiki Kaisha Toshiba Computer system and cluster system program
JP3861087B2 (ja) 2003-10-08 2006-12-20 株式会社エヌ・ティ・ティ・データ 仮想マシン管理装置及びプログラム
US20050198303A1 (en) * 2004-01-02 2005-09-08 Robert Knauerhase Dynamic virtual machine service provider allocation
US7577959B2 (en) * 2004-06-24 2009-08-18 International Business Machines Corporation Providing on-demand capabilities using virtual machines and clustering processes
US20060069761A1 (en) * 2004-09-14 2006-03-30 Dell Products L.P. System and method for load balancing virtual machines in a computer network
US7607129B2 (en) * 2005-04-07 2009-10-20 International Business Machines Corporation Method and apparatus for using virtual machine technology for managing parallel communicating applications
US20070204266A1 (en) * 2006-02-28 2007-08-30 International Business Machines Corporation Systems and methods for dynamically managing virtual machines

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS642145A (en) * 1987-06-25 1989-01-06 Fujitsu Ltd Resource control system for virtual computer system
JPH04229330A (ja) * 1990-12-27 1992-08-18 Nippon Telegr & Teleph Corp <Ntt> タスク分配割当て方式
JP2005310120A (ja) * 2004-03-23 2005-11-04 Hitachi Ltd 計算機システム及びタスク割当方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150009662A (ko) * 2013-07-16 2015-01-27 한국전자통신연구원 가상 데스크톱 서비스 제공 방법 및 장치
KR101941282B1 (ko) * 2013-07-16 2019-01-23 한국전자통신연구원 가상 데스크톱 서비스 제공 방법 및 장치
KR20150074708A (ko) * 2013-12-24 2015-07-02 주식회사 케이티 클라우드 시스템에서의 가상 머신 배치 방법 및 장치
KR101595854B1 (ko) * 2013-12-24 2016-02-19 주식회사 케이티 클라우드 시스템에서의 가상 머신 배치 방법 및 장치
US9465641B2 (en) 2013-12-24 2016-10-11 Kt Corporation Selecting cloud computing resource based on fault tolerance and network efficiency
KR101671119B1 (ko) 2014-12-17 2016-10-31 경희대학교 산학협력단 클라우드 컴퓨팅 시스템의 자원 관리 방법
KR20170109832A (ko) * 2016-03-22 2017-10-10 삼성전자주식회사 장치 및 이의 가상 머신 재배치 방법
KR102532641B1 (ko) * 2016-03-22 2023-05-15 삼성전자 주식회사 장치 및 이의 가상 머신 재배치 방법

Also Published As

Publication number Publication date
EP2037362A4 (en) 2012-04-18
WO2007136021A1 (ja) 2007-11-29
EP2037362A1 (en) 2009-03-18
JPWO2007136021A1 (ja) 2009-10-01
US20090210527A1 (en) 2009-08-20
US8112527B2 (en) 2012-02-07

Similar Documents

Publication Publication Date Title
JP5110315B2 (ja) 仮想マシン管理装置、仮想マシン管理方法およびプログラム
CN105357038B (zh) 监控虚拟机集群的方法和系统
US20190384648A1 (en) Proactive high availability in a virtualized computer system
US10162661B2 (en) Interdependent virtual machine management
JP6258494B2 (ja) 仮想コンピュータ処理のインスタンス移動
US8260840B1 (en) Dynamic scaling of a cluster of computing nodes used for distributed execution of a program
US8701108B2 (en) Apparatus and method for controlling live-migrations of a plurality of virtual machines
CN103620578B (zh) 经由网络分割的本地云计算
US20080320122A1 (en) Method and apparatus for management of virtualized process collections
WO2012056596A1 (ja) 計算機システム及び処理制御方法
US11924117B2 (en) Automated local scaling of compute instances
US11677877B2 (en) Utilizing machine learning with call histories to determine support queue positions for support calls
JPWO2011083673A1 (ja) 構成情報管理システム、構成情報管理方法、及び構成情報管理用プログラム
Belgaum et al. Cloud service ranking using checkpoint-based load balancing in real-time scheduling of cloud computing
US9270539B2 (en) Predicting resource provisioning times in a computing environment
EP3798930A2 (en) Machine learning training resource management
Caglar et al. Intelligent, performance interference-aware resource management for iot cloud backends
Dhingra et al. Comparative analysis of fault tolerance models and their challenges in cloud computing
CN108112268B (zh) 管理与自动扩展组相关的负载平衡器
CN109656683A (zh) 一种虚拟机管理系统及方法
JP5597293B2 (ja) 計算機システム及びプログラム
Caruana et al. gSched: a resource aware Hadoop scheduler for heterogeneous cloud computing environments
JPWO2007108062A1 (ja) サーバ管理方法、プログラム及び装置
JP7447186B2 (ja) 計算機システム及び仮想化基盤の構築制御方法
US9436523B1 (en) Holistic non-invasive evaluation of an asynchronous distributed software process

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120806

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: 20120912

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120925

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5110315

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250