JP2007241667A - 業務フロー制御システム、業務フロー制御方法および制御用プログラム - Google Patents

業務フロー制御システム、業務フロー制御方法および制御用プログラム Download PDF

Info

Publication number
JP2007241667A
JP2007241667A JP2006063277A JP2006063277A JP2007241667A JP 2007241667 A JP2007241667 A JP 2007241667A JP 2006063277 A JP2006063277 A JP 2006063277A JP 2006063277 A JP2006063277 A JP 2006063277A JP 2007241667 A JP2007241667 A JP 2007241667A
Authority
JP
Japan
Prior art keywords
service
resource
processing time
business flow
performance value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2006063277A
Other languages
English (en)
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 JP2006063277A priority Critical patent/JP2007241667A/ja
Publication of JP2007241667A publication Critical patent/JP2007241667A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】各々のサービスに対するリソースの動的配分を迅速かつ適正に実行する。
【解決手段】複数のサービス管理装置210は、各々が管理する対象のサービスの実行状況を監視して、自律的なリソースの動的再配置を実行している。集中管理装置300は、業務フロー全体に対する各サービスの実行状況を分析し、分析結果にもとづいて各サービス管理装置210がリソース100の動的再配置を実行するに際して最低限遵守すべきサービス制御条件を生成し、生成したサービス制御条件を各サービス管理装置210に送信する。各サービス管理装置210は、集中管理装置300からのサービス制御条件に従っている範囲内において、リソースの動的再配置を実行する。
【選択図】図2

Description

本発明は、業務フロー制御システム、業務フロー制御方法および制御用プログラムに関し、特にサービス単位の分散制御と業務フロー全体に対する分析の組み合わせにより自律分散制御を実現できる業務フロー制御システム、業務フロー制御方法および制御用プログラムに関する。
サービス管理システムでは、グリッド環境のような計算機資源(リソース)の自律的な動的再配置を行う環境の上にサービスを構築し、リソースの割り当て数を増減させることによってサービスの性能制御を実現している。従来のサービス管理システムの一例が特許文献1に記載されている。この従来のサービス管理システムでは、管理サーバが複数のリソースの割り当てを管理している。すなわち、管理サーバにおいて、構成管理エンジンが、サーバ、ネットワーク、ストレージを含むリソース表と、これらのリソース上で稼動するアプリケーションの構成要素を示すアプリケーション表と、リソースのアプリケーションへの割り当て表とを保持している。テンプレートリポジトリが、これらの構成情報(リソース表、アプリケーション表、リソース割り当て表)からリソースに関する性能情報の測定項目を生成する。そして、性能測定エンジンが、生成された性能情報の測定項目を測定する。そして、リソース管理エンジンが、構成情報からリソースの割り当て変更に用いるリソース割り当て変更ルールを生成し、生成したリソース割り当て変更ルールと構成情報に従って、リソースの割り当て変更を行う。この特許文献1に記載されたサービス管理システムは、サービスにて動作状態の変化を検出し、サービス制御条件に従ってリソースの割当・解放を行う。このとき、既存技術の制御条件ではリソースの制御パラメータを直接指定している。
また、従来のサービス管理システムの他の例が特許文献2に記載されている。この従来のサービス管理システムにおいても、中間サーバが複数の計算機リソースの割り当てを管理している。すなわち、中間サーバにおいて、リクエスト管理手段が、リクエストを受け付け、そのリクエストの内容の実行を管理する。リクエスト管理手段は、リクエストを複数のジョブに分割する。サービス結果出力手段は、リクエストの実行結果の出力データを生成する。ジョブ実行時間予測手段は、リクエスト受付時の計算機リソースの状況やリクエストの内容にもとづいて、リクエスト完了までに要する時間を見積もる。ジョブスケジューリング管理手段は、リクエストにもとづいて分割されたジョブの実行スケジュールを決めるとともに、ジョブの実行状況を監視し、ジョブが終了するとその結果をサービス結果出力手段に送る。計算機リソース情報管理手段は、グリッド上でジョブを実行可能な計算機の情報を管理する。
また、業務フロー制御システムでは、複数のサービスを連携させてサプライチェーンのような業務フローが構築される。従来の業務フロー制御システムの一例が特許文献3に記載されている。従来の業務フロー制御システムでは、監視・評価情報指定者が、監視対象電文と監視対象履歴を指定し、トランザクションごとに各サービスプロバイダ上のビジネスサービス情報コレクタが監視対象情報をビジネスサービスレベルアナライザへ送付する。次に、ビジネスサービスレベルアナライザは、収集した情報に基づきビジネスサービスを評価する。経営者は、評価指標に基づき、問題となるビジネスサービス又はビジネスフローを特定し、ビジネスプロセス管理に代替ビジネスサービス又はビジネスフローの検索を依頼する。検索結果に基づき、ビジネスフロー全体を変更する指示を、ビジネスプロセス管理経由で各サービスプロバイダに送信する。なお、業務フロー制御システムの既存技術では、リソース配分を考慮したものは無い。流量管理など他の技術分野においては自律分散制御手法が用いられており、その一例が特許文献4に記載されている。その制御システムではフローを部分フローに分割し、その部分フロー毎に部分集中管理を行うことにより、自律分散制御を実現している。
特開2005−174201号公報 特開2005−56201号公報 特開2005−11053号公報 特公平6−14282号公報
業務フローにおける各々のサービスにおいても、リソースを効率よく利用するために、サービス管理システムのようにリソースの割り当て数を増減させることによって各サービスの性能制御を実行するのが好ましい。
しかし、特許文献1〜4に示したような既存の技術では、リソース動的配分環境上の業務フロー管理方法が提案されておらず、業務フローにおける各々のサービスの動作状態に応じたリソース動的配分を実現することができない。また、サービスに応じたリソースの性能を定量的に評価することによってリソース・サービス間の関連をモデル化できなければ、業務フローにおける各々のサービスの動作状態に応じたリソース動的配分を実現することができない。
また、リソース動的配分環境上に既存のワークフロー制御手法を適用したとしても、迅速かつ適正な制御ができない。分散型制御では、サービス間の関係を考慮せずにサービス毎にリソースの動的配分を行うために、業務フロー全体における各々のサービスに対するリソース動的配分の適正さが保証できない。また、集中型制御では、分散した観測ポイントからデータを収集し、収集したデータにもとづいてサービス制御条件を決め、サービス制御条件に従ってリソース動的配分を行うために、各々のサービスに対するリソースの動的配分を迅速に行うことができない。
本発明は、上記のような課題を解決するためになされたものであり、各々のサービスに対するリソースの動的配分を迅速かつ適正に実行することができる業務フロー制御システム、業務フロー制御方法および制御用プログラムを提供することを目的とする。
以上の目的を達成するため、本発明の業務フロー制御システムは、複数のサービスを連携させて構築される業務フローを制御する業務フロー制御システムであって、サービスの処理をリソースに分配して実行させる複数のサービス実行装置と、各々が管理する対象のサービスの実行状況を監視して、自律的なリソースの動的再配置を実行する複数のサービス管理装置と、業務フロー全体に対する各サービスの実行状況の分析し、分析結果にもとづいて各サービス管理装置がリソースの動的再配置を実行するためのサービス制御条件を生成し、生成したサービス制御条件を各サービス管理装置に送信する集中管理装置とを備え、各サービス管理装置は、集中管理装置からのサービス制御条件に従って、リソースの動的再配置を実行することを特徴とする。
ここで、業務は、複数のサービス(これを業務という場合もある)を複合した複合型業務である。業務フローは、複数の部門や人が関わる業務の流れであって、所定のルールにもとづき処理手順などが決められている。業務フロー制御システムは、所定のルールをもとにコンピュータネットワーク上で業務処理や業務支援を行うコンピュータシステムである。
サービスを実行させるリソースを管理するリソース管理装置を備え、各サービス管理装置は、リソースの動的再配置を実行するときに、サービス制御条件を遵守するために必要なリソースの割り当てを要求するリソース割当要求を送信し、リソース管理装置は、各サービス管理装置からのリソース割当要求にもとづいて、サービスを実行させるリソースを決定するように構成されていてもよい。このような構成によれば、リソースの割り当てをリソース管理装置だけで管理することができるようになり、複数のサービスに対するリソースの割り当てを適正に実行することができる。
リソースの性能を示す情報にもとづいて、各リソースの処理能力を正規化し、各リソースの相対的な比較を可能とする性能値を導出する性能値導出手段と、リソースがサービスを実行しているときに、サービスの実行状況を測定することによって測定情報を収集する測定情報収集手段とを備え、各サービス管理装置は、測定情報手段により測定された測定情報とサービスを実行しているリソースの性能値とを取得し、取得した測定情報と性能値とにもとづいて、所定の性能値のリソースがサービスを実行したときの処理時間を予測するための予測式を算出する予測式算出手段と、予測式算出手段により算出された予測式を集中管理装置に送信する予測式送信手段とを含み、集中管理装置は、予測式を用いて各サービスにおける予測処理時間を算出し、算出した各サービスの予測処理時間から業務フロー全体の予測処理時間を算出する予測処理時間算出手段と、予め定められた業務フロー全体の処理時間上限の範囲内で各サービスの処理時間上限を決定する処理時間上限決定手段と、決定した処理時間上限をサービス制御条件として各サービス管理装置に送信するサービス制御条件送信手段とを含み、各サービス管理装置は、予測式を用いてサービスを処理時間上限で実行するためのリソースの性能値を算出するリソース性能値算出手段と、算出した性能値のリソースの割り当てを要求するリソース割当要求をリソース管理装置に送信するリソース割当要求送信手段とを含む構成とされていてもよい。このような構成によれば、業務フロー全体の処理時間上限に適合させて各サービスの処理時間上限を決定することができるとともに、各サービスの処理時間上限に応じた性能値のリソースを確実に割り当てることができるようになる。
処理時間上限決定手段は、サービスを実行していないリソースのうちで性能値が最大のリソースがサービスを実行したときの最小処理時間を予測式を用いて算出し、各サービスの処理時間上限を最小処理時間よりも長くするのが好ましい。このような構成によれば、割り当てることが不可能な性能値のリソースに対するリソース割当要求がなされることがなくなり、リソースの動的再配置の制御の不具合が生じるのを防止することができる。
性能値導出手段は、各リソースに対するベンチマークテストを実行してテスト結果を重回帰分析することによって、リソースの性能を示す情報を変数とした算出式を導出し、その算出式にリソースの性能を示す情報を代入することにより性能値を導出するのが好ましい。このような構成によれば、サービスに応じたリソースの性能を定量的に評価することができるようになる。
予測式算出手段は、一定時間に収集した測定情報と性能値とを重回帰分析することによって、処理時間を目的変数とし、性能値と測定情報に含まれるサービスの動作状態(例えば同時処理メッセージ数)を説明変数とした予測式を算出するのが好ましい。このような構成によれば、リソースの性能とサービスの内容との関係を正確に定式化することができるようになる。
リソース管理装置は、リソース割当要求で指定された性能値以上の性能値のリソースをサービスを実行させるリソースと決定するように構成されているのが好ましい。このような構成によれば、サービス制御条件、すなわち各サービスの処理時間上限を確実に遵守することができるようになる。
また、本発明による業務フロー制御方法は、複数のサービスを連携させて構築される業務フローを制御する業務フロー制御方法であって、複数のサービス管理装置の各々が管理する対象のサービスの実行状況を監視して、自律的なリソースの動的再配置を実行し、集中管理装置が業務フロー全体に対する各サービスの実行状況を分析し、分析結果にもとづいて各サービス管理装置がリソースの動的再配置を実行するためのサービス制御条件を生成し、生成したサービス制御条件を各サービス管理装置に送信し、各サービス管理装置が集中管理装置からのサービス制御条件に従って、リソースの動的再配置を実行することを特徴とする。
各サービス管理装置が、リソースの動的再配置を実行するときに、サービス制御条件を遵守するために必要なリソースの割り当てを要求するリソース割当要求を送信し、リソース管理装置が、各サービス管理装置からのリソース割当要求にもとづいて、サービスを実行させるリソースを決定してリソースにサービスを割り当てるように構成されていてもよい。このような構成によれば、リソースの割り当てをリソース管理装置だけで管理することができるようになり、複数のサービスに対するリソースの割り当てを適正に実行することができる。
また、本発明による制御用プログラムは、複数のサービスを連携させて構築される業務フローにおける、リソースの割り当てを管理するリソース管理装置を制御するための制御用プログラムであって、リソースの性能を示す情報にもとづいて、各リソースの処理能力を正規化し、各リソースの相対的な比較を可能とする性能値を導出する性能値導出処理をリソース管理装置に実行させることを特徴とする。
また、本発明による制御用プログラムは、複数のサービスを連携させて構築される業務フローにおける、各サービスを管理するサービス管理装置を制御するための制御用プログラムであって、リソースがサービスを実行しているときに測定された測定情報と、サービスを実行しているリソースにおける他のリソースとの相対的な比較を可能とする性能値とを取得し、取得した測定情報と性能値とにもとづいて、所定の性能値のリソースがサービスを実行したときの処理時間を予測するための予測式を算出する予測式算出処理と、業務フロー全体に対する各サービスの実行状況の分析して各サービスの処理時間上限を決定する集中管理装置に対して、処理時間上限を決定させるために予測式算出処理にて算出された予測式を送信する予測式送信処理と、集中管理装置から送られるサービスの処理時間上限において当該サービスを実行するためのリソースの性能値を予測式を用いて算出するリソース性能値算出処理と、算出した性能値のリソースの割り当てを要求するリソース割当要求を、リソースの割り当てを管理するリソース管理装置に送信するリソース割当要求送信処理とをサービス管理装置に実行させることを特徴とする。
また、本発明による制御用プログラムは、複数のサービスを連携させて構築される業務フロー全体を集中管理する集中管理装置を制御するための制御用プログラムであって、所定の性能値のリソースがサービスを実行したときの処理時間を予測するための予測式を用いて各サービスにおける予測処理時間を算出し、算出した各サービスの予測処理時間から業務フロー全体の予測処理時間を算出する予測処理時間算出処理と、予め定められた業務フロー全体の処理時間上限の範囲内で各サービスの処理時間上限を決定する処理時間上限決定処理と、決定した処理時間上限を各サービスを管理する各サービス管理装置に送信する処理時間上限送信処理とを集中管理装置に実行させることを特徴とする。
なお、以下のような発明も開示されている。各サービス管理装置を制御するための制御用プログラムであって、各々が管理する対象のサービスの実行状況を監視して、自律的なリソースの動的再配置を実行する自律分散制御処理と、集中管理装置からのサービス制御条件に従って、リソースの動的再配置を実行するサービス制御条件実行処理とをサービス管理装置に実行させる制御用プログラムである。また、集中管理装置を制御するための制御用プログラムであって、業務フロー全体に対する各サービスの実行状況の分析し、分析結果にもとづいて各サービス管理装置によってリソースの動的再配置を実行するために最低限遵守されるサービス制御条件を生成するサービス制御条件生成処理と、生成したサービス制御条件を各サービス管理装置に送信するサービス制御条件送信処理とを集中管理装置に実行させる制御用プログラムである。
以上のように、本発明では、複数のサービス管理装置の各々が管理する対象のサービスの実行状況を監視して、自律的なリソースの動的再配置を実行し、集中管理装置が業務フロー全体に対する各サービスの実行状況の分析し、分析結果にもとづいて各サービス管理装置がリソースの動的再配置を実行するためのサービス制御条件を生成し、生成したサービス制御条件を各サービス管理装置に送信し、各サービス管理装置が集中管理装置からのサービス制御条件に従って、リソースの動的再配置を実行するように構成されているので、各々のサービスに対するリソースの動的再配置を迅速かつ適正に実行することができる。
以下、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
図1は、本発明のネットワーク構成を示すブロック図である。図1に示すように、複数のリソース100と、リソース管理装置101と、複数のサービス実行装置200と、複数のサービス管理装置210と、集中管理装置300とがインターネットなどのネットワークに接続されている。これらの装置により、業務フロー制御システムが構成される。なお、ネットワークは、電話網やLANなどであってもよい。
業務フローは、複数のサービスを連携させて構築されるが、サービス実行装置200とサービス管理装置210は、業務フローにおける各々のサービス毎に複数設けられている(後述する図3参照)。
図2は、本発明の業務フロー制御システムの構成を示すブロック図である。図2に示す構成において、リソース100は、サービスとして各種の処理を実行する計算機やストレージなどである。この実施の形態では、リソース100をサーバ装置としている。
リソース管理装置101は、サービスを実行させるリソース100の割り当てを管理する装置である。リソース管理装置101は、リソース性能値計算手段102と、リソース割当要求受付手段103と、リソース割当実行手段104とを備えている。
リソース性能値計算手段102は、リソース性能値格納装置110に予め格納されているリソース情報(例えば、CPU形式、メモリサイズ、メモリアクセス速度、HDD(ハードディスクドライブ)アクセス速度など;図5参照)を読み出し、読み出したリソース情報にもとづいて、各リソース100の処理能力を正規化し、各リソース100の相対的な比較を可能とするリソース性能値(図5参照)を算出する。なお、リソース性能値は大きければ大きいほど性能が高いことを示している。リソース性能値計算手段102によって算出されたリソース性能値は、各リソース100のリソース情報と対応付けてリソース性能値格納装置110に格納される。
リソース割当要求受付手段103は、サービス管理装置210から送られるリソース割当要求(例えば、要求されている最低限のリソース性能値)を受け取り、受け取ったリソース割当要求をリソース割当実行手段104に渡す。リソース割当実行手段104は、リソース割当要求のリソース性能値にもとづいて、そのリソース性能値以上のリソース100を所定のサービスを実行させるリソースと決定する。リソース割当実行手段104は、決定したリソースに対してサービスを割り当たことを示すリソース割当情報をサービス実行装置200に送信する。なお、この実施の形態では、リソース割当実行手段104は、サービスを割り当てるリソースを決定する場合に、リソース・サービス対応情報格納装置201に格納されているリソース・サービス対応情報(図7参照)を参照するものとする。
図2に示すように、サービスの処理負担が上昇した場合やリソース100が故障した場合などに備えて、遊休リソース120が準備(用意)されている。リソース管理装置101は、上記のような事態が発生したときは、サービスを実行させるリソースとして遊休リソース120を割り当てることが可能である。
サービス実行装置200は、リソース管理装置101から送られるリソース割当情報に従って、サービスの処理要求をリソース100に分配してリソース100にサービスを実行させる制御を行う。サービス実行装置200は、サービスとそのサービスを割り当てたリソース100とを対応付けたリソース・サービス対応情報(図7参照)をリソース・サービス対応情報格納装置201に格納する。また、サービス実行装置200は、リソース100にサービスを実行させているときに、サービスの測定情報(例えば、動作状態、処理時間、割当済みリソースのリソース性能値など)を収集する。
サービス管理装置210は、各々が管理する対象のサービスの実行状況を監視して、リソース100とサービスとの間の関連をモデル化するとともに、集中管理装置300から送られるサービスを制御するための条件(サービス制御条件)に従って自律的なリソースの動的再配置を実行する装置である。なお、この実施の形態では、サービスを処理すべき最低限の時間であるサービスの処理時間上限をサービス制御条件としている。サービス管理装置210は、監視手段211と、リソース・サービス関連導出手段212と、自律制御実行手段213と、リソース割当要求手段214とを備えている。
監視手段211は、サービス実行装置200よりサービスの測定情報(例えば、動作状態、処理時間、割当済みリソースのリソース性能値など)を取得し、取得した測定情報をサービスログ(図8参照)としてサービスログ格納装置215に格納する。
リソース・サービス関連導出手段212は、監視手段211が収集したサービスログの情報にもとづいて、リソース(リソース性能値)とサービス(サービスの処理時間、サービスの動作状態(例えば同時処理メッセージ数))との関係を定式化したリソース・サービス関連モデル(サービス処理時間予測式;図9参照)を生成する。そして、リソース・サービス関連導出手段212は、生成したリソース・サービス関連モデルをリソース・サービス関連モデル格納装置217に格納する。ここで、リソース・サービス関連モデルに任意のサービスの動作状態(例えば同時処理メッセージ数)とリソース性能値を代入することにより、サービスの処理時間を推定(予測)することができる。
また、リソース・サービス関連導出手段212は、一定時間幅における平均同時処理メッセージ数を算出する。また、リソース・サービス関連導出手段212は、リソース・サービス関連モデルに割当済みリソースのリソース性能値を代入することにより、割当済みリソースのリソース性能値を固定値としたリソース・サービス関連モデル(サービス処理時間予測式)を導出する。さらに、リソース・サービス関連導出手段212は、遊休リソース120のリソース性能値をリソース管理装置101から取得し、遊休リソース120内の最大のリソース性能値が割当済みリソースのリソース性能値よりも大きい場合に、そのリソース性能値をリソース・サービス関連モデルに代入することにより、最大リソース性能値を固定値としたリソース・サービス関連モデル(サービス処理時間予測式)を導出する。そして、リソース・サービス関連導出手段212は、上記のようにして算出した、平均同時処理メッセージ数、割当済みリソースのリソース性能値を固定値としたリソース・サービス関連モデル(以下、現時点のリソース・サービス関連モデル(サービス処理時間予測式)という。)、および最大リソース性能値を固定値としたリソース・サービス関連モデル(以下、最大処理能力時のリソース・サービス関連モデル(サービス処理時間予測式)という。)を集中管理装置300に送信する。
なお、平均同時処理メッセージ数、現時点のリソース・サービス関連モデル(サービス処理時間予測式)、および最大処理能力時のリソース・サービス関連モデル(サービス処理時間予測式)の情報(3種類の情報)のことをサービス管理情報という。
自律制御実行手段213は、集中管理装置300から送られるサービス制御条件(例えば、サービスの処理時間の上限値である処理時間上限;図15参照)に従って、リソース・サービス関連導出手段212によって算出された平均同時処理メッセージ数とリソース・サービス関連モデルとをもとに、所定のサービスに対するリソースの割当・解放を決定する。リソース割当要求手段214は、自律制御実行手段213による決定結果にもとづいて、リソース割当要求(例えば、必要となる最低限のリソース性能値)をリソース管理装置101に送信する。
集中管理装置300は、業務フロー全体に対する各サービスの実行状況の分析(解析)を行い、分析結果にもとづいて各サービス管理装置210がサービスを制御するための条件(リソースの動的再配置を実行するための条件)であるサービス制御条件を生成し、生成したサービス制御条件を各サービス管理装置210に送信する装置である。集中管理装置300は、サービス管理情報受付手段301と、サービス制御条件生成手段302と、サービス制御条件発行手段303とを備えている。
サービス管理情報受付手段301は、各サービス管理装置210から送られるサービス管理情報を受信し、受信したサービス管理情報をサービス管理情報格納装置310に格納する。
サービス制御条件生成手段302は、各サービスにおけるサービス管理情報と、業務フロー定義格納装置320に予め格納されている業務フロー定義(複数のサービスから構成される業務フローを定義したプログラム;図11参照)とから、業務フローインスタンス(業務処理の実体)の平均処理時間(つまり、業務フロー全体の平均処理時間)を算出する。なお、業務フローインスタンスの平均処理時間を業務フロー処理時間という。サービス制御条件生成手段302は、サービス管理情報や業務フロー処理時間、業務フロー制御条件格納装置330に予め格納されている業務フロー制御条件(例えば、業務フロー処理時間の上限)などから、各サービスにおけるサービス制御条件(例えば、サービスの処理時間上限;図15参照)を決定する。そして、サービス制御条件発行手段303は、決定したサービス制御条件を各サービス管理装置210に送信(配布)する。
なお、この実施の形態では、リソース管理装置101、サービス実行装置200、サービス管理装置210および集中管理装置300は、サーバなどの計算機で構成されている。
リソース性能値格納装置110は、リソース管理装置101の計算機におけるハードディスクなどの記憶媒体であっても、リソース管理装置101とは別の記憶装置であってもよい。また、リソース・サービス対応情報格納装置201は、サービス実行装置200の計算機におけるハードディスクなどの記憶媒体であっても、サービス実行装置200とは別の記憶装置であってもよい。また、サービスログ格納装置215、サービス制御条件格納装置216およびリソース・サービス関連モデル格納装置217は、サービス管理装置210の計算機におけるハードディスクなどの記憶媒体であっても、サービス管理装置210とは別の記憶装置であってもよい。また、サービス管理情報格納装置310、業務フロー定義格納装置320および業務フロー制御条件格納装置330は、集中管理装置300の計算機におけるハードディスクなどの記憶媒体であっても、集中管理装置300とは別の記憶装置であってもよい。
リソース管理装置101におけるリソース性能値計算手段102、リソース割当要求受付手段103およびリソース割当実行手段104は、リソース管理装置101におけるCPUなどの制御部が制御プログラムに従って処理を実行することにより実現される。また、サービス管理装置210における監視手段211、リソース・サービス関連導出手段212、自律制御実行手段213およびリソース割当要求手段214は、サービス管理装置210におけるCPUなどの制御部が制御プログラムに従って処理を実行することにより実現される。さらに、集中管理装置300における業務フローログ生成手段301、サービス制御条件生成手段302およびサービス制御条件発行手段303は、集中管理装置300におけるCPUなどの制御部が制御プログラムに従って処理を実行することにより実現される。
図3は、業務フローとサービスとの関係を示す説明図である。図3に示すように、業務フローは、複数のサービスを連携させることにより構築されている。すなわち、複数のサービスの連携によって業務が提供されることになる。具体的には、業務フロー1は、サービスA−サービスB−サービスC−サービスEという連携によって構築され、業務フロー2は、サービスA−サービスB−サービスD−サービスEという連携によって構築されている。サービス間においてSOAP(Simple Object Access Protocol:XMLなどをベースにした、他のコンピュータにあるデータやサービスを呼び出すためのプロトコル)などのプロトコルを利用してXML形式のメッセージが送受信されることにより、サービスの連携が実現される。
なお、図3に示すように、各サービスA〜Eを管理するサービス管理装置210がサービスA〜E毎に設けられている。
次に、本発明の業務フローシステムの動作について説明する。
(1)リソース性能値の導出:
まず、リソース性能値を導出するまでの動作について説明する。図4は、リソース性能値算出処理を示すフローチャートである。リソース性能値算出処理において、リソース性能値計算手段102は、まず、リソース性能値格納装置110から各リソース100のリソース情報(例えば、CPU形式、メモリサイズ、メモリアクセス速度、HDDアクセス速度など)を読み出して取得する(ステップA1)。
リソース情報の例を図5に示す。図5に示すように、各リソース100を識別するためのリソース識別子(svr0001,svr0002,svr0003)に対応付けて各種のリソース情報(CPUスペック、メモリサイズ、メモリアクセス速度、HDDサイズ、HDDアクセス速度)がリソース性能値格納装置110に格納されている。図5に示す例では、CPUスペックとして、Pentium(登録商標)D−3.0GHz、Pentium4−3.2GHz、CeleronD−2.53GHzが例示されている。また、メモリサイズとして、1GB、2GB、3GBが例示されている。また、メモリアクセス速度として、481MB/s、1500MB/s、986MB/sが例示されている。また、HDDサイズとして、30GB、1TB、160GBが例示されている。HDDアクセス速度として、10MB/s、15MB/s、20MB/sが例示されている。
リソース性能値計算手段102は、取得したリソース情報にもとづいて、各リソース100の処理能力を正規化し、各リソース100の相対的な比較を可能とするリソース性能値を算出する(ステップA2)。
リソース性能値の算出方法として、例えば次のような方法が採られる。複数のリソース100に対してベンチマークテストを予め行っておく。なお、ベンチマークテストは、コンピュータのハードウェアやソフトウェアの処理速度を計測する試験であって、試験用に作成されたソフトウェアを実行し、処理の完了までにかかる時間を計測することで、製品間の比較を行うものである。そして、各リソース100のリソース情報とベンチマーク値との関係を非線形重回帰分析によって定式化する。このように定式化されたリソース性能値算出式を用いることにより、リソース性能値計算手段102がリソース情報からリソース性能値を算出することが可能となる。
リソース性能値と非線形重回帰分析の関係についてもう少し具体的に説明する。この実施の形態では、各リソース100のリソース情報(スペック)からリソース性能値を求められるようにするために重回帰分析を利用する。重回帰分析は統計手法の一つである。回帰分析の独立変数が複数になったもので、適切な変数を複数選択することによって、計算しやすく誤差の少ない予測式を作成することができる。複数のリソース100に対してベンチマークテストを実行してテスト結果を重回帰分析することにより、結果として、以下のような式を得ることができる。
(リソース性能値)=α×(メモリサイズ)+β×(クロック周波数)+γ×(Pentium4)+δ×(Pentium3)+ε×(Athlon64)+ζ
なお、αやβなどの数字(係数、定数)は重回帰分析で算出されるが、あくまで平均的な値なので実際には多少の誤差は生じる。
このとき、メモリサイズやクロック周波数のように数値化されているものは、そのまま式に代入することができるが、CPU形式(Pentium4,Pentium3,Athlon64等)のように数値化されていないものは、代入することができない。そこで、ダミー変数を用いることにより重回帰を適用できるようにする。例えば、CPU形式の場合、形式ごとに変数を用意して、その形式に当てはまる場合は1を、当てはまらない場合は0を代入するようにして数値化し、重回帰分析を適用する。
リソース性能値計算手段102は、以上のようにして求めたリソース性能値算出式を持っておき、その式に変数値としてリソース情報に応じた値を代入し、リソース性能値を算出する。そして、リソース性能値計算手段102は、算出したリソース性能値を各リソース100の識別子に対応付けたテーブルとして各種のリソース情報とともにリソース性能値格納装置110に格納する(ステップA3)。
(2)リソース・サービス関連モデルの構築:
次に、リソース・サービス関連モデルを導出するまでの動作について説明する。図6は、リソース・サービス関連モデル導出処理を示すフローチャートである。リソース・サービス関連モデル導出処理において、監視手段211は、サービス実行装置200からサービスの測定情報を取得し、取得したサービスの測定情報をサービスログとしてサービスログ格納装置215に格納する(ステップB1)。なお、サービスの測定情報としては、サービスを識別するためのサービス識別子、当該サービスを実行しているリソース100のリソース性能値(割当済みリソース100のリソース性能値)、サービスの動作状態(同時処理メッセージ数)およびサービスの処理時間とされている。
ここで、サービス実行装置200は、リソース100にサービスを割り当てるときに、リソース・サービス対応情報をリソース・サービス対応情報格納装置201に格納している。サービス・リソース対応情報の例を図7に示す。サービス・リソース対応情報は、サービスとリソースとを対応付けたテーブルの情報である。すなわち、サービス毎にリソース100のリソース識別子とリソース性能値が対応付けられている。図7に示す例では、サービスA(サービス識別子:ws_A)に2つのリソース(リソース識別子:svr0001,svr0003)が割り当てられており、それらのリソースのリソース性能値はそれぞれ1.20と2.33とされている。サービス実行装置200は、リソース・サービス対応情報を参照することにより、サービスをどのリソース100に割り当てたかを認識することができる。また、サービス実行装置200は、リソース100にサービスを実行させているときに、サービスの処理時間と同時処理メッセージ数とを測定している。従って、サービス実行装置200は、測定したサービスの処理時間および同時処理メッセージ数と、サービス割当済みリソース100のリソース性能値とを収集することができる。そして、サービス実行装置200は、収集した情報をサービスの測定情報としてサービス管理装置210に随時送信している。
監視手段211は、サービス実行装置200から送信されるサービスの測定情報を受信して取得し、取得したサービスの識別情報をサービスログとしてサービスログ格納装置215に格納する。サービスログの例を図8に示す。サービスログは、サービス毎にサービスの処理時間と同時処理メッセージ数とリソース性能値が対応付けられたテーブルの情報である。図8に示す例では、サービスA(サービス識別子:ws_A)に2つのリソースが割り当てられており、それらのリソースにおけるサービスの処理時間が12345msと37640msで、同時処理メッセージ数が3と6で、リソース性能値が3.53と4.28とされている。
リソース・サービス関連導出手段212は、監視手段211が一定時間幅(一定時間前の時点から現時点までの時間幅)において取得した複数のサービスログをサービスログ格納装置215から読み出して取得する。そして、リソース・サービス関連導出手段212は、取得したサービスログにもとづいて、サービスの処理時間と同時処理メッセージ数およびリソース性能値との関係を定式化したサービス処理時間予測式をリソース・サービス関連モデルとして算出(生成)する(ステップB2)。
サービス処理時間予測式(リソース・サービス関連モデル)は、複数のサービスログにおける同時処理メッセージ数とリソース性能値を説明変数とし、サービスの処理時間を目的変数とした多変量解析である多項式重回帰分析によって定式化される。多項式重回帰分析によって、以下のような式を得ることができる。
サービス処理時間F=a×L+b×m+c×L×m+d×e×m+f
ここで、(L=同時処理メッセージ数、m=リソース性能値の逆数、a,b,c,d,e,f=回帰による係数と定数)である。
上記の式にL、m、L×m、mの値を代入することによって、所定のリソースによる所定のサービスの処理時間を予測することができるようになる。
リソース・サービス関連導出手段212は、以上のようにして算出したリソース・サービス関連モデル(サービス処理時間予測式)をリソース・サービス関連モデル格納装置217に格納する。
リソース・サービス関連モデルの例を図9に示す。図9に示す例では、サービスA(サービス識別子:ws_A)に割り当てられているリソース100のリソース性能値が3.53である場合に、そのリソース・サービス関連モデル(サービス処理時間予測式)は「3.26*L*m+1.82」となっている。なお、図9に示すリソース・サービス関連モデルは、上記の多項式重回帰分析によって得られた式よりも簡略化された形の式である。
続いて、リソース・サービス関連導出手段212は、以下の3種類のサービス管理情報を生成する。
まず、リソース・サービス関連導出手段212は、一定時間幅における平均同時処理メッセージ数を算出する(ステップB3)。平均同時処理メッセージ数は、例えば、一定時間幅におけるサービスログにおける同時処理メッセージ数を足し合わせ、その値をサービスログ数で割り算することにより求められる。
次いで、リソース・サービス関連導出手段212は、ステップB2において算出したサービス処理時間予測式に、割当済みリソースのリソース性能値を代入することにより、説明変数が同時処理メッセージ数だけのサービス処理時間予測式(現時点のサービス処理時間予測式)を導出する(ステップB4)。ステップB2で算出されたサービス処理時間予測式では、リソース性能値と同時処理メッセージ数が変数となっていたが、割当済みリソースのリソース性能値を予測式に代入し、リソース性能値を固定値とされている。この式にもとづいて、集中管理装置300のサービス制御条件生成手段302がステップB3において算出された平均同時処理メッセージ数を代入することで、現時点での割当済みリソースによるサービスの性能(サービスの平均処理時間)を求めることが可能となる。
次いで、リソース・サービス関連導出手段212は、遊休リソース120のリソース性能値をリソース管理装置101から取得する。そして、遊休リソース120内の最大のリソース性能値が割当済みリソースのリソース性能値よりも大きい場合、その値をステップB2において算出したサービス処理時間予測式に代入することにより、説明変数が同時処理メッセージ数だけのサービス処理時間予測式(最大処理能力時のサービス処理時間予測式)を導出する(ステップB5)。ステップB2で算出されたサービス処理時間予測式では、リソース性能値と同時処理メッセージ数が変数となっていたが、遊休リソース120の最大リソース性能値を予測式に代入し、リソース性能値を固定値とされている。この式にもとづいて、集中管理装置300のサービス制御条件生成手段302がステップB3において算出された平均同時処理メッセージ数を代入することで、現時点での最大リソース性能値のリソースによるサービスの性能(サービスの平均処理時間)を求めることが可能となる。
なお、遊休リソース120内の最大のリソース性能値が割当済みリソースのリソース性能値よりも小さい場合は、現在割り当てられているリソース100以上の性能の遊休リソース120が存在しないことになる。この場合は、リソース・サービス関連導出手段212は、現在割り当てられているリソース100以上の性能の遊休リソース120が存在しない旨の情報を集中管理装置300に送信するようにしてもよい。または、リソース・サービス関連導出手段212は、ステップB4の処理と同様に、割当済みリソースのリソース性能値を代入することにより、割当済みリソースのリソース性能値を固定値としたサービス処理時間予測式を導出して集中管理装置300に送信するようにしてもよい。
以上のようにして算出された3種類のサービス管理情報は、リソース・サービス関連導出手段212によってリソース・サービス関連モデル格納装置217に格納される。
その後、リソース・サービス関連導出手段212は、上記3種類のサービス管理情報を集中管理装置300に送信する(ステップB6)。
(3)サービス制御条件の作成:
次に、サービス制御条件を導出するまでの動作について説明する。図10は、サービス制御条件作成処理を示すフローチャートである。サービス制御条件作成処理において、集中管理装置300のサービス管理情報受付手段301は、各サービス管理装置210から送信されるサービス管理情報を受信して取得し、取得したサービス管理情報をサービス管理情報格納装置310に格納する(ステップC1)。
続いて、サービス制御条件生成手段302は、各サービスにおけるサービス管理情報と、業務フロー定義格納装置320に予め格納されている業務フロー定義とから、現時点の業務フロー処理時間(業務フロー全体の処理時間)を算出する(ステップC2)。
ここで、業務フロー定義の例を図11に示す。業務フロー定義は、複数のサービスから構成される業務フローを定義(記述)したプログラムである。図11に示す例では、各サービスの連携がXMLで定義(記述)されている。図11において、上段は、業務フローインスタンスが経由するサービスの情報が記述されており、下段は、業務フローの経路情報が記述されている。なお、図11では、<processingTime>に記述されている式が各サービスにおけるサービス処理時間予測式(リソース・サービス関連モデル)である。
業務フロー処理時間は次のように算出される。サービス制御条件生成手段302は、業務フロー定義から業務フローを構成する複数のサービスを認識する。また、サービス管理情報格納装置310に格納されている各サービスにおける平均同時処理メッセージ数と現時点のサービス処理時間予測式を読み出す。そして、各サービスにおけるサービス処理時間予測式に平均同時処理メッセージ数を代入することにより、現時点における各サービスの処理時間を算出する。さらに、現時点における各サービスの処理時間を足し合わせることにより、現時点における業務フロー処理時間(業務フロー全体の処理時間)を算出する。
なお、図3に示したように業務フローが分岐している場合もある。この場合は、サービスCとサービスDのうち、サービス処理時間が長い方のサービスを選択して、そのサービス処理時間を足し合わせる。
次に、サービス制御条件生成手段302は、ステップC2にて算出した業務フロー処理時間が業務フロー制御条件格納装置330に格納されている業務フロー制御条件(業務フロー処理時間の上限)を満たしているか否かを判定する(ステップC3)。
この実施の形態では、業務フロー制御を実行する上で最低限守らなければならない業務フロー制御条件として、業務フロー処理時間の上限が定められている。そして、その業務フロー制御条件が業務フロー制御条件格納装置330に格納されている。ステップC3の処理では、業務フロー処理時間が業務フロー制御条件を満たしているか否かは、現時点の業務フロー処理時間が業務フロー処理時間の上限値以下であるかどうかによって判断される。
業務フロー処理時間が業務フロー制御条件を満たしている場合、すなわち、図12に示すように現時点の業務フロー処理時間が予め定められた業務フロー処理時間の上限値以下である場合は、サービス制御条件生成手段302は、業務フロー制御条件格納装置330に格納されている各サービスにおける目標サービス処理時間を読み出して確認する(ステップC4)。そして、サービス制御条件生成手段302は、各サービスについて、現在のサービス処理時間が目標サービス処理時間以下であるか否かを確認し、目標サービス処理時間以下であるサービスに対して目標サービス処理時間をサービス制御条件に決定する(ステップC5)。
ここで、目標サービス処理時間は、その時点のサービスの負荷量(処理量)に対して適正なリソース性能値のリソース100によるサービス処理時間である。従って、現在のサービス処理時間が目標サービス処理時間以下であるということは、現在、そのサービスに割り当てられているリソース100のリソース性能値が適正なリソース性能値よりも過剰であることを意味する。よって、この場合は、現在のサービス処理時間を目標サービス処理時間に近づけるために、目標サービス処理時間をサービス制御条件としている。図12に示す例では、サービスAのサービス処理時間が目標サービス処理時間よりも短い時間であるので、サービスAのサービス制御条件であるサービス処理時間の上限を目標サービス処理時間に設定する。
業務フロー処理時間が業務フロー制御条件を満たしていない場合、すなわち、図13に示すように現時点の業務フロー処理時間が予め定められた業務フロー処理時間の上限値以上である場合は、サービス制御条件生成手段302は、業務フロー制御条件(業務フロー処理時間の上限)をサービス単位に分解(分割)して、各サービスにおけるサービス制御条件(サービス処理時間の上限)を決定する(ステップC6)。
具体的には、サービス制御条件生成手段302は、サービス管理情報格納装置310に格納されている各サービスにおける平均同時処理メッセージ数と最大処理能力時のサービス処理時間予測式を読み出す。そして、各サービスにおけるサービス処理時間予測式に平均同時処理メッセージ数を代入することにより、最大処理能力時における各サービスの処理時間(最小サービス処理時間)を算出する。そして、以下の2つの式を満たしつつ各サービスのサービス処理時間の上限が最大となるように、各サービスのサービス処理時間の上限を求める。
業務フロー処理時間の上限=各サービスのサービス処理時間の上限の和・・・・(1)
各サービスのサービス処理時間の上限≧各サービスの最小サービス処理時間・・(2)
このような場合において、各サービスのサービス処理時間の上限の求め方には様々な方法が考えられる。例えば、各サービスの処理時間を均等に所定時間だけ短くすることによって(1),(2)式を満たすようにする場合や、目標サービス処理時間を超えた時間分に比例させて各サービスの処理時間を短くすることによって(1),(2)式を満たすようにする場合、目標サービス処理時間を大きく超えたサービス(1つあるいは2つのサービス)を特定し、そのように特定したサービスに対してだけ所定時間短くして(1),(2)式を満たすようにする場合などが考えられる。
その後、サービス制御条件発行手段303は、ステップC5またはC6にて決定された各サービスについてのサービス制御条件を各サービス管理装置210に送信(配布)する(ステップC7)。
(4)サービス制御条件にもとづく制御:
次に、サービス制御条件にもとづく制御について説明する。図14は、リソース動的配分処理を示すフローチャートである。リソース動的配分処理において、サービス管理装置210の自律制御実行手段213は、集中管理装置300から送られてきたサービス制御条件を受信して取得し、取得したサービス制御条件をサービス制御条件格納装置216に格納する(ステップD1)。このとき、サービス制御条件は、例えば図15に示すように、サービス制御条件としてサービスAの処理時間上限が13000(ms)であるものとする。
続いて、自律制御実行手段213は、現時点のサービス処理時間とサービス制御条件で指定されたサービス処理時間の上限とを比較する(ステップD2)。具体的には、リソース・サービス関連モデル格納装置217に格納されている平均同時処理メッセージ数と現時点のサービス処理時間予測式を読み出して取得し、そのサービス処理時間予測式に平均同時処理メッセージ数を代入することにより、現時点の予測サービス処理時間(平均サービス処理時間ともいう)を算出する。そして、現時点の予測サービス処理時間とサービス処理時間の上限とを比較する。
自律制御実行手段213は、現時点の予測サービス処理時間がサービス処理時間の上限を超えているか否かを判定する(ステップD3)。
現時点の予測サービス処理時間がサービス処理時間上限以下であるときは(ステップD3のNo)、サービス処理時間を上限まで長くすることができる。従って、自律制御実行手段213は、サービス制御条件内でサービス処理時間を延長するためのリソース性能値を算出し、算出したリソース性能値を指定するリソース割当要求をリソース管理装置101に送信して、リソースの動的再配置(解放)を要求する(ステップD4)。具体的には、自律制御実行手段213は、リソース・サービス関連モデル格納装置217に格納されているサービス処理時間予測式(説明変数が同時処理メッセージ数とリソース性能値で、目的変数がサービス処理時間ある予測式)を読み出して、そのサービス処理時間予測式に平均同時処理メッセージ数とサービス処理時間の上限値を代入することにより、サービス制御条件に応じたリソース性能値を算出する。そして、自律制御実行手段213は、算出したリソース性能値を指定するリソース割当要求をリソース管理装置101に送信する。
一方、現時点の予測サービス処理時間がサービス処理時間上限以上であるときは、サービス処理時間を上限まで短くしなければならない。従って、自律制御実行手段213は、サービス制御条件を満たすために必要なリソース性能値を算出し、算出したリソース性能値を指定するリソース割当要求をリソース管理装置101に送信して、リソースの動的再配置(割当)を要求する(ステップD5)。具体的には、自律制御実行手段213は、上記と同様に、リソース・サービス関連モデル格納装置217に格納されているサービス処理時間予測式(説明変数が同時処理メッセージ数とリソース性能値で、目的変数がサービス処理時間ある予測式)を読み出して、そのサービス処理時間予測式に平均同時処理メッセージ数とサービス処理時間の上限値を代入することにより、サービス制御条件に応じたリソース性能値を算出する。そして、自律制御実行手段213は、算出したリソース性能値を指定するリソース割当要求をリソース管理装置101に送信する。
なお、現時点の予測サービス処理時間がサービス処理時間上限と同じ値であるときは、リソースの動的再配置をリソース管理装置101に要求する必要がないので、ステップD3の処理を実行しない。また、現時点の予測サービス処理時間がサービス処理時間上限と近い値である場合(例えば、現時点の予測サービス処理時間がサービス処理時間上限を基準とした所定範囲内の時間である場合)も、ステップD3の処理を実行しないようにしてもよい。
リソース管理装置101のリソース割当要求受付手段103は、サービス管理装置210から送られてくるリソース割当要求を受信すると、リソース割当要求をリソース割当実行手段104に送る。リソース割当実行手段104は、リソース割当要求にて要求(指定)されたリソース性能値を満たすリソース100を選択し、選択したリソースに対してサービスを割り当てたことを示すリソース割当情報をサービス実行装置200に送信して、リソース100の動的再配置(割当・解放)を実行する(ステップD6)。
具体的には、リソース割当実行手段104は、リソース・サービス対応情報格納装置201に格納されているリソース・サービス対応情報を参照し、現時点においてどのリソースにどのサービスが割り当てられているかを確認する。そして、リソース割当要求を送信したサービス管理装置210が管理するサービスに対して現在割り当てられているリソース100のリソース性能値とリソース割当要求で指定されたリソース性能値とを比較する。そして、リソース割当要求で指定されたリソース性能値以上のリソース100(遊休リソース120)を当該サービスを実行させるリソースと決定する。
このとき、現在割り当てられているリソース100のリソース性能値がリソース割当要求で指定されたリソース性能値よりも大きい値である場合は、過剰なリソース性能値のリソース100が割り当てられていることになる。このため、現在よりもリソース性能値が小さく、かつ、リソース割当要求で指定されたリソース性能値よりも大きい値のリソース性能値を持つ遊休リソース120を割り当てることに決定する。または、現在割り当てられているリソース100が複数ある場合には、トータルのリソース性能値がリソース割当要求で指定されたリソース性能値を下回らない範囲内で、所定のリソース100の割り当てを解放することに決定する。
一方、現在割り当てられているリソース100のリソース性能値がリソース割当要求で指定されたリソース性能値よりも小さい値である場合は、サービスに割り当てられているリソース100のリソース性能値が足りないことになる。このため、リソース割当要求で指定されたリソース性能値よりも大きい値のリソース性能値を持つ遊休リソース120を割り当てることに決定する(この場合は、現在割り当てているリソース100を解放する)。または、トータルのリソース性能値がリソース割当要求で指定されたリソース性能値を超えるように、現在割り当てられているリソース100に追加して遊休リソース120を新たに割り当てることに決定する。
なお、現在割り当てられているリソース100のリソース性能値とリソース割当要求で指定されたリソース性能値とが同じ値であれば、リソースの割当の変更(再配置)を行わない。また、現在割り当てられているリソース100のリソース性能値とリソース割当要求で指定されたリソース性能値とが近い値のときも、リソースの割当の変更(再配置)を行わないようにしてもよい。
サービス実行装置200は、リソース管理装置101から送られるリソース割当情報に従って、他のサーバから送られてくるサービスの処理要求をリソース100に分配してリソース100にサービスを実行させる制御を行う。
以上のように、この実施の形態によれば、複数のサービス管理装置210が、各々が管理する対象のサービスの実行状況を監視して、自律的なリソースの動的再配置を実行するとともに、集中管理装置300が、業務フロー全体に対する各サービスの実行状況の分析し、分析結果にもとづいて各サービス管理装置210がリソース100の動的再配置を実行するためのサービス制御条件を生成し、生成したサービス制御条件を各サービス管理装置210に送信し、各サービス管理装置210が、集中管理装置300からのサービス制御条件に従って、リソースの動的再配置を実行するので、各々のサービスに対するリソース100の動的再配置を迅速かつ適正に実行することができる。
すなわち、従来の分散型制御では、サービス間の関係を考慮せずにサービス毎にリソースの動的配分を行うために、業務フロー全体における各々のサービスに対するリソース動的配分の適正さが保証できなかった。そこで、サービス間で交渉することによりサービス制御条件を決める自律分散制御方式を採用することも考えられるが、この場合は、常に多くのサービスと交渉して制御条件を決めるためにその時間的コストが大きくなってしまう。これに対し、この実施の形態では、集中型分析と分散型制御を統合することによりコミュニケーションをサービス(サービス管理装置210)と集中管理装置300との間で行うだけで済むので、サービス間の関係を考慮したリソースの動的配分を行うことができるとともに、サービス制御条件を迅速に決定することができる結果、リソースの再配置も迅速に行うことができる。
また、従来の集中型制御では、分散したサービスにおいて収集されたデータを分析することによりサービス制御条件を決め、そのサービス制御条件に従ってリソース動的配分を行っていたために、各々のサービスに対するリソースの動的配分を迅速に行うことができなかった。これに対し、この実施の形態では、集中管理装置300がサービス制御条件を生成して各サービス管理装置210にサービス制御条件を配布し、各サービス管理装置210は、サービス制御条件に従ってリソース100の動的再配置を実行するが、サービス管理装置210は、サービス制御条件が配布されたタイミングでのみリソース100のリソースの動的再配置を行うのではなく、常時、測定情報を収集し、測定情報にもとづいてサービスを実行するのに適した性能のリソースを決定して再配置を実行している。つまり、サービス制御条件はサービス管理装置210が遵守すべき最低限の条件であって、その条件を遵守していれば、その範囲内で自由にリソースの割り当てを決定することができる。従って、従来の集中型制御よりもサービスの実行状況に応じて迅速にリソースの割り当てを決定し再配置することができる。
また、リソース管理装置101が各サービス管理装置210からのリソース割当要求にもとづいて、サービスを実行させるリソースを決定するので、全てのリソースの割り当てをリソース管理装置101だけで管理することができるようになり、複数のサービスに対するリソースの割り当てを適正に実行することができる。すなわち、サービス管理装置210が各々独立してリソースの割り当てを決定し管理する場合は、複数のサービス管理装置210からのリソース割当要求が競合(重複)してしまうおそれもあるが、リソース管理装置101がサービス管理装置210からのリソース割当要求にもとづいてリソースの割り当てを一元管理することにより、そのような事態が生じることはない。また、全てのリソース100(遊休リソース120)を効率よく活用することができるようになる。
また、サービス管理装置210のリソース・サービス関連導出手段212が、サービスの測定情報と割当済みリソースのリソース性能値にもとづいてリソース・サービス関連モデルを生成することにより、所定の性能値のリソースに応じたサービスの処理時間を正確に推定することができる。また、集中管理装置300も、リソース・サービス関連モデルを用いて処理時間を計算するので、サービスの処理時間を正確に推定することができるとともに、各サービス管理装置210における制御との整合をとることができる。
また、集中管理装置300のサービス制御条件生成手段302は、サービス制御条件(サービス処理時間上限)を業務フロー制御条件(業務フロー処理時間上限)にもとづいて決定しているので、業務フロー全体の処理時間上限に適合させて各サービスの処理時間上限を決定することができる。
また、集中管理装置300のサービス制御条件生成手段302は、サービスを実行していない遊休リソース120のうちで性能値が最大のリソース120がサービスを実行したときの最小サービス処理時間を予測式を用いて算出し、各サービス処理時間上限を最小サービス処理時間よりも長くするようにしているので、割り当てることが不可能な性能値のリソースに対するリソース割当要求がなされることがなくなり、リソースの動的再配置の制御の不具合が生じるのを防止することができる。
また、リソース性能値計算手段102は、各リソースに対するベンチマークテストを実行してテスト結果を重回帰分析することによって、リソース情報を変数とした算出式を導出し、その算出式にリソース情報を代入することによりリソース性能値を導出しているので、サービスに応じたリソースの性能を定量的に評価することができるリソース性能値を容易かつ確実に算出することができる。
また、リソース・サービス関連導出手段212は、一定時間に収集した測定情報とリソース性能値とを重回帰分析することによって、サービス処理時間を目的変数とし、リソース性能値と同時処理メッセージ数を説明変数とした予測式を算出することによって、リソースの性能とサービスとの関係を正確に定式化することができる。
なお、上記の実施の形態において、リソース・サービス対応情報格納装置201は、サービス実行装置200によって管理されていたが、リソース管理装置101によって管理される構成であってもよい。
また、サービス制御条件生成手段302は、予測式を用いて各サービスの処理時間を計算し、各サービスの処理時間を足し合わせて業務フロー処理時間(業務フロー全体の処理時間)を算出するようにしていたが、サービス管理装置210から業務フローインスタンスの最初のサービスの実行開始時刻と最後のサービスの実行開始時刻の差を求めることにより業務フロー処理時間を算出するようにしてもよい。
本発明は、複数のサービスを連携させる業務フローのパフォーマンスを維持させる用途に適用できる。
本発明のネットワーク構成を示すブロック図である。 本発明の業務フロー制御システムの構成を示すブロック図である。 業務フローとサービスとの関係を示す説明図である。 リソース性能値算出処理を示すフローチャートである。 リソース情報およびリソース性能値の例を示す説明図である。 リソース・サービス関連モデル導出処理を示すフローチャートである。 サービス・リソース対応情報の例を示す説明図である。 サービスログの例を示す説明図である。 リソース・サービス関連モデルの例を示す説明図である。 サービス制御条件作成処理を示すフローチャートである。 業務フロー定義の例を示す説明図である。 目標サービス処理時間をサービス制御条件に設定する例を示す説明図である。 業務フロー制御条件をサービス単位のサービス制御条件に分解する例を示す説明図である。 リソース動的配分処理を示すフローチャートである。 サービス制御条件の例を示す説明図である。
符号の説明
100 リソース(サーバ装置)
101 リソース管理装置
102 リソース性能値計算手段
103 リソース割当要求受付手段
104 リソース割当実行手段
110 リソース性能値格納装置
120 遊休リソース
200 サービス実行装置
201 リソース・サービス対応情報格納装置
210 サービス管理装置
211 監視手段
212 リソース・サービス関連導出手段
213 自律制御実行手段
214 リソース割当要求手段
215 サービスログ格納装置
216 サービス制御条件格納装置
217 リソース・サービス関連モデル格納装置
300 集中管理装置
301 サービス管理情報受付手段
302 サービス制御条件生成手段
303 サービス制御条件発行手段
310 サービス管理情報格納装置
320 業務フロー定義格納装置
330 業務フロー制御条件格納装置

Claims (12)

  1. 複数のサービスを連携させて構築される業務フローを制御する業務フロー制御システムであって、
    サービスの処理をリソースに分配して実行させる複数のサービス実行装置と、
    各々が管理する対象のサービスの実行状況を監視して、自律的なリソースの動的再配置を実行する複数のサービス管理装置と、
    業務フロー全体に対する各サービスの実行状況の分析し、分析結果にもとづいて前記各サービス管理装置がリソースの動的再配置を実行するためのサービス制御条件を生成し、生成したサービス制御条件を前記各サービス管理装置に送信する集中管理装置とを備え、
    前記各サービス管理装置は、前記集中管理装置からの前記サービス制御条件に従って、リソースの動的再配置を実行する
    ことを特徴とする業務フロー制御システム。
  2. サービスを実行させるリソースを管理するリソース管理装置を備え、
    各サービス管理装置は、リソースの動的再配置を実行するときに、サービス制御条件を遵守するために必要なリソースの割り当てを要求するリソース割当要求を送信し、
    前記リソース管理装置は、前記各サービス管理装置からの前記リソース割当要求にもとづいて、サービスを実行させるリソースを決定する
    請求項1記載の業務フロー制御システム。
  3. リソースの性能を示す情報にもとづいて、各リソースの処理能力を正規化し、各リソースの相対的な比較を可能とする性能値を導出する性能値導出手段と、
    リソースがサービスを実行しているときに、サービスの実行状況を測定することによって測定情報を収集する測定情報収集手段とを備え、
    各サービス管理装置は、
    前記測定情報手段により測定された測定情報とサービスを実行しているリソースの性能値とを取得し、取得した前記測定情報と前記性能値とにもとづいて、所定の性能値のリソースがサービスを実行したときの処理時間を予測するための予測式を算出する予測式算出手段と、
    前記予測式算出手段により算出された予測式を集中管理装置に送信する予測式送信手段とを含み、
    前記集中管理装置は、
    前記予測式を用いて各サービスにおける予測処理時間を算出し、算出した各サービスの予測処理時間から業務フロー全体の予測処理時間を算出する予測処理時間算出手段と、
    予め定められた業務フロー全体の処理時間上限の範囲内で各サービスの処理時間上限を決定する処理時間上限決定手段と、
    決定した前記処理時間上限をサービス制御条件として前記各サービス管理装置に送信するサービス制御条件送信手段とを含み、
    前記各サービス管理装置は、
    前記予測式を用いてサービスを前記処理時間上限で実行するためのリソースの性能値を算出するリソース性能値算出手段と、
    算出した性能値のリソースの割り当てを要求するリソース割当要求をリソース管理装置に送信するリソース割当要求送信手段とを含む
    請求項2記載の業務フロー制御システム。
  4. 処理時間上限決定手段は、サービスを実行していないリソースのうちで性能値が最大のリソースがサービスを実行したときの最小処理時間を予測式を用いて算出し、各サービスの処理時間上限を前記最小処理時間よりも長くする
    請求項3記載の業務フロー制御システム。
  5. 性能値導出手段は、各リソースに対するベンチマークテストを実行してテスト結果を重回帰分析することによって、リソースの性能を示す情報を変数とした算出式を導出し、その算出式にリソースの性能を示す情報を代入することにより性能値を導出する
    請求項3または請求項4記載の業務フロー制御システム。
  6. 予測式算出手段は、一定時間に収集した測定情報と性能値とを重回帰分析することによって、処理時間を目的変数とし、性能値と測定情報に含まれるサービスの動作状態を説明変数とした予測式を算出する
    請求項3から請求項5のうちのいずれか1項記載の業務フロー制御システム。
  7. リソース管理装置は、リソース割当要求で指定された性能値以上の性能値のリソースをサービスを実行させるリソースと決定する
    請求項3から請求項6のうちのいずれか1項記載の業務フロー制御システム。
  8. 複数のサービスを連携させて構築される業務フローを制御する業務フロー制御方法であって、
    複数のサービス管理装置の各々が管理する対象のサービスの実行状況を監視して、自律的なリソースの動的再配置を実行し、
    集中管理装置が業務フロー全体に対する各サービスの実行状況の分析し、分析結果にもとづいて前記各サービス管理装置がリソースの動的再配置を実行するためのサービス制御条件を生成し、生成したサービス制御条件を前記各サービス管理装置に送信し、
    前記各サービス管理装置が前記集中管理装置からの前記サービス制御条件に従って、リソースの動的再配置を実行する
    ことを特徴とする業務フロー制御方法。
  9. 各サービス管理装置が、リソースの動的再配置を実行するときに、サービス制御条件を遵守するために必要なリソースの割り当てを要求するリソース割当要求を送信し、
    リソース管理装置が、前記各サービス管理装置からの前記リソース割当要求にもとづいて、サービスを実行させるリソースを決定してリソースにサービスを割り当てる
    請求項8記載の業務フロー制御方法。
  10. 複数のサービスを連携させて構築される業務フローにおける、リソースの割り当てを管理するリソース管理装置を制御するための制御用プログラムであって、
    リソースの性能を示す情報にもとづいて、各リソースの処理能力を正規化し、各リソースの相対的な比較を可能とする性能値を導出する性能値導出処理を
    前記リソース管理装置に実行させることを特徴とする制御用プログラム。
  11. 複数のサービスを連携させて構築される業務フローにおける、各サービスを管理するサービス管理装置を制御するための制御用プログラムであって、
    リソースがサービスを実行しているときに測定された測定情報と、サービスを実行しているリソースにおける他のリソースとの相対的な比較を可能とする性能値とを取得し、取得した前記測定情報と前記性能値とにもとづいて、所定の性能値のリソースがサービスを実行したときの処理時間を予測するための予測式を算出する予測式算出処理と、
    業務フロー全体に対する各サービスの実行状況の分析して各サービスの処理時間上限を決定する集中管理装置に対して、処理時間上限を決定させるために前記予測式算出処理にて算出された予測式を送信する予測式送信処理と、
    前記集中管理装置から送られるサービスの処理時間上限において当該サービスを実行するためのリソースの性能値を前記予測式を用いて算出するリソース性能値算出処理と、
    算出した性能値のリソースの割り当てを要求するリソース割当要求を、リソースの割り当てを管理するリソース管理装置に送信するリソース割当要求送信処理とを
    前記サービス管理装置に実行させることを特徴とする制御用プログラム。
  12. 複数のサービスを連携させて構築される業務フロー全体を集中管理する集中管理装置を制御するための制御用プログラムであって、
    所定の性能値のリソースがサービスを実行したときの処理時間を予測するための予測式を用いて各サービスにおける予測処理時間を算出し、算出した各サービスの予測処理時間から業務フロー全体の予測処理時間を算出する予測処理時間算出処理と、
    予め定められた業務フロー全体の処理時間上限の範囲内で各サービスの処理時間上限を決定する処理時間上限決定処理と、
    決定した前記処理時間上限を各サービスを管理する各サービス管理装置に送信する処理時間上限送信処理とを
    前記集中管理装置に実行させることを特徴とする制御用プログラム。
JP2006063277A 2006-03-08 2006-03-08 業務フロー制御システム、業務フロー制御方法および制御用プログラム Withdrawn JP2007241667A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006063277A JP2007241667A (ja) 2006-03-08 2006-03-08 業務フロー制御システム、業務フロー制御方法および制御用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006063277A JP2007241667A (ja) 2006-03-08 2006-03-08 業務フロー制御システム、業務フロー制御方法および制御用プログラム

Publications (1)

Publication Number Publication Date
JP2007241667A true JP2007241667A (ja) 2007-09-20

Family

ID=38587147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006063277A Withdrawn JP2007241667A (ja) 2006-03-08 2006-03-08 業務フロー制御システム、業務フロー制御方法および制御用プログラム

Country Status (1)

Country Link
JP (1) JP2007241667A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008048052A1 (de) 2007-09-19 2009-04-09 Ryobi Ltd., Fuchu Schnellstopp-Steuermechanik an einer Oberflächenbehandlungsvorrichtung einer Druckmaschine
JP2010191567A (ja) * 2009-02-17 2010-09-02 Nec Corp 情報管理装置及び情報管理方法等
JP2012178136A (ja) * 2010-10-25 2012-09-13 Bank Of Tokyo-Mitsubishi Ufj Ltd 予測装置、予測方法、及び、プログラム
WO2013088789A1 (ja) * 2011-12-16 2013-06-20 シャープ株式会社 電子機器
JP2016200912A (ja) * 2015-04-08 2016-12-01 富士通株式会社 計算機システム、計算機、ジョブ実行時刻予測方法及びジョブ実行時刻予測プログラム
WO2024051424A1 (zh) * 2022-09-06 2024-03-14 华为云计算技术有限公司 分配网络资源的方法、装置及存储介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008048052A1 (de) 2007-09-19 2009-04-09 Ryobi Ltd., Fuchu Schnellstopp-Steuermechanik an einer Oberflächenbehandlungsvorrichtung einer Druckmaschine
JP2010191567A (ja) * 2009-02-17 2010-09-02 Nec Corp 情報管理装置及び情報管理方法等
JP2012178136A (ja) * 2010-10-25 2012-09-13 Bank Of Tokyo-Mitsubishi Ufj Ltd 予測装置、予測方法、及び、プログラム
US8930293B2 (en) 2010-10-25 2015-01-06 The Bank Of Tokyo-Mitsubishi Ufj, Ltd. Prediction apparatus, prediction method, and recording medium
WO2013088789A1 (ja) * 2011-12-16 2013-06-20 シャープ株式会社 電子機器
JP2013128169A (ja) * 2011-12-16 2013-06-27 Sharp Corp 電子機器
JP2016200912A (ja) * 2015-04-08 2016-12-01 富士通株式会社 計算機システム、計算機、ジョブ実行時刻予測方法及びジョブ実行時刻予測プログラム
WO2024051424A1 (zh) * 2022-09-06 2024-03-14 华为云计算技术有限公司 分配网络资源的方法、装置及存储介质

Similar Documents

Publication Publication Date Title
US10942781B2 (en) Automated capacity provisioning method using historical performance data
US8024737B2 (en) Method and a system that enables the calculation of resource requirements for a composite application
US8171132B2 (en) Provisioning grid services to maintain service level agreements
US7937473B2 (en) Resource-amount calculation system, and method and program thereof
CN110061889A (zh) 区块链性能测试方法、装置、设备和存储介质
US8468530B2 (en) Determining and describing available resources and capabilities to match jobs to endpoints
US20180143858A1 (en) Method & system for meeting multiple slas with partial qos control
JP3916652B2 (ja) リソース割り当てシステム、方法及びプログラム
JP2007241667A (ja) 業務フロー制御システム、業務フロー制御方法および制御用プログラム
JP5596716B2 (ja) リソース管理装置、リソース管理システム、リソース管理方法およびリソース管理プログラム
JP6981427B2 (ja) 解析ノード、リソース管理方法およびリソース管理プログラム
Choi et al. pHPA: A proactive autoscaling framework for microservice chain
JP5666620B2 (ja) ネットワークシステム、及びそのサービス品質制御方法
JP2013045313A (ja) ログ収集管理装置、システム、および方法
US20130166751A1 (en) Distributed resource management systems and methods for resource management thereof
Cope et al. Robust data placement in urgent computing environments
KR101324850B1 (ko) 모바일 클라우드를 위한 온톨로지 기반의 가상 머신 할당 장치 및 그 방법
Tom et al. Improving grid resource usage: Metrics for measuring fragmentation
Vilaplana et al. An SLA and power-saving scheduling consolidation strategy for shared and heterogeneous clouds
WO2016084327A1 (ja) 資源予測装置、資源予測方法、資源予測プログラムおよび分散処理システム
JP2013190888A (ja) コンピュータリソース管理方法
Omoregbee et al. Performability requirements in making a rescaling decision for streaming applications
Mokhtari et al. Multi-objective task scheduling using smart MPI-based cloud resources
Banditori et al. Investigating the relationship between resources balancing and robustness in master surgical scheduling
KR101212407B1 (ko) 분산 병렬 생체정보인증 시스템에서의 온톨로지 추론 기반 작업 분산 스케줄링 시스템 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090212

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100401