JP4494263B2 - Service system redundancy method - Google Patents
Service system redundancy method Download PDFInfo
- Publication number
- JP4494263B2 JP4494263B2 JP2005087523A JP2005087523A JP4494263B2 JP 4494263 B2 JP4494263 B2 JP 4494263B2 JP 2005087523 A JP2005087523 A JP 2005087523A JP 2005087523 A JP2005087523 A JP 2005087523A JP 4494263 B2 JP4494263 B2 JP 4494263B2
- Authority
- JP
- Japan
- Prior art keywords
- service
- memory
- active
- service processing
- information
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Hardware Redundancy (AREA)
Description
本発明はサービスシステムの冗長化方式に関し、更に詳しくは、コンピュータのプログラム実行により所定のサービス機能を提供するサービスシステムの冗長化方式に関する。今日、各種通信制御装置等の様々なサービス機能がコンピュータのプログラム実行により実現されており、このようなサービスシステムの性能及び信頼性の向上が望まれる。 The present invention relates to a service system redundancy system, and more particularly to a service system redundancy system that provides a predetermined service function by executing a computer program. Today, various service functions such as various communication control devices are realized by computer program execution, and it is desired to improve the performance and reliability of such service systems.
従来、この種のサービスシステムの中断時間を短くする方法としては、コンピュータシステムのCPUのみならずメモリその他のハードウェア全てを物理的に二重化(冗長化)し、両系の同期を常に実施することで、運用系のコンピュータシステムが故障した場合でも、待機側のコンピュータシステムがメモリの運用情報等を速やかに引き継ぎ、待機系を新しい運用系として、故障が発生するまでのサービス状態を維持したままサービスを再開させる方法がある。これにより、短いサービス中断時間で故障情報を収集しながらサービスを速やかに復旧できる。 Conventionally, as a method of shortening the interruption time of this type of service system, not only the CPU of the computer system but also all other hardware such as memory are physically duplicated (redundant), and both systems are always synchronized. Even if the active computer system fails, the standby computer system can quickly take over the memory operation information, etc., making the standby system a new active system and maintaining the service status until the failure occurs. There is a way to resume. As a result, the service can be quickly recovered while collecting failure information in a short service interruption time.
しかし、ハードウェアの二重化は、導入コストや消費電力が多くかかる欠点がある。しかも、実際に発生する障害(故障)のほとんどが、ソフトウェアの誤り(バグ)や過負荷による障害であり、実際にハードウェアが故障して系が切り替わることは少なく、ハードウェアを二重化することは、投資として過剰であるケースが多かった。 However, the duplication of hardware has a drawback that a lot of introduction cost and power consumption are required. Moreover, most of the failures (failures) that actually occur are failures due to software errors (bugs) or overloads, and it is unlikely that the hardware will actually fail and the system will switch, and it is not possible to duplicate hardware. In many cases, the investment was excessive.
また、従来のコンピュータシステムには、処理を継続出来ない様な致命的なエラーが発生した際に、プログラムを強制終了し、直前のメモリやレジスタの内容を故障情報ファイルに出力する機能が設けられており、障害発生要因の究明に不可欠な機能である。 Also, conventional computer systems are provided with a function that forcibly terminates a program and outputs the contents of the previous memory or register to a failure information file when a fatal error that prevents processing from continuing occurs. It is an indispensable function for investigating the cause of failure.
しかし、その際の故障ファイル出力処理時間は、該当プログラムのロードモジュール(LM)サイズや、プログラム処理内にて捕捉するメモリ領域サイズにより左右されるが、大規模プログラムになると故障ファイルのダンプに十数分間を要することもあり、サービス中断時間に少なからぬ影響を与えていた。 However, the failure file output processing time at that time depends on the load module (LM) size of the corresponding program and the size of the memory area captured in the program processing. It could take several minutes and had a significant impact on service interruption time.
特に、音声を扱うようなリアルタイム性を要求されるサーバシステムでは、プログラム故障時に、プログラムを早急に再起動する必要があるが、故障ファイル情報の収集完了前にプログラムを再起動させるとレジスタやスタック、メモリなどの上書き等が行われるため、有効な情報が採れない恐れがある。 In particular, in a server system that requires real-time processing such as handling audio, it is necessary to restart the program as soon as possible when the program fails. However, if the program is restarted before the failure file information collection is completed, the registers and stack Since the memory is overwritten, there is a possibility that valid information cannot be obtained.
この点、従来は、コンピュータシステムに通常アクセスに使用するシステムバス6とデータをシリアルに転送する保守・診断専用の診断バス7とを設け、ある障害ユニット3からのローカル・メモリ情報を、システムバス6を介して主メモリ1にダンプできない場合は、診断バス7を経由して採取することにより、システムバス6に関連した障害でも、ローカル・メモリ情報を採取可能にしたものが知られている(特許文献1)。
しかし、上記構成は別途シリアル診断バスを設ける比較的簡単なものであるが、システムバス6を使用できないときに、シリアル診断バス7を使用する場合には、必ずしも短い時間に十分な障害情報を収集できない問題がある。 However, although the above configuration is relatively simple with a separate serial diagnostic bus, when the system diagnostic bus 7 cannot be used and the serial diagnostic bus 7 is used, sufficient fault information is always collected in a short time. There is a problem that cannot be done.
本発明は上記従来技術の問題点に鑑みなされたものであり、その目的とする所は、簡単な構成により、故障によるサービス中断を最低限に抑え、かつその際の障害情報を確実に収集可能なサービスシステムの冗長化方式を提供することにある。 The present invention has been made in view of the above-described problems of the prior art, and the object of the present invention is to minimize service interruption due to a failure and to reliably collect failure information at that time with a simple configuration. It is to provide a redundant system of service system.
上記の課題は例えば図1の構成により解決される。即ち、本発明(1)のサービスシステムの冗長化方式は、コンピュータのプログラム実行により所定のサービス機能を提供するサービスシステムの冗長化方式であって、プログラム実行により同一のサービス機能を実現する第1,第2のサービス処理部21A,21Bと、前記第1,第2のサービス処理部にそれぞれ対応して設けられ、サービス運用に係る処理情報を記憶する第1,第2のメモリエリア41A,41Bと、前記第1又は第2のメモリエリアの記憶情報を退避するための退避メモリ60と、前記第1,第2のサービス処理部と前記第1,第2のメモリエリアとからなる対を現用系と待機系として運用するサービス管理部30とを備え、
現用系のサービス処理部21Aは、自己の処理情報を現用系及び待機系のメモリ41A,41Bに書き込むと共に、前記サービス管理部30は、現用系の障害発生により速やかに系を切り替え、かつ旧現用系のメモリエリア41Aに記憶されたログ情報を退避メモリ60に退避し、該旧現用系のサービス処理部21Aが障害中又は該旧現用系のメモリエリア41Aのデータが退避中である期間に、データ書込のあった新現用系メモリ41Bのエリア情報を保持すると共に、前記旧現用系のサービス処理部21Aの復旧により、前記新現用系メモリのエリア情報に対応する記憶データを前記旧現用系のメモリエリア41Aにコピーするものである。
The above problem is solved by the configuration of FIG. That is, the service system redundancy system of the present invention (1) is a service system redundancy system that provides a predetermined service function by computer program execution, and is a first system that realizes the same service function by program execution. , Second
本発明(1)によれば、プログラム実行により実現されるサービス処理部21A,21Bと、二重化されたメモリエリア41A,41Bとを備え、両エリアの記憶情報を同期(一致)させつつ現用系、待機系として運用する簡単な構成により、現用系の障害発生時には、速やかに系を切り替えることが可能であると共に、旧現用系のメモリエリア41Aから従前のサービス処理に係るログ情報を確実に収集できる。更に、データ書込のあった新現用系メモリ41Bのエリア情報を保持するだけの簡単な構成により、旧現用系のサービス処理部21Aの復旧時には、新現用系メモリ41Bの当該エリアのデータで旧現用系(待機系)メモリ41Aの内容を容易に同期(一致)化できる。
According to the present invention (1), the
本発明(2)では、上記本発明(1)において、第1,第2のサービス処理部にそれぞれバインドされて第1,第2のメモリエリアへのメモリアクセスを代行する第1,第2のアダプタ部を備え、現用系のアダプタ部は、通常は該現用系のサービス処理部からのデータ書込命令に従って現用系及び待機系のメモリエリアに同一のデータを書き込むと共に、前記旧現用系(待機系)のサービス処理部が障害中又は該旧現用系(待機系)のメモリエリアのデータが退避中であることにより新現用系のメモリエリアにのみデータを書き込むものである。従って、引き続き運用データの更新が可能であると共に、系切替後の旧現用系のメモリ情報を確実に保護できる。
According to the present invention (2), in the above-mentioned present invention (1), the first and second services that are bound to the first and second service processing units and perform the memory access to the first and second memory areas, respectively. The active adapter unit normally writes the same data to the active and standby memory areas in accordance with a data write command from the active service processing unit, and the old active system ( standby Data is written only to the memory area of the new active system because the service processing unit of the system ) is faulty or the data in the memory area of the old active system ( standby system ) is being saved. Therefore, the operation data can be continuously updated, and the memory information of the old working system after the system switching can be surely protected.
本発明(3)では、上記本発明(1)において、例えば図9に示す如く、第1,第2のサービス処理部21A,21Bが、それぞれ独自のCPU11A,11Bによって動作するように構成されているものである。従って、比較的簡単な二重化構成により、所要のサービス機能を高性能かつ安全に提供できる。
In the present invention ( 3 ), in the present invention (1), as shown in FIG. 9, for example, the first and second
以上述べた如く本発明によれば、故障によるサービス中断を最低限に抑え、かつその際
の障害情報を確実に収集可能であるため、コンピュータを使用したこの種のサービスシステムを安価かつ安全に提供できる。
As described above, according to the present invention, service interruption due to a failure can be minimized, and failure information at that time can be reliably collected. Therefore, this type of service system using a computer can be provided inexpensively and safely. it can.
以下、添付図面に従って本発明に好適なる実施の形態を詳細に説明する。なお、全図を通して同一符号は同一又は相当部分を示すものとする。図1は実施の形態によるコンピュータシステムのブロック図で、マルチプログラミング方式(一つのCPUで複数のサービス処理を並列実行)による構成例を示している。 DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, preferred embodiments of the invention will be described in detail with reference to the accompanying drawings. Note that the same reference numerals denote the same or corresponding parts throughout the drawings. FIG. 1 is a block diagram of a computer system according to an embodiment, and shows a configuration example by a multi-programming method (a plurality of service processes are executed in parallel by one CPU).
図において、100はマルチプログラミング方式によるコンピュータシステム、11はCPU、10A,10Bはサービスプログラムの実行により同一のサービス機能(音声通信機能等)を実現可能なサービスプロセッサA,B、20A,20Bはサービスプログラムを格納する主メモリ(RAM,キャッシュメモリ等)、21A,21Bはサービスプログラムの実行により実現されるサービス処理部A,B、22A,22Bはサービス処理部A,Bによる仮想メモリA,Bのアクセスをそれぞれにインタフェースするアダプタ部A,B、30はサービスプロセッサ10A,10Bの障害の監視、運用系と待機系のサービス運用状態の管理、障害発生時の運用系と待機系の切替制御等を行うサービス管理部、40はサービスシステムの運用に係る各種処理情報を記憶するメモリ(主メモリの一部で良い)、41A,41Bは運用系と待機系とに二重化された仮想メモリA,B、50はオペレーティングシステム(OS)に係るプログラムを記憶しているオペレーティングシステム部、60は仮想メモリA/Bの情報を退避格納するディスク装置(DISK)である。
In the figure, 100 is a multi-programming computer system, 11 is a CPU, 10A and 10B are service processors A, B, 20A and 20B which can realize the same service function (voice communication function, etc.) by executing a service program. Main memories (RAM, cache memory, etc.) for storing programs, 21A and 21B are realized by execution of service programs, and service processing units A, B, 22A and 22B are virtual memories A and B of service processing units A and B. The adapter units A, B, and 30 that interface access respectively perform monitoring of failures of the
なお、以下の説明では、サービス処理部21A,21B等を説明の簡単の為に単にサービス処理部A,B等と呼ぶ。また、このサービス処理部A,Bは機能が二重(冗長)化されており、図はAが現用系で、Bが待機系(予備系)の場合を示している。
In the following description, the
サービス処理部A,B及びサービス管理部30はOS50をプラットフォームとしたCPU11のプログラム実行により実現される。
The service processing units A and B and the
仮想メモリAは運用系のサービス処理部Aがサービス運用に係る処理情報の読み書きに使用する運用メモリであり、また、仮想メモリBは運用系のサービス処理部Aが、障害時の系切替に備えて仮想メモリAと同一の情報をコピーしておく待機メモリであると共に、障害発生時に系が切り替わった場合には、新運用系となったサービス処理部Bが引き続きサービス運用に係る処理情報の読み書きに使用する運用メモリとなる。一方、障害に係るログ情報の収集を完了した仮想メモリAは、運用系のサービス処理部Bが、障害時の切り替えに備えて仮想メモリBと同一の情報をコピーしておく待機メモリとなる。 The virtual memory A is an operational memory used by the active service processing unit A for reading and writing processing information related to service operation, and the virtual memory B is prepared for system switching in the event of a failure by the active service processing unit A. When the system is switched when a failure occurs, the service processing unit B that has become a new active system continues to read and write processing information related to service operation. This is the operational memory used for On the other hand, the virtual memory A that has completed the collection of log information related to the failure becomes a standby memory in which the service processor B of the active system copies the same information as the virtual memory B in preparation for switching at the time of failure.
このように、サービス処理部Aにとっての現用メモリは仮想メモリA、待機メモリは仮想メモリBであり、またサービス処理部Bにとっての現用メモリは仮想メモリB、待機メモリは仮想メモリAであるが、サービス処理部A,Bは同一のソースファイルから生成(コンパイル)されるため、各サービス処理部a,Bでは運用メモリと待機メモリに対するメモリアクセスの行き先(アドレス)の翻訳(変換)を行う必要がある。 Thus, the working memory for the service processing unit A is the virtual memory A and the standby memory is the virtual memory B, and the working memory for the service processing unit B is the virtual memory B and the standby memory is the virtual memory A. Since the service processing units A and B are generated (compiled) from the same source file, it is necessary for each service processing unit a and B to translate (convert) memory access destinations (addresses) for the operation memory and the standby memory. is there.
そこで、アダプタ部Aはサービス処理部Aからの現用,待機メモリに対するアクセスを仮想メモリA,Bに対するアクセスに翻訳し、一方、アダプタ部Bはサービス処理部Bからの現用,待機メモリに対するアクセスを仮想メモリB,Aに対するアクセスに翻訳する。 Therefore, the adapter unit A translates the access to the working and standby memory from the service processing unit A into access to the virtual memories A and B, while the adapter unit B virtualizes the access to the working and standby memory from the service processing unit B. Translate to access to memory B, A.
係る構成により、予め仮想メモリA,Bの記憶情報は一致している。今、サービス処理部Aが現用系であるとすると、アダプタ部Aはサービス処理部Aからのデータ読出命令に
従って仮想メモリAのみからデータ読出Rを行う。また、アダプタ部Aはサービス処理部Aからのデータ書込命令に従って仮想メモリA,Bの同一(対応)エリア)にデータ書込W1,W2を行う。この処理は、あくまでもアダプタ部Aが実行するため、サービスプログラムを記述するプログラマーは、このようなメモリアクセスの仕組みを意識する必要はない。一方、この期間のサービス処理部Bは仮想メモリA,Bに対するメモリアクセスを行っておらず、よって、仮想メモリA,Bの記憶内容はシステムの運用開始後も常に一致している。これにより、サービス管理部30はいつでも速やかに系を切替可能である。
With this configuration, the stored information in the virtual memories A and B is matched in advance. Now, assuming that the service processing unit A is an active system, the adapter unit A performs data reading R only from the virtual memory A in accordance with a data reading command from the service processing unit A. The adapter unit A performs data writing W1 and W2 in the same (corresponding) areas of the virtual memories A and B in accordance with a data write command from the service processing unit A. Since this process is only executed by the adapter unit A, the programmer who writes the service program does not need to be aware of such a memory access mechanism. On the other hand, the service processing unit B during this period does not perform memory access to the virtual memories A and B. Therefore, the stored contents of the virtual memories A and B always match after the system operation is started. As a result, the
図2は実施の形態によるサービスプロセッサの構築手順を説明する図で、サービスプロセッサのソースプログラムからアダプタ部経由で仮想メモリA,Bにアクセスするようなオブジェクトプログラムを生成する手順を示している。サービス処理部A,Bが現用系/待機系に関わらず仮想メモリA,Bを適正にアクセス可能とするためには、サービス処理部A,Bのメモリアクセス部分をアダプタ部A,B経由に変更する必要がある。 FIG. 2 is a diagram for explaining the construction procedure of the service processor according to the embodiment, and shows the procedure of generating an object program for accessing the virtual memories A and B via the adapter unit from the source program of the service processor. In order for the service processing units A and B to properly access the virtual memories A and B regardless of the active / standby system, the memory access part of the service processing units A and B is changed to the adapter units A and B. There is a need to.
これを実現するため、まずサービスプログラムのソースファイルをプリコンパイラに入力してプリコンパイルすると、メモリアクセス部分がアダプタ経由に変換された中間ファイルが生成される。更に、この中間ファイルと、アダプタ部品及びOS依存部品とをリンクさせ、コンパイラでコンパイルすると、最終的な出力として仮想メモリA,Bへのアダプタ部経由のアクセスを考慮したアダプタ対応サービスプログラム(オブジェクトファイル)が生成される。 In order to realize this, when the source file of the service program is first input to the precompiler and precompiled, an intermediate file in which the memory access portion is converted via the adapter is generated. Furthermore, when this intermediate file is linked with the adapter component and the OS-dependent component, and compiled by the compiler, an adapter-compatible service program (object file) that considers access to the virtual memories A and B via the adapter section as the final output ) Is generated.
図3に実施の形態によるプリコンパイラの動作を具体的に示す。ここでは、メモリアクセスに関連するインストラクションがアダプタ部経由のものに変換される。例えば、ソースファイル1における変数定義「static int X」は、内部参照であるので、メモリアクセスには関係しない。一方、「shmget(aa,bb)」は仮想メモリ上にエリアを確保するインストラクションであり、アダプタ部経由の中間ファイル「adp_shmget(aa,bb)」にプリコンパイルされる。他も同様に理解できる。また、ソースファイル2の変数Xは、外部参照「extern int X」であるので、アダプタ部対応に変換される。
FIG. 3 specifically shows the operation of the precompiler according to the embodiment. Here, instructions related to memory access are converted into those via the adapter unit. For example, since the variable definition “static int X” in the
次に、係る構成による現用系障害発生時のリカバリ動作を説明する。図4,図5は実施の形態によるコンピュータシステムの動作を説明する図(1),(2)で、図4は現用系のサービス処理部Aで障害が発生し、運用系を切り替えた際の状態を示している。 Next, the recovery operation when an active system failure occurs with such a configuration will be described. 4 and 5 are diagrams (1) and (2) for explaining the operation of the computer system according to the embodiment. FIG. 4 is a diagram when a failure occurs in the service processor A of the active system and the operating system is switched. Indicates the state.
サービス管理部30及びOS50は、サービス処理部Aの運用状態を監視しており、この状態で、サービス処理部Aで何らかの障害が発生すると、この障害はOS50とサービス管理部30のいずれかで検出される。OS50がシステム運用上の障害を検出した場合は、サービス管理部30に障害発生を通知し、またサービス管理部30がサービス(アプリケーション)運用上の障害を検出した場合は、OS50に対してサービス処理部Aの故障発生を通知する。
The
サービス管理部30は、OS管理下で動作するサービス処理部Aの実行情報(レジスタ情報,スタック情報等)を故障情報として収集し、DISK60上のログファイルに退避する。また、サービス処理部Bにサービスの引き継ぎ要求を通知し、同時に故障したサービス処理部Aが使用していた仮想メモリ領域Aの情報もDISK60に退避する。これらの退避処理は、旧運用系(サービス処理部A、仮想メモリA、サービス管理部30)により行われるため、新運用系のサービス処理部Bから見ると、バックグラウンドで実施されており、ログ収集によるシステム中断時間を最短にし、かつログ収集に伴う負荷によるサービス性能低下を起こさずして、サービスが再開される。
The
一方、新運用系となったサービス処理部(アダプタ部)Bでは、仮想メモリBからデ
ータを読み込み、かつ仮想メモリ、B及びAに同一データを書き込もうとするが、仮想メモリAは障害情報を保護又は収集中のためにデータを書き込めない。そこで、この場合のアダプタ部Bは、少なくとも、仮想メモリBのどのエリアにデータを書き込もうとしたかのエリア情報をサービス管理部30に通知し、サービス管理部30はこれを保持する。
On the other hand, the service processing unit (adapter unit) B, which has become a new operation system, reads data from the virtual memory B and tries to write the same data to the virtual memories B and A, but the virtual memory A protects the failure information. Or data cannot be written because it is being collected. Therefore, the adapter unit B in this case notifies the
図5は仮想メモリAのログ収集退避作業が完了した際の動作を示している。サービス処理部Aがログ収集完了により復旧通知を出力すると、これを受けたサービス管理部30は、現用系のアダプタ部22にコピー要求を行うと共に、上記保存したエリア情報を通知する。これを受けた、アダプタ部Bは、仮想メモリBの当該エリアの情報を読み出して仮想メモリAの対応(同一)エリアに書き込む。上記サービス管理部30に保存したエリアが複数ある場合は、上記同様のコピー処理を繰り返し、こうして、全ての保存エリアのデータコピーを完了すると、仮想メモリB,Aのデータ同期(一致)する。この方法によれば、仮想メモリA,B間で全てのデータをコピーする必要が無いので、効率が良い。
FIG. 5 shows an operation when the log collection / save operation of the virtual memory A is completed. When the service processing unit A outputs a recovery notification upon completion of log collection, the
更に、サービス管理部30は、全コピーの終了後に、サービス処理部Aを待機系として再起動させると共に、その旨をアダプタ部Bに通知し、これにより、アダプタ部Bによる仮想メモリAへのデータ書込W2が始まる。こうして、運用系と待機系とが完全に入れ替わる。
Further, the
図6〜図8は実施の形態によるアダプタ部の動作シーケンス図(1)〜(3)で、アダプタ部の上記動作を実現する幾つかの典型的な動作シーケンスを示している。図6の上半部に現用のサービス処理部Aがアダプタ部Aからメモリエリアを取得する処理を示す。この処理はサービス処理部Aが仮想メモリA,Bのあるエリアをアクセスしたい場合にエリアを確保する前処理として行われる。 FIGS. 6 to 8 are operation sequence diagrams (1) to (3) of the adapter unit according to the embodiment, and show some typical operation sequences for realizing the above-described operation of the adapter unit. The upper half of FIG. 6 shows a process in which the current service processing unit A acquires a memory area from the adapter unit A. This process is performed as a pre-process for securing the area when the service processing unit A wants to access an area with the virtual memories A and B.
サービス処理部Aがアダプタ部Aにメモリエリア取得要求を行うと、アダプタ部AはステップS11でサービス処理部Bの運用状態をチェックすると共に、サービス処理部Bが待機系として運用中(即ち、通常の運用状態)の場合は、ステップS12,S13で仮想メモリA,Bのメモリエリアを取得し、サービス処理部Aにエリア取得応答を行う。また、上記ステップS11の判別でサービス処理部Bが故障又はログ情報を退避中の場合も、ステップS14,S15で仮想メモリA,Bのメモリエリアを取得し、サービス処理部Aにエリア取得応答を行う。 そして、上記何れの場合も、サービス管理部30にメモリエリア取得情報を通知し、これを受けたサービス管理部30はステップS16で取得情報を保持する。これにより、サービス管理部30は、仮想メモリA及び又はBのどのメモリエリアがアクセスされるのかを管理可能となる。なお、この例では、上記ステップS11で処理を分岐させる必要が無いが、説明の明瞭の為に処理を分岐させた。
When the service processing unit A makes a memory area acquisition request to the adapter unit A, the adapter unit A checks the operating state of the service processing unit B in step S11, and the service processing unit B is operating as a standby system (that is, normal) ), The memory areas of the virtual memories A and B are acquired in steps S12 and S13, and an area acquisition response is sent to the service processing unit A. Further, even when the service processing unit B has failed or saved log information in the determination in step S11, the memory areas of the virtual memories A and B are acquired in steps S14 and S15, and an area acquisition response is sent to the service processing unit A. Do. In any of the above cases, the
図6の下半部に現用系のサービス処理部Aがアダプタ部Aからデータを読み出す処理を示す。サービス処理部Aがアダプタ部Aにメモリ読出要求を行うと、アダプタ部AはステップS17で仮想メモリAの前記取得エリアからデータを読み出し、サービス処理部Aにメモリ読出応答を行う。 The lower half of FIG. 6 shows a process in which the active service processing unit A reads data from the adapter unit A. When the service processing unit A makes a memory read request to the adapter unit A, the adapter unit A reads data from the acquisition area of the virtual memory A and sends a memory read response to the service processing unit A in step S17.
図7の上半部は現用のサービス処理部Aが仮想メモリA及び可能なら仮想メモリBに同一データを書き込む処理を示している。サービス処理部Aがアダプタ部Aにメモリ書込要求を行うと、アダプタ部AはステップS21でサービス処理部Bの運用状態をチェックすると共に、サービス処理部Bが待機系として運用中の場合は、ステップS22,S23で仮想メモリA,Bへのデータ書込を行い、サービス処理部Aにメモリ書込応答を行う。また、上記ステップS21の判別でサービス処理部Bが故障中又は退避中の場合は、ステップS24で仮想メモリAにのみデータを書き込み、サービス処理部Aにメモリ書込応答を行う。従って、仮想メモリBの内容破壊を有効に防止できる。 The upper half of FIG. 7 shows a process in which the current service processing unit A writes the same data in the virtual memory A and, if possible, the virtual memory B. When the service processing unit A makes a memory write request to the adapter unit A, the adapter unit A checks the operating state of the service processing unit B in step S21, and if the service processing unit B is operating as a standby system, In steps S22 and S23, data is written to the virtual memories A and B, and a memory write response is sent to the service processing unit A. If it is determined in step S21 that the service processing unit B is in failure or saving, data is written only in the virtual memory A in step S24, and a memory write response is sent to the service processing unit A. Therefore, destruction of the contents of the virtual memory B can be effectively prevented.
図7の下半部に現用系のサービス処理部Aが仮想メモリA.Bのメモリエリアを開放する場合を示す。サービス処理部Aがアダプタ部Aにメモリ開放要求を行うと、アダプタ部AはステップS25でサービス処理部Bの運用状態をチェックすると共に、サービス処理部Bが待機系として運用中の場合は、ステップS26,S27で仮想メモリA,Bのメモリエリア開放を行い、サービス処理部Aにメモリ開放応答を行う。また、上記ステップS25の判別でサービス処理部Bが故障中又は退避中の場合は、ステップS28、S9で仮想メモリA,Bのメモリ解放を行い、サービス処理部Aにメモリ開放応答を行う。 In the lower half of FIG. The case where the memory area B is released is shown. When the service processing unit A makes a memory release request to the adapter unit A, the adapter unit A checks the operating state of the service processing unit B in step S25, and if the service processing unit B is operating as a standby system, the step In S26 and S27, the memory areas of the virtual memories A and B are released, and a memory release response is sent to the service processing unit A. If it is determined in step S25 that the service processing unit B is in failure or saving, the virtual memories A and B are released in steps S28 and S9, and a memory release response is sent to the service processing unit A.
そして、上記何れの場合も、サービス管理部30にメモリ開放情報を通知し、これを受けたサービス管理部30はステップS30で取得情報を保持する。これにより、サービス管理部30は、仮想メモリA,Bへのメッモリアクセスが開放されたことを管理可能となる。
In either case, the
図8にサービス処理部Aの障害復帰(即ち、仮想メモリAのログ情報収集完了)に伴う仮想メモリA,B間のデータを一致させる処理を示す。サービス管理部30はサービス処理部Aからの復旧通知を受けたことにより、ステップS41で仮想メモリBのアクセスに関して保存したメモリエリアがあるか否かを判別する。ある場合は、現用系のアダプタ部Bに仮想メモリB,A間のコピー要求を行い、当該エリア情報を通知する。
FIG. 8 shows a process for matching the data between the virtual memories A and B in accordance with the failure recovery of the service processing unit A (that is, the log information collection of the virtual memory A is completed). Upon receiving the recovery notification from the service processing unit A, the
これを受けたアダプタ部Bは、ステップS50で仮想メモリBの当該エリアのデータを仮想メモリAの対応エリアにコピーし、サービス管理部30にコピー完了応答を行う。
Receiving this, the adapter unit B copies the data in the area of the virtual memory B to the corresponding area of the virtual memory A in step S50, and sends a copy completion response to the
これを受けたサービス管理部30は、ステップS42で当該取得エリアの情報をリセットし、ステップS41に戻る。こうして、やがて、1又は2以上の保存エリアのコピー処理を全て完了すると、サービス処理部Aに待機系再開の通知を行う。
Receiving this, the
図9は他の実施の形態によるコンピュータシステムのブロック図で、二つのCPUにより二つのサービス処理を並列に実行可能なマルチCPU方式による構成例を示している。この例のサービス処理部AはCPU11Aのサービスプログラム実行により実現され、またサービス処理部BはCPU11Bのサービスプログラム実行により実現される。また、CPU−AはOS−Aの下で動作し、CPU−BはOS−Bの下で動作する。こうして、サービス処理部A,Bの処理性能が格段に向上している。
FIG. 9 is a block diagram of a computer system according to another embodiment, and shows a configuration example of a multi-CPU system in which two service processes can be executed in parallel by two CPUs. In this example, the service processing unit A is realized by executing the service program of the
一方、この例のシステム管理部30については、基本的には待機系のCPU11Bのプログラム実行により実現され、この場合の現用系CPU11Aは専ら本来のサービス機能の提供に専念できる。
On the other hand, the
なお、上記実施の形態では、事前にメモリエリアを取得するアクセス方法を示したが、これに限らない。他の様々なメモリアクセス方法を採用できる。 In the above embodiment, an access method for acquiring a memory area in advance has been described. However, the present invention is not limited to this. Various other memory access methods can be employed.
また、上記本発明に好適なる複数の実施の形態を述べたが、本発明思想を逸脱しない範囲内で各部の構成、制御、処理及びこれらの組合せの様々な変更が行えることは言うまでも無い。 Moreover, although several embodiment suitable for the said invention was described, it cannot be overemphasized that the structure of each part, control, a process, and these combination can be variously changed within the range which does not deviate from this invention. .
11 CPU
10A,10B サービスプロセッサA,B
20A,20B 主メモリA,B
21A,21B サービス処理部A,B
22A,22B アダプタ部A,B
30 サービス管理部
41A,41B 仮想メモリA,B
60 ディスク装置(DISK)
100 コンピュータシステム
11 CPU
10A, 10B Service processor A, B
20A, 20B Main memory A, B
21A, 21B Service processing part A, B
22A, 22B Adapter part A, B
30
60 Disk unit (DISK)
100 computer system
Claims (3)
プログラム実行により同一のサービス機能を実現する第1,第2のサービス処理部と、
前記第1,第2のサービス処理部にそれぞれ対応して設けられ、サービス運用に係る処理情報を記憶する第1,第2のメモリエリアと、
前記第1又は第2のメモリエリアの記憶情報を退避するための退避メモリと、
前記第1,第2のサービス処理部と前記第1,第2のメモリエリアとからなる対を現用系と待機系として運用するサービス管理部とを備え、
現用系のサービス処理部は、自己の処理情報を現用系及び待機系のメモリに書き込むと共に、前記サービス管理部は、現用系の障害発生により速やかに系を切り替え、かつ旧現用系のメモリエリアに記憶されたログ情報を前記退避メモリに退避し、該旧現用系のサービス処理部が障害中又は該旧現用系のメモリエリアのデータが退避中である期間に、データ書込のあった新現用系メモリのエリア情報を保持すると共に、前記旧現用系のサービス処理部の復旧により、前記新現用系メモリのエリア情報に対応する記憶データを前記旧現用系のメモリエリアにコピーすることを特徴とするサービスシステムの冗長化方式。 A service system redundancy system that provides a predetermined service function by executing a program on a computer,
First and second service processing units that realize the same service function by program execution;
First and second memory areas respectively provided corresponding to the first and second service processing units and storing processing information relating to service operation;
A save memory for saving storage information in the first or second memory area;
A service management unit that operates a pair of the first and second service processing units and the first and second memory areas as an active system and a standby system;
Service processor of an active system writes the own processing information in the memory of the active system and standby system, the service management unit switches the rapidly system by failure of the working system, and the memory area of the old active system stored log information saved in the save memory, the interval data in the memory area is in retreat of該旧during service processing unit of the active system disorders or該旧working system, new active for which the data write Holding the area information of the active memory and copying the storage data corresponding to the area information of the new active memory to the memory area of the old active system by restoring the service processing unit of the old active system Service system redundancy method.
現用系のアダプタ部は、通常は該現用系のサービス処理部からのデータ書込命令に従って現用系及び待機系のメモリエリアに同一のデータを書き込むと共に、前記旧現用系のサービス処理部が障害中又は該旧現用系のメモリエリアのデータが退避中であることにより新現用系のメモリエリアにのみデータを書き込むことを特徴とする請求項1記載のサービスシステムの冗長化方式。 The first, the bound respectively to the second service processing unit first, first, a second adapter part to act for a memory access to the second memory area,
The active adapter unit normally writes the same data to the active and standby memory areas in accordance with the data write command from the active service processor, and the old active service processor is in failure. 2. The service system redundancy system according to claim 1, wherein the data is written only in the memory area of the new working system because the data in the memory area of the old working system is being saved.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005087523A JP4494263B2 (en) | 2005-03-25 | 2005-03-25 | Service system redundancy method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005087523A JP4494263B2 (en) | 2005-03-25 | 2005-03-25 | Service system redundancy method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006268596A JP2006268596A (en) | 2006-10-05 |
JP4494263B2 true JP4494263B2 (en) | 2010-06-30 |
Family
ID=37204474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005087523A Expired - Fee Related JP4494263B2 (en) | 2005-03-25 | 2005-03-25 | Service system redundancy method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4494263B2 (en) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6172496A (en) * | 1984-09-18 | 1986-04-14 | Fujitsu Ltd | System resuming system of duplex information processor |
JPS62165250A (en) * | 1986-01-16 | 1987-07-21 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | Virtual memory |
JPH0344737U (en) * | 1989-09-11 | 1991-04-25 | ||
JPH03142534A (en) * | 1989-10-28 | 1991-06-18 | Nec Corp | Memory double writing system |
JPH04280551A (en) * | 1991-03-08 | 1992-10-06 | Fujitsu Ltd | Fault information collection system in exchange system |
JPH06342387A (en) * | 1993-05-31 | 1994-12-13 | Nec Corp | Fault information gathering system of information processor |
JPH0827761B2 (en) * | 1986-01-22 | 1996-03-21 | 株式会社日立製作所 | Dual-system simultaneous writing method for dual memory |
JP2695552B2 (en) * | 1991-12-06 | 1997-12-24 | 富士通株式会社 | Failure handling method |
WO1999026138A1 (en) * | 1997-11-14 | 1999-05-27 | Hitachi, Ltd. | Method of changing over a multiplex system |
JP2004005113A (en) * | 2002-05-31 | 2004-01-08 | Nec System Technologies Ltd | Virtual computer system operated on a plurality of actual computers, and control method thereof |
-
2005
- 2005-03-25 JP JP2005087523A patent/JP4494263B2/en not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6172496A (en) * | 1984-09-18 | 1986-04-14 | Fujitsu Ltd | System resuming system of duplex information processor |
JPS62165250A (en) * | 1986-01-16 | 1987-07-21 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | Virtual memory |
JPH0827761B2 (en) * | 1986-01-22 | 1996-03-21 | 株式会社日立製作所 | Dual-system simultaneous writing method for dual memory |
JPH0344737U (en) * | 1989-09-11 | 1991-04-25 | ||
JPH03142534A (en) * | 1989-10-28 | 1991-06-18 | Nec Corp | Memory double writing system |
JPH04280551A (en) * | 1991-03-08 | 1992-10-06 | Fujitsu Ltd | Fault information collection system in exchange system |
JP2695552B2 (en) * | 1991-12-06 | 1997-12-24 | 富士通株式会社 | Failure handling method |
JPH06342387A (en) * | 1993-05-31 | 1994-12-13 | Nec Corp | Fault information gathering system of information processor |
WO1999026138A1 (en) * | 1997-11-14 | 1999-05-27 | Hitachi, Ltd. | Method of changing over a multiplex system |
JP2004005113A (en) * | 2002-05-31 | 2004-01-08 | Nec System Technologies Ltd | Virtual computer system operated on a plurality of actual computers, and control method thereof |
Also Published As
Publication number | Publication date |
---|---|
JP2006268596A (en) | 2006-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6622263B1 (en) | Method and apparatus for achieving system-directed checkpointing without specialized hardware assistance | |
US5958070A (en) | Remote checkpoint memory system and protocol for fault-tolerant computer system | |
JP4073464B2 (en) | Main memory system and checkpointing protocol for fault tolerant computer system using read buffer | |
US7213246B1 (en) | Failing over a virtual machine | |
US7761734B2 (en) | Automated firmware restoration to a peer programmable hardware device | |
JP5392594B2 (en) | Virtual machine redundancy system, computer system, virtual machine redundancy method, and program | |
US5751939A (en) | Main memory system and checkpointing protocol for fault-tolerant computer system using an exclusive-or memory | |
JP4341571B2 (en) | Storage device system, control method therefor, and control program | |
EP0889409A1 (en) | Mirrored write-back cache module warmswap | |
JP2009187483A (en) | Storage subsystem and control method thereof | |
JP2011060055A (en) | Virtual computer system, recovery processing method and of virtual machine, and program therefor | |
MXPA06005797A (en) | System and method for failover. | |
US20050246576A1 (en) | Redundant system utilizing remote disk mirroring technique, and initialization method for remote disk mirroring for in the system | |
WO2010021632A1 (en) | Dual independent non volatile memory systems | |
JP3030658B2 (en) | Computer system with power failure countermeasure and method of operation | |
KR101063720B1 (en) | Automated Firmware Recovery for Peer Programmable Hardware Devices | |
JP3774826B2 (en) | Information processing device | |
JPH10326220A (en) | File system and file managing method | |
JP5683088B2 (en) | Recovery system, recovery method, and backup control system | |
JP4494263B2 (en) | Service system redundancy method | |
JP2612385B2 (en) | Transfer processing between multiple subsystems | |
JP3022768B2 (en) | Virtual computer system | |
US6687852B1 (en) | Ultra reliable disk memory for duplex processor platforms | |
JP4165423B2 (en) | System board with core I / O card | |
JP6364773B2 (en) | Information processing apparatus, information processing system, memory replication method, and computer program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080220 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091016 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100105 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100301 |
|
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: 20100330 |
|
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: 20100407 |
|
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: 20130416 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140416 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |