(57)【要約】【課題】ビジネスプロセスの処理が開始された後にも処理の主体を変更することができるようにする。【解決手段】情報処理システムが、ビジネスプロセスを構成している一連の処理単位を実行する第１の情報処理装置において直近に実行された処理単位を示す情報を記憶する実行状況管理部と、処理単位のうちの１つが指定されたポリシー情報を受け付ける引継ぎポリシー管理部と、直近実行処理単位記憶部が記憶している情報が示す処理単位が、ポリシー情報に指定されている処理単位と一致する場合に、一連の処理のうちの未実行の処理単位を第２の情報処理装置に実行させる制御部と、を備える。【選択図】図１
2008310687.tif 000002
【特許請求の範囲】
【請求項１】
ビジネスプロセスを構成している一連の処理単位を実行する第１の情報処理装置において実行が完了している前記処理単位のうち最後に実行された前記処理単位を示す情報を記憶する実行状況管理部と、
前記処理単位のうちの１つが指定されたポリシー情報を受け付ける引継ぎポリシー管理部と、
前記実行状況管理部が記憶している前記情報が示す前記処理単位が、前記ポリシー情報に指定されている前記処理単位と一致する場合に、前記一連の処理のうちの未実行の前記処理単位を第２の情報処理装置に実行させる制御部と、
を備えることを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
前記ポリシー情報には、前記未実行の処理単位を特定する処理単位特定情報が含まれており、
前記制御部は、前記処理単位特定情報により特定される前記処理単位を前記第２の情報処理装置に実行させること、
を特徴とする情報処理システム。
【請求項３】
請求項２に記載の情報処理システムであって、
前記処理単位を実行するアルゴリズムが記述された定義情報を記憶する定義情報記憶部と、
前記定義情報を解析して、例外処理を行う前記処理単位を特定する定義情報解析部と、
特定した前記処理単位を示す前記処理単位特定情報を含む前記ポリシー情報を生成するポリシー情報生成部と、
を備えることを特徴とする情報処理システム。
【請求項４】
請求項１に記載の情報処理システムであって、
前記第１の情報処理装置において使用されている資源量を測定する資源量測定部と、
前記資源量に対する条件を記憶する条件記憶部と、
を備え、
前記制御部は、前記直近実行処理単位記憶部が記憶している前記情報が示す前記処理単位が、前記ポリシー情報に指定されている前記処理単位と一致し、かつ、前記資源量が前記条件を満たす場合に、前記未実行の処理単位を前記第２の情報処理装置に実行させること、
を特徴とする情報処理システム。
【請求項５】
請求項４に記載の情報処理システムであって、
前記第１の情報処理装置はＣＰＵおよびメモリを有し、
前記資源量は、前記第１の情報処理装置が使用している前記メモリの使用量および前記第１の情報処理装置における前記ＣＰＵの使用率の少なくともいずれかであること、
を特徴とする情報処理システム。
【請求項６】
請求項１に記載の情報処理システムであって、
複数の前記第２の情報処理装置が存在し、
前記第２の情報処理装置ごとに、前記第１の情報処理装置による前記処理単位の実行結果に対して設定された条件を記憶する実行状況条件記憶部と、
前記直近に実行された前記処理単位の実行結果を記憶する実行結果記憶部と、
を備え、
前記制御部は、前記実行結果が前記条件を満たす前記第２の情報処理装置に前記未実行の処理単位を実行させること、
を特徴とする情報処理システム
【請求項７】
請求項１に記載の情報処理システムであって、
複数の前記第２の情報処理装置が存在し、
複数の前記第２の情報処理装置のそれぞれについて、前記第２の情報処理装置が使用している資源量を測定する資源量測定部と、
前記未実行の処理単位を実行させる前記第２の情報処理装置を決定するための前記資源量に対する条件を記憶する実行先条件記憶部と、
前記第２の情報処理装置のうち、測定した前記資源量が前記条件を満たすものを特定する実行先特定部と、
を備え、
前記制御部は、前記実行先特定部が特定した前記第２の情報処理装置に前記未実行の前記処理単位を実行させること、
を特徴とする情報処理システム
【請求項８】
請求項１に記載の情報処理システムであって、
前記直近実行処理単位記憶部は、前記第１の情報処理装置において直近に実行された前記処理単位を示す第１の情報と、前記第２の情報処理装置において直近に実行された前記処理単位を示す第２の情報とを記憶し、
前記ポリシー情報には、第１および第２の前記処理単位が指定され、
前記制御部は、前記第１の情報が示す前記処理単位が、前記ポリシー情報に指定されている前記第１の処理単位と一致する場合、前記第１の処理単位に後続する前記処理単位を前記第２の情報処理装置に実行させ、
前記制御部は、前記第２の情報が示す前記処理単位が、前記ポリシー情報に指定されている前記第２の処理単位と一致する場合、前記第２の処理単位に後続する前記処理単位を前記第１の情報処理装置に実行させること、
を特徴とする情報処理システム。
【請求項９】
第１および第２の情報処理装置と接続される情報処理装置が、
ビジネスプロセスを構成している一連の処理単位を実行する第１の情報処理装置において直近に実行された前記処理単位を示す情報を記憶し、
前記処理単位のうちの１つが指定されたポリシー情報を受け付け、
記憶している前記情報が示す前記処理単位が、前記ポリシー情報に指定されている前記処理単位と一致する場合に、前記一連の処理のうちの未実行の前記処理単位を第２の情報処理装置に実行させること、
を特徴とする情報処理方法。
【請求項１０】
第１および第２の情報処理装置と接続される情報処理装置に、
ビジネスプロセスを構成している一連の処理単位を実行する第１の情報処理装置において直近に実行された前記処理単位を示す情報を記憶するステップと、
前記処理単位のうちの１つが指定されたポリシー情報を受け付けるステップと、
記憶している前記情報が示す前記処理単位が、前記ポリシー情報に指定されている前記処理単位と一致する場合に、前記一連の処理のうちの未実行の前記処理単位を第２の情報処理装置に実行させるステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、ビジネスサイクルの短期化やビジネス環境の急激な変化に対応するため、柔軟かつ迅速に変化に対応できる情報システムが求められている。この要求について、サービス指向アーキテクチャ（Service Oriented Architecture；ＳＯＡ）という情報システムの設計手法が注目されている。
【０００３】
ＳＯＡとは、サービスと呼ばれる業務処理を行うソフトウェアコンポーネントを、ビジネスプロセスと呼ばれる業務フローから適切な順序で呼び出すことで新たな情報システムを構築するという考え方である。ＳＯＡに基づいて情報システムを設計することにより、既存のサービスを再利用し易くなり、低コストかつ迅速な情報システムの開発が可能となる。加えて複数のサービスを組み合わせて新たな情報システムを構築するためサービスの実装の変更や呼び出し順序の変更が容易となり、情報システムの柔軟性を確保することができる。サービスは、例えば、ＳＯＡＰによりアクセス可能なＷｅｂサービスにより実現される。
【０００４】
ビジネスプロセスは、ＢＰＥＬ（Business Process Execution Language）と呼ばれるフロー記述言語により記述される。ＢＰＥＬにより記述されたビジネスプロセスはビジネスプロセス定義と呼ばれる。ビジネスプロセス定義がアプリケーションサーバなどの実行基盤に配備されると、実行基盤は利用者からのリクエストを受け付けて、ビジネスプロセス定義に従ったサービスを呼び出してビジネスプロセスを実行する。
【０００５】
このような情報システムにおいて、より効率的にビジネスプロセスを行うべく負荷分散が行われている。例えば、サーバの負荷に応じてサーバへ振り分けるリクエストの数を制御することにより負荷分散を行う技術が知られている（特許文献１参照）。
【特許文献１】特開２００５−９２８６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ＳＯＡに基づく情報システムの実行基盤では、リクエストに応じて、ビジネスプロセスが実行されるため、複数のビジネスプロセスが同時に実行される。したがって、同一のサービスが複数のビジネスプロセスから同時に呼び出されることがある。複数のビジネスプロセスから同時に呼び出されているサービスに障害が発生すると、そのサービスを呼び出している複数のビジネスプロセスにおいて同時に例外処理が発生する。例外処理は通常処理よりもリソースの消費量が多いため、例外処理が同時多発することにより、例外処理のためにリソースが大量に消費され、通常処理を行なっている他のビジネスプロセスがリソース不足に陥る可能性がある。
【０００７】
また、利用者からのリクエストに含まれるパラメータに応じて処理のループ回数が決まるようなビジネスプロセス定義がある場合には、パラメータによっては、あるビジネスプロセスにおいて大量のループが行われ、そのビジネスプロセスの処理に通常よりもリソースが必要となるために、他のビジネスプロセスの処理に遅延が発生することがある。
【０００８】
このように、リクエストに応じたビジネスプロセスの処理が開始した後にサーバが高負荷になってしまうことがある。
【０００９】
しかしながら、特許文献１に記載の技術では、高負荷なサーバに対してリクエストを割り当てないようにして、それ以上の負荷の増大を防ぐことができるものの、サーバにおいてリクエストに応じた処理が開始してしまった後は、その処理が終了するまでサーバの負荷を下げることはできない。
【００１０】
本発明は、このような背景を鑑みてなされたものであり、ビジネスプロセスの処理が開始された後にも処理の主体を変更することのできる情報処理システム、情報処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するための本発明の主たる発明は、情報処理システムであって、ビジネスプロセスを構成している一連の処理単位を実行する第１の情報処理装置において直近に実行された前記処理単位を示す情報を記憶する直近実行処理単位記憶部と、前記処理単位のうちの１つが指定されたポリシー情報を受け付ける引継ぎポリシー管理部と、前記直近実行処理単位記憶部が記憶している前記情報が示す前記処理単位が、前記ポリシー情報に指定されている前記処理単位と一致する場合に、前記一連の処理のうちの未実行の前記処理単位を第２の情報処理装置に実行させる制御部と、を備えることとする。
【発明の効果】
【００１２】
本発明によれば、ビジネスプロセスの処理が開始された後にも処理の主体を変更することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施形態について図面を用いて説明する。本実施形態の情報処理システムは、ＳＯＡ方式により設計されたビジネスプロセスを実行するものである。
【００１４】
本実施形態では、ビジネスプロセスの一例として、商品の販売を行うための図１に示すようなビジネスプロセス３００が実行されるものとする。図１に示すように、ビジネスプロセス３００は、実行要求から商品の注文データを抽出して受注処理を行なう受注ステップ３３０、受注した商品の在庫を検索する在庫検索ステップ３３１、在庫のある商品について引当を行なう引当ステップ３３２、引き当てた商品の発送の手配を行なう発送ステップ３３３、および、引当ステップ３３２の実行中に例外が発生した場合に例外処理を行なう引当例外処理ステップ３３４の５つの処理単位（ステップ）から構成される。受注ステップ３３０〜発送ステップ３３３までの各ステップは、Ｗｅｂサービスとして提供されるサービスを利用することにより実現されるものとする。また、引当例外処理ステップ３３４は、再試行処理やログの生成処理など、一般的な例外処理を行うことにより実現されるものとする。ただし上記のビジネスプロセス３００は一例であり、ＢＰＥＬにより記述可能な範囲であればどのような処理フローが定義されていてもよい。
【００１５】
図２は本実施形態に係る情報処理システムの全体構成を示す図である。本実施形態の情報処理システムは、クライアント１００、管理サーバ１１０、複数のＢＰ実行サーバ（１５０および１７０）、およびＷｅｂサービス提供サーバ１９０を含んで構成される。なお、ＢＰ実行サーバは３台以上存在していてもよい。また、クライアント１００およびＷｅｂサービス提供サーバ１９０も複数存在していてもよい。
【００１６】
クライアント１００、管理サーバ１１０、ＢＰ実行サーバ１５０および１７０、並びにＷｅｂサービス提供サーバ１９０は、通信ネットワーク１０００を介して互いに通信可能に接続されている。通信ネットワーク１０００は、例えば、イーサネット（登録商標）や公衆電話回線網、フレームリレー網などにより構築される、インターネットやＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）である。
【００１７】
クライアント１００は、利用者が操作するコンピュータである。クライアント１００には、例えば、パーソナルコンピュータやワークステーション、ＰＤＡ（Personal Digital Assistant）、携帯電話などを用いることができる。クライアント１００は、利用者からの操作に応じてＢＰ実行サーバ１５０に実行要求を送信し、ビジネスプロセス３００を実行させる。
【００１８】
ＢＰ実行サーバ１５０および１７０は、ビジネスプロセス３００の手順（アルゴリズム）をＢＰＥＬに従って記述したファイル（以下、ビジネスプロセス定義という。）に従って、ビジネスプロセスを実行する情報処理装置である。ＢＰ実行サーバ１５０および１７０には、例えば、パーソナルコンピュータやワークステーション、汎用計算機などが用いられる。
【００１９】
ＢＰ実行サーバ１５０は、クライアント１００から送信されるビジネスプロセスの実行要求（リクエスト）に応じてビジネスプロセスを実行し、ＢＰ実行サーバ１７０は、後述するように、管理サーバ１１０からの指示に応じて、ＢＰ実行サーバ１５０の処理を引き継いで、ビジネスプロセス３００の一部のステップを実行し、ＢＰ実行サーバ１５０の処理負荷を軽減する。
【００２０】
Ｗｅｂサービス提供サーバ１９０は、業務処理を行うサービスを提供する情報処理装置である。Ｗｅｂサービス提供サーバ１９０には、例えば、パーソナルコンピュータやワークステーション、汎用計算機などが用いられる。本実施形態では、Ｗｅｂサービス提供サーバ１９０は、Ｗｅｂサービスによりサービスを提供するものとする。すなわち、Ｗｅｂサービス提供サーバ１９０は、ＳＯＡＰリクエストに応じて情報処理を行い、情報処理の結果をＳＯＡＰに従って応答する。
【００２１】
管理サーバ１１０は、ＢＰ実行サーバ１５０および１７０を管理する情報処理装置である。管理サーバ１１０には、例えば、パーソナルコンピュータやワークステーションなどが用いられる。
【００２２】
本実施形態では、ＢＰ実行サーバ１５０の処理負荷が高くなった場合に、ＢＰ実行サーバ１５０の処理の一部をＢＰ実行サーバ１７０に引き継ぐことにより負荷分散を行うものである。以下、詳細について説明する。
【００２３】
図３は、クライアント１００のハードウェア構成を示す図である。クライアント１００は、ネットワークインタフェース３０１、ＣＰＵ３０２、二次記憶装置３０３、主記憶装置３０４、システムバス３０６、入力装置３０７、出力装置３０８を備えている。
【００２４】
ネットワークインタフェース３０１は、ＣＰＵ３０２からの指示に従って、通信ネットワーク１０００を介して通信ネットワーク１０００に接続されている他の通信機器との間で通信を行う。ネットワークインタフェース３０１は、例えば、イーサネット（登録商標）に接続するためのアダプタや、電話回線網に接続するためのモデムである。
【００２５】
主記憶装置３０４には、クライアントプログラム１１などの各種のプログラムやデータが記憶される。主記憶装置３０４に記憶されているプログラムがＣＰＵ３０２により実行されることにより、後述する各種の機能が実現される。二次記憶装置３０３は、例えば、ハードディスクドライブやＣＤ−ＲＯＭドライブ、フラッシュメモリなどである。
【００２６】
なお、図３の構成は一例であり、例えば、上記のクライアントプログラム１１が二次記憶装置３０３に記憶されていてもよいし、外部の記憶装置に記憶されていてもよい。
【００２７】
図４は、クライアント１００のソフトウェア構成を示す図である。クライアント１００は、実行要求送信部１０１および実行結果受信部１０２を備えている。
【００２８】
実行要求送信部１０１は、ビジネスプロセス３００の実行要求をＢＰ実行サーバ１５０に送信する。実行結果受信部１０２は、ＢＰ実行サーバ１５０から、ビジネスプロセス３００の実行結果を受信し、受信した実行結果を出力装置３０８に出力する。
【００２９】
クライアント１００が備える実行要求送信部１０１および実行結果受信部１０２は、クライアント１００が備えるＣＰＵ３０２が主記憶装置３０４に記憶されているクライアントプログラム１１を実行することにより実現される。なお、上記の各機能部は、ハードウェアとして実現されてもよい。
【００３０】
図５は、ＢＰ実行サーバ１５０のハードウェア構成を示す図である。ＢＰ実行サーバ１５０は、ネットワークインタフェース３０１、ＣＰＵ３０２、二次記憶装置３０３、主記憶装置３０４、およびこれらを接続するシステムバス３０６を備えている。
【００３１】
ネットワークインタフェース３０１は、ＣＰＵ３０２からの指示に従って、通信ネットワーク１０００を介して通信ネットワーク１０００に接続されている他の通信機器との間で通信を行う。ネットワークインタフェース３０１は、例えば、イーサネット（登録商標）に接続するためのアダプタや、電話回線網に接続するためのモデムである。
【００３２】
主記憶装置３０４には、ビジネスプロセス実行プログラム２１や運用管理エージェントプログラム２２などの各種のプログラムやデータが記憶される。主記憶装置３０４に記憶されているプログラムがＣＰＵ３０２により実行されることにより、後述する各種の機能が実現される。
【００３３】
また、主記憶装置３０４には、ビジネスプロセス３００の処理フローが記述されたビジネスプロセス定義１５３が記憶されている。図６は、ビジネスプロセス定義１５３の一例を示す図である。同図に示すように、ビジネスプロセス定義１５３に記憶されるビジネスプロセス定義は、受注ステップ３３０の定義１５３１、在庫検索ステップ３３１の定義１５３２、引当ステップ３３２の定義１５３３、発送ステップ３３３の定義１５３４、引当例外処理ステップ３３４の定義１５３５を含んでいる。  
二次記憶装置３０３は、例えば、ハードディスクドライブやＣＤ−ＲＯＭドライブ、フラッシュメモリなどである。
【００３４】
なお、図５の構成は一例であり、例えば、上記の各プログラムやビジネスプロセス定義１５３が二次記憶装置３０３に記憶されていてもよいし、外部の記憶装置に記憶されていてもよい。
【００３５】
図７は、ＢＰ実行サーバ１５０のソフトウェア構成を示す図である。ＢＰ実行サーバ１５０は、実行基盤１５１および運用管理エージェント１６０を備えている。  
実行基盤１５１は、ＢＰ実行サーバ１５０が備えるＣＰＵ３０２が主記憶装置３０４に記憶されているビジネスプロセス実行プログラム２１を実行することにより実現され、運用管理エージェント１６０は、ＣＰＵ３０２が主記憶装置３０４に記憶されている運用管理エージェントプログラム２２を実行することにより実現されるものとする。なお、実行基盤１５１および運用管理エージェント１６０は、ハードウェアとして実現されてもよい。  
また、実行基盤１５１はビジネスプロセス制御部１５２および引継ぎ実行部１５８を備えている。
【００３６】
ビジネスプロセス制御部１５２は、クライアント１００から送信されるビジネスプロセスの実行要求に応じて、ビジネスプロセス定義１５３に記述された処理フローに従ってビジネスプロセス３００を実行する。ビジネスプロセス制御部１５２は、ビジネスプロセス定義読込部１５４、ビジネスプロセス実行部１５５、実行状況管理部１５６を備える。
【００３７】
ビジネスプロセス定義読込部１５４は、ビジネスプロセス定義１５３を主記憶装置３０４から読み込んで、ビジネスプロセス実行部１５５は、読み込んだビジネスプロセス定義に従ってＷｅｂサービスの呼び出しなどの処理を行う。ビジネスプロセス実行部１５５は、ビジネスプロセスの実行に必要な各種のデータを格納するための記憶領域をインスタンスとして生成する。インスタンスは、例えば、Ｊａｖａ（登録商標）のオブジェクトとして実現される。
【００３８】
実行状況管理部１５６は、ビジネスプロセスの実行状況を監視し、実行状況を示す情報（以下、実行状況情報という。）を実行状況管理テーブル１５７に登録し、実行状況情報が既に登録されている場合には、ビジネスプロセスの実行状況に応じて実行状況情報を更新する。なお、本実施形態では、実行状況管理部１５６は、実行要求ごとに、インスタンス内に確保されるものとする。
【００３９】
図８は、実行状況管理テーブル１５７に記憶される実行状況情報の構成例を示す図である。同図に示すように、実行状況情報は、実行基盤識別子４０１，ビジネスプロセス定義名４０２、インスタンスＩＤ４０３、ステップ名４０４、実行状況４０５、およびステップ実行情報４０６を含んでいる。ただし図８の構成は一例であり、実行状況管理テーブル１５７の構成はどのような構成であっても構わない。
【００４０】
実行基盤識別子４０１は、ビジネスプロセスが実行されている実行基盤１５１の識別情報である。ビジネスプロセス定義名４０２は、ビジネスプロセス実行部１５５により実行されているビジネスプロセス定義を特定する名称である。インスタンスＩＤ４０３は、インスタンスの識別情報である。ステップ名４０４は、直近にインスタンスが実行したステップを示す名称である。実行状況４０５は、インスタンスが直近に実行したステップの進捗状況を示す情報であり、「開始」「実行中」または「完了」の何れかが設定される。ステップ実行情報４０６は、ステップ名４０４が示すステップの実行時に確保された変数名とその値とが設定される。
【００４１】
なお上記の構成は一例であり、ビジネスプロセス制御部１５２の構成はどのような構成であっても構わない。ビジネスプロセス制御部１５２を備えた実行基盤１５１は市販のミドルウェアで実現可能である。
【００４２】
引継ぎ実行部１５８は、例えば、プロセスマイグレーションやスレッドマイグレーションとして知られている方法により、ＢＰ実行サーバ間でインスタンスの処理を引継ぐように制御する。マイグレーションとは、あるサーバで実行中のプロセスやスレッドについて、サーバの主記憶装置、メモリ、ＣＰＵレジスタなどに格納されているプロセスが使用している全てのデータをプロセスやスレッドを実行中のサーバとは異なるサーバへ引継ぎ、引継ぎ先のサーバでプロセスの実行を継続する技術である。マイグレーションについては、例えば特許第３７５４３９３号に詳しい。また、サーバ間での処理の引継ぎには、例えば、クラスタシステムにおけるフェイルオーバの仕組みを用いるようにしてもよい。
【００４３】
なお、処理の引継ぎ方法にはどのようなものを用いてもよいが、本実施形態では、引継ぎ実行部１５８は、次のような処理を行なうものとする。ＢＰ実行サーバ１５０からＢＰ実行サーバ１７０に処理を引き継ぐ場合、まずＢＰ実行サーバ１５０の引継ぎ実行部１５８は、ビジネスプロセス実行部１５５によるビジネスプロセスの実行を停止し、停止したビジネスプロセスに係るインスタンスを、ＢＰ実行サーバ１７０に送信する。ＢＰ実行サーバ１７０のビジネスプロセス実行部１７５は、インスタンスを生成し、生成したインスタンスに、ＢＰ実行サーバ１５０から受信したインスタンスの内容を設定する。これにより、ＢＰ実行サーバ１７０のインスタンスは、ＢＰ実行サーバ１５０のインスタンスと同じ内容になる。したがって、ＢＰ実行サーバ１７０のビジネスプロセス実行部１７５がビジネスプロセスの実行を開始すると、ＢＰ実行サーバ１５０において実行されていた処理が、ＢＰ実行サーバ１７０において継続されることになる。以上のようにして、ＢＰ実行サーバ１５０からＢＰ実行サーバ１７０に処理が引き継がれる。なお、ＢＰ実行サーバ１５０は、インスタンスを、通信ネットワーク１０００を介して送信するようにしてもよいし、通信ネットワーク１０００を介してアクセス可能な二次記憶装置にインスタンスを格納し、格納したインスタンスへのポインタのみを送信するようにしてもよい。
【００４４】
運用管理エージェント１６０は、管理サーバ１１０と連携して実行基盤１５１の運用管理を行なう。運用管理エージェント１６０は、定期的に、実行基盤１５１によるＣＰＵ３０２の使用率や主記憶装置３０４の使用量、ビジネスプロセスごとのＣＰＵ３０２の使用率や主記憶装置３０４の使用量などを測定し、上記のような測定値やビジネスプロセスごとの実行状況情報を管理サーバ１１０に送信する。
【００４５】
ＢＰ実行サーバ１７０の構成は、上記ＢＰ実行サーバ１５０の構成と同様であり、ビジネスプロセス定義読込部１７４、ビジネスプロセス実行部１７５、インスタンス実行状況管理部１７６、および実行状況管理テーブル１７７、引継ぎ実行部１７８、および運用管理エージェント１６０を備えている。これらの各機能部はＢＰ実行サーバ１５０の機能と同様であるので、説明は省略する。
【００４６】
図９は、Ｗｅｂサービス提供サーバ１９０のハードウェア構成を示す図である。Ｗｅｂサービス提供サーバ１９０は、ネットワークインタフェース３０１、ＣＰＵ３０２、二次記憶装置３０３、主記憶装置３０４、及びこれらを接続するシステムバス３０６を備えている。ネットワークインタフェース３０１は、ＣＰＵ３０２の指示に従って、通信ネットワーク１０００を介して通信ネットワーク１０００に接続された他の通信機器との間で通信を行う。主記憶装置３０４には、Ｗｅｂサービス提供プログラム３１、運用管理エージェントプログラム２２などの各種のプログラムやデータが記憶される。ＣＰＵ３０２は、主記憶装置３０４に記憶されているプログラムを実行することにより、後述する各種の機能を実現する。二次記憶装置３０３は、記憶領域を提供する例えばハードディスクドライブやフラッシュメモリである。
【００４７】
図１０は、Ｗｅｂサービス提供サーバ１９０のソフトウェア構成を示す図である。Ｗｅｂサービス提供サーバ１９０は、Ｗｅｂサービス実行部１９１および運用管理エージェント１６０を備えている。Ｗｅｂサービス実行部１９１は、Ｗｅｂサービス提供サーバ１９０が備えるＣＰＵ３０２が主記憶装置３０４に記憶されているＷｅｂサービス提供プログラム３１を実行することにより実現される。
【００４８】
運用管理エージェント１６０は、上述したＢＰ実行サーバ１５０が備える運用管理エージェント１６０と同様の機能であり、ＣＰＵ３０２が主記憶装置３０４に記憶されている運用管理エージェントプログラム２２を実行することにより実現される。  
なお、Ｗｅｂサービス実行部１９１および運用管理エージェント１６０は、ハードウェアとして実現するようにしてもよい。
【００４９】
Ｗｅｂサービス実行部１９１は、受注サービス提供部１９２、在庫検索サービス提供部１９３、引当サービス提供部１９４、および発送サービス提供部１９５を備えており、それぞれ、ＳＯＡＰリクエストに応じて業務に関する処理を行い、その結果を応答する、一般的なＷｅｂサービスであり、市販のミドルウェアで実現可能である。Ｗｅｂサービス実行部１９１および上記各サービス提供部の機能は、一般的なＷｅｂサービスによる情報処理機能であり、詳細な説明は省略する。
【００５０】
なお、本実施形態では、Ｗｅｂサービス提供サーバ１９０がビジネスプロセス３００に必要なすべてのサービスを提供するものとしたが、例えば、サービスごとに異なるＷｅｂサービス提供サーバ１９０を設置するようにしてもよい。
【００５１】
図１１は、管理サーバ１１０のハードウェア構成を示す図である。管理サーバ１１０は、ネットワークインタフェース３０１、ＣＰＵ３０２、二次記憶装置３０３、主記憶装置３０４、およびこれらを接続するシステムバス３０６を備えている。ネットワークインタフェース３０１は、ＣＰＵ３０２の指示に従って、通信ネットワーク１０００を介して通信ネットワーク１０００に接続された他の通信機器との間で通信を行う。主記憶装置３０４には、ビジネスプロセス管理プログラム４１、リソース情報管理テーブル１２２、引継ぎポリシー情報１４１、および引継ぎ関係管理テーブル１４７が記憶されている。ＣＰＵ３０２は、主記憶装置３０４に記憶されているプログラムを実行することにより各種の機能を実現する。なお、図１１の構成は一例であり、例えば、主記憶装置３０４に記憶されているプログラムやデータを二次記憶装置３０３に格納するようにしてもよいし、外部の記憶装置に格納するようにしてもよい。
【００５２】
リソース情報管理テーブル１２２には、ＢＰ実行サーバ１５０および１７０並びにＷｅｂサービス提供サーバ１９０において使用されているリソースに関する情報（以下、リソース情報という。）を記憶する。図１２は、リソース情報管理テーブル１２２に記憶されるリソース情報の構成例を示す図である。リソース情報は、ＢＰ実行サーバ１５０、ＢＰ実行サーバ１７０またはＷｅｂサービス提供サーバ１９０の識別情報であるサーバＩＤ６０１に対応付けて、リソース名６０２および値６０３を含んでいる。なお、図１２の構成は、一例であり、リソース情報管理テーブル１２２の構成は、ＢＰ実行サーバ１５０および１７０並びにＷｅｂサービス提供サーバ１９０におけるリソースの使用量を記憶していればどのような構成であってもよい。
【００５３】
図１３は、引継ぎポリシー情報１４１の構成を示す図である。引継ぎポリシー情報１４１には、引継ぎ範囲決定テーブル７００、および引継ぎ先決定テーブル７２０が含まれている。
【００５４】
引継ぎ範囲決定テーブル７００は、引継ぎを行うか否か、引継ぎを行う場合にはビジネスプロセス３００のどの範囲を引き継ぐかを決定するための情報（以下、引継ぎ範囲条件という。）を記憶する。図１３に示すように、引継ぎ範囲条件は、実行基盤識別子７０１、ビジネスプロセス定義名７０２、実行状況条件７０３、リソース条件７０４、引継ぎ終了ステップ名７０５を含んでいる。
【００５５】
実行基盤識別子７０１は、ビジネスプロセス３００を実行している実行基盤１５１の識別子である。ビジネスプロセス定義名７０２は、実行されているビジネスプロセス３００の処理フローが記述されたビジネスプロセス定義の名称（以下、ビジネスプロセス定義名という。）である。
【００５６】
実行状況条件７０３は、引継ぎを行うか否かを決定するための第１の条件であり、実行状況情報に対する条件である。なお、本実施形態では、簡単のため、実行状況条件７０３には、ビジネスプロセス３００に含まれるステップの識別子（以下、ステップ名という。）が設定されるものとし、実行状況情報に含まれるステップ名４０４および実行状況４０５を連結した文字列と、実行状況条件７０３とが一致するかどうかにより、第１の条件の判定が行われる。
【００５７】
リソース条件７０４は、引継ぎを行うか否かを決定するための第２の条件であり、リソース情報に対する条件である。引継ぎ終了ステップ名７０５は、引継ぎを行う範囲の終点となるステップ名（以下、引継ぎ終了ステップ名という。）である。
【００５８】
例えば、図１３の例では、引継ぎ範囲決定テーブル７００には２つの引継ぎ範囲条件が設定されている。本実施形態では上段に登録されている条件を使用し、下段に登録されている条件は後述する第２の実施形態で使用する。上段に登録されている引継ぎ範囲条件は、実行基盤１５１に配備されているビジネスプロセス定義１５３について、受注ステップ３３０を完了した際に、実行基盤１５１の平均ＣＰＵ使用率が７０％以上であれば、受注ステップ３３０以降、引当ステップ３３２の完了までを引継ぎ範囲として、ビジネスプロセスの引継ぎを行うことを示している。
【００５９】
引継ぎ先決定テーブル７２０は、引継ぎ先となるサービス実行処理部を決定するための条件（以下、引継ぎ先条件という。）を記憶する。図１３に示すように、引継ぎ先条件は、ビジネスプロセス定義名７２１、引継ぎ先候補７２２、引継ぎ先決定条件７２３を含んでいる。引継ぎ先候補７２２は、実行基盤１５１からビジネスプロセスの引継ぎを行う実行基盤１７１の識別子のリストである。引継ぎ先候補７２２には、複数の実行基盤１７１が存在する場合に、引継ぎ先となる実行基盤１７１の候補が設定される。引継ぎ先決定条件７２３は、リソース情報に対する条件である。複数の候補が引継ぎ先候補７２２に登録されている場合、候補となる実行基盤１７１に対応するリソース情報が、引継ぎ先決定条件７２３を満たしているものに、ビジネスプロセスが引き継がれる。
【００６０】
図１３の例では、引継ぎ先決定テーブル７２０には、ビジネスプロセス定義１５３について引継ぎ先の候補として実行基盤１５１および実行基盤１７１が登録され、これらの中から引継ぎ先を決定する条件として、各実行基盤の平均ＣＰＵ使用率を使用すると設定されている。これ以外にも、例えば、リソース情報管理テーブル１２２に登録される平均ＣＰＵ使用率以外のリソース情報を用いても良いし、ラウンドロビンといったアルゴリズムを用いても良い。
【００６１】
なお、引継ぎポリシー情報１４１を引継ぎポリシー管理部１４０へ登録する際には、システム管理者が主記憶装置３０４や二次記憶装置３０３へ引継ぎポリシー情報１４１を直接書き込んでも良いし、引継ぎポリシー管理部１４０が提供する引継ぎポリシー情報１４１を登録するための手段を利用してもよい。また、引継ぎポリシー情報１４１はシステム構築時にあらかじめ登録しておいてもよいし、システム稼働中に新たな情報を登録し、あるいは既存の情報を変更しても良い。
【００６２】
引継ぎ関係管理テーブル１４７は、ビジネスプロセスの引継に係る引継ぎ元と引継ぎ先とを対応付ける情報（以下、引継ぎ関係情報という。）を記憶する。図１４は、引継ぎ関係管理テーブル１４７の構成を示す図である。同図に示すように、引継ぎ関係管理テーブル１４７に記憶される引継ぎ関係情報は、ビジネスプロセス定義名８０１、引継ぎ元実行基盤識別子８０２、引継ぎ元インスタンスＩＤ８０３、引継ぎ先実行基盤識別子８０４、引継ぎ先インスタンスＩＤ８０５、および引継ぎ終了ステップ名８０６を含んでいる。ビジネスプロセス定義名８０１は、引継ぎの対象となったビジネスプロセス３００が定義されているビジネスプロセス定義の識別子である。引継ぎ元実行基盤識別子８０２および引継ぎ元インスタンスＩＤ８０３は、ビジネスプロセス３００の引継ぎ元を示す情報であり、引継ぎ先実行基盤識別子８０４および引継ぎ先インスタンスＩＤ８０５は、ビジネスプロセス３００の引継ぎ先を示す情報である。引継ぎ終了ステップ名８０６は、引継ぎが行われるビジネスプロセス３００の範囲の終点となるステップを示す情報である。
【００６３】
なお、引継ぎ関係情報は、例えば、実行基盤１５１から実行基盤１７１にビジネスプロセス３００が引き継がれた場合に、ビジネスプロセス３００のレスポンスを実行基盤１５１から返す必要があるときに使用される。
【００６４】
図１５は、管理サーバ１１０のソフトウェア構成を示す図である。同図に示すように、管理サーバ１１０は、エージェント管理部１２１、実行状況監視部１３０、引継ぎポリシー管理部１４０、引継ぎ判定部１４５、引継ぎ関係管理部１４６を備えている。管理サーバ１１０が備える上記の各機能部は、管理サーバ１１０が備えるＣＰＵ３０２が主記憶装置３０４に記憶されているビジネスプロセス管理プログラム４１を実行することにより実現される。なお、上記各機能部をハードウェアとして実現するようにしてもよい。
【００６５】
エージェント管理部１２１は、ＢＰ実行サーバ１５０および１７０、並びにＷｅｂサービス提供サーバ１９０が備える運用管理エージェント１６０に対してビジネスプロセス３００やＷｅｂサービスの配備、実行基盤の起動停止などの指示を出し、運用管理エージェント１６０が送信するリソース情報を受信して、リソース情報管理テーブル１２２に登録する。
【００６６】
なお、エージェント管理部１２１および運用管理エージェント１６０は市販の運用管理ソフトウェアで実現可能であり、その実現方式についての詳細な説明は省略する。
【００６７】
また、本実施形態では、引継ぎ判定部１４５がリソース情報管理テーブル１２２に格納された実行基盤ごとの平均ＣＰＵ使用率をリソース情報として参照するが、参照する情報は平均ＣＰＵ使用率以外にも、メモリの使用量やレスポンスタイムなどの、リソースに関する一般的な情報を用いることができる。
【００６８】
実行状況監視部１３０は、実行基盤１５１および１７１で実行されるビジネスプロセス３００の実行状況を監視し、引継ぎ判定部１４５へ通知する。実行状況監視部１３０は、運用管理エージェント１６０から実行状況情報を受信するようにしてもよいし、実行基盤で生成されているインスタンスを監視するようにしてもよい。
【００６９】
引継ぎポリシー管理部１４０は、引継ぎポリシー情報１４１を管理する。引継ぎポリシー管理部１４０は、システム管理者から各項目の入力を受け付けて、受け付けた項目を引継ぎポリシー情報１４１に登録する。
【００７０】
引継ぎ判定部１４５は、実行状況監視部１３０が取得した実行状況情報と、リソース情報管理テーブル１２２に登録されているリソース情報と、引継ぎポリシー情報１４１とに基づいて、ビジネスプロセス３００の引継ぎを行うかどうかの判定処理を行う。また引継ぎ判定部１４５は、引継ぎを行うと判定した場合には、ビジネスプロセス３００のどのステップを引き継がせるかを決定する。なお、引継ぎ判定部１４５による処理の詳細については後述する。
【００７１】
引継ぎ関係管理部１４６は、ビジネスプロセス３００の引継ぎ元のインスタンスと引継ぎ先のインスタンスとを対応付ける引継ぎ関係情報、引継ぎ関係管理テーブル１４７に登録する。
【００７２】
以下、本実施形態の情報処理システムにおける処理について説明する。図１６は、本実施形態の情報処理システムの処理の流れを示す図である。  
（ステップ２０１）引継ぎポリシー管理部１４０は、引継ぎポリシー情報１４１の登録処理を行う。引継ぎポリシー情報１４１の登録処理の詳細を図１７に示す。
【００７３】
（ステップ１００１）引継ぎポリシー管理部１４０は、システム管理者から、引継ぎ元となる実行基盤１５１の識別子、ビジネスプロセス定義の識別子、引継ぎを行うか否かを決定するための、実行状況情報に対する条件およびリソース情報に対する条件、並びに、ステップ名の入力を受け付ける。引継ぎポリシー管理部１４０は、受け付けた各情報を、実行基盤識別子７０１、ビジネスプロセス定義名７０２、実行状況条件７０３、リソース条件７０４、引継ぎ終了ステップ名７０５に設定した引継ぎ範囲条件を生成して、引継ぎ範囲決定テーブル７００に登録する。
【００７４】
（ステップ１００２）引継ぎポリシー管理部１４０は、システム管理者から、ビジネスプロセス定義の識別子、引継ぎ先の候補となる実行基盤１５１または１７１の識別子、およびリソース情報に対する条件の入力を受け付ける。引継ぎポリシー管理部１４０は、受け付けた各情報を、ビジネスプロセス定義名７２１、引継ぎ先候補７２２、引継ぎ先決定条件７２３に設定した引継ぎ先条件を生成して、引継ぎ先決定テーブル７２０に登録する。
【００７５】
（ステップ２０２）実行基盤１５１がクライアント１００から実行要求を受信すると、ビジネスプロセス定義読込部１５４は、ビジネスプロセス定義１５３を読み込み、ビジネスプロセス実行部１５５は、インスタンスを生成する。ここで生成されたインスタンスのインスタンスＩＤは「１５１−０００１」であったものとする。  
（ステップ２０３）ビジネスプロセス実行部１５５は、ビジネスプロセス定義１５３に従ってビジネスプロセス３００を実行する。  
（ステップ２０４）実行状況管理部１５６は、ビジネスプロセスの実行状況を示す実行状況情報を生成し、生成した実行状況情報をインスタンスに含まれる実行状況管理テーブル１５７に記憶するとともに、管理サーバ１１０に送信する。管理サーバ１１０では、実行状況監視部１３０が、ＢＰ実行サーバ１５０から送信される実行状況情報を受信する。  
（ステップ２０５）管理サーバ１１０の引継ぎ判定部１４５は、受信した実行状況情報と、引継ぎポリシー情報１４１とに基づいて、ＢＰ実行サーバ１５０からＢＰ実行サーバ１７０へのビジネスプロセスの引継ぎを行うかどうかの判定を行う。判定処理の詳細については後述する。
【００７６】
ビジネスプロセスの引継ぎを行う場合には、ステップ２０６に進み、引継ぎを行わない場合はステップ２１２に進む。  
（ステップ２０６）引継ぎ判定部１４５は、実行基盤１５１の引継ぎ実行部１５８に、引継ぎ先となる実行基盤１７１の識別情報を送信して、ビジネスプロセス３００の引継ぎを行うように指示する。  
（ステップ２０７）ビジネスプロセスの引継ぎ処理が行われる。ビジネスプロセスの引継ぎ処理の詳細については後述する。  
（ステップ２０８）ビジネスプロセス実行部１７５は、引継いだビジネスプロセス３００の実行を再開する。なお、本実施形態では、ＢＰ実行サーバ１７０において生成された引継ぎ先のインスタンスのインスタンスＩＤは、「１７１−０００２」であったものとする。  
（ステップ２０９）実行状況監視部１３０は、ＢＰ実行サーバ１７０におけるビジネスプロセスの実行状況を監視し、実行状況情報が随時引継ぎ判定部１４５に通知される。
【００７７】
（ステップ２１０）引継ぎ判定部１４５は、実行状況情報と引継ぎポリシー情報１４１とに基づいて、ＢＰ実行サーバ１７０からＢＰ実行サーバ１５０へのビジネスプロセスの引継ぎを行うかどうかの判定を行う。判定処理の詳細については後述する。
【００７８】
ビジネスプロセス３００の引継ぎを行う場合には、ステップ２１１に進み、引継ぎを行わない場合は、ステップ２１３に進む。  
（ステップ２１１）実行基盤１７１から実行基盤１５１にビジネスプロセス３００の引継ぎが行われる。ビジネスプロセス３００の引継ぎ処理は、ステップ２０７の処理と同様である。  
（ステップ２１２）ビジネスプロセス定義１５３に記述されている各ステップに関する処理が完了していれば処理を終了し、完了していなければステップ２０３へ戻る。  
（ステップ２１３）ビジネスプロセス定義１５３に記述されている各ステップに関する処理が完了していれば処理を終了し、完了していなければステップ２０８へ戻る。
【００７９】
図１８は、上述した図１６のステップ２０５における、ビジネスプロセスの引継ぎを行うかどうかを判定する処理の詳細を説明する図である。
【００８０】
（ステップ１１０１）引継ぎ判定部１４５は、実行状況監視部１３０から実行状況情報を受信する。  
（ステップ１１０２）引継ぎ判定部１４５は、引継ぎ関係管理テーブル１４７に、実行状況情報のインスタンスＩＤ４０３と一致する引継ぎ元インスタンスＩＤ８０３が登録されているかどうかを判定し、登録されている場合には、ステップ１１０３に進み、登録されていない場合にはステップ１１０４に進む。  
（ステップ１１０３）引継ぎ判定部１４５は、引継ぎ判定部１４５は、ビジネスプロセス３００の引継ぎは行わないことを決定する。  
（ステップ１１０４）引継ぎ判定部１４５は、引継ぎ範囲決定テーブル７００から、実行状況情報の実行基盤識別子４０１およびビジネスプロセス定義名４０２と、実行基盤識別子７０１およびビジネスプロセス定義名７０２とが一致する引継ぎ範囲条件を検索する。ただし、引継ぎ範囲条件の実行基盤識別子７０１が空の場合は、どの実行基盤識別子４０１とも一致するものとする。  
（ステップ１１０５）引継ぎ判定部１４５は、ステップ１１０３における検索結果のうち、実行状況情報のステップ名４０４および実行状況４０５を連結した文字列と、実行状況条件７０３とが一致するものが存在するか判定する。存在する場合はステップ１１０６へ進み、存在しない場合はステップ１１０３へ進んで引継ぎを行わないことを決定する。
【００８１】
（ステップ１１０６）引継ぎ判定部１４５は、実行状況情報の実行基盤識別子４０１に対応するリソース情報をリソース情報管理テーブル１２２から読み出し、上記ステップ１１０４において判定した、実行状況情報のステップ名４０４および実行状況４０５を連結した文字列と、実行状況条件７０３とが一致する引継ぎ範囲条件のうち、リソース情報のリソース名６０２および値６０３が、リソース条件７０４を満たすものが存在するかどうかを判定する。上記の引継ぎ範囲条件が存在する場合はステップ１１０７へ進み、存在しない場合はステップ１１０３へ進み、引継ぎは行わないことを決定する。  
なお、リソース条件７０４が空である場合は、判定を行なわずにステップ１１０７へ進むものとする。  
（ステップ１１０７）引継ぎ判定部１４５は、ビジネスプロセス３００の引継ぎを行うことを決定し、後述する引継ぎ先の決定処理を行う。
【００８２】
上記のようにして、ビジネスプロセス３００の引継ぎを行うか否かが決定される。例えば、実行基盤１５１に配置されているビジネスプロセス定義１５３に従って実行されているビジネスプロセス３００に関するインスタンスのインスタンスＩＤが「１５１−０００１」であり、実行状況監視部１３０が、受注ステップ３３０を示すステップ名４０４を含む実行状況情報を受信した場合、インスタンス「１５１−０００１」は引継ぎ関係管理テーブル１４７には該当するデータは存在しない。
【００８３】
ここで、実行状況情報は、引継ぎ範囲決定テーブル７００に登録された実行状況条件７０３「受注ステップ３３０完了」と一致する。また、リソース情報管理テーブル１２２には、実行基盤１５１の平均ＣＰＵ使用率が７５％であることを示すリソース情報が登録されており、リソース条件７０４「平均ＣＰＵ使用率７０％以上」を満たす。
【００８４】
したがって、引継ぎ判定部１４５は、インスタンスＩＤが「１５１−０００１」であるインスタンスに係るビジネスプロセス３００ついて、受注ステップ３３０に後続するステップで、引継ぎ終了ステップ名７０５が示す引当ステップ３３２までの範囲を引き継ぐことを決定する。
【００８５】
次に、引継ぎ先を決定する上記ステップ１１０７の詳細について説明する。図１９は、引継ぎ先の決定処理の流れを示す図である。
【００８６】
（ステップ１２０１）引継ぎ判定部１４５は、実行状況情報のビジネスプロセス定義名４０２と一致する、引継ぎ先決定テーブル７２０の引継ぎ対象ビジネスプロセス定義名７２１を検索する。  
（ステップ１２０２）該当する引継ぎ対象ビジネスプロセス定義名７２１が存在する場合はステップ１２０３へ、存在しない場合はステップ１２０５へ進む。  
（ステップ１２０３）引継ぎ判定部１４５は、引継ぎ先候補７２２に登録されている実行基盤識別子を取得する。  
（ステップ１２０４）引継ぎ判定部１４５は、取得した実行基盤識別子のそれぞれについて、対応するリソース情報をリソース情報管理テーブル１２２から取得する。引継ぎ判定部１４５は、実行基盤識別子のうち、リソース情報が引継ぎ先決定条件７２３を満たすものを選択する。  
（ステップ１２０５）引継ぎ先が決定できないため、インスタンスの引継ぎを中止し、処理を完了する。
【００８７】
図１３の例では、ビジネスプロセス定義１５３について、引継ぎ先の候補は実行基盤１５１および実行基盤１７１である。引継ぎ先決定条件７２３から、平均ＣＰＵ使用率がより低いサービス実行処理部が引継ぎ先となる。図１２の例では、実行基盤１５１の平均ＣＰＵ使用率が７５％であり、実行基盤１７１の平均ＣＰＵ使用率は４０％である。したがって、引継ぎ先としては実行基盤１７１が選択される。
【００８８】
以上から、本実施形態では、引継ぎ対象となるビジネスプロセス定義名は、「ビジネスプロセス定義１５３」であり、引継ぎ元となる実行基盤識別子は「実行基盤１５１」であり、引継ぎ対象となるインスタンスのインスタンスＩＤは「１５１−０００１」であり、引継ぎ先となる実行基盤識別子は「実行基盤１７１」であり、引継ぎ終了ステップ名は「引当ステップ３３２」である。
【００８９】
次に、ビジネスプロセス３００の引継ぎ処理を行う上記図１６のステップ２０７の詳細について説明する。図２０は、ステップ２０７における処理の流れを示す図である。
【００９０】
（ステップ１３０１）引継ぎ判定部１４５は、上記引継ぎ対象となるビジネスプロセス定義名、引継ぎ元となる実行基盤識別子、引継ぎ元におけるインスタンスのインスタンスＩＤ、引継ぎ先となる実行基盤識別子、引継ぎ終了ステップ名を含む情報（以下、引継ぎ情報という。）を、引継ぎ元である実行基盤１５１の引継ぎ実行部１５８および引継ぎ先である実行基盤１７１の引継ぎ実行部１７８へ送信する。  
（ステップ１３０２）引継ぎ実行部１５８は、受信した引継ぎ情報に含まれる引継ぎ元インスタンスＩＤが示すインスタンスに含まれる実行状況管理テーブル１５７から実行状況情報を取得する。  
（ステップ１３０３）実行基盤１５１の引継ぎ実行部１５８は、引継ぎ情報および実行状況情報を、引継ぎ先となる実行基盤１７１の引継ぎ実行部１７８へ送信する。  
（ステップ１３０４）実行基盤１７１の引継ぎ実行部１７８は、引き継ぐビジネスプロセス３００についてのインスタンスを生成し、生成したインスタンスに、受信した実行状況情報を登録した実行状況管理テーブル１７７を設定する。  
（ステップ１３０５）引継ぎ関係管理部１４６は、引継ぎ対象ビジネスプロセス定義名、引継ぎ元実行基盤識別子、引継ぎ対象インスタンスＩＤ、引継ぎ先実行基盤識別子、引継ぎ終了ステップ名を、それぞれ引継ぎ関係情報の引き継ぎ対象ビジネスプロセス定義名８０１、引継ぎ元実行基盤識別子８０２、引継ぎ元インスタンスＩＤ８０３、引継ぎ先実行基盤識別子８０４、引継ぎ終了ステップ名８０６に設定し、設定した引継ぎ関係情報を引継ぎ関係管理テーブル１４７に登録する。
【００９１】
なお、ビジネスプロセス３００の引継ぎ処理については、フェイルオーバやプロセスマイグレーションなどと同様の公知の方法を用いることができる。最終的に引継ぎ先インスタンスＩＤおよび引継ぎ元インスタンスＩＤが、引継ぎ関係管理テーブル１４７に登録されていれば良い。
【００９２】
本実施形態では、実行基盤１５１のインスタンスＩＤが「１５１−０００１」であるインスタンスに対応するビジネスプロセス３００を実行基盤１７１へ引継いだものとしている。この場合、引継ぎ先のインスタンスＩＤが「１７１−０００２」であったとすると、引継ぎ関係管理テーブル１４７には、図１４に示すように、ビジネスプロセス定義名８０１が「ビジネスプロセス定義１５３」であり、引継ぎ元実行基盤識別子８０２が「実行基盤１５１」であり、引継ぎ元インスタンスＩＤ８０３が「１５１−０００１」であり、引継ぎ先実行基盤識別子８０４が「実行基盤１７１」であり、引継ぎ先インスタンスＩＤ８０５が「１７１−０００２」であり、引継ぎ終了ステップ名８０６が「引当ステップ３３２」である引継ぎ関係情報が格納される。
【００９３】
実行基盤１５１から実行基盤１７１へビジネスプロセス３００が引継がれると、ビジネスプロセス定義１７３に従って実行基盤１７１においてビジネスプロセスが実行される。
【００９４】
なお、引継ぎ判定部１４５の決定を受けて、引継ぎ先の実行基盤１７１から引継ぎ元の実行基盤１５１に処理を戻す図１６のステップ２１１も上記図２０と同様の処理によりビジネスプロセス３００の引継ぎを行うことができる。
【００９５】
次に、引継ぎ先から引継ぎ元へビジネスプロセスの処理を再度引き継ぐことを決定する処理である、図１６のステップ２１０における処理の詳細について説明する。図２１は、ステップ２１０における処理の流れを示す図である。
【００９６】
（ステップ１１１０）引継ぎ判定部１４５は、引継ぎ関係管理テーブル１４７に、実行状況情報のインスタンスＩＤ４０３と一致する引継ぎ元インスタンスＩＤ８０３が登録されているかどうかを判定し、登録されていない場合にはステップ１１１１に進み、登録されている場合にはステップ１１１２に進む。  
（ステップ１１１１）引継ぎ判定部１４５は、引継ぎを行わないことを決定する。  
（ステップ１１１２）引継ぎ判定部１４５は、引継ぎ関係管理テーブル１４７から、引継ぎ先インスタンスＩＤ８０３が実行状況情報のインスタンスＩＤ４０３に一致する引継ぎ関係情報を読み出し、引継ぎ関係情報のビジネスプロセス定義名８０１、引継ぎ先実行基盤識別子８０４および引継ぎ終了ステップ名８０６が、実行状況情報のビジネスプロセス定義名４０２、実行基盤識別子４０１およびステップ名４０４と一致するかどうかを判定する。  
引継ぎ終了ステップ名８０６と実行状況情報のステップ名４０４とが一致する場合、ステップ１１１３に進み、一致しない場合にはステップ１１１１に進み、引継ぎを行わないことを決定する。  
（ステップ１１１３）引継ぎ判定部１４５は、引継ぎを行うことを決定する。
【００９７】
以上のようにして、図１６のステップ２１０において、ビジネスプロセス３００の引継ぎを行うかどうかの判定が行われる。
【００９８】
例えば、管理サーバ１１０の実行状況監視部１３０が、実行基盤１７１から、インスタンスＩＤ「１７１−０００２」に関するビジネスプロセス３００の引当ステップ３３２の実行が完了した旨の実行状況情報を受信した場合、図１４の例では、引継ぎ終了ステップ名８０６として「引当ステップ３３２」が設定されているので、実行基盤１７１から実行基盤１５１へのビジネスプロセスの引継ぎを行うことが決定される。
【００９９】
以上説明したように、本実施形態の情報処理システムでは、システム管理者が登録した引継ぎポリシー情報１４１に基づいて、引継ぎ判定部１４５が引継ぎを行うかどうか、引継ぐステップの範囲、および引継ぎ先となる実行基盤１７１を決定し、ビジネスプロセス３００の引継ぎを行うことができる。したがって、実行基盤１５１の負荷が高い場合に、一部のステップを異なる実行基盤１７１で実行することで、負荷分散を実現し、情報処理システム全体の負荷を平滑化することができる。
【０１００】
また、従来は、クライアント１００からの実行要求を複数のＢＰ実行サーバに振り分けることにより負荷分散を行っており、実行要求に応じたビジネスプロセス３００の処理が開始された後は、処理の終了まで同一の主体により処理が継続されていたが、本実施形態の情報処理システムによれば、ビジネスプロセス定義１５３の変更やビジネスプロセス実行部１５５の再配備といった作業をすることなく、ビジネスプロセス３００を実行させる主体を、自由に定義することができる。したがって、例えば、Ｗｅｂサービス提供サーバ１９０の受注サービス提供部１９２に障害が発生した場合に、受注ステップ３３０を実行中のビジネスプロセス３００では例外処理が発生し、通常の処理よりもリソースの消費量が大きい例外処理の処理負荷によって、通常の処理に影響が出るような状況であっても、例外処理のみをＢＰ実行サーバ１７０に引き継がせることにより、ＢＰ実行サーバ１５０では通常処理のみを行うように設定することができる。これにより、通常処理にかかる処理負荷の増加を防止し、効率的な情報処理を行うことができる。すなわち、情報処理システムの運用者は、ＢＰ実行サーバ１５０や１７０の処理負荷に応じて、引継ぎポリシー情報１４１を更新することで、ビジネスプロセス３００の処理主体の最適化を図ることができる。
【０１０１】
なお、本実施形態では、ビジネスプロセスを実行するサーバは、ＢＰ実行サーバ１５０および１７０の２つであるものとしたが、これに限らず、３つ以上のＢＰ実行サーバを備えるようにしてもよい。この場合、ビジネスプロセスの引継ぎ先となるＢＰ実行サーバを、条件に応じて決定するようにする。
【０１０２】
また、本実施形態では、システム管理者が引継ぎポリシー情報１４１の項目をすべて入力するものとしたが、管理サーバ１１０が、ビジネスプロセス定義１５３を解析して例外処理を行うステップを特定する定義情報解析部と、例外処理を行うステップの実行を引き継ぐように、引継ぎポリシー情報１４１を生成するポリシー情報生成部とを備えるようにしてもよい。一般に例外処理は通常の処理よりもリソースの消費量が多いため、例外処理を他の実行基盤１７１に引き継ぐようにすることで、例外処理によってリソースが消費されて通常処理に影響が出てしまうことを防ぐことができる。
【０１０３】
また、ビジネスプロセス定義が長く複雑であるには、システム管理者がビジネスプロセス定義を解析して例外処理部分を抽出するのには手間がかかるが、管理サーバ１１０がビジネスプロセス定義１５３を解析して引継ぎポリシー情報１４１を生成することで、システム管理者の手間を軽減し、ユーザの利便性を向上することができる。
【０１０４】
この場合の管理サーバ１１０は、新たにビジネスプロセス定義解析部１４８を備えるものとする。ビジネスプロセス定義解析部１４８は、ビジネスプロセス定義を解析し、例外処理を行なうステップのみを抽出して、引継ぎポリシー情報１４１の引継ぎ範囲決定テーブル７００へ、実行状況条件７０３および引継ぎ終了ステップ名７０５を登録する。
【０１０５】
ビジネスプロセス定義解析部１４８が引継ぎポリシー情報１４１を登録する場合の、図１６のステップ２０１における処理を図２２に示す。
【０１０６】
（ステップ１４０１）ビジネスプロセス定義解析部１４８は、システム管理者からビジネスプロセス定義１５３の入力を受け付ける。この際、ビジネスプロセス定義解析部１４８は、ビジネスプロセス定義１５３そのものの入力を受け付けるようにしてもよいし、ビジネスプロセス定義１５３が格納されている記憶媒体へのポインタの入力を受け付け、受け付けたポインタが示すビジネスプロセス定義１５３を読み出すようにしてもよい。  
（ステップ１４０２）ビジネスプロセス定義解析部１４８は、ビジネスプロセス定義１５３を解析し、例外処理を行う範囲を抽出する。  
（ステップ１４０３）ビジネスプロセス定義解析部１４８は、抽出した範囲に含まれる最初のステップを示すステップ名と「開始」を結合した文字列を、実行状況条件７０３とする。  
（ステップ１４０４）ビジネスプロセス定義解析部１４８は、抽出した範囲に含まれる最後のステップを示すステップ名を、引継ぎ終了ステップ名７０５とする。  
（ステップ１４０５）ビジネスプロセス定義解析部１４８は、上記の実行状況条件７０３および引継ぎ終了ステップ名７０５を含む引継ぎ範囲条件を生成して、引継ぎ範囲決定テーブル７００に登録する。
【０１０７】
次のステップ１００２は図１６と同様であり、引継ぎ関係管理部１４６は、システム管理者から受け付けた引継ぎ先条件を引継ぎ先決定テーブル７２０に登録する。
【０１０８】
以上のようにして、ビジネスプロセス定義解析部１４８は、ビジネスプロセス定義１５３に基づいて引継ぎ範囲条件を登録する。
【０１０９】
図６に示すビジネスプロセス定義１５３がビジネスプロセス定義解析部１４８に与えられた場合、ビジネスプロセス定義解析部１４８は、ビジネスプロセス定義１５３を解析し、例外処理である引当例外処理ステップ３３４を抽出する。ビジネスプロセス定義解析部１４８は引継ぎポリシー情報１４１の引継ぎ範囲決定テーブル７００に対して、ビジネスプロセス定義名７０２に解析中のビジネスプロセス定義１５３の名称を設定し、実行状況条件に抽出したステップを開始することを示す「引当例外処理ステップ３３４開始」を設定し、引継ぎ終了ステップ名７０５に、「引当例外処理ステップ３３４」を設定した引継ぎ範囲条件を登録する。
【０１１０】
以上により、ビジネスプロセス定義解析部１４８は、例外処理について自動的に引継ぎ範囲条件を登録することができる。これにより、例外処理が多発した場合には、例外処理を実行基盤１７１に引き継がせ、実行基盤１５１は通常処理のみを行うことができるので、実行基盤１５１のパフォーマンスを守ることができる。
【０１１１】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【図面の簡単な説明】
【０１１２】
【図１】ビジネスプロセス３００の構成を説明する図である。
【図２】本実施形態に係る情報処理システムの全体構成を示す図である。
【図３】クライアント１００のハードウェア構成を示す図である。
【図４】クライアント１００のソフトウェア構成を示す図である。
【図５】ＢＰ実行サーバ１５０のハードウェア構成を示す図である。
【図６】ビジネスプロセス定義１５３の一例を示す図である。
【図７】ＢＰ実行サーバ１５０のソフトウェア構成を示す図である。
【図８】実行状況情報の構成例を示す図である。
【図９】Ｗｅｂサービス提供サーバ１９０のハードウェア構成を示す図である。
【図１０】Ｗｅｂサービス提供サーバ１９０のソフトウェア構成を示す図である。
【図１１】管理サーバ１１０のハードウェア構成を示す図である。
【図１２】リソース情報の構成例を示す図である。
【図１３】引継ぎポリシー情報１４１の構成を示す図である。
【図１４】引継ぎ関係管理テーブル１４７の構成を示す図である。
【図１５】管理サーバ１１０のソフトウェア構成を示す図である。
【図１６】本実施形態の情報処理システムの処理の流れを示す図である。
【図１７】引継ぎポリシー情報１４１の登録処理の詳細を示す図である。
【図１８】ステップ２０５の処理の詳細を説明する図である。
【図１９】引継ぎ先の決定処理の流れを示す図である。
【図２０】ステップ２０７における処理の流れを示す図である。
【図２１】ステップ２１０における処理の流れを示す図である。
【図２２】ビジネスプロセス定義解析部１４８が引継ぎポリシー情報１４１を登録する場合の、図１６のステップ２０１における処理を示す図である。
【符号の説明】
【０１１３】
１００  クライアント                    １０１  実行要求送信部
１０２  実行結果受信部                  １１０  管理サーバ
１２１  エージェント管理部              １２２  リソース情報管理テーブル
１３０  実行状況監視部                  １４０  引継ぎポリシー管理部
１４１  引継ぎポリシー情報              １４５  引継ぎ判定部
１４６  引継ぎ関係管理部                １４７  引継ぎ関係管理テーブル
１５０  ＢＰ実行サーバ                  １５１  実行基盤
１５２  ビジネスプロセス制御部          １５３  ビジネスプロセス定義
１５４  ビジネスプロセス定義読込部      １５５  ビジネスプロセス実行部
１５６  実行状況管理部                  １５７  実行状況管理テーブル
１６０  運用管理エージェント            １７０  ＢＰ実行サーバ
１７１  実行基盤                        １７２  ビジネスプロセス制御部
１７３  ビジネスプロセス定義            １７４  ビジネスプロセス定義読込部
１７５  ビジネスプロセス実行部          １７６  実行状況管理部
１７７  実行状況管理テーブル            １９０  Ｗｅｂサービス提供サーバ
１９１  Ｗｅｂサービス実行部            １９２  受注サービス提供部
１９３  在庫検索サービス提供部          １９４  引当サービス提供部
１９５  発送サービス提供部              ３００  ビジネスプロセス
３３０  受注ステップ                    ３３１  在庫検索ステップ
３３２  引当ステップ                    ３３３  発送ステップ
３３４  引当例外処理ステップ            １０００  通信ネットワーク
【図１】
2008310687.tif 000003
【図２】
2008310687.tif 000004
【図３】
2008310687.tif 000005
【図４】
2008310687.tif 000006
【図５】
2008310687.tif 000007
【図６】
2008310687.tif 000008
【図７】
2008310687.tif 000009
【図８】
2008310687.tif 000010
【図９】
2008310687.tif 000011
【図１０】
2008310687.tif 000012
【図１１】
2008310687.tif 000013
【図１２】
2008310687.tif 000014
【図１３】
2008310687.tif 000015
【図１４】
2008310687.tif 000016
【図１５】
2008310687.tif 000017
【図１６】
2008310687.tif 000018
【図１７】
2008310687.tif 000019
【図１８】
2008310687.tif 000020
【図１９】
2008310687.tif 000021
【図２０】
2008310687.tif 000022
【図２１】
2008310687.tif 000023
【図２２】
2008310687.tif 000024