JP2008310687A - Information processing system, information processing method, and program - Google Patents
Information processing system, information processing method, and program Download PDFInfo
- Publication number
- JP2008310687A JP2008310687A JP2007159308A JP2007159308A JP2008310687A JP 2008310687 A JP2008310687 A JP 2008310687A JP 2007159308 A JP2007159308 A JP 2007159308A JP 2007159308 A JP2007159308 A JP 2007159308A JP 2008310687 A JP2008310687 A JP 2008310687A
- Authority
- JP
- Japan
- Prior art keywords
- information
- unit
- processing
- execution
- processing unit
- 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
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
Description
本発明は、情報処理システム、情報処理方法、およびプログラムに関する。 The present invention relates to an information processing system, an information processing method, and a program.
近年、ビジネスサイクルの短期化やビジネス環境の急激な変化に対応するため、柔軟かつ迅速に変化に対応できる情報システムが求められている。この要求について、サービス指向アーキテクチャ(Service Oriented Architecture;SOA)という情報システムの設計手法が注目されている。 In recent years, in order to cope with a shortening of the business cycle and a rapid change in the business environment, an information system that can flexibly and quickly respond to the change is demanded. With respect to this requirement, an information system design technique called Service Oriented Architecture (SOA) has been attracting attention.
SOAとは、サービスと呼ばれる業務処理を行うソフトウェアコンポーネントを、ビジネスプロセスと呼ばれる業務フローから適切な順序で呼び出すことで新たな情報システムを構築するという考え方である。SOAに基づいて情報システムを設計することにより、既存のサービスを再利用し易くなり、低コストかつ迅速な情報システムの開発が可能となる。加えて複数のサービスを組み合わせて新たな情報システムを構築するためサービスの実装の変更や呼び出し順序の変更が容易となり、情報システムの柔軟性を確保することができる。サービスは、例えば、SOAPによりアクセス可能なWebサービスにより実現される。 SOA is a concept of building a new information system by calling software components that perform business processing called services in an appropriate order from business flows called business processes. By designing an information system based on the SOA, it becomes easy to reuse existing services, and it becomes possible to develop an information system quickly and at low cost. In addition, since a new information system is constructed by combining a plurality of services, it is easy to change the implementation of services and change the order of calls, and to ensure the flexibility of the information system. The service is realized by, for example, a web service accessible by SOAP.
ビジネスプロセスは、BPEL(Business Process Execution Language)と呼ばれるフロー記述言語により記述される。BPELにより記述されたビジネスプロセスはビジネスプロセス定義と呼ばれる。ビジネスプロセス定義がアプリケーションサーバなどの実行基盤に配備されると、実行基盤は利用者からのリクエストを受け付けて、ビジネスプロセス定義に従ったサービスを呼び出してビジネスプロセスを実行する。 The business process is described by a flow description language called BPEL (Business Process Execution Language). A business process described by BPEL is called a business process definition. When the business process definition is deployed on an execution platform such as an application server, the execution platform receives a request from the user, calls a service according to the business process definition, and executes the business process.
このような情報システムにおいて、より効率的にビジネスプロセスを行うべく負荷分散が行われている。例えば、サーバの負荷に応じてサーバへ振り分けるリクエストの数を制御することにより負荷分散を行う技術が知られている(特許文献1参照)。
SOAに基づく情報システムの実行基盤では、リクエストに応じて、ビジネスプロセスが実行されるため、複数のビジネスプロセスが同時に実行される。したがって、同一のサービスが複数のビジネスプロセスから同時に呼び出されることがある。複数のビジネスプロセスから同時に呼び出されているサービスに障害が発生すると、そのサービスを呼び出している複数のビジネスプロセスにおいて同時に例外処理が発生する。例外処理は通常処理よりもリソースの消費量が多いため、例外処理が同時多発することにより、例外処理のためにリソースが大量に消費され、通常処理を行なっている他のビジネスプロセスがリソース不足に陥る可能性がある。 In the execution base of the information system based on the SOA, a business process is executed in response to a request, so that a plurality of business processes are executed simultaneously. Therefore, the same service may be invoked simultaneously from multiple business processes. When a failure occurs in a service that is simultaneously called from a plurality of business processes, exception handling occurs simultaneously in the plurality of business processes that are calling the service. Exception processing consumes more resources than normal processing, so when exception processing occurs at the same time, a large amount of resources are consumed for exception processing, and other business processes that perform normal processing run out of resources. There is a possibility of falling.
また、利用者からのリクエストに含まれるパラメータに応じて処理のループ回数が決まるようなビジネスプロセス定義がある場合には、パラメータによっては、あるビジネスプロセスにおいて大量のループが行われ、そのビジネスプロセスの処理に通常よりもリソースが必要となるために、他のビジネスプロセスの処理に遅延が発生することがある。 In addition, when there is a business process definition that determines the number of processing loops according to the parameters included in the request from the user, depending on the parameters, a large number of loops are performed in the business process, and the business process Since processing requires more resources than usual, processing of other business processes may be delayed.
このように、リクエストに応じたビジネスプロセスの処理が開始した後にサーバが高負荷になってしまうことがある。 As described above, the server may be heavily loaded after the processing of the business process according to the request is started.
しかしながら、特許文献1に記載の技術では、高負荷なサーバに対してリクエストを割り当てないようにして、それ以上の負荷の増大を防ぐことができるものの、サーバにおいてリクエストに応じた処理が開始してしまった後は、その処理が終了するまでサーバの負荷を下げることはできない。 However, in the technique described in Patent Document 1, although it is possible to prevent a further increase in load by not allocating a request to a high-load server, processing according to the request is started in the server. After that, the server load cannot be reduced until the process is completed.
本発明は、このような背景を鑑みてなされたものであり、ビジネスプロセスの処理が開始された後にも処理の主体を変更することのできる情報処理システム、情報処理方法、およびプログラムを提供することを目的とする。 The present invention has been made in view of such a background, and provides an information processing system, an information processing method, and a program capable of changing a subject of processing even after processing of a business process is started. With the goal.
上記課題を解決するための本発明の主たる発明は、情報処理システムであって、ビジネスプロセスを構成している一連の処理単位を実行する第1の情報処理装置において直近に実行された前記処理単位を示す情報を記憶する直近実行処理単位記憶部と、前記処理単位のうちの1つが指定されたポリシー情報を受け付ける引継ぎポリシー管理部と、前記直近実行処理単位記憶部が記憶している前記情報が示す前記処理単位が、前記ポリシー情報に指定されている前記処理単位と一致する場合に、前記一連の処理のうちの未実行の前記処理単位を第2の情報処理装置に実行させる制御部と、を備えることとする。 The main invention of the present invention for solving the above-mentioned problems is an information processing system, which is the processing unit executed most recently in a first information processing apparatus that executes a series of processing units constituting a business process. The latest execution processing unit storage unit that stores information indicating the above, the takeover policy management unit that receives policy information in which one of the processing units is designated, and the information stored in the latest execution processing unit storage unit are A control unit that causes the second information processing apparatus to execute the unexecuted processing unit of the series of processes when the processing unit to be displayed matches the processing unit specified in the policy information; It shall be provided with.
本発明によれば、ビジネスプロセスの処理が開始された後にも処理の主体を変更することができる。 According to the present invention, the subject of processing can be changed even after processing of a business process is started.
以下、本発明の一実施形態について図面を用いて説明する。本実施形態の情報処理システムは、SOA方式により設計されたビジネスプロセスを実行するものである。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings. The information processing system of this embodiment executes a business process designed by the SOA method.
本実施形態では、ビジネスプロセスの一例として、商品の販売を行うための図1に示すようなビジネスプロセス300が実行されるものとする。図1に示すように、ビジネスプロセス300は、実行要求から商品の注文データを抽出して受注処理を行なう受注ステップ330、受注した商品の在庫を検索する在庫検索ステップ331、在庫のある商品について引当を行なう引当ステップ332、引き当てた商品の発送の手配を行なう発送ステップ333、および、引当ステップ332の実行中に例外が発生した場合に例外処理を行なう引当例外処理ステップ334の5つの処理単位(ステップ)から構成される。受注ステップ330〜発送ステップ333までの各ステップは、Webサービスとして提供されるサービスを利用することにより実現されるものとする。また、引当例外処理ステップ334は、再試行処理やログの生成処理など、一般的な例外処理を行うことにより実現されるものとする。ただし上記のビジネスプロセス300は一例であり、BPELにより記述可能な範囲であればどのような処理フローが定義されていてもよい。
In the present embodiment, as an example of a business process, a
図2は本実施形態に係る情報処理システムの全体構成を示す図である。本実施形態の情報処理システムは、クライアント100、管理サーバ110、複数のBP実行サーバ(150および170)、およびWebサービス提供サーバ190を含んで構成される。なお、BP実行サーバは3台以上存在していてもよい。また、クライアント100およびWebサービス提供サーバ190も複数存在していてもよい。
FIG. 2 is a diagram showing the overall configuration of the information processing system according to the present embodiment. The information processing system of this embodiment includes a
クライアント100、管理サーバ110、BP実行サーバ150および170、並びにWebサービス提供サーバ190は、通信ネットワーク1000を介して互いに通信可能に接続されている。通信ネットワーク1000は、例えば、イーサネット(登録商標)や公衆電話回線網、フレームリレー網などにより構築される、インターネットやLAN(Local Area Network)、WAN(Wide Area Network)である。
The
クライアント100は、利用者が操作するコンピュータである。クライアント100には、例えば、パーソナルコンピュータやワークステーション、PDA(Personal Digital Assistant)、携帯電話などを用いることができる。クライアント100は、利用者からの操作に応じてBP実行サーバ150に実行要求を送信し、ビジネスプロセス300を実行させる。
The
BP実行サーバ150および170は、ビジネスプロセス300の手順(アルゴリズム)をBPELに従って記述したファイル(以下、ビジネスプロセス定義という。)に従って、ビジネスプロセスを実行する情報処理装置である。BP実行サーバ150および170には、例えば、パーソナルコンピュータやワークステーション、汎用計算機などが用いられる。
The
BP実行サーバ150は、クライアント100から送信されるビジネスプロセスの実行要求(リクエスト)に応じてビジネスプロセスを実行し、BP実行サーバ170は、後述するように、管理サーバ110からの指示に応じて、BP実行サーバ150の処理を引き継いで、ビジネスプロセス300の一部のステップを実行し、BP実行サーバ150の処理負荷を軽減する。
The BP
Webサービス提供サーバ190は、業務処理を行うサービスを提供する情報処理装置である。Webサービス提供サーバ190には、例えば、パーソナルコンピュータやワークステーション、汎用計算機などが用いられる。本実施形態では、Webサービス提供サーバ190は、Webサービスによりサービスを提供するものとする。すなわち、Webサービス提供サーバ190は、SOAPリクエストに応じて情報処理を行い、情報処理の結果をSOAPに従って応答する。
The Web
管理サーバ110は、BP実行サーバ150および170を管理する情報処理装置である。管理サーバ110には、例えば、パーソナルコンピュータやワークステーションなどが用いられる。
The
本実施形態では、BP実行サーバ150の処理負荷が高くなった場合に、BP実行サーバ150の処理の一部をBP実行サーバ170に引き継ぐことにより負荷分散を行うものである。以下、詳細について説明する。
In this embodiment, when the processing load of the
図3は、クライアント100のハードウェア構成を示す図である。クライアント100は、ネットワークインタフェース301、CPU302、二次記憶装置303、主記憶装置304、システムバス306、入力装置307、出力装置308を備えている。
FIG. 3 is a diagram illustrating a hardware configuration of the
ネットワークインタフェース301は、CPU302からの指示に従って、通信ネットワーク1000を介して通信ネットワーク1000に接続されている他の通信機器との間で通信を行う。ネットワークインタフェース301は、例えば、イーサネット(登録商標)に接続するためのアダプタや、電話回線網に接続するためのモデムである。
The
主記憶装置304には、クライアントプログラム11などの各種のプログラムやデータが記憶される。主記憶装置304に記憶されているプログラムがCPU302により実行されることにより、後述する各種の機能が実現される。二次記憶装置303は、例えば、ハードディスクドライブやCD−ROMドライブ、フラッシュメモリなどである。
The
なお、図3の構成は一例であり、例えば、上記のクライアントプログラム11が二次記憶装置303に記憶されていてもよいし、外部の記憶装置に記憶されていてもよい。
3 is an example, and for example, the
図4は、クライアント100のソフトウェア構成を示す図である。クライアント100は、実行要求送信部101および実行結果受信部102を備えている。
FIG. 4 is a diagram illustrating a software configuration of the
実行要求送信部101は、ビジネスプロセス300の実行要求をBP実行サーバ150に送信する。実行結果受信部102は、BP実行サーバ150から、ビジネスプロセス300の実行結果を受信し、受信した実行結果を出力装置308に出力する。
The execution
クライアント100が備える実行要求送信部101および実行結果受信部102は、クライアント100が備えるCPU302が主記憶装置304に記憶されているクライアントプログラム11を実行することにより実現される。なお、上記の各機能部は、ハードウェアとして実現されてもよい。
The execution
図5は、BP実行サーバ150のハードウェア構成を示す図である。BP実行サーバ150は、ネットワークインタフェース301、CPU302、二次記憶装置303、主記憶装置304、およびこれらを接続するシステムバス306を備えている。
FIG. 5 is a diagram illustrating a hardware configuration of the
ネットワークインタフェース301は、CPU302からの指示に従って、通信ネットワーク1000を介して通信ネットワーク1000に接続されている他の通信機器との間で通信を行う。ネットワークインタフェース301は、例えば、イーサネット(登録商標)に接続するためのアダプタや、電話回線網に接続するためのモデムである。
The
主記憶装置304には、ビジネスプロセス実行プログラム21や運用管理エージェントプログラム22などの各種のプログラムやデータが記憶される。主記憶装置304に記憶されているプログラムがCPU302により実行されることにより、後述する各種の機能が実現される。
The
また、主記憶装置304には、ビジネスプロセス300の処理フローが記述されたビジネスプロセス定義153が記憶されている。図6は、ビジネスプロセス定義153の一例を示す図である。同図に示すように、ビジネスプロセス定義153に記憶されるビジネスプロセス定義は、受注ステップ330の定義1531、在庫検索ステップ331の定義1532、引当ステップ332の定義1533、発送ステップ333の定義1534、引当例外処理ステップ334の定義1535を含んでいる。
二次記憶装置303は、例えば、ハードディスクドライブやCD−ROMドライブ、フラッシュメモリなどである。
The
The
なお、図5の構成は一例であり、例えば、上記の各プログラムやビジネスプロセス定義153が二次記憶装置303に記憶されていてもよいし、外部の記憶装置に記憶されていてもよい。
The configuration in FIG. 5 is an example, and for example, each of the above programs and
図7は、BP実行サーバ150のソフトウェア構成を示す図である。BP実行サーバ150は、実行基盤151および運用管理エージェント160を備えている。
実行基盤151は、BP実行サーバ150が備えるCPU302が主記憶装置304に記憶されているビジネスプロセス実行プログラム21を実行することにより実現され、運用管理エージェント160は、CPU302が主記憶装置304に記憶されている運用管理エージェントプログラム22を実行することにより実現されるものとする。なお、実行基盤151および運用管理エージェント160は、ハードウェアとして実現されてもよい。
また、実行基盤151はビジネスプロセス制御部152および引継ぎ実行部158を備えている。
FIG. 7 is a diagram illustrating a software configuration of the
The
The
ビジネスプロセス制御部152は、クライアント100から送信されるビジネスプロセスの実行要求に応じて、ビジネスプロセス定義153に記述された処理フローに従ってビジネスプロセス300を実行する。ビジネスプロセス制御部152は、ビジネスプロセス定義読込部154、ビジネスプロセス実行部155、実行状況管理部156を備える。
In response to the business process execution request transmitted from the
ビジネスプロセス定義読込部154は、ビジネスプロセス定義153を主記憶装置304から読み込んで、ビジネスプロセス実行部155は、読み込んだビジネスプロセス定義に従ってWebサービスの呼び出しなどの処理を行う。ビジネスプロセス実行部155は、ビジネスプロセスの実行に必要な各種のデータを格納するための記憶領域をインスタンスとして生成する。インスタンスは、例えば、Java(登録商標)のオブジェクトとして実現される。
The business process
実行状況管理部156は、ビジネスプロセスの実行状況を監視し、実行状況を示す情報(以下、実行状況情報という。)を実行状況管理テーブル157に登録し、実行状況情報が既に登録されている場合には、ビジネスプロセスの実行状況に応じて実行状況情報を更新する。なお、本実施形態では、実行状況管理部156は、実行要求ごとに、インスタンス内に確保されるものとする。
The execution
図8は、実行状況管理テーブル157に記憶される実行状況情報の構成例を示す図である。同図に示すように、実行状況情報は、実行基盤識別子401,ビジネスプロセス定義名402、インスタンスID403、ステップ名404、実行状況405、およびステップ実行情報406を含んでいる。ただし図8の構成は一例であり、実行状況管理テーブル157の構成はどのような構成であっても構わない。
FIG. 8 is a diagram illustrating a configuration example of the execution status information stored in the execution status management table 157. As shown in the figure, the execution status information includes an
実行基盤識別子401は、ビジネスプロセスが実行されている実行基盤151の識別情報である。ビジネスプロセス定義名402は、ビジネスプロセス実行部155により実行されているビジネスプロセス定義を特定する名称である。インスタンスID403は、インスタンスの識別情報である。ステップ名404は、直近にインスタンスが実行したステップを示す名称である。実行状況405は、インスタンスが直近に実行したステップの進捗状況を示す情報であり、「開始」「実行中」または「完了」の何れかが設定される。ステップ実行情報406は、ステップ名404が示すステップの実行時に確保された変数名とその値とが設定される。
The
なお上記の構成は一例であり、ビジネスプロセス制御部152の構成はどのような構成であっても構わない。ビジネスプロセス制御部152を備えた実行基盤151は市販のミドルウェアで実現可能である。
The above configuration is an example, and the configuration of the business
引継ぎ実行部158は、例えば、プロセスマイグレーションやスレッドマイグレーションとして知られている方法により、BP実行サーバ間でインスタンスの処理を引継ぐように制御する。マイグレーションとは、あるサーバで実行中のプロセスやスレッドについて、サーバの主記憶装置、メモリ、CPUレジスタなどに格納されているプロセスが使用している全てのデータをプロセスやスレッドを実行中のサーバとは異なるサーバへ引継ぎ、引継ぎ先のサーバでプロセスの実行を継続する技術である。マイグレーションについては、例えば特許第3754393号に詳しい。また、サーバ間での処理の引継ぎには、例えば、クラスタシステムにおけるフェイルオーバの仕組みを用いるようにしてもよい。
The
なお、処理の引継ぎ方法にはどのようなものを用いてもよいが、本実施形態では、引継ぎ実行部158は、次のような処理を行なうものとする。BP実行サーバ150からBP実行サーバ170に処理を引き継ぐ場合、まずBP実行サーバ150の引継ぎ実行部158は、ビジネスプロセス実行部155によるビジネスプロセスの実行を停止し、停止したビジネスプロセスに係るインスタンスを、BP実行サーバ170に送信する。BP実行サーバ170のビジネスプロセス実行部175は、インスタンスを生成し、生成したインスタンスに、BP実行サーバ150から受信したインスタンスの内容を設定する。これにより、BP実行サーバ170のインスタンスは、BP実行サーバ150のインスタンスと同じ内容になる。したがって、BP実行サーバ170のビジネスプロセス実行部175がビジネスプロセスの実行を開始すると、BP実行サーバ150において実行されていた処理が、BP実行サーバ170において継続されることになる。以上のようにして、BP実行サーバ150からBP実行サーバ170に処理が引き継がれる。なお、BP実行サーバ150は、インスタンスを、通信ネットワーク1000を介して送信するようにしてもよいし、通信ネットワーク1000を介してアクセス可能な二次記憶装置にインスタンスを格納し、格納したインスタンスへのポインタのみを送信するようにしてもよい。
Note that any method can be used as a process takeover method, but in this embodiment, the
運用管理エージェント160は、管理サーバ110と連携して実行基盤151の運用管理を行なう。運用管理エージェント160は、定期的に、実行基盤151によるCPU302の使用率や主記憶装置304の使用量、ビジネスプロセスごとのCPU302の使用率や主記憶装置304の使用量などを測定し、上記のような測定値やビジネスプロセスごとの実行状況情報を管理サーバ110に送信する。
The
BP実行サーバ170の構成は、上記BP実行サーバ150の構成と同様であり、ビジネスプロセス定義読込部174、ビジネスプロセス実行部175、インスタンス実行状況管理部176、および実行状況管理テーブル177、引継ぎ実行部178、および運用管理エージェント160を備えている。これらの各機能部はBP実行サーバ150の機能と同様であるので、説明は省略する。
The configuration of the
図9は、Webサービス提供サーバ190のハードウェア構成を示す図である。Webサービス提供サーバ190は、ネットワークインタフェース301、CPU302、二次記憶装置303、主記憶装置304、及びこれらを接続するシステムバス306を備えている。ネットワークインタフェース301は、CPU302の指示に従って、通信ネットワーク1000を介して通信ネットワーク1000に接続された他の通信機器との間で通信を行う。主記憶装置304には、Webサービス提供プログラム31、運用管理エージェントプログラム22などの各種のプログラムやデータが記憶される。CPU302は、主記憶装置304に記憶されているプログラムを実行することにより、後述する各種の機能を実現する。二次記憶装置303は、記憶領域を提供する例えばハードディスクドライブやフラッシュメモリである。
FIG. 9 is a diagram illustrating a hardware configuration of the Web
図10は、Webサービス提供サーバ190のソフトウェア構成を示す図である。Webサービス提供サーバ190は、Webサービス実行部191および運用管理エージェント160を備えている。Webサービス実行部191は、Webサービス提供サーバ190が備えるCPU302が主記憶装置304に記憶されているWebサービス提供プログラム31を実行することにより実現される。
FIG. 10 is a diagram illustrating a software configuration of the Web
運用管理エージェント160は、上述したBP実行サーバ150が備える運用管理エージェント160と同様の機能であり、CPU302が主記憶装置304に記憶されている運用管理エージェントプログラム22を実行することにより実現される。
なお、Webサービス実行部191および運用管理エージェント160は、ハードウェアとして実現するようにしてもよい。
The
Note that the Web
Webサービス実行部191は、受注サービス提供部192、在庫検索サービス提供部193、引当サービス提供部194、および発送サービス提供部195を備えており、それぞれ、SOAPリクエストに応じて業務に関する処理を行い、その結果を応答する、一般的なWebサービスであり、市販のミドルウェアで実現可能である。Webサービス実行部191および上記各サービス提供部の機能は、一般的なWebサービスによる情報処理機能であり、詳細な説明は省略する。
The Web
なお、本実施形態では、Webサービス提供サーバ190がビジネスプロセス300に必要なすべてのサービスを提供するものとしたが、例えば、サービスごとに異なるWebサービス提供サーバ190を設置するようにしてもよい。
In the present embodiment, the Web
図11は、管理サーバ110のハードウェア構成を示す図である。管理サーバ110は、ネットワークインタフェース301、CPU302、二次記憶装置303、主記憶装置304、およびこれらを接続するシステムバス306を備えている。ネットワークインタフェース301は、CPU302の指示に従って、通信ネットワーク1000を介して通信ネットワーク1000に接続された他の通信機器との間で通信を行う。主記憶装置304には、ビジネスプロセス管理プログラム41、リソース情報管理テーブル122、引継ぎポリシー情報141、および引継ぎ関係管理テーブル147が記憶されている。CPU302は、主記憶装置304に記憶されているプログラムを実行することにより各種の機能を実現する。なお、図11の構成は一例であり、例えば、主記憶装置304に記憶されているプログラムやデータを二次記憶装置303に格納するようにしてもよいし、外部の記憶装置に格納するようにしてもよい。
FIG. 11 is a diagram illustrating a hardware configuration of the
リソース情報管理テーブル122には、BP実行サーバ150および170並びにWebサービス提供サーバ190において使用されているリソースに関する情報(以下、リソース情報という。)を記憶する。図12は、リソース情報管理テーブル122に記憶されるリソース情報の構成例を示す図である。リソース情報は、BP実行サーバ150、BP実行サーバ170またはWebサービス提供サーバ190の識別情報であるサーバID601に対応付けて、リソース名602および値603を含んでいる。なお、図12の構成は、一例であり、リソース情報管理テーブル122の構成は、BP実行サーバ150および170並びにWebサービス提供サーバ190におけるリソースの使用量を記憶していればどのような構成であってもよい。
The resource information management table 122 stores information about resources used in the
図13は、引継ぎポリシー情報141の構成を示す図である。引継ぎポリシー情報141には、引継ぎ範囲決定テーブル700、および引継ぎ先決定テーブル720が含まれている。
FIG. 13 is a diagram showing a configuration of the
引継ぎ範囲決定テーブル700は、引継ぎを行うか否か、引継ぎを行う場合にはビジネスプロセス300のどの範囲を引き継ぐかを決定するための情報(以下、引継ぎ範囲条件という。)を記憶する。図13に示すように、引継ぎ範囲条件は、実行基盤識別子701、ビジネスプロセス定義名702、実行状況条件703、リソース条件704、引継ぎ終了ステップ名705を含んでいる。
The takeover range determination table 700 stores information (hereinafter referred to as takeover range conditions) for determining whether or not to take over, and which range of the
実行基盤識別子701は、ビジネスプロセス300を実行している実行基盤151の識別子である。ビジネスプロセス定義名702は、実行されているビジネスプロセス300の処理フローが記述されたビジネスプロセス定義の名称(以下、ビジネスプロセス定義名という。)である。
The
実行状況条件703は、引継ぎを行うか否かを決定するための第1の条件であり、実行状況情報に対する条件である。なお、本実施形態では、簡単のため、実行状況条件703には、ビジネスプロセス300に含まれるステップの識別子(以下、ステップ名という。)が設定されるものとし、実行状況情報に含まれるステップ名404および実行状況405を連結した文字列と、実行状況条件703とが一致するかどうかにより、第1の条件の判定が行われる。
The
リソース条件704は、引継ぎを行うか否かを決定するための第2の条件であり、リソース情報に対する条件である。引継ぎ終了ステップ名705は、引継ぎを行う範囲の終点となるステップ名(以下、引継ぎ終了ステップ名という。)である。
The
例えば、図13の例では、引継ぎ範囲決定テーブル700には2つの引継ぎ範囲条件が設定されている。本実施形態では上段に登録されている条件を使用し、下段に登録されている条件は後述する第2の実施形態で使用する。上段に登録されている引継ぎ範囲条件は、実行基盤151に配備されているビジネスプロセス定義153について、受注ステップ330を完了した際に、実行基盤151の平均CPU使用率が70%以上であれば、受注ステップ330以降、引当ステップ332の完了までを引継ぎ範囲として、ビジネスプロセスの引継ぎを行うことを示している。
For example, in the example of FIG. 13, two takeover range conditions are set in the takeover range determination table 700. In this embodiment, the condition registered in the upper row is used, and the condition registered in the lower row is used in the second embodiment described later. If the average CPU usage rate of the
引継ぎ先決定テーブル720は、引継ぎ先となるサービス実行処理部を決定するための条件(以下、引継ぎ先条件という。)を記憶する。図13に示すように、引継ぎ先条件は、ビジネスプロセス定義名721、引継ぎ先候補722、引継ぎ先決定条件723を含んでいる。引継ぎ先候補722は、実行基盤151からビジネスプロセスの引継ぎを行う実行基盤171の識別子のリストである。引継ぎ先候補722には、複数の実行基盤171が存在する場合に、引継ぎ先となる実行基盤171の候補が設定される。引継ぎ先決定条件723は、リソース情報に対する条件である。複数の候補が引継ぎ先候補722に登録されている場合、候補となる実行基盤171に対応するリソース情報が、引継ぎ先決定条件723を満たしているものに、ビジネスプロセスが引き継がれる。
The takeover destination determination table 720 stores conditions (hereinafter referred to as takeover destination conditions) for determining a service execution processing unit as a takeover destination. As illustrated in FIG. 13, the takeover destination condition includes a business
図13の例では、引継ぎ先決定テーブル720には、ビジネスプロセス定義153について引継ぎ先の候補として実行基盤151および実行基盤171が登録され、これらの中から引継ぎ先を決定する条件として、各実行基盤の平均CPU使用率を使用すると設定されている。これ以外にも、例えば、リソース情報管理テーブル122に登録される平均CPU使用率以外のリソース情報を用いても良いし、ラウンドロビンといったアルゴリズムを用いても良い。
In the example of FIG. 13, in the takeover destination determination table 720, the
なお、引継ぎポリシー情報141を引継ぎポリシー管理部140へ登録する際には、システム管理者が主記憶装置304や二次記憶装置303へ引継ぎポリシー情報141を直接書き込んでも良いし、引継ぎポリシー管理部140が提供する引継ぎポリシー情報141を登録するための手段を利用してもよい。また、引継ぎポリシー情報141はシステム構築時にあらかじめ登録しておいてもよいし、システム稼働中に新たな情報を登録し、あるいは既存の情報を変更しても良い。
When registering the
引継ぎ関係管理テーブル147は、ビジネスプロセスの引継に係る引継ぎ元と引継ぎ先とを対応付ける情報(以下、引継ぎ関係情報という。)を記憶する。図14は、引継ぎ関係管理テーブル147の構成を示す図である。同図に示すように、引継ぎ関係管理テーブル147に記憶される引継ぎ関係情報は、ビジネスプロセス定義名801、引継ぎ元実行基盤識別子802、引継ぎ元インスタンスID803、引継ぎ先実行基盤識別子804、引継ぎ先インスタンスID805、および引継ぎ終了ステップ名806を含んでいる。ビジネスプロセス定義名801は、引継ぎの対象となったビジネスプロセス300が定義されているビジネスプロセス定義の識別子である。引継ぎ元実行基盤識別子802および引継ぎ元インスタンスID803は、ビジネスプロセス300の引継ぎ元を示す情報であり、引継ぎ先実行基盤識別子804および引継ぎ先インスタンスID805は、ビジネスプロセス300の引継ぎ先を示す情報である。引継ぎ終了ステップ名806は、引継ぎが行われるビジネスプロセス300の範囲の終点となるステップを示す情報である。
The takeover relationship management table 147 stores information (hereinafter referred to as takeover relationship information) for associating a takeover source and a takeover destination related to business process takeover. FIG. 14 is a diagram showing the configuration of the takeover relationship management table 147. As shown in FIG. As shown in the figure, the takeover relation information stored in the takeover relation management table 147 includes a business
なお、引継ぎ関係情報は、例えば、実行基盤151から実行基盤171にビジネスプロセス300が引き継がれた場合に、ビジネスプロセス300のレスポンスを実行基盤151から返す必要があるときに使用される。
The takeover relationship information is used when a response of the
図15は、管理サーバ110のソフトウェア構成を示す図である。同図に示すように、管理サーバ110は、エージェント管理部121、実行状況監視部130、引継ぎポリシー管理部140、引継ぎ判定部145、引継ぎ関係管理部146を備えている。管理サーバ110が備える上記の各機能部は、管理サーバ110が備えるCPU302が主記憶装置304に記憶されているビジネスプロセス管理プログラム41を実行することにより実現される。なお、上記各機能部をハードウェアとして実現するようにしてもよい。
FIG. 15 is a diagram illustrating a software configuration of the
エージェント管理部121は、BP実行サーバ150および170、並びにWebサービス提供サーバ190が備える運用管理エージェント160に対してビジネスプロセス300やWebサービスの配備、実行基盤の起動停止などの指示を出し、運用管理エージェント160が送信するリソース情報を受信して、リソース情報管理テーブル122に登録する。
The
なお、エージェント管理部121および運用管理エージェント160は市販の運用管理ソフトウェアで実現可能であり、その実現方式についての詳細な説明は省略する。
Note that the
また、本実施形態では、引継ぎ判定部145がリソース情報管理テーブル122に格納された実行基盤ごとの平均CPU使用率をリソース情報として参照するが、参照する情報は平均CPU使用率以外にも、メモリの使用量やレスポンスタイムなどの、リソースに関する一般的な情報を用いることができる。
In the present embodiment, the
実行状況監視部130は、実行基盤151および171で実行されるビジネスプロセス300の実行状況を監視し、引継ぎ判定部145へ通知する。実行状況監視部130は、運用管理エージェント160から実行状況情報を受信するようにしてもよいし、実行基盤で生成されているインスタンスを監視するようにしてもよい。
The execution
引継ぎポリシー管理部140は、引継ぎポリシー情報141を管理する。引継ぎポリシー管理部140は、システム管理者から各項目の入力を受け付けて、受け付けた項目を引継ぎポリシー情報141に登録する。
The takeover
引継ぎ判定部145は、実行状況監視部130が取得した実行状況情報と、リソース情報管理テーブル122に登録されているリソース情報と、引継ぎポリシー情報141とに基づいて、ビジネスプロセス300の引継ぎを行うかどうかの判定処理を行う。また引継ぎ判定部145は、引継ぎを行うと判定した場合には、ビジネスプロセス300のどのステップを引き継がせるかを決定する。なお、引継ぎ判定部145による処理の詳細については後述する。
Whether the
引継ぎ関係管理部146は、ビジネスプロセス300の引継ぎ元のインスタンスと引継ぎ先のインスタンスとを対応付ける引継ぎ関係情報、引継ぎ関係管理テーブル147に登録する。
The takeover
以下、本実施形態の情報処理システムにおける処理について説明する。図16は、本実施形態の情報処理システムの処理の流れを示す図である。
(ステップ201)引継ぎポリシー管理部140は、引継ぎポリシー情報141の登録処理を行う。引継ぎポリシー情報141の登録処理の詳細を図17に示す。
Hereinafter, processing in the information processing system of this embodiment will be described. FIG. 16 is a diagram showing the flow of processing of the information processing system of this embodiment.
(Step 201) The takeover
(ステップ1001)引継ぎポリシー管理部140は、システム管理者から、引継ぎ元となる実行基盤151の識別子、ビジネスプロセス定義の識別子、引継ぎを行うか否かを決定するための、実行状況情報に対する条件およびリソース情報に対する条件、並びに、ステップ名の入力を受け付ける。引継ぎポリシー管理部140は、受け付けた各情報を、実行基盤識別子701、ビジネスプロセス定義名702、実行状況条件703、リソース条件704、引継ぎ終了ステップ名705に設定した引継ぎ範囲条件を生成して、引継ぎ範囲決定テーブル700に登録する。
(Step 1001) The takeover
(ステップ1002)引継ぎポリシー管理部140は、システム管理者から、ビジネスプロセス定義の識別子、引継ぎ先の候補となる実行基盤151または171の識別子、およびリソース情報に対する条件の入力を受け付ける。引継ぎポリシー管理部140は、受け付けた各情報を、ビジネスプロセス定義名721、引継ぎ先候補722、引継ぎ先決定条件723に設定した引継ぎ先条件を生成して、引継ぎ先決定テーブル720に登録する。
(Step 1002) The takeover
(ステップ202)実行基盤151がクライアント100から実行要求を受信すると、ビジネスプロセス定義読込部154は、ビジネスプロセス定義153を読み込み、ビジネスプロセス実行部155は、インスタンスを生成する。ここで生成されたインスタンスのインスタンスIDは「151−0001」であったものとする。
(ステップ203)ビジネスプロセス実行部155は、ビジネスプロセス定義153に従ってビジネスプロセス300を実行する。
(ステップ204)実行状況管理部156は、ビジネスプロセスの実行状況を示す実行状況情報を生成し、生成した実行状況情報をインスタンスに含まれる実行状況管理テーブル157に記憶するとともに、管理サーバ110に送信する。管理サーバ110では、実行状況監視部130が、BP実行サーバ150から送信される実行状況情報を受信する。
(ステップ205)管理サーバ110の引継ぎ判定部145は、受信した実行状況情報と、引継ぎポリシー情報141とに基づいて、BP実行サーバ150からBP実行サーバ170へのビジネスプロセスの引継ぎを行うかどうかの判定を行う。判定処理の詳細については後述する。
(Step 202) When the
(Step 203) The business
(Step 204) The execution
(Step 205) The
ビジネスプロセスの引継ぎを行う場合には、ステップ206に進み、引継ぎを行わない場合はステップ212に進む。
(ステップ206)引継ぎ判定部145は、実行基盤151の引継ぎ実行部158に、引継ぎ先となる実行基盤171の識別情報を送信して、ビジネスプロセス300の引継ぎを行うように指示する。
(ステップ207)ビジネスプロセスの引継ぎ処理が行われる。ビジネスプロセスの引継ぎ処理の詳細については後述する。
(ステップ208)ビジネスプロセス実行部175は、引継いだビジネスプロセス300の実行を再開する。なお、本実施形態では、BP実行サーバ170において生成された引継ぎ先のインスタンスのインスタンスIDは、「171−0002」であったものとする。
(ステップ209)実行状況監視部130は、BP実行サーバ170におけるビジネスプロセスの実行状況を監視し、実行状況情報が随時引継ぎ判定部145に通知される。
If the business process is to be taken over, the process proceeds to step 206; otherwise, the process proceeds to step 212.
(Step 206) The
(Step 207) Business process takeover processing is performed. Details of the business process takeover process will be described later.
(Step 208) The business
(Step 209) The execution
(ステップ210)引継ぎ判定部145は、実行状況情報と引継ぎポリシー情報141とに基づいて、BP実行サーバ170からBP実行サーバ150へのビジネスプロセスの引継ぎを行うかどうかの判定を行う。判定処理の詳細については後述する。
(Step 210) The
ビジネスプロセス300の引継ぎを行う場合には、ステップ211に進み、引継ぎを行わない場合は、ステップ213に進む。
(ステップ211)実行基盤171から実行基盤151にビジネスプロセス300の引継ぎが行われる。ビジネスプロセス300の引継ぎ処理は、ステップ207の処理と同様である。
(ステップ212)ビジネスプロセス定義153に記述されている各ステップに関する処理が完了していれば処理を終了し、完了していなければステップ203へ戻る。
(ステップ213)ビジネスプロセス定義153に記述されている各ステップに関する処理が完了していれば処理を終了し、完了していなければステップ208へ戻る。
When taking over the
(Step 211) The
(Step 212) If processing relating to each step described in the
(Step 213) If the process related to each step described in the
図18は、上述した図16のステップ205における、ビジネスプロセスの引継ぎを行うかどうかを判定する処理の詳細を説明する図である。
FIG. 18 is a diagram for explaining the details of the processing for determining whether or not to take over the business process in
(ステップ1101)引継ぎ判定部145は、実行状況監視部130から実行状況情報を受信する。
(ステップ1102)引継ぎ判定部145は、引継ぎ関係管理テーブル147に、実行状況情報のインスタンスID403と一致する引継ぎ元インスタンスID803が登録されているかどうかを判定し、登録されている場合には、ステップ1103に進み、登録されていない場合にはステップ1104に進む。
(ステップ1103)引継ぎ判定部145は、引継ぎ判定部145は、ビジネスプロセス300の引継ぎは行わないことを決定する。
(ステップ1104)引継ぎ判定部145は、引継ぎ範囲決定テーブル700から、実行状況情報の実行基盤識別子401およびビジネスプロセス定義名402と、実行基盤識別子701およびビジネスプロセス定義名702とが一致する引継ぎ範囲条件を検索する。ただし、引継ぎ範囲条件の実行基盤識別子701が空の場合は、どの実行基盤識別子401とも一致するものとする。
(ステップ1105)引継ぎ判定部145は、ステップ1103における検索結果のうち、実行状況情報のステップ名404および実行状況405を連結した文字列と、実行状況条件703とが一致するものが存在するか判定する。存在する場合はステップ1106へ進み、存在しない場合はステップ1103へ進んで引継ぎを行わないことを決定する。
(Step 1101) The
(Step 1102) The
(Step 1103) The
(Step 1104) The
(Step 1105) The
(ステップ1106)引継ぎ判定部145は、実行状況情報の実行基盤識別子401に対応するリソース情報をリソース情報管理テーブル122から読み出し、上記ステップ1104において判定した、実行状況情報のステップ名404および実行状況405を連結した文字列と、実行状況条件703とが一致する引継ぎ範囲条件のうち、リソース情報のリソース名602および値603が、リソース条件704を満たすものが存在するかどうかを判定する。上記の引継ぎ範囲条件が存在する場合はステップ1107へ進み、存在しない場合はステップ1103へ進み、引継ぎは行わないことを決定する。
なお、リソース条件704が空である場合は、判定を行なわずにステップ1107へ進むものとする。
(ステップ1107)引継ぎ判定部145は、ビジネスプロセス300の引継ぎを行うことを決定し、後述する引継ぎ先の決定処理を行う。
(Step 1106) The
When the
(Step 1107) The
上記のようにして、ビジネスプロセス300の引継ぎを行うか否かが決定される。例えば、実行基盤151に配置されているビジネスプロセス定義153に従って実行されているビジネスプロセス300に関するインスタンスのインスタンスIDが「151−0001」であり、実行状況監視部130が、受注ステップ330を示すステップ名404を含む実行状況情報を受信した場合、インスタンス「151−0001」は引継ぎ関係管理テーブル147には該当するデータは存在しない。
As described above, whether or not to take over the
ここで、実行状況情報は、引継ぎ範囲決定テーブル700に登録された実行状況条件703「受注ステップ330完了」と一致する。また、リソース情報管理テーブル122には、実行基盤151の平均CPU使用率が75%であることを示すリソース情報が登録されており、リソース条件704「平均CPU使用率70%以上」を満たす。
Here, the execution status information matches the
したがって、引継ぎ判定部145は、インスタンスIDが「151−0001」であるインスタンスに係るビジネスプロセス300ついて、受注ステップ330に後続するステップで、引継ぎ終了ステップ名705が示す引当ステップ332までの範囲を引き継ぐことを決定する。
Therefore, the
次に、引継ぎ先を決定する上記ステップ1107の詳細について説明する。図19は、引継ぎ先の決定処理の流れを示す図である。
Next, details of
(ステップ1201)引継ぎ判定部145は、実行状況情報のビジネスプロセス定義名402と一致する、引継ぎ先決定テーブル720の引継ぎ対象ビジネスプロセス定義名721を検索する。
(ステップ1202)該当する引継ぎ対象ビジネスプロセス定義名721が存在する場合はステップ1203へ、存在しない場合はステップ1205へ進む。
(ステップ1203)引継ぎ判定部145は、引継ぎ先候補722に登録されている実行基盤識別子を取得する。
(ステップ1204)引継ぎ判定部145は、取得した実行基盤識別子のそれぞれについて、対応するリソース情報をリソース情報管理テーブル122から取得する。引継ぎ判定部145は、実行基盤識別子のうち、リソース情報が引継ぎ先決定条件723を満たすものを選択する。
(ステップ1205)引継ぎ先が決定できないため、インスタンスの引継ぎを中止し、処理を完了する。
(Step 1201) The
(Step 1202) If the corresponding business
(Step 1203) The
(Step 1204) The
(Step 1205) Since the takeover destination cannot be determined, the takeover of the instance is stopped and the processing is completed.
図13の例では、ビジネスプロセス定義153について、引継ぎ先の候補は実行基盤151および実行基盤171である。引継ぎ先決定条件723から、平均CPU使用率がより低いサービス実行処理部が引継ぎ先となる。図12の例では、実行基盤151の平均CPU使用率が75%であり、実行基盤171の平均CPU使用率は40%である。したがって、引継ぎ先としては実行基盤171が選択される。
In the example of FIG. 13, regarding the
以上から、本実施形態では、引継ぎ対象となるビジネスプロセス定義名は、「ビジネスプロセス定義153」であり、引継ぎ元となる実行基盤識別子は「実行基盤151」であり、引継ぎ対象となるインスタンスのインスタンスIDは「151−0001」であり、引継ぎ先となる実行基盤識別子は「実行基盤171」であり、引継ぎ終了ステップ名は「引当ステップ332」である。
From the above, in this embodiment, the business process definition name to be taken over is “
次に、ビジネスプロセス300の引継ぎ処理を行う上記図16のステップ207の詳細について説明する。図20は、ステップ207における処理の流れを示す図である。
Next, details of
(ステップ1301)引継ぎ判定部145は、上記引継ぎ対象となるビジネスプロセス定義名、引継ぎ元となる実行基盤識別子、引継ぎ元におけるインスタンスのインスタンスID、引継ぎ先となる実行基盤識別子、引継ぎ終了ステップ名を含む情報(以下、引継ぎ情報という。)を、引継ぎ元である実行基盤151の引継ぎ実行部158および引継ぎ先である実行基盤171の引継ぎ実行部178へ送信する。
(ステップ1302)引継ぎ実行部158は、受信した引継ぎ情報に含まれる引継ぎ元インスタンスIDが示すインスタンスに含まれる実行状況管理テーブル157から実行状況情報を取得する。
(ステップ1303)実行基盤151の引継ぎ実行部158は、引継ぎ情報および実行状況情報を、引継ぎ先となる実行基盤171の引継ぎ実行部178へ送信する。
(ステップ1304)実行基盤171の引継ぎ実行部178は、引き継ぐビジネスプロセス300についてのインスタンスを生成し、生成したインスタンスに、受信した実行状況情報を登録した実行状況管理テーブル177を設定する。
(ステップ1305)引継ぎ関係管理部146は、引継ぎ対象ビジネスプロセス定義名、引継ぎ元実行基盤識別子、引継ぎ対象インスタンスID、引継ぎ先実行基盤識別子、引継ぎ終了ステップ名を、それぞれ引継ぎ関係情報の引き継ぎ対象ビジネスプロセス定義名801、引継ぎ元実行基盤識別子802、引継ぎ元インスタンスID803、引継ぎ先実行基盤識別子804、引継ぎ終了ステップ名806に設定し、設定した引継ぎ関係情報を引継ぎ関係管理テーブル147に登録する。
(Step 1301) The
(Step 1302) The
(Step 1303) The
(Step 1304) The
(Step 1305) The takeover
なお、ビジネスプロセス300の引継ぎ処理については、フェイルオーバやプロセスマイグレーションなどと同様の公知の方法を用いることができる。最終的に引継ぎ先インスタンスIDおよび引継ぎ元インスタンスIDが、引継ぎ関係管理テーブル147に登録されていれば良い。
For the takeover processing of the
本実施形態では、実行基盤151のインスタンスIDが「151−0001」であるインスタンスに対応するビジネスプロセス300を実行基盤171へ引継いだものとしている。この場合、引継ぎ先のインスタンスIDが「171−0002」であったとすると、引継ぎ関係管理テーブル147には、図14に示すように、ビジネスプロセス定義名801が「ビジネスプロセス定義153」であり、引継ぎ元実行基盤識別子802が「実行基盤151」であり、引継ぎ元インスタンスID803が「151−0001」であり、引継ぎ先実行基盤識別子804が「実行基盤171」であり、引継ぎ先インスタンスID805が「171−0002」であり、引継ぎ終了ステップ名806が「引当ステップ332」である引継ぎ関係情報が格納される。
In the present embodiment, it is assumed that the
実行基盤151から実行基盤171へビジネスプロセス300が引継がれると、ビジネスプロセス定義173に従って実行基盤171においてビジネスプロセスが実行される。
When the
なお、引継ぎ判定部145の決定を受けて、引継ぎ先の実行基盤171から引継ぎ元の実行基盤151に処理を戻す図16のステップ211も上記図20と同様の処理によりビジネスプロセス300の引継ぎを行うことができる。
Note that, in response to the determination of the
次に、引継ぎ先から引継ぎ元へビジネスプロセスの処理を再度引き継ぐことを決定する処理である、図16のステップ210における処理の詳細について説明する。図21は、ステップ210における処理の流れを示す図である。
Next, details of the process in
(ステップ1110)引継ぎ判定部145は、引継ぎ関係管理テーブル147に、実行状況情報のインスタンスID403と一致する引継ぎ元インスタンスID803が登録されているかどうかを判定し、登録されていない場合にはステップ1111に進み、登録されている場合にはステップ1112に進む。
(ステップ1111)引継ぎ判定部145は、引継ぎを行わないことを決定する。
(ステップ1112)引継ぎ判定部145は、引継ぎ関係管理テーブル147から、引継ぎ先インスタンスID803が実行状況情報のインスタンスID403に一致する引継ぎ関係情報を読み出し、引継ぎ関係情報のビジネスプロセス定義名801、引継ぎ先実行基盤識別子804および引継ぎ終了ステップ名806が、実行状況情報のビジネスプロセス定義名402、実行基盤識別子401およびステップ名404と一致するかどうかを判定する。
引継ぎ終了ステップ名806と実行状況情報のステップ名404とが一致する場合、ステップ1113に進み、一致しない場合にはステップ1111に進み、引継ぎを行わないことを決定する。
(ステップ1113)引継ぎ判定部145は、引継ぎを行うことを決定する。
(Step 1110) The
(Step 1111) The
(Step 1112) The
If the takeover
(Step 1113) The
以上のようにして、図16のステップ210において、ビジネスプロセス300の引継ぎを行うかどうかの判定が行われる。
As described above, in
例えば、管理サーバ110の実行状況監視部130が、実行基盤171から、インスタンスID「171−0002」に関するビジネスプロセス300の引当ステップ332の実行が完了した旨の実行状況情報を受信した場合、図14の例では、引継ぎ終了ステップ名806として「引当ステップ332」が設定されているので、実行基盤171から実行基盤151へのビジネスプロセスの引継ぎを行うことが決定される。
For example, when the execution
以上説明したように、本実施形態の情報処理システムでは、システム管理者が登録した引継ぎポリシー情報141に基づいて、引継ぎ判定部145が引継ぎを行うかどうか、引継ぐステップの範囲、および引継ぎ先となる実行基盤171を決定し、ビジネスプロセス300の引継ぎを行うことができる。したがって、実行基盤151の負荷が高い場合に、一部のステップを異なる実行基盤171で実行することで、負荷分散を実現し、情報処理システム全体の負荷を平滑化することができる。
As described above, in the information processing system of this embodiment, based on the
また、従来は、クライアント100からの実行要求を複数のBP実行サーバに振り分けることにより負荷分散を行っており、実行要求に応じたビジネスプロセス300の処理が開始された後は、処理の終了まで同一の主体により処理が継続されていたが、本実施形態の情報処理システムによれば、ビジネスプロセス定義153の変更やビジネスプロセス実行部155の再配備といった作業をすることなく、ビジネスプロセス300を実行させる主体を、自由に定義することができる。したがって、例えば、Webサービス提供サーバ190の受注サービス提供部192に障害が発生した場合に、受注ステップ330を実行中のビジネスプロセス300では例外処理が発生し、通常の処理よりもリソースの消費量が大きい例外処理の処理負荷によって、通常の処理に影響が出るような状況であっても、例外処理のみをBP実行サーバ170に引き継がせることにより、BP実行サーバ150では通常処理のみを行うように設定することができる。これにより、通常処理にかかる処理負荷の増加を防止し、効率的な情報処理を行うことができる。すなわち、情報処理システムの運用者は、BP実行サーバ150や170の処理負荷に応じて、引継ぎポリシー情報141を更新することで、ビジネスプロセス300の処理主体の最適化を図ることができる。
Conventionally, load distribution is performed by distributing execution requests from the
なお、本実施形態では、ビジネスプロセスを実行するサーバは、BP実行サーバ150および170の2つであるものとしたが、これに限らず、3つ以上のBP実行サーバを備えるようにしてもよい。この場合、ビジネスプロセスの引継ぎ先となるBP実行サーバを、条件に応じて決定するようにする。
In this embodiment, the two servers that execute the business process are the
また、本実施形態では、システム管理者が引継ぎポリシー情報141の項目をすべて入力するものとしたが、管理サーバ110が、ビジネスプロセス定義153を解析して例外処理を行うステップを特定する定義情報解析部と、例外処理を行うステップの実行を引き継ぐように、引継ぎポリシー情報141を生成するポリシー情報生成部とを備えるようにしてもよい。一般に例外処理は通常の処理よりもリソースの消費量が多いため、例外処理を他の実行基盤171に引き継ぐようにすることで、例外処理によってリソースが消費されて通常処理に影響が出てしまうことを防ぐことができる。
In this embodiment, the system administrator inputs all items of the
また、ビジネスプロセス定義が長く複雑であるには、システム管理者がビジネスプロセス定義を解析して例外処理部分を抽出するのには手間がかかるが、管理サーバ110がビジネスプロセス定義153を解析して引継ぎポリシー情報141を生成することで、システム管理者の手間を軽減し、ユーザの利便性を向上することができる。
Also, in order for the business process definition to be long and complicated, it takes time for the system administrator to analyze the business process definition and extract the exception processing part. However, the
この場合の管理サーバ110は、新たにビジネスプロセス定義解析部148を備えるものとする。ビジネスプロセス定義解析部148は、ビジネスプロセス定義を解析し、例外処理を行なうステップのみを抽出して、引継ぎポリシー情報141の引継ぎ範囲決定テーブル700へ、実行状況条件703および引継ぎ終了ステップ名705を登録する。
The
ビジネスプロセス定義解析部148が引継ぎポリシー情報141を登録する場合の、図16のステップ201における処理を図22に示す。
FIG. 22 shows the processing in
(ステップ1401)ビジネスプロセス定義解析部148は、システム管理者からビジネスプロセス定義153の入力を受け付ける。この際、ビジネスプロセス定義解析部148は、ビジネスプロセス定義153そのものの入力を受け付けるようにしてもよいし、ビジネスプロセス定義153が格納されている記憶媒体へのポインタの入力を受け付け、受け付けたポインタが示すビジネスプロセス定義153を読み出すようにしてもよい。
(ステップ1402)ビジネスプロセス定義解析部148は、ビジネスプロセス定義153を解析し、例外処理を行う範囲を抽出する。
(ステップ1403)ビジネスプロセス定義解析部148は、抽出した範囲に含まれる最初のステップを示すステップ名と「開始」を結合した文字列を、実行状況条件703とする。
(ステップ1404)ビジネスプロセス定義解析部148は、抽出した範囲に含まれる最後のステップを示すステップ名を、引継ぎ終了ステップ名705とする。
(ステップ1405)ビジネスプロセス定義解析部148は、上記の実行状況条件703および引継ぎ終了ステップ名705を含む引継ぎ範囲条件を生成して、引継ぎ範囲決定テーブル700に登録する。
(Step 1401) The business process definition analyzing unit 148 receives an input of the
(Step 1402) The business process definition analyzing unit 148 analyzes the
(Step 1403) The business process definition analyzing unit 148 sets a character string obtained by combining the step name indicating the first step included in the extracted range and “start” as the
(Step 1404) The business process definition analyzing unit 148 sets the step name indicating the last step included in the extracted range as the takeover
(Step 1405) The business process definition analysis unit 148 generates a takeover range condition including the
次のステップ1002は図16と同様であり、引継ぎ関係管理部146は、システム管理者から受け付けた引継ぎ先条件を引継ぎ先決定テーブル720に登録する。
The
以上のようにして、ビジネスプロセス定義解析部148は、ビジネスプロセス定義153に基づいて引継ぎ範囲条件を登録する。
As described above, the business process definition analyzing unit 148 registers the takeover range condition based on the
図6に示すビジネスプロセス定義153がビジネスプロセス定義解析部148に与えられた場合、ビジネスプロセス定義解析部148は、ビジネスプロセス定義153を解析し、例外処理である引当例外処理ステップ334を抽出する。ビジネスプロセス定義解析部148は引継ぎポリシー情報141の引継ぎ範囲決定テーブル700に対して、ビジネスプロセス定義名702に解析中のビジネスプロセス定義153の名称を設定し、実行状況条件に抽出したステップを開始することを示す「引当例外処理ステップ334開始」を設定し、引継ぎ終了ステップ名705に、「引当例外処理ステップ334」を設定した引継ぎ範囲条件を登録する。
When the
以上により、ビジネスプロセス定義解析部148は、例外処理について自動的に引継ぎ範囲条件を登録することができる。これにより、例外処理が多発した場合には、例外処理を実行基盤171に引き継がせ、実行基盤151は通常処理のみを行うことができるので、実行基盤151のパフォーマンスを守ることができる。
As described above, the business process definition analyzing unit 148 can automatically register the takeover range condition for exception processing. As a result, when exception processing occurs frequently, the exception processing is handed over to the
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。 Although the present embodiment has been described above, the above embodiment is intended to facilitate understanding of the present invention and is not intended to limit the present invention. The present invention can be changed and improved without departing from the gist thereof, and the present invention includes equivalents thereof.
100 クライアント 101 実行要求送信部
102 実行結果受信部 110 管理サーバ
121 エージェント管理部 122 リソース情報管理テーブル
130 実行状況監視部 140 引継ぎポリシー管理部
141 引継ぎポリシー情報 145 引継ぎ判定部
146 引継ぎ関係管理部 147 引継ぎ関係管理テーブル
150 BP実行サーバ 151 実行基盤
152 ビジネスプロセス制御部 153 ビジネスプロセス定義
154 ビジネスプロセス定義読込部 155 ビジネスプロセス実行部
156 実行状況管理部 157 実行状況管理テーブル
160 運用管理エージェント 170 BP実行サーバ
171 実行基盤 172 ビジネスプロセス制御部
173 ビジネスプロセス定義 174 ビジネスプロセス定義読込部
175 ビジネスプロセス実行部 176 実行状況管理部
177 実行状況管理テーブル 190 Webサービス提供サーバ
191 Webサービス実行部 192 受注サービス提供部
193 在庫検索サービス提供部 194 引当サービス提供部
195 発送サービス提供部 300 ビジネスプロセス
330 受注ステップ 331 在庫検索ステップ
332 引当ステップ 333 発送ステップ
334 引当例外処理ステップ 1000 通信ネットワーク
DESCRIPTION OF
Claims (10)
前記処理単位のうちの1つが指定されたポリシー情報を受け付ける引継ぎポリシー管理部と、
前記実行状況管理部が記憶している前記情報が示す前記処理単位が、前記ポリシー情報に指定されている前記処理単位と一致する場合に、前記一連の処理のうちの未実行の前記処理単位を第2の情報処理装置に実行させる制御部と、
を備えることを特徴とする情報処理システム。 An execution status management unit that stores information indicating the processing unit executed last among the processing units that have been executed in the first information processing apparatus that executes a series of processing units constituting a business process When,
A takeover policy management unit for accepting policy information in which one of the processing units is designated;
When the processing unit indicated by the information stored in the execution status management unit matches the processing unit specified in the policy information, the unexecuted processing unit in the series of processes is determined. A control unit to be executed by the second information processing apparatus;
An information processing system comprising:
前記ポリシー情報には、前記未実行の処理単位を特定する処理単位特定情報が含まれており、
前記制御部は、前記処理単位特定情報により特定される前記処理単位を前記第2の情報処理装置に実行させること、
を特徴とする情報処理システム。 The information processing system according to claim 1,
The policy information includes processing unit specifying information for specifying the unexecuted processing unit,
The control unit causes the second information processing apparatus to execute the processing unit specified by the processing unit specifying information;
An information processing system characterized by
前記処理単位を実行するアルゴリズムが記述された定義情報を記憶する定義情報記憶部と、
前記定義情報を解析して、例外処理を行う前記処理単位を特定する定義情報解析部と、
特定した前記処理単位を示す前記処理単位特定情報を含む前記ポリシー情報を生成するポリシー情報生成部と、
を備えることを特徴とする情報処理システム。 The information processing system according to claim 2,
A definition information storage unit that stores definition information in which an algorithm for executing the processing unit is described;
A definition information analysis unit that analyzes the definition information and identifies the processing unit that performs exception handling;
A policy information generating unit that generates the policy information including the processing unit specifying information indicating the specified processing unit;
An information processing system comprising:
前記第1の情報処理装置において使用されている資源量を測定する資源量測定部と、
前記資源量に対する条件を記憶する条件記憶部と、
を備え、
前記制御部は、前記直近実行処理単位記憶部が記憶している前記情報が示す前記処理単位が、前記ポリシー情報に指定されている前記処理単位と一致し、かつ、前記資源量が前記条件を満たす場合に、前記未実行の処理単位を前記第2の情報処理装置に実行させること、
を特徴とする情報処理システム。 The information processing system according to claim 1,
A resource amount measuring unit for measuring a resource amount used in the first information processing apparatus;
A condition storage unit for storing a condition for the resource amount;
With
The control unit matches the processing unit indicated by the information stored in the latest execution processing unit storage unit with the processing unit specified in the policy information, and the resource amount satisfies the condition. If satisfied, causing the second information processing apparatus to execute the unexecuted processing unit;
An information processing system characterized by
前記第1の情報処理装置はCPUおよびメモリを有し、
前記資源量は、前記第1の情報処理装置が使用している前記メモリの使用量および前記第1の情報処理装置における前記CPUの使用率の少なくともいずれかであること、
を特徴とする情報処理システム。 The information processing system according to claim 4,
The first information processing apparatus has a CPU and a memory;
The resource amount is at least one of a usage amount of the memory used by the first information processing device and a usage rate of the CPU in the first information processing device;
An information processing system characterized by
複数の前記第2の情報処理装置が存在し、
前記第2の情報処理装置ごとに、前記第1の情報処理装置による前記処理単位の実行結果に対して設定された条件を記憶する実行状況条件記憶部と、
前記直近に実行された前記処理単位の実行結果を記憶する実行結果記憶部と、
を備え、
前記制御部は、前記実行結果が前記条件を満たす前記第2の情報処理装置に前記未実行の処理単位を実行させること、
を特徴とする情報処理システム The information processing system according to claim 1,
There are a plurality of the second information processing devices,
An execution status condition storage unit that stores conditions set for the execution result of the processing unit by the first information processing apparatus for each second information processing apparatus;
An execution result storage unit that stores an execution result of the processing unit executed most recently;
With
The control unit causes the second information processing apparatus to execute the unexecuted processing unit, the execution result satisfying the condition;
Information processing system featuring
複数の前記第2の情報処理装置が存在し、
複数の前記第2の情報処理装置のそれぞれについて、前記第2の情報処理装置が使用している資源量を測定する資源量測定部と、
前記未実行の処理単位を実行させる前記第2の情報処理装置を決定するための前記資源量に対する条件を記憶する実行先条件記憶部と、
前記第2の情報処理装置のうち、測定した前記資源量が前記条件を満たすものを特定する実行先特定部と、
を備え、
前記制御部は、前記実行先特定部が特定した前記第2の情報処理装置に前記未実行の前記処理単位を実行させること、
を特徴とする情報処理システム The information processing system according to claim 1,
There are a plurality of the second information processing devices,
For each of the plurality of second information processing devices, a resource amount measuring unit that measures the resource amount used by the second information processing device;
An execution condition storage unit that stores a condition for the resource amount for determining the second information processing apparatus that executes the unexecuted processing unit;
An execution destination identifying unit that identifies the measured amount of the resource that satisfies the condition among the second information processing apparatuses;
With
The control unit causes the second information processing apparatus specified by the execution destination specifying unit to execute the unexecuted processing unit;
Information processing system featuring
前記直近実行処理単位記憶部は、前記第1の情報処理装置において直近に実行された前記処理単位を示す第1の情報と、前記第2の情報処理装置において直近に実行された前記処理単位を示す第2の情報とを記憶し、
前記ポリシー情報には、第1および第2の前記処理単位が指定され、
前記制御部は、前記第1の情報が示す前記処理単位が、前記ポリシー情報に指定されている前記第1の処理単位と一致する場合、前記第1の処理単位に後続する前記処理単位を前記第2の情報処理装置に実行させ、
前記制御部は、前記第2の情報が示す前記処理単位が、前記ポリシー情報に指定されている前記第2の処理単位と一致する場合、前記第2の処理単位に後続する前記処理単位を前記第1の情報処理装置に実行させること、
を特徴とする情報処理システム。 The information processing system according to claim 1,
The latest execution processing unit storage unit includes first information indicating the processing unit executed most recently in the first information processing apparatus and the processing unit executed most recently in the second information processing apparatus. Second information to be stored,
The policy information specifies the first and second processing units,
When the processing unit indicated by the first information matches the first processing unit specified in the policy information, the control unit determines the processing unit subsequent to the first processing unit as the processing unit. Causing the second information processing device to execute,
When the processing unit indicated by the second information matches the second processing unit specified in the policy information, the control unit determines the processing unit subsequent to the second processing unit as the processing unit. Causing the first information processing apparatus to execute;
An information processing system characterized by
ビジネスプロセスを構成している一連の処理単位を実行する第1の情報処理装置において直近に実行された前記処理単位を示す情報を記憶し、
前記処理単位のうちの1つが指定されたポリシー情報を受け付け、
記憶している前記情報が示す前記処理単位が、前記ポリシー情報に指定されている前記処理単位と一致する場合に、前記一連の処理のうちの未実行の前記処理単位を第2の情報処理装置に実行させること、
を特徴とする情報処理方法。 An information processing apparatus connected to the first and second information processing apparatuses is
Storing information indicating the processing unit executed most recently in the first information processing apparatus that executes a series of processing units constituting the business process;
Accepts policy information in which one of the processing units is specified;
If the processing unit indicated by the stored information matches the processing unit specified in the policy information, the unexecuted processing unit in the series of processes is designated as a second information processing apparatus. To make it run,
An information processing method characterized by the above.
ビジネスプロセスを構成している一連の処理単位を実行する第1の情報処理装置において直近に実行された前記処理単位を示す情報を記憶するステップと、
前記処理単位のうちの1つが指定されたポリシー情報を受け付けるステップと、
記憶している前記情報が示す前記処理単位が、前記ポリシー情報に指定されている前記処理単位と一致する場合に、前記一連の処理のうちの未実行の前記処理単位を第2の情報処理装置に実行させるステップと、
を実行させるためのプログラム。 In the information processing apparatus connected to the first and second information processing apparatuses,
Storing information indicating the processing unit most recently executed in the first information processing apparatus that executes a series of processing units constituting a business process;
Receiving policy information in which one of the processing units is designated;
If the processing unit indicated by the stored information matches the processing unit specified in the policy information, the unexecuted processing unit in the series of processes is designated as a second information processing apparatus. Step to be executed,
A program for running
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007159308A JP4887223B2 (en) | 2007-06-15 | 2007-06-15 | Information processing system, information processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007159308A JP4887223B2 (en) | 2007-06-15 | 2007-06-15 | Information processing system, information processing method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008310687A true JP2008310687A (en) | 2008-12-25 |
JP4887223B2 JP4887223B2 (en) | 2012-02-29 |
Family
ID=40238212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007159308A Expired - Fee Related JP4887223B2 (en) | 2007-06-15 | 2007-06-15 | Information processing system, information processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4887223B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017102777A (en) * | 2015-12-03 | 2017-06-08 | 富士通株式会社 | Load distribution processing server, load distribution processing method, and system |
JP2021518018A (en) * | 2018-05-01 | 2021-07-29 | アマゾン テクノロジーズ インコーポレイテッド | Function portability for service hubs with function checkpoints |
-
2007
- 2007-06-15 JP JP2007159308A patent/JP4887223B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017102777A (en) * | 2015-12-03 | 2017-06-08 | 富士通株式会社 | Load distribution processing server, load distribution processing method, and system |
US10353741B2 (en) | 2015-12-03 | 2019-07-16 | Fujitsu Limited | Load distribution of workflow execution request among distributed servers |
JP2021518018A (en) * | 2018-05-01 | 2021-07-29 | アマゾン テクノロジーズ インコーポレイテッド | Function portability for service hubs with function checkpoints |
Also Published As
Publication number | Publication date |
---|---|
JP4887223B2 (en) | 2012-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10891168B2 (en) | Automatically scaling up physical resources in a computing infrastructure | |
US20190377604A1 (en) | Scalable function as a service platform | |
US20200137151A1 (en) | Load balancing engine, client, distributed computing system, and load balancing method | |
US10015241B2 (en) | Automated profiling of resource usage | |
JP6658882B2 (en) | Control device, VNF placement destination selection method and program | |
US8117641B2 (en) | Control device and control method for information system | |
US20180144025A1 (en) | Map-reduce job virtualization | |
KR101600129B1 (en) | Application efficiency engine | |
US9135048B2 (en) | Automated profiling of resource usage | |
US8826290B2 (en) | Method of monitoring performance of virtual computer and apparatus using the method | |
US8332873B2 (en) | Dynamic application instance placement in data center environments | |
CN109814998A (en) | A kind of method and device of multi-process task schedule | |
US20130283273A1 (en) | Service reservation management method, virtual machine system and storage medium | |
US11463509B2 (en) | Rolling capacity upgrade control | |
US11966768B2 (en) | Apparatus and method for multi-cloud service platform | |
US20070250629A1 (en) | Method and a system that enables the calculation of resource requirements for a composite application | |
WO2021143590A1 (en) | Distributed container image construction scheduling system and method | |
JPWO2007072544A1 (en) | Information processing apparatus, computer, resource allocation method, and resource allocation program | |
JP2017219972A (en) | Node and information processing system processing nodes | |
US10606650B2 (en) | Methods and nodes for scheduling data processing | |
JP2012198724A (en) | Information processing program and method, and transfer processing device | |
JP4336363B2 (en) | Business process execution method, business process execution system, and program | |
JP2019061359A (en) | Program and information processing device | |
JP2017091330A (en) | Computer system and task executing method of computer system | |
JP4887223B2 (en) | Information processing system, information processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100128 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110621 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110722 |
|
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: 20111115 |
|
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: 20111212 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141216 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |