(57)【要約】【課題】可用性、信頼性、および保守性を確保したプロセスの起動処理または終了処理を行う。【解決手段】起動終了順序関係定義ファイルに則って起動されたプロセスからの起動完了通知を受け取り、完了を検知すると順序関係を有するプロセスについては次順に定義されたプロセスを起動する。また、起動終了順序関係定義ファイルに則って終了させる予め指定されたプロセスに、終了に先立って必要な処理を実行させる終了準備要求を送り、プロセスから終了準備完了応答を受け取り終了準備完了を検知すると順序関係を有するプロセスについては次順に定義されたプロセスに終了準備要求を送る。【選択図】図１
2008225745.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータで実行されるプロセスの起動および終了の順序を予め定めた起動終了順序関係定義ファイルに則ってプロセスを順次起動または終了を行うプロセス制御装置において、
前記起動終了順序関係定義ファイルに則って起動されたプロセスからの起動完了通知を受け取り、完了を検知すると順序関係を有するプロセスについては次順に定義されたプロセスを起動する起動処理手段と、
前記起動終了順序関係定義ファイルに則って終了させる予め指定されたプロセスに、終了に先立って必要な処理を実行させる終了準備要求を送り、プロセスから終了準備完了応答を受け取り終了準備完了を検知すると順序関係を有するプロセスについては次順に定義されたプロセスに終了準備要求を送る終了処理手段と
を備えたことを特徴とするプロセス制御装置。
【請求項２】
全ての起動対象プロセスからの起動完了通知を受け取った後に予め指定されたプロセスに対してシステム全体の起動完了通知を送る手段を備えた請求項１記載のプロセス制御装置。
【請求項３】
全ての終了対象プロセスからの終了準備完了応答を受け取った後に全ての終了対象プログラムに対し終了要求を送信する手段を備えた請求項１記載のプロセス制御装置。
【請求項４】
起動完了通知にプロセスの異常を示すメッセージが含まれるとき、または、全ての起動対象プロセスからの起動完了通知を所定時間内に受け取れないときには、いずれかのプロセスに異常が発生したと判断する異常検出手段を備えた請求項１記載のプロセス制御装置。
【請求項５】
前記異常検出手段によりいずれかのプロセスに異常が発生したと判断されたときには、前記終了処理手段により終了処理を実行させる手段を備えた請求項４記載のプロセス制御装置。
【請求項６】
前記起動終了順序関係定義ファイルを複数備え、
予め指定された順番に従って複数の前記起動終了順序関係定義ファイルを順次読み込むことにより予め指定された順番に従って所定のグループ単位でのプロセスの起動または終了を実行する手段を備えた
請求項１ないし５のいずれかに記載のプロセス制御装置。
【請求項７】
コンピュータで実行されるプロセスの起動および終了の順序を予め定めた起動終了順序関係定義ファイルに則ってプロセスを順次起動または終了を行うプロセス制御装置が行うプロセス制御方法において、
前記起動終了順序関係定義ファイルに則って起動されたプロセスからの起動完了通知を受け取り、完了を検知すると順序関係を有するプロセスについては次順に定義されたプロセスを起動する起動処理ステップと、
前記起動終了順序関係定義ファイルに則って終了させる予め指定されたプロセスに、終了に先立って必要な処理を実行させる終了準備要求を送り、プロセスから終了準備完了応答を受け取り終了準備完了を検知すると順序関係を有するプロセスについては次順に定義されたプロセスに終了準備要求を送る終了処理ステップと
を実行することを特徴とするプロセス制御方法。
【請求項８】
全ての起動対象プロセスからの起動完了通知を受け取った後に予め指定されたプロセスに対してシステム全体の起動完了通知を送るステップを実行する請求項７記載のプロセス制御方法。
【請求項９】
全ての終了対象プロセスからの終了準備完了応答を受け取った後に全ての終了対象プログラムに対し終了要求を送信するステップを実行する請求項７記載のプロセス制御方法。
【請求項１０】
起動完了通知にプロセスの異常を示すメッセージが含まれるとき、または、全ての起動対象プロセスからの起動完了通知を所定時間内に受け取れないときには、いずれかのプロセスに異常が発生したと判断する異常検出ステップを実行する請求項７記載のプロセス制御方法。
【請求項１１】
前記異常検出ステップによりいずれかのプロセスに異常が発生したと判断されたときには、前記終了処理ステップを実行させる請求項１０記載のプロセス制御方法。
【請求項１２】
予め指定された順番に従って複数の前記起動終了順序関係定義ファイルを順次読み込むことにより予め指定された順番に従って所定のグループ単位でのプロセスの起動または終了を実行するステップを有する請求項７ないし１１のいずれかに記載のプロセス制御方法。
【請求項１３】
請求項１ないし６のいずれかに記載のプロセス制御装置を備えたコンピュータシステム。
【請求項１４】
汎用の情報処理装置にインストールすることにより、その汎用の情報処理装置に、請求項１ないし６のいずれかに記載のプロセス制御装置の機能に相応する機能を実現させるプログラム。
【請求項１５】
汎用の情報処理装置にインストールすることにより、その汎用の情報処理装置に、請求項７ないし１２のいずれかに記載のプロセス制御方法の手順に相応する手順を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムに利用する。特に、プロセスの起動または終了の制御技術に関する。
【背景技術】
【０００２】
コンピュータシステムにおける従来のプロセス起動処理について説明する。従来のプロセス起動処理の方法の一つは、図４のように、プロセス１がプロセス２，３，４を起動する。次にプロセス２，３，４のいずれかがプロセス５を起動する。次にプロセス５がプロセス６，７を起動する。しかしながら、この従来の起動処理においては、次のような課題がある。  
第１の課題は、順序関係を有するプロセスが次のプロセスを起動するため、起動するプロセス全体の順序関係が見にくいということである。
【０００３】
第２の課題は、プロセス２，３，４に依存しているプロセス５はプロセス２，３，４の全てのプロセスの起動完了を待つ必要があるが、３つのプロセスのうちどのプロセスが最も起動処理時間のかかるプロセスであるのかが分からない。そこで、処理時間を計測し、その結果でプロセス５を起動するプロセスを決定する必要があるため、プロセスの追加削除変更が容易にできない。
【０００４】
従来の起動処理のもう一つの方法の一つは、特許文献１の提案のように、起動制御を行う手段がグルーピングなどの手法を用いてプロセスを起動する。しかし、この従来の起動処理においては、次のような課題がある。
【０００５】
第１の課題は、起動前提プロセスが起動完了したことを検知しないので、起動完了するのに十分な時間を設定してタイマを設け、そのタイムアウト後に順序関係を持つ次のプロセスを起動するという方法を取っているため、起動時間に無処理時間が発生し、最短時間での起動処理を行うことができない。
【０００６】
次に、従来の終了処理について説明する。従来の終了処理の方法の一つは、プロセスがすぐにプロセス終了処理をし、プロセス終了要求を受信したプロセスは、他の順序関係を考慮することなくプロセスがそれぞれ終了する。
【０００７】
しかしながら、この従来の終了処理においては、次のような課題がある。プロセスの順序関係を考慮していないため、プロセスが終了前に確実にすべき処理の処理完了保障ができずに終了してしまう場合がある。例えば終了間際に発生した障害情報を確実にログとして記録することが保障できない。
【０００８】
従来の終了処理の方法のもう一つの方法は、プロセス起動順の逆順にプロセスの終了処理を行う方法である。しかしながら、この従来の終了処理においては、次のような課題がある。
【０００９】
第１の課題は、起動時のプロセス順序関係と終了時のプロセス依存関係が同じであるとは限らず、またプロセス順序依存関係の待ち合わせを行わないため、プロセス起動順の逆順を取ることによって、プロセスが終了前に確実の処理しておきたい処理をして終了できるとは限らない。
【００１０】
第２の課題は、プロセス順序依存関係の待ち合わせを行った場合においても、タイマによって順序依存のプロセスの終了処理が完了するための十分な時間を設定しているため、終了処理に無処理時間が発生し、最短時間での終了処理が行うことができない。
【００１１】
【特許文献１】特開２００２−１９６９３９号公報
【特許文献２】特開２００３−２９９８１号公報
【特許文献３】特開２００５−４３９６２号公報
【特許文献４】特開平８−２５５１２１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
前述したように、従来の起動処理では、先に立ち上げる必要のあるプロセスの処理の中に、次に立ち上げるべきプロセスの起動処理を埋め込んでおく必要があった。このため、プロセスの追加または変更に伴う修正工数の増加が懸念され、またシステム全体の起動順序関係が把握しづらいため、保守性を低下させる原因となっていた。
【００１３】
また、前述したように、従来の終了処理では、終了順序を設定せず、無作為に終了処理を実行させていたため、障害発生時など再起動前に確実に重要なログを書き出し、退避させる保証がなく、信頼性を低下させる原因となっていた。
【００１４】
例えば、特許文献１の提案では、起動または終了順序制御において、プロセス起動または終了完了通知がなく、タイマによりプロセスの起動または終了完了待ちを行っている。このタイマ設定はプロセスの起動処理または終了処理が十分に完了する時間を設定する必要があるため、起動または終了時間に必要以上の時間を要し、可用性の低下が懸念される。
【００１５】
また、終了処理では、単純に起動順の逆順にプロセスを終了させるため、障害発生時など再起動前に確実に重要なログを書き出し、退避させる保証がなく、信頼性を低下させる原因となる。
【００１６】
本発明は、このような背景の下に行われたものであって、プロセスの起動終了順序を一元管理し、プロセスの起動時にはプロセス起動完了を確認し、終了時にはプロセス終了前に終了準備処理を行うことにより、可用性、信頼性、および保守性を確保したプロセスの起動処理または終了処理を行うことができるプロセス制御装置および方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明は、コンピュータで実行されるプロセスの起動および終了の順序を予め定めた起動終了順序関係定義ファイルに則ってプロセスを順次起動または終了を行うプロセス制御装置である。
【００１８】
ここで、本発明の特徴とするところは、前記起動終了順序関係定義ファイルに則って起動されたプロセスからの起動完了通知を受け取り、完了を検知すると順序関係を有するプロセスについては次順に定義されたプロセスを起動する起動処理手段と、前記起動終了順序関係定義ファイルに則って終了させる予め指定されたプロセスに、終了に先立って必要な処理を実行させる終了準備要求を送り、プロセスから終了準備完了応答を受け取り終了準備完了を検知すると順序関係を有するプロセスについては次順に定義されたプロセスに終了準備要求を送る終了処理手段とを備えたところにある。
【００１９】
これにより、プロセスの状態を一元管理することができるため、プロセスの追加修正が容易となり保守性を向上させることができる。また、プロセスの終了に先立って終了準備要求を送信するため、ログをディスクに書き出したり、ディスクレスの場合はログの転送処理を行うことができることから、信頼性を向上させることができる。なお、終了準備が不必要なプロセスに対しては終了準備要求を送らないようにすることができるため、処理の効率化を図ることができる。また、起動後にプロセスから起動完了通知を受信することにより、可用性を向上させることができる。
【００２０】
さらに、全ての起動対象プロセスからの起動完了通知を受け取った後に予め指定されたプロセスに対してシステム全体の起動完了通知を送る手段を備えることができる。
【００２１】
これによれば、システム全体の起動完了を確認してからでなければサービスの提供を開始できないプロセスに対し、システム全体の起動完了を通知することができる。また、このような通知が不必要なプロセスに対しては通知を行わないようにすることもできるため、処理の効率化を図ることができる。
【００２２】
さらに、全ての終了対象プロセスからの終了準備完了応答を受け取った後に全ての終了対象プログラムに対し終了要求を送信する手段を備えることができる。
【００２３】
これにより、全ての終了対象プロセスの終了準備が完了した後、一斉にプロセスを終了させることができる。
【００２４】
また、起動完了通知にプロセスの異常を示すメッセージが含まれるとき、または、全ての起動対象プロセスからの起動完了通知を所定時間内に受け取れないときには、いずれかのプロセスに異常が発生したと判断する異常検出手段を備えることができる。さらに、前記異常検出手段によりいずれかのプロセスに異常が発生したと判断されたときには、前記終了処理手段により終了処理を実行させる手段を備えることができる。
【００２５】
これによれば、プロセス制御装置が自動的にプロセスの異常を検出し、プロセスを終了させることができるため、一部のプロセスに異常が発生したままの状態でコンピュータシステムがサービス提供を開始するといった事態を回避することができる。
【００２６】
また、前記起動終了順序関係定義ファイルを複数備え、予め指定された順番に従って複数の前記起動終了順序関係定義ファイルを順次読み込むことにより予め指定された順番に従って所定のグループ単位でのプロセスの起動または終了を実行する手段を備えることもできる。
【００２７】
これによれば、複数のプロセスがグループ化されている場合には、そのグループ単位にプロセスの起動または終了を制御することができる。
【００２８】
また、本発明をプロセス制御方法としての観点から観ることもできる。すなわち、本発明は、コンピュータで実行されるプロセスの起動および終了の順序を予め定めた起動終了順序関係定義ファイルに則ってプロセスを順次起動または終了を行うプロセス制御装置が行うプロセス制御方法である。
【００２９】
ここで、本発明の特徴とするところは、前記起動終了順序関係定義ファイルに則って起動されたプロセスからの起動完了通知を受け取り、完了を検知すると順序関係を有するプロセスについては次順に定義されたプロセスを起動する起動処理ステップと、前記起動終了順序関係定義ファイルに則って終了させる予め指定されたプロセスに、終了に先立って必要な処理を実行させる終了準備要求を送り、プロセスから終了準備完了応答を受け取り終了準備完了を検知すると順序関係を有するプロセスについては次順に定義されたプロセスに終了準備要求を送る終了処理ステップとを実行するところにある。
【００３０】
さらに、全ての起動対象プロセスからの起動完了通知を受け取った後に予め指定されたプロセスに対してシステム全体の起動完了通知を送るステップを実行することができる。
【００３１】
さらに、全ての終了対象プロセスからの終了準備完了応答を受け取った後に全ての終了対象プログラムに対し終了要求を送信するステップを実行することができる。
【００３２】
また、起動完了通知にプロセスの異常を示すメッセージが含まれるとき、または、全ての起動対象プロセスからの起動完了通知を所定時間内に受け取れないときには、いずれかのプロセスに異常が発生したと判断する異常検出ステップを実行することができる。さらに、前記異常検出ステップによりいずれかのプロセスに異常が発生したと判断されたときには、前記終了処理ステップを実行させることができる。
【００３３】
また、予め指定された順番に従って複数の前記起動終了順序関係定義ファイルを順次読み込むことにより予め指定された順番に従って所定のグループ単位でのプロセスの起動または終了を実行するステップを有することもできる。
【００３４】
また、本発明を、本発明のプロセス制御装置を備えたコンピュータシステムとしての観点から観ることもできる。
【００３５】
また、本発明をプログラムの観点から観ることもできる。すなわち、本発明は、汎用の情報処理装置にインストールすることにより、その汎用の情報処理装置に、本発明のプロセス制御装置の機能に相応する機能を実現させるプログラムである。あるいは、本発明は、汎用の情報処理装置にインストールすることにより、その汎用の情報処理装置に、本発明のプロセス制御方法の手順に相応する手順を実行させるプログラムである。
【００３６】
本発明のプログラムは記録媒体に記録されることにより、前記汎用の情報処理装置は、この記録媒体を用いて本発明のプログラムをインストールすることができる。あるいは、本発明のプログラムを保持するサーバからネットワークを介して直接前記汎用の情報処理装置に本発明のプログラムをインストールすることもできる。
【００３７】
これにより、汎用の情報処理装置を用いて、本発明のプロセス制御装置の機能に相応する機能を実現させ、本発明のプロセス制御方法を実行させることができる。
【００３８】
なお、本発明のプログラムは、汎用の情報処理装置によって直接実行可能なものだけでなく、ハードディスクなどにインストールすることによって実行可能となるものも含む。また、圧縮されたり、暗号化されたりしたものも含む。
【発明の効果】
【００３９】
本発明の第１の効果は順序関係のあるプロセスの起動処理または終了処理にはプロセスの起動完了待ち、または、再開準備完了応答待ちを行い、受信後にすぐに順序関係プロセスの起動処理または終了処理を行っているので、起動または終了の時間の短縮を図ることができ、可用性を向上させることができることである。
【００４０】
第２の効果はシステムの終了時に、プロセス終了の前に終了準備処理をするので、障害情報の書き出しと退避など、重要な処理を確実に実行することができ、信頼性を向上させることができることである。
【００４１】
第３の効果はプロセスの順序関係を一元管理しているので、プロセスの順序関係が理解しやすく、プロセスの追加または変更において、プロセスの起動処理または終了処理の順序関係の変更を容易に行うことができ、保守性を向上させることができることである。
【発明を実施するための最良の形態】
【００４２】
本発明実施例を図１ないし図８を参照して説明する。図１は本実施例のプロセス制御装置の構成図である。図１において、プロセスの起動または終了順序関係を起動終了順序関係定義ファイル１２に記述し、起動終了処理制御部１１が起動処理または終了処理の完了状態を一元管理することにより保守性を向上させる。
【００４３】
また、起動処理においては、プロセス起動後にプロセスからプロセス起動完了通知を受信することにより、起動または終了時間を短縮する。終了処理においては、プロセスを終了する前に終了準備処理を行うことにより、システム終了前の処理を確実に実行して信頼性を向上させる。
【００４４】
すなわち、本実施例のプロセス制御装置は、通信システムのソフトウエアの起動処理または終了処理において、プロセスの起動処理および終了処理の順序制御を容易にし、起動処理または終了処理の時間短縮および保守性および信頼性の向上を図ることができることを特徴としている。  
図１において、起動終了処理制御部１１とプロセスとの関連を示している。起動終了処理制御部１１は、起動処理２１および終了処理２２を含んで構成される。起動終了順序関係定義ファイル１２（以下、定義ファイル１２と略記する）を用いて、起動時および終了時のプロセスの順序関係を定義する。
【００４５】
起動処理２１は、定義ファイル１２を読み込み、起動順序を制御しながら、定義ファイル１２に記述されている全プロセスの起動処理を行う。全プロセスの起動完了後に、システム起動完了通知を要求するプロセスへシステム起動完了通知を送信する。
【００４６】
また、プロセスの起動処理に異常が発生した場合には、起動処理２１はプロセス起動完了通知にて異常を検知する。また、プロセス起動完了通知がタイマ設定時間内に届かない場合においてもそのプロセスに異常が発生したと判断する。異常を検知した場合には、終了処理２２に処理を引き渡し、再起動を行う。
【００４７】
終了処理２２は、システム終了時の一連の終了処理を管理する。障害発生等による再起動要求を他プロセスから受信した際、または、コマンドで再起動要求を受け付けた際に、定義ファイル１２を読み込み、終了順序を制御しながらまずプロセスの終了準備処理を行い、その後プロセスを終了させる。終了準備処理では、終了準備処理を必要としているプロセスに対して終了準備要求を行い、終了準備処理完了後、プロセスから終了準備完了応答を受信する。
【００４８】
このように、本実施例では、プロセス起動完了通知の受信および起動時の迅速なプロセス異常検知により、起動処理および終了処理の時間短縮による可用性の向上、終了準備処理の実施による信頼性の向上、順序関係の定義ファイルを用いた一元管理による保守性の向上を提供することができる。
【００４９】
次に、定義ファイル１２の設定例を図２を参照して説明する。図２は定義ファイル１２の設定例を示す図である。定義ファイル１２は、プロセス名、起動前提プロセス、システム起動完了通知、終了準備要求、および、終了準備完了応答待ちの５つから構成される。
・プロセス名欄には、起動すべきプロセス名（ｐｒｏｃ１、ｐｒｏｃ２、…）を起動順に記述する。
・起動前提プロセス欄には、プロセス名に記述したプロセスを起動する前に起動が完了している必要があるプロセス名を記述する。複数ある場合には、カンマを使用して複数プロセス名を記述する。起動前提プロセスがない場合には、“０”を記述する。
・システム起動完了通知欄には、定義ファイル１２に記述されている全プロセスが起動完了後、システム起動完了通知を受信したい場合に、該当プロセス名の行に“１”を記述する。システム起動完了通知が不要の場合には“０”を記述する。これを契機に各プロセスはサービスを開始する。
・終了準備要求欄には、終了処理２２が終了処理を行う際に、初めに終了準備処理を実行するので、該当プロセスが終了準備の必要がある場合に“１”を記述する。終了準備要求が不要の場合には“０”を記述する。
・終了準備完了応答待ち欄には、該当プロセスが終了準備要求が必要な場合で、且つその終了準備要求を、他のプロセスの終了準備完了応答後に受信したい場合に、そのプロセス名を記述する。他のプロセスの終了準備完了応答待ちをする必要がない場合は“０”を記述する。終了処理の終了準備処理においては、初めに終了準備要求欄が“１”、且つ終了準備完了応答待ち欄が“０”のプロセスに対して、最後尾のプロセスから順番に終了準備要求を送信する。
【００５０】
このように、プロセスの定義ファイル１２を記述することで、起動終了処理制御１１は起動処理または終了処理を本ファイルで一元管理することができ、保守性を向上させることができる。
【００５１】
起動処理においては、起動終了処理制御部１１はプロセスが起動完了後にすぐにプロセス起動完了通知を受信することで、無駄な待ち時間がなくなり、起動時間の短縮を図ることができる。終了処理においては、初めに終了準備処理をすることで、プロセスは、いつでも終了できるスタンバイ状態に移行させることができる。この終了準備処理では、例えば、ログ、アラームなどの障害情報をハードディスクに書き出すことが可能になる。
【００５２】
または、ディスクレスの場合には、これらのログ情報を遠隔先に転送することで、再起動前の障害情報を確実に取得することが可能になり、信頼性を向上させることができる。
【００５３】
また、起動終了処理制御部１１は終了準備処理完了後にすぐに終了準備完了応答を受信することで、無駄な待ち時間がなくなる。さらに終了準備要求を必要としないプロセスにはその要求をしないことで、無駄な処理を行わずに終了処理を行うことができるため、終了時間の短縮を図ることができる。
【００５４】
次に、本実施例のプロセス制御装置の動作を図３ないし図８を参照して説明する。はじめに、起動処理２１の動作手順を図３を参照して説明する。図３は起動処理２１の動作手順を示すフローチャートである。
・システム起動時に、起動終了処理制御部１１が起動されると、起動処理２１は定義ファイル１２の読み込みを開始する（ステップＡ１）。
・起動処理２１は、定義ファイル１２の最初のプロセスを起動する（ステップＡ２）。
・定義ファイル１２から、次のプロセスが存在するかどうかの確認を行い（ステップＡ３）、存在する場合には、次のプロセスの順序関係の確認を行うために、定義ファイル１２の起動前提プロセス欄からプロセス名の記述の確認を行う。（ステップＡ４）。
・順序関係がある場合には、順序関係プロセスの起動完了待ちをする（ステップＡ５）。起動処理２１が期待するプロセス起動完了通知を受信すると、次のプロセスの起動を行う（ステップＡ２）。
・このようにして定義ファイル１２に記述されている全プロセスの起動が終わると、起動したプロセス全てのプロセス起動完了通知の受信待ちを行う（ステップＡ６）。
・全プロセスのプロセス起動完了通知を受信すると、定義ファイル１２のシステム起動完了通知欄が“１”のプロセスにシステム起動完了通知を送信する（ステップＡ７）。システム起動完了通知を受信したプロセスは、これを契機に必要なサービスの提供を開始する。
・プロセスの起動処理中に異常が発生した場合には、起動処理２１はプロセス起動完了通知のメッセージを解読した際に異常を検知する。またプロセス起動完了通知がタイマ設定時間内に届かない場合においてもそのプロセスに異常が発生したと判断する。異常を検知した場合には、終了処理２２に処理を引き渡し（ステップＡ８）、再起動を行う。
【００５５】
次に、具体的な実施例について図４および図５を用いて説明する。図４はプロセス１〜７の順序関係の例を示す図である。図４では、プロセス２，３，４はプロセス１に依存し、プロセス１の起動完了後に起動処理２１はプロセス２，３，４を起動させる必要がある。また、プロセス５はプロセス２，３，４に依存し、起動処理２１はプロセス２，３，４の３つが起動完了した後にプロセス５を起動させる必要がある。プロセス６，７はプロセス５と順序関係があり、起動処理２１はプロセス５の起動完了後にプロセス６，７を起動させる必要がある。
【００５６】
図４の順序関係は図２の定義ファイル１２を作成することで、起動処理２１の制御を可能にする。今、プロセス１と定義ファイル１２のｐｒｏｃ１は同じものとする。同様に、プロセス２からプロセス７のそれぞれにおいても、ｐｒｏｃ２からｐｒｏｃ７のそれぞれと同じものとする。
【００５７】
図４の順序関係における起動処理２１の処理の流れを図５に示している。起動処理２１は定義ファイル１２を参照し、記述順にプロセス起動処理を行う。
・起動処理２１は、まずプロセス１を起動する。
・プロセス１は起動完了後、起動処理２１にプロセス起動完了通知を送信する。
・起動処理２１は、プロセス起動完了通知受信を契機に次にプロセス２，３，４を順に起動処理する。これら３つのプロセス２，３，４はお互いに順序関係を持たないため、起動処理２１はお互いのプロセス起動完了通知を待たずにプロセス２，３，４を起動する。
・次にプロセス５は、プロセス２，３，４と順序関係があるため、起動処理２１は、プロセス２，３，４の全てのプロセス起動完了通知待ちを行う。起動処理２１はプロセス２，３，４の３つのプロセスのプロセス起動完了通知を受信すると、プロセス５の起動処理を行う。
・プロセス５が起動処理２１にプロセス起動完了通知を送信すると、起動処理２１はプロセス６，７を順に起動する。これら２つのプロセス６，７はお互いに依存関係を持たないため、起動処理２１はお互いのプロセス起動完了通知を待たずにプロセス６，７を起動する。
【００５８】
次に、終了処理２２の動作手順を図６を参照して説明する。図６は終了処理２２の動作手順を示すフローチャートである。
・システム終了時に終了処理２２が再起動要求を受信すると、終了処理２２は定義ファイル１２の読み込みを開始する（ステップＢ１）。
・終了処理２２は、定義ファイル１２に記述されている最後尾のプロセスから順に、終了準備要求欄が“１”、且つ終了準備完了応答待ち欄が“０”のプロセス全てに対し終了準備要求を送信する（ステップＢ２）。
・終了処理２２は、終了準備要求を送信したプロセスからの終了準備完了応答待ちを行う（ステップＢ３）。
・終了処理２２は、終了準備要求を送信したプロセスの一つから、終了準備完了応答を受信すると、定義ファイル１２の終了準備要求欄が１のプロセス全てから終了準備完了応答を受信できたか否かを確認し（ステップＢ４）、全て受信できていないとき、終了処理２２は、受信した終了準備完了応答を待っているプロセスがあるか否かを確認する（ステップＢ５）。該当プロセスがない場合には、未着のプロセス終了準備完了応答待ちを行う。
・受信した終了準備完了応答を待っているプロセスがある場合には、該当プロセスが他にも終了準備完了応答待ちをする必要があるか否かを確認し、待つ必要がある場合には終了準備完了応答を再度待つ。待つ必要がない場合にはそのプロセスに終了準備要求を送信し（ステップＢ６）、プロセスの終了準備完了応答待ちを行う。
・終了処理２２は、ステップＢ３からＢ６の処理を繰り返し、ステップＢ４で定義ファイル１２の終了準備要求欄が“１”になっている全プロセスから終了準備完了応答を受信したことが確認できると、定義ファイル１２に記述されている最後尾のプロセスから順に、各プロセスにプロセス終了要求を送信し（ステップＢ７）、各プロセスを終了させる。
【００５９】
次に、具体的な終了処理の実施例について図７および図８を参照して説明する。図７はプロセス１〜７の順序関係の例を示す図である。図７では、プロセス５はプロセス６に依存し、プロセス３はプロセス４に依存し、プロセス１はプロセス２，３，５に依存している。このため、終了処理２２は、プロセス６の終了準備処理完了後にプロセス５の終了準備処理を行い、プロセス４の終了準備処理完了後にプロセス３の終了準備処理を行い、プロセス２，３，５の終了準備処理完了後にプロセス１の終了準備処理を行う必要がある。
【００６０】
図７の順序関係は図２の定義ファイル１２を作成することで、終了処理２２の制御を可能にする。今、プロセス１と定義ファイル１２のｐｒｏｃ１は同じものとする。同様に、プロセス２からプロセス７のそれぞれにおいても、ｐｒｏｃ２からｐｒｏｃ７のそれぞれと同じものとする。
【００６１】
図７の順序関係における終了処理２２の処理の流れを図８を参照して説明する。図８は図７の順序関係における終了処理２２の処理の流れを示す図である。終了処理２２は定義ファイル１２参照し、最後尾のプロセスから処理を行う。
・図２の定義ファイル１２のプロセス７の終了準備要求欄は“０”のため、プロセス７は終了準備要求を必要としないプロセスである。終了処理２２はプロセス７の終了準備処理をスキップする。
・プロセス６の終了準備要求欄は“１”のため、プロセスは終了準備要求を必要としているプロセスである。また、同行の終了準備完了応答待ち欄は“０”であるため、順序関係がないことがわかり、終了処理２２は、プロセス６に終了準備要求を送信する。
・終了処理２２は同様に定義ファイル１２を上方に読み、プロセス４およびプロセス２の順に終了準備要求を送信する。
・終了処理２２は、プロセス６，４，２からの終了準備完了応答の受信待ちを行う。
・終了処理２２は、プロセス６からの終了準備完了応答を受信すると、定義ファイル１２でプロセス６の終了準備完了応答待ちしているプロセスがあるか否かの検索を行う。終了処理２２は検索の結果、プロセス５がプロセス６の終了準備完了応答待ちしていると判断する。そして、終了処理２２はプロセス５に終了準備要求を送信し、プロセス２，４，５からの終了準備完了応答の受信待ちを行う。
・終了処理２２は、プロセス２からの終了準備完了応答を受信すると、同様に定義ファイル１２でプロセス２の終了準備完了応答待ちしているプロセスがあるか否かの検索を行う。終了処理２２は検索の結果、プロセス１がプロセス２の終了準備完了応答待ちしていると判断する。しかし、プロセス１はプロセス４およびプロセス５からの終了準備完了応答待ちをしているため、終了処理２２は何も処理をせずに、プロセス４，５からの終了準備完了応答の受信待ちを行う。
・終了処理２２は、プロセス４からの終了準備完了応答を受信すると、同様に定義ファイル１２でプロセス４の終了準備完了応答待ちしているプロセスがあるか否かの検索を行う。終了処理２２は検索の結果、プロセス１とプロセス３がプロセス４の終了準備完了応答待ちしていると判断する。しかしプロセス１はプロセス５からの終了準備完了応答待ちをしているため、終了処理２２はプロセス３のみに終了準備要求を送信し、プロセス３，５からの終了準備完了応答の受信待ちを行う。
・終了処理２２は、プロセス４からの終了準備完了応答を受信すると、同様に定義ファイル１２でプロセス５の終了準備完了応答待ちしているプロセスがあるか否かの検索を行う。終了処理２２は検索の結果、プロセス１がプロセス５の終了準備完了応答待ちしていると判断する。プロセス１が終了準備完了応答待ちをしているプロセス２，４，５全てのプロセスから終了準備完了応答が終了処理２２に届いたため、プロセス１に対しても終了準備要求を送信し、プロセス１，３からの終了準備完了応答の受信待ちを行う。
・終了処理２２は、プロセス１からの終了準備完了応答を受信すると、同様に定義ファイル１２でプロセス１の終了準備完了応答待ちしているプロセスがあるか否かの検索を行う。終了処理２２は検索の結果、該当プロセスがないため、終了処理２２は何も処理をせずに、プロセス３からの終了準備完了応答の受信待ちを行う。
・終了処理２２は、プロセス３からの終了準備完了応答を受信すると、終了準備要求を送信した全プロセスからの終了準備完了応答を受信したと判断し、全プロセスに対し、プロセス７からプロセス１までプロセス終了要求を行い、プロセスを終了させる。
【００６２】
（他の実施例）
本発明の他の実施例として、その基本的構成は上記の通りであるが、定義ファイル１２を複数持たせて、起動終了処理制御部１１の複数の定義ファイル１２の読み込み順を決定することで、定義ファイル１２ごとのグルーピングを行うことができる。このグルーピングによりグループ単位での再起動を実施することができるようになる。
【産業上の利用可能性】
【００６３】
本発明は、プロセスの起動または終了時間の短縮を図り、可用性を向上させることに利用できる。また、プロセス終了の前に終了準備処理をするので、信頼性を向上させることに利用できる。また、プロセスの追加または変更において、プロセス起動または終了の順序関係の変更を容易に行うことができ、保守性の向上に利用できる。
【図面の簡単な説明】
【００６４】
【図１】本実施例のプロセス制御装置のブロック構成図。
【図２】起動終了順序関係定義ファイルの一例を示す図。
【図３】起動処理の手順を示すフローチャート。
【図４】起動処理におけるプロセス１〜７の順序関係の例を示す図。
【図５】図４の順序関係における起動処理の流れを示す図。
【図６】終了処理の手順を示すフローチャート。
【図７】終了処理におけるプロセス１〜７の順序関係の例を示す図。
【図８】図７の順序関係における終了処理の流れを示す図。
【符号の説明】
【００６５】
１〜７  プロセス
１１  起動終了処理制御部
１２  起動終了順序関係定義ファイル
２１  起動処理
２２  終了処理
３１  終了準備処理
Ａ１〜Ａ８、Ｂ１〜Ｂ７  ステップ
【図１】
2008225745.tif 000003
【図２】
2008225745.tif 000004
【図３】
2008225745.tif 000005
【図４】
2008225745.tif 000006
【図５】
2008225745.tif 000007
【図６】
2008225745.tif 000008
【図７】
2008225745.tif 000009
【図８】
2008225745.tif 000010