KR20130046040A - Fuzzy control based virtual machine auto scaling system and method - Google Patents

Fuzzy control based virtual machine auto scaling system and method Download PDF

Info

Publication number
KR20130046040A
KR20130046040A KR1020110110357A KR20110110357A KR20130046040A KR 20130046040 A KR20130046040 A KR 20130046040A KR 1020110110357 A KR1020110110357 A KR 1020110110357A KR 20110110357 A KR20110110357 A KR 20110110357A KR 20130046040 A KR20130046040 A KR 20130046040A
Authority
KR
South Korea
Prior art keywords
virtual machine
user
fuzzy
utilization
workload
Prior art date
Application number
KR1020110110357A
Other languages
Korean (ko)
Other versions
KR101287448B1 (en
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 KR1020110110357A priority Critical patent/KR101287448B1/en
Publication of KR20130046040A publication Critical patent/KR20130046040A/en
Application granted granted Critical
Publication of KR101287448B1 publication Critical patent/KR101287448B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • G06N7/026Development tools for entering the parameters of a fuzzy system

Abstract

PURPOSE: A purge control-based virtual machine scaling system and a method thereof are provided to improve user satisfaction and quickly handle service demands of a user by dynamically increasing requirements of VM(Virtual Machine) instances every time VM instance demands of the user are increased. CONSTITUTION: A monitoring module(202) monitors a state of a VM allocated to a user. A scaling module(204) calculates a work load and the usage of the VM according to VM state information and purges the workload and the usage by using a set position function. The scaling module applies an inference rule to the usage and the workload to calculate purge output and calculates requirements of VM instances of the user. A VM control module(206) controls the number of the VM instances allocated to the user according to the requirements. [Reference numerals] (202) Monitoring module; (204) Scaling module; (206) VM control module

Description

퍼지 제어 기반 가상 머신 스케일링 시스템 및 방법{FUZZY CONTROL BASED VIRTUAL MACHINE AUTO SCALING SYSTEM AND METHOD}Fuzzy control based virtual machine scaling system and method {FUZZY CONTROL BASED VIRTUAL MACHINE AUTO SCALING SYSTEM AND METHOD}

본 발명은 클라우드 컴퓨팅에서 가상 머신 인스턴스를 동적으로 제어하기 위한 기술과 관련된다.
The present invention relates to techniques for dynamically controlling virtual machine instances in cloud computing.

최근 들어 신속한 비즈니스 대응, 효율적인 IT 자원 관리, IT 인프라 투자비 감소 등의 다양한 이유로 인해 클라우드 컴퓨팅이 각광받고 있다. 클라우드 컴퓨팅은 서비스 공급자가 제공하는 하드웨어 인프라, 소프트웨어 등의 IT 자원을 사용자가 서비스 형태로 제공받고 이에 대한 대가를 지불하는 인터넷 기반의 컴퓨팅 기술이다. 클라우드 컴퓨팅에서 가장 중요한 점은 사용한 만큼 비용을 지불하지만 사용자가 요구하면 이에 따라 서비스 용량, IT 자원도 증가해야 한다는 것이다. 즉, 사용자와의 서비스 계약인 SLA(Service Level Agreement)를 준수하기 위해서는 탄력적인 자원 사용을 통한 서비스 가용성 확보가 매우 중요하며, 이를 위한 해결책이 바로 오토 스케일링(Auto Scaling)이다. 오토 스케일링이란 사용자가 맺은 SLA 이상의 자원 사용률을 넘어가면 이를 감지하여 사용자가 필요로 하는 IT 자원 수요를 계산하여, 필요한 만큼의 IT자원을 동적으로 할당하는 기술이다.Recently, cloud computing has been in the spotlight for various reasons such as rapid business response, efficient IT resource management, and reduced IT infrastructure investment. Cloud computing is an Internet-based computing technology in which a user receives and pays for IT resources such as hardware infrastructure and software provided by a service provider as a service. The most important thing about cloud computing is that you pay for what you use, but you also need to increase your service capacity and IT resources according to your needs. In other words, in order to comply with the service level agreement (SLA), which is a service contract with a user, securing service availability through the use of elastic resources is very important. The solution for this is auto scaling. Auto-scaling is a technology that detects when the resource usage rate exceeds the SLA established by the user and calculates the IT resource demand required by the user, and dynamically allocates the IT resource as needed.

이와 같은 클라우드 컴퓨팅에서의 오토 스케일링을 위한 종래의 방법들로는 아마존 EC2, 마이크로소프트 Azure, 라이트스케일(Right Scale), 이노그리드의 Cloudit 등을 들 수 있다. 그러나 이러한 종래의 방법들에는 다음과 같은 문제가 있다. 먼저, 시스템의 관리자가 관리 API나 서비스 포털 상에서 스케일링의 조건을 미리 정의하고, 정의된 해당 조건을 만족할 경우 가상 머신의 크기를 조정한다는 점이다. 즉, 종래 기술의 경우 사용자가 정의한 제약조건에 의해 동작하는 정적 조정 방식을 제공한다. 따라서 사용자가 잘못된 제약조건을 설정할 경우 시스템을 통한 능동적인 가상 머신 조정이 이루어지지 않아 과부하로 인한 서비스 지연 및 단절이 발생할 가능성이 존재한다.Conventional methods for autoscaling in cloud computing include Amazon EC2, Microsoft Azure, Right Scale, and Innogrid's Cloudit. However, these conventional methods have the following problems. First, the administrator of the system pre-defines the scaling condition on the management API or the service portal, and adjusts the size of the virtual machine if the defined condition is met. That is, the prior art provides a static adjustment scheme that operates according to user defined constraints. Therefore, if the user sets the wrong constraint, there is a possibility that service delay and disconnection due to overload may occur because active virtual machine adjustment is not performed through the system.

또한, 라이트스케일과 이노그리드 등의 경우에는, 사용자별로 고정된 크기의 가상 머신을 유지하며 특정 사용자 조건을 만족할 경우 가상 머신을 확대하는 방식을 제공하고 있다. 따라서 서비스 가용성(SLA)은 일정 수준 이상 보장할 수 있으나 사용자의 작업 부하를 처리하기 위해 필요한 가상 머신을 최소화하는 알고리즘을 채택하고 있지 않은 바, 서비스 제공자의 이익을 보장하는 데에는 한계가 있었다. 이에 따라, 클라우드 컴퓨팅 환경에서 가상 머신의 크기를 능동적으로 조절하기 위한 새로운 방법이 필요하게 되었다.
In addition, in the case of Lightscale and Innogrid, a virtual machine of a fixed size is maintained for each user and a method of expanding the virtual machine when a specific user condition is satisfied is provided. Therefore, service availability (SLA) can be guaranteed more than a certain level, but there is a limit to guaranteeing the service provider's interest because it does not adopt an algorithm that minimizes the virtual machines required to handle the user's workload. Accordingly, there is a need for a new method for actively scaling virtual machines in a cloud computing environment.

본 발명은 물리적인 서버를 논리적인 다수의 가상 머신으로 분할하고 이를 다수의 사용자들이 공유하여 사용하는 클라우드 컴퓨팅 환경에서 사용자의 작업 부하, 트래픽 등의 가상 머신 상태 정보에 따라 사용자에게 할당된 가상 머신 인스턴스의 수를 동적으로 조정함으로써 클라우드를 구성하는 각 서버의 작업 부하를 분산시켜 서비스 가용성을 개선하고 자원 이용을 최적화하는 데 그 목적이 있다.
The present invention divides a physical server into a plurality of logical virtual machines, and the virtual machine instance assigned to the user according to the virtual machine state information such as workload and traffic of the user in a cloud computing environment that is shared and used by a plurality of users. The goal is to improve service availability and optimize resource usage by balancing the workload of each server in the cloud by dynamically adjusting the number of nodes.

상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 퍼지 제어 기반가상 머신 스케일링 시스템은, 사용자에게 할당된 가상 머신의 상태를 모니터링하는 모니터링 모듈; 상기 모니터링 모듈로부터 제공되는 상기 가상 머신의 상태 정보에 따라 상기 가상 머신의 사용률 및 작업부하를 계산하고, 계산된 상기 사용률 및 작업부하를 기 설정된 소속도 함수를 이용하여 퍼지화하며, 퍼지화된 상기 사용률 및 작업부하에 기 설정된 추론 규칙을 적용하여 퍼지 출력을 계산하고, 상기 퍼지 출력을 비퍼지화함으로써 상기 사용자의 가상 머신 인스턴스 필요량을 계산하는 스케일링 모듈; 및 상기 스케일링 모듈에서 계산된 상기 가상 머신 인스턴스 필요량에 따라 상기 사용자에게 할당된 가상 머신 인스턴스의 수를 제어하는 가상 머신 제어 모듈을 포함한다.
According to an aspect of the present invention, there is provided a fuzzy control-based virtual machine scaling system including: a monitoring module configured to monitor a state of a virtual machine assigned to a user; The utilization rate and workload of the virtual machine are calculated according to the state information of the virtual machine provided from the monitoring module, and the calculated utilization rate and workload are fuzzy by using a predetermined belonging function. A scaling module configured to calculate a fuzzy output by applying a set of inference rules to a utilization rate and a workload, and calculate a virtual machine instance requirement of the user by defusing the fuzzy output; And a virtual machine control module that controls the number of virtual machine instances assigned to the user according to the virtual machine instance needs calculated by the scaling module.

한편, 상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 퍼지 제어기반 가상 머신 스케일링 방법은, 사용자에게 할당된 가상 머신의 상태를 모니터링하는 단계; 상기 가상 머신의 상태 정보에 따라 상기 가상 머신의 사용률 및 작업부하를 계산하는 단계; 계산된 상기 사용률 및 작업부하를 기 설정된 소속도 함수를 이용하여 퍼지화하는 단계; 퍼지화된 상기 사용률 및 작업부하에 기 설정된 추론 규칙을 적용하여 퍼지 출력을 계산하는 단계; 상기 퍼지 출력을 비퍼지화하여 상기 사용자의 가상 머신 인스턴스 필요량을 계산하는 단계; 및 계산된 상기 가상 머신 인스턴스 필요량에 따라 상기 사용자에게 할당된 가상 머신 인스턴스의 수를 제어하는 단계를 포함한다.
On the other hand, the fuzzy control based virtual machine scaling method according to an embodiment of the present invention for solving the above problems, the step of monitoring the state of the virtual machine assigned to the user; Calculating a utilization rate and a workload of the virtual machine according to the state information of the virtual machine; Fuzzy use of the calculated utilization and workload using a predetermined belonging function; Calculating a fuzzy output by applying a predetermined reasoning rule to the fuzzy utilization and workload; Defusing the fuzzy output to calculate a virtual machine instance requirement of the user; And controlling the number of virtual machine instances assigned to the user according to the calculated virtual machine instance needs.

본 발명의 실시예들에 따를 경우, 사용자의 가상 머신 인스턴스 요구량이 증가할 때마다 동적으로 가상 머신 인스턴스 필요량을 늘려 SLA(Service Level Agreement)를 만족시킴으로써 사용자의 서비스 요구량에 신속하게 대응하는 동시에 사용자 만족도를 향상시킬 수 있다. 또한, 작업 부하 및 트래픽에 따라 휴면 상태 또는 활용률이 낮은 IT 자원의 수를 줄임으로써 자원 낭비를 막고 운영 비용을 최소화할 수 있는 장점이 있다.
According to the embodiments of the present invention, each time the user's virtual machine instance demand increases, the virtual machine instance needs are dynamically increased to satisfy the service level agreement (SLA), thereby rapidly responding to the user's service demand and simultaneously satisfying the user. Can improve. In addition, by reducing the number of dormant or low utilization IT resources according to the workload and traffic, there is an advantage that can minimize the waste of resources and minimize operating costs.

도 1은 본 발명에 따른 가상 머신 스케일링 시스템을 포함하는 클라우드 컴퓨팅 구조를 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 가상 머신 스케일링 시스템의 상세 구성을 나타낸 블록도이다.
도 3은 가상 머신의 사용률에 대한 소속도 함수를 나타낸 그래프이다.
도 4는 가상 머신의 작업부하에 대한 소속도 함수를 나타낸 그래프이다.
도 5는 퍼지화된 가상 머신의 사용률 및 작업부하에 따른 퍼지 출력에 대한 소속도 함수를 나타낸 그래프이다.
도 6은 본 발명에 따른 가상 머신의 사용률 및 작업부하에 따라 퍼지 출력을 계산하는 일례를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 가상 머신 스케일링 방법을 나타낸 순서도이다.
1 is a view for explaining a cloud computing structure including a virtual machine scaling system according to the present invention.
2 is a block diagram showing a detailed configuration of a virtual machine scaling system according to an embodiment of the present invention.
3 is a graph showing the membership function for the utilization rate of the virtual machine.
4 is a graph showing the membership function for the workload of the virtual machine.
FIG. 5 is a graph showing the membership function for fuzzy output according to the utilization and workload of the fuzzy virtual machine. FIG.
6 is a view for explaining an example of calculating the fuzzy output according to the utilization and workload of the virtual machine according to the present invention.
7 is a flowchart illustrating a virtual machine scaling method according to an embodiment of the present invention.

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다. Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. However, this is merely an example and the present invention is not limited thereto.

본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. In the following description, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.

본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
The technical idea of the present invention is determined by the claims, and the following embodiments are merely a means for effectively explaining the technical idea of the present invention to a person having ordinary skill in the art to which the present invention belongs.

도 1은 본 발명에 따른 가상 머신 스케일링 시스템을 포함하는 전체 클라우드 컴퓨팅 시스템(100)을 설명하기 위한 도면이다. 도시된 바와 같이, 본 발명에서 클라우드 컴퓨팅 시스템(100)은 복수 개의 서버(102)를 포함하며, 복수 개의 서버(102)들은 서로 연결되어 하나의 클라우드(104)를 구성한다. 각각의 서버(102)는 내부적으로 하나 이상의 가상 머신 인스턴스로 분할된다. 상기 가상 머신 인스턴스는 서버(102)의 CPU 자원, 메모리 및 스토리지(저장 공간) 중 일부를 할당받아 소프트웨어적으로 구현된 가상의 서버 자원을 의미한다.1 is a diagram illustrating an entire cloud computing system 100 including a virtual machine scaling system according to the present invention. As shown, in the present invention, the cloud computing system 100 includes a plurality of servers 102, and the plurality of servers 102 are connected to each other to form one cloud 104. Each server 102 is internally partitioned into one or more virtual machine instances. The virtual machine instance refers to a virtual server resource implemented in software by allocating some of CPU resources, memory, and storage (storage space) of the server 102.

사용자 단말(106)은 클라우드(104)에 접속하여 서비스를 제공받기 위한 장치이다. 즉, 클라우드 컴퓨팅 시스템에서 사용자 단말(106)은 물리적인 서버(102)를 할당받는 것이 아니라 가상 머신을 할당받으며, 상기 가상 머신은 하나 이상의 가상 머신 인스턴스로 구성된다. 본 발명에서 가상 머신이란 각 사용자에게 할당되는 논리적인 서버의 단위로서, 상기 가상 머신의 크기는 각 가상 머신에 할당되는 가상 머신 인스턴스의 개수에 의하여 결정된다. 즉, 사용자로부터 요구되는 서버 자원의 양이 작은 경우 가상 머신에 할당되는 가상 머신 인스턴트의 개수 또한 적어지며, 사용자가 더 많은 컴퓨터 자원 또는 스토리지 용량을 요구할 경우에는 단순히 상기 가상 머신에 새로운 가상 머신 인스턴스를 부가함으로써 대응할 수 있다. 이에 따라 사용자는 물리적으로 가상 서버가 어떠한 형태로 구성되어 있는지의 여부에 관계 없이 자신의 요구량에 따라 용량이 탄력적으로 변화되는 서버를 제공받을 수 있다.The user terminal 106 is a device for accessing the cloud 104 and receiving a service. That is, in the cloud computing system, the user terminal 106 is not assigned a physical server 102 but is assigned a virtual machine, which is composed of one or more virtual machine instances. In the present invention, a virtual machine is a unit of a logical server assigned to each user, and the size of the virtual machine is determined by the number of virtual machine instances allocated to each virtual machine. In other words, if the amount of server resources required by the user is small, the number of virtual machine instants allocated to the virtual machine is also reduced. If the user requires more computer resources or storage capacity, simply add a new virtual machine instance to the virtual machine. It can respond by adding. Accordingly, the user may be provided with a server whose capacity is elastically changed according to his / her demand regardless of how the virtual server is physically configured.

가상 머신 스케일링 시스템(108)은 클라우드(104)에 접속한 사용자에 할당된 가상 머신 인스턴스를 동적으로 제어하기 위한 시스템이다. 가상 머신 스케일링 시스템(108)은 각 사용자에게 할당된 가상 머신의 사용률 및 작업부하를 계산하고 이에 따라 각 사용자 별 최적의 가상 머신 인스턴스 필요량을 계산하며, 상기 필요량과 기 가상 머신 할당량을 비교함으로써 사용자에게 가상 머신을 추가적으로 할당하거나 기 할당된 가상 머신을 회수한다. 이러한 가상 머신 스케일링 시스템(108)의 상세 구성에 대해서는 후술하기로 한다.
The virtual machine scaling system 108 is a system for dynamically controlling a virtual machine instance assigned to a user connecting to the cloud 104. The virtual machine scaling system 108 calculates the utilization and workload of the virtual machines assigned to each user, calculates the optimal virtual machine instance requirements for each user, and compares the requirements with the existing virtual machine quotas. Allocate additional virtual machines or retrieve pre-allocated virtual machines. The detailed configuration of the virtual machine scaling system 108 will be described later.

도 2는 본 발명의 일 실시예에 따른 가상 머신 스케일링 시스템(108)의 상세 구성을 나타낸 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 가상 머신 스케일링 시스템(108)은 모니터링 모듈(202), 스케일링 모듈(204) 및 가상 머신 제어 모듈(206)을 포함한다.2 is a block diagram showing a detailed configuration of a virtual machine scaling system 108 according to an embodiment of the present invention. As shown, the virtual machine scaling system 108 according to one embodiment of the invention includes a monitoring module 202, a scaling module 204 and a virtual machine control module 206.

모니터링 모듈(202)은 사용자에게 할당된 가상 머신의 상태를 실시간으로 모니터링한다. 이때 상기 가상 머신의 상태 정보는, 각 가상 머신의 중앙처리장치(CPU) 사용률, 메모리 사용률, 저장 공간(스토리지) 사용률 및 사용자로부터 가상 머신으로 전송되는 네트워크 트래픽의 양 중 하나 이상을 포함하도록 구성된다.The monitoring module 202 monitors in real time the status of the virtual machine assigned to the user. In this case, the state information of the virtual machine is configured to include one or more of CPU utilization, memory utilization, storage space (storage) utilization, and the amount of network traffic transmitted from the user to the virtual machine. .

스케일링 모듈(204)은 모니터링 모듈(202)로부터 제공되는 가상 머신의 상태 정보에 따라 퍼지 논리 제어를 이용하여 상기 사용자의 현재 상황에 가장 적합한 가상 머신을 구성할 수 있는 가상 머신 인스턴스의 수를 결정한다. 구체적으로, 스케일링 모듈(204)은 모니터링 모듈(202)로부터 제공되는 가상 머신의 상태 정보에 따라 가상 머신의 사용률 및 작업부하를 계산하고, 계산된 사용률 및 작업부하를 기 설정된 소속도 함수를 이용하여 퍼지화하며, 퍼지화된 사용률 및 작업부하에 기 설정된 추론 규칙을 적용하여 퍼지 출력을 계산하고, 퍼지 출력을 비퍼지화함으로써 사용자의 가상 머신 인스턴스 필요량을 계산하게 된다.The scaling module 204 uses fuzzy logic control according to the state information of the virtual machine provided from the monitoring module 202 to determine the number of virtual machine instances that can configure the virtual machine most suitable for the current situation of the user. . Specifically, the scaling module 204 calculates the utilization and workload of the virtual machine according to the state information of the virtual machine provided from the monitoring module 202, and calculates the calculated utilization and workload using a preset membership function. Fuzzy, computes fuzzy output by applying pre-set inference rules to fuzzy utilization and workload, and calculates user virtual machine instance requirements by unfuzzy fuzzy output.

가상 머신 제어 모듈(206)은 스케일링 모듈(204)에서 계산된 가상 머신 인스턴스 필요량에 따라 사용자에게 할당된 가상 머신 인스턴스의 수를 제어한다. 예를 들어, 현재 사용자에게 할당된 가상 머신 인스턴스의 수가 계산된 필요량보다 적을 경우 가상 머신 제어 모듈(206)은 상기 사용자에게 필요량 만큼의 가상 머신 인스턴스를 추가로 할당하며, 추가된 가상 머신 인스턴스는 기존의 가상 머신 인스턴스와 논리적으로 병합되어 하나의 가상 머신으로서 사용자에게 제공된다. 또한 가상 머신 제어 모듈(206)은 할당된 인스턴스의 수가 계산된 필요량보다 적은 경우 기 할당된 가상 머신 인스턴스 중 일부를 삭제한다.The virtual machine control module 206 controls the number of virtual machine instances assigned to the user according to the virtual machine instance needs calculated in the scaling module 204. For example, if the number of virtual machine instances currently assigned to a user is less than the calculated requirement, the virtual machine control module 206 additionally allocates as many virtual machine instances as needed, and the added virtual machine instances It is logically merged with the virtual machine instance of and presented to the user as one virtual machine. The virtual machine control module 206 also deletes some of the pre-allocated virtual machine instances when the number of allocated instances is less than the calculated requirement.

이하에서는, 상기와 같이 구성되는 가상 머신 스케일링 시스템(108)의 구체적인 동작을 설명한다.
Hereinafter, specific operations of the virtual machine scaling system 108 configured as described above will be described.

가상 email 머신의Machine 사용률 및 작업부하 계산 Utilization and Workload Calculation

전술한 바와 같이, 모니터링 모듈(202)은 사용자에게 할당된 가상 머신의 상태를 실시간으로 모니터링하며, 상기 가상 머신의 상태 정보는 각 가상 머신의 중앙처리장치(CPU) 사용률, 메모리 사용률, 저장 공간(스토리지) 사용률 및 사용자로부터 가상 머신으로 전송되는 네트워크 트래픽의 양 중 하나 이상을 포함한다. 스케일링 모듈(204)은 모니터링 모듈(202)에서 수집한 상기 상태 정보를 이용하여 가상 머신의 사용률 및 작업 부하를 계산한다.As described above, the monitoring module 202 monitors the state of the virtual machine assigned to the user in real time, and the state information of the virtual machine is used for each CPU's CPU utilization, memory utilization, storage space ( Storage) utilization and the amount of network traffic sent from the user to the virtual machine. The scaling module 204 calculates the utilization and workload of the virtual machine using the state information collected by the monitoring module 202.

먼저, 가상 머신의 사용률(VMutil)은 다음의 수학식 1을 통하여 산출된다.
First, the utilization rate (VM util ) of the virtual machine is calculated through the following equation (1).

[수학식 1][Equation 1]

Figure pat00001

Figure pat00001

이때, Ucpu는 중앙처리장치(CPU) 사용률, Umem은 메모리 사용률, Udisk는 저장 공간 사용률을 각각 나타낸다. 상기 세 값들은 각각 0 내지 1 사이의 값을 가지며 1에 가까울수록 중앙처리장치의, 메모리 또는 저장 공간 사용률이 높음을 나타낸다. α,β,χ는 가중치로서 각각 0 내지 1 사이의 값을 가지며 α+β+χ=1의 관계를 만족한다.In this case, U cpu represents the CPU utilization, U mem represents the memory utilization, and U disk represents the storage space utilization. The three values each have a value between 0 and 1, and the closer to 1, the higher the memory or storage space utilization of the central processing unit. α, β, χ have weights between 0 and 1, respectively, and satisfy the relationship of α + β + χ = 1.

다음으로, 가상 머신의 작업부하(VMload)는 사용자로부터 가상 머신에 전송되는 작업량, 즉 네트워크 트래픽으로 표현되며, 다음의 수학식 2를 통하여 산출된다.
Next, the workload of the virtual machine (VM load ) is expressed as the workload transmitted from the user to the virtual machine, that is, network traffic, and is calculated through Equation 2 below.

[수학식 2]&Quot; (2) "

Figure pat00002

Figure pat00002

이때, aTuser은 사용자에게 할당된 가상 머신의 시간 당 평균 네트워크 트래픽, Max(aTgroup)은 사용자를 포함하는 사용자 그룹에 할당된 가상 머신의 시간 당 평균 네트워크 트래픽 중 최고치, Min(aTgroup)은 사용자를 포함하는 사용자 그룹에 할당된 가상 머신의 시간 당 평균 네트워크 트래픽 중 최저치를 각각 나타낸다. 즉, 본 발명에서 가상 머신의 작업부하는 사용자에게 할당된 단일 가상 머신의 네트워크 트래픽만이 아닌 사용자 그룹 내 모든 가상 머신의 네트워크 트래픽을 기준으로 결정되며, 이에 따라 상기 사용자 그룹의 전체 서비스 상황에 따라 가상 머신 크기를 조절할 수 있게 된다.
Where aT user is the average network traffic per hour of the virtual machine assigned to the user, Max (aT group ) is the highest of the average network traffic per hour of the virtual machine assigned to the user group containing the user, and Min (aT group ) is Represents the lowest of the hourly average network traffic of the virtual machines assigned to the user group containing the users. That is, in the present invention, the workload of the virtual machine is determined based on the network traffic of all the virtual machines in the user group, not just the network traffic of the single virtual machine assigned to the user, and according to the overall service situation of the user group. You can resize the virtual machine.

가상 email 머신의Machine 사용률 및 작업부하의  Utilization and workload 퍼지화Fuzzy

상기와 같은 방법으로 산출된 가상 머신의 사용률 및 가상 머신의 작업 부하는 퍼지 입력 집합 및 소속도 함수(Membership Function)를 통하여 퍼지화된다.The utilization of the virtual machine and the workload of the virtual machine calculated as described above are fuzzy through a fuzzy input set and a membership function.

가상 머신의 사용률 및 작업 부하를 퍼지화하기 위한 퍼지 입력 집합은 예를 들어 다음과 같이 구성될 수 있다.
A set of fuzzy inputs for fuzzy utilization and workload of the virtual machine may be configured as follows, for example.

퍼지 입력 집합 X (가상 머신 사용률) = {Very Low(매우 낮음), Low(낮음), Normal(중간), High(높음), Very High(매우 높음)}Fuzzy Input Input Set X (virtual machine utilization) = {Very Low, Low, Normal, High, Very High}

퍼지 입력 집합 Y (가상 머신 작업부하) = {Very Low, Low, Normal, High, Very High}
Fuzzy Input Set Y (Virtual Machine Workload) = {Very Low, Low, Normal, High, Very High}

상기 퍼지 입력 집합 X 및 Y를 퍼지화하기 위한 소속도 함수(Membership Function)는 각각 서로 다른 중심값을 가지며, 0 내지 1 사이의 값으로 정의되는 복수 개의 소속원들을 포함하며, 예를 들어 도 3 및 도 4와 같이 구성될 수 있다. 이때 도 3은 가상 머신의 사용률에 대한 소속도 함수이고, 도 4는 가상 머신의 작업부하에 대한 소속도 함수를 각각 나타낸다. 도시된 실시예에서는 각 소속원이 삼각형 분포를 가지도록 구성되었으나, 이는 예시일 뿐이며 각 소속원은 삼각형, 사각형 또는 가우시안 분포 등 다양한 형태의 분포를 가질 수 있음에 유의한다.
Membership functions for fuzzy fuzzy input sets X and Y each have a different center value and include a plurality of members defined by a value between 0 and 1, for example, FIGS. It may be configured as shown in FIG. 3 is a membership function for the utilization rate of the virtual machine, and FIG. 4 is a membership function for the workload of the virtual machine, respectively. In the illustrated embodiment, each member is configured to have a triangular distribution, but this is only an example, and each member may have various types of distributions such as a triangle, a square, or a Gaussian distribution.

퍼지 추론Fuzzy inference

상기와 같이 퍼지 입력 집합이 X, Y가 구성되면, 스케일링 모듈(204)은 각각의 퍼지 입력에 퍼지 추론 규칙(Fuzzy Inference Rule)을 적용하여 퍼지 추론을 실시한다. 퍼지 추론 규칙은 전건부(IF 조건) 및 후건부(THEN 명제)로 구성되는 논리 규칙의 집합으로서, 예를 들어 다음의 표 1과 같이 구성될 수 있다. 즉, 만약 퍼지 입력 X와 Y가 퍼지 추론 규칙의 전건부 조건을 만족할 경우, 후건부의 명제를 실행하여 퍼지 출력 집합을 도출하게 된다.
When the fuzzy input set is configured with X and Y as described above, the scaling module 204 applies fuzzy inference rule to each fuzzy input to perform fuzzy inference. The fuzzy inference rule is a set of logic rules composed of a front part (IF condition) and a back part (THEN proposition). For example, the fuzzy inference rule may be configured as shown in Table 1 below. In other words, if the fuzzy inputs X and Y satisfy the pre-condition condition of the fuzzy inference rule, the proposition of the post-test part is executed to derive the fuzzy output set.

규칙 번호Rule Number 전건부 (IF 조건)Whole health department (IF condition) 후건부 (THEN 명제)Fugunbu (THEN proposition) X(가상 머신 사용률)X (virtual machine utilization) Y(가상 머신 작업부하)Y (Virtual Machine Workload) Z(가상 머신 크기)Z (Virtual Machine Size) 1One Very HighVery high Very HighVery high Very LargeVery large 22 Very HighVery high HighHigh Very LargeVery large 33 Very HighVery high NormalNormal LargeLarge 44 Very HighVery high LowLow NormalNormal 55 Very HighVery high Very LowVery low NormalNormal 66 HighHigh Very HighVery high Very LargeVery large 77 HighHigh HighHigh LargeLarge 88 HighHigh NormalNormal LargeLarge 99 HighHigh LowLow NormalNormal 1010 HighHigh Very LowVery low NormalNormal 1111 NormalNormal Very HighVery high LargeLarge 1212 NormalNormal HighHigh NormalNormal 1313 NormalNormal NormalNormal NormalNormal 1414 NormalNormal LowLow SmallSmall 1515 NormalNormal Very LowVery low SmallSmall 1616 LowLow Very HighVery high NormalNormal 1717 LowLow HighHigh NormalNormal 1818 LowLow NormalNormal SmallSmall 1919 LowLow LowLow SmallSmall 2020 LowLow Very LowVery low Very SmallVery small 2121 Very LowVery low Very HighVery high NormalNormal 2222 Very LowVery low HighHigh SmallSmall 2323 Very LowVery low NormalNormal SmallSmall 2424 Very LowVery low LowLow Very SmallVery small 2525 Very LowVery low Very LowVery low Very SmallVery small

퍼지 출력(Z * )은 퍼지화된 사용률 및 작업부하에 Mamdani의 Max-Min 추론 기법을 적용함으로써 생성될 수 있으며, 예를 들어 다음의 수학식 3에 의하여 도출될 수 있다.
The fuzzy output Z * may be generated by applying Mamdani's Max-Min inference technique to the purged utilization and workload, for example, by Equation 3 below.

[수학식 3]&Quot; (3) "

Figure pat00003

Figure pat00003

이때, n은 퍼지 입력에 부합되는 퍼지 추론 규칙의 수, ω는퍼지 추론 규칙의 전건부에 대한 적합도, μA(x)와 μB(y)는 퍼지 입력인 가상 머신 사용률 및 가상 머신 작업부하에 대한 소속도 함수, μ(z)는 퍼지 출력인 가상 머신 크기에 대한 소속도 함수이다.Where n is the number of fuzzy inference rules matching the fuzzy input, ω is the goodness of fit of the fuzzy inference rules, and μ A (x) and μ B (y) are the fuzzy input virtual machine utilization and virtual machine workload. The membership function for, μ (z), is the membership function for the virtual machine size, which is the fuzzy output.

퍼지 출력 집합 Z의 소속도 함수는 다음과 같이 정의될 수 있으며, 그 모양 및 중심값은 도 5에 도시된 것과 같은 형태를 가질 수 있다.
The membership function of the fuzzy output set Z may be defined as follows, and the shape and the center value may have a shape as shown in FIG. 5.

퍼지 출력 집합 Z (가상 머신 크기) = {Very Small(매우 작음), Small(작음), Normal(보통), Large(큼), Very Large(매우 큼)}
Fuzzy Output Set Z (Virtual Machine Size) = {Very Small, Small, Normal, Large, Very Large}

예를 들어, 가상 머신 사용률이 60%이고, 작업부하가 55%라고 가정하자. 이 경우, 퍼지 입력 X와 Y는 상기 표 1에서 퍼지 추론 규칙 7, 8, 12, 13에 적용된다.
For example, suppose the virtual machine utilization is 60% and the workload is 55%. In this case, fuzzy inputs X and Y are applied to fuzzy inference rules 7, 8, 12, 13 in Table 1 above.

규칙 7: 가상 머신 사용률이 High(0.5)이고 작업부하가 High(0.25)일 경우 가상 머신 크기는 Large이다.Rule 7: If the virtual machine utilization is high (0.5) and the workload is high (0.25), the virtual machine size is large.

규칙 8; 가상 머신 사용률이 High(0.5)이고 작업부하가 Normal(0.75)일 경우 가상 머신 크기는 Large이다. Rule 8; If the virtual machine utilization is High (0.5) and the workload is Normal (0.75), the virtual machine size is Large.

규칙 12: 가상 머신 사용률이 Normal(0.5)이고 작업부하가 High(0.25)일 경우 가상 머신 크기는 Normal이다.Rule 12: If the virtual machine utilization is Normal (0.5) and the workload is High (0.25), then the virtual machine size is Normal.

규칙 13: 가상 머신 사용률이 Normal(0.5)이고 작업부하가 Normal(0.75)일 경우 가상 머신 크기는 Normal이다.
Rule 13: If the virtual machine utilization is Normal (0.5) and the workload is Normal (0.75), the virtual machine size is Normal.

따라서, 각 규칙의 전건부 적합도 ω7, ω8, ω12, ω13는 0.25, 0.5, 0.25, 0.5이며, 수학식 3을 이용하여 도 6과 같이 퍼지 출력 집합 Z*를 유도할 수 있다(도 6에서 회색으로 표시된 부분).
Therefore, the total fit of the rule ω7, ω8, ω12, ω13 of each rule is 0.25, 0.5, 0.25, 0.5, it is possible to derive the fuzzy output set Z * as shown in Figure 6 using the equation (3 in gray in Figure 6). Shown).

