JP2003030389A - ワークフロー管理方法及びその実施システム並びにその処理プログラム - Google Patents

ワークフロー管理方法及びその実施システム並びにその処理プログラム

Info

Publication number
JP2003030389A
JP2003030389A JP2002120748A JP2002120748A JP2003030389A JP 2003030389 A JP2003030389 A JP 2003030389A JP 2002120748 A JP2002120748 A JP 2002120748A JP 2002120748 A JP2002120748 A JP 2002120748A JP 2003030389 A JP2003030389 A JP 2003030389A
Authority
JP
Japan
Prior art keywords
work
staying
priority
workflow management
definition
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.)
Pending
Application number
JP2002120748A
Other languages
English (en)
Inventor
Takahito Kusama
草間  隆人
Nobuo Kureyama
伸夫 紅山
Toyohito Suzuki
豊人 鈴木
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002120748A priority Critical patent/JP2003030389A/ja
Publication of JP2003030389A publication Critical patent/JP2003030389A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 滞留作業が発生した場合にその滞留作業によ
って業務の進行に影響を受けない案件に計算機リソース
や人的リソースを優先的に配分することが可能な技術を
提供する。 【解決手段】 業務における複数の作業間の関係を定義
するプロセス定義情報に基づいて作業の実行管理を行う
ワークフロー管理方法において、作業の進捗状況を検知
し、その検知された進捗状況に基づいて滞留作業を特定
するステップと、前記プロセス定義情報に基づいて前記
滞留作業と所定の関係を有する作業を特定するステップ
と、前記所定の関係を有する作業の処理優先度を前記滞
留作業との間の関係に応じて設定するステップと、前記
設定された処理優先度に応じて当該作業の実行を制御す
るステップとを有するものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は複数の作業からなる
業務の流れを事前定義したプロセス定義に基づいて作業
実行と業務の進行状態の管理を支援するワークフロー管
理システムに関し、特に業務中の滞留作業の存在を考慮
して作業実行と業務の進行状態の管理を支援するワーク
フロー管理システムに適用して有効な技術に関するもの
である。
【0002】
【従来の技術】ワークフロー管理システムは、複数の作
業からなる業務の流れをプロセス定義として事前定義
し、この定義に基づいて作業実行と業務の進行状態の管
理を支援する技術である。プロセス定義は、業務の流れ
である業務フローをモデル化したものと言える。各作業
における処理は、人が行う場合や、業務プログラムによ
り自動的に実行される場合があるが、ワークフロー管理
システムは、これらの作業の人への割り当てや業務プロ
グラムによる処理の実行制御を行い、且つ業務フロー全
体としての状態管理、進捗管理を行うものである。
【0003】こうしたワークフロー管理システムには、
作業者に大量の作業が割り当てられた場合や、作業者が
不在の場合に、作業が滞留するという問題がある。一般
には、滞留した作業を別の作業者に割り当てることによ
り、前記問題の解決を行っている。この様な解決手法の
例として、米国特許第5、918、226号(特開平8
−190584号公報)がある。この従来技術では、滞
留している回覧文章の回収及び再配布等により作業が滞
ってしまう滞留状態を解消可能なワークフローシステム
について述べている。
【0004】
【発明が解決しようとする課題】しかしながら、滞留作
業を別の作業者に割り当てることにより滞留状態を解消
する従来の手法は、滞留作業を割り当てる作業者が存在
しない場合では適用することができない。例えば、滞留
作業を実行する際に、専門知識や特別な処理装置等を必
要とする場合や、余剰な人員が存在しない場合等では、
滞留作業を別の作業者に割り当てることができない可能
性がある。また、滞留作業を別の作業者に割り当てる事
が可能な場合でも、処理能力を上回る大量の作業が発生
した場合等では、滞留作業が発生する。
【0005】なお、滞留作業には、全く作業が進捗しな
い作業の他、作業自体は進捗しているが、予定よりも進
捗状況が遅れている作業も含まれるものとする。
【0006】滞留作業が発生した場合、当該作業に関連
する作業に影響が生じる。例えば、滞留作業の上流にあ
る作業を実行中の案件は、滞留作業により業務処理の進
捗に影響を受ける。この場合、滞留作業の遷移元にある
作業を実行した場合、該作業終了後に案件は滞留作業へ
と遷移し、そこで業務処理の進行は中断される。
【0007】こうした場合、作業者が複数の異なる業務
に携わっているのであれば、直後で業務の進行が中断さ
れる作業を行うよりも他の業務処理を優先的に行った方
が、全体として効率が良くなり、作業者の人的リソース
を有効に活用出来ることがある。
【0008】特に、処理終了後に滞留作業へ遷移する作
業の優先度が高い場合に有効に活用できる度合いが大き
くなる。これは、作業者は作業に関連付けられた優先度
に基づき、処理すべき作業を特定する為である。この様
な場合、滞留せずに完了可能な業務があるかどうかに関
わらず、滞留作業へ遷移する作業に人的リソースや計算
機リソースを優先的に割り当てることになり、この割り
当てを滞留作業以外の他の作業に変更した場合の効果は
より顕著になる。
【0009】なお、滞留作業に関連する作業としては、
上流にある作業以外のものも含まれ、例えば、下流にあ
るものや並行して行われるものも含まれるものとする。
すなわち、この関連する作業には、滞留作業の滞留に起
因して業務処理の進捗に影響が表れる作業が含まれる。
【0010】本発明の目的は上記問題を解決し、滞留作
業が発生した場合にその滞留作業によって業務の進行に
影響を受けない案件に計算機リソースや人的リソースを
優先的に配分することが可能な技術を提供することにあ
る。
【0011】本発明の他の目的は案件に応じて閾値を変
更することにより種々の案件における作業の滞留状態を
判定することが可能な技術を提供することにある。
【0012】本発明の他の目的は個々の作業者または業
務プログラムにより滞留した作業を効率良く検出するこ
とが可能な技術を提供することにある。
【0013】
【課題を解決するための手段】本発明は、業務における
複数の作業間の関係を定義するプロセス定義情報に基づ
いて、作業の実行管理を行うワークフローシステムにお
いて、作業の滞留状態に応じて、作業の処理優先度を設
定若しくは変更するものである。これは、滞留している
作業と所定の関係を有する作業の処理優先度を設定若し
くは変更することである。なお、プロセス定義情報に
は、複数の作業と該作業間の処理順序とを定義する情報
が含まれるものとする。
【0014】本発明のワークフロー管理システムでは、
まず、各作業に対する未実行作業数を取得する。この未
実行作業数が事前定義した閾値を超える作業を検索する
ことにより、滞留作業を検知する。
【0015】次にプロセス定義を用いて、この滞留作業
により業務の進捗に影響を受ける作業の範囲または影響
を受ける作業の少なくとも一方を検知する。
【0016】そして、この作業範囲に含まれる作業若し
くは影響を受ける作業に対する処理優先度を下げ、処理
優先度の高い順に作業の実行要求を行う。これらの処理
を実行することにより、滞留作業によって業務の進捗に
影響を受ける作業は優先度を下げて処理することにな
る。その結果、案件の進行に影響を受けない業務に、計
算機リソースや人的リソースを配分することが可能とな
る。
【0017】また本発明には、以下の処理が含まれる。
すなわち、検知された滞留作業により業務の進捗に影響
を受けない作業範囲または進捗に影響を受けない作業の
少なくとも一方を検知し、その検知された作業範囲に含
まれる作業若しくは検知された作業の処理優先度を上げ
る処理を実行する。
【0018】更に本発明には、上記の処理優先度を上げ
る処理と下げる処理のコンビネーションも含まれる。つ
まり、影響を受ける作業の処理優先度を下げてかつ影響
を受けない作業の処理優先度を上げる処理を行う。
【0019】以上の様に本発明のワークフロー管理シス
テムによれば、作業の滞留状態に応じて各作業の処理優
先度を変更するので、滞留作業が発生した場合にその滞
留作業によって業務の進行に影響を受けない案件に計算
機リソースや人的リソースを優先的に配分することが可
能である。
【0020】
【発明の実施の形態】以下に複数の作業からなる業務の
流れを事前定義したプロセス定義に基づいて作業実行と
業務の進行状態の管理を支援し、作業の滞留状態に応じ
て処理優先度を変更する一実施形態のワークフロー管理
システムについて説明する。
【0021】以下の実施形態におけるワークフロー管理
システムの例は、本発明の説明に不要な機能や詳細は省
略している為、一般的なワークフロー管理システムに比
べて単純化されているが、本発明の適用範囲が制限され
るものではない。
【0022】図1は本実施形態のワークフロー管理シス
テムの構成を示す図である。図1に示す様に本実施形態
のワークフロー管理システムを実現する計算機0120
は、クライアント要求処理部0151と、ワークフロー
実行状態制御部0152と、業務プログラム実行制御部
0153と、優先度制御部0154とを有している。
【0023】クライアント要求処理部0151は、クラ
イアント業務プログラム0103から送信されたコマン
ドを受け付ける処理部である。ワークフロー実行状態制
御部0152は、クライアント要求処理部0151及び
業務プログラム実行制御部0153より送信されたコマ
ンドを受け付け、プロセス定義0141に従い、ワーク
フロー実行状態情報0142を適切に変更する処理部で
ある。
【0024】業務プログラム実行制御部0153は、各
作業の処理優先度に応じてその作業の実行要求を行う実
行制御部である。優先度制御部0154は、前記作業の
滞留状態を判定し、該作業の滞留により業務の進捗に影
響を受ける作業の範囲を特定し、特定した該作業範囲に
含まれる各作業に対する処理優先度を決定する処理部で
ある。
【0025】ワークフロー管理システムをクライアント
要求処理部0151、ワークフロー実行状態制御部01
52、業務プログラム実行制御部0153及び優先度制
御部0154として機能させる為のプログラムは、CD
−ROM等の記録媒体に記録され磁気ディスク等に格納
される。また、格納されたプログラムは、メモリにロー
ドされて実際に実行される。なお、前記プログラムを記
録する記録媒体はCD−ROM以外の他の記録媒体でも
良い。記録媒体は、情報を格納するものであれば良く、
DVD(Digital Versatile Disc)やフロッピー(登録商
標)ディスクが含まれる。また、前記プログラムを当該
記録媒体から情報処理装置にインストールして使用して
も良いし、ネットワークを通じて当該記録媒体にアクセ
スして前記プログラムを使用するものとしても良い。
【0026】本実施形態の計算機0120は、表示装置
0161、キーボード0162、マウス0163、通信
装置0164、メモリ0165、CPU0166、補助
記憶装置0167の各ハードウェアから構成される。
【0027】ワークフロー実行制御エンジン0101、
自動実行業務プログラム0102及びクライアント業務
プログラム0103は、ソフトウェアプログラムであ
り、補助記憶装置0167内に格納されている。各ソフ
トウェアプログラムは、実行時にメモリ0165に読み
込まれ、CPU0166にて実行される。
【0028】また、表示装置0161や、キーボード0
162、マウス0163等の入力装置により、各ソフト
ウェアプログラムは作業者と対話を行うことができる。
更に、通信装置0164により、コンピュータネットワ
ーク0110を介して、他の計算機0120上で動作す
るソフトウェアプログラムと通信することができる。ま
た、各ソフトウェアプログラムは、同一計算機0120
上で動作しても、コンピュータネットワーク0110を
介し、異なる計算機0120上で動作しても構わない。
【0029】ワークフロー実行制御エンジン0101
は、作業の処理手順について事前定義したプロセス定義
0141に基づき、作業や業務フローの実行状態を管理
する。また、ワークフロー実行制御エンジン0101
は、コンピュータネットワーク0110を介し、自動実
行業務プログラム0102に対して処理要求を送信し、
結果を取得する。更に、ワークフロー実行制御エンジン
0101は、クライアント業務プログラム0103から
処理要求を受け付ける。ワークフロー実行制御エンジン
0101の動作に関しては後述する。
【0030】自動実行業務プログラム0102は、ワー
クフロー実行制御エンジン0101からの業務処理の実
行要求を受け付け、作業に対する業務処理を人手を介さ
ずに実行し、業務処理実行後に完了通知若しくは障害発
生通知を返す。
【0031】クライアント業務プログラム0103は、
作業者である人が直接操作することで処理を行うソフト
ウェアプログラムである。クライアント業務プログラム
0103は、ワークフロー実行制御エンジン0101に
対して作業者に割り当てられた作業を取得する。そし
て、クライアント業務プログラム0103は、表示装置
0161に前記取得結果の表示を制御し、また割り当て
られた作業に対する業務処理を行う。また、作業に対す
る業務処理完了後に、ワークフロー実行制御エンジン0
101に対して、作業の完了通知を行う。
【0032】ここで本実施形態では、作業者が不在とな
った場合、業務プログラムで障害が発生した場合、未実
行作業数が所定の閾値を超えた場合、または状態が「R
eady」となっている作業数が所定の閾値を超えた場
合に滞留状態が生じているものとして判定する。また本
実施形態の処理優先度は、業務プログラム実行制御部0
153が作業の実行要求を行う際の各作業の優先順位を
示すものである。なお前記滞留状態の判定では、ある作
業が複数の副作業からなり、それらの副作業の内で予め
定められた閾値以上の副作業が未実行である場合にその
作業を滞留作業として特定する処理も含まれるものとす
る。
【0033】図2は本実施形態のプロセス定義0141
の定義イメージを示す図である。本実施形態において事
前定義されたプロセス定義0141は補助記憶装置01
67内に複数格納出来る。
【0034】プロセス定義0141は、作業定義022
0と、複数の作業定義0220をアロー0210で連結
した有向グラフとして表現される。有向グラフの開始
点、終了点、分岐点、合流点は制御ノードと呼ぶ有向グ
ラフ上の特殊なノードを用いて表現する。
【0035】図2中の0201〜0204は制御ノード
であり、それぞれ開始ノード0201、終了ノード02
04、分岐ノード0202、合流ノード0203であ
る。有向グラフは開始ノード0201で始まり終了ノー
ド0204で終了する。
【0036】次にプロセス定義0141の詳細及び補助
記憶装置0167への格納例を図3で示す。
【0037】図3は本実施形態のプロセス定義0141
の一例を示す図である。図3で示す様に、プロセス定義
0141内の制御ノード0201〜0204に関する定
義情報は、制御ノード定義情報テーブル0311内に格
納される。また、作業定義0220に関する定義情報
は、作業定義情報テーブル0411内に格納される。更
に、アロー0210に関する定義情報は、アロー定義情
報テーブル0511内に格納される。何れのテーブルも
複数のプロセス定義0141に関する情報を格納する
為、どのプロセス定義0141に属する情報かを一意に
特定するプロセス定義名を第1カラムに持つ(図中のカ
ラム、0301、0401、0501)。以下、各テー
ブル毎にカラムの詳細を説明する。
【0038】制御ノード定義情報テーブル0311にお
いて、制御ノード名0302は制御ノード0201〜0
204を特定する為の名称である。ノード種別0303
は、制御ノードの種類を表し、「開始」、「終了」、
「分岐」、「合流」の何れかの値をとる。
【0039】作業定義情報テーブル0411において、
作業定義名0402は、プロセス定義0141における
作業定義0220を一意に特定する為の名称である。作
業種別0403は、「作業者実行」、「自動実行」の何
れかの値をとり、作業定義に対する業務処理を、作業者
がクライアント業務プログラム0103を直接操作する
ことによって実行するか(「作業者実行」)、ワークフ
ロー実行制御エンジン0101が自動実行業務プログラ
ム0102に対して処理要求を送信することにより人手
を介さず処理するか(「自動実行」)を設定する。
【0040】作業情報0404は、作業種別0403が
「作業者実行」の場合に、作業を処理すべき作業者を特
定する為の作業者名を指定し、作業種別0403が「自
動実行」の場合に、作業を処理すべき自動実行業務プロ
グラム0102を特定する為の自動実行業務プログラム
名を指定する。
【0041】遷移先関連度0405は、「依存」、「独
立」の何れかの値をとり、該作業定義の処理優先度が遷
移先の作業の状態に応じて影響を受けるか(「依
存」)、処理優先度に影響を受けないか(「独立」)、
を設定する。
【0042】優先度0406は、作業定義の処理の優先
順位を表し、「高」、「中」、「低」の何れかの値をと
る。滞留閾値0407は、作業定義の滞留状態を判定す
る為の情報である。作業定義の未実行作業数が前記滞留
閾値0407を超えた場合に、ワークフロー実行制御エ
ンジン0101は、該作業定義を滞留状態と判定する。
【0043】アロー定義情報テーブル0511におい
て、遷移元0502、遷移先0503は、プロセス定義
0141におけるアロー0210の接続元及び接続先と
なる作業定義0220若しくは制御ノード0201〜0
204を設定する。
【0044】ワークフロー実行状態情報0142は、案
件単位での作業の実行状態を表し、補助記憶装置016
7内に格納される。ワークフロー実行状態情報0142
の詳細及び補助記憶装置0167への格納形式を図4に
て示す。
【0045】図4は本実施形態のワークフロー実行状態
テーブルの一例を示す図である。図4に示すワークフロ
ー実行状態テーブル0611の各レコードは、案件内の
各作業の状態を保持している。
【0046】案件名0601は、各案件を一意に特定す
る為の名称である。プロセス定義名0602は、案件の
雛型となるプロセス定義0141を示す。作業定義名0
603は、作業の雛型となる作業定義0220を示す。
作業情報0604は、作業種別が「作業者実行」の場
合、作業を実行すべき作業者名をとり、作業種別が「自
動実行」の場合、作業を処理する自動実行業務プログラ
ム0102を特定する為の自動実行業務プログラム名を
とる。
【0047】状態0605は、作業の状態で、「Ini
tial」、「Ready」、「Completed」
の何れかの値をとる。「Initial」状態は、作業
の初期状態を表し、「Ready」は作業に対する業務
処理の開始可能状態を表し、更に、「Complete
d」は作業に対する業務処理の完了を表す。
【0048】作業者負荷情報0143は、各作業者及び
各自動実行業務プログラム0102に割り当てられた
「Ready」状態の作業数を管理する為の情報であ
る。作業者負荷情報0143の詳細及び補助記憶装置0
167への格納形式を図5にて示す。
【0049】図5は本実施形態の作業者負荷情報テーブ
ルの一例を示す図である。図5に示す作業者負荷情報テ
ーブル0711の各レコードは、事前登録された作業者
若しくは自動実行業務プログラム0102毎の「Rea
dy」状態の作業数を表す。
【0050】作業情報0701は、作業者の名前若しく
は自動実行業務プログラム0102の名前をとる。未実
行作業数0702は、作業情報0701で示された作業
者若しくは自動実行業務プログラム0102に現在割り
当てられている「Ready」状態の作業数をとる。
【0051】有効フラグ0703は、作業者若しくは自
動実行業務プログラム0102が利用可能かを示し、利
用可能な場合は「Yes」をとり、利用不可能な場合は
「No」をとる。例えば、作業者不在時や自動実行業務
プログラム0102内での障害発生時等では、有効フラ
グ0703は「No」をとる。
【0052】滞留閾値0704は、作業者または自動実
行業務プログラムの滞留状態を判定する為の情報であ
る。この滞留閾値0704を使用することで、滞留状態
を判断する。判断手法としては、例えば、作業情報07
01で示される作業者若しくは自動実行業務プログラム
の未実行作業数0702が該閾値を超えた場合に、該作
業者若しくは該自動実行業務プログラムを滞留状態と判
定する。
【0053】閑散閾値0705は、作業者または自動実
行業務プログラムの閑散状態を判定する為の情報であ
る。この閑散閾値0705を使用することで、閑散状態
を判定する。判定手法としては、例えば、作業情報07
01で示される作業者若しくは自動実行業務プログラム
の未実行作業数0702が該閾値を下回った場合に、該
作業者若しくは該自動実行業務プログラムを閑散状態と
判定する。
【0054】業務プログラム実行要求管理情報0144
は、自動実行業務プログラム0102への起動要求を管
理する。作業種別が「自動実行」である作業定義の状態
が「Ready」となったときに、ワークフロー実行制
御エンジン0101は、自動実行業務プログラム010
2への起動要求を業務プログラム実行要求管理情報01
44に登録する。図6に、自動実行業務プログラム01
02への起動要求の補助記憶装置0167への格納形式
を示す。
【0055】図6は本実施形態の業務プログラム実行要
求管理テーブルの一例を示す図である。図6に示す様に
該起動要求は、業務プログラム実行要求管理テーブル0
811内に、起動要求毎に1レコードずつ格納される。
【0056】プロセス定義名0801、作業定義名08
02、及び案件名0803は、実行要求の発生元である
作業を一意に特定するものである。作業情報0804
は、該実行要求に対する業務処理を行う自動実行業務プ
ログラム0102を特定する為の名称であり、作業定義
情報テーブル0411の作業情報0404カラムから取
得される。発生日時0805は、実行要求の発生した日
時である。
【0057】次に、ワークフロー実行制御エンジン01
01の動作について説明する。図1に示す様にワークフ
ロー実行制御エンジン0101は、クライアント要求処
理部0151、ワークフロー実行状態制御部0152、
業務プログラム実行制御部0153、優先度制御部01
54からなる。なお、以降の説明では、作業定義から生
成された作業を作業インスタンスと呼ぶことにする。
【0058】クライアント要求処理部0151は、クラ
イアント業務プログラム0103から送信されたコマン
ドを受け付ける。クライアント要求処理部0151は、
作業一覧取得コマンド「GetWorkList」と、
作業完了通知コマンド「CompleteWork」
と、案件開始コマンド「StartProcess」
と、作業者不在通知コマンド「StopWorker」
と、作業者復帰通知コマンド「RestartWork
er」をクライアント業務プログラム0103より受け
付ける。
【0059】「GetWorkList」は、作業者名
を受け取り、該作業者に割り当てられた作業インスタン
ス一覧を返すコマンドである。「CompleteWo
rk」は、プロセス定義名と、案件名と、作業定義名と
を受け取り、指定した作業インスタンスの完了を通知す
るコマンドである。「StartProcess」は、
プロセス定義名と案件名を受け取り、指定したプロセス
定義の案件を指定した案件名で投入、開始するコマンド
である。「StopWorker」は、作業者名を受け
取り、該作業者が不在状態であることを通知するコマン
ドである。「RestartWorker」は、作業者
名若しくは自動実行業務プログラム名を受け取り、該作
業者が復帰したこと、若しくは、該自動実行業務プログ
ラムが障害から回復したことを通知するコマンドであ
る。
【0060】以下、クライアント要求処理部0151
が、前記コマンドを受け付けた時の処理概要を示す。
【0061】「GetWorkList」では、次に示
す処理手順で、指定された作業者に割り当てられた作業
インスタンス一覧を返す。
【0062】まず、優先度制御部0154に対して、
「作業優先度一覧取得」コマンドを送信することで、ワ
ークフロー実行制御エンジン0101内で管理する作業
インスタンス一覧を取得する。この時、前記一覧内の各
作業インスタンスは、プロセス定義名と、案件名と、作
業定義名とで一意に特定され、属性情報として該作業イ
ンスタンスの処理優先度を保持する。
【0063】次に、前記作業インスタンス一覧内から、
「GetWorkList」コマンドにて指定された作
業者に割り当てられた作業インスタンスを取得する。該
作業者に割り当てられた作業インスタンスは、作業情報
0604をキーにして、作業情報0604に前記作業者
名を持つ作業インスタンスをワークフロー実行状態テー
ブル0611から検索することにより取得する。
【0064】「CompleteWork」では、プロ
セス定義名と案件名と作業定義名とを受け取り、ワーク
フロー実行状態制御部0152に対して、「作業完了要
求」コマンドを送信する。ワークフロー実行状態制御部
0152は「作業完了要求」コマンドを受け付けると、
該プロセス定義名と、該案件名と、該作業定義名とで示
される作業インスタンスの完了処理を行い、新たに開始
可能な作業インスタンスの状態を「Ready」にす
る。
【0065】「StartProcess」では、プロ
セス定義名と案件名とプロセス定義名とを受け取り、ワ
ークフロー実行状態制御部0152に対して、「案件開
始要求」コマンドを送信する。ワークフロー実行状態制
御部0152は、「案件開始要求」コマンドを受け付け
ると、該プロセス定義名と及び該案件名で示される案件
の開始処理を行う。また、新たに開始可能な作業インス
タンスの状態を「Ready」にする。
【0066】「StopWorker」では、作業者名
を受け取り、優先度制御部0154に対して、「作業者
不在通知」コマンドを送信する。優先度制御部0154
は、「作業者不在通知」コマンドを受け付けると、作業
者負荷情報テーブル0711内で保持する前記作業者に
関する情報を更新する。
【0067】「RestartWorker」では、作
業者名若しくは自動実行業務プログラム名を受け取り、
優先度制御部0154に対して、「作業者復帰通知」コ
マンドを送信する。優先度制御部0154は、「作業者
復帰通知」コマンドを受け取り、作業者負荷情報テーブ
ル0711内で保持する前記作業者若しくは前記自動実
行業務プログラムに関する情報を更新する。
【0068】ワークフロー実行状態制御部0152は、
クライアント要求処理部0151及び業務プログラム実
行制御部0153より送信されたコマンドを受け付け
る。そして、受け付けられたコマンドにより、プロセス
定義0141に従って、ワークフロー実行状態情報01
42を変更する。
【0069】ワークフロー実行状態制御部0152は、
新たな案件の開始処理を行う「案件開始要求」コマンド
と、作業インスタンスの完了処理を行う「作業完了要
求」コマンドを受け付ける。
【0070】「案件開始要求」コマンドは、クライアン
ト要求処理部0151より送信される。「案件開始要
求」コマンドは、プロセス定義名と案件名を受け取り、
指定したプロセス定義を指定した案件名で開始し、更
に、案件開始時に開始可能な作業インスタンスを特定
し、該作業インスタンスの状態を「Ready」とする
コマンドである。
【0071】「作業完了要求」コマンドは、クライアン
ト要求処理部0151及び業務プログラム実行制御部0
153より送信される。「作業完了要求」コマンドは、
プロセス定義名と、案件名と、作業定義名とを受け取
り、指定した作業インスタンスの状態を「Comple
ted」とし、新たに開始可能な作業インスタンスを特
定し、該作業インスタンスの状態を「Ready」とす
るコマンドである。
【0072】以下、ワークフロー実行状態制御部015
2が前記コマンドを受け付けた時の処理について説明す
る。
【0073】「案件開始要求」コマンド受付け時には、
指定されたプロセス定義0141において定義された各
作業定義0220の情報を、作業定義情報テーブル04
11からプロセス定義名をキーに検索し、各作業定義0
220に対応する作業のレコードをワークフロー実行状
態テーブル0611へ挿入する。この時、各作業の状態
0605は「Initial」状態としておく。
【0074】また、案件名0601及びプロセス定義名
0602の各カラムには、コマンド受付け時に指定され
た案件名とプロセス定義名を設定する。また、作業定義
名0603及び作業情報0604の各カラムには該レコ
ードに対応する作業定義0220の属性情報である作業
定義名0402及び作業情報0404を設定する。
【0075】更に、プロセス定義0141の有向グラフ
に従って開始ノード0201から辿って最初に実行すべ
き作業定義0220を決定し、該作業定義に対応する作
業インスタンスの状態0605を「Ready」状態と
し、優先度制御部0154へ「作業開始通知」コマンド
を送信する。更に、該作業定義0220の作業種別04
03が「自動実行」の場合、業務プログラム実行制御部
0153へ「業務プログラム実行」コマンドを送信す
る。
【0076】「作業完了要求」コマンド受付け時には、
指定された案件の指定された作業定義に対する作業イン
スタンスの状態を「Completed」状態にし、プ
ロセス定義0141の有向グラフに従って該作業定義の
次に実行すべき作業定義を決定する。そして、次に実行
すべき作業定義に対する作業インスタンスの状態060
5を「Ready」状態とする。更に、「Comple
ted」状態に更新した作業インスタンスのプロセス定
義名と、案件名と、作業定義名を指定して、優先度制御
部0154に「作業完了通知」コマンドを送信する。
【0077】また、「Ready」状態に更新した作業
インスタンスのプロセス定義名と、案件名と、作業定義
名を指定して、優先度制御部0154に「作業開始通
知」コマンドを送信する。この時、「Ready」状態
に更新した作業インスタンスの作業種別0403が「自
動実行」の場合、業務プログラム実行制御部0153へ
「業務プログラム実行」コマンドを送信する。
【0078】業務プログラム実行制御部0153は、ワ
ークフロー実行状態制御部0152より送信された「業
務プログラム実行」コマンドを受け付け、自動実行業務
プログラム0102へ起動要求を送信する。
【0079】業務プログラム実行制御部0153は、
「起動要求受付け部」と「業務プログラム起動部」とか
らなる。「起動要求受付け部」は、ワークフロー実行状
態制御部0152から「業務プログラム実行」コマンド
を受け付け、受け取った実行要求を業務プログラム実行
要求管理情報0144へ格納する。「業務プログラム起
動部」は、一定間隔毎に、業務プログラム実行要求管理
情報0144から起動要求を各作業インスタンスの処理
優先度順に取り出し、自動実行業務プログラム0102
へ実行要求を送信する。更に、「業務プログラム起動
部」は、前記実行要求に対する結果を取得する。
【0080】次に、業務プログラム実行制御部0153
の「起動要求受付け部」の処理手順を示す。
【0081】「起動要求受付け部」が、「業務プログラ
ム実行」コマンドをワークフロー実行状態制御部015
2から受け付けた時の動作は以下の通りである。
【0082】「起動要求受付け部」は、ワークフロー実
行状態制御部0152より「業務プログラム実行」コマ
ンドを受け付ける。この際、プロセス定義名、作業定義
名、案件名、及び自動実行業務プログラム名を、ワーク
フロー実行状態制御部0152より受け取る。次に、現
在の日時を取得する。日時の取得は、例えば、オペレー
ティングシステムの提供するシステムコールを呼び出す
ことで取得することができる。前記処理にて取得した現
在日時と、ワークフロー実行状態制御部0152より受
け取った実行要求とを、業務プログラム実行要求管理テ
ーブル0811へ挿入する。
【0083】次に、業務プログラム実行制御部0153
の「業務プログラム起動部」の処理手順を示す。
【0084】図7は本実施形態の「業務プログラム起動
部」が、自動実行業務プログラム0102へ業務処理の
実行要求を送信する際の処理手順を示すフローチャート
である。図7に示す処理手順は、「業務プログラム起動
部」により、繰り返し実行される。この繰り返しの実行
は、一定時間毎に行っても良い。
【0085】ステップ0901では、優先度制御部01
54に対して、「作業優先度一覧取得」コマンドを送信
することで、ワークフロー実行制御エンジン0101内
で管理する作業インスタンス一覧を取得する。この時、
前記一覧内の各作業インスタンスは、プロセス定義名、
案件名及び作業定義名とで特定され、属性情報として該
作業インスタンスの処理優先度を保持する。
【0086】ステップ0902では、ステップ0901
の取得結果から、優先度に「高」が設定された作業イン
スタンスに関する起動要求の内、発生日時が最も古い起
動要求を1つ取得する。起動要求の取得処理は、業務プ
ログラム実行要求管理テーブル0811からプロセス定
義名0801と作業定義名0802と案件名0803と
をキーに取得する。
【0087】ステップ0903では、ステップ0902
の検索結果が空ならば、ステップ0904へ進む。それ
以外ならば、ステップ0908へ進む。
【0088】ステップ0904では、ステップ0901
の取得結果から、優先度に「中」が設定された作業イン
スタンスに関する起動要求の内、発生日時が最も古い起
動要求を1つ取得する。起動要求の取得処理は、業務プ
ログラム実行要求管理テーブル0811からプロセス定
義名0801と作業定義名0802と案件名0803と
をキーに取得する。
【0089】ステップ0905では、ステップ0904
の検索結果が空ならば、ステップ0906へ進む。それ
以外ならば、ステップ0908へ進む。
【0090】ステップ0906では、ステップ0901
の取得結果から、優先度に「低」が設定された作業イン
スタンスに関する起動要求の内、発生日時が最も古い起
動要求を1つ取得する。起動要求の取得処理は、業務プ
ログラム実行要求管理テーブル0811からプロセス定
義名0801と作業定義名0802と案件名0803と
をキーに取得する。
【0091】ステップ0907では、ステップ0906
の検索結果が空ならば、終了する。それ以外ならば、ス
テップ0908へ進む。
【0092】ステップ0908では、ステップ090
2、ステップ0904若しくは、ステップ0906にて
取得した起動処理要求を自動実行業務プログラム010
2に送信し、自動実行業務プログラム0102からの返
信を受信する。
【0093】ステップ0909では、ステップ0908
にて取得した自動実行業務プログラム0102からの返
信が、完了通知の場合は、ステップ0911へ進む。障
害発生通知の場合は、ステップ0910へ進む。
【0094】ステップ0910では、優先度制御部01
54に対して、障害発生通知を送信した自動実行業務プ
ログラム名を指定して、「作業者不在通知」コマンドを
送信し、ステップ0901へ戻る。自動実行業務プログ
ラム名は、業務プログラム実行要求管理テーブル081
1の作業情報0804より取得することができる。
【0095】ステップ0911では、ワークフロー実行
状態制御部0152に対して、処理を行った作業インス
タンスを指定して、「作業完了通知」コマンドを送信
し、ステップ0901へ戻る。
【0096】優先度制御部0154は、「作業者不在通
知」コマンドと、「作業者復帰通知」コマンドと、「作
業開始通知」コマンドと、「作業完了通知」コマンド
と、「作業優先度一覧取得」コマンドを受け付ける。
【0097】「作業者不在通知」コマンドは、クライア
ント要求処理部0151及び業務プログラム実行制御部
0153より呼び出される。「作業者不在通知」コマン
ドは、不在となった作業者名若しくは障害が発生した自
動実行業務プログラム名を受け取り、作業者負荷情報0
143を更新する。
【0098】「作業者復帰通知」コマンドは、クライア
ント要求処理部0151より呼び出される。「作業者復
帰通知」コマンドは、復帰した作業者名若しくは障害が
回復した自動実行業務プログラム名を受け取り、作業者
負荷情報0143を更新する。
【0099】「作業開始通知」コマンドは、ワークフロ
ー実行状態制御部0152より呼び出される。「作業開
始通知」コマンドは、「Ready」状態となった作業
インスタンスのプロセス定義名と、作業定義名を受け取
り、該作業インスタンスに割り当てられた作業者若しく
は自動実行業務プログラムを特定し、作業者負荷情報0
143を更新する。
【0100】「作業完了通知」コマンドは、ワークフロ
ー実行状態制御部0152より呼び出される。「作業完
了通知」コマンドは、「Completed」状態とな
った作業インスタンスのプロセス定義名と、作業定義名
を受け取り、該作業インスタンスに割り当てられた作業
者若しくは自動実行業務プログラムを特定し、作業者負
荷情報0143を更新する。
【0101】「作業優先度一覧取得」コマンドは、クラ
イアント要求処理部0151及び業務プログラム実行制
御部0153より呼び出され、ワークフロー実行状態テ
ーブル0611にて管理している作業インスタンスの一
覧を返す。このとき、「作業優先度一覧取得」コマンド
では、作業インスタンス一覧内の各作業インスタンスに
対して処理優先度を適切に決定し、決定した処理優先度
を各作業インスタンスの属性情報として設定する。例え
ば、滞留作業により影響を受ける作業の処理優先度を
「低」に変更する。
【0102】以下、各コマンドの処理の詳細について説
明する。優先度制御部0154が「作業者不在通知」コ
マンドを受け付けた時の処理の詳細は次の通りである。
「作業者不在通知」コマンドでは、作業者名若しくは自
動実行業務プログラム名を受け取り、該作業者名若しく
は該自動実行業務プログラム名を作業情報0701カラ
ムに持つレコードを作業者負荷情報テーブル0711か
ら取得し、該レコードの有効フラグ0703を「No」
に変更する。
【0103】優先度制御部0154が「作業者復帰通
知」コマンドを受け付けた時の処理の詳細は次の通りで
ある。「作業者復帰通知」コマンドでは、作業者名若し
くは自動実行業務プログラム名を受け取り、該作業者名
若しくは該自動実行業務プログラム名を作業情報070
1カラムに持つレコードを作業者負荷情報テーブル07
11から取得し、該レコードの有効フラグ0703を
「Yes」に変更する。
【0104】優先度制御部0154が「作業開始通知」
コマンドを受け付けた時の処理の詳細は以下の通りであ
る。
【0105】まず、コマンドにて指定されたプロセス定
義名及び作業定義名をキーに作業定義情報テーブル04
11から作業定義を検索し、作業者名若しくは自動実行
業務プログラム名を取得する。即ち、該プロセス定義名
と該作業定義名とを、プロセス定義名0401及び作業
定義名0402に持つ、作業定義の作業情報0404を
取得する。次に、前記処理において取得した作業者名若
しくは自動実行業務プログラム名を作業情報0701カ
ラムに持つレコードを作業者負荷情報テーブル0711
から検索する。更に、該レコードの未実行作業数070
2を、「1」増加させる。
【0106】「作業完了通知」コマンドでは、「Com
pleted」状態となった作業インスタンスのプロセ
ス定義名及び作業定義名を受け取る。優先度制御部01
54が「作業完了通知」コマンドを受け付けた時の処理
の詳細は次の通りである。まず、作業定義情報テーブル
0411より、「作業完了通知」コマンドにて指定され
たプロセス定義名と作業定義名を、プロセス定義名04
01及び作業定義名0402に持つ、作業定義の作業情
報0404を取得する。更に、前記処理において取得し
た作業情報を作業情報0701カラムに持つレコードを
作業者負荷情報テーブル0711から検索し、該レコー
ドの未実行作業数0702の値を「1」減少させる。
【0107】優先度制御部0154が「作業優先度一覧
取得」コマンドを受け付けた時の処理概要は次の通りで
ある。
【0108】「作業優先度一覧取得」では、まず、滞留
作業者若しくは滞留自動実行業務プログラムを特定する
(ステップA)。次に、滞留作業を特定する(ステップ
B)。更に、該滞留作業により業務の進捗に影響を受け
る作業範囲を特定する(ステップC)。その後、ワーク
フロー実行状態テーブル0611にて管理している作業
インスタンスの一覧を取得し、各作業インスタンスの処
理優先度を適切に決定する(ステップD)。最後に、作
業インスタンスの一覧をコマンド要求元に返す。
【0109】以下では、各処理に関して説明する。ま
ず、滞留作業者、滞留自動実行業務プログラムの特定処
理(ステップA)について、何通りかの方法を説明す
る。これらの各方法は、作業者の不在通知、業務プログ
ラムの障害発生、事前定義された閾値による作業者また
は業務プログラムの滞留状態の判定に対応するものであ
る。
【0110】始めに、作業者の不在通知及び業務プログ
ラムの障害発生に対する処理内容を説明する。この処理
では、作業に対する作業者の不在通知を受けた場合に該
作業者を滞留状態として判定する場合と、自動実行業務
プログラムに障害が発生した場合に該自動実行業務プロ
グラムを滞留状態として判定する場合の両方に対応す
る。前記処理では、作業者負荷情報テーブル0711か
ら、有効フラグ0703に「No」が指定された作業情
報0701を検索することにより、滞留状態の作業者ま
たは自動実行業務プログラムを特定する。
【0111】次に、事前定義された閾値による作業者ま
たは業務プログラムの滞留状態の判定に対する処理内容
を説明する。この処理では、作業者または自動実行業務
プログラムに割り当てられた作業における滞留数の累計
が閾値を上回る場合に、該作業者または該自動実行業務
プログラムを滞留状態として判定する。前記処理では、
作業者負荷情報テーブル0711から、未実行作業数0
702が滞留閾値0704を超える作業情報0701を
取得することにより、滞留状態の作業者または自動実行
業務プログラム名を特定することができる。
【0112】次に、滞留作業の特定処理(ステップB)
について、何通りかの方法を説明する。これらの各方法
は、事前定義された閾値による作業の滞留状態の判定、
滞留状態の作業者または自動実行業務プログラムに割り
当てられていた作業を滞留作業とする判定に対応してい
る。
【0113】始めに、事前定義された閾値による作業の
滞留状態の判定に対する処理内容を説明する。この処理
では、各作業における滞留数が閾値を上回っている場合
に該作業を滞留状態と判定する。この処理の詳細な処理
手順は、以下の通りである。まず、ワークフロー実行状
態テーブル0611を検索し、状態0605が「Rea
dy」となっているレコード数を作業定義毎に集計す
る。これにより、「Ready」状態の作業数を作業定
義毎に取得できる。次に、取得した「Ready」状態
の作業数が作業定義に設定された閾値を超える作業定義
名を特定し、特定した作業定義を滞留作業とする。各作
業定義に設定された閾値は、作業定義情報テーブル04
11からプロセス定義名0401と作業定義名0402
をキーに、滞留閾値0407を検索することにより取得
する。
【0114】次に、滞留状態の作業者または自動実行業
務プログラムに割り当てられた作業を滞留作業と判定す
る処理内容について説明する。この処理では、ステップ
Aにて取得した滞留状態の作業者または自動実行業務プ
ログラムを作業情報0404にとる作業定義を作業定義
情報テーブル0411から取得することにより、滞留作
業を特定することができる。
【0115】次に、前記処理により特定した滞留作業に
より、作業の進捗に影響を受ける作業範囲を特定する処
理(ステップC)について説明する。
【0116】優先度制御部0154では、プロセス定義
0141を滞留作業から逆に辿ることにより、滞留作業
の影響範囲を決定する。前記処理の詳細を図8に示す。
プロセス定義を逆に辿るとは、プロセス定義で定義され
る処理順序とは逆の順序で辿ることを示す。
【0117】図8は本実施形態の滞留作業の影響範囲を
特定する処理の処理手順を示すフローチャートである。
ステップ1001では、滞留作業の遷移元にある作業定
義若しくは制御ノードを全て取得する。滞留作業の遷移
元は、滞留作業の作業定義名を遷移先0503に持つレ
コードの遷移元0502を、アロー定義情報テーブル0
511から検索することで取得する。
【0118】ステップ1002では、ステップ1001
若しくはステップ1006の取得結果が存在しない場合
は、終了する。それ以外は、ステップ1003へ進む。
【0119】ステップ1003では、ステップ1001
若しくはステップ1006にて取得した作業定義及び制
御ノードから、制御ノードを抽出し滞留作業の影響範囲
内に含める。制御ノードの抽出は、制御ノード定義情報
テーブル0311から制御ノード名0302の一覧を取
得し、該一覧を参照することにより行う。
【0120】ステップ1004では、ステップ1001
若しくはステップ1006にて取得した作業定義及び制
御ノードから、作業定義を抽出する。作業定義の抽出
は、作業定義情報テーブル0411から作業定義名04
02の一覧を取得し、該一覧を参照することにより行
う。
【0121】ステップ1005では、ステップ1004
にて取得した作業定義一覧から、遷移先関連度が「依
存」である作業定義を取得する。また、前記処理にて取
得した作業定義を、滞留作業の影響範囲内に含める。前
記遷移先関連度は、作業定義情報テーブル0411か
ら、作業定義名をキーにして、遷移先関連度0405を
検索することにより取得する。
【0122】ステップ1006では、ステップ1003
及びステップ1005にて影響範囲内に含めた制御ノー
ド及び作業定義の遷移元を検索する。遷移元は、アロー
定義情報テーブル0511から、前記作業定義名若しく
は前記制御ノード名を遷移先0503に持つ、遷移元0
502を検索することで取得する。
【0123】前記処理のステップ1005では、遷移先
関連度に「依存」が設定された作業を滞留作業の影響範
囲に登録する。そして更に、該作業の遷移元に関して影
響範囲に含まれるかどうかの判定を行う。この為、作業
の遷移先関連度に「独立」を設定することで、該作業の
遷移先で滞留作業が発生した場合に、前記滞留作業が与
える影響範囲に該作業と該作業の遷移元を含めない様に
制御することができる。また、前記処理では、作業定義
毎に遷移先との関連を定義することにより、滞留作業の
影響範囲を指定したが、作業定義毎に、影響範囲を直接
定義しても良い。影響範囲の補助記憶装置0167への
格納内容の一例を図9に示す。
【0124】図9は本実施形態の影響範囲定義テーブル
の一例を示す図である。図9に示す影響範囲定義テーブ
ル1111では、プロセス定義名1101及び作業定義
名1102で示す作業定義が滞留状態となった時に業務
の進捗に影響を与える作業定義を影響作業定義名110
3に示す。
【0125】また、前記処理では、「分岐ノード」の遷
移元も検索することで、滞留作業に遷移可能な作業を特
定している。このとき、「分岐ノード」の全ての遷移先
が滞留作業の影響範囲に含まれるときに限り「分岐ノー
ド」の遷移元を検索することにより、滞留作業に確実に
遷移する作業を特定することができる。
【0126】例えば、ステップ1003の処理を以下の
様に変更することにより、前記処理を実現する。まず、
ステップ1001若しくはステップ1006にて取得し
た作業定義及び制御ノードから、制御ノードを抽出す
る。次に、前記処理にて取得した制御ノード一覧から、
ノード種別が「分岐ノード」以外の制御ノードを取得
し、該制御ノードを滞留作業の影響範囲内に含める。ノ
ード種別は、制御ノード定義情報テーブル0311から
制御ノード名0302をキーに、ノード種別0303を
検索することで確かめる。また、ステップ1001若し
くはステップ1006にて取得した一覧から、ノード種
別が「分岐ノード」である制御ノードを取得する。更
に、前記処理にて取得した「分岐ノード」の遷移先を調
べ、遷移先が影響範囲内に含まれる場合に、該制御ノー
ドを滞留作業の影響範囲内に含める。制御ノードの遷移
先は、アロー定義情報テーブル0511から遷移元05
02をキーに、遷移先0503を検索することで取得す
る。
【0127】次に、優先度制御部0154が、各作業イ
ンスタンスの処理優先度を適切に決定する処理(ステッ
プC)について説明する。この処理では、前記ステップ
Bにて特定した滞留作業の影響範囲に含まれる各作業イ
ンスタンスの処理優先度を下げて、作業インスタンス一
覧を生成する。以下、この処理について説明する。
【0128】まず、ワークフロー実行状態テーブル06
11より、状態0605カラムをキーにして、状態06
05に「Ready」を持つ作業インスタンスを取得す
る。作業インスタンスは、プロセス定義名と、案件名
と、作業定義名とで一意に定まり、各値は案件名060
1、プロセス定義名0602及び作業定義名0603か
ら取得可能である。次に、各作業インスタンスに対して
処理優先度を設定する。前記影響範囲に含まれる作業イ
ンスタンスは、該作業の処理優先度を「低」とする。ま
た、前記影響範囲に含まれない作業インスタンスは、作
業定義情報テーブル0411から、プロセス定義名04
01と作業定義名0402をキーにして該作業に対応す
る優先度0406を取得する。
【0129】最後に、優先度制御部0154は、前記処
理にて取得した作業インスタンスの一覧を「作業優先度
一覧取得」コマンドの呼び出し元に返す。
【0130】前記処理は、滞留状態の作業の影響範囲に
含まれる各作業インスタンスの処理優先度を下げる処理
に関して説明した。なお、以下の処理を行うことによ
り、前記影響範囲に含まれる各案件の優先度を下げるこ
とも実現可能である。各案件の優先度を下げる処理に関
して、以下で説明する。
【0131】まず、ワークフロー実行状態テーブル06
11より、前記影響範囲に含まれる作業を作業定義名0
603に持ち、状態0605に「Ready」を持つ、
案件名0601の一覧を取得する。更に、ワークフロー
実行状態テーブル0611より、状態0605カラムを
キーにして、状態0605に「Ready」を持つ作業
インスタンスを取得する。作業インスタンスは、プロセ
ス定義名と、案件名と、作業定義名とで一意に定まり、
各値は案件名0601及びプロセス定義名0602及び
作業定義名0603から取得可能である。
【0132】次に、各作業インスタンスに関して処理優
先度を設定する。作業インスタンスの案件名が先に取得
した案件名の一覧に含まれる場合は、優先度を「低」と
し、含まれない場合は、作業定義情報テーブル0411
から、プロセス定義名0401と作業定義名0402を
キーにして、該作業インスタンスに対応する優先度04
06を取得する。最後に、前記処理にて取得した作業イ
ンスタンスの一覧を「作業優先度一覧取得」コマンドの
呼び出し元に返す。
【0133】前記処理では、滞留状態に基づいて各作業
の処理優先度を決定していたが、「作業優先度一覧取
得」時に作業者若しくは自動実行業務プログラムの閑散
状態を加味して処理優先度を決定することも可能であ
る。前記処理により、「Ready」状態の作業が割り
当てられていない閑散状態の作業者または自動実行業務
プログラムを有効活用する様に処理優先度を変更するこ
とが可能となる。
【0134】以下、前記処理の概要について説明する。
「作業優先度一覧取得」では、滞留状態に基づいて各作
業の処理優先度を決定した時と同様に、まず前記ステッ
プA〜ステップDを実行する。次に、閑散状態の作業者
または自動実行業務プログラムを判定する(ステップ
E)。更に、閑散状態の前記作業者または自動実行業務
プログラムに割り当てられた作業を閑散状態と判定し、
閑散状態の作業に遷移可能な作業範囲をフロー定義に基
づいて特定する(ステップF)。最後に、前記作業範囲
に含まれる作業の処理優先度を高くする(ステップ
G)。次に、各ステップの一実現例について説明する。
【0135】閑散状態の作業者または自動実行業務プロ
グラムの判定処理(ステップE)は、未実行作業数07
02が閑散閾値0705を下回り、かつ、有効フラグ0
703が「Yes」である作業情報0701を作業者負
荷情報テーブル0711から取得することで行う。
【0136】次に、処理優先度を変更する作業範囲の特
定処理(ステップF)について詳細を示す。まず、ステ
ップEにより取得した閑散状態の作業者または自動実行
業務プログラムを、作業情報0404に持つ作業定義名
0402を作業定義情報テーブル0411より取得す
る。次に、前記処理にて取得した作業定義に遷移可能な
作業範囲を、プロセス定義を逆に辿ることにより特定す
る。前記作業範囲を特定する前記処理は、滞留作業によ
り作業の進捗に影響を受ける作業範囲の特定処理(ステ
ップB)と同じ処理にて行う。最後に、前記処理にて取
得した作業範囲から、滞留作業により影響を受ける作業
範囲に含まれる作業を取り除く。
【0137】最後に、優先度制御処理(ステップG)で
は、前記処理にて得られた作業範囲に含まれる作業の優
先度を「高」に変更する。
【0138】この様に、滞留作業に影響を受ける案件の
優先順位をより低くすることにより、滞留案件の発生を
抑止することができる。なお、優先順位を低くすること
には、予め設定された自身の優先度より低くすること及
び影響を受けない作業の優先度より低くすることが含ま
れる。
【0139】特に、同一の作業者若しくは自動実行業務
プログラムに複数の作業が割り当てられる場合、滞留作
業定義の影響を受けない業務を優先的に処理することに
より、業務の進捗が滞留作業により影響を受けない作業
に、計算機リソースや人的リソースを割り当てることが
可能となる。なお滞留作業定義の影響を受けない業務を
優先的に処理した後、滞留作業による影響の少ない業務
を優先的に処理する様に優先順位を変更することとして
も良い。
【0140】図10は本実施形態のプロセス定義014
1の第1の定義例を示す図である。例えば図10で示す
様なプロセス定義「PD2」、「PD3」において、作
業定義「A」と作業定義「X」を割り当てられた作業者
「E」は、作業定義「A」及び作業定義「X」の優先度
を元に、処理すべき作業を決定する。
【0141】このとき、作業者「F」が滞留状態の場合
は、作業Bは滞留作業となり、作業定義「A」は滞留作
業Bの影響範囲内に含まれる為、作業定義「A」の優先
度は「低」に変更される。これにより、作業者「E」
は、作業定義「A」よりも作業定義「X」に関する処理
を優先して実行し、更なる滞留案件の発生を抑止するこ
とができる。また、前記処理により作業者「G」への作
業量が増え、作業定義「A」の優先度を変更すること
で、作業者「G」を有効活用することが可能となる。
【0142】図11は本実施形態のプロセス定義014
1の第2の定義例を示す図である。図11で示す様なプ
ロセス定義「PD4」、「PD5」の場合では、不在等
により作業者「F」が滞留状態であるとき、作業定義
「B」から作業定義「C」への遷移が滞り、作業者
「G」の作業量が減少する。
【0143】このとき、滞留作業Bの影響範囲内に含ま
れる作業定義「A」の優先度を「低」に変更すること
で、作業者「E」はプロセス定義「PD5」を優先的に
処理する。これにより、作業定義「X」から作業定義
「Y」への遷移が増加し、作業Bの滞留による作業者
「G」への作業量の減少を抑制することが可能となる。
【0144】図12は本実施形態のプロセス定義014
1の第3の定義例を示す図である。更に図12で示す様
なプロセス定義「PD6」、「PD7」の場合の様に、
滞留状態及び閑散状態の作業者が混在する場合において
も、閑散状態及び滞留状態に基づいて適切に処理優先度
を変更することにより、計算機リソースや人的リソース
を適切に配分することができる。
【0145】前記ケースでは、滞留状態の作業者「G」
の影響により、作業定義「A」の処理優先度は「低」に
変更される。一方、閑散状態の作業者「H」により、作
業定義「X」、作業定義「Y」の処理優先度は「高」と
変更される。前記優先度制御により、作業者「F」はプ
ロセス定義「PD7」を優先的に処理する。これによ
り、作業者「H」に作業が割り当てられ、作業者「H」
を有効活用することが可能となる。
【0146】また、前記優先度制御は、ワークフロー管
理システムが作業者毎の作業数や自動実行業務プログラ
ムからの障害発生通知に基づいて行う為、システム管理
者による運用の手間を軽減することができる。
【0147】なお本実施形態では、滞留作業により影響
を受ける作業の処理優先度を「低」としたが、「高」を
「中」にする等、前記影響を受ける作業の処理優先度
を、その作業に予め設定されている処理優先度や、影響
を受けない作業の処理優先度、または予め定められた基
準の処理優先度よりも低く変更する処理を実行しても良
い。
【0148】また本実施形態では、滞留作業により影響
を受ける作業を検知し、検知された作業の処理優先度を
変更している。しかし、滞留作業により影響を受けない
作業の処理優先度を変更しても良い。例えば、滞留によ
り業務の進捗に影響を受ける作業を検知し、検知された
作業以外の作業を特定して、特定された作業の処理優先
度を高めても良い。その際、特定された作業の処理優先
度を「高」若しくは「中」と設定する等、前記影響を受
けない作業の処理優先度を、その作業に予め設定されて
いる処理優先度や、影響を受ける作業の処理優先度、ま
たは予め定められた基準の処理優先度よりも高く変更す
る。なお、影響を受ける作業の検知には、上述した通り
の「作業の範囲」を特定する方法を用いても良い。
【0149】更に、処理優先度を低くする処理と高くす
る処理を併用しても良い。つまり、影響を受ける作業の
処理優先度を予め設定されたものより低くし、影響を受
けない作業の処理優先度を予め設定されたものより高く
しても良く、例えば、影響を受ける作業の処理優先度を
「低」に設定し、影響を受けない作業の処理優先度を
「高」に設定する処理を行う。なお、この処理で設定さ
れる処理優先度は、影響を受けない作業の処理優先度
を、影響を受ける作業の処理優先度より高くすれば良
い。この為には、各作業の処理優先度をシステム側で把
握できるデータを用意しておくものとする。
【0150】以上説明した様に本実施形態のワークフロ
ー管理システムによれば、作業の滞留状態に応じて各作
業の処理優先度を変更するので、滞留作業が発生した場
合にその滞留作業によって業務の進行に影響を受けない
案件に計算機リソースや人的リソースを優先的に配分す
ることが可能である。
【0151】また本実施形態のワークフロー管理システ
ムによれば、事前定義された閾値により滞留状態を判定
するので、案件に応じて閾値を変更することにより種々
の案件における作業の滞留状態を判定することが可能で
ある。
【0152】また本実施形態のワークフロー管理システ
ムによれば、作業者または業務プログラムの滞留状態に
より作業の滞留状態を判定するので、個々の作業者また
は業務プログラムにより滞留した作業を効率良く検出す
ることが可能である。
【0153】
【発明の効果】本発明によれば作業の滞留状態に応じて
各作業の処理優先度を変更するので、滞留作業が発生し
た場合にその滞留作業によって業務の進行に影響を受け
ない案件に計算機リソースや人的リソースを優先的に配
分することが可能である。
【図面の簡単な説明】
【図1】本実施形態のワークフロー管理システムの構成
を示す図である。
【図2】本実施形態のプロセス定義0141の定義イメ
ージを示す図である。
【図3】本実施形態のプロセス定義0141の一例を示
す図である。
【図4】本実施形態のワークフロー実行状態テーブルの
一例を示す図である。
【図5】本実施形態の作業者負荷情報テーブルの一例を
示す図である。
【図6】本実施形態の業務プログラム実行要求管理テー
ブルの一例を示す図である。
【図7】本実施形態の「業務プログラム起動部」が、自
動実行業務プログラム0102へ業務処理の実行要求を
送信する際の処理手順を示すフローチャートである。
【図8】本実施形態の滞留作業の影響範囲を特定する処
理の処理手順を示すフローチャートである。
【図9】本実施形態の影響範囲定義テーブルの一例を示
す図である。
【図10】本実施形態のプロセス定義0141の第1の
定義例を示す図である。
【図11】本実施形態のプロセス定義0141の第2の
定義例を示す図である。
【図12】本実施形態のプロセス定義0141の第3の
定義例を示す図である。
【符号の説明】
0101…ワークフロー実行制御エンジン、0102…
自動実行業務プログラム、0103…クライアント業務
プログラム、0110…コンピュータネットワーク、0
120…計算機、0141…プロセス定義、0142…
ワークフロー実行状態情報、0143…作業者負荷情
報、0144…業務プログラム実行要求管理情報、01
51…クライアント要求処理部、0152…ワークフロ
ー実行状態制御部、0153…業務プログラム実行制御
部、0154…優先度制御部、0161…表示装置、0
162…キーボード、0163…マウス、0164…通
信装置、0165…メモリ、0166…CPU、016
7…補助記憶装置、0201…開始ノード、0202…
分岐ノード、0203…合流ノード、0204…終了ノ
ード、0210…アロー、0220…作業定義、030
1…プロセス定義名、0302…制御ノード名、030
3…ノード種別、0311…制御ノード定義情報テーブ
ル、0401…プロセス定義名、0402…作業定義
名、0403…作業種別、0404…作業情報、040
5…遷移先関連度、0406…優先度、0407…滞留
閾値、0411…作業定義情報テーブル、0501…プ
ロセス定義名、0502…遷移元、0503…遷移先、
0511…アロー定義情報テーブル、0601…案件
名、0602…プロセス定義名、0603…作業定義
名、0604…作業情報、0605…状態、0611…
ワークフロー実行状態テーブル、0701…作業情報、
0702…未実行作業数、0703…有効フラグ、07
04…滞留閾値、0705…閑散閾値、0711…作業
者負荷情報テーブル、0801…プロセス定義名、08
02…作業定義名、0803…案件名、0804…作業
情報、0805…発生日時、0811…業務プログラム
実行要求管理テーブル、1101…プロセス定義名、1
102…作業定義名、1103…影響作業定義名、11
11…影響範囲定義テーブル。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 紅山 伸夫 神奈川県川崎市幸区鹿島田890番地 株式 会社日立製作所ビジネスソリューション事 業部内 (72)発明者 鈴木 豊人 神奈川県川崎市幸区鹿島田890番地 株式 会社日立製作所ビジネスソリューション事 業部内

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 業務における複数の作業間の関係を定義
    するプロセス定義情報に基づいて作業の実行管理を行う
    ワークフロー管理方法において、 作業の進捗状況を検知し、その検知された進捗状況に基
    づいて滞留作業を特定するステップと、前記プロセス定
    義情報に基づいて前記滞留作業と所定の関係を有する作
    業を特定するステップと、前記所定の関係を有する作業
    の処理優先度を前記滞留作業との間の関係に応じて設定
    するステップと、前記設定された処理優先度に応じて当
    該作業の実行を制御するステップとを有することを特徴
    とするワークフロー管理方法。
  2. 【請求項2】 前記作業の各々に対して業務処理の滞留
    状態を判定する為の閾値を事前定義し、該作業における
    滞留数が該閾値を上回る場合に、該作業を滞留状態とし
    て判定することを特徴とする請求項1に記載されたワー
    クフロー管理方法。
  3. 【請求項3】 前記作業の業務処理を実行する作業者ま
    たは業務プログラムの滞留状態を判定し、滞留状態と判
    定された作業者または業務プログラムに割り当てられて
    いる作業を滞留状態として判定することを特徴とする請
    求項1に記載されたワークフロー管理方法。
  4. 【請求項4】 前記滞留作業と所定の関係を有する作業
    として、前記滞留作業の滞留により作業の進捗に影響を
    受ける作業を特定することを特徴とする請求項1乃至請
    求項3のいずれか1項に記載されたワークフロー管理方
    法。
  5. 【請求項5】 前記滞留作業の滞留により作業の進捗に
    影響を受ける作業の範囲を特定し、特定された範囲に含
    まれる作業を、前記影響を受ける作業として特定するこ
    とを特徴とする請求項4に記載されたワークフロー管理
    方法。
  6. 【請求項6】 前記影響を受ける作業の処理優先度を、
    その作業に予め設定されている処理優先度、影響を受け
    ない作業の処理優先度、または予め定められた基準の処
    理優先度よりも低く変更することを特徴とする請求項4
    または請求項5のいずれかに記載されたワークフロー管
    理方法。
  7. 【請求項7】 前記滞留作業と所定の関係を有する作業
    として、前記滞留作業の滞留により作業の進捗に影響を
    受けない作業を特定することを特徴とする請求項1乃至
    請求項3のいずれか1項に記載されたワークフロー管理
    方法。
  8. 【請求項8】 前記滞留作業の滞留により作業の進捗に
    影響を受ける作業を特定し、その特定された影響を受け
    る作業から前記影響を受けない作業を特定することを特
    徴とする請求項7に記載されたワークフロー管理方法。
  9. 【請求項9】 前記影響を受けない作業の処理優先度
    を、その作業に予め設定されている処理優先度、影響を
    受ける作業の処理優先度、または予め定められた基準の
    処理優先度よりも高く変更することを特徴とする請求項
    7または請求項8のいずれかに記載されたワークフロー
    管理方法。
  10. 【請求項10】 作業を構成する複数の副作業の内、予
    め定められた閾値以上の副作業が未実行である作業を滞
    留作業として特定することを特徴とする請求項1乃至請
    求項9のいずれか1項に記載されたワークフロー管理方
    法。
  11. 【請求項11】 業務における複数の作業間の関係を定
    義するプロセス定義情報に基づいて作業の実行管理を行
    うワークフロー管理システムにおいて、 作業の進捗状況を検知し、その検知された進捗状況に基
    づいて滞留作業を特定し、前記プロセス定義情報に基づ
    いて前記滞留作業と所定の関係を有する作業を特定し、
    前記所定の関係を有する作業の処理優先度を前記滞留作
    業との間の関係に応じて設定する優先度制御部と、前記
    設定された処理優先度に応じて当該作業の実行を制御す
    る実行制御部とを備えることを特徴とするワークフロー
    管理システム。
  12. 【請求項12】 前記優先度制御部は、前記作業の各々
    に対して業務処理の滞留状態を判定する為の閾値を事前
    定義し、該作業における滞留数が該閾値を上回る場合
    に、該作業を滞留状態として判定するものであることを
    特徴とする請求項11に記載されたワークフロー管理シ
    ステム。
  13. 【請求項13】 前記優先度制御部は、前記作業の業務
    処理を実行する作業者または業務プログラムの滞留状態
    を判定し、滞留状態と判定された作業者または業務プロ
    グラムに割り当てられている作業を滞留状態として判定
    するものであることを特徴とする請求項11に記載され
    たワークフロー管理システム。
  14. 【請求項14】 前記優先度制御部は、前記滞留作業と
    所定の関係を有する作業として、前記滞留作業の滞留に
    より作業の進捗に影響を受ける作業を特定するものであ
    ることを特徴とする請求項11乃至請求項13のいずれ
    か1項に記載されたワークフロー管理システム。
  15. 【請求項15】 前記優先度制御部は、前記滞留作業の
    滞留により作業の進捗に影響を受ける作業の範囲を特定
    し、特定された範囲に含まれる作業を、前記影響を受け
    る作業として特定するものであることを特徴とする請求
    項14に記載されたワークフロー管理システム。
  16. 【請求項16】 前記優先度制御部は、前記影響を受け
    る作業の処理優先度を、その作業に予め設定されている
    処理優先度、影響を受けない作業の処理優先度、または
    予め定められた基準の処理優先度よりも低く変更するも
    のであることを特徴とする請求項14または請求項15
    のいずれかに記載されたワークフロー管理システム。
  17. 【請求項17】 前記優先度制御部は、前記滞留作業と
    所定の関係を有する作業として、前記滞留作業の滞留に
    より作業の進捗に影響を受けない作業を特定するもので
    あることを特徴とする請求項11乃至請求項13のいず
    れか1項に記載されたワークフロー管理システム。
  18. 【請求項18】 前記優先度制御部は、前記滞留作業の
    滞留により作業の進捗に影響を受ける作業を特定し、そ
    の特定された影響を受ける作業から前記影響を受けない
    作業を特定するものであることを特徴とする請求項17
    に記載されたワークフロー管理システム。
  19. 【請求項19】 前記優先度制御部は、前記影響を受け
    ない作業の処理優先度を、その作業に予め設定されてい
    る処理優先度、影響を受ける作業の処理優先度、または
    予め定められた基準の処理優先度よりも高く変更するも
    のであることを特徴とする請求項17または請求項18
    のいずれかに記載されたワークフロー管理システム。
  20. 【請求項20】 前記優先度制御部は、作業を構成する
    複数の副作業の内、予め定められた閾値以上の副作業が
    未実行である作業を滞留作業として特定するものである
    ことを特徴とする請求項11乃至請求項19のいずれか
    1項に記載されたワークフロー管理システム。
  21. 【請求項21】 業務における複数の作業間の関係を定
    義するプロセス定義情報に基づいて作業の実行管理を行
    うワークフロー管理システムとしてコンピュータを機能
    させる為のプログラムにおいて、 作業の進捗状況を検知し、その検知された進捗状況に基
    づいて滞留作業を特定し、前記プロセス定義情報に基づ
    いて前記滞留作業と所定の関係を有する作業を特定し、
    前記所定の関係を有する作業の処理優先度を前記滞留作
    業との間の関係に応じて設定する優先度制御部と、前記
    設定された処理優先度に応じて当該作業の実行を制御す
    る実行制御部としてコンピュータを機能させることを特
    徴とするプログラム。
JP2002120748A 2001-05-10 2002-04-23 ワークフロー管理方法及びその実施システム並びにその処理プログラム Pending JP2003030389A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002120748A JP2003030389A (ja) 2001-05-10 2002-04-23 ワークフロー管理方法及びその実施システム並びにその処理プログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001140210 2001-05-10
JP2001-140210 2001-05-10
JP2002120748A JP2003030389A (ja) 2001-05-10 2002-04-23 ワークフロー管理方法及びその実施システム並びにその処理プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008007480A Division JP2008135054A (ja) 2001-05-10 2008-01-17 ワークフロー管理方法及びその実施システム

Publications (1)

Publication Number Publication Date
JP2003030389A true JP2003030389A (ja) 2003-01-31

Family

ID=26614904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002120748A Pending JP2003030389A (ja) 2001-05-10 2002-04-23 ワークフロー管理方法及びその実施システム並びにその処理プログラム

Country Status (1)

Country Link
JP (1) JP2003030389A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012131962A1 (ja) * 2011-03-30 2012-10-04 富士通株式会社 タスク実行制御装置、タスク実行制御システムおよびタスク実行制御方法
JP2016018299A (ja) * 2014-07-07 2016-02-01 富士通株式会社 コミュニケーション制御方法、コミュニケーション制御システムおよびコミュニケーション制御プログラム
WO2017163629A1 (ja) * 2016-03-25 2017-09-28 日本電気株式会社 情報処理装置、その制御方法および制御プログラム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012131962A1 (ja) * 2011-03-30 2012-10-04 富士通株式会社 タスク実行制御装置、タスク実行制御システムおよびタスク実行制御方法
JPWO2012131962A1 (ja) * 2011-03-30 2014-07-24 富士通株式会社 タスク実行制御装置、タスク実行制御システムおよびタスク実行制御方法
JP5682705B2 (ja) * 2011-03-30 2015-03-11 富士通株式会社 タスク実行制御装置、タスク実行制御システムおよびタスク実行制御方法
US9342356B2 (en) 2011-03-30 2016-05-17 Fujitsu Limited Task execution control for generating context information of a user to locate available services
JP2016018299A (ja) * 2014-07-07 2016-02-01 富士通株式会社 コミュニケーション制御方法、コミュニケーション制御システムおよびコミュニケーション制御プログラム
WO2017163629A1 (ja) * 2016-03-25 2017-09-28 日本電気株式会社 情報処理装置、その制御方法および制御プログラム
JPWO2017163629A1 (ja) * 2016-03-25 2019-01-31 日本電気株式会社 情報処理装置、その制御方法および制御プログラム
US11402825B2 (en) 2016-03-25 2022-08-02 Nec Corporation Information processing device, control method thereof, and control program

Similar Documents

Publication Publication Date Title
US7346532B2 (en) Workflow system
JP6223569B2 (ja) ビジネスフローをスケジュールするためのコンピュータ装置、方法及び装置
US8577709B2 (en) Workflow system, information processor, and method and program for workflow management
US6799314B2 (en) Work flow management method and work flow management system of controlling a work flow
JPH08287162A (ja) ワークフローシステム
JP2000067130A (ja) ワークフロー管理システム
WO1998027479A2 (en) Computer executable workflow resource management system
WO2007117132A1 (en) Method and system for synchronization of databases
US20020161615A1 (en) Workflow system
US20010032239A1 (en) Object management system and method for distributed object system
CN111913793A (zh) 分布式任务调度方法、装置、节点设备和系统
JP2006338197A (ja) トランザクション制御プログラム、トランザクション制御方法及びトランザクション処理システム
CN110737526A (zh) 一种基于Redis的分布式集群下的定时任务管理方法及装置
JPH0944461A (ja) 疎結合並列処理環境においてapiスタート及びキャンセルトランザクション機能を有する顧客情報制御システム及び方法
JP2003030389A (ja) ワークフロー管理方法及びその実施システム並びにその処理プログラム
JP2008135054A (ja) ワークフロー管理方法及びその実施システム
US6178464B1 (en) System and method for canceling a computer request
JPH1063751A (ja) ワークフローシステムおよびその作業分割方法
JP2003208323A (ja) バッチジョブの実行方法、システムおよびプログラム
JPH07253951A (ja) 分散処理システム
JP4489340B2 (ja) 情報管理支援装置、情報管理支援システム、情報管理支援方法、記憶媒体、及びプログラム
JP3225997B2 (ja) 情報処理システム
JP4055013B2 (ja) ワークフローシステムおよびワークフローシステムにおける作業分割方法
JP2005107632A (ja) Eaiサーバおよびeaiサーバのプログラム
JPH096657A (ja) 文書管理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071024

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080218

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080222

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080321

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100324