JP3253883B2 - プロセスリスタート方法及びプロセス監視装置 - Google Patents

プロセスリスタート方法及びプロセス監視装置

Info

Publication number
JP3253883B2
JP3253883B2 JP01835097A JP1835097A JP3253883B2 JP 3253883 B2 JP3253883 B2 JP 3253883B2 JP 01835097 A JP01835097 A JP 01835097A JP 1835097 A JP1835097 A JP 1835097A JP 3253883 B2 JP3253883 B2 JP 3253883B2
Authority
JP
Japan
Prior art keywords
computer
failure
server
client
restart
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
JP01835097A
Other languages
English (en)
Other versions
JPH10214199A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP01835097A priority Critical patent/JP3253883B2/ja
Priority to US09/016,421 priority patent/US6026499A/en
Publication of JPH10214199A publication Critical patent/JPH10214199A/ja
Application granted granted Critical
Publication of JP3253883B2 publication Critical patent/JP3253883B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/1407Checkpointing the instruction stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)
  • Computer And Data Communications (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、チェックポイント
に従ったプロセス状態の取得を行うクライアント/サー
バコンピュータにおいて、障害が発生したした際のプロ
セスリスタート方法及びプロセス監視装置に関する。
【0002】
【従来の技術】従来から、計算機におけるプログラム実
行の信頼性を向上させる方法として、チェックポイント
に従ったプログラムの実行方法が知られている。これ
は、プログラムの実行に際し、所定のチェックポイント
・タイミングに従ってプログラムの実行体であるプロセ
スの状態を定期・不定期に取得し、プログラムの実行中
に障害が発生した場合には、直近のチェックポイント
取得しプロセスの状態から当該プログラムを再実行す
るという方法である。ここで、チェックポイントとは、
プログラムの実行を経時的に見た場合に、プロセスの状
態を取得するための処理を行う時点をいうものとし、チ
ェックポイント・タイミングとは、あるチェックポイン
トから次のチェックポイントまでの範囲をいうものとす
る。
【0003】ところで、単独で動作するプログラムにお
いては、そのプロセスの途中状態のみのチェックポイン
トで、プロセスの状態を取得すればよいが、複数のプロ
グラムがプロセス間通信等の関係をもって動作するよう
な場合においては、1つのプロセスについて、チェック
ポイントに従って当該プロセスの状態を取得するのみで
は不十分である。すなわち、再実行した場合に矛盾が生
じないようにするためには、チェックポイントごとに相
互に関係がある複数のプロセスの状態を取得する必要が
ある。以下では、便宜上、各プロセスごとについてのチ
ェックポイントをローカルチェックポインといい、相
互に関係があるプロセスについてのローカルチェックポ
イントの集合を分散チェックポイントというものとす
る。
【0004】また、あるプロセスやそのプロセスが動作
している計算機に障害が発生した場合に、複数のプロセ
スが直近のチェックポイントにまで戻って再実行(リス
タート)を行う必要がある。これは、一般的にロールバ
ックと呼ばれる。このように、チェックポイント/リス
タートを分散システムに適用した場合を、分散チェック
ポイント/リスタート方式と呼ぶこととする。
【0005】従来の分散チェックポイントに基づくプロ
セス状態の取得を行なう方法として、以下の2種類に大
別することができる。 (1)同期型分散チェックポイントに基づくプロセス状
態の取得 (2)非同期型分散チェックポイントに基づくプロセス
状態の取得 図1(a)は、同期型分散チェックポイント方式の例を
示す図である。同図は、3つのプロセスP1,P2,P
3がそれぞれメッセージ送受信を行ないながら処理を進
めている場合の分散チェックポイントCH1を示してい
る。
【0006】同期型チェックポイントに従ったプロセス
の状態の取得方法(同期型分散チェックポイント方式)
として、"K.M. Chandy and L. Lamport: Distributed S
napshots:Determining Global States of Distributed
Systems, ACM Trans. Computer Syst., Vol. 3, No. 1,
pp. 63-75, Feb 1985" が知られている。この方法は、
プロセス間通信としてメッセージ送受信を対象にしてお
り、一貫性のある分散チェックポイントとは、未送信か
つ受信済みのメッセージが存在しない状態であると定義
している。より具体的には、分散チェックポイントに従
ったプロセス状態の取得時に、マーカと呼ばれるメッセ
ージを送り合うことで矛盾を引き起こすメッセージを検
出し、それらを保存することで全体として一慣性のある
状態を構築し、プロセス状態の取得を行なう。従って、
同図の分散チェックポイントCH1においては、各チェ
ックポイントは、各メッセージに関して矛盾がない状態
となっている。
【0007】また、図1(b)は、非同期型分散チェッ
クポイント方式の例を示す図である。同図に示すよう
に、非同期型分散チェックポイント方式においては、各
プロセスの任意の時点でチェックポイントに基づくプロ
セス状態の取得を行う。非同期型チェックポイント方式
を実現する方法として、"R.E. Strom ans S. Yemini: O
ptimistic Recovery in Distributed Systems, ACM Tra
ns. Computer Syst., Vol. 3, No. 3, pp.204-228, 198
5"が知られている。これは、プロセスP2に障害が発生
した場合、プロセスP2は、チェックポイントCHbま
でロールバックする。プロセスP2ではメッセージm
5、m6が再現される必要があるため、プロセスP1,
P2もそれぞれ、チェックポイントCHa,CHcまで
ロールバックする。するとプロセスP3は、メッセージ
m4が再現される必要があるため、プロセスP2はさら
にチェックポイントChb以前のチェックポイントまで
ロールバックする必要がある。このように各プロセスが
連鎖的にロールバックする状態をカスケードロールバッ
クと呼ぶ。非同期型チェックポイント方式では、このカ
スケードロールバックを防ぐために各プロセス毎に受信
したメッセージを保存するメッセージロギングと呼ばれ
る方法をとる。
【0008】すなわち、同図において、黒三角で示した
ものが保存が完了した受信メッセージであり、△で示し
たものが、まだ保存していないメッセージである。同図
において、プロセスP2に障害が発生した場合、プロセ
スP2は、チェックポイントCHbからリスタートし、
メッセージm5は保存されているため、メッセージm6
を受信する前の状態まで再実行できるが、メッセージm
6の内容は失われているため、プロセスP3もチェック
ポイントCHcから再実行され、保存したm4を元に受
信を再実行し、m6を送信する。プロセスp1に関して
はロールバックすることなく実行を継続する。ここで、
各プロセスはリスタート後の受信処理を保存したメッセ
ージを元に行なうため、各プロセスの動作が決定的(何
度も同じ処理を行なっても再現性がある)でなけばな
らない。なぜなら、プロセスの動作が非決定的な場合、
保存している受信メッセージとは異なるメッセージが送
信側プロセスで生成される可能性があるためである。
【0009】以上述べたように、分散チェックポイント
方式によれば、ある1 つのプロセスまたは計算機に障害
が発生した場合、相互に関係がある他のプロセスも含め
てロールバック/リスタートが起こる。
【0010】
【発明が解決しようとする課題】図2は、一般的な分散
システムのモデルであるクライアント・サーバモデルに
よるシステムの概念的構成を示す図である。同図は、図
1で示した3つのプロセスA、B、Cがそれぞれクライ
アント計算機C1、クライアント計算機C2、サーバ計
算機S上で動作している様子を示している。通常、クラ
イアント・サーバシステムにおいては、クライアント計
算機C1,C2は、ユーザが直接使用する端末であり、
複数のクライアント計算機のクライアントプロセスがサ
ーバ計算機S上のサーバプロセスに処理を要求し、サー
バプロセスは要求された処理を行って、処理結果をクラ
イアントプロセスに返し、クライアントプロセスは、サ
ーバから受けた結果を画面に表示してユーザに通知す
る。
【0011】図3は、分散チェックポイント/リスター
ト方式を説明するための概念図である。すなわち、同図
(a)は分散同期型チェックポイント方式、同図(b)
は分散非同期チェックポイント方式において、F1時点
でクライアント計算機C1に障害が発生した場合を示し
ている。両方式によれば、プロセスAの障害が発生した
ことに伴って、プロセスB,Cも最も直近のチェックポ
イントからリスタートすることになる。
【0012】一般的にサーバ計算機に比べてクライアン
ト計算機の方が信頼性が低いため、マシンダウン等が起
きやすい。従来の分散チェックポイント/リスタート方
式によれば、上述したように、1台のクライアント計算
機に障害が発生した場合に、他のクライアント計算機や
サーバ計算機を含めてシステム全体がロールバックして
しまうという問題点があった。このような問題は、1台
のサーバ計算機と数百台のクライアント計算機からなる
クライアント・サーバシステムの場合においてはさらに
深刻な問題である。すなわち、ある一人が使用している
クライアント計算機が故障した場合、全てのユーザのク
ライアント計算機上のプロセスがロールバックしてしま
う可能性がある。
【0013】本発明は、これらの問題点を鑑みてなされ
たもので、ある1台のクライアント計算機の障害がサー
バ計算機及び他のクライアント計算機に影響しないよう
にした分散チェックポイントにおけるプロセスリスター
方法及びプロセス監視装置を提供することを目的とす
る。
【0014】
【課題を解決するための手段】 本発明に係る発明は、
上記課題を解決するために以下の手段を有する。すなわ
ち、請求項1に係る発明は、複数の計算機によって構成
されるクライアント/サーバ型システムで用いられるプ
ロセスリスタート方法であって、前記複数の計算機の各
々が、他のプロセスと関係をもって動作する所定のプロ
セスを実行している際に、所定のチェックポイントごと
に前記所定のプロセスについてのプロセス実行に関する
情報を取得し、該実行している際に計算機のプロセスま
たは計算機自身に障害が発生した場合に、該障害が発生
したプロセスの計算機または障害が発生した計算機が、
サーバ計算機であるかクライアント計算機であるかを判
断し、該判断によって前記サーバ計算機であると判断し
た場合にのみ、前記サーバ計算機で実行していたプロセ
スを、取得した前記プロセス実行に関する情報に基づい
て、前記所定のチェックポイントからリスタートさせる
ことを特徴とするプロセスリスタート方法である。
【0015】本発明によれば、障害が発生した計算機
たは障害が発生したプロセスの計算機がサーバ計算機の
場合にのみリスタートが行われるので、障害が発生した
計算機または障害が発生したプロセスの計算機がクライ
アント計算機である場合にはリスタートが行われず、他
のクライアント計算機の実行に影響の与えることのない
プロセスリスタート方法を提供することができるように
なる。
【0016】請求項2に係る発明は、サーバの役割を行
う少なくとも一つの計算機と、クライアントの役割を行
う少なくとも一つの計算機とこれら計算機を監視する監
視装置とがネットワークで接続されており、前記各計算
機では、互いに関係をもって動作する各プロセスが実行
され、各プロセスの所定のチェックポイントで各プロセ
ス実行に関する情報を取得するクライアント/サーバ型
システムで用いられるプロセスリスタート方法であっ
て、前記監視装置は、前記各計算機の動作状況を監視
し、計算機障害を検出した時、または、各計算機にてプ
ロセス障害が検出された際に出力される障害を示す情報
の通知を受けた時に該計算機障害または該プロセス障
がサーバ計算機のものであるかクライアント計算機の
ものであるかを判断し、該判断結果がクライアント計算
機であ場合には、次の障害に備え待機状態に戻り、該
判断結果がサーバ計算機であ場合には、前記プロセス
実行に関する情報に基づいて前記所定のチェックポイン
トからプロセスをリスタートさせるためのリスタート指
示を前記サーバ計算機へ行うことを特徴とするプロセス
リスタート方法である。
【0017】請求項4に係る発明は、ネットワークを介
して、サーバの役割を行う少なくとも一つの計算機と、
クライアントの役割を行う少なくとも一つの計算機
続され前記各計算機では、互いに関係をもって動作す
る各プロセスが実行され、各プロセスの所定のチェック
ポイントで各プロセス実行に関する情報を取得するクラ
イアント/サーバ型システムで用いられるプロセス監視
装置であって、前記各計算機の動作状況を監視し、計算
障害を検出すると、その旨を通知する計算機障害検出
部と、前記計算機がサーバ計算機であるかクライアン
ト計算機であるかを示す種別情報を管理する計算機情報
管理部と、前記計算機障害検出部からの計算機障害の
知、または、各計算機にてプロセス障害が検出された際
に出力されるプロセス障害を示す情報の通知を受ける
前記計算機情報管理部の前記種別情報を参照し、
計算機障害または該プロセス障害の通知がサーバ計算機
のものであるかクライアント計算機のものであるかを判
断し、該判断結果がクライアント計算機であ場合に
、次の障害に備え待機状態に戻り、該判断結果がサー
バ計算機であ場合には、前記プロセス実行に関する情
報に基づいて前記所定のチェックポイントからプロセス
リスタートさせるためのリスタート指示を前記サーバ
計算機へ行うリスタート指示部とを備えたことを特徴と
するプロセス監視装置である。
【0018】
【0019】
【0020】
【0021】
【0022】
【0023】
【0024】
【0025】
【0026】なお、本発明は、上記各手段をプログラム
として実現し、これら各手段を実現するプログラムを記
録した記録媒体としてもよい。上記発明によれば、分散
チェックポイント/リスタート方法により高信頼のクラ
イアント・サーバシステムを実現することができ、1 台
のクライアント計算機障害がシステム全体に影響を及ぼ
すことを防止することができるようになる。
【0027】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照しつつ説明する。 (第1の実施形態) 図4は、本発明に係るプロセスリスタート方法を実現す
るためのシステムの構成を示す図である。同図におい
て、ネットワーク1には、サーバプロセスが動作するサ
ーバ計算機、各ユーザが使用するものであって、クラ
イアントプロセスが動作するクライアント計算機C1,
C2,及びシステム全体を監視するための監視端末2が
接続されている。
【0028】同図においては、サーバ計算機Sは、ネッ
トワーク1に1台のみが接続されているが、特にこれに
こだわるものではなく、複数のサーバ計算機が存在して
いてもよい。また、 監視端末2は、上記サーバ計算機
Sやクライアント計算機C1,C2とは別個独立に設け
られた計算機単体であってもよいし、サーバ計算機S内
に設けても、また、複数のサーバ計算機Sに設けてもよ
い。
【0029】監視端末2は、その内部にグローバル管理
部21を有する。このグローバル管理部21は、ネット
ワーク1上の各計算機の動作状況を監視し、その障害を
検出する計算機障害検出部211、監視を行っている各
計算機がサーバ計算機Sであるかクライアント計算機C
1,C2であるかの情報を管理する計算機情報管理部2
12、各計算機に対しリスタートを指示するためのリス
タート指示部213からなる。このグローバル管理部2
1は、ハードウェアとして実現してもよいし、また、プ
ログラムを実行することによって、またはそれらの組み
合わせによって実現するようにしてもよい。
【0030】計算機障害検出部211は、上述のように
ネットワーク1上の各計算機の動作状況を監視し、その
障害を検出するためのものである。この検出は、例え
ば、一定時間ごとに動作確認信号を各計算機に送出し、
その信号に対する応答信号が許容時間以内に返信されな
かった場合に、当該計算機は障害が発生した(故障し
た)とみなすことによって行われる。また、他の例とし
ては、各計算機において、一定時間ごとに自身が実行中
であることを示すalive信号を計算機障害検出部2
11に送出し、計算機障害検出部211では、そのal
ive信号を一定時間ごとに受信していることをもっ
て、当該計算機は正常に動作しており、一定時間経ても
当該alive信号を受信しないときは、その計算機は
障害が発生したとみなすようにしてもよい。
【0031】図5は、計算機情報管理部212に記憶さ
れた計算機情報の一例を示す図である。同図に示すよう
に、計算機情報管理部212は、ネットワーク上に接続
された計算機が、サーバ計算機であるかクライアント計
算機であるかについての情報を保持する。本発明の実施
形態においては、サーバ/クライアントの2種類の計算
機のみを規定するが、これにこだわるものではない。
【0032】リスタート指示部213は、計算機障害検
出部211または後述する各計算機に設けられたプロセ
ス障害検出部221から通知に基づき、計算機情報管
理部212を参照し、各計算機に対してリスタート指示
を行い、場合によってはなにも行わない。具体的には、
リスタート指示部213は、計算機情報管理部212
情報を調べ、障害が発生した計算機がサーバ計算機であ
ると判断した場合には、各計算機上のプロセスリスター
ト部222にリスタートの指示を送出する。また、障害
が発生した計算機がクライアント計算機であると判断し
た場合には、上記リスタート指示を送出することなく、
次の要求に備え待機する。なお、後述するようにリスタ
ート指示を受けた計算機のプロセスリスタート部222
は、同一計算機上のプロセスをリスタートすることとな
る。
【0033】サーバ計算機Sおよびクライアント計算機
C1,C2上には、自身において実行しているプロセス
を管理するプロセス管理部22が設けられている。プロ
セス管理部22は、自身のプロセスPの障害を検出する
プロセス障害検出部221と実際にプロセスをリスター
トさせるためのプロセスリスタート部222とを有して
いる。
【0034】次に、上記各機能実現手段の動作の詳細に
ついて説明する。図6は、計算機障害検出部211の動
作を説明するための図である。同図に示すように、計算
機障害検出部211は、計算機障害を検出すると(ST
61)、障害がその旨をリスタート指示部213に通知
する(ST62)。リスタート指示部213では、図7
に示すように、計算機情報管理部212を参照し(ST
71)、障害が発生したと通知のあった計算機がサーバ
計算機であるか否かを判断する(ST72)。そして、
障害が発生した計算機がサーバ計算機であると判断され
た場合には、各計算機上のプロセスリスタート部222
にリスタートを指示する(ST73)。一方、クライア
ント計算機であると判された場合には、本発明の実施
形態では、特別の処理を行わずに、待機状態に戻る。
【0035】次に、プロセス障害検出部221によって
プロセス障害が検出された場合の動作を説明する。図8
は、プロセス障害検出部221の動作を説明するための
図である。同図に示すように、各計算機上のプロセス障
害検出部221は、自身のプロセスを監視しており、プ
ロセス障害発生を検出する(ST81)。プロセス障
害検出部221は、プロセスの障害を検出すると、その
旨を監視端末2のリスタート指示部213に通知する
(ST82)。リスタート指示部213は、計算機情報
管理部212に保持されている計算機情報を参照し、上
述したように、障害が発生した計算機がサーバ計算機で
あると判断した場合には、各計算機上のプロセスリスタ
ート部222にリスタートの指示を出す。一方、障害が
発生した計算機がクライアント計算機であると判断した
場合には、待機状態に戻る。
【0036】図9は、プロセスリスタート部222の動
作を説明するための図である。同図に示すように、プロ
セスリスタート部222は、リスタート指示部213か
らのリスタート指示があまで待機している(ST9
1)。そして、リスタート指示を受けた場合には、自身
の計算機上のプロセスをリスタートする(ST92)。
【0037】以上の処理により、サーバ計算機S上で障
害が発生した場合には、システム全体でプロセスのリス
タートが行なわれ、クライアント計算機C1またはC2
上で障害が発生した場合には、当該計算機上のプロセス
のリスタートが行われない。従って、クライアント計算
機上で障害が発生した場合には、サーバ計算機や他のク
ライアント計算機の実行影響を与えることがなくな
る。
【0038】また、通常、チェックポイント情報(チェ
ックポイントに従ったプロセス等の内部状態)は、ディ
スク等の安定記憶に保存されるが、本発明によれば、ク
ライアント計算機に障害が発生した場合には、その計算
機上のプロセスはリスタートしないため、それらのチェ
ックポイント情報は必ずしも必要ではなくなる。そのた
め、チェックポイント情報をメモリ等の揮発性記憶媒体
に保存することで、高速なチェックポイント情報の生成
が可能になる。
【0039】(第2の実施形態)上記実施形態は、シス
テム全体でまたは計算機ごとにプロセスリスタートする
ものであったが、本実施形態は、プロセスの種類に応じ
たリスタートを行うことを特徴とするものである。すな
わち、システムの構成は、上記実施形態と同様である
が、計算機情報管理部212において計算機およびプロ
セスの情報を保持し、その種類に従ったプロセス等のリ
スタートを行うものである。
【0040】図10は、本実施形態に係る計算機情報管
理部212に記憶された情報を示す一例である。同図に
示すように、計算機情報管理部212は、各計算機のプ
ロセスごとに、そのプロセスに障害が発生した場合に、
リスタートさせるか否かの情報を有する。具体的には、
同図において、プロセスIDは、各プロセスを管理する
ための固有の値である。一般的には、計算機ごとに固有
の識別子を有していればよい。また、リスタート情報と
は、プロセスに障害が発生した場合に、プロセスをどの
ようにリスタートさせるかを示すものである。ここで、
リスタート情報の数値の意味は次の通りである。すなわ
ち、サーバのプロセスID「1001」および「100
2」のリスタート情報は、「11」となっている。これ
は、これらプロセスに障害が発生した場合には、自身の
プロセスに加え、他のプロセスをもリスタートさせるこ
とを意味する。また、特にサーバ計算機におけるリスタ
ートは、クライアントのプロセスをも含む意味で用いら
れる。一般に、サーバ計算機の障害は、システム全体に
影響を及ぼすので、「11」の値をとるが、例えば、
「01」という値を与えることで、当該プロセスのみの
リスタートを行うようにしてもかまわない。
【0041】次に、プロセスID「10001」のリス
タート情報は、「01」となっているが、これは、当該
プロセスの障害が発生した場合は、クライアント計算機
C1上の当該プロセスのみをリスタートさせるという意
味である。また、プロセスID「10002」のリスタ
ート情報は、「11」となっているが、これは、クライ
アント計算機C1上で動作しているすべてのプロセスを
リスタートさせるという意味である。このようなリスタ
ート指示は、リスタート指示部213がそれぞれの情報
に基づいて行われる。
【0042】図11は、本発明の実施形態に係るリスタ
ート指示部213の動作を説明するための図である。同
図において、プロセス障害検出部221からプロセス障
害が発生した旨の通知を受けると、リスタート指示部2
13は、計算機情報管理部212を参照し、必要な情報
を得る(ST111)。次に、リスタート指示部213
は、該計算機情報に基づいて、サーバ計算機におけるプ
ロセス障害かクライアント計算機におけるプロセス障害
かを判断する(ST112)。ここで、サーバ計算機に
おけるプロセス障害であると判断した場合には、さら
に、リスタート情報に基づいて全プロセスのリスタート
であるか当該プロセスのみのリスタートであるかを判断
する(ST113)。そして、全プロセスのリスター
ト、すなわち、リスタート情報が「11」である場合に
は、システム全体のプロセスについてリスタートを行う
ために、各計算機のプロセスリスタート部222にリス
タート指示を送出する(ST114)。一方、当該プロ
セスのみのリスタート、すなわち、リスタート情報が
「01」である場合には、当該サーバ計算機のプロセス
リスタート部222に当該プロセスのみのリスタート指
示を送出する(ST115)。
【0043】また、クライアント計算機においてプロセ
ス障害が発生したと判断された場合には(ST112の
no)、リスタート指示部213は、さらにリスタート
情報に基づいて、当該プロセスのみのリスタートである
か否かを判断する(ST116)。ここで、当該プロセ
スのみのリスタートであると判断された場合には、当該
クライアント計算機のプロセスリスタート部222に、
当該プロセスのみのリスタートを指示する(ST21
7)。一方、当該プロセスのみのリスタートでないと判
断された場合には(ST116のno)、同一クライア
ント計算機上のすべてのプロセスのリスタートを指示す
る(ST118)。
【0044】以上により、本発明によれば、プロセスの
種類に応じて、それぞれのプロセスごとにリスタートを
選択的に行うことができるようになる。特に、あるプロ
セスの動作が他のプロセスに影響を及ぼさないような場
合には、当該プロセスのみをリスタートさせることで、
効率よくシステムを運用することが可能となる。
【0045】なお、本実施形態において、リスタート情
報として相互に依存関係の強い計算機群を定め、その中
のある計算機に障害が発生した場合には、当該計算機群
をリスタートさせるようにしてもよい。
【0046】
【発明の効果】以上説明したように、本発明によれば、
分散チェックポイント/リスタート方法により高信頼の
クライアント・サーバシステムを実現することができ、
1 台のクライアント計算機障害がシステム全体に影響を
及ぼすことを防止することができるようになる。
【図面の簡単な説明】
【図1】 分散チェックポイントを説明するための図。
【図2】 クライアント・サーバモデルによるシステム
の概念的構成を示す図。
【図3】 分散チェックポイント/リスタート方式を説
明するための概念図。
【図4】 本発明に係るプロセスリスタート方法を実現
するためのシステムの構成を示す図。
【図5】 計算機情報管理部に記憶された計算機情報の
一例を示す図。
【図6】 計算機障害検出部の動作を説明するための
図。
【図7】 リスタート指示部の動作を説明するための
図。
【図8】 プロセス障害検出部の動作を説明するための
図。
【図9】 プロセスリスタート部の動作を説明するため
の図。
【図10】 計算機情報管理部に記憶された計算機情報
等の一例を示す図。
【図11】 リスタート指示部の動作を説明するための
図。
【符号の説明】
1…ネットワーク 2…監視端末 21…グローバル管理部 211…計算機障害検出部 212…計算機情報管理部 213…リスタート指示部 22…プロセス管理部 221…プロセス障害検出部 222…プロセスリスタート部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 金井 達徳 神奈川県川崎市幸区小向東芝町1番地 株式会社東芝 研究開発センター内 (56)参考文献 特開 平8−180020(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 11/14 G06F 13/00

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の計算機によって構成されるクライ
    アント/サーバ型システムで用いられるプロセスリスタ
    ート方法であって、 前記複数の計算機の各々が、他のプロセスと関係をもっ
    て動作する所定のプロセスを実行している際に、所定の
    チェックポイントごとに前記所定のプロセスについての
    プロセス実行に関する情報を取得し、 該実行している際に計算機のプロセスまたは計算機自身
    に障害が発生した場合に、 該障害が発生したプロセスの計算機または障害が発生し
    た計算機が、サーバ計算機であるかクライアント計算機
    であるかを判断し、 該判断によって前記サーバ計算機であると判断した場合
    にのみ、前記サーバ計算機で実行していたプロセスを、
    取得した前記プロセス実行に関する情報に基づいて、前
    記所定のチェックポイントからリスタートさせることを
    特徴とするプロセスリスタート方法。
  2. 【請求項2】 サーバの役割を行う少なくとも一つの計
    算機と、クライアントの役割を行う少なくとも一つの計
    算機とこれら計算機を監視する監視装置とがネットワー
    クで接続されており、前記各計算機では、互いに関係を
    もって動作する各プロセスが実行され、各プロセスの所
    定のチェックポイントで各プロセス実行に関する情報を
    取得するクライアント/サーバ型システムで用いられる
    プロセスリスタート方法であって、前記監視装置は、 前記各計算機の動作状況を監視し、計算機障害を検出
    た時、または、各計算機にてプロセス障害が検出された
    際に出力される障害を示す情報の通知を受けた時に
    計算機障害または該プロセス障害がサーバ計算機のもの
    であるかクライアント計算機のものであるかを判断し、該判断結果 がクライアント計算機であ場合には、次の
    障害に備え待機状態に戻り、 該判断結果がサーバ計算機であ場合には、前記プロセ
    ス実行に関する情報に基づいて前記所定のチェックポイ
    ントからプロセスをリスタートさせるためのリスタート
    指示を前記サーバ計算機へ行うことを特徴とするプロセ
    スリスタート方法。
  3. 【請求項3】 前記監視装置は、該判断結果がサーバ計
    算機である場合には、更に、前記サーバ計算機で実行
    れるプロセスと関係をもって実行されるクライアント計
    算機の各プロセスを、前記プロセス実行に関する情報の
    各々に基づいて、前記各々のチェックポイントからリス
    タートさせるためのリスタート指示を、該クライアント
    計算機へ行うことを特徴とする請求項2記載のプロセス
    リスタート方法。
  4. 【請求項4】 ネットワークを介して、サーバの役割を
    行う少なくとも一つの計算機と、クライアントの役割を
    行う少なくとも一つの計算機接続され前記各計算機
    では、互いに関係をもって動作する各プロセスが実行さ
    れ、各プロセスの所定のチェックポイントで各プロセス
    実行に関する情報を取得するクライアント/サーバ型シ
    ステムで用いられるプロセス監視装置であって、 前記各計算機の動作状況を監視し、計算機障害を検出す
    ると、その旨を通知する計算機障害検出部と、 前記計算機がサーバ計算機であるかクライアント計算
    機であるかを示す種別情報を管理する計算機情報管理部
    と、 前記計算機障害検出部からの計算機障害の通知、また
    は、各計算機にてプロセス障害が検出された際に出力さ
    れるプロセス障害を示す情報の通知を受けると前記計
    算機情報管理部の前記種別情報を参照し、該計算機障害
    または該プロセス障害の通知がサーバ計算機のものであ
    るかクライアント計算機のものであるかを判断し、該判
    断結果がクライアント計算機であ場合には、次の障害
    に備え待機状態に戻り、該判断結果がサーバ計算機であ
    場合には、前記プロセス実行に関する情報に基づいて
    前記所定のチェックポイントからプロセスをリスタート
    させるためのリスタート指示を前記サーバ計算機へ行う
    リスタート指示部とを備えたことを特徴とするプロセス
    監視装置。
  5. 【請求項5】 前記リスタート指示部は、更に、該判断
    結果がサーバ計算機である場合には、更に、前記サーバ
    計算機で実行されるプロセスと関係をもって実行される
    クライアント計算機の各プロセスを、前記プロセス実行
    に関する情報の各々に基づいて、前記各々のチェックポ
    イントからリスタートさせるためのリスタート指示を、
    該クライアント計算機へ行うようにしたことを特徴とす
    る請求項4記載のプロセス監視装置。
JP01835097A 1997-01-31 1997-01-31 プロセスリスタート方法及びプロセス監視装置 Expired - Fee Related JP3253883B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP01835097A JP3253883B2 (ja) 1997-01-31 1997-01-31 プロセスリスタート方法及びプロセス監視装置
US09/016,421 US6026499A (en) 1997-01-31 1998-01-30 Scheme for restarting processes at distributed checkpoints in client-server computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01835097A JP3253883B2 (ja) 1997-01-31 1997-01-31 プロセスリスタート方法及びプロセス監視装置

Publications (2)

Publication Number Publication Date
JPH10214199A JPH10214199A (ja) 1998-08-11
JP3253883B2 true JP3253883B2 (ja) 2002-02-04

Family

ID=11969233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01835097A Expired - Fee Related JP3253883B2 (ja) 1997-01-31 1997-01-31 プロセスリスタート方法及びプロセス監視装置

Country Status (2)

Country Link
US (1) US6026499A (ja)
JP (1) JP3253883B2 (ja)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192391B1 (en) * 1997-05-30 2001-02-20 Nec Corporation Process stop method and apparatus for a distributed memory multi-processor system
US6304982B1 (en) * 1998-07-14 2001-10-16 Autodesk, Inc. Network distributed automated testing system
US6430610B1 (en) * 1998-09-02 2002-08-06 Steeleye Technology, Inc. TCP/IP address protection mechanism in a clustered server environment
JP2000181771A (ja) * 1998-12-15 2000-06-30 Fujitsu Ltd 情報処理方法及び情報処理装置並びに記録媒体
US6594779B1 (en) * 1999-03-30 2003-07-15 International Business Machines Corporation Method, system and program products for managing the checkpointing/restarting of resources of a computing environment
ATE365944T1 (de) * 1999-10-26 2007-07-15 Iontas Ltd Überwachung von rechnerbenutzung
US6732299B1 (en) * 2000-03-08 2004-05-04 Lucent Technologies Inc. Warm start software recovery
US7743126B2 (en) * 2001-06-28 2010-06-22 Hewlett-Packard Development Company, L.P. Migrating recovery modules in a distributed computing environment
JP3749208B2 (ja) * 2002-08-14 2006-02-22 株式会社東芝 プロセスマイグレーション方法、計算機
US20040141461A1 (en) * 2003-01-22 2004-07-22 Zimmer Vincent J. Remote reset using a one-time pad
US20040158605A1 (en) * 2003-02-10 2004-08-12 International Business Machines Corporation Domain-wide reset agents
US8122280B2 (en) 2004-08-26 2012-02-21 Open Invention Network, Llc Method and system for providing high availability to computer applications
US7526676B2 (en) * 2004-09-03 2009-04-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Slave device having independent error recovery
US7373558B2 (en) * 2004-09-23 2008-05-13 Intel Corporation Vectoring process-kill errors to an application program
US7380169B2 (en) * 2004-09-24 2008-05-27 Intel Corporation Converting merge buffer system-kill errors to process-kill errors
JP4773715B2 (ja) * 2004-12-01 2011-09-14 富士通株式会社 チェックポイント取得方法
DE102005024327B4 (de) * 2005-05-27 2009-04-09 Siemens Ag Watch-Dog in einer verteilten Applikations-Umgebung
US8752049B1 (en) 2008-12-15 2014-06-10 Open Invention Network, Llc Method and computer readable medium for providing checkpointing to windows application groups
US9286109B1 (en) * 2005-08-26 2016-03-15 Open Invention Network, Llc Method and system for providing checkpointing to windows application groups
US8078910B1 (en) 2008-12-15 2011-12-13 Open Invention Network, Llc Method and system for providing coordinated checkpointing to a group of independent computer applications
US8195722B1 (en) 2008-12-15 2012-06-05 Open Invention Network, Llc Method and system for providing storage checkpointing to a group of independent computer applications
US7681075B2 (en) * 2006-05-02 2010-03-16 Open Invention Network Llc Method and system for providing high availability to distributed computer applications
US20070168720A1 (en) * 2005-11-30 2007-07-19 Oracle International Corporation Method and apparatus for providing fault tolerance in a collaboration environment
JP4689572B2 (ja) * 2006-10-13 2011-05-25 日本電信電話株式会社 サーバ再開方法、サーバ再開装置、サーバ再開プログラム
JP5595633B2 (ja) * 2007-02-26 2014-09-24 スパンション エルエルシー シミュレーション方法及びシミュレーション装置
US7937618B2 (en) * 2007-04-26 2011-05-03 International Business Machines Corporation Distributed, fault-tolerant and highly available computing system
US8776018B2 (en) 2008-01-11 2014-07-08 International Business Machines Corporation System and method for restartable provisioning of software components
US8341631B2 (en) * 2009-04-10 2012-12-25 Open Invention Network Llc System and method for application isolation
US8904004B2 (en) * 2009-04-10 2014-12-02 Open Invention Network, Llc System and method for maintaining mappings between application resources inside and outside isolated environments
US8539488B1 (en) 2009-04-10 2013-09-17 Open Invention Network, Llc System and method for application isolation with live migration
US8752048B1 (en) 2008-12-15 2014-06-10 Open Invention Network, Llc Method and system for providing checkpointing to windows application groups
US8281317B1 (en) 2008-12-15 2012-10-02 Open Invention Network Llc Method and computer readable medium for providing checkpointing to windows application groups
US8880473B1 (en) 2008-12-15 2014-11-04 Open Invention Network, Llc Method and system for providing storage checkpointing to a group of independent computer applications
US8464256B1 (en) 2009-04-10 2013-06-11 Open Invention Network, Llc System and method for hierarchical interception with isolated environments
US8782670B2 (en) * 2009-04-10 2014-07-15 Open Invention Network, Llc System and method for application isolation
US8826070B1 (en) 2008-12-15 2014-09-02 Open Invention Network, Llc Method and system for providing storage checkpointing to a group of independent computer applications
US8041994B2 (en) * 2009-01-09 2011-10-18 Alcatel Lucent Asynchronous checkpointing with audits in high availability networks
US20100185682A1 (en) * 2009-01-09 2010-07-22 Lucent Technologies Inc. Object identifier and common registry to support asynchronous checkpointing with audits
US8566539B2 (en) 2009-01-14 2013-10-22 International Business Machines Corporation Managing thermal condition of a memory
US9058599B1 (en) 2009-04-10 2015-06-16 Open Invention Network, Llc System and method for usage billing of hosted applications
US11538078B1 (en) 2009-04-10 2022-12-27 International Business Machines Corporation System and method for usage billing of hosted applications
US9577893B1 (en) 2009-04-10 2017-02-21 Open Invention Network Llc System and method for cached streaming application isolation
US10419504B1 (en) 2009-04-10 2019-09-17 Open Invention Network Llc System and method for streaming application isolation
US8555360B1 (en) 2009-04-10 2013-10-08 Open Invention Network Llc System and method for on-line and off-line streaming application isolation
US8418236B1 (en) 2009-04-10 2013-04-09 Open Invention Network Llc System and method for streaming application isolation
JP4886826B2 (ja) * 2009-08-24 2012-02-29 インターナショナル・ビジネス・マシーンズ・コーポレーション フォールト・トレラント・コンピュータ・システム、方法及びプログラム
JP5516747B2 (ja) 2010-10-05 2014-06-11 富士通株式会社 マルチコアプロセッサシステム、監視制御方法、および監視制御プログラム
US20130219177A1 (en) * 2012-02-16 2013-08-22 Samsung Electronics Co. Ltd. Secure data processing device and method
CN104854566B (zh) * 2012-10-19 2018-05-04 慧与发展有限责任合伙企业 崩溃恢复的方法和系统
CN107819640B (zh) * 2016-09-14 2019-06-28 北京百度网讯科技有限公司 用于机器人操作系统的监控方法和装置
US10552274B1 (en) * 2017-08-03 2020-02-04 EMC IP Holding Company LLC Asynchronous in-memory data checkpointing for distributed computing systems
JP7363049B2 (ja) * 2019-02-18 2023-10-18 日本電気株式会社 業務サービス提供システム、業務サービス復旧方法及び業務サービス復旧プログラム
CN111679928B (zh) * 2020-06-01 2023-02-24 西安微电子技术研究所 一种基于Master-Slave基础框架的系统故障检测及恢复方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4665520A (en) * 1985-02-01 1987-05-12 International Business Machines Corporation Optimistic recovery in a distributed processing system
US4814971A (en) * 1985-09-11 1989-03-21 Texas Instruments Incorporated Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state
US5065311A (en) * 1987-04-20 1991-11-12 Hitachi, Ltd. Distributed data base system of composite subsystem type, and method fault recovery for the system
JPH02287858A (ja) * 1989-04-28 1990-11-27 Toshiba Corp 分散処理システムのリスタート方式
US5333303A (en) * 1991-03-28 1994-07-26 International Business Machines Corporation Method for providing data availability in a transaction-oriented system during restart after a failure
JP2685712B2 (ja) * 1994-03-30 1997-12-03 株式会社サンポウロック ハンドルロック
US5590277A (en) * 1994-06-22 1996-12-31 Lucent Technologies Inc. Progressive retry method and apparatus for software failure recovery in multi-process message-passing applications
EP0697652A1 (en) * 1994-08-16 1996-02-21 International Business Machines Corporation Method for re-executing a process on a computer system for fault correction
JP3504763B2 (ja) * 1994-08-19 2004-03-08 富士通株式会社 分散システムに使用されるクライアント,サーバ及び記憶装置並びに分散システムにおける資源管理用サーバの復旧方法
US5634096A (en) * 1994-10-31 1997-05-27 International Business Machines Corporation Using virtual disks for disk system checkpointing
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
JP3154942B2 (ja) * 1995-09-11 2001-04-09 株式会社東芝 分散チェックポイント生成方法および同方法が適用される計算機システム
US5819019A (en) * 1995-12-01 1998-10-06 Silicon Graphics, Inc. System/method for recovering network resources in a distributed environment, via registered callbacks
US5931954A (en) * 1996-01-31 1999-08-03 Kabushiki Kaisha Toshiba I/O control apparatus having check recovery function
JP3258228B2 (ja) * 1996-03-15 2002-02-18 株式会社東芝 チェックポイント生成方法
JP3072048B2 (ja) * 1996-03-19 2000-07-31 株式会社東芝 計算機システムおよび計算機システムのソフトウェア故障回復方法
JP3120033B2 (ja) * 1996-03-19 2000-12-25 株式会社東芝 分散メモリ型マルチプロセッサシステム及び故障回復方法
US5754752A (en) * 1996-03-28 1998-05-19 Tandem Computers Incorporated End-to-end session recovery
US5796934A (en) * 1996-05-31 1998-08-18 Oracle Corporation Fault tolerant client server system
US5845292A (en) * 1996-12-16 1998-12-01 Lucent Technologies Inc. System and method for restoring a distributed checkpointed database

Also Published As

Publication number Publication date
JPH10214199A (ja) 1998-08-11
US6026499A (en) 2000-02-15

Similar Documents

Publication Publication Date Title
JP3253883B2 (ja) プロセスリスタート方法及びプロセス監視装置
Silva et al. Fault-tolerant execution of mobile agents
US5530802A (en) Input sequence reordering method for software failure recovery
US6161193A (en) Methods and apparatus for process replication/recovery in a distributed system
US5590277A (en) Progressive retry method and apparatus for software failure recovery in multi-process message-passing applications
JP4345334B2 (ja) 耐障害計算機システム、プログラム並列実行方法およびプログラム
CN108847982B (zh) 一种分布式存储集群及其节点故障切换方法和装置
EP0691610B1 (en) Progressive retry method and apparatus having reusable software modules for software failure recovery in multiprocess message-passing applications
US7802128B2 (en) Method to avoid continuous application failovers in a cluster
US6266781B1 (en) Method and apparatus for providing failure detection and recovery with predetermined replication style for distributed applications in a network
US6195760B1 (en) Method and apparatus for providing failure detection and recovery with predetermined degree of replication for distributed applications in a network
US20080288812A1 (en) Cluster system and an error recovery method thereof
US6671704B1 (en) Method and apparatus for handling failures of resource managers in a clustered environment
US6467050B1 (en) Method and apparatus for managing services within a cluster computer system
US20110228668A1 (en) Method and system for automatic failover of distributed query processing using distributed shared memory
US7856639B2 (en) Monitoring and controlling applications executing in a computing node
JPH0576654B2 (ja)
Huang et al. NT-SwiFT: Software implemented fault tolerance on Windows NT
EP0701209B1 (en) Apparatus and method for software rejuvenation
Tang et al. Availability measurement and modeling for an application server
Wang et al. Progressive retry for software failure recovery in message-passing applications
CN109446034B (zh) 上报崩溃事件的方法、装置、计算机设备及存储介质
JP3447347B2 (ja) 障害検出方法
JP3467750B2 (ja) 分散オブジェクト処理システム
US11966292B2 (en) Fault management in a distributed computer system

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071122

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081122

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081122

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20101122

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20101122

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20121122

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20131122

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees