KR20160063430A - 가상머신 리소스 사전예약을 통한 가용 리소스 자원 관리 및 할당 방법 - Google Patents

가상머신 리소스 사전예약을 통한 가용 리소스 자원 관리 및 할당 방법 Download PDF

Info

Publication number
KR20160063430A
KR20160063430A KR1020140165079A KR20140165079A KR20160063430A KR 20160063430 A KR20160063430 A KR 20160063430A KR 1020140165079 A KR1020140165079 A KR 1020140165079A KR 20140165079 A KR20140165079 A KR 20140165079A KR 20160063430 A KR20160063430 A KR 20160063430A
Authority
KR
South Korea
Prior art keywords
resource
specific client
resources
reservation
reserved
Prior art date
Application number
KR1020140165079A
Other languages
English (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 KR1020140165079A priority Critical patent/KR20160063430A/ko
Publication of KR20160063430A publication Critical patent/KR20160063430A/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]
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

가용 리소스 관리 방법 및 이를 적용한 VDI 서버가 제공된다. 본 가용 리소스 관리 방법에 따르면, 평균 사용 리소스, 버퍼 리소스 및 예약 리소스를 기초로 특정 클라이언트에게 가용 리소스를 할당할 수 있게 되어, 물리적으로 모두 동작하는 자원을 평균 리소스와 추가 버퍼 리소스를 포함하여 사용 상황에 따라 유휴서버를 늘림으로써 에너지 낭비를 최소화 할 수 있으며, 예약 리소스를 통해 더욱 효율적인 가상화 서버 사용 및 관리가 가능해지므로 추가 비용 발생을 최소화 할 수 있게 된다.

Description

가상머신 리소스 사전예약을 통한 가용 리소스 자원 관리 및 할당 방법{Method for managing and assigning available resourse by reservation of virtual machine}
본 발명은 가용 리소스 관리 방법 및 이를 적용한 VDI 서버에 관한 것으로, 더욱 상세하게는, 리소스 예약을 통해 리소스를 추가 할당할 수 있는 가용 리소스 관리 방법 및 이를 적용한 VDI 서버에 관한 것이다.
IT 패러다임의 변화를 이끈 클라우드 컴퓨팅 서비스의 확대로 다양한 산업분야에서 클라우드 접목이 시도되고 있으며 이에 따라 다양한 산업군의 요구사항에 맞는 섬세하고 고도화된 기술들에 대한 요구가 확대되는 추세이다.
컴퓨팅 자원을 빌려 쓰는 클라우드 컴퓨팅의 경우, 클라이언트 단말을 단순 입출력 장치로 활용하게 되면서, 고사양 컴퓨터뿐만이 아니라 저사양 단말까지 클라이언트 범위가 확대되고 있다. PC, 랩 탑 컴퓨터 등 고전적인 제품에서, 스마트폰, 개인용 휴대단말 등의 유동성 컴퓨팅 지원 제품들의 활동도가 높아지고 있으며, 클라우드 컴퓨팅 환경에서의 서비스를 위한 단말은 PC부터 스마트폰까지 다양하게 사용 가능하다.
이와 같은 환경을 제공하는 솔루션을 VDI(virtual desktop infrastructure)라고 하며, 이는 중앙에서 가상화로 동작하는 서버의 자원을 활용해 사용자별로 가상의 데스크탑과 데이터 저장공간을 제공하는 솔루션으로, 특히 해킹의 위험으로부터 안전하며 데이터 유출을 원천 봉쇄할 수 있다.
기존 가상화 시스템은 다수의 서버군을 클러스터링하여 자원을 할당 및 분배함으로서 사용자의 요구에 대응할 수 있도록 설계되어 있다. 하지만 이 모든 자원 할당은 물리적으로 존재하는 서버를 기반으로 하기 때문에, 사용자의 요구에 대응하기 위해서는 보다 많은 리소스를 보유하고 있어야 하는 단점이 있다. 하지만 사용자의 리소스 요구는 시시각각 변화할 수 있기 때문에 관리자 입장에서는 모든 가용 자원을 모두 동작시키고 있어야 해서 효율적이지 못한 점이 있다.
이와 같은 가상화 시스템에서는 많은 사람들이 리소스를 나눠서 사용하기 때문에, 효율적인 리소스의 분배가 필요하다. 하지만, 어떤 사용자가 많은 특정 작업을 위해 일시적으로 많은 리소스를 이용할 수도 있지만 현재 시스템 상에서는 이와 같은 경우에도 할당된 리소스를 이용할 수 밖에 없는 것이 현실이다.
따라서, 더욱 유연하게 리소스를 관리하기 위한 방안의 모색이 요청된다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 평균 사용 리소스, 버퍼 리소스 및 예약 리소스를 기초로 특정 클라이언트에게 가용 리소스를 할당하는 가용 리소스 관리 방법 및 이를 적용한 VDI 서버를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, VDI 서버에 의한 가용 리소스 관리 방법은, 특정 클라이언트의 평균 사용 리소스를 산출하는 단계; 상기 특정 클라이언트에게 여분으로 할당 가능한 버퍼 리소스를 산출하는 단계; 및 상기 평균 사용 리소스와 상기 버퍼 리소스를 기초로, 상기 특정 클라이언트에게 가용 리소스를 할당하는 단계;를 포함한다.
그리고, 상기 특정 클라이언트로부터 예약 리소스 요청을 수신하는 단계;를 더 포함하고, 상기 할당하는 단계는, 상기 평균 사용 리소스, 상기 버퍼 리소스 및 상기 예약 리소스를 기초로, 상기 특정 클라이언트에게 가용 리소스를 할당할 수도 있다.
또한, 상기 예약 리소스 요청은, 상기 특정 클라이언트의 정보, 예약 리소스의 사용 예정 기간 정보, 필요한 예약 리소스 용량 정보를 포함할 수도 있다.
그리고, 상기 예약 리소스 요청에 따라 상기 특정 클라이언트에게 할당하기 위한 리소스가 부족한 경우, 다른 클라이언트들에 할당된 버퍼 리소스들을 축소시켜 리소스를 추가로 확보하는 단계;를 더 포함할 수도 있다.
또한, 상기 할당하는 단계는, 상기 추가로 확보된 리소스를 이용하여, 상기 평균 사용 리소스, 상기 버퍼 리소스 및 상기 예약 리소스를 기초로, 상기 특정 클라이언트에게 가용 리소스를 할당할 수도 있다.
그리고, 상기 예약 리소스 요청에 따라 상기 특정 클라이언트에게 할당하기 위한 리소스가 부족한 경우, 예약 가능한 다른 기간을 상기 특정 클라이언트에 추천하는 단계;를 더 포함할 수도 있다.
또한, 상기 할당하는 단계는, 상기 특정 클라이언트에 의해 상기 예약 가능한 다른 기간이 선택된 경우, 상기 변경된 기간을 반영하여, 상기 평균 사용 리소스, 상기 버퍼 리소스 및 상기 예약 리소스를 기초로, 상기 특정 클라이언트에게 가용 리소스를 할당할 수도 있다.
그리고, 상기 예약 리소스 요청은, 상기 특정 클라이언트의 정보, 예약 리소스의 사용 예정 기간 정보, 예정 작업 정보를 포함하고, 상기 할당하는 단계는, 상기 예정 작업 정보에 대응되는 필요한 예약 리소스 용량 정보를 산출하고, 상기 산출된 예약 리소스 용량 정보를 이용하여, 상기 평균 사용 리소스, 상기 버퍼 리소스 및 상기 예약 리소스를 기초로, 상기 특정 클라이언트에게 가용 리소스를 할당할 수도 있다.
또한, 상기 리소스는, CPU(Central Processing Unit) 용량, RAM(Random Access Memory) 용량, 및 보조기억장치 용량 중 적어도 하나를 포함할 수도 있다.
한편, 본 발명의 일 실시예에 따른, VDI 서버는, 특정 클라이언트의 평균 사용 리소스를 산출하고, 상기 특정 클라이언트에게 여분으로 할당 가능한 버퍼 리소스를 산출하는 산출부; 상기 특정 클라이언트로부터 예약 리소스 요청을 수신하는 수신부; 및 상기 평균 사용 리소스, 상기 버퍼 리소스 및 상기 예약 리소스를 기초로, 상기 특정 클라이언트에게 가용 리소스를 할당하는 리소스 할당부;를 포함한다.
본 발명의 다양한 실시예에 따르면, 평균 사용 리소스, 버퍼 리소스 및 예약 리소스를 기초로 특정 클라이언트에게 가용 리소스를 할당하는 가용 리소스 관리 방법 및 이를 적용한 VDI 서버를 제공할 수 있게 되어, 물리적으로 모두 동작하는 자원을 평균 리소스와 추가 버퍼 리소스를 포함하여 사용 상황에 따라 유휴서버를 늘림으로써 에너지 낭비를 최소화 할 수 있으며, 예약 리소스를 통해 더욱 효율적인 가상화 서버 사용 및 관리가 가능해지므로 추가 비용 발생을 최소화 할 수 있게 된다.
도 1은 본 발명이 적용 가능한 VDI(Virtual Desktop Infrastructure) 시스템을 도시한 도면,
도 2는 본 발명의 일 실시예에 따른, VDI 서버에 의한 가용 리소스 관리 방법을 설명하기 위해 제공되는 흐름도,
도 3은 본 발명의 일 실시예에 따른, 리소스 부족시에 다른 클라이언트의 버퍼 리소스를 축소시켜 추가리소스를 확보하는 과정을 설명하기 위해 제공되는 흐름도,
도 4는 본 발명의 일 실시예에 따른, 리소스 부족시에 예약 가능한 다른 기간을 추천하는 과정을 설명하기 위해 제공되는 흐름도,
도 5는 본 발명의 일 실시예에 따른, 예정 작업 정보에 대응되는 리소스 용량을 산출하는 과정에 대해 설명하기 위해 제공되는 흐름도이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 본 발명이 적용가능한 VDI(Virtual Desktop Infrastructure) 시스템을 도시한 도면이다. 본 발명이 적용가능한 VDI 시스템은, 도 1에 도시된 바와 같이, VDI 서버(100), 세션 브로커(200) 및 VDI 클라이언트들(300-1, 300-2, ... , 300-n)을 포함하여 구축된다.
VDI 서버(100)는 하드웨어와 소프트웨어 자원을 세션 브로커(200)을 통해 VDI 클라이언트들(300-1, 300-2, ... , 300-n)에 제공한다.
이에 의해, 클라이언트들(300-1, 300-2, ... , 300-n)은 언제 어디서나 동일한 컴퓨팅 환경을 제공받을 수 있음은 물론, 고 사양이 요구되는 무거운 어플리케이션(CAD, CATIA 등)도 원활하게 이용할 수 있다.
이를 가능하게 하는 VDI 서버(100)는, VM(Virtual Machine)들(110-1, 110-2, .. , 110-m), VDI SW(120), 산출부(130), 수신부(140) 및 리소스할당부(150)을 포함한다.
VM들(110-1, 110-2, .. , 110-m)은 클라이언트들(300-1, 300-2, ... , 300-n)을 위한 가상 데스크탑 환경을 제공하기 위한 것들로, VDI SW(120)를 구동하여 해당 클라이언트들(300-1, 300-2, ... , 300-n)에 서비스를 제공한다.
산출부(130)는 특정 클라이언트의 평균 사용 리소스를 산출하고, 특정 클라이언트에게 여분으로 할당 가능한 버퍼 리소스를 산출한다. 여기에서, 리소스는 클라이언트가 가상머신(VM) 내에서 사용하기 위해 필요한 리소스를 나타내는 것으로, 예를 들어, CPU(Central Processing Unit) 용량, RAM(Random Access Memory) 용량, 및 보조기억장치 용량 중 적어도 하나를 포함할 수도 있다. 그리고, 산출부(130)는 이와 같은 산출 과정을 클라이언트들(300-1, 300-2, ... , 300-n) 전체에 대해 수행하게 되며, VDI 서버(100)는 이와 같은 산출된 정보를 이용하여 유휴자원과 동작자원을 관리할 수 있게 된다.
수신부(140)는 특정 클라이언트로부터 예약 리소스 요청을 수신한다. 여기에서, 예약 리소스 요청은 특정 클라이언트가 일정 기간 동안 추가적인 리소스를 사용하기 위해 예약을 요청하는 것으로, 특정 클라이언트의 정보, 예약 리소스의 사용 예정 기간 정보, 및 필요한 예약 리소스 용량 정보를 포함한다. 또한, 특정 클라이언트는 VDI 클라이언트들(300-1, 300-2, ... , 300-n) 중 어느 한 클라이언트를 나타낸다.
특정 클라이언트 정보는 리소스를 예약하고자 하는 클라이언트의 정보를 나타내며, 예를 들어, 클라이언트의 아이디, 아이피 주소, 클라이언트 명칭, 사용자 정보 등을 포함할 수도 있다.
예약 리소스의 사용 예정 기간 정보는 특정 클라이언트가 사용하고자 하는 예약 리소스의 사용 예정 기간에 대한 정보를 나타내는 것으로, 예를 들어, 사용 예정 일자, 사용 예정 시간 등을 포함할 수도 있다.
필요한 예약 리소스 용량 정보는 특정 클라이언트가 요청하고자 하는 필요한 예약 리소스의 용량 정보를 나타내는 것으로, 예를 들어, 필요한 CPU(Central Processing Unit) 용량, RAM(Random Access Memory) 용량, 및 보조기억장치 용량 중 적어도 하나를 포함할 수도 있다.
리소스 할당부(150)는 평균 사용 리소스, 버퍼 리소스 및 예약 리소스를 기초로, 특정 클라이언트에게 가용 리소스를 할당하게 된다. 구체적으로, 리소스 할당부(150)는 특정 클라이언트의 평균 사용 리소스를 기본으로 할당하고, 여분으로 일정량의 버퍼 리소스를 할당하며, 만약 예약 리소스 요청이 있는 경우에는 해당 기간동안의 예약 리소스를 추가로 할당하게 된다. 예를 들어, 평균 사용 리소스는 'CPU 1.2GHz 2개, RAM 1GB, HDD 50GB'이고, 버퍼 리소스는 'CPU 1.2GHz 1개, RAM 0.5GB, HDD 20GB'이며, 예약 리소스는 'CPU 2.1GHz 1개, RAM 0.5GB, HDD 10GB'이면, 최종적으로 할당되는 가용 리소스는 'CPU 1.2GHz 3개 2.1GHz 1개, RAM 2GB, HDD 80GB'가 된다.
상술된 산출부(130), 수신부(140) 및 리소스할당부(150)는 해당 기능이 소프트웨어로 구현된 구성요소에 해당되며, 하드웨어로도 구현될 수도 있다.
세션 브로커(200)는 VDI 서버(100)와 VDI 클라이언트들(300-1, 300-2, ... , 300-n) 간의 일대다 통신을 위한 인터페이스로 기능한다. 세션 브로커(200)는 유선 인터페이스로 구현함이 일반적이겠지만 무선 인터페이스로 구현하는 것을 배제하지 않는다.
VDI 클라이언트들(300-1, 300-2, ... , 300-n)은 VDI 서버(100)에 접속하여 가상화 데스크탑 서비스를 사용자가 이용할 수 있게 해준다. 즉, VDI 클라이언트를 이용하면, 사용자는 마치 서버 내의 공간에 OS(Operating System)이 설치되어 마치 자신의 컴퓨터를 이용하는 듯이 컴퓨터의 다양한 기능을 이용할 수 있게 된다.
이와 같은 구조의 VDI 시스템은 물리적으로 모두 동작하는 자원을 평균 리소스와 추가 버퍼 리소스를 포함하여 사용 상황에 따라 유휴서버를 늘림으로써 에너지 낭비를 최소화 할 수 있으며, 예약 리소스를 통해 더욱 효율적인 가상화 서버 사용 및 관리가 가능해지므로 추가 비용 발생을 최소화 할 수 있게 된다. .
이하에서는, 도 2 내지 도 5를 참고하여, VDI 서버(100)에 의한 가용 리소스 관리 방법에 대해 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른, VDI 서버에 의한 가용 리소스 관리 방법을 설명하기 위해 제공되는 흐름도이다.
VDI 서버(100)는 먼저 특정 클라이언트의 평균 사용 리소스를 산출한다(S210). 여기에서, 리소스는 클라이언트가 가상머신(VM) 내에서 사용하기 위해 필요한 리소스를 나타내는 것으로, 예를 들어, CPU(Central Processing Unit) 용량, RAM(Random Access Memory) 용량, 및 보조기억장치 용량 중 적어도 하나를 포함할 수도 있다. 또한, 평균 사용 리소스는 해당 특정 클라이언트가 평균적으로 사용하는 리소스를 나타내며, 해당 특정 클라이언트의 과거 리소스 사용 이력을 이용하여 산출된다. 구체적으로, 평균 사용 리소스는 하루 평균 사용 리소스, 일주일 평균 사용 리소스, 또는 한달 평균 사용 리소스 등 다양한 기준이 적용될 수도 있다.
그리고, VDI 서버(100)는 특정 클라이언트에게 여분으로 할당 가능한 버퍼 리소스를 산출한다(S220). 여기에서, 버퍼 리소스는 특정 클라이언트가 여분으로 사용할 수 있도록 할당되는 리소스를 나타낸다. 특정 클라이언트는 항상 평균 리소스만 사용하는 것이 아니고 어느정도 변화 폭을 가지고 리소스를 사용하게 된다. 따라서, VDI 서버(100)는 특정 클라이언트가 일정 기간동안 리소스를 사용한 이력을 기초로 하여, 평균 리소스를 초과하는 변화폭을 분석하고, 해당 초과하는 용량 변화폭 만큼의 리소스를 버퍼 리소스로 산출할 수도 있다.
또한, VDI 서버(100)는 모든 클라이언트에 일정 크기의 버퍼 리소스를 산출할 수도 있음은 물론이다. 이 경우, VDI 서버(100)는 버퍼 리소스로 이용 가능한 전체 여분의 리소스를 전체 클라이언트 수로 나눈 값을 한 클라이언트의 버퍼 리소스로 산출할 수도 있다.
그리고, VDI 서버(100)는 특정 클라이언트로부터 예약 리소스 요청을 수신한다(S230). 여기에서, 예약 리소스 요청은 특정 클라이언트가 일정 기간 동안 추가적인 리소스를 사용하기 위해 예약을 요청하는 것으로, 특정 클라이언트의 정보, 예약 리소스의 사용 예정 기간 정보, 및 필요한 예약 리소스 용량 정보를 포함한다.
특정 클라이언트 정보는 리소스를 예약하고자 하는 클라이언트의 정보를 나타내며, 예를 들어, 클라이언트의 아이디, 아이피 주소, 클라이언트 명칭, 사용자 정보 등을 포함할 수도 있다.
예약 리소스의 사용 예정 기간 정보는 특정 클라이언트가 사용하고자 하는 예약 리소스의 사용 예정 기간에 대한 정보를 나타내는 것으로, 예를 들어, 사용 예정 일자, 사용 예정 시간 등을 포함할 수도 있다.
필요한 예약 리소스 용량 정보는 특정 클라이언트가 요청하고자 하는 필요한 예약 리소스의 용량 정보를 나타내는 것으로, 예를 들어, 필요한 CPU(Central Processing Unit) 용량, RAM(Random Access Memory) 용량, 및 보조기억장치 용량 중 적어도 하나를 포함할 수도 있다.
그리고, VDI 서버(100)는 평균 사용 리소스, 버퍼 리소스 및 예약 리소스를 기초로, 특정 클라이언트에게 가용 리소스를 할당하게 된다. 구체적으로, 리소스 할당부(150)는 특정 클라이언트의 평균 사용 리소스를 기본으로 할당하고, 여분으로 일정량의 버퍼 리소스를 할당하며, 만약 예약 리소스 요청이 있는 경우에는 해당 기간동안의 예약 리소스를 추가로 할당하게 된다.
이와 같은 과정을 통해, VDI 서버(100)는 동적으로 클라이언트의 가용 리소스를 관리할 수 있게 되며, 특정 클라이언트의 추가 리소스 요청도 반영하여 가용 리소스를 관리할 수 있게 된다.
도 3은 본 발명의 일 실시예에 따른, 리소스 부족시에 다른 클라이언트의 버퍼 리소스를 축소시켜 추가 리소스를 확보하는 과정을 설명하기 위해 제공되는 흐름도이다.
VDI 서버(100)는 예약 리소스 요청이 수신되면(S230), 리소스가 부족한지 여부를 판단한다(S310). 만약, 리소스가 부족하지 않는 경우(S310-N), VDI 서버(100)는 도 2와 같이 S240 단계를 수행하게 된다.
반면, 예약 리소스 요청에 따라 특정 클라이언트에게 할당하기 위한 리소스가 부족한 경우(S310-Y), VDI 서버(100)는 다른 클라이언트들에 할당된 버퍼 리소스들을 축소시켜 리소스를 추가로 확보한다(S320). 버퍼 리소스는 여분으로 확보된 리소스이므로, 다른 클라이언트의 버퍼 리소스를 축소시키더라도 다른 클라이언트 들의 구동에는 문제가 없기 때문이다.
그리고, VDI 서버(100)는 추가로 확보된 리소스를 이용하여, 평균 사용 리소스, 버퍼 리소스 및 예약 리소스를 기초로, 특정 클라이언트에게 가용 리소스를 할당하게 된다(S330).
이와 같은 과정을 통해, 예약을 위한 리소스가 부족한 경우에 다른 클라이언트의 버퍼 리소스를 이용하여 리소스를 확보할 수도 있다.
도 4는 본 발명의 일 실시예에 따른, 리소스 부족시에 예약 가능한 다른 기간을 추천하는 과정을 설명하기 위해 제공되는 흐름도이다.
VDI 서버(100)는 예약 리소스 요청이 수신되면(S230), 리소스가 부족한지 여부를 판단한다(S410). 만약, 리소스가 부족하지 않는 경우(S410-N), VDI 서버(100)는 도 2와 같이 S240 단계를 수행하게 된다.
반면, 예약 리소스 요청에 따라 상기 특정 클라이언트에게 할당하기 위한 리소스가 부족한 경우(S410-Y), VDI 서버(100)는 예약 가능한 다른 기간을 특정 클라이언트에 추천하게 된다(S420). 다른 클라이언트들의 예약으로 인해 해당 기간에는 리소스가 부족할 수 있으나, 다른 클라이언트의 예약이 없는 기간에는 특정 클라이언트의 해당 예약 리소스를 할당하기 위한 리소스가 충분할 수도 있다. 따라서, VDI 서버(100)는 예약을 요청한 기간에 리소스가 부족할 경우에는 예약 리소스를 할당할 수 있는 다른 기간을 추천해주게 된다. 이 때, VDI 서버(100)는 예약을 요청한 기간에 가장 가까운 기간 순으로 한개 또는 복수개의 다른 기간을 추천할 수 있다.
그 후에, 특정 클라이언트에 의해 다른 예약 가능한 기간이 선택되면(S430), VDI 서버(100)는 변경된 기간을 반영하여, 평균 사용 리소스, 버퍼 리소스 및 예약 리소스를 기초로, 특정 클라이언트에게 가용 리소스를 할당하게 된다.
이와 같은 과정을 통해, 예약을 위한 리소스가 부족한 경우에 다른 기간을 추천하여 리소스를 확보할 수도 있다.
도 5는 본 발명의 일 실시예에 따른, 예정 작업 정보에 대응되는 리소스 용량을 산출하는 과정에 대해 설명하기 위해 제공되는 흐름도이다. 사용자는 예정 작업이 어느 정도의 리소스를 요구하는지 알수 없는 경우가 많다. 따라서, VDI 서버(100)는 작업별로 요구되는 리소스 용량을 미리 저장하고 있고, 사용자는 특정 클라이언트를 통해 작업의 종류를 선택하면 VDI 서버(100)가 자동으로 필요한 리소스를 산출하여 할당할 수도 있다. 이와 같은 과정에 대해 이하에서 설명한다.
이 때, 예약 리소스 요청은, 특정 클라이언트의 정보, 예약 리소스의 사용 예정 기간 정보, 예정 작업 정보를 포함하며, 필요 예정 리소스 용량 정보는 포함되어 있지 않게 된다.
VDI 서버(100)는 예약 리소스 요청이 수신되면(S230), 예정 작업 정보에 대응되는 필요한 예약 리소스 용량 정보를 산출한다(S510). 예를 들어, 특정 클라이언트가 예정 작업 정보로 'OS 패치 작업'을 선택하여 예약 리소스 요청을 전송하면, VDI 서버(100)는 'OS 패치 작업'에 대응되는 필요한 예약 리소스 용량 정보로 'CPU 1.5GHz 1개, Memory 2GB, HDD 1GB'를 산출할 수도 있다.
그 후에, VDI 서버(100)는 산출된 예약 리소스 용량 정보를 이용하여, 평균 사용 리소스, 버퍼 리소스 및 예약 리소스를 기초로, 상기 특정 클라이언트에게 가용 리소스를 할당하게 된다(S520).
이와 같은 과정을 통해, 사용자가 예약하고자 하는 작업에 리소스가 얼마나 필요한지 모르더라도, VDI 서버(100)가 예약된 작업에 대응되는 리소스를 자동으로 산출하여 할당할 수 있게 된다.
위 실시예에서는 VDI 클라이언트가 데스크 탑 환경인 경우를 상정하였으나, 이외에도, 랩 탑 환경이나 모바일 환경인 경우도 본 발명의 기술적 사상 적용될 수 있다.
한편, 본 실시예에 따른 VDI 서버(100)의 기능 및 방법을 수행하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 프로그래밍 언어 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 플래시 메모리, 솔리드 스테이트 디스크(SSD) 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100 : VDI 서버 110-1, 110-2, ... , 100-m : VM
120 : VDI SW 130 : 산출부
140 : 수신부 150 : 리소스 할당부
200 : 세션 브로커
300-1, 300-2, ... , 300-n : VDI 클라이언트

