KR20150009662A - 가상 데스크톱 서비스 제공 방법 및 장치 - Google Patents

가상 데스크톱 서비스 제공 방법 및 장치 Download PDF

Info

Publication number
KR20150009662A
KR20150009662A KR20130083791A KR20130083791A KR20150009662A KR 20150009662 A KR20150009662 A KR 20150009662A KR 20130083791 A KR20130083791 A KR 20130083791A KR 20130083791 A KR20130083791 A KR 20130083791A KR 20150009662 A KR20150009662 A KR 20150009662A
Authority
KR
South Korea
Prior art keywords
virtualization
servers
server
virtual
user
Prior art date
Application number
KR20130083791A
Other languages
English (en)
Other versions
KR101941282B1 (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 KR1020130083791A priority Critical patent/KR101941282B1/ko
Priority to US14/108,925 priority patent/US20150026306A1/en
Publication of KR20150009662A publication Critical patent/KR20150009662A/ko
Application granted granted Critical
Publication of KR101941282B1 publication Critical patent/KR101941282B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • 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/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • 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/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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)

Abstract

가상화를 구현하는 서버와 사용자 간의 거리에 따라 최상의 가상 데스크톱 서비스를 제공할 수 있는 가상 데스크톱 서비스 제공 방법 및 장치가 제공된다. 사용자에게 사용자의 요구에 적합한 가상 데스크톱 서비스를 제공됨으로써, 서버의 부하를 분산시키고, 서버의 전력 사용을 최소화 할 수 있다. 즉, 가상 데스크톱 서비스를 제공하는 가상화 서버가 지역적으로 분산된 환경이라면, 가상화 서버에 사용자까지의 네트워크 거리를 바탕으로 네트워크 지연이 가장 짧은 가상화 서버에 가상 머신이 할당될 수 있다. 또한, 사용자의 가상 머신 활용 형태에 따라 서버 전력 사용량이 예측된 후 예측 결과에 따라 가상화 서버가 선택될 수 있다.

Description

