(57)【要約】【課題】フロー処理システムのフローから呼び出される各ノードを、複数の物理計算機へ割り当てるときに、フローの実行パスの信頼性の低下を抑制すること。【解決手段】運用管理装置１が、ＢＰ全体から呼び出されるサービスを、１台のサービス実行装置３に対して、割り当てられなかったときには、ＢＰ全体の分岐ごとの実行パスに沿って、ＢＰ全体を複数の部分ＢＰに分割し、各部分ＢＰごとに、そのＢＰの実行により呼び出されるサービスの必要リソース量情報を集計して、部分ＢＰの必要リソース量を求め、求めた部分ＢＰの必要リソース量を上回る利用可能なリソース量をもつサービス実行装置３を検索し、検索されたサービス実行装置３に対して、部分ＢＰごとに呼び出されるサービスを割り当てる。【選択図】図８
2010086317.tif 000002
【特許請求の範囲】
【請求項１】
フローを実行するフロー実行装置と、前記フローのノード呼び出しから呼び出されるノードを実行するノード実行装置と、前記実行されるノードに割り当てられた物理計算機資源である前記ノード実行装置のリソースを管理する運用管理装置と、を含めて構成されるフロー処理システムによるリソース割当方法であって、
前記運用管理装置が、
前記フローのノード呼び出しとそのノード呼び出しの実行により呼び出されるノードとの対応情報、前記呼び出されるノードごとの必要リソース量情報、および、前記ノード実行装置ごとに利用可能なリソース量情報を記憶部から読み取り、
前記フローについて、そのフローの実行により呼び出されるノードの必要リソース量情報を前記対応情報に従って集計して、フローの必要リソース量を求め、求めた前記フローの必要リソース量を上回る利用可能なリソース量をもつ前記ノード実行装置を１台以上検索し、
前記ノード実行装置が１台以上検索されたときには、その検索された１台以上の前記ノード実行装置から１台の前記ノード実行装置を選択し、選択した前記ノード実行装置に対して、前記フローから呼び出されるノードを割り当て、
前記ノード実行装置が１台も検索されなかったときには、前記フローの分岐ごとの実行パスに沿って、フローを複数の部分フローに分割し、各部分フローごとに、そのフローの実行により呼び出されるノードの必要リソース量情報を集計して、部分フローの必要リソース量を求め、求めた前記部分フローの必要リソース量を上回る利用可能なリソース量をもつ前記ノード実行装置を検索し、検索された前記ノード実行装置に対して、部分フローごとに呼び出されるノードを割り当てることを特徴とする
リソース割当方法。
【請求項２】
前記フロー処理システムは、ＢＰ（Business Process）実行装置がフローとしてＢＰを実行し、サービス実行装置がノードとしてサービスを実行するＢＰ処理システムとして構成され、
前記部分フローは、ＢＰの分岐ごとの実行パスに沿って構成される部分ＢＰとして構成され、
前記ノード呼び出しは、ＢＰのサービス呼び出しアクティビティとして構成されることを特徴とする
請求項１に記載のリソース割当方法。
【請求項３】
前記フロー処理システムは、ジョブネット実行装置がフローとしてジョブネットを実行し、ジョブ実行装置がノードとしてジョブを実行するジョブネット処理システムとして構成され、
前記部分フローは、ジョブネットの分岐ごとの実行パスに沿って構成される部分ジョブネットとして構成され、
前記ノード呼び出しは、ジョブネットのジョブ呼び出しとして構成されることを特徴とする
請求項１に記載のリソース割当方法。
【請求項４】
前記フローから呼び出されるノードを１台の前記ノード実行装置に割り当てる工程において、検索された前記１台以上のノード実行装置のうち、提供可能なリソース量が最も大きい前記ノード実行装置を選択することを特徴とする
請求項１ないし請求項３のいずれか１項に記載のリソース割当方法。
【請求項５】
前記運用管理装置は、フローを所定の前記ノード実行装置に割り当てた後、そのフロー、または、その部分フローが冗長指定されているときには、その冗長指定されているフロー、または、その部分フローを、所定の前記ノード実行装置とは別の前記ノード実行装置へと割り当てることを特徴とする
請求項１ないし請求項４のいずれか１項に記載のリソース割当方法。
【請求項６】
前記運用管理装置は、所定のフローから構成される各部分フローを所定の前記ノード実行装置群に割り当てた後、そのフロー、または、その部分フローが冗長指定されているときには、その冗長指定されているフロー、または、その部分フローを、所定の前記ノード実行装置群とは別の前記ノード実行装置へと割り当てることを特徴とする
請求項１ないし請求項４のいずれか１項に記載のリソース割当方法。
【請求項７】
前記ノード実行装置が検索されなかったときの工程において、部分フローの単位で前記ノード実行装置にノードを割り当てることができなかった場合は、リソース不足をエラー通知することを特徴とする
請求項１ないし請求項６のいずれか１項に記載のリソース割当方法。
【請求項８】
請求項１ないし請求項７のいずれか１項に記載のリソース割当方法を、前記フロー処理システムの各装置に実行させるための、リソース割当プログラム。
【請求項９】
フローを実行するフロー実行装置と、前記フローのノード呼び出しから呼び出されるノードを実行するノード実行装置と、前記実行されるノードに割り当てられた物理計算機資源である前記ノード実行装置のリソースを管理する運用管理装置と、を含めて構成されるフロー処理システムであって、
前記運用管理装置が、
前記フローのノード呼び出しとそのノード呼び出しの実行により呼び出されるノードとの対応情報、前記呼び出されるノードごとの必要リソース量情報、および、前記ノード実行装置ごとに利用可能なリソース量情報を記憶部から読み取り、
前記フローについて、そのフローの実行により呼び出されるノードの必要リソース量情報を前記対応情報に従って集計して、フローの必要リソース量を求め、求めた前記フローの必要リソース量を上回る利用可能なリソース量をもつ前記ノード実行装置を１台以上検索し、
前記ノード実行装置が１台以上検索されたときには、その検索された１台以上の前記ノード実行装置から１台の前記ノード実行装置を選択し、選択した前記ノード実行装置に対して、前記フローから呼び出されるノードを割り当て、
前記ノード実行装置が１台も検索されなかったときには、前記フローの分岐ごとの実行パスに沿って、フローを複数の部分フローに分割し、各部分フローごとに、そのフローの実行により呼び出されるノードの必要リソース量情報を集計して、部分フローの必要リソース量を求め、求めた前記部分フローの必要リソース量を上回る利用可能なリソース量をもつ前記ノード実行装置を検索し、検索された前記ノード実行装置に対して、部分フローごとに呼び出されるノードを割り当てることを特徴とする
フロー処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リソース割当方法、リソース割当プログラム、および、フロー処理システムに関する。
【背景技術】
【０００２】
物理計算機のリソースを論理的に分割して、複数の計算機を使用するのと同等の効果を得られる仮想計算機技術が使われている。仮想計算機技術により、従来別々の物理計算機で実行していた業務を少数の物理計算機上の仮想計算機で実行することで、物理計算機数を集約することができる。特許文献１には、仮想計算機の負荷に応じて物理計算機のリソースを割り当てる技術が開示されている。
【特許文献１】特開２００２−２０２９５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
計算機上で実行される多くの業務は、複数の業務単位を実行順序に従って接続する、フロー形式によって表現される。フロー形式で表現される業務の流れは、分岐によって複数の実行パスに分割される。従来の技術では、各業務単位を個別に別々の物理計算機に割り当てられていたものの、フローの実行パスが考慮されていないため、その実行パスの一部の信頼性が低下すると、実行パスの開始点から終了点までのルート全体に、信頼性の低下が影響してしまう。
【０００４】
図２０は、フロー処理システム（上位概念）と、その２つの下位概念（ＢＰ（Business Process）処理システム、ジョブ処理システム）とについて、対応する用語を示す説明表である。
フロー処理システムは、集合要素である「ノード呼び出し」間を、接続端子である「エッジ」で接続することで表現される。１つの「ノード呼び出し」は、その「ノード呼び出し」を実行する計算機とは別の計算機上に割り当てられる「ノード」を呼び出すことで、フローの一業務単位に相当する処理を実行する。また、１つの実行パス上のルートの「ノード呼び出し」を、開始点から終了点まで順に抽出したものが、「部分フロー」である。
【０００５】
フロー処理システムの一例として、ＢＰ処理システムが挙げられる。ＢＰ処理システムでは、「フロー」が「ＢＰ」に、「部分フロー」が「部分ＢＰ」に、「ノード呼び出し」が「サービス呼び出しアクティビティ」に、「ノード」が「サービス」に、それぞれ具現化される。
【０００６】
フロー処理システムの別の一例として、ジョブ処理システムが挙げられる。ジョブ処理システムでは、「フロー」が「ジョブネット」に、「部分フロー」が「部分ジョブネット」に、「ノード呼び出し」が「ジョブ呼び出し」に、「ノード」が「ジョブ」に、それぞれ具現化される。
【０００７】
以上、フロー処理システムの２つの例について、説明した。これらのフロー処理システムで共通するのは、呼び出し先（ノード、サービス、ジョブ）を割り当てる計算機の候補が複数存在するときに、どの呼び出し先をどの計算機に割り当てれば、高い信頼性を得られるか、という課題である。
【０００８】
例えばフロー処理システムの代表例の１つである、ＢＰ処理システムにおいて、ＢＰが定義するアクティビティの実行により呼び出されるサービスの割当には、ＢＰを考慮した割当法により信頼性を向上させることができる。
【０００９】
例えばＢＰ処理システムにおいて、物理計算機ａ１とａ２があり、物理計算機ａ１上の仮想計算機で実行されるサービスｓ１と、物理計算機ａ２上の仮想計算機で実行されるサービスｓ２があるとする。サービスｓ１とｓ２の両方を呼び出す所定ＢＰがあった場合、物理計算機ａ１、ａ２のいずれかで障害が発生すると、所定ＢＰの実行処理は、継続不可能になる。
【００１０】
このように、信頼性が低下してしまう要因は、同一のＢＰから呼び出すサービスに対してリソースを割り当てる物理計算機の数が多いことである。そのため、同一ＢＰから呼び出されるサービスを同一物理計算機に割り当てることにより、信頼性を向上させることができる。
【００１１】
しかし、ＢＰ処理システムにおいて、あるＢＰから呼び出されるサービスの総リソース量が、割り当て先の物理計算機のリソース量よりも多い場合、従来技術では割り当て対象のＢＰから呼び出されるサービスの総リソース量よりも多い物理計算機を新たに用意するか、ＢＰを考慮せずサービスを複数の物理計算機に分散配置する。前者では、物理計算機に余分なリソースが生じてしまい、後者では、信頼性が低下してしまう。
【００１２】
そこで、本発明は、前記した問題を解決し、フロー処理システム（ＢＰ処理システム、ジョブ処理システムも含む）のフローから呼び出される各ノードを、複数の物理計算機へ割り当てるときに、フローの実行パスの信頼性の低下を抑制することを、主な目的とする。
【課題を解決するための手段】
【００１３】
前記課題を解決するために、本発明は、フローを実行するフロー実行装置と、前記フローのノード呼び出しから呼び出されるノードを実行するノード実行装置と、前記実行されるノードに割り当てられた物理計算機資源である前記ノード実行装置のリソースを管理する運用管理装置と、を含めて構成されるフロー処理システムによるリソース割当方法であって、
前記運用管理装置が、
前記フローのノード呼び出しとそのノード呼び出しの実行により呼び出されるノードとの対応情報、前記呼び出されるノードごとの必要リソース量情報、および、前記ノード実行装置ごとに利用可能なリソース量情報を記憶部から読み取り、
前記フローについて、そのフローの実行により呼び出されるノードの必要リソース量情報を前記対応情報に従って集計して、フローの必要リソース量を求め、求めた前記フローの必要リソース量を上回る利用可能なリソース量をもつ前記ノード実行装置を１台以上検索し、
前記ノード実行装置が１台以上検索されたときには、その検索された１台以上の前記ノード実行装置から１台の前記ノード実行装置を選択し、選択した前記ノード実行装置に対して、前記フローから呼び出されるノードを割り当て、
前記ノード実行装置が１台も検索されなかったときには、前記フローの分岐ごとの実行パスに沿って、フローを複数の部分フローに分割し、各部分フローごとに、そのフローの実行により呼び出されるノードの必要リソース量情報を集計して、部分フローの必要リソース量を求め、求めた前記部分フローの必要リソース量を上回る利用可能なリソース量をもつ前記ノード実行装置を検索し、検索された前記ノード実行装置に対して、部分フローごとに呼び出されるノードを割り当てることを特徴とする。
その他の手段は、後記する。
【発明の効果】
【００１４】
本発明によれば、フロー処理システムのフローから呼び出される各ノードを、複数の物理計算機へ割り当てるときに、フローの実行パスの信頼性の低下を抑制することができる。
【発明を実施するための最良の形態】
【００１５】
以下に、本発明が適用されるフロー処理システムの第１実施形態（ＢＰ処理システム）および第２実施形態（ジョブ処理システム）について、説明する。まず、ＢＰ処理システムの第１実施形態について、図面を参照して詳細に説明する。
【００１６】
図１は、ＢＰ処理システムの構成図を示す。ＢＰ処理システムは、１台以上のＢＰ実行装置２と、１台以上の運用管理装置１と、２台以上のサービス実行装置３と、がネットワーク８で接続されて構成される。
物理計算機であるＢＰ実行装置２は、ＣＰＵ４１、ネットワークインタフェース４２、主記憶装置４５、および、二次記憶装置４３を有する。ネットワークインタフェース４２は、ネットワーク８に接続されている。
なお、運用管理装置１および、サービス実行装置３も、ＢＰ実行装置２と同様に各計算機資源を備える物理計算機として構成される。運用管理装置１の主記憶装置４４は、ＢＰ実行装置２および、サービス実行装置３に対する処理プログラム（図２で後記）が実装されている。
【００１７】
運用管理装置１は、ＢＰ実行装置２に対してＢＰの実行を指示し、サービス実行装置３に対してサービスおよびそのサービスに割り当てられるリソースの割当を指示する。
リソースとは、サービス実行装置３の計算機資源であり、例えば、ＣＰＵやメモリなどの性能により定義される。ＢＰ実行装置２は、ＢＰを実行することで、サービス実行装置３が実行するサービスを呼び出す。
ＢＰを利用するユーザは、ＢＰ実行装置２へＢＰの実行を依頼し、ＢＰ実行装置２は、ネットワーク８を通じてＢＰに対応するサービスを実行するよう、サービス実行装置３へ要求電文を転送する。サービス実行装置３の実行結果は、ネットワーク８を通じてＢＰ実行装置２へ伝えられ、最終的にユーザへ実行結果が伝えられる。
【００１８】
さらに、運用管理装置１と、サービス実行装置３とは、運用管理装置１からサービス実行装置３の電源を制御するために、管理用ネットワーク９で接続される。なお、ネットワーク８と、管理用ネットワーク９とは、流れるデータの種別が異なるため、これらの各ネットワークに接続する各装置では、各ネットワークに接続するためのインタフェースを、ネットワークごとに別々に用意することが、望ましい。
【００１９】
図２は、ＢＰ処理システムの機能を示す構成図である。運用管理装置１の主記憶装置４４は、割当計画部１１と、ＢＰ指示部１２と、サービス指示部１３と、電源制御指示部１４と、を有し、ＯＳ４６が起動する。
割当計画部１１は、割当用マスタテーブル１５ａをもとに、割当用コピーテーブル１５ｂを編集することで、サービスへのリソースの割り当て処理を計画する。
ＢＰ指示部１２は、ＢＰ定義テーブル１６ａ，１６ｂの内容をもとにした実行用ＢＰ記憶部２２の内容の更新を、ネットワーク８経由でＢＰ管理部２１に指示する。
サービス指示部１３は、ＢＰ割当テーブル１７ａ，１７ｂと、部分ＢＰ割当テーブル２０ａ，２０ｂと、冗長化定義テーブル１９ａ，１９ｂおよびサービス割当テーブル１８ａ，１８ｂの内容をもとにした仮想計算機３２上のサービスおよびリソースの割り当てを、ネットワーク８経由で仮想計算機制御部３１に指示する。
電源制御指示部１４は、管理用ネットワーク９を介して、電源制御部３５に対してサービス実行装置３の電源オンオフを指示する。
【００２０】
運用管理装置１は、割当用マスタテーブル１５ａと、割当用コピーテーブル１５ｂとを記憶する。
割当用マスタテーブル１５ａは、ＢＰ定義テーブル１６ａと、ＢＰ割当テーブル１７ａと、サービス割当テーブル１８ａと、冗長化定義テーブル１９ａと、部分ＢＰ割当テーブル２０ａと、を有する。
割当用コピーテーブル１５ｂは、ＢＰ定義テーブル１６ｂと、ＢＰ割当テーブル１７ｂと、サービス割当テーブル１８ｂと、冗長化定義テーブル１９ｂと、部分ＢＰ割当テーブル２０ｂと、を有する。
割当用コピーテーブル１５ｂは、割当用マスタテーブル１５ａから作成されたコピーであり、このコピーに対して編集が行われる。編集結果が正常に反映されたときには、割当用コピーテーブル１５ｂの内容が割当用マスタテーブル１５ａへ反映される。
【００２１】
ＢＰ実行装置２は、ＢＰ管理部２１と、実行用ＢＰ記憶部２２と、ＢＰ実行部２３と、ＯＳ４６と、を有する。
ＢＰ管理部２１は、ＢＰ指示部１２からの指示を受け、実行用ＢＰ記憶部２２の内容を更新する。実行用ＢＰ記憶部２２は、ＢＰの処理の流れを定義するための部品であるアクティビティの組合せを記憶する。各アクティビティでは、サービスの呼び出しや条件分岐などを行う。
ＢＰ実行部２３は、実行用ＢＰ記憶部２２のＢＰ情報に従ってサービスの呼び出しを行う。
【００２２】
サービス実行装置３は、仮想計算機制御部３１と、仮想計算機３２と、電源制御部３５と、ＯＳ４６と、を有する。仮想計算機３２は、サービス実行部３３と、負荷監視部３４と、を有する。
【００２３】
仮想計算機制御部３１は、サービス指示部１３からの指示命令を受け、仮想計算機３２に対して、以下に示す指示内容を指示する。
・実行するサービス実行部３３を割り当てる。
・リソースを割り当てる。割り当てるリソースの量は、サービス実行装置３の持つリソースを超えない範囲で、自由に設定することができる。
・仮想計算機３２のリソース使用量を取得する。
【００２４】
仮想計算機３２は、ＢＰ実行部２３が実行するＢＰのアクティビティの実行により呼び出される各サービスの実行に必要な必要リソース量を、サービス実行装置３が提供するリソースから割り当てる。そして、サービス実行部３３を起動する。なお、仮想計算機３２がサービス実行装置３から提供されるリソースは、時間経過に対して不変（固定）でもよいし、可変でもよい。
サービス実行部３３は、仮想計算機３２が割り当てるリソースを利用して、１つ以上のサービスを実行する。
負荷監視部３４は、サービス実行部３３がサービスを実行することにより、そのサービスに割り当てられているリソースへ与えている負荷について、仮想計算機制御部３１に定期的にアクセスすることにより、監視する。
電源制御部３５は、電源制御指示部１４からの電源オンオフの指示を受け、自装置であるサービス実行装置３の電源制御を行う。
【００２５】
図３は、ＢＰ処理システムのＢＰ定義テーブル１６ａ，１６ｂを示す構成図である。ＢＰ定義テーブル１６ａ，１６ｂは、ＢＰ名Ｔ１００１と、ＢＰＩＤＴ１００２と、アクティビティＩＤＴ１００３と、サービスＩＤＴ１００４と、必要リソース量Ｔ１００５と、割当先物理計算機ＩＤＴ１００６と、を対応づけて記憶する。
【００２６】
ＢＰ名Ｔ１００１は、ＢＰを一意に特定する。
【００２７】
ＢＰＩＤＴ１００２は、ＢＰ全体を示す一意に割り振られたＩＤと、ＢＰを分割できる場合には分割した各ＢＰを特定するＩＤを示す。なお、ＢＰを分割できるとは、ＢＰ定義内に分岐が定義されており、実行パスごとに部分ＢＰとして分割できることを意味する。
【００２８】
ＢＰに分岐が定義されていない場合は、例えばＢＰ名が「ＢＰ１」であるＴ１００７のように、ＢＰ全体を示すＢＰＩＤ「ＢＰ１」を特定するのみだが、ＢＰに分岐が定義されている場合は、例えばＢＰ名が「ＢＰ３」であるＴ１００８〜Ｔ１０１０に示したように、ＢＰ全体を示すＢＰＩＤ「ＢＰ３」と、続いて実行パスごとの部分ＢＰを「ＢＰ３−１」Ｔ１００９、「ＢＰ３−２」Ｔ１０１０のように特定する。なお、本例では、ＢＰ全体を示すＢＰＩＤとＢＰ名を同一としているが、異なるＩＤを割り振ってもよい。その場合は、ＢＰ全体を示すＢＰＩＤであることが理解されればよい。
【００２９】
アクティビティＩＤＴ１００３は、ＢＰ名Ｔ１００１とＢＰＩＤＴ１００２で特定されるＢＰを構成するアクティビティを特定する。そのため、例えば、アクティビティＩＤが「Ａ３」であるＴ１０１２〜Ｔ１０１４は同じアクティビティを示す。
【００３０】
サービスＩＤＴ１００４は、アクティビティＩＤＴ１００３のアクティビティから呼び出されるサービスを特定する。そのため、アクティビティＩＤが「Ａ１」であるＴ１０１１と、アクティビティＩＤが「Ａ３」であるＴ１０１２〜Ｔ１０１４とは、アクティビティは異なるが、同じサービスＩＤであるサービス「Ａ」を呼び出すことを示す。
【００３１】
必要リソース量Ｔ１００５は、サービスＩＤＴ１００４のサービスを実行するために必要なサービス実行装置３のリソース量である。そのため、複数の実行パス上の同じアクティビティから呼び出されるサービスに関して、各実行パスから実行するのに必要なリソース量と、全ＢＰが必要とするリソース量は異なる。
例えば、アクティビティＩＤの「Ａ３」に対応する必要リソース量は、全体の場合はＴ１０１２の「２０」となり、部分ＢＰ「ＢＰ３−１」の実行パスの実行に要する必要リソース量は、Ｔ１０１３の「１０」となる。
【００３２】
つまり、部分ＢＰ間でアクティビティ（例えば、「Ａ３」）が重複するときには、そのアクティビティの全体ＢＰにおける必要リソース量（Ｔ１０１２の「２０」）は、そのアクティビティの各部分ＢＰにおける必要リソース量（Ｔ１０１３の「１０」、Ｔ１０１４の「１０」）の総和になる。
なお、全体ＢＰの必要リソース量をどのような割合で、各部分ＢＰのアクティビティに割り当てるかについては、前記したように、各部分ＢＰ間で等分してもよいし、各部分ＢＰの実行により処理されるトランザクション量に比例して、各部分ＢＰ間で異なったりソース量を割り当ててもよい。
【００３３】
割当先物理計算機ＩＤＴ１００６は、サービスＩＤのサービスを割り当てたサービス実行装置３（物理計算機）を特定する。
【００３４】
図４は、ＢＰ処理システムの冗長化定義テーブル１９ａ，１９ｂを示す構成図である。冗長化定義テーブル１９ａ，１９ｂは、システムの運用者が冗長化するＢＰＩＤＴ１００２を管理する。冗長化するＢＰＩＤＴ１１０１（ＢＰ３−１）は、割当計画実行前に定義する。なお、冗長化の対象として、部分ＢＰ（ＢＰ３−１）だけでなく、ＢＰ（ＢＰ４）も指定可能である。
この冗長化定義テーブル１９ａ，１９ｂは、ユーザからの入力により作成される。ユーザからの入力手段として、ＢＰＩＤを文字列として入力またはリストから選択してもよいし、ＢＰとそのアクティビティとをグラフ表示（図８参照）して、そのグラフ表示上からマウスドラッグにより指定された領域内に存在するＢＰを、入力してもよい。
【００３５】
図５は、ＢＰ処理システムのＢＰ割当テーブル１７ａ，１７ｂを示す構成図である。ＢＰ割当テーブル１７ａ，１７ｂは、ＢＰＩＤが示すＢＰもしくは、部分ＢＰから呼び出されるサービスの実行に必要なリソースの総和を管理する。
【００３６】
リソース量合計Ｔ１２０１は、ＢＰＩＤＴ１００２で示すＢＰから呼び出すサービスの実行に必要なリソースの合計である。この合計は、ＢＰ定義テーブル１６ａ，１６ｂのＢＰＩＤが同じレコードの必要リソース量Ｔ１００５の合計により求める。
例えば、ＢＰＩＤ＝「ＢＰ１」の場合、「必要リソース量（アクティビティＩＤ）」と表記すると、「２０（Ａ１）」＋「２０（Ｂ１）」＋「３０（Ｃ１）」＝７０が、リソース量合計となる（Ｔ１２０５）。同様に、部分ＢＰの場合も、例えば、ＢＰＩＤ＝「ＢＰ３−１」の場合、「１０（Ａ３）」＋「２０（Ｄ３）」＝「３０」が、リソース量合計となる。
【００３７】
割当済フラグＴ１２０２は、ＢＰＩＤＴ１００２で示すＢＰに対してリソースが割り当てられているか（真を示すtrue）、否か（偽を示すfalse）を示す。例えば、Ｔ１２０６のように「false」で示されている場合、まだリソースが割り当てられていない状態を示している。
【００３８】
分散割当フラグＴ１２０３は、ＢＰＩＤＴ１００２で示すＢＰに割り当てられたリソースが複数台の物理計算機に分散されて割り当てられているか（true：分散割当とする）、１台の物理計算機に集中して割り当てられているか（false：集中割当とする）を示す。Ｔ１２０７のように「false」で示されている場合、集中割当されていることを示す。
【００３９】
割当可能物理計算機リストＴ１２０４は、リソースを割り当て可能な物理計算機のリストを示す。Ｔ１２０８は、物理計算機のリストとして、「Ｘ」と「Ｙ」と、「Ｚ」の３台があることを示している。
【００４０】
図６は、ＢＰ処理システムの部分ＢＰ割当テーブル２０ａ，２０ｂを示す構成図である。部分ＢＰ割当テーブル２０ａ，２０ｂは、図５に示すＢＰ割当テーブル１７ａ，１７ｂに部分ＢＰの情報が定義されていた場合、その部分ＢＰの情報のみ抽出する。ＢＰ名Ｔ１００１は、部分ＢＰの属するＢＰ名であり、ＢＰＩＤＴ１００２は、各ＢＰの部分ＢＰにおけるＢＰＩＤを特定する。
【００４１】
リソース量合計Ｔ１３０１は、対応する部分ＢＰのＢＰＩＤのリソース量合計である。計算方式は、図５におけるリソース量合計Ｔ１２０１と同様である。
割当済みフラグＴ１３０２は、ＢＰＩＤＴ１００２で示す部分ＢＰに対してリソースが割り当てられているか（真を示すtrue）、否か（偽を示すfalse）を示す。
割当可能物理計算機リストＴ１３０３は、リソースを割り当て可能な物理計算機のリストを示す。
図７は、ＢＰ処理システムのサービス割当テーブル１８ａ，１８ｂを示す構成図である。サービス割当テーブル１８ａ，１８ｂは、物理計算機ＩＤＴ１４０１と、リソース量Ｔ１４０２と、空きリソース量Ｔ１４０３と、割当リストＴ１４０４と、を対応づけて記憶する。
【００４２】
物理計算機ＩＤＴ１４０１は、サービス実行装置３を特定する。
【００４３】
リソース量Ｔ１４０２は、物理計算機ＩＤＴ１４０１の物理計算機における割当可能なリソースの総量を示す。
【００４４】
空きリソース量Ｔ１４０３は、物理計算機ＩＤＴ１４０１の物理計算機におけるリソース量のうち、既に割り当てられたリソース量分だけ除いた残りのリソース量を示す。例えば、所定の物理計算機に「１００」のリソース量があり、そのうち、「４０」のリソース量が既に割り当てられたとすると、空きリソース量は「６０」である。
【００４５】
割当リストＴ１４０４は、物理計算機ＩＤの物理計算機に対して既に割り当てられたサービスの一覧である。例えば、Ｔ１４０５の表記「ＢＰ１」は、物理計算機ＩＤの示す「Ｘ」に対し、そのＩＤが示すＢＰのサービスが割り当てられていることを示す。ＢＰ１が使用するリソース量は、「７０」なので（図中「ＢＰ１（７０）」と記述）、空きリソース量は、割当可能なリソース量「１００」−実際に割り当てられている「ＢＰ１」のリソース量「７０」＝「３０」である。
【００４６】
図８は、２種類のサービスの割当方法（集中割当、分散割当）を示す説明図である。この説明図において、実線の矢印は、アクティビティが実行パスに従って実行される順序を示し、点線の矢印は、アクティビティからサービスへの呼び出し関係を示す。
【００４７】
ＢＰ実行部２３は、ＢＰ「１」およびＢＰ「４」を実行する。ＢＰ「１」は、アクティビティ「Ａ１」→「Ｂ１」→「Ｃ１」の順に実行する。この実行の過程で、例えば、アクティビティ「Ａ１」は、サービス実行装置３のサービス実行部３３が実行するサービス「Ａ」を呼び出す（点線矢印）。
なお、右側のＢＰ「４」には、条件分岐が定義されており、アクティビティ「Ｄ４」→「Ｆ４」の実行パスを示す部分ＢＰ「４−２」と、「Ｄ４」→「Ｇ４」→「Ｈ４」の実行パスを示す部分ＢＰ「４−１」と、によって構成される。そして、部分ＢＰ「４−１」または部分ＢＰ「４−２」のうち、いずれかの実行パスのアクティビティの順に実行する。
【００４８】
まず、集中割当５１は、所定のＢＰに属する全アクティビティの実行により呼び出されるサービスが、同じ１つのサービス実行装置３に集中して割り当てられる旨を示す。例えば、ＢＰ「１」のアクティビティ「Ａ１、Ｂ１、Ｃ１」は、同じサービス実行装置３に割り当てられているサービス「Ａ、Ｂ、Ｃ」を呼び出しているので、集中割当である。
【００４９】
一方、分散割当５２は、所定のＢＰに属する全アクティビティの実行により呼び出されるサービスが、複数のサービス実行装置３に分散して割り当てられる旨を示す。分散して割り当てられる場合は、実行パスに従って部分ＢＰの実行により呼び出されるサービス群を、割り当てる最小単位とする。
例えば、ＢＰ「４」のアクティビティ「Ｄ４，Ｆ４，Ｇ４，Ｈ４」は、部分ＢＰ「４−１」が１台目のサービス実行装置３に割り当てられており、部分ＢＰ「４−２」が２台目のサービス実行装置３に割り当てられているため、分散割当である。
【００５０】
以上、図８で説明した実行パスは、あらかじめユーザにより入力されていてもよいし、ＢＰ全体を入力として、機械的に抽出してもよい。機械的に抽出する手法は、例えば、ＢＰＥＬ（Business Process Execution Language）で記述されたＢＰは、アクティビティをノードとするＸＭＬ（Extensible Markup Language）の木構造であるので、その木構造をルートノード（開始点）から順に辿ることにより、実行パスを抽出する手法が、挙げられる。
【００５１】
図９は、２種類のサービス割当方法（集中割当、冗長割当）を示す説明図である。図８と比較すると、アクティビティ「Ｆ４」が、２台のサービス実行装置３上のサービス「Ｄ」を利用する点が、異なっている。
【００５２】
ＢＰ処理システムにおいて、信頼性を高めるためにサービスの冗長化を考慮することが考えられる。その場合、１つのサービスだけ冗長化してもＢＰ処理システムにおいては不充分であり、最低でもそのサービスが実行される実行パス上のアクティビティの実行により呼び出されるサービス全てを冗長化しなければならない。よって、冗長割当の最小単位は、部分ＢＰ（図中、ＢＰ「４−２」）である。
一方、ＢＰ全体のサービスを冗長化してもよい、その場合は、多くのリソースを要する代わりに、ＢＰ全体が有する全ての部分ＢＰへの障害に対処することができる。
【００５３】
冗長割当とは、既にＢＰ全体の割当が済んでいる状況下で、その割当済みＢＰの少なくとも一部のＢＰを、割当済みのサービス実行装置３とは別のサービス実行装置３に対しても、冗長的に割り当てる方式である。
例えば、ＢＰ「４」は、既に右側のサービス実行装置３への割当が済んでいる。さらに、ＢＰ「４」の信頼性を高めるために、ＢＰ「４−２」を左側のサービス実行装置３にも冗長割当５３を行っている。
【００５４】
図１０は、割当計画部１１が実行するリソースの集中割り当て処理を示すフローチャートである。
【００５５】
まず、割当用マスタテーブル１５ａから割当用コピーテーブル１５ｂへコピーする（Ｓ１０１）。具体的には、ＢＰ定義テーブル１６ａからＢＰ定義テーブル１６ｂへ、ＢＰ割当テーブル１７ａからＢＰ割当テーブル１７ｂへ、サービス割当テーブル１８ａからサービス割当テーブル１８ｂへ、冗長化定義テーブル１９ａから冗長化定義テーブル１９ｂへ、部分ＢＰ割当テーブル２０ａから部分ＢＰ割当テーブル２０ｂへ、それぞれコピーする。
【００５６】
次に、ＢＰ割当テーブル１７ｂを参照し、リソースを割り当てられていないＢＰもしくは部分ＢＰから、それぞれのリソース量合計が大きい順に、割当対象ＢＰとして選択するループ（Ｓ１１１〜Ｓ１１９）を実行する。このループを実行することで、割当対象ＢＰの割当済フラグは、「false」から「true」へ更新される。リソース量合計が大きい順にＢＰを割り当てることで、リソースの空きが複数の物理計算機に断片化されることを抑制できる。
【００５７】
サービス割当テーブル１８ｂを参照し、割当対象ＢＰのリソース量合計を上回る空きリソース量を有する物理計算機を検索する（Ｓ１１２）。
まず、Ｓ１１２の結果、集中割当ができる物理計算機が検索されなかったら（Ｓ１１３，Ｎｏ）、Ｓ１１６に移行する。
割当対象ＢＰが部分ＢＰではなければ（Ｓ１１６，Ｙｅｓ）、割当対象ＢＰを複数台の物理計算機に分散割当する（Ｓ１１７）。具体的には、後記する図１０の処理をサブルーチンとして呼び出す。
割当対象ＢＰが部分ＢＰであれば（Ｓ１１６，Ｎｏ）、これ以上の分散割当はできないとして、リソース不足をエラー通知する（Ｓ１１８）。
【００５８】
一方、Ｓ１１２の結果、物理計算機が検索されたら（Ｓ１１３，Ｙｅｓ）、同じＢＰがその物理計算機に対し割り当てられていないとき（Ｓ１１４，Ｙｅｓ）、その物理計算機に対して割当対象ＢＰを集中割当し（Ｓ１１５）、割当対象ＢＰのループを終了する（Ｓ１１９）。
【００５９】
同じＢＰがその物理計算機に対し割り当てられていた場合（Ｓ１１４，Ｎｏ）、そのＢＰの割当可能物理計算機リストからその物理計算機を削除し、再度収容可能な物理計算機を検索する（Ｓ１１２）。なお、一般的に検索された物理計算機のうち、最も空きリソース量の多い物理計算機にリソースを割り当てるものとする。
【００６０】
集中割当（Ｓ１１５）について、具体的には、Ｓ１１２で特定した割当対象の物理計算機に割当対象ＢＰを割り当てる。つまり、ＢＰ定義テーブル１６ｂの割当対象ＢＰを示すレコード内の割当先物理計算機ＩＤ列に、特定した割当対象の物理計算機のＩＤを書き込む。そして、サービス割当テーブル１８ｂの特定した割当対象の物理計算機を示すレコード内の割当リスト列に、割当対象ＢＰのＢＰＩＤを書き込む。ＢＰ割当テーブル１７ｂの割当対象ＢＰに対応する分散割当フラグに「false」を設定する。
【００６１】
さらに、Ｓ１１９でループを終了した後、Ｓ１１４，Ｓ１１５，Ｓ１１７（詳細は、図１１で後記）で更新した割当用コピーテーブル１５ｂの内容に従って、サービスにリソースを割り当てる（Ｓ１２１）。なお、この処理は、割当用コピーテーブル１５ｂの内容をユーザに確認させ、ユーザからの許諾を得てから実行してもよい。サービスにリソースを割り当てる処理を実現するため、サービス指示部１３は、仮想計算機制御部３１を介して仮想計算機３２に対し、仮想計算機３２の使用するリソースを割り当てさせるとともに、サービス実行部３３を起動し、割り当てた各サービスを割り当てたリソースを用いて実行させる。
【００６２】
割り当て結果をもとに、割当用コピーテーブル１５ｂから割当用マスタテーブル１５ａへ最新の割当状態を反映する（Ｓ１２２）。例えば、割当用コピーテーブル１５ｂの内容が全て正常に割り当てられたときには、割当用マスタテーブル１５ａの内容は、割当用コピーテーブル１５ｂのコピーとなる。一方、割当用コピーテーブル１５ｂの内容の一部に、リソース不足などにより割当エラー（Ｓ１１８，後記する図１１のＳ２０９）が発生したときには、割当用マスタテーブル１５ａの内容は、その割当エラーにより割り当てられなかった割当用コピーテーブル１５ｂの内容の書き込みは省略される。そして、割当用コピーテーブル１５ｂは、不用になるので削除される。
【００６３】
未使用の物理計算機の電源をオフにする（Ｓ１２３）。具体的には、サービス割当テーブル１８ａの割当リストを参照し、リソースの割り当てが行われていない物理計算機の電源をオフにして、省電力化を実行する。そのため、電源制御指示部１４は、管理用ネットワーク９を経由して、リソースの割り当てが行われていない物理計算機の電源制御部３５に対して、その物理計算機の電源オフを指示する。以上、図１０の処理を一通り説明した。
【００６４】
図１１は、図１０が示す割当対象ＢＰを分散割当（Ｓ１１７）するためのフローチャートである。
【００６５】
まず、割当対象ＢＰに対応する分散割当フラグに「true」を設定する（Ｓ２０１）。
【００６６】
次に、部分ＢＰ割当テーブル２０ｂを参照し、割当対象ＢＰに対応するリソースを割り当てられていない部分ＢＰから、部分ＢＰのリソース量合計が大きい順に、割当対象ＢＰとして選択するループ（Ｓ２０２〜Ｓ２０８）を実行する。このループを実行することで、部分ＢＰ割当テーブル２０ｂの割当対象ＢＰの割当済みフラグは、「false」から「true」へ更新される。割当対象ＢＰに対応する全ての部分ＢＰの割当済みフラグが「true」になれば、ＢＰ割当テーブル１７の割当済みフラグは「true」に更新される。
【００６７】
サービス割当テーブル１８ｂを参照し、割当対象部分ＢＰのリソース量合計を上回る空きリソース量を有する（換言すると、部分ＢＰを割り当てられる）物理計算機を検索する（Ｓ２０３）。Ｓ２０４では、Ｓ２０３の検索結果を判断する。
まず、物理計算機が検索されなかったら（Ｓ２０４，Ｎｏ）、その部分ＢＰを割り当てることはできなかったとして、その部分ＢＰの割当作業は終了し、処理をＳ２０７に進める。
【００６８】
一方、物理計算機が検索されたら（Ｓ２０４，Ｙｅｓ）、その物理計算機に対して、割当対象部分ＢＰが含まれるＢＰもしくは同じ部分ＢＰが割り当てられていないか確認し、割り当てられていない場合（Ｓ２０５，Ｙｅｓ）、その物理計算機に対して割当対象部分ＢＰを割り当てる（Ｓ２０６）。
逆に、その物理計算機に対して、割当対象部分ＢＰが含まれるＢＰもしくは同じ部分ＢＰが割り当てられていないか確認し、割り当てられていた場合（Ｓ２０５，Ｎｏ）、そのＢＰの割当可能物理計算機リストからその物理計算機を削除し、再度、部分ＢＰを収容可能な物理計算機を検索する（Ｓ２０３）。なお、一般的に検索された物理計算機のうち、最も空きリソース量の多い物理計算機にリソースを割り当てるものとする。
【００６９】
ここで、割当対象ＢＰに属する全ての部分ＢＰの割り当てが完了したか否かを判定する（Ｓ２０７）。割当対象ＢＰに属する全ての部分ＢＰの割り当てが完了したとは、Ｓ２０６の割り当て処理により、割当対象ＢＰの実行により呼び出されるサービスが全て割り当てられたことを示す。Ｓ２０７でＹｅｓの場合、ＢＰ割当テーブル１７ｂの割当済みフラグを「true」に更新し、サブルーチンから呼び出し元（Ｓ１１７）へ戻る。
【００７０】
一方、割当対象ＢＰの割当が完了していないなら（Ｓ２０７，Ｎｏ）、ループを終了する（Ｓ２０８）。
【００７１】
もし、Ｓ２０２〜Ｓ２０８のループを抜けたとき、Ｓ２０７でＹｅｓとならなかったので、リソース不足で部分ＢＰのリソースが割り当てられず、サービスを実行できない旨のエラーをユーザおよび呼び出し元へ通知する（Ｓ２０９）。これらの処理の終了後、サブルーチンから呼び出し元（Ｓ１１７）へ戻る。
【００７２】
図１２は、ＢＰの分散割当配置結果を記述するサービス割当テーブル１８を示す構成図である。ＢＰ定義テーブル１６ｂにおけるＢＰ１と、ＢＰ２と、ＢＰ３と、を２台の物理計算機Ｘと、Ｙと、に割り当てた場合のサービス割当テーブルの結果である。ＢＰ３は、集中割当することができず、ＢＰ３−１と、ＢＰ３−２と、に分散割当されている。従来の技術では、３台目の物理計算機Ｚを用意するか、実行パスを意識しないで配備するか、をユーザが選択しなければならず、前者は物理計算機のリソースに無駄が生じ、後者は、信頼性が低下したが、本実施形態の分散割当処理（図１１参照）により無駄なく信頼性の向上したリソース割り当てを実現できた。
【００７３】
図１３は、ＢＰの分散割当配置結果を記述するサービス割当テーブル１８を示す構成図である。ＢＰ定義テーブル１６ｂにおけるＢＰ４と、ＢＰ５と、を３台の物理計算機Ｘ，Ｙ，Ｚに割り当てた場合のサービス割当テーブルの結果である。ＢＰ４，ＢＰ５ともに集中割当することができず、ＢＰ４は、ＢＰ４−１と、ＢＰ４−２と、に分散割当され、ＢＰ５は、ＢＰ５−１と、ＢＰ５−２と、に分散割当されている。あるＢＰのリソース量合計が１台の物理計算機のリソース量より大きな場合において、本実施形態は信頼性を損なうことなくリソース割り当てすることが可能である。
【００７４】
図１４は、ＢＰの冗長割当配置結果を記述するサービス割当テーブル１８を示す構成図である。ＢＰ定義テーブル１６ｂにおけるＢＰ１と、ＢＰ２と、ＢＰ３と、を３台の物理計算機Ｘ，Ｙ，Ｚとに割り当てた場合のサービス割当テーブルの結果である。ただし、ユーザは冗長化定義テーブル１９ｂにおいて、ＢＰ３−１の部分ＢＰを冗長化するように指定している。
ＢＰ３−１は、同じ部分ＢＰを含むＢＰ３が割り当てられている物理計算機Ｚには割り当てられず、別の物理計算機に割り当てられている。この結果、例えば、物理計算機Ｚが故障したとしても、物理計算機Ｙが稼働していれば、ＢＰ３−１の実行パスは救うことができる。本実施形態の結果、ＢＰの冗長化に成功した。
【００７５】
図１５は、ＢＰの分散割当配置と冗長割当配置結果を記述するサービス割当テーブル１８を示す構成図である。ＢＰ定義テーブル１６ｂにおけるＢＰ１と、ＢＰ３と、ＢＰ５と、を３台の物理計算機Ｘ，Ｙ，Ｚとに割り当てた場合のサービス割当テーブルの結果である。ただし、ユーザは冗長化定義テーブル１９ｂにおいて、ＢＰ３−１の部分ＢＰを冗長化するように指定している。
このように、物理計算機のリソース量とＢＰのリソース量合計の結果によっては、ＢＰの冗長割当と同時に分散割当を実現することができる。
ＢＰ処理システムにおいては、ＢＰのアクティビティの実行により呼び出されるサービスのリソース量合計が大きい、あるいは、サービスの冗長化がどうしても必要な場合が存在する。そのようなＢＰ処理システムにおいて、信頼性が向上した割当システムを実現することができた。
【００７６】
本実施形態により、ＢＰの実行により呼び出されるサービスの信頼性が向上する。例えば、あるＢＰを２つの部分ＢＰｂ１、ｂ２に分割し、２台のサービス実行装置ａ１、ａ２にｂ１から呼び出されるサービスとｂ２から呼び出されるサービスを分散配置した場合、ａ１のサービス実行装置が故障しても、残りの部分ＢＰｂ２は実行することができる。また、ＢＰを実行パスごと細かく分割できるので、リソースの無駄を省略することができる。
【００７７】
以下に、本発明が適用されるフロー処理システムの第２実施形態（ジョブ処理システム）について、説明する。既に図２０を参照して説明したように、第１実施形態（ＢＰ処理システム）と、第２実施形態（ジョブ処理システム）と、の違いは、扱うデータ内容が、ＢＰかジョブかという違いであり、第１実施形態の各技術的特徴（集中割当、分散割当、冗長割当）は、第２実施形態においても有している。
よって、第１実施形態と第２実施形態との構成要素の対応関係を明確にするため、第１実施形態の構成要素（例えば、ＢＰ指示部１２）の符号下２桁「１２」と、第２実施形態の構成要素（例えば、ジョブネット指示部１１２）の符号下２桁「１２」と、が一致するように、符号を構成する。
【００７８】
図１６は、図１と同様に、ジョブ処理システムの構成図を示す。運用管理装置１０１は、ジョブネット管理装置１０２へジョブネットの実行指示を行うことと、ジョブ実行装置１０３へリソースとジョブの割当を行う。
【００７９】
図１７は、図２と同様に、ジョブ処理システムの機能を示す構成図である。運用管理装置１０１の主記憶装置４４は、割当計画部１１と、ジョブネット指示部１１２と、ジョブ指示部１１３と、電源制御指示部１４と、を有し、ＯＳ４６が起動する。
割当計画部１１は、割当用マスタテーブル１１５ａをもとに、割当用コピーテーブル１１５ｂを編集することで、ジョブへのリソースの割り当て処理を計画する。
ジョブネット指示部１１２は、ジョブネット定義テーブル１１６ａ，１１６ｂの内容をもとにした実行用ジョブネット記憶部７３の内容の更新を、ネットワーク８経由でジョブネット管理部１２１に指示する。
ジョブ指示部１１３は、ジョブネット割当テーブル１１７ａ，１１７ｂと、部分ジョブネット割当テーブル１２０ａ，１２０ｂと、冗長化定義テーブル１１９ａ，１１９ｂおよびジョブ割当テーブル１１８ａ，１１８ｂの内容をもとにした仮想計算機３２上のジョブおよびリソースの割り当てを、ネットワーク８経由で仮想計算機制御部３１に指示する。
電源制御指示部１４は、管理用ネットワーク９を介して、電源制御部３５に対してジョブ実行装置１０３の電源オンオフを指示する。
【００８０】
運用管理装置１０１は、割当用マスタテーブル１１５ａと、割当用コピーテーブル１１５ｂとを記憶する。
割当用マスタテーブル１１５ａは、ジョブネット定義テーブル１１６ａと、ジョブネット割当テーブル１１７ａと、ジョブ割当テーブル１１８ａと、冗長化定義テーブル１１９ａと、部分ジョブネット割当テーブル１２０ａと、を有する。
割当用コピーテーブル１１５ｂは、ジョブネット定義テーブル１１６ｂと、ジョブネット割当テーブル１１７ｂと、ジョブ割当テーブル１１８ｂと、冗長化定義テーブル１１９ｂと、部分ジョブネット割当テーブル１２０ｂと、を有する。
割当用コピーテーブル１１５ｂは、割当用マスタテーブル１１５ａから作成されたコピーであり、このコピーに対して編集が行われる。編集結果が正常に反映されたときには、割当用コピーテーブル１１５ｂの内容が割当用マスタテーブル１１５ａへ反映される。
【００８１】
図１８は、図８と同様に、ジョブネットのジョブの割当方法を示す説明図である。ジョブネット実行部１２３は、ジョブネット「１」およびジョブネット「４」を実行する。図１８におけるジョブ処理システムの集中割当も分散割当も、ＢＰ処理システムと同様の発想である。ジョブを１台のジョブ実行装置１０３に配置した場合、集中割当となり、ジョブを複数のジョブ実行装置１０３に配置した場合、分散割当となる。
【００８２】
図１９は、図９と同様に、ジョブネットのジョブの割当方法を示す説明図である。ジョブネット「１」は同じ１つのジョブ実行装置１０３に集中割当されており、ジョブネット「４」は別のジョブ実行装置１０３に集中割当されている。
ここで、特定のジョブを冗長化することを考える。ジョブ処理の実行を考えた場合、ジョブ同士が独立した処理ではなく、互いに依存関係にあった場合（例えば、ジョブ呼び出し「Ｄ４」の結果がジョブ呼び出し「Ｆ４」に影響するなど）、ジョブ１つだけ冗長化しても信頼性に問題が生じるので、少なくとも冗長化するジョブネット上の特定のジョブを含む実行パス上のジョブから呼び出される実際のジョブプログラム全てを冗長化しなければならない。
冗長割当５３は、ジョブネット「４」のジョブ「Ｄ４，Ｆ４」の実行パスを示す部分ジョブネット「４−２」の単位で冗長化して１つのジョブ実行装置１０３に割り当てている。
【００８３】
以上説明したように、第１実施形態（ＢＰ処理システム）、第２実施形態（ジョブ処理システム）それぞれについて、フロー処理システムの信頼性を向上させ、物理計算機のリソースの無駄を最小限にするように、管理装置から呼び出されるサービスもしくはジョブを物理計算機のリソースに割り当てることができる。
【００８４】
図２１は、第１実施形態（ＢＰ処理システム）において、割当方式をまとめた表である。以下、運用管理装置１の処理の概要を説明する。
ＢＰ（全体）＞部分ＢＰ＞（１つの）サービス呼び出しアクティビティ、の順に、必要とするリソース量が大きくなる。
割り当て対象のＢＰを割り当てるときに、そのＢＰ全体を１台に集中割当できれば、高信頼性を得ることができる。
もし、ＢＰ全体が大きすぎて集中割当できないときには、１つ以上のアクティビティにより構成される部分ＢＰを単位として、複数台（少数台）に分散割当を試みる。部分ＢＰの分散割当ができたときには、実行パス単位では１台に割り当てたことになり、適度な信頼性を得ることができる。
さらに、部分ＢＰを単位としても、分散割当できなかったときには、さらに細かい１つのアクティビティを単位として割り当てる代わりに、エラーを発行する。
【００８５】
さらに、ＢＰ全体の集中割当、または、部分ＢＰの分散割当ができたときには、その割当済みのＢＰの信頼性をさらに向上させるため、冗長割当を行ってもよい。冗長割当では、あらかじめユーザから指定されたＢＰ全体、または、部分ＢＰを単位として、割当済みのサービス実行装置３とは別のサービス実行装置３を新たに検索して、指定されたＢＰ全体、または、部分ＢＰを割り当てる。
【図面の簡単な説明】
【００８６】
【図１】本発明の第１実施形態に関するＢＰ処理システムを示す構成図である。
【図２】本発明の第１実施形態に関するＢＰ処理システムの機能を示す構成図である。
【図３】本発明の第１実施形態に関するＢＰ処理システムのＢＰ定義テーブルを示す構成図である。
【図４】本発明の第１実施形態に関するＢＰ処理システムの冗長化定義テーブルを示す構成図である。
【図５】本発明の第１実施形態に関するＢＰ処理システムのＢＰ割当テーブルを示す構成図である。
【図６】本発明の第１実施形態に関するＢＰ処理システムの部分ＢＰ割当テーブルを示す構成図である。
【図７】本発明の第１実施形態に関するＢＰ処理システムのサービス割当テーブルを示す構成図である。
【図８】本発明の第１実施形態に関するＢＰ処理システムにおける２種類のサービスの割当方法（集中割当、分散割当）を示す説明図である。
【図９】本発明の第１実施形態に関するＢＰ処理システムにおける２種類のサービスの割当方法（集中割当、冗長割当）を示す説明図である。
【図１０】本発明の第１実施形態に関するリソース割り当て処理を示すフローチャートである。
【図１１】本発明の第１実施形態に関する分散割当する処理を示すフローチャートである。
【図１２】本発明の第１実施形態に関するＢＰの分散割当配置結果を記述するサービス割当テーブルを示す構成図である。
【図１３】本発明の第１実施形態に関するＢＰの分散割当配置結果を記述するサービス割当テーブルを示す構成図である。
【図１４】本発明の第１実施形態に関するＢＰの冗長割当配置結果を記述するサービス割当テーブルを示す構成図である。
【図１５】本発明の第１実施形態に関するＢＰの分散割当配置と冗長割当配置結果を記述するサービス割当テーブルを示す構成図である。
【図１６】本発明の第２実施形態に関するジョブ処理システムを示す構成図である。
【図１７】本発明の第２実施形態に関するジョブ処理システムの機能を示す構成図である。
【図１８】本発明の第２実施形態に関するジョブ処理システムにおける２種類のサービスの割当方法（集中割当、分散割当）を示す説明図である。
【図１９】本発明の第２実施形態に関するジョブ処理システムにおける２種類のサービスの割当方法（集中割当、冗長割当）を示す説明図である。
【図２０】フロー処理システムの用語を示す説明図である。
【図２１】本発明の一実施形態に関する３種類の割当方式を示す説明図である。
【符号の説明】
【００８７】
１      運用管理装置
２      ＢＰ実行装置
３      サービス実行装置
８      ネットワーク
９      管理用ネットワーク
１１    割当計画部
１２    ＢＰ指示部
１３    サービス指示部
１４    電源制御指示部
１５ａ  割当用マスタテーブル
１５ｂ  割当用コピーテーブル
１６    ＢＰ定義テーブル
１７    ＢＰ割当テーブル
１８    サービス割当テーブル
１９    冗長化定義テーブル
２０    部分ＢＰ割当テーブル
２１    ＢＰ管理部
２２    実行用ＢＰ記憶部
２３    ＢＰ実行部
３１    仮想計算機制御部
３２    仮想計算機
３３    サービス実行部
３４    負荷監視部
３５    電源制御部
４１    ＣＰＵ
４２    ネットワークインタフェース
４３    二次記憶装置
４４    主記憶装置
４５    主記憶装置
４６    ＯＳ
５１    集中割当
５２    分散割当
５３    部分冗長割当
１０１  運用管理装置
１０２  ジョブネット管理装置
１０３  ジョブ実行装置
１１２  ジョブネット指示部
１１３  ジョブ指示部
１１５ａ  割当用マスタテーブル
１１５ｂ  割当用コピーテーブル
１１６  ジョブネット定義テーブル
１１７  ジョブネット割当テーブル
１１８  ジョブ割当テーブル
１１９  冗長化定義テーブル
１２０  部分ジョブネット割当テーブル
１２１  ジョブネット管理部
１２２  実行用ジョブネット記憶部
１２３  ジョブネット実行部
１３３  ジョブ実行部
【図１】
2010086317.tif 000003
【図２】
2010086317.tif 000004
【図３】
2010086317.tif 000005
【図４】
2010086317.tif 000006
【図５】
2010086317.tif 000007
【図６】
2010086317.tif 000008
【図７】
2010086317.tif 000009
【図８】
2010086317.tif 000010
【図９】
2010086317.tif 000011
【図１０】
2010086317.tif 000012
【図１１】
2010086317.tif 000013
【図１２】
2010086317.tif 000014
【図１３】
2010086317.tif 000015
【図１４】
2010086317.tif 000016
【図１５】
2010086317.tif 000017
【図１６】
2010086317.tif 000018
【図１７】
2010086317.tif 000019
【図１８】
2010086317.tif 000020
【図１９】
2010086317.tif 000021
【図２０】
2010086317.tif 000022
【図２１】
2010086317.tif 000023