Claims (8)

  1. 특정 클라이언트의 평균 사용 리소스를 산출하는 단계;
    상기 특정 클라이언트로부터 예약 리소스 요청을 수신하는 단계;
    상기 평균 사용 리소스 및 상기 예약 리소스를 기초로, 상기 특정 클라이언트에게 가용 리소스를 할당하는 단계;를 포함하는 가용 리소스 관리 방법.
  2. 청구항 1에 있어서,
    상기 특정 클라이언트에게 여분으로 할당 가능한 버퍼 리소스를 산출하는 단계;를 더 포함하고,
    상기 할당하는 단계는,
    상기 평균 사용 리소스, 상기 버퍼 리소스 및 상기 예약 리소스를 기초로, 상기 특정 클라이언트에게 가용 리소스를 할당하는 것을 특징으로 하는 가용 리소스 관리 방법.
  3. 청구항 1에 있어서,
    상기 예약 리소스 요청은,
    상기 특정 클라이언트의 정보, 예약 리소스의 사용 예정 기간 정보, 필요한 예약 리소스 용량 정보를 포함하는 것을 특징으로 하는 가용 리소스 관리 방법.
  4. 청구항 1에 있어서,
    상기 예약 리소스 요청에 따라 상기 특정 클라이언트에게 할당하기 위한 리소스가 부족한 경우, 다른 클라이언트들에 할당된 버퍼 리소스들을 축소시켜 리소스를 추가로 확보하는 단계;를 더 포함하는 것을 특징으로 하는 가용 리소스 관리 방법.
  5. 청구항 1에 있어서,
    상기 예약 리소스 요청에 따라 상기 특정 클라이언트에게 할당하기 위한 리소스가 부족한 경우, 예약 가능한 다른 기간을 상기 특정 클라이언트에 추천하는 단계;를 더 포함하는 것을 특징으로 하는 가용 리소스 관리 방법.
  6. 청구항 1에 있어서,
    상기 예약 리소스 요청은,
    상기 특정 클라이언트의 정보, 예약 리소스의 사용 예정 기간 정보, 예정 작업 정보를 포함하고,
    상기 할당하는 단계는,
    상기 예정 작업 정보에 대응되는 필요한 예약 리소스 용량 정보를 산출하고, 상기 산출된 예약 리소스 용량 정보를 이용하여, 상기 평균 사용 리소스 및 상기 예약 리소스를 기초로, 상기 특정 클라이언트에게 가용 리소스를 할당하는 것을 특징으로 하는 가용 리소스 관리 방법.
  7. 청구항 1에 있어서,
    상기 리소스는,
    CPU(Central Processing Unit) 용량, RAM(Random Access Memory) 용량, 및 보조기억장치 용량 중 적어도 하나를 포함하는 것을 특징으로 하는 가용 리소스 관리 방법.
  8. 특정 클라이언트의 평균 사용 리소스를 산출하는 산출부;
    상기 특정 클라이언트로부터 예약 리소스 요청을 수신하는 수신부; 및
    상기 평균 사용 리소스 및 상기 예약 리소스를 기초로, 상기 특정 클라이언트에게 가용 리소스를 할당하는 리소스 할당부;를 포함하는 VDI(Virtual Desktop Infrastructure) 서버.
KR1020140165079A 2014-11-25 2014-11-25 가상머신 리소스 사전예약을 통한 가용 리소스 자원 관리 및 할당 방법 KR20160063430A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140165079A KR20160063430A (ko) 2014-11-25 2014-11-25 가상머신 리소스 사전예약을 통한 가용 리소스 자원 관리 및 할당 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140165079A KR20160063430A (ko) 2014-11-25 2014-11-25 가상머신 리소스 사전예약을 통한 가용 리소스 자원 관리 및 할당 방법

Publications (1)

Publication Number Publication Date
KR20160063430A true KR20160063430A (ko) 2016-06-03

Family

ID=56192486

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140165079A KR20160063430A (ko) 2014-11-25 2014-11-25 가상머신 리소스 사전예약을 통한 가용 리소스 자원 관리 및 할당 방법

Country Status (1)

Country Link
KR (1) KR20160063430A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200023680A (ko) * 2018-08-17 2020-03-06 주식회사 틸론 가상화 시스템에서의 가상 데스크톱 및 가상 호스트 서버를 모니터링하는 방법 및 그 가상화 시스템
WO2022154326A1 (ko) * 2021-01-18 2022-07-21 주식회사 텐 가상화된 리소스를 관리하는 방법, 장치 및 컴퓨터 프로그램

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200023680A (ko) * 2018-08-17 2020-03-06 주식회사 틸론 가상화 시스템에서의 가상 데스크톱 및 가상 호스트 서버를 모니터링하는 방법 및 그 가상화 시스템
WO2022154326A1 (ko) * 2021-01-18 2022-07-21 주식회사 텐 가상화된 리소스를 관리하는 방법, 장치 및 컴퓨터 프로그램
KR20220104561A (ko) * 2021-01-18 2022-07-26 주식회사 텐 가상화된 리소스를 관리하는 방법, 장치 및 컴퓨터 프로그램

Similar Documents

Publication Publication Date Title
US11102287B2 (en) Minimizing service restart by optimally resizing service pools
US8825863B2 (en) Virtual machine placement within a server farm
US9329888B2 (en) Computing optimized virtual machine allocations using equivalence combinations
US8352611B2 (en) Allocating computer resources in a cloud environment
CN111373372B (zh) 在分布式计算环境中对应用分配优先级以进行对角缩放
US11467874B2 (en) System and method for resource management
WO2016041446A1 (zh) 一种资源分配方法、装置及设备
US9110729B2 (en) Host system admission control
CN111443870B (zh) 一种数据处理的方法、设备及存储介质
Prajapati et al. Comparison of virtual machine scheduling algorithms in cloud computing
US9916181B2 (en) Managing asset placement with respect to a shared pool of configurable computing resources
US20150235156A1 (en) Enabling Capacity On Demand In A Computing System Using A Calendar
US8819239B2 (en) Distributed resource management systems and methods for resource management thereof
Mollamotalebi et al. Multi-objective dynamic management of virtual machines in cloud environments
CN111373374B (zh) 分布式计算环境中的工作负载的自动对角缩放
Pandya et al. Dynamic resource allocation techniques in cloud computing
KR101125038B1 (ko) 그리드 컴퓨팅 미들웨어 시스템의 그리드 자원 관리 방법 및 장치
KR20160063430A (ko) 가상머신 리소스 사전예약을 통한 가용 리소스 자원 관리 및 할당 방법
Komarasamy et al. ScHeduling of jobs and Adaptive Resource Provisioning (SHARP) approach in cloud computing
KR20040075307A (ko) 정책 쿼럼 기반의 그리드 자원 관리 시스템 및 그 방법
KR101509506B1 (ko) 모바일 클라우드 컴퓨팅 환경에서의 리소스 제공 시스템 및 그 방법
Kshama et al. A novel load balancing algorithm based on the capacity of the virtual machines
Tiwari et al. Resource Management Using Virtual Machine Migrations

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment