(57)【特許請求の範囲】
【請求項１】
ネットワーク（１０２）に接続された複数の資源（４００）に対しワークフローに基づいて操作を行うワークフロー実行システムにおいて、
実行すべきワークフローから個々の操作を取り出し、該取り出した個々の操作について、操作対象資源情報と、操作内容情報と、操作を実行する利用者識別情報とを含むアクセス要求を出力し、操作が許可されるか否かの問合わせを行う認可要求手段（２１０）と、
前記アクセス要求を入力すると、アクセス対象の資源識別情報と、資源に対する操作内容の情報と、利用者識別情報との組み合わせに対するアクセス可否の属性を記述したアクセス制御ルールを格納するデータベース（３５０）を参照し、該アクセス制御ルールに基づいて、発生したアクセス要求に対するアクセス可否を判定し、該判定で許可又は拒否が定まらないときには、前記アクセス要求に対する許可又は拒否の外部判定を要求し、該要求に基づいて入力された外部判定の結果を判定結果として出力するとともに、該入力された外部判定の結果を、新たなアクセス制御ルールとして前記データベース（３５０）に格納するアクセス制御ルール適用手段（３１０）と、
前記アクセス制御ルール適用手段（３１０）から、全ての操作に対するアクセス要求についてアクセス許可が得られた後に、前記ワークフローに従って、資源に対する操作を実行する操作実行手段（３４０）とを備えることを特徴とするワークフロー実行システム。
【請求項２】
前記アクセス制御ルール適用手段（３１０）の判定結果が全ての操作に対してアクセス許可であると、前記ワークフロー中の個々の操作について実行時間を決定してスケジュールを作成する実行スケジュール作成手段（２３０）を更に備える、請求項１に記載のワークフロー実行システム。
【請求項３】
前記スケジュールに含まれる個々の操作について、操作対象資源情報と、操作内容情報と、操作を実行する利用者識別情報と、操作実行時間情報とを含む予約要求を出力する予約要求手段と、
前記予約要求を入力すると、該予約要求に基づいて前記アクセス制御ルール適用手段にアクセス要求を送信し、当該予約が許可されるか否かを問い合わせ、該予約が許可されるときには、操作予約を登録する操作予約手段（３３０）とを更に備え、
前記操作実行手段（３４０）は、前記登録された操作予約に従って、個々の操作を実行する、請求項１又は２に記載のワークフロー実行システム。
【請求項４】
コンピュータを利用して、ネットワークに接続された複数の資源に対しワークフローに基づいて操作を実行するワークフロー実行方法において、
前記コンピュータ（２００）が、実行すべきワークフローから個々の操作を取り出し、該取り出した個々の操作について、操作対象資源情報と、操作内容情報と、操作を実行する利用者識別情報とを含むアクセス要求を発生するステップと、
前記コンピュータ（３００）が、前記アクセス要求が発生すると、アクセス対象の資源識別情報と、資源に対する操作内容の情報と、利用者識別情報との組み合わせに対するアクセス可否の属性を記述したアクセス制御ルールを格納するデータベース（３５０）を参照し、該アクセス制御ルールに基づいて、発生したアクセス要求に対するアクセス可否を判定するステップと、
前記コンピュータ（３００）が、前記判定ステップで許可又は拒否が定まらないときには、前記アクセス要求に対する許可又は拒否の外部判定を要求し、該要求に基づいて入力された外部判定の結果を判定結果として出力するとともに、該入力された外部判定の結果を、新たなアクセス制御ルールとして前記データベース（３５０）に格納するステップと、
前記コンピュータ（３４０）が、全ての操作に対するアクセス要求についてアクセス許可が得られた後に、前記ワークフローに従って、資源に対する操作を実行するステップとを備えることを特徴とするワークフロー実行方法。
【請求項５】
前記コンピュータ（２００）が、前記アクセス可否判定ステップの判定結果が全ての操作に対してアクセス許可であると、前記ワークフロー中の個々の操作について実行時間を決定してスケジュールを作成するステップを更に備える、請求項４に記載のワークフロー実行方法。
【請求項６】
前記コンピュータ（２００）が、前記スケジュールに含まれる個々の操作について、操作対象資源情報と、操作内容情報と、操作を実行する利用者識別情報と、操作実行時間情報とを含む予約要求を発生するステップと、
前記コンピュータ（３００）が、前記予約要求が発生すると、前記データベース（３５０）を参照して、該予約要求が許可されるか否かを調べるステップを更に備える、請求項４又は５に記載のワークフロー実行方法。
【請求項７】
ネットワーク（１０２）に接続された複数の資源（４００）に対しワークフローに基づいて操作を行うワークフロー実行装置のためのプログラムであって、前記ワークフロー実行装置（２００，３００）に、
実行すべきワークフローから個々の操作を取り出し、該取り出した個々の操作について、操作対象資源情報と、操作内容情報と、操作を実行する利用者識別情報とを含むアクセス要求を発生する処理と、
前記アクセス要求が発生すると、アクセス対象の資源識別情報と、資源に対する操作内容の情報と、利用者識別情報との組み合わせに対するアクセス可否の属性を記述したアクセス制御ルールを格納するデータベース（３５０）を参照し、該アクセス制御ルールに基づいて、発生したアクセス要求に対するアクセス可否を判定する処理と、
前記判定処理で許可又は拒否が定まらないときには、前記アクセス要求に対する許可又は拒否の外部判定を要求し、該要求に基づいて入力された外部判定の結果を判定結果として出力するとともに、該入力された外部判定の結果を、新たなアクセス制御ルールとして前記データベース（３５０）に格納する処理と、
全ての操作に対するアクセス要求についてアクセス許可が得られた後に、前記ワークフローに従って、資源に対する操作を実行する処理とを実行させることを特徴とするプログラム。
【請求項８】
前記ワークフロー実行装置（２００）に、前記アクセス可否判定処理の判定結果が全ての操作に対してアクセス許可であると、前記ワークフロー中の個々の操作について実行時間を決定してスケジュールを作成する処理を更に実行させる、請求項７に記載のプログラム。
【請求項９】
前記ワークフロー実行装置（２００，３００）に、
前記スケジュールに含まれる個々の操作について、操作対象資源情報と、操作内容情報と、操作を実行する利用者識別情報と、操作実行時間情報とを含む予約要求を発生する処理と、
前記予約要求が発生すると、前記データベース（３５０）を参照して、該予約要求が許可されるか否かを調べる処理とを更に実行させる、請求項７又は８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はワークフロー実行システムに関し、更に詳しくは、資源に対する操作に際してアクセス制御を伴うワークフロー実行システムに関する。本発明は、更に、ワークフロー実行方法、及び、プログラムに関する。
【背景技術】
【０００２】
アクセス制御は、ファイルの参照や機器の構成変更が、限られたユーザにのみ許可される。アクセス制御では、例えばファイルの所有者は、自身のみ書き換え可能、自身と同じグループ内の者のみ書き換え可能、或いは、全ての利用者に対して参照のみ可能といった属性を設定できる。従来の分散アクセス制御システムの一例が、特開２０００−３１１１３８号公報に記載されている。この従来の分散アクセス制御システムは、サーバへの多数のエンドユーザからのアクセスが発生する際に、アクセスの正当性の検証を効率的に行うことを目的としている。【０００３】
図２２は、前記特許文献に記載された従来の分散アクセス制御システムの構成を示している。この分散アクセス制御システム５００は、複数のネットワークアクセスサーバ（ＮＡＳ）５０１と、単一のインデックスサーバ５０２と、複数の認証サーバ５０３と、各認証サーバに対応するユーザ情報ＤＢ５０４とから構成されている。エンドユーザが、複数のＮＡＳ５０１のうちの１つにアクセス要求を送ると、要求を受け取ったＮＡＳ５０１は、インデックスサーバ５０２を参照して、複数の認証サーバ５０３のうちの何れに認証要求を送るのかを決定する。その後、決定された認証サーバ５０３に認証要求を送信し、認証サーバ５０３は、認証を行って、要求の正当性を検証する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
分散アクセス制御システムを、分散コンピューティングシステムの自動運用管理に適用する場合について考える。分散コンピューティングシステムの自動管理とは、クラスタ化されたサーバ群へのサーバの追加と削除、サーバ上のアプリケーションの更新など、分散コンピューティングシステムの構成を変更する際に必要になる一連の操作を自動的に実行する機構を指す。このようなシステムにおける自動運用管理では、どの資源に対して誰がどの操作をいつ実行することができるかというアクセス制御情報を管理し、適用する機構が必要である。【０００５】
上記従来の分散アクセス制御システムを、分散コンピューティングシステムの自動運用管理に適用する場合、以下の問題点がある。第１の問題点は、すべての資源とすべての操作の組に対して、事前にアクセスの可否を設定しておく必要があることである。従来の分散アクセス制御システムでは、認証サーバによる自動的なアクセス制御のみを扱っており、人手でのアクセス制御の適用は扱っていない。しかし、分散コンピューティングシステムの自動運用管理では、操作対象となる資源の数と、可能な操作の数が非常に多くなるため、事前にすべてのアクセス制御ルールを人間が用意するのは現実的ではない。【０００６】
第２の問題点は、アクセス制御と操作の実行を単一の要求として処理することに起因し、アクセス制御の所要時間が長いと、それに伴って、操作の待ち時間も長くなることである。つまり、手動でアクセス制御を行う場合など、アクセス可否の判断結果が得られるまでに要する時間が長いときには、その操作が実行可能であるか否かの判断がつかない時間が長く、資源操作の操作待ち時間が長くなるものである。操作待ち時間が長くなることは、資源の可用性（アベイラビリティ）を低下させる要因となる。【０００７】
第３の問題点は、資源への操作に関する時間的な制約を扱えないことである。分散コンピューティングシステムの自動運用管理では、資源への操作はユーザへのサービス提供に影響を与える場合があるので、資源への操作が許容される時間帯について制約が存在する。特に、例えば、サーバクラスタへのサーバ追加に伴い、サーバと負荷分散装置（ロードバランサ）の設定を変更する場合のように、複数の資源に対する操作を組み合わせて実行する場合、それらすべての操作についての時間的な制約を満たす形で操作を実行する必要がある。しかし、従来技術は、この種の制約を満たす形で操作を実行する手段を提供していない。【０００８】
本発明は、上記従来技術の問題点を解消し、事前に全ての資源と操作の組について、アクセス許可又は拒否を決定したアクセス制御ルールを用意する必要がないワークフロー実行システム、ワークフロー実行方法、及び、プログラムを提供することを目的とする。
【０００９】
また、本発明は、資源への操作を実行する際に、長時間のアクセス制御処理が資源の可用性に与える影響を低減できるワークフロー実行システム、ワークフロー実行方法、及び、プログラムを提供することを目的とする。
【００１０】
また、本発明は、複数の資源に対する操作を組み合わせて実行する際に、資源への操作に関する時間的な制約を満たす形で操作を実行することを可能にするワークフロー実行システム、ワークフロー実行方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明は、ネットワークに接続された複数の資源に対しワークフローに基づいて操作を行うワークフロー実行システムにおいて、実行すべきワークフローから個々の操作を取り出し、該取り出した個々の操作について、操作対象資源情報と、操作内容情報と、操作を実行する利用者識別情報とを含むアクセス要求を出力し、操作が許可されるか否かの問合わせを行う認可要求手段と、前記アクセス要求を入力すると、アクセス対象の資源識別情報と、資源に対する操作内容の情報と、利用者識別情報との組み合わせに対するアクセス可否の属性を記述したアクセス制御ルールを格納するデータベースを参照し、該アクセス制御ルールに基づいて、発生したアクセス要求に対するアクセス可否を判定し、該判定で許可又は拒否が定まらないときには、前記アクセス要求に対する許可又は拒否の外部判定を要求し、該要求に基づいて入力された外部判定の結果を判定結果として出力するとともに、該入力された外部判定の結果を、新たなアクセス制御ルールとして前記データベースに格納するアクセス制御ルール適用手段と、前記アクセス制御ルール適用手段から、全ての操作に対するアクセス要求についてアクセス許可が得られた後に、前記ワークフローに従って、資源に対する操作を実行する操作実行手段とを備えることを特徴とするワークフロー実行システムを提供する。
【００１９】
本発明は、コンピュータを利用して、ネットワークに接続された複数の資源に対しワークフローに基づいて操作を実行するワークフロー実行方法において、前記コンピュータが、実行すべきワークフローから個々の操作を取り出し、該取り出した個々の操作について、操作対象資源情報と、操作内容情報と、操作を実行する利用者識別情報とを含むアクセス要求を発生するステップと、前記コンピュータが、前記アクセス要求が発生すると、アクセス対象の資源識別情報と、資源に対する操作内容の情報と、利用者識別情報との組み合わせに対するアクセス可否の属性を記述したアクセス制御ルールを格納するデータベースを参照し、該アクセス制御ルールに基づいて、発生したアクセス要求に対するアクセス可否を判定するステップと、前記コンピュータが、前記判定ステップで許可又は拒否が定まらないときには、前記アクセス要求に対する許可又は拒否の外部判定を要求し、該要求に基づいて入力された外部判定の結果を判定結果として出力するとともに、該入力された外部判定の結果を、新たなアクセス制御ルールとして前記データベースに格納するステップと、前記コンピュータが、全ての操作に対するアクセス要求についてアクセス許可が得られた後に、前記ワークフローに従って、資源に対する操作を実行するステップとを備えることを特徴とするワークフロー実行方法を提供する。
【００２０】
本発明は、ネットワークに接続された複数の資源に対しワークフローに基づいて操作を行うワークフロー実行装置のためのプログラムであって、前記ワークフロー実行装置に、実行すべきワークフローから個々の操作を取り出し、該取り出した個々の操作について、操作対象資源情報と、操作内容情報と、操作を実行する利用者識別情報とを含むアクセス要求を発生する処理と、前記アクセス要求が発生すると、アクセス対象の資源識別情報と、資源に対する操作内容の情報と、利用者識別情報との組み合わせに対するアクセス可否の属性を記述したアクセス制御ルールを格納するデータベースを参照し、該アクセス制御ルールに基づいて、発生したアクセス要求に対するアクセス可否を判定する処理と、前記判定処理で許可又は拒否が定まらないときには、前記アクセス要求に対する許可又は拒否の外部判定を要求し、該要求に基づいて入力された外部判定の結果を判定結果として出力するとともに、該入力された外部判定の結果を、新たなアクセス制御ルールとして前記データベースに格納する処理と、全ての操作に対するアクセス要求についてアクセス許可が得られた後に、前記ワークフローに従って、資源に対する操作を実行する処理とを実行させることを特徴とするプログラムを提供する。
【００２１】
本発明のワークフロー実行システム、ワークフロー実行方法、及び、プログラムでは、例えば、資源操作に対するアクセス可否の属性として、許可及び拒否に加えて、外部参照を有するアクセス制御ルールを用いてアクセス制御を行う。アクセス可否の属性が外部参照であれば、許可又は拒否の入力を求め、その入力された判定結果を、アクセス可否の判定結果として出力する。このため、事前に、操作対象の資源について、データベースに全ての操作に対してアクセス許可又は拒否を決定したアクセス制御ルールを用意しなくても、ワークフローによる資源操作を実行できる。また、本発明のワークフロー実行システム、ワークフロー実行方法、及び、プログラムでは、外部判定として入力された外部判定結果をデータベースに反映することで、次回のアクセス要求では、アクセス可否の属性が外部判定と判定されない。
【００２２】
本発明のワークフロー実行システムは、前記アクセス制御ルール適用手段の判定結果が全ての操作に対してアクセス許可であると、前記ワークフロー中の個々の操作について実行時間を決定してスケジュールを作成する実行スケジュール作成手段を更に備える構成を採用できる。本発明のワークフロー実行方法では、前記コンピュータが、前記アクセス制御ルール適用手段の判定結果が全ての操作に対してアクセス許可であると、前記ワークフロー中の個々の操作について実行時間を決定してスケジュールを作成するステップを更に備える構成を採用できる。本発明のプログラムは、前記ワークフロー実行装置に、前記アクセス制御ルール適用手段の判定結果が全ての操作に対してアクセス許可であると、前記ワークフロー中の個々の操作について実行時間を決定してスケジュールを作成する処理を更に実行させる構成を採用できる。例えば、操作に時間的制約が課されている場合には、その時間的制約を満たすように、実行スケジュールを作成することで、ワークフローの実行が可能となる。【００２４】
本発明のワークフロー実行システムは、前記スケジュールに含まれる個々の操作について、操作対象資源情報と、操作内容情報と、操作を実行する利用者識別情報と、操作実行時間情報とを含む予約要求を出力する予約要求手段と、前記予約要求を入力すると、該予約要求に基づいて前記アクセス制御ルール適用手段にアクセス要求を送信し、当該予約が許可されるか否かを問い合わせ、該予約が許可されるときには、操作予約を登録する操作予約手段とを更に備え、前記操作実行手段は、前記登録された操作予約に従って、個々の操作を実行する構成を採用できる。本発明のワークフロー実行方法は、前記コンピュータが、前記スケジュールに含まれる個々の操作について、操作対象資源情報と、操作内容情報と、操作を実行する利用者識別情報と、操作実行時間情報とを含む予約要求を発生するステップと、前記コンピュータが、前記予約要求が発生すると、前記データベースを参照して、該予約要求が許可されるか否かを調べるステップを更に備える構成を採用できる。
本発明のプログラムは、前記ワークフロー実行装置に、前記スケジュールに含まれる個々の操作について、操作対象資源情報と、操作内容情報と、操作を実行する利用者識別情報と、操作実行時間情報とを含む予約要求を発生する処理と、前記予約要求が発生すると、前記データベースを参照して、該予約要求が許可されるか否かを調べる処理とを更に実行させる構成を採用できる。これら構成を採用すると、認可要求手段が要求したアクセス要求に外部参照が適用される場合でも、その外部判定の結果がデータベースに反映されていることで、操作予約手段による予約の段階では、外部参照は適用されない。このため、資源操作に際して、外部判定が必要であることに伴う資源の可用性の低下を避けることができ、資源操作を、認可処理が資源の可用性に影響を与えない形で実行できる。
【発明の効果】
【００２５】
本発明のワークフロー実行システム、ワークフロー実行方法、及び、プログラムでは、アクセスの可否が定まらないときには、外部参照を用いて、アクセスの可否を決定することにより、事前に、全ての操作についてアクセス制御ルールを用意しなくても、アクセス制御を実現できる。これにより、ワークフロー実行システムでは、資源の自動運用管理に際して、操作対象に資源について、事前に、アクセス許可又は拒否を決定した完全なアクセス制御ルールを準備する必要がなく、自動管理適用の初期コストを低く抑えることができる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図１は、本発明の一実施形態のワークフロー実行システムの構成をブロック図で示している。ワークフロー実行システム１００は、ネットワーク１０１を介して相互に接続された、１以上の資源管理装置（リソース・マネージャ）３００と、１以上の業務管理装置（アプリケーション・マネージャ）２００とを有する。ワークフロー実行システム１００は、多数のサーバやネットワーク機器、ストレージ装置などの資源を有するデータセンターにおいて、資源の自動運用管理を行うワークフローの実行を行う。或いは、複数のデータセンターや、複数の組織内コンピュータネットワークを接続した形態のコンピューティングシステムにおいて、資源の自動運用管理を行うワークフローの実行を行う。【００２７】
業務管理装置２００は、業務管理者端末１０３と接続される。資源管理装置３００は、資源管理者端末１０４と接続される。また、ネットワーク１０２を介して複数の資源（リソース）４００と接続される。ネットワーク１０１は、例えばＬＡＮ（ローカルエリアネットワーク）又はＷＡＮ（ワイドエリアネットワーク）として構成され、ネットワーク１０２は、例えばＬＡＮとして構成される。業務管理者端末１０３及び資源管理者端末１０４は、それぞれ、ディスプレイ等の出力装置と、キーボート等の入力装置とを備えたコンピュータ端末として構成される。【００２８】
資源管理装置３００及び業務管理装置２００は、それぞれプログラム実行機能とネットワーク接続機能とを有するコンピュータ装置として構成される。業務管理者端末１０３及び資源管理者端末１０４は、それぞれ資源管理装置３００又は業務管理装置２００に直接に接続され、或いは、ネットワークを介して接続される。または、資源管理装置３００及び業務管理装置２００内に内蔵される。業務管理装置２００は、ユーザに提供する、コンピューティングシステム上の業務の管理を行う。資源管理装置３００は、分散コンピューティングシステムを構成するための複数の資源４００の管理を行う。資源４００は、業務を実現するための装置であり、具体的には、コンピュータ、スイッチ、ルータ、負荷分散装置（ロードバランサ）、ファイアウォール、ストレージ装置などの機器として構成される。【００２９】
業務管理装置２００は、ユーザに業務を提供するために、資源管理装置３００に、その管理下にある資源４００に対する操作を要求する。資源管理装置３００は、業務管理装置２００からの要求により、資源４００に対する操作を実行する。資源管理装置３００による操作の実行は、操作の可否を判断するアクセス制御処理を伴う。ワークフロー実行システム１００は、業務数に応じて、任意の数の業務管理装置２００を有することができる。また、資源４００を管理する組織又は部門の数に応じて、任意の数の資源管理装置３００を有する。【００３０】
例えば、ユーザが、複数の資源４００により構築されたある環境下で業務を行っているとき、負荷の増大により、サーバの追加が必要になったとする。この場合、業務管理者は、業務管理者端末１０３を用いて、サーバの追加を指示する旨のワークフローを生成して、これを業務管理装置２００に入力する。業務管理装置２００は、追加対象のサーバ（資源４００）を管理する資源管理装置３００に、ワークフローの実行を指示して、サーバの追加を実行させる。【００３１】
図２は、業務管理装置２００の構成をブロック図で示している。業務管理装置２００は、ワークフロー制御手段２１０、認可要求手段２２０、実行スケジュール作成手段２３０、操作予約要求手段２４０、操作実行要求手段２５０、ワークフロー定義ＤＢ２６０、及び、ワークフロー記憶部２７０を有する。ワークフロー定義ＤＢ２６０は、実行の対象となり得るワークフローの定義を格納するデータベースとして構成される。業務管理者は、このワークフロー定義ＤＢ２６０に含まれるワークフローを、実行対象として選択することができる。ワークフロー記憶部２７０は、半導体メモリ、或いは、磁気ディスク等の記憶装置として構成され、処理対象のワークフローとその実行スケジュールを一時的に格納する。【００３２】
ワークフロー制御手段２１０は、業務管理者端末１０３からワークフローが入力されると、認可要求手段２２０、実行スケジュール作成手段２３０、操作予約要求手段２４０、及び、操作実行要求手段２５０を順次に呼び出し、認可、実行スケジュール作成、予約、実行の各段階の処理を行う。認可要求手段２２０は、資源管理装置３００に認可要求を送信し、その認可要求に対する応答を受け取る。実行スケジュール作成手段２３０は、ワークフローに含まれる各操作のスケジューリングを行う。操作予約要求手段２４０は、資源管理装置３００に、実行スケジュール作成手段２３０が作成したスケジュールに従った操作の実行予約を要求し、その操作予約要求に対する応答を受け取る。操作実行要求手段２５０は、資源管理装置３００に、予約された操作の実行を要求し、操作実行結果を受け取る。【００３３】
図３は、資源管理装置３００の構成をブロック図で示している。資源管理装置３００は、アクセス制御ルール適用手段３１０、手動アクセス制御適用手段３２０、操作予約手段３３０、操作実行手段３４０、アクセス制御ＤＢ３５０、及び、資源情報ＤＢ３６０を有する。資源情報ＤＢ３６０は、各資源４００についての資源情報を格納する。この資源情報には、利用者を特定する情報及び操作予約の情報が含まれる。アクセス制御ＤＢ３５０は、複数のアクセス制御ルールを格納する。【００３４】
アクセス制御ルールは、操作対象の資源、操作内容、資源利用者、及び、操作要求者の組合せに対し、アクセスの可否の属性として、「許可」、「拒否」、又は、「外部参照」の何れかを有する。例えば、アクセス制御ルールは、操作対象資源「ロードバランサ」、操作内容「ターゲット追加」、資源利用者「利用者Ａ」、操作要求者「利用者Ａ」の組に対しては、「認可」という属性を有する。アクセス制御ルールには、アクセス可否の属性が許可であるときには、アクセスが許可される時間帯を指定する属性を設定できる。また、アクセスの可否、及び、アクセス可能時間帯以外については、例えば操作要求者として「資源利用者と一致する」というような、具体的な値を示さない形で記述することができる。【００３５】
アクセス制御ルール適用手段３１０は、業務管理装置２００から操作認可要求が送られると、要求された操作の可否を判断する。アクセス制御ルール適用手段３１０は、操作認可要求を受信すると、資源情報ＤＢ３６０を参照して、操作認可要求の対象となる資源４００の現在の利用者を取得する。その後、アクセス制御ＤＢ３５０を参照して、要求された操作対象の資源、操作内容、及び、操作要求者と、取得した資源利用者の組合せにマッチするルールを選択し、その組の属性が、「許可」、「拒否」、「外部参照」の何れであるかを判断する。アクセス制御ルール適用手段３１０は、マッチしたルールの属性が「外部参照」であれば、外部へ、アクセス可否の属性の入力を要求する。例えば、外部参照として、「手動認可」が指定されているときには、手動アクセス制御適用手段３２０に認可要求を送信し、手動認可によるアクセス可否の属性の入力を要求する。【００３６】
手動アクセス制御適用手段３２０は、操作対象の資源、操作内容、資源利用者、及び、操作要求者の組について、その認可結果の入力を資源管理者端末１０４に求める。資源管理者は、「許可」又は「拒否」を、その組合せに対する認可結果として入力する。アクセス制御ルール適用手段３１０は、この手動認可処理の結果を受信して、その結果を、新規ルールとして、アクセス制御ＤＢに追加する。例えば、手動認可処理の結果、操作対象資源「ロードバランサ」、操作内容「ターゲット追加」、資源利用者「ユーザＢ」、操作要求者「ユーザＢ」の組に対して、「許可」が与えられたときには、アクセス制御ＤＢ３５０に、その組合せに対して「許可」という属性を与えたルールを追加する。手動認可に対しては、資源管理者によって「許可」又は「拒否」が決定されているため、アクセス制御ＤＢ３５０に追加される新規ルールは、「手動認可」の属性を持たない。【００３７】
操作予約手段３３０は、業務管理装置２００から操作予約要求が送られると、アクセス制御ルール適用手段３１０によってアクセス制御処理を行い、操作予約を行う。この操作予約に成功する条件は、予約内容の操作に対するアクセス制御に成功し、かつ、同じ資源について、重複する時間帯に他の操作が予約されていないことである。操作予約手段３３０は、操作の予約に成功すると、その操作に新しい予約ＩＤを割り当て、その予約ＩＤを業務管理装置２００に通知する。また、予約ＩＤ、予約者、操作の内容、及び、時間帯を含む予約情報を資源情報ＤＢ３６０に格納する。なお、操作予約段階のアクセス制御処理では、手動アクセス制御が適用されることはない。これは、認可段階において許可された操作であれば、「手動認可」の属性を持たないルールに必ずマッチするためである。【００３８】
操作実行手段３４０は、業務管理装置２００から操作実行要求が送られると、資源情報ＤＢ３６０から該当する操作予約を検索し、その内容に従って、資源４００に対する操作を実行する。操作の実行が成功する条件は、操作実行要求に含まれる予約ＩＤと一致する予約ＩＤを有する予約情報が資源情報ＤＢ３６０内に存在し、操作実行要求の要求者が予約情報の予約者と一致し、かつ、操作実行要求を受理した時刻が予約情報の時間帯に含まれることである。操作実行手段３４０は、資源４００に対する操作の実行が終了すると、その実行結果を業務管理装置２００に通知する。【００３９】
業務管理装置２００の動作について説明する。図４は、業務管理装置２００の動作手順をフローチャートで示している。ワークフロー制御手段２１０は、業務管理者端末１０３から、実行すべきワークフローが入力されると（ステップＳ４０１）、入力されたワークフローをワークフロー記憶部２７０に格納する。また、認可要求手段２２０を呼び出し、認可段階の処理を開始する（ステップＳ４０２）。ステップＳ４０１で入力されるワークフローは、業務管理者端末１０３から直接入力することができ、或いは、ワークフロー定義ＤＢ２６０から取得することができる。認可要求手段２２０は、ワークフロー記憶部２７０に格納されたワークフロー中の個々の操作について、その操作の認可要求を、資源管理装置３００に要求する（ステップＳ４０３）。認可要求手段２２０は、資源管理装置３００から認可要求に対する応答を受信し、認可処理の結果を、ワークフロー制御手段２１０に通知する。【００４０】
図５は、認可要求手段２２０が行う認可処理の処理手順を示している。認可要求手段２２０は、以下に示す手順に従って、ステップＳ４０３の認可処理を実行する。まず、認可要求手段２２０は、ワークフロー記憶部２７０から、認可が完了していない操作を１つ取り出す（ステップＳ５０１）。ステップＳ５０１では、ワークフローにおける操作間の依存関係を考慮する必要はなく、適当な順序で、操作を取り出すことができる。次いで、ステップＳ５０１で取り出した操作を対象にして、操作対象の資源４００を管理下におく資源管理装置３００に操作認可要求を送信する（ステップＳ５０２）。【００４１】
認可要求手段２２０が、ステップＳ５０２で資源管理装置３００に送信する操作認可要求には、認可要求の要求者（requestor）を特定する情報、つまり認可要求を送る業務管理装置２００のＩＤ、処理対象の資源(target)を特定する情報、及び、処理内容（operation）が含まれる。ここで、操作認可要求に含まれる要求者の情報が実際の要求者と一致することを確かめるためには、既知の認証（authentication）機構を用いることができる。この点は、操作予約要求手段２４０が行う操作予約要求、及び、操作実行要求手段２５０が行う操作実行要求についても同様である。認証機構の例としては、ＳＳＬ／ＴＬＳ（Secure Socket Layer/Transport Layer Security）や、Kerberos等が知られている。【００４２】
認可要求手段２２０は、資源管理装置３００から、ステップＳ５０２で送信した認可要求に対する応答を受信する（ステップＳ５０３）。認可要求手段２２０は、ステップＳ５０３では、認可要求に対する応答として、操作の可否(result)を示す、許可(permitted)又は拒否(denied)を受信する。また、操作が許可される場合には、時間帯（period）として、操作が許可される時間帯（開始時刻と終了時刻の組）を示す情報を受信する。認可要求手段２２０は、ステップＳ５０３で受信した応答により、操作が許可されるか否かを判断し（ステップＳ５０４）、操作が拒否される場合には、認可処理に失敗した旨を、ワークフロー制御手段２１０に通知する（ステップＳ５０７）。【００４３】
認可要求手段２２０は、ステップＳ５０４で、操作が許可されたと判断すると、ワークフローに含まれる全ての操作について、認可処理が完了したか否かを判断する（ステップＳ５０５）。認可要求手段２２０は、ステップＳ５０５で、認可処理が完了していない操作が残っていると判断したときには、ステップＳ５０１に戻り、認可処理が完了していない操作を取り出して、その操作の認可処理を行う。全ての操作について、認可処理が完了し、かつ、資源管理装置３００によって全ての操作が許可されると、認可要求手段２２０は、認可処理に成功した旨を、ワークフロー制御手段２１０に通知する（ステップＳ５０６）。【００４４】
図４に戻り、ワークフロー制御手段２１０は、認可要求手段２２０から認可処理に成功した旨の通知を受けると、実行スケジュール２３０を呼び出し、スケジュール作成段階の処理を開始する（ステップＳ４０４）。ワークフロー制御手段２１０は、認可処理に失敗した旨の通知を受けたときには、業務管理者端末１０３に、ワークフロー実行に失敗した旨を表示して、処理を終了する。実行スケジュール作成手段２３０は、ワークフロー記憶部２７０に格納されているワークフローを読み出し、そのワークフローについての実行スケジュールを作成する（ステップＳ４０５）。【００４５】
図６は、実行スケジュール作成処理の処理手順を示している。実行スケジュール作成手段２３０は、以下に示す手順に従って、各操作を実行すべき時間帯を決定し、実行スケジュールを作成する。実行スケジュール作成手段２３０は、まず、ワークフロー記憶部２７０に格納されたワークフローから、操作を１つ取り出す（ステップＳ６０１）。ステップＳ６０１では、実行スケジュール作成手段２３０は、まだスケジュールが登録されておらず、かつ、その操作が依存する全ての操作についてスケジュールが登録されている操作を、ワークフローから、１つ取り出す。次いで、ステップＳ６０１で取り出した操作について、割り当てる時間帯を決定する（ステップＳ６０２）。【００４６】
実行スケジュール作成部２３０は、ステップＳ６０２では、以下の２つの条件、
条件１：割り当てる時間帯が、ステップＳ５０３（図５）で受信した操作認可要求に対する応答に含まれる時間帯の一部となっており、時間帯の制約を満たしている。
条件２：処理対象の操作に先行するすべての操作について、それらの完了予定時刻よりも後に開始する。
を満たす範囲で、最も早く開始する時間帯を、割り当て時間帯として決定する。ここで、割り当て時間帯を決定する際には、処理対象の操作の所要時間があらかじめ分かっている必要がある。この情報は、資源管理者或いは業務管理者によって与えられており、実行スケジュール作成手段２３０内に記憶されている。【００４７】
実行スケジュール作成手段２３０は、割り当て時間帯の決定に成功したか否かを判断し（ステップＳ６０３）、割り当て時間帯の決定に成功したときには、全ての操作について割り当て時間帯（スケジュール）が決定したか否かを判断する（ステップＳ６０４）。実行スケジュール作成手段２３０は、割り当て時間が決定していない操作がまだ残っていると判断したときには、ステップＳ６０１に戻り、残っている操作を１つ取り出して、その操作の割り当て時間帯を決定する。【００４８】
実行スケジュール作成手段２３０は、全ての操作について割り当て時間帯が決定すると、ワークフロー制御手段２１０に、スケジュールの作成に成功した旨を通知して（ステップＳ６０５）、処理を終了する。また、ステップＳ６０３で、割り当てるべき時間帯が存在せずに、割り当て時間帯の決定に失敗したと判断したときには、ワークフロー制御手段２１０に、スケジュールの作成に失敗した旨を通知して、処理を終了する（ステップＳ６０６）。【００４９】
再び図４に戻り、ワークフロー制御手段２１０は、実行スケジュール作成手段２３０からスケジュール作成に成功した旨の通知を受けると、操作予約要求手段２４０を呼び出して、予約段階の処理を開始する（ステップＳ４０６）。ワークフロー制御手段２１０は、スケジュール作成に失敗した旨の通知を受けたときには、業務管理者端末１０３に、ワークフロー実行に失敗した旨を表示して、処理を終了する。操作予約要求手段２４０は、ワークフロー記憶部２７０に格納されたワークフロー中の操作について、その操作の予約要求を、操作対象の資源４００を管理下におく資源管理装置３００に送信して、操作の予約を試みる（ステップＳ４０７）。【００５０】
操作予約要求手段２４０が、ステップＳ４０７で資源管理装置３００に送信する操作予約要求には、操作認可要求の要求者（requestor）を示すＩＤ、処理対象の資源(target)を示すＩＤ、処理内容（operation）、及び、予約時間帯（period）が含まれる。このうち、予約時間帯以外の情報は、ステップＳ４０３で認可要求手段２２０が資源管理装置３００に送信する操作認可要求の内容と共通である。予約時間帯には、実行スケジュール作成手段２３０によって割り当てた時間帯の情報が入る。【００５１】
操作予約要求手段２４０は、送信した操作予約要求に対する応答として、予約の可否(result)を示す、成功（succeeded）又は失敗（failed）を受け取る。また、予約が成功したときには、予約内容を参照するための予約ＩＤを受け取る。操作予約要求手段２４０は、資源管理装置３００から予約に成功した旨の応答を受け取ると、その旨をワークフロー制御手段２１０に通知する。また、予約に失敗した旨の応答を受け取ると、その旨を、ワークフロー制御手段２１０に通知する。【００５２】
ワークフロー制御手段２１０は、操作予約要求手段２４０から操作予約に成功した旨の通知を受けると、操作実行要求手段２５０を呼び出し、実行段階の処理を開始する（ステップＳ４０８）。ワークフロー制御手段２１０は、操作予約に失敗した旨の通知を受けると、業務管理者端末１０３に、ワークフロー実行に失敗した旨を表示して、処理を終了する。操作実行要求手段２５０は、ワークフロー記憶部２７０に格納されたワークフロー中の各操作を対象として、操作対象の資源４００を有する資源管理装置３００に、操作実行要求を送信して、操作の実行を試みる（ステップＳ４０９）。【００５３】
ステップＳ４０９で、操作実行要求手段２５０が資源管理装置３００に送信する操作実行要求には、操作実行要求の要求者（requestor）を示すＩＤ、及び、操作予約要求に対する応答に含まれる予約ＩＤが含まれる。操作実行要求手段２５０は、資源管理装置３００から、実行の可否（result）を示す、成功（succeeded）又は失敗（failed）を受け取る。ワークフロー制御手段２１０は、操作実行要求手段２５０から、操作実行の実行結果を受け取り、これを業務管理者端末１０３に通知する（ステップＳ４１０）。この実行結果は、業務管理者端末１０３の表示画面上に表示され、業務管理者に、ワークフロー実行結果が通知される。【００５４】
次に、資源管理装置３００の動作について説明する。図７は、認可段階の処理における資源管理装置３００の処理手順を示している。図４のステップＳ４０３で、業務管理装置２００から、認可要求が送信されると、アクセス制御ルール適用手段３１０は、資源情報ＤＢ３６０を参照して、認可要求で指定された資源４００についての構成情報を取得する（ステップＳ７０１）。アクセス制御ルール適用手段３１０は、ステップＳ７０１で、対象となる資源の現在の割り当て状況（現在の利用者）を取得する。【００５５】
アクセス制御ルール適用手段３１０は、アクセス制御ＤＢ３５０を参照して、認可要求の対象となる資源(target)のＩＤ、対象資源に対する操作内容(operation)、及び、認可要求をした操作要求者（requestor）のＩＤと、対象資源の現在の利用者(user)のＩＤとの組合せにマッチするルールが存在するか否かを判断する（ステップＳ７０２）。マッチするルールがないときには、アクセス制御ルール適用手段３１０は、認可要求に対する応答として、「拒否」を業務管理装置２００に返信する（ステップＳ７０３）。【００５６】
ステップＳ７０２で、マッチするルールがある場合、アクセス制御ルール適用手段３１０は、その組に対するアクセス可否の属性が、「許可」（permitted）、「拒否」（denied）、「手動認可」（manual）の何れであるかを判断する（ステップＳ７０４）。ステップＳ７０２で、マッチするルールが複数ある場合には、その中から、１つを選択する必要がある。その際の選択基準には、任意の方法を用いることがきる。例えば、全てのルールにルール番号を付加して、複数のルールにマッチするときには、そのうちでルール番号が最も小さいものを選択する方法を用いることができる。【００５７】
アクセス可否の属性が「許可」であるときには、アクセス制御ルール適用手段３１０は、認可要求に対する応答として、「許可」を業務管理装置２００に返信する（ステップＳ７０５）。アクセス可否の属性が「拒否」であれば、ステップＳ７０３へ移行して、「拒否」を業務管理装置２００に返信する。アクセス可否の属性が、「手動認可」であれば、アクセス制御ルール適用手段３１０は、手動アクセス制御適用手段３２０に対し、認可結果の入力を求める（ステップＳ７０６）。この場合、アクセス制御ルール適用手段３１０は、手動アクセス制御適用手段３２０から入力された手動認可結果を、業務管理装置２００に返信する（ステップＳ７０７）。【００５８】
図８は、手動認可の処理手順を示している。手動アクセス制御適用手段３２０は、ステップＳ７０６で、アクセス制御ルール適用手段３１０から認可結果の入力を求められると、資源管理者端末１０４に認可要求の内容を出力し、資源管理者に、アクセス可否の入力を要求して（ステップＳ８０１）、資源管理者による認可結果の入力を待つ（ステップＳ８０２）。資源管理者は、認可要求の内容（操作対象資源、操作内容、資源利用者、操作要求者）に対してアクセスを許可するか拒否するかを決定し、アクセス可否の属性「許可」又は「拒否」を手動アクセス制御適用手段３２０に入力する。資源管理者は、「許可」に対しては、「許可」が適用される時間帯を指定することができる。【００５９】
資源管理者によって、「許可」又は「拒否」が入力されると、手動アクセス制御適用手段３２０は、入力結果を、新規ルールとして、アクセス制御ＤＢ３５０に追加する（ステップＳ８０３）。ステップＳ８０３で新規ルールとして追加されるルールは、操作認可要求に含まれる処理対象となる資源のＩＤ(target)、操作認可要求に含まれる操作内容(operation)、処理対象となる資源についての現在の利用者を示すＩＤ(user)、操作認可要求の要求者を示すＩＤ（requestor）、及び、ステップＳ８０２で入力されたアクセス可否（permission）が含まれる。また、アクセスが許可される時間帯が指定された場合には、時間帯(period)として、指定された時間帯の値が含まれる。手動アクセス制御適用手段３２０は、手動認可結果として、「許可」又は「拒否」を、アクセス制御ルール適用手段３１０に返信する（ステップＳ８０４）。【００６０】
図９は、予約段階の処理における資源管理装置３００の処理手順を示している。図４のステップＳ４０７で、業務管理装置２００から、操作予約要求が送信されると、操作予約手段３３０は、アクセス制御手段３１０に対し、予約対象の操作について、操作の可否を確認する（ステップＳ９０１）。アクセス制御ルール適用手段３１０は、予約要求で指定された操作について、アクセス制御ＤＢ３５０を参照し、図７に示す手順と同様な手順に従って、「許可」又は「拒否」を操作予約手段３４０に返信する。ただし、認可段階において、「許可」又は「拒否」が決定しているため、「手動認可」が適用されることはない。【００６１】
アクセス制御ルール適用手段３１０は、アクセス制御ルールにおいて、アクセス可否の属性が「許可」であり、かつ、アクセスが許可される時間帯が指定されていないときには、予約要求の操作に対して許可を返信する。時間帯が指定されている場合には、操作予約要求に含まれる予約時間帯と、アクセス制御ルールの時間帯の値とを比較して、アクセスの可否を判断する。アクセス制御ルール適用手段３１０は、予約時間帯が、アクセス制御ルールの時間帯の一部となっているとき、その操作は許可されると判断する。例えば、アクセス制御ルール中の時間帯が「2010年1月10日 8:00-12:00」であり、操作予約要求で指定された時間帯が「2010年1月10日 8:00-9:00」である場合には、「許可」を返信する。一方、このアクセス制御ルールに対して、操作予約要求で指定された時間帯が「2010年1月10日 11:00-13:00」である場合には、「拒否」を返信する。【００６２】
操作予約手段３３０は、アクセス制御ルール適用手段３１０によって、操作が許可されたか否かを判断し（ステップＳ９０２）、操作が許可されたときには、予約要求に対して新しい予約ＩＤ（reservation ID）を生成し、資源情報ＤＢ３６０に、予約情報を追加する（ステップＳ９０３）。予約情報には、予約内容を識別するための予約ＩＤ(reservation ID)、操作予約要求に含まれる処理対象となる資源のＩＤ(target)、操作予約要求に含まれる操作内容(operation)、操作予約要求の要求者を示すＩＤ（requestor）、及び、操作予約要求に含まれる予約対象の時間帯(period)が含まれる。操作予約手段３３０は、予約情報の追加後、予約成功(succeeded)を含む応答を、業務管理装置２００に送信する（ステップＳ９０４）。操作予約手段３３０は、ステップＳ９０２で、操作が拒否されたと判断したときには、予約失敗（failed）を含む応答を、業務管理装置２００に送信する（ステップＳ９０５）。【００６３】
図１０は、操作実行段階の処理における資源管理装置３００の処理手順を示している。図４のステップＳ４０９で、業務管理装置２００から、操作実行要求が送信されると、操作実行手段３４０は、操作実行要求に含まれる予約ＩＤをキーとして資源情報ＤＢ３６０を検索し（ステップＳ１００１）、その予約ＩＤに該当する予約が登録さているか否かを判断する（ステップＳ１００２）。操作実行手段３４０は、予約が登録されているときには、資源情報ＤＢ３６０から該当する予約の操作内容を取得し、その操作内容に基づいて、資源４００に対する操作を実行する（ステップＳ１００３）。操作実行手段３４０は、操作の実行後、操作の実行結果（成功又は失敗）を含む応答を、業務管理装置２００に送信する（ステップＳ１００４）。操作実行手段３４０は、ステップＳ１００２で、予約が登録されていないと判断すると、操作失敗を含む応答を、業務管理装置２００に送信する（ステップＳ１００５）。【００６４】
以下、ワークフロー実行システム１００の動作について、具体例を挙げつつ説明する。図１１は、ワークフロー実行システム１００の具体例を示している。同図において、業務管理者端末１０３、資源管理者端末１０４、業務管理装置２００、及び、資源管理装置３００はＴＣＰ／ＩＰ等のネットワーク接続機能を有するコンピュータとして構成される。業務管理者端末１０３及び資源管理者端末１０４は、それぞれ、管理用ＬＡＮ１０５を介して、業務管理装置２００又は資源管理装置３００に接続される。【００６５】
ワークフロー実行システム１００は、業務管理装置２００を１つ有し、資源管理装置３００を２つ有する。負荷分散装置（ＬＢ１）４０１、レイヤ２スイッチ（Ｌ２ＳＷ１）４０２、及び、複数のサーバ機（server01, server02,…）４０３は、それぞれ、図１等における資源４００に相当する。資源管理装置Ａ３００は、負荷分散装置４０１及びレイヤ２スイッチ４０２を管理下におく。また、資源管理装置Ｂ３００は、複数のサーバ機４０３を管理下におく。図１１中のすべての資源は、物理的にレイヤ２スイッチ４０２と接続している。レイヤ２スイッチ４０２とそれに接続するその他の資源は、業務用ＬＡＮ１０６を構成する。【００６６】
レイヤ２スイッチ４０２は、業務用ＬＡＮ１０６を、複数の仮想ＬＡＮ（Virtual ＬＡＮ：ＶＬＡＮ）に分割する機能を有する。業務間での情報の漏洩や障害の波及を避けるために、業務用ＬＡＮ１０６に接続する各資源は、業務ごとに、異なるＶＬＡＮに所属する。各資源が所属するＶＬＡＮは、レイヤ２スイッチ４０２上の各ポートに設定されるＶＬＡＮＩＤと呼ばれるＩＤによって決定される。各資源が属するＶＬＡＮは、資源管理装置３００Ａによって、各ポートのＶＬＡＮＩＤを変更することで、変更することができる。【００６７】
負荷分散装置４０１は、エンドユーザからのＨＴＴＰリクエストを、複数のサーバ機４０３のうちの何れかに転送する機能を持つとともに、資源管理装置Ａ３００からの指示に従って、転送先のサーバ機４０３を登録及び登録解除する機能を持つ。複数のサーバ機４０３は、それぞれ、ＨＴＴＰ（Hypertext Transfer Protocol）サーバプログラムを含む複数のサーバプログラムを、資源管理装置Ｂ３００からの指示に従って、動的に起動及び停止する機能を持つ。【００６８】
図１２は、各資源の現在の状況をブロック図で示しており、図１３は、資源管理装置Ａ３００の資源情報ＤＢ３６０に格納された、各資源の現在の状況を示す資源情報の一例を示している。図１２に示すように、資源管理装置Ａ３００によって管理される複数のサーバ機４０３は、それぞれレイヤ２スイッチ４０２にポートを分けて接続している。例えば、サーバ機４０３（server03）は、レイヤ２スイッチ４０２上のポート＃２に接続されており、サーバ機（sever04）は、レイヤ２スイッチ４０２上のポート＃３に接続されている。【００６９】
例えば、ＨＴＴＰサーバクラスタが属するＶＬＡＮＩＤが＃３であるとすると、レイヤ２スイッチ４０２に接続されたサーバ機４０３のうち、接続ポートのＶＬＡＮＩＤが＃３に設定されているサーバ機４０３により、ＨＴＴＰサーバクラスタが構成される。図１２及び図１３の例では、レイヤ２スイッチ４０２上の“port#2,L2SW1”及び“port#3,L2SW1”のＶＬＡＮＩＤが＃３であり、これらポートに接続されたserver03及びserver04により、ＨＴＴＰサーバクラスタが構成される。また、負荷分散装置４０１は、ターゲットホストとして、server03及びserver04が登録されている。これにより、負荷分散装置４０１は、クライアントからのＨＴＴＰ要求を、server03及びserver04に転送することを許可する。【００７０】
以下、利用者「DRUGSTORE」の業務を構成しているＨＴＴＰサーバクラスタへのサーバ追加に伴う構成変更処理をワークフローとして実行する場合について考える。業務管理者は、サーバ追加のためのワークフローを作成し、業務管理装置２００に対して、業務管理者端末１０３からワークフローの実行を指示する。図１４は、実行の対象となるワークフロー定義の一例を示している。この例では、操作１で、server05が接続されたレイヤ２スイッチ４０２上のポート“port#4,L2SW1”のＶＬＡＮＩＤを、ＨＴＴＰサーバクラスタが属するＶＬＡＮＩＤである＃３に変更する。この操作１を実行することにより、server05が、ＨＴＴＰサーバクラスタに追加される。その後、操作２で、server05上でＨＴＴＰサーバプロセスを起動し、操作３で、負荷分散装置４０１のターゲットホストにserver05を追加登録する。操作３を実行することに、クライアントからのＨＴＴＰ要求がserver05に転送されることが許可される。【００７１】
ワークフローの実行を指示された業務管理装置３００は、図４に示す手順に従ってワークフローを処理する。業務管理装置２００は、図１４中の３つの操作のうち、操作１及び操作３については、資源管理装置Ａ３００に操作認可要求を送信し、操作２については、資源管理装置Ｂ３００に、操作認可要求を送信する。図１５は、各操作について、業務管理装置２００から資源管理装置３００に送信される操作認可要求と、資源管理装置３００から業務管理装置２００に送信される応答の具体例を示している。業務管理装置３００は、操作１の操作認可要求として、資源管理装置Ａ３００に、「request = ”authorization” , requestor = ”DRUGSTORE” , target = ”port#4,L2SW1” , operation = ”change VLAN ID(#3)”」を送信する。【００７２】
図１６は、資源管理装置Ａ３００のアクセス制御ＤＢ３５０に格納されるアクセス制御ルールの一例を示している。業務管理装置２００から、操作１に対応する操作認可要求が送信された場合、資源管理装置Ａ３００のアクセス制御ルール適用手段３１０は、資源情報ＤＢ３６０を参照して、操作対象のレイヤ２スイッチ４０２の”port#4,L2SW1”の現在の割り当てを調べて、現在の利用者を取得する。資源情報ＤＢ３６０が、図１３に示す資源情報を記憶しているときには、レイヤ２スイッチ４０２の”port#4,L2SW1”の現在の利用者として、「DRUGSTORE」が取得される。【００７３】
アクセス制御ルール適用手段３１０は、アクセス制御ＤＢ３５０を参照して、操作１の認可要求の内容、具体的には、操作対象資源「レイヤ２スイッチ４０２のポート＃４（port#4,L2SW1）、操作内容「所属ＶＬＡＮ変更」（change VLAN ID(#3)）、資源利用者「DRUGSTORE」、及び、操作要求者「DRUGSTORE」の組合せにマッチするルールを探す。図１６の例では、この組合せは、ルール２にマッチする。ルール２のアクセス可否の属性は「手動認可」であるため、アクセス制御ルール適用手段３１０は、手動アクセス制御適用手段３２０に、認可要求を送信する。資源管理者は、例えば、アクセスが少ない深夜帯の時間を選んで、資源管理者端末１０４から、2005/2/10の午前１時から午前３時までの間、操作１を許可する旨を入力する。この手動認可の結果は、手動アクセス制御手段３２０からアクセス制御ルール適用手段３１０に入力される。【００７４】
アクセス制御ルール適用手段３１０は、操作３に対する操作認可要求についても、手動アクセス制御適用手段３２０に認可結果の入力を要求する。資源管理者は、手動認可結果として、資源管理者端末１０４から、例えば、2005/2/10の午前４時から午前５時００分までの間、操作３を許可する旨を入力する。この手動認可の結果は、手動アクセス制御手段３２０からアクセス制御ルール適用手段３１０に入力される。【００７５】
手動認可の結果は、新規ルールとしてアクセス制御ＤＢ３５０に追加される。これにより、アクセス制御ＤＢ３５０が格納するアクセス制御ルールは、図１７に示すようになる。同図において、ルール２及びルール７は、手動認可の結果により新規に追加されたルールを示している。認可処理の結果、業務管理装置２００は、図１５に示すように、操作１の操作認可要求に対する応答として、「result = ”permitted” ,  period = ”2005/2/10 01:00-03:00”」を受信する。また、操作３の操作認可要求に対する応答として、「result = ”permitted” ,  period = ”2005/2/10 04:00-05:00”」を受信する。【００７６】
認可段階の処理が終了すると、業務管理装置２００は、操作認可要求に対する応答に基づいて、ワークフロー中の各操作についての実行スケジュールを作成する。認可要求に対する応答が、図１５に示す内容であるとき、実行スケジュール作成手段２３０が図６に示す手順に従って、図１４中に示す各操作の実行スケジュールを作成すると、図１８に示すようになる。図１８を参照すると、例えば、操作１は、スケジュール可能な時間帯2005/2/10 01:00-03:00のうちで、2005/2/10 01:00-01:05の時間帯が、実行時間帯としてスケジューリングされている。【００７７】
実行スケジュールが作成されると、操作予約要求手段２４０は、操作１及び操作２については資源管理装置Ａ３００に、操作２については資源管理装置Ｂ３００に、それぞれ予約要求を送信する。図１９は、各操作について、業務管理装置２００から資源管理装置３００に送信される操作予約要求と、資源管理装置３００から業務管理装置２００に送信される応答の具体例を示している。ここでの予約内容は、図１８に示す実行スケジュールと一致する。業務管理装置２００は、操作１の操作予約要求として、資源管理装置Ａ３００に、「request = ”reservation” , requestor = ”DRUGSTORE” , target = ”port#4,L2SW1” , operation = ”change VLAN ID(#3)” , period = “2005/2/10 01:00-01:05
”」を送信する。【００７８】
資源管理装置３００は、予約要求を受け取ると、図９に示す手順に従って、予約を行う。例えば資源管理装置Ａ３００は、操作１の予約要求を受け取ると、アクセス制御ルール適用手段３００が、アクセス制御ＤＢ３５０及び資源情報ＤＢ３６０を参照して、アクセスが許可されるか否かを判断する。アクセス制御ＤＢ３５０には、図１７に示すように、手動認可の結果として、ルール２が追加されているため、このルール２により、手動認可が適用されることなく、操作１の予約要求に対するアクセスが許可されて、予約が成功する。操作３についても、同様に、追加されたルール７により、アクセスが許可され、予約が成功する。【００７９】
予約に成功すると、資源管理装置Ａ３００は、業務管理装置２００に、予約が成功した（succeeded）旨と、各操作の予約に対して割り当てた予約ＩＤ（reservationＩＤ）とを送信する。また、資源情報ＤＢ３６０を図２０に示すように更新する。予約前の資源情報ＤＢ３６０（図１３）と、予約後の資源情報ＤＢ３６０（図２０）とを比較すると、予約後の資源情報ＤＢ３６０には、操作１の予約ＩＤ「RM_A$rsvID=105」及び操作３の予約ＩＤ「RM_A$rsvID=106」で示される２つの操作についての予約が追加されている。【００８０】
予約の終了後、業務管理装置２００は、図１８に示す実行スケジュールに従って、資源管理装置３００に対して操作の実行を要求する。図２１は、各操作について、業務管理装置２００から資源管理装置３００に送信される操作実行要求と、資源管理装置３００から業務管理装置２００に送信される応答の具体例を示している。例えば、操作１については、業務管理装置２００は、資源管理装置Ａ３００に、「request = “execution” , requestor = , “DRUGSTORE” , reservationID = “RM_a$rsvID=105”」を送信する。ここで送信する予約ＩＤは、操作予約要求に対する応答に含まれる予約ＩＤと一致する。【００８１】
資源管理装置３００は、操作実行要求を受け取ると、資源情報ＤＢ３６０を参照して、操作実行要求に含まれる予約ＩＤに該当する操作を実行する。操作実行後、資源管理装置３００は、資源情報ＤＢ３６０から、予約情報を削除する。また、操作の実行に成功したときには、その旨の応答（succeeded）を、業務管理装置２００に送信する。全ての操作について、succeededが得られると、ワークフローの実行は、正常終了する。【００８２】
上記の例では、負荷分散装置４０１及びレイヤ２スイッチ４０２の構成変更のために、手動でのアクセス制御を必要としているが、アクセス制御の時点では、構成変更は直ちに開始しない。このことは、手動でのアクセス制御を適用している最中でも、これらの資源を通常通り利用できることを意味している。予約段階では、構成変更の実行のために資源４００の予約が発生し、この段階では、他の構成変更が制限される。しかし、この段階では手動でのアクセス制御は発生しないので、資源管理者による入力を待つ間、資源が利用不可能になる事態は発生しない。【００８３】
本実施形態では、アクセス可否の属性が「手動認可」であるときには、資源に対する認可要求を、資源管理装置３００が受理した時点で、資源管理者が認可対象の操作の可否を決定し、その結果をアクセス制御ルールに反映させることができる。このため、すべての操作についてアクセス制御ルールを事前に作成する必要がない。このため、分散コンピューティングシステムの自動運用管理に際して、資源管理者が事前に完全なアクセス制御ルールを準備する必要がなく、自動管理の適用の初期コストを抑えるができる。【００８４】
本実施形態では、ワークフローの実行を、認可段階と予約実行段階とに分離しており、長い時間を要する認可処理を事前に行うことができる。このため、資源操作の認可処理が資源の可用性に影響を与えない形で操作を実行できる。従って、分散コンピューティングの自動運用管理に際して、手動でのアクセス制御処理に伴う可用性の低下を避けることができる。また、本実施形態では、実行スケジュール作成手段が、実行時間帯に対する制約を満たすワークフロー実行スケジュールを作成している。このため、複数の資源への操作をワークフローとして実行する際に、各操作の時間的な制約を満たす形でワークフローを実行できる。これにより、分散コンピューティングシステムの資源が複数の組織または部門に分散管理される場合に、時間帯の制約を遵守するために要する人的なコストを低減することができる。【００８５】
なお、上記実施形態では、業務管理者と資源管理者とそれぞれ別個の管理者端末を使用する例について示したが、業務管理者端末１０３と資源管理者端末１０４とを共通の端末装置として構成することもできる。また、図５では、ワークフロー中の操作を１つずつ順に取り出して認可処理を行う例について示したが、ワークフロー中の複数の操作についての認可処理を並行して行うこともできる。手動アクセス制御適用手段３２０は、資源管理者によって入力されたアクセス制御の判定結果をアクセス制御ルール適用手段３１０に入力する例について示したが、これに代えて又は加えて、アクセス制御ルールＤＢ３５０とは異なるデータベースを参照して、アクセスの可否を判断し、これをアクセス制御ルール適用手段３１０に入力する構成を採用することもできる。【００８６】
上記実施形態では、アクセス制御ルールが、アクセス可否の属性として、許可、拒否、及び、手動認可の３つを有する例について説明したが、これには限定されない。例えば、アクセス可否の属性として、許可及び手動認可を規定しておき、アクセス制御ルール適用手段３１０は、アクセス制御ルールにマッチするルールがないときには、アクセス制御の判定結果を拒否と判定する構成を採用できる。或いは、これに代えて、アクセスの可否の属性として、許可及び拒否を規定しておき、アクセス制御ルール適用手段３１０は、アクセス制御ルールにマッチするルールがないときには、アクセス制御の判定結果を手動認可と判定する構成を採用することができる。【００８７】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のワークフロー実行システム、方法、及び、プログラムは、上記実施形態例にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【図面の簡単な説明】
【００８８】
【図１】本発明の一実施形態のワークフロー実行システムの構成を示すブロック図。
【図２】業務管理装置２００の構成を示すブロック図。
【図３】資源管理装置３００の構成を示すブロック図。
【図４】業務管理装置２００の動作手順を示すフローチャート。
【図５】認可要求手段２２０が行う認可処理の処理手順を示すフローチャート。
【図６】実行スケジュール作成処理の処理手順を示すフローチャート。
【図７】認可段階の処理における資源管理装置３００の処理手順を示すフローチャート。
【図８】手動認可の処理手順を示すフローチャート。
【図９】予約段階の処理における資源管理装置３００の処理手順を示すフローチャート。
【図１０】操作実行段階の処理における資源管理装置３００の処理手順を示すフローチャート。
【図１１】ワークフロー実行システム１００の具体例を示すブロック図。
【図１２】各資源の現在の状況を示すブロック図。
【図１３】資源管理装置Ａ３００の資源情報ＤＢ３６０に格納される資源情報の一例    を示すテーブル。
【図１４】実行の対象となるワークフロー定義の一例を示すブロック図。
【図１５】各操作について、業務管理装置から資源管理装置に送信される操作認可要    求と、資源管理装置から業務管理装置に送信される応答の具体例を示す図。
【図１６】資源管理装置Ａ３００のアクセス制御ＤＢ３５０に格納されるアクセス制    御ルールの一例を示すテーブル。
【図１７】新規ルール追加後のアクセス制御ＤＢに格納されたアクセス制御ルールを    示すテーブル。
【図１８】実行スケジュール作成手段によって作成された実行スケジュールの具体例    を示すタイムチャート。
【図１９】各操作について、業務管理装置から資源管理装置に送信される操作予約要    求と、資源管理装置から業務管理装置に送信される応答の具体例を示す図。
【図２０】更新後の資源情報ＤＢに格納された資源情報の様子を示すテーブル。
【図２１】各操作について、業務管理装置から資源管理装置に送信される操作実行要    求と、資源管理装置から業務管理装置に送信される応答の具体例を示す図。
【図２２】特許文献１に記載された従来のワークフロー実行システムの構成を示すブ    ロック図。
【図１】
0004788711.tif 000002
【図２】
0004788711.tif 000003
【図３】
0004788711.tif 000004
【図４】
0004788711.tif 000005
【図５】
0004788711.tif 000006
【図６】
0004788711.tif 000007
【図７】
0004788711.tif 000008
【図８】
0004788711.tif 000009
【図９】
0004788711.tif 000010
【図１０】
0004788711.tif 000011
【図１１】
0004788711.tif 000012
【図１２】
0004788711.tif 000013
【図１３】
0004788711.tif 000014
【図１４】
0004788711.tif 000015
【図１５】
0004788711.tif 000016
【図１６】
0004788711.tif 000017
【図１７】
0004788711.tif 000018
【図１８】
0004788711.tif 000019
【図１９】
0004788711.tif 000020
【図２０】
0004788711.tif 000021
【図２１】
0004788711.tif 000022
【図２２】
0004788711.tif 000023