(57)【要約】      （修正有）【課題】複数の運用プロセスによりコンピュータを操作する環境において運用プロセスを自動的に実行できるようにする。【解決手段】ネットワークを介して操作する装置を示す情報を含む複数のアクティビティを含み、且つ当該複数のアクティビティ間を遷移する順序が規定されたプロセス定義に基づいて、実行すべきアクティビティを特定し、実行すべきアクティビティが当該アクティビティにより特定される装置に対して上記順序のうち初回の操作を行うか否かを判定し、実行すべきアクティビティが初回の操作を行う場合に、装置について排他アクセス権を取得する。【選択図】図２３
2014010786.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
ネットワークを介して操作する装置を示す情報を含む複数のアクティビティを含み、且つ当該複数のアクティビティ間を遷移する順序が規定されたプロセス定義に基づいて、実行すべきアクティビティを特定し、
前記実行すべきアクティビティが当該アクティビティにより特定される前記装置に対して前記順序のうち初回の操作を行うか否かを判定し、
前記実行すべきアクティビティが前記初回の操作を行う場合に、前記装置について排他アクセス権を取得する、
処理を実行させることを特徴とするプログラム。
【請求項２】
前記複数のアクティビティは、前記装置への操作を処理するプログラムである部品を示す情報を含み、
更に、前記排他アクセス権を取得してから解放するまでの排他範囲に含まれる一又は複数のアクティビティにより特定される前記部品の属性に基づいて、占有モード又は共有モードを判定する第１の判定処理を実行させ、
前記取得する処理において、前記占有モード又は前記共有モードに基づいて排他方式を設定して、前記装置について前記排他アクセス権を取得する
ことを特徴とする請求項１記載のプログラム。
【請求項３】
前記第１の判定処理において、前記排他アクセス権を取得された前記装置以外の前記装置についてのアクティビティの直前のアクティビティ、又は終端の直前のアクティビティまでを排他範囲と判定する
ことを特徴とする請求項２記載のプログラム。
【請求項４】
前記部品の前記属性は、前記部品で処理する前記操作が占有タイプであるか又は共有タイプであるかを示し、
前記第１の判定処理において、前記排他範囲に含まれる前記一又は複数のアクティビティにより特定される前記部品の前記属性のうちいずれかが前記占有タイプである場合に前記占有モードと判定し、前記部品の前記属性のうちいずれかが前記共有タイプであり且つ前記部品の前記属性のいずれも前記占有タイプでない場合に前記共有モードと判定する
ことを特徴とする請求項２又は３記載のプログラム。
【請求項５】
更に、分岐する遷移を含む前記プロセス定義に基づいて、複数の遷移ルートを展開する処理を実行させ、
前記第１の判定処理において、前記遷移ルート毎に前記占有モード又は前記共有モードであるかを判定し、
前記取得する処理において、前記複数の遷移ルートのうちいずれかが前記占有モードである場合に、前記排他方式を前記占有モードに設定し、前記複数の遷移ルートのうちいずれかが前記共有モードであり且つ前記複数の遷移ルートのいずれも前記占有モードでない場合に、前記排他方式を前記共有モードに設定する
ことを特徴とする請求項２乃至４のいずれか１つ記載のプログラム。
【請求項６】
更に、前記実行すべきアクティビティにより前記部品として特定される前記プログラムを実行し、
実行された前記アクティビティの次のアクティビティにより特定される前記装置が前記排他アクセス権を取得された前記装置ではない場合、又は実行された前記アクティビティの次のアクティビティが存在しない場合に前記排他アクセス権を解放する
処理を実行させることを特徴とする請求項１乃至５のいずれか１つ記載のプログラム。
【請求項７】
更に、前記実行すべきアクティビティにより特定される前記装置の属性に基づいて、管理者による承認の要否を判定する第２の判定処理を実行させる
ことを特徴とする請求項１乃至６のいずれか１つ記載のプログラム。
【請求項８】
前記第２の判定処理において、前記排他方式を前記占有モードに設定して前記排他アクセス権を取得する場合に、前記管理者による前記承認の要否を判定する
ことを特徴とする請求項７記載のプログラム。
【請求項９】
ネットワークを介して操作する装置を示す情報を含む複数のアクティビティを含み、且つ遷移する順序を付けるプロセス定義に基づいて、実行すべきアクティビティを特定し、
前記実行すべきアクティビティが当該アクティビティにより特定される前記装置に対して前記順序のうち初回の操作を行うか否かを判定し、
前記実行すべきアクティビティが前記初回の操作を行う場合に、前記装置について排他アクセス権を取得する
処理を含みコンピュータが実行することを特徴とするプロセス実行方法。
【請求項１０】
ネットワークを介して操作する装置を示す情報を含む複数のアクティビティを含み、且つ遷移する順序を付けるプロセス定義に基づいて、実行すべきアクティビティを特定する制御部と、
前記実行すべきアクティビティが当該アクティビティにより特定される前記装置に対して前記順序のうち初回の操作を行うか否かを判定する判定部と、
前記実行すべきアクティビティが前記初回の操作を行う場合に、前記装置について排他アクセス権を取得する取得部と
を有することを特徴とするプロセス実行コンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、コンピュータを操作する運用プロセスの実行技術に関する。
【背景技術】
【０００２】
データセンタにおいて、運用対象の装置であるサーバ装置やノード装置を自動的に管理するために、プロセス実行サーバにより運用プロセスを実行する技術がある。運用プロセスは、運用対象のシステムを操作するアクティビティのフローとして定義される。運用プロセスの設計者は、操作処理を行うプログラムである部品を用いて、アクティビティのフローを設定することによって運用プロセスを生成する。
【０００３】
このように個別にアクティビティのフローを設定した複数の運用プロセスを実行して運用対象のシステムを管理する場合に、異なる運用プロセスにより共通の運用対象の装置を操作すると、想定通りの結果が得られないことがある。
【０００４】
図１に、運用プロセス間の割り込みの例を示す。上段の運用プロセスは、サーバを起動し、そのサーバによるサービスＸを起動し、更にそのサーバによるサービスＹを起動するように、１０１から１０５のアクティビティのフローを定義している。他方、下段の運用プロセスは、同じサーバにおけるネットワークの設定を変更し、そのサーバを再起動するように、１０７と１０９のアクティビティのフローを定義している。
【０００５】
同一サーバに対する操作を異なる運用プロセスで並列して実行すると、図１のように一方の運用プロセスによる操作が他方の運用プロセスの操作に割り込むことがある。上段の運用プロセスは、サービスＸが動作していることを前提として、サービスＹを動作させることを予定しているが、サービスＸの起動のアクティビティ１０３による操作とサービスＹの起動のアクティビティ１０５による操作の間に、下段の運用プロセスによるサーバの再起動のアクティビティ１０９による操作が割り込むと、サービスＸが動作していない状態で、サービスＹが起動されることになり、サービスＹは正常に動作しなくなる。
【０００６】
また、上記のような複数の運用プロセスの相互作用に係る問題の他に、運用時の人的な判断に伴う問題もある。図２に、承認を含む運用プロセスの例を示す。この運用プロセスは、管理者に対して承認依頼を発行し、その回答が受諾である場合にサーバにおけるネットワークの設定を変更し、そのサーバを再起動し、他方その回答が拒否の場合には中断するように、２０１から２０５のアクティビティのフローを定義している。このように随時管理者の判断を得るように運用プロセスを設定することによって、状況に応じて適切な運用が図られる。
【０００７】
しかし、頻繁に人的な判断を行う運用では、自動運用の実効性が低下する。そのため、承認依頼のアクティビティ２０１の設定に関しては、安全性と実効性の両面を考慮しなければならない。仮に、図２の例でネットワークの設定変更２０３とサーバの再起動２０５が安全性を阻害しないものであるならば、承認依頼を省略するということも想定できる。このように、コンピュータを操作する運用プロセスの実行には困難を伴う。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】国際公開第２００６／０８２７３２号
【特許文献２】特開２００６−１６３７７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
一側面では、本発明は、複数の運用プロセスによりコンピュータを操作する環境において運用プロセスを自動的に実行できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
一態様のプロセス実行方法は、ネットワークを介して操作する装置を示す情報を含む複数のアクティビティを含み、且つ当該複数のアクティビティ間を遷移する順序が規定されたプロセス定義に基づいて、実行すべきアクティビティを特定し、実行すべきアクティビティが当該アクティビティにより特定される装置に対して上記順序のうち初回の操作を行うか否かを判定し、実行すべきアクティビティが初回の操作を行う場合に、装置について排他アクセス権を取得する処理とを含む。
【発明の効果】
【００１１】
一態様によれば、複数の運用プロセスによりコンピュータを操作する環境において運用プロセスを自動的に実行できる。
【図面の簡単な説明】
【００１２】
【図１】図１は、運用プロセス間の割り込みの例を示す図である。
【図２】図２は、承認を含む運用プロセスの例を示す図である。
【図３】図３は、自動運用プロセスを用いるシステムの構成例を示す図である。
【図４】図４は、運用プロセスの登録に関係するプロセス登録端末とプロセス実行サーバの構成例を示す図である。
【図５】図５は、部品テーブルの例を示す図である。
【図６】図６は、操作対象テーブルの例を示す図である。
【図７】図７は、運用プロセスの例を示す図である。
【図８】図８は、操作対象を設定するウインドウの例を示す図である。
【図９】図９は、運用プロセス登録処理フローの例を示す図である。
【図１０】図１０は、アクティビティ追加処理フローの例を示す図である。
【図１１】図１１は、操作対象設定処理フローの例を示す図である。
【図１２】図１２は、フロー設定処理フローの例を示す図である。
【図１３】図１３は、プロセス定義の例を示す図である。
【図１４】図１４は、プロセス定義生成処理フローの例を示す図である。
【図１５】図１５は、排他アクセス権の取得と解放を行う遷移の例を示す図である。
【図１６】図１６は、排他アクセス権の取得と解放を行う遷移の例を示す図である。
【図１７】図１７は、排他範囲の例を示す図である。
【図１８】図１８は、排他範囲の例を示す図である。
【図１９】図１９は、承認を行う遷移の例を示す図である。
【図２０】図２０は、承認を行わない遷移の例を示す図である。
【図２１】図２１は、承認を行わない遷移の例を示す図である。
【図２２】図２２は、運用プロセスの制御に係るプロセス実行サーバの構成例を示す図である。
【図２３】図２３は、運用プロセスの制御フローの例を示す図である。
【図２４】図２４は、遷移ルートテーブルの例を示す図である。
【図２５】図２５は、運用プロセスのモデルを示す図である。
【図２６】図２６は、遷移ルートテーブルのモデルを示す図である。
【図２７】図２７は、初回操作判定処理フローの例を示す図である。
【図２８】図２８は、排他方式を占有モードと判定する例を示す図である。
【図２９】図２９は、排他方式を共有モードと判定する例を示す図である。
【図３０】図３０は、排他方式判定処理フローの例を示す図である。
【図３１】図３１は、ルート別判定結果が占有モードとなる例を示す図である。
【図３２】図３２は、ルート別判定結果が占有モードとなる例を示す図である。
【図３３】図３３は、ルート別判定結果が共有モードとなる例を示す図である。
【図３４】図３４は、ルート別判定結果が共有モードとなる例を示す図である。
【図３５】図３５は、ルート別判定処理フローの例を示す図である。
【図３６】図３６は、初回操作且つ占有モードにおける制御フローの例を示す図である。
【図３７】図３７は、承認判定処理フローの例を示す図である。
【図３８】図３８は、排他アクセス権を解放する例を示す図である。
【図３９】図３９は、排他アクセス権を解放しない例を示す図である。
【図４０】図４０は、解放制御処理フローの例を示す図である。
【図４１】図４１は、解放可であると判定する例を示す図である。
【図４２】図４２は、解放可であると判定する例を示す図である。
【図４３】図４３は、解放不可であると判定する例を示す図である。
【図４４】図４４は、解放可であると判定する例を示す図である。
【図４５】図４５は、解放可であると判定する例を示す図である。
【図４６】図４６は、解放不可であると判定する例を示す図である。
【図４７】図４７は、解放可否判定処理フローの例を示す図である。
【図４８】図４８は、初回操作且つ共有モードにおける制御フローの例を示す図である。
【図４９】図４９は、初回操作でない場合の制御フローの例を示す図である。
【図５０】図５０は、遷移ルート毎の排他範囲の例を示す図である。
【図５１】図５１は、第２の実施の形態に係る運用プロセスの例を示す図である。
【図５２】図５２は、操作対象受付ウインドウの例を示す図である。
【図５３】図５３は、第２の実施の形態に係るプロセス定義の例を示す図である。
【図５４】図５４は、第２の実施の形態に係る遷移ルートの例を示す図である。
【図５５】図５５は、第２の実施の形態に係る遷移ルート毎の排他範囲の例を示す図である。
【図５６】図５６は、コンピュータの構成の例を示す図である。
【発明を実施するための形態】
【００１３】
［実施の形態１］
図３に、自動運用プロセスを用いるシステムの構成例を示す。プロセス登録端末３０１とプロセス実行サーバ３０３は、ネットワークを介して接続されている。プロセス登録端末３０１は、設計者が運用プロセスを生成し、登録するために用いる端末である。プロセス実行サーバ３０３は、登録された運用プロセスを実行するサーバである。
【００１４】
更に、プロセス実行サーバ３０３は、操作対象システム３０５と、管理者端末３０７とネットワークを介して接続されている。操作対象システム３０５は、運用プロセスにより操作されるシステムである。操作対象システム３０５は、一又は複数の操作対象の装置を含んでいる。操作対象の装置は、例えばサーバ装置あるいはノード装置である。図３では、サーバＡと、サーバＢと、サーバＣと、ノードＡと、ノードＢとを含む例を示している。
【００１５】
管理者端末３０７は、操作対象の装置を管理する管理者が用いる端末である。
【００１６】
プロセス登録端末３０１とプロセス実行サーバ３０３の間のネットワークと、プロセス登録端末３０１と操作対象システム３０５と管理者端末３０７の間のネットワークは、同一のネットワークでも、異なるネットワークであってよい。
【００１７】
以下、運用プロセスの登録について説明する。図４に、運用プロセスの登録に関係するプロセス登録端末３０１とプロセス実行サーバ３０３の構成例を示す。プロセス登録端末３０１は、格納部４０１と、編集部４０７と、送信部４０９とを有している。格納部４０１は、運用プロセスの生成に用いる情報を記憶している。格納部４０１は、操作対象テーブル４０３と、部品テーブル４０５とを有している。
【００１８】
操作対象テーブル４０３は、操作対象システム３０５に含まれる運用対象の装置を管理するテーブルである。部品テーブル４０５は、運用対象の装置への操作を処理するプログラムである部品を管理するテーブルである。編集部４０７は、運用プロセスを生成するように構成されている。送信部４０９は、運用プロセスをプロセス実行サーバ３０３へ送信するように構成さている。
【００１９】
プロセス実行サーバ３０３は、受信部４１１と、格納部４１３とを有している。受信部４１１は、転送された運用プロセスを受信するように構成されている。格納部４１３は、受信した運用プロセスを格納できるように構成されている。
【００２０】
図５に、部品テーブル４０５の例を示す。部品テーブル４０５は、部品毎にレコードを設けている。レコードは、部品ＩＤと、操作内容（部品名）と、操作対象の種別と、部品属性との項目を有している。部品ＩＤは、部品の識別情報である。操作内容は、部品による装置への操作の内容を示している。この例では、この項目は部品名としても用いられる。操作対象の種別は、部品による操作対象となる装置の種別を示している。但し、例えばメール送信のように、操作対象となる装置がない処理については、操作対象無しと設定されている。部品属性は、部品で処理する操作に適した排他方式を示している。操作対象がある部品の場合には、部品属性は占有タイプあるいは共有タイプであり、操作対象がない部品の場合には、部品属性は排他不要となる。
【００２１】
図５の例で、部品ＩＤがＰ１である部品は、種別がサーバである装置を占有した状態で仮想サーバとして起動する操作を行うプログラムであることを示している。また、部品ＩＤがＰ６である部品は、操作対象の装置は存在せず、つまりサーバ装置あるいはノード装置への操作は行わず、メールの送信を行うプログラムであることを示している。
【００２２】
図６は、操作対象テーブル４０３の例を示す図である。操作対象テーブル４０３は、操作対象の装置毎にレコードを設けている。レコードは、装置名と、装置種別と、管理者名と、承認の要否との項目を有している。装置名は、装置を識別する名称である。装置種別は、装置の種別である。この例では、サーバ装置あるいはノード装置の別を示している。管理者名は、装置に対する操作を承認する権限を有する管理者を示している。承認の要否は、装置に対する操作に承認が要るか否かを示している。
【００２３】
図７に、生成される運用プロセスの例を示す。この図は、編集部４０７により生成された運用プロセスが表示されているイメージを示している。７０１〜７０９は、運用プロセスを構成するアクティビティを示している。矢印は、遷移フローを示している。また、遷移が分岐する場合には、分岐の条件を表示している。
【００２４】
例えば、仮想サーバ停止のアクティビティ７０１の実行結果が成功の場合には、仮想サーバ設定変更のアクティビティ７０２の実行に遷移し、仮想サーバ停止のアクティビティ７０１の実行結果が失敗の場合には、メール送信のアクティビティ７０９の実行に遷移することを示している。尚、アクティビティ７０９では、エラーを通知するメールを送信することを意図している。仮想サーバ設定変更のアクティビティ７０２の実行結果が成功であり、ステータスが起動必要である場合には、仮想サーバ起動のアクティビティ７０３の実行に遷移し、仮想サーバ設定変更のアクティビティ７０２の実行結果が成功であり、ステータスが起動不要である場合には、サーバ情報取得のアクティビティ７０４の実行に遷移することを示している。また、仮想サーバ設定変更のアクティビティ７０２の実行結果が失敗の場合には、メール送信のアクティビティ７０９の実行に遷移することを示している。他のアクティビティも実行結果により遷移先が分岐するように設定されている。但し、例えばファイル添付メール送信のアクティビティ７０６のように分岐しない場合もある。
【００２５】
尚、アクティビティ７０５のファイル出力は、アクティビティ７０４でサーバから取得した情報をファイルとして出力することを意図している。アクティビティ７０８は、ファイルを添付せずに完了を通知するメールを送信することを意図している。アクティビティ７０６は、アクティビティ７０５で出力されたファイルを添付して完了を通知するメールを送信することを意図している。アクティビティ７０７は、サーバにあるファイルを削除することを意図している。
【００２６】
また、アクティビティには操作対象の装置が設定される。図８は、操作対象を設定するウインドウの例を示す図である。例えば、アクティビティをクリックすることにより、ウインドウが表示される。ウインドウは、操作対象の装置を受け付けるように構成されている。ウインドウは、操作対象の装置の候補として表示し、候補の中から選択させるようにしてもよい。
【００２７】
編集部４０７は、設計者の指示により、アクティビティを追加し、操作対象を設定し、フローを設定し、運用プロセスを生成する。図９に、運用プロセス登録の処理フローの例を示す。編集部４０７は、設計者の指示を受け付けるように動作する（Ｓ９０１）。編集部４０７は、指示の候補をメニューとして表示し、メニューから指示を選択させるようにしてもよい。編集部４０７は、受け付けた指示がアクティビティの追加であるか否かを判定する（Ｓ９０３）。受け付けた指示がアクティビティの追加であると判定した場合には、編集部４０７は、アクティビティ追加処理を行う（Ｓ９０５）。
【００２８】
図１０に、アクティビティ追加処理のフローの例を示す。編集部４０７は、部品の選択を受け付ける（Ｓ１００１）。例えば、編集部４０７は部品テーブル４０５に含まれる部品名を候補として表示し、部品を選択させるように動作する。次に、編集部４０７は、表示位置を受け付ける（Ｓ１００３）。例えば、編集部４０７はクリックにより表示位置を受け付ける。編集部４０７は、アクティビティ番号を割り当てる（Ｓ１００５）。例えば、編集部４０７は追加された順番にアクティビティ番号を付ける。編集部４０７は、受け付けた表示位置にアクティビティのアイコンを表示する（Ｓ１００７）。更に、編集部４０７はアイコン中に部品名を表示する。
【００２９】
図９のＳ９０３に戻って、受け付けた指示がアクティビティの追加でないと判定した場合には、編集部４０７は、受け付けた指示が操作対象の設定であるか否かを判定する（Ｓ９０７）。受け付けた指示が操作対象の設定であると判定した場合には、編集部４０７は、操作対象設定処理を行う（Ｓ９０９）。
【００３０】
図１１に、操作対象設定処理のフローの例を示す。編集部４０７は、操作対象を設定するアクティビティを特定する（Ｓ１１０１）。例えば、アクティビティのアイコンをクリックすると、図８に示したウインドウが表示される。編集部４０７は、そのウインドウで操作対象の装置を受け付ける（Ｓ１１０３）。例えば、操作対象テーブル４０３に含まれる装置のうち操作対象の種別と一致するの装置を候補として表示し、候補の装置の中から選択させるようにする。
【００３１】
図９のＳ９０７に戻って、受け付けた指示が操作対象の設定でないと判定した場合には、編集部４０７は、受け付けた指示がフローの設定であるか否かを判定する（Ｓ９１１）。受け付けた指示がフローの設定であると判定した場合には、編集部４０７は、フロー設定処理を行う（Ｓ９１３）。
【００３２】
図１２に、フロー設定処理のフローの例を示す。編集部４０７は、遷移元のアクティビティを特定する（Ｓ１２０１）。編集部４０７は、例えばアクティビティのアイコンがクリックされることにより、遷移元のアクティビティを特定する。次に、編集部４０７は、遷移条件を受け付ける（Ｓ１２０３）。アクティビティの部品の操作内容に応じて予め遷移条件の候補を定めておき、編集部４０７は候補の中から選択させるようにしてもよい。編集部４０７は、遷移先のアクティビティを特定する（Ｓ１２０５）。編集部４０７は、例えばアクティビティのアイコンがクリックされることにより、遷移先のアクティビティを特定する。編集部４０７は、遷移元のアクティビティから遷移先のアクティビティへの矢印を表示する（Ｓ１２０７）。編集部４０７は、遷移条件を受け付けている場合には、矢印の付近に遷移条件を表示する（Ｓ１２０９）。
【００３３】
図９のＳ９１１に戻って、受け付けた指示がフローの設定でないと判定した場合には、編集部４０７は、受け付けた指示が運用プロセスの登録であるか否かを判定する（Ｓ９１５）。受け付けた指示が運用プロセスの登録であると判定した場合には、編集部４０７は、プロセス定義生成処理を行う（Ｓ９１７）。受け付けた指示が運用プロセスの登録でないと判定した場合には、Ｓ９０１に戻って、Ｓ９０３からＳ９１５の処理を繰り返す。
【００３４】
ここで、登録されるプロセス定義の構成について説明する。図１３に、プロセス定義の例を示す。プロセス定義は、アクティビティ毎にレコードを有している。レコードは、アクティビティ番号と、部品ＩＤと、操作対象と、遷移条件と、遷移先アクティビティ番号の項目を有している。アクティビティ番号は、運用プロセス中のアクティビティを識別する情報である。部品ＩＤは、アクティビティで処理する部品を示している。操作対象は、部品により操作する装置を示している。操作対象は、部品であるプログラムを実行する際のパラメータとなる。遷移条件は、遷移する条件を示している。遷移先アクティビティ番号は、遷移する先のアクティビティを示している。
【００３５】
プロセス定義は、これらの項目の他に、部品ＩＤに対応する部品属性を保持するようにしてもよい。また、プロセス定義は、操作対象に対応する管理者名と承認の要否を保持するようにしてもよい。
【００３６】
図１４に、プロセス定義生成処理のフローの例を示す。編集部４０７は、追加されたアクティビティ毎に以下の処理を繰り返す（Ｓ１４０１）。編集部４０７は、まず新しいレコードを設ける（Ｓ１４０３）。編集部４０７は、Ｓ１００５で割り当てたアクティビティ番号を設定する（Ｓ１４０５）。編集部４０７は、Ｓ１００１で受け付けた部品のＩＤを設定する（Ｓ１４０７）。編集部４０７は、部品ＩＤに対応する部品属性をレコードに設定するようにしてもよい。編集部４０７は、Ｓ１１０３で受け付けた操作対象を設定する（Ｓ１４０９）。編集部４０７は、操作対象に対応する管理者名と承認の要否をレコードに設定するようにしてもよい。編集部４０７は、Ｓ１２０３で受け付けた遷移条件とＳ１２０５で特定した遷移先アクティビティ番号を設定する（Ｓ１４１１）。遷移条件と遷移先アクティビティ番号の組み合わせが複数ある場合には、編集部４０７は、それらを設定する。編集部４０７は、すべてのアクティビティについて処理したか否かを判定する（Ｓ１４１３）。処理していないアクティビティがあると判定した場合には、Ｓ１４０１に戻って、Ｓ１４０３からＳ１４１１までの処理を繰り返す。すべてのアクティビティについて処理したと判定した場合には処理を終え、図９のＳ９１９に戻る。
【００３７】
図９の処理に戻って、送信部４０９は、プロセス定義をプロセス実行サーバ３０３に送信する（Ｓ９１９）。
【００３８】
プロセス実行サーバ３０３の受信部４１１は、プロセス定義を受信し、格納部４１３に格納するように動作する。格納部４１３は、複数の運用プロセスを格納できるように構成されている。以上で、運用プロセスの登録についての説明を終える。
【００３９】
続いて、運用プロセスの実行について説明する。プロセス実行サーバ３０３は、登録された複数の運用プロセスを同時に実行することができるように構成されている。
【００４０】
動作の説明の前に、運用プロセスの実行に伴う排他アクセス権の取得と解放の概要について説明する。図１５は、排他アクセス権の取得と解放を行う遷移の例を示す図である。１５０１から１５０９はアクティビティであり、これらのアクティビティを含む始端Ｓから終端Ｅまでの流れが遷移ルートを表している。この図では、説明の便宜のために、部品名の代わりにアクティビティの部品属性を示している。図中の占有／共有の表記は、占有モードあるいは共有モードであることを意味している。排他範囲は、同一の操作対象への操作を行う範囲である。ある装置に関する排他範囲は、運用プロセスのうちその装置に対する初回の操作から始まる。この例は、サーバＡに対する排他範囲を示している。サーバＡに対する排他範囲は、アクティビティ１５０５から始まり、アクティビティ１５０９で終わっている。プロセス実行サーバ３０３は、排他範囲の始めのアクティビティ１５０５の実行の前に、排他アクセス権を取得し、排他範囲の終わりのアクティビティ１５０９の実行の後に、排他アクセス権を解放する。また、排他範囲内のアクティビティで処理する部品属性は、占有タイプあるいは共有タイプである。この例のように排他範囲内のアクティビティの部品属性として占有タイプを含む場合には、排他方式を占有モードとする。一部の操作における占有状態を確保するために、全体として占有モードで排他アクセス権を取得する。
【００４１】
図１６のように、排他範囲内のアクティビティの部品属性として共有タイプのみを含み、且つ占有タイプを含ない場合には、排他方式を共有モードとする。占有状態を前提とする操作がない場合は、全体として共有モードで排他アクセス権を取得する。
【００４２】
図１７に示すように次のアクティビティが他の操作対象を操作する場合には、その前に排他範囲を終えるようにする。
【００４３】
また、図１８に示すように、操作対象が無いアクティビティを挟んでいる場合には、排他範囲を継続するようにしてもよい。操作対象への一連の操作の中に、メールの送信のように操作対象が無いアクティビティが混在することがある。
【００４４】
次に、承認要否の判定の概要についても説明する。プロセス実行サーバ３０３は、排他範囲の始めのアクティビティで承認要否の判定を行う。その際、プロセス実行サーバ３０３は、排他範囲で操作する装置の属性によって承認の要否を判定する。図６に示した通り、操作対象テーブル４０３は装置の属性として承認の要否を保持している。サーバＡについて承認の要否は要であるので、プロセス実行サーバ３０３は図１９に示すようにサーバＡを操作する排他範囲の始めに承認の手続きを行う。特に、排他範囲内のアクティビティの部品属性として占有タイプを含む場合に、承認の手続きを行う。
【００４５】
例えば、サーバＢについて承認の要否は不要であるので、プロセス実行サーバ３０３は図２０に示すようにサーバＢを操作する排他範囲に関して承認の手続きを行わない。
【００４６】
また図２１に示すように、排他範囲内のアクティビティの部品属性が共有タイプのみの場合にも承認の手続きを行わない。このような場合は、その一連の操作の重要性は低いと想定されるからである。
【００４７】
図２２は、運用プロセスの制御に係るプロセス実行サーバの構成例を示す図である。プロセス実行サーバ３０３は、格納部２２０１と、制御部２２１１と、展開部２２１３と、実行部２２１５と、記憶部２２１７と、判定部２２１９と、承認部２２２１と、中断部２２２３と、取得部２２２５と、解放部２２２７とを有している。
【００４８】
格納部２２０１は、部品テーブル２２０３と、操作対象テーブル２２０５と、プロセス定義２２０７と、遷移ルートテーブル２２０９とを格納している。部品テーブル２２０３は、プロセス登録端末３０１の部品テーブル４０５と同様に、例えば図５の構成を有している。操作対象テーブル２２０５は、プロセス登録端末３０１の操作対象テーブル４０３と同様に、例えば図６の構成を有している。但し、プロセス定義２２０７の中に、部品属性、管理者名、承認の要否などの情報が含まれている場合には、部品テーブル２２０３と操作対象テーブル２２０５は省くことができる。
【００４９】
プロセス定義２２０７は、プロセス登録端末３０１から受信したデータである。遷移ルートテーブル２２０９は、プロセス定義２２０７を展開したデータである。
【００５０】
制御部２２１１は、実行するアクティビティを特定するなどアクティビティ実行処理の全体を制御するように構成されている。展開部２２１３は、プロセス定義２２０７を遷移ルートテーブル２２０９に展開するように構成されている。実行部２２１５は、アクティビティを実行するように構成されている。具体的には、アクティビティにより特定される部品であるプログラムを実行することにより、アクティビティにより特定される操作対象の装置を操作する。実行部２２１５は、プログラムである部品も備えている。実行部２２１５は、更にアクティビティの実行履歴を記憶部２２１７に記憶させるように動作する。
【００５１】
記憶部２２１７は、アクティビティの実行履歴と中断結果を記憶するように構成されている。判定部２２１９は、排他方式などの判定を行うように構成されている。
【００５２】
承認部２２２１は、承認の要否を判定し、必要に応じて承認依頼し、実行の可否を決定するように構成されている。中断部２２２３は、アクティビティ実行の中断に伴う処理を行うように構成されている。取得部２２２５は、操作対象の装置について排他アクセス権を取得するように構成されている。具体的には、例えば操作対象の装置に対して排他アクセス権を要求する方法の他、プロセス実行サーバ３０３内部で排他アクセス権を管理する管理部を設け、管理部に対して排他アクセス権を要求する方法などが考えられる。
【００５３】
解放部２２２７は、状況に応じて、操作対象の装置についての排他アクセス権を解放するように構成されている。具体的には、例えば操作対象の装置に対して排他アクセス権の放棄を通知する方法の他、プロセス実行サーバ３０３内部で排他アクセス権を管理する管理部を設け、管理部に対して排他アクセス権の放棄を通知する方法が考えられる。
【００５４】
図２３は、運用プロセスの制御フローの例を示す図である。展開部２２１３は、遷移ルートを展開する（Ｓ２３０１）。具体的には、展開部２２１３はプロセス定義２２０７からアクティビティを読み取り遷移先のアクティビティを特定して、遷移ルートを生成する。遷移先に分岐が含まれる場合には、それぞれの分岐に従ってすべての遷移ルートを特定する。
【００５５】
図２４に、遷移ルートテーブル２２０９の例を示す。この図は、図７に示した運用プロセスの遷移ルートを示している。遷移ルートテーブル２２０９は、遷移ルート毎にアクティビティと終端を遷移する順に並べている。
【００５６】
ここで、説明を単純化するための運用プロセスのモデルを示す。図２５は、運用プロセスのモデルを示す図である。Ａ１からＡ７は、アクティビティを示している。Ａ１とＡ４は、分岐するアクティビティの例を示している。Ａ２とＡ３とＡ５とＡ６とＡ７は、分岐しないアクティビティの例を示している。Ｓは始端を示し、Ｅは終端を示している。
【００５７】
図２６に、図２５の運用プロセスを展開した遷移ルートテーブル２２０９のモデルを示す。第１遷移ルートから第４遷移ルートまでの４つの遷移ルートが展開されている。この図のように、遷移ルートテーブル２２０９は遷移ルート毎にアクティビティと終端を遷移する順に並べている。
【００５８】
図２３に戻って、制御部２２１１は、プロセス定義２２０７から順次実行すべきアクティビティを特定する（Ｓ２３０３）。具体的には、制御部２２１１は、最初のアクティビティから始めて順に遷移先のアクティビティを特定する。遷移先が分岐する場合、つまり遷移先のアクティビティが複数ある場合には、遷移条件を満たす方の遷移先のアクティビティを実行すべきアクティビティとする。例えば、図７と図１３に示した運用プロセスの例では、最初にアクティビティ番号Ａ１のアクティビティ７０１を実行すべきアクティビティとして特定し、次に、アクティビティ７０１の実行結果が成功の場合には、アクティビティ番号Ａ２のアクティビティ７０２を実行すべきアクティビティとして特定し、アクティビティ７０１の実行結果が失敗の場合には、アクティビティ番号Ａ９のアクティビティ７０９を実行すべきアクティビティとして特定する。
【００５９】
判定部２２１９は、終端であるか否かを判定する（Ｓ２３０５）。終端であると判定した場合には、制御部２２１１は処理を終える。例えば、図２５と図２６に示した運用プロセスのモデルで、アクティビティ番号Ａ７のアクティビティを実行した後は、次に実行すべきアクティビティに相当するのは終端Ｅであり、これ以降に実行すべきアクティビティがないので処理を終える。
【００６０】
終端でないと判定した場合には、Ｓ２３０７へ移る。尚、図２３のＳ２３０３からのループ処理の１巡目においては、実行すべきアクティビティが存在するのでＳ２３０５ではＮｏと判定される。
【００６１】
次に、判定部２２１９は、実行すべきアクティビティに操作対象の装置が有るか否かを判定する（Ｓ２３０７）。このとき判定部２２１９は、プロセス定義２２０７の実行すべきアクティビティのレコードに含まれる操作対象の項目に装置名が設定されている場合に、操作対象の装置が有ると判定し、実行すべきアクティビティのレコードに含まれる操作対象の項目になしと設定されている場合に、操作対象の装置が無いと判定する。
【００６２】
そして、実行すべきアクティビティに操作対象の装置が無いと判定した場合には、実行部２２１５は、アクティビティを実行して（Ｓ２３０９）、実行履歴を記憶部２２１７に記憶させ、Ｓ２３０３へ戻る。例えば、図１８のアクティビティ１８０１が実行すべきアクティビティの場合には、このように処理する。操作対象が無いアクティビティでは、承認を得ることはないので、承認の要否を判定しない。また、排他アクセス権の取得及び解放の処理も行わない。
【００６３】
一方、実行すべきアクティビティに操作対象の装置が有ると判定した場合には、判定部２２１９は、初回操作判定処理を行う（Ｓ２３１１）。判定部２２１９は、初回操作判定処理で、実行すべきアクティビティにより特定される装置に対して、プロセス定義２２０７から初回の操作を行うか否かを判定する。
【００６４】
図２７に、初回操作判定処理フローの例を示す。判定部２２１９は、実行済みのアクティビティを特定する （Ｓ２７０１）。つまり、判定部２２１９は、実行すべきアクティビティ以前のアクティビティを特定する。実行済みのアクティビティは、記憶部２２１７の実行履歴から得る。例えば、図１５のアクティビティ１５０５が実行すべきアクティビティの場合には、実行済みのアクティビティ１５０１とアクティビティ１５０３を特定する。そして、判定部２２１９は、操作済みの操作対象を特定する （Ｓ２７０３）。具体的には、判定部２２１９は、プロセス定義２２０７から実行済みのアクティビティのレコードに含まれる操作対象の装置を読み取る。図１５の例では、サーバＢとサーバＣが操作済みの操作対象となる。
【００６５】
そして、判定部２２１９は、実行すべきアクティビティの操作対象の装置が、操作済みの操作対象の装置のいずれかと重複するかを判定する（Ｓ２７０５）。実行すべきアクティビティの操作対象の装置が、操作済みの操作対象の装置のいずれとも重複しないと判定した場合には、判定部２２１９は、初回操作であると判定する（Ｓ２７０７）。図１５の例では、アクティビティ１５０５の操作対象であるサーバＡは、操作済みの操作対象であるサーバＢとサーバＣのいずれとも一致せず、重複しないので、初回操作であると判定する。
【００６６】
他方、実行すべきアクティビティの操作対象の装置が、操作済みの操作対象の装置のいずれかと重複すると判定した場合には、判定部２２１９は、初回操作でないと判定する（Ｓ２７０９）。図１５の例でアクティビティ１５０７が実行すべきアクティビティである場合には、その操作対象であるサーバＡが実行済みのアクティビティ１５０５の操作対象であるサーバＡと重複するので、初回操作でないと判定する。そして、図２３のＳ２３１３へ戻る。
【００６７】
図２３の処理に戻って、制御部２２１１は、初回操作判定処理（Ｓ２３１１）の判定結果が初回操作であるか否かを判定する（Ｓ２３１３）。初回操作であると判定した場合には、判定部２２１９は、排他方式判定処理を行う（Ｓ２３１５）。判定部２２１９は、排他アクセス権を取得する際の排他方式を判定する。例えば、図１５のアクティビティ１５０５あるいは図１６のアクティビティ１６０１が実行すべきアクティビティである場合に、排他方式判定処理を行う。
【００６８】
ここで、排他方式判定の概要について説明する。図２８に、排他方式を占有モードと判定する例を示す。実行すべきアクティビティを太線枠で示している。例えば、図２５と図２６に示した運用プロセスのモデルで、Ａ１のアクティビティとＡ３のアクティビティを実行し、次に実行すべきアクティビティがＡ４である場合に、第１遷移ルートと第２遷移ルートは、それまでの経過が異なるので判定の対象とならない。それまでの経過が一致する第３遷移ルートと第４遷移ルートのみを判定の対象とする。そして、判定の対象である第３遷移ルートと第４遷移ルートのそれぞれに適した排他方式を判定する。この判定結果を、ルート別判定結果と呼ぶ。ルート別判定結果のいずれかが占有モードである場合には、排他方式を占有モードとする。この例では、第４遷移ルートのルート別判定結果が占有モードであるので、全体としての排他方式も占有モードとする。第４遷移ルートへ遷移する場合に備えて、占有状態を確保しておく。
【００６９】
図２９に、排他方式を共有モードと判定する例を示す。図２８と同様に、Ａ１のアクティビティとＡ３のアクティビティを実行し、次に実行すべきアクティビティがＡ４である場合に、第１遷移ルートと第２遷移ルートは、それまでの経過が異なるので判定の対象とせず、それまでの経過が一致する第３遷移ルートと第４遷移ルートのみを判定の対象とする。判定の対象である第３遷移ルートと第４遷移ルートのルート別判定結果はともに共有モードである。このように、ルート別判定結果のいずれにも占有モードを含まず、ルート別判定結果のいずれかが共有モードである場合には、排他方式を共有モードとする。今後の遷移を考慮しても、占有状態を確保しなくてよいからである。このようにして、無用な占有を防ぐことができる。
【００７０】
上記の概要に従って排他方式を判定する処理について説明する。図３０に、排他方式判定処理フローの例を示す。判定部２２１９は、遷移ルートテーブル２２０９の遷移ルート毎に以下の処理を繰り返す（Ｓ３００１）。判定部２２１９は、それまでの経過が一致するか否かを判定する（Ｓ３００３）。具体的には、判定部２２１９は、実行済みのアクティビティと一致するアクティビティを含む遷移ルートである場合に経過が一致すると判定する。経過が一致しないと判定した場合には、ルート別判定処理の対象とならないので、Ｓ３０１１に移行する。判定部２２１９は、記憶部２２１７の実行履歴から実行済みのアクティビティを得る。
【００７１】
一方、経過が一致すると判定した場合には、判定部２２１９は、ルート別判定処理を行う （Ｓ３００５）。
【００７２】
ルート別判定処理では、排他範囲に含まれるアクティビティの部品属性のうちいずれかが占有タイプである場合に占有モードと判定し、部品属性のうちいずれかが共有タイプであり且つ部品属性のいずれも占有タイプでない場合に共有モードと判定する。以下、その概要について説明する。
【００７３】
図３１から図３４の例で、実行すべきアクティビティを太線枠で示している。図３１に示すように、初回操作のアクティビティの部品属性が占有タイプである場合には、ルート別判定結果を占有モードとする。この時点で部品属性が占有タイプであるアクティビティを排他範囲に含むことは明らかであるからである。
【００７４】
図３２に示すように、初回のアクティビティの部品属性が共有タイプであっても、排他範囲内の他のアクティビティの部品属性が占有タイプである場合には、ルート別判定結果を占有モードとする。このパターンは、排他範囲に含まれる先のアクティビティの部品属性まで判定することにより特定される。
【００７５】
図３３に示すように、排他範囲内に部品属性が占有タイプであるアクティビティが含まれない場合には、ルート別判定結果を共有モードとする。このパターンも、排他範囲に含まれるすべてのアクティビティの部品属性を判定することにより特定される。この例は、排他範囲が終端Ｅの前で終わっている。
【００７６】
図３４の場合も、排他範囲内に部品属性が占有タイプであるアクティビティが含まれないので、ルート別判定結果を共有モードとする。このパターンは、排他範囲に含まれるすべてのアクティビティの部品属性を判定することにより特定される。この例は、排他範囲が他の操作対象の装置（サーバＢ）を操作するアクティビティの前で終わっている。
【００７７】
上記の概要に従ってルート別判定処理について説明する。図３５に、ルート別判定処理フローの例を示す。判定部２２１９は、順次判定するアクティビティを特定する（Ｓ３５０１）。判定部２２１９は、１巡目では、実行すべきアクティビティを判定するアクティビティとする。それ以降は、遷移ルートに従って次のアクティビティを判定するアクティビティとする。
【００７８】
判定部２２１９は、アクティビティの代わりに終端が判定対象として特定されたか否かを判定する（Ｓ３５０３）。終端が判定対象となることは、遷移ルートの末に至りアクティビティがないことを示している。アクティビティの代わりに終端を特定したと判定した場合には、判定部２２１９は、ルート別判定結果は共有モードであると判定する（Ｓ３５０５）。例えば、図３３で判定対象が終端Ｅに至った場合に、共有モードであると判定する。尚、１巡目はアクティビティが存在するので、終端であると判定するのは２巡目以降である。
【００７９】
終端ではなく、いずれかのアクティビティが判定対象であると判定した場合には、判定部２２１９は、判定するアクティビティに操作対象の装置が有るか否かを判定する（Ｓ３５０７）。具体的には、アクティビティのレコードに含まれる操作対象の項目に装置名が設定されている場合に、操作対象の装置が有ると判定し、アクティビティのレコードに含まれる操作対象の項目になしと設定されている場合に、操作対象の装置が無いと判定する。
【００８０】
操作対象の装置が無いと判定した場合には、占有モード又は共有モードのいずれにも決定せず、更に先のアクティビティを判定対象とするので、Ｓ３５０１に戻る。例えば、図１８のアクティビティ１８０１が判定するアクティビティである場合には、判定を保留して次のアクティビティを改めて判定対象とする。尚、１巡目は実行すべきアクティビティに操作対象の装置が存在するので、操作対象の装置が無いと判定するのは２巡目以降である。
【００８１】
一方、操作対象の装置があると判定した場合には、判定部２２１９は、判定するアクティビティの操作対象の装置が、実行すべきアクティビティの操作対象の装置と一致するか否かを判定する（Ｓ３５０９）。判定するアクティビティの操作対象の装置が、実行すべきアクティビティの操作対象の装置と一致しないと判定した場合には、判定部２２１９は、ルート別判定結果は共有モードであると判定する（Ｓ３５１１）。図３４の例で、判定するアクティビティの操作対象がサーバＢであり、実行すべきアクティビティの操作対象であるサーバＡと一致しないと判定した時点で、ルート別判定結果は共有モードとなる。尚、初回のアクティビティを判定する１巡目は操作対象の装置は一致すると判定される。
【００８２】
判定するアクティビティの操作対象の装置が、実行すべきアクティビティの操作対象の装置と一致すると判定した場合には、判定部２２１９は、実行すべきアクティビティの部品属性が占有タイプであるか又は共有タイプであるかを判定する（Ｓ３５１３）。具体的には、判定部２２１９は、遷移ルートからアクティビティ番号を特定し、プロセス定義２２０７からそのアクティビティ番号に対応する部品ＩＤを特定し、部品テーブル２２０３からその部品ＩＤに対応する部品属性を特定する。プロセス定義２２０７に部品属性が含まれる場合には、判定部２２１９はそれを用いてもよい。プロセス定義２２０７に含まれる部品属性を用いることにより、処理負担が軽減される。
【００８３】
部品属性が占有タイプであると判定した場合には、判定部２２１９は、ルート別判定結果は占有モードであると判定する（Ｓ３５１５）。この処理により、図３１の例では、１巡目にルート別判定結果は占有モードであると判定する。図３２の例では、２巡目以降にルート別判定結果は占有モードであると判定する。
【００８４】
一方、部品属性が共有タイプであると判定した場合には、Ｓ３５０１に戻る。図３３の例では、終端Ｅに至るまで繰り返し部品属性が共有タイプであると判定される。このようにして、ルート別判定結果が得られる。
【００８５】
図３０の処理に戻って、判定部２２１９は、ルート別判定処理の判定結果が占有モードであるか、あるいは共有モードであるかを判定する（Ｓ３００７）。ルート別判定処理の判定結果が占有モードであると判定した場合には、判定部２２１９は、排他方式は占有モードと判定する（Ｓ３００９）。図２８の例で、第４遷移ルートのルート別判定結果が占有モードであると判定した時点で、排他方式は占有モードとなる。
【００８６】
一方、ルート別判定処理の判定結果が共有モードであると判定した場合には、判定部２２１９は、すべての遷移ルートについて処理したかを判定する（Ｓ３０１１）。すべての遷移ルートについて処理したと判定した場合には、判定部２２１９は、排他方式は共有モードであると判定する（Ｓ３０１３）。図２９の例で、最終の第４遷移ルートまでルート別判定結果がすべて共有モードであると判定した時点で、排他方式は共有モードとなる。
【００８７】
処理していない遷移ルートがあると判定した場合には、Ｓ３００１へ戻る。このようにして、全体としての排他方式を得る。
【００８８】
図２３に戻って、制御部２２１１は、排他方式が占有モードであるか、あるいは共有モードであるかを判定する（Ｓ２３１７）。排他方式が占有モードであると判定した場合には、端子Ａを介して図３６のＳ３６０１に移行する。
【００８９】
図３６に、初回操作且つ占有モードにおける制御フローの例を示す。承認部２２２１は、承認判定処理を行う（Ｓ３６０１）。承認部２２２１は、承認判定処理で、承認の要否を判定し、必要に応じて承認依頼し、実行の可否を決定する。
【００９０】
図３７は、承認判定処理フローの例を示す図である。承認部２２２１は、プロセス定義２２０７に基づいて、実行すべきアクティビティの操作対象の装置を特定する（Ｓ３７０１）。承認部２２２１は、更に、操作対象テーブル２２０５に基づいて、操作対象の装置に対応する承認の要否を特定する。プロセス定義２２０７に承認の要否を含む場合には、承認部２２２１はそれを用いてもよい。プロセス定義２２０７に含まれる承認の要否を用いることによって、処理負担が軽減される。承認部２２２１は承認の要否を判定し（Ｓ３７０３）、承認の要否が不要を示す場合には、承認判定処理の結果を実行可と判定する（Ｓ３７０５）。図２０の例で、サーバＢは承認の要否が不要と設定されているので、実行可と判定される。
【００９１】
一方、承認部２２２１は承認の要否を判定し（Ｓ３７０３）、承認の要否が要を示す場合には、承認部２２２１は、管理者を特定し（Ｓ３７０７）、管理者端末３０７へ承認依頼を送信する（Ｓ３７０９）。具体的には、承認部２２２１は、操作対象テーブル２２０５に基づいて、装置に対応する管理者名を特定する。プロセス定義２２０７に管理者名を含む場合には、承認部２２２１はそれを用いてもよい。プロセス定義２２０７に含まれる管理者名を用いることによって、処理負担が軽減される。図１９の例で、サーバＡは承認の要否が要と設定されているので、承認依頼を行う。
【００９２】
そして、承認部２２２１は、管理者端末３０７から回答を受ける（Ｓ３７１１）。承認部２２２１は、回答が受諾であるか、あるいは拒否であるかを判定する（Ｓ３７１３）。回答が受諾であると判定した場合には、承認部２２２１は、承認判定処理の結果を実行可と判定する（Ｓ３７１５）。一方、回答が拒否であると判定した場合には、承認部２２２１は、承認判定処理の結果を実行不可と判定する（Ｓ３７１７）。
【００９３】
図３６の処理に戻って、制御部２２１１は、判定結果が実行可であるか、あるいは実行不可であるかを判定する（Ｓ３６０３）。判定結果が実行不可であると判定した場合には、中断部２２２３は、中断処理を行う（Ｓ３６０５）。中断部２２２３は、中断処理で、中断した運用プロセスの識別情報と、承認判定処理の判定結果が実行不可であったことなどを、履歴として記憶部２２１７に記憶させる。
【００９４】
判定結果が実行可であると判定した場合には、取得部２２２５は、排他方式を占有モードに設定し（Ｓ３６０７）、排他アクセス権を取得する（Ｓ３６０９）。排他アクセス権を取得した以降は、他のプロセスによる操作対象の装置への割り込みは拒否されるようになる。
【００９５】
排他アクセス権を取得した後に、実行部２２１５はアクティビティを実行する（Ｓ３６１１）。具体的には、実行部２２１５はアクティビティで特定される部品であるプログラムを実行する。実行部２２１５は、実行履歴を記憶部２２１７に記憶させる。
【００９６】
アクティビティを実行した後に、解放部２２２７は解放制御処理を行う（Ｓ３６１３）。解放部２２２７は、解放制御処理で、状況に応じて操作対象の装置についての排他アクセス権を解放する。
【００９７】
ここで、排他アクセス権の解放について概要を説明する。図３８に示すように、すべての遷移ルートで解放可と判定された場合には、排他アクセス権を解放する。この場合には、いずれの遷移ルートを辿ったとしても、排他アクセス権を保持していなくてよいからである。
【００９８】
図３９に示すように、いずれかの遷移ルートで解放不可と判定された場合には、排他アクセス権を解放しない。この場合には、解放不可の遷移ルートを辿ることを考慮して、排他アクセス権を保持しておくようにする。
【００９９】
上記の概要に従って、解放部２２２７は解放制御処理を行う。図４０に、解放制御処理フローの例を示す。解放部２２２７は、遷移ルートテーブル２２０９の遷移ルート毎に以下の処理を繰り返す（Ｓ４００１）。解放部２２２７は、それまでの経過が一致するか否かを判定する（Ｓ４００３）。具体的には、解放部２２２７は、実行済みのアクティビティと一致するアクティビティを含む遷移ルートである場合に経過が一致すると判定する。経過が一致しないと判定した場合には、解放可否判定処理の対象とならないので、Ｓ４００９に移行する。解放部２２２７は、記憶部２２１７の実行履歴から実行済みのアクティビティを得る。
【０１００】
一方、経過が一致すると判定した場合には、解放部２２２７は、解放可否判定処理を行う（Ｓ４００５）。
【０１０１】
ここで、解放可否判定の概要について説明する。図４１から図４６の例で、実行すべきアクティビティを太線枠で示している。図４１に示すように、次のアクティビティが無い場合、つまり次が終端であるには、解放可と判定する。これ以上、装置に対する操作を行わないからである。
【０１０２】
図４２に示すように、次のアクティビティが他の装置に対するアクティビティである場合には、解放可と判定する。装置に対する一連の操作は終了したと考えられるからである。
【０１０３】
図４３に示すように、次のアクティビティが同じ装置に対するアクティビティである場合には、解放不可と判定する。まだ装置に対する一連の操作は終了してないと考えられるからである。
【０１０４】
図４４に示すように、次のアクティビティの操作対象がなく、その次のアクティビティがない場合には、解放可であると判定する。これ以上、装置に対する操作を行わないからである。
【０１０５】
図４５に示すように、次のアクティビティの操作対象がなく、その次のアクティビティが他の装置に対するアクティビティである場合には、解放可であると判定する。装置に対する一連の操作は終了したと考えられるからである。
【０１０６】
図４６に示すように、次のアクティビティの操作対象がなく、その次のアクティビティが同じ装置に対するアクティビティである場合には、解放不可と判定する。まだ装置に対する一連の操作は終了していないと考えられるからである。
【０１０７】
図４７に、解放可否判定処理フローの例を示す。解放部２２２７は、順次判定するアクティビティを特定する（Ｓ４７０１）。具体的には、解放部２２２７は、１巡目は実行すべきアクティビティについて判定する。それ以降は、遷移ルートに従って次のアクティビティを特定する。
【０１０８】
解放部２２２７は、アクティビティの代わりに終端が特定された否かを判定する。 （Ｓ４７０３）。次のアクティビティがなく、アクティビティの代わりに終端を特定したと判定した場合には、解放部２２２７は、解放可と判定する（Ｓ４７０５）。図４１の例では、終端の前のアクティビティで解放可と判定される。
【０１０９】
終端ではなく、アクティビティを特定したと判定した場合には、解放部２２２７は、判定するアクティビティに操作対象の装置が有るか否かを判定する（Ｓ４７０７）。具体的には、アクティビティのレコードに含まれる操作対象の項目に装置名が設定されている場合に、操作対象の装置が有ると判定し、アクティビティのレコードに含まれる操作対象の項目になしと設定されている場合に、操作対象の装置が無いと判定する。
【０１１０】
操作対象の装置が無いと判定した場合には、解放可あるいは解放不可のいずれにも決定せず、更に先のアクティビティを判定するので、Ｓ４７０１に戻る。例えば、図４４から図４６の例で、実行すべきアクティビティの次のアクティビティは操作対象の装置が無いので、その次のアクティビティが判定対象となる。尚、図４４の場合は、その後Ｓ４７０５で解放可と判定される。このように、操作対象の装置が無いと判定した場合には更に先のアクティビティを判定するので、先の状況を見越して早めに排他アクセス権を解放できる。
【０１１１】
一方、操作対象の装置があると判定した場合には、解放部２２２７は、判定するアクティビティの操作対象の装置が、実行すべきアクティビティの操作対象の装置と一致するか否かを判定する（Ｓ４７０９）。判定するアクティビティの操作対象の装置が、実行すべきアクティビティの操作対象の装置と一致しないと判定した場合には、解放部２２２７は、解放可と判定する（Ｓ４７１１）。図４２と図４５の例では、解放可と判定される。そして、図４０のＳ４００７へ戻る。
【０１１２】
判定するアクティビティの操作対象の装置が、実行すべきアクティビティの操作対象の装置と一致すると判定した場合には、解放部２２２７は、解放不可と判定する（Ｓ４７１３）。図４３と図４６の例では、解放不可と判定される。そして、図４０のＳ４００７へ戻る。
【０１１３】
図４０の処理に戻って、解放部２２２７は、解放可否判定処理の判定結果が解放可であるか、あるいは解放不可であるかを判定する（Ｓ４００７）。解放可否判定処理の判定結果が解放不可であると判定した場合には、排他アクセス権を解放することなく処理を終了する。図３９の例では、２段目の遷移ルートで解放可否判定処理の判定結果が解放不可となるので、排他アクセス権を解放することなく処理を終了する。そして、図３６の処理へ戻り、端子Ｄを介して、図２３のＳ２３０３へ戻る。
【０１１４】
解放可否判定処理の判定結果が解放可であると判定した場合には、解放部２２２７は、すべての遷移ルートについて処理したか否かを判定する（Ｓ４００９）。処理していない遷移ルートがあると判定した場合には、Ｓ４００１へ戻って判定を繰り返す。
【０１１５】
すべての遷移ルートについて処理したと判定した場合には、解放部２２２７は、排他アクセス権を解放する（Ｓ４０１１）。図３８の例では、１段目の遷移ルートと２段目の遷移ルートともに解放可と判定され、これらの遷移ルート以外に遷移ルートがないと判定した時点で、排他アクセス権を解放する。そして、図３６の処理へ戻り、端子Ｄを介して、図２３のＳ２３０３へ戻る。
【０１１６】
図２３のＳ２３１７で、排他方式が共有モードであると判定した場合には、端子Ｂを介して図４８のＳ４８０１に移行する。
【０１１７】
図４８に、初回操作且つ共有モードにおける制御フローの例を示す。共有モードの場合には、図２１に示した通り承認を得ないので承認の要否を判定しない。取得部２２２５は、排他方式を共有モードに設定して（Ｓ４８０１）、排他アクセス権を取得する（Ｓ４８０３）。排他アクセス権を取得した以降、操作対象の装置への他のプロセスによる共有モードの排他アクセス権の取得は許される。
【０１１８】
排他アクセス権を取得した実行部２２１５は、アクティビティを実行し、実行履歴を記憶部２２１７に記憶させる（Ｓ４８０５）。具体的には、実行部２２１５はアクティビティで特定される部品であるプログラムを実行する。
【０１１９】
アクティビティを実行した後に、解放部２２２７は、解放制御処理を行う（Ｓ４８０７）。解放部２２２７による解放制御処理については、前述と同様である。
【０１２０】
解放制御処理を終えると、端子Ｄを介して、図２３のＳ２３０３へ戻る。
【０１２１】
図２３に戻って、初回操作判定処理（Ｓ２３１１）で初回操作でないと判定した場合には、端子Ｃを介して、図４９のＳ４９０１の処理に移行する。
【０１２２】
図４９に、初回操作でない場合の制御フローの例を示す。初回操作でない場合には、承認を得ることはないので、承認の要否を判定しない。また、排他アクセス権の取得の処理も行わない。実行部２２１５は、アクティビティを実行し、実行履歴を記憶部２２１７に記憶させる（Ｓ４９０１）。アクティビティの実行を終えると、解放部２２２７は、解放制御処理を行う（Ｓ４９０３）。解放部２２２７による解放制御処理は、前述と同様である。このようにして、運用プロセスは実行される。
【０１２３】
以下、運用プロセスの実行に関する例を示す。図５０に、遷移ルート毎の排他範囲の例を示す。この例は、図７に示した運用プロセスを展開した図２４の遷移ルートのうち、排他範囲を太線枠で囲んでいる。排他範囲は、いずれもサーバＡを対象としている。全ての遷移ルートがアクティビティ番号Ａ１のアクティビティから排他範囲が始まる。そして、第１遷移ルートと、第２遷移ルートと、第３遷移ルートと、第４遷移ルートと、第５遷移ルートと、第７遷移ルートと、第８遷移ルートは、いずれも操作対象のないアクティビティの次が終端Ｅであるため、操作対象のないアクティビティの前で、排他範囲が終わる。第６遷移ルートと、第９遷移ルートは終端Ｅの前で、排他範囲が終わる。
【０１２４】
いずれの遷移ルートも、部品属性が占有タイプである部品を用いるアクティビティを含んでいるので、ルート別判定結果は占有モードとなる。従って、アクティビティ番号Ａ１のアクティビティの実行前に、サーバＡについて占有モードを排他方式に設定して、排他アクセス権を取得する。また、図６に示すようにサーバＡの属性として承認の要否に要が設定されているので、アクティビティ番号Ａ１のアクティビティの実行前に、サーバＡの管理者であるユーザＡに対して承認依頼を発行し、回答が受諾の場合に一連のアクティビティが実行される。そして、排他範囲の終わりのアクティビティが実行された後に、排他アクセス権を解放する。
【０１２５】
［実施の形態２］
上述の例では、運用プロセスを生成する段階で操作対象の装置を設定しておく態様を示したが、運用プロセスを実行する段階で操作対象の装置を設定するようにしてもよい。以下、運用プロセスを実行する段階で操作対象の装置を設定する例を示す。
【０１２６】
図５１に、第２の実施の形態に係る運用プロセスの例を示す。５１０１から５１０６は、アクティビティである。矢印と遷移条件については、上述の例と同様である。但し、アクティビティ５１０２は、ＷＥＢサーバを操作対象としているが、具体的な装置が設定されていない。ＷＥＢサーバは、具体的な装置を設定するための変数である。アクティビティ５１０３も、ＡＰサーバを操作対象としているが、具体的な装置が設定されていない。ＡＰサーバは、具体的な装置を設定するための変数である。アクティビティ５１０４は、ＤＢサーバを操作対象としているが、具体的な装置が設定されていない。ＤＢサーバは、具体的な装置を設定するための変数である。
【０１２７】
アクティビティ５１０１は、変数であるＷＥＢサーバとＡＰサーバとＤＢサーバに具体的な装置を設定するための処理を行うように構成されている。アクティビティ５１０１は、ＷＥＢサーバとＡＰサーバとＤＢサーバに設定する具体的な装置を受け付けるためのウインドウを表示する。
【０１２８】
図５２に、操作対象受付ウインドウの例を示す。操作対象受付ウインドウは、プロセス実行サーバ３０３に接続されている運用者の端末に表示され、運用者がＷＥＢサーバとＡＰサーバとＤＢサーバに設定する装置を入力する。あるいは、プロセス登録端末３０１に操作対象受付ウインドウを表示させ、設計者がＷＥＢサーバとＡＰサーバとＤＢサーバに設定する装置を入力するようにしてもよい。
【０１２９】
アクティビティ５１０１は、装置を設定すべきアクティビティで用いる部品の操作対象の種別を部品テーブル４０５から抽出し、操作対象の種別に適合する装置を操作対象テーブル４０３から抽出して、抽出した装置を候補とするメニューを表示し、メニューから装置を選択させるようにしてもよい。
【０１３０】
図５２の例では、変数であるＷＥＢサーバに装置名がサーバＳであるサーバ装置を設定し、変数であるＡＰサーバに装置名がサーバＴであるサーバ装置を設定し、変数であるＤＢサーバに装置名がサーバＵであるサーバ装置を設定している。設定されたサーバ装置は、プロセス定義２２０７に書き込まれる。
【０１３１】
図５３は、プロセス定義２２０７の例を示す図である。アクティビティ５１０２に対応するアクティビティ番号Ａ２のレコードの操作対象の項目に、サーバＳが設定されている。アクティビティ５１０３に対応するアクティビティ番号Ａ３のレコードの操作対象の項目に、サーバＴが設定されている。アクティビティ５１０４に対応するアクティビティ番号Ａ４のレコードの操作対象の項目に、サーバＵが設定されている。
【０１３２】
アクティビティ５１０１によってプロセス定義２２０７に操作対象が設定された後の動作は、上記と同様である。
【０１３３】
図５４に、図５３のプロセス定義２２０７を展開した遷移ルートを示す。また、図５５に、図５４の遷移ルート毎の排他範囲を示す。サーバＳを操作するアクティビティと、サーバＴを操作するアクティビティと、サーバＵを操作するアクティビティが、それぞれ単独で排他範囲を構成している。このように、運用プロセスの実行段階で操作対象の装置を設定するようにすれば、状況に応じて運用プロセスを柔軟に用いることができるようになる。
【０１３４】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上述の機能ブロック構成は必ずしも実際のプログラムモジュール構成に対応するものではない。
【０１３５】
また、上で説明した各記憶領域の構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【０１３６】
なお、上で述べたプロセス登録端末３０１とプロセス実行サーバ３０３と管理者端末３０７は、コンピュータ装置であって、図５６に示すように、メモリ５６０１とＣＰＵ（Central Processing Unit）５６０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）５６０５と表示装置５６０９に接続される表示制御部５６０７とリムーバブル・ディスク５６１１用のドライブ装置５６１３と入力装置５６１５とネットワークに接続するための通信制御部５６１７とがバス５６１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ５６０５に格納されており、ＣＰＵ５６０３により実行される際にはＨＤＤ５６０５からメモリ５６０１に読み出される。ＣＰＵ５６０３は、アプリケーション・プログラムの処理内容に応じて表示制御部５６０７、通信制御部５６１７、ドライブ装置５６１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ５６０１に格納されるが、ＨＤＤ５６０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク５６１１に格納されて頒布され、ドライブ装置５６１３からＨＤＤ５６０５にインストールされる。インターネットなどのネットワーク及び通信制御部５６１７を経由して、ＨＤＤ５６０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ５６０３、メモリ５６０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１３７】
以上述べた実施の形態をまとめると、以下のようになる。
【０１３８】
本実施の形態に係るプログラムは、コンピュータにネットワークを介して操作する装置を示す情報を含む複数のアクティビティを含み、且つ当該複数のアクティビティ間を遷移する順序が規定されたプロセス定義に基づいて、実行すべきアクティビティを特定し、実行すべきアクティビティが当該アクティビティにより特定される装置に対して上記順序のうち初回の操作を行うか否かを判定し、実行すべきアクティビティが初回の操作を行う場合に、装置について排他アクセス権を取得する処理を実行させる。
【０１３９】
このようにすれば、操作対象の装置に対して操作を行う前に排他アクセス権を取得し、最初の操作以降の他のプロセス定義に基づく割り込みを排除できるようになる。特に、実行すべきアクティビティが初回の操作を行う場合に、装置について排他アクセス権を取得するので、プロセス定義に特別な命令を組み込まなくても、自動的に適切なタイミングで排他アクセス権を取得できる。
【０１４０】
また、複数のアクティビティは、装置への操作を処理するプログラムである部品を示す情報を含むようにしてもよい。この場合、更に、排他アクセス権を取得してから解放するまでの排他範囲に含まれる一又は複数のアクティビティにより特定される部品の属性に基づいて、占有モード又は共有モードを判定する第１の判定処理をコンピュータに実行させ、取得する処理において、占有モード又は共有モードに基づいて排他方式を設定して、装置について排他アクセス権を取得するようにしてもよい。
【０１４１】
このようにすれば、装置への操作を処理するプログラムである部品の属性に基づいて排他方式を設定するので、占有モード又は共有モードの選択を自動化することができる。特に、装置に対する操作の特性に応じた排他方式を選択することができる。更に、排他範囲に含まれる一又は複数のアクティビティについて判定するので、排他範囲の一連の操作に応じた排他方式の選択が可能になる。
【０１４２】
また、第１の判定処理において、排他アクセス権を取得された装置以外の装置についてのアクティビティの直前のアクティビティ、又は終端の直前のアクティビティまでを排他範囲と判定するようにしてもよい。
【０１４３】
このようにすれば、排他アクセス権を解放する適切なタイミングを前提として、占有モード又は共有モードを判定できるようになる。これにより、排他方式の設定のミスによる不具合を防止できる。
【０１４４】
また、部品の属性は、部品で処理する操作が占有タイプであるか又は共有タイプであるかを示す場合もある。この場合、第１の判定処理において、排他範囲に含まれる一又は複数のアクティビティにより特定される部品の属性のうちいずれかが占有タイプである場合に占有モードと判定し、部品の属性のうちいずれかが共有タイプであり且つ部品の属性のいずれも占有タイプでない場合に共有モードと判定するようにしてもよい。
【０１４５】
このようにすれば、占有すべき操作を含む排他範囲に対する割り込みを防止でき、占有すべき操作を確実に実行できるようになる。一方、占有すべき操作を含まない排他範囲については、他のプロセス定義による操作を妨げずに済む。
【０１４６】
更に、分岐する遷移を含むプロセス定義に基づいて、複数の遷移ルートを展開する処理をコンピュータに実行させるようにしてもよい。この場合、第１の判定処理において、遷移ルート毎に占有モード又は共有モードであるかを判定し、取得する処理において、複数の遷移ルートのうちいずれかが占有モードである場合に、排他方式を占有モードに設定し、複数の遷移ルートのうちいずれかが共有モードであり且つ複数の遷移ルートのいずれも占有モードでない場合に、排他方式を共有モードに設定するようにしてもよい。
【０１４７】
このようにすれば、プロセス定義に分岐する遷移を含む場合に、各遷移ルートについて考慮し、占有すべき操作の実行を確実にすることができる。また、各遷移ルートについて考慮しても占有すべき操作がない場合には、共有して他のプロセス定義による操作を阻害しないで済む。
【０１４８】
更に、実行すべきアクティビティにより部品として特定されるプログラムを実行する処理と、実行されたアクティビティの次のアクティビティにより特定される装置が排他アクセス権を取得された装置ではない場合、又は実行されたアクティビティの次のアクティビティが存在しない場合に排他アクセス権を解放する処理とをコンピュータに実行させるようにしてもよい。
【０１４９】
このようにすれば、プロセス定義に特別な命令を組み込まなくても自動的に排他アクセス権を解放することができる。具体的には、操作の対象でなくなった装置についての排他アクセス権を適時解放することができる。
【０１５０】
更に、実行すべきアクティビティにより特定される装置の属性に基づいて、管理者による承認の要否を判定する第２の判定処理をコンピュータに実行させるようにしてもよい。
【０１５１】
このようにすれば、装置の特性に応じて管理者による承認の要否を決めることができるので、設計者が個別に承認の要否を判断して、プロセス定義に承認の操作を組み込まなくても済むようになる。
【０１５２】
第２の判定処理において、排他方式を占有モードに設定して排他アクセス権を取得する場合に、管理者による承認の要否を判定するようにしてもよい。
【０１５３】
このようにすれば、管理者が占有による影響を考慮する機会を自動的に設定できるようになる。
【０１５４】
更に、管理者による承認が要ると判定された場合に、管理者の端末に承認依頼を送信し、拒否の回答を受信した場合に、実行すべきアクティビティの実行は不可であると判定する処理をコンピュータに実行させるようにしてもよい。
【０１５５】
このようにすれば、管理者の判断を反映して、アクティビティの実行を中止することができる。
【０１５６】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【０１５７】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１５８】
（付記１）
コンピュータに、
ネットワークを介して操作する装置を示す情報を含む複数のアクティビティを含み、且つ当該複数のアクティビティ間を遷移する順序が規定されたプロセス定義に基づいて、実行すべきアクティビティを特定し、
前記実行すべきアクティビティが当該アクティビティにより特定される前記装置に対して前記順序のうち初回の操作を行うか否かを判定し、
前記実行すべきアクティビティが前記初回の操作を行う場合に、前記装置について排他アクセス権を取得する、
処理を実行させることを特徴とするプログラム。
【０１５９】
（付記２）
前記複数のアクティビティは、前記装置への操作を処理するプログラムである部品を示す情報を含み、
更に、前記排他アクセス権を取得してから解放するまでの排他範囲に含まれる一又は複数のアクティビティにより特定される前記部品の属性に基づいて、占有モード又は共有モードを判定する第１の判定処理を実行させ、
前記取得する処理において、前記占有モード又は前記共有モードに基づいて排他方式を設定して、前記装置について前記排他アクセス権を取得する
ことを特徴とする付記１記載のプログラム。
【０１６０】
（付記３）
前記第１の判定処理において、前記排他アクセス権を取得された前記装置以外の前記装置についてのアクティビティの直前のアクティビティ、又は終端の直前のアクティビティまでを排他範囲と判定する
ことを特徴とする付記２記載のプログラム。
【０１６１】
（付記４）
前記部品の前記属性は、前記部品で処理する前記操作が占有タイプであるか又は共有タイプであるかを示し、
前記第１の判定処理において、前記排他範囲に含まれる前記一又は複数のアクティビティにより特定される前記部品の前記属性のうちいずれかが前記占有タイプである場合に前記占有モードと判定し、前記部品の前記属性のうちいずれかが前記共有タイプであり且つ前記部品の前記属性のいずれも前記占有タイプでない場合に前記共有モードと判定する
ことを特徴とする付記２又は３記載のプログラム。
【０１６２】
（付記５）
更に、分岐する遷移を含む前記プロセス定義に基づいて、複数の遷移ルートを展開する処理を実行させ、
前記第１の判定処理において、前記遷移ルート毎に前記占有モード又は前記共有モードであるかを判定し、
前記取得する処理において、前記複数の遷移ルートのうちいずれかが前記占有モードである場合に、前記排他方式を前記占有モードに設定し、前記複数の遷移ルートのうちいずれかが前記共有モードであり且つ前記複数の遷移ルートのいずれも前記占有モードでない場合に、前記排他方式を前記共有モードに設定する
ことを特徴とする付記２乃至４のいずれか１つ記載のプログラム。
【０１６３】
（付記６）
更に、前記実行すべきアクティビティにより前記部品として特定される前記プログラムを実行し、
実行された前記アクティビティの次のアクティビティにより特定される前記装置が前記排他アクセス権を取得された前記装置ではない場合、又は実行された前記アクティビティの次のアクティビティが存在しない場合に前記排他アクセス権を解放する
処理を実行させることを特徴とする付記１乃至５のいずれか１つ記載のプログラム。
【０１６４】
（付記７）
更に、前記実行すべきアクティビティにより特定される前記装置の属性に基づいて、管理者による承認の要否を判定する第２の判定処理を実行させる
ことを特徴とする付記１乃至６のいずれか１つ記載のプログラム。
【０１６５】
（付記８）
前記第２の判定処理において、前記排他方式を前記占有モードに設定して前記排他アクセス権を取得する場合に、前記管理者による前記承認の要否を判定する
ことを特徴とする付記７記載のプログラム。
【０１６６】
（付記９）
更に、前記管理者による前記承認が要ると判定された場合に、前記管理者の端末に承認依頼を送信し、拒否の回答を受信した場合に、前記実行すべきアクティビティの実行は不可であると判定する処理を実行させる
ことを特徴とする付記７又は８記載のプログラム。
【０１６７】
（付記１０）
ネットワークを介して操作する装置を示す情報を含む複数のアクティビティを含み、且つ遷移する順序を付けるプロセス定義に基づいて、実行すべきアクティビティを特定し、
前記実行すべきアクティビティが当該アクティビティにより特定される前記装置に対して前記順序のうち初回の操作を行うか否かを判定し、
前記実行すべきアクティビティが前記初回の操作を行う場合に、前記装置について排他アクセス権を取得する
処理を含みコンピュータが実行することを特徴とするプロセス実行方法。
【０１６８】
（付記１１）
ネットワークを介して操作する装置を示す情報を含む複数のアクティビティを含み、且つ遷移する順序を付けるプロセス定義に基づいて、実行すべきアクティビティを特定する制御部と、
前記実行すべきアクティビティが当該アクティビティにより特定される前記装置に対して前記順序のうち初回の操作を行うか否かを判定する判定部と、
前記実行すべきアクティビティが前記初回の操作を行う場合に、前記装置について排他アクセス権を取得する取得部と
を有することを特徴とするプロセス実行コンピュータ。
【符号の説明】
【０１６９】
３０１  プロセス登録端末    ３０３  プロセス実行サーバ
３０５  操作対象システム    ３０７  管理者端末
４０１  格納部    ４０３  操作対象テーブル
４０５  部品テーブル    ４０７  編集部
４０９  送信部    ４１１  受信部
４１３  格納部    ２２０１  格納部
２２０３  部品テーブル    ２２０５  操作対象テーブル
２２０７  プロセス定義    ２２０９  遷移ルートテーブル
２２１１  制御部    ２２１３  展開部
２２１５  実行部    ２２１７  記憶部
２２１９  判定部    ２２２１  承認部
２２２３  中断部    ２２２５  取得部
２２２７  解放部
【図１】
2014010786.tif 000003
【図２】
2014010786.tif 000004
【図３】
2014010786.tif 000005
【図４】
2014010786.tif 000006
【図５】
2014010786.tif 000007
【図６】
2014010786.tif 000008
【図７】
2014010786.tif 000009
【図８】
2014010786.tif 000010
【図９】
2014010786.tif 000011
【図１０】
2014010786.tif 000012
【図１１】
2014010786.tif 000013
【図１２】
2014010786.tif 000014
【図１３】
2014010786.tif 000015
【図１４】
2014010786.tif 000016
【図１５】
2014010786.tif 000017
【図１６】
2014010786.tif 000018
【図１７】
2014010786.tif 000019
【図１８】
2014010786.tif 000020
【図１９】
2014010786.tif 000021
【図２０】
2014010786.tif 000022
【図２１】
2014010786.tif 000023
【図２２】
2014010786.tif 000024
【図２３】
2014010786.tif 000025
【図２４】
2014010786.tif 000026
【図２５】
2014010786.tif 000027
【図２６】
2014010786.tif 000028
【図２７】
2014010786.tif 000029
【図２８】
2014010786.tif 000030
【図２９】
2014010786.tif 000031
【図３０】
2014010786.tif 000032
【図３１】
2014010786.tif 000033
【図３２】
2014010786.tif 000034
【図３３】
2014010786.tif 000035
【図３４】
2014010786.tif 000036
【図３５】
2014010786.tif 000037
【図３６】
2014010786.tif 000038
【図３７】
2014010786.tif 000039
【図３８】
2014010786.tif 000040
【図３９】
2014010786.tif 000041
【図４０】
2014010786.tif 000042
【図４１】
2014010786.tif 000043
【図４２】
2014010786.tif 000044
【図４３】
2014010786.tif 000045
【図４４】
2014010786.tif 000046
【図４５】
2014010786.tif 000047
【図４６】
2014010786.tif 000048
【図４７】
2014010786.tif 000049
【図４８】
2014010786.tif 000050
【図４９】
2014010786.tif 000051
【図５０】
2014010786.tif 000052
【図５１】
2014010786.tif 000053
【図５２】
2014010786.tif 000054
【図５３】
2014010786.tif 000055
【図５４】
2014010786.tif 000056
【図５５】
2014010786.tif 000057
【図５６】
2014010786.tif 000058