JP4872049B2 - フェイルセーフ式コンピュータ支援アシスタント - Google Patents

フェイルセーフ式コンピュータ支援アシスタント Download PDF

Info

Publication number
JP4872049B2
JP4872049B2 JP2008059671A JP2008059671A JP4872049B2 JP 4872049 B2 JP4872049 B2 JP 4872049B2 JP 2008059671 A JP2008059671 A JP 2008059671A JP 2008059671 A JP2008059671 A JP 2008059671A JP 4872049 B2 JP4872049 B2 JP 4872049B2
Authority
JP
Japan
Prior art keywords
host
operating system
support
virtual machine
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008059671A
Other languages
English (en)
Other versions
JP2008251000A (ja
Inventor
ヴィルジョン ピーター
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NortonLifeLock Inc
Original Assignee
Symantec 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 Symantec Corp filed Critical Symantec Corp
Publication of JP2008251000A publication Critical patent/JP2008251000A/ja
Application granted granted Critical
Publication of JP4872049B2 publication Critical patent/JP4872049B2/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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は一般に、コンピュータユーザへの支援提供に関する。
支援アシスタントは、コンピュータユーザに対して統合的かつ包括的な補助を提供することができるので、ユーザはそれを頼りに、ソフトウエアを含むコンピュータの使用法を学習でき、または何か問題が発生してもソフトウエアを含むコンピュータを復旧させることができる。支援アシスタントは一般に、コンピュータ上で実行される支援ソフトウエア、および場合によっては、支援ソフトウエアを介してインターネット上でユーザと通信する支援技術者を配したライブのヘルプセンタのような外部要素を含む。
コンピュータ支援ソフトウエアは多様で有用なタスクを実行する。そのソフトウエアは、コンピュータのハードウエアおよびソフトウエアが正しく機能しているかどうかを判定する診断テストを実行できる。支援ソフトウエアは損傷したソフトウエアを修復できる。支援ソフトウエアは、ヘルプ画面を提供したり、またはその他の方法でユーザが各種タスクを実行するのを補佐することができる。このような補佐は、例えば、インターネットを通じて提供できる。支援ソフトウエアはまた、ファイルバックアップソフトウエアまたはシステム構成ソフトウエアのようなユーティリティを含むこともできる。
支援ソフトウエアは、ユーザのコンピュータ上でユーザが使用するのと同じオペレーティングシステムの下で実行するのが典型的である。その結果、オペレーティングシステムまたはオペレーティングシステム上の何らかのアプリケーションに問題がおきた場合、支援ソフトウエアを適切に実行できないことがある。
従って、オペレーティングシステムまたはアプリケーションが誤動作している場合でも、実行できる支援ソフトウエアを有する支援アシスタントの必要性が、当該技術分野に存在する。
上記必要性は、ホストオペレーティングシステムと関係付けられる障害を識別し、かつ修復する、支援オペレーティングシステム内で実行される支援モジュールにより満たされる。
多数の仮想マシンを実行することができるプロセッサを有し、ホスト仮想マシン内でホストオペレーティングシステムを実行するコンピュータは、ホスト仮想マシンとは別の支援仮想マシン内で実行される支援オペレーティングシステムを含む。支援オペレーティングシステム内で実行される支援モジュールは、ホストオペレーティングシステムと関係付けられる障害を識別し、かつ修復する。支援オペレーティングシステム内で実行される監視モジュールが、ホストオペレーティングシステムと関係付けられる障害を識別し、その障害の識別に応答して支援モジュールに通知する。
ユーザーインターフェースが支援モジュールに提供される。ユーザーインターフェースは、支援オペレーティングシステム内で実行されるウェブサーバーモジュール経由、またはコンピュータ入力装置と関係付けられる支援ボタン経由とすることができる。ユーザーインターフェースは、コンピュータの入力/出力仮想化ハードウエアを通じてサポートできる。
ホストオペレーティングシステム内で実行されるホストエージェントモジュールが、支援モジュールと相互作用してホストオペレーティングシステムと関係付けられる障害を修復することができる。
以下、添付図面を参照して本発明の実施例を詳細に説明する。図は、説明だけを目的として実施の形態を示すものである。当該分野の技術者には言うまでもなく、以下の説明から、本明細書内で説明する構造および方法の代替の実施の形態を、本明細書で説明する原理から逸脱することなく利用することができる。
図1は、一実施の形態による、フェイルセーフ式コンピュータ支援アシスタントを実行するコンピュータ100を示す高レベルブロック図である。バス104に接続される少なくとも一つのプロセッサ102が図示されている。プロセッサ102は、一つ以上の仮想マシンをサポートできるようにする仮想化技術を含む。プロセッサの仮想化技術の例には、x86プロセッサ−アーキテクチャのためのIntel(登録商標)仮想化技術(IVT)およびAMD(商標)仮想化(AMD−V(商標))がある。
同様にバス104に接続されているのは、メモリ106、格納装置108、キーボード110、グラフィックアダプタ112、ポインティング装置114、およびネットワークアダプタ116である。ディスプレイ118はグラフィックアダプタ112へ接続される。キーボード110には、ユーザがコンピュータ支援ソフトウエアを起動させるときに押下する特別に提供される支援ボタン128を含めることができる。スイッチを用いてもよく、このボタンまたはスイッチはコンピュータ100上の別の場所に配置することもできる。格納装置108は、ハードディスクドライブ、CDもしくはDVDドライブ、またはフラッシュメモリ装置等の装置であり、コンピュータ100の動作中に利用される実行可能コードおよび/またはデータを含むファイルを保持する。ホストオペレーティングシステム格納イメージ120、ホストエージェントインストールイメージ122、および支援オペレーティングシステム格納イメージ124は、そのような3つのファイルであり、後述する。メモリ106は、一実施の形態では、ランダムアクセスメモリ(RAM)であり、格納装置108からロードされ、処理中に生成され、および/または他のソースからの命令およびデータを保持する。
一実施の形態では、入力/出力(I/O)仮想化ハードウエア126もバス104へ接続される。本ハードウエアにより、グラフィックアダプタ112、キーボード110、およびポインティング装置114等の入力および出力装置の仮想化が可能となる。I/O仮想化により、後述するように、これらの装置へのアクセスを、プロセッサ102上で実行される多数の仮想マシンおよびオペレーティングシステム間で調整することができる。
多様な役割で動作するコンピュータが、図1に示すものとは異なるおよび/または追加の要素を有していてもよい。例えば、サーバとして動作するコンピュータ100が、クライアントとして動作するコンピュータよりも強力な処理パワーおよび大規模な格納装置を有していてもよい。同様に、サーバとして動作するコンピュータ100が、その動作に必ずしも必要ではないディスプレイ118および/またはキーボード110等の装置を有していなくてもよい。
コンピュータ100は、ある種のマイクロソフトウィンドウズ(登録商標)またはリナックス等の、一つ以上のオペレーティングシステムを実行する。一般に、オペレーティングシステムは、一つ以上のアプリケーションプログラムを実行する。本コンピュータが実行するオペレーティングシステムおよびアプリケーションプログラムは、一つ以上の処理により形成される。本説明では、特定機能を提供するコンピュータプログラムロジックを指すために用語「モジュール」を用いる。モジュールは、ハードウエア、ファームウエア、および/またはソフトウエアで実装できる。モジュールは、格納装置108上に格納し、メモリ106内にロードし、そしてプロセッサ102で実行するのが典型的である。モジュールは、一つ以上の処理を含み、および/または処理の一部のみにより提供されることができる。
ホストオペレーティングシステム(ホストOS)格納イメージ120、ホストエージェントインストールイメージ122、および支援オペレーティングシステム(支援OS)格納イメージ124は、プロセッサ102がロードし、実行する格納装置108上に格納される3つのモジュールである。ホストOS内で作業するユーザを支援するソフトウエアは、支援OSとホストエージェント(ホストOS内で実行される)との間で配布される。支援OS内に何らかの支援ソフトウエアを配置することにより、ホストOSに深刻な欠陥または不安定状態が発生した場合でも、支援アシスタントは機能を継続することができる。
図2は、一実施の形態によるプロセッサ102およびソフトウエアにより提供される計算環境200の論理図を示す。環境200には、ホスト仮想マシン210Aおよび支援仮想マシン210Bの動作を統括するハイパーバイザ202が含まれる。他の実施の形態では、異なるおよび/または追加のエンティティを有してもよい。更に、上記説明と異なる方法で機能性がエンティティ間に分配されていてもよい。
ハイパーバイザ202は、ハードウエア補助型の仮想マシンエミュレータである。ハイパーバイザ202は、仮想マシン210A,210Bより高い特権レベルで実行され、一般に、仮想マシンを創成し、それらの実行をスケジュール化し、そして一方の仮想マシンから、別の仮想マシンまたはハイパーバイザ自体へ実行を切換える能力がある。ハイパーバイザ202は、上記説明のプロセッサ102内の仮想化技術による支援を受ける。ハイパーバイザは、I/O仮想化ハードウエア126を構成して、I/O装置の制御を両仮想マシン210A,210B間で所望するように切換えることもできる。一実施の形態では、ハイパーバイザ202は、仮想マシン210A,210Bの動作を開始する設定モジュール204を実行し、この場合は、フェイルセーフ式支援アシスタントを提供することができる。
一実施の形態では、設定モジュール204は、仮想マシン210Aおよび210B、ホストOS214、ならびに支援OS216を起動する。設定モジュール204は、オペレーティングシステム214および216を起動する前にコンピュータ100の初期チェックを実行し、コンピュータが正常状態にあることを確認する。ホストOS格納イメージ120および支援OS格納イメージ124は、格納装置108上の様々な場所に格納することができ、設定モジュール204は、コンピュータの基本入力/出力システム(BIOS)と協働してこれらのオペレーティングシステムを別々にロードすることができる。別の実施の形態では、コンピュータ100は、格納装置仮想化をサポートすることにより、ホストOSおよび支援OSをロードすることができる。設定モジュール204は、ホストOSおよび支援OSの実行スケジュールを設定することもできる。
仮想マシン210は、ハイパーバイザ210の下でソフトウエアを実行するための自己完結型環境である。ハードウエア補助型のエミュレーション環境として、仮想マシン210は、完全なアドレス空間および完全なプロセッサーレジスターセットを有する仮想マシン上で実行されるソフトウエアを提供する。本ソフトウエアはプロセッサ102が実行するマシン命令を含む。ハイパーバイザ202が仮想マシン210内の実行を中断すると、ハイパーバイザは、仮想マシンのメモリおよびレジスタを含め、仮想マシンの状態を保存する。
ホストOS214は、ホスト仮想マシン210A上で実行できる。ホストOS214は、ウィンドウズビスタ(登録商標)等のオペレーティングシステムとすることができる。ホストOS214は、コンピュータ100上の一次オペレーティングシステムであり、多くの場合、実行処理230を通じて有用なタスクを実行する。ホストOS214は、ディスプレイ118、キーボード110、およびポインティング装置114を介してユーザと相互作用することができる。
ホストOS214は、所与の時間におけるホストOSの実行状態を記述する状態情報220を含む。状態情報220は、オペレーティングシステムのカーネル、他のオペレーティングシステムのコードおよびデータ(デバイスドライバおよびネットワークプロトコルスタック等の)、およびプロセッサーレジスタを含む。状態情報220の一部は、メモリ106および/または格納装置108内に配置する。ハイパーバイザ202は、オペレーティングシステムの状態情報220を読み出し、修正することができる。更に、他の仮想マシン210が、ハイパーバイザ202と通信することによりこの情報を読み出し、修正できる。例えば、他の仮想マシン210B内のソフトウエアは、ホストOS214から何らかのデータを読み出すようハイパーバイザ202へ命令を送り、ハイパーバイザは、そのデータを読み出し、他の仮想マシン内のリクエストしているソフトウエアへそのデータを送ることができる。ホストOS状態情報220を読み出し、修正することにより、ハイパーバイザ202または他方の仮想マシン210Bは、ホストOS214への支援機能を監視し、提供することができる。
ホストOS214は、上記のOS状態情報220と同様に、支援目的のために読み出し、修正できる状態情報を有する実行処理230を含む。ホストOS214は、一つ以上の実行処理からなるアプリケーションである、ホストエージェント222およびウェブブラウザ234をも含む。ホストエージェント222については詳細に後述する。
支援OSは、支援仮想マシン210B上で実行することもできる。支援OS216は、ウィンドウズCEまたはリナックス等のオペレーティングシステムとすることもできる。支援OS216は、ホストOS214および実行処理230を最適動作させるための支援機能を提供するよう設計される。支援OS216は、ウェブサーバ224、監視モジュール226、および支援モジュール228等のモジュールを通じて支援関連機能を実行する。これらのモジュールは、支援OS216内部で、またはそのサービスを用いて実行される処理、アプリケーションまたはその他のコードとすることができる。支援OS216は、ホストOS214とは別の仮想マシン210B内で動作するので、ホストOSに深刻な欠陥または不安定状態が発生した場合でも、ホストOSへ支援を提供することができる。
一実施の形態では、監視モジュール226は、ホストOS214の状態を監視する。監視モジュールは、OS状態情報220または実行処理230の状態情報を周期的に審査することにより監視を行うことができる。監視モジュール226は、ホストOS214に各種の診断テストを実行できる。監視モジュール226が、システムの不安定状態またはホストOS214内の他の障害等の支援の必要性を検出した場合、監視モジュールは支援モジュール228を呼び出すことができる。監視モジュール226とホストOS214との間の通信は、上記したようにハイパーバイザ202により行うことができる。
支援モジュール228は、ホストOS214内の障害を修復することにより、支援を提供することができる。例えば、OS状態情報220または実行処理230の状態を解析し、修正することにより支援を行う。一実施の形態では、ホスト仮想マシン210AおよびホストOS214は、支援モジュール228が状態情報220または実行処理230の状態を修正している間、中断される。別の実施の形態では、ホスト仮想マシン210AおよびホストOS214は、支援モジュールが修正を行っている間も実行を継続する。この場合は、支援モジュール228が、ホストOS内に観察された結果に基づいて、時間をかけてホストOS214への変更を行うことができる。別の実施の形態では、支援モジュール228は、格納装置108上のホストOS格納イメージ120を修正する。その後、ホストOS214は、所望する変更が行われたイメージから再ロードすることができる。
支援モジュール228は、機能していないアプリケーションまたはホストOS214自体ですら再インストールできる。例えば、ホストエージェント222を再インストールする必要がある場合、支援モジュールは、ホストOS214をトリガーして、ホストエージェントインストールイメージ122を含むインストール媒体(CD−ROMドライブ等)を仮想的にマウントできる。ホストOS214は次いで、その仮想媒体からホストエージェント222を再インストールすることができる。場合によっては、支援モジュール228が、ホストOS214自体を再インストールする必要がある。これは例えば、現在のホストOS格納イメージ120上に標準ホストOSイメージをコピーすることにより、行うことができる。標準ホストOSイメージは、格納装置108上に格納するか、またはネットワークアダプタ116を通じてリモート場所から取得することができる。
監視モジュール226および支援モジュール228は、ネットワークアダプタ116を通じてインターネット等の外部ネットワークにアクセスできる。これらのモジュールは、ネットワークを通じてデータを送信し、ネットワークからコマンドを受信できる。例えば、リモートのヘルプデスクが、インターネットを通じて監視モジュール226および支援モジュール228で通信することにより、コンピュータ100に支援を提供することができる。一実施の形態では、ハードウエアまたはソフトウエアをコンピュータ100内に設けて、ネットワークアダプタ116を仮想化し、ホストOS214および支援OS216がともにインターネットにアクセスできるようにしてもよい。
一実施の形態では、支援OS216は、ユーザーインターフェースモジュール232を通じてユーザと相互作用する。このモジュールは、グラフィックアダプタ112、ディスプレイ118、キーボード110、およびポインティング装置114を介してユーザにテキストまたはグラフィックのインターフェースを提示する。上記のように、I/O仮想化ハードウエア126は、これらのI/O装置へのアクセス権をホストOS214と支援OS216との間で調整することができる。一実施の形態では、支援OS216がI/O装置の一次制御権を有し、ユーザーインターフェースモジュール232が、必要な場合にI/O装置へのアクセス権をホストOS214に与える。例えば、ユーザーインターフェースモジュール232は、通常は、I/Oアクセス権をホストOS214に与えることができるが、ホストエージェント222が故障し、ホストOS内部からユーザーインターフェースを提供することができない場合は、アクセス権を支援OS216に切換えることができる。ユーザーインターフェースモジュール232は、ユーザからのコマンドを監視モジュール226および支援モジュール228へ送ることができる。ユーザーインターフェースモジュール232は、監視モジュール226および支援モジュール228からデータを受けてユーザへ提示することもできる。
代替のユーザーインターフェースを、ウェブサーバ224により提供することができる。本実施の形態では、ユーザは、ホストOS214内で実行されるウェブブラウザ234を開き、特定のユニフォームリソースロケータ(URL)を用いてウェブサーバ224へ接続する。ウェブブラウザ234およびウェブサーバ224は、上記のようにハイパーバイザ202を通じて通信できる。ユーザーインターフェースモジュール232と同様に、ウェブサーバ224は、ユーザからのコマンドを支援モジュール228へ提供でき、支援モジュール228からのデータをユーザへ提示できる。
支援モジュール228は、幾つかの可能性のあるトリガーに基づいて起動することができる。監視モジュール226は、上記のように支援の必要性を検出した場合、支援モジュール228を起動させることができる。支援モジュール228は、ユーザーインターフェースモジュール232またはウェブサーバ224を通じて、ユーザーコマンドに基づいて起動することもできる。一実施の形態では、ユーザは、特定のキーの組み合わせを押下するか、またはキーボード110上に特別に提供される支援ボタンを押下して、支援モジュール228を実行させることができる。上記説明のように、支援OS216がキーボード入力を受けることができるように、I/O仮想化ハードウエア126を設けることができる。一実施の形態では、支援モジュール228は、ネットワークアダプタ116を通じてリモートでコマンドを受け取ると、実行される。
ホストエージェント222は、ホストOS214内部から、監視モジュール226、支援モジュール228、およびユーザーインターフェースモジュール232の支援関連機能の幾つかを実行できる、ホストOS214内で実行されるアプリケーションである。ホストエージェント222は、支援OS内のこれらのモジュールと通信することにより、幾つかの機能がホストエージェント222内で実行され、その他の機能が支援OS216内で実行されるようにすることもできる。例えば、ホストエージェント222は、監視、ユーザーインターフェース、および幾つかの支援機能を実行し、それ以外の支援機能を実行する支援OS216と通信することができる。ホストエージェント222は、ホストOS214内で実行されるので、ホストOSに関する動的情報を集め、新規処理の開始やシステム設定の変更等、ホストOS内の変更を行うことができるという点で都合がよい。これらの変更は、支援OS216により直接実行する場合、ずっと複雑になることがある。
図3は、一実施の形態による設定モジュール204、監視モジュール226、および支援モジュール228の動作を示すフロー図である。設定モジュール204は、両仮想マシン210内のホストOS214および支援OS216を実行する302。オペレーティングシステムが実行状態になると、キー押下等のユーザ入力または監視モジュール226が、支援の必要性をトリガーする304。この必要性に応答して、支援モジュール228は、OS状態情報220を含むホストOS214を解析し、場合によっては修正する306。
上記説明は、好適な実施の形態の動作を示すよう組み込まれたものであり、本発明の範囲を制限する意味合いはない。本発明の範囲は、以下のクレームによってのみ制限されるべきである。上記説明から、本発明の精神および範囲に含まれるであろう多くの改変が、関連技術分野の技術者には明らかとなろう。
本発明の一実施形態による、フェイルセーフ式コンピュータ支援アシスタントを実行するコンピュータを示す高レベルブロック図である。 本発明の一実施形態によるプロセッサおよびソフトウエアにより提供される計算環境の論理図を示す。 本発明の一実施形態による設定モジュール、監視モジュール、および支援モジュールの動作を示すフロー図である。
符号の説明
100 コンピュータ
102 プロセッサ
104 バス
106 メモリ
108 格納装置
110 キーボード
112 グラフィックアダプタ
114 ポインティング装置
116 ネットワークアダプタ116
118 ディスプレイ
210A ホスト仮想マシン
210B 支援仮想マシン
214 ホストOS
216 支援OS

Claims (16)

  1. 多数の仮想マシンを実行する能力があるプロセッサを有するコンピュータであって、このコンピュータは、ホスト仮想マシン内でホストオペレーティングシステムを実行するようになっており、
    前記ホスト仮想マシンとは異なる支援仮想マシン内で実行するための支援オペレーティングシステムモジュールと
    前記ホスト仮想マシン内の前記ホストオペレーティングシステムと関係付けられる障害を識別し、かつ修復するための、前記支援オペレーティングシステムモジュールの制御の下で前記支援仮想マシン内で実行するための支援モジュールと、
    前記支援オペレーティングシステムモジュールの制御の下で前記支援仮想マシン内で実行され、前記ホストオペレーティングシステムの制御の下で前記ホスト仮想マシン内で実行されるウェブブラウザを介して前記支援モジュールへのユーザインターフェースを提供するウェブサーバーモジュールと、
    を備えるコンピュータ。
  2. 前記ホストオペレーティングシステムを監視して、前記ホストオペレーティングシステムと関係付けられる障害を識別するとともに、前記障害の識別に応答して前記支援モジュールに通知するための、前記支援オペレーティングシステムモジュールの制御の下で前記支援仮想マシン内で実行するための監視モジュール、
    を更に備える請求項1のコンピュータ。
  3. 入力および/または出力データへのアクセスを、前記ホストおよび支援の仮想マシン間で調整するために、前記コンピュータの入力および/または出力装置を仮想化するようになっている入力/出力仮想化ハードウエア、
    を更に備える請求項1のコンピュータ。
  4. 前記コンピュータの入力装置と関係付けられる支援ボタン、を更に備え、前記支援ボタンを動作させると前記支援モジュールが作動する、請求項1のコンピュータ。
  5. 前記ホストオペレーティングシステムの制御の下で前記ホスト仮想マシン内で実行するための、前記支援モジュールと相互作用して前記ホストオペレーティングシステムと関係付けられる障害を修復するようになっている、ホストエージェントモジュール、
    を更に備える請求項1のコンピュータ。
  6. 前記障害を修復することは、前記ホストエージェントモジュールの故障に応答して、前記ホストオペレーティングシステム内の前記ホストエージェントモジュールを再インストールすること、を更に含む、請求項のコンピュータ。
  7. 前記支援オペレーティングシステムモジュールは、前記ホストオペレーティングシステムによる前記コンピュータの前記入力および/または出力装置へのアクセスを制御するようになっている、請求項1のコンピュータ。
  8. 前記障害を修復することは、前記ホスト仮想マシン上で実行される前記ホストオペレーティングシステムの状態情報を修正すること、を更に含む、請求項1のコンピュータ。
  9. 多数の仮想マシンを実行する能力があるプロセッサを有するコンピュータ上のホスト仮想マシン内のホストオペレーティングシステムを支援するためにコンピュータにより実行される方法であって、
    前記ホスト仮想マシンとは異なる支援仮想マシン内で支援オペレーティングシステムを実行するステップと、
    前記ホスト仮想マシン内の前記ホストオペレーティングシステムと関係付けられる障害を識別し修復するステップであって、この識別し修復するステップは少なくとも一部、前記支援仮想マシン内の前記支援オペレーティングシステムから実行される前記ステップと、
    前記ホストオペレーティングシステムの制御の下で前記ホスト仮想マシン内で実行されるウェブブラウザを介してユーザインターフェースを提供するために、前記支援オペレーティングシステムの制御の下で前記支援仮想マシン内でウェブサーバーを実行するステップと、
    を備える方法。
  10. 前記ホストオペレーティングシステムと関係付けられる障害を識別するために前記ホストオペレーティングシステムを監視するステップを更に備え、この監視するステップは少なくとも一部を、前記支援仮想マシン内の前記支援オペレーティングシステムから実行する、請求項の方法。
  11. 入力および/または出力データへのアクセスを、前記ホストおよび支援の仮想マシン間で調整するために、前記コンピュータの入力および/または出力装置を仮想化するステップ、を更に備える請求項の方法。
  12. 前記ホストオペレーティングシステムと関係付けられる障害を識別し修復するステップは、前記コンピュータの入力装置と関係付けられる支援ボタンが押下されると作動する、請求項の方法。
  13. ホストエージェントが前記ホストオペレーティングシステム内で実行され、前記ホストオペレーティングシステムと関係付けられる障害を識別し修復するステップは、前記支援オペレーティングシステムから前記ホストエージェントと相互作用するステップを更に含む、請求項の方法。
  14. ホスト仮想マシン内のホストオペレーティングシステムへの支援を提供するためのコンピュータプログラムであって、コンピュータに、
    前記ホスト仮想マシンとは異なる支援仮想マシン内で支援オペレーティングシステムモジュールを実行させ、
    前記支援オペレーティングシステムモジュールの制御の下で前記支援仮想マシン内で、前記ホスト仮想マシン内の前記ホストオペレーティングシステムと関係付けられる障害を識別し修復するための支援モジュールを実行させ、
    前記ホストオペレーティングシステムの制御の下で前記ホスト仮想マシン内で実行されるウェブブラウザを介して前記支援モジュールへのユーザインターフェースを提供するウェブサーバーモジュールを、前記支援オペレーティングシステムモジュールの制御の下で前記支援仮想マシン内で実行させる、
    ンピュータプログラム。
  15. 前記ホストオペレーティングシステムを監視して、前記ホストオペレーティングシステムと関係付けられる障害を識別するとともに、前記障害の識別に応答して前記支援モジュールに通知するための、前記支援オペレーティングシステムモジュールの制御の下で前記支援仮想マシン内で実行するための監視モジュールを、コンピュータに更に実行させる請求項14のコンピュータプログラム。
  16. 前記ホストオペレーティングシステムの制御の下で前記ホスト仮想マシン内で、前記支援モジュールと相互作用して前記ホストオペレーティングシステムと関係付けられる障害を修復するように構成されたホストエージェントモジュールを、コンピュータに更に実行させる請求項14のコンピュータプログラム。
JP2008059671A 2007-03-16 2008-03-10 フェイルセーフ式コンピュータ支援アシスタント Active JP4872049B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/687424 2007-03-16
US11/687,424 US7685474B2 (en) 2007-03-16 2007-03-16 Failsafe computer support assistant using a support virtual machine

Publications (2)

Publication Number Publication Date
JP2008251000A JP2008251000A (ja) 2008-10-16
JP4872049B2 true JP4872049B2 (ja) 2012-02-08

Family

ID=39374897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008059671A Active JP4872049B2 (ja) 2007-03-16 2008-03-10 フェイルセーフ式コンピュータ支援アシスタント

Country Status (5)

Country Link
US (1) US7685474B2 (ja)
EP (1) EP1970807A1 (ja)
JP (1) JP4872049B2 (ja)
CN (1) CN101266563B (ja)
DE (1) DE102008013033A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7853826B2 (en) * 2004-09-24 2010-12-14 Phoenix Technologies, Ltd. Operating system transfer and launch without performing post
US7979749B2 (en) 2006-11-15 2011-07-12 International Business Machines Corporation Method and infrastructure for detecting and/or servicing a failing/failed operating system instance
US8201029B2 (en) 2008-01-31 2012-06-12 International Business Machines Corporation Method and apparatus for operating system event notification mechanism using file system interface
US9015704B2 (en) * 2008-03-24 2015-04-21 International Business Machines Corporation Context agent injection using virtual machine introspection
JP5176837B2 (ja) * 2008-09-30 2013-04-03 富士通株式会社 情報処理システム及びその管理方法、制御プログラム並びに記録媒体
CN101853254B (zh) * 2009-03-31 2013-08-14 国际商业机器公司 挂载文件或目录到本地或远程主机的方法和装置
US8132057B2 (en) * 2009-08-07 2012-03-06 International Business Machines Corporation Automated transition to a recovery kernel via firmware-assisted-dump flows providing automated operating system diagnosis and repair
KR101615646B1 (ko) * 2009-08-25 2016-04-27 삼성전자 주식회사 컴퓨터시스템, 그 제어방법과, 그 컴퓨터프로그램이 저장된 기록매체
US9043454B2 (en) * 2009-08-26 2015-05-26 Red Hat Israel, Ltd. Auto suspense of virtual machine on client disconnection
US8813039B2 (en) * 2010-04-14 2014-08-19 International Business Machines Corporation Method and system for software defect reporting
US8505032B2 (en) * 2010-06-23 2013-08-06 International Business Machines Corporation Operating system notification of actions to be taken responsive to adapter events
EP2402858B1 (en) * 2010-06-29 2014-03-05 Samsung SDS Client Hypervisor-Based Terminal Device and Operating Method Thereof
JP5646233B2 (ja) * 2010-07-21 2014-12-24 株式会社日立システムズ 仮想イメージを利用した障害対応システム
CN102446116B (zh) 2010-09-30 2013-10-16 中国移动通信有限公司 一种输入工具调用的系统、方法及一种代理设备
US8819225B2 (en) * 2010-11-15 2014-08-26 George Mason Research Foundation, Inc. Hardware-assisted integrity monitor
EP2508994A1 (de) * 2011-04-08 2012-10-10 Siemens Aktiengesellschaft Verfahren und Anordnung zur Überwachung des Ablaufs eines Computerprogramms
US8412945B2 (en) * 2011-08-09 2013-04-02 CloudPassage, Inc. Systems and methods for implementing security in a cloud computing environment
US8762790B2 (en) * 2011-09-07 2014-06-24 International Business Machines Corporation Enhanced dump data collection from hardware fail modes
US9128743B1 (en) * 2012-06-19 2015-09-08 Bromium, Inc. Graphic visualization of a suspended virtual machine
KR101412576B1 (ko) 2012-06-27 2014-06-27 한국과학기술원 가상 보드 플랫폼, 시스템-온-칩 시뮬레이션 장치, 시스템-온-칩 시뮬레이션 방법 및 시스템-온-칩 검증 방법
EP3014435A4 (en) * 2013-06-28 2017-01-04 Hewlett-Packard Enterprise Development LP Hook framework
TWI625622B (zh) * 2013-10-31 2018-06-01 聯想企業解決方案(新加坡)有限公司 在多核心處理器系統與運作多核心處理器系統的電腦實施方法
US9680939B2 (en) * 2013-12-19 2017-06-13 Dell Products, L.P. Maintaining technical support continuity across system restarts and multiple operating systems

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3546678B2 (ja) * 1997-09-12 2004-07-28 株式会社日立製作所 マルチos構成方法
US6718482B2 (en) 1997-09-12 2004-04-06 Hitachi, Ltd. Fault monitoring system
JP2001236237A (ja) * 2000-02-23 2001-08-31 Hitachi Ltd マルチos構成方法
JP2002082816A (ja) * 2000-09-07 2002-03-22 Hitachi Ltd 障害監視システム
GB2337671B (en) * 1998-05-16 2003-12-24 Ibm Security mechanisms in a web server
US6223202B1 (en) * 1998-06-05 2001-04-24 International Business Machines Corp. Virtual machine pooling
JP2001051854A (ja) * 1999-08-12 2001-02-23 Hitachi Ltd 情報管理システム
JP2001101033A (ja) * 1999-09-27 2001-04-13 Hitachi Ltd オペレーティングシステム及びアプリケーションプログラムの障害監視方法
US6763458B1 (en) 1999-09-27 2004-07-13 Captaris, Inc. System and method for installing and servicing an operating system in a computer or information appliance
JP2001101032A (ja) * 1999-09-29 2001-04-13 Hitachi Ltd 異種os間制御によるos監視方式
JP2001101034A (ja) * 1999-09-29 2001-04-13 Hitachi Ltd 異種os間制御による障害復旧方法
US7231549B1 (en) * 2002-10-04 2007-06-12 American Megatrends, Inc. Method and apparatus for providing on-demand computer diagnostics
JP4123942B2 (ja) * 2003-01-14 2008-07-23 株式会社日立製作所 情報処理装置
US7111200B2 (en) * 2003-04-17 2006-09-19 International Business Machines Corporation Apparatus and method for debugging a logical partition
US7370324B2 (en) * 2003-09-30 2008-05-06 Intel Corporation Switching between a service virtual machine and a guest virtual machine in a virtual machine monitor environment
US7451443B2 (en) * 2003-10-01 2008-11-11 Hewlett-Packard Development Company, L.P. Online computer maintenance utilizing a virtual machine monitor
JP2005301639A (ja) * 2004-04-12 2005-10-27 Hitachi Ltd Osの障害対応方法およびそのプログラム
US7530071B2 (en) * 2004-04-22 2009-05-05 International Business Machines Corporation Facilitating access to input/output resources via an I/O partition shared by multiple consumer partitions
US7581252B2 (en) 2004-07-20 2009-08-25 Lenovo (Singapore) Pte. Ltd. Storage conversion for anti-virus speed-up
JP4585463B2 (ja) * 2006-02-15 2010-11-24 富士通株式会社 仮想計算機システムを機能させるためのプログラム
JP2007226413A (ja) * 2006-02-22 2007-09-06 Hitachi Ltd メモリダンプ方法、メモリダンププログラム、及び、計算機システム
US7673113B2 (en) * 2006-12-29 2010-03-02 Intel Corporation Method for dynamic load balancing on partitioned systems

Also Published As

Publication number Publication date
CN101266563B (zh) 2011-06-29
US7685474B2 (en) 2010-03-23
JP2008251000A (ja) 2008-10-16
EP1970807A1 (en) 2008-09-17
CN101266563A (zh) 2008-09-17
US20080229159A1 (en) 2008-09-18
DE102008013033A1 (de) 2008-09-18

Similar Documents

Publication Publication Date Title
JP4872049B2 (ja) フェイルセーフ式コンピュータ支援アシスタント
US7574627B2 (en) Memory dump method, memory dump program and computer system
JP3598272B2 (ja) オペレーティングシステムの起動及びリスタート方法
JP5443172B2 (ja) 処理環境での命令実行の制御
US8132057B2 (en) Automated transition to a recovery kernel via firmware-assisted-dump flows providing automated operating system diagnosis and repair
US9081734B2 (en) Restoring from a legacy OS environment to a UEFI pre-boot environment
US9665469B2 (en) System and method of runtime downloading of debug code and diagnostics tools in an already deployed baseboard management controller (BMC) devices
US6216226B1 (en) Method and system for dynamically selecting a boot process within a data processing system
US8499295B2 (en) Microcontroller firmware running from RAM and applications of the same
US20070011507A1 (en) System and method for remote system support
JP4359609B2 (ja) 計算機システム、システムソフトウェア更新方法及び第1サーバ装置
US8863113B1 (en) Method and system for unattended installation of guest operating system
JP2010086181A (ja) 仮想計算機システム及びその管理方法、プログラム並びに記録媒体
US9184991B2 (en) Method and apparatus for developing service processor solutions
US8131986B2 (en) System and method for boot loading of programs within a host operating environment having one or more linked guest operating systems
JP2014059733A (ja) 情報処理システム、画像処理装置
US7627789B2 (en) Polymorphic management of embedded devices using web interfaces
Le et al. Applying microreboot to system software
KR20180135645A (ko) 가상 데스크탑 통합 운영 장치 및 방법
JP5235900B2 (ja) 命令実行を容易にするためのバッファの使用
KR101564144B1 (ko) 펌웨어 관리 장치 및 방법
CN114327648B (zh) 一种驱动调试方法、装置、电子设备及存储介质
JP2009266117A (ja) Usbメモリ装置、及び、それを用いたプラグインアプリケーションシステム
Costa et al. WinFT: Using off-the-shelf computers on industrial environments
JP4548514B2 (ja) 仮想計算機システムの制御方法

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20101007

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20101117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110725

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

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

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

Free format text: PAYMENT UNTIL: 20141202

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4872049

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250