JP5891969B2 - 排他制御プログラム、該装置、及び該方法 - Google Patents

排他制御プログラム、該装置、及び該方法 Download PDF

Info

Publication number
JP5891969B2
JP5891969B2 JP2012142425A JP2012142425A JP5891969B2 JP 5891969 B2 JP5891969 B2 JP 5891969B2 JP 2012142425 A JP2012142425 A JP 2012142425A JP 2012142425 A JP2012142425 A JP 2012142425A JP 5891969 B2 JP5891969 B2 JP 5891969B2
Authority
JP
Japan
Prior art keywords
exclusive
workflow
information
section
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012142425A
Other languages
English (en)
Other versions
JP2014006740A (ja
Inventor
古川 正和
正和 古川
雄介 口脇
雄介 口脇
崇 池▲崎▼
崇 池▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012142425A priority Critical patent/JP5891969B2/ja
Priority to US13/854,306 priority patent/US9176791B2/en
Publication of JP2014006740A publication Critical patent/JP2014006740A/ja
Application granted granted Critical
Publication of JP5891969B2 publication Critical patent/JP5891969B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Description

本発明は、ワークフローシステムの排他制御に関する。
業務システムは、多数のIT機器(サーバ、ストレージ、ネットワークなど)が設置され、それらのIT機器に搭載されたオペレーティングシステム(OS)/ミドルウェア/アプリケーションによって構成されている。そのような業務システムが複数稼働している。データセンターは、それらの業務システムの監視や保守作業などの運用作業を行う。
運用作業を自動化する機器(Runbook Automation機器)は、自動化する運用作業を記述したワークフローを作成する。このとき、運用管理者は、複数のワークフローが同時に動作することを考慮して、ワークフローに排他区間を追加したり、ワークフローの動作順序を定義するスケジューリングをしたりすることで、排他制御をする。そのようなワークフローを自動で管理する技術として、次の技術がある。
例えば、コンピュータ・ソフトウェア・アプリケーションにおいて処理ノードによりメッセージを並行して処理するメッセージ・フローを管理する方法がある。処理ノードは、フロー・パスにおいて相互接続されたロック獲得ノード、システム・リソース・アクセス・ノード、及びロック解放ノードの少なくとも1つのセットを含む。そのようなセットでは、それらのノードがフロー・パスにおいて相互接続され、そのフロー・パスによって定義された順序でメッセージのそれぞれ1つが処理される。その処理は、ロック獲得ノードがそれぞれのメッセージを処理したことに応答して、そのセットのそれぞれのメッセージに対するシステム・リソースへのアクセスを排他的に許可する。そのセットのシステム・リソース・アクセス・ノードがメッセージを処理したことに応答して、そのメッセージに対するシステム・リソースがアクセスされる。そのメッセージに対するリソースのアクセスは、或るシステム状態の変更を含む。システム・リソースの排他的アクセスは、そのセットのロック解放ノードがメッセージを処理したことに応答して解放される。
特表2006−511857号公報
しかしながら、上記技術では、ワークフローの実行に伴って、各ワークフローが対象とする処理対象、資源、変数等が変化し、その変化に応じて、ワークフローの排他制御を行っていない。そのため、ワークフローの実行に伴って、各ワークフローが対象とする処理対象、資源、変数等が変化することを考慮して、人手で、ワークフローの排他設計を行っているが、すべての排他制御のパターンを網羅して排他設計を行うことは困難である。
そこで、1つの側面として、排他ロックを行う排他制御の単位を示す排他区間を動的に決定する排他制御プログラムを提供する。
一態様の排他制御プログラムは、コンピュータに次を実行させる。すなわち、コンピュータは、情報処理装置に対する操作を定義した操作情報を含む操作手順を示す複数のワークフロー情報それぞれの、少なくとも1つ以上の前記操作情報に対して、排他ロックを行う排他制御の単位を示す排他区間を設定する。コンピュータは、各ワークフロー情報の排他区間に対応する操作情報に基づく操作を実行させる場合に、操作情報の種別に応じた操作の重要度を示す操作重要度情報と、操作の操作緊急度を示す操作緊急度情報とを用いて、排他区間の優先度を算出する。コンピュータは、排他区間同士が排他ロックの競合関係にある場合、優先度に基づいて、ワークフロー情報間の排他区間の排他制御を行う処理を実行させる。優先度の算出において、各ワークフロー情報に含まれる操作情報に対応する操作重要度、ワークフロー情報によって示されるワークフローを開始させたユーザに応じて重みづけされた第1の値、ワークフローの開始の誘因に応じて重みづけされた第2の値、及びワークフローが完了するまでの残り時間に応じて重みづけされた第3の値が格納された関係情報格納部から、各ワークフロー情報に含まれる操作情報に対応する操作重要度を取得し、排他区間毎に該操作重要度を加算し、関係情報格納部から、ワークフローを開始させたユーザに対応する第1の値、ワークフローの開始の誘因に対応する第2の値、及びワークフローが完了するまでの残り時間に対応する第3の値を取得し、第1の値、第2の値、及び第3の値を乗じて、操作緊急度を算出し、排他区間毎に加算した操作重要度と操作緊急度を乗じて、優先度を算出する。
本実施形態の一側面によれば、排他ロックを行う排他制御の単位を示す排他区間を動的に決定することができる。
本実施形態の一側面における排他制御装置を示す。 本実施形態における運用システムの一例を示す。 本実施形態の全体の処理フローを示す。 本実施形態における、ワークフローA,Bに定義されている運用操作部品のモデル化について説明するための図である。 本実施形態における、同一の操作対象/同一の変数利用に基づいて、排他区間を決定する処理を説明するための図である。 本実施形態における、各運用操作部品で利用する資源の流れ(変数の受け渡し)に基づいて、排他区間を決定する処理を説明するための図である。 図5及び図6の場合の排他区間のロックの競合関係を説明するための図である。 本実施形態におけるワークフローの動作時の処理(S3)を行うフローチャートの一例である。 本実施形態における、異なる変数で設定した排他区間において、その変数が同じ値に変更された場合、その排他区間を結合することを説明するための図である。 本実施形態における、同じ変数で設定した排他区間において、変数の内容が変更された場合、排他区間を分割することについて説明するための図である。 本実施形態における、ワークフローの実行優先度の仮決定について説明するための図である。 実行中のワークフローのうち最も大きい実行優先度を持つ排他区間の抽出処理、及び次の運用操作部品を即時実行するか待たせるかを判断する処理について説明するための図(その1)である。 実行中のワークフローのうち最も大きい実行優先度を持つ排他区間の抽出処理、及び次の運用操作部品を即時実行するか待たせるかを判断する処理について説明するための図(その2)である。 実行中のワークフローのうち最も大きい実行優先度を持つ排他区間の抽出処理、及び次の運用操作部品を即時実行するか待たせるかを判断する処理について説明するための図(その3)である。 実行中のワークフローのうち最も大きい実行優先度を持つ排他区間の抽出処理、及び次の運用操作部品を即時実行するか待たせるかを判断する処理について説明するための図(その4)である。 ワークフロー実行中に実行優先度が変更された場合のワークフローの排他権(実行権)獲得例について説明するための図(その1)である。 ワークフロー実行中に実行優先度が変更された場合のワークフローの排他権(実行権)獲得例について説明するための図(その2)である。 本実施形態におけるワークフローの実行履歴の表示について説明するための図である。 本実施形態における端末の画面の表示例を示す。 本実施形態の実施例における、運用システムを示す。 本実施形態の実施例における、運用自動化サーバを示す。 本実施形態の実施例におけるワークフロー管理テーブルの一例を示す。 本実施形態の実施例における運用操作部品定義テーブルの一例を示す。 本実施形態の実施例における変数管理テーブルの一例を示す。 本実施形態の実施例におけるインスタンス管理テーブルの一例を示す。 本実施形態の実施例における排他情報管理テーブルの一例を示す。 本実施形態の実施例における排他情報管理テーブルの一例を示す。 本実施形態の実施例におけるユーザ係数テーブルの一例を示す。 本実施形態の実施例における起動方式係数テーブルの一例を示す。 本実施形態の実施例における時間係数テーブルの一例を示す。 本実施形態の実施例におけるワークフロー実行部による処理フローの一例を示す。 本実施形態の実施例における排他制御部の全体の処理フローの一例を示す。 本実施形態の実施例におけるワークフロー開始時の排他制御処理(S54)のフローを示す 本実施形態の実施例における排他情報仮決定処理のフローを示す。 本実施形態の実施例における排他情報の実行優先度計算処理のフローを示す。 本実施形態の実施例におけるワークフロー動作中の排他制御処理(S55)のフローを示す。 本実施形態の実施例における排他アクション決定処理のフローを示す。 本実施形態の実施例における画面表示のフローを示す。 本実施形態の一実施例に係るコンピュータのハードウェア環境の構成ブロック図である。
データセンターにおける運用管理作業は多種多様にわたるため、多数のワークフローが同時に動作することがある。多数のワークフローが同時に動作したとしても、操作内容の整合性が保たれる必要がある。運用管理者は、多数のワークフローが同時に動作した場合、ワークフローの完了予定時間や操作内容の整合性、データの整合性を考慮してワークフローの設計やスケジューリングを行う。
しかし、運用管理者がワークフローの作成時に排他区間を設定することは、以下の理由により困難である。ここで、排他区間とは、ワークフローにおいて、排他制御を行う所定の区間をいう。排他制御とは、複数のワークフローが同時に動作して、共通の資源等を同時に使用すると競合関係になる場合に、いずれかのワークフローを優先して動作させ、その他のワークフローを処理待ち状態にして、競合を回避させることをいう。
第1の理由として、排他区間の設計負荷が大きいことが挙げられる。運用管理者には、オンデマンドに動作するワークフローの同時実行性をすべて考慮することが要求される。そのため、排他区間の設計には多大な時間と労力が要求される。また、ワークフローの動作時に操作対象や利用する資源が決定されることが多いため、すべてのパターンを網羅した排他区間の設計は困難である。また、人による排他区間の設計のため、排他制御の設定に漏れがあったり、デッドロック等の排他制御のミスが発生しやすい。また、ワークフローを追加した場合、すべてのワークフローの排他区間を見直した上で、排他区間を再度設計する必要がある。
第2の理由として、最新の情報が取得できないことが挙げられる。例えば、ワークフローAがサーバAの情報を取得した後に、ワークフローBがサーバAを操作する場合、ワークフローAの情報が古くなってしまう。ワークフローAがサーバAの最新の情報を得るには、再度情報の取得を行う必要があり効率が悪い。
第3の理由として、ワークフロー作成時の排他区間の設計により運用作業全体の効率が低下することが挙げられる。人による排他区間の設計では、ワークフローに不要な排他区間を設定することが考えられる。その結果、運用作業が遅延する恐れがある。すなわち、あるワークフローは、他のワークフローの実行状況に関係なく排他獲得を行うため、状況に応じて排他獲得の順序を変更することができず、運用作業全体の効率が低下する。ここで、排他獲得とは、複数のワークフローが同時に動作して、共通の資源等を同時に使用すると競合関係になる場合に、いずれかのワークフローが優先して動作することをいう。この場合、その他のワークフローは、その動作しているワークフローの所定の動作が完了するまで処理待ち状態になる。
第4の理由として、排他制御のミス発生時の影響範囲が大きいことが挙げられる。排他制御のミスが発生すると、関連する多くの業務(プロセス)を停止し、復旧対応が必要になるため、影響が広範囲に及ぶ。
そこで、本実施形態では、ワークフローの実行時に起動状況や進捗状況に応じて適切な排他区間を動的に決定する。
図1は、本実施形態の一側面における排他制御装置を示す。排他制御装置1は、設定部3、算出部4、排他実行部5を含む。
設定部3は、情報処理装置に対する操作を定義した操作情報を含む操作手順を示す複数のワークフロー情報それぞれの、少なくとも1つ以上の前記操作情報に対して、排他ロックを行う排他制御の単位を示す排他区間を設定する。設定部3の一例としては、設定部14が挙げられる。
算出部4は、各ワークフロー情報の排他区間に対応する操作情報に基づく操作を実行させる場合に、操作情報の種別に応じた操作の重要度を示す操作重要度情報と、操作の緊急度を示す操作緊急度情報とを用いて、排他区間の優先度を算出する。算出部4の一例としては、設定部14が挙げられる。
排他実行部5は、排他区間同士が排他ロックの競合関係にある場合、優先度に基づいて、ワークフロー間の排他区間の排他制御を行う。排他実行部5の一例としては、設定部14が挙げられる。
このように構成することにより、排他ロックを行う排他制御の単位を示す排他区間を動的に決定することができる。
設定部3は、操作情報の操作対象、操作対象及び操作対象への入力情報、または操作情報間で受け渡される変数に応じて、少なくとも1つ以上の操作情報に対して、排他区間を設定する。具体的には、設定部3は、次の場合に、操作情報をグループ化する。すなわち、各ワークフロー情報の連続する操作情報のうち、操作対象が同じ場合、操作対象及び操作対象への入力情報が同じ場合、または操作情報のうちのいずれかの操作情報で出力された変数が他の操作情報の入力情報となっている場合である。設定部3は、グループ化した操作情報に対して、排他区間を設定する。このように構成することにより、排他区間を決定することができる。
また、設定部3は、連続する排他区間において、排他区間に含まれる操作にて用いる変数の値が同じ場合、排他区間を結合する。設定部3は、排他区間に含まれる操作により、排他区間にて用いる変数の値が変更された場合、排他区間を分割する。
排他制御装置1は、さらに、関係情報格納部6を含む。関係情報格納部6は、操作重要度、第1の値、第2の値、及び第3の値が格納されている。操作重要度は、取得した各ワークフローに含まれる前記操作情報に対応する情報である。第1の値は、ワークフローを開始させたユーザに応じて重みづけされた値である。第2の値は、ワークフローの開始の誘因に応じて重みづけされた値である。第3の値は、ワークフローが完了するまでの残り時間に応じて重みづけされた値である。関係情報格納部6の一例としては、格納部17、データベース(BD)51が挙げられる。
算出部4は、関係情報格納部6から、各ワークフローに含まれる操作情報に対応する操作重要度を取得する。算出部4は、排他区間毎に操作重要度を加算する。算出部4は、関係情報格納部から、ワークフローを開始させたユーザに対応する第1の値、ワークフローの開始の誘因に対応する第2の値、及びワークフローが完了するまでの残り時間に対応する第3の値を取得する。算出部4は、第1の値、第2の値、及び第3の値を乗じて、操作緊急度を算出する。算出部4は、排他区間毎に加算した操作重要度と操作緊急度を乗じて、優先度を算出する。
このように構成することにより、優先度を算出することができる。
排他実行部5は、操作指示部8に対して、優先度の最も高い排他区間を有するワークフロー情報のワークフローを実行する旨の通知を行う。操作指示部8は、情報処理装置に対して操作指示をする。操作指示部8の一例としては、ワークフロー実行部16が挙げられる。
このように構成することにより、排他権を獲得したワークフローを実行させ、排他権を獲得していないワークフローを実行させないようにすることにより、排他制御を行うことができる。
排他制御装置1は、さらに、表示制御部7を含む。表示制御部7は、排他制御に基づいて、排他制御された排他区間及び排他制御される排他区間を示す情報を出力する。表示制御部7の一例として、表示制御部15が挙げられる。
このように構成することにより、予測に基づいた排他制御及び排他履歴を表示させることができる。
図2は、本実施形態における運用システムの一例を示す。運用システムは、運用自動化サーバ11、業務サーバ18を含む。業務サーバ18は、各種の業務処理を実行する。運用自動化サーバ11は、業務サーバ18の運用を自動化して管理する。
運用自動化サーバ11は、排他制御部12、ワークフロー実行部16、格納部17を含む。ワークフロー実行部16は、排他制御部12による制御に基づいて、ワークフローを実行する。格納部17には、ワークフローに関するデータ、後述するテーブル情報等が格納されている。
排他制御部12は、排他区間の動的な決定、未来を予測した操作優先度に従った処理順番の制御、ワークフローの実行履歴の表示制御を行う。排他制御部12は、モデル化部13、設定部14、表示制御部15を含む。
・排他区間の動的な決定
排他制御部12は、ワークフローの動作開始時に運用操作部品の種類と、利用している資源(操作対象や変数)とから排他区間を仮決定する。排他制御部12は、仮決定した排他区間を基準として、ワークフローの動作中に他のワークフローの実行状況と排他状況を考慮して排他区間を動的に決定する。ここで、運用操作部品とは、ワークフローを構成する各処理を業務サーバ18に自動的に実行させるように、業務サーバ18に対する運用操作を自動的に実行するよう記述したスクリプトである。
・未来を予測した操作優先度に従った処理順番の制御
排他制御部12は、排他を獲得する際に、獲得済みの排他と、排他を獲得していない他のワークフローの排他取得予定情報、実行優先度を考慮することで、予測に基づいた排他制御を行う。そのために、排他制御部12は、ワークフローの作業の順序を適宜変更する。
・ワークフローの実行履歴を表示
排他制御部12(表示制御部15)は、動的に決定した排他区間および排他の制御状態(獲得している排他や待ち時間)を記憶装置に記録して、表示装置に表示する。これにより、ユーザは、排他の実行状況を容易に確認することが可能になる。
図3は、本実施形態の全体の処理フローを示す。運用自動化サーバ11へのワークフローの登録時に、排他制御部12は、モデル化処理(S1)、排他区間の初期設定処理(S2)を行う。ワークフローの動作時に、排他制御部12は、排他区間の再設定処理(S3)を行う。以下では、ワークフローの登録時の処理及び動作時の処理について説明する。
<ワークフロー登録時の処理>
ワークフローが運用自動化サーバ11に登録される際に、モデル化部13、設定部14は以下の処理を実行する。
モデル化処理(S1)では、次の処理が行われる。モデル化部13は、登録されたワークフローの運用操作部品の内容に基づいて、運用操作部品をグループ分けし、操作重要度を定義する(S1)。例えば、モデル化部13は、業務システムへの情報の登録、ネットワークの設定などの設定系の運用操作部品の操作重要度を、「高(または「1」)」に設定する。また、モデル化部13は、OSの再起動、サービスの起動などの設定系の運用操作部品の操作重要度を、例えば、「中(または「2」)」に設定する。また、モデル化部13は、サーバ/サービスの状態確認などの参照・確認・通知系の運用操作部品の操作重要度を、例えば、「低」に設定する。これにより、図3及び図4で説明するように、ワークフローに定義されている運用操作部品をモデル化することができる。モデル化したワークフローによって、各運用操作部品の操作重要度が決定される。
図4は、本実施形態における、ワークフローA,Bに定義されている運用操作部品のモデル化について説明するための図である。例えば、ワークフローAには、「操作対象、資源の取得」21、「サービスの停止」22、「サービスの停止確認」23、「サーバ停止」24、「サーバ起動」25、「サーバの起動確認」26、「エラー通知メール」27,28の運用操作部品が定義されている。例えば、ワークフローBには、「操作対象、資源の取得」31、「ソフトウェアのインストール」32、「情報登録」33、「サーバ再起動」34、「サーバの起動確認」35、「メール送信」36、「エラー通知メール」37の運用操作部品が定義されている。
モデル化部13によりワークフローAがモデル化されると、「操作対象、資源の取得」21は、「参照系」21−1にモデル化され、重要度:1が設定される。「サービスの停止」22は、「操作系」22−1にモデル化され、重要度:2が設定される。「サービスの停止確認」23は、「参照系」23−1にモデル化され、重要度:1が設定される。「サーバ停止」24は、「操作系」24−1にモデル化され、重要度:2が設定される。「サーバ起動」25は、「操作系」25−1にモデル化され、重要度:2が設定される。「サーバの起動確認」26は、「参照系」26−1にモデル化され、重要度:1が設定される。「エラー通知メール」27,28は、通知系27−1,28−1にモデル化される。
モデル化部13によりワークフローBがモデル化されると、「操作対象、資源の取得」31は、「参照系」31−1にモデル化され、重要度:1が設定される。「ソフトウェアのインストール」32は、「参照系」32−1にモデル化され、重要度:3が設定される。「情報登録」33は、「設定系」33−1にモデル化され、重要度:3が設定される。「サーバ再起動」34は、「操作系」34−1にモデル化され、重要度:2が設定される。「サーバの起動確認」35は、「参照系」35−1にモデル化され、重要度:1が設定される。「メール送信」36及び「エラー通知メール」37は、「通知系」36−1,37−1にモデル化される。
次に、排他区間の初期設定処理(S2)では、次の処理が行われる。設定部14は、図5、図6で説明するように、(i)同一の操作対象/同一の変数利用、及び(ii)各運用操作部品で利用する資源の流れ(変数の受け渡し)に基づいて、排他区間を自動的に決定する。具体的には、設定部14は、連続する運用操作部品について、操作対象サーバが同じか否か、または操作対象サーバと操作内容(サービス、インストールするソフトウェア)が同じか否かに基づいて、排他区間を決定する。なお、[排他区間:A]の“A”を「排他区間名」と定義する。
例えば、操作対象がサーバAの区間は、[排他区間:A]で定義される。操作対象がサーバBの区間は、[排他区間:B]で定義される。また、[排他区間:A]において、ServiceXに対する操作の区間は[排他区間:A+X]で定義される。また、[排他区間:A]において、InstallSoftYに対する操作の区間は[排他区間:A+Y]で定義される。また、運用操作部品の出力情報が後続の運用操作部品の入力となっている区間は、[排他区間:C]される。
図5は、本実施形態における、同一の操作対象/同一の変数利用に基づいて、排他区間を決定する処理を説明するための図である。図5(A)において、運用操作部品22−1,23−1について、操作対象サーバは、「サーバA」で同じであり、サービスも「サービスX」で同じである。この場合、設定部14は、運用操作部品22−1,23−1について、[排他区間:A+X]と決定する。
運用操作部品24−1について、操作対象サーバは、サーバAである。この場合、設定部14は、運用操作部品24−1について、[排他区間:A]と決定する。
運用操作部品25−1,25−6について、操作対象サーバは、サーバBである。この場合、設定部14は、運用操作部品25−1,25−6について、[排他区間:B]と決定する。
図6は、本実施形態における、各運用操作部品で利用する資源の流れ(変数の受け渡し)に基づいて、排他区間を決定する処理を説明するための図である。設定部14は、運用操作部品の出力値が後続の運用操作部品の入力値になっているか否かに基づいて、排他制御の範囲を選定する。
図6に示すように、サーバCから取得したイベントログ(ログ情報)がデータベース(DB)サーバに格納される場合、設定部14は、その区間について[排他区間:C]と定義する。
各排他区間におけるロックの競合関係は、排他区間名が以下のいずれかの場合である。
・排他を獲得する排他区間名が、排他獲得済みの排他区間名と部分一致する。
・排他獲得済みの排他区間名が、排他を獲得する排他区間名と部分一致する。
したがって、設定部14は、排他を獲得する排他区間名が、排他獲得済みの排他区間名と部分一致するか、または排他獲得済みの排他区間名が、排他を獲得する排他区間名と部分一致するかを判定する。排他を獲得する排他区間名が、排他獲得済みの排他区間名と部分一致すると判定した場合、設定部14は、排他ロックが競合関係にあると判定する。また排他獲得済みの排他区間名が、排他を獲得する排他区間名と部分一致すると判定した場合、設定部14は、排他ロックが競合関係にあると判定する。
図7は、図5及び図6の場合の排他区間のロックの競合関係を説明するための図である。例えば、排他獲得済みの排他区間が[排他区間:A]の場合であって、排他を獲得する排他区間が[排他区間:A]、[排他区間: A+X]または[排他区間: A+Y]の場合、排他ロックは競合関係になる。一方、排他獲得済みの排他区間が[排他区間:A]の場合であって、排他を獲得する排他区間が[排他区間:B]、または[排他区間:C]の場合、排他ロックは競合関係にならない。
<ワークフローの動作時の処理>
次に、ワークフローの動作時の処理について説明する。
図8は、本実施形態におけるワークフローの動作時の処理(S3)を行うフローチャートの一例である。図8は、図2のS3の詳細なフローを示す。ワークフローが起動すると(S3−1)、排他制御部12は、ワークフローの内容を取得し、分析する(S3−2)。起動したワークフロー中の運用操作部品が実行される場合(S3−3で「No」)、排他制御部12は、起動したワークフローにおいて、排他区間の調整及び決定を行う(S3−4)。そして、排他制御部12は、動作中のワークフローにおいて、排他区間の調整及び決定を行う(S3−5)。ワークフロー実行部16は、その調整及び決定結果に基づいて、運用操作部品を実行するように、業務サーバ18に命令する(S3−6)。すべての運用操作部品について、S3−4〜S3−6の処理が行われる。
図8のS3−2,S3−4,S3−5に関して、以下に詳細を示す。
(1)ワークフローの内容を取得・分析の詳細
ワークフロー起動時に、排他制御部12は、実行優先度を以下の処理を行って決定する。まず、排他制御部12は、予め運用自動化サーバ11の記憶装置に登録された、ワークフローに定義されている運用操作部品及び利用する資源の情報を取得する。次に、排他制御部12は、各運用操作部品で利用する資源の情報(操作対象の情報/変数の内容)に基づいて、図2のS2を再度実施し、次の場合に排他区間を再設定する。すなわち、排他制御部12は、異なる変数が入力される排他区間において、その変数が同じ値に変更された場合にはその排他区間を結合する。また、排他制御部12は、同じ変数で設定した排他区間において、その変数の内容が変更された場合にその排他区間を分割する。
図9は、本実施形態における、異なる変数で設定した排他区間において、その変数が同じ値に変更された場合、その排他区間を結合することを説明するための図である。排他区間の結合前では、運用操作部品22−1〜24−1については、[排他区間:A]が設定され、運用操作部品25−1〜26−1については、[排他区間:B]が設定されている。
その後、ワークフローが実行されて、変数の値に変化が生じたとする。運用操作部品22−1〜24−1に設定された変数Aの値は「ServerA」である。運用操作部品25−1〜26−1に設定された変数Bの値は「ServerB」である。この場合、隣接する[排他区間:A]と[排他区間:B]において、変数Aの値と変数Bの値が同じなので、[排他区間:A]と[排他区間:B]を結合し、[排他区間:A]とする。
図10は、本実施形態における、同じ変数で設定した排他区間において、変数の内容が変更された場合、排他区間を分割することについて説明するための図である。排他区間の分割前では、運用操作部品22−1〜26−1については、[排他区間:A]が設定されている。
その後、ワークフローが実行されて、変数の値に変化が生じたとする。運用操作部品22−1〜23−1に設定された変数Aの値は「ServerA」である。運用操作部品24−1〜26−1に設定された変数Aの値は「ServerB」である。この場合、運用操作部品22−1〜23−1と運用操作部品24−1〜26−1の間で、変数Aの値が異なるので、[排他区間:A]を分割し、[排他区間:A]と[排他区間:B]を形成する。
次に、排他制御部12は、以下の式(1)に従い、ワークフローを起動したユーザと、ワークフローの起動の仕方と、完了予定時間までの残り時間とに応じて、操作緊急度を決定する。
操作緊急度 =ユーザ係数×起動方式係数×時間係数 (1)
ユーザ係数は、ワークフローを起動したユーザのユーザ係数である。ユーザ係数の例としては、例えば、管理者ユーザの場合には、ユーザ係数=3.0が設定される。一般ユーザの場合には、ユーザ係数=2.0が設定される。
起動方式係数としては、例えば、ワークフローの起動が手動起動の場合には起動方式係数=2.0が設定される。ワークフローの起動が時間指定によるスケジュール起動の場合には起動方式係数=1.0が設定される。ワークフローの起動が監視製品からの通知による起動の場合には起動方式係数= 3.0が設定される。
時間係数としては、例えば、完了予定時間までの残り時間10分以内の場合には時間係数=2.0が設定される。 完了予定時間までの残り時間20分以内の場合には時間係数=1.5が設定される。それ以外、または、完了予定時間指定なしの場合には時間係数=1.0が設定される。
次に、排他制御部12は、以下の式(2)に従い、ワークフローの実行優先度を仮決定する。
実行優先度 = Σ操作重要度 × 操作緊急度 (2)
図11は、本実施形態における、ワークフローの実行優先度の仮決定について説明するための図である。ワークフローAについて、例えば、ユーザ係数:2.0、起動方式係数:1.0、時間係数:1.5が設定されているとする。運用操作部品22−1の操作重要度は、「2」であり、運用操作部品23−1の操作重要度は、「1」であるから、Σ操作重要度 = 2 + 1 = 3となる。式(1)より、操作緊急度 = 2.0 × 1.0 ×1.5 = 3.0が算出される。よって、式(2)より、実行優先度は、3.0×3.0=9.0となる。
(2)ワークフローの動作中に仮決定されたワークフローの排他区間の調整・決定
次に、排他制御部12は、ワークフローの動作中に仮決定されたワークフローの排他区間の調整・決定を行う。ワークフローが動作した場合、排他制御部12は、ワークフローの分岐や運用操作部品の処理結果によって、実行優先度を変更する。また、排他制御部12は、実行優先度に応じて、実行している運用操作部品の次の運用操作部品を、即時実行させるか待たせるかを決定する。これらの処理は、以下の手順(I)〜(V)により実行される。
(I)排他制御部12は、ワークフロー実行部16から所定の通知を受信する。
(II)排他制御部12は、前述した「(1)ワークフローの内容を取得・分析の詳細」の処理を実施し、排他区間と実行優先度を決定し直す。
(III)排他制御部12は、上記(II)で再決定した排他区間と実行優先度を記憶装置に格納する。
(IV)排他制御部12は、実行中のワークフローのうち、最も大きい実行優先度を持つ排他区間を抽出する。
(V)排他制御部12は、次の運用操作部品を即時実行するか待たせるかを判断する。ここでは、排他制御部12は、対象となるワークフローの排他取得が決定した場合、運用操作部品を実行する。他のワークフローの排他取得が優先となった場合、排他制御部12は、その実行作業を遅延させる。
上記(IV)(V)の処理について、図12〜図17を用いて説明する。
図12〜図15は、実行中のワークフローのうち最も大きい実行優先度を持つ排他区間の抽出処理、及び次の運用操作部品を即時実行するか待たせるかを判断する処理について説明するための図である。図12〜図15では、ワークフローA,B,Cを並列に実行させる場合について説明する。図12〜図15の各ワークフローにおいて、下向きの三角マークは、現在の処理位置を示す。また、後述する排他権(実行権)を獲得している間、そのワークフローは、処理を実行することができる。
図12において、ワークフローAの[排他区間:A+X]について処理しようとした場合、ワークフローCの[排他区間:A+X]の実行優先度が高いため、ワークフローAはワークフローCの排他が解放されるまで待ち状態になる(S11)。
ワークフローBの[排他区間:A+Y]は[排他区間:A+X]と競合関係にないため、ワークフローBは排他権(実行権)を獲得する(S12)。
ワークフローCの[排他区間:A+X]については、現時点でのワークフローA,B,Cの排他区間で、最も実行優先度が高いため、ワークフローCは、排他権(実行権)を獲得する(S13)。
図13に示すように、ワークフローCの[排他区間:A+X]の処理が完了した場合、[排他区間:A+X]の排他状態が解放される。その結果、ワークフローAの[排他区間:A+X]が最も実行優先度が高いため、ワークフローAは、排他権(実行権)する(S14)。
ワークフローCの[排他区間:A]について、ワークフローCは、ワークフローAの[排他区間:A+X]の排他状態が解放されるまで、ワークフローCは、待ち状態になる(S15)。
図14に示すように、ワークフローAの[排他区間]:A+X]の処理が完了した場合、[排他区間:A+X]の排他状態が解放される。それから、ワークフローBとCの[排他区間:A]において、実行優先度が同じ場合、管理者権限のため(すなわち、ユーザ係数が最も大きいため)、ワークフローCが優先して排他権(実行権)を獲得する(S16)。
ワークフローA,Bの[排他区間:A]について、ワークフローCの[排他区間:A]の排他状態が解放されるまで、ワークフローA,Bは、待ち状態になる(S17)。
図15に示すように、ワークフローCの[排他区間:A]の処理が完了した場合、[排他区間:A]の排他状態が解放される。その結果、ワークフローBの[排他区間:A]が最も実行優先度が高いため、ワークフローBは排他権(実行権)を獲得する(S18)。
ワークフローAの[排他区間:A]について、ワークフローBの[排他区間:A]の排他状態が解放されるまで、ワークフローAは待ち状態になる(S19)。
次に、ワークフロー実行中に実行優先度が変更された場合のワークフローの排他権(実行権)獲得例について説明する。
図16及び図17は、ワークフロー実行中に実行優先度が変更された場合のワークフローの排他権(実行権)獲得例について説明するための図である。
図16に示すように、ワークフローAの[排他区間:A]について、ワークフローAが排他権(実行権)を獲得した場合、ワークフローBは[排他区間:A]の排他権(実行権)の獲得前であるが、ワークフローBの実行優先度が最も高い。このため、ワークフローAの[排他区間:A]について、ワークフローBの[排他区間:A]についてワークフローBが排他権(実行権)の獲得後、排他状態が解放されるまで、ワークフローAは待ち状態となる(S21)。
図17に示すように、時間経過により、時間係数が変化する。その結果、ワークフローAの[排他区間:A]の実行優先度が変更する(S22)。すると、ワークフローAの[排他区間:A]の実行優先度が最も高くなるため、ワークフローAは、排他権(実行権)を獲得して処理を行う(S23)。
<ワークフローの実行履歴の表示>
図18は、本実施形態におけるワークフローの実行履歴の表示について説明するための図である。排他制御部12は、動的に決定した排他区間および排他の制御状態(獲得している排他権(実行権)や待ち時間)をデータベースに記録する(S31)。
排他制御部12は、記録した排他区間および排他の制御状態を、パーソナルコンピュータ等の端末装置41に通知する(S32)。これにより、利用者は端末装置41から排他の実行状況を容易に確認することが可能になる。
図19は、本実施形態における端末の画面の表示例を示す。図19に示すように、各ワークフローにおいて、獲得した排他権による排他済状態(実行済状態)、排他権未獲得の排他区間、排他解放待ち状態が端末の画面に表示される。
以下では、本実施形態の実施例をより具体的に説明する。
図20は、本実施形態の実施例における、運用システムを示す。運用システムは、運用自動化サーバ11、1以上の業務サーバ18を含む。業務サーバ18は、業務サーバA(18−1),B(18−2),C(18−3)を含む。業務サーバA(18−1),B(18−2),C(18−3)は、各種の業務処理を実行する。運用自動化サーバ11は、業務サーバA(18−1),B(18−2),C(18−3)の運用を自動化して管理するサーバである。
図21は、本実施形態の実施例における、運用自動化サーバを示す。運用自動化サーバ11は、排他制御部12、ワークフロー実行部16(16−1,16−2,16−3)、データベース(DB)51を含む。
ワークフロー実行部16は、どのような排他制御を行うかを排他制御部12に問い合わせ(Check)、排他制御部12からの応答(Action)に基づいて、業務サーバ18(18−1,18−2,18−3)にワークフローに基づいた処理を実行させる。
排他制御部12は、各ワークフロー実行部16(16−1,16−2,16−3)からの問い合わせ(Check)に基づいて、ワークフローの排他制御を行い、ワークフロー実行部16(16−1,16−2,16−3)の動作を制御する(Action)。
DB51は、ワークフロー管理テーブル61、運用操作部品定義テーブル62、変数管理テーブル63、インスタンス管理テーブル64、排他情報管理テーブル65、排他獲得履歴テーブル66を格納する。さらに、DB51は、ユーザ係数テーブル67、起動方式係数テーブル68、時間係数テーブル69を格納する。
図22は、本実施形態の実施例におけるワークフロー管理テーブルの一例を示す。ワークフロー管理テーブル61は、各ワークフローに含まれる運用操作部品を管理するテーブルであり、ワークフローの登録時に生成される。
ワークフロー管理テーブル61は、「ワークフローNo.」61−1、「部品No.」61−2、「運用操作部品名」61−3、「操作対象」61−4、「操作サービス、資源」61−5、「出力」61−6、「次の部品No.」61−7のデータ項目を含む。
「ワークフローNo.」61−1には、ワークフローを識別する番号が格納される。「部品No.」61−2には、そのワークフローにおける運用操作部品の番号が格納される。「運用操作部品名」61−3には、運用操作部品の名称(操作内容)が格納される。
「操作対象」61−4には、操作対象となるサーバ、デバイス等の名称に対応する変数が入力値として格納される。「操作サービス、資源」61−5には、操作するサービス名、資源名に対応する変数が入力値として格納される。「出力」61−6には、出力値が設定される変数が格納される。「次の部品No.」61−7には、そのワークフローにおいて、次に実行する運用操作部品の部品No.が格納される。
図23は、本実施形態の実施例における運用操作部品定義テーブルの一例を示す。運用操作部品定義テーブル62は、運用操作部品の定義情報が予め格納されている。運用操作部品定義テーブル62は、「運用操作部品名」62−1、「部品種別」62−2、「操作/確認対象」62−3、「操作重要度」62−4のデータ項目を含む。
「運用操作部品名」62−1には、運用操作部品の名称(操作内容)が格納される。「部品種別」62−2には、運用操作部品の種別(操作系部品、確認系部品、通知系部品、設定系部品等)が格納される。「操作/確認対象」62−3には、その運用操作部品の操作の対象または確認の対象が格納される。「操作重要度」62−4には、その運用操作部品の操作重要度が格納される。
図24は、本実施形態の実施例における変数管理テーブルの一例を示す。変数管理テーブル63は、定義されたワークフロー情報の実体を識別する情報であるインスタンスで利用される変数名及び変数値を管理する。変数管理テーブル63は、「インスタンスNo.」63−1、「ワークフロー」63−2、「変数名」63−3、「変数値」63−4のデータ項目を含む。
「インスタンスNo.」63−1には、定義されたワークフロー情報の実体を示すインスタンスを識別するNo.が格納される。「ワークフローNo.」63−2には、ワークフローNo.が格納される。「変数名」63−3には、変数名が格納される。「変数値」63−4には、その変数に設定されている値が格納される。
図25は、本実施形態の実施例におけるインスタンス管理テーブルの一例を示す。インスタンス管理テーブル64は、インスタンス単位で管理する情報が格納される。インスタンス管理テーブル64は、「インスタンスNo.」64−1、「ワークフローNo.」64−2、「部品No.(現在)」64−3、「ホスト名」64−4、「サービス名」64−5、「ユーザID」64−6、「起動方式係数」64−7、「排他No.」64−8、「完了予定時間」64−9のデータ項目を含む。
「インスタンスNo.」64−1には、インスタンスNo.が格納される。「ワークフローNo.」64−2には、ワークフローNo.が格納される。「部品No.(現在)」64−3には、そのワークフローの現在の処理位置に対応する運用操作部品の部品No.が格納される。
「ホスト名」64−4には、ホスト名が格納される。「サービス名」64−5には、サービス名が格納される。「ユーザID」64−6には、ユーザを識別する情報(ユーザID)が格納される。
「起動方式係数」64−7には、起動方式係数が格納される。「排他No.」64−8には、排他区間を識別する番号が格納される。「完了予定時間」64−9には、ワークフローの完了予定時間が格納される。
図26は、本実施形態の実施例における排他情報管理テーブルの一例を示す。排他情報管理テーブル65は、排他区間に関する情報を管理する。排他情報管理テーブル65は、「排他No.」65−1、「部品No.(ロック開始)」65−2、「部品No.(ロック解除)」65−3、「実行優先度」65−4、「操作緊急度」65−5のデータ項目を含む。
「排他No.」65−1には、排他区間を識別する番号が格納される。「部品No.(ロック開始)」65−2には、その排他区間の開始の運用操作部品の部品No.が格納される。「部品No.(ロック解除)」65−3には、その排他区間の最後の運用操作部品の部品No.が格納される。「実行優先度」65−4には、その排他区間の実行優先度が格納される。「操作緊急度」65−5には、その排他区間の操作緊急度が格納される。
図27は、本実施形態の実施例における排他情報管理テーブルの一例を示す。排他獲得履歴テーブル66は、排他区間の排他権(実行権)の獲得の履歴情報を管理する。排他獲得履歴テーブル66は、「インスタンスNo.」66−1、「ワークフローNo.」66−2、「排他区間No.」66−3、「開始待ち時間」66−4、「開始時刻」66−5、「完了時刻」66−6のデータ項目を含む。
「インスタンスNo.」66−1には、インスタンスNo.が格納される。「ワークフローNo.」66−2には、ワークフローNo.が格納される。「排他区間No.」66−3には、排他区間のNo.が格納される。「開始待ち時間」66−4には、その排他区間が排他権(実行権)を獲得するまでの待ち時間が格納される。「開始時刻」66−5には、その排他区間が排他権(実行権)を獲得する時刻が格納される。「完了時刻」66−6には、その排他区間が排他権(実行権)を獲得して、処理を実行した場合の完了時刻が格納される。
図28は、本実施形態の実施例におけるユーザ係数テーブルの一例を示す。ユーザ係数テーブル67には、ユーザ毎のユーザ係数が予め格納されている。ユーザ係数テーブル67は、「ユーザID」67−1、「ユーザ係数」67−2のデータ項目を含む。「ユーザID」67−1には、ユーザを識別する情報(ユーザID)が格納される。「ユーザ係数」67−2には、そのユーザIDのユーザ係数が格納される。
図29は、本実施形態の実施例における起動方式係数テーブルの一例を示す。起動方式係数テーブル68は、「起動方法」68−1、「起動方式係数」68−2のデータ項目を含む。「起動方法」68−1には、ワークフローの起動方法が格納される。「起動方式係数」68−2には、その起動方法の起動方式係数が格納される。
図30は、本実施形態の実施例における時間係数テーブルの一例を示す。時間係数テーブル69は、「残り時間」69−1、「時間係数」69−2のデータ項目を有する。「残り時間」69−1には、完了予定時刻までの残り時間が格納される。「時間係数」69−2には、その残り時間に対応する時間係数が格納される。
図31は、本実施形態の実施例におけるワークフロー実行部による処理フローの一例を示す。ワークフロー実行部16は、排他制御部12に対して、ワークフローの実行開始、及びワークフローの実行に際して用いる変数の情報を通知する(S41)。変数に関する情報は、例えば、ワークフローを起動したユーザのユーザID、ワークフローの起動方式等の情報を含む。
ワークフロー実行部16は、排他制御部12に対して、実行する運用操作部品と、その運用操作部品が用いる変数の情報を通知する(S42)。ワークフロー実行部16は、排他制御部12から指示を受信し(S43)、その指示の内容に従った処理を実行する(S44)。それにより、ワークフロー実行部16は、運用操作部品に対応する処理を業務サーバ18に実行させる(S45)。実行するワークフローにおいて、次の運用操作部品があれば(S46で「Yes」)、S42の処理へ戻る。実行するワークフローにおいて、すべての運用操作部品について処理が完了すれば(S46で「No」)、本フローは終了する。
図32は、本実施形態の実施例における排他制御部の全体の処理フローの一例を示す。ワークフロー実行部16からの通知があるまで(S52で「No」)、排他制御部12は、待ち状態になる(S51)。
ワークフロー実行部16から、図31のS41でのワークフローの開始の通知があった場合(S52で「Yes」、S53で「Yes」)、排他制御部12は、ワークフロー開始時の排他制御処理を行う(S54)。その後、S51へ処理が戻る。
ワークフロー実行部16から、図31のS42での通知があった場合(S52で「Yes」、S53で「No」)、排他制御部12は、ワークフロー動作中の排他制御処理を行う(S55)。その後、S51へ処理が戻る。
図33は、本実施形態の実施例におけるワークフロー開始時の排他制御処理(S54)のフローを示す。排他制御部12は、ワークフロー管理テーブル61から、実行対象のワークフロー情報を取得する(S61)。
排他制御部12は、運用操作部品定義テーブル62から、実行対象のワークフロー情報に含まれる「運用操作部品名」に対応する「部品種別」を取得する(S61)。これにより、排他制御部12は、実行対象のワークフロー情報に含まれる運用操作部品の種別を決定する。
次に、排他制御部12は、ワークフロー開始時に確定済みの変数情報を変数管理テーブル63に記録する(S63)。ワークフロー開始時に確定済みの変数情報とは、例えば、予め値が設定された変数、またはワークフロー実行部16より渡された変数等である。
次に、排他制御部12は、開始するワークフローの排他情報を仮決定する(S64)。S64の処理については、図34を用いて詳述する。
次に、排他制御部12は、仮決定した排他情報の実行優先度を計算する(S65)。S65の処理については、図35を用いて詳述する。
それから、排他制御部12は、仮決定した排他情報をインスタンス管理テーブル64に格納する。
図34は、本実施形態の実施例における排他情報仮決定処理のフローを示す。本フローは、図32のS64、及び後述する図36のS93の処理の詳細を示す。排他制御部12は、ワークフロー管理テーブル61から、対象のワークフローの運用操作部品の情報を取得する(S71)。
排他制御部12は、運用操作定義テーブル62を用いて、対象のワークフローに含まれる運用操作部品をモデル化する(S72)。すなわち、排他制御部12は、運用操作定義テーブル62を用いて、対象のワークフローに含まれる運用操作部品を、対応する部品種別に変換する。
排他制御部12は、ワークフロー管理テーブル61及び変数管理テーブル63を用いて、対象のワークフローにおいて変数の値または変数名が連続している運用操作部品を抽出する。すなわち、排他制御部12は、ワークフロー管理テーブル61の「部品No.」61−2及び「次の部品No.」61−7から、対象のワークフロー内での部品種別(モデル化した運用管理部品)の処理順を判定する。それから、排他制御部12は、変数管理テーブル63を用いて、その処理順において同じ部品種別の変数の値または同じ変数名が連続するか否かを判定する。その結果、排他制御部12は、ワークフロー管理テーブル61から、その処理順において同じ部品種別の変数の値または同じ変数名が連続する運用操作部品(区間)を抽出する(S73)。
排他制御部12は、ワークフロー管理テーブル61の「操作対象」、「操作サービス、資源」、「出力」のデータ項目を用いて、その処理順に基づいて、運用操作部品の出力値が後続の運用操作部品の入力値になっている運用操作部品(区間)を抽出する(S74)。
排他制御部12は、S73またはS74において、抽出した区間を排他区間として仮決定する(S75)。
排他制御部12は、運用操作部品定義テーブル62、ユーザ係数テーブル67、起動方式係数テーブル68、時間係数テーブル69を用いて、仮決定した排他区間の実行優先度を仮決定する(S76)。すなわち、排他制御部12は、運用操作部品定義テーブル62から、仮決定した排他区間に含まれる部品種別に対応する操作重要度を取得し、操作重要度同士を加算する。
また、排他制御部12は、ユーザ係数テーブル67から、ワークフローを起動したユーザのユーザIDに対応するユーザ係数を取得する。また、排他制御部12は、起動方式係数テーブル68から、ワークフローの起動方法に対応する起動方式係数を取得する。
また、排他制御部12は、ワークフローの完了予定時刻と現時刻との差分から完了予定時刻までの残り時間を算出する。ここで、排他制御部12は、予め登録されている各運用操作部品の完了までにかかる時間に基づいて、ワークフローの完了予定時刻を算出してもよい。また、排他制御部12は、過去に実行したワークフローの履歴情報(排他獲得履歴テーブル66)から取得した完了時刻を完了予定時刻としてもよい。
排他制御部12は、時間係数テーブル69から、その算出した残り時間に対応する時間係数を取得する。そして、排他制御部12は、上述した式(1)を用いて操作緊急度を算出し、上述した式(2)を用いて実行優先度を算出する。
排他制御部12は、インスタンス管理テーブル64、排他情報管理テーブル65に、仮決定した排他区間に関する情報(仮決定した排他区間、実行優先度、ユーザ係数、起動方式係数、操作緊急度等のS73〜S76で用いた情報)を格納する(S77)。
図35は、本実施形態の実施例における排他情報の実行優先度計算処理のフローを示す。本フローは、図32のS65、及び後述する図36のS94の処理の詳細を示す。排他制御部12は、インスタンス管理テーブル64から、仮決定した排他区間に関する情報(ユーザ係数、起動方式係数、排他No.、完了予定時刻等)を取得する(S81)。排他制御部12は、運用操作部品定義テーブル62から、その排他No.に対応する排他区間に含まれる部品種別及び操作重要度情報を取得する(S82,S83)。
排他制御部12は、S81で取得した完了予定時刻から現在の時刻を差し引いて、完了予定時刻までの残り時間を算出し、時間係数テーブル69から、その算出した残り時間に対応する時間係数を取得する。排他制御部12は、上述した式(1)を用いて操作緊急度を算出し、上述した式(2)を用いて、その排他区間の実行優先度を算出する。排他制御部12は、算出した操作緊急度及び実行優先度を排他情報管理テーブル65に格納する(S85)。
図36は、本実施形態の実施例におけるワークフロー動作中の排他制御処理(S55)のフローを示す。排他制御部12は、ワークフロー実行部16から通知された情報に含まれる変数の情報(確定した変数の情報)または予め値が設定された変数を変数管理テーブル63に格納する(S91)。
排他制御部12は、インスタンス管理テーブル64から、ワークフローの定義情報を取得する(S92)。
排他制御部12は、仮決定した排他区間に関する情報を更新する(S93)。S93の処理の詳細は、図34で説明したものと同様である。
排他制御部12は、実行優先度情報を更新する(S94)。S94の処理の詳細は、図35で説明したものと同様である。
排他制御部12は、排他アクション動作を決定する(S95)。S95の処理については、図37を用いて詳述する。
図37は、本実施形態の実施例における排他アクション決定処理のフローを示す。排他制御部12は、対象のワークフローについて仮決定した排他区間に関する情報と実行優先度情報を取得する(S101)。ここでは、排他制御部12は、インスタンス管理テーブル64から、対象のワークフローについて仮決定した排他区間に関する情報(排他No.等)を取得する。排他制御部12は、その排他No.をキーとして、排他情報管理テーブル65から実行優先度を取得する。
次に、排他制御部12は、実行中のワークフローについて、ワークフローの実行状況、現在の排他区間に関する情報と実行優先度情報、仮決定された排他区間に関する予定情報と実行優先度情報を取得する(S102)。ここでは、排他制御部12は、インスタンス管理テーブル64を読み込んで、ワークフローの実行状況を取得する。
排他制御部12は、インスタンス管理テーブル64及び排他情報管理テーブル65から、実行中のワークフロー(対象のワークフローを除く)について現在の排他区間に関する情報を取得する。ここでは、まず、排他制御部12は、インスタンス管理テーブル64の「部品No.(現在)」64−3から、ワークフローで現在の対象となっている運用操作部品(現在の処理位置)を判定する。排他制御部12は、インスタンス管理テーブル64及びワークフロー管理テーブル61を用いて、その運用操作部品(現在の処理位置)がどの排他区間に含まれるかを判定する。排他制御部12は、その判定した排他区間の排他No.をキーとして、排他情報管理テーブル65から実行優先度を取得する。
排他制御部12は、インスタンス管理テーブル64及び排他情報管理テーブル65から、実行中のワークフロー(対象のワークフローを除く)について仮決定した排他区間に関する情報を取得する。ここでは、まず、排他制御部12は、インスタンス管理テーブル64から、ワークフローで現在の対象となっている運用操作部品(現在の処理位置)が属する排他区間以外の排他区間の情報を取得する。排他制御部12は、その排他区間の排他No.をキーとして、排他情報管理テーブル65から実行優先度を取得する。
排他制御部12は、対象のワークフロー及びS102において取得したワークフローのうち、実行優先度情報が最も大きいワークフローを抽出する(S103)。
S103において抽出したワークフローが対象のワークフロー(通知したワークフロー実行部16が実行するワークフロー)である場合、排他制御部12は、対象のワークフローの処理を継続する旨の通知(Action)を、ワークフロー実行部16に送信する。一方、抽出したワークフローが対象のワークフロー以外のワークフローである場合、排他制御部12は、そのワークフローが排他権(実行権)を喪失するまで、ワークフロー実行部16にActionを返信しないことにより、対象のワークフローを処理待ち状態にする。このとき、排他制御部12は、排他獲得履歴テーブル66に情報を登録または排他獲得履歴テーブル66を更新する(S104)。例えば、排他権を獲得して処理を完了された排他区間の場合には、「完了時刻」66−6の情報が更新される。また、排他解除待ちの排他区間であれば、「開始待ち時間」66−4の情報が更新される。
図38は、本実施形態の実施例における画面表示のフローを示す。排他制御部12は、端末41から表示要求を受信すると(S111)、排他情報管理テーブル65、排他獲得履歴テーブル66から、排他区間に関する情報を取得する(S112)。すなわち、排他制御部12は、既に排他権(実行権)を獲得した排他区間については、排他獲得履歴テーブル66から排他区間に関する情報を取得する。排他制御部12は、まだ排他権(実行権)を獲得していない排他区間については、排他情報管理テーブル65から排他区間に関する情報を取得する。排他制御部12は、その取得した排他区間に関する情報を端末41へ通知する(S113)。
図39は、本実施形態の一実施例に係るコンピュータのハードウェア環境の構成ブロック図である。コンピュータ70は、本実施形態の処理を行うプログラムを読み込むことにより、排他制御部12として機能する。
コンピュータ70は、出力I/F71、CPU72、ROM73、通信I/F74、入力I/F75、RAM76、記憶装置77、読み取り装置78、バス79を含む。コンピュータ70は、出力機器81、入力機器82と接続されている。
ここで、CPUは、中央演算装置を示であり、プロセッサの一例である。ROMは、リードオンリメモリを示す。RAMは、ランダムアクセスメモリを示す。I/Fは、インターフェースを示す。バス79には、出力I/F71、CPU72、ROM73、通信I/F74、入力I/F75、RAM76、記憶装置77、読み取り装置78が接続されている。読み取り装置78は、可搬型記録媒体を読み出す装置である。出力機器81は、出力I/F71に接続されている。入力機器82は、入力I/F75に接続にされている。
記憶装置77としては、ハードディスクドライブ、フラッシュメモリ装置、磁気ディスク装置など様々な形式の記憶装置を使用することができる。記憶装置77またはROM73には、例えば、本実施形態で説明した処理を実現するプログラムが格納されている。
また、記憶装置77またはROM73は、運用操作部品等を含めたワークフローデータ、ワークフロー管理テーブル61、運用操作部品定義テーブル62、変数管理テーブル63、インスタンス管理テーブル64等を格納する。さらに、記憶装置77またはROM73は、排他情報管理テーブル65、排他獲得履歴テーブル66を格納する。さらに、DB51は、ユーザ係数テーブル67、起動方式係数テーブル68、時間係数テーブル69等を格納する。
CPU72は、記憶装置77またはROM73に格納した本実施形態で説明した処理を実現するプログラムを読み出し、当該プログラムを実行する。具体的には、CPU72は、当該プログラムを実行することにより、排他制御部12(モデル化部13、設定部14、表示制御部15)として機能する。
本実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワーク80、および通信I/F74を介して、例えば記憶装置77に格納してもよい。また、本実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置78にセットされて、CPU72によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカード、USBメモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読み取り装置78によって読み取られる。
また、入力機器82には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレット、タッチパネルなどを用いることが可能である。また、出力機器81には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク80は、インターネット、LAN、WAN、専用線、有線、無線等の通信網であってよい。
本実施形態によれば、排他ロックを行う排他制御の単位を示す排他区間を動的に決定することができる。その結果、運用管理者は排他制御の負担から解放され、運用作業全体の効率化が図れる。また、大量の自動運用プロセスを作成しても、排他制御を追加する必要がないので、排他設計を行う必要がない。
また、現時点での排他制御だけでなく、他のワークフローの排他取得を予測して排他制御することができる。これにより、最適な排他区間を動的に決定できるため、運用作業全体の効率が向上する。したがって、最適な排他区間の決定による運用作業全体の効率化を図ることができる。
参照系の運用操作部品が対象サーバの操作後に情報を取得するため、最新の情報が取得できる。このため、運用作業の効率が向上する。よって、最新の情報に基づいて、ワークフローを動作させることができる。
また、排他設定漏れ、排他設定解除漏れが起こらないため、排他についてのミスの発生を防止することができる。
なお、本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
上記実施形態に関し、更に以下の付記を開示する。
(付記1) 情報処理装置に対する操作を定義した操作情報を含む操作手順を示す複数のワークフロー情報それぞれの、少なくとも1つ以上の前記操作情報に対して、排他ロックを行う排他制御の単位を示す排他区間を設定する設定部と、
前記各ワークフロー情報の排他区間に対応する操作情報に基づく操作を実行させる場合に、該操作情報の種別に応じた操作の重要度を示す操作重要度情報と、該操作の緊急度を示す操作緊急度情報とを用いて、前記排他区間の優先度を算出する算出部と、
前記排他区間同士が前記排他ロックの競合関係にある場合、前記優先度に基づいて、前記ワークフロー間の該排他区間の排他制御を行う排他実行部と、
を備えることを特徴とする排他制御装置。
(付記2)
前記設定部は、前記操作情報の操作対象、該操作対象及び該操作対象への入力情報、または前記操作情報間で受け渡される変数に応じて、少なくとも1つ以上の前記操作情報に対して、前記排他区間を設定する
ことを特徴とする付記1に記載の排他制御装置。
(付記3) 前記設定部は、前記各ワークフロー情報の連続する操作情報のうち、操作対象が同じ場合、該操作対象及び該操作対象への入力情報が同じ場合、または前記操作情報のうちのいずれかの操作情報で出力された変数が他の操作情報の入力情報となっている場合、該操作情報をグループ化し、該グループ化した前記操作情報に対して、前記排他区間を設定する
ことを特徴とする付記1に記載の排他制御装置。
(付記4) 前記設定部は、連続する前記排他区間において、該排他区間に含まれる操作にて用いる変数の値が同じ場合、該排他区間を結合し、該排他区間に含まれる操作により、該排他区間にて用いる変数の値が変更された場合、該排他区間を分割する
ことを特徴とする付記1〜3のうちいずれか1項に記載の排他制御装置。
(付記5) 前記排他制御装置は、さらに、
前記各ワークフロー情報に含まれる前記操作情報に対応する操作重要度、前記ワークフローを開始させたユーザに応じて重みづけされた第1の値、該ワークフローの開始の誘因に応じて重みづけされた第2の値、及び該ワークフローが完了するまでの残り時間に応じて重みづけされた第3の値が格納された関係情報格納部
を備え、
前記算出部は、前記関係情報格納部から、前記各ワークフロー情報に含まれる前記操作情報に対応する該操作重要度を取得し、前記排他区間毎に該操作重要度を加算し、前記関係情報格納部から、前記ワークフローを開始させたユーザに対応する前記第1の値、該ワークフローの開始の誘因に対応する前記第2の値、及び該ワークフローが完了するまでの残り時間に対応する前記第3の値を取得し、該第1の値、該第2の値、及び該第3の値を乗じて、前記操作緊急度を算出し、前記排他区間毎に加算した操作重要度と前記操作緊急度を乗じて、前記優先度を算出する
ことを特徴とする付記1〜4のうちいずれか1項に記載の排他制御装置。
(付記6) 前記排他実行部は、情報処理装置に対して操作指示をする操作指示部に対して、前記優先度の最も高い排他区間を有する前記ワークフロー情報のワークフローを実行する旨の通知を行う
ことを特徴とする付記1〜5のうちいずれか1項に記載の排他制御装置。
(付記7) 前記排他制御装置は、さらに、
前記排他制御に基づいて、排他制御された前記排他区間及び排他制御される前記排他区間を示す情報を出力する表示制御部
を備えることを特徴とする付記1〜6のうちいずれか1項に記載の排他制御装置。
(付記8) コンピュータに、
情報処理装置に対する操作を定義した操作情報を含む操作手順を示す複数のワークフロー情報それぞれの、少なくとも1つ以上の前記操作情報に対して、排他ロックを行う排他制御の単位を示す排他区間を設定し、
前記各ワークフロー情報の排他区間に対応する操作情報に基づく操作を実行させる場合に、該操作情報の種別に応じた操作の重要度を示す操作重要度情報と、該操作の緊急度を示す操作緊急度情報とを用いて、前記排他区間の優先度を算出し、
前記排他区間同士が前記排他ロックの競合関係にある場合、前記優先度に基づいて、前記ワークフロー間の該排他区間の排他制御を行う
処理を実行させることを特徴とする排他制御プログラム。
(付記9)
前記排他区間の設定において、前記操作情報の操作対象、該操作対象及び該操作対象への入力情報、または前記操作情報間で受け渡される変数に応じて、少なくとも1つ以上の前記操作情報に対して、前記排他区間を設定する
処理を実行させることを特徴とする付記8に記載の排他制御プログラム。
(付記10)
前記排他区間の設定において、前記各ワークフロー情報の連続する操作情報のうち、操作対象が同じ場合、該操作対象及び該操作対象への入力情報が同じ場合、または前記操作情報のうちのいずれかの操作情報で出力された変数が他の操作情報の入力情報となっている場合、該操作情報をグループ化し、該グループ化した前記操作情報に対して、前記排他区間を設定する
処理を実行させることを特徴とする付記9に記載の排他制御プログラム。
(付記11) 前記排他区間の設定において、連続する前記排他区間において、該排他区間に含まれる操作にて用いる変数の値が同じ場合、該排他区間を結合し、該排他区間に含まれる操作により、該排他区間で用いる変数の値が変更された場合、該排他区間を分割する
処理を実行させることを特徴とする付記8〜10のうちいずれか1項に記載の排他制御プログラム。
(付記12) 前記優先度の算出において、前記各ワークフローに含まれる前記操作情報に対応する操作重要度、前記ワークフローを開始させたユーザに応じて重みづけされた第1の値、該ワークフローの開始の誘因に応じて重みづけされた第2の値、及び該ワークフローが完了するまでの残り時間に応じて重みづけされた第3の値が格納された関係情報格納部から、前記各ワークフローに含まれる前記操作情報に対応する操作重要度を取得し、前記排他区間毎に該操作重要度を加算し、前記関係情報格納部から、前記ワークフローを開始させたユーザに対応する前記第1の値、該ワークフローの開始の誘因に対応する前記第2の値、及び該ワークフローが完了するまでの残り時間に対応する前記第3の値を取得し、該第1の値、該第2の値、及び該第3の値を乗じて、前記操作緊急度を算出し、前記排他区間毎に加算した操作重要度と前記操作緊急度を乗じて、前記優先度を算出する
処理を実行させることを特徴とする付記8〜11のうちいずれか1項に記載の排他制御プログラム。
(付記13) 情報処理装置に対して操作指示をする操作指示部に対して、該排他区間の排他制御において、前記優先度の最も高い排他区間を有する前記ワークフロー情報のワークフローを実行する旨の通知を行う
処理を実行させることを特徴とする付記8〜12のうちいずれか1項に記載の排他制御プログラム。
(付記14) 前記コンピュータに、さらに、
排他制御に基づいて、排他制御された排他区間及び排他制御される排他区間を示す情報を出力する
処理を実行させることを特徴とする付記8〜13のうちいずれか1項に記載の排他制御プログラム。
(付記15)
コンピュータにより実行されるワークフローに関する排他制御方法であって、
前記コンピュータは、
情報処理装置に対する操作を定義した操作情報を含む操作手順を示す複数のワークフロー情報それぞれの、少なくとも1つ以上の前記操作情報に対して、排他ロックを行う排他制御の単位を示す排他区間を設定し、
前記各ワークフロー情報の排他区間に対応する操作情報に基づく操作を実行させる場合に、該操作情報の種別に応じた操作の重要度を示す操作重要度情報と、該操作の緊急度を示す操作緊急度情報とを用いて、前記排他区間の優先度を算出し、
前記排他区間同士が前記排他ロックの競合関係にある場合、前記優先度に基づいて、前記ワークフロー間の該排他区間の排他制御を行う
ことを特徴とする排他制御方法。
1 排他制御装置
3 設定部
4 算出部
5 排他実行部
6 関係情報格納部
7 表示制御部
8 操作指示部
11 運用自動化サーバ
12 排他制御部
13 モデル化部
14 設定部
15 表示制御部
16(16−1,16−2,16−3) ワークフロー実行部
17 記憶部
18(18−1,18−2,18−3) 業務サーバ
41 端末装置
51 DB