퍼지 출력의 Fuzzy output of 비퍼지화Defuzzy

다음으로, 스케일링 모듈(204)은 유도된 퍼지 출력 집합 Z*를 비퍼지화하여 오토 스케일링에 필요한 가상 머신 인스턴스 필요량을 계산한다. 퍼지 출력의 비퍼지화 방법은 기존에 알려진 다양한 방법들을 사용할 수 있으며, 예를 들어 다음 수학식 4와 같은 무게 중심법(Center of Gravity)을 사용할 수 있다. (필요한 경우 소수점은 반올림할 수 있다)
Next, the scaling module 204 defuses the derived fuzzy output set Z * to calculate the virtual machine instance requirements for autoscaling. As the method for defusing the fuzzy output, various known methods may be used. For example, the center of gravity may be used as shown in Equation 4 below. (The decimal point can be rounded if necessary)

[수학식 4]&Quot; (4) "

Figure pat00004

Figure pat00004

이때, z는 가상 머신 인스턴스 필요량, n은 퍼지 입력에 부합되는 퍼지 추론 규칙의 수,

Figure pat00005
는 퍼지 추론 규칙의 전건부에 대한 적합도, Zmax는 퍼지 출력 집합의 최대 단일값을 나타낸다.Where z is the virtual machine instance requirement, n is the number of fuzzy inference rules that meet the fuzzy input,
Figure pat00005
Is the goodness-of-fit for the whole part of the fuzzy inference rule, and Z max is the maximum single value of the fuzzy output set.

도 6에 도시된 예의 경우, 가상 머신 인스턴스의 수 z는 다음과 같이 계산된다.
For the example shown in FIG. 6, the number z of virtual machine instances is calculated as follows.

Figure pat00006

Figure pat00006

가상 email 머신machine 인스턴스의Instance 개수 조정 Adjust number

상기와 같은 과정을 통하여 가상 머신 인스턴스 필요량이 도출되면, 다음으로 가상 머신 제어 모듈(206)은 스케일링 모듈(204)에서 계산된 가상 머신 인스턴스 필요량에 따라 사용자에게 할당된 가상 머신 인스턴스의 수를 제어한다.When the virtual machine instance needs are derived through the above process, the virtual machine control module 206 controls the number of virtual machine instances allocated to the user according to the virtual machine instance needs calculated by the scaling module 204. .

먼저, 가상 머신 제어 모듈(206)은 스케일링 모듈(204)에서 계산된 가상 머신 인스턴스 필요량 및 사용자에게 기 할당된 가상 머신 인스턴스의 수를 비교한다.First, the virtual machine control module 206 compares the virtual machine instance needs calculated in the scaling module 204 with the number of virtual machine instances pre-allocated to the user.

만약, 상기 비교 결과 계산된 가상 머신 인스턴스 필요량이 사용자에게 기 할당된 가상 머신 인스턴스의 수보다 많은 경우, 가상 머신 제어 모듈(206)은 부족한 수 만큼의 가상 머신 인스턴스를 새로 생성한다. 이때, 상기 가상 머신 인스턴스는 해당 시점, 즉 가상 머신 인스턴스를 새로 생성하는 시점에서 기 생성된 가상 머신 인스턴스의 수가 가장 적은 물리 서버에 가상 머신 인스턴스를 생성할 수 있다. 다시 말해 새로 생성되는 가상 머신 인스턴스는 물리 서버 중 가용 자원이 가장 많은 물리 서버에 가상 머신 인스턴스를 생성함으로써 서버들 간의 로드 밸런싱을 유도한다. 또한 새로 생성되는 가상 머신 인스턴스는, 사용자에게 기 할당된 가상 머신 인스턴스와 동일한 중앙 처리 장치 성능, 동일한 메모리 용량 및 저장 장치 용량을 가지도록 구성되는 것이 바람직하다.If the virtual machine instance requirement calculated as a result of the comparison is greater than the number of virtual machine instances previously assigned to the user, the virtual machine control module 206 creates a new number of virtual machine instances that are insufficient. In this case, the virtual machine instance may create a virtual machine instance on a physical server at which the number of previously created virtual machine instances is the smallest at that time, that is, when a virtual machine instance is newly created. In other words, the newly created virtual machine instance induces load balancing among the servers by creating the virtual machine instance on the physical server with the most available resources among the physical servers. In addition, the newly created virtual machine instance is preferably configured to have the same central processing unit performance, the same memory capacity and storage capacity as the virtual machine instance previously assigned to the user.

가상 머신 인스턴스가 생성되면, 가상 머신 제어 모듈(206)은 생성된 가상 머신 인스턴스를 사용자에게 기 할당된 가상 머신과 통합한 뒤 이를 사용자에게 할당한다.When the virtual machine instance is created, the virtual machine control module 206 integrates the created virtual machine instance with the virtual machine that is already assigned to the user and assigns it to the user.

한편, 이와 달리 만약 상기 비교 결과 계산된 가상 머신 인스턴스 필요량이 사용자에게 기 할당된 가상 머신 인스턴스의 수보다 적은 경우, 가상 머신 제어 모듈(206)은 필요량을 초과하는 가상 머신 인스턴스를 사용자에게 기 할당된 가상 머신으로부터 삭제한다. 이때, 가상 머신 제어 모듈(206)은, 사용자에게 기 할당된 가상 머신 인스턴스 중 사용률이 낮은 순서로 초과한 개수만큼 가상 머신 인스턴스를 삭제할 수 있다.
On the other hand, in contrast, if the virtual machine instance requirement calculated as a result of the comparison is less than the number of virtual machine instances pre-assigned to the user, the virtual machine control module 206 pre-assigns the virtual machine instances exceeding the required amount to the user. Delete from the virtual machine. In this case, the virtual machine control module 206 may delete the virtual machine instance by the number exceeding the usage rate among the virtual machine instances pre-assigned to the user.

도 7은 본 발명의 일 실시예에 따라 가상 머신 스케일링 시스템에서 수행되는 가상 머신 스케일링 방법을 나타낸 순서도이다.7 is a flowchart illustrating a virtual machine scaling method performed in a virtual machine scaling system according to an embodiment of the present invention.

먼저, 모니터링 모듈(202)은 사용자에게 할당된 가상 머신의 상태를 모니터링한다(702). 이때 상기 가상 머신의 상태 정보는, 각 가상 머신의 중앙처리장치(CPU) 사용률, 메모리 사용률, 저장 공간(스토리지) 사용률 및 사용자로부터 가상 머신으로 전송되는 네트워크 트래픽의 양 중 하나 이상을 포함하도록 구성됨은 전술하였다.First, the monitoring module 202 monitors (702) the state of the virtual machine assigned to the user. In this case, the state information of the virtual machine is configured to include one or more of CPU utilization, memory utilization, storage space (storage) utilization, and the amount of network traffic transmitted from the user to the virtual machine. As mentioned above.

이후, 스케일링 모듈(204)은 상기 702 단계에서 얻어진 가상 머신의 상태 정보에 따라 가상 머신의 사용률 및 작업부하를 계산한다(704). 상기 가상 머신의 사용률 및 작업부하는 전술한 수학식 1 및 2를 이용하여 계산된다.Subsequently, the scaling module 204 calculates the utilization rate and the workload of the virtual machine according to the state information of the virtual machine obtained in step 702. The utilization and workload of the virtual machine are calculated using Equations 1 and 2 described above.

다음으로, 스케일링 모듈(204)은 계산된 사용률 및 작업부하를 도 3 및 도 4에 도시된 소속도 함수를 이용하여 퍼지화하고(706), 표 1에서 설명한 추론 규칙을 적용하여 퍼지 출력을 계산하며(708), 계산된 퍼지 출력을 전술한 무게 중심법 등을 이용하여 비퍼지화하여 가상 머신 인스턴스 필요량을 계산한다(710).Next, the scaling module 204 fuzzy the calculated utilization and workload using the belonging function shown in FIGS. 3 and 4 (706), and applies the inference rules described in Table 1 to calculate the fuzzy output. In operation 708, the calculated fuzzy output is defused using the above-described center of gravity method to calculate a virtual machine instance requirement (710).

이후, 가상 머신 제어 모듈(206) 계산된 가상 머신 인스턴스 필요량에 따라 사용자에게 할당된 가상 머신 인스턴스의 수를 증가하거나 또는 기 할당된 가상 머신 인스턴스를 삭제함으로써 가상 머신 인스턴스의 수를 동적으로 제어한다(712).
Thereafter, the virtual machine control module 206 dynamically controls the number of virtual machine instances by increasing the number of virtual machine instances assigned to the user or deleting the pre-allocated virtual machine instances according to the calculated virtual machine instance needs. 712).

한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
On the other hand, an embodiment of the present invention may include a computer-readable recording medium including a program for performing the methods described herein on a computer. The computer-readable recording medium may include a program command, a local data file, a local data structure, or the like, alone or in combination. The media may be those specially designed and constructed for the present invention or may be known and available to those of ordinary skill in the computer software arts. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floppy disks, and magnetic media such as ROMs, And hardware devices specifically configured to store and execute program instructions. Examples of program instructions may include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like.

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be construed as limiting the scope of the present invention. I will understand.

그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by equivalents to the appended claims, as well as the appended claims.

100: 클라우드 컴퓨팅 시스템
102: 서버
104: 클라우드
106: 사용자 단말
108: 가상 머신 스케일링 시스템
202: 모니터링 모듈
204: 스케일링 모듈
206: 가상 머신 제어 모듈
100: cloud computing system
102: server
104: cloud
106: User terminal
108: virtual machine scaling system
202: monitoring module
204 scaling module
206: virtual machine control module

Claims (31)

사용자에게 할당된 가상 머신의 상태를 모니터링하는 모니터링 모듈;
상기 모니터링 모듈로부터 제공되는 상기 가상 머신의 상태 정보에 따라 상기 가상 머신의 사용률 및 작업부하를 계산하고, 계산된 상기 사용률 및 작업부하를 기 설정된 소속도 함수를 이용하여 퍼지화하며, 퍼지화된 상기 사용률 및 작업부하에 기 설정된 추론 규칙을 적용하여 퍼지 출력을 계산하고, 상기 퍼지 출력을 비퍼지화함으로써 상기 사용자의 가상 머신 인스턴스 필요량을 계산하는 스케일링 모듈; 및
상기 스케일링 모듈에서 계산된 상기 가상 머신 인스턴스 필요량에 따라 상기 사용자에게 할당된 가상 머신 인스턴스의 수를 제어하는 가상 머신 제어 모듈을 포함하는 퍼지 제어 기반 가상 머신 스케일링 시스템.
A monitoring module for monitoring a state of a virtual machine assigned to a user;
The utilization rate and workload of the virtual machine are calculated according to the state information of the virtual machine provided from the monitoring module, and the calculated utilization rate and workload are fuzzy by using a predetermined belonging function. A scaling module configured to calculate a fuzzy output by applying a set of inference rules to a utilization rate and a workload, and calculate a virtual machine instance requirement of the user by defusing the fuzzy output; And
And a virtual machine control module for controlling the number of virtual machine instances assigned to the user according to the virtual machine instance requirements calculated by the scaling module.
청구항 1에 있어서,
상기 가상 머신의 상태 정보는, 상기 가상 머신의 중앙처리장치 사용률, 메모리 사용률, 저장 공간 사용률 및 상기 사용자로부터 상기 가상 머신으로 전송되는 네트워크 트래픽의 양 중 하나 이상을 포함하는, 가상 머신 스케일링 시스템.
The method according to claim 1,
And the state information of the virtual machine includes one or more of CPU utilization, memory utilization, storage space usage, and the amount of network traffic transmitted from the user to the virtual machine.
청구항 2에 있어서,
상기 가상 머신의 사용률은 다음의 수학식
Figure pat00007

(이때, VMutil은 가상 머신의 사용률(%), Ucpu는 중앙처리장치 사용률로서 0 내지 1사이의 값, Umem은 메모리 사용률로서 0 내지 1사이의 값, Udisk는 저장 공간 사용률로서 0 내지 1사이의 값, α,β,χ는 가중치로서 각각 0 내지 1 사이의 값을 가지며 α+β+χ=1의 관계를 만족함)
을 이용하여 계산되는, 가상 머신 스케일링 시스템.
The method according to claim 2,
The utilization rate of the virtual machine is the following equation
Figure pat00007

Where VM util is the virtual machine utilization (%), U cpu is the central processing unit utilization between 0 and 1, U mem is the memory utilization between 0 and 1, and U disk is the storage space utilization. Values of 1 to 1, α, β, and χ each have a value between 0 and 1 as weights, and satisfy a relationship of α + β + χ = 1.)
Calculated using a virtual machine scaling system.
청구항 2에 있어서,
상기 가상 머신의 작업부하는 다음의 수학식,
Figure pat00008

(이때, VMload는 가상 머신의 작업부하(%), aTuser은 상기 사용자에게 할당된 상기 가상 머신의 시간 당 평균 네트워크 트래픽, Max(aTgroup)은 상기 사용자를 포함하는 사용자 그룹에 할당된 가상 머신의 시간 당 평균 네트워크 트래픽 중 최고치, Min(aTgroup)은 상기 사용자를 포함하는 사용자 그룹에 할당된 가상 머신의 시간 당 평균 네트워크 트래픽 중 최저치)
을 이용하여 계산되는, 가상 머신 스케일링 시스템.
The method according to claim 2,
The workload of the virtual machine is the following equation,
Figure pat00008

Where VM load is the workload of the virtual machine, aT user is the average network traffic per hour of the virtual machine assigned to the user, and Max (aT group ) is the virtual assigned to the user group containing the user. The highest average hourly network traffic per machine, Min (aT group ) is the lowest average hourly network traffic per virtual machine assigned to the user group containing the user)
Calculated using a virtual machine scaling system.
청구항 1에 있어서,
상기 가상 머신의 사용률 및 작업부하의 소속도 함수는, 각각 서로 다른 중심값을 가지며, 0 내지 1 사이의 값으로 정의되는 복수 개의 소속원들을 포함하는, 가상 머신 스케일링 시스템.
The method according to claim 1,
A utilization function and a workload belonging function of the virtual machine, each having a different center value and comprises a plurality of members defined by a value between 0 and 1.
청구항 5에 있어서,
상기 소속도 함수에 포함되는 상기 각 소속원은 삼각형, 사각형 또는 가우시안 분포 중 어느 하나의 분포를 가지는, 가상 머신 스케일링 시스템.
The method according to claim 5,
Wherein each membership included in the membership function has a distribution of any one of a triangle, a square, or a Gaussian distribution.
청구항 1에 있어서,
상기 퍼지 출력은 퍼지화된 상기 사용률 및 상기 작업부하에 Max-Min 추론 기법을 적용함으로써 생성되는, 가상 머신 스케일링 시스템.
The method according to claim 1,
The fuzzy output is generated by applying a Max-Min inference technique to the purged utilization and the workload.
청구항 7에 있어서,
상기 퍼지 출력은 다음의 수학식
Figure pat00009

(이때, Z*은 퍼지 출력 집합, n은 퍼지 입력에 부합되는 퍼지 추론 규칙의 수, ω는퍼지 추론 규칙의 전건부에 대한 적합도, μA(x)와 μB(y)는 퍼지 입력인 가상 머신 사용률 및 가상 머신 작업부하에 대한 소속도 함수, μ(z)는 퍼지 출력인 가상 머신 크기에 대한 소속도 함수)
을 이용하여 계산되는, 가상 머신 스케일링 시스템.
The method of claim 7,
The fuzzy output is represented by the following equation
Figure pat00009

Where Z * is the fuzzy output set, n is the number of fuzzy inference rules that match the fuzzy input, ω is the goodness of fit for the whole part of the fuzzy inference rule, and μ A (x) and μ B (y) are fuzzy inputs. Membership function for virtual machine utilization and virtual machine workload, μ (z) is membership function for virtual machine size, which is fuzzy output)
Calculated using a virtual machine scaling system.
청구항 1에 있어서,
상기 가상 머신 인스턴스 필요량은, 상기 퍼지 출력에 무게 중심법을 적용하여 상기 퍼지 출력을 비퍼지화함으로써 계산되는, 가상 머신 스케일링 시스템.
The method according to claim 1,
The virtual machine instance requirement is calculated by defusing the fuzzy output by applying a centroid method to the fuzzy output.
청구항 9에 있어서,
상기 가상 머신 인스턴스 필요량은, 다음의 수학식
Figure pat00010

(이때, z는 가상 머신 인스턴스 필요량, n은 퍼지 입력에 부합되는 퍼지 추론 규칙의 수,
Figure pat00011
는 퍼지 추론 규칙의 전건부에 대한 적합도, Zmax는 퍼지 출력 집합의 최대 단일값)
을 이용하여 계산되는, 가상 머신 스케일링 시스템.
The method according to claim 9,
The virtual machine instance required amount is the following equation
Figure pat00010

(Where z is the number of virtual machine instance requirements, n is the number of fuzzy inference rules that meet the fuzzy input,
Figure pat00011
Is the goodness-of-fit for the whole part of the fuzzy inference rule, Z max is the maximum single value of the fuzzy output set)
Calculated using a virtual machine scaling system.
청구항 1에 있어서,
상기 가상 머신 제어 모듈은, 상기 가상 머신 인스턴스 필요량이 상기 사용자에게 기 할당된 가상 머신 인스턴스의 수보다 많은 경우, 부족한 수 만큼의 가상 머신 인스턴스를 생성하여 상기 사용자에게 기 할당된 가상 머신과 통합하는, 가상 머신 스케일링 시스템.
The method according to claim 1,
The virtual machine control module, when the required amount of the virtual machine instance is greater than the number of virtual machine instances previously assigned to the user, generates an insufficient number of virtual machine instances and integrates the virtual machine with the pre-assigned virtual machine, Virtual Machine Scaling System.
청구항 11에 있어서,
상기 가상 머신 제어 모듈은, 가상 머신을 생성 가능한 서버 중 기 생성된 가상 머신의 수가 가장 적은 서버에 가상 머신 인스턴스를 생성하는, 가상 머신 스케일링 시스템.
The method of claim 11,
The virtual machine control module, the virtual machine scaling system for creating a virtual machine instance on the server with the smallest number of virtual machines generated among the server capable of creating a virtual machine.
청구항 11에 있어서,
생성되는 상기 가상 머신 인스턴스는, 상기 사용자에게 기 할당된 가상 머신 인스턴스와 동일한 중앙 처리 장치 성능 및 동일한 메모리 용량, 저장 장치 용량을 가지는, 가상 머신 스케일링 시스템.
The method of claim 11,
The generated virtual machine instance has the same central processing unit performance and the same memory capacity and storage capacity as the virtual machine instance previously assigned to the user.
청구항 1에 있어서,
상기 가상 머신 제어 모듈은, 상기 가상 머신 인스턴스 필요량이 상기 사용자에게 기 할당된 가상 머신 인스턴스의 수보다 적은 경우, 필요량을 초과하는 가상 머신 인스턴스를 상기 사용자에게 기 할당된 가상 머신으로부터 삭제하는, 가상 머신 스케일링 시스템.
The method according to claim 1,
The virtual machine control module, when the virtual machine instance requirement is less than the number of virtual machine instances pre-assigned to the user, deletes the virtual machine instance exceeding the required amount from the pre-assigned virtual machine to the user. Scaling system.
청구항 14에 있어서,
상기 가상 머신 제어 모듈은, 상기 사용자에게 기 할당된 가상 머신 인스턴스 중 사용률이 낮은 순서로 필요량을 초과하는 가상 머신 인스턴스를 삭제하는, 가상 머신 스케일링 시스템.
The method according to claim 14,
The virtual machine control module, the virtual machine scaling system to delete the virtual machine instances exceeding the required amount in the order of low utilization among the virtual machine instances previously assigned to the user.
가상 머신 스케일링 시스템에서 수행되는 가상 머신 스케일링방법으로서,
사용자에게 할당된 가상 머신의 상태를 모니터링하는 단계;
상기 가상 머신의 상태 정보에 따라 상기 가상 머신의 사용률 및 작업부하를 계산하는 단계;
계산된 상기 사용률 및 작업부하를 기 설정된 소속도 함수를 이용하여 퍼지화하는 단계;
퍼지화된 상기 사용률 및 작업부하에 기 설정된 추론 규칙을 적용하여 퍼지 출력을 계산하는 단계;
상기 퍼지 출력을 비퍼지화하여 상기 사용자의 가상 머신 인스턴스 필요량을 계산하는 단계; 및
계산된 상기 가상 머신 인스턴스 필요량에 따라 상기 사용자에게 할당된 가상 머신 인스턴스의 수를 제어하는 단계를 포함하는 퍼지 제어 기반 가상 머신 스케일링 방법.
A virtual machine scaling method performed in a virtual machine scaling system,
Monitoring a state of a virtual machine assigned to a user;
Calculating a utilization rate and a workload of the virtual machine according to the state information of the virtual machine;
Fuzzy use of the calculated utilization and workload using a predetermined belonging function;
Calculating a fuzzy output by applying a predetermined reasoning rule to the fuzzy utilization and workload;
Defusing the fuzzy output to calculate a virtual machine instance requirement of the user; And
And controlling the number of virtual machine instances assigned to the user according to the calculated virtual machine instance needs.
청구항 16에 있어서,
상기 가상 머신의 상태 정보는, 상기 가상 머신의 중앙처리장치 사용률, 메모리 사용률, 저장 공간 사용률 및 상기 사용자로부터 상기 가상 머신으로 전송되는 네트워크 트래픽의 양 중 하나 이상을 포함하는, 가상 머신 스케일링 방법.
18. The method of claim 16,
And the state information of the virtual machine includes one or more of CPU utilization, memory utilization, storage space usage, and the amount of network traffic transmitted from the user to the virtual machine.
청구항 17에 있어서,
상기 가상 머신의 사용률은 다음의 수학식
Figure pat00012

(이때, VMutil은 가상 머신의 사용률(%), Ucpu는 중앙처리장치 사용률로서 0 내지 1사이의 값, Umem은 메모리 사용률로서 0 내지 1사이의 값, Udisk는 저장 공간 사용률로서 0 내지 1사이의 값, α,β,χ는 가중치로서 각각 0 내지 1 사이의 값을 가지며 α+β+χ=1의 관계를 만족함)
을 이용하여 계산되는, 가상 머신 스케일링 방법.
18. The method of claim 17,
The utilization rate of the virtual machine is the following equation
Figure pat00012

Where VM util is the virtual machine utilization (%), U cpu is the central processing unit utilization between 0 and 1, U mem is the memory utilization between 0 and 1, and U disk is the storage space utilization. Values of 1 to 1, α, β, and χ each have a value between 0 and 1 as weights, and satisfy a relationship of α + β + χ = 1.)
Calculated using the virtual machine scaling method.
청구항 17에 있어서,
상기 가상 머신의 작업부하는 다음의 수학식,
Figure pat00013

(이때, VMload는 가상 머신의 작업부하(%), aTuser은 상기 사용자에게 할당된 상기 가상 머신의 시간 당 평균 네트워크 트래픽, Max(aTgroup)은 상기 사용자를 포함하는 사용자 그룹에 할당된 가상 머신의 시간 당 평균 네트워크 트래픽 중 최고치, Min(aTgroup)은 상기 사용자를 포함하는 사용자 그룹에 할당된 가상 머신의 시간 당 평균 네트워크 트래픽 중 최저치)
을 이용하여 계산되는, 가상 머신 스케일링 방법.
18. The method of claim 17,
The workload of the virtual machine is the following equation,
Figure pat00013

Where VM load is the workload of the virtual machine, aT user is the average network traffic per hour of the virtual machine assigned to the user, and Max (aT group ) is the virtual assigned to the user group containing the user. The highest average hourly network traffic per machine, Min (aT group ) is the lowest average hourly network traffic per virtual machine assigned to the user group containing the user)
Calculated using the virtual machine scaling method.
청구항 16에 있어서,
상기 가상 머신의 사용률 및 작업부하의 소속도 함수는, 각각 서로 다른 중심값을 가지며, 0 내지 1 사이의 값으로 정의되는 복수 개의 소속원들을 포함하는, 가상 머신 스케일링 방법.
18. The method of claim 16,
The utilization factor and workload belonging function of the virtual machine each have a different center value and comprises a plurality of members defined by a value between 0 and 1.
청구항 20에 있어서,
상기 소속도 함수에 포함되는 상기 각 소속원은 삼각형, 사각형 또는 가우시안 분포 중 어느 하나의 분포를 가지는, 가상 머신 스케일링 방법.
The method of claim 20,
Each member belonging to the belonging function has a distribution of any one of a triangle, a square, or a Gaussian distribution.
청구항 16에 있어서,
상기 퍼지 출력을 계산하는 단계는, 퍼지화된 상기 사용률 및 상기 작업부하에 Max-Min 추론 기법을 적용함으로써 상기 퍼지 출력을 계산하는, 가상 머신 스케일링 방법.
18. The method of claim 16,
And calculating the fuzzy output calculates the fuzzy output by applying a Max-Min inference technique to the fuzzy utilization and the workload.
청구항 22에 있어서,
상기 퍼지 출력은 다음의 수학식
Figure pat00014

(이때, Z*은 퍼지 출력 집합, n은 퍼지 입력에 부합되는 퍼지 추론 규칙의 수, ω는퍼지 추론 규칙의 전건부에 대한 적합도, μA(x)와 μB(y)는 퍼지 입력인 가상 머신 사용률 및 가상 머신 작업부하에 대한 소속도 함수, μ(z)는 퍼지 출력인 가상 머신 크기에 대한 소속도 함수)
을 이용하여 계산되는, 가상 머신 스케일링 방법.
23. The method of claim 22,
The fuzzy output is represented by the following equation
Figure pat00014

Where Z * is the fuzzy output set, n is the number of fuzzy inference rules that match the fuzzy input, ω is the goodness of fit for the whole part of the fuzzy inference rule, and μ A (x) and μ B (y) are fuzzy inputs. Membership function for virtual machine utilization and virtual machine workload, μ (z) is membership function for virtual machine size, which is fuzzy output)
Calculated using the virtual machine scaling method.
청구항 16에 있어서,
상기 가상 머신 인스턴스 필요량을 계산하는 단계는, 상기 퍼지 출력에 무게 중심법을 적용하여 상기 퍼지 출력을 비퍼지화함으로써 상기 가상 머신 인스턴스 필요량을 계산하는, 가상 머신 스케일링 방법.
18. The method of claim 16,
The calculating of the virtual machine instance requirements comprises calculating the virtual machine instance requirements by applying a center of gravity method to the fuzzy outputs and defusing the fuzzy outputs.
청구항 24에 있어서,
상기 가상 머신 인스턴스 필요량은, 다음의 수학식
Figure pat00015

(이때, z는 가상 머신 인스턴스 필요량, n은 퍼지 입력에 부합되는 퍼지 추론 규칙의 수,
Figure pat00016
는 퍼지 추론 규칙의 전건부에 대한 적합도, Zmax는 퍼지 출력 집합의 최대 단일값)
을 이용하여 계산되는, 가상 머신 스케일링 방법.
27. The method of claim 24,
The virtual machine instance required amount is the following equation
Figure pat00015

(Where z is the number of virtual machine instance requirements, n is the number of fuzzy inference rules that meet the fuzzy input,
Figure pat00016
Is the goodness-of-fit for the whole part of the fuzzy inference rule, Z max is the maximum single value of the fuzzy output set)
Calculated using the virtual machine scaling method.
청구항 16에 있어서,
가상 머신 인스턴스의 수를 제어하는 단계는,
상기 가상 머신 인스턴스 필요량 및 상기 사용자에게 기 할당된 가상 머신 인스턴스의 수를 비교하는 단계;
상기 비교 결과, 상기 가상 머신 인스턴스 필요량이 상기 사용자에게 기 할당된 가상 머신 인스턴스의 수보다 많은 경우, 부족한 수 만큼의 가상 머신 인스턴스를 생성하는 단계; 및
생성된 상기 가상 머신 인스턴스를 상기 사용자에게 기 할당된 가상 머신 과 통합하는 단계를 더 포함하는, 가상 머신 스케일링 방법.
18. The method of claim 16,
Controlling the number of virtual machine instances,
Comparing the virtual machine instance requirements with the number of virtual machine instances previously assigned to the user;
If the virtual machine instance requirement is greater than the number of virtual machine instances pre-assigned to the user, creating an insufficient number of virtual machine instances; And
And integrating the created virtual machine instance with a virtual machine previously assigned to the user.
청구항 26에 있어서,
상기 가상 머신 인스턴스를 생성하는 단계는, 가상 머신을 생성 가능한 서버 중 기 생성된 가상 머신의 수가 가장 적은 서버에 가상 머신 인스턴스를 생성하는, 가상 머신 스케일링 방법.
27. The method of claim 26,
The generating of the virtual machine instance may include: creating a virtual machine instance on a server having the fewest number of virtual machines generated among the servers capable of creating the virtual machine.
청구항 26에 있어서,
생성되는 상기 가상 머신 인스턴스는, 상기 사용자에게 기 할당된 가상 머신 인스턴스와 동일한 중앙 처리 장치 성능 및 동일한 메모리 용량, 저장 장치 용량을 가지는, 가상 머신 스케일링 방법.
27. The method of claim 26,
The generated virtual machine instance has the same central processing unit performance and the same memory capacity and storage capacity as the virtual machine instance previously assigned to the user.
청구항 26에 있어서,
상기 판단 결과, 상기 가상 머신 인스턴스 필요량이 상기 사용자에게 기 할당된 가상 머신 인스턴스의 수보다 적은 경우, 필요량을 초과하는 가상 머신 인스턴스를 상기 사용자에게 기 할당된 가상 머신으로부터 삭제하는 단계를 더 포함하는, 가상 머신 스케일링 방법.
27. The method of claim 26,
If the virtual machine instance requirement is less than the number of virtual machine instances pre-assigned to the user, determining that the virtual machine instance exceeding the required amount is removed from the virtual machine pre-assigned to the user, Virtual machine scaling method.
청구항 29에 있어서,
상기 삭제하는 단계는, 상기 사용자에게 기 할당된 가상 머신 인스턴스 중 사용률이 낮은 순서로 필요량을 초과하는 가상 머신 인스턴스를 삭제하는, 가상 머신 스케일링 방법.
The method of claim 29,
The deleting may include deleting virtual machine instances exceeding a required amount in order of low utilization among virtual machine instances previously assigned to the user.
청구항 16 내지 청구항 30 중 어느 한 항에 기재된 방법을 컴퓨터상에서실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.


A computer-readable recording medium having recorded thereon a program for executing the method according to any one of claims 16 to 30.


KR1020110110357A 2011-10-27 2011-10-27 Fuzzy control based virtual machine auto scaling system and method KR101287448B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110110357A KR101287448B1 (en) 2011-10-27 2011-10-27 Fuzzy control based virtual machine auto scaling system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110110357A KR101287448B1 (en) 2011-10-27 2011-10-27 Fuzzy control based virtual machine auto scaling system and method

Publications (2)

Publication Number Publication Date
KR20130046040A true KR20130046040A (en) 2013-05-07
KR101287448B1 KR101287448B1 (en) 2013-07-18

Family

ID=48657831

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110110357A KR101287448B1 (en) 2011-10-27 2011-10-27 Fuzzy control based virtual machine auto scaling system and method

Country Status (1)

Country Link
KR (1) KR101287448B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160073306A (en) * 2014-12-16 2016-06-24 캐논 가부시끼가이샤 Management system and method for controlling management system
CN106227582A (en) * 2016-08-10 2016-12-14 华为技术有限公司 Elastic telescopic method and system
KR20180098838A (en) * 2017-02-27 2018-09-05 한국전자통신연구원 Apparatus and method for managing virtual network function
WO2024014600A1 (en) * 2022-07-13 2024-01-18 쿠팡 주식회사 Instance management method, and electronic device therefor

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102048743B1 (en) 2014-06-30 2020-01-08 한국전자통신연구원 SDN-based network monitoring virtualization system and method therefor
US10169243B2 (en) 2016-07-18 2019-01-01 International Business Machines Corporation Reducing over-purging of structures associated with address translation
US10223281B2 (en) 2016-07-18 2019-03-05 International Business Machines Corporation Increasing the scope of local purges of structures associated with address translation
US10168902B2 (en) 2016-07-18 2019-01-01 International Business Machines Corporation Reducing purging of structures associated with address translation
US10802986B2 (en) 2016-07-18 2020-10-13 International Business Machines Corporation Marking to indicate memory used to back address translation structures
US10180909B2 (en) 2016-07-18 2019-01-15 International Business Machines Corporation Host-based resetting of active use of guest page table indicators
US10241924B2 (en) 2016-07-18 2019-03-26 International Business Machines Corporation Reducing over-purging of structures associated with address translation using an array of tags
US10176111B2 (en) 2016-07-18 2019-01-08 International Business Machines Corporation Host page management using active guest page table indicators
US10176110B2 (en) 2016-07-18 2019-01-08 International Business Machines Corporation Marking storage keys to indicate memory used to back address translation structures
US10282305B2 (en) 2016-07-18 2019-05-07 International Business Machines Corporation Selective purging of entries of structures associated with address translation in a virtualized environment
US10176006B2 (en) 2016-07-18 2019-01-08 International Business Machines Corporation Delaying purging of structures associated with address translation
US10162764B2 (en) 2016-07-18 2018-12-25 International Business Machines Corporation Marking page table/page status table entries to indicate memory used to back address translation structures
US10248573B2 (en) 2016-07-18 2019-04-02 International Business Machines Corporation Managing memory used to back address translation structures
KR101990411B1 (en) * 2017-12-26 2019-10-01 경희대학교 산학협력단 System for scaling resource based on priority in cloud system, apparatus and method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090070933A (en) * 2007-12-27 2009-07-01 주식회사 케이티 Device and method for hosting service using virtual machine
US8849971B2 (en) 2008-05-28 2014-09-30 Red Hat, Inc. Load balancing in cloud-based networks
US20110078303A1 (en) 2009-09-30 2011-03-31 Alcatel-Lucent Usa Inc. Dynamic load balancing and scaling of allocated cloud resources in an enterprise network

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160073306A (en) * 2014-12-16 2016-06-24 캐논 가부시끼가이샤 Management system and method for controlling management system
CN106227582A (en) * 2016-08-10 2016-12-14 华为技术有限公司 Elastic telescopic method and system
CN106227582B (en) * 2016-08-10 2019-06-11 华为技术有限公司 Elastic telescopic method and system
KR20180098838A (en) * 2017-02-27 2018-09-05 한국전자통신연구원 Apparatus and method for managing virtual network function
WO2024014600A1 (en) * 2022-07-13 2024-01-18 쿠팡 주식회사 Instance management method, and electronic device therefor

Also Published As

Publication number Publication date
KR101287448B1 (en) 2013-07-18

Similar Documents

Publication Publication Date Title
KR101287448B1 (en) Fuzzy control based virtual machine auto scaling system and method
Wang et al. Energy-aware dynamic virtual machine consolidation for cloud datacenters
US10460241B2 (en) Server and cloud computing resource optimization method thereof for cloud big data computing architecture
CN108475207B (en) Joint auto-scaling of cloud applications
JP4374391B2 (en) System and method for operating load balancer for multiple instance applications
US20090100180A1 (en) Incremental Run-Time Session Balancing In A Multi-Node System
EP3101870A1 (en) Storage resource scheduling method and storage calculation system
US11093280B2 (en) Automatic reconfiguration of high performance computing job schedulers based on user behavior, user feedback, and job performance monitoring
US20120221730A1 (en) Resource control system and resource control method
US10237339B2 (en) Statistical resource balancing of constrained microservices in cloud PAAS environments
US10721179B2 (en) Adaptive resource allocation operations based on historical data in a distributed computing environment
US20060200469A1 (en) Global session identifiers in a multi-node system
JP2012099062A (en) Service cooperation system and information processing system
Guo et al. Optimal management of virtual infrastructures under flexible cloud service agreements
WO2019102287A1 (en) Prioritizing applications for diagonal scaling in a distributed computing environment
US10397315B2 (en) Information processing apparatus and load distribution control method
US20210357269A1 (en) Quality of service scheduling with workload profiles
US10635501B2 (en) Adaptive scaling of workloads in a distributed computing environment
KR101630125B1 (en) Method for resource provisioning in cloud computing resource management system
US11038755B1 (en) Computing and implementing a remaining available budget in a cloud bursting environment
CN112600761A (en) Resource allocation method, device and storage medium
Babu et al. Interference aware prediction mechanism for auto scaling in cloud
Zaouch et al. Load balancing for improved quality of service in the cloud
CN114116173A (en) Method, device and system for dynamically adjusting task allocation
US10812407B2 (en) Automatic diagonal scaling of workloads in a distributed computing environment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160701

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180625

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190701

Year of fee payment: 7