JPH0830473A - プロセス復旧方法 - Google Patents
プロセス復旧方法Info
- Publication number
- JPH0830473A JPH0830473A JP6159058A JP15905894A JPH0830473A JP H0830473 A JPH0830473 A JP H0830473A JP 6159058 A JP6159058 A JP 6159058A JP 15905894 A JP15905894 A JP 15905894A JP H0830473 A JPH0830473 A JP H0830473A
- Authority
- JP
- Japan
- Prior art keywords
- function
- information
- recovery
- divided
- restoration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】プロセス復旧方法において、プロセスの機能を
分割して管理し、復旧基準を定めて、その復旧基準より
も重要性が低いプロセスの機能の復旧に支障をきたすよ
うな事態が発生しても、重要なプロセスの機能を復旧
し、プロセスの処理を継続できるようにする。 【構成】プロセスの動作状態情報を保存する状態保存手
段手段10と、保存された動作状態情報を収集する情報
収集手段12と、収集した動作状態情報を用いてプロセ
スの動作状態を復旧するプロセス復旧手段13とを有す
るシステムにおいて、プロセスを機能ごとに分割して、
これをタグによって動作状態情報と関連付けて、分割さ
れた機能ごとに復旧できるようにして、プロセスの機能
の重要度に応じて、プロセス復旧をおこなう。
分割して管理し、復旧基準を定めて、その復旧基準より
も重要性が低いプロセスの機能の復旧に支障をきたすよ
うな事態が発生しても、重要なプロセスの機能を復旧
し、プロセスの処理を継続できるようにする。 【構成】プロセスの動作状態情報を保存する状態保存手
段手段10と、保存された動作状態情報を収集する情報
収集手段12と、収集した動作状態情報を用いてプロセ
スの動作状態を復旧するプロセス復旧手段13とを有す
るシステムにおいて、プロセスを機能ごとに分割して、
これをタグによって動作状態情報と関連付けて、分割さ
れた機能ごとに復旧できるようにして、プロセスの機能
の重要度に応じて、プロセス復旧をおこなう。
Description
【0001】
【産業上の利用分野】本発明は、プロセス復旧方法に係
り、フォールトトレラント計算機システムにおいて、プ
ロセスの重要な機能のみを優先して復旧して、プロセス
の復旧のための制御を、プロセスの機能ごとに、より精
密におこないうるプロセス復旧方法に関する。
り、フォールトトレラント計算機システムにおいて、プ
ロセスの重要な機能のみを優先して復旧して、プロセス
の復旧のための制御を、プロセスの機能ごとに、より精
密におこないうるプロセス復旧方法に関する。
【0002】
【従来の技術】一般に、信頼性の高い情報処理システム
を構築するためには、計算機上のプロセスの状態を効果
的に管理する必要がある。このため、従来、プロセスの
処理の途中でチェックポイントを設けて、プロセスの処
理結果を保存することがおこなわれ、この保存された処
理結果を用いてシステムのフォールトトレラント(fa
lut tolerant)化を実現している。
を構築するためには、計算機上のプロセスの状態を効果
的に管理する必要がある。このため、従来、プロセスの
処理の途中でチェックポイントを設けて、プロセスの処
理結果を保存することがおこなわれ、この保存された処
理結果を用いてシステムのフォールトトレラント(fa
lut tolerant)化を実現している。
【0003】例えば、複数の計算機から構成されるシス
テムにおいては、「フォールト・トレラント・システ
ム」,ジェイ.グレイ他著,マグロウヒルブック刊(1
986年)第154頁から第158頁に記載のように、
チェックポイント毎にプロセスの処理結果を他の計算機
上の予備プロセスに送ることによりプロセスの状態を保
存し、この情報を用いてプロセスの復旧をおこなってい
る。
テムにおいては、「フォールト・トレラント・システ
ム」,ジェイ.グレイ他著,マグロウヒルブック刊(1
986年)第154頁から第158頁に記載のように、
チェックポイント毎にプロセスの処理結果を他の計算機
上の予備プロセスに送ることによりプロセスの状態を保
存し、この情報を用いてプロセスの復旧をおこなってい
る。
【0004】また、分散処理システム等においては特開
平3−253964号公報に記載の「メッセージ通信処
理方式」のように、プロセスの処理結果を不揮発メモリ
に保存しておくことにより、いったん、プロセスが停止
した後でもこの不揮発メモリの内容を用いてプロセスの
処理結果を正しく回復して、プロセスのフォールトトレ
ラント化を実現している。
平3−253964号公報に記載の「メッセージ通信処
理方式」のように、プロセスの処理結果を不揮発メモリ
に保存しておくことにより、いったん、プロセスが停止
した後でもこの不揮発メモリの内容を用いてプロセスの
処理結果を正しく回復して、プロセスのフォールトトレ
ラント化を実現している。
【0005】
【発明が解決しようとする課題】上記従来技術は、プロ
セスの状態のバックアップを取り、障害時にはこのバッ
クアップ情報を基にこれを復旧させるものである。しか
しながら、上記従来技術のいずれも、復旧させたいプロ
セスの機能には、優先度があることについて考慮されて
いない。したがって、上記従来技術に係るプロセス復旧
方法では、プロセスの完全な復旧が目的とされているた
め、情報を保管する計算機に障害が発生したり、あるい
は、情報を保管する計算機との間に情報転送障害が発生
した場合などには、障害の発生により影響を受けるプロ
セスの機能の重要性が低い場合でも、プロセスの情報を
回復することができずにプロセスの復旧が困難となり、
その結果、プロセスの重要な機能までが、復旧されえな
いことになるという問題点があった。
セスの状態のバックアップを取り、障害時にはこのバッ
クアップ情報を基にこれを復旧させるものである。しか
しながら、上記従来技術のいずれも、復旧させたいプロ
セスの機能には、優先度があることについて考慮されて
いない。したがって、上記従来技術に係るプロセス復旧
方法では、プロセスの完全な復旧が目的とされているた
め、情報を保管する計算機に障害が発生したり、あるい
は、情報を保管する計算機との間に情報転送障害が発生
した場合などには、障害の発生により影響を受けるプロ
セスの機能の重要性が低い場合でも、プロセスの情報を
回復することができずにプロセスの復旧が困難となり、
その結果、プロセスの重要な機能までが、復旧されえな
いことになるという問題点があった。
【0006】本発明は、上記従来技術の問題点を解決す
るためになされたもので、その目的は、プロセスの機能
を分割して管理し、復旧基準を定めて、その復旧基準よ
りも重要性が低いプロセスの機能の復旧に支障をきたす
ような事態が発生しても、重要なプロセスの機能を復旧
し、プロセスの処理を継続できるプロセス復旧方法を提
供することにある。
るためになされたもので、その目的は、プロセスの機能
を分割して管理し、復旧基準を定めて、その復旧基準よ
りも重要性が低いプロセスの機能の復旧に支障をきたす
ような事態が発生しても、重要なプロセスの機能を復旧
し、プロセスの処理を継続できるプロセス復旧方法を提
供することにある。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明のプロセス復旧方法に係る発明の構成は、少
なくとも一台以上の計算機が存在し、処理単位をプロセ
スに分割して管理し、前記プロセスがチェックポイント
を通過した時点の前記プロセスの動作状態情報の全てま
たはその一部分を、前記計算機に保存する手段を備え、
前記プロセスの動作に障害が発生した場合、前記プロセ
スの動作状態情報を、前記計算機に保存する手段により
保存された前記プロセスの動作状態情報によって、プロ
セスの復旧をおこなう情報処理システムのプロセス復旧
方法において、前記計算機に存在する少なくとも1つ以
上の動作状態情報を収集する手段と、その収集した動作
状態情報を用いて、障害が発生したプロセスとは、別の
プロセスに、前記障害が発生したプロセス障害発生前の
動作状態を復旧させる手段とを有し、プロセスの動作を
構成する機能を分割して、前記プロセスの動作状態情報
を、前記計算機に保存する手段によって、動作状態情報
として保存する情報と、前記分割された機能と、前記保
存されている動作状態情報とを関連付けるための情報
と、前記動作状態情報に関連付けられたプロセスの機能
に関する情報とを保存して、前記分割された機能ごとに
プロセスの復旧の可否を判断するようにしたものであ
る。
に、本発明のプロセス復旧方法に係る発明の構成は、少
なくとも一台以上の計算機が存在し、処理単位をプロセ
スに分割して管理し、前記プロセスがチェックポイント
を通過した時点の前記プロセスの動作状態情報の全てま
たはその一部分を、前記計算機に保存する手段を備え、
前記プロセスの動作に障害が発生した場合、前記プロセ
スの動作状態情報を、前記計算機に保存する手段により
保存された前記プロセスの動作状態情報によって、プロ
セスの復旧をおこなう情報処理システムのプロセス復旧
方法において、前記計算機に存在する少なくとも1つ以
上の動作状態情報を収集する手段と、その収集した動作
状態情報を用いて、障害が発生したプロセスとは、別の
プロセスに、前記障害が発生したプロセス障害発生前の
動作状態を復旧させる手段とを有し、プロセスの動作を
構成する機能を分割して、前記プロセスの動作状態情報
を、前記計算機に保存する手段によって、動作状態情報
として保存する情報と、前記分割された機能と、前記保
存されている動作状態情報とを関連付けるための情報
と、前記動作状態情報に関連付けられたプロセスの機能
に関する情報とを保存して、前記分割された機能ごとに
プロセスの復旧の可否を判断するようにしたものであ
る。
【0008】また詳しくは、上記プロセス復旧方法にお
いて、前記分割された機能ごとにプロセスの復旧の可否
を判断する場合において、前記保存されている動作状態
情報ごとに、正しく復旧されるか判定する手段を有し、
前記分割された機能に関連付けられた前記保存されてい
る動作状態情報のうちで、正しく復旧されないと判定さ
れた動作状態情報が1つでもあるときに、その分割され
た機能が正しく復旧されないと判定されるようにしたも
のである。
いて、前記分割された機能ごとにプロセスの復旧の可否
を判断する場合において、前記保存されている動作状態
情報ごとに、正しく復旧されるか判定する手段を有し、
前記分割された機能に関連付けられた前記保存されてい
る動作状態情報のうちで、正しく復旧されないと判定さ
れた動作状態情報が1つでもあるときに、その分割され
た機能が正しく復旧されないと判定されるようにしたも
のである。
【0009】より詳しくは、前記分割された機能ごとに
プロセスの復旧の可否を判断した後に、所定の復旧基準
を満たしたとき、前記判断で復旧が可であると判断され
たプロセスの機能を復旧させるようにしたものである。
プロセスの復旧の可否を判断した後に、所定の復旧基準
を満たしたとき、前記判断で復旧が可であると判断され
たプロセスの機能を復旧させるようにしたものである。
【0010】さらに詳しくは、上記プロセス復旧方法に
おいて、前記分割された機能ごとに、重要度を有し、前
記所定の復旧基準が、前記復旧が不可であると判断され
た前記分割された機能の重要度は全て、前記予め定めら
れた復旧基準の重要度未満であるようにしたものであ
る。
おいて、前記分割された機能ごとに、重要度を有し、前
記所定の復旧基準が、前記復旧が不可であると判断され
た前記分割された機能の重要度は全て、前記予め定めら
れた復旧基準の重要度未満であるようにしたものであ
る。
【0011】
【作用】プロセスの機能を分割して、分割した機能ごと
に、タグによってプロセスの動作状態保存情報と結び付
ける。そして、動作状態保存情報ごとの復旧の可否とプ
ロセスの分割された機能相互の依存関係を勘案して、分
割された機能ごとの復旧の可否を判断する。
に、タグによってプロセスの動作状態保存情報と結び付
ける。そして、動作状態保存情報ごとの復旧の可否とプ
ロセスの分割された機能相互の依存関係を勘案して、分
割された機能ごとの復旧の可否を判断する。
【0012】分割された機能には、それぞれ重要度が設
けられ、復旧できない機能があっても、その機能の重要
度が復旧基準よりも小さいときは、復旧できると判断さ
れた機能のみを復旧させることにより、分割された機能
のうちで重要性が高い機能を復旧することができる。
けられ、復旧できない機能があっても、その機能の重要
度が復旧基準よりも小さいときは、復旧できると判断さ
れた機能のみを復旧させることにより、分割された機能
のうちで重要性が高い機能を復旧することができる。
【0013】
【実施例】以下、本発明の各実施例を図1ないし図10
を用いて説明する。
を用いて説明する。
【0014】〔実施例1〕以下、本発明の一実施例を図
1、図3ないし図10を用いて説明する。 (1)本発明に係るプロセス復旧方法の一実施例の概要
とシステム構成 先ず、最初に図1を用いて本発明に係る一実施例の概要
とシステム構成について説明しよう。図1は、本発明に
係る一実施例のシステム構成をあらわす模式図である。
1、図3ないし図10を用いて説明する。 (1)本発明に係るプロセス復旧方法の一実施例の概要
とシステム構成 先ず、最初に図1を用いて本発明に係る一実施例の概要
とシステム構成について説明しよう。図1は、本発明に
係る一実施例のシステム構成をあらわす模式図である。
【0015】ここでは、例として1台の計算機からなる
システムを示しているが、本発明のプロセス復旧方法に
よる計算機は、複数台であっても良く、必ずしも1台に
限らない。
システムを示しているが、本発明のプロセス復旧方法に
よる計算機は、複数台であっても良く、必ずしも1台に
限らない。
【0016】高信頼化システムにおいて、例えばプロセ
スの異常終了や計算機1の停止等の原因によりプロセス
の動作に障害が発生した場合、このプロセスを元の計算
機または別の計算機上に復旧してシステムの処理を継続
する。この場合において、障害が発生したプロセス2を
復旧するために、そのプロセスがおこなっていた処理を
継続するためのプロセス3(以下、これを「復旧プロセ
ス」という)を起動する。この時、その復旧プロセス3
がその障害発生プロセス2の動作状態を回復するために
は、この障害発生プロセス2の障害発生以前の動作状態
に関する情報が必要である。
スの異常終了や計算機1の停止等の原因によりプロセス
の動作に障害が発生した場合、このプロセスを元の計算
機または別の計算機上に復旧してシステムの処理を継続
する。この場合において、障害が発生したプロセス2を
復旧するために、そのプロセスがおこなっていた処理を
継続するためのプロセス3(以下、これを「復旧プロセ
ス」という)を起動する。この時、その復旧プロセス3
がその障害発生プロセス2の動作状態を回復するために
は、この障害発生プロセス2の障害発生以前の動作状態
に関する情報が必要である。
【0017】この動作状態に関する情報を保存しておく
方法として、異なる計算機上で独立に同一処理を行わせ
て処理結果を2重化する方法や、プロセスにチェックポ
イントを設け、プロセスの処理がこのチェックポイント
を通過する度に、このチェックポイント通過時点の動作
状態情報をコピーするといった方法が取られる。本発明
はこれらのうち、後者のあるチェックポイント通過時点
の動作状態情報をコピーする方法に関するものである。
方法として、異なる計算機上で独立に同一処理を行わせ
て処理結果を2重化する方法や、プロセスにチェックポ
イントを設け、プロセスの処理がこのチェックポイント
を通過する度に、このチェックポイント通過時点の動作
状態情報をコピーするといった方法が取られる。本発明
はこれらのうち、後者のあるチェックポイント通過時点
の動作状態情報をコピーする方法に関するものである。
【0018】ところで、保存された動作状態情報から復
旧プロセスが、障害発生プロセスの動作状態を回復する
際には、この動作状態を保持している計算機に障害が発
生したり、あるいは保持している動作状態情報に障害が
発生したり、動作状態情報の読み出し時に異常が発生し
た場合には、保持されている動作状態情報を完全に読み
出すことができなくなり、これによりプロセスの完全な
復旧ができない。
旧プロセスが、障害発生プロセスの動作状態を回復する
際には、この動作状態を保持している計算機に障害が発
生したり、あるいは保持している動作状態情報に障害が
発生したり、動作状態情報の読み出し時に異常が発生し
た場合には、保持されている動作状態情報を完全に読み
出すことができなくなり、これによりプロセスの完全な
復旧ができない。
【0019】そこで、本発明では、重要性が低いプロセ
スの機能の復旧に支障をきたすような事態が発生して
も、重要なプロセスの部分的な機能を継続できる情報処
理システムを実現可能とするものである。
スの機能の復旧に支障をきたすような事態が発生して
も、重要なプロセスの部分的な機能を継続できる情報処
理システムを実現可能とするものである。
【0020】特に、オブジェクト指向に基づく等、モジ
ュール性が高いプロセスでは、プロセスの機能に部分的
な障害が発生しても同じプロセスの他の機能には影響を
与えることが少ない場合、部分的にプロセスを復旧さ
せ、システムの多くの重要な機能を復活させるのは、有
用な手段である。
ュール性が高いプロセスでは、プロセスの機能に部分的
な障害が発生しても同じプロセスの他の機能には影響を
与えることが少ない場合、部分的にプロセスを復旧さ
せ、システムの多くの重要な機能を復活させるのは、有
用な手段である。
【0021】いま、ある計算機1上で動作するプロセス
2がその処理をおこなう際に、処理の時間軸上に、複数
のチェックポイントを設け、そのチェックポイントを通
過する度に、状態情報保存手段10は、そのプロセスの
チェックポイント通過時点での動作状態情報を保存する
ものとする。
2がその処理をおこなう際に、処理の時間軸上に、複数
のチェックポイントを設け、そのチェックポイントを通
過する度に、状態情報保存手段10は、そのプロセスの
チェックポイント通過時点での動作状態情報を保存する
ものとする。
【0022】なお、本発明においては、保存された動作
状態情報30の保存先が、保存する動作状態を持つプロ
セス2と同一の計算機であっても、また異なる計算機で
あっても構わない。さらに、保存する動作状態情報30
が計算機の揮発性記憶装置、もしくは不揮発性記憶装置
に、または、計算機上で動作している他のプロセスの動
作状態として主記憶上に存在していてもよい。
状態情報30の保存先が、保存する動作状態を持つプロ
セス2と同一の計算機であっても、また異なる計算機で
あっても構わない。さらに、保存する動作状態情報30
が計算機の揮発性記憶装置、もしくは不揮発性記憶装置
に、または、計算機上で動作している他のプロセスの動
作状態として主記憶上に存在していてもよい。
【0023】プロセスを復旧させる場合には、情報収集
手段10は、そのプロセスの保存された動作状態情報を
求め、動作状態保存情報テーブル30を作成する。
手段10は、そのプロセスの保存された動作状態情報を
求め、動作状態保存情報テーブル30を作成する。
【0024】プロセス復旧手段15は、作成した動作状
態保存情報テーブル30用いて、復旧プロセス3の動作
状態を変更し、障害発生プロセス2の動作状態を復旧プ
ロセス3に反映させる。またプロセス復旧手段15は、
復旧プロセスの動作状態変更に使用した動作状態保存情
報とプロセスの動作状態変更結果を元に、復旧情報テー
ブル40を更新する。
態保存情報テーブル30用いて、復旧プロセス3の動作
状態を変更し、障害発生プロセス2の動作状態を復旧プ
ロセス3に反映させる。またプロセス復旧手段15は、
復旧プロセスの動作状態変更に使用した動作状態保存情
報とプロセスの動作状態変更結果を元に、復旧情報テー
ブル40を更新する。
【0025】復旧確認手段14は、更新された復旧情報
テーブル40と機能確認テーブル50の情報を元に復旧
プロセス3の機能を調べ、復旧プロセスの復旧状態を機
能実行チェックテーブル60に反映させ、プロセス3が
有する機能のうち、復旧が正常におこなわれた動作状態
に関連する機能の機能実行フラグを、Validとし、復旧
が正常におこなわれなかった動作状態に関連する機能の
機能実行フラグを、Invalidとする。ここで、機能実行
フラグがValidであるときは、その機能実行フラグに対
応する機能IDの機能は、復旧可能であることを意味
し、Invalidであるときは、復旧が不可能であることを
意味している。
テーブル40と機能確認テーブル50の情報を元に復旧
プロセス3の機能を調べ、復旧プロセスの復旧状態を機
能実行チェックテーブル60に反映させ、プロセス3が
有する機能のうち、復旧が正常におこなわれた動作状態
に関連する機能の機能実行フラグを、Validとし、復旧
が正常におこなわれなかった動作状態に関連する機能の
機能実行フラグを、Invalidとする。ここで、機能実行
フラグがValidであるときは、その機能実行フラグに対
応する機能IDの機能は、復旧可能であることを意味
し、Invalidであるときは、復旧が不可能であることを
意味している。
【0026】なお、この機能実行チェックテーブル60
は、必ずしも復旧プロセス3の内部(プロセスのアクセ
ス空間内)に存在する必要はなく、プロセスの動作を管
理するところ(例えば、他のプロセスのアクセス空間
内、OSの制御テーブル内)で保持しておけばよい。
は、必ずしも復旧プロセス3の内部(プロセスのアクセ
ス空間内)に存在する必要はなく、プロセスの動作を管
理するところ(例えば、他のプロセスのアクセス空間
内、OSの制御テーブル内)で保持しておけばよい。
【0027】また、図1において復旧プロセス3の外部
に存在している機能確認テーブル50や復旧情報テーブ
ル40は必ずしも復旧させるプロセスの外に存在する必
要はなく、復旧プロセス3の内部に存在していてもよい
ことは、もとよりである。
に存在している機能確認テーブル50や復旧情報テーブ
ル40は必ずしも復旧させるプロセスの外に存在する必
要はなく、復旧プロセス3の内部に存在していてもよい
ことは、もとよりである。
【0028】(2)復旧されるプロセスの動作概要 次に、図3を用いて本発明に係るプロセス復旧方法によ
って、復旧されるプロセスの動作概要について説明しよ
う。図3は、プロセスを復旧する際のプロセスの動作を
経時順に示した模式図である。
って、復旧されるプロセスの動作概要について説明しよ
う。図3は、プロセスを復旧する際のプロセスの動作を
経時順に示した模式図である。
【0029】処理を行っているプロセス6において、そ
の処理がチェックポイント1,201を通過後、チェッ
クポイント2,202に達した時、このチェックポイン
ト2,202を通過する時点のプロセス6の動作状態を
保存する。ここで、プロセスの動作状態とは、例えば、
メモリに格納される情報、スタックの中身、変数の値な
どが考えられる。
の処理がチェックポイント1,201を通過後、チェッ
クポイント2,202に達した時、このチェックポイン
ト2,202を通過する時点のプロセス6の動作状態を
保存する。ここで、プロセスの動作状態とは、例えば、
メモリに格納される情報、スタックの中身、変数の値な
どが考えられる。
【0030】チェックポイント2,202を通過した
後、次のチェックポイントに到達する前に障害が発生し
(203)、プロセスが異常終了した場合、最新のチェ
ックポイントにおける動作状態を別のプロセス7に復旧
させて、新たなプロセス7の処理をチェックポイント
2,202の状態から再開させる。このプロセス7が上
で説明した復旧プロセス3である。
後、次のチェックポイントに到達する前に障害が発生し
(203)、プロセスが異常終了した場合、最新のチェ
ックポイントにおける動作状態を別のプロセス7に復旧
させて、新たなプロセス7の処理をチェックポイント
2,202の状態から再開させる。このプロセス7が上
で説明した復旧プロセス3である。
【0031】ここで重要なのは、プロセス6の機能は分
割して管理され、この分割管理された機能には、それの
有する機能の重要性に応じて重要度が付加されているこ
とである。プロセスの機能とは、後に詳細に説明する
が、手続きや制御の単位と考えればよい。
割して管理され、この分割管理された機能には、それの
有する機能の重要性に応じて重要度が付加されているこ
とである。プロセスの機能とは、後に詳細に説明する
が、手続きや制御の単位と考えればよい。
【0032】動作状態220は、一つ以上の部分動作状
態210に分けられて、前述の分割管理されたプロセス
の機能を実行する際に必要な各部分動作状態に対して
は、その分割管理されたプロセスの機能の重要度をその
まま付加するものとする(212)。図の動作状態22
0は、この部分動作状態を重要度の高い順に並べたもの
である。
態210に分けられて、前述の分割管理されたプロセス
の機能を実行する際に必要な各部分動作状態に対して
は、その分割管理されたプロセスの機能の重要度をその
まま付加するものとする(212)。図の動作状態22
0は、この部分動作状態を重要度の高い順に並べたもの
である。
【0033】そして、例えば、保存されていたチェック
ポイント2,202の通過時点の動作状態に障害が発生
したり、情報収集手段が動作状態を完全に集めることが
できない等の何らかの障害が発生し(211)、この動
作状態220の情報の一部に障害が発生して、プロセス
7の動作状態を完全に復旧することができなくなるとす
る。
ポイント2,202の通過時点の動作状態に障害が発生
したり、情報収集手段が動作状態を完全に集めることが
できない等の何らかの障害が発生し(211)、この動
作状態220の情報の一部に障害が発生して、プロセス
7の動作状態を完全に復旧することができなくなるとす
る。
【0034】このような場合、その障害が発生した部分
動作状態211に付加されている重要度が、予め設定さ
れた復旧基準213以下の場合、部分動作状態のうち障
害が発生していない部分動作状態からプロセス7の動作
状態を復旧させて、復旧基準213以上の重要度を有す
る部分動作状態の機能、すなわち、分割管理されたプロ
セスの機能のうち重要な機能の実行を継続させる。
動作状態211に付加されている重要度が、予め設定さ
れた復旧基準213以下の場合、部分動作状態のうち障
害が発生していない部分動作状態からプロセス7の動作
状態を復旧させて、復旧基準213以上の重要度を有す
る部分動作状態の機能、すなわち、分割管理されたプロ
セスの機能のうち重要な機能の実行を継続させる。
【0035】逆に、復旧できない部分動作状態のなか
で、一つでも復旧基準213以上の重要度を有する部分
動作状態があるときは、そのプロセス7自体の復旧は、
失敗に終わったと判断される。これが、本発明の基本的
な考え方である。
で、一つでも復旧基準213以上の重要度を有する部分
動作状態があるときは、そのプロセス7自体の復旧は、
失敗に終わったと判断される。これが、本発明の基本的
な考え方である。
【0036】(3)プロセスの機能と動作状態情報との
対応 次に、図4を用いてプロセスの機能の概念と動作状態情
報との対応について説明しよう。図4は、プロセスの分
割された機能と動作状態情報との対応の様々な態様を示
す模式図である。
対応 次に、図4を用いてプロセスの機能の概念と動作状態情
報との対応について説明しよう。図4は、プロセスの分
割された機能と動作状態情報との対応の様々な態様を示
す模式図である。
【0037】上述のように、動作状態情報の復旧が不完
全にしかできなくとも、プロセスの重要な機能だけでも
復旧させるために、プロセスの機能は1つ以上の分割さ
れた機能単位毎に管理され、その分割された機能に動作
状態情報が対応する。そうして、動作状態情報は、プロ
セスを機能させるのに必要ななんらかのデータであり、
プロセスの機能とは、手続きや制御の単位となるもので
あった。以下、これをより詳細に説明しよう。
全にしかできなくとも、プロセスの重要な機能だけでも
復旧させるために、プロセスの機能は1つ以上の分割さ
れた機能単位毎に管理され、その分割された機能に動作
状態情報が対応する。そうして、動作状態情報は、プロ
セスを機能させるのに必要ななんらかのデータであり、
プロセスの機能とは、手続きや制御の単位となるもので
あった。以下、これをより詳細に説明しよう。
【0038】図4(a)に示すように、プロセス70
が、例えば、言語Cや言語FORTRAN等の高級言語で記述
されたプログラムにより表現されている場合には、プロ
グラムを構成する各関数80,81,82がプログラム
の分割管理される機能の単位となることが多いと考えら
れる。また、言語仕様によっては、この関数相当するも
のが、「手続き」といわれることもある。
が、例えば、言語Cや言語FORTRAN等の高級言語で記述
されたプログラムにより表現されている場合には、プロ
グラムを構成する各関数80,81,82がプログラム
の分割管理される機能の単位となることが多いと考えら
れる。また、言語仕様によっては、この関数相当するも
のが、「手続き」といわれることもある。
【0039】一方、プロセスの動作状態情報も、1つ以
上の部分に分割される。そして、各分割された機能単位
は、その分割機能の処理に必要な部分動作状態情報と論
理的に結び付けられるはずである。
上の部分に分割される。そして、各分割された機能単位
は、その分割機能の処理に必要な部分動作状態情報と論
理的に結び付けられるはずである。
【0040】一般に、分割された機能は、部分動作状態
情報を持たないこともあるし、複数の部分動作状態情報
を必要とすることもある。また、1つの部分動作状態情
報が、1つ以上の分割機能に対応付けられていることも
ある。
情報を持たないこともあるし、複数の部分動作状態情報
を必要とすることもある。また、1つの部分動作状態情
報が、1つ以上の分割機能に対応付けられていることも
ある。
【0041】この分割された機能と部分動作状態情報と
を対応付けるために「タグ」という手段が用いられる
が、このタグについては、後のデータ構造の説明の所で
詳しく説明する。
を対応付けるために「タグ」という手段が用いられる
が、このタグについては、後のデータ構造の説明の所で
詳しく説明する。
【0042】上述したのは、プロセスの機能と部分動作
状態情報とを対応付けて、プログラムを構成する関数、
または、手続き単位が、プロセスの機能に相当する場合
のモデルであるが、図4(b)に示すようにプロセス7
1を記述しているプログラムをより大きな処理単位で分
割し、各処理単位の機能86,87毎に、部分動作状態
情報が、対応付けられているモデルを提唱することも可
能である。この場合、各処理単位の機能86,87は、
少なくとも1つ以上の関数や手続きを含んでいると考え
られる。このような機能分割をおこなう例としては、言
語SmallTalkや言語C++などのオブジェクト指向言語に
より記述されたプログラムを、オブジェクト指向言語で
いうところのクラスやオブジェクト単位で、機能分割す
る場合などがこれに該当する。
状態情報とを対応付けて、プログラムを構成する関数、
または、手続き単位が、プロセスの機能に相当する場合
のモデルであるが、図4(b)に示すようにプロセス7
1を記述しているプログラムをより大きな処理単位で分
割し、各処理単位の機能86,87毎に、部分動作状態
情報が、対応付けられているモデルを提唱することも可
能である。この場合、各処理単位の機能86,87は、
少なくとも1つ以上の関数や手続きを含んでいると考え
られる。このような機能分割をおこなう例としては、言
語SmallTalkや言語C++などのオブジェクト指向言語に
より記述されたプログラムを、オブジェクト指向言語で
いうところのクラスやオブジェクト単位で、機能分割す
る場合などがこれに該当する。
【0043】このように、各機能に関数や手続きを含ん
でいる場合においても、図4(c)に示すように、各関
数または手続きに、部分動作状態情報と対応付けて管理
するモデルを考えることも可能である。このような対応
付けをおこなう例としては、オブジェクト指向言語によ
り記述されたプログラムを、各オブジェクトのメソッド
毎に、機能分割して、それに部分動作状態情報と対応付
けする場合などがこれに該当する。
でいる場合においても、図4(c)に示すように、各関
数または手続きに、部分動作状態情報と対応付けて管理
するモデルを考えることも可能である。このような対応
付けをおこなう例としては、オブジェクト指向言語によ
り記述されたプログラムを、各オブジェクトのメソッド
毎に、機能分割して、それに部分動作状態情報と対応付
けする場合などがこれに該当する。
【0044】さらに、図4(d)に示すように、プロセ
ス73を記述しているプログラムが例えば、アセンブラ
等で記述されるプログラムのような場合、プログラムを
機能モジュール83,84,85毎に分け、この各機能
モジュールと部分動作状態情報を対応付けるようなモデ
ルとすることも可能である。
ス73を記述しているプログラムが例えば、アセンブラ
等で記述されるプログラムのような場合、プログラムを
機能モジュール83,84,85毎に分け、この各機能
モジュールと部分動作状態情報を対応付けるようなモデ
ルとすることも可能である。
【0045】(4)本発明に係るプロセス復旧方法に用
いられるデータ構造 次に、図5を用いて本発明に係るプロセス復旧方法に仕
様されるデータ構造について説明する。図5は、本発明
に係るプロセス復旧方法に使用されるデータ構造をあら
わす模式図である。
いられるデータ構造 次に、図5を用いて本発明に係るプロセス復旧方法に仕
様されるデータ構造について説明する。図5は、本発明
に係るプロセス復旧方法に使用されるデータ構造をあら
わす模式図である。
【0046】図5(a)に示されているのは、動作状態
保存情報テーブル30である。この動作状態保存情報テ
ーブル30は、プロセスの各チェックポイントごとの動
作状態を保存するためのテーブルであって、保存時間情
報31と一つ以上の、タグ32と動作状態保存情報33
との対から構成されている。
保存情報テーブル30である。この動作状態保存情報テ
ーブル30は、プロセスの各チェックポイントごとの動
作状態を保存するためのテーブルであって、保存時間情
報31と一つ以上の、タグ32と動作状態保存情報33
との対から構成されている。
【0047】保存時間情報31は、この動作状態保存情
報テーブル30に保存させることになったチェックポイ
ントをプロセスの処理が通過した時間に関する情報であ
る。動作状態保存情報33は、上で説明したように分割
したプロセスの機能に対応付けられる部分動作状態情報
を保存するための項目であり、ここには、例えば、メモ
リに格納される情報、スタックの中身、変数の値などが
保存される。
報テーブル30に保存させることになったチェックポイ
ントをプロセスの処理が通過した時間に関する情報であ
る。動作状態保存情報33は、上で説明したように分割
したプロセスの機能に対応付けられる部分動作状態情報
を保存するための項目であり、ここには、例えば、メモ
リに格納される情報、スタックの中身、変数の値などが
保存される。
【0048】タグ32は、この動作状態保存情報33の
1つ、1つにつけられて、後に説明する復旧情報テーブ
ル40や機能確認テーブル50の項目と関連付けるとき
に用いられる識別子であり、同一のタグを有する項目
は、同一の動作状態情報に対応付けられることを示して
いる。
1つ、1つにつけられて、後に説明する復旧情報テーブ
ル40や機能確認テーブル50の項目と関連付けるとき
に用いられる識別子であり、同一のタグを有する項目
は、同一の動作状態情報に対応付けられることを示して
いる。
【0049】この動作状態保存情報テーブル30は、図
1に示されるように、状態情報保存手段10によって作
られ、情報収集手段12によって参照される。
1に示されるように、状態情報保存手段10によって作
られ、情報収集手段12によって参照される。
【0050】次に、図5(b)に示されているのは、復
旧情報テーブル40である。復旧情報テーブル40は、
プロセスの復旧処理をおこなった結果、どの部分動作状
態が正常に復旧されたかを調べるために使用されるテー
ブルであって、一つ以上の、タグ41、状態復旧フラグ
42、復旧先情報43の組から構成される。
旧情報テーブル40である。復旧情報テーブル40は、
プロセスの復旧処理をおこなった結果、どの部分動作状
態が正常に復旧されたかを調べるために使用されるテー
ブルであって、一つ以上の、タグ41、状態復旧フラグ
42、復旧先情報43の組から構成される。
【0051】復旧情報テーブル40の各行は、復旧させ
るプロセスの動作状態情報を分割した部分動作状態情報
に対応していて、タグ41によって、前述の動作状態保
存テーブル30と後述の機能確認テーブル50の各項目
に関連付けられる。
るプロセスの動作状態情報を分割した部分動作状態情報
に対応していて、タグ41によって、前述の動作状態保
存テーブル30と後述の機能確認テーブル50の各項目
に関連付けられる。
【0052】状態復旧フラグ42は、その同一行のタグ
41に対応付けられた部分動作状態情報が正常に復旧さ
れたかどうかを表わし、正常に復旧された場合は、Vali
d、正常に復旧されない場合は、Invalidの値が格納され
る。
41に対応付けられた部分動作状態情報が正常に復旧さ
れたかどうかを表わし、正常に復旧された場合は、Vali
d、正常に復旧されない場合は、Invalidの値が格納され
る。
【0053】復旧先情報43は、部分動作状態情報を復
旧プロセスのどこに反映させるかといった情報であっ
て、具体的には、メモリ上のアドレス、スタックの中身
がどこにおかれるかということを示すポインタ、変数の
格納アドレスなどが考えられる。
旧プロセスのどこに反映させるかといった情報であっ
て、具体的には、メモリ上のアドレス、スタックの中身
がどこにおかれるかということを示すポインタ、変数の
格納アドレスなどが考えられる。
【0054】なお、先の動作状態保存情報テーブル30
の動作状態保存情報33中に、それを復旧プロセス3の
どこに反映させるかといった情報に含んでいる場合に
は、この復旧先情報43を復旧情報テーブル40に含む
必要はない。この場合は、復旧情報テーブル40は、状
態復旧フラグ42のみを持てばよいことになる。
の動作状態保存情報33中に、それを復旧プロセス3の
どこに反映させるかといった情報に含んでいる場合に
は、この復旧先情報43を復旧情報テーブル40に含む
必要はない。この場合は、復旧情報テーブル40は、状
態復旧フラグ42のみを持てばよいことになる。
【0055】この復旧情報テーブル40は、図1に示さ
れるように、プロセス復旧手段13のプロセス復旧処理
の結果を反映し、その復旧の成否に従って、状態復旧フ
ラグ42が更新される。
れるように、プロセス復旧手段13のプロセス復旧処理
の結果を反映し、その復旧の成否に従って、状態復旧フ
ラグ42が更新される。
【0056】次に、図5(c)に示されているのは、機
能確認テーブル50である。機能確認テーブル50は、
プロセスの復旧処理をおこなった結果、プロセスの分割
された機能の内でどの機能が正常に実行できるかを調べ
る際に用いられるテーブルであり、一つ以上の、機能I
D51、重要度52、機能復旧フラグ53、タグリスト
54、機能IDリスト55の組から構成される。機能確
認テーブルの各行は、復旧させるプロセスの分割された
機能に対応している。
能確認テーブル50である。機能確認テーブル50は、
プロセスの復旧処理をおこなった結果、プロセスの分割
された機能の内でどの機能が正常に実行できるかを調べ
る際に用いられるテーブルであり、一つ以上の、機能I
D51、重要度52、機能復旧フラグ53、タグリスト
54、機能IDリスト55の組から構成される。機能確
認テーブルの各行は、復旧させるプロセスの分割された
機能に対応している。
【0057】機能ID51は、プロセスの分割された機
能を識別するための識別子であって、プロセスの分割さ
れた機能のアクセスは、これによりおこなわれる。具体
的にいうと、この機能IDには、管理されている機能名
称、関数名称、関数のアドレス、機能全体のなかでの通
し番号等を用いることができる。
能を識別するための識別子であって、プロセスの分割さ
れた機能のアクセスは、これによりおこなわれる。具体
的にいうと、この機能IDには、管理されている機能名
称、関数名称、関数のアドレス、機能全体のなかでの通
し番号等を用いることができる。
【0058】重要度52は、プロセス復旧の際に、プロ
セスの復旧基準と対比される各分割されたプロセスの機
能が持つ重要性の度合いである。
セスの復旧基準と対比される各分割されたプロセスの機
能が持つ重要性の度合いである。
【0059】機能復旧フラグ53は、機能IDに対応す
る分割された機能がプロセスの復旧処理によって正常に
実行させることが可能かどうかを表わし、正常に実行さ
れうる場合は、Valid、正常に実行されえない場合は、I
nvalidの値が格納される。
る分割された機能がプロセスの復旧処理によって正常に
実行させることが可能かどうかを表わし、正常に実行さ
れうる場合は、Valid、正常に実行されえない場合は、I
nvalidの値が格納される。
【0060】タグリスト54は、その分割機能を正常に
実行させるために復旧させる必要がある部分動作状態情
報に対応したタグをリスト状にして格納する項目であ
る。すなわち、その行の機能IDに対応する分割機能を
復旧させるためには、このタグリスト上にあるタグに対
応する部分動作状態情報は、前提として復旧させなけれ
ばならないことを意味する。
実行させるために復旧させる必要がある部分動作状態情
報に対応したタグをリスト状にして格納する項目であ
る。すなわち、その行の機能IDに対応する分割機能を
復旧させるためには、このタグリスト上にあるタグに対
応する部分動作状態情報は、前提として復旧させなけれ
ばならないことを意味する。
【0061】機能IDリスト55は、その機能IDに対
応する分割機能を正常に実行させるためには、復旧され
ていることが前提となる他の分割機能に対応した機能I
Dをリスト状にして格納する項目である。すなわち、あ
る分割された機能は、他の分割された機能が復旧できな
いときは、復旧されないこともありえる。そのような場
合は、ある分割された機能が復旧するには、他の分割さ
れた機能の復旧が前提であるということができる。その
ような依存関係を格納するのがこの項目である。
応する分割機能を正常に実行させるためには、復旧され
ていることが前提となる他の分割機能に対応した機能I
Dをリスト状にして格納する項目である。すなわち、あ
る分割された機能は、他の分割された機能が復旧できな
いときは、復旧されないこともありえる。そのような場
合は、ある分割された機能が復旧するには、他の分割さ
れた機能の復旧が前提であるということができる。その
ような依存関係を格納するのがこの項目である。
【0062】この機能確認テーブル50は、機能復旧フ
ラグ53以外の欄は、予め設定しておく必要がある。ま
た、図1に示されるように、復旧確認手段14の判定結
果を反映し、分割機能の実行の可否に従って、機能復旧
フラグが更新される。
ラグ53以外の欄は、予め設定しておく必要がある。ま
た、図1に示されるように、復旧確認手段14の判定結
果を反映し、分割機能の実行の可否に従って、機能復旧
フラグが更新される。
【0063】次に、図5(d)に示されているのは、機
能実行チェックテーブルである。機能実行チェックテー
ブルは、プロセスの分割された機能が、最終的に、正常
実行させることができるか判断された結果を格納するた
めのテーブルであって、一つ以上の、機能ID61と機
能実行フラグ62の対から構成されている。機能実行チ
ェックテーブルの各行は、復旧させるプロセスの分割さ
れた機能に対応している。
能実行チェックテーブルである。機能実行チェックテー
ブルは、プロセスの分割された機能が、最終的に、正常
実行させることができるか判断された結果を格納するた
めのテーブルであって、一つ以上の、機能ID61と機
能実行フラグ62の対から構成されている。機能実行チ
ェックテーブルの各行は、復旧させるプロセスの分割さ
れた機能に対応している。
【0064】機能ID61は、プロセスの分割された機
能を識別するための識別子であって、その役割、内容
は、上の機能確認テーブルの所で説明したとおりであ
る。
能を識別するための識別子であって、その役割、内容
は、上の機能確認テーブルの所で説明したとおりであ
る。
【0065】機能実行フラグ62は、機能IDに対応す
る分割された機能がプロセスの復旧処理によって、最終
的に、正常に実行させることが可能かどうかを表わし、
正常に実行されうる場合は、Valid、正常に実行されえ
ない場合は、Invalidの値が格納される。
る分割された機能がプロセスの復旧処理によって、最終
的に、正常に実行させることが可能かどうかを表わし、
正常に実行されうる場合は、Valid、正常に実行されえ
ない場合は、Invalidの値が格納される。
【0066】先に説明した機能確認テーブル50の機能
復旧フラグ53は、その行のタグリストIDの中のタグ
に対応する部分動作状態が全て復旧可能なときに、Vali
dとされるのであるが、これは、あくまで中間的な結果
であり、最終的には、分割された機能相互の関係、すな
わち、機能IDリスト55を参酌して、復旧可能かどう
かの判断を格納するのがこの機能実行フラグ62の項目
である。
復旧フラグ53は、その行のタグリストIDの中のタグ
に対応する部分動作状態が全て復旧可能なときに、Vali
dとされるのであるが、これは、あくまで中間的な結果
であり、最終的には、分割された機能相互の関係、すな
わち、機能IDリスト55を参酌して、復旧可能かどう
かの判断を格納するのがこの機能実行フラグ62の項目
である。
【0067】この機能実行テーブル60は、図1に示さ
れるように、機能確認テーブル50を参照して、復旧確
認手段14が作成する。
れるように、機能確認テーブル50を参照して、復旧確
認手段14が作成する。
【0068】(5)本発明に係るプロセス復旧方法の手
順の概要 次に、上で述べたデータ構造をふまえ、図6を用いてプ
ロセス復旧方法の手順の概要について説明しよう。図6
は、本発明の一実施例に係るプロセス復旧方法の手順の
概要を示すフローチャートである。
順の概要 次に、上で述べたデータ構造をふまえ、図6を用いてプ
ロセス復旧方法の手順の概要について説明しよう。図6
は、本発明の一実施例に係るプロセス復旧方法の手順の
概要を示すフローチャートである。
【0069】以下、図6の順を追って説明する。
【0070】プロセスを復旧させる際には、まず復旧さ
せる障害発生プロセス2の動作状態保存情報が必要であ
る。そこで、情報収集手段12により、障害発生プロセ
ス2の動作状態保存情報を求め、動作状態保存情報テー
ブル30を作成する(S101)。
せる障害発生プロセス2の動作状態保存情報が必要であ
る。そこで、情報収集手段12により、障害発生プロセ
ス2の動作状態保存情報を求め、動作状態保存情報テー
ブル30を作成する(S101)。
【0071】次に、動作状態保存情報テーブル30を用
いて、プロセス復旧手段13は、復旧プロセス3を立ち
上げ後、その状態を変更して、プロセスの状態を復旧さ
せる(S102)。このステップは、後に図7を用いて
より詳細に説明する。
いて、プロセス復旧手段13は、復旧プロセス3を立ち
上げ後、その状態を変更して、プロセスの状態を復旧さ
せる(S102)。このステップは、後に図7を用いて
より詳細に説明する。
【0072】そして、動作状態保存情報テーブルの項目
を、全てプロセスの動作状態に反映したか確認し(S1
03)、反映し終わっていない場合には上記の動作を繰
り返す。
を、全てプロセスの動作状態に反映したか確認し(S1
03)、反映し終わっていない場合には上記の動作を繰
り返す。
【0073】全ての動作状態保存情報をプロセスの動作
状態に反映し終わった場合には、復旧確認手段14によ
り、プロセスの動作状態が全て正常に復旧されたかどう
かを確認する(S104)。このステップは、後に図8
ないし図10を用いてより詳細に説明する。
状態に反映し終わった場合には、復旧確認手段14によ
り、プロセスの動作状態が全て正常に復旧されたかどう
かを確認する(S104)。このステップは、後に図8
ないし図10を用いてより詳細に説明する。
【0074】そして、復旧したプロセスの全ての分割さ
れた機能が正常に動作させることが可能かどうかを調べ
る(S105)。
れた機能が正常に動作させることが可能かどうかを調べ
る(S105)。
【0075】正常に動作させることができない分割機能
が存在する場合には、その正常に動作させることができ
ない分割機能を、Invalidにし(S106)、正常に動
作させることができない分割機能の重要度が設定されて
いる復旧基準以上ならば、プロセスの復旧は、失敗と判
断される(S107)。このような判定を全ての分割機
能についておこない(S108)、プロセスの復旧が終
了する。
が存在する場合には、その正常に動作させることができ
ない分割機能を、Invalidにし(S106)、正常に動
作させることができない分割機能の重要度が設定されて
いる復旧基準以上ならば、プロセスの復旧は、失敗と判
断される(S107)。このような判定を全ての分割機
能についておこない(S108)、プロセスの復旧が終
了する。
【0076】(6)復旧プロセス作成手順 次に、図7を用いて、復旧プロセス3を作成する手順
(図6のS102)について説明しよう。図7は、復旧
プロセス3を作成する手順について説明したフローチャ
ートである。
(図6のS102)について説明しよう。図7は、復旧
プロセス3を作成する手順について説明したフローチャ
ートである。
【0077】先ず最初に、プロセス復旧手段は、復旧プ
ロセス3の立ち上げをおこなう(S110)。このとき
の復旧プロセス3の内部は、プロセス立ち上げ時の初期
状態である。
ロセス3の立ち上げをおこなう(S110)。このとき
の復旧プロセス3の内部は、プロセス立ち上げ時の初期
状態である。
【0078】次に、プロセス復旧手段は、予め復旧情報
テーブル40の状態復旧フラグ42を必要に応じてInva
lidに初期化する。そして、情報収集手段12により作
成された動作状態保存情報テーブル30の中で、未処理
の動作状態保存情報33が存在するか調べ(S11
1)、未処理の動作状態保存情報33がない場合には、
復旧プロセス3の作成処理を終了する。
テーブル40の状態復旧フラグ42を必要に応じてInva
lidに初期化する。そして、情報収集手段12により作
成された動作状態保存情報テーブル30の中で、未処理
の動作状態保存情報33が存在するか調べ(S11
1)、未処理の動作状態保存情報33がない場合には、
復旧プロセス3の作成処理を終了する。
【0079】一方、未処理の動作状態保存情報33が存
在する場合には、未処理の動作状態保存状態33と組み
合わされたタグ32に対応する部分動作状態情報が、未
だ復旧されていないか、あるいは、未処理の動作状態保
存情報33が最新のものかどうか保存時間情報31を調
べる(S112)。
在する場合には、未処理の動作状態保存状態33と組み
合わされたタグ32に対応する部分動作状態情報が、未
だ復旧されていないか、あるいは、未処理の動作状態保
存情報33が最新のものかどうか保存時間情報31を調
べる(S112)。
【0080】この判定の結果、未処理の動作状態保存状
態33と組み合わされたタグ32に対応する部分動作状
態情報が、未だ復旧されていないか、未処理の動作状態
保存情報33が最新のものである場合には、この未処理
の動作状態保存情報33を用いてプロセスの動作状態を
変更して、プロセス復旧に反映させる(S113)。こ
のようにするのは、常に最新のチェックポイントの結果
を参照するようにするためである。またこのときに、復
旧プロセス3の内部に、動作状態保存情報33をコピー
したときに、復旧先情報43もセットする。そして、こ
の動作状態の変更が正常におこなわれたならば、復旧情
報テーブル40において、復旧プロセス3の状態変更に
用いた動作状態保存情報33と組み合わされたタグ32
と同一の値のタグ41を探して、それに対応した状態復
旧フラグ42を、Validに更新し(S114)、再び、
未処理の動作状態保存情報33があるか否かの判定に戻
る。
態33と組み合わされたタグ32に対応する部分動作状
態情報が、未だ復旧されていないか、未処理の動作状態
保存情報33が最新のものである場合には、この未処理
の動作状態保存情報33を用いてプロセスの動作状態を
変更して、プロセス復旧に反映させる(S113)。こ
のようにするのは、常に最新のチェックポイントの結果
を参照するようにするためである。またこのときに、復
旧プロセス3の内部に、動作状態保存情報33をコピー
したときに、復旧先情報43もセットする。そして、こ
の動作状態の変更が正常におこなわれたならば、復旧情
報テーブル40において、復旧プロセス3の状態変更に
用いた動作状態保存情報33と組み合わされたタグ32
と同一の値のタグ41を探して、それに対応した状態復
旧フラグ42を、Validに更新し(S114)、再び、
未処理の動作状態保存情報33があるか否かの判定に戻
る。
【0081】上記のプロセス復旧手段の処理により、プ
ロセスの動作状態情報が全て正常に復旧された場合に
は、復旧情報テーブル40の状態復旧フラグ42は、全
て、Validになる。しかし、何らかの障害発生により情
報収集手段がプロセスの復旧に必要な動作状態保存情報
を全て集められなかったり、集めた動作状態保存情報に
障害が発生してたためプロセス復旧手段が動作状態保存
情報に含まれる保存情報から部分動作状態を正常に復旧
できなかった場合には、正常に復旧できなかった部分動
作状態に対応する復旧情報テーブル40のタグ41の状
態復旧フラグ42は、Invalidになる。
ロセスの動作状態情報が全て正常に復旧された場合に
は、復旧情報テーブル40の状態復旧フラグ42は、全
て、Validになる。しかし、何らかの障害発生により情
報収集手段がプロセスの復旧に必要な動作状態保存情報
を全て集められなかったり、集めた動作状態保存情報に
障害が発生してたためプロセス復旧手段が動作状態保存
情報に含まれる保存情報から部分動作状態を正常に復旧
できなかった場合には、正常に復旧できなかった部分動
作状態に対応する復旧情報テーブル40のタグ41の状
態復旧フラグ42は、Invalidになる。
【0082】(7)機能が復旧され、実行されるかの判
定手順 次に、図8ないし図10を用いてプロセスの分割された
機能が復旧され、実行されるかの判定手順(図6のS1
04)について説明しよう。図8は、機能が復旧され、
実行されるかの判定手順についての第1のパスをあらわ
すフローチャートである。図9は、機能が復旧され、実
行されるかの判定手順についての第2のパスをあらわす
フローチャートである。図10は、機能実行フラグ設定
のための、機能IDの実例と探索手順を説明する模式図
である。
定手順 次に、図8ないし図10を用いてプロセスの分割された
機能が復旧され、実行されるかの判定手順(図6のS1
04)について説明しよう。図8は、機能が復旧され、
実行されるかの判定手順についての第1のパスをあらわ
すフローチャートである。図9は、機能が復旧され、実
行されるかの判定手順についての第2のパスをあらわす
フローチャートである。図10は、機能実行フラグ設定
のための、機能IDの実例と探索手順を説明する模式図
である。
【0083】復旧確認手段14は、復旧情報テーブル4
0の状態復旧フラグ42の情報を参照して、プロセスの
分割された機能の内、どの分割機能を復旧させ、正常に
実行させることができないのか判定する。
0の状態復旧フラグ42の情報を参照して、プロセスの
分割された機能の内、どの分割機能を復旧させ、正常に
実行させることができないのか判定する。
【0084】この復旧確認手段の手順は、機能確認テー
ブル50のタグリスト54の情報によって、機能復旧フ
ラグ53を設定する第1のパスと、機能実行チェックテ
ーブル60の機能IDリスト55の情報によって、機能
実行チェックテーブル60をの機能実行フラグ62を設
定する第2のパスの2つのパスに大きく分けられる。先
ず、図8の順を追って第1のパスを説明しよう。復旧確
認手段14は、予め機能確認テーブル50の機能復旧フ
ラグ53を必要に応じて、Invalidに初期化しておく。
そして、機能確認テーブルの全ての機能ID51につい
て確認したかをチェックし(S120)、全ての機能I
Dについて確認した場合には、次のパスの処理を行う。
ブル50のタグリスト54の情報によって、機能復旧フ
ラグ53を設定する第1のパスと、機能実行チェックテ
ーブル60の機能IDリスト55の情報によって、機能
実行チェックテーブル60をの機能実行フラグ62を設
定する第2のパスの2つのパスに大きく分けられる。先
ず、図8の順を追って第1のパスを説明しよう。復旧確
認手段14は、予め機能確認テーブル50の機能復旧フ
ラグ53を必要に応じて、Invalidに初期化しておく。
そして、機能確認テーブルの全ての機能ID51につい
て確認したかをチェックし(S120)、全ての機能I
Dについて確認した場合には、次のパスの処理を行う。
【0085】未だ確認していない機能IDがある場合に
は、機能確認テーブルのタグリスト54のタグ情報を参
照して、復旧情報テーブル40のタグ41を検索し(S
121)、タグリスト54中のタグ情報に対応したタグ
が復旧情報テーブル40のなかに無いか、あるいは、タ
グリスト54中のタグ情報に対応した状態復旧フラグ
に、Invalidのものがあるかどうかを判定し(S12
2)、タグリスト54中のタグ情報に対応したタグが復
旧情報テーブル40のなかに無いか、またはタグリスト
中のタグ情報に対応した状態復旧フラグにInvalidのも
のがある場合には機能復旧フラグ53をInvalidにする
(S124)。そうでない場合には、機能復旧フラグ
を、Validにする(S123)。そして、再び全ての機
能IDについて確認したかどうかのチェックに戻る。
は、機能確認テーブルのタグリスト54のタグ情報を参
照して、復旧情報テーブル40のタグ41を検索し(S
121)、タグリスト54中のタグ情報に対応したタグ
が復旧情報テーブル40のなかに無いか、あるいは、タ
グリスト54中のタグ情報に対応した状態復旧フラグ
に、Invalidのものがあるかどうかを判定し(S12
2)、タグリスト54中のタグ情報に対応したタグが復
旧情報テーブル40のなかに無いか、またはタグリスト
中のタグ情報に対応した状態復旧フラグにInvalidのも
のがある場合には機能復旧フラグ53をInvalidにする
(S124)。そうでない場合には、機能復旧フラグ
を、Validにする(S123)。そして、再び全ての機
能IDについて確認したかどうかのチェックに戻る。
【0086】ここまでは、あくまで、動作状態の復旧の
可否を考慮して、個々の分割された機能の復旧の可否を
調べるものであった。しかしながら、これは中間的な結
果にすぎない。というのも、分割された機能が依存しあ
って、ある分割された機能を復旧するために、他の機能
の復旧が前提になることがあるからである。このため
に、次の第2のパスで機能IDリストを参照して、本当
にその機能が実行可能かどうかを調べる。
可否を考慮して、個々の分割された機能の復旧の可否を
調べるものであった。しかしながら、これは中間的な結
果にすぎない。というのも、分割された機能が依存しあ
って、ある分割された機能を復旧するために、他の機能
の復旧が前提になることがあるからである。このため
に、次の第2のパスで機能IDリストを参照して、本当
にその機能が実行可能かどうかを調べる。
【0087】以下、図9の順を追って説明しよう。先
ず、存在する機能IDを昇順に、機能実行テーブル60
の機能ID61に並べる(S130)。そして、上から
順に調べていき、全て調べて機能実行フラグ62を設定
すれば、手順は終了であり(S131)、それまでは、
以下の手順を繰り返す。
ず、存在する機能IDを昇順に、機能実行テーブル60
の機能ID61に並べる(S130)。そして、上から
順に調べていき、全て調べて機能実行フラグ62を設定
すれば、手順は終了であり(S131)、それまでは、
以下の手順を繰り返す。
【0088】調べている機能IDの機能確認テーブル5
0の機能IDリスト55にある機能IDの持つ機能復旧
フラグ53の中で、Invalidのものがあるか、あるい
は、調べている機能ID自身が、Invalidであるかを調
べる(S132)。
0の機能IDリスト55にある機能IDの持つ機能復旧
フラグ53の中で、Invalidのものがあるか、あるい
は、調べている機能ID自身が、Invalidであるかを調
べる(S132)。
【0089】ここで、機能IDリストの機能IDがま
た、他の機能IDを前提とするときは、その機能IDの
機能IDリストにある機能IDもたどっていき、それら
の全てについて、Invalidになっているかを再帰的に、
調べることとする(S133)。また、もし、探索して
いるうちに、既に探索した機能IDがあるときは、巡回
を断ち切るために、そこで探索を終了する。例えば、図
10(a)に示すような機能IDが機能確認テーブルに
設定されていたとする。この関係をツリー状にしたのが
(b)であり、枝上の小数字は、探索順を示している。
ここで、探索7のときには、機能IDの前提として、
機能IDが機能IDリスト55に格納されているが、
これは既に探索3で探索が終了しているので探索は、打
ち切られる。
た、他の機能IDを前提とするときは、その機能IDの
機能IDリストにある機能IDもたどっていき、それら
の全てについて、Invalidになっているかを再帰的に、
調べることとする(S133)。また、もし、探索して
いるうちに、既に探索した機能IDがあるときは、巡回
を断ち切るために、そこで探索を終了する。例えば、図
10(a)に示すような機能IDが機能確認テーブルに
設定されていたとする。この関係をツリー状にしたのが
(b)であり、枝上の小数字は、探索順を示している。
ここで、探索7のときには、機能IDの前提として、
機能IDが機能IDリスト55に格納されているが、
これは既に探索3で探索が終了しているので探索は、打
ち切られる。
【0090】調べた機能復旧フラグのなかで、Invalid
のものが見つからなかったときは、機能実行フラグ62
をValidにする(S134)。Invalidのものが見つかっ
たときは、機能実行フラグ62をInvalidにする(S1
35)。
のものが見つからなかったときは、機能実行フラグ62
をValidにする(S134)。Invalidのものが見つかっ
たときは、機能実行フラグ62をInvalidにする(S1
35)。
【0091】(8)プロセス復旧の最終フェーズ そして、上記復旧確認手段14の手順により、機能実行
チェックテーブル60の更新がおこなわれた結果、機能
実行チェックフラグ62がInvalidの機能で重要度が復
旧基準以上の機能があれば、プロセスの復旧は失敗した
とみなされ、プロセス復旧失敗がシステム管理者に通告
される。一方、機能復旧フラグがInvalidの分割機能で
重要度が復旧基準以上の機能が無ければ、部分的なプロ
セス復旧が成功したとみなされ、プロセスの処理が再開
される。これは、既に記載した通りである。
チェックテーブル60の更新がおこなわれた結果、機能
実行チェックフラグ62がInvalidの機能で重要度が復
旧基準以上の機能があれば、プロセスの復旧は失敗した
とみなされ、プロセス復旧失敗がシステム管理者に通告
される。一方、機能復旧フラグがInvalidの分割機能で
重要度が復旧基準以上の機能が無ければ、部分的なプロ
セス復旧が成功したとみなされ、プロセスの処理が再開
される。これは、既に記載した通りである。
【0092】〔実施例2〕次に、図2を用いて本発明の
他の実施例を説明する。図2は、本発明に係る他の実施
例のシステム構成をあらわす模式図である。
他の実施例を説明する。図2は、本発明に係る他の実施
例のシステム構成をあらわす模式図である。
【0093】上記の第一の実施例においては、状態情報
保存手段10や、情報収集手段12、プロセス復旧手段
13、復旧確認手段14等が、復旧処理の対象となるプ
ロセスの外(すなわち、プロセスのアクセス空間の外)
に存在していた。しかしこれらの手段は、図2に示すよ
うに状態情報保存手段20は、処理をおこなっているプ
ロセス4の内部(すなわち、プロセスのアクセス空間の
内)に存在していても構わないし、状態情報収集手段2
2、プロセス復旧手段23、復旧確認手段24もまた復
旧プロセス5内に存在していて、復旧プロセス5が、自
動的にプロセス復旧をおこなっても構わない。
保存手段10や、情報収集手段12、プロセス復旧手段
13、復旧確認手段14等が、復旧処理の対象となるプ
ロセスの外(すなわち、プロセスのアクセス空間の外)
に存在していた。しかしこれらの手段は、図2に示すよ
うに状態情報保存手段20は、処理をおこなっているプ
ロセス4の内部(すなわち、プロセスのアクセス空間の
内)に存在していても構わないし、状態情報収集手段2
2、プロセス復旧手段23、復旧確認手段24もまた復
旧プロセス5内に存在していて、復旧プロセス5が、自
動的にプロセス復旧をおこなっても構わない。
【0094】さらに、機能確認テーブル50と機能チェ
ックテーブル62を一体にして、機能IDの欄をひとつ
省略すると、テーブル管理が容易になり、メモリの節約
にもなる。
ックテーブル62を一体にして、機能IDの欄をひとつ
省略すると、テーブル管理が容易になり、メモリの節約
にもなる。
【0095】
【発明の効果】本発明によれば、プロセスの機能を分割
して管理し、復旧基準を定めて、その復旧基準よりも重
要性が低いプロセスの機能の復旧に支障をきたすような
事態が発生しても、重要なプロセスの機能を復旧し、プ
ロセスの処理を継続できるプロセス復旧方法を提供する
ことができる。
して管理し、復旧基準を定めて、その復旧基準よりも重
要性が低いプロセスの機能の復旧に支障をきたすような
事態が発生しても、重要なプロセスの機能を復旧し、プ
ロセスの処理を継続できるプロセス復旧方法を提供する
ことができる。
【図1】本発明に係る一実施例のシステム構成をあらわ
す模式図である。
す模式図である。
【図2】本発明に係る他の実施例のシステム構成をあら
わす模式図である。
わす模式図である。
【図3】プロセスを復旧する際のプロセスの動作を経時
順に示した模式図である。
順に示した模式図である。
【図4】プロセスの分割された機能と動作状態情報との
対応の様々な態様を示す模式図である。
対応の様々な態様を示す模式図である。
【図5】本発明に係るプロセス復旧方法に使用されるデ
ータ構造をあらわす模式図である。
ータ構造をあらわす模式図である。
【図6】本発明の一実施例に係るプロセス復旧方法の手
順の概要を示すフローチャートである。
順の概要を示すフローチャートである。
【図7】復旧プロセス3を作成する手順について説明し
たフローチャートである。
たフローチャートである。
【図8】機能が復旧され、実行されるかの判定手順につ
いての第1のパスをあらわすフローチャートである。
いての第1のパスをあらわすフローチャートである。
【図9】機能が復旧され、実行されるかの判定手順につ
いての第2のパスをあらわすフローチャートである。
いての第2のパスをあらわすフローチャートである。
【図10】機能実行フラグ設定のための、機能IDの実
例と探索手順を説明する模式図である。
例と探索手順を説明する模式図である。
1…計算機、2,4,6,7,70,71,72,73
…プロセス、3,5…復旧プロセス、10…状態保存手
段、12…情報収集手段、13…プロセス復旧手段、1
4…復旧確認手段、30…動作状態保存情報テーブル、
40…復旧情報テーブル、50…機能確認テーブル、6
0…機能実行チェックテーブル。
…プロセス、3,5…復旧プロセス、10…状態保存手
段、12…情報収集手段、13…プロセス復旧手段、1
4…復旧確認手段、30…動作状態保存情報テーブル、
40…復旧情報テーブル、50…機能確認テーブル、6
0…機能実行チェックテーブル。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中村 智明 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内
Claims (4)
- 【請求項1】 少なくとも一台以上の計算機が存在し、 処理単位をプロセスに分割して管理し、 前記プロセスがチェックポイントを通過した時点の前記
プロセスの動作状態情報の全てまたはその一部分を、前
記計算機に保存する手段を備え、 前記プロセスの動作に障害が発生した場合、前記プロセ
スの動作状態情報を、前記計算機に保存する手段により
保存された前記プロセスの動作状態情報によって、プロ
セスの復旧をおこなう情報処理システムのプロセス復旧
方法において、 前記計算機に存在する少なくとも1つ以上の動作状態情
報を収集する手段と、 その収集した動作状態情報を用いて、障害が発生したプ
ロセスとは、別のプロセスに、前記障害が発生したプロ
セス障害発生前の動作状態を復旧させる手段とを有し、 プロセスの動作を構成する機能を分割して、 前記プロセスの動作状態情報を、前記計算機に保存する
手段によって、動作状態情報として保存する情報と、 前記分割された機能と、前記保存されている動作状態情
報とを関連付けるための情報と、 前記動作状態情報に関連付けられたプロセスの機能に関
する情報とを保存して、 前記分割された機能ごとにプロセスの復旧の可否を判断
することを特徴とするプロセス復旧方法。 - 【請求項2】 前記分割された機能ごとにプロセスの復
旧の可否を判断する場合において、 前記保存されている動作状態情報ごとに、正しく復旧さ
れるか判定する手段を有し、 前記分割された機能に関連付けられた前記保存されてい
る動作状態情報のうちで、正しく復旧されないと判定さ
れた動作状態情報が1つでもあるときに、その分割され
た機能が正しく復旧されないと判定されることを特徴と
する請求項1記載のプロセス復旧方法。 - 【請求項3】 前記分割された機能ごとにプロセスの復
旧の可否を判断した後に、所定の復旧基準を満たしたと
き、前記判断で復旧が可であると判断されたプロセスの
分割された機能を復旧させることを特徴とする請求項1
および請求項2記載のいずれかのプロセス復旧方法。 - 【請求項4】 前記分割された機能ごとに、重要度を有
し、 前記所定の復旧基準が、前記復旧が不可であると判断さ
れた前記分割された機能の重要度は全て、前記予め定め
られた復旧基準の重要度未満であることを特徴とする請
求項3記載のプロセス復旧方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6159058A JPH0830473A (ja) | 1994-07-12 | 1994-07-12 | プロセス復旧方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6159058A JPH0830473A (ja) | 1994-07-12 | 1994-07-12 | プロセス復旧方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0830473A true JPH0830473A (ja) | 1996-02-02 |
Family
ID=15685306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6159058A Pending JPH0830473A (ja) | 1994-07-12 | 1994-07-12 | プロセス復旧方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0830473A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016166900A1 (ja) * | 2015-04-17 | 2016-10-20 | 三菱電機株式会社 | 情報処理装置及び情報処理方法及び情報処理プログラム |
-
1994
- 1994-07-12 JP JP6159058A patent/JPH0830473A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016166900A1 (ja) * | 2015-04-17 | 2016-10-20 | 三菱電機株式会社 | 情報処理装置及び情報処理方法及び情報処理プログラム |
JP6023898B1 (ja) * | 2015-04-17 | 2016-11-09 | 三菱電機株式会社 | 情報処理装置及び情報処理方法及び情報処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4638908B2 (ja) | データベースまたはファイルシステムを自動的に保守および修復するシステムおよび方法 | |
US7925633B2 (en) | Disaster recovery system suitable for database system | |
US7043504B1 (en) | System and method for parallel primary and secondary backup reading in recovery of multiple shared database data sets | |
US7634679B2 (en) | Remote location failover server application | |
US6535998B1 (en) | System recovery by restoring hardware state on non-identical systems | |
US6665813B1 (en) | Method and apparatus for updateable flash memory design and recovery with minimal redundancy | |
US5724581A (en) | Data base management system for recovering from an abnormal condition | |
US6594676B1 (en) | System and method for recovery of multiple shared database data sets using multiple change accumulation data sets as inputs | |
Alagappan et al. | Correlated crash vulnerabilities | |
US20040010732A1 (en) | Backup method and storage control device using the same | |
EP1594070A2 (en) | Consistency checking for a database management system | |
US20040260678A1 (en) | State based configuration failure detection using checkpoint comparison | |
US7487385B2 (en) | Apparatus and method for recovering destroyed data volumes | |
CN111580929A (zh) | 一种基于虚拟机保护数据的有效性验证系统及方法 | |
US20050240826A1 (en) | Method, data processing system, and computer program product for collecting first failure data capture information | |
JP3481737B2 (ja) | ダンプ採取装置およびダンプ採取方法 | |
US6816984B1 (en) | Method and system for verifying and storing documents during a program failure | |
WO1996023269A1 (en) | System for maintenance of database integrity | |
US20050097141A1 (en) | Autonomic filesystem recovery | |
EP0725347B1 (en) | Improved recovery process | |
JPH0830473A (ja) | プロセス復旧方法 | |
US20050165862A1 (en) | Autonomic and fully recovering filesystem operations | |
JP2513060B2 (ja) | 故障回復型計算機 | |
JP2853527B2 (ja) | ファイル障害自動復旧システム | |
JP3065740U (ja) | ツイン・ハ―ドディスク搭載のサ―バ |