(57)【特許請求の範囲】
【請求項１】
稼動系及び待機系の計算機がネットワークを介して多重系を構成する多重系計算機システムにおいて、上記各計算機は、アプリケーションを実行するオペレーティングシステム、このオペレーティングシステムとは独立に動作し、上記ネットワークを介して他の計算機と通信する通信管理プログラムを管理するマイクロカーネル、及びこのマイクロカーネルにより管理されると共に上記オペレーティングシステムによりアクセスされる共有メモリ領域を有するメモリを備え、上記マイクロカーネルは、上記共有メモリ領域に、自計算機のオペレーティングシステムが故障から回復するときに必要なデータを保存すると共に、上記オペレーティングシステムが停止中に、上記回復するときに必要なデータが更新された場合には、上記他の計算機から上記更新されたデータを受信し、上記保存したデータを更新することを特徴とする多重系計算機システム。
【請求項２】
上記各計算機は、ＤＩＯカードを備え、上記マイクロカーネルが、上記ＤＩＯカードを介して他の計算機のマイクロカーネルと相互通信することにより上記他の計算機を監視することを特徴とする請求項１記載の多重系計算機システム。
【請求項３】
上記共有メモリには、上記マイクロカーネルからの一定間隔での動作状況の確認に応じた上記アプリケーションにより、自計算機の動作状況が保存され、上記マイクロカーネルは、上記ネットワークを介して他の計算機のマイクロカーネルと上記共有メモリ領域の自計算機の動作状況を相互通信することにより上記他の計算機を監視することを特徴とする請求項１記載の多重系計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、システムの障害からの並列回復時に計算機内の内部データを同期化する多重系計算機システムに関するものである。
【背景技術】
【０００２】
鉄道運行管理システムなどの高信頼性が求められる制御用計算機システムは、処理を行う稼動系計算機のほかに、稼動系計算機に障害が発生した場合に処理を引き継ぐ待機系計算機を備えた多重系のシステムとして利用される場合が多い。
特許文献１のように、従来の多重系システムにおいては、一方の計算機に障害が発生するなどして停止した後、計算機を起動すると、起動後に正常な他方の稼動系計算機から時刻情報や、各種データを受信することにより、稼動系と待機系の計算機の同期を図る並列回復を行っていた。
【０００３】
【特許文献１】特開平６−３２１１１２号公報（第３〜４頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１の従来の多重系システムでは、計算機に障害が発生し、再起動により回復する際には、正常な稼動系計算機よりネットワークを介して多くのデータを受信することにより同期を図っている。このデータ量は多く、稼動系計算機では負荷が重くなるという問題がある。
また、確実な同期を図るために、送信するデータに該当する機能を抑制した上でデータの送信を行っている。このような稼動系計算機の機能を長時間に渡り抑制した状態で保つことは、システムに悪影響を与えるという問題があった。
【０００５】
この発明は、上述のような課題を解決するためになされたものであり、障害からの回復時に、ネットワークを介したデータの送受信をすることなく、素早く多重系構成に回復することができる信頼性の高い多重系計算機システムを得ることを目的としている。
【課題を解決するための手段】
【０００６】
この発明に係わる多重系計算機システムにおいては、稼動系及び待機系の計算機がネットワークを介して多重系を構成する多重系計算機システムにおいて、各計算機は、アプリケーションを実行するオペレーティングシステム、このオペレーティングシステムとは独立に動作し、ネットワークを介して他の計算機と通信する通信管理プログラムを管理するマイクロカーネル、及びこのマイクロカーネルにより管理されると共にオペレーティングシステムによりアクセスされる共有メモリ領域を有するメモリを備え、マイクロカーネルは、共有メモリ領域に、自計算機のオペレーティングシステムが故障から回復するときに必要なデータを保存すると共に、オペレーティングシステムが停止中に、回復するときに必要なデータが更新された場合には、他の計算機から更新されたデータを受信し、保存したデータを更新するものである。
【発明の効果】
【０００７】
この発明は、以上説明したように、稼動系及び待機系の計算機がネットワークを介して多重系を構成する多重系計算機システムにおいて、各計算機は、アプリケーションを実行するオペレーティングシステム、このオペレーティングシステムとは独立に動作し、ネットワークを介して他の計算機と通信する通信管理プログラムを管理するマイクロカーネル、及びこのマイクロカーネルにより管理されると共にオペレーティングシステムによりアクセスされる共有メモリ領域を有するメモリを備え、マイクロカーネルは、共有メモリ領域に、自計算機のオペレーティングシステムが故障から回復するときに必要なデータを保存すると共に、オペレーティングシステムが停止中に、回復するときに必要なデータが更新された場合には、他の計算機から更新されたデータを受信し、保存したデータを更新するので、障害からの回復時に、この共有メモリ領域のデータを利用することにより、ネットワークを介したデータの送受信をすることなく、素早く多重系構成に回復することができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１は、この発明の実施の形態１による多重系計算機システムを示す構成図である。
図１では、多重系計算機システムは、２台の制御用計算機からなる２重系システムである。ただし、制御用計算機は３台以上で構成されてもよい。
図１において、制御用計算機１０、１１は、それぞれ稼動系計算機、待機系計算機として動作する。制御用計算機１０、１１は、それぞれネットワークカード５０、メインメモリ２０、中央演算処理装置（以下、ＣＰＵと称す）６０、ＤＩＯ（Ｄｉｇｉｔａｌ  Ｉ／Ｏ）カード１１０を備えており、これらはバスによって接続される。この他、ハードディスク装置、入出力装置などが接続される場合もある。
ネットワークカード５０は、イーサネット（登録商標）のネットワーク９０に接続され、このイーサネット（登録商標）のネットワーク９０は、他計算機とも接続される。このネットワーク９０を介して、制御用計算機１０と制御用計算機１１は通信を行い、また他計算機とも通信を行う。また、両系の計算機は、ＤＩＯ接点１２０を使用して接続されている。
【０００９】
制御用計算機１０と制御用計算機１１が共に正常な状態であるとき、稼動系である制御用計算機１０のメインメモリ２０には、ＯＳ（オペレーティングシステム）８０、マイクロカーネル４０、アプリケーション７０、及び通信管理プログラムなどのマイクロカーネル４０下で動作するアプリケーション１００がロードされる。
同様に、待機系である制御用計算機１１のメインメモリ２０にも、ＯＳ８０、マイクロカーネル４０、アプリケーション７０、及びマイクロカーネル４０のアプリケーション１００がロードされる。これらのプログラムは、制御用計算機１０、１１の両方で実行されている。なお、制御用計算機１１では、アプリケーション７０が実行されていない場合もある。
アプリケーション７０は、該当の多重系システムの用途である処理を行うプログラムである。また、メインメモリ２０には、回復に必要なデータ３０がマイクロカーネル４０により保存される。
【００１０】
次に、動作について説明する。
マイクロカーネル４０は、ＯＳのカーネルから独立したもので、ＯＳ８０より下位に位置付けられるプログラムであり、ＯＳ８０の稼動状況の監視や、通信管理プログラムなどのリアルタイム性を要求されるプログラムを管理する。ＣＰＵ６０の処理時間は、マイクロカーネル４０に優先的に割り当てられ、ＯＳ８０には残りの時間が割り当てられる。
メインメモリ２０は、マイクロカーネル４０により管理・利用される領域と、ＯＳ８０によって管理・利用される領域に割り当てられる。その他のＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）などのデバイスがある場合には、マイクロカーネル４０が、マイクロカーネル４０により管理するか、ＯＳ８０により管理するかを割り当てる。ＤＩＯカード１１０は、マイクロカーネル４０により管理され、他の計算機のマイクロカーネル４０との相互通信に用いられる。また、マイクロカーネル４０は、ネットワークカード５０の管理も行う。
通信管理プログラムは、ネットワーク９０を介して他の計算機から受信した受信データのうち、アプリケーション７０に必要なデータをＯＳ８０に対して送信するプログラムである。この通信には、バス通信や、仮想イーサネット（登録商標）通信が用いられる。
【００１１】
メインメモリ２０のマイクロカーネル４０の管理する領域は、ＯＳ８０からのアクセスを可能としている。すなわち、マイクロカーネル４０とＯＳ８０とにより共有される共有メモリ領域である。この共有メモリ領域は、ＯＳ８０からは通常のＲＡＭディスクと同様に認識され、直接アクセス可能である。この共有メモリ領域は、マイクロカーネル４０により管理されるため、マイクロカーネル４０が起動している間は、ＯＳ８０が停止してもその内容は失われない。
この共有メモリ領域には、従来のシステムでの回復時に他系計算機から受信していたような、回復に必要な各種データ３０が保存される。マイクロカーネル４０は、上述のように通信管理プログラムを管理しているので、ＯＳ８０停止時にも他系計算機や、その他の装置からのメッセージを受信することができる。ＯＳ８０停止中に状態が変化し、回復に必要なデータが更新された場合には、ネットワーク９０を通じてマイクロカーネル４０が受信し、データ３０を更新する。
【００１２】
次に、実施の形態１の多重系計算機システムにおける障害からの回復動作について説明する。
制御用計算機１０と制御用計算機１１は、ＤＩＯカード１１０を通じて接続され、マイクロカーネル４０が、ＤＩＯカード１１０を介して他の計算機のマイクロカーネル４０と相互通信することにより他の計算機を監視する。すなわち、マイクロカーネル４０が、ＤＩＯカード１１０を介して互いの計算機の運転状態を常時監視するようになっている。この相互通信により、制御用計算機１１は、制御用計算機１０に異常が発生したと判断すると、自らを稼動系計算機とする。
また、それぞれの制御用計算機１０、１１のマイクロカーネル４０は、一定間隔でＯＳ８０に対して生存メッセージを送ることを要求する。ＯＳ８０に異常が発生し、生存メッセージを受信することができなくなると、マイクロカーネル４０は、それを検知し、ＯＳ８０を再起動する。
マイクロカーネル４０は、共有メモリ領域に、回復に必要なデータ３０を保持しており、このデータ３０を使って多重系構成へと回復する。
マイクロカーネル４０の管理するネットワークカード５０を用いて、ＯＳ８０停止中に、稼動系の制御用計算機１１のマイクロカーネル４０やその他装置から各種データの受信を行い、このデータを更新し、これを用いて多重系構成へ回復する場合もある。
【００１３】
実施の形態１によれば、このように、ＯＳとは別にマイクロカーネルが管理するメモリ領域を設け、この領域へのＯＳからのアクセスを可能にし、この領域に故障からの回復に必要なデータを保存し、故障回復時には、このデータを利用することにより、異常停止からの回復時間を短縮する効果がある。
【００１４】
実施の形態２．
実施の形態１では、回復に必要なデータ３０をマイクロカーネル４０が管理する共有メモリ領域に保存することにより、回復時間の短縮を可能にしたが、実施の形態２では、この共有メモリ領域にさらに自計算機の動作状況を保存するようにしたものである。
図２は、この発明の実施の形態２による多重系計算機システムを示す構成図である。
図２において、１０、１１、２０、３０、４０、５０、６０、７０、８０、９０、１００は図１におけるものと同一のものである。図２では、制御用計算機１０、１１は、ＤＩＯカード１１０を持っていない。すなわち、実施の形態１のように、計算機の相互監視をＤＩＯ接点を利用して行わないものである。
【００１５】
次に、動作について説明する。
図２の制御用計算機１０のマイクロカーネル４０は、一定間隔でＯＳ８０が管理するアプリケーション７０に対して、動作状況確認メッセージを送信する。メッセージを受信したアプリケーション７０は、自制御用計算機が稼動系として動作しているのか、待機系として動作しているのか、または回復動作中であるのかの動作状況の情報を、マイクロカーネル４０が管理するＯＳ８０との共有メモリ領域に保存する。
一方、制御用計算機１１のマイクロカーネル４０も、同様にＯＳ８０が管理するアプリケーション７０に対して、動作状況確認メッセージを送信し、自制御用計算機の動作状況を得て、共有メモリ領域に保存する。
そして、一定時間以上、この情報へのアクセスがない場合は、マイクロカーネル４０は、自制御用計算機のＯＳ８０が停止していると判断し、この情報を停止状態に変更する。
【００１６】
制御用計算機１０、１１のマイクロカーネル４０は、互いにこの動作状況に関する情報を、ネットワーク９０を通じて相互通信し、互いに監視することにより、他系監視を行うことができる。
実施の形態１では、ＤＩＯ接点情報を用いて監視していたが、実施の形態２では、本発明を利用することにより、実施の形態１と比較して安価に他系監視を行うことが可能になる。
【００１７】
実施の形態２によれば、各制御用計算機のマイクロカーネルで、ＯＳが管理するアプリケーションに対して、動作状況を確認し、自制御用計算機が、稼動系か待機系かあるいは回復中かを示す情報を共有メモリ領域に保存し、この情報を相互に交換することにより他系監視を行うことができる。
【図面の簡単な説明】
【００１８】
【図１】この発明の実施の形態１による多重系計算機システムを示す構成図である。
【図２】この発明の実施の形態２による多重系計算機システムを示す構成図である。
【符号の説明】
【００１９】
１０  制御用計算機Ａ系、１１  制御用計算機Ｂ系、２０  メインメモリ、
３０  回復に必要なデータ、４０  マイクロカーネル、
５０  ネットワークカード、６０  ＣＰＵ、７０  ＯＳ上のアプリケーション、
８０  ＯＳ、９０  ネットワーク、
１００  マイクロカーネル上のアプリケーション、１１０  ＤＩＯカード、
１２０  ＤＩＯ接点。
【図１】
0004476190.tif 000002
【図２】
0004476190.tif 000003