JP2013205962A - Subsystem control node, control method for subsystem, program, and service provision system - Google Patents

Subsystem control node, control method for subsystem, program, and service provision system Download PDF

Info

Publication number
JP2013205962A
JP2013205962A JP2012072069A JP2012072069A JP2013205962A JP 2013205962 A JP2013205962 A JP 2013205962A JP 2012072069 A JP2012072069 A JP 2012072069A JP 2012072069 A JP2012072069 A JP 2012072069A JP 2013205962 A JP2013205962 A JP 2013205962A
Authority
JP
Japan
Prior art keywords
decrease
increase
resource
subsystem
cache
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.)
Pending
Application number
JP2012072069A
Other languages
Japanese (ja)
Inventor
Maki Suga
真樹 菅
Satoshi Yamakawa
聡 山川
Yoshihiro Hasebe
賀洋 長谷部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012072069A priority Critical patent/JP2013205962A/en
Publication of JP2013205962A publication Critical patent/JP2013205962A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a subsystem control node which effectively utilizes resources,and enhances capability of an entire system.SOLUTION: A subsystem control node includes: an access distribution estimation part for estimating a distribution of accesses to cache data from cache use state data including information on access to cache data stored by a distribution cache cluster; a resource increase/decrease influence determination part for calculating from the estimated access distribution, a resource increase/decrease influence degree indicative of an influence on a service provision system including the distribution cache cluster caused by the resource increase/decrease in the distribution cache cluster; a resource increase/decrease object calculation part for determining on the basis of the resource increase/decrease degree whether the resource included in the distribution cache cluster should be increased or decreased, or whether a resource included in another subsystem should be increased or decreased; and a control instruction part for instructing a subsystem determined by the resource increase/decrease object calculation part to increase or decrease of a resource.

Description

本発明は、サブシステム制御ノード、サブシステムの制御方法、プログラム、サービス提供システムに関する。特に、分散キャッシュクラスタを含むサブシステム制御ノード、サブシステムの制御方法、プログラム、サービス提供システムに関する。   The present invention relates to a subsystem control node, a subsystem control method, a program, and a service providing system. In particular, the present invention relates to a subsystem control node including a distributed cache cluster, a subsystem control method, a program, and a service providing system.

複数のサブシステムから構成され、クライアントに対してサービスを提供するシステムが存在する。例えば、WEB(World Wide Web)上に構成されるショッピングシステム等が該当する。このようなシステムには、クライアントからの要求を受け付け、受け付けた要求に基づき処理を行うアプリケーションサーバを複数含むアプリケーションサーバクラスタが含まれる。   There is a system that includes a plurality of subsystems and provides services to clients. For example, a shopping system configured on the WEB (World Wide Web) is applicable. Such a system includes an application server cluster that includes a plurality of application servers that receive requests from clients and perform processing based on the received requests.

また、上記のシステムは、特定のアプリケーションサーバで行った処理内容の一部をキャッシュし、他のアプリケーションサーバで再利用する分散キャッシュクラスタをサブシステムとして含むことも多い。このような分散キャッシュクラスタでは、データベースサーバに格納されたデータのリードキャッシュや、アプリケーションサーバの計算結果のキャッシュを構成ノードである分散キャッシュサーバに保持し、他のアプリケーションサーバでの使用を可能とする。   Also, the above-mentioned system often includes a distributed cache cluster as a subsystem that caches part of the processing contents performed on a specific application server and reuses it on another application server. In such a distributed cache cluster, the read cache of the data stored in the database server and the cache of the calculation result of the application server are held in the distributed cache server which is the configuration node, and can be used by other application servers. .

ここで、特許文献1において、ディスクストレージのアクセスを監視することでアクセスが集中する領域を特定し、その領域をキャッシュする技術が開示されている。   Here, Patent Document 1 discloses a technique for identifying an area where access is concentrated by monitoring access to a disk storage and caching the area.

また、特許文献2において、アクセス元からの入出力コマンドに伴う入出力の状況を表す情報であるI/O(Input/Output)状況情報に基づき、アクセス元からのI/O性能が低下するか否かを判断し、I/O性能を向上させるようにキャッシュの利用状況を変更する技術が開示されている。   Also, in Patent Document 2, is the I / O performance from the access source reduced based on I / O (Input / Output) status information that is information indicating the input / output status accompanying the input / output command from the access source? A technique for determining whether or not to use the cache and changing the usage state of the cache so as to improve the I / O performance is disclosed.

さらに、特許文献3において、サービス需要の増減に応じてクラスタシステムのサーバ台数を調整する技術が開示されている。特許文献3が開示する技術は、クラスタ再構成技術を用いて、システムを構成する計算機を増減する。   Furthermore, Patent Document 3 discloses a technique for adjusting the number of servers in a cluster system according to an increase or decrease in service demand. The technique disclosed in Patent Document 3 uses a cluster reconfiguration technique to increase or decrease the number of computers constituting the system.

特開2010−002942号公報JP 2010-002942 A 特開2010−286923号公報JP 2010-286923 A 特開2005−092862号公報JP 2005-092662 A

なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。   Each disclosure of the above prior art document is incorporated herein by reference. The following analysis was made by the present inventors.

上述のように、特定のサービスを提供するシステムを複数のサブシステムにより構成すると共に、分散キャッシュクラスタをサブシステムとして含む場合がある。分散キャッシュクラスタは、その中に含まれるリソースを増加することで、分散キャッシュクラスタの能力を増強することができる。   As described above, a system that provides a specific service is configured by a plurality of subsystems, and a distributed cache cluster may be included as a subsystem. A distributed cache cluster can increase the capacity of the distributed cache cluster by increasing the resources contained therein.

しかし、分散キャッシュクラスタの能力をみだりに増強したとしても、サービス提供システム全体の性能向上に貢献しないことがある。そのような場合には、分散キャッシュクラスタへリソース(計算機ノード)を割り当てる意義は薄く、分散キャッシュクラスタにはリソースを割り当てない、又は、他のサブシステムに割り当てる等の対応が望まれる。   However, even if the capacity of the distributed cache cluster is increased, it may not contribute to improving the performance of the entire service providing system. In such a case, it is not meaningful to allocate resources (computer nodes) to the distributed cache cluster, and it is desirable to take measures such as not allocating resources to the distributed cache cluster or allocating them to other subsystems.

しかしながら、複数のサブシステムから構成されるシステムにおいて、時間経過に応じた負荷の変動に対し、サブシステムに含まれるいずれの構成ノードを増減したらよいかといった指標は、特許文献1〜3を含めた先行技術には開示がない。そのため、分散キャッシュクラスタにリソースを割り当てたとしても、割り当てたリソースが有効に活用されず、システム全体の性能向上に寄与しないことが想定される。   However, in a system composed of a plurality of subsystems, indices such as which of the configuration nodes included in the subsystem should be increased or decreased with respect to load fluctuations with the passage of time include Patent Documents 1 to 3. There is no disclosure in the prior art. Therefore, even if resources are allocated to the distributed cache cluster, it is assumed that the allocated resources are not effectively used and do not contribute to the performance improvement of the entire system.

以上のことから、リソースを有効に活用し、サービス提供システム全体の能力を向上させるサブシステム制御ノード、サブシステムの制御方法、プログラム、サービス提供システムが、望まれる。なお、分散キャッシュクラスタの能力増強と、サービス提供システム全体の性能に対する影響についての詳細は後述する。   From the above, a subsystem control node, a subsystem control method, a program, and a service providing system that effectively utilize resources and improve the capability of the entire service providing system are desired. Details of the capacity enhancement of the distributed cache cluster and the influence on the performance of the entire service providing system will be described later.

本発明の第1の視点によれば、分散キャッシュクラスタが格納するキャッシュデータに対するアクセスに関する情報を含むキャッシュ利用状況データから、前記キャッシュデータに対するアクセス分布を推定するアクセス分布推定部と、推定されたアクセス分布から、前記分散キャッシュクラスタに含まれるリソースの増減が、前記分散キャッシュクラスタを含むサービス提供システムに与える影響を示すリソース増減影響度を算出するリソース増減影響判定部と、前記リソース増減影響度に基づき、前記分散キャッシュクラスタに含まれるリソースを増減するか、又は、他のサブシステムに含まれるリソースを増減するか、を決定するリソース増減対象算出部と、前記リソース増減対象算出部が決定したサブシステムに対し、リソースの増減を指示する制御指示部と、を備えるサブシステム制御ノードが提供される。   According to the first aspect of the present invention, an access distribution estimation unit that estimates an access distribution for the cache data from cache usage data including information related to access to the cache data stored in the distributed cache cluster, and the estimated access Based on the resource increase / decrease influence degree, a resource increase / decrease influence determination unit that calculates a resource increase / decrease influence degree indicating the influence of the increase / decrease of the resource included in the distributed cache cluster on the service providing system including the distributed cache cluster from the distribution; A resource increase / decrease target calculation unit that determines whether to increase / decrease resources included in the distributed cache cluster or increase / decrease resources included in another subsystem, and a subsystem determined by the resource increase / decrease target calculation unit Increase of resources Subsystem control node and a control instruction unit for instructing a is provided.

本発明の第2の視点によれば、分散キャッシュクラスタが格納するキャッシュデータに対するアクセスに関する情報を含むキャッシュ利用状況データから、前記キャッシュデータに対するアクセス分布を推定するアクセス分布推定工程と、推定されたアクセス分布から、前記分散キャッシュクラスタに含まれるリソースの増減が、前記分散キャッシュクラスタを含むサービス提供システムに与える影響を示すリソース増減影響度を算出するリソース増減影響判定工程と、前記リソース増減影響度に基づき、前記分散キャッシュクラスタに含まれるリソースを増減するか、又は、他のサブシステムに含まれるリソースを増減するか、を決定するリソース増減対象算出工程と、前記リソース増減対象算出工程において決定したサブシステムに対し、リソースの増減を指示する工程と、を含むサブシステムの制御方法が提供される。   According to the second aspect of the present invention, an access distribution estimation step of estimating an access distribution for the cache data from cache usage status data including information related to access to the cache data stored in the distributed cache cluster, and the estimated access From the distribution, a resource increase / decrease influence determination step for calculating a resource increase / decrease influence degree indicating an influence of increase / decrease of resources included in the distributed cache cluster on a service providing system including the distributed cache cluster, and based on the resource increase / decrease influence degree A resource increase / decrease target calculation step for determining whether to increase / decrease resources included in the distributed cache cluster or increase / decrease resources included in another subsystem, and the subsystem determined in the resource increase / decrease target calculation step Against The method of subsystems including a step of instructing the resource of increase or decrease, is provided.

本発明の第3の視点によれば、分散キャッシュクラスタが格納するキャッシュデータに対するアクセスに関する情報を含むキャッシュ利用状況データから、前記キャッシュデータに対するアクセス分布を推定するアクセス分布推定処理と、推定されたアクセス分布から、前記分散キャッシュクラスタに含まれるリソースの増減が、前記分散キャッシュクラスタを含むサービス提供システムに与える影響を示すリソース増減影響度を算出するリソース増減影響判定処理と、前記リソース増減影響度に基づき、前記分散キャッシュクラスタに含まれるリソースを増減するか、又は、他のサブシステムに含まれるリソースを増減するか、を決定するリソース増減対象算出処理と、前記リソース増減対象算出処理において決定したサブシステムに対し、リソースの増減を指示する処理と、をサブシステム制御ノードを制御するコンピュータに実行させるプログラムが提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non−transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
According to the third aspect of the present invention, an access distribution estimation process for estimating an access distribution for the cache data from cache usage status data including information on access to the cache data stored in the distributed cache cluster, and the estimated access Based on the resource increase / decrease influence determination processing for calculating the resource increase / decrease influence degree indicating the influence of the increase / decrease of the resource included in the distributed cache cluster on the service providing system including the distributed cache cluster from the distribution, , A resource increase / decrease target calculation process for determining whether to increase / decrease resources included in the distributed cache cluster or increase / decrease resources included in other subsystems, and the subsystem determined in the resource increase / decrease target calculation process Against Program for executing a process of instructing the resource of increase or decrease, to a computer to control the sub-system control node is provided.
This program can be recorded on a computer-readable storage medium. The storage medium can be non-transient such as a semiconductor memory, a hard disk, a magnetic recording medium, an optical recording medium, or the like. The present invention can also be embodied as a computer program product.

本発明の第4の視点によれば、キャッシュデータの格納が可能な分散キャッシュノードと、前記キャッシュデータに対するアクセスに関する情報を含むキャッシュ利用状況データを生成するキャッシュ利用状況監視部と、を備える分散キャッシュクラスタと、前記キャッシュ利用状況データから、前記キャッシュデータに対するアクセス分布を推定するアクセス分布推定部と、推定されたアクセス分布から、前記分散キャッシュクラスタに含まれるリソースを増減した際に、前記分散キャッシュクラスタを含むシステムへ与える影響を示すリソース増減影響度を算出するリソース増減影響判定部と、前記リソース増減影響度に基づき、前記分散キャッシュクラスタに含まれるリソースを増減するか、又は、他のサブシステムに含まれるリソースを増減するか、を決定するリソース増減対象算出部と、前記リソース増減対象算出部が決定したサブシステムに対し、リソースの増減を指示する制御指示部と、を備えるサブシステム制御ノードと、を含むサービス提供システムが提供される。   According to a fourth aspect of the present invention, a distributed cache comprising: a distributed cache node capable of storing cache data; and a cache usage status monitoring unit that generates cache usage status data including information related to access to the cache data. A cluster, an access distribution estimation unit that estimates an access distribution for the cache data from the cache usage status data, and the distributed cache cluster when the resources included in the distributed cache cluster are increased or decreased from the estimated access distribution A resource increase / decrease influence determining unit that calculates an influence degree of resource increase / decrease indicating an influence on a system including the resource increase / decrease effect, or increase / decrease resources included in the distributed cache cluster based on the resource increase / decrease influence degree Included resource A subsystem control node comprising: a resource increase / decrease target calculation unit that determines whether to increase / decrease, and a control instruction unit that instructs the subsystem determined by the resource increase / decrease target calculation unit to increase / decrease resources A service providing system is provided.

本発明の各視点によれば、リソースを有効に活用し、サービス提供システム全体の能力を向上させるサブシステム制御ノード、サブシステムの制御方法、プログラム、サービス提供システムが、提供される。   According to each aspect of the present invention, there are provided a subsystem control node, a subsystem control method, a program, and a service providing system that effectively use resources and improve the capability of the entire service providing system.

一実施形態の概要を説明するための図である。It is a figure for demonstrating the outline | summary of one Embodiment. サービス提供システム1の全体構成の一例を示す図である。It is a figure which shows an example of the whole structure of the service provision system. 第1の実施形態に係るサービス提供システム8の全体構成の一例を示す図である。It is a figure which shows an example of the whole structure of the service provision system 8 which concerns on 1st Embodiment. 制御指示ノード6aの動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of the control instruction node 6a. アクセス状況の数値データの一例を示す図である。It is a figure which shows an example of the numerical data of an access condition. 推定したモデル関数のパラメータを用いて算出したアクセス分布グラフの一例を示す図である。It is a figure which shows an example of the access distribution graph calculated using the parameter of the estimated model function. 推定したモデル関数のパラメータを用いて算出したアクセス分布グラフの一例を示す図である。It is a figure which shows an example of the access distribution graph calculated using the parameter of the estimated model function. 推定したモデル関数のパラメータを用いて算出したアクセス分布グラフの一例を示す図である。It is a figure which shows an example of the access distribution graph calculated using the parameter of the estimated model function.

初めに、図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。   First, an outline of an embodiment will be described with reference to FIG. Note that the reference numerals of the drawings attached to the outline are attached to the respective elements for convenience as an example for facilitating understanding, and the description of the outline is not intended to be any limitation.

上述のように、複数のサブシステムから構成されるシステムにおいて、時間経過に応じた負荷の変動に対して、サブシステムに含まれるいずれのリソースを増減したらよいかといった点に関し、明確な指標が存在しない。そのため、分散キャッシュクラスタにリソースを割り当てたとしても、割り当てたリソースが有効に活用されず、システム全体の性能向上に寄与しない場合がある。以上のことから、リソースを有効に活用し、サービス提供システム全体の能力を向上させるサブシステム制御ノードが、望まれる。   As described above, there is a clear indicator regarding which resources included in a subsystem should be increased or decreased in response to load fluctuations over time in a system composed of multiple subsystems. do not do. For this reason, even if resources are allocated to the distributed cache cluster, the allocated resources may not be used effectively, and may not contribute to improving the performance of the entire system. In view of the above, a subsystem control node that effectively utilizes resources and improves the capabilities of the entire service providing system is desired.

そこで、一例として図1に示すサブシステム制御ノード100を提供する。サブシステム制御ノード100は、分散キャッシュクラスタが格納するキャッシュデータに対するアクセスに関する情報を含むキャッシュ利用状況データから、キャッシュデータに対するアクセス分布を推定するアクセス分布推定部101と、推定されたアクセス分布から、分散キャッシュクラスタに含まれるリソースの増減が、分散キャッシュクラスタを含むサービス提供システムに与える影響を示すリソース増減影響度を算出するリソース増減影響判定部102と、リソース増減影響度に基づき、分散キャッシュクラスタに含まれるリソースを増減するか、又は、他のサブシステムに含まれるリソースを増減するか、を決定するリソース増減対象算出部103と、リソース増減対象算出部103が決定したサブシステムに対し、リソースの増減を指示する制御指示部104と、を備える。   Therefore, the subsystem control node 100 shown in FIG. 1 is provided as an example. The subsystem control node 100 includes an access distribution estimation unit 101 that estimates an access distribution for cache data from cache usage state data including information related to access to cache data stored in the distributed cache cluster, and a distributed distribution from the estimated access distribution. Included in the distributed cache cluster based on the resource increase / decrease influence determining unit 102 that calculates the resource increase / decrease influence degree indicating the influence of the increase / decrease of the resource included in the cache cluster on the service providing system including the distributed cache cluster The resource increase / decrease target calculation unit 103 that determines whether to increase or decrease the resources to be increased or decreased and the resources included in other subsystems, and the subsystem determined by the resource increase / decrease target calculation unit 103 to the resource And a control instructing unit 104 for instructing the increase or decrease, the.

サブシステム制御ノード100は、キャッシュデータに対するアクセス情報(キャッシュ利用状況データ)からアクセス分布を推定し、推定したアクセス分布から分散キャッシュクラスタの能力を増減(リソースを増減)した場合、システム全体の性能向上にどの程度寄与するかを定量化したリソース増減影響度を算出する。このリソース増減影響度と任意に指定された閾値とを比較し、分散キャッシュクラスタに含まれるリソースの増加によるシステム全体の性能向上が期待できる場合に限り、分散キャッシュクラスタに含まれるリソースを増加させる。その結果、リソースが有効に活用され、サービス提供システム全体の能力を向上させることができる。   The subsystem control node 100 estimates the access distribution from the access information (cache usage status data) for the cache data, and when the capacity of the distributed cache cluster is increased or decreased (the resources are increased or decreased) from the estimated access distribution, the performance of the entire system is improved. The resource increase / decrease influence level is calculated by quantifying how much it contributes to. This resource increase / decrease influence level is compared with an arbitrarily specified threshold, and only when the improvement in the performance of the entire system can be expected due to the increase in the resources included in the distributed cache cluster, the resources included in the distributed cache cluster are increased. As a result, resources can be used effectively and the capability of the entire service providing system can be improved.

さらに、下記の形態が可能である。   Furthermore, the following forms are possible.

[形態1]上記第1の視点に係るサブシステム制御ノードのとおりである。   [Mode 1] As in the subsystem control node according to the first aspect.

[形態2]前記リソース増減影響判定部は、前記キャッシュデータに対するアクセスがジップ分布に従うと仮定した場合の前記キャッシュデータに対するアクセスをモデル化するモデル関数と、前記分散キャッシュクラスタに格納できるキャッシュの個数と、に基づき前記リソース増減影響度を算出することが好ましい。   [Mode 2] The resource increase / decrease influence determining unit is configured to model access to the cache data when it is assumed that the access to the cache data follows a zip distribution, and the number of caches that can be stored in the distributed cache cluster. , It is preferable to calculate the resource increase / decrease influence degree.

[形態3]前記リソース増減対象算出部は、前記サービス提供システムを構成するサブシステムのリソースを増加させる指示を受け取った場合、かつ、前記リソース増減影響度が予め定めた閾値以上の場合に、前記分散キャッシュクラスタに含まれるリソースを増加させ、前記サービス提供システムを構成するサブシステムのリソースを減少させる指示を受け取った場合、かつ、前記リソース増減影響度が予め定めた閾値より小さい場合に、前記分散キャッシュクラスタに含まれるリソースを減少させることが好ましい。   [Mode 3] When the resource increase / decrease target calculation unit receives an instruction to increase the resource of the subsystem constituting the service providing system, and the resource increase / decrease influence degree is equal to or greater than a predetermined threshold, When the instruction to increase the resource included in the distributed cache cluster and decrease the resource of the subsystem constituting the service providing system is received, and when the influence of the resource increase / decrease is smaller than a predetermined threshold, It is preferable to reduce the resources included in the cache cluster.

[形態4]前記リソース増減対象算出部は、前記分散キャッシュクラスタとは異なるサブシステムに含まれるリソースの増減を、前記分散キャッシュクラスタとは異なるサブシステムのリソース負荷情報に基づき決定することが好ましい。   [Mode 4] Preferably, the resource increase / decrease target calculation unit determines increase / decrease in resources included in a subsystem different from the distributed cache cluster based on resource load information of a subsystem different from the distributed cache cluster.

[形態5]上記第2の視点に係るサブシステムの制御方法のとおりである。   [Mode 5] The subsystem control method according to the second aspect.

[形態6]前記リソース増減影響判定工程は、前記キャッシュデータに対するアクセスがジップ分布に従うと仮定した場合の前記キャッシュデータに対するアクセスをモデル化するモデル関数と、前記分散キャッシュクラスタに格納できるキャッシュの個数と、に基づき前記リソース増減影響度を算出することが好ましい。   [Mode 6] The resource increase / decrease influence determining step includes a model function that models access to the cache data when it is assumed that the access to the cache data follows a zip distribution, and the number of caches that can be stored in the distributed cache cluster. , It is preferable to calculate the resource increase / decrease influence degree.

[形態7]前記リソース増減対象算出工程は、前記サービス提供システムを構成するサブシステムのリソースを増加させる指示を受け取った場合、かつ、前記リソース増減影響度が予め定めた閾値以上の場合に、前記分散キャッシュクラスタに含まれるリソースを増加させ、前記サービス提供システムを構成するサブシステムのリソースを減少させる指示を受け取った場合、かつ、前記リソース増減影響度が予め定めた閾値より小さい場合に、前記分散キャッシュクラスタに含まれるリソースを減少させることが好ましい。   [Mode 7] When the resource increase / decrease target calculation step receives an instruction to increase the resource of the subsystem constituting the service providing system, and the resource increase / decrease influence degree is equal to or greater than a predetermined threshold, When the instruction to increase the resource included in the distributed cache cluster and decrease the resource of the subsystem constituting the service providing system is received, and when the influence of the resource increase / decrease is smaller than a predetermined threshold, It is preferable to reduce the resources included in the cache cluster.

[形態8]前記リソース増減対象算出工程は、前記分散キャッシュクラスタとは異なるサブシステムに含まれるリソースの増減を、前記分散キャッシュクラスタとは異なるサブシステムのリソース負荷情報に基づき決定することが好ましい。   [Mode 8] Preferably, the resource increase / decrease target calculation step determines increase / decrease in resources included in a subsystem different from the distributed cache cluster based on resource load information of a subsystem different from the distributed cache cluster.

[形態9]上記第3の視点に係るプログラムのとおりである。   [Mode 9] The program according to the third aspect.

[形態10]前記リソース増減影響判定処理は、前記キャッシュデータに対するアクセスがジップ分布に従うと仮定した場合の前記キャッシュデータに対するアクセスをモデル化するモデル関数と、前記分散キャッシュクラスタに格納できるキャッシュの個数と、に基づき前記リソース増減影響度を算出することが好ましい。   [Mode 10] The resource increase / decrease influence determination process includes a model function that models access to the cache data when it is assumed that access to the cache data follows a zip distribution, and the number of caches that can be stored in the distributed cache cluster. , It is preferable to calculate the resource increase / decrease influence degree.

[形態11]前記リソース増減対象算出処理は、前記サービス提供システムを構成するサブシステムのリソースを増加させる指示を受け取った場合、かつ、前記リソース増減影響度が予め定めた閾値以上の場合に、前記分散キャッシュクラスタに含まれるリソースを増加させ、前記サービス提供システムを構成するサブシステムのリソースを減少させる指示を受け取った場合、かつ、前記リソース増減影響度が予め定めた閾値より小さい場合に、前記分散キャッシュクラスタに含まれるリソースを減少させることが好ましい。   [Mode 11] When the resource increase / decrease target calculation process receives an instruction to increase the resource of a subsystem constituting the service providing system, and the resource increase / decrease influence degree is equal to or greater than a predetermined threshold, When the instruction to increase the resource included in the distributed cache cluster and decrease the resource of the subsystem constituting the service providing system is received, and when the influence of the resource increase / decrease is smaller than a predetermined threshold, It is preferable to reduce the resources included in the cache cluster.

[形態12]前記リソース増減対象算出処理は、前記分散キャッシュクラスタとは異なるサブシステムに含まれるリソースの増減を、前記分散キャッシュクラスタとは異なるサブシステムのリソース負荷情報に基づき決定することが好ましい。   [Mode 12] Preferably, the resource increase / decrease target calculation processing determines increase / decrease in resources included in a subsystem different from the distributed cache cluster based on resource load information of a subsystem different from the distributed cache cluster.

[形態13]上記第4の視点に係るサービス提供システムのとおりである。   [Mode 13] The service providing system according to the fourth aspect.

以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。   Hereinafter, specific embodiments will be described in more detail with reference to the drawings.

初めに、分散キャッシュクラスタを含むサービス提供システム1について説明する。   First, the service providing system 1 including a distributed cache cluster will be described.

図2は、サービス提供システム1の全体構成の一例を示す図である。   FIG. 2 is a diagram illustrating an example of the overall configuration of the service providing system 1.

サービス提供システム1には、アプリケーションサーバクラスタ2と、分散キャッシュクラスタ3と、分散ストレージシステム4と、リソースプール5と、制御指示ノード6と、制御イベント通知部7と、が含まれている。アプリケーションサーバクラスタ2、分散キャッシュクラスタ3、分散ストレージシステム4、の各サブシステムには、それぞれ構成ノード(図示せず)が含まれている。   The service providing system 1 includes an application server cluster 2, a distributed cache cluster 3, a distributed storage system 4, a resource pool 5, a control instruction node 6, and a control event notification unit 7. Each subsystem of the application server cluster 2, the distributed cache cluster 3, and the distributed storage system 4 includes a configuration node (not shown).

サービス提供システム1は、アプリケーションサーバクラスタ2、分散キャッシュクラスタ3、分散ストレージシステム4、をネットワークにより接続することで、任意のサービスを提供する。例えば、WEBショッピングシステムのような3層モデルで実現されるシステムにおいては、WEB画面を提供するUI(プレゼンテーション層)が図2に示すサブシステムに加えて存在し、動的コンテンツを生成する機能をアプリケーションサーバクラスタ2が担当する。   The service providing system 1 provides an arbitrary service by connecting the application server cluster 2, the distributed cache cluster 3, and the distributed storage system 4 via a network. For example, in a system realized by a three-layer model such as a WEB shopping system, a UI (presentation layer) that provides a WEB screen exists in addition to the subsystem shown in FIG. 2 and has a function of generating dynamic content. The application server cluster 2 is in charge.

また、生成された動的コンテンツ及びプレゼンテーション層の静的コンテンツの内容をキャッシュし高速化する機能を分散キャッシュクラスタ3が担当する。   In addition, the distributed cache cluster 3 is responsible for caching and speeding up the contents of the generated dynamic content and the static content of the presentation layer.

さらに、静的コンテンツの情報や動的コンテンツを生成するための情報を格納するデータベース(データ層)の機能を分散ストレージシステム4が担当する。   Furthermore, the distributed storage system 4 is in charge of the function of a database (data layer) that stores information for generating static contents and information for generating dynamic contents.

アプリケーションサーバクラスタ2は、提供するサービスのUI(User Interface)機能などを提供する上位層からの処理リクエストを受け付け、必要に応じて分散ストレージシステム4が記憶するデータにアクセスし、そのデータを用いた計算処理を実行する。その際、アプリケーションサーバクラスタ2は、同一のリクエストに対する応答データ、一時的に保持する必要があるデータ(例えば、WEBショッピングシステムのショッピングカートに入れて注文していないデータ等)、分散ストレージシステム4からのリードキャッシュ、等を分散キャッシュクラスタ3に格納する。   The application server cluster 2 accepts a processing request from an upper layer that provides a UI (User Interface) function of a service to be provided, accesses data stored in the distributed storage system 4 as necessary, and uses the data Execute the calculation process. At that time, the application server cluster 2 responds to the same request, data that needs to be temporarily stored (for example, data that is not placed in a shopping cart of the WEB shopping system), distributed storage system 4 Are stored in the distributed cache cluster 3.

さらに、アプリケーションサーバクラスタ2は、計算結果をリクエストの発行元に対して応答する。また、アプリケーションサーバクラスタ2は、同等の結果を応答すればよいリクエストに対しては、再度の計算処理や分散ストレージシステム4へのアクセスを行わず、分散キャッシュクラスタ3に保持されているデータを利用し、アクセスに対する応答を行う。   Further, the application server cluster 2 returns a calculation result to the issuer of the request. In addition, the application server cluster 2 uses the data held in the distributed cache cluster 3 for a request that only has to return an equivalent result, without performing recalculation processing or accessing the distributed storage system 4. And responds to access.

分散キャッシュクラスタ3は、アプリケーションサーバクラスタ2がアクセスする分散ストレージシステム4のデータや、アプリケーションサーバクラスタ2が計算して生成したデータを一時的に保持する。分散キャッシュクラスタ3は、アプリケーションサーバクラスタ2を初めとした他のシステム(サブシステム)からのアクセスリクエストに対し、一時的に保持したデータを用いて応答する。なお、キャッシュデータは、リクエストに対する応答を高速に行うという観点から、構成ノードのメモリ上に格納されることが多い。   The distributed cache cluster 3 temporarily holds data of the distributed storage system 4 accessed by the application server cluster 2 and data generated by calculation by the application server cluster 2. The distributed cache cluster 3 responds to access requests from other systems (subsystems) including the application server cluster 2 using temporarily held data. Note that cache data is often stored in the memory of a constituent node from the viewpoint of performing a response to a request at high speed.

分散キャッシュクラスタ3が存在することによって、アプリケーションサーバクラスタ2等は、分散ストレージシステム4に対する度重なるアクセスや、同じ計算結果となる計算の実行が、不要となる。その結果、アプリケーションサーバクラスタ2、分散ストレージシステム4の負荷が軽減され、サービス提供システム1全体の性能向上や、リソースの利用率の向上が期待できる。   Since the distributed cache cluster 3 exists, the application server cluster 2 and the like do not need to repeatedly access the distributed storage system 4 or execute the calculation with the same calculation result. As a result, the load on the application server cluster 2 and the distributed storage system 4 can be reduced, and improvement in the performance of the service providing system 1 as a whole and improvement in resource utilization can be expected.

分散ストレージシステム4は、提供するサービスに必要なデータを保持し、アプリケーションサーバクラスタ2等からのリクエストに対し応答する。分散ストレージシステム4は、データベースサーバやファイルシステムサーバ等を含んで構成されることが多い。   The distributed storage system 4 holds data necessary for the service to be provided and responds to a request from the application server cluster 2 or the like. The distributed storage system 4 is often configured to include a database server, a file system server, and the like.

ここで、アプリケーションサーバクラスタ2、分散キャッシュクラスタ3、分散ストレージシステム4は、それぞれ単一又は複数の計算機ノードを含んで構成される。この計算機ノードが、各サブシステムの機能を実現するために必要なリソースに相当する。計算機ノードは、CPU(Central Processing Unit)、メモリ、HDD等備えるサーバが想定できる。あるいは、1つのコンピュータ上に複数のコンピュータをエミュレーションする仮想マシンであってもよい。   Here, the application server cluster 2, the distributed cache cluster 3, and the distributed storage system 4 are each configured to include a single or a plurality of computer nodes. This computer node corresponds to a resource necessary for realizing the function of each subsystem. As the computer node, a server including a CPU (Central Processing Unit), a memory, an HDD, and the like can be assumed. Alternatively, it may be a virtual machine that emulates a plurality of computers on one computer.

リソースプール5は、アプリケーションサーバクラスタ2等に割り当てるリソースの増減を保持管理する制御ノードである。より具体的には、リソースプール5は、アプリケーションサーバクラスタ2等のサブシステムに対してリソースを割り当て、又は、離脱させる(取り除く)といった機能を実現するプログラムを実行する制御ノードである。なお、リソースプール5は、図2に示すように、リソースを一元管理しても、サブシステムごとに管理してもよい(サブシステムごとにリソースプールが存在してもよい)。   The resource pool 5 is a control node that holds and manages increase / decrease of resources allocated to the application server cluster 2 and the like. More specifically, the resource pool 5 is a control node that executes a program that realizes a function of allocating or detaching (removing) resources from or to a subsystem such as the application server cluster 2. As shown in FIG. 2, the resource pool 5 may be managed centrally or may be managed for each subsystem (a resource pool may exist for each subsystem).

