JP2023502918A - ホスト・オペレーティング・システムによる仮想マシン移行の検出 - Google Patents

ホスト・オペレーティング・システムによる仮想マシン移行の検出 Download PDF

Info

Publication number
JP2023502918A
JP2023502918A JP2022527960A JP2022527960A JP2023502918A JP 2023502918 A JP2023502918 A JP 2023502918A JP 2022527960 A JP2022527960 A JP 2022527960A JP 2022527960 A JP2022527960 A JP 2022527960A JP 2023502918 A JP2023502918 A JP 2023502918A
Authority
JP
Japan
Prior art keywords
guest
computer
hid
response
computer system
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.)
Pending
Application number
JP2022527960A
Other languages
English (en)
Inventor
ヴィール、フランク、ブライアン
カサス、ジュアン、ジュニア
オルソン、ラッセル、ケイレブ
リーム、アマンダ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2023502918A publication Critical patent/JP2023502918A/ja
Pending legal-status Critical Current

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/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

一実施形態では、仮想マシン(VM)上で作動するゲスト・オペレーティング・システム(OS)がVM移行を検出し、本実施形態は、VMにより提供されるVM識別子(VMID)と、ホスト・コンピュータ・システムにより提供される第1のホスト識別子(HID)とを、ゲストOSによってコンピュータ・メモリに格納することを含む。本実施形態はまた、VMがゲストOSに対して透過的である移行を行うと、ゲストOSによって判断することを含む。第1のHIDと、ゲストOSからのHID要求に応答してゲストOSに提供される第2のHIDとを比較することに基づいて、VMが移行されていることを、ゲストOSによって検出することをさらに含む。

Description

