KR20170014804A - Virtual machine provisioning system and method for cloud service - Google Patents

Virtual machine provisioning system and method for cloud service Download PDF

Info

Publication number
KR20170014804A
KR20170014804A KR1020150108707A KR20150108707A KR20170014804A KR 20170014804 A KR20170014804 A KR 20170014804A KR 1020150108707 A KR1020150108707 A KR 1020150108707A KR 20150108707 A KR20150108707 A KR 20150108707A KR 20170014804 A KR20170014804 A KR 20170014804A
Authority
KR
South Korea
Prior art keywords
physical machine
virtual machine
resource
rate information
machine
Prior art date
Application number
KR1020150108707A
Other languages
Korean (ko)
Other versions
KR102389334B1 (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 KR1020150108707A priority Critical patent/KR102389334B1/en
Publication of KR20170014804A publication Critical patent/KR20170014804A/en
Application granted granted Critical
Publication of KR102389334B1 publication Critical patent/KR102389334B1/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • 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

Abstract

Disclosed is a technique for a virtual machine provisioning system and method for a cloud service. According to the present invention, a virtual machine provisioning system for a cloud service includes an occupation rate information collection unit, a usage rate information collection unit, a physical machine selection unit; and a virtual machine arrangement unit. The occupation rate information collection unit collects resource occupation rate information of virtual machine previously arranged in physical machine constituting a cloud server. The usage rate information collection unit collects resource utilization rate information of the previously disposed virtual machines. The physical machine selection unit selects physical machine in which a virtual machine requested to be created by a user is placed using the resource occupation rate information and the resource utilization rate information. The virtual machine arrangement unit allocates resources of the physical machine selected by the physical machine selection unit, and generates and arranges the virtual machines requested to be created in the selected physical machine. The efficiency in the use of the resource is improved by minimizing the resource. The efficiency of the resource utilization is improved by minimizing the resource fragmentation of the physical machine, and the service construction cost can be saved. Accordingly, the overload of the physical machine is prevented, thereby ensuring the service quality of the cloud service.

Description

클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법{Virtual machine provisioning system and method for cloud service}Technical Field [0001] The present invention relates to a virtual machine provisioning system and method for a cloud service,

본 발명은 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법에 관한 것으로서, 더욱 상세하게는, 물리 머신의 리소스 단편화를 최소화하여 리소스 이용의 효율성을 개선함은 물론, 물리 머신의 과부하를 방지하여 클라우드 서비스의 서비스 품질을 보장하는 가상 머신 프로비저닝 시스템 및 방법에 관한 것이다.The present invention relates to a virtual machine provisioning system and method for a cloud service, and more particularly, it relates to a virtual machine provisioning system and method for minimizing resource fragmentation of a physical machine to improve resource utilization efficiency, And more particularly, to a virtual machine provisioning system and method for ensuring quality of service.

일반적으로, 클라우드 서비스(cloud service)는, 인터넷 기반의 컴퓨팅 서비스로서, 서비스 사용자로 하여금 각종 콘텐츠와 프로그램 등을 사용자의 개인용 PC나 모바일 단말 등이 아닌 인터넷을 통해 접속되는 서비스 제공자 서버에 저장하여 사용하도록 하는 서비스를 말한다.In general, a cloud service is an Internet-based computing service that allows a service user to store various contents and programs in a service provider server connected via the Internet rather than a personal PC or mobile terminal of the user, .

이러한 클라우드 서비스에서는, 서비스 사용자들의 요청에 따라 실제 서버에 해당하는 물리 머신(physical machine)의 한정된 리소스들을 할당하여 복수의 가상 머신(virtual machine)을 생성하고, 이러한 가상 머신들을 각각 사용자들에게 제공하는 가상 머신의 프로비저닝(provisioning)이 수행된다. 따라서, 서비스 제공자는 가상 머신 프로비저닝 시에 물리 머신의 리소스들을 효율적으로 할당하고 관리하여야만 모든 서비스 사용자들에 대하여 클라우드 서비스의 SLA(Service Level Agreement)와 QoS(Quality of Service) 등을 보장할 수 있다.In such a cloud service, a plurality of virtual machines are created by allocating limited resources of a physical machine corresponding to a real server at the request of service users, and these virtual machines are provided to users respectively Provisioning of the virtual machine is performed. Accordingly, the service provider can efficiently allocate and manage the resources of the physical machine at the time of provisioning of the virtual machine, so that SLA (Service Level Agreement) and QoS (Quality of Service) of the cloud service can be ensured for all service users.

그러나, 한국 공개특허공보 제10-2012-0053850호 등에 개시된 바와 같이, 기존 기술들은, 물리 머신에 이미 배치된 가상 머신들의 리소스 점유율을 고려하지 않고 신규 가상 머신을 배치하기 때문에, 가상 머신들의 배치 및 제거 과정이 반복됨에 따라 리소스의 단편화(fragmentation)를 심화시키고, 리소스 이용의 비효율을 초래하는 문제가 있다.However, as disclosed in Korean Patent Laid-Open Publication No. 10-2012-0053850 and the like, since existing technologies place a new virtual machine without considering the resource occupancy rate of virtual machines already arranged in the physical machine, As the removal process is repeated, fragmentation of resources is intensified and resource utilization becomes inefficient.

또한, 한국 공개특허공보 제10-2012-0103308호 등에 개시된 바와 같이, 기존 기술들은, 물리 머신의 리소스를 점유하고 있는 가상 머신들의 실제 리소스 사용률을 고려하지 않고 신규 가상 머신을 배치하기 때문에, 특정 물리 머신에 리소스 사용률이 높은 가상 머신들이 집중되어 과부하를 발생시키고 클라우드 서비스의 서비스 품질을 악화시키는 문제가 있다.Also, as disclosed in Korean Patent Laid-Open Publication No. 10-2012-0103308 and the like, since existing technologies arrange a new virtual machine without considering the actual resource utilization rate of the virtual machines occupying resources of the physical machine, There is a problem in that virtual machines having high resource usage rates are concentrated on the machine, causing overload and deteriorating the service quality of the cloud service.

본 발명이 해결하고자 하는 기술적 과제는, 물리 머신의 리소스 단편화를 최소화하여 리소스 이용의 효율성을 개선하고 서비스 시스템 구축 비용을 절감함은 물론, 물리 머신의 과부하를 방지하여 클라우드 서비스의 서비스 품질을 보장하는 가상 머신 프로비저닝 시스템 및 방법을 제공하는 것이다. SUMMARY OF THE INVENTION It is an object of the present invention to provide a system and method for minimizing resource fragmentation of a physical machine to improve resource utilization efficiency and reduce the cost of constructing a service system, And to provide a virtual machine provisioning system and method.

상기와 같은 기술적 과제를 해결하기 위하여 본 발명에 따른 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템은,클라우드 서버를 구성하는 물리 머신에 기 배치된 가상 머신의 리소스 점유율 정보를 수집하는 점유율 정보 수집부; 상기 기 배치된 가상 머신의 리소스 사용률 정보를 수집하는 사용률 정보 수집부; 상기 리소스 점유율 정보 및 상기 리소스 사용률 정보를 이용하여 사용자에 의해 생성 요청된 가상 머신이 배치되는 물리 머신을 선정하는 물리 머신 선정부; 및 상기 물리 머신 선정부에 의해 선정된 물리 머신의 리소스를 할당하여 상기 선정된 물리 머신에 상기 생성 요청된 가상 머신을 생성 및 배치하는 가상 머신 배치부를 포함한다.According to an aspect of the present invention, there is provided a virtual machine provisioning system for a cloud service, the system including: a share information collecting unit for collecting resource occupancy information of a virtual machine disposed in a physical machine constituting a cloud server; A utilization information collection unit for collecting resource utilization information of the previously disposed virtual machines; A physical machine selecting unit for selecting a physical machine in which a virtual machine requested to be created by a user is placed using the resource occupancy rate information and the resource utilization rate information; And a virtual machine arrangement unit for allocating resources of the physical machine selected by the physical machine selection unit and creating and arranging the generated virtual machines in the selected physical machine.

일 실시예에 있어서, 상기 점유율 정보 수집부는, 상기 물리 머신의 CPU 코어, 메모리, 및 디스크 중 1 이상에 관한 리소스 점유율 정보를 수집할 수 있다.In one embodiment, the occupancy rate information collecting unit may collect resource occupancy rate information regarding at least one of the CPU core, the memory, and the disk of the physical machine.

일 실시예에 있어서, 상기 사용률 정보 수집부는, 상기 기 배치된 가상 머신의 CPU 사용률, 메모리 사용률, 디스크 사용률, 및 통신 트래픽 사용률 중 1 이상에 관한 리소스 사용률 정보를 수집할 수 있다.In one embodiment, the utilization rate information collector may collect resource utilization rate information regarding at least one of a CPU utilization rate, a memory utilization rate, a disk utilization rate, and a communication traffic utilization rate of the previously disposed virtual machines.

일 실시예에 있어서, 상기 물리 머신 선정부는, 상기 리소스 점유율 정보를 이용하여 후보 물리 머신을 결정하고, 상기 리소스 사용율 정보를 이용하여 상기 후보 물리 머신을 상기 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정할 수 있다.In one embodiment, the physical machine selection unit may determine the candidate physical machine using the resource occupancy rate information, and use the resource utilization rate information to select the candidate physical machine as a physical machine in which the generation requested virtual machine is disposed Can be selected.

일 실시예에 있어서, 상기 물리 머신 선정부는, 상기 리소스 점유율 정보를 이용하여 상기 생성 요청된 가상 머신이 배치될 수 있는 물리 머신들 중 최소 리소스를 가진 물리 머신을 상기 후보 물리 머신으로 결정하고, 상기 리소스 사용률 정보를 이용하여 상기 후보 물리 머신에 기 배치된 가상 머신의 리소스 사용률이 소정 임계치 이하인 경우 상기 후보 물리 머신을 상기 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정할 수 있다.In one embodiment, the physical machine selection unit determines the physical machine having the minimum resource among the physical machines in which the generation-requested virtual machine can be placed, using the resource occupancy rate information as the candidate physical machine, When the resource utilization rate of the virtual machine currently deployed in the candidate physical machine is lower than a predetermined threshold value by using the resource utilization rate information, the candidate physical machine can be selected as the physical machine in which the generation-requested virtual machine is disposed.

일 실시예에 있어서, 상기 시스템은, 상기 클라우드 서버를 구성하는 물리 머신의 리소스 정보, 상기 점유율 정보 수집부에 의해 수집된 리소스 점유율 정보, 및 상기 사용률 정보 수집부에 의해 수집된 리소스 사용률 정보를 저장 및 관리하는 리소스 정보 관리부를 더 포함할 수 있다.In one embodiment, the system stores resource information of a physical machine constituting the cloud server, resource occupancy rate information collected by the occupancy rate information collection unit, and resource utilization rate information collected by the utilization rate information collection unit And a resource information management unit for managing the resource information.

일 실시예에 있어서, 상기 시스템은, 가상 머신 생성 요청 사용자에게 적용되는 가상 머신 배치 정책을 저장 및 관리하는 배치 정책 관리부를 더 포함할 수 있다.In one embodiment, the system may further include a deployment policy manager for storing and managing a virtual machine deployment policy applied to the virtual machine creation request user.

일 실시예에 있어서, 상기 물리 머신 선정부는, 상기 배치 정책 관리부의 가상 머신 배치 정책에 따라 상기 리소스 정보 관리부의 물리 머신 리소스 정보, 리소스 점유율 정보, 및 리소스 사용률 정보를 이용하여 상기 생성 요청된 가상 머신이 배치되는 물리 머신을 선정할 수 있다.In one embodiment, the physical machine selection unit selects the virtual machine to be created based on the physical machine resource information, the resource occupancy rate information, and the resource utilization rate information of the resource information management unit in accordance with the virtual machine placement policy of the placement policy management unit. Can be selected.

일 실시예에 있어서, 상기 시스템은, 사용자의 가상 머신 생성 요청을 수신하고, 상기 가상 머신 생성 요청에 대응하는 가상 머신 생성 결과를 상기 사용자의 클라이언트로 전송하는 사용자 요청 처리부를 더 포함할 수 있다.In one embodiment, the system may further include a user request processing unit for receiving a user's virtual machine creation request and transmitting a virtual machine creation result corresponding to the virtual machine creation request to the user's client.

상기와 같은 기술적 과제를 해결하기 위하여 본 발명에 따른 클라우드 서비스를 위한 가상 머신 프로비저닝 방법은, 클라우드 서버와 연동하는 소정 시스템을 이용하는 방법으로서, 상기 시스템이, 클라우드 서버를 구성하는 물리 머신에 기 배치된 가상 머신의 리소스 점유율 정보를 수집하는 점유율 정보 수집 단계; 상기 시스템이, 상기 기 배치된 가상 머신의 리소스 사용률 정보를 수집하는 사용률 정보 수집 단계; 상기 시스템이, 상기 리소스 점유율 정보 및 상기 리소스 사용률 정보를 이용하여 사용자에 의해 생성 요청된 가상 머신이 배치되는 물리 머신을 선정하는 물리 머신 선정 단계; 및 상기 시스템이, 상기 물리 머신 선정 단계에 의해 선정된 물리 머신의 리소스를 할당하여 상기 선정된 물리 머신에 상기 생성 요청된 가상 머신을 생성 및 배치하는 가상 머신 배치 단계를 포함한다.According to another aspect of the present invention, there is provided a method for provisioning a virtual machine for a cloud service, the method including using a predetermined system interlocked with a cloud server, the system comprising: A share information collection step of collecting resource share information of a virtual machine; The system comprising: a utilization rate information collection step of collecting resource utilization rate information of the previously disposed virtual machines; A physical machine selecting step of the system selecting a physical machine in which a virtual machine requested by a user is placed using the resource occupancy rate information and the resource utilization rate information; And a virtual machine placement step in which the system allocates resources of the physical machine selected by the physical machine selection step to create and place the virtual machine requested to be created in the selected physical machine.

일 실시예에 있어서, 상기 점유율 정보 수집 단계는, 상기 물리 머신의 CPU 코어, 메모리, 및 디스크 중 1 이상에 관한 리소스 점유율 정보를 수집하는 단계일 수 있다.In one embodiment, the occupancy rate information collection step may be a step of collecting resource occupancy rate information regarding at least one of the CPU core, the memory, and the disk of the physical machine.

일 실시예에 있어서, 상기 사용률 정보 수집 단계는, 상기 기 배치된 가상 머신의 CPU 사용률, 메모리 사용률, 디스크 사용률, 및 통신 트래픽 사용률 중 1 이상에 관한 리소스 사용률 정보를 수집하는 단계일 수 있다.In one embodiment, the utilization rate information collection step may be a step of collecting resource utilization rate information regarding at least one of a CPU utilization rate, a memory utilization rate, a disk utilization rate, and a communication traffic utilization rate of the previously disposed virtual machine.

일 실시예에 있어서, 상기 물리 머신 선정 단계는, 상기 리소스 점유율 정보를 이용하여 후보 물리 머신을 결정하는 단계; 및 상기 리소스 사용율 정보를 이용하여 상기 후보 물리 머신을 상기 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정하는 단계를 포함할 수 있다.In one embodiment, the physical machine selecting step includes the steps of: determining a candidate physical machine using the resource occupancy information; And selecting the candidate physical machine as a physical machine in which the generation-requested virtual machine is disposed, using the resource utilization rate information.

일 실시예에 있어서, 상기 물리 머신 선정 단계는, 상기 리소스 점유율 정보를 이용하여 상기 생성 요청된 가상 머신이 배치될 수 있는 물리 머신들 중 최소 리소스를 가진 물리 머신을 상기 후보 물리 머신으로 결정하는 단계; 및 상기 리소스 사용률 정보를 이용하여 상기 후보 물리 머신에 기 배치된 가상 머신의 리소스 사용률이 소정 임계치 이하인 경우 상기 후보 물리 머신을 상기 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정하는 단계를 포함할 수 있다.In one embodiment, the physical machine selecting step includes the step of determining, as the candidate physical machine, a physical machine having a minimum resource among the physical machines in which the generation requested virtual machine can be placed using the resource occupancy information ; And selecting the candidate physical machine as a physical machine in which the generation-requested virtual machine is disposed, when the resource utilization rate of the virtual machine disposed in the candidate physical machine is lower than a predetermined threshold value by using the resource utilization rate information have.

일 실시예에 있어서, 상기 방법은, 상기 클라우드 서버를 구성하는 물리 머신의 리소스 정보, 상기 점유율 정보 수집부에 의해 수집된 리소스 점유율 정보, 및 상기 사용률 정보 수집부에 의해 수집된 리소스 사용률 정보를 저장 및 관리하는 리소스 정보 관리 단계를 더 포함할 수 있다.In one embodiment, the method includes storing resource information of a physical machine constituting the cloud server, resource occupancy rate information collected by the occupancy rate information collecting unit, and resource utilization rate information collected by the utilization rate information collecting unit And a resource information management step of managing the resource information.

일 실시예에 있어서, 상기 방법은, 가상 머신 생성 요청 사용자에게 적용되는 가상 머신 배치 정책을 저장 및 관리하는 배치 정책 관리 단계를 더 포함할 수 있다.In one embodiment, the method may further comprise a deployment policy management step of storing and managing a virtual machine deployment policy applied to the virtual machine creation requesting user.

일 실시예에 있어서, 상기 물리 머신 선정 단계는, 상기 배치 정책 관리 단계의 가상 머신 배치 정책에 따라 상기 리소스 정보 관리 단계의 물리 머신 리소스 정보, 리소스 점유율 정보, 및 리소스 사용률 정보를 이용하여 상기 생성 요청된 가상 머신이 배치되는 물리 머신을 선정하는 단계일 수 있다.In one embodiment, the physical machine selecting step may include a physical machine resource management step of managing the physical machine resource information, the resource occupancy rate information, and the resource utilization ratio information of the resource information management step in accordance with the virtual machine placement policy of the deployment policy management step, Lt; RTI ID = 0.0 > virtual machine < / RTI >

일 실시예에 있어서, 상기 방법은, 상기 물리 머신 선정 단계 전에, 상기 시스템이 사용자의 가상 머신 생성 요청을 수신하는 단계; 및 상기 가상 머신 배치 단계 후에, 상기 시스템이 상기 가상 머신 생성 요청에 대응하는 가상 머신 생성 결과를 상기 사용자의 클라이언트로 전송하는 단계를 더 포함할 수 있다.In one embodiment, the method further comprises: prior to the physical machine selection step, the system receiving a user virtual machine creation request; And after the virtual machine placement step, the system transmits a virtual machine creation result corresponding to the virtual machine creation request to the client of the user.

본 발명에 따르면, 물리 머신에 기 배치된 가상 머신들의 리소스 점유율을 고려하여 최적합 방식으로 가상 머신을 배치함으로써, 물리 머신의 리소스 단편화를 최소화하고 리소스 이용 효율을 개선함은 물론, 서비스 시스템 구축 비용을 절감할 수 있다.According to the present invention, by allocating virtual machines in a most suitable manner in consideration of the resource occupancy rate of virtual machines disposed in the physical machine, resource fragmentation of the physical machine is minimized and resource utilization efficiency is improved, Can be saved.

또한, 물리 머신에 기 배치된 가상 머신들의 실제 리소스 사용률을 고려하여 물리 머신의 부하가 분산되도록 가상 머신을 배치함으로써, 특정 물리 머신에서의 과부하 발생을 방지하고 모든 서비스 사용자에 대하여 클라우드 서비스의 SLA와 QoS를 보장할 수 있다.In addition, by arranging the virtual machine to distribute the load of the physical machine in consideration of the actual resource utilization rate of the virtual machines placed in the physical machine, it is possible to prevent the occurrence of an overload in a specific physical machine, QoS can be guaranteed.

나아가, 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자라면, 본 발명에 따른 다양한 실시예들이 상기 언급되지 않은 여러 기술적 과제들을 해결할 수 있음을 이하의 설명으로부터 자명하게 이해할 수 있을 것이다.It will be apparent to those skilled in the art that various embodiments of the present invention can be accomplished without departing from the spirit and scope of the present invention.

도 1은 본 발명이 적용되는 클라우드 서비스 환경의 일례를 나타낸 도면.
도 2는 본 발명의 일 실시예에 따른 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템을 나타낸 블록도.
도 3은 본 발명의 일 실시예에 따른 클라우드 서비스를 위한 가상 머신 프로비저닝 방법을 나타낸 흐름도.
도 4는 리소스 정보 관리부에 의해 관리되는 데이터베이스 구조의 일례를 나타낸 도면.
도 5는 배치 정책 관리부에 의해 관리되는 데이터베이스 구조의 일례를 나타낸 도면.
도 6은 본 발명의 일 실시예에 따라 가상 머신을 배치하는 과정을 나타낸 도면.
1 is a diagram illustrating an example of a cloud service environment to which the present invention is applied.
2 is a block diagram illustrating a virtual machine provisioning system for a cloud service according to an embodiment of the present invention.
3 is a flowchart illustrating a virtual machine provisioning method for a cloud service according to an embodiment of the present invention.
4 is a diagram showing an example of a database structure managed by a resource information management unit;
5 is a diagram showing an example of a database structure managed by a placement policy management unit;
FIG. 6 illustrates a process of arranging a virtual machine according to an embodiment of the present invention. FIG.

이하, 본 발명의 기술적 과제에 관한 해결 방안을 명확화하기 위해 첨부도면을 참조하여 본 발명의 바람직한 실시예들을 상세하게 설명한다. 다만, 본 발명을 설명함에 있어서 관련 공지기술에 관한 설명이 오히려 본 발명의 요지를 불명료하게 하는 경우 그에 관한 설명은 생략하기로 한다. 또한, 후술하는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 설계자, 제조자 등의 의도 또는 관례 등에 따라 달라질 수 있을 것이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to clarify the solution to the technical problem of the present invention. In the following description of the present invention, however, the description of related arts will be omitted if the gist of the present invention becomes obscure. In addition, the terms described below are defined in consideration of the functions of the present invention, and may be changed depending on the intention or custom of the designer, the manufacturer, and the like. Therefore, the definition should be based on the contents throughout this specification.

도 1에는 본 발명이 적용되는 클라우드 서비스 환경의 일례가 도시되어 있다.FIG. 1 shows an example of a cloud service environment to which the present invention is applied.

도 1에 도시된 바와 같이, 클라우드 서비스 환경은 클라우드 서버(10), 인터넷(20)을 통해 클라우드 서버(10)에 접속하는 다수의 클라이언트(30)를 포함한다. 클라우드 서버(10)는 클라우드 서비스의 물리적 구조 단위에 해당하는 POD(Product on Demand)로 구성되며, 이러한 POD를 1 이상 포함할 수 있다. 또한, POD는 실제 물리적 리소스(resource)를 제공하는 컴퓨팅 서버인 1 이상의 물리 머신(physical machine)(12), 공유 저장부(14) 및 네트워크 통신부(16)를 포함할 수 있다. 물리 머신들(12)은 자체의 로컬 저장부를 리소스로 활용할 수 있음은 물론, 공유 저장부(14)를 리소스로 활용할 수도 있다. 네트워크 통신부(16)는 인터넷(20)을 통해 클라이언트(30) 등과의 통신을 수행할 수 있으며, 라우터나 L2, L3 스위치 등을 포함할 수 있다. 클라우드 서버(10)는, 클라이언트(30)로부터 수신되는 사용자의 서비스 요청에 따라 물리 머신(12)에 가상 머신(virtual machine)을 생성하여, 사용자로 하여금 가상 머신에 할당된 리소스를 사용하도록 한다. 한편, 클라우드 서버(10)는 리소스를 효율적으로 이용하기 위해 복수의 물리 머신(12)을 클러스터링하여 클러스터 단위로 관리할 수도 있다.As shown in FIG. 1, a cloud service environment includes a cloud server 10, and a plurality of clients 30 that access the cloud server 10 through the Internet 20. The cloud server 10 comprises a POD (Product on Demand) corresponding to a physical structure unit of a cloud service, and may include one or more PODs. In addition, the POD may include one or more physical machines 12, a shared storage unit 14, and a network communication unit 16, which are computing servers that provide actual physical resources. The physical machines 12 may utilize their own local storage as a resource, and may also use the shared storage 14 as a resource. The network communication unit 16 can communicate with the client 30 and the like via the Internet 20 and can include a router, L2, L3 switch, and the like. The cloud server 10 creates a virtual machine in the physical machine 12 in response to a service request of the user received from the client 30 so that the user uses the resource allocated to the virtual machine. On the other hand, the cloud server 10 may cluster a plurality of physical machines 12 and manage them in units of clusters in order to utilize the resources efficiently.

본 발명에 따른 가상 머신 프로비저닝 시스템(100)은, 이러한 클라우드 서비스 환경에서 클라우드 서버(10)와 연동하여 클라우드 서비스를 위한 가상 머신 프로비저닝을 수행하며, 물리 머신(12)의 리소스 단편화를 최소화하여 리소스 이용의 효율성을 개선함은 물론, 물리 머신(12)의 과부하를 방지하여 클라우드 서비스의 서비스 품질을 보장한다.The virtual machine provisioning system 100 according to the present invention performs virtual machine provisioning for a cloud service in cooperation with the cloud server 10 in such a cloud service environment and minimizes resource fragmentation of the physical machine 12, And the overload of the physical machine 12 is prevented to ensure the quality of service of the cloud service.

도 2에는 본 발명의 일 실시예에 따른 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템이 블록도로 도시되어 있다.FIG. 2 is a block diagram of a virtual machine provisioning system for a cloud service according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 가상 머신 프로비저닝 시스템(100)은, 점유율 정보 수집부(110), 사용률 정보 수집부(120), 물리 머신 선정부(130), 및 가상 머신 배치부(140)를 포함하며, 리소스 정보 관리부(150), 배치 정책 관리부(160), 사용자 요청 처리부(102) 등을 더 포함할 수 있다.2, the virtual machine provisioning system 100 according to an embodiment of the present invention includes an occupancy rate information collection unit 110, a utilization rate information collection unit 120, a physical machine selection unit 130, A virtual machine placement unit 140 and may further include a resource information management unit 150, a placement policy management unit 160, a user request processing unit 102, and the like.

도 3에는 본 발명의 일 실시예에 따른 클라우드 서비스를 위한 가상 머신 프로비저닝 방법이 흐름도로 도시되어 있다.FIG. 3 is a flowchart illustrating a virtual machine provisioning method for a cloud service according to an exemplary embodiment of the present invention.

도 2 및 도 3을 참조하여 가상 머신 프로비저닝 시스템(100)의 기능 및 동작을 더욱 구체적으로 설명한다.The functions and operation of the virtual machine provisioning system 100 will be described in more detail with reference to FIGS. 2 and 3. FIG.

우선, 점유율 정보 수집부(110)는, 클라우드 서버(10)를 구성하는 물리 머신들(12)에 기 배치된 가상 머신들의 리소스 점유율 정보를 수집한다(S310). 이 경우, 점유율 정보 수집부(110)는, 물리 머신(12)의 CPU 코어, 메모리, 및 디스크 중 1 이상에 관한 리소스 점유율 정보를 수집할 수 있다.First, the occupancy rate information collection unit 110 collects resource occupancy rate information of virtual machines placed in the physical machines 12 constituting the cloud server 10 (S310). In this case, the occupancy rate information collection unit 110 may collect resource occupancy rate information regarding at least one of the CPU core, the memory, and the disk of the physical machine 12.

그 다음, 사용률 정보 수집부(120)는, 각각의 물리 머신(12)에 기 배치된 가상 머신의 실제 리소스 사용률 정보를 수집한다(S320). 이 경우, 사용률 정보 수집부(120)는, 기 배치된 가상 머신의 CPU 사용률, 메모리 사용률, 디스크 사용률, 및 통신 트래픽 사용률 중 1 이상에 관한 리소스 사용률 정보를 수집할 수 있다.Then, the utilization information collecting unit 120 collects the actual resource utilization information of the virtual machines placed in the respective physical machines 12 (S320). In this case, the utilization information collecting unit 120 may collect resource utilization rate information about at least one of CPU utilization rate, memory utilization rate, disk utilization rate, and communication traffic utilization rate of the currently deployed virtual machine.

점유율 정보 수집부(110)와 사용률 정보 수집부(120)는, 주기적으로 또는 특정 이벤트 발생 시에 해당 정보를 수집할 수 있으며, 수집된 리소스 관련 정보들은 리소스 정보 관리부(150)에 저장되어 관리될 수 있다. 즉, 리소스 정보 관리부(150)는, 클라우드 서버(10)를 구성하는 물리 머신(12)의 전체 리소스 정보, 점유율 정보 수집부(110)에 의해 수집된 리소스 점유율 정보, 및 사용률 정보 수집부(120)에 의해 수집된 리소스 사용률 정보를 데이터베이스(152)에 저장하고, 주기적 또는 특정 이벤트 발생 시 저장된 정보를 업데이트할 수 있다.The occupancy rate information collection unit 110 and the utilization rate information collection unit 120 may collect the information periodically or at the occurrence of a specific event and the collected resource related information may be stored in the resource information management unit 150 and managed . That is, the resource information management unit 150 stores the entire resource information of the physical machine 12 constituting the cloud server 10, the resource occupancy rate information collected by the occupancy rate information collection unit 110, ) In the database 152, and may update the information stored at the time of occurrence of the periodic or specific event.

도 4에는 리소스 정보 관리부(150)에 의해 관리되는 데이터베이스 구조의 일례가 도시되어 있다.FIG. 4 shows an example of a database structure managed by the resource information management unit 150. As shown in FIG.

도 4에 도시된 바와 같이, 리소스 정보 관리부(150)는, 물리 머신(12)의 서비스 지역 정보(zone ID), 클라우드 서버 정보(POD ID), 클러스터 정보(cluster ID), 물리 머신 정보(PM ID)와 관련하여 해당 물리 머신(12)의 가상 머신의 수(VM 수), CPU 코어 수(CPU), 메모리 용량(memory), 디스크 용량(disk) 등의 리소스 관련 정보를 저장 및 관리할 수 있다.4, the resource information management unit 150 manages the service area information (zone ID), the cloud server information (POD ID), the cluster information (cluster ID), the physical machine information (PM Related information such as the number of virtual machines (VM number), CPU core number (CPU), memory capacity (memory), and disk capacity (disk) of the corresponding physical machine 12 have.

한편, 물리 머신 선정부(130)는, 사용자 요청 처리부(102)가 사용자의 클라이언트(30)로부터 가상 머신 생성 요청을 수신하는 경우(S330), 리소스 정보 관리부(150)에 저장된 리소스 점유율 정보 및 리소스 사용률 정보를 이용하여, 사용자에 의해 생성 요청된 가상 머신이 배치될 물리 머신을 선정한다(S340, S50). 가상 머신 생성을 위해 할당되는 물리 머신(12)의 리소스의 양은 사용자의 요청 내지 SLA(Service Level Agreement)에 따라 달라질 수 있다. 예컨대, 사용자 요청 처리부(102)가 수신하는 가상 머신 생성 요청에는, 사용자가 필요로 하는 코어 수, 메모리 용량, 및 디스크 용량 등의 정보가 포함될 수 있다. 또한, 물리 머신 선정부(130)는, 배치 정책 관리부(160)로부터 가상 머신 배치 정책을 전송받고, 그에 따라 리소스 정보 관리부(150)의 물리 머신 리소스 정보, 리소스 점유율 정보, 및 리소스 사용률 정보 등을 이용하여 가상 머신이 배치될 물리 머신을 선정할 수 있다. When the user request processing unit 102 receives a virtual machine creation request from the user's client 30 in operation S330, the physical machine selecting unit 130 reads the resource occupancy rate information stored in the resource information managing unit 150, The physical machine to which the virtual machine requested to be created by the user is to be placed is selected using the utilization rate information (S340, S50). The amount of resources of the physical machine 12 allocated for virtual machine creation may vary according to the user's request or service level agreement (SLA). For example, the virtual machine creation request received by the user request processing unit 102 may include information such as the number of cores required by the user, the memory capacity, and the disk capacity. The physical machine selection unit 130 receives the virtual machine placement policy from the placement policy management unit 160 and acquires the physical machine resource information, the resource occupancy rate information, the resource utilization rate information, and the like of the resource information management unit 150 The physical machine to which the virtual machine is to be placed can be selected.

도 5에는 배치 정책 관리부(160)에 의해 관리되는 데이터베이스 구조의 일례가 도시되어 있다.FIG. 5 shows an example of a database structure managed by the deployment policy management unit 160. FIG.

도 5에 도시된 바와 같이, 배치 정책 관리부(160)는, 가상 머신 생성 요청 사용자에게 적용되는 가상 머신 배치 정책을 저장 및 관리한다. 즉, 배치 정책 관리부(160)는, 사용자 정보(사용자 ID)와 관련하여 해당 사용자에게 적용되는 가상 머신 배치 정책을 저장하고 적용 정책이 변경되는 경우 저장된 정책을 업데이트할 수 있다. 배치 정책 관리부(160)에 저장 및 관리되는 가상 머신 배치 정책에는 리소스 점유율에 따른 배치 정책(리소스 점유율 정책)과 리소스 사용률에 따른 배치 정책(리소스 사용률 정책)이 포함된다. 본 발명에 있어서, 리소스 점유율에 따른 배치 정책으로는 소위 최적합(best fit) 정책이 적용된다. 또한, 리소스 사용률에 따른 배치 정책으로는 물리 머신(12)의 특정 리소스를 기준 리소스로 하여 해당 물리 머신(12)에 배치된 가상 머신들의 기준 리소스 사용률들이 평균적으로 소정 임계치 이하인 경우에만 해당 물리 머신(12)에 신규 가상 머신을 배치하도록 하는 정책이 적용된다. 이때, 기준 리소스 사용률로는 CPU 사용률, disk 입출력 사용률, 또는 통신 트래픽 사용률 등이 사용될 수 있다. 또한, 기준 리소스 사용률은, 사용자의 요청 또는 가상 머신의 용도 등에 따라 사용자마다 다르게 결정될 수 있다.As shown in FIG. 5, the deployment policy management unit 160 stores and manages a virtual machine deployment policy applied to a virtual machine creation requesting user. That is, the placement policy management unit 160 stores the virtual machine placement policy applied to the user in association with the user information (user ID), and updates the stored policy when the application policy is changed. The virtual machine placement policy stored and managed in the placement policy management unit 160 includes a placement policy (resource usage policy) according to the resource share and a placement policy (resource usage policy) according to the resource usage rate. In the present invention, a so-called best fit policy is applied as the placement policy according to the resource occupancy rate. The placement policy according to the resource usage rate may be a physical policy of the physical machine 12 only when the reference resource utilization rates of the virtual machines allocated to the physical machine 12 are below the predetermined threshold, 12, a policy for placing a new virtual machine is applied. At this time, the CPU utilization rate, disk I / O utilization rate, or communication traffic utilization rate may be used as the reference resource utilization rate. In addition, the reference resource utilization rate can be determined differently for each user depending on the user's request or the purpose of the virtual machine or the like.

따라서, 물리 머신 선정부(130)는, 배치 정책 관리부(160)의 가상 머신 배치 정책에 따라 리소스 정보 관리부(150)의 리소스 점유율 정보를 이용하여 후보 물리 머신을 결정하고, 리소스 사용율 정보를 이용하여 후보 물리 머신을 신규 가상 머신이 배치될 물리 머신으로 선정할 수 있다(S340, S350).Therefore, the physical machine selection unit 130 determines the candidate physical machine using the resource occupancy rate information of the resource information management unit 150 in accordance with the virtual machine placement policy of the placement policy management unit 160, and uses the resource usage rate information The candidate physical machine may be selected as the physical machine in which the new virtual machine will be placed (S340, S350).

예컨대, 물리 머신 선정부(130)는, 최적합 정책을 적용하여 후보 물리 머신을 결정할 수 있다. 즉, 물리 머신 선정부(130)는, 리소스 점유율 정보를 이용하여 생성 요청된 가상 머신이 배치될 수 있는 물리 머신들 중 최소 리소스를 가진 물리 머신을 후보 물리 머신으로 결정할 수 있다(S340). 그 다음, 물리 머신 선정부(130)는, 리소스 사용률에 따른 정책을 적용하여 후보 물리 머신을 신규 가상 머신이 배치될 물리 머신으로 최종 선정할 수 있다. 즉, 물리 머신 선정부(130)는, 리소스 사용률 정보를 이용하여 후보 물리 머신에 기 배치된 가상 머신의 리소스 사용률이 소정 임계치 이하인 경우 후보 물리 머신을 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정할 수 있다(S350). 반면, 물리 머신 선정부(130)는, 후보 물리 머신에 기 배치된 가상 머신의 리소스 사용률이 소정 임계치를 초과하는 경우, 해당 후보 물리 머신을 가상 머신 배치 대상에서 제외하고(S352), 두 번째로 적은 리소스를 가진 물리 머신을 후보 물리 머신으로 결정할 수 있다(S350).For example, the physical machine selection unit 130 can determine a candidate physical machine by applying a best fit policy. That is, the physical machine selection unit 130 may determine the physical machine having the smallest resource among the physical machines to which the generated virtual machine can be allocated, using the resource occupancy information, as the candidate physical machine (S340). Then, the physical machine selection unit 130 may finally apply the policy according to the resource utilization rate to finally select the candidate physical machine as a physical machine in which the new virtual machine will be placed. That is, when the resource utilization rate of the virtual machine, which is currently allocated to the candidate physical machine, is less than or equal to a predetermined threshold value, the physical machine selection unit 130 selects the candidate physical machine as the physical machine in which the requested virtual machine is placed (S350). On the other hand, when the resource usage rate of the virtual machine placed in the candidate physical machine exceeds the predetermined threshold value, the physical machine selection unit 130 excludes the candidate physical machine from the virtual machine placement target (S352) The physical machine having less resources can be determined as the candidate physical machine (S350).

그 다음, 가상 머신 배치부(140)는, 물리 머신 선정부(130)에 의해 선정된 물리 머신의 리소스를 할당하여 해당 물리 머신에 생성 요청된 가상 머신을 생성 및 배치한다(S360).Next, the virtual machine arrangement unit 140 allocates the resources of the physical machine selected by the physical machine selection unit 130, and creates and arranges the virtual machines requested to be generated in the physical machine (S360).

도 6에는 본 발명의 일 실시예에 따라 가상 머신을 배치하는 과정이 도시되어 있다.FIG. 6 illustrates a process of arranging a virtual machine according to an embodiment of the present invention.

도 6에 도시된 바와 같이, 신규 가상 머신들(601 내지 605)이 배치될 수 있는 물리 머신들(610, 620, 630)이 3개인 경우, 4 코어가 필요한 제1 가상 머신(601)은 3개의 물리 머신 중 하나, 예컨대 제1 물리 머신(610)에 배치될 수 있다. 그 결과, 제1 물리 머신(610)은 12 코어가 남게 되고, 제2 물리 머신(620)과 제3 물리 머신(630)은 각각 16 코어가 남게 된다.6, when there are three physical machines 610, 620, and 630 in which new virtual machines 601 to 605 can be arranged, the first virtual machine 601 requiring four cores has 3 May be located in one of the physical machines, e. G., The first physical machine 610. As a result, 12 cores remain in the first physical machine 610, and 16 cores remain in the second physical machine 620 and the third physical machine 630, respectively.

그 다음, 4 코어가 필요한 제2 가상 머신(602)은 최적합 정책에 따라 최소 리소스를 가진 제1 물리 머신(610)에 배치된다. 동일한 방식으로 제3 가상 머신(603)도 제1 물리 머신(610)에 배치될 수 있다.Then, the second virtual machine 602 requiring four cores is placed in the first physical machine 610 having the minimum resources according to the best fit policy. The third virtual machine 603 may also be placed in the first physical machine 610 in the same manner.

그 다음, 16 코어가 필요한 제4 가상 머신(604)은 4 코어만 남은 제1 물리 머신(610)에 배치될 수 없고, 제2 물리 머신(620) 또는 제3 물리 머신(630)에 배치될 수 있다. 제4 가상 머신(604)이 제2 물리 머신(620)에 배치되면 제2 물리 머신(620)의 잔여 코어는 존재하지 않게 된다.Then, the fourth virtual machine 604 requiring 16 cores can not be placed in the first physical machine 610, which is left with only four cores, and can be placed in the second physical machine 620 or the third physical machine 630 . When the fourth virtual machine 604 is placed in the second physical machine 620, the remaining core of the second physical machine 620 is not present.

그 다음, 4 코어가 필요한 제5 가상 머신(605)은, 최적합 정책에 따라 제1 물리 머신(610)과 제3 물리 머신(630) 중에서 제1 물리 머신(610)에 배치될 수 있다. 그러나, 제1 물리 머신(610)에 기 배치된 제1, 제2, 제3 가상 머신(601, 602, 603)의 리소스 사용률이 소정 임계치를 초과하는 경우, 제5 가상 머신(605)은 과부하 발생을 방지하기 위해 제3 물리 머신(630)에 배치된다.The fifth virtual machine 605 requiring four cores may then be placed in the first physical machine 610 among the first physical machine 610 and the third physical machine 630 according to the best fit policy. However, if the resource utilization rate of the first, second, and third virtual machines 601, 602, and 603 disposed in the first physical machine 610 exceeds a predetermined threshold value, the fifth virtual machine 605 is overloaded And is placed in the third physical machine 630 to prevent the occurrence of the error.

이와 같이, 사용자의 가상 머신 생성 요청에 대응하여 가상 머신의 생성 및 배치가 완료되면, 사용자 요청 처리부(102)는, 가상 머신 생성 결과를 사용자의 클라이언트로 전송한다(S370).When the virtual machine creation and placement are completed in response to the user's virtual machine creation request, the user request processing unit 102 transmits the virtual machine creation result to the user's client (S370).

그리고, 클라우드 서비스에서는 가상 머신의 생성과 제거가 수시로 발생하기 때문에, 점유율 정보 수집부(110)와 사용률 정보 수집부(120)는, 리소스 정보 수집 주기가 도래하거나 소정 이벤트가 발생하면(S380), 각각 리소스 점유율 정보나 리소스 사용률 정보를 새롭게 수집하고, 리소스 정보 관리부(150)는 해당 정보를 업데이트한다.In the cloud service, since the creation and removal of virtual machines occur frequently, the occupancy rate information collection unit 110 and the utilization rate information collection unit 120, when a resource information collection cycle comes or a predetermined event occurs (S380) And acquires resource occupancy rate information and resource utilization rate information, respectively, and the resource information management unit 150 updates the information.

한편, 본 발명의 실시예들은 컴퓨터가 읽어들일 수 있는 컴퓨터 프로그램을 컴퓨터로 판독 가능한 기록매체에 기록하여 구현하는 것이 가능하다. 본 발명의 실시예들이 컴퓨터 프로그램을 이용하여 구현되는 경우, 본 발명의 구성 수단들은 필요한 작업을 실행하는 프로그램 코드 세그먼트들이다. 이러한, 컴퓨터 프로그램 내지 코드 세그먼트들은 컴퓨터로 판독 가능한 기록매체에 저장되거나 반송파와 결합하여 전송 매체 또는 통신망을 통해 데이터 신호 형태로 전송될 수 있다. 컴퓨터로 판독 가능한 기록매체에는 컴퓨터 시스템이 읽어들일 수 있는 데이터를 기록하는 모든 종류의 매체가 포함된다. 예컨대, 컴퓨터로 판독 가능한 기록매체에는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 포함될 수 있다. 또한, 이러한 기록매체를 다양한 네트워크로 연결된 컴퓨터 시스템에 분산 배치함으로써 프로그램 코드들이 분산 방식으로 저장되거나 실행되도록 할 수 있다.Meanwhile, embodiments of the present invention can be realized by recording a computer-readable computer program in a computer-readable recording medium. When embodiments of the present invention are implemented using a computer program, the constituent means of the present invention are program code segments that perform the necessary tasks. The computer program or code segments may be stored in a computer-readable recording medium or in combination with a carrier wave and transmitted in the form of a data signal via a transmission medium or a communication network. A computer-readable recording medium includes all kinds of media for recording data that can be read by a computer system. For example, the computer-readable recording medium may include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. In addition, the program codes may be stored or executed in a distributed manner by distributing the recording medium to a computer system connected to various networks.

상술한 바와 같이, 본 발명에 따르면, 물리 머신에 기 배치된 가상 머신들의 리소스 점유율을 고려하여 최적합 방식으로 가상 머신을 배치함으로써, 물리 머신의 리소스 단편화를 최소화하고 리소스 이용 효율을 개선함은 물론, 서비스 시스템 구축 비용을 절감할 수 있다. 또한, 물리 머신에 기 배치된 가상 머신들의 실제 리소스 사용률을 고려하여 물리 머신의 부하가 분산되도록 가상 머신을 배치함으로써, 특정 물리 머신에서의 과부하 발생을 방지하고 모든 서비스 사용자에 대하여 클라우드 서비스의 SLA와 QoS를 보장할 수 있다. 나아가, 본 발명에 따른 다양한 실시예들은, 당해 기술 분야는 물론 관련 기술 분야에서 본 명세서에 언급된 내용 이외의 다른 여러 기술적 과제들을 해결할 수 있음은 물론이다.As described above, according to the present invention, by allocating a virtual machine in a most suitable manner in consideration of the resource occupancy rate of virtual machines placed in the physical machine, resource fragmentation of the physical machine can be minimized and resource utilization efficiency can be improved , The cost of constructing the service system can be reduced. In addition, by arranging the virtual machine to distribute the load of the physical machine in consideration of the actual resource utilization rate of the virtual machines placed in the physical machine, it is possible to prevent the occurrence of an overload in a specific physical machine, QoS can be guaranteed. Furthermore, it is to be understood that various embodiments in accordance with the present invention may solve many technical problems in the art, as well as those described in the related art.

지금까지 본 발명에 대해 구체적인 실시예들을 참고하여 설명하였다. 그러나 당업자라면 본 발명의 기술적 범위에서 다양한 변형 실시예들이 구현될 수 있음을 명확하게 이해할 수 있을 것이다. 그러므로 앞서 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 즉, 본 발명의 진정한 기술적 사상의 범위는 첨부된 특허청구범위에 나타나 있으며, 그와 균등범위 내에 있는 모든 차이점은 본 발명에 포함되는 것으로 해석되어야 할 것이다.The present invention has been described with reference to specific embodiments. It will be apparent, however, to one skilled in the art that various modifications may be practiced within the technical scope of the invention. Therefore, the above-described embodiments should be considered from an illustrative point of view, not from a limiting viewpoint. That is, the scope of the true technical idea of the present invention is set forth in the appended claims, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

100 : 가상 머신 프로비저닝 시스템 102 : 사용자 요청 처리부
110 : 점유율 정보 수집부 120 : 사용률 정보 수집부
130 : 물리 머신 선정부 140 : 가상 머신 배치부
150 : 리소스 정보 관리부 160 : 배치 정책 관리부
100: Virtual Machine Provisioning System 102: User Request Processor
110: Occupancy rate information collecting unit 120: Usage rate information collecting unit
130: physical machine selection unit 140: virtual machine arrangement unit
150: resource information management unit 160:

Claims (19)

클라우드 서버를 구성하는 물리 머신에 기 배치된 가상 머신의 리소스 점유율 정보를 수집하는 점유율 정보 수집부;
상기 기 배치된 가상 머신의 리소스 사용률 정보를 수집하는 사용률 정보 수집부;
상기 리소스 점유율 정보 및 상기 리소스 사용률 정보를 이용하여 사용자에 의해 생성 요청된 가상 머신이 배치되는 물리 머신을 선정하는 물리 머신 선정부; 및
상기 물리 머신 선정부에 의해 선정된 물리 머신의 리소스를 할당하여 상기 선정된 물리 머신에 상기 생성 요청된 가상 머신을 생성 및 배치하는 가상 머신 배치부를 포함하는 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템.
An occupancy rate information collecting unit for collecting resource occupancy rate information of a virtual machine that is placed in a physical machine constituting a cloud server;
A utilization information collection unit for collecting resource utilization information of the previously disposed virtual machines;
A physical machine selecting unit for selecting a physical machine in which a virtual machine requested to be created by a user is placed using the resource occupancy rate information and the resource utilization rate information; And
And a virtual machine arrangement unit for allocating resources of the physical machine selected by the physical machine selection unit and creating and arranging the virtual machines requested to be created in the selected physical machine.
제1항에 있어서,
상기 점유율 정보 수집부는, 상기 물리 머신의 CPU 코어, 메모리, 및 디스크 중 1 이상에 관한 리소스 점유율 정보를 수집하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템.
The method according to claim 1,
Wherein the occupancy rate information collecting unit collects resource occupancy rate information about at least one of a CPU core, a memory, and a disk of the physical machine.
제1항에 있어서,
상기 사용률 정보 수집부는, 상기 기 배치된 가상 머신의 CPU 사용률, 메모리 사용률, 디스크 사용률, 및 통신 트래픽 사용률 중 1 이상에 관한 리소스 사용률 정보를 수집하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템.
The method according to claim 1,
Wherein the utilization rate information collection unit collects resource utilization rate information related to at least one of a CPU utilization rate, a memory utilization rate, a disk utilization rate, and a communication traffic utilization rate of the previously disposed virtual machines.
제1항에 있어서,
상기 물리 머신 선정부는, 상기 리소스 점유율 정보를 이용하여 후보 물리 머신을 결정하고, 상기 리소스 사용율 정보를 이용하여 상기 후보 물리 머신을 상기 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템.
The method according to claim 1,
Wherein the physical machine selection unit determines the candidate physical machine by using the resource occupancy rate information and selects the candidate physical machine as the physical machine in which the generation requested virtual machine is placed by using the resource utilization rate information Virtual Machine Provisioning System for Cloud Services.
제1항에 있어서,
상기 물리 머신 선정부는, 상기 리소스 점유율 정보를 이용하여 상기 생성 요청된 가상 머신이 배치될 수 있는 물리 머신들 중 최소 리소스를 가진 물리 머신을 상기 후보 물리 머신으로 결정하고, 상기 리소스 사용률 정보를 이용하여 상기 후보 물리 머신에 기 배치된 가상 머신의 리소스 사용률이 소정 임계치 이하인 경우 상기 후보 물리 머신을 상기 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템.
The method according to claim 1,
Wherein the physical machine selecting unit determines the physical machine having the minimum resource among the physical machines to which the virtual machine requested to be created can be placed using the resource occupancy rate information as the candidate physical machine, Wherein the candidate physical machine selects a candidate physical machine as a physical machine in which the generated virtual machine is disposed if the resource utilization rate of the virtual machine currently deployed in the candidate physical machine is less than or equal to a predetermined threshold value.
제1항에 있어서,
상기 시스템은, 상기 클라우드 서버를 구성하는 물리 머신의 리소스 정보, 상기 점유율 정보 수집부에 의해 수집된 리소스 점유율 정보, 및 상기 사용률 정보 수집부에 의해 수집된 리소스 사용률 정보를 저장 및 관리하는 리소스 정보 관리부를 더 포함하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템.
The method according to claim 1,
The system includes a resource information manager for storing and managing resource utilization information of the physical machine constituting the cloud server, resource utilization rate information collected by the occupancy rate information collector, and resource utilization rate information collected by the utilization rate information collector, Wherein the virtual machine provisioning system further comprises a virtual machine provisioning system for the cloud service.
제6에 있어서,
상기 시스템은, 가상 머신 생성 요청 사용자에게 적용되는 가상 머신 배치 정책을 저장 및 관리하는 배치 정책 관리부를 더 포함하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템.
In the sixth aspect,
Wherein the system further comprises a deployment policy manager for storing and managing a virtual machine deployment policy applied to a virtual machine creation requesting user.
제7항에 있어서,
상기 물리 머신 선정부는, 상기 배치 정책 관리부의 가상 머신 배치 정책에 따라 상기 리소스 정보 관리부의 물리 머신 리소스 정보, 리소스 점유율 정보, 및 리소스 사용률 정보를 이용하여 상기 생성 요청된 가상 머신이 배치되는 물리 머신을 선정하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템.
8. The method of claim 7,
Wherein the physical machine selection unit selects a physical machine in which the virtual machine is requested to be created using the physical machine resource information, the resource occupancy rate information, and the resource utilization rate information of the resource information management unit according to the virtual machine placement policy of the placement policy management unit The virtual machine provisioning system for a cloud service.
제1항에 있어서,
상기 시스템은, 사용자의 가상 머신 생성 요청을 수신하고, 상기 가상 머신 생성 요청에 대응하는 가상 머신 생성 결과를 상기 사용자의 클라이언트로 전송하는 사용자 요청 처리부를 더 포함하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템.
The method according to claim 1,
Wherein the system further comprises a user request processing unit for receiving a virtual machine creation request of the user and transmitting a virtual machine creation result corresponding to the virtual machine creation request to the client of the user, Machine Provisioning System.
클라우드 서버와 연동하는 소정 시스템을 이용하여 클라우드 서비스를 위한 가상 머신 프로비저닝을 수행하는 방법에 있어서,
상기 시스템이, 클라우드 서버를 구성하는 물리 머신에 기 배치된 가상 머신의 리소스 점유율 정보를 수집하는 점유율 정보 수집 단계;
상기 시스템이, 상기 기 배치된 가상 머신의 리소스 사용률 정보를 수집하는 사용률 정보 수집 단계;
상기 시스템이, 상기 리소스 점유율 정보 및 상기 리소스 사용률 정보를 이용하여 사용자에 의해 생성 요청된 가상 머신이 배치되는 물리 머신을 선정하는 물리 머신 선정 단계; 및
상기 시스템이, 상기 물리 머신 선정 단계에 의해 선정된 물리 머신의 리소스를 할당하여 상기 선정된 물리 머신에 상기 생성 요청된 가상 머신을 생성 및 배치하는 가상 머신 배치 단계를 포함하는 클라우드 서비스를 위한 가상 머신 프로비저닝 방법.
A method for performing virtual machine provisioning for a cloud service using a predetermined system interworking with a cloud server,
The system comprising: an occupancy rate information collecting step of collecting resource occupancy rate information of a virtual machine previously disposed in a physical machine constituting a cloud server;
The system comprising: a utilization rate information collection step of collecting resource utilization rate information of the previously disposed virtual machines;
A physical machine selecting step of the system selecting a physical machine in which a virtual machine requested by a user is placed using the resource occupancy rate information and the resource utilization rate information; And
Wherein the system comprises a virtual machine arrangement step of allocating resources of the physical machine selected by the physical machine selection step and creating and arranging the virtual machines requested to be created in the selected physical machine Provisioning method.
제10항에 있어서,
상기 점유율 정보 수집 단계는, 상기 물리 머신의 CPU 코어, 메모리, 및 디스크 중 1 이상에 관한 리소스 점유율 정보를 수집하는 단계인 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 방법.
11. The method of claim 10,
Wherein the occupancy rate information collection step is a step of collecting resource occupancy rate information regarding at least one of a CPU core, a memory, and a disk of the physical machine.
제10항에 있어서,
상기 사용률 정보 수집 단계는, 상기 기 배치된 가상 머신의 CPU 사용률, 메모리 사용률, 디스크 사용률, 및 통신 트래픽 사용률 중 1 이상에 관한 리소스 사용률 정보를 수집하는 단계인 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 방법.
11. The method of claim 10,
Wherein the utilization rate information collection step is a step of collecting resource utilization rate information related to at least one of a CPU utilization rate, a memory utilization rate, a disk utilization rate, and a communication traffic utilization rate of the previously deployed virtual machine. Provisioning method.
제10항에 있어서,
상기 물리 머신 선정 단계는,
상기 리소스 점유율 정보를 이용하여 후보 물리 머신을 결정하는 단계; 및
상기 리소스 사용율 정보를 이용하여 상기 후보 물리 머신을 상기 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정하는 단계를 포함하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 방법.
11. The method of claim 10,
The physical machine selecting step includes:
Determining a candidate physical machine using the resource occupancy rate information; And
And selecting the candidate physical machine as a physical machine in which the generated virtual machine is placed using the resource utilization rate information.
제10항에 있어서,
상기 물리 머신 선정 단계는,
상기 리소스 점유율 정보를 이용하여 상기 생성 요청된 가상 머신이 배치될 수 있는 물리 머신들 중 최소 리소스를 가진 물리 머신을 상기 후보 물리 머신으로 결정하는 단계; 및
상기 리소스 사용률 정보를 이용하여 상기 후보 물리 머신에 기 배치된 가상 머신의 리소스 사용률이 소정 임계치 이하인 경우 상기 후보 물리 머신을 상기 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정하는 단계를 포함하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 방법.
11. The method of claim 10,
The physical machine selecting step includes:
Determining a physical machine having the smallest resource among the physical machines to which the generation-requested virtual machine can be placed, using the resource occupancy information as the candidate physical machine; And
And selecting the candidate physical machine as the physical machine in which the generation-requested virtual machine is placed when the resource utilization rate of the virtual machine currently deployed in the candidate physical machine is lower than a predetermined threshold value by using the resource utilization rate information A virtual machine provisioning method for a cloud service.
제10항에 있어서,
상기 방법은, 상기 클라우드 서버를 구성하는 물리 머신의 리소스 정보, 상기 점유율 정보 수집부에 의해 수집된 리소스 점유율 정보, 및 상기 사용률 정보 수집부에 의해 수집된 리소스 사용률 정보를 저장 및 관리하는 리소스 정보 관리 단계를 더 포함하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 방법.
11. The method of claim 10,
The method includes managing resource information for storing and managing resource utilization information of the physical machine constituting the cloud server, resource utilization rate information collected by the occupancy rate information collector, and resource utilization rate information collected by the utilization rate information collector, Further comprising the steps of: (a) providing a virtual machine provisioning service for the cloud service;
제15에 있어서,
상기 방법은, 가상 머신 생성 요청 사용자에게 적용되는 가상 머신 배치 정책을 저장 및 관리하는 배치 정책 관리 단계를 더 포함하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 방법.
15. The method according to claim 15,
Wherein the method further comprises a deployment policy management step of storing and managing a virtual machine deployment policy applied to a virtual machine creation requesting user.
제16항에 있어서,
상기 물리 머신 선정 단계는, 상기 배치 정책 관리 단계의 가상 머신 배치 정책에 따라 상기 리소스 정보 관리 단계의 물리 머신 리소스 정보, 리소스 점유율 정보, 및 리소스 사용률 정보를 이용하여 상기 생성 요청된 가상 머신이 배치되는 물리 머신을 선정하는 단계인 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 방법.
17. The method of claim 16,
The physical machine selecting step may include a step of selecting a physical machine to which the generated virtual machine is allocated based on physical machine resource information, resource occupancy rate information, and resource utilization rate information of the resource information management step in accordance with the virtual machine placement policy of the batch policy management step And selecting a physical machine to be used in the virtual machine.
제10항에 있어서,
상기 방법은,
상기 물리 머신 선정 단계 전에, 상기 시스템이 사용자의 가상 머신 생성 요청을 수신하는 단계; 및
상기 가상 머신 배치 단계 후에, 상기 시스템이 상기 가상 머신 생성 요청에 대응하는 가상 머신 생성 결과를 상기 사용자의 클라이언트로 전송하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 방법.
11. The method of claim 10,
The method comprises:
Before the physical machine selection step, the system receiving a user's virtual machine creation request; And
Further comprising, after the virtual machine placement step, the system transmitting a virtual machine creation result corresponding to the virtual machine creation request to the user's client.
제10항 내지 제18항 중 어느 한 항에 따른 방법을 컴퓨터 시스템을 통해 실행하는 컴퓨터 프로그램으로서 기록매체에 기록된 컴퓨터 프로그램.19. A computer program for executing a method according to any one of claims 10 to 18 via a computer system, the computer program being recorded on a recording medium.
KR1020150108707A 2015-07-31 2015-07-31 Virtual machine provisioning system and method for cloud service KR102389334B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150108707A KR102389334B1 (en) 2015-07-31 2015-07-31 Virtual machine provisioning system and method for cloud service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150108707A KR102389334B1 (en) 2015-07-31 2015-07-31 Virtual machine provisioning system and method for cloud service

Publications (2)

Publication Number Publication Date
KR20170014804A true KR20170014804A (en) 2017-02-08
KR102389334B1 KR102389334B1 (en) 2022-04-20

Family

ID=58155536

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150108707A KR102389334B1 (en) 2015-07-31 2015-07-31 Virtual machine provisioning system and method for cloud service

Country Status (1)

Country Link
KR (1) KR102389334B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102187382B1 (en) * 2020-07-31 2020-12-07 나무기술 주식회사 Container VirtualOS Integrated Monitoring Operating Methods Based on Cloud Infrastructure
KR102262645B1 (en) * 2020-12-31 2021-06-09 박용정 Monitoring system and method for resource manegement in cloud computing
KR20210101111A (en) * 2020-02-07 2021-08-18 쿠팡 주식회사 Systems and methods for centralization and diagnostics for live virtual server performance data

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102557385B1 (en) 2022-11-29 2023-07-20 쿤텍 주식회사 virtual machine system and vitual machine provisioning method using the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120053850A (en) * 2010-11-18 2012-05-29 주식회사 와이즈토드코리아 Apparatus and method for resource distribution in cloud computing
KR20120063662A (en) * 2010-12-08 2012-06-18 텔코웨어 주식회사 Load balancer and method for managing load balancing using this
KR20120118271A (en) * 2011-04-18 2012-10-26 주식회사 케이티 Method for selecting virtual machine migration target
JP2015022385A (en) * 2013-07-17 2015-02-02 日本電気株式会社 Virtual system and method for controlling virtual system
KR20150045669A (en) * 2013-10-21 2015-04-29 한국전자통신연구원 Appratus for a virtual desktop service and method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120053850A (en) * 2010-11-18 2012-05-29 주식회사 와이즈토드코리아 Apparatus and method for resource distribution in cloud computing
KR20120063662A (en) * 2010-12-08 2012-06-18 텔코웨어 주식회사 Load balancer and method for managing load balancing using this
KR20120118271A (en) * 2011-04-18 2012-10-26 주식회사 케이티 Method for selecting virtual machine migration target
JP2015022385A (en) * 2013-07-17 2015-02-02 日本電気株式会社 Virtual system and method for controlling virtual system
KR20150045669A (en) * 2013-10-21 2015-04-29 한국전자통신연구원 Appratus for a virtual desktop service and method thereof

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210101111A (en) * 2020-02-07 2021-08-18 쿠팡 주식회사 Systems and methods for centralization and diagnostics for live virtual server performance data
US11544098B2 (en) 2020-02-07 2023-01-03 Coupang Corp. Systems and methods for centralization and diagnostics for live virtual server performance data
KR102187382B1 (en) * 2020-07-31 2020-12-07 나무기술 주식회사 Container VirtualOS Integrated Monitoring Operating Methods Based on Cloud Infrastructure
KR102262645B1 (en) * 2020-12-31 2021-06-09 박용정 Monitoring system and method for resource manegement in cloud computing

Also Published As

Publication number Publication date
KR102389334B1 (en) 2022-04-20

Similar Documents

Publication Publication Date Title
CN110896355B (en) Network slice selection method and device
EP3295630B1 (en) System and methods for virtual infrastructure management between operator networks
KR102199278B1 (en) Accelerated resource processing method and apparatus, and network function virtualization system
US8244874B1 (en) Edge-based resource spin-up for cloud computing
CN108924268B (en) Container cloud service system and pod creation method and device
EP3512233A1 (en) Method for managing network slice and management unit
KR100956636B1 (en) System and method for service level management in virtualized server environment
US10993127B2 (en) Network slice instance management method, apparatus, and system
JP6881575B2 (en) Resource allocation systems, management equipment, methods and programs
CN104052803A (en) Decentralized distributed rendering method and system
CN105453485A (en) System and method for service embedding and resource orchestration
WO2018201856A1 (en) System and method for self organizing data center
KR102389334B1 (en) Virtual machine provisioning system and method for cloud service
CN115499859B (en) NWDAF-based method for managing and deciding computing resources
WO2016095524A1 (en) Resource allocation method and apparatus
JP2017126238A (en) System management device, information processing system, system management method, and program
US9654333B2 (en) Application allocation in datacenters
JP2020028060A (en) Communication system and communication method
CN109302302B (en) Method, system and computer readable storage medium for scaling service network element
CN114073055B (en) network controller
CN115168017B (en) Task scheduling cloud platform and task scheduling method thereof
CN107534678B (en) Method, device and system for establishing connection between VNFM and VIM
WO2012113446A1 (en) Associating computing resources and communication resources with a service in a resource management architecture
KR20130028554A (en) Large capacity distributed processing apparatus using a message bus and the method thereof
US10986036B1 (en) Method and apparatus for orchestrating resources in multi-access edge computing (MEC) network

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