KR102262645B1 - Monitoring system and method for resource manegement in cloud computing - Google Patents

Monitoring system and method for resource manegement in cloud computing Download PDF

Info

Publication number
KR102262645B1
KR102262645B1 KR1020200188846A KR20200188846A KR102262645B1 KR 102262645 B1 KR102262645 B1 KR 102262645B1 KR 1020200188846 A KR1020200188846 A KR 1020200188846A KR 20200188846 A KR20200188846 A KR 20200188846A KR 102262645 B1 KR102262645 B1 KR 102262645B1
Authority
KR
South Korea
Prior art keywords
monitoring
virtual machine
unit
migration
type
Prior art date
Application number
KR1020200188846A
Other languages
Korean (ko)
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 KR1020200188846A priority Critical patent/KR102262645B1/en
Application granted granted Critical
Publication of KR102262645B1 publication Critical patent/KR102262645B1/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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • 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
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

The present invention relates to a monitoring system and method for resource management in a cloud computing environment. The monitoring system for resource management in a cloud computing environment in accordance with the present invention comprises: a plurality of physical machines constituting a cloud environment; a plurality of virtual machines generated in the physical machines to provide a cloud computing service; a first monitoring unit for monitoring in real time overall computing resource information including CPU usage and memory usage for the overall virtual machines; a second monitoring unit for monitoring in real time real computing resource information including real CPU usage and memory usage for each of the virtual machines; and a migration manager unit for classifying the virtual machines into types and migrating one or more of the classified virtual machines to any one of the physical machines, based on a monitoring result obtained by the first monitoring unit and the second monitoring unit.

Description

클라우드 컴퓨팅 환경에서의 리소스관리를 위한 모니터링 시스템 및 방법{MONITORING SYSTEM AND METHOD FOR RESOURCE MANEGEMENT IN CLOUD COMPUTING }Monitoring system and method for resource management in cloud computing environment

본 발명은 클라우드 컴퓨팅 환경에서의 리소스관리를 위한 모니터링 시스템 및 방법에 관한 것이다.The present invention relates to a monitoring system and method for resource management in a cloud computing environment.

클라우드 컴퓨팅 시스템은 하나의 물리머신(physical machine)에 복수 개의 가상머신(virtual machine)을 포함하여 리소스의 효율성을 높일 수 있다. 그러나, 클라우드 컴퓨팅 시스템은 물리머신에 포함된 가상머신에 과중한 부하(load)가 발생하면 병목 현상 등의 문제를 일으키게 되며, 이로 인하여 전체 클라우드 컴퓨팅 시스템의 성능 및 서비스의 품질(quality of service; QoS)이 저하될 수 있다. 그러므로, 다양한 가상머신이 활용하는 리소스의 이용률을 고려하여 리소스를 효율적으로 분산하는 것이 클라우드 컴퓨팅 시스템에서 중요한 이슈이다.The cloud computing system may include a plurality of virtual machines in one physical machine to increase resource efficiency. However, the cloud computing system causes problems such as a bottleneck when an excessive load occurs on a virtual machine included in a physical machine, which results in performance and quality of service (QoS) of the entire cloud computing system. this may be lowered. Therefore, it is an important issue in a cloud computing system to efficiently distribute resources in consideration of the utilization rate of resources utilized by various virtual machines.

특히, 클라우드 컴퓨팅 시스템에서는 사용자에게 컴퓨팅 환경을 제공하기 위해 하드웨어 자체를 제공하기에는 너무 많은 비용이 소요되므로, 이러한 비용의 감소를 위해 가상화(virtualization) 기술을 사용하게 되엇다. 가상화란 하나의 하드웨어 위에 가상화된 운영 체제를 관리하는 시스템 소프트웨어인 가상머신 모니터를 설치하고 그 위에 사용자에게 제공하고자 하는 가상 머진을 올려 여기에 운영 체제를 설치하는 형태를 의미한다.In particular, in a cloud computing system, since it takes too much cost to provide hardware itself to provide a computing environment to users, virtualization technology is used to reduce these costs. Virtualization refers to a form of installing a virtual machine monitor, which is system software that manages a virtualized operating system, on a single piece of hardware, placing a virtual machine to be provided to the user on it, and installing the operating system there.

하지만, 운영체제 가상화를 이용한 클라우드 컴퓨팅은 기존에 발생하지 않았던 문제점들을 초래하고 있다. 첫째는 하드웨어의 활용률이 급격하게 늘어 페이지 폴트(Page Fault)가 빈번하게 일어나는 쓰레싱이 발생한다는 것이고, 둘째는 가상머신이 올려진 하드웨어에 과부하가 발생하여 고장이 초래되는 경우에는 모든 서비스가 중단되는 사태가 발생하게 된다.However, cloud computing using operating system virtualization causes problems that have not occurred before. The first is that the utilization rate of hardware increases rapidly and thrashing occurs which frequently causes page faults. Second, all services are stopped when the hardware on which the virtual machine is loaded is overloaded and a failure occurs. situation will occur.

이러한 문제 때문에 리소스관리에 대한 모니터링 문제가 대두되고, 하드웨어에 문제가 생기더라도 서비스를 중단하지 않고 사용자가 불편을 느끼지 못하도록 다른 하드웨어의 리소스으로 마이그레이션 하는 기법에 대한 연구들도 지속적으로 진행되고 있다.Because of these problems, the monitoring problem of resource management has emerged, and studies on a technique for migrating to another hardware resource so that the user does not feel inconvenience without stopping the service even if there is a hardware problem are continuously being conducted.

KRUS 10-181456010-1814560 B1B1

따라서 본 발명은 상기 문제를 해결하기 위해 안출한 것으로서, 본 발명의 목적은 클라우드 컴퓨팅 환경에서 리소스들의 상태를 모니터링 하여 과부하나 성능저하를 방지할 수 있으며 서비스의 중단없이 동적인 이주를 가능하도록 하는 클라우드 컴퓨팅 환경에서의 리소스관리를 위한 모니터링 시스템 및 방법을 제공하는 것이다.Therefore, the present invention has been devised to solve the above problem, and an object of the present invention is to monitor the state of resources in a cloud computing environment to prevent overload or performance degradation, and to enable dynamic migration without service interruption. It is to provide a monitoring system and method for resource management in a computing environment.

본 발명의 다른 목적 및 장점들은 하기에 설명될 것이며, 본 발명의 실시예에 의해 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 청구범위에 나타낸 수단 및 조합에 의해 실현될 수 있다.Other objects and advantages of the present invention will be set forth below and will be learned by way of example of the present invention. Furthermore, the objects and advantages of the present invention may be realized by means and combinations indicated in the claims.

상기와 같은 목적을 달성하기 위하여, 본 발명의 일 측면에 따르면, 클라우드 컴퓨팅 환경에서의 리소스관리를 위한 모니터링 시스템은, 클라우드 환경을 구성하는 복수의 물리머신; 상기 물리머신 내에 생성되며 클라우드 컴퓨팅 서비스를 제공하는 복수의 가상머신; 상기 가상머신 전체에 대한 CPU 사용량 및 메모리 사용량을 포함하는 전체 컴퓨팅 리소스정보를 실시간으로 모니터링하는 제1 모니터링부; 상기 가상머신 각각에 대한 실제 CPU 사용량 및 메모리 사용량을 포함하는 실제 컴퓨팅 리소스정보를 실시간으로 모니터링하는 제2 모니터링부; 및 상기 제1 모니터링부 및 제2 모니터링부로부터 획득된 모니터링 결과에 기초하여 상기 가상머신을 유형별로 분류하며, 분류된 가상머신 중 하나 이상을 상기 복수의 물리머신 중 어느 하나에 이주시키는 이주 매니저부를 포함하는 것을 특징으로 한다.In order to achieve the above object, according to one aspect of the present invention, a monitoring system for resource management in a cloud computing environment, a plurality of physical machines constituting the cloud environment; a plurality of virtual machines created in the physical machine and providing cloud computing services; a first monitoring unit for monitoring the entire computing resource information including CPU usage and memory usage for the entire virtual machine in real time; a second monitoring unit for monitoring real computing resource information including actual CPU usage and memory usage for each of the virtual machines in real time; and a migration manager unit that classifies the virtual machines by type based on the monitoring results obtained from the first monitoring unit and the second monitoring unit, and migrates one or more of the classified virtual machines to any one of the plurality of physical machines. characterized by including.

본 발명의 다른 측면에 따르면, 클라우드 환경을 구성하는 복수의 물리머신과, 상기 물리머신 내에 생성되며 클라우드 컴퓨팅 서비스를 제공하는 복수의 가상머신을 포함하는 클라우드 컴퓨팅 환경에서의 리소스관리를 위한 모니터링 방법으로서, 제1 모니터링부가, 상기 가상머신 전체에 대한 CPU 사용량 및 메모리 사용량을 포함하는 전체 컴퓨팅 리소스정보를 실시간으로 모니터링하는 단계; 제2 모니터링부가, 상기 가상머신 각각에 대한 실제 CPU 사용량 및 메모리 사용량을 포함하는 실제 컴퓨팅 리소스정보를 실시간으로 모니터링하는 단계; 및 이주 매니저부가, 상기 제1 모니터링부 및 제2 모니터링부로부터 획득된 모니터링 결과에 기초하여 상기 가상머신을 유형별로 분류하며, 분류된 가상머신 중 하나 이상을 상기 복수의 물리머신 중 어느 하나에 이주시키는 단계를 포함하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a monitoring method for resource management in a cloud computing environment including a plurality of physical machines constituting a cloud environment, and a plurality of virtual machines generated in the physical machine and providing cloud computing services. , a step of monitoring, by the first monitoring unit, total computing resource information including CPU usage and memory usage for the entire virtual machine in real time; monitoring, by a second monitoring unit, actual computing resource information including actual CPU usage and memory usage for each of the virtual machines in real time; and the migration manager unit classifies the virtual machines by type based on the monitoring results obtained from the first monitoring unit and the second monitoring unit, and migrates one or more of the classified virtual machines to any one of the plurality of physical machines. It is characterized in that it comprises the step of making.

또한, 상기 제1 모니터링부는, 상기 가상머신 전체에 대한 CPU, 메모리, 스토리지 및 네트워크에 대한 컴퓨팅 리소스정보를 모니터링하는 제1 모니터링 매니저; 상기 가상머신의 생성, 실행, 중지, 삭제 및 이동 중 적어도 하나를 포함하는 상태정보를 모니터링하는 제2 모니터링 매니저; 및 상기 가상머신의 컴퓨팅 리소스정보와 상태정보를 서비스 사용자에게 전송하는 유저 인터페이스부를 포함하는 것을 특징으로 한다.In addition, the first monitoring unit, a first monitoring manager for monitoring computing resource information on the CPU, memory, storage and network for the entire virtual machine; a second monitoring manager for monitoring status information including at least one of creation, execution, stop, deletion, and movement of the virtual machine; and a user interface unit for transmitting computing resource information and state information of the virtual machine to a service user.

또한, 상기 제1 모니터링부는 상기 가상머신의 가용성, 처리율, 응답시간 지표를 모니터링하는 제3 모니터링 매니저를 더 포함하며, 상기 지표들이 각각의 임계치에 도달하여 얼마 동안 머물러있는지에 대한 여부를 기준으로 상기 가상머신의 이주 수행여부를 결정하는 것을 특징으로 한다.In addition, the first monitoring unit further includes a third monitoring manager for monitoring the availability, throughput, and response time indicators of the virtual machine, based on whether the indicators reach each threshold and stay for how long. It is characterized in that it determines whether to perform migration of the virtual machine.

또한, 상기 이주 매니저부는, 상기 가상머신 각각에 대한 유형을 분류하는 유형분류부; 상기 유형분류부에 의해 분류된 가상머신의 유형에 기초하여 복수의 가상머신 중 이주를 실행할 타겟 가상머신을 결정하는 이주대상 결정부; 및 상기 이주대상 결정부에 의해 이주가 결정된 가상머신에 대해 이주를 수행하는 이주 수행부를 포함하는 것을 특징으로 한다.In addition, the migration manager unit, a type classification unit for classifying the types for each of the virtual machines; a migration target determination unit that determines a target virtual machine to be migrated among a plurality of virtual machines based on the type of the virtual machine classified by the type classification unit; and a migration execution unit for performing migration for the virtual machine whose migration is determined by the migration target determining unit.

또한, 상기 유형분류부는 상기 가상머신 각각에 대해 단위시간동안 실제 CPU 사용량 및 메모리 사용량을 추출하고, 상기 가상머신 전체에 대한 평균 CPU 사용량 및 메모리 사용량을 기반으로 정규화를 작업을 수행하며, 상기 가상머신 전체의 평균 CPU 사용량 및 메모리 사용량 에 대한 상기 가상머신 각각의 단위시간동안 실제 CPU 사용량 및 메모리 사용량의 비율을 통해 상기 가상머신을 CPU 또는 메모리 유형으로 분류하며, 상기 이주대상 결정부는 CPU 유형의 가상머신 또는 메모리 유형의 가상머신이 일정비율에 따라 물리머신 내에 존재하도록 하되, 일정비율을 초과하는 CPU 유형의 가상머신 또는 메모리 유형의 가상머신을 이주를 실행할 타겟 가상머신으로 결정하는 것을 특징으로 한다.In addition, the type classification unit extracts actual CPU usage and memory usage for a unit time for each of the virtual machines, and performs normalization based on the average CPU usage and memory usage for the entire virtual machine, and the virtual machine Classifies the virtual machine into CPU or memory type through the ratio of actual CPU usage and memory usage during each unit time of the virtual machine to the overall average CPU usage and memory usage, and the migration target determining unit is a CPU type virtual machine Alternatively, the memory-type virtual machine is made to exist in the physical machine according to a certain ratio, but it is characterized in that the CPU-type virtual machine or the memory-type virtual machine exceeding a certain ratio is determined as the target virtual machine to be migrated.

또한, 상기 유저 인터페이스부는 상기 가상머신의 컴퓨팅 리소스정보와 상태정보를 RSS(Really Simple Syndication) 문서의 포맷으로 사용자에게 전송하는 것을 특징으로 한다.In addition, the user interface unit is characterized in that it transmits the computing resource information and state information of the virtual machine to the user in the format of a Really Simple Syndication (RSS) document.

이상과 같이 본 발명에 따른 클라우드 컴퓨팅 환경에서의 리소스관리를 위한 모니터링 시스템 및 방법에 의하면, 클라우드 컴퓨팅 환경에서 리소스들의 상태를 모니터링 하여 과부하나 성능저하를 방지할 수 있으며 서비스의 중단없이 동적인 이주를 가능하도록 하는 효과가 있다.As described above, according to the monitoring system and method for resource management in a cloud computing environment according to the present invention, it is possible to prevent overload or performance degradation by monitoring the status of resources in the cloud computing environment, and to perform dynamic migration without service interruption. It has the effect of making it possible.

도 1은 본 발명에 따른 클라우드 컴퓨팅 환경에서의 리소스관리를 위한 모니터링 시스템의 개략적인 구성도이고,
도 2는 도 1의 제1 모니터링부의 개략적인 구성도이고,
도 3은 도 1의 이주 매니저부의 개략적인 구성도이며,
도 4는 본 발명에 따른 가상머신의 이주과정을 설명하기 위한 도면이다.
1 is a schematic configuration diagram of a monitoring system for resource management in a cloud computing environment according to the present invention;
Figure 2 is a schematic configuration diagram of the first monitoring unit of Figure 1,
3 is a schematic configuration diagram of the migration manager unit of FIG. 1;
4 is a diagram for explaining a migration process of a virtual machine according to the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다.Since the present invention can have various changes and can have various forms, specific embodiments are illustrated in the drawings and described in detail in the text.

그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.However, this is not intended to limit the present invention to the specific disclosed form, it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. Terms such as first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

본 출원에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in the present application is only used to describe specific embodiments, and is not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification is present, and includes one or more other features or It should be understood that the existence or addition of numbers, steps, operations, components, parts, or combinations thereof does not preclude the possibility of addition.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예들을 보다 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention will be described in more detail.

도 1은 본 발명에 따른 클라우드 컴퓨팅 환경에서의 리소스관리를 위한 모니터링 시스템의 개략적인 구성도이고, 도 2는 도 1의 제1 모니터링부의 개략적인 구성도이고, 도 3은 도 1의 이주 매니저부의 개략적인 구성도이며, 도 4는 본 발명에 따른 가상머신의 이주과정을 설명하기 위한 도면이다.1 is a schematic configuration diagram of a monitoring system for resource management in a cloud computing environment according to the present invention, FIG. 2 is a schematic configuration diagram of the first monitoring unit of FIG. 1, and FIG. 3 is a migration manager unit of FIG. It is a schematic configuration diagram, and FIG. 4 is a diagram for explaining the migration process of a virtual machine according to the present invention.

먼저, 도 1을 참조하면, 본 발명에 따른 클라우드 컴퓨팅 환경에서의 리소스관리를 위한 모니터링 시스템은 클라우드 컴퓨팅 시스템(100)을 구성하는 복수의 물리머신(PM1, PM2) 및 복수의 가상머신(VM1, VM2)과, 제1 모니터링부(200)와, 제2 모니터링부(300)와, 이주 매니저부(400)를 포함하여 구성될 수 있다.First, referring to FIG. 1 , a monitoring system for resource management in a cloud computing environment according to the present invention includes a plurality of physical machines (PM1, PM2) and a plurality of virtual machines (VM1, VM2), the first monitoring unit 200 , the second monitoring unit 300 , and the migration manager unit 400 .

복수의 물리머신(PM1, PM2)은 클라우드 환경을 구성하고, 복수의 가상머신(VM1, VM2)은 상기 물리머신(PM1, PM2) 내에 생성되며 클라우드 컴퓨팅 서비스를 사용자에게 제공한다.The plurality of physical machines PM1 and PM2 constitute a cloud environment, and the plurality of virtual machines VM1 and VM2 are created in the physical machines PM1 and PM2 and provide cloud computing services to users.

물리머신(PM1, PM2)은 CPU(또는 프로세서), 메모리, 스토리지 및 네트워크 등을 포함하는 실제 하드웨어를 탑재한 컴퓨팅 장치이다. 예를 들어, 물리머신(PM1, PM2)은 서버 컴퓨터(server computer), 워크스테이션(workstation), 데스크톱 컴퓨터(desktop computer) 및 노트북 컴퓨터(notebook computer) 등 일반적인 컴퓨팅 장치를 포함할 수 있다.The physical machines PM1 and PM2 are computing devices equipped with real hardware including a CPU (or processor), memory, storage, and network. For example, the physical machines PM1 and PM2 may include general computing devices such as server computers, workstations, desktop computers, and notebook computers.

가상머신(VM1, VM2)은 가상화된 CPU(또는 프로세서), 가상화된 메모리, 가상화된 스토리지 및 가상화된 네트워크 등을 포함하는 가상화된 컴퓨팅 장치이다. 가상머신(VM1, VM2)은 물리머신(PM1, PM2)에 포함되며, 가상화된 컴퓨팅 환경을 소프트웨어로 구현한 것이다. 그러므로, 가상머신(VM1, VM2)은 물리머신(PM1, PM2)의 리소스를 이용하여 운영 체제나 응용 프로그램을 설치하고 실행할 수 있다. 가상머신(VM1, VM2)은 가상머신(VM1, VM2)에 설치된 운영 체제를 이용하여 물리머신(PM1, PM2)의 리소스에 직접 접근하여 실행하거나, 물리머신(PM1, PM2)에 설치된 호스트 운영체제를 이용하여 리소스에 접근하여 실행할 수 있다The virtual machines VM1 and VM2 are virtualized computing devices including a virtualized CPU (or processor), virtualized memory, virtualized storage, and virtualized network. The virtual machines VM1 and VM2 are included in the physical machines PM1 and PM2, and a virtualized computing environment is implemented as software. Therefore, the virtual machines VM1 and VM2 may use the resources of the physical machines PM1 and PM2 to install and execute an operating system or an application program. Virtual machines (VM1, VM2) directly access and execute the resources of the physical machines (PM1, PM2) using the operating system installed on the virtual machines (VM1, VM2), or run the host operating system installed on the physical machines (PM1, PM2). can be used to access resources

물리머신(PM1, PM2) 및 가상머신(VM1, VM2)의 관계를 설명하면, 물리머신(PM1, PM2)은 하이퍼바이저(hypervisor)(도시안됨)를 이용하여 물리머신(PM1, PM2)에 포함된 하나 이상의 가상머신(VM1, VM2)을 관리할 수 있다. 하이퍼바이저는 물리머신(PM1, PM2)에서 복수 개의 가상머신(VM1, VM2)의 운영 체제를 동시에 실행하기 위한 논리적 플랫폼이다. 가상머신(VM1, VM2)은 이러한 하이퍼바이저를 이용하여 물리머신(PM1, PM2)의 하드웨어 장치(도시안됨)를 가상화하여 이용할 수 있다.When explaining the relationship between the physical machines (PM1, PM2) and the virtual machines (VM1, VM2), the physical machines (PM1, PM2) are included in the physical machines (PM1, PM2) using a hypervisor (not shown). One or more virtual machines (VM1, VM2) can be managed. The hypervisor is a logical platform for simultaneously executing the operating systems of a plurality of virtual machines (VM1, VM2) on the physical machines (PM1, PM2). The virtual machines VM1 and VM2 may use the hypervisor to virtualize and use hardware devices (not shown) of the physical machines PM1 and PM2.

제1 모니터링부(200)는 가상머신(VM1, VM2) 전체에 대한 CPU 사용량 및 메모리 사용량을 포함하는 전체 컴퓨팅 리소스정보를 실시간으로 모니터링하는 기능을 수행한다.The first monitoring unit 200 performs a function of monitoring the entire computing resource information including CPU usage and memory usage for the entire virtual machines VM1 and VM2 in real time.

제2 모니터링부(300)는 가상머신(VM1, VM2) 각각에 대한 실제 CPU 사용량 및 메모리 사용량을 포함하는 실제 컴퓨팅 리소스정보를 실시간으로 모니터링하는 기능을 수행한다.The second monitoring unit 300 performs a function of monitoring real computing resource information including actual CPU usage and memory usage for each of the virtual machines VM1 and VM2 in real time.

이와 관련하여, 본 발명에서는 [표 1]의 실험환경에서 가상머신의 리소스 집중 현상으로 인한 성능 저하를 확인하기 위해 3가지 실험을 수행하였다. 첫 번째는 가상머신 6개에 동일한 CPU 집약적 작업을 실행시켜 성능을 측정하며, 두 번째는 가상머신 6개에서 동일한 메모리 집약적 작업을 실행시켜 성능을 측정하였다. 마지막 세번째는 3개의 가상머신에서는 CPU 집약적 작업을 수행하고 다른 3개에는 메모리 집약적 작업을 수행하였다. 본 실험은 가상머신들이 사용하는 리소스가 CPU, 메모리에 집중된 환경과 두 가지 작업이 섞여 집중이 완화된 상태에서 가상머신의 성능을 측정하고 리소스 집중으로 인해 발생하는 가상머신의 성능 저하를 확인하는 것이 목적이다. 성능 평가를 위해 Sysbench를 사용하였으며, CPU 집약적 작업으로는 자연수에서 소수를 검출하는 작업을 사용하고 메모리 집약적 작업으로는 메모리 입출력 작업을 수행하는 작업을 사용하였다. 실험 결과는 [표 2]와 같다.In this regard, in the present invention, three experiments were performed to confirm the performance degradation due to the resource concentration phenomenon of the virtual machine in the experimental environment shown in [Table 1]. The first measure performance by executing the same CPU-intensive task on six virtual machines, and the second measure performance by executing the same memory-intensive task on six virtual machines. In the third, CPU-intensive tasks were performed on three virtual machines and memory-intensive tasks were performed on the other three virtual machines. This experiment is to measure the performance of virtual machines in an environment where the resources used by virtual machines are concentrated in CPU and memory, and in a state where the concentration is relaxed by mixing the two tasks, and to check the performance degradation of the virtual machine caused by the concentration of resources. purpose Sysbench was used for performance evaluation. For CPU-intensive tasks, the task of detecting prime numbers in natural numbers was used, and for memory-intensive tasks, the task of performing memory I/O tasks was used. The experimental results are shown in [Table 2].

분류 Classification 물리머신 physics machine 가상머신 virtual machine CPU CPU Intel i5 4570 3.4 Ghz Intel i5 4570 3.4 Ghz 2 VCPU 2 VCPUs 메모리 Memory 16 GB 16 GB 1GB 1 GB 스토리지 (HDD) Storage (HDD) 1 TB 1 TB 50 GB 50 GB

CPU 집약적
가상머신만 있는 경우
CPU intensive
If you only have a virtual machine
메모리 집약적 가상머신만 있는 경우If you have only memory-intensive virtual machines 가상머신 유형이 혼합된 경우Mixed virtual machine types




(초)
Number
line
city
liver
(second)
VM1 VM1 324.5031 324.5031 392.8933 392.8933 202.7013
(CPU 집약)
202.7013
(CPU intensive)
VM2 VM2 325.7753 325.7753 393.7775 393.7775 202.6237
(CPU 집약)
202.6237
(CPU intensive)
VM3 VM3 325.8942 325.8942 393.4798 393.4798 202.7391
(CPU 집약)
202.7391
(CPU intensive)
VM4 VM4 325.5934 325.5934 393.8911 393.8911 369.5391
(메모리 집약)
369.5391
(memory intensive)
VM5 VM5 325.2640 325.2640 394.3149 394.3149 368.5391
(메모리 집약)
368.5391
(memory intensive)
VM6 VM6 325.1203 325.1203 393.5632 339.5632 368.2444
(메모리 집약)
368.2444
(memory intensive)

[표 2]에서 알 수 있는 바와 같이, 가상머신들이 작업을 수행할 때 가상머신이 CPU나 메모리와 같은 특정 리소스에 집중된 경우, 리소스 사용을 위한 경쟁 상태가 심화되어 가상머신들의 성능이 저하되는 것을 확인할 수 있었다. 하지만, CPU, 메모리 집약적 작업을 수행하는 가상머신들이 섞여있을 때 리소스 집중 현상이 완화되어 가상머신에서 수행되는 작업의 성능이 향상된 것을 확인할 수 있었다. 실험 결과에서 보여주는 것과 같이, 가상머신들이 작업을 수행할 때 특정 리소스에 집중되면 가상머신의 성능 저하가 발생되며, 이를 완화하기 위해서는 가상머신의 리소스 사용량을 기반으로 리소스 집중 현상을 최소화 할 수 있도록 가상머신을 관리해야만 한다.As can be seen in [Table 2], when virtual machines perform tasks, if the virtual machine is concentrated on a specific resource such as CPU or memory, competition for resource use intensifies and the performance of virtual machines deteriorates. could check However, when virtual machines performing CPU- and memory-intensive tasks were mixed, resource concentration was alleviated, and it was confirmed that the performance of tasks performed in the virtual machine was improved. As shown in the experimental results, if virtual machines are focused on a specific resource when performing a task, the performance of the virtual machine will deteriorate. In order to alleviate this, virtual machines can be used to minimize resource concentration based on the resource usage of the virtual machine. You have to manage the machine.

참고로, 종래에는 가상머신의 유형을 미리 정의하거나, 사용자에게 입력받는 방식을 사용하거나 특정 유형의 가상머신만을 고려하기 때문에 리소스 사용량, 가상머신의 개수 및 가상머신에서 수행하는 작업 유형이 지속적으로 변하는 클라우드 환경에 적용하기에는 많은 제약이 따랐다.For reference, in the prior art, because the type of virtual machine is predefined, input from the user is used, or only a specific type of virtual machine is considered, resource usage, the number of virtual machines, and the type of work performed on the virtual machine are constantly changing. There are many restrictions to apply to the cloud environment.

따라서, 본 발명에서는 실험에서 보여준 것과 같이 가상머신 이주를 수행할 때 리소스 집중 현상을 최소화를 지원할 수 있도록 제2 모니터링부(300)에 의해 가상머신(VM1, VM2) 각각에 대한 실제 CPU 사용량 및 메모리 사용량을 포함하는 실제 컴퓨팅 리소스정보를 실시간으로 모니터링하고 있다. 이때, 전체 가상머신(VM1, VM2)에 할당된 CPU 또는 메모리의 전체크기는 추출할 수 있지만, 가상머신(VM1, VM2)이 할당받은 CPU 또는 메모리 중에 실제 사용 중인 CPU 또는 메모리 사용량 정보를 추출하는 것이 불가능하다. 따라서, 가상머신(VM1, VM2) 내부에 CPU 또는 메모리의 사용량을 추출하여 이주 매니저부(400)에 전송하기 위한 CPU 또는 메모리의 실제 사용량을 모니터링할 수 있는 별도의 사용량 모니터링 모듈(도시안됨)을 추가할 수 있다.Therefore, in the present invention, the actual CPU usage and memory for each of the virtual machines (VM1, VM2) by the second monitoring unit 300 to support the minimization of the resource concentration phenomenon when performing virtual machine migration as shown in the experiment. Actual computing resource information including usage is monitored in real time. At this time, the total size of the CPU or memory allocated to all virtual machines (VM1, VM2) can be extracted, but the CPU or memory usage information that is actually being used among the CPUs or memory allocated to the virtual machines (VM1, VM2) can be extracted. it is impossible Therefore, a separate usage monitoring module (not shown) that can monitor the actual usage of CPU or memory for extracting the usage of CPU or memory inside the virtual machines (VM1, VM2) and sending it to the migration manager unit 400 is provided. can be added

