JP4887223B2 - 情報処理システム、情報処理方法、およびプログラム - Google Patents

情報処理システム、情報処理方法、およびプログラム Download PDF

Info

Publication number
JP4887223B2
JP4887223B2 JP2007159308A JP2007159308A JP4887223B2 JP 4887223 B2 JP4887223 B2 JP 4887223B2 JP 2007159308 A JP2007159308 A JP 2007159308A JP 2007159308 A JP2007159308 A JP 2007159308A JP 4887223 B2 JP4887223 B2 JP 4887223B2
Authority
JP
Japan
Prior art keywords
information
processing
unit
execution
takeover
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.)
Expired - Fee Related
Application number
JP2007159308A
Other languages
English (en)
Other versions
JP2008310687A (ja
Inventor
紗枝 森下
展之 山本
光伸 田坂
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 JP2007159308A priority Critical patent/JP4887223B2/ja
Publication of JP2008310687A publication Critical patent/JP2008310687A/ja
Application granted granted Critical
Publication of JP4887223B2 publication Critical patent/JP4887223B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Description

本発明は、情報処理システム、情報処理方法、およびプログラムに関する。
近年、ビジネスサイクルの短期化やビジネス環境の急激な変化に対応するため、柔軟かつ迅速に変化に対応できる情報システムが求められている。この要求について、サービス指向アーキテクチャ(Service Oriented Architecture;SOA)という情報システムの設計手法が注目されている。
SOAとは、サービスと呼ばれる業務処理を行うソフトウェアコンポーネントを、ビジネスプロセスと呼ばれる業務フローから適切な順序で呼び出すことで新たな情報システムを構築するという考え方である。SOAに基づいて情報システムを設計することにより、既存のサービスを再利用し易くなり、低コストかつ迅速な情報システムの開発が可能となる。加えて複数のサービスを組み合わせて新たな情報システムを構築するためサービスの実装の変更や呼び出し順序の変更が容易となり、情報システムの柔軟性を確保することができる。サービスは、例えば、SOAPによりアクセス可能なWebサービスにより実現される。
ビジネスプロセスは、BPEL(Business Process Execution Language)と呼ばれるフロー記述言語により記述される。BPELにより記述されたビジネスプロセスはビジネスプロセス定義と呼ばれる。ビジネスプロセス定義がアプリケーションサーバなどの実行基盤に配備されると、実行基盤は利用者からのリクエストを受け付けて、ビジネスプロセス定義に従ったサービスを呼び出してビジネスプロセスを実行する。
このような情報システムにおいて、より効率的にビジネスプロセスを行うべく負荷分散が行われている。例えば、サーバの負荷に応じてサーバへ振り分けるリクエストの数を制御することにより負荷分散を行う技術が知られている(特許文献1参照)。
特開2005−92862号公報
SOAに基づく情報システムの実行基盤では、リクエストに応じて、ビジネスプロセスが実行されるため、複数のビジネスプロセスが同時に実行される。したがって、同一のサービスが複数のビジネスプロセスから同時に呼び出されることがある。複数のビジネスプロセスから同時に呼び出されているサービスに障害が発生すると、そのサービスを呼び出している複数のビジネスプロセスにおいて同時に例外処理が発生する。例外処理は通常処理よりもリソースの消費量が多いため、例外処理が同時多発することにより、例外処理のためにリソースが大量に消費され、通常処理を行なっている他のビジネスプロセスがリソース不足に陥る可能性がある。
また、利用者からのリクエストに含まれるパラメータに応じて処理のループ回数が決まるようなビジネスプロセス定義がある場合には、パラメータによっては、あるビジネスプロセスにおいて大量のループが行われ、そのビジネスプロセスの処理に通常よりもリソースが必要となるために、他のビジネスプロセスの処理に遅延が発生することがある。
このように、リクエストに応じたビジネスプロセスの処理が開始した後にサーバが高負荷になってしまうことがある。
しかしながら、特許文献1に記載の技術では、高負荷なサーバに対してリクエストを割り当てないようにして、それ以上の負荷の増大を防ぐことができるものの、サーバにおいてリクエストに応じた処理が開始してしまった後は、その処理が終了するまでサーバの負荷を下げることはできない。
本発明は、このような背景を鑑みてなされたものであり、ビジネスプロセスの処理が開始された後にも処理の主体を変更することのできる情報処理システム、情報処理方法、およびプログラムを提供することを目的とする。
上記課題を解決するための本発明の主たる発明は、情報処理システムであって、ビジネスプロセスを構成している一連の処理単位を実行する第1の情報処理装置において直近に実行された前記処理単位を示す情報を記憶する実行状況管理部と、前記処理単位のうちの1つが指定されたポリシー情報を受け付ける引継ぎポリシー管理部と、前記実行状況管理部が記憶している前記情報が示す前記処理単位が、前記ポリシー情報に指定されている前記処理単位と一致する場合に、前記一連の処理単位のうちの未実行の前記処理単位を第2の情報処理装置に実行させる制御部と、を備えることとする。
本発明によれば、ビジネスプロセスの処理が開始された後にも処理の主体を変更することができる。
以下、本発明の一実施形態について図面を用いて説明する。本実施形態の情報処理システムは、SOA方式により設計されたビジネスプロセスを実行するものである。
本実施形態では、ビジネスプロセスの一例として、商品の販売を行うための図1に示すようなビジネスプロセス300が実行されるものとする。図1に示すように、ビジネスプロセス300は、実行要求から商品の注文データを抽出して受注処理を行なう受注ステップ330、受注した商品の在庫を検索する在庫検索ステップ331、在庫のある商品について引当を行なう引当ステップ332、引き当てた商品の発送の手配を行なう発送ステップ333、および、引当ステップ332の実行中に例外が発生した場合に例外処理を行なう引当例外処理ステップ334の5つの処理単位(ステップ)から構成される。受注ステップ330〜発送ステップ333までの各ステップは、Webサービスとして提供されるサービスを利用することにより実現されるものとする。また、引当例外処理ステップ334は、再試行処理やログの生成処理など、一般的な例外処理を行うことにより実現されるものとする。ただし上記のビジネスプロセス300は一例であり、BPELにより記述可能な範囲であればどのような処理フローが定義されていてもよい。
図2は本実施形態に係る情報処理システムの全体構成を示す図である。本実施形態の情報処理システムは、クライアント100、管理サーバ110、複数のBP実行サーバ(150および170)、およびWebサービス提供サーバ190を含んで構成される。なお、BP実行サーバは3台以上存在していてもよい。また、クライアント100およびWebサービス提供サーバ190も複数存在していてもよい。
クライアント100、管理サーバ110、BP実行サーバ150および170、並びにWebサービス提供サーバ190は、通信ネットワーク1000を介して互いに通信可能に接続されている。通信ネットワーク1000は、例えば、イーサネット(登録商標)や公衆電話回線網、フレームリレー網などにより構築される、インターネットやLAN(Local Area Network)、WAN(Wide Area Network)である。
クライアント100は、利用者が操作するコンピュータである。クライアント100には、例えば、パーソナルコンピュータやワークステーション、PDA(Personal Digital Assistant)、携帯電話などを用いることができる。クライアント100は、利用者からの操作に応じてBP実行サーバ150に実行要求を送信し、ビジネスプロセス300を実行させる。
BP実行サーバ150および170は、ビジネスプロセス300の手順(アルゴリズム)をBPELに従って記述したファイル(以下、ビジネスプロセス定義という。)に従って、ビジネスプロセスを実行する情報処理装置である。BP実行サーバ150および170には、例えば、パーソナルコンピュータやワークステーション、汎用計算機などが用いられる。
BP実行サーバ150は、クライアント100から送信されるビジネスプロセスの実行要求(リクエスト)に応じてビジネスプロセスを実行し、BP実行サーバ170は、後述するように、管理サーバ110からの指示に応じて、BP実行サーバ150の処理を引き継いで、ビジネスプロセス300の一部のステップを実行し、BP実行サーバ150の処理負荷を軽減する。
Webサービス提供サーバ190は、業務処理を行うサービスを提供する情報処理装置である。Webサービス提供サーバ190には、例えば、パーソナルコンピュータやワークステーション、汎用計算機などが用いられる。本実施形態では、Webサービス提供サーバ190は、Webサービスによりサービスを提供するものとする。すなわち、Webサービス提供サーバ190は、SOAPリクエストに応じて情報処理を行い、情報処理の結果をSOAPに従って応答する。
管理サーバ110は、BP実行サーバ150および170を管理する情報処理装置である。管理サーバ110には、例えば、パーソナルコンピュータやワークステーションなどが用いられる。
本実施形態では、BP実行サーバ150の処理負荷が高くなった場合に、BP実行サーバ150の処理の一部をBP実行サーバ170に引き継ぐことにより負荷分散を行うものである。以下、詳細について説明する。
図3は、クライアント100のハードウェア構成を示す図である。クライアント100は、ネットワークインタフェース301、CPU302、二次記憶装置303、主記憶装置304、システムバス306、入力装置307、出力装置308を備えている。
ネットワークインタフェース301は、CPU302からの指示に従って、通信ネットワーク1000を介して通信ネットワーク1000に接続されている他の通信機器との間で通信を行う。ネットワークインタフェース301は、例えば、イーサネット(登録商標)に接続するためのアダプタや、電話回線網に接続するためのモデムである。
主記憶装置304には、クライアントプログラム11などの各種のプログラムやデータが記憶される。主記憶装置304に記憶されているプログラムがCPU302により実行されることにより、後述する各種の機能が実現される。二次記憶装置303は、例えば、ハードディスクドライブやCD−ROMドライブ、フラッシュメモリなどである。
なお、図3の構成は一例であり、例えば、上記のクライアントプログラム11が二次記憶装置303に記憶されていてもよいし、外部の記憶装置に記憶されていてもよい。
図4は、クライアント100のソフトウェア構成を示す図である。クライアント100は、実行要求送信部101および実行結果受信部102を備えている。
実行要求送信部101は、ビジネスプロセス300の実行要求をBP実行サーバ150に送信する。実行結果受信部102は、BP実行サーバ150から、ビジネスプロセス300の実行結果を受信し、受信した実行結果を出力装置308に出力する。
クライアント100が備える実行要求送信部101および実行結果受信部102は、クライアント100が備えるCPU302が主記憶装置304に記憶されているクライアントプログラム11を実行することにより実現される。なお、上記の各機能部は、ハードウェアとして実現されてもよい。
図5は、BP実行サーバ150のハードウェア構成を示す図である。BP実行サーバ150は、ネットワークインタフェース301、CPU302、二次記憶装置303、主記憶装置304、およびこれらを接続するシステムバス306を備えている。
ネットワークインタフェース301は、CPU302からの指示に従って、通信ネットワーク1000を介して通信ネットワーク1000に接続されている他の通信機器との間で通信を行う。ネットワークインタフェース301は、例えば、イーサネット(登録商標)に接続するためのアダプタや、電話回線網に接続するためのモデムである。
主記憶装置304には、ビジネスプロセス実行プログラム21や運用管理エージェントプログラム22などの各種のプログラムやデータが記憶される。主記憶装置304に記憶されているプログラムがCPU302により実行されることにより、後述する各種の機能が実現される。
また、主記憶装置304には、ビジネスプロセス300の処理フローが記述されたビジネスプロセス定義153が記憶されている。図6は、ビジネスプロセス定義153の一例を示す図である。同図に示すように、ビジネスプロセス定義153に記憶されるビジネスプロセス定義は、受注ステップ330の定義1531、在庫検索ステップ331の定義1532、引当ステップ332の定義1533、発送ステップ333の定義1534、引当例外処理ステップ334の定義1535を含んでいる。
二次記憶装置303は、例えば、ハードディスクドライブやCD−ROMドライブ、フラッシュメモリなどである。
なお、図5の構成は一例であり、例えば、上記の各プログラムやビジネスプロセス定義153が二次記憶装置303に記憶されていてもよいし、外部の記憶装置に記憶されていてもよい。
図7は、BP実行サーバ150のソフトウェア構成を示す図である。BP実行サーバ150は、実行基盤151および運用管理エージェント160を備えている。
実行基盤151は、BP実行サーバ150が備えるCPU302が主記憶装置304に記憶されているビジネスプロセス実行プログラム21を実行することにより実現され、運用管理エージェント160は、CPU302が主記憶装置304に記憶されている運用管理エージェントプログラム22を実行することにより実現されるものとする。なお、実行基盤151および運用管理エージェント160は、ハードウェアとして実現されてもよい。
また、実行基盤151はビジネスプロセス制御部152および引継ぎ実行部158を備えている。
ビジネスプロセス制御部152は、クライアント100から送信されるビジネスプロセスの実行要求に応じて、ビジネスプロセス定義153に記述された処理フローに従ってビジネスプロセス300を実行する。ビジネスプロセス制御部152は、ビジネスプロセス定義読込部154、ビジネスプロセス実行部155、実行状況管理部156を備える。
ビジネスプロセス定義読込部154は、ビジネスプロセス定義153を主記憶装置304から読み込んで、ビジネスプロセス実行部155は、読み込んだビジネスプロセス定義に従ってWebサービスの呼び出しなどの処理を行う。ビジネスプロセス実行部155は、ビジネスプロセスの実行に必要な各種のデータを格納するための記憶領域をインスタンスとして生成する。インスタンスは、例えば、Java(登録商標)のオブジェクトとして実現される。
実行状況管理部156は、ビジネスプロセスの実行状況を監視し、実行状況を示す情報(以下、実行状況情報という。)を実行状況管理テーブル157に登録し、実行状況情報が既に登録されている場合には、ビジネスプロセスの実行状況に応じて実行状況情報を更新する。なお、本実施形態では、実行状況管理部156は、実行要求ごとに、インスタンス内に確保されるものとする。
図8は、実行状況管理テーブル157に記憶される実行状況情報の構成例を示す図である。同図に示すように、実行状況情報は、実行基盤識別子401,ビジネスプロセス定義名402、インスタンスID403、ステップ名404、実行状況405、およびステップ実行情報406を含んでいる。ただし図8の構成は一例であり、実行状況管理テーブル157の構成はどのような構成であっても構わない。
実行基盤識別子401は、ビジネスプロセスが実行されている実行基盤151の識別情報である。ビジネスプロセス定義名402は、ビジネスプロセス実行部155により実行されているビジネスプロセス定義を特定する名称である。インスタンスID403は、インスタンスの識別情報である。ステップ名404は、直近にインスタンスが実行したステップを示す名称である。実行状況405は、インスタンスが直近に実行したステップの進捗状況を示す情報であり、「開始」「実行中」または「完了」の何れかが設定される。ステップ実行情報406は、ステップ名404が示すステップの実行時に確保された変数名とその値とが設定される。
なお上記の構成は一例であり、ビジネスプロセス制御部152の構成はどのような構成であっても構わない。ビジネスプロセス制御部152を備えた実行基盤151は市販のミドルウェアで実現可能である。
引継ぎ実行部158は、例えば、プロセスマイグレーションやスレッドマイグレーションとして知られている方法により、BP実行サーバ間でインスタンスの処理を引継ぐように制御する。マイグレーションとは、あるサーバで実行中のプロセスやスレッドについて、サーバの主記憶装置、メモリ、CPUレジスタなどに格納されているプロセスが使用している全てのデータをプロセスやスレッドを実行中のサーバとは異なるサーバへ引継ぎ、引継ぎ先のサーバでプロセスの実行を継続する技術である。マイグレーションについては、例えば特許第3754393号に詳しい。また、サーバ間での処理の引継ぎには、例えば、クラスタシステムにおけるフェイルオーバの仕組みを用いるようにしてもよい。
なお、処理の引継ぎ方法にはどのようなものを用いてもよいが、本実施形態では、引継ぎ実行部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を介してアクセス可能な二次記憶装置にインスタンスを格納し、格納したインスタンスへのポインタのみを送信するようにしてもよい。
運用管理エージェント160は、管理サーバ110と連携して実行基盤151の運用管理を行なう。運用管理エージェント160は、定期的に、実行基盤151によるCPU302の使用率や主記憶装置304の使用量、ビジネスプロセスごとのCPU302の使用率や主記憶装置304の使用量などを測定し、上記のような測定値やビジネスプロセスごとの実行状況情報を管理サーバ110に送信する。
BP実行サーバ170の構成は、上記BP実行サーバ150の構成と同様であり、ビジネスプロセス定義読込部174、ビジネスプロセス実行部175、インスタンス実行状況管理部176、および実行状況管理テーブル177、引継ぎ実行部178、および運用管理エージェント160を備えている。これらの各機能部はBP実行サーバ150の機能と同様であるので、説明は省略する。
図9は、Webサービス提供サーバ190のハードウェア構成を示す図である。Webサービス提供サーバ190は、ネットワークインタフェース301、CPU302、二次記憶装置303、主記憶装置304、及びこれらを接続するシステムバス306を備えている。ネットワークインタフェース301は、CPU302の指示に従って、通信ネットワーク1000を介して通信ネットワーク1000に接続された他の通信機器との間で通信を行う。主記憶装置304には、Webサービス提供プログラム31、運用管理エージェントプログラム22などの各種のプログラムやデータが記憶される。CPU302は、主記憶装置304に記憶されているプログラムを実行することにより、後述する各種の機能を実現する。二次記憶装置303は、記憶領域を提供する例えばハードディスクドライブやフラッシュメモリである。
図10は、Webサービス提供サーバ190のソフトウェア構成を示す図である。Webサービス提供サーバ190は、Webサービス実行部191および運用管理エージェント160を備えている。Webサービス実行部191は、Webサービス提供サーバ190が備えるCPU302が主記憶装置304に記憶されているWebサービス提供プログラム31を実行することにより実現される。
運用管理エージェント160は、上述したBP実行サーバ150が備える運用管理エージェント160と同様の機能であり、CPU302が主記憶装置304に記憶されている運用管理エージェントプログラム22を実行することにより実現される。
なお、Webサービス実行部191および運用管理エージェント160は、ハードウェアとして実現するようにしてもよい。
Webサービス実行部191は、受注サービス提供部192、在庫検索サービス提供部193、引当サービス提供部194、および発送サービス提供部195を備えており、それぞれ、SOAPリクエストに応じて業務に関する処理を行い、その結果を応答する、一般的なWebサービスであり、市販のミドルウェアで実現可能である。Webサービス実行部191および上記各サービス提供部の機能は、一般的なWebサービスによる情報処理機能であり、詳細な説明は省略する。
なお、本実施形態では、Webサービス提供サーバ190がビジネスプロセス300に必要なすべてのサービスを提供するものとしたが、例えば、サービスごとに異なるWebサービス提供サーバ190を設置するようにしてもよい。
図11は、管理サーバ110のハードウェア構成を示す図である。管理サーバ110は、ネットワークインタフェース301、CPU302、二次記憶装置303、主記憶装置304、およびこれらを接続するシステムバス306を備えている。ネットワークインタフェース301は、CPU302の指示に従って、通信ネットワーク1000を介して通信ネットワーク1000に接続された他の通信機器との間で通信を行う。主記憶装置304には、ビジネスプロセス管理プログラム41、リソース情報管理テーブル122、引継ぎポリシー情報141、および引継ぎ関係管理テーブル147が記憶されている。CPU302は、主記憶装置304に記憶されているプログラムを実行することにより各種の機能を実現する。なお、図11の構成は一例であり、例えば、主記憶装置304に記憶されているプログラムやデータを二次記憶装置303に格納するようにしてもよいし、外部の記憶装置に格納するようにしてもよい。
リソース情報管理テーブル122には、BP実行サーバ150および170並びにWebサービス提供サーバ190において使用されているリソースに関する情報(以下、リソース情報という。)を記憶する。図12は、リソース情報管理テーブル122に記憶されるリソース情報の構成例を示す図である。リソース情報は、BP実行サーバ150、BP実行サーバ170またはWebサービス提供サーバ190の識別情報であるサーバID601に対応付けて、リソース名602および値603を含んでいる。なお、図12の構成は、一例であり、リソース情報管理テーブル122の構成は、BP実行サーバ150および170並びにWebサービス提供サーバ190におけるリソースの使用量を記憶していればどのような構成であってもよい。
図13は、引継ぎポリシー情報141の構成を示す図である。引継ぎポリシー情報141には、引継ぎ範囲決定テーブル700、および引継ぎ先決定テーブル720が含まれている。
引継ぎ範囲決定テーブル700は、引継ぎを行うか否か、引継ぎを行う場合にはビジネスプロセス300のどの範囲を引き継ぐかを決定するための情報(以下、引継ぎ範囲条件という。)を記憶する。図13に示すように、引継ぎ範囲条件は、実行基盤識別子701、ビジネスプロセス定義名702、実行状況条件703、リソース条件704、引継ぎ終了ステップ名705を含んでいる。
実行基盤識別子701は、ビジネスプロセス300を実行している実行基盤151の識別子である。ビジネスプロセス定義名702は、実行されているビジネスプロセス300の処理フローが記述されたビジネスプロセス定義の名称(以下、ビジネスプロセス定義名という。)である。
実行状況条件703は、引継ぎを行うか否かを決定するための第1の条件であり、実行状況情報に対する条件である。なお、本実施形態では、簡単のため、実行状況条件703には、ビジネスプロセス300に含まれるステップの識別子(以下、ステップ名という。)が設定されるものとし、実行状況情報に含まれるステップ名404および実行状況405を連結した文字列と、実行状況条件703とが一致するかどうかにより、第1の条件の判定が行われる。
リソース条件704は、引継ぎを行うか否かを決定するための第2の条件であり、リソース情報に対する条件である。引継ぎ終了ステップ名705は、引継ぎを行う範囲の終点となるステップ名(以下、引継ぎ終了ステップ名という。)である。
例えば、図13の例では、引継ぎ範囲決定テーブル700には2つの引継ぎ範囲条件が設定されている。本実施形態では上段に登録されている条件を使用し、下段に登録されている条件は後述する第2の実施形態で使用する。上段に登録されている引継ぎ範囲条件は、実行基盤151に配備されているビジネスプロセス定義153について、受注ステップ330を完了した際に、実行基盤151の平均CPU使用率が70%以上であれば、受注ステップ330以降、引当ステップ332の完了までを引継ぎ範囲として、ビジネスプロセスの引継ぎを行うことを示している。
引継ぎ先決定テーブル720は、引継ぎ先となるサービス実行処理部を決定するための条件(以下、引継ぎ先条件という。)を記憶する。図13に示すように、引継ぎ先条件は、ビジネスプロセス定義名721、引継ぎ先候補722、引継ぎ先決定条件723を含んでいる。引継ぎ先候補722は、実行基盤151からビジネスプロセスの引継ぎを行う実行基盤171の識別子のリストである。引継ぎ先候補722には、複数の実行基盤171が存在する場合に、引継ぎ先となる実行基盤171の候補が設定される。引継ぎ先決定条件723は、リソース情報に対する条件である。複数の候補が引継ぎ先候補722に登録されている場合、候補となる実行基盤171に対応するリソース情報が、引継ぎ先決定条件723を満たしているものに、ビジネスプロセスが引き継がれる。
図13の例では、引継ぎ先決定テーブル720には、ビジネスプロセス定義153について引継ぎ先の候補として実行基盤151および実行基盤171が登録され、これらの中から引継ぎ先を決定する条件として、各実行基盤の平均CPU使用率を使用すると設定されている。これ以外にも、例えば、リソース情報管理テーブル122に登録される平均CPU使用率以外のリソース情報を用いても良いし、ラウンドロビンといったアルゴリズムを用いても良い。
なお、引継ぎポリシー情報141を引継ぎポリシー管理部140へ登録する際には、システム管理者が主記憶装置304や二次記憶装置303へ引継ぎポリシー情報141を直接書き込んでも良いし、引継ぎポリシー管理部140が提供する引継ぎポリシー情報141を登録するための手段を利用してもよい。また、引継ぎポリシー情報141はシステム構築時にあらかじめ登録しておいてもよいし、システム稼働中に新たな情報を登録し、あるいは既存の情報を変更しても良い。
引継ぎ関係管理テーブル147は、ビジネスプロセスの引継に係る引継ぎ元と引継ぎ先とを対応付ける情報(以下、引継ぎ関係情報という。)を記憶する。図14は、引継ぎ関係管理テーブル147の構成を示す図である。同図に示すように、引継ぎ関係管理テーブル147に記憶される引継ぎ関係情報は、ビジネスプロセス定義名801、引継ぎ元実行基盤識別子802、引継ぎ元インスタンスID803、引継ぎ先実行基盤識別子804、引継ぎ先インスタンスID805、および引継ぎ終了ステップ名806を含んでいる。ビジネスプロセス定義名801は、引継ぎの対象となったビジネスプロセス300が定義されているビジネスプロセス定義の識別子である。引継ぎ元実行基盤識別子802および引継ぎ元インスタンスID803は、ビジネスプロセス300の引継ぎ元を示す情報であり、引継ぎ先実行基盤識別子804および引継ぎ先インスタンスID805は、ビジネスプロセス300の引継ぎ先を示す情報である。引継ぎ終了ステップ名806は、引継ぎが行われるビジネスプロセス300の範囲の終点となるステップを示す情報である。
なお、引継ぎ関係情報は、例えば、実行基盤151から実行基盤171にビジネスプロセス300が引き継がれた場合に、ビジネスプロセス300のレスポンスを実行基盤151から返す必要があるときに使用される。
図15は、管理サーバ110のソフトウェア構成を示す図である。同図に示すように、管理サーバ110は、エージェント管理部121、実行状況監視部130、引継ぎポリシー管理部140、引継ぎ判定部145、引継ぎ関係管理部146を備えている。管理サーバ110が備える上記の各機能部は、管理サーバ110が備えるCPU302が主記憶装置304に記憶されているビジネスプロセス管理プログラム41を実行することにより実現される。なお、上記各機能部をハードウェアとして実現するようにしてもよい。
エージェント管理部121は、BP実行サーバ150および170、並びにWebサービス提供サーバ190が備える運用管理エージェント160に対してビジネスプロセス300やWebサービスの配備、実行基盤の起動停止などの指示を出し、運用管理エージェント160が送信するリソース情報を受信して、リソース情報管理テーブル122に登録する。
なお、エージェント管理部121および運用管理エージェント160は市販の運用管理ソフトウェアで実現可能であり、その実現方式についての詳細な説明は省略する。
また、本実施形態では、引継ぎ判定部145がリソース情報管理テーブル122に格納された実行基盤ごとの平均CPU使用率をリソース情報として参照するが、参照する情報は平均CPU使用率以外にも、メモリの使用量やレスポンスタイムなどの、リソースに関する一般的な情報を用いることができる。
実行状況監視部130は、実行基盤151および171で実行されるビジネスプロセス300の実行状況を監視し、引継ぎ判定部145へ通知する。実行状況監視部130は、運用管理エージェント160から実行状況情報を受信するようにしてもよいし、実行基盤で生成されているインスタンスを監視するようにしてもよい。
引継ぎポリシー管理部140は、引継ぎポリシー情報141を管理する。引継ぎポリシー管理部140は、システム管理者から各項目の入力を受け付けて、受け付けた項目を引継ぎポリシー情報141に登録する。
引継ぎ判定部145は、実行状況監視部130が取得した実行状況情報と、リソース情報管理テーブル122に登録されているリソース情報と、引継ぎポリシー情報141とに基づいて、ビジネスプロセス300の引継ぎを行うかどうかの判定処理を行う。また引継ぎ判定部145は、引継ぎを行うと判定した場合には、ビジネスプロセス300のどのステップを引き継がせるかを決定する。なお、引継ぎ判定部145による処理の詳細については後述する。
引継ぎ関係管理部146は、ビジネスプロセス300の引継ぎ元のインスタンスと引継ぎ先のインスタンスとを対応付ける引継ぎ関係情報、引継ぎ関係管理テーブル147に登録する。
以下、本実施形態の情報処理システムにおける処理について説明する。図16は、本実施形態の情報処理システムの処理の流れを示す図である。
(ステップ201)引継ぎポリシー管理部140は、引継ぎポリシー情報141の登録処理を行う。引継ぎポリシー情報141の登録処理の詳細を図17に示す。
(ステップ1001)引継ぎポリシー管理部140は、システム管理者から、引継ぎ元となる実行基盤151の識別子、ビジネスプロセス定義の識別子、引継ぎを行うか否かを決定するための、実行状況情報に対する条件およびリソース情報に対する条件、並びに、ステップ名の入力を受け付ける。引継ぎポリシー管理部140は、受け付けた各情報を、実行基盤識別子701、ビジネスプロセス定義名702、実行状況条件703、リソース条件704、引継ぎ終了ステップ名705に設定した引継ぎ範囲条件を生成して、引継ぎ範囲決定テーブル700に登録する。
(ステップ1002)引継ぎポリシー管理部140は、システム管理者から、ビジネスプロセス定義の識別子、引継ぎ先の候補となる実行基盤151または171の識別子、およびリソース情報に対する条件の入力を受け付ける。引継ぎポリシー管理部140は、受け付けた各情報を、ビジネスプロセス定義名721、引継ぎ先候補722、引継ぎ先決定条件723に設定した引継ぎ先条件を生成して、引継ぎ先決定テーブル720に登録する。
(ステップ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へのビジネスプロセスの引継ぎを行うかどうかの判定を行う。判定処理の詳細については後述する。
ビジネスプロセスの引継ぎを行う場合には、ステップ206に進み、引継ぎを行わない場合はステップ212に進む。
(ステップ206)引継ぎ判定部145は、実行基盤151の引継ぎ実行部158に、引継ぎ先となる実行基盤171の識別情報を送信して、ビジネスプロセス300の引継ぎを行うように指示する。
(ステップ207)ビジネスプロセスの引継ぎ処理が行われる。ビジネスプロセスの引継ぎ処理の詳細については後述する。
(ステップ208)ビジネスプロセス実行部175は、引継いだビジネスプロセス300の実行を再開する。なお、本実施形態では、BP実行サーバ170において生成された引継ぎ先のインスタンスのインスタンスIDは、「171−0002」であったものとする。
(ステップ209)実行状況監視部130は、BP実行サーバ170におけるビジネスプロセスの実行状況を監視し、実行状況情報が随時引継ぎ判定部145に通知される。
(ステップ210)引継ぎ判定部145は、実行状況情報と引継ぎポリシー情報141とに基づいて、BP実行サーバ170からBP実行サーバ150へのビジネスプロセスの引継ぎを行うかどうかの判定を行う。判定処理の詳細については後述する。
ビジネスプロセス300の引継ぎを行う場合には、ステップ211に進み、引継ぎを行わない場合は、ステップ213に進む。
(ステップ211)実行基盤171から実行基盤151にビジネスプロセス300の引継ぎが行われる。ビジネスプロセス300の引継ぎ処理は、ステップ207の処理と同様である。
(ステップ212)ビジネスプロセス定義153に記述されている各ステップに関する処理が完了していれば処理を終了し、完了していなければステップ203へ戻る。
(ステップ213)ビジネスプロセス定義153に記述されている各ステップに関する処理が完了していれば処理を終了し、完了していなければステップ208へ戻る。
図18は、上述した図16のステップ205における、ビジネスプロセスの引継ぎを行うかどうかを判定する処理の詳細を説明する図である。
(ステップ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へ進んで引継ぎを行わないことを決定する。
(ステップ1106)引継ぎ判定部145は、実行状況情報の実行基盤識別子401に対応するリソース情報をリソース情報管理テーブル122から読み出し、上記ステップ1104において判定した、実行状況情報のステップ名404および実行状況405を連結した文字列と、実行状況条件703とが一致する引継ぎ範囲条件のうち、リソース情報のリソース名602および値603が、リソース条件704を満たすものが存在するかどうかを判定する。上記の引継ぎ範囲条件が存在する場合はステップ1107へ進み、存在しない場合はステップ1103へ進み、引継ぎは行わないことを決定する。
なお、リソース条件704が空である場合は、判定を行なわずにステップ1107へ進むものとする。
(ステップ1107)引継ぎ判定部145は、ビジネスプロセス300の引継ぎを行うことを決定し、後述する引継ぎ先の決定処理を行う。
上記のようにして、ビジネスプロセス300の引継ぎを行うか否かが決定される。例えば、実行基盤151に配置されているビジネスプロセス定義153に従って実行されているビジネスプロセス300に関するインスタンスのインスタンスIDが「151−0001」であり、実行状況監視部130が、受注ステップ330を示すステップ名404を含む実行状況情報を受信した場合、インスタンス「151−0001」は引継ぎ関係管理テーブル147には該当するデータは存在しない。
ここで、実行状況情報は、引継ぎ範囲決定テーブル700に登録された実行状況条件703「受注ステップ330完了」と一致する。また、リソース情報管理テーブル122には、実行基盤151の平均CPU使用率が75%であることを示すリソース情報が登録されており、リソース条件704「平均CPU使用率70%以上」を満たす。
したがって、引継ぎ判定部145は、インスタンスIDが「151−0001」であるインスタンスに係るビジネスプロセス300ついて、受注ステップ330に後続するステップで、引継ぎ終了ステップ名705が示す引当ステップ332までの範囲を引き継ぐことを決定する。
次に、引継ぎ先を決定する上記ステップ1107の詳細について説明する。図19は、引継ぎ先の決定処理の流れを示す図である。
(ステップ1201)引継ぎ判定部145は、実行状況情報のビジネスプロセス定義名402と一致する、引継ぎ先決定テーブル720の引継ぎ対象ビジネスプロセス定義名721を検索する。
(ステップ1202)該当する引継ぎ対象ビジネスプロセス定義名721が存在する場合はステップ1203へ、存在しない場合はステップ1205へ進む。
(ステップ1203)引継ぎ判定部145は、引継ぎ先候補722に登録されている実行基盤識別子を取得する。
(ステップ1204)引継ぎ判定部145は、取得した実行基盤識別子のそれぞれについて、対応するリソース情報をリソース情報管理テーブル122から取得する。引継ぎ判定部145は、実行基盤識別子のうち、リソース情報が引継ぎ先決定条件723を満たすものを選択する。
(ステップ1205)引継ぎ先が決定できないため、インスタンスの引継ぎを中止し、処理を完了する。
図13の例では、ビジネスプロセス定義153について、引継ぎ先の候補は実行基盤151および実行基盤171である。引継ぎ先決定条件723から、平均CPU使用率がより低いサービス実行処理部が引継ぎ先となる。図12の例では、実行基盤151の平均CPU使用率が75%であり、実行基盤171の平均CPU使用率は40%である。したがって、引継ぎ先としては実行基盤171が選択される。
以上から、本実施形態では、引継ぎ対象となるビジネスプロセス定義名は、「ビジネスプロセス定義153」であり、引継ぎ元となる実行基盤識別子は「実行基盤151」であり、引継ぎ対象となるインスタンスのインスタンスIDは「151−0001」であり、引継ぎ先となる実行基盤識別子は「実行基盤171」であり、引継ぎ終了ステップ名は「引当ステップ332」である。
次に、ビジネスプロセス300の引継ぎ処理を行う上記図16のステップ207の詳細について説明する。図20は、ステップ207における処理の流れを示す図である。
(ステップ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に登録する。
なお、ビジネスプロセス300の引継ぎ処理については、フェイルオーバやプロセスマイグレーションなどと同様の公知の方法を用いることができる。最終的に引継ぎ先インスタンスIDおよび引継ぎ元インスタンスIDが、引継ぎ関係管理テーブル147に登録されていれば良い。
本実施形態では、実行基盤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」である引継ぎ関係情報が格納される。
実行基盤151から実行基盤171へビジネスプロセス300が引継がれると、ビジネスプロセス定義173に従って実行基盤171においてビジネスプロセスが実行される。
なお、引継ぎ判定部145の決定を受けて、引継ぎ先の実行基盤171から引継ぎ元の実行基盤151に処理を戻す図16のステップ211も上記図20と同様の処理によりビジネスプロセス300の引継ぎを行うことができる。
次に、引継ぎ先から引継ぎ元へビジネスプロセスの処理を再度引き継ぐことを決定する処理である、図16のステップ210における処理の詳細について説明する。図21は、ステップ210における処理の流れを示す図である。
(ステップ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は、引継ぎを行うことを決定する。
以上のようにして、図16のステップ210において、ビジネスプロセス300の引継ぎを行うかどうかの判定が行われる。
例えば、管理サーバ110の実行状況監視部130が、実行基盤171から、インスタンスID「171−0002」に関するビジネスプロセス300の引当ステップ332の実行が完了した旨の実行状況情報を受信した場合、図14の例では、引継ぎ終了ステップ名806として「引当ステップ332」が設定されているので、実行基盤171から実行基盤151へのビジネスプロセスの引継ぎを行うことが決定される。
以上説明したように、本実施形態の情報処理システムでは、システム管理者が登録した引継ぎポリシー情報141に基づいて、引継ぎ判定部145が引継ぎを行うかどうか、引継ぐステップの範囲、および引継ぎ先となる実行基盤171を決定し、ビジネスプロセス300の引継ぎを行うことができる。したがって、実行基盤151の負荷が高い場合に、一部のステップを異なる実行基盤171で実行することで、負荷分散を実現し、情報処理システム全体の負荷を平滑化することができる。
また、従来は、クライアント100からの実行要求を複数のBP実行サーバに振り分けることにより負荷分散を行っており、実行要求に応じたビジネスプロセス300の処理が開始された後は、処理の終了まで同一の主体により処理が継続されていたが、本実施形態の情報処理システムによれば、ビジネスプロセス定義153の変更やビジネスプロセス実行部155の再配備といった作業をすることなく、ビジネスプロセス300を実行させる主体を、自由に定義することができる。したがって、例えば、Webサービス提供サーバ190の受注サービス提供部192に障害が発生した場合に、受注ステップ330を実行中のビジネスプロセス300では例外処理が発生し、通常の処理よりもリソースの消費量が大きい例外処理の処理負荷によって、通常の処理に影響が出るような状況であっても、例外処理のみをBP実行サーバ170に引き継がせることにより、BP実行サーバ150では通常処理のみを行うように設定することができる。これにより、通常処理にかかる処理負荷の増加を防止し、効率的な情報処理を行うことができる。すなわち、情報処理システムの運用者は、BP実行サーバ150や170の処理負荷に応じて、引継ぎポリシー情報141を更新することで、ビジネスプロセス300の処理主体の最適化を図ることができる。
なお、本実施形態では、ビジネスプロセスを実行するサーバは、BP実行サーバ150および170の2つであるものとしたが、これに限らず、3つ以上のBP実行サーバを備えるようにしてもよい。この場合、ビジネスプロセスの引継ぎ先となるBP実行サーバを、条件に応じて決定するようにする。
また、本実施形態では、システム管理者が引継ぎポリシー情報141の項目をすべて入力するものとしたが、管理サーバ110が、ビジネスプロセス定義153を解析して例外処理を行うステップを特定する定義情報解析部と、例外処理を行うステップの実行を引き継ぐように、引継ぎポリシー情報141を生成するポリシー情報生成部とを備えるようにしてもよい。一般に例外処理は通常の処理よりもリソースの消費量が多いため、例外処理を他の実行基盤171に引き継ぐようにすることで、例外処理によってリソースが消費されて通常処理に影響が出てしまうことを防ぐことができる。
また、ビジネスプロセス定義が長く複雑であるには、システム管理者がビジネスプロセス定義を解析して例外処理部分を抽出するのには手間がかかるが、管理サーバ110がビジネスプロセス定義153を解析して引継ぎポリシー情報141を生成することで、システム管理者の手間を軽減し、ユーザの利便性を向上することができる。
この場合の管理サーバ110は、新たにビジネスプロセス定義解析部148を備えるものとする。ビジネスプロセス定義解析部148は、ビジネスプロセス定義を解析し、例外処理を行なうステップのみを抽出して、引継ぎポリシー情報141の引継ぎ範囲決定テーブル700へ、実行状況条件703および引継ぎ終了ステップ名705を登録する。
ビジネスプロセス定義解析部148が引継ぎポリシー情報141を登録する場合の、図16のステップ201における処理を図22に示す。
(ステップ1401)ビジネスプロセス定義解析部148は、システム管理者からビジネスプロセス定義153の入力を受け付ける。この際、ビジネスプロセス定義解析部148は、ビジネスプロセス定義153そのものの入力を受け付けるようにしてもよいし、ビジネスプロセス定義153が格納されている記憶媒体へのポインタの入力を受け付け、受け付けたポインタが示すビジネスプロセス定義153を読み出すようにしてもよい。
(ステップ1402)ビジネスプロセス定義解析部148は、ビジネスプロセス定義153を解析し、例外処理を行う範囲を抽出する。
(ステップ1403)ビジネスプロセス定義解析部148は、抽出した範囲に含まれる最初のステップを示すステップ名と「開始」を結合した文字列を、実行状況条件703とする。
(ステップ1404)ビジネスプロセス定義解析部148は、抽出した範囲に含まれる最後のステップを示すステップ名を、引継ぎ終了ステップ名705とする。
(ステップ1405)ビジネスプロセス定義解析部148は、上記の実行状況条件703および引継ぎ終了ステップ名705を含む引継ぎ範囲条件を生成して、引継ぎ範囲決定テーブル700に登録する。
次のステップ1002は図16と同様であり、引継ぎ関係管理部146は、システム管理者から受け付けた引継ぎ先条件を引継ぎ先決定テーブル720に登録する。
以上のようにして、ビジネスプロセス定義解析部148は、ビジネスプロセス定義153に基づいて引継ぎ範囲条件を登録する。
図6に示すビジネスプロセス定義153がビジネスプロセス定義解析部148に与えられた場合、ビジネスプロセス定義解析部148は、ビジネスプロセス定義153を解析し、例外処理である引当例外処理ステップ334を抽出する。ビジネスプロセス定義解析部148は引継ぎポリシー情報141の引継ぎ範囲決定テーブル700に対して、ビジネスプロセス定義名702に解析中のビジネスプロセス定義153の名称を設定し、実行状況条件に抽出したステップを開始することを示す「引当例外処理ステップ334開始」を設定し、引継ぎ終了ステップ名705に、「引当例外処理ステップ334」を設定した引継ぎ範囲条件を登録する。
以上により、ビジネスプロセス定義解析部148は、例外処理について自動的に引継ぎ範囲条件を登録することができる。これにより、例外処理が多発した場合には、例外処理を実行基盤171に引き継がせ、実行基盤151は通常処理のみを行うことができるので、実行基盤151のパフォーマンスを守ることができる。
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
ビジネスプロセス300の構成を説明する図である。 本実施形態に係る情報処理システムの全体構成を示す図である。 クライアント100のハードウェア構成を示す図である。 クライアント100のソフトウェア構成を示す図である。 BP実行サーバ150のハードウェア構成を示す図である。 ビジネスプロセス定義153の一例を示す図である。 BP実行サーバ150のソフトウェア構成を示す図である。 実行状況情報の構成例を示す図である。 Webサービス提供サーバ190のハードウェア構成を示す図である。 Webサービス提供サーバ190のソフトウェア構成を示す図である。 管理サーバ110のハードウェア構成を示す図である。 リソース情報の構成例を示す図である。 引継ぎポリシー情報141の構成を示す図である。 引継ぎ関係管理テーブル147の構成を示す図である。 管理サーバ110のソフトウェア構成を示す図である。 本実施形態の情報処理システムの処理の流れを示す図である。 引継ぎポリシー情報141の登録処理の詳細を示す図である。 ステップ205の処理の詳細を説明する図である。 引継ぎ先の決定処理の流れを示す図である。 ステップ207における処理の流れを示す図である。 ステップ210における処理の流れを示す図である。 ビジネスプロセス定義解析部148が引継ぎポリシー情報141を登録する場合の、図16のステップ201における処理を示す図である。
符号の説明
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 通信ネットワーク

Claims (10)

  1. ビジネスプロセスを構成している一連の処理単位を実行する第1の情報処理装置において実行が完了している前記処理単位のうち最後に実行された前記処理単位を示す情報を記憶する実行状況管理部と、
    前記処理単位のうちの1つが指定されたポリシー情報を受け付ける引継ぎポリシー管理部と、
    前記実行状況管理部が記憶している前記情報が示す前記処理単位が、前記ポリシー情報に指定されている前記処理単位と一致する場合に、前記一連の処理単位のうちの未実行の前記処理単位を第2の情報処理装置に実行させる制御部と、
    を備えることを特徴とする情報処理システム。
  2. 請求項1に記載の情報処理システムであって、
    前記ポリシー情報には、前記未実行の処理単位を特定する処理単位特定情報が含まれており、
    前記制御部は、前記処理単位特定情報により特定される前記処理単位を前記第2の情報処理装置に実行させること、
    を特徴とする情報処理システム。
  3. 請求項2に記載の情報処理システムであって、
    前記処理単位を実行するアルゴリズムが記述された定義情報を記憶する定義情報記憶部と、
    前記定義情報を解析して、例外処理を行う前記処理単位を特定する定義情報解析部と、
    特定した前記処理単位を示す前記処理単位特定情報を含む前記ポリシー情報を生成するポリシー情報生成部と、
    を備えることを特徴とする情報処理システム。
  4. 請求項1に記載の情報処理システムであって、
    前記第1の情報処理装置において使用されている資源量を測定する資源量測定部と、
    前記資源量に対する条件を記憶する条件記憶部と、
    を備え、
    前記制御部は、前記実行状況管理部が記憶している前記情報が示す前記処理単位が、前記ポリシー情報に指定されている前記処理単位と一致し、かつ、前記資源量が前記条件を満たす場合に、前記未実行の処理単位を前記第2の情報処理装置に実行させること、
    を特徴とする情報処理システム。
  5. 請求項4に記載の情報処理システムであって、
    前記第1の情報処理装置はCPUおよびメモリを有し、
    前記資源量は、前記第1の情報処理装置が使用している前記メモリの使用量および前記第1の情報処理装置における前記CPUの使用率の少なくともいずれかであること、
    を特徴とする情報処理システム。
  6. 請求項1に記載の情報処理システムであって、
    複数の前記第2の情報処理装置が存在し、
    前記第2の情報処理装置ごとに、前記第1の情報処理装置による前記処理単位の実行結果に対して設定された条件を記憶する実行状況条件記憶部と、
    前記直近に実行された前記処理単位の実行結果を記憶する実行結果記憶部と、
    を備え、
    前記制御部は、前記実行結果が前記条件を満たす前記第2の情報処理装置に前記未実行の処理単位を実行させること、
    を特徴とする情報処理システム
  7. 請求項1に記載の情報処理システムであって、
    複数の前記第2の情報処理装置が存在し、
    複数の前記第2の情報処理装置のそれぞれについて、前記第2の情報処理装置が使用している資源量を測定する資源量測定部と、
    前記未実行の処理単位を実行させる前記第2の情報処理装置を決定するための前記資源量に対する条件を記憶する実行先条件記憶部と、
    前記第2の情報処理装置のうち、測定した前記資源量が前記条件を満たすものを特定する実行先特定部と、
    を備え、
    前記制御部は、前記実行先特定部が特定した前記第2の情報処理装置に前記未実行の前記処理単位を実行させること、
    を特徴とする情報処理システム
  8. 請求項1に記載の情報処理システムであって、
    前記実行状況管理部は、前記第1の情報処理装置において直近に実行された前記処理単位を示す第1の情報と、前記第2の情報処理装置において直近に実行された前記処理単位を示す第2の情報とを記憶し、
    前記ポリシー情報には、第1および第2の前記処理単位が指定され、
    前記制御部は、前記第1の情報が示す前記処理単位が、前記ポリシー情報に指定されている前記第1の処理単位と一致する場合、前記第1の処理単位に後続する前記処理単位を前記第2の情報処理装置に実行させ、
    前記制御部は、前記第2の情報が示す前記処理単位が、前記ポリシー情報に指定されている前記第2の処理単位と一致する場合、前記第2の処理単位に後続する前記処理単位を前記第1の情報処理装置に実行させること、
    を特徴とする情報処理システム。
  9. 第1および第2の情報処理装置と接続される情報処理装置が、
    ビジネスプロセスを構成している一連の処理単位を実行する第1の情報処理装置において直近に実行された前記処理単位を示す情報を記憶し、
    前記処理単位のうちの1つが指定されたポリシー情報を受け付け、
    記憶している前記情報が示す前記処理単位が、前記ポリシー情報に指定されている前記処理単位と一致する場合に、前記一連の処理単位のうちの未実行の前記処理単位を第2の情報処理装置に実行させること、
    を特徴とする情報処理方法。
  10. 第1および第2の情報処理装置と接続される情報処理装置に、
    ビジネスプロセスを構成している一連の処理単位を実行する第1の情報処理装置において直近に実行された前記処理単位を示す情報を記憶するステップと、
    前記処理単位のうちの1つが指定されたポリシー情報を受け付けるステップと、
    記憶している前記情報が示す前記処理単位が、前記ポリシー情報に指定されている前記処理単位と一致する場合に、前記一連の処理単位のうちの未実行の前記処理単位を第2の情報処理装置に実行させるステップと、
    を実行させるためのプログラム。
JP2007159308A 2007-06-15 2007-06-15 情報処理システム、情報処理方法、およびプログラム Expired - Fee Related JP4887223B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007159308A JP4887223B2 (ja) 2007-06-15 2007-06-15 情報処理システム、情報処理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007159308A JP4887223B2 (ja) 2007-06-15 2007-06-15 情報処理システム、情報処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2008310687A JP2008310687A (ja) 2008-12-25
JP4887223B2 true JP4887223B2 (ja) 2012-02-29

Family

ID=40238212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007159308A Expired - Fee Related JP4887223B2 (ja) 2007-06-15 2007-06-15 情報処理システム、情報処理方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP4887223B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017102777A (ja) 2015-12-03 2017-06-08 富士通株式会社 負荷分散処理サーバ、負荷分散処理方法、及び、システム
US10782950B2 (en) * 2018-05-01 2020-09-22 Amazon Technologies, Inc. Function portability for services hubs using a function checkpoint

Also Published As

Publication number Publication date
JP2008310687A (ja) 2008-12-25

Similar Documents

Publication Publication Date Title
US10542079B2 (en) Automated profiling of resource usage
US10891168B2 (en) Automatically scaling up physical resources in a computing infrastructure
US20190377604A1 (en) Scalable function as a service platform
JP6658882B2 (ja) 制御装置、vnf配置先選択方法及びプログラム
US9135048B2 (en) Automated profiling of resource usage
US8117641B2 (en) Control device and control method for information system
US8332873B2 (en) Dynamic application instance placement in data center environments
US8826290B2 (en) Method of monitoring performance of virtual computer and apparatus using the method
US8316376B2 (en) Optimizing workflow execution against a heterogeneous grid computing topology
US7730488B2 (en) Computer resource management method in distributed processing system
CN109814998A (zh) 一种多进程任务调度的方法及装置
US9244737B2 (en) Data transfer control method of parallel distributed processing system, parallel distributed processing system, and recording medium
US11463509B2 (en) Rolling capacity upgrade control
US20220329651A1 (en) Apparatus for container orchestration in geographically distributed multi-cloud environment and method using the same
US11966768B2 (en) Apparatus and method for multi-cloud service platform
JP5609730B2 (ja) 情報処理プログラム及び方法、転送処理装置
WO2021143590A1 (zh) 一种分布式容器镜像构建调度系统及方法
US20100251248A1 (en) Job processing method, computer-readable recording medium having stored job processing program and job processing system
US10606650B2 (en) Methods and nodes for scheduling data processing
JP2019061359A (ja) プログラム及び情報処理装置
JP2017091330A (ja) 計算機システム及び計算機システムのタスク実行方法
JP4887223B2 (ja) 情報処理システム、情報処理方法、およびプログラム
US20170329642A1 (en) Many-core system and operating method thereof
US20220229689A1 (en) Virtualization platform control device, virtualization platform control method, and virtualization platform control program
US8984522B2 (en) Relay apparatus and relay management apparatus

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