JP2020091835A - 情報を処理するための方法及び装置 - Google Patents

情報を処理するための方法及び装置 Download PDF

Info

Publication number
JP2020091835A
JP2020091835A JP2019163707A JP2019163707A JP2020091835A JP 2020091835 A JP2020091835 A JP 2020091835A JP 2019163707 A JP2019163707 A JP 2019163707A JP 2019163707 A JP2019163707 A JP 2019163707A JP 2020091835 A JP2020091835 A JP 2020091835A
Authority
JP
Japan
Prior art keywords
virtual machine
file
physical address
virtual
memory
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
JP2019163707A
Other languages
English (en)
Other versions
JP6799652B2 (ja
Inventor
シエ、ヨンチー
Yongji Xie
チャイ、ウェン
Wen Chai
チャン、ユイ
Yu Zhang
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2020091835A publication Critical patent/JP2020091835A/ja
Application granted granted Critical
Publication of JP6799652B2 publication Critical patent/JP6799652B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/151Emulated environment, e.g. virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ホストマシンのクラッシュが、その上で実行されている仮想マシンのクラッシュに繋がることがあり、それによって仮想マシンによるサービスの提供に影響を及ぼし、仮想マシンの記憶媒体を損傷することがあり、データ損失などの重大な事態を防ぐことができる方法及び装置を提供する。【解決手段】プロダクションカーネルクラッシュの判定に応答して、ターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するステップと、ターゲットデータと仮想マシン・デバイスステータス情報とに基づいて、ファイルを共有記憶領域に格納するステップと、を含む。【効果】プロダクションカーネルがクラッシュしたときに、プロダクションカーネルによって実行される仮想マシンの関連ファイルを共有記憶領域に保存することが実現された。【選択図】図2

Description

本発明の実施例は、コンピュータ技術分野に関し、具体的に情報を処理するための方法及び装置に関する。
コンピュータ技術の発展に伴い、コンピュータ技術及びインターネット技術によって提供されるサービスはますます豊富になりつつある。仮想化技術によって、外部へサービスを提供するために、論理上のコンピュータ(即ち、仮想マシン)を物理マシン(電子機器)上で仮想化することができる。仮想マシンの安定性に影響を与える要因は数多くあり、その中でも、仮想マシンが配置されているホストマシンのクラッシュは、間違いなく最も制御不能で最も有害な要因の1種である。ホストマシンのクラッシュが、その上で実行されている仮想マシンのクラッシュに繋がることがあり、それによって仮想マシンによるサービスの提供に影響を及ぼし、仮想マシンの記憶媒体を損傷することさえあり、データ損失などの重大な事態を引き起こすことがある。
本発明の実施例は、情報を処理するための方法及び装置を提供する。
第1の態様では、本発明の実施例は情報を処理するための方法であって、プロダクションカーネルクラッシュの判定に応答してターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するステップであって、前記ターゲットメモリは、前記プロダクションカーネルによって、実行される仮想マシンに対して予め割り当てられたメモリであり、前記仮想マシンの仮想マシン・デバイスステータス情報と仮想マシンメモリの仮想アドレスに対応する物理アドレス情報とが前記プロダクションカーネルによって前記ターゲットメモリに格納されるステップと、前記物理アドレス情報に基づいて、データをターゲットデータとして取得するステップと、前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいて、ファイルを共有記憶領域に格納するステップとを含む方法を提供する。
いくつかの実施例では、前記方法は、バックアップ電子機器に仮想マシン復元要求を送信するステップを更に含み、前記仮想マシン復元要求は前記ファイルのファイル識別子を含み、前記バックアップ電子機器は前記ファイル識別子に従って前記共有記憶領域から前記ファイルを取得し、前記ファイルに基づいて前記仮想マシンを復元する。
いくつかの実施例では、前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいて、ファイルを共有記憶領域に格納するステップは、前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいてスナップショットファイルを生成することと、前記スナップショットファイルを共有記憶領域に格納することとを含む。
いくつかの実施例では、前記物理アドレス情報は、前記仮想マシンの動作を停止するように制御するための動作停止命令を前記仮想マシンに送信するステップと、予め格納されているページテーブルと、前記仮想マシンメモリの仮想アドレスとに基づいて、物理アドレス情報を生成するステップであって、前記ページテーブルは仮想アドレスと物理アドレスとの対応関係を記述するためのものであるステップとによって、前記プロダクションカーネルにより生成される。
いくつかの実施例では、前記ターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するステップは、仮想ファイルシステムによって前記ターゲットメモリから前記仮想マシン・デバイスステータス情報及び前記物理アドレス情報を取得することを含む。
第2の態様では、本発明の実施例は、情報を処理するための装置であって、プロダクションカーネルクラッシュの判定に応答してターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するように構成される第1取得手段であって、前記ターゲットメモリは、前記プロダクションカーネルによって、実行される仮想マシンに対して予め割り当てられたメモリであり、前記仮想マシンの仮想マシン・デバイスステータス情報と仮想マシンメモリの仮想アドレスに対応する物理アドレス情報とが前記プロダクションカーネルによって前記ターゲットメモリに格納される第1取得手段と、前記物理アドレス情報に基づいて、データをターゲットデータとして取得するように構成される第2取得手段と、前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいて、ファイルを共有記憶領域に格納するように構成される記憶手段とを備える装置を提供する。
いくつかの実施例では、前記装置は、バックアップ電子機器に仮想マシン復元要求を送信するように構成される送信手段を更に備え、前記仮想マシン復元要求は前記ファイルのファイル識別子を含み、前記バックアップ電子機器は前記ファイル識別子に従って前記共有記憶領域から前記ファイルを取得し、前記ファイルに従って前記仮想マシンを復元する。
いくつかの実施例では、前記記憶手段は更に、前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいてスナップショットファイルを生成し、前記スナップショットファイルを共有記憶領域に格納するように構成される。
いくつかの実施例では、前記物理アドレス情報は、前記仮想マシンの動作を停止するように制御するための動作停止命令を前記仮想マシンに送信するステップと、予め格納されているページテーブルと、前記仮想マシンメモリの仮想アドレスとに基づいて、物理アドレス情報を生成するステップであって、前記ページテーブルは仮想アドレスと物理アドレスとの対応関係を記述するためのものであるステップと、によって前記プロダクションカーネルにより生成される。
いくつかの実施例では、前記第1取得手段は更に、仮想ファイルシステムによって前記ターゲットメモリから前記仮想マシン・デバイスステータス情報及び前記物理アドレス情報を取得するように構成される。
第3の態様では、本発明の実施例は、1つ又は複数のプロセッサと、1つ又は複数のプログラムが格納されている記憶装置と、を備えるサーバであって、前記1つ又は複数のプログラムが前記1つ又は複数のプロセッサにより実行されると、前記1つ又は複数のプロセッサに第1態様のいずれか一実施形態に記載の方法を実現する、サーバを提供する。
第4の態様では、本発明の実施例は、コンピュータプログラムが格納されているコンピュータ可読媒体であって、該コンピュータプログラムがプロセッサにより実行されると、第1の態様のいずれか一実施形態に記載の方法を実現するコンピュータ可読媒体を提供する。
本発明の実施例により提供される情報を処理するための方法及び装置は、プロダクションカーネルクラッシュの判定に応答してターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得し、次いで物理アドレス情報に基づいてデータをターゲットデータとして取得し、最後にターゲットデータ及び仮想マシン・デバイスステータス情報に基づいてファイルを共有記憶領域に格納し、それによって、プロダクションカーネルがクラッシュしたときに、プロダクションカーネルによって実行されている仮想マシンの関連ファイルを共有記憶領域に格納することで、プロダクションカーネルクラッシュによる仮想マシンのデータ損失を防止できる。
本発明の他の特徴、目的及び利点は、以下の図面を参照してなされる非限定的な実施例に係る詳細な説明を読むことにより、より明らかになるであろう。
本発明の一実施例を適用可能な例示的なシステムアーキテクチャを示す図である。 本発明に係る情報を処理するための方法の一実施例を示すフローチャートである。 本発明に係る情報を処理するための方法の一応用シナリオを示す概略図である。 本発明に係る情報を処理するための方法のもう一つの実施例を示すフローチャートである。 本発明に係る情報を処理するための装置の一実施例を示す構造概略図である。 本発明の実施例を実現するためのサーバに適用されるコンピュータシステムを示す構造概略図である。
以下、図面及び実施例を参照しながら本発明をより詳細に説明する。ここで説明する具体的な実施例は、関連する発明を説明するためのものに過ぎず、当該発明を限定するものではないことを理解されたい。また、説明の便宜上、図面には発明に関連する部分のみが示されていることに留意されたい。
なお、本発明の実施例及び実施例における特徴は、矛盾を生じない限り、相互に組み合わせることができる。以下、図面及び実施例を参照しながら本発明を詳細に説明する。
図1は、本発明の実施例に係る情報を処理するための方法又は情報を処理するための装置が適用可能な例示的なシステムアーキテクチャ100を示している。
図1に示すように、システムアーキテクチャ100は、ホストマシン101、サーバ102及びネットワーク103を含むことができる。ネットワーク103は、ホストマシン101とサーバ102の間で通信リンクの媒体を提供するために使用される。ネットワーク103は、有線、無線通信リンク又は光ファイバケーブルなどの様々なタイプの接続を含んでもよい。
ホストマシン101は、クラウドコンピューティングを提供する仮想マシンがその上で稼働する物理マシンであり得る。ホストマシン101には仮想マシン1011、1012、1013が稼働可能である。仮想マシン1011、1012、1013は、ホストマシン101のハードウェアデバイスにアクセスすることができる。例えば、仮想マシン1011、1012、1013は、仮想マシン1011、1012、1013にインストールされているデバイスドライバを介して、ホストマシン101上のハードウェアデバイスにアクセスすることができる。通常に、仮想マシン1011、1012、1013のデバイスドライバによるホストマシン101のハードウェアデバイスへのアクセス挙動は、ホストマシン101上の仮想マシンモニタ(Virtual Machine Monitor,VMM)によって記録されることができる。実際の応用シナリオでは、ホストマシン101は、様々なクラウドサービスを提供するサーバであり得、仮想マシンモニタは、サーバ上で実行されている仮想マシンのステータス及び動作を管理及び記録するためにサーバ上で実行され得る。
サーバ102は、データを格納するためのファイル共有記憶サーバであり得る。例えば、サーバ102は、ホストマシン101によって送信されたファイルを格納することができる。
図1におけるホストマシン、仮想マシン、ネットワーク及びサーバの数が例示的なものに過ぎないことを理解されたい。必要に応じて、ホストマシン、仮想マシン、ネットワーク及びサーバの数を任意に加減してもよい。
なお、本発明の実施例に係る情報を処理するための方法は、通常にホストマシン101によって実行され、これに応じて、情報を処理するための装置は、通常にホストマシン101に設けられている。
次に、本発明に係る情報を処理するための方法の一実施例のフロー200を示す図2を参照する。この情報を処理するための方法は、次のステップ(ステップ201〜203)を含む。
ステップ201:プロダクションカーネルクラッシュの判定に応答して、ターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得する。
本実施例では、情報処理方法の実行主体(例えば、図1に示すホストマシン101)には、プロダクションカーネル(production kernel又はfirst kernel)が実行可能であり、プロダクションカーネル内で仮想マシン及び仮想マシンモニタが実行可能である。仮想マシンは、ソフトウェアを介して実行され、完全なハードウェアシステム機能を有するとともに完全に分離された環境で実行される完全なコンピュータシステムであり得る。ここで、プロダクションカーネルは、コンピュータハードウェア及びソフトウェアリソースを管理及び制御するコンピュータプログラムであり得、ベアコンピュータ上で直接動作する最も基本的なシステムソフトウェアであり得る。他のソフトウェアは、プロダクションカーネルのサポートがなければ実行できない。ここでは、プロダクションカーネルは、Linux(登録商標)システムなどの任意のタイプのシステムソフトウェアであり得る。
実際には、プロダクションカーネルの動作中に、例えば、カーネルのデッドロック、カーネルのヌルポインターアクセス、カーネルモジュールにより検出された不適切な操作などの異常事態が発生することがある。また、ホストマシンの動作中に、過負荷などの重要な指標異常が発生することもある。しかし、いくつかの事前に定義された異常事態に関しては、一度発生すると、プロダクションカーネルそれ自体が不可逆的エラー、即ちプロダクションカーネルクラッシュが発生した可能性があることを意味している。このとき、プロダクションカーネルは、ターゲットカーネルモジュールを呼び出すことによってクラッシュ処理操作を実行することができ、その後、再起動することによって復元することができる。一例として、ターゲットカーネルモジュールは、パニック(Panic)関数が実装されたモジュールであり得る。
実際には、カーネルクラッシュに対処する方法は複数ある。例えば、Linux(登録商標)オペレーティングシステムのカーネルには、システムカーネルがクラッシュしたときに事後分析のためにメモリの内容を保存するためのクラッシュダンプメカニズムが複数ある。例えば、kdumpは、物理マシンがクラッシュしたときにランタイムメモリをダンプするための、Linux(登録商標)システムによって提供されるメカニズムである。これはシステムに一部のメモリを予約することで、カーネルがクラッシュしたときにランタイムメモリをダンプするために第2のカーネルを起動することを可能にする。kdumpは、システムクラッシュ、デッドロック、又はダウンが発生した場合にメモリオペレーティングパラメータをダンプするために使用されるツール及びサービスである。例えば、システムがクラッシュすると、正常のカーネルは実行できなくなる。この時点で、kdumpは現在の実行情報をキャプチャ(capture)するためのカーネルを生成し、当該カーネルは、クラッシュの原因を後で分析するために、この時点でのメモリ内のすべての実行状態とデータ情報をダンプコア(dump core)ファイルに収集し、メモリ情報の収集が終了すると、システムは自動的に再起動する。
本実施例では、プロダクションカーネルクラッシュの判定に応答して、実行主体はターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得することができる。ここで、ターゲットメモリは、プロダクションカーネルによって実行される仮想マシンに対して予め割り当てられたメモリであってもよい。仮想マシンの仮想マシン・デバイスステータス情報と仮想マシンメモリの仮想アドレスに対応する物理アドレス情報とがプロダクションカーネルによってターゲットメモリに格納される。一例として、実行主体内で実行されている仮想マシンモニタは、各仮想マシンの仮想マシン・デバイスステータス情報及び対応する物理アドレス情報を、当該仮想マシンに対して予め割り当てられたターゲットメモリに格納することができる。ここで、仮想マシン・デバイスステータス情報とは、仮想マシンの仮想デバイスのステータス情報であってもよい。一例として、仮想デバイスは、仮想ネットワークカード、仮想ディスク、仮想CPU(Central Processing Unit,中央処理装置)などを含む。
本実施例のいくつかの任意選択の実施態様では、前記物理アドレス情報は、プロダクションカーネルにより次の2つのステップ:仮想マシンを動作停止させるように制御するための動作停止命令を仮想マシンに送信するステップ、予め格納されている、仮想アドレスと物理アドレスとの対応関係を記述するためのページテーブルと、前記仮想マシンメモリの仮想アドレスとに基づいて、物理アドレス情報を生成するステップによって生成され得る。
本実施例では、プロダクションカーネルクラッシュの判定に応答して、プロダクションカーネルは、仮想マシンの動作を停止させるように制御するために、実行される仮想マシンに動作停止命令を送信することができる。その後、予め格納されているページテーブルと仮想マシンメモリの仮想アドレスとに基づいて、物理アドレス情報を生成することができる。一例として、仮想マシンメモリの仮想アドレスは、連続アドレスであり得、開始アドレス及び長さを含み得る。このようにして、実行主体は、ページテーブルに記録された仮想アドレスと物理アドレスとの対応関係に従って、連続した仮想マシンメモリの仮想アドレスを個別の物理アドレスに変換し、リンクリストの形の物理アドレス情報を得ることができる。
ステップ202:物理アドレス情報に基づいてデータをターゲットデータとして取得する。
本実施例では、実行主体は、ステップ201で取得された物理アドレス情報に基づいてデータをターゲットデータとして取得することができる。実際には、前記物理アドレス情報はリンクリストであり得る。リンクリストとは、物理記憶手段上の連続していない、非順番の記憶構造であり、データ要素の論理的な順序は、リンクリスト内のポインタのリンク順序によって実現される。リンクリストは一連のノード(リンクリスト内の各要素はノードと呼ばれる)で構成され、各ノードは、データ要素を格納するデータフィールド、次のノードのアドレスを格納するポインタフィールドの2つの部分を含む。このようにして、実行主体は、リンクリスト内の各ノードに順次アクセスすることで、各ノードのデータを取得し、取得したデータをターゲットデータとして用いることができる。
本実施例のいくつかの任意選択の実施態様では、前記ステップ202は、具体的には、仮想ファイルシステムを介してターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するように実行され得る。
本実施態様では、実行主体は、仮想ファイルシステムを介してターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得することができる。一例として、前記実行主体のメモリは、カーネル空間(カーネルモード)とユーザ空間(ユーザモード)に分けられる。カーネル空間はオペレーティングシステム命令を実行するために使用することができ、ユーザ空間はユーザプログラム命令を実行するために使用することができる。一例として、前記プロダクションカーネルはカーネル空間で実行することができ、本発明の情報を処理するための方法の各ステップは、ユーザ空間で実行することができる。実際には、カーネル空間に関する一部の情報は、仮想ファイルシステムを介してユーザ空間に提示することができる。例えば、仮想ファイルシステム(例えば、/procファイルシステム)を介してデータインターフェースをユーザ空間に提供することができ、当該データインターフェースを介して、ユーザ空間で実行されるユーザプログラムは、カーネル空間におけるプロダクションカーネル内の仮想マシン・デバイスステータス情報及び物理アドレス情報を取得できる。
ステップ203:ターゲットデータと仮想マシン・デバイスステータス情報に基づいて、ファイルを共有記憶領域に格納する。
本実施例では、実行主体は、前記ターゲットデータ及び前記仮想マシン・デバイスステータス情報に基づいてファイルを共有記憶領域に格納することができる。ここで、前記共有記憶領域は、データを格納するための、電子機器(例えば、図1に示すサーバ102)内の事前設定された記憶領域であってもよい。一例として、実行主体は、前記ターゲットデータ及び前記仮想マシン・デバイスステータス情報をファイルとして前記共有記憶領域に格納することができる。
本実施例のいくつかの任意選択の実施態様では、ステップ203は、具体的には、ターゲットデータと仮想マシン・デバイスステータス情報とに基づいてスナップショットファイルを生成し、スナップショットファイルを共有記憶領域に格納するように実行され得る。
本実施態様では、前記実行主体は、先ずは、ターゲットデータと仮想マシン・デバイスステータス情報とに基づいて、スナップショットファイルを生成することができる。ここで、スナップショットとは、複製時点におけるソースデータの静止画像を含む、指定されたデータセットの完全に利用可能なコピーである。スナップショットは、データ再生のコピー又は複製である。スナップショット技術は現在広く研究され適用されている周知の技術であり、本明細書ではその説明は繰り返さないことに留意されたい。その後、実行主体は、生成されたスナップショットファイルを共有記憶領域に格納することができる。本実施態様では、スナップショット技術によってプロダクションカーネルクラッシュタイム、プロダクションカーネルによって実行されている仮想マシンに対応するターゲットデータ及び仮想マシン・デバイスステータス情報を保存して、共有記憶領域に格納することで、プロダクションカーネルクラッシュによる仮想マシンデータの損失を防止できる。
次に、本実施例に係る情報を処理するための方法の応用シナリオを示す概略図である図3を参照する。図3の応用シナリオでは、プロダクションカーネルクラッシュの判定に応答して、ホストマシン301は、ターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得することができ、ここで、ターゲットメモリは、プロダクションカーネルによって実行される仮想マシンに対して予め割り当てられたメモリであり、仮想マシンの仮想マシン・デバイスステータス情報と仮想マシンメモリの仮想アドレスに対応する物理アドレス情報とがプロダクションカーネルによってターゲットメモリに格納される。その後、ホストマシン301は、物理アドレス情報に基づいてデータをターゲットデータとして取得することができる。最後に、ホストマシン301は、ターゲットデータと仮想マシン・デバイスステータス情報とに基づいて、ファイルをサーバ302の共有記憶領域に格納することができる。
本発明の上記実施例によって提供された方法によれば、プロダクションカーネルがクラッシュしたときに、プロダクションカーネルによって実行されている仮想マシンの関連ファイルを共有記憶領域に保存することで、プロダクションカーネルクラッシュによる仮想マシンのデータ損失を防止できる。
更に、情報を処理するための方法のもう一つの実施例のフロー400を示す図4を参照する。この情報を処理するための方法のフロー400は、次のステップ(ステップ401〜404)を含む。
ステップ401:プロダクションカーネルクラッシュの判定に応答して、ターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得する。
本実施例では、ステップ401は図2に示す実施例のステップ201と同様であり、ここではその説明は繰り返さない。
ステップ402:物理アドレス情報に基づいて、データをターゲットデータとして取得する。
本実施例では、ステップ402は図2に示す実施例のステップ202と同様であり、ここではその説明は繰り返さない。
ステップ403:ターゲットデータと仮想マシン・デバイスステータス情報に基づいて、ファイルを共有記憶領域に格納する。
本実施例では、ステップ403は図2に示す実施例のステップ203と同様であり、ここではその説明は繰り返さない。
ステップ404:仮想マシン復元要求をバックアップ電子機器に送信する。
本実施例では、前記実行主体は仮想マシン復元要求を事前設定されたバックアップ電子機器に送信することができる。ここで、前記仮想マシン復元要求は前記ファイルのファイル識別子を含んでいてもよい。このようにして、前記バックアップ電子機器は、ファイル識別子に従って共有記憶領域からファイルを取得し、プロダクションカーネルがクラッシュした際にカーネルによって実行される仮想マシンを、ファイルに基づいてバックアップ電子機器にローカルに復元することができる。なお、仮想マシンの関連ファイルに基づいて、バックアップ電子機器に仮想マシンを復元することは、現在広く研究され適用されている周知の技術であり、ここではその説明は繰り返さない。
図4から分かるように、図2の対応する実施例と比較して、本実施例における情報を処理するための方法のフロー400では、バックアップ電子機器に仮想マシン復元要求を送信するステップが強調された。したがって、本実施例で説明される解決策は、プロダクションカーネルがクラッシュしたときにバックアップ電子機器を使用してプロダクションカーネルによって実行される仮想マシンを復元することができ、それによって仮想マシンはバックアップ電子機器上で稼働し続けることが実現され、仮想マシンの高可用性が確保された。
更に図5を参照すると、上記の図に示された方法の実施態様として、本発明は、情報を処理するための装置の一実施例を提供し、当該装置の実施例は、図2に示された方法の実施例に対応しており、当該装置は、具体的に様々な電子機器に適用することができる。
図5に示すように、本実施例の情報を処理するための装置500は、第1取得手段501と、第2取得手段502と、記憶手段503とを備える。第1取得手段501は、プロダクションカーネルクラッシュの判定に応答してターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するように構成され、ここで、前記ターゲットメモリは、前記プロダクションカーネルによって実行される仮想マシンに対して予め割り当てられたメモリであり、前記仮想マシンの仮想マシン・デバイスステータス情報と仮想マシンメモリの仮想アドレスに対応する物理アドレス情報とが前記プロダクションカーネルによって前記ターゲットメモリに格納される。第2取得手段502は、前記物理アドレス情報に基づいてデータをターゲットデータとして取得するように構成される。記憶手段503は、前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいて、ファイルを共有記憶領域に格納するように構成される。
本実施例において、情報を処理するための装置500は、第1取得手段501、第2取得手段502、記憶手段503の具体的な処理及びそれらの技術効果は、それぞれ図2の対応する実施例におけるステップ201、ステップ202、及びステップ203の関連説明を参照することができ、ここではその説明は繰り返さない。
本実施例のいくつかの任意選択の実施態様では、前記装置500は更に、バックアップ電子機器に仮想マシン復元要求を送信するように構成される送信手段(図示せず)を更に含むことができ、前記仮想マシン復元要求は前記ファイルのファイル識別子を含み、前記バックアップ電子機器は前記ファイル識別子に従って前記共有記憶領域から前記ファイルを取得し、前記ファイルに基づいて前記仮想マシンを復元する。
本実施例のいくつかの任意選択の実施態様では、前記記憶手段503は更に、前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいてスナップショットファイルを生成し、前記スナップショットファイルを共有記憶領域に格納するように構成されることができる。
本実施例のいくつかの任意選択の実施態様では、前記物理アドレス情報は、前記仮想マシンの動作を停止するように制御するための動作停止命令を前記仮想マシンに送信するステップと、予め格納されている、仮想アドレスと物理アドレスとの対応関係を記述するためのページテーブルと、前記仮想マシンメモリの仮想アドレスとに基づいて、物理アドレス情報を生成するステップとによって、前記プロダクションカーネルにより生成されることができる。
本実施例のいくつかの任意選択の実施態様では、前記第1取得手段501は更に、仮想ファイルシステムによって前記ターゲットメモリから前記仮想マシン・デバイスステータス情報及び前記物理アドレス情報を取得するように構成されることができる。
以下、本発明の実施例を実現するためのサーバに適用されるコンピュータシステム600を示す構造概略図である図6を参照する。図6に示すサーバは、ただ一例に過ぎず、本発明の実施例の機能及び使用範囲を限定するものではない。
図6に示すように、コンピュータシステム600は、読み出し専用メモリ(ROM)602に格納されているプログラム又は記憶部608からランダムアクセスメモリ(RAM)603にロードされたプログラムによって様々な適当な動作及び処理を実行することができる中央処理装置(CPU)601を備える。RAM603には、システム600の動作に必要な各種のプログラム及びデータが更に格納されている。CPU601、ROM602及びRAM603は、バス604を介して互いに接続されている。入力/出力(I/O)インターフェース605もバス604に接続されている。
キーボード、マウスなどを含む入力部606、陰極線管(CRT)、液晶ディスプレイ(LCD)など、及びスピーカなどを含む出力部607、ハードディスクなどを含む記憶部608、並びにLANカード、モデムなどのネットワークインターフェースカードを含む通信部609は、I/Oインターフェース605に接続されている。通信部609は、例えばインターネットのようなネットワークを介して通信処理を実行する。ドライバ610は、必要に応じてI/Oインターフェース605に接続される。磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどのリムーバブルメディア611は、そこから読み出されるコンピュータプログラムが必要に応じて記憶部708にインストールされるように、必要に応じてドライバ610に設置されている。
特に、本発明の実施例によれば、上記のフローチャートを参照しながら記載されたプロセスは、コンピュータのソフトウェアプログラムとして実現されてもよい。例えば、本発明の実施例は、コンピュータ可読媒体に具現化されるコンピュータプログラムを含むコンピュータプログラム製品を備え、該コンピュータプログラムは、フローチャートで示される方法を実行するためのプログラムコードを含む。このような実施例では、当該コンピュータプログラムは、通信部609を介してネットワークからダウンロードされてインストールされることが可能であり、及び/又はリムーバブルメディア611からインストールされることも可能である。該コンピュータプログラムが中央処理装置(CPU)601によって実行されると、本発明の方法で限定された上記の機能を実行する。
注意すべきなのは、本発明に記載されたコンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体、又はこれらの任意の組み合わせであってもよい。コンピュータ可読記憶媒体は、例えば、電気、磁気、光、電磁気、赤外線、又は半導体システム、装置もしくはデバイス、又はこれらの任意の組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例としては、1本又は複数の導線による電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROMもしくはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読取り専用メモリ(CD−ROM)、光メモリ、磁気メモリ、又はこれらの任意の適切な組み合わせを含むことができるが、これらに限定されない。本発明において、コンピュータ可読記憶媒体は、命令実行システム、装置もしくはデバイスによって使用可能な、又はそれらに組み込まれて使用可能なプログラムを包含又は格納する任意の有形の媒体であってもよい。本発明において、コンピュータ可読信号媒体は、ベースバンド内の、又は搬送波の一部として伝搬されるデータ信号を含むことができ、その中にコンピュータ可読プログラムコードが担持されている。かかる伝搬されたデータ信号は、様々な形態をとることができ、電磁信号、光信号、又はこれらの任意の適切な組み合わせを含むが、これらに限定されない。コンピュータ可読信号媒体は、更にコンピュータ可読記憶媒体以外の任意のコンピュータ可読媒体であってもよい。当該コンピュータ可読媒体は、命令実行システム、装置もしくはデバイスによって使用されるか、又はそれらに組み込まれて使用されるプログラムを、送信、伝搬又は伝送することができる。コンピュータ可読媒体に含まれるプログラムコードは任意の適切な媒体で伝送することができ、当該任意の適切な媒体とは、無線、有線、光ケーブル、RFなど、又はこれらの任意の適切な組み合わせを含むが、これらに限定されない。
本発明の動作を実行するためのコンピュータプログラムコードは、1種以上のプログラミング言語、又はそれらの組み合わせで作成されることができ、前記プログラミング言語は、Java(登録商標)、Smalltalk、C++などのオブジェクト指向プログラミング言語と、「C」言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語とを含む。プログラムコードは、完全にユーザのコンピュータで実行されることも、部分的にユーザのコンピュータで実行されることも、単独のソフトウェアパッケージとして実行されることも、部分的にユーザのコンピュータで実行されながら部分的にリモートコンピュータで実行されることも、又は完全にリモートコンピュータもしくはサーバで実行されることも可能である。リモートコンピュータの場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続することができ、又は(例えば、インターネットサービスプロバイダによるインターネットサービスを介して)外部のコンピュータに接続することができる。
図面のうちのフローチャート及びブロック図は、本発明の様々な実施例に係るシステム、方法及びコンピュータプログラム製品によって実現できるアーキテクチャ、機能及び動作の表示例である。これについては、フローチャート又はブロック図における各ブロックは、モジュール、プログラムセグメント、又はコードの一部を表すことができる。当該モジュール、プログラムセグメント、又はコードの一部には、所定のロジック機能を実現するための1つ又は複数の実行可能命令が含まれている。更に注意すべきなのは、一部の代替となる実施態様においては、ブロックに示されている機能は図面に示されているものとは異なる順序で実行することも可能である。例えば、連続して示された2つのブロックは、実際には係る機能に応じて、ほぼ並行して実行されてもよく、時には逆の順序で実行されてもよい。更に注意すべきなのは、ブロック図及び/又はフローチャートにおけるすべてのブロック、ならびにブロック図及び/又はフローチャートにおけるブロックの組み合わせは、所定の機能又は操作を実行する専用のハードウェアベースのシステムで実現することもできれば、専用のハードウェアとコンピュータ命令との組み合わせで実現することもできる。
本発明の実施例に記載された手段は、ソフトウェアで実現されてもよく、ハードウェアで実現されてもよい。記載された手段は、プロセッサに設置されてもよく、例えば、「第1取得手段と、第2取得手段と、記憶手段とを備えるプロセッサ」と記載されてもよい。ここで、これらの手段の名称は、ある場合において当該手段その自体を限定するものではなく、例えば、第1取得手段は更に、「プロダクションカーネルクラッシュの判定に応答してターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得する手段」と記載されてもよい。
一方、本発明は、コンピュータ可読媒体を更に提供し、当該コンピュータ可読媒体は、前記実施例に記載されたデバイスに含まれるものであってもよく、該デバイスに実装されずに別体として存在するものであってもよい。前記コンピュータ可読媒体には、1つ又は複数のプログラムが格納され、前記1つ又は複数のプログラムが当該デバイスによって実行されると、当該デバイスに次の動作を実行させ、前記動作は、プロダクションカーネルクラッシュの判定に応答してターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するステップであって、前記ターゲットメモリは、前記プロダクションカーネルによって、実行される仮想マシンに対して予め割り当てられたメモリであり、前記仮想マシンの仮想マシン・デバイスステータス情報と仮想マシンメモリの仮想アドレスに対応する物理アドレス情報とが前記プロダクションカーネルによって前記ターゲットメモリに格納されるステップと、前記物理アドレス情報に基づいてデータをターゲットデータとして取得するステップと、前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいて、ファイルを共有記憶領域に格納するステップとを含む。
以上の記載は、本発明の好ましい実施例、及び使用された技術的原理に関する説明に過ぎない。当業者であれば、本発明に係る発明の範囲が、上記の技術的特徴の特定の組み合わせからなる解決策に限定されるものではなく、上記の本発明の趣旨を逸脱しない範囲で、上記の技術的特徴又はそれらの同等の特徴の任意の組み合わせからなる他の解決策も含むべきであることを理解すべきである。例えば、上記の特徴と本発明に開示された類似の機能を有する技術的特徴(それらに限られない)とを相互に置き換えてなる解決策が該当する。

Claims (12)

  1. 情報を処理するための方法であって、
    プロダクションカーネルクラッシュの判定に応答して、ターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するステップであって、前記ターゲットメモリは、前記プロダクションカーネルによって、実行される仮想マシンに対して予め割り当てられたメモリであり、前記仮想マシンの仮想マシン・デバイスステータス情報と仮想マシンメモリの仮想アドレスに対応する物理アドレス情報とが前記プロダクションカーネルによって前記ターゲットメモリに格納されるステップと、
    前記物理アドレス情報に基づいて、データをターゲットデータとして取得するステップと、
    前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいてファイルを共有記憶領域に格納するステップとを含む方法。
  2. 前記方法は、バックアップ電子機器に仮想マシン復元要求を送信するステップを更に含み、
    前記仮想マシン復元要求は前記ファイルのファイル識別子を含み、前記バックアップ電子機器は前記ファイル識別子に従って前記共有記憶領域から前記ファイルを取得し、前記ファイルに基づいて前記仮想マシンを復元する請求項1に記載の方法。
  3. 前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいてファイルを共有記憶領域に格納するステップは、
    前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいてスナップショットファイルを生成することと、
    前記スナップショットファイルを共有記憶領域に格納することとを含む請求項1に記載の方法。
  4. 前記物理アドレス情報は、
    前記仮想マシンの動作を停止するように制御するための動作停止命令を前記仮想マシンに送信するステップと、
    予め格納されているページテーブルと、前記仮想マシンメモリの仮想アドレスとに基づいて、物理アドレス情報を生成するステップであって、前記ページテーブルは仮想アドレスと物理アドレスとの対応関係を記述するためのものであるステップと、
    によって前記プロダクションカーネルにより生成される請求項1に記載の方法。
  5. 前記ターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するステップは、
    仮想ファイルシステムによって前記ターゲットメモリから前記仮想マシン・デバイスステータス情報及び前記物理アドレス情報を取得することを含む請求項1に記載の方法。
  6. 情報を処理するための装置であって、
    プロダクションカーネルクラッシュの判定に応答してターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するように構成される第1取得手段であって、前記ターゲットメモリは、前記プロダクションカーネルによって、実行される仮想マシンに対して予め割り当てられたメモリであり、前記仮想マシンの仮想マシン・デバイスステータス情報と仮想マシンメモリの仮想アドレスに対応する物理アドレス情報とが前記プロダクションカーネルによって前記ターゲットメモリに格納される第1取得手段と、
    前記物理アドレス情報に基づいて、データをターゲットデータとして取得するように構成される第2取得手段と、
    前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいて、ファイルを共有記憶領域に格納するように構成される記憶手段とを備える装置。
  7. 前記装置は、バックアップ電子機器に仮想マシン復元要求を送信するように構成される送信手段を更に備え、
    前記仮想マシン復元要求は前記ファイルのファイル識別子を含み、前記バックアップ電子機器は前記ファイル識別子に従って前記共有記憶領域から前記ファイルを取得し、前記ファイルに基づいて前記仮想マシンを復元する請求項6に記載の装置。
  8. 前記記憶手段は、更に、
    前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいてスナップショットファイルを生成し、
    前記スナップショットファイルを共有記憶領域に格納するように構成される請求項6に記載の装置。
  9. 前記物理アドレス情報は、
    前記仮想マシンの動作を停止するように制御するための動作停止命令を前記仮想マシンに送信するステップと、
    予め格納されているページテーブルと、前記仮想マシンメモリの仮想アドレスとに基づいて、物理アドレス情報を生成するステップであって、前記ページテーブルは仮想アドレスと物理アドレスとの対応関係を記述するためのものであるステップと、
    によって前記プロダクションカーネルにより生成される請求項6に記載の装置。
  10. 前記第1取得手段は、更に、
    仮想ファイルシステムによって前記ターゲットメモリから前記仮想マシン・デバイスステータス情報及び前記物理アドレス情報を取得するように構成される請求項6に記載の装置。
  11. 1つ又は複数のプロセッサと、1つ又は複数のプログラムが格納されている記憶装置と、を備えるサーバであって、
    前記1つ又は複数のプログラムが前記1つ又は複数のプロセッサにより実行されると、前記1つ又は複数のプロセッサに請求項1〜5のいずれか一項に記載の方法を実現する、サーバ。
  12. コンピュータプログラムが格納されているコンピュータ可読媒体であって、
    前記コンピュータプログラムがプロセッサにより実行されると、請求項1〜5のいずれか1項に記載の方法を実現する、コンピュータ可読媒体。
JP2019163707A 2018-12-07 2019-09-09 情報を処理するための方法及び装置 Active JP6799652B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811497981.XA CN109597677B (zh) 2018-12-07 2018-12-07 用于处理信息的方法和装置
CN201811497981.X 2018-12-07

Publications (2)

Publication Number Publication Date
JP2020091835A true JP2020091835A (ja) 2020-06-11
JP6799652B2 JP6799652B2 (ja) 2020-12-16

Family

ID=65961455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019163707A Active JP6799652B2 (ja) 2018-12-07 2019-09-09 情報を処理するための方法及び装置

Country Status (4)

Country Link
US (1) US11392461B2 (ja)
JP (1) JP6799652B2 (ja)
KR (1) KR102236522B1 (ja)
CN (1) CN109597677B (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11379295B1 (en) * 2019-05-15 2022-07-05 Amazon Technologies, Inc. Recovery protocols for system malfunctions in virtual computing environments
CN111190837B (zh) * 2019-08-13 2024-08-20 腾讯科技(深圳)有限公司 一种信息通信方法、装置及计算机可读存储介质
CN110990122B (zh) * 2019-11-28 2023-09-08 海光信息技术股份有限公司 一种虚拟机迁移方法和装置
CN112860506B (zh) * 2019-11-28 2024-05-17 阿里巴巴集团控股有限公司 监控数据的处理方法、装置、系统和存储介质
CN111026504B (zh) * 2019-12-06 2023-04-07 海光信息技术股份有限公司 配置虚拟机中获取处理器信息的指令的处理方法、装置、cpu芯片、片上系统和计算机
CN113127263B (zh) * 2020-01-15 2023-04-07 中移(苏州)软件技术有限公司 一种内核崩溃恢复方法、装置、设备及存储介质
CN111367472A (zh) * 2020-02-28 2020-07-03 北京百度网讯科技有限公司 虚拟化方法和装置
CN111506508A (zh) * 2020-04-17 2020-08-07 北京百度网讯科技有限公司 边缘计算测试方法、装置、设备和可读存储介质
CN111611145B (zh) * 2020-05-29 2023-03-31 北京字节跳动网络技术有限公司 崩溃信息收集方法、装置、存储介质及电子设备
CN111745650B (zh) * 2020-06-15 2021-10-15 哈工大机器人(合肥)国际创新研究院 一种机器人操作系统的运行方法和机器人的控制方法
CN112685133A (zh) * 2020-12-29 2021-04-20 联想(北京)有限公司 一种数据处理方法及电子装置
CN115543364A (zh) * 2021-06-30 2022-12-30 华为云计算技术有限公司 内核升级方法及装置
CN113886019B (zh) * 2021-10-20 2024-04-30 北京字节跳动网络技术有限公司 虚拟机创建方法、装置、系统、介质和设备
CN118567779A (zh) * 2023-02-23 2024-08-30 中兴通讯股份有限公司 虚拟机故障信息保存的方法、装置、存储介质及电子设备
CN118550762A (zh) * 2023-02-24 2024-08-27 中兴通讯股份有限公司 操作系统故障的处理方法及加速卡

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7529897B1 (en) * 2003-12-31 2009-05-05 Vmware, Inc. Generating and using checkpoints in a virtual computer system
US8375386B2 (en) * 2005-06-29 2013-02-12 Microsoft Corporation Failure management for a virtualized computing environment
US7505960B2 (en) * 2005-11-15 2009-03-17 Microsoft Corporation Scalable retrieval of data entries using an array index or a secondary key
KR101496325B1 (ko) * 2008-01-16 2015-03-04 삼성전자주식회사 가상 머신의 상태를 저장, 복원하는 방법 및 장치
US8671405B2 (en) 2010-03-31 2014-03-11 Microsoft Corporation Virtual machine crash file generation techniques
US9317314B2 (en) * 2010-06-29 2016-04-19 Microsoft Techology Licensing, Llc Techniques for migrating a virtual machine using shared storage
CN103597451B (zh) * 2011-03-31 2017-06-13 英特尔公司 用于高可用性的存储器镜像和冗余生成
CN102306126B (zh) * 2011-08-24 2014-06-04 华为技术有限公司 内存管理方法、装置和系统
CN102929747B (zh) * 2012-11-05 2015-07-01 中标软件有限公司 基于龙芯服务器的Linux操作系统崩溃转储的处理方法
US9110762B2 (en) * 2012-12-04 2015-08-18 Microsoft Technology Licensing, Llc Virtual machine-preserving host updates
CN104111878A (zh) * 2014-02-20 2014-10-22 西安未来国际信息股份有限公司 基于虚拟机快照的hadoop集群自动化恢复技术
US9842065B2 (en) * 2015-06-15 2017-12-12 Intel Corporation Virtualization-based platform protection technology
CN105446834B (zh) * 2015-11-30 2018-10-19 华为技术有限公司 虚拟机快照的生成方法和装置
US10846117B1 (en) * 2015-12-10 2020-11-24 Fireeye, Inc. Technique for establishing secure communication between host and guest processes of a virtualization architecture
CN107025146B (zh) * 2016-01-30 2019-10-18 华为技术有限公司 一种文件生成方法、装置和系统
US10255147B2 (en) * 2016-04-14 2019-04-09 Vmware, Inc. Fault tolerance for containers in a virtualized computing environment
CN106201652B (zh) * 2016-06-29 2020-05-26 联想(北京)有限公司 一种数据处理方法及虚拟机
CN107807839B (zh) 2016-09-09 2022-01-28 阿里巴巴集团控股有限公司 一种修改虚拟机内存数据的方法、装置及电子设备
CN107247619B (zh) * 2017-06-12 2019-07-23 优刻得科技股份有限公司 虚拟机热迁移方法、装置、系统、存储介质及设备
US10430261B2 (en) * 2017-08-15 2019-10-01 Vmware, Inc. Detecting a guest operating system crash on a virtual computing instance
CN107704314B (zh) * 2017-11-09 2023-09-12 北京百度网讯科技有限公司 用于迁移虚拟机的方法和装置
CN108932170A (zh) * 2018-06-06 2018-12-04 华东师范大学 一种同驻虚拟机间高效共享内存文件系统的机制

Also Published As

Publication number Publication date
US11392461B2 (en) 2022-07-19
KR20200070085A (ko) 2020-06-17
CN109597677B (zh) 2020-05-22
JP6799652B2 (ja) 2020-12-16
CN109597677A (zh) 2019-04-09
US20200183795A1 (en) 2020-06-11
KR102236522B1 (ko) 2021-04-07

Similar Documents

Publication Publication Date Title
JP6799652B2 (ja) 情報を処理するための方法及び装置
CN108874506B (zh) 虚拟机直通设备的热迁移方法和装置
US9639432B2 (en) Live rollback for a computing environment
US10255086B2 (en) Determining optimal methods for creating virtual machines
US9652220B2 (en) Zero down-time deployment of new application versions
US20170102888A1 (en) Backup storage of vital debug information
US8086900B2 (en) System, method and computer program product for testing a boot image
US10261844B2 (en) Generic language application programming interface interpreter
CN107918555B (zh) 基于物理主机的用于处理数据的方法和装置
US20160378521A1 (en) Automated test optimization
GB2504772A (en) Coprocessor providing service address space for diagnostics collection
CN111818145B (zh) 一种文件传输方法、装置、系统、设备及存储介质
US9218139B2 (en) Minimally disruptive virtual machine snapshots
US9122791B2 (en) Identifying a storage location for a storage address requested during debugging
US11151020B1 (en) Method and system for managing deployment of software application components in a continuous development pipeline
US20140331205A1 (en) Program Testing Service
US8738873B2 (en) Interfacing with a point-in-time copy service architecture
US20160259707A1 (en) Targeted multi-tiered software stack serviceability
US11656888B2 (en) Performing an application snapshot using process virtual machine resources
EP3591531B1 (en) Instant restore and instant access of hyper-v vms and applications running inside vms using data domain boostfs
JP2016076152A (ja) エラー検出システム、エラー検出方法およびエラー検出プログラム
US20130212210A1 (en) Rule engine manager in memory data transfers
US20200110669A1 (en) Disaster recovery data fetching control
CN116560821A (zh) 一种运维系统、方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200916

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201120

R150 Certificate of patent or registration of utility model

Ref document number: 6799652

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250