JP2006178552A - Virtual computer system - Google Patents
Virtual computer system Download PDFInfo
- Publication number
- JP2006178552A JP2006178552A JP2004368643A JP2004368643A JP2006178552A JP 2006178552 A JP2006178552 A JP 2006178552A JP 2004368643 A JP2004368643 A JP 2004368643A JP 2004368643 A JP2004368643 A JP 2004368643A JP 2006178552 A JP2006178552 A JP 2006178552A
- Authority
- JP
- Japan
- Prior art keywords
- emulation
- program
- software
- standby
- emulation program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、仮想計算機システムに係り、特に仮想計算機システムのエミュレーションソフトウェア実装方法に関する。 The present invention relates to a virtual machine system, and more particularly to a method for implementing emulation software for a virtual machine system.
従来、信頼性やスピードを求めるメインフレーム等の分野では、用途に応じて開発した専用ハードウェアが用いられてきた。しかし、近年汎用コンピュータの性能は高性能化し、製造技術の向上により信頼性も高まってきたため、汎用コンピュータをこの分野でも利用する機会が増えてきた。 Conventionally, in the field of mainframes and the like that require reliability and speed, dedicated hardware developed according to the application has been used. However, in recent years, the performance of general-purpose computers has become higher, and the reliability has also increased due to improvements in manufacturing technology. Therefore, opportunities for using general-purpose computers in this field have increased.
汎用コンピュータを基本とした新たなシステムを構築した場合、通常ユーザが所有しているソフトウェア・ハードウェア資産をそのまま有効利用することはできない。そこで、汎用コンピュータ上にソフトウェアエミュレーション技術を用いた、従来システム相当の仮想システムをソフトウェアにより実装し、顧客資産を最新ハードウェア上で有効利用する方式が用いられるようになってきた。 When a new system based on a general-purpose computer is constructed, software / hardware assets normally owned by users cannot be effectively used as they are. Therefore, a method has been used in which a virtual system equivalent to a conventional system using software emulation technology is mounted on a general-purpose computer by software, and customer assets are effectively used on the latest hardware.
図1は専用ハードウェアを用いた計算機構成の一例である。図2はソフトウェアエミュレーション方式を用いた計算機構成の一例である。専用ハードウェアを用いた図1では、専用ハードウェア(14)、ファームウェア(13)、ホストオペレーションシステム(以下、ホストOS)(12)、ユーザプログラム(11)から構成される。これに対して、ソフトウェアエミュレーション方式を用いた図2では、汎用ハードウェア(26)と、汎用ハードウェアの上の階層にある、ファームウェア(25)、ホストOS(24)、エミュレーションプログラム(23)、ゲストOS(22)、ユーザプログラム(21)を有する。ソフトウェアエミュレーション方式を用いた図2において、専用ハードウェアを用いた図1のホストOS(12)に相当するのはゲストOS(22)であり、ホストOS(24)、エミュレーションプログラム(23)が追加された形態をとる。 FIG. 1 shows an example of a computer configuration using dedicated hardware. FIG. 2 shows an example of a computer configuration using a software emulation method. In FIG. 1 using dedicated hardware, it is composed of dedicated hardware (14), firmware (13), host operation system (hereinafter referred to as host OS) (12), and user program (11). On the other hand, in FIG. 2 using the software emulation method, the general-purpose hardware (26) and the firmware (25), the host OS (24), the emulation program (23), which are in the hierarchy above the general-purpose hardware, It has a guest OS (22) and a user program (21). In FIG. 2 using the software emulation method, the guest OS (22) corresponds to the host OS (12) of FIG. 1 using dedicated hardware, and the host OS (24) and the emulation program (23) are added. Takes the form.
図3はソフトエミュレーション方式を用いた構成における、エミュレーションプログラムの一例である。各モジュールは専用ハードウェアを用いた構成を模した形態をとり、命令を実行するIP(命令実行プロセッサ)(231)、システム監視を行うSVP(サービスプロセッサ)(232)、I/O処理全般をコントロールするIOP(I/Oプロセッサ)(234)、I/O機器を制御するIOC(I/O制御プロセッサ)(235)を有する。また、エミュレーションプログラムの確保したヒープメモリ(236)に仮想レジスタ領域(2351)、仮想メモリ領域(2352)を配置する。ゲストOS(22)のプログラムは仮想メインメモリ(2352)にロードし、IP(231)はIOP(234)を介してこれらの命令を受け取る。IP(231)は受け取った命令をホストOS、汎用ハードウェアに適合した形式に変換したあと演算処理を実行し、その演算結果を仮想レジスタ(2351)や仮想メインメモリ(2352)へ書き込む。これらの処理により、ゲストOSは実行環境を意識せずに従来の専用ハードウェア相当の機能を実現する。 FIG. 3 shows an example of an emulation program in a configuration using a software emulation method. Each module takes a form simulating a configuration using dedicated hardware. An IP (instruction execution processor) (231) that executes instructions, an SVP (service processor) (232) that performs system monitoring, and general I / O processing An IOP (I / O processor) (234) for controlling and an IOC (I / O control processor) (235) for controlling I / O devices are included. Further, a virtual register area (2351) and a virtual memory area (2352) are arranged in the heap memory (236) secured by the emulation program. The program of the guest OS (22) is loaded into the virtual main memory (2352), and the IP (231) receives these instructions via the IOP (234). The IP (231) converts the received instruction into a format compatible with the host OS and general-purpose hardware, executes arithmetic processing, and writes the arithmetic result into the virtual register (2351) and the virtual main memory (2352). With these processes, the guest OS realizes a function equivalent to conventional dedicated hardware without being aware of the execution environment.
なお、システムハードウェアの冗長化により信頼性を向上させる方法が、特開平10−240556号公報に記載されている。 A method for improving the reliability by making the system hardware redundant is described in JP-A-10-240556.
汎用コンピュータ・汎用OSとソフトウェアエミュレーションを組み合わせた仮想計算機システムでは、従来の専用ハードウェアを用いた計算機システムと比較して、ソフトウェアエミュレーション・汎用OSが汎用ハードとの間に介在するため、信頼性を下げてしまう。システムの冗長化による信頼性向上策は、追加システムが必要となり、ユーザの導入コストに大きく影響する。 In a virtual computer system combining a general-purpose computer / general-purpose OS and software emulation, the software emulation / general-purpose OS is interposed between the general-purpose hardware and the computer system using the dedicated hardware. I will lower it. In order to improve reliability by system redundancy, an additional system is required, which greatly affects the introduction cost of the user.
本発明は、単体ハード・単一OSで信頼性を向上させることを目的とする。 An object of the present invention is to improve reliability with a single hardware and a single OS.
本発明は、1つのOS上に、通常の現用系ソフトウェアエミュレーションプログラムと待機系エミュレーションプログラムを配置する。各々の属性の優劣によって、現用系または待機系となる。これらのエミュレーションプログラムは互いに状態監視を行い、異常検出時には即座に待機系エミュレーションプログラムへと処理を引継ぐ。待機系エミュレーションプログラムはその時点で属性を変更し現用系エミュレーションプログラムとなり、起動を引き継ぐと自プログラムに対する待機系エミュレーションプログラムを生成する。エミュレーション対象OSは共有メモリ領域に配置し、待機系への切り替え時に実行開始アドレスを取得することにより処理の継続を可能とする。 In the present invention, a normal active software emulation program and a standby emulation program are arranged on one OS. Depending on the superiority or inferiority of each attribute, the active system or standby system is selected. These emulation programs monitor each other's status, and immediately take over the processing to the standby emulation program when an abnormality is detected. The standby system emulation program changes the attribute at that time to become the active system emulation program, and when it takes over the activation, generates a standby system emulation program for its own program. The emulation target OS is placed in the shared memory area, and the processing can be continued by acquiring the execution start address when switching to the standby system.
ソフトウェアエミュレーション方式を用いた仮想計算機に適用することにより、現用系エミュレーションプログラムの障害発生時に、待機系エミュレーションプログラムへと処理を引き継ぐことが可能となり、さらにシステムダウンを回避することが可能である。また、ソフトウェアエミュレーション方式を用いた仮想計算機における信頼性の向上が可能である。 By applying to a virtual computer using the software emulation method, when a failure occurs in the active emulation program, it is possible to take over the processing to the standby emulation program, and further avoid a system down. Further, it is possible to improve the reliability in a virtual machine using a software emulation method.
以下、図面を使用して本発明を実施する場合の一形態を具体的に説明する。 Hereinafter, an embodiment of the present invention will be specifically described with reference to the drawings.
図4は、本発明実施の一形態を示すシステム構成図である。汎用ハードウェア(37)、ファームウェア(36)、ホストOS(35)、エミュレーションプログラムA(33)、エミュレーションプログラムB(34)、ゲストOS(32)、ユーザソフトウェア(31)で構成する。従来技術として説明済みである図2と比較して、エミュレーションプログラムを2つ配置していることが特徴である。 FIG. 4 is a system configuration diagram showing an embodiment of the present invention. It comprises general-purpose hardware (37), firmware (36), host OS (35), emulation program A (33), emulation program B (34), guest OS (32), and user software (31). Compared with FIG. 2 which has been described as the prior art, it is characterized in that two emulation programs are arranged.
この2つのエミュレーションプログラムについて、図5を用いて説明する。 These two emulation programs will be described with reference to FIG.
本実施の形態にて使用するエミュレーションレイヤは、エミュレーションプログラムA(33)、エミュレーションプログラムB(34)、ホストOS共有ヒープメモリ(39)を有する。2つのエミュレーションプログラムはそれぞれ別プロセスで実行し、エミュレーションプログラムA(33)よりエミュレーションプログラムB(34)を生成する。従来のシステムとの相違点として、プロセス同期制御部SNC(335)(345)を有する。このSNCはお互いにエミュレーションプログラムを監視し、エミュレーションプログラム異常時の動作引継ぎ処理やバックアッププログラムを生成する。また、従来はエミュレーションプログラムのヒープメモリ236に配置していた仮想メインメモリ、仮想レジスタをホストOSの共有ヒープメモリ(39)へ配置し、双方のエミュレーションプログラムから仮想メインメモリ(392)、仮想レジスタ(391)へのアクセスを可能としている。
The emulation layer used in this embodiment has an emulation program A (33), an emulation program B (34), and a host OS shared heap memory (39). The two emulation programs are executed in separate processes, and an emulation program B (34) is generated from the emulation program A (33). As a difference from the conventional system, a process synchronization control unit SNC (335) (345) is provided. The SNCs mutually monitor the emulation program and generate an operation takeover process and a backup program when the emulation program is abnormal. Further, the virtual main memory and virtual register that have been conventionally arranged in the
エミュレーションプログラムA(33)とエミュレーションプログラムB(34)の動作について、図5を用いて説明する。 Operations of the emulation program A (33) and the emulation program B (34) will be described with reference to FIG.
ホストOS(35)が起動すると、まずエミュレーションプログラムA(33)を現用系として起動する。エミュレーションプログラム内の各モジュールはスレッドとして起動し、初期設定を開始する。設定が完了すると、SVP(332)はゲストOS(32)を仮想メインメモリ(392)へロードし、起動処理を実行する。本実施の形態では、SVP(332)は起動処理実行前にSNC(335)へ起動準備完了通知を行い、SNC(335)からの起動指示でゲストOS(32)の実行を開始する。SNC(335)はOSのシステムコールfork()を用いて、エミュレーションプログラムB(34)をエミュレーションプログラムA(33)の複製として作成し、待機系とする。 When the host OS (35) is activated, the emulation program A (33) is first activated as the active system. Each module in the emulation program starts as a thread and starts the initial setting. When the setting is completed, the SVP (332) loads the guest OS (32) into the virtual main memory (392), and executes a startup process. In this embodiment, the SVP (332) notifies the SNC (335) of the start preparation completion before executing the start process, and starts executing the guest OS (32) in response to the start instruction from the SNC (335). The SNC (335) uses the OS system call fork () to create the emulation program B (34) as a copy of the emulation program A (33) as a standby system.
この場合の、SNCの動作を図6を用いて説明する。図6はSNCの動作を示すフローチャートである。現用系エミュレーションプログラム(33)が起動し(401)、SVPからの起動準備完了通知を受けた(402)SNCは、はじめに自プログラムが現用系エミュレーションプログラムであるのか、待機系エミュレーションプログラムであるかを調べる(403)。これは、各々のプログラムの属性で判断する。すなわち、自プログラムで行っているプロセスが親プロセスであるか、子プロセスであるかに基づいて判定し、親プロセスであれば現用系エミュレーションプログラム、子プロセスであれば待機系エミュレーションプログラムである。ここで、現用系エミュレーションプログラムである親プロセスであると識別すると、子プロセスである待機系エミュレーションプログラムが存在するか否かを確認する(404)。待機系エミュレーションプログラムが存在しない場合、ホストOSのシステムコールであるfork()機能を用いて自プログラムの複製を作成し、待機系エミュレーションプログラムとする(405)。 The operation of the SNC in this case will be described with reference to FIG. FIG. 6 is a flowchart showing the operation of the SNC. The active emulation program (33) is started (401), and the start preparation completion notification from the SVP is received (402). The SNC first determines whether the own program is the active emulation program or the standby emulation program. Check (403). This is determined by the attribute of each program. That is, a determination is made based on whether the process performed by the own program is a parent process or a child process. If the process is a parent process, the active emulation program is used, and if the process is a child process, a standby emulation program is used. Here, if it is identified as a parent process that is an active emulation program, it is checked whether a standby emulation program that is a child process exists (404). If the standby emulation program does not exist, a copy of the own program is created by using the fork () function that is a system call of the host OS, and is set as a standby emulation program (405).
このとき、待機系エミュレーションプログラムは現用系エミュレーションプログラムの完全な複製であり、同じ動作を行うプロセスが2つ実行されることになってしまう。そこで、再度プロセス属性の判定を行い(406)、親プロセスである場合には、現用系エミュレーションプログラムとしての動作モード設定(407)、SVPへのエミュレーション開始通知(408)を行う。子プロセスである場合には、子プロセスとしての動作モード設定(413)、SVPへのエミュレーション待機通知を行う。なお、待機系エミュレーションプログラム作成後、待機系SNCからSVPへ行われるエミュレーション待機通知は各モジュールへ即座に通知され、新たな処理が実行される前に各モジュールが停止するものとする。 At this time, the standby emulation program is a complete copy of the active emulation program, and two processes that perform the same operation are executed. Therefore, the process attribute is determined again (406), and if it is a parent process, the operation mode setting (407) as the active system emulation program and the emulation start notification (408) to the SVP are performed. If it is a child process, an operation mode setting (413) as a child process is performed, and an emulation standby notification is sent to the SVP. It should be noted that after the standby emulation program is created, the emulation standby notification sent from the standby SNC to the SVP is immediately notified to each module, and each module is stopped before a new process is executed.
次に、プロセス属性判定(403)で子プロセスであると識別した場合、ならびに子プロセスの判定処理(404)で子プロセスが存在する場合の処理について説明する。これは障害監視処理であり、現用系SNC-待機系SNC間でプロセス間通信を行い実行状態を確認するとともに、対向プロセスの有無確認を行う。現用系エミュレーションプログラム(親プロセス)が異常であると判定した場合(409)、待機系エミュレーションプログラム(子プロセス)で親プロセス異常処理(410)を実行する。また、待機系エミュレーションプログラム(子プロセス)が異常と判定した場合(411)、現用系エミュレーションプログラム(親プロセス)で子プロセス異常処理(412)を実行する。 Next, processing when the process attribute determination (403) identifies a child process and when the child process determination processing (404) includes a child process will be described. This is a failure monitoring process, in which inter-process communication is performed between the active SNC and the standby SNC to check the execution state and the presence / absence of the opposite process. If it is determined that the current system emulation program (parent process) is abnormal (409), the parent process abnormality process (410) is executed by the standby system emulation program (child process). If the standby emulation program (child process) is determined to be abnormal (411), the child emulation process (412) is executed by the active emulation program (parent process).
このプロセス異常処理について、図7、図8を用いて説明する。図7は待機系エミュレーションプログラム(子プロセス)における親プロセス異常処理である。親プロセスが実行中である場合(4092)、ヘルスチェックに用いている現用系SNC-待機系SNC間のプロセス間通信機能を用いて、現用系エミュレーションプログラム(親プロセス)の停止処理を要求する(4096)。停止処理実行後、さらに実行中であった場合(4094)、親プロセスの強制停止(kill)を行い(4095)、異常処理を終了する。この時点で現用系エミュレーションプログラムは存在せず、待機系エミュレーションプログラムが現用系エミュレーションプログラム(親プロセス)となり、図6のループへと戻る。プロセス属性判定部(403)、子プロセスの有無判定(404)、待機系エミュレーションプロセス(子プロセス)の生成(405)、プロセス属性判定(407)、動作モード設定(407)、SVPへのエミュレーション開始通知(408)と続き、自プログラムのバックアップ用子プロセス生成、エミュレーションの実行を行う。この時、仮想レジスタ(391)、仮想メモリ(392)のデータを引き継ぎ、仮想レジスタ(391)に格納しているプログラムカウンタの値よりエミュレーションを再開する。この機能により、エミュレーションを実行している現用系エミュレーションプログラムが停止した場合にも、待機系エミュレーションプログラムへ処理を引き継ぐことができ、機能を継続することが可能となる。また、現用系エミュレーションプログラムが自プログラムのバックアップ(待機系エミュレーションプログラム)を自動的に作成するため、プロセスが継続して引き継がれ、異常時にもシステムダウンしにくいシステムとする事が可能である。 This process abnormality process will be described with reference to FIGS. FIG. 7 shows parent process abnormality processing in a standby emulation program (child process). If the parent process is being executed (4092), a stop process for the active emulation program (parent process) is requested using the inter-process communication function between the active SNC and standby SNC used for the health check (4092). 4096). After the stop process is executed, if it is still being executed (4094), the parent process is forcibly stopped (kill) (4095), and the abnormal process is terminated. At this point, there is no working emulation program, the standby emulation program becomes the working emulation program (parent process), and the process returns to the loop of FIG. Process attribute determination unit (403), presence / absence determination of child process (404), generation of standby emulation process (child process) (405), process attribute determination (407), operation mode setting (407), start of emulation to SVP Following the notification (408), a child process for backup of the own program is generated and emulation is executed. At this time, the data in the virtual register (391) and the virtual memory (392) is taken over, and the emulation is restarted from the value of the program counter stored in the virtual register (391). With this function, even if the active emulation program that is executing the emulation stops, processing can be taken over by the standby emulation program, and the function can be continued. In addition, since the current system emulation program automatically creates a backup (standby system emulation program) of its own program, it is possible to make the system in which the process is continued and the system is unlikely to be down even in the event of an abnormality.
図9はこれらの仕組みを、各プロセスに着目して記述したものである。現用系エミュレーションプログラムA(33)が起動し(501)、SNC(335)がSVP(332)からの起動準備完了通知を受けると(502)、SNC(335)は待機系エミュレーションプログラムBのプロセス有無を確認する(503)。初回起動時に待機系エミュレーションプログラムは生成されていないので、自プログラムの複製として、エミュレーションプログラムB(子プロセス)(34)を生成する(504)。エミュレーションプログラム(504)(511)はそれぞれのプロセスの属性(親プロセス、子プロセス)の状態から動作モードを設定し(505)(512)、SVPへエミュレーション開始指示(506)、エミュレーション待機指示を送信する(513)。ここで、現用系エミュレーションプログラム(33)に障害が発生した場合を想定する。(508)にて障害が発生し、ヘルスチェックに失敗、プロセスはそのまま残っている状態に陥ったと想定する(515)。この場合、まずSNC(345)はSNC(335)にエミュレーションプログラム終了コマンドを発行する(516)。それでも、プロセスが終了されない場合には、エミュレーションプログラムの強制終了を行う(518)。現用系エミュレーションプログラムA(33)が終了後、待機系エミュレーションプログラムB(34)は現用系エミュレーションプログラムBとなり(519)、自プログラムのバックアップである待機系エミュレーションプログラムCを生成する(520)(523)。その後も、障害発生のたびに、同様のプロセスを繰り返す。 FIG. 9 describes these mechanisms focusing on each process. When the active emulation program A (33) is activated (501) and the SNC (335) receives an activation preparation completion notification from the SVP (332) (502), the SNC (335) indicates whether there is a standby emulation program B process. Is confirmed (503). Since the standby system emulation program is not generated at the first activation, the emulation program B (child process) (34) is generated as a copy of the own program (504). The emulation program (504) (511) sets the operation mode from the state of the attribute (parent process, child process) of each process (505) (512), sends an emulation start instruction (506) to the SVP, and sends an emulation standby instruction (513). Here, it is assumed that a failure has occurred in the active emulation program (33). It is assumed that a failure has occurred at (508), the health check has failed, and the process has been left as it is (515). In this case, the SNC (345) first issues an emulation program end command to the SNC (335) (516). If the process is not terminated, the emulation program is forcibly terminated (518). After the active system emulation program A (33) ends, the standby system emulation program B (34) becomes the active system emulation program B (519), and the standby system emulation program C, which is a backup of its own program, is generated (520) (523). ). Thereafter, the same process is repeated each time a failure occurs.
次に、図6(409)(411)で行われているヘルスチェックについて説明する。このヘルスチェックは各エミュレーションプログラムのSNC(335)-(345)間で、プロセス間通信として実行する。 Next, the health check performed in FIGS. 6 (409) and (411) will be described. This health check is executed as interprocess communication between SNCs (335)-(345) of each emulation program.
図10に、ヘルスチェックに用いるデータフォーマットを示す。ヘルスチェックデータ(60)は16bitからなり、オペレーション(601)、ステータス(602)、タイムスタンプ(603)で構成する。オペレーションフィールド(601)は1bitからなり、ヘルスチェックデータが通常のヘルスチェックなのか、エミュレーションプログラム異常時の停止要求データなのかを示す。ステータスフィールド(602)は、ヘルスチェックデータ送信側エミュレーションプログラムの実行状態を示し、0:実行待機(待機系エミュレーションプログラムの正常状態)、1:命令実行中、2:wait、3:停止中(エミュレーションプログラム以外の障害)を示す。タイムスタンプフィールドは13bitからなり、送信側システム時計時刻の分以下をミリ秒単位に変換し、フィールドのデータとする。 FIG. 10 shows a data format used for the health check. The health check data (60) consists of 16 bits, and consists of an operation (601), a status (602), and a time stamp (603). The operation field (601) consists of 1 bit and indicates whether the health check data is a normal health check or stop request data when the emulation program is abnormal. The status field (602) indicates the execution state of the emulation program on the health check data transmission side, 0: waiting for execution (normal state of standby system emulation program), 1: executing instruction, 2: waiting, 3: stopping (emulation) Indicates a non-program failure). The time stamp field is made up of 13 bits, and a minute or less of the system clock time on the transmission side is converted into millisecond units to obtain field data.
本実施の形態では、システムが正常動作時、「200[ms]+ヘルスチェックにかかる時間」の周期で、ヘルスチェックを実行する。この時、SNC(335)(345)は対向プロセスへヘルスチェックデータを投げると同時に、受信したヘルスチェックデータを刈り取り、データ受信タイムスタンプを更新する。このタイムスタンプが1秒を超えたとき、ヘルスチェック異常とみなす。 In the present embodiment, when the system is operating normally, the health check is executed at a cycle of “200 [ms] + time required for health check”. At this time, the SNC (335) (345) throws the health check data to the opposite process, and at the same time, reaps the received health check data and updates the data reception time stamp. When this time stamp exceeds 1 second, it is considered as a health check abnormality.
上記の通り、本発明は以下の構成を有する。 As described above, the present invention has the following configuration.
第1に、単一OS上にソフトウェアエミュレーションによる1台の仮想計算機を実現する仮想計算機システムにおいて、現用系エミュレーションソフトウェアと待機系エミュレーションソフトウェアを配置し、現用系エミュレーションソフトウェア障害時には待機系エミュレーションソフトウェアに処理を引き継ぎ、待機系にて運用継続を行う。 First, in a virtual machine system that implements a single virtual machine by software emulation on a single OS, the current system emulation software and standby system emulation software are placed, and if the current system emulation software fails, the standby system emulation software is processed. To continue operation in the standby system.
さらに、現用系エミュレーションソフトウェアと待機系エミュレーションソフトウェアの間でお互いの状態監視を行い、その監視結果に基づき仮想計算機の運用を行う。 Furthermore, the status emulation is monitored between the active emulation software and the standby emulation software, and the virtual machine is operated based on the monitoring result.
または、現用系エミュレーションソフトウェアが障害により待機系エミュレーションソフトウェアに切り替わった後、待機系エミュレーションソフトウェアを現用系エミュレーションソフトウェアとし、さらに現用系となったエミュレーションソフトウェアが待機系エミュレーションソフトウェアを自動的に起動する。 Alternatively, after the active emulation software is switched to the standby emulation software due to a failure, the standby emulation software becomes the active emulation software, and the active emulation software automatically activates the standby emulation software.
これらの機能により早期に異常を検出し、待機系エミュレーションプログラムへと機能を引き継ぐ事によりシステムダウンが減少し、結果として信頼性の向上が可能となる。 By detecting abnormalities early with these functions and taking over the functions to the standby emulation program, the system downtime is reduced, and as a result, the reliability can be improved.
21・・・ユーザプログラム、22・・・ゲストOS。23・・・エミュレーションプログラム、24・・・ホストOS、25・・・ファームウェア、26・・・汎用ハードウェア、231・・・、232・・・SVP、234・・・IOP、235・・・IOC、2351・・・仮想レジスタ、2352・・・仮想メインメモリ、236・・・ヒープメモリ
21 ... User program, 22 ... Guest OS. 23 ... Emulation program, 24 ... Host OS, 25 ... Firmware, 26 ... General-purpose hardware, 231 ..., 232 ... SVP, 234 ... IOP, 235 ... IOC , 2351 ... virtual register, 2352 ... virtual main memory, 236 ... heap memory
Claims (1)
共有メモリ領域に割り当てられたオペレーティングシステムと、
前記オペレーティングシステム上に搭載され、各々属性が異なる第1のエミュレーションソフトウェアと第2のエミュレーションソフトウェアを有し、
前記第1、第2のエミュレーションソフトウェアは相互のソフトウェア上の障害監視を実行するものであって、
いずれか一方のソフトウェアにおいてソフトウェア処理中に障害が発生した場合には前記属性を変更し、障害が発生したソフトウェア処理を他方のソフトウェアが引継ぐことを特徴とする仮想計算機システム。
In a virtual machine system that realizes a virtual machine by software emulation,
An operating system assigned to the shared memory area;
A first emulation software and a second emulation software installed on the operating system, each having different attributes;
The first and second emulation software execute fault monitoring on each other's software,
A virtual computer system characterized in that, when a failure occurs during software processing in any one software, the attribute is changed, and the other software takes over the software processing in which the failure has occurred.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004368643A JP2006178552A (en) | 2004-12-21 | 2004-12-21 | Virtual computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004368643A JP2006178552A (en) | 2004-12-21 | 2004-12-21 | Virtual computer system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006178552A true JP2006178552A (en) | 2006-07-06 |
Family
ID=36732640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004368643A Pending JP2006178552A (en) | 2004-12-21 | 2004-12-21 | Virtual computer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006178552A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014139706A (en) * | 2013-01-21 | 2014-07-31 | Nec Corp | Fault tolerant system |
JP7524562B2 (en) | 2020-03-18 | 2024-07-30 | 株式会社デンソー | Processor and method for making the processor redundant |
-
2004
- 2004-12-21 JP JP2004368643A patent/JP2006178552A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014139706A (en) * | 2013-01-21 | 2014-07-31 | Nec Corp | Fault tolerant system |
JP7524562B2 (en) | 2020-03-18 | 2024-07-30 | 株式会社デンソー | Processor and method for making the processor redundant |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9176834B2 (en) | Tolerating failures using concurrency in a cluster | |
JP5851503B2 (en) | Providing high availability for applications in highly available virtual machine environments | |
US8037367B1 (en) | Method and system for providing high availability to computer applications | |
US6477663B1 (en) | Method and apparatus for providing process pair protection for complex applications | |
US8880936B2 (en) | Method for switching application server, management computer, and storage medium storing program | |
JP2004295738A (en) | Fault-tolerant computer system, program parallelly executing method and program | |
JP5548647B2 (en) | Partial failure handling method in computer system | |
JP4315016B2 (en) | System switching method for computer system | |
US7162714B2 (en) | Software-based watchdog method and apparatus | |
JP2008052407A (en) | Cluster system | |
JP2004302632A (en) | Computer processing method, execution system therefor and processing program therefor | |
JP5425720B2 (en) | Virtualization environment monitoring apparatus and monitoring method and program thereof | |
JP5287974B2 (en) | Arithmetic processing system, resynchronization method, and farm program | |
JP2012014674A (en) | Failure recovery method, server, and program in virtual environment | |
WO2007099606A1 (en) | Processor control method | |
CN106528276A (en) | Fault processing method based on task scheduling | |
JP2011243012A (en) | Memory dump acquisition method for virtual computer system | |
JP2001101032A (en) | Os monitoring system under inter-different kind of os control | |
US9697026B1 (en) | High availability service virtual machine in virtualization environment | |
JP2006178552A (en) | Virtual computer system | |
JP2002049509A (en) | Data processing system | |
JP2003186681A (en) | Multiple computer system | |
JP3022768B2 (en) | Virtual computer system | |
CN116264548A (en) | In-service software upgrades with active service monitoring | |
US20070058525A1 (en) | Monitoring a problem condition in a communications system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060425 |