JP2010198324A - ビジネスプロセス実行方法及びその実行システム - Google Patents

ビジネスプロセス実行方法及びその実行システム Download PDF

Info

Publication number
JP2010198324A
JP2010198324A JP2009042473A JP2009042473A JP2010198324A JP 2010198324 A JP2010198324 A JP 2010198324A JP 2009042473 A JP2009042473 A JP 2009042473A JP 2009042473 A JP2009042473 A JP 2009042473A JP 2010198324 A JP2010198324 A JP 2010198324A
Authority
JP
Japan
Prior art keywords
business process
execution
instance
prediction
state
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
JP2009042473A
Other languages
English (en)
Inventor
Hideo Kuramochi
英生 倉持
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009042473A priority Critical patent/JP2010198324A/ja
Publication of JP2010198324A publication Critical patent/JP2010198324A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】CPU時間を有効に活用できるようにし、ビジネスプロセスの実行時間を短縮できるようにしたビジネスプロセス実行方法を提供する。
【解決手段】実行済みのビジネスプロセス履歴情報を統計的に分析し、その分析結果に基いて待機状態にあるビジネスプロセスインスタンスの中で次に実行状態に遷移する可能性の高いビジネスプロセスを予測して、ビジネスプロセスインスタンスが将来実行すべきアクティビティを予め実行しておく。
【選択図】図1

Description

本発明は、ビジネスプロセス実行方法及びその実行システムに係り、特に、実行済みのビジネスプロセス履歴を統計的に分析することで、現在実行途中のビジネスプロセスの将来の振舞いを予測し、その予測を基に、ビジネスプロセスを事前実行することでCPU時間を有効に活用できるようにし、ビジネスプロセスの実行時間を短縮できるようにしたものに関する。
近年、企業情報システムが激しく変化する経営環境の中で、企業の業務は常に変化に対応して行く必要がある。フレキシブルで変化に強い情報システムを構築するためには、社内の各システムを部品として組み合わせる再利用可能な構成に変化させる必要がある。このための新しい構築手法としては、企業情報システムを標準化されたインタフェースで結合するサービス指向アーキテクチャ(SOA)が注目されている。さらに、これらの個々のサービスを複数組み合わせて「ビジネスプロセス」として定義するためのビジネスプロセス記述言語も登場している。ビジネスプロセス定義言語の一例は、標準化団体OASISが策定したWS−BPELが挙げられる。
また、近年、ビジネスプロセスを実行し、その進捗状況や外部のシステムと送受信したデータを運用者に提供することで企業のビジネスプロセス管理を支援するソフトウェアが登場している。これらのソフトウェアでは、一般に、予めユーザがこのシステムで実行・管理したいビジネスプロセスが定義・登録されている。プロセス開始のトリガーとなる情報、すなわち、どのようなメッセージを受信したらどのビジネスプロセス定義のインスタンスを生成し、実行するかの情報も、予めユーザによって登録されている。
さらに、特許文献1〜特許文献6には、ビジネスプロセス処理方法、ビジネスプロセスシステム、そのプログラム等のビジネスプロセスに関する内容が開示されている。
特開2004−258823号公報 特開2008−112311号公報 特開2006−228019号公報 特開2003−228647号公報 特開2003−303107号公報 特開平9−22287号公報
しかしながら、関連するビジネスプロセスを実行するシステムにおいては、ユーザが予め定義したビジネスプロセス定義を逐次実行するのみであったため、ビジネスプロセスを実行する役割を担うビジネスプロセス実行システムは、プロセスインスタンスが、例えば外部サービスからのメッセージを待っている待機状態では実行するアクティビティがないので、CPUはほとんど利用されない状態に置かれている。
すなわち、関連するビジネスプロセスを実行するシステムのソフトウェアでは、外部からのメッセージを実際に受信すると、対応するビジネスプロセスのインスタンス(プロセスインスタンス)を生成し、プロセス定義に従ってアクティビティが逐次実行される。また一般に、ビジネスプロセス定義内には、外部サービスからのメッセージ受信待ちやタイマーによる特定時刻の到達待ちを意味する待機状態が存在する。このため、ビジネスプロセスを実行する役割を担う実行エンジンは、インスタンスが、例えば特定時間への到達を待っている待機状態では、実行するアクティビティが存在しないので、CPUはほとんど利用されない状態に置かれている。
また、関連するビジネスプロセスを実行するシステムにおいては、一時的に実行状態のアクティビティが多くなるとCPU時間もそれだけ多く必要になり、CPU時間が効率的に活用できているとは言えなかった。このような動作は、実行状態のビジネスプロセスインスタンスが多い過負荷状態においてはスループットが出ないという問題を引き起こす原因となることもあった。
すなわち、関連するビジネスプロセスを実行するシステムにおいては、一時的に実行状態のビジネスプロセスインスタンスが多い過負荷状態になると、実際には実行状態であるにも拘わらず、ビジネスプロセスインスタンスを実行できずにスループットが出ないという問題を引き起こす原因となることもあった。このことは、ビジネスプロセス実行システムを一種の「さまざまな「ビジネスプロセス定義」という命令を実行するプロセッサ」とみなせば、CPU時間を有効、かつ、効率的に活用できていないとも言える。
また、上述の特許文献には、ビジネスプロセスに関する内容が開示されているが、本発明に係るCPU時間を有効に活用できるようにし、ビジネスプロセスの実行時間を短縮できるようにした、ビジネスプロセス実行方法又はその実行システムは開示されていない。なお、特許文献4では、ビジネスプロセスの実行履歴を活用するということを開示しているが、その目的をビジネスプロセス定義自体の最適化においており、ビジネスプロセス実行時に効果が得られるという本発明を開示したものではない。
さらに、特許文献6では、処理能力に余裕がある場合に特定の処理(波形データの算出)を行っている。ここでは、請求項目6及び段落0038に記載があるように、事前実行の処理結果は必ず利用されるものであり、本発明が行っている「予測」を意味する事前実行とは目的と効果が異なっている。また、構成の観点からも、この技術文献6は「音楽データ」のみが補助記憶装置に存在する構成と考えられる。つまり、この技術文献6は 事前実行に利用できる情報は、予め存在する音楽データのみであり、これは増加することはない。もちろん、利用者が異なる楽曲を保存することはあるだろうが、特定の楽曲の再生中の事前実行には利用されない。これと比較して本発明では、自身(ビジネスプロセス実行システム)が実行・記録したビジネスプロセス実行履歴を、事前実行の演算に利用するようにしている。
上記特許文献の発明のようなCPUの投機的実行の分野では、投機実行の対象がCPUの命令処理であるという特性から、どのようなルールに基づいて予測を行うかをユーザ(利用者)が定義することができないか、または非常に困難である。しかしながら、本発明はCPUの処理命令とは異なり、ビジネスプロセスというユーザ自身が定義したものを実行するプロセッサ(ビジネスプロセス実行システム)を対象にしている。このため、予測に利用する統計情報をユーザ自身が定義できる点に大きな相違点を有している。さらに、分岐予測はCPUの投機実行にもあるが、待機状態から実行状態へ遷移するビジネスプロセスインスタンス(命令)を予測して投機実行(実行状態に遷移させて実行)するというアイデアは本発明にのみ適用できるものである点も、CPUの投機実行と異なっている。
そこで、本発明は、上記欠点を解決するためになされたものであって、その目的は、CPU時間を有効に活用できるようにし、ビジネスプロセスの実行時間を短縮できるようにしたビジネスプロセス実行方法及びその実行システムを提供することにある。
本発明に係るビジネスプロセス実行方法は、上記目的を達成するために、実行済みのビジネスプロセス履歴情報を統計的に分析し、その分析結果に基いて待機状態にあるビジネスプロセスインスタンスの中で次に実行状態に遷移する可能性の高いビジネスプロセスを予測して、ビジネスプロセスインスタンスが将来実行すべきアクティビティを予め実行しておくことを特徴としている。
また、本発明に係るビジネスプロセス実行システムは、上記目的を達成するために、実行済みのビジネスプロセス履歴情報を統計的に分析する分析手段と、分析結果に基いて待機状態にあるビジネスプロセスインスタンスの中で次に実行状態に遷移する可能性の高いビジネスプロセスを予測する予測手段と、予測されたビジネスプロセスをビジネスプロセスインスタンスが予め実行しておく実行手段とを有することを特徴としている。
本発明に係るビジネスプロセスにおいては、実行済みのビジネスプロセス履歴を統計的に分析することで、現在実行途中のビジネスプロセスの将来の振舞いを予測し、その予測を基に、ビジネスプロセスを事前実行するようにしているので、CPU時間を有効に活用でき、ビジネスプロセスの実行時間を短縮することができる。
すなわち、本発明に係るビジネスプロセスにおいては、待機状態から実行状態に遷移するビジネスプロセスインスタンスを予測し、CPUの空き時間に予め実行できるので、また、ビジネスプロセス定義内の条件分岐も過去の実行情報から分岐先を予測して事前に実行できるので、CPU時間を有効に活用でき、ビジネスプロセスの実行時間を短縮することができる。
本発明の一実施の形態に係るビジネスプロセス実行システムの概略構成を示すブロック図である。 ビジネスプロセスインスタンスの状態遷移図である。 状態遷移予測機能の動作を説明するためのフローチャートである。 条件分岐用のアクティビティを含むビジネスプロセス定義が事前実行される流れを示すブロック図である。 条件分岐予測機能の動作を説明するためのフローチャートである。 予測情報定義情報及び予測方法取得機能の動作を説明するためのフローチャートである。 分岐予測を行う方法の一例の動作を説明するためのフローチャートである。 本発明によるビジネスプロセスの事前実行例を説明するブロック図である。
以下、本発明を実施するための形態を図面に基いて説明する。図1は、本発明の一実施の形態に係るビジネスプロセス実行システムの概略構成を示すブロック 図であって、図中、100はそのシステム全体を示している。なを、図中、「BP」はビジネスプロセスを意味している。
このビジネスプロセス実行システム100は、それぞれ計算機上に配置された、ビジネスプロセスの定義情報が格納されたBP定義情報リポジトリ200と、実際にビジネスプロセスを実行する機能を担うプログラムであるBP実行エンジン300と、後述のBP実行履歴情報格納部に記録されている情報を統計的に分析し、待機状態にあるビジネスプロセスインスタンスの将来の動作を予測する予測エンジン400と、実行したビジネスプロセス情報及び実行しているビジネスプロセス情報を格納するBP実行履歴情報格納部500とから構成される。
上記BP定義情報リポジトリ200には、予めユーザが定義・登録したビジネスプロセスの情報、換言すると、そのビジネスプロセス定義が実行される前にユーザが定義・登録したビジネスプロセスの情報が格納されている。
この情報は、ビジネスプロセスのアクティビティの構造を持つBP構造情報201と、ビジネスプロセスが外部のサービスと電文の送受信をするのに必要な宛先(一般にはURIなど)情報や送受信する電文のフォーマットに関する情報のBP送受信情報202と、後述する予測エンジンが予測の際に利用する予測方法定義情報203とから構成されている。なお、この予測方法定義情報203は、本発明を特徴付ける一つである。
上記BP実行エンジン300は、外部のサービスと電文の送受信を行う電文送受信部301と、実行状態のビジネスプロセスインスタンスのアクティビティを実行するBPインスタンス実行部302と、予測エンジン400内の状態遷移予測機能の結果を基に後述する非実行状態BPインスタンス管理部から待機状態のBPインスタンスを実行状態に遷移させBPインスタンス実行部302に転送するBPインスタンス活性化機能303と、実行可能状態及び待機状態の非実行状態のビジネスプロセスインスタンスの状態を管理する非実行状態BPインスタンス管理部304とから構成される。
上記予測エンジン400は、BPインスタンス活性化機能303からの予測要求に対して、BP実行履歴情報格納部500の情報を分析し、次に待機状態から実行状態に遷移する可能性が高いBPインスタンスを選定する状態遷移予測機能401と、BP定義内の条件分岐の分岐予測を行う条件分岐予測機能402と、BP定義情報リポジトリ200内の予測方法定義情報203にアクセスする予測方法取得機能403とを有している。なお、これら各機能401,402,403 は、本発明を特徴付けるものである。
上記BP実行履歴情報格納部500には、ビジネスプロセスインスタンスが外部のサービスと送受信した送受信電文情報501と、ビジネスプロセスインスタンスがアクティビティをどのように遷移したか、各アクティビティの開始・終了時刻又は終了状態(正常終了なのか異常終了なのかの状態)を意味するアクティビティ実行履歴502と、ビジネスプロセスインスタンスの開始・終了時刻や終了状態などのインスタンス実行履歴503とが格納されている。これら情報は、BP実行エンジン300内のBPインスタンス実行部302により記録される。
なお、本発明の特徴を成す予測エンジン400に関しては、後に、それぞれ図3及び図5を用いて状態遷移予測機能401及び条件分岐予測機能402を説明する。また、予測情報定義情報203及び予測方法取得機能403に関しては、図6を用いて説明する。
以下、上記構成からなるビジネスプロセス実行システム100の動作について詳細に説明する。
図2には、ビジネスプロセスインスタンスの状態遷移図が示されている。この図2では、BPインスタンス実行部302には4つの実行状態のBPインスタンスが図示されているが、図面を簡略化するために、便宜上、状態遷移に関しては、4つの実行状態のうち左側上部に位置する1つのみに記されている。
先ず、本発明の特徴をより理解し易いようにするために、図2を参照して、関連するビジネスプロセス実行システムについて説明する。
関連するビジネスプロセス実行システムでは、待機状態にあるビジネスプロセスインスタンスは実行可能状態を経て実行状態に遷移するまでは処理を行わないため、CPU時間が消費されることはない(なお、現実にはゼロではないが、実行状態にあるBPインスタンスにかかるCPU時間と比較して一般に極わずかである)。つまり、処理対象のビジネスプロセスインスタンス数(非実行状態BPインスタンス管理部304とBPインスタンス実行部302にあるビジネスプロセスの総数)が一定の状態において、その多くが待機状態にあるとCPU時間にゆとりがあるが、逆にその多くが実行状態に遷移すると、途端にCPU時間が枯渇してしまうなどの問題が起こり得る性質を有している。
そして、待機状態にあるビジネスプロセスインスタンスが実行状態に遷るには、待機しているイベントの発生が必要不可欠で(図2中の丸印「2」の遷移参照)、このイベントの発生タイミングは、関連するビジネスプロセス実行システムではコントロールできないものであった。
次に、図3のフローチャートを用いて、本発明の状態遷移予測機能401を利用したBPインスタンス実行部302の動作の流れを詳説する。
初期状態(ステップ100(以下、ステップを「S」とする。))においては、実行対象のBPインスタンスが存在しない状態を意味している。外部からのメッセージ受信や特定の時間によってBPインスタンスを生成して実行すると(S101)、BPインスタンス実行部302では、定期的に自身の処理能力(CPU時間)に余裕があるか(実行状態のBPインスタンスの処理でCPU時間が占有されていないか)否かのチェックを行う(S102)。もし、処理能力に余裕がない(実行状態のBPインスタンスの処理でCPU時間が占有されている)と判定した場合は、実行状態のBPインスタンスを実行するため、上記S101に戻り、引き続き実行状態のBPインスタンスの処理を継続する。
上記S102において、処理能力に余裕があり、すなわち、BPインスタンス実行部302が現在以上のBPインスタンスの処理が可能であると判定した場合には、BPインスタンス活性化機能303に対してBPインスタンスの取得を依頼する(S103)。
BPインスタンス実行部302から依頼を受けたBPインスタンス活性化機能303では、先ず、非実行状態BPインスタンス管理部304に対して実行可能状態のBPインスタンスが存在するか否かの確認を行う(S104)。存在する場合は、BPインスタンス活性化機能303は、実行可能状態のBPインスタンスをBPインスタンス実行部302に転送する(S105)。この時点で、該当のBPインスタンスは実行状態に遷移しており、この遷移は、図2の丸印「1」に示す遷移に該当している。BPインスタンス実行部302は、処理対象(実行状態)のBPインスタンス数が1つ増えた状態でS101の処理に戻ることになる。なお、最初に待機状態ではなく実行可能状態のBPインスタンスを確認する理由は、予測が不要、すなわち間違いなく実行すべき対象のBPインスタンスであることが明白であるからである。
上記S104の判断において、実行可能状態のBPインスタンスがないと判定されると、BPインスタンス活性化機能303では、待機状態のBPインスタンスが存在するか否かの確認を行う(S106)。存在しない場合は、BPインスタンス実行部302は、処理の対象に加えるべきBPインスタンスを不在と判定し、S101の処理に戻って引き続きBPインスタンスの実行を行う。
上記S106の判断において、待機状態のBPインスタンスが存在する場合、BPインスタンス活性化機能303は、予測エンジン400の状態遷移予測機能401に、実行状態に遷移させるべきBPインスタンスの予測を依頼する (S107)。そして、予測エンジン400からの予測結果を受信したBPインスタンス活性化機能303は(S108)、待機状態のBPインスタンスをBPインスタンス実行部302に転送する (S109)。
この転送は、図2中の丸印「3」の遷移に相当していて、BPインスタンス実行部302は、処理対象(実行状態)のBPインスタンス数が1つ増えた状態でS101の処理に戻る。なお、これ以降のBPインスタンス実行部302におけるこのインスタンスに対する処理は事前実行であり、予測が外れた場合にはロールバックなどの処理が必要になる可能性もあるため、S109の前にチェックポイント(ロールバックする地点)などを設けておく実装も考えられる。
また、このフローチャートにおいては、便宜上、BPインスタンスの処理が完了するステップを示していないが、実際には任意のタイミングでBPインスタンスの処理は完了し、BPインスタンス実行部302から消滅することになる。
次に、図4のブロック図と図5のフローチャートを参照して、条件分岐用のアクティビティを含むビジネスプロセス定義が事前実行される流れを説明する。
ビジネスプロセス記述言語では、個々のサービスの呼び出しや送受信メッセージの編集処理の選択実行、あるいは待機状態にあるプロセスインスタンスの時間・イベントによる再開など、豊富な制御機能により、複雑なビジネスプロセスも定義可能であることが多い。ここでは、ビジネスプロセス定義を構成する最小の論理単位をアクティビティと呼んでいる。
一般に、アクティビティは、ビジネスプロセスインスタンスの状態遷移の観点から2つのクラスに大別することが可能である。その1つは、実行状態のビジネスプロセスインスタンスの状態を変えないアクティビティで、これを「基本アクティビティ」と呼ぶことにすると、図4中の「Start」、「A」、「B1」、「B2」、「C」、「D」、「End」がこれに該当している。基本アクティビティの分かりやすい例としては、外部から受信した電文の内容を変換するアクティビティなどが挙げられる。この場合、このアクティビティの実行前も実行後も、ビジネスプロセスインスタンスの状態は実行状態のままである。
2つめのクラスは、外部からのメッセージ受信や特定時刻の到達を待つためにビジネスプロセスインスタンスを実行状態から待機状態へと遷移させる「待機アクティビティ」である。図4中の「wait」がこれに該当している。最後に、これら2つとは別に、「構造アクティビティ」が存在している。これは、ビジネスプロセスのフローを制御するアクティビティであり、例えば、電文内容によって条件分岐を実行し、次に実行するアクティビティを決定するなどの役割を担う。図4中の「if」がこれに該当している。 以上の説明から明らかなように、図4中の1つの四角形はBP定義を構成するアクティビティであり、四角形内の文字は便宜的なアクティビティ名称を示している。
図5のフローチャートは、本発明のBP実行システムが図4のBP定義のインスタンスを処理する流れを示している。
先ず、インスタンス生成前の状態として開始状態にある(S200)。この後、外部からのメッセージ受信などをトリガーに、BPインスタンス実行部302がインスタンスを生成、実行する(S201)。そして、BPインスタンス実行部302が「A」を実行すると(S202)、次のアクティビティが「wait」であるため、BPインスタンス実行部302は、BPインスタンス活性化機能303に対してインスタンスを非実行状態管理部304に転送するように依頼する(S203)。この後、図3を用いて説明で述べた動作(状態遷移予測機能401の働き)が作用したと仮定すると、BPインスタンス活性化機能303がインスタンスをBPインスタンス実行部302に転送する(S204)。
BPインスタンス実行部302では、次に実行すべきアクティビティが「if」となっているので、BPインスタンス実行部302が予測エンジン400の条件分岐予測機能402に予測を依頼する(S205)。条件分岐予測機能402の結果(分岐先の予測)を受け、BPインスタンス実行部302が「B1」と「B2」、もしくは「C」を実行し(S206)、最後に、BPインスタンス実行部302が「D」と「End」を実行する。
この図5のフローチャートにおいて、S204以降の処理(if/B1/B2/C/D/End、の各アクティビティの処理)は事前実行である。このため、予測が外れた場合に備えてロールバックなどの処理が必要になる可能性もあるため、S203の前にチェックポイント(ロールバックする地点)などを設けておくようにしてもよい。
最後に、本発明における予測エンジン400について説明する。予測エンジン400が行う状態遷移予測(401)と条件分岐予測(402)は、判別分析などの統計的手法を利用することで可能である。その方法は多岐に渡るが、本発明はどのような統計的手法を利用するかを限定しない。統計に利用する情報は、BP実行履歴情報格納部500の送受信電文情報501、アクティビティ実行履歴502、インスタンス実行履歴503内の情報(以下、これらを「特徴量」と呼んでいる。)から、利用者が自由にカスタマイズすることができる。
先ず、図6を用いて、利用者が予測方法をカスタマイズするときの予測エンジン400内の予測方法取得機能403の対話フローを説明する。
最初に、利用者によってBP実行システム302に対して特定のBP定義( (A)とする)の予測方法の設定が要求される(S400)。BP定義(A)に対する未設定の特徴量候補が存在するかを判定し(S401)、存在するときは、利用者に対して予測エンジン内の予測方法取得機能403により特徴量候補ParamNを利用者に提示する(S402)。特徴量候補ParamNが提示された利用者は、該当の特徴量(ParamN)に対する重要度(予測に際してどの程度ParamNを重要視するか)を設定する(S403)。全ての特徴量候補に対して上述のS402、S403のフローを実施し終えると、予測方法取得機能403は、BP定義情報リポジトリ200内の予測方法定義情報203に設定を格納する(S404)。
この機能により、例えば、条件分岐の予測に、インスタンスの開始時刻よりも外部サービスから受信した電文の内容を重視したいのであれば、利用者はそのように重み付けを設定する(カスタマイズする)ことができる。
次に、図7を用いて、BP実行履歴情報格納部500の情報を基に、分岐予測を行う方法の一例について説明する。
先ず、現在処理対象としているBPインスタンス(インスタンスXとする)の状態から特徴量が抽出される(S301)。次に、予測エンジン400内の条件分岐予測機能402では、BP実行履歴情報格納部500から、以前に同じBP定義を実行した各インスタンス(インスタンスA、インスタンスB、インスタンスC・・・とする)の該当条件分岐前の特徴量を算出する(S302)。この特徴量はS301で抽出した特徴量と同じものが利用される。次に、条件分岐予測機能402では、上述のS301とS302で抽出した各インスタンスの間での類似度を算出する(S303)。この計算では、図6を用いて説明した重要度を考慮して行われる。
具体的には、判別分析を例にすれば、特徴量空間上に各インスタンスを写像し、インスタンスXの座標とのユークリッド距離の逆数をもって類似度とする方法が考えられるが、各軸は、重要度に応じて歪められる。この類似度が最も大きい(距離が小さい)インスタンス(ここでは、インスタンスAであったとする。)を、インスタンスXの条件分岐の予測対象とされる(S304)。最後に、インスタンスAの条件分岐結果がインスタンスXの条件分岐結果と判定される(S305)。
図8を用いて、本発明によるビジネスプロセスの事前実行の例を説明する。 ここには、便宜的なビジネスプロセス定義の例が示されていて、購買部の要員が発注文書を作成し、これが正式な発注データとなって社内のデータベースに保存されるまでのビジネスプロセスを示している。
各アクティビティを順に説明すると、先ず、最初の「receive」では、購買部の要員によって発注文書を作成する。この時点で、BPインスタンスが生成されるが、次のアクティビティがこの文書に対する承認(管理職などが行うと仮定する)待ちとなっているため、BPインスタンスは待機状態「wait」へと遷移する。ここで本発明における事前実行の機能が動作し、この待機状態「wait」のBPインスタンスが実行状態に遷移し、以降のアクティビティを事前実行する。すなわち、事前実行されるアクティビティは、発注文書妥当性検査「validation」を行い、次いで、実際に発注するための文書構造への変換「outbound map」を行う。そして、変換後の発注文書はデータベースに保存「store db」される。このように、このBP定義の例では、承認者の承認を待つことなく、上述の3つのアクティビティ「validation」、「outbound map」、「store db」を事前実行する例が示されている。
上記構成からなるビジネスプロセス実行システム100は、実行済みのビジネスプロセス履歴情報を統計的に分析し、待機状態にあるビジネスプロセスインスタンスの中で次に実行状態に遷移する可能性の高いビジネスプロセスを予測する。また、現在実行しているビジネスプロセスがどのようなアクティビティの遷移を辿るか、つまり、ビジネスプロセス定義内の条件分岐アクティビティの分岐予測を行い、これらの予測を基にビジネスプロセスインスタンスが将来実行すべきアクティビティを予め実行する。したがって、この予測が当った場合には、待機状態から実行状態への遷移以降のアクティビティの実行結果をそのまま利用することができる。これにより、ビジネスプロセスインスタンスの実行にかかる時間を短縮することが可能となる。もし予測が外れたことが判明した場合は、アクティビティ処理結果は全て廃棄されてしまうが、このように、先に実行しなければビジネスプロセス実行エンジンは特定時間到達などによる実行状態への遷移や分岐命令を実際に判定するまで何もしないため、BP実行エンジン300はCPU時間を浪費していることにはならないという特長を有している。
以上、本発明の一実施の形態について図面を参照して詳説したが、具体的な構成は、上記実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において設計変更等が可能である。
例えば、図1に示したBP実行システム100は、BP定義情報リポジトリ200、BP実行エンジン300、予測エンジン400、BP実行履歴情報格納部500をそれぞれ別の計算機上にもっていてもよい。また、例えばBP定義情報リポジトリ200とBP実行エンジン300が同じ計算機で予測エンジン400が別の計算機という構成でもよく、どのように配置しても本発明は正しく機能することができる。
また、図6では、予測方法取得機能403において、予測に利用する履歴情報(特徴量)の候補をBP実行システム100がユーザに提示し、各特徴量の重要度のみを利用者が決定する構成をとっているが、統計数学に精通した利用者がいることを想定して、これらの特徴量を利用してどのように予測を行うかの計算自体を利用者が設定可能にするようにしてもよい。つまり、図7の説明では、判別分析を例にしたが、この統計的手法さえも、利用者が自由に設定することができる。
なお、上述のビジネスプロセス実行システムは内部に、コンピュータシステムを有している。そして、上述した各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
100……PB実行システム、200……PB定義情報リポジトリ、201……PB構造情報、202……PB受信情報、203……予測方法定義情報、300……PB実行エンジン、301……電文送受信部、302……PBインスタンス実行部、303……PBインスタンス活性化機能、304……非実行状態PBインスタンス管理部、400……予測エンジン、401……状態遷移予測機能、402……条件分岐予測機能、403……予測方法取得機能、500……PB実行履歴情報格納部、501……送受信電文情報、502……アクティビティ実行履歴、503……インスタンス実行履歴

Claims (4)

  1. 実行済みのビジネスプロセス履歴情報を統計的に分析し、その分析結果に基いて待機状態にあるビジネスプロセスインスタンスの中で次に実行状態に遷移する可能性の高いビジネスプロセスを予測して、ビジネスプロセスインスタンスが将来実行すべきアクティビティを予め実行しておくことを特徴とするビジネスプロセス実行方法。
  2. 前記予測は、さらにビジネスプロセス定義内の条件分岐アクティビティの分岐予測を行うことを特徴とする請求項1に記載のビジネスプロセス実行方法。
  3. 実行済みのビジネスプロセス履歴情報を統計的に分析する分析手段と、
    分析結果に基いて待機状態にあるビジネスプロセスインスタンスの中で次に実行状態に遷移する可能性の高いビジネスプロセスを予測する予測手段と、
    予測されたビジネスプロセスをビジネスプロセスインスタンスが予め実行しておく実行手段と、
    を有することを特徴とするビジネスプロセス実行システム。
  4. 前記予測手段は、さらにビジネスプロセス定義内の条件分岐アクティビティの分岐予測を行うことを特徴とする請求項3に記載のビジネスプロセス実行システム。
JP2009042473A 2009-02-25 2009-02-25 ビジネスプロセス実行方法及びその実行システム Pending JP2010198324A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009042473A JP2010198324A (ja) 2009-02-25 2009-02-25 ビジネスプロセス実行方法及びその実行システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009042473A JP2010198324A (ja) 2009-02-25 2009-02-25 ビジネスプロセス実行方法及びその実行システム

Publications (1)

Publication Number Publication Date
JP2010198324A true JP2010198324A (ja) 2010-09-09

Family

ID=42822988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009042473A Pending JP2010198324A (ja) 2009-02-25 2009-02-25 ビジネスプロセス実行方法及びその実行システム

Country Status (1)

Country Link
JP (1) JP2010198324A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434266A (zh) * 2020-03-23 2021-09-24 杭州海康威视数字技术股份有限公司 任务分发方法、系统、电子设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101310A (ja) * 1999-07-29 2001-04-13 Hitachi Ltd ワークフローシステムの業務先行処理方法
JP2006073007A (ja) * 2004-09-01 2006-03-16 Microsoft Corp Rfidネットワーク内のデータをビジネスアプリケーションに拡張するのを容易にするシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101310A (ja) * 1999-07-29 2001-04-13 Hitachi Ltd ワークフローシステムの業務先行処理方法
JP2006073007A (ja) * 2004-09-01 2006-03-16 Microsoft Corp Rfidネットワーク内のデータをビジネスアプリケーションに拡張するのを容易にするシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434266A (zh) * 2020-03-23 2021-09-24 杭州海康威视数字技术股份有限公司 任务分发方法、系统、电子设备及介质

Similar Documents

Publication Publication Date Title
US10956013B2 (en) User interface for automated flows within a cloud based developmental platform
JP5259714B2 (ja) 実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置
US8838620B2 (en) Predictive data object retrieval
CN105677431B (zh) 将后台工作和前台工作解耦合
US20160098293A1 (en) System, method, and software for controlled interruption of batch job processing
US8935698B2 (en) Management of migrating threads within a computing environment to transform multiple threading mode processors to single thread mode processors
US20180324051A1 (en) User interface for automated flows within a cloud based developmental platform
US8892667B2 (en) Systems and methods for sending and receiving communications
US10101972B1 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
US20180157543A1 (en) System and method for a generic actor system container application
JP2006107440A (ja) ワークフロースケジュールのオーサリングツール
CN102087615A (zh) 消息队列中逻辑关联的消息的自动合并
CN111309294B (zh) 一种业务处理方法、装置及电子设备和存储介质
CN102541661B (zh) 实现等待地址同步接口的方法和设备
JP6094593B2 (ja) 情報システム構築装置、情報システム構築方法および情報システム構築プログラム
US20140149391A1 (en) Parallel display of multiple query results
AU2019201100A1 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
JPWO2014061229A1 (ja) 情報システム構築支援装置、情報システム構築支援方法および情報システム構築支援プログラム
US9632897B2 (en) Monitoring components in a service framework
JP2010198324A (ja) ビジネスプロセス実行方法及びその実行システム
JP2010152645A (ja) シミュレーション支援プログラム、シミュレーション装置、およびシミュレーション支援方法
JP5084355B2 (ja) フロー処理実行装置、フロー処理実行方法及びプログラム
CN102426535A (zh) 动态进程虚拟化
Mangukiya Laravel: A framework for building PHP Apps
JP4325466B2 (ja) タスク実行システム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100716

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130710

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131001