(57)【要約】【課題】ユーザがシナリオを修正したときに、修正が必要なテンプレートを的確に検出する。【解決手段】ストレージ装置を管理するシナリオを実行するシナリオ実行部が設けられた業務サーバと、前記テンプレートを管理するテンプレート管理部及び前記シナリオを管理するシナリオ管理部を備える管理サーバと、を有するストレージシステムにおいて実行されるテンプレートの修正方法であって、修正前のシナリオと修正後のシナリオとを比較して、シナリオの修正内容が変数に関連する箇所であるか否か、及び、変数の制約条件の範囲内か否かによって、テンプレートの修正の必要性を判定する第１手順と、このシナリオに関するテンプレートの修正が必要であると判定された場合にユーザへ通知する第２手順と、を含む。【選択図】  図９
2005339212.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ装置を管理するシナリオを実行するシナリオ実行部が設けられた業務サーバと、前記シナリオ、前記シナリオの生成元であるテンプレート、前記シナリオの生成の際に入力された変数を記憶するパラメタ情報及び前記シナリオの修正内容を特定可能な修正履歴を記憶する記憶部、前記テンプレートを管理するテンプレート管理部並びに前記シナリオを管理するシナリオ管理部を備える管理サーバと、を有するストレージシステムにおいて実行されるテンプレートの修正方法であって、
修正後のシナリオの生成元テンプレート、前記シナリオの修正履歴及び前記シナリオのパラメタ情報を取得する手順と、
前記シナリオの生成元のテンプレート及び前記パラメータ情報によって修正前のシナリオを生成する手順と、
前記生成した修正前のシナリオと前記修正後のシナリオとを比較して、修正内容を特定する手順と、
前記特定された修正内容が変数に関連する箇所であるか否か、及び、変数の制約条件の範囲内か否かによって、テンプレートの修正の必要性を判定する手順と、
このシナリオの生成元のテンプレートの修正が必要であると判定された場合にユーザへ通知する手順と、
前記パラメタ情報を参照して、修正が必要とされたテンプレートから生成されたシナリオを特定する手順と、
特定されたシナリオをユーザへ通知する手順と、を含むテンプレートの修正方法。
【請求項２】
ストレージ装置を管理するシナリオを実行するシナリオ実行部が設けられた業務サーバと、前記テンプレートを管理するテンプレート管理部及び前記シナリオを管理するシナリオ管理部を備える管理サーバと、を有するストレージシステムにおいて実行されるテンプレートの修正方法であって、
修正前のシナリオと修正後のシナリオとを比較して、シナリオの修正内容が変数に関連する箇所であるか否か、及び、変数の制約条件の範囲内か否かによって、テンプレートの修正の必要性を判定する第１手順と、
このシナリオに関するテンプレートの修正が必要であると判定された場合にユーザへ通知する第２手順と、を含むテンプレートの修正方法。
【請求項３】
前記第１手順は、
シナリオの修正内容が変数に関連する箇所であり、かつ、変数の制約条件の範囲内である場合に、テンプレートの修正が不要であると判定し、
それ以外の場合に、テンプレートの修正が必要であると判定する請求項２に記載のテンプレートの修正方法。
【請求項４】
前記管理サーバは、前記シナリオの生成元テンプレート及び当該シナリオのパラメタ情報を取得し、前記テンプレート及び前記パラメータ情報によって修正前のシナリオを生成する手順を含む請求項２に記載のテンプレートの修正方法。
【請求項５】
前記管理サーバは、修正後のシナリオの生成元テンプレート及び前記シナリオの修正履歴を取得し、前記修正後のシナリオに前記修正履歴を適用することによって修正前のシナリオを生成する手順を含む請求項２に記載のテンプレートの修正方法。
【請求項６】
前記テンプレートの修正が必要であると判定された場合に、前記修正後のシナリオと整合するテンプレートの修正内容を生成する手順を含む請求項２に記載のテンプレートの修正方法。
【請求項７】
前記管理サーバは、前記シナリオの生成の際に入力された変数を記憶するパラメタ情報を記憶し、
前記テンプレートの修正が必要であると判定された場合に、前記パラメタ情報を参照して修正が必要とされたテンプレートから生成されたシナリオを特定し、該特定されたシナリオをユーザへ通知する手順を含む請求項２に記載のテンプレートの修正方法。
【請求項８】
シナリオの生成元であるテンプレートを管理するテンプレート管理部及び定型業務を実行するシナリオを管理するシナリオ管理部を備える管理装置に以下の手順を実行させるプログラムであって、
修正前のシナリオと修正後のシナリオとを比較して、シナリオの修正内容が変数に関連する箇所であるか否か、及び、変数の制約条件の範囲内か否かによって、テンプレートの修正の必要性を判定する第１手順と、
このシナリオに関するテンプレートの修正が必要であると判定された場合にユーザへ通知する第２手順と、を含むプログラム。
【請求項９】
前記第１手順は、
シナリオの修正内容が変数に関連する箇所であり、かつ、変数の制約条件の範囲内である場合に、テンプレートの修正が不要であると判定し、
それ以外の場合に、テンプレートの修正が必要であると判定する請求項８に記載のプログラム。
【請求項１０】
前記シナリオの生成元テンプレート及び当該シナリオのパラメタ情報を取得し、前記テンプレート及び前記パラメータ情報によって修正前のシナリオを生成する手順を含む請求項８に記載のプログラム。
【請求項１１】
修正後のシナリオの生成元テンプレート及び前記管理サーバに記憶されたシナリオの修正履歴を取得し、前記修正後のシナリオに前記修正履歴を適用することによって修正前のシナリオを生成する手順を含む請求項８に記載のプログラム。
【請求項１２】
前記テンプレートの修正が必要であると判定された場合に、前記修正後のシナリオと整合するテンプレートの修正内容を生成する手順を含む請求項８に記載のプログラム。
【請求項１３】
前記管理サーバは、前記シナリオの生成の際に入力された変数を記憶するパラメタ情報を記憶し、
前記テンプレートの修正が必要であると判定された場合に、前記シナリオの生成の際に入力された変数を記憶するパラメタ情報を参照して、修正が必要とされたテンプレートから生成されたシナリオを特定し、該特定されたシナリオをユーザへ通知する手順を含む請求項８に記載のプログラム。
【請求項１４】
シナリオの生成元であるテンプレートを管理するテンプレート管理部及び定型業務を実行するシナリオを管理するシナリオ管理部を備える管理装置であって、
前記シナリオ管理部は、修正前のシナリオと修正後のシナリオとを比較して、シナリオの修正内容が変数に関連する箇所であるか否か、及び、変数の制約条件の範囲内か否かによって、テンプレートの修正が必要であるか否かを判定する修正判定部を含み、
このシナリオに関するテンプレートの修正が必要であると判定された場合にユーザへ通知する通知部を、前記シナリオ管理部又は前記テンプレート管理部に備える管理装置。
【請求項１５】
前記修正判定部は、
シナリオの修正内容が変数に関連する箇所であり、かつ、変数の制約条件の範囲内である場合に、テンプレートの修正が不要であると判定し、
それ以外の場合には、テンプレートの修正が必要であると判定する請求項１４に記載の管理装置。
【請求項１６】
前記シナリオの生成元テンプレート及び当該シナリオのパラメタ情報を記憶する記憶部を備え、
前記シナリオ修正判定部は、前記シナリオの生成元テンプレート及び当該シナリオのパラメタ情報を取得し、前記テンプレート及び前記パラメータ情報によって修正前のシナリオを生成する請求項１４に記載の管理装置。
【請求項１７】
前記シナリオの修正内容を特定可能な修正履歴を記憶する記憶部を備え、
前記修正判定部は、修正後のシナリオの生成元テンプレート及び前記シナリオの修正履歴を取得し、前記修正後のシナリオに前記修正履歴を適用することによって、修正前のシナリオを生成する請求項１４に記載の管理装置。
【請求項１８】
前記テンプレートの修正が必要であると判定された場合に、前記修正後のシナリオと整合するテンプレートの修正内容を生成するテンプレート編集部を備える請求項１４に記載の管理装置。
【請求項１９】
前記シナリオの生成の際に入力された変数を記憶するパラメタ情報を記憶する記憶部を備え、
前記修正判定部は、前記テンプレートの修正が必要であると判定された場合に、前記パラメタ情報を参照して、修正が必要とされたテンプレートから生成されたシナリオを特定し、
前記通知部は、該特定されたシナリオをユーザへ通知する請求項１４に記載の管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブスケジューラを用いて定型的なストレージ管理業務を自動的に実行するシナリオを取り扱う情報処理装置に関し、特に、シナリオの生成に関するテンプレートの修正に関する。
【背景技術】
【０００２】
情報処理装置を利用した業務では、種々の定型業務が含まれる。例えば、大容量記憶装置であるストレージの管理業務では、定型業務として多量のデータを定期的にバックアップする必要がある。これらの定型業務を自動的に実行し、オペレータの処理負担を軽減する技術としてジョブネットワークが知られている。ジョブネットワークとは、ジョブの実行手順を予め規定したジョブネット構成ファイルを用意し、情報処理装置にジョブネット構成ファイルに従って、各ジョブを自動的に実行させる技術である。ジョブの実行手順としては、例えば、実行すべきジョブの種類、実行すべき時刻、結果の出力先、ジョブ同士の連携方法などが含まれる。
【０００３】
意図された定型業務を正確に実行するためには、ジョブネット構成ファイルは、正確、緻密に作成する必要がある。ジョブネット構成ファイルの作成を支援するための技術としては、例えば、特許文献１に記載される技術があげられる。
【特許文献１】特開２００１−１６６９２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このような環境において、管理対象の構成（リソース）が変更された場合、ユーザは関連したシナリオを変更する。古い定義のテンプレートから生成されたシナリオの運用はストレージ環境に障害を引き起こす原因になるので、変更内容によってはテンプレートを修正する必要がある。
【０００５】
従来、このような場合はシナリオを修正した後、それに伴ってユーザがテンプレートの修正が必要かを判断する必要があった。よって、テンプレートに対する修正漏れが生じることがあった。また、テンプレートを修正するユーザは、テンプレートの書式や、業務手順を熟知している必要があった。
【０００６】
本発明は、ユーザがシナリオを修正したときに、修正が必要なテンプレートを的確に検出することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、ストレージ装置を管理するシナリオを実行するシナリオ実行部が設けられた業務サーバと、前記テンプレートを管理するテンプレート管理部及び前記シナリオを管理するシナリオ管理部を備える管理サーバと、を有するストレージシステムにおいて実行されるテンプレートの修正方法であって、修正前のシナリオと修正後のシナリオとを比較して、シナリオの修正内容が変数に関連する箇所であるか否か、及び、変数の制約条件の範囲内か否かによって、テンプレートの修正の必要性を判定する第１手順と、このシナリオに関するテンプレートの修正が必要であると判定された場合にユーザへ通知する第２手順と、を含む。
【発明の効果】
【０００８】
本発明によると、シナリオの変更に伴い、修正が必要なテンプレートを的確に検出することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態を図面を参照して説明する。
【００１０】
図１は、本発明の実施の形態のコンピュータシステムの構成図である。
【００１１】
本発明の実施の形態のコンピュータシステムは、管理サーバ１、業務サーバ２、テープバックアップサーバ３、ストレージ装置５及びこれらを接続するネットワーク４、６によって構成されている。
【００１２】
管理サーバ１は、制御装置（ＣＰＵ）１１、入出力装置（キーボード、表示装置等）１２、メモリ１３及びネットワークインターフェース（Ｉ／Ｆ）１４が備わるコンピュータ装置である。
【００１３】
メモリ１３には、シナリオ１０３、テンプレート１０４、パラメタ情報１０５及び修正履歴１０６が記憶されている、シナリオ１０３は、定型的な業務を行うために実行される複数のジョブについて定める（図４参照）。テンプレート１０４は、定型的なシナリオを生成するために用いられ、複数のジョブの実行手順を定める（図２参照）。パラメタ情報１０５は、テンプレート１０４に適用される変数と、シナリオ１０３とその生成元となったテンプレート１０４との関係が含まれている（図３参照）。修正履歴１０６には、シナリオ１０３の修正履歴が記憶されている。
【００１４】
また、メモリ１３には、テンプレート管理プログラム１０１及びシナリオ管理プログラム１０２が記憶されている。テンプレート管理プログラム１０１は、シナリオ生成部１０１１、テンプレート編集部１０１２及び管理画面生成部１０１３を有する。シナリオ生成部１０１１は、ユーザからの指示に従ってテンプレートを用いてシナリオを作成する。テンプレート編集部１０１２は、シナリオが修正された際に対応するテンプレートを修正する。管理画面生成部１０１３は、ユーザに対するインターフェースを司る
シナリオ管理プログラム１０２は、シナリオ編集部１０２１、修正判断部１０２２、管理画面生成部１０２３を有する。シナリオ編集部１０２１は、ユーザからの指示に従って既に生成されたシナリオを修正する。修正判断部１０２２は、シナリオの修正内容を判定する。管理画面生成部１０２３は、ユーザに対するインターフェースを司る。
【００１５】
なお、管理画面生成部は、テンプレート管理プログラム１０１とシナリオ管理プログラム１０２との両方に設けられているが、いずれか一方にのみ設け、両管理画面生成部１０１３、１０２３の機能を兼ねるようにしてもよい。
【００１６】
業務サーバ２は、制御装置（ＣＰＵ）２１、メモリ２３及びネットワークインターフェース（Ｉ／Ｆ）２４、２５が備わるコンピュータ装置である。Ｉ／Ｆ（Ａ）２４は、他のサーバに対するインターフェースであって、例えば、ＴＣＰ／ＩＰプロトコルによって、サーバ間でデータや制御情報を通信可能であり、例えばイーサネット（登録商標、以下同じ）が用いられる。また、Ｉ／Ｆ（Ｂ）２５は、ストレージ装置５に対するインターフェースであって、例えば、ファイバチャネルプロトコルや、ｉＳＣＳＩプロトコルによって、ストレージ装置５との間でデータや制御信号を送受信する。
【００１７】
業務サーバ２では、ＣＰＵ２１がメモリ２３に記憶されたシナリオ実行プログラム２０１を実行することによって、管理サーバ１によって生成されたシナリオを実行する。より具体的には、シナリオ１０３がジョブスケジューラに登録されると、所定のタイミング（所定時刻や、所定のイベントが生じたとき）にシナリオに従ってジョブが実行され、定型業務（例えば、ストレージ装置５に記憶されたデータの定期的なバックアップ）が実行される。
【００１８】
テープバックアップサーバ３は、ＣＰＵ３１、メモリ３３、インターフェース（Ｉ／Ｆ）３４、３５、３６が備わるコンピュータ装置である。Ｉ／Ｆ（Ａ）３４は、他のサーバに対するインターフェースであって、例えば、ＴＣＰ／ＩＰプロトコルによって、サーバ間でデータや制御情報を通信可能であり、例えばイーサネットが用いられる。また、Ｉ／Ｆ（Ｂ）３５は、ストレージ装置５に対するインターフェースであって、例えば、ファイバチャネルプロトコルや、ｉＳＣＳＩプロトコルによって、ストレージ装置５との間でデータや制御信号を送受信する。また、Ｉ／Ｆ（Ｃ）３６は、テープ記憶装置３７に対するインターフェースであって、例えば、ＳＣＳＩプロトコルによって、テープ記憶装置３７との間でデータや制御信号を送受信する。
【００１９】
テープバックアップサーバ３では、ＣＰＵ３１がメモリ３３に記憶されたシナリオ実行プログラム３０１を実行することによって、管理サーバ１によって生成されたシナリオを実行する。より具体的には、シナリオ１０３がジョブスケジューラに登録されると、所定のタイミング（所定時刻や、所定のイベントが生じたとき）にシナリオに従ってジョブ（例えば、ストレージ装置５に記憶されたデータをテープにバックアップ）が実行される。
【００２０】
管理サーバ１、業務サーバ２及びテープバックアップサーバ３は、ＬＡＮ４を介して接続されている。ＬＡＮ４は、例えばＴＣＰ／ＩＰプロトコルによって、コンピュータ間でデータや制御情報を通信可能なネットワークであり、例えばイーサネット（登録商標、以下同じ）が用いられる。
【００２１】
ストレージ装置５は、複数のディスク５５及びディスクアレイコントローラを含んで構成されている。ディスクアレイコントローラは、制御装置（ＣＰＵ）５１、メモリ５３及びインターフェース５４を含んでいる。ＣＰＵ５１では制御プログラムが動作しており、サーバ２、３からの要求に基づいてディスクに対するデータの入出力を制御する。また、ディスクによって構成されるＲＡＩＤ（Redundant Array of Independent Disks）を管理する。
【００２２】
ストレージ装置５は、ＳＡＮ６を介して業務サーバ２及びテープバックアップサーバ３と接続されている。ＳＡＮ６は、例えばファイバチャネルプロトコルや、ｉＳＣＳＩプロトコのような、データの転送に適するプロトコルで通信可能なネットワークである。
【００２３】
図２は、本発明の実施の形態のテンプレート１０４の説明図である。
【００２４】
テンプレートは、シナリオのひな形及び属性定義ファイルによって構成される。シナリオのひな形には、テンプレートを構成するジョブの実行順序、ジョブの変数やジョブのオプションが規定されている。すなわち、シナリオのひな型は、シナリオを構成するジョブ及びジョブの実行手順が記載されたファイルである。
【００２５】
属性定義ファイルには、ジョブの変数の制約条件が規定されている。例えば、図２に示すように、属性定義ファイルの
<TemplateVariable  Name=“OPT”
Description=“dbbackup Option”>
<SelectionItem DisplayName=“-a” Value=“-a”/>
<SelectionItem DisplayName=“-b” Value=“-b”/>
</TemplateVariable>
によって、コマンド"dbbackup"のオプションを定める変数"OPT"は"-a"、"-b" のいずれかでなければならないことが規定されている。
【００２６】
また、属性定義ファイルの
<TemplateVariable Name=“HOST”
Description=“Host Name”/>
：
によって、コマンド"dbbackup"を実行するサーバを定める変数"HOST"は任意の文字列でよいことが規定されている。
【００２７】
図３は、本発明の実施の形態のパラメタ情報１０５の説明図である。
【００２８】
パラメタ情報１０５は、ユーザが入力したパラメタ及びテンプレートとの関係が、シナリオ生成時やシナリオ修正時に登録される。このパラメタ情報１０５は、二つのテーブルから構成されている。第１テーブルは、シナリオ名、生成元テンプレート名及びパラメタ番号が対応して登録されている（図３（ａ））。第２テーブルには、第１テーブルに規定されるパラメタ番号に対応した変数名と変数の値が対応するように登録されている（図３（ｂ））。
【００２９】
すなわち、シナリオ"BKJobNet1"は、テンプレート"BackupTemplate"から生成され、その変数"OPT"の値は"-a"であり、変数"HOST"の値は"host1"であることが登録されている。
【００３０】
図４は、本発明の実施の形態のシナリオ１０３の説明図である。
【００３１】
シナリオは、テンプレートの変数に、入力されたパラメタが適用されることによって、シナリオが構成される。すなわち、変数"OPT"の値が"-a"と定義されることによってoption=-a;となり、変数"HOST"の値が"host1"と定義されることによってhost=host1;となり、変数の定義を含んだシナリオが生成される。
【００３２】
次に、本発明の実施の形態で用いられるテンプレートの生成について説明する。
【００３３】
図５は、シナリオ編集部１０２１によって表示されるシナリオ編集用画面の説明図である。
【００３４】
ユーザが生成されたシナリオ１０３を指定すると、指定されたシナリオが読み込まれ、シナリオの構成を示す画面（図５（ａ））が表示される。この画面の左欄には指定されたシナリオ名が表示され、右下欄には指定されたシナリオを構成するジョブの実行順序が表示される。
【００３５】
そして、ユーザがこのジョブの一つを指定するとシナリオ定義画面（図５（ｂ））が起動する。このシナリオ定義画面では、指定されたジョブによって実行されるコマンドが表示され、そのコマンドのオプション、そのコマンドの実行対象となるホスト名を入力することができる。
【００３６】
ユーザは、各項目の入力が完了し、「登録」ボタンを操作することによってジョブが定義される。
【００３７】
図６は、本発明の実施の形態の通知処理のフローチャートである。この通知処理は、シナリオの修正が検出されると起動し、シナリオの修正によって生じる影響を判定して、ユーザに通知をする。
【００３８】
まず、修正されたシナリオの生成元テンプレート１０４及びパラメタ情報１０５を読み込む（Ｓ１０１）。さらに、生成元テンプレートとパラメタ情報から、修正前の内容のシナリオを生成する（Ｓ１０２）。その後、生成した修正前のシナリオと修正後のシナリオとを比較して、修正内容を抽出する（Ｓ１０３）。
【００３９】
なお、Ｓ１０２〜Ｓ１０３の処理は、ユーザがシナリオに対して修正した履歴を記録しておき、その修正履歴１０６とテンプレートやパラメタ情報とを比較して、修正内容を抽出することもできる。
【００４０】
その後、修正内容が変数に関連する箇所であるか否かを判定する（Ｓ１０４）。修正が変数に関連する箇所でなければ、このシナリオに関するテンプレートの修正が必要であるため、ステップＳ１０６に進みユーザへ通知する。
【００４１】
一方、修正が変数に関連する箇所であれば、さらに、この変数の制約条件の範囲内か否かを判定する（Ｓ１０５）。この変数に制約条件が設けられていない又は制約条件の範囲内の修正であれば、このシナリオに関してユーザへ通知をする必要がないので、この通知処理を終了する。一方、この変数に制約条件が設けられておりかつ制約条件の範囲を超えた修正であれば、このシナリオに関するテンプレートの修正が必要であるため、ステップＳ１０６に進みユーザへ通知する。
【００４２】
その後、パラメタ情報１０５を参照して、修正が必要とされたテンプレートから生成されたシナリオを特定する（Ｓ１０７）。そして、特定されたシナリオをユーザへ通知する（Ｓ１０８）。
【００４３】
図７は、本発明の実施の形態のテンプレートの修正の判断の説明図である。
【００４４】
本発明では、テンプレートに修正が必要か否かの判断は、シナリオの修正箇所により異なる。
【００４５】
すなわち、シナリオの修正箇所が変数に関連する箇所であるが、制約条件の範囲内（又は、制約条件が設けられていない箇所）の修正であれば、ステップＳ１０５で”ＹＥＳ”となり、修正パターン１であると判定する。このときテンプレートの修正は不要である。
【００４６】
また、シナリオの修正箇所が変数に関連する箇所であり、制約条件を満たさない修正であれば、ステップＳ１０５で”ＮＯ”となり、修正パターン２であると判定する。このときテンプレートは修正が必要となる。
【００４７】
また、シナリオの修正箇所が変数扱いされていない箇所であれば、ステップＳ１０４で”ＮＯ”となり、修正パターン３であると判定する。このときテンプレートは修正が必要となる。すなわち、テンプレートで変数定義された箇所のみにパラメタを入力することができるので、変数以外の箇所の修正はテンプレートの修正となってしまうからである。例えば、このパターン３の修正には新たなジョブを追加する修正がある。
【００４８】
図８は、本発明の実施の形態のテンプレート修正処理のフローチャートである。
【００４９】
まず、管理画面生成部１０１３がユーザからテンプレートの修正指示を受信する（Ｓ１１１）。その後、ユーザから指示された修正箇所をテンプレート編集部１０１２に通知する（Ｓ１１２）。その後、通知された情報に基づいてテンプレートが修正される（Ｓ１１３）。なお、Ｓ１１３では、既存のテンプレート自体を修正したが、既存のテンプレートを修正することなく、新たなテンプレートを生成してもよい。
【００５０】
図９は、本発明の実施の形態の管理サーバによる処理の概念図である。破線は従来技術による処理を示し、実線は本発明による処理を示す。なお、図９中で、テンプレート１０４及びパラメタ情報１０５がテンプレート管理プログラム１０１中に示されているが、これらは別に存在するものである。また、シナリオ１０３がシナリオ管理プログラム１０２中に示されているが、これらは別に存在するものである。
【００５１】
まず、従来技術において、ユーザはテンプレートを指定して、シナリオ生成部１０１１にシナリオの生成を指示する。シナリオ生成部１０１１はユーザから指定されたテンプレート１０４を読み込んで、該テンプレートにユーザが入力したパラメタを適用してシナリオを生成する。生成されたシナリオは、シナリオ管理プログラム１０２によって、シナリオ１０３として管理される。
【００５２】
また、ユーザによってシナリオの修正指示があると、シナリオ編集部１０２１はユーザから指定されたシナリオ１０３を呼び出して、その内容を編集する。
【００５３】
次に、本発明による処理について説明する。
【００５４】
ユーザがシナリオ生成部１０１１にテンプレートを指定してシナリオの生成を指示すると、シナリオ生成部１０１１はユーザから指定されたテンプレート１０４を読み込んで、該テンプレートにユーザが入力したパラメタを適用してシナリオを生成する。そして、ユーザが入力したパラメタ、及び該パラメタが適用されるテンプレートを特定可能な情報をパラメタ情報１０５として保存する。生成されたシナリオは、シナリオ管理プログラム１０２によって、シナリオ１０３として管理される。
【００５５】
修正判断部１０２２はシナリオの修正を検出すると、修正されたシナリオの生成元テンプレート１０４及びパラメタ情報１０５を読み込み（Ｓ１０１）、修正されたシナリオを読み込む。そして修正前の内容のシナリオを生成する（Ｓ１０２）。
【００５６】
その後、生成した修正前のシナリオと修正後のシナリオとを比較して、テンプレートの修正が必要であるか否かを判定する（Ｓ１０４、Ｓ１０５）。テンプレートの修正が必要であれば、管理画面生成部１０１３に通知画面の生成を依頼して、該表示によってユーザへ通知する（Ｓ１０６）。
【００５７】
それと並行して、修正判断部１０２２は、パラメタ情報１０５を読み込んで、修正が必要とされたテンプレートから生成されたシナリオを特定する（Ｓ１０７）。そして、管理画面生成部１０２３に通知画面の生成を依頼して、該表示によってユーザへ通知する（Ｓ１０８）。
【００５８】
テンプレート修正処理（図８）では、管理画面生成部１０１３が受信したユーザからのテンプレートの修正指示は、修正判断部１０２２に送られる（Ｓ１１１）。修正判断部１０２２は、ユーザから指示された修正箇所を特定しテンプレート編集部１０１２に通知する（Ｓ１１２）。テンプレート編集部１０１２は、特定された修正箇所についてテンプレートを修正する（Ｓ１１３）。
【００５９】
図１０は、本発明の実施の形態の管理プログラムによって表示される管理用画面の説明図である。
【００６０】
テンプレート管理プログラム１０１によって、画面の左欄にテンプレート及びその階層構造が表示される（図１０（ａ））。このとき修正を要するテンプレート名にはユーザの注意を促す表示「！」が付されている。
【００６１】
そして、図１１に示すように、修正を要するテンプレート名を指定することによって、このテンプレートが有する問題点が表示され、テンプレートを修正するか否かの選択を求めるテンプレート修正ダイアログが表示される（図１１（ｂ））。
【００６２】
シナリオ管理プログラム１０２（図１０（ｂ））によると、画面の左欄にはシナリオのグループ名、画面の右欄には指定されたグループに属するシナリオ名が表示される。そして、修正を要するシナリオ名にはユーザの注意を促す表示「！」が付されている。
【００６３】
次に、本発明の実施の形態によるテンプレートの修正について実例をあげて説明する。
【００６４】
図１２には、修正パターン２の場合のテンプレートの修正例を示す。
【００６５】
シナリオに変数の制約条件を満たさない修正がされたとき、ユーザがテンプレート修正ダイアログ（図１１（ｂ））においてテンプレートへの反映を指示すると、このシナリオの修正を許容する変数の制約条件が追加される。
【００６６】
具体的には、optionに対する変数は"-a"、"-b" のいずれかでなければならないところ、シナリオがoption=-cと指定されており、この制約条件を満たしていない。よって、属性定義ファイルに、<SelectionItem DisplayName=“-c” Value=“-c”/>を追加することによって、optionに対する変数に"-c"を許容するようにテンプレートが修正される。
【００６７】
図１３には、修正パターン３の場合のテンプレートの修正例のうち、サブシナリオ実行順序を修正する例を示す。
【００６８】
変数扱いされていない箇所についてシナリオが修正されたとき、ユーザがテンプレート修正ダイアログ（図１１（ｂ））においてテンプレートへの反映を指示すると、このシナリオの修正に対応するようにテンプレートが修正される。
【００６９】
具体的には、テンプレートで規定されるジョブ（サブシナリオ）の実行順序はジョブ１、ジョブ２、ジョブ３の順序であるところ、修正されたシナリオではジョブの実行順序がジョブ１、ジョブ３、ジョブ２の順序であり、テンプレートの規定内容が変更されている。よって、テンプレートに
link=(f=Job1,t=Job3,seq);
link=(f=Job3,t=Job2,seq);
と規定することによって、次のジョブへのリンク情報を修正して、ジョブの実行順序についてテンプレートが修正される。
【００７０】
図１４には、修正パターン３の場合のテンプレートの別の修正例のうち、判定ジョブを追加する例を示す。
【００７１】
前述と同様に、変数扱いされていない箇所についてシナリオが修正されたとき、ユーザがテンプレート修正ダイアログ（図１１（ｂ））においてテンプレートへの反映を指示すると、このシナリオの修正に対応するようにテンプレートが修正される。
【００７２】
具体的には、テンプレートで規定されるジョブ（サブシナリオ）の実行順序についてジョブ１とジョブ３との間に判定ジョブが追加されており、テンプレートの規定内容が変更されている。よって、テンプレートに
link=(f=Job1,t=判定Job,seq);
link=(f=判定Job,t=Job2,seq);
link=(f=判定Job,t=Job3,con);
判定Job {
：
}
と規定することによって、判定Jobを追加し、次のジョブへのリンク情報を修正して、実行されるジョブについてテンプレートが修正される。
【００７３】
図１５には、修正パターン３の場合のテンプレートの修正例のうち、変数項目以外を修正する例を示す。
【００７４】
前述と同様に、変数扱いされていない箇所についてシナリオが修正されたとき、ユーザがテンプレート修正ダイアログ（図１１（ｂ））においてテンプレートへの反映を指示すると、このシナリオの修正に対応するようにテンプレートが修正される。
【００７５】
具体的には、テンプレートで規定されるコマンドが変更されており、テンプレートの規定内容が変更されている。よって、テンプレートに
command=“dbrestore”;
と規定することによって、テンプレートで実行されるコマンドを修正する。
【００７６】
以上説明したように本発明の実施の形態では、管理サーバ１が、シナリオの生成元であるテンプレートを管理するテンプレート管理部１０１、及び定型業務を実行するシナリオを管理するシナリオ管理部１０２を備え、シナリオ管理部１０２は、修正前のシナリオと修正後のシナリオとを比較して、シナリオの修正内容が変数に関連する箇所であり、かつ、変数の制約条件の範囲内である場合に、テンプレートの修正が不要であると判定し、それ以外の場合には、テンプレートの修正が必要であると判定する修正判定部１０２２を含み、テンプレート管理部１０１又はシナリオ管理部１０２に、このシナリオに関するテンプレートの修正が必要であると判定された場合にユーザへ通知する管理画面生成部１０１３、１０２３を備えるので、シナリオの修正に伴い、修正が必要なテンプレートを的確に検出することができる。
【００７７】
また、テンプレート管理部１０１は、テンプレートの修正が必要であると判定された場合に、修正後のシナリオと整合するテンプレートの修正内容を生成するテンプレート編集部１０１２を備えるので、 テンプレートの書式を知らないユーザでも、テンプレートを修正することができる。
【００７８】
また、シナリオの生成の際に入力された変数を記憶するパラメタ情報を記憶する記憶部（メモリ１３）を備え、修正判定部１０２２は、テンプレートの修正が必要であると判定された場合に、パラメタ情報を参照して、修正が必要とされたテンプレートから生成されたシナリオを特定し、管理画面生成部１０２３は、該特定されたシナリオをユーザへ通知するので、シナリオやテンプレートの修正によって、影響を受けるシナリオを的確に検出することができる。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施の形態のコンピュータシステムの構成図である。
【図２】本発明の実施の形態のテンプレートの説明図である。
【図３】本発明の実施の形態のパラメタ情報の説明図である。
【図４】本発明の実施の形態のシナリオの説明図である。
【図５】本発明の実施の形態のシナリオ編集用画面の説明図である。
【図６】本発明の実施の形態の通知処理のフローチャートである。
【図７】本発明の実施の形態のテンプレートの修正の判断の説明図である。
【図８】本発明の実施の形態のテンプレート修正処理のフローチャートである。
【図９】本発明の実施の形態の管理サーバによる処理の概念図である。
【図１０】本発明の実施の形態の管理プログラムによって表示される管理用画面の説明図である。
【図１１】本発明の実施の形態の管理プログラムによって表示される管理用画面の説明図である。
【図１２】本発明の実施の形態のテンプレートの修正例の説明図である。
【図１３】本発明の実施の形態のテンプレートの修正例の説明図である。
【図１４】本発明の実施の形態のテンプレートの修正例の説明図である。
【図１５】本発明の実施の形態のテンプレートの修正例の説明図である。
【符号の説明】
【００８０】
１        管理サーバ
２        業務サーバ
３        テープバックアップサーバ
４        ネットワーク
５        ストレージ装置
６        ネットワーク
１０１    テンプレート管理プログラム
１０２    シナリオ管理プログラム
１０３    シナリオ
１０４    テンプレート
１０５    パラメタ情報
１０６    修正履歴
１０１１  シナリオ生成部
１０１２  テンプレート編集部
１０１３  管理画面生成部
１０２１  シナリオ編集部
１０２２  修正判断部
１０２３  管理画面生成部
【図１】
2005339212.tif 000003
【図２】
2005339212.tif 000004
【図３】
2005339212.tif 000005
【図４】
2005339212.tif 000006
【図５】
2005339212.tif 000007
【図６】
2005339212.tif 000008
【図７】
2005339212.tif 000009
【図８】
2005339212.tif 000010
【図９】
2005339212.tif 000011
【図１０】
2005339212.tif 000012
【図１１】
2005339212.tif 000013
【図１２】
2005339212.tif 000014
【図１３】
2005339212.tif 000015
【図１４】
2005339212.tif 000016
【図１５】
2005339212.tif 000017