JP6417341B2 - Management device and software component grouping method - Google Patents
Management device and software component grouping method Download PDFInfo
- 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
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
分散システムにアプリケーションを適用するにあたり、リソース利用効率の向上、信頼性/可用性の向上などのさまざまな観点から、アプリケーションの要件次第では、所定の制約を設定する必要がある。しかし、そのような制約を満たしつつ、ソフトウェアコンポーネントの配置の最適化を人手で決定するのは容易でない。非特許文献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
そこで、本発明は、上記事情に鑑みて、複数階層を有する分散システムに適用されるアプリケーションに対して求める制約を満たしつつ、アプリケーションを構成する複数のソフトウェアコンポーネントの適切な配置を決定することを課題とする。 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
また、請求項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
請求項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
請求項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
また、請求項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
請求項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および管理装置2の実施形態について、図面を参照して説明する。
Hereinafter, embodiments of a
図1に示すように、分散システム1は、複数のソフトウェアコンポーネントから構成されるアプリケーションを適用対象とするシステムであり、下位層から順に、データセンタ11、ラック12、物理サーバ13、仮想サーバ14の4つの階層からなる。
As shown in FIG. 1, the
データセンタ11は、複数設けられている。
1つのデータセンタ11に、複数のラック12が対応して設けられている。
1つのラック12に、複数の物理サーバ13が対応して設けられている。
1つの物理サーバ13に、複数の仮想サーバ14が対応して設けられている。
1つの仮想サーバ14に、複数のプロセス15が対応して設けられている。
プロセス15に、ソフトウェアコンポーネント3(以下、符号無しで「ソフトウェアコンポーネント」と称する場合がある。)が1対1対応で配置される。
A plurality of
A plurality of
A plurality of
A plurality of
A plurality of
In the
分散システム1において、プロセス15に対応して配置されたソフトウェアコンポーネント同士の通信は、経由する階層が下位層であるほど時間がかかる。例えば、仮想サーバ14を経由するよりも物理サーバ13を経由するほうが、時間がかかる。また、物理サーバ13を経由するよりもラック12を経由するほうが、時間がかかる。さらに、ラック12を経由するよりもデータセンタ11を経由するほうが、時間がかかる。
In the
管理装置2は、分散システム1に適用されるアプリケーションを構成する複数のソフトウェアコンポーネントの配置を決定するコンピュータ装置であり、処理部21、記憶部22、入力部23、出力部24、通信部25を備えて構成される。
The
処理部21は、記憶部22に記憶された各データに基づいて、分散システム1に適用されるアプリケーションを構成する複数のソフトウェアコンポーネントの配置を決定する。具体的には、初期配置を決定して実行し、また、再配置を決定し実行する。処理部21は、例えばCPU(Central Processing Unit)によって実現される。
The
記憶部22は、通信頻度データ、グルーピングデータ、マッピングデータ、制約プロパティデータなどを記憶し、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)などによって実現される。
The
通信頻度データは、ソフトウェアコンポーネントのペアごとの通信頻度のデータであり、例えば、分散システム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
In this case, the
また、通信頻度データは、分散システム1におけるソフトウェアコンポーネント間の実際の通信頻度を集計したデータであってもよい。
その場合、処理部21は、当該通信頻度データに基づき、ソフトウェアコンポーネントを階層的にグルーピングし、分散システム1に対するソフトウェアコンポーネントの再配置を実行する(詳細は後記)。
Further, the communication frequency data may be data obtained by tabulating actual communication frequencies between software components in the distributed
In this case, the
グルーピングデータは、処理部21が記憶部22の通信頻度データに基づいてソフトウェアコンポーネント間の通信がなるべく上位層で行われるようにソフトウェアコンポーネントのグルーピングを行った結果のデータである。
The grouping data is data obtained as a result of grouping the software components so that the
マッピングデータは、処理部21が記憶部22のグルーピングデータに基づいて分散システム1に対するソフトウェアコンポーネントの配置(マッピング)を行った結果のデータである。
The mapping data is data obtained as a result of the
制約プロパティデータは、ソフトウェアコンポーネントのペアに付与されるプロパティ値を含むデータである。また、制約プロパティデータは、ソフトウェアコンポーネントのグループのペアに付与されるプロパティ値も含むことができる。これらのプロパティ値は、分散システム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
The
The
次に、本実施形態における処理の概要を説明する。なお、説明を簡潔にするために、処理主体が管理装置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
また、第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
また、第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
また、第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
なお、図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
本実施形態では、通信頻度が高いソフトウェアコンポーネントのペアがなるべく上位層で通信できるよう、ソフトウェアコンポーネント間の通信頻度に基づいてソフトウェアコンポーネントを階層的にグルーピングする(図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
本実施形態によるグルーピング処理は、次のステップ1〜4により実現できる。なお、ここでは、ソフトウェアコンポーネントの初期配置ではなく再配置の場合を例にとって説明する。
The grouping process according to the present embodiment can be realized by the following
<ステップ1>
アプリケーションを構成するすべてのソフトウェアコンポーネント間の通信回数(通信頻度)を一定期間計測する。
<ステップ2>
ソフトウェアコンポーネント間の通信頻度(記憶部22の通信頻度データ)に基づき、ソフトウェアコンポーネントの第1階層でのグルーピングを実行する。
<
Measure the number of communications (communication frequency) between all software components that make up the application for a certain period.
<
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へ対応付けて配置する。
<
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
[ステップ1の詳述]
ステップ1について詳述すると、図2に示すように、アプリケーションを構成するソフトウェアコンポーネントの集合Sに含まれるソフトウェアコンポーネントsn,sm間の通信回数をc(sn,sm)として、本ステップによりcの集合C={c(sn,sm)|sn<sm∧sn∈S∧sm∈S}を得る。例えば、s1,s2の間の通信回数が18回であることは、c(s1,s2)=18と表すことができる。
[Details of Step 1]
The
[ステップ2の詳述]
また、ステップ2について詳述すると、まず、通信するソフトウェアコンポーネントのすべてのペアについて、通信頻度の高いペアから順に、ペアを同じ第1階層グループに所属させるか、または、所定の第1容量制約条件によりペアを同じ第1階層グループに所属させられない場合には、ペアの通信頻度を、それぞれが所属する第1階層グループ間の通信頻度として加算することで、第1階層グルーピングを完了する。第1容量制約条件としての上限値は、例えば、一つの仮想サーバ14上に配置可能なソフトウェアコンポーネントの数などである。
[Details of Step 2]
Further,
その後、通信する第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(sn,sm)を降順にソートする。
次に、ステップ2−2では、先頭の要素c(sn,sm)を取得する。つまり、通信回数の多いペアからグルーピング処理を実行する。
次に、ステップ2−3では、判定アルゴリズムに基づいてグルーピング条件判定を行う。この判定アルゴリズムについては後記する。
Specific steps 2-1 to 2-5 for realizing
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へソフトウェアコンポーネントsn,smを追加する。この際、符号2−4−1に示すように、一例として、c(s3,s9)を処理する場合、例えば、既にs3が属していたグループg3へs9を挿入することが考えられる。その場合、そのペアの通信回数c(sn,sm)は保存される。 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に示すように、ペア(snとsm)が別グループgo,gpに分かれる場合、グループgo,gp間の通信回数cg(go,gp)に、そのペアの通信回数c(sn,sm)を加算(カウント)する。例えば、ペア(s8とs11)が別グループg1,g2に分かれる場合、ペア(s8とs11)の通信回数c(s8とs11)をグループg1,g2間の通信回数cg(g1,g2)に加算してcg(g1,g2)=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,
ステップ2−3で用いる判定アルゴリズムは、sn,smを以下のケース1〜ケース4に場合分けする。
Determination algorithm used in step 2-3, s n, for case analysis the s m in the following
ケース1:sn,smのいずれも既存のグループに属さない場合
ケース2:sn,smのどちらか一方だけ既存のグループに属する場合
ケース3:sn,smのそれぞれが既存の別々のグループに属する場合
ケース4:sn,smの両方が既存の同じグループに属する場合
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の場合、新しいグループを作成し、判定対象のコンポーネントペアsn,smをそのグループに入れる。その場合、そのペアの通信回数c(sn,sm)は保存される。
In
ケース2の場合、snが既存のグループgoに属すると仮定すると、(a)グループgoの要素数が上限値に達していないときは、第1容量制約条件を満たすことができ、goにsmを挿入する。その場合、判定対象のコンポーネントペアの通信回数c(sn,sm)は保存される。(b)一方、グループgoの要素数がすでに上限値に達しているときは、第1容量制約条件を満たせることができず、新たなグループgpを作成し、グループgpにsmを挿入する。さらに、グループ間の通信回数cg(go,gp)に、判定対象のコンポーネントペアの通信回数c(sn,sm)を加算する。
なお、既存のグループgoに属するのがsnではなくsmの場合も同様である。
The same applies to the case of an existing group g o belongs to within s n rather s m.
ケース3の場合、sn,smのそれぞれが既存の別々のグループgo,gpに属すると仮定すると、(a)グループgo,gpをマージ(統合)しても、マージしたグループの要素数の合計が上限値を超えないときは、第1容量制約条件を満たすことができ、goとgpをマージ(統合)する。その場合、判定対象のコンポーネントペアの通信回数c(sn,sm)は保存される。(b)一方、グループgo,gpをマージすると、マージしたグループの要素数の合計が上限値を超えてしまうときは、第1容量制約条件を満たすことができず、マージはしない。この場合、グループgo,gp間の通信回数cg(go,gp)に、判定対象のコンポーネントペアの通信回数c(sn,sm)を加算する(元々、互いに独立していたグループgo,gpを、通信回数c(sn,sm)を用いて関連付ける)。
In
ケース4の場合、グルーピングはそのままで、判定対象のコンポーネントペアの通信回数c(sn,sm)の情報を追加する。 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,
このステップ3に関し、第1階層グループのグルーピング結果に基づいて次のグルーピングを行う具体的な手順であるステップ3−1〜3−5について、図4を参照して説明する。なお、ステップ2で用いていた所定の第1容量制約条件の代わりに、ステップ3では第2階層グループに所属させることができる第1階層グループの数の上限値である所定の第2容量制約条件を用いる。この所定の第2容量制約条件としての上限値は、例えば、一つの物理サーバ13上に搭載可能な仮想サーバ14の数などである。第2容量制約条件は、一般的に、第K階層グループに所属させることができる第(K−1)階層グループの数の上限値として用いることができる(第0階層グループは、ソフトウェアコンポーネントとみなす)。
Regarding
ステップ3−1では、集合Cgの要素cg(gn,gm)を降順にソートする。
次に、ステップ3−2では、先頭の要素cg(gn,gm)を取得する。つまり、通信回数の多いペアからグルーピング処理を実行する。
次に、ステップ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
次に、ステップ3−4では、適切なグループ(第2階層グループ)へgn,gmを追加する。この際、ステップ2−4と同様、ペア(gn,gm)が別グループに分かれる場合、そのグループ間の通信回数に、そのペアの通信回数cg(go,gp)を加算する。 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を繰り返し実行する。つまり、集合Cgのすべての要素に対してステップ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のグルーピングデータとして記憶される。
[ステップ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
(最大距離制約)
本実施形態の管理装置2が上記のステップ1〜4の処理を実行すれば、通信頻度の高いペアを構成するソフトウェアコンポーネント同士の通信、および、通信頻度の高いペアを構成する第K階層グループの各々に所属するソフトウェアコンポーネント同士の通信が上位層を経由するようにソフトウェアコンポーネントを配置し、下位層の通信を減らし、分散システム1における通信遅延を低減することができる。このことは、通信頻度の低いペアは別々のグループに(遠くに)配置される傾向にあることを意味する。
(Maximum distance constraint)
If the
しかし、分散システム1に適用されるアプリケーションの要件次第では、通信頻度の低いペアを同じグループに(近くに)配置するという制約(最大距離制約)を設定する必要がある。例えば、複数のソフトウェアコンポーネントに関連する処理のリアルタイム要件が厳しく、それらのソフトウェアコンポーネント間の通信頻度が低くても、それらのソフトウェアコンポーネントを同じ物理サーバ13に配置する必要がある。
However, depending on the requirements of the application applied to the distributed
この場合、ある程度の通信遅延を許容する(例えば、遅延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
上記の具体的なステップA−1〜A−5について、図5を参照して説明する。
ステップA−1では、例えば、管理装置2のオペレータが最大距離制約の内容(例:遅延1msec以下)を入力し、制約を指定する。
次に、ステップA−2では、指定された制約を、グルーピング処理に適合するように変換する。例えば、遅延1msec以下、という最大距離制約は、第3階層以上(下位)で同じグループに所属させる、という内容に変換される。このとき、最大距離制約プロパティ値pは3となる。図5では、特定のノードn1,n8のペアに対して、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
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
次に、ステップA−4では、ステップ3−1(図4)にて集合Cgの要素cg(gn,gm)を降順にソートする際(pの初期値が1の場合、ステップ2−1(図3)にて集合Cの要素c(sn,sm)を降順にソートする際)、p=1となったノードのペアを先頭に(優先的に)配置する。図5では、p=1となったノードn1,n8のペアが先頭に配置されていることが図示されている。 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では、先頭に配置されたノードn1,n8のペアがグループg1に配置されたことが図示されている。
Next, in step A-5, as in
上記のような最大距離制約プロパティ値を導入した態様でステップ1〜4の処理が実行される。すると、最大距離制約を満たしつつ、ソフトウェアコンポーネントの配置を最適化することができる。
The processes of
ステップA−1〜A−5の処理を徹底すると、複数のソフトウェアコンポーネントに対して最大距離制約を同時に満たせない場合がある。例えば、図6(a)に示すように、ノードn8とのペアを形成し、最大距離制約プロパティ値pが1となる多数のノードn1〜n6が存在する場合を考える。この場合、ノードn1〜n6、n8とで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)に示すようにノード(ここでは、ノードn8とするが、他のノードでもよい)をスケールアウトする。そして、第1容量制約条件または第2容量制約条件を満たす複数のグループg1,g2を形成し、グループg1,g2の各々で最大距離制約を満たすようにノードn1〜n6を配置すればよい。 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
この場合、ある程度の可用性を許容する(例えば、ラック電源断に耐える冗長化)ように制約条件を設定する。具体的には、最大距離制約プロパティ値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
上記の具体的なステップB−1〜B−5について、図7を参照して説明する。
ステップB−1では、例えば、管理装置2のオペレータが最小距離制約の内容(例:ラック電源断に耐える冗長化)を入力し、制約を指定する。
次に、ステップB−2では、指定された制約を、グルーピング処理に適合するように変換する。例えば、ラック電源断に耐える冗長化、という最大距離制約は、第2階層以下(上位)で同じグループに所属させない、という内容に変換される。このとき、最小距離制約プロパティ値qは2となる。図7では、特定のノードn1,n8のペアに対して、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
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
次に、ステップB−4では、ステップ3−1(図4)による集合Cgの要素cg(gn,gm)の降順ソート(または、ステップ2−1(図3)による集合Cの要素c(sn,sm)の降順ソート)と同様の降順ソートを行う。 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では、判定対象のノードn1,n8のペア(q=1)について、ノードn1がグループg1に配置され、ノードn8がグループg2に配置されたことが図示されている。q=0となるノードのペアについては、ケース1〜4のいずれに該当するかが判定される。
Next, in step B-5, as in
上記のような最小距離制約プロパティ値を導入した態様でステップ1〜4の処理が実行される。すると、最小距離制約を満たしつつ、ソフトウェアコンポーネントの配置を最適化することができる。
なお、複数のソフトウェアコンポーネントの要件を同時に満たすことができないなどの諸事情で最小距離制約を満たせない場合は、その旨を所定の態様で管理者にアラーム通知してもよい。
The processes of
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
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
(変形例)
以上で本実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。
(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
(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
本実施形態で説明した種々の技術を適宜組み合わせた技術を実現することもできる。
本実施形態で説明したソフトウェアをハードウェアとして実現することもでき、ハードウェアをソフトウェアとして実現することもできる。
その他、ハードウェア、ソフトウェア、フローチャートなどについて、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
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
Claims (6)
前記ソフトウェアコンポーネントは前記第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階層となる機器間を経由することで実現され、
前記ソフトウェアコンポーネント同士の通信は、経由する機器が示す階層が下位であるほど時間がかかり、
第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階層となる機器間を経由することで実現され、
前記ソフトウェアコンポーネント同士の通信は、経由する機器が示す階層が下位であるほど時間がかかり、
第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階層となる機器間を経由することで実現され、
前記ソフトウェアコンポーネント同士の通信は、経由する機器が示す階層が下位であるほど時間がかかり、
第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.
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)
| 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 |
-
2016
- 2016-01-20 JP JP2016008410A patent/JP6417341B2/en active Active
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 |