Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6417341B2 - Management device and software component grouping method - Google Patents
[go: Go Back, main page]

JP6417341B2 - Management device and software component grouping method - Google Patents

Management device and software component grouping method Download PDF

Info

Publication number
JP6417341B2
JP6417341B2 JP2016008410A JP2016008410A JP6417341B2 JP 6417341 B2 JP6417341 B2 JP 6417341B2 JP 2016008410 A JP2016008410 A JP 2016008410A JP 2016008410 A JP2016008410 A JP 2016008410A JP 6417341 B2 JP6417341 B2 JP 6417341B2
Authority
JP
Japan
Prior art keywords
hierarchy
pair
layer
software components
group
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
JP2016008410A
Other languages
Japanese (ja)
Other versions
JP2017130005A (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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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 Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016008410A priority Critical patent/JP6417341B2/en
Publication of JP2017130005A publication Critical patent/JP2017130005A/en
Application granted granted Critical
Publication of JP6417341B2 publication Critical patent/JP6417341B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、分散システムに適用されるアプリケーションを構成する複数のソフトウェアコンポーネントの適切な配置を決定する技術に関する。   The present invention relates to a technique for determining an appropriate arrangement of a plurality of software components constituting an application applied to a distributed system.

近年、階層化された分散システムにアプリケーションを適用することが増えている。例えば、図8に示すように、対象とする分散システムは、下位層から順に、データセンタ、同スイッチ配下のラック、物理サーバ、仮想サーバの4つの階層からなる。   In recent years, applications have been increasingly applied to hierarchical distributed systems. For example, as shown in FIG. 8, the target distributed system is composed of four layers of a data center, a rack under the switch, a physical server, and a virtual server in order from the lower layer.

データセンタは、複数設けられている。
1つのデータセンタに、複数のラックが対応して設けられている。
1つのラックに、複数の物理サーバが対応して設けられている。
1つの物理サーバに、複数の仮想サーバが対応して設けられている。
1つの仮想サーバに、複数のプロセスが対応して設けられている。
そして、プロセスに、ソフトウェアコンポーネントが1対1対応で配置(ロード)される。
A plurality of data centers are provided.
A plurality of racks are provided corresponding to one data center.
A plurality of physical servers are provided corresponding to one rack.
A plurality of virtual servers are provided corresponding to one physical server.
A plurality of processes are provided corresponding to one virtual server.
Then, software components are arranged (loaded) in a one-to-one correspondence with the process.

アプリケーションは、複数のソフトウェアコンポーネントから構成される。ここで、ソフトウェアコンポーネントとは、何らかの機能を提供するソフトウェアのひとまとまりを指す。   An application is composed of a plurality of software components. Here, the software component refers to a group of software that provides a certain function.

図8に示す分散システムでは、任意のソフトウェアコンポーネント間で通信が発生する。そして、ソフトウェアコンポーネント同士の通信は、経由する階層が下位層であるほど時間がかかる。つまり、このような階層化された分散システムでは、通信経路が下位層に及ぶほど通信遅延が増大してしまうため、通信頻度の高いソフトウェアコンポーネント間の通信経路が下位層に及んでしまうと、通信遅延の影響が顕著に表れてしまう。   In the distributed system shown in FIG. 8, communication occurs between arbitrary software components. And communication between software components takes time, so that the hierarchy via is a lower layer. In other words, in such a hierarchical distributed system, the communication delay increases as the communication path reaches the lower layer. Therefore, if the communication path between software components with high communication frequency reaches the lower layer, The effect of delay will be noticeable.

したがって、ソフトウェアコンポーネントの配置が処理時間(通信時間)を大きく左右するので、通信遅延を低減するには、ソフトウェアコンポーネント間の通信が、なるべく上位層で行われるようにすることが必要である。   Therefore, since the arrangement of software components greatly affects the processing time (communication time), in order to reduce communication delay, it is necessary to perform communication between software components as much as possible.

このような事情に鑑みて、非特許文献1では、グラフ理論を利用して、通信遅延を低減するように、分散環境におけるソフトウェアコンポーネントの配置最適化の方式について開示されている。   In view of such circumstances, Non-Patent Document 1 discloses a method for optimizing the arrangement of software components in a distributed environment so as to reduce communication delay using graph theory.

小林弘明、他3名、“分散環境におけるソフトウェアコンポーネントの配置最適化”、電子情報通信学会、信学技報、NS2015-17(2015-5)Hiroaki Kobayashi and 3 others, “Optimization of Software Component Placement in a Distributed Environment”, IEICE, IEICE Technical Report, NS2015-17 (2015-5)

分散システムにアプリケーションを適用するにあたり、リソース利用効率の向上、信頼性/可用性の向上などのさまざまな観点から、アプリケーションの要件次第では、所定の制約を設定する必要がある。しかし、そのような制約を満たしつつ、ソフトウェアコンポーネントの配置の最適化を人手で決定するのは容易でない。非特許文献1には、このような問題を解消する記載も示唆もない。   In applying an application to a distributed system, it is necessary to set predetermined constraints depending on application requirements from various viewpoints such as improvement of resource utilization efficiency and improvement of reliability / availability. However, it is not easy to manually determine the placement of software components while satisfying such constraints. Non-Patent Document 1 has neither a description nor a suggestion for solving such a problem.

そこで、本発明は、上記事情に鑑みて、複数階層を有する分散システムに適用されるアプリケーションに対して求める制約を満たしつつ、アプリケーションを構成する複数のソフトウェアコンポーネントの適切な配置を決定することを課題とする。   Therefore, in view of the above circumstances, the present invention has an object to determine an appropriate arrangement of a plurality of software components that constitute an application while satisfying a restriction required for an application applied to a distributed system having a plurality of layers. And

前記課題を解決するために、請求項1に記載の発明は、一番上位の階層となる第1階層から、一番下位の階層となる第N階層(Nは2以上の整数)までのいずれかの階層として機能する機器を有する分散システムに適用されるアプリケーションを構成する複数のソフトウェアコンポーネントの配置を決定する管理装置であって、記ソフトウェアコンポーネントは前記第1階層に配置されており、前記ソフトウェアコンポーネント同士の通信は、同じ機器を経由する、または、前記第N階層となる機器間を経由することで実現され、前記ソフトウェアコンポーネント同士の通信は、経由する機器が示す階層が下位であるほど時間がかかり、第K階層(K=1,2,・・・,N)として機能する機器に対応する前記ソフトウェアコンポーネントは、グルーピング処理をすることで第K階層グループを構成することができ、前記管理装置は、記憶部および処理部を備えており、前記記憶部は、通信する前記ソフトウェアコンポーネントのペアごとの第1の通信頻度、および、前記第1の通信頻度に基づいて決定される、前記第K階層グループのペアごとの第2の通信頻度を示す通信頻度データと、特定の前記ソフトウェアコンポーネントのペアごとに予め決められ、および、特定の前記第K階層グループのペアごとに予め決められた最大距離制約プロパティ値を示す最大距離制約プロパティデータと、を記憶しており、前記処理部は、前記記憶部の通信頻度データを参照し、通信頻度の高いペアから順に、前記ソフトウェアコンポーネント、および、前記第K階層グループのグルーピング処理を、所定の容量制約条件に従い、前記第1階層から前記第N階層まで繰り返し実行する際、前記グルーピング処理が行われる階層が1つ下位の階層に切り替わるたびに、前記最大距離制約プロパティ値をデクリメントし、前記最大距離制約プロパティ値が下限値に達したペアを同じグループに所属させる、ことを特徴とする。 In order to solve the above problems, the invention according to claim 1, either from the first hierarchy of the hierarchy of most higher, up to N-th layer made of the most lower level (N is an integer of 2 or more) a management apparatus for determining the placement of a plurality of software components that make up an application to be applied to a distributed system having a device that functions as Kano hierarchy before Symbol software component is arranged on the first layer, wherein communication between the software components through the same equipment, or the first N is realized by way of the inter-hierarchy comprising equipment, communication between the software components, the hierarchy indicated by the device through which is subordinate more time consuming, the software component that corresponds to the device that functions as a K hierarchy (K = 1,2, ···, N ) May constitute a first K hierarchical group by the grouping processing, the management device includes a storage unit and a processing unit, the storage unit, the software components first each pair of communicating communication frequency, and, wherein is determined based on the first communication frequency, and the communication frequency data indicating the second communication frequency for each pair of the first K hierarchical group, predetermined for each pair of a particular of the software component And maximum distance constraint property data indicating a maximum distance constraint property value determined in advance for each specific pair of the K-th layer group, and the processing unit is configured to store a communication frequency of the storage unit. Referring to the data, in descending order of communication frequency pairs, the software components, and, Gurupin of the first K hierarchical group Processing, in accordance with a predetermined capacity constraint, when you execute repeatedly from said first layer to said N-th layer, each time the hierarchy the grouping process is performed is switched to one lower level, the maximum distance constraint property It decrements the value, the maximum distance constraint property values Ru to belong to the same group of pairs reached the lower limit value, characterized in that.

また、請求項5に記載の発明は、一番上位の階層となる第1階層から、一番下位の階層となる第N階層(Nは2以上の整数)までのいずれかの階層として機能する機器を有する分散システムに適用されるアプリケーションを構成する複数のソフトウェアコンポーネントの配置を決定する管理装置によるソフトウェアコンポーネントグルーピング方法であって、記ソフトウェアコンポーネントは前記第1階層に配置されており、前記ソフトウェアコンポーネント同士の通信は、同じ機器を経由する、または、前記第N階層となる機器間を経由することで実現され、前記ソフトウェアコンポーネント同士の通信は、経由する機器が示す階層が下位であるほど時間がかかり、第K階層(K=1,2,・・・,N)として機能する機器に対応する前記ソフトウェアコンポーネントは、グルーピング処理をすることで第K階層グループを構成することができ、前記管理装置の記憶部は、通信する前記ソフトウェアコンポーネントのペアごとの第1の通信頻度、および、前記第1の通信頻度に基づいて決定される、前記第K階層グループのペアごとの第2の通信頻度を示す通信頻度データと、特定の前記ソフトウェアコンポーネントのペアごとに予め決められ、および、特定の前記第K階層グループのペアごとに予め決められた最大距離制約プロパティ値を示す最大距離制約プロパティデータと、を記憶しており、前記管理装置は、前記記憶部の通信頻度データを参照し、通信頻度の高いペアから順に、前記ソフトウェアコンポーネント、および、前記第K階層グループのグルーピング処理を、所定の容量制約条件に従い、前記第1階層から前記第N階層まで繰り返し実行する際、前記グルーピング処理が行われる階層が1つ下位の階層に切り替わるたびに、前記最大距離制約プロパティ値をデクリメントし、前記最大距離制約プロパティ値が下限値に達したペアを同じグループに所属させる、ことを特徴とする。 The invention described in Claim 5, the first layer comprising a hierarchy of most higher, functions as one of the hierarchy to the N-th layer made of the most lower level (N is an integer of 2 or more) a software component grouping method by the management apparatus to determine the arrangement of a plurality of software components that make up an application to be applied to a distributed system having a device, prior SL software component is arranged in the first hierarchy, the software communication between components is via the same device, or, the first N is realized by way of the inter-hierarchy comprising equipment, communication of the software components each other, as the hierarchy shown is device through which is subordinate time consuming, the K hierarchy (K = 1,2, ···, N ) before corresponding to the device that functions as a Software components may be configured the first K hierarchical group by the grouping processing, storage unit of the management apparatus, a first communication frequency for each pair of said software components that communicate, and the first Communication frequency data indicating a second communication frequency for each pair of the K-th layer group, determined in advance based on a communication frequency , predetermined for each specific software component pair , and the specific Kth Maximum distance constraint property data indicating a maximum distance constraint property value determined in advance for each pair of hierarchical groups, and the management device refers to the communication frequency data of the storage unit, and the communication frequency is high in order from the pair, the software components, and, the grouping process of the first K hierarchical group In accordance with a predetermined capacity constraint, when you execute repeatedly from said first layer to said N-th layer, each time the hierarchy the grouping process is performed is switched to one lower level, decrementing the maximum distance constraint property value And the pair whose maximum distance constraint property value has reached the lower limit value belongs to the same group.

請求項1,5に記載の発明によれば、特定のソフトウェアコンポーネントのペア、および、特定の第K階層グループのペアに最大距離制約プロパティ値を設定することで、通信頻度が低く本来的には別々のグループに配置されてしまうソフトウェアコンポーネントのペア、および、第K階層グループのペアであっても、アプリケーションの要件に対して意図的に同じグループに所属させることができる。
したがって、複数階層を有する分散システムに適用されるアプリケーションに対して求める制約を満たしつつ、アプリケーションを構成する複数のソフトウェアコンポーネントの適切な配置を決定することができる。
According to the first and fifth aspects of the invention, by setting the maximum distance constraint property value to a specific software component pair and a specific Kth layer group pair, the communication frequency is low and is inherently low. Even a pair of software components and a pair of a K-th layer group that are arranged in different groups can be intentionally assigned to the same group with respect to application requirements.
Therefore, it is possible to determine an appropriate arrangement of a plurality of software components that constitute an application while satisfying a restriction required for the application applied to the distributed system having a plurality of hierarchies.

また、請求項2に記載の発明は、請求項1に記載の発明において、前記処理部は、前記最大距離制約プロパティ値が下限値に達したペアを同じグループに所属させると当該グループのキャパシティを超過する場合、当該ペアを構成するソフトウェアコンポーネントまたは第K階層グループをスケールアウトする、ことを特徴とする。   Further, in the invention described in claim 2, in the invention described in claim 1, when the processing unit causes a pair whose maximum distance constraint property value has reached the lower limit value to belong to the same group, the capacity of the group is determined. If the number exceeds, the software component or the K-th layer group constituting the pair is scaled out.

請求項2に記載の発明によれば、最大距離制約プロパティ値が下限値に達したペアを構成するソフトウェアコンポーネントまたは第K階層グループをスケールアウトすることで、これらのソフトウェアコンポーネントまたは第K階層グループが所属するグループを確実に形成することができる。   According to the second aspect of the present invention, by scaling out the software component or the Kth hierarchical group constituting the pair whose maximum distance constraint property value has reached the lower limit value, the software component or the Kth hierarchical group becomes The group to which it belongs can be formed reliably.

また、請求項3に記載の発明は、一番上位の階層となる第1階層から、一番下位の階層となる第N階層(Nは2以上の整数)までのいずれかの階層として機能する機器を有する分散システムに適用されるアプリケーションを構成する複数のソフトウェアコンポーネントの配置を決定する管理装置であって、記ソフトウェアコンポーネントは前記第1階層に配置されており、前記ソフトウェアコンポーネント同士の通信は、同じ機器を経由する、または、前記第N階層となる機器間を経由することで実現され、前記ソフトウェアコンポーネント同士の通信は、経由する機器が示す階層が下位であるほど時間がかかり、第K階層(K=1,2,・・・,N)として機能する機器に対応する前記ソフトウェアコンポーネントは、グルーピング処理をすることで第K階層グループを構成することができ、前記管理装置は、記憶部および処理部を備えており、前記記憶部は、通信する前記ソフトウェアコンポーネントのペアごとの第1の通信頻度、および、前記第1の通信頻度に基づいて決定される、前記第K階層グループのペアごとの第2の通信頻度を示す通信頻度データと、特定の前記ソフトウェアコンポーネントのペアごとに予め決められ、および、特定の前記第K階層グループのペアごとに予め決められた最小距離制約プロパティ値を示す最小距離制約プロパティデータと、を記憶しており、前記処理部は、前記記憶部の通信頻度データを参照し、通信頻度の高いペアから順に、前記ソフトウェアコンポーネント、および、前記第K階層グループのグルーピング処理を、所定の容量制約条件に従い、前記第1階層から前記第N階層まで繰り返し実行する際、前記グルーピング処理が行われる階層が1つ下位の階層に切り替わるたびに、前記最小距離制約プロパティ値をデクリメントし、前記最小距離制約プロパティ値が下限値に達しないペアを同じグループに所属させない、ことを特徴とする。 The invention according to claim 3, the first layer comprising a hierarchy of most higher, functions as one of the hierarchy to the N-th layer made of the most lower level (N is an integer of 2 or more) a management apparatus for determining the placement of a plurality of software components that make up an application to be applied to a distributed system having a device, prior SL software component is arranged on the first layer, wherein the software components communicate with each other is , via the same device, or, the first N is realized by way of the inter-hierarchy comprising equipment, communication of the software components each other, the hierarchy indicated by the device through which the consuming more time is subordinate, the The software component corresponding to the device functioning as the K hierarchy (K = 1, 2,..., N) is subjected to grouping processing. It is possible to constitute the first K hierarchical group by the management device includes a storage unit and a processing unit, wherein the storage unit, the first communication frequency for each pair of said software components that communicate, and Communication frequency data indicating a second communication frequency for each pair of the K-th layer group, determined based on the first communication frequency, predetermined for each specific pair of software components , and Minimum distance constraint property data indicating a predetermined minimum distance constraint property value for each specific pair of the K-th layer group, and the processing unit refers to communication frequency data in the storage unit , in descending order of communication frequency pairs, the software components, and, the grouping process of the first K hierarchical group, predetermined volume According about conditions, when you run repeatedly from said first layer to said N-th layer, each time the hierarchy the grouping process is performed is switched to one lower hierarchy, decrements the minimum distance constraint property value, the minimum distance constraint property value is not such to belong pair does not reach the lower limit value in the same group, characterized in that.

また、請求項6に記載の発明は、一番上位の階層となる第1階層から、一番下位の階層となる第N階層(Nは2以上の整数)までのいずれかの階層として機能する機器を有する分散システムに適用されるアプリケーションを構成する複数のソフトウェアコンポーネントの配置を決定する管理装置によるソフトウェアコンポーネントグルーピング方法であって、記ソフトウェアコンポーネントは前記第1階層に配置されており、前記ソフトウェアコンポーネント同士の通信は、同じ機器を経由する、または、前記第N階層となる機器間を経由することで実現され、前記ソフトウェアコンポーネント同士の通信は、経由する機器が示す階層が下位であるほど時間がかかり、第K階層(K=1,2,・・・,N)として機能する機器に対応する前記ソフトウェアコンポーネントは、グルーピング処理をすることで第K階層グループを構成することができ、前記管理装置の記憶部は、通信する前記ソフトウェアコンポーネントのペアごとの第1の通信頻度、および、前記第1の通信頻度に基づいて決定される、前記第K階層グループのペアごとの第2の通信頻度を示す通信頻度データと、特定の前記ソフトウェアコンポーネントのペアごとに予め決められ、および、特定の前記第K階層グループのペアごとに予め決められた最小距離制約プロパティ値を示す最小距離制約プロパティデータと、を記憶しており、前記管理装置は、前記記憶部の通信頻度データを参照し、通信頻度の高いペアから順に、前記ソフトウェアコンポーネント、および、前記第K階層グループのグルーピング処理を、所定の容量制約条件に従い、前記第1階層から前記第N階層まで繰り返し実行する際、前記グルーピング処理が行われる階層が1つ下位の階層に切り替わるたびに、前記最小距離制約プロパティ値をデクリメントし、前記最小距離制約プロパティ値が下限値に達しないペアを同じグループに所属させない、ことを特徴とする。 The invention of claim 6, the first layer comprising a hierarchy of most higher, functions as one of the hierarchy to the N-th layer made of the most lower level (N is an integer of 2 or more) a software component grouping method by the management apparatus to determine the arrangement of a plurality of software components that make up an application to be applied to a distributed system having a device, prior SL software component is arranged in the first hierarchy, the software communication between components is via the same device, or, the first N is realized by way of the inter-hierarchy comprising equipment, communication of the software components each other, as the hierarchy shown is device through which is subordinate time consuming, the K hierarchy (K = 1,2, ···, N ) before corresponding to the device that functions as a Software components may be configured the first K hierarchical group by the grouping processing, storage unit of the management apparatus, a first communication frequency for each pair of said software components that communicate, and the first Communication frequency data indicating a second communication frequency for each pair of the K-th layer group, determined in advance based on a communication frequency , predetermined for each specific software component pair , and the specific Kth Minimum distance constraint property data indicating a minimum distance constraint property value determined in advance for each pair of hierarchical groups, and the management device refers to the communication frequency data of the storage unit, and the communication frequency is high in order from the pair, the software components, and, the grouping process of the first K hierarchical group In accordance with a predetermined capacity constraint, when you execute repeatedly from said first layer to said N-th layer, each time the hierarchy the grouping process is performed is switched to one lower level, decrementing the minimum distance constraint property value and, wherein the minimum distance constraint property value does not belong to a pair does not reach the lower limit value in the same group, and wherein and this.

請求項3,6に記載の発明によれば、特定のソフトウェアコンポーネントのペア、および、特定の第K階層グループのペアに最小距離制約プロパティ値を設定することで、通信頻度が高く本来的には同じグループに配置されてしまうソフトウェアコンポーネントのペア、および、第K階層グループのペアであっても、アプリケーションの要件に対して意図的に別々のグループに所属させることができる。
したがって、複数階層を有する分散システムに適用されるアプリケーションに対して求める制約を満たしつつ、アプリケーションを構成する複数のソフトウェアコンポーネントの適切な配置を決定することができる。
According to the third and sixth aspects of the invention, by setting the minimum distance constraint property value to a specific software component pair and a specific Kth layer group pair, communication frequency is high and inherently Even a pair of software components and a pair of a Kth hierarchical group that are arranged in the same group can be intentionally assigned to different groups with respect to application requirements.
Therefore, it is possible to determine an appropriate arrangement of a plurality of software components that constitute an application while satisfying a restriction required for the application applied to the distributed system having a plurality of hierarchies.

また、請求項4に記載の発明は、請求項3に記載の発明において、前記記憶部は、特定の前記ソフトウェアコンポーネントのペアごとに予め決められ、および、特定の前記第K階層グループのペアごとに予め決められた最大距離制約プロパティ値を示す最大距離制約プロパティデータをさらに記憶し、前記最小距離制約プロパティデータに基づく前記グルーピング処理、および、前記最大距離制約プロパティデータに基づく前記グルーピング処理のいずれを優先させるかを決定するための優先度を、前記最小距離制約プロパティデータおよび前記最大距離制約プロパティデータに含めて記憶し、前記処理部は、前記グルーピング処理が行われる階層が1つ下位の階層に切り替わるたびに、前記最大距離制約プロパティ値をデクリメントし、前記最大距離制約プロパティ値が下限値に達したペアを同じグループに所属させ、前記最小距離制約プロパティデータの優先度および前記最大距離制約プロパティデータの優先度を参照して、前記最小距離制約プロパティデータに基づく前記グルーピング処理、および、前記最大距離制約プロパティデータに基づく前記グルーピング処理の少なくともいずれかを実行することを特徴とする。 According to a fourth aspect of the present invention, in the third aspect of the present invention, the storage unit is predetermined for each specific pair of software components , and for each specific pair of the Kth hierarchical group. Further storing maximum distance constraint property data indicating a predetermined maximum distance constraint property value, and performing any of the grouping process based on the minimum distance constraint property data and the grouping process based on the maximum distance constraint property data. Priorities for determining whether to prioritize are included in the minimum distance constraint property data and the maximum distance constraint property data, and the processing unit stores the hierarchy in which the grouping process is performed in a lower hierarchy. Each time it switches, the maximum distance constraint property value is decremented, and the previous Pairs whose maximum distance constraint property value has reached the lower limit belong to the same group, and refer to the priority of the minimum distance constraint property data and the priority of the maximum distance constraint property data, to the minimum distance constraint property data the grouping processing based, and characterized by performing at least one of the grouping processing based on the maximum distance constraint property data.

請求項4に記載の発明によれば、最小距離制約プロパティデータおよび最大距離制約プロパティデータに優先度を含めることで、最小距離制約および最大距離制約が競合した場合であっても少なくともいずれかの制約を満たし、ソフトウェアコンポーネントの配置先を確実に決定することができる。   According to the fourth aspect of the present invention, by including priority in the minimum distance constraint property data and the maximum distance constraint property data, even if the minimum distance constraint and the maximum distance constraint conflict, at least one of the constraints And the placement destination of the software component can be determined with certainty.

本発明によれば、複数階層を有する分散システムに適用されるアプリケーションに対して求める制約を満たしつつ、アプリケーションを構成する複数のソフトウェアコンポーネントの適切な配置を決定することができる。   ADVANTAGE OF THE INVENTION According to this invention, the appropriate arrangement | positioning of the several software component which comprises an application can be determined, satisfy | filling the restrictions calculated | required with respect to the application applied to the distributed system which has a several hierarchy.

本実施形態の分散システムと管理装置の全体構成図である。1 is an overall configuration diagram of a distributed system and a management apparatus according to an embodiment. ソフトウェアコンポーネントのグルーピング処理のステップ1の説明図である。It is explanatory drawing of step 1 of the grouping process of a software component. ソフトウェアコンポーネントのグルーピング処理のステップ2の説明図である。It is explanatory drawing of step 2 of the grouping process of a software component. ソフトウェアコンポーネントのグルーピング処理のステップ3の説明図である。It is explanatory drawing of step 3 of the grouping process of a software component. 最大距離制約を考慮したグルーピングの流れの説明図である。It is explanatory drawing of the flow of grouping which considered the maximum distance restriction | limiting. 最大距離制約を満たせないケースの説明図である。It is explanatory drawing of the case where the maximum distance restriction cannot be satisfied. 最大距離制約を考慮したグルーピングの流れの説明図である。It is explanatory drawing of the flow of grouping which considered the maximum distance restriction | limiting. 従来技術の分散システムの説明図である。It is explanatory drawing of the distributed system of a prior art.

以下、本発明に係る分散システム1および管理装置2の実施形態について、図面を参照して説明する。   Hereinafter, embodiments of a distributed system 1 and a management apparatus 2 according to the present invention will be described with reference to the drawings.

図1に示すように、分散システム1は、複数のソフトウェアコンポーネントから構成されるアプリケーションを適用対象とするシステムであり、下位層から順に、データセンタ11、ラック12、物理サーバ13、仮想サーバ14の4つの階層からなる。   As shown in FIG. 1, the distributed system 1 is a system to which an application composed of a plurality of software components is applied. The data center 11, the rack 12, the physical server 13, and the virtual server 14 are sequentially installed from the lower layer. It consists of four layers.

データセンタ11は、複数設けられている。
1つのデータセンタ11に、複数のラック12が対応して設けられている。
1つのラック12に、複数の物理サーバ13が対応して設けられている。
1つの物理サーバ13に、複数の仮想サーバ14が対応して設けられている。
1つの仮想サーバ14に、複数のプロセス15が対応して設けられている。
プロセス15に、ソフトウェアコンポーネント3(以下、符号無しで「ソフトウェアコンポーネント」と称する場合がある。)が1対1対応で配置される。
A plurality of data centers 11 are provided.
A plurality of racks 12 are provided corresponding to one data center 11.
A plurality of physical servers 13 are provided corresponding to one rack 12.
A plurality of virtual servers 14 are provided corresponding to one physical server 13.
A plurality of processes 15 are provided corresponding to one virtual server 14.
In the process 15, software components 3 (hereinafter, may be referred to as “software components” without reference numerals) are arranged in a one-to-one correspondence.

分散システム1において、プロセス15に対応して配置されたソフトウェアコンポーネント同士の通信は、経由する階層が下位層であるほど時間がかかる。例えば、仮想サーバ14を経由するよりも物理サーバ13を経由するほうが、時間がかかる。また、物理サーバ13を経由するよりもラック12を経由するほうが、時間がかかる。さらに、ラック12を経由するよりもデータセンタ11を経由するほうが、時間がかかる。   In the distributed system 1, the communication between the software components arranged corresponding to the process 15 takes time as the passing hierarchy is lower. For example, it takes more time to go through the physical server 13 than through the virtual server 14. Also, it takes more time to go through the rack 12 than through the physical server 13. Furthermore, it takes more time to pass through the data center 11 than through the rack 12.

管理装置2は、分散システム1に適用されるアプリケーションを構成する複数のソフトウェアコンポーネントの配置を決定するコンピュータ装置であり、処理部21、記憶部22、入力部23、出力部24、通信部25を備えて構成される。   The management device 2 is a computer device that determines the arrangement of a plurality of software components that constitute an application applied to the distributed system 1, and includes a processing unit 21, a storage unit 22, an input unit 23, an output unit 24, and a communication unit 25. It is prepared for.

処理部21は、記憶部22に記憶された各データに基づいて、分散システム1に適用されるアプリケーションを構成する複数のソフトウェアコンポーネントの配置を決定する。具体的には、初期配置を決定して実行し、また、再配置を決定し実行する。処理部21は、例えばCPU(Central Processing Unit)によって実現される。   The processing unit 21 determines the arrangement of a plurality of software components that constitute an application applied to the distributed system 1 based on each data stored in the storage unit 22. Specifically, the initial arrangement is determined and executed, and the rearrangement is determined and executed. The processing unit 21 is realized by, for example, a CPU (Central Processing Unit).

記憶部22は、通信頻度データ、グルーピングデータ、マッピングデータ、制約プロパティデータなどを記憶し、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)などによって実現される。   The storage unit 22 stores communication frequency data, grouping data, mapping data, constraint property data, and the like, and is realized by, for example, a RAM (Random Access Memory), a ROM (Read Only Memory), an HDD (Hard Disk Drive), or the like. .

通信頻度データは、ソフトウェアコンポーネントのペアごとの通信頻度のデータであり、例えば、分散システム1へソフトウェアコンポーネントを配置する前に予測したソフトウェアコンポーネント同士の通信頻度のデータである。
その場合、処理部21は、当該通信頻度データに基づき、ソフトウェアコンポーネントを階層的にグルーピングし、分散システム1に対するソフトウェアコンポーネントの初期配置を実行する(詳細は後記)。
The communication frequency data is data of communication frequency for each pair of software components, for example, data of communication frequency between software components predicted before the software components are arranged in the distributed system 1.
In this case, the processing unit 21 hierarchically groups software components based on the communication frequency data, and executes initial arrangement of the software components with respect to the distributed system 1 (details will be described later).

また、通信頻度データは、分散システム1におけるソフトウェアコンポーネント間の実際の通信頻度を集計したデータであってもよい。
その場合、処理部21は、当該通信頻度データに基づき、ソフトウェアコンポーネントを階層的にグルーピングし、分散システム1に対するソフトウェアコンポーネントの再配置を実行する(詳細は後記)。
Further, the communication frequency data may be data obtained by tabulating actual communication frequencies between software components in the distributed system 1.
In this case, the processing unit 21 hierarchically groups software components based on the communication frequency data, and executes rearrangement of the software components with respect to the distributed system 1 (details will be described later).

グルーピングデータは、処理部21が記憶部22の通信頻度データに基づいてソフトウェアコンポーネント間の通信がなるべく上位層で行われるようにソフトウェアコンポーネントのグルーピングを行った結果のデータである。   The grouping data is data obtained as a result of grouping the software components so that the processing unit 21 performs communication between the software components in an upper layer as much as possible based on the communication frequency data in the storage unit 22.

マッピングデータは、処理部21が記憶部22のグルーピングデータに基づいて分散システム1に対するソフトウェアコンポーネントの配置(マッピング)を行った結果のデータである。   The mapping data is data obtained as a result of the processing unit 21 placing (mapping) software components on the distributed system 1 based on the grouping data in the storage unit 22.

制約プロパティデータは、ソフトウェアコンポーネントのペアに付与されるプロパティ値を含むデータである。また、制約プロパティデータは、ソフトウェアコンポーネントのグループのペアに付与されるプロパティ値も含むことができる。これらのプロパティ値は、分散システム1に適用されるアプリケーションに求める制約を表現する(詳細は後記)。   The constraint property data is data including a property value given to a pair of software components. The constraint property data can also include property values that are assigned to pairs of software component groups. These property values express constraints required for the application applied to the distributed system 1 (details will be described later).

入力部23は、管理装置2のユーザが情報を入力するための入力インタフェースであり、例えばキーボード、マウス、タッチパネルなどによって実現される。
出力部24は、情報を出力するための出力インタフェースであり、例えば、液晶画面表示装置により実現される。
通信部25は、分散システム1などの外部装置との通信を行うための通信インタフェースである。
The input unit 23 is an input interface for the user of the management apparatus 2 to input information, and is realized by a keyboard, a mouse, a touch panel, or the like, for example.
The output unit 24 is an output interface for outputting information, and is realized by, for example, a liquid crystal screen display device.
The communication unit 25 is a communication interface for performing communication with an external device such as the distributed system 1.

次に、本実施形態における処理の概要を説明する。なお、説明を簡潔にするために、処理主体が管理装置2の処理部21であることや、その処理部21が記憶部22の各データを用いることなどの記載は、適宜省略する。   Next, an outline of processing in the present embodiment will be described. For the sake of brevity, descriptions that the processing subject is the processing unit 21 of the management apparatus 2 and that the processing unit 21 uses each data in the storage unit 22 are omitted as appropriate.

また、第1階層グループとは、通信頻度が高いソフトウェアコンポーネント(各図では単に「コンポーネント」と記載している場合もある。)をグルーピングしたグループである。そして、1つの第1階層グループは、1つの仮想サーバ14に対応する。   The first hierarchy group is a group in which software components with high communication frequency (in some cases, simply described as “components”) are grouped. One first hierarchy group corresponds to one virtual server 14.

また、第2階層グループとは、通信頻度が中程度のソフトウェアコンポーネントをグルーピングしたグループである。つまり、通信頻度が中程度のソフトウェアコンポーネントのペアは、第1階層グループとしてはグルーピングされていないが、第2階層グループとしてグルーピングされることになる。そして、1つの第2階層グループは、1つの物理サーバ13に対応する。   The second hierarchy group is a group in which software components having a medium communication frequency are grouped. That is, a pair of software components having a medium communication frequency is not grouped as a first hierarchy group, but is grouped as a second hierarchy group. One second hierarchy group corresponds to one physical server 13.

また、第3階層グループとは、通信頻度が低いソフトウェアコンポーネントをグルーピングしたグループである。つまり、通信頻度が低いソフトウェアコンポーネントのペアは、第1階層グループ、第2階層グループとしてはグルーピングされていないが、第3階層グループとしてグルーピングされることになる。そして、1つの第3階層グループは、1つのラック12に対応する。   The third hierarchy group is a group in which software components with low communication frequency are grouped. That is, a pair of software components with low communication frequency is not grouped as a first hierarchy group or a second hierarchy group, but is grouped as a third hierarchy group. One third hierarchy group corresponds to one rack 12.

なお、図1には図示していないが、図4に図示しているように、第4階層グループとは、通信頻度がさらに低いソフトウェアコンポーネントをグルーピングしたグループである。つまり、通信頻度がさらに低いソフトウェアコンポーネントのペアは、第1階層グループ、第2階層グループ、第3階層グループとしてはグルーピングされていないが、第4階層グループとしてグルーピングされることになる。そして、1つの第4階層グループは、1つのデータセンタ11に対応する。   Although not shown in FIG. 1, as shown in FIG. 4, the fourth hierarchical group is a group in which software components having a lower communication frequency are grouped. That is, a pair of software components having a lower communication frequency is not grouped as a first hierarchy group, a second hierarchy group, or a third hierarchy group, but is grouped as a fourth hierarchy group. One fourth hierarchy group corresponds to one data center 11.

本実施形態では、通信頻度が高いソフトウェアコンポーネントのペアがなるべく上位層で通信できるよう、ソフトウェアコンポーネント間の通信頻度に基づいてソフトウェアコンポーネントを階層的にグルーピングする(図1の符号A)。
そして、そのグルーピング結果に基づいて、分散システム1にソフトウェアコンポーネントを配置する(符号B。マッピング。)。
In the present embodiment, software components are hierarchically grouped based on the communication frequency between software components so that a pair of software components having a high communication frequency can communicate with each other as much as possible (reference A in FIG. 1).
Then, based on the grouping result, software components are arranged in the distributed system 1 (symbol B. Mapping).

記憶部22の通信頻度データは、ソフトウェアコンポーネントのペアごとの通信頻度だけでなく、第K階層グループ(Kは1以上の整数であり、本実施形態ではK=1,2,3,4。)のペア(第K階層グループ間)ごとの通信頻度のデータも含む。第K階層グループのペアの通信頻度を決定する方法については後記する。   The communication frequency data in the storage unit 22 includes not only the communication frequency for each pair of software components, but also the Kth hierarchical group (K is an integer of 1 or more, and in this embodiment, K = 1, 2, 3, 4). The communication frequency data for each pair (between the K-th layer groups) is also included. A method for determining the communication frequency of the pair of the Kth hierarchical group will be described later.

本実施形態によるグルーピング処理は、次のステップ1〜4により実現できる。なお、ここでは、ソフトウェアコンポーネントの初期配置ではなく再配置の場合を例にとって説明する。   The grouping process according to the present embodiment can be realized by the following steps 1 to 4. Here, the case where the software components are rearranged instead of the initial arrangement is described as an example.

<ステップ1>
アプリケーションを構成するすべてのソフトウェアコンポーネント間の通信回数(通信頻度)を一定期間計測する。
<ステップ2>
ソフトウェアコンポーネント間の通信頻度(記憶部22の通信頻度データ)に基づき、ソフトウェアコンポーネントの第1階層でのグルーピングを実行する。
<Step 1>
Measure the number of communications (communication frequency) between all software components that make up the application for a certain period.
<Step 2>
Based on the communication frequency between the software components (communication frequency data in the storage unit 22), grouping of the software components in the first layer is executed.

<ステップ3>
グルーピングを階層的に繰り返し実行する。つまり、第K階層グループについて、Kをインクリメントして順次グルーピングを実行する。
<ステップ4>
階層的にグルーピングしたソフトウェアコンポーネントを、階層化された分散システム1へ対応付けて配置する。
<Step 3>
Repeat grouping hierarchically. That is, for the Kth hierarchical group, grouping is sequentially performed by incrementing K.
<Step 4>
The hierarchically grouped software components are arranged in association with the hierarchical distributed system 1.

[ステップ1の詳述]
ステップ1について詳述すると、図2に示すように、アプリケーションを構成するソフトウェアコンポーネントの集合Sに含まれるソフトウェアコンポーネントs,s間の通信回数をc(s,s)として、本ステップによりcの集合C={c(s,s)|s<s∧s∈S∧s∈S}を得る。例えば、s1,s2の間の通信回数が18回であることは、c(s1,s2)=18と表すことができる。
[Details of Step 1]
The step 1 will be described in detail. As shown in FIG. 2, the number of times of communication between the software components s n and s m included in the set S of software components constituting the application is c (s n , s m ). To obtain a set C of c = {c (s n , s m ) | s n <s m ∧s n ∈ S ∧s m ∈ S}. For example, the number of communications between s1 and s2 being 18 can be expressed as c (s1, s2) = 18.

[ステップ2の詳述]
また、ステップ2について詳述すると、まず、通信するソフトウェアコンポーネントのすべてのペアについて、通信頻度の高いペアから順に、ペアを同じ第1階層グループに所属させるか、または、所定の第1容量制約条件によりペアを同じ第1階層グループに所属させられない場合には、ペアの通信頻度を、それぞれが所属する第1階層グループ間の通信頻度として加算することで、第1階層グルーピングを完了する。第1容量制約条件としての上限値は、例えば、一つの仮想サーバ14上に配置可能なソフトウェアコンポーネントの数などである。
[Details of Step 2]
Further, step 2 will be described in detail. First, for all pairs of software components to be communicated, pairs are assigned to the same first hierarchical group in order from the pair with the highest communication frequency, or a predetermined first capacity constraint condition is set. If the pair cannot belong to the same first hierarchy group, the first hierarchy grouping is completed by adding the communication frequency of the pair as the communication frequency between the first hierarchy groups to which each pair belongs. The upper limit value as the first capacity constraint condition is, for example, the number of software components that can be arranged on one virtual server 14.

その後、通信する第1階層グループのすべてのペアについて、通信頻度の高いペアから順に、ペアを同じ第2階層グループに所属させるか、または、所定の第2容量制約条件によりペアを同じ第2階層グループに所属させられない場合には、ペアの通信頻度を、それぞれが所属する第2階層グループ間の通信頻度として加算することで、第2階層グルーピングを完了する。
その後、さらに、同様のグルーピング処理を第N階層(Nは2以上の整数)まで繰り返し実行する。
Then, for all pairs in the first layer group to communicate, in order from the pair with the highest communication frequency, the pairs belong to the same second layer group, or the pairs are set to the same second layer according to a predetermined second capacity constraint condition. When it is not possible to belong to a group, the second layer grouping is completed by adding the communication frequency of the pair as the communication frequency between the second layer groups to which each belongs.
Thereafter, the same grouping process is repeated until the Nth layer (N is an integer of 2 or more).

このステップ2を実現するための具体的なステップ2−1〜2−5について、図3を参照して説明する。
ステップ2−1では、集合Cの要素c(s,s)を降順にソートする。
次に、ステップ2−2では、先頭の要素c(s,s)を取得する。つまり、通信回数の多いペアからグルーピング処理を実行する。
次に、ステップ2−3では、判定アルゴリズムに基づいてグルーピング条件判定を行う。この判定アルゴリズムについては後記する。
Specific steps 2-1 to 2-5 for realizing step 2 will be described with reference to FIG.
In step 2-1, the elements c (s n , s m ) of the set C are sorted in descending order.
Next, in step 2-2, the top element c (s n , s m ) is acquired. That is, the grouping process is executed from the pair with the highest communication count.
Next, in step 2-3, grouping condition determination is performed based on a determination algorithm. This determination algorithm will be described later.

次に、ステップ2−4では、適切なグループgへソフトウェアコンポーネントs,sを追加する。この際、符号2−4−1に示すように、一例として、c(s,s)を処理する場合、例えば、既にsが属していたグループgへsを挿入することが考えられる。その場合、そのペアの通信回数c(s,s)は保存される。 Next, in step 2-4, adding software components s n, s m to the appropriate group g. At this time, as shown by reference numeral 2-4-1, for example, when c (s 3 , s 9 ) is processed, for example, s 9 may be inserted into the group g 3 to which s 3 already belongs. Conceivable. In that case, the communication count c (s n , s m ) of the pair is stored.

また、符号2−4−2に示すように、ペア(sとs)が別グループg,gに分かれる場合、グループg,g間の通信回数c(g,g)に、そのペアの通信回数c(s,s)を加算(カウント)する。例えば、ペア(sとs11)が別グループg,gに分かれる場合、ペア(sとs11)の通信回数c(sとs11)をグループg,g間の通信回数c(g,g)に加算してc(g,g)=79とする。 Further, as indicated by reference numeral 2-4-2, if the pair (s n and s m) is divided into different groups g o, g p, the group g o, the number of communications between the g p c g (g o, g p )) is added (counted) to the communication count c (s n , s m ) of the pair. For example, when the pair (s 8 and s 11 ) is divided into different groups g 1 and g 2 , the communication count c (s 8 and s 11 ) of the pair (s 8 and s 11 ) is changed between the groups g 1 and g 2 . Add to the number of communication times c g (g 1 , g 2 ) to obtain c g (g 1 , g 2 ) = 79.

次に、ステップ2−5(不図示)では、ステップ2−2〜2−4を、通信回数の多いものから順次、繰り返し実行する。
つまり、集合Cのすべての要素に対してステップ2−2〜2−4を実行する。
このようにして、ステップ2を実現することができる。
Next, in step 2-5 (not shown), steps 2-2 to 2-4 are repeatedly executed sequentially from the one with the largest number of communications.
That is, Steps 2-2 to 2-4 are executed for all elements of the set C.
In this way, step 2 can be realized.

ステップ2−3で用いる判定アルゴリズムは、s,sを以下のケース1〜ケース4に場合分けする。 Determination algorithm used in step 2-3, s n, for case analysis the s m in the following cases 1 4.

ケース1:s,sのいずれも既存のグループに属さない場合
ケース2:s,sのどちらか一方だけ既存のグループに属する場合
ケース3:s,sのそれぞれが既存の別々のグループに属する場合
ケース4:s,sの両方が既存の同じグループに属する場合
Case 1: s n, if none of s m does not belong to an existing group Case 2: s n, if case belonging to one or the other only existing group of s m 3: s n, each s m is an existing When belonging to different groups Case 4: When both s n and s m belong to the same existing group

ケース1の場合、新しいグループを作成し、判定対象のコンポーネントペアs,sをそのグループに入れる。その場合、そのペアの通信回数c(s,s)は保存される。 In case 1, a new group is created, and the component pairs s n and s m to be determined are placed in the group. In that case, the communication count c (s n , s m ) of the pair is stored.

ケース2の場合、sが既存のグループgに属すると仮定すると、(a)グループgの要素数が上限値に達していないときは、第1容量制約条件を満たすことができ、gにsを挿入する。その場合、判定対象のコンポーネントペアの通信回数c(s,s)は保存される。(b)一方、グループgの要素数がすでに上限値に達しているときは、第1容量制約条件を満たせることができず、新たなグループgを作成し、グループgにsを挿入する。さらに、グループ間の通信回数c(g,g)に、判定対象のコンポーネントペアの通信回数c(s,s)を加算する。
なお、既存のグループgに属するのがsではなくsの場合も同様である。
Case 2, when s n is assumed to belong to an existing group g o, can first capacitor satisfying the constraint condition when it does not reach the upper limit number of elements (a) Group g o, g to insert a s m to o. In this case, the communication count c (s n , s m ) of the determination target component pair is stored. (B) On the other hand, when the number of elements of group g o has already reached the upper limit value can not satisfy the first capacitor constraint, to create a new group g p, the s m to the group g p insert. Furthermore, the number of communications between the groups c g (g o, g p ) , the added number of communications c component pair determination target (s n, s m).
The same applies to the case of an existing group g o belongs to within s n rather s m.

ケース3の場合、s,sのそれぞれが既存の別々のグループg,gに属すると仮定すると、(a)グループg,gをマージ(統合)しても、マージしたグループの要素数の合計が上限値を超えないときは、第1容量制約条件を満たすことができ、gとgをマージ(統合)する。その場合、判定対象のコンポーネントペアの通信回数c(s,s)は保存される。(b)一方、グループg,gをマージすると、マージしたグループの要素数の合計が上限値を超えてしまうときは、第1容量制約条件を満たすことができず、マージはしない。この場合、グループg,g間の通信回数c(g,g)に、判定対象のコンポーネントペアの通信回数c(s,s)を加算する(元々、互いに独立していたグループg,gを、通信回数c(s,s)を用いて関連付ける)。 In case 3, it is assumed that s n and s m belong to existing separate groups g o and g p . (A) Even if the groups g o and g p are merged (merged), the merged group when the element total number of does not exceed the upper limit, it is possible first capacitor satisfying the constraint condition, merges g o and g p (integration) is. In this case, the communication count c (s n , s m ) of the determination target component pair is stored. (B) On the other hand, when the groups g o and g p are merged, when the total number of elements of the merged group exceeds the upper limit value, the first capacity constraint condition cannot be satisfied and the merge is not performed. In this case, the group g o, the number of communications between the g p c g (g o, g p) , the number of communications c (s n, s m) of component pairs to be determined is added to (originally independent of each other The groups g o and g p are associated with each other using the communication count c (s n , s m ).

ケース4の場合、グルーピングはそのままで、判定対象のコンポーネントペアの通信回数c(s,s)の情報を追加する。 In case 4, the grouping is left as is, and information on the number of communication times c (s n , s m ) of the component pair to be determined is added.

[ステップ3の詳述]
また、ステップ3について詳述すると、ステップ2と同様のグルーピングを階層的に繰り返し実行する。つまり、ステップ2ですでに第1階層グループとしてのグルーピングが完了しているので、まず、第1階層グループ単位でグルーピングを行って第2階層グループを作成し、その第2階層グループ単位でグルーピングを行って第3階層グループを作成し、という処理を最終の第N階層グループを作成するまで行う。
[Details of Step 3]
Further, step 3 will be described in detail. The same grouping as in step 2 is repeatedly executed hierarchically. In other words, since grouping as the first hierarchical group has already been completed in step 2, first, grouping is performed in units of the first hierarchical group to create a second hierarchical group, and grouping is performed in units of the second hierarchical group. The third hierarchy group is created by performing the process until the final Nth hierarchy group is created.

このステップ3に関し、第1階層グループのグルーピング結果に基づいて次のグルーピングを行う具体的な手順であるステップ3−1〜3−5について、図4を参照して説明する。なお、ステップ2で用いていた所定の第1容量制約条件の代わりに、ステップ3では第2階層グループに所属させることができる第1階層グループの数の上限値である所定の第2容量制約条件を用いる。この所定の第2容量制約条件としての上限値は、例えば、一つの物理サーバ13上に搭載可能な仮想サーバ14の数などである。第2容量制約条件は、一般的に、第K階層グループに所属させることができる第(K−1)階層グループの数の上限値として用いることができる(第0階層グループは、ソフトウェアコンポーネントとみなす)。   Regarding step 3, steps 3-1 to 3-5, which are specific procedures for performing the next grouping based on the grouping result of the first hierarchy group, will be described with reference to FIG. Instead of the predetermined first capacity constraint condition used in step 2, a predetermined second capacity constraint condition that is the upper limit value of the number of first hierarchy groups that can belong to the second hierarchy group in step 3 is used. Is used. The upper limit value as the predetermined second capacity constraint condition is, for example, the number of virtual servers 14 that can be mounted on one physical server 13. The second capacity constraint condition can be generally used as an upper limit value of the number of (K-1) layer groups that can belong to the Kth layer group (the 0th layer group is regarded as a software component). ).

ステップ3−1では、集合Cの要素c(g,g)を降順にソートする。
次に、ステップ3−2では、先頭の要素c(g,g)を取得する。つまり、通信回数の多いペアからグルーピング処理を実行する。
次に、ステップ3−3では、判定アルゴリズムに基づいてグルーピング条件判定を行う。この判定アルゴリズムについては、ステップ2における判定アルゴリズムと同様であるので、説明を省略する。
In step 3-1, the elements c g (g n , g m ) of the set C g are sorted in descending order.
Next, in step 3-2, the leading element c g (g n , g m ) is acquired. That is, the grouping process is executed from the pair with the highest communication count.
Next, in step 3-3, grouping condition determination is performed based on a determination algorithm. Since this determination algorithm is the same as the determination algorithm in step 2, description thereof is omitted.

次に、ステップ3−4では、適切なグループ(第2階層グループ)へg,gを追加する。この際、ステップ2−4と同様、ペア(g,g)が別グループに分かれる場合、そのグループ間の通信回数に、そのペアの通信回数c(g,g)を加算する。 Next, in step 3-4, g n and g m are added to an appropriate group (second hierarchical group). At this time, as in step 2-4, when the pair (g n , g m ) is divided into different groups, the communication count c g (g o , g p ) of the pair is added to the communication count between the groups. .

次に、ステップ3−5(不図示)では、ステップ3−2〜3−4を繰り返し実行する。つまり、集合Cのすべての要素に対してステップ3−2〜3−4を実行する。 Next, in step 3-5 (not shown), steps 3-2 to 3-4 are repeatedly executed. In other words, performing step 3-2~3-4 for all elements in the set C g.

このようなステップ3を、最終階層グループを作成するまで行う。最終階層グループが第4階層グループである場合、階層的なグルーピングが完了した状態は、図4(b)に示す通りである。このグルーピングの結果のデータは、記憶部22のグルーピングデータとして記憶される。   Such step 3 is performed until the final hierarchy group is created. When the final hierarchy group is the fourth hierarchy group, the state where the hierarchical grouping is completed is as shown in FIG. 4B. The grouping result data is stored as grouping data in the storage unit 22.

[ステップ4の詳述]
同じ第1階層グループ内のソフトウェアコンポーネントは、同じ仮想サーバ14内に配置される。また、同じ第2階層グループ内の第1階層グループは、同じ物理サーバ13内に配置される。また、同じ第3階層グループ内の第2階層グループは、同じラック12内に配置される。また、同じ第4階層グループ内の第3階層グループは、同じデータセンタ11内に配置される。このソフトウェアコンポーネントの配置のデータは、記憶部22のマッピングデータとして記憶される。
[Details of Step 4]
Software components in the same first hierarchy group are arranged in the same virtual server 14. Further, the first hierarchy group in the same second hierarchy group is arranged in the same physical server 13. Further, the second hierarchy group in the same third hierarchy group is arranged in the same rack 12. Further, the third hierarchy group in the same fourth hierarchy group is arranged in the same data center 11. The software component arrangement data is stored as mapping data in the storage unit 22.

(最大距離制約)
本実施形態の管理装置2が上記のステップ1〜4の処理を実行すれば、通信頻度の高いペアを構成するソフトウェアコンポーネント同士の通信、および、通信頻度の高いペアを構成する第K階層グループの各々に所属するソフトウェアコンポーネント同士の通信が上位層を経由するようにソフトウェアコンポーネントを配置し、下位層の通信を減らし、分散システム1における通信遅延を低減することができる。このことは、通信頻度の低いペアは別々のグループに(遠くに)配置される傾向にあることを意味する。
(Maximum distance constraint)
If the management apparatus 2 of this embodiment performs the process of said step 1-4, communication of the software components which comprise a pair with high communication frequency, and the Kth hierarchy group which comprises a pair with high communication frequency Software components can be arranged so that communication between software components belonging to each route passes through an upper layer, communication in lower layers can be reduced, and communication delay in the distributed system 1 can be reduced. This means that pairs with low communication frequency tend to be placed (distant) in separate groups.

しかし、分散システム1に適用されるアプリケーションの要件次第では、通信頻度の低いペアを同じグループに(近くに)配置するという制約(最大距離制約)を設定する必要がある。例えば、複数のソフトウェアコンポーネントに関連する処理のリアルタイム要件が厳しく、それらのソフトウェアコンポーネント間の通信頻度が低くても、それらのソフトウェアコンポーネントを同じ物理サーバ13に配置する必要がある。   However, depending on the requirements of the application applied to the distributed system 1, it is necessary to set a constraint (maximum distance constraint) that a pair with low communication frequency is placed (close) in the same group. For example, even if the real-time requirements for processing related to a plurality of software components are strict and the communication frequency between the software components is low, the software components need to be arranged on the same physical server 13.

この場合、ある程度の通信遅延を許容する(例えば、遅延1msec以下)ように制約条件を設定する。具体的には、ソフトウェアコンポーネントのペア、および、第K階層グループのペアに、最大距離制約プロパティ値p(pは1以上の整数)を付与する。ここで、第K階層グループのペアに最大距離制約プロパティ値pを付与するとは、第K階層グループの各々に所属するソフトウェアコンポーネントのペアに最大距離制約プロパティ値pを付与することを意味し、本質的には、最大距離制約プロパティ値pは、ソフトウェアコンポーネント間に設定される値である。そこで、ソフトウェアコンポーネントおよび第K階層グループを「ノード」と総称し、ノードのペアに最大距離制約プロパティ値pを付与するとして説明を続ける。   In this case, the constraint condition is set so as to allow a certain amount of communication delay (for example, a delay of 1 msec or less). Specifically, a maximum distance constraint property value p (p is an integer equal to or greater than 1) is assigned to a pair of software components and a pair of a Kth hierarchical group. Here, giving the maximum distance constraint property value p to the pair of the Kth hierarchy group means giving the maximum distance constraint property value p to the pair of software components belonging to each of the Kth hierarchy group. Specifically, the maximum distance constraint property value p is a value set between software components. Therefore, the software component and the Kth hierarchy group are collectively referred to as “nodes”, and the description will be continued assuming that the maximum distance constraint property value p is given to a pair of nodes.

最大距離制約プロパティ値pは、ステップ2,3で説明したグルーピング処理が行われる階層が1つ下位の階層に切り替わるたびにデクリメントする。また、最大距離制約プロパティ値pは、下限値(p=1)に達した場合、対応するノードのペアは、通信頻度に関わらず、最優先で同じグループに所属させる。最大距離制約プロパティ値pは、ノードのペアごとに、記憶部22の制約プロパティデータ(ここでは、最大距離制約プロパティデータ)のプロパティ値として記憶される。   The maximum distance constraint property value p is decremented each time the hierarchy on which the grouping process described in steps 2 and 3 is performed is switched to a hierarchy one level lower. When the maximum distance constraint property value p reaches the lower limit value (p = 1), the corresponding node pair is assigned to the same group with the highest priority regardless of the communication frequency. The maximum distance constraint property value p is stored as a property value of constraint property data (here, maximum distance constraint property data) in the storage unit 22 for each pair of nodes.

上記の具体的なステップA−1〜A−5について、図5を参照して説明する。
ステップA−1では、例えば、管理装置2のオペレータが最大距離制約の内容(例:遅延1msec以下)を入力し、制約を指定する。
次に、ステップA−2では、指定された制約を、グルーピング処理に適合するように変換する。例えば、遅延1msec以下、という最大距離制約は、第3階層以上(下位)で同じグループに所属させる、という内容に変換される。このとき、最大距離制約プロパティ値pは3となる。図5では、特定のノードn,nのペアに対して、p=3(四角の囲み付き数値として図示)を初期値として付与されることが図示されており、pは制約プロパティデータとして保存される。
The specific steps A-1 to A-5 will be described with reference to FIG.
In step A-1, for example, the operator of the management apparatus 2 inputs the content of the maximum distance constraint (eg, delay of 1 msec or less) and designates the constraint.
Next, in step A-2, the designated constraint is converted so as to be suitable for the grouping process. For example, the maximum distance constraint of a delay of 1 msec or less is converted into the content of belonging to the same group at the third layer or higher (lower level). At this time, the maximum distance constraint property value p is 3. FIG. 5 shows that p = 3 (shown as a boxed numerical value) is given as an initial value to a specific pair of nodes n 1 and n 8 , and p is the constraint property data. Saved.

次に、ステップA−3では、ステップ2,3で説明したグルーピング処理が行われる階層が1つ下位の階層に切り替わるたびにpをデクリメントする(プロパティ値の操作)。図5では、初期値が3となる最大距離制約プロパティ値pは、第1階層グルーピング(ステップ2に相当)が終了すると2となり、第2階層グルーピング(ステップ3に相当)が終了すると1となることが図示されている。   Next, in step A-3, p is decremented every time the hierarchy in which the grouping process described in steps 2 and 3 is performed is switched to the next lower hierarchy (operation of property values). In FIG. 5, the maximum distance constraint property value p having an initial value of 3 is 2 when the first layer grouping (corresponding to step 2) is completed, and is 1 when the second layer grouping (corresponding to step 3) is completed. This is illustrated.

次に、ステップA−4では、ステップ3−1(図4)にて集合Cの要素c(g,g)を降順にソートする際(pの初期値が1の場合、ステップ2−1(図3)にて集合Cの要素c(s,s)を降順にソートする際)、p=1となったノードのペアを先頭に(優先的に)配置する。図5では、p=1となったノードn,nのペアが先頭に配置されていることが図示されている。 Next, in step A-4, when the elements c g (g n , g m ) of the set C g are sorted in descending order in step 3-1 (FIG. 4) (if the initial value of p is 1, the step 2) (when sorting the elements c (s n , s m ) of the set C in descending order) in FIG. 2A (FIG. 3), the pair of nodes with p = 1 is arranged at the top (priority). FIG. 5 shows that a pair of nodes n 1 and n 8 with p = 1 is arranged at the head.

次に、ステップA−5では、ステップ2,3と同様に、判定アルゴリズムに基づいて先頭の要素からグルーピング条件判定を行う。このとき、p=1となったノードのペアは、すでに説明したケース1〜4に該当してもしなくても、同じグループに所属するように判定する。図5では、先頭に配置されたノードn,nのペアがグループgに配置されたことが図示されている。 Next, in step A-5, as in steps 2 and 3, grouping condition determination is performed from the top element based on the determination algorithm. At this time, the pair of nodes for which p = 1 is determined to belong to the same group, regardless of whether the cases 1 to 4 have already been described. FIG. 5 shows that a pair of nodes n 1 and n 8 arranged at the head is arranged in the group g 1 .

上記のような最大距離制約プロパティ値を導入した態様でステップ1〜4の処理が実行される。すると、最大距離制約を満たしつつ、ソフトウェアコンポーネントの配置を最適化することができる。   The processes of steps 1 to 4 are executed in a manner in which the maximum distance constraint property value as described above is introduced. Then, it is possible to optimize the arrangement of software components while satisfying the maximum distance constraint.

ステップA−1〜A−5の処理を徹底すると、複数のソフトウェアコンポーネントに対して最大距離制約を同時に満たせない場合がある。例えば、図6(a)に示すように、ノードnとのペアを形成し、最大距離制約プロパティ値pが1となる多数のノードn〜nが存在する場合を考える。この場合、ノードn〜n、nとで1つのグループを形成したいが、第1容量制約条件または第2容量制約条件を満たさなければならないためにキャパシティ(容量)超過となり、グループを形成できない。 If the processes in steps A-1 to A-5 are thoroughly performed, the maximum distance constraint may not be satisfied simultaneously for a plurality of software components. For example, as shown in FIG. 6A, consider a case where a pair with a node n 8 is formed and there are a large number of nodes n 1 to n 6 having a maximum distance constraint property value p of 1. In this case, it is desired to form one group with the nodes n 1 to n 6 and n 8 , but the capacity (capacity) is exceeded because the first capacity constraint condition or the second capacity constraint condition must be satisfied. It cannot be formed.

この場合、図6(b)に示すようにノード(ここでは、ノードnとするが、他のノードでもよい)をスケールアウトする。そして、第1容量制約条件または第2容量制約条件を満たす複数のグループg,gを形成し、グループg,gの各々で最大距離制約を満たすようにノードn〜nを配置すればよい。 In this case, the node as shown in FIG. 6 (b) (here, although the node n 8, which may be a other node) to scale out. Then, a plurality of groups g 1 and g 2 satisfying the first capacity constraint condition or the second capacity constraint condition are formed, and the nodes n 1 to n 6 are set so as to satisfy the maximum distance constraint in each of the groups g 1 and g 2. What is necessary is just to arrange.

また、第1容量制約条件または第2容量制約条件を満たさなければならないためにキャパシティ(容量)超過となり、グループを形成できない場合には、その旨を所定の態様で管理者にアラーム通知してもよい。   If the capacity (capacity) is exceeded because the first capacity constraint condition or the second capacity constraint condition must be satisfied and a group cannot be formed, an alarm notification is sent to the administrator in a predetermined manner. Also good.

(最小距離制約)
また、本実施形態のソフトウェアコンポーネントに配置の最適化によれば、通信頻度の高いペアを同じグループに(近くに)配置される傾向にある。しかし、分散システム1に適用されるアプリケーションの要件次第では、通信頻度の高いペアを別々のグループに(遠くに)配置するという制約(最小距離制約)を設定する必要がある。例えば、激甚災害に備えて、高い通信頻度を有する複数のソフトウェアコンポーネントを別々のラックに配置する必要がある。
(Minimum distance constraint)
Further, according to the optimization of the arrangement in the software component of the present embodiment, pairs having a high communication frequency tend to be arranged (close) in the same group. However, depending on the requirements of the application applied to the distributed system 1, it is necessary to set a constraint (minimum distance constraint) in which pairs with high communication frequency are arranged (distantly) in different groups. For example, in preparation for a catastrophic disaster, it is necessary to arrange a plurality of software components having high communication frequency in different racks.

この場合、ある程度の可用性を許容する(例えば、ラック電源断に耐える冗長化)ように制約条件を設定する。具体的には、最大距離制約プロパティ値pと同様、ノードのペアに、最小距離制約プロパティ値q(qは0以上の整数)を付与する。   In this case, the constraint condition is set so as to allow a certain level of availability (for example, redundancy to withstand rack power interruption). Specifically, similarly to the maximum distance constraint property value p, a minimum distance constraint property value q (q is an integer of 0 or more) is assigned to a pair of nodes.

最小距離制約プロパティ値qは、ステップ2,3で説明したグルーピング処理が行われる階層が1つ下位の階層に切り替わるたびにデクリメントする。また、最小距離制約プロパティ値qが下限値(q=0)に達しないペアを、通信頻度に関わらず、同じグループに所属させない。最小距離制約プロパティ値qは、ノードのペアごとに、記憶部22の制約プロパティデータ(ここでは、最小距離制約プロパティデータ)のプロパティ値として記憶される。   The minimum distance constraint property value q is decremented each time the hierarchy in which the grouping process described in steps 2 and 3 is performed is switched to a hierarchy one level lower. Also, a pair whose minimum distance constraint property value q does not reach the lower limit (q = 0) is not allowed to belong to the same group regardless of the communication frequency. The minimum distance constraint property value q is stored as the property value of the constraint property data (here, the minimum distance constraint property data) in the storage unit 22 for each pair of nodes.

上記の具体的なステップB−1〜B−5について、図7を参照して説明する。
ステップB−1では、例えば、管理装置2のオペレータが最小距離制約の内容(例:ラック電源断に耐える冗長化)を入力し、制約を指定する。
次に、ステップB−2では、指定された制約を、グルーピング処理に適合するように変換する。例えば、ラック電源断に耐える冗長化、という最大距離制約は、第2階層以下(上位)で同じグループに所属させない、という内容に変換される。このとき、最小距離制約プロパティ値qは2となる。図7では、特定のノードn,nのペアに対して、q=2(三角の囲み付き数値として図示)を初期値として付与されることが図示されており、qは制約プロパティデータとして保存される。
The specific steps B-1 to B-5 will be described with reference to FIG.
In Step B-1, for example, the operator of the management apparatus 2 inputs the content of the minimum distance constraint (eg, redundancy that can withstand rack power interruption) and specifies the constraint.
Next, in step B-2, the designated constraint is converted so as to be suitable for the grouping process. For example, the maximum distance constraint of redundancy that can withstand rack power interruption is converted to the content of not belonging to the same group in the second hierarchy or lower (upper). At this time, the minimum distance constraint property value q is 2. FIG. 7 illustrates that q = 2 (shown as a triangular boxed numerical value) is given as an initial value to a specific pair of nodes n 1 and n 8 , where q is the constraint property data. Saved.

次に、ステップB−3では、ステップ2,3で説明したグルーピング処理が行われる階層が1つ下位の階層に切り替わるたびにqをデクリメントする(プロパティ値の操作)。図7では、初期値が2となる最小距離制約プロパティ値qは、第1階層グルーピング(ステップ2に相当)が終了すると1となり、第2階層グルーピング(ステップ3に相当)が終了すると0となることが図示されている。q=0となるノードのペアに対しては最小距離制約を解除する。   Next, in step B-3, q is decremented each time the hierarchy in which the grouping process described in steps 2 and 3 is performed is switched to the next lower hierarchy (property value operation). In FIG. 7, the minimum distance constraint property value q having an initial value of 2 is 1 when the first layer grouping (corresponding to step 2) is completed, and is 0 when the second layer grouping (corresponding to step 3) is completed. This is illustrated. The minimum distance constraint is canceled for a pair of nodes where q = 0.

次に、ステップB−4では、ステップ3−1(図4)による集合Cの要素c(g,g)の降順ソート(または、ステップ2−1(図3)による集合Cの要素c(s,s)の降順ソート)と同様の降順ソートを行う。 Next, in step B-4, step 3-1 elements c g (g n, g m ) of the set C g by (Fig. 4) descending sort (or, step 2-1 of set C by (3) The descending order sort similar to the descending order sort of the element c (s n , s m ) is performed.

次に、ステップB−5では、ステップ2,3と同様に、判定アルゴリズムに基づいて先頭の要素からグルーピング条件判定を行う。このとき、q=0となっていない(qが1以上の)ノードのペアは、すでに説明したケース1〜4に該当してもしなくても、別々のグループに所属するように判定する。図5では、判定対象のノードn,nのペア(q=1)について、ノードnがグループgに配置され、ノードnがグループgに配置されたことが図示されている。q=0となるノードのペアについては、ケース1〜4のいずれに該当するかが判定される。 Next, in step B-5, as in steps 2 and 3, grouping condition determination is performed from the top element based on the determination algorithm. At this time, it is determined that a pair of nodes for which q = 0 is not satisfied (q is 1 or more) belongs to different groups, whether or not the cases 1 to 4 have already been described. FIG. 5 shows that for a pair of determination target nodes n 1 and n 8 (q = 1), node n 1 is arranged in group g 1 and node n 8 is arranged in group g 2 . . For a pair of nodes where q = 0, it is determined which of cases 1 to 4 is applicable.

上記のような最小距離制約プロパティ値を導入した態様でステップ1〜4の処理が実行される。すると、最小距離制約を満たしつつ、ソフトウェアコンポーネントの配置を最適化することができる。
なお、複数のソフトウェアコンポーネントの要件を同時に満たすことができないなどの諸事情で最小距離制約を満たせない場合は、その旨を所定の態様で管理者にアラーム通知してもよい。
The processes of steps 1 to 4 are executed in a manner in which the minimum distance constraint property value as described above is introduced. Then, the arrangement of software components can be optimized while satisfying the minimum distance constraint.
If the minimum distance constraint cannot be satisfied due to various circumstances such as the requirements of a plurality of software components cannot be satisfied at the same time, an alarm notification may be sent to the administrator in a predetermined manner.

上記した最大距離制約と最小距離制約とが競合して、ノードをどのグループに配置させるかを判定できない可能性がある。そこで、最大距離制約プロパティデータおよび最小距離制約プロパティデータに対して優先度を設定して、優先度を含む制約プロパティデータを記憶部22に記憶することができる。処理部21は、最大距離制約と最小距離制約とが競合した場合には優先度の値がより大きな制約を優先してソフトウェアコンポーネントの配置を決定する。優先度の値は、例えば、管理装置2の管理者が指定することができる。例えば、サービスの継続性を重視するアプリケーションに対しては、最小距離制約プロパティデータの優先度を、最大距離制約プロパティデータの優先度よりも高くする。
なお、最大距離制約と最小距離制約とが競合しない場合、または、最大距離制約と最小距離制約とが競合しない範囲内では、最大距離制約と最小距離制約の両方を満たすようにソフトウェアコンポーネントの配置を決定することができる。
There is a possibility that it may not be possible to determine in which group the node is to be arranged because the maximum distance constraint and the minimum distance constraint described above compete with each other. Therefore, priority can be set for the maximum distance constraint property data and the minimum distance constraint property data, and the constraint property data including the priority can be stored in the storage unit 22. When the maximum distance constraint and the minimum distance constraint compete, the processing unit 21 prioritizes a constraint having a larger priority value and determines the arrangement of software components. The priority value can be designated by the administrator of the management apparatus 2, for example. For example, for an application that places importance on service continuity, the priority of the minimum distance constraint property data is set higher than the priority of the maximum distance constraint property data.
If the maximum distance constraint and the minimum distance constraint do not conflict, or if the maximum distance constraint and the minimum distance constraint do not conflict, place the software components so that both the maximum distance constraint and the minimum distance constraint are satisfied. Can be determined.

このように、本実施形態によれば、特定のソフトウェアコンポーネントのペア、および、特定の第K階層グループのペアに最大距離制約プロパティ値を設定することで、通信頻度が低く本来的には別々のグループに配置されてしまうソフトウェアコンポーネントのペア、および、第K階層グループのペアであっても、アプリケーションの要件に対して意図的に同じグループに所属させることができる。
したがって、複数階層を有する分散システムに適用されるアプリケーションに対して求める制約を満たしつつ、アプリケーションを構成する複数のソフトウェアコンポーネントの適切な配置を決定することができる。
As described above, according to the present embodiment, by setting the maximum distance constraint property value to a specific software component pair and a specific K-th layer group pair, the communication frequency is low and inherently different. Even a pair of software components and a pair of a Kth hierarchical group that are arranged in a group can be intentionally assigned to the same group with respect to application requirements.
Therefore, it is possible to determine an appropriate arrangement of a plurality of software components that constitute an application while satisfying a restriction required for the application applied to the distributed system having a plurality of hierarchies.

また、最大距離制約プロパティ値が下限値に達したペアを構成するソフトウェアコンポーネントまたは第K階層グループをスケールアウトすることで、これらのソフトウェアコンポーネントまたは第K階層グループが所属するグループを確実に形成することができる。   In addition, by scaling out the software component or the K-th layer group that constitutes the pair whose maximum distance constraint property value has reached the lower limit value, the group to which these software components or the K-th layer group belongs is surely formed. Can do.

また、特定のソフトウェアコンポーネントのペア、および、特定の第K階層グループのペアに最小距離制約プロパティ値を設定することで、通信頻度が高く本来的には同じグループに配置されてしまうソフトウェアコンポーネントのペア、および、第K階層グループのペアであっても、アプリケーションの要件に対して意図的に別々のグループに所属させることができる。
したがって、複数階層を有する分散システムに適用されるアプリケーションに対して求める制約を満たしつつ、アプリケーションを構成する複数のソフトウェアコンポーネントの適切な配置を決定することができる。
In addition, by setting a minimum distance constraint property value for a specific software component pair and a specific K-th layer group pair, a communication component pair that is frequently placed in the same group with high communication frequency , And even a pair of the K-th hierarchical group can intentionally belong to different groups with respect to application requirements.
Therefore, it is possible to determine an appropriate arrangement of a plurality of software components that constitute an application while satisfying a restriction required for the application applied to the distributed system having a plurality of hierarchies.

また、最小距離制約プロパティデータおよび最大距離制約プロパティデータに優先度を含めることで、最小距離制約および最大距離制約が競合した場合であっても少なくともいずれかの制約を満たし、ソフトウェアコンポーネントの配置先を確実に決定することができる。   In addition, by including priority in the minimum distance constraint property data and the maximum distance constraint property data, even if the minimum distance constraint and the maximum distance constraint compete, at least one of the constraints is satisfied, and the placement destination of the software component is determined. It can be determined with certainty.

なお、上記した実施形態では、分散システム1におけるソフトウェアコンポーネント間の実際の通信頻度を集計した通信頻度データに基づき、ソフトウェアコンポーネントを階層的にグルーピングし、分散システム1に対するソフトウェアコンポーネントの再配置を実行するものとした。しかし、それ以外に、分散システム1へソフトウェアコンポーネントを配置する前に予測したソフトウェアコンポーネント同士の通信頻度のデータに基づき、ソフトウェアコンポーネントを階層的にグルーピングし、分散システム1に対するソフトウェアコンポーネントの初期配置を実行するようにしてもよい。つまり、本実施形態の方式によれば、分散システム1に対するソフトウェアコンポーネントの初期配置を決定し、その後、運用状況に追従してソフトウェアコンポーネントの再配置を行うことができる。   In the above-described embodiment, the software components are hierarchically grouped based on the communication frequency data obtained by counting the actual communication frequencies between the software components in the distributed system 1, and the software components are rearranged in the distributed system 1. It was supposed to be. However, other than that, based on the data of the communication frequency between the software components predicted before the software components are arranged in the distributed system 1, the software components are grouped hierarchically and the initial arrangement of the software components in the distributed system 1 is executed. You may make it do. That is, according to the method of the present embodiment, it is possible to determine the initial arrangement of the software components with respect to the distributed system 1 and then perform the rearrangement of the software components following the operation status.

(変形例)
以上で本実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。
(1):例えば、本実施形態では分散システム1が4つの階層を有する場合について説明したが、これに限定されず、2つの階層、3つの階層、または、5つ以上の階層を有する場合にも適用できる。
(Modification)
Although description of this embodiment is finished above, the aspect of the present invention is not limited to these.
(1): For example, in the present embodiment, the case where the distributed system 1 has four hierarchies has been described. However, the present invention is not limited to this, and the case where there are two hierarchies, three hierarchies, or five or more hierarchies. Is also applicable.

(2):また、ソフトウェアコンポーネントとプロセスとの対応は、1対1対応に限定されず、1対N対応(Nは2以上の整数)、N対1対応(Nは2以上の整数)であってもよい。   (2): The correspondence between software components and processes is not limited to one-to-one correspondence, but one-to-N correspondence (N is an integer of 2 or more), N-to-one correspondence (N is an integer of 2 or more) There may be.

(3):また、第1容量制約条件、第2容量制約条件は、サーバ容量の制限に基づく数値に限定されず、所定の理由により同じグループにグルーピングできないソフトウェアコンポーネントに関する情報などでもよい。   (3): The first capacity constraint condition and the second capacity constraint condition are not limited to numerical values based on the server capacity limit, and may be information on software components that cannot be grouped into the same group for a predetermined reason.

(4):また、ソフトウェアコンポーネントのグルーピング処理を実行するのは、分散システム1の外部にある管理装置2に限定されず、例えば、分散システム1内のデータセンタ11内のコンピュータ装置など、他の装置であってもよい。   (4): The software component grouping process is not limited to the management device 2 outside the distributed system 1, but may be another type such as a computer device in the data center 11 in the distributed system 1. It may be a device.

本実施形態で説明した種々の技術を適宜組み合わせた技術を実現することもできる。
本実施形態で説明したソフトウェアをハードウェアとして実現することもでき、ハードウェアをソフトウェアとして実現することもできる。
その他、ハードウェア、ソフトウェア、フローチャートなどについて、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
A technique obtained by appropriately combining various techniques described in the present embodiment can also be realized.
The software described in this embodiment can be realized as hardware, and the hardware can also be realized as software.
In addition, hardware, software, flowcharts, and the like can be changed as appropriate without departing from the spirit of the present invention.

1 分散システム
2 管理装置
3 ソフトウェアコンポーネント
11 データセンタ
12 ラック
13 物理サーバ
14 仮想サーバ
15 プロセス
21 処理部
22 記憶部
23 入力部
24 出力部
25 通信部
DESCRIPTION OF SYMBOLS 1 Distributed system 2 Management apparatus 3 Software component 11 Data center 12 Rack 13 Physical server 14 Virtual server 15 Process 21 Processing part 22 Storage part 23 Input part 24 Output part 25 Communication part

Claims (6)

一番上位の階層となる第1階層から、一番下位の階層となる第N階層(Nは2以上の整数)までのいずれかの階層として機能する機器を有する分散システムに適用されるアプリケーションを構成する複数のソフトウェアコンポーネントの配置を決定する管理装置であって、
記ソフトウェアコンポーネントは前記第1階層に配置されており、
前記ソフトウェアコンポーネント同士の通信は、同じ機器を経由する、または、前記第N階層となる機器間を経由することで実現され、
前記ソフトウェアコンポーネント同士の通信は、経由する機器が示す階層が下位であるほど時間がかかり、
第K階層(K=1,2,・・・,N)として機能する機器に対応する前記ソフトウェアコンポーネントは、グルーピング処理をすることで第K階層グループを構成することができ、
前記管理装置は、記憶部および処理部を備えており、
前記記憶部は、
通信する前記ソフトウェアコンポーネントのペアごとの第1の通信頻度、および、前記第1の通信頻度に基づいて決定される、前記第K階層グループのペアごとの第2の通信頻度を示す通信頻度データと、
特定の前記ソフトウェアコンポーネントのペアごとに予め決められ、および、特定の前記第K階層グループのペアごとに予め決められた最大距離制約プロパティ値を示す最大距離制約プロパティデータと、を記憶しており、
前記処理部は、
前記記憶部の通信頻度データを参照し、通信頻度の高いペアから順に、前記ソフトウェアコンポーネント、および、前記第K階層グループのグルーピング処理を、所定の容量制約条件に従い、前記第1階層から前記第N階層まで繰り返し実行する際、
前記グルーピング処理が行われる階層が1つ下位の階層に切り替わるたびに、前記最大距離制約プロパティ値をデクリメントし、前記最大距離制約プロパティ値が下限値に達したペアを同じグループに所属させる、
ことを特徴とする管理装置。
The first hierarchy of the most upper hierarchy, an application (in N 2 or more integer) N-th layer which is a most lower layer is applied to a distributed system having a device that acts as one of the hierarchy to A management device that determines the arrangement of a plurality of software components to be configured,
Before SL software component is arranged in the first hierarchy,
The communication between the software components is realized through the same device or between the devices in the Nth layer,
The communication between the software components, the hierarchy indicated by the device through which the consuming more time is subordinate,
The software component corresponding to the device functioning as the Kth layer (K = 1, 2,..., N) can form a Kth layer group by performing a grouping process.
The management device includes a storage unit and a processing unit,
The storage unit
Communication frequency data indicating a first communication frequency for each pair of software components to be communicated, and a second communication frequency for each pair of the K-th layer group, determined based on the first communication frequency; ,
Predetermined for each pair of a particular of the software components, and stores a, and maximum distance constraints property data indicating the maximum distance constraint property value predetermined for each pair of a particular said first K hierarchical group,
The processor is
With reference to the communication frequency data in the storage unit, the software component and the K-th layer group processing are performed in order from the first layer to the N-th layer according to a predetermined capacity constraint condition in order from the pair with the highest communication frequency . when you run repeatedly until the hierarchy,
Wherein each time the hierarchy grouping processing is performed is switched to one lower hierarchy, the decrements the maximum distance constraint property values, Ru to belong pairs where the maximum distance constraint property value has reached the lower limit value in the same group,
A management device characterized by that.
前記処理部は、
前記最大距離制約プロパティ値が下限値に達したペアを同じグループに所属させると当該グループのキャパシティを超過する場合、当該ペアを構成するソフトウェアコンポーネントまたは第K階層グループをスケールアウトする、
ことを特徴とする請求項1に記載の管理装置。
The processor is
If a pair whose maximum distance constraint property value has reached the lower limit value belongs to the same group and exceeds the capacity of the group, the software component or the K-th layer group constituting the pair is scaled out.
The management apparatus according to claim 1.
一番上位の階層となる第1階層から、一番下位の階層となる第N階層(Nは2以上の整数)までのいずれかの階層として機能する機器を有する分散システムに適用されるアプリケーションを構成する複数のソフトウェアコンポーネントの配置を決定する管理装置であって、
記ソフトウェアコンポーネントは前記第1階層に配置されており、
前記ソフトウェアコンポーネント同士の通信は、同じ機器を経由する、または、前記第N階層となる機器間を経由することで実現され、
前記ソフトウェアコンポーネント同士の通信は、経由する機器が示す階層が下位であるほど時間がかかり、
第K階層(K=1,2,・・・,N)として機能する機器に対応する前記ソフトウェアコンポーネントは、グルーピング処理をすることで第K階層グループを構成することができ、
前記管理装置は、記憶部および処理部を備えており、
前記記憶部は、
通信する前記ソフトウェアコンポーネントのペアごとの第1の通信頻度、および、前記第1の通信頻度に基づいて決定される、前記第K階層グループのペアごとの第2の通信頻度を示す通信頻度データと、
特定の前記ソフトウェアコンポーネントのペアごとに予め決められ、および、特定の前記第K階層グループのペアごとに予め決められた最小距離制約プロパティ値を示す最小距離制約プロパティデータと、を記憶しており、
前記処理部は、
前記記憶部の通信頻度データを参照し、通信頻度の高いペアから順に、前記ソフトウェアコンポーネント、および、前記第K階層グループのグルーピング処理を、所定の容量制約条件に従い、前記第1階層から前記第N階層まで繰り返し実行する際、
前記グルーピング処理が行われる階層が1つ下位の階層に切り替わるたびに、前記最小距離制約プロパティ値をデクリメントし、前記最小距離制約プロパティ値が下限値に達しないペアを同じグループに所属させない、
ことを特徴とする管理装置。
The first hierarchy of the most upper hierarchy, an application (in N 2 or more integer) N-th layer which is a most lower layer is applied to a distributed system having a device that acts as one of the hierarchy to A management device that determines the arrangement of a plurality of software components to be configured,
Before SL software component is arranged in the first hierarchy,
The communication between the software components is realized through the same device or between the devices in the Nth layer,
The communication between the software components, the hierarchy indicated by the device through which the consuming more time is subordinate,
The software component corresponding to the device functioning as the Kth layer (K = 1, 2,..., N) can form a Kth layer group by performing a grouping process.
The management device includes a storage unit and a processing unit,
The storage unit
Communication frequency data indicating a first communication frequency for each pair of software components to be communicated, and a second communication frequency for each pair of the K-th layer group, determined based on the first communication frequency; ,
Pre-determined for each specific pair of software components , and minimum distance constraint property data indicating a minimum distance constraint property value predetermined for each specific pair of the Kth hierarchical group ,
The processor is
With reference to the communication frequency data in the storage unit, the software component and the K-th layer group processing are performed in order from the first layer to the N-th layer according to a predetermined capacity constraint condition in order from the pair with the highest communication frequency . when you run repeatedly until the hierarchy,
Wherein each time the hierarchy grouping processing is performed is switched to one lower hierarchy, the decrements the minimum distance constraint property value, said minimum distance constraint property value is not such to belong pair does not reach the lower limit value in the same group,
A management device characterized by that.
前記記憶部は、
特定の前記ソフトウェアコンポーネントのペアごとに予め決められ、および、特定の前記第K階層グループのペアごとに予め決められた最大距離制約プロパティ値を示す最大距離制約プロパティデータをさらに記憶し、
前記最小距離制約プロパティデータに基づく前記グルーピング処理、および、前記最大距離制約プロパティデータに基づく前記グルーピング処理のいずれを優先させるかを決定するための優先度を、前記最小距離制約プロパティデータおよび前記最大距離制約プロパティデータに含めて記憶し、
前記処理部は、前記グルーピング処理が行われる階層が1つ下位の階層に切り替わるたびに、前記最大距離制約プロパティ値をデクリメントし、前記最大距離制約プロパティ値が下限値に達したペアを同じグループに所属させ、
前記最小距離制約プロパティデータの優先度および前記最大距離制約プロパティデータの優先度を参照して、前記最小距離制約プロパティデータに基づく前記グルーピング処理、および、前記最大距離制約プロパティデータに基づく前記グルーピング処理の少なくともいずれかを実行する
ことを特徴とする請求項3に記載の管理装置。
The storage unit
Predetermined for each pair of a particular of the software components, and further stores the maximum distance constraint property data indicating the maximum distance constraint property value predetermined for each pair of a particular said first K hierarchical group,
The grouping processing based on the minimum distance constraint property data, and the priority to determine whether to give priority to any of the grouping processing based on the maximum distance constraint property data, the minimum distance constraints property data and the maximum distance Store it in the constraint property data,
The processing unit decrements the maximum distance constraint property value each time the hierarchy in which the grouping process is performed is switched to a lower hierarchy, and sets pairs in which the maximum distance constraint property value has reached a lower limit to the same group. To belong,
With reference to the priority and the maximum distance priority constrained property data of the minimum distance constraint property data, the grouping processing based on the minimum distance constraint property data, and, of the grouping processing based on the maximum distance constraint Property Data The management apparatus according to claim 3, wherein at least one of them is executed.
一番上位の階層となる第1階層から、一番下位の階層となる第N階層(Nは2以上の整数)までのいずれかの階層として機能する機器を有する分散システムに適用されるアプリケーションを構成する複数のソフトウェアコンポーネントの配置を決定する管理装置によるソフトウェアコンポーネントグルーピング方法であって、
記ソフトウェアコンポーネントは前記第1階層に配置されており、
前記ソフトウェアコンポーネント同士の通信は、同じ機器を経由する、または、前記第N階層となる機器間を経由することで実現され、
前記ソフトウェアコンポーネント同士の通信は、経由する機器が示す階層が下位であるほど時間がかかり、
第K階層(K=1,2,・・・,N)として機能する機器に対応する前記ソフトウェアコンポーネントは、グルーピング処理をすることで第K階層グループを構成することができ、
前記管理装置の記憶部は、
通信する前記ソフトウェアコンポーネントのペアごとの第1の通信頻度、および、前記第1の通信頻度に基づいて決定される、前記第K階層グループのペアごとの第2の通信頻度を示す通信頻度データと、
特定の前記ソフトウェアコンポーネントのペアごとに予め決められ、および、特定の前記第K階層グループのペアごとに予め決められた最大距離制約プロパティ値を示す最大距離制約プロパティデータと、を記憶しており、
前記管理装置は、
前記記憶部の通信頻度データを参照し、通信頻度の高いペアから順に、前記ソフトウェアコンポーネント、および、前記第K階層グループのグルーピング処理を、所定の容量制約条件に従い、前記第1階層から前記第N階層まで繰り返し実行する際、
前記グルーピング処理が行われる階層が1つ下位の階層に切り替わるたびに、前記最大距離制約プロパティ値をデクリメントし、前記最大距離制約プロパティ値が下限値に達したペアを同じグループに所属させる、
ことを特徴とするソフトウェアコンポーネントグルーピング方法。
The first hierarchy of the most upper hierarchy, an application (in N 2 or more integer) N-th layer which is a most lower layer is applied to a distributed system having a device that acts as one of the hierarchy to A software component grouping method by a management device that determines the arrangement of a plurality of software components to be configured,
Before SL software component is arranged in the first hierarchy,
The communication between the software components is realized through the same device or between the devices in the Nth layer,
The communication between the software components, the hierarchy indicated by the device through which the consuming more time is subordinate,
The software component corresponding to the device functioning as the Kth layer (K = 1, 2,..., N) can form a Kth layer group by performing a grouping process.
The storage unit of the management device is
Communication frequency data indicating a first communication frequency for each pair of software components to be communicated, and a second communication frequency for each pair of the K-th layer group, determined based on the first communication frequency; ,
Predetermined for each pair of a particular of the software components, and stores a, and maximum distance constraints property data indicating the maximum distance constraint property value predetermined for each pair of a particular said first K hierarchical group,
The management device
With reference to the communication frequency data in the storage unit, the software component and the K-th layer group processing are performed in order from the first layer to the N-th layer according to a predetermined capacity constraint condition in order from the pair with the highest communication frequency . when you run repeatedly until the hierarchy,
Each time the hierarchy in which the grouping process is performed is switched to a lower hierarchy, the maximum distance constraint property value is decremented, and the pair whose maximum distance constraint property value has reached the lower limit value belongs to the same group.
A software component grouping method characterized by the above.
一番上位の階層となる第1階層から、一番下位の階層となる第N階層(Nは2以上の整数)までのいずれかの階層として機能する機器を有する分散システムに適用されるアプリケーションを構成する複数のソフトウェアコンポーネントの配置を決定する管理装置によるソフトウェアコンポーネントグルーピング方法であって、
記ソフトウェアコンポーネントは前記第1階層に配置されており、
前記ソフトウェアコンポーネント同士の通信は、同じ機器を経由する、または、前記第N階層となる機器間を経由することで実現され、
前記ソフトウェアコンポーネント同士の通信は、経由する機器が示す階層が下位であるほど時間がかかり、
第K階層(K=1,2,・・・,N)として機能する機器に対応する前記ソフトウェアコンポーネントは、グルーピング処理をすることで第K階層グループを構成することができ、
前記管理装置の記憶部は、
通信する前記ソフトウェアコンポーネントのペアごとの第1の通信頻度、および、前記第1の通信頻度に基づいて決定される、前記第K階層グループのペアごとの第2の通信頻度を示す通信頻度データと、
特定の前記ソフトウェアコンポーネントのペアごとに予め決められ、および、特定の前記第K階層グループのペアごとに予め決められた最小距離制約プロパティ値を示す最小距離制約プロパティデータと、を記憶しており、
前記管理装置は、
前記記憶部の通信頻度データを参照し、通信頻度の高いペアから順に、前記ソフトウェアコンポーネント、および、前記第K階層グループのグルーピング処理を、所定の容量制約条件に従い、前記第1階層から前記第N階層まで繰り返し実行する際、
前記グルーピング処理が行われる階層が1つ下位の階層に切り替わるたびに、前記最小距離制約プロパティ値をデクリメントし、前記最小距離制約プロパティ値が下限値に達しないペアを同じグループに所属させない、
ことを特徴とするソフトウェアコンポーネントグルーピング方法。
The first hierarchy of the most upper hierarchy, an application (in N 2 or more integer) N-th layer which is a most lower layer is applied to a distributed system having a device that acts as one of the hierarchy to A software component grouping method by a management device that determines the arrangement of a plurality of software components to be configured,
Before SL software component is arranged in the first hierarchy,
The communication between the software components is realized through the same device or between the devices in the Nth layer,
The communication between the software components, the hierarchy indicated by the device through which the consuming more time is subordinate,
The software component corresponding to the device functioning as the Kth layer (K = 1, 2,..., N) can form a Kth layer group by performing a grouping process.
The storage unit of the management device is
Communication frequency data indicating a first communication frequency for each pair of software components to be communicated, and a second communication frequency for each pair of the K-th layer group, determined based on the first communication frequency; ,
Pre-determined for each specific pair of software components , and minimum distance constraint property data indicating a minimum distance constraint property value predetermined for each specific pair of the Kth hierarchical group ,
The management device
With reference to the communication frequency data in the storage unit, the software component and the K-th layer group processing are performed in order from the first layer to the N-th layer according to a predetermined capacity constraint condition in order from the pair with the highest communication frequency . when you run repeatedly until the hierarchy,
Each time the hierarchy in which the grouping process is performed is switched to one lower hierarchy, the minimum distance constraint property value is decremented, and a pair whose minimum distance constraint property value does not reach the lower limit value does not belong to the same group.
A software component grouping method characterized by the above.
JP2016008410A 2016-01-20 2016-01-20 Management device and software component grouping method Active JP6417341B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016008410A JP6417341B2 (en) 2016-01-20 2016-01-20 Management device and software component grouping method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016008410A JP6417341B2 (en) 2016-01-20 2016-01-20 Management device and software component grouping method

Publications (2)

Publication Number Publication Date
JP2017130005A JP2017130005A (en) 2017-07-27
JP6417341B2 true JP6417341B2 (en) 2018-11-07

Family

ID=59396212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016008410A Active JP6417341B2 (en) 2016-01-20 2016-01-20 Management device and software component grouping method

Country Status (1)

Country Link
JP (1) JP6417341B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007136021A1 (en) * 2006-05-24 2007-11-29 Nec Corporation Virtual machine management device, method for managing virtual machine and program
JP2011186809A (en) * 2010-03-09 2011-09-22 Nippon Telegr & Teleph Corp <Ntt> Application allocation chart generation device and method

Also Published As

Publication number Publication date
JP2017130005A (en) 2017-07-27

Similar Documents

Publication Publication Date Title
JP7234479B2 (en) Object storage system using multi-level hash function for storage address determination
CN106293492B (en) A storage management method and distributed file system
EP2791813B1 (en) Load balancing in cluster storage systems
US11409453B2 (en) Storage capacity forecasting for storage systems in an active tier of a storage environment
US10361943B2 (en) Methods providing performance management using a proxy baseline and related systems and computer program products
WO2018076791A1 (en) Resource load balancing control method and cluster scheduler
US9280370B2 (en) System structure management device, system structure management method, and program
US8904144B1 (en) Methods and systems for determining at risk index for storage capacity
US20200152253A1 (en) Storing method and apparatus of data
CN110413203B (en) Method, apparatus and computer readable medium for managing a storage system
KR20230049526A (en) Apparatus for determining of tree, network switch apparatus, system of in-network data aggregation including the same and method thereof
CN112748867B (en) Method, electronic device and computer program product for storage management
CN102148871A (en) Storage resource scheduling method and device
CN108958973A (en) Distributed file system correcting and eleting codes data reconstruction memory node selection method and device
JP6458823B2 (en) Information processing apparatus, information processing method, and information processing program
JP6387994B2 (en) Management device, management method, and program
EP2940587A1 (en) Computer, control device for computer system, and recording medium
CN112748848A (en) Method, apparatus and computer program product for storage management
JP6417341B2 (en) Management device and software component grouping method
JP6278908B2 (en) Management device and software component grouping method
CN112639761A (en) Method and device for establishing index for data
US20150178011A1 (en) Path selection to read or write data
US20180239644A1 (en) Management system for managing computer system
CN104239230B (en) A kind of data block migration method and device
CN116841842B (en) Abnormal operation detection method, apparatus, storage medium, and computer program product

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180724

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180919

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: 20181002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181005

R150 Certificate of patent or registration of utility model

Ref document number: 6417341

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150