JP3690666B2 - マルチコンピュータシステム - Google Patents

マルチコンピュータシステム Download PDF

Info

Publication number
JP3690666B2
JP3690666B2 JP2001384020A JP2001384020A JP3690666B2 JP 3690666 B2 JP3690666 B2 JP 3690666B2 JP 2001384020 A JP2001384020 A JP 2001384020A JP 2001384020 A JP2001384020 A JP 2001384020A JP 3690666 B2 JP3690666 B2 JP 3690666B2
Authority
JP
Japan
Prior art keywords
computer
program
business
operating system
survival
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
JP2001384020A
Other languages
English (en)
Other versions
JP2003186681A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001384020A priority Critical patent/JP3690666B2/ja
Publication of JP2003186681A publication Critical patent/JP2003186681A/ja
Application granted granted Critical
Publication of JP3690666B2 publication Critical patent/JP3690666B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、複数の計算機が互いに動作状態監視を行うマルチコンピュータシステムに関し、特に、システムを構成する各計算機上で複数のオペレーティングシステムが動作し、かつ、オペレーティングシステム間で動作状態監視を行うマルチコンピュータシステムに関する。
【0002】
【従来の技術】
従来、マルチコンピュータシステムでは、マルチコンピュータシステムを構成する計算機同士で、相互に動作状態の監視を行うことが行われている。すなわち、他方の計算機が停止した場合には、もう一方の計算機が業務を引き継ぐように構成し、もって、システムにおける無停止運転を実現している。そして、これにより停止した計算機は、再び業務を行うことができる状態になるよう、再起動が行われる。
【0003】
ところで、上記した従来技術になるマルチコンピュータシステムでは、上記の停止した計算機の再起動は、当該計算機を監視している他の計算機からの再起動信号により行われており、この種のマルチコンピュータシステムとして関連するものには、例えば、特開平8−235134号公報等が挙げられる。
【0004】
また、上記のようなマルチコンピュータシステムとは異なるが、マルチOS環境を有する1台の計算機内において、OS間で相互に障害監視を行って再起動を行うものが、例えば、特開2001−101033号公報、特開2001−101034号公報、特開2001−101021号公報などにより知られており、ここでは、障害が発生したOSやAPを再起動して障害が発生した前の状態に戻す処理を、特別なハードウェアを用いることなく、ソフトウェア技術によって実現している。
【0005】
【発明が解決しようとする課題】
上述した通り、従来技術になるマルチコンピュータシステムにおいては、一旦停止した計算機の再起動は、システムを構成する他の計算機からの再起動信号によって行うように構成されている。しかしながら、かかる従来技術になるマルチコンピュータシステムでは、ネットワークを介してシステムを構成する計算機は、上記再起動信号を受信して計算機を再起動するための機能を有するハードウェアが必要となるため、計算機のハードウェアのコストがかかるという問題点がある。
【0006】
また、後者のマルチOS環境を有する計算機では、異なるOS間で相互に障害監視を行って再起動を行うものではあるが、しかしながら、上記のようなマルチコンピュータシステムにおける相互監視や再起動については全く考慮されてはいなかった。
【0007】
そこで、本発明の目的は、複数の計算機が互いに動作状態監視を行うマルチコンピュータシステムであって、システムを構成する計算機を再起動する機能を、上記従来技術のようにハードウェアではなく、これをソフトウェアによって実現し、もって、再起動用のハードウェアを不要とすることにより、マルチコンピュータシステムを構成する計算機ハードウェアのコストを低減することにある。
【0008】
【課題を解決するための手段】
本発明は、ネットワークを介して互いに接続され、かつそれぞれが2つのオペレーティングシステムを持つ2つの計算機を有し、この2つの計算機はメモリ装置を共有して業務データを共有可能とし、一方の計算機が主系のときに他方が従系となるマルチコンピュータシステムであって、
2つの計算機のそれぞれは、
業務プログラムと、この業務プログラムの生存情報を相手計算機に通知する通知プログラムと、相手計算機内のこの通知プログラムから送られてくる生存情報を受信する受信プログラムと、この受信プログラムで受信した生存情報から相手計算機の業務プログラムの生存か否かを判定する判定プログラムと、を有する第1のオペレーティングシステムと、
この第1のオペレーティングシステムの業務プログラムの生存を監視する業務判定プログラムを有する第2のオペレーティングシステムと、
を備え、
それぞれの計算機の1つが主系として動作して自己の第1のオペレーティングシステムのもとで業務プログラムを動作させ、この主系の計算機では自己の通知プログラムにより生存情報を従系の計算機に送り、従系の計算機ではこの生存情報を自己の受信プログラムで受信し、判定プログラムで相手第1オペレーティングシステムの業務プログラムが生存していないかを監視し、生存していないとの判定のときに自己の第1のオペレーティングシステムの業務プログラムを立ち上げて相手業務プログラムの業務を引き継がせ、
主系の第2オペレーティングシステムは、業務判定プログラムにより自己の業務プログラムが生存でないと判定したときにこの自己の第1のオペレーティングシステムの業務プログラムを終了させる、
ものとしたマルチコンピュータシステムを開示する。
【0009】
更に本発明は、上記第2のオペレーティングシステムは、更に自己の第1のオペレーティングシステムの生存を監視するプログラムを具えるものとし、
上記第1のオペレーティングシステムは、更に、自己の第1のオペレーティングシステムの生存情報を通知する通知プログラムと、相手計算機内のこの通知プログラムからの生存情報を受信する受信プログラムと、を有し、更に自己の判定プログラムがこの受信プログラムから受信した生存情報から相手の第1オペレーティングシステムの生存を監視するものとした請求項1のマルチコンピュータシステムを開示する。
【0012】
このように、本発明は、一台の計算機上でのオペレーティングシステムの監視に加えて、マルチコンピュータを構成する計算機同士でも動作状況監視を行い、監視先計算機が停止した場合に監視元計算機が監視先計算機の業務を引き継いで実行することにより、高信頼なマルチコンピュータシステムを提供するものである。
【0013】
さらに、本発明では、オペレーティングシステムだけでなく業務プログラムの動作状況の監視を行い、業務プログラムが停止した場合にも監視元オペレーティングシステムが監視先オペレーティングシステムを再起動し、同時に当該計算機を監視する計算機が当該計算機の業務を引き継いで実行することにより、システムを高信頼化するマルチコンピュータシステムを提供するものである。
【0014】
さらに、本発明では、監視先オペレーティングシステムが停止した場合はオペレーティングシステムの停止処理を行わずにオペレーティングシステムの再起動を行い、監視先オペレーティングシステムで実行される業務プログラムが停止した場合はオペレーティングシステムの停止処理を行ってオペレーティングシステムの再起動を行うことにより、計算機のデータ保全性を向上させたマルチコンピュータシステムを提供するものである。
【0015】
【発明の実施の形態】
以下、本発明の実施の形態の詳細について、添付の図面を参照して説明する。
<システムの構成>
図1は、本発明の実施の形態になるマルチコンピュータシステムの全体構成を示す概略図である。図において、マルチコンピュータシステムは、複数(ここでは、例示として2台)の計算機1(1)と計算機2(2)を有しており、そして、これら複数の計算機(ここでは、計算機1(1)と計算機2(2))は、ネットワーク(4)を介して互いに接続されている。また、これら複数の計算機は、互いに共用的に使用されるメモリ装置を備えており、より具体的には、これら計算機1(1)と計算機2(2)で共通に使用される共有ハードディスクドライブ(3)を備えている。
【0016】
なお、マルチコンピュータシステムを構成するこれら複数の計算機、すなわち、計算機1(1)と計算機2(2)は、それぞれ主系、従系の関係にある。具体的には、通常は、計算機1(1)で業務を遂行しており、その業務内容は、共通の記憶装置である上記共有ハードディスクドライブ(3)内に格納される。なお、この時には、上記計算機2(2)も起動した状態となっている。
【0017】
また、図からも明らかなように、計算機1(1)は、ハードウェア(14)上にマルチOS制御プログラム(13)を有し、そして、このマルチOS制御プログラムで動作するオペレーティングシステム1(OS1)(11)と、オペレーティングシステム2(OS2)(12)とを備えている。なお、上記のオペレーティングシステム1(OS1)(11)は、OS1カーネルプログラム(110)、OS1業務プログラム(111)、OS1生存通知プログラム(113)等を備えており、他方のオペレーティングシステム2(OS2)(12)は、OS2カーネルプログラム(120)等と共に、OS1生存判定プログラム(121)を備えている。
【0018】
そして、一方、計算機2(2)は、ハードウェア(24)上にマルチOS制御プログラム(23)を有し、そして、このマルチOS制御プログラムで動作するオペレーティングシステム3(OS3)(21)と、オペレーティングシステム4(OS4)(22)とを備えている。また、上記オペレーティングシステム3(OS3)(21)は、OS3カーネルプログラム(210)、計算機1OS1生存受信プログラム(215)等を備えており、他方のオペレーティングシステム4(OS4)(22)は、OS4カーネルプログラム(220)等を備えている。
【0019】
上記したマルチコンピュータシステムの構成において、計算機1(1)のハードウェア(14)上では、オペレーティングシステム1(OS1)(11)と、オペレーティングシステム2(OS2)(12)とが、マルチOS制御プログラム(13)により、互いのオペレーティングシステムを意識することなく並列に動作する。また、計算機2(2)においても同様である。
【0020】
さらに、オペレーティングシステム1(OS1)(11)上では、OS1業務プログラム(111)とOS1生存通知プログラム(113)等が動作している。また、オペレーティングシステム2(OS2)(12)上では、OS1生存判定プログラム(121)などが動作している。さらに、計算機2(2)のオペレーティングシステム3(OS3)(21)上では計算機1OS1生存受信プログラム(215)などが動作している。
【0021】
ここで、計算機1(1)のオペレーティングシステム2(OS2)(12)上のOS1生存判定プログラム(121)と、計算機2(2)のオペレーティングシステム3(OS3)(21)上の計算機1OS1生存受信プログラム(215)などは、オペレーティングシステム1(OS1)(11)の監視を行うプログラムである。そして、上記計算機1(1)のオペレーティングシステム1(OS1)(11)の障害時には、このオペレーティングシステム1(OS1)(11)は、オペレーティングシステム2(OS2)(12)によって再起動される。なお、オペレーティングシステム1(OS1)(11)の再起動後は、この計算機1(1)は、(計算機2(2)に対して)従系となる。また、同じく、この計算機1(1)のオペレーティングシステム1(OS1)(11)の障害時には、計算機2(2)を主系に切替えると共に、この計算機2(2)のオペレーティングシステム3(OS3)(21)が業務を引き継ぐこととなる。すなわち、計算機2(2)のオペレーティングシステム3(OS3)(21)において業務プログラムを実行すると共に、それまで計算機1(1)で遂行して共通の記憶装置である上記共有ハードディスクドライブ(3)内に格納された業務内容により、業務を継続することとなる。
【0022】
次に、添付の図2、図3には、上記で説明した計算機1(1)、計算機2(2)のより詳細な構成を示す。なお、これらの図からも明らかなように、計算機2(2)の構成は、計算機1(1)とほぼ同一であることから、以下には、上記計算機1(1)の構成についてのみ説明する。
【0023】
まず、計算機1(1)上では、独自のメモリ管理機能、プログラム実行制御機能、I/O制御機能を備えたオペレーティングシステム1(OS1)(11)と、オペレーティングシステム2(OS2)(12)とが動作している。なお、これらのオペレーティングシステム内には、それぞれ、OS1カーネルプログラム(110)とOS2カーネルプログラム(120)とがあり、これらが、上記オペレーティングシステムのそれぞれの機能を実行する。
【0024】
なお、この図2では、上記OS1カーネルプログラム(110)管理下のユーザプログラムとして、例えば、OS1業務プログラム(111)、OS1業務生存通知プログラム(112)、OS1生存通知プログラム(113)、計算機2生存判定プログラム(114)、計算機2OS3生存受信プログラム(115)、計算機2OS3業務生存受信プログラム(116)が動作している。
【0025】
上記において、OS1業務プログラム(111)は、この計算機システム(計算機1)が行う業務を実行するためのプログラムである。また、OS1業務生存通知プログラム(112)は、計算機2(2)と共に、上記計算機1(1)の他のオペレーティングシステム2(OS2)(12)に対して、上記OS1業務プログラム(111)が生存していることを通知するためのプログラムである。また、OS1生存通知プログラム(113)は、上記計算機2(2)と共に、上記計算機1(1)の他のオペレーティングシステム2(OS2)(12)に対して、オペレーティングシステム1(OS1)(11)が生存していることを通知するプログラムである。
【0026】
また、上記図2において、計算機2生存判定プログラム(114)とは、上記計算機1(1)が従系となった場合に、主系を構成する計算機2(2)の生存判定を行うためのプログラムである。また、計算機2OS3生存受信プログラム(115)とは、やはり、上記計算機1(1)が従系となった場合に、主系である計算機2(2)のOS3生存通知プログラム(213:図3を参照)からのOS3生存通知メッセージを受信するためのプログラムである。また、計算機2OS3業務生存受信プログラム(116)とは、やはり、上記計算機1(1)が従系となった場合に、主系である計算機2(2)のOS3業務生存通知プログラム(212:図3を参照)からのOS3業務プログラム生存メッセージを受信するためのプログラムである。
【0027】
ここで、上記した計算機2生存判定プログラム(114)と、計算機2OS3生存受信プログラム(115)と、計算機2OS3業務生存受信プログラム(116)とは、上記計算機1(1)が従系となった場合に主系となる計算機2(2)の生死判定を行うプログラムであり、そのため、上記計算機1(1)の内部の障害監視には使用しない。
【0028】
また、上記図2に示した計算機1では、他のオペレーティングシステム2(OS2)(12)内では、OS2カーネルプログラム(120)の管理下のユーザプログラムとして、OS1生存判定プログラム(121)と、OS1業務生存判定プログラム(122)とが動作している。なお、このOS1生存判定プログラム(121)とは、オペレーティングシステム1(OS1)(11)の生存判定を行うためのプログラムである。また、OS1業務生存判定プログラム(122)とは、OS1業務プログラム(111)の生存判定を行うためのプログラムである。
【0029】
また、上記図2に示したマルチOS制御プログラム(13)は、計算機1(1)の物理メモリを、そのオペレーティングシステムである、オペレーティングシステム1(OS1)(11)とオペレーティングシステム2(OS2)(12)とに分配し、そして、残りの物理メモリを、OS間共用メモリとして使用できるようにする機能を有している。すなわち、このマルチOS制御プログラム(13)によれば、計算機1(1)の計算機ハードウェア14を構成する物理メモリは、OS1用メモリ(141)と、OS2用メモリ(143)と、そして、OS間共用メモリ(142)とにその用途が分けられることとなる。また、このマルチOS制御プログラム(13)は、CPU(144)の動作時間を、オペレーティングシステム1(OS1)(11)とオペレーティングシステム2(OS2)(12)との間で分配する機能をも有している。なお、ここでは、このCPU動作時間は、オペレーティングシステム1(OS1)(11)とオペレーティングシステム2(OS2)(12)との間には、特に優先度は設けず、それ故、このCPU動作時間は平等に分配されるものとする。また、このマルチOS制御プログラム(13)は、オペレーティングシステムの起動機能をも提供するものである。
【0030】
上記にその構成を詳細に説明した図2及び図3の計算機において、図2の計算機1(1)が主系であり、図3の計算機2(2)が従系である場合には、図3に示した計算機2(2)のOS3カーネルプログラム(210)上のタスクである、即ち、計算機1生存判定プログラム(214)、計算機1OS1生存受信プログラム(215)、そして、計算機1OS1業務生存受信プログラム(216)が、計算機1(1)の外部監視プログラムとして動作することとなる。
【0031】
なお、上記の計算機1生存判定プログラム(214)は、計算機1(1)のオペレーティングシステム1(OS1)(11)の生存判定を行うプログラムである。また、計算機1OS1生存受信プログラム(215)は、計算機1(1)のOS1生存通知プログラム(113)からのOS1生存通知メッセージを受信するためのプログラムである。さらに、計算機1OS1業務生存受信プログラム(216)は、計算機1(1)のOS1業務生存通知プログラム(112)からのOS1業務プログラム生存メッセージを受信するためのプログラムである。
【0032】
続いて、図4は、上記図2に示した計算機1(1)の計算機ハードウェア14における、OS間共有メモリ(142)の構成の一例を示す図である。この構成では、例えば、OS1生存フラグ(301)の値が「1」の場合、オペレーティングシステム1(OS1)(11)が動作中であることを示す。また、そのOS1業務動作中フラグ(302)の値が「1」の場合には、OS1業務プログラム(111)が動作中であることを示す。また、再起動済みフラグ(303)の値が「1」の場合には、オペレーティングシステム1(OS1)(11)が再起動中であることを示している。
【0033】
また、図5は、上記図3に示した計算機2(2)の計算機ハードウェア24における、計算機2OS3用メモリ(241)の構成の一例を示す図である。この構成では、例えば、計算機1OS1生存フラグ(701)の値が「1」の場合には、計算機1(1)のオペレーティングシステム1(OS1)(11)が動作中であることを示す。また、その計算機1OS1業務動作中フラグ(702)の値が「1」の場合には、計算機1(1)のOS1業務プログラム(111)が動作中であることを示している。
【0034】
<動作の原理>
次に、上記にその構成を説明した本発明のマルチコンピュータシステムにおける動作の原理について、以下に説明する。
【0035】
以下、上記計算機の内部における監視方法について、添付の図面を参照しながら説明する。すなわち、添付の図6は、上記図1又は図2に示した計算機1(1)における、上記の計算機1OS1生存通知プログラム(113)の処理フローを示している。
【0036】
図にも示すように、この計算機1OS1生存通知プログラムが開始すると、まず、計算機1(1)の起動、または、再起動時に、計算機1(1)内のOS間共有メモリ(142)内の再起動済みフラグ(303:図4を参照)の値を、「0」にクリアする(ステップ401)。これにより、計算機1(1)が、起動、または、再起動が完了したことを示す。
【0037】
次に、上記の計算機1(1)OS1業務生存通知プログラム(112:図2を参照)を起動する(ステップ402)。なお、この計算機1(1)OS1業務生存通知プログラム(112)の動作については、以下に、添付の図7を参照して詳細に説明する。
【0038】
次に、上記計算機1(1)のOS間共有メモリ(142)内のOS1生存フラグ(301:図4を参照)の値を、「1」に設定する(ステップ403)。すなわち、これにより、計算機1(1)のオペレーティングシステム1(OS1)(11)が動作中であることを、計算機1(1)のOS間共有メモリ(142)に設定することとなる。
【0039】
その後、計算機2(2)に対して、OS1生存メッセージを送信する(ステップ404)。続いて、次回のOS1生存フラグ更新時間まで、スリープする(ステップ405)。なお、このOS1生存フラグ更新時間が経過した場合には、その処理を上記ステップ403に戻す。ここで、このOS1生存通知プログラム(113)は、最高優先レベルで動作する。
【0040】
次に、図7は、上記した計算機1OS1業務生存通知プログラム(112)の詳細を示す処理フローである。
【0041】
この計算機1OS1業務生存通知プログラム(112)では、まず、計算機1(1)のOS間共有メモリ(142:図2を参照)における、OS1業務動作中フラグ(302:図4を参照)の値を、「1」に設定する(ステップ501)。これにより、OS1業務プログラム(111)が動作中であることを、上記計算機1(1)のOS間共有メモリ(142)に設定することとなる。
【0042】
次に、計算機2(2)に対して、OS1業務生存メッセージを送信する(ステップ502)。その後、次回のOS1業務動作中フラグ更新時間まで、スリープする(ステップ503)。なお、上記の処理において、OS1業務動作中フラグ更新時間が経過した場合には、その処理を上記ステップ501へ戻す。ここでも、上記のOS1業務生存通知プログラム(112)は、上記OS1業務プログラム(111)と同一の優先レベルで動作する。
【0043】
次に、図8は、上記計算機1(1)のオペレーティングシステム2(OS2)(12)上で動作するOS1生存判定プログラム(121)の詳細を示す処理フローである。
【0044】
本プログラムでは、まず、図2に示した計算機1(1)OS間共有メモリ(142)内のOS1生存フラグ(301:図4を参照)を参照し、その値が「1」であれば、計算機1(1)のオペレーティングシステム1(OS1)(11)は動作中であり、他方、その値が「0」であれば、当該オペレーティングシステム1(OS1)(11)は停止しているものと判定する(ステップ601)。
【0045】
上記の判定の結果、OS1(11)が動作中(上記ステップ601で「Yes」)と判定した場合は、OS1生存フラグ(301)を「0」に設定(ステップ602)し、もって、このOS1生存フラグ(301)を初期化し、さらに、オペレーティングシステム2(OS2)(12)上のOS1業務生存判定プログラム(122)を起動する。なお、このOS1業務生存判定プログラム(122)の動作については、後述する。
【0046】
次に、次回のOS監視タイムアウト時間までスリープする(ステップ605)。なお、このOS1生存フラグ更新時間が経過した場合には、処理を上記のステップ601に戻す。
【0047】
他方、上記ステップ601での判定の結果、オペレーティングシステム1(OS1)(11)が停止している(即ち、上記ステップ601で「No」)と判定した場合には、更に、上記図2の計算機1(1)OS間共有メモリ(142)内の再起動済みフラグ(303)を参照し、その値が「1」であればオペレーティングシステム1(OS1)(11)は再起動処理中であり、他方、その値が「0」ならば、オペレーティングシステム1(OS1)(11)は再起動処理を行っていないものと判定する(ステップ611)。
【0048】
上記ステップ611の判定処理の結果、再起動処理中である(上記ステップ611で「Yes」)と判定した場合は、リブート処理を行わずに、そのまま、処理を上記ステップ605へ移行する。他方、再起動処理を行っていない(上記ステップ611で「No」)と判定した場合には、上記図4の再起動済みフラグ(303)を「1」に設定(ステップ612)して再起動処理中とし、オペレーティングシステム1(OS1)(11)のリブート処理を実行する(ステップ613)。その後、次回のOS監視タイムアウト時間まで、スリープ(ステップ605)する。なお、このOS1生存フラグ更新時間が経過した場合には、処理を上記ステップ601に戻す。
【0049】
次に、添付の図9は、オペレーティングシステム2(OS2)(12)上で動作するOS1業務生存判定プログラム(122)の処理フローの詳細を示す。
【0050】
本プログラムでは、その処理が開始されると、まず、上記図4に示した計算機1(1)OS間共有メモリ(142)内のOS1業務動作中フラグ(302)を参照し、その値が「1」であれば、OS1業務プログラム(111)は動作中であり、他方、その値が「0」であれば、このOS1業務プログラム(111)は停止していると判定する(ステップ603)。
【0051】
上記の判定で、OS1業務プログラム(111)が動作中(上記ステップ611で「Yes」)であると判定した場合は、上記図4に示した計算機1(1)OS間共有メモリ(142)内の再起動済みフラグ(303)を、「0」に設定する(ステップ604)。
【0052】
他方、上記OS1業務プログラム(111)が停止している(上記ステップ611で「No」)と判定した場合には、更に、上記図4に示した計算機1(1)OS間共有メモリ(142)内の再起動済みフラグ(303)を参照し、その値が「1」であれば、上記計算機1(1)は再起動処理中であり、他方、その値が「0」であれば、計算機1(1)は再起動処理を行っていないと判定する(ステップ631)。
【0053】
上記の判定の結果、計算機1(1)が再起動処理中である(上記ステップ631で「Yes」)と判定した場合には、シャットダウン処理は行わずに処理を終了する。他方、再起動処理を行っていない(上記ステップ631で「No」)と判定した場合は、上記の再起動済みフラグ(303)を「1」に設定し(ステップ632)、再起動処理中とし、計算機1(1)のオペレーティングシステム1(OS1)(11)のシャットダウン処理を実行して(ステップ633)、処理を終了する。
【0054】
ここで、監視時間の同期を取るため、上記図6に示したOS1生存通知プログラム(113)中のステップ405におけるOS1生存フラグ更新時間と、上記図7に示したOS1業務生存通知プログラム(112)中のステップ503におけるOS1業務動作中フラグ変更時間と、そして、上記図8に示したOS2のOS1生存判定プログラム(121)中のステップ605におけるOS監視タイムアウト時間とは、同一の値に設定されている。
【0055】
次に、計算機2(2)から計算機1(1)を外部監視する方法について、以下に詳細に説明する。なお、以下の説明では、上記計算機1(1)が主系として起動済みであるものとして説明する。
【0056】
まず、図10は、上記図3に示した上記計算機2(2)における、計算機1生存判定プログラム(214)の処理フローの内容を示す。
【0057】
この処理フローでは、まず、計算機2(2)の起動時に、上記計算機2(2)の計算機ハードウェア24内に設けられた計算機2OS3用メモリ(241)内の計算機1OS1生存フラグ(701:上記図5を参照)の値を、「0」にクリアする(ステップ801)。また、やはり、上記計算機2OS3用メモリ(241)内の計算機1OS1業務動作中フラグ(702:上記図5を参照)の値を、「0」にクリアする(ステップ802)。なお、これにより、計算機2(2)の起動が完了したことを示す。
【0058】
次に、上記図3に示した計算機2(2)の計算機1OS1生存受信プログラム(215)を起動する(ステップ803)。さらに、計算機2(2)の計算機1OS1業務生存受信プログラム(216)を起動する(ステップ804)。なお、これらの計算機2(2)の計算機1OS1生存受信プログラム(215)と、計算機2(2)の計算機1OS1業務生存受信プログラム(216)との詳細については、後述する。
【0059】
続いて、OS監視タイムアウト時間までスリープする(ステップ805)。
【0060】
次に、処理は、計算機2OS3用メモリ(241)の計算機1OS1生存フラグ(701:上記図5を参照)を参照し、その値が「1」であれば、計算機1(1)のオペレーティングシステム1(OS1)(11)は動作中であり、他方、その値が「0」であれば、計算機1(1)のオペレーティングシステム1(OS1)(11)は停止していると判定する(ステップ806)。
【0061】
なお、上記で計算機2OS3用メモリ(241)の計算機1(1)のオペレーティングシステム1(OS1)(11)が動作中(すなわち、上記の判定ステップ806で「Yes」)と判定した場合には、更に、計算機2OS3用メモリ(241)の計算機1OS1業務動作中フラグ(702:上記図5を参照)を参照し、その値が「1」であれば、計算機1(1)のOS1業務プログラム(111)は動作中であり、他方、その値が「0」であれば、計算機1(1)のOS1業務プログラム(111)は、停止していると判定する(ステップ807)。
【0062】
次に、上記で計算機1(1)のOS1業務プログラム(111)が動作中である(上記の判定ステップ807で「Yes」)と判定された場合には、計算機2OS3用メモリ(241)の計算機1OS1生存フラグ(701)を「1」に設定し(808)、処理を上記のステップ805に戻す。
【0063】
他方、計算機1(1)のOS1(11)が停止している(上記判定ステップ806で「No」)、または、計算機1(1)のOS1業務プログラム(111)が停止している(上記判定ステップ807で「No」)と判定された場合は、更に、計算機2(2)のOS3業務プログラム(211)が動作中か否かを判定する(ステップ871)。その結果、動作中(「Yes」)と判定された場合には、処理は上記のステップ805に戻される。他方、計算機2(2)のOS3業務プログラム(211)が停止中(「No」)と判定された場合には、計算機2(2)のOS3業務プログラム(211)を起動し(ステップ872)、その後、処理を上記のステップ805に戻す。
【0064】
なお、ここでも、外部監視時間と内部監視時間の同期を取るために、上記図6に示したOS1生存通知プログラム(113)中のステップ405におけるOS1生存フラグ更新時間、上記図7に示したOS1業務生存通知プログラム(112)中のステップ503におけるOS1業務動作中フラグ変更時間と、上記図8に示したOS2のOS1生存判定プログラム(121)中のステップ605におけるOS監視タイムアウト時間と、そして、上記図10に示した計算機2(2)の計算機1生存判定プログラム(214)中におけるステップ805におけるOS監視タイムアウト時間とは、同一に設定されている。
【0065】
次に、添付の図11には、上記計算機2(2)における計算機1OS1生存受信プログラム(215)の詳細を、処理フローにより示す。なお、上記図6においてステップ404で示したように、計算機1(1)から計算機2(2)へは、OS1生存フラグが変更される度に、計算機1OS1生存メッセージが送信される。
【0066】
本プログラムでは、まず、計算機1(1)からOS1生存メッセージを受信したか否かの判定を行う(ステップ901)。その結果、計算機1(1)からOS1生存メッセージを受信した(「Yes」)と判定された場合、上記図3に示した計算機2OS3用メモリ(241)の計算機1OS1生存フラグ(701)に、「1」を設定する(ステップ902)。その後、処理は、上記のステップ901へ戻る。なお、ここでは、上記計算機2(2)の計算機1OS1生存受信プログラム(215)は、最高優先レベルで動作する。
【0067】
次に、図12には、上記計算機2(2)の計算機1OS1業務生存受信プログラム(216)の詳細を処理フローにより示す。なお、ここでも、上記図7のステップ502に示したように、計算機1(1)から計算機2(2)には、計算機1OS1業務生存メッセージが、OS1業務動作中フラグの変更の度に、送信されている。
【0068】
本プログラムでは、まず、計算機1(1)からOS1業務生存メッセージを受信したかの判定を行う(ステップ1001)。その結果、上記計算機1(1)からOS1業務生存メッセージを受信した(「Yes」)と判定された場合には、上記図3に示した計算機2OS3用メモリ(241)の計算機1OS1業務動作中フラグ(702)に、「1」を設定する(ステップ1002)。その後、処理は、上記のステップ1001に戻る。なお、ここでも、計算機2(2)の計算機1OS1業務生存受信プログラム(216)は最高優先レベルで動作する。
【0069】
尚、同一優先度のプログラムのスケジューリングには、ラウンドロビンスケジューリングを適用している。また、上記の実施の形態では、マルチコンピュータシステムを構成する計算機を、計算機1(1)と計算機2(2)の2台の場合についてのみ例示したが、しかしながら、本発明では、これのみに限定されず、それ以上の計算機によりこのマルチコンピュータシステムを構成してもよいことは、当業者であれば明らかであろう。
【0070】
【発明の効果】
以上に詳細に説明からも明らかなように、本発明になるマルチコンピュータシステムによれば、システムを構成する各計算機は、複数のオペレーティングシステムで動作する計算機で構成されており、それぞれの計算機は、互いに生存通知の送受信を行うことにより他の計算機の生死監視を行う機能を有すると共に、当該自計算機は、監視先オペレーティングシステムの生死監視を行う監視元オペレーティングシステムを有しており、かかる構成によれば、監視先オペレーティングシステムが停止した場合、監視元オペレーティングシステムが監視先オペレーティングシステムを再起動する機能を有しており、再起動用のハードウェアが不要となり、マルチコンピュータシステムを構成する計算機のハードウェアコストを低減できるという効果を発揮する。
【図面の簡単な説明】
【図1】本発明の一実施の形態になるマルチコンピュータシステムの全体構成を示すブロック図である。
【図2】上記図1に示すマルチコンピュータシステムにおける計算機1の内部構成を示すブロック図である。
【図3】上記図1に示すマルチコンピュータシステムにおける計算機2の内部構成を示すブロック図である。
【図4】上記マルチコンピュータシステムにおける計算機1OS間共用メモリの構成の一例を示す図である。
【図5】上記マルチコンピュータシステムにおける計算機2OS3用メモリの構成の一例を示す図である。
【図6】上記マルチコンピュータシステムにおける計算機1のOS1生存通知プログラムの処理内容を示すフロー図である。
【図7】上記マルチコンピュータシステムにおける計算機1のOS1業務生存通知プログラムの処理内容を示すフロー図である。
【図8】上記マルチコンピュータシステムにおける計算機1OS2のOS1生存判定プログラムの処理内容を示すフロー図である。
【図9】上記マルチコンピュータシステムにおける計算機1OS2のOS1業務生存判定プログラムの処理内容を示すフロー図である。
【図10】上記マルチコンピュータシステムにおける計算機2の計算機1生存判定プログラムの処理内容を示すフロー図である。
【図11】上記マルチコンピュータシステムにおける計算機2の計算機1OS1生存受信プログラムの処理内容を示すフロー図である。
【図12】上記マルチコンピュータシステムにおける計算機2の計算機1OS1業務生存受信プログラムの処理内容を示すフロー図である。
【符号の説明】
1 計算機1
2 計算機2
3 共有ハードディスクドライブ
4 ネットワーク
11 オペレーティングシステム1(OS1)
12 オペレーティングシステム2(OS2)
13 計算機1上のマルチOS制御プログラム
14 計算機1のハードウェア
21 オペレーティングシステム3(OS3)
22 オペレーティングシステム4(OS4)
23 計算機2のマルチOS制御プログラム
24 計算機2のハードウェア
110 OS1カーネルプログラム
111 OS1業務プログラム
112 OS1業務生存通知プログラム
113 OS1生存通知プログラム
114 計算機2生存判定プログラム
115 計算機2OS3生存受信プログラム
116 計算機2OS3業務生存受信プログラム
120 OS2カーネルプログラム
121 OS1生存判定プログラム
122 OS1業務生存判定プログラム
141 計算機1のOS1用メモリ
142 計算機1のOS間共用メモリ
143 計算機1のOS2用メモリ
144 計算機1のCPU
210 OS3カーネルプログラム
211 OS3業務プログラム
212 OS3業務生存通知プログラム
213 OS3生存通知プログラム
214 計算機1生存判定プログラム
215 計算機1OS1生存受信プログラム
216 計算機1OS1業務生存受信プログラム
220 OS4カーネルプログラム
221 OS3生存判定プログラム
222 OS3業務生存判定プログラム
241 計算機2のOS3用メモリ
242 計算機2のOS間共用メモリ
243 計算機2のOS4用メモリ
244 計算機2のCPU
301 OS1生存フラグ
302 OS1業務動作中フラグ
303 再起動済みフラグ 701 計算機1OS1生存フラグ
702 計算機1OS1業務動作中フラグ

