(57)【特許請求の範囲】
【請求項１】
互いに接続されてネットワークを構成する分散コンピューティング資源を具備する分散コンピューティング環境と、
前記分散コンピューティング環境にサービスを構築するサービス構築装置と
を備え、
前記サービス構築装置は、
前記サービスにおける処理の流れを示すアプリケーションフロー解析結果を生成するアプリケーションフロー解析部と、
前記アプリケーションフロー解析結果に基づいて、前記分散コンピューティング資源のうちから前記処理を実現するアプリケーションを実行するべき第１選択分散コンピューティング資源と前記アプリケーション間の通信転送処理を実行するべき第２選択分散コンピューティング資源とを割り当てたマッピング情報を生成するマッピング情報生成部と、
前記マッピング情報に基づいて、前記第１選択分散コンピューティング資源に対する前記アプリケーションの配置情報と、前記第２選択分散コンピューティング資源に対する通信転送処理の設定情報とをマッピングする設定指示部と
を備えるサービス構築システム。
【請求項２】
請求項１に記載のサービス構築システムであって、
前記マッピング情報生成部は、
前記処理に対して前記処理を実現するアプリケーションを割り当てて、前記分散コンピューティング資源のうちから前記アプリケーションを実行するべき前記第１選択分散コンピューティング資源を割り当てて、前記分散コンピューティング資源のうちから前記処理の流れにおいて前記第１選択分散コンピューティング資源に割り当てられた前記アプリケーション間の通信経路上に存在して通信転送処理を実行するべき第２選択分散コンピューティング資源を割り当てて前記マッピング情報を生成する
サービス構築システム。
【請求項３】
請求項１または請求項２に記載のサービス構築システムであって、
前記分散コンピューティング資源は、ネットワーク資源とＩＴ資源とを含み、
前記ネットワーク資源は、互いに接続されて前記ネットワークにおいて前記通信転送処理を行い、
前記ＩＴ資源は、他のＩＴ資源や前記ネットワーク資源に接続されて前記アプリケーションを実行し、
前記マッピング情報生成部は、前記ネットワーク資源と前記ＩＴ資源とのうちから、前記第１選択分散コンピューティング資源と前記第２選択分散コンピューティング資源とを区別無く割り当てる
サービス構築システム。
【請求項４】
請求項１から請求項３までのいずれかに記載のサービス構築システムであって、
前記アプリケーションフロー解析部は、前記サービスの仕様を定めたサービス定義を入力して、前記サービス定義に基づいて前記サービスにおける前記処理の入出力関係を示す前記アプリケーションフロー解析結果を生成する
サービス構築システム。
【請求項５】
請求項１から請求項４までのいずれかに記載されたサービス構築システムであって、
前記サービス毎に前記マッピング情報に基づく処理の流れを前記分散コンピューティング環境における前記分散コンピューティング資源に対応付けて可視化する可視化装置
をさらに備えるサービス構築システム。
【請求項６】
請求項５に記載のサービス構築システムであって、
前記サービス構築装置が前記可視化装置を備える
サービス構築システム。
【請求項７】
請求項５または請求項６に記載のサービス構築システムであって、
前記マッピング情報生成部は、前記通信転送処理を前記サービスにおいて前記第２選択分散コンピューティング資源の実行する前記処理の１つとして前記マッピング情報へ追加された補正マッピング情報を生成して、
前記可視化装置は、前記補正マッピング情報に基づいて前記処理の流れを前記分散コンピューティング環境における前記分散コンピューティング資源に対応付ける
サービス構築システム。
【請求項８】
請求項１から請求項７までのいずれかに記載のサービス構築システムで用いられるサービス構築装置。
【請求項９】
互いに接続されてネットワークを構成する分散コンピューティング資源を具備する分散コンピューティング環境と、前記分散コンピューティング環境にサービスを構築するサービス構築装置とを備えるサービス構築システムにおいて、
前記サービスにおける処理の流れを示すアプリケーションフロー解析結果を生成するステップと、
前記アプリケーションフロー解析結果に基づいて、前記分散コンピューティング資源のうちから前記処理を実現するアプリケーションを実行するべき第１選択分散コンピューティング資源と前記アプリケーション間の通信転送処理を実行するべき第２選択分散コンピューティング資源とを割り当てたマッピング情報を生成するステップと、
前記マッピング情報に基づいて、前記第１選択分散コンピューティング資源に対する前記アプリケーションの配置情報と、前記第２選択分散コンピューティング資源に対する通信転送処理の設定情報とをマッピングするステップと
を備えるサービス構築方法。
【請求項１０】
請求項９に記載のサービス構築方法をコンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散コンピューティング環境におけるサービス構築システムに関する。
【背景技術】
【０００２】
近年、複数のアプリケーションを連携させて１つのサービスとして提供するサービス形態が一般化している。このようなサービス形態は、企業における業務アプリケーションに例示される。このようなサービス形態では、各アプリケーションを単一のＩＴ資源上で稼動させるというシステム形態が考えられる。
【０００３】
ここで、ＩＴ資源とは、汎用ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）や、汎用サーバや、ＧＰＧＰＵ（Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のように特定の処理を高速化するエンジンに例示される計算リソース全般を指す。また、物理的な計算リソースだけでなく、仮想マシンなどの技術により仮想化された資源も含む。
【０００４】
一方で、最近では、分散コンピューティング環境を利用したシステム形態が主流となっている。分散コンピューティング環境は、通信ネットワーク（以下、ネットワーク）で相互接続された複数のＩＴ資源を用いて、サービスを構築する各アプリケーションを異なるＩＴ資源上で稼動させる。
【０００５】
サービス設計者は、このようなサービスを構築する場合、まず、必要となる機能を決定して、各機能がどのように連携するかを決定する。その上で、サービス設計者は、各機能を実現するための具体的なアプリケーションを決定する。
【０００６】
しかし、このような手順で決定されるのは、ＩＴ資源上で実行される機能（アプリケーション）の連携のみである。そのため、ＩＴ資源同士を接続するネットワークについては考慮されることはない。
【０００７】
現在、機能的にはネットワーク資源で行われる処理であっても、当該機能をＩＴ資源上で処理させる例も存在する。すなわち、ＩＴ資源をネットワーク資源として運用する例が存在する。このように、処理の実行される資源には、境界が無くなってきている。
【０００８】
ここで、ネットワーク資源とは、ネットワークルータ（以下、ルータ）や、ネットワークスイッチ（以下、スイッチ）や、ファイアウォールや、負荷分散装置に例示されるネットワーク機器のリソース全般を指す。また、物理的なネットワークリソースだけでなく、仮想ルータや、仮想ファイアウォールに例示されるか仮想化された資源も含む。
【０００９】
ネットワーク資源で行われている処理をＩＴ資源上で行わせる例として、ｉｐｔａｂｌｅｓ（非特許文献１）や、Ｃｌｉｃｋ  Ｍｏｄｕｌｅｒ  Ｒｏｕｔｅｒ（非特許文献２）が存在する。ｉｐｔａｂｌｅｓは、ファイアウォール機能を提供するアプリケーションである。Ｃｌｉｃｋ  Ｍｏｄｕｌｅｒ  Ｒｏｕｔｅｒは、ソフトウェアルータである。
【００１０】
このようなソフトウェアを汎用サーバ上で実行する場合、ルータやファイアウォール等の専用のネットワーク機器と比較して、一般に、性能が低くなる。しかし、専用のネットワーク機器は、汎用サーバに比べて高コストであることが多い。そのため、専用のネットワーク機器を用いるのに換えて、上述したようなソフトウェアを汎用サーバ上で実行することで、サービスを低コストで実現できるというメリットが存在する。
【００１１】
このようなサービス構築においては、サービスの設計からリリースまでの期間の短縮が求められる。そのために、サービスの設計情報を入力すると、ＩＴ資源へアプリケーションのマッピングやネットワーク資源への設定を、自動的に行う仕組みが求められる。これに関連する技術として、以下のような技術が開示されている。
【００１２】
特許文献１は、効率的なシステム構成を自動生成することができるシステムレイアウト設計装置を開示している。特許文献１のシステムレイアウト設計装置は、管理対象ネットワーク上での複数の機能の配置を決定するシステムレイアウト設計装置である。
【００１３】
特許文献１のシステムレイアウト設計装置によれば、生成されたシステムレイアウトを評価して、最も評価の高いシステムレイアウトを設計結果とする構成であるため、大規模な管理対象ネットワークであっても、効率性等に関する所定の評価基準に最も適合したシステムレイアウトを設計することができる。
【００１４】
また、特許文献２は、ネットワーク構成設定用パラメータの生成時にネットワークを構成する各ノードが自ノードの物理情報及び識別子をサーバノードに送信するネットワークシステムを開示している。特許文献２のネットワークシステムは、サーバノードとサーバノードにより管理されるノードを有するネットワークシステムである。
【００１５】
特許文献２のネットワークシステムによれば、各ノードの最新の物理構成情報と識別を自動的に収集できる。そのため、ネットワークシステム管理者は、各ノードの詳細情報を把握しておく必要がなくなる。
【００１６】
また、特許文献３は、特定の管理サーバを経由することなく、フローに基づいたアプリケーションの連携処理を実現するアプリケーションフロー制御装置を開示している。特許文献３のアプリケーションフロー制御装置は、連携処理を行う複数のアプリケーションの一部を有するアプリケーションフロー制御装置である。
【００１７】
特許文献３のアプリケーションフロー制御装置によれば、アプリケーションを有する装置間でフロー制御のためのメッセージが転送されるため、特定の管理サーバを経由することなく、フローに基づいたアプリケーションの連携処理が実現される。
【００１８】
このほか、特許文献４は、従来のＷＷＷサーバ用の単純な負荷分散システムよりも柔軟かつ高度な分散処理、すなわち、計算機リソースや、計算機リソース間を結合するネットワークやネットワーク接続装置等の効率的な割当処理を実行することができる分散処理システムを開示している。特許文献５は、ネットワークに接続された複数の機器のそれぞれの能力に応じてそれぞれの諸機能を利用できる情報処理装置を開示している。特許文献６は、分散コンピューティングシステムのためのアーキテクチャを開示している。
【００１９】
特許文献１のシステムレイアウト設計装置は、システムレイアウトの生成対象がＩＴ資源のみであり、ネットワーク資源を対象としていない。そのため、サービスを構築する際に、ネットワーク資源の設定を別途行う必要があり、サービスのリリースまでに時間を要する。
【００２０】
また、特許文献２のネットワークシステムは、ネットワーク資源への設定を自動化することができるが、ＩＴ資源へのアプリケーションのマッピングなどを行わない。そのため、アプリケーションのマッピングを別途行う必要があり、サービスのリリースまでに時間を要する。
【００２１】
特許文献３のアプリケーションフロー制御装置は、各アクティビティに示される情報がＩＴ資源上で実行される処理に限定されており、ネットワーク資源については考慮されていない。そのため、アプリケーションの連携において、最適なネットワークの設定がなされず、サービスの性能が劣化する場合がある。
【先行技術文献】
【特許文献】
【００２２】
【特許文献１】特開２００５−２３４７０５号公報
【特許文献２】特開平０８−１１０８７８号公報
【特許文献３】特開２００６−１３３８９４号公報
【特許文献４】特開２００４−０４６３７２号公報
【特許文献５】特開２００４−０５６１９６号公報
【特許文献６】特開２００４−２７２９１２号公報
【非特許文献】
【００２３】
【特許文献１】The netfilter.org “iptables”project. [online]. [retrievedon 2010-02-23]. Retrieved from the Internet: <URL:http://www.netfilter.org/projects/iptables/index.html>.
【特許文献２】The Click Modular Router Project. [online].[retrieved on 2010-02-23]. Retrieved from the Internet: <URL:http://read.cs.ucla.edu/click/>.
【発明の概要】
【発明が解決しようとする課題】
【００２４】
本発明の目的は、分散コンピューティング環境におけるサービス構築において、ＩＴ資源とネットワーク資源との双方に対して高速にサービスを構築可能なサービス構築システムを提供することにある。
【課題を解決するための手段】
【００２５】
本発明の第１の側面であるサービス構築システムは、互いに接続されてネットワークを構成する分散コンピューティング資源を具備する分散コンピューティング環境と、分散コンピューティング環境にサービスを構築するサービス構築装置とを備える。サービス構築装置は、サービスにおける処理の流れを示すアプリケーションフロー解析結果を生成するアプリケーションフロー解析部と、アプリケーションフロー解析結果に基づいて、分散コンピューティング資源のうちから処理を実現するアプリケーションを実行するべき第１選択分散コンピューティング資源とアプリケーション間の通信転送処理を実行するべき第２選択分散コンピューティング資源とを割り当てたマッピング情報を生成するマッピング情報生成部と、マッピング情報に基づいて、第１選択分散コンピューティング資源に対するアプリケーションの配置情報と、第２選択分散コンピューティング資源に対する通信転送処理の設定情報とをマッピングする設定指示部とを備える。
【発明の効果】
【００２６】
本発明によれば、分散コンピューティング環境におけるサービス構築において、ＩＴ資源とネットワーク資源とでそれぞれ実行されてきた処理を、両資源へ区別無くマッピングしてサービスを構築可能なサービス構築システムを提供できる。そのため、分散コンピューティング環境へのサービスのマッピングをＩＴ資源とネットワーク資源の双方に対して単一の処理で行うことができ、高速にサービスを構築することができる。
【図面の簡単な説明】
【００２７】
【図１】図１は、第１実施形態におけるサービス構築システムの構成を示す図である。
【図２】図２は、第１実施形態におけるサービス構築装置２の構成を示す図である。
【図３】図３は、第１実施形態におけるサービス構築装置２の機能を示す機能ブロック図である。
【図４】図４は、第１実施形態におけるサービス構築装置２により構築されるサービスのサービス定義４２の一例を示す図である。
【図５】図５は、第１実施形態におけるサービス構築装置２によりサービスを構築される分散コンピューティング環境１の一例を示す図である。
【図６】図６は、第１実施形態におけるサービス構築装置２の動作を示すフローチャートである。
【図７】図７は、第１実施形態において図６に示されたフローチャートのステップＳ２０における動作を詳細に示したフローチャートである。
【図８】図８は、第１実施形態におけるアプリケーションフロー解析結果の一例を示す図である。
【図９】図９は、第１実施形態におけるアプリケーションフロー解析結果の一例を示す図である。
【図１０】図１０は、第１実施形態において図６のフローチャートのステップＳ２０における動作を詳細に示したフローチャートである。
【図１１】図１１は、第１実施形態におけるステップＳ２１０が完了した時点のマッピング情報の一例を示す図である。
【図１２】図１２は、第１実施形態におけるステップＳ２２０が完了した時点のマッピング情報の一例を示す図である。
【図１３】図１３は、第１実施形態におけるアプリケーションの割り当てられた分散コンピューティング資源間に存在する経路上資源を示した図である。
【図１４】図１４は、第１実施形態におけるステップＳ２４０が完了した時点のマッピング情報の一例を示す図である。
【図１５】図１５は、第１実施形態において図６のフローチャートのステップＳ２４における動作を詳細に示したフローチャートである。
【図１６】図１６は、第１実施形態において図１５のフローチャートのステップＳ４３０における動作を詳細に示したフローチャートである。
【図１７】図１７は、第１実施形態において図６のフローチャートのステップＳ２６における動作を詳細に示したフローチャートである。
【図１８】図１８は、第２実施形態におけるサービス構築装置２と可視化装置３との機能を示す機能ブロック図である。
【図１９】図１９は、第２実施形態におけるサービス構築システムの動作を示すフローチャートである。
【図２０】図２０は、第２実施形態におけるステップＳ２８４が完了した時点のマッピング情報の一例を示す図である。
【図２１】図２１は、第２実施形態におけるステップＳ２８８が完了した時点のマッピング情報の一例を示す図である。
【図２２】図２２は、第２実施形態における可視化装置３により可視化されたサービスの例を示す図である。
【図２３】図２３は、第２実施形態における図４に示したサービス定義のサービスを可視化装置３により可視化した例を示す図である。
【図２４】図２４は、第２実施形態における図２３の可視化表示において特定の情報を選択した場合を示す図である。
【発明を実施するための形態】
【００２８】
添付図面を参照して、本発明の実施形態によるサービス構築システムを以下に説明する。
【００２９】
（第１実施形態）
はじめに、本発明の第１実施形態によるサービス構築システムを以下に説明する。
【００３０】
［構成の説明］
まず、本実施形態におけるサービス構築システムの構成の説明を行う。図１は、本実施形態におけるサービス構築システムの構成を示す図である。本実施形態のサービス構築システムは、分散コンピューティング環境１とサービス構築装置２とを備える。
【００３１】
まず、分散コンピューティング環境１の説明を行う。分散コンピューティング環境１は、一つ以上のネットワーク資源１１と、一つ以上のＩＴ資源１２とを備える。
【００３２】
まず、ネットワーク資源１１は、ネットワークルータ（以下、ルータ）や、ネットワークスイッチ（以下、スイッチ）や、ファイアウォールや、負荷分散装置に例示されるネットワーク機器のリソース全般を指す。また、ネットワーク資源１１は、物理的なネットワークリソースだけでなく、仮想ルータや、仮想ファイアウォールに例示されるか仮想化された資源も含む。
【００３３】
次に、ＩＴ資源１２は、汎用ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）や、汎用サーバや、ＧＰＧＰＵ（Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のように特定の処理を高速化するエンジンに例示される計算リソース全般を指す。また、ＩＴ資源１２は、物理的な計算リソースだけでなく、仮想マシンなどの技術により仮想化された資源も含む。
【００３４】
ネットワーク資源１１は、互いに接続されてネットワークを構成する。ＩＴ資源１２は、ネットワーク資源１１と接続される。ネットワーク資源１１とＩＴ資源１２とは、サービス構築装置２によって、サービスを構築するための設定情報を設定される。なお、以下では、ネットワーク資源１１とＩＴ資源１２とをまとめて、分散コンピューティング資源と呼ぶ。
【００３５】
次に、サービス構築装置２の説明を行う。図２は、本実施形態におけるサービス構築装置２の構成を示す図である。本実施形態におけるサービス構築装置２は、記憶部１００と、制御部１２０と、通信部１３０と、入力部１４０と、出力部１５０とを備える。記憶部１００と、制御部１２０と、通信部１３０と、入力部１４０と、出力部１５０とは、バス１６０を介して接続されており、データの送受信が可能である。
【００３６】
まず、通信部１３０は、外部装置との通信インターフェースである。通信部１３０は、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）に例示される。サービス構築装置２は、通信部１３０を介してネットワーク資源１１やＩＴ資源１２とデータを送受信することが可能である。
【００３７】
次に、入力部１４０、出力部１５０は、サービス構築装置２のユーザとの入出力インターフェースである。入力部１４０は、キーボードや、マウスに例示される。出力部１５０は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）に例示される。ユーザは、入力部１４０、出力部１５０を用いて、サービス構築装置２を操作可能である。
【００３８】
次に、記憶部１００は、サービス構築装置２の機能を実現するコンピュータプログラムやデータを記憶する。記憶部１００は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）や、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）や、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）に例示されるような主記憶装置、２次記憶装置により構成される。記憶部１００は、コンピュータプログラムとしてサービス構築プログラム１１０を備える。
【００３９】
次に、制御部１２０は、記憶部１００に記憶されたコンピュータプログラムを実行してサービス構築装置２の機能を実現する。制御部１２０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）に例示される。
【００４０】
ここで、記憶部１００に記憶されたサービス構築プログラム１１０は、移動可能な記憶媒体に記録することが可能である。記憶媒体とは、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）や、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インターフェースを搭載したフラッシュメモリ（ＵＳＢメモリ）等に例示される。サービス構築プログラム１１０は、このような記録媒体により流通が可能である。
【００４１】
サービス構築プログラム１１０は、図示されないサービス構築装置２のＣＤドライブや、ＵＳＢインターフェースを介して、サービス構築装置２へ導入される。また、サービス構築プログラム１１０は、図示されないネットワークに接続されたアプリケーションサーバのＨＤＤにダウンロード可能な形で記憶されていても良い。この場合、サービス構築プログラム１１０は、ネットワークを介して、サービス構築装置２へ導入される。
【００４２】
次に、図３は、本実施形態におけるサービス構築装置２の機能を示す機能ブロック図である。本実施形態のサービス構築装置２は、アプリケーションフロー解析部２１と、マッピング情報生成部２２と、アプリケーション管理部２３と、設定指示部２４と、資源管理部２５とを備える。ここで、サービス構築装置２の各機能ブロックは、前述の通りソフトウェアにより実現されても良いし、あるいはハードウェアによって実現されても良い。あるいは、ソフトウェアとハードウェアの組み合わせにより実現されても良い。以下、サービス構築装置２の各機能ブロックを詳細に説明する。
【００４３】
まず、アプリケーションフロー解析部２１は、サービス定義４２の示すサービスを構成する各処理の接続関係を解析する。アプリケーションフロー解析部２１は、サービス定義４２を入力とする。アプリケーションフロー解析部２１は、サービス定義４２の示すサービスを構成する各処理の接続関係を解析して、アプリケーションフロー解析結果を生成する。アプリケーションフロー解析部２１は、アプリケーションフロー解析結果をマッピング情報生成部２２へ出力する。
【００４４】
ここで、サービス定義４２は、サービス構築装置２のユーザであるサービス設計者により入力される。サービス定義４２は、設計されたサービスに含まれる処理の内容や、各処理をどのような順番で実行するか、処理の入出力形式は何かといった情報を含む。
【００４５】
また、アプリケーションフロー解析部２１の解析する各処理の接続関係とは、各処理間における入出力関係を示す。すなわち、接続関係は、ある処理の出力がどの処理の入力となるのか、あるいは、ある処理の入力がどの処理の出力であるのか、といった情報を含む。
【００４６】
サービス定義４２は、上述のような情報を含めば、特定の定義手法に限定しない。サービス定義４２の一例として、ビジネスプロセスモデリング言語であるＢＰＥＬ（Ｂｕｓｉｎｅｓｓ  Ｐｒｏｃｅｓｓ  Ｅｘｅｃｕｔｉｏｎ  Ｌａｎｇｕａｇｅ）が挙げられる。ＢＰＥＬは、アクティビティと呼ばれる個々の処理ステップを表現する命令を記述することで、Ｗｅｂサービスを定められた手順で呼び出すことができる。
【００４７】
また、サービス定義４２は、サービスの制約事項を情報に含むことも考えられる。サービスの制約事項とは、例えば、サービスを分散コンピューティング資源へマッピングするにあたり満たすべき条件である。すなわち、サービスの制約事項は、サービス全体のスループットや、ある処理を実行する際の処理性能、ある処理とある処理との間のネットワーク遅延、サービスを稼動するのに必要な消費電力、あるいは、使用するべき分散コンピューティング資源の優先順位といった条件を含む。なお、マッピングとは、分散コンピューティング資源への設定と、分散コンピューティング資源へのアプリケーションの配置を含めた総称である。
【００４８】
次に、アプリケーション管理部２３は、分散コンピューティング環境で実行可能なアプリケーション情報を記憶する。アプリケーション管理部２３は、ユーザによりアプリケーション４３を外部から登録される。ここで、アプリケーション４３とは、何らかの機能を提供するコンピュータプログラムに限定しない。例えば、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）のように、ハードウェアの構成を変更することが可能なハードウェアの設定情報も含む。
【００４９】
アプリケーション情報は、各アプリケーションがどのような機能を有して、どのような入出力を必要として、利用するためのどのような条件が必要であるか、といった情報を含む。利用するための条件とは、例えば、ＣＰＵの動作周波数や、メインメモリ容量といった性能条件や、ハードウェアの備えるべき機能、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の種類やバージョン、必要とされるライブラリといった、アプリケーション実行環境に関する条件である。例えば、ＧＰＧＰＵを利用することを前提としたアプリケーションの場合、実行するためのハードウェアとしてＧＰＵが備えられていることや、ＧＰＧＰＵ専用のライブラリが備えられていること等が条件として考えられる。
【００５０】
次に、資源管理部２５は、分散コンピューティング環境１の備える分散コンピューティング資源に関する資源情報を記憶する。例えば、資源情報は、ＩＴ資源１２であれば、搭載されているＣＰＵの性能、メモリ容量、ディスク容量、ネットワークインターフェースの通信速度、搭載されている拡張カード、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス、ネットマスク、消費電力といった情報を含む。また、例えば、資源情報は、ネットワーク資源１１であれば、各物理ポートにおけるリンクの通信速度、ＭＡＣアドレス、ＩＰアドレス、ネットマスク、諸費電力といった情報を含む。また、資源管理部２５に、モニタリング装置を接続することで、分散コンピューティング資源の状態をモニタリングすることが可能となる。
【００５１】
資源管理部２５は、分散コンピューティング資源から状態情報４４を入力する。資源管理部２５は、分散コンピューティング環境１の分散コンピューティング資源の追加、削除を含む構成の変更が生じた場合、状態情報４５に基づいて記憶している資源情報の変更を行う。
【００５２】
次に、マッピング情報生成部２２は、分散コンピューティング資源にサービスをマッピングするための設定情報であるマッピング情報を生成する。マッピング情報生成部２２は、アプリケーションフロー解析部２１からアプリケーションフロー解析結果を入力する。また、マッピング情報生成部２２は、アプリケーション管理部２３からアプリケーション情報と、資源管理部２５から資源情報とを取得する。マッピング情報生成部２２は、アプリケーションフロー解析結果と、アプリケーション情報と、資源情報とに基づいて、マッピング情報を生成する。
【００５３】
具体的に、マッピング情報生成部２２は、資源情報を参照しつつ、アプリケーション管理部２３に記憶されるアプリケーションのうちから、アプリケーションフロー解析結果に含まれる各処理を実現するアプリケーションを選択する。マッピング情報生成部２２は、例えば、あるアプリケーションを実行するための十分な計算性能を備えたＩＴ資源を選択したり、ファイアウォールのようなネットワーク資源で実行されるアプリケーションをＩＴ資源上で動作させたりといった選択を行う。マッピング情報生成部２２は、このようにして選択した結果を、マッピング情報として記憶する。
【００５４】
マッピング情報生成部２２は、アプリケーションと、当該アプリケーションを動作させる分散コンピューティング資源とを選択すると、アプリケーション間の通信経路をアプリケーションフロー解析結果に基づいて決定する。マッピング情報生成部２２は、アプリケーション間の通信経路を決定すると、通信経路上に存在する分散コンピューティング資源の設定情報を生成する。マッピング情報生成部２２は、設定情報をマッピング情報に含める。ここで、通信経路を決定する方法として、例えば、ダイクストラ法が知られている。
【００５５】
マッピング情報生成部２２は、このようにして生成したマッピング情報と、サービス定義とを設定指示部２４へ出力する。
【００５６】
次に、設定指示部２４は、分散コンピューティング資源への設定情報やアプリケーションの配置情報を生成する。設定指示部２４は、マッピング情報生成部２２からマッピング情報と、サービス定義とを入力する。設定指示部２４は、マッピング情報とサービス定義とに基づいて、設定情報や配置情報を生成する。設定指示部２４は、設定情報と配置情報とを含んだ設定要求４１を送信して、分散コンピューティング資源へ設定情報と配置情報とをマッピングする。設定指示部２４は、分散コンピューティング資源へのマッピングを完了すると、マッピング情報生成部２２へマッピング結果を示す通知を出力する。設定指示部２４は、マッピングを正常に完了した場合、マッピングの正常完了を示す完了通知をマッピング情報生成部２２へ出力する。一方、設定指示部２４は、分散コンピューティング資源の障害等により、マッピングを正常に完了できなかった場合、マッピングが異常終了を示す未完了通知をマッピング情報生成部２２へ出力する。
【００５７】
以上が、本実施形態におけるサービス構築装置２及びサービス構築装置２を備える分散コンピューティング環境１の構成の説明である。
【００５８】
［動作の説明］
次に、上述したような構成の本実施形態におけるサービス構築装置２の動作の説明を行う。図４は、本実施形態におけるサービス構築装置２により構築されるサービスのサービス定義４２の一例を示す図である。図４のサービス定義は、構築されるべきサービスの処理の流れを示している。
【００５９】
まず、「Ｉｎｐｕｔ」は、サービスに対する入力である。「Ｏｕｔｐｕｔ」は、サービスからの出力である。また、処理Ａ〜Ｆは、それぞれ、ある機能を備えた処理単位を示す。図４に示されたサービスにおける処理では、サービスに対する入力は、処理Ａを実行される。処理Ａの処理結果は、処理Ｂへ出力されて、処理Ｂを実行される。処理Ｂの処理結果は、処理Ｃと処理Ｅとへ出力されて、処理Ｃ及び処理Ｅを実行される。処理Ｃの処理結果は、処理Ｄへ出力されて処理Ｄを実行される。処理Ｄの実行結果と処理Ｅの実行結果は、処理Ｆへ出力されて、処理Ｆを実行される。そして、処理Ｆの実行結果は、サービスからの出力として出力される。なお、処理Ｃと処理Ｅへ出力される処理Ｂの処理結果は、同一の内容に限らない。処理Ｂの処理結果に応じて、処理結果の出力先が選択されても良い。これは、構築されるサービスにおける処理内容に依存する。
【００６０】
次に、図５は、本実施形態におけるサービス構築装置２によりサービスを構築される分散コンピューティング環境１の一例を示す図である。図５の分散コンピューティング環境１は、ファイアウォール（Ｆｉｒｅｗａｌｌ）と、ロードバランサ（ＬｏａｄＢａｌａｎｃｅｒ）と、ルータ（Ｒｏｕｔｅｒ）と、サーバ（Ｓｅｒｖｅｒ）Ａ〜Ｇとを備える。ファイアウォール、ロードバランサ、及びルータは、ネットワーク資源１１である。サーバＡ〜Ｇは、ＩＴ資源１２である。これらの分散コンピューティング資源は、ネットワークによって相互に接続されており、データの送受信を行うことが可能である。
【００６１】
次に、図６は、本実施形態におけるサービス構築装置２の動作を示すフローチャートである。以下では、サービス構築装置２が、上述のような、図５の分散コンピューティング環境１に図４のサービス定義４２に示されたサービスを構築する場合の動作を説明する。
【００６２】
まず、アプリケーションフロー解析部２１は、サービス定義４２を入力とする。サービス定義４２は、サービス構築装置２にユーザにより、入力部１４０から入力されてもよいし、ネットワークと通信部１３０とを介して入力されても良い。アプリケーションフロー解析部２１は、サービス定義４２の解析を行って、アプリケーションフロー解析結果を生成する（ステップＳ２０）。アプリケーションフロー解析部２１は、アプリケーションフロー解析結果をサービス定義４２と共に、マッピング情報生成部２２へ出力する。
【００６３】
マッピング情報生成部２２は、アプリケーションフロー解析部２１からアプリケーションフロー解析結果とサービス定義４２とを入力する。また、マッピング情報生成部２２は、アプリケーション管理部２３からアプリケーション情報と、資源管理部２５から資源情報とを取得する。マッピング情報生成部２２は、アプリケーション解析結果と、アプリケーション情報と、資源情報とに基づいて、マッピング情報を生成する（ステップＳ２２）。マッピング情報生成部２２は、マッピング情報をサービス定義４２と共に、設定指示部２４へ出力する。
【００６４】
設定指示部２４は、マッピング情報生成部２２からマッピング情報とサービス定義４２とを入力する。設定指示部２４は、マッピング情報とサービス定義４２に基づいて、設定情報や配置情報を生成する。設定指示部２４は、設定情報と配置情報とを含めた設定要求４１を送信して、分散コンピューティング環境１へサービスのマッピングを行う（ステップＳ２４）。すなわち、設定指示部２４は、マッピング情報とサービス定義４２に基づいて分散コンピューティング資源のネットワーク資源１１とＩＴ資源１２への設定とアプリケーションの配置を実行する。
【００６５】
設定指示部２４は、マッピング結果をマッピング情報生成部２２へ出力する。設定指示部２４は、マッピングが正常に完了した場合、マッピング結果として完了通知を出力する。一方、設定指示部２４は、マッピングが正常に完了しない場合、マッピング結果として未完了通知を出力する。
【００６６】
マッピング情報生成部２２は、設定指示部２４からマッピング結果として完了通知または未完了通知を入力する。マッピング情報生成部２２は、マッピングが成功したか否かを判定する（ステップＳ２６）。すなわち、マッピング情報生成部２２は、分散コンピューティング環境への設定とアプリケーションの配置が成功したか否かを判定する。
【００６７】
マッピング情報生成部２２は、マッピングが成功した場合（ステップＳ２６のＹｅｓ）、サービス構築が完了したことを示すサービス構築完了通知４５を出力する（ステップＳ２８）。一方、マッピングが成功しなかった場合（ステップＳ２６のＮｏ）、ステップＳ２２へ戻る。この場合、マッピング情報生成部２２は、再度、マッピング情報を生成することになる。
【００６８】
以上が、サービス構築装置２が、図５の分散コンピューティング環境１に図４のサービス定義４２に示されたサービスを構築する場合の動作の説明である。
【００６９】
続いて、上述した図６のフローチャートに示された各ステップを詳細に説明する。まず、図６のフローチャートのステップＳ２０に示された動作について詳細な説明を行う。図７は、本実施形態において図６に示されたフローチャートのステップＳ２０における動作を詳細に示したフローチャートである。
【００７０】
まず、アプリケーションフロー解析部２１は、サービス定義４２の入力の有無を判定する（ステップＳ１００）。この確認方法としては、アプリケーションフロー解析部２１に対して、サービス定義４２の入力に対応付けられた割り込みを発生させて通知する方法や、アプリケーションフロー解析部２１が特定の記憶領域をポーリングして入力の有無を確認する方法等が考えられる。この場合の記憶領域には、記憶部１００のメモリやハードディスク、あるいは制御部１２０のレジスタが相当する。
【００７１】
アプリケーションフロー解析部２１は、サービス定義４２の入力が無い場合（ステップＳ１００のＮｏ）、サービス定義４２の入力があるまで本ステップを繰り返す。一方、アプリケーションフロー解析部２１は、サービス定義４２の入力が有る場合（ステップＳ１００のＹｅｓ）、サービス定義４２の解析を行う（ステップＳ１１０）。サービス定義４２の解析では、サービス定義４２に含まれる処理の入出力関係に基づいて、アプリケーションフロー解析結果を生成する。処理の入出力関係とは、ある処理の出力がいずれの処理の入力となるか、あるいは、ある処理の入力がいずれの処理の出力であるかという関係を示す。
【００７２】
ここで、図８及び図９は、本実施形態におけるアプリケーションフロー解析結果の一例を示す図である。図８及び図９に示されるアプリケーションフロー解析結果は、図４のサービス定義４２に示されたサービスに基づいて生成されたものである。図８のアプリケーションフロー解析結果は、ある処理と当該処理の次に実行されるべき処理とを関連づけたテーブルとなっている。例えば、サービスに対する入力である「Ｉｎｐｕｔ」の次の処理は、「処理Ａ」であることが示されている。また、「処理Ｆ」の次の処理は、サービスからの出力である「Ｏｕｔｐｕｔ」であることが示されている。また、アプリケーションフロー解析結果は、図９に示すように、ある処理と当該処理の直前の処理とを関連付けたテーブルとして生成されても良い。なお、アプリケーションフロー解析結果は、図８及び図９に示されるようなテーブル形式の表現に限定しない。
【００７３】
次に、図７に戻り、アプリケーションフロー解析部２１は、アプリケーション解析結果とサービス定義４２とを、マッピング情報生成部２２へ送信する（ステップＳ１２０）。以上が、図６のフローチャートのステップＳ２０に示された動作の詳細な説明である。アプリケーションフロー解析部２１は、上述のような動作によりアプリケーションフロー解析結果を生成する。
【００７４】
続いて、図６のフローチャートのステップＳ２２に示された動作について詳細な説明を行う。図１０は、本実施形態において図６のフローチャートのステップＳ２０における動作を詳細に示したフローチャートである。
【００７５】
まず、マッピング情報生成部２２は、アプリケーションフロー解析結果とサービス定義４２との入力の有無を判定する（ステップＳ２００）。この確認の方法として、マッピング情報生成部２２に対してサービス定義４２の解析結果の入力に対応付けられた割り込みを発生させて通知する方法や、マッピング情報生成部２２が特定の記憶領域をポーリングして入力の有無を確認する方法等が考えられる。この場合の記憶領域には、記憶部１００のメモリやハードディスク、あるいは制御部１２０のレジスタが相当する。
【００７６】
マッピング情報生成部２２は、アプリケーションフロー解析結果とサービス定義４２との入力が無い場合（ステップＳ２００のＮｏ）、アプリケーションフロー解析結果とサービス定義４２との入力があるまで本ステップを繰り返す。一方、マッピング情報生成部２２は、アプリケーションフロー解析結果とサービス定義４２との入力がある場合（ステップＳ２００のＹｅｓ）、サービスを構成する各処理にアプリケーション４３を割り当てる（ステップＳ２１０）。マッピング情報生成部２２は、アプリケーション管理部２３のアプリケーション情報を参照して、サービスを構成する各処理を実現するのに必要な機能を提供するアプリケーション４３を各処理へ割り当てる。
【００７７】
各処理へアプリケーション４３が割り当てられた結果は、マッピング情報として、マッピング情報生成部２２の内部、あるいは外部の記憶領域に記憶される。この場合の記憶領域には、記憶部１００のメモリやハードディスク、あるいは制御部１２０のレジスタが相当する。ステップＳ２１０が完了した時点でのマッピング情報は、あるアプリケーションと次に実行されるべきアプリケーションとを関連付けた情報となる。
【００７８】
ここで、図１１は、本実施形態におけるステップＳ２１０が完了した時点のマッピング情報の一例を示す図である。図１１に示されたマッピング情報は、図８に示されたアプリケーションフロー解析結果に基づいて生成されたものである。例えば、サービスに対する入力である「Ｉｎｐｕｔ」の次に処理を行うアプリケーション（以下、Ａｐｐと記載する場合がある。）４３は、「ＡｐｐＡ」であることが示されている。また、「ＡｐｐＦ」による処理結果は、サービスからの出力である「Ｏｕｔｐｕｔ」であることが示されている。なお、マッピング情報は、図１１に示されるようなテーブル形式の表現に限定しない。
【００７９】
次に、図１０へ戻り、マッピング情報生成部２２は、各処理へ割り当てられたアプリケーションを、分散コンピューティング資源へ割り当てる（ステップＳ２２０）。マッピング情報生成部２２は、資源管理部２５の資源情報を参照して、マッピング情報を分散コンピューティング資源へ割り当てる。マッピング情報を分散コンピューティング資源へ割り当てた結果は、マッピング情報生成部２２の内部、あるいは外部の記憶領域に記憶される。この場合の記憶領域には、記憶部１００のメモリやハードディスク、あるいは制御部１２０のレジスタが相当する。ステップＳ２２０が完了した時点でのマッピング情報は、あるアプリケーションと、当該アプリケーションを実行する分散コンピューティング資源と、当該アプリケーションの次に実行されるべきアプリケーションとを関連付けた情報となる。
【００８０】
ここで、図１２は、本実施形態におけるステップＳ２２０が完了した時点のマッピング情報の一例を示す図である。図１２に示されたマッピング情報は、図１１に示されたマッピング情報に分散コンピューティング資源を対応付けたものである。例えば、サービスに対する入力である「Ｉｎｐｕｔ」は、「入力装置（Ｉｎｐｕｔ  Ｒｅｓｏｕｒｃｅ）」に入力される。「ＡｐｐＡ」は、「ファイアウォール」により実行される。また、「ＡｐｐＦ」は、「サーバＦ」により実行されて、「サーバＦ」の実行結果がサービスからの「Ｏｕｔｐｕｔ」として出力されることが示されている。なお、マッピング情報は、図１２に示されるようなテーブル形式の表現に限定しない。
【００８１】
また、マッピング情報生成部２２は、ステップＳ２１０においてアプリケーション４３を各処理へ割り当てる際に、ある処理がＩＴ資源１２でもネットワーク資源１１でも機能を実現できる処理の場合、どちらの場合も割り当て候補として生成しておく。そして、マッピング情報生成部２２は、ステップＳ２２０においてアプリケーション４３に分散コンピューティング資源を割り当てる際に、評価関数に基づいていずれの候補を用いるのかを決定する動作とすることも可能である。ここで、評価関数とは、分散コンピューティング資源の消費電力やコストや、性能といった指標を用いた関数である。
【００８２】
次に、図１０へ戻り、マッピング情報生成部２２は、選択した分散コンピューティング資源の間に経路上資源が存在するかを判定する（ステップＳ２３０）。ここで、経路上資源とは、分散コンピューティング資源にアプリケーション４３を割り当てた結果、選択された分散コンピューティング資源間で通信を行う経路上に存在する分散コンピューティング資源である。このような経路上資源に対しても、適切な設定を行う必要がある。
【００８３】
経路上資源が存在するか否かを判定する判定手法として、例えば、図１には図示されない、分散コンピューティング環境１に存在する全ての分散コンピューティング資源を管理する管理システムに対して問い合わせを行う方法が考えられる。あるいは、あるサーバからサーバまでの経路を探索するツールを利用してもよい。このようなツールは、「Ｔｒａｃｅｒｏｕｔｅ」に例示される。
【００８４】
ここで、図１３は、本実施形態におけるアプリケーションの割り当てられた分散コンピューティング資源間に存在する経路上資源を示した図である。図１３を参照すると、例えば、サービスに対する入力である「Ｉｎｐｕｔ」は、「ＡｐｐＡ」で処理を行われる。「ＡｐｐＡ」は、ファイアウォールに割り付けられている。「Ｉｎｐｕｔ」がファイアウォールに到達するためには、経路上資源であるルータを経由する必要がある。また、「ＡｐｐＢ」の処理を割り付けられたロードバランサと、「ＡｐｐＢ」の次の処理を行う「ＡｐｐＣ」を割り付けられたサーバＦとの間には、経路上資源であるサーバＣが存在する。このような場合、ルータやサーバＣに対しても、アプリケーション４３間で適切な通信を可能にするために設定を行う必要がある。
【００８５】
次に、図１０に戻り、選択した分散コンピューティング資源の間に経路上資源が存在する場合（ステップＳ２３０のＹｅｓ）、マッピング情報生成部２２は、マッピング情報に経路上資源の情報を追加する（ステップＳ２４０）。一方、選択した分散コンピューティング資源の間に経路上資源が存在しない場合（ステップＳ２３０のＮｏ）、マッピング情報生成部２２は、マッピング情報への経路上資源の情報を追加しない。いずれも、その後ステップＳ２５０へ進む。
【００８６】
ここで、図１４は、本実施形態におけるステップＳ２４０が完了した時点のマッピング情報の一例を示す図である。図１４のマッピング情報は、図１２のマッピング情報に、経路上資源の情報を追加したものである。例えば、サービスに対する入力である「Ｉｎｐｕｔ」と、「Ｉｎｐｕｔ」を処理するべき「ＡｐｐＡ」の割り付けられたファイアウォールとの間に、経路上資源であるルータが関連付けられている。また、「ＡｐｐＢ」の処理を割り付けられたロードバランサと、「ＡｐｐＢ」の次の処理を行う「ＡｐｐＣ」を割り付けられたサーバＦとの間に、経路上資源であるサーバＣが関連付けられている。なお、マッピング情報は、図１４に示されるようなテーブル形式の表現に限定しない。
【００８７】
次に、図１０へ戻り、マッピング情報生成部２２は、生成されたマッピング情報をサービス定義４２と共に設定指示部２４へ出力する（ステップＳ２５０）。以上が、図６のフローチャートのステップＳ２２に示された動作の詳細な説明である。マッピング情報生成部２２は、上述のような動作によりマッピング情報を生成する。
【００８８】
続いて、図６のフローチャートのステップＳ２４に示された動作について詳細な説明を行う。図１５は、本実施形態において図６のフローチャートのステップＳ２４における動作を詳細に示したフローチャートである。
【００８９】
まず、設定指示部２４は、マッピング情報とサービス定義４２との入力の有無を確認する（ステップＳ４００）。この確認の方法として、設定指示部２４に対してマッピング情報の入力に対応付けられた割り込みを発生させて通知する方法や、設定指示部２４が特定の記憶領域をポーリングして入力の有無を確認する方法等が考えられる。この場合の記憶領域には、記憶部１００のメモリやハードディスク、あるいは制御部１２０のレジスタが相当する。
【００９０】
設定指示部２４は、マッピング情報とサービス定義４２との入力が無い場合（ステップＳ４００のＮｏ）、マッピング情報とサービス定義４２との入力があるまで本ステップを繰り返す。一方、設定指示部２４は、マッピング情報とサービス定義４２との入力がある場合（ステップＳ４００のＹｅｓ）、マッピング情報とサービス定義４２とに基づいて、分散コンピューティング資源へのアプリケーション４３の配置情報や設定情報を生成する（ステップＳ４１０）。
【００９１】
ここで、アプリケーション４３の配置情報は、アプリケーション４３が正常に稼動することができるのに必要な情報が含まれる。例えば、アプリケーション４３のプログラムコードや、アプリケーションの引数、データ送受信の対向先のＩＰアドレスやアプリケーションポート番号といった情報に例示される。また、設定情報は、ルータへのルーティング情報や、ファイアウォールへのフィルタリング情報といった情報に例示される。
【００９２】
設定指示部２４は、分散コンピューティング資源に反映するために、生成した配置情報や設定情報を含めた設定要求４１を送信する（ステップＳ４２０）。設定指示部２４は、設定要求４１を送信した全ての分散コンピューティング資源から応答（ＡＣＫ：Ａｃｋｎｏｗｌｅｇｅ）を待つ（ステップＳ４３０）。応答を待つ際の処理例として、設定要求４１を送信した全ての分散コンピューティング資源から応答を受信するまで待機する方法や、一定時間待機した後に応答を受信していない分散コンピューティング資源に対して、再度、設定要求４１を送信するという処理を一定回数繰り替えるといった方法が考えられる。また、ネットワークトラブルや、分散コンピューティング資源の故障等により設定に失敗する場合も考えられる。そこで、一定時間経過後、あるいは一定回数の要求再発行後に応答を受信できない分散コンピューティング資源については、サービスのマッピングに失敗したと判定する方法も考えられる。
【００９３】
設定指示部２４は、マッピングの結果をマッピング情報生成部２２へ通知する（ステップＳ４４０）。設定指示部２４は、マッピングが正常に完了した場合、マッピング結果として完了通知を出力する。一方、設定指示部２４は、マッピングが正常に完了しない場合、マッピング結果として未完了通知を出力する。以上が、図６のフローチャートのステップＳ２４に示された動作の詳細な説明である。設定指示部２４は、上述のような動作により分散コンピューティング資源への設定とアプリケーションの配置を行う。
【００９４】
続いて、図１５のフローチャートのステップＳ４３０に示された動作について詳細な説明を行う。図１６は、本実施形態において図１５のフローチャートのステップＳ４３０における動作を詳細に示したフローチャートである。
【００９５】
まず、設定指示部２４は、アプリケーション４３の配置情報や設定情報を反映するための設定要求４１を送信した全ての分散コンピューティング資源から応答が帰ってきたかを判定する（ステップＳ４３２）。設定指示部２４は、全ての分散コンピューティング資源から応答が帰ってきていれば（ステップＳ４３２のＹｅｓ）、サービスのマッピングに成功したと判定する（ステップＳ４３３）。一方、設定指示部２４は、全ての分散コンピューティング資源から応答が帰ってきていない場合（ステップＳ４３２のＮｏ）、該当する分散コンピューティング資源に設定要求４１を特定の回数、再発行したかを判定する（ステップＳ４３４）。ここで、特定の回数とは、予め定められた、サービスのマッピングが失敗したと判定するための閾値となる回数である。
【００９６】
設定指示部２４は、設定要求４１の再発行回数が特定の回数へ達している場合（ステップＳ４３４のＹｅｓ）、サービスのマッピングが失敗したと判定する（ステップＳ４３５）。一方、設定指示部２４は、設定要求４１の再発行回数が特定の回数へ達していない場合（ステップＳ４３４のＮｏ）、該当する分散コンピューティング資源に対して設定要求４１の再発行を行う（ステップＳ４３６）。以上が、図１５のフローチャートのステップＳ４３０に示された動作の詳細な説明である。設定指示部２４は、上述のような動作により分散コンピューティング資源へのマッピングの成功及び失敗を判定する。
【００９７】
続いて、図６のフローチャートのステップＳ２６に示された動作について詳細な説明を行う。図１７は、本実施形態において図６のフローチャートのステップＳ２６における動作を詳細に示したフローチャートである。
【００９８】
まず、マッピング情報生成部２２は、設定指示部２４からサービスのマッピング結果の通知の有無を判定する（ステップＳ２６０）。この確認の方法として、マッピング情報生成部２２に対してサービス定義４２の解析結果の入力に対応付けられた割り込みを発生させて通知する方法や、マッピング情報生成部２２が特定の記憶領域をポーリングして入力の有無を確認する方法等が考えられる。この場合の記憶領域には、記憶部１００のメモリやハードディスク、あるいは制御部１２０のレジスタが相当する。
【００９９】
マッピング情報生成部２２は、マッピング結果の通知が無い場合（ステップＳ２６０のＮｏ）、マッピング結果の通知があるまで本ステップを繰り返す。一方、マッピング情報生成部２２は、マッピング結果の通知があった場合（ステップＳ２６０のＹｅｓ）、通知の内容を確認する（ステップＳ２７０）。マッピング情報生成部２２は、通知の内容に基づいて、サービスのマッピングに成功したかを判定する（ステップＳ２８０）。
【０１００】
マッピングが成功していた場合（ステップＳ２８０のＹｅｓ）、すなわち、マッピング結果が完了通知であった場合、図６に示したステップＳ２８へ移行する。この場合、図６のステップＳ２８に示したように、サービス構築完了通知４５を出力することになる。一方、マッピングが失敗している場合（ステップＳ２８０のＮｏ）、すなわち、マッピング結果が未完了通知であった場合、図６に示したステップＳ２２へ移行する。この場合、マッピング情報生成部２２は、再度、マッピング情報を生成することになる。以上が、図６のフローチャートのステップＳ２６に示された動作の詳細な説明である。マッピング情報生成部２２は、上述のような動作により分散コンピューティング資源へのサービスの構築完了を判定する。
【０１０１】
以上が、本実施形態におけるサービス構築装置２の動作方法の説明である。
【０１０２】
ここまで説明したように本実施形態では、サービス構築装置２のマッピング情報生成部２２が、これまでＩＴ資源１２で実行されてきた処理と、これまでネットワーク資源１１で実行されてきた処理を区別無く一様に扱ってマッピング情報を生成する。つまり、マッピング情報生成部２２は、ＩＴ資源１２とネットワーク資源１１のうちから区別無く選択した資源上に各処理を割り当ててマッピング情報を生成する。また、マッピング情報生成部２２は、選択されたＩＴ資源１２やネットワーク資源１１で行われる処理間で適切な通信を可能とするために、経路上資源を抽出してこれら経路上資源に対してもマッピング情報を生成する。このように、ＩＴ資源１２とネットワーク資源１１の双方に対して単一の処理でマッピングが可能となる。そのため、サービス構築に要する時間を短縮することができる。
【０１０３】
以上が、本実施形態におけるサービス構築装置の説明である。
【０１０４】
（第２実施形態）
次に、本発明の第２実施形態におけるサービス構築システムの説明を行う。
【０１０５】
［概要］
本実施形態におけるサービス構築システムは、分散コンピューティング環境１に構築されるサービスを、マッピング情報やサービス定義４２に基づいて可視化する可視化装置３を備える。ユーザは、構築されたサービスを可視化装置３により確認することが可能となる。
【０１０６】
［構成の説明］
まず、本実施形態におけるサービス構築システムの構成の説明を行う。本実施形態のサービス構築システムは、第１実施形態と同様、分散コンピューティング環境１とサービス構築装置２とを備え、さらに可視化装置３を備える。本実施形態におけるサービス構築システムは、可視化装置３をさらに備える点が第１実施形態と異なる。そのため、第１実施形態と同様の部分については重ねての説明を省略して、第１実施形態と異なる部分を中心に説明を行う。
【０１０７】
図１８は、本実施形態におけるサービス構築装置２と可視化装置３との機能を示す機能ブロック図である。なお、本実施形態のサービス構築装置２は、第１実施形態と同様、図２に示したようなハードウェア構成である。
【０１０８】
可視化装置３は、分散コンピューティング環境１に構築されたサービスを可視化する。可視化装置３は、サービス構築装置２のマッピング情報生成部２２と接続される。本実施形態のマッピング情報生成部２２は、サービスのマッピングに成功してサービス構築完了通知４５を出力する際に、サービス構築完了通知４５にマッピング情報とサービス定義４２を含めて出力する。可視化装置３は、マッピング情報とサービス定義４２に基づいて、分散コンピューティング環境１に構築されたサービスを可視化する。なお、可視化装置３は、図１８に示すようにサービス構築装置２の外部に構築されても良いし、サービス構築装置の内部に構築されても良い。なお、サービス構築装置２は、上述以外、第１実施形態と同様である。
【０１０９】
以上が、本実施形態におけるサービス構築装置２の構成の説明である。
【０１１０】
［動作の説明］
次に、本実施形態におけるサービス構築装置２の動作の説明を行う。図１９は、本実施形態におけるサービス構築システムの動作を示すフローチャートである。なお、図１９に示されたフローチャートでは、図６に示されたフローチャートのステップＳ２８において実行される処理を示している。また、この時点でのマッピング情報は、図１４に示した状態であるとする。
【０１１１】
まず、マッピング情報生成部２２は、マッピング情報において、複数の経路上資源に関連付けられた処理が存在するかを判定する（ステップＳ２８２）。マッピング情報生成部２２は、複数の経路上資源に関連付けられた処理が存在する場合（ステップＳ２８２のＹｅｓ）、該当する処理を新たな処理としてマッピング情報へ追加する（ステップＳ２８４）。具体的に、マッピング情報生成部２２は、複数の経路上資源に関連付けられた処理の「次の処理」に関する情報を、該当する処理から最初に経由する経路上資源で実行される処理の「次の処理」の情報として、その経路上資源で行うべき処理をマッピング情報に追加する。この新たに追加される経路上資源で行うべき処理において、「次の処理」の情報は、変更前の該当する処理の「次の処理」の情報である。「経路上資源」の情報は、変更前の該当する処理の「経路上資源」の情報から、該当する処理が最初に経由する経路上資源の情報を除いたものになる。その後、ステップＳ２８２に戻り、他に複数の経路上資源に関連付けられた処理が存在するかを判定することになる。
【０１１２】
ここで、図２０は、本実施形態におけるステップＳ２８４が完了した時点のマッピング情報の一例を示す図である。図２０のマッピング情報は、図１４のマッピング情報に、複数の経路上資源に関連付けられた処理を新たな処理として追加したものである。なお、マッピング情報は、図２０に示されるようなテーブル形式の表現に限定しない。
【０１１３】
例えば、図１４において、「ＡｐｐＤ」は、複数の経路上資源に関連付けられた処理である。「ＡｐｐＤ」の処理と「ＡｐｐＦ」の処理との間の経路上資源は、「ＳｅｒｖｅｒＣ」と「Ｒｏｕｔｅｒ」の二つ存在する。図２０に示されたステップＳ２８４の処理を実行後のマッピング情報では、「ＡｐｐＤ」の「次の処理」に関する情報を「ＳｅｒｖｅｒＣ」で実行される「Ｆｏｒｗａｒｄｉｎｇ１」という処理に置き換えている。つまり、「ＳｅｒｖｅｒＣ」で実行される転送処理を「Ｆｏｒｗａｒｄｉｎｇ１」という処理として追加している。ここで、「ＳｅｒｖｅｒＣ」と「Ｒｏｕｔｅｒ」とのうち「ＳｅｒｖｅｒＣ」が選択されるのは、「ＡｐｐＤ」から「ＡｐｐＦ」への通信経路上で「ＳｅｒｖｅｒＣ」を最初に経由するためである。
【０１１４】
なお、処理「Ｆｏｒｗａｒｄｉｎｇ１」の「次の処理」は、図１４において「ＡｐｐＤ」に関連付けられていた「ＡｐｐＦ」となる。さらに、処理「Ｆｏｒｗａｒｄｉｎｇ１」の「経路上資源」は、図１４において「ＡｐｐＤ」に関連付けられていた「ＳｅｒｖｅｒＣ」と「Ｒｏｕｔｅｒ」から「ＳｅｒｖｅｒＣ」を除いた「Ｒｏｕｔｅｒ」となる。また、「ＡｐｐＤ」の「次の処理」は、追加された「Ｆｏｒｗａｒｄｉｎｇ１」となる。
【０１１５】
次に、図１９へ戻り、マッピング情報生成部２２は、複数の経路上資源に関連付けられた処理が存在しない場合（ステップＳ２８２のＮｏ）、経路上資源を関連付けられた処理が存在するかを判定する（ステップＳ２８６）。なお、ステップＳ２８６の段階では、複数の経路上資源に関連付けられた処理は存在しない。経路上資源を関連付けられた処理が存在しない（ステップＳ２８６のＮｏ）、ステップＳ２９０へ進む。
【０１１６】
マッピング情報生成部２２は、経路上資源を関連付けられた処理が存在する場合（ステップＳ２８６のＹｅｓ）、該当する処理を新たな処理としてマッピング情報へ追加する（ステップＳ２８８）。具体的に、マッピング情報生成部２２は、該当する処理の「次の処理」に関する情報を、経路上資源で実行される処理の情報として、その経路上資源で行うべき処理をマッピング情報に追加する。この経路上資源で行うべき処理の「次の処理」の情報は、変更前の該当する処理の「次の処理」となる。
【０１１７】
ここで、図２１は、本実施形態におけるステップＳ２８８が完了した時点のマッピング情報の一例を示す図である。図２１のマッピング情報は、図２０のマッピング情報に、経路上資源による処理と新たな処理として追加したものである。なお、マッピング情報は、図２１に示されるようなテーブル形式の表現に限定しない。
【０１１８】
例えば、図２０において、「ＡｐｐＢ」は、経路上資源を関連付けられた処理である。「ＡｐｐＢ」は、「ＳｅｒｖｅｒＣ」を経路上資源とする処理と、「Ｒｏｕｔｅｒ」を経路上資源とする処理とが存在する。図２１に示されたステップＳ２８８の処理を実行後のマッピング情報では、一方の「ＡｐｐＢ」の「次の処理」に関する情報を「ＳｅｒｖｅｒＣ」で実行される「Ｆｏｒｗａｒｄｉｎｇ３」という処理に置き換えている。つまり、「ＳｅｒｖｅｒＣ」で実行される転送処理を「Ｆｏｒｗａｒｄｉｎｇ３」という処理として追加している。このとき、処理「Ｆｏｒｗａｒｄｉｎｇ３」の「次の処理」は、図２０において「ＡｐｐＢ」に関連付けられていた「ＡｐｐＣ」となる。また、「ＡｐｐＢ」の「次の処理」は、追加された「Ｆｏｒｗａｒｄｉｎｇ３」となる。
【０１１９】
また、図２１に示されたマッピング情報では、他方の「ＡｐｐＢ」の「次の処理」に関する情報を「Ｒｏｕｔｅｒ」で実行される「Ｆｏｒｗａｒｄｉｎｇ４」という処理に置き換えている。つまり、「Ｒｏｕｔｅｒ」で実行される転送処理を「Ｆｏｒｗａｒｄｉｎｇ４」という処理として追加している。このとき、処理「Ｆｏｒｗａｒｄｉｎｇ４」の「次の処理」は、図２０において他方の「ＡｐｐＢ」に関連付けられていた「ＡｐｐＥ」となる。また、他方の「ＡｐｐＢ」の「次の処理」は、追加された「Ｆｏｒｗａｒｄｉｎｇ４」となる。
【０１２０】
同様に、図２０のマッピング情報における「Ｉｎｐｕｔ」や、「Ｆｏｒｗａｒｄｉｎｇ１」や、「ＡｐｐＦ」等の処理も、関連付けられた経路上資源を新たな処理として追加する処理が行われる。このような処理が行われることで、図２１に示されたステップＳ２８８を実行後のマッピング情報では、経路上資源に関連付けられている処理は存在しない。そして、ＩＴ資源１２の処理もネットワーク資源１１の処理も、統一された形式で表現が可能となる。
【０１２１】
次に、図１９に戻り、マッピング情報生成部２２は、マッピング情報とサービス定義４２をサービス構築完了通知４５と共に出力する（ステップＳ２９０）。可視化装置３は、マッピング情報とサービス定義４２を入力とする。可視化装置３は、マッピング情報とサービス定義４２とに基づいて、分散コンピューティング環境１に構築されたサービスを可視化する（ステップＳ２９２）。以上が、本実施形態におけるサービス構築装置２の動作の説明である。
【０１２２】
ここで、図２２は、本実施形態における可視化装置３により可視化されたサービスの例を示す図である。可視化装置３は、図２２に示すようなウィンドウＷ４１〜Ｗ４４を表示する。このような表示は、可視化装置３が独自に備える表示装置に表示されてもよいし、サービス構築装置２の出力部１５０のＬＣＤ等に表示されても良い。以下、各ウィンドウの説明を行う。
【０１２３】
まず、ウィンドウＷ４１は、サービスを選択するためのウィンドウである。ウィンドウＷ４１は、現在、分散コンピューティング環境に構築されているサービスの一覧を表示する。ユーザは、ウィンドウＷ４１において、可視化したいサービスを選択することができる。
【０１２４】
次に、ウィンドウＷ４２は、分散コンピューティング環境１を表示するウィンドウである。ウィンドウＷ４２は、分散コンピューティング環境１の分散コンピューティング資源が、ネットワーク接続状態と共に表示される。また、ウィンドウＷ４２には、ウィンドウＷ４１で選択されたサービスのマッピング状況に応じた分散コンピューティング環境１が表示される。
【０１２５】
次に、ウィンドウＷ４３は、サービス定義を表示するウィンドウである。ウィンドウＷ４３は、ウィンドウＷ４１で選択されたサービスのサービス定義に基づいて、サービスを構成する処理間の接続に関する情報が表示される。
【０１２６】
次に、ウィンドウＷ４４は、マッピング情報を表示するウィンドウである。ウィンドウＷ４４は、ウィンドウＷ４１で選択されたサービスのマッピング情報が表示される。
【０１２７】
次に、図２３は、本実施形態における図４に示したサービス定義のサービスを可視化装置３により可視化した例を示す図である。
【０１２８】
ウィンドウＷ４１は、分散コンピューティング環境１に構築されているサービスを表示する。ユーザが、ウィンドウＷ４１においてサービスを選択すると、ウィンドウＷ４３にサービス定義４２が表示される。このサービス定義４２は、図４に示されたサービス定義４２である。また、ウィンドウＷ４４にマッピング情報が表示される。このマッピング情報は、図２１に示されたマッピング情報である。さらに、ウィンドウＷ４２にマッピング情報の内容が可視化されて表示される。
【０１２９】
次に、図２４は、本実施形態における図２３の可視化表示において特定の情報を選択した場合を示す図である。
【０１３０】
例えば、ユーザがウィンドウＷ４４に表示されたマッピング情報の特定のデータを選択したとする。図２４を参照すると、処理「ＡｐｐＡ」が選択されている。これに伴い、ウィンドウＷ４３では、処理「ＡｐｐＡ」に対応する処理Ａがハイライトされる。また、ウィンドウＷ４２では、処理「ＡｐｐＡ」と処理「ＡｐｐＡ」を実行する「Ｆｉｒｅｗａｌｌ」がハイライトされる。なお、同様に、ウィンドウＷ４３で特定の処理を選択すると、ウィンドウＷ４４の対応するマッピング情報と、ウィンドウＷ４２の対応する分散コンピューティング資源とアプリケーション４３とがハイライトされる。また、ウィンドウＷ４２で特定の分散コンピューティング資源、あるいはアプリケーション４３を選択すると、ウィンドウＷ４４の対応するマッピング情報と、ウィンドウＷ４３に対応する処理とがハイライトされる。
【０１３１】
このように、ユーザは、特定の表示を選択することで、当該処理に対応する情報を確認することができる。これにより、本来のサービス定義に含まれない経路上資源の情報を含めたマッピング情報が可視化され、サービスを構成する処理を詳細に確認することができる。そのため、分散コンピューティング環境１の分散コンピューティング資源が、あるサービスにおいてどのように使用されているのかを詳細に確認することが可能になる。
【０１３２】
以上が、本実施形態におけるサービス構築装置２の動作の説明である。
【０１３３】
ここまで本発明のサービス構築システムの説明を行ってきた。本発明の第１実施形態によるサービス構築装置２は、これまでＩＴ資源１２で実行されてきた処理と、これまでネットワーク資源１１で実行されてきた処理を区別無く一様に扱ってマッピング情報を生成する。サービス構築装置２は、ＩＴ資源１２とネットワーク資源１１のうちから区別無く選択された資源上に、構築するべきサービスの各処理を割り当てて、マッピング情報を生成する。また、サービス構築装置２は、選択されたＩＴ資源１２やネットワーク資源１１で行われる処理間で適切な通信を可能とするために経路上資源を抽出して、これら経路上資源に対してもマッピング情報を生成する。これにより、ＩＴ資源１２とネットワーク資源１１の双方に対して単一の処理でマッピングが可能となる。そのため、サービス構築に要する時間を短縮することができる。
【０１３４】
また、本発明の第２実施形態によるサービス構築装置２は、本来のサービス定義に含まれない経路上資源の情報を含めたマッピング情報が可視化され、サービスを構成する処理を詳細に確認することができる。そのため、分散コンピューティング環境１の分散コンピューティング資源が、あるサービスにおいてどのように使用されているのかを詳細に確認することが可能になる。なお、各実施形態は独立して実現することも、組み合わせて実現することも可能である。
【０１３５】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更を行うことができる。
【０１３６】
なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１３７】
（付記１）互いに接続されてネットワークを構成する分散コンピューティング資源を具備する分散コンピューティング環境と、前記分散コンピューティング環境にサービスを構築するサービス構築装置とを備え、前記サービス構築装置は、前記サービスにおける処理の流れを示すアプリケーションフロー解析結果を生成するアプリケーションフロー解析部と、前記アプリケーションフロー解析結果に基づいて、前記分散コンピューティング資源のうちから前記処理を実現するアプリケーションを実行するべき第１選択分散コンピューティング資源と前記アプリケーション間の通信転送処理を実行するべき第２選択分散コンピューティング資源とを割り当てたマッピング情報を生成するマッピング情報生成部と、前記マッピング情報に基づいて、前記第１選択分散コンピューティング資源に対する前記アプリケーションの配置情報と、前記第２選択分散コンピューティング資源に対する通信転送処理の設定情報とをマッピングする設定指示部とを備えるサービス構築システム。
【０１３８】
（付記２）付記１に記載のサービス構築システムであって、前記マッピング情報生成部は、前記処理に対して前記処理を実現するアプリケーションを割り当てて、前記分散コンピューティング資源のうちから前記アプリケーションを実行するべき前記第１選択分散コンピューティング資源を割り当てて、前記分散コンピューティング資源のうちから前記処理の流れにおいて前記第１選択分散コンピューティング資源に割り当てられた前記アプリケーション間の通信系路上に存在して通信転送処理を実行するべき第２選択分散コンピューティング資源を割り当てて前記マッピング情報を生成するサービス構築システム。
【０１３９】
（付記３）付記１または付記２に記載のサービス構築システムであって、前記分散コンピューティング資源は、ネットワーク資源とＩＴ資源とを含み、前記ネットワーク資源は、互いに接続されて前記ネットワークにおいて前記通信転送処理を行い、前記ＩＴ資源は、他のＩＴ資源や前記ネットワーク資源に接続されて前記アプリケーションを実行し、前記マッピング情報生成部は、前記ネットワーク資源と前記ＩＴとのうちから、前記第１選択分散コンピューティング資源と前記第２選択分散コンピューティング資源とを区別無く割り当てるサービス構築システム。
【０１４０】
（付記４）付記１から付記３までのいずれかに記載のサービス構築システムであって、前記アプリケーションフロー解析部は、前記サービスの仕様を定めたサービス定義入力して、前記サービス定義に基づいて前記サービスにおける前記処理の入出力関係を示す前記アプリケーションフロー解析結果を生成するサービス構築システム。
【０１４１】
（付記５）付記１から付記４までのいずれかに記載のサービス構築システムであって、前記サービス定義は、前記サービスに含まれる前記処理の内容や、前記処理の入出力関係や、前記サービスにおける制約事項を含むサービス構築システム。
【０１４２】
（付記６）付記１から付記５までのいずれかに記載のサービス構築システムであって、前記分散コンピューティング資源に配置可能な前記アプリケーションと、前記アプリケーションを動作させる前記分散コンピューティング資源における条件を示すアプリケーション情報を記憶するアプリケーション管理部をさらに備え、前記マッピング情報生成部は、前記アプリケーション情報を用いて前記マッピング情報を生成するサービス構築システム。
【０１４３】
（付記７）付記１から付記６までのいずれかに記載のサービス構築システムであって、前記分散コンピューティング資源と前記分散コンピューティング資源の各々の前記分散コンピューティング環境における接続関係を示す前記資源情報とを記憶する資源管理部をさらに備え、前記マッピング情報生成部は、前記資源情報を用いて前記マッピング情報を生成するサービス構築システム。
【０１４４】
（付記８）付記１から付記７までのいずれかに記載されたサービス構築システムであって、前記サービス毎に前記マッピング情報に基づく処理の流れを前記分散コンピューティング環境における前記分散コンピューティング資源に対応付けて可視化する可視化装置をさらに備えるサービス構築システム。
【０１４５】
（付記９）付記８に記載のサービス構築システムであって、前記サービス構築装置が前記可視化装置を備えるサービス構築システム。
【０１４６】
（付記１０）付記８または付記９に記載のサービス構築システムであって、前記マッピング情報生成部は、前記通信転送処理を前記サービスにおいて前記第２選択分散コンピューティング資源の実行する前記処理の１つとして前記マッピング情報へ追加すされた補正マッピング情報を生成して、前記可視化装置は、前記補正マッピング情報に基づいて前記処理の流れを前記分散コンピューティング環境における前記分散コンピューティング資源に対応付けるサービス構築システム。
【０１４７】
（付記１１）付記１から付記１０までのいずれかに記載のサービス構築システムで用いられるサービス構築装置。
【０１４８】
（付記１２）互いに接続されてネットワークを構成する分散コンピューティング資源を具備する分散コンピューティング環境と、前記分散コンピューティング環境にサービスを構築するサービス構築装置とを備えるサービス構築システムにおいて、前記サービスにおける処理の流れを示すアプリケーションフロー解析結果を生成するステップと、前記アプリケーションフロー解析結果に基づいて、前記分散コンピューティング資源うちから前記処理を実現するアプリケーションを実行するべき第１選択分散コンピューティング資源と前記アプリケーション間の通信転送処理を実行するべき第２選択分散コンピューティング資源とを割り当てたマッピング情報を生成するステップと、前記マッピング情報に基づいて、前記第１選択分散コンピューティング資源に対する前記アプリケーションの配置情報と、前記第２選択分散コンピューティング資源に対する通信転送処理の設定情報とをマッピングするステップとを備えるサービス構築方法。
【０１４９】
（付記１３）付記１２に記載のサービス構築方法をコンピュータに実行させるコンピュータプログラム。
【符号の説明】
【０１５０】
１  分散コンピューティング環境
２  サービス構築装置
３  可視化装置
１１  ネットワーク資源
１２  ＩＴ資源
２１  アプリケーションフロー解析部
２２  マッピング情報生成部
２３  アプリケーション管理部
２４  設定指示部
２５  資源管理部
４１  設定要求
４２  サービス定義
４３  アプリケーション
４４  状態情報
４５  サービス構築完了通知
１００  記憶部
１１０  サービス構築プログラム
１２０  制御部
１３０  通信部
１４０  入力部
１５０  出力部
１６０  バス
Ｗ４１〜Ｗ４４  ウィンドウ
【図１】
0005522525.tif 000002
【図２】
0005522525.tif 000003
【図３】
0005522525.tif 000004
【図４】
0005522525.tif 000005
【図５】
0005522525.tif 000006
【図６】
0005522525.tif 000007
【図７】
0005522525.tif 000008
【図８】
0005522525.tif 000009
【図９】
0005522525.tif 000010
【図１０】
0005522525.tif 000011
【図１１】
0005522525.tif 000012
【図１２】
0005522525.tif 000013
【図１３】
0005522525.tif 000014
【図１４】
0005522525.tif 000015
【図１５】
0005522525.tif 000016
【図１６】
0005522525.tif 000017
【図１７】
0005522525.tif 000018
【図１８】
0005522525.tif 000019
【図１９】
0005522525.tif 000020
【図２０】
0005522525.tif 000021
【図２１】
0005522525.tif 000022
【図２２】
0005522525.tif 000023
【図２３】
0005522525.tif 000024
【図２４】
0005522525.tif 000025