制御指示ノード6は、各サブシステムに含まれるリソースの増減を指示する。制御イベント通知部7は、制御指示ノード6に対してリソース増減処理を実行させる契機を通知する。例えば、システム管理者等からの指示が該当する。   The control instruction node 6 instructs increase / decrease of resources included in each subsystem. The control event notification unit 7 notifies the control instruction node 6 of a trigger for executing the resource increase / decrease process. For example, an instruction from a system administrator or the like is applicable.

次に、サービス提供システム1の性能について説明する。   Next, the performance of the service providing system 1 will be described.

分散キャッシュクラスタ3を使用することで、提供するサービスにおける参照系の処理リクエストの性能を向上することができる。   By using the distributed cache cluster 3, it is possible to improve the performance of the reference processing request in the service to be provided.

一方、更新系の処理リクエストに対しては、分散ストレージシステム4へのアクセスが必要であり、分散キャッシュクラスタ3の能力を増強しても(リソースを多く割り当てても)、サービス提供システム1全体の性能が向上するとは限らない。例えば、更新系の処理リクエストを受けた際、そのリクエストが、分散キャッシュクラスタ3が保持するキャッシュデータへのリードアクセスが支配的な処理の場合には、更新系のリクエストを受け付けた場合であっても、システム全体の性能向上が期待できる。あるいは、更新系の処理リクエストが、分散ストレージシステム4へのデータ書き込み時に、分散キャッシュクラスタ3にデータを一度書き込んだ上で、非同期的に分散ストレージシステム4にデータを書き込む場合にも、更新系のリクエストに対する分散キャッシュクラスタ3の貢献が期待できる。   On the other hand, access to the distributed storage system 4 is required for update processing requests, and even if the capacity of the distributed cache cluster 3 is increased (although many resources are allocated), the entire service providing system 1 The performance is not always improved. For example, when an update process request is received, if the request is a process in which read access to cache data held by the distributed cache cluster 3 is dominant, an update request is received. However, the performance improvement of the entire system can be expected. Alternatively, when an update processing request writes data to the distributed cache cluster 3 once and writes data to the distributed storage system 4 asynchronously when data is written to the distributed storage system 4, The contribution of the distributed cache cluster 3 to the request can be expected.

しかし、これらの場合を除いて、更新系の処理リクエストに対する分散キャッシュクラスタ3の能力増強による、サービス提供システム1全体の性能向上に対する貢献はさほど期待できない。   However, except for these cases, it cannot be expected to contribute much to the performance improvement of the entire service providing system 1 by increasing the capacity of the distributed cache cluster 3 with respect to update processing requests.

リソースプール5が管理するリソースは、アプリケーションサーバクラスタ2、分散キャッシュクラスタ3、分散ストレージシステム4のいずれにも割り当て可能である。このようなサービス提供システム1の場合、サービスに対する負荷リクエストが増加した場合に、いずれのサブシステム(アプリケーションサーバクラスタ2等)にリソースを割り当てるべきであるかが問題となる。   Resources managed by the resource pool 5 can be assigned to any of the application server cluster 2, the distributed cache cluster 3, and the distributed storage system 4. In the case of such a service providing system 1, when load requests for services increase, it becomes a problem to which subsystem (application server cluster 2 or the like) a resource should be allocated.

その際、単にリソースが不足しているサブシステムに多くのリソースを割り当てるという対応が考えられる。しかし、このような対応では、サービス提供システム1のようなシステムでは、各サブシステムの動作が相互に影響するため、必ずしもシステム全体の性能が向上する訳ではない。より具体的には、分散キャッシュクラスタ3に多くのリソースを割り当てたとしても、分散キャッシュクラスタ3が応答できる負荷リクエストが増大していなければ、サービス提供システム1全体の性能向上には寄与しない。即ち、有限なリソースをどのような比率で各サブシステムに割り当てるべきかといった点は、特許文献1〜3を含めた先行技術には開示がない。   At that time, it can be considered that a large number of resources are simply allocated to a subsystem that lacks resources. However, in such a correspondence, in a system such as the service providing system 1, the operation of each subsystem affects each other, so the performance of the entire system does not necessarily improve. More specifically, even if many resources are allocated to the distributed cache cluster 3, if the load requests that the distributed cache cluster 3 can respond to have not increased, it does not contribute to the performance improvement of the service providing system 1 as a whole. In other words, there is no disclosure in the prior art including Patent Documents 1 to 3 in what ratio the finite resources should be allocated to each subsystem.

さらに、サービス提供システム1の負荷が減少した際には、余剰のリソースを停止させることが求められる。例えば、電力コストを下げるため、一部のリソースへの電源供給を停止することが行われる。あるいは、クラウドコンピューティングに代表されるリソースの利用量に比例してコストが定まる場合については、サービス提供者(システム運用者)は、できるだけリソースを縮退して稼働させる必要がある。   Furthermore, when the load of the service providing system 1 decreases, it is required to stop surplus resources. For example, in order to reduce the power cost, power supply to some resources is stopped. Alternatively, in the case where the cost is determined in proportion to the usage amount of resources represented by cloud computing, the service provider (system operator) needs to operate with the resources reduced as much as possible.

次に、サービス提供システム1において分散キャッシュクラスタ3のリソースを増減させた場合に、システム全体に与える影響について分析する。   Next, when the resources of the distributed cache cluster 3 are increased or decreased in the service providing system 1, the influence on the entire system is analyzed.

初めに、分散キャッシュクラスタ3に含まれるリソースを減少する場合について考える。この場合、分散キャッシュクラスタ3が提供できるキャッシュ容量が削減されることを意味するため、キャッシュされないデータの種類が増える。従って、削減された容量に相当するキャッシュデータについては、キャッシュアクセスでなくアプリケーションサーバクラスタ2自身による再計算により応答する。そのため、アプリケーションサーバクラスタ2の負荷が増大する。さらに、再計算処理の増加に伴い、分散ストレージシステム4へのアクセス負荷が増大する。   First, consider a case where the resources included in the distributed cache cluster 3 are reduced. In this case, this means that the cache capacity that can be provided by the distributed cache cluster 3 is reduced, and therefore the types of data that are not cached increase. Accordingly, the cache data corresponding to the reduced capacity is responded not by cache access but by recalculation by the application server cluster 2 itself. Therefore, the load on the application server cluster 2 increases. Furthermore, the access load to the distributed storage system 4 increases as the recalculation process increases.

次に、分散キャッシュクラスタ3に含まれるリソースを増加する場合について考える。この場合、アプリケーションサーバクラスタ2の計算結果をキャッシュする容量が大きくなるため、アプリケーションサーバクラスタ2による計算処理が減少する。そのため、分散ストレージシステム4に対するアクセス負荷も減少する。   Next, consider a case where the resources included in the distributed cache cluster 3 are increased. In this case, since the capacity for caching the calculation results of the application server cluster 2 increases, the calculation processing by the application server cluster 2 decreases. Therefore, the access load on the distributed storage system 4 is also reduced.

その際、分散ストレージシステム4へのアクセス分布がジップ分布のような分布であれば、アクセス頻度の順位が低いデータは再びアクセスされる可能性は低い。例えば、WEBページへのアクセス頻度はジップ分布に従うことが多い。   At this time, if the access distribution to the distributed storage system 4 is a distribution such as a zip distribution, it is unlikely that data with a low access frequency order will be accessed again. For example, the access frequency to the WEB page often follows a zip distribution.

アクセス頻度の順位が低いデータには、再度アクセスされる可能性が低いため、計算結果を分散キャッシュクラスタ3にキャッシュしたとしても、そのようなデータに再びアクセスすることは希である。そのため、アプリケーションサーバクラスタ2及び分散ストレージシステム4の負荷が、軽減されることはない。即ち、このような場合には、分散キャッシュクラスタ3の能力を増強したとしても、サービス提供システム1全体の性能向上は期待できない。   Since data with low access frequency rank is unlikely to be accessed again, even if the calculation result is cached in the distributed cache cluster 3, such data is rarely accessed again. Therefore, the load on the application server cluster 2 and the distributed storage system 4 is not reduced. That is, in such a case, even if the capacity of the distributed cache cluster 3 is increased, the performance improvement of the entire service providing system 1 cannot be expected.

以上のことから、有限なリソースを有効活用するためには、分散キャッシュクラスタ3に含まれるリソースを増加させるのか、他のサブシステムに含まれるリソースを増加させるのか、を適切に定めることが求められる。   From the above, in order to effectively use limited resources, it is required to appropriately determine whether to increase the resources included in the distributed cache cluster 3 or to increase the resources included in other subsystems. .

[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。
[First Embodiment]
The first embodiment will be described in more detail with reference to the drawings.

図3は、本実施形態に係るサービス提供システム8の全体構成の一例を示す図である。図3において図2と同一構成要素には、同一の符号を表し、その説明を省略する。   FIG. 3 is a diagram illustrating an example of the overall configuration of the service providing system 8 according to the present embodiment. 3, the same components as those in FIG. 2 are denoted by the same reference numerals, and the description thereof is omitted.

初めに、サービス提供システム8に含まれる各構成要素の詳細について説明する。   First, details of each component included in the service providing system 8 will be described.

分散キャッシュクラスタ3aは、キャッシュ利用状況監視部10と、ノード増減部11と、分散キャッシュノード12及び13と、を含んで構成される。   The distributed cache cluster 3a includes a cache usage status monitoring unit 10, a node increase / decrease unit 11, and distributed cache nodes 12 and 13.

分散キャッシュノード12及び13は、分散キャッシュクラスタ3aを実現するためのリソースである。図3では、2つのノードにより分散キャッシュクラスタ3aは実現されているが、1つ以上の任意のノードを用いることができるのは勿論である。分散キャッシュノード12及び13は、分散キャッシュを実現する手段及びキャッシュデータの記憶手段(図示せず)を備える。   The distributed cache nodes 12 and 13 are resources for realizing the distributed cache cluster 3a. In FIG. 3, the distributed cache cluster 3a is realized by two nodes. Of course, one or more arbitrary nodes can be used. The distributed cache nodes 12 and 13 include a means for realizing a distributed cache and a cache data storage means (not shown).

キャッシュ利用状況監視部10は、分散キャッシュクラスタ3aにキャッシュとして登録されているデータのアクセス回数を取得する。また、キャッシュ利用状況監視部10は、制御指示ノード6aに含まれるアクセス分布推定部40からのリクエストに応じ、登録データのアクセス回数を応答する。   The cache usage status monitoring unit 10 acquires the access count of data registered as a cache in the distributed cache cluster 3a. Further, the cache usage status monitoring unit 10 responds with the access count of the registered data in response to a request from the access distribution estimation unit 40 included in the control instruction node 6a.

なお、キャッシュ利用状況監視部10の実現形態として、様々な形態が考えられる。例えば、分散キャッシュノード12及び13が利用されるごとに利用履歴をカウントし、任意の計算機ノードで動作するプログラムによってこのような利用履歴を収集し、データベースプログラムなどの記憶管理手段により保持される方法が考えられる。   Various forms of implementation of the cache usage status monitoring unit 10 are possible. For example, each time the distributed cache nodes 12 and 13 are used, a usage history is counted, and such usage history is collected by a program operating on an arbitrary computer node, and is stored by storage management means such as a database program. Can be considered.

ノード増減部11は、分散キャッシュクラスタ3aを構成する分散キャッシュノードの台数を増加させ、又は、減少させる機能を持つ。ノード増減部11は、分散キャッシュクラスタ3aに割り当てられているリソースを分散キャッシュクラスタ3aから離脱させリソースプール5にその旨を通知する。あるいは、割り当てられているノードを増加させる場合には、リソースプール5からリソースを確保して分散キャッシュクラスタ3aに参加させる。   The node increasing / decreasing unit 11 has a function of increasing or decreasing the number of distributed cache nodes constituting the distributed cache cluster 3a. The node increase / decrease unit 11 leaves the resource allocated to the distributed cache cluster 3a from the distributed cache cluster 3a and notifies the resource pool 5 to that effect. Alternatively, when increasing the number of allocated nodes, resources are secured from the resource pool 5 and participate in the distributed cache cluster 3a.

ノード増減部11は、分散キャッシュクラスタ3aを構成する分散キャッシュノードのいずれかにおいて、プログラムを実行することで実現するか、又は、複数のノードのプログラムが協調して動作することで実現できる。   The node increasing / decreasing unit 11 can be realized by executing a program in any one of the distributed cache nodes constituting the distributed cache cluster 3a, or can be realized by operating the programs of a plurality of nodes in cooperation.

ノード増減部11が、分散キャッシュクラスタ3aの分散キャッシュノードの数を減少させる際に、キャッシュデータを、キャッシュ利用状況監視部10が取得しているアクセス回数に応じて、他の分散キャッシュノードに移行(マイグレーション)することもできる。例えば、分散キャッシュノードを減少させる際に、アクセス回数が多いキャッシュデータをキャッシュに残すようにキャッシュデータの再配置を行った後、分散キャッシュノードを離脱させる処理を行ってもよい。   When the node increase / decrease unit 11 decreases the number of distributed cache nodes in the distributed cache cluster 3a, the cache data is transferred to another distributed cache node according to the number of accesses acquired by the cache usage monitoring unit 10 (Migration) can also be performed. For example, when the number of distributed cache nodes is decreased, the cache data may be rearranged so that cache data having a large number of accesses remains in the cache, and then the process of leaving the distributed cache node may be performed.

さらに、このようなデータの再配置は行わず、離脱した分散キャッシュノードが保持していたキャッシュデータは、分散キャッシュクラスタ3aから削除し、削除されたキャッシュデータに関してはアプリケーションサーバクラスタ2で再計算、又は、分散ストレージシステム4へ再アクセスにより取得してもよい。   Further, such data relocation is not performed, the cache data held by the detached distributed cache node is deleted from the distributed cache cluster 3a, and the deleted cache data is recalculated by the application server cluster 2. Alternatively, it may be acquired by re-accessing the distributed storage system 4.

アプリケーションサーバクラスタ2は、構成ノード21及び22と、ノード増減部20から構成される。   The application server cluster 2 includes configuration nodes 21 and 22 and a node increase / decrease unit 20.

構成ノード21及び22は、アプリケーションサーバクラスタ2に求められる機能を実現するためのリソースである。図3では、2つのノードによりアプリケーションサーバクラスタ2は実現されているが、1つ以上の任意のノードを用いることができるのは勿論である。   The configuration nodes 21 and 22 are resources for realizing functions required for the application server cluster 2. In FIG. 3, the application server cluster 2 is realized by two nodes, but it is needless to say that one or more arbitrary nodes can be used.

ノード増減部20は、アプリケーションサーバクラスタ2を構成する構成ノード21及び22の台数を増減させる機能を持つ。ノード増減部20は、ノード増減部11と同様に、リソースプール5からリソースを確保してアプリケーションサーバクラスタ2に割り当て、あるいは、アプリケーションサーバクラスタ2からリソースを離脱させ、リソースプール5に戻す。   The node increasing / decreasing unit 20 has a function of increasing / decreasing the number of constituent nodes 21 and 22 constituting the application server cluster 2. Similar to the node increase / decrease unit 11, the node increase / decrease unit 20 secures resources from the resource pool 5 and assigns them to the application server cluster 2, or leaves the resources from the application server cluster 2 and returns them to the resource pool 5.

分散ストレージシステム4は、提供するサービスに必要なデータを保持し、アプリケーションサーバクラスタ2等からのリクエストに対し応答する。分散ストレージシステム4は、データベースサーバやファイルシステムサーバ等を含んで構成されることが多い。   The distributed storage system 4 holds data necessary for the service to be provided and responds to a request from the application server cluster 2 or the like. The distributed storage system 4 is often configured to include a database server, a file system server, and the like.

また、多数の計算機ノードをネットワークにより結合し、計算機ノードのHDD(Hard Disk Drive)やメモリを用いてデータを格納又は利用するシステムを実現する分散ストレージ技術も存在する。このような分散ストレージ技術では、データをどの計算機ノードに配置するか、処理をどの計算機ノードで行うかといった機能を、プログラム又はハードウェアにより実現する。分散ストレージシステム4では、システムの状態に対し動作を動的に変更することで、システム内のリソース利用量を調整し、システム利用者(クライアント計算機)に対する性能向上を実現している。図3に示すサービス提供システム8では、このような分散ストレージ技術を採用した分散ストレージシステム4を用いる。ただし、分散ストレージシステム4のリソースを制御(計算機ノードを増減)しない場合は、分散ストレージ技術を採用していないストレージシステムやデータベースシステムも、分散ストレージシステム4に含めることが可能である。   There is also a distributed storage technology that realizes a system that stores or uses data by using a computer node HDD (Hard Disk Drive) or memory by connecting a large number of computer nodes via a network. In such a distributed storage technology, functions such as which computer node data is allocated to and which computer node performs processing are realized by a program or hardware. In the distributed storage system 4, by dynamically changing the operation according to the system state, the resource usage in the system is adjusted, and the performance improvement for the system user (client computer) is realized. The service providing system 8 shown in FIG. 3 uses a distributed storage system 4 that employs such a distributed storage technology. However, if the resources of the distributed storage system 4 are not controlled (the number of computer nodes is increased or decreased), storage systems and database systems that do not employ the distributed storage technology can be included in the distributed storage system 4.

さらに、分散ストレージシステムに含まれる構成ノードの一部を低消費電力モードに遷移させることで消費電力の抑制を実現するストレージシステムが、同一の出願人よって提案されている(日本特許出願:特願2010−224697に基づく優先権主張による国際出願PCT/JP2011/071857)。本実施形態に係るサービス提供システム8では、このようなシステムを分散ストレージシステム4として利用することできる。   Furthermore, the same applicant has proposed a storage system that realizes suppression of power consumption by shifting some of the constituent nodes included in the distributed storage system to the low power consumption mode (Japanese Patent Application: Japanese Patent Application: Patent Application). International application PCT / JP2011 / 071857 based on priority claim based on 2010-224697). In the service providing system 8 according to the present embodiment, such a system can be used as the distributed storage system 4.

分散ストレージシステム4は、構成ノード31及び32と、ノード増減部30から構成される。ノード増減部30は、分散ストレージシステム4の一部のノードをストレージシステムに参加させつつ、低消費電力モードに遷移させる制御を実行してもよい。   The distributed storage system 4 includes configuration nodes 31 and 32 and a node increase / decrease unit 30. The node increase / decrease unit 30 may execute control for transitioning to a low power consumption mode while causing some nodes of the distributed storage system 4 to participate in the storage system.

制御指示ノード6aは、アクセス分布推定部40と、リソース増減影響判定部41と、リソース増減対象算出部42と、制御指示部43と、から構成される。これらの各部は、計算機上のプログラム又はハードウェアにより実現する。制御指示ノード6aが、上述のサブシステム制御ノード100に相当する。制御指示ノード6aに含まれる各部の動作は後述する。   The control instruction node 6a includes an access distribution estimation unit 40, a resource increase / decrease influence determination unit 41, a resource increase / decrease target calculation unit 42, and a control instruction unit 43. Each of these units is realized by a computer program or hardware. The control instruction node 6a corresponds to the subsystem control node 100 described above. The operation of each unit included in the control instruction node 6a will be described later.

制御イベント通知部7は、制御指示ノード6aにリソース増減判定処理を実行させる契機を通知する。その際の実現には、様々考えられ、下記に列挙する。   The control event notification unit 7 notifies the control instruction node 6a of a trigger for executing the resource increase / decrease determination process. There are various possible implementations, and they are listed below.

第1に、制御指示ノード6aと同一の計算機又は他の計算機によって動作するタイマを用いることが考えられる。即ち、定期的に判定処理を起動するモジュールとして制御イベント通知部7を実現する。   First, it is conceivable to use a timer operated by the same computer as the control instruction node 6a or by another computer. That is, the control event notification unit 7 is realized as a module that periodically starts the determination process.

第2に、システム管理者が監視する画面等に付与されるボタンや、コマンドラインから実行されるコマンドのようなユーザインタフェースを用いることが考えられる。   Secondly, it is conceivable to use a user interface such as a button assigned to a screen or the like monitored by the system administrator or a command executed from the command line.

第3に、外部に存在するクラスタ管理システム等からのAPI(Application Program Interface)経由等による命令が考えられる。   Third, an instruction from an external cluster management system or the like via an API (Application Program Interface) can be considered.

第4に、外部の負荷監視システムや負荷予測システムによってリソースの増減の予兆を検知した場合に、API等を経由した命令が考えられる。   Fourth, when an indication of resource increase / decrease is detected by an external load monitoring system or load prediction system, an instruction via an API or the like can be considered.

第5に、外部の電力監視システム等が、リソースの増減要求の必要性を検出した場合に、API等を経由した命令が考えられる。   Fifth, when an external power monitoring system or the like detects the necessity for a resource increase / decrease request, an instruction via an API or the like can be considered.

第6に、サービスを実現するサブシステムのいずれかのリソース(構成ノード)をそれぞれ監視し、ボトルネックや余剰を検知した場合にAPI等を経由した命令が考えられる。より具体的には、その際のボトルネックや余剰を計算機のCPU利用率などが一定時間、閾値より高い又は低い、といった方法で検知する。   Sixth, an instruction via an API or the like is conceivable when any resource (configuration node) of a subsystem that realizes a service is monitored and a bottleneck or surplus is detected. More specifically, the bottleneck or surplus at that time is detected by a method in which the CPU usage rate of the computer is higher or lower than a threshold value for a certain period of time.

第7に、サービスに対する負荷パターンの変更をシステムや管理者が検知して、通知することが考えられる。   Seventh, it is conceivable that a system or an administrator detects and notifies a change in a load pattern for a service.

以上のリソース増減判定処理を実行させる契機は、サービスを実現するシステムに対するリソースの調整要求と捉えることができる。以降、このようなリソース調整要求の情報として、リソースを増加するのか、又は、減少させるかについての指定が存在することを前提とする。ただし、リソースの増加又は減少について、制御指示ノード6aの内部で判定してもよいことは勿論である。   The trigger for executing the above resource increase / decrease determination processing can be regarded as a resource adjustment request for the system that implements the service. Hereinafter, it is assumed that the resource adjustment request information includes designation as to whether to increase or decrease the resource. However, it goes without saying that the increase or decrease in resources may be determined inside the control instruction node 6a.

次に、サービス提供システム8及び制御指示ノード6aの動作について説明する。   Next, operations of the service providing system 8 and the control instruction node 6a will be described.

図4は、制御指示ノード6aの動作の一例を示すフローチャートである。   FIG. 4 is a flowchart showing an example of the operation of the control instruction node 6a.

ステップS01において、制御指示ノード6aは、制御イベント通知部7が発行する制御イベント通知を受け付ける。なお、制御イベント通知の態様については前述したとおりである。   In step S01, the control instruction node 6a accepts a control event notification issued by the control event notification unit 7. The mode of control event notification is as described above.

ステップS02において、アクセス分布推定部40は、キャッシュ利用状況監視部10からキャッシュ利用状況データを取得し、リソース増減影響判定部41にキャッシュ利用状況データを出力する。   In step S02, the access distribution estimation unit 40 acquires the cache usage status data from the cache usage status monitoring unit 10, and outputs the cache usage status data to the resource increase / decrease influence determination unit 41.

ステップS03において、リソース増減影響判定部41は、受け取ったキャッシュ利用状況データからキャッシュに対するアクセス分布を推定する。   In step S03, the resource increase / decrease influence determination unit 41 estimates the access distribution to the cache from the received cache usage status data.

ここで、本ステップにおけるアクセス分布の推定方法について詳細に説明する。アクセス分布の確率モデルには、様々なモデルが存在する(例えば、一様分布やジップ分布等)。リソース増減影響判定部41は、それらの分布モデルを利用し、アクセス分布を推定する。このアクセス分布は、提供するサービス(アプリケーション)が異なれば、それに応じて異なる分布モデルとなることが多い。また、同一のサービス(アプリケーション)であっても、時期や時間によって負荷パターンが異なることもある。   Here, the access distribution estimation method in this step will be described in detail. There are various models of access distribution probability models (for example, uniform distribution, zip distribution, etc.). The resource increase / decrease influence determination unit 41 estimates the access distribution using these distribution models. This access distribution often has a different distribution model depending on the service (application) to be provided. Even in the same service (application), the load pattern may differ depending on the time and time.

図5は、アクセス状況の数値データの一例を示す図である。図5のキャッシュキーは、アプリケーションサーバクラスタ2(あるいは、他のサブシステム)が、分散キャッシュクラスタ3aが保持するキャッシュデータにアクセスするためのユニークなキーである。このキャッシュキーに対応付けられたキャッシュデータが分散キャッシュクラスタ3aに格納、保持され、アクセス可能となる。例えば、ユーザごとに、何らかのデータを計算して応答するようなサービスの場合、キャッシュキーにはユーザIDのようなものを利用する。図5に示す例では、キャッシュキーごとに分散キャッシュクラスタ3aの利用回数を記憶及び管理し、キャッシュ利用状況データとする。   FIG. 5 is a diagram illustrating an example of numerical data of the access status. The cache key in FIG. 5 is a unique key for the application server cluster 2 (or another subsystem) to access the cache data held by the distributed cache cluster 3a. The cache data associated with this cache key is stored and held in the distributed cache cluster 3a and becomes accessible. For example, in the case of a service that responds by calculating some data for each user, a user ID or the like is used as the cache key. In the example shown in FIG. 5, the usage count of the distributed cache cluster 3a is stored and managed for each cache key, and used as cache usage status data.

キャッシュ利用状況監視部10は、図5に示すようなデータをキャッシュ利用状況データとして応答する。なお、アクセス回数は、予め定められた期間内にアクセスされた回数とするのが望ましい。なぜならば、特殊な場合を除き、極端に古いキャッシュデータは、無効データと考えられるためである。   The cache usage status monitoring unit 10 responds with data as shown in FIG. 5 as cache usage status data. The number of accesses is desirably the number of accesses within a predetermined period. This is because, except for special cases, extremely old cache data is considered invalid data.

リソース増減影響判定部41は、キャッシュ利用状況データ(アクセス分布データ)とモデル関数を使用し、数学的手法を用いた近似や、非線形回帰分析により、モデル関数のパラメータを推定する。例えば、分布モデルとしてジップ分布を仮定すれば、下記の数式(1)により、パラメータsの値が推定できる。

Figure 2013205962
なお、Nは、全要素の総数、kはアクセス順位とする。また、モデル関数を指数分布(y=a×ebx)と仮定すれば、a及びbの値を推定する。 The resource increase / decrease influence determination unit 41 uses the cache usage status data (access distribution data) and the model function, and estimates the parameter of the model function by approximation using a mathematical method or nonlinear regression analysis. For example, assuming a zip distribution as the distribution model, the value of the parameter s can be estimated by the following formula (1).

Figure 2013205962
N is the total number of all elements, and k is the access order. If the model function is assumed to be an exponential distribution (y = a × e bx ), the values of a and b are estimated.

ステップS04において、リソース増減影響判定部41は、推定したモデル関数(アクセス分布)を用いて、リソースを増減した際の影響を定量化したスコアを算出し、算出したスコアをリソース増減対象算出部42に出力する。このスコアが、上述のリソース増減影響度に相当する。   In step S04, the resource increase / decrease influence determination unit 41 uses the estimated model function (access distribution) to calculate a score that quantifies the effect when the resource is increased or decreased, and uses the calculated score as the resource increase / decrease target calculation unit 42. Output to. This score corresponds to the resource increase / decrease influence degree described above.

その際、制御イベント通知(リソース調整要求)が、リソースを増加させる指示であれば、分散キャッシュクラスタ3aに含まれるリソースを増加させた時のスコアを算出する。一方、制御イベント通知が、リソースを減少させる指示であれば、分散キャッシュクラスタ3aに含まれるリソースを減少させた時のスコアを算出する。以下の説明では、制御イベント通知は、リソースを増加させる指示とする。   At this time, if the control event notification (resource adjustment request) is an instruction to increase the resource, the score when the resource included in the distributed cache cluster 3a is increased is calculated. On the other hand, if the control event notification is an instruction to decrease the resource, a score when the resource included in the distributed cache cluster 3a is decreased is calculated. In the following description, the control event notification is an instruction to increase resources.

なお、制御イベント通知が、リソースの増減に関する指示を明確化していない場合には、本ステップでリソースの増減を判定する。その際の判定方法には、様々な方法が考えられる。例えば、各サブシステムのリソース利用状況の監視情報を取得、あるいは、電力利用状況を監視している情報を取得し、実現しているサービスの応答時間等のSLA(Service Level Agreement)を取得し、これらに基づいて判定する。   Note that if the control event notification does not clarify the instruction regarding the increase or decrease of the resource, the increase or decrease of the resource is determined in this step. Various methods can be considered as the determination method at that time. For example, the monitoring information of the resource usage status of each subsystem is acquired, or the information monitoring the power usage status is acquired, and the SLA (Service Level Agreement) such as the response time of the realized service is acquired, The determination is based on these.

次に、リソース増減影響判定部41におけるスコア算出について詳細に説明する。   Next, score calculation in the resource increase / decrease influence determination unit 41 will be described in detail.

図6〜図8は、推定したモデル関数のパラメータを用いて算出したアクセス分布グラフの一例を示す図である。図6〜図8の横軸は、リクエストのアクセス量順位を示し、縦軸はそれぞれのアクセス回数を示す。   6 to 8 are diagrams showing examples of access distribution graphs calculated using the parameters of the estimated model function. 6 to 8, the horizontal axis indicates the access amount ranking of requests, and the vertical axis indicates the number of accesses.

この場合、分散キャッシュクラスタ3aの保持できるキャッシュデータの容量は各図の横軸における幅と同様に扱うことができる。例えば、分散キャッシュクラスタ3aに含まれる分散キャッシュノード(リソース)1台あたりのキャッシュ提供能力を100MB、キャッシュキー1つあたりのキャッシュデータを平均1MBとすると、分散キャッシュノード1台に格納できるキャッシュは100個である。即ち、各図の横軸のアクセス順位100位分をキャッシュとして保持できる。   In this case, the capacity of the cache data that can be held by the distributed cache cluster 3a can be handled in the same manner as the width on the horizontal axis of each figure. For example, assuming that the cache providing capacity per distributed cache node (resource) included in the distributed cache cluster 3a is 100 MB and the cache data per cache key is 1 MB on average, 100 caches can be stored in one distributed cache node. It is a piece. In other words, the 100 access ranks on the horizontal axis in each figure can be held as a cache.

従って、分散キャッシュクラスタ3aが、キャッシュデータをアクセスが多い順に保持するようなアルゴリズムで動作するとすれば、分散キャッシュクラスタ3aが分散キャッシュノード3台で動作し、1台あたり100個のキャッシュが保持できるとすると、分散キャッシュクラスタ3aが保持しているキャッシュデータは、アクセス順位が1〜300位のキャッシュデータとなる。なお、このキャッシュ容量の算出は、あくまでも概略であって、厳密には異なる。しかし、本実施形態における説明においてキャッシュ容量を厳密に計算する必要はない。   Accordingly, if the distributed cache cluster 3a operates with an algorithm that holds cache data in the order of the most accesses, the distributed cache cluster 3a operates with three distributed cache nodes and can hold 100 caches per unit. Then, the cache data held by the distributed cache cluster 3a is cache data having an access order of 1 to 300. The calculation of the cache capacity is only an outline and is strictly different. However, it is not necessary to calculate the cache capacity strictly in the description of the present embodiment.

また、1回目のアクセスはキャッシュを登録するアクセスであるため、アプリケーションサーバクラスタ2や分散ストレージシステム4の負荷低減に寄与しない。即ち、分散キャッシュクラスタ3aがサービス提供システム8全体の性能向上に寄与しているアクセスは図7の領域200となる。従って、この領域の面積を、分散キャッシュクラスタ3aのシステム全体に対する性能向上に対する貢献とみなすことができる。   Further, since the first access is an access for registering a cache, it does not contribute to reducing the load on the application server cluster 2 and the distributed storage system 4. That is, the access in which the distributed cache cluster 3a contributes to the performance improvement of the entire service providing system 8 is an area 200 in FIG. Therefore, the area of this region can be regarded as a contribution to improving the performance of the distributed cache cluster 3a with respect to the entire system.

さらに、分散キャッシュノードを1台追加した際のシステム全体の性能向上に対する貢献は図8の領域201となる。即ち、この領域201の面積が、分散キャッシュノードの増加によるシステム全体の性能向上への影響度と等価である。この領域201の面積を、本実施形態におけるスコアとして扱う。   Further, when one distributed cache node is added, the contribution to the performance improvement of the entire system is an area 201 in FIG. That is, the area of the region 201 is equivalent to the degree of influence on the performance improvement of the entire system due to the increase of the distributed cache nodes. The area of this region 201 is treated as a score in this embodiment.

各キャッシュキーが保持するキャッシュ容量が、ほぼ等しいと仮定するならば、この面積に相当するスコアは次の式(2)から算出できる。

Figure 2013205962

なお、f(x)は分布モデル関数、xはアクセス順位、αは構成ノード1台あたりに保持可能なキャッシュキーの数、nは現在の分散キャッシュクラスタ3aに含まれる構成ノードの台数である。同様に、構成ノードを1台離脱させた場合についても同様に算出することができる。 If it is assumed that the cache capacities held by the respective cache keys are substantially equal, a score corresponding to this area can be calculated from the following equation (2).

Figure 2013205962

Note that f (x) is a distribution model function, x is an access order, α is the number of cache keys that can be held per configuration node, and n is the number of configuration nodes included in the current distributed cache cluster 3a. Similarly, the same calculation can be performed when one component node is detached.

ステップS05において、リソース増減対象算出部42は、算出されたスコアと予め定めた閾値との比較を行う。   In step S05, the resource increase / decrease target calculation unit 42 compares the calculated score with a predetermined threshold value.

算出されたスコアが閾値以上の場合(ステップS05、Yes分岐)には、リソースを増加する対象は分散キャッシュクラスタ3aとする(ステップS06)。一方、閾値を超えない場合(ステップS05、No分岐)には、リソースを増加する対象を他のサブシステム(アプリケーションサーバクラスタ2、又は、分散ストレージシステム4)とする(ステップS07)。   When the calculated score is equal to or greater than the threshold (step S05, Yes branch), the target for increasing the resource is the distributed cache cluster 3a (step S06). On the other hand, if the threshold value is not exceeded (step S05, No branch), the target whose resource is to be increased is set as another subsystem (application server cluster 2 or distributed storage system 4) (step S07).

ここで、ステップS07に遷移した場合は、分散キャッシュクラスタ3aではなく、他のサブシステム(アプリケーションサーバクラスタ2又は分散ストレージシステム4)に含まれるリソースを増加する。いずれのサブシステムのリソースを増加するかの選択方法は、任意の方法を採用することができる。一例として、以下のような方法が考えられる。   Here, when the process proceeds to step S07, the resources included in the other subsystem (application server cluster 2 or distributed storage system 4) are increased instead of the distributed cache cluster 3a. Any method can be adopted as a method for selecting which subsystem resource to increase. As an example, the following method can be considered.

アプリケーションサーバクラスタ2又は分散ストレージシステム4のリソース負荷情報(例えば、CPU利用率や、メモリ利用量)と、閾値を比較し、閾値を超えるサブシステムにリソースを割り当てる。さらに、両者のリソース負荷情報が閾値を超える場合には、より逼迫しているサブシステムにリソースを割り当てる。   The resource load information (for example, CPU usage rate or memory usage) of the application server cluster 2 or the distributed storage system 4 is compared with a threshold, and resources are allocated to subsystems exceeding the threshold. Furthermore, when both resource load information exceeds a threshold value, a resource is allocated to a more tight subsystem.

なお、ステップS01において、制御イベント通知として、リソースを減少させる指示を受け付けた場合には、ステップS05の判定結果により分岐先が異なる。より具体的には、算出されたスコアが閾値以上である場合に、他のサブシステムのリソースを減少させ、閾値を超えない場合に、分散キャッシュクラスタ3aのリソースを減少させる。   In step S01, when an instruction to reduce resources is accepted as a control event notification, the branch destination differs depending on the determination result in step S05. More specifically, when the calculated score is equal to or greater than the threshold, the resources of other subsystems are reduced, and when the calculated score is not exceeded, the resources of the distributed cache cluster 3a are reduced.

また、スコアと比較する閾値を、制御指示ノード6aに操作IF(図示せず)やその他のプログラムによって、システム管理者が決定してもよい。さらに、過去の制御履歴に基づき閾値を調整してもよい。   In addition, the system administrator may determine a threshold value to be compared with the score by an operation IF (not shown) or other program in the control instruction node 6a. Furthermore, the threshold value may be adjusted based on the past control history.

ステップS08において、リソース増減対象算出部42が、ステップS06又はステップS07で決定されたリソースを増減する対象となるサブシステムを制御指示部43に通知する。制御指示部43は、対象となるサブシステム(分散キャッシュクラスタ3a、アプリケーションサーバクラスタ2又は分散ストレージシステム4)のノード増減部に対してリソース増減要求を発行する。   In step S08, the resource increase / decrease target calculation unit 42 notifies the control instruction unit 43 of the subsystem to be increased / decreased in the resource determined in step S06 or step S07. The control instruction unit 43 issues a resource increase / decrease request to the node increase / decrease unit of the target subsystem (distributed cache cluster 3a, application server cluster 2 or distributed storage system 4).

本実施形態に係る制御指示ノード6aは、3層モデルに基づくシステムアーキテクチャの各層のリソース制御、分散キャッシュクラスタに含まれるリソースの増減、クラウドコンピューティングを実現するインフラストラクチャにおける複数システムを混載させた分散システムの各リソースの制御等に適用できる。   The control instruction node 6a according to the present embodiment is a distributed control in which a plurality of systems in an infrastructure for realizing cloud computing are mixed, resource control of each layer of the system architecture based on the three-layer model, increase / decrease of resources included in the distributed cache cluster, and cloud computing It can be applied to control each resource of the system.

以上のように、本実施形態に係るサービス提供システム8では、分散キャッシュクラスタ3aのキャッシュ利用状況をキャッシュ利用状況監視部10が監視し、アクセス分布推定部40がキャッシュ利用状況データからキャッシュデータに対するアクセス分布を推定する。さらに、リソース増減影響判定部41が、推定されたアクセス分布に基づいてスコアを算出し、算出したスコアに基づいてリソースを増減する対象となるサブシステムを選択する。特に、分散キャッシュクラスタ3aに含まれる分散キャッシュノードの増減によるシステム全体への影響を推定し、推定結果を用いてリソースの割り当て先となるサブシステムを決定する。   As described above, in the service providing system 8 according to the present embodiment, the cache usage status monitoring unit 10 monitors the cache usage status of the distributed cache cluster 3a, and the access distribution estimation unit 40 accesses the cache data from the cache usage status data. Estimate the distribution. Further, the resource increase / decrease influence determination unit 41 calculates a score based on the estimated access distribution, and selects a subsystem that is a target for increasing / decreasing the resource based on the calculated score. In particular, the influence on the entire system due to the increase / decrease of the distributed cache nodes included in the distributed cache cluster 3a is estimated, and the subsystem to be the resource allocation destination is determined using the estimation result.

より具体的には、推定したアクセス分布を用いて、分散キャッシュクラスタ3aの能力を増強した場合のシステム全体に与える影響を数値化(スコアを算出)し、リソース(分散キャッシュノード)の増加に値する場合に限り、リソースを増加する。一方、分散キャッシュクラスタ3aの能力を増強しても、システム全体の性能向上に対する貢献が期待できない場合は、他のサブシステムのリソースを増加する。その結果、リソースを増加する効果の高いサブシステムにリソースを追加できるため、リソースの利用効率が高いシステム運用を実現することができる。   More specifically, using the estimated access distribution, the effect on the entire system when the capacity of the distributed cache cluster 3a is enhanced is quantified (score is calculated), and it is worth increasing resources (distributed cache nodes). Only if you increase resources. On the other hand, even if the capacity of the distributed cache cluster 3a is increased, if the contribution to the performance improvement of the entire system cannot be expected, the resources of other subsystems are increased. As a result, resources can be added to a subsystem that has a high effect of increasing resources, so that system operation with high resource utilization efficiency can be realized.

さらに、サービス提供システム8全体の消費電力を抑制することもできる。リクエスト分布から、サブシステムに対する負荷分布を算出し、各サブシステムに必要なリソースを算出し、算出結果に合わせてリソースを減少する。このようなシステムの運用により、サービス提供システム8全体の消費電力を抑制できる。即ち、リソースを有効活用することで、サービス提供システム8の消費電力を抑制できる。   Furthermore, the power consumption of the entire service providing system 8 can be suppressed. The load distribution for the subsystem is calculated from the request distribution, the resources necessary for each subsystem are calculated, and the resources are reduced according to the calculation result. By operating such a system, the power consumption of the entire service providing system 8 can be suppressed. That is, the power consumption of the service providing system 8 can be suppressed by effectively using the resources.

なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。   Each disclosure of the cited patent documents and the like cited above is incorporated herein by reference. Within the scope of the entire disclosure (including claims) of the present invention, the embodiments and examples can be changed and adjusted based on the basic technical concept. Various disclosed elements (including each element of each claim, each element of each embodiment or example, each element of each drawing, etc.) within the scope of the claims of the present invention, Selection is possible. That is, the present invention of course includes various variations and modifications that could be made by those skilled in the art according to the entire disclosure including the claims and the technical idea.

1、8 サービス提供システム
2 アプリケーションサーバクラスタ
3、3a 分散キャッシュクラスタ
4 分散ストレージシステム
5 リソースプール
6、6a 制御指示ノード
7 制御イベント通知部
10 キャッシュ利用状況監視部
11、20、30 ノード増減部
12、13 分散キャッシュノード
21、22、31、32 構成ノード
40、101 アクセス分布推定部
41、102 リソース増減影響判定部
42、103 リソース増減対象算出部
43、104 制御指示部
100 サブシステム制御ノード
200、201 領域
DESCRIPTION OF SYMBOLS 1, 8 Service provision system 2 Application server cluster 3, 3a Distributed cache cluster 4 Distributed storage system 5 Resource pool 6, 6a Control instruction node 7 Control event notification part 10 Cache utilization condition monitoring part 11, 20, 30 Node increase / decrease part 12, 13 Distributed cache nodes 21, 22, 31, 32 Configuration nodes 40, 101 Access distribution estimation unit 41, 102 Resource increase / decrease influence determination unit 42, 103 Resource increase / decrease target calculation unit 43, 104 Control instruction unit 100 Subsystem control nodes 200, 201 region

Claims (10)

分散キャッシュクラスタが格納するキャッシュデータに対するアクセスに関する情報を含むキャッシュ利用状況データから、前記キャッシュデータに対するアクセス分布を推定するアクセス分布推定部と、
推定されたアクセス分布から、前記分散キャッシュクラスタに含まれるリソースの増減が、前記分散キャッシュクラスタを含むサービス提供システムに与える影響を示すリソース増減影響度を算出するリソース増減影響判定部と、
前記リソース増減影響度に基づき、前記分散キャッシュクラスタに含まれるリソースを増減するか、又は、他のサブシステムに含まれるリソースを増減するか、を決定するリソース増減対象算出部と、
前記リソース増減対象算出部が決定したサブシステムに対し、リソースの増減を指示する制御指示部と、
を備えることを特徴とするサブシステム制御ノード。
An access distribution estimation unit that estimates an access distribution to the cache data from cache usage data including information about access to the cache data stored in the distributed cache cluster;
From the estimated access distribution, a resource increase / decrease influence determination unit that calculates a resource increase / decrease influence degree indicating an influence of increase / decrease of resources included in the distributed cache cluster on a service providing system including the distributed cache cluster;
A resource increase / decrease target calculation unit that determines whether to increase or decrease the resources included in the distributed cache cluster or increase or decrease the resources included in other subsystems based on the resource increase / decrease influence degree;
A control instruction unit for instructing increase / decrease of resources to the subsystem determined by the resource increase / decrease target calculation unit;
A subsystem control node comprising:
前記リソース増減影響判定部は、前記キャッシュデータに対するアクセスがジップ分布に従うと仮定した場合の前記キャッシュデータに対するアクセスをモデル化するモデル関数と、前記分散キャッシュクラスタに格納できるキャッシュの個数と、に基づき前記リソース増減影響度を算出する請求項1のサブシステム制御ノード。   The resource increase / decrease influence determination unit is based on a model function that models access to the cache data when it is assumed that access to the cache data follows a zip distribution, and the number of caches that can be stored in the distributed cache cluster. The subsystem control node according to claim 1, which calculates a resource increase / decrease influence degree. 前記リソース増減対象算出部は、前記サービス提供システムを構成するサブシステムのリソースを増加させる指示を受け取った場合、かつ、前記リソース増減影響度が予め定めた閾値以上の場合に、前記分散キャッシュクラスタに含まれるリソースを増加させ、
前記サービス提供システムを構成するサブシステムのリソースを減少させる指示を受け取った場合、かつ、前記リソース増減影響度が予め定めた閾値より小さい場合に、前記分散キャッシュクラスタに含まれるリソースを減少させる請求項1又は2のサブシステム制御ノード。
When the resource increase / decrease target calculation unit receives an instruction to increase the resource of a subsystem constituting the service providing system and the resource increase / decrease influence degree is equal to or greater than a predetermined threshold, the resource increase / decrease target calculation unit Increase the resources included,
The resource included in the distributed cache cluster is reduced when an instruction to reduce the resource of a subsystem constituting the service providing system is received, and when the resource increase / decrease influence degree is smaller than a predetermined threshold. 1 or 2 subsystem control nodes.
前記リソース増減対象算出部は、前記分散キャッシュクラスタとは異なるサブシステムに含まれるリソースの増減を、前記分散キャッシュクラスタとは異なるサブシステムのリソース負荷情報に基づき決定する請求項1乃至3のいずれか一に記載のサブシステム制御ノード。   4. The resource increase / decrease target calculation unit determines increase / decrease in resources included in a subsystem different from the distributed cache cluster based on resource load information of a subsystem different from the distributed cache cluster. The subsystem control node according to 1. 分散キャッシュクラスタが格納するキャッシュデータに対するアクセスに関する情報を含むキャッシュ利用状況データから、前記キャッシュデータに対するアクセス分布を推定するアクセス分布推定工程と、
推定されたアクセス分布から、前記分散キャッシュクラスタに含まれるリソースの増減が、前記分散キャッシュクラスタを含むサービス提供システムに与える影響を示すリソース増減影響度を算出するリソース増減影響判定工程と、
前記リソース増減影響度に基づき、前記分散キャッシュクラスタに含まれるリソースを増減するか、又は、他のサブシステムに含まれるリソースを増減するか、を決定するリソース増減対象算出工程と、
前記リソース増減対象算出工程において決定したサブシステムに対し、リソースの増減を指示する工程と、
を含むことを特徴とするサブシステムの制御方法。
An access distribution estimating step for estimating an access distribution for the cache data from cache usage data including information on access to the cache data stored in the distributed cache cluster;
From the estimated access distribution, a resource increase / decrease influence determination step for calculating a resource increase / decrease influence degree indicating an influence of increase / decrease of resources included in the distributed cache cluster on a service providing system including the distributed cache cluster;
A resource increase / decrease target calculation step for determining whether to increase / decrease the resources included in the distributed cache cluster or increase / decrease the resources included in other subsystems based on the resource increase / decrease influence degree;
Instructing the increase / decrease of resources to the subsystem determined in the resource increase / decrease target calculation step;
A method for controlling a subsystem, comprising:
前記リソース増減影響判定工程は、前記キャッシュデータに対するアクセスがジップ分布に従うと仮定した場合の前記キャッシュデータに対するアクセスをモデル化するモデル関数と、前記分散キャッシュクラスタに格納できるキャッシュの個数と、に基づき前記リソース増減影響度を算出する請求項5のサブシステムの制御方法。   The resource increase / decrease influence determining step is based on a model function that models access to the cache data when access to the cache data follows a zip distribution, and the number of caches that can be stored in the distributed cache cluster. 6. The subsystem control method according to claim 5, wherein a resource increase / decrease influence degree is calculated. 前記リソース増減対象算出工程は、前記サービス提供システムを構成するサブシステムのリソースを増加させる指示を受け取った場合、かつ、前記リソース増減影響度が予め定めた閾値以上の場合に、前記分散キャッシュクラスタに含まれるリソースを増加させ、
前記サービス提供システムを構成するサブシステムのリソースを減少させる指示を受け取った場合、かつ、前記リソース増減影響度が予め定めた閾値より小さい場合に、前記分散キャッシュクラスタに含まれるリソースを減少させる請求項5又は6のサブシステムの制御方法。
In the resource increase / decrease target calculation step, when an instruction to increase the resource of the subsystem constituting the service providing system is received and the influence of the resource increase / decrease is equal to or greater than a predetermined threshold, Increase the resources included,
The resource included in the distributed cache cluster is reduced when an instruction to reduce the resource of a subsystem constituting the service providing system is received, and when the resource increase / decrease influence degree is smaller than a predetermined threshold. 5 or 6 subsystem control method.
前記リソース増減対象算出工程は、前記分散キャッシュクラスタとは異なるサブシステムに含まれるリソースの増減を、前記分散キャッシュクラスタとは異なるサブシステムのリソース負荷情報に基づき決定する請求項5乃至7のいずれか一に記載のサブシステムの制御方法。   The resource increase / decrease target calculation step determines increase / decrease in resources included in a subsystem different from the distributed cache cluster based on resource load information of a subsystem different from the distributed cache cluster. A subsystem control method according to claim 1. 分散キャッシュクラスタが格納するキャッシュデータに対するアクセスに関する情報を含むキャッシュ利用状況データから、前記キャッシュデータに対するアクセス分布を推定するアクセス分布推定処理と、
推定されたアクセス分布から、前記分散キャッシュクラスタに含まれるリソースの増減が、前記分散キャッシュクラスタを含むサービス提供システムに与える影響を示すリソース増減影響度を算出するリソース増減影響判定処理と、
前記リソース増減影響度に基づき、前記分散キャッシュクラスタに含まれるリソースを増減するか、又は、他のサブシステムに含まれるリソースを増減するか、を決定するリソース増減対象算出処理と、
前記リソース増減対象算出処理において決定したサブシステムに対し、リソースの増減を指示する処理と、
をサブシステム制御ノードを制御するコンピュータに実行させるプログラム。
An access distribution estimation process for estimating an access distribution for the cache data from cache usage data including information on access to the cache data stored in the distributed cache cluster;
From the estimated access distribution, a resource increase / decrease influence determination process for calculating a resource increase / decrease influence degree indicating an influence of increase / decrease of resources included in the distributed cache cluster on a service providing system including the distributed cache cluster;
Resource increase / decrease target calculation processing for determining whether to increase / decrease the resources included in the distributed cache cluster or increase / decrease the resources included in other subsystems based on the resource increase / decrease influence degree;
A process for instructing the subsystem determined in the resource increase / decrease target calculation process to increase / decrease resources;
A program that causes a computer that controls the subsystem control node to execute.
キャッシュデータの格納が可能な分散キャッシュノードと、
前記キャッシュデータに対するアクセスに関する情報を含むキャッシュ利用状況データを生成するキャッシュ利用状況監視部と、
を備える分散キャッシュクラスタと、
前記キャッシュ利用状況データから、前記キャッシュデータに対するアクセス分布を推定するアクセス分布推定部と、
推定されたアクセス分布から、前記分散キャッシュクラスタに含まれるリソースを増減した際に、前記分散キャッシュクラスタを含むシステムへ与える影響を示すリソース増減影響度を算出するリソース増減影響判定部と、
前記リソース増減影響度に基づき、前記分散キャッシュクラスタに含まれるリソースを増減するか、又は、他のサブシステムに含まれるリソースを増減するか、を決定するリソース増減対象算出部と、
前記リソース増減対象算出部が決定したサブシステムに対し、リソースの増減を指示する制御指示部と、
を備えるサブシステム制御ノードと、
を含むことを特徴とするサービス提供システム。
A distributed cache node capable of storing cache data; and
A cache usage status monitoring unit that generates cache usage status data including information relating to access to the cache data;
A distributed cache cluster comprising:
An access distribution estimation unit that estimates an access distribution for the cache data from the cache usage data;
A resource increase / decrease influence determining unit that calculates a resource increase / decrease influence degree indicating an influence on a system including the distributed cache cluster when the resources included in the distributed cache cluster are increased / decreased from the estimated access distribution;
A resource increase / decrease target calculation unit that determines whether to increase or decrease the resources included in the distributed cache cluster or increase or decrease the resources included in other subsystems based on the resource increase / decrease influence degree;
A control instruction unit for instructing increase / decrease of resources to the subsystem determined by the resource increase / decrease target calculation unit;
A subsystem control node comprising:
A service providing system comprising:
JP2012072069A 2012-03-27 2012-03-27 Subsystem control node, control method for subsystem, program, and service provision system Pending JP2013205962A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012072069A JP2013205962A (en) 2012-03-27 2012-03-27 Subsystem control node, control method for subsystem, program, and service provision system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012072069A JP2013205962A (en) 2012-03-27 2012-03-27 Subsystem control node, control method for subsystem, program, and service provision system

Publications (1)

Publication Number Publication Date
JP2013205962A true JP2013205962A (en) 2013-10-07

Family

ID=49525016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012072069A Pending JP2013205962A (en) 2012-03-27 2012-03-27 Subsystem control node, control method for subsystem, program, and service provision system

Country Status (1)

Country Link
JP (1) JP2013205962A (en)

Similar Documents

Publication Publication Date Title
US20200287961A1 (en) Balancing resources in distributed computing environments
Fu et al. Virtual machine selection and placement for dynamic consolidation in Cloud computing environment
US10191771B2 (en) System and method for resource management
JP5332065B2 (en) Cluster configuration management method, management apparatus, and program
Farahnakian et al. Utilization prediction aware VM consolidation approach for green cloud computing
US10333863B2 (en) Adaptive resource allocation based upon observed historical usage
Beloglazov et al. Optimal online deterministic algorithms and adaptive heuristics for energy and performance efficient dynamic consolidation of virtual machines in cloud data centers
Beloglazov et al. Managing overloaded hosts for dynamic consolidation of virtual machines in cloud data centers under quality of service constraints
Tarafdar et al. Energy and quality of service-aware virtual machine consolidation in a cloud data center
Sampaio et al. PIASA: A power and interference aware resource management strategy for heterogeneous workloads in cloud data centers
US20150058844A1 (en) Virtual computing resource orchestration
Li An adaptive overload threshold selection process using Markov decision processes of virtual machine in cloud data center
Abdelsamea et al. Virtual machine consolidation challenges: A review
JP2010033292A (en) Virtual server resource adjusting system, resource adjusting device, virtual server resource adjusting method, and computer program
US10411977B2 (en) Visualization of workload distribution on server resources
KR102469927B1 (en) Apparatus for managing disaggregated memory and method for the same
JP5616523B2 (en) Information processing system
JP2021504780A (en) Application Prioritization for Automatic Diagonal Scaling in a Distributed Computing Environment
Babu et al. Interference aware prediction mechanism for auto scaling in cloud
US10635501B2 (en) Adaptive scaling of workloads in a distributed computing environment
Li et al. PageRankVM: A pagerank based algorithm with anti-collocation constraints for virtual machine placement in cloud datacenters
Jaiswal et al. An approach towards the dynamic load management techniques in cloud computing environment
Surya et al. Prediction of resource contention in cloud using second order Markov model
US10375161B1 (en) Distributed computing task management system and method
KR20160073904A (en) Method for managing resource of cloud computing system