[go: up one dir, main page]

WO2018003031A1 - Programme de gestion de virtualisation, dispositif de gestion de virtualisation et procédé de gestion de virtualisation - Google Patents

Programme de gestion de virtualisation, dispositif de gestion de virtualisation et procédé de gestion de virtualisation Download PDF

Info

Publication number
WO2018003031A1
WO2018003031A1 PCT/JP2016/069285 JP2016069285W WO2018003031A1 WO 2018003031 A1 WO2018003031 A1 WO 2018003031A1 JP 2016069285 W JP2016069285 W JP 2016069285W WO 2018003031 A1 WO2018003031 A1 WO 2018003031A1
Authority
WO
WIPO (PCT)
Prior art keywords
container
virtual execution
service
application
resource
Prior art date
Application number
PCT/JP2016/069285
Other languages
English (en)
Japanese (ja)
Inventor
永井 剛
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2016/069285 priority Critical patent/WO2018003031A1/fr
Priority to JP2018524634A priority patent/JP6631710B2/ja
Publication of WO2018003031A1 publication Critical patent/WO2018003031A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Definitions

  • the present invention relates to a virtualization management program, a virtualization management device, and a virtualization management method.
  • multiple virtual execution units such as multiple virtual machines and multiple containers may be operated on the same physical machine using computer virtualization technology.
  • Resources such as processor capacity and memory area can be allocated to each of the plurality of virtual execution units, and the resources that can be used by each virtual execution unit are limited to the allocated range.
  • application software can be executed without being influenced by other virtual execution units (independent of other virtual execution units).
  • the same type of application software can be executed in a plurality of virtual execution units, and the processing of the application software can be distributed using the plurality of virtual execution units.
  • the number of virtual execution units that execute the same type of application software may be dynamically changed. Increase the virtual execution unit when the application software load is high (for example, when the number of requests per unit time is large), and decrease the virtual execution unit when the load is low (for example, when the number of requests per unit time is small) It is possible. As a result, resources can be saved when the load is low, and the required resources can be used only when the load is high.
  • the number of virtual execution units that execute the same type of application software may be referred to as “scale”, increasing the virtual execution units may be referred to as “scale-out”, and decreasing the virtual execution units may be referred to as “scale-in”.
  • a server management apparatus that manages a cluster system including a plurality of virtual servers has been proposed.
  • the proposed server management device collects the processor usage rate, the memory usage rate, the number of waiting queues, the number of database connections, the frequency of occurrence of garbage collection, and the number of sessions with clients of the virtual server group.
  • the server management apparatus determines that the virtual server group can be scaled in when all of the six index values are equal to or less than the threshold value.
  • the server management apparatus searches for a physical server with the smallest number of operating virtual servers and stops any virtual server on the corresponding physical server.
  • a server management apparatus that performs scale-in has been proposed.
  • an operation management apparatus that collects the communication amount for each traffic type of the virtual machine and determines the increase or decrease of the virtual machine based on the communication amount is proposed.
  • One method for selecting a virtual execution unit to be stopped is to monitor changes in processor usage, memory usage, disk usage, etc. for each virtual execution unit, and select a virtual execution unit with little change. It is done. However, depending on the application software, the virtual execution unit may have an incomplete processing state even if the processor usage rate does not change. On the other hand, even if the processor usage rate changes intermittently, the virtual execution unit may not have an incomplete processing state.
  • an object of the present invention is to provide a virtualization management program, a virtualization management apparatus, and a virtualization management method that can appropriately select a virtual execution unit to be stopped.
  • a virtualization management program that causes a computer to execute the following processing. For each of a plurality of virtual execution units to which a resource other than a processor resource and a processor resource is allocated, resource information indicating a first usage amount related to the processor resource and a second usage amount related to another resource, and a plurality of virtual executions Service information indicating the usage status of services provided from other than the unit computer is acquired. A virtual execution unit that can be stopped from a plurality of virtual execution units is specified based on predetermined conditions relating to resource information and service information.
  • the predetermined condition is that the amount of change in the first usage amount and the amount of change in the second usage amount are equal to or less than a threshold value, and the virtual execution in the first state in which the service is not used for a first time or more.
  • the unit or the amount of change in the second usage amount is less than or equal to the threshold, the time when the service is being used for polling the service continues for the second time or more, and the polling is performed in other than the virtual execution unit.
  • the virtual execution unit of the 2nd state which is also performing the virtual execution unit is shown.
  • a virtualization management device having a storage unit and a control unit is provided.
  • a virtualization management method executed by a computer is provided.
  • the virtual execution unit to be stopped can be appropriately selected.
  • FIG. 1 It is a figure which shows the example of the virtualization management apparatus of 1st Embodiment. It is a figure which shows the example of the information processing system of 2nd Embodiment. It is a block diagram which shows the hardware example of a scale control server. It is a block diagram which shows the example of a container. It is a figure which shows the example of the scale-out and scale-in of a container. It is a figure which shows the example of an application setting table. It is a figure which shows the example of an application instance table. It is a figure which shows the example of a container resource table. It is a figure which shows the example of a distribution table and a communication log table. It is a figure which shows the example of a service log table.
  • FIG. 1 is a diagram illustrating an example of a virtualization management apparatus according to the first embodiment.
  • the virtualization management device 10 manages a plurality of virtual execution units including the virtual execution units 21 and 22.
  • the virtual execution units 21 and 22 are virtual processing entities that execute application software on a physical computer (physical machine).
  • the virtual execution units 21 and 22 are arranged on the same physical machine or different physical machines.
  • the virtual execution units 21 and 22 may be virtual machines in host type virtualization or hypervisor type virtualization, or containers in container type virtualization.
  • host-type virtualization a host OS (Operating System) is executed on a physical machine, and a plurality of virtual machines operate on the host OS. Each virtual machine executes a guest OS, and middleware and application software are executed on the guest OS.
  • hypervisor type virtualization a hypervisor is executed on a physical machine, and a plurality of virtual machines operate on the hypervisor. Similar to host-type virtualization, a guest OS is executed in each virtual machine, and middleware and application software are executed on the guest OS.
  • container type virtualization a host OS is executed on a physical machine, and a plurality of containers operate on the host OS.
  • a container is a virtual execution unit that is lighter than a virtual machine. In each container, the guest OS is not executed, and middleware and application software are executed using a part of the resources managed by the host OS.
  • Each of the virtual execution units 21 and 22 can execute application software within the range of allocated resources.
  • the virtual execution unit 21 is assigned a processor resource 21a and another resource 21b.
  • the virtual execution unit 22 is assigned a processor resource 22a and another resource 22b.
  • the processor resources 21a and 22a are processor computing capabilities such as CPU (Central Processing Unit) resources.
  • the other resources 21b and 22b are resources other than the processor resources 21a and 22a.
  • a storage area of a main storage device such as a RAM (Random Access Memory) or a storage of an auxiliary storage device such as an HDD (Hard Disk Drive). It is an area.
  • the virtual execution units 21 and 22 may use the service 23.
  • the service 23 is provided from outside the virtual execution units 21 and 22, for example.
  • the service 23 may be provided from a device other than the computer that executes the virtual execution units 21 and 22, or may be provided from a device other than the virtualization management device 10.
  • the service 23 is, for example, a service using an external storage device, and may include a database service and a queue service. Examples of usage forms of the service 23 include database reference, database update, polling of a queue shared by the virtual execution units 21 and 22, reading from the queue, writing to the queue, and the like. In queue polling, it is periodically checked whether data has arrived in the queue.
  • the plurality of virtual execution units execute the same type of application software. Application software processing is distributed using these virtual execution units.
  • the virtualization management device 10 dynamically changes the number of virtual execution units according to the resource usage status of a plurality of virtual execution units. In scale-out, the virtualization management device 10 adds a new virtual execution unit to increase the number of virtual execution units. In scale-in, the virtualization management device 10 stops some virtual execution units and reduces the number of virtual execution units.
  • the virtualization management device 10 includes a storage unit 11 and a control unit 12.
  • the storage unit 11 may be a volatile semiconductor memory such as a RAM or a non-volatile storage device such as an HDD or a flash memory.
  • the control unit 12 may be a processor such as a CPU or DSP (Digital Signal Processor). Further, the control unit 12 may include an electronic circuit for a specific application such as ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
  • the processor executes a program stored in a memory such as a RAM (or the storage unit 11).
  • the program executed by the processor includes a virtualization management program in which processing described below is described.
  • a set of processors may be referred to as a “multiprocessor” or simply “processor”.
  • the storage unit 11 stores resource information 13 and service information 14 for each of a plurality of virtual execution units.
  • the resource information 13 and the service information 14 may be collected by the virtualization management apparatus 10 via a network.
  • Resource information 13 indicates the usage amount (first usage amount) of processor resources and the usage amount (second usage amount) of other resources. For example, for the virtual execution unit 21, the resource information 13 indicates the amount used (for example, the processor usage rate) among the processor resources 21 a allocated to the virtual execution unit 21. Further, the resource information 13 indicates the amount used (for example, the memory usage amount or the disk usage amount) among the other resources 21 b allocated to the virtual execution unit 21.
  • the service information 14 indicates the usage status of the service 23. For example, for the virtual execution unit 21, the service information 14 indicates the time requested by the virtual execution unit 21 to the service 23 and the type of service.
  • the control unit 12 specifies a virtual execution unit that can be stopped from a plurality of virtual execution units based on predetermined conditions regarding the resource information 13 and the service information 14 stored in the storage unit 11.
  • the control unit 12 stops the specified virtual execution unit.
  • the predetermined condition indicates a virtual execution unit in the first state 15 or the second state 16.
  • the first state 15 is a state in which the amount of change in the first usage amount and the amount of change in the second usage amount are equal to or less than the threshold and the time during which the service 23 is not used continues for the first time or more.
  • the change amount of the first usage amount and the change amount of the second usage amount are, for example, the difference between the maximum value and the minimum value in the latest 5 seconds.
  • the threshold value for the change amount of the first usage amount is, for example, about 5% of the allocated processor resource.
  • the threshold value for the amount of change in the second usage amount is, for example, about 5% of other allocated resources.
  • the first time is, for example, about 5 minutes.
  • the virtual execution unit 21 When the virtual execution unit 21 is in the first state 15, it is presumed that the virtual execution unit 21 is not executing the application software process and is not waiting for a response from the service 23. In this case, the virtual execution unit 21 does not have an incomplete process state (data being processed), and it is considered that the state is not lost even if the virtual execution unit 21 is stopped.
  • the amount of change in the second usage amount is less than or equal to the threshold, the time during which the service 23 is polled for the service 23 continues for the second time or longer, and the virtual execution is performed in the polling state.
  • the change amount of the first usage amount may exceed the threshold value.
  • the change amount of the second usage amount is, for example, the difference between the maximum value and the minimum value in the latest 5 seconds.
  • the threshold value for the amount of change in the second usage amount is, for example, about 5% of other allocated resources.
  • the second time is, for example, about 10 minutes. During this time, it is preferable that the service 23 is not used except for polling.
  • the virtual execution unit 22 When the virtual execution unit 22 is in the second state 16, even if the virtual execution unit 22 uses the processor resource 22a, it is estimated that the use is caused exclusively by polling. In this case, the virtual execution unit 22 does not have an incomplete processing state (data in the middle of processing), and it is considered that the state is not lost even when stopped. Since other virtual execution units are also polled, even if the virtual execution unit 22 stops polling, it is unlikely that the data that has arrived at the service 23 will remain unprocessed.
  • the resource information 13 and the service information 14 are acquired for a plurality of virtual execution units, and a plurality of conditions are determined based on predetermined conditions regarding the resource information 13 and the service information 14.
  • a virtual execution unit that can be stopped is specified from the virtual execution unit. It can be determined that a virtual execution unit in the first state 15 or the second state 16 can be stopped. As a result, the risk of forcibly stopping a virtual execution unit having an incomplete processing state can be reduced, and the virtual execution unit to be stopped can be appropriately selected.
  • the virtualization management device 10 can reduce the risk of forcibly stopping the virtual execution unit waiting for a response from the service 23 by specifying the virtual execution unit in the first state 15. Even in a virtual execution unit in which the change in the usage amount of the processor resource is not small, it may not have an incomplete processing state because polling is exclusively performed. On the other hand, the virtualization management device 10 can stop the virtual processing unit exclusively for polling by specifying the virtual execution unit in the second state 16.
  • FIG. 2 is a diagram illustrating an example of an information processing system according to the second embodiment.
  • the information processing system according to the second embodiment includes a client 41, an administrator terminal 42, a load balancer 43, a storage server 44, an application management server 45, a container management server 46, a scale control server 100, and container servers 200 and 200a.
  • the client 41 and the administrator terminal 42 are connected to the network 31 that is a wide area network.
  • the load balancer 43, the storage server 44, the application management server 45, the container management server 46, the scale control server 100, and the container servers 200 and 200a are connected to a network 32 that is a local network.
  • the container servers 200 and 200a are server computers that can arrange a plurality of containers.
  • container type virtualization is used as a computer virtualization technique.
  • a container is a virtual execution unit that is lighter than a virtual machine.
  • a part of the hardware resources of the container servers 200 and 200a is allocated to each container.
  • the hardware resources include a CPU resource (CPU processing time), a RAM resource (RAM storage area), and a disk resource (HDD storage area).
  • Each container uses the allocated hardware resources to execute middleware and application software independently of other containers. However, unlike a virtual machine, each container does not have to execute a guest OS. Different users' containers can be mixed and arranged on the same container server. It is also possible to distribute the processing by causing two or more containers to execute the same application software.
  • the scale control server 100 is a server computer that controls the scale of containers arranged in the container servers 200 and 200a. That is, the scale control server 100 dynamically changes the number of containers that execute the same application software in accordance with the current container load. When it is determined that the load is high, the scale control server 100 determines to perform “scale out” to increase the number of containers. When it is determined that the load is low, the scale control server 100 determines to perform “scale-in” to reduce the number of containers. When performing scale-in, the scale control server 100 selects a container to be stopped from the containers arranged in the container servers 200 and 200a.
  • the client 41 is a client computer that transmits a request for application software executed in the container and receives a response corresponding to the request.
  • the application software is a Web server application
  • the client 41 transmits / receives an HTTP (Hypertext Transfer Protocol) message using a Web client such as a Web browser. Since there are a plurality of containers that execute the same application software, the client 41 transmits a request to the load balancer 43 via the networks 31 and 32. The client 41 receives a response from the load balancer 43.
  • the administrator terminal 42 is a client computer used by the application software administrator.
  • the administrator terminal 42 accesses the application management server 45 via the networks 31 and 32 and requests the application management server 45 to place containers on the container servers 200 and 200a.
  • the administrator terminal 42 is connected to the network 31 that is a wide area network.
  • the administrator terminal 42 may be connected to the network 32 that is a local network.
  • the load balancer 43 is a server computer that relays requests from the network 31 to the container servers 200 and 200a and responses from the container servers 200 and 200a to the network 31.
  • the load balancer 43 may be a device called “router”, “gateway”, “reverse proxy server”, or the like.
  • the load balancer 43 selects any one of the two or more containers and transfers the request to the selected container.
  • a container selection method a predetermined algorithm such as round robin is used. In round robin, the first container, the second container, the third container,..., The first container, and two or more containers are cyclically selected.
  • the load balancer 43 monitors whether the application software of each container is operating normally.
  • the load balancer 43 periodically transmits a survival confirmation message to each container (for example, in a cycle of 30 seconds) and waits for a response message to the survival confirmation message.
  • the load balancer 43 determines that the application software is operating normally in the container in which the response message has been received.
  • the load balancer 43 determines that the application software is not operating normally due to a hang-up or the like in a container in which there is no response message continuously for a predetermined number of times (for example, twice).
  • the load balancer 43 does not transfer the request to the container thereafter.
  • the storage server 44 is a server computer that stores data using a non-volatile storage device and provides various services related to the data.
  • the storage server 44 stores a container image including a middleware program and an application software program. Two or more containers that execute the same application software can be activated from one container image.
  • the storage server 44 provides a database service.
  • the containers arranged in the container servers 200 and 200a can request the storage server 44 to refer to and update the database.
  • the storage server 44 provides a queue service. Two or more containers arranged in the container servers 200 and 200a can share the same queue. Each container can request polling from the storage server 44 to check whether data has arrived in the queue. Each container can request the storage server 44 to read or write a queue.
  • the application management server 45 generates a container image based on the setting designated from the administrator terminal 42 and stores the generated container image in the storage server 44. Further, the application management server 45 instructs the container management server 46 to start the container using the container image in response to an instruction from the administrator terminal 42. Further, when the scale control server 100 determines scale-out or scale-in, the application management server 45 receives a notification to that effect from the scale control server 100. Then, the application management server 45 instructs the container management server 46 to add or delete a container in response to the notification from the scale control server 100.
  • the container management server 46 is a server computer that manages containers.
  • the container management server 46 collects information on the load of each container from the container servers 200 and 200a. Further, the container management server 46 causes the container servers 200 and 200a to activate the containers using the container image stored in the storage server 44 in response to an instruction from the application management server 45.
  • the container management server 46 sets the load balancer 43 so that requests are distributed to the container. Further, the container management server 46 causes the container servers 200 and 200a to stop the container in response to an instruction from the application management server 45.
  • FIG. 3 is a block diagram illustrating a hardware example of the scale control server.
  • the scale control server 100 includes a processor 101, a RAM 102, an HDD 103, an image signal processing unit 104, an input signal processing unit 105, a medium reader 106, and a communication interface 107.
  • the unit of the scale control server 100 is connected to the bus 108.
  • the scale control server 100 corresponds to the virtualization management device 10 according to the first embodiment.
  • the CPU 101 corresponds to the control unit 12 of the first embodiment.
  • the RAM 102 or the HDD 103 corresponds to the storage unit 11 of the first embodiment.
  • the client 41, the administrator terminal 42, the load balancer 43, the storage server 44, the application management server 45, the container management server 46, and the container servers 200 and 200a can also be implemented using the same hardware as the scale control server 100.
  • the processor 101 is a processor including an arithmetic circuit that executes program instructions.
  • the processor 101 is a CPU, for example.
  • the processor 101 loads at least a part of the program and data stored in the HDD 103 into the RAM 102 and executes the loaded program.
  • the processor 101 may include a plurality of processor cores, and the scale control server 100 may include a plurality of processors. The processes described below may be executed in parallel using a plurality of processors or processor cores.
  • the RAM 102 is a volatile semiconductor memory that temporarily stores programs executed by the processor 101 and data used for computation.
  • the scale control server 100 may include a memory of a type other than the RAM, or may include a plurality of memories.
  • the HDD 103 is a non-volatile storage device that stores software programs such as an OS, middleware, and application software, and data.
  • the program includes a virtualization management program.
  • the scale control server 100 may include other types of storage devices such as a flash memory and an SSD (Solid State Drive), or may include a plurality of nonvolatile storage devices.
  • the image signal processing unit 104 outputs an image to the display 111 connected to the scale control server 100 in accordance with an instruction from the processor 101.
  • the display 111 may be any type of display such as a CRT (Cathode Ray Tube) display, a liquid crystal display (LCD), a plasma display, or an organic EL (OEL: Organic Electro-Luminescence) display.
  • the input signal processing unit 105 acquires an input signal from the input device 112 connected to the scale control server 100 and outputs it to the processor 101.
  • the input device 112 a mouse, a touch panel, a touch pad, a pointing device such as a trackball, a keyboard, a remote controller, a button switch, or the like can be used.
  • a plurality of types of input devices may be connected to the scale control server 100.
  • the medium reader 106 is a reading device that reads a program and data recorded on the recording medium 113.
  • the recording medium 113 for example, a magnetic disk, an optical disk, a magneto-optical disk (MO), a semiconductor memory, or the like can be used.
  • Magnetic disks include flexible disks (FD: Flexible Disk) and HDDs.
  • Optical discs include CD (Compact Disc) and DVD (Digital Versatile Disc).
  • the medium reader 106 copies the program and data read from the recording medium 113 to another recording medium such as the RAM 102 and the HDD 103, for example.
  • the read program is executed by the processor 101, for example.
  • the recording medium 113 may be a portable recording medium and may be used for distributing programs and data.
  • the recording medium 113 and the HDD 103 may be referred to as computer-readable recording media.
  • the communication interface 107 is an interface that is connected to the network 32 and communicates with other computers via the network 32.
  • the communication interface 107 may be a wired communication interface connected to a communication device such as a switch via a cable, or may be a wireless communication interface connected to a base station via a wireless link.
  • FIG. 4 is a block diagram illustrating an example of a container.
  • the container server 200 has an operating system 201 and a container control unit 202.
  • the container server 200 includes containers 210 and 220.
  • the operating system 201, the container control unit 202, and the containers 210 and 220 can be implemented using program modules executed by the CPU.
  • the container server 200a also has the same function as the container server 200.
  • the operating system 201 is a host OS that manages hardware resources of the container server 200.
  • the container control unit 202 is middleware that operates on the operating system 201.
  • the container control unit 202 allocates some of the hardware resources managed by the operating system 201 to the containers 210 and 220, thereby forming the containers 210 and 220 on the container control unit 202.
  • the container 210 includes middleware 211 and application instances 212.
  • the container 220 includes middleware 221 and an application instance 222.
  • the middleware 211 and 221 provide basic server functions such as a message transmission / reception function with the client 41.
  • the application instances 212 and 222 are those (for example, processes and threads) in which user-defined application software that operates on the middleware 211 and 221 is activated.
  • Application instance 212 and application instance 222 can be activated from the same application program, and execute the same type of processing in response to a request from client 41. Since the containers 210 and 220 use the hardware resources of the operating system 201 that is the host OS, the guest OS need not be executed. The containers 210 and 220 can be activated from the same container image.
  • the container control unit 202 separates the processing of the container 210 and the processing of the container 220 and performs control so that they do not interfere with each other. For example, the container control unit 202 assigns different process ID name spaces to the containers 210 and 220. Thereby, among the processes managed by the operating system 201, the process of the container 210 and the process of the container 220 are distinguished. In addition, the container control unit 202 assigns different network name spaces to the containers 210 and 220. As a result, the communication of the container 210 and the communication of the container 220 among the communication transferred by the operating system 201 are distinguished.
  • the container control unit 202 assigns different user ID name spaces to the containers 210 and 220. Thereby, even if the container 210 and the container 220 use the same user ID, the operating system 201 distinguishes both. Further, the container control unit 202 assigns different mount name spaces to the containers 210 and 220. Thereby, a part of the file system managed by the operating system 201 is distinguished as the file system of the container 210 and the file system of the container 220.
  • the container control unit 202 identifies a set of processes (process group) of the container 210 and a process group of the container 220 among the processes managed by the operating system 201.
  • the container control unit 202 limits the use of hardware resources to a certain range for each process group. As a result, the container control unit 202 can allocate hardware resources to the containers 210 and 220.
  • the container control unit 202 provides a virtual bridge function for transferring packets between the operating system 201 and the containers 210 and 220.
  • the container 210 and the container 220 communicate via a virtual bridge.
  • the containers 210 and 220 communicate with the outside of the container server 200, the containers 210 and 220 output a packet to the operating system 201 via the virtual bridge, and acquire the packet from the operating system 201 via the virtual bridge.
  • the control in which the container control unit 202 described above separates the processing of the container 210 and the processing of the container 220 so that they do not interfere with each other can be realized by using the function of the OS.
  • FIG. 5 is a diagram illustrating an example of container scale-out and scale-in. Assume that three containers 210, 220, and 230 are activated as containers for executing certain application software. Then, the load balancer 43 allocates a plurality of requests received from the client 41 to the containers 210, 220, and 230. For example, the load balancer 43 evenly transfers a plurality of requests to the containers 210, 220, and 230 by round robin. The load balancer 43 receives responses from the containers 210, 220, and 230 and transfers the responses to the client 41.
  • the load balancer 43 allocates a plurality of requests received from the client 41 to the containers 210, 220, 230, and 240. For example, the load balancer 43 equally transfers a plurality of requests to the containers 210, 220, 230, and 240 by round robin. The load balancer 43 receives responses from the containers 210, 220, 230, and 240 and transfers the responses to the client 41.
  • the load balancer 43 allocates a plurality of requests received from the client 41 to the containers 210 and 220. For example, the load balancer 43 evenly transfers a plurality of requests to the containers 210 and 220 by round robin.
  • the load balancer 43 receives a response from the containers 210 and 220 and transfers the response to the client 41.
  • the container 230 is deleted.
  • a container to be deleted is selected from a plurality of containers.
  • the scale control server 100 selects the container to be deleted by a method as described later.
  • FIG. 6 is a diagram illustrating an example of an application setting table.
  • the application management server 45 has the application setting table 121.
  • the application setting table 121 includes items of application ID, minimum number of instances, memory capacity, disk capacity, CPU threshold value, memory threshold value, monitoring time 1, monitoring time 2, and monitoring time 3.
  • One record of the application setting table 121 corresponds to one application software.
  • the values of at least some items are specified from the administrator terminal 42 when generating the container image.
  • an application software identifier is registered. Since the same application software can be executed in multiple containers, there can be multiple application instances with the same application ID.
  • the application ID may be given by the application management server 45 or may be specified by the administrator terminal 42.
  • a lower limit of the number of application instances is registered. Scale-in does not reduce application instances below the minimum number of instances. The minimum number of instances is designated from the administrator terminal 42.
  • the RAM resource amount (size of the RAM storage area) per container desired by the administrator terminal 42 is registered.
  • the disk capacity item the disk resource amount (size of HDD storage area) per container desired by the administrator terminal 42 is registered.
  • this memory capacity and disk capacity are allocated to each container.
  • a memory capacity and a disk capacity less than these values may be allocated to each container.
  • the memory capacity and the disk capacity are designated from the administrator terminal 42.
  • a threshold value of a CPU resource serving as a reference for determining whether to perform scale-out is registered. Scale-out is determined when the current CPU utilization exceeds the CPU threshold in at least one container.
  • a threshold value of a RAM resource that is a reference for determining whether or not to perform scale-out is registered. Scale-out is determined if the current RAM usage in at least one container exceeds the memory threshold.
  • the CPU threshold and the memory threshold are specified from the administrator terminal 42.
  • monitoring time 1 is a threshold value of an elapsed time after the load balancer 43 excludes a container from a request distribution target.
  • the monitoring time 2 is a threshold value for a time during which a certain container does not use the service of the storage server 44 at all.
  • the monitoring time 3 is a threshold value of a time during which a container does not use a service other than polling for the storage server 44.
  • the monitoring time 1, the monitoring time 2, and the monitoring time 3 may be given by the application management server 45 or may be designated by the administrator terminal 42.
  • the default value of monitoring time 1 is 30 minutes
  • the default value of monitoring time 2 is 5 minutes
  • the default value of monitoring time 3 is 10 minutes. Details of how to use the monitoring time 1, the monitoring time 2, and the monitoring time 3 will be described later.
  • FIG. 7 is a diagram illustrating an example of an application instance table.
  • the scale instance server 122 has the application instance table 122.
  • the application instance table 122 has items of application ID and instance ID.
  • One record of the application instance table 122 corresponds to one application software.
  • an application ID similar to that in the application setting table 121 is registered.
  • instance ID item identifiers of application instances are listed. Each time a container is added, the application management server 45 assigns an instance ID to the added container.
  • FIG. 8 is a diagram illustrating an example of a container resource table.
  • the container resource table 123 is held by the container management server 46.
  • the container resource table 123 includes items of instance ID, time, CPU usage rate, memory usage amount, and disk usage amount.
  • instance ID item an instance ID similar to that of the application instance table 122 is registered.
  • time item the time when the CPU usage rate, the memory usage amount, and the disk usage amount are measured is registered.
  • container resource table 123 the CPU usage rate, the memory usage amount, and the disk usage amount for at least the latest 5 seconds are registered.
  • the CPU usage rate measured at each time of each container is registered in the item of CPU usage rate.
  • the RAM usage measured at each time of each container is registered.
  • the disk usage amount item the HDD usage amount measured at each time of each container is registered.
  • the container management server 46 periodically collects the CPU usage rate, the memory usage amount, and the disk usage amount of each container from the container servers 200 and 200a.
  • FIG. 9 is a diagram illustrating an example of a sorting table and a communication log table.
  • the distribution table 124 is included in the load balancer 43.
  • the distribution table 124 includes items of address, instance ID, stop flag, and stop time.
  • the address field the address of the application software that is the destination of the request transmitted by the client 41 is registered.
  • the address is included in the request.
  • One address corresponds to one application software.
  • the address is, for example, an IP (Internet Protocol) address or a URL (Uniform Resource Locator).
  • IP Internet Protocol
  • URL Uniform Resource Locator
  • stop flag item a flag indicating whether or not it is excluded from the request distribution target is registered.
  • the stop flag False indicates that it is not excluded from the distribution target.
  • Stop flag True indicates that the flag is excluded from the distribution target.
  • a container that does not respond to the existence confirmation message is excluded from the request distribution target because there is a possibility that the container has stopped abnormally due to a hangup or the like.
  • the time when the stop flag is rewritten from False to True that is, the time excluded from the request distribution target is registered.
  • the communication log table 125 is included in the load balancer 43.
  • the communication log table 125 includes items of address, instance ID, communication direction, and transfer time. One record in the communication log table 125 corresponds to one transfer process of the load balancer 43.
  • the address field the address of the application software of the transfer destination or sender is registered.
  • the instance ID item an instance ID of a transfer destination or transmission source container (that is, an application instance) is registered.
  • the type of message transferred by the load balancer 43 is registered in the item of communication direction.
  • the communication direction distinguishes a request from the client 41 to the container server 200, 200a and a response from the container server 200, 200a to the client 41.
  • the transfer time item the time at which the load balancer 43 transferred the request or response is registered.
  • FIG. 10 is a diagram illustrating an example of a service log table.
  • the service log table 126 is included in the storage server 44.
  • the service log table 126 includes items of application ID, instance ID, request type, and request time.
  • One record in the service log table 126 corresponds to one request from the container server 200, 200a to the storage server 44.
  • the application ID item the application ID of the requesting application software is registered.
  • the instance ID item an instance ID of a requesting container (that is, an application instance) is registered.
  • the request type item the type of service request accepted by the storage server 44 is registered.
  • the request time item the time when the storage server 44 received the request is registered.
  • the types of service requests include database reference, database update, queue polling, queue read and queue write.
  • the storage server 44 searches the database for data corresponding to the specified search condition, and returns the searched database.
  • the storage server 44 writes the specified data to the database and returns a success or failure of the writing.
  • the storage server 44 checks whether data is stored in the designated queue, and returns the presence / absence of data.
  • the storage server 44 reads data from the designated queue and returns the read data.
  • the storage server 44 writes the specified data to the specified queue and returns a success or failure of the write.
  • queue polling may be performed periodically by the same container.
  • a plurality of containers may share the same queue, and the plurality of containers may periodically perform queue polling for the same queue.
  • FIG. 11 is a sequence diagram illustrating an example of communication between servers.
  • the application management server 45 receives a request for starting application software from the administrator terminal 42. This request includes the minimum number of instances, memory capacity, disk capacity, CPU threshold, and memory threshold. This request may include monitoring time 1, monitoring time 2, and monitoring time 3. When the monitoring time 1, the monitoring time 2, and the monitoring time 3 are not included, the application management server 45 sets the default value.
  • Application management server 45 assigns an application ID to application software. Further, the application management server 45 determines the number of containers to be activated for the first time, and assigns an instance ID to each container to be activated (that is, each application instance). The number of containers activated for the first time is, for example, the minimum number of instances. The application management server 45 adds a record to the application setting table 121. Further, the application management server 45 generates a container image including the application program, and stores the container image in the storage server 44 (S10). The application program is designated from the administrator terminal 42.
  • the application management server 45 instructs the container management server 46 to start the container. At this time, the application management server 45 designates the application ID and the instance ID of the container to be activated (S11). The container management server 46 acquires a container image corresponding to the designated application ID from the storage server 44 (S12). The container management server 46 causes the container server 200 to activate the container. At this time, the container management server 46 transmits the container image to the container management server 46 and designates the application ID and the instance ID. The container control unit 202 of the container server 200 activates the designated number of containers (S13).
  • the container management server 46 designates the address of the application software and the instance ID of the activated container, and instructs the load balancer 43 to register an application instance.
  • the load balancer 43 registers the address and instance ID in the distribution table 124 (S14). As a result, the load balancer 43 starts distributing requests to the activated containers.
  • the container management server 46 notifies the scale control server 100 that the container has been started. At this time, the container management server 46 designates an application ID and an instance ID.
  • the scale control server 100 registers the application ID and the instance ID in the application instance table 122 (S15).
  • the load balancer 43 receives a request from the client 41. Then, the load balancer 43 refers to the distribution table 124, selects a transfer destination container, and transfers the request to the selected container (S16). The load balancer 43 records a transfer log in the communication log table 125.
  • the application instance of the container on the container server 200 When the application instance of the container on the container server 200 receives the request, it executes processing according to the request. At this time, the application instance may use a service provided by the storage server 44 (S17). The application instance transmits a response including the processing result to the load balancer 43 (S18). The load balancer 43 transfers the response to the client 41. The load balancer 43 records a transfer log in the communication log table 125.
  • the scale control server 100 periodically acquires setting information registered in the application setting table 121 from the application management server 45 (S19).
  • the container control unit 202 of the container server 200 measures the CPU usage rate, the memory usage amount, and the disk usage amount of each container.
  • the container management server 46 periodically acquires resource information indicating the CPU usage rate, the memory usage amount, and the disk usage amount of each container from the container server 200 and registers it in the container resource table 123 (S20).
  • the scale control server 100 periodically acquires the resource information registered in the container resource table 123 from the container management server 46 (S21).
  • the scale control server 100 periodically acquires distribution information registered in the distribution table 124 from the load balancer 43. Further, the scale control server 100 periodically acquires a communication log registered in the communication log table 125 from the load balancer 43 (S22). Further, the scale control server 100 periodically acquires the service log registered in the service log table 126 from the storage server 44 (S23).
  • FIG. 12 is a sequence diagram (continued) illustrating an example of communication between servers.
  • the scale control server 100 determines whether or not each application software needs to be scaled out based on the information collected in steps S19 and S21 to S23.
  • the scale control server 100 determines that application software in which the CPU usage rate of at least one container exceeds the CPU threshold or the memory usage of at least one container exceeds the memory threshold should be scaled out.
  • the scale control server 100 determines whether or not each application software needs to be scaled in based on the information collected in steps S19 and S21 to S23. In the case of scale-in, the scale control server 100 selects a container to be stopped. A method for determining scale-in will be described later.
  • the scale control server 100 When the scale-out is determined, the scale control server 100 notifies the application management server 45 of the scale-out (S24). At this time, the scale control server 100 designates the application ID of the application software to be scaled out. The application management server 45 assigns an instance ID to the container to be added. The application management server 45 instructs the container management server 46 to add a container (S25). At this time, the application management server 45 designates the application ID and the instance ID of the container to be added.
  • the container management server 46 acquires a container image corresponding to the designated application ID from the storage server 44 (S26).
  • the container management server 46 causes the container server 200 to activate a container (S27).
  • the container management server 46 transmits the container image to the container management server 46 and designates the application ID and the instance ID.
  • the container management server 46 designates the address of the application software and the instance ID of the added container, and instructs the load balancer 43 to register the application instance (S28). As a result, the load balancer 43 starts distributing requests to the added container.
  • the container management server 46 notifies the scale control server 100 that the container has been started. At this time, the container management server 46 designates an application ID and an instance ID. The scale control server 100 adds the instance ID in association with the application ID to the application instance table 122 (S29).
  • the scale control server 100 notifies the application management server 45 of the scale-in (S30). At this time, the scale control server 100 designates the application ID of the application software to be scaled out and the instance ID of the container to be stopped. The application management server 45 instructs the container management server 46 to delete the container (S31). At this time, the application management server 45 designates an application ID and an instance ID.
  • the container management server 46 specifies the address of the application software and the instance ID of the container to be stopped, and instructs the load balancer 43 to delete the application instance (S32).
  • the load balancer 43 deletes the specified instance ID from the distribution table 124. As a result, the load balancer 43 prevents the request from being distributed to the container to be stopped.
  • the container management server 46 designates the application ID and the instance ID, and causes the container server 200 to stop the container (S33).
  • the container control unit 202 of the container server 200 forcibly stops the application instance of the designated container, and releases hardware resources allocated to the container.
  • FIG. 13 is a block diagram illustrating a function example of the scale control server.
  • the scale control server 100 includes an instance information storage unit 131, a setting information storage unit 132, a resource information storage unit 133, a distribution information storage unit 134, a communication log storage unit 135, and a service log storage unit 136.
  • the scale control server 100 also includes an information collection unit 141, an instance information management unit 142, a scale determination unit 143, and a scale change notification unit 144.
  • the instance information storage unit 131, the setting information storage unit 132, the resource information storage unit 133, the distribution information storage unit 134, the communication log storage unit 135, and the service log storage unit 136 use, for example, a storage area secured in the RAM 102 or the HDD 103.
  • the information collection unit 141, the instance information management unit 142, the scale determination unit 143, and the scale change notification unit 144 are implemented using program modules executed by the CPU 101, for example.
  • the instance information storage unit 131 stores an application instance table 122, that is, instance information.
  • the setting information storage unit 132 stores a table similar to the application setting table 121, that is, collected setting information.
  • the resource information storage unit 133 stores a table similar to the container resource table 123, that is, collected resource information.
  • the distribution information storage unit 134 stores a table similar to the distribution table 124, that is, collected distribution information.
  • the communication log storage unit 135 stores a table similar to the communication log table 125, that is, collected communication logs.
  • the service log storage unit 136 stores a table similar to the service log table 126, that is, collected service logs.
  • the information collection unit 141 periodically collects various types of information from the load balancer 43, the storage server 44, the application management server 45, and the container management server 46.
  • the information collection unit 141 acquires setting information from the application management server 45 and stores the acquired setting information in the setting information storage unit 132.
  • the information collection unit 141 acquires resource information from the container management server 46 and stores the acquired resource information in the resource information storage unit 133.
  • the information collection unit 141 acquires distribution information and a communication log from the load balancer 43, stores the acquired distribution information in the distribution information storage unit 134, and stores the acquired communication log in the communication log storage unit 135.
  • the information collection unit 141 acquires a service log from the storage server 44 and stores the acquired service log in the service log storage unit 136.
  • the instance information management unit 142 manages the application instance table 122 stored in the instance information storage unit 131.
  • the instance information management unit 142 registers the designated application ID and instance ID in the application instance table 122 when the container management server 46 notifies the activation of the container. Also, when the scale determination unit 143 selects a scale-in target container, the instance information management unit 142 deletes the instance ID of the selected container from the application instance table 122.
  • the scale determination unit 143 periodically determines whether or not each application software needs to be scaled out and scaled in. In the case of scale-in, the scale determination unit 143 selects a container to be stopped from the containers arranged in the container servers 200 and 200a.
  • the scale determination unit 143 refers to information stored in the instance information storage unit 131, the setting information storage unit 132, the resource information storage unit 133, the distribution information storage unit 134, the communication log storage unit 135, and the service log storage unit 136.
  • the scale change notification unit 144 notifies the application management server 45 of the scale change.
  • the application management server 45 is notified of the application ID of the target application software.
  • the scale change notification unit 144 notifies the application management server 45 of the application ID of the target application software and the instance ID of the container to be stopped.
  • FIG. 14 is a flowchart illustrating a procedure example of scale-in determination.
  • the scale determination unit 143 selects one application software.
  • the scale determination unit 143 refers to the application instance table 122 and calculates the number of application instances (that is, the number of containers) corresponding to the application software selected in step S40.
  • step S42 The scale determination unit 143 determines whether the number of instances calculated in step S41 is greater than the minimum number of instances included in the setting information. If the number of instances is greater than the minimum number of instances, the process proceeds to step S43. If the number of instances is equal to or less than the minimum number of instances, it is determined that the application software selected in step S40 does not need to be scaled in, and the process proceeds to step S60.
  • the scale determination unit 143 refers to the distribution information and determines whether any of the application instances corresponding to the application software selected in step S40 is excluded from the distribution target. If there is an application instance that is not a distribution target, the process proceeds to step S44. If there is no application instance that is not a distribution target, the process proceeds to step S47.
  • the scale determination unit 143 extracts the stop time of the application instances that are not to be distributed from the distribution information, and calculates the elapsed time from the stop time to the current time.
  • the scale determination unit 143 determines whether the elapsed time calculated in step S44 exceeds the monitoring time 1 included in the setting information. The monitoring time 1 is, for example, about 30 minutes. If the elapsed time exceeds the monitoring time 1, the process proceeds to step S46. If the elapsed time is equal to or less than the monitoring time 1, the process proceeds to step S47.
  • the scale determination unit 143 determines to scale in the application software selected in step S40. In addition, the scale determination unit 143 selects an application instance corresponding to steps S43 and S45 as the application instance to be stopped. When there are two or more application instances corresponding to Steps S43 and S45, the scale determination unit 143 may select all of them as stop targets. Then, the process proceeds to step S60.
  • the scale determination unit 143 searches the communication log for application instances that have received a request but have not yet returned a response at this time, among application instances that are to be distributed.
  • the scale determination unit 143 determines whether all of the application instances to be distributed are unresponsive application instances. If all application instances have not yet responded, it is determined that the application software selected in step S40 cannot be scaled in, and the process proceeds to step S60. If there is an application instance that is not yet responded, the process proceeds to step S49.
  • FIG. 15 is a flowchart (continuation) illustrating an example of the procedure of scale-in determination.
  • the scale determination unit 143 calculates changes in the CPU usage rate, the memory usage amount, and the disk usage amount with reference to the resource information for each candidate application instance. For example, the scale determination unit 143 calculates the difference between the maximum value and the minimum value as the amount of change in the CPU usage rate from the CPU usage rate for the last 5 seconds. In addition, the scale determination unit 143 calculates the difference between the maximum value and the minimum value as the amount of change in the memory usage from the memory usage over the last 5 seconds. Also, the scale determination unit 143 calculates the difference between the maximum value and the minimum value as the change amount of the disk usage amount from the disk usage amount for the latest 5 seconds.
  • the scale determination unit 143 determines whether there is an application instance in the candidate application instances in which the change in the memory usage is sufficiently small and the change in the disk usage is sufficiently small.
  • the change in the memory usage is sufficiently small, for example, when the change is smaller than a threshold (for example, about 5% of the allocated RAM resource).
  • the change in the disk usage is sufficiently small, for example, when the change is smaller than a threshold (for example, about 5% of the allocated HDD resource). If there is a corresponding application instance, the process proceeds to step S52. If there is no corresponding application instance, it is determined that the application software selected in step S40 cannot be scaled in, and the process proceeds to step S60.
  • the scale determination unit 143 determines whether there is an application instance having a sufficiently small change in CPU usage rate among the application instances corresponding to step S51.
  • the change in the CPU usage rate is sufficiently small, for example, when the amount of change is smaller than a threshold (for example, about 5% of the allocated CPU resource). If there is a corresponding application instance, the process proceeds to step S53. If there is no corresponding application instance, the process proceeds to step S56.
  • the scale determination unit 143 searches the service log for the service request from the application instance corresponding to steps S51 and S52, and the latest “monitoring time 2”.
  • the monitoring time 2 is included in the setting information, and is about 5 minutes, for example.
  • step S54 The scale determination unit 143 determines whether one or more service requests are retrieved in step S53, that is, whether the application instance corresponding to steps S51 and S52 has recently used the service. When the service is used, it is determined that the application software selected in step S40 cannot be scaled in, and the process proceeds to step S60. If the service is not used, the process proceeds to step S55.
  • the scale determination unit 143 determines to scale in the application software selected in step S40. In addition, the scale determination unit 143 selects an application instance that corresponds to steps S51 and S52 and does not use a service as an application instance to be stopped. When there are two or more corresponding application instances, the scale determination unit 143 selects one or a predetermined number of them as a stop target. The upper limit of the number of application instances to be reduced by one scale-in may be fixed in advance, or may be registered in the setting information for each application software. Then, the process proceeds to step S60.
  • the scale determination unit 143 searches the service log for the service request from the application instance corresponding to step S51 and the latest “monitoring time 3”.
  • the monitoring time 3 is included in the setting information, and is about 10 minutes, for example.
  • the scale determination unit 143 determines whether the application instance corresponding to step S51 has not recently used the service or whether the service is only queue polling. If there is service use other than queue polling, it is determined that the application software selected in step S40 cannot be scaled in, and the process proceeds to step S60. If no service is used or only queue polling is used, the process proceeds to step S58. Note that periodic database reference may be determined to be processing equivalent to queue polling.
  • the scale determination unit 143 searches the service log for queue polling from an application instance other than the candidate to be stopped corresponding to steps S51 and S57 and having the latest “monitoring time 3”. The scale determination unit 143 determines whether there is another application instance that performs queue polling. If another application instance exists, the process proceeds to step S59. If no other application instance exists, it is determined that the application software selected in step S40 cannot be scaled in, and the process proceeds to step S60.
  • the scale determination unit 143 determines to scale in the application software selected in step S40. In addition, the scale determination unit 143 selects an application instance corresponding to steps S51, S57, and S58 as the application instance to be stopped. When there are two or more corresponding application instances, the scale determination unit 143 selects one or a predetermined number of them as a stop target. Then, the process proceeds to step S60.
  • step S60 The scale determination unit 143 determines whether or not all application software has been selected in step S40. If all are selected, the scale-in determination ends, and if there is an unselected one, the process proceeds to step S40.
  • the period (monitoring time 2) for determining whether or not the service is used in step S54 is shorter than the period (monitoring time 3) for determining whether or not the service is used in step S57.
  • An application instance in which all of the CPU usage rate, the memory usage amount, and the disk usage amount have not changed for more than 5 seconds is presumed to have received no request or to wait for a response from the storage server 44. The Since there is a low possibility of waiting for a response for a long time, the monitoring time 2 may be a relatively short time.
  • an application instance whose CPU usage rate has changed but whose memory usage and disk usage have not changed for more than 5 seconds is only performing queue polling. Since data may arrive from the outside from the queue, it is preferable to set the monitoring time 3 to a slightly longer time from the viewpoint of process safety. In addition, it is determined that an application instance that performs only queue polling can be stopped only when another application instance that performs queue polling similarly exists. This can reduce the risk that data that has arrived in the queue will remain unprocessed.
  • the period (monitoring time 3) for determining whether or not the service is used in step S57 may be changed according to the type of service. For example, it is conceivable that the monitoring time 3 is set relatively short for the reference service, and the monitoring time 3 is set relatively long for the update service. This is because even if an application instance that uses a reference service suddenly stops, there is little risk of data integrity being lost. On the other hand, if an application instance that uses an update service suddenly stops during processing, there is a risk that the integrity of the data is impaired.
  • each of a plurality of containers that execute the same application software it is determined whether or not each of a plurality of containers that execute the same application software can be stopped during scale-in.
  • a container in which the CPU usage rate, the memory usage amount, and the disk usage amount have not changed substantially for 5 seconds or more and the service of the storage server 44 has not been used for 5 minutes or more is determined to be able to be stopped. Further, it is determined that a container in which the memory usage and the disk usage have not substantially changed for 5 seconds or more and the service other than queue polling is not used for 5 minutes or more can be stopped. It is determined that the other containers cannot be stopped.
  • a method of selecting a container to be stopped As a method of selecting a container to be stopped, a method of selecting a container in which none of the CPU usage rate, the memory usage amount, and the disk usage amount has changed can be considered. However, with this method, there is a risk that a container waiting for a response from an external service is erroneously stopped. Also, with this method, there is a possibility that a container whose CPU usage rate is changing cannot be stopped because it does not have an incomplete processing state but periodically performs queue polling. On the other hand, according to the second embodiment, it is possible to accurately estimate whether or not each container has an incomplete processing state.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

La présente invention a pour objet de sélectionner de manière appropriée une unité d'exécution virtuelle devant être mise à l'arrêt. Une unité de stockage (11) stocke, pour chaque unité d'exécution virtuelle (21, 22), des informations de ressources (13) qui indiquent un premier taux d'utilisation concernant les ressources du processeur et un second taux d'utilisation concernant d'autres ressources, et des informations de service (14) qui indiquent l'utilisation d'un service (23). Une unité de commande (12) identifie une unité d'exécution virtuelle qui peut être mise à l'arrêt, sur la base de critères prédéterminés. Les critères prédéterminés indiquent soit : une unité d'exécution virtuelle dans un premier état (15), c'est-à-dire une unité d'exécution virtuelle pour laquelle un degré de variation du premier taux d'utilisation et un degré de variation du second taux d'utilisation sont égaux ou inférieurs à une valeur de seuil, et n'ayant pas utilisé le service (23) pendant au moins une première période de temps ; ou une unité d'exécution virtuelle dans un second état (16), c'est-à-dire une unité d'exécution virtuelle pour laquelle un degré de variation du second taux d'utilisation est égal ou inférieur à une valeur de seuil, et ayant utilisé le service (23) par interrogation du service (23) pendant au moins une seconde période de temps pendant laquelle d'autres unités d'exécution virtuelles ont également interrogé le service (23).
PCT/JP2016/069285 2016-06-29 2016-06-29 Programme de gestion de virtualisation, dispositif de gestion de virtualisation et procédé de gestion de virtualisation WO2018003031A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2016/069285 WO2018003031A1 (fr) 2016-06-29 2016-06-29 Programme de gestion de virtualisation, dispositif de gestion de virtualisation et procédé de gestion de virtualisation
JP2018524634A JP6631710B2 (ja) 2016-06-29 2016-06-29 仮想化管理プログラム、仮想化管理装置および仮想化管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/069285 WO2018003031A1 (fr) 2016-06-29 2016-06-29 Programme de gestion de virtualisation, dispositif de gestion de virtualisation et procédé de gestion de virtualisation

Publications (1)

Publication Number Publication Date
WO2018003031A1 true WO2018003031A1 (fr) 2018-01-04

Family

ID=60785167

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/069285 WO2018003031A1 (fr) 2016-06-29 2016-06-29 Programme de gestion de virtualisation, dispositif de gestion de virtualisation et procédé de gestion de virtualisation

Country Status (2)

Country Link
JP (1) JP6631710B2 (fr)
WO (1) WO2018003031A1 (fr)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019121185A (ja) * 2018-01-05 2019-07-22 コニカミノルタ株式会社 Gpu割当プログラム、gpu割当方法、コンピュータ読取可能な記録媒体、および、gpu割当装置
JP2019135597A (ja) * 2018-02-05 2019-08-15 富士通株式会社 性能調整プログラム、および性能調整方法
JP2020160775A (ja) * 2019-03-26 2020-10-01 日本電気株式会社 コンテナ起動ホスト選択装置、コンテナ起動ホスト選択システム、コンテナ起動ホスト選択方法及びプログラム
JP2020198046A (ja) * 2019-06-05 2020-12-10 富士通株式会社 情報処理装置、ログ参照プログラム
JP2021012658A (ja) * 2019-07-09 2021-02-04 株式会社三菱Ufj銀行 システムおよび処理方法
JP2021087190A (ja) * 2019-11-29 2021-06-03 株式会社リコー ネットワークシステム及び接続方法
JP2022092156A (ja) * 2020-12-10 2022-06-22 富士通株式会社 アプリ間通信制御方法およびアプリ間通信制御プログラム
JP2022108701A (ja) * 2021-01-13 2022-07-26 富士電機株式会社 システム、端末、方法及びプログラム
JP2023039500A (ja) * 2021-09-09 2023-03-22 株式会社日立製作所 計算機システム及びデータ送信制御方法
WO2024121897A1 (fr) * 2022-12-05 2024-06-13 日本電信電話株式会社 Dispositif de fourniture de service, procédé de détermination de nombre de copies et programme

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011524053A (ja) * 2008-06-13 2011-08-25 マイクロソフト コーポレーション 仮想マシンとアプリケーション・ライフ・サイクルの同期
JP2014191368A (ja) * 2013-03-26 2014-10-06 Fujitsu Ltd 管理プログラム、装置及び方法
JP2015011657A (ja) * 2013-07-02 2015-01-19 株式会社日立システムズ 省電力モード機能付情報処理システム
WO2015189968A1 (fr) * 2014-06-12 2015-12-17 株式会社日立製作所 Système de gestion de machine virtuelle et procédé associé

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011524053A (ja) * 2008-06-13 2011-08-25 マイクロソフト コーポレーション 仮想マシンとアプリケーション・ライフ・サイクルの同期
JP2014191368A (ja) * 2013-03-26 2014-10-06 Fujitsu Ltd 管理プログラム、装置及び方法
JP2015011657A (ja) * 2013-07-02 2015-01-19 株式会社日立システムズ 省電力モード機能付情報処理システム
WO2015189968A1 (fr) * 2014-06-12 2015-12-17 株式会社日立製作所 Système de gestion de machine virtuelle et procédé associé

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019121185A (ja) * 2018-01-05 2019-07-22 コニカミノルタ株式会社 Gpu割当プログラム、gpu割当方法、コンピュータ読取可能な記録媒体、および、gpu割当装置
JP6992515B2 (ja) 2018-01-05 2022-01-13 コニカミノルタ株式会社 Gpu割当プログラム、gpu割当方法、コンピュータ読取可能な記録媒体、および、gpu割当装置
JP2019135597A (ja) * 2018-02-05 2019-08-15 富士通株式会社 性能調整プログラム、および性能調整方法
JP7011162B2 (ja) 2018-02-05 2022-01-26 富士通株式会社 性能調整プログラム、および性能調整方法
JP7331407B2 (ja) 2019-03-26 2023-08-23 日本電気株式会社 コンテナ起動ホスト選択装置、コンテナ起動ホスト選択システム、コンテナ起動ホスト選択方法及びプログラム
JP2020160775A (ja) * 2019-03-26 2020-10-01 日本電気株式会社 コンテナ起動ホスト選択装置、コンテナ起動ホスト選択システム、コンテナ起動ホスト選択方法及びプログラム
JP2020198046A (ja) * 2019-06-05 2020-12-10 富士通株式会社 情報処理装置、ログ参照プログラム
JP7338246B2 (ja) 2019-06-05 2023-09-05 富士通株式会社 情報処理装置、ログ参照プログラム
JP2021012658A (ja) * 2019-07-09 2021-02-04 株式会社三菱Ufj銀行 システムおよび処理方法
JP2021087190A (ja) * 2019-11-29 2021-06-03 株式会社リコー ネットワークシステム及び接続方法
JP7419771B2 (ja) 2019-11-29 2024-01-23 株式会社リコー ネットワークシステム及び接続方法
JP2022092156A (ja) * 2020-12-10 2022-06-22 富士通株式会社 アプリ間通信制御方法およびアプリ間通信制御プログラム
JP2022108701A (ja) * 2021-01-13 2022-07-26 富士電機株式会社 システム、端末、方法及びプログラム
JP7669769B2 (ja) 2021-01-13 2025-04-30 富士電機株式会社 システム及び方法
JP2023039500A (ja) * 2021-09-09 2023-03-22 株式会社日立製作所 計算機システム及びデータ送信制御方法
JP7704623B2 (ja) 2021-09-09 2025-07-08 株式会社日立製作所 計算機システム及びデータ送信制御方法
WO2024121897A1 (fr) * 2022-12-05 2024-06-13 日本電信電話株式会社 Dispositif de fourniture de service, procédé de détermination de nombre de copies et programme

Also Published As

Publication number Publication date
JPWO2018003031A1 (ja) 2019-01-10
JP6631710B2 (ja) 2020-01-15

Similar Documents

Publication Publication Date Title
WO2018003031A1 (fr) Programme de gestion de virtualisation, dispositif de gestion de virtualisation et procédé de gestion de virtualisation
US11507435B2 (en) Rack-level scheduling for reducing the long tail latency using high performance SSDs
US8938510B2 (en) On-demand mailbox synchronization and migration system
US8321530B2 (en) Cloud computing system, server computer, device connection method, and storage medium
JP6186787B2 (ja) データ転送装置、データ転送システム、データ転送方法及びプログラム
US20130262678A1 (en) Differentiated service-based graceful degradation layer
JP6200080B2 (ja) 複数のコンピューティングシステムへのクライアントアクセスの管理
JP2019008417A (ja) 情報処理装置、メモリ制御方法およびメモリ制御プログラム
US12206567B2 (en) Dynamic cloning of application infrastructures
US11128698B2 (en) Producer system registration
JP6272190B2 (ja) 計算機システム、計算機、負荷分散方法及びそのプログラム
US8914582B1 (en) Systems and methods for pinning content in cache
KR20200080458A (ko) 클라우드 멀티-클러스터 장치
US8458702B1 (en) Method for implementing user space up-calls on java virtual machine before/after garbage collection
US9780993B2 (en) Producer computing system leasing on behalf of consumer computing system
US10754368B1 (en) Method and system for load balancing backup resources
EP2637097A1 (fr) Couche de dégradation progressive à base de services différenciés
US10348814B1 (en) Efficient storage reclamation for system components managing storage
US10860347B1 (en) Virtual machine with multiple content processes
JP2017174038A (ja) 情報処理システム、情報処理方法およびプログラム
US20240248751A1 (en) System and method for managing a migration of a production environment executing logical devices
US10659330B2 (en) Channel management in scalable messaging system
JP7044971B2 (ja) クラスタシステム、オートスケールサーバ監視装置、オートスケールサーバ監視プログラムおよびオートスケールサーバ監視方法
JP5803655B2 (ja) データ転送のためのプログラム、情報処理方法及び転送装置、転送処理の割り当てを管理するためのプログラム、情報処理方法及び管理装置、並びに情報処理システム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2018524634

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16907264

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16907264

Country of ref document: EP

Kind code of ref document: A1