本発明は、概して、仮想マシン移行のための方法、システム、およびコンピュータ・プログラム製品に関する。より具体的には、本発明は、ホスト・オペレーティング・システムによる仮想マシン移行の検出のための方法、システム、およびコンピュータ・プログラム製品に関する。
仮想マシン(VM)は、それ自体のホストOSを動作させるホスト・システム上で作動するソフトウェア定義コンピュータおよびゲストOSである。一般に、VMは、ソフトウェア実行環境を提供し、仮想プロセッサ、仮想システム・メモリ、仮想ストレージ、および様々な仮想デバイスを有することがある。VMは、いくつかの管理機能、典型的にはハイパーバイザ技術を介して実装されるシステム仮想化の形態を表す。仮想マシンマネージャ(VMM)とも呼ばれるハイパーバイザは、ソフトウェアまたはファームウェアにおけるコードのシンレイヤを用いて、細粒化されたダイナミック・リソース・シェアリングを達成する。ハイパーバイザは、仮想リソースがどのように定義され管理されるかについて最大レベルの柔軟性を提供することから、一般に、システム仮想化のための主要な技術である。
VMは、ネットワークを越えて接続されたソース・ホスト・コンピューティング・プラットフォーム(「ソース・ホスト」)とターゲット・ホスト・コンピューティング・プラットフォーム(「ターゲット・ホスト」)との間で移行することができ、ネットワークは、ローカル・エリア・ネットワーク、またはインターネットを含み得るワイド・エリア・ネットワークとすることができる。移行は、ハードウェアとソフトウェアとの間のクリーンな分離を可能にし、それによって、設備の故障管理、負荷の均衡、および低レベルのシステム保守を改善する。ライブ移行により、アドミニストレータは、作動中のクライアントやアプリケーション・プログラムを切断することなく、作動中のVMを異なる物理マシン間で移行させることが可能になる。
例示的な実施形態は、VM上で作動するゲスト・オペレーティング・システム(OS)によるVM移行を検出するためのものである。一実施形態は、VMにより提供されるVM識別子(VMID)と、ホスト・コンピュータ・システムにより提供される第1のホスト識別子(HID)とを、ゲストOSによってコンピュータ・メモリに格納することを含む。本実施形態はまた、VMがゲストOSに対して透過的である移行を行うと、ゲストOSによって判断することを含む。本実施形態は、第1のHIDと、ゲストOSからのHID要求に応答してゲストOSに提供される第2のHIDとを比較することに基づいて、VMが移行されていることを、ゲストOSによって検出することをさらに含む。
一実施形態は、コンピュータ使用可能なプログラム製品を含む。コンピュータ使用可能なプログラム製品は、コンピュータ可読記憶媒体と、記憶媒体に格納されたプログラム命令とを含む。
一実施形態は、コンピュータ・システムを含む。コンピュータ・システムは、プロセッサと、コンピュータ可読メモリと、コンピュータ可読記憶媒体と、メモリを介してプロセッサが実行するために記憶媒体に格納されたプログラム命令とを含む。
一態様によれば、VMにより提供されるVM識別子(VMID)と、第1のホスト・コンピュータ・システムにより提供される第1のホスト識別子(HID)とを、仮想マシン(VM)上で作動するゲスト・オペレーティング・システム(OS)によってコンピュータ・メモリに格納することと、VMがゲストOSに対して透過的である移行を行うと、ゲストOSによって判断することと、第1のHIDと、ゲストOSからのHID要求に応答してゲストOSに提供される第2のHIDとを比較することに基づいて、VMが移行されていることを、ゲストOSによって検出することと、VMが移行されていることを検出することに応答して、ゲストOSの構成設定をゲストOSによって更新することとを含む、コンピュータ実装方法が提供される。
他の態様によれば、VM移行を検出するためのコンピュータ・プログラム製品であって、1つまたは複数のコンピュータ可読記憶媒体と、1つまたは複数のコンピュータ可読記憶媒体に集合的に格納されるプログラム命令とを含み、プログラム命令は、コントローラ回路が、VMにより提供されるVM識別子(VMID)と第1のホスト・コンピュータ・システムにより提供される第1のホスト識別子(HID)とを、VM上で作動するゲストOSによってコンピュータ・メモリに格納することと、VMがゲストOSに対して透過的である移行を行うと、ゲストOSによって判断することと、第1のHIDと、ゲストOSからのHID要求に応答してゲストOSに提供される第2のHIDとを比較することに基づいて、VMが移行されていることを、ゲストOSによって検出することと、VMが移行されていることを検出することに応答して、ゲストOSの構成設定をゲストOSによって更新することとを含む動作を実行するように、コントローラ回路によって実行可能である、コンピュータ・プログラム製品が提供される。
別の態様によれば、プロセッサと、1つまたは複数のコンピュータ可読記憶媒体と、1つまたは複数のコンピュータ可読記憶媒体に集合的に格納されるプログラム命令とを含み、プログラム命令は、プロセッサが、VMにより提供されるVM識別子(VMID)と第1のホスト・コンピュータ・システムにより提供される第1のホスト識別子(HID)とを、VM上で作動するゲストOSによってコンピュータ・メモリに格納することと、VMがゲストOSに対して透過的である移行を行うと、ゲストOSによって判断することと、第1のHIDと、ゲストOSからのHID要求に応答してゲストOSに提供される第2のHIDとを比較することに基づいて、VMが移行されていることを、ゲストOSによって検出することと、VMが移行されていることを検出することに応答して、ゲストOSの構成設定をゲストOSによって更新することとを含む動作を実行するように、プロセッサによって実行可能である、コンピュータ・システムが提供される。
本発明の特徴と考えられる新規の特徴は、添付の特許請求の範囲に記載されている。
以下、本発明の好適な実施の形態について、一例に過ぎないが、下記の図面を参照しながら説明する。
例示的な実施形態が実装され得るデータ処理システムのネットワークのブロック図である。 例示的な実施形態が実施され得るデータ処理システムのブロック図を示す。 例示的な実施形態による、VMをホスティングし、ライブ移行を支援するための例示的なコンピューティング・システム環境構成のブロック図である。 例示的な実施形態による、ゲストOSによるVM移行を検出するための例示的なプロセスのフローチャートである。
ライブ移行は、作動中のVM全体をある1つの物理マシンから別の物理マシンに移動させるのを容易にする技術である。VM全体のレベルでのライブVM移行は、アクティブ・メモリおよび実行状態がソースから行き先に転送されることを意味する。その結果、ライブVM移行により、VMは、VM内の作業負荷の中断なく、他の物理マシンに移動することが可能になる。VMのライブ移行および物理サーバの待機モードは、アルゴリズム・エンジンによって自動的に編成される。
ライブVM移行に必要なサポートおよびフレームワークは、VM移行が発生しているかまたは発生したときにVMがゲストOSに提供する認識の範囲に基づいて、複数のモデルに分けることができる。これらのモデルは、協調的であり、通知専用であり、透過的である。協調モデルでは、VMは、VM移行の活動に関する通知をゲストOSに提供し、通知をゲストOSが受信したことを確認する。通知専用モデルでは、VMは、VM移行が発生する前もしくは後またはその両方に、VM移行の活動についての通知をゲストOSに提供するのみである。透過モデルでは、VMは、発生したVM移行をゲストOSに通知せず、代わりにゲストOSに対して透過的である移行を行うことを求めるが、このことは、移行が発生しているかまたは発生したことをゲストOSが認識しないことを意味する。
VMの作成および使用を容易にする仮想化技術は、VMをハードウェア・アグノスティックなものとし、このことは、VMが種々のハードウェア上で作動できることを意味する。しかし、VMのこのアグノスティックな性質には制約がある。例えば、ライブVM移行のソースおよび行き先でのハードウェア構成に応じて、移行中のVM上で作動するゲストOSは、OSコンポーネントに対し構成を調整することなしに最適には動作しないものとなる。ゲストOSは、ハードウェアの変更を認識してゆくと、構成の調整を行うことができる。しかし、ゲストOSがハードウェアの変更を認識していない場合、例えば、ゲストOSに対して透過的である移行を行うように構成されたVM上でゲストOSが作動している場合などには、問題が生じる。
例示的な実施形態では、VM上で作動するゲストOSについてハードウェア検出の改善の必要性があることが認識されており、そのような改善には、ゲストOSがCPUやGPUなどの特定のハードウェア・コンポーネントのための構成変更を必要とするかまたはその利点を享受するものとなることが含まれる。特定のハードウェア構成のためのOSを構成する現在の方法は、一般にはゲストOSに発生するエラーを通知してトラブル対処した際に、ユーザの介入を含むが、これは非効率的であり時間集約的である。
例示的な実施形態では、現在利用可能なツールまたは解決策がこれらのニーズに対処しないこと、またはこれらのニーズに対して適切な解決策を提供しないことが認識される。例示的な実施形態は、概して、上記の問題と、VM移行が検出されないかまたは告知されないためにゲストOSに起こるエラーに関連する他の問題とに対処するか、またはそれらを解決する。一部の実施形態では、VM上で作動するゲストOSは、ゲストOSに通知することなくVMがある1つのホスト・コンピュータ・システムから別のホスト・コンピュータ・システムに移行されるように構成された透過的モデルを含む、異なる移行通知モデルを有する種々のVMについて、VM移行を検出する。一実施形態では、ゲストOSは、ホスト識別子(HID)をモニタリングすることによって、ならびにHIDへの変更が、VMを動作させるハードウェアに変更があったことを意味し、かつそれゆえにVM移行が発生していることを意味するということを認識することによって、VMがソース・コンピュータ・システムから行き先コンピュータ・システムに移行されていることを検出する。
「識別子」とは、本明細書で用いられる際に、いくつかのハードウェアまたはソフトウェアと一意に関連付けられた任意の情報を指し、実施形態に依存して、シリアル番号またはライセンス情報などの特定のハードウェアの一片に一意に関連付けることができるか、またはハードウェアもしくはソフトウェアのいくつかのより広い態様に一意に関連付けることができ、後者の態様の非制限的な例としては、モデル、クラス、タイプ、バージョン、ブランド、またはハードウェアもしくはソフトウェアの改版に一意に関連付けられた情報が挙げられる。一部の実施形態では、ゲストOSによる移行検出は、主に、ホスト・コンピュータ・システムもしくはVMまたはその両方へのある特定の変更に対し関知するものであり、そのため、関知するところを同じくするハードウェアを有する別のホスト・コンピュータ・システムへのVM移行は、ゲストOSにとって関心事ではないゆえに無視される。
一実施形態は、ソフトウェア・アプリケーションとして実装することができる。実施形態を実装するアプリケーションは、既存のシステムの修正として、既存のシステムと併せてスタンドアロン・アプリケーションまたはそれらの組合せを動作させる別々のアプリケーションとして、構成することができる。
一実施形態では、VM上を動作するゲストOSは、VM移行の場合に、VMがゲストOSに通知するか否かを判断する。VMが、ゲストOSにVM移行を通知しないが代わりにゲストOSに対して透過的である移動を行うものと判断すると、ゲストOSは、HIDをモニタリングすることを含む移行検出ルーチンを開始する。ゲストOSは、HIDの変化を検出することによってVM移行を検出する。
一実施形態では、VM上で作動するゲストOSは、ゲストOSによる1つまたは複数のクエリに応答して、VMIDとHIDとを提供される。一実施形態では、ゲストOSによるクエリは、VMを作動するホスト・コンピュータ・システムに関する情報のための中央処理ユニット(CPU)レジスタをポーリングすることを含む。例えば、一実施形態では、ホスト・コンピュータ・システムは、デバッグ、タイマ、メモリ管理、および割込みなどの種々の用途に役立つプロセッサ・コア上に実装された専用レジスタ(SPR)を含むCPUを備える。一部の実施形態では、SPRは、プロセッサ・バージョン・レジスタ(PVR)、システム・バージョン・レジスタ(SVR)、もしくはチップ識別レジスタ(CIR)、またはそれらの組合せなど、CPUに関する識別情報を記憶するレジスタを含む。一部の実施形態では、PVRは、製造業者のID、コア・タイプ、コア・バージョン、およびコア修正など、CPUに関する様々な情報を格納する。PVRまたはCIRは、ソフトウェアに影響を与え得る属性の異なるプロセッサ・コア間を区別し、PVR値は、ソフトウェアが複数のプロセッサ・コア・タイプ間を区別することを可能にする。統合デバイスにおいて、PVRはコアを識別し、SVRはICを識別する。
一実施形態では、ゲストOSは、ホスト・コンピュータ・システムもしくはVMまたはその両方に関連付けられたハードウェア・コンポーネントの記述を含むメモリに格納されたファームウェアまたはデータを照会する。例えば、一実施形態では、ゲストOSは、VMもしくはホスト・コンピュータ・システムまたはその両方に関する情報を識別するためのデバイス・ツリーまたは構成ファイルを照会する。一部の実施形態では、ゲストOSは、デバイス・ツリーへのクエリなどの単一のクエリに応答して、VMIDとHIDとを提供される。一部の実施形態では、いくつかの実施形態では、ゲストOSは、ある1つの要求に応答してVMIDを提供され、別の要求に応答してHIDを提供される。
一実施形態では、VM上で作動するゲストOSは、ゲストOSによるHIDクエリに応答して受信されたHIDと以前に格納されたHIDとを比較し、HIDが変化していることを検出することによって、ソース・コンピュータ・システムから行き先コンピュータ・システムに移行されているかまたは移行済みであるVM移行を検出する。一実施形態では、HIDクエリは、ゲストOSから現在のホスト・コンピュータ・システムへの複数の周期的なHIDクエリの1つである。一部の実施形態では、ゲストOSから現在のホスト・コンピュータ・システムへの複数の周期的なHIDクエリが一定の間隔で行われる。いくつかの実施形態では、この一定の間隔は、現在のハードウェア能力内の任意の所望の期間とすることができる。
一部の実施形態では、移行後のエラーが発生するのを防止するために、この一定の間隔を選択することができる。例えば、一部の実施形態では、VMがあるハードウェアに移行する場合、ゲストOS内のある期間tの後にエラーが発生する。このような実施形態では、ゲストOSは、移行を検出することなく時間tが経過するのを決して許容せず、またエラーを防ぐように構成変更を行うことによって、エラーの発生を防止するために、一定の間隔i<tを選択する。
一実施形態では、VM上で作動するゲストOSは、ゲストOSによるHIDクエリに応答して受信されたHIDと以前に格納されたHIDとを比較し、HIDが変化していることを検出することによって、ソース・コンピュータ・システムから行き先コンピュータ・システムに移行されているかまたは移行済みであるVM移行を検出する。一実施形態では、HIDクエリは、ゲストOSから現在のホスト・コンピュータ・システムへの複数の周期的なHIDクエリの1つである。一部の実施形態では、ゲストOSから現在のホスト・コンピュータ・システムへの複数の周期的なHIDクエリが様々な間隔で行われる。いくつかの実施形態では、この様々な間隔は、現在のハードウェア能力内の任意の所望の期間とすることができる。一部の実施形態では、この様々な間隔は、システム・リソースの利用可能性に依存する。例えば、一部の実施形態では、クエリは、低い優先度に設定され、次のクエリが発行される前に、他のシステム・プロセスが完了するか、またはシステム・リソースが利用可能になるのを待つ。
一実施形態では、VM上で作動するゲストOSは、ホスト・コンピュータ・システムへのクエリに応答して新たなHIDを受信すると、ソース・コンピュータ・システムから行き先コンピュータ・システムへのVM移行を検出するが、ここでは、新しいHIDが、行き先コンピュータ・システムに関連付けられ、ゲストOSは、ソース・コンピュータ・システムに関連付けられた以前に格納されたHIDとの比較に基づいて、この新しいHIDを検出する。一実施形態では、ゲストOSは、この新しいHIDをコンピュータ・メモリに格納し、この新しいHIDを使用して、ホスト・コンピュータ・システムのHIDへの別の変更に基づいて将来のVM移行を検出する。一実施形態では、ゲストOSは、新たなHIDをメモリに格納する際に、以前に格納されたHIDを上書きする。一実施形態では、ゲストOSは、現在のHIDを格納することに加えて、コンピュータ・メモリに多数の以前のホスト・システムのHIDを格納する。
一実施形態では、VM上で作動するゲストOSは、以前に受信されたHIDと最近受信されたHIDとの比較に少なくとも部分的に基づいて、ソース・コンピュータ・システムから行き先コンピュータ・システムへのVM移行を検出する。このような実施形態では、ゲストOSは、最近受信されたHIDに基づいて、ゲストOSへの構成変更が望ましいことを検出する。このような実施形態では、ゲストOSは、ゲストOSに構成変更を行う。一実施形態では、構成変更は、パフォーマンス測定の設定を調整することを含む。
本記載を明確にするために、そして本記載へのいかなる限定も含意するものではないが、例示的な実施形態が、いくつかの例示的な構成を用いて記載される。この開示から、当業者は、記載された目的を達成するために、記載された構成の数多くの変更、適合、および修正を想定することが可能となり、同じことが、例示的な実施形態の範囲内で想定される。
さらに、図面および例示的な実施形態では、データ処理環境の簡略化された図が用いられる。実際のコンピューティング環境では、示されていないかもしくは本明細書に記載されていない追加の構造もしくはコンポーネント、または示されたものとは異なるが本明細書に記載された類似の機能について異なる構造またはコンポーネントが、例示的な実施形態の範囲を逸脱することなく存在していてもよい。
さらに、例示的な実施形態は、実際のまたは仮定的な特定のコンポーネントに関して、例として記載されているに過ぎない。様々な例示的な実施形態によって記載されるステップを、例えば、機械学習分類器モデルによって行われる決定の説明を提供するために適合することができる。
これらおよび他の類似のアーチファクトのいかなる特定の明示も、本発明に限定されるものではない。これらおよび他の類似のアーチファクトの適切な明示は、例示的な実施形態の範囲内で選択することができる。
本開示の実施例は、説明を明確にするためにのみ使用され、例示的な実施形態に限定されるものではない。ここに挙げたいずれの利点も例に過ぎず、例示的な実施形態に限定されるものではない。追加のまたは異なる利点は、特定の例示的な実施形態によって実現され得る。さらに、具体的な例示的な実施形態は、上述した利点のいくつか、全てを有していてもよいし、全く有していなくてもよい。
さらに、例示的な実施形態は、データ・ネットワークに亘って、あらゆるタイプのデータ、データ・ソース、またはデータ・ソースへのアクセスに関して実装することができる。任意のタイプのデータ・ストレージ・デバイスは、本発明の範囲内で、データ処理システムにおいて局所的に、またはデータ・ネットワークに亘って、本発明の実施形態にデータを提供することができる。モバイル・デバイスを用いて実施形態を説明する場合、モバイル・デバイスと共に使用するのに適した任意のタイプのデータ・ストレージ・デバイスは、例示的な実施形態の範囲内で、モバイル・デバイスで局所的に、またはデータ・ネットワークに亘って、データを提供することができる。
例示的な実施形態は、特定のコード、禁忌の説明、コンピュータ可読記憶媒体、高レベルの特徴、履歴データ、設計、アーキテクチャ、プロトコル、レイアウト、スキーマ、およびツールをほんの例として用いて記載され、これらの例示的な実施形態に限定されるものではない。さらに、例示的な実施形態は、具体的なソフトウェア、ツール、およびデータ処理環境を用いて、説明を明確にするために、いくつかの例で説明される。例示的な実施形態は、他の同等または類似の目的とする構造、システム、アプリケーション、またはアーキテクチャと併せて使用されてもよい。例えば、他の同等のモバイル・デバイス、構造、システム、アプリケーション、またはそのアーキテクチャは、本発明のこのような実施形態と関連して本発明の範囲内で使用され得る。例示的な一実施形態は、ハードウェア、ソフトウェア、またはそれらの組合せで実装することができる。
本開示の実施例は、説明を明確にするためにのみ使用され、例示的な実施形態に限定されるものではない。追加のデータ、オペレーション、アクション、タスク、アクティビティ、および操作は、本開示から考えられるものとなり、同じことが例示的な実施形態の範囲内で想定される。
ここに挙げたいずれの利点も例に過ぎず、例示的な実施形態に限定されるものではない。追加のまたは異なる利点は、特定の例示的な実施形態によって実現され得る。さらに、具体的な例示的な実施形態は、上述した利点のいくつか、全てを有していてもよいし、全く有していなくてもよい。
図面、具体的には図1および図2を参照すると、これらの図は、例示的な実施形態が実装され得るデータ処理環境の図例である。図1および図2は、実施例に過ぎず、異なる実施形態が実装され得る環境に関する限定を主張または含意することを意図するものではない。具体的な実施形態は、以下の説明に基づいて、描写された環境に対して多くの修正を行うことができる。
図1は、例示的な実施形態が実装され得るデータ処理システムのネットワークのブロック図を示す。データ処理環境100は、例示的な実施形態が実装され得るコンピュータのネットワークである。データ処理環境100は、ネットワーク102を含む。ネットワーク102は、データ処理環境100内で合わせて接続された様々なデバイスとコンピュータとの間の通信リンクを提供するために使用される媒体である。ネットワーク102は、ワイヤ、無線通信リンク、または光ファイバ・ケーブルなどの接続を含んでいてもよい。
クライアントまたはサーバは、ネットワーク102に接続されたある特定のデータ処理システムの役割を果たすに過ぎず、これらのデータ処理システムの他の構成または役割を排除することを意図されていない。データ処理システム104はネットワーク102に結合している。ソフトウェア・アプリケーションは、データ処理環境100内の任意のデータ処理システム上で実行することができる。図1の処理システム104で実行されるように記載された任意のソフトウェア・アプリケーションは、別のデータ処理システムにおいて同様の方式で実行するように構成され得る。図1のデータ処理システム104で格納または生成された任意のデータまたは情報は、別のデータ処理システムにおいて同様の方式で格納または生成されるように構成され得る。データ処理システム104は、データを格納していてもよく、ソフトウェア・アプリケーションまたはその上でコンピューティング・プロセスを実行するソフトウェア・ツールを有してもよい。一実施形態では、データ処理システム104は、メモリ124を含み、メモリ124は、1つまたは複数の実施形態に従って本明細書に記載されるデータ・プロセッサ機能の1つまたは複数を実装するように構成され得るアプリケーション105Aを含む。
サーバ106は、ストレージ・ユニット108と併せてネットワーク102に結合している。ストレージ・ユニット108は、様々な実施形態、例えばイメージ・データおよび属性データに関して本明細書に記載されるようなデータを格納するように構成されたデータベース109を含む。サーバ106は、従来のデータ処理システムである。一実施形態では、サーバ106は、ゲストOSを含むVMアプリケーション105Bを含み、VMアプリケーション105Bは、1つまたは複数の実施形態に従って本明細書に記載の1つまたは複数のプロセッサ機能を実装するように構成され得る。
クライアント110、112、および114はまた、ネットワーク102に結合されている。サーバ106、またはクライアント110、112、もしくは114などの従来のデータ処理システムは、データを格納していてもよく、ソフトウェア・アプリケーションまたはその上で従来のコンピューティング・プロセスを実行するソフトウェア・ツールを有してもよい。
ほんの一例として、そしてこのようなアーキテクチャに限定されることを含意するものではないが、図1は、一実施形態の例示的な実装において使用可能なある特定のコンポーネントを示す。例えば、サーバ106、ならびにクライアント110、112、114は、サーバおよびクライアントとして例としてのみ図示され、クライアント・サーバ・アーキテクチャに対する限定を含意するものではない。別の例として、一実施形態は、図示のように、いくつかのデータ処理システムおよびデータ・ネットワークを越えて分散され得るのに対し、別の実施形態は、例示的な実施形態の範囲内の単一のデータ処理システム上で実装され得る。従来のデータ処理システム106、110、112、および114はまた、一実施形態を実装するのに適したクラスタ、パーティション、および他の構成における例示的なノードを表す。
デバイス132は、本明細書に記載の従来のコンピューティング・デバイスの一例である。例えば、デバイス132は、スマートフォン、タブレット・コンピュータ、ラップトップ・コンピュータ、静止型または携帯型のクライアント110、ウェアラブル・コンピューティング・デバイス、または任意の他の適切なデバイスの形態をとることができる。一実施形態では、デバイス132は、VMによってホスティングされるゲストOSの本明細書に記載される開始プロセスなどのVMアプリケーション105Bによって1つまたは複数のデータ処理タスクを実行するように、サーバ106に要求を送信する。図1の別の従来のデータ処理システムで実行されるように記載された任意のソフトウェア・アプリケーションは、デバイス132において同様の方式で実行するように構成され得る。図1の別の従来のデータ処理システムで格納または生成された任意のデータまたは情報は、デバイス132において同様の方式で格納または生成されるように構成され得る。
サーバ106、ストレージ・ユニット108、データ処理システム104、ならびにクライアント110、112、114、ならびにデバイス132は、有線接続、無線通信プロトコル、または他の適切なデータ接続性を用いて、ネットワーク102に結合することができる。クライアント110、112、および114は、例えば、パーソナル・コンピュータまたはネットワーク・コンピュータとすることができる。
図示された例では、サーバ106は、ブート・ファイル、OSイメージ、およびアプリケーションなどのデータをクライアント110、112、および114に提供することができる。クライアント110、112、および114は、この例ではサーバ106へのクライアントとしてもよい。クライアント110、112、114、またはそれらのいくつかの組合せは、それら自体のデータ、ブート・ファイル、OSイメージ、およびアプリケーションを含んでいてもよい。データ処理環境100は、追加のサーバ、クライアント、および図示されていない他のデバイスを含んでいてもよい。
図示された例では、メモリ124は、ブート・ファイル、OSイメージ、およびアプリケーションなどのデータをプロセッサ122に提供することができる。プロセッサ122は、それ自体のデータ、ブート・ファイル、OSイメージ、およびアプリケーションを含んでいてもよい。データ処理環境100は、追加のメモリ、プロセッサ、および図示されていない他のデバイスを含んでいてもよい。
一実施形態では、データ処理システム104の1つまたは複数のVMアプリケーション105Aと、サーバ106のVMアプリケーション105Bは、本明細書に記載のゲストOSを作動するVMの実施形態を実装する。具体的な一実施形態では、ゲストOSを作動するVMは、単一のサーバまたは処理システム内のネットワーク・アプリケーション105Aおよびネットワーク・アプリケーション105Bのうちの一方を用いて実装される。別の具体的な実施形態では、ゲストOSを作動するVMは、単一のサーバまたは処理システム内のネットワーク・アプリケーション105Aとネットワーク・アプリケーション105Bの両方を用いて実装される。サーバ106は、複数のノードを含む複数のGPU107を含み、各ノードは、本明細書に記載の1つまたは複数のGPUを含んでいてもよい。
図示の例では、データ処理環境100は、インターネットとしてもよい。ネットワーク102は、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)および相互に通信するための他のプロトコルを使用するネットワークおよびゲートウェイの集合を表すことができる。インターネットの心臓部は、データおよびメッセージを経路指定する何千もの商業、行政、教育、および他のコンピュータ・システムを含む、主要ノードまたはホスト・コンピュータ間のデータ通信リンクのバックボーンである。勿論、データ処理環境100は、例えばイントラネット、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)などの多数の異なるタイプのネットワークとしても実装されてもよい。図1は、異なる例示的な実施形態のためのアーキテクチャ上の限界としてではなく、一例として意図されたものである。
他の用途の中でも、データ処理環境100は、例示的な実施形態が実施され得るクライアント・サーバ環境を実装するために使用され得る。クライアント・サーバ環境は、従来のクライアント・データ処理システムと従来のサーバ・データ処理システムとの間の双方向性を用いてアプリケーションが機能するように、ネットワークを越えてソフトウェア・アプリケーションおよびデータを分配することを可能にする。データ処理環境100はまた、ネットワークを越えて分配された相互運用可能なソフトウェア・コンポーネントを一貫性のあるビジネス・アプリケーションとして共にパッケージし得るサービス指向アーキテクチャを採用してもよい。データ処理環境100はまた、クラウドの形態をとっていてもよく、最小限の管理努力またはサービスの提供者との対話によって迅速にプロビジョニングおよびリリースされ得る構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの簡便かつオンデマンドのネットワーク・アクセスを可能にするためのサービス・デリバリのクラウド・コンピューティング・モデルを採用してもよい。
図2を参照すると、この図は、例示的な実施形態が実施され得るデータ処理システムのブロック図を示す。データ処理システム200は、図1のデータ処理システム104、サーバ106、またはクライアント110、112、および114などのコンピュータの一例であるか、または、コンピュータ使用可能なプログラム・コードまたはプロセスを実装する命令が例示的な実施形態のために配置され得る他のタイプの装置である。
データ処理システム200はまた、図1の従来のデータ処理システム132など、従来のデータ処理システムまたはその中の構成を表すものであり、ここでは、例示的な実施形態のプロセスを実装するコンピュータ使用可能なプログラム・コードまたは命令が位置していてもよい。データ処理システム200は、これに限定されることなく、一例としてのみコンピュータとして記載されている。図1のデバイス132などの他のデバイスの形態での実装は、データ処理システム200を、例えばタッチ・インターフェースを追加することによって修正してもよく、また、本明細書に記載のデータ処理システム200の動作および機能の一般的な説明から逸脱することなく、データ処理システム200から特定の図示されたコンポーネントを排除することさえしてもよい。
図示された例では、データ処理システム200は、ノース・ブリッジおよびメモリ・コントローラ・ハブ(NB/MCH)202とサウス・ブリッジおよび入力/出力(I/O)コントローラ・ハブ(SB/ICH)204とを含むハブ・アーキテクチャを採用する。処理ユニット206、メイン・メモリ208、およびグラフィックス・プロセッサ210は、ノース・ブリッジおよびメモリ・コントローラ・ハブ(NB/MCH)202に結合されている。処理ユニット206は、1つまたは複数のプロセッサ、1つまたは複数の特殊目的レジスタ(SPR)、例えば、プロセッサ・バージョン・レジスタ(PVR)、システム・バージョン・レジスタ(SVR)、もしくはチップ識別レジスタ(CIR)、またはその両方などを含んでいてもよく、1つまたは複数の異種プロセッサ・システムを用いて実装されてもよい。処理ユニット206は、マルチコア・プロセッサとしてもよい。グラフィックス・プロセッサ210は、ある実施形態では、加速グラフィックス・ポート(AGP)を介して、NB/MCH202に結合されていてもよい。
図示の例では、ローカル・エリア・ネットワーク(LAN)アダプタ212は、サウス・ブリッジおよびI/Oコントローラ・ハブ(SB/ICH)204に結合されている。オーディオ・アダプタ216、キーボードおよびマウス・アダプタ220、モデム222と、読出し専用メモリ(ROM)224、ユニバーサル・シリアル・バス(USB)および他のポート232、ならびにPCI/PCIeデバイス234は、バス238を介してサウス・ブリッジおよびI/Oコントローラ・ハブ204に結合されている。ハード・ディスク・ドライブ(HDD)またはソリッド・ステート・ドライブ(SSD)226およびCD-ROM230は、バス240を介してサウス・ブリッジおよびI/Oコントローラ・ハブ204に結合されている。PCI/PCIeデバイス234は、例えば、イーサネット・アダプタ、アドイン・カード、およびノートブック・コンピュータ用のPCカードを含んでいてもよい。PCIはカード・バス・コントローラを使用するが、PCIeを使用しない。ROM224は、例えば、フラッシュ・バイナリ入力/出力システム(BIOS)としてもよい。ハード・ディスク・ドライブ226およびCD-ROM230は、例えば、インテグレーテッド・ドライブ・エレクトロニクス(IDE)、シリアル・アドバンスド・テクノロジー・アタッチメント(SATA)インターフェース、または外部SATA(eSATA)およびマイクロSATA(eSATA)などの変形を使用してもよい。超I/O(SIO)デバイス236は、バス238を介してサウス・ブリッジおよびI/Oコントローラ・ハブ(SB/ICH)204に結合されていてもよい。
メイン・メモリ208、ROM224、またはフラッシュ・メモリ(図示せず)などのメモリは、コンピュータ使用可能なストレージ・デバイスのいくつかの例である。ハード・ディスク・ドライブまたはソリッド・ステート・ドライブ226、CD-ROM230、および他の同様に使用可能なデバイスは、コンピュータ使用可能な記憶媒体を含むコンピュータ使用可能なストレージ・デバイスのいくつかの例である。
OSは、処理ユニット206上で動作する。OSは、図2のデータ処理システム200内の様々なコンポーネントを調和させてその制御を提供する。OSは、任意のタイプのコンピューティング・プラットフォームのための商業的に入手可能なOSとし得るが、そのようなものとしては、以下に限定されないが、サーバ・システム、パーソナル・コンピュータ、およびモバイル・デバイスが挙げられる。オブジェクト指向または他のタイプのプログラミング・システムは、OSと併せて動作し、データ処理システム200上で実行されるプログラムまたはアプリケーションからOSにコールを提供することができる。
OS、オブジェクト指向プログラミング・システム、およびアプリケーションまたはプログラム、例えば図1のアプリケーション105などに対する命令は、ハード・ディスク・ドライブ226上のコード226Aの形態などのストレージ・デバイス上に位置し、処理ユニット206による実行のために、メイン・メモリ208などの1つまたは複数のメモリのうち少なくとも1つにロードされてもよい。例示的な実施形態のプロセスは、例えば、メイン・メモリ208、読出し専用メモリ224などのメモリで、または1つまたは複数の周辺デバイスに位置し得るコンピュータ実装命令を用いて、処理ユニット206によって実行されてもよい。
さらに、ある場合には、コード226Aが、遠隔システム201Bからネットワーク201Aを越えてダウンロードされることがあり、その場合、類似のコード201Cが、ストレージ・デバイス201D上に格納される。別の場合では、コード226Aが、ネットワーク201Aを越えて遠隔システム201Bにダウンロードされることがあり、その場合、ダウンロードされたコード201Cが、ストレージ・デバイス201D上に格納される。
図1~図2のハードウェアは、実装に応じて変化してもよい。図1~図2に示したハードウェアの他に、またはそれに代えて、フラッシュ・メモリ、同等の不揮発性メモリ、または光学ディスクドライブなどの他の内部ハードウェアまたは周辺デバイスが用いられてもよい。また、例示的な実施形態のプロセスが、マルチプロセッサ・データ処理システムに適用されてもよい。
いくつかの例示的な例では、データ処理システム200は、OSファイルもしくはユーザ生成データまたはその両方を格納するための不揮発性メモリを提供するために、概してフラッシュ・メモリにより構成されたパーソナル・デジタル・アシスタント(PDA)としてもよい。バス・システムは、システム・バス、I/Oバス、およびPCIバスなどの1つまたは複数のバスを備えていてもよい。勿論、バス・システムは、ファブリックまたはアーキテクチャに取り付けられた異なるコンポーネントまたはデバイス間でのデータの移送を提供する任意のタイプの通信ファブリックまたはアーキテクチャを用いて実装され得る。
通信ユニットは、モデムまたはネットワーク・アダプタなどのデータを送受信するために用いられる1つまたは複数のデバイスを含んでいてもよい。メモリは、例えば、ノース・ブリッジおよびメモリ・コントローラ・ハブ202に見出されるキャッシュなどのメイン・メモリ208またはキャッシュとしてもよい。処理ユニットは、1つまたは複数のプロセッサまたはCPUを含んでいてもよい。
図1~図2および上記実施例における図示された例は、アーキテクチャ上の限界を意味するものではない。例えば、データ処理システム200は、モバイルまたはウェアラブル・デバイスの形態をとることに加えて、タブレット・コンピュータ、ラップトップ・コンピュータ、または電話デバイスとしてもよい。
コンピュータまたはデータ処理システムが仮想マシン、仮想デバイス、または仮想コンポーネントとして記載される場合、仮想マシン、仮想デバイス、または仮想コンポーネントは、データ処理システム200に図示されるいくつかまたは全てのコンポーネントの仮想化された表現を用いて、データ処理システム200の方式で動作する。例えば、仮想マシン、仮想デバイス、または仮想コンポーネントにおいて、処理ユニット206は、ホスト・データ処理システムにおいて利用可能なハードウェア処理ユニット206の全てまたはいくつかの仮想化インスタンスとして明示され、メイン・メモリ208は、ホスト・データ処理システムにおいて利用可能なメイン・メモリ208の全部または一部の仮想化インスタンスとして明示され、ディスク226は、ホスト・データ処理システムで利用可能なディスク226の全部または一部の仮想化インスタンスとして明示される。このような場合のホスト・データ処理システムは、データ処理システム200によって表される。
図3を参照すると、この図は、例示的な実施形態による例示的なコンピューティング・システム環境300のブロック図を示す。例示的な実施形態は、ゲストOS314を作動する仮想マシン304を含む。具体的な一実施形態では、ゲストOS314を実行する仮想マシン304は、図1のアプリケーション105A/105Bの一例である。
図示された実施形態では、ライブ移行のために構成されたコンピューティング・システム環境300は、コンピュータ通信ネットワーク、例えば、LAN、WAN、またはインターネットを越えて行き先コンピュータ・システム316に通信可能に結合された、ソース・コンピュータ・システム302を含む。ソース・コンピュータ・システム302は、ホスト・コンピュータ・ハードウェア312を含み、ホスト・コンピュータ・ハードウェア312は、図2に示されるデータ処理システム200の一例であって、ハイパーバイザ308の動作を支援するホストOS310を作動する。ハイパーバイザ308は、VM304の移行前バージョンの動作を管理することができ、VM304は、移行検出モジュール306を有するゲストOS314の動作をホスティングする。
図示された実施形態では、コンピューティング・システム環境300は、行き先コンピュータ・システム316をさらに含む。行き先コンピュータ・システム316は、ホスト・コンピュータ・ハードウェア322を含み、ホスト・コンピュータ・ハードウェア322は、図2に示されるデータ処理システム200の一例であり、ハイパーバイザ318の動作を支援するホストOS320を実行する。ハイパーバイザ318は、次に、VM304’の移行後バージョンの動作を管理することができ、VM304’の移行後バージョンは、移行検出モジュール306’を有するゲストOS304’の動作をホスティングする。また、異なる仮想化コンピューティング環境210Bは、ハイパーバイザ240Bの動作を支援する少なくとも1つのホスト・サーバ230Bを含むこともできる。ハイパーバイザ240Bは、次には、複数の異なるVM260Bの動作を管理することができ、各VM260Bは、コンピューティング・アプリケーションを提供するために組み合わされた1つまたは複数のアプリケーション・コンポーネント(図示せず)の実行をホスティングすることができる。なお、ライブ移行ロジック300は、セキュアな仮想化コンピューティング環境210Aおよび異なる仮想化コンピューティング環境210Bの両方に結合することができる。ライブ移行ロジック300は、VM260Aのうち選択された1つをセキュアな仮想化コンピューティング環境210Aから異なる仮想化コンピューティング環境210Bへ、それらの間のデータ通信のセキュリティを維持しながらライブ移行することを可能にする、プログラム・コードを含むことができる。
図示された実施形態では、移行検出モジュール306/306’を有するプログラム・コードは、VM移行を検出することを可能にすることができる。一部の実施形態では、VM304上で作動する移行検出モジュール306は、ゲストOS314に通知することなくVMがある1つのホスト・コンピュータ・システムから別のホスト・コンピュータ・システムに移行されるように構成された透過的モデルを含む、異なる移行通知モデルを有する種々のVMについて、VM移行を検出する。一実施形態では、ゲストOS314は、ホスト識別子(HID)をモニタリングすることによって、ならびにHIDへの変更が、VMを動作させるハードウェアに変更があったことを意味し、かつそれゆえにVM移行が発生していることを意味するということを認識することによって、VMがソース・コンピュータ・システム302から行き先コンピュータ・システム316に移行されたことを検出する。
図4を参照すると、この図は、例示的な実施形態による、ゲストOSによるVM移行を検出するための例示的なプロセス400のフローチャートである。具体的な一実施形態では、ゲストOS314もしくは移行検出モジュール306またはその両方は、プロセス400を行う。
一実施形態では、ブロック402で、アプリケーションは、ホスト識別子およびVM移行クラスについてホストVMもしくはホストOSまたはその両方に照会する。一部の実施形態では、アプリケーションは、VMがゲストOSに対して透過的である移行を行うか否かを検出する。次に、一実施形態では、ブロック404で、アプリケーションは、要求に応答して受信されたホスト識別子を含むホスト環境プロファイルを作成する。次に、ブロック406で、アプリケーションは、識別子についてホストVMもしくはOSまたはその両方に定期的に照会し、環境プロファイルに格納された識別子に対する応答と比較するための移行検出サービスを開始する。次に、ブロック408で、アプリケーションは、クエリ応答内の識別子が環境プロファイルに格納された識別子とは異なることを検出することによって、VMが移行されていると判定する。最後に、ブロック410で、アプリケーションは、識別子をクエリ応答で受信した新しい識別子に置き換えることによって、環境プロファイルを更新する。
以下の定義および略語は、特許請求の範囲および本明細書の解釈に用いられるべきである。本明細書中で使用されるように、用語「含む(comprises)」、「含むこと(comprising)」、「含む(includes)」、「含むこと(including)」、「有する(has)」、「有すること(having)」、「含有する(contains)」、もしくは「含有すること(containing)」、またはそれらの任意のバリエーションは、非排他的な包含をカバーすることを意図されている。例えば、要素の列挙を含む組成物、混合物、プロセス、方法、物品、または装置は、必ずしもこれらの要素のみに限定されるものではなく、そのような組成物、混合物、プロセス、方法、物品、または装置に明示的に列挙されていないかまたは固有の他の要素を含むことができる。
さらに、「例示的」という用語は、本明細書では、「例、インスタンス、または例示としての機能を供する」ことを意味するために使用される。「例示的」として本明細書に記載される任意の実施形態または設計は、必ずしも、他の実施形態または設計よりも好ましいか、または有利であると解釈されるべきではない。用語「少なくとも1つ」および「1つまたは複数」とは、1以上の任意の整数、すなわち1、2、3、4、5などを含むものと理解される。用語「複数」とは、2以上任意の整数、すなわち2、3、4、5などを含むものと理解される。用語「接続「とは、間接的な「接続」と直接的な「接続」とを含み得る。
本明細書において「一実施形態」、「実施形態」、「例示的な実施形態」などを参照すると、記載された実施形態は、特定の特徴、構造、または特性を含むことができるが、各実施形態は、特定の特徴、構造、または特性を含んでいてもいなくてもよい。また、このような語句は、必ずしも同一の実施形態を参照していない。さらに、特定の特徴、構造、または特性がある実施形態に関連して記載されている際に、明示的に記載されているか否かに関わらず、他の実施形態に関連してこのような特徴、構造、または特性に影響を及ぼすことが当業者の知識の範囲内であることが、提示されている。
用語「約」、「実質的に」、「およそ」、およびそのバリエーションは、本願の出願時に利用可能な器具に基づくある具体的な量の測定に関連する誤差の程度を含むことが意図されている。例えば、「約」は、所与の値の±8%もしくは5%、または2%の範囲を含むことができる。
本発明の様々な実施形態の説明が、例示のために提示されてきたが、網羅的であること、または開示された実施形態に限定されることを意図するものではない。記載された実施形態の範囲および趣旨から逸脱することなく、多くの修正および変形が当業者には明らかになるであろう。本明細書で使用される用語は、実施形態の原理、実用的な適用、もしくは市場で発見された技術を超える技術的な改善を最も良く説明するために、または本明細書に記載された実施形態を他の当業者が理解することを可能にするように選択されたものである。
本発明の様々な実施形態の説明が、例示のために提示されてきたが、網羅的であること、または開示された実施形態に限定されることを意図するものではない。記載された実施形態の範囲および趣旨から逸脱することなく、多くの修正および変形が当業者には明らかになるであろう。本明細書で使用される用語は、実施形態の原理、実用的な適用、もしくは市場で発見された技術を超える技術的な改善を最も良く説明するために、または本明細書に記載された実施形態を他の当業者が理解することを可能にするように選択されたものである。
このように、オンライン・コミュニティおよび他の関連する特徴、機能または動作における参加を管理するための例示的な実施形態において、コンピュータ実装方法、システムまたは装置、およびコンピュータ・プログラム製品が提供される。一実施形態またはその一部がデバイスのタイプ、コンピュータ実装方法、システムまたは装置、コンピュータ・プログラム製品、またはその一部に関して記載される場合が、このタイプのデバイスの適切かつ同等の表現による使用のために適合または構成されている。
実施形態がアプリケーションで実装されるように記載されている場合、サービス(SaaS)モデルとしてのソフトウェアにおけるアプリケーションの送達は、例示的な実施形態の範囲内で想定される。SaaSモデルにおいて、実施形態を実装するアプリケーションの能力は、クラウド・インフラストラクチャにおいてアプリケーションを実行することによってユーザに提供される。ユーザは、ウェブ・ブラウザ(例えば、ウェブ・ベースの電子メール)または他の軽量クライアント・アプリケーションなどのシン・クライアント・インターフェースを介して、種々のクライアント・デバイスを用いてアプリケーションにアクセスすることができる。ユーザは、ネットワーク、サーバ、OS、またはクラウド・インフラストラクチャの記憶を含む、基礎となるクラウド・インフラストラクチャを管理または制御しない。ある場合には、ユーザはSaaSアプリケーションの能力を管理または制御さえしなくてもよい。他の場合には、アプリケーションのSaaS実装は、限定されたユーザ固有のアプリケーション構成設定の可能な例外を許容することがある。
本発明は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、もしくはコンピュータ・プログラム製品、またはそれらの組合せであり得る。コンピュータ・プログラム製品は、プロセッサに本発明の態様を行わせるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(または複数の媒体)を含んでいてもよい。
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および格納することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、以下に限定されないが、例えば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または前述の任意の適した組合せとしてよい。コンピュータ可読記憶媒体のより具体的な例の非網羅的な一覧としては、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読出し専用メモリ(ROM)、消去可能なプログラム可能な読出し専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読出し専用メモリ(CD-ROM)、デジタル汎用ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、機械的に符号化されたデバイス、例えば、命令を上に記録したパンチ・カードまたは溝内の隆起構造など、および前述の任意の適切な組合せが挙げられる。コンピュータ可読記憶媒体は、本明細書で使用される際に、それ自体が電波または他の自由に伝搬する電磁波、導波管または他の伝送媒体(例えば、光ファイバ・ケーブルを通る光パルス)を伝搬する電磁波、またはワイヤを介して伝送される電気信号などの一時的な信号であるものと解釈されるべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各演算/処理デバイスに、またはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくは無線ネットワーク、またはそれらの組合せを介して外部コンピュータまたは外部記憶装置に、ダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはそれらの組合せを含むことができる。各演算/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、各演算/処理デバイス内のコンピュータ可読記憶媒体に格納するためにコンピュータ可読プログラム命令を送る。
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、または1つもしくは複数のプログラミング言語の任意の組合せで書かれたソースコードもしくはオブジェクトコードのいずれかとしてよく、プログラミング言語としては、Smalltalk、C++などのオブジェクト指向プログラミング言語と、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語が挙げられる。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、スタンドアロン・ソフトウェア・パッケージとして、ユーザのコンピュータ上で部分的にかつリモート・コンピュータ上に部分的に、またはリモート・コンピュータ上で部分的にもしくはリモート・コンピュータ上で全体的に、実行してもよい。後者のシナリオでは、リモート・コンピュータが、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含めた任意のタイプのネットワークを介してユーザのコンピュータに接続されていてもよいし、または接続が、外部コンピュータに(例えば、インターネットサービスプロバイダを用いてインターネットを介して)なされていてもよい。いくつかの実施形態では、例えば、プログラム可能なロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラム可能なロジックアレイ(PLA)を含めた電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報によって、コンピュータ可読プログラム命令を実行してもよい。
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照して本明細書に説明される。フローチャート図もしくはブロック図またはその両方の各ブロック、ならびにフローチャート図もしくはブロック図またはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実装できることが理解されよう。
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されて、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令がフローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実装する手段を生成するように、機械を生成し得る。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラム可能なデータ処理装置、もしくは他のデバイス、またはそれらの組合せを特定の方法で機能させることのできるコンピュータ可読記憶媒体に格納されてもよく、ゆえに、命令を中に格納したコンピュータ可読記憶媒体は、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定された機能/動作の態様を実装する命令を含む、製品を含み得る。
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能な装置、または他のデバイス上で実行される命令がフローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実装するように、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイス上にロードされて、一連の動作ステップをコンピュータ、他のプログラマブル装置、または他のデバイス上で実施させて、コンピュータ実装プロセスを生じる。
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施形態のアーキテクチャ、機能性、および動作を説明する。この点に関して、フローチャートまたはブロック図の各ブロックは、指定されたロジック機能を実装するための1つまたは複数の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表すことがある。いくつかの代替的な実施形態では、ブロックに記載された機能は、図に記載された順序の外に生じ得る。例えば、連続して示される2つのブロックが、実際には、実質的に同時に実行されてもよいし、またはブロックが、関与する機能性に応じて、逆の順序で実行されてもよい。また、ブロック図もしくはフローチャート図またはその両方の各ブロック、ならびにブロック図もしくはフローチャート図またはその両方におけるブロックの組合せは、指定された機能もしくは動作を実行するか、または専用ハードウェアとコンピュータ命令との組合せを実施する、専用ハードウェアベースのシステムによって実装できることに留意されたい。
本発明の実施形態は、顧客法人、非営利組織、政府機関、内部組織構造などとのサービス契約の一部として送達されてもよい。これらの実施形態の態様は、本明細書に記載の方法のいくつかまたは全てを実装する、ソフトウェア、ハードウェア、およびウェブ・サービスを実行し、展開するためにコンピュータ・システムを構成することを含んでいてもよい。これらの実施形態の態様はまた、クライアントの操作を分析し、その分析に応答する推奨を作成することと、推奨の一部を実装するシステムを構築することと、そのシステムを既存のプロセスおよびインフラ構造に統合することと、そのシステムの使用を計量することと、そのシステムのユーザに費用を割り当てることと、そのシステムの使用について請求することとを含むことができる。本発明の上記の実施形態はそれぞれ、個々の利点を記述することによって記載されてきたが、本発明はそれらの特定の組合せに限定されるものではない。逆に、このような実施形態は、それらの有益な効果を失うことなく、本発明の意図された展開に応じて任意の方法および数で組み合わせることもできる。

Claims (30)

  1. 仮想マシン(VM)上で作動するゲスト・オペレーティング・システム(OS)によって、VMにより提供されるVM識別子(VMID)と、第1のホスト・コンピュータ・システムにより提供される第1のホスト識別子(HID)とを、コンピュータ・メモリに格納すること、
    前記VMが前記ゲストOSに対して透過的である移行を行うと、前記ゲストOSによって判断すること、
    前記第1のHIDと、前記ゲストOSからのHID要求に応答して前記ゲストOSに提供される第2のHIDとを比較することに基づいて、前記VMが移行されていることを、前記ゲストOSによって検出すること、および
    前記VMが移行されていることを検出したことに応答して、前記ゲストOSの構成設定を前記ゲストOSによって更新すること
    を含む、コンピュータ実装方法。
  2. 前記VMIDは、前記ゲストOSからのVMID要求に応答して前記VMによって提供される、請求項1に記載のコンピュータ実装方法。
  3. 前記HIDは、前記ゲストOSからの最初のHID要求に応答して前記第1のホスト・コンピュータ・システムによって提供される、請求項2に記載のコンピュータ実装方法。
  4. 前記VMIDおよび前記第1のHIDは、前記ゲストOSからの最初の要求に応答して前記ゲストOSに提供される、請求項1に記載のコンピュータ実装方法。
  5. 前記VMが前記ゲストOSに対して透過的である移行を行うと判断することは、前記VMによって提供される前記VMIDに少なくとも部分的に基づく、請求項1に記載のコンピュータ実装方法。
  6. 前記HID要求は、前記ゲストOSから現在のホスト・コンピュータ・システムへの複数の周期的なHID要求のうちの1つである、請求項1に記載のコンピュータ実装方法。
  7. 前記複数の周期的なHID要求は、一定の間隔で行われる前記ゲストOSからの要求を含む、請求項6に記載のコンピュータ実装方法。
  8. 前記複数の周期的なHID要求は、様々な間隔で行われる前記ゲストOSからの要求を含む、請求項6に記載のコンピュータ実装方法。
  9. 前記VMが移行されていることを検出することに応答して、前記第2のHIDを前記ゲストOSによって前記コンピュータ・メモリに格納することをさらに含む、請求項1に記載のコンピュータ実装方法。
  10. 前記第2のHIDを格納することは、前記コンピュータ・メモリ内の前記第1のHIDを上書きすることを含む、請求項6に記載のコンピュータ実装方法。
  11. 前記構成設定の更新は、前記第2のHIDに基づく前記ゲストOSを含む、請求項1に記載のコンピュータ実装方法。
  12. 前記構成設定の更新は、前記第2のHIDに少なくとも部分的に基づいて設定の変更を行うことを決定することを含む、請求項11に記載のコンピュータ実装方法。
  13. VM移行を検出するコンピュータ・プログラム製品であって、1つまたは複数のコンピュータ可読記憶媒体と、前記1つまたは複数のコンピュータ可読記憶媒体に集合的に格納されるプログラム命令とを含み、前記プログラム命令は、コントローラ回路に、
    前記VMにより提供されるVM識別子(VMID)と、第1のホスト・コンピュータ・システムにより提供される第1のホスト識別子(HID)とを、VM上で作動するゲストOSによってコンピュータ・メモリに格納すること、
    前記VMが前記ゲストOSに対して透過的である移行を行うことを、前記ゲストOSによって判断すること、
    前記第1のHIDと、前記ゲストOSからのHID要求に応答して前記ゲストOSに提供される第2のHIDとを比較することに基づいて、前記VMが移行されていることを、前記ゲストOSによって検出すること、および
    前記VMが移行されていることを検出したことに応答して、前記ゲストOSの構成設定を前記ゲストOSによって更新すること
    を含むオペレーションを実行させるように、前記コントローラ回路によって実行可能である、コンピュータ・プログラム製品。
  14. 前記VMが移行されていることを検出することに応答して、前記第2のHIDを前記ゲストOSによって前記コンピュータ・メモリに格納することをさらに含む、請求項13に記載のコンピュータ使用可能なプログラム製品。
  15. 前記構成設定の更新は、前記第2のHIDに少なくとも部分的に基づいて設定の変更を行うことを決定することを含む、請求項13に記載のコンピュータ使用可能なプログラム製品。
  16. 前記格納されたプログラム命令は、データ処理システム内のコンピュータ可読ストレージ・デバイスに格納されており、前記格納されたプログラム命令は、ネットワークを越えて遠隔データ処理システムから移送される、請求項13に記載のコンピュータ使用可能なプログラム製品。
  17. 前記格納されたプログラム命令は、サーバ・データ処理システムのコンピュータ可読ストレージ・デバイスに格納されており、前記格納されたプログラム命令は、前記遠隔データ処理システムに関連付けられたコンピュータ可読ストレージ・デバイスで使用するために、ネットワークを越えて遠隔データ処理システムにダウンロードされ、
    前記要求に関連付けられた前記コンピュータ使用可能なコードの使用を計量するプログラム命令と、
    前記計量された使用に基づいてインボイスを生成するプログラム命令と
    をさらに含む、請求項13に記載のコンピュータ使用可能なプログラム製品。
  18. プロセッサと、1つまたは複数のコンピュータ可読記憶媒体と、前記1つまたは複数のコンピュータ可読記憶媒体に集合的に格納されるプログラム命令とを含むコンピュータ・システムであって、前記プログラム命令は、プロセッサに、
    前記VMにより提供されるVM識別子(VMID)と、第1のホスト・コンピュータ・システムにより提供される第1のホスト識別子(HID)とを、VM上で作動するゲストOSによってコンピュータ・メモリに格納すること、
    前記VMが前記ゲストOSに対して透過的である移行を行うことを、前記ゲストOSによって判断すること、
    前記第1のHIDと、前記ゲストOSからのHID要求に応答して前記ゲストOSに提供される第2のHIDとを比較することに基づいて、前記VMが移行されていることを、前記ゲストOSによって検出すること、および
    前記VMが移行されていることを検出したことに応答して、前記ゲストOSの構成設定を前記ゲストOSによって更新すること
    を含むオペレーションを実行させるように、前記プロセッサによって実行可能である、コンピュータ・システム。
  19. 前記VMIDは、前記ゲストOSからのVMID要求に応答して前記VMによって提供される、請求項18に記載のコンピュータ・システム。
  20. 前記HIDは、前記ゲストOSからの最初のHID要求に応答して前記第1のホスト・コンピュータ・システムによって提供される、請求項19に記載のコンピュータ・システム。
  21. 前記VMIDおよび前記第1のHIDは、前記ゲストOSからの最初の要求に応答して前記ゲストOSに提供される、請求項18に記載のコンピュータ・システム。
  22. 前記VMが前記ゲストOSに対して透過的である移行を前記VMが実行することを判断することは、前記VMによって提供される前記VMIDに少なくとも部分的に基づく、請求項18に記載のコンピュータ・システム。
  23. 前記HID要求は、前記ゲストOSから現在のホスト・コンピュータ・システムへの複数の周期的なHID要求のうちの1つである、請求項18に記載のコンピュータ・システム。
  24. 前記複数の周期的なHID要求は、一定の間隔で行われる前記ゲストOSからの要求を含む、請求項23に記載のコンピュータ・システム。
  25. 前記複数の周期的なHID要求は、様々な間隔で行われる前記ゲストOSからの要求を含む、請求項23に記載のコンピュータ・システム。
  26. 前記VMが移行されていることを検出することに応答して、第2のHIDを前記ゲストOSによって前記コンピュータ・メモリに格納することをさらに含む、請求項18に記載のコンピュータ・システム。
  27. 前記第2のHIDを格納することは、前記コンピュータ・メモリ内の前記第1のHIDを上書きすることを含む、請求項23に記載のコンピュータ・システム。
  28. 前記構成設定の更新は、前記第2のHIDに基づく前記ゲストOSを含む、請求項18に記載のコンピュータ・システム。
  29. 前記構成設定の更新は、設定の変更を前記第2のHIDに少なくとも部分的に基づいて行うことを決定することを含む、請求項28に記載のシステム。
  30. 前記方法がコンピュータ上で実行される際に請求項1から12のいずれかに記載の方法を実行するように適応されるプログラム・コード手段を含む、コンピュータ・プログラム。

JP2022527960A 2019-11-13 2020-11-10 ホスト・オペレーティング・システムによる仮想マシン移行の検出 Pending JP2023502918A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/682,877 2019-11-13
US16/682,877 US11520612B2 (en) 2019-11-13 2019-11-13 Virtual machine migration detection by a hosted operating system
PCT/IB2020/060565 WO2021094913A1 (en) 2019-11-13 2020-11-10 Virtual machine migration detection by hosted operating system

Publications (1)

Publication Number Publication Date
JP2023502918A true JP2023502918A (ja) 2023-01-26

Family

ID=75847474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022527960A Pending JP2023502918A (ja) 2019-11-13 2020-11-10 ホスト・オペレーティング・システムによる仮想マシン移行の検出

Country Status (6)

Country Link
US (1) US11520612B2 (ja)
JP (1) JP2023502918A (ja)
CN (1) CN114730274A (ja)
DE (1) DE112020004619T5 (ja)
GB (1) GB2605066B (ja)
WO (1) WO2021094913A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220413902A1 (en) * 2021-06-23 2022-12-29 International Business Machines Corporation Partition migration with critical task prioritization

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386612B2 (en) 2009-02-10 2013-02-26 International Business Machines Corporation Optimizing migration policy during live virtual memory migration
US8370560B2 (en) 2009-11-16 2013-02-05 International Business Machines Corporation Symmetric live migration of virtual machines
US8875129B2 (en) 2010-02-05 2014-10-28 Tripwire, Inc. Systems and methods for monitoring and alerting events that virtual machine software produces in a virtual infrastructure
US8239863B2 (en) * 2010-06-29 2012-08-07 Hewlett-Packard Development Company, L.P. Method and system for migrating a virtual machine
US8959173B1 (en) * 2010-09-30 2015-02-17 Emc Corporation Non-disruptive load-balancing of virtual machines between data centers
US8819678B2 (en) 2010-12-15 2014-08-26 Red Hat Israel, Ltd. Live migration of a guest from a source hypervisor to a target hypervisor
US10102018B2 (en) 2011-05-27 2018-10-16 Red Hat, Inc. Introspective application reporting to facilitate virtual machine movement between cloud hosts
US9104460B2 (en) 2011-05-31 2015-08-11 Red Hat, Inc. Inter-cloud live migration of virtualization systems
US9032160B1 (en) * 2011-12-29 2015-05-12 Emc Corporation Continuous data replication
US10333827B2 (en) 2012-04-11 2019-06-25 Varmour Networks, Inc. Adaptive session forwarding following virtual machine migration detection
CN103812823B (zh) 2012-11-07 2017-10-10 华为技术有限公司 虚拟机热迁移时配置信息迁移的方法、设备及系统
US9792150B1 (en) 2013-06-28 2017-10-17 Veritas Technologies Llc Detecting site change for migrated virtual machines
US9729660B2 (en) 2013-07-24 2017-08-08 Netapp, Inc. Method and system for detecting virtual machine migration
US9436751B1 (en) 2013-12-18 2016-09-06 Google Inc. System and method for live migration of guest
CN106462450A (zh) 2014-03-10 2017-02-22 诺基亚通信公司 向vnf管理器的关于虚拟机实时迁移的通知
CN105471744B (zh) 2014-09-19 2018-10-09 新华三技术有限公司 一种虚拟机迁移方法和装置
WO2017069648A1 (en) 2015-10-21 2017-04-27 Huawei Technologies Co., Ltd. Distributed cache live migration
CN108351802B (zh) 2015-11-13 2021-07-20 华为技术有限公司 计算机数据处理系统和用于虚拟机通信的基于通信流量的优化的方法
EP3459225B1 (en) 2016-05-17 2020-09-23 Telefonaktiebolaget LM Ericsson (PUBL) Methods and apparatus for enabling live virtual machine (vm) migration in software-defined networking networks
US10320895B2 (en) 2016-11-15 2019-06-11 Microsoft Technology Licensing, Llc Live migration of load balanced virtual machines via traffic bypass
US20180329646A1 (en) 2017-05-12 2018-11-15 International Business Machines Corporation Distributed storage system virtual and storage data migration
CN107291527B (zh) 2017-05-23 2020-04-03 华为技术有限公司 预拷贝迁移停止预判方法及装置
US10375169B1 (en) 2017-05-24 2019-08-06 United States Of America As Represented By The Secretary Of The Navy System and method for automatically triggering the live migration of cloud services and automatically performing the triggered migration
US10572289B2 (en) 2017-08-28 2020-02-25 Red Hat Israel, Ltd. Guest-initiated announcement of virtual machine migration
US11070629B2 (en) 2017-08-30 2021-07-20 Red Hat Israel, Ltd Migration notification and response messages for virtual machines
TWI645293B (zh) 2017-11-30 2018-12-21 財團法人工業技術研究院 在多根輸入輸出虛擬化環境中虛擬機器即時遷移的方法、系統及其計算主機
CN109710386B (zh) 2019-01-03 2020-08-28 北京工业大学 一种虚拟机的虚拟可信根实例的整体动态迁移方法

Also Published As

Publication number Publication date
GB2605066B (en) 2023-07-19
WO2021094913A1 (en) 2021-05-20
US11520612B2 (en) 2022-12-06
US20210141654A1 (en) 2021-05-13
DE112020004619T5 (de) 2022-08-04
GB202207739D0 (en) 2022-07-13
GB2605066A (en) 2022-09-21
CN114730274A (zh) 2022-07-08

Similar Documents

Publication Publication Date Title
US11494233B2 (en) Baselining for compute resource allocation
US10324754B2 (en) Managing virtual machine patterns
US9342342B2 (en) Refreshing memory topology in virtual machine operating systems
US20170104788A1 (en) Server workload assignment based on known update/security vulnerabilities
US20230114504A1 (en) Dynamic scaling for workload execution
US20150007174A1 (en) Single click host maintenance
JP2023502918A (ja) ホスト・オペレーティング・システムによる仮想マシン移行の検出
US8826305B2 (en) Shared versioned workload partitions
US20150154048A1 (en) Managing workload to provide more uniform wear among components within a computer cluster
WO2022078060A1 (en) Tag-driven scheduling of computing resources for function execution
US11249804B2 (en) Affinity based optimization of virtual persistent memory volumes
US11113049B2 (en) Deploying applications in a computing environment
US11436043B2 (en) Operating system code patching during live migration
US11983561B2 (en) Configuring hardware multithreading in containers
US20230015103A1 (en) Live updating a virtual machine virtualizing physical resources
US11455191B2 (en) Parallel task initialization on dynamic compute resources
US11960917B2 (en) Live migration and redundancy for virtualized storage
US11568272B2 (en) Generating native code with dynamic reoptimization for ensemble tree model prediction
US20230052672A1 (en) Queue bypassing interrupt handling

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220518

RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7436

Effective date: 20220519

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240514