JP4585463B2 - 仮想計算機システムを機能させるためのプログラム - Google Patents

仮想計算機システムを機能させるためのプログラム Download PDF

Info

Publication number
JP4585463B2
JP4585463B2 JP2006038557A JP2006038557A JP4585463B2 JP 4585463 B2 JP4585463 B2 JP 4585463B2 JP 2006038557 A JP2006038557 A JP 2006038557A JP 2006038557 A JP2006038557 A JP 2006038557A JP 4585463 B2 JP4585463 B2 JP 4585463B2
Authority
JP
Japan
Prior art keywords
driver
host
spare
virtual machine
current
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.)
Expired - Fee Related
Application number
JP2006038557A
Other languages
English (en)
Other versions
JP2007219757A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006038557A priority Critical patent/JP4585463B2/ja
Priority to US11/441,779 priority patent/US20070192765A1/en
Publication of JP2007219757A publication Critical patent/JP2007219757A/ja
Application granted granted Critical
Publication of JP4585463B2 publication Critical patent/JP4585463B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/45537Provision of facilities of other operating environments, e.g. WINE
    • 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

Description

本発明は、あるハードウエア上に仮想的に動作するホストOSにより管理される仮想計算機システムに関する。
図16は、既存の仮想計算機システムを示す図である。
図16に示す仮想計算機システム160は、CPU(Central Processing Unit)などから構成されるハードウエア161上でそれぞれ仮想計算機(VM:Virtual Machine)として動作する、ホストOS(Operating System)162(Windows(登録商標)やLinuxなど)、ゲストOS163(Windows(登録商標)やLinuxなど)、及びドライバOS164と、ハードウエア161上で動作しホストOS162、ゲストOS163、及びドライバOS164のそれぞれの動作制御を行う仮想計算機モニタ(VMM:Virtual Machine Monitor)165とにより構成されている。
上記ホストOS162は、ゲストOS163やドライバOS164などの仮想計算機のドメインとして動作し、仮想計算機モニタ165と会話しながらゲストOS163やドライバOS164の管理を行うOSである。また、ホストOS162は、仮想計算機システム160のboot時に自動で起動され、仮想計算機システム160全体の資源管理や割当て、ゲストOS163やドライバOS164の動作制御(起動や終了など)を行う。すなわち、ホストOS162は、仮想計算機システム160を管理するOSである。なお、ホストOS162は、同時に、ドライバOSとしても動作可能である。
上記ゲストOS163は、仮想計算機としての構成上、I/O(Input/Output)装置をもたないOSであり、ユーザが使用する通常のOSである。
上記ドライバOS164は、仮想計算機モニタ165を介してゲストOS163と会話しながらハードディスクやROM(Read Only Memory)などの外部記録装置であるI/O装置166やネットワークに接続するための通信装置であるI/O装置167などの動作制御を行うOSである。実際にI/O装置166、167を実行させるのはドライバOS164であり、ゲストOS163はドライバOS164に対して要求を出すことによりI/O装置166、167を実行させる。また、ドライバOS164は、ホストOS162上やゲストOS163上でも動作可能である。なお、ドライバOS164をゲストOS163上で動作させた場合、そのドライバOS164は、そのゲストOS163のドライバOSとなる。
上記仮想計算機モニタ165は、仮想計算機システム160全体を制御する層であり、各OSのディスパッチ、各OSが実行する特権命令のエミュレーション、及びCPUに関するハードウエア制御などを行う。
例えば、ユーザによりホストOS162を起動させるための操作が行われると、ホストOS162が起動し仮想計算機システム160に接続されるディスプレイ168にホストOS162の操作画面が表示される。次に、ユーザによりホストOS162の操作画面上のゲストOS163の起動が選択されると、ゲストOS163が起動しディスプレイ168にゲストOS163の操作画面が表示される。そして、ユーザによりゲストOS163の操作画面上のI/O装置166の実行が選択されると、図17に示すように、ゲストOS163からFrontend Driver169を介して仮想計算機モニタ165にI/O装置166の実行要求が出される。すると、仮想計算機モニタ165からドライバOS164のBackend Driver170及び実I/Oドライバ171を介してI/O装置166に実行要求が通知され、I/O装置166が実行される。なお、I/O装置166から出される動作完了通知は、実I/Oドライバ171、Backend Driver170、仮想計算機モニタ165、及びFrontend Driver169を介してゲストOS163に通知される。
そして、従来では、このような仮想計算機システム160を基本として、様々な形態の仮想計算機システムが考えられている。
例えば、各仮想計算機システムで実計算機資源に共通の論理名称を付与して管理する手段を設けることで、仮想計算機システム間において仮想計算機の移動を行うものがある(例えば、特許文献1参照)。
また、例えば、ハードウエア資源を仮想的に2つ以上に分離し、分離した仮想ハードウエア上で同時に動作する2つ以上のOSを用意し、そのうちの任意の仮想ハードウエアが管理するメモリの一部を他の仮想ハードウエア上で動作するOSから読み書きできるようにし、他の仮想ハードウエア上のOSで動作するソフトウエアの障害回復のための情報をそのメモリに保持し、そのソフトウエアの障害回復に利用するものがある(例えば、特許文献2参照)。
しかしながら、このような仮想計算機システムでは、一般的に、ホストOSが仮想計算機システムに対して1つ備えられ、ドライバOSがI/O装置に対して1つ備えられる構成であるため、ホストOSやドライバOSに障害が発生すると、ゲストOSとI/O装置とのやりとりの制御ができなくなる。そのため、仮想計算機システムの運用が継続できず仮想計算機システムの信頼性が低下するという問題がある。
そこで、この問題を解決するための1つの方法として、ホストOSやドライバOSと同じ機能をもつ予備ホストOSや予備ドライバOSを事前につくっておき、現用ホストOSや現用ドライバOSに障害が発生したとき、予備ホストOSや予備ドライバOSに現用ホストOSや現用ドライバOSの処理やデータを引き継がせることが考えられる。
予備ホストOSや予備ドライバOSをつくる方法としては、例えば、現用ホストOSや現用ドライバOSを実現するためのソフトウエア以外に予備ホストOSや予備ドライバOSを実現するためのソフトウエアを用意し、ホストOSやドライバOSを実現するためのソフトウエアを二重化することが考えられる。また、例えば、現用ホストOSや現用ドライバOSを実現するためのハードウエア以外に予備ホストOSや予備ドライバOSを実現するためのハードウエアを用意し、ホストOSやドライバOSを実現するためのハードウエアを二重化することも考えられる。
また、現用ホストOSや現用ドライバOSに障害が発生したとき、予備ホストOSや予備ドライバOSに現用ホストOSや現用ドライバOSの処理やデータを引き継がせる方法としては、例えば、フェールオーバという技術を行うことが考えられる。
このように仮想計算機システムを構成することにより、現用ホストOSや現用ドライバOSに障害が発生して、ゲストOSとI/O装置とのやりとりの制御ができなくなっても、現用ホストOSや現用ドライバOSの処理やデータを予備ホストOSや予備ドライバOSに引き継がせることができるので、ゲストOSとI/O装置とのやりとりが途切れることがなくなり、仮想計算機システムの信頼性が低下することを抑えることができる。
特開平10−283210号公報 特開2001−101021号公報
しかしながら、上述のように、ソフトウエアの二重化やハードウエアの二重化などにより予備ホストOSや予備ドライバOSを事前につくり、フェールオーバにより現用ホストOSや現用ドライバOSの処理やデータを予備ホストOSや予備ドライバOSに引き継がせる場合では、ソフトウエアの二重化やハードウエアの二重化のために仮想計算機システムのコストがかかるという問題がある。
また、フェールオーバにより現用ホストOSや現用ドライバOSの処理やデータを予備ホストOSや予備ドライバOSに引き継がせる際、予備ホストOSや予備ドライバOSの状態をできるだけ最新の状態にさせておく場合では、事前に現用ホストOSや現用ドライバOSの状態変化分を予備ホストOSや予備ドライバOSに反映させる必要がある。このように、フェールオーバを行う前に予め状態変化分を予備ホストOSや予備ドライバOSに反映させておくためには、常に現用ホストOSと予備ホストOSとの間や現用ドライバOSと予備ドライバOSとの間で互いに状態変化を監視したり、データの同期を行う必要がある。そのため、このような処理を行おうとする場合、仮想計算機システムのコストがさらにかかるという問題がある。
そこで、本発明は、予備ホストOSや予備ドライバOSをつくる場合であっても、コストを抑えることが可能な仮想計算機システムを機能させるためのプログラムを提供することを目的とする。
上記の課題を解決するために本発明では、以下のような構成を採用した。
すなわち、本発明では、あるハードウエア上で動作する現用ホストOSにより管理される仮想計算機システムにおいて、現用ホストOSが起動すると、その現用ホストOSを、仮想計算機システムに備えられる所定の記録手段(例えば、仮想計算機システムが備えるRAMなどのメモリ)にコピーし現用ホストOSと同じ機能をもつ予備ホストOSをハードウエア上に動作させ、現用ホストOSへ出される要求を予備ホストOSにも通知して予備ホストOSの状態を変更する。そして、現用ホストOSが異常になると、仮想計算機システムの管理を現用ホストOSから予備ホストOSに切り換える。
これにより、常に予備ホストOSの状態を現用ホストOSの状態と同じにすることができるので、現用ホストOSが異常になってもすぐに仮想計算機システムの管理用ホストOSとして現用ホストOSから予備ホストOSに最新の状態で引き継ぐことができる。そのため、現用ホストOSが異常になっても仮想計算機システムの動作が途切れないので、仮想計算機システムの信頼性を低下させないようにすることができる。また、予備ホストOSをつくるために、ソフトウエアやハードウエアを二重化することなく、かつ、常に現用ホストOSと予備ホストOSとの間で互いに状態変化を監視したり、データの同期を行う必要がないため、仮想計算機システムのコストを抑えることができる。
また、本発明では、現用ホストOSへ出される要求が現用ホストOSの状態を変化させる場合、その要求を予備ホストOSに通知するように構成してもよい。
これにより、現用ホストOSへ出された要求を全て予備ホストOSに通知する場合に比べて、仮想計算機システムにかかる負荷を軽くすることができる。
また、本発明では、あるハードウエア上で動作する現用ホストOSにより管理される仮想計算機システムにおいて、その仮想計算機システムに備えられるI/O装置の動作を制御する現用ドライバOSが起動すると、その現用ドライバOSを、仮想計算機システムに備えられる所定の記録手段にコピーし現用ドライバOSと同じ機能をもつ予備ドライバOSをハードウエア上に動作させ、ハードウエア上に仮想的に動作するゲストOSから現用ドライバOSを介してI/O装置へ出される要求を予備ドライバOSに通知して予備ドライバOSの状態を変更すると共に、I/O装置から現用ドライバOSを介してゲストOSへ出される動作完了通知を予備ドライバOSに通知して予備ドライバOSの状態を変更する。そして、現用ドライバOSが異常になると、ゲストOSから出される要求を予備ドライバOSを介してI/O装置へ通知すると共に、I/O装置から出される動作完了通知を予備ドライバOSを介してゲストOSへ通知する。
これにより、常に予備ドライバOSの状態を現用ドライバOSの状態と同じにすることができるので、現用ドライバOSが異常になってもすぐにI/O装置の制御用ドライバOSとして現用ドライバOSから予備ドライバOSに最新の情報で引き継ぐことができる。そのため、現用ドライバOSが異常になってもゲストOSとI/O装置との間のやりとりが途切れないので、仮想計算機システムの信頼性を低下させないようにすることができる。また、予備ドライバOSをつくるために、ソフトウエアやハードウエアを二重化することなく、かつ、常に現用ドライバOSと予備ドライバOSとの間で互いに状態変化を監視したり、データの同期を行う必要がないため、仮想計算機システムのコストを抑えることができる。
また、本発明では、現用ドライバOSが異常でない場合、ゲストOSから予備ドライバOSを介してI/O装置へ出される要求を破棄すると共に、I/O装置から予備ドライバOSを介してゲストOSへ出される動作完了通知を破棄するように構成してもよい。
また、本発明では、現用ホストOSまたは現用ドライバOSに対して返答要求を出し、その返答要求に対応する返答が現用ホストOSまたは現用ドライバOSから所定時間内に出ない場合、現用ホストOSまたは現用ドライバOSが異常であると判断してもよい。
本発明によれば、予備ホストOSや予備ドライバOSをつくる場合であっても、コストを抑えて仮想計算機システムを構築することができる。
以下、本発明の実施形態を図面を用いて説明する。
まず、ホストOSの二重化を実現するための構成について説明する。
図1は、本発明の実施形態の仮想計算機システムの原理図であり、ホストOSの二重化を実現するための仮想計算機システムを示している。
図1に示す仮想計算機システム10は、CPUなどのハードウエア上で仮想計算機として動作し仮想計算機システム10の管理を行う現用ホストOS11と、上記ハードウエア上で仮想計算機として動作し現用ホストOS11が異常になると(例えば、現用ホストOS11に負荷がかかり過ぎて現用ホストOS11が停止すると)現用ホストOS11の処理やデータを引き継ぐ予備ホストOS12と、上記ハードウエア上で動作し現用ホストOS11や予備ホストOS12の動作制御などを行う仮想計算機モニタ13とを備えて構成されている。なお、図1に示す仮想計算機システム10は、図示していないが、図16に示す仮想計算機システム160と同様に、ゲストOS163、ドライバOS164、及びI/O装置166、167などを備えて構成されているものとする。また、予備ホストOS12は、現用ホストOS11が動作する仮想計算機とは別の仮想計算機上で動作するものとする。また、現用ホストOS11をつくるために必要な資源(ハードディスクやメモリなど)と予備ホストOS12をつくるために必要な資源は共用していても共用していなくてもよいが、仮想計算機システム10の信頼性を向上させたい場合は資源を共用しない方が望ましい。
上記現用ホストOS11は、ハードディスクなどの記録部から現用ホストOS11を動作させるために必要なプログラムやデータが読み出され、そのプログラムやデータが仮想計算機システム10に備えられるRAMなどのメモリに書き込まれることにより起動する。
上記予備ホストOS12は、現用ホストOS11が起動すると、上記メモリ内の現用ホストOS11のプログラムやデータがlive migration機能などにより別のメモリにコピーされることにより起動する。そのため、例えば、現用ホストOS11がLinuxである場合、その現用ホストOS11の予備ホストOS12は、現用ホストOS11と同様に、Linuxとなる。
上記仮想計算機モニタ13は、通常(現用ホストOS11が異常でないとき)、現用ホストOS11への要求を割込みで予備ホストOS12にも通知し、現用ホストOS11が異常になると、仮想計算機システム10の管理を現用ホストOS11から予備ホストOS12に切り換える。
図2は、上記live migration機能を説明するための図である。
live migration機能は、基本的には、上述したように、ある仮想計算機上で使用されるメモリ20の内容を別の仮想計算機上で使用されるメモリ21にコピーする機能であり、コピー元の仮想計算機が動作中でもメモリ20の内容をメモリ21にコピーすることができる(図2の矢印A)。そのため、現用ホストOS11を動作させるために必要なプログラムやデータがメモリ20に書き込まれて起動すると、そのメモリ20内のプログラムやデータがlive migration機能によりメモリ21にコピーされて予備ホストOS12が動作するように構成しても、現用ホストOS11は動作が途切れない。また、live migration機能により、任意のタイミングでコピー元の仮想計算機からコピー先の仮想計算機に切り換えることができる(図2の矢印B)。また、live migration機能により、1つのコンピュータ内の2つのメモリ間であっても別々のコンピュータのそれぞれのメモリ間であっても仮想計算機のコピーや仮想計算機の切換えを行うことができる。これにより、予備ホストOS12を、現用ホストOS11が動作するコンピュータ上で動作させたり現用ホストOS11が動作するコンピュータとは別のコンピュータ上で動作させることができる。
なお、予備ホストOS12は、live migration機能以外のメモリコピー機能を使用してつくるように構成してもよい。
次に、予備ホストOS12がつくられた後、予備ホストOS12の状態を常に現用ホストOS11の状態と同じにするための仮想計算機システム10の動作について説明する。
図3は、予備ホストOS12の状態を常に現用ホストOS11の状態と同じにするための仮想計算機システム10の動作を示すフローチャートである。
まず、現用ホストOS11は、仮想計算機モニタ13へ要求を依頼する(ステップS1)。例えば、現用ホストOS11は、Hypervisor call命令により新しいゲストOSを起動させる旨の要求を仮想計算機モニタ13へ依頼する。
次に、仮想計算機モニタ13は、上記要求を受け付けると、その要求を処理する(ステップS2)。例えば、仮想計算機モニタ13は、新しいゲストOS163を起動させる旨の要求を受け付けると、新しいゲストOSを起動させる処理を行う。
次に、仮想計算機モニタ13は、上記要求が現用ホストOS11の状態を変化させる要求であるか否かを判断する(ステップS3)。例えば、現用ホストOS11の状態を変化させる要求としては、新しいゲストOSを起動させる旨の要求やドライバOSを終了させる旨の要求など、現用ホストOS11が管理すべき内容を変更させる要求が考えられる。また、例えば、現用ホストOS11の状態が変化しない要求としては、ゲストOSの一覧表をディスプレイに表示させる旨の要求など、現用ホストOS11の管理すべき内容を変更させない要求が考えられる。
上記要求が現用ホストOS11の状態を変化させない要求であると判断すると(ステップS3がNo)、仮想計算機システム10は、予備ホストOS12の状態を常に現用ホストOS11の状態と同じにするための処理を終了する。
一方、上記要求が現用ホストOS11の状態を変化させる要求であると判断すると(ステップS3がYes)、仮想計算機モニタ13は、予備ホストOS12へ上記要求を割込み通知する(ステップS4)。
そして、予備ホストOS12は、割込み通知された上記要求を受け付けると、その要求に基づいて自身の状態を変更し(ステップS5)、仮想計算機システム10は、予備ホストOS12の状態を常に現用ホストOS11の状態と同じにするための処理を終了する。例えば、予備ホストOS12は、新しいゲストOSを起動させる旨の要求を受け付けると、現在管理しているゲストOSのリストに新しいゲストOSを追加する。
図4は、現用ホストOS11から予備ホストOS12へ引継ぎを行う際の仮想計算機システム10の動作を示すフローチャートである。
まず、現用ホストOS11と予備ホストOS12との間で互いの状態を一定時間毎に監視し合う(ステップST1)。例えば、LAN(Local Area Network)などを使用して現用ホストOS11と予備ホストOS12との間で通信を行い、互いの状態を監視することが考えられる。
次に、予備ホストOS12は、現用ホストOS11の異常を検出する(ステップST2)。例えば、予備ホストOS12は、現用ホストOS11へ返答要求を出し、その返答要求に対する返答が所定時間(例えば、5秒または10秒)内に現用ホストOS11から出ないと、現用ホストOS11が異常であると判断するように構成してもよい。
次に、予備ホストOS12は、現用ホストOS11の異常を検出すると、仮想計算機モニタ13へホストOSの切換え要求を依頼する(ステップST3)。
次に、仮想計算機モニタ13は、ホストOSの切換え要求を受け付けると、現用ホストOS11へ停止要求を通知する(ステップST4)。現用ホストOS11は、停止要求を受け付けると、停止処理を行う。
次に、仮想計算機モニタ13は、全ての要求の通知先を現用ホストOS11から予備ホストOS12に切り換える処理を行う(ステップST5)。
そして、予備ホストOS12は、現用ホストOS11に昇格し、仮想計算機システム10の管理を行う(ステップST6)。
これにより、常に予備ホストOS12の状態を現用ホストOS11の状態と同じにすることができるので、現用ホストOS11に障害が発生し現用ホストOS11が異常になってもすぐに仮想計算機システム10の管理用ホストOSとして現用ホストOS11から予備ホストOS12に最新の状態で引き継ぐことができる。そのため、現用ホストOS11が異常になっても仮想計算機システム10の動作が途切れないので、仮想計算機システム10の信頼性を低下させないようにすることができる。
また、従来のように、ソフトウエアの二重化やハードウエアの二重化などにより予備ホストOSを事前につくり、フェールオーバにより現用ホストOSの処理やデータを予備ホストOSに引き継がせる場合に比べて、ソフトウエアやハードウエアを二重化することなく、かつ、常に現用ホストOS11と予備ホストOS12との間で互いに状態変化を監視したり、データの同期を行う必要がないため、仮想計算機システム10のコストを抑えることができる。
また、上記実施形態では、図3に示すフローチャートのように、現用ホストOS11へ出された要求が現用ホストOS11の状態を変化させる場合(図3のステップS3がYes)、その要求を予備ホストOS12に通知する(図3のステップS4)構成であるが、図3のステップS3を省略し、現用ホストOS11へ出された要求を全て予備ホストOS12に通知し予備ホストOS12の状態を変更するように構成してもよい。図3に示すフローチャートのように、現用ホストOS11の状態を変化させる要求のみを予備ホストOS12にも通知する構成は、現用ホストOS11へ出された要求を全て予備ホストOS12にも通知する構成に比べて、予備ホストOS12や仮想計算機モニタ13の負荷を軽くし仮想計算機システム10にかかる負荷を軽くすることができる。
次に、ドライバOSの二重化を実現するための構成について説明する。
図5は、本発明の他の実施形態の仮想計算機システムであり、ドライバOSの二重化を実現するための仮想計算機システムを示している。
図5に示す仮想計算機システム50は、CPUなどのハードウエア上で仮想計算機として動作するゲストOS51と、I/O装置52と、上記ハードウエア上で仮想計算機として動作しゲストOS51とI/O装置52との間でI/O制御を行う現用ドライバOS53と、上記ハードウエア上で仮想計算機として動作し現用ドライバOS53が異常になると(例えば、現用ドライバOS53に負荷がかかり過ぎて現用ドライバOS53が停止すると)現用ドライバOS53の処理やデータを引き継ぐ予備ドライバOS54と、ゲストOS51、I/O装置52、現用ドライバOS53、及び予備ドライバOS54の動作制御などを行う仮想計算機モニタ55とを備えて構成されている。なお、図5に示す仮想計算機システム50は、図示していないが、図16に示す仮想計算機システム160と同様に、ホストOS162などを備えて構成されているものとする。また、予備ドライバOS54は、現用ドライバOS53が動作する仮想計算機とは別の仮想計算機上で動作するものとする。また、現用ドライバOS53を動作させるためのプログラムやデータが格納されるハードディスクなどの資源と予備ドライバOS54を動作させるためのプログラムやデータが格納されるハードディスクなどの資源は共用するものとする。
上記予備ドライバOS54は、現用ドライバOS53を動作させるためのプログラムやデータがRAMなどのメモリに書き込まれて現用ドライバOS53が起動すると、上述のホストOSの二重化と同様に、そのメモリ内の現用ドライバOS53のプログラムやデータがlive migration機能などにより別の仮想計算機で管理されるメモリにコピーされることにより起動する。
上記仮想計算機モニタ55は、図6に示すように、現用ドライバOS53と予備ドライバOS54の主従関係の定義を示すデータ60を備え、そのデータ60に基づいてゲストOS51からの要求を現用ドライバOS53または予備ドライバOS54を介してI/O装置52に通知したり、I/O装置52からの動作完了通知を現用ドライバOS53または予備ドライバOS54を介してゲストOS51に通知したりする。すなわち、現用ドライバOS53はゲストOS51とリンク関係が確立され、予備ドライバOS54もゲストOS51と別のリンク関係が確立されている。
次に、予備ドライバOS54の状態を常に現用ドライバOS53の状態と同じにするための仮想計算機システム50の動作について説明する。
図7は、予備ドライバOS54の状態を常に現用ドライバOS53の状態と同じにするための仮想計算機システム50の動作を示すフローチャートである。
まず、ゲストOS51は、I/O装置52を動作させるための要求を仮想計算機モニタ55へ依頼する(ステップSTP1)。
次に、仮想計算機モニタ55は、上記要求を現用ドライバOS53及び予備ドライバOS54へそれぞれ割込み通知する(ステップSTP2)。
次に、現用ドライバOS53及び予備ドライバOS54は、それぞれ、上記要求を受け付けると共に、上記要求に基づく指示を仮想計算機モニタ55へ出す(ステップSTP3)。
ここで、例えば、ゲストOS51からバッファメモリであるI/O装置52へ所定データを書き込む旨の要求を依頼する場合を考える。図8に示すように、まず、ゲストOS51は、Hyperviser call命令により仮想計算機モニタ55へ所定データ、書込み要求コード、及びアドレスなどで構成される要求を出す。次に、仮想計算機モニタ55は、その要求を受け付けると、その要求を現用ドライバOS53と予備ドライバOS54にそれぞれ割込み通知する。そして、現用ドライバOS53及び予備ドライバOS54は、それぞれ、受け付けた要求に基づいてI/O装置52へ所定データを書き込むための指示を仮想計算機モニタ55へ出す。
次に、図7において、仮想計算機モニタ55は、受け付けた指示が現用ドライバOS53からの指示か否かを判断する(ステップSTP4)。
受け付けた指示が現用ドライバOS53からの指示でないと判断した場合(ステップSTP4がNo)、仮想計算機モニタ55は、図9に示すように、受け付けた指示を破棄する(ステップSTP5)。
一方、受け付けた指示が現用ドライバOS53からの指示であると判断した場合(ステップSTP4がYes)、仮想計算機モニタ55は、図9に示すように、I/O装置52に上記指示を通知する(ステップSTP6)。
次に、仮想計算機モニタ55は、I/O装置52から出された動作完了通知を受け付ける(ステップSTP7)。
次に、仮想計算機モニタ55は、上記動作完了通知を現用ドライバOS53と予備ドライバOS54にそれぞれ割込み通知する(ステップSTP8)。
次に、現用ドライバOS53及び予備ドライバOS54は、それぞれ、動作完了通知をゲストOS51に通知するために仮想計算機モニタ55へ出す(ステップSTP9)。例えば、現用ドライバOS53及び予備ドライバOS54は、それぞれ、Hyperviser call命令により、動作完了通知を仮想計算機モニタ55へ出す。
次に、仮想計算機モニタ55は、受け付けた動作完了通知が現用ドライバOS53から出された動作完了通知であるか否かを判断する(ステップSTP10)。
受け付けた動作完了通知が現用ドライバOS53から出された動作完了通知でないと判断した場合(ステップSTP10がNo)、仮想計算機モニタ55は、図10に示すように、受け付けた動作完了通知を破棄する(ステップSTP5)。
一方、受け付けた動作完了通知が現用ドライバOS53から出された動作完了通知であると判断した場合(ステップSTP10がYes)、仮想計算機モニタ55は、図10に示すように、受け付けた動作完了通知をゲストOS51へ通知する(ステップSTP11)。
そして、ゲストOS51は、I/O装置52が動作を完了したことを認識し(ステップSTP12)、仮想計算機システム50は、予備ドライバOS54の状態を常に現用ドライバOS53の状態と同じにするための処理を終了する。
図11は、現用ドライバOSから予備ドライバOSへ引継ぎを行うための仮想計算機システム50の動作を示すフローチャートである。
まず、現用ドライバOS53と予備ドライバOS54との間で一定時間毎に監視し合う(ステップSTEP1)。例えば、LANなどを使用して現用ドライバOS53と予備ドライバOS54との間で通信を行うことが考えられる。
次に、予備ドライバOS54は、現用ドライバOS53の異常を検出する(ステップSTEP2)。例えば、図12に示すように、予備ドライバOS54は、現用ドライバOS53へ返答要求を出し、その返答要求に対する返答が所定時間(例えば、5秒または10秒)内に出ないと、現用ドライバOS53が異常であると判断するように構成してもよい。
次に、予備ドライバOS54は、現用ドライバOS53の異常を検出すると、仮想計算機モニタ55へドライバOSの切換え要求を依頼する(ステップSTEP3)。
次に、仮想計算機モニタ55は、ドライバOSの切換え要求を受け付けると、現用ドライバOS53へ停止要求を通知する(ステップSTEP4)。現用ドライバOS53は、停止要求を受け付けると、停止処理を行う。
次に、仮想計算機モニタ55は、データ60に示す現用ドライバOS53と予備ドライバOS54の主従関係の定義を互いに反対にして、ゲストOS51から出される要求を予備ドライバOS54を介してI/O装置52に通知し、I/O装置52から出される動作完了通知を予備ドライバOS54を介してゲストOS51に通知する(ステップSTEP5)。
そして、予備ドライバOS54は、現用ドライバOS53に昇格する(ステップSTEP6)。
ここで、例えば、予備ドライバOS54が現用ドライバOS53の異常を検出し、仮想計算機モニタ55が現用ドライバOS53を停止させる場合を考える。図12に示すように、まず、予備ドライバOS54は、現用ドライバOS53の異常を検出すると、Hypervisor call命令により仮想計算機モニタ55へドライバOSの切換え要求を依頼する。次に、仮想計算機モニタ55は、その切換え要求を受け付けると、現用ドライバOS53へ停止要求を通知する。そして、図13に示すように、仮想計算機モニタ55は、ゲストOS51とI/O装置52との間のやり取りを制御するドライバOSとして現用ドライバOS53から予備ドライバOS54に切り換え、ゲストOS51から依頼される要求を予備ドライバOS54(ステップSTEP6で現用ドライバOS53に昇格した予備ドライバOS54)を介してI/O装置52へ出すと共に、I/O装置52から出される動作完了通知を予備ドライバOS54を介してゲストOS51へ通知する。
これにより、常に予備ドライバOS54の状態を現用ドライバOS53の状態と同じにすることができるので、現用ドライバOS53に障害が発生し現用ドライバOS53が異常になってもすぐにI/O装置52の制御用ドライバOSとして現用ドライバOS53から予備ドライバOS54に最新の状態で引き継ぐことができる。そのため、現用ドライバOS53が異常になってもゲストOS51とI/O装置52との間のやりとりが途切れないので、仮想計算機システム50の信頼性を低下させないようにすることができる。
また、予備ドライバOS54をつくるために、ソフトウエアやハードウエアを二重化することなく、かつ、常に現用ドライバOS53と予備ドライバOS54との間で互いに状態変化を監視したり、データの同期を行う必要がないため、仮想計算機システム50のコストを抑えることができる。
なお、上記実施形態では、ホストOSの二重化及びドライバOSの二重化の構成として、仮想計算機システム10と仮想計算機システム50とを別々に説明したが、仮想計算機システム10と仮想計算機システム50とを同じ仮想計算機システム上に構築してもよい。
また、上記実施形態では、ホストOS及びドライバOSをそれぞれ二重化にさせる構成であるが、ホストOS及びドライバOSをそれぞれ三重化以上に構成してもよい。
図14は、本実施形態の仮想計算機システム10、50のハードウエア構成の一例を示す図である。
図14に示すように、仮想計算機システム10、50は、CPU140と、メモリ141と、ハードディスク142と、モデムやLANアダプタなどのネットワーク接続装置143と、CD(Compact Disc)、DVD(Digital Versatile Disc)、光ディスク、フレキシブルディスクなどの可搬記録媒体144と、媒体読取り装置145と、入力処理部146と、ディスプレイ147とを備え、これらが互いにバス148により接続される構成となっている。
上述した仮想計算機システム10、50の各処理は、CPU140がハードディスク142に記録されているプログラムやデータを読み出し、このプログラムやデータをメモリ141にロードし実行することにより実現される。
なお、仮想計算機システム10、50は、可搬記録媒体144を用いてプログラムやデータの交換が行われる場合がある。従って、本実施形態の仮想計算機システム10、50は、上記実施形態の各処理をコンピュータに行わせるためのコンピュータが読み出し可能な記録媒体として構成することもできる。
図15は、本実施形態の仮想計算機システム10、50を記録媒体として構成する場合のその記録媒体の一例を示す図である。
図15に示すように、記録媒体としては、CD−ROM、フレキシブルディスク、MO(Magneto Optical)、DVD、リムーバブル磁気ディスクなどの上記可搬記録媒体144、上記ハードディスク142、または上記メモリ141以外に、ネットワーク回線150経由で送信される外部の情報提供業者が保有する記録デバイス151などが含まれる。可搬記録媒体144や記録デバイス151などに記録されているプログラムやデータは、メモリ141にロードされてから実行され、上述した仮想計算機システム10、50の各処理を実現する。
(付記1)あるハードウエア上に仮想的に動作する現用ホストOSにより管理される仮想計算機システムを動作制御するためにコンピュータを、前記現用ホストOSが起動すると、前記現用ホストOSを前記仮想計算機システムに備えられる所定の記録手段にコピーし前記現用ホストOSと同じ機能をもつ予備ホストOSを前記ハードウエア上に動作させる手段、前記現用ホストOSへ出される要求を前記予備ホストOSに通知し、前記予備ホストOSの状態を変更する手段、前記現用ホストOSが異常になると、前記仮想計算機システムの管理を前記現用ホストOSから前記予備ホストOSに切り換える手段として機能させるためのプログラム。
(付記2)付記1に記載のプログラムであって、前記現用ホストOSへ出される要求が前記現用ホストOSの状態を変化させる要求である場合、前記要求を前記予備ホストOSに通知する手段として機能させるためのプログラム。
(付記3)あるハードウエア上に仮想的に動作する現用ホストOSにより管理される仮想計算機システムを動作制御するためにコンピュータを、前記仮想計算機システムに備えられるI/O装置の動作を制御する現用ドライバOSが起動すると、該現用ドライバOSを前記仮想計算機システムに備えられる所定の記録手段にコピーし前記現用ドライバOSと同じ機能をもつ予備ドライバOSを前記ハードウエア上に動作させる手段、前記ハードウエア上に仮想的に動作するゲストOSから前記現用ドライバOSを介して前記I/O装置へ出される要求を前記予備ドライバOSに通知し、前記予備ドライバOSの状態を変更する手段、前記I/O装置から前記現用ドライバOSを介して前記ゲストOSへ出される動作完了通知を前記予備ドライバOSに通知し、前記予備ドライバOSの状態を変更する手段、前記現用ドライバOSが異常になると、前記ゲストOSから出される要求を前記予備ドライバOSを介して前記I/O装置へ通知すると共に、前記I/O装置から出される動作完了通知を前記予備ドライバOSを介して前記ゲストOSへ通知する手段として機能させるためのプログラム。
(付記4)付記3に記載のプログラムであって、前記現用ドライバOSが異常でない場合、前記ゲストOSから前記予備ドライバOSを介して前記I/O装置へ出される要求を破棄すると共に、前記I/O装置から前記予備ドライバOSを介して前記ゲストOSへ出される動作完了通知を破棄する手段として機能させるためのプログラム。
(付記5)付記1〜4の何れか1つの付記に記載のプログラムであって、前記現用ホストOSまたは前記現用ドライバOSに対して返答要求を出し、その返答要求に対応する返答が前記現用ホストOSまたは前記現用ドライバOSから所定時間内に出ない場合、前記現用ホストOSまたは前記現用ドライバOSが異常であると判断する手段として機能させるためのプログラム。
(付記6)あるハードウエア上に仮想的に動作する現用ホストOSにより管理される仮想計算機システムであって、前記現用ホストOSが起動すると、前記現用ホストOSを前記仮想計算機システムに備えられる所定の記録手段にコピーし前記現用ホストOSと同じ機能をもつ予備ホストOSを前記ハードウエア上に動作させる手段と、前記現用ホストOSへ出される要求を前記予備ホストOSに通知し、前記予備ホストOSの状態を変更する手段と、前記現用ホストOSが異常になると、前記仮想計算機システムの管理を前記現用ホストOSから前記予備ホストOSに切り換える手段とを備えることを特徴とする仮想計算機システム。
(付記7)付記6に記載の仮想計算機システムであって、前記現用ホストOSへ出される要求が前記現用ホストOSの状態を変化させる要求である場合、前記要求を前記予備ホストOSに通知する手段を備えることを特徴とする仮想計算機システム。
(付記8)あるハードウエア上に仮想的に動作する現用ホストOSにより管理される仮想計算機システムであって、前記仮想計算機システムに備えられるI/O装置の動作を制御する現用ドライバOSが起動すると、該現用ドライバOSを前記仮想計算機システムに備えられる所定の記録手段にコピーし前記現用ドライバOSと同じ機能をもつ予備ドライバOSを前記ハードウエア上に動作させる手段と、前記ハードウエア上に仮想的に動作するゲストOSから前記現用ドライバOSを介して前記I/O装置へ出される要求を前記予備ドライバOSに通知し、前記予備ドライバOSの状態を変更する手段と、前記I/O装置から前記現用ドライバOSを介して前記ゲストOSへ出される動作完了通知を前記予備ドライバOSに通知し、前記予備ドライバOSの状態を変更する手段と、前記現用ドライバOSが異常になると、前記ゲストOSから出される要求を前記予備ドライバOSを介して前記I/O装置へ通知すると共に、前記I/O装置から出される動作完了通知を前記予備ドライバOSを介して前記ゲストOSへ通知する手段とを備えることを特徴とする仮想計算機システム。
(付記9)付記8に記載の仮想計算機システムであって、前記現用ドライバOSが異常でない場合、前記ゲストOSから前記予備ドライバOSを介して前記I/O装置へ出される要求を破棄すると共に、前記I/O装置から前記予備ドライバOSを介して前記ゲストOSへ出される動作完了通知を破棄する手段を備えることを特徴とする仮想計算機システム。
(付記10)付記6〜9の何れか1つの付記に記載の仮想計算機システムであって、前記現用ホストOSまたは前記現用ドライバOSに対して返答要求を出し、その返答要求に対応する返答が前記現用ホストOSまたは前記現用ドライバOSから所定時間内に出ない場合、前記現用ホストOSまたは前記現用ドライバOSが異常であると判断する手段を備えることを特徴とする仮想計算機システム。
本発明の実施形態のホストOSの二重化を実現するための仮想計算機システムの原理図である。 live migration機能を説明するための図である。 予備ホストOSの状態を常に現用ホストOSの状態と同じにするための仮想計算機システムの動作を示すフローチャートである。 現用ホストOSから予備ホストOSへ引継ぎを行う際の仮想計算機システムの動作を示すフローチャートである。 本発明の実施形態のドライバOSの二重化を実現するための仮想計算機システムの原理図である。 ゲストOSと現用ドライバOSと予備ドライバOSとの関係を示す図である。 予備ドライバOSの状態を常に現用ドライバOSの状態と同じにするための仮想計算機システムの動作を示すフローチャートである。 ゲストOSから仮想計算機モニタへ出される要求を示す図である。 仮想計算機モニタからI/O装置へ通知される指示を示す図である。 仮想計算機モニタからドライバOSへ通知される動作完了通知を示す図である。 現用ドライバOSから予備ドライバOSへ引継ぎを行うための仮想計算機システムの動作を示すフローチャートである。 現用ドライバOSが異常になった場合の仮想計算機システムを示す図である。 現用ドライバOSが異常になった場合の仮想計算機システムを示す図である。 本実施形態の仮想計算機システムのハードウエア構成の一例を示す図である。 本実施形態の仮想計算機システムを記録媒体として構成する場合のその記録媒体の一例を示す図である。 既存の仮想計算機システムを示す図である。 既存の仮想計算機システムにおいてゲストOSとドライバOSと仮想計算機モニタとの関係を示す図である。
符号の説明
10 仮想計算機システム
11 現用ホストOS
12 予備ホストOS
13 仮想計算機モニタ
20 メモリ
21 メモリ
50 仮想計算機システム
51 ゲストOS
52 I/O装置
53 現用ドライバOS
54 予備ドライバOS
55 仮想計算機モニタ
60 データ
140 CPU
141 主記録装置
142 ハードディスク
143 ネットワーク接続装置
144 可搬記録媒体
145 媒体読取り装置
146 入力処理部
147 ディスプレイ
150 媒体駆動装置
151 可搬記録媒体
152 ネットワーク回線
153 記録デバイス
154 情報処理装置
155 メモリ
160 仮想計算機システム
161 ハードウエア
162 ホストOS
163 ゲストOS
164 ドライバOS
165 仮想計算機モニタ
166 I/O装置
167 I/O装置
168 ディスプレイ
169 Frontend Driver
170 Backend Driver
171 実I/Oドライバ

Claims (2)

  1. あるハードウエア上に仮想的に動作する現用ホストOSにより管理される仮想計算機システムを動作制御するためにコンピュータを、
    前記仮想計算機システムに備えられるI/O装置の動作を制御する現用ドライバOSが起動すると、該現用ドライバOSを前記仮想計算機システムに備えられる所定の記録手段にコピーし前記現用ドライバOSと同じ機能をもつ予備ドライバOSを前記ハードウエア上に動作させる手段、
    前記ハードウエア上に仮想的に動作するゲストOSから前記現用ドライバOSを介して前記I/O装置へ出される前記現用ドライバOSの状態の変化が生じる要求について前記予備ドライバOSに通知し、前記予備ドライバOSの状態を前記現用ドライバOSと同じ状態になるように変更する手段、
    前記I/O装置から前記現用ドライバOSを介して前記ゲストOSへ出される前記現用ドライバOSの状態の変化が生じる動作完了通知について前記予備ドライバOSに通知し、前記予備ドライバOSの状態を前記現用ドライバOSと同じ状態になるように変更する手段、
    前記現用ドライバOSが異常になると、前記ゲストOSから出される要求を前記予備ドライバOSを介して前記I/O装置へ通知すると共に、前記I/O装置から出される動作完了通知を前記予備ドライバOSを介して前記ゲストOSへ通知する手段、
    前記現用ドライバOSが異常でない場合、前記ゲストOSから前記予備ドライバOSを介して前記I/O装置へ出される要求を破棄すると共に、前記I/O装置から前記予備ドライバOSを介して前記ゲストOSへ出される動作完了通知を破棄する手段、
    として機能させるためのプログラム。
  2. 請求項1に記載のプログラムであって、
    前記現用ホストOSまたは前記現用ドライバOSに対して返答要求を出し、その返答要求に対応する返答が前記現用ホストOSまたは前記現用ドライバOSから所定時間内に出ない場合、前記現用ホストOSまたは前記現用ドライバOSが異常であると判断する手段、
    として機能させるためのプログラム。
