JP5522525B2 - Service construction system, apparatus, method, and program - Google Patents

Service construction system, apparatus, method, and program Download PDF

Info

Publication number
JP5522525B2
JP5522525B2 JP2010062140A JP2010062140A JP5522525B2 JP 5522525 B2 JP5522525 B2 JP 5522525B2 JP 2010062140 A JP2010062140 A JP 2010062140A JP 2010062140 A JP2010062140 A JP 2010062140A JP 5522525 B2 JP5522525 B2 JP 5522525B2
Authority
JP
Japan
Prior art keywords
service
distributed computing
mapping information
resource
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010062140A
Other languages
Japanese (ja)
Other versions
JP2011197866A (en
Inventor
聡 辻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010062140A priority Critical patent/JP5522525B2/en
Publication of JP2011197866A publication Critical patent/JP2011197866A/en
Application granted granted Critical
Publication of JP5522525B2 publication Critical patent/JP5522525B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は、分散コンピューティング環境におけるサービス構築システムに関する。   The present invention relates to a service construction system in a distributed computing environment.

近年、複数のアプリケーションを連携させて1つのサービスとして提供するサービス形態が一般化している。このようなサービス形態は、企業における業務アプリケーションに例示される。このようなサービス形態では、各アプリケーションを単一のIT資源上で稼動させるというシステム形態が考えられる。   In recent years, service forms in which a plurality of applications are linked and provided as one service have become common. Such a service form is exemplified by a business application in a company. In such a service form, a system form in which each application is operated on a single IT resource can be considered.

ここで、IT資源とは、汎用PC(Personal Computer)や、汎用サーバや、GPGPU(General Purpose Graphics Processing Unit)のように特定の処理を高速化するエンジンに例示される計算リソース全般を指す。また、物理的な計算リソースだけでなく、仮想マシンなどの技術により仮想化された資源も含む。   Here, the IT resource refers to general computing resources exemplified by a general-purpose PC (Personal Computer), a general-purpose server, and an engine that accelerates a specific process such as GPGPU (General Purpose Graphics Processing Unit). Further, not only physical computing resources but also resources virtualized by a technology such as a virtual machine are included.

一方で、最近では、分散コンピューティング環境を利用したシステム形態が主流となっている。分散コンピューティング環境は、通信ネットワーク(以下、ネットワーク)で相互接続された複数のIT資源を用いて、サービスを構築する各アプリケーションを異なるIT資源上で稼動させる。   On the other hand, recently, a system form using a distributed computing environment has become mainstream. A distributed computing environment uses a plurality of IT resources interconnected by a communication network (hereinafter referred to as a network) to operate each application for constructing a service on different IT resources.

サービス設計者は、このようなサービスを構築する場合、まず、必要となる機能を決定して、各機能がどのように連携するかを決定する。その上で、サービス設計者は、各機能を実現するための具体的なアプリケーションを決定する。   When constructing such a service, the service designer first determines the necessary functions and determines how each function works. Then, the service designer determines a specific application for realizing each function.

しかし、このような手順で決定されるのは、IT資源上で実行される機能(アプリケーション)の連携のみである。そのため、IT資源同士を接続するネットワークについては考慮されることはない。   However, only the cooperation of functions (applications) executed on IT resources is determined by such a procedure. Therefore, a network that connects IT resources is not considered.

現在、機能的にはネットワーク資源で行われる処理であっても、当該機能をIT資源上で処理させる例も存在する。すなわち、IT資源をネットワーク資源として運用する例が存在する。このように、処理の実行される資源には、境界が無くなってきている。   At present, there is an example in which the function is processed on the IT resource even if the process is functionally performed on the network resource. That is, there is an example in which IT resources are used as network resources. As described above, the resource to be processed has no boundary.

ここで、ネットワーク資源とは、ネットワークルータ(以下、ルータ)や、ネットワークスイッチ(以下、スイッチ)や、ファイアウォールや、負荷分散装置に例示されるネットワーク機器のリソース全般を指す。また、物理的なネットワークリソースだけでなく、仮想ルータや、仮想ファイアウォールに例示されるか仮想化された資源も含む。   Here, the network resources refer to all network device resources exemplified by network routers (hereinafter referred to as routers), network switches (hereinafter referred to as switches), firewalls, and load distribution devices. It also includes not only physical network resources, but also resources that are exemplified or virtualized by virtual routers and virtual firewalls.

ネットワーク資源で行われている処理をIT資源上で行わせる例として、iptables(非特許文献1)や、Click Moduler Router(非特許文献2)が存在する。iptablesは、ファイアウォール機能を提供するアプリケーションである。Click Moduler Routerは、ソフトウェアルータである。   Examples of causing the processing performed on the network resource to be performed on the IT resource include iptables (Non-patent Document 1) and Click Module Router (Non-patent Document 2). iptables is an application that provides a firewall function. Click Module Router is a software router.

このようなソフトウェアを汎用サーバ上で実行する場合、ルータやファイアウォール等の専用のネットワーク機器と比較して、一般に、性能が低くなる。しかし、専用のネットワーク機器は、汎用サーバに比べて高コストであることが多い。そのため、専用のネットワーク機器を用いるのに換えて、上述したようなソフトウェアを汎用サーバ上で実行することで、サービスを低コストで実現できるというメリットが存在する。   When such software is executed on a general-purpose server, the performance is generally lower than that of a dedicated network device such as a router or a firewall. However, dedicated network devices are often more expensive than general-purpose servers. Therefore, there is a merit that the service can be realized at low cost by executing the above-described software on the general-purpose server instead of using the dedicated network device.

このようなサービス構築においては、サービスの設計からリリースまでの期間の短縮が求められる。そのために、サービスの設計情報を入力すると、IT資源へアプリケーションのマッピングやネットワーク資源への設定を、自動的に行う仕組みが求められる。これに関連する技術として、以下のような技術が開示されている。   In such service construction, it is required to shorten the period from service design to release. Therefore, when service design information is input, a mechanism for automatically mapping applications to IT resources and setting to network resources is required. The following technologies are disclosed as related technologies.

特許文献1は、効率的なシステム構成を自動生成することができるシステムレイアウト設計装置を開示している。特許文献1のシステムレイアウト設計装置は、管理対象ネットワーク上での複数の機能の配置を決定するシステムレイアウト設計装置である。   Patent Document 1 discloses a system layout design apparatus that can automatically generate an efficient system configuration. The system layout design apparatus of Patent Literature 1 is a system layout design apparatus that determines the arrangement of a plurality of functions on a management target network.

特許文献1のシステムレイアウト設計装置によれば、生成されたシステムレイアウトを評価して、最も評価の高いシステムレイアウトを設計結果とする構成であるため、大規模な管理対象ネットワークであっても、効率性等に関する所定の評価基準に最も適合したシステムレイアウトを設計することができる。   According to the system layout design apparatus of Patent Document 1, the generated system layout is evaluated, and the system layout having the highest evaluation is used as a design result. Therefore, even in a large-scale managed network, the efficiency is improved. It is possible to design a system layout that best suits a predetermined evaluation standard related to sex and the like.

また、特許文献2は、ネットワーク構成設定用パラメータの生成時にネットワークを構成する各ノードが自ノードの物理情報及び識別子をサーバノードに送信するネットワークシステムを開示している。特許文献2のネットワークシステムは、サーバノードとサーバノードにより管理されるノードを有するネットワークシステムである。   Patent Document 2 discloses a network system in which each node constituting a network transmits physical information and an identifier of the own node to a server node when a network configuration setting parameter is generated. The network system of Patent Document 2 is a network system having a server node and a node managed by the server node.

特許文献2のネットワークシステムによれば、各ノードの最新の物理構成情報と識別を自動的に収集できる。そのため、ネットワークシステム管理者は、各ノードの詳細情報を把握しておく必要がなくなる。   According to the network system of Patent Document 2, the latest physical configuration information and identification of each node can be automatically collected. This eliminates the need for the network system administrator to know detailed information about each node.

また、特許文献3は、特定の管理サーバを経由することなく、フローに基づいたアプリケーションの連携処理を実現するアプリケーションフロー制御装置を開示している。特許文献3のアプリケーションフロー制御装置は、連携処理を行う複数のアプリケーションの一部を有するアプリケーションフロー制御装置である。   Further, Patent Document 3 discloses an application flow control device that realizes application cooperation processing based on a flow without going through a specific management server. The application flow control device disclosed in Patent Literature 3 is an application flow control device having a part of a plurality of applications that perform cooperation processing.

特許文献3のアプリケーションフロー制御装置によれば、アプリケーションを有する装置間でフロー制御のためのメッセージが転送されるため、特定の管理サーバを経由することなく、フローに基づいたアプリケーションの連携処理が実現される。   According to the application flow control apparatus of Patent Document 3, since a message for flow control is transferred between apparatuses having an application, application cooperation processing based on a flow is realized without going through a specific management server. Is done.

このほか、特許文献4は、従来のWWWサーバ用の単純な負荷分散システムよりも柔軟かつ高度な分散処理、すなわち、計算機リソースや、計算機リソース間を結合するネットワークやネットワーク接続装置等の効率的な割当処理を実行することができる分散処理システムを開示している。特許文献5は、ネットワークに接続された複数の機器のそれぞれの能力に応じてそれぞれの諸機能を利用できる情報処理装置を開示している。特許文献6は、分散コンピューティングシステムのためのアーキテクチャを開示している。   In addition, Patent Document 4 discloses a more flexible and advanced distributed processing than a simple load distribution system for a conventional WWW server, that is, efficient computer resources, networks that connect computer resources, network connection devices, and the like. A distributed processing system capable of executing an allocation process is disclosed. Patent Document 5 discloses an information processing apparatus that can use various functions according to the capabilities of a plurality of devices connected to a network. U.S. Patent No. 6,057,031 discloses an architecture for a distributed computing system.

特許文献1のシステムレイアウト設計装置は、システムレイアウトの生成対象がIT資源のみであり、ネットワーク資源を対象としていない。そのため、サービスを構築する際に、ネットワーク資源の設定を別途行う必要があり、サービスのリリースまでに時間を要する。   In the system layout design apparatus of Patent Document 1, the system layout is generated only for IT resources, not for network resources. Therefore, when building a service, it is necessary to separately set network resources, and it takes time until the service is released.

また、特許文献2のネットワークシステムは、ネットワーク資源への設定を自動化することができるが、IT資源へのアプリケーションのマッピングなどを行わない。そのため、アプリケーションのマッピングを別途行う必要があり、サービスのリリースまでに時間を要する。   In addition, the network system disclosed in Patent Document 2 can automate setting to network resources, but does not perform mapping of applications to IT resources. Therefore, it is necessary to perform application mapping separately, and it takes time to release the service.

特許文献3のアプリケーションフロー制御装置は、各アクティビティに示される情報がIT資源上で実行される処理に限定されており、ネットワーク資源については考慮されていない。そのため、アプリケーションの連携において、最適なネットワークの設定がなされず、サービスの性能が劣化する場合がある。   The application flow control apparatus of Patent Document 3 is limited to the process in which information shown in each activity is executed on IT resources, and does not consider network resources. For this reason, in the cooperation of applications, optimal network settings may not be made, and service performance may deteriorate.

特開2005−234705号公報JP 2005-234705 A 特開平08−110878号公報Japanese Patent Laid-Open No. 08-110878 特開2006−133894号公報JP 2006-133894 A 特開2004−046372号公報JP 2004-046372 A 特開2004−056196号公報JP 2004-056196 A 特開2004−272912号公報JP 2004-272912 A

The netfilter.org “iptables”project. [online]. [retrievedon 2010-02-23]. Retrieved from the Internet: <URL:http://www.netfilter.org/projects/iptables/index.html>.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/>.The Click Modular Router Project. [Online]. [Retrieved on 2010-02-23]. Retrieved from the Internet: <URL: http: //read.cs.ucla.edu/click/>.

本発明の目的は、分散コンピューティング環境におけるサービス構築において、IT資源とネットワーク資源との双方に対して高速にサービスを構築可能なサービス構築システムを提供することにある。   An object of the present invention is to provide a service construction system capable of constructing a service at high speed for both IT resources and network resources in service construction in a distributed computing environment.

本発明の第1の側面であるサービス構築システムは、互いに接続されてネットワークを構成する分散コンピューティング資源を具備する分散コンピューティング環境と、分散コンピューティング環境にサービスを構築するサービス構築装置とを備える。サービス構築装置は、サービスにおける処理の流れを示すアプリケーションフロー解析結果を生成するアプリケーションフロー解析部と、アプリケーションフロー解析結果に基づいて、分散コンピューティング資源のうちから処理を実現するアプリケーションを実行するべき第1選択分散コンピューティング資源とアプリケーション間の通信転送処理を実行するべき第2選択分散コンピューティング資源とを割り当てたマッピング情報を生成するマッピング情報生成部と、マッピング情報に基づいて、第1選択分散コンピューティング資源に対するアプリケーションの配置情報と、第2選択分散コンピューティング資源に対する通信転送処理の設定情報とをマッピングする設定指示部とを備える。   A service construction system according to a first aspect of the present invention includes a distributed computing environment including distributed computing resources that are connected to each other to form a network, and a service construction apparatus that constructs a service in the distributed computing environment. . The service construction device includes an application flow analysis unit that generates an application flow analysis result indicating a processing flow in the service, and an application that realizes the process from among the distributed computing resources based on the application flow analysis result. A mapping information generating unit for generating mapping information to which a first selected distributed computing resource and a second selected distributed computing resource for executing a communication transfer process between applications are assigned; and a first selected distributed computer based on the mapping information. A setting instructing unit that maps application arrangement information with respect to the operating resources and setting information of communication transfer processing with respect to the second selected distributed computing resource.

本発明によれば、分散コンピューティング環境におけるサービス構築において、IT資源とネットワーク資源とでそれぞれ実行されてきた処理を、両資源へ区別無くマッピングしてサービスを構築可能なサービス構築システムを提供できる。そのため、分散コンピューティング環境へのサービスのマッピングをIT資源とネットワーク資源の双方に対して単一の処理で行うことができ、高速にサービスを構築することができる。   According to the present invention, in service construction in a distributed computing environment, it is possible to provide a service construction system capable of constructing a service by mapping processes executed by IT resources and network resources to both resources without distinction. Therefore, the service mapping to the distributed computing environment can be performed with a single process for both the IT resource and the network resource, and the service can be constructed at high speed.

図1は、第1実施形態におけるサービス構築システムの構成を示す図である。FIG. 1 is a diagram showing a configuration of a service construction system in the first embodiment. 図2は、第1実施形態におけるサービス構築装置2の構成を示す図である。FIG. 2 is a diagram illustrating a configuration of the service construction device 2 according to the first embodiment. 図3は、第1実施形態におけるサービス構築装置2の機能を示す機能ブロック図である。FIG. 3 is a functional block diagram showing functions of the service construction device 2 in the first embodiment. 図4は、第1実施形態におけるサービス構築装置2により構築されるサービスのサービス定義42の一例を示す図である。FIG. 4 is a diagram illustrating an example of the service definition 42 of the service constructed by the service construction apparatus 2 in the first embodiment. 図5は、第1実施形態におけるサービス構築装置2によりサービスを構築される分散コンピューティング環境1の一例を示す図である。FIG. 5 is a diagram illustrating an example of a distributed computing environment 1 in which a service is constructed by the service construction apparatus 2 in the first embodiment. 図6は、第1実施形態におけるサービス構築装置2の動作を示すフローチャートである。FIG. 6 is a flowchart showing the operation of the service construction device 2 in the first embodiment. 図7は、第1実施形態において図6に示されたフローチャートのステップS20における動作を詳細に示したフローチャートである。FIG. 7 is a flowchart showing in detail the operation in step S20 of the flowchart shown in FIG. 6 in the first embodiment. 図8は、第1実施形態におけるアプリケーションフロー解析結果の一例を示す図である。FIG. 8 is a diagram illustrating an example of an application flow analysis result in the first embodiment. 図9は、第1実施形態におけるアプリケーションフロー解析結果の一例を示す図である。FIG. 9 is a diagram illustrating an example of an application flow analysis result in the first embodiment. 図10は、第1実施形態において図6のフローチャートのステップS20における動作を詳細に示したフローチャートである。FIG. 10 is a flowchart showing in detail the operation in step S20 of the flowchart of FIG. 6 in the first embodiment. 図11は、第1実施形態におけるステップS210が完了した時点のマッピング情報の一例を示す図である。FIG. 11 is a diagram illustrating an example of mapping information at the time when step S210 in the first embodiment is completed. 図12は、第1実施形態におけるステップS220が完了した時点のマッピング情報の一例を示す図である。FIG. 12 is a diagram illustrating an example of mapping information at the time when step S220 in the first embodiment is completed. 図13は、第1実施形態におけるアプリケーションの割り当てられた分散コンピューティング資源間に存在する経路上資源を示した図である。FIG. 13 is a diagram showing resources on a path existing between distributed computing resources to which applications are assigned in the first embodiment. 図14は、第1実施形態におけるステップS240が完了した時点のマッピング情報の一例を示す図である。FIG. 14 is a diagram illustrating an example of mapping information at the time when step S240 in the first embodiment is completed. 図15は、第1実施形態において図6のフローチャートのステップS24における動作を詳細に示したフローチャートである。FIG. 15 is a flowchart showing in detail the operation in step S24 of the flowchart of FIG. 6 in the first embodiment. 図16は、第1実施形態において図15のフローチャートのステップS430における動作を詳細に示したフローチャートである。FIG. 16 is a flowchart showing in detail the operation in step S430 of the flowchart of FIG. 15 in the first embodiment. 図17は、第1実施形態において図6のフローチャートのステップS26における動作を詳細に示したフローチャートである。FIG. 17 is a flowchart showing in detail the operation in step S26 of the flowchart of FIG. 6 in the first embodiment. 図18は、第2実施形態におけるサービス構築装置2と可視化装置3との機能を示す機能ブロック図である。FIG. 18 is a functional block diagram illustrating functions of the service construction device 2 and the visualization device 3 in the second embodiment. 図19は、第2実施形態におけるサービス構築システムの動作を示すフローチャートである。FIG. 19 is a flowchart showing the operation of the service construction system in the second embodiment. 図20は、第2実施形態におけるステップS284が完了した時点のマッピング情報の一例を示す図である。FIG. 20 is a diagram illustrating an example of mapping information at the time when step S284 in the second embodiment is completed. 図21は、第2実施形態におけるステップS288が完了した時点のマッピング情報の一例を示す図である。FIG. 21 is a diagram illustrating an example of mapping information at the time when step S288 in the second embodiment is completed. 図22は、第2実施形態における可視化装置3により可視化されたサービスの例を示す図である。FIG. 22 is a diagram illustrating an example of a service visualized by the visualization device 3 according to the second embodiment. 図23は、第2実施形態における図4に示したサービス定義のサービスを可視化装置3により可視化した例を示す図である。FIG. 23 is a diagram illustrating an example in which the service definition service illustrated in FIG. 4 in the second embodiment is visualized by the visualization device 3. 図24は、第2実施形態における図23の可視化表示において特定の情報を選択した場合を示す図である。FIG. 24 is a diagram illustrating a case where specific information is selected in the visualization display of FIG. 23 in the second embodiment.

添付図面を参照して、本発明の実施形態によるサービス構築システムを以下に説明する。   A service construction system according to an embodiment of the present invention will be described below with reference to the accompanying drawings.

(第1実施形態)
はじめに、本発明の第1実施形態によるサービス構築システムを以下に説明する。
(First embodiment)
First, the service construction system according to the first embodiment of the present invention will be described below.

[構成の説明]
まず、本実施形態におけるサービス構築システムの構成の説明を行う。図1は、本実施形態におけるサービス構築システムの構成を示す図である。本実施形態のサービス構築システムは、分散コンピューティング環境1とサービス構築装置2とを備える。
[Description of configuration]
First, the configuration of the service construction system in this embodiment will be described. FIG. 1 is a diagram showing a configuration of a service construction system in the present embodiment. The service construction system of this embodiment includes a distributed computing environment 1 and a service construction device 2.

まず、分散コンピューティング環境1の説明を行う。分散コンピューティング環境1は、一つ以上のネットワーク資源11と、一つ以上のIT資源12とを備える。   First, the distributed computing environment 1 will be described. The distributed computing environment 1 includes one or more network resources 11 and one or more IT resources 12.

まず、ネットワーク資源11は、ネットワークルータ(以下、ルータ)や、ネットワークスイッチ(以下、スイッチ)や、ファイアウォールや、負荷分散装置に例示されるネットワーク機器のリソース全般を指す。また、ネットワーク資源11は、物理的なネットワークリソースだけでなく、仮想ルータや、仮想ファイアウォールに例示されるか仮想化された資源も含む。   First, the network resource 11 refers to all network device resources exemplified by network routers (hereinafter referred to as routers), network switches (hereinafter referred to as switches), firewalls, and load balancers. The network resource 11 includes not only a physical network resource but also a resource exemplified or virtualized by a virtual router or a virtual firewall.

次に、IT資源12は、汎用PC(Personal Computer)や、汎用サーバや、GPGPU(General Purpose Graphics Processing Unit)のように特定の処理を高速化するエンジンに例示される計算リソース全般を指す。また、IT資源12は、物理的な計算リソースだけでなく、仮想マシンなどの技術により仮想化された資源も含む。   Next, the IT resource 12 indicates a general computing resource exemplified by a general-purpose PC (Personal Computer), a general-purpose server, and an engine that accelerates a specific process such as GPGPU (General Purpose Graphics Processing Unit). The IT resource 12 includes not only a physical calculation resource but also a resource virtualized by a technology such as a virtual machine.

ネットワーク資源11は、互いに接続されてネットワークを構成する。IT資源12は、ネットワーク資源11と接続される。ネットワーク資源11とIT資源12とは、サービス構築装置2によって、サービスを構築するための設定情報を設定される。なお、以下では、ネットワーク資源11とIT資源12とをまとめて、分散コンピューティング資源と呼ぶ。   Network resources 11 are connected to each other to form a network. The IT resource 12 is connected to the network resource 11. The network resource 11 and the IT resource 12 are set by the service construction device 2 with setting information for constructing a service. Hereinafter, the network resource 11 and the IT resource 12 are collectively referred to as distributed computing resources.

次に、サービス構築装置2の説明を行う。図2は、本実施形態におけるサービス構築装置2の構成を示す図である。本実施形態におけるサービス構築装置2は、記憶部100と、制御部120と、通信部130と、入力部140と、出力部150とを備える。記憶部100と、制御部120と、通信部130と、入力部140と、出力部150とは、バス160を介して接続されており、データの送受信が可能である。   Next, the service construction device 2 will be described. FIG. 2 is a diagram showing a configuration of the service construction device 2 in the present embodiment. The service construction device 2 in this embodiment includes a storage unit 100, a control unit 120, a communication unit 130, an input unit 140, and an output unit 150. The storage unit 100, the control unit 120, the communication unit 130, the input unit 140, and the output unit 150 are connected via a bus 160 and can transmit and receive data.

まず、通信部130は、外部装置との通信インターフェースである。通信部130は、NIC(Network Interface Card)に例示される。サービス構築装置2は、通信部130を介してネットワーク資源11やIT資源12とデータを送受信することが可能である。   First, the communication unit 130 is a communication interface with an external device. The communication unit 130 is exemplified by a NIC (Network Interface Card). The service construction device 2 can transmit and receive data to and from the network resource 11 and the IT resource 12 via the communication unit 130.

次に、入力部140、出力部150は、サービス構築装置2のユーザとの入出力インターフェースである。入力部140は、キーボードや、マウスに例示される。出力部150は、LCD(Liquid Crystal Display)に例示される。ユーザは、入力部140、出力部150を用いて、サービス構築装置2を操作可能である。   Next, the input unit 140 and the output unit 150 are input / output interfaces with the user of the service construction device 2. The input unit 140 is exemplified by a keyboard and a mouse. The output unit 150 is exemplified by an LCD (Liquid Crystal Display). The user can operate the service construction device 2 using the input unit 140 and the output unit 150.

次に、記憶部100は、サービス構築装置2の機能を実現するコンピュータプログラムやデータを記憶する。記憶部100は、RAM(Random Access Memory)や、ROM(Read Only Memory)や、HDD(Hard Disk Drive)に例示されるような主記憶装置、2次記憶装置により構成される。記憶部100は、コンピュータプログラムとしてサービス構築プログラム110を備える。   Next, the memory | storage part 100 memorize | stores the computer program and data which implement | achieve the function of the service construction apparatus 2. FIG. The storage unit 100 includes a main storage device and a secondary storage device such as a RAM (Random Access Memory), a ROM (Read Only Memory), and an HDD (Hard Disk Drive). The storage unit 100 includes a service construction program 110 as a computer program.

次に、制御部120は、記憶部100に記憶されたコンピュータプログラムを実行してサービス構築装置2の機能を実現する。制御部120は、CPU(Central Processing Unit)に例示される。   Next, the control unit 120 executes the computer program stored in the storage unit 100 to realize the function of the service construction device 2. The control unit 120 is exemplified by a CPU (Central Processing Unit).

ここで、記憶部100に記憶されたサービス構築プログラム110は、移動可能な記憶媒体に記録することが可能である。記憶媒体とは、CD(Compact Disk)や、USB(Universal Serial Bus)インターフェースを搭載したフラッシュメモリ(USBメモリ)等に例示される。サービス構築プログラム110は、このような記録媒体により流通が可能である。   Here, the service construction program 110 stored in the storage unit 100 can be recorded in a removable storage medium. Examples of the storage medium include a CD (Compact Disk) and a flash memory (USB memory) equipped with a USB (Universal Serial Bus) interface. The service construction program 110 can be distributed using such a recording medium.

サービス構築プログラム110は、図示されないサービス構築装置2のCDドライブや、USBインターフェースを介して、サービス構築装置2へ導入される。また、サービス構築プログラム110は、図示されないネットワークに接続されたアプリケーションサーバのHDDにダウンロード可能な形で記憶されていても良い。この場合、サービス構築プログラム110は、ネットワークを介して、サービス構築装置2へ導入される。   The service construction program 110 is introduced into the service construction apparatus 2 via a CD drive or a USB interface of the service construction apparatus 2 (not shown). The service construction program 110 may be stored in a downloadable form on the HDD of an application server connected to a network (not shown). In this case, the service construction program 110 is introduced into the service construction device 2 via the network.

次に、図3は、本実施形態におけるサービス構築装置2の機能を示す機能ブロック図である。本実施形態のサービス構築装置2は、アプリケーションフロー解析部21と、マッピング情報生成部22と、アプリケーション管理部23と、設定指示部24と、資源管理部25とを備える。ここで、サービス構築装置2の各機能ブロックは、前述の通りソフトウェアにより実現されても良いし、あるいはハードウェアによって実現されても良い。あるいは、ソフトウェアとハードウェアの組み合わせにより実現されても良い。以下、サービス構築装置2の各機能ブロックを詳細に説明する。   Next, FIG. 3 is a functional block diagram showing functions of the service construction device 2 in the present embodiment. The service construction device 2 of this embodiment includes an application flow analysis unit 21, a mapping information generation unit 22, an application management unit 23, a setting instruction unit 24, and a resource management unit 25. Here, each functional block of the service construction device 2 may be realized by software as described above, or may be realized by hardware. Alternatively, it may be realized by a combination of software and hardware. Hereinafter, each functional block of the service construction device 2 will be described in detail.

まず、アプリケーションフロー解析部21は、サービス定義42の示すサービスを構成する各処理の接続関係を解析する。アプリケーションフロー解析部21は、サービス定義42を入力とする。アプリケーションフロー解析部21は、サービス定義42の示すサービスを構成する各処理の接続関係を解析して、アプリケーションフロー解析結果を生成する。アプリケーションフロー解析部21は、アプリケーションフロー解析結果をマッピング情報生成部22へ出力する。   First, the application flow analysis unit 21 analyzes the connection relationship of each process constituting the service indicated by the service definition 42. The application flow analysis unit 21 receives the service definition 42 as an input. The application flow analysis unit 21 analyzes the connection relationship of each process constituting the service indicated by the service definition 42 and generates an application flow analysis result. The application flow analysis unit 21 outputs the application flow analysis result to the mapping information generation unit 22.

ここで、サービス定義42は、サービス構築装置2のユーザであるサービス設計者により入力される。サービス定義42は、設計されたサービスに含まれる処理の内容や、各処理をどのような順番で実行するか、処理の入出力形式は何かといった情報を含む。   Here, the service definition 42 is input by a service designer who is a user of the service construction device 2. The service definition 42 includes information such as the contents of processes included in the designed service, the order in which the processes are executed, and the input / output format of the processes.

また、アプリケーションフロー解析部21の解析する各処理の接続関係とは、各処理間における入出力関係を示す。すなわち、接続関係は、ある処理の出力がどの処理の入力となるのか、あるいは、ある処理の入力がどの処理の出力であるのか、といった情報を含む。   The connection relationship of each process analyzed by the application flow analysis unit 21 indicates an input / output relationship between the processes. In other words, the connection relationship includes information such as which process output is a certain process output or which process output is a certain process input.

サービス定義42は、上述のような情報を含めば、特定の定義手法に限定しない。サービス定義42の一例として、ビジネスプロセスモデリング言語であるBPEL(Business Process Execution Language)が挙げられる。BPELは、アクティビティと呼ばれる個々の処理ステップを表現する命令を記述することで、Webサービスを定められた手順で呼び出すことができる。   The service definition 42 is not limited to a specific definition method as long as the above information is included. An example of the service definition 42 is BPEL (Business Process Execution Language) which is a business process modeling language. The BPEL can call a Web service in a predetermined procedure by describing an instruction expressing each processing step called an activity.

また、サービス定義42は、サービスの制約事項を情報に含むことも考えられる。サービスの制約事項とは、例えば、サービスを分散コンピューティング資源へマッピングするにあたり満たすべき条件である。すなわち、サービスの制約事項は、サービス全体のスループットや、ある処理を実行する際の処理性能、ある処理とある処理との間のネットワーク遅延、サービスを稼動するのに必要な消費電力、あるいは、使用するべき分散コンピューティング資源の優先順位といった条件を含む。なお、マッピングとは、分散コンピューティング資源への設定と、分散コンピューティング資源へのアプリケーションの配置を含めた総称である。   Further, the service definition 42 may include service restrictions in the information. A service restriction is, for example, a condition that must be satisfied in mapping a service to a distributed computing resource. In other words, service restrictions include overall service throughput, processing performance when executing certain processes, network delays between certain processes, power consumption required to operate the service, or usage Including conditions such as priorities of distributed computing resources to be performed. Note that the mapping is a generic name including setting to distributed computing resources and arrangement of applications to the distributed computing resources.

次に、アプリケーション管理部23は、分散コンピューティング環境で実行可能なアプリケーション情報を記憶する。アプリケーション管理部23は、ユーザによりアプリケーション43を外部から登録される。ここで、アプリケーション43とは、何らかの機能を提供するコンピュータプログラムに限定しない。例えば、FPGA(Field Programmable Gate Array)のように、ハードウェアの構成を変更することが可能なハードウェアの設定情報も含む。   Next, the application management unit 23 stores application information that can be executed in the distributed computing environment. The application management unit 23 registers the application 43 from the outside by the user. Here, the application 43 is not limited to a computer program that provides some function. For example, hardware setting information that can change the hardware configuration such as FPGA (Field Programmable Gate Array) is also included.

アプリケーション情報は、各アプリケーションがどのような機能を有して、どのような入出力を必要として、利用するためのどのような条件が必要であるか、といった情報を含む。利用するための条件とは、例えば、CPUの動作周波数や、メインメモリ容量といった性能条件や、ハードウェアの備えるべき機能、OS(Operating System)の種類やバージョン、必要とされるライブラリといった、アプリケーション実行環境に関する条件である。例えば、GPGPUを利用することを前提としたアプリケーションの場合、実行するためのハードウェアとしてGPUが備えられていることや、GPGPU専用のライブラリが備えられていること等が条件として考えられる。   The application information includes information such as what functions each application has, what input / outputs are required, and what conditions are required for use. Conditions for use include, for example, performance conditions such as CPU operating frequency and main memory capacity, functions to be provided with hardware, OS (Operating System) types and versions, and required libraries. This is an environmental condition. For example, in the case of an application premised on the use of GPGPU, it is conceivable that the GPU is provided as hardware for execution, or that a library dedicated to GPGPU is provided.

次に、資源管理部25は、分散コンピューティング環境1の備える分散コンピューティング資源に関する資源情報を記憶する。例えば、資源情報は、IT資源12であれば、搭載されているCPUの性能、メモリ容量、ディスク容量、ネットワークインターフェースの通信速度、搭載されている拡張カード、MAC(Media Access Control)アドレス、IP(Internet Protocol)アドレス、ネットマスク、消費電力といった情報を含む。また、例えば、資源情報は、ネットワーク資源11であれば、各物理ポートにおけるリンクの通信速度、MACアドレス、IPアドレス、ネットマスク、諸費電力といった情報を含む。また、資源管理部25に、モニタリング装置を接続することで、分散コンピューティング資源の状態をモニタリングすることが可能となる。   Next, the resource management unit 25 stores resource information related to distributed computing resources included in the distributed computing environment 1. For example, if the resource information is IT resource 12, the performance of the installed CPU, the memory capacity, the disk capacity, the communication speed of the network interface, the installed expansion card, the MAC (Media Access Control) address, IP ( Internet Protocol) includes information such as address, netmask, and power consumption. Further, for example, in the case of the network resource 11, the resource information includes information such as a link communication speed, a MAC address, an IP address, a netmask, and various power consumptions in each physical port. In addition, by connecting a monitoring device to the resource management unit 25, it is possible to monitor the state of the distributed computing resource.

資源管理部25は、分散コンピューティング資源から状態情報44を入力する。資源管理部25は、分散コンピューティング環境1の分散コンピューティング資源の追加、削除を含む構成の変更が生じた場合、状態情報45に基づいて記憶している資源情報の変更を行う。   The resource management unit 25 inputs state information 44 from the distributed computing resource. The resource management unit 25 changes the stored resource information based on the state information 45 when a configuration change including addition or deletion of the distributed computing resource of the distributed computing environment 1 occurs.

次に、マッピング情報生成部22は、分散コンピューティング資源にサービスをマッピングするための設定情報であるマッピング情報を生成する。マッピング情報生成部22は、アプリケーションフロー解析部21からアプリケーションフロー解析結果を入力する。また、マッピング情報生成部22は、アプリケーション管理部23からアプリケーション情報と、資源管理部25から資源情報とを取得する。マッピング情報生成部22は、アプリケーションフロー解析結果と、アプリケーション情報と、資源情報とに基づいて、マッピング情報を生成する。   Next, the mapping information generation unit 22 generates mapping information that is setting information for mapping the service to the distributed computing resource. The mapping information generation unit 22 inputs an application flow analysis result from the application flow analysis unit 21. Further, the mapping information generation unit 22 acquires application information from the application management unit 23 and resource information from the resource management unit 25. The mapping information generation unit 22 generates mapping information based on the application flow analysis result, application information, and resource information.

具体的に、マッピング情報生成部22は、資源情報を参照しつつ、アプリケーション管理部23に記憶されるアプリケーションのうちから、アプリケーションフロー解析結果に含まれる各処理を実現するアプリケーションを選択する。マッピング情報生成部22は、例えば、あるアプリケーションを実行するための十分な計算性能を備えたIT資源を選択したり、ファイアウォールのようなネットワーク資源で実行されるアプリケーションをIT資源上で動作させたりといった選択を行う。マッピング情報生成部22は、このようにして選択した結果を、マッピング情報として記憶する。   Specifically, the mapping information generation unit 22 selects an application that realizes each process included in the application flow analysis result from the applications stored in the application management unit 23 while referring to the resource information. The mapping information generation unit 22 selects, for example, an IT resource having sufficient calculation performance for executing a certain application, or operates an application executed on a network resource such as a firewall on the IT resource. Make a selection. The mapping information generation unit 22 stores the result selected in this way as mapping information.

マッピング情報生成部22は、アプリケーションと、当該アプリケーションを動作させる分散コンピューティング資源とを選択すると、アプリケーション間の通信経路をアプリケーションフロー解析結果に基づいて決定する。マッピング情報生成部22は、アプリケーション間の通信経路を決定すると、通信経路上に存在する分散コンピューティング資源の設定情報を生成する。マッピング情報生成部22は、設定情報をマッピング情報に含める。ここで、通信経路を決定する方法として、例えば、ダイクストラ法が知られている。   When the mapping information generation unit 22 selects an application and a distributed computing resource that operates the application, the mapping information generation unit 22 determines a communication path between the applications based on the application flow analysis result. When the mapping information generation unit 22 determines a communication path between applications, the mapping information generation unit 22 generates setting information of distributed computing resources existing on the communication path. The mapping information generation unit 22 includes setting information in the mapping information. Here, for example, the Dijkstra method is known as a method for determining a communication path.

マッピング情報生成部22は、このようにして生成したマッピング情報と、サービス定義とを設定指示部24へ出力する。   The mapping information generation unit 22 outputs the mapping information generated in this way and the service definition to the setting instruction unit 24.

次に、設定指示部24は、分散コンピューティング資源への設定情報やアプリケーションの配置情報を生成する。設定指示部24は、マッピング情報生成部22からマッピング情報と、サービス定義とを入力する。設定指示部24は、マッピング情報とサービス定義とに基づいて、設定情報や配置情報を生成する。設定指示部24は、設定情報と配置情報とを含んだ設定要求41を送信して、分散コンピューティング資源へ設定情報と配置情報とをマッピングする。設定指示部24は、分散コンピューティング資源へのマッピングを完了すると、マッピング情報生成部22へマッピング結果を示す通知を出力する。設定指示部24は、マッピングを正常に完了した場合、マッピングの正常完了を示す完了通知をマッピング情報生成部22へ出力する。一方、設定指示部24は、分散コンピューティング資源の障害等により、マッピングを正常に完了できなかった場合、マッピングが異常終了を示す未完了通知をマッピング情報生成部22へ出力する。   Next, the setting instruction unit 24 generates setting information for the distributed computing resource and application arrangement information. The setting instruction unit 24 inputs mapping information and a service definition from the mapping information generation unit 22. The setting instruction unit 24 generates setting information and arrangement information based on the mapping information and the service definition. The setting instruction unit 24 transmits a setting request 41 including setting information and arrangement information, and maps the setting information and the arrangement information to the distributed computing resource. When completing the mapping to the distributed computing resource, the setting instruction unit 24 outputs a notification indicating the mapping result to the mapping information generation unit 22. When the mapping is normally completed, the setting instruction unit 24 outputs a completion notification indicating the normal completion of the mapping to the mapping information generation unit 22. On the other hand, if the mapping cannot be completed normally due to a failure of the distributed computing resource or the like, the setting instruction unit 24 outputs an incomplete notification indicating that the mapping has ended abnormally to the mapping information generation unit 22.

以上が、本実施形態におけるサービス構築装置2及びサービス構築装置2を備える分散コンピューティング環境1の構成の説明である。   The above is description of the structure of the distributed computing environment 1 provided with the service construction apparatus 2 and the service construction apparatus 2 in this embodiment.

[動作の説明]
次に、上述したような構成の本実施形態におけるサービス構築装置2の動作の説明を行う。図4は、本実施形態におけるサービス構築装置2により構築されるサービスのサービス定義42の一例を示す図である。図4のサービス定義は、構築されるべきサービスの処理の流れを示している。
[Description of operation]
Next, the operation of the service construction device 2 in the present embodiment having the above-described configuration will be described. FIG. 4 is a diagram illustrating an example of the service definition 42 of the service constructed by the service construction apparatus 2 in the present embodiment. The service definition in FIG. 4 shows the process flow of the service to be constructed.

まず、「Input」は、サービスに対する入力である。「Output」は、サービスからの出力である。また、処理A〜Fは、それぞれ、ある機能を備えた処理単位を示す。図4に示されたサービスにおける処理では、サービスに対する入力は、処理Aを実行される。処理Aの処理結果は、処理Bへ出力されて、処理Bを実行される。処理Bの処理結果は、処理Cと処理Eとへ出力されて、処理C及び処理Eを実行される。処理Cの処理結果は、処理Dへ出力されて処理Dを実行される。処理Dの実行結果と処理Eの実行結果は、処理Fへ出力されて、処理Fを実行される。そして、処理Fの実行結果は、サービスからの出力として出力される。なお、処理Cと処理Eへ出力される処理Bの処理結果は、同一の内容に限らない。処理Bの処理結果に応じて、処理結果の出力先が選択されても良い。これは、構築されるサービスにおける処理内容に依存する。   First, “Input” is an input to the service. “Output” is an output from the service. Processes A to F each indicate a processing unit having a certain function. In the process in the service shown in FIG. 4, the process A is executed for the input to the service. The process result of process A is output to process B, and process B is executed. The processing result of processing B is output to processing C and processing E, and processing C and processing E are executed. The process result of process C is output to process D and process D is executed. The execution result of process D and the execution result of process E are output to process F, and process F is executed. Then, the execution result of process F is output as an output from the service. In addition, the process result of the process B output to the process C and the process E is not restricted to the same content. Depending on the processing result of processing B, the output destination of the processing result may be selected. This depends on the processing contents in the service to be constructed.

次に、図5は、本実施形態におけるサービス構築装置2によりサービスを構築される分散コンピューティング環境1の一例を示す図である。図5の分散コンピューティング環境1は、ファイアウォール(Firewall)と、ロードバランサ(LoadBalancer)と、ルータ(Router)と、サーバ(Server)A〜Gとを備える。ファイアウォール、ロードバランサ、及びルータは、ネットワーク資源11である。サーバA〜Gは、IT資源12である。これらの分散コンピューティング資源は、ネットワークによって相互に接続されており、データの送受信を行うことが可能である。   Next, FIG. 5 is a diagram illustrating an example of a distributed computing environment 1 in which a service is constructed by the service construction apparatus 2 in the present embodiment. The distributed computing environment 1 of FIG. 5 includes a firewall, a load balancer, a router, and servers A to G. The firewall, load balancer, and router are network resources 11. Servers A to G are IT resources 12. These distributed computing resources are connected to each other via a network, and can transmit and receive data.

次に、図6は、本実施形態におけるサービス構築装置2の動作を示すフローチャートである。以下では、サービス構築装置2が、上述のような、図5の分散コンピューティング環境1に図4のサービス定義42に示されたサービスを構築する場合の動作を説明する。   Next, FIG. 6 is a flowchart showing the operation of the service construction device 2 in the present embodiment. Hereinafter, an operation when the service construction apparatus 2 constructs the service shown in the service definition 42 of FIG. 4 in the distributed computing environment 1 of FIG. 5 as described above will be described.

まず、アプリケーションフロー解析部21は、サービス定義42を入力とする。サービス定義42は、サービス構築装置2にユーザにより、入力部140から入力されてもよいし、ネットワークと通信部130とを介して入力されても良い。アプリケーションフロー解析部21は、サービス定義42の解析を行って、アプリケーションフロー解析結果を生成する(ステップS20)。アプリケーションフロー解析部21は、アプリケーションフロー解析結果をサービス定義42と共に、マッピング情報生成部22へ出力する。   First, the application flow analysis unit 21 receives the service definition 42 as an input. The service definition 42 may be input to the service construction device 2 by the user from the input unit 140 or may be input via the network and the communication unit 130. The application flow analysis unit 21 analyzes the service definition 42 and generates an application flow analysis result (step S20). The application flow analysis unit 21 outputs the application flow analysis result together with the service definition 42 to the mapping information generation unit 22.

マッピング情報生成部22は、アプリケーションフロー解析部21からアプリケーションフロー解析結果とサービス定義42とを入力する。また、マッピング情報生成部22は、アプリケーション管理部23からアプリケーション情報と、資源管理部25から資源情報とを取得する。マッピング情報生成部22は、アプリケーション解析結果と、アプリケーション情報と、資源情報とに基づいて、マッピング情報を生成する(ステップS22)。マッピング情報生成部22は、マッピング情報をサービス定義42と共に、設定指示部24へ出力する。   The mapping information generation unit 22 inputs the application flow analysis result and the service definition 42 from the application flow analysis unit 21. Further, the mapping information generation unit 22 acquires application information from the application management unit 23 and resource information from the resource management unit 25. The mapping information generation unit 22 generates mapping information based on the application analysis result, application information, and resource information (step S22). The mapping information generation unit 22 outputs the mapping information together with the service definition 42 to the setting instruction unit 24.

設定指示部24は、マッピング情報生成部22からマッピング情報とサービス定義42とを入力する。設定指示部24は、マッピング情報とサービス定義42に基づいて、設定情報や配置情報を生成する。設定指示部24は、設定情報と配置情報とを含めた設定要求41を送信して、分散コンピューティング環境1へサービスのマッピングを行う(ステップS24)。すなわち、設定指示部24は、マッピング情報とサービス定義42に基づいて分散コンピューティング資源のネットワーク資源11とIT資源12への設定とアプリケーションの配置を実行する。   The setting instruction unit 24 receives the mapping information and the service definition 42 from the mapping information generation unit 22. The setting instruction unit 24 generates setting information and arrangement information based on the mapping information and the service definition 42. The setting instruction unit 24 transmits a setting request 41 including setting information and arrangement information, and performs service mapping to the distributed computing environment 1 (step S24). That is, the setting instruction unit 24 executes setting of distributed computing resources on the network resource 11 and the IT resource 12 and arrangement of applications based on the mapping information and the service definition 42.

設定指示部24は、マッピング結果をマッピング情報生成部22へ出力する。設定指示部24は、マッピングが正常に完了した場合、マッピング結果として完了通知を出力する。一方、設定指示部24は、マッピングが正常に完了しない場合、マッピング結果として未完了通知を出力する。   The setting instruction unit 24 outputs the mapping result to the mapping information generation unit 22. When the mapping is normally completed, the setting instruction unit 24 outputs a completion notification as a mapping result. On the other hand, when the mapping is not normally completed, the setting instruction unit 24 outputs an incomplete notification as a mapping result.

マッピング情報生成部22は、設定指示部24からマッピング結果として完了通知または未完了通知を入力する。マッピング情報生成部22は、マッピングが成功したか否かを判定する(ステップS26)。すなわち、マッピング情報生成部22は、分散コンピューティング環境への設定とアプリケーションの配置が成功したか否かを判定する。   The mapping information generation unit 22 inputs a completion notification or an incomplete notification from the setting instruction unit 24 as a mapping result. The mapping information generation unit 22 determines whether the mapping is successful (step S26). That is, the mapping information generation unit 22 determines whether the setting in the distributed computing environment and the application placement have been successful.

マッピング情報生成部22は、マッピングが成功した場合(ステップS26のYes)、サービス構築が完了したことを示すサービス構築完了通知45を出力する(ステップS28)。一方、マッピングが成功しなかった場合(ステップS26のNo)、ステップS22へ戻る。この場合、マッピング情報生成部22は、再度、マッピング情報を生成することになる。   If the mapping is successful (Yes in step S26), the mapping information generation unit 22 outputs a service construction completion notification 45 indicating that the service construction is completed (step S28). On the other hand, when the mapping is not successful (No in step S26), the process returns to step S22. In this case, the mapping information generation unit 22 generates mapping information again.

以上が、サービス構築装置2が、図5の分散コンピューティング環境1に図4のサービス定義42に示されたサービスを構築する場合の動作の説明である。   The above is the description of the operation when the service construction device 2 constructs the service shown in the service definition 42 of FIG. 4 in the distributed computing environment 1 of FIG.

続いて、上述した図6のフローチャートに示された各ステップを詳細に説明する。まず、図6のフローチャートのステップS20に示された動作について詳細な説明を行う。図7は、本実施形態において図6に示されたフローチャートのステップS20における動作を詳細に示したフローチャートである。   Next, each step shown in the flowchart of FIG. 6 will be described in detail. First, the operation shown in step S20 in the flowchart of FIG. 6 will be described in detail. FIG. 7 is a flowchart showing in detail the operation in step S20 of the flowchart shown in FIG. 6 in the present embodiment.

まず、アプリケーションフロー解析部21は、サービス定義42の入力の有無を判定する(ステップS100)。この確認方法としては、アプリケーションフロー解析部21に対して、サービス定義42の入力に対応付けられた割り込みを発生させて通知する方法や、アプリケーションフロー解析部21が特定の記憶領域をポーリングして入力の有無を確認する方法等が考えられる。この場合の記憶領域には、記憶部100のメモリやハードディスク、あるいは制御部120のレジスタが相当する。   First, the application flow analysis unit 21 determines whether or not the service definition 42 has been input (step S100). As a confirmation method, the application flow analysis unit 21 generates and notifies an interrupt associated with the input of the service definition 42, or the application flow analysis unit 21 polls and inputs a specific storage area. A method for confirming the presence or absence of the above is conceivable. The storage area in this case corresponds to the memory of the storage unit 100, the hard disk, or the register of the control unit 120.

アプリケーションフロー解析部21は、サービス定義42の入力が無い場合(ステップS100のNo)、サービス定義42の入力があるまで本ステップを繰り返す。一方、アプリケーションフロー解析部21は、サービス定義42の入力が有る場合(ステップS100のYes)、サービス定義42の解析を行う(ステップS110)。サービス定義42の解析では、サービス定義42に含まれる処理の入出力関係に基づいて、アプリケーションフロー解析結果を生成する。処理の入出力関係とは、ある処理の出力がいずれの処理の入力となるか、あるいは、ある処理の入力がいずれの処理の出力であるかという関係を示す。   When there is no input of the service definition 42 (No in step S100), the application flow analysis unit 21 repeats this step until the service definition 42 is input. On the other hand, when there is an input of the service definition 42 (Yes in Step S100), the application flow analysis unit 21 analyzes the service definition 42 (Step S110). In the analysis of the service definition 42, an application flow analysis result is generated based on the input / output relationship of processing included in the service definition 42. The input / output relationship of a process indicates a relationship between which process output is an input of which process or which process input is an output of which process.

ここで、図8及び図9は、本実施形態におけるアプリケーションフロー解析結果の一例を示す図である。図8及び図9に示されるアプリケーションフロー解析結果は、図4のサービス定義42に示されたサービスに基づいて生成されたものである。図8のアプリケーションフロー解析結果は、ある処理と当該処理の次に実行されるべき処理とを関連づけたテーブルとなっている。例えば、サービスに対する入力である「Input」の次の処理は、「処理A」であることが示されている。また、「処理F」の次の処理は、サービスからの出力である「Output」であることが示されている。また、アプリケーションフロー解析結果は、図9に示すように、ある処理と当該処理の直前の処理とを関連付けたテーブルとして生成されても良い。なお、アプリケーションフロー解析結果は、図8及び図9に示されるようなテーブル形式の表現に限定しない。   Here, FIG. 8 and FIG. 9 are diagrams illustrating examples of application flow analysis results in the present embodiment. The application flow analysis results shown in FIGS. 8 and 9 are generated based on the service shown in the service definition 42 of FIG. The application flow analysis result of FIG. 8 is a table in which a certain process is associated with a process to be executed next. For example, it is indicated that the next process of “Input” that is an input to the service is “Process A”. Further, it is indicated that the next process of “Process F” is “Output” which is an output from the service. Further, as shown in FIG. 9, the application flow analysis result may be generated as a table in which a certain process and a process immediately before the process are associated with each other. Note that the application flow analysis result is not limited to the table format as shown in FIGS.

次に、図7に戻り、アプリケーションフロー解析部21は、アプリケーション解析結果とサービス定義42とを、マッピング情報生成部22へ送信する(ステップS120)。以上が、図6のフローチャートのステップS20に示された動作の詳細な説明である。アプリケーションフロー解析部21は、上述のような動作によりアプリケーションフロー解析結果を生成する。   Next, returning to FIG. 7, the application flow analysis unit 21 transmits the application analysis result and the service definition 42 to the mapping information generation unit 22 (step S120). The above is the detailed description of the operation shown in step S20 of the flowchart of FIG. The application flow analysis unit 21 generates an application flow analysis result by the operation as described above.

続いて、図6のフローチャートのステップS22に示された動作について詳細な説明を行う。図10は、本実施形態において図6のフローチャートのステップS20における動作を詳細に示したフローチャートである。   Subsequently, the operation shown in step S22 of the flowchart of FIG. 6 will be described in detail. FIG. 10 is a flowchart showing in detail the operation in step S20 of the flowchart of FIG. 6 in the present embodiment.

まず、マッピング情報生成部22は、アプリケーションフロー解析結果とサービス定義42との入力の有無を判定する(ステップS200)。この確認の方法として、マッピング情報生成部22に対してサービス定義42の解析結果の入力に対応付けられた割り込みを発生させて通知する方法や、マッピング情報生成部22が特定の記憶領域をポーリングして入力の有無を確認する方法等が考えられる。この場合の記憶領域には、記憶部100のメモリやハードディスク、あるいは制御部120のレジスタが相当する。   First, the mapping information generation unit 22 determines whether or not the application flow analysis result and the service definition 42 are input (step S200). As a confirmation method, an interrupt associated with the input of the analysis result of the service definition 42 is generated and notified to the mapping information generation unit 22, or the mapping information generation unit 22 polls a specific storage area. A method for confirming the presence or absence of input can be considered. The storage area in this case corresponds to the memory of the storage unit 100, the hard disk, or the register of the control unit 120.

マッピング情報生成部22は、アプリケーションフロー解析結果とサービス定義42との入力が無い場合(ステップS200のNo)、アプリケーションフロー解析結果とサービス定義42との入力があるまで本ステップを繰り返す。一方、マッピング情報生成部22は、アプリケーションフロー解析結果とサービス定義42との入力がある場合(ステップS200のYes)、サービスを構成する各処理にアプリケーション43を割り当てる(ステップS210)。マッピング情報生成部22は、アプリケーション管理部23のアプリケーション情報を参照して、サービスを構成する各処理を実現するのに必要な機能を提供するアプリケーション43を各処理へ割り当てる。   If there is no input of the application flow analysis result and the service definition 42 (No in step S200), the mapping information generation unit 22 repeats this step until the application flow analysis result and the service definition 42 are input. On the other hand, when there is an input of the application flow analysis result and the service definition 42 (Yes in step S200), the mapping information generating unit 22 assigns the application 43 to each process constituting the service (step S210). The mapping information generation unit 22 refers to the application information of the application management unit 23 and assigns an application 43 that provides a function necessary for realizing each process constituting the service to each process.

各処理へアプリケーション43が割り当てられた結果は、マッピング情報として、マッピング情報生成部22の内部、あるいは外部の記憶領域に記憶される。この場合の記憶領域には、記憶部100のメモリやハードディスク、あるいは制御部120のレジスタが相当する。ステップS210が完了した時点でのマッピング情報は、あるアプリケーションと次に実行されるべきアプリケーションとを関連付けた情報となる。   The result of allocating the application 43 to each process is stored as mapping information in the mapping information generating unit 22 or in an external storage area. The storage area in this case corresponds to the memory of the storage unit 100, the hard disk, or the register of the control unit 120. The mapping information at the time when step S210 is completed is information that associates a certain application with an application to be executed next.

ここで、図11は、本実施形態におけるステップS210が完了した時点のマッピング情報の一例を示す図である。図11に示されたマッピング情報は、図8に示されたアプリケーションフロー解析結果に基づいて生成されたものである。例えば、サービスに対する入力である「Input」の次に処理を行うアプリケーション(以下、Appと記載する場合がある。)43は、「AppA」であることが示されている。また、「AppF」による処理結果は、サービスからの出力である「Output」であることが示されている。なお、マッピング情報は、図11に示されるようなテーブル形式の表現に限定しない。   Here, FIG. 11 is a diagram illustrating an example of mapping information at the time when step S210 in the present embodiment is completed. The mapping information shown in FIG. 11 is generated based on the application flow analysis result shown in FIG. For example, an application 43 (hereinafter sometimes referred to as “App”) that performs processing after “Input” that is an input to the service is indicated as “AppA”. Further, it is indicated that the processing result by “AppF” is “Output” which is an output from the service. Note that the mapping information is not limited to the table format as shown in FIG.

次に、図10へ戻り、マッピング情報生成部22は、各処理へ割り当てられたアプリケーションを、分散コンピューティング資源へ割り当てる(ステップS220)。マッピング情報生成部22は、資源管理部25の資源情報を参照して、マッピング情報を分散コンピューティング資源へ割り当てる。マッピング情報を分散コンピューティング資源へ割り当てた結果は、マッピング情報生成部22の内部、あるいは外部の記憶領域に記憶される。この場合の記憶領域には、記憶部100のメモリやハードディスク、あるいは制御部120のレジスタが相当する。ステップS220が完了した時点でのマッピング情報は、あるアプリケーションと、当該アプリケーションを実行する分散コンピューティング資源と、当該アプリケーションの次に実行されるべきアプリケーションとを関連付けた情報となる。   Next, returning to FIG. 10, the mapping information generating unit 22 allocates the application allocated to each process to the distributed computing resource (step S220). The mapping information generation unit 22 refers to the resource information of the resource management unit 25 and assigns the mapping information to the distributed computing resources. The result of assigning the mapping information to the distributed computing resource is stored in the mapping information generating unit 22 or in an external storage area. The storage area in this case corresponds to the memory of the storage unit 100, the hard disk, or the register of the control unit 120. The mapping information at the time when step S220 is completed is information that associates a certain application, a distributed computing resource that executes the application, and an application to be executed next to the application.

ここで、図12は、本実施形態におけるステップS220が完了した時点のマッピング情報の一例を示す図である。図12に示されたマッピング情報は、図11に示されたマッピング情報に分散コンピューティング資源を対応付けたものである。例えば、サービスに対する入力である「Input」は、「入力装置(Input Resource)」に入力される。「AppA」は、「ファイアウォール」により実行される。また、「AppF」は、「サーバF」により実行されて、「サーバF」の実行結果がサービスからの「Output」として出力されることが示されている。なお、マッピング情報は、図12に示されるようなテーブル形式の表現に限定しない。   Here, FIG. 12 is a diagram illustrating an example of mapping information at the time when step S220 in the present embodiment is completed. The mapping information shown in FIG. 12 is obtained by associating distributed computing resources with the mapping information shown in FIG. For example, “Input”, which is an input for a service, is input to “Input Device”. “AppA” is executed by the “firewall”. Further, “AppF” is executed by “Server F”, and the execution result of “Server F” is output as “Output” from the service. Note that the mapping information is not limited to the table format as shown in FIG.

また、マッピング情報生成部22は、ステップS210においてアプリケーション43を各処理へ割り当てる際に、ある処理がIT資源12でもネットワーク資源11でも機能を実現できる処理の場合、どちらの場合も割り当て候補として生成しておく。そして、マッピング情報生成部22は、ステップS220においてアプリケーション43に分散コンピューティング資源を割り当てる際に、評価関数に基づいていずれの候補を用いるのかを決定する動作とすることも可能である。ここで、評価関数とは、分散コンピューティング資源の消費電力やコストや、性能といった指標を用いた関数である。   In addition, when the application 43 is allocated to each process in step S210, the mapping information generation unit 22 generates a candidate as an allocation candidate in a case where a certain process is a process capable of realizing the function with either the IT resource 12 or the network resource 11. Keep it. The mapping information generation unit 22 can also perform an operation of determining which candidate is used based on the evaluation function when allocating distributed computing resources to the application 43 in step S220. Here, the evaluation function is a function using indexes such as power consumption, cost, and performance of the distributed computing resource.

次に、図10へ戻り、マッピング情報生成部22は、選択した分散コンピューティング資源の間に経路上資源が存在するかを判定する(ステップS230)。ここで、経路上資源とは、分散コンピューティング資源にアプリケーション43を割り当てた結果、選択された分散コンピューティング資源間で通信を行う経路上に存在する分散コンピューティング資源である。このような経路上資源に対しても、適切な設定を行う必要がある。   Next, returning to FIG. 10, the mapping information generation unit 22 determines whether resources on the path exist between the selected distributed computing resources (step S230). Here, the resource on the path is a distributed computing resource that exists on a path for performing communication between selected distributed computing resources as a result of assigning the application 43 to the distributed computing resource. It is necessary to make appropriate settings for such resources on the route.

経路上資源が存在するか否かを判定する判定手法として、例えば、図1には図示されない、分散コンピューティング環境1に存在する全ての分散コンピューティング資源を管理する管理システムに対して問い合わせを行う方法が考えられる。あるいは、あるサーバからサーバまでの経路を探索するツールを利用してもよい。このようなツールは、「Traceroute」に例示される。   As a determination method for determining whether or not a resource on a path exists, for example, an inquiry is made to a management system that manages all distributed computing resources existing in the distributed computing environment 1 that is not illustrated in FIG. A method is conceivable. Alternatively, a tool for searching for a route from a certain server to the server may be used. Such a tool is exemplified in “Tracroute”.

ここで、図13は、本実施形態におけるアプリケーションの割り当てられた分散コンピューティング資源間に存在する経路上資源を示した図である。図13を参照すると、例えば、サービスに対する入力である「Input」は、「AppA」で処理を行われる。「AppA」は、ファイアウォールに割り付けられている。「Input」がファイアウォールに到達するためには、経路上資源であるルータを経由する必要がある。また、「AppB」の処理を割り付けられたロードバランサと、「AppB」の次の処理を行う「AppC」を割り付けられたサーバFとの間には、経路上資源であるサーバCが存在する。このような場合、ルータやサーバCに対しても、アプリケーション43間で適切な通信を可能にするために設定を行う必要がある。   Here, FIG. 13 is a diagram showing resources on the path existing between distributed computing resources to which applications are assigned in the present embodiment. Referring to FIG. 13, for example, “Input” that is an input to a service is processed by “AppA”. “AppA” is assigned to the firewall. In order for “Input” to reach the firewall, it is necessary to go through a router which is a resource on the route. Further, a server C that is a resource on the path exists between the load balancer assigned with the process “AppB” and the server F assigned with “AppC” that performs the next process of “AppB”. In such a case, it is necessary to make settings for the router and the server C in order to enable appropriate communication between the applications 43.

次に、図10に戻り、選択した分散コンピューティング資源の間に経路上資源が存在する場合(ステップS230のYes)、マッピング情報生成部22は、マッピング情報に経路上資源の情報を追加する(ステップS240)。一方、選択した分散コンピューティング資源の間に経路上資源が存在しない場合(ステップS230のNo)、マッピング情報生成部22は、マッピング情報への経路上資源の情報を追加しない。いずれも、その後ステップS250へ進む。   Next, returning to FIG. 10, when there is a resource on the path between the selected distributed computing resources (Yes in step S230), the mapping information generating unit 22 adds the information on the resource on the path to the mapping information ( Step S240). On the other hand, when there is no resource on the path between the selected distributed computing resources (No in step S230), the mapping information generation unit 22 does not add the information on the resource on the path to the mapping information. In either case, the process proceeds to step S250.

ここで、図14は、本実施形態におけるステップS240が完了した時点のマッピング情報の一例を示す図である。図14のマッピング情報は、図12のマッピング情報に、経路上資源の情報を追加したものである。例えば、サービスに対する入力である「Input」と、「Input」を処理するべき「AppA」の割り付けられたファイアウォールとの間に、経路上資源であるルータが関連付けられている。また、「AppB」の処理を割り付けられたロードバランサと、「AppB」の次の処理を行う「AppC」を割り付けられたサーバFとの間に、経路上資源であるサーバCが関連付けられている。なお、マッピング情報は、図14に示されるようなテーブル形式の表現に限定しない。   Here, FIG. 14 is a diagram illustrating an example of mapping information at the time when step S240 in the present embodiment is completed. The mapping information in FIG. 14 is obtained by adding information on a route resource to the mapping information in FIG. For example, a router which is a resource on the path is associated between “Input” which is an input to a service and a firewall to which “AppA” which should process “Input” is assigned. Further, a server C, which is a resource on the path, is associated between the load balancer assigned with the process “AppB” and the server F assigned with “AppC” that performs the next process of “AppB”. . Note that the mapping information is not limited to the table format as shown in FIG.

次に、図10へ戻り、マッピング情報生成部22は、生成されたマッピング情報をサービス定義42と共に設定指示部24へ出力する(ステップS250)。以上が、図6のフローチャートのステップS22に示された動作の詳細な説明である。マッピング情報生成部22は、上述のような動作によりマッピング情報を生成する。   Next, returning to FIG. 10, the mapping information generation unit 22 outputs the generated mapping information together with the service definition 42 to the setting instruction unit 24 (step S250). The above is the detailed description of the operation shown in step S22 of the flowchart of FIG. The mapping information generation unit 22 generates mapping information by the operation as described above.

続いて、図6のフローチャートのステップS24に示された動作について詳細な説明を行う。図15は、本実施形態において図6のフローチャートのステップS24における動作を詳細に示したフローチャートである。   Next, the operation shown in step S24 of the flowchart of FIG. 6 will be described in detail. FIG. 15 is a flowchart showing in detail the operation in step S24 of the flowchart of FIG. 6 in the present embodiment.

まず、設定指示部24は、マッピング情報とサービス定義42との入力の有無を確認する(ステップS400)。この確認の方法として、設定指示部24に対してマッピング情報の入力に対応付けられた割り込みを発生させて通知する方法や、設定指示部24が特定の記憶領域をポーリングして入力の有無を確認する方法等が考えられる。この場合の記憶領域には、記憶部100のメモリやハードディスク、あるいは制御部120のレジスタが相当する。   First, the setting instruction unit 24 checks whether or not the mapping information and the service definition 42 are input (step S400). As a confirmation method, the setting instruction unit 24 generates an interrupt associated with the input of mapping information and notifies the setting instruction unit 24, or the setting instruction unit 24 polls a specific storage area to check whether there is an input. The method of doing etc. can be considered. The storage area in this case corresponds to the memory of the storage unit 100, the hard disk, or the register of the control unit 120.

設定指示部24は、マッピング情報とサービス定義42との入力が無い場合(ステップS400のNo)、マッピング情報とサービス定義42との入力があるまで本ステップを繰り返す。一方、設定指示部24は、マッピング情報とサービス定義42との入力がある場合(ステップS400のYes)、マッピング情報とサービス定義42とに基づいて、分散コンピューティング資源へのアプリケーション43の配置情報や設定情報を生成する(ステップS410)。   If there is no input of the mapping information and the service definition 42 (No in step S400), the setting instruction unit 24 repeats this step until the mapping information and the service definition 42 are input. On the other hand, when the mapping information and the service definition 42 are input (Yes in step S400), the setting instruction unit 24 determines whether the application 43 is placed on the distributed computing resource based on the mapping information and the service definition 42. Setting information is generated (step S410).

ここで、アプリケーション43の配置情報は、アプリケーション43が正常に稼動することができるのに必要な情報が含まれる。例えば、アプリケーション43のプログラムコードや、アプリケーションの引数、データ送受信の対向先のIPアドレスやアプリケーションポート番号といった情報に例示される。また、設定情報は、ルータへのルーティング情報や、ファイアウォールへのフィルタリング情報といった情報に例示される。   Here, the arrangement information of the application 43 includes information necessary for the application 43 to operate normally. For example, information such as the program code of the application 43, the argument of the application, the IP address and application port number of the opposite destination of data transmission / reception are exemplified. The setting information is exemplified by information such as routing information to the router and filtering information to the firewall.

設定指示部24は、分散コンピューティング資源に反映するために、生成した配置情報や設定情報を含めた設定要求41を送信する(ステップS420)。設定指示部24は、設定要求41を送信した全ての分散コンピューティング資源から応答(ACK:Acknowlege)を待つ(ステップS430)。応答を待つ際の処理例として、設定要求41を送信した全ての分散コンピューティング資源から応答を受信するまで待機する方法や、一定時間待機した後に応答を受信していない分散コンピューティング資源に対して、再度、設定要求41を送信するという処理を一定回数繰り替えるといった方法が考えられる。また、ネットワークトラブルや、分散コンピューティング資源の故障等により設定に失敗する場合も考えられる。そこで、一定時間経過後、あるいは一定回数の要求再発行後に応答を受信できない分散コンピューティング資源については、サービスのマッピングに失敗したと判定する方法も考えられる。   The setting instruction unit 24 transmits a setting request 41 including the generated arrangement information and setting information in order to reflect the distributed computing resource (step S420). The setting instruction unit 24 waits for responses (ACK: Acknowledge) from all the distributed computing resources that have transmitted the setting request 41 (step S430). As a processing example when waiting for a response, for a method of waiting until a response is received from all the distributed computing resources that transmitted the setting request 41, or for a distributed computing resource that has not received a response after waiting for a certain time Another possible method is to repeat the process of transmitting the setting request 41 a predetermined number of times. In addition, there may be a case where the setting fails due to a network trouble or a failure of the distributed computing resource. Therefore, a method of determining that service mapping has failed for a distributed computing resource that cannot receive a response after a certain time has elapsed or after a certain number of request reissues has been considered.

設定指示部24は、マッピングの結果をマッピング情報生成部22へ通知する(ステップS440)。設定指示部24は、マッピングが正常に完了した場合、マッピング結果として完了通知を出力する。一方、設定指示部24は、マッピングが正常に完了しない場合、マッピング結果として未完了通知を出力する。以上が、図6のフローチャートのステップS24に示された動作の詳細な説明である。設定指示部24は、上述のような動作により分散コンピューティング資源への設定とアプリケーションの配置を行う。   The setting instruction unit 24 notifies the mapping information generation unit 22 of the mapping result (step S440). When the mapping is normally completed, the setting instruction unit 24 outputs a completion notification as a mapping result. On the other hand, when the mapping is not normally completed, the setting instruction unit 24 outputs an incomplete notification as a mapping result. The above is the detailed description of the operation shown in step S24 of the flowchart of FIG. The setting instruction unit 24 performs setting to the distributed computing resource and arrangement of the application by the operation as described above.

続いて、図15のフローチャートのステップS430に示された動作について詳細な説明を行う。図16は、本実施形態において図15のフローチャートのステップS430における動作を詳細に示したフローチャートである。   Next, the operation shown in step S430 in the flowchart of FIG. 15 will be described in detail. FIG. 16 is a flowchart showing in detail the operation in step S430 of the flowchart of FIG. 15 in the present embodiment.

まず、設定指示部24は、アプリケーション43の配置情報や設定情報を反映するための設定要求41を送信した全ての分散コンピューティング資源から応答が帰ってきたかを判定する(ステップS432)。設定指示部24は、全ての分散コンピューティング資源から応答が帰ってきていれば(ステップS432のYes)、サービスのマッピングに成功したと判定する(ステップS433)。一方、設定指示部24は、全ての分散コンピューティング資源から応答が帰ってきていない場合(ステップS432のNo)、該当する分散コンピューティング資源に設定要求41を特定の回数、再発行したかを判定する(ステップS434)。ここで、特定の回数とは、予め定められた、サービスのマッピングが失敗したと判定するための閾値となる回数である。   First, the setting instruction unit 24 determines whether responses have been returned from all the distributed computing resources that have transmitted the setting request 41 for reflecting the arrangement information and setting information of the application 43 (step S432). If the response is returned from all the distributed computing resources (Yes in step S432), the setting instruction unit 24 determines that the service mapping is successful (step S433). On the other hand, if the responses are not returned from all the distributed computing resources (No in step S432), the setting instruction unit 24 determines whether the setting request 41 has been reissued a specific number of times for the corresponding distributed computing resources. (Step S434). Here, the specific number of times is a predetermined number of times serving as a threshold for determining that service mapping has failed.

設定指示部24は、設定要求41の再発行回数が特定の回数へ達している場合(ステップS434のYes)、サービスのマッピングが失敗したと判定する(ステップS435)。一方、設定指示部24は、設定要求41の再発行回数が特定の回数へ達していない場合(ステップS434のNo)、該当する分散コンピューティング資源に対して設定要求41の再発行を行う(ステップS436)。以上が、図15のフローチャートのステップS430に示された動作の詳細な説明である。設定指示部24は、上述のような動作により分散コンピューティング資源へのマッピングの成功及び失敗を判定する。   If the number of reissues of the setting request 41 has reached a specific number (Yes in step S434), the setting instruction unit 24 determines that the service mapping has failed (step S435). On the other hand, when the number of reissues of the setting request 41 has not reached a specific number (No in step S434), the setting instructing unit 24 reissues the setting request 41 for the corresponding distributed computing resource (step S434). S436). The above is the detailed description of the operation shown in step S430 of the flowchart of FIG. The setting instruction unit 24 determines the success or failure of the mapping to the distributed computing resource by the operation as described above.

続いて、図6のフローチャートのステップS26に示された動作について詳細な説明を行う。図17は、本実施形態において図6のフローチャートのステップS26における動作を詳細に示したフローチャートである。   Next, the operation shown in step S26 of the flowchart of FIG. 6 will be described in detail. FIG. 17 is a flowchart showing in detail the operation in step S26 of the flowchart of FIG. 6 in the present embodiment.

まず、マッピング情報生成部22は、設定指示部24からサービスのマッピング結果の通知の有無を判定する(ステップS260)。この確認の方法として、マッピング情報生成部22に対してサービス定義42の解析結果の入力に対応付けられた割り込みを発生させて通知する方法や、マッピング情報生成部22が特定の記憶領域をポーリングして入力の有無を確認する方法等が考えられる。この場合の記憶領域には、記憶部100のメモリやハードディスク、あるいは制御部120のレジスタが相当する。   First, the mapping information generation unit 22 determines the presence / absence of a service mapping result notification from the setting instruction unit 24 (step S260). As a confirmation method, an interrupt associated with the input of the analysis result of the service definition 42 is generated and notified to the mapping information generation unit 22, or the mapping information generation unit 22 polls a specific storage area. A method for confirming the presence or absence of input can be considered. The storage area in this case corresponds to the memory of the storage unit 100, the hard disk, or the register of the control unit 120.

マッピング情報生成部22は、マッピング結果の通知が無い場合(ステップS260のNo)、マッピング結果の通知があるまで本ステップを繰り返す。一方、マッピング情報生成部22は、マッピング結果の通知があった場合(ステップS260のYes)、通知の内容を確認する(ステップS270)。マッピング情報生成部22は、通知の内容に基づいて、サービスのマッピングに成功したかを判定する(ステップS280)。   If there is no notification of the mapping result (No in step S260), the mapping information generation unit 22 repeats this step until there is a notification of the mapping result. On the other hand, when there is a notification of the mapping result (Yes in step S260), the mapping information generation unit 22 checks the content of the notification (step S270). The mapping information generation unit 22 determines whether the service mapping is successful based on the content of the notification (step S280).

マッピングが成功していた場合(ステップS280のYes)、すなわち、マッピング結果が完了通知であった場合、図6に示したステップS28へ移行する。この場合、図6のステップS28に示したように、サービス構築完了通知45を出力することになる。一方、マッピングが失敗している場合(ステップS280のNo)、すなわち、マッピング結果が未完了通知であった場合、図6に示したステップS22へ移行する。この場合、マッピング情報生成部22は、再度、マッピング情報を生成することになる。以上が、図6のフローチャートのステップS26に示された動作の詳細な説明である。マッピング情報生成部22は、上述のような動作により分散コンピューティング資源へのサービスの構築完了を判定する。   If the mapping is successful (Yes in step S280), that is, if the mapping result is a completion notification, the process proceeds to step S28 shown in FIG. In this case, as shown in step S28 of FIG. 6, the service construction completion notification 45 is output. On the other hand, if the mapping has failed (No in step S280), that is, if the mapping result is an incomplete notification, the process proceeds to step S22 shown in FIG. In this case, the mapping information generation unit 22 generates mapping information again. The above is the detailed description of the operation shown in step S26 of the flowchart of FIG. The mapping information generation unit 22 determines the completion of the service construction for the distributed computing resource by the operation as described above.

以上が、本実施形態におけるサービス構築装置2の動作方法の説明である。   The above is the description of the operation method of the service construction device 2 in the present embodiment.

ここまで説明したように本実施形態では、サービス構築装置2のマッピング情報生成部22が、これまでIT資源12で実行されてきた処理と、これまでネットワーク資源11で実行されてきた処理を区別無く一様に扱ってマッピング情報を生成する。つまり、マッピング情報生成部22は、IT資源12とネットワーク資源11のうちから区別無く選択した資源上に各処理を割り当ててマッピング情報を生成する。また、マッピング情報生成部22は、選択されたIT資源12やネットワーク資源11で行われる処理間で適切な通信を可能とするために、経路上資源を抽出してこれら経路上資源に対してもマッピング情報を生成する。このように、IT資源12とネットワーク資源11の双方に対して単一の処理でマッピングが可能となる。そのため、サービス構築に要する時間を短縮することができる。   As described above, in the present embodiment, the mapping information generation unit 22 of the service construction device 2 does not distinguish between the processing executed so far on the IT resource 12 and the processing executed so far on the network resource 11. Mapping information is generated by handling uniformly. That is, the mapping information generation unit 22 generates mapping information by assigning each process on the resource selected without discrimination between the IT resource 12 and the network resource 11. In addition, the mapping information generation unit 22 extracts resources on the route to enable appropriate communication between the processes performed on the selected IT resource 12 and the network resource 11, and also applies to these resources on the route. Generate mapping information. In this way, mapping can be performed in a single process for both the IT resource 12 and the network resource 11. Therefore, the time required for service construction can be shortened.

以上が、本実施形態におけるサービス構築装置の説明である。   The above is the description of the service construction device in the present embodiment.

(第2実施形態)
次に、本発明の第2実施形態におけるサービス構築システムの説明を行う。
(Second Embodiment)
Next, a service construction system according to the second embodiment of the present invention will be described.

[概要]
本実施形態におけるサービス構築システムは、分散コンピューティング環境1に構築されるサービスを、マッピング情報やサービス定義42に基づいて可視化する可視化装置3を備える。ユーザは、構築されたサービスを可視化装置3により確認することが可能となる。
[Overview]
The service construction system in this embodiment includes a visualization device 3 that visualizes a service constructed in the distributed computing environment 1 based on mapping information and a service definition 42. The user can check the constructed service with the visualization device 3.

[構成の説明]
まず、本実施形態におけるサービス構築システムの構成の説明を行う。本実施形態のサービス構築システムは、第1実施形態と同様、分散コンピューティング環境1とサービス構築装置2とを備え、さらに可視化装置3を備える。本実施形態におけるサービス構築システムは、可視化装置3をさらに備える点が第1実施形態と異なる。そのため、第1実施形態と同様の部分については重ねての説明を省略して、第1実施形態と異なる部分を中心に説明を行う。
[Description of configuration]
First, the configuration of the service construction system in this embodiment will be described. As in the first embodiment, the service construction system of the present embodiment includes a distributed computing environment 1 and a service construction device 2, and further includes a visualization device 3. The service construction system in the present embodiment is different from the first embodiment in that the visualization apparatus 3 is further provided. Therefore, the description of the same parts as in the first embodiment will be omitted, and the description will focus on parts different from the first embodiment.

図18は、本実施形態におけるサービス構築装置2と可視化装置3との機能を示す機能ブロック図である。なお、本実施形態のサービス構築装置2は、第1実施形態と同様、図2に示したようなハードウェア構成である。   FIG. 18 is a functional block diagram showing functions of the service construction device 2 and the visualization device 3 in the present embodiment. Note that the service construction device 2 of this embodiment has a hardware configuration as shown in FIG. 2 as in the first embodiment.

可視化装置3は、分散コンピューティング環境1に構築されたサービスを可視化する。可視化装置3は、サービス構築装置2のマッピング情報生成部22と接続される。本実施形態のマッピング情報生成部22は、サービスのマッピングに成功してサービス構築完了通知45を出力する際に、サービス構築完了通知45にマッピング情報とサービス定義42を含めて出力する。可視化装置3は、マッピング情報とサービス定義42に基づいて、分散コンピューティング環境1に構築されたサービスを可視化する。なお、可視化装置3は、図18に示すようにサービス構築装置2の外部に構築されても良いし、サービス構築装置の内部に構築されても良い。なお、サービス構築装置2は、上述以外、第1実施形態と同様である。   The visualization device 3 visualizes a service constructed in the distributed computing environment 1. The visualization device 3 is connected to the mapping information generation unit 22 of the service construction device 2. When the mapping of the service is completed successfully and the service construction completion notification 45 is output, the mapping information generation unit 22 of the present embodiment outputs the service construction completion notification 45 including the mapping information and the service definition 42. The visualization device 3 visualizes the service constructed in the distributed computing environment 1 based on the mapping information and the service definition 42. The visualization device 3 may be constructed outside the service construction device 2 as shown in FIG. 18 or may be constructed inside the service construction device. The service construction device 2 is the same as that of the first embodiment except for the above.

以上が、本実施形態におけるサービス構築装置2の構成の説明である。   The above is description of the structure of the service construction apparatus 2 in this embodiment.

[動作の説明]
次に、本実施形態におけるサービス構築装置2の動作の説明を行う。図19は、本実施形態におけるサービス構築システムの動作を示すフローチャートである。なお、図19に示されたフローチャートでは、図6に示されたフローチャートのステップS28において実行される処理を示している。また、この時点でのマッピング情報は、図14に示した状態であるとする。
[Description of operation]
Next, the operation of the service construction device 2 in this embodiment will be described. FIG. 19 is a flowchart showing the operation of the service construction system in this embodiment. Note that the flowchart shown in FIG. 19 shows the processing executed in step S28 of the flowchart shown in FIG. Further, it is assumed that the mapping information at this time is in the state shown in FIG.

まず、マッピング情報生成部22は、マッピング情報において、複数の経路上資源に関連付けられた処理が存在するかを判定する(ステップS282)。マッピング情報生成部22は、複数の経路上資源に関連付けられた処理が存在する場合(ステップS282のYes)、該当する処理を新たな処理としてマッピング情報へ追加する(ステップS284)。具体的に、マッピング情報生成部22は、複数の経路上資源に関連付けられた処理の「次の処理」に関する情報を、該当する処理から最初に経由する経路上資源で実行される処理の「次の処理」の情報として、その経路上資源で行うべき処理をマッピング情報に追加する。この新たに追加される経路上資源で行うべき処理において、「次の処理」の情報は、変更前の該当する処理の「次の処理」の情報である。「経路上資源」の情報は、変更前の該当する処理の「経路上資源」の情報から、該当する処理が最初に経由する経路上資源の情報を除いたものになる。その後、ステップS282に戻り、他に複数の経路上資源に関連付けられた処理が存在するかを判定することになる。   First, the mapping information generation unit 22 determines whether there is a process associated with a plurality of resources on the route in the mapping information (step S282). When there is a process associated with a plurality of resources on the path (Yes in step S282), the mapping information generation unit 22 adds the corresponding process to the mapping information as a new process (step S284). Specifically, the mapping information generation unit 22 displays information related to the “next process” of the process associated with a plurality of resources on the path “next” The processing to be performed with the resources on the route is added to the mapping information as the information of “Processing”. In the process to be performed on the newly added resource on the route, the “next process” information is the “next process” information of the corresponding process before the change. The “route resource” information is obtained by removing the information of the route resource through which the corresponding process first passes from the “route resource” information of the corresponding process before the change. Thereafter, the process returns to step S282, and it is determined whether there are other processes associated with a plurality of resources on the path.

ここで、図20は、本実施形態におけるステップS284が完了した時点のマッピング情報の一例を示す図である。図20のマッピング情報は、図14のマッピング情報に、複数の経路上資源に関連付けられた処理を新たな処理として追加したものである。なお、マッピング情報は、図20に示されるようなテーブル形式の表現に限定しない。   Here, FIG. 20 is a diagram illustrating an example of mapping information at the time when step S284 in the present embodiment is completed. The mapping information in FIG. 20 is obtained by adding processing associated with a plurality of resources on the route as new processing to the mapping information in FIG. Note that the mapping information is not limited to the table format as shown in FIG.

例えば、図14において、「AppD」は、複数の経路上資源に関連付けられた処理である。「AppD」の処理と「AppF」の処理との間の経路上資源は、「ServerC」と「Router」の二つ存在する。図20に示されたステップS284の処理を実行後のマッピング情報では、「AppD」の「次の処理」に関する情報を「ServerC」で実行される「Forwarding1」という処理に置き換えている。つまり、「ServerC」で実行される転送処理を「Forwarding1」という処理として追加している。ここで、「ServerC」と「Router」とのうち「ServerC」が選択されるのは、「AppD」から「AppF」への通信経路上で「ServerC」を最初に経由するためである。   For example, in FIG. 14, “AppD” is a process associated with a plurality of resources on the path. There are two resources on the path between the “AppD” process and the “AppF” process, “ServerC” and “Router”. In the mapping information after executing the process of step S284 shown in FIG. 20, the information related to “next process” of “AppD” is replaced with the process of “Forwarding 1” executed by “ServerC”. That is, the transfer process executed by “ServerC” is added as a process “Forwarding 1”. Here, “ServerC” is selected from “ServerC” and “Router” because it first passes through “ServerC” on the communication path from “AppD” to “AppF”.

なお、処理「Forwarding1」の「次の処理」は、図14において「AppD」に関連付けられていた「AppF」となる。さらに、処理「Forwarding1」の「経路上資源」は、図14において「AppD」に関連付けられていた「ServerC」と「Router」から「ServerC」を除いた「Router」となる。また、「AppD」の「次の処理」は、追加された「Forwarding1」となる。   Note that the “next process” of the process “Forwarding 1” is “AppF” associated with “AppD” in FIG. Furthermore, the “route resource” of the process “Forwarding 1” is “Router” obtained by removing “ServerC” from “ServerC” and “Router” associated with “AppD” in FIG. Further, the “next processing” of “AppD” is the added “Forwarding 1”.

次に、図19へ戻り、マッピング情報生成部22は、複数の経路上資源に関連付けられた処理が存在しない場合(ステップS282のNo)、経路上資源を関連付けられた処理が存在するかを判定する(ステップS286)。なお、ステップS286の段階では、複数の経路上資源に関連付けられた処理は存在しない。経路上資源を関連付けられた処理が存在しない(ステップS286のNo)、ステップS290へ進む。   Next, returning to FIG. 19, the mapping information generation unit 22 determines whether there is a process associated with the route resource when there is no process associated with the plurality of route resources (No in step S <b> 282). (Step S286). Note that at the stage of step S286, there is no processing associated with a plurality of resources on the path. If there is no process associated with the resource on the route (No in step S286), the process proceeds to step S290.

マッピング情報生成部22は、経路上資源を関連付けられた処理が存在する場合(ステップS286のYes)、該当する処理を新たな処理としてマッピング情報へ追加する(ステップS288)。具体的に、マッピング情報生成部22は、該当する処理の「次の処理」に関する情報を、経路上資源で実行される処理の情報として、その経路上資源で行うべき処理をマッピング情報に追加する。この経路上資源で行うべき処理の「次の処理」の情報は、変更前の該当する処理の「次の処理」となる。   If there is a process associated with the resource on the path (Yes in step S286), the mapping information generation unit 22 adds the corresponding process to the mapping information as a new process (step S288). Specifically, the mapping information generation unit 22 uses the information related to the “next process” of the corresponding process as information on the process executed on the path resource, and adds the process to be performed on the path resource to the mapping information. . The information of “next process” of the process to be performed on the resource on the route becomes “next process” of the corresponding process before the change.

ここで、図21は、本実施形態におけるステップS288が完了した時点のマッピング情報の一例を示す図である。図21のマッピング情報は、図20のマッピング情報に、経路上資源による処理と新たな処理として追加したものである。なお、マッピング情報は、図21に示されるようなテーブル形式の表現に限定しない。   Here, FIG. 21 is a diagram illustrating an example of mapping information at the time when step S288 in the present embodiment is completed. The mapping information in FIG. 21 is added to the mapping information in FIG. 20 as a process by a resource on the route and a new process. Note that the mapping information is not limited to the table format as shown in FIG.

例えば、図20において、「AppB」は、経路上資源を関連付けられた処理である。「AppB」は、「ServerC」を経路上資源とする処理と、「Router」を経路上資源とする処理とが存在する。図21に示されたステップS288の処理を実行後のマッピング情報では、一方の「AppB」の「次の処理」に関する情報を「ServerC」で実行される「Forwarding3」という処理に置き換えている。つまり、「ServerC」で実行される転送処理を「Forwarding3」という処理として追加している。このとき、処理「Forwarding3」の「次の処理」は、図20において「AppB」に関連付けられていた「AppC」となる。また、「AppB」の「次の処理」は、追加された「Forwarding3」となる。   For example, in FIG. 20, “AppB” is a process associated with a resource on the path. “AppB” includes a process using “ServerC” as a resource on a route and a process using “Router” as a resource on a route. In the mapping information after executing the process of step S288 shown in FIG. 21, the information related to the “next process” of one “AppB” is replaced with the process “Forwarding 3” executed by “ServerC”. That is, the transfer process executed by “ServerC” is added as a process “Forwarding 3”. At this time, the “next process” of the process “Forwarding 3” is “AppC” associated with “AppB” in FIG. The “next process” of “AppB” is the added “Forwarding 3”.

また、図21に示されたマッピング情報では、他方の「AppB」の「次の処理」に関する情報を「Router」で実行される「Forwarding4」という処理に置き換えている。つまり、「Router」で実行される転送処理を「Forwarding4」という処理として追加している。このとき、処理「Forwarding4」の「次の処理」は、図20において他方の「AppB」に関連付けられていた「AppE」となる。また、他方の「AppB」の「次の処理」は、追加された「Forwarding4」となる。   In the mapping information shown in FIG. 21, the information related to “next processing” of the other “AppB” is replaced with the processing “Forwarding 4” executed by “Router”. That is, the transfer process executed by “Router” is added as a process called “Forwarding 4”. At this time, the “next process” of the process “Forwarding 4” is “AppE” associated with the other “AppB” in FIG. The “next process” of the other “AppB” is the added “Forwarding 4”.

同様に、図20のマッピング情報における「Input」や、「Forwarding1」や、「AppF」等の処理も、関連付けられた経路上資源を新たな処理として追加する処理が行われる。このような処理が行われることで、図21に示されたステップS288を実行後のマッピング情報では、経路上資源に関連付けられている処理は存在しない。そして、IT資源12の処理もネットワーク資源11の処理も、統一された形式で表現が可能となる。   Similarly, processes such as “Input”, “Forwarding 1”, and “AppF” in the mapping information in FIG. 20 are performed to add the associated resources on the route as new processes. By performing such processing, there is no processing associated with the resource on the path in the mapping information after executing step S288 shown in FIG. The processing of the IT resource 12 and the processing of the network resource 11 can be expressed in a unified format.

次に、図19に戻り、マッピング情報生成部22は、マッピング情報とサービス定義42をサービス構築完了通知45と共に出力する(ステップS290)。可視化装置3は、マッピング情報とサービス定義42を入力とする。可視化装置3は、マッピング情報とサービス定義42とに基づいて、分散コンピューティング環境1に構築されたサービスを可視化する(ステップS292)。以上が、本実施形態におけるサービス構築装置2の動作の説明である。   Next, returning to FIG. 19, the mapping information generation unit 22 outputs the mapping information and the service definition 42 together with the service construction completion notification 45 (step S290). The visualization device 3 receives the mapping information and the service definition 42 as inputs. The visualization device 3 visualizes the service constructed in the distributed computing environment 1 based on the mapping information and the service definition 42 (Step S292). The above is description of operation | movement of the service construction apparatus 2 in this embodiment.

ここで、図22は、本実施形態における可視化装置3により可視化されたサービスの例を示す図である。可視化装置3は、図22に示すようなウィンドウW41〜W44を表示する。このような表示は、可視化装置3が独自に備える表示装置に表示されてもよいし、サービス構築装置2の出力部150のLCD等に表示されても良い。以下、各ウィンドウの説明を行う。   Here, FIG. 22 is a diagram illustrating an example of a service visualized by the visualization device 3 in the present embodiment. The visualization device 3 displays windows W41 to W44 as shown in FIG. Such a display may be displayed on a display device that the visualization device 3 has independently, or may be displayed on the LCD or the like of the output unit 150 of the service construction device 2. Each window will be described below.

まず、ウィンドウW41は、サービスを選択するためのウィンドウである。ウィンドウW41は、現在、分散コンピューティング環境に構築されているサービスの一覧を表示する。ユーザは、ウィンドウW41において、可視化したいサービスを選択することができる。   First, the window W41 is a window for selecting a service. The window W41 displays a list of services currently built in the distributed computing environment. The user can select a service to be visualized in the window W41.

次に、ウィンドウW42は、分散コンピューティング環境1を表示するウィンドウである。ウィンドウW42は、分散コンピューティング環境1の分散コンピューティング資源が、ネットワーク接続状態と共に表示される。また、ウィンドウW42には、ウィンドウW41で選択されたサービスのマッピング状況に応じた分散コンピューティング環境1が表示される。   Next, the window W42 is a window for displaying the distributed computing environment 1. The window W42 displays the distributed computing resources of the distributed computing environment 1 together with the network connection status. In the window W42, the distributed computing environment 1 corresponding to the mapping status of the service selected in the window W41 is displayed.

次に、ウィンドウW43は、サービス定義を表示するウィンドウである。ウィンドウW43は、ウィンドウW41で選択されたサービスのサービス定義に基づいて、サービスを構成する処理間の接続に関する情報が表示される。   Next, the window W43 is a window for displaying the service definition. The window W43 displays information related to connections between processes constituting the service based on the service definition of the service selected in the window W41.

次に、ウィンドウW44は、マッピング情報を表示するウィンドウである。ウィンドウW44は、ウィンドウW41で選択されたサービスのマッピング情報が表示される。   Next, the window W44 is a window for displaying mapping information. The window W44 displays mapping information of the service selected in the window W41.

次に、図23は、本実施形態における図4に示したサービス定義のサービスを可視化装置3により可視化した例を示す図である。   Next, FIG. 23 is a diagram illustrating an example in which the service of the service definition illustrated in FIG. 4 in the present embodiment is visualized by the visualization device 3.

ウィンドウW41は、分散コンピューティング環境1に構築されているサービスを表示する。ユーザが、ウィンドウW41においてサービスを選択すると、ウィンドウW43にサービス定義42が表示される。このサービス定義42は、図4に示されたサービス定義42である。また、ウィンドウW44にマッピング情報が表示される。このマッピング情報は、図21に示されたマッピング情報である。さらに、ウィンドウW42にマッピング情報の内容が可視化されて表示される。   The window W41 displays services established in the distributed computing environment 1. When the user selects a service in the window W41, the service definition 42 is displayed in the window W43. This service definition 42 is the service definition 42 shown in FIG. Also, the mapping information is displayed in the window W44. This mapping information is the mapping information shown in FIG. Further, the contents of the mapping information are visualized and displayed on the window W42.

次に、図24は、本実施形態における図23の可視化表示において特定の情報を選択した場合を示す図である。   Next, FIG. 24 is a diagram illustrating a case where specific information is selected in the visualization display of FIG. 23 in the present embodiment.

例えば、ユーザがウィンドウW44に表示されたマッピング情報の特定のデータを選択したとする。図24を参照すると、処理「AppA」が選択されている。これに伴い、ウィンドウW43では、処理「AppA」に対応する処理Aがハイライトされる。また、ウィンドウW42では、処理「AppA」と処理「AppA」を実行する「Firewall」がハイライトされる。なお、同様に、ウィンドウW43で特定の処理を選択すると、ウィンドウW44の対応するマッピング情報と、ウィンドウW42の対応する分散コンピューティング資源とアプリケーション43とがハイライトされる。また、ウィンドウW42で特定の分散コンピューティング資源、あるいはアプリケーション43を選択すると、ウィンドウW44の対応するマッピング情報と、ウィンドウW43に対応する処理とがハイライトされる。   For example, it is assumed that the user has selected specific data of the mapping information displayed in the window W44. Referring to FIG. 24, the process “AppA” is selected. Accordingly, the process A corresponding to the process “AppA” is highlighted in the window W43. In the window W42, “Firewall” for executing the process “AppA” and the process “AppA” is highlighted. Similarly, when a specific process is selected in the window W43, the corresponding mapping information in the window W44, the corresponding distributed computing resource in the window W42, and the application 43 are highlighted. When a specific distributed computing resource or application 43 is selected in the window W42, mapping information corresponding to the window W44 and processing corresponding to the window W43 are highlighted.

このように、ユーザは、特定の表示を選択することで、当該処理に対応する情報を確認することができる。これにより、本来のサービス定義に含まれない経路上資源の情報を含めたマッピング情報が可視化され、サービスを構成する処理を詳細に確認することができる。そのため、分散コンピューティング環境1の分散コンピューティング資源が、あるサービスにおいてどのように使用されているのかを詳細に確認することが可能になる。   Thus, the user can confirm information corresponding to the processing by selecting a specific display. As a result, mapping information including information on resources on the route that is not included in the original service definition is visualized, and the processes constituting the service can be confirmed in detail. Therefore, it is possible to confirm in detail how the distributed computing resources of the distributed computing environment 1 are used in a certain service.

以上が、本実施形態におけるサービス構築装置2の動作の説明である。   The above is description of operation | movement of the service construction apparatus 2 in this embodiment.

ここまで本発明のサービス構築システムの説明を行ってきた。本発明の第1実施形態によるサービス構築装置2は、これまでIT資源12で実行されてきた処理と、これまでネットワーク資源11で実行されてきた処理を区別無く一様に扱ってマッピング情報を生成する。サービス構築装置2は、IT資源12とネットワーク資源11のうちから区別無く選択された資源上に、構築するべきサービスの各処理を割り当てて、マッピング情報を生成する。また、サービス構築装置2は、選択されたIT資源12やネットワーク資源11で行われる処理間で適切な通信を可能とするために経路上資源を抽出して、これら経路上資源に対してもマッピング情報を生成する。これにより、IT資源12とネットワーク資源11の双方に対して単一の処理でマッピングが可能となる。そのため、サービス構築に要する時間を短縮することができる。   So far, the service construction system of the present invention has been described. The service construction device 2 according to the first embodiment of the present invention generates mapping information by uniformly processing the processing executed by the IT resource 12 and the processing executed by the network resource 11 until now. To do. The service construction device 2 allocates each process of the service to be constructed on the resource selected without distinction from the IT resource 12 and the network resource 11, and generates mapping information. In addition, the service construction device 2 extracts resources on the route in order to enable appropriate communication between the processes performed on the selected IT resource 12 and network resource 11, and also maps these resources on the route. Generate information. As a result, both the IT resource 12 and the network resource 11 can be mapped by a single process. Therefore, the time required for service construction can be shortened.

また、本発明の第2実施形態によるサービス構築装置2は、本来のサービス定義に含まれない経路上資源の情報を含めたマッピング情報が可視化され、サービスを構成する処理を詳細に確認することができる。そのため、分散コンピューティング環境1の分散コンピューティング資源が、あるサービスにおいてどのように使用されているのかを詳細に確認することが可能になる。なお、各実施形態は独立して実現することも、組み合わせて実現することも可能である。   In addition, the service construction device 2 according to the second embodiment of the present invention visualizes mapping information including information on resources on a route that is not included in the original service definition, and can confirm in detail the processing constituting the service. it can. Therefore, it is possible to confirm in detail how the distributed computing resources of the distributed computing environment 1 are used in a certain service. Each embodiment can be realized independently or in combination.

以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更を行うことができる。   While the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。   In addition, although a part or all of said embodiment can be described also as the following additional remarks, it is not restricted to the following.

(付記1)互いに接続されてネットワークを構成する分散コンピューティング資源を具備する分散コンピューティング環境と、前記分散コンピューティング環境にサービスを構築するサービス構築装置とを備え、前記サービス構築装置は、前記サービスにおける処理の流れを示すアプリケーションフロー解析結果を生成するアプリケーションフロー解析部と、前記アプリケーションフロー解析結果に基づいて、前記分散コンピューティング資源のうちから前記処理を実現するアプリケーションを実行するべき第1選択分散コンピューティング資源と前記アプリケーション間の通信転送処理を実行するべき第2選択分散コンピューティング資源とを割り当てたマッピング情報を生成するマッピング情報生成部と、前記マッピング情報に基づいて、前記第1選択分散コンピューティング資源に対する前記アプリケーションの配置情報と、前記第2選択分散コンピューティング資源に対する通信転送処理の設定情報とをマッピングする設定指示部とを備えるサービス構築システム。   (Supplementary Note 1) A distributed computing environment including distributed computing resources that are connected to each other to form a network, and a service construction device that constructs a service in the distributed computing environment, the service construction device including the service An application flow analysis unit for generating an application flow analysis result indicating the flow of processing in the application, and a first selection distribution to execute an application for realizing the processing from the distributed computing resources based on the application flow analysis result A mapping information generating unit for generating mapping information to which a computing resource and a second selected distributed computing resource for executing a communication transfer process between the applications are assigned, and based on the mapping information Service construction system comprising a location information of the application, and a setting instruction unit for mapping the configuration information of the communication transfer processing for the second selected distributed computing resources for the first selected distributed computing resources.

(付記2)付記1に記載のサービス構築システムであって、前記マッピング情報生成部は、前記処理に対して前記処理を実現するアプリケーションを割り当てて、前記分散コンピューティング資源のうちから前記アプリケーションを実行するべき前記第1選択分散コンピューティング資源を割り当てて、前記分散コンピューティング資源のうちから前記処理の流れにおいて前記第1選択分散コンピューティング資源に割り当てられた前記アプリケーション間の通信系路上に存在して通信転送処理を実行するべき第2選択分散コンピューティング資源を割り当てて前記マッピング情報を生成するサービス構築システム。   (Supplementary note 2) The service construction system according to supplementary note 1, wherein the mapping information generation unit allocates an application that realizes the process to the process, and executes the application from the distributed computing resources Allocating the first selected distributed computing resource to be present and existing on the communication path between the applications allocated to the first selected distributed computing resource in the processing flow from among the distributed computing resources A service construction system for generating the mapping information by allocating a second selected distributed computing resource for executing communication transfer processing.

(付記3)付記1または付記2に記載のサービス構築システムであって、前記分散コンピューティング資源は、ネットワーク資源とIT資源とを含み、前記ネットワーク資源は、互いに接続されて前記ネットワークにおいて前記通信転送処理を行い、前記IT資源は、他のIT資源や前記ネットワーク資源に接続されて前記アプリケーションを実行し、前記マッピング情報生成部は、前記ネットワーク資源と前記ITとのうちから、前記第1選択分散コンピューティング資源と前記第2選択分散コンピューティング資源とを区別無く割り当てるサービス構築システム。   (Supplementary note 3) The service construction system according to supplementary note 1 or supplementary note 2, wherein the distributed computing resource includes a network resource and an IT resource, and the network resource is connected to each other and the communication transfer in the network The IT resource is connected to another IT resource or the network resource to execute the application, and the mapping information generation unit is configured to distribute the first selective distribution from the network resource and the IT. A service construction system for allocating computing resources and the second selected distributed computing resources without distinction.

(付記4)付記1から付記3までのいずれかに記載のサービス構築システムであって、前記アプリケーションフロー解析部は、前記サービスの仕様を定めたサービス定義入力して、前記サービス定義に基づいて前記サービスにおける前記処理の入出力関係を示す前記アプリケーションフロー解析結果を生成するサービス構築システム。   (Supplementary note 4) The service construction system according to any one of supplementary notes 1 to 3, wherein the application flow analysis unit inputs a service definition defining a specification of the service, and based on the service definition, A service construction system that generates the application flow analysis result indicating an input / output relationship of the process in a service.

(付記5)付記1から付記4までのいずれかに記載のサービス構築システムであって、前記サービス定義は、前記サービスに含まれる前記処理の内容や、前記処理の入出力関係や、前記サービスにおける制約事項を含むサービス構築システム。   (Supplementary note 5) The service construction system according to any one of supplementary notes 1 to 4, wherein the service definition includes the contents of the process included in the service, the input / output relationship of the process, and the service Service construction system including restrictions.

(付記6)付記1から付記5までのいずれかに記載のサービス構築システムであって、前記分散コンピューティング資源に配置可能な前記アプリケーションと、前記アプリケーションを動作させる前記分散コンピューティング資源における条件を示すアプリケーション情報を記憶するアプリケーション管理部をさらに備え、前記マッピング情報生成部は、前記アプリケーション情報を用いて前記マッピング情報を生成するサービス構築システム。   (Supplementary note 6) The service construction system according to any one of supplementary note 1 to supplementary note 5, wherein the application that can be arranged in the distributed computing resource and the condition in the distributed computing resource that operates the application are indicated. The service construction system further comprising an application management unit for storing application information, wherein the mapping information generation unit generates the mapping information using the application information.

(付記7)付記1から付記6までのいずれかに記載のサービス構築システムであって、前記分散コンピューティング資源と前記分散コンピューティング資源の各々の前記分散コンピューティング環境における接続関係を示す前記資源情報とを記憶する資源管理部をさらに備え、前記マッピング情報生成部は、前記資源情報を用いて前記マッピング情報を生成するサービス構築システム。   (Supplementary note 7) The service construction system according to any one of supplementary notes 1 to 6, wherein the resource information indicates a connection relationship between the distributed computing resource and each of the distributed computing resources in the distributed computing environment. The mapping information generation unit generates the mapping information using the resource information.

(付記8)付記1から付記7までのいずれかに記載されたサービス構築システムであって、前記サービス毎に前記マッピング情報に基づく処理の流れを前記分散コンピューティング環境における前記分散コンピューティング資源に対応付けて可視化する可視化装置をさらに備えるサービス構築システム。   (Supplementary note 8) The service construction system according to any one of supplementary notes 1 to 7, wherein the processing flow based on the mapping information for each service corresponds to the distributed computing resource in the distributed computing environment A service construction system further comprising a visualization device for visualization.

(付記9)付記8に記載のサービス構築システムであって、前記サービス構築装置が前記可視化装置を備えるサービス構築システム。   (Supplementary note 9) The service construction system according to supplementary note 8, wherein the service construction device includes the visualization device.

(付記10)付記8または付記9に記載のサービス構築システムであって、前記マッピング情報生成部は、前記通信転送処理を前記サービスにおいて前記第2選択分散コンピューティング資源の実行する前記処理の1つとして前記マッピング情報へ追加すされた補正マッピング情報を生成して、前記可視化装置は、前記補正マッピング情報に基づいて前記処理の流れを前記分散コンピューティング環境における前記分散コンピューティング資源に対応付けるサービス構築システム。   (Supplementary note 10) The service construction system according to supplementary note 8 or supplementary note 9, wherein the mapping information generating unit is one of the processes in which the communication transfer process is executed by the second selected distributed computing resource in the service. And generating the corrected mapping information added to the mapping information as follows, and the visualization apparatus associates the processing flow with the distributed computing resources in the distributed computing environment based on the corrected mapping information. .

(付記11)付記1から付記10までのいずれかに記載のサービス構築システムで用いられるサービス構築装置。   (Additional remark 11) The service construction apparatus used with the service construction system in any one of Additional remark 1 to Additional remark 10.

(付記12)互いに接続されてネットワークを構成する分散コンピューティング資源を具備する分散コンピューティング環境と、前記分散コンピューティング環境にサービスを構築するサービス構築装置とを備えるサービス構築システムにおいて、前記サービスにおける処理の流れを示すアプリケーションフロー解析結果を生成するステップと、前記アプリケーションフロー解析結果に基づいて、前記分散コンピューティング資源うちから前記処理を実現するアプリケーションを実行するべき第1選択分散コンピューティング資源と前記アプリケーション間の通信転送処理を実行するべき第2選択分散コンピューティング資源とを割り当てたマッピング情報を生成するステップと、前記マッピング情報に基づいて、前記第1選択分散コンピューティング資源に対する前記アプリケーションの配置情報と、前記第2選択分散コンピューティング資源に対する通信転送処理の設定情報とをマッピングするステップとを備えるサービス構築方法。   (Supplementary note 12) In a service construction system comprising a distributed computing environment comprising distributed computing resources connected to each other to constitute a network, and a service construction device for constructing a service in the distributed computing environment, the processing in the service Generating an application flow analysis result indicating the flow of the first, a first selected distributed computing resource to execute the application that realizes the processing from the distributed computing resources based on the application flow analysis result, and the application Generating mapping information to which a second selected distributed computing resource to execute a communication transfer process between is assigned, and based on the mapping information, the first selected distributed computer Service construction method comprising the arrangement information of the application for the computing resources, and a step of mapping the configuration information of the communication transfer processing for the second selected distributed computing resources.

(付記13)付記12に記載のサービス構築方法をコンピュータに実行させるコンピュータプログラム。   (Additional remark 13) The computer program which makes a computer perform the service construction method of Additional remark 12.

1 分散コンピューティング環境
2 サービス構築装置
3 可視化装置
11 ネットワーク資源
12 IT資源
21 アプリケーションフロー解析部
22 マッピング情報生成部
23 アプリケーション管理部
24 設定指示部
25 資源管理部
41 設定要求
42 サービス定義
43 アプリケーション
44 状態情報
45 サービス構築完了通知
100 記憶部
110 サービス構築プログラム
120 制御部
130 通信部
140 入力部
150 出力部
160 バス
W41〜W44 ウィンドウ
DESCRIPTION OF SYMBOLS 1 Distributed computing environment 2 Service construction apparatus 3 Visualization apparatus 11 Network resource 12 IT resource 21 Application flow analysis part 22 Mapping information generation part 23 Application management part 24 Setting instruction | indication part 25 Resource management part 41 Setting request 42 Service definition 43 Application 44 State Information 45 Service construction completion notification 100 Storage unit 110 Service construction program 120 Control unit 130 Communication unit 140 Input unit 150 Output unit 160 Buses W41 to W44 Window

Claims (10)

互いに接続されてネットワークを構成する分散コンピューティング資源を具備する分散コンピューティング環境と、
前記分散コンピューティング環境にサービスを構築するサービス構築装置と
を備え、
前記サービス構築装置は、
前記サービスにおける処理の流れを示すアプリケーションフロー解析結果を生成するアプリケーションフロー解析部と、
前記アプリケーションフロー解析結果に基づいて、前記分散コンピューティング資源のうちから前記処理を実現するアプリケーションを実行するべき第1選択分散コンピューティング資源と前記アプリケーション間の通信転送処理を実行するべき第2選択分散コンピューティング資源とを割り当てたマッピング情報を生成するマッピング情報生成部と、
前記マッピング情報に基づいて、前記第1選択分散コンピューティング資源に対する前記アプリケーションの配置情報と、前記第2選択分散コンピューティング資源に対する通信転送処理の設定情報とをマッピングする設定指示部と
を備えるサービス構築システム。
A distributed computing environment comprising distributed computing resources connected together to form a network;
A service construction device for constructing a service in the distributed computing environment,
The service construction device
An application flow analysis unit that generates an application flow analysis result indicating a flow of processing in the service;
Based on the application flow analysis result, among the distributed computing resources, a first selected distributed computing resource for executing an application for realizing the processing and a second selected distribution for executing a communication transfer process between the applications. A mapping information generating unit that generates mapping information to which computing resources are allocated;
A service construction comprising: a setting instruction unit that maps, based on the mapping information, arrangement information of the application with respect to the first selected distributed computing resource and setting information of communication transfer processing with respect to the second selected distributed computing resource system.
請求項1に記載のサービス構築システムであって、
前記マッピング情報生成部は、
前記処理に対して前記処理を実現するアプリケーションを割り当てて、前記分散コンピューティング資源のうちから前記アプリケーションを実行するべき前記第1選択分散コンピューティング資源を割り当てて、前記分散コンピューティング資源のうちから前記処理の流れにおいて前記第1選択分散コンピューティング資源に割り当てられた前記アプリケーション間の通信路上に存在して通信転送処理を実行するべき第2選択分散コンピューティング資源を割り当てて前記マッピング情報を生成する
サービス構築システム。
The service construction system according to claim 1,
The mapping information generation unit
An application that implements the process is allocated to the process, the first selected distributed computing resource that is to execute the application is allocated from the distributed computing resources, and the distributed computing resource is the in the flow of processing by assigning second selection distributed computing resources to execute the communication transfer process present in the communication through path between said application assigned to the first selected distributed computing resources to generate the mapping information Service construction system.
請求項1または請求項2に記載のサービス構築システムであって、
前記分散コンピューティング資源は、ネットワーク資源とIT資源とを含み、
前記ネットワーク資源は、互いに接続されて前記ネットワークにおいて前記通信転送処理を行い、
前記IT資源は、他のIT資源や前記ネットワーク資源に接続されて前記アプリケーションを実行し、
前記マッピング情報生成部は、前記ネットワーク資源と前記IT資源とのうちから、前記第1選択分散コンピューティング資源と前記第2選択分散コンピューティング資源とを区別無く割り当てる
サービス構築システム。
The service construction system according to claim 1 or 2,
The distributed computing resources include network resources and IT resources,
The network resources are connected to each other and perform the communication transfer process in the network,
The IT resource is connected to another IT resource or the network resource to execute the application,
The mapping information generation unit allocates the first selected distributed computing resource and the second selected distributed computing resource without discrimination between the network resource and the IT resource .
請求項1から請求項3までのいずれかに記載のサービス構築システムであって、
前記アプリケーションフロー解析部は、前記サービスの仕様を定めたサービス定義入力して、前記サービス定義に基づいて前記サービスにおける前記処理の入出力関係を示す前記アプリケーションフロー解析結果を生成する
サービス構築システム。
A service construction system according to any one of claims 1 to 3,
The application flow analysis unit, the service construction system by entering a service definition that defines specifications of the service, to generate the application flow analysis result showing the input-output relationship of the process in the service based on the service definition.
請求項1から請求項4までのいずれかに記載されたサービス構築システムであって、
前記サービス毎に前記マッピング情報に基づく処理の流れを前記分散コンピューティング環境における前記分散コンピューティング資源に対応付けて可視化する可視化装置
をさらに備えるサービス構築システム。
A service construction system according to any one of claims 1 to 4, wherein
A service construction system further comprising a visualization device that visualizes a processing flow based on the mapping information for each service in association with the distributed computing resource in the distributed computing environment.
請求項5に記載のサービス構築システムであって、
前記サービス構築装置が前記可視化装置を備える
サービス構築システム。
The service construction system according to claim 5,
A service construction system, wherein the service construction device includes the visualization device.
請求項5または請求項6に記載のサービス構築システムであって、
前記マッピング情報生成部は、前記通信転送処理を前記サービスにおいて前記第2選択分散コンピューティング資源の実行する前記処理の1つとして前記マッピング情報へ追加された補正マッピング情報を生成して、
前記可視化装置は、前記補正マッピング情報に基づいて前記処理の流れを前記分散コンピューティング環境における前記分散コンピューティング資源に対応付ける
サービス構築システム。
The service construction system according to claim 5 or 6,
The mapping information generating unit generates the said correction mapping information that have been added to the mapping information as one of the processing performed by the second selection distributed computing resources of the communication transfer processing in the service,
The visualization apparatus is a service construction system that associates the processing flow with the distributed computing resources in the distributed computing environment based on the correction mapping information.
請求項1から請求項7までのいずれかに記載のサービス構築システムで用いられるサービス構築装置。   The service construction apparatus used with the service construction system in any one of Claim 1- Claim 7. 互いに接続されてネットワークを構成する分散コンピューティング資源を具備する分散コンピューティング環境と、前記分散コンピューティング環境にサービスを構築するサービス構築装置とを備えるサービス構築システムにおいて、
前記サービスにおける処理の流れを示すアプリケーションフロー解析結果を生成するステップと、
前記アプリケーションフロー解析結果に基づいて、前記分散コンピューティング資源のうちから前記処理を実現するアプリケーションを実行するべき第1選択分散コンピューティング資源と前記アプリケーション間の通信転送処理を実行するべき第2選択分散コンピューティング資源とを割り当てたマッピング情報を生成するステップと、
前記マッピング情報に基づいて、前記第1選択分散コンピューティング資源に対する前記アプリケーションの配置情報と、前記第2選択分散コンピューティング資源に対する通信転送処理の設定情報とをマッピングするステップと
を備えるサービス構築方法。
In a service construction system comprising a distributed computing environment comprising distributed computing resources connected to each other to form a network, and a service construction device for constructing a service in the distributed computing environment,
Generating an application flow analysis result indicating a flow of processing in the service;
Based on the application flow analysis result, among the distributed computing resources, a first selected distributed computing resource for executing an application for realizing the processing and a second selected distribution for executing a communication transfer process between the applications. Generating mapping information assigned with computing resources;
A service construction method comprising: mapping, based on the mapping information, arrangement information of the application with respect to the first selected distributed computing resource and setting information of communication transfer processing with respect to the second selected distributed computing resource.
請求項9に記載のサービス構築方法をコンピュータに実行させるコンピュータプログラム。   A computer program for causing a computer to execute the service construction method according to claim 9.
JP2010062140A 2010-03-18 2010-03-18 Service construction system, apparatus, method, and program Active JP5522525B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010062140A JP5522525B2 (en) 2010-03-18 2010-03-18 Service construction system, apparatus, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010062140A JP5522525B2 (en) 2010-03-18 2010-03-18 Service construction system, apparatus, method, and program

Publications (2)

Publication Number Publication Date
JP2011197866A JP2011197866A (en) 2011-10-06
JP5522525B2 true JP5522525B2 (en) 2014-06-18

Family

ID=44876014

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010062140A Active JP5522525B2 (en) 2010-03-18 2010-03-18 Service construction system, apparatus, method, and program

Country Status (1)

Country Link
JP (1) JP5522525B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9300548B2 (en) 2011-10-14 2016-03-29 Alcatel Lucent Providing dynamic reliability and security in communications environments
US9608932B2 (en) 2013-12-10 2017-03-28 International Business Machines Corporation Software-defined networking single-source enterprise workload manager
CN116471320A (en) * 2017-05-12 2023-07-21 微软技术许可有限责任公司 Intelligent cloud management based on portrait information

Also Published As

Publication number Publication date
JP2011197866A (en) 2011-10-06

Similar Documents

Publication Publication Date Title
US7958184B2 (en) Network virtualization in a multi-node system with multiple networks
JP5159071B2 (en) COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND ITS CONTROL METHOD
US20090019164A1 (en) Dynamically configuring a router to find the best dhcp server
KR20130139897A (en) Debugger launch and attach on compute clusters
JP2007195166A (en) Method, computer program, and apparatus for creation and management of routing table for pci bus address based routing with integrated did
JP5742958B2 (en) Program, information processing apparatus, and route setting method
JP5757325B2 (en) Virtual desktop system, network processing apparatus, management method, and management program
JP5522525B2 (en) Service construction system, apparatus, method, and program
JPWO2014171130A1 (en) Information processing system, deployment method, processing device, and deployment device
CN114726774B (en) Method and device for realizing service chain of cloud platform and cloud platform-based system
JP5482155B2 (en) Information communication system, connection setting device, and connection setting program
WO2012160641A1 (en) Administration device, information processing device, information processing system, data transfer method, path selection program, and transfer request program
JP2016184299A (en) Information processing device and program
EP4296853A1 (en) Dynamic container layer switching
JP4830537B2 (en) Information processing apparatus, control method, and control program
US20220321457A1 (en) Route discovery for failure detection in computer networks
US10148518B2 (en) Method and apparatus for managing computer system
JP7332869B2 (en) Communication program, communication method and communication device
Schweigler et al. pony-The occam-pi Network Environment.
JP4667299B2 (en) Interprocess communication method
JP6554042B2 (en) Data relocation system, data relocation apparatus, and data relocation method
JP2004102931A (en) Automatic processing general-purpose control system, control device, execution device, automatic processing general-purpose control method and device, program and recording medium
WO2024121897A1 (en) Service provision device, replica number determination method, and program
JP7381882B2 (en) Communication control device, communication control system, communication control method and program
JP2006186877A (en) Method for synchronizing packet filter and packet relay system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140327

R150 Certificate of patent or registration of utility model

Ref document number: 5522525

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150