Claims (2)

  1. ネットワークを介して互いに接続され、かつそれぞれが2つのオペレーティングシステムを持つ2つの計算機を有し、この2つの計算機はメモリ装置を共有して業務データを共有可能とし、一方の計算機が主系のときに他方が従系となるマルチコンピュータシステムであって、
    2つの計算機のそれぞれは、
    業務プログラムと、この業務プログラムの生存情報を相手計算機に通知する通知プログラムと、相手計算機内のこの通知プログラムから送られてくる生存情報を受信する受信プログラムと、この受信プログラムで受信した生存情報から相手計算機の業務プログラムの生存か否かを判定する判定プログラムと、を有する第1のオペレーティングシステムと、
    この第1のオペレーティングシステムの業務プログラムの生存を監視する業務判定プログラムを有する第2のオペレーティングシステムと、
    を備え、
    それぞれの計算機の1つが主系として動作して自己の第1のオペレーティングシステムのもとで業務プログラムを動作させ、この主系の計算機では自己の通知プログラムにより生存情報を従系の計算機に送り、従系の計算機ではこの生存情報を自己の受信プログラムで受信し、判定プログラムで相手第1オペレーティングシステムの業務プログラムが生存していないかを監視し、生存していないとの判定のときに自己の第1のオペレーティングシステムの業務プログラムを立ち上げて相手業務プログラムの業務を引き継がせ、
    主系の第2オペレーティングシステムは、業務判定プログラムにより自己の業務プログラムが生存でないと判定したときにこの自己の第1のオペレーティングシステムの業務プログラムを終了させる、
    ものとしたマルチコンピュータシステム。
  2. 上記第2のオペレーティングシステムは、更に自己の第1のオペレーティングシステムの生存を監視するプログラムを具えるものとし、
    上記第1のオペレーティングシステムは、更に、自己の第1のオペレーティングシステムの生存情報を通知する通知プログラムと、相手計算機内のこの通知プログラムからの生存情報を受信する受信プログラムと、を有し、更に自己の判定プログラムがこの受信プログラムから受信した生存情報から相手の第1オペレーティングシステムの生存を監視するものとした請求項1のマルチコンピュータシステム。
JP2001384020A 2001-12-18 2001-12-18 マルチコンピュータシステム Expired - Fee Related JP3690666B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001384020A JP3690666B2 (ja) 2001-12-18 2001-12-18 マルチコンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001384020A JP3690666B2 (ja) 2001-12-18 2001-12-18 マルチコンピュータシステム

Publications (2)

Publication Number Publication Date
JP2003186681A JP2003186681A (ja) 2003-07-04
JP3690666B2 true JP3690666B2 (ja) 2005-08-31

Family

ID=27593860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001384020A Expired - Fee Related JP3690666B2 (ja) 2001-12-18 2001-12-18 マルチコンピュータシステム

Country Status (1)

Country Link
JP (1) JP3690666B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008052407A (ja) * 2006-08-23 2008-03-06 Mitsubishi Electric Corp クラスタシステム
JP2009282601A (ja) * 2008-05-20 2009-12-03 Nec System Technologies Ltd 動作監視プログラム、監視システム、および、監視方法
JP2010020621A (ja) * 2008-07-11 2010-01-28 Toyota Infotechnology Center Co Ltd プログラム修復システムおよび方法
JP2010102441A (ja) * 2008-10-22 2010-05-06 Fuji Xerox Co Ltd 情報処理装置、情報処理プログラム
JP5697526B2 (ja) * 2011-04-18 2015-04-08 三菱電機株式会社 映像監視レコーダおよび映像監視システム
JP5709713B2 (ja) * 2011-09-28 2015-04-30 三菱電機株式会社 アプリケーション監視装置
JP6150048B2 (ja) * 2013-05-10 2017-06-21 コニカミノルタ株式会社 画像形成システムおよび画像形成システムの診断方法
JP6424134B2 (ja) * 2015-04-23 2018-11-14 株式会社日立製作所 計算機システム及び計算機システムの制御方法

Also Published As

Publication number Publication date
JP2003186681A (ja) 2003-07-04

Similar Documents

Publication Publication Date Title
US11627041B2 (en) Dynamic reconfiguration of resilient logical modules in a software defined server
US7237140B2 (en) Fault tolerant multi-node computing system for parallel-running a program under different environments
US9176834B2 (en) Tolerating failures using concurrency in a cluster
US8713362B2 (en) Obviation of recovery of data store consistency for application I/O errors
US9026848B2 (en) Achieving ultra-high availability using a single CPU
US7523344B2 (en) Method and apparatus for facilitating process migration
AU713372B2 (en) Multiprocessor cluster membership manager framework
US7188237B2 (en) Reboot manager usable to change firmware in a high availability single processor system
CN110427246B (zh) 多核虚拟分区重构系统
US8495573B2 (en) Checkpoint and restartable applications and system services
US20130125121A1 (en) Method and system for virtual machine migration
US20120226939A1 (en) Accelerating recovery in mpi environments
JP2001101033A (ja) オペレーティングシステム及びアプリケーションプログラムの障害監視方法
JP2002259155A (ja) 多重系計算機システム
US7089413B2 (en) Dynamic computer system reset architecture
US20160246607A1 (en) Dynamic reconfiguration of queue pairs
JP2009211517A (ja) 仮想計算機冗長化システム
US6594709B1 (en) Methods and apparatus for transferring data using a device driver
JP3690666B2 (ja) マルチコンピュータシステム
WO2023125482A1 (zh) 集群管理方法、设备及计算系统
US8036105B2 (en) Monitoring a problem condition in a communications system
WO2006028520A1 (en) Migration of tasks in a computing system
US8291419B2 (en) Fault tolerant system for execution of parallel jobs
JP2002183105A (ja) スケーラブルパラレル処理のためのユニット同期化を処理する方法
Domingues et al. Broker fault recovery for a multiprocessor system-an-chip middleware

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050502

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050609

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3690666

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080624

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090624

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090624

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100624

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100624

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110624

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110624

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120624

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120624

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130624

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees