(57)【要約】  シーケンステーブルに登録されている処理シーケンスを、処理シーケンスの１処理ごとに作成されるシーケンスコードに基づいて実行する情報処理装置が提供される。シーケンスコードは、シーケンステーブルを指定する処理種別と、制御対象を指定する制御対象と、指定された処理シーケンス中の１処理を指定する処理番号とを含む。
2007097031.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御対象と、
少なくとも１つの前記制御対象に対する制御を実行する制御部とを備え、
前記制御部は、
処理シーケンスを登録した複数のシーケンステーブルと、
制御対象を指定する制御対象情報と、シーケンステーブルを指定する処理種別情報と、指定された処理シーケンス中の１処理を指定する処理番号情報とを有するシーケンスコードを作成するシーケンスコード作成手段と、
作成されたシーケンスコードを記憶するメモリと
を有することを特徴とする情報処理装置。
【請求項２】
前記シーケンスコードは、前記処理シーケンス中の１処理の終了後は、前記処理番号情報を更新することによって作成されることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項３】
前記シーケンスコードは、さらに一意に決定する番号を含むことを特徴とする請求項１〜４いずれか１項に記載の情報処理装置。
【請求項４】
前記制御部は２重化され、予備制御部を備えていることを特徴とする請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項５】
制御対象を指定する制御対象情報と、処理シーケンスを格納したシーケンステーブルを指定する処理種別情報と、指定された処理シーケンスの１つの処理を指定する処理番号情報とを有するシーケンスコードを作成するステップと、
作成されたシーケンスコードをメモリに格納するステップと、
前記シーケンスコードに基づいて、指定された制御対象に対して、指定されたシーケンステーブルの指定された処理番号の処理を実行するステップと、
該処理の実行後、前記メモリに格納されたシーケンスコードを更新するステップと
を有することを特徴とする処理実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の制御対象を制御する制御機構を有する情報処理装置、さらに複数の制御対象を制御する処理の実行方法に関する。
【背景技術】
【０００２】
通常サーバを有する情報処理システムは、システム全体を制御監視するシステム制御機構（ＳＣＦ：System Control Faculty）をサーバに備え、ユーザによる電源オンや電源オフの要求に対応して、所定の処理を行っている。従来は、このような処理のためのシーケンスを、ＳＣＦが実行する制御プログラムとして用意していた。したがって、処理シーケンスの一部が変更されると、この制御プログラムを作成し直さなければならなかった。しかしながら、一般に、制御プログラムの変更は困難で、変更後の制御プログラムは複雑なものになるという欠点があった。【０００３】
また、従来の制御では、処理シーケンスの進行状況を、システムのステータスから判断していた。したがって、ＳＣＦのリブートが発生した場合の再開処理、あるいは複数の処理シーケンスを同時に実行させるような並列処理の管理が困難であった。さらには、ＳＣＦを二重化しているシステムでは、ＳＣＦの切替後に処理シーケンスを再開する場合、同様の問題があり、どの処理を実行するかの判断が困難であった。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、上記問題点に鑑み、シーケンスコードとシーケンステーブルを用いて処理を実行することにより、処理シーケンスの変更に容易に対応でき、さらには、複数の処理シーケンスの並列実行、あるいはＳＣＦ異常による処理の中断からの再開等が可能な情報処理装置及び処理実行方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明による情報処理装置は、複数の制御対象と、少なくとも１つの前記制御対象に対する制御を実行する制御部とを備え、前記制御部は、処理シーケンスを登録した複数のシーケンステーブルと、制御対象を指定する制御対象情報と、シーケンステーブルを指定する処理種別情報と、指定された処理シーケンス中の１処理を指定する処理番号情報とを有するシーケンスコードを作成するシーケンスコード作成手段と、作成されたシーケンスコードを記憶するメモリとを有することを特徴とする。【０００６】
前記シーケンスコードは、前記処理シーケンス中の１処理の終了後は、前記処理番号情報を更新することによって作成されることができる。また、前記シーケンスコードは、一意に決定する番号を含むようにしてもよい。【０００７】
さらに、前記制御部は２重化され、予備制御部を備えるようにすることもできる。【０００８】
また、本発明による処理実行方法は、制御対象を指定する制御対象情報と、処理シーケンスを格納したシーケンステーブルを指定する処理種別情報と、指定された処理シーケンスの１つの処理を指定する処理番号情報とを有するシーケンスコードを作成するステップと、作成されたシーケンスコードをメモリに格納するステップと、前記シーケンスコードに基づいて、指定された制御対象に対して、指定されたシーケンステーブルの指定された処理番号の処理を実行するステップと、該処理の実行後、前記メモリに格納されたシーケンスコードを更新するステップとを有することを特徴とする。
【発明の効果】
【０００９】
本発明の情報処理装置によると、処理シーケンスをシーケンステーブルとして用意しているので、処理シーケンスの変更は、シーケンステーブルの変更のみで対応できる。【００１０】
また、要求される処理シーケンスの１処理ごとに、シーケンスコードが作成されるので、複数の並列実行が可能となる。さらに、作成されたシーケンスコードは、メモリに記憶されるので、制御部の異常により処理シーケンスが中断しても再開時に処理を継続して実行できる。制御部が２重化されている場合には、制御部の切り替えがあっても、処理シーケンスを引き継ぐことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の１実施形態であるＳＣＦ一重化装置の概要を示す図である。
【図２】本発明の他の実施形態であるＳＣＦ二重化装置の概要を示す図である。
【図３】本発明の１実施形態のシーケンスコードの構造を示す図である。
【図４】本発明の１実施形態の電源投入処理シーケンステーブルを示す図である。
【図５】本発明の１実施形態のリセット処理シーケンステーブルを示す図である。
【図６】本発明の１実施形態の電源切断処理シーケンステーブルを示す図である。
【図７】本発明の１実施形態による処理を説明する動作フロー（その１）を示す図である。
【図８】本発明の１実施形態による処理を説明する動作フロー（その２）を示す図である。
【図９】本発明の１実施形態によるシーケンスコードの遷移（その１）を示す図である。
【図１０】本発明の１実施形態によるシーケンスコードの遷移（その２）を示す図である。
【図１１】本発明の１実施形態で、リブートあるいは２重化切替えが発生した場合の動作フローを示す図である。
【図１２】本発明の１実施形態による並列処理を説明する図（その１）である。
【図１３】本発明の１実施形態による並列処理を説明する図（その２）である。
【図１４】本発明の１実施形態の処理手順を変更したシーケンステーブルの一例を示す図である。
【発明を実施するための最良の形態】
【００１２】
図１に、本発明の一実施形態の装置であるＳＣＦ一重化サーバ装置１０の概要を示す。ＳＣＦ一重化サーバ装置１０は、システム全体を制御監視する単一のシステム制御機構（ＳＣＦ）１１を備えている。ＳＣＦ１１は、制御を実行するＣＰＵ１２とともに、必要な情報を保持する不揮発性のメモリ１３を有している。また、ＳＣＦ一重化サーバ装置１０は、ＣＰＵ、メモリなどが搭載されたボードであるシステムボード♯１〜♯ＭをＭ個備えている。ドメイン♯１〜♯Ｎは、１以上のシステムボードからなる論理単位であり、ＳＣＦ１１の制御対象である。図1では、ドメイン♯１は、システムボード♯１からなり、ドメイン♯２は、２つのシステムボード♯２と♯３とからなる。【００１３】
図２には、本発明の他の実施形態であるＳＣＦ二重化サーバ装置２０の概要を示す。ＳＣＦ二重化サーバ装置２０は、図１のＳＣＦ一重化サーバ装置のＳＣＦ１１に加えて、同一の機能をもち同一の制御が可能なＳＣＦ２１を備え、ＳＣＦを二重化している点で異なる。その他の点では、ＳＣＦ一重化サーバ装置と同様である。ＳＣＦ２１は、ＣＰＵ２２と不揮発性のメモリ２３とを備え、ＳＣＦ１１と同一のドメイン♯１〜♯Ｍを制御対象として、ＳＣＦ１１と同一の処理を実行することができる。ＳＣＦ１１の異常時には、ＳＣＦ２１がＳＣＦ１１に代わって、システム全体を制御する。【００１４】
本実施形態では、処理ステップごとにシーケンスコードが作成され、ＳＣＦのメモリに格納されるとともに、作成されたシーケンスコードにより、メモリに予め格納されたシーケンステーブルを参照して、シーケンステーブルで規定された処理を実行する。図３に、本実施形態のシーケンスコードの構造の一例を示し、図４〜６に、シーケンスコードにより参照されるシーケンステーブルの構造の一例を示す。【００１５】
図３に示すように、シーケンスコード３０は、処理種別３１、制御対象３２、処理番号３３、一意に決まる番号３４のセットである。【００１６】
処理種別３１には、当該処理シーケンスで実行する処理の種別を示す情報が格納される。処理種別３１には、例えば、電源投入処理には「１」、リセット処理には「２」、電源切断処理には「３」などの数値が格納される。この処理種別３１によって、ユーザ等により要求される処理を実行するためのシーケンステーブルを指定することができる。【００１７】
制御対象３２には、当該処理シーケンスで制御する制御対象を指定する情報が格納される。制御対象がドメインであれば、制御対象３２としてはドメイン番号が指定される。【００１８】
処理番号３２には、処理種別３１で指定されたシーケンステーブルの処理の順番を示す番号が格納される。処理番号３２により、どの処理を実行するかあるいは実行中であるかがわかる。【００１９】
一意に決まる番号３４は、他のシーケンスコードと重複することのない数であり、多数の処理シーケンスが同時に実行される場合でも重複することがない数が格納される。この一意の番号は、例えば、十分に大きな値をループする変数値をインクリメントして作成することができる。【００２０】
ドメイン２に対して電源投入処理が要求された場合に最初に作成されるシーケンスコードの一例を、以下に示す。処理種別が電源投入であるので、処理種別３１は「１」とし、制御対象はドメイン２であるから、制御対象３２は「２」とする。また、処理番号３２は、シーケンステーブルの先頭を示す「０」が与えられ、さらに一意の番号３４を、３５とすると、最初に作成されるシーケンスコードは、（１，２，０，３５）となる。【００２１】
なお、同一の制御対象に同一の処理がほぼ同時に与えられることは想定することは困難であるから、一意に決まる番号を付加しなくとも、作成されるシーケンスコードは、一意的であるともいえるが、安全を見込んで一意に決まる番号を付加している。【００２２】
図４〜６に示すシーケンステーブルは、実行すべき処理のシーケンスが、テーブルの形式でメモリに格納されているもので、図４は、電源投入処理シーケンステーブルを示し、図５は、リセット処理シーケンステーブルを示し、図６は、電源切断処理テーブルを示す。各シーケンステーブルは、処理の順序を指定する処理番号に対して、実行される処理を指示する実行処理と、当該処理が実行されたか否かをチェックして、次ぎの処理を継続して実行できるか否かの判定を指示する継続判定処理と、継続判定処理の結果次ぎの処理に進めないと判定された場合に実行する処理を指示する異常処理とが定義されている。【００２３】
図４の電源投入処理シーケンステーブルを参照すると、電源投入のための処理番号０の処理として、システムボードの電源投入処理が規定され、処理番号１及び２の実行処理として、システムボードの初期化処理が規定され、処理番号３及び４の実行処理として、ドメインの初期化処理が規定され、処理番号５の実行処理として、処理終了が規定されている。システムボードとドメインの初期化処理として、２種類あるいは２段階の初期化処理が規定されているのは、単なる一例であって、１個あるいは３個以上の処理も規定することができる。【００２４】
さらに、処理番号０〜４には、継続判定処理と異常処理が規定され、異常処理では、処理番号０〜４に応じて、電源切断処理シーケンスを呼び出すように、図６に示す電源切断処理シーケンステーブルの処理番号を指定している。例えば、処理番号０では、継続判定処理として、システムボードの電源投入成否チェックが実行されること、異常処理として、電源切断処理シーケンスの処理番号２の処理が実行されることが規定されている。処理番号０の継続判定処理では、システムボードの電源投入処理が実行された後、実際に電源が投入されたか否かをチェックし、電源投入が成功していれば、続けて処理番号１に進むことができる。しかし、電源投入が失敗していれば、異常処理として、図６の電源切断処理シーケンスの処理番号２のシステムボードの電源切断処理を実行して、処理を継続することなく終了する。【００２５】
図５には、リセット処理シーケンステーブルの構造が示されている。処理番号０では、実行処理は、停止処理であり、処理番号１、２では、実行処理は、初期化処理であり、処理番号３では、実行処理は、処理終了である。処理番号１、２では、継続判定処理として初期化成否チェックが規定され、異常処理として電源切断処理が規定され、図６の電源切断処理シーケンスの処理番号が指定されている。なお、処理番号１、２で、２種類あるいは２段階のリセット処理を規定したが、リセット処理の数は、１以上の任意の数とすることができる。【００２６】
図６には、電源切断処理シーケンステーブルの構造が示されている。処理番号０では、ドメインの動作の停止処理が規定され、処理番号１では、システムボードの動作の停止処理が規定され、処理番号２では、システムボードの電源切断処理が規定され、処理番号３では、処理終了が規定されている。【００２７】
以下、図７及び図８に示すシーケンス処理のフローチャートを参照して、本実施形態のシーケンス処理の一例である電源投入処理を説明する。【００２８】
ユーザ等が、制御対象であるドメインを指定して、そのドメインに対して電源投入の要求を行うと、ＳＣＦ１１は、電源を投入するための電源投入処理シーケンスを開始する。【００２９】
ＳＣＦ１１は、指定されたドメインに対する電源投入処理のための最初のシーケンスコードを作成する（ステップＳ１）。作成されるシーケンスコードは、処理種別は電源投入１であり、制御対象はドメイン２であり、処理番号は、シーケンステーブルの先頭を示す「０」が付与され、一意に決定される番号は、他の実行中の処理シーケンスのシーケンスコードに付与された値と重複しないような値が付与される。この一意の番号を３５とすると、シーケンスコードは、（１２０３５）となる。【００３０】
次に、作成されたシーケンスコードの処理種別１に基づいて、対応する電源投入処理シーケンステーブル（図４）を参照し、シーケンスコードの処理番号０に対応する処理すなわち電源処理を実行することを決定する（ステップＳ２）。【００３１】
作成されたシーケンスコードは、ＳＣＦ１１のメモリ１３に、格納する（ステップＳ３）。本例では、メモリ１３は、制御対象ごとのメモリをもつので、作成されたシーケンスコードは、ドメイン２に関するシーケンスコードを記憶する領域に格納される。制御対象ごとの記憶領域をもつようにすると、処理シーケンスの実行対象を容易に判断することができる。しかしながら、シーケンスコードで、制御対象が特定されるので、制御対象ごとの記憶領域をもたないようにもできる。また、ＳＣＦ二重化モデルにおいては、メモリ１３に記憶された内容は、ＳＣＦ２１のメモリ２３にコピーされる。【００３２】
次いで、実行すべき処理をハード制御プログラムに指示する送信データを作成する。送信データには、シーケンスコードを格納する（ステップＳ４）。作成された送信データをハード制御プログラムに送信する（ステップＳ５）。【００３３】
ハード制御プログラムは、送信されたデータを処理し、電源投入を実行する（ステップＳ６）。ハード制御プログラムによる処理が終了すると、ハード制御プログラムは、送信されたデータに格納されているシーケンスコードを、レスポンスに付加してＳＣＦに送信する（ステップＳ７）
ＳＣＦは、ハード制御プログラムの処理終了を示すレスポンスを受信する（ステップＳ８）と、受信したレスポンスに格納されているシーケンスコードと同一のシーケンスコードを、メモリ１３の中から検索し（ステップＳ９）、同一のシーケンスコードが、メモリ１３内に存在するか否かが判定される（ステップＳ１０）。同一のシーケンスコードがメモリ１３内に見つからない場合は、当該処理の実行指示はなかったと判定され、処理は終了する（ステップＳ１１）。【００３４】
なお、シーケンスコードをメモリで検索して、シーケンスコードの有無を判定するステップ（ステップＳ９、Ｓ１０）は、後述のように、複数の処理が同時に実行されているときに、どのシーケンスの処理が行なわれたのかを判定するためにも有用である。【００３５】
同一のシーケンスコードが、メモリ１３内に存在する場合は、送信したシーケンスコードにより指定された処理が実行されたと判定して、引き続きシーケンス処理を実行可能かどうかを判定する継続判定処理を実行する（ステップＳ１２）。この継続判定処理は、図４に示すシーケンステーブルの処理番号０に規定されているもので、電源投入成否チェックである。電源投入の成否の情報は、ハード制御プログラムが保持しているので、ハード制御プログラムの電源投入成否の情報を参照して、電源投入成否チェックを行う。【００３６】
その結果、電源投入に失敗して、電源が投入されていないと判定されると（ステップＳ１３）、異常処理が実行される（ステップＳ１４）。異常処理は、図４の処理シーケンステーブルに、実行処理、継続判定処理とともに、処理番号を付与されて規定されている。ここでは、電源投入処理シーケンステーブルの処理番号０に規定されている異常処理を行う。処理番号０に規定されている異常処理として、電源切断処理シーケンスの処理番号２を実行するように規定されているので、図６の電源切断処理シーケンスの処理番号２を参照して、システムボードの動作停止のための処理を実行する。【００３７】
ステップＳ１３で、電源投入が行われたと判定されると、シーケンス処理の継続が可能で、シーケンスコードの処理番号をインクリメントして、次の処理に進む（ステップＳ１５）。シーケンスコードの処理番号をインクリメントすると、シーケンスコードは、（１２０３５）から（１２１３５）に遷移する。【００３８】
更新されたシーケンスコードの処理種別に対応するシーケンステーブルを参照して、シーケンスコードの更新された処理番号に対応する実行処理が終了処理を示しているか否かを判定する（ステップＳ１６）。電源処理シーケンステーブルの処理番号１は、処理終了を示していないので、ステップＳ２に戻り、シーケンステーブルを参照して、更新されたシーケンスコードの処理番号１に対応する処理を実行することを決定し（ステップＳ２）、ステップＳ３以下のステップを実行する。【００３９】
以上のように、処理番号に対応する処理が終了するごとに、シーケンスコードの処理番号をインクリメントして、シーケンステーブルに格納された処理を、ステップＳ２〜Ｓ１５を繰り返して順次実行する。【００４０】
以下、この繰り返し処理の概要を説明する。【００４１】
本例の電源投入処理の処理番号１の処理では、システムボードの初期化処理Ａが行なわれる。継続判定処理（ステップＳ１２、Ｓ１３）は、システムボードの初期化成否チェックであり、初期化に失敗していれば、異常処理として、図６の電源切断処理シーケンスの処理番号１のシステムボードの停止処理を行う（ステップＳ１４）。電源投入処理の処理番号２の処理においても、処理番号１と同様に、システムボードの初期化処理Ｂが行われる。【００４２】
電源投入処理の処理番号３による処理では、ドメインの初期化処理Ｃが行なわれる。継続判定処理（ステップＳ１２、Ｓ１３）は、ドメインの初期化成否チェックであり、初期化に失敗していれば、異常処理として、図６の電源切断処理シーケンスの処理番号０のドメインの停止処理を行う（ステップＳ１４）。電源投入処理の処理番号４の処理では、ドメインの初期化処理Ｄが、処理番号３の処理と同様に実行される。【００４３】
以上のように、ステップＳ２〜Ｓ１６を繰り返して実行し、電源投入処理の処理番号（５）に到達すると、処理番号（５）の実行処理は、処理終了を指示しているので、シーケンステーブルの全処理が終了したと判断し（ステップ１６）、メモリ１３から当該シーケンスコードをクリアし（ステップＳ１７）、シーケンス処理全体を終了する。【００４４】
図９及び図１０に、本実施形態の電源投入処理シーケンス実行時のシーケンスコードの遷移を示す。前述のように、ドメイン２に対して、電源処理シーケンスが開始されると、最初に作成される、処理番号０のシーケンスコードは（１２０３５）である。図９及び図１０では、処理番号Ｘのシーケンスコードを、「電源投入Ｘ」として示す。【００４５】
電源投入処理シーケンステーブルの処理番号０の処理を指示する送信データに、作成されたシーケンスコード（１２０３５）を格納して、ハード制御プログラムに送信する。ハード制御プログラムが、指示された処理０を実行して、実行後のレスポンスに、電源投入０すなわちシーケンスコード（１２０３５）を格納して送信する。【００４６】
レスポンス（電源投入０）を受信すると、レスポンス（電源投入０）に格納されたシーケンスコード（１２０３５）と同一の、メモリに格納されたシーケンスコード（１２０３５）を検索し、処理番号をインクリメントして更新して記憶する。すなわち、シーケンスコードは、電源投入１（１２１３５）となる。【００４７】
以下、更新されたシーケンスコードは、ハード制御プログラムに送信され、ハード制御プログラムによる処理が実行されると、シーケンス制御プログラムに送信され、シーケンスコードの処理番号がインクリメントされて更新されることを繰り返す。この繰り返しにより、シーケンステーブルの１つの処理が実行されるたびに、メモリに格納されているシーケンスコードは、（１２０３５）（１２１３５）（１２２３５）（１２３３５）（１２４３５）（１２５３５）と遷移してゆく。【００４８】
シーケンスコードが（１２５３５）に至ると、処理番号（５）はシーケンス処理終了であるので、シーケンス処理は終了し、メモリに格納されているシーケンスコードは、クリアされる。１回の処理ごとに更新されるメモリに格納されたシーケンスコードは、シーケンス処理が何らかの理由で中止した場合、後の再開に当たって、どの段階から再開する必要があるのかを示す情報となる。
（実施形態２）
図１に示すＳＣＦ一重化装置において、実施形態１の電源投入処理を実行中にＳＣＦに異常が発生し、その結果ＳＣＦのリブートが行われた場合、次ぎのようにして処理シーケンスの引継ぎを行うことができる。【００４９】
図１１に、ＳＣＦリブートの場合のフローを示す。図１のＳＣＦ一重化装置において、ＳＣＦ１１に異常が起きると、図１１のフローが開始される。ＳＣＦ１１のリブート処理が実行されて、完了すると（ステップＳ２１）、ＳＣＦ１１のメモリ１３に記憶されているシーケンスコードを検索する（ステップＳ２２）。シーケンスコードが存在すれば、そのシーケンスコードが指定する処理が行なわれている途中でリブートが行われたと判断されるので、図８に示すステップＳ１６から、図７、８に示すフローを再開すればよい。ステップＳ１６で、そのシーケンスコードが指定する処理が処理終了であるか否かをチェックして、処理終了でなければ、ステップＳ２からそのシーケンスコードが指定する処理を実行する。【００５０】
例えば、図９に示すシーケンスコードの遷移図のＮｏ．６で、ＳＣＦのリブートが起きた場合、ＳＣＦ１１のメモリ１３に、電源投入２のシーケンスコード（１２２３５）が記憶されている。したがって、ステップ２２における、メモリ１３のシーケンスコードの検索により、検索されるシーケンスコードに従って、処理を実行すればよい。すなわち、シーケンスコード（１２２３５）によると、処理種別１である電源投入処理を、制御対象２であるドメイン２に対して、図４の電源投入処理シーケンステーブルの処理番号２のシステムボード初期化Ｂを実行するということがわかる。
（実施形態３）
図２に示すＳＣＦ二重化装置において、実施形態１の電源投入処理を実行中にＳＣＦ１１に異常が発生し、その結果ＳＣＦ２１に切替えなければならなくなった場合、ＳＣＦ２１のメモリ２３にはＳＣＦ１１のメモリ１３の内容がコピーされているので、ＳＣＦ２３のメモリに記憶されているシーケンスコードに基づいて、電源投入処理をシーケンスコードから決る処理から再開することができる。【００５１】
図１１に示すように、ＳＣＦ２重化切替え時のフローは、ＳＣＦ一重化装置のリブート時のフローと同様である。ＳＣＦ１１からＳＣＦ２１への切替え処理が完了すると（ステップＳ２１）、ＳＣＦ２１のメモリ２３に格納されているシーケンスコードを検索する（ステップＳ２３）。シーケンスコードが存在すれば、そのシーケンスコードが指定する処理が行なわれている途中でＳＣＦ２重化切替えが行われたと判断されるので、図８に示すステップＳ１６から、図７、８に示すフローを再開すればよい。ステップＳ１６で、そのシーケンスコードが指定する処理が処理終了であるか否かをチェックして、処理終了でなければ、ステップＳ２からそのシーケンスコードが指定する処理を実行する。
（実施形態４）
図１のＳＣＦ一重化装置あるいは図２のＳＣＦ二重化装置において、異なる処理シーケンスの実行が、異なる制御対象に対して、要求された場合、各処理シーケンスは、図７、８に示すフローで実行される。各処理シーケンスのシーケンスコードは、異なる値をとるので、並列処理が可能である。【００５２】
図１２、１３を参照して、処理シーケンスの並列実行を説明する。図１２、１３は、あるドメインに対して電源投入が要求され、他のドメインに対してリセットが要求された場合の処理を示す図である。【００５３】
あるドメインに対して、電源投入が指示されると、ブロックＰ０１で、電源投入処理のための最初のシーケンスコードが作成され、メモリに記憶されてから、当該シーケンスコードを含む電源投入０を指示するデータが、ハード制御プログラムに送信される。【００５４】
次に、他のドメインに対して、リセットが指示されると、ブロックＲ０１で、リセット処理シーケンスも開始し、リセット処理のための最初のシーケンスコードが作成され、メモリに記憶されてから、当該シーケンスコードを含むリセット０を指示するデータが、ハード制御プログラムに送信される。【００５５】
ブロックＰ０２では、ハード制御プログラムＰ−１により、電源投入０で示される処理が実行され、電源投入０のシーケンスコードを格納したレスポンスが送信される。【００５６】
ブロックＰ０３では、このレスポンスが受信されると、ＳＣＦのメモリの同一のシーケンスコードが検索され、同一のシーケンスコードが存在すると、メモリに格納されたシーケンスコードの処理番号がインクリメントされて更新される。更新されたシーケンスコードが指定する処理（電源投入１）を実行させるためのデータが送信される。【００５７】
一方、ブロックＲ０２では、ハード制御プログラムＲ−１により、リセット０で示される処理が実行され、リセット０のシーケンスコードを格納したレスポンスが送信される。【００５８】
ブロックＲ０３では、このレスポンスを受信すると、ＳＣＦのメモリの同一のシーケンスコードが検索され、同一のシーケンスコードが存在すると、メモリに格納されたシーケンスコードの処理番号がインクリメントされて更新される。更新されたシーケンスコードが指定する処理（電源投入１）を実行させるためのデータが送信される。【００５９】
以下、シーケンス制御プログラムでは、各処理が実行された後に、ＳＣＦのメモリに記憶されたシーケンスコードを確認し、このシーケンスコードを更新して次ぎの処理を実行してゆく。図８、９では、電源投入処理シーケンスは、Ｐ０１〜Ｐ１０で示され、そのうちシーケンス制御プログラムは、Ｐ０１、Ｐ０３、Ｐ０５、Ｐ０７、Ｐ０９、Ｐ１１で示されている。また、リセット指示処理シーケンスは、Ｒ０１〜Ｒ０７で示され、そのうちシーケンス制御プログラムは、Ｒ０１、Ｒ０３、Ｒ０５、Ｒ０７である。【００６０】
以上のように、ＳＣＦのメモリにシーケンスコードが格納されているので、どの処理が実行され、次ぎの処理は何かが明確に把握できる。したがって、異なる処理シーケンスの実行が、異なる制御対象に対して要求された場合でも、並列処理が可能となる。【００６１】
本実施形態では、複数の異なる処理シーケンスの実行が異なる制御対象に対して要求された場合を説明したが、複数の同一処理シーケンスの実行が異なる制御対象に対して要求された場合も、各処理のシーケンスコードは異なるので、同様に実行され、並列処理が可能である。
（実施形態６）
処理シーケンスの変更が必要となった場合、シーケンステーブルの変更を行うことで対応できる。図１４にその一例を示す。図４の電源投入処理シーケンステーブルの処理番号１の処理と処理番号２の処理の順序を逆にしたい場合は、図１４に示すように、図４の処理番号１と処理番号２とを入れ替えたシーケンステーブルを採用すればよい。このようにすると、従来のプログラム自体の変更に比較して、簡単に処理の手順を変更できる。また、新たな処理を追加する場合も、その処理に対応する項目を追加して、新たに処理番号を振りなおすようにすればよいので、容易である。【００６２】
以上のように、本実施形態では、シーケンステーブルに登録されている処理シーケンスを、順次作成されるシーケンスコードに基づいて実行するので、処理の変更があってもシーケンステーブルを変更するのみで、容易に対応することができる。【００６３】
また、処理を行なうに当たって作成されたシーケンスコードは、その処理に特有のコードであり、このコードを参照して処理を進めるので、処理の並列実行が容易である。さらに、このコードは、処理の進行に伴って更新されて記憶される。したがって、記憶されたコードから当該処理の進行状況が明確に分かるので、中断した処理を継続することも容易である。ＳＣＦリブートやＳＣＦ二重化切替え後に中断した処理を引き継いで実行することができる。【００６４】
以上説明した本発明の実施の態様は、以下の通りである。
（付記１）
複数の制御対象と、
少なくとも１つの前記制御対象に対する制御を実行する制御部とを備え、
前記制御部は、
処理シーケンスを登録した複数のシーケンステーブルと、
制御対象を指定する制御対象情報と、シーケンステーブルを指定する処理種別情報と、指定された処理シーケンス中の１処理を指定する処理番号情報とを有するシーケンスコードを作成するシーケンスコード作成手段と、
作成されたシーケンスコードを記憶するメモリと
を有することを特徴とする情報処理装置。
（付記２）
前記シーケンスコードは、前記処理シーケンス中の１処理の終了後は、前記処理番号情報を更新することによって作成されることを特徴とする付記１又は２に記載の情報処理装置。
（付記３）
前記処理番号情報の更新は、メモリに格納された前記処理番号情報を検索して、検索された前記処理番号情報を更新することによって行われることを特徴とする付記１又は２に記載の情報処理装置。
（付記４）
前記シーケンスコードは、さらに一意に決定する番号を含むことを特徴とする付記１〜４いずれか１項に記載の情報処理装置。
（付記５）
前記制御部は２重化され、予備制御部を備えていることを特徴とする付記１〜５のいずれか１項に記載の情報処理装置。
（付記６）
前記予備制御部のメモリにも、前記シーケンスコードが記憶されることを特徴とする付記５に記載の情報処理装置。
（付記７）
前記シーケンステーブルは、実行すべき前記処理とともに、シーケンスによる処理の継続の可能性を判定する処理と、処理の継続が不可能な場合の異常に対する処理を規定していることを特徴とする付記１〜６のいずれか１項に記載の情報処理装置。
（付記８）
前記制御対象は、少なくとも１つのシステムボードを有するドメインであり、
前記制御部は、システム制御機構であることを特徴とする付記１〜７のいずれか１項に記載の情報処理装置。
（付記９）
制御対象を指定する制御対象情報と、処理シーケンスを格納したシーケンステーブルを指定する処理種別情報と、指定された処理シーケンスの１つの処理を指定する処理番号情報とを有するシーケンスコードを作成するステップと、
作成されたシーケンスコードをメモリに格納するステップと、
前記シーケンスコードに基づいて、指定された制御対象に対して、指定されたシーケンステーブルの指定された処理番号の処理を実行するステップと、
該処理の実行後、前記メモリに格納されたシーケンスコードを更新するステップと
を有することを特徴とする処理実行方法。
（付記１０）
前記シーケンスコードの更新は、前記処理番号情報を更新することによって行うことを特徴とする付記１１又は１２に記載の情報処理装置。
（付記１１）
前記シーケンスコードは、さらに一意に決まる番号を有することを特徴とする付記１１〜１３のいずれか１項に記載の処理実行方法。
（付記１２）
前記シーケンステーブルは、実行すべき前記処理とともに、シーケンスによる処理の継続の可能性を判定する処理と、処理の継続が不可能な場合の異常に対する処理が規定されていることを特徴とする付記１〜５に記載の情報処理装置。
（付記１３）
前記処理を実行するステップは、シーケンス制御プログラムからハード制御プログラムに対して、前記シーケンスコードを含むデータを送信して前記処理を指示し、ハード制御プログラムにより前記処理を実行した後、ハード制御プログラムから前記シーケンスコードを含むレスポンスを前記シーケンス制御プログラムに送信するステップであることを特徴とする付記９〜１２のいずれか１項に記載の情報処理装置。
（付記１４）
前記メモリに格納されたシーケンスコードを更新するステップは、前記レスポンスに含まれた前記シーケンスコードと同一の、前記メモリに格納されているコードを検索して更新するステップである付記９〜１３のいずれか１項に記載の情報処理装置。
【図１】
2007097031.tif 000003
【図２】
2007097031.tif 000004
【図３】
2007097031.tif 000005
【図４】
2007097031.tif 000006
【図５】
2007097031.tif 000007
【図６】
2007097031.tif 000008
【図７】
2007097031.tif 000009
【図８】
2007097031.tif 000010
【図９】
2007097031.tif 000011
【図１０】
2007097031.tif 000012
【図１１】
2007097031.tif 000013
【図１２】
2007097031.tif 000014
【図１３】
2007097031.tif 000015
【図１４】
2007097031.tif 000016
【国際調査報告】
2007097031.tif 000017
2007097031.tif 000018