JP5965552B2 - バーチャルマシーンのホットマイグレーションを実現する方法、装置及びシステム - Google Patents

バーチャルマシーンのホットマイグレーションを実現する方法、装置及びシステム Download PDF

Info

Publication number
JP5965552B2
JP5965552B2 JP2015544320A JP2015544320A JP5965552B2 JP 5965552 B2 JP5965552 B2 JP 5965552B2 JP 2015544320 A JP2015544320 A JP 2015544320A JP 2015544320 A JP2015544320 A JP 2015544320A JP 5965552 B2 JP5965552 B2 JP 5965552B2
Authority
JP
Japan
Prior art keywords
virtual machine
temporary data
management device
migration
memory page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015544320A
Other languages
English (en)
Other versions
JP2015535636A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2015535636A publication Critical patent/JP2015535636A/ja
Application granted granted Critical
Publication of JP5965552B2 publication Critical patent/JP5965552B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本出願は、参照することによりその全体がここに援用される、“バーチャルマシーンのホットマイグレーションを実現する方法、装置及びシステム”という発明の名称である2012年11月30日に中国専利局に出願された中国特許出願第201210504276.4号に対する優先権を主張する。
本発明の実施例は、仮想化コンピュータシステムに関し、特にバーチャルマシーンのホットマイグレーションを実現する方法、装置及びシステムに関する。
バーチャルマシーン技術が、情報技術の分野に広く適用され、通信の分野に浸透している。ホットマイグレーション技術は、バーチャルマシーンのための大きな技術的ハイライトであり、バーチャルマシーンが2つの物理的マシーンの間でマイグレートすることを可能にし、このマイグレーション処理はサービス処理に対してほとんど影響を有さない。既存のバーチャルマシーンホットマイグレーション技術は、プレコピー方法を利用する。この方法では、バーチャルマシーンの全てのメモリページがまず、ソース物理的マシーンからターゲット物理的マシーンにコピーされ、全てのメモリページがコピープロセスにおいてモニタされ、コピープロセスにおいて変更されたページはダーティページとしてラベル付けされ、全てのメモリページのコピーが終了した後、生成されたダーティページがコピーされる。ダーティページコピープロセスでは、いくつかのメモリページがまた変更され、この場合、これらの変更されたメモリページはまたダーティページとしてラベル付けされる必要があり、これにより、これらのダーティページは次回のダーティページコピープロセスが実行されるとき、ソース物理的マシーンからターゲット物理的マシーンにコピー可能である。このようにして、ダーティページの比率が所定値(例えば、5%)未満になるまで、ダーティページが循環的にコピーされ、ダーティページの比率が所定値未満になった後、バーチャルマシーンのマイグレーションが実行され、すなわち、バーチャルマシーンが停止され、未コピーのダーティページがソース物理的マシーンからターゲット物理的マシーンに一度にコピーされ、それから、バーチャルマシーンがターゲット物理的マシーン上で復元される。
しかしながら、ダーティページの循環的コピープロセスでは、メモリページの1バイトが変更される限り、当該メモリページはダーティページとしてラベル付けされる。従って、システムにおける大量の変更された一時的データがターゲット物理的マシーンに循環的にコピーされ、これにより、バーチャルマシーンのホットマイグレーションに多くの時間が消費され、システムのCPU処理リソース及びネットワーク帯域幅などの大量のリソースの浪費が生じ、浪費されるリソースのパーセンテージは90%を超えると推定される。従って、バーチャルマシーンのホットマイグレーションにより生じるシステムリソースの浪費を低減するため、システムにおいて大量の一時的データの変更により生じるダーティページ循環的コピープロセスの回数と、各循環的コピープロセスにおいてコピーされるダーティページの数とをどのように減少させるかが、バーチャルマシーンホットマイグレーション技術において至急に解決されるべき問題である。
本発明の実施例は、バーチャルマシーンホットマイグレーションプロセスにおいてシステムリソースを節約するため、バーチャルマシーンのホットマイグレーションを実現する方法、装置及びシステムを提供する。
第1の態様によると、本発明の実施例は、バーチャルマシーンのホットマイグレーションを実現する方法を提供する。当該方法は、ソース物理的マシーン上のソースバーチャルマシーンマイグレーション管理装置が、前記ソース物理的マシーン上のバーチャルマシーンの非一時的データメモリページを判定するステップと、前記非一時的データメモリページを前記ソース物理的マシーンからターゲット物理的マシーンにコピーするステップと、前記非一時的データメモリページをコピーするプロセスにおいて生成されるダーティページを、前記非一時的データメモリページの数に対する未コピーのダーティページの数の比が所定値未満になるまで、前記ソース物理的マシーンから前記ターゲット物理的マシーンに循環的にコピーするステップと、前記非一時的データメモリページの数に対する前記未コピーのダーティページの数の比が前記所定値未満になると、前記バーチャルマシーンのマイグレーションを実行するステップとを有する。
第1の態様を参照して、第1の可能な実現方式では、前記バーチャルマシーンのマイグレーションを実行するステップは、前記バーチャルマシーンの実行を停止するステップと、前記バーチャルマシーン上の一時的データメモリページと前記未コピーのダーティページとを前記ソース物理的マシーンから前記ターゲット物理的マシーンにコピーするステップと、前記ターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に第1通知情報を送信するステップであって、前記第1通知情報は、前記ターゲット物理的マシーン上に前記バーチャルマシーンを復元するよう前記ターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される、送信するステップとを有する。
第1の態様を参照して、第2の可能な実現方式では、前記バーチャルマシーンのマイグレーションを実行するステップは、マイグレーション事前通知インタフェースを介し前記バーチャルマシーンに一時的データプロセスの実行を停止するよう通知するステップと、前記バーチャルマシーンにより通知された停止成功レスポンスが前記マイグレーション事前通知インタフェースを介し取得されると、前記バーチャルマシーンの実行を停止するステップであって、前記停止成功レスポンスは、前記バーチャルマシーンが前記一時的データプロセスの実行の停止に成功したことを示すのに利用される、停止するステップと、前記未コピーのダーティページを前記ソース物理的マシーンから前記ターゲット物理的マシーンにコピーするステップと、前記ターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に第1通知情報を送信するステップであって、前記第1通知情報は、前記ターゲット物理的マシーン上に前記バーチャルマシーンを復元するよう前記ターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される、送信するステップとを有する。
第1の態様の第2の可能な実現方式を参照して、第3の可能な実現方式では、当該方法は更に、前記ターゲットバーチャルマシーンマイグレーション管理装置に第2通知情報を送信するステップを有し、前記第2通知情報は、マイグレーション完了通知インタフェースを介し前記バーチャルマシーンに前記停止された一時的データプロセスを再開することを通知するよう前記ターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される。
第1の態様又は第1の態様の第1〜3の可能な実現方式の何れかの可能な実現方式を参照して、第4の可能な実現方式では、前記ソース物理的マシーン上のバーチャルマシーンの非一時的データメモリページを判定するステップは、一時的データプロセスメモリページ登録インタフェースを介し前記バーチャルマシーンにより通知された前記一時的データメモリページに関する情報を取得するステップと、前記バーチャルマシーン上の前記一時的データメモリページを除くメモリページが非一時的データメモリページであると前記一時的データメモリページに関する情報に従って判定するステップとを有する。
第2の態様によると、本発明の実施例は、バーチャルマシーンのホットマイグレーションを実現する方法を提供する。当該方法は、ソース物理的マシーン上のバーチャルマシーンが、前記バーチャルマシーンの一時的データメモリページを判定するステップと、前記ソース物理的マシーン上のソースバーチャルマシーンマイグレーション管理装置に、一時的データプロセスメモリページ登録インタフェースを介し前記一時的データメモリページに関する情報を通知するステップであって、前記ソースバーチャルマシーンマイグレーション管理装置は、前記一時的データメモリページに関する情報に従って前記バーチャルマシーンの非一時的データメモリページを判定し、前記ソース物理的マシーンからターゲット物理的マシーンへの前記バーチャルマシーンのホットマイグレーションを実行するプロセスにおいて前記非一時的データメモリページをコピーする、通知するステップとを有する。
第2の態様を参照して、第1の可能な実現方式では、前記ソース物理的マシーン上のソースバーチャルマシーンマイグレーション管理装置に、一時的データプロセスメモリページ登録インタフェースを介し前記一時的データメモリページに関する情報を通知するステップの後に、当該方法は更に、マイグレーション事前通知インタフェースを介し前記ソースバーチャルマシーンマイグレーション管理装置により通知される一時的データプロセス停止通知を取得するステップと、前記一時的データプロセス停止通知に従って、一時的データプロセスの実行を停止するステップと、前記一時的データプロセスの停止が成功すると、前記マイグレーション事前通知インタフェースを介し前記ソースバーチャルマシーンマイグレーション管理装置に停止成功レスポンスを通知するステップであって、前記ソースバーチャルマシーンマイグレーション管理装置は、前記停止成功レスポンスに従って前記バーチャルマシーンの実行を停止し、前記ターゲット物理的マシーン上で前記バーチャルマシーンを復元するよう前記ターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に指示する、通知するステップとを有する。
第2の態様の第1の可能な実現方式を参照して、第2の可能な実現方式では、当該方法は更に、前記バーチャルマシーンが前記ターゲットバーチャルマシーンマイグレーション管理装置により復元されると、前記バーチャルマシーンが、マイグレーション完了通知インタフェースを介し前記ターゲットバーチャルマシーンマイグレーション管理装置により通知された一時的データプロセス再開通知を取得するステップと、前記一時的データプロセス再開通知に従って前記停止された一時的データプロセスを再開するステップとを有する。
第2の態様を参照して、又は第2の態様の第1若しくは第2の可能な実現方式を参照して、第3の可能な実現方式では、前記一時的データメモリページを判定するステップは、一時的データプロセス登録インタフェースを介しアプリケーションにより通知された前記一時的データプロセスに関する情報を取得するステップと、前記一時的データプロセスにより占有されたメモリページが一時的データメモリページであることを前記一時的データプロセスに関する情報に従って判定するステップとを含む。
第2の態様を参照して、又は第2の態様の第1若しくは第2の可能な実現方式を参照して、第4の可能な実現方式では、前記一時的データメモリページを判定するステップは、一時的データ専用メモリブロックを判定するステップと、前記一時的データ専用メモリブロックにおける全てのメモリページが前記一時的データメモリページであると判定するステップとを含み、当該方法は更に、プロセス作成インタフェースを介しアプリケーションにより通知されたプロセスタイプを取得するステップであって、前記プロセスタイプは一時的データプロセス又は永続的データプロセスを含む、取得するステップと、前記プロセスタイプが一時的データプロセスであるとき、前記一時的データ専用メモリブロックにおけるメモリページを前記一時的データプロセスに割り当てるステップとを有する。
第3の態様によると、本発明の実施例は、バーチャルマシーンマイグレーション管理装置を提供する。当該バーチャルマシーンマイグレーション管理装置は、ソース物理的マシーン上のバーチャルマシーンの非一時的データメモリページを判定するよう構成される判定モジュールと、前記判定モジュールにより判定された非一時的データメモリページを前記ソース物理的マシーンからターゲット物理的マシーンにコピーし、前記非一時的データメモリページをコピーするプロセスにおいて生成されるダーティページを、前記非一時的データメモリページの数に対する未コピーのダーティページの数の比が所定値未満になるまで、前記ソース物理的マシーンから前記ターゲット物理的マシーンに循環的にコピーするよう構成されるコピーモジュールと、前記非一時的データメモリページの数に対する前記コピーモジュールによる前記未コピーのダーティページの数の比が前記所定値未満になると、前記バーチャルマシーンのマイグレーションを実行するよう構成されるマイグレーションモジュールとを有する。
第3の態様を参照して、第1の可能な実現方式では、前記マイグレーションモジュールは、前記バーチャルマシーンの実行を停止するよう構成される第1停止ユニットと、前記第1停止ユニットが前記バーチャルマシーンの実行を停止した後、前記バーチャルマシーン上の一時的データメモリページと、前記非一時的データメモリページをコピーするプロセスにおいて生成される残りのダーティページとを前記ソース物理的マシーンから前記ターゲット物理的マシーンにコピーするよう構成される第1コピーユニットと、前記第1コピーユニットが前記バーチャルマシーン上の前記一時的データメモリページと前記未コピーのダーティページとをコピーした後、前記ターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に第1通知情報を送信するよう構成される第1送信ユニットであって、前記第1通知情報は、前記ターゲット物理的マシーン上に前記バーチャルマシーンを復元するよう前記ターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される、第1送信ユニットとを有する。
第3の態様を参照して、第2の可能な実現方式では、前記マイグレーションモジュールは、マイグレーション事前通知インタフェースを介し前記バーチャルマシーンに一時的データプロセスの実行を停止するよう通知するよう構成される第1通知ユニットと、前記バーチャルマシーンにより通知された停止成功レスポンスを前記マイグレーション事前通知インタフェースを介し取得するよう構成される第1取得ユニットであって、前記停止成功レスポンスは、前記バーチャルマシーンが前記第1通知ユニットの通知に従って前記一時的データプロセスの実行の停止に成功したことを示すのに利用される、第1取得ユニットと、前記第1取得ユニットが前記バーチャルマシーンにより通知された前記停止成功レスポンスを取得すると、前記バーチャルマシーンの実行を停止するよう構成される第2停止ユニットと、前記第2停止ユニットが前記バーチャルマシーンの実行を停止すると、前記未コピーのダーティページを前記ソース物理的マシーンから前記ターゲット物理的マシーンにコピーするよう構成される第2コピーユニットと、前記第2コピーユニットが前記未コピーのダーティページを前記ソース物理的マシーンから前記ターゲット物理的マシーンにコピーした後、前記ターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に第1通知情報を送信するよう構成される第2送信ユニットであって、前記第1通知情報は、前記ターゲット物理的マシーン上に前記バーチャルマシーンを復元するよう前記ターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される、第2送信ユニットとを有する。
第3の態様の第2の可能な実現方式を参照して、第3の可能な実現方式では、当該バーチャルマシーンマイグレーション管理装置は更に、前記ターゲットバーチャルマシーンマイグレーション管理装置に第2通知情報を送信するよう構成される送信モジュールを有し、前記第2通知情報は、マイグレーション完了通知インタフェースを介し前記バーチャルマシーンに前記停止された一時的データプロセスを再開することを通知するよう前記ターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される、送信モジュールを有する。
第3の態様又は第3の態様の第1〜3の可能な実現方式の何れかの可能な実現方式を参照して、第4の可能な実現方式では、前記判定モジュールは、一時的データプロセスメモリページ登録インタフェースを介し前記バーチャルマシーンにより通知された前記一時的データメモリページに関する情報を取得するよう構成される取得ユニットと、前記バーチャルマシーン上の前記一時的データメモリページを除くメモリページが非一時的データメモリページであると前記取得ユニットにより取得された前記一時的データメモリページに関する情報に従って判定するよう構成される判定ユニットとを有する。
第4の態様によると、本発明の実施例は、バーチャルマシーンを提供する。当該バーチャルマシーンは、当該バーチャルマシーンの一時的データメモリページを判定するよう構成される判定モジュールと、ソース物理的マシーン上のソースバーチャルマシーンマイグレーション管理装置に、一時的データプロセスメモリページ登録インタフェースを介し前記判定モジュールにより判定された前記一時的データメモリページに関する情報を通知するよう構成される通知モジュールであって、前記ソースバーチャルマシーンマイグレーション管理装置は、前記一時的データメモリページに関する情報に従って前記バーチャルマシーンの非一時的データメモリページを判定し、前記ソース物理的マシーンからターゲット物理的マシーンへの当該バーチャルマシーンのホットマイグレーションを実行するプロセスにおいて前記非一時的データメモリページをコピーする、通知モジュールとを有する。
第4の態様を参照して、第1の可能な実現方式では、当該バーチャルマシーンは更に、前記通知モジュールが前記ソース物理的マシーン上のソースバーチャルマシーンマイグレーション管理装置に、前記一時的データプロセスメモリページ登録インタフェースを介し前記一時的データメモリページに関する情報を通知した後に、マイグレーション事前通知インタフェースを介し前記ソースバーチャルマシーンマイグレーション管理装置により通知される一時的データプロセス停止通知を取得するよう構成される第1取得モジュールと、前記第1取得モジュールにより取得された前記一時的データプロセス停止通知に従って、一時的データプロセスの実行を停止するよう構成される停止モジュールとを有し、前記通知モジュールは、前記停止モジュールが前記一時的データプロセスの実行の停止に成功すると、前記マイグレーション事前通知インタフェースを介し前記ソースバーチャルマシーンマイグレーション管理装置に停止成功レスポンスを通知するよう構成され、前記ソースバーチャルマシーンマイグレーション管理装置は、前記停止成功レスポンスに従って当該バーチャルマシーンの実行を停止し、前記ターゲット物理的マシーン上で当該バーチャルマシーンを復元するよう前記ターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に指示する。
第4の態様の第1の可能な実現方式を参照して、第2の可能な実現方式では、当該バーチャルマシーンは更に、当該バーチャルマシーンが前記ターゲットバーチャルマシーンマイグレーション管理装置により復元されると、マイグレーション完了通知インタフェースを介し前記ターゲットバーチャルマシーンマイグレーション管理装置により通知された一時的データプロセス再開通知を取得するよう構成される第2取得モジュールと、前記第2取得モジュールにより取得された前記一時的データプロセス再開通知に従って前記停止された一時的データプロセスを再開するよう構成される開始モジュールとを有する。
第4の態様を参照して、又は第4の態様の第1若しくは第2の可能な実現方式を参照して、第3の可能な実現方式では、前記判定モジュールは、一時的データプロセス登録インタフェースを介しアプリケーションにより通知された前記一時的データプロセスに関する情報を取得するよう構成される取得ユニットと、前記一時的データプロセスにより占有されたメモリページが前記一時的データメモリページであることを前記取得ユニットにより取得された前記一時的データプロセスに関する情報に従って判定するよう構成される判定ユニットとを含む。
第4の態様を参照して、又は第4の態様の第1若しくは第2の可能な実現方式を参照して、第4の可能な実現方式では、前記判定モジュールは、具体的には、一時的データ専用メモリブロックを判定し、前記一時的データ専用メモリブロックにおける全てのメモリページが一時的データメモリページであると判定するよう構成され、当該バーチャルマシーンは更に、プロセス作成インタフェースを介し前記アプリケーションにより通知されたプロセスタイプを取得するよう構成される第3取得モジュールであって、前記プロセスタイプは一時的データプロセス又は永続的データプロセスを含む、第3取得モジュールと、前記第3取得モジュールにより取得された前記プロセスタイプが一時的データプロセスであるとき、前記一時的データ専用メモリブロックにおけるメモリページを前記一時的データプロセスに割り当てるよう構成される割当てモジュールとを有する。
第5の態様によると、本発明の実施例は、バーチャルマシーンのホットマイグレーションを実現するシステムを提供する。当該システムは、第3の態様の何れか可能なバーチャルマシーンマイグレーション管理装置又は第3の態様の第1〜4の可能なバーチャルマシーンマイグレーション管理装置と、第4の態様の何れか可能なバーチャルマシーン又は第4の態様の第1〜5の可能なバーチャルマシーンとを有する。
上記の技術的方策に基づき、本発明の実施例のバーチャルマシーンのホットマイグレーションを実現する方法、装置及びシステムによると、マルチプロセスシステムにおけるプロセス及びメモリページが分類され、これにより、ダーティページの循環的コピープロセスにおいて、一時的データメモリページがコピーされず、非一時的データメモリページのみがコピーされ、これにより、バーチャルマシーンホットマイグレーションの消費時間を低減し、一時的データの変更により生じるシステムのCPU及びネットワーク帯域幅などのシステムリソースの浪費を減少し、システムリソースを節約し、ユーザ体感を向上させる。
本発明の実施例における技術的方策をより明確に説明するため、以下において、本発明の実施例又は従来技術を説明するのに必要な添付図面が簡単に紹介される。明らかに、以下の説明における添付図面は本発明の単なるいくつかの実施例を示し、当業者は、創作的な努力なく、これらの添付図面から他の図面を依然として導出してもよい。
図1Aは、本発明の実施例によるバーチャルマシーンのホットマイグレーションを実現するシステムの構成図である。 図1Bは、本発明の実施例によるバーチャルマシーンのホットマイグレーションを実現する方法の概略的なフローチャートである。 図2は、本発明の実施例によるバーチャルマシーンのホットマイグレーションを実現する方法の他の概略的なフローチャートである。 図3は、本発明の実施例によるバーチャルマシーンのホットマイグレーションを実現する方法の更なる他の概略的なフローチャートである。 図4は、本発明の実施例によるバーチャルマシーンのホットマイグレーションを実現する方法の更なる他の概略的なフローチャートである。 図5は、本発明の他の実施例によるバーチャルマシーンのホットマイグレーションを実現する方法の概略的なフローチャートである。 図6は、本発明の他の実施例によるバーチャルマシーンのホットマイグレーションを実現する方法の他の概略的なフローチャートである。 図7は、本発明の他の実施例によるバーチャルマシーンのホットマイグレーションを実現する方法の更なる他の概略的なフローチャートである。 図8は、本発明の他の実施例によるバーチャルマシーンのホットマイグレーションを実現する方法の更なる他の概略的なフローチャートである。 図9は、本発明の他の実施例によるバーチャルマシーンのホットマイグレーションを実現する方法の更なる他の概略的なフローチャートである。 図10は、本発明の実施例によるバーチャルマシーンマイグレーション管理装置の概略的なブロック図である。 図11は、本発明の実施例によるバーチャルマシーンマイグレーション管理装置のマイグレーションモジュールの概略的なブロック図である。 図12は、本発明の実施例によるバーチャルマシーンマイグレーション管理装置のマイグレーションモジュールの他の概略的なブロック図である。 図13は、本発明の実施例によるバーチャルマシーンマイグレーション管理装置の他の概略的なブロック図である。 図14は、本発明の実施例によるバーチャルマシーンマイグレーション管理装置の判定モジュールの概略的なブロック図である。 図15は、本発明の実施例によるバーチャルマシーンの概略的なブロック図である。 図16は、本発明の実施例によるバーチャルマシーンの他の概略的なブロック図である。 図17は、本発明の実施例によるバーチャルマシーンの更なる他の概略的なブロック図である。 図18は、本発明の実施例によるバーチャルマシーンの判定モジュールの概略的なブロック図である。 図19は、本発明の実施例によるバーチャルマシーンの更なる他の概略的なブロック図である。 図20は、本発明の実施例によるバーチャルマシーンのホットマイグレーションを実現するシステムの概略的なブロック図である。 図21は、本発明の他の実施例によるバーチャルマシーンマイグレーション管理装置の概略的なブロック図である。 図22は、本発明の他の実施例によるバーチャルマシーンマイグレーション管理装置の他の概略的なブロック図である。 図23は、本発明の他の実施例によるバーチャルマシーンの概略的なブロック図である。 図24は、本発明の他の実施例によるバーチャルマシーンのホットマイグレーションを実現するシステムの概略的なブロック図である。
以下において、本発明の実施例における添付図面を参照して、本発明の実施例における技術的方策が明確且つ完全に説明される。明らかに、説明される実施例は、本発明の実施例の全てでなく一部である。創作的な努力なく本発明の実施例に基づき当業者により取得される他の全ての実施例は、本発明の保護範囲内に属する。
本発明の実施例における技術的方策がvSphereソフトウェアに基づくバーチャルマシーンシステム、カーネルベースバーチャルマシーン(K Virtual Machine、略して“KVM”)やXenソフトウェアに基づくバーチャルマシーンシステムなどの各種バーチャルマシーンシステムに適用されてもよいことが理解されるべきである。また、本発明の実施例における技術的方策は、仮想化パーソナルコンピュータ(Personal Computer、略して“PC”)、仮想化コンピュータクラスタシステム、仮想化メインフレームコンピュータシステム、各種仮想化スーパーコンピュータ(Supercomputer)などを含む各種仮想化コンピュータシステムに適用されてもよいことが理解されるべきである。
図1Aは、本発明の実施例によるバーチャルマシーンのホットマイグレーションを実現するシステムの構成図である。ソース物理的マシーン上のアプリケーションは、プロセスを一時的データプロセスと永続的データプロセスとに分類し、当該分類をソース物理的マシーン上のバーチャルマシーンに通知する。ソース物理的マシーン上のバーチャルマシーンは、一時的データプロセスにより占有される一時的データメモリページと、永続的データプロセスにより占有される非一時的データメモリページとを決定し、メモリページの分類をソース物理的マシーン上のソースバーチャルマシーンマイグレーション管理装置に通知する。このようにして、ソース物理的マシーンからターゲット物理的マシーンへのバーチャルマシーンのマイグレーションを実行する際、ソースバーチャルマシーンマイグレーション管理装置は、一時的データメモリページ及び非一時的データメモリページについて異なるコピー戦略を利用してもよい。
例示及び非限定的な目的のため、図1Aに示されるソース物理的マシーンとターゲット物理的マシーンとは、スーパーコンピュータ、メインフレームコンピュータ、ミッドレンジコンピュータ、ミニコンピュータ、マイクロコンピュータ又はバーチャルマシーンを実行可能な他の各種物理的装置を含むものであってもよく、このことは、本発明において限定されない。
さらに、本発明の実施例におけるアプリケーションは各種アプリケーションプログラムであってもよく、ソースバーチャルマシーンマイグレーション管理装置とターゲットバーチャルマシーンマイグレーション管理装置とは、専用のハードウェアにより実現されてもよく、又はソフトウェアにより実現されてもよく、このことは、本発明において限定されない。
図1Aに示されるシステムの構成図に基づき、本発明の実施例は、バーチャルマシーンのホットマイグレーションを実現する方法100を提供する。方法100は、ソース物理的マシーン上のソースバーチャルマシーンマイグレーション管理装置により実行されてもよい。図1Bに示されるように、方法100は以下を含む。
S110:ソース物理的マシーン上のソースバーチャルマシーンマイグレーション管理装置が、ソース物理的マシーン上のバーチャルマシーンの非一時的データメモリページを判定する。
S120:非一時的データメモリページをソース物理的マシーンからターゲット物理的マシーンにコピーする。
S130:非一時的データメモリページをコピーするプロセスにおいて生成されるダーティページを、非一時的データメモリページの数に対する未コピーのダーティページの数の比が所定値未満になるまで、ソース物理的マシーンからターゲット物理的マシーンに循環的にコピーする。
S140:非一時的データメモリページの数に対する未コピーのダーティページの数の比が所定値未満になると、バーチャルマシーンのマイグレーションを実行する。
従って、本発明の実施例のバーチャルマシーンのホットマイグレーションを実現する方法によると、マルチプロセスシステムにおけるプロセス及びメモリページが分類され、このため、一時的データメモリページはコピーされず、非一時的データメモリページのみがダーティページの循環的なコピープロセスにおいてコピーされ、これにより、一時的データの変化によって生じるシステムのネットワーク帯域幅とCPUなどのシステムリソースとの浪費を低減し、システムリソースを節約し、ユーザ体感を向上させることができる。
本発明の実施例では、マルチプロセスシステムにおけるアプリケーションは、プロセスの機能及び特徴に従ってプロセスを一時的データプロセスと永続的データプロセスとに分類してもよく、ここで、一時的データプロセスは一時的データバッファにおけるデータや一時的変数などの一時的データしか生成せず、永続的データプロセスは永続的データを生成可能なプロセスである。一般に、プロセスは実行中にデータを生成する。当該データは、一時的データ又は永続的データであるかもしれない。おそらく、生成されたデータは、一時的データと永続的データとの双方を含むかもしれない。プロセスが生成された後、アプリケーションは、当該プロセスが永続的データを生成するか判定し、プロセスが一時的データしか生成せず、永続的データを生成しない場合、当該プロセスが一時的データプロセスであると判定し、プロセスが永続的データを生成可能である場合、当該プロセスが永続的データプロセスであると判定してもよい。プロセスが一時的データプロセスであると判定すると、アプリケーションは、一時的データプロセス登録インタフェースを介し一時的データプロセスに関する情報をバーチャルマシーンに通知してもよい。任意的には、プロセスが生成されると、アプリケーションはまた、当該プロセスが一時的データプロセスであるか判定し、当該プロセスが一時的データプロセス又は永続的データプロセスであることをプロセス作成インタフェースを介しバーチャルマシーンに通知し、これにより、一時的データプロセスがバーチャルマシーンに登録される。具体的には、アプリケーションは、一時的データプロセスのみをバーチャルマシーンに通知してもよく、バーチャルマシーンは、バーチャルマシーンに通知されないプロセスは永続的データプロセスであるとデフォルトにより判定する。任意的には、アプリケーションはまた、一時的データプロセスと永続的データプロセスとの双方をバーチャルマシーンに通知してもよく、このことは、本発明の実施例において限定されるものでない。アプリケーションによってバーチャルマシーンに通知される一時的データプロセスのパラメータは、一時的データプロセスのプロセス情報であってもよく、ここで、プロセス情報は、限定することなく、一時的データプロセスのプロセスシリアルナンバーを含む。
一時的データプロセスがバーチャルマシーンに登録されると、バーチャルマシーンは、一時的データプロセスにより占有されるメモリページをモニタし、バーチャルマシーンにより予め設定された専用のメモリブロックにおいて一時的データプロセス又はメモリページにより占有され、且つ、一時的データプロセスに割り当てられたメモリページを一時的データプロセスメモリページとしてラベル付けしてもよい。従って、本発明の実施例では、バーチャルマシーンのメモリページは非一時的データメモリページと一時的データメモリページとに分類されてもよく、ここで、非一時的データメモリページは永続的データプロセスにより占有されるメモリページである。一時的データメモリページを判定した後、バーチャルマシーンは、一時的データメモリページに関する情報をソースバーチャルマシーンマイグレーション管理装置に通知してもよく、これにより、ソースバーチャルマシーンマイグレーション管理装置は、ダーティページを循環的にコピーするとき、一時的データメモリページをコピーしない。
任意的には、図2に示されるように、本発明の実施例では、ソースバーチャルマシーンマイグレーション管理装置がバーチャルマシーンの非一時的データメモリページを判定するS110は以下を含む。
S111:一時的データプロセスメモリページ登録インタフェースを介しバーチャルマシーンにより通知された一時的データメモリページに関する情報を取得する。
S112:バーチャルマシーン上の一時的データメモリページを除くメモリページが非一時的データメモリページであると一時的データメモリページに関する情報に従って判定する。
一時的データメモリページに関する情報は、限定することなく、一時的データメモリページのシリアルナンバーと、一時的データメモリページの数とを含むものであってもよい。ソースバーチャルマシーンマイグレーション管理装置は、一時的データメモリページに関する情報に従って一時的データメモリページを判定し、バーチャルマシーン上の一時的データメモリページを除くメモリページが非一時的データメモリページであると判定してもよいが、本発明の実施例はこれに限定されるものでない。
本発明の実施例における一時的データプロセスメモリページ登録インタフェースは、一時的データメモリページに関する情報をバーチャルマシーンマイグレーション管理装置に通知するため、バーチャルマシーンにより利用されてもよい。本発明の実施例における一時的データプロセスメモリページ登録インタフェースは、上記の機能を有するインタフェースの単なる名前であり、任意的には、当該インタフェースはまた他の名前をとるものであってもよいことが理解されるべきである。インタフェースは、当該インタフェースのビルトイン機能に従って判断されるべきであり、インタフェースの名前は本発明の実施例におけるインタフェースへの限定として解釈されるべきでない。
任意的には、本発明の実施例では、バーチャルマシーンは一時的データメモリページに関する情報を格納し、一時的データメモリページに関する情報をソースバーチャルマシーンマイグレーション管理装置に動的に通知してもよい。具体的には、一時的データプロセスにより占有される一時的データメモリページの数が増加又は減少すると、バーチャルマシーンは、新たに占有された、又はもはや占有されていない一時的データメモリページに関する情報のみをソースバーチャルマシーンマイグレーション管理装置に通知するか、又は新たに占有された、又はもはや占有されていない一時的データメモリページに関する情報に従って一時的データメモリページに関する格納された情報を調整し、一時的データメモリページに関する調整された情報をソースバーチャルマシーンマイグレーション管理装置に通知してもよいが、本発明の実施例はこれに限定されるものでない。
任意的には、他の実施例として、バーチャルマシーンはまた、ある容量の一時的データ専用メモリブロックを一時的データプロセスに予め割り当ててもよい。具体的には、バーチャルマシーンは、実際の要求に従って一時的データ専用メモリブロックとして機能する小さな容量のメモリブロックを割当て、一時的データ専用メモリブロックのメモリページを一時的データプロセスに割り当ててもよい。一時的データ専用メモリブロックの残りのメモリが、一時的データを格納するのに要求されるメモリより小さいとき、バーチャルマシーンは、ある容量の新たなメモリブロックを選択し、当該新たなメモリブロックを一時的データ専用メモリブロックに加える。このようにして、バーチャルマシーンは、メモリブロックを一時的データプロセスに動的に割り当てることが可能であり、このことは、便利であり、メモリの効率的な利用を促進しうる。この場合、バーチャルマシーンは、初期的な一時的データメモリブロックにおける全てのメモリページに関する情報しかソースバーチャルマシーンマイグレーション管理装置に通知する必要はなく、一時的データメモリブロックにおいて変化が生じると、メモリブロックにおける変化をソースバーチャルマシーンマイグレーション管理装置に通知し、一時的データプロセスにより占有されるメモリが変化したときにソースバーチャルマシーンマイグレーション管理装置に通知する必要はなく、これにより、システムオーバヘッドを節約し、管理を容易にする。しかしながら、本発明の実施例はこれに限定されるものでない。
一時的データメモリページと非一時的データメモリページとを判定した後、ソースバーチャルマシーンマイグレーション管理装置は、一時的データメモリページに対してバイパス(by−pass)機能を実行し、すなわち、最初のコピープロセスとダーティページの循環的なコピープロセスとにおいて、一時的データメモリページをバイパスし、非一時的データメモリページのみをコピーしてもよい。S120において、ソースバーチャルマシーンマイグレーション管理装置は、最初はバーチャルマシーン上のメモリページをコピーし、ここで、非一時的データメモリページのみが最初のコピープロセスにおいてコピーされ、コピープロセスにおいて変更された非一時的データメモリページが、ダーティページとしてラベル付けされる。最初のコピープロセスが終了した後、ソースバーチャルマシーンマイグレーション管理装置はS130を実行し、すなわち、ダーティページの循環的なコピープロセスを実行する。非一時的データメモリページの数に対する未コピーのダーティページの数の比が所定値未満でないとき、ソースバーチャルマシーンマイグレーション管理装置は、未コピーのダーティページをソース物理的マシーンからターゲット物理的マシーンにコピーする。
具体的には、ソースバーチャルマシーンマイグレーション管理装置はまず、最初の非一時的データメモリページコピープロセスにおいて生成されたダーティページをコピーし、ダーティページコピープロセスにおいて変更されたメモリページをダーティページとしてラベル付けする。以降のダーティページコピープロセスのそれぞれにおいて、前のダーティページコピープロセスにおいて生成されたダーティページがコピーされる。非一時的データメモリページの数に対する前のダーティページコピープロセスにおいて生成されたダーティページの数の比が所定値未満になると、ダーティページの循環的なコピープロセスは終了する。ダーティページがソース物理的マシーンからターゲット物理的マシーンにコピーされると、ソース物理的マシーン上のコピーされたダーティページは、次のダーティページコピープロセスにおいて当該ダーティページが再びコピーされることを防ぐため、非ダーティページとしてラベル付けされる必要がある。
S140において、ソースバーチャルマシーンマイグレーション管理装置は、バーチャルマシーンの実行を停止し、循環的コピープロセスにおいて未コピーであるダーティページと一時的データメモリページとをコピーしてもよい。従って、任意的には、図3に示されるように、S140は以下を含む。
S141a:バーチャルマシーンの実行を停止する。
S142a:バーチャルマシーン上の一時的データメモリページと未コピーのダーティページとをソース物理的マシーンからターゲット物理的マシーンにコピーする。
S143a:ターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に第1通知情報を送信し、ここで、第1通知情報は、ターゲット物理的マシーン上にバーチャルマシーンを復元するようターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される。
ソースバーチャルマシーンマイグレーション管理装置は、バーチャルマシーンの実行を停止し、バーチャルマシーンが実行を停止した後、未コピーのダーティページ、すなわち、ダーティページを循環的にコピーするための最後のコピープロセスにおいて生成されたダーティページと一時的データメモリページとをソース物理的マシーンからターゲット物理的マシーンにコピーする。コピープロセスが終了した後、ソースバーチャルマシーンマイグレーション管理装置は、ターゲット物理的マシーン上に配置されたターゲットバーチャルマシーンマイグレーション管理装置に第1通知情報を送信し、これにより、ターゲットバーチャルマシーンマイグレーション管理装置は、ターゲット物理的マシーン上にバーチャルマシーンを復元する。ターゲット物理的マシーン上にバーチャルマシーンを復元することは、ターゲット物理的マシーン上にバーチャルマシーンを開始し、バーチャルマシーンがソース物理的マシーン上で実行が停止された時点の状態に当該バーチャルマシーンの状態を復元することを表す。
従って、本発明の実施例のバーチャルマシーンのホットマイグレーションを実現する方法によると、マルチプロセスシステムにおけるプロセス及びメモリページが分類され、これにより、一時的データメモリページはコピーされず、非一時的データメモリページのみがダーティページの循環的コピープロセスにおいてコピーされ、これにより、バーチャルマシーンのホットマイグレーションの時間の消費を低減し、一時的データの変化によって生じるシステムのネットワーク帯域幅とCPUなどのシステムリソースの浪費を低減し、システムリソースを節約し、ユーザ体感を向上させる。
任意的には、バーチャルマシーンを停止する前に、ソースバーチャルマシーンマイグレーション管理装置はまた、一時的データプロセスの実行を停止するようバーチャルマシーンに通知してもよく、これにより、一時的データプロセスにより占有される一時的データメモリページが解放される。このようにして、バーチャルマシーンが実行を停止した後、残りのダーティページのみがコピーされ、一時的データメモリページはコピーされない。従って、任意的には、他の実施例として、図4に示されるように、S140は以下を含む。
S141b:マイグレーション事前通知インタフェースを介しバーチャルマシーンに一時的データプロセスの実行を停止するよう通知する。
S142b:バーチャルマシーンにより通知された停止成功レスポンスがマイグレーション事前通知インタフェースを介し取得されると、バーチャルマシーンの実行を停止し、ここで、停止成功レスポンスは、バーチャルマシーンが一時的データプロセスの実行の停止に成功したことを示すのに利用される。
S143b:未コピーのダーティページをソース物理的マシーンからターゲット物理的マシーンにコピーする。
S144b:ターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に第1通知情報を送信し、ここで、第1通知情報は、ターゲット物理的マシーン上にバーチャルマシーンを復元するようターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される。
ソースバーチャルマシーンマイグレーション管理装置は、一時的データプロセスの実行を停止するようバーチャルマシーンに通知し、バーチャルマシーンが一時的データプロセスの実行の停止に成功したことを通知する停止成功レスポンスを取得すると、バーチャルマシーンの実行からバーチャルマシーンを停止する。この場合、停止される前に、バーチャルマシーンは一時的データプロセスの実行をすでに停止しているため、一時的データプロセスにより占有されるメモリページは解放され、ソースバーチャルマシーンマイグレーション管理装置は、残りのダーティページのみをコピーしてもよく、一時的データメモリページをコピーしない。このようにして、コピーされたメモリページの数が効果的に低減でき、コピーにより必要とされる時間が短縮され、システムのネットワーク帯域幅とCPUとの消費が更に低減され、ユーザ体感が向上する。
本発明の実施例におけるマイグレーション事前通知インタフェースは、一時的データプロセスの実行を停止するようバーチャルマシーンに通知するため、バーチャルマシーンマイグレーション管理装置により利用されてもよく、停止成功レスポンスをバーチャルマシーンマイグレーション管理装置に通知するためバーチャルマシーンにより利用されてもよい。本発明の実施例におけるマイグレーション事前通知インタフェースは上記の機能を有するインタフェースの単なる名前であり、任意的には、インタフェースは他の名前をとってもよいことが理解されるべきである。インタフェースは、当該インタフェースのビルトイン機能に従って決定されるべきであり、インタフェースの名前は、本発明の実施例におけるインタフェースに対する限定として解釈されるべきでない。本発明の実施例では、Aがあるインタフェースを介しBに通知するとは、Aがインタフェースを介しBに情報を送信するか、又はAがインタフェースを呼び出すことを表すと理解されるべきであるが、本発明の実施例はこれに限定されるものでない。
任意的には、ソースバーチャルマシーンマイグレーション管理装置はまた、バーチャルマシーンが復元された後、ソース物理的マシーン上で停止された一時的データプロセスをターゲット物理的マシーン上で再開するようターゲットバーチャルマシーンマイグレーション管理装置に指示してもよく、これにより、ユーザによる連続的な利用を実現する。従って、任意的には、方法100は更に以下を含む。
S150:ターゲットバーチャルマシーンマイグレーション管理装置に第2通知情報を送信し、ここで、第2通知情報は、マイグレーション完了通知インタフェースを介しバーチャルマシーンに停止された一時的データプロセスを再開することを通知するようターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される。
ソースバーチャルマシーンマイグレーション管理装置は、ターゲットバーチャルマシーンマイグレーション管理装置に第1通知情報と第2通知情報とを同時に送信してもよく、あるいは、バーチャルマシーンマイグレーション管理装置は、第1通知情報を送信した後に第2通知情報を送信してもよい。従って、S150及びS144bは同時に実行されてもよく、あるいは、S150はS144の後に実行されてもよいが、本発明の実施例はこれに限定されるものでない。
任意的には、ターゲットバーチャルマシーンマイグレーション管理装置は、ターゲット物理的マシーン上で一時的データプロセスを再開するようバーチャルマシーンに通知するか、あるいは、一時的データプロセスを再開するようアプリケーションに通知してもよいが、本発明の実施例はこれに限定されるものでない。
本発明の実施例におけるマイグレーション完了通知インタフェースは、ターゲット物理的マシーン上に停止された一時的データプロセスを再開するようバーチャルマシーンに通知するため、バーチャルマシーンマイグレーション管理装置により利用されてもよい。本発明の実施例におけるマイグレーション完了通知インタフェースは上記の機能を有するインタフェースの単なる名前であり、任意的には、インタフェースは他の名前をとってもよいことが理解されるべきである。インタフェースは、当該インタフェースのビルトイン機能に従って決定されるべきであり、インタフェースの名前は、本発明の実施例におけるインタフェースに対する限定として解釈されるべきでない。
従って、本発明の実施例のバーチャルマシーンのホットマイグレーションを実現する方法によると、マルチプロセスシステムにおけるプロセス及びメモリページが分類され、これにより、一時的データメモリページはコピーされず、非一時的データメモリページのみがダーティページの循環的コピープロセスにおいてコピーされ、これにより、バーチャルマシーンのホットマイグレーションの時間の消費を低減し、一時的データの変化によって生じるシステムのネットワーク帯域幅とCPUなどのシステムリソースの浪費を低減し、システムリソースを節約し、ユーザ体感を向上させる。
上記は、図1〜4を参照してソースバーチャルマシーンマイグレーション管理装置の観点から本発明の実施例によるバーチャルマシーンのホットマイグレーションを実現する方法について詳細に説明した。以下は、図5〜8を参照してバーチャルマシーンの観点から本発明の実施例によるバーチャルマシーンのホットマイグレーションを実現する方法について説明する。
図5は、本発明の実施例によるバーチャルマシーンのホットマイグレーションを実現する方法200の概略的なフローチャートである。方法200は、バーチャルマシーンにより実行されてもよい。図5に示されるように、方法200は以下を含む。
S210:ソース物理的マシーン上のバーチャルマシーンが、バーチャルマシーンの一時的データメモリページを判定する。
S220:ソース物理的マシーン上のソースバーチャルマシーンマイグレーション管理装置に、一時的データプロセスメモリページ登録インタフェースを介し一時的データメモリページに関する情報を通知し、これにより、ソースバーチャルマシーンマイグレーション管理装置は、一時的データメモリページに関する情報に従ってバーチャルマシーンの非一時的データメモリページを判定し、ソース物理的マシーンからターゲット物理的マシーンへのバーチャルマシーンのホットマイグレーションを実行するプロセスにおいて非一時的データメモリページをコピーする。
ソース物理的マシーン上のバーチャルマシーンは、一時的データメモリページを判定し、一時的データプロセスメモリページ登録インタフェースを介し一時的データメモリページに関する情報をソース物理的マシーン上に配置されたソースバーチャルマシーンマイグレーション管理装置に通知する。ソースバーチャルマシーンマイグレーション管理装置は、一時的データメモリページに関する情報に従って、バーチャルマシーン上の一時的データメモリページと非一時的データメモリページとを判定し、最初のメモリページコピープロセスとダーティページの循環的コピープロセスでは、非一時的データメモリページのみをコピーし、一時的データメモリページをコピーしない。
従って、本発明の実施例のバーチャルマシーンのホットマイグレーションを実現する方法によると、マルチプロセスシステムにおけるプロセス及びメモリページが分類され、これにより、一時的データメモリページはコピーされず、非一時的データメモリページのみがダーティページの循環的コピープロセスにおいてコピーされ、これにより、バーチャルマシーンのホットマイグレーションの時間の消費を低減し、一時的データの変化によって生じるシステムのネットワーク帯域幅とCPUなどのシステムリソースの浪費を低減し、システムリソースを節約し、ユーザ体感を向上させる。
任意的には、バーチャルマシーンは、一時的データプロセス登録インタフェースを介しアプリケーションにより通知された一時的プロセスに関する情報を取得してもよい。図6に示されるように、本発明の実施例では、S210は以下を含む。
S211a:一時的データプロセス登録インタフェースを介しアプリケーションにより通知された一時的データプロセスに関する情報を取得する。
S212a:一時的データプロセスにより占有されたメモリページが一時的データメモリページであることを一時的データプロセスに関する情報に従って判定する。
プロセスを生成した後、アプリケーションは、当該プロセスが一時的データプロセスであるか判定し、プロセスが一時的データプロセスであるとき、一時的データプロセス登録インタフェースを介し一時的データプロセスに関する情報をバーチャルマシーンに通知してもよい。
本発明の実施例における一時的データプロセス登録インタフェースは、一時的データプロセスに関する情報をバーチャルマシーンマイグレーション管理装置に通知するため、バーチャルマシーン上のアプリケーションにより利用されてもよい。本発明の実施例における一時的データプロセス登録インタフェースは、上記の機能を有するインタフェースの単なる名前であり、任意的には、インタフェースは他の名前をとってもよいことが理解されるべきである。インタフェースは、当該インタフェースのビルトイン機能に従って決定されるべきであり、インタフェースの名前は、本発明の実施例におけるインタフェースに対する限定として解釈されるべきでない。
任意的には、バーチャルマシーンはまた、一時的データプロセスにより使用されるべき専用メモリブロックを予め設定してもよい。従って、任意的には、他の実施例として、S210は以下を含む。
S211b:一時的データ専用メモリブロックを判定する。
S212b:一時的データ専用メモリブロックにおける全てのメモリページが一時的データメモリページであると判定する。
対応して、図7に示されるように、方法200は以下を含む。
S230:プロセス作成インタフェースを介しアプリケーションにより通知されたプロセスタイプを取得し、ここで、プロセスタイプは一時的データプロセス又は永続的データプロセスを含む。
S240:プロセスタイプが一時的データプロセスであるとき、一時的データ専用メモリブロックにおけるメモリページを一時的データプロセスに割り当てる。
バーチャルマシーンは、ある容量の一時的データ専用メモリブロックを一時的データプロセスに予め割当て、一時的データ専用メモリブロックからメモリを選択し、当該メモリを一時的データプロセスに割り当ててもよい。
任意的には、プロセスが生成されると、バーチャルマシーンは、当該プロセスが一時的データプロセスであるか判定し、当該プロセスが一時的データプロセス又は永続的データプロセスであることをプロセス作成インタフェースを介しバーチャルマシーンに通知するが、本発明の実施例はこれに限定されるものでない。
任意的には、図8に示されるように、本発明の実施例では、S220の後に、方法200は更に以下を含む。
S250:マイグレーション事前通知インタフェースを介しソースバーチャルマシーンマイグレーション管理装置により通知される一時的データプロセス停止通知を取得する。
S260:一時的データプロセス停止通知に従って、一時的データプロセスの実行を停止する。
S270:一時的データプロセスの停止が成功すると、マイグレーション事前通知インタフェースを介しソースバーチャルマシーンマイグレーション管理装置に停止成功レスポンスを通知し、これにより、ソースバーチャルマシーンマイグレーション管理装置は、停止成功レスポンスに従ってバーチャルマシーンの実行を停止し、ターゲット物理的マシーン上でバーチャルマシーンを復元するようターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に指示する。
停止される前に、バーチャルマシーンは一時的データプロセスの実行をすでに停止しているため、一時的データプロセスにより占有されるメモリページは解放され、ソースバーチャルマシーンマイグレーション管理装置は、残りのダーティページのみをコピーしてもよく、一時的データメモリページをコピーしない。このようにして、コピーされたメモリページの数が効果的に低減でき、コピーにより必要とされる時間が短縮され、システムのネットワーク帯域幅とCPUとの消費が更に低減され、ユーザ体感が向上する。
任意的には、図9に示されるように、本発明の実施例では、方法200は更に以下を含む。
S280:バーチャルマシーンがターゲットバーチャルマシーンマイグレーション管理装置により復元されると、バーチャルマシーンが、マイグレーション完了通知インタフェースを介しターゲットバーチャルマシーンマイグレーション管理装置により通知された一時的データプロセス再開通知を取得する。
S290:一時的データプロセス再開通知に従って停止された一時的データプロセスを再開する。
従って、本発明の実施例のバーチャルマシーンのホットマイグレーションを実現する方法によると、マルチプロセスシステムにおけるプロセス及びメモリページが分類され、これにより、一時的データメモリページはコピーされず、非一時的データメモリページのみがダーティページの循環的コピープロセスにおいてコピーされ、これにより、バーチャルマシーンのホットマイグレーションの時間の消費を低減し、一時的データの変化によって生じるシステムのネットワーク帯域幅とCPUなどのシステムリソースの浪費を低減し、システムリソースを節約し、ユーザ体感を向上させる。
上記実施例における各種インタフェースはまた他の名前をとってもよいことが理解されるべきである。これらのインタフェースは、インタフェースのビルトイン機能に従って決定されるべきであり、これらのインタフェースの名前は本発明の実施例におけるこれらのインタフェースに対する限定として解釈されるべきでない。
上記は、図1〜9を参照して本発明の実施例によるバーチャルマシーンのホットマイグレーションを実現する方法について詳細に説明した。以下は、図10〜13を参照して本発明の実施例によるバーチャルマシーンマイグレーション管理装置及びバーチャルマシーンについて詳細に説明する。
図10は、本発明の実施例によるバーチャルマシーンマイグレーション管理装置300の概略的なブロック図である。図10に示されるように、バーチャルマシーンマイグレーション管理装置300は、
ソース物理的マシーン上のバーチャルマシーンの非一時的データメモリページを判定するよう構成される判定モジュール310と、
判定モジュール310により判定された非一時的データメモリページをソース物理的マシーンからターゲット物理的マシーンにコピーし、非一時的データメモリページをコピーするプロセスにおいて生成されるダーティページを、非一時的データメモリページの数に対する未コピーのダーティページの数の比が所定値未満になるまで、ソース物理的マシーンからターゲット物理的マシーンに循環的にコピーするよう構成されるコピーモジュール320と、
非一時的データメモリページの数に対するコピーモジュール320による未コピーのダーティページの数の比が所定値未満になると、バーチャルマシーンのマイグレーションを実行するよう構成されるマイグレーションモジュール330と、
を有する。
従って、本発明の実施例におけるバーチャルマシーンマイグレーション管理装置によると、マルチプロセスシステムにおけるプロセス及びメモリページが分類され、これにより、一時的データメモリページはコピーされず、非一時的データメモリページのみがダーティページの循環的コピープロセスにおいてコピーされ、これにより、バーチャルマシーンのホットマイグレーションの時間の消費を低減し、一時的データの変化によって生じるシステムのネットワーク帯域幅とCPUなどのシステムリソースの浪費を低減し、システムリソースを節約し、ユーザ体感を向上させる。
任意的には、バーチャルマシーンマイグレーション管理装置は、バーチャルマシーンを停止し、一時的データメモリページをコピーしてもよい。図11に示されるように、マイグレーションモジュール330は、
バーチャルマシーンの実行を停止するよう構成される第1停止ユニット331aと、
第1停止ユニット331aがバーチャルマシーンの実行を停止した後、バーチャルマシーン上の一時的データメモリページと未コピーのダーティページとをソース物理的マシーンからターゲット物理的マシーンにコピーするよう構成される第1コピーユニット332aと、
第1コピーユニット332aがバーチャルマシーン上の一時的データメモリページと未コピーのダーティページとをコピーした後、ターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に第1通知情報を送信するよう構成される第1送信ユニット333aであって、第1通知情報は、ターゲット物理的マシーン上にバーチャルマシーンを復元するようターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される、第1送信ユニット333aと、
を有する。
任意的には、バーチャルマシーンの実行を停止する前に、バーチャルマシーンマイグレーション管理装置はまた、一時的データプロセスの実行を停止してもよく、これにより、バーチャルマシーンが停止されると、一時的データメモリページはコピーされる必要がなくなる。従って、任意的には、他の実施例として、図12に示されるように、マイグレーションモジュール330は、
マイグレーション事前通知インタフェースを介しバーチャルマシーンに一時的データプロセスの実行を停止するよう通知するよう構成される第1通知ユニット331bと、
バーチャルマシーンにより通知された停止成功レスポンスをマイグレーション事前通知インタフェースを介し取得するよう構成される第1取得ユニット332bであって、停止成功レスポンスは、バーチャルマシーンが第1通知ユニット331bの通知に従って一時的データプロセスの実行の停止に成功したことを示すのに利用される、第1取得ユニット332bと、
第1取得ユニット332bがバーチャルマシーンにより通知された停止成功レスポンスを取得すると、バーチャルマシーンの実行を停止するよう構成される第2停止ユニット333bと、
第2停止ユニット333bがバーチャルマシーンの実行を停止すると、未コピーのダーティページをソース物理的マシーンからターゲット物理的マシーンにコピーするよう構成される第2コピーユニット334bと、
第2コピーユニット334bが未コピーのダーティページをソース物理的マシーンからターゲット物理的マシーンにコピーした後、ターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に第1通知情報を送信するよう構成される第2送信ユニット335bであって、第1通知情報は、ターゲット物理的マシーン上にバーチャルマシーンを復元するようターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される、第2送信ユニット335bと、
を有する。
任意的には、他の実施例として、図13に示されるように、バーチャルマシーンマイグレーション管理装置300は更に、ターゲットバーチャルマシーンマイグレーション管理装置に第2通知情報を送信するよう構成される送信モジュール340を有し、第2通知情報は、マイグレーション完了通知インタフェースを介しバーチャルマシーンに停止された一時的データプロセスを再開することを通知するようターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される、送信モジュール340を有する。
任意的には、他の実施例として、図14に示されるように、判定モジュール310は、
一時的データプロセスメモリページ登録インタフェースを介しバーチャルマシーンにより通知された一時的データメモリページに関する情報を取得するよう構成される取得ユニット311と、
バーチャルマシーン上の一時的データメモリページを除くメモリページが非一時的データメモリページであると取得ユニット311により取得された一時的データメモリページに関する情報に従って判定するよう構成される判定ユニット312と、
を有する。
本発明の実施例によるバーチャルマシーンマイグレーション管理装置300は、本発明の実施例におけるソースバーチャルマシーンマイグレーション管理装置に対応するものであってもよく、バーチャルマシーンマイグレーション管理装置300におけるモジュールの上記及び他の処理及び/又は機能は、簡単化のためここでは繰り返し説明されない、図1〜4における方法の対応するプロセスを実現するのに別々に利用される。
従って、本発明の実施例におけるバーチャルマシーンマイグレーション管理装置によると、マルチプロセスシステムにおけるプロセス及びメモリページが分類され、これにより、一時的データメモリページはコピーされず、非一時的データメモリページのみがダーティページの循環的コピープロセスにおいてコピーされ、これにより、バーチャルマシーンのホットマイグレーションの時間の消費を低減し、一時的データの変化によって生じるシステムのネットワーク帯域幅とCPUなどのシステムリソースの浪費を低減し、システムリソースを節約し、ユーザ体感を向上させる。
図15は、本発明の実施例によるバーチャルマシーン400の概略的なブロック図を示す。バーチャルマシーンは、ソース物理的マシーン上に配置される。バーチャルマシーンはまたターゲット物理的マシーンに適用されてもよく、このことは本発明において限定されないことに留意すべきである。図15に示されるように、バーチャルマシーン400は、
ソース物理的マシーン上のバーチャルマシーンの一時的データメモリページを判定するよう構成される判定モジュール410と、
ソース物理的マシーン上のソースバーチャルマシーンマイグレーション管理装置に、一時的データプロセスメモリページ登録インタフェースを介し判定モジュール410により判定された一時的データメモリページに関する情報を通知するよう構成される通知モジュール420であって、ソースバーチャルマシーンマイグレーション管理装置は、一時的データメモリページに関する情報に従ってバーチャルマシーンの非一時的データメモリページを判定し、ソース物理的マシーンからターゲット物理的マシーンへの当該バーチャルマシーンのホットマイグレーションを実行するプロセスにおいて非一時的データメモリページをコピーする、通知モジュール420と、
を有する。
従って、本発明の実施例におけるバーチャルマシーンによると、マルチプロセスシステムにおけるプロセス及びメモリページが分類され、これにより、一時的データメモリページはコピーされず、非一時的データメモリページのみがダーティページの循環的コピープロセスにおいてコピーされ、これにより、バーチャルマシーンのホットマイグレーションの時間の消費を低減し、一時的データの変化によって生じるシステムのネットワーク帯域幅とCPUなどのシステムリソースの浪費を低減し、システムリソースを節約し、ユーザ体感を向上させる。
任意的には、図16に示されるように、本発明の実施例では、バーチャルマシーン400は更に、
通知モジュール420がソース物理的マシーン上のソースバーチャルマシーンマイグレーション管理装置に、一時的データプロセスメモリページ登録インタフェースを介し一時的データメモリページに関する情報を通知した後に、マイグレーション事前通知インタフェースを介しソースバーチャルマシーンマイグレーション管理装置により通知される一時的データプロセス停止通知を取得するよう構成される第1取得モジュール430と、
第1取得モジュール430により取得された一時的データプロセス停止通知に従って、一時的データプロセスの実行を停止するよう構成される停止モジュール440と、
を有し、
通知モジュール420は、停止モジュール440が一時的データプロセスの実行の停止に成功すると、マイグレーション事前通知インタフェースを介しソースバーチャルマシーンマイグレーション管理装置に停止成功レスポンスを通知するよう構成され、ソースバーチャルマシーンマイグレーション管理装置は、停止成功レスポンスに従って当該バーチャルマシーンの実行を停止し、ターゲット物理的マシーン上で当該バーチャルマシーンを復元するようターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に指示する。
任意的には、他の実施例として、図17に示されるように、バーチャルマシーン400は更に、
当該バーチャルマシーンがターゲットバーチャルマシーンマイグレーション管理装置により復元されると、マイグレーション完了通知インタフェースを介しターゲットバーチャルマシーンマイグレーション管理装置により通知された一時的データプロセス再開通知を取得するよう構成される第2取得モジュール450と、
第2取得モジュール450により取得された一時的データプロセス再開通知に従って停止された一時的データプロセスを再開するよう構成される開始モジュール460と、
を有する。
任意的には、プロセスが生成された後、アプリケーションは、一時的データプロセス登録インタフェースを介し一時的データプロセスをバーチャルマシーンに通知してもよい。従って、他の実施例として、図18に示されるように、判定モジュール410は、
一時的データプロセス登録インタフェースを介しアプリケーションにより通知された一時的データプロセスに関する情報を取得するよう構成される取得ユニット411と、
一時的データプロセスにより占有されたメモリページが一時的データメモリページであることを取得ユニット411により取得された一時的データプロセスに関する情報に従って判定するよう構成される判定ユニット412と、
を含む。
任意的には、他の実施例として、判定モジュール410は、具体的には、一時的データ専用メモリブロックを判定し、一時的データ専用メモリブロックにおける全てのメモリページが一時的データメモリページであると判定するよう構成される。
プロセスが生成されると、アプリケーションは、プロセス作成インタフェースを介しバーチャルマシーンに一時的データプロセスを通知し、バーチャルマシーンは、対応するメモリを一時的データプロセスに割り当てる。従って、図19に示されるように、当該バーチャルマシーン400は更に、
プロセス作成インタフェースを介しアプリケーションにより通知されたプロセスタイプを取得するよう構成される第3取得モジュール470であって、プロセスタイプは一時的データプロセス又は永続的データプロセスを含む、第3取得モジュール470と、
第3取得モジュール470により取得されたプロセスタイプが一時的データプロセスであるとき、一時的データ専用メモリブロックにおけるメモリページを一時的データプロセスに割り当てるよう構成される割当てモジュール480と、
を有する。
本発明の実施例によるバーチャルマシーン400は本発明の実施例におけるバーチャルマシーンに対応してもよく、バーチャルマシーン400におけるモジュールの上記及び他の処理及び/又は機能は、簡単化のためここでは繰り返し説明されない、図5〜9の方法における対応するプロセスを実現するため別々に利用されることが理解されるべきである。
従って、本発明の実施例におけるバーチャルマシーンによると、マルチプロセスシステムにおけるプロセス及びメモリページが分類され、これにより、一時的データメモリページはコピーされず、非一時的データメモリページのみがダーティページの循環的コピープロセスにおいてコピーされ、これにより、バーチャルマシーンのホットマイグレーションの時間の消費を低減し、一時的データの変化によって生じるシステムのネットワーク帯域幅とCPUなどのシステムリソースの浪費を低減し、システムリソースを節約し、ユーザ体感を向上させる。
図20は、本発明の実施例によるバーチャルマシーンのホットマイグレーションを実現するシステム500の概略的なブロック図である。バーチャルマシーンのホットマイグレーションを実現するシステムは、方法及び装置の上記説明におけるソース物理的マシーン又はターゲット物理的マシーンであってもよいし、あるいは、ソース物理的マシーン又はターゲット物理的マシーン以外の他のシステムであってもよく、このことは、本発明の実施例では限定されない。図20に示されるように、システム500は、バーチャルマシーンマイグレーション管理装置510及びバーチャルマシーン520を有し、ここで、バーチャルマシーンマイグレーション管理装置510は、図10〜14に説明されるバーチャルマシーンマイグレーション管理装置の何れか1つであってもよく、バーチャルマシーン520は、図15〜19に説明されるバーチャルマシーンの何れか1つであってもよい。
従って、本発明の実施例におけるバーチャルマシーンのホットマイグレーションを実現するシステムによると、マルチプロセスシステムにおけるプロセス及びメモリページが分類され、これにより、一時的データメモリページはコピーされず、非一時的データメモリページのみがダーティページの循環的コピープロセスにおいてコピーされ、これにより、バーチャルマシーンのホットマイグレーションの時間の消費を低減し、一時的データの変化によって生じるシステムのネットワーク帯域幅とCPUなどのシステムリソースの浪費を低減し、システムリソースを節約し、ユーザ体感を向上させる。
図21は、本発明の実施例によるバーチャルマシーンマイグレーション管理装置600の概略的なブロック図である。図21に示されるように、バーチャルマシーンマイグレーション管理装置600は、メモリ610と、CPUなどのプロセッサ620とを有する。プロセッサ620は、メモリ610により格納される命令を実行するよう構成される。具体的には、プロセッサ620は、ソース物理的マシーン上のバーチャルマシーンの非一時的データメモリページを判定し、非一時的データメモリページをソース物理的マシーンからターゲット物理的マシーンにコピーし、非一時的データメモリページをコピーするプロセスにおいて生成されるダーティページを、非一時的データメモリページの数に対する未コピーのダーティページの数の比が所定値未満になるまで、ソース物理的マシーンからターゲット物理的マシーンに循環的にコピーし、非一時的データメモリページの数に対する未コピーのダーティページの数の比が所定値未満になると、バーチャルマシーンのマイグレーションを実行するよう具体的に構成される。
従って、本発明の実施例におけるバーチャルマシーンマイグレーション管理装置によると、マルチプロセスシステムにおけるプロセス及びメモリページが分類され、これにより、一時的データメモリページはコピーされず、非一時的データメモリページのみがダーティページの循環的コピープロセスにおいてコピーされ、これにより、バーチャルマシーンのホットマイグレーションの時間の消費を低減し、一時的データの変化によって生じるシステムのネットワーク帯域幅とCPUなどのシステムリソースの浪費を低減し、システムリソースを節約し、ユーザ体感を向上させる。
任意的には、本発明の実施例では、プロセッサ620は更に、バーチャルマシーンの実行を停止し、バーチャルマシーン上の一時的データメモリページと未コピーのダーティページとをソース物理的マシーンからターゲット物理的マシーンにコピーするよう構成される。
対応して、図22に示されるように、バーチャルマシーンマイグレーション管理装置600は更に、
ターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に第1通知情報を送信するよう構成される送信機630を有し、ここで、第1通知情報は、ターゲット物理的マシーン上にバーチャルマシーンを復元するようターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される。
任意的には、他の実施例として、プロセッサ620は更に、マイグレーション事前通知インタフェースを介しバーチャルマシーンに一時的データプロセスの実行を停止するよう通知し、バーチャルマシーンにより通知され、バーチャルマシーンが一時的データプロセスの実行の停止に成功したことを示すのに利用される停止成功レスポンスをマイグレーション事前通知インタフェースを介し取得し、バーチャルマシーンにより通知された停止成功レスポンスが取得されると、バーチャルマシーンの実行を停止し、未コピーのダーティページをソース物理的マシーンからターゲット物理的マシーンにコピーするよう構成され、
送信機630は更に、バーチャルマシーンが実行を停止した後、ターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に第1通知情報を送信するよう構成され、ここで、第1通知情報は、ターゲット物理的マシーン上にバーチャルマシーンを復元するようターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される。
任意的には、他の実施例として、送信機630は更に、ターゲットバーチャルマシーンマイグレーション管理装置に第2通知情報を送信するよう構成され、ここで、第2通知情報は、マイグレーション完了通知インタフェースを介しバーチャルマシーンに停止された一時的データプロセスを再開することを通知するようターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される。
任意的には、他の実施例として、プロセッサ620は更に、一時的データプロセスメモリページ登録インタフェースを介しバーチャルマシーンにより通知された一時的データメモリページに関する情報を取得し、バーチャルマシーン上の一時的データメモリページを除くメモリページが非一時的データメモリページであると一時的データメモリページに関する情報に従って判定するよう構成される。
本発明の実施例によるバーチャルマシーンマイグレーション管理装置600は、本発明の実施例におけるソースバーチャルマシーンマイグレーション管理装置に対応してもよく、バーチャルマシーンマイグレーション管理装置600におけるモジュールの上記及び他の処理及び/又は機能は、簡単化のためここでは繰り返し説明されない、図1〜4の方法における対応するプロセスを実現するのに別々に利用されることが理解されるべきである。
従って、本発明の実施例におけるバーチャルマシーンマイグレーション管理装置によると、マルチプロセスシステムにおけるプロセス及びメモリページが分類され、これにより、一時的データメモリページはコピーされず、非一時的データメモリページのみがダーティページの循環的コピープロセスにおいてコピーされ、これにより、バーチャルマシーンのホットマイグレーションの時間の消費を低減し、一時的データの変化によって生じるシステムのネットワーク帯域幅とCPUなどのシステムリソースの浪費を低減し、システムリソースを節約し、ユーザ体感を向上させる。
図23は、本発明の実施例によるバーチャルマシーン700の概略的なブロック図である。図23に示されるように、バーチャルマシーン700は、メモリ710とプロセッサ720とを有する。プロセッサ720は、メモリ710により格納されている命令を実行するよう構成される。具体的には、プロセッサ720は、ソース物理的マシーン上のバーチャルマシーンの一時的データメモリページを判定し、ソース物理的マシーン上のソースバーチャルマシーンマイグレーション管理装置に、一時的データプロセスメモリページ登録インタフェースを介し一時的データメモリページに関する情報を通知するよう構成され、ソースバーチャルマシーンマイグレーション管理装置は、一時的データメモリページに関する情報に従ってバーチャルマシーンの非一時的データメモリページを判定し、ソース物理的マシーンからターゲット物理的マシーンへのバーチャルマシーンのホットマイグレーションを実行するプロセスにおいて非一時的データメモリページをコピーする。
任意的には、本発明の実施例では、プロセッサ720は更に、マイグレーション事前通知インタフェースを介しソースバーチャルマシーンマイグレーション管理装置により通知される一時的データプロセス停止通知を取得し、一時的データプロセス停止通知に従って、一時的データプロセスの実行を停止し、一時的データプロセスの停止が成功すると、マイグレーション事前通知インタフェースを介しソースバーチャルマシーンマイグレーション管理装置に停止成功レスポンスを通知するよう構成され、ソースバーチャルマシーンマイグレーション管理装置は、停止成功レスポンスに従ってバーチャルマシーンの実行を停止し、ターゲット物理的マシーン上でバーチャルマシーンを復元するようターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に指示する。
任意的には、他の実施例として、プロセッサ720は更に、バーチャルマシーンがターゲットバーチャルマシーンマイグレーション管理装置により復元されると、マイグレーション完了通知インタフェースを介しターゲットバーチャルマシーンマイグレーション管理装置により通知された一時的データプロセス再開通知を取得し、一時的データプロセス再開通知に従って停止された一時的データプロセスを再開するよう構成される。
任意的には、他の実施例として、プロセッサ720は更に、一時的データプロセス登録インタフェースを介しアプリケーションにより通知された一時的データプロセスに関する情報を取得し、一時的データプロセスにより占有されたメモリページが一時的データメモリページであることを一時的データプロセスに関する情報に従って判定するよう構成される。
任意的には、他の実施例として、プロセッサ720は更に、一時的データ専用メモリブロックを判定し、一時的データ専用メモリブロックにおける全てのメモリページが一時的データメモリページであると判定し、プロセス作成インタフェースを介しアプリケーションにより通知されたプロセスタイプを取得し、ここで、プロセスタイプは一時的データプロセス又は永続的データプロセスを含み、プロセスタイプが一時的データプロセスであるとき、一時的データ専用メモリブロックにおけるメモリページを一時的データプロセスに割り当てるよう構成される。
本発明の実施例によるバーチャルマシーン700は、本発明の実施例におけるバーチャルマシーンに対応してもよく、バーチャルマシーン700におけるモジュールの上記及び他の処理及び/又は機能は、簡単化のためここでは繰り返し説明されない、図5〜9の方法における対応するプロセスを実現するのに別々に利用されることが理解されるべきである。
従って、本発明の実施例におけるバーチャルマシーンによると、マルチプロセスシステムにおけるプロセス及びメモリページが分類され、これにより、一時的データメモリページはコピーされず、非一時的データメモリページのみがダーティページの循環的コピープロセスにおいてコピーされ、これにより、バーチャルマシーンのホットマイグレーションの時間の消費を低減し、一時的データの変化によって生じるシステムのネットワーク帯域幅とCPUなどのシステムリソースの浪費を低減し、システムリソースを節約し、ユーザ体感を向上させる。
図24は、本発明の実施例によるバーチャルマシーンのホットマイグレーションを実現するシステム800の概略的なブロック図である。バーチャルマシーンのホットマイグレーションを実現するシステムは、方法及び装置の上記説明におけるソース物理的マシーン又はターゲット物理的マシーンであってもよく、あるいは、ソース物理的マシーン又はターゲット物理的マシーン以外の他のシステムであってもよく、このことは、本発明の実施例において限定されない。図24に示されるように、システム800は、バーチャルマシーンマイグレーション管理装置810及びバーチャルマシーン820を有し、ここで、バーチャルマシーンマイグレーション管理装置810は、図21〜22に説明されるバーチャルマシーンマイグレーション管理装置の何れか1つであってもよく、バーチャルマシーン820は、図23に説明されるバーチャルマシーンであってもよい。
従って、本発明の実施例におけるバーチャルマシーンのホットマイグレーションを実現するシステムによると、マルチプロセスシステムにおけるプロセス及びメモリページが分類され、これにより、一時的データメモリページはコピーされず、非一時的データメモリページのみがダーティページの循環的コピープロセスにおいてコピーされ、これにより、バーチャルマシーンのホットマイグレーションの時間の消費を低減し、一時的データの変化によって生じるシステムのネットワーク帯域幅とCPUなどのシステムリソースの浪費を低減し、システムリソースを節約し、ユーザ体感を向上させる。
上記実施例における各種インタフェースはまた他の名前をとってもよいことが理解されるべきである。これらのインタフェースはインタフェースのビルトイン機能に従って決定されるべきであり、これらのインタフェースの名前は、本発明の実施例におけるこれらのインタフェースに対する限定として解釈されるべきでない。
当業者は、本明細書に開示された実施例に説明される具体例に関連して、方法のステップ及びユニットは電子ハードウェア、コンピュータソフトウェア又はこれらの組み合わせにより実現されてもよいことを認識してもよい。ハードウェアとソフトウェアとの互換性を明確に説明するため、上記は一般に機能により各実施例のステップ及び構成を説明した。これらの機能がハードウェア又はソフトウェアにより実行されるかは、技術的方策の特定の適用及び設計制約条件に依存する。当業者は、異なる方法を利用して、各適用について説明された機能を実現してもよいが、実現形態は本発明の範囲を超えると解釈されるべきでない。
便宜的及び簡単な説明のため、上記のシステム、装置及びユニットの詳細なワーキングプロセスについて、上記の方法の実施例における対応するプロセスが参照されてもよく、詳細はここでは再度説明されないことは、当業者により明確に理解されうる。
本出願において提供される複数の実施例では、開示されたシステム、装置及び方法は他の方式により実現されてもよいことが理解されるべきである。例えば、ユニットの分割は単なる論理的機能の分割であり、実際の実現形態では他の分割であってもよい。例えば、複数のユニット又はコンポーネントは他のシステムに合成又は統合されてもよいし、あるいは、一部の特徴は無視又は実行されなくてもよい。さらに、表示又は説明された相互結合又は直接的な結合若しくは通信接続は、あるインタフェースを介し実現されてもよい。装置又はユニット間の間接的な結合又は通信接続は、電子、機械又は他の形態により実現されてもよい。
別々のパーツとして説明されたユニットは物理的に分離してもよいし、又はそうでなくてもよく、ユニットとして表示されたパーツは、物理的ユニットであってもよいし、又はそうでなくてもよく、1つの位置に配置されてもよいし、あるいは、複数のネットワークユニットに分散されてもよい。ユニットの一部又は全ては、本発明の実施例の方策の課題を達成するため、実際の必要に応じて選択されてもよい。
さらに、本発明の実施例における機能ユニットは1つの処理ユニットに統合されてもよく、あるいは、各ユニットは物理的に単独で存在してもよく、あるいは、2以上のユニットが1つのユニットに統合される。統合されたユニットは、ハードウェアの形態により実現されてもよいし、又はソフトウェア機能ユニットの形態により実現されてもよい。
統合されたユニットがソフトウェア機能ユニットの形態により実現され、独立した製品として販売又は利用されるとき、統合されたユニットは、コンピュータ可読記憶媒体に格納されてもよい。このような理解に基づき、実質的に本発明の技術的方策、従来技術に寄与する部分又は技術的方策の全て若しくは一部は、ソフトウェアプロダクトの形態により実現されてもよい。ソフトウェアプロダクトは、記憶媒体に格納され、本発明の実施例において説明される方法のステップの全て又は一部を実行するようコンピュータデバイス(パーソナルコンピュータ、サーバ又はネットワークデバイスであってもよい)に指示するための複数の命令を有する。上記の記憶媒体は、USBフラッシュドライブ、着脱可能なハードディスク、読み出し専用メモリ(Read−Only Memory,ROM)、ランダムアクセスメモリ(Random Access Memory,RAM)、磁気ディスク又は光ディスクなど、プログラムコードを格納可能な何れかの媒体を含む。
上記の説明は、単なる本発明の特定の実施例であり、本発明の保護範囲を限定することを意図するものでない。本発明において開示された技術範囲内であると当業者により容易に理解される何れかの修正又は置換は、本発明の保護範囲内に属する。従って、本発明の保護範囲は請求項の保護範囲に従う。

Claims (23)

  1. バーチャルマシーンのホットマイグレーションを実現する方法であって、
    ソース物理的マシーン上のソースバーチャルマシーンマイグレーション管理装置が、前記ソース物理的マシーン上のバーチャルマシーンの非一時的データメモリページを判定するステップであって、前記判定するステップは、一時的データプロセスメモリページ登録インタフェースを介し前記バーチャルマシーンにより通知された一時的データメモリページに関する情報を取得するステップと、前記バーチャルマシーン上の前記一時的データメモリページを除くメモリページが非一時的データメモリページであると前記一時的データメモリページに関する情報に従って判定するステップとを有する、判定するステップと、
    前記非一時的データメモリページを前記ソース物理的マシーンからターゲット物理的マシーンにコピーするステップと、
    前記非一時的データメモリページをコピーするプロセスにおいて生成されるダーティページを、前記非一時的データメモリページの数に対する未コピーのダーティページの数のレシオが所定値未満になるまで、前記ソース物理的マシーンから前記ターゲット物理的マシーンに循環的にコピーするステップと、
    前記非一時的データメモリページの数に対する前記未コピーのダーティページの数のレシオが前記所定値未満になると、前記バーチャルマシーンのマイグレーションを実行するステップと、
    を有する方法。
  2. 前記バーチャルマシーンのマイグレーションを実行するステップは、
    前記バーチャルマシーンの実行を停止するステップと、
    前記バーチャルマシーン上の前記一時的データメモリページと前記未コピーのダーティページとを前記ソース物理的マシーンから前記ターゲット物理的マシーンにコピーするステップと、
    前記ターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に第1通知情報を送信するステップであって、前記第1通知情報は、前記ターゲット物理的マシーン上に前記バーチャルマシーンを復元するよう前記ターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される、送信するステップと、
    を有する、請求項1記載の方法。
  3. 前記バーチャルマシーンのマイグレーションを実行するステップは、
    マイグレーション事前通知インタフェースを介し前記バーチャルマシーンに一時的データプロセスの実行を停止するよう通知するステップと、
    前記バーチャルマシーンにより通知された停止成功レスポンスが前記マイグレーション事前通知インタフェースを介し取得されると、前記バーチャルマシーンの実行を停止するステップであって、前記停止成功レスポンスは、前記バーチャルマシーンが前記一時的データプロセスの実行の停止に成功したことを示すのに利用される、停止するステップと、
    前記未コピーのダーティページを前記ソース物理的マシーンから前記ターゲット物理的マシーンにコピーするステップと、
    前記ターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に第1通知情報を送信するステップであって、前記第1通知情報は、前記ターゲット物理的マシーン上に前記バーチャルマシーンを復元するよう前記ターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される、送信するステップと、
    を有する、請求項1記載の方法。
  4. 当該方法は更に、
    前記ターゲットバーチャルマシーンマイグレーション管理装置に第2通知情報を送信するステップを有し、前記第2通知情報は、マイグレーション完了通知インタフェースを介し前記バーチャルマシーンに前記停止された一時的データプロセスを再開することを通知するよう前記ターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される、請求項3記載の方法。
  5. バーチャルマシーンのホットマイグレーションを実現する方法であって、
    ソース物理的マシーン上のバーチャルマシーンが、前記バーチャルマシーンの一時的データメモリページを判定するステップと、
    前記ソース物理的マシーン上のソースバーチャルマシーンマイグレーション管理装置に、一時的データプロセスメモリページ登録インタフェースを介し前記一時的データメモリページに関する情報を通知するステップであって、前記ソースバーチャルマシーンマイグレーション管理装置は、前記一時的データメモリページに関する情報に従って前記バーチャルマシーンの非一時的データメモリページを判定し、前記ソース物理的マシーンからターゲット物理的マシーンへの前記バーチャルマシーンのホットマイグレーションを実行するプロセスにおいて前記非一時的データメモリページをコピーする、通知するステップと、
    を有する方法。
  6. 前記ソース物理的マシーン上のソースバーチャルマシーンマイグレーション管理装置に、一時的データプロセスメモリページ登録インタフェースを介し前記一時的データメモリページに関する情報を通知するステップの後に、当該方法は更に、
    マイグレーション事前通知インタフェースを介し前記ソースバーチャルマシーンマイグレーション管理装置により通知される一時的データプロセス停止通知を取得するステップと、
    前記一時的データプロセス停止通知に従って、一時的データプロセスの実行を停止するステップと、
    前記一時的データプロセスの停止が成功すると、前記マイグレーション事前通知インタフェースを介し前記ソースバーチャルマシーンマイグレーション管理装置に停止成功レスポンスを通知するステップであって、前記ソースバーチャルマシーンマイグレーション管理装置は、前記停止成功レスポンスに従って前記バーチャルマシーンの実行を停止し、前記ターゲット物理的マシーン上で前記バーチャルマシーンを復元するよう前記ターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に指示する、通知するステップと、
    を有する、請求項記載の方法。
  7. 当該方法は更に、
    前記バーチャルマシーンが前記ターゲットバーチャルマシーンマイグレーション管理装置により復元されると、前記バーチャルマシーンが、マイグレーション完了通知インタフェースを介し前記ターゲットバーチャルマシーンマイグレーション管理装置により通知された一時的データプロセス再開通知を取得するステップと、
    前記一時的データプロセス再開通知に従って前記停止された一時的データプロセスを再開するステップと、
    を有する、請求項記載の方法。
  8. 前記一時的データメモリページを判定するステップは、
    一時的データプロセス登録インタフェースを介しアプリケーションにより通知された前記一時的データプロセスに関する情報を取得するステップと、
    前記一時的データプロセスにより占有されたメモリページが一時的データメモリページであることを前記一時的データプロセスに関する情報に従って判定するステップと、
    を含む、請求項乃至何れか一項記載の方法。
  9. 前記一時的データメモリページを判定するステップは、
    一時的データ専用メモリブロックを判定するステップと、
    前記一時的データ専用メモリブロックにおける全てのメモリページが前記一時的データメモリページであると判定するステップと、
    を含み、
    当該方法は更に、
    プロセス作成インタフェースを介しアプリケーションにより通知されたプロセスタイプを取得するステップであって、前記プロセスタイプは一時的データプロセス又は永続的データプロセスを含む、取得するステップと、
    前記プロセスタイプが一時的データプロセスであるとき、前記一時的データ専用メモリブロックにおけるメモリページを前記一時的データプロセスに割り当てるステップと、
    を有する、請求項乃至何れか一項記載の方法。
  10. バーチャルマシーンマイグレーション管理装置であって、
    ソース物理的マシーン上のバーチャルマシーンの非一時的データメモリページを判定するよう構成される判定モジュールであって、前記判定モジュールは、一時的データプロセスメモリページ登録インタフェースを介し前記バーチャルマシーンにより通知された一時的データメモリページに関する情報を取得するよう構成される取得ユニットと、前記バーチャルマシーン上の前記一時的データメモリページを除くメモリページが非一時的データメモリページであると前記取得ユニットにより取得された前記一時的データメモリページに関する情報に従って判定するよう構成される判定ユニットとを有する、判定モジュールと、
    前記判定モジュールにより判定された非一時的データメモリページを前記ソース物理的マシーンからターゲット物理的マシーンにコピーし、前記非一時的データメモリページをコピーするプロセスにおいて生成されるダーティページを、前記非一時的データメモリページの数に対する未コピーのダーティページの数のレシオが所定値未満になるまで、前記ソース物理的マシーンから前記ターゲット物理的マシーンに循環的にコピーするよう構成されるコピーモジュールと、
    前記非一時的データメモリページの数に対する前記コピーモジュールによる前記未コピーのダーティページの数のレシオが前記所定値未満になると、前記バーチャルマシーンのマイグレーションを実行するよう構成されるマイグレーションモジュールと、
    を有するバーチャルマシーンマイグレーション管理装置。
  11. 前記マイグレーションモジュールは、
    前記バーチャルマシーンの実行を停止するよう構成される第1停止ユニットと、
    前記第1停止ユニットが前記バーチャルマシーンの実行を停止した後、前記バーチャルマシーン上の前記一時的データメモリページと前記未コピーのダーティページとを前記ソース物理的マシーンから前記ターゲット物理的マシーンにコピーするよう構成される第1コピーユニットと、
    前記第1コピーユニットが前記バーチャルマシーン上の前記一時的データメモリページと前記未コピーのダーティページとをコピーした後、前記ターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に第1通知情報を送信するよう構成される第1送信ユニットであって、前記第1通知情報は、前記ターゲット物理的マシーン上に前記バーチャルマシーンを復元するよう前記ターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される、第1送信ユニットと、
    を有する、請求項10記載のバーチャルマシーンマイグレーション管理装置。
  12. 前記マイグレーションモジュールは、
    マイグレーション事前通知インタフェースを介し前記バーチャルマシーンに一時的データプロセスの実行を停止するよう通知するよう構成される第1通知ユニットと、
    前記バーチャルマシーンにより通知された停止成功レスポンスを前記マイグレーション事前通知インタフェースを介し取得するよう構成される第1取得ユニットであって、前記停止成功レスポンスは、前記バーチャルマシーンが前記第1通知ユニットの通知に従って前記一時的データプロセスの実行の停止に成功したことを示すのに利用される、第1取得ユニットと、
    前記第1取得ユニットが前記バーチャルマシーンにより通知された前記停止成功レスポンスを取得すると、前記バーチャルマシーンの実行を停止するよう構成される第2停止ユニットと、
    前記第2停止ユニットが前記バーチャルマシーンの実行を停止すると、前記未コピーのダーティページを前記ソース物理的マシーンから前記ターゲット物理的マシーンにコピーするよう構成される第2コピーユニットと、
    前記第2コピーユニットが前記未コピーのダーティページを前記ソース物理的マシーンから前記ターゲット物理的マシーンにコピーした後、前記ターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に第1通知情報を送信するよう構成される第2送信ユニットであって、前記第1通知情報は、前記ターゲット物理的マシーン上に前記バーチャルマシーンを復元するよう前記ターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される、第2送信ユニットと、
    を有する、請求項10記載のバーチャルマシーンマイグレーション管理装置。
  13. 当該バーチャルマシーンマイグレーション管理装置は更に、
    前記ターゲットバーチャルマシーンマイグレーション管理装置に第2通知情報を送信するよう構成される送信モジュールを有し、前記第2通知情報は、マイグレーション完了通知インタフェースを介し前記バーチャルマシーンに前記停止された一時的データプロセスを再開することを通知するよう前記ターゲットバーチャルマシーンマイグレーション管理装置に指示するのに利用される、送信モジュールを有する、請求項12記載のバーチャルマシーンマイグレーション管理装置。
  14. バーチャルマシーンであって、
    当該バーチャルマシーンの一時的データメモリページを判定するよう構成される判定モジュールと、
    ソース物理的マシーン上のソースバーチャルマシーンマイグレーション管理装置に、一時的データプロセスメモリページ登録インタフェースを介し前記判定モジュールにより判定された前記一時的データメモリページに関する情報を通知するよう構成される通知モジュールであって、前記ソースバーチャルマシーンマイグレーション管理装置は、前記一時的データメモリページに関する情報に従って前記バーチャルマシーンの非一時的データメモリページを判定し、前記ソース物理的マシーンからターゲット物理的マシーンへの当該バーチャルマシーンのホットマイグレーションを実行するプロセスにおいて前記非一時的データメモリページをコピーする、通知モジュールと、
    を有するバーチャルマシーン。
  15. 当該バーチャルマシーンは更に、
    前記通知モジュールが前記ソース物理的マシーン上のソースバーチャルマシーンマイグレーション管理装置に、前記一時的データプロセスメモリページ登録インタフェースを介し前記一時的データメモリページに関する情報を通知した後に、マイグレーション事前通知インタフェースを介し前記ソースバーチャルマシーンマイグレーション管理装置により通知される一時的データプロセス停止通知を取得するよう構成される第1取得モジュールと、
    前記第1取得モジュールにより取得された前記一時的データプロセス停止通知に従って、一時的データプロセスの実行を停止するよう構成される停止モジュールと、
    を有し、
    前記通知モジュールは、前記停止モジュールが前記一時的データプロセスの実行の停止に成功すると、前記マイグレーション事前通知インタフェースを介し前記ソースバーチャルマシーンマイグレーション管理装置に停止成功レスポンスを通知するよう構成され、前記ソースバーチャルマシーンマイグレーション管理装置は、前記停止成功レスポンスに従って当該バーチャルマシーンの実行を停止し、前記ターゲット物理的マシーン上で当該バーチャルマシーンを復元するよう前記ターゲット物理的マシーン上のターゲットバーチャルマシーンマイグレーション管理装置に指示する、請求項14記載のバーチャルマシーン。
  16. 当該バーチャルマシーンは更に、
    当該バーチャルマシーンが前記ターゲットバーチャルマシーンマイグレーション管理装置により復元されると、マイグレーション完了通知インタフェースを介し前記ターゲットバーチャルマシーンマイグレーション管理装置により通知された一時的データプロセス再開通知を取得するよう構成される第2取得モジュールと、
    前記第2取得モジュールにより取得された前記一時的データプロセス再開通知に従って前記停止された一時的データプロセスを再開するよう構成される開始モジュールと、
    を有する、請求項15記載のバーチャルマシーン。
  17. 前記判定モジュールは、
    一時的データプロセス登録インタフェースを介しアプリケーションにより通知された前記一時的データプロセスに関する情報を取得するよう構成される取得ユニットと、
    前記一時的データプロセスにより占有されたメモリページが前記一時的データメモリページであることを前記取得ユニットにより取得された前記一時的データプロセスに関する情報に従って判定するよう構成される判定ユニットと、
    を含む、請求項15乃至16何れか一項記載のバーチャルマシーン。
  18. 前記判定モジュールは、具体的には、一時的データ専用メモリブロックを判定し、前記一時的データ専用メモリブロックにおける全てのメモリページが前記一時的データメモリページであると判定するよう構成され、
    当該バーチャルマシーンは更に、
    プロセス作成インタフェースを介しアプリケーションにより通知されたプロセスタイプを取得するよう構成される第3取得モジュールであって、前記プロセスタイプは一時的データプロセス又は永続的データプロセスを含む、第3取得モジュールと、
    前記第3取得モジュールにより取得された前記プロセスタイプが一時的データプロセスであるとき、前記一時的データ専用メモリブロックにおけるメモリページを前記一時的データプロセスに割り当てるよう構成される割当てモジュールと、
    を有する、請求項14乃至16何れか一項記載のバーチャルマシーン。
  19. バーチャルマシーンのホットマイグレーションを実現するシステムであって、
    請求項10乃至13何れか一項記載のバーチャルマシーンマイグレーション管理装置と、
    請求項14乃至18何れか一項記載のバーチャルマシーンと、
    を有するシステム。
  20. プログラムを記録するコンピュータ可読記憶媒体であって、
    前記プログラムは、コンピュータに請求項1乃至何れか一項記載の方法を実行させるコンピュータ可読記憶媒体。
  21. プログラムを記録するコンピュータ可読記憶媒体であって、
    前記プログラムは、コンピュータに請求項乃至何れか一項記載の方法を実行させるコンピュータ可読記憶媒体。
  22. プロセッサと前記プロセッサに接続されるメモリとを有するバーチャルマシーンマイグレーション管理装置であって、
    前記プロセッサは、請求項1乃至何れか一項記載の方法を実行するよう構成されるバーチャルマシーンマイグレーション管理装置。
  23. プロセッサと前記プロセッサに接続されるメモリとを有するバーチャルマシーンマイグレーション管理装置であって、
    前記プロセッサは、請求項乃至何れか一項記載の方法を実行するよう構成されるバーチャルマシーンマイグレーション管理装置。
JP2015544320A 2012-11-30 2013-07-18 バーチャルマシーンのホットマイグレーションを実現する方法、装置及びシステム Active JP5965552B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201210504276.4 2012-11-30
CN201210504276.4A CN103049308B (zh) 2012-11-30 2012-11-30 实现虚拟机热迁移的方法、装置及系统
PCT/CN2013/079570 WO2014082459A1 (zh) 2012-11-30 2013-07-18 实现虚拟机热迁移的方法、装置及系统

Publications (2)

Publication Number Publication Date
JP2015535636A JP2015535636A (ja) 2015-12-14
JP5965552B2 true JP5965552B2 (ja) 2016-08-10

Family

ID=48061958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015544320A Active JP5965552B2 (ja) 2012-11-30 2013-07-18 バーチャルマシーンのホットマイグレーションを実現する方法、装置及びシステム

Country Status (5)

Country Link
US (1) US9672075B2 (ja)
EP (1) EP2916217B1 (ja)
JP (1) JP5965552B2 (ja)
CN (1) CN103049308B (ja)
WO (1) WO2014082459A1 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309625B (zh) * 2013-05-29 2016-06-08 华为技术有限公司 一种基于自适应存储热迁移的方法和系统
JP6160253B2 (ja) * 2013-05-30 2017-07-12 富士通株式会社 仮想機械管理装置、仮想機械管理方法及び情報処理システム
CN103353850B (zh) * 2013-06-13 2017-02-22 华为技术有限公司 虚拟机热迁移内存处理方法、装置和系统
US9436751B1 (en) * 2013-12-18 2016-09-06 Google Inc. System and method for live migration of guest
CN103744725B (zh) * 2013-12-24 2017-01-25 杭州华为数字技术有限公司 一种虚拟机管理方法及装置
CN103955399B (zh) * 2014-04-30 2017-06-20 华为技术有限公司 一种虚拟机迁移方法和装置及物理主机
CN104243203A (zh) * 2014-08-28 2014-12-24 深圳市深信服电子科技有限公司 虚拟机传输接口状态切换方法和系统
US10296452B2 (en) * 2015-05-11 2019-05-21 SK Hynix Inc. Data separation by delaying hot block garbage collection
CN105138394A (zh) * 2015-09-21 2015-12-09 上海爱数软件有限公司 一种热迁移kvm虚拟机的方法及系统
US11074092B2 (en) * 2015-12-18 2021-07-27 Intel Corporation Virtual machine batch live migration
US10127066B1 (en) 2016-03-31 2018-11-13 Amazon Technologies, Inc. Server synchronization using continuous block migration in provider network environments
US10133593B1 (en) 2016-03-31 2018-11-20 Amazon Technologies, Inc. Virtual machine migration
CN107465626A (zh) * 2016-06-03 2017-12-12 阿里巴巴集团控股有限公司 一种虚拟机热迁移方法及装置
US9880872B2 (en) * 2016-06-10 2018-01-30 GoogleLLC Post-copy based live virtual machines migration via speculative execution and pre-paging
CN108121589A (zh) * 2016-11-30 2018-06-05 中标软件有限公司 一种虚拟机的在线迁移自动收敛的方法
WO2018176359A1 (en) * 2017-03-31 2018-10-04 Intel Corporation Techniques to decrease live migration time for virtual machine
CN107479944B (zh) * 2017-07-20 2021-11-30 上海交通大学 混合云模式下的虚拟机内存自适应热迁移调度方法及系统
CN109426547B (zh) * 2017-09-04 2022-05-17 华为技术有限公司 一种虚拟机的热迁移方法、装置和系统
CN107832145B (zh) * 2017-10-24 2021-08-06 中安云科科技发展(山东)有限公司 一种基于虚拟机的系统资源释放方法
US10956197B2 (en) * 2017-12-13 2021-03-23 Citrix Systems, Inc. Virtual machine with an emulator manager for migration of synchronized streams of state data
CN110134490B (zh) * 2018-02-08 2023-12-29 中兴通讯股份有限公司 虚拟机动态迁移方法、设备及存储介质
US10754822B1 (en) * 2018-04-18 2020-08-25 Palantir Technologies Inc. Systems and methods for ontology migration
JP7125601B2 (ja) * 2018-07-23 2022-08-25 富士通株式会社 ライブマイグレーション制御プログラム及びライブマイグレーション制御方法
JP7197783B2 (ja) * 2019-01-11 2022-12-28 富士通株式会社 情報処理システム、管理装置および管理プログラム
CN110058970B (zh) * 2019-04-22 2022-10-18 重庆邮电大学 一种灾难风险模型下的双虚拟机准同步撤离方法
CN112416507B (zh) * 2019-08-22 2024-06-11 华为技术有限公司 一种虚拟机迁移方法以及设备
CN111176781A (zh) * 2019-08-23 2020-05-19 腾讯科技(深圳)有限公司 虚拟机热迁移方法、装置、存储介质与电子设备
CN110990133B (zh) * 2019-11-15 2022-11-04 杭州未名信科科技有限公司 边缘计算服务迁移方法、装置、电子设备及介质
CN111381933B (zh) * 2020-03-07 2023-09-22 北京工业大学 一种Docker热迁移实现方法
US11561821B1 (en) * 2020-05-07 2023-01-24 Amazon Technologies, Inc. Controlling placement of virtualized resources based on desirability index for host pools
CN112291345B (zh) * 2020-10-29 2023-03-24 上海市共进通信技术有限公司 物理机间进行进程迁移过程中保持socket不中断状态的方法
CN112433812B (zh) * 2020-11-19 2024-07-02 北京浪潮数据技术有限公司 一种虚拟机跨集群迁移方法、系统、设备及计算机介质
CN113626142B (zh) * 2021-07-14 2024-04-05 麒麟软件有限公司 一种虚拟时统卡热迁移方法
US20230359533A1 (en) * 2022-05-05 2023-11-09 Google Llc User Triggered Virtual Machine Cloning for Recovery/Availability/Scaling
CN115048183A (zh) * 2022-06-10 2022-09-13 曙光信息产业股份有限公司 一种虚拟机热迁移方法、装置、电子设备及存储介质
CN118502885B (zh) * 2024-07-15 2024-10-15 济南浪潮数据技术有限公司 一种热迁移方法、设备、程序产品及介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8806480B2 (en) * 2007-06-29 2014-08-12 Microsoft Corporation Virtual machine smart migration
CN100489787C (zh) * 2007-07-10 2009-05-20 北京大学 一种虚拟机的外存在线迁移方法
US8694990B2 (en) * 2007-08-27 2014-04-08 International Business Machines Corporation Utilizing system configuration information to determine a data migration order
US9086901B2 (en) * 2008-03-07 2015-07-21 Sap Se Migration of applications from physical machines to virtual machines
JP5692065B2 (ja) * 2009-04-28 2015-04-01 日本電気株式会社 計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム
US8478725B2 (en) * 2009-09-14 2013-07-02 Vmware, Inc. Method and system for performing live migration of persistent data of a virtual machine
US8370560B2 (en) * 2009-11-16 2013-02-05 International Business Machines Corporation Symmetric live migration of virtual machines
CN102081552A (zh) * 2009-12-01 2011-06-01 华为技术有限公司 一种物理机到虚拟机的在线迁移方法、装置和系统
US8468288B2 (en) * 2009-12-10 2013-06-18 International Business Machines Corporation Method for efficient guest operating system (OS) migration over a network
US9110702B2 (en) * 2010-06-02 2015-08-18 Microsoft Technology Licensing, Llc Virtual machine migration techniques
US9317314B2 (en) * 2010-06-29 2016-04-19 Microsoft Techology Licensing, Llc Techniques for migrating a virtual machine using shared storage
US8990531B2 (en) * 2010-07-12 2015-03-24 Vmware, Inc. Multiple time granularity support for online classification of memory pages based on activity level
JP5614226B2 (ja) * 2010-10-15 2014-10-29 富士通株式会社 仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法
CN102681913A (zh) * 2011-12-21 2012-09-19 中兴通讯股份有限公司 一种虚拟机到虚拟机热迁移的方法及装置
US9092318B2 (en) * 2012-02-06 2015-07-28 Vmware, Inc. Method of allocating referenced memory pages from a free list
CN102662723A (zh) * 2012-02-28 2012-09-12 北京邮电大学 一种基于停机时间阈值的虚拟机内存迁移方法
US9197489B1 (en) * 2012-03-30 2015-11-24 Amazon Technologies, Inc. Live migration of virtual machines in a hybrid network environment
US9110704B2 (en) * 2012-05-31 2015-08-18 Red Hat Israel, Ltd. Pre-warming of multiple destinations for fast live migration
US9483414B2 (en) * 2013-11-25 2016-11-01 Red Hat Israel, Ltd. Ordered memory pages transmission in virtual machine live migration

Also Published As

Publication number Publication date
EP2916217A1 (en) 2015-09-09
WO2014082459A1 (zh) 2014-06-05
US9672075B2 (en) 2017-06-06
EP2916217A4 (en) 2016-02-17
JP2015535636A (ja) 2015-12-14
CN103049308B (zh) 2016-01-20
CN103049308A (zh) 2013-04-17
EP2916217B1 (en) 2020-09-30
US20150261581A1 (en) 2015-09-17

Similar Documents

Publication Publication Date Title
JP5965552B2 (ja) バーチャルマシーンのホットマイグレーションを実現する方法、装置及びシステム
US10810045B2 (en) Method and apparatus for allocating central processing unit (CPU) resources in a default resource pool
US10768960B2 (en) Method for affinity binding of interrupt of virtual network interface card, and computer device
WO2015196931A1 (zh) 基于磁盘io的虚拟资源分配方法及装置
US10628273B2 (en) Node system, server apparatus, scaling control method, and program
US9183099B2 (en) Replication of a write-back cache using a placeholder virtual machine for resource management
JP5510556B2 (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
EP2577450B1 (en) Virtual machine migration techniques
EP2775399A1 (en) Resource management method of virtual machine system, virtual machine system, and apparatus
WO2016165304A1 (zh) 一种实例节点管理的方法及管理设备
WO2021018267A1 (zh) 虚拟机热迁移方法和通信设备
US9735984B2 (en) Bursting cloud resources to affect state change performance
KR20180086791A (ko) 빅 데이터 처리 지원을 위한 클라우드 시스템 및 그 운영 방법
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
KR20210121178A (ko) 엔진 선점 및 복원
CN106815067B (zh) 带i/o虚拟化的虚拟机在线迁移方法、装置
EP3358795B1 (en) Method and apparatus for allocating a virtual resource in network functions virtualization (nfv) network
US11379255B2 (en) Acceleration capacity adjustment method and apparatus for adjusting acceleration capacity of virtual machine
CN110019475B (zh) 数据持久化处理方法、装置及系统
JP6239400B2 (ja) 制御装置
CN117369943A (zh) 用于嵌入式平台的负载均衡方法、设备和存储介质
CN118567777A (zh) 基于云计算技术的服务器和虚拟实例的管理方法
CN116401060A (zh) 一种超融合下资源隔离方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150724

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150724

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20150724

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20151020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160105

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160603

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160701

R150 Certificate of patent or registration of utility model

Ref document number: 5965552

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250