가상 데스크톱 서비스 제공 방법 및 장치{Method of allocating a virtual machine for virtual desktop service}
본 발명은 데스크톱을 가상화하는 클라우드 컴퓨팅에서 가상 데스크톱 서비스를 제공하는 방법 및 장치에 관한 것이다.
통상 서버 가상화 컴퓨팅 환경에서는 가상화를 구현하는 서버의 자원(CPU, 메모리, 디스크 용량, 네트워크 등)의 성능과 부하를 기반으로 사용자에게 가상 머신을 할당한다. 이때, 가상 데스크톱 서비스에서는 가상 머신의 화면이 원격으로 사용자에게 전송되기 때문에 분산된 사용자와 분산된 가상 서버 사이의 거리에 따른 네트워크 지연에 의해서 서비스의 질이 달라질 수 있다.
분산 네트워크 환경에서 가상 머신(virtual machine)을 제공하는 복수의 서버는 지역적으로 밀집되어 있을 수도 있고, 넒은 지역에 분산되어 존재할 수도 있다. 복수의 서버가 넒은 지역에 분산되어 존재하는 경우, 하드웨어 자원의 부하를 기반으로 가상 머신을 할당하는 방법은 한계가 있다.
따라서, 본 발명의 실시 예에서는, 가상화를 구현하는 서버와 사용자 사이의 거리와 사용자의 서버 이용 패턴에 따라 가상 데스크톱 서비스를 제공할 수 있는 가상 머신 할당 방법 및 장치를 제공한다.
본 발명의 한 실시 예에 따르면, 사용자에게 가상 데스크톱 서비스를 제공하는 방법이 제공된다. 상기 가상 데스크톱 서비스의 제공 방법은, 네트워크에 포함된 복수의 가상화 서버가 분산되어 있는지 확인하는 단계, 복수의 가상화 서버가 분산되어 있다면, 사용자와 복수의 가상화 서버 사이의 네트워크 거리를 측정하는 단계, 측정된 네트워크 거리를 바탕으로 복수의 가상화 서버 중 적어도 하나의 가상화 서버를 선택하는 단계, 그리고 선택된 가상화 서버에 가상 머신에 대한 구동 명령을 전송하는 단계를 포함한다.
상기 가상 데스크톱 서비스의 제공 방법에서 가상화 서버를 선택하는 단계는, 복수의 가상화 서버 중, 네트워크 거리가 가장 짧은 가상화 서버를 선택하는 단계를 포함할 수 있다.
상기 가상 데스크톱 서비스의 제공 방법에서 가상화 서버를 선택하는 단계는, 복수의 가상화 서버 중, 네트워크 거리가 가장 짧은 가상화 서버가 m개 존재하는 경우, m개의 가상화 서버의 자원 사용률을 비교하는 단계, 그리고 자원 사용률이 가장 낮은 가상화 서버를 선택하는 단계를 포함할 수 있다.
상기 가상 데스크톱 서비스의 제공 방법은, m개의 가상화 서버의 자원 사용률이 서로 유사한 경우, m개의 가상화 서버에서 구동 중인 가상 머신의 개수를 비교하는 단계, 그리고 m개의 가상화 서버 중, 구동 중인 가상 머신의 개수가 가장 적은 가상화 서버를 선택하는 단계를 더 포함할 수 있다.
상기 가상 데스크톱 서비스의 제공 방법은 m개의 가상화 서버에서 구동 중인 가상 머신의 개수가 동일한 경우, m개의 가상화 서버를 순차적으로 선택하는 단계를 더 포함할 수 있다.
상기 가상 데스크톱 서비스의 제공 방법은 복수의 가상화 서버가 밀집되어 있다면, 복수의 가상화 서버의 성능을 비교하는 단계, 그리고 복수의 가상화 서버 중 성능이 가장 우수한 가상화 서버를 선택하는 단계를 더 포함할 수 있다.
본 발명의 다른 실시 예에 따르면, 사용자에게 가상 데스크톱 서비스를 제공하는 다른 방법이 제공된다. 상기 가상 데스크톱 서비스의 제공 방법은, 사용자로부터 가상 데스크톱 서비스 제공 요청을 수신한 경우, 사용자의 업무 유형을 그룹핑 하는 단계, 그룹핑 결과에 따라 미리 설정된 가상화 서버를 선택하는 단계, 그리고 선택된 가상화 서버에 가상 머신에 대한 구동 명령을 전송하는 단계를 포함한다.
상기 가상 데스크톱 서비스의 제공 방법은 사용자로부터 가상 데스크톱 서비스 제공 요청을 수신한 경우, 사용자의 이용 패턴에 따라 서버 전력 사용량을 예측하는 단계, 서버 전력 사용량을 바탕으로 가상화 서버를 선택하는 단계, 그리고 선택된 가상화 서버에 가상 머신에 대한 구동 명령을 전송하는 단계를 더 포함할 수 있다.
상기 가상 데스크톱 서비스의 제공 방법에서 서버 전력 사용량을 예측하는 단계는, 미리 정해진 기간 동안 사용자가 이용한 자원의 평균 사용량을 통해 상기 이용 패턴을 산출하는 단계를 포함할 수 있다.
상기 가상 데스크톱 서비스의 제공 방법에서 산출하는 단계는, 데이터 마이닝(data mining) 기법을 통해 상기 이용 패턴을 산출하는 단계를 포함할 수 있다.
본 발명의 다른 실시 예에 따르면, 사용자에게 가상 데스크톱 서비스를 제공하는 장치가 제공된다. 상기 가상 데스크톱 서비스의 제공 장치는, 네트워크에 포함된 복수의 가상화 서버가 분산되어 있는 경우, 사용자와 복수의 가상화 서버 사이의 네트워크 거리를 측정하는 거리 측정부, 정책에 따라서 복수의 가상화 서버 중 적어도 하나의 가상화 서버를 가상 머신을 구동하는 가상화 서버로 선택하고, 선택된 가상화 서버로 가상 머신에 대한 구동 명령을 전송하는 스케줄러, 그리고 가상 머신이 구동되면, 사용자에게 가상 데스크톱 서비스를 제공하는 서비스 제공부를 포함한다.
상기 가상 데스크톱 서비스의 제공 장치에서 스케줄러는, 측정된 네트워크 거리가 최소인 가상화 서버를 선택할 수 있다.
상기 가상 데스크톱 서비스의 제공 장치에서 스케줄러는, 측정된 네트워크 거리가 최소인 가상화 서버가 m개 존재하는 경우, m개의 가상화 서버의 자원 사용률을 비교하여 가장 자원 사용률이 낮은 가상화 서버를 선택할 수 있다.
상기 가상 데스크톱 서비스의 제공 장치에서 스케줄러는, m개의 가상화 서버의 자원 사용률이 유사할 경우, 구동 중인 가상 머신의 개수가 가장 적은 가상화 서버를 선택할 수 있다.
상기 가상 데스크톱 서비스의 제공 장치에서 스케줄러는, m개의 가상화 서버에서 구동 중인 가상 머신의 개수가 동일한 경우, m개의 가상화 서버를 순차적으로 선택할 수 있다.
상기 가상 데스크톱 서비스의 제공 장치에서 스케줄러는, 사용자의 이용 패턴에 따라 서버 전력 사용량을 예측하고, 예측한 서버 전력 사용량을 바탕으로 가상화 서버를 선택할 수 있다.
상기 가상 데스크톱 서비스의 제공 장치에서 스케줄러는, 미리 정해진 기간 동안 사용자의 자원에 대한 평균 사용량을 통해 이용 패턴을 산출할 수 있다.
이와 같이 본 발명의 한 실시 예에 따르면, 사용자에게 사용자의 요구에 적합한 가상 데스크톱 서비스를 제공됨으로써, 서버의 부하를 분산시키고, 서버의 전력 사용을 최소화 할 수 있다. 즉, 가상 데스크톱 서비스를 제공하는 가상화 서버가 지역적으로 분산된 환경이라면, 가상화 서버에 사용자까지의 네트워크 거리를 바탕으로 네트워크 지연이 가장 짧은 가상화 서버에 가상 머신이 할당될 수 있다. 또한, 사용자의 가상 머신 활용 형태에 따라 서버 전력 사용량이 예측된 후 예측 결과에 따라 가상화 서버가 선택될 수 있다.
도 1은 본 발명의 실시 예에 따른 가상 데스크톱 서비스를 제공하는 네트워크를 나타낸 도면이다.
도 2 및 도 3은 본 발명의 실시 예에 따른 가상 데스크톱 서비스의 제공과정을 나타낸 흐름도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈", "블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 실시 예에 따른 가상 데스크톱 서비스를 제공하는 네트워크를 나타낸 도면이다.
도 1을 참조하면, 가상 데스크톱 서비스를 제공하는 네트워크는, 관리 서버(110)와, 관리 서버에 연결된 복수의 가상화(virtualization) 서버(120)를 포함한다.
관리 서버(110)는, 복수의 가상화 서버(120)에서 구현된 가상 데스크톱을 광역 통신망(wide area network, WAN) 또는 근거리 통신망(local area network, LAN) 등을 통하여 사용자들에게 제공할 수 있다.
관리 서버(110)는 거리 측정부(111), 정책부(112), 스케줄러(113), 데이터 베이스(114), 그리고 서비스 제공부(115)를 포함한다.
거리 측정부(111)는, 사용자와 관리 서버(110)에 연결된 복수의 가상화 서버(120) 사이의 거리를 측정한다. 이때, ?타?는 사용자와 가상화 서버(120) 사이의 네트워크 상의 거리(즉, 네트워크 거리)가 될 수 있다.
정책부(112)는, 관리 서버(110)가 사용자에게 가상 데스크톱 서비스를 제공하기 위하여 복수의 가상화 서버(120) 중 적어도 하나의 가상화 서버를 선택할 때, 스케줄러(113)로 정책을 제공할 수 있다. 이때, 데이터 베이스(114)에 저장된 각 가상화 서버(120)의 주소, 가상 머신(121)의 할당 현황 등의 정보를 참고하여 스케줄러(113)로 정책을 제공할 수 있다.
스케줄러(113)는, 정책에 따라서 가상화 서버(120)를 선택하고, 선택한 가상화 서버(120)로 가상 머신(121)의 수행 명령을 전송하며, 그 결과를 데이터 베이스(114)에 저장한다.
데이터 베이스(114)에는 가상화 서버(120)의 주소, 가상화 서버(120)의 선택 현황, 각 가상화 서버(120)에 할당된 가상 머신(121)의 현황 등의 정보가 저장되어 있다. 또한, 데이터 베이스(114)에는 사용자의 서비스 이용 패턴, 가상화 서버(120)의 전력 사용량 등의 정보가 저장될 수 있다.
서비스 제공부(115)는, 스케줄러(113)에서 선택된 가상화 서버(120)에 가상 머신(121)이 할당되면, 사용자에게 가상 데스크톱 서비스를 제공할 수 있다.
가상화 서버(120)는, 사용자에게 가상 데스크톱 서비스를 제공하기 위한 가상 머신(121)을 구동할 수 있다. 즉, 가상화 서버(120)의 하이퍼바이저(122)는 가상화 서버(120)에 포함된 하드웨어(123)를 이용하여 가상 머신(121)을 에뮬레이트(emulate) 할 수 있다.
또한, 가상화 서버(120)는 관리 서버(110)의 스케줄러(113)로부터 요청을 수신하여 가상 머신을 할당 하는 에이전트(124)를 포함한다. 이때, 에이전트(124)는 가상화 서버(120)의 각종 자원(CPU, 메모리, 네트워크, 디스크 등)의 사용량 정보와 가상 머신(121)의 할당 현황, 전력 사용현황 등을 관리 서버(110)의 데이터 베이스(114)로 전달할 수 있다.
도 2 및 도 3은 본 발명의 실시 예에 따른 가상 데스크톱 서비스의 제공과정을 나타낸 흐름도이다.
도 2 및 도 3을 참조하면, 먼저, 사용자가 통신망을 통하여 관리 서버(110)로 가상 데스크톱 서비스를 요청(S201)하면, 관리 서버(110)의 스케줄러(113)는 가상 머신이 구동될 가상화 서버(120)를 선택한다. 이때, 스케줄러(113)는 비슷한 범위에 있는 복수의 가상화 서버(120)를 선택할 수 있다. 본 발명의 한 실시 예에서는, 가상화 서버의 자원 사용률이 50% 미만이라면 자원 사용률이 ±5% 이내에 속하는 가상화 서버를 비슷하다고 판단하고, 자원 사용률이 50% 이상 70% 미만이라면 ±2% 이내에 속하는 가상화 서버를 비슷한 범위로 판단하며, 자원 사용률이 그 이상일 경우 ±1% 이내에 속하는 가상화 서버를 비슷한 범위로 판단할 수 있다.
먼저, 관리 서버(110)는 사용자의 이용 패턴이 데이터 베이스(114)에 입력되어 있는지 확인하여(S202), 입력된 이용 패턴에 따라 서버 전력 사용량을 예측한다(S203). 이후, 관리 서버(110)는 예측된 서버 전력 사용량에 따라 가상화 서버(120)를 선택할 수 있다(S204).
이때, 사용자의 이용 패턴이란 미리 정해진 기간 동안 사용자가 이용한 자원의 평균 사용량을 통해 산출된 패턴이다. 사용자의 이용 패턴은 데이터 마이닝(data mining) 기법을 통해 산출될 수 있다.
예를 들어, 하루 종일 가상 머신을 이용하는 사용자는 주로 웹 검색에 관한 업무를 담당할 확률이 크고, 그 경우 네트워크 사용량이 많고, 할당된 CPU 및 메모리의 성능은 모두 활용되지 않는다. 이런 사용자는 네트워크형(network type, NT) 사용자 이용 패턴을 가지고 있는 것으로 평가된다. 즉, 사용자가 이용하는 CPU, 메모리, 네트워크, 디스크 등의 자원의 사용량을 평균한 후 평균한 값을 전력 사용 예측 기법에 대입하면 사용자의 서버 전력 사용량이 예측될 수 있다. 사용자 패턴은 CPU형(central processor unit, CT), 네트워크형(NT), 메모리형(memory type, MT), 디스크형(disk type, DT) 등이 존재할 수 있다.
하지만, 데이터 베이스(114)에 사용자의 이용 패턴이 입력되어 있지 않다면, 관리 서버(110)는 가상화 서버(120)의 분산 정도를 고려하여(S205), 가상화 서버(120)가 분산되어 있는 경우 사용자와 가상화 서버(120) 사이의 거리를 측정한다(S206). 이때, 사용자와 가상화 서버(120) 사이의 거리는 네트워크 상의 거리이며, 아이디 맵스(Internet Distance Maps, IDMaps), 엠-쿱(M-Coop), 킹(King), 가상 랜드마크(Virtual Landmarks) 등의 알고리즘이 거리 측정에 사용될 수 있다.
그리고, 관리 서버(110)는 사용자로부터 네트워크 상에서 가장 가까운(네트워크 지연이 짧은) 가상화 서버(120)의 개수를 카운트한 뒤(S207), 가장 가까운 가상화 서버(120)가 1개 있다면 그 가상화 서버(120)를 선택한다(S208).
이때, 사용자로부터 네트워크 상으로 동일한 거리에 위치한 가상화 서버(120)가 m개 있다면, 관리 서버(110)는 m개의 가상화 서버(120)에서 구동 중인 복수의 가상 머신의 사양을 비교(S209)하여 자원 사용률이 낮은 가상화 서버(120)를 선택한다(S210).
즉, 관리 서버(110)에 m개의 가상화 서버(120)가 연결되어 있는 경우, 관리서버는 가상화 서버(120)에서 사용되는 CPU, 메모리, 디스크 등에 가중치를 둔 후 정량화한 값을 가상화 서버(120)별로 비교함으로써 사용률이 가장 낮은 가상화 서버(120)를 선택할 수 있다.
하지만, m개의 가상화 서버(120)의 자원 사용률도 비슷하다면, 관리 서버(110)는 가상화 서버(120)에서 구동 중인 가상 머신의 개수를 비교(S211)하고, 구동 중인 가상 머신의 개수가 가장 적은 가상화 서버(120)를 선택한다(S212).
즉, 관리 서버(110)에 m개의 가상화 서버(120)가 연결되어 있는 경우, 각 가상화 서버(120)에 할당된 가상 머신의 개수를 비교하여 가장 적은 가상 머신이 구동되고 있는 가상화 서버(120)를 선택할 수 있다.
또한, 가상화 서버(120) 사이에 성능 차이가 없고, 각 가상화 서버(120)의 자원 사용률도 비슷한 범위에 속하며, 가상화 서버(120)에서 구동 중인 가상 머신의 수도 동일하다면, 각 가상화 서버(120)를 순차적으로 선택한다(S213). 즉, 관리 서버(110)에 m개의 가상화 서버(120)가 연결되어 있는 경우, 관리 서버(110)는 각 가상화 서버(120)를 순차적으로 선택하여 가상 머신을 할당할 수 있다.
한편, 가상화 서버(120)가 지역적으로 밀집되어 있다면, 관리 서버(110)는 사용자와 가상화 서버(120) 사이의 거리를 측정하지 않고, 복수의 가상화 서버(120)의 성능을 비교(S214)하여 성능이 가장 우수한 가상화 서버(120)를 선택한다(S215). 본 발명의 실시 예에서는 전력 소모가 가장 낮은 서버를 가장 우수한 가상화 서버(120)로 판단할 수 있다. 즉, 본 발명의 실시 예에 따르면, 가상화 서버(120)가 지역적으로 밀집된 상황에서는 전력 사용량이 가장 낮은 서버가 가장 우선적으로 선택될 수 있다.
하지만, 가상화 서버(120) 사이에 성능 차이가 없다면, 관리 서버(110)는 각 가상화 서버(120)에서 구동 중인 복수의 가상 머신의 사양(cpu, 메모리, 디스크의 스펙)을 비교(S209)하여 자원 사용률이 적은 가상화 서버(120)를 선택한다(S210).
하지만, 가상화 서버(120) 사이에 성능 차이가 없고, 각 가상화 서버(120)의 자원 사용률도 비슷하다면, 관리 서버(110)는 가상화 서버(120)에서 구동 중인 가상 머신의 수가 가장 적은 가상화 서버(120)를 선택한다(S212).
또한, 가상화 서버(120) 사이에 성능 차이가 없고, 각 가상화 서버(120)의 자원 사용률도 비슷하며, 가상화 서버(120)에서 구동 중인 가상 머신의 수도 동일하다면, 각 가상화 서버(120)를 순차적으로 선택한다(S213).
이때, 관리 서버(110)는 사용자의 업무 유형에 따라서, 유사한 업무가 수행되는 가상 머신을 하나의 가상화 서버(120)에 할당할 수 있다. 유사한 업무를 수행하는 가상 머신이 하나의 가상화 서버(120)에서 구동되면, 가상 데스크톱 서비스를 제공할 때 캐싱을 이용한 성능 향상을 기대할 수 있기 때문이다.
이 경우, 특정 사용자가 해당 업무를 위한 가상 데스크톱 서비스의 제공을 요청하면, 관리 서버(110)는 특정 사용자를 위하여 업무 유형에 따라 지정된 가상화 서버(120)를 선택할 수 있다. 따라서, 비슷한 업무를 하는 사용자들은 그룹화되어 동일한 가상화 서버(120)에 할당된 가상 서버를 사용하게 되며, CPU, 메모리 및 캐시 등을 공유할 수 있게 된다.
도 3을 참조하면, 이후, 관리 서버(110)의 스케줄러(113)가 가상화 서버(120)를 선택하고, 가상화 서버(120)의 에이전트(124)는 스케줄러(113)로부터 요청을 수신하여 가상화 서버(120)에 가상 머신을 할당할 수 있다(S301).
이후, 관리 서버(110)의 서비스 제공부(115)는 선택된 가상화 서버(120)에서 수행되는 가상 머신을 통해 사용자에게 가상 데스크톱 서비스를 제공할 수 있다(S302).
위와 같이, 본 발명의 실시 예에 따르면, 사용자에게 사용자의 요구에 적합한 가상 데스크톱 서비스를 제공됨으로써, 서버의 부하를 분산시키고, 서버의 전력 사용을 최소화 할 수 있다. 즉, 가상 데스크톱 서비스를 제공하는 가상화 서버가 지역적으로 분산된 환경이라면, 가상화 서버에 사용자까지의 네트워크 거리를 바탕으로 네트워크 지연이 가장 짧은 가상화 서버에 가상 머신이 할당될 수 있다. 또한, 사용자의 가상 머신 활용 형태에 따라 서버 전력 사용량이 예측된 후 예측 결과에 따라 가상화 서버가 선택될 수 있다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (17)

  1. 사용자에게 가상 데스크톱 서비스를 제공하는 방법으로서,
    네트워크에 포함된 복수의 가상화 서버가 분산되어 있는지 확인하는 단계,
    상기 복수의 가상화 서버가 분산되어 있다면, 상기 사용자와 상기 복수의 가상화 서버 사이의 네트워크 거리를 측정하는 단계,
    측정된 네트워크 거리를 바탕으로 상기 복수의 가상화 서버 중 적어도 하나의 가상화 서버를 선택하는 단계, 그리고
    상기 선택된 가상화 서버에 가상 머신에 대한 구동 명령을 전송하는 단계
    를 포함하는 가상 데스크톱 서비스 제공 방법.
  2. 제1항에서,
    상기 가상화 서버를 선택하는 단계는,
    상기 복수의 가상화 서버 중, 상기 네트워크 거리가 가장 짧은 가상화 서버를 선택하는 단계
    를 포함하는 가상 데스크톱 서비스 제공 방법.
  3. 제1항에서,
    상기 가상화 서버를 선택하는 단계는,
    상기 복수의 가상화 서버 중, 상기 네트워크 거리가 가장 짧은 가상화 서버가 m개 존재하는 경우, 상기 m개의 가상화 서버의 자원 사용률을 비교하는 단계, 그리고
    상기 자원 사용률이 가장 낮은 가상화 서버를 선택하는 단계
    를 포함하는 가상 데스크톱 서비스 제공 방법.
  4. 제3항에서,
    상기 m개의 가상화 서버의 자원 사용률이 서로 유사한 경우, 상기 m개의 가상화 서버에서 구동 중인 가상 머신의 개수를 비교하는 단계, 그리고
    상기 m개의 가상화 서버 중, 상기 구동 중인 가상 머신의 개수가 가장 적은 가상화 서버를 선택하는 단계
    를 더 포함하는 가상 데스크톱 서비스 제공 방법.
  5. 제4항에서,
    상기 m개의 가상화 서버에서 구동 중인 상기 가상 머신의 개수가 동일한 경우, 상기 m개의 가상화 서버를 순차적으로 선택하는 단계
    를 더 포함하는 가상 데스크톱 서비스 제공 방법.
  6. 제1항에서,
    상기 복수의 가상화 서버가 밀집되어 있다면, 상기 복수의 가상화 서버의 성능을 비교하는 단계, 그리고
    상기 복수의 가상화 서버 중 성능이 가장 우수한 가상화 서버를 선택하는 단계
    를 더 포함하는 가상 데스크톱 서비스 제공 방법.
  7. 사용자에게 가상 데스크톱 서비스를 제공하는 방법으로서,
    상기 사용자로부터 가상 데스크톱 서비스 제공 요청을 수신한 경우, 사용자의 업무 유형을 그룹핑 하는 단계,
    상기 그룹핑 결과에 따라 미리 설정된 가상화 서버를 선택하는 단계, 그리고
    상기 선택된 가상화 서버에 가상 머신에 대한 구동 명령을 전송하는 단계
    를 포함하는 가상 데스크톱 서비스 제공 방법.
  8. 제7항에서,
    상기 사용자로부터 가상 데스크톱 서비스 제공 요청을 수신한 경우, 상기 사용자의 이용 패턴에 따라 서버 전력 사용량을 예측하는 단계,
    상기 서버 전력 사용량을 바탕으로 가상화 서버를 선택하는 단계, 그리고
    상기 선택된 가상화 서버에 가상 머신에 대한 구동 명령을 전송하는 단계
    를 더 포함하는 가상 데스크톱 서비스 제공 방법.
  9. 제8항에서,
    상기 서버 전력 사용량을 예측하는 단계는,
    미리 정해진 기간 동안 상기 사용자의 자원에 대한 평균 사용량을 통해 상기 이용 패턴을 산출하는 단계
    를 포함하는 가상 데스크톱 서비스 제공 방법.
  10. 제9항에서,
    상기 산출하는 단계는,
    데이터 마이닝(data mining) 기법을 통해 상기 이용 패턴을 산출하는 단계
    를 포함하는 가상 데스크톱 서비스 제공 방법.
  11. 사용자에게 가상 데스크톱 서비스를 제공하는 장치로서,
    네트워크에 포함된 복수의 가상화 서버가 분산되어 있는 경우, 상기 사용자와 상기 복수의 가상화 서버 사이의 네트워크 거리를 측정하는 거리 측정부,
    정책에 따라서 상기 복수의 가상화 서버 중 적어도 하나의 가상화 서버를 가상 머신을 구동하는 가상화 서버로 선택하고, 선택된 가상화 서버로 상기 가상 머신에 대한 구동 명령을 전송하는 스케줄러, 그리고
    상기 가상 머신이 구동되면, 상기 사용자에게 상기 가상 데스크톱 서비스를 제공하는 서비스 제공부
    를 포함하는 가상 데스크톱 서비스 제공 장치.
  12. 제11항에서,
    상기 스케줄러는,
    측정된 네트워크 거리가 최소인 가상화 서버를 선택하는 가상 데스크톱 서비스 제공 장치.
  13. 제12항에서,
    상기 스케줄러는,
    측정된 네트워크 거리가 최소인 가상화 서버가 m개 존재하는 경우,
    상기 m개의 가상화 서버의 자원 사용률을 비교하여 가장 자원 사용률이 낮은 가상화 서버를 선택하는 가상 데스크톱 서비스 제공 장치.
  14. 제13항에서,
    상기 스케줄러는,
    상기 m개의 가상화 서버의 자원 사용률이 유사할 경우, 구동 중인 가상 머신의 개수가 가장 적은 가상화 서버를 선택하는 가상 데스크톱 서비스 제공 장치.
  15. 제14항에서,
    상기 스케줄러는,
    상기 m개의 가상화 서버에서 구동 중인 상기 가상 머신의 개수가 동일한 경우, 상기 m개의 가상화 서버를 순차적으로 선택하는 가상 데스크톱 서비스 제공 장치.
  16. 제11항에서,
    상기 스케줄러는,
    상기 사용자의 이용 패턴에 따라 서버 전력 사용량을 예측하고, 상기 예측한 서버 전력 사용량을 바탕으로 가상화 서버를 선택하는 가상 데스크톱 서비스 제공 장치.
  17. 제16항에서,
    상기 스케줄러는,
    미리 정해진 기간 동안 상기 사용자의 자원에 대한 평균 사용량을 통해 상기 이용 패턴을 산출하는 가상 데스크톱 서비스 제공 장치.
KR1020130083791A 2013-07-16 2013-07-16 가상 데스크톱 서비스 제공 방법 및 장치 KR101941282B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130083791A KR101941282B1 (ko) 2013-07-16 2013-07-16 가상 데스크톱 서비스 제공 방법 및 장치
US14/108,925 US20150026306A1 (en) 2013-07-16 2013-12-17 Method and apparatus for providing virtual desktop service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130083791A KR101941282B1 (ko) 2013-07-16 2013-07-16 가상 데스크톱 서비스 제공 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20150009662A true KR20150009662A (ko) 2015-01-27
KR101941282B1 KR101941282B1 (ko) 2019-01-23

Family

ID=52344514

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130083791A KR101941282B1 (ko) 2013-07-16 2013-07-16 가상 데스크톱 서비스 제공 방법 및 장치

Country Status (2)

Country Link
US (1) US20150026306A1 (ko)
KR (1) KR101941282B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020096239A1 (ko) * 2018-11-06 2020-05-14 삼성전자 주식회사 작업 의존성에 기초하여 컴퓨팅 작업을 서버에 스케줄링하는 방법 및 장치
US10789085B2 (en) 2017-03-16 2020-09-29 Electronics And Telecommunications Research Institute Selectively providing virtual machine through actual measurement of efficiency of power usage
US10789083B2 (en) 2015-11-17 2020-09-29 Electronics And Telecommunications Research Institute Providing a virtual desktop service based on physical distance on network from the user terminal and improving network I/O performance based on power consumption

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432925B2 (en) 2013-08-05 2016-08-30 Nokia Technologies Oy Method, apparatus, and computer program product for hop count usage in cluster selection
US20150200872A1 (en) * 2014-01-13 2015-07-16 Cisco Technology, Inc. Cloud resource placement based on stochastic analysis of service requests
US20150288767A1 (en) * 2014-04-03 2015-10-08 Centurylink Intellectual Property Llc Network Functions Virtualization Interconnection Hub
US9949204B2 (en) * 2015-08-07 2018-04-17 Provenance Asset Group Llc Method, apparatus, and computer program product for low power data delivery
WO2017045121A1 (en) * 2015-09-15 2017-03-23 Intellectual Ventures Hong Kong Limited Provisioning of virtual machines with security requirements
CN108123987A (zh) * 2016-11-30 2018-06-05 华为技术有限公司 从云计算系统中确定主调度器的方法及装置
US10404687B2 (en) * 2016-12-22 2019-09-03 Wipro Limited Method and system for providing a pre-launched virtual desktop session
US10567548B2 (en) * 2017-01-25 2020-02-18 Wipro Limited System and method for determining service prioritization in virtual desktop infrastructure
CN111209088B (zh) * 2020-01-21 2023-08-29 湖南麒麟信安科技股份有限公司 一种无代理的虚拟机外设封控方法、系统及介质
US11025710B1 (en) * 2020-10-26 2021-06-01 Verizon Digital Media Services Inc. Systems and methods for dynamic load balancing based on server utilization and content popularity

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100070901A (ko) * 2008-12-18 2010-06-28 한국전자통신연구원 가상화 플랫폼을 이용한 가상화 관리 장치 및 그 제어방법
JP5110315B2 (ja) * 2006-05-24 2012-12-26 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法およびプログラム
KR20130016237A (ko) * 2010-03-25 2013-02-14 마이크로소프트 코포레이션 분산 컴퓨팅에서의 전력 공급 관리
KR20130019698A (ko) * 2011-08-17 2013-02-27 주식회사 케이티 사용자 스케줄러와 마이그레이션(Migration)을 통한 자원 최적화 방법 및 시스템

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080201455A1 (en) * 2007-02-15 2008-08-21 Husain Syed M Amir Moving Execution of a Virtual Machine Across Different Virtualization Platforms
US8538919B1 (en) * 2009-05-16 2013-09-17 Eric H. Nielsen System, method, and computer program for real time remote recovery of virtual computing machines
US8433802B2 (en) * 2010-01-26 2013-04-30 International Business Machines Corporation System and method for fair and economical resource partitioning using virtual hypervisor
US20130166622A1 (en) * 2011-12-27 2013-06-27 Citrix Systems, Inc Using Mobile Device Location Data with Remote Resources
US9119035B2 (en) * 2012-05-22 2015-08-25 Cisco Technology, Inc. Location-based power management for virtual desktop environments

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5110315B2 (ja) * 2006-05-24 2012-12-26 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法およびプログラム
KR20100070901A (ko) * 2008-12-18 2010-06-28 한국전자통신연구원 가상화 플랫폼을 이용한 가상화 관리 장치 및 그 제어방법
KR20130016237A (ko) * 2010-03-25 2013-02-14 마이크로소프트 코포레이션 분산 컴퓨팅에서의 전력 공급 관리
KR20130019698A (ko) * 2011-08-17 2013-02-27 주식회사 케이티 사용자 스케줄러와 마이그레이션(Migration)을 통한 자원 최적화 방법 및 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10789083B2 (en) 2015-11-17 2020-09-29 Electronics And Telecommunications Research Institute Providing a virtual desktop service based on physical distance on network from the user terminal and improving network I/O performance based on power consumption
US10789085B2 (en) 2017-03-16 2020-09-29 Electronics And Telecommunications Research Institute Selectively providing virtual machine through actual measurement of efficiency of power usage
WO2020096239A1 (ko) * 2018-11-06 2020-05-14 삼성전자 주식회사 작업 의존성에 기초하여 컴퓨팅 작업을 서버에 스케줄링하는 방법 및 장치
KR20200052135A (ko) * 2018-11-06 2020-05-14 삼성전자주식회사 작업 의존성에 기초하여 컴퓨팅 작업을 서버에 스케줄링하는 방법 및 장치

Also Published As

Publication number Publication date
US20150026306A1 (en) 2015-01-22
KR101941282B1 (ko) 2019-01-23

Similar Documents

Publication Publication Date Title
KR101941282B1 (ko) 가상 데스크톱 서비스 제공 방법 및 장치
CN106453457B (zh) 云计算平台内的多优先级服务实例分配
Wood et al. Sandpiper: Black-box and gray-box resource management for virtual machines
Melhem et al. Markov prediction model for host load detection and VM placement in live migration
Chen et al. RIAL: Resource intensity aware load balancing in clouds
KR101977726B1 (ko) 가상 데스크탑 서비스 방법 및 장치
US20160170791A1 (en) Device for controlling migration in a distributed cloud environment and method for controlling migration using the same
US9807159B2 (en) Allocation of virtual machines in datacenters
Shen et al. A resource usage intensity aware load balancing method for virtual machine migration in cloud datacenters
US20150052528A1 (en) Management of prioritizing virtual machines in an operating environment
US20150309828A1 (en) Hypervisor manager for virtual machine management
KR20170029263A (ko) 부하 분산 장치 및 방법
US10764159B2 (en) Dynamic system level agreement provisioning
WO2016134542A1 (zh) 虚拟机的迁移方法、装置及设备
JP2016103179A (ja) 計算機リソースの割り当て方法及び計算機システム
CN106471473B (zh) 用于控制数据中心中的服务器过高分配的机制
Issawi et al. An efficient adaptive load balancing algorithm for cloud computing under bursty workloads
JP2021504780A (ja) 分散コンピューティング環境における自動対角スケーリングためのアプリケーションの優先順位付け
Shruthi et al. The resource allocation using weighted greedy knapsack based algorithm in an educational fog computing environment
Jain et al. Hybrid load balancing approach for cloud environment
US8819239B2 (en) Distributed resource management systems and methods for resource management thereof
KR101613513B1 (ko) 네트워크 대역폭 및 cpu 이용률을 고려한 가상머신 배치 방법 및 시스템
Nehra et al. Efficient resource allocation and management by using load balanced multi-dimensional bin packing heuristic in cloud data centers
KR20190042465A (ko) 분할 메모리 관리장치 및 방법
Vishakha Performance Analysis of Cloud Load Balancing Algorithms

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
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2017101000754; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20170216

Effective date: 20181212

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant