(57)【特許請求の範囲】
【請求項１】
動作設定が有効又は無効に切替自在であるとともに所定の実行シーケンスが規定されている２個以上のモジュールのうち、前記動作設定が有効であるモジュールに対して処理を実行させるための情報処理装置であって、
前記実行シーケンスにおける最先のモジュールにて発生するイベント毎に、そのイベントを特定する識別情報と、そのイベントが発生した時点における全モジュールの動作設定の状態を特定する動作情報と、そのイベントについて処理を完了しているモジュールを特定する完了情報とを記憶する記憶部、
前記記憶部内の前記動作情報と前記完了情報とに基づいて、前記動作設定が有効であったモジュールのうちの何れかが処理を完了していないイベントを、特定する特定部、及び、
前記特定部が特定したイベントに係る識別情報を前記実行シーケンスにおける最先のモジュールに与えて、前記最先のモジュールに当該イベントに係る処理実行を指示する指示部
を備え、
前記各モジュールが、
何れかの識別情報を受け取った場合に、受け取った識別情報に対応する動作情報及び完了情報を前記記憶部から読み出し、読み出した動作情報及び完了情報に基づいて、自モジュールの処理をスキップするか否かを判定する判定部、及び、
前記判定部が自モジュールの処理をスキップすると判定した場合において、直後のモジュールが存在しているときには、前記直後のモジュールに前記識別情報を引き渡す引渡部
を備える
ことを特徴とする情報処理装置。
【請求項２】
前記動作情報は、各モジュールの動作設定が有効であるか無効であるかをそれぞれ示す複数の動作フラグからなり、
前記完了情報は、各モジュールが処理を完了しているか否かをそれぞれ示す複数の完了フラグからなり、
前記判定部は、前記動作情報における自モジュールに対応する動作フラグの状態と、前記完了情報における自モジュールに対応する完了フラグの状態とに基づいて、自モジュー
ルの処理をスキップするか否かを判定する
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
何れかのモジュールが処理を完了していないイベントの特定は、主電源の投入を契機として行われる
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
動作設定が有効又は無効に切替自在であるとともに所定の実行シーケンスが規定されている２個以上のモジュールのうち、前記動作設定が有効であるモジュールに対して処理を実行させるための情報処理方法であって、
コンピュータが、
前記実行シーケンスにおける最先のモジュールにて発生するイベント毎に、そのイベントを特定する識別情報と、そのイベントが発生した時点における全モジュールの動作設定の状態を特定する動作情報と、そのイベントについて処理を完了しているモジュールを特定する完了情報とを、記憶装置に記憶する記憶手順、
前記記憶装置内の前記動作情報と前記完了情報とに基づいて、前記動作設定が有効であったモジュールのうちの何れかが処理を完了していないイベントを、特定する特定手順、及び、
前記特定手順で特定したイベントに係る識別情報を前記実行シーケンスにおける最先のモジュールに与えて、前記最先のモジュールに当該イベントに係る処理実行を指示する指示手順
を実行し、
前記各モジュールが、
何れかの識別情報を受け取った場合に、受け取った識別情報に対応する動作情報及び完了情報を前記記憶装置から読み出し、読み出した動作情報及び完了情報に基づいて、自モジュールの処理をスキップするか否かを判定する判定部、及び、
前記判定部が自モジュールの処理をスキップすると判定した場合において、直後のモジュールが存在しているときには、前記直後のモジュールに前記識別情報を引き渡す引渡部
を備える
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のモジュール（プログラム）に処理を実行させるための情報処理装置及び情報処理方法に、関する。
【背景技術】
【０００２】
周知のように、特定の機器を制御するために複数のモジュール（プログラム）を備えた制御ソフトウエアでは、それらモジュールの実行シーケンスが決められていることが多い。その実行シーケンスでは、最先（最上流）のモジュール以外の各モジュールが、その直前（上流側における一つ前）のモジュールの処理の実行完了を契機として自モジュールの処理を開始する。
【０００３】
このような実行シーケンスでは、１つのモジュールの実行完了を契機として、複数のモジュールの実行が開始されることもある。従って、最後（最下流）のモジュールが複数存在することがある。
【０００４】
ここで、全モジュールによる一連の処理の単位をイベントと表記すると、前述した制御ソフトウエアでは、最先のモジュールに対して１つの外部入力や１つの割込発生があることにより、１つのイベントが生じることとなる。そして、このような制御ソフトウエアの中には、イベントを複数並立させ得るものがある。
【０００５】
例えば、全自動電気洗濯機に内蔵されるコンピュータにより実行される制御ソフトウエアでは、給水、攪拌、排水、給水、濯ぎ、排水、脱水をそれぞれ制御するモジュールの実行シーケンスは、決められている。しかし、全自動電気洗濯機には制御対象となる洗濯乾燥槽が１つしかないため、１つのイベントが完了するまで、次のイベントが発生することはない。これに対し、例えば、メインフレーム管理用のサービスプロセッサに内蔵されるコンピュータにより実行される制御ソフトウエアでも、メインフレーム内の各ユニットからの障害情報の受信、ログ保存、外部への通報をそれぞれ制御するモジュールの実行シーケンスは、決められている。しかし、障害情報の受信と外部への通報とは同時に実行することができるため、複数のイベントが並立することができる。
【０００６】
ところで、この種の制御ソフトウエアを実行するコンピュータは、一般的なシステムと同様に、何らかのトラブルが発生したときには、リブートを行う必要がある。また、トラブル発生時に実行シーケンスの途中で処理が中断されてしまった未完のイベントが存在している場合には、それら未完のイベントを完了させる必要がある。
【０００７】
このような要求を満たすため、制御ソフトウエアの新規機能として、トラブル発生時に未完であったイベントについてリブート後に実行シーケンスの途中から処理を継続させる機能が、考えられた。
【０００８】
しかしながら、そのような機能を制御ソフトウエアに組み込むためには、上流のモジュールと下流のモジュールとの間に個別の取り決めを行わなければならず、制御ソフトウエアの設計が非常に複雑になることが予想された。
【０００９】
そこで、制御ソフトウエアの新規機能として、トラブル発生時に未完であったイベントについて、実行シーケンスの途中から処理を継続させるのではなく、最上流のモジュールから再度処理を実行させる機能が、考えられた。この機能において考えられる動作としては、最先のモジュールにて発生するイベントを特定するための識別情報がログとして不揮
発性メモリに保存されるとともに、トラブル発生時に未完であったイベントに係る識別情報がリブート後にログから抽出され、抽出された識別情報が最先のモジュールに入力される。
【００１０】
しかしながら、トラブル発生時にイベント自体が未完ではあっても、実行シーケンスの途中にあるモジュールまでは、処理を終えていることが多い。このような未完イベントについて、リブート後に最先のモジュールから再度処理を実行させてしまうと、トラブル発生前に何れかのモジュールから出力された内容が、同じモジュールから重複して出力されてしまうことがある。
【００１１】
【特許文献１】特開２００３−３１６７５０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は、前述したような従来技術の有する問題点に鑑みてなされたものであり、その課題は、複数のモジュールの実行シーケンスが決められている場合において、トラブル発生時に未完であったイベントをリブート後に完了させるため、最先のモジュールに対し、一度与えられた識別情報を再度与えたとしても、トラブル発生前に何れかのモジュールにから出力された内容が、同じモジュールから重複して出力されないようにすることにある。
【課題を解決するための手段】
【００１３】
上記の課題を解決するために案出された情報処理装置は、所定の実行シーケンスが規定されている２個以上のモジュールに対して処理を実行させるため、実行シーケンスにおける最先のモジュールにて発生するイベント毎に、そのイベントを特定する識別情報と、そのイベントについて処理を完了しているモジュールを特定する完了情報とを記憶する記憶部、その記憶部内の完了情報に基づいて、何れかのモジュールが処理を完了していないイベントを、特定する特定部、及び、その特定部が特定したイベントに係る識別情報を実行シーケンスにおける最先のモジュールに与えて、その最先のモジュールに当該イベントに係る処理実行を指示する指示部を備え、各モジュールが、何れかの識別情報を受け取った場合に、受け取った識別情報に対応する完了情報を記憶部から読み出し、読み出した完了情報に基づいて、自モジュールの処理をスキップするか否かを判定する判定部、及び、その判定部が自モジュールの処理をスキップすると判定した場合において、直後のモジュールが存在しているときには、その直後のモジュールに識別情報を引き渡す引渡部を備えることを、特徴としている。
【００１４】
このような構成により、各イベントについて、どのモジュールが処理を完了していないかが、完了情報として、記憶部に記録され、何れかのモジュールが処理を完了していないイベントが、完了情報により特定され、そのイベントの再実行のため、識別情報が最先のモジュールに与えられる。さらに、最先のモジュールに識別情報が与えられた後、どのモジュールも、識別情報にて特定されるイベントについて既に自モジュールの処理を完了しているか否かを判定し、そのイベントについて既に時モジュールの処理が完了している場合には、自モジュールの処理をスキップして、識別情報を直後のモジュールに引き渡す。
【００１５】
このような動作により、何れかのモジュールが処理を完了していないイベントについて、識別情報が最先のモジュールに与えられることとなるが、そのイベントについて何れかのモジュールにから出力された内容が、同じモジュールから重複して出力されることはない。
【００１６】
なお、前述した情報処理装置が備える複数のモジュールについて、動作設定を有効又は
無効に切り替えられることができる場合がある。この場合、モジュールは、動作設定が無効となっている間は、その直前のモジュールから実行完了の通知を受けても処理を行わないこととなる。
【００１７】
このような場合、ログとして保存しておいた識別情報の中から、未完のイベントに係る識別情報を選択することは容易ではない。モジュールは、イベント発生時の動作設定に応じて有効だったり無効だったりしており、特に、動作設定が有効となっている最下流のモジュールの組み合わせが、イベント毎に異なっている。このように、イベントの完了形態がイベント毎に変化するため、ログの中から未完のイベントに係る識別情報を選択するには、イベント毎に、そのイベントにおいて動作設定が有効となっている最後のモジュールの全てが処理を完了しているか否かを、正確に判定せねばならないという問題がある。
【００１８】
このような問題を解決するため、前述した情報処理装置では、イベントが発生した時点における全モジュールの動作設定の状態を特定する動作情報が、さらに、前述した記憶部にイベント毎に記憶され、何れかのモジュールが処理を完了していないイベントが、完了情報と動作情報とに基づいて特定され、各モジュールが、自モジュールの処理をスキップするか否かを、完了情報と動作情報とに基づいて判定するようになっていても良い。
【００１９】
このような構成によると、各イベントについて、どのモジュールの動作設定が有効であったかが、動作情報として、記憶部に記録され、動作設定が有効であったモジュールのうちの何れかが処理を完了していないイベントが、動作情報と完了情報とに基づいて、特定される。さらに、どのモジュールも、自モジュールの処理をスキップするか否かを、動作情報と完了情報とに基づいて判定する。
【００２０】
このような動作により、イベントの完了形態がイベント毎に変化しても、動作設定が有効となっているモジュールの全てが処理を完了しているか否かが、正確に判定されて、未完のイベントに係る識別情報だけが、最先のモジュールに与えられるようになる。さらに、どのモジュールも、イベント発生時における自モジュールの動作設定をも考慮して、スキップすべきか否かを判定することとなる。
【００２１】
なお、以上に開示した情報処理装置に係る動作は、情報処理方法又は情報処理プログラムによっても実現し得る。すなわち、本発明は、前述した情報処理装置の各部と同等の機能を複数の手順としてコンピュータが実行する情報処理方法であってもよいし、それら各部と同等に機能する複数の手段としてコンピュータを動作させる情報処理プログラムであってもよい。
【発明の効果】
【００２２】
従って、開示の情報処理装置によれば、複数のモジュールの実行シーケンスが決められている場合において、トラブル発生時に未完であったイベントをリブート後に完了させるため、最先のモジュールに対し、一度与えられた識別情報を再度与えたとしても、トラブル発生前に何れかのモジュールにから出力された内容が、同じモジュールから重複して出力されないようになる。
【発明を実施するための最良の形態】
【００２３】
以下、添付図面を参照しながら、本発明を実施するための三つの形態について、説明する。以下、情報処理装置の一例として、いわゆるメインフレームについて説明する。
【実施形態１】
【００２４】
＜構成＞
図１は、第１の実施形態のメインフレームシステムの構成図である。
【００２５】
図１に示すように、第１の実施形態のメインフレームシステムは、メインフレーム１０と、サービスプロセッサ２０と、管理者端末装置３０とを、備えている。このうち、メインフレーム１０とサービスプロセッサ２０は、図示せぬ専用線を介して通信自在に接続されており、サービスプロセッサ２０と管理者端末装置３０は、ネットワークＮを介して通信自在に接続されている。
【００２６】
メインフレーム１０は、事務的な計算や研究的な計算処理を並列且つ高速に行うためのコンピュータであり、図示していないが、周知のように、ＣＰＵ［Central Processing Unit］、メモリユニット、記憶ユニット、電源ユニット、及び、冷却ユニットを、それぞれ備えている。メインフレーム１０内の各ユニットは、通常、自動障害通知機能を有しており、自ユニットの内部で障害が発生すると、その障害の種類や場所を特定する障害情報を送信することにより、障害の発生をサービスプロセッサ２０に通知するようになっている。
【００２７】
サービスプロセッサ２０は、メインフレーム１０の設定情報と動作状態とを管理するための管理機能を実現する目的で、コンピュータが組み込まれた組み込み機器である。後述するように、サービスプロセッサ２０は、メインフレーム１０内の何れかのユニットから障害の発生が通知されたときに、管理者端末装置３０へ障害を通報する通報機能を、有している。通報機能としては、電子メールを用いる機能と、ＳＮＭＰ［Simple Network Management Protocol］を用いる機能とがある。従って、本実施形態によるサービスプロセッサ２０は、電子メールを送信するためのメール送信モジュールプログラムと、状態変化を示すトラップをＳＮＭＰマネージャに送信するＳＮＭＰエージェントとを、含んでいる。
【００２８】
管理者端末装置３０は、サービスプロセッサ２０から障害の発生が通知されたとき、に管理者へ所定の出力を行うための出力機能が付加されたコンピュータである。管理者端末装置３０の一例として、パーソナルコンピュータが挙げられる。管理者端末装置３０は、図示していないが、液晶ディスプレイ等の表示装置と、キーボードやマウス等の入力装置と、これら装置が接続された本体とを備え、本体は、通信アダプタ、ストレージユニット、ＣＰＵ、メモリユニットを、内蔵している。さらに、管理者端末装置３０は、電子メールを受信するためのメール受信モジュールプログラムと、トラップをＳＮＭＰマネージャから受信するＳＮＭＰエージェントとを、含んでいる。なお、管理者端末装置３０は、例えばサポートセンターの建物内に設置されている。
【００２９】
図２は、サービスプロセッサ２０の構成図である。
【００３０】
図２に示すように、サービスプロセッサ２０は、少なくとも、インターフェース装置２０ａと、通信アダプタ２０ｂと、フラッシュメモリユニット２０ｃと、ＣＰＵ２０ｄと、揮発メモリユニット２０ｅとを、備えている。
【００３１】
インターフェース装置２０ａは、メインフレーム１０内の各ユニットとのデータの遣り取りを行うための装置であり、メインフレーム１０内の各ユニットに対し、図示せぬ専用線にて接続されている。通信アダプタ２０ｂは、ネットワークＮ上の他のコンピュータとデータの遣り取りを行うための通信装置であり、ネットワークＮを構成する中継装置に所定の通信ケーブルにて接続されている。なお、中継装置としては、ルータ又はターミナルアダプタが例示できる。また、通信ケーブルとしては、モジュラーケーブル又はイーサネットケーブル（イーサネットは米国ゼロックス社商標）が例示できる。
【００３２】
フラッシュメモリユニット２０ｃは、各種のプログラムやデータを記録しておくためのユニットである。ＣＰＵ２０ｄは、フラッシュメモリユニット２０ｃ内に記録されたプロ
グラムに従って処理を行うためのユニットである。揮発メモリユニット２０ｅは、ＣＰＵ２０ｄがプログラムやデータをキャッシュしたり作業領域を展開したりするためのユニットである。
【００３３】
サービスプロセッサ２０は、フラッシュメモリユニット２０ｃに、管理ソフトウエア２１を記憶している。管理ソフトウエア２１は、メインフレーム１０の設定情報と動作状態とを管理するためのソフトウエアである。管理ソフトウエア２１は、複数のモジュール（プログラム）から構成されており、これら複数のモジュールが互いに連携することによって管理機能が実現される。なお、以下では、管理ソフトウエア２１を構成する複数のモジュールのうち、異常処理系の６個のモジュール２１ａ〜２１ｆに着目して説明する。
【００３４】
図３は、異常処理系の６個のモジュール２１ａ〜２１ｆの関係を示す図である。
【００３５】
図３に示すように、管理ソフトウエア２１は、障害情報受信モジュール２１ａ、ログ保存モジュール２１ｂ、指示分配モジュール２１ｃ、本体制御モジュール２１ｄ、メール通報モジュール２１ｅ、及び、ＳＮＭＰ通報モジュール２１ｆを、備えている。
【００３６】
障害情報受信モジュール２１ａは、メインフレーム１０内の何れかのユニットから障害情報を入力情報として受信するためのモジュールである。ログ保存モジュール２１ｂは、障害情報受信モジュール２１ａがメインフレーム１０内の何れかのユニットから受信した障害情報を、図示せぬログファイルに保存するためのモジュールである。指示分配モジュール２１ｃは、自モジュールの下流側にある複数のモジュール２１ｄ〜２１ｆに対して、同時に処理の実行開始を指示するためのモジュールである。
【００３７】
本体制御モジュール２１ｄは、障害情報受信モジュール２１ａが受信した障害情報に特定される障害の種類と場所とに応じて、メインフレーム１０の各ユニットを制御するためのモジュールである。本体制御モジュール２１ｄは、例えば、メインフレーム１０内の何れかのＣＰＵから致命的エラーが通知された場合には、エラーを通知したＣＰＵが搭載されたシステムボードのリセットを行う。また、メインフレーム１０内の何れかの冷却ユニットから冷却ファンの停止が通知された場合には、本体制御モジュール２１ｄは、メインフレーム１０内の他の冷却ユニットに対して冷却ファンの回転速度を上げるよう指示を出すようになっている。
【００３８】
メール通報モジュール２１ｅは、障害情報により特定される障害の内容や場所が記載された電子メールを所定のアドレス宛に送信するためのモジュールであり、一般的なメール送信モジュールを含んでいる。ＳＮＭＰ通報モジュール２１ｆは、メインフレーム１０内の何れかのユニットにおいて障害が発生したことをＳＮＭＰに従ってＳＮＭＰマネージャに通報するためのモジュールであり、一般的なＳＮＭＰエージェントを含んでいる。
【００３９】
これら６個のモジュール２１ａ〜２１ｆについては、実行シーケンスが予め決められている。具体的には、図３に示すように、障害情報受信モジュール２１ａが実行シーケンスの最上流にある。障害情報受信モジュール２１ａが処理を完了すると、その旨を直後のログ保存モジュール２１ｂに通知し、ログ保存モジュール２１ｂは、障害情報受信モジュール２１ａからの通知を受けると処理を開始するようになっている。つまり、ログ保存モジュール２１ｂは、障害情報受信モジュール２１ａの処理の完了を契機として、自モジュールの処理を開始する。同様に、ログ保存モジュール２１ｂの直後にある指示分配モジュール２１ｃは、ログ保存モジュール２１ｂの処理の完了を契機として、自モジュールの処理を開始するようになっている。
【００４０】
また、指示分配モジュール２１ｃの処理の完了を契機として、本体制御モジュール２１
ｄ、メール通報モジュール２１ｅ、及び、ＳＮＭＰ通報モジュール２１ｆが、それぞれ、自モジュールの処理を開始するようになっている。従って、第１の実施形態においては、本体制御モジュール２１ｄ、メール通報モジュール２１ｅ、及び、ＳＮＭＰ通報モジュール２１ｆが、実行シーケンスにおける最下流のモジュールとなっている。
【００４１】
さらに、モジュール２１ｄ〜２１ｆ以外の残りのモジュール２１ａ〜２１ｃは、直後のモジュールに対し、自モジュールの処理の完了を通知するとともに、後述のイベントＩＤを引き渡すようになっている。
【００４２】
なお、管理ソフトウエア２１を構成する各モジュールは、動作設定の状態に応じて自モジュールの処理を実行するか否かを決定するようになっている。つまり、各モジュールは、自モジュールの動作設定が無効の状態にある間は、直前のモジュールが処理を完了しても、それを契機として処理を実行しない。この動作設定は、サービスプロセッサ２０の操作者により図示せぬ操作手段を介して切り替えられ、或いは、ネットワークＮを介してサービスプロセッサ２０に接続された管理者端末装置３０の操作者（管理者）により図示せぬ遠隔操作手段を介して切り替えられる。
【００４３】
但し、図３に示すような実行シーケンスにおいて、上流側の３個のモジュール２１ａ〜２１ｃの何れかの動作設定が無効の状態にあると、異常処理系全体の処理が不完全になってしまう。そのため、第１の実施形態では、指示分配モジュール２１ｃから分岐する３個のモジュール２１ｄ〜２１ｆについてだけ、動作設定の状態が切り替えられるものとし、前方の３個のモジュール２１ａ〜２１ｃは、動作設定の状態が常に有効に固定されているものとする。
【００４４】
また、図２に示すように、サービスプロセッサ２０は、フラッシュメモリユニット２０ｃに、動作フラグ管理テーブル２２を記憶している。動作フラグ管理テーブル２２は、管理ソフトウエア２１を構成する複数のモジュールの動作設定の状態を管理するためのテーブルである。
【００４５】
図４は、動作フラグ管理テーブル２２のテーブル構造を模式的に示す図である。
【００４６】
図４に示すように、動作フラグ管理テーブル２２は、管理ソフトウエア２１を構成するモジュールと同数のレコードを、有している。なお、前述したように、第１の実施形態の説明では、異常処理系の６個のモジュール２１ａ〜２１ｆに着目しているため、図４には、レコードは６個しか示していない。動作フラグ管理テーブル２２の各レコードは、「モジュール名」及び「動作フラグ」のフィールドを、有している。
【００４７】
「モジュール名」フィールドは、各モジュールの名称が記録されるフィールドである。「動作フラグ」フィールドは、各モジュールの動作設定が有効であるか無効であるかを示す動作フラグが記録されるフィールドである。なお、図４では、動作フラグは、「１」又は「０」の値で示されており、「１」は対応するモジュールの動作設定が有効であることを示し、「０」は対応するモジュールの動作設定が無効であることを示している。また、図４は、動作フラグの管理形態を模式的に示したものであり、実際の動作フラグは、例えば、動作フラグを記録しておくためのビットを各モジュールに１つずつ割り当てるビットマップ方式で管理されていても良い。
【００４８】
また、図２に示すように、サービスプロセッサ２０は、フラッシュメモリユニット２０ｃに、イベント管理テーブル２３を記憶している。イベント管理テーブル２３は、イベントを管理するためのテーブルである。ここで、イベントとは、６個のモジュール２１ａ〜２１ｆ全体による一連の処理の単位を言い、最上流のモジュールである障害情報受信モジ
ュール２１ａが１つの障害情報を入力情報として受信することによって、１つのイベントが生ずる。
【００４９】
図５は、イベント管理テーブル２３のテーブル構造を模式的に示す図である。
【００５０】
図５に示すように、イベント管理テーブル２３の各レコードは、「イベントＩＤ」、「動作フラグ」、「完了フラグ」及び「データ」のフィールドを、有している。
【００５１】
「イベントＩＤ」フィールドは、イベントに対して一意な識別情報として割り当てられるイベントＩＤが記録されるフィールドである。「動作フラグ」フィールドは、各イベントの発生時点における動作フラグ管理テーブル２２内に記録された全ての動作フラグの状態が記録されるフィールドである。なお、図４には、６個の動作フラグが示されているため、イベント管理テーブル２３の「動作フラグ」フィールドには、６個の動作フラグが記録されることとなる。
【００５２】
「完了フラグ」フィールドは、各イベントについて、モジュール毎に処理が完了しているか否かを示す完了フラグが記録されるフィールドである。「完了フラグ」フィールドには、管理ソフトウエア２１を構成する全てのモジュールの完了フラグが記録されることとなるが、第１の実施形態の説明では、異常処理系の６個のモジュール２１ａ〜２１ｆに着目しているため、図５では、それら６個のモジュール２１ａ〜２１ｆの完了フラグしか図示されていない。なお、図５では、完了フラグは、「１」又は「０」の値で示されている。「１」は、そのイベントについて対応モジュールの処理が完了したことを示し、「０」は、そのイベントについて対応モジュールの処理が完了していないことを示している。
【００５３】
「データ」フィールドは、各イベントに係る障害情報が記録されるフィールドである。すなわち、障害情報受信モジュール２１ａが１つの障害情報を受信することによって１つのイベントが発生すると、受信した障害情報が、そのイベントのレコードの「データ」フィールドに記録される。
【００５４】
なお、イベント管理テーブル２３は、前述した記憶部に相当している。また、サービスプロセッサ２０がイベントＩＤ、動作フラグ、完了フラグ、障害情報をイベント管理テーブル２３を介してフラッシュメモリユニット２０ｃに記憶することは、前述した記憶手順に相当している。
【００５５】
また、図２に示すように、サービスプロセッサ２０は、フラッシュメモリユニット２０ｃに、未完イベント検出プログラム２４を記憶している。未完イベント検出プログラム２４は、自プロセッサの電源投入直後において未完イベントを検出するためのプログラムである。ここで、未完イベントとは、動作設定が有効となっているモジュールのうちの何れかが処理を完了していないイベントを言う。未完イベント検出プログラム２４に従ってＣＰＵ２０ｄが実行する処理の内容については、図９を用いて後述する。
【００５６】
＜モジュールに係る処理＞
図６は、６個のモジュール２１ａ〜２１ｆにおける本実施形態に係る機能を示す図である。
【００５７】
図６に示すように、６個のモジュール２１ａ〜２１ｆのうち、実行シーケンスの最上流にある障害情報受信モジュール２１ａは、イベントＩＤ発行プログラム２１０、動作フラグ切替プログラム２１１、完了フラグ切替プログラム２１２、及び、スキップ判定プログラム２１３を、含んでいる。
【００５８】
また、実行シーケンスの最先に無い残りの５個のモジュール２１ｂ〜２１ｆは、動作フラグ切替プログラム２１１、完了フラグ切替プログラム２１２、及び、スキップ判定プログラム２１３は含んでいるが、イベントＩＤ発行プログラム２１０は含んでいない。
【００５９】
（イベントＩＤ発行）
イベントＩＤ発行プログラム２１０は、イベントの発生に応じて、イベントＩＤを発行して図５のイベント管理テーブル２３に新規レコードを追加するためのプログラムである。イベントＩＤ発行プログラム２１０の実行は、障害情報受信モジュール２１ａがメインフレーム１０内の何れかのユニットから１つの障害情報を入力情報として受信することによって１つのイベントが生ずると、開始されるようになっている。
【００６０】
図７は、イベントＩＤ発行プログラム２１０に従ってＣＰＵ２０ｄが実行するイベントＩＤ発行処理の流れを示す図である。
【００６１】
イベントＩＤ発行処理の開始後、最初のステップＳ３０１において、障害情報受信モジュール２１ａを実行するＣＰＵ２０ｄは、当該イベントについてイベントＩＤを発行する。イベントＩＤとしては、フラッシュメモリユニット２０ｃ内のイベント管理テーブル２３（図５）においてすでに使われていない新たなイベントＩＤを発行する。
【００６２】
次のステップＳ３０２では、障害情報受信モジュール２１ａは、フラッシュメモリユニット２０ｃ内の動作フラグ管理テーブル２２（図４）から、当該イベントが発生した時点における全てのモジュール２１ａ〜２１ｆの動作フラグの状態を読み取る。
【００６３】
次のステップＳ３０３では、障害情報受信モジュール２１ａは、フラッシュメモリユニット２０ｃ内のイベント管理テーブル２３（図５）に対し、ステップＳ３０１で発行したイベントＩＤと、ステップＳ３０２で読み取った全モジュールの動作フラグの状態とを含む新たなレコードとを、追加する。追加される新たなレコードでは、「完了フラグ」フィールド内に記録される全てのモジュールの完了フラグは、初期値として、「０」の状態となっている。また、新たなレコードの「データ」フィールドには、当該イベントについて障害情報受信モジュール２１ａが受信した障害情報が、記録される。ステップＳ３０３の処理を実行し終えると、障害情報受信モジュール２１ａは、図７に係るイベントＩＤ発行処理を終了する。
【００６４】
図７に示すイベントＩＤ発行処理によれば、障害情報受信モジュール２１ａは、メインフレーム１０内の何れかのユニットから障害情報を受信することによって生じたイベントについて、イベントＩＤを発行できるとともに、そのイベントに係るレコードを、新たなレコードとして、フラッシュメモリユニット２０ｃ内のイベント管理テーブル２３に追加できる。
【００６５】
なお、図７のイベントＩＤ発行処理では、新たなレコードがイベント管理テーブル２３に追加されるようになっているが、レコードの記録形態は、これに限定されない。例えば、フラッシュメモリユニット２０ｃにおいて、イベント管理テーブル２３に割り当てられている記憶領域が定まっている場合において、記録領域に空きが無くなっているときには、未完イベントのレコードを除く残りのレコードのうち、イベントＩＤの最も古いレコードが、新たなレコードに上書きされても良い。
【００６６】
また、第１の実施形態の説明では、異常処理系の６個のモジュール２１ａ〜２１ｆに着目しているため、イベントＩＤ発行プログラム２１０は、障害情報の受信を契機にイベントＩＤを発行するものとなっている。しかし、イベントＩＤ発行プログラム２１０は、実際には、異常処理系以外の系統のモジュール群による実行シーケンスにおける最先のモジ
ュールにも、組み込まれる。このため、イベントＩＤ発行プログラム２１０が他の系統の最先のモジュールに実装されている場合には、そのモジュールにおいて何らかのイベントが生じたときに、イベントＩＤを発行することとなる。
【００６７】
（動作フラグ切替）
動作フラグ切替プログラム２１１は、自モジュールの動作設定が切り替えられたことを契機として、フラッシュメモリユニット２０ｃ内の動作フラグ管理テーブル２２（図４）における自モジュールの動作フラグを切り替えるためのプログラムである。前述したように、この動作設定は、サービスプロセッサ２０の操作者により図示せぬ操作手段を介して切り替えられ、或いは、ネットワークＮを介してサービスプロセッサ２０に接続された管理者端末装置３０の操作者により図示せぬ遠隔操作手段を介して切り替えられる。各モジュールを実行するＣＰＵ２０ｄは、動作フラグ切替プログラム２１１に従って、動作設定の切替操作がなされることを監視する。そして、自モジュールに対して動作設定の切替操作がなされたときに、当該モジュールは、フラッシュメモリユニット２０ｃ内の動作フラグ管理テーブル２２内に記録された自モジュールの動作フラグの状態を、切替操作後の動作設定に対応する状態に変更する。なお、動作フラグ切替プログラム２１１は、異常処理系の６個のモジュール２１ａ〜２１ｆに限らず、管理ソフトウエア２１に含まれる全てのモジュールに組み込まれるプログラムとなっている。
【００６８】
（完了フラグ切替）
完了フラグ切替プログラム２１２は、或るイベントについて自モジュールの処理が完了したことを契機として、フラッシュメモリユニット２０ｃ内のイベント管理テーブル２３（図５）におけるそのイベントに対応するレコード内の自モジュールの完了フラグを「０」から「１」に切り替えるためのプログラムである。各モジュールを実行するＣＰＵ２０ｄは、直後のモジュールへ実行完了を通知する情報を生成して引き渡した後、完了フラグ切替プログラム２１２に従って、フラッシュメモリユニット２０ｃ内のイベント管理テーブル２３（図５）に記録されたそのイベントに対応するレコード内の自モジュールの完了フラグを「０」から「１」に切り替える。実行シーケンスにおける最下流に位置するモジュール２１ｄ〜２１ｆについては、外部出力を終了した後に自モジュールの完了フラグを切り替える。なお、完了フラグ切替プログラム２１２も、異常処理系の６個のモジュール２１ａ〜２１ｆに限らず、管理ソフトウエア２１に含まれる全てのモジュールに組み込まれるプログラムとなっている。
【００６９】
（スキップ判定）
スキップ判定プログラム２１３は、自モジュールの処理を開始する前に、その処理を実行すべきかスキップすべきかを判定するためのプログラムである。スキップ判定プログラム２１３の実行は、直前のモジュールから処理の完了の通知とイベントＩＤとが送られてくると、開始されるようになっている。実行シーケンスにおける最上流に位置する障害情報受信モジュール２１ａについては、後述の未完イベント検出処理から処理の実行開始の指示とイベントＩＤとを受け取ることにより、スキップ判定プログラム２１３を実行する。なお、スキップ判定プログラム２１３も、異常処理系の６個のモジュール２１ａ〜２１ｆに限らず、管理ソフトウエア２１に含まれる全てのモジュールに組み込まれるプログラムとなっている。
【００７０】
図８は、スキップ判定プログラム２１３に従ってＣＰＵ２０ｄが実行するスキップ判定処理の流れを示す図である。なお、前述したように、異常処理系の６個のモジュール２１ａ〜２１ｆの何れもが、スキップ判定プログラム２１３の動作主体となり得るので、以下のスキップ判定処理の説明では、動作主体を、単にモジュールと表現している。
【００７１】
このスキップ判定処理の開始後、最初のステップＳ４０１では、モジュールを実行する
ＣＰＵ２０ｄは、フラッシュメモリユニット２０ｃ内のイベント管理テーブル２３（図５）に記録されたレコードのうち、直前のモジュールから処理の完了の通知とともに受け取ったイベントＩＤに対応するレコードを、特定する。
【００７２】
次のステップＳ４０２では、モジュールは、ステップＳ４０１で特定したレコードの「動作フラグ」フィールドから、自モジュールの動作フラグを読み出す。
【００７３】
次のステップＳ４０３では、モジュールは、ステップＳ４０２で読み出した動作フラグの状態が「０」であるか否かを、判別する。そして、動作フラグの状態が「０」であった場合、モジュールは、図８に係るスキップ判定処理を終了する。一方、動作フラグの状態が「０」でなかった場合、つまり「１」であった場合、モジュールは、ステップＳ４０３からステップＳ４０４へ処理を分岐させる。
【００７４】
ステップＳ４０４では、モジュールは、ステップＳ４０１で特定したレコードの「完了フラグ」フィールドから、自モジュールの完了フラグを読み出す。
【００７５】
次のステップＳ４０５は、モジュールは、ステップＳ４０４で読み出した完了フラグの状態が「０」であるか否かを、判別する。そして、完了フラグの状態が「０」であった場合、モジュールは、ステップＳ４０５からステップＳ４０６へ処理を進める。
【００７６】
ステップＳ４０６では、モジュールは、自モジュールの処理を実行する。そして、処理を実行し終えると、モジュールは、ステップＳ４０７へ処理を進める。
【００７７】
一方、ステップＳ４０５において、ステップＳ４０４で読み出した完了フラグの状態が「０」でなかった場合、モジュールは、ステップＳ４０６の処理を行うことなく、すなわちステップＳ４０６をスキップして、ステップＳ４０５からステップＳ４０７へ処理を分岐させる。
【００７８】
なお、これらステップＳ４０１乃至Ｓ４０５を実行するＣＰＵ２０ｄは、前述した判定部に相当している。
【００７９】
ステップＳ４０７では、モジュールは、直後のモジュールへ、自モジュールの処理の完了を通知するとともに、イベントＩＤを引き渡す。その後、モジュールは、図８に係るスキップ判定処理を終了する。
【００８０】
なお、これらステップＳ４０５及びＳ４０７を実行するＣＰＵ２０ｄは、前述した引渡部に相当している。
【００８１】
図８のスキップ判定処理によれば、モジュールは、直前のモジュールからイベントＩＤを受け取った後、受け取ったイベントＩＤに係るイベントについて既に処理を済ましていた場合に、自モジュールの処理をスキップすることができる。
【００８２】
＜サービスプロセッサに係る処理＞
前述したように、未完イベント検出プログラム２４は、サービスプロセッサ２０の電源投入直後において未完イベントを検出するためのプログラムである。未完イベント検出プログラム２４の実行は、サービスプロセッサ２０の電源投入直後に、開始されるようになっている。なお、サービスプロセッサ２０の電源投入は、正常な電源切断の後に操作者によって行われる通常の電源投入であってもよいし、サービスプロセッサ２０に対するリブート処理に伴って行われる電源投入であってもよい。何れにしても、本実施形態では、サービスプロセッサ２０に電源が投入されたときには、必ず、未完イベント検出プログラム
２４が実行される。
【００８３】
図９は、未完イベント検出プログラム２４に従ってＣＰＵ２０ｄが実行する未完イベント検出処理の流れを示す図である。
【００８４】
未完イベント検出処理の開始後、最初のステップＳ５０１では、ＣＰＵ２０ｄは、フラッシュメモリユニット２０ｃから、図５のイベント管理テーブル２３を取得する。その後、ＣＰＵ２０ｄは、第１の処理ループＬ１を実行する。
【００８５】
第１の処理ループＬ１では、ＣＰＵ２０ｄは、ステップＳ５０１で取得したイベント管理テーブル２３からレコードを１つずつ順に読み込みながら、読み込んだレコードに対し、第２の処理ループＬ２の処理を、実行する。第１の処理ループＬ１は、イベント管理テーブル２３から読み込まれた各レコードに対して実行される。
【００８６】
第２の処理ループＬ２では、ＣＰＵ２０ｄは、処理対象レコードの「動作フラグ」フィールドから各モジュールに対応する動作フラグを１つずつ順に読み込みながら、読み込んだ動作フラグに対し、ステップＳ５０２乃至Ｓ５０４からなる処理を、実行する。第２の処理ループＬ２は、イベント管理テーブル２３から読み込んだ各動作フラグに対して実行される。
【００８７】
ステップＳ５０２では、ＣＰＵ２０ｄは、イベント管理テーブル２３から読み込んだ処理対象動作フラグの状態が「０」であるか否かを、判別する。そして、処理対象動作フラグの状態が「０」であった場合、ＣＰＵ２０ｄは、第２の処理ループＬ２におけるこの処理対象の動作フラグの回を終了する。一方、処理対象動作フラグの状態が「０」でなかった場合、ＣＰＵ２０ｄは、ステップＳ５０２からステップＳ５０３へ処理を分岐させる。
【００８８】
ステップＳ５０３では、ＣＰＵ２０ｄは、処理対象レコードの「完了フラグ」フィールドから、処理対象動作フラグに対応するモジュールの完了フラグを、読み出す。
【００８９】
次のステップＳ５０４では、ＣＰＵ２０ｄは、ステップＳ５０３で読み出した完了フラグの状態が「０」であるか否かを、判別する。そして、完了フラグの状態が「０」でなかった場合、ＣＰＵ２０ｄは、ステップＳ５０４から処理を分岐させ、第２の処理ループＬ２におけるこの処理対象動作フラグの回を終了する。一方、完了フラグの状態が「０」であった場合、ＣＰＵ２０ｄは、ステップＳ５０４からステップＳ５０５へ処理を進める。
【００９０】
なお、ＣＰＵ２０ｄは、処理対象レコードの「動作フラグ」フィールド内のどの動作フラグについてもステップＳ５０５へ進むことがなければ、全ての動作フラグについてステップＳ５０２乃至Ｓ５０４からなる処理を実行し終えた後で、第２の処理ループＬ２を離脱し、第１の処理ループＬ１におけるこの処理対象のレコードの回を終了する。
【００９１】
一方、ステップＳ５０４の結果、ＣＰＵ２０ｄが、処理対象レコードの「動作フラグ」フィールド内の何れかの動作フラグについてステップＳ５０５へ進んだ場合、処理対象レコードに係るイベントが未完イベントであるとして、第２の処理ループＬ２を途中で離脱する。
【００９２】
なお、ステップＳ５０１乃至Ｓ５０４を実行するＣＰＵ２０ｄは、前述した特定部に相当している。また、ステップＳ５０１乃至Ｓ５０４は、前述した特定手順に相当している。
【００９３】
ステップＳ５０５では、ＣＰＵ２０ｄは、処理対象レコードの「データ」フィールドに
記録されている障害情報と、「イベントＩＤ」フィールドに記録されているイベントＩＤとを、実行シーケンスにおける最先の障害情報受信モジュール２１ａに引き渡すとともに、障害情報受信モジュール２１ａに対して処理の実行開始を指示する。その後、ＣＰＵ２０ｄは、第１の処理ループＬ１におけるこの処理対象のレコードの回を終了する。
【００９４】
なお、ステップＳ５０５を実行するＣＰＵ２０ｄは、前述した指示部に相当している。また、ステップＳ５０５は、前述した指示手順に相当している。
【００９５】
ＣＰＵ２０ｄは、ステップＳ５０１で読み込んだイベント管理テーブル２３内の全てのレコードについて、第２の処理ループＬ２とステップＳ５０２乃至Ｓ５０５とからなる処理を実行し終えると、第１の処理ループＬ１から離脱して、図９に係る未完イベント検出処理を終了する。
【００９６】
図９の未完イベント検出処理によれば、ＣＰＵ２０ｄは、１つの処理対象レコードについて、「１」の状態の動作フラグと「０」の状態の完了フラグとの組み合わせが１つでも存在していれば、その処理対象レコードに係るイベントが未完イベントであるとして、その未完イベントに係る障害情報とイベントＩＤとを、最先の障害情報受信モジュール２１ａに引き渡すことができる。
【００９７】
なお、障害情報受信モジュール２１ａは、未完イベント検出処理から、処理の実行開始が指示されたときには、イベントＩＤ発行プログラム２００を実行せずに、処理開始指示と同時に受け取った障害情報とイベントＩＤとに基づいて自モジュールの処理を実行する。
【００９８】
＜作用効果＞
第１の実施形態では、障害情報受信モジュール２１ａは、メインフレーム１０内のユニットから障害情報を受信するたびに、イベントＩＤを発行して、そのイベントに対応するレコードをイベント管理テーブル２３に追加する。
【００９９】
そして、動作設定が常に有効に固定されている上流側のモジュール２１ａ〜２１ｃは、自モジュールの処理を完了すると、完了フラグ切替プログラム２１２に従って、処理完了の通知とイベントＩＤとを直後のモジュールに引き渡す。また、モジュール２１ａ〜２１ｃは、図５のイベント管理テーブル２３におけるそのイベントに対応するレコードの自モジュールの完了フラグを「０」から「１」に切り替える。
【０１００】
また、最下流のモジュール２１ｄ〜２１ｆのうち、動作設定が有効となっているモジュールも、自モジュールの処理を完了することによって外部出力を終了すると、イベント管理テーブル２３におけるそのイベントに対応するレコードの完了フラグを「０」から「１」に切り替える。
【０１０１】
従って、図５のイベント管理テーブル２３に示すように、イベントＩＤが「００１３」であるイベントの発生時に４個のモジュール２１ａ、２１ｂ、２１ｃ、２１ｅの動作設定が有効となっていた場合、それらモジュール２１ａ、２１ｂ、２１ｃ、２１ｅの全てがそのイベントにつき処理を完了していたときには、完了フラグの組み合わせは、「１１１０１０」となり、動作フラグの組み合わせ「１１１０１０」に一致することとなる。
【０１０２】
また、図５のイベント管理テーブル２３に示すように、イベントＩＤが「００１４」であるイベントの発生時に５個のモジュール２１ａ〜２１ｅの動作設定が有効となっていた場合、そのイベントに係る指示分配モジュール２１ｃの処理が完了する前に、サービスプロセッサ２０にトラブルが発生して各モジュール２１ａ〜２１ｅの動作が止まってしまっ
たときには、完了フラグの組み合わせは、「１１００００」となり、動作フラグの組み合わせ「１１１１１０」に一致しないこととなる。なお、イベント管理テーブル２３は、揮発メモリユニット２０ｅではなく、フラッシュメモリユニット２０ｃに記録されているため、サービスプロセッサ２０の電源が一旦落とされても、各イベントに係る動作フラグや完了フラグの状態が消去されることはない。
【０１０３】
このように、第１の実施形態では、各モジュール２１ａ〜２１ｆの有する動作フラグ切替プログラム２１１及び完了フラグ切替プログラム２１２により、イベント発生時の全モジュール２１ａ〜２１ｆの動作設定が、イベント毎に、「動作フラグ」フィールドに記録されるとともに、１つのイベントについてどのモジュールまで処理が完了しているかが、イベント毎に、「完了フラグ」フィールドに記録される。
【０１０４】
また、第１の実施形態では、サービスプロセッサ２０の電源が一旦落とされて再投入されると、図９の未完イベント検出プログラム２４の実行が開始される。未完イベント検出プログラム２４により、サービスプロセッサ２０は、トラブル発生前に既に生じていた各イベントについて、そのイベントの発生時に動作設定が有効であるとともに、そのイベントにおける自モジュールの処理が完了していないモジュールを、検索する（ステップＳ５０２〜Ｓ５０４）。
【０１０５】
そして、サービスプロセッサ２０は、トラブル発生前に既に生じていた各イベントの中から、そのイベントの発生時に動作設定が有効であるとともにそのイベントにおける自モジュールの処理が完了していないモジュールを、検出したときには、そのイベントに係る障害情報とイベントＩＤとを、最先の障害情報受信モジュール２１ａに引き渡して、障害情報受信モジュール２１ａに対して処理の実行開始を指示する。これにより、トラブル発生時に未完であったイベントが、リブート後に再実行され、実行シーケンス上にある各モジュールの処理が開始されることとなる。
【０１０６】
さらに、第１の実施形態では、各モジュール２１ａ〜２１ｆは、直前のモジュールからイベントＩＤを受け取った場合、自モジュールの有するスキップ判定プログラム２１３に従って、そのイベントＩＤの示すイベントについて自モジュールの処理が既に実行済みであるか否かを、判定するようになっている。そして、各モジュール２１ａ〜２１ｆは、そのイベントＩＤの示すイベントについて自モジュールの処理が既に実行済みであった場合には、自モジュールの処理をスキップし、処理が完了した旨を直後のモジュールに通知することができる。
【０１０７】
このように、第１の実施形態では、各モジュール２１ａ〜２１ｆの有するスキップ判定プログラム２１３により、トラブル発生前に未完であったイベントにおいて既に処理が完了しているモジュールは、リブート後の再実行時に自モジュールの処理をスキップする。このため、そのモジュールが、ログ保存モジュール２１ｂや、メール通報モジュール２１ｅや、ＳＮＭＰ通報モジュール２１ｆのように、外部に出力するタイプのモジュールである場合、トラブル発生前に外部に出力した内容と同じ内容を、リブート後の再実行時に重複出力しなくて済むようになる。
【０１０８】
また、第１の実施形態によれば、上流側のモジュールは、処理の完了を通知するため、直後のモジュールに関する情報は持っているが、それより下流側のモジュールに関する情報は持っていない。従って、実行シーケンスに新たなモジュールを追加する場合、管理ソフトウエア２１内の全てのモジュールが有する情報を更新する作業を行わなくても、追加されるモジュールと、追加されるモジュールの前後にあるモジュールとについてだけ、処理完了の通知先の情報を調整すればよい。但し、追加されるモジュールは、動作フラグ切替プログラム２１１、完了フラグ切替プログラム２１２、及び、スキップ判定プログラム
２１３を、含む。
【実施形態２】
【０１０９】
以上に説明した第１の実施形態では、メインフレーム１０の何れかのユニットから障害情報を入力情報として受信するサービスプロセッサ２０は、１台しか存在していなかった。しかし、このようなサービスプロセッサ２０がメインフレーム１０の全ユニットに対して複数接続されたいわゆる冗長構成においても、同様の効果が得られる。第２の実施形態は、サービスプロセッサ２０について冗長構成が採用された実施形態である。
【０１１０】
図１０は、この第２の実施形態のメインフレームシステムの構成図である。
【０１１１】
図１０に示すように、第２の実施形態のメインフレームシステムは、メインフレーム１０と、２台のサービスプロセッサ２０と、管理者端末装置３０とを、備えている。このうち、２台のサービスプロセッサ２０は、それぞれ、図示せぬ専用線を介してメインフレーム１０内の全ユニットと通信自在に接続されている。また、２台のサービスプロセッサ２０は、それぞれ、ネットワークＮを介して管理者端末装置３０と通信自在に接続されている。
【０１１２】
図１１は、第２の実施形態における２台のサービスプロセッサ２０の関係を示す図である。
【０１１３】
第２の実施形態における２台のサービスプロセッサ２０は、何れも、図２のハードウエア構成と同じハードウエア構成を、有している。また、図１１に示すように、管理ソフトウエア２１、動作フラグ管理テーブル２２、イベント管理テーブル２３、及び、未完イベント検出プログラム２４は、２台のサービスプロセッサ２０のどちらにも、記憶されている。つまり、第２の実施形態における２台のサービスプロセッサ２０は、互いに同一のソフトウエア構成を、有している。
【０１１４】
但し、第２の実施形態においては、第１の実施形態とは異なり、２台のサービスプロセッサ２０には、それぞれ、同期プログラム２５が導入されている。同期プログラム２５は、２台のサービスプロセッサ２０に対してそれぞれ主系と従系とを定義するとともに、主系のサービスプロセッサ２０のテーブル２２、２３になされた更新を従系のサービスプロセッサ２０のテーブル２２、２３に反映することによって、双方のテーブル２２、２３の同期を取るためのプログラムである。また、同期プログラム２５は、一方のサービスプロセッサ２０の主電源が切断された場合に、他方のサービスプロセッサ２０を主系として動作させる制御も行う。
【０１１５】
第２の実施形態によると、主系のサービスプロセッサ２０でトラブルが発生して各モジュール２１ａ〜２１ｅの動作が止まってしまった場合でも、トラブル発生時における各イベントの動作フラグの状態と完了フラグの状態は、同期プログラム２５、２５により、従系のサービスプロセッサ２０にも保存されている。従って、トラブルの発生したサービスプロセッサ２０の主電源を切断することによって、トラブルの発生していないサービスプロセッサ２０が主系として動作されるようになった場合に、主系となったサービスプロセッサ２０が図９の未完イベント検出プログラム２４を実行すれば、トラブル発生前に主系で未完となってしまったイベントが、再実行されることとなる。
【実施形態３】
【０１１６】
以上に説明した第２の実施形態では、２台のサービスプロセッサ２０のそれぞれに、同一の動作フラグ管理テーブル２２と同一のイベント管理テーブル２３とが、格納されていて、双方のテーブル２２、２３の内容が、同期するようになっていた。しかし、２台のサ
ービスプロセッサ２０が、１組のテーブル２２、２３を共通に利用する場合でも、同様の効果が得られる。第３の実施形態は、動作フラグ管理テーブル２２とイベント管理テーブル２３とが２台のサービスプロセッサ２０に共通に利用される実施形態である。
【０１１７】
図１２は、第３の実施形態における２台のサービスプロセッサ２０の関係を示す図である。
【０１１８】
図１２に示すように、第３の実施形態では、動作フラグ管理テーブル２２とイベント管理テーブル２３とが、２台のサービスプロセッサ２０が共にアクセス自在に接続されている記憶装置４０に、記録されている。そして、双方のサービスプロセッサ２０の各モジュール２１ａ〜２１ｆは、記憶装置４０内の動作フラグ管理テーブル２２とイベント管理テーブル２３とに、レコードの追加、動作フラグの切り替え、完了フラグの切り替えを行う。
【０１１９】
また、第３の実施形態では、第２の実施形態の同期プログラム２５の代わりに、制御プログラム２６、２６が、２台のサービスプロセッサ２０に導入されている。制御プログラム２６、２６は、２台のサービスプロセッサ２０に対してそれぞれ主系と従系とを定義するとともに、一方のサービスプロセッサ２０の主電源が切断された場合に、他方のサービスプロセッサ２０を主系として動作させるためのプログラムである。
【０１２０】
第３の実施形態によると、主系のサービスプロセッサ２０でトラブルが発生して各モジュール２１ａ〜２１ｅの動作が止まってしまった場合でも、トラブル発生時における各イベントの動作フラグの状態と完了フラグの状態は、記憶装置４０に保存されている。従って、トラブルの発生したサービスプロセッサ２０の主電源を切断することによって、トラブルの発生していないサービスプロセッサ２０が主系として動作されるようになった場合に、主系となったサービスプロセッサ２０が図９の未完イベント検出プログラム２４を実行すると、トラブル発生前に主系で未完となったイベントが、継続されることとなる。
【０１２１】
＜ユニットに関する説明＞
以上に説明した第１乃至第３の実施形態において、サービスプロセッサ２０内のインターフェース装置２０ａ、通信アダプタ２０ｂ、フラッシュメモリユニット２０ｃ、ＣＰＵ２０ｄ、及び、揮発メモリユニット２０ｅは、何れも、ソフトウエア要素とハードウエア要素とから構成されていても良いし、ハードウエア要素のみで構成されていても良い。
【０１２２】
ソフトウエア要素としては、インターフェースプログラム、ドライバプログラム、テーブル、及び、データ、並びに、これらのうちの幾つかを組み合わせたものが、例示できる。これらは、後述のコンピュータ可読媒体に格納されたものであっても良いし、ＲＯＭ［Read Only Memory］及びＬＳＩ［Large Scale Integration］などの記憶装置に固定的に組み込まれたファームウエアであっても良い。
【０１２３】
また、ハードウエア要素としては、ＦＰＧＡ［Field Programmable Gate Array］、ＡＳＩＣ［Application Specific Integrated Circuit］、ゲートアレイ、論理ゲートの組み合わせ、信号処理回路、アナログ回路、及び、その他の回路が、例示できる。このうち、論理ゲートには、ＡＮＤ、ＯＲ、ＮＯＴ、ＮＡＮＤ、ＮＯＲ、フリップフロップ、カウンタ回路などが、含まれていてもよい。また、信号処理回路には、信号値の加算、乗算、除算（反転）、積和演算、微分、積分などを実行する回路要素が、含まれていてもよい。また、アナログ回路には、増幅、加算、乗算、微分、積分などを実行する回路要素が、含まれていてもよい。
【０１２４】
なお、前述したサービスプロセッサ２０内のインターフェース装置２０ａ、通信アダプ
タ２０ｂ、各ユニット２０ｃ〜２０ｅをそれぞれ構成する要素は、以上に例示したものに限定されず、これらと等価な他の要素であっても良い。
【０１２５】
＜ソフトウエア及びプログラムに関する説明＞
以上に説明した第１乃至第３の実施形態において、サービスプロセッサ２０内の管理ソフトウエア２１、この管理ソフトウエア２１を構成する各モジュール（プログラム）、動作フラグ管理テーブル２２、イベント管理テーブル２３、及び、未完イベント検出プログラム２４、並びに、前述したソフトウエア要素は、何れも、ソフトウェア部品、手続き型言語による部品、オブジェクト指向ソフトウェア部品、クラス部品、タスクとして管理される部品、プロセスとして管理される部品、関数、属性、プロシジャ（手続き）、サブルーチン（ソフトウェアルーチン）、プログラムコードの断片又は部分、ドライバ、ファームウェア、マイクロコード、コード、コードセグメント、エクストラセグメント、スタックセグメント、プログラム領域、データ領域、データ、データベース、データ構造、フィールド、レコード、テーブル、マトリックステーブル、配列、変数、パラメータなどの要素を、含んでいても良い。
【０１２６】
また、管理ソフトウエア２１、この管理ソフトウエア２１を構成する各モジュール、動作フラグ管理テーブル２２、イベント管理テーブル２３、及び、未完イベント検出プログラム２４、並びに、前述したソフトウエア要素は、何れも、Ｃ言語、Ｃ＋＋、Ｊａｖａ（米国サンマイクロシステムズ社商標）、ビジュアルベーシック（米国マイクロソフト社商標）、Ｐｅｒｌ、Ｒｕｂｙ、その他の多くのプログラミング言語により記述されたものであっても良い。
【０１２７】
また、管理ソフトウエア２１、この管理ソフトウエア２１を構成する各モジュール、動作フラグ管理テーブル２２、イベント管理テーブル２３、及び、未完イベント検出プログラム２４、並びに、前述したソフトウエア要素に含まれる命令、コード及びデータは、有線ネットワークカード及び有線ネットワークを通じて、又は、無線カード及び無線ネットワークを通じて、コンピュータ、又は、機械若しくは装置に組み込まれたコンピュータに、送信又はローディングされても良い。
【０１２８】
前述した送信又はローディングにおいて、データ信号は、例えば搬送波に組み込まれることにより（embodied as carrier waves）、有線ネットワーク又は無線ネットワーク上を移動する。但し、データ信号は、前述した搬送波に依らず、いわゆるベースバンド信号のまま転送されても良い。このような搬送波は、電気的、磁気的又は電磁的な形態、光、音響、又は、その他の形態で、送信される。
【０１２９】
ここで、有線ネットワーク又は無線ネットワークは、例えば、電話回線、ネットワーク回線、ケーブル（光ケーブル、金属ケーブルを含む）、無線リンク、携帯電話アクセス回線、ＰＨＳ［Personal Handyphone System］網、無線ＬＡＮ［Local Area Network］、Bluetooth（ブルートゥース・ＳＩＧの商標）、車両搭載型無線通信（ＤＳＲＣ［Dedicated
Short Range Communication］を含む）、及び、これらのうちの何れかからなるネットワークである。そして、データ信号は、命令、コード及びデータを含む情報を、ネットワーク上のノード又は要素に、伝達する。
【０１３０】
なお、管理ソフトウエア２１、動作フラグ管理テーブル２２、イベント管理テーブル２３、及び、未完イベント検出プログラム２４、並びに、前述したソフトウエア要素を構成する要素は、以上に例示したものに限定されず、これらと等価な他の要素であっても良い。
【０１３１】
＜コンピュータ可読媒体に関する説明＞
以上に説明した第１乃至第３の実施形態における何れかの機能は、コード化されてコンピュータ可読媒体の記憶領域に格納されていても良い。この場合、その機能を実現するためのプログラムが、コンピュータ可読媒体を介して、コンピュータ、又は、機械若しくは装置に組み込まれたコンピュータに、提供され得る。コンピュータ、又は、機械若しくは装置に組み込まれたコンピュータは、コンピュータ可読媒体の記憶領域からプログラムを読み出してプログラムを実行することによって、その機能を実現することができる。
【０１３２】
ここで、コンピュータ可読媒体とは、電気的、磁気的、光学的、化学的、物理的又は機械的な作用によって、プログラム及びデータ等の情報を蓄積するとともに、コンピュータに読み取られ得る状態でその情報を保持する記録媒体をいう。
【０１３３】
電気的又は磁気的な作用としては、ヒューズによって構成されるＲＯＭ［Read Only Memory］上の素子へのデータの書き込みが、例示できる。磁気的又は物理的な作用としては、紙媒体上の潜像へのトナーの現像が、例示できる。なお、紙媒体に記録された情報は、例えば、光学的に読み取ることができる。光学的且つ化学的な作用としては、基盤上での薄膜形成又は凹凸形成が、例示できる。なお、凹凸の形態で記録された情報は、例えば、光学的に読み取ることができる。化学的な作用としては、基板上での酸化還元反応、又は、半導体基板上での酸化膜形成、窒化膜形成、若しくは、フォトレジスト現像が、例示できる。物理的又は機械的な作用としては、エンボスカードへの凹凸形成、又は、紙媒体へのパンチの穿孔が、例示できる。
【０１３４】
また、コンピュータ可読媒体の中には、コンピュータ、又は、機械若しくは装置に組み込まれたコンピュータに着脱自在に装着できるものがある。着脱自在なコンピュータ可読媒体としては、ＤＶＤ［Digital Versatile Disk］（ＤＶＤ±Ｒ［Recordable］、ＤＶＤ−Ｖｉｄｅｏ、ＤＶＤ−ＲＯＭ［Read Only Memory］、ＤＶＤ−ＲＡＭ［Random Access Memory］、ＨＤ［High Definition］ＤＶＤを含む）、ＢＤ［Blu-ray Disk］（ＢＤ−Ｒ、ＢＤ−ＲＥ［Rewritable］、ＢＤ−ＲＯＭ、ＢＤ−Ｖｉｄｅｏを含む）、ＣＤ［Compact Disk］（ＣＤ−Ｒ、ＣＤ−ＲＷ、ＣＤ−ＲＯＭを含む）、ＭＯ［Magneto Optical］ディスク、その他の光ディスク媒体、フレキシブルディスク、フロッピーディスク（フロッピーは日立製作所社商標）、その他の磁気ディスク媒体、メモリーカード（コンパクトフラッシュ（米国サンディスク社商標）、スマートメディア（東芝社商標）、ＳＤカード（米国サンディスク社、松下電器産業社、東芝社商標）、メモリースティック（ソニー社商標）、ＭＭＣ（米国ジーメンス社、米国サンディスク社商標）など）、磁気テープ、及び、その他のテープ媒体、並びに、これらのうちの何れかを内蔵した記憶装置が、例示できる。記憶装置には、ＤＲＡＭ［Dynamic Random Access Memory］又はＳＲＡＭ［Static Random Access Memory］がさらに内蔵されたものもある。
【０１３５】
また、コンピュータ可読媒体の中には、コンピュータ、又は、機械若しくは装置に組み込まれたコンピュータに固定的に装着されたものがある。この種のコンピュータ可読媒体としては、ハードディスク、ＤＲＡＭ、ＳＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ［Electronically Erasable and Programmable Read Only Memory］、フラッシュメモリなどが、例示できる。
【０１３６】
さらに、コンピュータ可読媒体は、ネットワークを通じて結合されたコンピュータネットワークシステムに内包されるものであっても良い。そのようなシステムに格納された命令、コード及びデータを含む情報は、分散処理環境で実行される。
【０１３７】
以上の第１乃至第３の実施形態に関し、更に以下の付記を開示する。
【０１３８】
（付記１）
所定の実行シーケンスが規定されている２個以上のモジュールに対して処理を実行させるための情報処理装置であって、
前記実行シーケンスにおける最先のモジュールにて発生するイベント毎に、そのイベントを特定する識別情報と、そのイベントについて処理を完了しているモジュールを特定する完了情報とを記憶する記憶部、
前記記憶部内の前記完了情報に基づいて、何れかのモジュールが処理を完了していないイベントを、特定する特定部、及び、
前記特定部が特定したイベントに係る識別情報を前記実行シーケンスにおける最先のモジュールに与えて、前記最先のモジュールに当該イベントに係る処理実行を指示する指示部
を備え、
前記各モジュールが、
何れかの識別情報を受け取った場合に、受け取った識別情報に対応する完了情報を前記記憶部から読み出し、読み出した完了情報に基づいて、自モジュールの処理をスキップするか否かを判定する判定部、及び、
前記判定部が自モジュールの処理をスキップすると判定した場合において、直後のモジュールが存在しているときには、前記直後のモジュールに前記識別情報を引き渡す引渡部
を備える
ことを特徴とする情報処理装置。
【０１３９】
（付記２）
前記完了情報は、各モジュールが処理を完了しているか否かをそれぞれ示す複数の完了フラグからなり、
前記判定部は、前記完了情報における自モジュールに対応する完了フラグの状態に基づいて、自モジュールの処理をスキップするか否かを判定する
ことを特徴とする付記１記載の情報処理装置。
【０１４０】
（付記３）
動作設定が有効又は無効に切替自在であるとともに所定の実行シーケンスが規定されている２個以上のモジュールのうち、前記動作設定が有効であるモジュールに対して処理を実行させるための情報処理装置であって、
前記実行シーケンスにおける最先のモジュールにて発生するイベント毎に、そのイベントを特定する識別情報と、そのイベントが発生した時点における全モジュールの動作設定の状態を特定する動作情報と、そのイベントについて処理を完了しているモジュールを特定する完了情報とを記憶する記憶部、
前記記憶部内の前記動作情報と前記完了情報とに基づいて、前記動作設定が有効であったモジュールのうちの何れかが処理を完了していないイベントを、特定する特定部、及び、
前記特定部が特定したイベントに係る識別情報を前記実行シーケンスにおける最先のモジュールに与えて、前記最先のモジュールに当該イベントに係る処理実行を指示する指示部
を備え、
前記各モジュールが、
何れかの識別情報を受け取った場合に、受け取った識別情報に対応する動作情報及び完了情報を前記記憶部から読み出し、読み出した動作情報及び完了情報に基づいて、自モジュールの処理をスキップするか否かを判定する判定部、及び、
前記判定部が自モジュールの処理をスキップすると判定した場合において、直後のモジュールが存在しているときには、前記直後のモジュールに前記識別情報を引き渡す引渡部
を備える
ことを特徴とする情報処理装置。
【０１４１】
（付記４）
前記動作情報は、各モジュールの動作設定が有効であるか無効であるかをそれぞれ示す複数の動作フラグからなり、
前記完了情報は、各モジュールが処理を完了しているか否かをそれぞれ示す複数の完了フラグからなり、
前記判定部は、前記動作情報における自モジュールに対応する動作フラグの状態と、前記完了情報における自モジュールに対応する完了フラグの状態とに基づいて、自モジュールの処理をスキップするか否かを判定する
ことを特徴とする付記３記載の情報処理装置。
【０１４２】
（付記５）
何れかのモジュールが処理を完了していないイベントの特定は、主電源の投入を契機として行われる
ことを特徴とする付記１乃至４の何れかに記載の情報処理装置。
【０１４３】
（付記６）
所定の実行シーケンスが規定されている２個以上のモジュールに対して処理を実行させるための情報処理方法であって、
コンピュータが、
前記実行シーケンスにおける最先のモジュールにて発生するイベント毎に、そのイベントを特定する識別情報と、そのイベントについて処理を完了しているモジュールを特定する完了情報とを、記憶装置に記憶する記憶手順、
前記記憶装置内の前記完了情報に基づいて、何れかのモジュールが処理を完了していないイベントを、特定する特定手順、及び、
前記特定手順で特定したイベントに係る識別情報を前記実行シーケンスにおける最先のモジュールに与えて、前記最先のモジュールに当該イベントに係る処理実行を指示する指示手順
を実行し、
前記各モジュールが、
何れかの識別情報を受け取った場合に、受け取った識別情報に対応する完了情報を前記記憶装置から読み出し、読み出した完了情報に基づいて、自モジュールの処理をスキップするか否かを判定する判定部、及び、
前記判定部が自モジュールの処理をスキップすると判定した場合において、直後のモジュールが存在しているときには、前記直後のモジュールに前記識別情報を引き渡す引渡部
を備える
ことを特徴とする情報処理方法。
【０１４４】
（付記７）
前記完了情報は、各モジュールが処理を完了しているか否かをそれぞれ示す複数の完了フラグからなり、
前記判定部は、前記完了情報における自モジュールに対応する完了フラグの状態に基づいて、自モジュールの処理をスキップするか否かを判定する
ことを特徴とする付記６記載の情報処理方法。
【０１４５】
（付記８）
動作設定が有効又は無効に切替自在であるとともに所定の実行シーケンスが規定されている２個以上のモジュールのうち、前記動作設定が有効であるモジュールに対して処理を実行させるための情報処理方法であって、
コンピュータが、
前記実行シーケンスにおける最先のモジュールにて発生するイベント毎に、そのイベントを特定する識別情報と、そのイベントが発生した時点における全モジュールの動作設定の状態を特定する動作情報と、そのイベントについて処理を完了しているモジュールを特定する完了情報とを、記憶装置に記憶する記憶手順、
前記記憶装置内の前記動作情報と前記完了情報とに基づいて、前記動作設定が有効であったモジュールのうちの何れかが処理を完了していないイベントを、特定する特定手順、及び、
前記特定手順で特定したイベントに係る識別情報を前記実行シーケンスにおける最先のモジュールに与えて、前記最先のモジュールに当該イベントに係る処理実行を指示する指示手順
を実行し、
前記各モジュールが、
何れかの識別情報を受け取った場合に、受け取った識別情報に対応する動作情報及び完了情報を前記記憶装置から読み出し、読み出した動作情報及び完了情報に基づいて、自モジュールの処理をスキップするか否かを判定する判定部、及び、
前記判定部が自モジュールの処理をスキップすると判定した場合において、直後のモジュールが存在しているときには、前記直後のモジュールに前記識別情報を引き渡す引渡部
を備える
ことを特徴とする情報処理方法。
【０１４６】
（付記９）
前記動作情報は、各モジュールの動作設定が有効であるか無効であるかをそれぞれ示す複数の動作フラグからなり、
前記完了情報は、各モジュールが処理を完了しているか否かをそれぞれ示す複数の完了フラグからなり、
前記判定部は、前記動作情報における自モジュールに対応する動作フラグの状態と、前記完了情報における自モジュールに対応する完了フラグの状態とに基づいて、自モジュールの処理をスキップするか否かを判定する
ことを特徴とする付記８記載の情報処理方法。
【０１４７】
（付記１０）
何れかのモジュールが処理を完了していないイベントの特定は、主電源の投入を契機として行われる
ことを特徴とする付記６乃至９の何れかに記載の情報処理方法。
【０１４８】
（付記１１）
所定の実行シーケンスが規定されている２個以上のモジュールに対して処理を実行させるための情報処理プログラムであって、
コンピュータを、
前記実行シーケンスにおける最先のモジュールにて発生するイベント毎に、そのイベントを特定する識別情報と、そのイベントについて処理を完了しているモジュールを特定する完了情報とを、記憶装置に記憶する記憶手段、
前記記憶装置内の前記完了情報に基づいて、何れかのモジュールが処理を完了していないイベントを、特定する特定手段、及び、
前記特定手段が特定したイベントに係る識別情報を前記実行シーケンスにおける最先のモジュールに与えて、前記最先のモジュールに当該イベントに係る処理実行を指示する指示手段
として機能させ、
前記各モジュールが、
何れかの識別情報を受け取った場合に、受け取った識別情報に対応する完了情報を前記
記憶装置から読み出し、読み出した完了情報に基づいて、自モジュールの処理をスキップするか否かを判定する判定部、及び、
前記判定部が自モジュールの処理をスキップすると判定した場合において、直後のモジュールが存在しているときには、前記直後のモジュールに前記識別情報を引き渡す引渡部
を備える
ことを特徴とする情報処理プログラム。
【０１４９】
（付記１２）
前記完了情報は、各モジュールが処理を完了しているか否かをそれぞれ示す複数の完了フラグからなり、
前記判定部は、前記完了情報における自モジュールに対応する完了フラグの状態に基づいて、自モジュールの処理をスキップするか否かを判定する
ことを特徴とする付記１１記載の情報処理プログラム。
【０１５０】
（付記１３）
動作設定が有効又は無効に切替自在であるとともに所定の実行シーケンスが規定されている２個以上のモジュールのうち、前記動作設定が有効であるモジュールに対して処理を実行させるための情報処理プログラムであって、
コンピュータを、
前記実行シーケンスにおける最先のモジュールにて発生するイベント毎に、そのイベントを特定する識別情報と、そのイベントが発生した時点における全モジュールの動作設定の状態を特定する動作情報と、そのイベントについて処理を完了しているモジュールを特定する完了情報とを、記憶装置に記憶する記憶手段、
前記記憶装置内の前記動作情報と前記完了情報とに基づいて、前記動作設定が有効であったモジュールのうちの何れかが処理を完了していないイベントを、特定する特定手段、及び、
前記特定手段が特定したイベントに係る識別情報を前記実行シーケンスにおける最先のモジュールに与えて、前記最先のモジュールに当該イベントに係る処理実行を指示する指示手段
として機能させ、
前記各モジュールが、
何れかの識別情報を受け取った場合に、受け取った識別情報に対応する動作情報及び完了情報を前記記憶装置から読み出し、読み出した動作情報及び完了情報に基づいて、自モジュールの処理をスキップするか否かを判定する判定部、及び、
前記判定部が自モジュールの処理をスキップすると判定した場合において、直後のモジュールが存在しているときには、前記直後のモジュールに前記識別情報を引き渡す引渡部
を備える
ことを特徴とする情報処理プログラム。
【０１５１】
（付記１４）
前記動作情報は、各モジュールの動作設定が有効であるか無効であるかをそれぞれ示す複数の動作フラグからなり、
前記完了情報は、各モジュールが処理を完了しているか否かをそれぞれ示す複数の完了フラグからなり、
前記判定部は、前記動作情報における自モジュールに対応する動作フラグの状態と、前記完了情報における自モジュールに対応する完了フラグの状態とに基づいて、自モジュールの処理をスキップするか否かを判定する
ことを特徴とする付記１３記載の情報処理プログラム。
【０１５２】
（付記１５）
何れかのモジュールが処理を完了していないイベントの特定は、主電源の投入を契機として行われる
ことを特徴とする付記１１乃至１４の何れかに記載の情報処理プログラム。
【図面の簡単な説明】
【０１５３】
【図１】第１の実施形態のメインフレームシステムの構成図
【図２】サービスプロセッサの構成図
【図３】異常処理系の６個のモジュールの関係を示す図
【図４】動作フラグ管理テーブルのテーブル構造を模式的に示す図
【図５】イベント管理テーブルのテーブル構造を模式的に示す図
【図６】６個のモジュールにおける本実施形態に係る機能を示す図
【図７】イベントＩＤ発行処理の流れを示す図
【図８】スキップ判定処理の流れを示す図
【図９】未完イベント判定処理の流れを示す図
【図１０】第２の実施形態のメインフレームシステムの構成図
【図１１】２台のサービスプロセッサの関係を示す図
【図１２】第３の実施形態における２台のサービスプロセッサの関係を示す図
【符号の説明】
【０１５４】
１０    メインフレーム
２０    サービスプロセッサ
２０ａ  インターフェース装置
２０ｂ  通信アダプタ
２０ｃ  フラッシュメモリユニット
２０ｄ  ＣＰＵ
２０ｅ  揮発メモリユニット
２１    管理ソフトウエア
２１ａ  障害情報受信モジュール
２１ｂ  ログ保存モジュール
２１ｃ  指示分配モジュール
２１ｄ  本体制御モジュール
２１ｅ  メール通報モジュール
２１ｆ  通報モジュール
２１０  発行プログラム
２１１  動作フラグ切替プログラム
２１２  完了フラグ切替プログラム
２１３  スキップ判定プログラム
２２    動作フラグ管理テーブル
２３    イベント管理テーブル
２４    未完イベント判定プログラム
３０    管理者端末装置
４０    記憶装置
【図１】
0005145910.tif 000002
【図２】
0005145910.tif 000003
【図３】
0005145910.tif 000004
【図４】
0005145910.tif 000005
【図５】
0005145910.tif 000006
【図６】
0005145910.tif 000007
【図７】
0005145910.tif 000008
【図８】
0005145910.tif 000009
【図９】
0005145910.tif 000010
【図１０】
0005145910.tif 000011
【図１１】
0005145910.tif 000012
【図１２】
0005145910.tif 000013