WO2015019538A1 - 仮想リソース制御システムおよび仮想リソース制御方法 - Google Patents
仮想リソース制御システムおよび仮想リソース制御方法 Download PDFInfo
- Publication number
- WO2015019538A1 WO2015019538A1 PCT/JP2014/003383 JP2014003383W WO2015019538A1 WO 2015019538 A1 WO2015019538 A1 WO 2015019538A1 JP 2014003383 W JP2014003383 W JP 2014003383W WO 2015019538 A1 WO2015019538 A1 WO 2015019538A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- resource
- amount
- service
- virtual
- deficiency
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Definitions
- the present invention relates to a virtual resource control system, a virtual resource control method, and a virtual resource control system, a service management apparatus applied to the virtual resource control method, for controlling a virtual resource allocation amount for a plurality of service systems,
- the present invention relates to a hub device, a service management device program, and a hub device program.
- Each service system includes a plurality of nodes such as a Web server, an application server, and a database server.
- the application server may be referred to as an App server.
- a database server may be referred to as a DB server.
- Patent Document 1 describes a virtual resource operation management system.
- the operation management system described in Patent Literature 1 targets a virtual system whose configuration is determined by a template.
- the virtual server resource adjustment system described in Patent Document 2 calculates the free resource amount that is a resource amount that can be reduced from the currently allocated resource amount for each virtual server, and totals the free resource amounts. To calculate the total free resource amount. Then, this virtual server resource adjustment system calculates the amount of resources that need to be added from the load of the virtual server in which a high load has occurred, and compares it with the total amount of free resources. This virtual server resource adjustment system determines that a resource can be added if the total free resource amount is larger.
- a resource a CPU (Central Processing Unit), a memory, a disk I / O (Input / Output), and a network I / O are cited.
- Patent Document 3 discloses a configuration including a client and a server, in which data resources are divided over several servers.
- Japanese Patent Application Laid-Open No. H10-33095 describes balancing the load on the server.
- JP 2010-33292 A paragraphs 0016, 0028 to 0029, FIGS. 5 and 6)
- JP-T-2006-522916 paragraphs 0033, 0044, 0063 to 0073, 0082, 0083, FIG. 2, FIG. 4
- Each service system on the cloud platform has a different configuration and behavior. Therefore, in order to dynamically allocate resources suitable for the operating status of the service system and maintain high service quality, it is necessary to grasp the resource consumption state in the service system and perform appropriate resource allocation. Such fine virtual resource allocation control is easy to apply when the configuration of the management target is static. However, in such an environment where service systems are frequently added and deleted as in a cloud environment, such fine control of virtual resource allocation is difficult.
- Patent Document 1 targets a virtual system whose configuration is determined by a template, it is not suitable for an environment in which service systems are frequently added or deleted.
- the present invention provides a virtual resource control system, a virtual resource control method, and a virtual resource control capable of appropriately determining the amount of virtual resources allocated to each service system in an environment in which service systems are added or deleted. It is an object of the present invention to provide a service management apparatus, a hub apparatus, a service management apparatus program, and a hub apparatus program that are applied to a system and a virtual resource control method.
- a virtual resource control system has a one-to-one correspondence with a service system that provides a service, and corresponds to a service management device that determines the amount of virtual resources allocated to each node in the corresponding service system, and the service management device Accepts a shortage or surplus amount of virtual resource allocation amount for one entire service system from the service management device and manages the virtual resource allocation amount for one service system corresponding to the service management device.
- a hub device that notifies the device, and a resource management device that calculates the allocation amount of the virtual resource for each service system, and each service management device receives input and output of each node in the service system corresponding to the device itself
- Service models expressed in the order of processing For each node in the service system having the model holding means to have, measure the allocated amount of virtual resources, the unit resource consumption that is the amount of virtual resources consumed for one request, and the average processing time, When a node receives input based on a monitoring means that obtains a log that represents a request that has occurred in the service system, the virtual resource allocation amount, unit resource consumption, average processing time, and service model of each node A model for generating a hybrid model combining a service model and a resource model, a hybrid model, and a log.
- each node calculates the minimum resource remaining amount that is the minimum value of the remaining amount of virtual resources and the maximum resource shortage amount that is the maximum value of the shortage amount of virtual resources. Calculate the resource excess / deficiency amount based on the remaining amount and the maximum resource deficiency, notify the hub device of the resource excess / deficiency amount, and eliminate the shortage amount or excess amount indicated by the resource excess / deficiency amount from the hub device,
- the resource excess / deficiency calculation means for receiving notification of the virtual resource allocation amount for the entire service system corresponding to the service management apparatus, and the minimum resource remaining amount or the maximum resource shortage amount for each node are resolved.
- Virtual resource allocation amount updating means for updating the virtual resource allocation amount, and the hub device is in excess or shortage of resources notified from each service management device
- the shortage or surplus of the allocated amount of virtual resources for each service system as a whole is calculated.
- the total resource excess / deficiency amount is calculated, the total resource excess / deficiency amount is notified to the resource management device, and the allocation amount of virtual resources to each service system as a whole is resolved from the resource management device.
- An overall resource excess / deficiency calculation unit that receives the notification, calculates an allocation amount of the virtual resource for the entire service system corresponding to the service management apparatus that has solved the shortage or surplus indicated by the resource excess / deficiency, System-based virtual resource allocation calculation method that notifies the amount of resource excess or deficiency to the source service management device
- the resource management device includes a total resource excess / deficiency holding unit that holds the total resource excess / deficiency notified from the hub device, and confirms the total resource excess / deficiency at regular intervals, and the overall resource excess / deficiency
- an overall virtual resource allocation amount calculating means for calculating an allocation amount of the virtual resource for each entire service system with the amount eliminated, and notifying the hub device of the allocation amount.
- the virtual resource control method according to the present invention has a one-to-one correspondence with a service system that provides a service, a service management device that determines an allocation amount of a virtual resource for each node in the corresponding service system, and a service management device.
- a resource excess / deficiency amount representing a shortage or surplus amount of the virtual resource allocation amount for one corresponding service system is received from the service management device, and a virtual resource allocation amount for one service system corresponding to the service management device is determined.
- a virtual resource control method using a hub device that notifies a service management device and a resource management device that calculates an allocation amount of a virtual resource for each service system, wherein each service management device corresponds to its own device.
- a service model expressed in a logical order is held, and for each node in the service system, an allocated amount of virtual resources, a unit resource consumption amount that is an amount of virtual resources consumed for one request, and an average processing time Measure and acquire a log that represents the request that occurred in the service system, and when an input occurs in the node based on the virtual resource allocation amount, unit resource consumption, average processing time, and service model of each node
- a resource model that represents the amount of unused resources and the amount of resources in use in the node is generated, a hybrid model that combines the service model and the resource model is generated, and a service system is generated using the hybrid model and a log.
- the minimum resource remaining amount that is the minimum value of the virtual resource remaining amount and the maximum resource shortage amount that is the maximum value of the virtual resource shortage amount are calculated, and the minimum resource remaining amount and the maximum resource shortage for each node are calculated.
- the resource excess / deficiency amount is calculated based on the amount, the resource excess / deficiency amount is notified to the hub device, and the hub device holds the resource excess / deficiency amount notified from each service management device.
- the resource management device Based on the resource surplus / deficiency notified from the service management device, calculate the total resource surplus / deficiency representing the shortage or surplus of the allocated amount of virtual resources for each service system as a whole, The resource management device holds the total resource excess / deficiency notified from the hub device, and checks the total resource excess / deficiency at regular intervals.
- the virtual resource allocation amount for the entire service system corresponding to the service management apparatus that has solved the shortage or surplus amount indicated by the resource excess or shortage amount is calculated, and the resource allocation amount
- the service management device of the transmission source of the shortage amount is notified, and each service management device is notified of the virtual resource allocation amount for the entire service system corresponding to the own device, and the minimum resource remaining amount or the maximum
- the virtual resource allocation amount is updated so that the resource shortage amount is resolved.
- the service management apparatus is a service management apparatus that has a one-to-one correspondence with a service system that provides a service, and that determines an allocation amount of a virtual resource for each node in the corresponding service system.
- a model holding means for holding a service model that expresses the input and output of each node in the service system corresponding to the device in the processing order; and for each node in the service system, the allocated amount of virtual resources and one request Monitoring means for measuring the unit resource consumption, which is the amount of virtual resources to be consumed, and the average processing time, and obtaining a log representing the request generated in the service system, the virtual resource allocation amount and unit resource consumption of each node Based on quantity, average processing time and service model, A model generation unit that generates a resource model that expresses the amount of unused resources and the amount of resources in use at the time when an input occurs in the node, and generates a hybrid model that combines the service model and the resource model; Using the hybrid model and logs, a simulation of the resource consumption status of
- the hub device has a one-to-one correspondence with a service system that provides a service, and determines a virtual resource allocation amount for each node in the corresponding service system, and for each service system as a whole Used in conjunction with a resource management device that calculates a virtual resource allocation amount, and accepts from the service management device a resource surplus or deficiency amount indicating a shortage or surplus amount of the virtual resource allocation amount for the entire service system corresponding to the service management device.
- a hub device for notifying the service management device of a virtual resource allocation amount for one entire service system corresponding to the service management device, and holding the resource excess / deficiency amount notified from each service management device.
- the holding means and each service at regular intervals Based on the resource surplus / deficiency notified from the resource management device, calculate the total resource surplus / deficiency that represents the shortage or surplus of the allocated amount of virtual resources for each service system as a whole.
- Total resource excess / deficiency calculation means for notifying the management device and receiving notification of the allocated amount of virtual resources for the entire service system from the resource management device that has resolved the overall resource excess / deficiency amount, and the resource excess / deficiency amount indicates For each system that calculates a virtual resource allocation amount for one entire service system corresponding to a service management apparatus that has solved the shortage or surplus, and notifies the service management apparatus that is the source of the resource excess or shortage of the allocation amount Virtual resource allocation amount calculation means.
- the service management apparatus program has a one-to-one correspondence with a service system that provides a service, and is installed in a computer that determines the amount of virtual resources allocated to each node in the corresponding service system.
- a model holding process for holding a service model that represents the input and output of each node in the service system corresponding to the computer in the processing order, and a virtual resource allocation amount for each node in the service system
- a monitoring process for measuring a unit resource consumption, which is the amount of virtual resource consumed for one request, and an average processing time, and obtaining a log representing a request generated in the service system, a virtual resource of each node Quota, unit resource consumption Based on the average processing time and the service model, a resource model that represents the amount of unused resources and the amount of resources in use at the time of input to the node is generated.
- One resource corresponding to a computer is calculated based on the minimum resource remaining amount and the maximum resource shortage amount for each node. Indicates the shortage or surplus of virtual resource allocation for the entire system
- the source excess / deficiency amount is calculated, the resource excess / deficiency amount is notified to the hub device that determines the allocation amount of the virtual resource for the entire service system corresponding to the computer, Resource excess / deficiency calculation processing that receives notification of the virtual resource allocation amount for the entire service system corresponding to the computer that has eliminated the surplus amount, and the minimum resource remaining amount or the maximum resource shortage amount is eliminated for each node.
- a virtual resource allocation amount update process for updating a virtual resource allocation amount is executed.
- the hub device program according to the present invention has a one-to-one correspondence with a service system that provides a service, and determines a virtual resource allocation amount for each node in the corresponding service system, and each service system A service management device that is used together with a resource management device that calculates a virtual resource allocation amount for a whole, and that represents a resource surplus or deficiency amount that represents a shortage amount or a surplus amount of a virtual resource allocation amount for an entire service system corresponding to the service management device
- the program for the hub device installed in the computer for notifying the service management device of the amount of virtual resources allocated to the entire service system corresponding to the service management device, and notified to the computer from each service management device Excess resources Resource excess / deficiency retention processing for maintaining the amount of resources, based on the resource excess / deficiency notified from each service management device at regular intervals, the amount of virtual resource allocation for each service system as a whole
- the total resource excess / deficiency amount is calculated, the total resource excess
- the overall resource excess / deficiency calculation processing that receives the notification, calculates the allocation amount of the virtual resource for the entire service system corresponding to the service management apparatus that has solved the shortage or surplus indicated by the resource excess / deficiency, Virtual resource allocation by system that reports the allocated amount to the service management device of the resource excess / deficiency source Characterized in that to perform the calculation processing.
- FIG. 15 is an explanatory diagram illustrating a state in which a pool_hub_resource distribution table illustrated in FIG. 14 is updated.
- FIG. 16 is an explanatory diagram illustrating a state where a pool_resource capacity table illustrated in FIG. 15 is updated. It is a block diagram which shows the principal part of this invention.
- FIG. 1 is a block diagram showing a configuration example of a virtual resource control system of the present invention.
- the virtual resource control system 1 of the present invention includes service management devices 200 and 210, a hub device 300, and resource pool management devices 400 and 410.
- the virtual resource control system 1 determines the amount of virtual resources (for example, virtual CPU and virtual RAM) allocated to the service systems 100 and 110 according to the operating status of the service systems 100 and 110, respectively.
- virtual resources for example, virtual CPU and virtual RAM
- Service systems 100 and 110 are virtual resource allocation targets. Each of the service systems 100 and 110 executes a service providing process for the user. The type of service differs for each service system.
- the service system 100 includes, for example, a Web server 101, an App server 102, and a DB server 103.
- the service system 110 also includes a similar server group, but the specific configuration may be different for each service system. Devices other than the Web server 101, the App server 102, and the DB server 103 may be provided in the service system.
- the service system 100 may include a firewall 104 and a load balancer 105 as illustrated in FIG.
- Service management devices 200 and 210 are provided so as to correspond to service systems 100 and 110 on a one-to-one basis. Therefore, the number of service management devices is the same as the number of service systems.
- Each service management device 200, 210 measures the unit resource consumption (the amount of resources consumed for one request) of each node in the service system corresponding to its own device, and the average processing time of each node, The surplus or deficiency of virtual resources in each node is calculated. And each service management apparatus 200,210 changes the allocation amount of the virtual resource of each node in the service system corresponding to an own apparatus. In addition, when there is a surplus or shortage of virtual resources in each of the nodes in the service system corresponding to the self device, each service management device 200 or 210 automatically determines according to the surplus or shortage.
- the hub apparatus 300 is requested to change the allocation amount of the virtual resource allocated to the entire node of the service system corresponding to the apparatus.
- the service management apparatus 200 will be described as an example, but the configurations of the service management apparatuses 200 and 210 are the same.
- the service management device 200 includes a service information storage device 201, a monitoring unit 202, a hybrid model generation unit 203, a node_resource amount estimation unit 204, a service_resource allocation verification unit 205, a resource redistribution unit 206, A hub cooperation unit 207.
- the service information storage device 201 stores a node_resource table, a service_log table, a service_resource allocation table, and a service_model table.
- FIG. 3 is an explanatory diagram showing an example of a node_resource table.
- the node_resource table includes a node ID, a resource type, a resource allocation amount, a resource consumption amount (for each combination of a node in the service system 100 corresponding to the service management apparatus 200 and a virtual resource type allocated to the node). (Unit resource consumption), minimum resource remaining amount, maximum resource shortage, and service ID are stored in association with each other.
- the resource type is a type of virtual resource.
- the resource allocation amount is the resource amount currently allocated to the node.
- the minimum resource remaining amount is a minimum value of the remaining amount of the virtual resource when the resource consumption of the node is simulated based on the log generated by the service system 100.
- the maximum resource shortage is the maximum value of the virtual resource shortage during the simulation.
- the maximum resource shortage is obtained as the product of the maximum number of requests waiting in the simulation and the unit resource consumption.
- the minimum resource remaining amount and the maximum resource shortage amount are temporarily stored.
- the service ID is an ID of a service provided by the service system 100 corresponding to the service management apparatus 200. Therefore, the service ID is common in the node_resource table of the service management apparatus 200.
- the surplus amount when surplus occurs is represented by a positive value
- the deficit amount when deficiency occurs is represented by a negative value
- node_resource table for each node in the service system 100, a node ID, a node name, and an average processing time of the node are stored (see the lower part of FIG. 3).
- FIG. 4 is an explanatory diagram showing an example of the service_log table.
- the service system 100 generates one log every time one request occurs. This log information is stored in the service_log table. Specifically, a log ID, a service ID, and a time stamp are stored in association with each other. The data for one line shown in FIG. 4 represents one request generated in the service system 100.
- FIG. 5 is an explanatory diagram showing an example of a service_resource allocation table.
- the service_resource allocation table for each virtual resource type (resource type), the resource amount currently allocated to the entire node in the service system 100 corresponding to the service management apparatus 200, and the resource in the entire node The excess / deficiency amount is stored.
- a service ID is also stored for each type of virtual resource.
- the service ID in each row is also common in the service_resource allocation table.
- the service_resource allocation verification unit 205 determines the resource excess / deficiency amount corresponding to the resource allocation amount. Erase.
- FIG. 6 is an explanatory diagram showing an example of the service_model table.
- the service_model table stores a service ID, a service model, and a hybrid model in association with each other.
- the service model and the hybrid model are not shown.
- the service model is determined in advance according to the service system 100 corresponding to the service management apparatus 200 and stored in the service_model table.
- the hybrid model is generated based on the service_model, the resource amount allocated to each node, the measured unit resource consumption amount and the average processing time, and stored in the service_model table.
- the service model is a data structure that represents the input and output of each node in the service system in the order of processing.
- FIG. 7 is an explanatory diagram schematically showing an example of a service model.
- the rectangles shown with the characters “Web”, “App”, and “DB” represent nodes (servers).
- a circle represented on the left side of the rectangle (node) represents an input to the node, and a circle represented on the right side of the rectangle (node) represents an output from the node.
- a black dot in the circle represents a request.
- the service model may represent branching or aggregation of node outputs. By expressing branching and aggregation of node outputs, it is possible to express processing performed in parallel.
- the hybrid model is a data structure that combines a resource model with a service model.
- the resource model is a data structure that represents an unused resource amount and a resource amount in use of a virtual resource of the node when an input occurs in the node.
- FIG. 8 is an explanatory diagram schematically showing an example of a resource model.
- the resource model corresponds to a combination of node inputs and outputs in the service model.
- an input to a node in the service model is represented by a rectangle 21, and an output from the node is represented by a rectangle 22.
- a circle 23 on the left side of the rectangle 21 represents an unused resource amount among the resource amounts allocated to the node.
- a circle 24 on the right side of the rectangle 21 represents a resource amount allocated to the node. Of these, the amount of resources in use is represented.
- the resource model also includes unit resource consumption 20 at the node.
- the circle 23 represents the entire resource amount allocated to the node.
- the unused resource amount indicated by the circle 23 and the resource amount in use indicated by the circle 24 are updated in accordance with the generation of the request. Further, in the simulation, the unused resource amount indicated by the circle 23 so that the resource amount used by the request returns to the unused state at the timing when the average processing time of the node elapses after the request occurs, and The resource amount in use represented by the circle 24 is updated.
- FIG. 9 is an explanatory diagram showing an example of a hybrid model.
- each resource model corresponding to the combination of the input and output of the node in the service model shown in FIG. 7 is generated and combined with the service model.
- the unused resource amount and the resource amount in use of the resource model shown in FIG. 9 represent values at one point in the simulation.
- the amount of unused resources and the amount of resources in use can be reproduced for each node such as a Web server, App server, DB server, etc. Surplus and deficiency can be obtained.
- the service model and hybrid model as described above are stored in the service_model table (see FIG. 6).
- a service model is described in a time Petri net (TimePetriNet), and a resource model is described in a continuous value Petri net (Continuous PetriNet).
- the hybrid model is described by a hybrid Petri Net that integrates them.
- the monitoring unit 202 measures the resource amount allocated to each node in the service system 100 corresponding to the service management apparatus 200 and the unit resource consumption amount of each node, and stores them in the node_resource table (see FIG. 3). . Moreover, the monitoring part 202 measures the average processing time of each node, and stores it in a node_resource table. Further, the monitoring unit 202 performs this process for each type of virtual resource. In addition, the monitoring unit 202 acquires a log generated by the service system 100 for each request and stores the log in the service_log table.
- the hybrid model generation unit 203 is based on the resource allocation amount, the resource consumption amount, the average processing time of the node_resource table (see FIG. 3), and the service model (see FIG. 7) stored in the service_model table in advance.
- the resource model corresponding to the combination of the node input and output is respectively generated.
- the hybrid model generation unit 203 generates a hybrid model by combining each resource model with the service model, and stores it in the service_model table.
- the node_resource amount estimation unit 204 includes a hybrid model simulator, and executes a simulation of node resource consumption using the log acquired by the monitoring unit 202 from the service system 100 and the hybrid model. Then, the node_resource amount estimation unit 204 estimates the resource consumption status at each node. Specifically, the node_resource amount estimation unit 204 obtains the minimum resource remaining amount and the maximum resource shortage amount of each virtual resource in each node.
- the service_resource allocation verification unit 205 calculates the difference between the absolute value of the sum of the minimum resource remaining amount of each node and the absolute value of the sum of the maximum resource shortage amount of each node. This difference corresponds to the surplus or deficiency of virtual resources related to the service corresponding to the service management apparatus 200 (service provided by the service system 100). If the absolute value of the sum of the minimum resource remaining amount minus the absolute value of the sum of the maximum resource shortage is positive, it corresponds to the surplus amount, and if negative, it corresponds to the shortage amount. The service_resource allocation verification unit 205 performs the above calculation for each type of virtual resource. This difference is stored in the service_resource allocation table as the resource excess / deficiency amount shown in FIG.
- the service_resource allocation verification unit 205 determines that the surplus amount of virtual resources is to be returned to the resource pool, and returns the surplus amount of virtual resources. Is requested to the hub device 300 via the hub cooperation unit 207. Further, if the calculated difference represents the shortage amount of the virtual resource, the service_resource allocation verification unit 205 determines that the shortage virtual resource is to be added from the resource pool, and adds the shortage virtual resource. The permission is requested to the hub device 300 via the hub cooperation unit 207. When there is a response to the request from the hub device 300, the service_resource allocation verification unit 205 determines the return or addition of the virtual resource.
- the resource redistribution unit 206 determines to collect virtual resources corresponding to the minimum resource remaining amount from a node having a minimum minimum resource remaining amount. Further, the resource redistribution unit 206 determines to add virtual resources corresponding to the maximum resource shortage amount to the node where the virtual resource shortage occurs. The amount of virtual resources added to a node where a shortage of virtual resources occurs is allocated based on the amount of virtual resources allocated to be newly added or the amount of resources scheduled to be collected from the nodes where surplus of virtual resources occurs. It will be.
- the hub cooperation unit 207 requests the hub apparatus 300 to return the surplus amount of virtual resources and to permit the addition of the insufficient amount of virtual resources according to the service_resource allocation verification unit 205.
- the monitoring unit 202, the hybrid model generation unit 203, the node_resource amount estimation unit 204, the service_resource allocation verification unit 205, the resource redistribution unit 206, and the hub cooperation unit 207 are, for example, a computer that operates according to a service management apparatus program.
- the CPU reads a service management apparatus program, and in accordance with the program, the monitoring unit 202, the hybrid model generation unit 203, the node_resource amount estimation unit 204, the service_resource allocation verification unit 205, the resource redistribution unit 206, and the hub
- the link unit 207 may operate.
- the service management apparatus program may be stored in a computer-readable recording medium. Each of these elements may be realized by separate hardware.
- the hub device 300 receives requests from the service management devices 200 and 210, refers to the requests at regular time intervals, and permits allocation to the service system corresponding to the service management device for each service management device.
- the virtual resource allocation amount is notified to the service management apparatus. Accordingly, the hub device 300 does not immediately respond to the requesting service management device when receiving a request to change the allocation amount of the virtual resource from each service management device. That is, the request by each service management apparatus 200, 210 and the notification of the allocation amount from the hub apparatus 300 to each service management apparatus 200, 210 are performed asynchronously.
- the hub device 300 has each surplus or deficiency according to the surplus or deficiency.
- the resource pool management apparatus is requested to change the allocated amount of virtual resources for the entire service systems 100 and 110.
- a normal hub device and a standby hub device are provided.
- an ID of the hub device (hereinafter referred to as a hub ID) is determined for each of the normal hub device and the standby hub device.
- a hub ID is determined for each of the normal hub device and the standby hub device.
- a standby hub device operates instead of the normal hub device.
- the normal hub device and the standby hub device have the same configuration. In FIG. 1, only the normal hub device 300 is illustrated.
- the structure provided with only one hub apparatus 300 may be sufficient, without making the hub apparatus 300 redundant. In that case, the hub ID may not be determined for the hub device 300.
- the hub device 300 includes a hub information storage device 301, a service cooperation unit 302, a hub_resource distribution verification unit 303, a hub_resource redistribution unit 304, and a pool cooperation unit 305.
- the hub information storage device 301 stores a hub_service_resource allocation table and a hub_resource allocation table.
- FIG. 10 is an explanatory diagram showing an example of the hub_service_resource allocation table.
- the hub_service_resource allocation table stores a service ID, a hub ID, a resource amount, a resource excess / deficiency amount, and a resource type in association with each combination of a service ID and a resource type.
- the service management apparatus and the service system have a one-to-one correspondence, and the service systems execute different service providing processes. Therefore, the service ID can be used as information for identifying the service management apparatus.
- the hub ID is an ID of the hub device 300 itself. When the hub apparatus 300 is configured to have only one hub apparatus 300 without making the hub apparatus 300 redundant, storing the hub ID may be omitted.
- the resource amount is a virtual resource allocation amount allocated to the entire service system corresponding to the service ID.
- the resource amount “15” of the virtual CPU is defined as the allocation amount to be allocated to the entire service system 100 in the service management apparatus 200 corresponding to the service ID “sv1”. This indicates that there is a notification from the service management apparatus 200 that the resource excess / deficiency amount is “ ⁇ 2” (ie, there is a shortage of 2 virtual CPUcores).
- the “resource amount” is updated in the hub_service_resource allocation table, the “resource excess / deficiency amount” corresponding to the “resource amount” is deleted.
- FIG. 11 is an explanatory diagram showing an example of a hub_resource allocation table.
- the hub_resource allocation table for each virtual resource type (resource type), a hub ID and all service systems 100 and 110 corresponding to all service management apparatuses 200 and 210 are currently assigned.
- the “hub_resource amount” is updated, the “hub_resource excess / deficiency amount” corresponding to the “hub_resource amount” is deleted.
- the service cooperation unit 302 receives a request for returning a surplus amount of virtual resources or a request for adding a shortage of virtual resources from the hub cooperation unit 207, and determines the surplus amount or deficiency amount as “resource excess or deficiency amount”. And stored in the hub_service_resource allocation table (see FIG. 10). Further, when the allocation amount of the virtual resource permitted to be allocated to the service system corresponding to the service management apparatus is changed, the service cooperation unit 302 notifies the service management apparatus of the changed allocation amount.
- the hub_resource allocation verification unit 303 reads the resource excess / deficiency for each service system from the hub_service_resource allocation table (see FIG. 10) at regular time intervals. Then, the hub_resource allocation verification unit 303 calculates the sum of the resource excess / deficiency for each resource type, and sets the calculation result as the hub_resource excess / deficiency in the hub_resource allocation table (see FIG. 11). Store. If the hub_resource excess / deficiency amount (the sum of the resource excess / deficiency amount for each resource type) is positive, it indicates the surplus amount of the virtual resource. If the hub_resource excess / deficiency amount is negative, it indicates a virtual resource shortage amount.
- the hub_resource allocation verification unit 303 determines to return the surplus amount of virtual resources from the entire service system to the resource pool.
- the resource pool management apparatuses 400 and 410 are requested via the pool cooperation unit 305 to return the amount of virtual resources. Further, if the hub_resource excess / deficiency amount represents the shortage amount of the virtual resource, the hub_resource allocation verification unit 303 determines to add the shortage amount to the allocation amount of the virtual resource allocated to the entire service system,
- the resource pool management devices 400 and 410 are requested via the pool cooperation unit 305 for permission to add the insufficient virtual resources.
- the hub_resource allocation verification unit 303 determines the return or addition of the virtual resource.
- the hub_resource redistribution unit 304 determines for each service system that the virtual resources corresponding to the surplus amount of the virtual resources are collected, or determines that the insufficient virtual resources are added.
- the amount of virtual resources added to the service system in which there is a shortage of virtual resources is allocated based on the amount of virtual resources allocated to be newly added or the amount of resources scheduled to be collected from the service system in which there is a surplus of virtual resources Is done.
- the pool cooperation unit 305 requests the resource pool management devices 400 and 410 according to the hub_resource distribution verification unit 303 to return the surplus amount of virtual resources and to permit addition of the insufficient amount of virtual resources.
- the service cooperation unit 302, the hub_resource distribution verification unit 303, the hub_resource redistribution unit 304, and the pool cooperation unit 305 are realized by a CPU of a computer that operates according to the hub device program, for example.
- the CPU may read the hub device program and operate as the service cooperation unit 302, the hub_resource distribution verification unit 303, the hub_resource redistribution unit 304, and the pool cooperation unit 305 according to the program.
- the hub device program may be stored in a computer-readable recording medium. Each of these elements may be realized by separate hardware.
- the resource pool management apparatuses 400 and 410 notify the hub apparatus 300 of the virtual resource allocation amount that is permitted to be allocated to the entire service system in response to a request from the hub apparatus 300.
- Resource pool management devices are provided for each type of virtual resource. For example, it is assumed that virtual resources for controlling the allocation amount are a virtual CPU and a virtual RAM. In this case, a resource pool management device corresponding to the virtual CPU and a resource pool management device corresponding to the virtual RAM are provided. In the present embodiment, the case where the resource pool management device 400 corresponds to a virtual CPU and the resource pool management device 410 corresponds to a virtual RAM will be described as an example. In the following, a case where there are two resource pool management devices will be described as an example. However, the number of resource pool management devices is not limited to two, and is determined by the number of types of virtual resources.
- the resource pool management device 400 will be described as an example, but the configurations of the resource pool management devices 400 and 410 are the same.
- the resource pool management device 400 includes a pool information storage device 401, a hub cooperation unit 402, and an allocation change unit 403.
- the pool information storage device 401 stores a pool_hub_resource allocation table and a pool_resource capacity table.
- FIG. 12 is an explanatory diagram showing an example of a pool_hub_resource allocation table.
- the pool_hub_resource allocation table corresponds to the hub ID of the hub device 300 to be a communication partner, the ID (pool ID) of the resource pool management device 400 itself, the hub_resource amount, the hub_resource excess / deficiency amount, and the resource type. Stored with. Since the resource pool management apparatus 400 corresponds to a virtual CPU, “CPU” is stored as a resource type (see FIG. 12).
- the hub_resource amount is a virtual resource allocation amount currently allocated to all the service systems 100 and 110 as a whole. In this example, this virtual resource is a virtual CPU.
- the hub_resource excess / deficiency amount is the resource excess / deficiency amount of all the service systems 100 and 110 as a whole.
- FIG. 13 is an explanatory diagram showing an example of a pool_resource capacity table.
- a pool ID a pool_allocated capacity
- a pool_resource capacity a resource type
- a resource unit a unit for returning or adding a virtual resource. In the example illustrated in FIG. 13, the virtual CPU is returned or added in units of virtual CPU cores.
- FIG. 12 and 13 show examples of the pool_hub_resource distribution table and the pool_resource capacity table stored in the resource pool management apparatus 400 corresponding to the virtual CPU.
- FIG. 14 shows an example of a pool_hub_resource allocation table stored in the pool information storage device 401 of the resource pool management device 410 corresponding to the virtual RAM.
- FIG. 15 shows an example of a pool_resource capacity table stored in the pool information storage device 401 of the resource pool management device 410 corresponding to the virtual RAM. In the example illustrated in FIG. 15, a case where the virtual RAM is returned or added in units of 1 GB is illustrated.
- the hub cooperation unit 402 receives a request for returning a virtual resource corresponding to the surplus amount or a request for adding a virtual resource corresponding to a shortage from the pool cooperation unit 305, and determines the surplus amount and the shortage amount as “hub_resource excess / deficiency”.
- the amount is stored in the pool_hub_resource allocation table (see FIG. 12).
- the hub cooperation unit 402 notifies the service management apparatus of the changed allocation amount.
- the allocation changing unit 403 confirms the hub_resource excess / deficiency amount (see FIG. 12) at regular intervals, and the virtual resource that permits allocation to the entire service system according to the hub_resource excess / deficiency amount. Change the quota of Therefore, the request by the hub device 300 and the notification of the allocation amount from the resource pool management device to the hub device 300 are performed asynchronously.
- the hub cooperation unit 402 and the allocation change unit 403 are realized by, for example, a CPU of a computer that operates according to a resource pool management apparatus program.
- the CPU may read the resource pool management apparatus program and operate as the hub cooperation unit 402 and the allocation change unit 403 according to the program.
- the resource pool management apparatus program may be stored in a computer-readable recording medium.
- FIG. 16 is a flowchart illustrating an example of processing progress of the service management apparatus.
- the service management apparatus 200 will be described as an example, but the same applies to the other service management apparatuses 210.
- the monitoring unit 202 measures the resource amount allocated to each node in the service system 100 corresponding to the service management apparatus 200 and the unit resource consumption of each node.
- the monitoring unit 202 stores the measurement results in the node_resource table (see FIG. 3) as resource allocation amount and resource consumption amount, respectively.
- the monitoring unit 202 performs this process for each type of virtual resource such as a virtual CPU or virtual RAM.
- the monitoring unit 202 also measures the average processing time of each node in the service system 100 and stores it in the node_resource table. Further, the monitoring unit 202 acquires a log from the service system 100 and stores it in the service log table (see FIG. 4) (step A1).
- the hybrid model generation unit 203 uses the resource allocation amount, the resource consumption amount, and the average processing time of the node_resource table (that is, the resource allocation amount, unit resource consumption amount, and average processing time of each node measured in step A1). ) And a service model (see FIG. 7) previously stored in the service_model table, a hybrid model is generated and stored in the service_model table (step A2).
- the hybrid model generation unit 203 generates, for each node, a resource model (see FIG. 8) regarding the combination of the input and output of the focused node.
- the hybrid model generation unit 203 determines the unit resource consumption of each virtual resource in the node of interest as the unit resource consumption 20 (see FIG. 8) in the resource model. Further, the allocation amount of each virtual resource in the node of interest is determined as an initial value of the unused resource amount, and the initial value of the resource amount in use of each virtual resource is determined as 0. Further, the average processing time of the node of interest is determined as the processing time after the request is generated.
- the hybrid model generation unit 203 generates a resource model for each node, and generates a hybrid model (see FIG. 9) by associating each resource model with the input and output of the node in the service model.
- the node_resource amount estimation unit 204 assumes that each request indicated by the service_log table (see FIG. 4) occurs at the time indicated by the time stamp, and indicates an unused resource amount and a resource amount in use at each node.
- the resource consumption situation is estimated by simulating the change of (Step A3).
- the node_resource amount estimation unit 204 obtains the minimum resource remaining amount and the maximum resource shortage amount for each virtual resource type in each node.
- step A3 when one request occurs, the node_resource amount estimation unit 204 decreases the unused resource amount of each virtual resource in the first node by the unit resource consumption amount. At this time, the node_resource amount estimation unit 204 increases the resource amount in use of each virtual resource in the node by the unit resource consumption amount. The node_resource amount estimation unit 204 performs the same process every time a request is generated. Further, the node_resource amount estimation unit 204 decreases the resource amount in use of each virtual resource by the unit resource consumption amount at the time when the average processing time of the node has elapsed from the time when one request is generated. The amount of unused resources of each virtual resource is increased by the unit resource consumption. That is, the virtual resource determined to be in use is returned to an unused state.
- the node_resource amount estimation unit 204 changes the unused resource amount and the resource amount in use in the resource model in the hybrid model. These resource amount values are appropriately updated in circles 23 and 24 shown in FIG. 8 (see FIG. 9).
- the node_resource amount estimation unit 204 waits for the processing of the request in the simulation. That is, the node_resource amount estimation unit 204 does not update the unused resource amount and the resource amount in use, and until the time when the processing time for the request that has occurred before has elapsed and the unused resource amount increases, Wait for the processing of the request that occurred.
- the number of waiting requests (the number of waiting requests) is not limited to one, and may be two or more. Assuming that the amount of unused resources increases and the amount of unused resources becomes greater than the unit resource consumption, the node_resource amount estimation unit 204 again starts processing according to a waiting request. Update the amount of unused resources and the amount of resources in use.
- the node_resource amount estimation unit 204 executes the simulation on the condition that the processing according to the request is started. Execute.
- the node_resource amount estimation unit 204 similarly uses the unused resource amount and the resource in use in other nodes as well. Update quantity.
- the node_resource amount estimation unit 204 monitors the change of each virtual resource of each node in the above simulation, specifies the minimum resource remaining amount and the maximum resource shortage amount for each virtual resource of each node, Store in the resource table (see FIG. 3).
- the node_resource amount estimation unit 204 may calculate the product of the maximum number of requests waiting in the node of interest and the unit resource consumption amount as the maximum resource shortage amount in the node.
- the node_resource amount estimation unit 204 rounds down the decimal point of the minimum resource remaining amount and rounds up the decimal point of the maximum resource shortage amount.
- a unit amount hereinafter referred to as a unit amount
- the unit amount of the virtual CPU is “1 virtual CPU core” and the unit amount of the virtual RAM is “1 GB” is taken as an example.
- the service_resource allocation verification unit 205 subtracts the result of subtracting the absolute value of the sum of the minimum resource remaining amount of each node from the absolute value of the sum of the minimum resource remaining amount of each node. It is calculated as the shortage amount and stored in the service_resource allocation table (see FIG. 5) (step A4).
- processing after step A4 is performed for each resource type (for each type of virtual resource).
- the service management apparatus 200 performs the processing after step A4 for the virtual CPU and also performs the processing after step A4 for the virtual RAM. If there are other types of virtual resources, the processing from step A4 onward is also performed for those types.
- the service_resource allocation verification unit 205 compares the resource excess / deficiency amount calculated for the resource type of interest with the unit amount (step A5).
- the surplus resource amount for the unit amount is expressed as “1”.
- the shortage resource amount for the unit amount is represented as “ ⁇ 1”.
- the service_resource allocation verification unit 205 determines that the resource excess / deficiency amount (in this case, the surplus resource amount) is returned to the resource pool, and returns virtual resources for the surplus amount. To request the hub device 300 via the hub cooperation unit 207. At this time, the service_resource allocation verification unit 205 transmits the resource excess / deficiency amount to the hub device 300 via the hub cooperation unit 207. Then, when the hub device 300 is notified of a new resource allocation amount (resource allocation amount for the entire node of the service system 100) in which the service_resource allocation verification unit 205 has reduced the resource amount corresponding to the surplus amount, Is confirmed (step A6).
- a new resource allocation amount resource allocation amount for the entire node of the service system 100
- the service_resource allocation verification unit 205 stores the new resource allocation amount notified from the hub device 300 in the service_resource allocation table, and deletes the resource excess / deficiency amount from the service_resource allocation table. . After step A6, the process proceeds to step A8.
- the service_resource allocation verification unit 205 determines to add virtual resources corresponding to the resource excess / deficiency (in this case, the resource shortage), and adds the deficiency. Is requested to the hub device 300 via the hub cooperation unit 207. At this time, the service_resource allocation verification unit 205 transmits the resource excess / deficiency amount to the hub device 300 via the hub cooperation unit 207. Then, the service_resource allocation verification unit 205 is notified of a new resource allocation amount (a resource allocation amount for the entire node of the service system 100) that has increased the resource amount corresponding to the shortage amount from the hub device 300. The addition of resources is confirmed (step A7).
- the service_resource allocation verification unit 205 stores the new resource allocation amount notified from the hub device 300 in the service_resource allocation table, and deletes the resource excess / deficiency amount from the service_resource allocation table. . After step A7, the process proceeds to step A8.
- requests from the service management devices 200 and 210 to the hub device 300 and responses from the hub device 300 are performed asynchronously. Accordingly, in steps A6 and A7, the period from when the service management apparatus makes a request to the hub apparatus 300 until when there is a response from the hub apparatus 300 is not uniform.
- step A8 If the resource excess / deficiency is greater than -1 and less than 1, the process proceeds to step A8 after step A5.
- the resource redistribution unit 206 determines to collect virtual resources corresponding to the minimum resource remaining amount from the node whose minimum resource remaining amount is positive. Specifically, the resource redistribution unit 206 subtracts the minimum resource remaining amount from the resource allocation amount of the node whose minimum resource remaining amount is positive in the node_resource table (see FIG. 3). Update resource quota. Further, the resource redistribution unit 206 determines to add virtual resources corresponding to the maximum resource shortage amount to a node whose maximum resource shortage amount is negative. Specifically, the resource redistribution unit 206 adds the resource amount corresponding to the maximum resource shortage amount to the resource allocation amount of the node whose maximum resource shortage amount is negative in the node_resource table (see FIG. 3). The resource allocation amount is updated by adding. Further, the resource redistribution unit 206 deletes the minimum resource remaining amount and the maximum resource shortage amount of the node whose resource allocation amount has been updated.
- the operator of the service system 100 refers to the updated resource allocation amount in the node_resource table, and physically allocates the virtual resource allocation of each node in the service system 100 according to the resource allocation amount.
- Update to Further, means for automatically physically updating the virtual resource allocation of each node in the service system 100 in accordance with the updated resource allocation amount in the node_resource table is provided in each service management apparatus 200, 210. It may be provided.
- FIG. 17 is a flowchart showing an example of processing progress of the hub device 300.
- the service cooperation unit 302 of the hub device 300 requests a surplus amount of virtual resources to be returned from the service management devices 200 and 210 (step A6 shown in FIG. 16), or requests for permission to add virtual resources for the shortage amount (step A6).
- step A7 information on the resource excess / deficiency is also received.
- the service cooperation unit 302 uses the received resource excess / deficiency amount as a hub ID as a service ID corresponding to the requesting service management apparatus and a resource excess / deficiency amount corresponding to the resource type requested to be returned or added.
- Store in the service_resource allocation table (see FIG. 10).
- the hub device 300 performs the processing of steps B1 to B5 shown below for each resource type.
- the hub_resource allocation verification unit 303 reads the hub_service_resource allocation table at regular time intervals, and calculates the sum of the read resource excess / deficiency. Then, the hub_resource allocation verification unit 303 stores the calculation result in the hub_resource allocation table (see FIG. 11) as the hub_resource excess / deficiency amount in the resource type of interest (step B1).
- the hub_resource allocation verification unit 303 compares the hub_resource excess / deficiency calculated in step B1 with the unit amount of the resource type of interest (step B2). As described above, the surplus resource amount for the unit amount is represented as “1”. Further, the shortage resource amount for the unit amount is represented as “ ⁇ 1”.
- the hub_resource allocation verification unit 303 determines that the hub_resource excess / deficiency amount (in this case, the surplus resource amount) is to be returned to the resource pool.
- the virtual pool is requested to be returned to the resource pool management apparatus corresponding to the resource type of interest via the pool cooperation unit 305.
- the resource type of interest is a virtual CPU and a request is made to the resource pool management apparatus 400 will be described as an example.
- the hub_resource allocation verification unit 303 also transmits the hub_resource excess / deficiency amount to the resource pool management apparatus 400 when making this request.
- the hub_resource allocation verification unit 303 When the hub_resource allocation verification unit 303 is notified from the resource pool management device 400 of a new resource allocation amount (resource allocation amount for each of the service systems 100 and 110) that has reduced the surplus amount, the virtual resource Is confirmed (step B3). Specifically, the hub_resource allocation verification unit 303 stores the new resource allocation amount notified from the resource pool management apparatus 400 as a hub_resource amount in the hub_resource allocation table (see FIG. 11), and _Hub_Resource excess / deficiency is deleted from the resource allocation table. After step B3, the process proceeds to step B5.
- the hub_resource allocation verification unit 303 determines to add virtual resources corresponding to the hub_resource excess / deficiency (in this case, the resource shortage). Requesting permission to add an insufficient amount is made to the resource pool management apparatus 400 corresponding to the resource type of interest via the pool cooperation unit 305.
- the hub_resource allocation verification unit 303 also transmits the hub_resource excess / deficiency amount to the resource pool management apparatus 400 when making this request.
- the hub_resource allocation verification unit 303 is notified from the resource pool management apparatus 400 of a new resource allocation amount (resource allocation amount for the entire service systems 100 and 110) in which the resource amount corresponding to the shortage amount is increased.
- step B4 the addition of the virtual resource is confirmed. Specifically, the hub_resource allocation verification unit 303 stores the new resource allocation amount notified from the resource pool management apparatus 400 as the hub_resource amount in the hub_resource allocation table, and from the hub_resource allocation table. Hub_Resource excess / deficiency is deleted. After step B4, the process proceeds to step B5.
- a request from the hub apparatus 300 to the resource pool management apparatus 400 and a response from the resource pool management apparatus 400 are performed asynchronously. Therefore, in steps B3 and B4, the period from when the hub apparatus 300 makes a request to the resource pool management apparatus 400 to when there is a response from the resource pool management apparatus 400 is not uniform. This is the same when the hub apparatus 300 makes a request to another resource pool management apparatus 410.
- step B5 If the hub_resource excess / deficiency is greater than -1 and less than 1, the process proceeds to step B5 after step B2.
- the hub_resource redistribution unit 304 determines the resource excess / deficiency amount (this resource amount) from the service system in which the resource excess / deficiency amount of the virtual resource of interest is positive in the hub_service_resource allocation table. In this case, it is determined to collect virtual resources for the surplus resource amount). Specifically, the hub_resource redistribution unit 304 determines a positive resource excess / deficiency amount (from the “resource amount” of the virtual resource of interest in the hub_service_resource allocation table (see FIG. 10)). The “resource amount” is updated by subtracting the surplus resource amount).
- the hub_resource redistribution unit 304 applies the resource excess / deficiency amount (this resource amount) to the service system in which the resource excess / deficiency amount of the virtual resource of interest is negative in the hub_service_resource allocation table. If so, decide to add virtual resources for the shortage). Specifically, the hub_resource redistribution unit 304 adds “the resource amount corresponding to the shortage amount” to the “resource amount” of the virtual resource of interest in the hub_service_resource distribution table. Update “Resource amount”. Further, the hub_resource redistribution unit 304 deletes the resource excess / deficiency amount in the row in which the “resource amount” is updated in the hub_service_resource allocation table.
- step B5 the hub_resource redistribution unit 304 identifies the updated “resource amount” via the service cooperation unit 302 by the service ID corresponding to the “resource amount”. Send to.
- FIG. 18 is a flowchart showing an example of processing progress of the resource pool management apparatus.
- the resource pool management device 400 will be described as an example, but the processing progress of other resource pool management devices 410 is the same.
- the hub cooperation unit 402 of the resource pool management apparatus 400 requests a return of virtual resources for the surplus amount from the hub apparatus 300 (step B3 shown in FIG. 17) or a request for permission to add virtual resources for the shortage (FIG. 17).
- the hub cooperation unit 402 stores the received hub_resource excess / deficiency amount in the pool_hub_resource distribution table (see FIG. 12) (step C1).
- the allocation changing unit 403 confirms the hub_resource excess / deficiency amount in the pool_hub_resource allocation table at regular time intervals, and determines whether the hub_resource excess / deficiency amount is 0 or more (step). C2).
- the hub_resource excess / deficiency amount is 0 or more means that a surplus has occurred in the virtual resources (in this example, virtual CPUs) corresponding to the resource pool management apparatus 400 in the entire service systems 100 and 110. means.
- the allocation changing unit 403 determines that the resource amount corresponding to the hub_resource excess / deficiency amount (in this case, the surplus resource amount) is allowed to be returned to the resource pool (step C3).
- the hub_resource excess / deficiency amount being less than 0 means that there is a shortage of virtual resources corresponding to the resource pool management apparatus 400 in the entire service systems 100 and 110.
- the allocation changing unit 403 determines to newly add a resource amount corresponding to the hub_resource excess / deficiency amount (here, the deficiency amount) to the entire service systems 100 and 110 (step C4). ).
- the allocation changing unit 403 updates the pool_hub_resource distribution table and the pool_resource capacity table according to the determination in step C3 or step C4 (step C5).
- the allocation changing unit 403 determines from the hub_resource amount (see FIG. 12) in the pool_hub_resource distribution table to the hub_resource excess / deficiency amount (here, , The amount of surplus resources) is subtracted to update the hub_resource amount. At this time, the allocation changing unit 403 deletes the hub_resource excess / deficiency amount in the pool_hub_resource distribution table. Furthermore, the allocation changing unit 403 updates the pool_allocation capacity of the pool_resource capacity table with the same value as the updated hub_resource quantity.
- the allocation changing unit 403 adds the hub_resource excess / deficiency amount (here, the deficiency amount) to the hub_resource amount (see FIG. 12) in the pool_hub_resource distribution table. ) To update the hub_resource amount. At this time, the allocation changing unit 403 deletes the hub_resource excess / deficiency amount in the pool_hub_resource distribution table. Furthermore, the allocation changing unit 403 updates the pool_allocation capacity of the pool_resource capacity table with the same value as the updated hub_resource quantity.
- the hub_resource amount in the pool_hub_resource distribution table (see FIG. 12) and the pool_allocated capacity (see FIG. 13) in the pool_resource capacity table are both for the entire service systems 100 and 110.
- the amount of virtual resources to be allocated are both for the entire service systems 100 and 110.
- step C5 the assignment changing unit 403 transmits the updated hub_resource amount in the pool_hub_resource distribution table to the hub device 300 via the hub cooperation unit 402.
- the node_resource amount estimation unit 204 specifies the minimum resource remaining amount and the maximum resource shortage amount for each node in the service system using the hybrid model. Then, the service_resource allocation verification unit 205 calculates the resource excess / deficiency amount. Therefore, it is possible to grasp the surplus amount and the shortage amount of virtual resources in one service system as a whole.
- the hub device 300 receives the surplus amount and the shortage amount of the virtual resources in the entire service system, and sends a request for returning the surplus amount of resources and a request for adding the shortage amount of resources to the service management device 200, Accept from 210. At this time, the hub device 300 does not respond in synchronization to a request from one service management device. While the hub device 300 receives requests from the individual service management devices 200 and 210, the hub device 300 does not synchronize with the individual service management devices 200 and 210, and does not synchronize with each service system 100 and 110 at regular intervals. The surplus amount and shortage amount of resources are grasped, and a new virtual resource allocation amount is notified to each service management apparatus. Therefore, it is possible to appropriately determine the amount of virtual resources allocated to each service system.
- the virtual resource allocation amount for each service system can be determined while minimizing the virtual resource allocation amount for each service system 100, 110 as a whole.
- the hub device 300 is provided, and as described above, the request from the service management device 200, 210 to the hub device 300 and the response of the hub device 300 to the request are performed asynchronously. Therefore, when a new service system is added, a service management device is newly added, and the hub device 300 operates in the same manner as the operations for the other service management devices 200 and 210 for the service management device. Can be done. When the existing service system is abolished, the hub device 300 may stop the operation for the service management device corresponding to the service system. Therefore, in an environment where service systems are added or deleted, the amount of virtual resources allocated to each service system can be appropriately determined.
- the hub device 300 even if the type of the virtual resource for which the allocation amount is determined increases or decreases, the amount of renovation as a virtual resource control system can be reduced. it can. For example, when a storage allocation amount is newly determined, a resource pool management device corresponding to the storage is newly provided, and the hub device 300 also provides another resource pool management device 400 to the resource pool management device. , 410 may be performed. Further, when reducing the type of virtual resource for which the allocation amount is to be determined, the hub device 300 may stop the operation for the resource pool management device corresponding to the virtual resource.
- each resource pool management device allocates a virtual resource to each service management device.
- m * n types of resource allocation control environments must be prepared. Further, in this case, the amount of modification of the entire system when the service management apparatus is increased or decreased or the resource pool management apparatus is increased or decreased.
- the virtual resource control system As described above, even if addition or deletion of a service system or addition or deletion of a virtual resource type for which an allocation amount is determined occurs, the virtual resource control system The amount of repairs can be reduced.
- FIG. 2 it is assumed that a Web server system having components such as a load balancer, a firewall, a Web server, an App server, and a DB server as components is operating as a service system.
- a service model of such a service system for example, it is assumed that the service model shown in FIG.
- two types of virtual resources, a virtual CPU and a virtual RAM, are assumed to be allocation targets.
- the monitoring unit 202 of the service management apparatus 200 measures the resource allocation amount of each node, the unit resource consumption of each node, and the average processing time of each node, targeting the nodes in the service system 100.
- FIG. As shown, it is stored in the node_resource table.
- the unit of virtual CPU resource consumption is the number of virtual CPUcores
- the unit of virtual RAM resource consumption is gigabytes
- the unit of average processing time is seconds (sec).
- the virtual CPU resource allocation amount and the virtual RAM resource allocation amount of the node “sv1_n1” are “2 virtual CPU core” and “1 GB”, respectively.
- the unit resource consumption of the virtual CPU and the unit resource consumption of the virtual RAM of the node “sv1_n1” are “0.5 virtual CPU core” and “0.2 GB”, respectively.
- the average processing time of the node “sv1_n1” is 2 sec.
- the hybrid model generation unit 203 is illustrated in FIG. 9 using the resource allocation amount, unit resource consumption, average processing time, and service model (see FIG. 7) stored in the node_resource table illustrated in FIG. Generate a hybrid model.
- the node_resource amount estimation unit 204 simulates the behavior of the service system and the resource consumption status by using each request of the service_log table (see FIG. 4) as an input to the hybrid model.
- the amount of unused resources and the amount of resources in use in the hybrid model illustrated in FIG. 9 represent values at one point in the simulation.
- the Web server is processing two requests, and the virtual CPU and the virtual RAM are used by “1 virtual CPU core” and “0.4 GB”, respectively.
- the node_resource amount estimation unit 204 determines that the unused resource amount becomes the unit resource consumption amount.
- the number of waiting requests is increased by 1 while the request is in a waiting state.
- the initial value of the number of requests waiting for each node is zero.
- the node_resource amount estimation unit 204 calculates, for each node, the product of the maximum number of waiting requests during simulation and the unit resource consumption, and sets that value as the maximum resource shortage.
- the node_resource amount estimation unit 204 also measures the minimum value of the unused resource amount of each node during the simulation, and sets each measured value as the minimum resource remaining amount of each node.
- the node_resource amount estimation unit 204 stores the maximum resource shortage amount and the minimum resource remaining amount of each node obtained by the simulation in the node_resource table.
- FIG. 19 shows an example of a state where the maximum resource shortage amount and the minimum resource remaining amount of each node are added to the node_resource table shown in FIG.
- the shortage amount of the virtual RAM is 0.4 GB, but since the decimal part is rounded up, the maximum resource shortage amount of the virtual RAM is stored as -1.
- the service_resource allocation verification unit 205 subtracts the absolute value of the sum of the maximum resource shortage amount of each node from the absolute value of the sum of the minimum resource remaining amount of each node illustrated in FIG. Is calculated for each resource type.
- the service_resource allocation verification unit 205 stores the resource excess / deficiency amount for each resource type in the service_resource allocation table as illustrated in FIG.
- the entire CPU of the service system 100 indicates that the number of virtual CPUs is insufficient by 2 virtual CPUcores and the virtual RAM is 4 GB.
- the service_resource allocation verification unit 205 transmits the resource excess / deficiency “ ⁇ 2” to the hub device 300 via the hub cooperation unit 207 regarding the virtual CPU, and requests that two virtual CPU cores be added to the virtual CPU resource. To do.
- the service_resource allocation verification unit 205 transmits the resource excess / deficiency “4” to the hub apparatus 300 via the hub cooperation unit 207 regarding the virtual RAM, and returns 4 GB of virtual RAM from the service system 100. Request that.
- the service_resource allocation verification unit 205 stores the resource allocation amount in the service_resource allocation table (see FIG. 5). And erase the excess or deficiency of the resource on that line. Similarly, when the resource allocation amount obtained by adding two virtual CPU cores from the current state to the virtual CPU resource amount is notified from the hub device 300, the service_resource allocation verification unit 205 displays the resource allocation amount in the service_resource allocation table (FIG. 5) and erase the excess or deficiency of the resource in the row.
- the virtual CPU resource amount shown in FIG. 5 is updated from “15” to “17”, and the virtual RAM resource amount shown in FIG. 5 is updated from “21” to “17”. Then, each resource excess / deficiency shown in FIG. 5 is deleted.
- the resource redistribution unit 206 adds resources corresponding to the maximum resource shortage amount to the resource allocation amount in the row where the maximum resource shortage amount is negative in the node_resource table illustrated in FIG. Update resource quota. Then, the resource redistribution unit 206 deletes the maximum resource shortage amount. Further, the resource redistribution unit 206 updates the resource allocation amount by subtracting the resource amount corresponding to the minimum resource remaining amount from the resource allocation amount in the row where the minimum resource remaining amount is positive. Then, the resource redistribution unit 206 deletes the minimum resource remaining amount.
- FIG. 20 shows a state where the node_resource table illustrated in FIG. 19 is updated.
- the virtual CPU allocation amount and virtual RAM allocation amount of the node “sv1_n1” are updated to 3 virtual CPU cores and 2 GB, respectively (see FIG. 20).
- the service cooperation unit 302 of the hub device 300 receives the resource excess / deficiency amount together with the return or addition request of the virtual resource, the resource excess / deficiency amount is stored in the hub_service_resource allocation table as illustrated in FIG. To do.
- the example illustrated in FIG. 10 illustrates a case where the resource excess / deficiency amount of each resource type is received from the service management apparatus 200 corresponding to the service ID “sv1” 1 and the service management apparatus 210 corresponding to the service ID “sv2”. is doing.
- the hub_resource allocation verification unit 303 reads the hub_service_resource allocation table at regular time intervals (for example, every 5 minutes), calculates the sum of resource excess / deficiency for each resource type, and hub_resource excess / deficiency As a hub_resource allocation table (see FIG. 11).
- FIG. 11 it is estimated that, as a whole, each service system 100 and 110 has a shortage of 5 virtual CPU cores and a surplus of 8 GB of virtual RAM.
- the hub_resource allocation verification unit 303 transmits the hub_resource excess / deficiency “ ⁇ 5” to the resource pool management apparatus 400 corresponding to the virtual CPU. Then, the hub_resource allocation verification unit 303 requests that 5 virtual CPU cores be added to the entire service systems 100 and 110 as virtual CPU allocation amounts. Also, the hub_resource allocation verification unit 303 transmits the hub_resource excess / deficiency “8” to the resource pool management apparatus 410 corresponding to the virtual RAM, and allocates 8 GB of virtual RAM to the service systems 100 and 110 as a whole. Request to return from.
- the hub_resource allocation verification unit 303 uses the resource allocation amount as the hub_resource amount and the hub_ Store in resource allocation table. The hub_resource allocation verification unit 303 deletes the hub_resource excess / deficiency amount in the row.
- the hub_resource allocation verification unit 303 uses the resource allocation amount as a hub_resource amount as a hub. Store in resource allocation table. The hub_resource allocation verification unit 303 deletes the hub_resource excess / deficiency amount in the row.
- FIG. 21 shows a state after the above update is performed on the hub_resource allocation table shown in FIG.
- the hub_resource redistribution unit 304 adds resources corresponding to the resource excess / deficiency amount to the resource amount of the row where the resource excess / deficiency amount is negative in the hub_service_resource allocation table illustrated in FIG. By doing so, the resource amount is updated, and the resource excess / deficiency amount is deleted. In addition, the hub_resource redistribution unit 304 updates the resource amount by subtracting the resource amount corresponding to the resource excess / deficiency amount from the resource amount of the row in which the resource excess / deficiency amount is positive. Erase the deficiency.
- FIG. 22 shows a state after the above update is performed on the hub_service_resource allocation table shown in FIG.
- the hub_resource redistribution unit 304 transmits the resource amount shown in FIG. 22 to each service management apparatus corresponding to the service ID.
- the pool_hub_resource allocation table is stored as follows.
- the allocation changing unit 403 checks the hub_resource excess / deficiency amount in the pool_hub_resource allocation table at regular time intervals (for example, every 10 minutes). If the hub_resource excess / deficiency amount is negative, the allocation change unit 403 updates the hub_resource amount by adding the resource amount corresponding to the hub_resource excess / deficiency amount to the hub_resource amount. Further, if the hub_resource excess / deficiency amount is positive, the allocation changing unit 403 updates the hub_resource amount by subtracting the resource amount corresponding to the hub_resource excess / deficiency amount from the hub_resource amount. When updating the hub_resource amount, the allocation changing unit 403 deletes the hub_resource excess / deficiency amount.
- FIG. 23 shows a state where the above update is performed on the pool_hub_resource allocation table illustrated in FIG.
- the allocation changing unit 403 updates the pool_allocation capacity of the pool_resource capacity table illustrated in FIG. 13 to the same value as the updated hub_resource quantity.
- FIG. 24 shows a state where the above update is performed on the pool_resource capacity table illustrated in FIG.
- the assignment changing unit 403 transmits the updated hub_resource amount in the pool_hub_resource distribution table to the hub device 300 via the hub cooperation unit 402.
- the resource pool management device 400 corresponding to the virtual CPU has been described as an example.
- the operation of the resource pool management apparatus 410 corresponding to the virtual RAM is the same.
- the pool_hub_resource distribution table of the resource pool management apparatus 410 is in the state shown in FIG.
- the pool_resource capacity table of the resource pool management apparatus 410 is in the state shown in FIG.
- the pool_hub_resource allocation table shown in FIG. 14 is updated to the state shown in FIG.
- the pool_resource capacity table shown in FIG. 15 is updated to the state shown in FIG.
- FIG. 27 is a block diagram showing the main part of the present invention.
- the virtual resource control system of the present invention includes a service management device 50, a hub device 60, and a resource management device 70.
- the service management device 50 (for example, the service management devices 200 and 210) has a one-to-one correspondence with the service system that provides the service, and determines the amount of virtual resources allocated to each node in the corresponding service system.
- the hub device 60 receives from the service management device 50 a resource surplus / deficiency amount indicating a shortage amount or surplus amount of virtual resource allocation for one service system corresponding to the service management device 50,
- the service management apparatus 50 is notified of the amount of virtual resources allocated to the entire service system corresponding to the service management apparatus 50.
- the resource management device 70 calculates the allocated amount of virtual resources for each entire service system.
- the service management apparatus 50 includes a model holding unit 51, a monitoring unit 52, a model generation unit 53, a resource excess / deficiency calculation unit 54, and a virtual resource allocation update unit 55.
- the model holding means 51 (for example, the service information storage device 201 that stores the service model table) holds a service model that represents the input and output of each node in the service system corresponding to the own device in the order of processing.
- the monitoring means 52 (for example, the monitoring unit 202) is configured to allocate, for each node in the service system, a virtual resource allocation amount, a unit resource consumption amount that is a virtual resource amount consumed for one request, and an average processing time. And obtain a log representing the request that occurred in the service system.
- the model generation unit 53 (for example, the hybrid model generation unit 203) is configured to generate a node when an input is generated based on the virtual resource allocation amount, unit resource consumption, average processing time, and service model of each node.
- a resource model expressing the unused resource amount and the resource amount in use of the node is generated, and a hybrid model combining the service model and the resource model is generated.
- the resource excess / deficiency calculation means 54 uses the hybrid model and the log to execute a simulation of the resource consumption status of each node in the service system, and for each node. Calculate the minimum resource remaining amount that is the minimum value of the remaining amount of virtual resources and the maximum resource shortage amount that is the maximum value of the virtual resource shortage amount, and based on the minimum resource remaining amount and the maximum resource shortage amount for each node. The resource excess / deficiency amount is calculated, the resource excess / deficiency amount is notified to the hub device 60, and the corresponding shortage amount or surplus amount indicated by the resource excess / deficiency amount is resolved from the hub device 60 to correspond to the service management device. A notification of the virtual resource allocation amount for the entire service system is received.
- the virtual resource allocation amount updating unit 55 (for example, the resource redistribution unit 206) updates the allocation amount of the virtual resource so that the minimum resource remaining amount or the maximum resource shortage amount is resolved for each node.
- the hub device 60 includes resource excess / deficiency holding means 61, overall resource excess / deficiency calculation means 62, and system-specific virtual resource allocation quantity calculation means 63.
- the resource excess / deficiency holding means 61 (for example, the hub information storage device 301 that stores the hub_service_resource allocation) holds the resource excess / deficiency notified from each service management device 50.
- the total resource excess / deficiency calculation means 62 (for example, the hub_resource allocation verification unit 303), based on the resource excess / deficiency notified from each service management device 50 at regular intervals, virtual resources for the entire service system.
- An overall resource excess / deficiency amount (for example, hub_resource excess / deficiency amount) representing an allocation amount deficiency or surplus amount is calculated, and the resource management device 70 is notified of the overall resource excess / deficiency amount. Then, the notification of the virtual resource allocation amount for each entire service system, which has solved the overall resource excess / deficiency amount, is received.
- the system-specific virtual resource allocation amount calculation unit 63 (for example, the hub_resource redistribution unit 304) performs virtual processing for the entire service system corresponding to the service management apparatus, in which the shortage amount or surplus amount indicated by the resource excess / shortage amount is eliminated.
- the resource allocation amount is calculated, and the allocation amount is notified to the service management apparatus that is the transmission source of the resource excess / deficiency amount.
- the resource management device 70 includes a total resource excess / deficiency holding unit 71 and a total virtual resource allocation amount calculation unit 72.
- the overall resource excess / deficiency holding unit 71 (for example, the pool information storage device 401 that stores the pool_hub_resource distribution table) holds the overall resource excess / deficiency notified from the hub device 60.
- the total virtual resource allocation amount calculating means 72 (for example, the allocation changing unit 403) confirms the total resource excess / deficiency for each fixed period, and allocates the virtual resource to each service system with the total resource excess / deficiency eliminated. The amount is calculated and the assigned amount is notified to the hub device 60.
- Such a configuration makes it possible to appropriately determine the amount of virtual resources allocated to each service system in an environment where service systems are added or deleted.
- the configuration may include a resource management device 70 for each type of virtual resource.
- the resource excess / deficiency calculation unit 54 calculates the minimum resource remaining amount, the maximum resource shortage amount, and the resource excess / deficiency amount for each virtual resource type, and the virtual resource allocation amount update unit 55 calculates the virtual resource allocation type for each virtual resource type.
- the virtual resource allocation amount is updated, the resource excess / deficiency holding unit 61 holds the resource excess / deficiency amount notified from each service management device for each type of virtual resource, and the overall resource excess / deficiency calculation unit 62
- the model holding means 51 may hold the service model expressing the branching and aggregation of the node outputs while expressing the input and output of each node in the service system in the processing order.
- the present invention is preferably applied to a virtual resource control system that controls the amount of virtual resources allocated to a plurality of service systems.
- Service management device 201
- Service information storage device 202
- Monitoring unit 203
- Hybrid model generation unit 204
- Node_resource amount estimation unit 205
- Service_resource allocation verification unit 206
- Resource redistribution unit 207
- Hub cooperation unit 300
- Hub device 301
- Hub information storage device 302
- Service Cooperation Unit 303
- Hub_Resource Allocation Verification Unit 304
- Hub_Resource Redistribution Unit 305 Pool Cooperation Unit 400
- Resource Pool Management Device 401
- Pool Information Storage Device 402
- Hub Cooperation Unit 403 Allocation Change Unit
Abstract
Description
図16は、サービス管理装置の処理経過の例を示すフローチャートである。ここでは、サービス管理装置200を例にして説明するが、他のサービス管理装置210に関しても同様である。
201 サービス情報記憶装置
202 モニタリング部
203 ハイブリッドモデル生成部
204 ノード_リソース量推定部
205 サービス_リソース配分検証部
206 リソース再配分部
207 ハブ連携部
300 ハブ装置
301 ハブ情報記憶装置
302 サービス連携部
303 ハブ_リソース配分検証部
304 ハブ_リソース再配分部
305 プール連携部
400 リソースプール管理装置
401 プール情報記憶装置
402 ハブ連携部
403 割当変更部
Claims (9)
- サービスを提供するサービスシステムと一対一に対応し、対応するサービスシステム内の個々のノードに対する仮想リソースの割当量を定めるサービス管理装置と、
サービス管理装置に対応する1つのサービスシステム全体に対する仮想リソースの割当量の不足量または余剰量を表すリソース過不足量を前記サービス管理装置から受け付け、前記サービス管理装置に対応する1つのサービスシステム全体に対する仮想リソースの割当量を前記サービス管理装置に通知するハブ装置と、
各サービスシステム全体に対する仮想リソースの割当量を算出するリソース管理装置とを備え、
各サービス管理装置は、
自装置に対応するサービスシステム内の各ノードの入力および出力を処理順に表現するサービスモデルを保持するモデル保持手段と、
前記サービスシステム内の各ノードに関して、仮想リソースの割当量と、1つのリクエストに対して消費する仮想リソースの量である単位リソース消費量と、平均処理時間とを測定し、前記サービスシステムで生じたリクエストを表すログを取得するモニタリング手段と、
各ノードの仮想リソースの割当量、単位リソース消費量、および平均処理時間と、前記サービスモデルとに基づいて、ノードに入力が生じたときにおける当該ノードの未使用リソース量および使用中のリソース量を表現するリソースモデルを生成し、前記サービスモデルと前記リソースモデルとを組み合わせたハイブリッドモデルを生成するモデル生成手段と、
前記ハイブリッドモデルと、前記ログとを用いて、前記サービスシステム内の各ノードのリソース消費状況のシミュレーションを実行して、ノード毎に、仮想リソースの残量の最小値である最小リソース残量と、仮想リソースの不足量の最大値である最大リソース不足量とを算出し、ノード毎の最小リソース残量および最大リソース不足量に基づいて前記リソース過不足量を算出し、当該リソース過不足量を前記ハブ装置に通知し、前記ハブ装置から、当該リソース過不足量が示す不足量または余剰量を解消した、当該サービス管理装置に対応する1つのサービスシステム全体に対する仮想リソースの割当量の通知を受けるリソース過不足量算出手段と、
ノード毎に、最小リソース残量または最大リソース不足量が解消されるように、仮想リソースの割当量を更新する仮想リソース割当量更新手段とを含み、
前記ハブ装置は、
各サービス管理装置から通知されたリソース過不足量を保持するリソース過不足量保持手段と、
一定期間毎に、各サービス管理装置から通知されたリソース過不足量に基づいて、各サービスシステム全体に対する仮想リソースの割当量の不足量または余剰量を表す全体リソース過不足量を算出し、当該全体リソース過不足量をリソース管理装置に通知し、前記リソース管理装置から、当該全体リソース過不足量を解消した、各サービスシステム全体に対する仮想リソースの割当量の通知を受ける全体リソース過不足量算出手段と、
リソース過不足量が示す不足量または余剰量を解消した、サービス管理装置に対応する1つのサービスシステム全体に対する仮想リソースの割当量を算出し、当該割当量を前記リソース過不足量の送信元のサービス管理装置に通知するシステム別仮想リソース割当量算出手段とを含み、
前記リソース管理装置は、
前記ハブ装置から通知された全体リソース過不足量を保持する全体リソース過不足量保持手段と、
一定期間毎に、前記全体リソース過不足量を確認し、前記全体リソース過不足量を解消した、各サービスシステム全体に対する仮想リソースの割当量を算出し、当該割当量を前記ハブ装置に通知する全体仮想リソース割当量算出手段とを含む
ことを特徴とする仮想リソース制御システム。 - 仮想リソースの種別毎にリソース管理装置を備える
請求項1に記載の仮想リソース制御システム。 - リソース過不足量算出手段は、仮想リソースの種別毎に、最小リソース残量、最大リソース不足量、およびリソース過不足量を算出し、
仮想リソース割当量更新手段は、仮想リソースの種別毎に、仮想リソースの割当量を更新し、
リソース過不足量保持手段は、各サービス管理装置から通知されたリソース過不足量を仮想リソースの種別毎に保持し、
全体リソース過不足量算出手段は、仮想リソースの種別毎に、全体リソース過不足量を算出し、当該全体リソース過不足量を仮想リソースの種別に応じたリソース管理装置に通知し、
システム別仮想リソース割当量算出手段は、サービス管理装置に対応する1つのサービスシステム全体に対する仮想リソースの割当量を、仮想リソースの種別毎に算出する
請求項2に記載の仮想リソース制御システム。 - モデル保持手段は、サービスシステム内の各ノードの入力および出力を処理順に表現するとともに、ノードの出力の分岐および集約を表現するサービスモデルを保持する
請求項1から請求項3のうちのいずれか1項に記載の仮想リソース制御システム。 - サービスを提供するサービスシステムと一対一に対応し、対応するサービスシステム内の個々のノードに対する仮想リソースの割当量を定めるサービス管理装置と、サービス管理装置に対応する1つのサービスシステム全体に対する仮想リソースの割当量の不足量または余剰量を表すリソース過不足量を前記サービス管理装置から受け付け、前記サービス管理装置に対応する1つのサービスシステム全体に対する仮想リソースの割当量を前記サービス管理装置に通知するハブ装置と、各サービスシステム全体に対する仮想リソースの割当量を算出するリソース管理装置とを用いた仮想リソース制御方法であって、
各サービス管理装置が、
自装置に対応するサービスシステム内の各ノードの入力および出力を処理順に表現するサービスモデルを保持し、
前記サービスシステム内の各ノードに関して、仮想リソースの割当量と、1つのリクエストに対して消費する仮想リソースの量である単位リソース消費量と、平均処理時間とを測定し、前記サービスシステムで生じたリクエストを表すログを取得し、
各ノードの仮想リソースの割当量、単位リソース消費量、および平均処理時間と、前記サービスモデルとに基づいて、ノードに入力が生じたときにおける当該ノードの未使用リソース量および使用中のリソース量を表現するリソースモデルを生成し、前記サービスモデルと前記リソースモデルとを組み合わせたハイブリッドモデルを生成し、
前記ハイブリッドモデルと、前記ログとを用いて、前記サービスシステム内の各ノードのリソース消費状況のシミュレーションを実行して、ノード毎に、仮想リソースの残量の最小値である最小リソース残量と、仮想リソースの不足量の最大値である最大リソース不足量とを算出し、ノード毎の最小リソース残量および最大リソース不足量に基づいて前記リソース過不足量を算出し、当該リソース過不足量を前記ハブ装置に通知し、
前記ハブ装置が、
各サービス管理装置から通知されたリソース過不足量を保持し、
一定期間毎に、各サービス管理装置から通知されたリソース過不足量に基づいて、各サービスシステム全体に対する仮想リソースの割当量の不足量または余剰量を表す全体リソース過不足量を算出し、当該全体リソース過不足量をリソース管理装置に通知し、
前記リソース管理装置が、
前記ハブ装置から通知された全体リソース過不足量を保持し、
一定期間毎に、前記全体リソース過不足量を確認し、前記全体リソース過不足量を解消した、各サービスシステム全体に対する仮想リソースの割当量を算出し、当該割当量を前記ハブ装置に通知し、
前記ハブ装置が、
前記リソース管理装置から、各サービスシステム全体に対する仮想リソースの割当量の通知を受け、
リソース過不足量が示す不足量または余剰量を解消した、サービス管理装置に対応する1つのサービスシステム全体に対する仮想リソースの割当量を算出し、当該割当量を前記リソース過不足量の送信元のサービス管理装置に通知し、
各サービス管理装置が、
自装置に対応する1つのサービスシステム全体に対する仮想リソースの割当量の通知を受け、
ノード毎に、最小リソース残量または最大リソース不足量が解消されるように、仮想リソースの割当量を更新する
ことを特徴とする仮想リソース制御方法。 - サービスを提供するサービスシステムと一対一に対応し、対応するサービスシステム内の個々のノードに対する仮想リソースの割当量を定めるサービス管理装置であって、
当該サービス管理装置に対応するサービスシステム内の各ノードの入力および出力を処理順に表現するサービスモデルを保持するモデル保持手段と、
前記サービスシステム内の各ノードに関して、仮想リソースの割当量と、1つのリクエストに対して消費する仮想リソースの量である単位リソース消費量と、平均処理時間とを測定し、前記サービスシステムで生じたリクエストを表すログを取得するモニタリング手段と、
各ノードの仮想リソースの割当量、単位リソース消費量、および平均処理時間と、前記サービスモデルとに基づいて、ノードに入力が生じたときにおける当該ノードの未使用リソース量および使用中のリソース量を表現するリソースモデルを生成し、前記サービスモデルと前記リソースモデルとを組み合わせたハイブリッドモデルを生成するモデル生成手段と、
前記ハイブリッドモデルと、前記ログとを用いて、前記サービスシステム内の各ノードのリソース消費状況のシミュレーションを実行して、ノード毎に、仮想リソースの残量の最小値である最小リソース残量と、仮想リソースの不足量の最大値である最大リソース不足量とを算出し、ノード毎の最小リソース残量および最大リソース不足量に基づいて、当該サービス管理装置に対応する1つのサービスシステム全体に対する仮想リソースの割当量の不足量または余剰量を表すリソース過不足量を算出し、当該サービス管理装置に対応する1つのサービスシステム全体に対する仮想リソースの割当量を定めるハブ装置に前記リソース過不足量を通知し、前記ハブ装置から、当該リソース過不足量が示す不足量または余剰量を解消した、当該サービス管理装置に対応する1つのサービスシステム全体に対する仮想リソースの割当量の通知を受けるリソース過不足量算出手段と、
ノード毎に、最小リソース残量または最大リソース不足量が解消されるように、仮想リソースの割当量を更新する仮想リソース割当量更新手段とを備える
ことを特徴とするサービス管理装置。 - サービスを提供するサービスシステムと一対一に対応し、対応するサービスシステム内の個々のノードに対する仮想リソースの割当量を定めるサービス管理装置、および、各サービスシステム全体に対する仮想リソースの割当量を算出するリソース管理装置とともに用いられ、サービス管理装置に対応する1つのサービスシステム全体に対する仮想リソースの割当量の不足量または余剰量を表すリソース過不足量を前記サービス管理装置から受け付け、前記サービス管理装置に対応する1つのサービスシステム全体に対する仮想リソースの割当量を前記サービス管理装置に通知するハブ装置であって、
各サービス管理装置から通知されたリソース過不足量を保持するリソース過不足量保持手段と、
一定期間毎に、各サービス管理装置から通知されたリソース過不足量に基づいて、各サービスシステム全体に対する仮想リソースの割当量の不足量または余剰量を表す全体リソース過不足量を算出し、当該全体リソース過不足量をリソース管理装置に通知し、前記リソース管理装置から、当該全体リソース過不足量を解消した、各サービスシステム全体に対する仮想リソースの割当量の通知を受ける全体リソース過不足量算出手段と、
リソース過不足量が示す不足量または余剰量を解消した、サービス管理装置に対応する1つのサービスシステム全体に対する仮想リソースの割当量を算出し、当該割当量を前記リソース過不足量の送信元のサービス管理装置に通知するシステム別仮想リソース割当量算出手段とを備える
ことを特徴とするハブ装置。 - サービスを提供するサービスシステムと一対一に対応し、対応するサービスシステム内の個々のノードに対する仮想リソースの割当量を定めるコンピュータに搭載されるサービス管理装置用プログラムであって、
前記コンピュータに、
前記コンピュータに対応するサービスシステム内の各ノードの入力および出力を処理順に表現するサービスモデルを保持するモデル保持処理、
前記サービスシステム内の各ノードに関して、仮想リソースの割当量と、1つのリクエストに対して消費する仮想リソースの量である単位リソース消費量と、平均処理時間とを測定し、前記サービスシステムで生じたリクエストを表すログを取得するモニタリング処理、
各ノードの仮想リソースの割当量、単位リソース消費量、および平均処理時間と、前記サービスモデルとに基づいて、ノードに入力が生じたときにおける当該ノードの未使用リソース量および使用中のリソース量を表現するリソースモデルを生成し、前記サービスモデルと前記リソースモデルとを組み合わせたハイブリッドモデルを生成するモデル生成処理、
前記ハイブリッドモデルと、前記ログとを用いて、前記サービスシステム内の各ノードのリソース消費状況のシミュレーションを実行して、ノード毎に、仮想リソースの残量の最小値である最小リソース残量と、仮想リソースの不足量の最大値である最大リソース不足量とを算出し、ノード毎の最小リソース残量および最大リソース不足量に基づいて、前記コンピュータに対応する1つのサービスシステム全体に対する仮想リソースの割当量の不足量または余剰量を表すリソース過不足量を算出し、前記コンピュータに対応する1つのサービスシステム全体に対する仮想リソースの割当量を定めるハブ装置に前記リソース過不足量を通知し、前記ハブ装置から、当該リソース過不足量が示す不足量または余剰量を解消した、前記コンピュータに対応する1つのサービスシステム全体に対する仮想リソースの割当量の通知を受けるリソース過不足量算出処理、および、
ノード毎に、最小リソース残量または最大リソース不足量が解消されるように、仮想リソースの割当量を更新する仮想リソース割当量更新処理
を実行させるためのサービス管理装置用プログラム。 - サービスを提供するサービスシステムと一対一に対応し、対応するサービスシステム内の個々のノードに対する仮想リソースの割当量を定めるサービス管理装置、および、各サービスシステム全体に対する仮想リソースの割当量を算出するリソース管理装置とともに用いられ、サービス管理装置に対応する1つのサービスシステム全体に対する仮想リソースの割当量の不足量または余剰量を表すリソース過不足量を前記サービス管理装置から受け付け、前記サービス管理装置に対応する1つのサービスシステム全体に対する仮想リソースの割当量を前記サービス管理装置に通知するコンピュータに搭載されるハブ装置用プログラムであって、
前記コンピュータに、
各サービス管理装置から通知されたリソース過不足量を保持するリソース過不足量保持処理、
一定期間毎に、各サービス管理装置から通知されたリソース過不足量に基づいて、各サービスシステム全体に対する仮想リソースの割当量の不足量または余剰量を表す全体リソース過不足量を算出し、当該全体リソース過不足量をリソース管理装置に通知し、前記リソース管理装置から、当該全体リソース過不足量を解消した、各サービスシステム全体に対する仮想リソースの割当量の通知を受ける全体リソース過不足量算出処理、および、
リソース過不足量が示す不足量または余剰量を解消した、サービス管理装置に対応する1つのサービスシステム全体に対する仮想リソースの割当量を算出し、当該割当量を前記リソース過不足量の送信元のサービス管理装置に通知するシステム別仮想リソース割当量算出処理
を実行させるためのハブ装置用プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015530673A JP6191695B2 (ja) | 2013-08-05 | 2014-06-24 | 仮想リソース制御システムおよび仮想リソース制御方法 |
US14/909,866 US9880883B2 (en) | 2013-08-05 | 2014-06-24 | Virtual resource control system determining new allocation of resources at a hub |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013-162456 | 2013-08-05 | ||
JP2013162456 | 2013-08-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015019538A1 true WO2015019538A1 (ja) | 2015-02-12 |
Family
ID=52460901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/003383 WO2015019538A1 (ja) | 2013-08-05 | 2014-06-24 | 仮想リソース制御システムおよび仮想リソース制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9880883B2 (ja) |
JP (1) | JP6191695B2 (ja) |
WO (1) | WO2015019538A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10649796B2 (en) * | 2014-06-27 | 2020-05-12 | Amazon Technologies, Inc. | Rolling resource credits for scheduling of virtual computer resources |
US9720613B2 (en) * | 2014-12-30 | 2017-08-01 | Teradata Us, Inc. | Method and system for preventing reuse of cylinder ID indexes in a computer system with missing storage drives |
US20180131633A1 (en) * | 2016-11-08 | 2018-05-10 | Alibaba Group Holding Limited | Capacity management of cabinet-scale resource pools |
CA2981842C (en) * | 2017-03-01 | 2024-04-09 | The Toronto-Dominion Bank | Resource allocation based on resource distribution data from child node |
US10860381B1 (en) | 2020-05-14 | 2020-12-08 | Snowflake Inc. | Flexible computing |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS642145A (en) * | 1987-06-25 | 1989-01-06 | Fujitsu Ltd | Resource control system for virtual computer system |
US20120221454A1 (en) * | 2011-02-28 | 2012-08-30 | Morgan Christopher Edwin | Systems and methods for generating marketplace brokerage exchange of excess subscribed resources using dynamic subscription periods |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7937551B2 (en) | 2003-01-21 | 2011-05-03 | Dell Products L.P. | Storage systems having differentiated storage pools |
US8725886B1 (en) * | 2006-10-20 | 2014-05-13 | Desktone, Inc. | Provisioned virtual computing |
US8015280B2 (en) * | 2007-10-01 | 2011-09-06 | Ebay Inc. | Method and system for intelligent feature degradation in response to a network deficiency detection |
US8402468B2 (en) * | 2008-03-17 | 2013-03-19 | Ca, Inc. | Capacity planning based on resource utilization as a function of workload |
JP5119077B2 (ja) | 2008-07-28 | 2013-01-16 | 西日本電信電話株式会社 | 仮想サーバリソース調整システム、リソース調整装置、仮想サーバリソース調整方法、及び、コンピュータプログラム |
JP2011081579A (ja) | 2009-10-07 | 2011-04-21 | Hitachi Ltd | Itシステム仮想化における仮想リソースのシステム運用管理方法およびシステム |
JP5242717B2 (ja) | 2011-02-09 | 2013-07-24 | 日本電信電話株式会社 | リソース管理サーバ、リソース管理システム、リソース管理方法及びリソース管理プログラム |
US9817699B2 (en) * | 2013-03-13 | 2017-11-14 | Elasticbox Inc. | Adaptive autoscaling for virtualized applications |
US20140373010A1 (en) * | 2013-06-14 | 2014-12-18 | International Business Machines Corporation | Intelligent resource management for virtual machines |
-
2014
- 2014-06-24 WO PCT/JP2014/003383 patent/WO2015019538A1/ja active Application Filing
- 2014-06-24 JP JP2015530673A patent/JP6191695B2/ja not_active Expired - Fee Related
- 2014-06-24 US US14/909,866 patent/US9880883B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS642145A (en) * | 1987-06-25 | 1989-01-06 | Fujitsu Ltd | Resource control system for virtual computer system |
US20120221454A1 (en) * | 2011-02-28 | 2012-08-30 | Morgan Christopher Edwin | Systems and methods for generating marketplace brokerage exchange of excess subscribed resources using dynamic subscription periods |
Also Published As
Publication number | Publication date |
---|---|
JP6191695B2 (ja) | 2017-09-06 |
US20160196168A1 (en) | 2016-07-07 |
US9880883B2 (en) | 2018-01-30 |
JPWO2015019538A1 (ja) | 2017-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200287961A1 (en) | Balancing resources in distributed computing environments | |
JP6191695B2 (ja) | 仮想リソース制御システムおよび仮想リソース制御方法 | |
CN105718364B (zh) | 一种云计算平台中计算资源能力动态评估方法 | |
CN109582433B (zh) | 一种资源调度方法、装置、云计算系统及存储介质 | |
CN107832153B (zh) | 一种Hadoop集群资源自适应分配方法 | |
CN103581247A (zh) | 一种基于云计算环境的分布式Web测试方法 | |
US9396039B1 (en) | Scalable load testing using a queue | |
JP7086065B2 (ja) | アプリケーションリンク拡張方法、装置、及びシステム | |
US20160156567A1 (en) | Allocation method of a computer resource and computer system | |
CN109918170A (zh) | 一种云数据中心虚拟机动态资源配置方法及系统 | |
US20100146517A1 (en) | System and method for a rate control technique for a lightweight directory access protocol over mqseries (lom) server | |
Lebre et al. | Putting the next 500 vm placement algorithms to the acid test: The infrastructure provider viewpoint | |
US20120317069A1 (en) | Throughput sustaining support system, device, method, and program | |
CN113064744A (zh) | 任务处理方法、装置、计算机可读介质及电子设备 | |
CN112199192B (zh) | 基于服务器部署Kubernetes集群精细化管理配额的方法及系统 | |
CN110297743B (zh) | 一种负载测试方法、装置和存储介质 | |
CN111443870A (zh) | 一种数据处理的方法、设备及存储介质 | |
JP6924083B2 (ja) | 情報処理システムおよびリソース割り当て方法 | |
US20210191751A1 (en) | Method and device for allocating resource in virtualized environment | |
CN110868330B (zh) | 云平台可划分cpu资源的评估方法、装置及评估系统 | |
CN115834600B (zh) | 一种多云纳管数据同步方法、装置、电子设备和存储介质 | |
IL301738A (en) | Predictive block storage size allocation for cloud storage | |
CN112000657A (zh) | 数据管理方法、装置、服务器及存储介质 | |
US8819174B2 (en) | Information processing system, information processing method, and storage medium | |
JP2013232035A (ja) | 情報処理システム、情報処理装置、情報処理方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14834926 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2015530673 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14909866 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14834926 Country of ref document: EP Kind code of ref document: A1 |