JP5104588B2 - マイグレーションプログラム、および仮想マシン管理装置 - Google Patents

マイグレーションプログラム、および仮想マシン管理装置 Download PDF

Info

Publication number
JP5104588B2
JP5104588B2 JP2008163251A JP2008163251A JP5104588B2 JP 5104588 B2 JP5104588 B2 JP 5104588B2 JP 2008163251 A JP2008163251 A JP 2008163251A JP 2008163251 A JP2008163251 A JP 2008163251A JP 5104588 B2 JP5104588 B2 JP 5104588B2
Authority
JP
Japan
Prior art keywords
application
virtual machine
migration
server
policy
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
JP2008163251A
Other languages
English (en)
Other versions
JP2009116852A (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
Priority to JP2008163251A priority Critical patent/JP5104588B2/ja
Priority to US12/248,726 priority patent/US8468230B2/en
Publication of JP2009116852A publication Critical patent/JP2009116852A/ja
Application granted granted Critical
Publication of JP5104588B2 publication Critical patent/JP5104588B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、仮想マシンのマイグレーション先を決定する技術で、とくに、様々なアプリケーションの特性を考慮したマイグレーション制御を可能にする仮想マシンのマイグレーションプログラム、マイグレーション方法、および仮想マシン管理装置に関する。
近年、複数の仮想マシンを1台の物理サーバ上で稼動させることによるサーバコンソリデーションが盛んになっている。これにより、システム内のアプリケーションと物理サーバとの結びつきが弱くなり、より柔軟なシステム構成が可能になってきた。
そのため、稼働中のシステムを止めずに仮想マシンを他の物理サーバへ移動させるライブマイグレーション技術が、メンテナンスや負荷分散、省電力のために使われている。例えば、メンテナンス対象のサーバ上の仮想マシンをライブマイグレーションによって他のサーバに移動させておけば、システムを止めずにハードウェアのメンテナンスが可能となる。あるいは、高負荷な仮想マシンをより高性能のサーバにマイグレーションさせれば負荷分散が可能になり、低負荷な仮想マシンを1台のサーバに集めれば、空いたサーバの電源を落とすことによって省電力が可能となる。
上記のような負荷分散や省電力を目的とする場合、どの仮想マシンをどのサーバにマイグレーションさせるかという判断を人手で行うのは、大変非効率であり、自動化することが求められている。
従来、各仮想マシンの負荷状態に応じて自動的にライブマイグレーションを行う機能を持つ管理ツールとして、非特許文献1などがある。このような管理ツールは、各サーバや仮想マシンから、CPU性能やメモリ容量などの静的な情報や、CPU使用率、メモリ使用量などの動的な情報を定期的に取得し、それらの値が予め決めた基準を超えた場合に、マイグレーションを指示する。その移行先も、予め決められたポリシー(負荷をできるだけ分散/集中させる等) にしたがって決められる。しかし、このような管理ツールは、仮想マシン上で動作しているアプリケーションの状態は考慮されていない。
これに対し、OS(オペレーティングシステム)だけでなくアプリケーションの負荷状況も監視し、その情報を基に資源配分を行う技術や、アプリケーションの状態を予め決めた基準を基に解析することでマイグレーションを制御する技術が提案されている。
これらの技術は、複数のサーバ・仮想マシンから構成されるシステム全体の最適化(負荷分散や省電力など)のために、その上で稼働中の各アプリケーションの状態も考慮したものとなっている。
VMware VirtualCenter, http://www.vmware.com/ja/products/vc/ , http://www.vmware.com/products/server/vc.html(2008年8月31日検索) 特開2002−202959号公報 特開2006−244481号公報
しかしながら、上記システム全体の最適化のためではなく、ユーザの都合によるアプリケーションの事情に応じてマイグレーションを行いたいというような要求が多々ある。
例えば、データセンターのように、複数の顧客に複数の仮想マシンを貸し出すような場面では、ある時間帯は、1つの仮想マシンを動作させるために1つの物理サーバを独占したいと希望する顧客がいるかもしれない。データセンター全体の運用効率という点から見ると効率はよくない(全体最適になっていない)が、その顧客の料金クラス等によっては、そのような運用も考えられる。
また、サーバが複数サイト内に設置されているような環境にあっては、通信速度が不均一であるため、マイグレーション範囲を限定しておきたいというような要求もある。例えば、複数の仮想マシン(実際には、その上で動作しているアプリケーション同士) が連携して動作しているような場合、片方の仮想マシンの移動先は、通信速度が速い同じサイト内の別のサーバにしたいという要件が考えられる。
このようなマイグレーションを行う場合、システム全体の最適化をある程度無視して、アプリケーションの事情を優先させるため、従来の技術では制御できない。また、従来技術にもマイグレーション先を限定するといった設定が可能なものもあるが、その場合は範囲(サーバ群) を予め決めてしまうため、あるアプリケーション用の仮想マシンが起動するサーバ群は常に同じとなる。そのサーバ群が利用不可能になっても、設定を変えない限り他のサーバ群で目的の仮想マシンを起動することが出来ず、結果的にサーバ群が復旧するまでアプリケーションは停止してしまう問題を抱える。
また、このようなアプリケーションの事情によるマイグレーション制御をしたい場合、従来は、その特定のアプリケーションに合わせたマイグレーション制御機能を持ったソフトウェアを開発するしかなかった。したがって、データセンターのように様々な顧客のアプリケーションが稼働する環境にあっては、個々のアプリケーションの事情を考慮した仮想マシンのマイグレーション制御は、ほぼ不可能となっていた。
上記問題を解決するために、本発明では、従来技術が採用しているようなシステム全体の最適化のためのマイグレーションポリシー(以下、全体最適ポリシーと表現) だけでなく、アプリケーションに依存するマイグレーションポリシー(以下、アプリ依存ポリシーと表現) をユーザが定義でき、両ポリシーを考慮しながらマイグレーションを制御する技術を提供する。
仮想マシンのマイグレーションシステムは、アプリケーションの識別情報およびデータタイプの静的・動的情報を含むアプリケーション情報のスキーマを予め、例えば、アプリケーション運用者が定義し、また、当該スキーマを使って仮想マシンを移動させる際のシステム全体を最適化する全体最適ポリシーを、例えば、アプリケーション運用者とシステム運用者が設定し、当該スキーマを使って仮想マシン上で稼働するアプリケーションに依存したアプリ依存ポリシーをアプリケーション運用者が設定しておき、その定義されたスキーマにしたがって仮想マシン上のアプリケーション情報とサーバ自身及び仮想マシンの静的及び動的な情報を含むサーバ情報とをサーバから定期的に受信し、受信したアプリケーション情報とサーバ情報をもとに、記憶部に記憶されたアプリ依存ポリシーおよび全体最適ポリシーを参照して、全体最適ポリシーよりもアプリ依存ポリシーのマイグレーション条件を優先させて仮想マシンを移動する必要があるかを判定し、移動する必要がある場合はその仮想マシンの移動先を決定するマイグレーション制御の構成とすることによって、アプリケーションの事情を考慮した仮想マシンの移動先の決定が可能となる。
また、仮想マシンのマイグレーションシステムは、予め、例えば、アプリケーション運用者によって定義されたスキーマにしたがって、アプリケーションに依存した仮想マシンの移動条件が定義されたアプリ依存ポリシーを予め仮想マシン管理装置より複写して自身に保持する各サーバから、サーバ自身及び仮想マシンの静的・動的な情報を含むサーバ情報を定期的に受信し、各サーバにおいて該アプリ依存ポリシーを参照して移動条件に該当する仮想マシンを判断させ、移動条件に該当する仮想マシンがある場合に、マイグレーション対象の仮想マシンの付加情報を受信し、受信した付加情報に基づいて、アプリ依存ポリシーとシステム全体を最適化する全体最適ポリシーを参照して仮想マシンを移動する必要があるかを判定し、移動する必要がある場合はその仮想マシンの移動先を決定する構成とすることによって、アプリ依存ポリシーの中に、負荷情報などの数値化された情報だけでなく、数値化・パターン化できない情報をもとに、マイグレーションする条件、マイグレーション対象、マイグレーション先などの判定基準を定義可能とすることによって、より複雑なアプリケーションの事情を優先したマイグレーションの制御が可能となる。
本開示する技術は、アプリケーションが稼働状態にある仮想マシンを複数のサーバ間で移動させるマイグレーション制御において、アプリ依存ポリシーの中に、負荷情報などの数値化情報だけでなく、数値化・パターン化できない情報をもとに、マイグレーション条件、マイグレーション対象、マイグレーション先の判定基準を定義可能とすることによってアプリケーションの事情を優先したマイグレーション先の制御が可能となる。
これにより、例えば、データセンターなどの様々な顧客のアプリケーションが仮想マシン上で稼働する環境において、システム側で決められる運用ポリシーに加え、個々のアプリケーションの運用ポリシーを反映させることが可能となる。
以下、図面にもとづいて本発明の実施形態を説明する。実施例1では、仮想マシンのマイグレーション先決定の判断を仮想マシン管理装置側で全て処理する構成、実施例2では、仮想マシン管理装置に設定されたアプリ依存ポリシーを各サーバに複写してサーバ自身に保持し、該マイグレーション条件に該当する仮想マシンを判断させる構成としている。
[実施例1]
図1は、本発明の実施の形態になるマイグレーションシステムの基本構成(実施例1)を示す。本システムは、ネットワーク6を介して互いに接続する仮想マシン管理装置1と各ホストOSが搭載された複数のサーバ(サーバ21、サーバ22)から構成されている。各サーバは、分割された複数の仮想マシン(VM)とサーバモニタ(SM)を備え、また、各アプリケーション(以後、アプリと表現)は、仮想マシン上で稼働し、アプリモニタ(AM)によって定期的にアプリケーション情報がサーバモニタを介して仮想マシン管理装置1に報告される。
サーバ21は、サーバモニタ(SM)31、分割された複数の仮想マシン5a、5b、およびアプリ(A、B)を監視するアプリモニタ(AM)4a、4bを備え、サーバ22は、SM32、分割された複数のVM5c、およびアプリ(C)を監視するAM4cを備えている。なお、本例では、サーバが2台、VMが3つ起動した状態となっているが、制御するサーバ数、VM数に制限はない。
ここで、アプリモニタ(4a、4b、4c)は、アプリ1つにつき1つのアプリモニタが動作し、予めアプリ情報スキーマ管理部11で定義されたスキーマにしたがって、アプリの情報をサーバモニタ(31、32)に定期的に報告する。報告の仕方は、アプリモニタがサーバモニタに情報を送信してもよいし、サーバモニタがアプリモニタに問い合わせてもよい。
また、サーバモニタ(31、32)は、各物理サーバ1つにつき1つのサーバモニタが動作し、サーバのCPU、メモリの静的情報や負荷情報、動作中の仮想マシンの情報、アプリモニタから取得したアプリの情報を、マイグレーション装置1のサーバ/VM情報管理部13(後述)に定期的に報告する。報告の仕方は、サーバモニタがサーバ/VM情報管理部13に情報を送信してもよいし、サーバ/VM情報管理部13がサーバモニタに問い合わせてもよい。
さらに、仮想マシン管理装置1は、アプリケーション情報のスキーマを予め定義するアプリ情報スキーマ記憶部11、仮想マシンを移動させるときのシステム全体を最適化する全体最適ポリシー及びスキーマを使って仮想マシン上で稼働するアプリケーションに依存したアプリ依存ポリシーを設定するマイグレーションポリシー設定部12と、スキーマにしたがって仮想マシン上のアプリケーションの状態情報と、サーバ自身及び仮想マシンの静的・動的な情報とを定期的に受信するサーバ/仮想マシン(VM)情報管理部13と、受信したアプリケーションの状態情報とサーバ自身及び仮想マシンの静的・動的情報をもとに、アプリ依存ポリシーおよび全体最適ポリシーにしたがって仮想マシンの移動先を決定するマイグレーション制御部14とから構成されている。
サーバ/VM情報管理部13は、複数のサーバモニタからの情報を取得し、マイグレーション制御部( 後述) からの情報問合せに対して情報を提供する。
また、マイグレーション制御部14では、マイグレーションポリシー設定部12で定義されたポリシーのマイグレーション条件に該当する情報がないか、定期的にサーバ/VM情報管理部13に問い合わせる。逆に、サーバ/VM情報管理部13が定期的にマイグレーション制御部14に情報を送信してもよい。マイグレーション条件に該当する情報があった場合は、マイグレーションポリシーを基にマイグレーション対象とマイグレーション先を決定し、マイグレーション対象の仮想マシンが動作中のサーバに対して、マイグレーション指示を出す。
さらに、アプリケーションモニタがサーバモニタに報告する情報(最終的にサーバ/VM情報管理部13に報告される情報) のスキーマは、予めアプリケーション運用者によって定義され、アプリ情報スキーマ記憶部11に記憶される。また、ここで定義されたスキーマを使って、マイグレーションポリシーが定義され、マイグレーションポリシー設定部12に記憶される。
マイグレーションポリシー設定部12では、どういう条件でマイグレーションが必要と判断するか(マイグレーション条件) 、どのVMを移動するか(マイグレーション対象) 、どのサーバに移動するか(マイグレーション先) を定義する。システム全体の最適化のための全体最適ポリシーは、システム運用者が、また、アプリケーションに依存するアプリ依存ポリシーは、アプリケーション運用者とシステム運用者が定義する。
なお、仮想マシン管理装置1は、図示していないCPU(Central Processing Unit )、メモリを備えたコンピュータであり、図示していない補助記憶装置に蓄えられたマイグレーションプログラムが起動時にメモリに展開され、CPUによってマイグレーションの各処理が実行される。
また、仮想マシン管理装置1は、上記サーバ群とネットワーク6を介して接続し、これらサーバ群および仮想マシンを管理する管理サーバとして、その機能を組み込む形式であってもよい。
図2は、本発明の実施の形態になるアプリ依存ポリシーによるマイグレーション処理のフローを示す。
ステップS11:マイグレーション制御部14は、サーバ/VM情報管理部13にアプリ依存ポリシーのマイグレーション条件に該当するVMが存在するか否かを問合せる。
ステップS12:サーバ/VM情報管理部13は、マイグレーション条件に該当するVM(マイグレーション対象)がある場合、マイグレーション制御部14にその情報を返す。また、該当するVMがなかった場合、全体最適ポリシーによる判定(図3) に移る。ステップS13:全マイグレーション対象について指示済みとしたか否かを判定する。
ステップS14:該当するマイグレーション対象が複数ある場合には、そのうちの1つを選択し、マイグレーション先候補をリストアップする。これをマイグレーション先リストAとする。
ステップS15:全体最適ポリシーのマイグレーション先の定義にしたがって、マイグレーション先リストAからマイグレーション先を決定する。
ステップS16:マイグレーション対象が動作中のサーバに対して、マイグレーション先を指定してマイグレーションを指示する。
マイグレーション対象がまだ残っている場合、ステップS13に戻り、ステップS14〜16の処理を繰り返す。
図3は、本発明の実施の形態になる全体最適ポリシーによるマイグレーション処理のフローを示す。本実施例では、アプリ依存ポリシーのマイグレーション条件に該当するVMはなかったものの、全体最適ポリシーのマイグレーション条件に該当するVMがあった場合におけるマイグレーション制御のフローを示している。
ステップS21:全マイグレーション対象に対し、マイグレーション判定済みか否かをチェックする。
ステップS22:マイグレーション対象が複数ある場合、そのうちの1つを選択し、マイグレーション先候補をリストアップする。これをマイグレーション先リストBとする。
ステップS23:マイグレーション先リストBは最後に到達したかをチェックする。
ステップS24:マイグレーション先リストBの先頭からマイグレーション先を1つ選択し、そこに実際マイグレーションした場合にアプリ依存ポリシーのマイグレーション条件に該当するかをチェックする。
ステップS25:実際にマイグレーションするとアプリ依存ポリシーのマイグレーション条件に該当すると判定された場合は、マイグレーションは行わず、マイグレーション先リストBの次の候補を選択し、ステップS23に戻り、以降の処理を繰り返す。
ステップS26:実際にマイグレーションしてもアプリ依存ポリシーのマイグレーション条件に該当しないと判定された場合は、マイグレーション対象が、動作中のサーバに対し、マイグレーション先を指定してマイグレーションを指示する。マイグレーション対象がまだ残っている場合、ステップS21に戻り、以降の処理を繰り返す。
全体最適ポリシーのマイグレーション条件に該当するだけの場合でも、実際にマイグレーションすると、今度は、アプリ依存ポリシーのマイグレーション条件に該当してしまい、すぐにマイグレーションが行われてしまう場合がある。上記のフローは、そのような場合に、効率化のためにマイグレーションは行わないというマイグレーション制御になっている。つまり、本フローでは、アプリ依存ポリシーを優先するが、全体最適ポリシーも考慮した、かつ効率的なマイグレーション制御を行っていることになる。
さらに、図4、図5を用いて、アプリの事情に応じて仮想マシンのマイグレーション先が決定される仕組みを説明する。
図4は、アプリの事情を考慮したマイグレーション先決定の概念図(ケース1:ある時間帯サーバを独占する例)を示す。ケース1のアプリの事情は、「アプリBがサーバを独占する時間帯なので、サーバ2、3のアプリAが稼働中のVMを他に移動したい」という内容である。
ある時間帯、サーバを独占したいアプリBが、サーバ1、サーバ2、およびサーバ3の仮想マシン(VM)上で稼働中となっている。アプリCは、常に他のアプリとの同居が許可されているアプリであり、サーバ4とサーバ5のVM上で稼働している。こうした環境下で、サーバ2とサーバ3のアプリAが稼働するVMを他のサーバに移すことになる。サーバ2およびサーバ3のアプリAが稼働中のVMのマイグレーション先として、サーバ1(VMのCPU使用率10%)は、低負荷であるがアプリBが稼働中のため移動不可能、また、低負荷ではないがアプリBが稼働していないサーバ4(VMのCPU使用率30%)およびサーバ5(VMのCPU使用率25%)が移動可能な候補となる。
図5は、アプリ事情によるマイグレーション先決定を説明する図(例2:アプリケーションのジョブタイプで決定する例)を示す。ケース2のアプリの事情は、「サーバ4の負荷が高いのでアプリA2が稼働中のVMを他に移動したい」という内容である。
サイト1では、サーバ1とサーバ2が属し、サーバ1のみがアプリBを稼働しており、サイト2には、サーバ3、サーバ4、サーバ5が属し、サーバ4におけるVMのCPU使用率は80%、サーバ5におけるVMのCPU使用率は30%となっている。サイト2における異なるVM上のアプリA1とA2は同じアプリであるが、その上で動くジョブが連携して動作したり、独立に動作したりするものとすると、
(1)アプリA1とアプリA2上のジョブが連携して動作している場合、例え、低負荷であっても、異なるサイト1のサーバへの移動は不可能であるため、同一サイト2内のサーバ5への移動を行うことになり、
(2)アプリA1とアプリA2上のジョブが独立して動作している場合、アプリA2が稼働中のVMを低負荷の異なるサイト1のサーバ2へ移動することが可能であることを示している。
以上のケース1、ケース2を具現化するマイグレーション処理に対し、図6〜9を用いてその詳細を説明する。
ここで、図6〜9において共通のマイグレーションのシステム構成の前提、アプリケーション、全体最適ポリシー、およびアプリ依存ポリシーの各条件を以下に示す。
1.システムの前提条件
(a)データセンターのような、複数のサーバを複数の顧客に貸し出す場面を想定。
(b)1台のサーバ上で複数のVMを稼動させ、そのVM1つを単位として顧客に貸し出す。
(c)サーバは、2つのサイト1、サイト2に設置されているが、サイト間はネットワークでつながっており、異なるサイトのサーバ同士を同時に使うことも可能である。
(d)顧客に貸し出すVMの台数・性能配分などは、データセンターの運用方針、貸し出しの料金体系によって決定する。
(e)各アプリは複数のVMを利用する。
(f)VM1つにつきアプリ1つが稼働する。
2.アプリケーション
上記各VM上で稼働するアプリケーションは以下の3つとする。
アプリA:多数のユーザのジョブを複数サーバで分散実行させるアプリ(例:多数のユーザが使うジョブキューイングシステム)で、複数のジョブが連携して動作する場合と独立して動作する場合がある。
情報スキーマとしては、
app_name(String):A
job_type(String): cooperative_type(連携タイプ)/independent_type(独立タイプ) となる。
アプリB:複数ユーザからの接続を中継するサーバを多数動作させるアプリ(例:TV議システム)で、稼働率が高い昼間の時間帯(9:00−17:00)は1台の物理サーバを占有する。
情報スキーマとしては、
app_name(String):B
time(time): 時刻 となる。
アプリC:多数のジョブを複数サーバで分散実行させるアプリ(例:特定ユーザが使うジョブキューイングシステム)で、各ジョブは常に独立して動作する。
情報スキーマとしては、
app_name(String):C となる。
3.全体最適ポリシー
システム全体(データセンター) の最適化のための全体最適ポリシーは、何を監視するかのマイグレーション条件、どのVMを移動すべきかのマイグレーション対象、対象VMの移動先となるマイグレーション先の項目から構成され、その内容はシステム運用者によって設定される。以下に、その具体的内容を示す。
<マイグレーション条件>
1つのVMのCPU使用率(cpu_rate)が80%を越えた時
<マイグレーション対象>
CPU使用率が80%を超えたVM
<マイグレーション先>
動作VMのCPU使用率合計の値が最も低いサーバ、実際には、上記の条件に合うマイグレーション先候補のリスト作成方法として以下のようなソートキー、昇順/降順を定義する。
リストのソートキー:cpu_rate(1)+・・・+cpu_rate(n)
n: VM数
昇順/降順:昇順
上記定義において、各サーバのCPU性能が異なる場合もあり得るので、ソートキーを定義する際には、性能に合わせてCPU使用率に重みづけをして加算してもよい。
4.アプリ依存ポリシー
アプリ(上記アプリA〜Cを使用)に依存するアプリ依存ポリシーは、全体最適ポリシーと同様の項目から構成され、その内容はアプリケーション運用者とシステム運用者によって設定される。以下に、その具体的内容を示す。
<マイグレーション条件>
アプリBが稼働中(app_name=B)かつ 9:00≦time<17:00の場合
<マイグレーション対象>
アプリBが稼働中のマシン上の、アプリB以外のアプリ稼働中(app_name≠B)のVM全て
<マイグレーション先>
アプリAが稼働中のVMがマイグレーションされる場合
・job_type=cooperative_typeの場合、同じサイト内のアプリBが稼働していないサーバ
・job_type=independent_typeの場合
・アプリBが稼働していないサーバ
アプリCが稼働中のVMがマイグレーションされる場合
・アプリBが稼働していないサーバ
図6は、ケース1においてサーバモニタ及びアプリモニタから取得する情報例を示す。本例では、アプリBがサーバを独占する時間帯なので、他のアプリが稼働中のVMをマイグレーションさせる例を示している。この例は、図2のアプリ依存ポリシーのマイグレーション条件に該当するVMが存在した場合の例である。
例えば、アプリBを稼働させているサーバ2、3の情報2、3を取り上げて説明すると、情報2では、サーバ情報として、サーバ名:192.0.0.2、サイト名:サイト1、CPU:3GHz、メモリ:2GBの情報が得られ、VM情報として、VM#1は、CPU使用率:25%、メモリ:256MB、アプリ名:A、ジョブタイプ:独立型、VM#2は、CPU使用率:30%、メモリ:256MB、アプリ名:B、時刻:13:15が得られている。
また、情報3では、サーバ情報として、サーバ名:192.0.0.3、サイト名:サイト2、CPU:3GHz、メモリ:2GBの情報が得られ、VM情報として、VM#1は、CPU使用率:35%、メモリ:256MB、アプリ名:A、ジョブタイプ:連携型、VM#2は、CPU使用率:45%、メモリ:256MB、アプリ名:B、時刻:13:15が得られている。
図7は、本発明の実施の形態になるアプリ依存ポリシーによるマイグレーション処理のフロー(ケース1)を示す。
ステップS31:サーバ/VM情報管理部13に、app_name=”B”で、かつ、9:00≦time<17:00であるVMが存在するか問合せる。サーバ2とサーバ3のサーバモニタから送信された情報の中に、アプリ依存ポリシーのマイグレーション条件に該当する情報(時刻が13:15) が含まれているため、サーバ/VM情報管理部13がその旨をマイグレーション制御部14に通知する。
ステップS32:サーバ2とサーバ3のマイグレーション対象を判定する。アプリ依存ポリシーのマイグレーション対象の定義は、「アプリB以外のアプリが稼働中のVM」となっているので、サーバ2のVM#1とサーバ3のVM#1がマイグレーション対象となる。
ステップS33:サーバ2のVM#1のアプリの情報(app_name=”A”、job_type=”independent_type”)からマイグレーション先リスト(サーバ1 、サーバ4、サーバ5) を作成する。
ステップS34:マイグレーション先リストの中でVMのCPU使用率(cpu_rate)の合計が最小のサーバ1をマイグレーション先とする
ステップS35:サーバ2 に対して、VM#1をサーバ1へマイグレーションするよう指示する。
ステップS36:サーバ3のVM#1のアプリの情報(app_name=”A”、job_type=”cooperative_type”) と、サーバ3のサーバの情報(site=サイト2) とからマイグレーション先リスト(サーバ4、サーバ5) を作成する。
ステップS37:そのマイグレーション先リストの中でVMのCPU使用率(cpu_rate)の合計が最小のサーバ5をマイグレーション先とする。
ステップS38:サーバ3に対して、VM#1をサーバ5へマイグレーションするよう指示する。
図8は、ケース2においてサーバモニタ及びアプリモニタから取得する情報例を示す。本例では、「サイト2のサーバ3の負荷が高いのでアプリAが稼働中のVMを他に移動したい」という命題を解決する例である。
例えば、サイト2のサーバ3の情報3を取り上げて説明すると、サーバ情報として、サーバ名:192.0.0.3、サイト名:サイト2、CPU:3GHz、メモリ:2GBの情報が得られ、VM情報として、VM#1は、CPU使用率:85%、メモリ:256MB、アプリ名:A、ジョブタイプ:連携型、VM#2は、CPU使用率:25%、メモリ:256MB、アプリ名:B、時刻:22:20が得られている。
図9は、本発明の実施の形態になるアプリ依存ポリシーによるマイグレーション処理のフロー(ケース2)を示す。本例では、アプリ依存ポリシーのマイグレーション条件に該当するVMはないが、全体最適ポリシーのマイグレーション条件に該当するVMが存在する場合のマイグレーション例を示している。
ステップS41:サーバ/VM情報管理部13に、cpu_rate≧80%であるVMが存在するか問合せる。サーバ3のサーバモニタから送信された情報の中に、全体最適ポリシーのマイグレーション条件に該当する情報(CPU使用率:85%)が含まれているため、サーバ/VM情報管理部13がその旨をマイグレーション制御部14に通知する。
ステップS42:サーバ3のマイグレーション対象を判定する。全体最適ポリシーのマイグレーション対象の定義は、「CPU使用率が80%を超えたVM」となっているので、サーバ3のVM#1がマイグレーション対象となる。
ステップS43:サーバ3のVM#1のアプリの情報(app_name=”A”、job_type=”cooperative_type”) と、サーバ3のサーバ情報(site=サイト2)からマイグレーション先リストを作成し、全体最適ポリシーのマイグレーション先定義にしたがってソートする(サーバ4、サーバ5) 。
ステップS44:サーバ3のVM#1をサーバ5にマイグレーションした場合、アプリ依存ポリシーのマイグレーション条件(app_name=”B”で、かつ、9:00≦time<17:00である) に該当するかを判定する。
ステップS45:条件に該当しないので、サーバ3に対して、VM#1をサーバ5へマイグレーションするよう指示する。
上述してきたように、本発明によって、アプリ依存ポリシーの中に、負荷情報などの数値化できるような情報だけでなく、「同じサイト内」、「あるアプリケーションが稼働している/いない」などの数値化・パターン化できない情報を基に、マイグレーションする条件、マイグレーション先の判定基準を定義可能としたため、システム全体よりアプリケーションの事情を優先したマイグレーション制御が可能になった。これにより、データセンターなどの様々な顧客のアプリケーションが仮想マシン上で稼働する環境で、システム(この場合データセンター) 側で決められた運用ポリシーだけでなく、個々のアプリケーションの運用ポリシーも反映可能となる。
従来では、数値化・パターン化できない情報を考慮したマイグレーションを行う場合、予め決めておいた静的な情報しか利用できず、アプリケーションの稼働環境(最初の起動環境、マイグレーション先等) が固定になってしまうという問題の解決が図れる。また、本発明のマイグレーションポリシーには、固定の情報(サーバのIPアドレスなど) ではなく、動的な情報(「現在稼働中のサイトと同じサイト」など) を使った定義が可能であるため、サーバの故障時や構成変更時にも柔軟に対応でき、従来技術に比べてアプリケーションの稼働環境が広くなる。
また、アプリケーションに依存するマイグレーションポリシーをユーザ定義(実際には、アプリケーション運用者とシステム運用者) としているため、システムへの新しいアプリケーション追加が柔軟に出来る。新しいアプリケーション追加に伴ってアプリ依存ポリシーの過去定義部分を変更することになっても、ソフトウェアを実装し直したり、新たに開発する必要はなく、定義し直すだけである。つまり、データセンターのような様々な顧客のアプリケーションが運用されるような環境に適用可能となる。
さらに、従来技術では、アプリケーション運用者のポリシーを無理やりシステム運用者のポリシーに合わせる必要があったため、柔軟なポリシー設定ができなかったが、全体最適ポリシーとアプリ依存ポリシーを個々に定義可能とすることによって、アプリケーション運用者(例えば、データセンターの利用者) 、システム運用者(例えば、データセンターの運用者) といった、立場の異なる運用者の運用ポリシーを同時に反映可能となる。
[実施例2]
図10は、本発明の実施の形態になるマイグレーションシステムの基本構成(実施例2)を示す。本システムは、ネットワーク6を介して互いに接続する仮想マシン管理装置1と各ホストOSが搭載された複数のサーバ2−1、2−2から構成されている。
実施例1と同様に、サーバ2−1は、サーバモニタ(SM)3−1、分割された複数の仮想マシン(VM)5a、5b、および各仮想マシン上で稼働するアプリA、Bを監視するアプリモニタ(AM)4a、4bを備え、また、サーバ2−2は、サーバモニタ(SM)3−2、分割された仮想マシン(VM)5c、およびアプリCを監視するアプリモニタ(AM)4cを備えている。
また、各サーバには、仮想マシン管理装置1のマイグレーションポリシー設定部12において設定されているポリシーの内のアプリ依存ポリシーが、仮想マシン管理装置1から予めコピーされ、サーバ内の記憶部にアプリ依存ポリシー20−1、20−2として保持されている。
アプリモニタは、アプリ1つにつき、1つのアプリモニタが動作し、予めアプリ情報スキーマ管理部11で定義されたスキーマにしたがって、アプリの情報をサーバモニタに定期的に報告する。
また、サーバモニタは、各物理サーバ1つにつき、1つのサーバモニタが動作し、予めマイグレーションポリシー設定部12で設定され、各サーバにコピーされたアプリ依存ポリシー20−1、20−2のマイグレーション条件に該当するVMがないか、ある場合はどのVMをマイグレーションするか(マイグレーション対象) を判断し、定期的にマイグレーション制御部14に以下の内容を報告する。
(1)マイグレーション条件に該当するVMがない場合
サーバのCPU(Central Processing Unit )やメモリの静的情報や負荷情報、動作中のVMの情報、およびアプリモニタから取得したアプリの情報(以下、状態情報) を報告する。
(2)マイグレーション条件に該当するVMがある場合
上記状態情報にマイグレーション対象の情報を付加して報告する。
その報告の仕方は、サーバモニタがマイグレーション制御部13に情報を送信してもよいし、マイグレーション制御部13がサーバモニタに問い合わせてもよい。
仮想マシン管理装置1は、予め定義されたアプリケーション情報のスキーマを管理するアプリ情報スキーマ管理部11、仮想マシンを移動させるときのシステム全体を最適化する全体最適ポリシー、また、該スキーマを使って仮想マシン上で稼働するアプリケーションに依存したアプリ依存ポリシーが設定されるマイグレーションポリシー設定部12と、スキーマにしたがって仮想マシン上のアプリケーションの状態情報と、サーバ自身及び仮想マシンの静的・動的な情報とを定期的に受信し、受信したアプリケーションの状態情報とサーバ自身及び仮想マシンの静的・動的情報をもとに、アプリ依存ポリシーおよび全体最適ポリシーにしたがって仮想マシンを移動する必要があるかを判定し、移動する必要がある場合はその仮想マシンのマイグレーション先(移動先)を決定するマイグレーション制御部14とから構成されている。
マイグレーション制御部14は、複数の各サーバモニタからの情報を取得し、その情報とマイグレーションポリシー設定部12で設定された全体最適ポリシー、アプリ依存ポリシーを基に、マイグレーション対象とマイグレーション先を決定し、マイグレーション対象のVMが動作中のサーバに対してマイグレーション指示を出す。
また、アプリ情報スキーマ管理部11では、アプリがサーバモニタに報告する情報(つまり最終的にマイグレーション制御部14に報告される情報) のスキーマが、予めアプリケーション運用者によって定義される。ここで定義されたスキーマを使って、マイグレーションポリシー設定部12でマイグレーションポリシーが設定される。
さらに、マイグレーションポリシー設定部12では、どういう条件でマイグレーションが必要と判断するか(マイグレーション条件) 、どのVMをマイグレーションするか(マイグレーション対象) 、どのサーバにマイグレーションするか(マイグレーション先) が定義される。
システム全体の最適化のための全体最適ポリシーは、システム運用者によって定義され、アプリケーションに依存するアプリ依存ポリシーは、アプリ運用者とシステム運用者によって定義され、かつ、該アプリ依存ポリシーは、予め各サーバに仮想マシン管理装置1からコピーされ、各サーバ内の記憶領域に保持される。
図11は、本発明の実施の形態になるサーバモニタからマイグレーション制御部への情報送信フローを示す。本フローは、サーバモニタがマイグレーション制御部に情報を報告するまでの流れを示している。
まず、ステップS51において、各サーバモニタは、定期的にアプリモニタからアプリケーションの情報を受信する。
つぎに、ステップS52において、各サーバモニタは、仮想マシン管理装置1から予めコピーし、自身の記憶領域に保持しているアプリ依存ポリシーを定期的に参照する。そして、ステップS53において、マイグレーション条件に該当するVMがあるか否かを判断する。
判定の結果、条件に該当するVMがある場合、ステップS54において、サーバモニタは、状態情報にマイグレーション対象の情報を付加してマイグレーション制御部14に報告する。
一方、条件に該当するVMがない場合には、ステップS55において、サーバモニタは、状態情報のみをマイグレーション制御部14に報告する。
図12は、本発明の実施の形態になるサーバモニタからの状態情報受信時におけるマイグレーション制御部の処理フロー(その1)を示す。本フローは、図11のフローの続き(マイグレーション制御1)として、サーバモニタからマイグレーション対象(仮想マシン)の情報が付加された状態情報を受信したときのマイグレーション制御部14における動作フローを示している。
まず、ステップS61において、マイグレーション制御部14は、あるサーバモニタから情報を受信すると、マイグレーションポリシー設定部12のアプリ依存ポリシーを基に、マイグレーション先候補をリストアップする。これをマイグレーション先リストAとする。
つぎに、ステップS62において、全体最適ポリシーのマイグレーション先の定義にしたがって、マイグレーション先リストAからマイグレーション先を決定する。
そして、ステップS63において、マイグレーション対象が動作中のサーバに対して、マイグレーション先を指定してマイグレーションを指示する。
以上、アプリ依存ポリシーを優先するが、全体最適ポリシーも考慮したマイグレーション制御を行っていることになる。
図13は、本発明の実施の形態になるサーバモニタからの状態情報受信時におけるマイグレーション制御部の処理フロー(その2)を示す。本フローは、図11のフローの続き(マイグレーション制御2)として、マイグレーション制御部14が、ある一つのサーバモニタから状態情報のみを受信したときのマイグレーション制御の流れを示している。
まず、ステップS71において、マイグレーション制御部14は、定期的にマイグレーションポリシー設定部12で設定された全体最適ポリシーのマイグレーション条件を参照する。そして、ステップS72において、該当するVMがあるか否か判断する。
判定の結果、条件に該当するVMがない場合、マイグレーションは行われず、本フローは終了となる。
一方、条件に該当するVMがある場合、ステップS73において、全体最適ポリシーを基に、マイグレーション先候補をリストアップする。これをマイグレーション先リストBとする。そして、ステップS74で、マイグレーション先リストBにおけるマイグレーション先候補の全てが選択されたかを判定する。
つぎに、ステップS75において、マイグレーション先リストBの先頭からマイグレーション先を1つ選択し、そこに実際マイグレーションした場合のアプリ依存ポリシーのマイグレーション条件と照合する。そして、ステップS76において、該当マイグレーション先の存在を判定する。
判定の結果、アプリ依存ポリシーのマイグレーション条件に該当しない場合は、ステップS77において、マイグレーション対象が動作中のサーバに対して、マイグレーション先を指定してマイグレーションを指示する。
一方、アプリ依存ポリシーのマイグレーション条件に該当する場合は、マイグレーションは行わず、ステップS74に戻り、マイグレーション先リストBの次の候補を選択し、以降の処理を繰り返す。
上述してきたフローでは、全体最適ポリシーのマイグレーション条件に該当するだけの場合でも、実際にマイグレーションすると、今度はアプリ依存ポリシーのマイグレーション条件に該当し、すぐにマイグレーションが行われてしまうような場合に対し、効率化のためにマイグレーションは行わないというマイグレーション制御としている。
さらに、実施例1の場合と同様、図4、5のケース1、ケース2を具現化するマイグレーション処理について、図14〜17を用いて以下に説明する。なお、使用したシステム及びアプリケーションの前提条件、全体最適ポリシー及びアプリ依存ポリシーの定義は、実施例1と同じである。
まず、ケース1の例についての報告情報の流れについて、図14、図15を用いて以下に説明する。この例は、サーバモニタが、マイグレーション対象の情報を状態情報に付加してマイグレーション制御部14に報告する場合の例である。
図14は、ケース1においてサーバモニタ及びアプリモニタから取得する情報例を示す。本例では、アプリBがサーバを独占する時間帯なので、他のアプリが稼働中のVMをマイグレーションさせるケース1の例を示している。
例えば、アプリBを稼働させているサーバ2、3の情報2、3を取り上げて説明すると、情報2では、サーバ情報として、サーバ名:192.0.0.2、サイト名:サイト1、CPU:3GHz、メモリ:2GBの情報が得られ、VM情報として、VM#1は、CPU使用率:25%、メモリ:256MB、アプリ名:A、ジョブタイプ:独立型、VM#2は、CPU使用率:30%、メモリ:256MBが得られている。
さらに、(1)の部分は、アプリ依存ポリシーのマイグレーション条件に該当する情報としてアプリB、時間13:15が得られ((1)の部分)、また、(2)の部分は、付加されたマイグレーション対象としてVM#1が得られる((2)の部分)。
また、情報3では、サーバ情報として、サーバ名:192.0.0.3、サイト名:サイト2、CPU:3GHz、メモリ:2GBの情報が得られ、VM情報として、VM#1は、CPU使用率:35%、メモリ:256MB、アプリ名:A、ジョブタイプ:連携型、VM#2は、CPU使用率:45%、メモリ:256MBが得られている。
さらに、情報2と同様に、アプリ依存ポリシーのマイグレーション条件に該当する情報としてアプリ名:B、時刻:13:15が得られ、付加されたマイグレーション対象としてVM#1が得られる。
図15は、本発明の実施の形態になるアプリ依存ポリシーによるマイグレーション処理のフロー(ケース1)を示す。
まず、ステップS81において、サーバ2のサーバモニタは、自身が保持するアプリ依存ポリシーを参照して、マイグレーション条件に該当するVM(app_name=”B”で、かつ、9:00≦time<17:00であるVMが存在するかを判断する。
ステップS82において、条件に該当するのはサーバ2のVM#2であり、アプリ依存ポリシーのマイグレーション対象の定義は、「アプリケーションB以外のアプリケーション用VM」となっているので、マイグレーション対象は、サーバ2のVM#1と判定され、サーバ2のサーバモニタは、状態情報にマイグレーション対象の情報(サーバ2のVM#1) を付加してマイグレーション制御部14に報告する。
ステップS83において、マイグレーション制御部14は、マイグレーションポリシー設定部12のアプリ依存ポリシーを参照して、サーバ2のVM#1のアプリケーションの情報(app_name=”A”、job_type=”independent_type”)から、マイグレーション先リスト(サーバ1、サーバ4、サーバ5) を作成する。
ステップS84において、マイグレーションポリシー設定部12の全体最適ポリシーを参照して、マイグレーション先リストの中でVMのCPU使用率(cpu_rate)の合計が最小のサーバ1をマイグレーション先とする。
ちなみに、サーバ1、サーバ4、およびサーバ5におけるCPU使用率(cpu_rate)の合計は、それぞれ、10%、30%、および25%となっている。
ステップS85において、マイグレーション制御部14は、サーバ2に対して、VM#1をサーバ1へマイグレーションするよう指示する。
つぎに、ケース2の例についての報告情報の流れについて、図16、図17を用いて以下に説明する。ケース2は、アプリ依存ポリシーのマイグレーション条件に該当するVMはないが、全体最適ポリシーのマイグレーション条件に該当するVMが存在する場合のマイグレーション例である。
図16は、ケース2においてサーバモニタ及びアプリモニタから取得する情報例を示す。本例は、「サイト2のサーバ3の負荷が高いのでアプリAが稼働中のVMを他に移動したい」という命題を解決する例である。
例えば、サイト2のサーバ3の情報3を取り上げて説明すると、サーバ情報として、サーバ名:192.0.0.3、サイト名:サイト2、CPU:3GHz、メモリ:2GBの情報が得られ、VM情報として、VM#1はCPU使用率:85%(全体最適ポリシーのマイグレーション条件に該当する情報)、メモリ:256MB、アプリ名:A、ジョブタイプ:連携型、VM#2は、CPU使用率:25%、メモリ:256MB、アプリ名:B、時刻:22:20が得られている。
図17は、本発明の実施の形態になるアプリ依存ポリシーによるマイグレーション処理のフロー(ケース2)を示す。
まず、ステップS91において、各サーバのサーバモニタは、自身が保持するアプリ依存ポリシーを参照して、マイグレーション条件に該当するVM(app_name=”B”で、かつ、9:00≦time<17:00であるVM)が存在するか判断する。
ステップS92において、条件に該当するVMが存在しないので、各サーバモニタは、状態情報のみをマイグレーション制御部14に報告する。
ステップS93において、マイグレーション制御部14は、マイグレーションポリシー設定部12の全体最適ポリシーを参照して、各サーバモニタからの情報の中に全体最適ポリシーのマイグレーション条件に該当するVM(CPU使用率cpu_rate≧80%であるVM) の情報がないかを判断する。
サーバ3のサーバモニタから送信された情報の中に、その条件に該当する情報(cpu_rate=85%)が含まれているため、サーバ3のVM#1がマイグレーション対象となる。
ステップS94において、サーバ3のVM#1のアプリケーションの情報(app_name=”A”、job_type=”cooperative_type”、site=サイト2)からマイグレーション先リストを作成し、全体最適ポリシーのマイグレーション先定義に従ってソートする(サーバ4、サーバ5) 。
ちなみに、サーバ4、およびサーバ5におけるCPU使用率(cpu_rate)の合計は、それぞれ、30%、および25%となっている。
ステップS95において、サーバ3のVM#1をサーバ5にマイグレーションした場合、アプリ依存ポリシーのマイグレーション条件(app_name=”B”で、かつ、9:00≦time<17:00であるVM)に該当するか判定する。
ステップS96において、条件に該当しないので、マイグレーション制御部14は、サーバ3に対して、VM#1をサーバ5へマイグレーションするよう指示する。
以上、仮想マシン管理装置に設定されたアプリ依存ポリシーを各サーバに複写してサーバ自身に保持し、該マイグレーション条件に該当する仮想マシンを判断させる構成とした実施例2の発明によって、マイグレーション先の決定を仮想マシン管理装置側だけで処理する場合に比べて、マイグレーション処理の効率を向上させることができる。
以上述べてきた本発明の実施の態様は、以下の付記に示す通りである。
(付記1) アプリケーションが稼働状態にある仮想マシンを複数のサーバ間で移動させる仮想マシン管理装置におけるマイグレーションプログラムであって、
前記仮想マシン管理装置は、
予め運用者によって定義されたアプリケーションの状態情報のスキーマと、該スキーマを使って設定される前記アプリケーションに依存するアプリ依存ポリシー及びシステム全体を最適化する全体最適化ポリシーを記憶領域に備え、
前記仮想マシン管理装置に、
前記スキーマにしたがって、前記仮想マシン上のアプリケーションの状態情報と前記サーバ自身及び前記仮想マシンの静的・動的な情報とを定期的に前記サーバから受信するステップと、
受信した前記アプリケーションの状態情報と前記仮想マシンの静的・動的情報をもとに、前記アプリ依存ポリシー及び前記全体最適ポリシーを参照して、仮想マシンを移動する必要があるかを判定し、移動する必要がある場合に該仮想マシンの移動先を決定するステップと、
を実行させるマイグレーションプログラム。
(付記2) アプリケーションが稼働状態にある仮想マシンを複数のサーバ間で移動させる仮想マシン管理装置におけるマイグレーションプログラムであって、
前記仮想マシン管理装置は、
予め運用者によって定義されたアプリケーションの状態情報のスキーマと、該スキーマを使って設定される前記アプリケーションに依存するアプリ依存ポリシー及びシステム全体を最適化する全体最適化ポリシーを記憶領域に備え、また、前記サーバには、前記仮想マシン管理装置から前記アプリ依存ポリシーを予め複写して自身の記憶領域に保持させた構成とし、
前記仮想マシン管理装置に、
前記サーバから、前記スキーマにしたがって前記アプリケーションの状態情報とサーバ自身及び前記仮想マシンの静的・動的な状態情報を定期的に受信するステップと、
前記サーバが、自身に保持する前記アプリ依存ポリシーを参照し、マイグレーション条件に該当する仮想マシンがある場合に、該マイグレーション対象の情報を付加して送信した状態情報を前期サーバから取得受信するステップと、
取得受信した前記状態情報に基づいて、前記アプリ依存ポリシーと前記全体最適ポリシーを参照して仮想マシンを移動する必要があるかを判定し、移動する必要がある場合に該仮想マシンの移動先を決定するステップと、
を実行させるマイグレーションプログラム。
(付記3) 前記スキーマは、前記仮想マシンにおける各アプリケーションの使用状態に関する状態情報のうち、該アプリケーション固有の状態情報の構造を表すものであることを特徴とする付記1または2に記載のマイグレーションプログラム。
(付記4) 前記アプリ依存ポリシーは、アプリケーション毎に、マイグレーション条件、マイグレーション対象、およびマイグレーション先が前記スキーマに基づいてアプリケーション運用者とシステム運用者によって設定され、前記全体最適ポリシーは、システム全体を最適化するためのマイグレーション条件、マイグレーション対象、およびマイグレーション先がシステム運用者によって設定されることを特徴とする付記1乃至3のいずれかに記載のマイグレーションプログラム。
(付記5) 前記仮想マシンの移動先を決定するステップは、前記全体最適ポリシーよりも前記アプリ依存ポリシーを優先させて仮想マシンを移動する必要があるかを判定し、移動する必要がある場合はその仮想マシンの移動先を決定することを特徴とする付記1乃至4のいずれかに記載のマイグレーションプログラム。
(付記6) 前記仮想マシンの移動先を決定するステップは、前記アプリ依存ポリシーに該当する仮想マシンがない場合、前記全体最適化ポリシーにしたがって仮想マシンを移動する必要があるかを判定し、移動する必要がある場合に該仮想マシンの移動先を決定することを特徴とする付記1乃至5のいずれかに記載のマイグレーションプログラム。(6)
(付記7) 前記仮想マシンの移動先を決定するステップは、前記アプリ依存ポリシーに該当する仮想マシンがない場合、前記全体最適ポリシーにしたがって仮想マシンの移動先候補を決定し、その移動先候補に実際に仮想マシンを移動させたときの、前記アプリ依存ポリシーのマイグレーション条件に該当する仮想マシンが出現するかを判定することを特徴とする付記6に記載のマイグレーションプログラム。
(付記8) 前記仮想マシンの移動先を決定するステップは、前記アプリ依存ポリシーに該当する仮想マシンがない場合、前記全体最適ポリシーにしたがって仮想マシンの移動先候補を決定し、その移動先候補に実際に仮想マシンを移動させたとき、前記アプリ依存ポリシーのマイグレーション条件に該当する仮想マシンが出現するかを判定し、該条件に該当する仮想マシンが出現すると判定された場合には、前記全体最適ポリシーにしたがったマイグレーションを行わないことを特徴とする付記7に記載のマイグレーションプログラム。
(付記9) 前記サーバ情報及び仮想マシン上のアプリケーション情報は、それぞれ、前記サーバに備わるサーバモニタ及び前記仮想マシンに備わるアプリモニタを介して取得することを特徴とする付記1乃至8のいずれかに記載のマイグレーションプログラム。)
(付記10) アプリケーションが稼働状態にある仮想マシンを複数のサーバ間でマイグレーションさせる仮想マシン管理装置であって、
予め運用者によって定義された前記アプリケーションの状態情報のスキーマを管理するアプリ情報スキーマ管理部と、
前記スキーマを使って設定され、仮想マシン上で稼働するアプリケーションに依存したアプリ依存ポリシーと、システム全体を最適化する全体最適ポリシーとを管理するマイグレーションポリシー設定部と、
前記スキーマにしたがって前記仮想マシン上のアプリケーションの状態情報と、前記サーバ自身及び前記仮想マシンの静的・動的な情報とを定期的に前記サーバから受信するサーバ/仮想マシン情報管理部と、
受信した前記アプリケーションの状態情報と、前記サーバ自身及び前記仮想マシンの静的・動的情報をもとに、読み出した前記アプリ依存ポリシーおよび全体最適ポリシーにしたがって仮想マシンを移動する必要があるかを判定し、移動する必要がある場合に該仮想マシンの移動先を決定するマイグレーション制御部と、
を有することを特徴とする仮想マシン管理装置。
(付記11) アプリケーションが稼働状態にある仮想マシンを複数のサーバ間でマイグレーションさせる仮想マシン管理装置であって、
予め運用者によって定義されたアプリケーションの状態情報のスキーマを管理するアプリ情報スキーマ管理部と、
前記スキーマを使って設定される仮想マシン上で稼働するアプリケーションに依存したアプリ依存ポリシーと、システム全体を最適化する全体最適ポリシーとを管理するマイグレーションポリシー設定部と、
前記アプリ依存ポリシーを予め前記仮想マシン管理装置より複写して自身に保持する各サーバにマイグレーション条件に該当する仮想マシンを判断させ、
前記該当する仮想マシンがある場合に、前記サーバからマイグレーション対象の情報が付加された状態情報を受信し、
該当する仮想マシンがない場合に、アプリケーションの状態情報と、前記サーバ自身及び前記仮想マシンの静的・動的な状態情報を受信し、その受信した前記状態情報に基づいて、前記アプリ依存ポリシーと前記全体最適ポリシーを参照して前記仮想マシンを移動する必要があるかを判定し、移動する必要がある場合はその仮想マシンの移動先を決定するマイグレーション制御部と、
を有することを特徴とする仮想マシン管理装置。
(付記12) 前記スキーマは、前記仮想マシンにおける各アプリケーションの使用状態に関する状態情報のうち、該アプリケーション固有の状態情報の構造を表すものであることを特徴とする付記10または11に記載の仮想マシン管理装置。
(付記13) 前記アプリ依存ポリシーは、アプリケーション毎に、マイグレーション条件、マイグレーション対象、およびマイグレーション先が前記スキーマに基づいてアプリケーション運用者とシステム運用者によって設定され、前記全体最適ポリシーは、システム全体を最適化するためのマイグレーション条件、マイグレーション対象、およびマイグレーション先がシステム運用者によって設定されることを特徴とする付記10乃至12のいずれかに記載の仮想マシン管理装置。
(付記14) 前記マイグレーション制御部は、前記全体最適ポリシーよりも前記アプリ依存ポリシーを優先させて仮想マシンを移動する必要があるかを判定し、移動する必要がある場合はその仮想マシンの移動先を決定することを特徴とする付記10乃至13のいずれかに記載の仮想マシン管理装置。
(付記15) 前記マイグレーション制御部は、前記アプリ依存ポリシーに該当する仮想マシンがない場合、前記全体最適化ポリシーにしたがって仮想マシンを移動する必要があるかを判定し、移動する必要がある場合に該仮想マシンの移動先を決定することを特徴とする付記10乃至14のいずれかに記載の仮想マシン管理装置。
(付記16) 前記マイグレーション制御部は、前記アプリ依存ポリシーに該当する仮想マシンがない場合、前記全体最適ポリシーにしたがって仮想マシンの移動先候補を決定し、その移動先候補に実際に仮想マシンを移動させたときの、前記アプリ依存ポリシーのマイグレーション条件に該当する仮想マシンが出現するかを判定することを特徴とする付記6に記載の仮想マシン管理装置。
(付記17) 前記マイグレーション制御部は、前記アプリ依存ポリシーに該当する仮想マシンがない場合、前記全体最適ポリシーにしたがって仮想マシンの移動先候補を決定し、その移動先候補に実際に仮想マシンを移動させたとき、前記アプリ依存ポリシーのマイグレーション条件に該当する仮想マシンが出現するかを判定し、該条件に該当する仮想マシンが出現すると判定された場合には、前記全体最適ポリシーにしたがったマイグレーションを行わないことを特徴とする付記7に記載の仮想マシン管理装置。
(付記18) 前記サーバ情報及び仮想マシン上のアプリケーション情報は、それぞれ、前記サーバに備わるサーバモニタ及び前記仮想マシンに備わるアプリモニタを介して取得することを特徴とする付記1乃至8のいずれかに記載の仮想マシン管理装置。
本発明の実施の形態になるマイグレーションシステムの基本構成 (実施例1)を示す図である。 本発明の実施の形態になるアプリ依存ポリシーによるマイグレーション処理のフローを示す図である。 本発明の実施の形態になる全体最適ポリシーによるマイグレーション処理のフローを示す図である。 アプリの事情を考慮したマイグレーション先決定の概念図(ケース1 :ある時間帯サーバを独占する例)である。 アプリ事情を考慮したマイグレーション先決定の概念図(ケース2:アプリケーションのジョブタイプで決定する例)である。 ケース1においてサーバモニタ及びアプリモニタから取得する情報例を示す図である。 本発明の実施の形態になるアプリ依存ポリシーによるマイグレーション処理のフロー(ケース1)を示す図である。 ケース2においてサーバモニタ及びアプリモニタから取得する情報例を示す図である。 本発明の実施の形態になるアプリ依存ポリシーによるマイグレーション処理のフロー(ケース2)を示す図である。 本発明の実施の形態になるマイグレーションシステムの基本構成(実施例2)を示す図である。 本発明の実施の形態になるサーバモニタからマイグレーション制御部への情報送信フローを示す図である。 本発明の実施の形態になるサーバモニタからの状態情報受信時におけるマイグレーション制御部の処理フロー(その1)を示す図である。 本発明の実施の形態になるサーバモニタからの状態情報受信時におけるマイグレーション制御部の処理フロー(その2)を示す図である。 ケース1においてサーバモニタ及びアプリモニタから取得する情報例を示す図である。 本発明の実施の形態になるアプリ依存ポリシーによるマイグレーション処理のフロー(ケース1)を示す図である。 ケース2においてサーバモニタ及びアプリモニタから取得する情報例を示す図である。 本発明の実施の形態になるアプリ依存ポリシーによるマイグレーション処理のフロー(ケース2)を示す図である。
符号の説明
1 仮想マシン管理装置
2−1、2−2 サーバ
3−1、3−2 サーバモニタ(SM)
4a、4b、4c アプリモニタ(AM)
5a、5b、5c 仮想マシン(VM)
6 ネットワーク
11 アプリ情報スキーマ管理部
12 マイグレーションポリシー設定部
13 サーバ/VM情報管理部
14 マイグレーション制御部

Claims (8)

  1. アプリケーションが稼働状態にある仮想マシンを複数のサーバ間で移動させる仮想マシン管理装置におけるマイグレーションプログラムであって、
    前記仮想マシン管理装置は、
    予め運用者によって定義されたアプリケーションの識別情報およびデータタイプの静的及び動的情報を含むアプリケーション情報のスキーマと、該スキーマを使って設定される前記アプリケーションに依存するアプリ依存ポリシー及びシステム全体を最適化する全体最適化ポリシーを記憶領域に備え、
    前記仮想マシン管理装置に、
    前記スキーマにしたがって、前記仮想マシン上の前記アプリケーション情報と、前記サーバ自身及び前記仮想マシンの静的及び動的な情報を含むサーバ情報とを定期的に前記サーバから受信するステップと、
    受信した前記アプリケーション情報と前記サーバ情報をもとに、前記アプリ依存ポリシー及び前記全体最適ポリシーを参照して、前記全体最適ポリシーよりも前記アプリ依存ポリシーのマイグレーション条件を優先させて仮想マシンを移動する必要があるかを判定し、移動する必要がある場合に該仮想マシンの移動先を決定するステップと、
    を実行させるマイグレーションプログラム。
  2. アプリケーションが稼働状態にある仮想マシンを複数のサーバ間で移動させる仮想マシン管理装置におけるマイグレーションプログラムであって、
    前記仮想マシン管理装置は、
    予め運用者によって定義されたアプリケーションの識別情報およびデータタイプの静的及び動的情報を含むアプリケーション情報のスキーマと、該スキーマを使って設定される前記アプリケーションに依存するアプリ依存ポリシー及びシステム全体を最適化する全体最適化ポリシーを記憶領域に備え、また、前記サーバには、前記仮想マシン管理装置から前記アプリ依存ポリシーを予め複写して自身の記憶領域に保持させた構成とし、
    前記仮想マシン管理装置に、
    前記サーバから、前記スキーマにしたがって前記アプリケーション情報と前記サーバ自身及び前記仮想マシンの静的及び動的な情報を含むサーバ情報とを定期的に受信するステップと、
    前記サーバが自身に保持する前記アプリ依存ポリシーを参照し、マイグレーション条件に該当する仮想マシンがある場合に、該マイグレーション対象となる仮想マシンの付加情報を前記サーバから受信するステップと、
    信した前記付加情報に基づいて、前記アプリ依存ポリシーと前記全体最適ポリシーを参照して、前記全体最適ポリシーよりも前記アプリ依存ポリシーのマイグレーション条件を優先させて仮想マシンを移動する必要があるかを判定し、移動する必要がある場合に該仮想マシンの移動先を決定するステップと、
    を実行させるマイグレーションプログラム。
  3. 前記アプリ依存ポリシーは、アプリケーション毎に、マイグレーション条件、マイグレーション対象、およびマイグレーション先が前記スキーマに基づいてアプリケーション運用者とシステム運用者によって設定され、前記全体最適ポリシーは、システム全体を最適化するためのマイグレーション条件、マイグレーション対象、およびマイグレーション先がシステム運用者によって設定されることを特徴とする請求項1または2に記載のマイグレーションプログラム。
  4. アプリケーションが稼働状態にある仮想マシンを複数のサーバ間で移動させる仮想マシン管理装置におけるマイグレーションプログラムであって、前記仮想マシン管理装置は、
    予め運用者によって定義されたアプリケーションの識別情報およびデータタイプの静的及び動的情報を含むアプリケーション情報のスキーマと、該スキーマを使って設定される前記アプリケーションに依存するアプリ依存ポリシー及びシステム全体を最適化する全体最適化ポリシーを記憶領域に備え、
    前記仮想マシン管理装置に、前記スキーマにしたがって、前記仮想マシン上のアプリケーションの情報と、前記サーバ自身及び前記仮想マシンの静的及び動的な情報を含むサーバ情報とを定期的に前記サーバから受信するステップと、
    受信した前記アプリケーション情報と前記サーバ情報をもとに、前記アプリ依存ポリシー及び前記全体最適ポリシーを参照して、前記全体最適ポリシーよりも前記アプリ依存ポリシーのマイグレーション条件を優先させて移動する仮想マシンがあるかを判定し、
    前記アプリ依存ポリシーに該当する仮想マシンがない場合、前記全体最適化ポリシーにしたがって仮想マシンを移動する必要があるかを判定し、移動する必要がある場合に該仮想マシンの移動先を決定するステップと、
    を有することを特徴とするマイグレーションプログラム。
  5. 前記仮想マシンの移動先を決定するステップは、前記アプリ依存ポリシーに該当する仮想マシンがない場合、前記全体最適ポリシーにしたがって仮想マシンの移動先候補を決定し、その移動先候補に実際に仮想マシンを移動させたときの、前記アプリ依存ポリシーのマイグレーション条件に該当する仮想マシンが出現するかを判定することを特徴とする請求項4に記載のマイグレーションプログラム。
  6. 前記仮想マシンの移動先を決定するステップは、前記アプリ依存ポリシーに該当する仮想マシンがない場合、前記全体最適ポリシーにしたがって仮想マシンの移動先候補を決定し、その移動先候補に実際に仮想マシンを移動させたとき、前記アプリ依存ポリシーのマイグレーション条件に該当する仮想マシンが出現するかを判定し、該条件に該当する仮想マシンが出現すると判定された場合には、前記全体最適ポリシーにしたがったマイグレーションを行わないことを特徴とする請求項5に記載のマイグレーションプログラム。
  7. 前記サーバ情報及び仮想マシン上の前記アプリケーション情報は、それぞれ、前記サーバに備わるサーバモニタ及び前記仮想マシンに備わるアプリモニタを介して取得することを特徴とする請求項1乃至6のいずれかに記載のマイグレーションプログラム。
  8. アプリケーションが稼働状態にある仮想マシンを複数のサーバ間でマイグレーションさせる仮想マシン管理装置であって、
    予め運用者によって定義された前記アプリケーションの識別情報およびデータタイプの静的及び動的情報を含むアプリケーション情報のスキーマを管理するアプリ情報スキーマ管理部と、
    前記スキーマを使って設定され、仮想マシン上で稼働するアプリケーションに依存したアプリ依存ポリシーと、システム全体を最適化する全体最適ポリシーとを管理するマイグレーションポリシー設定部と、
    前記スキーマにしたがって前記仮想マシン上の前記アプリケーション情報と、前記サーバ自身及び前記仮想マシンの静的及び動的な情報を含むサーバ情報とを定期的に前記サーバから受信するサーバ/仮想マシン情報管理部と、
    受信した前記アプリケーション情報と前記サーバ情報をもとに、前記アプリ依存ポリシーおよび前記全体最適ポリシーを参照して、前記全体最適ポリシーよりも前記アプリ依存ポリシーのマイグレーション条件を優先させて仮想マシンを移動する必要があるかを判定し、移動する必要がある場合に該仮想マシンの移動先を決定するマイグレーション制御部と、
    を有することを特徴とする仮想マシン管理装置。
JP2008163251A 2007-10-18 2008-06-23 マイグレーションプログラム、および仮想マシン管理装置 Expired - Fee Related JP5104588B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008163251A JP5104588B2 (ja) 2007-10-18 2008-06-23 マイグレーションプログラム、および仮想マシン管理装置
US12/248,726 US8468230B2 (en) 2007-10-18 2008-10-09 Method, apparatus and recording medium for migrating a virtual machine

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007271692 2007-10-18
JP2007271692 2007-10-18
JP2008163251A JP5104588B2 (ja) 2007-10-18 2008-06-23 マイグレーションプログラム、および仮想マシン管理装置

Publications (2)

Publication Number Publication Date
JP2009116852A JP2009116852A (ja) 2009-05-28
JP5104588B2 true JP5104588B2 (ja) 2012-12-19

Family

ID=40783889

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008163251A Expired - Fee Related JP5104588B2 (ja) 2007-10-18 2008-06-23 マイグレーションプログラム、および仮想マシン管理装置

Country Status (1)

Country Link
JP (1) JP5104588B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014142217A1 (ja) 2013-03-15 2014-09-18 日本電気株式会社 情報処理システム、及びアプリケーションの移転方法
US10303520B2 (en) 2014-10-10 2019-05-28 Samsung Electronics Co., Ltd. Method and apparatus for migrating virtual machine for improving mobile user experience

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010140183A1 (ja) * 2009-06-01 2010-12-09 富士通株式会社 サーバ管理プログラム、管理サーバ、仮想サーバ配置方法
WO2010140194A1 (ja) * 2009-06-05 2010-12-09 富士通株式会社 情報処理システムの管理方法、情報処理システム、記録媒体、管理プログラム
JP5428581B2 (ja) * 2009-06-30 2014-02-26 富士通株式会社 仮想マシン管理プログラム及び仮想マシン管理方法
US9047110B2 (en) 2010-01-29 2015-06-02 Nec Corporation Virtual machine handling system, virtual machine handling method, computer, and storage medium
JP5190084B2 (ja) * 2010-03-30 2013-04-24 株式会社日立製作所 仮想マシンのマイグレーション方法およびシステム
US9342373B2 (en) 2010-05-20 2016-05-17 International Business Machines Corporation Virtual machine management among networked servers
JP5391152B2 (ja) * 2010-05-26 2014-01-15 株式会社日立製作所 サーバシステム、及び、仮想サーバの移行方式を選択する方法
WO2011155047A1 (ja) * 2010-06-10 2011-12-15 富士通株式会社 マルチコアプロセッサシステム、電力制御方法、および電力制御プログラム
GB2481232A (en) * 2010-06-16 2011-12-21 Advanced Risc Mach Ltd Cache for a multiprocessor system which can treat a local access operation as a shared access operation
US9858068B2 (en) 2010-06-22 2018-01-02 Hewlett Packard Enterprise Development Lp Methods and systems for planning application deployment
WO2011162746A1 (en) 2010-06-22 2011-12-29 Hewlett-Packard Development Company, L.P. A method and system for determining a deployment of applications
EP2592549B1 (en) * 2010-07-06 2020-10-14 III Holdings 12, LLC Virtual computer system, virtual computer control method and accumulation circuit
JP5334226B2 (ja) * 2010-08-23 2013-11-06 株式会社日立製作所 スケジュール管理方法及びスケジュール管理サーバ
JP5600277B2 (ja) * 2010-09-27 2014-10-01 株式会社日立システムズ クラウドサービス再配置システムと方法およびプログラム
WO2012077390A1 (ja) * 2010-12-07 2012-06-14 株式会社日立製作所 ネットワークシステム、及びそのサービス品質制御方法
JP5593260B2 (ja) * 2011-03-17 2014-09-17 株式会社エヌ・ティ・ティ・データ 移動要求装置、移動要求方法、移動要求プログラム
US20120246740A1 (en) * 2011-03-22 2012-09-27 Brooker Marc J Strong rights management for computing application functionality
US20140223430A1 (en) * 2011-04-07 2014-08-07 Hewlett-Packard Development Company, L.P. Method and apparatus for moving a software object
EP2744186B1 (en) * 2011-09-14 2016-05-25 Nec Corporation Resource optimization method, ip network system and resource optimization program
WO2013072978A1 (ja) * 2011-11-18 2013-05-23 株式会社日立製作所 計算機、仮想マシン配備方法及びプログラム
US9548962B2 (en) * 2012-05-11 2017-01-17 Alcatel Lucent Apparatus and method for providing a fluid security layer
JP5892031B2 (ja) 2012-10-22 2016-03-23 富士通株式会社 リソース管理システム、リソース管理方法、およびリソース管理プログラム
JP5958301B2 (ja) 2012-11-21 2016-07-27 富士通株式会社 情報処理方法、プログラム、情報処理装置、及び情報処理システム。
JP2014206805A (ja) * 2013-04-11 2014-10-30 株式会社三菱東京Ufj銀行 制御装置
US20150163157A1 (en) * 2013-12-09 2015-06-11 Alcatel-Lucent Usa Inc. Allocation and migration of cloud resources in a distributed cloud system
JP6342826B2 (ja) * 2015-02-17 2018-06-13 日本電信電話株式会社 仮想エッジの資源割当制御システムおよび方法
JP6259408B2 (ja) * 2015-02-26 2018-01-10 日本電信電話株式会社 分散処理システム
JP2017146791A (ja) * 2016-02-17 2017-08-24 日本電信電話株式会社 クラスタ内マイグレーション管理システム、クラスタ内マイグレーション管理方法、管理サーバ及びプログラム
JP7035858B2 (ja) 2018-07-03 2022-03-15 富士通株式会社 マイグレーション管理プログラム、マイグレーション方法およびマイグレーションシステム
CN111143030B (zh) * 2019-12-19 2023-04-28 北京可信华泰信息技术有限公司 一种云环境可信虚拟机的迁移方法
WO2023119431A1 (ja) * 2021-12-21 2023-06-29 日本電信電話株式会社 影響コスト算出装置、影響コスト算出方法、及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067351A (ja) * 2001-08-28 2003-03-07 Nec System Technologies Ltd 分散型コンピュータの構成制御システム
JP2005216151A (ja) * 2004-01-30 2005-08-11 Hitachi Ltd 資源運用管理システム及び資源運用管理方法
US8156490B2 (en) * 2004-05-08 2012-04-10 International Business Machines Corporation Dynamic migration of virtual machine computer programs upon satisfaction of conditions
US9329905B2 (en) * 2004-10-15 2016-05-03 Emc Corporation Method and apparatus for configuring, monitoring and/or managing resource groups including a virtual machine
US7730486B2 (en) * 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014142217A1 (ja) 2013-03-15 2014-09-18 日本電気株式会社 情報処理システム、及びアプリケーションの移転方法
US10303520B2 (en) 2014-10-10 2019-05-28 Samsung Electronics Co., Ltd. Method and apparatus for migrating virtual machine for improving mobile user experience
US11023282B2 (en) 2014-10-10 2021-06-01 Samsung Electronics Co., Ltd. Method and apparatus for migrating virtual machine for improving mobile user experience

Also Published As

Publication number Publication date
JP2009116852A (ja) 2009-05-28

Similar Documents

Publication Publication Date Title
JP5104588B2 (ja) マイグレーションプログラム、および仮想マシン管理装置
US8468230B2 (en) Method, apparatus and recording medium for migrating a virtual machine
JP4066932B2 (ja) 予測に基づいた計算機リソース配分方法
KR101351688B1 (ko) 서버 관리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 관리 서버, 가상 서버 배치 방법
US7287179B2 (en) Autonomic failover of grid-based services
US7793308B2 (en) Setting operation based resource utilization thresholds for resource use by a process
US7171470B2 (en) Grid service scheduling of related services using heuristics
CN100489789C (zh) 响应分区工作负荷动态再分区计算机系统的装置和方法
Ma et al. Load-balancing multiple controllers mechanism for software-defined networking
JP2008527514A (ja) グリッド・アクティビティのモニタリングおよび振り分けによる総合的グリッド環境管理を促進する方法、システム、およびコンピュータ・プログラム
US10541901B2 (en) Methods, systems and computer readable media for optimizing placement of virtual network visibility components
WO2016030973A1 (ja) マルチテナントリソース調停方法
KR20130019698A (ko) 사용자 스케줄러와 마이그레이션(Migration)을 통한 자원 최적화 방법 및 시스템
CN109313577A (zh) 分布式计算网络中的数据平面api
CN100371895C (zh) 均衡负载的文件预装系统及方法
KR20200080458A (ko) 클라우드 멀티-클러스터 장치
JPWO2005116832A1 (ja) 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム
CN112269647A (zh) 节点调度、切换与协调方法及其相应的装置、设备、介质
KR20130052599A (ko) 가상 데이터 센터 시스템
CN114116157A (zh) 一种边缘环境下多边缘集群云结构及负载均衡调度方法
CN103336720B (zh) 一种基于slurm的具有数据依赖关系的作业执行方法
Hasan et al. Using Ideal Time Horizon for Energy Cost Determination
JP4223411B2 (ja) 実行多重度制御システム、実行多重度制御システムの制御方法、及びプログラム
JP2006260216A (ja) 文書出力管理システム、その方法及びプログラム
Arredondo et al. Load distribution and balancing support in a workstation-based distributed system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110315

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120605

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151012

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees