JP2009026221A - ビジネスプロセス運用管理システム、方法、プロセス運用管理装置およびそのプログラム - Google Patents

ビジネスプロセス運用管理システム、方法、プロセス運用管理装置およびそのプログラム Download PDF

Info

Publication number
JP2009026221A
JP2009026221A JP2007191151A JP2007191151A JP2009026221A JP 2009026221 A JP2009026221 A JP 2009026221A JP 2007191151 A JP2007191151 A JP 2007191151A JP 2007191151 A JP2007191151 A JP 2007191151A JP 2009026221 A JP2009026221 A JP 2009026221A
Authority
JP
Japan
Prior art keywords
service call
service
state
call step
throughput
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
JP2007191151A
Other languages
English (en)
Other versions
JP4834622B2 (ja
Inventor
Takashi Ishizawa
崇 石澤
Atsushi Hatakeyama
敦 畠山
Naotsugu Tome
直告 當銘
Akira Kawai
亮 河合
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007191151A priority Critical patent/JP4834622B2/ja
Priority to US12/027,691 priority patent/US8250205B2/en
Publication of JP2009026221A publication Critical patent/JP2009026221A/ja
Application granted granted Critical
Publication of JP4834622B2 publication Critical patent/JP4834622B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】複数のサービス呼出ステップから構成されるプロセスにおいて、リソース不足が発生した場合に、適切なリソースの追加を可能とする手段を提供すること。
【解決手段】ビジネスプロセス運用管理装置1200は、サービス実行装置1510等の負荷が増大した場合、当該サービス実行装置1510等のサービス実行処理部1511等を呼び出しているサービス呼出ステップの状態を判定する。その状態がボトルネックの状態であれば、当該サービス実行処理部1511等を呼び出している他のプロセスにおけるサービス呼出ステップの状態を判定する。その状態においてボトルネック以外の状態が無い場合には当該サービス実行装置1510等に対するリソースの追加を決定し、スループットを制限できる状態がある場合にはスループットを制限する決定をする。
【選択図】図1

Description

本発明は、ビジネスプロセスを運用管理するシステム等に関する。
複数サーバ間での負荷分散を行うことにより、一台の高性能サーバと同等以上の大量の処理を行うことができるようにする技術の開発が進んでいる。例えば、特許文献1では、負荷分散クラスタ内のサーバ台数を動的に変化させて、遊休リソースを効率よく使用してリソースの稼働率を向上させるグリッド技術が開示されている。
一方でビジネスの変化に迅速に対応できるよう、既存のソフトウェアの提供するサービス群を柔軟に組み合わせて、ビジネスプロセスを実行するシステムを構築する技術も進んでいる。例えば、特許文献2では、このようなビジネスプロセスを実行するシステムの運用を容易にするための技術が開示されている。
ここでのサービスとは、計算機上で稼動するアプリケーションが提供する機能のことである。また、サービスは標準のインターフェースを使って利用できるアプリケーションとして実装されるものが多い。例えば、在庫量を取得するリクエストに、製品名、店舗名を付加して送信すると、指定された製品の指定された店舗にある在庫量をレスポンスとして返すという機能を持つ、在庫照会サービスなどが考えられる。
また、ビジネスプロセスは前記のサービスを呼び出す主体のひとつである。例えば、個別に存在する、注文受付サービス、在庫照会サービス、出荷サービスの3つのサービスがあった場合、これらを呼び出す順序等を定義してサービスを組み合わせて注文を処理する一連の処理を実行するものをビジネスプロセスと呼ぶ。ビジネスプロセスはサービスと同様に、標準のインターフェースを使って利用できるアプリケーションとして実装されるものが多い。また、前記のサービスの呼出順序等を定義したビジネスプロセス定義言語の代表的なものとして、BPEL(Business Process Execution Language)があり、標準化が進められ注目を集めている。
以上説明したグリッド技術とビジネスプロセス実行する技術とを組み合わせて、リソースを効率よく活用し、かつビジネスの変化に迅速に対応できる業務システムを構築することが考えられる。
特開2003−124976号公報 特開2005−141605号公報
従来の技術を単純に組み合わせた構成、すなわちビジネスプロセスが呼び出すサービスをグリッド環境で実行する構成では、次のような問題点がある。
1つ目の問題点は、グリッド環境で実行されるサービスに対して行われるリソースの追加が、サービスのスループット向上にはつながっても、ビジネスプロセスとしてのスループット向上につながらないケースがあることである。図24は、グリッド環境で異なるサービスを実行している2つのサーバのCPU(Central Processing Unit)負荷が高くなり、リソースの追加として、追加用の空きサーバの割り当てが行われようとしている状況である。
ビジネスプロセス実行環境では、ビジネスプロセスAにおけるサービス呼出ステップDのスループットの低下が、リクエストの滞留を招き、ビジネスプロセスA全体のボトルネックとなっている。このような場合、空きリソースが少ない場合にはビジネスプロセスAのスループットを向上させるためにサービス呼出ステップDに対して、リソースを追加すべきだが、例えばサーバのCPU負荷増大検知のタイミング次第では、同じくスループットが低下しているサービス呼出ステップBにリソースを追加してしまう。この場合、サービス呼出ステップDのスループットは向上しないため、リソースを追加したとしてもビジネスプロセスAの処理の停滞を解消することはできない。
2つ目の問題点は、ビジネスプロセスのスループット向上につながらないサービス呼出ステップの消費するリソースが、他のビジネスプロセスのスループットに影響を与えてしまうことである。例えば、図25は、図24における状況に加えて、ビジネスプロセスBが実行され、ビジネスプロセスAおよびビジネスプロセスBがサービスBを共有している状況である。
図25に示した環境において、ビジネスプロセスAのボトルネックは、サービス呼出ステップDであり、サービス呼出ステップBにリソースを追加して大量にリクエストを処理しても、ビジネスプロセスAのスループット向上につながらない。そして、ビジネスプロセスAのサービス呼出ステップBがサーバのCPUを多く使用してしまうと、ビジネスプロセスBのサービス呼出ステップBにおいて使用するCPUを圧迫して、結果的にビジネスプロセスBのスループットが低下してしまう。
したがって、本発明は、複数のサーバをサービス呼出ステップによりに呼び出して実行されるプロセスにおいて、サーバがリソース不足に陥った場合に、ビジネスプロセスのスループットが向上するよう、適切なリソースの追加を可能とする手段を提供することを目的とする。
本発明に係るビジネスプロセス運用管理システムは、
所定のサービスを提供する機能を有するサービス実行処理部を備える複数のアプリケーションサーバと、前記サービス実行処理部を呼び出して利用するサービス呼出ステップから構成されたプロセスを実行するプロセス実行処理部を備えるプロセス実行装置と、前記プロセス実行時の前記サービス呼出ステップの処理状況を判定するプロセス運用管理装置とを、ネットワークを介して相互に接続して構成されるビジネスプロセス運用管理システムであって、
前記プロセス運用管理装置は、
前記プロセスごとに、当該プロセスで実行される前記サービス呼出ステップに対応した当該プロセスにおける実行順序および当該サービス呼出ステップのスループットを少なくとも保持したサービス呼出ステップ管理テーブルを格納した記憶部と、
前記サービス呼出ステップ管理テーブルから、前記プロセスごとに前記サービス呼出ステップについてのスループットおよび実行順序を抽出し、
この抽出したスループットおよび実行順序から、前記プロセスにおけるサービス呼出ステップの状態を、ボトルネックの状態であるか、スループットを制限できる状態であるか、またはそれら以外の状態であるかを決定して、それぞれ前記サービス呼出ステップ管理テーブルに記憶するサービス呼出ステップ管理部と、
前記ネットワークを介して、前記アプリケーションサーバの負荷が増大したことを示す情報を取得すると、
前記サービス呼出ステップ管理テーブルから、負荷が増大したアプリケーションサーバ上のサービス実行処理部を呼び出しているサービス呼出ステップの状態を抽出し、この抽出した状態がボトルネックの状態であるか否かを判定し、
ボトルネックの状態であれば、前記アプリケーションサーバ上のサービス実行処理部を呼び出している他のプロセスにおけるサービス呼出ステップの状態においてボトルネック以外の状態があるか否かを判定し、ボトルネック以外の状態が無い場合には、当該アプリケーションサーバに対するリソースの追加を決定し、
他のプロセスにおけるサービス呼出ステップの状態においてボトルネック以外でスループットを制限できる状態がある場合には、他のプロセスのサービス呼出ステップのスループットを制限する決定をする負荷増大対処決定部とを備える
ことを特徴とする。
本発明のその他の態様については、後記する実施の形態において詳しく説明する。
本発明によると、プロセスのボトルネックとなるサービス呼出ステップを特定できるため、サービス呼出ステップにおいてリソース不足が発生した場合に、適切なリソースの追加を実行することができる。また、本発明によると、サーバ追加が実施されてもビジネスプロセスのスループットが向上しないケースや、ビジネスプロセスのスループットが向上しないにもかかわらず計算機リソースを多く使用して他のビジネスプロセスのスループットへ悪影響を与えるケースを防ぐことができる。そのため、ビジネスプロセスのスループットが向上するように、適切なリソース追加を実施することができる。
以下、本発明の好適な実施の形態について、添付した図面を参照しつつ説明する。
[第1実施形態]
本発明の第1実施形態に係る処理は、サービスを提供するサーバ群の負荷と、前記サービスを適宜呼び出して利用するビジネスプロセス群の状況を定期的に監視する処理と、サーバの負荷増大の検知を契機として各ビジネスプロセスの状況に応じて対処を決定する処理から構成される。
ここでビジネスプロセスの状況とは、ビジネスプロセスでサービスが呼び出される順序と、ビジネスプロセスにおいて、サービスを呼び出すステップ(以下、サービス呼出ステップ)ごとのスループットの値から決定した各サービス呼出ステップの状態のことを指す。
ここで、各サービス呼出ステップの状態は、各サービス呼出ステップの順序およびそのスループットの値を相互に比較した結果から、「通常」状態、「ボトルネック」状態、「流量制限可能」状態の3つの状態とする。
「ボトルネック」状態は、当該ビジネスプロセスの処理のボトルネックとなっているサービス呼出ステップにあてはまる状態のことで、当該サービス呼出ステップのスループットが向上すればビジネスプロセスのスループットが向上することが見込めるステップであることを示している。
「流量制限可能」状態は、当該ステップのスループットをある値まで低下させてもビジネスプロセスのスループットには影響を与えないサービス呼出ステップにあてはまる状態のことである。
後記するビジネスプロセス運用管理装置が、サーバの負荷増大通知を受け付けると、当該サーバ上で稼動するサービスを呼び出しているすべてのサービス呼出ステップの状態および状態の組み合わせに応じて対処を次のように決定する。
前記サービス呼出ステップのうち、ひとつも「ボトルネック」状態のサービス呼出ステップがない場合は対処を実行しない。
また、前記サービス呼出ステップのうち、「ボトルネック」状態と「流量制限可能」状態とのサービス呼出ステップがそれぞれ1つ以上ある場合は、「流量制限可能」状態であるサービス呼出ステップの流量制限を実施する。
さらに、前記サービス呼出ステップのうち、1つ以上「ボトルネック」状態のサービス呼出ステップがあり、「流量制限可能」状態のサービス呼出ステップがない場合は、負荷が高くなっているサーバへリソースを追加する。
以下、本実施形態のシステム構成例について説明し、次にその動作の様子を、PAD図を用いて説明し、最後にある状況を想定した本発明の動作例(動作例1、および動作例2)を示す。
図1は、本実施形態のビジネスプロセス実行環境のシステム構成図の例である。本実施形態でのシステムは、複数のサービスを実行するサービス実行装置(1510〜1540)群、このサービス実行装置群(1510〜1540)を管理するリソース管理装置1400、ビジネスプロセスを実行するビジネスプロセス実行装置1100、ビジネスプロセスの運用を管理するビジネスプロセス運用管理装置1200、ビジネスプロセスとサービス間でやり取りされるメッセージの中継、およびリソース管理装置1400とビジネスプロセス運用管理装置間でやり取りされるイベント通知や命令伝達の中継を行うビジネスプロセス・サービス間中継装置1300、および各装置を相互に接続するネットワーク1600を備えて構成される。
以下、各装置について詳細に説明する。
(サービス実行装置)
サービス実行装置群(1510〜1540)は、それぞれが1台のサーバまたは複数台のサーバの集合であり、動的にサーバを追加して処理能力を向上させることのできる装置である。また、前記各サーバは仮想的なサーバであっても構わない。仮想的なサーバである場合、1つの仮想的なサーバが使用できるCPUやメモリなどの計算機リソースの利用量を変更することで、同様に処理能力を向上させることができる。ここで、図2は、本実施形態におけるサービス実行装置1510の装置構成例を示す図面である。ここでは、例としてサービス実行装置1510について説明するが、その他のサービス実行装置(1520〜1540)の装置構成も同様である。
サービス実行装置1510は、通信制御装置2100、CPU2200、ディスプレイ2300、キーボード2400、システムバス2500、1次記憶装置2600、および2次記憶装置2700を備えて構成される。
通信制御装置2100は、CPU2200の指示に従いネットワーク1600上のメッセージを送受信する。ディスプレイ2300およびキーボード2400は、管理者がセットアップを行う際に使用する。1次記憶装置2600にはサービス実行処理部1511、リソース監視エージェント1513およびOS(Operating System)2601が格納され、CPU2200によって実行される。2次記憶装置2700は、1次記憶装置2600に格納されたプログラムが使用するデータが格納され、CPU2200の指示に従って情報の読み出しおよび格納を行う。
サービス実行処理部1511は、当該処理部に実装されているサービスを実行する。サービスは、ビジネスプロセス実行装置1100の後記するビジネスプロセス実行処理部1110からの呼び出しに応じて応答を返す処理を実行する。ビジネスプロセス実行処理部1110から、サービス実行処理部1511を呼び出す処理、およびサービス実行処理部1511からビジネスプロセス実行処理部1110へ応答を返す処理とは、ネットワーク1600およびビジネスプロセス・サービス間中継装置1300を介したメッセージのやり取りを行うことであり、HTTP(Hyper Text Transfer Protocol)や、SOAP(Simple Object Access Protocol)などを使って行われる。なお、サービス実行処理部1511に実装されているサービスの処理内容は、サービス実行装置(1510〜1540)の種類に応じて設定される。
また、サービスを実行する処理とは、前記したサービスの呼び出しに応じた処理を実行し、応答に必要な情報を抽出する処理である。サービスの一例として、ある製品名を指定して当該製品の残りの在庫量を要求する呼び出しに応じて、指定された製品の残りの在庫量を計算し、応答として残りの在庫数を返すという機能を持つ、在庫照会サービスなどが考えられる。このサービスの例における呼び出しに応じた処理とは、呼び出された際に受け取った製品名を使って当該製品の残りの在庫量を取得する処理に相当する。
リソース監視エージェント1513は、サービス実行装置1510のCPU利用率を監視し、値を記憶する。当該CPU利用率の値は、後記するリソース監視部1411から定期的に読み出される。サービス実行処理部1511およびリソース監視エージェント1513は、CPUによって実行されるプログラムとして実装される。
なお、本実施形態では、サービス実行装置群(1510〜1540)は、それぞれ別個のサーバとして示したが、各サービス実行装置は、1台のサーバ上で実行されるプログラムとして具現される仮想的な装置であっても構わない。また、サービス実行処理部1511およびリソース監視エージェント1513をハードウェア(集積回路チップ等)で実装する構成とすることもできる。
(リソース管理装置)
次に、リソース管理装置1400について説明する。ここで、図3は、本実施形態におけるリソース管理装置1400の装置構成例を示す図面である。リソース管理装置1400は、通信制御装置2110、CPU2210、ディスプレイ2310、キーボード2410、システムバス2510、1次記憶装置2610、および2次記憶装置2710を備えて構成される。
通信制御装置2110は、CPU2210の指示に従いネットワーク1600上のメッセージを送受信する。ディスプレイ2310およびキーボード2410は、管理者がセットアップを行う際に使用する。1次記憶装置2610にはリソース管理処理部1410およびOS2611が格納され、CPU2210によって実行される。2次記憶装置2710は、リソース管理テーブル1421が格納され、CPU2210の指示に従って情報の読み出しおよび格納を行う。また、リソース管理処理部1410は、リソース監視部1411とリソース構成管理部1412とを内包して構成される。
本実施形態では、リソース管理処理部1410は、プログラムとして実装されることとしたが、ハードウェアとして実装することもできる。
リソース監視部1411は、定期的に、サービス実行装置(1510〜1540)のリソース監視エージェント(1513〜1543)から、サービス実行装置(1510〜1540)のCPU利用率を収集し、サービス実行装置(1510〜1540)のCPU利用率のうちいずれかが、80%を超過していた場合に、ビジネスプロセス・サービス間中継装置1300を介してビジネスプロセス運用管理装置1200に、サービス実行装置(1510〜1540)において負荷の増大が発生したことを示す負荷増大イベントを送信する。
リソース構成管理部1412は、ビジネスプロセス運用管理装置1200がビジネスプロセス・サービス間中継装置1300を介して送信するサーバ追加要求に従って、指定されたサービス実行装置(1510〜1540)のいずれかへのサーバ追加(リソースの追加)を実行する。
リソース管理テーブル1421には、リソースの構成情報と負荷情報を保持する。ここで、図4は、本実施形態におけるリソース管理テーブル1421に保持される情報の例を示す図面である。リソース管理テーブル1421には、「リソース名」3100、「平均CPU利用率」3200、および「負荷状態」3300の情報を保持する。「リソース名」3100は、サービス実行装置(1510〜1540)を一意に識別するための名前であり、管理者が設定する。
また、「平均CPU利用率」3200は、サービス実行装置(1510〜1540)のリソース監視エージェント(1513〜1543)から収集したサービス実行装置(1510〜1540)の平均CPU利用率であり、リソース監視部1411によって定期的に値が更新される。「負荷状態」3300は、「平均CPU利用率」3200から決定される負荷の状態を示す値であり、「平均CPU利用率」3200の値が80%以上であれば「高負荷」が、80%未満であれば「通常」がそれぞれ設定される。なお、「負荷状態」3300は、「平均CPU利用率」3200の値が更新されるタイミングと同じタイミングで更新される。
(ビジネスプロセス実行装置)
次に、ビジネスプロセス実行装置1100について説明する。ここで、図5は、本実施形態におけるビジネスプロセス実行装置1100の装置構成例を示す図面である。ビジネスプロセス実行装置1100は、通信制御装置2120、CPU2220、ディスプレイ2320、キーボード2420、システムバス2520、1次記憶装置2620、および2次記憶装置2720を備えて構成される。
通信制御装置2120は、CPU2220の指示に従いネットワーク1600上のメッセージを送受信する。ディスプレイ2320およびキーボード2420は、管理者がセットアップを行う際に使用する。1次記憶装置2620にはビジネスプロセス実行処理部1110およびOS2621が格納され、CPU2220によって実行される。2次記憶装置2720は、ビジネスプロセス定義格納部1121およびステップ単位リクエスト送受信履歴格納部1122が格納され、CPU2220の指示に従って情報の読み出しおよび格納を行う。また、ビジネスプロセス実行処理部1110は、ビジネスプロセス定義読出し部1111、ステップ単位流量制御部1112およびステップ単位流量監視部1113を内包して構成される。本実施形態では、ビジネスプロセス実行処理部1110は、プログラムとして実装されることとしたが、ハードウェアとして実装することもできる。
ここでビジネスプロセスとは、2つ以上のサービスの組み合わせであり、図示しないクライアントプログラムから要求を受け付け、処理を実行する。ビジネスプロセス定義格納部1121には、呼び出すサービスの名称および呼び出す順序が管理者によって格納される。
ビジネスプロセス実行処理部1110は、リクエストを受け付けた際に、ビジネスプロセス定義読み出し部1111を使ってビジネスプロセスの定義情報をビジネスプロセス定義格納部1121から読み出し、当該定義情報に記録されているサービス群を、指定された実行順序で実行する。
例えば、定義情報に記録されているサービス群が、注文受付サービス、在庫照会サービス、出荷サービスの3つのサービスであり、この3つのサービスが3つのサービス実行装置(1510,1520,1530)上で稼動している場合を考える。ここで、注文受付サービス、在庫照会サービス、出荷サービスの順に実行するビジネスプロセスを、注文処理ビジネスプロセスとして定義し、ビジネスプロセス定義格納部1121に格納する。
ビジネスプロセス実行処理部1110は、前記の注文処理ビジネスプロセスに対するリクエストを受け付けると、ビジネスプロセス定義格納部1121から実行順序を読み出し、読み出した実行順序に従ってサービス(各サービス実行装置(1510,1520,1530))を呼び出し、ビジネスプロセスを実行する。
ステップ単位流量制御部1112は、ビジネスプロセスの各サービス呼び出しステップからビジネスプロセス・サービス間中継装置1300を介してサービス(各サービス実行装置(1510,1520,1530))へ送信されるリクエスト量を制御する。
ステップ単位流量監視部1113は、ビジネスプロセスの各サービス呼び出しステップから送受信されるメッセージを監視し、サービス呼び出しが正常に終了した時刻、ビジネスプロセス名および呼び出しサービス名を含む履歴情報を、ステップ単位リクエスト送受信履歴格納部1122に格納する。ステップ単位リクエスト送受信履歴格納部1122に格納された履歴情報は、ビジネスプロセス運用管理装置1200内の処理部によって、スループットの計算に使用される。
(ビジネスプロセス・サービス間中継装置)
次に、ビジネスプロセス・サービス間中継装置1300について説明する。ここで、図6は、本実施形態におけるビジネスプロセス・サービス間中継装置1300の装置構成例を示す図面である。ビジネスプロセス・サービス間中継装置1300は、通信制御装置2130、CPU2230、ディスプレイ2330、キーボード2430、システムバス2530、1次記憶装置2630、および2次記憶装置2730を備えて構成される。
ビジネスプロセス・サービス間中継処理部1310は、サービス管理テーブル1321の情報を使用してビジネスプロセス実行装置1100とサービス実行装置(1510〜1540)との間でやり取りされるメッセージ、およびビジネスプロセス運用管理装置1200とリソース管理装置1400との間でやり取りされるメッセージ(サーバの負荷増大を示すイベントメッセージやサーバ追加命令を伝達するためのメッセージ)を中継する。
また、本実施形態では、ビジネスプロセス・サービス間中継処理部1310は、プログラムとして実装した例を示したが、ハードウェアにより実装する構成であってもよい。
ここで、図7は、本実施形態におけるサービス管理テーブル1321に保持される情報の例を示す図面である。図7に示すように、サービス管理テーブル1321には、ビジネスプロセスが呼び出す「サービス名」4100と、サービスが稼動している「稼動先リソース名」4200との対応関係を管理するものであり、管理者が設定する。
(ビジネスプロセス運用管理装置)
次に、ビジネスプロセス運用管理装置1200について説明する。ここで、図8は、本実施形態におけるビジネスプロセス運用管理装置1200の装置構成を示す図面である。図8に示すように、ビジネスプロセス運用管理装置1200は、通信制御装置2140、CPU2240、ディスプレイ2340、キーボード2440、システムバス2540、1次記憶装置2640、および2次記憶装置2740を備えて構成される。
通信制御装置2140は、CPU2240の指示に従いネットワーク1600上のメッセージを送受信する。ディスプレイ2340およびキーボード2440は、管理者がセットアップを行う際に使用する。1次記憶装置2640にはビジネスプロセス運用管理処理部1210およびOS2641が格納され、CPU2240によって実行される。2次記憶装置2740は、サービス呼出ステップ管理テーブル1221が格納され、CPU2240の指示に従って情報の読み出しおよび格納を行う。
1次記憶装置2640に格納されるビジネスプロセス運用管理処理部1210は、サービス呼出ステップ管理部1211および負荷増大対処決定部1212を内包している。サービス呼出ステップ管理部1211は、サービス呼出ステップ管理テーブル1221に格納された情報に基づいて、各ビジネスプロセスの構成や状況をサービス呼出ステップ単位で管理する。
ここで、図9は、サービス呼出ステップ管理テーブル1221に格納される情報の例を示す図面である。サービス呼出ステップ管理テーブル1221の「ビジネスプロセス名」5100、「呼び出しサービス名」5200および「呼び出し順序」5300の値は、管理者がビジネスプロセス実行装置1100のビジネスプロセス定義格納部1121に格納されているビジネスプロセスの定義情報をもとに入力する。また、「スループット」5400は、サービス呼出ステップ管理部1211が、ビジネスプロセス実行装置1100のステップ単位リクエスト送受信履歴格納部1122の情報を元に計算した値を格納する。さらに、「スループット」5400の値は、ビジネスプロセス実行装置1100のステップ単位リクエスト送受信履歴格納部に格納された履歴情報に含まれる、各サービス呼び出しステップからのサービス呼出が正常に終了した回数を、1分間ごとに計算することによって算出される。
また、「ステップの状態」5500に格納されている値は、各サービス呼出しステップの状態を表す。この「ステップの状態」5500に格納されている値は、各「ステップの呼び出し順序」5300と「スループット」5400との比較結果から、「通常」、「ボトルネック」、「流量制限可能」の3つの値のいずれかに決定される。
ここで、「ボトルネック」は、ビジネスプロセスの処理のボトルネックである状態を示す値であり、当該ステップのスループットが向上すればビジネスプロセスのスループットが向上することが見込めるステップであることを示している。
また、「流量制限可能」は、当該ステップのスループットをある値まで低下させてもビジネスプロセスのスループットには影響を与えないステップであることを示している。これらの値を決定して、サービス呼出ステップ管理テーブル1221に格納する処理は、前記した「スループット」5400の値を更新した後に実行する。「ステップの状態」5500の値を決定してサービス呼出ステップ管理テーブル1221に格納する処理の詳細は後記する。
負荷増大対処決定部1212は、リソース管理装置1400からビジネスプロセス・サービス間中継装置1300を介して送信されてくる「負荷増大イベント」を受け付け、サービス呼出ステップ管理テーブル1221の情報に基づいて、これに対する対処を決定・指示する。対処の決定・指示する処理の詳細については後記する。
(各装置の動作)
本実施形態のビジネスプロセス運用管理装置1200の動作を、図10、図13に示したPAD図を用いて説明する。なお、図10に示したPAD図は、定期的にサービス実行装置群(1510〜1540)の負荷と、ビジネスプロセス群の状況とを監視する処理である「性能監視・管理」フェーズの手順を示し、図13に示したPAD図は、サーバの負荷増大の検知を契機としてビジネスプロセスの状況に応じて対処を決定する処理である「負荷増大対処」フェーズの手順を示している。
また、ビジネスプロセス・サービス間中継装置1300が、リソース管理装置1400からビジネスプロセス運用管理装置1200へ送信する負荷増大イベントメッセージを中継する手順を、図12に示したPAD図を用いて併せて説明する。ここで、負荷増大イベントとは、サービス実行装置(1510〜1540)の負荷が増大したという事象のことである。
(性能情報監視・管理フェーズ)
まず「性能情報監視・管理」フェーズについて説明する。ここで、図10は、ビジネスプロセス運用管理装置1200のサービス呼出ステップ管理部1211が、定期的にビジネスプロセスの状況を更新する処理例を示すPAD図である。
具体的には、ビジネスプロセス実行装置1100のステップ単位流量監視部1113が、ステップ単位リクエスト送受信履歴格納部1122へ出力した履歴情報に基づいて、サービス呼出ステップごとの現在のスループットをサービス呼出ステップ管理部1211が算出し、この算出したスループットとサービス呼出ステップの実行順序から各サービス呼出ステップの状態を決定し、この決定に対応する値をサービス呼出ステップ管理テーブル1221へ格納するまでの処理の流れである。
まず、ステップ6001では、ビジネスプロセス運用管理装置1200のサービス呼出ステップ管理部1211が、ステップ6002からステップ6007までの処理を一定間隔(例えば、1分間隔)で繰り返す。
そして、ステップ6002では、サービス呼出ステップ管理部1211が、ビジネスプロセス実行装置1100から、ステップ単位リクエスト送受信履歴格納部1122に格納された履歴情報を、ネットワーク1600を介して受信し、すべてのビジネスプロセスの各サービス呼出ステップについて、過去1分以内にサービスの実行が正常に終了した旨を示すメッセージ受信した回数(1分間のスループット)を計算する。そして、この計算結果は、サービス呼出ステップ管理テーブル1221の各サービス呼出ステップに対応するレコードの「スループット」5400に格納する。なお、スループットを計測する時間間隔は、任意に変更可能である。
次に、ステップ6003では、サービス呼出ステップ管理部1211は、サービス呼出ステップ管理テーブル1221(図9参照)から、同じ「ビジネスプロセス名」5100の値を有するレコードを抽出し、この抽出したレコードごとに、すべてのビジネスプロセスについて、後記するステップ6004からステップ6007の処理を繰り返す。
そして、ステップ6004では、ステップ6003で抽出したレコードから、同一ビジネスプロセスのレコードのうち、「スループット」5400の値が一番低いレコードを抽出する。このとき、一番低い「スループット」5400の値をもつレコードが複数ある場合には、それらすべて抽出する。
次に、ステップ6005では、ステップ6004で抽出した一番スループットが低いレコードのうち、「呼び出し順序」5300の値が一番小さいサービス呼出ステップ、すなわち実行順序が一番早いサービス呼出ステップを抽出し、この抽出したサービス呼出ステップの「ステップの状態」5500の値を「ボトルネック」に更新する。この更新した「ステップの状態」5500の値は、サービス呼出ステップ管理テーブル1221に格納される。
次に、ステップ6006では、サービス呼出ステップ管理部1211が、サービス呼出ステップ管理テーブル1221において、同一の「ビジネスプロセス名」5100の値を有するすべてのレコードのうち、ステップ6005で決定した「ボトルネック」状態のレコードの「呼び出し順序」5300の値より小さい「呼び出し順序」5300の値を持つ、すなわち、「ボトルネック」状態のサービス呼出ステップよりも実行順序の早いすべてのレコードの「ステップの状態」5500の値を、「流量制限可能」に更新し、この値をサービス呼出ステップ管理テーブル1221に格納する。
そして、ステップ6007では、サービス呼出ステップ管理テーブル1221において、同一の「ビジネスプロセス名」5100の値を有するレコードのうち、ステップ6005で決定した「ボトルネック」状態のレコードの「呼び出し順序」5300の値より大きい「呼び出し順序」5300の値を持つ、すなわち、「ボトルネック」状態のサービス呼出ステップよりも実行順序の遅いすべてのレコードの「ステップの状態」5500の値を、「通常」に更新し、この値をサービス呼出ステップ管理テーブル1221に格納する。
以上、図10に示した処理手順を実行することによってビジネスプロセスの各サービス呼び出しステップが、そのビジネスプロセスにおける「ボトルネックの」状態であるのか、後記する適切な流量まで流量制限を実施してもビジネスプロセスのスループットに影響を与えない「流量制限可能」状態であるのか、または「通常」の状態であるのか、をサービス呼出ステップ管理テーブル1221で管理することができる。
また、図10に示した処理手順を通して更新されたサービス呼出ステップ管理テーブル1221に格納された情報は、必要に応じて、電子ファイルや、図示しないプリンタなどを用いて印字出力したり、ディスプレイの表示される表示画面として出力することもできる。ここで、図11は、サービス呼出ステップ管理テーブル1221に格納された情報を表示するビジネスプロセス実行状態表示画面の例を示す図面である。図11に示したビジネスプロセス実行状態表示画面5001では、図9に示したサービス呼出ステップ管理テーブル1221に格納された情報が表示されていることがわかる。
このビジネスプロセス実行状態表示画面5001を参照することで、当該ビジネスプロセス実行環境の管理者は、ビジネスプロセス実行装置1100において実行されるビジネスプロセスにおいて、どのサービス呼出ステップがスループットのボトルネックとなっているかを確認することができ、この情報に基づいてサーバ等のリソースの増強計画を立案することができる。また、ビジネスプロセスのスループットが停滞した場合の対処を迅速に行うこともできる。
(負荷増大イベントの通知)
次に、リソース管理装置1400のリソース監視部1411が、サービス実行装置(1510〜1540)の負荷を定期的に監視し、負荷の高いサービス実行装置(1510〜1540)があることを検出した際に、負荷増大イベントを送信する処理について説明する。
リソース監視部1411は、定期的に、リソース監視エージェント(1513〜1543)から各サービス実行装置(1510〜1540)の平均CPU利用率を収集してリソース管理テーブル1421(図4参照)の「平均CPU利用率」3200に値を格納し、平均CPU利用率の値が80%未満であるサービス実行装置に対応するレコードでは、負荷が「通常」状態であることを示す「通常」を「負荷状態」3300に格納し、80%以上であるサービス実行装置(1510〜1540)に対応するレコードでは、高負荷状態であることを示す「高負荷」を「負荷状態」3300に格納する。高負荷状態を検知した場合は、ビジネスプロセス・サービス間中継装置1300に、負荷の増大が発生したことを示す負荷増大イベントと、高負荷になったサービス実行装置のリソース名を送信する。
ここで、図12は、ビジネスプロセス・サービス間中継装置1300のビジネスプロセス・サービス間中継処理部1310が、負荷増大イベントおよび高負荷のリソース名を、リソース管理装置1400からビジネスプロセス運用管理装置1200の負荷増大対処決定部1212への送信を中継する処理の流れを示すPAD図の例である。
まず、ステップ7001では、リソース管理装置1400のリソース監視部1411から、負荷増大イベントと、負荷が高くなったリソース名とを受信する。
次に、ステップ7002では、ビジネスプロセス・サービス間中継装置1300のサービス管理テーブル1321から、ステップ7001で受信したリソース名に対応するサービス名をすべて取得する。
そして、ステップ7003では、負荷増大イベントと、ステップ7002で取得したサービス名を、ビジネスプロセス運用管理装置1200の負荷増大対処決定部1212へ送信する。
以上の手順により、ビジネスプロセス・サービス間中継装置1400がメッセージを中継することにより、リソース管理装置1400が送信するリソース名が、当該リソース上で稼動するサービス名に変換されてビジネスプロセス運用管理装置1200に伝えられる。
(負荷増大対処フェーズ)
次に、「負荷増大対処」フェーズについて説明する。図13は、ビジネスプロセス・サービス間中継装置1300が、ビジネスプロセス運用管理装置1200に、負荷増大イベントと、それに対応するサービス名を送信した後、ビジネスプロセス運用管理装置1200の負荷増大対処決定部1212がその対処を決定するまでの処理の流れを示すPAD図の例である。
まず、ステップ8001では、図12に示したPAD図のステップ7003において、ビジネスプロセス・サービス間中継装置1300のビジネスプロセス・サービス間中継処理部1310が送信した、負荷増大イベントおよび対象となるサービス名を、ビジネスプロセス運用管理装置1200の負荷増大対処決定部1212が受信する。
次に、ステップ8002では、負荷増大対処決定部1212が、サービス呼出ステップ管理テーブル1221(図9参照)から、ステップ8001で受信したサービス名と一致するすべてのレコードを取得する。
そして、ステップ8003では、ステップ8002で取得したレコードの「ステップの状態」5500の値が、「ボトルネック」であるレコードが存在しない場合は(ステップ8003でNo)、そのまま処理を終了し、1つ以上存在する場合は(ステップ8003でYes)、ステップ8004に進む。
なお、「ボトルネック」であるレコードが存在しない場合は、この負荷増大イベントに対して、何らかの対処を行ってもビジネスプロセスのスループットの向上は見込めないため、何も対処しないことになる。
次に、ステップ8004では、ステップ8002で取得したレコードに、「ステップの状態」5500の値が、「流量制限可能」であるレコードが1つも存在しない場合は(ステップ8004でNo)、ステップ8005に進み、1つ以上存在する場合は(ステップ8004でYes)、ステップ8006に進む。
ここで、「流量制限可能」であるレコードが存在しない場合、ステップ8005では、ビジネスプロセス・サービス間中継装置1300に、負荷増大対処決定部1212が、リソースの追加を要求する情報であるリソース追加要求およびステップ8001で受信したサービス名を送信する。
ステップ8005において、負荷増大対処決定部1212が、ビジネスプロセス・サービス間中継装置1300に、リソース追加要求とサービス名を送信した後、これを受信したビジネスプロセス・サービス間中継装置1300のビジネスプロセス・サービス間中継処理部1310は、サービス管理テーブル1321に基づいて、受信した「サービス名」に対応する「リソース名」を抽出して1次記憶装置2630に記憶し、リソース管理装置1400のリソース構成管理部1412に、リソース追加要求およびその対象となるリソース名を送信する。そして、前記リソース追加要求とリソース名を受信したリソース構成管理部1412は、受信したリソース名に対応するサービス実行装置(1510〜1540)のリソースを追加する。なお、リソースの追加手順については、公知技術を適用することができる。
一方、ステップ8004において、「流量制限可能」であるレコードが1つ以上存在する場合に進むステップ8006では、負荷増大対処決定部1212が、ステップ8002で取得したレコードのうち、「ステップの状態」5500の値が「流量制限可能」であるレコードの「ビジネスプロセス名」5100および「呼び出しサービス名」5200の値を取得する。そして、「ビジネスプロセス名」5100の値が同一であるレコード群から、「スループット」5400の値の最低値を取得する。
そして、ステップ8007では、負荷増大対処決定部1212が、ビジネスプロセス実行装置1100のステップ単位流量制御部1112に、リクエスト量の流量の制限を要求する流量制限要求と、ステップ8006で取得した「ビジネスプロセス名」、「呼び出しサービス名」および「スループット」の最低値とを送信する。
ステップ8007において負荷増大対処決定部1212が送信した、「流量制限要求」、「ビジネスプロセス名」、「呼び出しサービス名」および「スループット」を、ステップ単位流量制御部1112が受信し、「ビジネスプロセス名」と「呼び出しサービス名」とが一致するサービス呼出ステップが送信するリクエストの量を、受信したスループットの値まで制限する。流量の制限方法としては、例えば、1分以内に送信したリクエスト量が、ステップ8007で受信したスループットの最低値と同じになった場合、当該1分間は、リクエストを送信せず、当該1分間が経過するまで待機させる方法が考えられる。
なお、スループットを制限する方法はこれに限定されるものではなく、様々に変更可能である。
以上の処理により、負荷増大イベントが発生した際に、対象となるサービス呼出ステップが、ビジネスプロセスにおけるボトルネックでなければ、当該負荷増大イベントに対して対処することがないため、当該ビジネスプロセスのスループットを向上させることができない無駄な対処を実行することを防止できる。
また、負荷増大イベントが発生した際に、対象となるサービス呼出ステップが、ボトルネックである場合には、当該サービス呼出ステップを提供するサービス実行装置(1510〜1540)が実行するその他のサービス呼出ステップに、流量制限可能なものがあるか否かを判定し、その他のサービス呼出ステップで流量制限できない場合にのみ、リソースを追加するため、リソースの追加を最小限に抑えることができる。
(流量制限後の動作)
流量制限を実施してもリソースが不足している場合も考えられる。このような場合には、流量制限後にリソース追加を実施することによってリソース不足を解消することができる。具体的には、流量制限を実施した場合、実施したことをサービス呼出ステップ管理テーブル1221に記憶し、負荷増大対処決定部1212がサービスの負荷増大イベントを新たに受け取った際に、当該サービスに対して既に流量制限が実施されている場合はリソース追加をすると判断することで実現できる。この、流量制限実施後、リソース不足が解消されない場合にリソース追加を実施する動作のことを、以下では「流量制限後の2次動作」と呼ぶ。
流量制限後の2次動作は、サービス呼出ステップ管理テーブル1221および負荷増大対処決定部1212を後記の構成とすることによって実現できる。
図26は、流量制限後の2次動作を実現する際のサービス呼出ステップ管理テーブル1221の構成と格納する情報の例である。図26では、図9のサービス呼出ステップ管理テーブル1221に比べ、流量制限中フラグ26100が追加されている。流量制限中フラグ26100は、各サービス呼出ステップが流量制限中であるか否かをON/OFFで表し、同一のサービスを呼び出すサービス呼出ステップの流量制限中フラグ26100の値は同一となる。流量制限中フラグ26100の値は、負荷増大対処決定部1212によって更新が行われるため、値の更新手段の詳細は後記の負荷増大対処決定部1212の説明にて示す。
図27は、図13に示す負荷増大対処処理に加え、流量制限後の2次動作を実現する際の負荷増大対処決定部1212が行う処理を示すPAD図である。
ステップ27001では、図12に示したPAD図のステップ7003において、ビジネスプロセス・サービス間中継装置1300のビジネスプロセス・サービス間中継処理部1310が送信した、負荷増大イベントおよび対象となるサービス名を、ビジネスプロセス運用管理装置1200の負荷増大対処決定部1212が受信する。
次に、ステップ27002では、負荷増大対処決定部1212が、サービス呼出ステップ管理テーブル1221(図26参照)から、ステップ27001で受信したサービス名と一致するすべてのレコードを取得する。
そして、ステップ27003では、ステップ27002で取得したレコードの「ステップの状態」5500の値が、「ボトルネック」であるレコードが存在しない場合は(ステップ27003でNo)、そのまま処理を終了し、1つ以上存在する場合は(ステップ27003でYes)、ステップ27004に進む。
ステップ27004では、ステップ27002で取得したレコードのうち、ステップの状態5500の値が「流量制限可能」、かつ流量制限中フラグ26100の値が「OFF」のレコードが1つ以上存在する場合(ステップ27004でYes)、すなわち流量制限ができるサービス呼出ステップが1つ以上存在する場合はステップ27009に進み、存在しない場合は(ステップ27004でNo)、ステップ27005に進む。ステップ27005では、ビジネスプロセス・サーバ間中継装置1300にリソース追加要求とステップ27001で受信したサービス名を送信する。ステップ27006では、ステップ27002で取得したレコード全ての流量制限中フラグ26100の値が「ON」であるか否かを判断し、「ON」である場合には(ステップ27006でYes)、ステップ27007に進み、「ON」でない場合には(ステップ27006でNo)、そのまま処理を終了する。ステップ27007では、ステップ単位流量制御部1112に流量制限解除要求と、ステップ27001で取得したサービス名を送信する。ステップ27008では、ステップ27002で取得したレコード全ての流量制限中フラグ26100の値を「OFF」に更新する。
ステップ27009では、負荷増大対処決定部1212が、ステップ27002で取得したレコードのうち、「ステップの状態」5500の値が「流量制限可能」であり、かつ流量制限中フラグ26100の値が「OFF」であるレコードの「ビジネスプロセス名」5100および「呼び出しサービス名」5200の値を取得する。そして、「ビジネスプロセス名」5100の値が同一であるレコード群から、「スループット」5400の値の最低値を取得する。ステップ27010では、ステップ単位流量制御部1112に流量制限要求とステップ27009で取得したビジネスプロセス名、呼び出しサービス名およびスループットの最低値を送信する。ステップ27011では、ステップ27002で取得したレコード全ての流量制限中フラグ26100の値を「ON」に更新する。
以上の処理により、流量制限を実施してもリソース不足が解消されない場合には、リソース追加が実施される。
(動作例1)
以下では、より具体的なサービスとビジネスプロセスとを例示して本実施形態のビジネスプロセス運用管理装置1200の動作を説明する。
まず、サービス実行装置(1510〜1540)上で行われるリソース追加がビジネスプロセスのスループット向上につながらないケースを、本実施形態のビジネスプロセス運用管理装置1200によって回避する例を説明する。図14は、本実施形態例で用いるビジネスプロセス実行装置およびサービス実行装置群の構成を簡略化して示したものである。なお、図14ではいくつかの装置を省略しているが、省略している装置の構成は図1に示す装置の構成と同様である。
本実施形態例のサービス実行装置(9310〜9350)では、各サービス実行処理部(9311〜9351)において、注文受付サービス9312、在庫照会サービス9322、出荷確認サービス9332、決済サービス9342および出荷サービス9353がそれぞれ稼動している。これらのサービス群を組み合わせて一連の注文処理を実行する注文処理ビジネスプロセス9100が、ビジネスプロセス実行処理部1110で実行されている。このような構成において、在庫照会サービス9322を実行するサービス実行装置9320のCPU負荷および決済サービス9342を実行するサービス実行装置9340のCPU負荷が高くなり、注文処理ビジネスプロセス9100の決済サービス呼び出しステップ910Dが、何らかの理由で注文処理ビジネスプロセス9100のボトルネックになっている状況を想定する。
ここで、図15〜17は、このような状況におけるリソース管理装置1400のリソース管理テーブル1421、ビジネスプロセス・サービス間中継装置1300のサービス管理テーブル1321、およびビジネスプロセス運用管理装置1200のサービス呼出ステップ管理テーブル1221を示す図面である。
図15に示したリソース管理テーブル1421の「リソース名」3100に格納されている値「サーバ1」、「サーバ2」、「サーバ3」、「サーバ4」および「サーバ5」は、サービス実行装置(9310〜9350)をそれぞれ特定する値である。図15では、「リソース名」3100の値が「サーバ2」であるレコード1501、および「リソース名」3100の値が「サーバ4」であるレコード1502の「負荷状態」3300の値はどちらも「高負荷」であることを表している。
ここで、まず、「サーバ2」の負荷増大イベントを送信し、対処が決定するまでの様子を説明する。図15に示したリソース管理テーブル1421において、「サーバ2」に該当するレコード1501の「負荷状態」3300の値が「高負荷」であることから、リソース管理装置1400のリソース管理処理部1410は、ビジネスプロセス・サービス間中継装置1300のビジネスプロセス・サービス間中継処理部1310に、負荷増大イベントとリソース名「サーバ2」を送信する。
当該イベントを受信したビジネスプロセス・サービス間中継処理部1310は、図16に示すサービス管理テーブル1321を参照し、「稼動先リソース名」4200の値が、「サーバ2」であるレコード1601を探し当て、当該レコードの「サービス名」4100の値「在庫照会」を取得する。
ビジネスプロセス・サービス間中継処理部1310は、負荷増大イベントと、前記取得した「サービス名」4100の値「在庫照会」を、ビジネスプロセス運用管理装置1200のビジネスプロセス運用管理処理部1210へ送信する。
負荷増大イベントとサービス名とを受信したビジネスプロセス運用管理処理部1210は、図17に示すサービス呼出ステップ管理テーブル1221から、「呼び出しサービス名」5200の値が「在庫照会」であるレコード1701を探し当て、当該レコードの「ステップの状態」5500の値「流量制限可能」を取得する。この、ビジネスプロセス運用管理処理部1210がイベントを受信した処理と、サービス呼出ステップ管理テーブル1221から「流量制限可能」の値を取得した処理は、図13に示した負荷増大イベントに対する対処を決定するフローのステップ8001およびステップ8002に相当する。
ステップ8003では、サービス呼出ステップ管理テーブル1221(図17参照)から取得した「ステップの状態」5500の値に、「ボトルネック」があるか否かを判定し、判定結果に応じて分岐する。この場合は、取得した値が「流量制限可能」であるため、当該負荷増大イベントに対する対処決定の処理フローは終了する。すなわち、サーバ2すなわちサービス実行装置1520で発生した負荷増大イベントに対して、何も対処を行わないということである。
これは、注文処理ビジネスプロセス9100において、処理のボトルネックはサーバ2で稼動する在庫照会サービス9322ではないため、リソース追加を実施しても注文処理ビジネスプロセス9100のスループット向上は見込めないという判断である。これによって、不必要なリソース追加を抑え、リソースを節約することができる。
次に、サーバ4の負荷増大イベントを送信し、対処が決定するまでの手順を説明する。前記したように図15からサーバ4に該当するレコード1502の負荷状態3300の値が「高負荷」であることから、リソース管理処理部1410からビジネスプロセス・サービス間中継処理部1310へ負荷増大イベントとリソース名「サーバ4」とを送信する。
負荷増大イベントとリソース名「サーバ4」とを受信したビジネスプロセス・サービス間中継処理部1310は、図16に示すサービス管理テーブル1321を参照し、稼動先リソース名4200の値が「サーバ4」であるレコード1602を探し当て、当該レコードのサービス名4100の値「決済」を取得する。
ビジネスプロセス・サービス間中継処理部1310は、負荷増大イベントと、前記取得した「サービス名」4100の値「決済」を、ビジネスプロセス運用管理処理部1210へ送信する。
負荷増大イベントとサービス名を受信したビジネスプロセス運用管理処理部1210は、図17に示すサービス呼出ステップ管理テーブル1221から「呼び出しサービス名」5200の値が「決済」であるレコード1702を探し当て、当該レコードの「ステップの状態」5500の値「ボトルネック」を取得する。
このイベントを受信した処理と、サービス呼出ステップ管理テーブル1221から、「ボトルネック」の値を取得した処理は、図13の負荷増大イベントに対する対処を決定するフローのステップ8001およびステップ8002に相当する。以下、図13参照のこと。
次に、ステップ8003では、サービス呼出ステップ管理テーブル1221から取得した「ステップの状態」5500の値に、「ボトルネック」があるか否かを判定し、判定結果に応じて分岐する。この場合は、取得した値が「ボトルネック」であるため、ステップ8004に進む。
そして、ステップ8004では、サービス呼出ステップ管理テーブル1221から取得した値に「流量制限可能」があるか否かを判定し、判定結果に応じて分岐する。この場合は、取得した値が「ボトルネック」であるため、ステップ8005に進む。
次に、ステップ8005では、負荷増大対処決定部1212が、ビジネスプロセス・サービス間中継装置1300に、リソース追加要求とサービス名「決済」を送信し、これに応じてビジネスプロセス・サービス間中継装置1300は、サーバ4(サービス実行装置9340)にリソース追加を実施する。これは、注文処理ビジネスプロセス9100において、処理のボトルネックはサーバ4で稼動する決済サービス9342であり、リソース追加の実施によって注文処理ビジネスプロセス9100のスループット向上が見込めると判断したということである。
以上のように、リソース追加の可否を、ビジネスプロセスの各サービス呼出ステップの状況を表すサービス呼出ステップ管理テーブル1221を使って判断することにより、不要なリソース追加が抑止できるという効果を奏することができる。
(動作例2)
次に、前記のケースのように、ビジネスプロセスのスループット向上につながらないサービス呼出ステップが存在する場合に、当該サービス呼出ステップがリソースを必要以上に消費することにより、他のビジネスプロセスのスループットに影響を与えることを回避できることを、具体例を用いて説明する。図18は、本実施形態例の説明で用いるビジネスプロセス実行装置およびサービス実行装置群の構成を簡略化して示したものである。図18は、前記の第1実施形態例で示した図14の構成に、要求受付サービス18362、在庫集計サービス18372、結果報告サービス18382を実行するサービス実行装置(18360〜18390)が追加されている。さらに、ビジネスプロセス実行装置1100で実行されるビジネスプロセスとして、要求受付サービス18362、在庫集計サービス18372、結果報告サービス18382と、注文処理ビジネスプロセス9100と共用する在庫照会サービス9322を組み合わせて、一連の在庫集計処理を実行する在庫集計ビジネスプロセス18200が追加されている。
なお、図18ではいくつかの装置を省略しているが、省略している装置の構成は図1の装置の構成と同様である。
図18に示した構成において、在庫照会サービス9322を実行するサービス実行装置9320のCPU負荷が高く、注文処理ビジネスプロセス9100の決済サービス呼び出しステップ910Dおよび在庫集計ビジネスプロセス18200の在庫照会サービス呼び出しステップ1820Bがそれぞれのビジネスプロセスのボトルネックになっている状況を想定する。ここで、注文処理ビジネスプロセス9100の決済サービス呼び出しステップ910Dがボトルネックとなっているため、当該サービス呼出ステップより早い順序で実行される在庫照会サービス呼出ステップ910Bは、決済サービス呼び出しステップ910Dがボトルネック状態である限り、必要以上のリクエスト量を処理してリソースを消費していることになる(つまり、流量制限可能状態にある)。このことが影響して在庫集計ビジネスプロセス18200の在庫照会サービス呼出ステップ1820Bが、当該ビジネスプロセスのボトルネックとなっている。
ここで、図19、図20は、このような状況におけるビジネスプロセス・サービス間中継装置1300のサービス管理テーブル1321およびビジネスプロセス運用管理装置1200のサービス呼出ステップ管理テーブル1221の例を示す図面である。
また、この実施形態例におけるリソース管理装置1400のリソース管理テーブル1421は、図4に示したリソース管理テーブル1421を用いることにする。図4におけるリソース管理テーブル1421の「リソース名」3100に格納されている値、「サーバ1」、「サーバ2」、「サーバ3」、「サーバ4」、「サーバ5」、「サーバ6」、「サーバ7」、「サーバ8」は、サービス実行装置(9310〜9350,18360〜18380)を特定する値で、ここではそれぞれサービス実行装置(9310〜9350、18360〜18390)と対応している。
さらに、図4では、リソース名3100の値が「サーバ2」であるレコード3001の「負荷状態」3300の値が、「高負荷」であることを表している。このような状況を想定して、サーバ2の負荷増大イベントが送信され、その対処が決定するまでの処理を説明する。
図4に示したリソース管理テーブル1421の「サーバ2」に該当するレコード3001の「負荷状態」3300の値が「高負荷」であることから、リソース管理装置1400のリソース管理処理部1410は、ビジネスプロセス・サービス間中継装置1300のビジネスプロセス・サービス間中継処理部1310へ負荷増大イベントとリソース名「サーバ2」とを送信する。
負荷増大イベントとリソース名とを受信したビジネスプロセス・サービス間中継処理部1310は、図19に示すサービス管理テーブル1321を参照し、「稼動先リソース名」4200の値が「サーバ2」であるレコード1901を探し当て、当該レコードの「サービス名」4100の値「在庫照会」を取得する。そして、ビジネスプロセス・サービス間中継処理部1310は、負荷増大イベントと、前記取得したサービス名「在庫照会」とを、ビジネスプロセス運用管理装置1200のビジネスプロセス運用管理処理部1210へ送信する。
負荷増大イベントとサービス名とを受信したビジネスプロセス運用管理処理部1210は、図20に示すサービス呼出ステップ管理テーブル1221から「呼び出しサービス名」5200の値が「在庫照会」であるレコード2001およびレコード2002を探し当て、当該レコードの「ステップの状態」5500の値「流量制限可能」および「ボトルネック」の2つの値を取得する。
このイベントを受信した処理と、サービス呼出ステップ管理テーブル1221から「流量制限可能」および「ボトルネック」の値を取得した処理は、図13の負荷増大イベントに対する対処を決定するフローのステップ8001およびステップ8002に相当する。以下、図13参照のこと。
次に、ステップ8003では、サービス呼出ステップ管理テーブル1221から取得した「ステップの状態」5500の値に、「ボトルネック」があるか否かを判定し、判定結果に応じて分岐する。この場合は、取得した「ステップの状態」5500の値が、「流量制限可能」および「ボトルネック」であり、「ボトルネック」があるため、ステップ8004に進む。
次に、ステップ8004では、前記サービス呼出ステップ管理テーブル1221から取得した「ステップの状態」5500の値に、「流量制限可能」があるか否かを判定し、判定結果に応じて分岐する。この場合は、取得した「ステップの状態」5500の値が「流量制限可能」および「ボトルネック」であり、「流量制限可能」があるためステップ8006に進む。
次に、ステップ8006およびステップ8007では、「流量制限可能」状態である注文処理ビジネスプロセス9100の在庫照会サービス呼出ステップ910Bのスループットを、当該ビジネスプロセスのボトルネック状態である決済サービス呼び出しステップ2004と同じスループットまで制限する。すなわち、複数のビジネスプロセスが共有しているサービスが稼動するサーバの負荷が高くなった際、必要以上にサーバのリソースを使用しているビジネスプロセスのスループットを、当該ビジネスプロセス全体のスループットに影響がない値まで制限する。
これによって、同一のサービス呼出ステップが複数のビジネスプロセスで共有される環境において、一方のビジネスプロセスで当該サービス呼出ステップがボトルネックとなった場合に、流量調整可能と判定された他方のビジネスプロセスにおけるスループットを低減させることで、他方のビジネスプロセス全体のスループットは低減することなく、一方のビジネスプロセス全体のスループットを向上できるという効果を奏する。
[第2実施形態]
以下、本発明を適用した第2実施形態について第1実施形態と異なる点を中心に説明する。前記の第1実施形態では、サービス実行装置の負荷増大を検知した場合(負荷増大イベントの発生)における、ビジネスプロセス運用管理装置1200の対処が「何もしない」、「流量制限を実施する」または「リソースを追加する」の3種類であったが、本実施形態では、「何も対処しない」または「リソースを追加する」の2種類とした点が大きく異なる。
本実施形態のビジネスプロセス運用管理装置1200の構成は、第1実施形態のビジネスプロセス運用管理装置1200の構成と比べて、サービス呼出ステップ管理テーブル1221に格納される情報、サービス呼出ステップ管理部1211および負荷増大対処決定部1212における処理が異なる。なお、その他の装置構成については、図1に示した第1実施形態の全体構成と同様であるため、その説明は省略する。
ここで、本実施形態におけるサービス呼出ステップ管理テーブル1221に格納される情報の例を図21に示す。図21に示すように、「ステップの状態」10500に格納される値は、参照符号10001,10002,10003および10005で示すレコードのように「通常」、または参照符号10004で示すレコードのように「ボトルネック」の2種類である。
以下、本実施形態のビジネスプロセス運用管理装置1200の動作について説明する。
(性能情報監視・管理フェーズ)
まず、本実施形態の「性能情報監視・管理」フェーズについて説明する。ここで、図22は、ビジネスプロセス運用管理装置1200のサービス呼出ステップ管理部1211が、定期的にビジネスプロセスの状況を更新する処理例を示すPAD図の例である。
図22に示したPAD図において、ステップ11001からステップ11005までの処理は、図10に示した第1実施形態のPAD図におけるステップ6001からステップ6005までの処理と同様であるためその説明は省略する。
次に、ステップ11006では、ビジネスプロセス運用管理装置1200のサービス呼出ステップ管理部1211が、サービス呼出ステップ管理テーブル1221(図21参照)から、ステップ11005で「ステップの状態」10500の値を「ボトルネック」に更新したレコード以外のレコードを抽出し、この抽出したレコードの「ステップの状態」10500の値を「通常」に更新して終了する。
ここで、例えば、ステップ11005で、図21に示したサービス呼出ステップ管理テーブル1221の参照符号10004で示すレコードの「ステップの状態」10500の値を「ボトルネック」に更新したとすれば、ステップ11006では、参照符号10001,10002,10003および10005で示すレコードの「ステップの状態」10500の値が「通常」に更新される。
なお、図22に示したPAD図における処理の終了後に、第1実施形態の図11に示したビジネスプロセス実行状態表示画面6001と同様の構成を有する表示画面をディスプレイ2340に表示させることもできる。この場合、表示画面に表示される情報は、図21に示したサービス呼出ステップ管理テーブル1221の情報に基づいて作成される。
(負荷増大イベントの通知)
本実施形態において、ビジネスプロセス・サービス間中継装置1300のビジネスプロセス・サービス間中継処理部1310が、リソース管理装置1400からビジネスプロセス運用管理装置1200の負荷増大対処決定部1212へ送信するイベントを中継する処理については、図12に示した第1実施形態における処理と同様であるため、その説明は省略する。
(負荷増大対処フェーズ)
次に、本実施形態における「負荷増大対処」フェーズについて説明する。ここで、図23は、本実施形態において、リソース管理装置1400のリソース監視部1411が、負荷増大イベントを送信した後、ビジネスプロセス運用管理装置1200の負荷増大対処決定部1212によって対処を決定するまでの処理の流れを示すPAD図の例である。
図23に示したPAD図において、ステップ12001およびステップ12002は、図13に示した第1実施形態の負荷増大対処決定部1212における処理であるステップ8001およびステップ8002と同様であるためその説明は省略する。
次に、ステップ12003では、ステップ12002で取得した、サービス呼出ステップ管理テーブル1221のレコードの「ステップの状態」10500の値が「ボトルネック」であるレコードが存在しない場合は(ステップ12003でYes)、処理を終了し、存在する場合は(ステップ12003でNo)、ステップ12004に進む。そして、ステップ12004では、ビジネスプロセス・サービス間中継装置1300にリソース追加要求と、ステップ12001で取得したサービス名とを送信して処理を終了する。
ステップ12004において送信された、リソース追加要求およびサービス名を受信したビジネスプロセス・サービス間中継装置1300は、サービス名を対応するリソース名に変換し、リソース構成管理部1412へリソース追加要求とリソース名を送信する。前記リソース追加要求とリソース名を受信したリソース構成管理部1412は受信したリソース名に対応するサービス実行装置(1510〜1540)のリソースを追加する。
ここで、例えば、ステップ12002で、図21に示したサービス呼出ステップ管理テーブル1221の参照符号10004で示すレコードを取得したとすると、ステップ12003では、このレコードの「ステップの状態」10500の値が「ボトルネック」であるため、ステップ12004に進み、リソース追加要求と、このレコードのサービス名「D」とを送信することになる。
以上、説明した本実施形態に係るビジネスプロセス運用管理装置1200によると、ビジネスプロセスにおいて、スループット向上のためのボトルネックとなっているリソースにのみ、リソースの追加を行うことができ、無駄なリソースの追加を防止することができる。また、第1実施形態と比べて、サービス実行装置においてスループットを調整する処理がないため、より汎用的な環境に本発明を適用することができる。
ビジネスプロセス実行環境のシステム構成図である。 サービス実行装置の装置構成を示す図面である。 リソース管理装置の装置構成を示す図面である。 リソース管理テーブルに保持される情報を示す図面である。 ビジネスプロセス実行装置の装置構成を示す図面である。 ビジネスプロセス・サービス間中継装置の装置構成を示す図面である。 サービス管理テーブルに保持される情報を示す図面である。 ビジネスプロセス運用管理装置の装置構成を示す図面である。 サービス呼出ステップ管理テーブルに格納される情報を示す図面である。 定期的にサービス実行装置群の負荷と、ビジネスプロセス群の状況とを監視する処理である「性能監視・管理」フェーズの手順を示すPAD図である。 ビジネスプロセス実行状態表示画面を示す図面である。 負荷増大イベントの通知を、ビジネスプロセス運用管理装置に送信する手順を示すPAD図である。 サーバの負荷増大の検知を契機としてビジネスプロセスの状況に応じて対処を決定する処理である「負荷増大対処」フェーズの手順を示すPAD図である。 ビジネスプロセス実行装置およびサービス実行装置群の構成を簡略化して示した図面である。 リソース管理テーブルに保持される情報を示す図面である。 サービス管理テーブルに保持される情報を示す図面である。 サービス呼出ステップ管理テーブルに保持される情報を示す図面である。 ビジネスプロセス実行装置およびサービス実行装置群の構成を簡略化して示した図面である。 サービス管理テーブルに保持される情報を示す図面である。 サービス呼出ステップ管理テーブルに保持される情報を示す図面である。 サービス呼出ステップ管理テーブルに保持される情報を示す図面である。 ビジネスプロセス運用管理装置のサービス呼出ステップ管理部が、定期的にビジネスプロセスの状況を更新する手順を示すPAD図である。 ビジネスプロセス運用管理装置の負荷増大対処決定部によって負荷増大イベントに対する対処を決定する手順を示すPAD図である。 リソースの追加として、追加用の空きサーバの割り当てが行われようとしている状況を説明する図面である。 図24に示した状態で、ビジネスプロセスBが実行され、ビジネスプロセスAおよびビジネスプロセスBがサービスBを共有している状況を説明する図面である。 図9のサービス呼出ステップ管理テーブルに、流量制限による効果が不十分であった場合にリソース追加を実施するケースに対応するためのカラムが追加された図面である。 図13の対処決定処理に加え、流量制限による効果が不十分であった場合にリソース追加を実施するケースに対応するための処理が追加されたPAD図である。
符号の説明
1100 ビジネスプロセス実行装置
1200 ビジネスプロセス運用管理装置
1210 ビジネスプロセス運用管理処理部
1211 サービス呼出ステップ管理部
1212 負荷増大対処決定部
1221 サービス呼出ステップ管理テーブル
1510,1520,1530,1540 サービス実行装置
1600 ネットワーク

Claims (17)

  1. 所定のサービスを提供する機能を有するサービス実行処理部を備える複数のアプリケーションサーバと、前記サービス実行処理部を呼び出して利用するサービス呼出ステップから構成されたプロセスを実行するプロセス実行処理部を備えるプロセス実行装置と、前記プロセス実行時の前記サービス呼出ステップの処理状況を判定するプロセス運用管理装置とを、ネットワークを介して相互に接続して構成されるビジネスプロセス運用管理システムであって、
    前記プロセス運用管理装置は、
    前記プロセスごとに、当該プロセスで実行される前記サービス呼出ステップに対応した当該プロセスにおける実行順序および当該サービス呼出ステップのスループットを少なくとも保持したサービス呼出ステップ管理テーブルを格納した記憶部と、
    前記サービス呼出ステップ管理テーブルから、前記プロセスごとに前記サービス呼出ステップについてのスループットおよび実行順序を抽出し、
    この抽出したスループットおよび実行順序から、前記プロセスにおけるサービス呼出ステップの状態を、ボトルネックの状態であるか、スループットを制限できる状態であるか、またはそれら以外の状態であるかを決定して、それぞれ前記サービス呼出ステップ管理テーブルに記憶するサービス呼出ステップ管理部と、
    前記ネットワークを介して、前記アプリケーションサーバの負荷が増大したことを示す情報を取得すると、
    前記サービス呼出ステップ管理テーブルから、負荷が増大したアプリケーションサーバ上のサービス実行処理部を呼び出しているサービス呼出ステップの状態を抽出し、この抽出した状態がボトルネックの状態であるか否かを判定し、
    ボトルネックの状態であれば、前記アプリケーションサーバ上のサービス実行処理部を呼び出している他のプロセスにおけるサービス呼出ステップの状態においてボトルネック以外の状態があるか否かを判定し、ボトルネック以外の状態が無い場合には、当該アプリケーションサーバに対するリソースの追加を決定し、
    他のプロセスにおけるサービス呼出ステップの状態においてボトルネック以外でスループットを制限できる状態がある場合には、他のプロセスのサービス呼出ステップのスループットを制限する決定をする負荷増大対処決定部とを備える
    ことを特徴とするビジネスプロセス運用管理システム。
  2. 所定のサービスを提供する機能を有するサービス実行処理部を備える複数のアプリケーションサーバと、前記サービス実行処理部を呼び出して利用するサービス呼出ステップから構成されたプロセスを実行するプロセス実行処理部を備えるプロセス実行装置と、前記プロセス実行時の前記サービス呼出ステップの処理状況を判定するプロセス運用管理装置とを、ネットワークを介して相互に接続して構成されるビジネスプロセス運用管理システムであって、
    前記プロセス運用管理装置は、
    前記プロセスごとに、当該プロセスで実行される前記サービス呼出ステップに対応した当該プロセスにおける実行順序および当該サービス呼出ステップのスループットを少なくとも保持したサービス呼出ステップ管理テーブルを格納した記憶部と、
    前記サービス呼出ステップ管理テーブルから、前記プロセスごとに前記サービス呼出ステップについてのスループットおよび実行順序を抽出し、
    この抽出したスループットおよび実行順序から、前記プロセスにおけるサービス呼出ステップの状態を、ボトルネックの状態であるか、またはそれ以外の状態であるかを決定して、それぞれ前記サービス呼出ステップ管理テーブルに記憶するサービス呼出ステップ管理部と、
    前記ネットワークを介して、前記アプリケーションサーバの負荷が増大したことを示す情報を取得すると、
    前記サービス呼出ステップ管理テーブルから、負荷が増大したアプリケーションサーバ上のサービス実行処理部を呼び出しているサービス呼出ステップの状態を抽出し、この抽出した状態がボトルネックの状態であるか否かを判定し、
    ボトルネックの状態であれば、当該アプリケーションサーバに対するリソースの追加を決定する負荷増大対処決定部とを備える
    ことを特徴とするビジネスプロセス運用管理システム。
  3. 前記プロセス運用管理装置は、
    前記他のプロセスにおけるサービス呼出ステップの状態においてボトルネック以外でスループットを制限できる状態がある場合に、前記サービス呼出ステップ管理テーブルから、前記スループットを制限できる状態であるサービス呼出ステップと同一のプロセスで、かつボトルネックの状態であるサービス呼出ステップのスループットを抽出し、
    前記スループットを制限できる状態であるサービス呼出ステップのスループットを、前記抽出したボトルネックの状態のサービス呼出ステップのスループットまで制限することを決定する
    ことを特徴とする請求項1に記載のビジネスプロセス運用管理システム。
  4. 前記プロセス運用管理装置は、
    前記他のプロセスにおけるサービス呼出ステップの状態においてボトルネック以外でスループットを制限できる状態がある場合に、前記スループットを制限できる状態であるサービス呼出ステップのスループットを、所定値まで制限することを決定する
    ことを特徴とする請求項1に記載のビジネスプロセス運用管理システム。
  5. 前記アプリケーションサーバは、1つのサーバ装置内で実行される仮想的な1以上のサーバである
    ことを特徴とする請求項1ないし請求項4のいずれか1項に記載のビジネスプロセス運用管理システム。
  6. 所定のサービスを提供する機能を有するサービス実行処理部を備える複数のアプリケーションサーバと、前記サービス実行処理部を呼び出して利用するサービス呼出ステップから構成されたプロセスを実行するプロセス実行処理部を備えるプロセス実行装置と、前記プロセス実行時の前記サービス呼出ステップの処理状況を判定するプロセス運用管理装置とを、ネットワークを介して相互に接続して構成されるビジネスプロセス運用管理システムにおけるビジネスプロセス運用管理方法であって、
    前記プロセス運用管理装置において、
    前記プロセスごとに、当該プロセスで実行される前記サービス呼出ステップに対応した当該プロセスにおける実行順序および当該サービス呼出ステップのスループットをサービス呼出ステップ管理記憶手段に格納し、
    前記サービス呼出ステップ管理記憶手段から、前記プロセスごとに前記サービス呼出ステップについてのスループットおよび実行順序を抽出し、
    この抽出したスループットおよび実行順序から、前記プロセスにおけるサービス呼出ステップの状態を、ボトルネックの状態であるか、スループットを制限できる状態であるか、またはそれら以外の状態であるかを決定して、それぞれ前記サービス呼出ステップ管理記憶手段に記憶し、
    前記ネットワークを介して、前記アプリケーションサーバの負荷が増大したことを示す情報を取得すると、
    前記サービス呼出ステップ管理記憶手段から、負荷が増大したアプリケーションサーバ上のサービス実行処理部を呼び出しているサービス呼出ステップの状態を抽出し、この抽出した状態がボトルネックの状態であるか否かを判定し、
    ボトルネックの状態であれば、前記アプリケーションサーバ上のサービス実行処理部を呼び出している他のプロセスにおけるサービス呼出ステップの状態においてボトルネック以外の状態があるか否かを判定し、ボトルネック以外の状態が無い場合には、当該アプリケーションサーバに対するリソースの追加を決定し、
    他のプロセスにおけるサービス呼出ステップの状態においてボトルネック以外でスループットを制限できる状態がある場合には、他のプロセスのサービス呼出ステップのスループットを制限する決定をするように実行する
    ことを特徴とするビジネスプロセス運用管理方法。
  7. 前記プロセス運用管理装置において、
    前記他のプロセスにおけるサービス呼出ステップの状態においてボトルネック以外でスループットを制限できる状態がある場合に、前記サービス呼出ステップ管理記憶手段から、前記スループットを制限できる状態であるサービス呼出ステップと同一のプロセスで、かつボトルネックの状態であるサービス呼出ステップのスループットを抽出し、
    前記スループットを制限できる状態であるサービス呼出ステップのスループットを、前記抽出したボトルネックの状態のサービス呼出ステップのスループットまで制限することを決定するように実行する
    ことを特徴とする請求項6に記載のビジネスプロセス運用管理方法。
  8. 前記プロセス運用管理装置において、
    前記他のプロセスにおけるサービス呼出ステップの状態においてボトルネック以外でスループットを制限できる状態がある場合に、前記スループットを制限できる状態であるサービス呼出ステップのスループットを、所定値まで制限することを決定するように実行する
    ことを特徴とする請求項6に記載のビジネスプロセス運用管理方法。
  9. 前記アプリケーションサーバは、1つのサーバ装置内で実行される仮想的な1以上のサーバである
    ことを特徴とする請求項6ないし請求項8のいずれか1項に記載のビジネスプロセス運用管理方法。
  10. 所定のサービスを提供する機能を有するサービス実行処理部を備える複数のアプリケーションサーバと、前記サービス実行処理部を呼び出して利用するサービス呼出ステップから構成されたプロセスを実行するプロセス実行処理部を備えるプロセス実行装置と、前記プロセス実行時の前記サービス呼出ステップの処理状況を判定するプロセス運用管理装置とを、ネットワークを介して相互に接続して構成されるビジネスプロセス運用管理システムに用いられる前記プロセス運用管理装置であって、
    前記プロセスごとに、当該プロセスで実行される前記サービス呼出ステップに対応した当該プロセスにおける実行順序および当該サービス呼出ステップのスループットを少なくとも保持したサービス呼出ステップ管理テーブルを格納した記憶部と、
    前記サービス呼出ステップ管理テーブルから、前記プロセスごとに前記サービス呼出ステップについてのスループットおよび実行順序を抽出し、
    この抽出したスループットおよび実行順序から、前記プロセスにおけるサービス呼出ステップの状態を、ボトルネックの状態であるか、スループットを制限できる状態であるか、またはそれら以外の状態であるかを決定して、それぞれ前記サービス呼出ステップ管理テーブルに記憶するサービス呼出ステップ管理部と、
    前記ネットワークを介して、前記アプリケーションサーバの負荷が増大したことを示す情報を取得すると、
    前記サービス呼出ステップ管理テーブルから、負荷が増大したアプリケーションサーバ上のサービス実行処理部を呼び出しているサービス呼出ステップの状態を抽出し、この抽出した状態がボトルネックの状態であるか否かを判定し、
    ボトルネックの状態であれば、前記アプリケーションサーバ上のサービス実行処理部を呼び出している他のプロセスにおけるサービス呼出ステップの状態においてボトルネック以外の状態があるか否かを判定し、ボトルネック以外の状態が無い場合には、当該アプリケーションサーバに対するリソースの追加を決定し、
    他のプロセスにおけるサービス呼出ステップの状態においてボトルネック以外でスループットを制限できる状態がある場合には、他のプロセスのサービス呼出ステップのスループットを制限する決定をする負荷増大対処決定部とを備える
    ことを特徴とするプロセス運用管理装置。
  11. 前記他のプロセスにおけるサービス呼出ステップの状態においてボトルネック以外でスループットを制限できる状態がある場合に、前記サービス呼出ステップ管理テーブルから、前記スループットを制限できる状態であるサービス呼出ステップと同一のプロセスで、かつボトルネックの状態であるサービス呼出ステップのスループットを抽出し、
    前記スループットを制限できる状態であるサービス呼出ステップのスループットを、前記抽出したボトルネックの状態のサービス呼出ステップのスループットまで制限することを決定する
    ことを特徴とする請求項10に記載のプロセス運用管理装置。
  12. 前記他のプロセスにおけるサービス呼出ステップの状態においてボトルネック以外でスループットを制限できる状態がある場合に、前記スループットを制限できる状態であるサービス呼出ステップのスループットを、所定値まで制限することを決定する
    ことを特徴とする請求項10に記載のプロセス運用管理装置。
  13. 前記アプリケーションサーバは、1つのサーバ装置内で実行される仮想的な1以上のサーバである
    ことを特徴とする請求項10ないし請求項12のいずれか1項に記載のプロセス運用管理装置。
  14. 所定のサービスを提供する機能を有するサービス実行処理部を備える複数のアプリケーションサーバと、前記サービス実行処理部を呼び出して利用するサービス呼出ステップから構成されたプロセスを実行するプロセス実行処理部を備えるプロセス実行装置と、前記プロセス実行時の前記サービス呼出ステップの処理状況を判定するプロセス運用管理装置とを、ネットワークを介して相互に接続して構成されるビジネスプロセス運用管理システムに用いられる前記プロセス運用管理装置のプログラムであって、
    前記プログラムは、前記プロセス運用管理装置のコンピュータに、
    前記プロセスごとに、当該プロセスで実行される前記サービス呼出ステップに対応した当該プロセスにおける実行順序および当該サービス呼出ステップのスループットをサービス呼出ステップ管理記憶手段に格納する処理と、
    前記サービス呼出ステップ管理記憶手段から、前記プロセスごとに前記サービス呼出ステップについてのスループットおよび実行順序を抽出する処理と、
    この抽出したスループットおよび実行順序から、前記プロセスにおけるサービス呼出ステップの状態を、ボトルネックの状態であるか、スループットを制限できる状態であるか、またはそれら以外の状態であるかを決定して、それぞれ前記サービス呼出ステップ管理記憶手段に記憶する処理と、
    前記ネットワークを介して、前記アプリケーションサーバの負荷が増大したことを示す情報を取得する処理と、
    前記サービス呼出ステップ管理記憶手段から、負荷が増大したアプリケーションサーバ上のサービス実行処理部を呼び出しているサービス呼出ステップの状態を抽出し、この抽出した状態がボトルネックの状態であるか否かを判定する処理と、
    ボトルネックの状態であれば、前記アプリケーションサーバ上のサービス実行処理部を呼び出している他のプロセスにおけるサービス呼出ステップの状態においてボトルネック以外の状態があるか否かを判定し、ボトルネック以外の状態が無い場合には、当該アプリケーションサーバに対するリソースの追加を決定する処理と、
    他のプロセスにおけるサービス呼出ステップの状態においてボトルネック以外でスループットを制限できる状態がある場合には、他のプロセスのサービス呼出ステップのスループットを制限する決定をする処理と、
    を実行させることを特徴とするプロセス運用管理装置のプログラム。
  15. 前記プログラムは、前記プロセス運用管理装置のコンピュータに、
    前記他のプロセスにおけるサービス呼出ステップの状態においてボトルネック以外でスループットを制限できる状態がある場合に、前記サービス呼出ステップ管理記憶手段から、前記スループットを制限できる状態であるサービス呼出ステップと同一のプロセスで、かつボトルネックの状態であるサービス呼出ステップのスループットを抽出する処理と、
    前記スループットを制限できる状態であるサービス呼出ステップのスループットを、前記抽出したボトルネックの状態のサービス呼出ステップのスループットまで制限することを決定する処理と、
    を実行させることを特徴とする請求項14に記載のプロセス運用管理装置のプログラム。
  16. 前記プログラムは、前記プロセス運用管理装置のコンピュータに、
    前記他のプロセスにおけるサービス呼出ステップの状態においてボトルネック以外でスループットを制限できる状態がある場合に、前記スループットを制限できる状態であるサービス呼出ステップのスループットを、所定値まで制限することを決定する処理と、
    を実行させることを特徴とする請求項14に記載のプロセス運用管理装置のプログラム。
  17. 前記アプリケーションサーバは、1つのサーバ装置内で実行される仮想的な1以上のサーバである
    ことを特徴とする請求項14ないし請求項16のいずれか1項に記載のプロセス運用管理装置のプログラム。
JP2007191151A 2007-07-23 2007-07-23 ビジネスプロセス運用管理システム、方法、プロセス運用管理装置およびそのプログラム Expired - Fee Related JP4834622B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007191151A JP4834622B2 (ja) 2007-07-23 2007-07-23 ビジネスプロセス運用管理システム、方法、プロセス運用管理装置およびそのプログラム
US12/027,691 US8250205B2 (en) 2007-07-23 2008-02-07 Business process management system, method thereof, process management computer and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007191151A JP4834622B2 (ja) 2007-07-23 2007-07-23 ビジネスプロセス運用管理システム、方法、プロセス運用管理装置およびそのプログラム

Publications (2)

Publication Number Publication Date
JP2009026221A true JP2009026221A (ja) 2009-02-05
JP4834622B2 JP4834622B2 (ja) 2011-12-14

Family

ID=40296502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007191151A Expired - Fee Related JP4834622B2 (ja) 2007-07-23 2007-07-23 ビジネスプロセス運用管理システム、方法、プロセス運用管理装置およびそのプログラム

Country Status (2)

Country Link
US (1) US8250205B2 (ja)
JP (1) JP4834622B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014074971A (ja) * 2012-10-03 2014-04-24 Hitachi Ltd 制御システム
JP2017162433A (ja) * 2016-03-02 2017-09-14 株式会社三菱東京Ufj銀行 情報処理装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090177509A1 (en) * 2008-01-09 2009-07-09 Joshua David Business Service Management Dashboard
US8281309B2 (en) * 2009-08-31 2012-10-02 Accenture Global Services Limited Optimization system for controlling batch job processing traffic transmitted to a mainframe computer
US8538793B2 (en) * 2011-02-17 2013-09-17 Infosys Limited System and method for managing real-time batch workflows
CN102982396B (zh) * 2011-09-06 2017-12-26 Sap欧洲公司 通用过程建模框架
US9154398B1 (en) * 2013-03-01 2015-10-06 Emc Corporation Method and system for identifying root causes of application underachievement in a virtually provisioned environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000231502A (ja) * 1998-12-09 2000-08-22 Hitachi Ltd ジョブシステムにおける遅延要因解析方法
JP2002082926A (ja) * 2000-09-06 2002-03-22 Nippon Telegr & Teleph Corp <Ntt> 分散アプリケーション試験・運用管理システム
JP2007048315A (ja) * 2006-10-20 2007-02-22 Hitachi Ltd リソース割り当てシステム、方法及びプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3879471B2 (ja) 2001-10-10 2007-02-14 株式会社日立製作所 計算機資源割当方法
US7213065B2 (en) * 2001-11-08 2007-05-01 Racemi, Inc. System and method for dynamic server allocation and provisioning
US7986625B2 (en) * 2002-12-10 2011-07-26 International Business Machines Corporation Resource-aware system, method and program product for managing request traffic based on a management policy
JP4066932B2 (ja) 2003-11-10 2008-03-26 株式会社日立製作所 予測に基づいた計算機リソース配分方法
JP3896111B2 (ja) 2003-12-15 2007-03-22 株式会社日立製作所 リソース割り当てシステム、方法及びプログラム
US20050262237A1 (en) * 2004-04-19 2005-11-24 Netqos, Inc. Dynamic incident tracking and investigation in service monitors
US7752629B2 (en) * 2004-05-21 2010-07-06 Bea Systems Inc. System and method for application server with overload protection
JP4654707B2 (ja) * 2005-02-18 2011-03-23 日本電気株式会社 ボトルネック検出システム、測定対象サーバ、ボトルネック検出方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000231502A (ja) * 1998-12-09 2000-08-22 Hitachi Ltd ジョブシステムにおける遅延要因解析方法
JP2002082926A (ja) * 2000-09-06 2002-03-22 Nippon Telegr & Teleph Corp <Ntt> 分散アプリケーション試験・運用管理システム
JP2007048315A (ja) * 2006-10-20 2007-02-22 Hitachi Ltd リソース割り当てシステム、方法及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014074971A (ja) * 2012-10-03 2014-04-24 Hitachi Ltd 制御システム
JP2017162433A (ja) * 2016-03-02 2017-09-14 株式会社三菱東京Ufj銀行 情報処理装置

Also Published As

Publication number Publication date
US20090031321A1 (en) 2009-01-29
JP4834622B2 (ja) 2011-12-14
US8250205B2 (en) 2012-08-21

Similar Documents

Publication Publication Date Title
EP3637733B1 (en) Load balancing engine, client, distributed computing system, and load balancing method
JP4961833B2 (ja) クラスタシステム、負荷分散方法、最適化クライアントプログラム、及び調停サーバプログラム
JP4834622B2 (ja) ビジネスプロセス運用管理システム、方法、プロセス運用管理装置およびそのプログラム
JP5557590B2 (ja) 負荷分散装置及びシステム
US8095935B2 (en) Adapting message delivery assignments with hashing and mapping techniques
Tran et al. Eqs: An elastic and scalable message queue for the cloud
US9870269B1 (en) Job allocation in a clustered environment
JP2010204876A (ja) 分散システム
JP2012079242A (ja) 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム
US9535749B2 (en) Methods for managing work load bursts and devices thereof
CN107430526B (zh) 用于调度数据处理的方法和节点
CN112333249A (zh) 一种业务服务系统及方法
JP2007249829A (ja) 内部ネットワーク間通信システム及び情報処理装置及び中継情報処理装置及び通信制御プログラム及び内部ネットワーク間における通信制御方法及び遠隔障害管理システム及び被管理装置及び管理装置
CN112448987A (zh) 一种熔断降级的触发方法、系统和存储介质
CN111625344B (zh) 应用系统中的资源调度系统、方法及装置
JP6700552B2 (ja) 処理制御プログラム、処理制御装置及び処理制御方法
CN111835809A (zh) 工单消息分配方法、装置、服务器及存储介质
CN115941604A (zh) 一种流量分配方法、装置、设备、存储介质和程序产品
US20050265362A1 (en) Message relay program and message relay device
JP2013206041A (ja) 通信システム及び負荷分散処理装置
JP2011238099A (ja) トランザクション処理装置、トランザクション処理方法およびトランザクション処理プログラム
JP4257857B2 (ja) データ処理システムおよびデータ処理方法
JP2017033234A (ja) リクエスト受付システム、リクエスト受付方法、及び、プログラム
JP6322332B2 (ja) エネルギー管理システムおよび業務アプリケーションの実行方法
WO2023223599A1 (ja) 計算機システム及びメトリクスの算出方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090811

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101217

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140930

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees