(57)【要約】【課題】必要に応じた手作業を許しつつ、作業が適切な順序で適正に行われたことを保証する。【解決手段】ステップＳ１０１で、複数の順序づけ作業と、予め決められた順序の範囲と対応づけられた１つ以上の非順序づけ作業とを表す作業手順書情報が取得される。ステップＳ１０２で、第１の作業の実行を指示する入力が受け取られ、ステップＳ１０３では、その入力が許可される作業と適合するか否かが判断される。許可されるのは、未実行の順序づけ作業の中で順序が最も前の第２の作業、または第２の作業の順序を含む範囲と対応づけられた第３の作業である。ステップＳ１０３で適合と判断されるとステップＳ１０４で第１の作業の実行が許可され、不適合と判断されるとステップＳ１０５で第１の作業の実行が拒否される。作業手順が終了するまで、ステップＳ１０２〜Ｓ１０５は繰り返される。【選択図】図１
2010067056.tif 000002
【特許請求の範囲】
【請求項１】
順序づけられた複数の順序づけ作業と、予め決められた順序の範囲と対応づけられた１つ以上の非順序づけ作業とを表す作業手順書情報を取得する取得ステップと、
第１の作業の実行を指示する入力を受け取る入力ステップと、
前記複数の順序づけ作業のうちの未実行の順序づけ作業の中で順序が最も前の第２の作業、または前記１つ以上の非順序づけ作業のうちで前記第２の作業の前記順序を含む範囲と対応づけられた第３の作業と、前記第１の作業とが適合するか否かを認識する認識ステップと、
前記第２の作業または前記第３の作業と前記第１の作業とが適合すれば、前記第１の作業の実行を許可し、前記第２の作業と前記第３の作業のいずれとも前記第１の作業が適合しなければ前記第１の作業の実行を拒否する制御ステップと、
をコンピュータに実行させることを特徴とする制御プログラム。
【請求項２】
前記認識ステップは、前記第２の作業と前記第３の作業のすべてを表す制御情報を生成し、前記制御情報を参照して前記第１の作業が前記第２の作業または前記第３の作業と適合するか否かを判断することを含む、
ことを特徴とする請求項１に記載の制御プログラム。
【請求項３】
前記制御ステップによって前記第１の作業の実行を許可または拒否した結果と、前記第１の作業とを対応づける作業記録情報を生成する記録ステップを、
さらに前記コンピュータに実行させることを特徴とする請求項１に記載の制御プログラム。
【請求項４】
前記認識ステップは、前記作業記録情報を参照することによって前記第２の作業を特定することを含むことを特徴とする請求項３に記載の制御プログラム。
【請求項５】
第１のサーバで実行された複数の作業の内容を、実行された順序とともに捕捉する捕捉手段と、
前記捕捉手段による捕捉の結果に基づいて、前記複数の作業を複数の順序づけ作業としてそれぞれ前記順序と対応づける作業手順書情報を生成する第１の生成手段と、
順序の範囲と作業とを対応づける第１の入力を受け取る第１の入力手段と、
前記第１の入力手段が受け取った前記第１の入力で対応づけられている前記作業を、非順序づけ作業として前記範囲と対応づけて、前記第１の生成手段が生成した前記作業手順情報に追加する追加手段と、
前記追加手段により更新された後の前記作業手順情報を取得する第２のサーバと、
を備え、
該第２のサーバが、
第１の作業の実行を指示する第２の入力を受け取る第２の入力手段と、
取得した前記作業手順情報を参照し、前記複数の順序づけ作業のうちの未実行の順序づけ作業の中で順序が最も前の第２の作業、または前記非順序づけ作業であって前記第２の作業の前記順序を含む範囲と対応づけられた第３の作業と、前記第２の入力手段が受け取った前記第２の入力により実行が指示される前記第１の作業とが適合するか否かを認識する認識手段と、
前記第２の作業または前記第３の作業と前記第１の作業とが適合すれば、前記第１の作業の実行を許可し、前記第２の作業と前記第３の作業のいずれとも前記第１の作業が適合しなければ、前記第１の作業の実行を拒否する制御手段と、
を備えることを特徴とする情報処理システム。
【請求項６】
第１のサーバと第２のサーバを含む情報処理システムにおける情報処理方法であって、
前記第１のサーバで実行された複数の作業の内容を、実行された順序とともに捕捉し、
捕捉された前記複数の作業を複数の順序づけ作業としてそれぞれ前記順序と対応づける作業手順書情報を生成し、
順序の範囲と作業とを対応づける第１の入力を受け取り、
前記第１の入力で対応づけられている前記作業を、非順序づけ作業として前記範囲と対応づけて前記作業手順情報に追加し、
第１の作業の実行を指示する第２の入力を受け取り、
前記複数の順序づけ作業のうちの未実行の順序づけ作業の中で順序が最も前の第２の作業、または前記非順序づけ作業であって前記第２の作業の前記順序を含む範囲と対応づけられた第３の作業と、前記第１の作業とが適合するか否かを認識し、
前記第２の作業または前記第３の作業と前記第１の作業とが適合すれば、前記第１の作業の前記第２のサーバにおける実行を許可し、前記第２の作業と前記第３の作業のいずれとも前記第１の作業が適合しなければ、前記第１の作業の前記第２のサーバにおける実行を拒否する、
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業支援における強制アクセス制御技術に関する。
【背景技術】
【０００２】
情報処理装置における作業を自動化または半自動化することで利用者を支援する様々な技術が知られている。例えば、マクロの記録、編集、および再生機能を提供する各種アプリケーションが知られている。
【０００３】
また、一般的なコンピュータ、とりわけ利用者が直接操作を行うために利用するパーソナルコンピュータ（ＰＣ）などに関しては、コンピュータの設定変更や、修正適用などの保守作業を自動的に行うためのツールが広く使われている。保守作業の自動化のためのソフトウェア製品として、例えば、米国マイクロソフト社のWindows Update（マイクロソフトおよびWindowsは登録商標）や、出願人のSystemWalker Desktop Patrol（SystemWalkerは登録商標）などが知られている。
【０００４】
また、クライアント用のＰＣなどのコンピュータだけではなく、サーバに関しても、保守作業を自動化したいという要求が存在する。サーバの保守、特に修正適用に関する作業の自動化、および保守作業の結果の確認に関しては、いくつかの技術も知られている。
【０００５】
例えば、複数の情報処理装置へのソフトウェア更新作業を、動作確認作業を含めて自動化する次のような技術が知られている。すなわち、対象選定処理部が、構成情報データベース（ＤＢ）に保持された情報処理装置のハードウェアおよびソフトウェアの構成情報を参照して、指定された情報処理装置と同一構成の情報処理装置を選定する。そして、ソフトウェア更新実行制御部は、選定された情報処理装置に、修正ファイルと修正ファイルの適用結果を確認するためのテストプログラムとを配布する。修正ファイルの適用が完了した後に、テストプログラムが実行され、実行結果は収集されてシステム管理者に通知される。
【０００６】
また、作業手順書にない操作を行うことを機械的に防止し、保守作業の確認ミスをなくす保守作業確認システムも知られている。例えば、お客様システムの保守作業をする際に作業確認するための保守作業確認システムは、ホストシステムと保守作業確認ツールとを備える。ホストシステムは、作業指示書を記憶し、保守作業確認ツールへのダウンロード時に、作業指示書の内容事項をキーワードにして分析し、分析結果を基にして作業に必要なリソース、ファイルに対する操作レベル（読み込み／書き込み／生成）をテーブル化して入力テーブルを生成する。保守作業確認ツールは、ホストシステムが生成した入力テーブルを用いて入力し、お客様システムの環境チェックやファイル操作を監視する。
【０００７】
しかしながら、現状では、いくつかの理由から、サーバにおける作業の自動化ツールはそれほど普及が進んでいない。特に、社会的に重要なシステムで用いられるミッションクリティカルサーバにおいては、作業の自動化ツールの普及は進んでいない。理由として、例えば下記の３つが挙げられる。
【０００８】
第１の理由は、ミッションクリティカルサーバを運用する企業ユーザは、単純に手順を自動実行することでは満足せず、個々の作業ごとに作業の実行結果を確認することを望んでいるためである。
【０００９】
例えば、金融機関、交通機関、通信会社、ガス会社、電力会社などのシステムは、社会
的に重要な役割を担っている。したがって、社会的に重要な役割を担うミッションクリティカルサーバにおける作業の結果、何らかの問題が発生すると、社会全体に大きな影響を及ぼしかねない。他方で、些細な環境の違いの見落としなどが原因で、不適切に作業が自動化され、問題が発生する可能性は、皆無とは言えない。
【００１０】
そのため、ミッションクリティカルサーバを運用する企業ユーザは、一般に、複数の作業を含む手順を単純に最初から最後まで自動的に実行することを望んでいない。ミッションクリティカルサーバを運用する企業ユーザは、何か問題が発生したらすぐに問題に対処することができるように、個々の作業ごとに作業の実行結果を目視により確認し、問題がないと確認してから次の作業を実行することが多い。例えば、保守作業者は、直前の作業の復帰値、直前の作業によって作成または変更されたはずのファイルの内容、直前の作業によって変更されたはずの環境変数の値などを画面に表示するための作業を行い、画面を見て作業の結果を確認する。
【００１１】
したがって、例えばマクロの自動再生のように、単純な手順の自動実行では、ミッションクリティカルサーバを運用する企業ユーザの要求を満たすことができない。
第２の理由は、不要または不正な作業が行われなかったことを証明したいという要求に、既存の自動化ツールでは十分に応えられないためである。
【００１２】
例えば、第１の理由で説明した目視確認においては、実行すべき作業が正しく実行されたことの確認とあわせて、不要な作業や不正な作業が行われなかったことの確認も行われる。また、不要または不正な作業が行われなかったことを証明するためには、一般には操作記録（すなわち操作ログ）が使用される。
【００１３】
しかし、例えば、サーバの保守作業において、保守作業者がスーパーユーザ権限（管理者権限ともいう）で作業を行う場合などは、保守作業者が作業記録を改竄することが容易である。そこで、保守作業者が作業記録を改竄していないことを証明するため、管理監督者など他の者の立ち会いのもとで、保守作業者が保守作業を行うことが求められる場合がある。つまり、１台のサーバの保守作業に少なくとも２名が携わる必要が生じることがある。
【００１４】
単純に作業を自動化するだけでは、作業記録の改竄を防ぐことはできず、管理監督者などの立ち会いの必要性をなくすことはできない。
第３の理由は、サーバにおける作業は、サーバの再起動など、自動運用になじまない作業を含むことが多いためである。
【００１５】
例えば、サーバ上で稼動しているシステムを変更する前には、一般に、システム全体のバックアップが行われる。そして、バックアップ後には、通常、サーバが再起動される。しかしながら、再起動を含む手順の完全な自動化はあまり一般的ではない。
【００１６】
例えば、一般ユーザ向けのＰＣにおける作業の自動化ツールにおいても、再起動が必要な場合、再起動しても良いか否かをユーザに尋ねるメッセージウィンドウなどが表示されることが多い。その理由の１つは、ユーザ自身の意思と無関係に自動的にコンピュータが再起動されることを、多くのユーザは望まないからである。
【００１７】
サーバに関しても、再起動のような重要な作業に関しては、保守作業者の意思と無関係なタイミングで完全に自動的に実行されることは、あまり好ましくない。よって、再起動のように単純な自動化になじまない作業が含まれることが原因で、サーバの保守作業において自動化ツールが避けられることもある。
【特許文献１】特開２００６−１１９８４８号公報
【特許文献２】特開２００８−２１１２５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
上記のとおり、サーバにおける作業の自動化は、特にミッションクリティカルサーバに関しては、普及の妨げとなる理由がいくつか存在する。しかしながら、効率化のためには、手作業を自動化することが有効である。ミッションクリティカルサーバの特性を考慮した自動化技術があれば、ミッションクリティカルサーバにおける作業の効率化に寄与すると期待される。
【００１９】
そこで本発明は、作業者が必要に応じて手作業を行うことを許すことと、作業が適切な順序で適正に行われたことを保証することを両立させる技術を提供することを目的とする。
【課題を解決するための手段】
【００２０】
開示の技術の一態様によれば、制御プログラムが提供される。該制御プログラムは、取得ステップ、入力ステップ、認識ステップ、および制御ステップをコンピュータに実行させる。
【００２１】
前記取得ステップは、順序づけられた複数の順序づけ作業と、予め決められた順序の範囲と対応づけられた１つ以上の非順序づけ作業とを表す作業手順書情報を取得するステップである。
【００２２】
前記入力ステップは、第１の作業の実行を指示する入力を受け取るステップである。
前記認識ステップは、前記複数の順序づけ作業のうちの未実行の順序づけ作業の中で順序が最も前の第２の作業、または前記１つ以上の非順序づけ作業のうちで前記第２の作業の前記順序を含む範囲と対応づけられた第３の作業と、前記第１の作業とが適合するか否かを認識するステップである。
【００２３】
前記制御ステップは、前記第２の作業または前記第３の作業と前記第１の作業とが適合すれば、前記第１の作業の実行を許可し、前記第２の作業と前記第３の作業のいずれとも前記第１の作業が適合しなければ前記第１の作業の実行を拒否するステップである。
【００２４】
開示の技術の別の態様によれば、情報処理システムが提供される。該情報処理システムは、捕捉手段、第１の生成手段、第１の入力手段、追加手段を備える。
前記捕捉手段は、第１のサーバで実行された複数の作業の内容を、実行された順序とともに捕捉する。
【００２５】
前記第１の生成手段は、前記捕捉手段による捕捉の結果に基づいて、前記複数の作業を複数の順序づけ作業としてそれぞれ前記順序と対応づける作業手順書情報を生成する。
前記第１の入力手段は、順序の範囲と作業とを対応づける第１の入力を受け取る。
【００２６】
前記追加手段は、前記第１の入力手段が受け取った前記第１の入力で対応づけられている前記作業を、非順序づけ作業として前記範囲と対応づけて、前記第１の生成手段が生成した前記作業手順情報に追加する。
【００２７】
また、前記情報処理システムはさらに、前記追加手段により更新された後の前記作業手順情報を取得する第２のサーバを備え、該第２のサーバは、第２の入力手段、認識手段、および制御手段を備える。
【００２８】
前記第２の入力手段は、第１の作業の実行を指示する第２の入力を受け取る。
前記認識手段は、取得した前記作業手順情報を参照し、前記複数の順序づけ作業のうちの未実行の順序づけ作業の中で順序が最も前の第２の作業、または前記非順序づけ作業であって前記第２の作業の前記順序を含む範囲と対応づけられた第３の作業と、前記第２の入力手段が受け取った前記第２の入力により実行が指示される前記第１の作業とが適合するか否かを認識する。
【００２９】
前記制御手段は、前記第２の作業または前記第３の作業と前記第１の作業とが適合すれば、前記第１の作業の実行を許可し、前記第２の作業と前記第３の作業のいずれとも前記第１の作業が適合しなければ、前記第１の作業の実行を拒否する。
【００３０】
開示の技術のさらに別の態様によれば、上記情報処理システムにおいて実行される方法が提供される。
【発明の効果】
【００３１】
開示の技術によれば、例えば作業者などからの入力が許される一方で、作業手順書情報と矛盾する不適切な順序で順序づけ作業が行われることはなく、作業手順書情報に定められていない作業が行われることもない。したがって、作業が適切な順序で適正に行われたことが保証される。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図１は、本発明の第１実施形態における制御を示すフローチャートである。第１実施形態において、不図示のミッションクリティカルサーバは、図１の処理を実行する。図１は、ミッションクリティカルサーバにおいて作業が行われる際の制御を示すので、以下ではミッションクリティカルサーバを「作業対象サーバ」という。
【００３３】
作業対象サーバは、例えば後述の図１３に示すコンピュータ６００のように構成されていてもよい。その場合、図１３のＣＰＵ６０１は、図１の処理のプログラムを実行する。
ステップＳ１０１において、作業対象サーバは作業手順書を取得し、記憶装置に格納する。記憶装置は、例えば、ＲＡＭ（Random Access Memory）などの揮発性メモリでもよく、ハードディスク装置などの不揮発性メモリでもよく、両者の組み合わせでもよい。
【００３４】
ステップＳ１０１での取得方法は任意である。例えば、作業対象サーバは、他のコンピュータからネットワークを介して作業手順書を受信してもよい。あるいは、コンピュータ読み取り可能な可搬型記憶媒体に、予め作業手順書が格納されていてもよい。そして、作業対象サーバが備える記憶媒体の駆動装置に上記の記憶媒体がセットされ、作業対象サーバが上記の記憶媒体から作業手順書を読み出してもよい。
【００３５】
第１実施形態において「作業手順書」とは、順序づけられた複数の順序づけ作業と、１つ以上の非順序づけ作業とを表す情報である。個々の非順序づけ作業は、予め決められた順序の範囲と対応づけられており、対応づけられた当該範囲で実行することが許可される。
【００３６】
なお、個々の作業、すなわち順序づけ作業および非順序づけ作業の各々は、作業対象サーバが実行する作業である。例えば、順序づけ作業は、順序を守って実行すべき一連の保守作業であってもよく、非順序づけ作業は、個々の保守作業の結果を確認するための作業であってもよい。
【００３７】
第１実施形態では、個々の作業は、コマンドラインインターフェイスを介して入力され
るコマンド文字列により表される。したがって、作業手順書は、複数の順序づけ作業と１つ以上の非順序づけ作業をそれぞれ表すコマンド文字列を含む。
【００３８】
ステップＳ１０１で作業手順書を取得した後、作業対象サーバは、ステップＳ１０２からＳ１０６の処理を繰り返す。
ステップＳ１０２において作業対象サーバは、作業の実行を指示する入力を受け取る。作業の実行を指示する入力は、例えば、コマンドラインインターフェイスを介して作業者から入力される、コマンド文字列である。あるいは、実行すべきコマンドの候補をコマンドラインインターフェイスがプロンプトに表示する場合には、ステップＳ１０２における入力は、表示された候補を実行するか否かを選択するための特定のキー入力であってもよい。
【００３９】
ステップＳ１０３において作業対象サーバは、ステップＳ１０２で受け取った入力が、許可される作業と適合するか否かを認識する。許可される作業に適合する入力だった場合、処理はステップＳ１０４に移行し、許可される作業に適合しない入力だった場合、処理はステップＳ１０５に移行する。
【００４０】
ここで、許可される作業とは、下記（１）または（２）に該当する作業である。
（１）作業手順書に表された複数の順序づけ作業のうち、未実行のものの中で、順序が最も前の作業。この（１）に該当する作業は、高々１つしか存在しない。
（２）作業手順書に表された１つ以上の非順序づけ作業のうち、上記（１）に該当する作業の順序を含む範囲と対応づけられた作業。この（２）に該当する作業は、存在しないこともあり、１つまたは複数存在することもある。
【００４１】
ステップＳ１０３において作業対象サーバは、作業手順書と、今までにどの作業を実行したかという履歴とに基づいて、許可される作業とステップＳ１０２の入力とが適合するか否かを認識する。
【００４２】
作業対象サーバは、ステップＳ１０２における入力を、作業手順書内の個々の順序づけ作業および非順序づけ作業と順次比較することで、ステップＳ１０３の認識を行ってもよい。あるいは、作業対象サーバは、上記（１）と（２）に該当するすべての作業を表す制御情報を生成し、制御情報を参照することでステップＳ１０３の認識を行ってもよい。
【００４３】
また、ステップＳ１０３の認識において、２つのコマンド文字列で表される２つの作業同士が適合するのは、以下の３つの場合がありうる。
（１）２つのコマンド文字列が完全に一致する場合。
（２）少なくとも一方のコマンド文字列には式で表された引数が含まれ、コマンド文字列中の式を、式の評価結果の値で置き換えて比較すると、２つのコマンド文字列が一致する場合。
（３）作業手順書においてワイルドカードを用いて定義されたコマンド文字列に、ステップＳ１０２で入力されたコマンド文字列が適合（マッチ）する場合。
【００４４】
ステップＳ１０３の後、ステップＳ１０４で作業対象サーバは、ステップＳ１０２で受け取った入力により指示される作業の実行を許可し、その結果として、作業を実行する。逆に、ステップＳ１０５では作業対象サーバは、ステップＳ１０２で受け取った入力により指示される作業の実行を拒否する。
【００４５】
ステップＳ１０４またはＳ１０５の実行後、処理はステップＳ１０６に移行する。ステ
ップＳ１０６で作業対象サーバは、実行すべきすべての作業が終了したか否かを判断する。
【００４６】
つまり、作業対象サーバは、作業手順書に表された複数の順序づけ作業のすべてが実行済みか否かを判断する。そして、作業手順書に表された複数の順序づけ作業のすべてが実行済みであれば、図１の処理は終了する。未実行の順序づけ作業が残っていれば、処理はステップＳ１０２に戻る。
【００４７】
以上の図１の処理によれば、複数の順序づけ作業間の順序関係が崩れることなく、複数の順序づけ作業は、順次ステップＳ１０４において実行される。例えば、２番目の順序づけ作業まで実行済みで、３番目以降の順序づけ作業が未実行とする。このとき、例えば１番目や４番目の順序づけ作業の実行を指示する入力がステップＳ１０２で受け付けられたとしても、ステップＳ１０５で実行が拒否される。よって、複数の順序づけ作業は、順序どおりに実行されることが保証される。
【００４８】
また、非順序づけ作業の実行を指示する入力がステップＳ１０２において受け取られた場合は、作業手順書と矛盾しないタイミングでの入力であるときだけ、非順序づけ作業の実行が許可される。
【００４９】
すなわち、第１実施形態において、作業手順書に定義された非順序づけ作業を実行するか否かということは、作業者が任意に決めることができる。また、例えば「ｎ番目の順序づけ作業の後からｍ番目の順序づけ作業の前まで」（ｎとｍは、１≦ｎ＜ｍなる整数）という範囲と対応づけられた非順序づけ作業Ｘが作業手順書に含まれる場合、非順序づけ作業Ｘを実行する順序にはある程度の自由がある。
【００５０】
例えば、副作用のない非順序づけ作業は、いつ実行されても問題を生じないので、「１番目の順序づけ作業の前から最後の順序づけ作業の直前まで」という範囲と対応づけられていてもよい。
【００５１】
また、ステップＳ１０６において、すべての順序づけ作業が実行済みで、かつ、明示的に作業手順の終了を指示する入力が与えられた場合に作業手順が終了すると判定するよう、第１実施形態を変形してもよい。すると、最後の順序づけ作業よりも後にも非順序づけ作業の実行を許可することが可能となる。例えば、副作用のない非順序づけ作業は「１番目の順序づけ作業の前から最後の順序づけ作業の後まで」という範囲と対応づけられていてもよい。
【００５２】
したがって、第１実施形態およびその変形例では、作業手順書において１つまたは複数の非順序づけ作業が適切に定義されてさえいれば、作業者が必要に応じて非順序づけ作業の実行を指示する入力を行うことで、非順序づけ作業の柔軟な実行が可能となる。つまり、第１実施形態では、非順序づけ作業を実行するか否かという点での柔軟性と、どのタイミングで非順序づけ作業を実行するかという点での柔軟性が確保されている。
【００５３】
他方で、第１実施形態では、作業手順書に矛盾する不適切なタイミングで非順序づけ作業の実行が許可されることはなく、作業手順書に定義されていない作業の実行が許可されることもない。例えば、ｎ番目の順序づけ作業の前またはｍ番目の順序づけ作業の後に、作業者がコマンドラインインターフェイスを介して、上記の非順序づけ作業Ｘを実行するよう指示する入力を作業対象サーバに与えた場合、非順序づけ作業Ｘの実行は拒否される。
【００５４】
したがって、第１実施形態によれば、柔軟性が確保されるだけではなく、実際に実行さ
れた手順の適正さも保証されている。図１の処理により作業対象サーバ自身が手順の適正さを保証しているので、第１実施形態によれば、例えば立会人が目視確認により手順の適正さを保証する必要がない。したがって、第１実施形態では、作業が適切な順序で適正に行われたことを保証するのに必要な手間が、従来と比べて削減されている。
【００５５】
続いて、第２実施形態について図２〜図１４を参照して説明する。
図２は、第２実施形態におけるシステム構成図である。図２のシステムは、不図示のネットワークを介して互いに接続された、テストサーバ１００と、管理サーバ２００と、操作端末３００と、作業対象サーバ４００という４つのブロックを含む。図２にはさらに、作業者５０１、管理者５０２、および作業者５０３が図示されている。作業者５０１と作業者５０３は、同一人物でもよく、異なる人物でもよい。
【００５６】
作業対象サーバ４００は、社会的に重要なサービスを提供するミッションクリティカルサーバである。したがって、作業対象サーバ４００では、適正さの保証された作業手順のみが行われるべきである。
【００５７】
テストサーバ１００は、作業対象サーバ４００において実行しようとする作業手順を事前にテストし、適切な作業手順書１０６を作成するための環境である。作業手順書１０６の例は図６とともに後述する。テストサーバ１００のハードウェア構成およびソフトウェア構成は、作業対象サーバ４００と同じか、または作業対象サーバ４００のサブセットである。
【００５８】
管理サーバ２００は、テストサーバ１００により作成された作業手順書１０６を受け取り、格納し、管理する。管理サーバ２００は複数の作業手順書を蓄積して管理することができる。図２には、作業手順書２０７ａ〜２０７ｃを図示してある。例えば、作業手順書２０７ａと２０７ｂは管理サーバ２００が以前蓄積したものであり、作業手順書２０７ｃはテストサーバ１００が新たに作成した作業手順書１０６を管理サーバ２００が新たに受信して格納したものである。
【００５９】
第２実施形態では、管理サーバ２００は、管理専用のサーバ環境として、テストサーバ１００からも作業対象サーバ４００からも分離された、独立したサーバである。
管理サーバ２００に格納された作業手順書２０７ａ〜２０７ｃは、操作端末３００を介して参照および編集することができる。詳しくは後述するが、管理サーバ２００と操作端末３００は、上記の参照および編集を可能とするための機能を提供する。
【００６０】
編集には、個々の作業の変更、削除、および追加だけではなく、複数の作業手順書の結合、作業手順書の承認、定型句の定義など様々な種類がある。様々な種類の編集を行うための操作端末３００の画面３０１の例は、図６〜図８とともに後述する。また、編集された後の作業手順書２０７ｃの例は、図９とともに後述する。
【００６１】
管理サーバ２００に格納された作業手順書２０７ａ〜２０７ｃは、必要に応じて作業対象サーバ４００に送付される。例えば、管理サーバ２００は作業手順書２０７ｃを作業対象サーバ４００に送付し、作業対象サーバ４００は送付された作業手順書２０７ｃを作業手順書４０７として取得する。
【００６２】
作業対象サーバ４００は、第１実施形態と類似の処理により作業手順書４０７にしたがって動作し、動作の結果を作業記録４１２として記録する。
具体的には、作業対象サーバ４００は、作業手順書４０７に基づいてアクセス制御設定４１０を生成し、アクセス制御設定４１０を用いた強制アクセス制御を行うことにより、作業者５０３に対して作業支援機能を提供する。アクセス制御設定４１０は、第１実施形
態の図１のステップＳ１０３に関して説明した制御情報の一例である。強制アクセス制御を伴う作業支援については、図３、図４、および図１０Ａ〜図１１とともに後述する。
【００６３】
なお、以下では「強制アクセス制御」とは、個々の作業の実行を許可または拒否する制御を意味する。すなわち、本実施形態の「強制アクセス制御」における「アクセス」は、作業を実現する実行可能ファイルに対する実行アクセスを意味する。
【００６４】
また、作業対象サーバ４００は、作業記録４１２を管理サーバ２００に送信する。
管理サーバ２００は、作業対象サーバ４００から受信した作業記録４１２を蓄積し、管理する。図２には複数の作業記録２０９ａ〜２０９ｃが図示してある。例えば、作業記録２０９ａと２０９ｂは管理サーバ２００が以前蓄積したものであり、作業記録２０９ｃは作業対象サーバ４００から新たに受信されたものである。
【００６５】
なお、管理サーバ２００と操作端末３００は、操作端末３００を介して作業記録２０９ａ〜２０９ｃを参照するための機能も提供する。作業記録２０９ａ〜２０９ｃの参照については、図１２とともに後述する。
【００６６】
以上、図２の概略を説明した。続いて、図２の詳細を説明する。
テストサーバ１００は、作業者５０１からの入力を受け付ける入力部１０１を有する。入力部１０１は、例えば、キーボードおよびポインティングデバイスなどの入力装置と、コマンドラインインターフェイスにより実現される。作業者５０１がキーボードから入力したコマンド文字列が表す作業内容１０２は、入力部１０１を介して、テストサーバ１００のＯＳ（Operating System）１０３へと送られる。ＯＳ１０３は、作業内容１０２にしたがって作業を実行する。
【００６７】
また、テストサーバ１００は、入力部１０１からＯＳ１０３へと送られる情報を監視することで作業内容１０２を捕捉し、収集する作業内容捕捉部１０４を備える。例えば、公知のフック技術を利用することで、作業内容捕捉部１０４を実現することができる。
【００６８】
あるいは、作業内容捕捉部１０４は、ＯＳ１０３がコマンドを実行するたびに更新されるコマンド実行履歴を参照することで、作業内容１０２を捕捉してもよい。いずれにしろ、作業内容捕捉部１０４は、テストサーバ１００で実行された複数の作業の内容を、実行された順序とともに捕捉する捕捉手段として機能する。
【００６９】
テストサーバ１００はさらに、作業手順書生成部１０５と作業手順書転送部１０７を備える。作業内容捕捉部１０４は、作業内容１０２を捕捉すると、作業内容１０２から作業手順書１０６を生成するよう作業手順書生成部１０５に命令する。作業手順書生成部１０５は命令に応じて作業手順書１０６を生成し、作業手順書転送部１０７は生成された作業手順書１０６を管理サーバ２００に送信する。
【００７０】
作業手順書１０６は、この段階では、複数の作業を複数の順序づけ作業としてそれぞれ順序と対応づけているだけで、非順序づけ作業の定義は含まない。作業手順書生成部１０５は、作業内容捕捉部１０４による捕捉の結果に基づいて作業手順書１０６を生成する第１の生成手段として機能する。
【００７１】
管理サーバ２００は、作業手順書受信部２０１、作業手順書格納部２０２、端末インターフェイス部２０３、作業手順書転送部２０４、作業記録受信部２０５、および作業記録格納部２０６を備える。
【００７２】
作業手順書受信部２０１は、テストサーバ１００から作業手順書を受信して作業手順書
格納部２０２に出力する。作業手順書格納部２０２は、作業手順書受信部２０１から受け取った複数の作業手順書２０７ａ〜２０７ｃを蓄積する。
【００７３】
端末インターフェイス部２０３は、操作端末３００の画面３０１を介して作業者５０１および管理者５０２が、作業手順書２０７ａ〜２０７ｃの参照および編集、ならびに作業記録２０９ａ〜２０９ｃの参照を行うことを可能にする機能を提供する。例えば、端末インターフェイス部２０３と操作端末３００は次の（１）〜（３）のように動作する。
【００７４】
（１）作業者５０１または管理者５０２が画面３０１を介して作業手順書２０７ｃを参照しようとする場合、操作端末３００は、作業手順書２０７ｃのＩＤ（identifier）２０８ｃを端末インターフェイス部２０３に送信する。
【００７５】
すると、端末インターフェイス部２０３は作業手順書２０７ｃの内容を画面３０１に表示するために必要なデータを操作端末３００に送信し、操作端末３００は作業手順書２０７ｃの内容を画面３０１に表示する。
【００７６】
（２）作業者５０１または管理者５０２が画面３０１を介して、作業手順書２０７ｃに対する編集を指示した場合、操作端末３００は指示内容を端末インターフェイス部２０３に送信する。端末インターフェイス部２０３は、受信した指示内容にしたがって作業手順書格納部２０２内の作業手順書２０７ｃを編集する。
【００７７】
つまり、操作端末３００と端末インターフェイス部２０３は、作業手順書２０７ｃを編集するための入力を受け取る第１の入力手段として機能する。例えば、受け取った入力が、順序の範囲と作業とを対応づける入力である場合、端末インターフェイス部２０３は、受け取った入力で対応づけられている作業を、非順序づけ作業として、入力された範囲と対応づけて、作業手順書２０７ｃに追加する追加手段としても機能する。
【００７８】
（３）管理者５０２が画面３０１を介して、作業手順書２０７ｃどおりに正しく作業手順が実行されたか否かを確認しようとする場合、操作端末３００は作業手順書２０７ｃのＩＤ２０８ｃを端末インターフェイス部２０３に送信する。すると、端末インターフェイス部２０３は、ＩＤ２０８ｃと関連づけられた作業手順書２０７ｃおよび作業記録２０９ｃの内容を画面３０１に表示するために必要なデータを操作端末３００に送信する。
【００７９】
操作端末３００は、受信したデータにしたがって、作業手順書２０７ｃと作業記録２０９ｃの内容を比較しながら表示することで、管理者５０２による確認を容易にする。
なお、上記（１）〜（３）のように動作するために、操作端末３００は、画面３０１を表示するための専用のアプリケーションプログラムを備えていてもよい。あるいは、端末インターフェイス部２０３がＷｅｂアプリケーションを提供するＷｅｂサーバとして機能する場合は、操作端末３００は、汎用的なＷｅｂブラウザを用いて画面３０１を表示することもできる。
【００８０】
作業手順書転送部２０４は、必要に応じて、例えば作業手順書２０７ｃをＩＤ２０８ｃとともに作業手順書受信部４０６に送信する。また、作業記録受信部２０５は、例えば作業手順書２０７ｃに対応して作業対象サーバ４００で記録された作業記録４１２を受信し、作業記録２０９ｃとして作業記録格納部２０６に格納する。
【００８１】
作業対象サーバ４００は、作業者５０３からの入力を受け付ける入力部４０１と、作業者５０３へプロンプトやメッセージなどを表示する表示部４０２とを備える。また、作業対象サーバ４００にはＯＳ４０３がインストールされている。
【００８２】
入力部４０１は、例えば、キーボードおよびポインティングデバイスなどの入力装置と、コマンドラインインターフェイスにより実現される。表示部４０２は、例えば、液晶ディスプレイなどの表示装置とコマンドラインインターフェイスにより実現される。
【００８３】
作業対象サーバ４００はさらに、作業支援部４０４、強制アクセス制御部４０５、作業手順書受信部４０６、アクセス制御設定自動生成部４０９、作業結果記録部４１１、および作業結果転送部４１３を備える。これら各部は下記のように動作し、より詳しくは、図４のように動作する。
【００８４】
作業支援部４０４は、入力部４０１および表示部４０２によるユーザインターフェイスと、アクセス制御設定自動生成部４０９および強制アクセス制御部４０５による強制アクセス制御とを仲介することで、作業者５０３を支援する。入力部４０１と作業支援部４０４は、第１の作業の実行を指示する入力を受け取る第２の入力手段として機能する。
【００８５】
アクセス制御設定自動生成部４０９は、作業手順書受信部４０６が受信した作業手順書４０７に基づいてアクセス制御設定４１０を生成する。アクセス制御設定４１０の生成は、繰り返し動的に行われる。強制アクセス制御部４０５は、アクセス制御設定４１０に基づいて強制アクセス制御を実行する。
【００８６】
強制アクセス制御部４０５により実行が許可された作業はＯＳ４０３により実行され、表示部４０２が実行結果を表示する。
このように、アクセス制御設定自動生成部４０９と強制アクセス制御部４０５は、入力部４０１と作業支援部４０４を介して受け取った入力により実行が指示される作業が、許可される作業と適合するか否かを認識する認識手段として機能する。許可される作業は、未実行の順序づけ作業の中で順序が最も前の第２の作業、または、第２の作業の順序を含む範囲と対応づけられた非順序づけ作業である第３の作業である。
【００８７】
また、強制アクセス制御部４０５は、第２の作業または第３の作業と第１の作業とが適合すれば第１の作業の実行を許可し、第２の作業と第３の作業のいずれとも第２の作業が適合しなければ第１の作業の実行を拒否する制御手段としても機能する。
【００８８】
また、作業結果記録部４１１は、作業支援部４０４が入力部４０１から受け取ったすべての指示を、強制アクセス制御部４０５による実行の許可または拒否の結果に対応づける作業記録４１２を生成する。
【００８９】
作業結果転送部４１３は、作業手順書４０７が示す一連の作業が完了したら、作業記録４１２を管理サーバ２００に送信する。
なお、作業記録４１２は監査ログの一種である。作業対象サーバ４００は、監査ログの改竄防止のための周知の技術を用いて、作業記録４１２を改竄の危険から保護している。例えば、作業結果記録部４１１にのみ作業記録４１２への書き込み権限を付与し、作業支援部４０４と作業結果転送部４１３にのみ作業記録４１２の読み込み権限を付与することで、作業対象サーバ４００は作業記録４１２を保護することができる。
【００９０】
また、管理サーバ２００も、同様の改竄防止技術により、受信した作業記録２０９ａ〜２０９ｃを保護している。すなわち、管理サーバ２００において作業記録２０９ａ〜２０９ｃが保存される作業記録格納部２０６への書き込み権限を持つのは作業記録受信部２０５のみである。また、作業記録格納部２０６からの作業記録２０９ａ〜２０９ｃの読み出し権限を持つのは、端末インターフェイス部２０３のみである。したがって、操作端末３００を介して参照される作業記録２０９ａ〜２０９ｃは、改竄されていない正しい記録である。
【００９１】
続いて、図３を参照して図２のシステムの動作の概要を説明する。図３は、図２のシステムの動作を示すフローチャートである。
ステップＳ２０１において、例えば入力部１０１が作業者５０１から作業手順書１０６の生成開始を指示する特定の入力を受け取ることを契機として、作業手順書生成部１０５が作業手順書１０６を初期化する。具体的には、例えば、作業手順書生成部１０５は空の作業手順書１０６を新たに作成し、図６とともに後述するような作業手順書１０６に関するメタ情報を収集して作業手順書１０６に書き込む。
【００９２】
続くステップＳ２０２〜Ｓ２０５は繰り返しループを形成している。ステップＳ２０２〜Ｓ２０５の１回の繰り返しは、１つの作業に対応する。ステップＳ２０１〜Ｓ２０５の処理により、作業対象サーバ４００において行うべき作業手順を作業者５０１がテストサーバ１００において事前に確認するだけで、自動的に作業手順書１０６が生成される。
【００９３】
ステップＳ２０２では、テスト環境であるテストサーバ１００での作業手順の確認が行われる。具体的には、入力部１０１が作業内容１０２を作業者５０１から受け取り、ＯＳ１０３に作業内容１０２を出力する。作業内容１０２は、本実施形態では、コマンド文字列で表される。コマンド文字列は、引数（オプションともいう）を含んでいてもよく、パイプやリダイレクションを含んでいてもよい。ＯＳ１０３は作業内容１０２にしたがって、通常どおり作業を実行する。
【００９４】
すると、ステップＳ２０３において、ＯＳ１０３への入力を常時監視している作業内容捕捉部１０４が作業内容１０２を捕捉し、例えばテストサーバ１００のＲＡＭに格納する。例えば、作業内容捕捉部１０４は、ＯＳ１０３へ入力される作業内容１０２をフックすることで捕捉することができる。
【００９５】
そして、ステップＳ２０４において、作業内容捕捉部１０４は捕捉した作業内容１０２を作業手順書１０６に追加するよう作業手順書生成部１０５に指示する。作業手順書生成部１０５は、ＲＡＭに格納された作業内容１０２を参照し、作業手順書１０６に作業内容１０２を追加する。
【００９６】
例えば、ステップＳ２０４のｉ回目（ｉは１以上の整数）の実行において、作業手順書生成部１０５は、作業の実行順序を示す整数ｉと、ｉ番目に実行された作業を表すコマンド文字列との組を作業手順書１０６に追加する。すなわち、ステップＳ２０４のｉ回の実行により、作業手順書１０６には、ｉ個の順序づけ作業が記録される。
【００９７】
続いて、ステップＳ２０５において、作業内容捕捉部１０４は、作業手順を構成する一連の作業が終了したか否かを判断する。例えば、入力部１０１が作業者５０１から作業終了を示す特定の入力を受け取った場合、作業内容捕捉部１０４は作業が終了したと判断し、処理はステップＳ２０６に移行する。作業終了を示す特定の入力を入力部１０１が受け取らなければ、処理はステップＳ２０２に戻り、次の順序の作業を表すコマンド文字列を再び入力部１０１が受け取る。
【００９８】
作業終了を示す特定の入力は、２種類以上あってもよく、そのうち１種類は、テストサーバ１００を再起動するためのコマンド文字列でもよい。
ステップＳ２０６では、作業手順書転送部１０７が作業手順書１０６を管理サーバ２００に送信し、作業手順書受信部２０１が作業手順書１０６を受信して、例えば作業手順書２０７ａとして作業手順書格納部２０２に格納する。
【００９９】
続くステップＳ２０７〜Ｓ２０８は繰り返しループを形成している。
ステップＳ２０７において、作業者５０１および管理者５０２が、操作端末３００の画面３０１を介して、作業手順書２０７ａ〜２０７ｃを適宜修正および確認する。作業手順書２０７ａ〜２０７ｃを修正するための編集機能と、作業手順書２０７ａ〜２０７ｃを確認するための参照機能は、上記のとおり端末インターフェイス部２０３と操作端末３００により提供される。
【０１００】
具体的には、操作端末３００および端末インターフェイス部２０３は、作業者５０１から例えば以下の（１）〜（９）のような指示を必要に応じて受け取る。そして、端末インターフェイス部２０３は受け取った指示に応じて、作業手順書格納部２０２内の作業手順書２０７ａ〜２０７ｃを適宜編集する。なお、以下の例では、最終的に生成されるのは作業手順書２０７ｃであり、作業手順書２０７ｃに最終的に含まれる作業には、順序づけ作業と非順序づけ作業の２種類がある。
【０１０１】
（１）作業手順書２０７ａを他の作業手順書２０７ｂと結合して新たな作業手順書２０７ｃとして保存する指示。
（２）作業手順書２０７ｃに作業を追加する指示。
（３）作業手順書２０７ｃから作業を削除する指示。
（４）定型句の定義を作業手順書２０７ｃに追加する指示。
（５）例えば、コマンド名やコマンドの引数を変更することにより、作業手順書２０７ｃ中の作業の内容を変更する指示。
（６）順序づけ作業を非順序づけ作業に変更する指示、または非順序づけ作業を順序づけ作業に変更する指示。
（７）非順序づけ作業に順序の範囲を対応づける指示。
（８）作業手順書２０７ｃ内の作業の順序を入れ替える指示。
（９）作業手順書２０７ｃの配布先として作業対象サーバ４００を指定する指示。
上記の（１）〜（９）の指示は、管理者５０２により与えられてもよい。また、上記（１）の指示とは逆に、１つの作業手順書を複数に分割する指示にも対応する実施形態も可能である。
【０１０２】
また、操作端末３００および端末インターフェイス部２０３は、管理者５０２から、編集の完了した作業手順書２０７ｃの適正さを承認するための入力を受け取る。そして、端末インターフェイス部２０３は、作業手順書格納部２０２内の作業手順書２０７ｃを承認済みの状態に変える。例えば、端末インターフェイス部２０３は、作業手順書２０７ｃの内部に、承認済みであることを示すデータを書き込んでもよく、作業手順書２０７ｃの外部に設けたフラグの値を「承認済み」を示す値に設定してもよい。承認済みか否かを表すための方法は実施形態に応じて任意である。
【０１０３】
ステップＳ２０８において、作業手順書２０７ｃの修正が終了したか否かを、操作端末３００または端末インターフェイス部２０３が判断する。例えば、作業手順書２０７ｃの適正さを承認する入力を管理者５０２から受け取った場合、作業手順書２０７ｃの修正が終了した、と端末インターフェイス部２０３が判断してもよい。
【０１０４】
作業手順書２０７ｃの修正が終了したら処理はステップＳ２０９に移行し、作業手順書２０７ｃの修正が終了していなければ処理はステップＳ２０７に戻る。
ステップＳ２０９において、端末インターフェイス部２０３は、管理サーバ２００内で一意なＩＤ２０８ｃを生成し、ＩＤ２０８ｃを作業手順書２０７ｃに関連づけて作業手順書格納部２０２に格納する。
【０１０５】
そして、ステップＳ２１０において、作業手順書転送部２０４は作業手順書２０７ｃとＩＤ２０８ｃの組を作業対象サーバ４００に転送する。転送された作業手順書２０７ｃとＩＤ２０８ｃは、作業手順書４０７およびＩＤ４０８として作業対象サーバ４００の作業手順書受信部４０６で受信される。作業手順書受信部４０６は、作業手順書４０７とＩＤ４０８を作業支援部４０４に出力する。
【０１０６】
ステップＳ２１１〜Ｓ２１４は繰り返しループを形成している。ステップＳ２１１〜Ｓ２１４は概略を示しており、詳細は図４とともに後述する。
ステップＳ２１１において、入力部４０１が受け取った入力に基づき、作業支援部４０４が必要に応じてアクセス制御設定自動生成部４０９にアクセス制御設定４１０の生成を指示する。そして、アクセス制御設定自動生成部４０９が作業手順書４０７の内容を解析し、解析結果に基づいて必要なアクセス制御設定４１０を生成する。
【０１０７】
続くステップＳ２１２では、作業支援部４０４からの入力とアクセス制御設定４１０とに基づいて、強制アクセス制御部４０５が強制アクセス制御を実施する。すなわち、強制アクセス制御部４０５は、作業支援部４０４を介して指示された作業の実行を許可するか否かを、アクセス制御設定４１０に基づいて判断する。
【０１０８】
強制アクセス制御部４０５は、作業の実行を許可する場合、作業内容をＯＳ４０３に出力する。その結果、ＯＳ４０３を介して作業が実行され、実行結果などを示す各種の作業応答が表示部４０２に表示される。
【０１０９】
続いてステップＳ２１３において、強制アクセス制御部４０５はステップＳ２１２での強制アクセス制御の判断の結果を作業結果記録部４１１に通知する。作業結果記録部４１１は、強制アクセス制御部４０５から通知された結果を、作業記録４１２に出力する。作業記録４１２は、例えば、入力部４０１と作業支援部４０４を介して指示された作業を表すコマンド文字列と、ステップＳ２１２での判断の結果とを含む。
【０１１０】
ステップＳ２１４において、作業支援部４０４は、作業手順書４０７に定義されたすべての順序づけ作業が終了したか否かを判断する。すべての順序づけ作業が終了していれば処理はステップＳ２１５に移行し、未処理の順序づけ作業が残っていれば処理はステップＳ２１１に戻る。
【０１１１】
ステップＳ２１５において、作業結果転送部４１３は作業記録４１２を管理サーバ２００へ転送する。管理サーバ２００の作業記録受信部２０５は作業記録４１２を受信し、例えば作業記録２０９ｃとして作業記録格納部２０６に格納する。なお、管理サーバ２００への転送が成功したら、作業結果転送部４１３が作業結果記録部４１１に転送の成功を通知し、作業結果記録部４１１が作業記録４１２を消去してもよい。
【０１１２】
そして、ステップＳ２１６において、端末インターフェイス部２０３は、管理者５０２からの指示を、画面３０１を介して操作端末３００から受け取る。端末インターフェイス部２０３は、受け取った指示に基づいて、同じＩＤ２０８ｃに対応づけられた作業記録２０９ｃと作業手順書２０７ｃを照らし合わせて画面３０１に表示するために必要なデータを、操作端末３００に送信する。管理サーバ２００は、受け取ったデータに基づき、作業手順書２０７ｃと作業記録２０９ｃとを比較して画面３０１に表示する。したがって、管理者５０２は、表示された内容に基づいて、作業対象サーバ４００において適正に作業が行われたことを容易に確認することができる。
【０１１３】
図４は、第２実施形態において作業対象サーバが実行する処理のフローチャートである
。上述のとおり、図４は図３のステップＳ２１１〜Ｓ２１４を詳細化して示す図である。
ステップＳ３０１において、入力部４０１を介して作業支援部４０４が、作業手順書４０７にしたがって作業を開始することを指示する特定のコマンドを受け取り、受け取ったコマンドを実行する。以下では、ステップＳ３０１でのコマンドについて、「startmaintenance」という名前であり、参照すべき作業手順書４０７に対応するＩＤ４０８を引数として必要とするコマンドであるものとして説明する。
【０１１４】
さらに、ステップＳ３０１において作業支援部４０４は、以降の処理に必要な特権を取得する。例えば、作業支援部４０４は、作業支援部４０４と強制アクセス制御部４０５を介してＯＳ４０３により実行される作業がスーパーユーザ権限で実行されるようにするため、スーパーユーザ権限を取得する。
【０１１５】
ステップＳ３０２において、作業支援部４０４は、ステップＳ３０１で「startmaintenance」コマンドに指定された引数が、正しいＩＤ４０８であるか否かを判断する。
例えば、作業手順書４０７は、ＩＤ４０８と関連づけられており、作業対象サーバ４００のハードディスク装置内の所定のディレクトリに格納されている。この場合、作業支援部４０４は、指定された引数と関連づけられた作業手順書４０７が所定のディレクトリに存在すれば、指摘された引数が正しいＩＤ４０８であると判断するとともに、読み込むべき作業手順書が作業手順書４０７であることを特定する。
【０１１６】
もし、作業手順書４０７とともに作業手順書受信部４０６が受信したＩＤ４０８ではない誤った値が、ステップＳ３０１において引数に指定されていた場合は、処理はステップＳ３０３に移行する。逆に、正しいＩＤ４０８がステップＳ３０１において引数に指定されていた場合は、処理はステップＳ３０４に移行する。
【０１１７】
ステップＳ３０３において、作業支援部４０４は、不正なＩＤが指定されたことを、ＩＤ４０８の値とともに強制アクセス制御部４０５に通知する。強制アクセス制御部４０５は、作業支援部４０４からの通知に基づいて、「startmaintenance」コマンドの実行を拒否した旨を作業記録４１２すなわちログに出力するよう、作業結果記録部４１１に指示する。
【０１１８】
そして、作業結果記録部４１１は、「startmaintenance」コマンドの実行を拒否した旨を作業記録４１２に出力する。また、作業支援部４０４は、ステップＳ３０１で取得した特権の利用を終了する。こうして図４の処理が終了する。
【０１１９】
他方、正しいＩＤ４０８が指定された場合は、続いてステップＳ３０４以下の処理が実行される。
ステップＳ３０４において、作業支援部４０４は、正しいＩＤ４０８が指定されたことを、ＩＤ４０８の値とともに強制アクセス制御部４０５に通知する。強制アクセス制御部４０５は、作業支援部４０４からの通知に基づいて、「startmaintenance」コマンドにより作業手順書４０７にしたがって作業を開始する旨を作業記録４１２すなわちログに出力するよう、作業結果記録部４１１に指示する。そして、作業結果記録部４１１は、指示されたとおり、作業の開始を作業記録４１２に出力する。
【０１２０】
また、ステップＳ３０４において、作業支援部４０４は、実行済みの順序づけ作業の数を認識し、実行済みの順序づけ作業の数を示すカウンタ変数ｋの値を、認識した値に設定する。
【０１２１】
すなわち、作業支援部４０４は、ステップＳ３０２で正しいと判断したＩＤ４０８に対応する作業記録４１２が存在するか否かを判断する。そして、ＩＤ４０８に対応する作業
記録４１２が存在しなければ、作業手順書４０７に基づく作業手順の実行は今までに行われていないので、ｋ＝０である、と作業支援部４０４は認識する。
【０１２２】
他方、ステップＳ３０２で正しいと判断したＩＤ４０８に対応する作業記録４１２が存在する場合、作業支援部４０４は作業記録４１２を参照する。また、作業記録４１２の形式に応じて、作業支援部４０４は、必要ならば作業手順書４０７も参照し、作業手順書４０７と作業記録４１２を比較する。その結果、作業支援部４０４は、作業記録４１２に基づいて、作業手順書４０７に定義された順序づけ作業のどこまでが過去に実行されたかを認識する。
【０１２３】
例えば、１０個の順序づけ作業を含む作業手順書４０７の３番目に、ＯＳ４０３を再起動させる作業が含まれているとする。この場合、再起動後に再度図４の処理が実行されると、３番目までの順序づけ作業の実行履歴を表す作業記録４１２が見つかることから、作業支援部４０４はステップＳ３０４においてｋ＝３と認識する。
【０１２４】
また、ステップＳ３０４において作業支援部４０４は、後述の定型句の置換処理も行う。
続いて、ステップＳ３０５において作業支援部４０４は、ＩＤ４０８に対応する作業手順書４０７を読み込む。また、ステップＳ３０６において強制アクセス制御部４０５は、作業手順書４０７に定義されたすべての順序づけ作業が終了したか否かを判定する。
【０１２５】
例えば、作業手順書４０７にはＮ個の順序づけ作業が定義されているとする（Ｎは２以上の整数）。すると、Ｎ＝ｋのとき、すべての順序づけ作業が終了しているので処理はステップＳ３０７に移行し、Ｎ＞ｋのとき、まだ実行していない順序づけ作業が残っているので処理はステップＳ３０８に移行する。
【０１２６】
ステップＳ３０７において、強制アクセス制御部４０５は、作業手順書４０７にしたがった作業手順の実行が完了したことを作業記録４１２すなわちログに出力するよう、作業結果記録部４１１に指示する。そして、作業結果記録部４１１は、指示されたとおり作業手順の実行完了を作業記録４１２に出力する。また、作業支援部４０４は、ステップＳ３０１で取得した特権の利用を終了する。そして、図４の処理は正常に終了する。
【０１２７】
他方、まだ実行していない順序づけ作業が残っている場合は、ステップＳ３０８において、アクセス制御設定自動生成部４０９がアクセス制御設定４１０を生成する。ステップＳ３０８で生成されるアクセス制御設定４１０は、後のステップＳ３１０で適用される。アクセス制御設定４１０は、現在直ちに実行することが許される作業を表す情報であり、具体的には、下記（１）または（２）の条件を満たすすべての作業を表す情報である。
【０１２８】
（１）作業手順書４０７に含まれるＮ個の順序づけ作業のうちの、未実行の順序づけ作業の中で、順序が最も前の作業、すなわち、（ｋ＋１）番目の順序づけ作業。
（２）作業手順書４０７に含まれる非順序づけ作業のうちで、（ｋ＋１）番目という順序を含む範囲と対応づけられた非順序づけ作業。
【０１２９】
続いて、ステップＳ３０９において、作業支援部４０４は、作業手順書４０７を参照し、（ｋ＋１）番目の順序づけ作業を表示部４０２に表示させる。本実施形態では、現在直ちに実行することが許される作業のうち、上記（１）を実行することがデフォルトの手順として決められている。ステップＳ３０９では、表示部４０２がデフォルトの手順を表示し、作業者５０３に通知する。
【０１３０】
すると、表示部４０２を見た作業者５０３は、入力部４０１を介して何らかの入力操作
を行う。入力部４０１は、例えば、ステップＳ３０９で表示された（ｋ＋１）番目の順序づけ作業の実行を指示する入力を受け取るかもしれないし、その他の作業の実行を指示する入力を受け取るかもしれない。
【０１３１】
そこで、ステップＳ３１０において、入力部４０１は作業者５０３から受け取った入力の内容を作業支援部４０４に通知する。作業支援部４０４は、入力部４０１から受け取った入力を強制アクセス制御部４０５に出力し、ステップＳ３０８で生成されたアクセス制御設定４１０を適用して強制アクセス制御を行うよう指示する。
【０１３２】
指示を受けた強制アクセス制御部４０５は、作業支援部４０４からの入力すなわち作業者５０３による操作内容が、アクセス制御設定４１０によって現在直ちに実行することの許された作業に適合するか否かを判断する。適合する場合は、作業の実行を許可するため処理がステップＳ３１１に移行し、適合しない場合は、作業の実行を拒否するため処理がステップＳ３１４に移行する。
【０１３３】
ステップＳ３１１において、強制アクセス制御部４０５は、入力された作業の実行を許可する旨を、入力された内容とともに作業記録４１２に出力するよう、作業結果記録部４１１に指示する。作業結果記録部４１１は指示にしたがい、実行が許可された作業を作業記録４１２すなわちログに出力する。
【０１３４】
例えば、作業結果記録部４１１は、ステップＳ３０９で入力されたコマンド文字列を、コマンドの実行が許可されたことを表すデータとともに、作業記録４１２に追記する。また、作業結果記録部４１１は、さらに下記（１）〜（４）の内容を作業記録４１２に記録してもよい。
（１）順序づけ作業と非順序づけ作業のいずれの種類であるか
（２）作業の実行日時
（３）順序づけ作業の場合は、対応づけられた順序
（４）非順序づけ作業の場合は、対応づけられた範囲
【０１３５】
続いて、ステップＳ３１２において、強制アクセス制御部４０５は、ステップＳ３０９で作業者５０３が行った操作により示される作業を実行するよう、ＯＳ４０３に指示する。ＯＳ４０３は、強制アクセス制御部４０５からの指示にしたがって作業を実行する。また、強制アクセス制御部４０５は、実行済みの順序づけ作業の数を示すカウンタ変数ｋの値を１だけ増やす。
【０１３６】
そして、ステップＳ３１３において、ＯＳ４０３は、作業の結果を表示部４０２に表示させる。その結果、作業者５０３には、入力部４０１への入力操作の結果が表示部４０２に表示されたように見える。ステップＳ３１３の実行後、処理はステップＳ３０５に戻る。
【０１３７】
他方、実行が許されない作業を実行するよう指示する操作がステップＳ３０９で行われた場合は、Ｓ３１４において、強制アクセス制御部４０５が、作業の実行を拒否する旨を作業支援部４０４に通知する。すると、作業支援部４０４は、入力が拒否された旨のエラー表示を行うよう、表示部４０２に指示する。表示部４０２は指示にしたがってエラー表示を行う。
【０１３８】
そして、ステップＳ３１５において、強制アクセス制御部４０５は、ステップＳ３０９で作業者５０３が行った操作により示される作業の実行を拒否する旨を作業記録４１２に記録するよう、作業結果記録部４１１に指示する。作業結果記録部４１１は指示にしたがって、拒否された入力内容を、実行が拒否されたことを表すデータとともに、作業記録４１２に追記する。
【０１３９】
ステップＳ３０９で指示された作業の実行が拒否された場合、実行済みの順序づけ作業の数を示すカウンタ変数ｋの値には変化がない。したがって、アクセス制御設定４１０を更新する必要もない。そこで、ステップＳ３１５の実行後は、処理はステップＳ３０９に戻る。
【０１４０】
続いて、第２実施形態における作業手順書４０７とアクセス制御設定４１０の具体例について、画面の例やタイミングチャートとともに、さらに詳細に説明する。
図５は、第２実施形態における非順序づけ作業の種類を説明する図である。
【０１４１】
第２実施形態では、作業手順書２０７ａ〜２０７ｃに、「global executable definition」および「limited executable definition」と名付けた２種類の非順序づけ作業を追加することができる。
【０１４２】
Global executable definitionは、作業手順書に定義される作業手順の実行時であればいつでも実施可能であり、いつでも強制アクセス制御部４０５により実行が許可されるべき種類の非順序づけ作業である。つまり、Global executable definitionとして設定される非順序づけ作業の実行を指示する操作は、作業手順の実施時には、強制アクセス制御による拒否の対象からはずれることになる。
【０１４３】
換言すれば、複数の順序づけ作業を含む作業手順書において、global executable definitionとして設定される非順序づけ作業は、順序づけ作業の最初の順序の直前または直後から、順序づけ作業の最後の順序の直前または直後までの、大域的範囲と対応づけられている。
【０１４４】
本実施形態では、「作業手順の実行時であればいつでも」という条件は「最初の順序づけ作業が実行される前から、最後の順序づけ作業が実行される前まで」と解釈される。したがって、本実施形態では、global executable definitionとして設定される非順序づけ作業は、最初の順序の直前から最後の順序の直前までの範囲と対応づけられている。実施形態に応じて、global executable definitionに対応する大域的範囲の定義は、適宜定めることが可能である。例えば、「最初の順序の直後から最後の順序の直後まで」のように大域的範囲が定義された実施形態も可能である。
【０１４５】
Global executable definitionとして設定するのに適した非順序づけ作業の例は、例えば、直前に実施したコマンドの復帰値を表示することにより、直前に実施したコマンドが正常に終了したか否かを確認するためのコマンドである。具体例は、「echo $?」というコマンドである。ＵＮＩＸシステム（ＵＮＩＸは登録商標）では、直前のコマンドの復帰値が「$?」という変数に格納されており、「echo」は引数を標準出力に出力するコマンドである。
【０１４６】
他方、実行順序をある程度制限することが好ましい作業や、実行順序をある程度制限することが必要な非順序づけ作業も存在する。そのような非順序づけ作業は、特定の２つの順序づけ作業の順序により定義される範囲内でのみ実施可能なlimited executable definitionとして定義される。Limited executable definitionとして設定される非順序づけ作業は、global executable definitionとして設定される非順序づけ作業とは異なり、定義された範囲以外では、強制アクセス制御部４０５による拒否の対象とされる。
【０１４７】
Limited executable definitionとして設定するのに適した非順序づけ作業の例は、例えば、特定の順序づけ作業の後に生成されるはずの定義ファイルの内容を表示するための
コマンドである。
【０１４８】
例えば、ｎ番目の順序づけ作業が、「/def/customer.dat」という定義ファイルを生成する作業であるとする。そして、（ｎ＋１）番目の順序づけ作業が、「/def/customer.dat」という定義ファイルを利用する作業であるとする。この場合、ミッションクリティカルサーバにおいては、ｎ番目の順序づけ作業の後、かつ（ｎ＋１）番目の順序づけ作業よりも前に、定義ファイルが正しく生成されたか否かを確認することが必要である。
【０１４９】
そこで、「cat」コマンドを使って「/def/customer.dat」という定義ファイルの内容を標準出力に出力する作業を、「ｎ番目と（ｎ＋１）番目の間」という局所的範囲に対応づけられたlimited executable definitionとして設定することが望ましい。すると「cat /def/customer.dat」というコマンドは、ｎ番目の順序づけ作業と（ｎ＋１）番目の順序づけ作業の間でのみ実行可能となる。
【０１５０】
図６は、第２実施形態における作業手順書編集画面の例を示す図である。例えば、作業手順書２０７ｃは、操作端末３００がディスプレイに表示する作業手順書編集画面３１０と端末インターフェイス部２０３を介して、編集される。作業手順書編集画面３１０は図２の画面３０１の一例である。
【０１５１】
作業手順書編集画面３１０は、メニューバー３１１、ツリー表示領域３１２、メタ情報表示領域３１３、内容表示領域３１４、およびボタン表示領域３１５を備える。
メニューバー３１１は、「ファイル」、「編集」、「表示」、「承認」、「配布」、「ヘルプ」の各メニューを提供する。図６には、各メニューを選択するためのショートカットキーを示す「Ｆ」などの文字も示されている。
【０１５２】
ファイルメニューは、編集する作業手順書を選択して開いたり、編集結果を保存したりするためのメニューである。編集メニューはコピー、カット、ペーストなどの一般的な文字列編集操作のためのメニューである。
【０１５３】
表示メニューは、内容表示領域３１４の表示を切り換えるためのメニューであり、例えば、順序づけ作業の一覧、非順序づけ作業の一覧、順序づけ作業と非順序づけ作業すべてを含む一覧、定型句の一覧などの表示を提供する。図６の内容表示領域３１４には、順序づけ作業の一覧が、１番から１０番までの順序を示す「手順Ｎｏ」列とコマンド文字列を示す「作業内容」列により示されている。
【０１５４】
承認メニューは、管理者５０２が作業手順書を承認するためのメニューである。例えば、作業手順書２０７ｃが選択されているときに承認メニューが選択されると、操作端末３００は、「承認」ボタンを含む新たな画面３０１を表示する。そして、操作端末３００は「承認」ボタンの押下を検出して端末インターフェイス部２０３に通知し、端末インターフェイス部２０３は作業手順書２０７ｃを「承認済み」の状態に変更する。
【０１５５】
承認メニューが用意されている理由は、例えば作業手順書２０７ｃが誤って不適切に編集された場合に、不適切な作業手順書２０７ｃが作業対象サーバ４００に送信され、不適切な作業手順書２０７ｃに基づいて強制アクセス制御が行われることを防ぐためである。管理者５０２は、例えば作業手順書２０７ｃの内容を目視により確認し、問題がなければ承認する。
【０１５６】
または、図２のテストサーバ１００が、さらに、作業支援部４０４、強制アクセス制御部４０５、作業手順書受信部４０６、アクセス制御設定自動生成部４０９、作業結果記録部４１１、および作業結果転送部４１３と同様の機能を備えてもよい。そして、編集後の
作業手順書２０７ｃを管理サーバ２００がテストサーバ１００へ送信してもよい。
【０１５７】
この場合、テストサーバ１００は、編集後の作業手順書２０７ｃに基づく強制アクセス制御の実行を指示する命令を管理者５０２から受け取り、編集後の作業手順書２０７ｃに基づく強制アクセス制御を実行する。すると、管理者５０２は、テストサーバ１００における強制アクセス制御の結果から、編集後の作業手順書２０７ｃの正当性を判断することができる。管理者５０２は、その後、操作端末３００の画面３０１を介して編集後の作業手順書２０７ｃを必要に応じて修正し、最後に承認してもよい。
【０１５８】
配布メニューは、作業者５０１または管理者５０２が、選択された作業手順書の配布先の作業対象サーバを、ホスト名やＩＰ（Internet Protocol）アドレスなどにより指定するためのメニューである。
【０１５９】
例えば、図２の作業手順書２０７ｃが選択されている場合、配布メニューを介して作業対象サーバ４００が指定されると、作業手順書２０７ｃの編集終了後、図３のステップＳ２１０において作業手順書転送部２０４が作業手順書２０７ｃを作業対象サーバ４００に転送する。図１４とともに後述する変形例においては、１つの作業手順書２０７ｃに対して、複数の作業対象サーバ４００ａ〜４００ｃが配布メニューを介して指定されてもよい。
【０１６０】
ヘルプメニューは作業手順書編集画面３１０についてのヘルプを表示するためのメニューである。
ツリー表示領域３１２は、作業手順書の一覧をテストサーバごとに分類してツリー状に表示する領域である。図６の例では、テストサーバ１００、テストサーバ１１０、テストサーバ１２０なる３台のテストサーバに対応するツリー表示が行われている。そして、テストサーバ１００に対応する「20080131_001」という名前の作業手順書（以下では、この名前の作業手順書が図２の作業手順書２０７ｃであるとして説明する）が選択され、反転表示されている。
【０１６１】
メタ情報表示領域３１３には、選択された作業手順書２０７ｃに関するメタ情報が表示されている。例えば、上記のように作業手順書２０７ａと２０７ｂが結合されて作業手順書２０７ｃとして保存された場合には、作業手順書２０７ａと２０７ｂがテストサーバ１００でそれぞれ作業手順書１０６として生成された際に、図３のステップＳ２０１で作業手順書１０６にメタ情報が書き込まれている。したがって、作業手順書２０７ｃに含まれる一部のメタ情報は、作業手順書２０７ａと２０７ｂから継承されたものであってもよい。また、作業手順書２０７ｃの一部のメタ情報は、結合により作業手順書２０７ｃが生成されたときに端末インターフェイス部２０３により生成され、作業手順書２０７ｃに書き込まれたものであってもよい。
【０１６２】
図６の例では、作業手順書２０７ａと２０７ｂが作業手順書１０６として生成されたテストサーバ１００が「手順書作成元」欄に表示され、作業手順書２０７ｃの編集を行う作業者５０１のユーザ名が「作業者」欄に表示されている。また、例えば結合により作業手順書２０７ｃが作成された日時が、「作成日」欄に表示されている。
【０１６３】
また、作業手順書２０７ｃの作業の種類が「作業名」欄に表示されているが、「作業名」欄の内容は、操作端末３００と端末インターフェイス部２０３を介して編集可能である。編集結果は作業手順書２０７ｃに反映される。
【０１６４】
操作端末３００と端末インターフェイス部２０３を介して作業手順書２０７ｃの編集が行われると、端末インターフェイス部２０３は編集が行われた時点の日時を認識して操作
端末３００に通知し、「最終更新日」欄に表示させる。
【０１６５】
内容表示領域３１４には、表示メニューによる指定に応じた内容が表示されるが、図６では１０個の順序づけ作業の一覧が表示されている。図６の例は、下記（１）〜（１０）の内容を表し、「newservice」なる名前の新規サービスを提供するための一連の作業を含む。
【０１６６】
（１）ＦＴＰ（File Transfer Protocol）サーバから、アーカイブされ圧縮された「001.zip」なるファイルを取得する。
（２）取得したファイルを「/work」ディレクトリに展開する。
（３）上記（２）で展開して得られたインストーラを用いて、新規サービスを提供するためのソフトウェアをインストールする。
（４）上記（２）で展開して得られた設定ツールを用いて、上記（３）でインストールしたソフトウェアの設定を行う。
（５）上記（４）の設定が正常に行われたか否かを確認する。
（６）新規サービスを提供するために必要なファイルが存在するか否かを確認する。
（７）上記（２）で展開して得られた修正適用ツールを用いて、上記（３）でインストールしたソフトウェアに修正を適用する。
（８）ＯＳを再起動する。
（９）ＯＳの起動時に新規サービスが自動起動するように設定する。
（１０）新規サービスを起動する。
【０１６７】
また、ボタン表示領域３１５には、「手順追加」、「手順変更」、「手順削除」、「定型句編集」、および「手順結合」なるボタンが表示されている。
操作端末３００は、手順追加ボタンの押下を検出すると、作業を追加するための図７の手順追加画面３２０を表示する。
【０１６８】
また、操作端末３００は、手順変更ボタンの押下を検出すると、個々の作業の内容の変更、作業の順序の入れ換え、作業の種類（順序づけ作業、global executable definition、limited executable definition）の変更などの種々の変更を行うための画面を表示する。手順変更ボタンの押下に応じて表示される画面の図示は省略するが、後述の図７と類似の画面を介して、変更を指示するのに必要な入力が得られることは明らかである。
【０１６９】
また、操作端末３００は、手順削除ボタンの押下を検出すると、現在選択されている作業手順書に含まれる作業の中から１つまたは複数の作業を指定し、指定した作業を削除するための画面を表示する。削除のための画面の図示は省略する。
【０１７０】
また、操作端末３００は、定型句編集ボタンの押下を検出すると、図８の定型句編集画面３３０を表示する。「定型句」の意味については図８とともに後述する。
また、操作端末３００は、手順結合ボタンの押下を検出すると、複数の作業手順書を１つに結合する指示を入力するための画面を表示する。結合のための画面の図示は省略する。
【０１７１】
例えば、途中に再起動または停止（シャットダウン）を含む作業手順がテストサーバ１００で行われるとき、再起動または停止の時点で作業手順書１０６の生成が一旦完了し、管理サーバ２００に作業手順書１０６が送信される。そして、再起動後に再開された作業手順が、捕捉され、新たな別の作業手順書１０６として生成され、再度管理サーバ２００に送信される。例えば、作業手順書２０７ａと２０７ｂは、このようにして２回に分けられて管理サーバ２００に送信された作業手順書であってもよい。
【０１７２】
この場合、操作端末３００は、手順結合ボタンの押下を検知し、作業手順書２０７ａと２０７ｂを結合して作業手順書２０７ｃとして保存すべきことを示す入力を受け取り、受け取った入力を端末インターフェイス部２０３に出力する。端末インターフェイス部２０３は、操作端末３００から受け取った入力にしたがい、作業手順書２０７ａと２０７ｂを結合して作業手順書２０７ｃとして保存する。例えば、図６の例において、１〜８番目の作業は作業手順書２０７ａに由来し、９〜１０番目の作業は作業手順書２０７ｂに由来する。
【０１７３】
続いて、図２の画面３０１の別の具体例として、図６の手順追加ボタンが押下されたときに表示される手順追加画面について説明する。
図７は、第２実施形態における手順追加画面の例を示す図である。図７において、手順追加画面３２０は、作業手順書に追加する作業の種類を示す下記（１）〜（３）の３つの選択肢からなるラジオボタン含む。
【０１７４】
（１）順序づけ作業であることを示す「通常手順」
（２）図５のように定義されるglobal executable definitionであることを示す「Global Execution」
（３）図５のように定義されるlimited executable definitionであることを示す「Limited Execution」
【０１７５】
また、手順追加画面３２０は、作業を追加する位置を示す入力欄を有する。位置の入力欄は、開始位置の順序を指定するプルダウンリストと、「前」または「後」を選択可能なプルダウンリストと、終了位置の順序を指定するプルダウンリストと、「前」または「後」を選択可能なプルダウンリストとを含む。順序を示す２つのプルダウンリストは、選択されている作業手順書にＮ個の順序づけ作業が含まれる場合、１〜Ｎまでの順序が選択可能なように、端末インターフェイス部２０３または操作端末３００によって生成される。
【０１７６】
ラジオボタンで「通常手順」が選択された場合、操作端末３００は、位置の入力欄のうち後ろの２つのプルダウンリストを無効化し、グレーアウト表示にする。したがって、例えば、１番目と２番目の順序づけ作業の間に新たな順序づけ作業を追加したい場合は、作業者５０１または管理者５０２は、「００２の前」または「００１の後」と位置を指定する。操作端末３００は、指定された位置の入力を受け取る。
【０１７７】
また、ラジオボタンで「Global Execution」が選択された場合、操作端末３００は位置の入力欄を無効化し、グレーアウト表示にする。図５に関して説明したように、global executable definitionに対応する大域的範囲は、実施形態に応じて予め決められているためである。
【０１７８】
また、ラジオボタンで「Limited Execution」が選択された場合、操作端末３００は、例えば、位置の入力欄から「００１の前〜００５の前まで」という範囲を示す入力を受け取る。
【０１７９】
手順追加画面３２０にはさらに、「追加手順」という見出しのついたテキスト入力欄がある。操作端末３００は、「追加手順」欄に入力されたコマンド文字列を受け取る。
また、手順追加画面３２０は「ＯＫ」ボタンと「キャンセル」ボタンを含む。操作端末３００は、「ＯＫ」ボタンの押下を検知すると、ラジオボタンで選択された種類、必要に応じて指定された位置または範囲、およびコマンド文字列を端末インターフェイス部２０３に送信する。端末インターフェイス部２０３は、手順追加画面３２０を介して入力された内容を操作端末３００から受け取ると、選択されている作業手順書に、受け取った入力内容に応じた作業を追加する。
【０１８０】
続いて、図２の画面３０１の別の具体例として、図６の定型句編集ボタンが押下されたときに表示される定型句編集画面について説明する。
図８は、第２実施形態における定型句編集画面の例を示す図である。以下の説明において、「定型句」は、コマンドの実行環境に応じた値を取得するための式である。
【０１８１】
ある種のコマンドの引数は、コマンドの実行環境に応じた値を指定する必要がある。例えば、テストサーバ１００と作業対象サーバ４００とでは異なる値の引数が必要なことがある。また、図１４とともに後述する例では、１つの同じ作業手順書が複数の作業対象サーバ４００ａ〜４００ｃに配布されるが、作業対象サーバ４００ａ〜４００ｃごとに異なる値の引数が必要なことがある。
【０１８２】
実行環境に応じた値を取得する式を定型句として定義し、定型句を含む作業を作業手順書に定義することにより、作業手順書の定義を可変とすることができる。したがって、定型句を用いることで、実行環境依存性を吸収することができ、複数の作業対象サーバ４００ａ〜４００ｃがある場合にも効率的かつ容易に作業手順書の生成および編集を行うことが可能となる。
【０１８３】
図８の定型句編集画面３３０は、「定型句」、「規則」、および「内容」という列を含む。「定型句」列は定型句を表す識別子としての文字列を指定するための列であり、「規則」列は実行環境に応じた値を取得するための式を指定するための列であり、「内容」列は定型句の内容を表す簡単な説明を指定するための列である。
【０１８４】
図８の例では、実行環境のホスト名を表す「HOSTNAME」という定型句に、ホスト名を示す環境変数の値を参照する「$HOST」という式が対応づけられている。また、実行環境のＩＰアドレスを表す「IPADDRESS」という定型句に、パイプで連結された２つのコマンドをバッククオートで囲んだ「`grep $HOST /etc/host | awk '{print $1}'`」という式が対応づけられている。また、実行環境のユーザ名を表す「USERNAME」という定型句に、ユーザ名を示す環境変数の値を参照する「＄USER」という式が対応づけられている。
【０１８５】
「定型句」列の文字列は任意に定めることができる。また、「規則」列には、実行環境すなわち作業対象サーバ４００のＯＳ４０３が評価可能な式を適宜記述することができる。
【０１８６】
以上のようにして、例えば図６〜図８に例示した画面を介して編集された最終的な作業手順書の例を、次に図９とともに説明する。また、図９の作業手順書による強制アクセス制御の実行の経過と結果について、図１０Ａ〜図１２とともに説明する。
【０１８７】
図９は、第２実施形態における作業手順書の例を示す図である。例えば、図９は、図２の作業手順書２０７ｃの編集が完了した状態を示す。なお、図９では、図６に関して説明したメタ情報は省略している。
【０１８８】
図９において、「G」から始まる行はglobal executable definitionの非順序づけ作業の定義を示し、「L」から始まる行はlimited executable definitionの非順序づけ作業の定義を示す。また、「%」から始まる行は定型句の定義を示し、数字から始まる行は順序づけ作業の定義を示す。
【０１８９】
１行目の「G,echo $?」は、直前に実行されたコマンドの復帰値を表示する「echo $?」
というコマンドがglobal executable definitionであることを示す。
２行目の「L,1,8,ls *」は、１番目と８番目で定義される範囲、すなわち、１番目の順序づけ作業の直前から８番目の順序づけ作業の直前の範囲では、「ls」コマンドが何回でも任意に実行可能であるというlimited executable definitionの定義例を示す。なお、２行目の「ls」コマンドの引数が、ワイルドカードを用いて「*」と指定されているのは、「ls」コマンドの引数として実際に何が指定されても、１番目と８番目で定義される範囲内である限りは、実行が許可されるべきことを表す。
【０１９０】
３〜５行目は定型句の定義を示す。カンマの前は、図８の「定型句」列で定義された文字列を「%」で囲んだ文字列であり、カンマの後は、図８の「規則」列で定義された式である。
【０１９１】
６〜１３行目は、それぞれ１〜８番目の順序づけ作業の定義を示す。カンマの前は順序を示す数字であり、カンマの後は作業を表すコマンド文字列である。
１〜３番目の順序づけ作業は、図６と同じである。４番目の順序づけ作業に関しては、図６のコマンド文字列に含まれる引数が、「%」で囲まれた定型句に置き換えられている。
【０１９２】
なお、図６の５番目の順序づけ作業は編集により種類がglobal executable definitionに変更され、図９の１行目に対応する。同様に、図６の６番目の順序づけ作業は編集により種類がlimited executable definitionに変更され、引数が変更され、図９の２行目に対応する。
【０１９３】
図９の５〜８番目の順序づけ作業は、図６の７〜１０番目の順序づけ作業である。
続いて、図９の作業手順書にしたがった強制アクセス制御の具体例について図１０Ａ〜図１１を参照して説明する。
【０１９４】
図１０Ａと図１０Ｂは、第２実施形態における作業対象サーバのコマンドラインインターフェイスの例を示す図である。図１１は、図１０Ａの一部を詳細に説明するタイミングチャートである。なお、図１０Ａと図１０Ｂの各行において「<-」およびその右側は、便宜上表示した説明であり、コマンドラインインターフェイスに表示される内容ではない。
【０１９５】
図１０Ａの１行目には、一般ユーザに対するコマンドプロンプトであることを示す「$」という記号と、「startmaintenance」というコマンド名と、「rserv01_001」という引数が表示されている。
【０１９６】
ここで、「startmaintenance」というコマンド名は、第２実施形態による強制アクセス制御を行うプログラムを指す。すなわち、「startmaintenance」コマンドは、図２の作業支援部４０４、強制アクセス制御部４０５、作業手順書受信部４０６、アクセス制御設定自動生成部４０９、作業結果記録部４１１、および作業結果転送部４１３を実現する。実施形態に応じて「startmaintenance」以外の任意のコマンド名を使ってもよいことは当然である。
【０１９７】
本実施形態における「startmaintenance」コマンドは、１つの引数を必要とし、その引数は、作業手順書のＩＤとして解釈される。図１０Ａでは「rserv01_001」という引数が与えられている。
【０１９８】
例えば、操作端末３００を介して編集された作業手順書２０７ｃに「rserv01_001」という値のＩＤ２０８ｃが割り当てられているとする。端末インターフェイス部２０３と操作端末３００は、作業手順書転送部２０４が割り当てられたＩＤ２０８ｃを、画面３０１
を介して作業者５０１および管理者５０２に通知する。
【０１９９】
作業者５０３は、作業者５０１と同一人であれば操作端末３００を介してＩＤ２０８ｃの値を知ることができる。また、管理者５０２が作業者５０３にＩＤ２０８ｃの値を通知するのでもよい。いずれにしろ、作業者５０３は、作業手順書２０７ｃに対応するＩＤ２０８ｃの値が「rserv01_001」であること、すなわち、これから強制アクセス制御に利用する作業手順書４０７に対応するＩＤ４０８の値が「rserv01_001」であることを認識している。そこで、作業者５０３は、「startmaintenance」コマンドの引数として「rserv01_001」を指定する。
【０２００】
すると、図１１に矢印で示すように、入力部４０１は、受け取った「startmaintenance
rserv01_001」なるコマンド文字列を作業支援部４０４に出力する。そして、図４のステップＳ３０１のとおり、作業支援部４０４は動作を開始し、必要な特権を入手する。
【０２０１】
また、ステップＳ３０２のとおり作業支援部４０４は、引数に対応する作業手順書４０７が存在するか否か、つまり正しいＩＤ４０８が引数として指定されたか否かを判断する。そして、ステップＳ３０４のとおり作業の開始が作業記録４１２に出力される。なお、図１１では作業記録４１２に関わる作業結果記録部４１１および作業結果転送部４１３を省略している。
【０２０２】
そして、作業支援部４０４は、実行済みの順序づけ作業の数が０であることを認識し、カウンタ変数ｋに０を設定する。カウンタ変数ｋは、強制アクセス制御部４０５およびアクセス制御設定自動生成部４０９からも操作可能である。
【０２０３】
また、ステップＳ３０４において作業支援部４０４はさらに、定型句の置換処理を行う。すなわち、作業支援部４０４は作業手順書４０７から定型句の定義を取得し、作業手順書４０７中のコマンド文字列中の「%」で囲まれた定型句を、式を評価した値に置換する。
【０２０４】
図９の例では、４番目の順序づけ作業が３つの定型句を含んでいる。そこで、作業支援部４０４は、作業対象サーバ４００のホスト名「rserv01」と、作業対象サーバ４００のＩＰアドレス「20.20.20.20」と、ユーザ名「admin」を、図９の作業手順書４０７の定型句の定義にしたがって取得する。
【０２０５】
そして、作業支援部４０４は、図９の作業手順書４０７の４番目順序づけ作業における３つの定型句を、それぞれ取得した値で置き換える。非順序づけ作業が定型句を含む場合も同様に作業支援部４０４は置換処理を行う。図１１には、置換後の作業手順書４０７が示してある（ただし、一部の行は図示の都合上省略した）。
【０２０６】
その後、ステップＳ３０８において、作業支援部４０４からの指示にしたがって強制アクセス制御部４０５は作業手順書４０７を参照し、アクセス制御設定４１０を生成する。
この段階で、実行済みの順序づけ作業の数を示すカウンタ変数ｋの値は０であるため、実行が許される順序づけ作業は、ｋ＋１＝１番目の「wget ftp://ftpserv01/patch/001.zip」である。また、１番目を含む範囲と対応づけられた非順序づけ作業も、実行が許される。具体的には、global executable definitionの「echo $?」と、「１番目の順序づけ作業の直前から８番目の順序づけ作業の直前まで」という範囲と対応づけられたlimited executable definitionの「ls *」の実行が許される。
【０２０７】
アクセス制御設定４１０のデータ形式は任意だが、本実施形態では図１１のような形式でアクセス制御設定４１０が表される。図１１のアクセス制御設定４１０の各行は、実行
アクセスに関する制御であることを示す「exec」という文字列、カンマ、許可を示す「allow」という文字列または拒否を示す「deny」という文字列、カンマ、および作業の内容を含む。
【０２０８】
上記のとおり、この段階では３つの作業のみ実行が許される。よって、アクセス制御設定４１０の１〜３行目には、実行が許される３つの作業を表すコマンド文字列が含まれる。また、最後の行である４行目のみ、拒否を示す「deny」が指定され、４行目末尾の「*」は、１〜３行目に記載された以外のすべてのコマンドは拒否されることを表す。
【０２０９】
このように、アクセス制御設定４１０は、実行が許される作業を明示的に列挙するホワイトリスト方式である。ホワイトリスト方式を採用することで、実行を拒否すべき作業を列挙するブラックリスト方式よりも、高い安全性を実現することができる。
【０２１０】
ステップＳ３０８でこうしてアクセス制御設定４１０が生成されると、次のステップＳ３０９で作業支援部４０４が作業手順書４０７を参照し、未実行の順序づけ作業の中で順序が最も前の作業、すなわち１番目の順序づけ作業を表示部４０２に表示させる。
【０２１１】
図１０Ａでは、ステップＳ３０９の表示において、１番目の順序を表す「No 001:」という文字列も表示され、それに続けて１番目の順序づけ作業を表すコマンド文字列が表示されている。また、作業支援部４０４の指示にしたがって表示部４０２はさらに、図１０Ａの３行目の「OK?[Y/n]:」というプロンプトを表示する。このプロンプトは、２行目に表示された「wget ftp://ftpserv01/patch/001.zip」というコマンドを作業手順書４０７どおりに実行するか否かを確認するためのものである。
【０２１２】
図１０Ａの２〜３行目の表示が、図１１では作業支援部４０４から表示部４０２への矢印で表されている。
本実施形態において、プロンプトに対するデフォルトの応答は、「Yes」を示す「Y」であり、「Y」という文字は、デフォルトの応答であることを示すため大文字で表示される。また、本実施形態では、エンター（Enter）キーが押下された場合も、作業支援部４０４はデフォルトの応答がなされたと見なす。
【０２１３】
図１０Ａの例では、３行目のプロンプトに対して、エンターキーが押下される。すなわち、エンターキーの押下は、２行目に表示された「wget ftp://ftpserv01/patch/001.zip」というコマンドの実行の指示である。
【０２１４】
そこで、ステップＳ３１０において、入力部４０１は、受け取った入力内容、すなわちエンターキーの押下という入力内容を作業支援部４０４に通知する。この通知は図１１に入力部４０１から作業支援部４０４への矢印として示されている。
【０２１５】
また、ステップＳ３１０において作業支援部４０４は、「wget ftp://ftpserv01/patch/001.zip」というコマンドの実行が指示されたことを強制アクセス制御部４０５に通知し、アクセス制御設定４１０にしたがって強制アクセス制御を行うよう指示する。この通知および指示は、図１１に作業支援部４０４から強制アクセス制御部４０５への矢印として示されている。
【０２１６】
エンターキーの押下によって実行が指示された「wget ftp://ftpserv01/patch/001.zip」というコマンドは、当然ながら上記で生成されたアクセス制御設定４１０において実行が許可されている。したがって、ステップＳ３１１における作業記録４１２の記録の後、ステップＳ３１２において、強制アクセス制御部４０５は「wget ftp://ftpserv01/patch/001.zip」というコマンドを実行するよう、ＯＳ４０３に指示する。この指示は、図１１に強制アクセス制御部４０５からＯＳ４０３への矢印として示されている。
【０２１７】
コマンドの実行により、実行済みの順序づけ作業の数を示すカウンタ変数ｋの値は１だけ増え、ステップＳ３１３において、図１１に矢印で示したように、ＯＳ４０３は処理の結果を表示部４０２に表示させる。
【０２１８】
すると、処理はステップＳ３０５に戻って、上記と同様にしてステップＳ３０８においてアクセス制御設定自動生成部４０９がアクセス制御設定４１０を再度生成する。ここで、実行済みの順序づけ作業の数を示すカウンタ変数ｋの値は１なので、実行が許される作業には、ｋ＋１＝２番目の順序づけ作業「unzip 001.zip -d /work」というコマンドが含まれる。アクセス制御設定４１０はさらに、図１１に示すように、global executable definitionの「echo $?」と、１番目と８番目で定義される範囲（すなわち、２番目を含む範囲）と対応づけられたlimited executable definitionの「ls *」の実行を許可することを示す。
【０２１９】
そして、ステップＳ３０９で、上記と同様にして２番目の順序づけ作業を示すコマンド文字列と「OK?[Y/n]:」というプロンプトを表示部４０２が表示する。
今度は、作業者５０３は、プロンプトに対して否定的に応答する。すなわち、表示されたのとは異なる「ls 001.zip」なるコマンドを入力する。図１１の２つ目のアクセス制御設定４１０に示されるとおり、入力されたコマンドは実行が許可されるコマンドに適合する。
【０２２０】
したがって、上記と同様にして強制アクセス制御部４０５を介してＯＳ４０３により「ls 001.zip」なるコマンドが実行される。そして、ステップＳ３１３で表示部４０２は、処理結果として、図１０Ａのとおり「001.zip」と表示する。
【０２２１】
以下、処理の詳細な説明は省略するが、上記と同様にして、アクセス制御設定４１０が動的に何度も生成しなおされ、新たなアクセス制御設定４１０に基づいて強制アクセス制御部４０５が強制アクセス制御を実行する。処理の概略を図１０Ａおよび図１０Ｂの表示内容に即して述べれば下記のごとくである。
【０２２２】
２番目の順序づけ作業である「unzip 001.zip -d /work」コマンドが完了していないことから、再度２番目の順序づけ作業の内容とプロンプトが表示される。そこでエンターキーが押下され、２番目の順序づけ作業が実行される。２番目の順序づけ作業は出力を伴わないので、表示部４０２が処理結果を表示することはない。
【０２２３】
続いて、３番目の順序づけ作業の内容として「/work/bin/install -full」というコマンド文字列とプロンプトが表示される。このプロンプトに対して別の「ls」コマンドが入力されるが、強制アクセス制御部４０５は入力された「ls」コマンドの実行を許可し、ＯＳ４０３が「ls」コマンドを実行し、表示部４０２が処理結果を表示する。
【０２２４】
続いて、３番目の順序づけ作業の実行が完了していないことから、再度３番目の順序づけ作業の内容とプロンプトが表示される。このプロンプトに対して別の「cp」コマンドが入力される。
【０２２５】
しかし、「cp」コマンドは、図９の作業手順書４０７においてglobal executable definitionとして定義されてもおらず、３番目という順序を含む範囲と対応づけられたlimited executable definitionとして定義されているわけでもない。したがって、入力された「cp」コマンドの実行は、アクセス制御設定４１０に基づいて強制アクセス制御部４０５が拒否する。
【０２２６】
するとステップＳ３１４で表示部４０２が「You can not execute the command in this time」というエラーメッセージを表示し、コマンドの実行が拒否されたことを作業者５０３に通知する。その後処理はステップＳ３０９に戻り、再度３番目の順序づけ作業の内容とプロンプトが表示される。
【０２２７】
今度はここでエンターキーが押下され、３番目の順序づけ作業が実行され、その処理結果が表示される。
続いて、４番目の順序づけ作業を表す「/work/bin/setup」コマンドとプロンプトが表示される。ここで、図９に示すように、４番目の順序づけ作業の３つの引数は、もとの作業手順書４０７では定型句により記述されていた。しかし、上記のように既にステップＳ３０４で定型句の置換が行われている。よって、ここでは置換後の値を用いた「/work/bin/setup -i 20.20.20.20 -h rserv01 -u admin」というコマンド文字列が、４番目の順序づけ作業を表す文字列として表示される。
【０２２８】
図１０Ａに示すように、ここではプロンプトに対して異なるコマンドの実行を指示する入力が行われる。しかし、指示された「echo $?」コマンドは、global executable definitionとして作業手順書４０７に定義されているので、強制アクセス制御部４０５により実行が許可される。したがって、ステップＳ３１３において処理結果が表示され、処理がステップＳ３０５に戻り、４番目の順序づけ作業を表すコマンド文字列とプロンプトが再度ステップＳ３０９で表示される。
【０２２９】
今度はここでエンターキーが押下され、４番目の順序づけ作業が実行され、その処理結果が表示される。
続いて図１０Ｂに移り、「patchapply /work/patch/patch01」なるコマンド文字列で表される５番目の順序づけ作業の実行が完了していないことから、５番目の順序づけ作業の内容とプロンプトが表示される。このプロンプトに対して別の「ls」コマンドが入力される。「ls」コマンドは、５番目という順序を含む範囲と対応づけられたlimited executable definitionとして定義されているため、強制アクセス制御部４０５により実行が許可され、処理結果が表示される。
【０２３０】
そして、５番目の順序づけ作業の実行が完了していないことから、再度５番目の順序づけ作業の内容とプロンプトが表示される。今度はここでエンターキーが押下され、５番目の順序づけ作業が実行され、その処理結果が表示される。
【０２３１】
そして、６番目の順序づけ作業の実行が完了していないことから、「shutdown -r now」というコマンド文字列で表される６番目の順序づけ作業の内容とプロンプトが表示される。ここではプロンプトに対して異なるコマンドの実行を指示する入力が行われる。指示された「echo $?」コマンドは、global executable definitionとして定義されているので、実行が許可され、処理結果が表示される。
【０２３２】
その後、６番目の順序づけ作業の実行が完了していないことから、再度６番目の順序づけ作業の内容とプロンプトが表示される。今度はここでエンターキーが押下され、６番目の順序づけ作業が実行される。６番目の順序づけ作業は、再起動（リブート）のコマンドにより表される。したがって、この時点でＯＳ４０３が一旦リブートする。
【０２３３】
ＯＳ４０３の再起動後、作業者５０３は再度作業対象サーバ４００にログインする。そして、作業者５０３は、図１０Ａの１行目と同様に、「startmaintenance」コマンドを、「rserv01_001」なる値のＩＤ４０８を引数として入力する。
【０２３４】
すると、ステップＳ３０４において、作業支援部４０４が作業記録４１２に基づいて、実行済みの順序づけ作業の数が６であることを認識し、カウンタ変数ｋに６を設定する。したがって、再起動によって中断された続きの作業、すなわち作業手順書４０７における７番目の順序づけ作業から作業手順書４０７を再開すべく、ステップＳ３０９では７番目の順序づけ作業の内容とプロンプトが表示される。
【０２３５】
プロンプトに対してエンターキーが入力され、「chkconfig newservice on」というコマンド文字列で表される７番目の順序づけ作業が実行される。本実施形態では、「chkconfig」コマンドは出力を伴わないので、処理結果は表示されず、続いて、８番目の順序づけ作業の内容とプロンプトが表示される。
【０２３６】
プロンプトに対してエンターキーが入力され、「service newservice start」というコマンド文字列で表される８番目の順序づけ作業が実行される。本実施形態では、「service」コマンドは出力を伴わないので、ステップＳ３１３では処理結果が表示されず、処理がステップＳ３０５に戻る。
【０２３７】
すると、作業手順書４０７で定義された８個すべての順序づけ作業の実行が終了したので、処理はステップＳ３０６からステップＳ３０７に移行する。ステップＳ３０７において、作業支援部４０４は表示部４０２に作業手順の完了を示すメッセージを表示するよう指示し、表示部４０２はメッセージを表示する。また、作業支援部４０４は、ステップＳ３０１で取得した特権の利用を終了する。そして図４の処理が終了し、図１０Ｂのように表示部４０２のコマンドラインインターフェイスには、一般ユーザに対するコマンドプロンプトであることを示す「$」という記号が表示される。
【０２３８】
なお、図１０Ａ〜図１１の例では、作業手順書４０７に含まれる再起動の作業によって自動的に作業手順が１回中断されているが、作業手順の実行は、任意の時点で人為的に中断することができる。
【０２３９】
例えば、「OK?[Y/n]:」のプロンプトが表示されている状態で、ジョブを終了させるための特定のキー入力を作業者５０３が行うことで、「startmaintenance」コマンドの実行を停止させ、それにより作業手順の実行を中断することができる。こうして作業手順の実行が任意の時点で中断された場合にも、図１０Ｂの例と同様の方法によって、中断された直後から正しく作業手順の実行を再開することが可能である。
【０２４０】
続いて、作業対象サーバ４００において作業手順が実行された後の検証について説明する。
図１２は、第２実施形態における作業記録確認画面の例を示す図である。図１２の作業結果確認画面３４０は、図３のステップＳ２１６において操作端末３００に表示され、画面３０１の一例である。
【０２４１】
端末インターフェイス部２０３は、同じＩＤ２０８ｃに対応づけられた作業手順書２０７ｃと作業記録２０９ｃを比較する作業結果確認画面３４０を表示するのに必要なデータを、操作端末３００に送信する。操作端末３００は、端末インターフェイス部２０３から受け取ったデータに基づいて作業結果確認画面３４０を表示する。
【０２４２】
作業結果確認画面３４０は、種別列３４１、作業手順書列３４２、および作業記録列３４３の３列を含む表、凡例３４４、「ＯＫ」ボタン、ならびに「キャンセル」ボタンを含む。作業結果確認画面３４０では、作業手順書２０７ｃと作業記録２０９ｃが同様の形式にグラフィカルに整形されて表示されるので、管理者５０２にとって比較が容易であり、問題の有無を容易に把握することができる。
【０２４３】
作業記録列３４３には、実際に作業対象サーバ４００で実行が指示された作業が、指示された順に並べられて表示される。図１０Ａと図１０Ｂの例に示したように、本実施形態では、下記の（１）または（２）のようにして作業の実行が指示される。
【０２４４】
（１）エンターキーの押下によって、プロンプトに表示されたコマンド文字列が表す順序づけ作業の実行が指示される。
（２）コマンド文字列の入力によって、任意の作業の実行が指示される。
【０２４５】
作業記録列３４３の各行には、（１）または（２）のようにして指示された個々の作業を表すコマンド文字列が表示される。なお、空行は、作業対象サーバ４００のＯＳ４０３の再起動を示す。
【０２４６】
表の各行において、種別列３４１と作業手順書列３４２にはそれぞれ、作業記録列３４３のコマンド文字列が表す作業の種別と説明が、下記のように示される。
（１）作業記録列３４３が、正しい順序で実行が指示された順序づけ作業を示す場合
種別列３４１には順序を示す数字が表示される。また、作業手順書列３４２には、定型句が置換された状態で、順序づけ作業を表すコマンド文字列が表示される。
【０２４７】
（２）作業記録列３４３が、実行が許されるタイミングで実行が指示されたlimited executable definitionの非順序づけ作業を示す場合
種別列３４１には「許可」と表示される。また、作業手順書列３４２には「Limited Execution」と表示される。
【０２４８】
（３）作業記録列３４３が、global executable definitionとして定義された非順序づけ作業を示す場合
種別列３４１には「許可」と表示される。また、作業手順書列３４２には「Global Execution」と表示される。
【０２４９】
（４）作業記録列３４３が、再起動を示す空白の場合
種別列３４１には「中断」と表示され、作業手順書列３４２は空白である。
【０２５０】
（５）上記（１）〜（４）以外の場合
種別列３４１には「拒否」と表示され、作業手順書列３４２は空白である。
【０２５１】
以上のような比較表示により、例えば、管理者５０２は、作業手順書２０７ｃにしたがって作業が適正に行われたか否かを、作業結果確認画面３４０を見るだけで容易に把握することができる。また、図１２では図示の都合上、表の各行はすべて白い背景に黒い文字で示されているが、例えば、各行の外見は、背景色、文字色、またはフォントなどにより、種別列３４１に示される種別に応じて区別されて表示されてもよい。
【０２５２】
例えば、上記（１）〜（５）に示した種別に応じて、５種類の背景色が使い分けられる。５種類の背景色が示す種別は、凡例３４４の５つの矩形により示される。種別に応じた外見で表示することにより、例えば管理者５０２は、作業手順書２０７ｃと作業記録２０９ｃとを、個々の作業ごとに照合し、問題の有無をより容易に把握することが可能となる。
【０２５３】
なお、操作端末３００は、「ＯＫ」ボタンまたは「キャンセル」ボタンの押下を検出すると、作業結果確認画面３４０を閉じる。
図１３は、コンピュータの構成図である。図２のテストサーバ１００、管理サーバ２００、操作端末３００、および作業対象サーバ４００のいずれも、例えば図１３のコンピュータ６００のように構成されている。
【０２５４】
コンピュータ６００は、ＣＰＵ（Central Processing Unit）６０１、ＲＯＭ（Read Only Memory）６０２、ＲＡＭ６０３、通信インターフェイス６０４、入力装置６０５、出力装置６０６、記憶装置６０７、および駆動装置６０８を備える。これら各部はバス６０９により互いに接続されている。コンピュータ６００は、コンピュータ読み取り可能な可搬型記憶媒体６１０に記憶された情報を、駆動装置６０８を介して取得することができる。
【０２５５】
また、コンピュータ６００は通信インターフェイス６０４を介してネットワーク６１１に接続されている。ネットワーク６１１は、ＬＡＮ（Local Area Network）やインターネットなどの任意のネットワークである。ネットワーク６１１には、コンピュータ６００のほかにプログラム提供者６１２や他のコンピュータ６１３が接続されていてもよい。
【０２５６】
ＣＰＵ６０１は、ＲＡＭ６０３にプログラムをロードし、ＲＡＭ６０３をワーキングエリアとして用いながらプログラムを実行する。プログラムは、予めＲＯＭ６０２または記憶装置６０７に格納されていてもよく、ネットワーク６１１を介してプログラム提供者６１２から提供され、記憶装置６０７に格納されてもよい。
【０２５７】
あるいは、プログラムは、可搬型記憶媒体６１０に格納され、駆動装置６０８にセットされた可搬型記憶媒体６１０からＲＡＭ６０３にロードされてもよい。可搬型記憶媒体６１０としては、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disk）などの光ディスク、光磁気ディスク、磁気ディスク、不揮発性半導体メモリなど様々な形式の記憶媒体を使用することができる。
【０２５８】
入力装置６０５は、マウスなどのポインティングデバイスやキーボードである。出力装置６０６は、例えば液晶ディスプレイなどの表示装置である。記憶装置６０７はハードディスク装置などの磁気ディスク装置でもよく、他の種類の記憶装置でもよい。
【０２５９】
例えば、テストサーバ１００がコンピュータ６００により実現される場合、入力部１０１は、入力装置６０５と、コマンドラインインターフェイスのためのプログラムを実行するＣＰＵ６０１とにより実現される。また、ＯＳ１０３は記憶装置６０７に格納され、ＲＡＭ６０３にロードされてＣＰＵ６０１により実行される。
【０２６０】
作業内容捕捉部１０４と作業手順書生成部１０５は、ＣＰＵ６０１がプログラムを実行することで実現される。作業手順書転送部１０７はＣＰＵ６０１と通信インターフェイス６０４により実現される。つまり、テストサーバ１００がコンピュータ６００により実現される場合、ＣＰＵ６０１が実行するプログラムは、図３のステップＳ２０１〜Ｓ２０６の処理のプログラムである。
【０２６１】
なお、テストサーバ１００がコンピュータ６００により実現される場合、他のコンピュータ６１３として、管理サーバ２００、操作端末３００、および作業対象サーバ４００がネットワーク６１１に接続されていてもよい。
【０２６２】
また、管理サーバ２００がコンピュータ６００により実現される場合、作業手順書受信部２０１、端末インターフェイス部２０３、作業手順書転送部２０４、および作業記録受信部２０５は、ＣＰＵ６０１と通信インターフェイス６０４により実現される。
【０２６３】
つまり、この場合、ＣＰＵ６０１が実行するプログラムの１つは、図３のステップＳ２０７〜Ｓ２０８の処理を操作端末３００と協働して行い、続けてステップＳ２０９〜Ｓ２１０の処理を行ううためのプログラムである。また、ＣＰＵ６０１は、ステップＳ２１６の処理を操作端末３００と協働して行うためのプログラムも実行する。
【０２６４】
なお、管理サーバ２００がコンピュータ６００により実現される場合、作業手順書格納部２０２と作業記録格納部２０６は記憶装置６０７により実現される。また、他のコンピュータ６１３として、テストサーバ１００、操作端末３００、および作業対象サーバ４００がネットワーク６１１に接続されていてもよい。
【０２６５】
また、操作端末３００がコンピュータ６００により実現される場合、出力装置６０６がＣＰＵ６０１の指示にしたがって画面３０１を表示し、入力装置６０５が作業者５０１および管理者５０２からの入力を受け取る。また、入力装置６０５が受け取った入力は、必要に応じてＣＰＵ６０１により加工され、通信インターフェイス６０４からネットワーク６１１を介して管理サーバ２００へと送信される。
【０２６６】
つまり、操作端末３００がコンピュータ６００により実現される場合、ＣＰＵ６０１が実行するプログラムの１つは、図３のステップＳ２０７とＳ２０８の処理を管理サーバ２００と協働して行うためのプログラムである。ＣＰＵ６０１は、ステップＳ２１６の処理を管理サーバ２００と協働して行うためのプログラムも実行する。
【０２６７】
なお、この場合、他のコンピュータ６１３として、テストサーバ１００、管理サーバ２００、および作業対象サーバ４００がネットワーク６１１に接続されていてもよい。
また、作業対象サーバ４００がコンピュータ６００により実現される場合、入力部４０１は、入力装置６０５と、コマンドラインインターフェイスのためのプログラムを実行するＣＰＵ６０１とにより実現される。また、表示部４０２は、出力装置６０６と、コマンドラインインターフェイスのためのプログラムを実行するＣＰＵ６０１とにより実現される。
【０２６８】
そして、ＯＳ４０３は、記憶装置６０７に格納され、ＲＡＭ６０３にロードされてＣＰＵ６０１により実行される。作業支援部４０４、強制アクセス制御部４０５、アクセス制御設定自動生成部４０９、および作業結果記録部４１１は、プログラムを実行するＣＰＵ６０１により実現される。また、作業手順書受信部４０６と作業結果転送部４１３は、ＣＰＵ６０１および通信インターフェイス６０４により実現される。
【０２６９】
つまり、作業対象サーバ４００がコンピュータ６００により実現される場合、ＣＰＵ６０１は、上記のＯＳ４０３およびコマンドラインインターフェイスのためのプログラムのほかに、さらに、図３のステップＳ２１１〜Ｓ２１５の処理のプログラムを実行する。換言すれば、ＣＰＵ６０１は、図４の処理のプログラムを実行する。
【０２７０】
作業手順書４０７、ＩＤ４０８、および作業記録４１２は、例えば記憶装置６０７に格納されるが、図４の処理の実行中はＲＡＭ６０３にも格納されていてもよい。動的に生成されるアクセス制御設定４１０は、ＲＡＭ６０３に格納される。また、テストサーバ１００、管理サーバ２００、および操作端末３００が、他のコンピュータ６１３としてネットワーク６１１に接続されていてもよい。
【０２７１】
図１４は、第２実施形態の変形例を示すシステム構成図である。上述の第２実施形態と同様の点については説明を省略する。
図１４（ａ）のシステムは、ハードウェア構成およびソフトウェア構成が等しく、同じサービスを提供する複数の作業対象サーバ４００ａ〜４００ｃを含む。作業対象サーバ４００ａ〜４００ｃのハードウェア構成およびソフトウェア構成を等しく保つため、作業対象サーバ４００ａ〜４００ｃでは、同じＩＤが割り当てられた同じ作業手順書にしたがって保守作業が行われる。
【０２７２】
換言すれば、図１４（ａ）のシステムでは複数の作業対象サーバ４００ａ〜４００ｃに対して１つの作業手順書しか必要としないため、作業手順書の一括作成が可能であり、作業効率が良い。
【０２７３】
また、図１４（ａ）の変形例では、図２におけるテストサーバ１００と管理サーバ２００の機能を１台のコンピュータ７０１が兼ねている。コンピュータ７０１のハードウェア構成およびソフトウェア構成は、作業対象サーバ４００ａ〜４００ｃと同じか、または作業対象サーバ４００ａ〜４００ｃのサブセットである。コンピュータ７０１は、同じ作業手順書を作業対象サーバ４００ａ〜４００ｃにそれぞれ配布する。
【０２７４】
また、図１４（ａ）のシステムは、複数の操作端末３００ａ〜３００ｂを含む。例えば、図２の作業者５０１は、図１４（ａ）の変形例においては操作端末３００ａを使ってもよく、図２の管理者５０２は、図１４（ａ）の変形例においては操作端末３００ｂを使ってもよい。
【０２７５】
以上説明した作業対象サーバ４００ａ〜４００ｃ、コンピュータ７０１、および操作端末３００ａ〜３００ｂは、ネットワーク６１１を介して互いに接続されている。
図１４（ｂ）のシステムも、図１４（ａ）のシステムと同様に、複数の作業対象サーバ４００ａ〜４００ｃを含む。また、図１４（ｂ）の変形例では、図２におけるテストサーバ１００と管理サーバ２００と操作端末３００の機能を１台のコンピュータ７０２が兼ねている。作業対象サーバ４００ａ〜４００ｃ、およびコンピュータ７０２は、ネットワーク６１１を介して互いに接続されている。
【０２７６】
以上のとおり、作業対象サーバおよび操作端末の数は任意である。また、図２におけるテストサーバ１００、管理サーバ２００、および操作端末３００の機能は、適宜組み合わされて１台のコンピュータにより実現されてもよく、複数のコンピュータに分散されて実現されてもよい。なお、図１４（ａ）および（ｂ）の変形例では、１台のコンピュータ７０１および７０２がそれぞれ、図２のテストサーバ１００と管理サーバ２００の機能を実現するので、図２の作業手順書転送部１０７と作業手順書受信部２０１は省略可能である。
【０２７７】
また、上記の変形例では、複数の作業対象サーバ４００ａ〜４００ｃのハードウェア構成およびソフトウェア構成は等しく、複数の作業対象サーバ４００ａ〜４００ｃは同じサービスを提供している。しかし、複数の作業対象サーバ４００ａ〜４００ｃは、ハードウェア構成またはソフトウェア構成が異なり、異なるサービスを提供していてもよい。その場合、例えばコンピュータ７０１は、複数の作業対象サーバ４００ａ〜４００ｃそれぞれに対応する異なる作業手順書を生成し、各作業手順書を作業対象サーバ４００ａ〜４００ｃのそれぞれに送付する。
【０２７８】
以上説明した第２実施形態およびその変形例によれば、以下のような効果が得られる。
（１）作業手順書１０６は、テストサーバ１００で行われた作業手順から自動的に生成される。作業手順書１０６は管理サーバ２００に転送され、編集されるが、順序づけ作業に関して手作業で編集すべき箇所は少ない。したがって、最終的な作業手順書２０７ｃを少ない労力で効率的に作成することが可能である。
【０２７９】
（２）編集後の最終的な作業手順書２０７ｃは、管理者５０２により内容の正しさが承認されてから、作業対象サーバ４００へ転送される。したがって、作業対象サーバ４００では、誤りがなく不要な手順の混入もない、的確な作業手順書４０７に基づく強制アクセ
ス制御が実現される。
【０２８０】
（３）作業対象サーバ４００における強制アクセス制御により、不正な作業が実行されたり、不適切な順序で作業が実行されたりすることを防止することができる。したがって、入力ミスに起因する問題の発生も抑止される。
【０２８１】
（４）作業対象サーバ４００において、強制アクセス制御の結果、作業の実行が許可されたか拒否されたかに関わらず、何らかの応答が逐次表示される。つまり、実行が許可された場合には処理結果が表示され、実行が拒否された場合にはエラーメッセージが表示される。したがって、作業者５０３は、作業の進行および強制アクセス制御による制御の結果を常に把握することができる。
【０２８２】
（５）図１０Ａと図１０Ｂに示したように、順序づけ作業の実行に関しては、作業者５０３はエンターキーを押すだけでよいので、作業者５０３の入力の負担も軽い。
【０２８３】
（６）適切に非順序づけ作業が定義された作業手順書４０７を利用することにより、必要に応じて随時、作業が正常に行われたか否かを確認するためのコマンドなどを実行することができる。よって、実際の作業手順の進め方にはある程度の柔軟性があり、ミッションクリティカルサーバの保守作業で必要とされる目視確認も可能である。また、万が一、作業手順の途中で不具合が発生しても、作業者５０３はすぐに気が付いて不具合に対応することができる。
【０２８４】
（７）一連の作業からなる作業手順の途中に、ＯＳ４０３を再起動する作業が含まれていても、作業手順書４０７のＩＤ４０８と作業記録４１２とに基づいて、再起動後に、続きから正しく作業手順の実行を再開することができる。作業対象サーバ４００を停止させる作業が作業手順に含まれる場合も同様である。
【０２８５】
（８）改竄防止技術により保護された作業記録（例えば作業記録２０９ｃ）が残るので、実際に行われた作業の正当性を後から検証することができる。よって、作業者５０３による作業に、例えば管理者５０２などが立ち会う必要がない。
【０２８６】
（９）例えば作業記録２０９ｃの確認は、図１２のようなＧＵＩ（Graphical User Interface）表示による作業結果確認画面３４０を介して行うことができるので、作業対象サーバ４００で実行された作業手順の妥当性の検証が容易である。もちろん、管理サーバ２００が作業手順書２０７ｃと作業記録２０９ｃのデータを比較することによって作業手順を機械的に検証することも可能である。
【０２８７】
なお、本発明は上記の実施形態に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
作業手順書１０６、２０７ａ〜２０７ｃは、ネットワークを介して転送されるかわりに、可搬型記憶媒体を介して、テストサーバ１００から管理サーバ２００へ、あるいは管理サーバ２００から作業対象サーバ４００へとコピーされてもよい。
【０２８８】
作業手順書１０６、２０７ａ〜２０７ｃ、および４０７の形式は任意である。また、上記実施形態では、作業手順書２０７ａ〜２０７ｃとＩＤ２０８ａ〜２０８ｃが分離しており、作業手順書４０７とＩＤ４０８が分離しているが、編集後の作業手順書２０７ａ〜２０７ｃ、および４０７が、それぞれＩＤ２０８ａ〜２０８ｃ、および４０８のデータを含んでいてもよい。
【０２８９】
ＩＤ２０８ａ〜２０８ｃは、それぞれ管理サーバ２００内で一意の文字列であればよい。例えば、テストサーバ１００のホスト名、作業手順書２０７ａ〜２０７ｃの作成日時、管理サーバ２００内でカウントされる通し番号など、任意の情報に基づいて生成される任意の文字列をＩＤ２０８ａ〜２０８ｃとして利用することができる。
【０２９０】
また、作業記録２０９ａ〜２０９ｃの形式も、実施形態に応じて様々である。例えば、各作業記録２０９ａ〜２０９ｃとＩＤ２０８ａ〜２０８ｃとの対応づけは、作業記録２０９ａ〜２０９ｃにＩＤ２０８ａ〜２０８ｃを書き込むことで実現してもよく、ＩＤ２０８ａ〜２０８ｃに対応するファイル名で作業記録２０９ａ〜２０９ｃを作成することで実現してもよい。
【０２９１】
また、作業手順書４０７が再起動の作業を含むとき、図１０Ｂの例では再起動後に明示的に「startmaintenance」コマンドの再入力が行われる。しかし、例えば、以下のように第２実施形態を変形することで、「startmaintenance」コマンドの明示的な再入力なしに、作業手順書４０７にしたがった強制アクセス制御を伴う作業手順の実行を再開することが可能となる。
【０２９２】
すなわち、作業支援部４０４は、ＯＳ４０３が起動すると自動的に起動するように予め設定される。また、作業支援部４０４は、ＯＳ４０３の再起動直前のログインユーザ名と、再起動直前に強制アクセス制御に用いていた作業手順書４０７のＩＤ４０８を、例えばハードディスク装置などの不揮発性の記憶装置に記憶する。
【０２９３】
そして、ＯＳ４０３の再起動後、自動的に起動した作業支援部４０４は、再起動後のログインユーザ名を取得して、記憶装置に記憶した再起動直前のログインユーザ名と比較する。両者が一致すれば、作業支援部４０４は、自動的にステップＳ３０４から図４の処理を開始する。
【０２９４】
また、定型句の置換を別のタイミングで行うように第２実施形態を変形することもできる。すなわち、図４のステップＳ３０４で先に定型句を置換するかわりに、ステップＳ３０８でアクセス制御設定４１０を生成するたびに必要に応じて定型句の式を評価してもよい。
【０２９５】
最後に、さらに下記の付記を開示する。
（付記１）
順序づけられた複数の順序づけ作業と、予め決められた順序の範囲と対応づけられた１つ以上の非順序づけ作業とを表す作業手順書情報を取得する取得ステップと、
第１の作業の実行を指示する入力を受け取る入力ステップと、
前記複数の順序づけ作業のうちの未実行の順序づけ作業の中で順序が最も前の第２の作業、または前記１つ以上の非順序づけ作業のうちで前記第２の作業の前記順序を含む範囲と対応づけられた第３の作業と、前記第１の作業とが適合するか否かを認識する認識ステップと、
前記第２の作業または前記第３の作業と前記第１の作業とが適合すれば、前記第１の作業の実行を許可し、前記第２の作業と前記第３の作業のいずれとも前記第１の作業が適合しなければ前記第１の作業の実行を拒否する制御ステップと、
をコンピュータに実行させることを特徴とする制御プログラム。
（付記２）
前記認識ステップは、前記第２の作業と前記第３の作業のすべてを表す制御情報を生成し、前記制御情報を参照して前記第１の作業が前記第２の作業または前記第３の作業と適合するか否かを判断することを含む、
ことを特徴とする付記１に記載の制御プログラム。
（付記３）
前記１つ以上の非順序づけ作業のそれぞれに対応づけられた前記範囲は、
前記複数の順序づけ作業の最初の順序の直前もしくは直後から、最後の順序の直前もしくは直後までの大域的範囲、または、
指定された第１の順序より後で、指定された第２の順序より前の局所的範囲である、
ことを特徴とする付記１に記載の制御プログラム。
（付記４）
前記複数の順序づけ作業および前記１つ以上の非順序づけ作業は、コマンド文字列により表され、
前記入力ステップでは、前記第１の作業を表す第１のコマンド文字列が、コマンドラインインターフェイスを介して前記入力として受け取られる、
ことを特徴とする付記１に記載の制御プログラム。
（付記５）
前記第２の作業を表す第２のコマンド文字列または前記第３の作業を表す第３のコマンド文字列は、予め定義された式により表される引数を含み、
前記認識ステップは、前記式の値を取得することにより、前記第１のコマンド文字列が前記第２のコマンド文字列または前記第３のコマンド文字列と適合するか否かを判断することを含む、
ことを特徴とする付記４に記載の制御プログラム。
（付記６）
前記プログラムは、前記第２の作業を表す第２のコマンド文字列を前記コマンドラインインターフェイスに表示する表示ステップをさらに前記コンピュータに実行させ、
予め決められた特定の入力を
前記入力ステップで受け取った場合、前記認識ステップは、前記第２の作業が第１の作業として指示されたと解釈することを含む、
ことを特徴とする付記４に記載の制御プログラム。
（付記７）
前記作業手順書情報において、前記第２のコマンド文字列が、予め定義された式で表された引数を含む場合、前記表示ステップでは、前記第２のコマンド文字列における前記式が該式の値に置き換えられて表示されることを特徴とする付記６に記載の制御プログラム。
（付記８）
前記制御ステップによって前記第１の作業の実行を許可または拒否した結果と、前記第１の作業とを対応づける作業記録情報を生成する記録ステップを、
さらに前記コンピュータに実行させることを特徴とする付記１に記載の制御プログラム。
（付記９）
前記認識ステップは、前記作業記録情報を参照することによって前記第２の作業を特定することを含むことを特徴とする付記８に記載の制御プログラム。
（付記１０）
前記作業記録情報を、改竄防止技術により保護された格納手段に格納する格納ステップをさらに前記コンピュータに実行させることを特徴とする付記８に記載の制御プログラム。
（付記１１）
前記作業記録情報を、前記作業手順書情報を管理する他のコンピュータに送信する送信ステップをさらに前記コンピュータに実行させることを特徴とする付記８に記載の制御プログラム。
（付記１２）
第１のサーバで実行された複数の作業の内容を、実行された順序とともに捕捉する捕捉手段と、
前記捕捉手段による捕捉の結果に基づいて、前記複数の作業を複数の順序づけ作業としてそれぞれ前記順序と対応づける作業手順書情報を生成する第１の生成手段と、
順序の範囲と作業とを対応づける第１の入力を受け取る第１の入力手段と、
前記第１の入力手段が受け取った前記第１の入力で対応づけられている前記作業を、非順序づけ作業として前記範囲と対応づけて、前記第１の生成手段が生成した前記作業手順情報に追加する追加手段と、
前記追加手段により更新された後の前記作業手順情報を取得する第２のサーバと、
を備え、
該第２のサーバが、
第１の作業の実行を指示する第２の入力を受け取る第２の入力手段と、
取得した前記作業手順情報を参照し、前記複数の順序づけ作業のうちの未実行の順序づけ作業の中で順序が最も前の第２の作業、または前記非順序づけ作業であって前記第２の作業の前記順序を含む範囲と対応づけられた第３の作業と、前記第２の入力手段が受け取った前記第２の入力により実行が指示される前記第１の作業とが適合するか否かを認識する認識手段と、
前記第２の作業または前記第３の作業と前記第１の作業とが適合すれば、前記第１の作業の実行を許可し、前記第２の作業と前記第３の作業のいずれとも前記第１の作業が適合しなければ、前記第１の作業の実行を拒否する制御手段と、
を備えることを特徴とする情報処理システム。
（付記１３）
前記制御手段が前記第１の作業の実行を許可または拒否した結果と、前記第１の作業とを対応づける、作業記録情報を生成する第２の生成手段を、前記第２のサーバがさらに備え、
前記追加手段により更新された後の前記作業手順情報と、前記第２の生成手段により生成された前記作業記録情報とを照らし合わせて表示する表示手段を、さらに備える、
ことを特徴とする付記１２に記載の情報処理システム。
（付記１４）
前記追加手段により更新された後の前記作業手順情報の正当性を承認する入力を受け付け、承認された前記作業手順情報を前記第２のサーバに転送する転送手段をさらに備えることを特徴とする付記１２に記載の情報処理システム。
（付記１５）
第１のサーバと第２のサーバを含む情報処理システムにおける情報処理方法であって、
前記第１のサーバで実行された複数の作業の内容を、実行された順序とともに捕捉し、
捕捉された前記複数の作業を複数の順序づけ作業としてそれぞれ前記順序と対応づける作業手順書情報を生成し、
順序の範囲と作業とを対応づける第１の入力を受け取り、
前記第１の入力で対応づけられている前記作業を、非順序づけ作業として前記範囲と対応づけて前記作業手順情報に追加し、
第１の作業の実行を指示する第２の入力を受け取り、
前記複数の順序づけ作業のうちの未実行の順序づけ作業の中で順序が最も前の第２の作業、または前記非順序づけ作業であって前記第２の作業の前記順序を含む範囲と対応づけられた第３の作業と、前記第１の作業とが適合するか否かを認識し、
前記第２の作業または前記第３の作業と前記第１の作業とが適合すれば、前記第１の作業の前記第２のサーバにおける実行を許可し、前記第２の作業と前記第３の作業のいずれとも前記第１の作業が適合しなければ、前記第１の作業の前記第２のサーバにおける実行を拒否する、
ことを特徴とする情報処理方法。
【図面の簡単な説明】
【０２９６】
【図１】本発明の第１実施形態における制御を示すフローチャートである。
【図２】第２実施形態におけるシステム構成図である。
【図３】図２のシステムの動作を示すフローチャートである。
【図４】第２実施形態において作業対象サーバが実行する処理のフローチャートである。
【図５】第２実施形態における非順序づけ作業の種類を説明する図である。
【図６】第２実施形態における作業手順書編集画面の例を示す図である。
【図７】第２実施形態における手順追加画面の例を示す図である。
【図８】第２実施形態における定型句編集画面の例を示す図である。
【図９】第２実施形態における作業手順書の例を示す図である。
【図１０Ａ】第２実施形態における作業対象サーバのコマンドラインインターフェイスの例を示す図である。
【図１０Ｂ】図１０Ａの続きを示す図である。
【図１１】図１０Ａの一部を詳細に説明するタイミングチャートである。
【図１２】第２実施形態における作業記録確認画面の例を示す図である。
【図１３】コンピュータの構成図である。
【図１４】第２実施形態の変形例を示すシステム構成図である。
【符号の説明】
【０２９７】
１００  テストサーバ
１０１  入力部
１０２  作業内容
１０３  ＯＳ
１０４  作業内容捕捉部
１０５  作業手順書生成部
１０６  作業手順書
１０７  作業手順書転送部
２００  管理サーバ
２０１  作業手順書受信部
２０２  作業手順書格納部
２０３  端末インターフェイス部
２０４  作業手順書転送部
２０５  作業記録受信部
２０６  作業記録格納部
２０７ａ〜２０７ｃ  作業手順書
２０８ａ〜２０８ｃ  ＩＤ
２０９ａ〜２０９ｃ  作業記録
３００、３００ａ、３００ｂ  操作端末
３０１  画面
３１０  作業手順書編集画面
３１１  メニューバー
３１２  ツリー表示領域
３１３  メタ情報表示領域
３１４  内容表示領域
３１５  ボタン表示領域
３２０  手順追加画面
３３０  定型句編集画面
３４０  作業結果確認画面
３４１  種別列
３４２  作業手順書列
３４３  作業記録列
３４４  凡例
４００、４００ａ〜４００ｃ  作業対象サーバ
４０１  入力部
４０２  表示部
４０３  ＯＳ
４０４  作業支援部
４０５  強制アクセス制御部
４０６  作業手順書受信部
４０７  作業手順書
４０８  ＩＤ
４０９  アクセス制御設定自動生成部
４１０  アクセス制御設定
４１１  作業結果記録部
４１２  作業記録
４１３  作業結果転送部
５０１  作業者
５０２  管理者
５０３  作業者
６００  コンピュータ
６０１  ＣＰＵ
６０２  ＲＯＭ
６０３  ＲＡＭ
６０４  通信インターフェイス
６０５  入力装置
６０６  出力装置
６０７  記憶装置
６０８  駆動装置
６０９  バス
６１０  可搬型記憶媒体
６１１  ネットワーク
６１２  プログラム提供者
６１３  他のコンピュータ
７０１〜７０２  コンピュータ
【図１】
2010067056.tif 000003
【図２】
2010067056.tif 000004
【図３】
2010067056.tif 000005
【図４】
2010067056.tif 000006
【図５】
2010067056.tif 000007
【図１３】
2010067056.tif 000008
【図１４】
2010067056.tif 000009
【図６】
2010067056.tif 000010
【図７】
2010067056.tif 000011
【図８】
2010067056.tif 000012
【図９】
2010067056.tif 000013
【図１０Ａ】
2010067056.tif 000014
【図１０Ｂ】
2010067056.tif 000015
【図１１】
2010067056.tif 000016
【図１２】
2010067056.tif 000017