JP2005327279A - 仮想計算機をマイグレーションするためのシステム、方法、およびプログラム - Google Patents

仮想計算機をマイグレーションするためのシステム、方法、およびプログラム Download PDF

Info

Publication number
JP2005327279A
JP2005327279A JP2005130300A JP2005130300A JP2005327279A JP 2005327279 A JP2005327279 A JP 2005327279A JP 2005130300 A JP2005130300 A JP 2005130300A JP 2005130300 A JP2005130300 A JP 2005130300A JP 2005327279 A JP2005327279 A JP 2005327279A
Authority
JP
Japan
Prior art keywords
computer
lpar
virtual machine
memory
communication queue
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.)
Granted
Application number
JP2005130300A
Other languages
English (en)
Other versions
JP4769484B2 (ja
JP2005327279A5 (ja
Inventor
Jennifer A Hunt
ジェニファー・エイ・ハント
Steven Shultz
スティーブン・シュルツ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2005327279A publication Critical patent/JP2005327279A/ja
Publication of JP2005327279A5 publication Critical patent/JP2005327279A5/ja
Application granted granted Critical
Publication of JP4769484B2 publication Critical patent/JP4769484B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】同じコンピュータ内のあるロジカル・パーティションから他のロジカル・パーティションにまたはある実コンピュータから他の実コンピュータに、仮想計算機を効率よくマイグレーションすることにある。
【解決手段】マイグレーションの前に、第1仮想計算機は、第1仮想計算機に専用の第1専用メモリ内にオペレーティング・システムおよびアプリケーションを有し、第1仮想計算機の通信キューは、第1および第2コンピュータまたは第1および第2LPARによって共用される共用メモリに常駐する。オペレーティング・システムおよびアプリケーションは、第1専用メモリから共用メモリにコピーされた後、共用メモリから第2コンピュータまたは第2LPAR内の第1仮想計算機に専用の第2専用メモリにコピーされる。第1仮想計算機は、第2コンピュータまたは第2LPAR内でレジュームされる。
【選択図】図1

Description

本発明は、一般に、コンピュータ・システムに関し、詳細には、同じ実コンピュータ内のあるロジカル・パーティションから他のロジカル・パーティションへのまたはある実コンピュータから他の実コンピュータへの仮想計算機のマイグレーションに対処するものである。
仮想計算機オペレーティング・システムは、現在、周知のものであり、ハイパバイザ・プログラムと、ハイパバイザによって形成された個別の仮想計算機とを含む。IBMのz/VMTMオペレーティング・システムでは、ハイパバイザ・プログラムは制御プログラム(「CP」)と呼ばれている。各仮想計算機も「ユーザ部分」または「ゲスト」と呼ばれている。仮想計算機は、プロセッサ(複数も可)、メモリ、ストレージ、および入出力(すなわち、ネットワーク・カード、プリンタ、およびディスプレイ)などのコンピュータ・リソースの仮想共用/パーティショニングである。ゲスト・オペレーティング・システムは、各仮想計算機上で実行される/動作する。各ゲスト・オペレーティング・システム上では1つまたは複数のアプリケーションが実行される。
実コンピュータ・リソースを論理的に分割することによりコンピュータを論理的にパーティショニングすることも知られていた。ユーザは、各ロジカル・パーティション(「LPAR」)、すなわち、各LPAR用のプロセッサ、メモリ、およびストレージの量を定義していた。各LPARには、特定の実コンピュータ・リソースまたは全コンピュータ・リソースのうちのシェア(share)を割り振ることができるであろう。その場合、コンピュータによっては、各ロジカル・パーティション内に複数の仮想計算機を形成するために各LPARに個別のハイパバイザがロードされた。このような各仮想計算機は、そのLPARに割り振られたリソースの仮想共用であった。
各アプリケーションおよびゲスト・オペレーティング・システムが仮想計算機内で実行される場合でも、それらはそれ自体の専用実コンピュータ上で実行されている場合と同様に動作する。以下に示すのは、既知の仮想計算機がそのプロセッサまたはプロセッサ時間のシェアを使用して作業項目を実行する方法の一例である。各仮想計算機は、それ自体の同期またはロック機能、作業キュー割当て機能、作業スケジューラ、およびその仮想計算機に割り当てられた作業項目またはタスクの関連キューを有する。この例では、同期またはロック機能、作業キュー割当て機能、作業スケジューラ、および作業キューはすべてその仮想計算機に専用のものである。同期またはロック機能は、どの作業項目が逐次実行されなければならないか、ならびにどのタスクが並列に実行されなければならないかを制御するために作業キューに関するロックを管理する。作業キュー割当て機能は、仮想計算機内のプログラム機能であって、仮想計算機によって生成されたときに仮想計算機の作業キューに作業項目を追加するものである。作業項目は、割当てアルゴリズムに基づく位置でキューに追加される。割当てアルゴリズムは、各作業項目の相対優先レベルおよび作業項目が作成された順序、すなわち、先入れ先出しなどの要因を考慮することができる。キュー上の各作業項目は、そのタイプを示す情報と、したがって、仮想計算機内のどの機能がそれを処理するのに最も適しているかを示す情報とを含む。「作業スケジューラ」は、実行のためにそのキュー上の各作業項目をスケジューリングするプログラム機能である。作業スケジューラは、仮想プロセッサによる実行のために仮想計算機内の適切な機能に作業項目を渡す。
複数の仮想計算機が1つの作業キューを共用して、仮想計算機およびそのそれぞれの実プロセッサのシェア間に作業項目を分散することも知られていた。サーバ仮想計算機は、他の「作業」仮想計算機に関するこの共用作業キューを「ホスティング」するために使用されていた。共用作業キューは、サーバ仮想計算機に専用のメモリに常駐する。作業仮想計算機が新しい作業項目を作成し、この作業仮想計算機用の作業キュー割当て機能がこの新しい作業項目をサーバ仮想計算機に送信することを決定すると、それは通信プロトコル(たとえば、TCP/IP)および仮想入出力デバイス・ドライバを使用して、その作業項目をこのサーバ仮想計算機に送信する。次に、サーバ仮想計算機は、サーバ仮想計算機が決定した順序でこの新しい作業項目を共用作業キュー上に配置する。共用作業キュー上の作業項目を実行するために作業仮想計算機内の仮想CPUが使用可能になっているとき、この作業計算機内の作業スケジューラは、通信プロトコルおよび仮想入出力デバイス・ドライバを使用して、サーバ仮想計算機に対する要求を行う。応答として、サーバ仮想計算機は、通信プロトコルを使用して、その要求を行った作業仮想計算機に作業項目を送信する。この配置は共用作業キューを提供するが、作業キューに作業項目を送信するとともに作業キューから作業項目を入手するために高オーバヘッドの通信プロトコルを必要とする。
Casey他により2003年4月29日に出願され、「Management of Virtual Machines to Utilize Shared Resources」という名称の米国特許出願第10/425470号は、アプリケーション(複数も可)がリソース制限付きであるときに、そのオペレーティング・システムおよびアプリケーション(複数も可)を含む、仮想計算機の「クローン作成」を開示している。そのアプリケーション(複数も可)を実行している追加の仮想計算機(そのリソースのシェアを含む)が存在するので、これは、全コンピュータ・リソースのうち、そのアプリケーション(複数も可)に割り振られる部分を増加することになる。この特許出願は、参照によりこの開示内容の一部として本明細書に関連するものである。Donovan他により2003年4月29日に出願され、「Management of Locks in a Virtual Machine Environment」という名称の米国特許出願第10/425468号は、複数の仮想計算機によって共用される作業キューおよび作業キュー・ロック構造を備えた共用メモリを開示している。複数の仮想計算機は、共用ロック構造および共用作業キューに直接アクセスすることができる。この特許出願は、参照によりこの開示内容の一部として本明細書に組み込まれる。
コンピュータがそのコンピュータに挿入された物理的通信カードを含むことは知られていた。通信カードが他のコンピュータからのメッセージを受信すると、その通信カードはコンピュータ内のCPUに割込みを送信する。応答として、CPUは、コンピュータ内のプログラム機能を呼び出して、そのメッセージをフェッチして処理することになる。物理的通信カードは取り外して、他のコンピュータに挿入することができるであろう。物理的通信カード内のメモリに収容されているが、まだ元のコンピュータによって読み取られていないメッセージは、他のパーソナル・コンピュータに使用可能なものにはならないであろう。また、元のコンピュータから他のパーソナル・コンピュータへの移動中に物理的通信カードに送信されたメッセージは失われるであろう。
コンピュータが(ディスク)ストレージにデータを書き込み、それからデータを読み取るために物理的ブロック入出力カードを含むことも知られていた。書込みモード中にコンピュータのCPUは、ブロック入出力に1つのデータ・ブロックを渡し、それがストレージに書き込まれることを要求する。応答として、ブロック入出力カードは、そのデータをストレージに書き込み、次に入出力が完了したことを示す割込みをCPUに返送する。その割込みを受信すると、CPUは、そのデータ・ブロックが正常にストレージに書き込まれたことを把握し、したがって、たとえば、メモリからのデータの消去を続行することができる。読取りモード中にCPUは、指定のデータ・ブロックをストレージから読み取るようブロック入出力カードに要求する。応答として、ブロック入出力カードは、そのデータをストレージから読み取り、それをCPUにとってアクセス可能なバッファに書き込む。次に、ブロック入出力カードは、入出力が完了したことを示す割込みをCPUに返送する。その割込みを受信した後、CPUは、バッファからデータを読み取ることができる。物理的ブロック入出力カードは取り外して、他のコンピュータに挿入することができるであろう。しかし、元のコンピュータから他のパーソナル・コンピュータへの移動中に物理的ブロック入出力カード上で現在進行中の入出力要求は失われるであろう。
ある実コンピュータから他のコンピュータにならびにある実コンピュータ内のあるLPARから他のLPARに仮想計算機をマイグレーションすることは知られていた。Adesse CorporationのSingle System Imageは、仮想計算機の状態を保管し、その仮想計算機をマイグレーションすることができるであろうが、進行中の入出力がまったくなく、その仮想計算機が通信装置を備えていない場合に限られていた。Brookhaven National Laboratoryによる「Guest Save/Restore Facility」というタイトルのリサーチ・プロジェクトは、仮想計算機の状態を保管し、将来のある時期にその仮想計算機をレジュームすることができるであろうが、進行中の入出力がまったくなく、その仮想計算機が通信装置を備えていない場合に限られていた。MiraSoft, Inc.の分散装置は、仮想計算機の状態を保管し、その仮想計算機をマイグレーションすることができるであろうが、進行中の入出力がまったくなく、その仮想計算機が通信装置を備えていない場合に限られていた。これら3通りの製品では、仮想計算機間通信はまったく許可されていなかった。「作動時(in flight)」入出力、すなわち、ある仮想計算機から他の仮想計算機に送信されたが、まだ他の仮想計算機によって受信または処理されていない通信およびデータを処理する能力はまったくなかった。
VMWare CorporationのVMMotionプログラムは、そのプログラム・コード、状態情報、レジスタ、メモリなどを含むアプリケーションをある実コンピュータから他の実コンピュータにマイグレーションする。アプリケーションが実行されるコンピュータ・システムは、仮想ネットワーク・インターフェース・カードを有する通信装置を使用する。アプリケーションのマイグレーションの前に、ある程度の期間の間、着信通信は停止され、マイグレーション中に「作動時」通信がまったく発生しないように前の通信は完了していた。また、アプリケーションが実行されるコンピュータ・システムは、ブロック・データの保管のためにディスク・ドライバとディスクを使用する。アプリケーションのマイグレーションの前に、ある程度の期間の間、ディスク入出力操作は停止され、マイグレーション中に原因不明の入出力がまったく発生しないように前のディスク入出力操作は完了していた。
現在、ある実コンピュータから他の実コンピュータにLinuxイメージを移動することを対象とする「パーティション・イメージ」というオープン・ソース・プロジェクトが存在する。これは、Linuxイメージの状態をディスクに保管し、次にこのイメージを他のコンピュータにマイグレーションすることができる。しかし、イメージが保管される前に、すべての通信およびディスク入力は完了し、停止しなければならない。また、Tivoli System Automationプログラムは、あるコンピュータから他のコンピュータにアプリケーションを移動する。アプリケーションが実行されるコンピュータ・システムは、ソース・コンピュータからターゲット・コンピュータへの通信のために物理的カードを使用する。また、コンピュータ・システムは、データ・ブロックの保管のためにディスク・ドライバとディスクを使用する。マイグレーションの前に、ある程度の期間の間、通信装置は停止され、マイグレーション中に作動時通信がまったく発生しないように前の通信は完了していた。同様に、マイグレーションの前に、ある程度の期間の間、ディスク入出力操作は停止され、マイグレーション中に原因不明の入出力がまったく発生しないように前の入出力要求は完了していた。
米国特許出願第10/425470号 米国特許出願第10/425468号 「z/VM 4.2.0General Information」というIBM資料(文書番号:GC24−5991−03) 「IBM z/VMV4R4.0 CP Programming Services」というマニュアル
本発明の一目的は、同じ実コンピュータ内のあるロジカル・パーティションから他のロジカル・パーティションにまたはある実コンピュータから他の実コンピュータに、仮想計算機を効率よくマイグレーションすることにある。
本発明の他の目的は、通信を失ったり、相当な量の時間の間、後続の通信を停止せずに、仮想計算機への通信が進行中の間に仮想計算機をマイグレーションすることにある。
本発明は、第1の実コンピュータから第2の実コンピュータにまたは同じ実コンピュータ内の第1のLPARから第2のLPARに、第1の仮想計算機および通信キューをマイグレーションするためのシステム、コンピュータ・プログラム、および方法にある。マイグレーションの前に、第1の仮想計算機は、第1の仮想計算機に専用の第1の専用メモリ内にオペレーティング・システムおよびアプリケーションを有する。マイグレーションの前に、通信キューは、第1のコンピュータまたは第1のLPAR内の第1の仮想計算機および第2の仮想計算機によって共用される第1の共用メモリに常駐する。第1の仮想計算機は、第1のコンピュータまたは第1のLPAR内で停止される。第1のコンピュータまたは第1のLPARは、第2のコンピュータまたは第2のLPARにオペレーティング・システムおよびアプリケーションを伝達し、第2のコンピュータまたは第2のLPARは、第2のコンピュータまたは第2のLPAR内の第1の仮想計算機に専用の第2の専用メモリにオペレーティング・システムおよびアプリケーションを書き込む。第1のコンピュータまたは第1のLPARは、第2のコンピュータまたは第2のLPARに通信キューを伝達し、第2のコンピュータまたは第2のLPARは、第2のコンピュータまたは第2のLPAR内の第2ならびに第3および第4の仮想計算機によって共用される第2の共用メモリに通信キューを書き込む。第1の仮想計算機は、第2のコンピュータまたは第2のLPAR内でレジュームされる。
本発明の他の特徴により、第1の実コンピュータから第2の実コンピュータにまたは同じ実コンピュータ内の第1のLPARから第2のLPARに、第1の仮想計算機および通信キューをマイグレーションするためのシステム、方法、およびプログラムがある。マイグレーションの前に、第1の仮想計算機は、第1の仮想計算機に専用の第1の専用メモリ内にオペレーティング・システムおよびアプリケーションを有する。通信キューは、第1のコンピュータまたは第1のLPAR内の第1の仮想計算機および第2の仮想計算機によって共用される第1の共用メモリに常駐する。オペレーティング・システムおよびアプリケーションは、第1の専用メモリから第1および第2のコンピュータまたは第1および第2のLPARによって共用される共用ストレージにコピーされる。通信キューは、第1の共用メモリから共用ストレージにコピーされる。第2の実コンピュータまたは第2のLPARには、共用ストレージ内のオペレーティング・システム、アプリケーション、および通信キューが通知される。オペレーティング・システムおよびアプリケーションは、共用ストレージから第2のコンピュータまたは第2のLPAR内の第1の仮想計算機に専用の第2の専用メモリにコピーされる。第1の仮想計算機は、第2のコンピュータまたは第2のLPAR内でレジュームされる。通信キューは、共用ストレージから第2のコンピュータまたは第2のLPAR内の第1、第3、および第4の仮想計算機によって共用される第2の共用メモリにコピーされる。
本発明の他の特徴により、第1の実コンピュータから第2の実コンピュータにまたは同じ実コンピュータ内の第1のLPARから第2のLPARに、第1の仮想計算機をマイグレーションするためのシステム、方法、およびプログラムがある。マイグレーションの前に、第1の仮想計算機は、第1の仮想計算機に専用の第1の専用メモリ内にオペレーティング・システムおよびアプリケーションを有する。第1の仮想計算機の通信キューは、第1および第2のコンピュータまたは第1および第2のLPARによって共用される共用メモリに常駐する。オペレーティング・システムおよびアプリケーションは、第1の専用メモリから共用メモリにコピーされる。オペレーティング・システムおよびアプリケーションは、共用メモリから第2のコンピュータまたは第2のLPAR内の第1の仮想計算機に専用の第2の専用メモリにコピーされる。次に、第1の仮想計算機は、第2のコンピュータまたは第2のLPAR内でレジュームされる。
次に、図面に関して本発明を詳細に説明するが、同様の参照番号は図面全体を通して同様の要素を示す。図1は、本発明の一実施形態により全体を110で示したコンピュータ・システムを示している。コンピュータ・システム110は、CPU23と、RAM24と、ロジカル・パーティショニング・プログラム25と、ネットワーク・ポート(図示せず)と、オペレータ・コンソール27とを含む実/物理的コンピュータ20を含む。また、コンピュータ・システム110は、外部(ディスク)ストレージ26も含む。一例として、実コンピュータ20は、IBM(IBM Corporationの商標)のzSeries(IBM Corporationの商標)メインフレームにすることができるが、本発明は他のサーバ・コンピュータまたはパーソナル・コンピュータでも実現することができる。図1に図示した実施形態では、プログラム25は実コンピュータ20をロジカル・パーティション(「LPAR」)30および31に分割するが、プログラム25は、所望であれば、コンピュータ20をより多くのロジカル・パーティションに分割することができるであろう。LPARは、コンピュータ20の実コンピュータ・リソースのロジカル・パーティショニングである。たとえば、コンピュータ20が8つのプロセッサを含む場合、LPAR30には4つのプロセッサを割り振ることができ、LPAR31には他の4つのプロセッサを割り振ることができる。また、プログラム25は、概して「仮想」メモリとして、全メモリ24をLPAR30とLPAR31との間で分割する。図示した実施形態では、LPAR30および31はいずれも、大きいファイルの保管などの一般的な目的のために、ならびに差し迫った機能停止の場合の緊急メモリ・バックアップのために、ストレージ26にアクセスするか、それを共用することができる。「仮想」メモリ割振りは、実メモリ内の物理的場所にかかわらず、各LPARに対する仮想メモリ・アドレス範囲の割振りに基づくものである。プログラム25は、アドレス変換テーブルにより、各LPARによって使用される仮想アドレスを実データが保管される実メモリ・アドレスに変換する。両方のLPAR内の仮想計算機は、仮想アドレスによって共用ストレージ26にアクセスする。
ハイパバイザ・プログラム40および41は、それぞれLPAR30および31上で実行される。ハイパバイザ40は、LPAR30を複数の仮想計算機33、34、および35に分割する。換言すれば、ハイパバイザ40は、LPAR30のコンピュータ・リソース(プロセッサ(複数も可)23およびメモリ24のシェアを含む)を論理的に分割し仮想化して、それぞれの仮想計算機33〜35用のプラットフォームを形成する。実プロセッサ(複数も可)23の仮想シェアは、LPAR30に割り振られたプロセッサ(複数も可)のタイム・シェアである。実メモリ24の仮想シェアは、RAM24にマッピングされたある範囲の仮想アドレスである。ハイパバイザ40は、LPAR30内の各仮想計算機についてRAM24にマッピングされたある範囲の(仮想)専用メモリ(「VPM」)を割り振る。また、ハイパバイザ40は、LPAR30内のすべての仮想計算機33〜35についてRAM24にマッピングされた(仮想)共用メモリ50を定義する。仮想計算機33〜35がその(仮想)専用メモリまたは仮想共用メモリ50をアドレス指定すると、ハイパバイザ40は仮想メモリ・アドレスを実メモリ24の実アドレスに変換する。(必要であれば、ハイパバイザ40は、LPAR30上の仮想計算機33〜35のみによる使用のために共用ストレージ26の一部を定義し、LPAR31上の仮想計算機のみによる使用のために共用ストレージ26の他の一部を定義することもできる。)
LPAR30内の各仮想計算機ごとに、ゲスト・オペレーティング・システムおよびアプリケーション(複数も可)はその仮想計算機に割り振られた(仮想)プロセッサ(複数も可)上で実行される。ゲスト・オペレーティング・システム43〜45はそれぞれ仮想計算機33〜35上で実行され、アプリケーション53〜55はそれぞれゲスト・オペレーティング・システム43〜45上で実行される。しかし、各ゲスト・オペレーティング・システム上で複数のアプリケーションが実行される可能性もある。一例として、ゲスト・オペレーティング・システムは、Linux(Linus Torvaldsの米国およびその他の国における商標)オペレーティング・システムまたはIBMのCMS(IBM Corporationの商標)オペレーティング・システムにすることができる。MicrosoftのWindows(いずれもMicrosoft Corporationの米国およびその他の国における商標)オペレーティング・システム、Unix(Open Groupの米国およびその他の国における商標)オペレーティング・システム、Sun MicrosystemsのSolaris(いずれもSun Microsystems,Inc.の米国およびその他の国における商標)オペレーティング・システム、またはHewlett PackardのHP UXオペレーティング・システムなどの他のゲスト・オペレーティング・システムも実行可能である。一例として、アプリケーション53〜55は、IBMのDB2(IBM Corporationの商標)データベース管理アプリケーション、IBMのWebsphere(IBM Corporationの商標)アプリケーション、またはその他のアプリケーションにすることができる。アプリケーション53〜55が同じ実コンピュータまたは異なる実コンピュータ上の他の仮想計算機からの通信を生成するかまたはその通信のターゲットになる可能性があることを除いて、アプリケーション53〜55の性質は本発明のいかなる部分も形成するものではない。また、アプリケーション53〜55は、「ブロック」メモリからデータ・ブロックを読み取るか、または「ブロック」メモリに、場合によってはそのアプリケーション自体の専用ブロック・メモリに、その他の場合には同じLPAR内の他の仮想計算機のブロック・メモリに、データ・ブロックを書き込むことを要求することができる。
LPAR30内の各仮想計算機用のゲスト・オペレーティング・システムおよびアプリケーション(複数も可)は、その仮想計算機に割り振られた専用メモリに保管される。仮想計算機の専用メモリは、ゲスト・オペレーティング・システムおよびアプリケーション(複数も可)によって生成されたデータ、オペレーティング・システムおよびアプリケーション(複数も可)に関するプログラム状況ワード(「CPU状況」とも呼ばれる)、ゲスト・オペレーティング・システムおよびアプリケーション(複数も可)による処理中に使用されるデータ・レジスタも収容する。プログラム状況ワードは、プログラム内のどの行が現在実行中であるかまたは次に実行されるかを示す。また、プログラム状況ワードは、どの割込みが許可されるか、どの命令が許可されるか、ならびにどのメモリがアクセス可能であるかも示す。
同様に、ハイパバイザ41は、最初にLPAR31を仮想計算機36および37に分割し、その後、LPAR30からのそれぞれのマイグレーション後にLPAR31を追加の仮想計算機33M、34M、および35Mにさらに分割する。換言すれば、ハイパバイザ41は、LPAR31のコンピュータ・リソース(プロセッサ(複数も可)23、メモリ24、およびストレージ26のシェアを含む)を論理的に分割し仮想化して、仮想計算機36、37、33M、34M、および35Mのそれぞれを形成する。ハイパバイザ41は、これらの仮想計算機のそれぞれについてRAM24にマッピングされたある範囲の(仮想)専用メモリ(「VPM」)を割り振る。また、ハイパバイザ41は、LPAR31内のすべての仮想計算機36、37、33M、34M、および35MについてRAM24にマッピングされた(仮想)共用メモリ51も定義する。仮想計算機36,37、33M、34M、または35Mあるいは仮想計算機36,37、33M、34M、または35M内のアプリケーションがその(仮想)専用メモリまたは仮想共用メモリ51をアドレス指定すると、ハイパバイザ41は仮想メモリ・アドレスを実メモリ24の実アドレスに変換する。
LPAR31内の各仮想計算機ごとに、ゲスト・オペレーティング・システムおよびアプリケーション(複数も可)はその仮想計算機に割り振られたプロセッサ(複数も可)上で実行される。ゲスト・オペレーティング・システム46および47はそれぞれ仮想計算機36および37上で実行され、アプリケーション56および57はそれぞれゲスト・オペレーティング・システム46および47上で実行される。しかし、各ゲスト・オペレーティング・システム上で複数のアプリケーションが実行される可能性もある。一例として、ゲスト・オペレーティング・システムは、Linux(Linus Torvaldsの米国およびその他の国における商標)オペレーティング・システムまたはIBMのCMS(IBM Corporationの商標)オペレーティング・システムにすることができる。MicrosoftのWindows(いずれもMicrosoft Corporationの米国およびその他の国における商標)オペレーティング・システム、Unix(Open Groupの米国およびその他の国における商標)オペレーティング・システム、Sun MicrosystemsのSolaris(いずれもSun Microsystems,Inc.の米国およびその他の国における商標)オペレーティング・システム、またはHewlett PackardのHP UXオペレーティング・システムなどの他のゲスト・オペレーティング・システムも実行可能である。一例として、アプリケーション56〜57は、IBMのDB2(IBM Corporationの商標)データベース管理アプリケーション、IBMのWebsphere(IBM Corporationの商標)アプリケーション、またはその他のアプリケーションにすることができる。アプリケーション56〜57が同じ実コンピュータまたは異なる実コンピュータ上の他の仮想計算機からの通信を生成するかまたはその通信のターゲットになる可能性があることを除いて、アプリケーション56〜57の性質は本発明のいかなる部分も形成するものではない。また、アプリケーション56および57は、「ブロック」メモリからデータ・ブロックを読み取るか、または「ブロック」メモリに、場合によってはそのアプリケーション自体の専用ブロック・メモリに、その他の場合には同じLPAR内の他の仮想計算機のブロック・メモリに、データ・ブロックを書き込むことを要求することができる。
LPAR31内の各仮想計算機用のゲスト・オペレーティング・システムおよびアプリケーション(複数も可)は、その仮想計算機に割り振られた専用メモリに保管される。仮想計算機の専用メモリは、ゲスト・オペレーティング・システムおよびアプリケーション(複数も可)によって生成されたデータ、オペレーティング・システムおよびアプリケーション(複数も可)に関するプログラム状況ワード(「CPU状況」とも呼ばれる)、ゲスト・オペレーティング・システムおよびアプリケーション(複数も可)による処理中に使用されるデータ・レジスタも収容する。
一例として、ハイパバイザ・プログラム40および41のそれぞれは、LPARまたは実コンピュータから仮想計算機のそれぞれを形成するその現行の機能とともに、既存のIBM z/VM(IBM Corporationの商標)バージョン4.2.0または4.3.0という仮想計算機オペレーティング・システムを含むことができる。しかし、ハイパバイザ40および41は、後述の通り、仮想計算機と関連の通信キューおよびブロック・メモリをマイグレーションするための本発明による新しいプログラミングも含む。既存のz/VM4.2.0オペレーティング・システムの詳細は、PO Box 29570, IBM Publications, Raleigh, North Carolina 27626-0570のInternational Business Machines Corp.から、またはwww.IBM.com/shop/publications/orderのWWW上で入手可能な「z/VM 4.2.0 General Information」というIBM資料(文書番号:GC24−5991−03)に開示されている。この資料は、参照によりこの開示内容の一部として本明細書に組み込まれる。z/VMオペレーティング・システムでは、ハイパバイザ40および41は制御プログラム(「CP」)と呼ばれ、「仮想計算機」は「ゲスト仮想計算機」とも呼ばれる。
上記で説明した通り、ハイパバイザ40は、LPAR30上のすべての仮想計算機33〜35によって共用される共用メモリ域50を定義し管理する。すべての仮想計算機33〜35は、適切なアドレスを把握している場合、共用メモリ50と、その適切なアドレスによって共用メモリに保管されたデータ構造に直接アクセスすることができる。しかし、LPAR31内の仮想計算機(すなわち、マイグレーションしたときの仮想計算機36および37ならびに33M、34M、および35M)は、共用メモリ50にアクセスすることができない。仮想計算機33〜35のそれぞれについて、共用メモリ50内にそれぞれの通信キューとそれぞれのブロック・メモリが存在する。簡単にするために、図1は、仮想計算機35用の1つの通信キュー52と1つのブロック・メモリ54のみを示しているが、他の仮想計算機33および34のそれぞれは同様にそれぞれの通信キューとブロック・メモリを有することになる。
図示した実施形態では、図7に関して以下に説明する通り、通信キュー52は、仮想計算機33および35がそれに対して通信の形で作業項目を供給することができ、仮想計算機35がそれから処理すべき作業項目を獲得することができる作業キューである。したがって、仮想計算機33および34は、仮想計算機35に通信することができる。同様に、仮想計算機33用の通信キューは、作業項目を供給することにより、仮想計算機34および35が仮想計算機33に通信することを許可し、仮想計算機34用の通信キューは、作業項目を供給することにより、仮想計算機33および35が仮想計算機34に通信することを許可する。
プログラムおよびデータの保管のために仮想計算機33〜35が共用メモリ50、すなわち、RAMを使用する図示した実施形態では、ブロック・メモリ54はファイルおよびディレクトリを収容する、共用メモリ50内のメモリ領域である。各ディレクトリは、ブロック・メモリ54の内容をリストする。ブロック・メモリ54が共用される本発明の一実施形態では、仮想計算機33〜35のそれぞれは、ブロック・メモリ54にデータ・ブロックを書き込み、そこからデータ・ブロックを読み取ることができる。ブロック・メモリが専用である本発明の他の実施形態では、LPAR30内の各ブロック・メモリは仮想計算機33〜35のそれぞれに専用であり、その仮想計算機のみがそのブロック・メモリにデータ・ブロックを書き込み、そこからデータ・ブロックを読み取ることができるようになっている。
同様に、ハイパバイザ41は、LPAR30上のすべての仮想計算機、すなわち、マイグレーション後の仮想計算機36および37ならびに33M、34M、および35Mによって共用される共用メモリ域51を定義し管理する。マイグレーション後のすべての仮想計算機36および37ならびに33M、34M、および35Mは、適切なアドレスを把握している場合、共用メモリ51と、その適切なアドレスによって共用メモリに保管されたデータ構造に直接アクセスすることができる。しかし、LPAR30内の仮想計算機(すなわち、仮想計算機33〜35)は、共用メモリ51にアクセスすることができない。マイグレーション後の仮想計算機36および37ならびに33M、34M、および35Mのそれぞれについて、共用メモリ51内にそれぞれの通信キューとそれぞれのブロック・メモリが存在する。簡単にするために、図1は、マイグレーション済み仮想計算機35M用のマイグレーション済み通信キュー52−1とマイグレーション済みブロック・メモリ54−1のみを示しているが、LPAR31上の他の仮想計算機のそれぞれは同様にそれぞれの通信キューとブロック・メモリを有することになる。
図示した実施形態では、図7に関して以下に説明する通り、通信キュー52−1は、通信キュー52のマイグレーション済みコピーである。マイグレーション後、通信キュー52−1は、仮想計算機33Mおよび34Mがそれに対して通信の形で作業項目を供給することができ、仮想計算機35Mがそれから処理すべき作業項目を入手することができる作業キューである。したがって、仮想計算機33Mおよび34Mは、仮想計算機35Mに通信することができる。同様に、仮想計算機36用の通信キューは、仮想計算機37が仮想計算機36に通信することを許可し、仮想計算機37用の通信キューは、仮想計算機36が仮想計算機37に通信することを許可する。また、仮想計算機36および37は、ハイパバイザ41により、マイグレーション済み仮想計算機35Mとその通信キューの位置を発見し、その後、マイグレーション済み仮想計算機35Mの通信キューに作業項目を供給することもできる。逆に、マイグレーション済み仮想計算機35Mは、ハイパバイザ41により、仮想計算機36および37とその通信キューの位置を発見し、その後、仮想計算機36および37の通信キューに作業項目を供給することができる。同様に、マイグレーション済み仮想計算機33Mおよび34Mは、ハイパバイザ41により、仮想計算機36および37とその通信キューの位置を発見し、その後、仮想計算機36および37の通信キューに作業項目を供給することができる。
データの保管のために仮想計算機36、37、33M、34M、および35Mが共用メモリ51、すなわち、RAMを使用する図示した実施形態では、ブロック・メモリ54−1はファイルおよびディレクトリを収容する、共用メモリ51内のメモリ領域である。ブロック・メモリ54−1は、ブロック・メモリ54のマイグレーション済みコピーである。このディレクトリは、ブロック・メモリ54−1の内容をリストする。ブロック・メモリ54−1が共用される本発明の一実施形態では、仮想計算機36、37、33M、34M、および35Mのそれぞれは、ブロック・メモリ54−1にデータ・ブロックを書き込み、そこからデータ・ブロックを読み取ることができる。ブロック・メモリ54−1が専用である本発明の他の実施形態では、LPAR31内の各ブロック・メモリは仮想計算機36、37、33M、34M、および35Mのそれぞれに専用であり、その仮想計算機のみがそのブロック・メモリにデータ・ブロックを書き込み、そこからデータ・ブロックを読み取ることができるようになっている。
図1の実施形態では、仮想計算機33〜35のすべての通信キューは共用メモリ50内にあり、LPAR30内のすべての仮想計算機33〜35では直接アクセス可能であるが、LPAR31内の仮想計算機では直接アクセス可能ではない。したがって、元々LPAR30に常駐するすべての仮想計算機による、元々LPAR30に常駐する他の仮想計算機の通信キューへのアクセスを維持するためには、そのうちの1つまたは全部をマイグレーションする必要がある場合、すべての仮想計算機33〜35がLPAR30からLPAR31に同時にマイグレーションされる。これは、「作動時」通信、すなわち、現在、LPAR30内の作業キュー上にある通信項目がターゲット仮想計算機によって処理され、失われないことを保証する。また、後述の通り、通信プロセスの遅延が最小になるように、マイグレーション・プロセスは迅速である。(同様に、仮想計算機36および37の通信キューは共用メモリ51に常駐し、LPAR30内の他の仮想計算機37および36では直接アクセス可能であるが、LPAR31内の仮想計算機では直接アクセス可能ではない。したがって、元々LPAR31に常駐するすべての仮想計算機による、元々LPAR31に常駐する他の仮想計算機の通信キューへのアクセスを維持するためには、そのうちの一方または両方をマイグレーションする必要がある場合、両方の仮想計算機36および37があいまってLPAR30にマイグレーションされるであろう。)
仮想計算機33〜35のマイグレーションは、種々の方法で開始することができる。たとえば、ハイパバイザ40がクラッシュしそうであることを把握している場合、ハイパバイザ40はその仮想計算機33〜35のそれぞれの専用メモリ内容をストレージ26にコピーすることができる。次に、ハイパバイザ40は、後述の通り、LPAR31およびハイパバイザ41への仮想計算機33〜35のマイグレーションを開始することができ、その結果、仮想計算機33〜35はハイパバイザ40のクラッシュ後にアクティブのままになる。もう1つの例として、ユーザがハイパバイザ40を更新または保守したいと希望する可能性があり、このような場合、ユーザは仮想計算機33〜35のゲスト・オペレーティング・システム43〜45に通知する。応答として、ゲスト・オペレーティング・システム43〜45は、後述の通り、ハイパバイザ40がLPAR31およびハイパバイザ41への仮想計算機33〜35のマイグレーションを開始することを要求することになり、その結果、仮想計算機33〜35はハイパバイザ40の更新または保守中にアクティブのままになる。仮想計算機33〜35は、ハイパバイザ40の更新または保守後にLPAR30およびハイパバイザ40にマイグレーションして戻すことができる。もう1つの例として、システム管理者は、LPAR30がリソース制限付きであり、LPAR31が過剰リソースを有することを通知することができ、その結果、システム管理者は、LPAR31にマイグレーションするよう、LPAR30内の仮想計算機33〜35内のゲスト・オペレーティング・システム43〜45に通知することができる。応答として、仮想計算機33〜35のゲスト・オペレーティング・システム43〜45は、ロード・バランシングのために、後述の通り、ハイパバイザ40がLPAR31およびハイパバイザ41への仮想計算機33〜35のマイグレーションを開始することを要求する。(図示していないが、この最後の例では、LPAR30上で実行されているその他のアプリケーションまたは仮想計算機33〜35の通信キューまたはブロック・メモリを共用しないLPAR30上のその他の仮想計算機が存在する可能性があると思われ、これらのその他のアプリケーションおよびその他の仮想計算機は仮想計算機33〜35とマイグレーションする必要がない。)
以下に示すのは、図1および図9に関して、システム110内のLPAR30からLPAR31への仮想計算機35のマイグレーションの説明である。(仮想計算機33〜35は互いの通信キューにアクセスするので)この説明は、仮想計算機35(ならびに通信キュー52およびブロック・メモリ54)と同時にマイグレーションされる他の仮想計算機33および34(ならびにその通信キューおよびブロック・メモリ)にも適用される。仮想計算機35のマイグレーションは、LPAR30からLPAR31への仮想計算機35の専用メモリ(「VPM」)の内容のマイグレーションならびに仮想計算機35の通信キュー52およびブロック・メモリ54のマイグレーションを含む。
LPAR30内の仮想計算機35の(仮想)専用メモリは、ゲスト・オペレーティング・システム45、アプリケーション(複数も可)55、アプリケーション(複数も可)によって生成されたデータ、オペレーティング・システムおよびアプリケーション(複数も可)に関するプログラム状況ワード(「CPU状況」とも呼ばれる)、ゲスト・オペレーティング・システムおよびアプリケーション(複数も可)による処理中に使用されるデータ・レジスタを保管する。(仮想計算機35は、LPAR30からのコンピュータ・リソースのうち、それに割り振られたシェアも有するが、本発明のこの実施形態では、LPAR30からのコンピュータ・リソースのシェアは仮想計算機35とともにLPAR30からLPAR31にマイグレーションされず、その代わりに、マイグレーション済み仮想計算機35MがLPAR31からコンピュータ・リソースのそのシェアを受け取ることになる。)
上記で説明した通り、仮想計算機35の通信キュー52は元々共用メモリ50に常駐し、この通信キューにアクセスできるLPAR30内のすべての仮想計算機は同時にマイグレーションされる。したがって、通信キュー52のマイグレーション(および仮想計算機33および34用の通信キューのマイグレーション)の直前に、ハイパバイザ40は、互いの通信キューにアクセスするLPAR30上のすべての仮想計算機を停止し、それらがそのマイグレーション中にこれらのキューのいずれかに通信項目を追加するかまたはこれらのキューのいずれかから通信項目を除去することを試みないようにする(ステップ902)。図示した例では、仮想計算機33〜35は互いの通信キューにアクセスし、したがって、ステップ902でハイパバイザ40はすべての仮想計算機33〜35を停止する。以下に説明する通り、移動すべき物理的カードがまったくなく、その結果として、マイグレーションに必要な時間が短いので、その停止の期間は短く、たとえば、5ミリ秒である。
追加の仮想計算機も同時にマイグレーションすることが必要になる可能性もある。本発明の一実施形態では、各ブロック・メモリはそのそれぞれの仮想計算機に専用のものであり、すなわち、同じLPAR内であっても、他の仮想計算機はいずれも、他の仮想計算機のブロック・メモリに書き込んだり、そこから読み取ったりすることができない。この実施形態では、そのブロック・メモリのために同じLPAR上の複数の仮想計算機をグループとしてマイグレーションする必要はまったくない。しかし、依然として互いの通信キューへのそれぞれのアクセスのために同じLPAR上の複数の仮想計算機をグループとしてマイグレーションする必要がある。しかし、本発明の他の実施形態では、同じLPAR内の各仮想計算機は、同じLPAR内の他の各仮想計算機のブロック・メモリにアクセスすることができる。この他の実施形態では、互いのブロック・メモリにアクセスできる同じLPAR上のすべての仮想計算機は同時にマイグレーションする必要がある。仮想計算機のこのグループは一般に、互いの通信キューにアクセスできる仮想計算機のグループと一致することになり、互いの通信キューへのアクセスのためにとにかく同時にマイグレーションする必要がある。
ステップ902でLPAR30内のすべての必須仮想計算機が停止された後、ハイパバイザ40は、LPAR30内の仮想計算機35の専用メモリ(「VPM」)の内容をLPAR31の作業メモリ81に伝達する(ステップ903)。ステップ903でハイパバイザ40は、LPAR30内の通信キュー52およびブロック・メモリ54の仮想アドレスも、仮想計算機35の専用メモリ内容に併せてLPAR31の作業メモリ81に伝達する。これらは、共用メモリ50から通信キュー52およびブロック・メモリ54をアドレス指定するために仮想計算機35によって使用される仮想アドレスである。以下に詳述する通り、マイグレーション済み仮想計算機35Mは、共用メモリ51から通信キュー52−1およびブロック・メモリ54−1をアドレス指定するためにこれらの同じ仮想アドレスを使用することになり、ハイパバイザ41はこれらの仮想アドレスを共用メモリ51にマッピングすることになる。次に、ハイパバイザ40は、LPAR30内の共用メモリ50から仮想計算機35の通信キュー52をLPAR31の作業メモリ81に伝達する(ステップ904)。次に、ハイパバイザ40は、LPAR30内の共用メモリ50から仮想計算機35のブロック・メモリ54をLPAR31の作業メモリ81に伝達する(ステップ908)。マイグレーション前の予測された機能停止のために、上記のデータ構造(すなわち、VPMの内容、通信キューの仮想アドレス、ブロック・メモリの仮想アドレス、通信キューまたはブロック・メモリ)のいずれかがストレージ26にコピーされ、LPAR30が再始動された後であって仮想計算機35がLPAR30内のメモリに再作成される前にマイグレーションが行われる場合、LPAR30は、マイグレーションのためにLPAR31に伝達するためにこれらのデータ構造をストレージ26からフェッチすることができる。しかし、一般に、ハイパバイザ40は、仮想計算機35の専用メモリ55からVPMの内容、通信キューの仮想アドレス、およびブロック・メモリの仮想アドレスをフェッチし、共用メモリ50から通信キューおよびブロック・メモリをフェッチする。ステップ903および904のLPAR30からLPAR31への伝達は、知られているIBMのzSeries IUCV、SNA、またはTCP/IP通信機能などの任意の使用可能な通信機能を使用することができる。「IUCV」は、ユーザ間通信機能(Inter-User Communications Vehicle)を表し、仮想計算機で実行されるプログラムがハイパバイザを介して他の仮想計算機内の他のプログラムと通信できるようにする2地点間通信機能である。IUCV通信は、「パス」と呼ばれる事前定義リンケージによりソース仮想計算機とターゲット仮想計算機との間で行われる。「パス」はハイパバイザによって定義される構成体である。たとえば、一方の仮想計算機がIUCVを介して他の仮想計算機と通信したいと希望する場合、一方の仮想計算機は、ハイパバイザがこの通信用のパスIDを指定することを要求する。ハイパバイザは、一方の仮想計算機が使用することになるパスIDをもう一方の仮想計算機にも通知する。一方の仮想計算機がこの通信を行いたいと希望する場合、一方の仮想計算機は、ハイパバイザに通信情報を提供し、パスIDも指定する。次に、ハイパバイザは、この情報を受信し、それをバッファに保管し、指定のパスIDで通信が待機中であることをIUCV割込みを介してもう一方の仮想計算機に通知する。次に、もう一方の仮想計算機は、指定のパスIDでハイパバイザから通信情報を要求することができる。通信中の各仮想計算機は、複数のパスを有することができ、同じパス上で複数のメッセージを同時に送受信することができる。このIUCV通信機能については、「IBM z/VM V4R4.0 CP Programming Services」というマニュアルにさらに記載されている。このマニュアルは、PO Box 29570,Raleigh, North Carolina 27626-0570のInternational Business Machines Corporationから入手可能である。
次に、仮想計算機35は、LPAR30から仮想計算機35を「削除」するよう、すなわち、仮想計算機35に対するリソース割振りをLPAR30から削除するよう、ハイパバイザ40に要求する。応答として、ハイパバイザ40は仮想計算機35のリソース割振りを削除する(ステップ912)。それにもかかわらず、ハイパバイザ40は、後でユーザがLPAR30内の仮想計算機35を再起動したいと希望する場合に備えて、LPAR30内の仮想計算機35の記述を保存することになる。
次に、ハイパバイザ41は、マイグレーションすべき仮想計算機のためにLPAR31からのコンピュータ・リソース(仮想プロセッサ(複数も可)、仮想専用メモリ、仮想共用メモリ、仮想専用ストレージ、および仮想共用ストレージ)を割り振る(ステップ928)。ハイパバイザ41は、上記のデータ構造の伝達に基づいて、仮想計算機がLPAR31でレジュームされるのを待っている(そして仮想リソースを必要とする)ことを把握する。次に、ハイパバイザ41は、作業メモリ81からの仮想計算機の専用メモリ内容(通信キュー52およびブロック・メモリ54に関する仮想アドレスを含む)をLPAR31内のマイグレーション済み仮想計算機35Mの最近割り振られた(仮想)専用メモリにコピーする。これはLPAR31内にマイグレーション済み仮想計算機35Mを形成するものであるが、仮想計算機35Mはまだレジューム/起動されていない。マイグレーション済み仮想計算機35Mは元の仮想計算機35と同一であるが、LPAR31内の仮想計算機の総数およびLPAR31に割り振られたリソースの総量に応じて、リソース割振りについて何らかの変更が行われている可能性がある。次に、ハイパバイザ41あるいは仮想計算機36または37のゲスト・オペレーティング・システム(LPAR30からマイグレーションされた仮想計算機のレジュームを担当するもの)は、仮想計算機35Mを「レジューム」するためのコマンドを発行する(ステップ934)。応答として、仮想計算機35M内のゲスト・オペレーティング・システム45Mおよびアプリケーション(複数も可)は、マイグレーション済みプログラム状況(ポインタ)によって示されるポイントで実行をレジュームすることになる。
次に、LPAR30からの仮想計算機のマイグレーションを担当するハイパバイザ41あるいは仮想計算機36または37のゲスト・オペレーティング・システムは、仮想計算機35の通信キューをLPAR31の作業メモリ81から共用メモリ51(そこで、その通信キューは例示のために図1では52−1として名称変更されている)にコピーする(ステップ940)。次に、LPAR30からLPAR31へのブロック・メモリのマイグレーションを担当するハイパバイザ41あるいは仮想計算機36または37のゲスト・オペレーティング・システムは、ブロック・メモリ54をLPAR31の作業メモリ81から共用メモリ51(そこで、そのブロック・メモリは例示のために54−1として名称変更されている)にコピーする(ステップ944)。
次に、マイグレーション済み仮想計算機35M内のゲスト・オペレーティング・システム45Mは、ハイパバイザ41がLPAR31内の仮想計算機35Mに通信キュー52−1を「付加」することを要求する(ステップ950)。この付加により、仮想計算機35M内のゲスト・オペレーティング・システム45Mは、その仮想計算機35Mがどのアドレスを使用してその通信キュー52−1を参照することになるかをハイパバイザ41に通知する。(これらは、LPAR30に常駐していたときに仮想計算機35によって使用されたアドレスであり、そのアドレスは仮想計算機35の専用メモリ内容とともに仮想計算機35Mの仮想専用メモリにコピーされている。)応答として、ハイパバイザ41は、これらのアドレスを、通信キュー52−1が現在常駐する共用メモリ51内の位置に相関させる。(同様に、他のマイグレーション済み仮想計算機34Mおよび35Mは、ハイパバイザ41が共用メモリ51にそれぞれの通信キューを付加することを要求することになる。)すべての仮想計算機33〜35が(上述のように)同時にマイグレーションされるので、レジュームされると、それらは、マイグレーションの前にLPAR30で使用したものと同じ仮想アドレスを使用して、互いの通信キューにアクセスすることになる。ハイパバイザ41は、これらのアドレスを(共用メモリ50の代わりに)共用メモリ51内の位置に付加することになる。
次に、マイグレーション済み仮想計算機35M内のゲスト・オペレーティング・システムは、ハイパバイザ41がLPAR31内の仮想計算機35Mにブロック・メモリ54−1を「付加(attach)」することを要求する(ステップ954)。この付加により、仮想計算機35M内のゲスト・オペレーティング・システムは、仮想計算機35Mがブロック・メモリ54−1にどのアドレスを使用することになるかをハイパバイザ41に通知する。(これらは、LPAR30に常駐していたときに仮想計算機35によって使用されたアドレスであり、そのアドレスは仮想計算機35の専用メモリ内容とともに仮想計算機35Mの専用メモリにコピーされている。)応答として、ハイパバイザ41は、このブロック・メモリをマイグレーション済み仮想計算機35Mの仮想共用メモリに割り振ることにより、ブロック・メモリ54−1をマイグレーション済み仮想計算機35Mにとって使用可能なものにする。他の仮想計算機33〜34もマイグレーションされ、それらがLPAR30内の仮想計算機35のブロック・メモリにアクセスできた場合、それらは、LPAR30でブロック・メモリ54にアクセスするために使用したものと同じ仮想アドレスを使用して、LPAR31で仮想計算機35Mのブロック・メモリにアクセスすることになる。ハイパバイザ41は、これらの仮想アドレスをLPAR31内のブロック・メモリ54−1に変換することになる。
次に、マイグレーション済み仮想計算機35Mは、マイグレーションのためにLPAR30で仮想計算機35が停止されたときに進行中だった1つまたは複数の作業項目がある場合に、その作業項目の実行を継続する。このような作業項目がある場合、その作業項目は、プログラム状況ワードによって示される通り、マイグレーション中に停止されたポイントから継続される。通信キュー52−1からの他の作業項目を実行するために仮想計算機35Mが使用可能である場合(判断990のYES分岐)、仮想計算機35Mは、通信キュー52−1から次の作業項目を獲得し、後述の通り、それを処理する(ステップ994)。通信キュー52−1(または仮想計算機35Mの任意の他のマイグレーション済み作業キュー)上にそれ以上の項目がまったくない場合、仮想計算機は、実行すべき作業があることを示す割込みを待つだけである。
上記の通り、仮想計算機36および37は、その後、35Mによって開始された任意の使用可能な通信プロトコル(たとえば、IUCV)により、仮想計算機35M(ならびに仮想計算機33Mおよび34M)を知ることができる。次に、仮想計算機36および37が共用メモリ51内の通信キュー52−1により仮想計算機35Mと通信したいと希望する場合、仮想計算機36および37は、ハイパバイザ41に照会して、仮想計算機35M用の通信キュー52−1のアドレスを知ることができる。同様に、仮想計算機35M(ならびに仮想計算機33Mおよび34M)が仮想計算機36および37を知り、それと通信したいと希望する場合、仮想計算機35M(ならびに仮想計算機33Mおよび34M)は、ハイパバイザ41に照会して、仮想計算機36および37用の共用メモリ51内のそれぞれの通信キューのアドレスを知ることができる。また、仮想計算機36および37が共用メモリ51内のブロック・メモリ54−1にアクセスして(許可されている場合)、データの書込みまたは読取りを行いたいと希望する場合、仮想計算機36および37は、ハイパバイザ41に照会して、仮想計算機35M用のブロック・メモリ54−1のアドレスを知ることができる。同様に、仮想計算機35Mが共用メモリ51内の仮想計算機36および37のブロック・メモリを知り、それにアクセスしたいと希望する場合(許可されている場合)、仮想計算機35Mは、ハイパバイザ41に照会して、仮想計算機36および37用の共用メモリ51内のそれぞれのブロック・メモリのアドレスを知ることができる。
図2は、本発明の他の実施形態により2つの個別の物理的コンピュータ120および121を有するコンピュータ・システム210を示している。コンピュータ120は、仮想計算機33〜35を定義するハイパバイザ・プログラム40を含む。システム110とは異なり、コンピュータ120は、複数のLPARに分割されないかまたは単一LPARである。コンピュータ121は、最初に仮想計算機36および37を定義し、後でマイグレーション済み仮想計算機33M、34M、および35Mを追加するハイパバイザ・プログラム41を含む。システム110とは異なり、コンピュータ121は、複数のLPARに分割されないかまたは単一LPARである。コンピュータ120は、仮想計算機33〜35用の共用メモリ50を含む。コンピュータ121は、仮想計算機36および37用の共用メモリ51を含み、後でマイグレーション済み仮想計算機33M、34M、および35Mも含む。コンピュータ120および121はどちらも、それぞれのメモリの一般使用のためにならびに緊急バックアップのために、ストレージ26を共用する。それぞれのコンピュータ120および121内の各仮想計算機は、それぞれの共用メモリ内にそれぞれの通信キューおよびブロック・メモリを含む。システム210内の仮想計算機(複数も可)のマイグレーションは、システム110内の仮想計算機のマイグレーションと同じであり、ここで繰り返す必要はない。
図3は、本発明の他の実施形態による他のコンピュータ・システム310を示している。システム110内のように、システム310は、単一の物理的コンピュータ20と、LPAR30および31と、それぞれのハイパバイザ・プログラム40および41とを含む。ハイパバイザ40は仮想計算機33〜35を定義する。ハイパバイザ41は、仮想計算機36、37を定義し、後で唯一のマイグレーション済み仮想計算機35Mも定義する。システム310は、LPAR30用の共用メモリ50および共用ストレージ60と、LPAR31用の共用メモリ51および共用ストレージ61とを含む。しかし、システム110とは異なり、システム310では、共用ストレージ60および61は、仮想計算機35をLPAR30からLPAR31にマイグレーションするプロセスで使用されない。その代わりに、システム310は(システム110とは異なり)、両方のLPAR30および31とハイパバイザ40および41によって共用されるメモリ90(すなわち、RAM24の仮想記憶域)を含む。共用メモリ90は、両方のLPAR30および31上のすべての仮想計算機33〜37および35Mによって共用される。したがって、仮想計算機がアドレスを把握していれば、両方のLPAR上のすべての仮想計算機が共用メモリ90内のすべてのデータ構造にアクセスすることができる。システム110内のように、システム310内の各仮想計算機は、システム110内と同じ内容を有するそれぞれの専用メモリを含む。システム310は、仮想計算機35をLPAR30からLPAR31にマイグレーションして、マイグレーション済み仮想計算機35Mの仮想専用メモリ内容をマイグレーションするプロセスで共用メモリ90を使用する。しかし、システム310内の両方のLPAR30および31上の各仮想計算機用の通信キューおよびブロック・メモリは元々共用メモリ90(共用メモリ50または60ではない)に保管される。その結果として、システム310内の仮想計算機33〜35のマイグレーション中に、それぞれの通信キューおよびブロック・メモリをマイグレーションする必要はない。たとえば、LPAR31内のマイグレーション済み仮想計算機35Mは、(マイグレーション前の)LPAR30内の仮想計算機35がマイグレーションの前に共用メモリ90からの通信キュー52およびブロック・メモリ54に直接アクセスしたように、共用メモリ90からの通信キュー51およびブロック・メモリ54に直接アクセスする。仮想計算機35のマイグレーションのために、共用メモリ90内のある位置から共用メモリ90内の他の位置に通信キュー52およびブロック・メモリ54を移動する必要すらない。また、複数仮想計算機のうちの1つをマイグレーションすることが望ましいだけであるときには、互いの通信キューまたはブロック・メモリにアクセスする複数仮想計算機のグループを停止またはマイグレーションする必要はまったくない。これは、マイグレーション済み仮想計算機の通信キューおよびブロック・メモリが移動せず、他のマイグレーション済み仮想計算機がマイグレーション中にマイグレーション済み仮想計算機の通信キュー(および許可されている場合にはブロック・メモリ)への書込みおよびそこからの読取りを継続できるからである。
以下に示すのは、図3および図9に関して、システム310内のLPAR30からLPAR31への仮想計算機35のマイグレーションの説明である。仮想計算機35のマイグレーションは、LPAR30内の専用メモリからLPAR31内の専用メモリへの仮想計算機35の専用メモリ(「VPM」)の内容のマイグレーションを含む。通信キュー52またはブロック・メモリ54の移動はまったく行われず、このマイグレーションは、LPAR31内のマイグレーション済み仮想計算機35Mに両方を再付加することのみを必要とする。
LPAR30内の仮想計算機35の(仮想)専用メモリは、ゲスト・オペレーティング・システム45、アプリケーション(複数も可)55、アプリケーション(複数も可)によって生成されたデータ、オペレーティング・システムおよびアプリケーション(複数も可)に関するプログラム状況ワード(「CPU状況」とも呼ばれる)、ゲスト・オペレーティング・システムおよびアプリケーション(複数も可)による処理中に使用されるデータ・レジスタを保管する。(仮想計算機35は、LPAR30からのコンピュータ・リソースのうち、それに割り振られたシェアも有するが、LPAR30からのコンピュータ・リソースのシェアは仮想計算機35とともにLPAR30からLPAR31にマイグレーションされず、その代わりに、マイグレーション済み仮想計算機35MがLPAR31からコンピュータ・リソースのそのシェアを受け取ることになる。)仮想計算機35のマイグレーションを開始するために、ハイパバイザ40は、仮想計算機35の専用メモリ(「VPM」)の内容を共用メモリ90(そこで、その内容は例示のために図3では仮想計算機の専用メモリ内容35−Aとして名称変更されている)にコピーする(ステップ1000)。ステップ1000では、ハイパバイザ40は、仮想計算機35の専用メモリ内容に併せて、通信キュー52およびブロック・メモリ54の仮想アドレスも共用メモリ90にコピーする。これらは、共用メモリ90から通信キュー52およびブロック・メモリ54をアドレス指定するために仮想計算機35によって使用される仮想アドレスである。以下に詳述する通り、マイグレーション済み仮想計算機35Mは、共用メモリ90から通信キュー52およびブロック・メモリ54をアドレス指定するためにこれらの同じ仮想アドレスを使用することになり、ハイパバイザ41はこれらの仮想アドレスを共用メモリ90にマッピングすることになる。ステップ1000によって示されるマイグレーションのポイントでは、仮想計算機35は依然としてLPAR30およびハイパバイザ40内で実行中である。次に、ハイパバイザ41は、LPAR30内の仮想計算機35の実行を停止し(ステップ1002)、次にLPAR30から仮想計算機35を削除する(ステップ1028)。
仮想計算機35の通信キュー52は、仮想計算機35のマイグレーション前およびマイグレーション後に共用メモリ90に常駐し、マイグレーションのために共用メモリ90内で通信キュー52の移動はまったく行われない。(通信キュー52は移動しないので、通信キュー52にアクセスするLPAR30上の他の仮想計算機を停止する必要がない。)同様に、仮想計算機35のブロック・メモリ54は、仮想計算機35のマイグレーション前およびマイグレーション後に共用メモリ90に常駐し、マイグレーションのために共用メモリ90内でブロック・メモリ54の移動はまったく行われない。(ブロック・メモリ54は移動しないので、ブロック・メモリ54にアクセスするLPAR30上の他の仮想計算機がある場合にその仮想計算機を停止する必要がない。)
次に、ハイパバイザ41は、マイグレーションすべき仮想計算機のためにLPAR31からのコンピュータ・リソース(仮想プロセッサ(複数も可)、仮想専用メモリおよび仮想共用メモリ、ならびに仮想専用ストレージおよび仮想共用ストレージ)を割り振る(ステップ1028)。ハイパバイザ41は、ハイパバイザ40または仮想計算機35内のゲスト・オペレーティング・システム45からのマイグレーション要求または事前通知を行うときのユーザ入力に基づいて、仮想計算機35がLPAR31でレジュームされるのを待っている(そして仮想リソースを必要とする)ことを把握する。(この通知は、TCP/IPまたは任意の他の通信プロトコルを介して行うことができる。)次に、ハイパバイザ41は、共用メモリ90からの仮想計算機の専用メモリ内容35−A(通信キュー52およびブロック・メモリ54に関する仮想アドレスを含む)を最近割り振られたLPAR31の(仮想)専用メモリにコピーする(ステップ1030)。これはLPAR31内にマイグレーション済み仮想計算機35Mを形成するものであるが、仮想計算機35Mはまだレジューム/起動されていない。マイグレーション済み仮想計算機35Mは元の仮想計算機35と同一であるが、LPAR31内の仮想計算機の総数およびLPAR31に割り振られたリソースの総量に応じて、リソース割振りについて何らかの変更が行われている可能性がある。次に、ハイパバイザ41あるいは仮想計算機36または37のゲスト・オペレーティング・システム(LPAR30からマイグレーションされた仮想計算機のレジュームを担当するもの)は、仮想計算機35を「レジューム」するためのコマンドを発行する(ステップ1034)。応答として、仮想計算機35M内のゲスト・オペレーティング・システムおよびアプリケーション(複数も可)は、マイグレーション済みプログラム状況ワード(ポインタ)によって示されるポイントで実行をレジュームすることになる。
次に、マイグレーション済み仮想計算機35M内のゲスト・オペレーティング・システム45Mは、ハイパバイザ41がLPAR31内の仮想計算機35Mに通信キュー52を「付加」することを要求する(ステップ1050)。この付加により、仮想計算機35M内のゲスト・オペレーティング・システムは、その仮想計算機35Mがどのアドレスを使用して通信キュー52を参照することになるかをハイパバイザ41に通知する。(これらは、仮想計算機35がLPAR30に常駐していたときに通信キュー52を参照するために仮想計算機35によって使用されたアドレスであり、そのアドレスは仮想計算機35の専用メモリ内容とともに共用メモリ90にコピーされている。)応答として、ハイパバイザ41は、これらのアドレスを、通信キュー52が常駐する共用メモリ90内の位置に相関させる。通信キュー52は移動されていないので、仮想計算機33、34、および35Mは、仮想計算機35Mのマイグレーション後に通信キュー52にアクセスすることができ、仮想計算機33または34に対する変更はまったく行われない。また、仮想計算機36および37は、仮想計算機35のマイグレーション前と同じように、仮想計算機35のマイグレーション後に通信キュー52にアクセスする(すなわち、作業項目を供給する)ことができる。
次に、マイグレーション済み仮想計算機35M内のゲスト・オペレーティング・システムは、ハイパバイザ41がLPAR31内の仮想計算機35Mにブロック・メモリ54を「付加」することを要求する(ステップ1054)。この付加により、仮想計算機35M内のゲスト・オペレーティング・システム45Mは、仮想計算機35Mがブロック・メモリ54にどのアドレスを使用することになるかをハイパバイザ41に通知する。(これらは、LPAR30に常駐していたときに仮想計算機35によって使用されたアドレスであり、そのアドレスは仮想計算機35の専用メモリ内容とともに共用メモリ90にコピーされている。)応答として、ハイパバイザ41は、このブロック・メモリをマイグレーション済み仮想計算機35Mの仮想共用メモリに割り振ることにより、ブロック・メモリ54をマイグレーション済み仮想計算機35Mにとって使用可能なものにする。ハイパバイザ41は、これらの仮想アドレスを共用メモリ90内のブロック・メモリ54に変換することになる。
次に、マイグレーション済み仮想計算機35Mは、マイグレーションのためにLPAR30で仮想計算機35が停止されたときに進行中だった1つまたは複数の作業項目がある場合に、その作業項目の実行を継続する。このような作業項目がある場合、その作業項目は、プログラム状況ワードに基づいて、マイグレーション中に停止されたポイントから継続される。通信キュー52からの他の作業項目を実行するために仮想計算機35Mが使用可能である場合(判断1090のYES分岐)、仮想計算機35Mは、通信キュー52から次の作業項目を獲得し、後述の通り、それを処理する(ステップ1094)。通信キュー52または任意の他のマイグレーション済み作業キュー上にそれ以上の項目がまったくない場合、仮想計算機は、実行すべき作業があることを示す割込みを待つだけである(ステップ1098)。
仮想計算機36および37がLPAR30内の仮想計算機35を把握していない場合、その後、任意の通信プロトコル、たとえば、IUCVを使用して35Mによって開始された通信により、LPAR31内の仮想計算機35Mを知ることができる。次に、仮想計算機36および37が共用メモリ90内の通信キュー52により仮想計算機35Mと通信したいと希望する場合、仮想計算機36および37は、ハイパバイザ41に照会して、仮想計算機35M用の通信キュー52のアドレスを知ることができる。同様に、仮想計算機35Mが仮想計算機36または37をまだ把握しておらず、仮想計算機36および37を知り、それと通信したいと希望する場合、仮想計算機35Mは、ハイパバイザ41に照会して、仮想計算機36および37用の共用メモリ90内のそれぞれの通信キューのアドレスを知ることができる。また、仮想計算機36および37が共用メモリ90内のブロック・メモリ54にアクセスして(許可されている場合)、データの書込みまたは読取りを行いたいと希望する場合、仮想計算機36および37は、まだそのアドレスを把握していないのであれば、ハイパバイザ41に照会して、仮想計算機35M用のブロック・メモリ54のアドレスを知ることができる。同様に、仮想計算機35Mが共用メモリ90内の仮想計算機36および37のブロック・メモリをまだ把握しておらず、それを知り、それにアクセスしたいと希望する場合(許可されている場合)、仮想計算機35Mは、ハイパバイザ41に照会して、仮想計算機36および37用の共用メモリ90内のそれぞれのブロック・メモリのアドレスを知ることができる。
図4は、本発明の他の実施形態により2つの個別の物理的コンピュータ120および121を有するコンピュータ・システム410を示している。コンピュータ120は、仮想計算機33〜35を定義するハイパバイザ・プログラム40を含む。システム310とは異なり、システム410内のコンピュータ120は、複数のLPARに分割されないかまたは単一LPARである。システム310とは異なり、システム410内のコンピュータ121は、複数のLPARに分割されないかまたは単一LPARである。コンピュータ・システム410は、共用メモリ90の性質を除き、コンピュータ・システム310に類似している。コンピュータ・システム410では、個別の実コンピュータ120および121が存在するので、共用メモリ90は「不均一メモリ・アクセス(nonuniform memory access)」デバイスとして実現することができ、一方の実コンピュータがメモリ・デバイスに接近しているために一方の実コンピュータの方がもう一方の実コンピュータより高速でメモリにアクセスできる。この実施形態では、メモリ90は、一方の実コンピュータに差し込まれるカード上に存在することができ、ケーブルを介してもう一方の実コンピュータからアクセス可能である。コンピュータ121は、最初に仮想計算機36および37を定義し、後でマイグレーション済み仮想計算機35Mを追加するハイパバイザ・プログラム41を含む。それぞれのコンピュータ120および121内の各仮想計算機は、共用メモリ90内にそれぞれの通信キューおよびブロック・メモリを含む。システム410内の仮想計算機のマイグレーションは、システム310内の仮想計算機のマイグレーションと同じであり、ここで繰り返す必要はない。
図5は、本発明の他の実施形態による他のコンピュータ・システム510を示している。システム110内のように、システム510は、単一の物理的コンピュータ20と、LPAR30および31と、それぞれのハイパバイザ・プログラム40および41とを含む。ハイパバイザ40は仮想計算機33〜35を定義する。ハイパバイザ41は、仮想計算機36、37を定義し、後でマイグレーション済み仮想計算機33M、34M、および35Mも定義する。システム510は、LPAR30用の共用メモリ50と、LPAR31用の共用メモリ51とを含む。システム110および510のいずれでも、各仮想計算機は同じ専用メモリ内容を含む。また、システム110および510のいずれでも、各仮想計算機の通信キューおよびブロック・メモリは、その仮想計算機が常駐するLPARの共用メモリ内に常駐する。システム110および510のいずれでも、仮想計算機のマイグレーション中に、専用メモリ内容は元の専用メモリから共用ストレージにコピーされ、通信キューおよびブロック・メモリは共用メモリから共用ストレージにコピーされる。しかし、システム110とは異なり、システム510では、共用ストレージは両方のLPAR30および31に共通のものである。その結果として、システム510内の仮想計算機33〜35ならびにそれぞれの通信キューおよびブロック・メモリのマイグレーション中に、専用メモリ内容、通信キュー、およびブロック・メモリをあるストレージから他のストレージにあるいはある保管場所から他の保管場所にコピーする必要はない。システム110および510のいずれでも、専用メモリ内容をストレージからLPAR31の専用メモリにコピーする必要があり、通信キューおよびブロック・メモリをストレージからLPAR31の共用メモリにコピーする必要がある。
以下に示すのは、システム510内のLPAR30からLPAR31に仮想計算機35をマイグレーションするプロセスのより詳細な説明であり、この説明は他の仮想計算機33および34にも適用される。3つの仮想計算機33〜35はいずれも互いの通信キューにアクセスするので、3つの仮想計算機33〜35ならびにそれぞれの通信キューおよびブロック・メモリはすべて同時にマイグレーションされる。
LPAR30内の仮想計算機35の(仮想)専用メモリは、ゲスト・オペレーティング・システム45、アプリケーション(複数も可)55、アプリケーション(複数も可)によって生成されたデータ、オペレーティング・システムおよびアプリケーション(複数も可)に関するプログラム状況ワード(「CPU状況」とも呼ばれる)、ゲスト・オペレーティング・システムおよびアプリケーション(複数も可)による処理中に使用されるデータ・レジスタを保管する。(仮想計算機35は、LPAR30からのコンピュータ・リソースのうち、それに割り振られたシェアも有するが、LPAR30からのコンピュータ・リソースのシェアは本発明のこの実施形態では仮想計算機35とともにLPAR30からLPAR31にマイグレーションされず、その代わりに、マイグレーション済み仮想計算機35MがLPAR31からコンピュータ・リソースのそのシェアを受け取ることになる。)仮想計算機35のマイグレーションを開始するために、ハイパバイザ40は、仮想計算機35の専用メモリ(「VPM」)の内容を共用ストレージ560(そこで、その内容は例示のために図5では仮想計算機の専用メモリ内容35−2として名称変更されている)にコピーする(ステップ1100)。ステップ1100では、ハイパバイザ40は、仮想計算機35の専用メモリ内容に併せて、通信キュー52およびブロック・メモリ54の仮想アドレスも共用ストレージ560にコピーする。これらは、共用メモリ50から通信キュー52およびブロック・メモリ54をアドレス指定するために仮想計算機35によって使用される仮想アドレスである。以下に詳述する通り、マイグレーション済み仮想計算機35Mは、共用メモリ51から通信キュー52−3およびブロック・メモリ54−3をアドレス指定するためにこれらの同じ仮想アドレスを使用することになり、ハイパバイザ41はこれらの仮想アドレスを共用メモリ51にマッピングすることになる。ステップ1100によって示されるマイグレーションのポイントでは、仮想計算機35は依然としてLPAR30およびハイパバイザ40内で実行中である。
下記では、仮想計算機35の通信キュー52のマイグレーションの開始について説明する。この説明は、通信キュー52と同時にマイグレーションされる仮想計算機33および34の通信キューのマイグレーションにも適用される。仮想計算機35の通信キュー52は元々共用メモリ50に常駐する。通信キュー52のマイグレーション(および仮想計算機33および34用の通信キューのマイグレーション)の直前に、ハイパバイザ40は、互いの通信キューにアクセスするLPAR30上のすべての仮想計算機を停止し、それらがそのマイグレーション中にこれらのキューのいずれかに通信項目を追加するかまたはこれらのキューのいずれかから通信項目を除去することを試みないようにする(ステップ1102)。図示した例では、仮想計算機33〜35は互いの通信キューにアクセスし、したがって、ステップ1102でハイパバイザ40はすべての仮想計算機33〜35を停止する。しかし、移動すべき物理的カードがまったくないので、その停止の期間は短く、たとえば、5ミリ秒である。次に、ハイパバイザ40は、仮想計算機35の通信キュー52を共用メモリ50から共用ストレージ560(そこで、その通信キューは例示のために図5では通信キュー52−2として名称変更されている)にコピーする(ステップ1104)。
下記では、仮想計算機35のブロック・メモリ54のマイグレーションの開始について説明する。本発明の一実施形態では、各ブロック・メモリはそのそれぞれの仮想計算機に専用のものであり、すなわち、同じLPAR内であっても、他の仮想計算機はいずれも、他の仮想計算機のブロック・メモリに書き込んだり、そこから読み取ったりすることができない。この実施形態では、そのブロック・メモリのために同じLPAR上の複数の仮想計算機をグループとしてマイグレーションする必要はまったくない。しかし、依然として互いの通信キューへのそれぞれのアクセスのために同じLPAR上の複数の仮想計算機をグループとしてマイグレーションする必要がある。しかし、本発明の他の実施形態では、同じLPAR内の各仮想計算機は、同じLPAR内の他の各仮想計算機のブロック・メモリにアクセスすることができる。この他の実施形態では、互いのブロック・メモリにアクセスできる同じLPAR上のすべての仮想計算機は同時にマイグレーションする必要がある。仮想計算機のこのグループは一般に、互いの通信キューにアクセスできる仮想計算機のグループと一致することになり、互いの通信キューへのアクセスのためにとにかく同時にマイグレーションする必要がある。以下に示すのは、仮想計算機35のブロック・メモリ54のマイグレーションの説明である。この説明は、仮想計算機33および34のブロック・メモリのマイグレーションにも適用される。仮想計算機35のブロック・メモリ54は元々共用メモリ50に常駐する。次に、ハイパバイザ40は、仮想計算機35のブロック・メモリ54を共用メモリ50から共用ストレージ560(そこで、そのブロック・メモリは例示のために図5ではブロック・メモリ54−2として名称変更されている)にコピーする(ステップ1108)。
次に、仮想計算機35は、それが削除されることを希望していることをハイパバイザ40に通知することにより、LPAR30からそれ自体を削除する(ステップ1112)。応答として、ハイパバイザ40はLPAR30内の仮想計算機35を削除する。(同様に、マイグレーション中の他の仮想計算機33および34もLPAR30からそれ自体を削除する。)
次に、ハイパバイザ41は、マイグレーションすべき仮想計算機(複数も可)のためにLPAR31からのコンピュータ・リソース(仮想プロセッサ(複数も可)、仮想専用メモリおよび仮想共用メモリ、ならびに仮想専用ストレージおよび仮想共用ストレージ)を割り振る(ステップ1128)。ハイパバイザ41は、ハイパバイザ40または仮想計算機35内のゲスト・オペレーティング・システム45からのマイグレーション要求または事前通知を行うときのユーザ入力に基づいて、仮想計算機35がLPAR31でレジュームされるのを待っている(そして仮想リソースを必要とする)ことを把握する。(この通知は、TCP/IPまたは任意の他の通信プロトコルを介して行うことができる。)次に、ハイパバイザ41は、共用ストレージ560からの仮想計算機の専用メモリ内容35−2(通信キュー52およびブロック・メモリ54に関する仮想アドレスを含む)を最近割り振られたLPAR31の(仮想)専用メモリにコピーする(ステップ1130)。これはLPAR31内にマイグレーション済み仮想計算機35Mを形成するものであるが、仮想計算機35Mはまだレジューム/起動されていない。マイグレーション済み仮想計算機35Mは元の仮想計算機35と同一であるが、LPAR31内の仮想計算機の総数およびLPAR31に割り振られたリソースの総量に応じて、リソース割振りについて何らかの変更が行われている可能性がある。次に、ハイパバイザ41あるいは仮想計算機36または37のゲスト・オペレーティング・システム(LPAR30からマイグレーションされた仮想計算機のレジュームを担当するもの)は、仮想計算機35を「レジューム」するためのコマンドを発行する(ステップ1134)。応答として、仮想計算機35M内のゲスト・オペレーティング・システム45Mおよびアプリケーション(複数も可)は、マイグレーション済みプログラム状況ワード(ポインタ)によって示されるポイントで実行をレジュームすることになる。
次に、LPAR30からの仮想計算機のマイグレーションを担当するハイパバイザ41あるいは仮想計算機36または37のゲスト・オペレーティング・システムは、仮想計算機35の通信キュー52−2を共用ストレージ560から共用メモリ51(そこで、その通信キューは例示のために図5では52−3として名称変更されている)にコピーする(ステップ1140)。次に、LPAR30からLPAR31へのブロック・メモリのマイグレーションを担当するハイパバイザ41あるいは仮想計算機36または37のゲスト・オペレーティング・システムは、ブロック・メモリ54−2を共用ストレージ560から共用メモリ51(そこで、そのブロック・メモリは例示のために54−3として名称変更されている)にコピーする(ステップ1144)。
次に、マイグレーション済み仮想計算機35M内のゲスト・オペレーティング・システム45Mは、ハイパバイザ41がLPAR31内の仮想計算機35Mに通信キュー52−3を「付加」することを要求する(ステップ1150)。この付加により、仮想計算機35M内のゲスト・オペレーティング・システム45Mは、その仮想計算機35Mがどのアドレスを使用して通信キュー52−3を参照することになるかをハイパバイザ41に通知する。(これらは、LPAR30に常駐していたときに仮想計算機35によって使用されたアドレスであり、そのアドレスは仮想計算機35の専用メモリ内容とともに共用ストレージ560にコピーされている。)応答として、ハイパバイザ41は、これらのアドレスを、通信キュー52−3が現在常駐する共用メモリ51内の位置に相関させる。(同様に、他のマイグレーション済み仮想計算機34Mおよび35Mは、ハイパバイザ41が共用メモリ51にそれぞれの通信キューを付加することを要求することになる。)すべての仮想計算機33〜35が同時にマイグレーションされるので、レジュームされると、それらは、マイグレーションの前にLPAR30で使用したものと同じ仮想アドレスを使用して、互いの通信キューにアクセスすることになる。ハイパバイザ41は、これらのアドレスを(共用メモリ50の代わりに)共用メモリ51内の位置に付加することになる。
次に、マイグレーション済み仮想計算機35M内のゲスト・オペレーティング・システムは、ハイパバイザ41がLPAR31内の仮想計算機35Mにブロック・メモリ54−3を「付加」することを要求する(ステップ1154)。この付加により、仮想計算機35M内のゲスト・オペレーティング・システムは、仮想計算機35Mがブロック・メモリ54−3にどのアドレスを使用することになるかをハイパバイザ41に通知する。(これらは、LPAR30に常駐していたときに仮想計算機35によって使用されたアドレスであり、そのアドレスは仮想計算機35の専用メモリ内容とともに共用ストレージ560にコピーされている。)応答として、ハイパバイザ41は、このブロック・メモリをマイグレーション済み仮想計算機35Mの仮想共用メモリに割り振ることにより、ブロック・メモリ54−3をマイグレーション済み仮想計算機35Mにとって使用可能なものにする。他の仮想計算機33〜34がLPAR30内の仮想計算機35のブロック・メモリにアクセスできた場合、それらは、LPAR30でブロック・メモリ54にアクセスするために使用したものと同じ仮想アドレスを使用して、LPAR31で仮想計算機35Mのブロック・メモリにアクセスすることになる。ハイパバイザ41は、これらの仮想アドレスをLPAR31内のブロック・メモリ54−3に変換することになる。
次に、マイグレーション済み仮想計算機35Mは、マイグレーションのためにLPAR30で仮想計算機35が停止されたときに進行中だった1つまたは複数の作業項目がある場合に、その作業項目の実行を継続する。このような作業項目がある場合、その作業項目は、プログラム状況ワードによって示される通り、マイグレーション中に停止されたポイントから継続される。通信キュー52−3からの他の作業項目を実行するために仮想計算機35Mが使用可能である場合(判断1190のYES分岐)、仮想計算機35Mは、通信キュー52−3から次の作業項目を獲得し、後述の通り、それを処理する(ステップ1194)。通信キュー52−3(または仮想計算機35Mの任意の他のマイグレーション済み作業キュー)上にそれ以上の項目がまったくない場合、仮想計算機は、実行すべき作業があることを示す割込みを待つだけである(ステップ1198)。
上記の通り、仮想計算機36および37は、その後、任意の通信プロトコル、たとえば、IUCVを介して35Mによって開始された通信により、仮想計算機35M(ならびに仮想計算機33Mおよび34M)を知ることができる。次に、仮想計算機36および37が共用メモリ51内の通信キュー52−3により仮想計算機35Mと通信したいと希望する場合、仮想計算機36および37は、ハイパバイザ41に照会して、仮想計算機35M用の通信キュー52−3のアドレスを知ることができる。同様に、仮想計算機35M(ならびに仮想計算機33Mおよび34M)が仮想計算機36および37を知り、それと通信したいと希望する場合、仮想計算機35M(ならびに仮想計算機33Mおよび34M)は、ハイパバイザ41に照会して、仮想計算機36および37用の共用メモリ51内のそれぞれの通信キューのアドレスを知ることができる。また、仮想計算機36および37が共用メモリ51内のブロック・メモリ54−3にアクセスして(許可されている場合)、データの書込みまたは読取りを行いたいと希望する場合、仮想計算機36および37は、ハイパバイザ41に照会して、仮想計算機35M用のブロック・メモリ54−3のアドレスを知ることができる。同様に、仮想計算機35Mが共用メモリ51内の仮想計算機36および37のブロック・メモリを知り、それにアクセスしたいと希望する場合(許可されている場合)、仮想計算機35Mは、ハイパバイザ41に照会して、仮想計算機36および37用の共用メモリ51内のそれぞれのブロック・メモリのアドレスを知ることができる。
図6は、本発明の他の実施形態により2つの個別の物理的コンピュータ120および121を有するコンピュータ・システム610を示している。コンピュータ120は、仮想計算機33〜35を定義するハイパバイザ・プログラム40を含む。システム510とは異なり、システム610内のコンピュータ120は、複数のLPARに分割されないかまたは単一LPARである。システム510とは異なり、システム610内のコンピュータ121は、複数のLPARに分割されないかまたは単一LPARである。コンピュータ121は、仮想計算機36および37を定義し、後でマイグレーション済み仮想計算機33M、34M、および35Mも定義するハイパバイザ・プログラム41を含む。コンピュータ120は、仮想計算機33〜35用の共用メモリ50を含む。コンピュータ121は、仮想計算機36および37用であって、後でマイグレーション済み仮想計算機33M、34M、および35M用でもある共用メモリ51を含む。両方のコンピュータ120および121は、システム510内のようにストレージ560を共用する。それぞれのコンピュータ120および121内の各仮想計算機は、それぞれの共用メモリ内にそれぞれの通信キューおよびブロック・メモリを含む。システム610内の仮想計算機(複数も可)のマイグレーションは、システム510内の仮想計算機のマイグレーションと同じであり、ここで繰り返す必要はない。
図7は、マイグレーション前のすべてのコンピュータ・システム110、210、310、410、510、および610内の共用メモリ50または90内の通信キュー52およびブロック・メモリ54とそれらの使用法を示している。(通信キューおよびブロック・メモリは、それらが共用メモリ50または90に常駐するマイグレーション後は同様に使用される。)図示した状態では、キュー52は3つの作業項目70、71、および72を有する。「通信」キュー52上の「作業」項目は、図示した他の仮想計算機からの通信である場合もあれば、仮想計算機35による実行のために仮想計算機35自体により預けられた(deposited)作業項目である場合もある。(同様に、他の仮想計算機の「通信」キューは、他の仮想計算機からの通信である場合もあれば、その作業項目を処理することになる同じ仮想計算機により預けられた作業項目である場合もある。)図示した例では、仮想計算機33内の機能143(データベース機能など)が作業項目70を作成し、次にそれを仮想計算機33内の作業キュー割当て機能(「WQAF」)153に供給した。次に、WQAF153は、作業/通信項目のターゲット(すなわち、仮想計算機35)に基づいて、その項目をキュー52上に置いて、それをキュー52に転送しなければならないと判定した。同様に、図示した例では、仮想計算機34内の機能144(インターネット・アプリケーション機能など)が作業項目71を作成し、次にそれを仮想計算機34内の作業キュー割当て機能(「WQAF」)154に渡した。次に、WQAF154は、作業/通信項目のターゲット(すなわち、仮想計算機35)に基づいて、その項目をキュー52上に置いて、それをキュー52に転送しなければならないと判定した。(仮想計算機33〜35のいずれかが作業項目72を作成した。)仮想計算機35内のスケジューラ165は、他の作業項目を実行するために仮想計算機35が使用可能である時期を決定する。そのときにスケジューラ165は、キュー・ポインタによって示されたキュー52から作業項目72などの作業項目を獲得することになる。次に、スケジューラ165は、作業項目を解析して、その作業項目を処理するための仮想計算機35内の適切な機能を決定することになる。次に、スケジューラ165は処理のためにその作業項目をその機能に渡すことになる。キュー52は共用メモリに常駐し、スケジューラ165は、前の作業項目の完了後あるいはそれが他の作業項目を実行する能力を有するときに、キュー52に新しい項目がないかどうかをチェックするので、ある項目が実行のためにキュー52上で待機中であるときに割込みがスケジューラ165に警告する必要はまったくない。しかし、本発明の一実施形態では、仮想計算機35は、実行すべき作業項目がまったくないときにアイドル状態に入る。このような場合、新しい作業項目が仮想計算機35用のキュー52に到着すると、その作業をキュー52上に置いた仮想計算機は、仮想計算機35に割込みを送信して、仮想計算機35をウェイクアップする。応答として、仮想計算機35は、キュー52に新しい作業項目がないかどうかを自動的にチェックすることになる。
システム110、210、310、410、510、および610の図示した実施形態では、各ブロック・メモリは、ファイルと、メモリ領域内のファイルをリストするそれぞれのディレクトリとを保管するための共用メモリの一領域である。仮想計算機33、34、および35用のブロック・メモリは共用メモリ50または90のそれぞれの領域を有し、仮想計算機36、37、33M、34M、および35M用のブロック・メモリは共用メモリ50または90のそれぞれの領域を有する。図7に図示した実施形態では、種々の仮想計算機は他の仮想計算機のブロック・メモリにブロックを書き込んだり、そこからブロックを読み取ることができる。したがって、仮想計算機33〜35は、仮想計算機33〜35のいずれかからのブロック・メモリにデータ・ブロックを書き込んだり、そこからデータを読み取るためのそれぞれのデバイス・ドライバ(図示せず)を有する。いずれかの仮想計算機33〜35は、他の仮想計算機33〜35のいずれかにデータ・ブロックを転送するかまたはそれ自体のデータ・ブロックの保管のためにそれぞれの共用メモリを使用することができる。同様に、仮想計算機36、37、33M、34M、および35Mは、仮想計算機36、37、33M、34M、および35Mのいずれかのブロック・メモリにデータ・ブロックを書き込んだり、そこからデータを読み取るためのそれぞれのデバイス・ドライバ(図示せず)を有する。したがって、いずれかの仮想計算機36、37、33M、34M、および35Mは、他の仮想計算機36、37、33M、34M、または35Mのいずれかにデータ・ブロックを転送するかまたはそれ自体のデータ・ブロックの保管のためにその共用メモリを使用することができる。
図8は、ブロック・メモリの他の実施形態を示しており、各仮想計算機は専用ブロック・メモリを有し、任意の他の仮想計算機のブロック・メモリに書き込んだり、そこから読み取ることができない。したがって、各仮想計算機は、それ自体のブロック・メモリにデータ・ブロックを書き込んで、その専用メモリを解放し、次に専用メモリで必要なときにそのデータ・ブロックを読み戻すことができる。
上記に基づいて、本発明を実施するコンピュータ・システムが開示されている。しかし、本発明の範囲を逸脱せずに、多数の変更および置換えを行うことができる。たとえば、各仮想計算機は、上述の通信キューとともにマイグレーションされる他の作業キューを有することができる。したがって、本発明は、限定としてではなく例示として開示されており、本発明の範囲を決定するために特許請求の範囲を参照されたい。
2つのロジカル・パーティションと、それぞれの共用メモリと、各ロジカル・パーティション内の複数の仮想計算機とを備えた1つの実コンピュータのブロック図であり、一方のロジカル・パーティションからもう一方のロジカル・パーティションに仮想計算機をマイグレーションするための本発明の一実施形態によるプロセスを示す図である。 2つの個別の実コンピュータと、それぞれの共用メモリと、各実コンピュータ内の複数の仮想計算機とのブロック図であり、一方の実コンピュータからもう一方の実コンピュータに仮想計算機をマイグレーションするための本発明の他の実施形態によるプロセスを示す図である。 2つのロジカル・パーティションと、各ロジカル・パーティション内の複数の仮想計算機と、両方のロジカル・パーティションによって共用されるメモリとを備えた1つの実コンピュータのブロック図であり、一方のロジカル・パーティションからもう一方のロジカル・パーティションに仮想計算機をマイグレーションするための本発明の他の実施形態によるプロセスを示す図である。 2つの個別の実コンピュータと、各実コンピュータ内の複数の仮想計算機と、両方の実コンピュータによって共用されるメモリとのブロック図であり、一方の実コンピュータからもう一方の実コンピュータに仮想計算機をマイグレーションするための本発明の他の実施形態によるプロセスを示す図である。 2つのロジカル・パーティションと、それぞれの共用メモリと、両方のロジカル・パーティションによって共用されるストレージと、各ロジカル・パーティション内の複数の仮想計算機とを備えた1つの実コンピュータのブロック図であり、一方のロジカル・パーティションからもう一方のロジカル・パーティションに仮想計算機をマイグレーションするための本発明の一実施形態によるプロセスを示す図である。 2つの個別の実コンピュータと、それぞれの共用メモリと、両方のコンピュータによって共用されるストレージと、各実コンピュータ内の複数の仮想計算機とのブロック図であり、一方の実コンピュータからもう一方の実コンピュータに仮想計算機をマイグレーションするための本発明の他の実施形態によるプロセスを示す図である。 図1、図2、図3、図4、図5、および図6の共用メモリ内の仮想計算機用の通信キューと共用ブロック・メモリを示すブロック図である。 図1、図2、図3、図4、図5、および図6の共用メモリ内の仮想計算機用の通信キューと専用ブロック・メモリを示すブロック図である。 図1および図2のコンピュータ・システム内の仮想計算機マイグレーション・プロセスを示す流れ図である。 図3および図4のコンピュータ・システム内の仮想計算機マイグレーション・プロセスを示す流れ図である。 図5および図6のコンピュータ・システム内の仮想計算機マイグレーション・プロセスを示す流れ図である。
符号の説明
20:物理的コンピュータ
23:CPU
24:RAM
25:ロジカル・パーティション・プログラム
26:ストレージ
27:コンソール
30:ロジカル・パーティション(LPAR)
31:ロジカル・パーティション(LPAR)
33:仮想計算機
33M:仮想計算機
34:仮想計算機
34M:仮想計算機
35:仮想計算機
35M:仮想計算機
36:仮想計算機
37:仮想計算機
40:ハイパバイザ
41:ハイパバイザ
43:オペレーティング・システム
44:オペレーティング・システム
45:オペレーティング・システム
45M:仮想専用メモリ(VPM)
46:オペレーティング・システム
47:オペレーティング・システム
50:共用メモリ
51:共用メモリ
52:通信キュー
52−1:通信キュー
53:アプリケーション
54:アプリケーション
54:ブロック・メモリ
54−1:ブロック・メモリ
55:アプリケーション
56:アプリケーション
57:アプリケーション
80:作業メモリ
81:作業メモリ
110:コンピュータ・システム

Claims (32)

  1. 第1の実コンピュータから第2の実コンピュータにまたは同じ実コンピュータ内の第1のLPARから第2のLPARに、第1の仮想計算機および通信キューをマイグレーションするための方法において、マイグレーションの前に、前記第1の仮想計算機が前記第1の仮想計算機に専用の第1の専用メモリ内にオペレーティング・システムおよびアプリケーションを有し、マイグレーションの前に、前記通信キューが前記第1のコンピュータまたは前記第1のLPAR内の前記第1の仮想計算機および第2の仮想計算機によって共用される第1の共用メモリに常駐し、前記方法が、
    前記第1のコンピュータまたは前記第1のLPAR内で前記第1の仮想計算機を停止するステップと、
    前記第1のコンピュータまたは前記第1のLPARが前記第2のコンピュータまたは前記第2のLPARに前記オペレーティング・システムおよび前記アプリケーションを伝達し、前記第2のコンピュータまたは前記第2のLPARが前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機に専用の第2の専用メモリに前記オペレーティング・システムおよび前記アプリケーションを書き込むステップと、
    前記第1のコンピュータまたは前記第1のLPARが前記第2のコンピュータまたは前記第2のLPARに前記通信キューを伝達し、前記第2のコンピュータまたは前記第2のLPARが前記第2のコンピュータまたは前記第2のLPAR内の前記第2および第3および第4の仮想計算機によって共用される第2の共用メモリに前記通信キューを書き込むステップと、
    前記第2のコンピュータまたは前記第2のLPAR内で前記第1の仮想計算機をレジュームするステップと、
    を有する、方法。
  2. 前記第2の共用メモリからの前記通信キューを前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機に付加するステップをさらに有する、請求項1に記載の方法。
  3. 前記第1のコンピュータまたは前記第1のLPARが前記第2のコンピュータまたは前記第2のLPARに前記第1のコンピュータまたは前記第1のLPAR内の前記第1の仮想計算機によって使用される前記通信キューのアドレスを伝達し、前記第2のコンピュータまたは前記第2のLPAR内でレジュームされたときに前記第1の仮想計算機が前記アドレスを使用して前記第2の共用メモリ内の前記通信キューにアクセスすることになるように、前記第2のコンピュータまたは前記第2のLPARが前記第2の専用メモリに前記アドレスを書き込むステップ
    をさらに有する、請求項1に記載の方法。
  4. レジュームされたときに前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機が前記アプリケーションまたは前記オペレーティング・システムのプログラム状況ワードを使用して前記第1のコンピュータまたは前記第1のLPAR内でその実行を停止したところで前記アプリケーションまたは前記オペレーティング・システムの実行をレジュームすることになるように、前記第1のコンピュータまたは前記第1のLPARが前記第2のコンピュータまたは前記第2のLPARに前記プログラム状況ワードを伝達するステップ
    をさらに有する、請求項1に記載の方法。
  5. 前記第1のコンピュータまたは前記第1のLPARが前記第2のコンピュータまたは前記第2のLPARに前記通信キューを伝達する前記ステップの前に、前記第2の仮想計算機が前記通信キューに作業項目を供給するステップと、
    前記第1のコンピュータまたは前記第1のLPAR内で前記第2の仮想計算機を停止するステップと、
    前記第1のコンピュータまたは前記第1のLPARが前記第2のコンピュータまたは前記第2のLPARに前記第2の仮想計算機のオペレーティング・システムおよびアプリケーションを伝達し、前記第2のコンピュータまたは前記第2のLPAR内の前記第2の仮想計算機に専用の第3の専用メモリに前記第2の仮想計算機の前記オペレーティング・システムおよび前記アプリケーションを書き込むステップと、
    前記第1のコンピュータまたは前記第1のLPARが前記第2のコンピュータまたは前記第2のLPARに前記第2の仮想計算機の通信キューを伝達し、前記第2の共用メモリに前記第2の仮想計算機の前記通信キューを書き込むステップと、
    前記第2のコンピュータまたは前記第2のLPAR内で前記第2の仮想計算機をレジュームするステップであって、前記第1のコンピュータまたは前記第1のLPAR内の前記第1の仮想計算機の前記通信キューに前記第1の作業項目を供給するときに前記第2の仮想計算機が使用したものと同じアドレスを使用して、前記第2のコンピュータまたは前記第2のLPAR内の前記第2の仮想計算機が前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機の前記通信キューに他の作業項目を供給するステップと、
    をさらに有する、請求項1に記載の方法。
  6. 第1の実コンピュータから第2の実コンピュータにまたは同じ実コンピュータ内の第1のLPARから第2のLPARに、第1の仮想計算機および通信キューをマイグレーションするためのコンピュータ・プログラムにおいて、マイグレーションの前に、前記第1の仮想計算機が前記第1の仮想計算機に専用の第1の専用メモリ内にオペレーティング・システムおよびアプリケーションを有し、マイグレーションの前に、前記通信キューが前記第1のコンピュータまたは前記第1のLPAR内の前記第1の仮想計算機および第2の仮想計算機によって共用される第1の共用メモリに常駐し、前記コンピュータ・プログラムが、
    前記第1のコンピュータまたは前記第1のLPAR内で前記第1の仮想計算機を停止するための第1のプログラム命令と、
    前記第2のコンピュータまたは前記第2のLPARに前記オペレーティング・システムおよび前記アプリケーションを伝達するための前記第1のコンピュータまたは前記第1のLPAR内の第2のプログラム命令と、前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機に専用の第2の専用メモリに前記オペレーティング・システムおよび前記アプリケーションを書き込むための前記第2のコンピュータまたは前記第2のLPAR内の第3のプログラム命令と、
    前記第2のコンピュータまたは前記第2のLPARに前記通信キューを伝達するための前記第1のコンピュータまたは前記第1のLPAR内の第4のプログラム命令と、前記第2のコンピュータまたは前記第2のLPAR内の前記第2および第3および第4の仮想計算機によって共用される第2の共用メモリに前記通信キューを書き込むための前記第2のコンピュータまたは前記第2のLPAR内の第5のプログラム命令と、
    前記第2のコンピュータまたは前記第2のLPAR内で前記第1の仮想計算機をレジュームするための第6のプログラム命令と、
    を有する、
    コンピュータ・プログラム。
  7. 前記第2の共用メモリからの前記通信キューを前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機に付加するための第7のプログラム命令をさらに有する、請求項6に記載のコンピュータ・プログラム。
  8. 前記第2のコンピュータまたは前記第2のLPARに前記第1のコンピュータまたは前記第1のLPAR内の前記第1の仮想計算機によって使用される前記通信キューのアドレスを伝達するための前記第1のコンピュータまたは前記第1のLPAR内の第7のプログラム命令と、前記第2のコンピュータまたは前記第2のLPAR内でレジュームされたときに前記第1の仮想計算機が前記アドレスを使用して前記第2の共用メモリ内の前記通信キューにアクセスすることになるように、前記第2の専用メモリに前記アドレスを書き込むための前記第2のコンピュータまたは前記第2のLPAR内の第8のプログラム命令と、
    をさらに有する、請求項6に記載のコンピュータ・プログラム。
  9. レジュームされたときに前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機が前記アプリケーションまたは前記オペレーティング・システムのプログラム状況ワードを使用して前記第1のコンピュータまたは前記第1のLPAR内でその実行を停止したところで前記アプリケーションまたは前記オペレーティング・システムの実行をレジュームすることになるように、前記第2のコンピュータまたは前記第2のLPARに前記プログラム状況ワードを伝達するための前記第1のコンピュータまたは前記第1のLPAR内の第7のプログラム命令をさらに有する、請求項6に記載のコンピュータ・プログラム。
  10. 前記第4のプログラム命令が前記第2のコンピュータまたは前記第2のLPARに前記通信キューを伝達する前に、前記第2の仮想計算機が前記通信キューに作業項目を供給し、
    前記第1のコンピュータまたは前記第1のLPAR内で前記第2の仮想計算機を停止するための第7のプログラム命令と、
    前記第2のコンピュータまたは前記第2のLPARに前記第2の仮想計算機のオペレーティング・システムおよびアプリケーションを伝達するための前記第1のコンピュータまたは前記第1のLPAR内の第8のプログラム命令と、
    前記第2のコンピュータまたは前記第2のLPAR内の前記第2の仮想計算機に専用の第3の専用メモリに前記第2の仮想計算機の前記オペレーティング・システムおよび前記アプリケーションを書き込むための第9のプログラム命令と、
    前記第2のコンピュータまたは前記第2のLPARに前記第2の仮想計算機の通信キューを伝達するための前記第1のコンピュータまたは前記第1のLPAR内の第10のプログラム命令と、
    前記第2の共用メモリに前記第2の仮想計算機の前記通信キューを書き込むための第11のプログラム命令と、
    前記第2のコンピュータまたは前記第2のLPAR内で前記第2の仮想計算機をレジュームするための第12のプログラム命令であって、前記第1のコンピュータまたは前記第1のLPAR内の前記第1の仮想計算機の前記通信キューに前記第1の作業項目を供給するときに前記第2の仮想計算機が使用したものと同じアドレスを使用して、前記第2のコンピュータまたは前記第2のLPAR内の前記第2の仮想計算機が前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機の前記通信キューに他の作業項目を供給する第12のプログラム命令とをさらに有する、請求項6に記載のコンピュータ・プログラム。
  11. 第1の実コンピュータから第2の実コンピュータにまたは同じ実コンピュータ内の第1のLPARから第2のLPARに、第1の仮想計算機および通信キューをマイグレーションするための方法において、マイグレーションの前に、前記第1の仮想計算機が前記第1の仮想計算機に専用の第1の専用メモリ内にオペレーティング・システムおよびアプリケーションを有し、マイグレーションの前に、前記通信キューが前記第1のコンピュータまたは前記第1のLPAR内の前記第1の仮想計算機および第2の仮想計算機によって共用される第1の共用メモリに常駐し、前記方法が、
    前記第1の専用メモリから前記第1および第2のコンピュータまたは前記第1および第2のLPARによって共用される共用ストレージに前記オペレーティング・システムおよび前記アプリケーションをコピーするステップと、
    前記第1の共用メモリから前記共用ストレージに前記通信キューをコピーするステップと、
    前記共用ストレージから前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機に専用の第2の専用メモリに前記オペレーティング・システムおよび前記アプリケーションをコピーし、前記第2のコンピュータまたは前記第2のLPAR内で前記第1の仮想計算機をレジュームするステップと、
    前記共用ストレージから前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機ならびに第3および第4の仮想計算機によって共用される第2の共用メモリに前記通信キューをコピーするステップと、
    を有する、方法。
  12. 前記第2の共用メモリからの前記通信キューを前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機に付加するステップをさらに有する、請求項11に記載の方法。
  13. 前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機が、前記第1のコンピュータまたは前記第1のLPAR内の前記第1の仮想計算機によって使用される前記通信キューのアドレスを使用して前記第2の共用メモリ内の前記通信キューにアクセスすることになるように、前記第1の専用メモリから前記共用ストレージにさらに前記第2の専用メモリに前記アドレスをコピーするステップ
    をさらに有する、請求項11に記載の方法。
  14. 前記共用ストレージに前記アプリケーションおよび前記オペレーティング・システムをコピーする前記ステップの後に、前記第1のコンピュータまたは前記第1のLPAR内の前記アプリケーションの実行を停止するステップと、
    レジュームされたときに前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機が前記アプリケーションまたは前記オペレーティング・システムのプログラム状況ワードを使用して前記第1のコンピュータまたは前記第1のLPAR内で前記アプリケーションまたは前記オペレーティング・システムの実行を停止したところで前記アプリケーションまたは前記オペレーティング・システムの実行をレジュームすることになるように、前記第1の専用メモリから前記共用ストレージにさらに前記第2の専用メモリに前記プログラム状況ワードをコピーするステップと、
    をさらに有する、請求項11に記載の方法。
  15. 前記第1の共用メモリから前記共用ストレージに前記通信キューをコピーする前記ステップの前に、前記第2の仮想計算機が前記通信キューに作業項目を供給するステップと、
    前記第1の専用メモリから前記共用ストレージに前記第2の仮想計算機のオペレーティング・システムおよびアプリケーションをコピーするステップと、
    前記第1の共用メモリから前記共用ストレージに前記第2の仮想計算機の通信キューをコピーするステップと、
    前記共用ストレージから前記第2のコンピュータまたは前記第2のLPAR内の前記第2の仮想計算機に専用の第3の専用メモリに前記第2の仮想計算機の前記オペレーティング・システムおよび前記アプリケーションをコピーし、前記第2のコンピュータまたは前記第2のLPAR内で前記第2の仮想計算機をレジュームするステップと、
    前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機が、前記第1の実コンピュータまたは前記第1のLPAR内にあるときに前記第2の仮想計算機によって供給された前記作業項目を獲得でき、前記第2のコンピュータまたは前記第2のLPAR内にあるときに前記第2の仮想計算機が、前記通信キューに前記第1の作業項目を供給するために前記第1のコンピュータまたは前記第1のLPAR内にあるときに前記第2の仮想計算機が使用したものと同じアドレスを使用して前記通信キューに他の作業項目を供給できるように、前記共用ストレージから前記第2の共用メモリに前記第2の仮想計算機の前記通信キューをコピーするステップと、
    をさらに有する、請求項11に記載の方法。
  16. 前記第2の実コンピュータまたは前記第2のLPARに前記共用ストレージ内の前記オペレーティング・システム、前記アプリケーション、および前記通信キューを通知するステップをさらに有する、請求項11に記載の方法。
  17. 第1の実コンピュータから第2の実コンピュータにまたは同じ実コンピュータ内の第1のLPARから第2のLPARに、第1の仮想計算機および通信キューをマイグレーションするためのコンピュータ・プログラムにおいて、マイグレーションの前に、前記第1の仮想計算機が前記第1の仮想計算機に専用の第1の専用メモリ内にオペレーティング・システムおよびアプリケーションを有し、マイグレーションの前に、前記通信キューが前記第1のコンピュータまたは前記第1のLPAR内の前記第1の仮想計算機および第2の仮想計算機によって共用される第1の共用メモリに常駐し、前記コンピュータ・プログラムが、
    前記第1の専用メモリから前記第1および第2のコンピュータまたは前記第1および第2のLPARによって共用される共用ストレージに前記オペレーティング・システムおよび前記アプリケーションをコピーするための第1のプログラム命令と、
    前記第1の共用メモリから前記共用ストレージに前記通信キューをコピーするための第2のプログラム命令と、
    前記共用ストレージから前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機に専用の第2の専用メモリに前記オペレーティング・システムおよび前記アプリケーションをコピーし、前記第2のコンピュータまたは前記第2のLPAR内で前記第1の仮想計算機をレジュームするための第3のプログラム命令と、
    前記共用ストレージから前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機ならびに第3および第4の仮想計算機によって共用される第2の共用メモリに前記通信キューをコピーするための第4のプログラム命令と、
    を有する、コンピュータ・プログラム。
  18. 前記第2の共用メモリからの前記通信キューを前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機に付加するための第5のプログラム命令をさらに有する、請求項17に記載のコンピュータ・プログラム。
  19. 前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機が、前記第1のコンピュータまたは前記第1のLPAR内の前記第1の仮想計算機によって使用される前記通信キューのアドレスを使用して前記第2の共用メモリ内の前記通信キューにアクセスすることになるように、前記第1の専用メモリから前記共用ストレージにさらに前記第2の専用メモリに前記アドレスをコピーするための第5のプログラム命令
    をさらに有する、請求項17に記載のコンピュータ・プログラム。
  20. 前記第1のプログラム命令が前記共用ストレージに前記アプリケーションおよび前記オペレーティング・システムをコピーした後に、前記第1のコンピュータまたは前記第1のLPAR内の前記アプリケーションの実行を停止するための第5のプログラム命令と、
    レジュームされたときに前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機が前記アプリケーションまたは前記オペレーティング・システムのプログラム状況ワードを使用して前記第1のコンピュータまたは前記第1のLPAR内で前記アプリケーションまたは前記オペレーティング・システムの実行を停止したところで前記アプリケーションまたは前記オペレーティング・システムの実行をレジュームすることになるように、前記第1の専用メモリから前記共用ストレージにさらに前記第2の専用メモリに前記プログラム状況ワードをコピーするための第6のプログラム命令と、
    をさらに有する、請求項17に記載のコンピュータ・プログラム。
  21. 前記第2のプログラム命令が前記第1の共用メモリから前記共用ストレージに前記通信キューをコピーする前に、前記第2の仮想計算機が前記通信キューに作業項目を供給し、
    前記第1の専用メモリから前記共用ストレージに前記第2の仮想計算機のオペレーティング・システムおよびアプリケーションをコピーするための第5のプログラム命令と、
    前記第1の共用メモリから前記共用ストレージに前記第2の仮想計算機の通信キューをコピーするための第6のプログラム命令と、
    前記共用ストレージから前記第2のコンピュータまたは前記第2のLPAR内の前記第2の仮想計算機に専用の第3の専用メモリに前記第2の仮想計算機の前記オペレーティング・システムおよび前記アプリケーションをコピーし、前記第2のコンピュータまたは前記第2のLPAR内で前記第2の仮想計算機をレジュームするための第7のプログラム命令と、
    前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機が、前記第1の実コンピュータまたは前記第1のLPAR内にあるときに前記第2の仮想計算機によって供給された前記作業項目を獲得でき、前記第2のコンピュータまたは前記第2のLPAR内にあるときに前記第2の仮想計算機が、前記通信キューに前記第1の作業項目を供給するために前記第1のコンピュータまたは前記第1のLPAR内にあるときに前記第2の仮想計算機が使用したものと同じアドレスを使用して前記通信キューに他の作業項目を供給できるように、前記共用ストレージから前記第2の共用メモリに前記第2の仮想計算機の前記通信キューをコピーするための第8のプログラム命令と、
    をさらに有する、請求項17に記載のコンピュータ・プログラム。
  22. 前記第2の実コンピュータまたは前記第2のLPARに前記共用ストレージ内の前記オペレーティング・システム、前記アプリケーション、および前記通信キューを通知するための第5のプログラム命令をさらに有する、請求項17に記載のコンピュータ・プログラム。
  23. 第1の実コンピュータから第2の実コンピュータにまたは同じ実コンピュータ内の第1のLPARから第2のLPARに、第1の仮想計算機をマイグレーションするための方法において、マイグレーションの前に、前記第1の仮想計算機が前記第1の仮想計算機に専用の第1の専用メモリ内にオペレーティング・システムおよびアプリケーションを有し、前記方法が、
    前記第1および第2のコンピュータまたは前記第1および第2のLPARによって共用される共用メモリに前記第1の仮想計算機の通信キューを保管するステップと、
    前記第1の専用メモリから前記共用メモリに前記オペレーティング・システムおよび前記アプリケーションをコピーするステップと、
    前記共用メモリから前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機に専用の第2の専用メモリに前記オペレーティング・システムおよび前記アプリケーションをコピーし、前記第2のコンピュータまたは前記第2のLPAR内で前記第1の仮想計算機をレジュームするステップと、
    を有する、方法。
  24. 前記共用メモリからの前記通信キューを前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機に付加するステップをさらに有する、請求項23に記載の方法。
  25. 前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機が、前記第1のコンピュータまたは前記第1のLPAR内の前記第1の仮想計算機によって使用される前記通信キューのアドレスを使用して前記共用メモリ内の前記通信キューにアクセスすることになるように、前記第1の専用メモリから前記共用メモリにさらに前記第2の専用メモリに前記アドレスをコピーするステップ
    をさらに有する、請求項23に記載の方法。
  26. 前記共用メモリに前記アプリケーションおよび前記オペレーティング・システムをコピーする前記ステップの後に、前記第1のコンピュータまたは前記第1のLPAR内の前記アプリケーションの実行を停止するステップと、
    レジュームされたときに前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機が前記アプリケーションまたは前記オペレーティング・システムのプログラム状況ワードを使用して前記第1のコンピュータまたは前記第1のLPAR内で前記アプリケーションまたは前記オペレーティング・システムの実行を停止したところで前記アプリケーションまたは前記オペレーティング・システムの実行をレジュームすることになるように、前記第1の専用メモリから前記共用メモリにさらに前記第2の専用メモリに前記プログラム状況ワードをコピーするステップと、
    をさらに有する、請求項23に記載の方法。
  27. 前記共用メモリに前記アプリケーションおよび前記オペレーティング・システムをコピーする前記ステップの後に、前記第1のコンピュータまたは前記第1のLPAR内の前記アプリケーションの実行を停止するステップと、
    前記第1のコンピュータまたは前記第1のLPAR内の前記アプリケーションの実行を停止する前記ステップの前に、前記第1のコンピュータまたは前記第1のLPAR内の前記第2の仮想計算機が前記通信キューに第1の作業項目を供給するステップと、
    前記第2のコンピュータまたは前記第2のLPAR内で前記アプリケーションの実行をレジュームするステップの後に、前記第1のコンピュータまたは前記第1のLPAR内の前記第2の仮想計算機が前記通信キューに第2の作業項目を供給し、前記第2の仮想計算機が前記通信キューに同じアドレスを使用して前記通信キューに前記第1および第2の作業項目を供給するステップと、
    をさらに有する、請求項23に記載の方法。
  28. 第1の実コンピュータから第2の実コンピュータにまたは同じ実コンピュータ内の第1のLPARから第2のLPARに、第1の仮想計算機をマイグレーションするためのコンピュータ・プログラムにおいて、マイグレーションの前に、前記第1の仮想計算機が前記第1の仮想計算機に専用の第1の専用メモリ内にオペレーティング・システムおよびアプリケーションを有し、前記コンピュータ・プログラムが、
    前記第1および第2のコンピュータまたは前記第1および第2のLPARによって共用される共用メモリに前記第1の仮想計算機の通信キューを保管するための第1のプログラム命令と、
    前記第1の専用メモリから前記共用メモリに前記オペレーティング・システムおよび前記アプリケーションをコピーするための第2のプログラム命令と、
    前記共用メモリから前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機に専用の第2の専用メモリに前記オペレーティング・システムおよび前記アプリケーションをコピーし、前記第2のコンピュータまたは前記第2のLPAR内で前記第1の仮想計算機をレジュームするための第3のプログラム命令と、
    を有する、コンピュータ・プログラム。
  29. 前記共用メモリからの前記通信キューを前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機に付加するための第4のプログラム命令をさらに有する、請求項28に記載のコンピュータ・プログラム。
  30. 前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機が、前記第1のコンピュータまたは前記第1のLPAR内の前記第1の仮想計算機によって使用される前記通信キューのアドレスを使用して前記共用メモリ内の前記通信キューにアクセスすることになるように、前記第1の専用メモリから前記共用メモリにさらに前記第2の専用メモリに前記アドレスをコピーするための第4のプログラム命令
    をさらに有する、請求項28に記載のコンピュータ・プログラム。
  31. 前記第1のプログラム命令が前記共用メモリに前記アプリケーションおよび前記オペレーティング・システムをコピーした後に、前記第1のコンピュータまたは前記第1のLPAR内の前記アプリケーションの実行を停止するための第4のプログラム命令と、
    レジュームされたときに前記第2のコンピュータまたは前記第2のLPAR内の前記第1の仮想計算機が前記アプリケーションまたは前記オペレーティング・システムのプログラム状況ワードを使用して前記第1のコンピュータまたは前記第1のLPAR内で前記アプリケーションまたは前記オペレーティング・システムの実行を停止したところで前記アプリケーションまたは前記オペレーティング・システムの実行をレジュームすることになるように、前記第1の専用メモリから前記共用メモリにさらに前記第2の専用メモリに前記プログラム状況ワードをコピーするための第5のプログラム命令と、
    をさらに有する、請求項28に記載のコンピュータ・プログラム。
  32. 前記第1のプログラム命令が前記共用メモリに前記アプリケーションおよび前記オペレーティング・システムをコピーした後に、前記第1のコンピュータまたは前記第1のLPAR内の前記アプリケーションの実行を停止するための第4のプログラム命令をさらに有し、
    前記第4のプログラム命令が前記第1のコンピュータまたは前記第1のLPAR内の前記アプリケーションの実行を停止する前に、前記第1のコンピュータまたは前記第1のLPAR内の前記第2の仮想計算機が前記通信キューに第1の作業項目を供給し、
    前記第3のプログラム命令が前記第2のコンピュータまたは前記第2のLPAR内で前記アプリケーションの実行をレジュームした後に、前記第1のコンピュータまたは前記第1のLPAR内の前記第2の仮想計算機が前記通信キューに第2の作業項目を供給し、
    前記第2の仮想計算機が前記通信キューに同じアドレスを使用して前記通信キューに前記第1および第2の作業項目を供給する、請求項28に記載のコンピュータ・プログラム。
JP2005130300A 2004-05-11 2005-04-27 仮想計算機をマイグレーションするための方法およびシステム Active JP4769484B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/843,931 US7257811B2 (en) 2004-05-11 2004-05-11 System, method and program to migrate a virtual machine
US10/843931 2004-05-11

Publications (3)

Publication Number Publication Date
JP2005327279A true JP2005327279A (ja) 2005-11-24
JP2005327279A5 JP2005327279A5 (ja) 2008-06-19
JP4769484B2 JP4769484B2 (ja) 2011-09-07

Family

ID=35349639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005130300A Active JP4769484B2 (ja) 2004-05-11 2005-04-27 仮想計算機をマイグレーションするための方法およびシステム

Country Status (4)

Country Link
US (2) US7257811B2 (ja)
JP (1) JP4769484B2 (ja)
CN (1) CN1333341C (ja)
TW (1) TWI370974B (ja)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097602A (ja) * 2006-10-10 2008-04-24 Internatl Business Mach Corp <Ibm> 仮想マシンのための多数コンフィギュレーションによる通信管理のためのシステム、方法、およびプログラム
JP2008165789A (ja) * 2006-12-27 2008-07-17 Intel Corp パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換
JP2008225546A (ja) * 2007-03-08 2008-09-25 Nec Corp 仮想装置構成システム、及びその方法
EP1998255A1 (en) 2007-05-30 2008-12-03 Hitachi Ltd. Virtual computer system and control method thereof
JP2009528620A (ja) * 2006-02-28 2009-08-06 マイクロソフト コーポレーション ハードウェア・デバイスなどのリソースを有する仮想マシンの移動
JP2010039685A (ja) * 2008-08-04 2010-02-18 Hitachi Ltd 複合型計算機及び複合型計算機の制御方法
WO2010079587A1 (ja) * 2009-01-06 2010-07-15 三菱電機株式会社 管理装置及び管理方法及びプログラム
WO2010126048A1 (ja) * 2009-04-28 2010-11-04 日本電気株式会社 計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム
JP2010257209A (ja) * 2009-04-24 2010-11-11 Fujitsu Ltd バススイッチ,コンピュータシステム及びコンピュータシステムの管理方法
JP2011081847A (ja) * 2011-01-25 2011-04-21 Hitachi Ltd 仮想計算機システム
JP2011100431A (ja) * 2009-11-09 2011-05-19 Inst For Information Industry 仮想マシン制御装置及び仮想マシン制御方法
KR20110073418A (ko) * 2008-09-15 2011-06-29 인터내셔널 비지네스 머신즈 코포레이션 서비스 랜드스케이프내의 가상 머신의 라이브 마이그레이션 보안화
JP2011192049A (ja) * 2010-03-15 2011-09-29 Nec Corp 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム
JP2011227729A (ja) * 2010-04-20 2011-11-10 Nec Corp 管理サーバおよび仮想マシン配置制御方法
WO2012063294A1 (ja) * 2010-11-12 2012-05-18 株式会社日立製作所 計算機システム
JPWO2010123140A1 (ja) * 2009-04-24 2012-10-25 日本電気株式会社 パケット通信システム、パケット通信装置、パケット通信方法、パケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体
US8464019B2 (en) 2009-03-30 2013-06-11 Nec Corporation Apparatus for dynamically migrating LPARS with pass-through I/O devices, its method, and its program
WO2013140524A1 (ja) * 2012-03-19 2013-09-26 富士通株式会社 プログラム、管理サーバおよびパッチスケジューリング方法
JP2015509631A (ja) * 2012-02-21 2015-03-30 エフ5 ネットワークス、インコーポレイテッド バーチャルトラフィックマネージャーをホストするハイパーバイザー又はハードウェアマネージャーのためのインサービスアップグレード
WO2015146104A1 (ja) * 2014-03-27 2015-10-01 日本電気株式会社 仮想マシンシステムおよびその制御方法およびその制御プログラム記録媒体
JP2015194855A (ja) * 2014-03-31 2015-11-05 富士通株式会社 情報処理システム、制御プログラム、及び情報処理システムの制御方法
US9378032B2 (en) 2012-09-20 2016-06-28 Fujitsu Limited Information processing method, information processing apparatus, recording medium, and system
JP2016533586A (ja) * 2013-08-21 2016-10-27 シンプリヴィティ・コーポレーション 仮想マシン変換のためのシステムおよび方法
US9823943B2 (en) 2014-05-12 2017-11-21 Fujitsu Limited Apparatus and method for controlling virtual machine migrations based on flow information
US10341177B2 (en) 2015-08-04 2019-07-02 Fujitsu Limited Parallel computing system and migration method

Families Citing this family (349)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US7313793B2 (en) * 2002-07-11 2007-12-25 Microsoft Corporation Method for forking or migrating a virtual machine
US7484208B1 (en) * 2002-12-12 2009-01-27 Michael Nelson Virtual machine migration
US9020854B2 (en) 2004-03-08 2015-04-28 Proxense, Llc Linked account system using personal digital key (PDK-LAS)
US7383405B2 (en) * 2004-06-30 2008-06-03 Microsoft Corporation Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity
WO2006026402A2 (en) * 2004-08-26 2006-03-09 Availigent, Inc. Method and system for providing high availability to computer applications
JP4295184B2 (ja) * 2004-09-17 2009-07-15 株式会社日立製作所 仮想計算機システム
US8464250B1 (en) * 2004-09-23 2013-06-11 Transcontinental Events, Llc System and method for on-demand cloning of virtual machines
US20060085784A1 (en) * 2004-10-15 2006-04-20 Microsoft Corporation Systems and methods for authoring and accessing computer-based materials using virtual machines
US7536525B2 (en) * 2004-11-09 2009-05-19 Dell Products L.P. Virtual machine hot cloning including freezing and unfreezing memory in a distributed network
US8924499B2 (en) * 2004-12-14 2014-12-30 International Business Machines Corporation Operating system migration with minimal storage area network reconfiguration
EP1829283A2 (en) 2004-12-20 2007-09-05 Proxense, LLC Biometric personal data key (pdk) authentication
US7979862B2 (en) * 2004-12-21 2011-07-12 Hewlett-Packard Development Company, L.P. System and method for replacing an inoperable master workload management process
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
US8543636B1 (en) * 2005-04-01 2013-09-24 Sprint Communications Company L.P. System migration using hardware virtualization
WO2006108148A2 (en) * 2005-04-06 2006-10-12 Movai Technologies, Inc. Transportable computing environment
US7607129B2 (en) * 2005-04-07 2009-10-20 International Business Machines Corporation Method and apparatus for using virtual machine technology for managing parallel communicating applications
US7640591B1 (en) * 2005-04-22 2009-12-29 Sun Microsystems, Inc. Method and apparatus for limiting denial of service attack by limiting traffic for hosts
US7681200B2 (en) * 2005-07-22 2010-03-16 Microsoft Corporation Secure hardware desktop buffer composition
US8752049B1 (en) 2008-12-15 2014-06-10 Open Invention Network, Llc Method and computer readable medium for providing checkpointing to windows application groups
US9286109B1 (en) 2005-08-26 2016-03-15 Open Invention Network, Llc Method and system for providing checkpointing to windows application groups
US7746783B1 (en) * 2005-09-14 2010-06-29 Oracle America, Inc. Method and apparatus for monitoring packets at high data rates
WO2007036072A1 (en) * 2005-09-29 2007-04-05 Intel Corporation Apparatus and method for expedited virtual machine (vm) launch in vm cluster environment
US20070233880A1 (en) * 2005-10-20 2007-10-04 The Trustees Of Columbia University In The City Of New York Methods, media and systems for enabling a consistent web browsing session on different digital processing devices
US8280944B2 (en) * 2005-10-20 2012-10-02 The Trustees Of Columbia University In The City Of New York Methods, media and systems for managing a distributed application running in a plurality of digital processing devices
US20070245334A1 (en) * 2005-10-20 2007-10-18 The Trustees Of Columbia University In The City Of New York Methods, media and systems for maintaining execution of a software process
US8549646B2 (en) * 2005-10-20 2013-10-01 The Trustees Of Columbia University In The City Of New York Methods, media and systems for responding to a denial of service attack
US7680643B2 (en) * 2005-11-17 2010-03-16 International Business Machines Corporation Method for carrying multiple suspended runtime images
US8433919B2 (en) 2005-11-30 2013-04-30 Proxense, Llc Two-level authentication for secure transactions
US7761573B2 (en) * 2005-12-07 2010-07-20 Avaya Inc. Seamless live migration of virtual machines across optical networks
US9113464B2 (en) 2006-01-06 2015-08-18 Proxense, Llc Dynamic cell size variation via wireless link parameter adjustment
US11206664B2 (en) 2006-01-06 2021-12-21 Proxense, Llc Wireless network synchronization of cells and client devices on a network
US8521912B2 (en) * 2006-01-12 2013-08-27 Broadcom Corporation Method and system for direct device access
US7814495B1 (en) * 2006-03-31 2010-10-12 V Mware, Inc. On-line replacement and changing of virtualization software
CN101059768B (zh) * 2006-04-17 2011-01-05 北京软通科技有限责任公司 实现操作系统备用的系统及方法
US7653794B2 (en) * 2006-05-08 2010-01-26 Microsoft Corporation Converting physical machines to virtual machines
CA2547047A1 (en) * 2006-05-15 2007-11-15 Embotics Corporation Management of virtual machines using mobile autonomic elements
US7823152B2 (en) * 2006-06-06 2010-10-26 International Business Machines Corporation System and method for collaborative hosting of applications, virtual machines, and data objects
US8539137B1 (en) * 2006-06-09 2013-09-17 Parallels IP Holdings GmbH System and method for management of virtual execution environment disk storage
US8607009B2 (en) * 2006-07-13 2013-12-10 Microsoft Corporation Concurrent virtual machine snapshots and restore
US7490191B2 (en) * 2006-09-22 2009-02-10 Intel Corporation Sharing information between guests in a virtual machine environment
US8949825B1 (en) 2006-10-17 2015-02-03 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US9015703B2 (en) 2006-10-17 2015-04-21 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US8612971B1 (en) 2006-10-17 2013-12-17 Manageiq, Inc. Automatic optimization for virtual systems
US9038062B2 (en) * 2006-10-17 2015-05-19 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US8458695B2 (en) * 2006-10-17 2013-06-04 Manageiq, Inc. Automatic optimization for virtual systems
US8234641B2 (en) 2006-10-17 2012-07-31 Managelq, Inc. Compliance-based adaptations in managed virtual systems
US8752045B2 (en) 2006-10-17 2014-06-10 Manageiq, Inc. Methods and apparatus for using tags to control and manage assets
US9086917B1 (en) 2006-10-17 2015-07-21 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US8234640B1 (en) 2006-10-17 2012-07-31 Manageiq, Inc. Compliance-based adaptations in managed virtual systems
US8903888B1 (en) * 2006-10-27 2014-12-02 Hewlett-Packard Development Company, L.P. Retrieving data of a virtual machine based on demand to migrate the virtual machine between physical machines
US20080104586A1 (en) * 2006-10-27 2008-05-01 Microsoft Corporation Allowing Virtual Machine to Discover Virtual Status Thereof
US9269221B2 (en) 2006-11-13 2016-02-23 John J. Gobbi Configuration of interfaces for a location detection system and application
US8165177B2 (en) * 2006-12-22 2012-04-24 Lenovo (Singapore) Pte. Ltd. System and method for hybrid virtual machine monitor file system operations
US8336046B2 (en) * 2006-12-29 2012-12-18 Intel Corporation Dynamic VM cloning on request from application based on mapping of virtual hardware configuration to the identified physical hardware resources
US7673113B2 (en) * 2006-12-29 2010-03-02 Intel Corporation Method for dynamic load balancing on partitioned systems
US20080189700A1 (en) * 2007-02-02 2008-08-07 Vmware, Inc. Admission Control for Virtual Machine Cluster
US20080189432A1 (en) * 2007-02-02 2008-08-07 International Business Machines Corporation Method and system for vm migration in an infiniband network
US20080186990A1 (en) * 2007-02-02 2008-08-07 International Business Machines Corporation Translation module, method and computer program product for providing multiple infiniband address support for vm migration using infiniband address translation
US8176486B2 (en) 2007-02-15 2012-05-08 Clearcube Technology, Inc. Maintaining a pool of free virtual machines on a server computer
US9043391B2 (en) 2007-02-15 2015-05-26 Citrix Systems, Inc. Capturing and restoring session state of a machine without using memory images
US9183524B2 (en) * 2007-02-21 2015-11-10 Novell, Inc. Imaged-based method for transport and authentication of virtualized workflows
EP1962192A1 (en) * 2007-02-21 2008-08-27 Deutsche Telekom AG Method and system for the transparent migration of virtual machine storage
US8370837B2 (en) 2007-03-23 2013-02-05 Parallels IP Holdings GmbH Blocking file system for on-the-fly migration of a container with an NFS mount
US8479194B2 (en) * 2007-04-25 2013-07-02 Microsoft Corporation Virtual machine migration
US8046540B2 (en) * 2007-04-26 2011-10-25 Sap Ag Shared closures on demand
US8966474B2 (en) * 2007-04-30 2015-02-24 Hewlett-Packard Development Company, L.P. Managing virtual machines using shared image
US7904564B2 (en) * 2007-05-21 2011-03-08 International Business Machines Corporation Method and apparatus for migrating access to block storage
US8782322B2 (en) * 2007-06-21 2014-07-15 International Business Machines Corporation Ranking of target server partitions for virtual server mobility operations
US8191141B2 (en) 2007-06-22 2012-05-29 Red Hat, Inc. Method and system for cloaked observation and remediation of software attacks
US9678803B2 (en) * 2007-06-22 2017-06-13 Red Hat, Inc. Migration of network entities to a cloud infrastructure
US8949827B2 (en) * 2007-06-22 2015-02-03 Red Hat, Inc. Tracking a virtual machine
US8656009B2 (en) 2010-10-15 2014-02-18 Red Hat, Inc. Indicating an impact of a change in state of a node
US9354960B2 (en) 2010-12-27 2016-05-31 Red Hat, Inc. Assigning virtual machines to business application service groups based on ranking of the virtual machines
US8156378B1 (en) 2010-10-15 2012-04-10 Red Hat, Inc. System and method for determination of the root cause of an overall failure of a business application service
US8429748B2 (en) * 2007-06-22 2013-04-23 Red Hat, Inc. Network traffic analysis using a dynamically updating ontological network description
US8938489B2 (en) 2007-06-22 2015-01-20 Red Hat, Inc. Monitoring system performance changes based on configuration modification
US8825838B2 (en) 2010-10-15 2014-09-02 Red Hat, Inc. Identification of business process application service groups
US9477572B2 (en) 2007-06-22 2016-10-25 Red Hat, Inc. Performing predictive modeling of virtual machine relationships
US9727440B2 (en) 2007-06-22 2017-08-08 Red Hat, Inc. Automatic simulation of virtual machine performance
US8539570B2 (en) * 2007-06-22 2013-09-17 Red Hat, Inc. Method for managing a virtual machine
US8984504B2 (en) * 2007-06-22 2015-03-17 Red Hat, Inc. Method and system for determining a host machine by a virtual machine
US8336108B2 (en) * 2007-06-22 2012-12-18 Red Hat, Inc. Method and system for collaboration involving enterprise nodes
US9569330B2 (en) 2007-06-22 2017-02-14 Red Hat, Inc. Performing dependency analysis on nodes of a business application service group
US8015383B2 (en) * 2007-06-27 2011-09-06 International Business Machines Corporation System, method and program to manage virtual memory allocated by a virtual machine control program
US20090007099A1 (en) * 2007-06-27 2009-01-01 Cummings Gregory D Migrating a virtual machine coupled to a physical device
US8806480B2 (en) * 2007-06-29 2014-08-12 Microsoft Corporation Virtual machine smart migration
CN100489787C (zh) * 2007-07-10 2009-05-20 北京大学 一种虚拟机的外存在线迁移方法
US8612974B2 (en) * 2007-07-16 2013-12-17 Red Hat, Inc. Dynamic service topology
US8280974B2 (en) * 2007-07-31 2012-10-02 Hewlett-Packard Development Company, L.P. Migrating workloads using networked attached memory
US8374929B1 (en) 2007-08-06 2013-02-12 Gogrid, LLC System and method for billing for hosted services
US8694990B2 (en) * 2007-08-27 2014-04-08 International Business Machines Corporation Utilizing system configuration information to determine a data migration order
US9274949B2 (en) * 2007-08-27 2016-03-01 International Business Machines Corporation Tracking data updates during memory migration
US20090063753A1 (en) * 2007-08-27 2009-03-05 International Business Machines Corporation Method for utilizing data access patterns to determine a data migration order
US8661211B2 (en) * 2007-08-27 2014-02-25 International Business Machines Corporation Method for migrating contents of a memory on a virtual machine
US8671256B2 (en) * 2007-08-27 2014-03-11 International Business Machines Corporation Migrating contents of a memory on a virtual machine
US20090063752A1 (en) * 2007-08-27 2009-03-05 International Business Machines Corporation Utilizing data access patterns to determine a data migration order
US8127296B2 (en) * 2007-09-06 2012-02-28 Dell Products L.P. Virtual machine migration between processors having VM migration registers controlled by firmware to modify the reporting of common processor feature sets to support the migration
US8191063B2 (en) * 2007-09-30 2012-05-29 Symantex Corporation Method for migrating a plurality of virtual machines by associating files and state information with a single logical container
US8468230B2 (en) * 2007-10-18 2013-06-18 Fujitsu Limited Method, apparatus and recording medium for migrating a virtual machine
WO2009062194A1 (en) 2007-11-09 2009-05-14 Proxense, Llc Proximity-sensor supporting multiple application services
US8117418B1 (en) * 2007-11-16 2012-02-14 Tilera Corporation Method and system for managing virtual addresses of a plurality of processes corresponding to an application
US8418173B2 (en) 2007-11-27 2013-04-09 Manageiq, Inc. Locating an unauthorized virtual machine and bypassing locator code by adjusting a boot pointer of a managed virtual machine in authorized environment
US8407688B2 (en) 2007-11-27 2013-03-26 Managelq, Inc. Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets
US8171528B1 (en) 2007-12-06 2012-05-01 Proxense, Llc Hybrid device having a personal digital key and receiver-decoder circuit and methods of use
WO2009079666A1 (en) 2007-12-19 2009-06-25 Proxense, Llc Security system and method for controlling access to computing resources
US8332847B1 (en) * 2008-01-10 2012-12-11 Hewlett-Packard Development Company, L. P. Validating manual virtual machine migration
US8185894B1 (en) * 2008-01-10 2012-05-22 Hewlett-Packard Development Company, L.P. Training a virtual machine placement controller
KR101496325B1 (ko) * 2008-01-16 2015-03-04 삼성전자주식회사 가상 머신의 상태를 저장, 복원하는 방법 및 장치
US8508336B2 (en) 2008-02-14 2013-08-13 Proxense, Llc Proximity-based healthcare management system with automatic access to private information
JP5089429B2 (ja) * 2008-02-21 2012-12-05 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
US8495609B2 (en) * 2008-02-25 2013-07-23 Sas Institute, Inc. Methods, systems, and computer program products for taking a snapshot of installed software on a data processing system as part of a software update process
US20090222640A1 (en) * 2008-02-28 2009-09-03 Bauman Ellen M Memory Migration in a Logically Partitioned Computer System
US9015704B2 (en) 2008-03-24 2015-04-21 International Business Machines Corporation Context agent injection using virtual machine introspection
US9015705B2 (en) * 2008-03-28 2015-04-21 International Business Machines Corporation Computing device having a migrated virtual machine accessing physical storage space on another computing device
US8281318B2 (en) * 2008-03-31 2012-10-02 Vmware, Inc. Systems and methods for inter process communication based on queues
US8646052B2 (en) * 2008-03-31 2014-02-04 Intel Corporation Method and apparatus for providing a secure display window inside the primary display
US11120449B2 (en) 2008-04-08 2021-09-14 Proxense, Llc Automated service-based order processing
US8307405B2 (en) * 2008-04-28 2012-11-06 International Business Machines Corporation Methods, hardware products, and computer program products for implementing zero-trust policy in storage reports
US8336099B2 (en) * 2008-05-08 2012-12-18 International Business Machines Corporation Methods, hardware products, and computer program products for implementing introspection data comparison utilizing hypervisor guest introspection data
US9032397B2 (en) * 2008-05-28 2015-05-12 Hewlett-Packard Development Company, L.P. Virtual machine migration with direct physical access control
US20090307711A1 (en) * 2008-06-05 2009-12-10 International Business Machines Corporation Integrating computation and communication on server attached accelerators
US8195897B2 (en) * 2008-06-09 2012-06-05 International Business Machines Corporation Migrating memory data between partitions
US8225068B2 (en) * 2008-06-09 2012-07-17 International Business Machines Corporation Virtual real memory exportation for logical partitions
US8099615B2 (en) * 2008-06-30 2012-01-17 Oracle America, Inc. Method and system for power management in a virtual machine environment without disrupting network connectivity
US7809875B2 (en) * 2008-06-30 2010-10-05 Wind River Systems, Inc. Method and system for secure communication between processor partitions
CN101620462A (zh) * 2008-07-03 2010-01-06 鸿富锦精密工业(深圳)有限公司 计算机装置
US8327355B2 (en) * 2008-07-15 2012-12-04 International Business Machines Corporation Method, computer program product, and hardware product for supporting virtual machine guest migration overcommit
JP5391601B2 (ja) * 2008-07-18 2014-01-15 富士通株式会社 資源転送システム、資源転送方法、情報処理装置及びコンピュータプログラム
JP5222651B2 (ja) * 2008-07-30 2013-06-26 株式会社日立製作所 仮想計算機システムおよび仮想計算機システムの制御方法
US8019732B2 (en) * 2008-08-08 2011-09-13 Amazon Technologies, Inc. Managing access of multiple executing programs to non-local block data storage
US9798560B1 (en) 2008-09-23 2017-10-24 Gogrid, LLC Automated system and method for extracting and adapting system configurations
US8549543B2 (en) * 2008-09-30 2013-10-01 International Business Machines Corporation Virtualize, checkpoint, and restart POSIX IPC objects during checkpointing and restarting of a software partition
US8266636B2 (en) * 2008-09-30 2012-09-11 International Business Machines Corporation Virtualize, checkpoint, and restart system V IPC objects during checkpointing and restarting of a software partition
US7805516B2 (en) * 2008-10-14 2010-09-28 Dell Products L.P. Enabling throttling of resources on a virtualization enabled information handling system
CN101727331B (zh) * 2008-10-24 2013-03-20 国际商业机器公司 升级活动虚拟机的客户操作系统的方法和设备
TWI397010B (zh) * 2008-12-10 2013-05-21 Inst Information Industry Virtual machine module scheduling, scheduling methods and computer program products
US8291414B2 (en) * 2008-12-11 2012-10-16 International Business Machines Corporation Shared resource service provisioning using a virtual machine manager
US8782670B2 (en) * 2009-04-10 2014-07-15 Open Invention Network, Llc System and method for application isolation
US8464256B1 (en) 2009-04-10 2013-06-11 Open Invention Network, Llc System and method for hierarchical interception with isolated environments
US8539488B1 (en) 2009-04-10 2013-09-17 Open Invention Network, Llc System and method for application isolation with live migration
US8341631B2 (en) 2009-04-10 2012-12-25 Open Invention Network Llc System and method for application isolation
US8880473B1 (en) 2008-12-15 2014-11-04 Open Invention Network, Llc Method and system for providing storage checkpointing to a group of independent computer applications
US8904004B2 (en) * 2009-04-10 2014-12-02 Open Invention Network, Llc System and method for maintaining mappings between application resources inside and outside isolated environments
US8752048B1 (en) 2008-12-15 2014-06-10 Open Invention Network, Llc Method and system for providing checkpointing to windows application groups
US8281317B1 (en) 2008-12-15 2012-10-02 Open Invention Network Llc Method and computer readable medium for providing checkpointing to windows application groups
US8862538B2 (en) * 2008-12-18 2014-10-14 International Business Machines Corporation Maintaining a network connection of a workload during transfer
US20100161922A1 (en) * 2008-12-19 2010-06-24 Richard William Sharp Systems and methods for facilitating migration of virtual machines among a plurality of physical machines
US9594582B2 (en) * 2009-01-05 2017-03-14 International Business Machines Corporation Detection and management of dynamic migration of virtual environments
CN101464812B (zh) * 2009-01-06 2012-05-30 北京航空航天大学 一种虚拟机迁移方法
US8904381B2 (en) * 2009-01-23 2014-12-02 Hewlett-Packard Development Company, L.P. User defined data partitioning (UDP)—grouping of data based on computation model
US8307367B2 (en) * 2009-03-05 2012-11-06 International Business Machines Corporation Smart scheduling of automatic partition migration by the use of timers
US8194680B1 (en) * 2009-03-11 2012-06-05 Amazon Technologies, Inc. Managing communications for modified computer networks
US8595737B2 (en) * 2009-03-17 2013-11-26 Hitachi, Ltd. Method for migrating a virtual server to physical server according to a variation ratio, a reference execution time, a predetermined occupied resource amount and a occupancy amount
US9817695B2 (en) * 2009-04-01 2017-11-14 Vmware, Inc. Method and system for migrating processes between virtual machines
US10452817B1 (en) * 2009-04-08 2019-10-22 Trend Micro Inc File input/output redirection in an API-proxy-based application emulator
US9577893B1 (en) 2009-04-10 2017-02-21 Open Invention Network Llc System and method for cached streaming application isolation
US8555360B1 (en) 2009-04-10 2013-10-08 Open Invention Network Llc System and method for on-line and off-line streaming application isolation
US10419504B1 (en) 2009-04-10 2019-09-17 Open Invention Network Llc System and method for streaming application isolation
US11538078B1 (en) 2009-04-10 2022-12-27 International Business Machines Corporation System and method for usage billing of hosted applications
US9058599B1 (en) 2009-04-10 2015-06-16 Open Invention Network, Llc System and method for usage billing of hosted applications
US8418236B1 (en) 2009-04-10 2013-04-09 Open Invention Network Llc System and method for streaming application isolation
US8832699B2 (en) 2009-05-11 2014-09-09 Accenture Global Services Limited Migrating processes operating on one platform to another platform in a multi-platform system
US8813048B2 (en) 2009-05-11 2014-08-19 Accenture Global Services Limited Single code set applications executing in a multiple platform system
JP2010272055A (ja) * 2009-05-25 2010-12-02 Sony Corp 情報処理装置および方法、並びにプログラム
CN101996089A (zh) * 2009-08-21 2011-03-30 联想(北京)有限公司 一种计算机及区域增量的处理方法
US8832459B2 (en) * 2009-08-28 2014-09-09 Red Hat, Inc. Securely terminating processes in a cloud computing environment
US8635395B2 (en) * 2009-09-14 2014-01-21 Vmware, Inc. Method of suspending and resuming virtual machines
US8495629B2 (en) * 2009-09-24 2013-07-23 International Business Machines Corporation Virtual machine relocation system and associated methods
US8700752B2 (en) * 2009-11-03 2014-04-15 International Business Machines Corporation Optimized efficient LPAR capacity consolidation
US8370560B2 (en) * 2009-11-16 2013-02-05 International Business Machines Corporation Symmetric live migration of virtual machines
DE102009053643A1 (de) * 2009-11-17 2011-05-19 Sinitec Vertriebsgesellschaft Mbh Verfahren zur Migration von Daten sowie Computerprogramm zur Durchführung eines entsprechenden Verfahrens
US8533711B2 (en) * 2009-11-30 2013-09-10 Red Hat Israel, Ltd. Method and system for adjusting a selection algorithm for selecting a candidate host with a highest memory sharing history value with a target virtual machine from amongst a set of host machines that have a standard deviation of memory sharing history with the virtual machine below a threshold amount
US8327060B2 (en) * 2009-11-30 2012-12-04 Red Hat Israel, Ltd. Mechanism for live migration of virtual machines with memory optimizations
US8832683B2 (en) * 2009-11-30 2014-09-09 Red Hat Israel, Ltd. Using memory-related metrics of host machine for triggering load balancing that migrate virtual machine
US8589921B2 (en) * 2009-11-30 2013-11-19 Red Hat Israel, Ltd. Method and system for target host optimization based on resource sharing in a load balancing host and virtual machine adjustable selection algorithm
US8311032B2 (en) * 2009-12-03 2012-11-13 International Business Machines Corporation Dynamically provisioning virtual machines
US8352953B2 (en) * 2009-12-03 2013-01-08 International Business Machines Corporation Dynamically provisioning virtual machines
US8468288B2 (en) * 2009-12-10 2013-06-18 International Business Machines Corporation Method for efficient guest operating system (OS) migration over a network
US8705513B2 (en) * 2009-12-15 2014-04-22 At&T Intellectual Property I, L.P. Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks
US8352799B2 (en) * 2010-02-12 2013-01-08 Symantec Corporation Data corruption prevention during application restart and recovery
JP5493976B2 (ja) * 2010-02-18 2014-05-14 富士通株式会社 情報処理装置、計算機システム及びプログラム
US8244957B2 (en) * 2010-02-26 2012-08-14 Red Hat Israel, Ltd. Mechanism for dynamic placement of virtual machines during live migration based on memory
US8650563B2 (en) * 2010-02-26 2014-02-11 Red Hat Israel, Ltd. Identification and placement of new virtual machines to reduce memory consumption based on shared images with hosted virtual machines
US9141919B2 (en) 2010-02-26 2015-09-22 International Business Machines Corporation System and method for object migration using waves
US8631405B2 (en) * 2010-02-26 2014-01-14 Red Hat Israel, Ltd. Identification and placement of new virtual machines based on similarity of software configurations with hosted virtual machines
US9218100B2 (en) * 2010-03-04 2015-12-22 International Business Machines Corporation Method and system for partitioning asset management plugins
US9418205B2 (en) * 2010-03-15 2016-08-16 Proxense, Llc Proximity-based system for automatic application or data access and item tracking
US9626206B2 (en) * 2010-03-18 2017-04-18 Microsoft Technology Licensing, Llc Virtual machine homogenization to enable migration across heterogeneous computers
US20110239117A1 (en) * 2010-03-25 2011-09-29 Microsoft Corporation Natural User Interaction in Shared Resource Computing Environment
CN102202075B (zh) 2010-03-26 2013-12-04 联想(北京)有限公司 数据共享方法及便携终端
US20110239133A1 (en) * 2010-03-29 2011-09-29 Microsoft Corporation Shared resource computing collaboration sessions management
US8892628B2 (en) * 2010-04-01 2014-11-18 Microsoft Corporation Administrative interface for managing shared resources
US8751857B2 (en) * 2010-04-13 2014-06-10 Red Hat Israel, Ltd. Monitoring of highly available virtual machines
US8473587B1 (en) 2010-05-20 2013-06-25 Gogrid, LLC System and method for caching server images in a hosting system
US9110702B2 (en) 2010-06-02 2015-08-18 Microsoft Technology Licensing, Llc Virtual machine migration techniques
WO2011155941A1 (en) 2010-06-10 2011-12-15 Hewlett-Packard Development Company, L.P. Virtual machine
US9009499B2 (en) * 2010-06-10 2015-04-14 Broadcom Corporation Power manager for a network having a virtual machine
US8839238B2 (en) * 2010-06-11 2014-09-16 International Business Machines Corporation Dynamic virtual machine shutdown without service interruptions
US8949499B2 (en) 2010-06-24 2015-02-03 International Business Machines Corporation Using a PCI standard hot plug controller to modify the hierarchy of a distributed switch
US8271710B2 (en) * 2010-06-24 2012-09-18 International Business Machines Corporation Moving ownership of a device between compute elements
CN102314377B (zh) * 2010-06-30 2014-08-06 国际商业机器公司 加速器及其实现支持虚拟机迁移的方法
US8601129B2 (en) * 2010-06-30 2013-12-03 International Business Machines Corporation Hypervisor selection for hosting a virtual machine image
US8918854B1 (en) 2010-07-15 2014-12-23 Proxense, Llc Proximity-based system for automatic application initialization
US9075635B1 (en) * 2010-07-26 2015-07-07 Symantec Corporation Systems and methods for merging virtual layers
CN102136993B (zh) * 2010-07-29 2016-12-21 华为技术有限公司 一种数据迁移的方法、装置和系统
US8826292B2 (en) 2010-08-06 2014-09-02 Red Hat Israel, Ltd. Migrating virtual machines based on level of resource sharing and expected load per resource on candidate target host machines
US8473557B2 (en) 2010-08-24 2013-06-25 At&T Intellectual Property I, L.P. Methods and apparatus to migrate virtual machines between distributive computing networks across a wide area network
US8620870B2 (en) 2010-09-30 2013-12-31 Commvault Systems, Inc. Efficient data management improvements, such as docking limited-feature data management modules to a full-featured data management system
US8418185B2 (en) 2010-10-19 2013-04-09 International Business Machines Corporation Memory maximization in a high input/output virtual machine environment
US8468289B2 (en) 2010-10-22 2013-06-18 International Business Machines Corporation Dynamic memory affinity reallocation after partition migration
KR101401378B1 (ko) 2010-10-26 2014-05-30 한국전자통신연구원 가상 머신의 라이브 마이그레이션에서 가상 연결성 유지를 위한 호스트 시스템, 원격 장치 서버 및 이를 이용한 연결성 유지 방법
US9183046B2 (en) * 2010-10-27 2015-11-10 Red Hat Israel, Ltd. Network address retrieval for live migration of a guest system in a virtual machine system
US8756602B2 (en) 2010-11-14 2014-06-17 Brocade Communications Systems, Inc. Virtual machine and application migration over local and wide area networks without timeout
US8874457B2 (en) * 2010-11-17 2014-10-28 International Business Machines Corporation Concurrent scheduling of plan operations in a virtualized computing environment
US9032146B2 (en) 2010-11-30 2015-05-12 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Dynamic use of raid levels responsive to workload requirements
US8688636B1 (en) * 2010-12-10 2014-04-01 Netapp, Inc. Rapid cloning of virtual machines
CN102541619B (zh) 2010-12-23 2015-09-16 国际商业机器公司 虚拟机管理装置和方法
US9112769B1 (en) * 2010-12-27 2015-08-18 Amazon Technologies, Inc. Programatically provisioning virtual networks
US20120173653A1 (en) * 2010-12-30 2012-07-05 International Business Machines Corporation Virtual machine migration in fabric attached memory
US8789065B2 (en) 2012-06-08 2014-07-22 Throughputer, Inc. System and method for input data load adaptive parallel processing
US20130117168A1 (en) 2011-11-04 2013-05-09 Mark Henrik Sandstrom Maximizing Throughput of Multi-user Parallel Data Processing Systems
US8561078B2 (en) 2011-09-27 2013-10-15 Throughputer, Inc. Task switching and inter-task communications for multi-core processors
US9104459B2 (en) 2011-01-07 2015-08-11 Red Hat Israel, Ltd. Memory change tracking during migration of virtual machine (VM) with VM-controlled assigned peripherals
US8924965B2 (en) 2011-01-07 2014-12-30 Red Hat Israel, Ltd. Memory state transfer of virtual machine-controlled peripherals during migrations of the virtual machine
US8356120B2 (en) * 2011-01-07 2013-01-15 Red Hat Israel, Ltd. Mechanism for memory state restoration of virtual machine (VM)-controlled peripherals at a destination host machine during migration of the VM
US8984506B2 (en) * 2011-01-07 2015-03-17 International Business Machines Corporation Techniques for dynamically discovering and adapting resource and relationship information in virtualized computing environments
US8850430B2 (en) 2011-01-25 2014-09-30 International Business Machines Corporation Migration of virtual machines
US9288117B1 (en) 2011-02-08 2016-03-15 Gogrid, LLC System and method for managing virtual and dedicated servers
US8857716B1 (en) 2011-02-21 2014-10-14 Proxense, Llc Implementation of a proximity-based system for object tracking and automatic application initialization
US9223605B2 (en) * 2011-07-01 2015-12-29 V3 Systems Holdings, Inc. Virtual machine allocation internal and external to physical environment
US9552215B2 (en) * 2011-03-08 2017-01-24 Rackspace Us, Inc. Method and system for transferring a virtual machine
US8813072B1 (en) 2011-03-18 2014-08-19 DirectPacket Research Inc. Inverse virtual machine
GB2490766B (en) * 2011-04-16 2013-04-24 Mark Henrik Sandstrom Task switching and inter-task communications for multi-core processors
US8555279B2 (en) * 2011-04-25 2013-10-08 Hitachi, Ltd. Resource allocation for controller boards management functionalities in a storage management system with a plurality of controller boards, each controller board includes plurality of virtual machines with fixed local shared memory, fixed remote shared memory, and dynamic memory regions
CN102761566B (zh) 2011-04-26 2015-09-23 国际商业机器公司 迁移虚拟机的方法和装置
US8924967B2 (en) 2011-04-28 2014-12-30 Vmware, Inc. Maintaining high availability of a group of virtual machines using heartbeat messages
CN102185774A (zh) * 2011-05-10 2011-09-14 中兴通讯股份有限公司 虚拟机无缝迁移的方法、管理器及系统
CN102298537A (zh) * 2011-06-10 2011-12-28 宇龙计算机通信科技(深圳)有限公司 应用程序的迁移方法及系统
US8966084B2 (en) 2011-06-17 2015-02-24 International Business Machines Corporation Virtual machine load balancing
US8949428B2 (en) 2011-06-17 2015-02-03 International Business Machines Corporation Virtual machine load balancing
US8843924B2 (en) 2011-06-17 2014-09-23 International Business Machines Corporation Identification of over-constrained virtual machines
US9191454B2 (en) 2011-06-27 2015-11-17 Microsoft Technology Licensing, Llc Host enabled management channel
US8880657B1 (en) 2011-06-28 2014-11-04 Gogrid, LLC System and method for configuring and managing virtual grids
US8490092B2 (en) * 2011-07-06 2013-07-16 Microsoft Corporation Combined live migration and storage migration using file shares and mirroring
US9448847B2 (en) 2011-07-15 2016-09-20 Throughputer, Inc. Concurrent program execution optimization
US8667490B1 (en) * 2011-07-29 2014-03-04 Emc Corporation Active/active storage and virtual machine mobility over asynchronous distances
US9772784B2 (en) 2011-08-10 2017-09-26 Nutanix, Inc. Method and system for maintaining consistency for I/O operations on metadata distributed amongst nodes in a ring structure
JP5720483B2 (ja) * 2011-08-11 2015-05-20 富士通株式会社 移行プログラム、移行装置、および移行方法
CN102333088B (zh) * 2011-09-26 2014-08-27 华中科技大学 服务器资源管理系统
US9372827B2 (en) 2011-09-30 2016-06-21 Commvault Systems, Inc. Migration of an existing computing system to new hardware
US8631423B1 (en) 2011-10-04 2014-01-14 Symantec Corporation Translating input/output calls in a mixed virtualization environment
US20130083690A1 (en) 2011-10-04 2013-04-04 International Business Machines Corporation Network Adapter Hardware State Migration Discovery in a Stateful Environment
US20130086298A1 (en) * 2011-10-04 2013-04-04 International Business Machines Corporation Live Logical Partition Migration with Stateful Offload Connections Using Context Extraction and Insertion
TWI444824B (zh) * 2011-10-18 2014-07-11 Ind Tech Res Inst 虛擬機器記憶體的鑑識方法與電腦系統
US8745237B2 (en) * 2011-10-21 2014-06-03 Red Hat Israel, Ltd. Mapping of queues for virtual machines
US9514507B2 (en) * 2011-11-29 2016-12-06 Citrix Systems, Inc. Methods and systems for maintaining state in a virtual machine when disconnected from graphics hardware
TW201324357A (zh) * 2011-12-01 2013-06-16 Univ Tunghai 虛擬機叢集之綠能管理方法
US20130152076A1 (en) * 2011-12-07 2013-06-13 Cisco Technology, Inc. Network Access Control Policy for Virtual Machine Migration
CN106095524B (zh) * 2011-12-22 2019-04-02 中国移动通信集团公司 一种虚拟机部署方法、系统和装置
WO2013097903A1 (en) * 2011-12-29 2013-07-04 Telefonaktiebolaget L M Ericsson (Publ) Virtual machine migration using 3gpp mcim
US9195512B2 (en) 2012-01-06 2015-11-24 International Business Machines Corporation Relocating related resource partitions
US9164789B2 (en) * 2012-02-29 2015-10-20 Red Hat Israel, Ltd. Multiple queue management and adaptive CPU matching in a virtual computing system
US9184981B2 (en) * 2012-03-09 2015-11-10 Futurewei Technologies, Inc. System and apparatus for distributed mobility management based network layer virtual machine mobility protocol
CN103379185B (zh) * 2012-04-26 2016-08-03 华为技术有限公司 一种网络地址转换的方法、设备和系统
US9027024B2 (en) 2012-05-09 2015-05-05 Rackspace Us, Inc. Market-based virtual machine allocation
US8725808B2 (en) * 2012-05-10 2014-05-13 Intel Mobile Communications GmbH Method for transferring data between a first device and a second device
US9218196B2 (en) * 2012-05-17 2015-12-22 International Business Machines Corporation Performing pre-stage replication of data associated with virtual machines prior to migration of virtual machines based on resource usage
TWI610166B (zh) * 2012-06-04 2018-01-01 飛康國際網路科技股份有限公司 自動災難復原和資料遷移系統及方法
WO2014000787A1 (en) * 2012-06-27 2014-01-03 Qatar Foundation An arrangement configured to migrate a virtual machine in the event of an attack
US9256463B2 (en) 2012-06-29 2016-02-09 International Business Machines Corporation Method and apparatus to replicate stateful virtual machines between clouds
US20140012704A1 (en) 2012-07-05 2014-01-09 Google Inc. Selecting a preferred payment instrument based on a merchant category
US9600206B2 (en) 2012-08-01 2017-03-21 Microsoft Technology Licensing, Llc Request ordering support when switching virtual disk replication logs
JP5869133B2 (ja) * 2012-08-22 2016-02-24 株式会社日立製作所 ライブマイグレーションされた仮想計算機のネットワーク接続を復元する仮想計算機システム
US8918582B2 (en) 2012-09-11 2014-12-23 International Business Machines Corporation Simulating EEPROM in virtual distributed switches
US20140095716A1 (en) * 2012-09-28 2014-04-03 International Business Machines Corporation Maximizing resources in a multi-application processing environement
US9507586B2 (en) 2012-10-05 2016-11-29 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Virtual machine based controller and upgrade mechanism
CN103729230B (zh) * 2012-10-11 2017-04-12 财团法人工业技术研究院 虚拟机系统的内存管理方法和计算机系统
US9166865B2 (en) * 2012-11-07 2015-10-20 International Business Machines Corporation Mobility operation resource allocation
US9851989B2 (en) 2012-12-12 2017-12-26 Vmware, Inc. Methods and apparatus to manage virtual machines
US9934054B2 (en) * 2012-12-14 2018-04-03 International Business Machines Corporation Evaluating distributed application performance in a new environment
US9569223B2 (en) * 2013-02-13 2017-02-14 Red Hat Israel, Ltd. Mixed shared/non-shared memory transport for virtual machines
US9268583B2 (en) 2013-02-25 2016-02-23 Red Hat Israel, Ltd. Migration of virtual machines with shared memory
WO2014133522A2 (en) 2013-02-28 2014-09-04 Empire Technology Development, Llc Local message queue processing for co-located workers
US9110722B2 (en) 2013-02-28 2015-08-18 International Business Machines Corporation Data processing work allocation
US9092767B1 (en) 2013-03-04 2015-07-28 Google Inc. Selecting a preferred payment instrument
US9229752B2 (en) * 2013-03-12 2016-01-05 International Business Machines Corporation Systems and methods to offload hardware support using a hypervisor subpartition
US9785527B2 (en) * 2013-03-27 2017-10-10 Ixia Methods, systems, and computer readable media for emulating virtualization resources
US10230567B2 (en) * 2013-04-01 2019-03-12 Dell Products L.P. Management of a plurality of system control networks
WO2014183106A2 (en) 2013-05-10 2014-11-13 Proxense, Llc Secure element as a digital pocket
US9058239B2 (en) 2013-06-20 2015-06-16 International Business Machines Corporation Hypervisor subpartition as concurrent upgrade
US20150032961A1 (en) * 2013-07-23 2015-01-29 Lexmark International Technologies S.A. System and Methods of Data Migration Between Storage Devices
US9307018B2 (en) 2013-09-11 2016-04-05 International Business Machines Corporation Workload deployment with real-time consideration of global network congestion
CN104516773B (zh) * 2013-09-29 2018-04-20 国际商业机器公司 用于物理机的数据分配方法和数据分配装置
US9628550B1 (en) * 2013-10-24 2017-04-18 Ca, Inc. Lightweight software management shell
US9304707B1 (en) * 2013-10-30 2016-04-05 Ca, Inc. Transferring high volume data between operating systems
US10367702B2 (en) * 2013-10-31 2019-07-30 Hewlett Packard Enterprise Development Lp Network database hosting
US9317326B2 (en) 2013-11-27 2016-04-19 Vmware, Inc. Consistent migration of a group of virtual machines using source and destination group messaging
US20150205542A1 (en) * 2014-01-22 2015-07-23 Vmware, Inc. Virtual machine migration in shared storage environment
US9858572B2 (en) 2014-02-06 2018-01-02 Google Llc Dynamic alteration of track data
US9590843B2 (en) * 2014-03-12 2017-03-07 Nutanix, Inc. Method and system for providing distributed management in a networked virtualization environment
US10542049B2 (en) 2014-05-09 2020-01-21 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
US9733958B2 (en) 2014-05-15 2017-08-15 Nutanix, Inc. Mechanism for performing rolling updates with data unavailability check in a networked virtualization environment for storage management
US9740472B1 (en) 2014-05-15 2017-08-22 Nutanix, Inc. Mechanism for performing rolling upgrades in a networked virtualization environment
US9092376B1 (en) 2014-08-29 2015-07-28 Nimble Storage, Inc. Methods and systems for ordering virtual machine snapshots
US9778990B2 (en) * 2014-10-08 2017-10-03 Hewlett Packard Enterprise Development Lp Methods and systems for concurrently taking snapshots of a plurality of virtual machines
US9727252B2 (en) 2014-11-13 2017-08-08 Hewlett Packard Enterprise Development Lp Methods and systems for optimal snapshot distribution within a protection schedule
US9348655B1 (en) 2014-11-18 2016-05-24 Red Hat Israel, Ltd. Migrating a VM in response to an access attempt by the VM to a shared memory page that has been migrated
US9389789B2 (en) 2014-12-15 2016-07-12 International Business Machines Corporation Migration of executing applications and associated stored data
US10698767B1 (en) * 2014-12-22 2020-06-30 Amazon Technologies, Inc. Decentralized management of multi-service workflows
US10642507B2 (en) 2015-01-30 2020-05-05 Nutanix, Inc. Pulsed leader consensus management
US9606827B2 (en) * 2015-03-24 2017-03-28 International Business Machines Corporation Sharing memory between guests by adapting a base address register to translate pointers to share a memory region upon requesting for functions of another guest
US9146769B1 (en) * 2015-04-02 2015-09-29 Shiva Shankar Systems and methods for copying a source machine to a target virtual machine
US9535738B2 (en) 2015-04-03 2017-01-03 International Business Machines Corporation Migrating virtual machines based on relative priority of virtual machine in the context of a target hypervisor environment
US9639395B2 (en) * 2015-04-16 2017-05-02 Google Inc. Byte application migration
US9811376B2 (en) 2015-06-29 2017-11-07 Amazon Technologies, Inc. Virtual machine instance migration using a triangle approach
US9846602B2 (en) * 2016-02-12 2017-12-19 International Business Machines Corporation Migration of a logical partition or virtual machine with inactive input/output hosting server
US10474475B2 (en) * 2016-03-02 2019-11-12 Western Digital Technologies, Inc. Non-intrusive restart of a task manager
US10572667B2 (en) * 2016-03-31 2020-02-25 Intel Corporation Coordinating power management between virtual machines
US10341215B2 (en) 2016-04-06 2019-07-02 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for emulating network traffic patterns on a virtual machine
US10069910B2 (en) * 2016-04-18 2018-09-04 International Business Machines Corporation Storage and application controller for mirroring and switchover of applications in a plurality of cloud locations via a plurality of configurable security protocols
US10353590B2 (en) 2016-05-19 2019-07-16 Hewlett Packard Enterprise Development Lp Methods and systems for pre-processing sensor measurements
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
US10216254B1 (en) * 2016-06-29 2019-02-26 Altera Corporation Methods and apparatus for selectively extracting and loading register states
US10362092B1 (en) 2016-10-14 2019-07-23 Nutanix, Inc. Entity management in distributed systems
CN108108173A (zh) * 2016-11-23 2018-06-01 中兴通讯股份有限公司 一种信息处理方法和装置
US20180181421A1 (en) * 2016-12-27 2018-06-28 Intel Corporation Transferring packets between virtual machines via a direct memory access device
US11108858B2 (en) 2017-03-28 2021-08-31 Commvault Systems, Inc. Archiving mail servers via a simple mail transfer protocol (SMTP) server
US11074138B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Multi-streaming backup operations for mailboxes
US10552294B2 (en) 2017-03-31 2020-02-04 Commvault Systems, Inc. Management of internet of things devices
US11294786B2 (en) 2017-03-31 2022-04-05 Commvault Systems, Inc. Management of internet of things devices
US11221939B2 (en) 2017-03-31 2022-01-11 Commvault Systems, Inc. Managing data from internet of things devices in a vehicle
US10609130B2 (en) * 2017-04-28 2020-03-31 Microsoft Technology Licensing, Llc Cluster resource management in distributed computing systems
US10686891B2 (en) * 2017-11-14 2020-06-16 International Business Machines Corporation Migration of applications to a computing environment
US11237877B2 (en) * 2017-12-27 2022-02-01 Intel Corporation Robot swarm propagation using virtual partitions
US10606630B2 (en) 2018-02-02 2020-03-31 Nutanix, Inc. System and method for preserving entity identifiers
US10613893B2 (en) * 2018-02-02 2020-04-07 Nutanix, Inc. System and method for reducing downtime during hypervisor conversion
DE112018007104T5 (de) * 2018-03-20 2020-10-29 Mitsubishi Electric Corporation Informationsverarbeitungsgerät, Verfahren und Programm
CN110609730B (zh) * 2018-06-14 2023-04-07 阿里巴巴集团控股有限公司 一种实现虚拟处理器间中断透传的方法及设备
US20190391835A1 (en) * 2018-06-26 2019-12-26 Dell Products L.P. Systems and methods for migration of computing resources based on input/output device proximity
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US10901781B2 (en) 2018-09-13 2021-01-26 Cisco Technology, Inc. System and method for migrating a live stateful container
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
US20200174814A1 (en) * 2018-11-30 2020-06-04 Nutanix, Inc. Systems and methods for upgrading hypervisor locally
JP7327235B2 (ja) * 2020-03-24 2023-08-16 横河電機株式会社 フォールトトレラントシステム
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
US11323354B1 (en) 2020-10-09 2022-05-03 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using switch emulation
US11483227B2 (en) 2020-10-13 2022-10-25 Keysight Technologies, Inc. Methods, systems and computer readable media for active queue management

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57201951A (en) * 1981-06-05 1982-12-10 Nec Corp Virtual computer system
JPH05181823A (ja) * 1990-08-31 1993-07-23 Internatl Business Mach Corp <Ibm> 区画区分式プロセス環境における区画間制御のための方法及び装置
JPH10283210A (ja) * 1997-04-01 1998-10-23 Hitachi Ltd 仮想計算機システム間の仮想計算機移動制御方式
JP2002215408A (ja) * 2001-01-24 2002-08-02 Hitachi Ltd 計算機およびその入出力手段
JP2002544620A (ja) * 1999-05-19 2002-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 論理区分化コンピュータのイベント・ドリブン通信インタフェース

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4974151A (en) 1985-02-21 1990-11-27 International Business Machines Corporation Configuration capability for devices in an open system having the capability of adding or changing devices by user commands
JPH0635732A (ja) 1992-07-14 1994-02-10 Hitachi Ltd 記憶装置の領域割り当て方法
JP3196004B2 (ja) 1995-03-23 2001-08-06 株式会社日立製作所 障害回復処理方法
US6802062B1 (en) * 1997-04-01 2004-10-05 Hitachi, Ltd. System with virtual machine movable between virtual machine systems and control method
US6075938A (en) * 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US6397242B1 (en) * 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
US6223202B1 (en) * 1998-06-05 2001-04-24 International Business Machines Corp. Virtual machine pooling
US6209066B1 (en) 1998-06-30 2001-03-27 Sun Microsystems, Inc. Method and apparatus for memory allocation in a multi-threaded virtual machine
US6850953B1 (en) * 1999-08-23 2005-02-01 Sun Microsystems, Inc. Creating multiple sets of data by spawning a secondary virtual machine
US6934755B1 (en) * 2000-06-02 2005-08-23 Sun Microsystems, Inc. System and method for migrating processes on a network
EP1291023A1 (en) * 2000-06-14 2003-03-12 Takeda Chemical Industries, Ltd. Sustained release compositions
JP2002041305A (ja) * 2000-07-26 2002-02-08 Hitachi Ltd 仮想計算機システムにおける計算機資源の割当て方法および仮想計算機システム
US7146305B2 (en) * 2000-10-24 2006-12-05 Vcis, Inc. Analytical virtual machine
JP2002202959A (ja) 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
GB2378535A (en) * 2001-08-06 2003-02-12 Ibm Method and apparatus for suspending a software virtual machine
US6625704B2 (en) 2001-08-08 2003-09-23 Sangate Systems, Inc. Data backup method and system using snapshot and virtual tape
US7093086B1 (en) * 2002-03-28 2006-08-15 Veritas Operating Corporation Disaster recovery and backup using virtual machines
US7603670B1 (en) * 2002-03-28 2009-10-13 Symantec Operating Corporation Virtual machine transfer between computer systems
US7065549B2 (en) 2002-03-29 2006-06-20 Illinois Institute Of Technology Communication and process migration protocols for distributed heterogeneous computing
US7313793B2 (en) * 2002-07-11 2007-12-25 Microsoft Corporation Method for forking or migrating a virtual machine
JP4188640B2 (ja) 2002-08-08 2008-11-26 富士通マイクロエレクトロニクス株式会社 半導体記憶装置、半導体記憶装置の制御方法及び半導体記憶装置の試験方法
US7181744B2 (en) * 2002-10-24 2007-02-20 International Business Machines Corporation System and method for transferring data between virtual machines or other computer entities
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
JP4012517B2 (ja) * 2003-04-29 2007-11-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想計算機環境におけるロックの管理
US7299468B2 (en) * 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
US6973654B1 (en) * 2003-05-27 2005-12-06 Microsoft Corporation Systems and methods for the repartitioning of data
US7203944B1 (en) * 2003-07-09 2007-04-10 Veritas Operating Corporation Migrating virtual machines among computer systems to balance load caused by virtual machines
US7526515B2 (en) * 2004-01-21 2009-04-28 International Business Machines Corporation Method and system for a grid-enabled virtual machine with movable objects
US7149859B2 (en) * 2004-03-01 2006-12-12 Hitachi, Ltd. Method and apparatus for data migration with the efficient use of old assets
US7512769B1 (en) * 2004-10-06 2009-03-31 Hewlett-Packard Development Company, L.P. Process migration
US7882326B2 (en) * 2007-03-23 2011-02-01 International Business Machines Corporation Live migration of a logical partition
JP5028304B2 (ja) * 2008-03-11 2012-09-19 株式会社日立製作所 仮想計算機システム及びその制御方法
US8041987B2 (en) * 2008-11-10 2011-10-18 International Business Machines Corporation Dynamic physical and virtual multipath I/O
US20100229175A1 (en) * 2009-03-05 2010-09-09 International Business Machines Corporation Moving Resources In a Computing Environment Having Multiple Logically-Partitioned Computer Systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57201951A (en) * 1981-06-05 1982-12-10 Nec Corp Virtual computer system
JPH05181823A (ja) * 1990-08-31 1993-07-23 Internatl Business Mach Corp <Ibm> 区画区分式プロセス環境における区画間制御のための方法及び装置
JPH10283210A (ja) * 1997-04-01 1998-10-23 Hitachi Ltd 仮想計算機システム間の仮想計算機移動制御方式
JP2002544620A (ja) * 1999-05-19 2002-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 論理区分化コンピュータのイベント・ドリブン通信インタフェース
JP2002215408A (ja) * 2001-01-24 2002-08-02 Hitachi Ltd 計算機およびその入出力手段

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009528620A (ja) * 2006-02-28 2009-08-06 マイクロソフト コーポレーション ハードウェア・デバイスなどのリソースを有する仮想マシンの移動
US9535745B2 (en) 2006-02-28 2017-01-03 Microsoft Technology Licensing, Llc Migrating a virtual machine that owns a resource such as a hardware device
US8769530B2 (en) 2006-02-28 2014-07-01 Microsoft Corporation Migrating a virtual machine that owns a resource such as a hardware device
US10552208B2 (en) 2006-02-28 2020-02-04 Microsoft Technology Licensing, Llc Migrating a virtual machine that owns a resource such as a hardware device
JP2008097602A (ja) * 2006-10-10 2008-04-24 Internatl Business Mach Corp <Ibm> 仮想マシンのための多数コンフィギュレーションによる通信管理のためのシステム、方法、およびプログラム
JP2008165789A (ja) * 2006-12-27 2008-07-17 Intel Corp パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換
JP2008225546A (ja) * 2007-03-08 2008-09-25 Nec Corp 仮想装置構成システム、及びその方法
US9519512B2 (en) 2007-03-08 2016-12-13 Nec Corporation Dynamic physical resource allocation in a networked system for migrating virtual computers
US8516294B2 (en) 2007-05-30 2013-08-20 Hitachi, Ltd. Virtual computer system and control method thereof
US8321720B2 (en) 2007-05-30 2012-11-27 Hitachi, Ltd. Virtual computer system and control method thereof
US7814363B2 (en) 2007-05-30 2010-10-12 Hitachi, Ltd. Virtual computer system and control method thereof
EP1998255A1 (en) 2007-05-30 2008-12-03 Hitachi Ltd. Virtual computer system and control method thereof
US8185775B2 (en) 2007-05-30 2012-05-22 Hitachi, Ltd. Virtual computer system and control method thereof
JP2010039685A (ja) * 2008-08-04 2010-02-18 Hitachi Ltd 複合型計算機及び複合型計算機の制御方法
KR101679884B1 (ko) * 2008-09-15 2016-12-06 인터내셔널 비지네스 머신즈 코포레이션 서비스 랜드스케이프내의 가상 머신의 라이브 마이그레이션 보안화
US11210123B2 (en) 2008-09-15 2021-12-28 International Business Machines Corporation Securing live migration of a virtual machine including blocking communication with other virtual machines
KR20110073418A (ko) * 2008-09-15 2011-06-29 인터내셔널 비지네스 머신즈 코포레이션 서비스 랜드스케이프내의 가상 머신의 라이브 마이그레이션 보안화
JP2012503226A (ja) * 2008-09-15 2012-02-02 インターナショナル・ビジネス・マシーンズ・コーポレーション サービス・ランドスケープ内の仮想計算機のライブ・マイグレーションの保護
WO2010079587A1 (ja) * 2009-01-06 2010-07-15 三菱電機株式会社 管理装置及び管理方法及びプログラム
JPWO2010079587A1 (ja) * 2009-01-06 2012-06-21 三菱電機株式会社 管理装置及び管理方法及びプログラム
JP5159898B2 (ja) * 2009-01-06 2013-03-13 三菱電機株式会社 管理装置及び管理方法及びプログラム
US8464019B2 (en) 2009-03-30 2013-06-11 Nec Corporation Apparatus for dynamically migrating LPARS with pass-through I/O devices, its method, and its program
JPWO2010123140A1 (ja) * 2009-04-24 2012-10-25 日本電気株式会社 パケット通信システム、パケット通信装置、パケット通信方法、パケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2010257209A (ja) * 2009-04-24 2010-11-11 Fujitsu Ltd バススイッチ,コンピュータシステム及びコンピュータシステムの管理方法
JP5617839B2 (ja) * 2009-04-24 2014-11-05 日本電気株式会社 パケット通信システム、パケット通信装置、パケット通信方法、パケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体
WO2010126048A1 (ja) * 2009-04-28 2010-11-04 日本電気株式会社 計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム
JP5692065B2 (ja) * 2009-04-28 2015-04-01 日本電気株式会社 計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム
JP2011100431A (ja) * 2009-11-09 2011-05-19 Inst For Information Industry 仮想マシン制御装置及び仮想マシン制御方法
JP2011192049A (ja) * 2010-03-15 2011-09-29 Nec Corp 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム
JP2011227729A (ja) * 2010-04-20 2011-11-10 Nec Corp 管理サーバおよび仮想マシン配置制御方法
GB2499143A (en) * 2010-11-12 2013-08-07 Hitachi Ltd Computer system
GB2499143B (en) * 2010-11-12 2018-12-26 Hitachi Ltd Computer system
JP5733318B2 (ja) * 2010-11-12 2015-06-10 株式会社日立製作所 計算機システム
US9208029B2 (en) 2010-11-12 2015-12-08 Hitachi, Ltd. Computer system to switch logical group of virtual computers
WO2012063294A1 (ja) * 2010-11-12 2012-05-18 株式会社日立製作所 計算機システム
JP2011081847A (ja) * 2011-01-25 2011-04-21 Hitachi Ltd 仮想計算機システム
JP2015509631A (ja) * 2012-02-21 2015-03-30 エフ5 ネットワークス、インコーポレイテッド バーチャルトラフィックマネージャーをホストするハイパーバイザー又はハードウェアマネージャーのためのインサービスアップグレード
US9235439B2 (en) 2012-03-19 2016-01-12 Fujitsu Limited Management server, patch scheduling method, and recording medium
WO2013140524A1 (ja) * 2012-03-19 2013-09-26 富士通株式会社 プログラム、管理サーバおよびパッチスケジューリング方法
US9378032B2 (en) 2012-09-20 2016-06-28 Fujitsu Limited Information processing method, information processing apparatus, recording medium, and system
JP2016533586A (ja) * 2013-08-21 2016-10-27 シンプリヴィティ・コーポレーション 仮想マシン変換のためのシステムおよび方法
US10762038B2 (en) 2013-08-21 2020-09-01 Hewlett Packard Enterprise Development Lp System and method for virtual machine conversion
WO2015146104A1 (ja) * 2014-03-27 2015-10-01 日本電気株式会社 仮想マシンシステムおよびその制御方法およびその制御プログラム記録媒体
JP2015194855A (ja) * 2014-03-31 2015-11-05 富士通株式会社 情報処理システム、制御プログラム、及び情報処理システムの制御方法
US9823943B2 (en) 2014-05-12 2017-11-21 Fujitsu Limited Apparatus and method for controlling virtual machine migrations based on flow information
US10341177B2 (en) 2015-08-04 2019-07-02 Fujitsu Limited Parallel computing system and migration method

Also Published As

Publication number Publication date
TW200608221A (en) 2006-03-01
TWI370974B (en) 2012-08-21
CN1696902A (zh) 2005-11-16
US7257811B2 (en) 2007-08-14
US20070169121A1 (en) 2007-07-19
US20050268298A1 (en) 2005-12-01
JP4769484B2 (ja) 2011-09-07
US8352938B2 (en) 2013-01-08
CN1333341C (zh) 2007-08-22

Similar Documents

Publication Publication Date Title
JP4769484B2 (ja) 仮想計算機をマイグレーションするための方法およびシステム
US9235435B2 (en) Direct memory access filter for virtualized operating systems
JP4012517B2 (ja) 仮想計算機環境におけるロックの管理
US9996401B2 (en) Task processing method and virtual machine
JP3882931B2 (ja) 仮想計算機環境におけるディスパッチ機能の管理
EP2313832B1 (en) Direct memory access filter for virtualized operating systems
US9354921B2 (en) Virtual machine migration
US7984262B2 (en) Data transmission for partition migration
US9497264B2 (en) Apparatus, method and system for aggregating computing resources
US11243707B2 (en) Method and system for implementing virtual machine images
US20040230972A1 (en) Management of locks in a virtual machine environment
JP2004326754A (ja) 共用リソースを使用するための仮想計算機の管理
JP2009116914A (ja) 仮想マシンをフォークまたはマイグレートするための方法
US8006254B2 (en) Bequeathing privilege to a dynamically loaded module
WO2012131507A1 (en) Running a plurality of instances of an application
EP1915681A1 (en) Method and apparatus for supporting universal serial bus devices in a virtualized environment
CN107577733B (zh) 一种数据复制的加速方法及系统
US9740514B1 (en) Method and system to share data with snapshots in a virtualization environment
CN114741194A (zh) I/o请求的处理方法及装置
JPH11134206A (ja) 分散共有リソース管理方法ならびに並列処理環境提供システム、及び同方法がプログラムされ記録される記録媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080425

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080425

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110509

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110620

R150 Certificate of patent or registration of utility model

Ref document number: 4769484

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140624

Year of fee payment: 3