Claims (8)

  1. コンピュータに、
    情報処理装置に対する操作を定義した操作情報を含む操作手順を示す複数のワークフロー情報それぞれの、少なくとも1つ以上の前記操作情報に対して、排他ロックを行う排他制御の単位を示す排他区間を設定し、
    前記各ワークフロー情報の排他区間に対応する操作情報に基づく操作を実行させる場合に、該操作情報の種別に応じた操作の重要度を示す操作重要度情報と、該操作の操作緊急度を示す操作緊急度情報とを用いて、前記排他区間の優先度を算出し、
    前記排他区間同士が前記排他ロックの競合関係にある場合、前記優先度に基づいて、前記ワークフロー情報間の該排他区間の排他制御を行い、
    前記優先度の算出において、前記各ワークフロー情報に含まれる前記操作情報に対応する操作重要度、前記ワークフロー情報によって示されるワークフローを開始させたユーザに応じて重みづけされた第1の値、該ワークフローの開始の誘因に応じて重みづけされた第2の値、及び該ワークフローが完了するまでの残り時間に応じて重みづけされた第3の値が格納された関係情報格納部から、前記各ワークフロー情報に含まれる前記操作情報に対応する操作重要度を取得し、前記排他区間毎に該操作重要度を加算し、前記関係情報格納部から、前記ワークフローを開始させたユーザに対応する前記第1の値、該ワークフローの開始の誘因に対応する前記第2の値、及び該ワークフローが完了するまでの残り時間に対応する前記第3の値を取得し、該第1の値、該第2の値、及び該第3の値を乗じて、前記操作緊急度を算出し、前記排他区間毎に加算した操作重要度と前記操作緊急度を乗じて、前記優先度を算出する
    処理を実行させることを特徴とする排他制御プログラム。
  2. 前記排他区間の設定において、前記操作情報の操作対象、該操作対象及び該操作対象への入力情報、または前記操作情報間で受け渡される変数に応じて、少なくとも1つ以上の前記操作情報に対して、前記排他区間を設定する
    処理を実行させることを特徴とする請求項1に記載の排他制御プログラム。
  3. 前記排他区間の設定において、前記各ワークフロー情報の連続する操作情報のうち、操作対象が同じ場合、該操作対象及び該操作対象への入力情報が同じ場合、または前記操作情報のうちのいずれかの操作情報で出力された変数が他の操作情報の入力情報となっている場合、該操作情報をグループ化し、該グループ化した前記操作情報に対して、前記排他区間を設定する
    処理を実行させることを特徴とする請求項2に記載の排他制御プログラム。
  4. 前記排他区間の設定において、連続する前記排他区間において、該排他区間に含まれる操作にて用いる変数の値が同じ場合、該排他区間を結合し、該排他区間に含まれる操作により、該排他区間で用いる変数の値が変更された場合、該排他区間を分割する
    処理を実行させることを特徴とする請求項1〜3のうちいずれか1項に記載の排他制御プログラム。
  5. 情報処理装置に対して操作指示をする操作指示部に対して、該排他区間の排他制御において、前記優先度の最も高い排他区間を有する前記ワークフロー情報のワークフローを実行する旨の通知を行う
    処理を実行させることを特徴とする請求項1〜のうちいずれか1項に記載の排他制御プログラム。
  6. 前記コンピュータに、さらに、
    排他制御に基づいて、排他制御された排他区間及び排他制御される排他区間を示す情報を出力する
    処理を実行させることを特徴とする請求項1〜のうちいずれか1項に記載の排他制御プログラム。
  7. 情報処理装置に対する操作を定義した操作情報を含む操作手順を示す複数のワークフロー情報それぞれの、少なくとも1つ以上の前記操作情報に対して、排他ロックを行う排他制御の単位を示す排他区間を設定する設定部と、
    前記各ワークフロー情報の排他区間に対応する操作情報に基づく操作を実行させる場合に、該操作情報の種別に応じた操作の重要度を示す操作重要度情報と、該操作の操作緊急度を示す操作緊急度情報とを用いて、前記排他区間の優先度を算出する算出部と、
    前記排他区間同士が前記排他ロックの競合関係にある場合、前記優先度に基づいて、前記ワークフロー情報間の該排他区間の排他制御を行う排他実行部と、
    を備え
    前記算出部は、前記各ワークフロー情報に含まれる前記操作情報に対応する操作重要度、前記ワークフロー情報によって示されるワークフローを開始させたユーザに応じて重みづけされた第1の値、該ワークフローの開始の誘因に応じて重みづけされた第2の値、及び該ワークフローが完了するまでの残り時間に応じて重みづけされた第3の値が格納された関係情報格納部から、前記各ワークフロー情報に含まれる前記操作情報に対応する操作重要度を取得し、前記排他区間毎に該操作重要度を加算し、前記関係情報格納部から、前記ワークフローを開始させたユーザに対応する前記第1の値、該ワークフローの開始の誘因に対応する前記第2の値、及び該ワークフローが完了するまでの残り時間に対応する前記第3の値を取得し、該第1の値、該第2の値、及び該第3の値を乗じて、前記操作緊急度を算出し、前記排他区間毎に加算した操作重要度と前記操作緊急度を乗じて、前記優先度を算出する
    ことを特徴とする排他制御装置。
  8. コンピュータにより実行されるワークフローに関する排他制御方法であって、
    前記コンピュータは、
    情報処理装置に対する操作を定義した操作情報を含む操作手順を示す複数のワークフロー情報それぞれの、少なくとも1つ以上の前記操作情報に対して、排他ロックを行う排他制御の単位を示す排他区間を設定し、
    前記各ワークフロー情報の排他区間に対応する操作情報に基づく操作を実行させる場合に、該操作情報の種別に応じた操作の重要度を示す操作重要度情報と、該操作の操作緊急度を示す操作緊急度情報とを用いて、前記排他区間の優先度を算出し、
    前記排他区間同士が前記排他ロックの競合関係にある場合、前記優先度に基づいて、前記ワークフロー情報間の該排他区間の排他制御を行い、
    前記優先度の算出において、前記各ワークフロー情報に含まれる前記操作情報に対応する操作重要度、前記ワークフロー情報によって示されるワークフローを開始させたユーザに応じて重みづけされた第1の値、該ワークフローの開始の誘因に応じて重みづけされた第2の値、及び該ワークフローが完了するまでの残り時間に応じて重みづけされた第3の値が格納された関係情報格納部から、前記各ワークフロー情報に含まれる前記操作情報に対応する操作重要度を取得し、前記排他区間毎に該操作重要度を加算し、前記関係情報格納部から、前記ワークフローを開始させたユーザに対応する前記第1の値、該ワークフローの開始の誘因に対応する前記第2の値、及び該ワークフローが完了するまでの残り時間に対応する前記第3の値を取得し、該第1の値、該第2の値、及び該第3の値を乗じて、前記操作緊急度を算出し、前記排他区間毎に加算した操作重要度と前記操作緊急度を乗じて、前記優先度を算出する
    ことを特徴とする排他制御方法。
JP2012142425A 2012-06-25 2012-06-25 排他制御プログラム、該装置、及び該方法 Expired - Fee Related JP5891969B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012142425A JP5891969B2 (ja) 2012-06-25 2012-06-25 排他制御プログラム、該装置、及び該方法
US13/854,306 US9176791B2 (en) 2012-06-25 2013-04-01 Computer-readable recording medium, exclusion control apparatus, and exclusion control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012142425A JP5891969B2 (ja) 2012-06-25 2012-06-25 排他制御プログラム、該装置、及び該方法

Publications (2)

Publication Number Publication Date
JP2014006740A JP2014006740A (ja) 2014-01-16
JP5891969B2 true JP5891969B2 (ja) 2016-03-23

Family

ID=49775582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012142425A Expired - Fee Related JP5891969B2 (ja) 2012-06-25 2012-06-25 排他制御プログラム、該装置、及び該方法

Country Status (2)

Country Link
US (1) US9176791B2 (ja)
JP (1) JP5891969B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9311134B1 (en) 2014-09-29 2016-04-12 International Business Machines Corporation Automated creation of executable workflow
JP6597360B2 (ja) 2016-02-12 2019-10-30 富士通株式会社 コネクション管理プログラム、コネクション管理方法、および情報処理装置
CN112383588B (zh) * 2020-10-23 2023-09-29 汇智点亮科技(北京)有限公司 一种调整资源顺序延迟执行方法、系统及云平台
KR102595618B1 (ko) * 2021-11-02 2023-10-31 (주)와치텍 It인프라 자율운영을 위한 워크플로우 기반의 시스템 제어 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2666755B2 (ja) * 1995-01-11 1997-10-22 日本電気株式会社 ワークフローシステム
JPH09305414A (ja) * 1996-05-13 1997-11-28 Casio Comput Co Ltd プロセス管理方法
JP2003303181A (ja) * 2002-04-09 2003-10-24 Toshiba Corp 分散処理システムおよび分散処理プログラム
US7401334B2 (en) 2002-12-20 2008-07-15 International Business Machines Corporation Method, apparatus and computer program product for managing message flow in a multithreaded, message flow environment
US7228545B2 (en) * 2003-01-23 2007-06-05 Hewlett-Packard Development Company, L.P. Methods and apparatus for managing the execution of a task among a plurality of autonomous processes
JP4807382B2 (ja) * 2008-06-25 2011-11-02 富士ゼロックス株式会社 処理フロー制御プログラム、処理フロー制御装置及びデータ処理システム
US8413150B2 (en) * 2009-07-31 2013-04-02 Sap Ag Systems and methods for data aware workflow change management
JP5509814B2 (ja) * 2009-11-26 2014-06-04 日本電気株式会社 ジョブフロー管理装置、管理方法および管理プログラム
JP5704908B2 (ja) * 2009-12-22 2015-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ワークフローを動的に適合させるための方法、コンテンツ管理システム、データ処理プログラム、およびコンピュータ・プログラム(ワークフローを動的に適合させるための方法)
US20130006701A1 (en) * 2011-07-01 2013-01-03 International Business Machines Corporation Assessing and managing risks of service related changes based on dynamic context information

Also Published As

Publication number Publication date
US9176791B2 (en) 2015-11-03
US20130347001A1 (en) 2013-12-26
JP2014006740A (ja) 2014-01-16

Similar Documents

Publication Publication Date Title
CN107317724B (zh) 基于云计算技术的数据采集系统及方法
Pitakrat et al. Hora: Architecture-aware online failure prediction
JP6152675B2 (ja) ワークフロー制御プログラム、装置および方法
JP5657475B2 (ja) 運用管理装置、及び方法
CN104067257A (zh) 自动化事件管理
CN102859510A (zh) 复杂分布式应用程序中的自动化恢复和升级
JP5891969B2 (ja) 排他制御プログラム、該装置、及び該方法
CN115989483A (zh) 用于大型动态过程执行系统的自动根本原因分析与预测
US20160004566A1 (en) Execution time estimation device and execution time estimation method
JP2007241872A (ja) ネットワーク上のコンピュータ資源の変更監視プログラム
Nouman et al. Developing a distributed agent-based and des simulation using portico and repast
Iosup et al. On grid performance evaluation using synthetic workloads
Bellini et al. Managing cloud via smart cloud engine and knowledge base
CN112882765B (zh) 数字孪生模型调度方法和装置
JP6094594B2 (ja) 情報システム構築支援装置、情報システム構築支援方法および情報システム構築支援プログラム
Forshaw et al. HTC‐Sim: a trace‐driven simulation framework for energy consumption in high‐throughput computing systems
Bommala et al. Machine learning job failure analysis and prediction model for the cloud environment
Mahato Cpns based reliability modeling for on-demand computing based transaction processing
JP2007241873A (ja) ネットワーク上のコンピュータ資源の変更監視プログラム
JP5304972B1 (ja) 情報処理装置、情報処理方法、及びプログラム
CN114661477A (zh) 一种低能耗的区块资源证明方法、装置和电子设备
Bate Systematic approaches to understanding and evaluating design trade-offs
van der Aalst et al. A reference model for grid architectures and its validation
CN108205531B (zh) 数据抽取方法和数据抽取系统
US20110251867A1 (en) Method and system for integrated operations and service support

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160208

R150 Certificate of patent or registration of utility model

Ref document number: 5891969

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees