【手続補正書】
【提出日】平成26年10月10日(2014.10.10)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
【図１】第１の実施の形態に係る運用システムの構成例および動作例を示す図である。
【図２】第２の実施の形態に係る運用システムの構成例を示す図である。
【図３】運用自動化サーバのハードウェア構成例を示す図である。
【図４】運用自動化サーバの処理機能の構成例を示すブロック図である。
【図５】運用自動化サーバの処理全体の例を示すフローチャートである。
【図６】ワークフローに定義されている運用操作部品のモデル化について説明するための図である。
【図７】同一の操作対象／同一の変数利用に基づいて排他区間を決定する処理について説明するための図である。
【図８】排他区間のロックの競合関係を説明するための図である。
【図９】排他区間の結合の例を示す図である。
【図１０】排他区間の分割の例を示す図である。
【図１１】最も大きい実行優先度を持つ排他区間の抽出処理、および次に実行させる排他区間の判断処理の例を示す図である。
【図１２】最も大きい実行優先度を持つ排他区間の抽出処理、および次に実行させる排他区間の判断処理の例を示す図である。
【図１３】ワークフロー実行中に実行優先度が変更された場合のワークフローの排他権（実行権）獲得例を示す図である。
【図１４】ワークフロー実行中に実行優先度が変更された場合のワークフローの排他権（実行権）獲得例を示す図である。
【図１５】排他区間の処理を中断させた場合の他の排他区間への影響について説明するための図である。
【図１６】ロールバック処理の手順を示す図である。
【図１７】ロールバック処理により他のワークフローの実行が再開される例を示す図である。
【図１８】人の承認処理待ちにより排他区間の処理が進行しなくなるケースについて説明するための図である。
【図１９】並列分岐の分岐先の処理で異常が発生した場合について説明するための図である。
【図２０】運用操作部品の実行が省略された場合のロールバック処理について説明するための図である。
【図２１】ワークフロー管理テーブルの例を示す図である。
【図２２】運用操作部品定義テーブルの例を示す図である。
【図２３】変数管理テーブルの例を示す図である。
【図２４】インスタンス管理テーブルの例を示す図である。
【図２５】排他情報管理テーブルの例を示す図である。
【図２６】排他獲得履歴テーブルの例を示す図である。
【図２７】ユーザ係数テーブルの例を示す図である。
【図２８】起動方式係数テーブルの例を示す図である。
【図２９】時間係数テーブルの例を示す図である。
【図３０】部品対定義テーブルの例を示す図である。
【図３１】ワークフロー実行部の処理例を示すフローチャートである。
【図３２】排他制御部の処理例を示すフローチャートである。
【図３３】ワークフロー開始時の排他制御処理の例を示すフローチャートである。
【図３４】排他情報の仮決定の処理例を示すフローチャートである。
【図３５】排他情報の実行優先度の計算処理例を示すフローチャートである。
【図３６】ワークフロー動作中の排他制御処理の例を示すフローチャートである。
【図３７】排他アクション決定処理の例を示すフローチャートである。
【図３８】計時処理の例を示すフローチャートである。
【図３９】応答情報受信時の処理例を示すフローチャートである。
【図４０】ロールバック処理の例を示すフローチャートである。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
グラフィック処理装置１０４には、表示装置１０４ａが接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像を表示装置１０４ａの画面に表示させる。表示装置１０４ａとしては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５７
【補正方法】変更
【補正の内容】
【００５７】
図７は、同一の操作対象／同一の変数利用に基づいて排他区間を決定する処理について説明するための図である。
図７（Ａ）において、運用操作部品２２−１，２３−１について、操作対象サーバは「サーバＡ」で同じであり、サービスも「サービスＸ」で同じである。この場合、排他制御部１１０は、運用操作部品２２−１，２３−１について［排他区間：Ａ＋Ｘ］と決定する。運用操作部品２４−１について、操作対象サーバはサーバＡである。この場合、排他制御部１１０は、運用操作部品２４−１について［排他区間：Ａ］と決定する。運用操作部品２５−１，２６−１について、操作対象サーバはサーバＢである。この場合、排他制御部１１０は、運用操作部品２５−１，２６−１について［排他区間：Ｂ］と決定する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００６０
【補正方法】変更
【補正の内容】
【００６０】
各排他区間におけるロックの競合関係は、排他区間名が以下のいずれかの場合である。
・排他を獲得する排他区間名が、排他獲得済みの排他区間名と少なくとも部分一致する。
・排他獲得済みの排他区間名が、排他を獲得する排他区間名と少なくとも部分一致する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６１
【補正方法】変更
【補正の内容】
【００６１】
従って、排他制御部１１０は、排他を獲得する排他区間名が、排他獲得済みの排他区間名と少なくとも部分一致するか、または、排他獲得済みの排他区間名が、排他を獲得する排他区間名と少なくとも部分一致するかを判定する。排他を獲得する排他区間名が、排他獲得済みの排他区間名と少なくとも部分一致すると判定した場合、排他制御部１１０は、排他ロックが競合関係にあると判定する。また、排他獲得済みの排他区間名が、排他を獲得する排他区間名と少なくとも部分一致すると判定した場合、排他制御部１１０は、排他ロックが競合関係にあると判定する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００７９
【補正方法】変更
【補正の内容】
【００７９】
上記（ＩＶ），（Ｖ）の処理について、以下の図１１〜図１６を用いて説明する。
図１１，図１２は、最も大きい実行優先度を持つ排他区間の抽出処理、および次に実行させる排他区間の判断処理の例を示す図である。図１１，図１２では、ワークフローＡ，Ｂ，Ｃを並列に実行させる場合について説明する。図１１，図１２の各ワークフローにおいて、下向きの三角マークは、現在の処理位置を示す。また、後述する排他権（実行権）を獲得している間、そのワークフローは、処理を実行することができる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１１２
【補正方法】変更
【補正の内容】
【０１１２】
ワークフロー管理テーブル１３１において、運用操作部品５３に対応する「バックアップ資源」の項目には、設定変更前のデータが格納されている。排他制御部１１０は、ワークフロー管理テーブル１３１から設定変更前のデータを読み出し、読み出したデータを操作対象に設定し直すという設定変更操作５３ａを実行する。これにより、操作対象の状態は運用操作部品５３の実行前の状態に戻る。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１４７
【補正方法】変更
【補正の内容】
【０１４７】
図２４は、インスタンス管理テーブルの例を示す図である。インスタンス管理テーブル１３４は、インスタンス単位で管理される情報が格納される。インスタンス管理テーブル１３４は、「インスタンスＮｏ．」、「ワークフローＮｏ．」、「部品Ｎｏ．（現在）」、「ホスト名」、「サービス名」、「ユーザＩＤ」、「起動方式係数」、「排他区間Ｎｏ．」および「完了予定時刻」の各データ項目を含む。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１４９
【補正方法】変更
【補正の内容】
【０１４９】
「ホスト名」には、ホストの名称が格納される。「サービス名」には、サービスの名称が格納される。「ユーザＩＤ」には、ユーザを識別する情報（ユーザＩＤ）が格納される。「起動方式係数」には、起動方式係数が格納される。「排他区間Ｎｏ．」には、排他区間を識別する番号が格納される。「完了予定時刻」には、ワークフローの完了予定時刻が格納される。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１５０
【補正方法】変更
【補正の内容】
【０１５０】
図２５は、排他情報管理テーブルの例を示す図である。排他情報管理テーブル１３５は、排他区間に関する情報を管理するためのテーブルである。排他情報管理テーブル１３５は、「排他区間Ｎｏ．」、「部品Ｎｏ．（ロック開始）」、「部品Ｎｏ．（ロック解除）」、「実行優先度」および「操作緊急度」の各データ項目を含む。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１５１
【補正方法】変更
【補正の内容】
【０１５１】
「排他区間Ｎｏ．」には、排他区間を識別する番号が格納される。「部品Ｎｏ．（ロック開始）」には、その排他区間の最初の運用操作部品を識別する番号が格納される。「部品Ｎｏ．（ロック解除）」には、その排他区間の最後の運用操作部品を識別する番号が格納される。「実行優先度」には、その排他区間の実行優先度が格納される。「操作緊急度」には、その排他区間の操作緊急度が格納される。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０１８１
【補正方法】変更
【補正の内容】
【０１８１】
［ステップＳ１０１］排他制御部１１０は、ワークフロー管理テーブル１３１から、実行対象のワークフローの運用操作部品の情報を取得する。
［ステップＳ１０２］排他制御部１１０は、運用操作部品定義テーブル１３２に基づいて、実行対象のワークフローに含まれる運用操作部品をモデル化する。すなわち、排他制御部１１０は、運用操作部品定義テーブル１３２に基づいて、実行対象のワークフローに含まれる運用操作部品を、対応する部品種別に変換する。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】０１９０
【補正方法】変更
【補正の内容】
【０１９０】
［ステップＳ１１１］排他制御部１１０は、インスタンス管理テーブル１３４およびユーザ係数テーブル１３７から、仮決定した排他区間に関する情報（ユーザ係数、起動方式係数、排他区間Ｎｏ．、完了予定時刻など）を取得する。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】０１９１
【補正方法】変更
【補正の内容】
【０１９１】
［ステップＳ１１２］排他制御部１１０は、運用操作部品定義テーブル１３２から、その排他区間Ｎｏ．に対応する排他区間に含まれる部品種別を取得する。
［ステップＳ１１３］排他制御部１１０は、運用操作部品定義テーブル１３２から、その排他Ｎｏ．に対応する排他区間に含まれる操作重要度情報を取得する。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】０１９７
【補正方法】変更
【補正の内容】
【０１９７】
図３７は、排他アクション決定処理の例を示すフローチャートである。この図３７の処理は、図３６のステップＳ１３５の処理に対応する。
［ステップＳ１４１］排他制御部１１０は、実行対象のワークフローについて仮決定した排他区間に関する情報と実行優先度情報を取得する。ここでは、排他制御部１１０は、インスタンス管理テーブル１３４から、実行対象のワークフローについて仮決定した排他区間に関する情報（排他区間Ｎｏ．など）を取得する。排他制御部１１０は、その排他区間Ｎｏ．をキーとして、排他情報管理テーブル１３５から実行優先度を取得する。
【手続補正１６】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のワークフローおよび第２のワークフローの実行を制御するためのワークフロー制御プログラムにおいて、
コンピュータに、
前記第１のワークフローの実行をモニタし、
前記第１のワークフローに含まれるいずれかの処理が中断したとき、前記第１のワークフローに含まれる処理のうち、当該中断した処理を含む、同一のリソースを用いた連続する処理列の、先頭の処理を特定し、
前記リソースの状態を前記先頭の処理の実行開始前の状態に戻し、
前記第２のワークフローに含まれる処理のうち、前記リソースを用いた処理の実行を開始する、
処理を実行させることを特徴とするワークフロー制御プログラム。
【請求項２】
前記コンピュータに、
前記第１のワークフローに含まれる処理のうち、入力操作の受け付け処理を含む処理の実行が、所定時間以内に完了しない場合に、当該処理の実行を中断する、
処理をさらに実行させることを特徴とする請求項１記載のワークフロー制御プログラム。
【請求項３】
前記コンピュータに、
前記第１のワークフローに含まれる処理それぞれについて、それぞれの処理の実行前における前記リソースの状態を示す情報を記憶部に記憶する、
処理をさらに実行させ、
前記リソースの状態を戻す処理では、前記連続する処理列に含まれる実行された処理それぞれの内容と、前記記憶部に記憶された、当該実行された処理それぞれの実行前における前記リソースの状態を示す情報とに基づいて、前記リソースの状態を前記先頭の処理の実行開始前の状態に戻す、
ことを特徴とする請求項１または２記載のワークフロー制御プログラム。
【請求項４】
前記リソースの状態を戻す処理では、前記連続する処理列に含まれる処理のうち、実行が中断した位置から前記先頭の処理までの処理それぞれについて、前記リソースの状態をそれぞれの処理の実行前の状態に戻すための状態復元処理を実行することを特徴とする請求項３記載のワークフロー制御プログラム。
【請求項５】
前記状態復元処理は、対応する処理に対して相反する処理であることを特徴とする請求項４記載のワークフロー制御プログラム。
【請求項６】
前記記憶部への記憶では、前記第１のワークフローに含まれる処理のうち、前記リソースに格納されたデータを更新する更新処理については、当該処理の実行前における前記リソースの状態を示す情報として、更新前のデータを前記記憶部に記憶し、
前記リソースの状態を戻す処理では、実行が中断した位置から前記先頭の処理までに前記更新処理が含まれる場合、前記記憶部から当該更新処理に対応する前記更新前のデータを読み出し、読み出した前記更新前のデータによって前記リソースに格納された更新後のデータを更新する処理を、当該更新処理に対応する前記状態復元処理として実行する、
ことを特徴とする請求項４記載のワークフロー制御プログラム。
【請求項７】
前記記憶部への記憶では、前記第１のワークフローに含まれる処理の中に、実行が省略された処理がある場合、当該処理について実行が省略されたことを前記記憶部に記憶し、
前記リソースの状態を戻す処理では、前記記憶部に記憶された情報に基づき、実行が中断した位置から前記先頭の処理までに実行が省略された処理がある場合には、当該処理に対応する前記状態復元処理をスキップする、
ことを特徴とする請求項４記載のワークフロー制御プログラム。
【請求項８】
前記記憶部への記憶では、前記第１のワークフローが第１のリソースを用いた処理と第２のリソースを用いた処理とを含む場合、前記第１のワークフローに含まれる前記第１のリソースを用いた処理それぞれについて、それぞれの処理の実行前における前記第１のリソースの状態を示す情報を前記記憶部に記憶するとともに、前記第１のワークフローに含まれる前記第２のリソースを用いた処理それぞれについて、それぞれの処理の実行前における前記第２のリソースの状態を示す情報を前記記憶部に記憶し、
前記リソースの状態を戻す処理では、前記第１のワークフローが並列分岐を含み、前記並列分岐による第１の分岐先に、前記第１のリソースを用いた第１の連続する処理列が含まれ、前記並列分岐による第２の分岐先に、前記第２のリソースを用いた第２の連続する処理列が含まれる場合に、前記第２の連続する処理列に含まれるいずれかの処理が中断したとき、前記記憶部に記憶された情報に基づいて、前記第１のリソースの状態と前記第２のリソースの状態とを前記並列分岐の実行開始前の状態に戻す、
ことを特徴とする請求項３記載のワークフロー制御プログラム。
【請求項９】
第１のワークフローおよび第２のワークフローの実行を制御するワークフロー制御装置において、
前記第１のワークフローを実行する第１の実行部と、
前記第１のワークフローの実行をモニタし、前記第１のワークフローに含まれるいずれかの処理が中断したとき、前記第１のワークフローに含まれる処理のうち、当該中断した処理を含む、同一のリソースを用いた連続する処理列の、先頭の処理を特定し、前記リソースの状態を前記先頭の処理の実行開始前の状態に戻すロールバック処理部と、
前記リソースの状態が前記先頭の処理の実行開始前の状態に戻ると、前記第２のワークフローに含まれる処理のうち、前記リソースを用いた処理の実行を開始する第２の実行部と、
を有することを特徴とするワークフロー制御装置。
【請求項１０】
第１のワークフローおよび第２のワークフローの実行を制御するワークフロー制御方法において、
コンピュータが、
前記第１のワークフローの実行をモニタし、
前記第１のワークフローに含まれるいずれかの処理が中断したとき、前記第１のワークフローに含まれる処理のうち、当該中断した処理を含む、同一のリソースを用いた連続する処理列の、先頭の処理を特定し、
前記リソースの状態を前記先頭の処理の実行開始前の状態に戻し、
前記第２のワークフローに含まれる処理のうち、前記リソースを用いた処理の実行を開始する、
ことを特徴とするワークフロー制御方法。
【手続補正１７】
【補正対象書類名】図面
【補正対象項目名】図１１
【補正方法】変更
【補正の内容】
【図１１】
2014191604.tif 000001
【手続補正１８】
【補正対象書類名】図面
【補正対象項目名】図１２
【補正方法】変更
【補正の内容】
【図１２】
2014191604.tif 000002
【手続補正１９】
【補正対象書類名】図面
【補正対象項目名】図２４
【補正方法】変更
【補正の内容】
【図２４】
2014191604.tif 000003
【手続補正２０】
【補正対象書類名】図面
【補正対象項目名】図２５
【補正方法】変更
【補正の内容】
【図２５】
2014191604.tif 000004