(57)【要約】【課題】複数のリソース制御手段によって同一のリソースにアクセスする際に生じるコマンドの実行順序の乱れを回避するリソース制御プログラムを提供する。【解決手段】リソース制御プログラムは、実行手順フローに含まれる複数の制御ジョブを実行制御手段１から受信した複数のリソース制御手段２によって、複数の制御ジョブに含まれる複数の制御コマンドが実行されるリソース３を制御する。リソース制御プログラムは、リソース３に、制御コマンド１２を受信する受信処理と、制御コマンド１２の優先度を判定する判定処理と、制御コマンド１２を待機させる待機処理と、優先度に応じた待機時間の経過の後に、待機させた制御コマンド１２を取出す取出処理とを実行させる。【選択図】図１
2009199499.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークシステムにおいて、実行手順フローに所定の順序で含まれる複数の制御ジョブを実行制御手段から受信した複数のリソース制御手段によって、前記複数の制御ジョブに含まれる複数の制御コマンドが実行されるリソースを制御するリソース制御プログラムであって、
前記リソースであるコンピュータに、
前記複数のリソース制御手段から制御コマンドを受信する受信処理と、
受信した前記制御コマンドの優先度を判定する判定処理と、
受信した前記制御コマンドを待機させる待機処理と、
判定された前記優先度に応じて定まる待機時間の経過の後に、前記待機させた前記制御コマンドを取出す取出処理とを実行させる
ことを特徴とするリソース制御プログラム。
【請求項２】
前記リソースであるコンピュータに、更に、
取出された前記制御コマンドを、当該リソースにおける実行キューへ繋ぐ処理を実行させる
ことを特徴とする請求項１に記載のリソース制御プログラム。
【請求項３】
ネットワークシステムにおいて、実行手順フローに所定の順序で含まれる複数の制御ジョブを実行制御手段から受信した複数のリソース制御手段によって、前記複数の制御ジョブに含まれる複数の制御コマンドが実行されるリソースを制御するリソース制御方法であって、
前記リソースの受信手段が、前記複数のリソース制御手段から制御コマンドを受信し、
前記リソースの判定手段が、受信した前記制御コマンドの優先度を判定し、
前記リソースの待機手段が、受信した前記制御コマンドを待機させ、
前記リソースの取出手段が、判定された前記優先度に応じて定まる待機時間の経過の後に、前記リソースの待機手段から前記制御コマンドを取出す
ことを特徴とするリソース制御方法。
【請求項４】
前記優先度が、受信した前記制御コマンドに予め付加された優先度を示す情報に基づいて判定される
ことを特徴とする請求項３に記載のリソース制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リソース制御プログラム及びリソース制御方法に関し、特に、分散環境でジョブを実行する場合において、複数のリソース制御手段によって同一のリソースにアクセスする際に生じるコマンドの実行順序の乱れを回避するリソース制御プログラム及びリソース制御方法に関する。
【背景技術】
【０００２】
大規模化が進むコンピュータネットワークの運用管理において、利用者に定められた品質のサービスを提供し維持する必要がある。このため、コンピュータネットワークを構成する機器（ハードウェア）やソフトウェア等（以下、リソースと言う）の状態や処理を管理・制御することが重要である。このため、システムを監視し、必要に応じて自律的に変更操作を行う事で運用保守を改善する自律運用システムが開発されている。
【０００３】
例えば、リソースに対してアクセスするための予約を獲得して排他制御を行う際の予約の順序付けに、キューイングの仕組みを使用することが提案されている（特許文献１参照）。また、複数のマスタから共有リソースへのアクセスの管理を行うリソース管理装置において、アクセスコマンドの発行順序を入れ替える際、キューに格納されるコマンドに関連付けられた優先度を基にキュー内でのスタックの入れ替えによるコマンドの追い越しを実現することが提案されている（特許文献２参照）。更に、通常の優先度に基づくキューの並び替えのほか、キューに格納されるコマンドの実行時間を基に少ない実行時間順にキューを並び替えることを行うことが提案されている（特許文献３参照）。
【特許文献１】特表２００６−５０４１８２号公報
【特許文献２】特開２００６−９９７３１号公報
【特許文献３】特開平３−４２７３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
図１５は、本発明者が検討した制御のために階層化された自律運用システムの一例を示し、図１６は図１５の自律運用システムの動作の概要を示す図である。
【０００５】
図１５において、自律運用システムは、実行制御手段１００と、リソース制御手段２００（Ａ、Ｂ）と、運用管理対象となるリソース３００（Ａ、Ｂ、Ｃ）とを備える。この自律運用システムにおいて処理される実行手順フロー１１０において、例えば、手順Ａと手順Ｂがこの順に定められた制御ジョブが含まれるとする。実行手順フロー１１０は、実行制御手段１００により実行され、手順Ａの制御ジョブはリソース制御手段Ｂにより実行され、手順Ｂの制御ジョブはリソース制御手段Ａにより実行されるものとする。手順Ａ及びＢの制御コマンドはリソースＢにより実行されるものとする。
【０００６】
実行制御手段１００において、手順Ａの制御ジョブが時刻Ｔ１１のタイミングで投入され、その後、手順Ｂの制御ジョブが時刻Ｔ１２で投入される。手順Ａはリソース制御手段Ｂを経由してリソースＢに到着し、一方、手順Ｂはリソース制御手段Ａを経由してリソースＢに到着する。この経路の相違に起因して、リソースＢに対する手順Ａと手順Ｂの２つの経路に遅延差が生じることがある。即ち、手順Ｂ（の制御コマンド）が時刻Ｔ３１のタイミングでリソースＢに到着し、その後、手順Ａ（の制御コマンド）が時刻Ｔ３２のタイミングでリソースＡに到着する場合がある。この場合、手順Ｂの制御コマンドが直ちに実行され、その後に到着した手順Ａの制御コマンドは、手順Ｂの終了の時刻Ｔ３３まで実行待ちの状態Ｗ３１となる。
【０００７】
ここで、例えば、手順Ａがジョブ「ファイルバックアップ」であり、手順Ｂがジョブ「シャットダウン」であるとする。この場合、リソースＢにおいて、先にシャットダウンのコマンドが実行される。このコマンドの実行はキャンセル不能の処理であるため、実行手順フロー１１０において手順Ａが手順Ｂより先行するスケジューリングであるにもかかわらず、もはやファイルコピーの処理は実行することができない。
【０００８】
本発明者の検討によれば、このような問題が生じる理由は、以下の通りであると考えられる。即ち、ネットワークの運用管理に適用される自律制御システムにおいて、自律制御を行うための仕組みは一般的に階層化された分散実行構造を持つ。この自律制御システムでは、上位では抽象的な運用単位のジョブのフローを制御し、中位ではジョブ内の具体的なリソース制御コマンドを実行する等のように、階層に応じた抽象度で運用プロセスが整理されている。このような分散環境においては、ネットワークの特質として命令伝達に要する時間が一定でないことから、制御側が発した制御コマンド１２が、被制御側においては制御側の発した順序通りに受信されない事が起こりうる。このとき、例えば、リソースに先にシャットダウンのコマンドが着信して実行されてしまうと、他の優先度の高いコマンドを実行することができない。
【０００９】
以上のように、本発明者の検討によれば、不可逆的な操作を行う場合、実行順序が重要であり、制御側で通常のジョブスケジューリングにより優先度の高い順にコマンド送信するが、制御のための階層化された分散実施構造を備える自律運用システムにおいては、分散環境に特有の制約のため、コマンド着信順序の保証は困難である。更に、本発明者の検討によれば、この場合、非制御側のリソースにおいても、キューイングなどの技術によっては、キューが空の場合には受け付けた制御コマンド１２を即時実行するため、運用管理側の意図しない操作が行われる場合がある。
【００１０】
本発明は、分散環境でジョブを実行する場合において、複数のリソース制御手段によって同一のリソースにアクセスする際に生じるコマンドの実行順序の乱れを回避して、制御側からのコマンドの送信順に制御対象リソースにコマンドを実行させるリソース制御プログラムを提供することを目的とする。
【００１１】
また、本発明は、分散環境でジョブを実行する場合において、複数のリソース制御手段によって同一のリソースにアクセスする際に生じるコマンドの実行順序の乱れを回避して、制御側からのコマンドの送信順に制御対象リソースにコマンドを実行させるリソース制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本リソース制御プログラムは、ネットワークシステムにおいて、実行手順フローに所定の順序で含まれる複数の制御ジョブを実行制御手段から受信した複数のリソース制御手段によって、前記複数の制御ジョブに含まれる複数の制御コマンドが実行されるリソースを制御する。本リソース制御プログラムは、前記リソースであるコンピュータに、前記複数のリソース制御手段から制御コマンドを受信する受信処理と、受信した前記制御コマンドの優先度を判定する判定処理と、受信した前記制御コマンドを待機させる待機処理と、判定された前記優先度に応じて定まる待機時間の経過の後に、前記待機させた前記制御コマンドを取出す取出処理とを実行させる。
【００１３】
好ましくは、本リソース制御プログラムの一実施態様において、本リソース制御プログラムは、更に、前記リソースであるコンピュータに、取出された前記制御コマンドを、当該リソースにおける実行キューへ繋ぐ処理を実行させる。
【００１４】
本リソース制御方法は、ネットワークシステムにおいて、実行手順フローに所定の順序で含まれる複数の制御ジョブを実行制御手段から受信した複数のリソース制御手段によって、前記複数の制御ジョブに含まれる複数の制御コマンドが実行されるリソースを制御する。本リソース制御方法においては、前記リソースの受信手段が、前記複数のリソース制御手段から制御コマンドを受信し、前記リソースの判定手段が、受信した前記制御コマンドの優先度を判定し、前記リソースの待機手段が、受信した前記制御コマンドを待機させ、前記リソースの取出手段が、判定された前記優先度に応じて定まる待機時間の経過の後に、前記リソースの待機手段から前記制御コマンドを取出す。
【００１５】
好ましくは、本リソース制御方法の一実施態様において、前記優先度が、受信した前記制御コマンドに予め付加された優先度を示す情報に基づいて判定される。
【発明の効果】
【００１６】
本リソース制御プログラム及びリソース制御方法によれば、リソースにおいて、受信された制御コマンドは、一旦待機させられ、優先度に応じて定まる待機時間の経過後に取出されて、実行される。これにより、ネットワーク等の遅延によって、所定の順序で送信された制御コマンドが逆転した順序でリソースに到着した場合でも、リソースにおいて正しい順序で制御コマンドが実行されるようにすることができる。例えば、低い優先度の制御コマンド（例えば、シャットダウン）の受信後の待機時間内であれば、その間に高い優先度の制御コマンド（例えば、ファイルバックアップ）を更に受信した場合、当該高い優先度の制御コマンドを先に実行することができ、制御コマンドの実行の順序を維持することができる。従って、制御コマンドの送信の順序を維持することにより、複数のリソース制御手段によって同一のリソースにアクセスする際に生じる制御コマンドの実行の順序の乱れを回避することができ、また、偶発的な遅延による制御コマンドの到着の順序の乱れを吸収することができる。これにより、キャンセル不能な処理を先に実行する危険性を低減することができ、プロセス制御を円滑に行うことができる。
【００１７】
本リソース制御プログラムの一実施態様によれば、待機の状態から取出した制御コマンドが実行キューへ繋がれる。これにより、実行キューにおいての制御コマンドの順序が、制御側におけるコマンドの送信の順となるので、リソースに送信順に制御コマンドを実行させることができ、複数のリソース制御手段によって同一のリソースにアクセスする際に生じる実行順序の乱れを回避することができる。
【００１８】
本リソース制御方法の一実施態様によれば、優先度が制御コマンドに付加された優先度の情報に基づいて定まる。これにより、制御コマンドを管理する実行制御手段又は複数のリソース制御手段が、制御コマンドそれ自体によりその優先度を管理することができる。
【発明を実施するための最良の形態】
【００１９】
図１は、リソース制御方法が実行される自律運用システムの構成を示す。図２は、図１の自律運用システムで実行される制御ジョブ及び制御コマンドのデータ構造を示す。図３は、図１の自律運用システムの備える優先度処理手段の構成を示す。
【００２０】
自律運用システムは、実行制御手段１と、複数のリソース制御手段２（Ａ、Ｂ）と、運用管理対象となる複数のリソース３（Ａ、Ｂ、Ｃ）とを備えるコンピュータネットワークからなる（ネットワークシステムである）。リソース３は、各々、優先度処理手段４を備える。実行制御手段１及びリソース制御手段２は、例えば上位のコンピュータに設けられる。実行制御手段１及びリソース制御手段２は、各々、別個のコンピュータに設けてネットワークにより接続するようにしても良い。複数のリソース制御手段２を区別する場合、リソース制御手段Ａ、Ｂと言う（リソース３についても、同じ）。リソース３は、各々、下位のコンピュータからなり、例えばサーバ装置やネットワークスイッチ（ルータ等）からなる。リソース制御手段２とリソース３との間はネットワークにより接続される。
【００２１】
実行制御手段１は、当該自律運用システムの最上位の階層であり、実行手順フロー１０を実行し、これにより、複数のリソース制御手段２を管理する。即ち、実行制御手段１は、実行手順フロー１０に従って、当該システムにおけるジョブの実行を管理する。即ち、ジョブのフロー（流れ）を制御する。実行手順フロー１０は、例えば、予め与えられるか、又は、外部から入力される。
【００２２】
リソース制御手段２は、当該自律運用システムの中位の階層であり、制御ジョブ１１を実行し、これにより、複数のリソース３を制御する。制御ジョブ１１は実行制御手段１から入力される（送信される）。制御ジョブ１１は実行手順フロー１０の下位の命令である。
【００２３】
リソース３は、当該自律運用システムの最下位の階層であり、制御コマンド１２を実行する。これにより、リソース３はリソース制御手段２によって制御される。制御コマンド１２はリソース制御手段２から入力される（送信される）。制御コマンド１２は制御ジョブ１１の下位の命令である。
【００２４】
リソース３において、その制御コマンド１２の受信側に、優先度処理手段４が設けられる。従って、実際には、リソース制御手段２からリソース３に送信された制御コマンド１２は、当該リソース３に対応する優先度処理手段４により受信される。優先度処理手段４は、受信した制御コマンド１２を、その優先度に応じた時間（待機時間又は遅延時間）だけ待機させた後に、リソース３に送信して実行させる。
【００２５】
実行手順フロー１０は、予め定められ、例えば実行すべき順序に並べられた複数の制御ジョブ１１と分岐命令とからなる（図示せず）。制御ジョブ１１及び制御コマンド１２は図２に示すようなデータ構造を備える。
【００２６】
制御ジョブ（ジョブデータ又はジョブコマンド）１１は、ヘッダ１１１とジョブ内容１１２とからなる。ヘッダ１１１は、ジョブＩＤ、ジョブ名、ジョブ優先度、リソース制御手段からなる。ジョブＩＤは当該ジョブの識別情報であり、一意に定まる。ジョブ名は当該ジョブの名前である。ジョブ優先度は当該ジョブの優先度であり、ジョブ毎に予め定められる。リソース制御手段名は当該ジョブを実行する（すべき）リソース制御手段２の名前である。
【００２７】
ジョブ内容１１２は、複数の制御コマンド（コマンドデータ）１２からなる。複数の制御コマンド１２は、各々、コマンドＩＤ、コマンド優先度、リソース名、コマンド内容からなる。コマンドＩＤは当該コマンドの識別情報であり、一意に定まる。コマンド優先度は当該制御コマンドの優先度であり、制御コマンド毎に予め定められる。リソース名は制御コマンドを実行する（すべき）リソース３の名前である。コマンド内容は、当該制御コマンド１２の具体的な実行内容であり、例えばファイルを指定してファイルをコピーすることを指示する制御情報等からなる。
【００２８】
実行制御手段１は実行手順フロー１０を実行する。即ち、実行制御手段１は、実行手順フロー１０に含まれる複数の制御ジョブ１１を先頭から順に取出して、複数のリソース制御手段２に送信する。この時、制御ジョブ１１は、そのリソース制御手段名に基づいて、当該制御ジョブ１１を実行すべきリソース制御手段２に送信される。なお、実行制御手段１は、実行手順フロー１０に定められた分岐命令を実行する。
【００２９】
複数のリソース制御手段２は、実行制御手段１から複数の制御ジョブ１１を受信し、複数の制御ジョブ１１を実行する。即ち、リソース制御手段２は、制御ジョブ１１に含まれる制御コマンド１２を先頭から順に取出して、複数のリソース３に送信する。この時、制御コマンド１２は、そのリソース名に基づいて、当該制御コマンド１２を実行すべきリソース３に送信される。
【００３０】
なお、リソース制御手段２は、制御ジョブ１１の実行において、制御ジョブ１１の受信の順ではなく、受信した制御ジョブ１１の中でジョブ優先度の高い順に制御ジョブ１１を実行する。これにより、実行制御手段１から１個のリソース制御手段２への経路は１個であるので、制御ジョブ１１の実行の順序は維持される。
【００３１】
リソース３は、複数のリソース制御手段２から複数の制御コマンド１２を受信し、これらを実行する。即ち、当該制御コマンド１２のコマンド内容を実行する。これに先立って、実際には、優先度処理手段４が、当該リソース３に送信された制御コマンドを受信する。
【００３２】
優先度処理手段４は、複数のリソース制御手段２から制御コマンド１２を受信すると、当該制御コマンド１２の優先度を判定すると共に、当該制御コマンド１２を待機させる。優先度は、当該制御コマンド１２に予め付加された優先度を示す情報に基づいて判定される。優先度処理手段４は、優先度に応じて定まる待機時間の経過の後に、待機状態から制御コマンド１２を取出す。
【００３３】
優先度処理手段４は、図２に示すように、受信部４１と、優先度判定部４２と、待機部４３と、取出部４４と、タイマー監視部４５とを備える。待機部４３は、複数のバッファ４３１〜４３５を備える。
【００３４】
受信部４１は、実際には、複数のリソース制御手段２から、制御コマンド１２を含むメッセージ（図示せず）を受信し、これから制御コマンド１２を読出して（取出して）、優先度判定部４２に送る。
【００３５】
優先度判定部４２は、受信した制御コマンド１２の優先度を判定する。即ち、優先度判定部４２は、制御コマンド１２からその優先度を取出して、制御コマンド１２と共に、待機部４３へ送る。
【００３６】
待機部４３は、受信した制御コマンド１２を待機させる。即ち、待機部４３は、制御コマンド１２及びその優先度を受信して、当該優先度に基づいて、当該制御コマンド１２の実行を待機させる（遅延させる）か否かの判断を行い、これに基づいて、待機時間の設定を行う。このため、待機部４３は複数のバッファ４３１〜４３５を備える。この例では、複数のバッファ４３１〜４３５は、優先度毎に、より具体的には、優先度に対応した待機時間毎に設けられる。
【００３７】
例えば、バッファ４３１〜４３５に対応して、待機時間Ｔ１〜Ｔ５が予め設定される。例えば、Ｔ１が、最も高い優先度の待機時間であり、最も短い待機時間とされる。Ｔ１からＴ５の順に、優先度が低くなり、待機時間が長くされる。待機時間Ｔ１〜Ｔ５は、固定であっても、可変であっても良い。この例では、バッファ４３１〜４３５の数Ｎ（Ｎは正の整数）は、優先度の数Ｎに応じて、種々変更することができる。
【００３８】
待機部４３は、複数のバッファ４３１〜４３５の中から、制御コマンド１２の優先度に対応したバッファ４３１〜４３５を選択して、これに当該制御コマンド１２を格納する。この時、待機部４３は、バッファ４３１〜４３５に制御コマンド１２を格納したことを、タイマー監視部４５に通知する。
【００３９】
タイマー監視部４５は、待機部４３を監視して、制御コマンド１２の取出しのタイミングを取出部４４に通知する。即ち、タイマー監視部４５は、待機部４３から通知されたバッファ４３１〜４３５について、その待機時間が経過したか否かを監視し、当該待機時間が経過した場合、取出部４４に当該バッファ４３１〜４３５の待機時間の終了を通知する。
【００４０】
取出部４４は、優先度に応じて定まる待機時間の経過の後に、待機部４３から制御コマンド１２を取出す。即ち、取出部４４は、タイマー監視部４５からの待機時間の終了通知を受信すると、これに応じて、待機部４３の当該バッファ４３１〜４３５から制御コマンド１２を取出し、これをリソース３へ渡す。
【００４１】
なお、取出部４４は、実際には、取出された制御コマンド１２を、当該リソース３における実行キュー４４’へ繋ぐ。実行キュー４４’は、取出部４４に設けられるが、リソース３に設けるようにしても良い。リソース３は、実行キュー４４’の先頭から順に１個のキュー（制御コマンド１２）を取出して実行する。
【００４２】
例えば、実行制御手段１からリソースＢに到達する経路は、リソース制御手段Ａ及びＢを経由する２つの経路が存在する。実際には、リソース制御手段２の数及びリソース３の数は図示の数に限られない（より大きい）ので、当該経路の数もより多くなる。これらの経路の相違により、制御コマンド１２の到達の順序が逆転する場合がある。
【００４３】
しかし、優先度処理手段４は、低い優先度の制御コマンド１２を受信すると、その実行に先立って、当該優先度に応じた待機時間だけ、当該制御コマンド１２を待機させる。この待機時間中に高い優先度の制御コマンド１２を更に受信した場合、優先度処理手段４は、高い優先度の制御コマンド１２を低い優先度の制御コマンド１２に先行してリソース３に対して送る。これにより、リソース３では、実行制御手段１からの送信の順序通りに、高い優先度の制御コマンド１２を、先に受信して実行することができる。
【００４４】
一方、高い優先度の制御コマンド１２を受信した後、短い待機時間中に、低い優先度の制御コマンド１２を受信した場合、高い優先度の制御コマンド１２の待機時間は、低い優先度の制御コマンド１２のそれよりも先にタイムアップする。従って、優先度処理手段４は、高い優先度の制御コマンド１２を低い優先度の制御コマンド１２よりも先にリソース３に送る。これにより、リソース３は、実行制御手段１からの送信の順序通りに、高い優先度の制御コマンド１２を、先に受信して実行することができる。
【００４５】
図４は、図３に示す優先度処理手段４の一実施例における待機部４３のバッファ４３１〜４３５への格納処理フローを示す。
【００４６】
受信部４１は、リソース制御手段２から制御コマンド１２（を含むメッセージ）を受信したか否かを調べる（ステップＳ１）。制御コマンド１２を受信しない場合、受信部４１は、ステップＳ１を繰り返す。制御コマンド１２を受信した場合、受信部４１は、メッセージから制御コマンド１２を読出した後（ステップＳ２）、制御コマンド１２（又は、受信したメッセージ）を優先度判定部４２に送る。
【００４７】
優先度判定部４２は、制御コマンド１２からコマンド優先度を取出して、これに基づいて、当該制御コマンド１２の優先度を判定し（ステップＳ３）、求めた優先度と当該制御コマンド１２とを待機部４３に送る。
【００４８】
待機部４３は、通知された優先度に基づいて、当該制御コマンド１２の格納位置を算出する（ステップＳ４）。即ち、待機部４３は、バッファ４３１〜４３５の中から、通知された優先度に対応する１個のバッファを選択する。なお、待機時間の設定のない場合は、待機部４３は、制御コマンド１２を待機させることなく、取出部４４へ送る。この後、待機部４３は、当該選択した待機バッファ４３１〜４３５の状態が空きか否かを調べる（ステップＳ５）。
【００４９】
選択したバッファ４３１〜４３５が空きでない場合、待機部４３は、選択したバッファ４３１〜４３５を、待機時間がより長いバッファ４３１〜４３５に変更する（ステップＳ６）。例えば、当該制御コマンド１２の優先度がｉである場合、優先度が（ｉ＋１）に対応するバッファに変更する（格納位置をシフトする）。選択したバッファ４３１〜４３５が空きの場合、優先度判定部４２は、制御コマンド１２を当該バッファ４３１〜４３５に格納し（ステップＳ７）、選択したバッファ４３１〜４３５に制御コマンド１２を格納したことをタイマー監視部４５に通知した後、ステップＳ１以下を繰り返す。
【００５０】
図５は、待機部４３のバッファ４３１〜４３５からの制御コマンド１２の取出し処理フローを示す。
【００５１】
取出部４４が、後述するように、タイマー監視部４５からの通知に応じて、当該バッファから制御コマンド１２を取出し（ステップＳ１０）、実行キュー４４’に繋ぐことにより、リソース３にバッファ４３１〜４３５から取出した制御コマンド１２を送る。
【００５２】
この後、タイマー監視部４５は、予め定められた監視時間の間隔ΔＴ１１の間だけ待機した後に（ステップＳ１１）、優先度判定部４２からの通知に基づいて、待機部３に制御コマンド１２が存在するか否か、即ち、制御コマンド１２が待機部３から取出し可能か否かを調べる（ステップＳ１２）。取出し可能でない場合、タイマー監視部４５は、ステップＳ１１を繰り返す。取出し可能である場合、取出部４４が前述のステップＳ１０を実行する。
【００５３】
即ち、タイマー監視部４５は、待機部４３のバッファ４３１〜４３５に格納されている制御コマンド１２の待機時間が終了した場合、当該バッファを取出部４４に通知する。これに応じて、取出部４４は、当該バッファから制御コマンド１２を取出す。この時、制御コマンド１２を取出し可能なバッファが複数存在する場合、タイマー監視部４５は、最も優先度の高いバッファを取出部４４に通知する。これにより、１個の制御コマンド１２が優先度の高い順に取り出される。
【００５４】
図６は、図１の自律運用システムにおけるリソース制御方法の動作を示す。
【００５５】
実行制御手段１において、手順Ａが時刻Ｔ１１のタイミングで投入され、その後、手順Ｂが時刻Ｔ１２で投入される。手順Ａは、実行制御手段１から制御ジョブ１１としてリソース制御手段Ｂへ、リソース制御手段Ｂから制御コマンド１２としてリソースＢへ到着する。一方、手順Ｂは、同様にして、リソース制御手段ＡからリソースＢの経路で到着する。
【００５６】
ここで、リソースＢに対する手順Ａと手順Ｂの２つの経路に遅延差が生じる。即ち、手順Ｂの制御コマンド１２が時刻Ｔ２１のタイミングで到着し、その後、手順Ａの制御コマンド１２が時刻Ｔ２２のタイミングで到着する。この場合、リソースＢの優先度処理手段４が、手順Ｂのメッセージの制御コマンド１２からその優先度を読出し、当該優先度に従う待機時間の待機時間Ｗ２１の期間が経過するまで、手順Ｂの制御コマンド１２のリソースＢへの送出は行わない。
【００５７】
この間に、手順Ａのメッセージの制御コマンド１２がリソースＢの優先度処理手段４に到着する。この場合、リソースＢの優先度処理手段４が、手順Ａの制御コマンド１２からその優先度を読出し、当該優先度に従う待機時間Ｗ２３の期間が経過するまでの間、制御コマンド１２のリソースＢへの送出を待つ。待機時間Ｗ２３は、手順Ａの優先度が高いので、待機時間Ｗ２１よりも十分短く設定される。従って、手順Ａの制御コマンド１２が手順Ｂの制御コマンド１２より先行して、リソースＢに送出される。これにより、リソースＢにおいて、手順Ａの制御コマンド１２が手順Ｂの制御コマンド１２よりも先行して実行され、手順Ｂは実行待ち状態Ｗ２２となる。
【００５８】
以上により、制御側から送信された制御コマンド１２の順序がリソースの受信側で逆転した場合でも、制御側におけるコマンドの送信順にリソースに対してコマンドを着信させることができる。これにより、複数のリソース制御手段によって同一のリソースにアクセスする際に生じる実行順序の乱れを回避することができる。例えば、リソース側で優先度の高い手順Ａのコマンドのファイルバックアップよりも、その優先度よりも低い手順Ｂのコマンドのシャットダウンを先に実行することを回避することができる。
【００５９】
図７〜図９は、リソース制御方法を実行する自律運用システムの他の一例を示す。特に、図７は、リソース制御方法を実行する自律運用システムにおける優先度処理手段４の他の一例の構成図である。図７の自律運用システムは、基本的には、図１及び図３と同じ構成を備えるが、待機部４３における処理、及び、タイマー設定部４６が設けられる点で異なるので、主として、この点について説明する。
【００６０】
待機部４３は、優先度判定部４２から受信した優先度に基づいて、当該制御コマンド１２の待機時間Ｔを決定する。優先度と待機時間Ｔとの関係は、予め定められる。この待機時間Ｔに基づいて、タイマー設定部４６が当該制御コマンド１２についてのタイマー値（図７において、Ｔ１及びＴ３）を設定する（付加する）。待機部４３は、タイマー値と共に、当該制御コマンド１２を、バッファ４３１〜４３５の空きバッファに順次格納する。
【００６１】
タイマー監視部４５は、バッファ４３１〜４３５に格納された制御コマンド１２のタイマー値を監視し、待機時間の終了を検出すると、当該待機時間の終了したバッファを取出部４４に通知する。この通知に応じて、取出部４４が制御コマンド１２を取出すと、待機部４３は、バッファ４３１〜４３５に格納された制御コマンド１２の待機時間の残りに応じて、バッファ４３１〜４３５の格納順のソート処理を行う。
【００６２】
この例においては、例えば、優先度処理手段４において、手順Ｂの制御コマンドｃｍｄ０３（優先度３とする）が先に受信され、タイマー値（即ち、待機時間）Ｔ３でバッファ４３１に格納される。その後、手順Ａの制御コマンドｃｍｄ０１（優先度１とする）が受信され、タイマー値Ｔ１でバッファ４３２に格納される。タイマー値Ｔ１はタイマー値Ｔ３よりも十分に短く設定されるので、最初に、制御コマンドｃｍｄ０１が取出部４４によりバッファ４３２から取出される。その後、制御コマンドｃｍｄ０３がバッファ４３１から取出部４４により取出される。
【００６３】
図８は、図７に示す優先度処理手段４の他の一実施例における待機部４３のバッファ４３１〜４３５への格納処理フローを示す。
【００６４】
図８において、図４のステップＳ１〜Ｓ３と同様にして、ステップＳ２０〜Ｓ２２が実行された後、待機部４３が優先度に対応した待機時間Ｔを算出し、これに基づいて、タイマー設定部４６が、タイマー値（例えばＴ３）を算出し（ステップＳ２３）、これをタイマー値をとして当該制御コマンド１２に付加する。なお、待機部４３が当該算出及び付加処理を実行するようにしても良い。この後、待機部４３が、バッファ４３１〜４３５の空きバッファへ、当該制御コマンド１２及びタイマー値を格納する（ステップＳ２４）。なお、対応する待機時間Ｔが存在しない優先度の場合、待機部４３が制御コマンド１２を取出部４４へ送る。
【００６５】
図９（Ａ）は、バッファ４３１〜４３５のソート処理を示す。
【００６６】
タイマー監視部４５は、待機の状態の後（ステップＳ３０）、予め定められた時間間隔ΔＴ２１が経過したか否かを調べ（ステップＳ３１）、経過していない場合、ステップＳ３０以下を繰り返す。時間間隔ΔＴ２１は、タイマー減算処理を行う時間間隔、又は、ソート処理を行う時間間隔である。
【００６７】
時間間隔ΔＴ２１が経過した場合、タイマー監視部４５（又は、待機部４３）は、バッファ４３１〜４３５に格納されている制御コマンド１２の各々のタイマー値から、時間間隔ΔＴ２１を減算する（ステップＳ３２）。この後、待機部４３は、バッファ４３１〜４３５内のソート処理を行う（ステップＳ３３）。即ち、残りのタイマー値が少ない制御コマンド１２の順に、取出しを優先するバッファの位置に格納し直す。この後、ステップＳ３０以下を繰り返す。
【００６８】
図９（Ｂ）は、格納バッファからの制御コマンド１２の取出し処理を示す。
【００６９】
タイマー監視部４５は、バッファ４３１〜４３５に格納された制御コマンド１２のタイマー値をチェックして（ステップＳ３４）、この結果に基づいて、タイマー値が０以下となっている制御コマンド１２の格納されたバッファが存在するか否かを調べる（ステップＳ３５）。
【００７０】
存在する場合、タイマー監視部４５が当該バッファを待機部４３に通知すると、取出部４４は当該バッファから制御コマンド１２を取出す（ステップＳ３６）。存在しない場合、ステップＳ３６は省略される。この後、タイマー監視部４５は、時間間隔ΔＴ２２の経過を待って（ステップＳ３７）、ステップＳ３４以下を繰り返す。時間間隔ΔＴ２２は制御コマンド１２のタイマー値をチェックする時間間隔である。時間間隔ΔＴ２２は、時間間隔ΔＴ２１と等しいか、又は、小さい方が望ましい。
【００７１】
図１０〜図１２は、リソース制御方法を実行する自律運用システムの更に他の一例を示す。特に、図１０は、リソース制御方法を実行する自律運用システムにおける優先度処理手段４の更に他の一例の構成図である。図１０の自律運用システムは、基本的には、図１及び図３と同じ構成を備えるが、待機部４３における処理が異なるので、主として、この点について説明する。
【００７２】
待機部４３は、優先度判定部４２から受信した優先度に基づいて、当該制御コマンド１２の待機時間Ｔを決定する。優先度と待機時間Ｔとの関係は、予め定められる。更に、待機部４３は、優先度と待機時間Ｔに基づき、制御コマンド１２を格納するバッファ４３１〜４３５を決定する。
【００７３】
例えば、バッファ４３１〜４３５の待機時間を、優先度に応じて時間間隔Ｔｂとする。即ち、優先度Ｎの場合、その待機時間ＴをＴ＝Ｎ×Ｔｂとし、対応するバッファを定める。例えば、優先度が最も高い１の場合、待機時間ＴはＴｂとされ、バッファは待機時間バッファ４３１とされる。従って、時間間隔Ｔｂ毎に、後述するように、バッファ４３１〜４３５における制御コマンド１２のシフト処理及び取出し処理が実行される。
【００７４】
即ち、待機部４３は、時間間隔Ｔｂ毎に異なるバッファに格納された制御コマンド１２を、優先度の高い（即ち、待機時間の短い）制御コマンド１２を格納するバッファから順に取り出す。この例では、取出される制御コマンド１２はバッファ４３１に存在する。
【００７５】
また、待機部４３は、あるバッファから制御コマンド１２が取出され制御コマンド１２が存在しない状態（空の状態）となると、他の制御コマンド１２を待機時間の長いバッファから待機時間の短いバッファへ、順次シフトする。
【００７６】
なお、時間間隔Ｔｂ毎に制御コマンド１２のシフト処理及び取出し処理を実行する結果、両者の処理が衝突する場合、いずれかの処理を優先するように、予め定めるようにしても良い。
【００７７】
この例においては、例えば、優先度処理手段４において、手順Ｂの制御コマンドｃｍｄ０３（優先度３とする）が先に受信され、待機時間Ｔ３＝３×Ｔｂのバッファ４３３に格納される。その後、手順Ａの制御コマンドｃｍｄ０１（優先度１とする）が受信され、待機時間Ｔ１＝Ｔｂでバッファ４３１に格納される。従って、最初に、制御コマンドｃｍｄ０１が取出部４４によりバッファ４３１から取出される。その後、制御コマンドｃｍｄ０３がバッファ４３３から取出部４４により取出される。
【００７８】
この時、制御コマンドｃｍｄ０１の取出の後、バッファ４３３より優先度の高いバッファ４３２が空であれば、バッファ４３３に格納されている制御コマンドｃｍｄ０３はバッファ４３２にシフトされ、その後、バッファ４３１にシフトされ、最終的に取出部４４により取出される。
【００７９】
図１１は、図７に示す優先度処理手段４の更に他の一実施例における待機部４３のバッファ４３１〜４３５への格納処理フローを示す。
【００８０】
図１１において、図４のステップＳ１〜Ｓ７と同様にして、ステップＳ４０〜４６が実行される。この時、特に、ステップＳ４３において、待機部４３は、優先度Ｎに応じた待機時間Ｔ＝Ｎ×Ｔｂに基づいて、バッファ４３１〜バッファ４３５に当該制御コマンド１２を格納する。
【００８１】
図１２（Ａ）は、バッファ４３１〜４３５における制御コマンド１２の順次シフト操作の処理を示す。
【００８２】
タイマー監視部４５は、待機の状態の後（ステップＳ５０）、予め定められた時間間隔Ｔｂが経過したか否かを調べ（ステップＳ５１）、経過していない場合、ステップＳ５０以下を繰り返す。
【００８３】
時間間隔Ｔｂが経過した場合、タイマー監視部４５（又は、待機部４３）は、これを待機部４３に通知する。これに応じて、待機部４３は、バッファ（移動元バッファ）４３２〜４３５の各々について、当該移動元バッファよりも１つだけ優先度の高い（Ｔｂだけ待機時間Ｔの短い）バッファ（移動先バッファ）が空の状態である場合、当該移動元バッファに格納されている制御コマンド１２を取り出して（ステップＳ５２）、移動先バッファに制御コマンド１２を移動（格納）する（ステップＳ５３）。この後、タイマー監視部４５が、ステップＳ５０以下を繰り返す。なお、ステップＳ５２及びＳ５３は、優先度の高いバッファから順に実行され、例えばバッファ４３２が当該移動の結果として空となった場合、バッファ４３３から制御コマンド１２がバッファ４３２へ移動される。
【００８４】
図１２（Ｂ）は、バッファ４３１からの制御コマンド１２の取出し処理を示す。
【００８５】
取出部４４が、後述するように、タイマー監視部４５からの通知に応じて、当該バッファから制御コマンド１２を取出し（ステップＳ５４）、実行キュー４４’に繋ぐことにより、リソース３にバッファ４３１から取出した制御コマンド１２を送る。
【００８６】
この後、タイマー監視部４５は、時間間隔Ｔｂの間だけ待機した後に（ステップＳ５５）、バッファ４３１に制御コマンド１２が存在するか否か、即ち、制御コマンド１２が待機部４３から取出し可能か否かを調べる（ステップＳ５６）。取出し可能でない場合、タイマー監視部４５は、ステップＳ５５以下を繰り返す。取出し可能である場合、取出部４４が前述のステップＳ５４以下を実行する。
【００８７】
図１３〜図１４は、リソース制御方法を実行する自律運用システムの更に他の一例を示す。特に、図１３は、統計処理機能を備える自律運用システムの一例を示す。この例の自律運用システムにおいて、コマンドの待機時間を決定する待機時間テーブルを求めるため、実行制御手段１は統計処理部１５を備える。また、待機時間テーブルとして、リソース３の優先度処理手段４に、タイムテーブル４７を備える。
【００８８】
統計処理部１５は、例えば、高い優先度の制御コマンド１２（ｃｍｄ０１）と、これよりも優先度の低い制御コマンド１２（ｃｍｄ０３）を用いて、当該制御コマンド１２の応答時間を計測する。即ち、実行制御手段１が当該制御コマンド１２を送信してからその応答を得るまでの時間（往復時間）を、複数回の試験により、実時間として得て、統計を取る。この統計に基づいて、統計処理部１５は、タイムテーブル４７を作成して、リソース３の優先度処理手段４に送信する。
【００８９】
図１４は、待機時間を決定するための待機時間設計の一実施例を示す図である。例えば、制御コマンド１２の優先度と待機時間との関係は、ネットワークの特性をモデル化して求めることができる。また、偶発的な遅延幅、具体的には、往復時間ＲＴＴ（Return  To  Time  around）の分散等に係数を乗じたものでもよい。
【００９０】
図１４（Ａ）において、曲線Ａは制御コマンドｃｍｄ０１の試験回数とＲＴＴ／２（往復時間の半分）の計測結果を示し、曲線Ｂは制御コマンドｃｍｄ０３の試験回数とＲＴＴ／２の計測結果を示す。この統計に基づいて、制御コマンドｃｍｄ０１とｃｍｄ０３とのＲＴＴ／２の時間が、曲線Ａに重ならないような曲線ＢのＲＴＴ／２に更にマージンを含めた曲線Ｃを求める。これにより、ＲＴＴ／２のマージン時間（ΔＷ）を求める。さらに、ΔＷに安全係数を乗じて待機時間を求める。
【００９１】
このようにして求めた待機時間（縦軸）と、優先度（横軸）との関係を、概念的に図１４（Ｂ）に示す。タイムテーブル４７は、図１４（Ｂ）に示す待機時間（縦軸）と優先度（横軸）との関係を、テーブルにしたものである。これにより、制御コマンド１２の待機時間を、制御コマンド１２の実行の順序を維持しつつ、かつ、平均した待機時間をより短くするように、タイムテーブル４７に基づいて優先度に応じて、動的に変更することができる。
【図面の簡単な説明】
【００９２】
【図１】自律運用システムのリソース制御方法の一例を示す構成図である。
【図２】制御ジョブ及び制御コマンドの一例を示す図である。
【図３】優先度処理手段の一例の構成図である。
【図４】優先度処理手段における格納処理フローの図である。
【図５】優先度処理手段における取出し処理フローの図である。
【図６】本リソース制御方法の動作概要説明図である。
【図７】優先度処理手段の他の一例の構成図である。
【図８】優先度処理手段の他の一例における格納処理フローの図である。
【図９】優先度処理手段の他の一例における取出し処理フローの図である。
【図１０】優先度処理手段の更に他の一例の構成図である。
【図１１】優先度処理手段の更に他の一例における格納処理フローの図である。
【図１２】優先度処理手段の更に他の一例における取出し処理フローの図である。
【図１３】自律運用システムのリソース制御方法の他の一例を示す構成図である。
【図１４】統計処理の待機時間設計の一例を示す図である。
【図１５】本発明の背景となった自律運用システムを示す構成図である。
【図１６】本発明の背景となった自律運用システムの動作概要説明図である。
【符号の説明】
【００９３】
１    実行制御手段
２    リソース制御手段
３    リソース
４    優先度処理手段
１０    実行手順フロー
１１    制御ジョブ
１２    制御コマンド
１５    統計処理部
４１    受信部
４２    優先度判定部
４３    待機部
４４    取出部
４５    タイマー監視部
４６    タイマー設定部
４７    タイムテーブル
４３１、４３２、４３３、４３４、４３５    バッファ
【図１】
2009199499.tif 000003
【図２】
2009199499.tif 000004
【図３】
2009199499.tif 000005
【図４】
2009199499.tif 000006
【図５】
2009199499.tif 000007
【図６】
2009199499.tif 000008
【図７】
2009199499.tif 000009
【図８】
2009199499.tif 000010
【図９】
2009199499.tif 000011
【図１０】
2009199499.tif 000012
【図１１】
2009199499.tif 000013
【図１２】
2009199499.tif 000014
【図１３】
2009199499.tif 000015
【図１４】
2009199499.tif 000016
【図１５】
2009199499.tif 000017
【図１６】
2009199499.tif 000018