(57)【要約】      （修正有）【課題】分散処理環境において、ビジネスプロセスの実行品質の要求レベルを満たすようにＩＴリソースを柔軟に賄うことを可能とする。【解決手段】クライアント端末から業務情報処理の提供の要求を受信し、要求された業務情報処理を構成するサービスの実行フロー情報と、実行品質情報とを特定し、前記サービスを実行可能であり前記実行品質を満たすＩＴリソースを特定して当該ＩＴリソースに対して前記サービスの実行を依頼し、当該ＩＴリソースが特定できない場合には複数のＩＴリソースを用いて実行品質を満たすＩＴリソースの組合せを特定し、特定した組合せに含まれるＩＴリソースに対して前記サービスの実行を依頼することを特徴とする処理依頼先管理装置。【選択図】図１
2010272090.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してクライアント端末に所定の業務情報処理を提供する処理依頼先管理装置であって、
前記業務情報処理を構成する一つ以上のサービスとその実行フローを特定する実行フロー情報と、前記業務情報処理に要求される実行品質を特定する実行品質情報と、前記サービスを実現するコンポーネントを実行可能なＩＴリソースを特定するコンポーネント管理情報と、前記ＩＴリソースが提供する実行品質を特定するＩＴリソース品質情報と、を格納する記憶部と、
前記クライアント端末から前記業務情報処理の提供の要求を受信し、要求された業務情報処理を構成するサービスの実行フロー情報と、要求された前記業務情報処理の実行品質情報と、を前記記憶部から特定する実行フロー管理部と、
前記実行フロー管理部において特定された前記実行フロー情報により特定されるサービスごとに、前記コンポーネント管理情報を読み出して前記サービスを実行可能なＩＴリソースを特定し、前記ＩＴリソース品質情報を読み出して、特定したＩＴリソースに単体で前記実行品質を満たすＩＴリソースが含まれるか否かを判定し、当該ＩＴリソースが含まれる場合には当該ＩＴリソースを特定して当該ＩＴリソースに対して前記サービスの実行を依頼し、当該ＩＴリソースが含まれない場合には複数のＩＴリソースを用いて実行品質を満たすＩＴリソースの組合せを特定し、特定した組合せに含まれるＩＴリソースに対して前記サービスの実行を依頼するメッセージング処理部と、
を備えることを特徴とする処理依頼先管理装置。
【請求項２】
請求項１に記載の処理依頼先管理装置であって、さらに、
前記コンポーネントの配備を行うコンポーネントコーディネート部を備え、
前記メッセージング処理部は、単体で前記実行品質を満たすＩＴリソースが含まれない場合には、さらに、前記コンポーネント管理情報を読み出して、前記実行品質を単体で満たし、かつ、前記コンポーネントが実行可能となっていないＩＴリソースが存在する場合には、当該ＩＴリソースに前記コンポーネントを配備するよう前記コンポーネントコーディネート部に指示する、
ことを特徴とする処理依頼先管理装置。
【請求項３】
請求項２に記載の処理依頼先管理装置であって、
前記メッセージング処理部は、単体で前記実行品質を満たすＩＴリソースが、特定した前記ＩＴリソースに含まれない場合であって、さらに、前記コンポーネントを配備しても前記実行品質を単体で満たすＩＴリソースが存在しない場合には、複数のＩＴリソースを用いて実行品質を満たすＩＴリソースの組合せを特定し、特定したＩＴリソースに、前記コンポーネントが配備されていないＩＴリソースが含まれる場合には、当該ＩＴリソースに前記コンポーネントを配備するよう前記コンポーネントコーディネート部に指示する、
ことを特徴とする処理依頼先管理装置。
【請求項４】
請求項２または３に記載の処理依頼先管理装置であって、
前記コンポーネントコーディネート部は、
配備を指示されたコンポーネントについて、配備先のＩＴリソースの稼働環境に応じた改変を行って配備する、
ことを特徴とする処理依頼先管理装置。
【請求項５】
請求項２〜４のいずれか一項に記載の処理依頼先管理装置であって、
前記コンポーネントコーディネート部は、
配備を指示されたコンポーネントを配備する際に、配備先のＩＴリソースに必要なミドルウェアが配備されていない場合には、併せて当該ミドルウェアを配備する、
ことを特徴とする処理依頼先管理装置。
【請求項６】
請求項１〜５のいずれか一項に記載の処理依頼先管理装置であって、
前記業務情報処理に要求される実行品質には、稼働率に関する情報が含まれる、
ことを特徴とする処理依頼先管理装置。
【請求項７】
請求項６に記載の処理依頼先管理装置であって、
前記メッセージング処理部は、前記要求された実行品質に稼働率に関する情報が含まれる場合に、複数の前記サービスを実行可能なＩＴリソースを平行して稼働させることにより求まる稼働率が前記要求された実行品質を満たすＩＴリソースの組合せを特定する、
ことを特徴とする処理依頼先管理装置。
【請求項８】
請求項１〜５のいずれか一項に記載の処理依頼先管理装置であって、
前記業務情報処理に要求される実行品質には、応答時間に関する情報が含まれる、
ことを特徴とする処理依頼先管理装置。
【請求項９】
請求項８に記載の処理依頼先管理装置であって、
前記メッセージング処理部は、前記要求された実行品質に応答時間に関する情報が含まれる場合に、複数の前記サービスを実行可能なＩＴリソースのうち最も応答時間が短いＩＴリソースを特定し、当該ＩＴリソースの応答時間が前記要求された実行品質に満たない場合、当該応答時間と前記要求された実行品質との比の値に応じて、前記コンポーネントが配備されていないＩＴリソースに前記コンポーネントを配備する、
ことを特徴とする処理依頼先管理装置。
【請求項１０】
請求項１〜９のいずれか一項に記載の処理依頼先管理装置であって、
前記実行フロー管理部は、前記クライアント端末から前記業務情報処理の提供の要求ととともに、特別要求有無情報を受信し、前記要求された前記業務情報処理の実行品質情報を特定する際に、前記特別要求がある場合には当該特別要求に対応した実行品質情報を特定する、
ことを特徴とする処理依頼先管理装置。
【請求項１１】
コンピュータに、ネットワークを介してクライアント端末に所定の業務情報処理を提供する処理依頼先管理手順を実行させるプログラムであって、
前記コンピュータを、制御手段と、前記業務情報処理を構成する一つ以上のサービスとその実行フローを特定する実行フロー情報と、前記業務情報処理に要求される実行品質を特定する実行品質情報と、前記サービスを実現するコンポーネントを実行可能なＩＴリソースを特定するコンポーネント管理情報と、前記ＩＴリソースが提供する実行品質を特定するＩＴリソース品質情報と、を格納した記憶手段として機能させ、
前記制御手段に対して、
前記クライアント端末から前記業務情報処理の提供の要求を受信し、要求された業務情報処理を構成するサービスの実行フロー情報と、要求された前記業務情報処理の実行品質情報と、を前記記憶部から特定する実行フロー管理手順と、
前記実行フロー管理手順において特定した実行フロー情報により特定されるサービスごとに、前記コンポーネント管理情報を読み出して前記サービスを実行可能なＩＴリソースを特定し、前記ＩＴリソース品質情報を読み出して、特定したＩＴリソースに単体で前記実行品質を満たすＩＴリソースが含まれるか否かを判定し、当該ＩＴリソースが含まれる場合には当該ＩＴリソースを特定して当該ＩＴリソースに対して前記サービスの実行を依頼し、当該ＩＴリソースが含まれない場合には複数のＩＴリソースを用いて実行品質を満たすＩＴリソースの組合せを特定し、特定した組合せに含まれるＩＴリソースに対して前記サービスの実行を依頼するメッセージング処理手順と、
を実行させることを特徴とするプログラム。
【請求項１２】
ネットワークを介してクライアント端末に所定の業務情報処理を提供する処理依頼先管理装置の処理依頼先管理方法であって、
前記処理依頼先管理装置は、
前記業務情報処理を構成する一つ以上のサービスとその実行フローを特定する実行フロー情報と、前記業務情報処理に要求される実行品質を特定する実行品質情報と、前記サービスを実現するコンポーネントを実行可能なＩＴリソースを特定するコンポーネント管理情報と、前記ＩＴリソースが提供する実行品質を特定するＩＴリソース品質情報と、を格納した記憶部を備え、
前記クライアント端末から前記業務情報処理の提供の要求を受信し、要求された業務情報処理を構成するサービスの実行フロー情報と、要求された前記業務情報処理の実行品質情報と、を前記記憶部から特定する実行フロー管理ステップと、
前記実行フロー管理ステップにおいて特定された前記実行フロー情報により特定されるサービスごとに、前記コンポーネント管理情報を読み出して前記サービスを実行可能なＩＴリソースを特定し、前記ＩＴリソース品質情報を読み出して、特定したＩＴリソースに単体で前記実行品質を満たすＩＴリソースが含まれるか否かを判定し、当該ＩＴリソースが含まれる場合には当該ＩＴリソースを特定して当該ＩＴリソースに対して前記サービスの実行を依頼し、当該ＩＴリソースが含まれない場合には複数のＩＴリソースを用いて実行品質を満たすＩＴリソースの組合せを特定し、特定した組合せに含まれるＩＴリソースに対して前記サービスの実行を依頼するメッセージング処理ステップと、
を実施することを特徴とする処理依頼先管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散処理環境における処理依頼先管理を行う技術に関する。
【背景技術】
【０００２】
従来、ＳＯＡ（Service Oriented Architecture）等の考え方に基づき、企業の情報システムを柔軟に構成する技術がある。ＳＯＡの考え方では、業務単位で処理を実行する適用業務プログラムをサーバ上に配置して処理するのではなく、業務を業務単位よりも小さな複数の実行単位（サービス）に分解してサービスコンポーネントに実装し、分散処理環境に配置する。そして、処理依頼先管理装置が、実行する業務（ビジネスプロセス）に応じて当該サービスを組み合わせて処理を実現させる。このようにすることで、業務の流れの変更等が生じても、変更すべきサービスコンポーネントを作り変えるだけで変更に対応できる。場合によっては、サービスの実行順序を変更するだけで業務の流れの変更に対応でき、情報システムをビジネス環境の変化に機敏に対応させ易くなる。このようなＳＯＡ等の分散アプリケーション実行環境においては、要求されたビジネスプロセスを構成するサービスを実行するために必要となるハードウェアリソースをビジネスプロセスに応じて割り当てる技術がある（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２５７６９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１に記載の技術では、既存のハードウェアリソースを用いることではサービスの実行品質（主に稼働率やレスポンス等の非機能要件の品質）を満足できない場合、例えば高い稼働率が求められるサービスを実行する際に、既存のハードウェアリソースのうちいずれのリソースも要求レベルに達することができないような場合にあっては、サービスの実行品質を要求された品質よりも低い品質のまま実行せざるを得ない。
【０００５】
そこで、本発明は、分散処理環境において、ビジネスプロセスの実行品質の要求レベルを満たすようにＩＴリソースを賄うことを可能とする技術の提供を目的とする。
【課題を解決するための手段】
【０００６】
本願に係る処理依頼先管理の技術は、上記課題を解決するため、ビジネスプロセスを構成するサービスを実行するハードウェアリソースを、当該ビジネスプロセスの要求品質を満たすように組み合わせて提供する。
【０００７】
例えば、ネットワークを介してクライアント端末に所定の業務情報処理を提供する処理依頼先管理装置であって、前記業務情報処理を構成する一つ以上のサービスとその実行フローを特定する実行フロー情報と、前記業務情報処理に要求される実行品質を特定する実行品質情報と、前記サービスを実現するコンポーネントを実行可能なＩＴリソースを特定するコンポーネント管理情報と、前記ＩＴリソースが提供する実行品質を特定するＩＴリソース品質情報と、を格納する記憶部と、前記クライアント端末から前記業務情報処理の提供の要求を受信し、要求された業務情報処理を構成するサービスの実行フロー情報と、要求された前記業務情報処理の実行品質情報と、を前記記憶部から特定する実行フロー管理部と、前記実行フロー管理部において特定された前記実行フロー情報により特定されるサービスごとに、前記コンポーネント管理情報を読み出して前記サービスを実行可能なＩＴリソースを特定し、前記ＩＴリソース品質情報を読み出して、特定したＩＴリソースに単体で前記実行品質を満たすＩＴリソースが含まれるか否かを判定し、当該ＩＴリソースが含まれる場合には当該ＩＴリソースを特定して当該ＩＴリソースに対して前記サービスの実行を依頼し、当該ＩＴリソースが含まれない場合には複数のＩＴリソースを用いて実行品質を満たすＩＴリソースの組合せを特定し、特定した組合せに含まれるＩＴリソースに対して前記サービスの実行を依頼するメッセージング処理部と、を備えることを特徴とする。
【発明の効果】
【０００８】
分散処理環境において、サービスの実行品質の要求レベルを満たすようにＩＴリソースを柔軟に賄うことを可能とする技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】分散処理システムの概略図である。
【図２】クライアント端末と処理依頼先管理サーバの構成を示す図である。
【図３】サービス実行サーバαの構成を示す図である。
【図４】サービス実行サーバβの構成を示す図である。
【図５】処理依頼先管理サーバのハードウェア構成図である。
【図６】実行フロー定義テーブルの例を示す図である。
【図７】実行品質定義テーブルの例を示す図である。
【図８】コンポーネント管理テーブルの例を示す図である。
【図９】ＩＴリソース品質テーブルの例を示す図である。
【図１０】実行品質テーブルの例を示す図である。
【図１１】実行フロー管理処理の処理フローを示す図である。
【図１２】実行品質管理処理の処理フローを示す図である。
【図１３】メッセージング処理の処理フローを示す図である。
【図１４】コンポーネントコーディネート処理の処理フローを示す図である。
【図１５】ＩＴリソース割当処理の処理フローを示す図である。
【発明を実施するための形態】
【００１０】
図１は、本発明の実施形態にかかる分散処理システム１を示す図である。
【００１１】
本発明における分散処理システム１は、クライアント端末１００と、処理依頼先管理サーバ２００と、複数のサービス実行サーバ３００と、各種データベースを管理する各種ＤＢサーバ４００と、を含んで構成され、各端末、サーバは、ネットワーク１５０を介して互いに通信可能である。
【００１２】
ネットワーク１５０は、通常はＬＡＮ（Local Area Network）等の利用者の組織が管理する通信網である。ただし、これに限らず、ネットワーク１５０は、インターネット等の公衆通信網、ＷＡＮ（Wide Area Network）またはＶＰＮ（Virtual Private Network）等の一般公衆回線を一部に用いた通信網であってもよい。
【００１３】
クライアント端末１００は、使用者からの操作入力（実行業務に関する操作）を受け付けて、ネットワーク１５０を介して処理依頼先管理サーバ２００に対して処理を依頼し、処理依頼先管理サーバ２００から処理の結果に関する情報を受け取って使用者に提示する。
【００１４】
クライアント端末１００は、図２に示すように、記憶部１２０と、制御部１３０と、入力部１４１と、出力部１４２と、通信部１４３と、を有する。
【００１５】
記憶部１２０は、各種の電子情報を格納する。
【００１６】
制御部１３０は、ブラウザ部１３１を備える。ブラウザ部１３１は、後述する通信部１４３を介してネットワーク１５０に接続し、ネットワーク１５０に接続された他の装置と通信を行う。また、使用者の操作入力を入力部１４１を介して受け付け、使用者に提示する情報を出力部１４２に依頼して出力する。例えば、ブラウザ部１３１は、ＨＴＭＬ（Hyper Text Markup Language）等の修飾表示情報を有するＷｅｂページ等を受信すると表示し、当該Ｗｅｂページ上に使用者から入力された情報をリンク先のサーバ等に送信することができる。
【００１７】
入力部１４１は、使用者からの情報の入力を受け付ける。出力部１４２は、使用者に対して、各種の情報を出力する。通信部１４３は、ネットワーク１５０を介して他の機器に接続し、接続した他の機器に対して情報の送信を行い、接続した他の機器から送信された情報の受信を行う。
【００１８】
処理依頼先管理サーバ２００は、ネットワーク１５０を介して、クライアント端末１００からの要求や指示に応じて、サービスに関する処理と、当該処理を実行させるサービス実行サーバ３００を特定し、特定したサービス実行サーバ３００に対して当該処理の開始等の指示を送信する。また、処理依頼先管理サーバ２００は、クライアント端末１００にて表示すべきサービスに関する画面情報をＨＴＭＬ等により構成してクライアント端末１００に対して送信する。
【００１９】
図２に示すように、処理依頼先管理サーバ２００は、記憶部２２０と、制御部２３０と、通信部２４１と、を備える。
【００２０】
記憶部２２０には、実行フロー定義テーブル２２１と、実行品質定義テーブル２２２と、コンポーネント管理テーブル２２３と、ＩＴリソース品質テーブル２２４と、実行品質テーブル２２５と、を備える。
【００２１】
実行フロー定義テーブル２２１には、ビジネスプロセスに応じて、実行するサービスとその順序（フロー）を特定する情報が格納される。
【００２２】
図６は、実行フロー定義テーブル２２１の構成例を示す図である。実行フロー定義テーブル２２１に格納されるレコードは、ビジネスプロセスＩＤ欄２２１１と、フロー定義データ欄２２１２と、に該当する情報を有する。
【００２３】
ビジネスプロセスＩＤ欄２２１１は、ビジネスプロセスを特定する情報を格納する欄である。例えば、在庫照会、受注、入金、発注、等の各業務に対応するＩＤを特定する情報を格納する。
【００２４】
フロー定義データ欄２２１２は、ビジネスプロセスＩＤ欄２２１１にて特定されるビジネスプロセスについて、実行すべきサービスを特定する情報と、当該サービスの順序を特定することができる情報を格納する欄である。例えば、本実施形態においては、サービスを特定するサービス名（例えばサービスＡ、サービスＢ、サービスＣ）と、サービスＡの実行後にサービスＢを実行し、さらにサービスＤを実行する、等の順序を特定する情報を格納する。なお、当該情報は、所定のフォーマットに従ったＸＭＬ（Extensible Markup Language）等のテキストデータでもよいし、所定のプログラム言語で書かれたプログラムデータ（コンパイルおよびリンケージ済み実行可能なオブジェクトファイルや、所定のインタープリタにより実行可能なスクリプト、または、所定の実行エンジン上で動作する所定のコンパイル済みファイル等を含む）であってもよい。
【００２５】
実行品質定義テーブル２２２には、ビジネスプロセスに応じて、実行するサービスの稼働性能等、例えば稼働率やレスポンスタイムについての実行品質要求情報が格納される。
【００２６】
図７は、実行品質定義テーブル２２２の構成例を示す図である。実行品質定義テーブル２２２に格納されるレコードは、ビジネスプロセスＩＤ欄２２２１と、特別要求欄２２２２と、品質要求データ欄２２２３と、に該当する情報を有する。
【００２７】
ビジネスプロセスＩＤ欄２２２１は、ビジネスプロセスを特定する情報を格納する欄である。例えば、在庫照会、受注、入金、発注、等の各業務に対応するＩＤを特定する情報を格納する。
【００２８】
特別要求欄２２２２は、ビジネスプロセスを実行する上で、特別な実行品質の要求の有無を特定する情報を格納する欄である。例えば、同一のビジネスプロセスの実行であっても、処理依頼元に応じて稼働率の要求が異なる場合には、特別要求を付することで、要求する実行品質を他と異ならせることができる。
【００２９】
品質要求データ欄２２２３は、ビジネスプロセスの実行に関する品質についての要求レベルを特定する情報を格納する欄である。例えば、稼働率９９．９％以上、平均レスポンスタイム１０ｍｓeｃ以下等、の要求情報を格納する。他にも、例えば、セキュリティレベルの要求や、ログトレースレベルの要求等であってもよい。
【００３０】
コンポーネント管理テーブル２２３には、サービス実行サーバ３００に配備されているコンポーネントのコンポーネントＩＤごとに、提供するサービスを特定する名称と、実行品質についてのコンポーネントの提供品質の特徴と、配備されたサービス実行サーバと、を特定する情報が格納される。
【００３１】
図８は、コンポーネント管理テーブル２２３の構成例を示す図である。コンポーネント管理テーブル２２３に格納されるレコードは、コンポーネントＩＤ欄２２３１と、提供サービス名欄２２３２と、コンポーネント提供品質欄２２３３と、配備状況欄２２３４と、に該当する情報を有する。
【００３２】
コンポーネントＩＤ欄２２３１は、サービス実行サーバ３００にて稼働されるように配備されたサービスを提供するコンポーネントについて、当該コンポーネントを識別するコンポーネントＩＤを特定する情報を格納する欄である。なお、コンポーネントとは、一つの業務情報処理サービスの機能を提供する一つまたは複数のプログラムをいう。
【００３３】
提供サービス名欄２２３２は、コンポーネントＩＤ欄２２３１に格納された情報により特定されるコンポーネントが提供するサービスの機能を特定するサービス名を格納する欄である。提供サービス名が同じコンポーネントは、基本的に同じサービス機能を提供する。
【００３４】
コンポーネント提供品質欄２２３３は、コンポーネントＩＤ欄２２３１に格納された情報により特定されるコンポーネントが提供するサービスについて、特徴的な実行品質を特定する情報を格納する欄である。例えば、「インメモリＤＢ対応」等の定性的な特徴である。
【００３５】
配備状況欄２２３４は、コンポーネントＩＤ欄２２３１に格納された情報により特定されるコンポーネントが配備されたＩＴリソース（ハードウェアリソース）、すなわちサービス実行サーバ３００を特定する情報を格納する欄である。
【００３６】
ＩＴリソース品質テーブル２２４には、サービス実行サーバ３００を特定するリソースＩＤごとに、当該サービス実行サーバ３００が提供する稼働性能についての品質を特定する情報が格納される。
【００３７】
図９は、ＩＴリソース品質テーブル２２４の構成例を示す図である。ＩＴリソース品質テーブル２２４に格納されるレコードは、リソースＩＤ欄２２４１と、ＩＴリソース提供品質欄２２４２と、に該当する情報を有する。
【００３８】
リソースＩＤ欄２２４１は、各サービス実行サーバ３００について、当該サービス実行サーバ３００を識別するリソースＩＤを特定する情報を格納する欄である。なお、本実施形態においては、リソースＩＤは、サービス実行サーバ３００を識別する情報としているが、これに限られず、例えば、ストレージ装置やネットワーク機器等の他のハードウェア資源を識別する情報であってもよい。
【００３９】
ＩＴリソース提供品質欄２２４２は、リソースＩＤ欄２２４１に格納された情報により特定されるサービス実行サーバ３００が提供する実行品質の特徴（仕様）を特定する情報を格納する欄である。例えば、当該サービス実行サーバ３００の稼働率が９９％である、等の仕様の情報である。
【００４０】
実行品質テーブル２２５には、サービス実行サーバ３００を特定するリソースＩＤごとに、当該サービス実行サーバで実行された各コンポーネントが実行した品質、例えば平均レスポンスタイム等の実績を示す値がコンポーネントごとに格納される。
【００４１】
図１０は、実行品質テーブル２２５の構成例を示す図である。実行品質テーブル２２５に格納されるレコードは、リソースＩＤ欄２２５１と、品質データ欄２２５２と、に該当する情報を有する。
【００４２】
リソースＩＤ欄２２５１は、各サービス実行サーバ３００について、当該サービス実行サーバ３００を識別するリソースＩＤを特定する情報を格納する欄である。
【００４３】
品質データ欄２２５２は、コンポーネントごとの実行品質の実績を特定する情報を格納する欄である。例えば、コンポーネント「Ｃ００１」は、平均レスポンスタイムが５０ｍｓｅｃの実績を持つ、等である。
【００４４】
図２に戻って説明する。制御部２３０は、実行フロー管理部２３１と、メッセージング処理部２３２と、実行品質管理部２３３と、コンポーネントコーディネート部２３４と、ＩＴリソース割当部２３５と、実行品質監視部２３６と、を備える。
【００４５】
実行フロー管理部２３１は、ビジネスプロセスの実行依頼を受け付けると、実行すべきサービスとその実行品質の要求レベルを特定してメッセージング処理部２３２に処理を依頼する。具体的には、実行フロー管理部２３１は、クライアント端末１００からネットワーク１５０を介してビジネスプロセスＩＤを受け付けて、当該ビジネスプロセスＩＤに対応するフロー定義データを実行フロー定義テーブル２２１から読み出す。そして、実行フロー管理部２３１は、実行品質管理部２３３に依頼して、実行すべきビジネスプロセスの実行品質の要求レベルを特定する。そして、実行フロー管理部２３１は、フロー定義データと、実行品質の要求レベルを示す情報と、をメッセージング処理部２３２に受け渡す。
【００４６】
メッセージング処理部２３２は、実行フロー管理部２３１からフロー定義データと、実行品質の要求レベルを示す情報を受け取ると、フロー定義データと実行品質の要求に従って、サービスにＩＴリソースを割当てて、当該サービスの処理を実行させる。
【００４７】
具体的には、メッセージング処理部２３２は、実行フロー管理部２３１からフロー定義データと、実行品質の要求レベルを示す情報を受け取ると、コンポーネントコーディネート部２３４へコンポーネントの配備状況を問い合わせる。そして、メッセージング処理部２３２は、フロー定義データと、実行品質の要求レベルと、を満たすサービスを実行させるＩＴリソースを割当てるようＩＴリソース割当部２３５に依頼する。そして、メッセージング処理部２３２は、割当てられたサービス実行サーバ３００へ当該サービスの処理実行を依頼する。
【００４８】
実行品質管理部２３３は、実行フロー管理部２３１が処理依頼を受け付けたビジネスプロセスについて、要求される実行品質を特定する。
【００４９】
具体的には、実行品質管理部２３３は、実行フロー管理部２３１が処理依頼を受け付けたビジネスプロセスＩＤに応じて、実行品質定義テーブル２２２を参照して、品質要求データを取得し、実行フロー管理部２３１へ受け渡す。なお、その際、特別要求を伴うビジネスプロセスの処理依頼であれば、特別要求に応じた品質要求データを特定して、受け渡す。
【００５０】
コンポーネントコーディネート部２３４は、メッセージング処理部２３２から配備状況の問い合わせを受けると、問い合わせ対象のビジネスプロセスを構成するサービスを実行可能なコンポーネントの候補をコンポーネント管理テーブル２２３から特定して、メッセージング処理部２３２に受け渡す。また、コンポーネントコーディネート部２３４は、ＩＴリソース割当部２３５からコンポーネントの配備要求を受け付けると、コンポーネントを配備して、配備した後の配備状況をコンポーネント管理テーブル２２３に反映させる。なお、コンポーネントの配備には、付随する処理、例えば当該コンポーネントが用いるインメモリＤＢ等のミドルウェア機能の配備と起動や、コンポーネントの配備の準備（例えば、ディプロイメントディスクリプタ等の構成定義ファイルへの登録等）の処理を含む。
【００５１】
ＩＴリソース割当部２３５は、実行するビジネスプロセスを構成するサービスの実行品質要件を満たすように、ＩＴリソースを割当てる。
【００５２】
具体的には、ＩＴリソース割当部２３５は、ＩＴリソースの提供品質（仕様）と、稼働率やレスポンス等の品質の実績とに基づいて、ビジネスプロセスに要求される品質を満たすようにＩＴリソースを組み合わせる。例えば、稼働率９９．９９９９％以上が求められるビジネスプロセスに対して、ＩＴリソース割当部２３５は、単体で稼働率９９．９９９９％を満足するサービス実行サーバ３００が存在しない場合には、９９．９％の稼働率のサービス実行サーバ２台によって平行して稼働させることで、稼働率９９．９９９９％を実現する。
【００５３】
稼働率が９９．９％のサービス実行サーバ３００は、０．１％すなわち１０００分の１の確率で稼働していないことを示している。一般に、２台のサーバで平行して実行させた際の総合的な稼働率は、１００％から両方のサーバが同時に稼働しない確率を除いた確率として求められる。すなわち、式（１）により、稼働率が求められる。
稼働率＝１−（１−第一のサーバの稼働率）×（１−第二のサーバの稼働率）・・・式（１）
なお、式（１）においては、稼働率は０〜１までの小数で表されるものとする。
【００５４】
例えば、上記の例では、１０００分の１×１０００分の１＝百万分の１であり、１から百万分の１を減算すると、０．９９９９９９すなわち、百分率で表すと、稼働率は９９．９９９９％となる。
【００５５】
具体的な処理としては、ＩＴリソース割当部２３５は、コンポーネント管理テーブル２２３に格納された情報の中から、既に配備されている実行対象のサービスを実現するコンポーネントを特定する。そして、ＩＴリソース割当部２３５は、ＩＴリソース品質テーブル２２４を参照して、特定したコンポーネントのうち最も稼働率が高いコンポーネントを一つ特定する。そして、ＩＴリソース割当部２３５は、配備済みの実行対象のサービスを実施することができる他のコンポーネントと当該稼働率が最も高いコンポーネントとを組み合わせた際の稼働率をそれぞれに求め、稼働率の品質の要求を満たす組合せを発見すると、当該組合せを実行対象として割り当てる。
【００５６】
なお、ＩＴリソース割当部２３５は、稼働率の品質の要求を満たす全ての組合せを求めた後に、当該組合せの中から、求められた稼働率が最も低くなる組合せを実行対象として割り当てるようにしてもよい。このようにすることで、割り当てるＩＴリソースをなるべく平準化して、ＩＴリソースの費用対効果を高く保つことができる。
【００５７】
また、ＩＴリソース割当部２３５は、ＩＴリソース品質テーブル２２４を参照して、特定したコンポーネントのうち最も稼働率が高いコンポーネントを一つ特定し、さらに、特定した当該コンポーネントの次に稼働率が高いコンポーネントを特定する。ＩＴリソース割当部２３５は、当該２つのコンポーネントを組み合わせて実行させる場合の稼働率を求め、稼働率の品質の要求を満たすか否かを判定し、要求を満たさない場合には、平行して稼働するコンポーネントの数をさらに増やすことで、稼働率を高めるようにしてもよい。このようにすることで、稼働率がそれほど高くないサーバ、すなわちコスト効果に優れるＩＴリソースを複数組み合わせて、高い稼働率を実現することができるようになる。
【００５８】
上記の説明は、要求された稼働率の品質を実現するＩＴリソース割当部２３５の処理内容である。続けて以下に、レスポンスの品質を実現する処理内容を以下に説明する。
【００５９】
ＩＴリソース割当部２３５は、コンポーネント管理テーブル２２３に格納された情報の中から、既に配備されている実行対象のサービスを実現するコンポーネントを特定する。そして、ＩＴリソース割当部２３５は、実行品質テーブル２２５を参照して、特定したコンポーネントのうち最もレスポンスタイムが短いコンポーネントの組み合わせを一つ特定する。そして、当該組合せに係るコンポーネントの合計のレスポンスタイムがレスポンスタイムの品質の要求を満たすか否かを判定し、満たす場合には当該組合せを実行対象として割り当てる。
【００６０】
レスポンスタイムの品質の要求を満たさない場合には、ＩＴリソース割当部２３５は、レスポンスタイムの達成度合いとして、合計のレスポンスタイムと要求されるレスポンスタイムとの比を算出し、当該比の値の小数第一位を切り上げて得られる整数を求める。ＩＴリソース割当部２３５は、現在当該コンポーネントが配備されているサービス実行サーバの台数を当該整数倍に増やす。
【００６１】
なお、ＩＴリソース割当部２３５は、不足する台数のサービス実行サーバ３００に当該コンポーネントを新たに配備することで、サービス実行サーバ３００の台数を増やす。そして、ＩＴリソース割当部２３５は、実行対象のサービスを実現するコンポーネントの配備数が少ないサーバをコンポーネント管理テーブル２２３から検索して、最もコンポーネントの配備数が少ないサーバから順に、決定した台数だけ当該コンポーネントの配備を行うようコンポーネントコーディネート部２３４に依頼する。
【００６２】
これにより、ＩＴリソース割当部２３５は、レスポンスの実績値を算出して、レスポンスの達成率に応じてコンポーネントが稼働するサーバを増やすことで、レスポンスの実績値が将来的に要求される品質を満たすようにすることができる。
【００６３】
実行品質監視部２３６は、実際にサービスを実現するコンポーネントが稼働した結果得られた品質の実績を各サービス実行サーバ３００から収集して、実行品質テーブル２２５に格納する。例えば、実行品質監視部２３６は、一定の期間、コンポーネントごとに、処理依頼を受けてから処理結果を返すまでの応答時間を記録して算出した当該期間の平均応答時間を各サービス実行サーバ３００から収集して、実行品質テーブル２２５にレスポンス情報として格納する。
【００６４】
通信部２４１は、ネットワーク１５０を介して他の機器に接続し、接続した他の機器から送信された情報の受信を行い、接続した他の機器に対して情報の送信を行う。
【００６５】
サービス実行サーバ３００は、ネットワーク１５０を介して、処理依頼先管理サーバ２００からの要求や指示に応じて、サービスを実現するコンポーネントを稼働させて処理を実行するサーバである。
【００６６】
図３に、サービス実行サーバ３００のうち、サービスＡ、Ｂ、Ｃを実行するサービス実行サーバ３０５（以降、サービス実行サーバαと称呼）の構成を示す。
【００６７】
サービス実行サーバαは、記憶部３２０と、制御部３３０と、通信部３４１と、を備える。
【００６８】
記憶部３２０は、実行品質テーブル３２１と、各種の電子情報と、を格納する。なお、実行品質テーブル３２１は、上記した処理依頼先管理サーバ２００の実行品質テーブル２２５と同様のテーブルであるため、説明を省略する。
【００６９】
制御部３３０は、メッセージング処理部３３１と、サービスＡ実行コンポーネント３３２と、サービスＢ実行コンポーネント３３３と、サービスＣ実行コンポーネント３３４と、実行品質監視部３３５と、を備える。
【００７０】
メッセージング処理部３３１は、処理依頼先管理サーバ２００からサービスの実行依頼を受け付けると、当該サービスを実行するコンポーネントを、サービスＡ実行コンポーネント３３２と、サービスＢ実行コンポーネント３３３と、サービスＣ実行コンポーネント３３４との中から特定して、実行させる。
【００７１】
サービスＡ実行コンポーネント３３２と、サービスＢ実行コンポーネント３３３と、サービスＣ実行コンポーネント３３４と、は、それぞれサービスＡ、サービスＢ、サービスＣを実行するコンポーネントである。なお、各コンポーネントには、一つ以上のプログラムが含まれる。
【００７２】
実行品質監視部３３５は、サービス実行サーバα上に配備されたコンポーネントが稼働した結果得られた品質の実績を収集して、実行品質テーブル３２１に格納する。例えば、実行品質監視部３３５は、一定の期間、コンポーネントごとに、処理依頼を受けてから処理結果を返すまでの応答時間を記録して、当該期間の平均応答時間を算出し、実行品質テーブル３２１に格納する。また、処理依頼先管理サーバ２００の実行品質管理部２３６からの求めに応じて、実行品質テーブル３２１の自サーバに関する情報を送信する。
【００７３】
通信部３４１は、ネットワーク１５０を介して他の機器に接続し、接続した他の機器から送信された情報の受信を行い、接続した他の機器に対して情報の送信を行う。
【００７４】
図４は、サービス実行サーバ３００のうち、サービスＡ、Ｂ、Ｄを実行し、さらにデータベースアクセスに代えてインメモリＤＢにアクセスすることで実行速度を高めているサービス実行サーバ３５０（以降、サービス実行サーバβと称呼）の構成を示す。
【００７５】
サービス実行サーバβは、記憶部３７０と、制御部３８０と、通信部３９１と、を備える。
【００７６】
記憶部３７０は、実行品質テーブル３７１と、各種の電子情報と、を格納する。なお、実行品質テーブル３７１は、上記した処理依頼先管理サーバ２００の実行品質テーブル２２５と同様のテーブルであるため、説明を省略する。
【００７７】
制御部３８０は、メッセージング処理部３８１と、サービスＡ実行コンポーネント３８２と、サービスＢ実行コンポーネント３８３と、サービスＤ実行コンポーネント３８４と、インメモリＤＢ処理部３８５と、実行品質監視部３８６と、を備える。
【００７８】
制御部３８０を構成する各処理部のうち、メッセージング処理部３８１と、サービスＡ実行コンポーネント３８２と、サービスＢ実行コンポーネント３８３と、実行品質監視部３８６と、は、それぞれ、サービス実行サーバαのメッセージング処理部３３１と、サービスＡ実行コンポーネント３３２と、サービスＢ実行コンポーネント３３３と、実行品質監視部３３５と同様の構成であるため、説明を省略する。
【００７９】
サービスＤ実行コンポーネント３８４は、サービスＤを実行するコンポーネントであり、当該コンポーネントには一つ以上のプログラムが含まれる。
【００８０】
インメモリＤＢ処理部３８５は、各種ＤＢサーバ４００が有するデータベースのうち、サービス実行サーバβに配備されたコンポーネント（サービスＡ、Ｂ、Ｄを実現するコンポーネント）からアクセスする対象のデータベースについて、サービス実行サーバβのメモリ上にコピーデータを持つ。インメモリＤＢ処理部３８５は、サービスＡ、Ｂ、Ｄにおいてアクセスされるデータベースについての入出力要求を受け付けると、（ＤＢサーバへの通信を行わずに）ローカルメモリ上で要求に応じた入出力処理を行う。そのため、ＤＢサーバ４００へアクセスするよりも、データアクセス処理の処理速度を早くすることができる。
【００８１】
各種ＤＢサーバ４００は、各サービスの実行に関してサービス実行サーバ３００からアクセスされるデータを、ＤＢサーバの記憶装置上のデータベースで管理する。各種ＤＢサーバは、図示しない制御部においてデータベースの情報の参照、削除、変更、追加等の処理を受け付けて、データベースの情報にアクセスし、結果を処理依頼元へ送信する。なお、データベースは、ツリー型、関係型、オブジェクト型など様々な型のデータベースであってよい。
【００８２】
図５は、本実施形態におけるクライアント端末１００のハードウェア構成を示す図である。
【００８３】
本実施形態においては、クライアント端末１００は、例えば、ＰＣ（パーソナルコンピュータ）や、ワークステーション、サーバ装置、各種携帯電話端末、ＰＤＡ（Personal Digital Assistant）などの計算機である。
【００８４】
クライアント端末１００は、入力装置１１１と、出力装置１１２と、演算装置１１３と、主記憶装置１１４と、外部記憶装置１１５と、通信装置１１６と、それぞれの装置を互いに接続するバス１１７と、を有する。
【００８５】
入力装置１１１は、例えばキーボードやマウス、あるいはタッチペン、その他ポインティングデバイスなどの入力を受け付ける装置である。
【００８６】
出力装置１１２は、例えばディスプレイなどの、表示を行う装置である
演算装置１１３は、例えばＣＰＵ（Central Processing Unit）などの演算装置である。
【００８７】
主記憶装置１１４は、例えばＲＡＭ（Random Access Memory）などのメモリ装置である。
【００８８】
外部記憶装置１１５は、例えばハードディスク装置やフラッシュメモリなどの不揮発性記憶装置である。
【００８９】
通信装置１１６は、アンテナを介して無線通信を行う無線通信装置、又はネットワークケーブルを介して有線通信を行う有線の通信装置である。
【００９０】
クライアント端末１００のブラウザ部１３１は、クライアント端末１００の演算装置１１３に処理を行わせるプログラムによって実現される。
【００９１】
このプログラムは、主記憶装置１１４または外部記憶装置１１５内に記憶され、実行にあたって主記憶装置１１４上にロードされ、演算装置１１３により実行される。
【００９２】
また、クライアント端末１００の記憶部１２０は、クライアント端末１００の主記憶装置１１４または外部記憶装置１１５により実現される。
【００９３】
クライアント端末１００の入力部１４１は、クライアント端末１００の入力装置１１１によって実現される。
【００９４】
クライアント端末１００の出力部１４２は、クライアント端末１００の出力装置１１２によって実現される。
【００９５】
クライアント端末１００の通信部１４３は、クライアント端末１００の通信装置１１６によって実現される。
【００９６】
なお、図示しないが、処理依頼先管理サーバ２００、サービス実行サーバ３００および各種ＤＢサーバ４００についても、クライアント端末１００と同様のハードウェア構成を備える。ただし、処理依頼先管理サーバ２００、サービス実行サーバ３００および各種ＤＢサーバ４００については、クライアント端末１００の入力装置１１１と、出力装置１１２と、に対応する装置、すなわち使用者との入出力機能を受け持つハードウェアデバイスを有しないものであってもよい。
【００９７】
また、処理依頼先管理サーバ２００の実行フロー管理部２３１と、メッセージング処理部２３２と、実行品質管理部２３３と、コンポーネントコーディネート部２３４と、ＩＴリソース割当部２３５と、実行品質監視部２３６と、は、処理依頼先管理サーバ２００の演算装置１１３に処理を行わせるプログラムによって実現される。
【００９８】
このプログラムは、主記憶装置１１４または外部記憶装置１１５内に記憶され、実行にあたって主記憶装置１１４上にロードされ、演算装置１１３により実行される。
【００９９】
また、サービス実行サーバαのメッセージング処理部３３１と、サービスＡ実行コンポーネント３３２と、サービスＢ実行コンポーネント３３３と、サービスＣ実行コンポーネント３３４と、は、サービス実行サーバαの演算装置１１３に処理を行わせるプログラムによって実現される。
【０１００】
同様に、サービス実行サーバβのメッセージング処理部３８１と、サービスＡ実行コンポーネント３８２と、サービスＢ実行コンポーネント３８３と、サービスＤ実行コンポーネント３８４と、は、サービス実行サーバβの演算装置１１３に処理を行わせるプログラムによって実現される。
【０１０１】
次に、本実施形態における実行フロー管理処理の概要について、図１１に基づいて説明する。
【０１０２】
図１１は、実行フロー管理処理のフローを示す図である。
【０１０３】
まず、実行フロー管理部２３１は、クライアント端末１００からビジネスプロセスの実行依頼を受信する。その際、実行フロー管理部２３１は、特別要求情報が指定されているか否かの情報をあわせて取得する（ステップＳ００１）。具体的には、クライアント端末１００を介して使用者から指示のあったビジネスプロセスＩＤの指定情報を含む実行要求情報を受信し、指定オプション情報として特別要求情報の指定有無の情報を受信する。
【０１０４】
次に、実行フロー管理部２３１は、実行フロー定義テーブル２２１から該当するフロー定義データを読み出す（ステップＳ００２）。具体的には、実行フロー管理部２３１は、ステップＳ００１にて受け付けた実行要求情報に含まれるビジネスプロセスＩＤをキーとして、実行フロー定義テーブル２２１を検索し、ビジネスプロセスＩＤ欄２２１１に格納された情報から当該ビジネスプロセスＩＤに対応するレコードを特定し、対応するフロー定義データ欄２２１２に格納された情報を読み出す。
【０１０５】
次に、実行フロー管理部２３１は、実行品質管理部２３３に依頼して、品質要求データを読み出す（ステップＳ００３）。具体的には、実行フロー管理部２３１は、実行品質管理部２３３に対してビジネスプロセスＩＤの情報と、特別要求情報の有無と、を受け渡し、実行品質定義テーブル２２２の品質要求データ欄２２２３に格納された情報を受け取る。ここで、当該処理について、具体的に図１２の実行品質管理処理のフローを用いて処理を説明する。
【０１０６】
図１２は、実行品質管理処理のフローを示す図である。実行品質管理処理は、実行フロー管理処理のステップＳ００３において、実行フロー管理部２３１からの依頼を実行品質管理部２３３が受け付けることにより開始される。
【０１０７】
まず、実行品質管理部２３３は、ビジネスプロセスＩＤと、特別要求情報とを受け付ける（ステップＳ１０１）。
【０１０８】
次に、実行品質管理部２３３は、特別要求情報が「あり」であるか否かを判定する（ステップＳ１０２）。
【０１０９】
特別要求情報が「あり」である場合（ステップＳ１０２にて「Ｙｅｓ」）、実行品質管理部２３３は、実行品質定義テーブル２２２のレコードのうち、ビジネスプロセスＩＤ欄２２２１に格納された情報がステップＳ１０１において受け付けたビジネスプロセスＩＤに対応し、かつ、特別要求欄２２２２に格納された情報が「あり」であるレコードを特定する。そして、実行品質管理部２３３は、特定したレコードの品質要求データ欄２２２３に格納された情報を読み出す。そして、実行品質管理部２３３は、ステップＳ１０５に処理を進める（ステップＳ１０３）。
【０１１０】
特別要求情報が「なし」である場合（ステップＳ１０２にて「Ｎｏ」）、実行品質管理部２３３は、実行品質定義テーブル２２２のレコードのうち、ビジネスプロセスＩＤ欄２２２１がステップＳ１０１において受け付けたビジネスプロセスＩＤに対応し、かつ、特別要求欄２２２２が「なし」であるレコードを特定する。そして、実行品質管理部２３３は、特定したレコードの品質要求データ欄２２２３に格納された情報を読み出す（ステップＳ１０４）。
【０１１１】
次に、実行品質管理部２３３は、ステップＳ１０３またはステップＳ１０４にて読み出した品質要求データを、呼び出し元である実行フロー管理部２３１に送信する（ステップＳ１０５）。
【０１１２】
以上が、実行品質管理処理のフローである。
【０１１３】
実行品質管理処理を実行することで、ビジネスプロセスの実行品質についての要件を特定することができる。
【０１１４】
図１１の実行フロー管理処理のステップＳ００４の説明に戻る。
【０１１５】
次に、実行フロー管理部２３１は、ビジネスプロセスＩＤと、品質要求データと、をメッセージング処理部２３２へ受け渡すとともに、ビジネスプロセスの実行を依頼する（ステップＳ００４）。
【０１１６】
以上が、実行フロー管理処理の流れである。
【０１１７】
実行フロー管理処理を実行することで、クライアント端末１００からのビジネスプロセス実行要求を受け付けて、当該ビジネスプロセスを実行するサービスと、実行する際の実行品質の要件と、を特定することができるようになる。
【０１１８】
次に、図１１の実行フロー管理処理のステップＳ００４にてビジネスプロセスの実行を依頼されたメッセージング処理部２３２によるメッセージング処理について、図１３を用いて説明する。
【０１１９】
図１３は、メッセージング処理のフローを示す図である。メッセージング処理は、実行フロー管理処理のステップＳ００４等において実行開始を依頼されることで、開始される。
【０１２０】
まず、メッセージング処理部２３２は、コンポーネントコーディネート処理部２３４へコンポーネントの配備状況を問い合わせる（ステップＳ２０１）。具体的には、メッセージング処理部２３２は、コンポーネントコーディネート処理部２３４に対して、ビジネスプロセスＩＤとそのフロー定義データとを受け渡して、コンポーネント特定要求を出し、実行対象となるコンポーネントの候補をコンポーネントコーディネート処理部２３４から受信する。ここで、コンポーネントコーディネート処理部２３４が実行する処理について、図１４のコンポーネントコーディネート処理のフローを用いて説明する。
【０１２１】
図１４は、コンポーネントコーディネート処理のフローを示す図である。まず、コンポーネントコーディネート部２３４は、要求を受信する（ステップＳ３０１）。具体的には、コンポーネントコーディネート部２３４は、要求の種類を含む情報を呼び出し元から受信する。
【０１２２】
次に、コンポーネントコーディネート部２３４は、受信した要求が、コンポーネント配備要求であるか否かを判定する（ステップＳ３０２）。コンポーネント配備要求でない場合（ステップＳ３０２にて「Ｎｏ」）、コンポーネントコーディネート部２３４は、フロー定義データが示すサービスを実現するコンポーネントをコンポーネント管理テーブル２２３から検索する（ステップＳ３０３）。例えば、フロー定義データにサービスＡ、サービスＢ、サービスＤを実行するよう定義されている場合、コンポーネントコーディネート部２３４は、コンポーネント管理テーブル２２３を検索して、実行するサービスごとに、コンポーネントＩＤ欄２２３１と、コンポーネント提供品質欄２２３３と、配備状況欄２２３４と、に格納された情報を特定する。
【０１２３】
例えば、コンポーネントコーディネート部２３４は、サービスＡについて、「Ｃ００１，−，サーバα」、「Ｃ００４，インメモリＤＢ対応，サーバβ」、「Ｃ００７，−，サーバγ」の情報を特定する。同様に、コンポーネントコーディネート部２３４は、サービスＢについて、「Ｃ００２，−，サーバα」、「Ｃ００５，インメモリＤＢ対応，サーバβ」、「Ｃ００８，−，サーバγ」の情報を特定する。また、コンポーネントコーディネート部２３４は、サービスＤについて、「Ｃ００６，インメモリＤＢ対応，サーバβ」、「Ｃ００９，−，サーバγ」の情報を特定する。
【０１２４】
次に、コンポーネントコーディネート部２３４は、コンポーネントを特定する情報をメッセージング処理部２３２に送信する（ステップＳ３０４）。そして、コンポーネントコーディネート部２３４は、コンポーネントコーディネート処理を終了させる。
【０１２５】
なお、コンポーネント配備要求である場合（ステップＳ３０２にて「Ｙｅｓ」）、コンポーネントコーディネート部２３４は、指定されたコンポーネントを指定されたサーバへ配備し（ステップＳ３０５）、配備したコンポーネントについてコンポーネント管理テーブル２２３へ登録する（ステップＳ３０６）が、当該処理についての詳細な説明は、後述する。
【０１２６】
以上が、コンポーネントコーディネート処理のフローである。
【０１２７】
コンポーネントコーディネート処理を実行することで、ビジネスプロセスを構成するサービスを実現可能なコンポーネントと、そのコンポーネントが配置されたサービス実行サーバ３００と、を特定することが可能となる。
【０１２８】
図１３のメッセージング処理のステップＳ２０２の処理の説明に戻る。
【０１２９】
メッセージング処理部２３２は、実行するサービスについて、ＩＴリソース割当部２３５へＩＴリソースの割当を依頼する（ステップＳ２０２）。具体的には、メッセージング処理部２３２は、実行するビジネスプロセスの品質要求データと、ステップＳ２０１にて特定した実行可能なコンポーネントの情報とをＩＴリソース割当部２３５へ受け渡してＩＴリソースの割当を依頼し、実行するコンポーネントと平行実行の指示要否とを受け取る。ここで、ＩＴリソース割当部２３５が実行する処理について、図１５のＩＴリソース割当処理のフローを用いて説明する。
【０１３０】
図１５は、ＩＴリソース割当処理のフローを示す図である。
【０１３１】
まず、ＩＴリソース割当部２３５は、ＩＴリソース品質テーブル２２４を読み込む（ステップＳ４０１）。そして、ＩＴリソース割当部２３５は、メッセージング処理部２３２から受け渡された品質要求データを読み込む（ステップＳ４０２）。
【０１３２】
次に、ＩＴリソース割当部２３５は、サービス実行サーバが実行した品質の実績情報が必要な要求データが含まれるか否かを判定する（ステップＳ４０３）。具体的には、ＩＴリソース割当部２３５はステップＳ４０２にて読み込んだ品質要求データに応答時間に関する要求が含まれるか否かを判定する。
【０１３３】
品質の実績情報が必要な場合（ステップＳ４０３にて「Ｙｅｓ」）、ＩＴリソース割当部２３５は、実行品質テーブル２２５に格納されたコンポーネントごとの品質実績情報を読み込む（ステップＳ４０４）。そして、ＩＴリソース割当部２３５は、処理をステップＳ４０５に進める。
【０１３４】
品質の実績情報が必要でない場合（ステップＳ４０３にて「Ｎｏ」）、ＩＴリソース割当部２３５は、処理をステップＳ４０５に進める。
【０１３５】
ＩＴリソース割当部２３５は、品質要求データにて要求される品質を満たすか否かを判定する（ステップＳ４０５）。具体的には、ＩＴリソース割当部２３５は、品質要求データにて要求される品質を単体で満たしうるリソース（サービス実行サーバ）が存在するか否かを判定する。
【０１３６】
品質要求データにて要求される品質をすべて満たすリソースがある場合（ステップＳ４０５にて「Ｙｅｓ」）、ＩＴリソース割当部２３５は、当該リソース上のコンポーネントのＩＤをメッセージング処理部２３２に送信する（ステップＳ４０６）。そして、ＩＴリソース割当部２３５は、ＩＴリソース割当処理を終了させる。
【０１３７】
品質要求データにて要求される品質を単体で満たすリソースが無い場合（ステップＳ４０５にて「Ｎｏ」）、ＩＴリソース割当部２３５は、既存のＩＴリソースを複数平行させて実行することで、要求される全ての品質を満たす組合せがあるか否かを判定する（ステップＳ４０７）。具体的には、稼働率の要求であれば、すでに当該サービスを実現するコンポーネントが複数のサービス実行サーバに配置されている場合に、当該複数のサーバで当該サービスを平行させて実行させることで、要求された稼働率を満たすか否かを判定する。
【０１３８】
既存のＩＴリソースを複数平行させて実行することで品質を満たす場合（ステップＳ４０７にて「Ｙｅｓ」）、ＩＴリソース割当部２３５は、実行させるコンポーネントのＩＤを複数特定し、当該複数のコンポーネントを平行実行する指示と共に、メッセージング処理部２３２に送信する（ステップＳ４０６）。そして、ＩＴリソース割当部２３５は、ＩＴリソース割当処理を終了させる。
【０１３９】
既存のＩＴリソースを複数平行させて実行させても品質を満たしえない場合（ステップＳ４０７にて「Ｎｏ」）、ＩＴリソース割当部２３５は、未配備のＩＴリソースに対して未配備のコンポーネントを新たに配備することで、単体で品質要求を満たしうるリソースがあるか否かを判定する（ステップＳ４０８）。具体的には、ＩＴリソース割当部２３５は、ＩＴリソース品質テーブル２２４を参照して、ＩＴリソース提供品質２２４２に、単体実行により品質要求を満たすようなＩＴリソースが存在するか否かを判定する。例えば、ＩＴリソース割当部２３５は、実行すべきビジネスプロセスの要求品質が、稼働率９９．９％である場合に、コンポーネントが配備されていないが、配備されればリソース単体で稼働率９９．９％を満たしうるようなリソースを検索する。そのようなリソースがあれば、要求品質を満たしうると判定する。
【０１４０】
コンポーネントを配備することでＩＴリソース単体で要求品質を満たしうる場合（ステップＳ４０８にて「Ｙｅｓ」）、ＩＴリソース割当部２３５は、コンポーネントコーディネート部２３４に対してコンポーネントを当該リソース上に配備するように要求する（ステップＳ４０９）。そして、ＩＴリソース割当部２３５は、当該配備されたコンポーネントのＩＤを、実行させるコンポーネントのＩＤとして特定し、平行実行する指示を伴わずにメッセージング処理部２３２に送信する（ステップＳ４０６）。そして、ＩＴリソース割当部２３５は、ＩＴリソース割当処理を終了させる。
【０１４１】
コンポーネントを配備しても、ＩＴリソース単体では要求品質を満たしえない場合（ステップＳ４０８にて「Ｎｏ」）、ＩＴリソース割当部２３５は、サービスを稼働させると最も要求品質に近い品質を提供できるＩＴリソースを特定して、コンポーネントコーディネート部２３４に対して当該リソース上に配備するように要求するとともに、平行して既存のＩＴリソースにも処理を実行させるよう指示を送信する（ステップＳ４１０）。なお、配備先のＩＴリソースを特定する処理は、ＩＴリソース割当部２３５の上記した説明部分に記載したとおりの内容である。
【０１４２】
そして、ＩＴリソース割当部２３５は、当該配備されたコンポーネントのＩＤと、既存の配備済みのコンポーネントのＩＤとを、実行させるコンポーネントのＩＤとして特定し、平行実行する指示と共にメッセージング処理部２３２に送信する（ステップＳ４０６）。そして、ＩＴリソース割当部２３５は、ＩＴリソース割当処理を終了させる。
【０１４３】
以上が、ＩＴリソース割当処理のフローである。
【０１４４】
ＩＴリソース割当処理を実行することで、ビジネスプロセスの品質要求を満たすように処理先のコンポーネントを特定することが可能となる。
【０１４５】
ここで、ステップＳ４０９、またはステップＳ４１０においてコンポーネント配備を要求されたコンポーネントコーディネート部２３４の処理について、図１４に戻って説明する。
【０１４６】
コンポーネントコーディネート部２３４は、コンポーネントコーディネート処理を開始すると、ステップＳ３０２の判断において配備要求であると判定し（ステップＳ３０２にて「Ｙｅｓ」）、指定されたコンポーネントを指定されたＩＴリソース（サーバ）へ配備する（ステップＳ３０５）。
【０１４７】
当該ステップＳ３０５の処理においては、コンポーネントコーディネート部２３４は、図示しないコンポーネント配備管理機能を用いて、コンポーネントを実装するプログラムと、当該プログラムの動作上必要な他の実行要素（例えばインメモリＤＢ機能の稼働、ロギング機能の稼働、等）を特定し、ステップＳ４０９またはステップＳ４１０にて配備先として指定されたサーバへ配備する。なお、当該実行要素を特定する情報は、コンポーネント配備管理機能により、サーバの稼働環境の情報として予め管理されている。
【０１４８】
コンポーネントコーディネート部２３４は、図示しない記憶部２２０の記憶領域に格納された実行要素に対応するソースコード情報を読み出し、コンポーネント配備管理機能により特定された実行要素に対応するソースコードをコンポーネントの実装コードに埋め込み、埋め込まれた実装コードに対して、コンパイル等の実行コード生成処理を行う。これにより、コンポーネントコーディネート部２３４は、セキュリティ実装コードやロギング機能の実装コード等、稼働環境に応じたコンポーネントの改変を配備前に行って、配備するコンポーネントを準備することができる。
【０１４９】
また、配備されたコンポーネントについて、コンポーネントコーディネート部２３４は新たなコンポーネントＩＤを付して、コンポーネント管理テーブル２２３に登録する（ステップＳ３０６）。そして、コンポーネントコーディネート部２３４は、コンポーネントコーディネート処理を終了させる。
【０１５０】
以上が、ＩＴリソース割当処理から呼び出された場合に実施されるコンポーネントコーディネート処理の処理内容である。
【０１５１】
図１３のメッセージング処理のステップＳ２０３に説明を戻す。
【０１５２】
次に、メッセージング処理部２３２は、ステップＳ２０２にて特定したコンポーネントが配備されたサービス実行サーバ３００に、当該サービスを実行するよう依頼する（ステップＳ２０３）。そして、メッセージング処理部２３２は、メッセージング処理を終了させる。
【０１５３】
なお、図示していないが、サービスを実行するよう依頼されたサービス実行サーバ３００では、メッセージング処理部３３１またはメッセージング処理部３８１が当該サービスを実行するコンポーネントを呼び出して、処理を行わせ、処理結果を処理依頼先管理サーバ２００に送信する。
【０１５４】
以上が、メッセージング処理のフローである。
【０１５５】
メッセージング処理を実行することで、処理依頼先管理サーバ２００は、処理要求されたビジネスプロセスを、要求される実行品質の要求を満足するように実行することが可能となる。
【０１５６】
以上が、本発明に係る一の実施形態である。
【０１５７】
本発明に係る一の実施形態である分散処理システム１によれば、分散処理環境において、ビジネスプロセス単位で要求される実行品質に関する品質に対応して、既存のＩＴリソースを組み合わせ、コンポーネントの配備環境を変更して、要求を満たすように運用することが可能となる。
【０１５８】
以上、本発明について、実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々の変更が可能である。
【０１５９】
例えば、上記一の実施形態の処理依頼先管理サーバ２００は、サービス実行サーバ３００への処理の割り振りを行っているが、これに限られない。すなわち、処理依頼先管理サーバ２００は、サービスを提供するコンポーネントの処理部を備え、当該コンポーネントの処理を自サーバへ割り振って処理するようにしてもよい。
【０１６０】
このようにすることによって、より効率的にＩＴリソースを活用することが容易となる。
【０１６１】
また例えば、上記一の実施形態のサービス実行サーバ３００は、コンポーネントの実行指示を受け付けてコンポーネントを実行しているが、これに限られない。すなわち、処理依頼先管理サーバ２００の実行フロー管理部２３１と、メッセージング処理部２３２と、実行品質管理部２３３と、コンポーネントコーディネート部２３４と、ＩＴリソース割当部２３５と、実行品質監視部２３６と同様の処理を行う機能部を備えて、かつ、実行フロー定義テーブル２２１と、実行品質定義テーブル２２２と、コンポーネント管理テーブル２２３と、ＩＴリソース品質テーブル２２４とを記憶部に備え、ビジネスプロセスの実行依頼をクライアント端末１００から受け付けて、他のサービス実行サーバへサービスの実行を割り振って処理するようにしてもよい。
【０１６２】
このようにすることによって、より効率的にＩＴリソースを活用することが容易となる。
【０１６３】
なお、上記実施形態においては、処理依頼先管理サーバ２００と、サービス実行サーバ３００と、各種ＤＢサーバ４００とは、オープンプラットフォームの汎用機の構成を備えることとしているが、これに限られず、例えば、いずれかのサーバは、ネットワークを介して他の機器と通信可能であればメインフレーム等のクローズドなプラットフォーム上で実現されていてもよい。
【０１６４】
なお、分散処理システム１は、システム全体として取引対象とするだけでなく、各装置や、各装置の動作を実現するプログラム部品単位で取引対象とすることも可能である。
【符号の説明】
【０１６５】
１：分散処理システム、１００：クライアント端末、１１１：入力装置、１１２：出力装置、１１３：演算装置、１１４：主記憶装置、１１５：外部記憶装置、１１６：通信装置、１１７：バス、１２０：記憶部、１３０：制御部、１３１：ブラウザ部、１４１：入力部、１４２：出力部、１４３：通信部、１５０：ネットワーク、２００：処理依頼先管理サーバ、２２０：記憶部、２２１：実行フロー定義テーブル、２２２：実行品質定義テーブル、２２３：コンポーネント管理テーブル、２２４：ＩＴリソース品質テーブル、２２５：実行品質テーブル、２３０：制御部、２３１：実行フロー管理部、２３２：メッセージング処理部、２３３：実行品質管理部、２３４：コンポーネントコーディネート部、２３５：ＩＴリソース割当部、２３６：実行品質監視部、２４１：通信部、３００：サービス実行サーバ、３０５：サービス実行サーバα、３２０：記憶部、３２１：実行品質テーブル、３３０：制御部、３３１：メッセージング処理部、３３２：サービスＡ実行コンポーネント、３３３：サービスＢ実行コンポーネント、３３４：サービスＣ実行コンポーネント、３３５：実行品質監視部、３５０：サービス実行サーバβ、３７０：記憶部、３７１：実行品質テーブル、３８０：制御部、３８１：メッセージング処理部、３８２：サービスＡ実行コンポーネント、３８３：サービスＢ実行コンポーネント、３８４：サービスＤ実行コンポーネント、３８５：インメモリＤＢ処理部、３８６：実行品質監視部、３９１：通信部
【図１】
2010272090.tif 000003
【図２】
2010272090.tif 000004
【図３】
2010272090.tif 000005
【図４】
2010272090.tif 000006
【図５】
2010272090.tif 000007
【図６】
2010272090.tif 000008
【図７】
2010272090.tif 000009
【図８】
2010272090.tif 000010
【図９】
2010272090.tif 000011
【図１０】
2010272090.tif 000012
【図１１】
2010272090.tif 000013
【図１２】
2010272090.tif 000014
【図１３】
2010272090.tif 000015
【図１４】
2010272090.tif 000016
【図１５】
2010272090.tif 000017