이주 매니저부(400)는 상기 제1 모니터링부(200) 및 제2 모니터링부(300)로부터 획득된 모니터링 결과에 기초하여 상기 가상머신(VM1, VM2)을 유형별로 분류하며, 분류된 가상머신(VM1, VM2)을 중 하나 이상을 상기 복수의 물리머신(PM1, PM2) 중 어느 하나에 이주시키는 기능을 수행한다.The migration manager unit 400 classifies the virtual machines VM1 and VM2 by type based on the monitoring results obtained from the first monitoring unit 200 and the second monitoring unit 300, and the classified virtual machines ( It performs a function of migrating one or more of VM1 and VM2 to any one of the plurality of physical machines PM1 and PM2.

도 2를 참조하면, 제1 모니터링부(200)는 제1 모니터링 매니저(210)와, 제2 모니터링 매니저(220)와, 제3 모니터링 매니저(230)와, 유저 인터페이스부(240)를 포함하여 구성된다.Referring to FIG. 2 , the first monitoring unit 200 includes a first monitoring manager 210 , a second monitoring manager 220 , a third monitoring manager 230 , and a user interface unit 240 . is composed

제1 모니터링 매니저(210)는 상기 가상머신(VM1, VM2) 전체에 대한 CPU, 메모리, 스토리지 및 네트워크에 대한 컴퓨팅 리소스정보를 모니터링하는 기능을 수행한다.The first monitoring manager 210 performs a function of monitoring computing resource information on the CPU, memory, storage, and network for the entire virtual machines VM1 and VM2.

제2 모니터링 매니저(220)는 상기 가상머신(VM1, VM2)의 생성, 실행, 중지, 삭제 및 이동 중 적어도 하나를 포함하는 상태정보를 모니터링하는 기능을 수행한다. The second monitoring manager 220 performs a function of monitoring status information including at least one of creation, execution, stopping, deletion, and movement of the virtual machines VM1 and VM2.

따라서, 제1 모니터링 매니저(210) 및 제2 모니터링 매니저(220)에 의해 모니터링된 결과를 통해, 사용자는 가상머신(VM1, VM2)의 컴퓨팅 리소스정보와 상태 변화를 포함하는 상태정보를 모두 파악할 수 있는 이점이 있다.Therefore, through the results monitored by the first monitoring manager 210 and the second monitoring manager 220, the user can grasp both the computing resource information of the virtual machines (VM1, VM2) and the state information including the state change. there is an advantage

제3 모니터링 매니저(230)는 상기 가상머신(VM1, VM2)의 가용성, 처리율, 응답시간 지표를 모니터링하는 기능을 수행한다.The third monitoring manager 230 performs a function of monitoring the availability, throughput, and response time indicators of the virtual machines VM1 and VM2.

여기서, 이주 매니저부(400)는 상기 가상머신(VM1, VM2)의 가용성, 처리율, 응답시간 지표들이 각각의 임계치에 도달하여 얼마 동안 머물러있는지에 대한 여부를 기준으로 상기 가상머신(VM1, VM2)의 이주 수행여부를 결정할 수 있다.Here, the migration manager unit 400 determines whether the availability, throughput, and response time indicators of the virtual machines (VM1, VM2) reach the respective thresholds and stay for how long, based on the virtual machines (VM1, VM2). can decide whether to carry out the migration of

구체적으로는, 제3 모니터링 매니저(230)는 가상머신(VM1, VM2)의 가용성, 처리율, 응답시간을 모니터링하면서 지표들의 값이 임계치에 근접하는지를 감시한다. 그리고, 상기 지표들의 값 중 한가지 지표라도 임계치에 도달하고, 그 지표가 일정 시간 이상 임계치에 머무르면 장애 발생 상황으로 간주하여 장애 정보를 관리서버(도시안됨)로 전달하여 복구를 수행한다.Specifically, the third monitoring manager 230 monitors whether the values of the indicators approach a threshold while monitoring the availability, throughput, and response time of the virtual machines VM1 and VM2. And, when even one of the values of the indicators reaches a threshold, and the indicator stays at the threshold for more than a certain time, it is regarded as a failure situation and the failure information is transmitted to the management server (not shown) to perform recovery.

예를 들어, 지표값들 중 한가지 지표라도 임계치에 도달하는지를 판단하고, 3가지 모두 임계치에 도달하지 않으면 계속해서 모니터링을 수행할 수 있다. 그리고, 상기 지표값들 중 1가지라도 임계치에 도달하면 그 지표가 일정 시간(임계시간) 이상 임계치에 머무르는지를 판단하고, 일정 시간(임계시간) 이상 머무르지 않으면 계속해서 모니터링을 수행할 수 있다. 그러나, 일정 시간 이상 임계치에 머무르면 장애 정보 메시지를 관리서버(도시안됨)로 전달하고 괸리서버에서는 가상머신(VM1, VM2)의 이주 수행을 결정할 수 있다.For example, it is determined whether any one of the index values reaches a threshold, and if all three do not reach the threshold, monitoring may be continued. And, when even one of the index values reaches a threshold, it is determined whether the index stays at the threshold for a predetermined time (threshold time) or longer, and if it does not stay for a predetermined time (threshold time), monitoring can be continued. However, if it stays at the threshold for more than a certain time, a failure information message is delivered to the management server (not shown), and the management server can decide to perform migration of virtual machines (VM1, VM2).

상기에서 임계치는 3가지 지표들에 대한 각각의 평균값을 의미하고, 임계시간은 임계치에 도달하여 최대로 머물 수 있는 시간을 의미한다. 상기 임계치와 임계시간은 사용자와의 서비스수준협약에 따라 기준값이 정해질 수 있다.In the above, the threshold means an average value of each of the three indicators, and the threshold time means the maximum time that the threshold can be reached after reaching the threshold. The threshold value and the threshold time may be set as reference values according to a service level agreement with the user.

위에서 최종적인 이주를 수행하기 전에, 이주할 대상이 되는 가상머신(VM1, VM2)의 LCPU(Local CPU)와 해당 가상머신(VM1, VM2)의 ACPU(Automatic CPU)를 비교하여, 해당 가상머신(VM1, VM2)의 ACPU가 LCPU보다 더 작을 경우에만 이주를 수행하도록 할 수 있다.Before performing the final migration above, compare the LCPU (Local CPU) of the virtual machines (VM1, VM2) to be migrated with the ACPU (Automatic CPU) of the corresponding virtual machines (VM1, VM2) and compare the corresponding virtual machine ( Migration can be performed only when the ACPU of VM1, VM2) is smaller than the LCPU.

여기서, ACPU는 해당 가상머신(VM1, VM2)의 남아있는 CPU 리소스를 의미하고, LCPU는 사용자가 요구한 CPU 리소스를 의미한다.Here, ACPU means the remaining CPU resources of the corresponding virtual machines (VM1, VM2), and LCPU means the CPU resources requested by the user.

유저 인터페이스부(240)는 상기 가상머신(VM1, VM2)의 컴퓨팅 리소스정보와 상태정보 및 지표들을 서비스 사용자에게 전송하는 유저 인터페이스부를 포함하는 것을 특징으로 한다.The user interface unit 240 is characterized in that it includes a user interface unit for transmitting the computing resource information, state information, and indicators of the virtual machines (VM1, VM2) to the service user.

바람직하게, 상기 유저 인터페이스부(240)는 상기 가상머신(VM1, VM2)의 컴퓨팅 리소스정보와 상태정보 등을 포함하는 모니터링 결과를 RSS(Really Simple Syndication) 문서의 포맷으로 사용자에게 전송할 수 있다.Preferably, the user interface unit 240 may transmit a monitoring result including computing resource information and state information of the virtual machines VM1 and VM2 to the user in the format of a Really Simple Syndication (RSS) document.

일반적으로, 모니터링 결과를 사용자에게 전송하는 과정에서 개인정보가 유출될 위험성이 있다. 따라서, 본 발명에서는 모니터링 정보를 보안이 강화된 RSS 문서의 형태로 사용자에게 전송한다. RSS 문서에는 제1 모니터링부(200)가 취합한 모니터링 정보 이외에도 데이터 전송률, 서비스 시간과 사용하고 있는 애플리케이션 정보 등이 추가로 포함될 수 있다. 또한 사용자 아이디를 포함한 사용자 정보와 히스토리 정보를 포함할 수도 있다. 사용자에게는 RSS 리더를 통해 보여지게 된다.In general, there is a risk of personal information being leaked in the process of transmitting the monitoring result to the user. Therefore, in the present invention, monitoring information is transmitted to the user in the form of a security-enhanced RSS document. In addition to the monitoring information collected by the first monitoring unit 200, the RSS document may additionally include data transmission rate, service time, and application information being used. In addition, user information including user ID and history information may be included. It is displayed to the user through an RSS reader.

도 3을 참조하면, 이주 매니저부(400)는 유형분류부(410)와, 이주대상 결정부(420)와, 이주 수행부(430)를 포함하여 구성된다.Referring to FIG. 3 , the migration manager unit 400 includes a type classification unit 410 , a migration target determining unit 420 , and a migration execution unit 430 .

유형분류부(410)는 상기 가상머신(VM1, VM2) 각각에 대한 유형을 분류하는 기능을 수행한다.The type classification unit 410 performs a function of classifying the types of each of the virtual machines VM1 and VM2.

이주대상 결정부(420)는 상기 유형분류부(410)에 의해 분류된 가상머신(VM1, VM2)의 유형에 기초하여 복수의 가상머신(VM1, VM2) 중 이주를 실행할 타겟 가상머신을 결정하는 기능을 수행한다.The migration target determining unit 420 determines a target virtual machine to be migrated among a plurality of virtual machines (VM1, VM2) based on the types of the virtual machines (VM1, VM2) classified by the type classification unit 410 . perform the function

이주 수행부(430)는 상기 이주대상 결정부(420)에 의해 이주가 결정된 가상머신에 대해 이주를 수행하는 기능을 수행한다.The migration performing unit 430 performs a function of performing migration for the virtual machine whose migration is determined by the migration target determining unit 420 .

상기 유형분류부(410)는 상기 가상머신(VM1, VM2) 각각에 대해 단위시간동안 실제 CPU 사용량 및 메모리 사용량을 추출하고, 상기 가상머신(VM1, VM2) 전체에 대한 평균 CPU 사용량 및 메모리 사용량을 기반으로 정규화를 작업을 수행한다.The type classification unit 410 extracts the actual CPU usage and memory usage for a unit time for each of the virtual machines (VM1, VM2), and calculates the average CPU usage and memory usage for the entire virtual machine (VM1, VM2). Based on the normalization, the operation is performed.

또한, 상기 유형분류부(410)는 상기 가상머신(VM1, VM2) 전체의 평균 CPU 사용량 및 메모리 사용량에 대한 상기 가상머신(VM1, VM2) 각각의 단위시간동안 실제 CPU 사용량 및 메모리 사용량의 비율을 통해 상기 가상머신(VM1, VM2)을 CPU 또는 메모리 유형으로 분류한다.In addition, the type classification unit 410 is a ratio of the actual CPU usage and memory usage during each unit time of the virtual machines (VM1, VM2) to the average CPU usage and memory usage of the entire virtual machines (VM1, VM2). classifies the virtual machines (VM1, VM2) by CPU or memory type.

참고로, 가상머신의 유형 분류를 위한 작업은 밀리초 단위의 아주 적은 시간동안 실행되기 때문에 전체 시스템에 무시할 수 있을 정도의 오버헤드만 발생시키며, 동시에 실행되는 가상머신의 개수가 증가함에 따라 유형 분류에 대한 대상이 증가해도 유형분류를 위한 작업 시간이 크게 발생하지 않는다.For reference, since the task for classifying the virtual machine type is executed for a very small amount of time in milliseconds, it incurs negligible overhead to the entire system, and as the number of concurrently executed virtual machines increases, the type classification Even if the number of subjects for classification increases, the work time for classification does not occur significantly.

다음에, 상기 이주대상 결정부(420)는 CPU 유형의 가상머신 또는 메모리 유형의 가상머신이 일정비율에 따라 물리머신(PM1, PM2) 내에 존재하도록 하되, 일정비율을 초과하는 CPU 유형의 가상머신 또는 메모리 유형의 가상머신을 이주를 실행할 타겟 가상머신으로 결정할 수 있다.Next, the migration target determining unit 420 causes the virtual machine of the CPU type or the virtual machine of the memory type to exist in the physical machines PM1 and PM2 according to a predetermined ratio, but exceeding a predetermined ratio of the CPU type virtual machine Alternatively, you can determine the virtual machine of type memory as the target virtual machine to execute the migration.

바람직하게는, 상기 이주대상 결정부(420)는 CPU 유형의 가상머신 또는 메모리 유형의 가상머신이 1 : 1의 비율에 따라 물리머신(PM1, PM2) 내에 존재하도록 할 수 있다.Preferably, the migration target determining unit 420 may allow the CPU type virtual machine or the memory type virtual machine to exist in the physical machines PM1 and PM2 according to a 1:1 ratio.

만약 물리머신(PM1, PM2) 내에 CPU 유형의 가상머신 또는 메모리 유형의 가상머신이 1 : 2의 비율에 따라 존재하는 경우, 일정비율을 초과하는 메모리 유형의 가상머신들을 이주를 실행할 타겟 가상머신으로 결정할 수 있다.If CPU-type virtual machines or memory-type virtual machines exist in the physical machines (PM1, PM2) according to a ratio of 1: 2, the virtual machines of memory type exceeding a certain ratio are used as target virtual machines to be migrated. can decide

한편, 도 4를 참조하여 본 발명에 따른 가상머신의 이주과정(가상머신을 현재 탑재된 물리서버에서 다른 물리서버로 이주시켜 배치함)을 설명하면 다음과 같다.Meanwhile, the migration process of the virtual machine (the virtual machine is migrated from the currently loaded physical server to another physical server and disposed) according to the present invention will be described with reference to FIG. 4 .

본 발명에서는 쉐도우 저장소(500)라고 불리는 물리적인 메모리 공간을 이용하여 가상머신의 페이지를 전송하는 이주기법을 사용하고 있으며, 따라서 서비스 중이던 가상머신에서 이주를 수행해야 하는 경우, 변경된 페이지 정보들을 쉐도우 저장소에 일시 저장했다가 새로 할당된 공간에 이주시킴으로써 서비스에 장애가 생기지 않도록 할 수 있다.In the present invention, a migration method for transferring a virtual machine page using a physical memory space called the shadow storage 500 is used. Therefore, when migration is to be performed from the virtual machine being serviced, the changed page information is stored in the shadow storage. It is possible to prevent service failure by temporarily saving it to the newly allocated space and migrating it to the newly allocated space.

예를 들면, 물리머신(PM1)의 가상머신(VM1)이 물리머신(PM2)으로 이주를 실행할 메모리 유형의 타겟 가상머신으로 결정되었다고 가정하면, 가상머신(VM1)에 대한 메모리 페이지의 변동사항을 쉐도우 저장소(500)에 일시 저장하고(1), 저장된 내용을 물리머신(PM2)에 전달하는 것을 반복하며(2), 다음에 물리머신(PM1)에서 실행되는 가상머신(VM1)을 중지시킨 후 가상머신(VM1)에 대한 페이지의 변동사항을 쉐도우 저장소(500)에 저장하지 않고 나머지 페이지를 전송한다(3).For example, assuming that the virtual machine (VM1) of the physical machine (PM1) is determined as the target virtual machine of the type of memory to be migrated to the physical machine (PM2), change the memory page for the virtual machine (VM1) Temporarily store in the shadow storage 500 (1), repeat the transfer of the stored contents to the physical machine (PM2) (2), and then stop the virtual machine (VM1) running on the physical machine (PM1) Changes in the page for the virtual machine (VM1) are not stored in the shadow storage 500 and the remaining pages are transmitted (3).

본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Those of ordinary skill in the art to which the present invention pertains will understand that the present invention may be embodied in other specific forms without changing the technical spirit or essential features thereof. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The scope of the present invention is indicated by the claims described below rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts are included in the scope of the present invention. should be interpreted

100 : 클라우드 컴퓨팅 시스템
PM1, PM2 : 물리머신
VM1, VM2 : 가상머신
200 : 제1 모니터링부
210 : 제1 모니터링 매니저
220 : 제2 모니터링 매니저
230 : 제3 모니터링 매니저
240 : 유저 인터페이스부
300 : 제2 모니터링부
400 : 이주 매니저부
410 : 유형분류부
420 : 이주대상 결정부
430 : 이주 수행부
100: cloud computing system
PM1, PM2 : Physical machine
VM1, VM2: virtual machine
200: first monitoring unit
210: first monitoring manager
220: second monitoring manager
230: third monitoring manager
240: user interface unit
300: second monitoring unit
400: migration manager unit
410: type classification part
420: Relocation target decision unit
430: migration entourage

Claims (12)

클라우드 환경을 구성하는 복수의 물리머신;
상기 물리머신 내에 생성되며 클라우드 컴퓨팅 서비스를 제공하는 복수의 가상머신;
가상머신 전체에 대한 CPU 사용량 및 메모리 사용량을 포함하는 전체 컴퓨팅 리소스정보를 실시간으로 모니터링하는 제1 모니터링부;
상기 가상머신 각각에 대한 실제 CPU 사용량 및 메모리 사용량을 포함하는 실제 컴퓨팅 리소스정보를 실시간으로 모니터링하는 제2 모니터링부; 및
상기 제1 모니터링부 및 제2 모니터링부로부터 획득된 모니터링 결과에 기초하여 상기 가상머신을 유형별로 분류하며, 분류된 가상머신 중 하나 이상을 상기 복수의 물리머신 중 어느 하나에 이주시키는 이주 매니저부를 포함하고,
상기 제1 모니터링부는,
상기 가상머신 전체에 대한 CPU, 메모리, 스토리지 및 네트워크에 대한 컴퓨팅 리소스정보를 모니터링하는 제1 모니터링 매니저;
상기 가상머신의 생성, 실행, 중지, 삭제 및 이동 중 적어도 하나를 포함하는 상태정보를 모니터링하는 제2 모니터링 매니저; 및
상기 가상머신의 컴퓨팅 리소스정보와 상태정보를 서비스 사용자에게 전송하는 유저 인터페이스부를 포함하고,
상기 제1 모니터링부는 상기 가상머신의 가용성, 처리율, 응답시간 지표를 모니터링하는 제3 모니터링 매니저를 더 포함하며,
상기 지표들이 각각의 임계치에 도달하여 얼마 동안 머물러있는지에 대한 여부를 기준으로 상기 가상머신의 이주 수행여부를 결정하고,
상기 이주 매니저부는,
상기 가상머신 각각에 대한 유형을 분류하는 유형분류부;
상기 유형분류부에 의해 분류된 가상머신의 유형에 기초하여 복수의 가상머신 중 이주를 실행할 타겟 가상머신을 결정하는 이주대상 결정부; 및
상기 이주대상 결정부에 의해 이주가 결정된 가상머신에 대해 이주를 수행하는 이주 수행부를 포함하며,
상기 유형분류부는 상기 가상머신 각각에 대해 단위시간동안 실제 CPU 사용량 및 메모리 사용량을 추출하고, 상기 가상머신 전체에 대한 평균 CPU 사용량 및 메모리 사용량을 기반으로 정규화를 작업을 수행하며, 상기 가상머신 전체의 평균 CPU 사용량 및 메모리 사용량 에 대한 상기 가상머신 각각의 단위시간동안 실제 CPU 사용량 및 메모리 사용량의 비율을 통해 상기 가상머신을 CPU 또는 메모리 유형으로 분류하며,
상기 이주대상 결정부는 CPU 유형의 가상머신 또는 메모리 유형의 가상머신이 일정비율에 따라 물리머신 내에 존재하도록 하되, 일정비율을 초과하는 CPU 유형의 가상머신 또는 메모리 유형의 가상머신을 이주를 실행할 타겟 가상머신으로 결정하는 것을 특징으로 하는 클라우드 컴퓨팅 환경에서의 리소스관리를 위한 모니터링 시스템.
a plurality of physical machines constituting a cloud environment;
a plurality of virtual machines created in the physical machine and providing cloud computing services;
A first monitoring unit for monitoring the entire computing resource information including CPU usage and memory usage for the entire virtual machine in real time;
a second monitoring unit for monitoring real computing resource information including actual CPU usage and memory usage for each of the virtual machines in real time; and
A migration manager unit for classifying the virtual machines by type based on the monitoring results obtained from the first monitoring unit and the second monitoring unit and migrating one or more of the classified virtual machines to any one of the plurality of physical machines; and,
The first monitoring unit,
a first monitoring manager for monitoring computing resource information on CPU, memory, storage and network for the entire virtual machine;
a second monitoring manager for monitoring status information including at least one of creation, execution, stop, deletion, and movement of the virtual machine; and
Comprising a user interface unit for transmitting the computing resource information and state information of the virtual machine to a service user,
The first monitoring unit further comprises a third monitoring manager for monitoring the availability, throughput, and response time indicators of the virtual machine,
Determining whether to perform migration of the virtual machine based on whether the indicators reach each threshold and stay for how long,
The migration manager unit,
a type classification unit for classifying a type for each of the virtual machines;
a migration target determination unit that determines a target virtual machine to be migrated among a plurality of virtual machines based on the type of the virtual machine classified by the type classification unit; and
and a migration execution unit that performs migration for the virtual machine whose migration is determined by the migration target determining unit,
The type classification unit extracts actual CPU usage and memory usage for a unit time for each of the virtual machines, and performs normalization based on the average CPU usage and memory usage for the entire virtual machine, Classifying the virtual machine into CPU or memory type through the ratio of actual CPU usage and memory usage during each unit time of the virtual machine to the average CPU usage and memory usage,
The migration target determining unit causes the virtual machine of the CPU type or the virtual machine of the memory type to exist in the physical machine according to a predetermined ratio, but the target virtual machine to which the virtual machine of the CPU type or the virtual machine of the memory type exceeding the predetermined ratio is executed A monitoring system for resource management in a cloud computing environment, characterized in that it is determined by a machine.
삭제delete 삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 유저 인터페이스부는 상기 가상머신의 컴퓨팅 리소스정보와 상태정보를 RSS(Really Simple Syndication) 문서의 포맷으로 사용자에게 전송하는 것을 특징으로 하는 클라우드 컴퓨팅 환경에서의 리소스관리를 위한 모니터링 시스템.
According to claim 1,
The user interface unit is a monitoring system for resource management in a cloud computing environment, characterized in that for transmitting the computing resource information and state information of the virtual machine to the user in the format of a RSS (Really Simple Syndication) document.
클라우드 환경을 구성하는 복수의 물리머신과, 상기 물리머신 내에 생성되며 클라우드 컴퓨팅 서비스를 제공하는 복수의 가상머신을 포함하는 클라우드 컴퓨팅 환경에서의 리소스관리를 위한 모니터링 방법으로서,
제1 모니터링부가, 가상머신 전체에 대한 CPU 사용량 및 메모리 사용량을 포함하는 전체 컴퓨팅 리소스정보를 실시간으로 모니터링하는 단계;
제2 모니터링부가, 상기 가상머신 각각에 대한 실제 CPU 사용량 및 메모리 사용량을 포함하는 실제 컴퓨팅 리소스정보를 실시간으로 모니터링하는 단계; 및
이주 매니저부가, 상기 제1 모니터링부 및 제2 모니터링부로부터 획득된 모니터링 결과에 기초하여 상기 가상머신을 유형별로 분류하며, 분류된 가상머신 중 하나 이상을 상기 복수의 물리머신 중 어느 하나에 이주시키는 단계를 포함하고,
상기 제1 모니터링부는,
상기 가상머신 전체에 대한 CPU, 메모리, 스토리지 및 네트워크에 대한 컴퓨팅 리소스정보를 모니터링하는 제1 모니터링 매니저;
상기 가상머신의 생성, 실행, 중지, 삭제 및 이동 중 적어도 하나를 포함하는 상태정보를 모니터링하는 제2 모니터링 매니저; 및
상기 가상머신의 컴퓨팅 리소스정보와 상태정보를 서비스 사용자에게 전송하는 유저 인터페이스부를 포함하고,
상기 제1 모니터링부는 상기 가상머신의 가용성, 처리율, 응답시간 지표를 모니터링하는 제3 모니터링 매니저를 더 포함하며,
상기 지표들이 각각의 임계치에 도달하여 얼마 동안 머물러있는지에 대한 여부를 기준으로 상기 가상머신의 이주 수행여부를 결정하고,
상기 이주 매니저부는,
상기 가상머신 각각에 대한 유형을 분류하는 유형분류부;
상기 유형분류부에 의해 분류된 가상머신의 유형에 기초하여 복수의 가상머신 중 이주를 실행할 타겟 가상머신을 결정하는 이주대상 결정부; 및
상기 이주대상 결정부에 의해 이주가 결정된 가상머신에 대해 이주를 수행하는 이주 수행부를 포함하고,
상기 유형분류부는 상기 가상머신 각각에 대해 단위시간동안 실제 CPU 사용량 및 메모리 사용량을 추출하고, 상기 가상머신 전체에 대한 평균 CPU 사용량 및 메모리 사용량을 기반으로 정규화를 작업을 수행하며, 상기 가상머신 전체의 평균 CPU 사용량 및 메모리 사용량 에 대한 상기 가상머신 각각의 단위시간동안 실제 CPU 사용량 및 메모리 사용량의 비율을 통해 상기 가상머신을 CPU 또는 메모리 유형으로 분류하며,
상기 이주대상 결정부는 CPU 유형의 가상머신 또는 메모리 유형의 가상머신이 일정비율에 따라 물리머신 내에 존재하도록 하되, 일정비율을 초과하는 CPU 유형의 가상머신 또는 메모리 유형의 가상머신을 이주를 실행할 타겟 가상머신으로 결정하는 것을 특징으로 하는 클라우드 컴퓨팅 환경에서의 리소스관리를 위한 모니터링 방법.
A monitoring method for resource management in a cloud computing environment comprising a plurality of physical machines constituting a cloud environment, and a plurality of virtual machines generated in the physical machine and providing cloud computing services,
Monitoring, by the first monitoring unit, the entire computing resource information including CPU usage and memory usage for the entire virtual machine in real time;
monitoring, by a second monitoring unit, actual computing resource information including actual CPU usage and memory usage for each of the virtual machines in real time; and
The migration manager unit classifies the virtual machines by type based on the monitoring results obtained from the first monitoring unit and the second monitoring unit, and migrates one or more of the classified virtual machines to any one of the plurality of physical machines. comprising steps,
The first monitoring unit,
a first monitoring manager for monitoring computing resource information on CPU, memory, storage and network for the entire virtual machine;
a second monitoring manager for monitoring status information including at least one of creation, execution, stop, deletion, and movement of the virtual machine; and
Comprising a user interface unit for transmitting the computing resource information and state information of the virtual machine to a service user,
The first monitoring unit further comprises a third monitoring manager for monitoring the availability, throughput, and response time indicators of the virtual machine,
Determining whether to perform migration of the virtual machine based on whether the indicators reach each threshold and stay for how long,
The migration manager unit,
a type classification unit for classifying a type for each of the virtual machines;
a migration target determination unit that determines a target virtual machine to be migrated among a plurality of virtual machines based on the type of the virtual machine classified by the type classification unit; and
and a migration execution unit performing migration for the virtual machine whose migration is determined by the migration target determining unit,
The type classification unit extracts actual CPU usage and memory usage for a unit time for each of the virtual machines, and performs normalization based on the average CPU usage and memory usage for the entire virtual machine, Classifying the virtual machine into CPU or memory type through the ratio of actual CPU usage and memory usage during each unit time of the virtual machine to the average CPU usage and memory usage,
The migration target determining unit causes the virtual machine of the CPU type or the virtual machine of the memory type to exist in the physical machine according to a predetermined ratio, but the target virtual machine to which the virtual machine of the CPU type or the virtual machine of the memory type exceeding the predetermined ratio is executed A monitoring method for resource management in a cloud computing environment, characterized in that it is determined by a machine.
삭제delete 삭제delete 삭제delete 삭제delete 제7항에 있어서,
상기 유저 인터페이스부는 상기 가상머신의 컴퓨팅 리소스정보와 상태정보를 RSS(Really Simple Syndication) 문서의 포맷으로 사용자에게 전송하는 것을 특징으로 하는 클라우드 컴퓨팅 환경에서의 리소스관리를 위한 모니터링 방법.
8. The method of claim 7,
The user interface unit is a monitoring method for resource management in a cloud computing environment, characterized in that for transmitting the computing resource information and state information of the virtual machine to the user in the format of a RSS (Really Simple Syndication) document.
KR1020200188846A 2020-12-31 2020-12-31 Monitoring system and method for resource manegement in cloud computing KR102262645B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200188846A KR102262645B1 (en) 2020-12-31 2020-12-31 Monitoring system and method for resource manegement in cloud computing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200188846A KR102262645B1 (en) 2020-12-31 2020-12-31 Monitoring system and method for resource manegement in cloud computing

Publications (1)

Publication Number Publication Date
KR102262645B1 true KR102262645B1 (en) 2021-06-09

Family

ID=76415103

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200188846A KR102262645B1 (en) 2020-12-31 2020-12-31 Monitoring system and method for resource manegement in cloud computing

Country Status (1)

Country Link
KR (1) KR102262645B1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060122337A (en) * 2005-05-26 2006-11-30 에스케이 텔레콤주식회사 Method and apparatus for providing rss documents and system including the apparatus
KR101578177B1 (en) * 2014-09-12 2015-12-16 성균관대학교산학협력단 Method and system for migration based on resource utilization rate in cloud computing
KR20160070636A (en) * 2014-12-10 2016-06-20 경희대학교 산학협력단 Device for controlling migration in a distributed cloud environment and method for controlling migration using the same
KR20170014804A (en) * 2015-07-31 2017-02-08 주식회사 케이티 Virtual machine provisioning system and method for cloud service
KR101814560B1 (en) 2013-12-06 2018-01-04 후아웨이 테크놀러지 컴퍼니 리미티드 Virtual machine migration management method, apparatus, and system
JP2019057236A (en) * 2017-09-22 2019-04-11 富士通株式会社 Information providing program, information providing device, and information providing method
KR20200077391A (en) * 2018-12-20 2020-06-30 경희대학교 산학협력단 Electronic device for performing migration for virtual machine in cloud environment and operation method thereof

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060122337A (en) * 2005-05-26 2006-11-30 에스케이 텔레콤주식회사 Method and apparatus for providing rss documents and system including the apparatus
KR101814560B1 (en) 2013-12-06 2018-01-04 후아웨이 테크놀러지 컴퍼니 리미티드 Virtual machine migration management method, apparatus, and system
KR101578177B1 (en) * 2014-09-12 2015-12-16 성균관대학교산학협력단 Method and system for migration based on resource utilization rate in cloud computing
KR20160070636A (en) * 2014-12-10 2016-06-20 경희대학교 산학협력단 Device for controlling migration in a distributed cloud environment and method for controlling migration using the same
KR20170014804A (en) * 2015-07-31 2017-02-08 주식회사 케이티 Virtual machine provisioning system and method for cloud service
JP2019057236A (en) * 2017-09-22 2019-04-11 富士通株式会社 Information providing program, information providing device, and information providing method
KR20200077391A (en) * 2018-12-20 2020-06-30 경희대학교 산학협력단 Electronic device for performing migration for virtual machine in cloud environment and operation method thereof

Similar Documents

Publication Publication Date Title
US9886300B2 (en) Information processing system, managing device, and computer readable medium
US8099522B2 (en) Arrangements for I/O control in a virtualized system
US9413683B2 (en) Managing resources in a distributed system using dynamic clusters
US8041877B2 (en) Distributed computing utilizing virtual memory having a shared paging space
US20180300116A1 (en) Method for Automatic Application Deployment and Cloud Management Node
US8271764B2 (en) Storing and retrieving blocks of data having different dimensions in/from block storage devices
US8312201B2 (en) Managing memory allocations loans
JP4920391B2 (en) Computer system management method, management server, computer system and program
EP2717158A1 (en) Method and device for integrating virtualized cluster, and virtualized cluster system
EP2881860B1 (en) Method for implementing an interrupt between virtual processors, related device, and system
WO2005041038A1 (en) Information system, load control method, load control program, and recording medium
US9697031B2 (en) Method for implementing inter-virtual processor interrupt by writing register data in a single write operation to a virtual register
CN103229149A (en) Managing compressed memory using tiered interrupts
EP3000024B1 (en) Dynamically provisioning storage
US20130036417A1 (en) Virtual Resource Management Method, System, and Apparatus
Zhang et al. Cool cloud: A practical dynamic virtual machine placement framework for energy aware data centers
US20090307460A1 (en) Data Sharing Utilizing Virtual Memory
US9317340B2 (en) Intelligent virtual machine (VM) re-location
JP2015513732A (en) Method and apparatus for coordinating I / O channels on a virtual platform
US8893160B2 (en) Block storage interface for virtual memory
Versick et al. Reducing energy consumption by load aggregation with an optimized dynamic live migration of virtual machines
Thakur et al. Server consolidation algorithms for cloud computing environment: A review
KR102262645B1 (en) Monitoring system and method for resource manegement in cloud computing
US9836342B1 (en) Application alerting system and method for a computing infrastructure
Dhule et al. POF-SVLM: pareto optimized framework for seamless VM live migration

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant