KR102389334B1 - 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법 - Google Patents

클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법 Download PDF

Info

Publication number
KR102389334B1
KR102389334B1 KR1020150108707A KR20150108707A KR102389334B1 KR 102389334 B1 KR102389334 B1 KR 102389334B1 KR 1020150108707 A KR1020150108707 A KR 1020150108707A KR 20150108707 A KR20150108707 A KR 20150108707A KR 102389334 B1 KR102389334 B1 KR 102389334B1
Authority
KR
South Korea
Prior art keywords
virtual machine
resource
machine
usage rate
physical machine
Prior art date
Application number
KR1020150108707A
Other languages
English (en)
Other versions
KR20170014804A (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 KR1020150108707A priority Critical patent/KR102389334B1/ko
Publication of KR20170014804A publication Critical patent/KR20170014804A/ko
Application granted granted Critical
Publication of KR102389334B1 publication Critical patent/KR102389334B1/ko

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

클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법에 관한 기술이 개시된다.
본 발명에 따른 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템은,클라우드 서버를 구성하는 물리 머신에 기 배치된 가상 머신의 리소스 점유율 정보를 수집하는 점유율 정보 수집부; 상기 기 배치된 가상 머신의 리소스 사용률 정보를 수집하는 사용률 정보 수집부; 상기 리소스 점유율 정보 및 상기 리소스 사용률 정보를 이용하여 사용자에 의해 생성 요청된 가상 머신이 배치되는 물리 머신을 선정하는 물리 머신 선정부; 및 상기 물리 머신 선정부에 의해 선정된 물리 머신의 리소스를 할당하여 상기 선정된 물리 머신에 상기 생성 요청된 가상 머신을 생성 및 배치하는 가상 머신 배치부를 포함하여, 물리 머신의 리소스 단편화를 최소화하여 리소스 이용의 효율성을 개선하고 서비스 시스템 구축 비용을 절감함은 물론, 물리 머신의 과부하를 방지하여 클라우드 서비스의 서비스 품질을 보장한다.

Description

클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법{Virtual machine provisioning system and method for cloud service}
본 발명은 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법에 관한 것으로서, 더욱 상세하게는, 물리 머신의 리소스 단편화를 최소화하여 리소스 이용의 효율성을 개선함은 물론, 물리 머신의 과부하를 방지하여 클라우드 서비스의 서비스 품질을 보장하는 가상 머신 프로비저닝 시스템 및 방법에 관한 것이다.
일반적으로, 클라우드 서비스(cloud service)는, 인터넷 기반의 컴퓨팅 서비스로서, 서비스 사용자로 하여금 각종 콘텐츠와 프로그램 등을 사용자의 개인용 PC나 모바일 단말 등이 아닌 인터넷을 통해 접속되는 서비스 제공자 서버에 저장하여 사용하도록 하는 서비스를 말한다.
이러한 클라우드 서비스에서는, 서비스 사용자들의 요청에 따라 실제 서버에 해당하는 물리 머신(physical machine)의 한정된 리소스들을 할당하여 복수의 가상 머신(virtual machine)을 생성하고, 이러한 가상 머신들을 각각 사용자들에게 제공하는 가상 머신의 프로비저닝(provisioning)이 수행된다. 따라서, 서비스 제공자는 가상 머신 프로비저닝 시에 물리 머신의 리소스들을 효율적으로 할당하고 관리하여야만 모든 서비스 사용자들에 대하여 클라우드 서비스의 SLA(Service Level Agreement)와 QoS(Quality of Service) 등을 보장할 수 있다.
그러나, 한국 공개특허공보 제10-2012-0053850호 등에 개시된 바와 같이, 기존 기술들은, 물리 머신에 이미 배치된 가상 머신들의 리소스 점유율을 고려하지 않고 신규 가상 머신을 배치하기 때문에, 가상 머신들의 배치 및 제거 과정이 반복됨에 따라 리소스의 단편화(fragmentation)를 심화시키고, 리소스 이용의 비효율을 초래하는 문제가 있다.
또한, 한국 공개특허공보 제10-2012-0103308호 등에 개시된 바와 같이, 기존 기술들은, 물리 머신의 리소스를 점유하고 있는 가상 머신들의 실제 리소스 사용률을 고려하지 않고 신규 가상 머신을 배치하기 때문에, 특정 물리 머신에 리소스 사용률이 높은 가상 머신들이 집중되어 과부하를 발생시키고 클라우드 서비스의 서비스 품질을 악화시키는 문제가 있다.
본 발명이 해결하고자 하는 기술적 과제는, 물리 머신의 리소스 단편화를 최소화하여 리소스 이용의 효율성을 개선하고 서비스 시스템 구축 비용을 절감함은 물론, 물리 머신의 과부하를 방지하여 클라우드 서비스의 서비스 품질을 보장하는 가상 머신 프로비저닝 시스템 및 방법을 제공하는 것이다.
상기와 같은 기술적 과제를 해결하기 위하여 본 발명에 따른 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템은,클라우드 서버를 구성하는 물리 머신에 기 배치된 가상 머신의 리소스 점유율 정보를 수집하는 점유율 정보 수집부; 상기 기 배치된 가상 머신의 리소스 사용률 정보를 수집하는 사용률 정보 수집부; 상기 리소스 점유율 정보 및 상기 리소스 사용률 정보를 이용하여 사용자에 의해 생성 요청된 가상 머신이 배치되는 물리 머신을 선정하는 물리 머신 선정부; 및 상기 물리 머신 선정부에 의해 선정된 물리 머신의 리소스를 할당하여 상기 선정된 물리 머신에 상기 생성 요청된 가상 머신을 생성 및 배치하는 가상 머신 배치부를 포함한다.
일 실시예에 있어서, 상기 점유율 정보 수집부는, 상기 물리 머신의 CPU 코어, 메모리, 및 디스크 중 1 이상에 관한 리소스 점유율 정보를 수집할 수 있다.
일 실시예에 있어서, 상기 사용률 정보 수집부는, 상기 기 배치된 가상 머신의 CPU 사용률, 메모리 사용률, 디스크 사용률, 및 통신 트래픽 사용률 중 1 이상에 관한 리소스 사용률 정보를 수집할 수 있다.
일 실시예에 있어서, 상기 물리 머신 선정부는, 상기 리소스 점유율 정보를 이용하여 후보 물리 머신을 결정하고, 상기 리소스 사용율 정보를 이용하여 상기 후보 물리 머신을 상기 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정할 수 있다.
일 실시예에 있어서, 상기 물리 머신 선정부는, 상기 리소스 점유율 정보를 이용하여 상기 생성 요청된 가상 머신이 배치될 수 있는 물리 머신들 중 최소 리소스를 가진 물리 머신을 상기 후보 물리 머신으로 결정하고, 상기 리소스 사용률 정보를 이용하여 상기 후보 물리 머신에 기 배치된 가상 머신의 리소스 사용률이 소정 임계치 이하인 경우 상기 후보 물리 머신을 상기 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정할 수 있다.
일 실시예에 있어서, 상기 시스템은, 상기 클라우드 서버를 구성하는 물리 머신의 리소스 정보, 상기 점유율 정보 수집부에 의해 수집된 리소스 점유율 정보, 및 상기 사용률 정보 수집부에 의해 수집된 리소스 사용률 정보를 저장 및 관리하는 리소스 정보 관리부를 더 포함할 수 있다.
일 실시예에 있어서, 상기 시스템은, 가상 머신 생성 요청 사용자에게 적용되는 가상 머신 배치 정책을 저장 및 관리하는 배치 정책 관리부를 더 포함할 수 있다.
일 실시예에 있어서, 상기 물리 머신 선정부는, 상기 배치 정책 관리부의 가상 머신 배치 정책에 따라 상기 리소스 정보 관리부의 물리 머신 리소스 정보, 리소스 점유율 정보, 및 리소스 사용률 정보를 이용하여 상기 생성 요청된 가상 머신이 배치되는 물리 머신을 선정할 수 있다.
일 실시예에 있어서, 상기 시스템은, 사용자의 가상 머신 생성 요청을 수신하고, 상기 가상 머신 생성 요청에 대응하는 가상 머신 생성 결과를 상기 사용자의 클라이언트로 전송하는 사용자 요청 처리부를 더 포함할 수 있다.
상기와 같은 기술적 과제를 해결하기 위하여 본 발명에 따른 클라우드 서비스를 위한 가상 머신 프로비저닝 방법은, 클라우드 서버와 연동하는 소정 시스템을 이용하는 방법으로서, 상기 시스템이, 클라우드 서버를 구성하는 물리 머신에 기 배치된 가상 머신의 리소스 점유율 정보를 수집하는 점유율 정보 수집 단계; 상기 시스템이, 상기 기 배치된 가상 머신의 리소스 사용률 정보를 수집하는 사용률 정보 수집 단계; 상기 시스템이, 상기 리소스 점유율 정보 및 상기 리소스 사용률 정보를 이용하여 사용자에 의해 생성 요청된 가상 머신이 배치되는 물리 머신을 선정하는 물리 머신 선정 단계; 및 상기 시스템이, 상기 물리 머신 선정 단계에 의해 선정된 물리 머신의 리소스를 할당하여 상기 선정된 물리 머신에 상기 생성 요청된 가상 머신을 생성 및 배치하는 가상 머신 배치 단계를 포함한다.
일 실시예에 있어서, 상기 점유율 정보 수집 단계는, 상기 물리 머신의 CPU 코어, 메모리, 및 디스크 중 1 이상에 관한 리소스 점유율 정보를 수집하는 단계일 수 있다.
일 실시예에 있어서, 상기 사용률 정보 수집 단계는, 상기 기 배치된 가상 머신의 CPU 사용률, 메모리 사용률, 디스크 사용률, 및 통신 트래픽 사용률 중 1 이상에 관한 리소스 사용률 정보를 수집하는 단계일 수 있다.
일 실시예에 있어서, 상기 물리 머신 선정 단계는, 상기 리소스 점유율 정보를 이용하여 후보 물리 머신을 결정하는 단계; 및 상기 리소스 사용율 정보를 이용하여 상기 후보 물리 머신을 상기 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 물리 머신 선정 단계는, 상기 리소스 점유율 정보를 이용하여 상기 생성 요청된 가상 머신이 배치될 수 있는 물리 머신들 중 최소 리소스를 가진 물리 머신을 상기 후보 물리 머신으로 결정하는 단계; 및 상기 리소스 사용률 정보를 이용하여 상기 후보 물리 머신에 기 배치된 가상 머신의 리소스 사용률이 소정 임계치 이하인 경우 상기 후보 물리 머신을 상기 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 방법은, 상기 클라우드 서버를 구성하는 물리 머신의 리소스 정보, 상기 점유율 정보 수집부에 의해 수집된 리소스 점유율 정보, 및 상기 사용률 정보 수집부에 의해 수집된 리소스 사용률 정보를 저장 및 관리하는 리소스 정보 관리 단계를 더 포함할 수 있다.
일 실시예에 있어서, 상기 방법은, 가상 머신 생성 요청 사용자에게 적용되는 가상 머신 배치 정책을 저장 및 관리하는 배치 정책 관리 단계를 더 포함할 수 있다.
일 실시예에 있어서, 상기 물리 머신 선정 단계는, 상기 배치 정책 관리 단계의 가상 머신 배치 정책에 따라 상기 리소스 정보 관리 단계의 물리 머신 리소스 정보, 리소스 점유율 정보, 및 리소스 사용률 정보를 이용하여 상기 생성 요청된 가상 머신이 배치되는 물리 머신을 선정하는 단계일 수 있다.
일 실시예에 있어서, 상기 방법은, 상기 물리 머신 선정 단계 전에, 상기 시스템이 사용자의 가상 머신 생성 요청을 수신하는 단계; 및 상기 가상 머신 배치 단계 후에, 상기 시스템이 상기 가상 머신 생성 요청에 대응하는 가상 머신 생성 결과를 상기 사용자의 클라이언트로 전송하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 물리 머신에 기 배치된 가상 머신들의 리소스 점유율을 고려하여 최적합 방식으로 가상 머신을 배치함으로써, 물리 머신의 리소스 단편화를 최소화하고 리소스 이용 효율을 개선함은 물론, 서비스 시스템 구축 비용을 절감할 수 있다.
또한, 물리 머신에 기 배치된 가상 머신들의 실제 리소스 사용률을 고려하여 물리 머신의 부하가 분산되도록 가상 머신을 배치함으로써, 특정 물리 머신에서의 과부하 발생을 방지하고 모든 서비스 사용자에 대하여 클라우드 서비스의 SLA와 QoS를 보장할 수 있다.
나아가, 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자라면, 본 발명에 따른 다양한 실시예들이 상기 언급되지 않은 여러 기술적 과제들을 해결할 수 있음을 이하의 설명으로부터 자명하게 이해할 수 있을 것이다.
도 1은 본 발명이 적용되는 클라우드 서비스 환경의 일례를 나타낸 도면.
도 2는 본 발명의 일 실시예에 따른 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템을 나타낸 블록도.
도 3은 본 발명의 일 실시예에 따른 클라우드 서비스를 위한 가상 머신 프로비저닝 방법을 나타낸 흐름도.
도 4는 리소스 정보 관리부에 의해 관리되는 데이터베이스 구조의 일례를 나타낸 도면.
도 5는 배치 정책 관리부에 의해 관리되는 데이터베이스 구조의 일례를 나타낸 도면.
도 6은 본 발명의 일 실시예에 따라 가상 머신을 배치하는 과정을 나타낸 도면.
이하, 본 발명의 기술적 과제에 관한 해결 방안을 명확화하기 위해 첨부도면을 참조하여 본 발명의 바람직한 실시예들을 상세하게 설명한다. 다만, 본 발명을 설명함에 있어서 관련 공지기술에 관한 설명이 오히려 본 발명의 요지를 불명료하게 하는 경우 그에 관한 설명은 생략하기로 한다. 또한, 후술하는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 설계자, 제조자 등의 의도 또는 관례 등에 따라 달라질 수 있을 것이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1에는 본 발명이 적용되는 클라우드 서비스 환경의 일례가 도시되어 있다.
도 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)을 클러스터링하여 클러스터 단위로 관리할 수도 있다.
본 발명에 따른 가상 머신 프로비저닝 시스템(100)은, 이러한 클라우드 서비스 환경에서 클라우드 서버(10)와 연동하여 클라우드 서비스를 위한 가상 머신 프로비저닝을 수행하며, 물리 머신(12)의 리소스 단편화를 최소화하여 리소스 이용의 효율성을 개선함은 물론, 물리 머신(12)의 과부하를 방지하여 클라우드 서비스의 서비스 품질을 보장한다.
도 2에는 본 발명의 일 실시예에 따른 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템이 블록도로 도시되어 있다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 가상 머신 프로비저닝 시스템(100)은, 점유율 정보 수집부(110), 사용률 정보 수집부(120), 물리 머신 선정부(130), 및 가상 머신 배치부(140)를 포함하며, 리소스 정보 관리부(150), 배치 정책 관리부(160), 사용자 요청 처리부(102) 등을 더 포함할 수 있다.
도 3에는 본 발명의 일 실시예에 따른 클라우드 서비스를 위한 가상 머신 프로비저닝 방법이 흐름도로 도시되어 있다.
도 2 및 도 3을 참조하여 가상 머신 프로비저닝 시스템(100)의 기능 및 동작을 더욱 구체적으로 설명한다.
우선, 점유율 정보 수집부(110)는, 클라우드 서버(10)를 구성하는 물리 머신들(12)에 기 배치된 가상 머신들의 리소스 점유율 정보를 수집한다(S310). 이 경우, 점유율 정보 수집부(110)는, 물리 머신(12)의 CPU 코어, 메모리, 및 디스크 중 1 이상에 관한 리소스 점유율 정보를 수집할 수 있다.
그 다음, 사용률 정보 수집부(120)는, 각각의 물리 머신(12)에 기 배치된 가상 머신의 실제 리소스 사용률 정보를 수집한다(S320). 이 경우, 사용률 정보 수집부(120)는, 기 배치된 가상 머신의 CPU 사용률, 메모리 사용률, 디스크 사용률, 및 통신 트래픽 사용률 중 1 이상에 관한 리소스 사용률 정보를 수집할 수 있다.
점유율 정보 수집부(110)와 사용률 정보 수집부(120)는, 주기적으로 또는 특정 이벤트 발생 시에 해당 정보를 수집할 수 있으며, 수집된 리소스 관련 정보들은 리소스 정보 관리부(150)에 저장되어 관리될 수 있다. 즉, 리소스 정보 관리부(150)는, 클라우드 서버(10)를 구성하는 물리 머신(12)의 전체 리소스 정보, 점유율 정보 수집부(110)에 의해 수집된 리소스 점유율 정보, 및 사용률 정보 수집부(120)에 의해 수집된 리소스 사용률 정보를 데이터베이스(152)에 저장하고, 주기적 또는 특정 이벤트 발생 시 저장된 정보를 업데이트할 수 있다.
도 4에는 리소스 정보 관리부(150)에 의해 관리되는 데이터베이스 구조의 일례가 도시되어 있다.
도 4에 도시된 바와 같이, 리소스 정보 관리부(150)는, 물리 머신(12)의 서비스 지역 정보(zone ID), 클라우드 서버 정보(POD ID), 클러스터 정보(cluster ID), 물리 머신 정보(PM ID)와 관련하여 해당 물리 머신(12)의 가상 머신의 수(VM 수), CPU 코어 수(CPU), 메모리 용량(memory), 디스크 용량(disk) 등의 리소스 관련 정보를 저장 및 관리할 수 있다.
한편, 물리 머신 선정부(130)는, 사용자 요청 처리부(102)가 사용자의 클라이언트(30)로부터 가상 머신 생성 요청을 수신하는 경우(S330), 리소스 정보 관리부(150)에 저장된 리소스 점유율 정보 및 리소스 사용률 정보를 이용하여, 사용자에 의해 생성 요청된 가상 머신이 배치될 물리 머신을 선정한다(S340, S50). 가상 머신 생성을 위해 할당되는 물리 머신(12)의 리소스의 양은 사용자의 요청 내지 SLA(Service Level Agreement)에 따라 달라질 수 있다. 예컨대, 사용자 요청 처리부(102)가 수신하는 가상 머신 생성 요청에는, 사용자가 필요로 하는 코어 수, 메모리 용량, 및 디스크 용량 등의 정보가 포함될 수 있다. 또한, 물리 머신 선정부(130)는, 배치 정책 관리부(160)로부터 가상 머신 배치 정책을 전송받고, 그에 따라 리소스 정보 관리부(150)의 물리 머신 리소스 정보, 리소스 점유율 정보, 및 리소스 사용률 정보 등을 이용하여 가상 머신이 배치될 물리 머신을 선정할 수 있다.
도 5에는 배치 정책 관리부(160)에 의해 관리되는 데이터베이스 구조의 일례가 도시되어 있다.
도 5에 도시된 바와 같이, 배치 정책 관리부(160)는, 가상 머신 생성 요청 사용자에게 적용되는 가상 머신 배치 정책을 저장 및 관리한다. 즉, 배치 정책 관리부(160)는, 사용자 정보(사용자 ID)와 관련하여 해당 사용자에게 적용되는 가상 머신 배치 정책을 저장하고 적용 정책이 변경되는 경우 저장된 정책을 업데이트할 수 있다. 배치 정책 관리부(160)에 저장 및 관리되는 가상 머신 배치 정책에는 리소스 점유율에 따른 배치 정책(리소스 점유율 정책)과 리소스 사용률에 따른 배치 정책(리소스 사용률 정책)이 포함된다. 본 발명에 있어서, 리소스 점유율에 따른 배치 정책으로는 소위 최적합(best fit) 정책이 적용된다. 또한, 리소스 사용률에 따른 배치 정책으로는 물리 머신(12)의 특정 리소스를 기준 리소스로 하여 해당 물리 머신(12)에 배치된 가상 머신들의 기준 리소스 사용률들이 평균적으로 소정 임계치 이하인 경우에만 해당 물리 머신(12)에 신규 가상 머신을 배치하도록 하는 정책이 적용된다. 이때, 기준 리소스 사용률로는 CPU 사용률, disk 입출력 사용률, 또는 통신 트래픽 사용률 등이 사용될 수 있다. 또한, 기준 리소스 사용률은, 사용자의 요청 또는 가상 머신의 용도 등에 따라 사용자마다 다르게 결정될 수 있다.
따라서, 물리 머신 선정부(130)는, 배치 정책 관리부(160)의 가상 머신 배치 정책에 따라 리소스 정보 관리부(150)의 리소스 점유율 정보를 이용하여 후보 물리 머신을 결정하고, 리소스 사용율 정보를 이용하여 후보 물리 머신을 신규 가상 머신이 배치될 물리 머신으로 선정할 수 있다(S340, S350).
예컨대, 물리 머신 선정부(130)는, 최적합 정책을 적용하여 후보 물리 머신을 결정할 수 있다. 즉, 물리 머신 선정부(130)는, 리소스 점유율 정보를 이용하여 생성 요청된 가상 머신이 배치될 수 있는 물리 머신들 중 최소 리소스를 가진 물리 머신을 후보 물리 머신으로 결정할 수 있다(S340). 그 다음, 물리 머신 선정부(130)는, 리소스 사용률에 따른 정책을 적용하여 후보 물리 머신을 신규 가상 머신이 배치될 물리 머신으로 최종 선정할 수 있다. 즉, 물리 머신 선정부(130)는, 리소스 사용률 정보를 이용하여 후보 물리 머신에 기 배치된 가상 머신의 리소스 사용률이 소정 임계치 이하인 경우 후보 물리 머신을 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정할 수 있다(S350). 반면, 물리 머신 선정부(130)는, 후보 물리 머신에 기 배치된 가상 머신의 리소스 사용률이 소정 임계치를 초과하는 경우, 해당 후보 물리 머신을 가상 머신 배치 대상에서 제외하고(S352), 두 번째로 적은 리소스를 가진 물리 머신을 후보 물리 머신으로 결정할 수 있다(S350).
그 다음, 가상 머신 배치부(140)는, 물리 머신 선정부(130)에 의해 선정된 물리 머신의 리소스를 할당하여 해당 물리 머신에 생성 요청된 가상 머신을 생성 및 배치한다(S360).
도 6에는 본 발명의 일 실시예에 따라 가상 머신을 배치하는 과정이 도시되어 있다.
도 6에 도시된 바와 같이, 신규 가상 머신들(601 내지 605)이 배치될 수 있는 물리 머신들(610, 620, 630)이 3개인 경우, 4 코어가 필요한 제1 가상 머신(601)은 3개의 물리 머신 중 하나, 예컨대 제1 물리 머신(610)에 배치될 수 있다. 그 결과, 제1 물리 머신(610)은 12 코어가 남게 되고, 제2 물리 머신(620)과 제3 물리 머신(630)은 각각 16 코어가 남게 된다.
그 다음, 4 코어가 필요한 제2 가상 머신(602)은 최적합 정책에 따라 최소 리소스를 가진 제1 물리 머신(610)에 배치된다. 동일한 방식으로 제3 가상 머신(603)도 제1 물리 머신(610)에 배치될 수 있다.
그 다음, 16 코어가 필요한 제4 가상 머신(604)은 4 코어만 남은 제1 물리 머신(610)에 배치될 수 없고, 제2 물리 머신(620) 또는 제3 물리 머신(630)에 배치될 수 있다. 제4 가상 머신(604)이 제2 물리 머신(620)에 배치되면 제2 물리 머신(620)의 잔여 코어는 존재하지 않게 된다.
그 다음, 4 코어가 필요한 제5 가상 머신(605)은, 최적합 정책에 따라 제1 물리 머신(610)과 제3 물리 머신(630) 중에서 제1 물리 머신(610)에 배치될 수 있다. 그러나, 제1 물리 머신(610)에 기 배치된 제1, 제2, 제3 가상 머신(601, 602, 603)의 리소스 사용률이 소정 임계치를 초과하는 경우, 제5 가상 머신(605)은 과부하 발생을 방지하기 위해 제3 물리 머신(630)에 배치된다.
이와 같이, 사용자의 가상 머신 생성 요청에 대응하여 가상 머신의 생성 및 배치가 완료되면, 사용자 요청 처리부(102)는, 가상 머신 생성 결과를 사용자의 클라이언트로 전송한다(S370).
그리고, 클라우드 서비스에서는 가상 머신의 생성과 제거가 수시로 발생하기 때문에, 점유율 정보 수집부(110)와 사용률 정보 수집부(120)는, 리소스 정보 수집 주기가 도래하거나 소정 이벤트가 발생하면(S380), 각각 리소스 점유율 정보나 리소스 사용률 정보를 새롭게 수집하고, 리소스 정보 관리부(150)는 해당 정보를 업데이트한다.
한편, 본 발명의 실시예들은 컴퓨터가 읽어들일 수 있는 컴퓨터 프로그램을 컴퓨터로 판독 가능한 기록매체에 기록하여 구현하는 것이 가능하다. 본 발명의 실시예들이 컴퓨터 프로그램을 이용하여 구현되는 경우, 본 발명의 구성 수단들은 필요한 작업을 실행하는 프로그램 코드 세그먼트들이다. 이러한, 컴퓨터 프로그램 내지 코드 세그먼트들은 컴퓨터로 판독 가능한 기록매체에 저장되거나 반송파와 결합하여 전송 매체 또는 통신망을 통해 데이터 신호 형태로 전송될 수 있다. 컴퓨터로 판독 가능한 기록매체에는 컴퓨터 시스템이 읽어들일 수 있는 데이터를 기록하는 모든 종류의 매체가 포함된다. 예컨대, 컴퓨터로 판독 가능한 기록매체에는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 포함될 수 있다. 또한, 이러한 기록매체를 다양한 네트워크로 연결된 컴퓨터 시스템에 분산 배치함으로써 프로그램 코드들이 분산 방식으로 저장되거나 실행되도록 할 수 있다.
상술한 바와 같이, 본 발명에 따르면, 물리 머신에 기 배치된 가상 머신들의 리소스 점유율을 고려하여 최적합 방식으로 가상 머신을 배치함으로써, 물리 머신의 리소스 단편화를 최소화하고 리소스 이용 효율을 개선함은 물론, 서비스 시스템 구축 비용을 절감할 수 있다. 또한, 물리 머신에 기 배치된 가상 머신들의 실제 리소스 사용률을 고려하여 물리 머신의 부하가 분산되도록 가상 머신을 배치함으로써, 특정 물리 머신에서의 과부하 발생을 방지하고 모든 서비스 사용자에 대하여 클라우드 서비스의 SLA와 QoS를 보장할 수 있다. 나아가, 본 발명에 따른 다양한 실시예들은, 당해 기술 분야는 물론 관련 기술 분야에서 본 명세서에 언급된 내용 이외의 다른 여러 기술적 과제들을 해결할 수 있음은 물론이다.
지금까지 본 발명에 대해 구체적인 실시예들을 참고하여 설명하였다. 그러나 당업자라면 본 발명의 기술적 범위에서 다양한 변형 실시예들이 구현될 수 있음을 명확하게 이해할 수 있을 것이다. 그러므로 앞서 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 즉, 본 발명의 진정한 기술적 사상의 범위는 첨부된 특허청구범위에 나타나 있으며, 그와 균등범위 내에 있는 모든 차이점은 본 발명에 포함되는 것으로 해석되어야 할 것이다.
100 : 가상 머신 프로비저닝 시스템 102 : 사용자 요청 처리부
110 : 점유율 정보 수집부 120 : 사용률 정보 수집부
130 : 물리 머신 선정부 140 : 가상 머신 배치부
150 : 리소스 정보 관리부 160 : 배치 정책 관리부

Claims (19)

  1. 클라우드 서버를 구성하는 물리 머신에 기 배치된 가상 머신의 리소스 점유율 정보를 수집하는 점유율 정보 수집부;
    상기 기 배치된 가상 머신의 리소스 사용률 정보를 수집하는 사용률 정보 수집부;
    상기 리소스 점유율 정보 및 상기 리소스 사용률 정보를 이용하여 사용자에 의해 생성 요청된 가상 머신이 배치되는 물리 머신을 선정하는 물리 머신 선정부; 및
    상기 물리 머신 선정부에 의해 선정된 물리 머신의 리소스를 할당하여 상기 선정된 물리 머신에 상기 생성 요청된 가상 머신을 생성 및 배치하는 가상 머신 배치부를 포함하고,
    상기 물리 머신 선정부는,
    상기 리소스 점유율 정보를 이용하여 상기 생성 요청된 가상 머신이 배치될 수 있는 물리 머신들 중 최소 리소스를 가진 물리 머신을 후보 물리 머신으로 결정하고,
    상기 리소스 사용률 정보를 이용하여 상기 후보 물리 머신을 상기 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정하는 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템.
  2. 제1항에 있어서,
    상기 점유율 정보 수집부는, 상기 물리 머신의 CPU 코어, 메모리, 및 디스크 중 1 이상에 관한 리소스 점유율 정보를 수집하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템.
  3. 제1항에 있어서,
    상기 사용률 정보 수집부는, 상기 기 배치된 가상 머신의 CPU 사용률, 메모리 사용률, 디스크 사용률, 및 통신 트래픽 사용률 중 1 이상에 관한 리소스 사용률 정보를 수집하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템.
  4. 삭제
  5. 제1항에 있어서,
    상기 물리 머신 선정부는, 상기 리소스 사용률 정보를 이용하여 상기 후보 물리 머신에 기 배치된 가상 머신의 리소스 사용률이 소정 임계치 이하인 경우 상기 후보 물리 머신을 상기 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템.
  6. 제1항에 있어서,
    상기 시스템은, 상기 클라우드 서버를 구성하는 물리 머신의 리소스 정보, 상기 점유율 정보 수집부에 의해 수집된 리소스 점유율 정보, 및 상기 사용률 정보 수집부에 의해 수집된 리소스 사용률 정보를 저장 및 관리하는 리소스 정보 관리부를 더 포함하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템.
  7. 제6항에 있어서,
    상기 시스템은, 가상 머신 생성 요청 사용자에게 적용되는 가상 머신 배치 정책을 저장 및 관리하는 배치 정책 관리부를 더 포함하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템.
  8. 제7항에 있어서,
    상기 물리 머신 선정부는, 상기 배치 정책 관리부의 가상 머신 배치 정책에 따라 상기 리소스 정보 관리부의 물리 머신 리소스 정보, 리소스 점유율 정보, 및 리소스 사용률 정보를 이용하여 상기 생성 요청된 가상 머신이 배치되는 물리 머신을 선정하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템.
  9. 제1항에 있어서,
    상기 시스템은, 사용자의 가상 머신 생성 요청을 수신하고, 상기 가상 머신 생성 요청에 대응하는 가상 머신 생성 결과를 상기 사용자의 클라이언트로 전송하는 사용자 요청 처리부를 더 포함하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템.
  10. 클라우드 서버와 연동하는 소정 시스템을 이용하여 클라우드 서비스를 위한 가상 머신 프로비저닝을 수행하는 방법에 있어서,
    상기 시스템이, 클라우드 서버를 구성하는 물리 머신에 기 배치된 가상 머신의 리소스 점유율 정보를 수집하는 점유율 정보 수집 단계;
    상기 시스템이, 상기 기 배치된 가상 머신의 리소스 사용률 정보를 수집하는 사용률 정보 수집 단계;
    상기 시스템이, 상기 리소스 점유율 정보 및 상기 리소스 사용률 정보를 이용하여 사용자에 의해 생성 요청된 가상 머신이 배치되는 물리 머신을 선정하는 물리 머신 선정 단계; 및
    상기 시스템이, 상기 물리 머신 선정 단계에 의해 선정된 물리 머신의 리소스를 할당하여 상기 선정된 물리 머신에 상기 생성 요청된 가상 머신을 생성 및 배치하는 가상 머신 배치 단계를 포함하고,
    상기 물리 머신 선정 단계는,
    상기 리소스 점유율 정보를 이용하여 상기 생성 요청된 가상 머신이 배치될 수 있는 물리 머신들 중 최소 리소스를 가진 물리 머신을 후보 물리 머신으로 결정하는 단계; 및
    상기 리소스 사용률 정보를 이용하여 상기 후보 물리 머신을 상기 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정하는 단계;를 포함하는 클라우드 서비스를 위한 가상 머신 프로비저닝 방법.
  11. 제10항에 있어서,
    상기 점유율 정보 수집 단계는, 상기 물리 머신의 CPU 코어, 메모리, 및 디스크 중 1 이상에 관한 리소스 점유율 정보를 수집하는 단계인 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 방법.
  12. 제10항에 있어서,
    상기 사용률 정보 수집 단계는, 상기 기 배치된 가상 머신의 CPU 사용률, 메모리 사용률, 디스크 사용률, 및 통신 트래픽 사용률 중 1 이상에 관한 리소스 사용률 정보를 수집하는 단계인 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 방법.
  13. 삭제
  14. 제10항에 있어서,
    상기 리소스 사용률 정보를 이용하여 상기 후보 물리 머신을 상기 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정하는 단계는,
    상기 리소스 사용률 정보를 이용하여 상기 후보 물리 머신에 기 배치된 가상 머신의 리소스 사용률이 소정 임계치 이하인 경우 상기 후보 물리 머신을 상기 생성 요청된 가상 머신이 배치되는 물리 머신으로 선정하는 단계를 포함하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 방법.
  15. 제10항에 있어서,
    상기 방법은, 상기 클라우드 서버를 구성하는 물리 머신의 리소스 정보, 점유율 정보 수집부에 의해 수집된 리소스 점유율 정보, 및 사용률 정보 수집부에 의해 수집된 리소스 사용률 정보를 저장 및 관리하는 리소스 정보 관리 단계를 더 포함하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 방법.
  16. 제15항에 있어서,
    상기 방법은, 가상 머신 생성 요청 사용자에게 적용되는 가상 머신 배치 정책을 저장 및 관리하는 배치 정책 관리 단계를 더 포함하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 방법.
  17. 제16항에 있어서,
    상기 물리 머신 선정 단계는, 상기 배치 정책 관리 단계의 가상 머신 배치 정책에 따라 상기 리소스 정보 관리 단계의 물리 머신 리소스 정보, 리소스 점유율 정보, 및 리소스 사용률 정보를 이용하여 상기 생성 요청된 가상 머신이 배치되는 물리 머신을 선정하는 단계인 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 방법.
  18. 제10항에 있어서,
    상기 방법은,
    상기 물리 머신 선정 단계 전에, 상기 시스템이 사용자의 가상 머신 생성 요청을 수신하는 단계; 및
    상기 가상 머신 배치 단계 후에, 상기 시스템이 상기 가상 머신 생성 요청에 대응하는 가상 머신 생성 결과를 상기 사용자의 클라이언트로 전송하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 서비스를 위한 가상 머신 프로비저닝 방법.
  19. 제10항에 따른 방법을 컴퓨터 시스템을 통해 실행하는 컴퓨터 프로그램으로서 기록매체에 기록된 컴퓨터 프로그램.
KR1020150108707A 2015-07-31 2015-07-31 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법 KR102389334B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150108707A KR102389334B1 (ko) 2015-07-31 2015-07-31 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150108707A KR102389334B1 (ko) 2015-07-31 2015-07-31 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법

Publications (2)

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

Family

ID=58155536

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150108707A KR102389334B1 (ko) 2015-07-31 2015-07-31 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102389334B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102557385B1 (ko) 2022-11-29 2023-07-20 쿤텍 주식회사 가상머신 시스템 및 이를 이용한 가상머신 프로비저닝 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10817329B1 (en) 2020-02-07 2020-10-27 Coupang Corp. Systems and methods for centralization and diagnostics for live virtual server performance data
KR102187382B1 (ko) * 2020-07-31 2020-12-07 나무기술 주식회사 클라우드 인프라 기반의 컨테이너 가상os 통합 모니터링 운영 방법
KR102262645B1 (ko) * 2020-12-31 2021-06-09 박용정 클라우드 컴퓨팅 환경에서의 리소스관리를 위한 모니터링 시스템 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015022385A (ja) * 2013-07-17 2015-02-02 日本電気株式会社 仮想システムおよび仮想システム制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101201904B1 (ko) * 2010-11-18 2012-11-16 와이즈토드 피티이. 엘티디. 클라우드 컴퓨팅에서의 리소스 분배 장치 및 그 방법
KR101171657B1 (ko) * 2010-12-08 2012-08-09 텔코웨어 주식회사 로드 밸런서 및 이를 이용한 부하 분산 관리 방법
KR20120118271A (ko) * 2011-04-18 2012-10-26 주식회사 케이티 가상머신 이동 대상 선택 방법
KR102102168B1 (ko) * 2013-10-21 2020-04-21 한국전자통신연구원 가상 데스크탑 서비스 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015022385A (ja) * 2013-07-17 2015-02-02 日本電気株式会社 仮想システムおよび仮想システム制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102557385B1 (ko) 2022-11-29 2023-07-20 쿤텍 주식회사 가상머신 시스템 및 이를 이용한 가상머신 프로비저닝 방법

Also Published As

Publication number Publication date
KR20170014804A (ko) 2017-02-08

Similar Documents

Publication Publication Date Title
EP3295630B1 (en) System and methods for virtual infrastructure management between operator networks
EP3648401B1 (en) Method, device, and computer readable storage medium for managing network slice
KR102034532B1 (ko) 스펙트럼 리소스들의 제공 및 분배를 위한 시스템 및 방법
CN110896355B (zh) 一种网络切片的选择方法及装置
US9158586B2 (en) Systems and methods for managing cloud computing resources
US8244874B1 (en) Edge-based resource spin-up for cloud computing
KR100956636B1 (ko) 가상 서버 환경에서의 서비스 수준 관리 시스템 및 그 방법
JP2018198068A (ja) 分散型クラウドにおける作業負荷移動に基づくプロファイルベースのsla保証
US10993127B2 (en) Network slice instance management method, apparatus, and system
US10042676B1 (en) Capacity pool health index
JP6881575B2 (ja) 資源割当システム、管理装置、方法およびプログラム
Alkmim et al. Mapping virtual networks onto substrate networks
KR102389334B1 (ko) 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법
WO2013049079A2 (en) Dynamic request handling using cloud-computing capabilities
US11403149B2 (en) Management of a virtual network function
KR101613513B1 (ko) 네트워크 대역폭 및 cpu 이용률을 고려한 가상머신 배치 방법 및 시스템
JP2020028060A (ja) 通信システム及び通信方法
US9654333B2 (en) Application allocation in datacenters
CN109302302B (zh) 服务网元的扩缩方法、系统及计算机可读存储介质
CN111512594A (zh) 虚拟网络功能管理
WO2012113446A1 (en) Associating computing resources and communication resources with a service in a resource management architecture
US10986036B1 (en) Method and apparatus for orchestrating resources in multi-access edge computing (MEC) network
CN112860422B (zh) 用于作业处理的方法、设备和计算机程序产品
KR102025425B1 (ko) 가상 네트워크 기능 배치를 위한 네트워크 장치 및 그 방법
CN107005468B (zh) 一种待上载的nsd的确定方法及装置

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