JP5446040B2 - コンピュータシステム、及び仮想マシンのマイグレーション方法 - Google Patents

コンピュータシステム、及び仮想マシンのマイグレーション方法 Download PDF

Info

Publication number
JP5446040B2
JP5446040B2 JP2009222857A JP2009222857A JP5446040B2 JP 5446040 B2 JP5446040 B2 JP 5446040B2 JP 2009222857 A JP2009222857 A JP 2009222857A JP 2009222857 A JP2009222857 A JP 2009222857A JP 5446040 B2 JP5446040 B2 JP 5446040B2
Authority
JP
Japan
Prior art keywords
virtual machine
destination
flow
communication
addressed
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
JP2009222857A
Other languages
English (en)
Other versions
JP2011070549A (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 JP2009222857A priority Critical patent/JP5446040B2/ja
Priority to EP10818821.0A priority patent/EP2485155A4/en
Priority to US13/498,581 priority patent/US9323570B2/en
Priority to PCT/JP2010/066444 priority patent/WO2011037148A1/ja
Priority to CN201080043534.2A priority patent/CN102576343B/zh
Publication of JP2011070549A publication Critical patent/JP2011070549A/ja
Application granted granted Critical
Publication of JP5446040B2 publication Critical patent/JP5446040B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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

Description

本発明は、コンピュータシステム、及び仮想マシンのマイグレーション方法に関し、特に、ネットワーク環境及びIT環境を一元管理しながら仮想マシンのマイグレーションが可能なコンピュータシステムに関する。
近年、複数の仮想マシンを1台の物理サーバ上で稼動させることで、より柔軟なシステム構成が可能になってきた。このようなシステムでは、稼動中の仮想マシンを止めずに他の物理サーバや、メモリ領域に仮想マシンを移動させるライブマイグレーション技術によって、障害回避やシステムの負荷分散等を実現することができる。
ライブマイグレーションに関する技術として、例えば、WO2005/083569(特許文献1参照)、特開2009−146106(特許文献2参照)、特開2004−78465(特許文献3参照)が知られている。
特許文献1には、稼動サーバの切替制御手段と、コネクション先を、メインサーバを含むターゲット網からバックアップサーバを含む切替先ターゲット網に切り替えるコネクション制御手段とを備えるネットワークシステムが記載されている。このような構成により、特許文献1に記載のシステムは、ユーザのサービス停止と通信の再設定なしにプロセスマイグレーションを行うことが可能となる。
特許文献2には、仮想ポートの付加先となる物理ポートを他の物理ポートに移行し、移行先の物理ポートの識別情報に基づいてスイッチユニットのルーティングテーブルを更新することで、同一ストレージへのアクセスパスを変更するストレージシステムが記載されている。
特許文献3には、プロセスマイグレーション処理時の移動対象プロセスの停止時間を短縮させる技術が記載されている。
複数のコンピュータがネットワークを介して接続されたコンピュータシステムでは、通常、ネットワーク側を管理するネットワーク管理者と、コンピュータ側を管理するIT(情報技術)管理者とがそれぞれ個別に存在する。IT管理者は、コンピュータ側の負荷(例えばCPUやメモリの使用率)を考慮して仮想マシンのマイグレーションを行うが、ネットワーク側の負荷等を考慮せずに行う場合が多い。仮想マシンのメモリイメージを移動させる場合、ネットワークを経由してデータの送信が行われることがある。この間、ネットワーク側は、メモリイメージの移動を考慮せずに仮想マシンへのアクセスを継続している。このため、仮想マシンの移動によって生じるトラフィックが、移動対象となる仮想マシンや他の仮想マシンへの通信を阻害する恐れがある。
WO2005/083569 特開2009−146106 特開2004−78465
このように、コンピュータシステムでは、ネットワーク側とIT側とで別々の管理が行われているため、仮想マシンのマイグレーションのための設定は、ネットワーク側とIT側のそれぞれにおいて個別に行われる。しかし、ネットワーク側及びIT(コンピュータ)側の両方への影響を考慮して仮想マシンのマイグレーションを行うためには、ネットワーク側とIT側の両方の設定を一元的に管理することが好ましい。
以上のことから、本発明の目的は、ネットワーク側及びコンピュータ側を一元的に制御して仮想マシンのマイグレーションを実行可能なコンピュータシステムを提供することにある。
上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、[特許請求の範囲]の記載と[発明を実施するための形態]の記載との対応関係を明らかにするために、[発明を実施するための形態]で使用される番号・符号が付加されている。ただし、付加された番号・符号は、[特許請求の範囲]に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。
本発明によるコンピュータシステムは、VM管理装置(2)、オープンフローコントローラ(3)、スイッチ(4i)を具備する。VM管理装置(2)は、物理サーバ(5、6)上で動作する仮想マシンの移動を、仮想マシンを管理する仮想マシンモニタと移動先の仮想マシンモニタとに指示する。スイッチ(4i)は、移動を完了した仮想マシンからのパケットデータが、自身に設定されたフローに示されたルールに適合しない場合、パケットデータのMACアドレスをオープンフローコントローラ(3)に通知する。オープンフローコントローラ(3)は、通知されたMACアドレスに応じて生成された移動先VM宛通信用フローを、スイッチ(4i)に設定する。スイッチ(4i)は、移動先VM宛通信用フローに示されたルール(444)に従う仮想マシン宛のパケットデータを、移動先VM宛通信用フローに示されたアクション(445)に従って移動先の仮想マシンに転送する。
本発明による仮想マシンのマイグレーション方法は、VM管理装置(2)が、物理サーバ(5、6)上で動作する仮想マシンの移動を、仮想マシンを管理する仮想マシンモニタと移動先の仮想マシンモニタとに指示するステップと、移動を完了した仮想マシンから受信したパケットデータが、スイッチ(4i)に設定されたフローに示されたルールに適合しない場合、当該パケットデータのMACアドレスをオープンフローコントローラ(3)に通知するステップと、オープンフローコントローラ(3)が、通知されたMACアドレスに応じて生成された移動先VM宛通信用フローを、スイッチ(4i)に設定するステップと、スイッチ(4i)が、移動先VM宛通信用フローに示されたルール(444)に従う仮想マシン宛のパケットデータを、移動先VM宛通信用フローに示されたアクション(445)に従って移動先の仮想マシンに転送するステップとを具備する。
本発明によれば、ネットワーク側及びコンピュータ側を一元的に制御して仮想マシンのマイグレーションを実行することができる。
又、仮想マシンのライブマイグレーションにおけるパケットロスを削減することができる。
図1は、本発明によるコンピュータシステムの第1及び第2の実施の形態における構成を示す図である。 図2は、本発明によるVM管理装置の構成を示す図である。 図3は、本発明によるオープンフローコントローラの構成を示す図である。 図4は、本発明によるオープンフローコントローラが保持するフローテーブルの構成の一例を示す図である。 図5は、本発明によるオープンフローコントローラが保持するトポロジ情報の一例を示す図である。 図6は、本発明によるオープンフローコントローラが保持する通信経路情報の一例を示す図である。 図7は、本発明に係るオープンフロースイッチの構成を示す図である。 図8は、本発明によるスイッチが保持するフローテーブルの一例を示す図である。 図9は、本発明に係るオープンフロー制御を説明するための図である。 図10は、仮想マシンのマイグレーション処理における準備処理の第1の実施の形態を説明するシーケンス図である。 図11は、仮想マシンのマイグレーション処理におけるメモリイメージ転送処理の第1及び第2の実施の形態を説明するシーケンス図である。 図12は、仮想マシンのマイグレーション処理におけるアクセス先切り替え処理の第1の実施の形態を説明するシーケンス図である。 図13は、仮想マシンのマイグレーション処理における準備処理の第2の実施の形態を説明するシーケンス図である。 図14は、仮想マシンのマイグレーション処理におけるアクセス先切り替え処理の第2の実施の形態を説明するシーケンス図である。 図15は、本発明によるコンピュータシステムの第3の実施の形態における構成を示す図である。 図16は、仮想マシンのマイグレーション処理におけるアクセス先切り替え処理の第3の実施の形態を説明するシーケンス図である。 図17は、本発明によるコンピュータシステムの第4の実施の形態における構成を示す図である。
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。
1.第1の実施の形態
(コンピュータシステムの構成)
図1から図9を参照して、本発明によるコンピュータシステムの第1の実施の形態における構成を説明する。図1は、本発明によるコンピュータシステムの第1及び第2の実施の形態における構成を示す図である。本発明によるコンピュータシステムは、統合管理装置1、仮想マシン管理装置2(以下、VM管理装置2と称す)、オープンフローコントローラ3(以下、OFC3と称す)、スイッチ群4(以下、OFS群4:オープンフロースイッチ群と称す)、物理サーバ5、6、記憶装置7(例示:シェアードディスク)を具備する。
物理サーバ5、6は、少なくとも1つのオープンフロースイッチを有するOFS群4を介して相互に接続される。又、物理サーバ5、6は、OFS群4を介してインターネットに例示される外部ネットワーク8に接続される。尚、本実施の形態では2つの物理サーバ5、6が例示されるが、物理サーバの数はこれに限らない。
物理サーバ5、6は、それぞれCPUやRAMを備えるコンピュータ装置であり、相互に共通又は別々の記憶装置7に格納されたプログラムを実行することで、少なくとも1つの仮想マシンを実現する。詳細には、物理サーバ5は、CPU(図示なし)や記憶装置7の使用領域を論理分割又は物理分割することで実現される仮想マシン101〜10n(nは自然数)を備える。あるいは、仮想マシン101〜10nは、ホストオペレーションシステム(HOS)上でエミュレートされたゲストオペレーションシステム(GOS)又はGOS上で動作するソフトウェアによって実現されてもよい。仮想マシン101〜10nは、記憶装置7に記録されたプログラムをCPU(図示なし)によって実行することで実現される仮想マシンモニタ10(以下、VMM10と称す)によって管理される。物理サーバ6も物理サーバ5と同様に、少なくとも1つの仮想マシン201〜20m(mは自然数)が実装され、それぞれ、VMM20によって管理される。
仮想マシン101〜10n、201〜20mが使用するディスクイメージ(メモリイメージ)は、シェアードディスクに格納されることが好適である。シェアードディスクは、例えばFC(Fiber Channel)やEther(登録商標)等で接続されたディスクアレイ、NAS(Network Attached Storage)、データベースサーバ等に例示される。
VMM10による仮想マシン101〜10nの管理方法及びVMM20による仮想マシン201〜20mの管理方法は、従来と同様である。例えば、VMM10は、仮想マシン101〜10nが使用するメモリイメージを管理し、VMM20は、仮想マシン201〜20mが使用するメモリイメージを管理する。
仮想マシン101〜10nは、VMM10によって管理される仮想スイッチ11及び物理NIC(図示なし)を介して他の装置(例えば外部ネットワーク8上のコンピュータ装置や、他の物理サーバ6内の仮想マシン)とデータの送受信を行う。本実施の形態では、一例としてTCP/IP(Transmission Control Protocol/Internet Protocol)に従ったパケット通信が行われる。同様に仮想マシン201〜20mは、仮想スイッチ21を介して他の装置とデータの送受信を行う。又、同一物理サーバ内における仮想マシン間の通信も仮想スイッチ11、21を介して行われる。
本発明に係る仮想マシン101〜10n、201〜20mは、他のVMMや物理サーバに移動してもMACアドレスは変わらないものとする。又、仮想スイッチ11、21は、後述するオープンフロー技術によって制御されても良いし、従来どおりのスイッチング動作(レイヤ2)を行っても良い。ただし、以下に示す実施の形態における仮想スイッチ11、21は、オープンフローに対応しているものとして説明する。更に、仮想マシン101〜10n、201〜20mと物理サーバ外部とはブリッジ接続されている。すなわち、仮想マシン101〜10n、201〜20mのMACアドレスやIPアドレスによって外部から直接通信ができる。
VM管理装置2は、物理サーバ5、6上で動作する仮想マシン101〜10n、201〜20mを管理する。図2は、本発明によるVM管理装置1の構成を示す図である。VM管理装置2は、CPU及び記憶装置を備えるコンピュータによって実現されることが好適である。VM管理装置2では、図示しないCPUが記憶装置に格納されたプログラムを実行することで、図2に示すVMマイグレーション制御部321と、VMM管理部322の各機能が実現される。
VMマイグレーション制御部321は、仮想マシンのマイグレーションを制御する。詳細には、VMマイグレーション制御部321は、記憶装置に記録されているVMM管理情報323に基づいて移動対象となる仮想マシンと、移動先となる仮想マシンモニタとを指定し、仮想マシンのマイグレーションを移動元及び移動先の仮想マシンモニタに指示する。これにより、指示された仮想マシンモニタ間で仮想マシンのマイグレーションが実行される。
VMM管理部322は、管理下の仮想マシンモニタや仮想スイッチに関する情報(VMM管理情報323)を管理する。VMM管理情報323は、仮想マシンモニタの識別子や仮想マシンモニタが管理する仮想マシンに関する情報(VMM情報324)と、仮想スイッチの識別子や仮想スイッチが接続する仮想マシンに関する情報(VSW情報325)とを備える。VMM情報324とVSW情報325は、仮想スイッチを管理する仮想マシンモニタ毎に対応付けられて記録されていることが好ましい。
VMM管理情報323は、予め記憶装置に記録されていても良いし、VMM10、20から周期的又は任意の時期に取得してもよい。VMM10、20からVMM管理情報323を取得する場合、VMM管理部322による指示に応じてVMM10、20からVMM管理情報323を取得し、これによって記憶装置内のVMM管理情報323を更新することが好ましい。これにより、仮想マシンのマイグレーション後に変更された仮想マシンの移動先や仮想スイッチの接続先を監視することが可能となる。
OFC3は、オープンフロー技術により、システム内の通信を制御する。オープンフロー技術とは、コントローラ(ここではOFC3)が、ルーティングポリシー(フロー:ルール+アクション)に従い、マルチレイヤ及びフロー単位の経路情報をスイッチに設定し、経路制御やノード制御を行う技術を示す。これにより、経路制御機能がルータやスイッチから分離され、コントローラによる集中制御によって最適なルーティング、トラフィック管理が可能となる。オープンフロー技術が適用されるスイッチ(OFS群4)は、従来のルータやスイッチのようにパケットやフレームの単位ではなく、END2ENDのフローとして通信を取り扱う。
詳細には、OFC3は、スイッチやノード毎にフロー(ルール+アクション)を設定することで当該スイッチやノードの動作(例えばパケットデータの中継動作)を制御する。ここで、OFC3によって制御されるスイッチは、OFS群4や仮想スイッチ11、21等に例示され、OFC3によって制御されるノードは、仮想マシン101〜10n、201〜20m、VMM10、20、物理サーバ5、6、記憶装置7等に例示される。
図3は、本発明によるOFC3の構成を示す図である。OFC3は、CPU及び記憶装置を備えるコンピュータによって実現されることが好適である。OFC3では、図示しないCPUが記憶装置に格納されたプログラムを実行することで、図3に示すスイッチ制御部331、フロー管理部332、フロー生成部333の各機能が実現される。
スイッチ制御部331は、フローテーブル334に従ってスイッチやノード毎にフロー(ルール+アクション)の設定又は削除を行う。本発明に係るスイッチやノードは、設定されたフローを参照し、受信パケットのヘッダ情報に応じたルールに対応するアクション(例えばパケットデータの中継や破棄)を実行する。ルール及びアクションの詳細は後述する。
図4は、本発明によるOFC3が保持するフローテーブル334の構成の一例を示す図である。図4を参照して、フローテーブル334には、フローを特定するためのフロー識別子441、当該フローの設定対象(スイッチやノード)を識別する識別子(対象装置442)、経路情報443、ルール444、アクション情報445、設定情報446が対応付けられて設定される。フローテーブル334には、OFC3の制御対象となる全てのスイッチやノードに対するフロー(ルール444+アクション情報445)が設定される。フローテーブル334には、フロー毎のQoSや暗号化に関する情報など、通信の扱い方が定義されてもかまない。
ルール444には、例えば、TCP/IPのパケットデータにおけるヘッダ情報に含まれる、OSI(Open Systems Interconnection)参照モデルのレイヤ1からレイヤ4のアドレスや識別子の組み合わせが規定される。例えば、図9に示すレイヤ1の物理ポート、レイヤ2のMACアドレス、レイヤ3のIPアドレス、レイヤ4のポート番号、VLANタグのそれぞれの組み合わせがルール444として設定される。ここで、ルール444に設定されるポート番号等の識別子やアドレス等は、所定の範囲が設定されても構わない。又、宛先や送信元のアドレス等を区別してルール444として設定されることが好ましい。例えば、MAC宛先アドレスの範囲や、接続先のアプリケーションを特定する宛先ポート番号の範囲、接続元のアプリケーションを特定する送信元ポート番号の範囲がルール444として設定される。更に、データ転送プロトコルを特定する識別子をルール444として設定してもよい。
アクション情報445には、例えばTCP/ IPのパケットデータを処理する方法が規定される。例えば、受信パケットデータを中継するか否かを示す情報や、中継する場合はその送信先が設定される。又、アクション情報445には、パケットデータの複製や、破棄することを指示する情報が設定されてもよい。
経路情報443は、フロー(ルール444+アクション情報445)を適用する経路を特定する情報である。これは、後述する通信経路情報336に対応付けられた識別子である。
設定情報446は、フロー(ルール444+アクション情報445)が現在、通信経路やスイッチ等に設定されているか否かを示す情報(「設定済み」又は「未設定」)を含む。設定情報446は、対象装置442や経路情報443に対応付けられているため、通信経路にフローが設定されているか否かを確認できるとともに、通信経路上のスイッチやノード毎にフローが設定されているか否かを確認することができる。又、設定情報446は、生成されたフローが使用可能な状態(有効)か使用不可能な状態(無効)かを示す情報を含む。スイッチ制御部331は、設定情報446を参照し、有効なフローのみをスイッチ(OFS)やノードに設定し、無効なフローは設定しない。
フロー管理部332は、フローテーブル334を参照して、スイッチやノードから通知されたファーストパケットのヘッダ情報に対応するフロー(ルール444+アクション情報445)を抽出し、スイッチ制御部331に通知する。又、フロー管理部332は、フロー生成部333によって生成されたフロー(ルール444+アクション情報445)にフロー識別子441をつけて記憶装置に記録する。この際、フローを適用する通信経路の識別子(経路情報443)やフローを適用するスイッチやノードの識別子(対象装置442)が、フロー(ルール444+アクション情報445)に付されて記録される。
フロー生成部333は、トポロジ情報335を用いて通信経路を算出し、算出結果を通信経路情報336として記憶装置に記録する。ここでは、通信経路の端点となるノードと、通信経路上のスイッチ及びノードが設定される。又、フロー生成部333は、通信経路情報336に基づいて通信経路上のスイッチやノードに設定するフロー(ルール444+アクション情報445)を設定する。
トポロジ情報335は、スイッチ(例えば、OFS群4や仮想スイッチ11、21等)やノード(例えば、仮想マシン101〜10n、201〜20m、VMM10、20、物理サーバ5、6、記憶装置7等)、外部ネットワーク8(例えばインターネット)等の接続状況に関する情報を含む。具体的には、トポロジ情報335として、スイッチやノード(装置)を特定する装置識別子451に、当該装置のポート数452やポート接続先情報453が対応付けられて記憶装置に記録される。ポート接続先情報453は、接続相手を特定する接続種別(スイッチ/ノード/外部ネットワーク)や接続先を特定する情報(スイッチの場合はスイッチID、ノードの場合はMACアドレス、外部ネットワークの場合は外部ネットワークID)が含まれる。
通信経路情報336は、通信経路を特定するための情報である。詳細には、通信経路情報336として、ノード(例えば、仮想マシン101〜10n、201〜20m、VMM10、20、物理サーバ5、6、記憶装置7等)群、あるいは、外部ネットワークインタフェースを端点として指定する端点情報461と、通過するスイッチ(例えば、OFS群4や仮想スイッチ11、21等)とポートの対群を指定する通過スイッチ情報462と、付随情報463とが対応付けられて記憶装置に記録される。例えば、通信経路が外部ネットワークとノードとを接続する経路である場合、外部ネットワークIDとノードのMACアドレスが端点情報461として記録される。あるいは、通信経路がノード間を接続する経路である場合、両端点となるノードのそれぞれのMACアドレス対が端点情報461として記録される。通過スイッチ情報462は、端点情報461で示される端点間の通信経路上に設けられるスイッチ(オープンフロースイッチや仮想スイッチ)の識別子を含む。又、通過スイッチ情報462は、当該スイッチに設定されるフロー(ルール444+アクション情報445)と当該スイッチとを対応づけるための情報を含んでも良い。付随情報463は、端点が変更された後の経路上のスイッチ(通過スイッチ)に関する情報を含む。
本発明によるフロー管理部332は、仮想マシンのマイグレーション指示(移動準備指示)に応じてフロー生成部333を制御して、メモリイメージを転送するためのフロー(メモリイメージ転送用フロー)を生成させるとともに、スイッチ制御部331を制御して、メモリイメージ転送用フローをメモリイメージ転送経路上のOFSやノードに設定させる。又、本発明によるフロー管理部332は、仮想マシンのマイグレーション指示(移動準備指示)に応じてフロー生成部333を制御して、移動後の仮想マシンに対するアクセス用のフロー(移動先VM宛通信用フロー)を生成させるとともに、スイッチ制御部331を制御して、移動先VM宛通信用フローを移動先VM宛通信経路上のOFSやノードに設定させる。
OFS群4は、少なくとも1つのオープンフロースイッチ41〜4i(iは自然数)を備える。図7は、本発明に係るオープンフロースイッチ4i(以下、OFS4iと称す)の構成を示す図である。OFS4iは、OFC3によって設定されたフローテーブル343に従って受信パケットの処理方法(アクション)を決定する。OFS4iは、転送処理部341とフロー管理部342を備える。転送処理部341とフロー管理部342は、ハードウェアで構成されても、CPUによって実行されるソフトウェアで実現してもどちらでも良い。
OFS4iの記憶装置には、図8に示すようなフローテーブル343が設定される。フロー管理部342は、OFC3から取得したフロー(ルール444+アクション情報445)をフローテーブル343に設定する。又、転送処理部341によって受信された受信パケットのヘッダ情報が、フローテーブル343に記録されたルール444に適合(一致)する場合、フロー管理部342は、当該ルール444に対応するアクション情報445を転送処理部341に通知する。一方、転送処理部341によって受信された受信パケットのヘッダ情報が、フローテーブル343に記録されたルール444に適合(一致)しない場合、フロー管理部342は、ファーストパケットを受信したことをOFC3に通知するとともに、当該ヘッダ情報をOFC3に送信する。
転送処理部341は、受信パケットのヘッダ情報に応じた転送処理を行う。詳細には、転送処理部341は、受信したパケットデータからヘッダ情報を抽出し、フロー管理部342に通知する。フロー管理部342からアクション情報445を受け取ると、アクション情報445に従った処理を行う。例えば、アクション情報445に示された転送先のノードに受信パケットデータを転送する。又、フローテーブル343に規定されたルール444にないパケットデータが受信した場合、当該パケットデータを所定の期間保持し、OFC3からフローが設定される(フローテーブル343が更新される)まで待機する。
具体的には、ルール444:MAC送信元アドレス(L2)が“A1〜A3”、IP宛先アドレス(L3)が“B1〜B3”、プロトコルが“http”、宛先ポート番号(L4)が“C1〜C3”と、アクション情報445:“物理サーバ5の仮想マシン101に中継”とが対応付けられているフローが設定されたOFS4iの動作を説明する。MAC送信元アドレス(L2)が“A1”、IP宛先アドレス(L3)が“B2”、プロトコルが“http”、宛先ポート番号(L4)が“C3”であるパケットデータを受信した場合、OFS4iは、ヘッダ情報が当該ルール444に一致していると判断し、受信したパケットデータを仮想マシン101に転送する。一方、MAC送信元アドレス(L2)が“A5”、IP宛先アドレス(L3)が“B2”、プロトコルが“http”、宛先ポート番号(L4)が“C4”であるパケットデータを受信した場合、OFS4iは、ヘッダ情報が当該ルール444に一致しないと判断し、ファーストパケット受信の旨をOFC3に通知するとともに当該ヘッダ情報をOFC3に送信する。OFC3は、フローテーブル334から受信したヘッダ情報に対応するフロー(ルール444+アクション情報445)を抽出し、OFS4iに送信する。尚、フローテーブル334に適切なフローがない場合は、新たにフローを作成してもよい。OFSi4iは送信されたフローを自身のフローテーブル343に設定し、これに従った、受信パケットの中継処理を実行する。
以上のように、本発明によるコンピュータシステムは、オープンフロー技術(プログラマブルフロー技術とも呼ぶ)が適用されている。尚、OFS群4の他、仮想スイッチ11、21も、OFS4iと同様に、OFC3によってフローが設定されるフローテーブルを備えても良い。この場合、OFC3は、OFS群4と同様に、仮想スイッチ11、21の動作を制御することができる。
第1の実施の形態におけるコンピュータシステムは、VM管理装置2とOFC3を制御する統合管理装置1を具備する。統合管理装置1は、CPU及び記憶装置を備えるコンピュータによって実現されることが好適である。統合管理装置1は、入力装置(例示:キーボード、マウス)や、VM管理装置2又はOFC3から送信される各種情報を視認可能に表示する表示装置(例示:モニタ、プリンタ)を備えることが好適である。ユーザ(管理者)は、統合管理装置1を用いてVM管理装置2及びOFC3を制御し、仮想マシンのマイグレーションを実行する。
統合管理装置1、VM管理装置2、及びOFC3のそれぞれは、同じコンピュータ装置でも、それぞれ別のコンピュータ装置に実装されてもどちらでも構わない。
(仮想マシンのマイグレーション動作)
次に、図10から図12を参照して、本発明による仮想マシンのマイグレーション動作の第1の実施の形態を説明する。図10は、仮想マシンのマイグレーション処理における準備処理の第1の実施の形態を説明するシーケンス図である。
管理者は、図示しない入力装置を操作して、仮想マシンのマイグレーション(以下、VMマイグレーションと称す)を統合管理装置1に指示する。この際、移動する仮想マシン(以下、移動対象VMと称す)が動作する物理サーバ(又は仮想マシンモニタ)、移動対象VM、及び移動先となる物理サーバ(又は仮想マシンモニタ)が指定される。統合管理装置1は、VMマイグレーション指示に応じてVM管理装置2に対し情報通知指示を発行する(ステップS101)。ここでは、統合管理装置1は、移動元及び移動先の物理サーバにおける仮想マシンモニタの情報を通知する指示を発行する。VM管理装置2は、移動元及び移動先の物理サーバにおけるVMM管理情報323を統合管理装置1に送信する(ステップS102)。これにより、統合管理装置1は、移動元の仮想マシンモニタ(以下、移動元VMMと称す)と、移動対象VMに関する情報、及び移動先の仮想マシンモニタ(以下、移動先VMMと称す)と移動先の仮想スイッチ(以下、移動先VSWと称す)に関する情報を取得する。
統合管理装置1は、VMM管理情報323を取得すると、移動準備指示をOFC3に発行する(ステップS103)。この際、統合管理装置1は、VMM管理情報323に基づいて、移動元VMM、移動対象VM、移動先VMM、及び移動先VSWを、OFC3に指定する。
移動準備指示を受けたOFC3は、先ずメモリイメージの移動のための通信経路及びフローの設定を行う。OFC3は、トポロジ情報335に基づいて移動元VMMと移動先VMMとの間で移動対象VMのメモリイメージを転送するための通信経路(メモリイメージ転送経路)を算出する(ステップS104)。ここでは、移動前の移動対象VMのメモリイメージが格納される領域と、移動後の移動対象VMのメモリイメージが格納される領域とが両端点として設定され、メモリイメージ転送経路として算出される。算出されたメモリイメージ転送経路に関する情報は通信経路情報336として記録される。
OFC3は、ステップS104で算出したメモリイメージ転送経路上にある各OFS4iに設定すべきフロー(メモリイメージ転送用フロー)を生成する(ステップS105)。OFS4i毎に生成されたメモリイメージ転送用フロー(ルール444+アクション情報445)は、各OFS4iに対応付けられてフローテーブル334に登録される。この際、メモリイメージ転送用フローの設定情報446は、「未設定」及び「無効」に設定される。
OFC3は、メモリイメージ転送用フローを各OFS4iやノードに設定する(ステップS106〜S108)。詳細には、OFC3は、メモリイメージ転送用フローの設定を、通信経路上の対応するOFS4iに指示する(ステップS106)。フローの設定が指示されたOFS4iは、それぞれに送信されたフロー(ルール444+アクション情報445)を自身のフローテーブル343に設定する(ステップS107)。フローの設定が完了したOFS4iは、フロー設定完了をOFC3に報告する(ステップS108)。ここで、メモリイメージ転送用フローは、OFS4i以外にも、メモリイメージ転送経路上のノードにも設定される。又、仮想スイッチがオープンフロー技術に対応した構成である場合、メモリイメージ転送用フローは、メモリイメージ転送経路上の仮想スイッチに設定される。OFS4iや仮想スイッチに設定されたメモリイメージ転送用フローの設定情報446は、「設定済み」及び「有効」に設定される。
次にOFC3は、VMマイグレーション後の移動対象VM(以下、移動先VMと称す)に対するアクセスのための通信経路及びフローの設定を行う。先ず、OFC3は、移動先VMへの通信経路(移動先VM宛通信経路)を算出する(ステップS109)。詳細には、OFC3は、予め保持する有効な通信経路情報336から移動対象VMに関わる通信経路の通信経路情報336を選択する。ここで、有効な通信経路(有効な通信経路情報336)とは、OFS4iに設定可能なフローが存在する通信経路を示す。そしてOFC3は、トポロジ情報335を利用して、選択した通信経路の一方を移動対象VMから、移動先VMが接続する仮想スイッチに変更して通信経路を修正し、移動先VM宛通信経路として算出する。算出された移動先VM宛通信経路に関する情報は通信経路情報336として記録される。
OFC3は、ステップS109で算出した移動先VM宛通信経路上にある各OFS4iに設定すべきフロー(移動先VM宛通信用フロー)を生成する(ステップS110)。OFS4i毎に生成された移動先VM宛通信用フロー(ルール444+アクション情報445)は、各OFS4iに対応付けられてフローテーブル334に登録される。この際、移動先VM宛通信用フローの設定情報446は、「未設定」及び「無効」に設定される。
OFC3は、移動先VM宛通信用フローを生成すると、移動準備の完了を統合管理装置1に報告する(ステップS111)。
以上のように、本実施の形態における準備処理では、移動対象VMのメモリイメージの転送経路の算出及びその移動を制御するためのフローの設定と、移動先VMに対するアクセスのための通信経路の算出及びその通信を制御するためのフローの生成が行われる。第1の実施の形態では、OFS4iへのメモリイメージ転送用フローの設定と、移動先VM宛通信用フローの作成が終了した段階で、移動準備が終了する。
図11は、仮想マシンのマイグレーション処理におけるメモリイメージ転送処理の第1の実施の形態を説明するシーケンス図である。図11を参照して、移動準備完了報告を受け取った統合管理装置1は、マイグレーション指示をVM管理装置2に発行する(ステップS201)。VM管理装置2は、準備処理において指定された移動元VMM(ここでは一例としてVMM10)と移動先VMM(ここでは一例としてVMM20)に対し、マイグレーション指示を発行する(ステップS202、S203)。この際、移動対象VMをVMM10、20に通知する。尚、ステップS201におけるマイグレーション指示の際、移動元VMMと移動先VMMを指定してもよい。
VM管理装置2からのマイグレーション指示に応じてVMM10、20間において仮想マシンのメモリイメージの転送が行われる(ステップS204〜S212)。詳細には、移動先VMM(以下、移動先VMM20)においてVM管理装置2から指定されたVMが作成される(ステップS204)。移動元VMM(以下、移動元VMM10)は、移動先VMM20から通知されたVM作成完了報告に応じて移動対象VMのメモリイメージを転送する(ステップS205〜S207)。ステップS204において作成されたVM宛にメモリイメージを転送する。メモリイメージは、ステップS104〜S107で設定されたメモリイメージ転送経路を経由して転送される。この際、メモリイメージ転送経路上のOFS4iは、ステップS107で設定されたメモリイメージ転送用フローに従いメモリイメージを転送する。
メモリイメージの転送中において、移動対象VM以外の他の仮想マシンへのアクセス(例えばテータ転送)が生じた場合、当該アクセスに係るOFS4iは、自身のフローテーブル343に設定されたフローに従って、受信パケットのヘッダ情報に対応するアクション(例えばデータの中継処理)を実行する。ここで、メモリイメージ転送経路をマイグレーションに関係のない他の仮想マシンへのアクセスを妨げないような経路に設定することで、他の仮想マシンへの通信を妨げることなく移動対象VMを移動することが可能となる。
一方、メモリイメージの転送中において、移動対象VM宛へのアクセスが生じた場合(例えば、移動対象VM宛のデータが転送された場合)、移動対象VMへの通信経路上のOFS4iは、自身のフローテーブル343に設定されたフローに従って、受信パケットのヘッダ情報に対応するアクション(例えばデータの中継処理)を実行する。ここでは、移動対象VMがVMM10上で動作しているものとしてフローが設定されているため、移動対象VM宛のデータは、物理サーバ5上の移動対象VMに転送される。移動元VMM10は、転送された移動対象VM宛のデータを移動対象VMのメモリページに記録する。
メモリイメージの転送中においても、移動対象VMのプロセス処理や、移動対象VM宛に転送されるデータによってメモリページが変更される場合がある。変更されたメモリページは、コピー対象として記憶装置の変更ページ記録領域に記録される(ステップS208)。変更ページの記録処理は、移動先VMが稼動を開始するまで行われることが好ましい。
移動対象VMに関連する全てのメモリイメージの転送が終了すると、移動元VMM10は、変更ページを、ステップS104〜S107において設定されたメモリイメージ転送用経路を介して移動先VMM20に転送する(ステップS209)。ただし、移動対象VMに関連する全てのメモリイメージの転送が終了したときに記録されている変更ページの数が、所定の数以下の場合、ステップS209に変更ページの転送処理は省略されることが好ましい。又、ステップS209の変更ページの転送処理の間にも、メモリページが変更される場合がある。このため、ステップS209では、移動元VMM10は、変更ページ記録領域中の変更ページを更に別の領域に記録し、当該変更ページ記録領域をクリアしてから変更ページを移動先VMM20に転送する。
移動対象VMに関連する全てのメモリイメージの転送(変更ページの転送も含む)が終了すると、移動元VMM10上で動作する移動対象VM(以下、移動元VMと称す)の動作を停止する(ステップS210)。この際、移動元VMの仮想の練ってワークインタフェースも停止する。尚、移動元VMM10は、ステップS209において変更ページの転送と変更ページの記録を繰り返し、変更ページの数が所定の数以下となったとき移動元VMを停止することが好ましい。移動元VMの停止後、移動元VMM10は、変更ページを、ステップS104〜S107において設定されたメモリイメージ転送用経路を介して移動先VMM20に転送する(ステップS211)。これによって、移動元VMM10から移動先VMMへのメモリイメージの転送が完了する。ここで、移動先VMM20上で作成されたVM(以下、移動先VMと称す)が稼動し始めても良いが、移動元VMと移動先VMのメモリイメージの一致判定が行われることが好ましい。詳細には、移動元VMの停止を確認した移動元VMM10は、転送確認指示を移動先VMM20に発行する(ステップS212)。移動先VMM20は、転送確認指示に応じて移動先VMのメモリイメージを、ステップS104〜S107において設定されたメモリイメージ転送用経路を介して移動元VMM10に転送する(ステップS213)。移動元VMM10は、移動先VMM20から転送されたメモリイメージと移動元VMのメモリイメージとが一致するか否かを判定する(ステップSS214)。
ステップS216において、移動先VMと移動元VMのメモリイメージの一致が確認されると、移動元VMM10から移動先VMM20に対して一致確認完了報告が通知される(ステップS215)。一致確認完了報告を受けた移動先VMM20は、移動先VMを稼動させる(ステップS216)。この際、移動先VMの仮想のネットワークインタフェースも稼動状態となる。
一方、ステップS216において、移動先VMと移動元VMのメモリイメージが一致しない場合、一致しないメモリページの転送処理が行われる(図示なし)。
以上のように、統合管理装置1によって指定された経路(メモリイメージ転送用経路)を利用してVMのメモリイメージの転送が行われる。この際、移動元VMへのアクセスは、OFS群4に移動前に設定されていたフローに従って行われる。このため、移動元VMに対する通信を中断することなく当該VMのメモリイメージを転送することができる。又、メモリイメージ転送用経路は、統合管理装置1によって任意に設定することが可能であるため、他の仮想マシンに対する通信を阻害することのない経路を選定することができる。これにより、他の仮想マシンに対する通信に影響しないメモリイメージの転送が可能となる。
通常、物理サーバが同一サブネットに属する場合、レイヤ2のスイッチを介して物理サーバ間のデータ転送が行われるが、物理サーバが、異なるサブネットに属する場合、物理サーバ間にレイヤ3スイッチを用意する必要がある。一方、本発明ではレイヤ1からレイヤ4のアドレスや識別子の組み合わせによってアクション(例えば中継動作)が決まるオープンフロー技術を利用してメモリイメージの転送を行っている。このため、物理サーバ5、6が異なるサブネットに属する場合でも、フローの設定を変更するだけで物理サーバ間のデータ転送が可能となる。
図12は、仮想マシンのマイグレーション処理におけるアクセス先切り替え処理の第1の実施の形態を説明するシーケンス図である。ここでは、ステップS218において稼動した移動先VMをVM20mとして、移動元VMから移動先VM20mへのアクセス先の切替動作を説明する。図12を参照して、移動先VMM20上で作成されたVM20mは、稼動状態となると、先ずRARP(Reverse Address Resolution Protocol)送信する(ステップS301)。RARPは、仮想スイッチ21によって検出され、OFS4iに転送される。RARPを検出したOFS4iは、検出したRARPをOFC3に通知する(ステップS302)。詳細には、稼動状態となった移動先のVMからのRARP送信によるパケットデータを受信したOFS4iは、当該パケットデータに適合するフロー(ルール)が設定されていないことから、ファーストパケットを受信したことをOFC3に通知する。この際、当該パケットデータ又はパケットデータに含まれるMACアドレスをOFC3に通知する。OFC3は通知されたMACアドレスに対応する通信経路を移動先VM宛通信経路として選択し、選択した移動先VM宛通信経路上のスイッチに設定する移動先VM宛通信用フローを選択する。ここでは、OFS4iからRARPのパケットデータが転送され、OFC3は、RARP送信したVM20mのMACアドレスを取得する。
OFC3は、保持している有効な通信経路情報336のうち、ステップS302で通知されたRARP(MACアドレス)に該当する通信経路(通信経路情報336)を選択する(S303)。ここでは、ステップS109で算出された移動先VM宛通信経路の中からRARP(MACアドレス)を通過する通信経路が選択される。続いてOFC3は、ステップS110で生成された移動先VM宛通信用フローを、選択された通信経路上のOFS4iやノードに設定する(ステップS304〜S307)。詳細には、OFC3は、通信経路情報336及びトポロジ情報335から、選択された移動先VM宛通信経路上のノード及びOFS4iを抽出し、それぞれに対応する移動先VM宛通信用フローを選択する(ステップS304)。そして、OFS4i毎に選択した移動先VM宛通信用フローの設定指示を発行する(ステップS305)。OFS4iは、移動先VM宛通信用フローの設定指示に応じて、送信された移動先VM宛通信用フローを自身のフローテーブル343に設定する(ステップS306)。フローの設定が終了したOFS4iはフロー設定完了報告をOFC3に通知する(ステップS307)。OFS4iに設定された移動先VM宛通信用フローの設定情報446は、「設定済み」及び「有効」に設定される。
OFC3は、移動先VM宛通信経路上のノード及びOFS4iに移動先VM宛通信用フローを設定し、その設定完了を確認すると、トポロジ情報335を用いて移動先VMと仮想スイッチ21との間を接続するためのフローを生成する(ステップS308)。OFC3は、生成したフローを仮想スイッチ21に設定する(ステップS309、S310)。詳細には、OFC3はステップS308で生成したフローの設定指示を仮想スイッチ21に対して発行する(ステップS309)。仮想スイッチ21は、フローの設定指示に応じて、OFC3から送信されたフローを自身のフローテーブル343に設定する(ステップS310)。フローの設定が終了した仮想スイッチ21はフロー設定完了報告をOFC3に通知する(ステップS311)。仮想スイッチ21に設定された移動先VM宛通信用フローの設定情報446は、「設定済み」及び「有効」に設定される。
OFC3は、移動先VM20mと仮想スイッチ21との間を接続するフローの設定完了を確認すると、移動元VM宛のフローを選択し、当該フローの削除指示を発行する(ステップS312、S313)。該当するOFS4iやノードは、移動元VM宛のフローを削除又は使用不可に設定する(ステップS314)。フローの削除が終了したOFS4iやノードはフロー削除完了報告をOFC3に通知する(ステップS315)。移動元VM宛の通信経路上のOFS4iやノードにおける移動元VM宛のフローの削除を確認すると、OFC3は、移動先VM宛通信用フローを現在使用するフローとして設定し、移動元VM宛通信用フローを使用しないフローとして設定する(ステップS316)。ここでは、各フロー(ルール444+アクション情報445)に対応する設定情報446に使用又は不使用(有効又は無効)のどちらかを示す情報が設定される。この際、使用しない移動元VM宛通信用フローはフローテーブル334から削除されても良い。しかし、使用しないフローを削除せず、設定情報446の変更によってフローの使用、不使用(有効又は無効)を設定することで、移動した仮想マシンを元の物理サーバ又はVMMに移動する場合等において、再度フローを作成せずにフローの設定が可能となる。
以降、移動先VM20m宛の通信は、各OFS4iに設定された移動先VM宛通信用フローに従って、物理サーバ6(VMM20)上で動作するVMM20に対して実行される。
以上のように、本発明によるマイグレーション方法によれば、仮想マシンへの通信を中断させることなく、当該仮想マシンのマイグレーションが可能となる。本実施の形態では、異なる物理サーバ間のマイグレーションを一例として説明したが、同一物理サーバ内でのマイグレーションも同様な方法により実現できる。
又、本発明によれば、メモリイメージの転送のための設定や、移動先VMへの通信のための設定を統合管理装置1によって一元的に実施できる。すなわち、仮想マシンのマイグレーションを1つの管理部門によって制御することが可能となる。従って、本発明によれば、従来、ネットワーク管理者やIT管理者によって別々に管理されていたコンピュータシステムを、1つの管理部門によって管理及び運営することが可能となる。
尚、仮想スイッチ21が通常のスイッチング(レイヤ2)動作を行う仮想スイッチである場合、ステップS308〜S311の処理は省略される。
2.第2の実施の形態
次に、図11、図13及び図14を参照して、本発明によるコンピュータシステムにおける仮想マシンのマイグレーション方法の第2の実施の形態を説明する。第2の実施の形態におけるコンピュータ装置の構成は、第1の実施の形態と同様であるので、その説明は省略する。以下では、第1の実施の形態と異なる動作について説明する。又、第1の実施の形態と同様な動作には同じ符号を付して説明する。
第2の実施の形態における仮想マシンのマイグレーション方法では、移動準備処理の段階においてOFS4iに移動先VM宛通信用フローが設定される。これにより、移動対象VM宛のパケットデータはduplicateされて移動元VM及び移動先VMの両方に転送される。第1の実施の形態では、移動対象VMのメモリイメージの転送後に移動先VM宛通信用フローが設定されるため、移動対象VMの停止からから移動先VM宛通信用フローの設定(移動対象VMに対するアクセス先の切替)までの期間は、パケットロスが発生する場合がある。しかし、第2の実施の形態では、移動準備の段階で移動元VM宛のフローと移動先VM宛のフローの両方が設定されるため、移動先VMへのアクセス先を切り替える際のパケットロスの発生を防ぐことができる。
図13は、仮想マシンのマイグレーション処理における準備処理の第2の実施の形態を説明するシーケンス図である。図13を参照して、第2の実施の形態における準備処理では、先ずステップS101〜S110の処理が第1の実施の形態と同様に行われる。第2の実施の形態では、OFC3は、移動先VM宛通信用フローを移動準備段階で各OFS4iに設定する(ステップS401〜S403)。詳細には、OFC3は、通信経路情報336及びトポロジ情報335から、選択された移動先VM宛通信経路上のノード及びOFS4iを抽出し、それぞれに対応する移動先VM宛通信用フローを選択する。そして、OFS4i毎に選択した移動先VM宛通信用フローの設定指示を発行する(ステップS401)。OFS4iは、移動先VM宛通信用フローの設定指示に応じて、送信された移動先VM宛通信用フローを自身のフローテーブル343に設定する(ステップS402)。フローの設定が終了したOFS4iはフロー設定完了報告をOFC3に通知する(ステップS403)。OFS4iに設定された移動先VM宛通信用フローの設定情報446は、「設定済み」及び「有効」に設定される。
OFC3は、移動先VM宛通信用フローの設定が完了すると、移動準備の完了を統合管理装置1に報告する(ステップS405)。
以上のように、本実施の形態における準備処理では、移動対象VMのメモリイメージの転送経路及びその移動を制御するためのフローの設定と、移動先VMに対するアクセスのための通信経路及びその通信を制御するためのフローの設定が行われる。第2の実施の形態では、OFS4iへのメモリイメージ転送用フロー及び移動先VM宛通信用フローの設定が終了した段階で、移動準備が終了する。
図11を参照して、第2の実施の形態におけるイメージ転送処理では、先ずステップS201〜S207の処理(メモリイメージの転送処理)が、第1の実施の形態と同様に行われる。メモリイメージの転送中において、移動対象VM以外の他の仮想マシンへのアクセス(例えばテータ転送)が生じた場合、当該アクセスに係るOFS4iは、自身のフローテーブル343に設定されたフローに従って、受信パケットのヘッダ情報に対応するアクション(例えばデータの中継処理)を実行する。ここで、メモリイメージ転送経路をマイグレーションに関係のない他の仮想マシンへのアクセスを妨げないような経路に設定することで、他の仮想マシンへの通信を妨げることなく移動対象VMを移動することが可能となる。
一方、メモリイメージの転送中において、移動対象VM宛へのアクセスが生じた場合(例えば、移動対象VM宛のデータが転送された場合)、移動対象VMへの通信経路上のOFS4iは、自身のフローテーブル343に設定されたフローに従って、受信パケットのヘッダ情報に対応するアクション(例えばデータの中継処理)を実行する。本実施の形態では、移動対象VMがVMM10及びVMM20上で動作しているものとしてフローが設定されているため、移動対象VM宛のデータはコピーされて、物理サーバ5上の移動対象VM(移動元VM)と物理サーバ6上に生成された移動先VMの両方に転送される。移動元VMM10は、転送された移動対象VM宛のデータを移動対象VMのメモリページに記録する。この際、移動先VMM20においても、転送された移動対象VM宛のデータは移動先VMのメモリページに記録される。
メモリイメージの転送中においても、移動対象VMのプロセス処理や、移動対象VM宛に転送されるデータによってメモリページが変更される場合がある。変更されたメモリページは、コピー対象として記憶装置の変更ページ記録領域に記録される(ステップS208)。変更ページの記録処理は、移動先VMが稼動を開始するまで行われることが好ましい。
以降、変更ページの記録(ステップS208)から移動先VMの稼動(ステップS216)まで、第1の実施の形態と同様の処理が行われる。
以上のように、第2の実施の形態におけるマイグレーション方法は、第1の実施の形態と同様に統合管理装置1によって指定された経路(メモリイメージ転送用経路)を利用してVMのメモリイメージの転送が行われる。この際、移動元VMへのアクセスは、OFS群4に移動前に設定されていたフローに従って行われるため、移動元VMに対する通信を中断することなく当該VMのメモリイメージを転送することができる。又、メモリイメージ転送用経路は、統合管理装置1によって任意に設定することが可能であるため、他の仮想マシンに対する通信を阻害することのない経路を選定することができる。これにより、他の仮想マシンに対する通信に影響しないメモリイメージの転送が可能となる。
図14は、仮想マシンのマイグレーション処理におけるアクセス先切り替え処理の第2の実施の形態を説明するシーケンス図である。図14を参照して、第2の実施の形態におけるアクセス先切り替え処理では、先ずステップS301〜S301の通信路選択処理が、第1の実施の形態と同様に行われる。続いて、第1の実施の形態で行われるOFS4iへの移動先VM宛通信用フローの設定処理(ステップS304〜S307)は、移動準備処理において実行されるため、ここでは省略される。
以降、移動先VMと仮想スイッチ21との間を接続するためのフローの生成処理(ステップS308)からフロー設定処理(ステップS316)まで、第1の実施の形態と同様の処理が行われる。
以上のように、第2の実施の形態では、準備処理の段階で、移動元VM宛のフローと移動先VM宛のフローの両方が設定される。このため、ステップS213における移動元VMの停止からステップS316におけるフロー設定までの間において、移動対象VM宛に転送されたデータは破棄されることなく移動先VMに到達する。このように、本実施の形態におけるコンピュータシステムでは、仮想マシンのマイグレーション中におけるパケットロスを防止することができる。又、外部ネットワーク8側から仮想マシンのマイグレーションが意識されることはない。
更に、本実施の形態では、VMの移動後の新規通信経路(移動先VM宛通信経路)に対応するフロー(移動先VM宛通信用フロー)を、移動準備処理の段階において設定している。このため、本実施の形態における新規通信経路を確立する時間は、VMの移動を検出してから新規通信経路を確立する第1の実施の形態に比べて短縮される。
3.第3の実施の形態
次に、図15及び図16を参照して、本発明によるコンピュータシステムにおける仮想マシンのマイグレーション方法の第3の実施の形態を説明する。図15は、本発明によるコンピュータシステムの第3の実施の形態における構成を示す図である。図15を参照して、第3の実施の形態におけるコンピュータ装置の構成は、第1の実施の形態におけるコンピュータシステムから統合管理装置1を除いた構成である。以下では、第1の実施の形態と異なる動作について説明する。又、第1の実施の形態と同様な動作には同じ符号を付して説明する。
第3の実施の形態における仮想マシンのマイグレーション方法では、VM管理装置2のみにVMマイグレーションのための設定をし、OFC3は、仮想マシンの移動先を検出してデータの転送先を変更するフロー設定を実行する。このため、第3の実施の形態では、統合管理装置1によるVM管理装置2及びOFC3の制御が行われない。すなわち、第3の実施の形態では、VM管理装置2とOFC3との連携は行われない。従って、第3の実施の形態における仮想マシンのマイグレーション方法では、第1、第2の実施の形態のような移動準備処理は行われない。
メモリイメージの転送処理に先立ち、管理者は、図示しない入力装置を操作して、VMマイグレーションをVM管理装置2に指示する。この際、移動対象VMが動作する物理サーバ(又は仮想マシンモニタ)、移動対象VM、及び移動先となる物理サーバ(又は仮想マシンモニタ)が指定される。第1及び第2の実施の形態とは異なり、管理者による操作(指示)に応じてVM管理装置2は、VMM10、20にマイグレーション指示を発行する。以降、従来技術と同様に、移動対象VMのメモリイメージの転送処理が行われる。すなわち、移動先VMMにおけるVMの作成及び移動対象VMのメモリイメージの移動先VMへの転送処理が行われる。この際、転送中に変更されたメモリページの記録、変更等も従来と同様な方法で行われる。メモリイメージの転送が完了時において、メモリイメージの転送中に変更されたメモリページ数が所定の数以下である場合は、移動元VMと移動先VMのメモリイメージの一致判定が行われ、一致した場合、移動元VMは停止し、移動先VMは稼動状態となる。一方、変更されたメモリページ数が所定の数より多い場合、変更ページ数が所定の数以下になるまで変更ページの再送が行われる。
図16は、仮想マシンのマイグレーション処理におけるアクセス先切り替え処理の第3の実施の形態を説明するシーケンス図である。ここでは、稼動した移動先VMをVM20mとして、移動元VMから移動先VM20mへのアクセス先の切替動作を説明する。図16を参照して、移動先VMM20上で作成されたVM20mは、稼動状態となると、先ずRARP(Reverse Address Resolution Protocol)送信する(ステップS501)。RARPは、仮想スイッチ21によって検出され、OFS4iに転送される。RARPを検出したOFS4iは、検出したRARPをOFC3に通知する(ステップS502)。詳細には、稼動状態となった移動先のVMからのRARP送信によるパケットデータを受信したOFS4iは、当該パケットデータに適合するフロー(ルール)が設定されていないことから、ファーストパケットを受信したことをOFC3に通知する。この際、当該パケットデータ又はパケットデータに含まれるMACアドレスをOFC3に通知する。OFC3は通知されたMACアドレスに対応する通信経路を移動先VM宛通信経路として選択し、移動先VM宛通信用フローを生成する。ここでは、OFS4iからRARPのパケットデータが転送され、OFC3は、RARP送信したVM20mのMACアドレスを取得する。
OFC3は、仮想スイッチ21(又はOFS4i)からのRARP通知に基づいて、稼動を開始した仮想マシン(移動先VM20m)の接続先の変更を検出する(ステップS503)。詳細には、OFC3は、保持している有効な通信経路情報336のうち、ステップS502で通知されたRARPに該当する通信経路(通信経路情報336)を検索(抽出)する。具体的には、OFC3は、通知されたRARPに含まれるMACアドレスを端点とする通信経路(通信経路情報336)を抽出する。そして、OFC3は、検索(抽出)された通信経路上の端点であるVM(又は物理サーバ)の接続先と、RARP送信を受信した仮想スイッチ21(又はOFS4i)とが異なることを検出する。これにより、OFC3は、稼動状態となった仮想マシン(移動先VM20m)の接続先が変更されたことを検出することができる。尚、物理サーバ5、6が同一のOFS4iに接続されている場合も、OFS4iが接続されたポートは物理サーバ毎に異なる。このため、OFC3において検索(抽出)された通信経路上の端点である物理サーバの接続先ポートと、RARP送信を受信したスイッチの接続先ポートとが異なることを検出することで、仮想マシンの移動を検出することができる。
OFC3は、移動先VM20mの接続先の変更を検出すると、移動元VMに関連した通信経路を、移動先VM20mに再現する(ステップS504〜S516)。詳細には、OFC3は、ステップS503において検索した通信経路におけるVMと異なる側の端点と、ステップS502においてRARP送信を検出した端点と間の通信経路(移動先VM宛通信経路)を、トポロジ情報335を用いて算出する(ステップS504)。算出された移動先VM宛通信経路に関する情報は通信経路情報336として記録される。OFC3は、ステップS504で算出した移動先VM宛通信経路上にある各OFS4iに設定すべきフロー(移動先VM宛通信用フロー)を生成する(ステップS505)。OFS4i毎に生成された移動先VM宛通信用フロー(ルール444+アクション情報445)は、各OFS4iに対応付けられてフローテーブル334に登録される。この際、移動先VM宛通信用フローの設定情報446は、「未設定」及び「無効」に設定される。
続いてOFC3は、ステップS505で生成された移動先VM宛通信用フローを、ステップS504において算出された通信経路上のOFS4iや仮想スイッチ21に設定する(ステップS506〜S511)。詳細には、OFC3は、通信経路情報336及びトポロジ情報335から、算出された移動先VM宛通信経路上のOFS4iや仮想スイッチ21を抽出し、それぞれに対応する移動先VM宛通信用フローの設定指示を、OFS4iや仮想スイッチ21に発行する(ステップS506、S507)。OFS4iや仮想スイッチ21は、移動先VM宛通信用フローの設定指示に応じて、送信された移動先VM宛通信用フローを自身のフローテーブル343に設定する(ステップS508、S510)。そして、フローの設定が終了したOFS4iや仮想スイッチ21はフロー設定完了報告をOFC3に通知する(ステップS509、S511)。OFS4iや仮想スイッチ21に設定された移動先VM宛通信用フローの設定情報446は、「設定済み」及び「有効」に設定される。
OFC3は、OFS4i及び仮想スイッチ21に対する移動先VM宛通信用フローの設定完了を確認すると、移動元VM宛のフローを選択し、当該フローの削除指示を発行する(ステップS512、S513)。該当するOFS4iや仮想スイッチ21は、移動元VM宛のフローを削除又は使用不可に設定する(ステップS514)。フローの削除が終了したOFS4iや仮想スイッチ21はフロー削除完了報告をOFC3に通知する(ステップS515)。移動元VM宛の通信経路上のOFS4iやノードにおける移動元VM宛のフローの削除を確認すると、OFC3は、移動先VM宛通信用フローを現在使用するフローとして設定し、移動元VM宛通信用フローを使用しないフローとして設定する(ステップS516)。ここでは、各フロー(ルール444+アクション情報445)に対応する設定情報446に使用又は不使用のどちらかを示す情報が設定される。この際、使用しない移動元VM宛通信用フローはフローテーブル334から削除されても良い。しかし、使用しないフローを削除せず、設定情報446の変更によってフローの使用、不使用を設定することで、移動した仮想マシンを元の物理サーバ又はVMMに移動する場合等において、再度フローを作成せずにフローの設定が可能となる。
以上のように、第3の実施の形態では、OFC3によるメモリページの転送経路の制御はできないが、VM管理装置2のみに移動対象VMと移動先VMMを設定するだけで、仮想マシンの移動と、移動先VMへのアクセス先の変更を制御することができる。すなわち、第3の実施の形態におけるコンピュータシステムにおいても、VMマイグレーションを1つの管理部門によって一元的に制御することが可能となる。
上述の第3の実施の形態では、RARP送信に応じて移動先VM宛の通信経路の算出及びフローが生成されたが、VMM間の通信状況に応じて通信経路の算出及びフローの生成が行われても良い。この場合、OFC3は、VMM間の通信を監視し、メモリページの転送開始に応じて有効となる移動先VM宛通信経路を算出し、各OFS4i及び仮想スイッチ21に設定するフロー(ルール444+アクション情報445)を生成する。これにより、図16に示すステップS501〜S511の処理を短縮することができる。又、移動元VMの停止から移動先VM宛通信用フローの設定までの時間を短縮することができるため、この間に発生するパケットロスの量を低減することができる。
4.第4の実施の形態
図17は、第4の実施の形態におけるコンピュータシステムの構成を示す図である。第4の実施の形態におけるコンピュータシステムは、第1、第2の実施の形態におけるコンピュータシステムに加えて、外部ネットワーク8とOFS群4との間に設けられたロードバランサ9を更に備える。
ロードバランサ9は、物理サーバ5、6におけるVMM101〜10n、201〜20mに対する負荷分散を行う。第4の実施の形態におけるコンピュータシステムでは、第1から第3の実施の形態のいずれかと同様にVMマイグレーションが行われる。ただし、第4の実施の形態では、統合管理装置1又はVM管理装置2は、VMマイグレーションの実行指示を行う段階においてロードバランサ9に対し、移動元VMに対する処理(アクセス)が発生しないように指示する。これにより、変更ページの記録及び転送が省略、又は、その処理量が低減されるため、VMマイグレーションの時間が短縮される。又、移動対象VMのメモリページの転送の間、移動元VMに対する負荷が減少する。
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。例えば、第1、第2、第4の実施の形態におけるVMマイグレーション方法において、メモリイメージ転送経路のQoS(Quality of Service)を他の通信よりも高優先度に設定してもよい。これにより、VMマイグレーションに要する時間を短縮することができる。あるいは、メモリイメージ転送経路のQoSを他の通信よりも低優先度に設定してもよい。この場合、VMマイグレーションが他の通信に与える影響を軽減することができる。更に、第1、第2、第4の実施の形態におけるVMマイグレーションの事前準備(移動準備処理)のうち、移動先VM宛通信経路の算出及び移動先VM宛通信用フローの生成を、メモリイメージの転送と同時並行的に実行してもよい。これにより、ネットワーク側から見た移動準備処理時間が短縮されるとともに、VMマイグレーションの処理時間が短縮される。
OFC3は、RARP送信によって通知されたMACアドレスを用いて、「移動先VM宛通信経路の選択」や「VMの移動先の変更の確認を確認」を行ったが、これに限らない。例えば、マイグレーション後、稼動状態となった移動先のVMによって送信されたパケットデータを受信したOFS4iは、当該パケットデータに適合するフロー(ルール)が設定されていないことから、ファーストパケットを受信したことをOFC3に通知する。この際、当該パケットデータのMACアドレスをOFC3に通知する。OFC3は通知されたMACアドレスに対応する通信経路を移動先VM宛通信経路として選択し、移動先VM宛通信用フローを生成する。あるいは、OFC3は、同様にファーストパケットの通知によって取得したMACアドレスを端点とする通信経路を抽出し、当該通信経路上の端点であるVMの接続先と、当該パケットデータを受信したスイッチとが異なることを検出することで受信の接続先の変更を確認してもよい。
1:統合管理装置
2:VM管理装置
3:オープンフローコントローラ(OFC)
4:オープンフロースイッチ群(OFS群)
4i:オープンフロースイッチ(OFS)
5、6:物理サーバ
7:記憶装置
8:外部ネットワーク
9:ロードバランサ
101〜10n、201〜20m:仮想マシン(VM)
10、20:仮想マシンモニタ(VMM)
11、21:仮想スイッチ(VSW)

Claims (17)

  1. 物理サーバ上で動作する仮想マシンの移動を、前記仮想マシンを管理する仮想マシンモニタと移動先の仮想マシンモニタとに指示するVM管理装置と、
    移動対象となる仮想マシンのメモリイメージの転送経路に応じたメモリイメージ転送用フローをスイッチに設定し、前記移動先の仮想マシンモニタ宛の通信を制御するためのフローである移動先VM宛通信用フローを生成するコントローラと、
    前記メモリイメージ転送用フローに示されたルールに従うメモリイメージを、前記メモリイメージ転送用フローに示されたアクションに従って、移動先の仮想マシンに転送し、前記移動先VM宛通信用フローに示されたルールに従う前記仮想マシン宛のパケットデータを、前記移動先VM宛通信用フローに示されたアクションに従って移動先の仮想マシンに転送し、移動を完了した仮想マシンからのパケットデータが、自身に設定されたフローに示されたルールに適合しない場合、前記パケットデータに含まれる第1データを前記コントローラに通知するスイッチと
    を具備する
    コンピュータシステム。
  2. 請求項1に記載のコンピュータシステムにおいて、
    移動対象となる仮想マシン、移動元の仮想マシンモニタ、移動先となる仮想マシンモニタを指定して、前記VM管理装置及び前記コントローラに対し仮想マシンの移動を指示する統合管理装置を更に具備し、
    前記コントローラは、前記指示に応じて、指定された移動対象となる仮想マシンのメモリイメージの転送経路を算出し、前記転送経路上のスイッチに設定する前記メモリイメージ転送用フローを生成し、
    前記VM管理装置は、前記指示に応じて、指定された移動対象となる仮想マシンのメモリイメージを、前記移動先となる仮想マシンモニタ上に生成された仮想マシン宛に転送するように、前記移動元及び前記移動先の仮想マシンモニタを制御する
    コンピュータシステム。
  3. 物理サーバ上で動作する仮想マシンの移動を、前記仮想マシンを管理する仮想マシンモニタと移動先の仮想マシンモニタとに指示するVM管理装置と、
    前記移動先の仮想マシンモニタ宛の通信を制御するためのフローである移動先VM宛通信用フローを生成するコントローラと、
    前記移動先VM宛通信用フローに示されたルールに従う前記仮想マシン宛のパケットデータを、前記移動先VM宛通信用フローに示されたアクションに従って移動先の仮想マシンに転送し、移動を完了した仮想マシンからのパケットデータが、自身に設定されたフローに示されたルールに適合しない場合、前記パケットデータに含まれる第1データを前記コントローラに通知するスイッチと、
    移動対象となる仮想マシン、移動元の仮想マシンモニタ、移動先となる仮想マシンモニタを指定して、前記コントローラに対し仮想マシンの移動を指示する統合管理装置と
    を具備し、
    前記コントローラは、前記指示に応じて、記移動対象となる仮想マシンに関わる通信経路を算出し、前記通信経路上のスイッチに設定する前記移動先VM宛通信用フローを生成する
    コンピュータシステム。
  4. 請求項3に記載のコンピュータシステムにおいて、
    前記コントローラは、移動対象となる仮想マシンに関わる通信経路を選択し、当該通信経路の端点の一方を、移動対象となる仮想マシンから移動先となる仮想マシンへ変更し、移動先の仮想マシン宛の通信経路とする
    コンピュータシステム。
  5. 請求項4に記載のコンピュータシステムにおいて、
    前記コントローラは、稼動した仮想マシンからのRARP(Reverse Address Resolution Protocol)を受信したスイッチからの通知に基づいて、保持する通信経路から、前記移動先の仮想マシン宛の通信経路を選択し、前記選択された通信経路上のスイッチに設定する移動先VM宛通信用フローを、保持するフローから選択し、前記選択された通信経路上のスイッチに設定する
    コンピュータシステム。
  6. 物理サーバ上で動作する仮想マシンの移動を、前記仮想マシンを管理する仮想マシンモニタと移動先の仮想マシンモニタとに指示するVM管理装置と、
    前記移動先の仮想マシンモニタ宛の通信を制御するためのフローである移動先VM宛通信用フローを生成するコントローラと、
    前記移動先VM宛通信用フローに示されたルールに従う前記仮想マシン宛のパケットデータを、前記移動先VM宛通信用フローに示されたアクションに従って移動先の仮想マシンに転送し、移動を完了した仮想マシンからのパケットデータが、自身に設定されたフローに示されたルールに適合しない場合、前記パケットデータに含まれる第1データを前記コントローラに通知するスイッチと
    を具備し、
    前記コントローラは、稼動した仮想マシンによるRARP(Reverse Address Resolution Protocol)送信を検出したスイッチと、保持する通信経路から抽出した通信経路における端点との相違に基づいて、前記仮想マシンの接続先の変更を検出する
    コンピュータシステム。
  7. 請求項6に記載のコンピュータシステムにおいて、
    前記コントローラは、保持する通信経路から、稼動した仮想マシンによるRARP送信に含まれるMACアドレスに基づいて通信経路を抽出し、前記抽出された通信経路における仮想マシンと異なる側の端点と、前記RARP送信を検出した端点と間の通信経路を移動先の仮想マシン宛の通信経路として算出し、前記通信経路上のスイッチに設定する前記移動先VM宛通信用フローを生成する
    コンピュータシステム。
  8. 請求項1から7のいずれか1項に記載のコンピュータシステムにおいて、
    前記コントローラは、通信路を設定し、トポロジ情報を用いて前記設定された通信経路上のスイッチを特定し、前記特定されたスイッチに対応するルール及びアクションを前記特定されたスイッチに対するフローとしてフローテーブルに記録する
    コンピュータシステム。
  9. 請求項1から8のいずれか1項に記載のコンピュータシステムにおいて、
    前記ルールは、TCP/IP(Transmission Control Protocol/Internet Protocol)に従ったパケットデータのヘッダ情報に含まれる、OSI(Open Systems Interconnection)参照モデルのレイヤ1からレイヤ4のアドレスや識別子の組み合わせによって規定される
    コンピュータシステム。
  10. VM管理装置が、物理サーバ上で動作する仮想マシンの移動を、前記仮想マシンを管理する仮想マシンモニタと移動先の仮想マシンモニタとに指示するステップと、
    コントローラが、移動対象となる仮想マシンのメモリイメージの転送経路に応じたメモリイメージ転送用フローをスイッチに設定するステップと、
    前記スイッチが、前記メモリイメージ転送用フローに示されたルールに従うメモリイメージを、前記メモリイメージ転送用フローに示されたアクションに従って移動先の仮想マシンに転送するステップと
    前記コントローラが、前記移動先の仮想マシンモニタ宛の通信を制御するためのフローである移動先VM宛通信用フローを生成するステップと、
    前記スイッチが、前記移動先VM宛通信用フローに示されたルールに従う前記仮想マシン宛のパケットデータを、前記移動先VM宛通信用フローに示されたアクションに従って移動先の仮想マシンに転送するステップと、
    移動を完了した仮想マシンから受信したパケットデータが、前記スイッチに設定されたフローに示されたルールに適合しない場合、前記スイッチが前記パケットデータに含まれる第1データを前記コントローラに通知するステップと
    を具備する
    仮想マシンのマイグレーション方法。
  11. 請求項10に記載の仮想マシンのマイグレーション方法において、
    統合管理装置が、移動対象となる仮想マシン、移動元の仮想マシンモニタ、移動先となる仮想マシンモニタを指定して、前記VM管理装置及び前記コントローラに対し仮想マシンの移動を指示するステップと、
    記VM管理装置が、前記統合管理装置からの前記指示に応じて、指定された移動対象となる仮想マシンのメモリイメージを、前記移動先となる仮想マシンモニタ上に生成された仮想マシン宛に転送するように、前記移動元及び前記移動先の仮想マシンモニタを制御するステップと
    を更に具備し、
    前記VM管理装置が仮想マシンの移動を指示するステップは、前記統合管理装置からの前記指示に応じて行われ、
    前記コントローラがメモリイメージ転送用フローをスイッチに設定するステップは、
    前記統合管理装置からの前記指示に応じて行われ、
    前記コントローラが、前記指示に応じて、指定された移動対象となる仮想マシンのメモリイメージの転送経路を算出するステップと、
    前記コントローラが、前記転送経路上のスイッチに設定する前記メモリイメージの転送用フローを生成するステップを備える
    仮想マシンのマイグレーション方法。
  12. VM管理装置が、物理サーバ上で動作する仮想マシンの移動を、前記仮想マシンを管理する仮想マシンモニタと移動先の仮想マシンモニタとに指示するステップと、
    統合管理装置が、移動対象となる仮想マシン、移動元の仮想マシンモニタ、移動先となる仮想マシンモニタを指定して、コントローラに対し仮想マシンの移動を指示するステップと、
    前記コントローラが、前記指示に応じて、前記移動元の仮想マシンモニタと前記移動先の仮想マシンモニタとの間で前記移動対象となる仮想マシンのメモリイメージを転送するための通信経路を算出するステップと、
    前記コントローラが、前記通信経路上のスイッチに設定する移動先VM宛通信用フローを生成するステップと、
    移動先VM宛通信用フローは、前記移動先の仮想マシンモニタ宛の通信を制御するためのフローであり、
    前記スイッチが、前記移動先VM宛通信用フローに示されたルールに従う前記仮想マシン宛のパケットデータを、前記移動先VM宛通信用フローに示されたアクションに従って移動先の仮想マシンに転送するステップと、
    移動を完了した仮想マシンからのパケットデータが、自身に設定されたフローに示されたルールに適合しない場合、前記スイッチが前記パケットデータに含まれる第1データを前記コントローラに通知するステップと
    を具備する
    仮想マシンのマイグレーション方法。
  13. 請求項12に記載の仮想マシンのマイグレーション方法において、
    前記移動先の仮想マシン宛の通信経路を算出するステップは、
    前記コントローラが、移動対象となる仮想マシンに関わる通信経路を選択するステップと、
    前記コントローラが、前記選択された通信経路の端点の一方を、移動対象となる仮想マシンから移動先となる仮想マシンへ変更し、移動先の仮想マシン宛の通信経路とするステップと
    を備える
    仮想マシンのマイグレーション方法。
  14. 請求項13に記載の仮想マシンのマイグレーション方法において、
    前記コントローラが、移動対象となる仮想マシンに関わる通信経路を選択するステップは、
    前記コントローラが、稼動した仮想マシンからのRARP(Reverse Address Resolution Protocol)送信を受信したスイッチからの通知に基づいて、保持する通信経路から、前記移動先の仮想マシン宛の通信経路を選択するステップを備え、
    前記コントローラが、前記通信経路上のスイッチに設定する移動先VM宛通信用フローを生成するステップは、
    前記コントローラが、前記選択された通信経路上のスイッチに設定する移動先VM宛通信用フローを保持するフローから選択するステップを備え、
    前記スイッチが、前記移動先VM宛通信用フローに示されたアクションに従って移動先の仮想マシンに転送するステップは、
    前記コントローラが、前記選択された通信経路上のスイッチに前記選択した移動先VM宛通信用フローを設定するステップと
    前記スイッチが、前記設定された移動先VM宛通信用フローに示されたアクションに従って移動先の仮想マシンに転送するステップと
    を備える
    仮想マシンのマイグレーション方法。
  15. VM管理装置が、物理サーバ上で動作する仮想マシンの移動を、前記仮想マシンを管理する仮想マシンモニタと移動先の仮想マシンモニタとに指示するステップと、
    コントローラが、前記移動先の仮想マシンモニタ宛の通信を制御するためのフローである移動先VM宛通信用フローを生成するステップと、
    イッチが、前記移動先VM宛通信用フローに示されたルールに従う前記仮想マシン宛のパケットデータを、前記移動先VM宛通信用フローに示されたアクションに従って移動先の仮想マシンに転送するステップと、
    移動を完了した仮想マシンから受信したパケットデータが、前記スイッチに設定されたフローに示されたルールに適合しない場合、前記スイッチが前記パケットデータに含まれる第1データを前記コントローラに通知するステップと、
    前記コントローラが、稼動した仮想マシンによるRARP(Reverse Address Resolution Protocol)送信を検出したスイッチと、保持する通信経路から抽出した通信経路における端点との相違に基づいて、前記仮想マシンの接続先の変更を検出するステップ
    を具備する
    仮想マシンのマイグレーション方法。
  16. 請求項15に記載の仮想マシンのマイグレーション方法において、
    前記コントローラが、移動先VM宛通信用フローを生成するステップは、
    前記コントローラが、保持する通信経路から、稼動した仮想マシンによるRARP送信に含まれるMACアドレスに基づいて通信経路を抽出するステップと、
    前記コントローラが、前記抽出された通信経路における仮想マシンと異なる側の端点と、前記RARP送信を検出した端点と間の通信経路を移動先の仮想マシン宛の通信経路として算出するステップと、
    前記コントローラが、前記通信経路上のスイッチに設定する前記移動先VM宛通信用フローを生成するステップと
    備える
    仮想マシンのマイグレーション方法。
  17. 請求項10から16のいずれか1項に記載の仮想マシンのマイグレーション方法において、
    前記ルールは、TCP/IP(Transmission Control Protocol/Internet Protocol)に従ったパケットデータのヘッダ情報に含まれる、OSI(Open Systems Interconnection)参照モデルのレイヤ1からレイヤ4のアドレスや識別子の組み合わせによって規定される
    仮想マシンのマイグレーション方法。
JP2009222857A 2009-09-28 2009-09-28 コンピュータシステム、及び仮想マシンのマイグレーション方法 Expired - Fee Related JP5446040B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2009222857A JP5446040B2 (ja) 2009-09-28 2009-09-28 コンピュータシステム、及び仮想マシンのマイグレーション方法
EP10818821.0A EP2485155A4 (en) 2009-09-28 2010-09-22 COMPUTER SYSTEM AND METHOD FOR MIGRATION OF VIRTUAL MACHINE
US13/498,581 US9323570B2 (en) 2009-09-28 2010-09-22 Computer system and migration method of virtual machine
PCT/JP2010/066444 WO2011037148A1 (ja) 2009-09-28 2010-09-22 コンピュータシステム、及び仮想マシンのマイグレーション方法
CN201080043534.2A CN102576343B (zh) 2009-09-28 2010-09-22 计算机系统和虚拟机迁移方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009222857A JP5446040B2 (ja) 2009-09-28 2009-09-28 コンピュータシステム、及び仮想マシンのマイグレーション方法

Publications (2)

Publication Number Publication Date
JP2011070549A JP2011070549A (ja) 2011-04-07
JP5446040B2 true JP5446040B2 (ja) 2014-03-19

Family

ID=43795894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009222857A Expired - Fee Related JP5446040B2 (ja) 2009-09-28 2009-09-28 コンピュータシステム、及び仮想マシンのマイグレーション方法

Country Status (5)

Country Link
US (1) US9323570B2 (ja)
EP (1) EP2485155A4 (ja)
JP (1) JP5446040B2 (ja)
CN (1) CN102576343B (ja)
WO (1) WO2011037148A1 (ja)

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5402688B2 (ja) * 2010-02-02 2014-01-29 日本電気株式会社 パケット転送システム、パケット転送システム内におけるパケット集中回避方法
US8826272B2 (en) * 2010-11-29 2014-09-02 International Business Machines Corporation Planning a reliable migration in a limited stability virtualized environment
WO2012093495A1 (ja) 2011-01-07 2012-07-12 富士通株式会社 プロファイル処理プログラム、データ中継装置およびプロファイル制御方法
US9258271B1 (en) 2011-01-13 2016-02-09 Google Inc. Network address translation for virtual machines
JP5760647B2 (ja) * 2011-04-27 2015-08-12 日本電気株式会社 仮想環境における仮想ルーティング方法及び仮想ルーティングシステム
CN102185774A (zh) * 2011-05-10 2011-09-14 中兴通讯股份有限公司 虚拟机无缝迁移的方法、管理器及系统
US8971334B2 (en) * 2011-08-02 2015-03-03 Telefonaktiebolaget L M Ericsson (Publ) Packet broadcast mechanism in a split architecture network
US9489222B2 (en) 2011-08-24 2016-11-08 Radware, Ltd. Techniques for workload balancing among a plurality of physical machines
JP5838661B2 (ja) * 2011-08-29 2016-01-06 富士通株式会社 データ処理システム、データ中継装置およびデータ中継方法
JP5776600B2 (ja) 2011-09-05 2015-09-09 富士通株式会社 データ中継装置、データ中継プログラムおよびデータ中継方法
ES2640871T3 (es) * 2011-09-21 2017-11-07 Nec Corporation Aparato de comunicación, sistema de comunicación, método de control de comunicación y programa
WO2013073448A1 (ja) * 2011-11-15 2013-05-23 独立行政法人科学技術振興機構 パケットデータ抽出装置、パケットデータ抽出装置の制御方法、制御プログラム、コンピュータ読み取り可能な記録媒体
CN102394831A (zh) * 2011-11-28 2012-03-28 杭州华三通信技术有限公司 基于虚拟机vm迁移的流量不中断方法和装置
JP5881465B2 (ja) * 2012-02-27 2016-03-09 株式会社日立製作所 管理計算機、転送経路管理方法及び計算機システム
JP5682070B2 (ja) * 2012-02-28 2015-03-11 日本電信電話株式会社 統合制御装置及び統合制御方法
CN102546351B (zh) * 2012-03-15 2014-05-14 北京邮电大学 openflow网络和现有IP网络互联的系统和方法
JP5773066B2 (ja) * 2012-03-19 2015-09-02 富士通株式会社 プログラム、管理サーバおよびパッチスケジューリング方法
ES2718652T3 (es) * 2012-03-30 2019-07-03 Nec Corp Sistema de comunicación, aparato de control, aparato de comunicación, método de control de comunicación, y programa
IN2014DN08930A (ja) 2012-04-27 2015-05-22 Nec Corp
JPWO2013179542A1 (ja) 2012-05-31 2016-01-18 日本電気株式会社 ネットワークシステム、経路制御装置、経路制御方法及びプログラム
JP5983782B2 (ja) 2012-06-12 2016-09-06 日本電気株式会社 コンピュータシステム、通信制御サーバ、通信制御方法およびプログラム
JP2014006792A (ja) * 2012-06-26 2014-01-16 Ntt Comware Corp 通信制御装置、通信制御方法、通信制御プログラム
US10387201B2 (en) * 2012-06-26 2019-08-20 Vmware, Inc. Storage performance-based virtual machine placement
JP5992245B2 (ja) * 2012-08-06 2016-09-14 日本電信電話株式会社 仮想マシンのマイグレーションシステムおよびその方法
US9036638B2 (en) 2012-08-09 2015-05-19 International Business Machines Corporation Avoiding unknown unicast floods resulting from MAC address table overflows
US9178715B2 (en) 2012-10-01 2015-11-03 International Business Machines Corporation Providing services to virtual overlay network traffic
BR112015007232A2 (pt) 2012-10-10 2017-07-04 Nec Corp nó de comunicação, sistema de comunicação, aparelho de controle, método de encaminhamento de pacote, e programa
CN103825915B (zh) * 2012-11-16 2017-08-22 中国电信股份有限公司 虚拟化环境下服务移动性管理方法及系统
CN103856417B (zh) * 2012-11-30 2018-01-23 中兴通讯股份有限公司 软件定义网络报文转发方法和系统
WO2014089799A1 (zh) * 2012-12-13 2014-06-19 华为技术有限公司 一种确定虚拟机漂移的方法和装置
CN103023615B (zh) * 2012-12-26 2015-05-20 华中科技大学 一种在OpenFlow交换机上实现网络编码的方法
CN103036653B (zh) * 2012-12-26 2015-11-18 华中科技大学 一种对OpenFlow网络进行网络编码的方法
CN103023826B (zh) * 2012-12-26 2015-06-10 华中科技大学 一种OpenFlow控制器的路由控制方法
CN103905303B (zh) * 2012-12-28 2018-02-23 中国移动通信集团公司 一种虚拟机vm跨网迁移后的数据处理方法、装置及系统
WO2014106945A1 (ja) * 2013-01-04 2014-07-10 日本電気株式会社 制御装置、通信システム、トンネルエンドポイントの制御方法及びプログラム
JP6032026B2 (ja) * 2013-01-24 2016-11-24 富士通株式会社 中継プログラム、中継方法および中継処理装置
CN103974380B (zh) * 2013-01-24 2018-05-15 新华三技术有限公司 一种终端接入位置保活的方法及装置
US9513970B2 (en) * 2013-03-01 2016-12-06 Cisco Technology, Inc. Optimizing handling of virtual machine mobility in data center environments
JP5939352B2 (ja) * 2013-03-01 2016-06-22 日本電気株式会社 ネットワークシステム、仮想マシン生成装置、プレー設定制御方法及びプログラム
US9450981B2 (en) 2013-03-14 2016-09-20 Radware, Ltd. System and method thereof for mitigating denial of service attacks in virtual networks
US9609086B2 (en) 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
US9104643B2 (en) 2013-03-15 2015-08-11 International Business Machines Corporation OpenFlow controller master-slave initialization protocol
US9407560B2 (en) 2013-03-15 2016-08-02 International Business Machines Corporation Software defined network-based load balancing for physical and virtual networks
US9444748B2 (en) 2013-03-15 2016-09-13 International Business Machines Corporation Scalable flow and congestion control with OpenFlow
US9118984B2 (en) 2013-03-15 2015-08-25 International Business Machines Corporation Control plane for integrated switch wavelength division multiplexing
US9596192B2 (en) 2013-03-15 2017-03-14 International Business Machines Corporation Reliable link layer for control links between network controllers and switches
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
WO2014143118A1 (en) 2013-03-15 2014-09-18 Hewlett-Packard Development Company, L.P. Loop-free hybrid network
JP6056578B2 (ja) * 2013-03-19 2017-01-11 富士通株式会社 仮想マシンの移動終了を検出する装置、方法、及びプログラム
JP2014186411A (ja) * 2013-03-22 2014-10-02 Fujitsu Ltd 管理装置、情報処理システム、情報処理方法、及びプログラム
WO2014157512A1 (ja) * 2013-03-29 2014-10-02 日本電気株式会社 仮想マシン提供システム、経路決定装置、経路制御方法及びプログラム
CN105519052B (zh) * 2013-05-09 2019-06-11 华为技术有限公司 报文转发方法、设备和系统
JP5911448B2 (ja) * 2013-05-10 2016-04-27 株式会社日立製作所 移行支援装置、移行支援方法およびプログラム
JP6079426B2 (ja) * 2013-05-16 2017-02-15 富士通株式会社 情報処理システム、方法、装置及びプログラム
CN104243427B (zh) * 2013-06-19 2018-04-06 日电(中国)有限公司 虚拟机在线迁移方法、数据包传输方法和设备
JP5976603B2 (ja) * 2013-07-22 2016-08-23 日本電信電話株式会社 統合制御装置および統合制御方法
US20150071091A1 (en) * 2013-09-12 2015-03-12 Alcatel-Lucent Usa Inc. Apparatus And Method For Monitoring Network Performance
CN103530167B (zh) * 2013-09-30 2017-04-05 华为技术有限公司 一种虚拟机内存数据的迁移方法及相关装置和集群系统
US9854036B2 (en) 2013-09-30 2017-12-26 Huawei Technologies Co., Ltd. Method for migrating memory data of virtual machine, and related apparatus and cluster system
CN103516802B (zh) * 2013-09-30 2017-02-08 中国科学院计算技术研究所 一种实现跨异构虚拟交换机无缝迁移的方法和装置
CN103546556B (zh) * 2013-10-22 2017-04-05 同济大学 一种在未来网络xia中虚拟机在线迁移方法
CN104601526B (zh) * 2013-10-31 2018-01-09 华为技术有限公司 一种冲突检测及解决的方法、装置
JP6160446B2 (ja) * 2013-10-31 2017-07-12 富士通株式会社 情報処理装置、情報処理システム及び情報処理方法
US9112794B2 (en) * 2013-11-05 2015-08-18 International Business Machines Corporation Dynamic multipath forwarding in software defined data center networks
JP6096647B2 (ja) * 2013-11-27 2017-03-15 日本電信電話株式会社 マネジメントシステム及び移動制御方法
US20150169345A1 (en) * 2013-12-18 2015-06-18 International Business Machines Corporation Software-defined networking (sdn) for management of traffic between virtual processors
CN104734988B (zh) * 2013-12-23 2018-10-30 杭州华为数字技术有限公司 软件定义网络中路由控制的方法和开放流控制器
CN103763121B (zh) * 2013-12-24 2018-01-09 新华三技术有限公司 一种网络配置信息快速下发的方法及装置
US9921867B2 (en) * 2013-12-30 2018-03-20 Huawei Technologies Co., Ltd. Negotiation between virtual machine and host to determine executor of packet flow control policy with reduced address space
US9934056B2 (en) * 2014-01-06 2018-04-03 Red Hat Israel, Ltd. Non-blocking unidirectional multi-queue virtual machine migration
WO2015145753A1 (ja) * 2014-03-28 2015-10-01 富士通株式会社 プログラム、管理方法およびコンピュータ
WO2015167427A2 (en) * 2014-04-28 2015-11-05 Hewlett Packard Development Company, L.P. Data distribution based on network information
JP6277853B2 (ja) * 2014-05-12 2018-02-14 富士通株式会社 制御装置、通信装置、および、通信方法
JP6318910B2 (ja) 2014-06-26 2018-05-09 富士通株式会社 管理装置,情報処理システム,プログラム
CN105245428B (zh) * 2014-07-07 2018-07-31 北京东土科技股份有限公司 一种报文处理规则的配置方法及装置
CN104184803B (zh) * 2014-08-08 2017-12-15 同济大学 基于dag的自适应完成xia网络中虚拟机在线迁移的方法
CN104486209A (zh) * 2014-12-12 2015-04-01 上海斐讯数据通信技术有限公司 一种OpenFlow协议网络的报文传输系统及方法
TW201624277A (zh) 2014-12-31 2016-07-01 萬國商業機器公司 協助虛擬機器即時遷移的方法
TWI552077B (zh) 2015-02-12 2016-10-01 國立中央大學 虛擬機器即時轉移方法
US9792138B2 (en) * 2015-02-18 2017-10-17 Red Hat Israel, Ltd. Virtual machine migration to hyper visors with virtual function capability
CN107430518A (zh) * 2015-03-27 2017-12-01 英特尔公司 用于虚拟机迁移的技术
US9998356B2 (en) * 2015-07-15 2018-06-12 Cisco Technology, Inc. Synchronizing network convergence and virtual host migration
CN105227357B (zh) * 2015-09-15 2018-10-16 清华大学 虚拟机策略迁移配置方法及装置
US9965311B2 (en) * 2015-11-10 2018-05-08 Red Hat Israel, Ltd. Application of a pattern to inactive pages in guest memory
US10768959B2 (en) * 2015-11-24 2020-09-08 Red Hat Israel, Ltd. Virtual machine migration using memory page hints
WO2017092017A1 (zh) * 2015-12-03 2017-06-08 华为技术有限公司 一种虚拟机备份信息迁移方法、装置和系统
US10237239B2 (en) * 2015-12-03 2019-03-19 International Business Machines Corporation Policy-based load distribution between host-based packet processing units
CN105553746A (zh) * 2016-01-08 2016-05-04 广州西麦科技股份有限公司 一种基于sdn的配置自动迁移的系统及其方法
US11169706B2 (en) 2016-05-26 2021-11-09 Nutanix, Inc. Rebalancing storage I/O workloads by storage controller selection and redirection
JP2018137643A (ja) * 2017-02-22 2018-08-30 日本電信電話株式会社 管理装置および管理方法
US10528376B2 (en) 2017-04-20 2020-01-07 International Business Machines Corporation Virtual machine management
US10430227B2 (en) 2018-01-09 2019-10-01 Microsoft Technology Licensing, Llc Fast instantiation of virtual machines in distributed computing systems
US10664323B2 (en) * 2018-03-07 2020-05-26 Microsoft Technology Licensing, Llc Live migration of virtual machines in distributed computing systems
CN109582223B (zh) 2018-10-31 2023-07-18 华为技术有限公司 一种内存数据迁移的方法及装置
US10922142B2 (en) 2018-10-31 2021-02-16 Nutanix, Inc. Multi-stage IOPS allocation
US11321112B2 (en) * 2019-04-22 2022-05-03 International Business Machines Corporation Discovery and recreation of communication endpoints in virtual machine migration
JP7359284B2 (ja) * 2020-02-19 2023-10-11 日本電信電話株式会社 制御装置、制御方法及びプログラム
US20220237026A1 (en) * 2021-01-28 2022-07-28 Microsoft Technology Licensing, Llc Volatile memory acquisition
US11816499B2 (en) * 2021-04-23 2023-11-14 Transitional Data Services, Inc. Transition manager system
US20220014381A1 (en) * 2021-09-22 2022-01-13 Intel Corporation Message authentication code (mac) generation for live migration of encrypted virtual machiness

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3749208B2 (ja) 2002-08-14 2006-02-22 株式会社東芝 プロセスマイグレーション方法、計算機
US7478173B1 (en) * 2003-12-18 2009-01-13 Wmware, Inc. Method and system for sharing a network connection in a virtual computer system
JP4591840B2 (ja) 2004-02-26 2010-12-01 日本電気株式会社 ネットワーク間のプロセス移動方法およびそのネットワークシステム
US8799891B2 (en) * 2005-03-02 2014-08-05 Hewlett-Packard Development Company, L.P. System and method for attributing CPU usage of a virtual machine monitor to a corresponding virtual machine
US8074262B2 (en) * 2005-05-13 2011-12-06 Intel Corporation Method and apparatus for migrating virtual trusted platform modules
JP5317010B2 (ja) * 2006-11-24 2013-10-16 日本電気株式会社 仮想マシン配置システム、仮想マシン配置方法、プログラム、仮想マシン管理装置およびサーバ装置
US20080189769A1 (en) * 2007-02-01 2008-08-07 Martin Casado Secure network switching infrastructure
CN100489787C (zh) * 2007-07-10 2009-05-20 北京大学 一种虚拟机的外存在线迁移方法
US8117495B2 (en) 2007-11-26 2012-02-14 Stratus Technologies Bermuda Ltd Systems and methods of high availability cluster environment failover protection
JP2009146106A (ja) 2007-12-13 2009-07-02 Hitachi Ltd 物理的な通信ポートに付加される仮想的な通信ポートを移行する機能を有したストレージシステム
JP2009222857A (ja) 2008-03-14 2009-10-01 Seiko Epson Corp 光スキャナ装置および画像形成装置
US8032730B2 (en) * 2008-05-15 2011-10-04 Hitachi, Ltd. Method and apparatus for I/O priority control in storage systems
US8385202B2 (en) * 2008-08-27 2013-02-26 Cisco Technology, Inc. Virtual switch quality of service for virtual machines

Also Published As

Publication number Publication date
US9323570B2 (en) 2016-04-26
EP2485155A4 (en) 2014-03-05
CN102576343A (zh) 2012-07-11
WO2011037148A1 (ja) 2011-03-31
EP2485155A1 (en) 2012-08-08
CN102576343B (zh) 2015-09-16
US20120185856A1 (en) 2012-07-19
JP2011070549A (ja) 2011-04-07

Similar Documents

Publication Publication Date Title
JP5446040B2 (ja) コンピュータシステム、及び仮想マシンのマイグレーション方法
US11237858B2 (en) Software-defined data center, and deployment method for service cluster therein
US9804884B2 (en) Computer system and maintenance method of computer system
JP6327371B2 (ja) 通信システム、制御装置、通信制御方法およびプログラム
JP6365306B2 (ja) クラウド環境提供システム、サービス管理装置、経路制御方法及びプログラム
JP4231773B2 (ja) Vrの機密性を維持したvrrp技術
JP5488979B2 (ja) コンピュータシステム、コントローラ、スイッチ、及び通信方法
JP2004102374A (ja) データ移行装置を有する情報処理システム
JPWO2005083569A1 (ja) ネットワーク間のプロセス移動方法およびそのネットワークシステム
JP5904285B2 (ja) 通信システム、仮想ネットワーク管理装置、通信ノード、通信方法及びプログラム
WO2014084198A1 (ja) ストレージエリアネットワークシステム、制御装置、アクセス制御方法及びプログラム
JP5941556B2 (ja) パケット中継装置、パケット転送方法および通信システム
JP6604336B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP5670279B2 (ja) 仮想ネットワーク制御装置、仮想ネットワーク制御方法、仮想ネットワーク制御システム、及びプログラム
JP4579850B2 (ja) ブレード型システムおよびコネクション管理方法
JP4378205B2 (ja) ブレード型ネットワーク中継装置
JP6245251B2 (ja) 通信システム、物理マシン、仮想ネットワーク管理装置、および、ネットワーク制御方法
WO2014119602A1 (ja) 制御装置、スイッチ、通信システム、スイッチの制御方法及びプログラム
JP4369768B2 (ja) 経路情報登録方法およびデータ中継装置
JP2017022579A (ja) 通信システム、通信ノード、および通信システムにおける代替処理方法
JP5716107B1 (ja) ノード検出システム及び方法及び仮想ノードの機能制御装置及び方法
JP2015149530A (ja) オープンフローシステム、オープンフローコントローラ、オープンフロー管理方法およびオープンフロー管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130927

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131215

R150 Certificate of patent or registration of utility model

Ref document number: 5446040

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees