JP2008203934A - 分散ワークフローシミュレーションシステム、方法、及び、プログラム - Google Patents

分散ワークフローシミュレーションシステム、方法、及び、プログラム Download PDF

Info

Publication number
JP2008203934A
JP2008203934A JP2007036119A JP2007036119A JP2008203934A JP 2008203934 A JP2008203934 A JP 2008203934A JP 2007036119 A JP2007036119 A JP 2007036119A JP 2007036119 A JP2007036119 A JP 2007036119A JP 2008203934 A JP2008203934 A JP 2008203934A
Authority
JP
Japan
Prior art keywords
service
processing time
workflow
message
messages
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.)
Granted
Application number
JP2007036119A
Other languages
English (en)
Other versions
JP4872702B2 (ja
Inventor
Seiichi Koizumi
清一 小泉
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 JP2007036119A priority Critical patent/JP4872702B2/ja
Publication of JP2008203934A publication Critical patent/JP2008203934A/ja
Application granted granted Critical
Publication of JP4872702B2 publication Critical patent/JP4872702B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】より忠実にメッセージの振る舞いを再現できる分散ワークフローシミュレーションシステムを提供する。
【解決手段】サービス処理時間予測式生成手段402は、他のサービスとサーバマシン100を共有するサービスについて、サービス内の滞在メッセージ数及びサーバマシン100を共有する他のサービス内の滞在メッセージ数と、サービス処理時間とに基づいて、サービス処理時間予測式を生成する。ワークフロー遅延予測式生成手段403は、ワークフロー実行装置200内の滞在メッセージ数と、ワークフロー遅延時間とに基づいて、ワークフロー遅延時間予測式を生成する。シミュレート手段501は、サービス処理時間予測式及びワークフロー遅延時間予測式を用いてそれぞれサービス処理時間及びワークフロー遅延時間を計算し、業務システム内のメッセージの振る舞いを再現する。
【選択図】図1

Description

本発明は、分散ワークフローシミュレーションシステム、方法、及び、プログラムに関し、更に詳しくは、業務処理の流れをワークフロー実行装置にて行う分散ワークフローシステムのシミュレーションを行う分散ワークフローシミュレーションシステム、方法、及び、プログラムに関する。
業務システムとして、業務処理の流れを複数のワークフロー実行装置にて行う分散ワークフローシステムがある。ビジネスにおける業務システムの利用状況は常に変化するが、業務システムは、常に高いパフォーマンスに保つことが要求される。業務システムにおいて、不測の事態を避け、高いパフォーマンスに保つためには、今後の利用状況におけるパフォーマンスを正しく予測し、その予測に基づいて、業務システムを制御・再構築する必要がある。このため、精度の高いパフォーマンス予測が求められている。
分散ワークフローシステムにおいて、業務内の部分的な処理、例えば課金処理、発注処理は、サーバマシン上で動作する「サービス」によって提供される。ワークフロー実行装置は、業務処理の流れに従ってサービスを連携させ、業務全体を実現する。複数の分散したワークフロー実行装置が連携して、1つの業務を実現することもある。ワークフロー実行装置とサーバマシン(サービス)とは、それぞれネットワークに接続され、互いにアクセス可能である。図15に業務システムの一例を示す。同図に示すように、1つのサーバマシン上で、複数のサービスが動作することもある。サービスとワークフロー実行装置との間の通信はメッセージで行われ、サービス及びワークフロー実行装置は、メッセージの並列処理を行う。
従来のワークフローシミュレーションシステムの一例としては、特許文献1に記載のものがある。図16は、特許文献1に記載の分散ワークフローシミュレーションシステムの構成を示している。従来の分散ワークフローシミュレーションシステム20は、ネットワークシミュレーションモデル作成手段21と、ビジネスプロセスに関するダイアグラム作成22と、トラヒックファンデーションモデル作成手段23と、データベース装置24と、ビジネスプロセストラヒックモデル作成手段25と、ネットワークシミュレーションシステム実行手段26とを備える。
上記構成を有する従来の分散ワークフローシミュレーションシステムは、以下のように動作する。すなわち、トラヒックファンデーションモデル作成手段23は、業務処理のオブジェクトに対応するノード装置の相互間の作用をダイアグラムとして作成する。ビジネスプロセストラヒックモデル作成手段25は、トラヒックファンデーションモデル作成手段23で作成されたダイアグラムの各リンク上にトラヒック情報を対応させ、ビジネスプロセスにおけるトラヒック情報を含めたネットワークを作成する。ビジネスプロセストラヒックモデル作成手段25により作成されたネットワークに、ネットワークシステム上で発生するトラヒック情報を設定し、ネットワークシミュレーションシステム実行手段26により、これをシミュレーションする。特許文献1では、分散ワークフローシステム上を流れるトラヒック全体をモデル化することにより、高精度な分散ワークフローシミュレーションを実現できるとしている。
特開2003−178103号公報(図1)
ここで、シミュレーション手法としては、ワークロー内のメッセージの流れをPetri Netのようなモデルで抽象化し、このモデルを用いてメッセージの振る舞いを推測して、パフォーマンスの予測を行う手法がある。図17に、シミュレーションモデルの具体例を示す。図17において、矩形で表した部分はトランジションと呼ばれ、サービスを示している。また、円形で表した部分はプレースと呼ばれ、サービス内の滞在メッセージを入力経路ごとに示している。プレース内の黒丸は、メッセージを示す。
サービスでの処理時間について考えると、サービスは並列処理を行うため、サービス内の滞在メッセージ数が増えると、その分サーバマシンの処理能力を共有することになり、処理時間の延長が発生する。サーバマシンにおいて、滞在メッセージ数と処理時間とには相関があり、シミュレーション時に、滞在メッセージ数を実際の動作に忠実に再現することにより、精度の高いパフォーマンス予測が想定される。しかし、従来技術では、サービスでのメッセージ処理が重なるタイミングを考慮していないため、滞在メッセージ数の変化による処理時間の変化を考慮しておらず、予測精度が落ちるという問題がある。
また、サービスの処理に際しては、滞在メッセージ数が同じ場合であっても、処理時間は一定とはならず、ある程度の変動幅をもって変動が生じる。しかし、従来技術では、サービス処理時間の平均値を考慮するのみで、サービス処理時間のゆらぎを考慮していないため、サービス処理時間の予測精度は低い。また、サービスにメッセージが到着するたびに滞在メッセージ数が変化するため、予測精度を上げるためには、全滞在メッセージの処理時間とそのゆらぎとを計算する必要があるが、従来技術では、その点も考慮されていない。
業務システムでは、ユーザからのメッセージに対し、ワークフロー実行装置内でメッセージの解析、宛先判定、経路制御といった処理を行い、その後、ワークフロー実行装置からサービスにメッセージが送られる。このとき、ワークフロー実行装置では、メッセージ解析等によって、遅延が発生する。ワークフロー実行装置はメッセージを並列処理するため、ワークフロー実行装置での遅延時間は、ワークフロー実行装置の滞在メッセージ数に比例すると考えられる。しかし、従来技術ではこの遅延時間の変化を想定しておらず、ワークフロー実行装置での遅延時間変化により、予測精度が落ちるという問題がある。
業務システムでは、複数のサービスを、同一サーバマシン上で動作させることがあり、その場合には、複数のサービスがサーバマシンの処理能力を共有するため、あるサービスについて、滞在メッセージ数が少ない場合でも、共有するサービスでの滞在メッセージ数が多いときには、それによって、処理時間の延長が発生する。しかし、従来技術では、サービスの処理時間を、そのサービスについての滞在メッセージ数に基づいて予測しており、サーバマシン共有の影響を処理時間予測に加えていない。従って、同一サーバマシンが複数のサービスを提供する場合には、サービス処理時間の予測精度が落ちるという問題がある。
本発明は、上記従来技術の問題点を解消し、リソース共有の影響を考慮したシミュレーションを実現できる分散ワークフローシミュレーションシステム、方法、及び、プログラムを提供する。
本発明の別の目的は、サービスでのメッセージ処理が重なるタイミングというワークフローの振る舞いを再現できる分散ワークフローシミュレーションシステム、方法、及び、プログラムを提供することである。
また、本発明の別の目的は、ワークフロー実行装置での遅延時間の変動の影響を考慮したシミュレーションを実現できる分散ワークフローシミュレーションシステム、方法、及び、プログラムを提供することである。
上記目的を達成するために、本発明の分散ワークフローシミュレーションシステムは、メッセージの配送制御を行うワークフロー実行装置と、受信メッセージに従って少なくとも1つのサービスを実行するサーバマシンとを備えた業務システムをシミュレーションする分散ワークフローシミュレーションシステムにおいて、前記サービス内の滞在メッセージ数及び前記サービスのメッセージ処理時間を取得し、他のサービスと前記サーバマシンを共有するサービスについて、当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、当該サービスにおけるメッセージの処理時間との関係を定式化してサービス処理時間予測式を生成するサービス処理時間予測式生成手段と、前記業務システム内のメッセージの配送経路を定義するワークフロー定義と、前記サービス処理時間予測式とに基づいて、シミュレーションモデルを生成するシミュレーションモデル生成手段と、前記シミュレーションモデルに基づいて、前記業務システム内のメッセージの振る舞いを逐次的に再現するシミュレート手段と、前記他のサービスとサーバマシンを共有するサービスについて、前記シミュレート手段にて再現された当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて前記サービス処理時間を算出するサービス処理時間計算手段とを備えることを特徴とする。
本発明の分散ワークフローシミュレーションシステムでは、サーバにて複数のサービスが実行されているときには、業務システムから収集したサービス内の滞在メッセージ数と、そのサービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、サービス処理時間とに基づいて、サービス処理時間予測式を生成し、ワークフロー定義とサービス処理時間予測式とに基づいて、シミュレーションモデルを生成して、業務システム内のメッセージの振る舞いをシミュレートする。その際、他のサービスとサーバマシンを共有するサービスについては、生成したサービス処理時間予測式と、シミュレーションにおけるサービス内の滞在メッセージ数、及び、そのサービスとサーバマシンを共有するサービス内の滞在メッセージ数とに基づいて、サービス処理時間を計算する。サーバマシンが複数のサービスを実行する場合には、一のサービスにおけるサービス処理時間は、サーバマシン(リソース)を共有する他のサービスでの処理の影響を受けるため、そのサービス内の滞在メッセージ数だけでは求まらない。本発明では、サービス内の滞在メッセージ数と、サーバマシンを共有する他のサービス内の滞在メッセージ数と、サービス処理時間との関係からサービス処理時間予測式を生成し、これに用いてサービス処理時間を算出するため、シミュレーションにおいて、実際のサービス処理時間に近い形でサービス処理時間を求めることができる。従って、シミュレーションの精度を上げ、サービス処理時間を精度よく予測することができる。
本発明の分散ワークフローシミュレーションシステムでは、前記サービス処理時間予測式生成手段は、1つのサーバマシンにて1つのサービスが実行される場合については、前記サービス内の滞在メッセージ数と、前記サービスにおけるメッセージの処理時間との関係を定式化してサービス処理時間予測式を生成し、前記サービス処理時間計算手段は、前記シミュレート手段にて再現された前記サービス内の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて前記サービス処理時間を算出する構成を採用することができる。1つのサーバマシンにて1つのサービスが実行されている場合については、そのサービス内の滞在メッセージ数と、サービス処理時間との関係からサービス処理時間予測式を求め、これを用いてシミュレーションを行うことで、サービス処理時間を算出すればよい。
本発明の分散ワークフローシミュレーションシステムでは、前記サービス処理時間予測式生成手段は、前記サービスを入出力するメッセージについての測定情報を記憶するメッセージログ記憶装置を参照して、前記サービス内の滞在メッセージ数と、前記メッセージの処理時間とを取得する構成を採用できる。測定情報としては、例えば、メッセージIDや業務ID、関連メッセージIDなどを含むタイムスタンプ付きのメッセージログなどが考えられる。
本発明の分散ワークフローシミュレーションシステムでは、前記サービス処理時間計算手段は、前記サービス処理時間の計算後、前記サービス内の滞在メッセージ数が変化したときには、該変化後の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて、前記サービス処理時間を再計算する構成を採用できる。この場合、サービス内での滞在メッセージ数の変化に合わせて、サービス処理時間を再計算することで、シミュレーションにおいて、より実際に近い形でサービス処理時間を計算することができ、メッセージの振る舞いをより忠実に再現できる。
本発明の分散ワークフローシミュレーションシステムでは、前記サービス処理時間予測式生成手段は、サービス処理時間の確率分布を推定する構成を採用できる。この場合、前記サービス処理時間計算手段は、前記算出したサービス処理時間と、前記サービス処理時間の確率分布とに基づいて、変動を考慮したサービス処理時間を算出する構成を採用できる。実際の業務システムでは、サービス内の滞在メッセージ数からサービス処理時間が一意に定まるのではなく、滞在メッセージ数が同じでも、サービス処理時間にはゆらぎが生じることが多い。そこで、サービス処理時間予測式で得られるサービス処理時間に対して、実際のサービス処理時間がどのような確率分布で分布するかを推定しておき、これを用いて、サービス処理時間予測式を用いて得られたサービス処理時間に変動を加える。このようにすることで、シミュレーションにおいて、より実際に近い形でサービス処理時間を計算することができ、メッセージの振る舞いをより忠実に再現できる。
本発明の分散ワークフローシミュレーションシステムは、前記ワークフロー実行装置内の滞在メッセージ数及び前記ワークフロー実行装置による前記メッセージの遅延時間を取得し、前記ワークフロー実行装置内の滞在メッセージ数と、前記ワークフロー実行装置による前記メッセージの遅延時間との関係を定式化してワークフロー遅延時間予測式を生成する遅延時間予測式生成手段と、前記シミュレート手段にて再現された前記ワークフロー実行装置の滞在メッセージ数と、前記ワークフロー遅延時間予測式とに基づいて前記ワークフロー実行装置による前記メッセージの遅延時間を算出するワークフロー遅延時間計算手段とを更に備える構成を採用できる。ワークフロー実行装置にて、メッセージの配送制御を行う場合、メッセージがワークフロー実行装置に入力されてから、メッセージの配送先を決定し、次のサービス又はワークフロー実行装置にメッセージが出力されるまでの遅延時間は、ワークフロー実行装置内の滞在メッセージ数に応じて変化すると考えられる。そこで、ワークフロー実行装置内の滞在メッセージ数と、ワークフロー実行装置による遅延時間との関係から、ワークフロー遅延時間予測式を生成し、シミュレーションにおいて、ワークフロー遅延時間予測式を用いて、ワークフロー実行装置による遅延時間の影響を計算する。このようにすることで、より実際に近い形で、メッセージの振る舞いを再現することができ、シミュレーションの精度を上げることができる。
本発明の分散ワークフローシミュレーションシステムでは、前記シミュレーションモデル生成手段は、前記業務システム内のメッセージの配送経路を定義するワークフロー定義と、前記サービス処理時間予測式及び前記ワークフロー遅延時間予測式とに基づいて、シミュレーションモデルを生成する構成を採用できる。シミュレーションにおいて、サービス処理時間予測式を用いてサービス処理時間を算出し、ワークフロー遅延時間予測式を用いてワークフローの遅延時間を算出することで、メッセージの振る舞いをより実際に近い形で再現できる。
本発明の分散ワークフローシミュレーションシステムでは、前記遅延時間予測式生成手段は、前記ワークフロー実行装置を入出力するメッセージについての測定情報を記憶するメッセージログ記憶装置を参照して、前記ワークフロー実行装置の滞在メッセージ数と、前記メッセージの遅延時間とを取得する構成を採用できる。
本発明の分散ワークフローシミュレーションシステムでは、前記ワークフロー遅延時間計算手段は、前記メッセージの遅延時間計算後、前記ワークフロー実行装置内の滞在メッセージ数が変化したときには、該変化後の滞在メッセージ数と、前記ワークフロー遅延時間予測式とに基づいて、前記メッセージの遅延時間を再計算する構成を採用できる。この場合、ワークフロー実行装置内での滞在メッセージ数の変化に合わせて、ワークフロー遅延時間を再計算することで、シミュレーションにおいて、より実際に近い形でワークフロー遅延時間を計算することができ、メッセージの振る舞いをより忠実に再現できる。
本発明の分散ワークフローシミュレーションシステムでは、前記シミュレート手段は、前記算出されたサービス処理時間及びメッセージの遅延時間に基づいて、前記業務システム内のメッセージの振る舞いを再現する構成を採用できる。
本発明の業務システム管理装置は、メッセージの配送制御を行うワークフロー実行装置と、受信メッセージに従って少なくとも1つのサービスを実行するサーバマシンとを備えた業務システムを管理する業務システム管理装置であって、前記サービス内の滞在メッセージ数及び前記サービスのメッセージ処理時間を取得し、他のサービスと前記サーバマシンを共有するサービスについて、当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、当該サービスにおけるメッセージの処理時間との関係を定式化してサービス処理時間予測式を生成するサービス処理時間予測式生成手段と、前記業務システム内のメッセージの配送経路を定義するワークフロー定義と、前記サービス処理時間予測式とに基づいて、シミュレーションモデルを生成するシミュレーションモデル生成手段とを備えることを特徴とする。
本発明の業務システム管理装置では、前記サービス処理時間予測式生成手段は、1つのサーバマシンにて1つのサービスが実行される場合については、前記サービス内の滞在メッセージ数と、前記サービスにおけるメッセージの処理時間との関係を定式化してサービス処理時間予測式を生成する構成を採用できる。
本発明の業務システム管理装置は、前記ワークフロー実行装置内の滞在メッセージ数及び前記ワークフロー実行装置による前記メッセージの遅延時間を取得し、前記ワークフロー実行装置内の滞在メッセージ数と、前記ワークフロー実行装置による前記メッセージの遅延時間との関係を定式化してワークフロー遅延時間予測式を生成する遅延時間予測式生成手段を更に備える構成を採用できる。
本発明の業務システム管理装置では、前記シミュレーションモデル生成手段は、前記業務システム内のメッセージの配送経路を定義するワークフロー定義と、前記サービス処理時間予測式及び前記ワークフロー遅延時間予測式とに基づいて、シミュレーションモデルを生成する構成を採用できる。
本発明のシミュレーション装置は、メッセージの配送制御を行うワークフロー実行装置と、受信メッセージに従って少なくとも1つのサービスを実行するサーバマシンとを備えた業務システムのシミュレーションを行うシミュレーション装置であって、他のサービスと前記サーバマシンを共有するサービスについて、当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、当該サービスにおけるメッセージの処理時間との関係を定式化することで生成されたサービス処理時間予測式と、前記業務システム内のメッセージの配送経路を定義するワークフロー定義とに基づいて生成されたシミュレーションモデルに基づいて、前記業務システム内のメッセージの振る舞いを逐次的に再現するシミュレート手段と、前記他のサービスとサーバマシンを共有するサービスについて、前記シミュレート手段にて再現された当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて前記サービス処理時間を算出するサービス処理時間計算手段とを備えたことを特徴とする。
本発明のシミュレーション装置では、前記サービス処理時間予測式は、1つのサーバマシンにて1つのサービスが実行される場合については、前記サービス内の滞在メッセージ数と、前記サービスにおけるメッセージの処理時間との関係を定式化することで生成されており、前記サービス処理時間計算手段は、前記シミュレート手段にて再現された前記サービス内の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて前記サービス処理時間を算出する構成を採用できる。
本発明のシミュレーション装置では、前記サービス処理時間計算手段は、前記サービス処理時間の計算後、前記サービス内の滞在メッセージ数が変化したときには、該変化後の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて、前記サービス処理時間を再計算する構成を採用できる。
本発明のシミュレーション装置では、前記サービス処理時間計算手段は、前記算出したサービス処理時間と、推定されたサービス処理時間の確率分布とに基づいて、変動を考慮したサービス処理時間を算出する構成を採用できる。
本発明のシミュレーション装置では、前記シミュレーションモデルが、前記ワークフロー実行装置内の滞在メッセージ数と、前記ワークフロー実行装置による前記メッセージの遅延時間との関係を定式化することで生成されたワークフロー遅延時間予測式と、前記ワークフロー遅延時間予測式と、前記ワークフロー定義とに基づいて生成されており、前記シミュレート手段にて再現された前記ワークフロー実行装置の滞在メッセージ数と、前記ワークフロー遅延時間予測式とに基づいて前記ワークフロー実行装置による前記メッセージの遅延時間を算出するワークフロー遅延時間計算手段を更に備える構成を採用できる。
本発明のシミュレーション装置では、前記ワークフロー遅延時間計算手段は、前記メッセージの遅延時間計算後、前記ワークフロー実行装置内の滞在メッセージ数が変化したときには、該変化後の滞在メッセージ数と、前記ワークフロー遅延時間予測式とに基づいて、前記メッセージの遅延時間を再計算する構成を採用できる。
本発明の分散ワークフローシミュレーション方法は、コンピュータを用いて、メッセージの配送制御を行うワークフロー実行装置と、受信メッセージに従って少なくとも1つのサービスを実行するサーバマシンとを備えた業務システムをシミュレーションする分散ワークフローシミュレーション方法において、前記コンピュータが、前記サービス内の滞在メッセージ数及び前記サービスのメッセージ処理時間を取得し、他のサービスと前記サーバマシンを共有するサービスについて、当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、当該サービスにおけるメッセージの処理時間との関係を定式化してサービス処理時間予測式を生成するステップと、前記コンピュータが、前記業務システム内のメッセージの配送経路を定義するワークフロー定義と、前記サービス処理時間予測式とに基づいて、シミュレーションモデルを生成するステップと、前記コンピュータが、前記シミュレーションモデルに基づいて、前記業務システム内のメッセージの振る舞いを逐次的に再現するステップと、前記コンピュータが、前記他のサービスとサーバマシンを共有するサービスについて、前記メッセージ振る舞いの再現にて再現された当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて前記サービス処理時間を算出するステップとを有することを特徴とする。
本発明の分散ワークフローシミュレーション方法は、前記コンピュータが、1つのサーバマシンにて1つのサービスが実行される場合について、前記サービス内の滞在メッセージ数と、前記サービスにおけるメッセージの処理時間との関係を定式化してサービス処理時間予測式を生成するステップと、前記コンピュータが、1つのサーバマシンにて1つのサービスが実行される場合について、前記メッセージ振る舞いの再現にて再現された前記サービス内の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて前記サービス処理時間を算出するステップとを更に有する構成を採用できる。
本発明の分散ワークフローシミュレーション方法は、前記サービス内の滞在メッセージ数及び前記メッセージの処理時間を取得するステップでは、前記コンピュータは、前記サービスを入出力するメッセージについての測定情報を記憶するメッセージログ記憶装置を参照して、前記サービス内の滞在メッセージ数と、前記メッセージの処理時間とを取得する構成を採用できる。
本発明の分散ワークフローシミュレーション方法では、前記コンピュータは、前記サービス処理時間の計算後、前記サービス内の滞在メッセージ数が変化したときには、該変化後の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて、前記サービス処理時間を再計算する構成を採用できる。
本発明の分散ワークフローシミュレーション方法は、前記コンピュータが、サービス処理時間の確率分布を推定するステップを更に有する構成を採用できる。
本発明の分散ワークフローシミュレーション方法は、前記サービス処理時間を算出するステップでは、前記コンピュータは、前記算出したサービス処理時間と、前記サービス処理時間の確率分布とに基づいて、変動を考慮したサービス処理時間を算出する構成を採用できる。
本発明の分散ワークフローシミュレーション方法は、前記コンピュータが、前記ワークフロー実行装置内の滞在メッセージ数及び前記ワークフロー実行装置による前記メッセージの遅延時間を取得し、前記ワークフロー実行装置内の滞在メッセージ数と、前記ワークフロー実行装置による前記メッセージの遅延時間との関係を定式化してワークフロー遅延時間予測式を生成するステップと、前記コンピュータが、前記メッセージ振る舞いの再現にて再現された前記ワークフロー実行装置の滞在メッセージ数と、前記ワークフロー遅延時間予測式とに基づいて前記ワークフロー実行装置による前記メッセージの遅延時間を算出するステップとを更に有する構成を採用できる。
本発明の分散ワークフローシミュレーション方法は、前記シミュレーションモデルを生成するステップでは、前記コンピュータは、前記業務システム内のメッセージの配送経路を定義するワークフロー定義と、前記サービス処理時間予測式及び前記ワークフロー遅延時間予測式とに基づいて、ワークフロー遅延に関するシミュレーションモデルを生成する構成を採用できる。
本発明の分散ワークフローシミュレーション方法は、前記ワークフロー実行装置の滞在メッセージ数及び前記メッセージの遅延時間を取得するステップでは、前記コンピュータは、前記ワークフロー実行装置を入出力するメッセージについての測定情報を記憶するメッセージログ記憶装置を参照して、前記ワークフロー実行装置の滞在メッセージ数と、前記メッセージの遅延時間とを取得する構成を採用できる。
本発明の分散ワークフローシミュレーション方法では、前記コンピュータは、前記メッセージの遅延時間計算後、前記ワークフロー実行装置内の滞在メッセージ数が変化したときには、該変化後の滞在メッセージ数と、前記ワークフロー遅延時間予測式とに基づいて、前記メッセージの遅延時間を再計算する構成を採用できる。
本発明の分散ワークフローシミュレーション方法は、前記メッセージの振る舞いを再現するステップでは、前記コンピュータは、前記算出されたサービス処理時間及びメッセージの遅延時間に基づいて、前記業務システム内のメッセージの振る舞いを再現する構成を採用できる。
本発明のプログラムは、コンピュータに、メッセージの配送制御を行うワークフロー実行装置と、受信メッセージに従って少なくとも1つのサービスを実行するサーバマシンとを備えた業務システムを管理する処理を実行させるプログラムであって、前記コンピュータに、前記サービス内の滞在メッセージ数及び前記サービスのメッセージ処理時間を取得し、他のサービスと前記サーバマシンを共有するサービスについて、当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、当該サービスにおけるメッセージの処理時間との関係を定式化してサービス処理時間予測式を生成する処理と、前記業務システム内のメッセージの配送経路を定義するワークフロー定義と、前記サービス処理時間予測式とに基づいて、シミュレーションモデルを生成する処理とを実行させることを特徴とする。
本発明のプログラムは、前記サービス処理時間予測式を生成する処理では、1つのサーバマシンにて1つのサービスが実行される場合については、前記サービス内の滞在メッセージ数と、前記サービスにおけるメッセージの処理時間との関係を定式化してサービス処理時間予測式を生成する構成を採用できる。
本発明のプログラムは、前記コンピュータに、前記ワークフロー実行装置内の滞在メッセージ数及び前記ワークフロー実行装置による前記メッセージの遅延時間を取得し、前記ワークフロー実行装置内の滞在メッセージ数と、前記ワークフロー実行装置による前記メッセージの遅延時間との関係を定式化してワークフロー遅延時間予測式を生成する処理を更に実行させる構成を採用できる。
本発明のプログラムは、前記シミュレーションモデルを生成する処理では、前記業務システム内のメッセージの配送経路を定義するワークフロー定義と、前記サービス処理時間予測式及び前記ワークフロー遅延時間予測式とに基づいて、シミュレーションモデルを生成する構成を採用できる。
本発明のプログラムは、コンピュータに、メッセージの配送制御を行うワークフロー実行装置と、受信メッセージに従って少なくとも1つのサービスを実行するサーバマシンとを備えた業務システムのシミュレーションを行う処理を実行させるプログラムであって、前記コンピュータに、他のサービスと前記サーバマシンを共有するサービスについて、当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、当該サービスにおけるメッセージの処理時間との関係を定式化することで生成されたサービス処理時間予測式と、前記業務システム内のメッセージの配送経路を定義するワークフロー定義とに基づいて生成されたシミュレーションモデルに基づいて、前記業務システム内のメッセージの振る舞いを逐次的に再現する処理と、前記他のサービスとサーバマシンを共有するサービスについて、前記メッセージの振る舞いを再現する処理にて再現された当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて前記サービス処理時間を算出する処理とを実行させることを特徴とする。
本発明のプログラムでは、前記サービス処理時間予測式は、1つのサーバマシンにて1つのサービスが実行される場合については、前記サービス内の滞在メッセージ数と、前記サービスにおけるメッセージの処理時間との関係を定式化することで生成されており、前記サービス処理時間を算出する処理では、前記メッセージの振る舞いを再現する処理にて再現された前記サービス内の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて前記サービス処理時間を算出する構成を採用できる。
本発明のプログラムは、前記サービス処理時間を計算する処理では、前記サービス処理時間の計算後、前記サービス内の滞在メッセージ数が変化したときには、該変化後の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて、前記サービス処理時間を再計算する構成を採用できる。
本発明のプログラムは、前記サービス処理時間を計算する処理では、前記算出したサービス処理時間と、推定されたサービス処理時間の確率分布とに基づいて、変動を考慮したサービス処理時間を算出する構成を採用できる。
本発明のプログラムでは、前記シミュレーションモデルが、前記ワークフロー実行装置内の滞在メッセージ数と、前記ワークフロー実行装置による前記メッセージの遅延時間との関係を定式化することで生成されたワークフロー遅延時間予測式と、前記ワークフロー遅延時間予測式と、前記ワークフロー定義とに基づいて生成されており、前記コンピュータに、前記メッセージの振る舞いを再現する処理にて再現された前記ワークフロー実行装置の滞在メッセージ数と、前記ワークフロー遅延時間予測式とに基づいて前記ワークフロー実行装置による前記メッセージの遅延時間を算出する処理を更に実行させる構成を採用できる。
本発明のプログラムは、前記ワークフロー遅延時間を計算する処理では、前記メッセージの遅延時間計算後、前記ワークフロー実行装置内の滞在メッセージ数が変化したときには、該変化後の滞在メッセージ数と、前記ワークフロー遅延時間予測式とに基づいて、前記メッセージの遅延時間を再計算する構成を採用できる。
本発明の分散ワークフローシミュレーションシステム、方法、及び、プログラムでは、他のサービスとサーバマシンを共有するサービスについて、業務システムから収集したサービス内の滞在メッセージ数と、そのサービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、サービス処理時間とに基づいて、サービス処理時間予測式を生成する。また、ワークフロー定義とサービス処理時間予測式とに基づいて、シミュレーションモデルを生成して、業務システム内のメッセージの振る舞いをシミュレートする。シミュレーションにおいて、他のサービスとサーバマシンを共有するサービスについて、生成したサービス処理時間予測式と、シミュレーションにおけるサービス内の滞在メッセージ数、及び、そのサービスとサーバマシンを共有するサービス内の滞在メッセージ数とに基づいて、サービス処理時間を計算することで、実際のサービス処理時間に近い形でサービス処理時間を求めることができ、サービス処理時間を精度よく予測することができる。
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図1は、本発明の一実施形態の分散ワークフローシミュレーションシステムの構成を示している。分散ワークフローシミュレーションシステム10は、サーバマシン100と、ワークフロー実行装置200と、業務システム管理装置400と、シミュレーション装置500とを有する。サーバマシン100及びワークフロー実行装置200は、分散ワークフローシステム(業務システム)を構成する。図2は、分散ワークフローシミュレーションシステムを構成する各装置の接続状況を示している。図2に示すように、各装置は、ネットワーク700に接続されており、ネットワーク700を介して相互に通信可能である。
サーバマシン100は、サービスを実行するためのハードウェア設備を提供する。ワークフロー実行装置200は、メッセージの配送制御を行う。業務システム管理装置400は、サーバマシン100及びワークフロー実行装置200でのメッセージ処理状況に基づいて、業務システムの動作状況を反映させたシミュレーションモデルを生成する。シミュレーション装置500は、業務システム管理装置400が生成したシミュレーションモデルを用いてシミュレーションを行い、業務システムのパフォーマンスを再現した結果を出力する。
図1を参照すると、サーバマシン100は、サービス提供手段101と、サービス監視手段102とを備える。サービス提供手段101は、受信メッセージに応じてサービスの処理を行い、応答メッセージを返す。この処理は、並列に行われる。サービス監視手段102は、サービス提供手段101を監視し、サービス提供手段101でのメッセージ処理状況に基づいて、タイムスタンプ付きのメッセージログやエラーログなどのサービスの測定情報を取得する。サービス監視手段102が取得した測定情報は、メッセージログ記憶装置302に格納される。また、サービス監視手段102は、サービスとサーバマシンとの対応を示す情報を、サーバマシン・サービス対応情報記憶装置303に格納する。
ワークフロー実行装置200は、ワークフロー実行手段201と、ワークフロー監視手段202とを有する。ワークフロー実行手段201は、受信メッセージに応じて、ワークフロー定義記憶装置301に格納されたワークフロー定義に沿ったメッセージの配送経路制御を行う。ワークフロー監視手段202は、ワークフロー実行手段201を監視し、ワークフロー実行手段201でのメッセージの処理状況に基づいて、タイムスタンプ付きのメッセージログやエラーログなどの測定情報を取得する。ワークフロー監視手段202が取得した測定情報は、メッセージログ記憶装置302に格納される。
業務システム管理装置400は、メッセージログ回収手段401と、サービス処理時間予測式生成手段402と、ワークフロー遅延予測式生成手段403と、シミュレーションモデル生成手段404とを有する。メッセージログ回収手段401は、管理対象となる業務システム内のメッセージログ記憶装置302から、サーバマシン100でのサービス処理に関する測定情報、及び、ワークフロー実行装置200でのワークフロー処理に関する測定情報(メッセージログ)を収集する。
サービス処理時間予測式生成手段402は、サービス処理に関する測定情報に基づいて、サービス内の滞在メッセージ数と、メッセージ処理時間と割り出し、これらの関係を定式化して、サービス処理時間予測式を生成する。また、サービス処理時間予測式生成手段402は、サービス処理時間についての確率分布を推定する。より詳細には、例えば、サービス処理時間予測式にて得られるサービス処理時間に対して、実際のサンプル点であるサービス処理時間が、どのような分布に従って存在しているかを推定する。
サービス処理時間予測式生成手段402は、処理時間予測式の生成に際しては、サーバマシン・サービス対応情報記憶装置303を参照し、サービスとサーバマシンとの対応関係を確認する。1台のサーバマシン100にて1つのサービスが動作しているときには、そのサービス内のメッセージ滞在数とサービス処理時間とにより、サービス処理時間予測式を生成する。1台のサーバマシン100にて複数のサービスが動作している場合には、パラメータとして、サーバマシン(リソース)を供給する他のサービス内の滞在メッセージ数を加えて、サービス内の滞在メッセージ数と、リソースを要求する他のサービス内の滞在メッセージ数と、サービス処理時間とに基づいて、サービス処理時間予測式を生成する。
ワークフロー遅延予測式生成手段403は、ワークフローに関する測定情報に基づいて、ワークフロー実行装置内の滞在メッセージ数と、メッセージ処理時間(遅延時間)とを割り出し、これらの関係を定式化し、ワークフロー実行装置200における遅延時間の予測式を生成する。シミュレーションモデル生成手段404は、サービス処理時間予測式生成手段402が生成したサービス処理時間予測式と、ワークフロー遅延予測式生成手段403が生成したワークフロー遅延時間予測式と、ワークフロー定義記憶装置301内のワークフロー定義とを統合し、シミュレーションモデルを構築する。構築されたシミュレーションモデルは、シミュレーションモデル記憶装置304に格納される。
シミュレーション装置500は、シミュレート手段501と、ワークフロー遅延計算手段502と、サービス処理時間計算手段510とを有する。シミュレート手段501は、シミュレーションモデル記憶装置304からシミュレーションモデルを取り出し、これと、入力装置/プロパティ601からのシミュレーション設定とに基づいて、業務システムでのメッセージの振る舞いを逐次的に再現する。シミュレーション設定は、例えば、シミュレーション時のメッセージ到着頻度設定やメッセージ総数設定などを含む。
シミュレート手段501は、ワークフロー遅延計算手段502を用いてワークフローによる遅延時間を計算し、サービス処理時間計算手段510を用いて、サービスでの処理時間を計算する。ワークフロー遅延計算手段502は、シミュレータでのワークフロー実行装置内のメッセージ数を入力とし、ワークフロー実行装置とサービスとの相互間、又は、2つのワークフロー実行装置の相互間での遅延時間を計算する。サービス処理時間計算手段510は、シミュレータでのサービス内の滞在メッセージ数を入力とし、サービスでの処理時間を計算する。
サービス処理時間計算手段510は、サービス処理時間分散計算手段511及びサーバマシン共有サービス処理時間計算手段512を有する。サービス処理時間計算手段511は、サービス処理時間予測式により、サービスでの平均的な処理時間を計算する。このとき、1つのサーバマシンにて複数のサービスが実行されているときには、サーバマシン共有サービス処理時間計算手段512にて、リソースを共有している他のサービスの滞在メッセージ数も用いて、サービスでの平均予測時間を計算する。
サービス処理時間分散計算手段511は、サービス処理時間の確率分布を用いて、サービス処理時間予測式を用いて算出された平均的なサービス処理予測時間に対して、変動を与える。サービス処理時間予測式を用いて計算された平均予測処理時間とその変動とにより、シミュレーションでのメッセージのサービス処理時間が決定する。シミュレーション時に、サービス処理待機時間内にサービス内の滞在メッセージ数が変化することがあり得る。その場合には、平均予測処理時間の計算とその変動の計算とを再度行い、シミュレート手段501に、再計算されたサービス処理時間を設定する。
ワークフロー遅延計算手段502によって計算されたワークフロー遅延時間、及び、サービス処理時間計算手段510にて計算された変動を考慮したサービス処理時間は、シミュレート手段501がメッセージの振る舞いを逐次的に再現する際に用いられる。シミュレート手段501によるシミュレーションの結果は、出力装置/GUI602に出力される。また、シミュレート結果記憶装置305に格納される。
ワークフロー遅延予測式の導出について説明する。図3は、ワークフロー遅延予測式の生成の動作手順を示している。ワークフロー監視手段202は、ワークフロー実行手段201から、タイムスタンプ付きのメッセージログやエラーログなどの測定情報を取得し、メッセージログ記憶装置302に格納する。業務システム管理装置400のメッセージログ回収手段401は、メッセージログ記憶装置302から、ワークフローに関するメッセージログを取り出し、ワークフロー遅延予測式生成手段403に渡す。
ワークフロー遅延予測式生成手段403は、ワークフロー定義記憶装置301からワークフロー定義を取り出し、ワークフローを、部分ワークフローに分解する(ステップA1)。ワークフローは、(1)メッセージ受信からサービスの呼び出しまで、(2)サービス呼び出しから次のサービス呼び出しまで、(3)サービス呼び出しからメッセージ出力までの3つに分類することができる。分解された各部分ワークフローは、これら3つの分類の何れかに属する。
同一ワークフロー実行装置200内の全滞在メッセージ数は、そのワークフロー実行装置200にて実行される各種部分ワークフローでの遅延時間に影響する。ワークフロー遅延予測式生成手段403は、ワークフローを通過したメッセージのログことに、(i)各部分ワークフローでの遅延時間、(ii)その時間範囲でのワークフロー実行装置200内の平均滞在メッセージ数の組を算出する(ステップA2)。この処理は、全てのメッセージに対して行う。平均滞在メッセージ数の算出では、例えば、メッセージがワークフロー実行装置200に受信されてから、他のワークフロー実行装置200に出力されるまでの間の時間が60秒であったとすれば、その60秒間でのワークフロー実行装置200の全滞在メッセージ数を1秒間隔で計測し、その総和を60秒で割った値を、平均滞在メッセージ数とする。
ワークフロー遅延予測式生成手段403は、部分ワークフローごとに、上記(i)、(ii)の組の集合を元に、各部分ワークフローでの遅延時間とワークフロー内の滞在メッセージ数との関係を、例えば回帰分析を用いて定式化し、ワークフロー遅延予測式を生成する(ステップA3)。具体的には、Dを部分ワークフロー遅延時間、Mを滞在メッセージ数、α、βを定式化による係数及び定数として、
D=αM+β
に定式化し、これをワークフロー遅延時間予測式とする。定式化の手法としては、ニューラルネットなどを用いることもできる。この予測式により、ワークフロー内の滞在メッセージ数から、各部分ワークフローでの遅延時間を算出できるようになる。ワークフロー遅延予測式生成手段403は、ワークフロー遅延予測式を生成すると、生成したワークフロー遅延予測式の集合を、シミュレーションモデル生成手段404に渡す(ステップA4)。
次に、サービス処理時間予測式の導出について説明する。図4は、サービス処理時間予測式の生成の手順を示している。サービス監視手段102は、サービス提供手段101から、タイムスタンプ付きのメッセージログやエラーログなどの測定情報を取得し、メッセージログ記憶装置302に格納する。業務システム管理装置400のメッセージログ回収手段401は、メッセージログ記憶装置302から、サービスについてのメッセージログを取り出し、サービス処理時間予測式生成手段402に渡す。
サービス処理時間予測式生成手段402は、サービス処理時間予測式生成の処理を開始する(ステップB1)。この処理では、まず、サービスのメッセージログごとに、(p)サービスでの処理時間、(q)その時間範囲でのサービス内の平均滞在メッセージ数の組を算出する(ステップB2)。次いで、サーバマシン・サービス対応情報記憶装置303を参照して、サーバマシンとサービスとの対応関係を調べ、サービスが他のサービスとサーバマシン100を共用しているか否かを判定する(ステップB3)。他のサービスと共有しているときには、上記(q)と同様に、共有しているサービス内の平均滞在メッセージ数を算出する(ステップB4)。
サービス処理時間予測式生成手段402は、ステップB2で算出したサービスでの処理時間とサービス内の平均滞在メッセージ数との組を元に、サービスでの処理とサービス内の滞在メッセージ数との関係を、例えば回帰分析を用いて定式化し、サービス処理時間予測式を生成する(ステップB5)。ステップB5では、具体的には、Tをサービス処理時間、Mを滞在メッセージ数、γ,δを定式化による係数及び定数として、
T=γM+δ
に定式化し、これを、サービス処理時間予測式とする。
また、ステップB5では、リソースを共有する他のサービスがある場合には、サービス内の平均滞在メッセージ数に、ステップB4で算出した、リソースを共有する他のサービスの平均滞在メッセージ数を加えて、サービスでの処理と滞在メッセージ数との関係を、例えば重回帰分析を用いて定式化する。具体的には、1つのサーバマシン100にて、サービス1とサービス2との2つのサービスが動作しているときには、Mをサービス1での滞在メッセージ数、Mをサービス2での滞在メッセージ数として、
T=γ+γ+δ
に定式化し、これをサービス処理時間予測式とする。
サービス処理時間予測式生成手段402は、サービスでの処理とサービス内の滞在メッセージ数との関係の定式化に際して、サービス処理時間の確率分布を求める(ステップB6)。この確率分布の推定では、例えば、サービス処理時間予測式を用いて求めたサービス処理時間に対して、各サンプル点がどの程度ずれているかを求め、そのヒストグラムをとり、分布が、正規分布に近似した分布であるか、ポアソン分布に近似した分布であるかなどを調べる。ステップB2からステップB6までにより、一のサービスについて、処理時間予測式が得られる。この処理を、サービスごとに行い(ステップB7)、各サービスについて処理時間予測式を生成する。サービス処理時間予測式生成手段402は、生成した各サービスのサービス処理時間予測式の集合を、シミュレーションモデル生成手段404に渡す(ステップB8)。
シミュレーションモデル生成手段404は、ワークフロー定義記憶装置301よりワークフロー定義を取り出し、業務システム内のワークフロー定義と、ワークフロー遅延予測式及びサービス処理時間予測式とを組み合わせて、シミュレーションモデルを構成する。シミュレーションモデルの例を、図5に示す。シミュレーションモデルの構成では、ワークフロー定義より業務システム内に存在するサービスを判別し、そのサービスに対応するサービス処理時間予測式をシミュレーションモデルに埋め込む。また、ワークフロー定義より業務システムのメッセージ経路を判別し、その経路に対応するワークフロー実行装置200の部分ワークフロー遅延の遅延時間予測式をシミュレーションモデルに埋め込む。
続いて、シミュレーションでのワークフロー遅延時間の算出について説明する。シミュレート手段501は、シミュレーションモデル記憶装置304からシミュレーションモデルを取り出し、このシミュレーションモデルと、入力装置/プロパティ601から入力された、シミュレーション時のメッセージ到着頻度設定・メッセージ総数設定などのシミュレーション設定とに基づいて、業務システムでのメッセージの振る舞いを逐次的に再現する。このメッセージ振る舞いの再現により、ワークフロー内の滞在メッセージ数、及び、各サービス内の滞在メッセージ数が求まる。
図6に、ワークフロー遅延時間算出の手順を示す。シミュレート手段501は、シミュレーションにおいて、ワークフローにメッセージが到着した際に、或いは、一定時間間隔ごとに、ワークフロー内のメッセージの滞在数の判定処理を行う(ステップC1)。この処理では、シミュレート手段501は、ワークフロー内のメッセージの滞在数に変化があるか否かを判断する(ステップC2)。滞在メッセージ数に変化があるときには、ワークフロー遅延計算手段502により、新たな滞在メッセージ数と部分ワークフロー遅延予測値とに基づいて、部分ワークフローごとの遅延時間を再計算する(ステップC3)。ワークフロー遅延計算手段502で、再計算された部分ワークフローごとの遅延時間は、シミュレート手段501に設定され、シミュレーションに用いられる(ステップC4)。
シミュレート手段501は、ワークフローにメッセージが到着した際、或いは、一定時間間隔ごとに、ループを回し(ステップC5)、滞在メッセージ数の変化があったときには、それに応じた遅延時間計算を行う。このようにすることで、シミュレーションにおけるワークフロー実行装置の遅延時間は、ワークフロー内の滞在メッセージ数の変化に応じて変化することになる。シミュレート手段501は、シミュレーションにおいて、ワークフロー実行装置にメッセージが入力されるたびに、設定された遅延時間だけメッセージを遅延して、次段のサーバマシン又はワークフロー実行装置に渡すことで、メッセージの振る舞いを再現する。
図7に、サービス処理時間算出の手順を示す。シミュレート手段501は、シミュレーションにおいて、サービスにメッセージが到着した際、又は、サービス内の滞在メッセージの処理が終わった際に、サービス内のメッセージの滞在数の判定処理を行う(ステップD1)。シミュレート手段501は、サービス内の滞在メッセージ数に変化があるか否かを判断する(ステップD2)。変化がある場合には、サービスが他のサービスとサーバマシン100を共有しているか否かを判定する(ステップD3)。当該サービスが、他のサービスとサーバマシン100を共用していないときには、サービス処理時間計算手段510により、変化後の滞在メッセージ数とサービス処理時間予測式とに基づいて、サービスの平均処理時間を再計算する(ステップD6)。
サービスが、他のサービスとサーバマシンを共用している場合は、共用している他のサービスにも滞在メッセージ数の変化を通知し、他のサービスについても、処理時間の変更を実施させる(ステップD4)。また、共用している他のサービス内の滞在メッセージ数を取得する(ステップD5)。その後、ステップD6に移行し、サーバマシン共有サービス処理時間計算手段512を用いて、サービス内の滞在メッセージ数と、リソースを要求している他のサービス内の滞在メッセージ数と、サービス処理時間とに基づいて、サービス平均処理時間を再計算する。
ステップD6で計算されたサービス処理時間は、処理時間の変動を考慮しない場合のサービス処理時間の平均的な値である。サービス処理時間計算手段510は、サービス平均処理時間を再計算すると、サービス処理時間分散計算手段511により、サービス処理時間予測式生成手段402が求めたサービス処理時間の確率分布を用いて、変動を考慮したサービスの処理時間計算を行う(ステップD7)。サービス処理時間分散計算手段511で計算された変動を考慮したサービス処理時間は、シミュレート手段501に設定され、シミュレーションに用いられる(ステップD8)。
シミュレート手段501は、ワークフローにメッセージが到着した際、或いは、サービス内の滞在メッセージの処理が終わるごとに、ループを回し(ステップD9)、滞在メッセージ数の変化があったときには、それに応じた処理時間計算を行う。このようにすることで、シミュレーションにより計算されたサービス処理時間は、サービス内、又は、サービス及び当該サービスとサーバマシンを供給するサービス内の滞在メッセージ数の変化に応じて変化する。シミュレート手段501は、シミュレーションにおいて、ワークフロー実行装置にメッセージが入力されるたびに、設定された遅延時間だけメッセージを遅延して、次段のサーバマシン又はワークフロー実行装置に渡すことで、メッセージの振る舞いを再現する。
シミュレート手段501は、メッセージ滞在中に、ワークフロー遅延時間又はサービス処理時間(メッセージ滞在時間)が変化したときには、メッセージが入力されてから、算出されたメッセージ滞在時間が変化するまでの時間と、変化前のメッセージ滞在時間との関係から、処理がどの程度進行しているかを計算し、変化後のメッセージ滞在時間と処理の残りの割合とから残りのメッセージ滞在時間を計算する。例えば、当初メッセージ滞在時間が「20秒」と計算され、メッセージ入力から10秒後に滞在メッセージ数の増加に伴ってメッセージ滞在時間が「30秒」に変更されたときには、10秒/20秒=50%だけ処理が進行していると判断する。この場合、シミュレーションでは、残りのメッセージ滞在時間を、変化後のメッセージ滞在時間30秒×50%=15秒とする。
以下、具体的な実施例を用いて説明する。図8は、業務システムの構成を示している。この業務システムは、サプライチェーンの業務システムであり、小売サービス(Retailer)、卸サービス(WarehouseA、B)、製造サービス(Manufacture1,2)から構成されている。図9に、図8の業務システムを実現する装置構成を示す。この例では、業務システムは、2台のワークフロー実行装置(200A、200B)と、4台のサーバマシン(100A〜100D)とで構成されている。サービス間は、SOAP等のプロトコルを利用してXML形式のメッセージを送受信するものとし、サービス及びワークフロー実行装置は、メッセージの並列処理を行えるものとする。
ワークフロー実行装置200Aは、業務システム利用者からのメッセージを受け取り、これをサーバマシン100Aに渡す。サーバマシン100Aは、Retailerサービスに対応するサービス提供手段101Aにて処理を行った後、処理結果をワークフロー実行装置200Aに返す。ワークフロー実行装置200Aは、サーバマシン100Aでの処理結果を、サーバマシン100Bと、ワークフロー実行装置200Bとに渡す。サーバマシン100Bは、WarehouseAサービスに対応するサービス提供手段101Bにて処理を行った後に、処理結果をワークフロー実行装置200Aに返す。ワークフロー実行装置200Aは、サーバマシン100Bでの処理結果を、ワークフロー実行装置200Bに渡す。
ワークフロー実行装置200Bは、ワークフロー実行装置200Aから受け取ったサーバマシン100Aでの処理結果を、サーバマシン100Cに渡す。サーバマシン100Cは、WarehouseBサービスに対応したサービス提供手段101Cにて処理を行った後、処理結果をワークフロー実行装置200Bに返す。ワークフロー実行装置200Bは、サーバマシン100Cから返却された処理結果、及び、ワークフロー実行装置200Aから受け取ったサーバマシン100Bでの処理結果を、サーバマシン100Dに渡す。サーバマシン100Dは、Manufacture1に対応したサービス提供手段101Dと、Manufacture2に対応したサービス提供手段101Eとで処理を行い、その処理結果をワークフロー実行装置200Bに返す。ワークフロー実行装置200Bが、サーバマシン100Dから受け取った処理結果を出力することで、ワークフローが終了する。
ワークフロー実行装置200Aのワークフロー監視手段202(図1)は、ワークフロー実行手段201より測定情報を取得し、メッセージログ記憶装置302に格納する。ワークフロー実行装置200Bについても同様に、ワークフロー監視手段202は、ワークフロー実行手段201より測定情報を取得し、メッセージログ記憶装置302に記憶する。図10に、測定情報の具体例を示す。この例では、測定情報は、メッセージID、送信元URL、送信先URL、関連メッセージID、Request/Responseフラグ、業務ID、タイムスタンプを含んでいる。
業務システム管理装置400内のワークフロー遅延予測式生成手段403は、ワークフロー定義記憶装置301よりワークフロー定義を取り出し、ワークフローを部分ワークフローに分解する。例えば、ワークフロー実行装置200Aが担当するワークフローについては、ワークフローを、(1)メッセージ入力からRetailerサービス呼び出しまで、(2)Retailerサービス応答からWarehouseAサービス呼び出しまで、(3)WarehouseAサービス応答からワークフロー実行装置200Bへのメッセージ出力まで、という3つの部分ワークフローに分解する。
ワークフロー遅延予測式生成手段403は、メッセージログ記憶装置302を参照して、部分ワークフローごとに、部分ワークフローの遅延時間と、その遅延時間範囲でのワークフロー実行装置内の平均滞在メッセージ数を算出する。この遅延時間の算出では、メッセージログ記憶装置302に記憶された測定情報(図10)を参照して、各ワークフロー実行装置200を出入りするメッセージを追跡し、入力メッセージに対応するメッセージが出力されるまでの時間を算出する。また、平均滞在メッセージ数の算出では、メッセージが入力されてから出力されるまでの間の各ワークフロー実行装置200内の滞在メッセージを調べ、その平均値を算出する。
図11に、算出された部分ワークフロー遅延時間と平均滞在メッセージ数との組を示す。ワークフロー遅延予測式生成手段403は、算出された部分ワークフロー遅延時間と平均滞在メッセージ数との組をサンプル値として用い、部分ワークフロー遅延時間と平均滞在メッセージ数との関係を、回帰分析によって定式化する。この定式化により、ワークフロー実行装置200でのメッセージ滞在メッセージ数をパラメータとして、部分ワークフローの遅延時間を推定するワークフロー遅延予測式が得られる。
一方、各サーバマシン100のサービス監視手段102(図1)は、サービス提供手段101より測定情報(図10)を取得し、メッセージログ記憶装置302に格納する。業務システム管理装置400内のサービス処理時間予測式生成手段402は、メッセージログ記憶装置302を参照して、各サービスについて、処理時間と、その処理時間範囲での平均滞在メッセージ数を算出する。この処理時間の算出では、メッセージログ記憶装置302に記憶された測定情報を参照して、サーバマシン100を出入りするメッセージを追跡し、各サービスについて、入力メッセージに対応するメッセージが出力されるまでの時間を算出する。また、平均滞在メッセージ数の算出では、メッセージが入力されてから出力されるまでの間のサービス内の滞在メッセージを調べ、その平均値を算出する。
図12に、算出されたサービス処理時間と平均滞在メッセージ数との組を示す。サービス処理時間予測式生成手段402は、算出されたサービス処理時間と平均滞在メッセージ数との組をサンプルとして用い、サービス処理時間と平均滞在メッセージ数との関係を、回帰分析によって定式化する。この定式化により、サービス内の滞在メッセージ数をパラメータとして、サービス処理時間を推定するサービス処理時間予測式が得られる。また、サービス処理時間予測式生成手段402は、サービス処理時間集合にベイズ推定などを適用し、サービス処理時間の確率分布を推定する。
サーバマシン100Dについては、同一サーバマシンにてManufacture1とManufacture2との2つのサービスを行っているので、これらサービスについては、自身のサービス内の平均滞在メッセージ数だけでなく、サーバマシンを共有する他のサービス内の平均滞在メッセージ数を加えて、サービス処理時間予測式を生成する。具体的には、Manufacture1についてのサービス処理時間予測式を生成する際には、図13に示すように、Manufacture1(サービスID:WS4)のサービス処理時間と、Manufacture1の平均滞在メッセージ数との組に、Manufacture2(サービスID:WS5)の平均滞在メッセージ数を加える。そして、これをサンプルとして用い、サービス処理時間と平均滞在メッセージ数との関係を、重回帰分析によって定式化する。この定式化により、Manufacture1の平均滞在メッセージ数、及び、Manufacture2の平均滞在メッセージ数の2つをパラメータとして、Manufacture1のサービス処理時間を推定するサービス処理時間予測式が得られる。
図14に、シミュレータ内での業務システム構成を示す。同図において、矩形はトランジションと呼ばれサービスを示し、円形はプレースと呼ばれサービス内の滞在メッセージ数を入力経路ごとに示す。ワークフロー実行手段201(図1)による遅延は、ワークフロー実行手段201がメッセージを受け取ってから、プレースにメッセージ(図17における黒丸に相当)を入力するまでに要する時間として表すことができる。また、サービス処理時間は、トランジションにおける処理時間として表すことができる。シミュレーション時にサービス提供手段101にいるメッセージは、ワークフローエンジン範囲内のプレース(円形)に把握できる。
例えば、シミュレータ内時間において1分周期でワークフロー内平均滞在メッセージ数を計算することにより、ワークフロー内の部分ワークフローの遅延時間を推測することができる。ワークフロー実行装置200Aが担当する、業務システム利用者によるメッセージ入力からRetailerサービス呼び出しまでの部分ワークフローでの遅延時間予測式が、
D=0.8M+2.4
であったとする。この場合、ワークフロー実行装置200Aの平均滞在メッセージ数が「2」であれば、その部分ワークフローでの遅延時間は、4秒と算出される。
上記では、遅延時間は1分周期で更新されることになるが、周期の代わりに、ワークフローに対するメッセージ入力/出力をイベントとしてワークフロー内滞在メッセージ数を計算し、遅延時間を算出することもできる。シミュレート手段501は、算出された遅延時間に従って、メッセージがワークフロー実行装置に入力されるたびに、上記で算出された遅延時間だけメッセージを遅延して、次段のサービス、又は、ワークフロー実行装置へメッセージを受け渡すことで、業務システム内でのメッセージの振る舞いを再現する。
サービス処理時間の計算では、サービスにメッセージが到着するたびに、滞在メッセージ数を計算し、サーバマシンでの処理時間を推測する。このサービス処理時間の推測では、まず、サービスの平均的な処理時間計算を行う。例えば、サーバマシン100Dについて、Manufacture1サービスでの処理時間予測式が、
T=7.2×M+1.3×M+8.4
であったとする。Manufacture1サービスの平均滞在メッセージ数Mが「2」で、Manufacture2サービスの平均滞在メッセージ数Mが「1」であれば、Manufacture1サービスのサービス平均処理時間は、24.1秒と算出される。次いで、算出したサービス平均処理時間と、サービス処理時間予測式生成手段402にて推測した確率分布を用いて、変動を考慮したサービス処理時間を求める。
変動を考慮したサービス処理時間の計算は、具体的には、T’を変動を考慮した処理時間、Rを確率分布に基づく乱数(0≦x≦1)、Kを標準偏差、Tを算出されたサービス平均処理時間として、下記式により行う。
T’=(R−0.5)×2×K+T
上記式における確率分布に基づく乱数Rは、例えば確率分布が正規分布のときに対応した乱数発生関数、ポアソン分布のときに対応した乱数発生関数などを用意しておき、サービス処理時間の確率分布がどのタイプの分布を判断して使用する乱数発生関数を選択し、選択した乱数発生関数にて発生させる。シミュレート手段501は、このように算出された変動を考慮したサービス処理時間に従って、業務システム内でのメッセージの振る舞いを再現する。
本実施形態では、1台のサーバマシン100が複数のサービスを実行する場合には、サーバマシン100を共有する他のサービスでの滞在メッセージ数を含めて、サービス内の滞在メッセージ数とサービス処理時間との関係を定式化してサービス処理時間予測式を生成し、シミュレーションにおいて、そのように生成したサービス処理時間予測式を用いてサービス処理時間を求め、ワークフローの処理時間を予測する。このため、リソースを共有するサービスがある場合でも、ワークフロー処理時間の予測精度が落ちない。また、本実施形態では、ワークフロー実行装置200による影響を定式化して遅延時間予測式を生成し、シミュレーションにおいて、生成した遅延時間予測式を用いてワークフロー実行装置200による遅延時間を予測する。このため、業務システム内にワークフロー実行装置200が存在する場合でも、ワークフロー処理時間の予測精度が落ちない。
本実施形態では、シミュレーションにおいて、サーバマシン及びワークフロー実行装置内の滞在メッセージ数の変化を検出して、メッセージ振る舞いの再現に用いるサービス処理時間及びワークフロー遅延時間の再計算を行う。このようにすることで、ワークフロー内でのメッセージの振る舞いを実際の動作状況に近い形で再現でき、実際の動作状況を忠実に再現することができる。従って、サービス処理時間及びワークフロー遅延時間の予測精度を上げることができる。また、サービス処理時間についての確率分布を求め、これを考慮して、サービス処理時間予測式を用いて計算したサービス処理時間に変動を加える。これにより、より実際に近い形で、ワークフロー処理時間を予測することができる。
以上、本発明をその好適な実施形態に基づいて説明したが、本発明の分散ワークフローシミュレーションシステム、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
本発明の一実施形態の分散ワークフローシミュレーションシステムを示すブロック図。 分散ワークフローシミュレーションシステムを構成する各装置の接続状況を示すブロック図。 ワークフロー遅延予測式の生成の動作手順を示すフローチャート。 サービス処理時間予測式の生成の手順を示すフローチャート。 シミュレーションモデルの具体例を示す図。 ワークフロー遅延時間算出の手順を示すフローチャート。 サービス処理時間算出の手順を示すフローチャート。 実施例の業務システムの構成を示すブロック図。 実施例の業務システムを実現する装置構成を示すブロック図。 測定情報の具体例を示す図。 部分ワークフロー遅延時間と平均滞在メッセージ数との組を示す図。 サービス処理時間と平均滞在メッセージ数との組を示す図。 他のサービスとサーバマシンを共有するサービスについてのサービス処理時間と平均滞在メッセージ数との組を示す図。 シミュレータ内での業務システムを示すモデル図。 業務システムの一例を示すブロック図。 特許文献1に記載の分散ワークフローシミュレーションシステムを示すブロック図。 シミュレーションモデルの具体例を示すモデル図。
符号の説明
10:分散ワークフローシミュレーションシステム
100:サーバマシン
101:サービス提供手段
102:サービス監視手段
200:ワークフロー実行装置
201:ワークフロー実行手段
202:ワークフロー監視手段
301:ワークフロー定義記憶装置
302:メッセージログ記憶装置
303:サーバマシン・サービス対応情報記憶装置
304:シミュレーションモデル記憶装置
305:シミュレート結果記憶装置
400:業務システム管理装置
401:メッセージログ回収手段
402:サービス処理時間予測式生成手段
403:ワークフロー遅延予測式生成手段
404:シミュレーションモデル生成手段
500:シミュレーション装置
501:シミュレート手段
502:ワークフロー遅延計算手段
510:サービス処理時間計算手段
511:サービス処理時間分散計算手段
512:サーバマシン共有サービス処理時間計算手段
601:入力装置/プロパティ
602:出力装置/GUI
700:ネットワーク

Claims (42)

  1. メッセージの配送制御を行うワークフロー実行装置と、受信メッセージに従って少なくとも1つのサービスを実行するサーバマシンとを備えた業務システムをシミュレーションする分散ワークフローシミュレーションシステムにおいて、
    前記サービス内の滞在メッセージ数及び前記サービスのメッセージ処理時間を取得し、他のサービスと前記サーバマシンを共有するサービスについて、当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、当該サービスにおけるメッセージの処理時間との関係を定式化してサービス処理時間予測式を生成するサービス処理時間予測式生成手段と、
    前記業務システム内のメッセージの配送経路を定義するワークフロー定義と、前記サービス処理時間予測式とに基づいて、シミュレーションモデルを生成するシミュレーションモデル生成手段と、
    前記シミュレーションモデルに基づいて、前記業務システム内のメッセージの振る舞いを逐次的に再現するシミュレート手段と、
    前記他のサービスとサーバマシンを共有するサービスについて、前記シミュレート手段にて再現された当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて前記サービス処理時間を算出するサービス処理時間計算手段とを備えることを特徴とする分散ワークフローシミュレーションシステム。
  2. 前記サービス処理時間予測式生成手段は、1つのサーバマシンにて1つのサービスが実行される場合については、前記サービス内の滞在メッセージ数と、前記サービスにおけるメッセージの処理時間との関係を定式化してサービス処理時間予測式を生成し、前記サービス処理時間計算手段は、前記シミュレート手段にて再現された前記サービス内の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて前記サービス処理時間を算出する、請求項1に記載の分散ワークフローシミュレーションシステム。
  3. 前記サービス処理時間予測式生成手段は、前記サービスを入出力するメッセージについての測定情報を記憶するメッセージログ記憶装置を参照して、前記サービス内の滞在メッセージ数と、前記メッセージの処理時間とを取得する、請求項1に記載の分散ワークフローシミュレーションシステム。
  4. 前記サービス処理時間計算手段は、前記サービス処理時間の計算後、前記サービス内の滞在メッセージ数が変化したときには、該変化後の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて、前記サービス処理時間を再計算する、請求項1に記載の分散ワークローシミュレーションシステム。
  5. 前記サービス処理時間予測式生成手段は、サービス処理時間の確率分布を推定する、請求項1に記載の分散ワークフローシミュレーションシステム。
  6. 前記サービス処理時間計算手段は、前記算出したサービス処理時間と、前記サービス処理時間の確率分布とに基づいて、変動を考慮したサービス処理時間を算出する、請求項5に記載の分散ワークフローシミュレーションシステム。
  7. 前記ワークフロー実行装置内の滞在メッセージ数及び前記ワークフロー実行装置による前記メッセージの遅延時間を取得し、前記ワークフロー実行装置内の滞在メッセージ数と、前記ワークフロー実行装置による前記メッセージの遅延時間との関係を定式化してワークフロー遅延時間予測式を生成する遅延時間予測式生成手段と、
    前記シミュレート手段にて再現された前記ワークフロー実行装置の滞在メッセージ数と、前記ワークフロー遅延時間予測式とに基づいて前記ワークフロー実行装置による前記メッセージの遅延時間を算出するワークフロー遅延時間計算手段とを更に備える、請求項1に記載の分散ワークフローシミュレーションシステム。
  8. 前記シミュレーションモデル生成手段は、前記業務システム内のメッセージの配送経路を定義するワークフロー定義と、前記サービス処理時間予測式及び前記ワークフロー遅延時間予測式とに基づいて、シミュレーションモデルを生成する、請求項7に記載の分散ワークフローシミュレーションシステム。
  9. 前記遅延時間予測式生成手段は、前記ワークフロー実行装置を入出力するメッセージについての測定情報を記憶するメッセージログ記憶装置を参照して、前記ワークフロー実行装置の滞在メッセージ数と、前記メッセージの遅延時間とを取得する、請求項7に記載の分散ワークフローシミュレーションシステム。
  10. 前記ワークフロー遅延時間計算手段は、前記メッセージの遅延時間計算後、前記ワークフロー実行装置内の滞在メッセージ数が変化したときには、該変化後の滞在メッセージ数と、前記ワークフロー遅延時間予測式とに基づいて、前記メッセージの遅延時間を再計算する、請求項7に記載の分散ワークフローシミュレーションシステム。
  11. 前記シミュレート手段は、前記算出されたサービス処理時間及びメッセージの遅延時間に基づいて、前記業務システム内のメッセージの振る舞いを再現する、請求項7に記載の分散ワークフローシミュレーションシステム。
  12. メッセージの配送制御を行うワークフロー実行装置と、受信メッセージに従って少なくとも1つのサービスを実行するサーバマシンとを備えた業務システムを管理する業務システム管理装置であって、
    前記サービス内の滞在メッセージ数及び前記サービスのメッセージ処理時間を取得し、他のサービスと前記サーバマシンを共有するサービスについて、当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、当該サービスにおけるメッセージの処理時間との関係を定式化してサービス処理時間予測式を生成するサービス処理時間予測式生成手段と、
    前記業務システム内のメッセージの配送経路を定義するワークフロー定義と、前記サービス処理時間予測式とに基づいて、シミュレーションモデルを生成するシミュレーションモデル生成手段とを備えることを特徴とする業務システム管理装置。
  13. 前記サービス処理時間予測式生成手段は、1つのサーバマシンにて1つのサービスが実行される場合については、前記サービス内の滞在メッセージ数と、前記サービスにおけるメッセージの処理時間との関係を定式化してサービス処理時間予測式を生成する、請求項12に記載の業務システム管理装置。
  14. 前記ワークフロー実行装置内の滞在メッセージ数及び前記ワークフロー実行装置による前記メッセージの遅延時間を取得し、前記ワークフロー実行装置内の滞在メッセージ数と、前記ワークフロー実行装置による前記メッセージの遅延時間との関係を定式化してワークフロー遅延時間予測式を生成する遅延時間予測式生成手段を更に備える、請求項12に記載の業務システム管理装置。
  15. 前記シミュレーションモデル生成手段は、前記業務システム内のメッセージの配送経路を定義するワークフロー定義と、前記サービス処理時間予測式及び前記ワークフロー遅延時間予測式とに基づいて、シミュレーションモデルを生成する、請求項14に記載の業務システム管理装置。
  16. メッセージの配送制御を行うワークフロー実行装置と、受信メッセージに従って少なくとも1つのサービスを実行するサーバマシンとを備えた業務システムのシミュレーションを行うシミュレーション装置であって、
    他のサービスと前記サーバマシンを共有するサービスについて、当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、当該サービスにおけるメッセージの処理時間との関係を定式化することで生成されたサービス処理時間予測式と、前記業務システム内のメッセージの配送経路を定義するワークフロー定義とに基づいて生成されたシミュレーションモデルに基づいて、前記業務システム内のメッセージの振る舞いを逐次的に再現するシミュレート手段と、
    前記他のサービスとサーバマシンを共有するサービスについて、前記シミュレート手段にて再現された当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて前記サービス処理時間を算出するサービス処理時間計算手段とを備えたことを特徴とする分散ワークフローシミュレーション装置。
  17. 前記サービス処理時間予測式は、1つのサーバマシンにて1つのサービスが実行される場合については、前記サービス内の滞在メッセージ数と、前記サービスにおけるメッセージの処理時間との関係を定式化することで生成されており、前記サービス処理時間計算手段は、前記シミュレート手段にて再現された前記サービス内の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて前記サービス処理時間を算出する、請求項16に記載の分散ワークフローシミュレーション装置。
  18. 前記サービス処理時間計算手段は、前記サービス処理時間の計算後、前記サービス内の滞在メッセージ数が変化したときには、該変化後の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて、前記サービス処理時間を再計算する、請求項16に記載の分散ワークローシミュレーション装置。
  19. 前記サービス処理時間計算手段は、前記算出したサービス処理時間と、推定されたサービス処理時間の確率分布とに基づいて、変動を考慮したサービス処理時間を算出する、請求項16に記載の分散ワークフローシミュレーション装置。
  20. 前記シミュレーションモデルが、前記ワークフロー実行装置内の滞在メッセージ数と、前記ワークフロー実行装置による前記メッセージの遅延時間との関係を定式化することで生成されたワークフロー遅延時間予測式と、前記ワークフロー遅延時間予測式と、前記ワークフロー定義とに基づいて生成されており、
    前記シミュレート手段にて再現された前記ワークフロー実行装置の滞在メッセージ数と、前記ワークフロー遅延時間予測式とに基づいて前記ワークフロー実行装置による前記メッセージの遅延時間を算出するワークフロー遅延時間計算手段を更に備える、請求項16に記載の分散ワークフローシミュレーション装置。
  21. 前記ワークフロー遅延時間計算手段は、前記メッセージの遅延時間計算後、前記ワークフロー実行装置内の滞在メッセージ数が変化したときには、該変化後の滞在メッセージ数と、前記ワークフロー遅延時間予測式とに基づいて、前記メッセージの遅延時間を再計算する、請求項20に記載の分散ワークフローシミュレーション装置。
  22. コンピュータを用いて、メッセージの配送制御を行うワークフロー実行装置と、受信メッセージに従って少なくとも1つのサービスを実行するサーバマシンとを備えた業務システムをシミュレーションする分散ワークフローシミュレーションシステムにおいて、
    前記コンピュータが、前記サービス内の滞在メッセージ数及び前記サービスのメッセージ処理時間を取得し、他のサービスと前記サーバマシンを共有するサービスについて、当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、当該サービスにおけるメッセージの処理時間との関係を定式化してサービス処理時間予測式を生成するステップと、
    前記コンピュータが、前記業務システム内のメッセージの配送経路を定義するワークフロー定義と、前記サービス処理時間予測式とに基づいて、シミュレーションモデルを生成するステップと、
    前記コンピュータが、前記シミュレーションモデルに基づいて、前記業務システム内のメッセージの振る舞いを逐次的に再現するステップと、
    前記コンピュータが、前記他のサービスとサーバマシンを共有するサービスについて、前記メッセージ振る舞いの再現にて再現された当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて前記サービス処理時間を算出するステップとを有することを特徴とする分散ワークフローシミュレーション方法。
  23. 前記コンピュータが、1つのサーバマシンにて1つのサービスが実行される場合について、前記サービス内の滞在メッセージ数と、前記サービスにおけるメッセージの処理時間との関係を定式化してサービス処理時間予測式を生成するステップと、
    前記コンピュータが、1つのサーバマシンにて1つのサービスが実行される場合について、前記メッセージ振る舞いの再現にて再現された前記サービス内の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて前記サービス処理時間を算出するステップとを更に有する、請求項22に記載の分散ワークフローシミュレーション方法。
  24. 前記サービス内の滞在メッセージ数及び前記メッセージの処理時間を取得するステップでは、前記コンピュータは、前記サービスを入出力するメッセージについての測定情報を記憶するメッセージログ記憶装置を参照して、前記サービス内の滞在メッセージ数と、前記メッセージの処理時間とを取得する、請求項22に記載の分散ワークフローシミュレーション方法。
  25. 前記コンピュータは、前記サービス処理時間の計算後、前記サービス内の滞在メッセージ数が変化したときには、該変化後の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて、前記サービス処理時間を再計算する、請求項22に記載の分散ワークローシミュレーション方法。
  26. 前記コンピュータが、サービス処理時間の確率分布を推定するステップを更に有する、請求項22に記載の分散ワークフローシミュレーション方法。
  27. 前記サービス処理時間を算出するステップでは、前記コンピュータは、前記算出したサービス処理時間と、前記サービス処理時間の確率分布とに基づいて、変動を考慮したサービス処理時間を算出する、請求項26に記載の分散ワークフローシミュレーション方法。
  28. 前記コンピュータが、前記ワークフロー実行装置内の滞在メッセージ数及び前記ワークフロー実行装置による前記メッセージの遅延時間を取得し、前記ワークフロー実行装置内の滞在メッセージ数と、前記ワークフロー実行装置による前記メッセージの遅延時間との関係を定式化してワークフロー遅延時間予測式を生成するステップと、
    前記コンピュータが、前記メッセージ振る舞いの再現にて再現された前記ワークフロー実行装置の滞在メッセージ数と、前記ワークフロー遅延時間予測式とに基づいて前記ワークフロー実行装置による前記メッセージの遅延時間を算出するステップとを更に有する、請求項22に記載の分散ワークフローシミュレーション方法。
  29. 前記シミュレーションモデルを生成するステップでは、前記コンピュータは、前記業務システム内のメッセージの配送経路を定義するワークフロー定義と、前記サービス処理時間予測式及び前記ワークフロー遅延時間予測式とに基づいて、ワークフロー遅延に関するシミュレーションモデルを生成する、請求項28に記載の分散ワークフローシミュレーション方法。
  30. 前記ワークフロー実行装置の滞在メッセージ数及び前記メッセージの遅延時間を取得するステップでは、前記コンピュータは、前記ワークフロー実行装置を入出力するメッセージについての測定情報を記憶するメッセージログ記憶装置を参照して、前記ワークフロー実行装置の滞在メッセージ数と、前記メッセージの遅延時間とを取得する、請求項28に記載の分散ワークフローシミュレーション方法。
  31. 前記コンピュータは、前記メッセージの遅延時間計算後、前記ワークフロー実行装置内の滞在メッセージ数が変化したときには、該変化後の滞在メッセージ数と、前記ワークフロー遅延時間予測式とに基づいて、前記メッセージの遅延時間を再計算する、請求項28に記載の分散ワークフローシミュレーション方法。
  32. 前記メッセージの振る舞いを再現するステップでは、前記コンピュータは、前記算出されたサービス処理時間及びメッセージの遅延時間に基づいて、前記業務システム内のメッセージの振る舞いを再現する、請求項28に記載の分散ワークフローシミュレーション方法。
  33. コンピュータに、メッセージの配送制御を行うワークフロー実行装置と、受信メッセージに従って少なくとも1つのサービスを実行するサーバマシンとを備えた業務システムを管理する処理を実行させるプログラムであって、前記コンピュータに、
    前記サービス内の滞在メッセージ数及び前記サービスのメッセージ処理時間を取得し、他のサービスと前記サーバマシンを共有するサービスについて、当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、当該サービスにおけるメッセージの処理時間との関係を定式化してサービス処理時間予測式を生成する処理と、
    前記業務システム内のメッセージの配送経路を定義するワークフロー定義と、前記サービス処理時間予測式とに基づいて、シミュレーションモデルを生成する処理とを実行させることを特徴とするプログラム。
  34. 前記サービス処理時間予測式を生成する処理では、1つのサーバマシンにて1つのサービスが実行される場合については、前記サービス内の滞在メッセージ数と、前記サービスにおけるメッセージの処理時間との関係を定式化してサービス処理時間予測式を生成する、請求項33に記載のプログラム。
  35. 前記コンピュータに、前記ワークフロー実行装置内の滞在メッセージ数及び前記ワークフロー実行装置による前記メッセージの遅延時間を取得し、前記ワークフロー実行装置内の滞在メッセージ数と、前記ワークフロー実行装置による前記メッセージの遅延時間との関係を定式化してワークフロー遅延時間予測式を生成する処理を更に実行させる、請求項33に記載のプログラム。
  36. 前記シミュレーションモデルを生成する処理では、前記業務システム内のメッセージの配送経路を定義するワークフロー定義と、前記サービス処理時間予測式及び前記ワークフロー遅延時間予測式とに基づいて、シミュレーションモデルを生成する、請求項35に記載のプログラム。
  37. コンピュータに、メッセージの配送制御を行うワークフロー実行装置と、受信メッセージに従って少なくとも1つのサービスを実行するサーバマシンとを備えた業務システムのシミュレーションを行う処理を実行させるプログラムであって、前記コンピュータに、
    他のサービスと前記サーバマシンを共有するサービスについて、当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、当該サービスにおけるメッセージの処理時間との関係を定式化することで生成されたサービス処理時間予測式と、前記業務システム内のメッセージの配送経路を定義するワークフロー定義とに基づいて生成されたシミュレーションモデルに基づいて、前記業務システム内のメッセージの振る舞いを逐次的に再現する処理と、
    前記他のサービスとサーバマシンを共有するサービスについて、前記メッセージの振る舞いを再現する処理にて再現された当該サービス内の滞在メッセージ数と、当該サービスとサーバマシンを共有する他のサービス内の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて前記サービス処理時間を算出する処理とを実行させることを特徴とするプログラム。
  38. 前記サービス処理時間予測式は、1つのサーバマシンにて1つのサービスが実行される場合については、前記サービス内の滞在メッセージ数と、前記サービスにおけるメッセージの処理時間との関係を定式化することで生成されており、前記サービス処理時間を算出する処理では、前記メッセージの振る舞いを再現する処理にて再現された前記サービス内の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて前記サービス処理時間を算出する、請求項37に記載のプログラム。
  39. 前記サービス処理時間を計算する処理では、前記サービス処理時間の計算後、前記サービス内の滞在メッセージ数が変化したときには、該変化後の滞在メッセージ数と、前記サービス処理時間予測式とに基づいて、前記サービス処理時間を再計算する、請求項37に記載のプログラム。
  40. 前記サービス処理時間を計算する処理では、前記算出したサービス処理時間と、推定されたサービス処理時間の確率分布とに基づいて、変動を考慮したサービス処理時間を算出する、請求項37に記載のプログラム。
  41. 前記シミュレーションモデルが、前記ワークフロー実行装置内の滞在メッセージ数と、前記ワークフロー実行装置による前記メッセージの遅延時間との関係を定式化することで生成されたワークフロー遅延時間予測式と、前記ワークフロー遅延時間予測式と、前記ワークフロー定義とに基づいて生成されており、
    前記コンピュータに、前記メッセージの振る舞いを再現する処理にて再現された前記ワークフロー実行装置の滞在メッセージ数と、前記ワークフロー遅延時間予測式とに基づいて前記ワークフロー実行装置による前記メッセージの遅延時間を算出する処理を更に実行させる、請求項37に記載のプログラム。
  42. 前記ワークフロー遅延時間を計算する処理では、前記メッセージの遅延時間計算後、前記ワークフロー実行装置内の滞在メッセージ数が変化したときには、該変化後の滞在メッセージ数と、前記ワークフロー遅延時間予測式とに基づいて、前記メッセージの遅延時間を再計算する、請求項41に記載のプログラム。
JP2007036119A 2007-02-16 2007-02-16 分散ワークフローシミュレーションシステム、方法、及び、プログラム Active JP4872702B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007036119A JP4872702B2 (ja) 2007-02-16 2007-02-16 分散ワークフローシミュレーションシステム、方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007036119A JP4872702B2 (ja) 2007-02-16 2007-02-16 分散ワークフローシミュレーションシステム、方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2008203934A true JP2008203934A (ja) 2008-09-04
JP4872702B2 JP4872702B2 (ja) 2012-02-08

Family

ID=39781417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007036119A Active JP4872702B2 (ja) 2007-02-16 2007-02-16 分散ワークフローシミュレーションシステム、方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP4872702B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101345068B1 (ko) * 2013-06-12 2013-12-26 성결대학교 산학협력단 워크플로우 모델링 및 시뮬레이션 시스템 및 방법
WO2014119719A1 (ja) * 2013-02-01 2014-08-07 日本電気株式会社 リソース制御システム、制御パターン生成装置、制御装置、リソース制御方法及びプログラム
CN108536533A (zh) * 2017-03-06 2018-09-14 华为技术有限公司 一种资源调整方法及装置
KR20200092447A (ko) * 2019-01-04 2020-08-04 에스케이 주식회사 설명 가능한 인공지능 모델링 및 시뮬레이션 시스템 및 방법
KR20210063701A (ko) * 2019-11-25 2021-06-02 (주)이노시뮬레이션 실시간 분산 자율주행 시뮬레이션 프레임워크를 구성 및 제어하는 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338413A (ja) * 2005-06-02 2006-12-14 Nec Corp 分散アプリケーションサービス管理システム、方法、およびプログラム
JP2007025823A (ja) * 2005-07-12 2007-02-01 Fujitsu Ltd シミュレーションプログラム、シミュレーション方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338413A (ja) * 2005-06-02 2006-12-14 Nec Corp 分散アプリケーションサービス管理システム、方法、およびプログラム
JP2007025823A (ja) * 2005-07-12 2007-02-01 Fujitsu Ltd シミュレーションプログラム、シミュレーション方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014119719A1 (ja) * 2013-02-01 2014-08-07 日本電気株式会社 リソース制御システム、制御パターン生成装置、制御装置、リソース制御方法及びプログラム
CN104981782A (zh) * 2013-02-01 2015-10-14 日本电气株式会社 用于控制资源的系统、控制模式生成装置、控制装置、用于控制资源的方法和程序
JPWO2014119719A1 (ja) * 2013-02-01 2017-01-26 日本電気株式会社 リソース制御システム、制御パターン生成装置、制御装置、リソース制御方法及びプログラム
US9740534B2 (en) 2013-02-01 2017-08-22 Nec Corporation System for controlling resources, control pattern generation apparatus, control apparatus, method for controlling resources and program
CN104981782B (zh) * 2013-02-01 2019-03-26 日本电气株式会社 用于控制资源的系统、控制模式生成装置
KR101345068B1 (ko) * 2013-06-12 2013-12-26 성결대학교 산학협력단 워크플로우 모델링 및 시뮬레이션 시스템 및 방법
CN108536533A (zh) * 2017-03-06 2018-09-14 华为技术有限公司 一种资源调整方法及装置
CN108536533B (zh) * 2017-03-06 2021-02-12 华为技术有限公司 一种资源调整方法及装置
KR20200092447A (ko) * 2019-01-04 2020-08-04 에스케이 주식회사 설명 가능한 인공지능 모델링 및 시뮬레이션 시스템 및 방법
KR102142205B1 (ko) 2019-01-04 2020-08-06 에스케이 주식회사 설명 가능한 인공지능 모델링 및 시뮬레이션 시스템 및 방법
KR20210063701A (ko) * 2019-11-25 2021-06-02 (주)이노시뮬레이션 실시간 분산 자율주행 시뮬레이션 프레임워크를 구성 및 제어하는 방법
KR102282970B1 (ko) 2019-11-25 2021-07-28 (주)이노시뮬레이션 실시간 분산 자율주행 시뮬레이션 프레임워크를 구성 및 제어하는 방법

Also Published As

Publication number Publication date
JP4872702B2 (ja) 2012-02-08

Similar Documents

Publication Publication Date Title
Măruşter et al. Redesigning business processes: a methodology based on simulation and process mining techniques
US7599827B2 (en) Evaluating hardware models having resource contention
CN100391159C (zh) 通过把推理用于it系统进行自动建模的方法和设备
Hu et al. Web service recommendation based on time series forecasting and collaborative filtering
JP6493400B2 (ja) サービスチェーン管理装置、サービスチェーン管理システム、サービスチェーン管理方法、及び、プログラム
JP4872702B2 (ja) 分散ワークフローシミュレーションシステム、方法、及び、プログラム
Zheng et al. Probabilistic QoS aggregations for service composition
Vinek et al. Classification and composition of qos attributes in distributed, heterogeneous systems
Chen et al. Development of a cloud-based factory simulation system for enabling ubiquitous factory simulation
US8180716B2 (en) Method and device for forecasting computational needs of an application
Srivastava et al. Optimized test sequence generation from usage models using Ant colony optimization
JP6658507B2 (ja) 負荷推定システム、情報処理装置、負荷推定方法、及び、コンピュータ・プログラム
Khayyati et al. Supervised-learning-based approximation method for multi-server queueing networks under different service disciplines with correlated interarrival and service times
Schneider et al. Specifying and analyzing virtual network services using queuing petri nets
CN104937613A (zh) 量化数据质量的探试
Yu et al. A genetic programming approach to distributed QoS-aware web service composition
US20170185929A1 (en) Resource allocation forecasting
JP2014078134A (ja) センサ情報高速データ処理システム及びセンサ情報高速処理・表示システム
Li et al. Towards adaptive web services QoS prediction
Wu et al. System design and algorithmic development for computational steering in distributed environments
Cortellessa et al. Three performance models at work: a software designer perspective
WO2016123967A1 (zh) 数据处理方法及装置
Holtebo et al. EXOGEM: Extending OpenAPI Generator for Monitoring of RESTful APIs
Bush et al. An active model-based prototype for predictive network management
Kim Simulator for Service-based Software Systems: Design and Implementation with DEVS-Suite

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091027

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110915

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: 20111025

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111107

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141202

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4872702

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150