JP2006038557A 2006-02-15 2006-02-15 仮想計算機システムを機能させるためのプログラム Expired - Fee Related JP4585463B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006038557A JP4585463B2 (ja) 2006-02-15 2006-02-15 仮想計算機システムを機能させるためのプログラム
US11/441,779 US20070192765A1 (en) 2006-02-15 2006-05-26 Virtual machine system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006038557A JP4585463B2 (ja) 2006-02-15 2006-02-15 仮想計算機システムを機能させるためのプログラム

Publications (2)

Publication Number Publication Date
JP2007219757A JP2007219757A (ja) 2007-08-30
JP4585463B2 true JP4585463B2 (ja) 2010-11-24

Family

ID=38370244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006038557A Expired - Fee Related JP4585463B2 (ja) 2006-02-15 2006-02-15 仮想計算機システムを機能させるためのプログラム

Country Status (2)

Country Link
US (1) US20070192765A1 (ja)
JP (1) JP4585463B2 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8146079B2 (en) * 2006-07-26 2012-03-27 Hewlett-Packard Development Company, L.P. Systems and methods for controlling resource usage by a driver domain on behalf of a virtual machine
US8782671B2 (en) * 2006-07-26 2014-07-15 Hewlett-Packard Development Company, L. P. Systems and methods for flexibly controlling resource usage by a driver domain on behalf of a virtual machine
JP4969258B2 (ja) * 2007-01-30 2012-07-04 株式会社日立製作所 仮想計算機システムのi/oデバイス障害処理方法
JP4782042B2 (ja) * 2007-02-21 2011-09-28 富士通株式会社 電子計算機及びソフトウェアによるユーザインタフェースの実現方法
US7685474B2 (en) * 2007-03-16 2010-03-23 Symantec Corporation Failsafe computer support assistant using a support virtual machine
JP4468426B2 (ja) 2007-09-26 2010-05-26 株式会社東芝 高可用システム及び実行状態制御方法
US20090132804A1 (en) * 2007-11-21 2009-05-21 Prabir Paul Secured live software migration
JP2009211620A (ja) * 2008-03-06 2009-09-17 Hitachi Information Systems Ltd 仮想環境複製方法とシステムおよびプログラム
US8145471B2 (en) * 2008-04-30 2012-03-27 International Business Machines Corporation Non-destructive simulation of a failure in a virtualization environment
WO2009147738A1 (ja) * 2008-06-05 2009-12-10 富士通株式会社 情報処理装置及びその制御方法並びにモニタプログラム
JP2010039913A (ja) * 2008-08-07 2010-02-18 Sony Corp 通信装置、通信方法、及びプログラム
US7996484B2 (en) 2008-12-11 2011-08-09 Microsoft Corporation Non-disruptive, reliable live migration of virtual machines with network data reception directly into virtual machines' memory
US8332848B2 (en) * 2009-03-12 2012-12-11 Red Hat Israel, Ltd. Mechanism for staged upgrades of a virtual machine system
US8689211B2 (en) * 2009-05-25 2014-04-01 International Business Machines Corporation Live migration of virtual machines in a computing environment
JP5099090B2 (ja) * 2009-08-19 2012-12-12 日本電気株式会社 マルチコアシステム、マルチコアシステムの制御方法、及びマルチプロセッサ
CN102104936B (zh) * 2009-12-18 2014-11-05 联想(北京)有限公司 系统状态切换方法及便携终端
JP5487951B2 (ja) 2009-12-22 2014-05-14 富士通株式会社 運用管理プログラム、運用管理装置および運用管理方法
CN102597972B (zh) 2010-05-24 2016-06-08 松下电器(美国)知识产权公司 虚拟计算机系统、区域管理方法
US8826272B2 (en) 2010-11-29 2014-09-02 International Business Machines Corporation Planning a reliable migration in a limited stability virtualized environment
US8677355B2 (en) 2010-12-17 2014-03-18 Microsoft Corporation Virtual machine branching and parallel execution
US9336034B2 (en) 2011-06-28 2016-05-10 Hewlett-Packard Development Company, L.P. Display of host operating system user interface elements within a guest operating system of a virtual machine
GB2506804B (en) 2011-06-28 2020-04-22 Hewlett Packard Development Co Display of operating status information of a client in a remote desktop session
US8490092B2 (en) 2011-07-06 2013-07-16 Microsoft Corporation Combined live migration and storage migration using file shares and mirroring
US8856191B2 (en) 2011-08-01 2014-10-07 Infinidat Ltd. Method of migrating stored data and system thereof
US9223502B2 (en) 2011-08-01 2015-12-29 Infinidat Ltd. Method of migrating stored data and system thereof
CN103136030A (zh) * 2011-11-24 2013-06-05 鸿富锦精密工业(深圳)有限公司 虚拟机管理系统及方法
US9600206B2 (en) 2012-08-01 2017-03-21 Microsoft Technology Licensing, Llc Request ordering support when switching virtual disk replication logs
US9459856B2 (en) * 2013-01-02 2016-10-04 International Business Machines Corporation Effective migration and upgrade of virtual machines in cloud environments
US9176910B2 (en) * 2013-02-15 2015-11-03 International Business Machines Corporation Sending a next request to a resource before a completion interrupt for a previous request
WO2014209286A1 (en) * 2013-06-25 2014-12-31 Empire Technology Development, Llc Reconfiguration with virtual machine switching
WO2015132953A1 (ja) * 2014-03-07 2015-09-11 三菱電機株式会社 計算機装置及び計算機機構
US9507626B1 (en) * 2015-07-20 2016-11-29 Red Had Israel, Ltd. Virtual device backend recovery
JP2018136814A (ja) * 2017-02-23 2018-08-30 日本電信電話株式会社 アプリケーション冗長化管理システムおよびアプリケーション冗長化管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09288590A (ja) * 1996-04-24 1997-11-04 Nec Software Ltd 仮想計算機システム
JP2002041305A (ja) * 2000-07-26 2002-02-08 Hitachi Ltd 仮想計算機システムにおける計算機資源の割当て方法および仮想計算機システム
JP2004005113A (ja) * 2002-05-31 2004-01-08 Nec System Technologies Ltd 複数の実計算機上で動作する仮想計算機システム及びその制御方法
JP2005250840A (ja) * 2004-03-04 2005-09-15 Nomura Research Institute Ltd 耐障害システムのための情報処理装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5157663A (en) * 1990-09-24 1992-10-20 Novell, Inc. Fault tolerant computer system
US5367668A (en) * 1993-02-26 1994-11-22 Stratus Computer, Inc. Method and apparatus for fault-detection
US6772419B1 (en) * 1997-09-12 2004-08-03 Hitachi, Ltd. Multi OS configuration system having an interrupt process program executes independently of operation of the multi OS
JP2001101033A (ja) * 1999-09-27 2001-04-13 Hitachi Ltd オペレーティングシステム及びアプリケーションプログラムの障害監視方法
JP3992427B2 (ja) * 2000-08-01 2007-10-17 株式会社日立製作所 ファイルシステム
JP2005301639A (ja) * 2004-04-12 2005-10-27 Hitachi Ltd Osの障害対応方法およびそのプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09288590A (ja) * 1996-04-24 1997-11-04 Nec Software Ltd 仮想計算機システム
JP2002041305A (ja) * 2000-07-26 2002-02-08 Hitachi Ltd 仮想計算機システムにおける計算機資源の割当て方法および仮想計算機システム
JP2004005113A (ja) * 2002-05-31 2004-01-08 Nec System Technologies Ltd 複数の実計算機上で動作する仮想計算機システム及びその制御方法
JP2005250840A (ja) * 2004-03-04 2005-09-15 Nomura Research Institute Ltd 耐障害システムのための情報処理装置

Also Published As

Publication number Publication date
US20070192765A1 (en) 2007-08-16
JP2007219757A (ja) 2007-08-30

Similar Documents

Publication Publication Date Title
JP4585463B2 (ja) 仮想計算機システムを機能させるためのプログラム
US9122653B2 (en) Migrating virtual machines across sites
JP5463267B2 (ja) 仮想計算機システムおよび仮想計算機の移行方法
US9594522B2 (en) Backup method and information processing apparatus
US20130246355A1 (en) Using virtual machine cloning to create a backup virtual machine in a fault tolerant system
JP5028304B2 (ja) 仮想計算機システム及びその制御方法
JP2006285919A (ja) 計算機システム、計算機及びリモートコピー処理方法
US8255649B2 (en) Remote copy control method and system in storage cluster environment
JP2011060055A (ja) 仮想計算機システム、仮想マシンの復旧処理方法及びそのプログラム
JP2008299509A (ja) 仮想計算機システム
WO2012004902A1 (ja) 計算機システム及び計算機システムの系切替制御方法
US20170139698A1 (en) Information processing apparatus and program update control method
JP2008112399A (ja) ストレージ仮想化スイッチおよびコンピュータシステム
JP2016512912A (ja) メモリデータを移行するための方法、コンピュータ、および装置
JP2009211517A (ja) 仮想計算機冗長化システム
US8090907B2 (en) Method for migration of synchronous remote copy service to a virtualization appliance
JP2004234114A (ja) 計算機システム、計算機装置、オペレーティングシステムの移送方法及びプログラム
JP2015075898A (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
JP5287974B2 (ja) 演算処理システム、再同期方法、およびファームプログラム
US9342451B2 (en) Processor management method
CN112491570A (zh) 一种虚拟网卡链路状态设置方法、装置及存储介质
JP2009230484A (ja) ストレージサブシステム、ストレージシステム、ファームウェア置換方法、及びプログラム
JP2009042932A (ja) 記憶制御装置の制御プログラムの更新方法
WO2010023756A1 (ja) 仮想プロセッサを含む情報処理装置、情報処理方法、およびプログラム
US20080043734A1 (en) Data processing system, data processing apparatus, and data processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100809

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130910

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees