KR20140102989A - Registration system and method for virtual desktop service of client that has multiple user accounts - Google Patents

Registration system and method for virtual desktop service of client that has multiple user accounts Download PDF

Info

Publication number
KR20140102989A
KR20140102989A KR1020130016593A KR20130016593A KR20140102989A KR 20140102989 A KR20140102989 A KR 20140102989A KR 1020130016593 A KR1020130016593 A KR 1020130016593A KR 20130016593 A KR20130016593 A KR 20130016593A KR 20140102989 A KR20140102989 A KR 20140102989A
Authority
KR
South Korea
Prior art keywords
virtual machine
virtual
user
client
physical server
Prior art date
Application number
KR1020130016593A
Other languages
Korean (ko)
Other versions
KR101529163B1 (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 KR1020130016593A priority Critical patent/KR101529163B1/en
Publication of KR20140102989A publication Critical patent/KR20140102989A/en
Application granted granted Critical
Publication of KR101529163B1 publication Critical patent/KR101529163B1/en

Links

Images

Classifications

    • 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

Abstract

The present invention relates to a subscription system and a subscription processing method used in a virtual desktop service providing a separate virtual desktop environment for multiple companies and organization clients from a data center. The present invention calculates the number of physical servers to be allocated to the clients based on information included in the clients′ virtual desktop service subscription request, allocates the physical servers to the clients, and distributes a virtual system machine to the allocated physical servers to reflect the requested conditions regarding the clients′ virtual desktop environment on the virtual desktop service.

Description

복수의 사용자 계정들을 갖는 클라이언트에 대한 가상 데스크톱 서비스의 청약 시스템 및 청약 처리 방법{Registration system and method for virtual desktop service of client that has multiple user accounts}Technical Field [0001] The present invention relates to a subscription system and method for a virtual desktop service for a client having a plurality of user accounts,

본 발명은, 복수의 사용자 계정들을 갖는 클라이언트에 대한 가상 데스크톱 서비스의 청약 시스템 및 청약 처리 방법에 관한 것으로, 데이터 센터에서 복수의 기업이나 조직 클라이언트들에게 서로 분리된 가상 데스크톱 환경을 제공하는 가상 데스크톱 서비스를 제공함에 있어서, 클라이언트의 청약을 처리하는 청약 시스템 및 청약 처리 방법에 관한 것이다.
The present invention relates to a subscription system and a subscription processing method for a virtual desktop service for a client having a plurality of user accounts, and more particularly, to a virtual desktop service To a subscription system for processing a subscription of a client and an subscription processing method.

데스크톱 가상화는 SBC(Server-Based Computing)과 VDI(Virtual Desktop Infrastructure) 로 나뉠수 있다. SBC는 서버 운영체제에서 제공하는 터미널 서비스를 통해 가상 데스크톱 환경을 사용자에게 제공하는 반면, VDI는 서버에 데스크톱 환경을 위한 가상머신을 생성하고, 이처럼 생성된 가상머신에 운영체제와 어플리케이션을 설치하여 사용자에게 제공할 가상 데스크톱 환경을 구현한다는 점에서 차이가 있다. 이들 중에서, 가상 데스크톱 서비스는 보다 사용자의 로컬 데스크톱 환경과 유사한 데스크톱 환경을 가질 수 있다는 점에서 각광을 받고 있다.Desktop virtualization can be divided into Server-Based Computing (SBC) and Virtual Desktop Infrastructure (VDI). While SBC provides users with a virtual desktop environment through terminal services provided by the server operating system, VDI creates a virtual machine for the desktop environment on the server and installs the operating system and applications on the created virtual machine to the user There is a difference in that it implements a virtual desktop environment. Among them, the virtual desktop service is more popular in that it can have a desktop environment similar to a user's local desktop environment.

복수의 사용자 계정들을 갖는 클라이언트 즉, 기업이나 조직 단위로 가상 데스크톱 서비스를 제공하는 경우에, 종래에는 클라이언트별로 하나의 물리적 하드웨어 및 가상화 소프트웨어를 제공하여 왔다.In the case of providing a virtual desktop service to a client having a plurality of user accounts, that is, a company or an organization unit, conventionally, one physical hardware and virtualization software have been provided for each client.

그러나, 가상 데스크톱 서비스를 원하는 기업이나 조직 단위의 클라이언트들의 수가 늘어남에 따라, 단일한 데이터 센터 내에서 다수의 기업이나 조직 단위의 클라이언트들에게 가상 데스크톱 서비스를 제공하는 것이 요구되고 있다.However, as the number of clients in an enterprise or organizational unit that desire a virtual desktop service increases, it is required to provide virtual desktop services to a large number of enterprise or organizational unit clients within a single data center.

특히, 이러한 가상 데스크톱 서비스는 클라이언트별로 물리적 또는 논리적으로 분리된 가상 환경을 제공해야 하며, 클라이언트에 복수의 사용자 계정들이 할당될수 있으므로, 클라이언트의 청약 단계에서 가상 환경에 대한 요구사항을 독출하여 이를 가상 데스크톱 서비스에 물리적인 시스템 자원을 할당하거나 가상머신을 할당하는 데에 반영하는 것이 필요하다. In particular, such a virtual desktop service must provide a virtual environment that is physically or logically separated on a client-by-client basis, and a plurality of user accounts may be assigned to the client, so that the client's subscription step reads the requirements for the virtual environment, It is necessary to reflect the allocation of physical system resources to the service or the allocation of virtual machines.

그러나, 현재는 가상 데스크톱 서비스가 아직 활성화되기 이전이므로, 클라이언트의 청약 단계에서, 클라이언트의 가상 환경에 대한 요구사항을 독출하여, 가상 데스크톱 서비스에 물리적인 시스템 자원을 할당하거나 가상머신을 할당하는 데에 반영할 수 있는 기술에 대해서는 구체적으로 개시되고 있지 않은 실정이다.However, since the virtual desktop service is not yet active yet, at the client's subscription stage, the requirements for the client's virtual environment are read, and the virtual desktop service is allocated physical system resources or virtual machines The technology that can be reflected is not specifically disclosed.

한국특허공개공보 제 2012-0064574 호Korean Patent Laid-Open Publication No. 2012-0064574

본 발명이 이루고자 하는 기술적 과제는, 데이터 센터에서 복수의 기업이나 조직 클라이언트들에게 서로 분리된 가상 데스크톱 환경을 제공하는 가상 데스크톱 서비스를 제공하는 데에 있어서, 클라이언트의 청약 단계에서, 클라이언트의 가상 환경에 대한 요구사항을 독출하여, 가상 데스크톱 서비스에 물리적인 시스템 자원을 할당하거나 가상머신을 할당하는 데에 반영할 수 있는 가상 데스크톱 서비스의 청약 시스템 및 청약 처리 방법을 제공하는 데에 있다.SUMMARY OF THE INVENTION The present invention provides a virtual desktop service providing a virtual desktop environment separated from a plurality of companies or organizational clients in a data center, And to provide subscription systems and subscription processing methods of virtual desktop services that can be reflected in allocating physical system resources to virtual desktop services or allocating virtual machines.

본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not intended to limit the invention to the particular embodiments that are described. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, There will be.

상기의 기술적 과제를 이루기 위한, 가상 데스크톱 서비스의 청약 시스템은 클라이언트에게 데이터 센터의 물리적 컴퓨팅 자원을 가상화한 가상 컴퓨팅 자원을 이용하여 가상 데스크톱 환경을 제공할 사용자 가상머신의 수량을 포함하는 가상 데스크톱 서비스 청약 신청을 수신하는 청약 수신부; 상기 가상 데스크톱 서비스 청약 신청에 포함된 정보를 기초로 상기 클라이언트에 할당될 물리 서버 수량을 산출하는 물리서버수량산출부; 상기 산출된 물리 서버 수량을 기초로 상기 데이터 센터의 가용 물리 서버들 중에서 적어도 하나 이상의 물리 서버를 상기 클라이언트에 할당하는 물리서버할당부; 상기 할당된 물리 서버에 상기 가상 데스크톱 환경의 기반 인프라를 구성하는 시스템 가상머신을 배포하는 시스템가상머신배포부을 포함한다.According to an aspect of the present invention, there is provided a virtual desktop service subscription system including a virtual desktop service subscription service including a quantity of a user virtual machine to provide a virtual desktop environment using virtual computing resources that virtualize physical computing resources of a data center, A subscription receiving unit for receiving an application; A physical server quantity calculation unit for calculating a quantity of physical servers to be allocated to the client based on information included in the virtual desktop service subscription request; A physical server allocation unit allocating at least one physical server among the available physical servers of the data center to the client based on the calculated physical server quantity; And a system virtual machine distributing unit for distributing the system virtual machine constituting the infrastructure of the virtual desktop environment to the allocated physical server.

상기의 기술적 과제를 이루기 위한, 가상 데스크톱 서비스의 청약 처리 방법은 클라이언트에게 데이터 센터의 물리적 컴퓨팅 자원을 가상화한 가상 컴퓨팅 자원을 이용하여 가상 데스크톱 환경을 제공할 사용자 가상머신의 수량을 포함하는 가상 데스크톱 서비스 청약 신청을 수신하는 단계; 상기 가상 데스크톱 서비스 청약 신청에 포함된 정보를 기초로 상기 클라이언트에 할당될 물리 서버 수량을 산출하는 단계; 상기 산출된 물리 서버 수량을 기초로 상기 데이터 센터의 가용 물리 서버들 중에서 적어도 하나 이상의 물리 서버를 상기 클라이언트에 할당하는 물리서버할당 단계; 및 상기 할당된 물리 서버에 상기 가상 데스크톱 환경의 기반 인프라를 구성하는 시스템 가상머신을 배포하는 시스템가상머신배포 단계를 포함한다.
According to another aspect of the present invention, there is provided a subscription processing method for a virtual desktop service, the method comprising: providing a virtual desktop service including a quantity of a user virtual machine to provide a virtual desktop environment using virtual computing resources, Receiving a subscription application; Calculating a number of physical servers to be allocated to the client based on information included in the virtual desktop service subscription request; A physical server allocation step of allocating at least one physical server among available physical servers in the data center to the client based on the calculated physical server quantity; And a system virtual machine distribution step of distributing a system virtual machine constituting an infrastructure of the virtual desktop environment to the allocated physical server.

본 발명에 따르면, 데이터 센터에서 복수의 사용자 계정을 갖는 기업이나 조직 클라이언트들에게 클라이언트 단위로 서로 물리적으로 분리된 물리적 시스템 자원을 기초로 가상 데스크톱 환경을 제공하는 가상 데스크톱 서비스를 제공하는 데에 있어서, 가상 데스크톱 서비스에 물리적인 시스템 자원을 할당하거나 가상머신을 할당하는 데에 클라이언트의 요구사항을 보다 충실하게 반영할 수 있게 된다.
According to the present invention, in providing a virtual desktop service that provides a virtual desktop environment based on physical system resources physically separated from each other on a client basis to a corporation or organizational clients having a plurality of user accounts in a data center, It will be able to better reflect the requirements of the client in allocating physical system resources or assigning virtual machines to the virtual desktop service.

도 1은 본 발명의 바람직한 일 실시예에 따른 클라이언트에 대한 가상 데스크톱 서비스 시스템의 전체적인 구성을 도시한 도면이다.
도 2a는 본 발명의 바람직한 일 실시예에 따른 가상 데스크톱 서비스의 청약 시스템의 개략적인 구성을 도시한 블록도이다.
도 2b는 본 발명의 바람직한 일 실시예에 따른 가상 데스크톱 서비스의 청약 방법을 도시한 도면이다.
도 3은 본 발명의 바람직한 일 실시예에 따라 가상 데스크톱 서비스를 제공하는 데이터 센터의 전체 구조를 개략적으로 설명하기 위한 도면이다.
도 4는 본 발명의 바람직한 실시예에 따른 가상 데스크톱 서비스의 청약 시스템에서 가상 데스크톱 서비스의 청약 신청을 처리하는 과정을 예시한 도면이다.
도 5는 본 발명의 바람직한 일 실시예에 따라 청약 신청을 한 클라이언트에 물리 서버를 할당하는 구체적인 과정을 예시한 도면이다.
도 6은 본 발명의 바람직한 일 실시예에 따라 라우터 가상머신을 배포하는 구체적인 과정을 예시한 도면이다.
FIG. 1 is a block diagram illustrating an overall configuration of a virtual desktop service system for a client according to an exemplary embodiment of the present invention. Referring to FIG.
2A is a block diagram showing a schematic configuration of a subscription system of a virtual desktop service according to a preferred embodiment of the present invention.
FIG. 2B illustrates a method of subscribing to a virtual desktop service according to an exemplary embodiment of the present invention.
3 is a schematic diagram for explaining the entire structure of a data center providing a virtual desktop service according to a preferred embodiment of the present invention.
4 is a diagram illustrating a process of processing a subscription application for a virtual desktop service in a subscription system of a virtual desktop service according to a preferred embodiment of the present invention.
FIG. 5 is a diagram illustrating a specific process of assigning a physical server to a client who has made a subscription request according to a preferred embodiment of the present invention.
6 is a diagram illustrating a specific process of distributing a router virtual machine according to a preferred embodiment of the present invention.

이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다. 또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한, 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다. The following merely illustrates the principles of the invention. Thus, those skilled in the art will be able to devise various apparatuses which, although not explicitly described or shown herein, embody the principles of the invention and are included in the concept and scope of the invention. Furthermore, all of the conditional terms and embodiments listed herein are, in principle, intended only for the purpose of enabling understanding of the concepts of the present invention, and are not intended to be limiting in any way to the specifically listed embodiments and conditions . It is also to be understood that the detailed description, as well as the principles, aspects and embodiments of the invention, as well as specific embodiments thereof, are intended to cover structural and functional equivalents thereof. It is also to be understood that such equivalents include all elements contemplated to perform the same function irrespective of currently known equivalents as well as equivalents to be developed in the future.

따라서, 프로세서 또는 이와 유사한 개념으로 표시된 기능 블록을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다. 또한, 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니 되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지 관용의 다른 하드웨어도 포함될 수 있다. Thus, the functions of the various elements shown in the drawings, including the functional blocks shown in the figures or similar concepts, may be provided by use of dedicated hardware as well as hardware capable of executing software in connection with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, a single shared processor, or a plurality of individual processors, some of which may be shared. Also, the use of terms such as processor, control, or similar concepts should not be construed as exclusive reference to hardware capable of executing software, but may include, without limitation, digital signal processor (DSP) hardware, (ROM), random access memory (RAM), and non-volatile memory. Other hardware may also be included.

상술한 목적, 특징 및 장점들은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 더욱 분명해 질 것이다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략하거나 간략하게 설명하는 것으로 한다. The above objects, features and advantages will become more apparent from the following detailed description in conjunction with the accompanying drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

한편 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.On the other hand, when an element is referred to as "including " an element, it does not exclude other elements unless specifically stated to the contrary.

이하, 첨부된 도면을 참조하여 바람직한 실시예에 따른 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 바람직한 일 실시예에 따른 클라이언트에 대한 가상 데스크톱 서비스 시스템(100)의 전체적인 구성을 도시한 도면이다.FIG. 1 is a diagram illustrating a general configuration of a virtual desktop service system 100 for a client according to a preferred embodiment of the present invention.

도 1을 참조하면, 본 실시예에 따른 가상 데스크톱 서비스 시스템(100)은 각 클라이언트별로 할당되는 가상머신들의 집합인 클라이언트별 가상 데스크톱 시스템(110)과 이러한 클라이언트별 가상 데스크톱 시스템(110)들을 전체적으로 관리 및 제어하는 서비스 공급자의 중앙 관리 시스템(120)을 포함한다. 상기한 구성요소들 이외에 다른 구성요소들이 본 실시예에 따른 가상 데스크톱 서비스 시스템(100)에 포함될 수 있음은 자명하다.Referring to FIG. 1, the virtual desktop service system 100 according to the present embodiment manages a client-specific virtual desktop system 110, which is a set of virtual machines allocated to each client, and the virtual desktop systems 110, And a centralized management system 120 of the service provider that controls. It is apparent that other components other than the above-described components can be included in the virtual desktop service system 100 according to the present embodiment.

본 실시예에 따른 가상 데스크톱 서비스 시스템(100)의 구성요소들인 클라이언트별 가상 데스크톱 시스템(110) 및 중앙 관리 시스템(120)은 그 중 적어도 일부가 외부 단말장치나 외부 서버등과 통신하는 프로그램 모듈일 수 있으며, 이러한 프로그램 모듈들은 운영 시스템, 응용 프로그램 모듈 및 기타 프로그램 모듈로서 가상 데스크톱 서비스 시스템(100)에 포함될 수 있으며, 물리적으로는 다양한 종류의 공지된 기억 장치에 저장될 수 있다. 또한, 이러한 프로그램 모듈들은 가상 데스크톱 서비스 시스템(100)와 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈들은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 본 발명 자체가 이에 한정되지는 않는다.The virtual desktop system 110 and the central management system 120, which are components of the virtual desktop service system 100 according to the present embodiment, include at least a program module for communicating with an external terminal device or an external server, These program modules may be included in the virtual desktop service system 100 as an operating system, an application program module, and other program modules, and may be physically stored in various kinds of known storage devices. In addition, these program modules may be stored in a remote storage device capable of communicating with the virtual desktop service system 100. These program modules, on the other hand, encompass routines, subroutines, programs, objects, components, data structures, etc., that perform particular tasks or perform particular abstract data types as described below in accordance with the present invention, Do not.

본 실시예에 따른 클라이언트별 가상 데스크톱 시스템(110)은 복수의 사용자 계정들에 각각 할당되는 사용자 가상머신들(116)과, 클라이언트 별로 할당되어 개별 사용자 가상머신들의 가상 데스크톱 서비스를 지원하는 시스템 가상머신들(111 내지 115)을 포함한다.The virtual desktop system 110 for each client according to the present embodiment includes user virtual machines 116 allocated to a plurality of user accounts, a system virtual machine 116 allocated for each client and supporting virtual desktop services of individual user virtual machines (111 to 115).

사용자 가상머신들(116)은 각각 데이터 센터의 물리적 컴퓨팅 자원을 가상화한 가상 컴퓨팅 자원을 이용하여 사용자 계정별로 가상의 데스크톱 환경을 직접적으로 제공하는 것으로, 로컬 데스크톱 환경에서 로컬의 물리적 컴퓨팅 자원을 이용하는 것과 근사한 수준의 가상 데스크톱 환경을 제공하기 위해 로컬 데스크톱 환경과 동일한 운영체제 및 어플리케이션들이 설치되어 구동될 수 있다.The user virtual machines 116 directly provide a virtual desktop environment for each user account using virtual computing resources that virtualize the physical computing resources of the data center, using local physical computing resources in the local desktop environment To provide a good level of virtual desktop environment, the same operating systems and applications as the local desktop environment can be installed and operated.

시스템 가상머신들로는, 라우터 가상머신(RVM, 111~112), 액티브 디렉토리 가상머신(AD, 113), 데스크톱 딜리버리 제어 가상머신(DDC, 114) 및 통신암호화 가상머신(VPX, 115)이 해당될 수 있다.The system virtual machines include a router virtual machine (RVM) 111 to 112, an active directory virtual machine (AD) 113, a desktop delivery control virtual machine (DDC) 114 and a communication encryption virtual machine (VPX) have.

즉, 본 실시예에 따르면, 클라이언트 별로 라우터 가상머신(RVM, 111~112), 액티브 디렉토리 가상머신(AD, 113) 및 데스크톱 딜리버리 제어 가상머신(DDC, 114)을 포함하는 서로 독립된 시스템 가상머신 집합을 갖게 되며, 클라이언트의 선택에 따라 추가적으로 통신암호화 가상머신(VPX, 115)을 포함할 수 있다.In other words, according to the present embodiment, a client virtual machine (RVM) 111 to 112, an active directory virtual machine (AD) 113, and a desktop delivery virtual machine (DDC) And may additionally include a communication encryption virtual machine (VPX) 115 according to the selection of the client.

라우터 가상머신(RVM, 111~112)은 사용자 가상머신들(116) 각각에 서비스 IP를 할당하여 사용자 가상머신들(116)과 외부 네트워크와의 통신을 중개하고, 사용자 가상머신들(116) 사이의 사설 네트워크 내에서의 통신을 라우팅하는 클라이언트별 가상의 사설 네트워크의 라우터 기능을 수행한다. 예컨대, 사용자 가상머신들(116)을 통해 제공되는 가상 데스크톱 환경에서 인터넷에 접근하기 위해서는 라우터 가상머신을 통해 접근하게 된다. 이때, 라우터 가상머신(RVM, 111~112)는 클라이언트의 외부 인터넷용 집선 스위치로서의 기능을 수행할 수 있다.The router virtual machine (RVM, 111 to 112) allocates a service IP to each of the user virtual machines 116 to mediate communication between the user virtual machines 116 and the external network, And performs a router function of a virtual private network for each client that routes communication in the private network of the client. For example, in order to access the Internet in the virtual desktop environment provided through the user virtual machines 116, the user accesses through the router virtual machine. At this time, the router virtual machine (RVM, 111 to 112) can perform a function as a client external Internet aggregation switch.

아울러, 라우터 가상머신(RVM, 111~112)은 사용자 가상머신들(116)에 유동 IP를 할당하는 DHCP 서버를 포함할 수 있다. In addition, the router virtual machine (RVM, 111 to 112) may include a DHCP server that allocates a dynamic IP to the user virtual machines 116.

라우터 가상머신(RVM, 111~112)은 사용자 가상머신들의 개수에 따라 동적으로 추가 증설되거나(Scale Out), 감축될 수 있는 구조를 갖는 것이 바람직하다.It is preferable that the router virtual machine (RVM, 111 to 112) has a structure that can be dynamically added or scaled out according to the number of user virtual machines.

데스크톱 딜리버리 제어 가상머신(DDC, 114)은 사용자 가상머신과 사용자 가상머신에 접근하는 사용자 계정 사이의 세션을 연결하고 사용자 가상머신에서 제공하는 가상 데스크톱 서비스를 관리한다.A desktop delivery control virtual machine (DDC) 114 connects a session between a user virtual machine and a user account accessing the user virtual machine, and manages the virtual desktop service provided by the user virtual machine.

액티브 디렉토리 가상머신(AD, 113)은 사용자 가상머신들 및 데스크톱 딜리버리 제어 가상머신의 사용자 계정들의 정보를 관리하고, 이들에 접근하는 사용자 계정을 인증한다. 다시 말하면, 액티브 디렉토리 가상머신(AD, 113)는 각 고객별로 제공되는 가상머신들을 구성요소로 하는 클라이언트별 가상의 사설 네트워크에서의 사용자 계정 정보를 관리하는 액티브 디렉토리(Active directory) 서비스를 제공한다. 이를 위해서, 사용자 가상머신들 및 데스크톱 딜리버리 제어 가상머신이 모두 액티브 디렉토리 가상머신(AD, 113)의 액티브 디렉토리에 모두 조인이 되어야 한다.The Active Directory Virtual Machine (AD) 113 manages the information of the user accounts of the user virtual machines and the desktop delivery control virtual machine, and authenticates the user account that accesses them. In other words, the Active Directory virtual machine (AD) 113 provides an Active directory service for managing user account information in a virtual private network for each client having virtual machines provided for each client as its components. To this end, both the user virtual machines and the desktop delivery control virtual machine must be joined to the active directory of the Active Directory virtual machine (AD 113).

통신 암호화 가상머신(VPX, 115)은 클라이언트의 선택에 의해 포함될 수 있는 시스템 가상머신으로, 클라이언트의 사용자 계정과 사용자 가상머신들 간의 통신 프로토콜을 암호화해주는 기능을 수행하는 가상머신으로, 클라이언트와 사용자 가상머신들 간의 통신 과정에 있어서 엑세스 게이트웨이로서의 기능을 수행할 수 있다. The communication encryption virtual machine (VPX) 115 is a system virtual machine that can be included by selection of a client, and is a virtual machine that performs a function of encrypting a communication protocol between a user account of a client and a user virtual machine. And can function as an access gateway in a communication process between the machines.

클라이언트와 사용자 가상머신들 간의 통신 프로토콜로 Citrix 사의 통신 프로토콜인 ICA를 사용할 수 있으며, 이때 통신 암호화 가상머신은 이러한 ICA를 암호화할 수 있다.The communication protocol between the client and the user virtual machine can use the ICA communication protocol of Citrix, and the communication encryption virtual machine can encrypt this ICA.

시스템 가상머신으로 통신 암호화 가상머신을 포함하는 경우에는 가상 데스크톱 서비스시에, 클라이언트의 단말과 사용자 가상머신이 직접적으로 통신(예컨대, 데스크톱 화면 전송)을 수행하는 것이 아니라, 클라이언트의 단말과 통신 암호화 가상머신이 SSL 통신을 하게 되며, 이때, 통신 암호화 가상머신은 클라이언트의 가상 데스크톱 서비스의 프록시 서버로서 기능하게 된다. In a case where a communication encryption virtual machine is included in the system virtual machine, the client terminal and the user virtual machine do not directly communicate (for example, desktop screen transmission) in the virtual desktop service, The machine will make SSL communication, and at this time, the communication encryption virtual machine will function as a proxy server of the virtual desktop service of the client.

본 실시예에 따른 서비스 공급자의 중앙 관리 시스템(120)은 VMS(121), Portal(122), VSV(123) 및 VMS-UI(124)을 포함할 수 있다.The service provider's central management system 120 according to the present embodiment may include a VMS 121, a Portal 122, a VSV 123 and a VMS-UI 124.

VMS(121)는 데이터 센터 전체의 코어 관리 기능 및 VDI 확장 기능을 수행하는 구성요소로, 여기에서 코어 관리 기능은 데이터 센터에 속한 물리적인 컴퓨팅 자원들을 Zone/Pod/Cluster/Storage/Host 단위로 각각 관리하고, 데이터 센터 내의 전체 스토리지 및 네트워크 자원을 관리하고, 사용자 가상머신 및 시스템 가상머신에 설치될 패키지 또는 템플릿을 관리하고, 가상머신들의 생성 또는 추가시 활용할 가상머신들의 풀(pool)을 관리 혹은 제어하는 것을 가리키며, VDI 확장 기능은 클라이언트 별로 할당되는 데스크톱 딜리버리 제어 가상머신(113) 및 액티브 디렉토리 가상머신(114)의 제어 또는 설정 사항 변경 등을 통해 클라이언트별로 서로 독립적으로 제공되는 가상 데스크톱 서비스의 세부 사항들을 조정할 수 있다.The VMS 121 is a component for performing a core management function and a VDI extension function of the entire data center, wherein the core management function is a function for managing physical computing resources belonging to a data center in units of Zone / Pod / Cluster / Storage / Host Manage the entire storage and network resources in the data center, manage packages or templates to be installed in user virtual machines and system virtual machines, manage pools of virtual machines to be used in creating or adding virtual machines, The VDI extension function is a function of the virtual desktop service which is independently provided for each client through control of the desktop delivery control virtual machine 113 and the active directory virtual machine 114, You can adjust things.

Portal(122), VSV(123) 및 VMS-UI(124)는 모두 사용자 인터페이스를 제공하는 구성요소로서, Portal(122)은 클라이언트로부터 가상 데스크톱 서비스에 대한 청약 신청을 받고, 청약 신청에 따라 가상 데스크톱 서비스의 기반 인프라 환경을 구축하며, 클라이언트에 제공되는 가상 데스크톱 서비스의 요금을 빌링하는 부분에 대한 사용자 인터페이스를 제공하며, VSV(123)은 상기한 VMS(121)의 관리 기능 중 VDI 확장 기능 부분에 관한 사용자 인터페이스를 제공하고, VMS-UI(124)는 상기한 VMS(121)의 관리 기능 중 코어 관리 기능 부분에 관한 사용자 인터페이스를 제공한다.The Portal 122, the VSV 123, and the VMS-UI 124 are all components that provide a user interface. The Portal 122 receives a subscription application for a virtual desktop service from a client, The VSV 123 provides a user interface for a portion for billing the virtual desktop service provided to the client, and the VSV 123 provides the VDI extension function portion of the management function of the VMS 121 And the VMS-UI 124 provides a user interface related to the core management function portion of the management functions of the VMS 121. [

이러한 Portal(122), VSV(123) 및 VMS-UI(124)에서 RESTful 방식으로 서비스 API를 호출하여, VMS(121)에 탑재된 API 계층에 속한 프로그램 모듈들을 활성화시키고, 이들 프로그램들에 포함된 함수 호출에 의해, 인프라 또는 가상머신을 관리하는 코어 관리기능, AD 또는 DDC를 관리하는 VDI 기능, 모니터링 기능 및 스케줄링 기능을 수행하게 된다.The service APIs are called in the RESTful manner in the portal 122, the VSV 123 and the VMS-UI 124 to activate the program modules belonging to the API layer mounted on the VMS 121, Function calls to perform core management functions for managing infrastructure or virtual machines, VDI functions for managing AD or DDC, monitoring functions, and scheduling functions.

여기에서 서비스 API란, VMS(121) 외부(예컨대, Portal(122), VSV(123) 및 VMS-UI(124) 등)에서 호출할 수 있는 API로 VMS(121) 외부에 대하여 가상 데스크톱 서비스를 구성하는 개별 기능들에 대한 요청 및 응답 포인트를 제공할 수 있다.Here, the service API refers to an API that can be called from outside the VMS 121 (for example, the portal 122, the VSV 123, and the VMS-UI 124) And can provide request and response points for the individual functions that constitute it.

본 실시예에 따른 가상 데스크톱 서비스 시스템(100)을 통해. 클라이언트에 가상 데스크톱 서비스를 제공하기 위해서는, Portal(122)를 통해 클라이언트로부터 가상 데스크톱 서비스의 청약 요청을 받아, 사용자 가상머신들의 생성 이전에 클라이언트의 가상 데스크톱 서비스의 기반 인프라 환경을 구축해야 한다.Through the virtual desktop service system 100 according to the present embodiment. In order to provide the virtual desktop service to the client, a subscription request of the virtual desktop service from the client is requested through the portal 122, and the infrastructure environment of the client's virtual desktop service must be established before the user virtual machines are created.

클라이언트에 대한 가상 데스크톱 서비스의 기반 인프라 환경은 클라이언트별로 물리적인 시스템 자원을 할당하여야 하며, 할당된 물리적인 시스템 자원 상에 상기한 시스템 가상머신 집합을 생성하여 배포하여야 하며, 시스템 가상머신들 각각의 기능을 제공하기 위한 소프트웨어 패키지를 설치하는 과정을 먼저 거쳐야 한다.The infrastructure environment of the virtual desktop service for the client should allocate physical system resources for each client and generate and distribute the system virtual machine set on the allocated physical system resources. The process of installing the software package for providing the software package must first be performed.

본 실시예에 따른 Portal(122)에서는 클라이언트의 청약으로부터 클라이언트의 가상 환경에 대한 요구사항을 독출하여 이러한 가상 데스크톱 서비스의 기반 인프라 환경의 구축과정에 반영하는 것을 특징으로 하고 있다.In the portal 122 according to the present embodiment, the requirements of the client's virtual environment are read from the client's subscription and reflected in the establishment process of the infrastructure environment of the virtual desktop service.

도 2a는 본 발명의 바람직한 일 실시예에 따른 가상 데스크톱 서비스의 청약 시스템(200)의 개략적인 구성을 도시한 블록도이며, 도 2b는 도 2a에 도시된 청약 시스템(200)에서 수행될 수 있는 가상 데스크톱 서비스의 청약 방법을 도시한 도면이다. 본 실시예에 따른 가상 데스크톱 서비스의 청약 시스템(200)은 도 1에 도시된 가상 데스크톱 서비스 시스템의 Portal(122) 또는 VMS(121) 및 Portal(122)을 서로 결합한 구성에 대응될 수 있다. 따라서, 도 1에 도시된 가상 데스크톱 서비스 시스템에 관한 설명에서와 동일한 사항에 대해서는 이를 참조할 수 있다.FIG. 2A is a block diagram illustrating a schematic configuration of a subscription system 200 of a virtual desktop service according to a preferred embodiment of the present invention, and FIG. 2B is a block diagram of a subscription system 200 A method of subscribing to a virtual desktop service. The subscription system 200 of the virtual desktop service according to the present embodiment may correspond to a configuration in which the portal 122 or the VMS 121 and the portal 122 of the virtual desktop service system shown in Fig. 1 are combined with each other. Accordingly, the same items as those in the description of the virtual desktop service system shown in Fig. 1 can be referred to.

도 2a를 참조하면, 본 실시예에 따른 가상 데스크톱 서비스의 청약 시스템(200)은 청약신청수신부(210), 물리서버수량산출부 (220), 물리서버할당부(230) 및 시스템가상머신배포부(240)를 포함하여 구성될 수 있다.2A, the subscription system 200 of the virtual desktop service according to the present embodiment includes a subscription application reception unit 210, a physical server quantity calculation unit 220, a physical server subscription unit 230, (240).

청약신청수신부(210)는 클라이언트로부터 가상 데스크톱 서비스의 사용자 가상머신의 개수를 포함하는 가상 데스크톱 서비스 청약 신청을 수신한다(S201).The subscription application receiving unit 210 receives a virtual desktop service subscription application including the number of user virtual machines of the virtual desktop service from the client (S201).

가상 데스크톱 서비스 청약 신청은 사용자 가상머신의 개수뿐만 아니라, 가상 데스크톱 서비스에서 제공하는 가상 데스크톱 환경의 물리적 자원량(클라이언트에 할당된 총 CPU 용량, 총 메모리 용량, 총 스토리지 용량등)을 추가적으로 포함할 수 있다.In addition to the number of user virtual machines, the virtual desktop service subscription application may additionally include the physical resources of the virtual desktop environment provided by the virtual desktop service (total CPU capacity allocated to the client, total memory capacity, total storage capacity, etc.) .

더불어, 가상 데스크톱 서비스 청약 신청은 가상 데스크톱 서비스를 위한 클라이언트의 사용자 계정과 사용자 가상머신 간의 통신 프로토콜에 보다 보안성이 강화된 암호화를 적용할지 여부에 관한 클라이언트의 선택 사항을 추가적으로 포함할 수 있다.In addition, the virtual desktop service subscription application may additionally include a client's choice as to whether to apply more security-enhanced encryption to the communication protocol between the client's user account for the virtual desktop service and the user virtual machine.

물리서버수량산출부(220)는 청약신청수신부(210)에 수신된 가상 데스크톱 서비스 청약 신청에 포함된 정보를 기초로 해당 클라이언트의 가상 데스크톱 서비스에 할당될 물리서버수량을 산출한다(S202).The physical server quantity calculation unit 220 calculates the physical server quantity to be allocated to the virtual desktop service of the client based on the information included in the virtual desktop service subscription request received in the subscription application reception unit 210 (S202).

물리서버수량산출부(220)는 가상 데스크톱 서비스 청약 신청에 포함된 사용자 가상머신의 개수를 기초로 물리서버 수량을 산출할 수 있다. 구현예에 따라서는, 물리서버 수량 산출에 사용자 가상머신의 개수뿐만 아니라, 가상 데스크톱 서비스 청약 신청에 포함된 다른 정보 예컨대, 총 CPU 용량, 총 메모리 용량, 총 스토리지 용량 등의 정보를 선택적으로 혹은 일괄적으로 참조할 수 있다.The physical server quantity calculation unit 220 may calculate the physical server quantity based on the number of user virtual machines included in the virtual desktop service subscription application. Depending on the implementation, information such as the total CPU capacity, the total memory capacity, and the total storage capacity, as well as the number of user virtual machines in the calculation of the number of physical servers, as well as other information included in the virtual desktop service subscription application, You can refer to it as a reference.

물리서버할당부(230)는 물리서버수량산출부(220)에서 산출된 물리서버수량을 기초로 가용 물리 서버들 중에서 적어도 하나 이상의 물리 서버를 해당 클라이언트에 할당한다(S203). 예컨대, 가용 물리서버들 중에서 물리서버수량산출부(220)에서 산출된 물리서버수량과 동일한 개수의 물리 서버들을 해당 클라이언트에 할당하는 것이 바람직하다. The physical server allocation unit 230 allocates at least one physical server among the available physical servers to the client based on the physical server quantity calculated by the physical server quantity calculation unit 220 (S203). For example, among the available physical servers, it is preferable to allocate the same number of physical servers to the clients as the number of physical servers calculated by the physical server quantity calculation unit 220.

물리서버수량산출부(220)에서 산출된 물리서버수량 이상의 가용 물리서버들이 존재하는 경우에는 물리서버들 간의 물리적 거리, 물리서버들이 속한 클러스터 등을 고려하여 서로 인접한 물리서버들 또는 동일한 클러스터에 속한 물리서버들을 우선적으로 할당할 수 있다.When there are available physical servers that are equal to or larger than the number of physical servers calculated by the physical server quantity calculation unit 220, considering the physical distance between the physical servers, clusters to which the physical servers belong, Servers can be assigned preferentially.

시스템가상머신배포부(240)는 물리서버할당부(230)에서 할당된 적어도 하나 이상의 물리 서버에 가상 데스크톱 서비스의 기반 인프라를 구현하는 시스템 가상머신을 생성하여 배포한다(S204).The system virtual machine distributor 240 creates and distributes a system virtual machine that implements the infrastructure of the virtual desktop service to at least one physical server allocated in the physical server assignment unit 230 (S204).

시스템가상머신배포부(240)에서 물리서버에 시스템 가상머신을 배포함에 있어서, 가상 데스크톱 서비스 청약 신청에 포함된 사용자 가상머신의 개수 및 가상 데스크톱 서비스의 통신 프로토콜에 보다 보안성이 강화된 암호화를 적용할지 여부에 관한 클라이언트의 선택 사항 등의 정보를 참조할 수 있다.In distributing the system virtual machine to the physical server in the system virtual machine distributor 240, more security-enhanced encryption is applied to the number of user virtual machines included in the virtual desktop service subscription application and the communication protocol of the virtual desktop service And the client's choice as to whether or not to do so.

예컨대, 사용자 가상머신의 개수 정보에 따라 시스템 가상머신 중 라우터 가상머신의 배포 수량을 결정할 수 있으며, 가상 데스크톱 서비스의 통신 프로토콜에 보다 보안성이 강화된 암호화를 적용할지 여부에 관한 클라이언트의 선택 사항 정보에 따라 통신 암호화 가상머신의 배포 여부를 결정할 수 있다.For example, the number of router virtual machines in the system virtual machine can be determined based on the number information of the user virtual machines, and the selection information of the client about whether to apply more security-enhanced encryption to the communication protocol of the virtual desktop service , It is possible to determine whether or not the communication encryption virtual machine is distributed.

도 3은 본 발명의 바람직한 일 실시예에 따라 가상 데스크톱 서비스를 제공하는 데이터 센터(300)의 전체 구조를 개략적으로 설명하기 위한 도면으로, 본 실시예에 따른 사용자 가상머신(315~316, 325, 336), RVM(311~312, 321, 331), AD(313, 323, 333) 및 DDC(314, 324, 334), VPX(335)는 도 1에 도시된 가상 데스크톱 서비스 시스템의 사용자 가상머신(115~116), 라우터 가상머신(111~112), 액티브 디렉토리 가상머신(113), 데스크톱 딜리버리 제어 가상머신(114) 및 통신 암호화 가상머신(115)에 각각 대응될 수 있다. 따라서, 도 1에 도시된 가상 데스크톱 서비스 시스템에 관한 설명에서와 동일한 사항에 대해서는 이를 참조한다.FIG. 3 is a schematic diagram for explaining the overall structure of a data center 300 providing a virtual desktop service according to a preferred embodiment of the present invention. The user virtual machines 315 to 316, 325, The RVMs 311 to 312 and 321 and 331 and the ADs 313 to 323 and 333 and the DDCs 314 to 324 and 334 and the VPX 335 of the virtual desktop service system shown in FIG. The router virtual machines 111 to 112, the active directory virtual machine 113, the desktop delivery control virtual machine 114, and the communication encryption virtual machine 115, respectively. Therefore, the same items as those in the description of the virtual desktop service system shown in Fig. 1 are referred to.

본 실시예에 따른 가상 데스크톱 서비스는 다수의 독립된 클라이언트들이 동일한 형태의 가상 데스크톱 서비스를 단일한 데이터 센터(300)에서 제공받을 수 있다.The virtual desktop service according to the present embodiment can allow a plurality of independent clients to receive virtual desktop services of the same type in a single data center 300. [

본 실시예에 따른 데이터 센터(300)는 가상 데스크톱 서비스를 제공하기 위한 물리 서버 및 스토리지들의 집합 및 이러한 가상 데스크톱 서비스를 관리하기 위한 하나의 가상 데스크톱 서비스 관리 시스템을 포함한 개념이며, 여기에서 물리 서버는 CPU, 메모리, 디스크, 네트워크 카드로 구성된 하나의 하드웨어 조합을 가리키며, 이들 중 동일한 스토리지를 공유하는 물리 서버들의 집합을 클러스터라고 칭할 수 있다.The data center 300 according to the present embodiment is a concept including a set of physical servers and storages for providing virtual desktop services and a virtual desktop service management system for managing the virtual desktop services, Refers to a combination of hardware consisting of a CPU, a memory, a disk, and a network card, and a set of physical servers sharing the same storage among them may be referred to as a cluster.

본 실시예에 따른 가상 데스크톱 서비스에서는, 특정 클라이언트에 대한 가상 데스크톱 서비스가 다른 클라이언트에 대한 가상 데스크톱 서비스에 영향을 주거나 받지 않아야 하며, 이를 위해 본 실시예에 따른 데이터 센터(300)는 클라이언트별 정보를 논리적으로 분리하여 관리하여야 하며, 아울러, 클라이언트별로 독립된 하드웨어 리소스와 독립된 네트워크 리소스를 포함하는 클라이언트별 가상 데스크톱 시스템을 제공할 수 있다. In the virtual desktop service according to the present embodiment, the virtual desktop service for a specific client should or should not be affected by the virtual desktop service for other clients. To this end, the data center 300 according to the present embodiment It is also possible to provide a client-specific virtual desktop system including independent hardware resources and independent network resources for each client.

도 3을 참조하면, 본 실시예에 따른 데이터 센터는 클라이언트별 가상 데스크톱 시스템(310, 320, 330)들을 구비한다. 클라이언트별 가상 데스크톱 시스템은 사용자 가상머신들, RVM, AC 및 DDC를 포함하고, 선택적으로 VPX를 더 포함하는 사용자 및 시스템 가상머신들의 집합으로, 서로 독립적으로 동작하며, 서로에 대해 은닉되어 상호 시스템들 간의 보안성이 유지되는 것을 전제로 한다.Referring to FIG. 3, the data center according to the present embodiment includes client-specific virtual desktop systems 310, 320, and 330. The client-specific virtual desktop system is a collection of user and system virtual machines, including user virtual machines, RVM, AC, and DDC, and optionally, further VPX, operating independently of each other, It is presupposed that the security between them is maintained.

RVM(311, 321, 331)은 사용자 가상머신들(315, 325, 335) 각각에 서비스 IP를 할당해주어야 하고, 할당 가능한 서비스 IP의 개수는 한정되어 있으므로, 서비스되어야 할 사용자 가상머신의 수가 할당 가능한 서비스 IP의 개수를 넘는 경우에는, 추가적인 RVM(312)가 생성되어 multi-RVM의 형태로 구성되게 된다. 이 경우 IP 충돌 방지를 위해 기존의 RVM(311)에 연결된 사용자 가상머신들(315)과 기존의 RVM(311) 간의 네트워크와 추가적으로 생성된 RVM(312)과 연결된 사용자 가상머신들(316)과 추가적인 RVM 간의 네트워크가 서로 논리적으로 분리되어야 한다.The RVMs 311, 321 and 331 must allocate service IPs to the user virtual machines 315, 325 and 335, respectively, and the number of assignable service IPs is limited. Therefore, When the number of service IPs is exceeded, an additional RVM 312 is generated and configured in the form of a multi-RVM. In this case, in order to prevent IP conflict, the network between the user virtual machines 315 connected to the existing RVM 311 and the existing RVM 311 and the user virtual machines 316 connected to the newly created RVM 312 and the additional The networks between the RVMs must be logically separated from each other.

도 4는 본 발명의 바람직한 실시예에 따른 가상 데스크톱 서비스의 청약 시스템에서 가상 데스크톱 서비스의 청약 신청을 처리하는 과정을 예시한 도면으로, 본 실시예에 따른 가상 데스크톱 서비스의 청약 시스템은 도 1에 도시된 가상 데스크톱 서비스 시스템의 VMS(121) 및 Portal(122)을 서로 결합한 구성에 대응되는 것으로 전제로 한다. 따라서, 도 1에 도시된 가상 데스크톱 서비스 시스템에 관한 설명에서와 동일한 사항에 대해서는 이를 참조할 수 있다.FIG. 4 is a diagram illustrating a process of processing a subscription request for a virtual desktop service in a subscription system of a virtual desktop service according to a preferred embodiment of the present invention. The subscription system of the virtual desktop service according to the present embodiment is shown in FIG. 1 The VMS 121 of the virtual desktop service system and the portal 122 are combined with each other. Accordingly, the same items as those in the description of the virtual desktop service system shown in Fig. 1 can be referred to.

도 4를 참조하면, Portal(122)은 먼저 클라이언트로부터 가상 데스크톱 서비스의 청약 신청을 접수받아(S401) 이를 VMS(121)에 전달한다. 본 실시예에 따른 가상 데스크톱 서비스의 청약 신청은 가상 데스크톱 서비스를 제공할 사용자 가상머신의 개수, 가상 데스크톱 서비스에 포함될 가상화된 컴퓨팅 자원 예컨대 CPU, 메모리 및 스토리지의 용량에 대한 클라이언트의 요구사항과, 가상 데스크톱 서비스의 보안 모드 여부에 대한 클라이언트의 선택사항을 포함할 수 있다.Referring to FIG. 4, the portal 122 receives a subscription application of a virtual desktop service from a client (S401) and delivers it to the VMS 121. FIG. The subscription request of the virtual desktop service according to the present embodiment includes the number of user virtual machines to provide the virtual desktop service, the client's requirements for the virtualized computing resources to be included in the virtual desktop service, such as CPU, memory, and storage capacity, And may include the client's choice of whether or not the desktop service is in secure mode.

VMS(121)는 Portal(122)로부터 전달받은 청약 신청은 청약 신청에 포함된 정보를 기초로 청약 신청에 해당하는 클라이언트의 가상 데스크톱 서비스에 제공될 물리서버수량을 산출하고, 산출될 물리서버수량을 기초로 가용 물리 서버들 중에서 적어도 하나 이상의 물리 서버를 해당 클라이언트에 할당한다(S402).The VMS 121 calculates the number of physical servers to be provided to the virtual desktop service of the client corresponding to the subscription application based on the information included in the subscription application received from the portal 122, At least one physical server among available physical servers is allocated to the client as a basis (S402).

S402 단계에서 할당된 적어도 하나 이상의 물리 서버에 해당 클라이언트의 가상 데스크톱 서비스에 필요한 사용자 가상머신의 개수에 대응되는 수량의 적어도 하나 이상의 라우터 가상머신을 배포한다(S403).In step S403, at least one or more router virtual machines corresponding to the number of user virtual machines required for the virtual desktop service of the client are allocated to at least one physical server allocated in step S402.

이 때, 라우터 가상머신의 배포 수량의 결정 기준이 되는 사용자 가상머신의 개수는 S401 단계에서 접수된 가상 데스크톱 서비스의 청약 신청에 포함된 사용자 가상머신의 개수 정보에 따라 결정될 수 있다.At this time, the number of user virtual machines, which is a criterion for determining the number of distributions of the router virtual machines, may be determined according to the number information of the user virtual machines included in the subscription application of the virtual desktop service received in step S401.

본 실시예에서, 라우터 가상머신은 라우터 가상머신의 관리용 인터페이스에 대한 DHCP IP를 할당받아 이를 기초로 생성되어, 클라이언트에 할당되는 시스템 가상머신들 및 사용자 가상머신으로 구성되는 서비스망의 DHCP 설정 정보 및 포트포워딩 정보 등의 업데이트 과정을 거쳐 라우터 가상머신의 초기 구동에 필요한 초기 설정 과정을 수행한다. 라우터 가상머신의 초기 구동에 필요한 모든 설정을 마무리하고 라우터 가상머신을 선택된 물리 서버 상에서 구동시킴으로써, 일련의 라우터 가상머신의 배포 과정(S403)을 완료할 수 있다.In this embodiment, the router virtual machine is allocated with the DHCP IP for the management interface of the router virtual machine, and is generated based on the DHCP IP. The router virtual machine generates the DHCP setting information of the service virtual network including the system virtual machines and the user virtual machine And port forwarding information, and performs an initial setup process necessary for initial operation of the router virtual machine. All the settings necessary for the initial operation of the router virtual machine are completed and the router virtual machine is run on the selected physical server, thereby completing the series of router virtual machine distribution processes (S403).

아울러, 클라이언트에 할당된 물리 서버 수량이 둘 이상인 경우에는 둘 이상의 물리서버들 중 소정의 할당 규칙에 의해 선택된 물리서버에 라우터 가상머신이 배포될 수 있으며, 라우터 가상머신의 배포수량이 둘 이상인 경우에는 하나의 물리서버에서 둘 이상의 라우터 가상머신들이 배포될 수도 있으며, 둘 이상의 물리서버들 각각에 한 개씩의 라우터 가상머신들이 배포될 수도 있다. 이들은 본 발명의 설명의 편의를 위한 하나의 실시예에 불과하며, 본 발명 자체가 이에 한정되는 것은 아니라고 할 것이다.If the number of physical servers allocated to a client is two or more, a router virtual machine may be distributed to a physical server selected by a predetermined allocation rule among two or more physical servers. If the number of distributed virtual machines is two or more More than one router virtual machines may be deployed in one physical server, and one router virtual machine may be deployed in each of two or more physical servers. These are merely examples for convenience of description of the present invention, and the present invention is not limited thereto.

S402 단계에서 할당된 적어도 하나 이상의 물리 서버에 하나의 액티브 디렉토리 가상머신을 배포한다(S404). 클라이언트에 할당된 물리 서버 수량이 둘 이상인 경우에는 둘 이상의 물리서버들 중 소정의 할당 규칙에 의해 선택된 물리서버에 액티브 디렉토리 가상머신이 배포될 수 있다.In step S402, one active directory virtual machine is distributed to at least one physical server allocated in step S402. When the number of physical servers allocated to the client is two or more, the active directory virtual machine may be distributed to the physical server selected by the predetermined allocation rule among the two or more physical servers.

본 실시예에서, 액티브 디렉토리 가상머신은 액티브 디렉토리 가상머신의 관리용 인터페이스에 대한 DHCP IP를 할당받아 이를 기초로 생성되어, S403 단계에서 배포된 라우터 가상머신을 통해, 라우터 가상머신이 포함된 서비스망에서의 IP(서비스 IP)를 할당받고, 기타 다른 설정 작업을 수행한다. 그리고, 액티브 디렉토리 가상머신의 초기 구동에 필요한 모든 설정을 마무리하고 액티브 디렉토리 가상머신을 선택된 물리 서버 상에서 구동시킴으로써 일련의 액티브 디렉토리 가상머신의 배포 과정(S404)을 완료할 수 있다.In the present embodiment, the Active Directory virtual machine is allocated based on the DHCP IP for the management interface of the Active Directory virtual machine, and is created through the router virtual machine distributed in step S403, (IP), and performs other setting operations. In addition, by finishing all the settings necessary for the initial activation of the Active Directory virtual machine, the process of distributing a series of Active Directory virtual machines (S404) can be completed by running the Active Directory virtual machine on the selected physical server.

S402 단계에서 할당된 적어도 하나 이상의 물리 서버에 하나의 데스크톱 딜리버리 제어 가상머신을 배포한다(S405). 클라이언트에 할당된 물리 서버 수량이 둘 이상인 경우에는 둘 이상의 물리서버들 중 소정의 할당 규칙에 의해 선택된 물리서버에 데스크톱 딜리버리 제어 가상머신이 배포될 수 있다.In step S402, one desktop delivery control virtual machine is distributed to at least one physical server allocated in step S402. If the number of physical servers allocated to the client is two or more, the desktop delivery control virtual machine may be distributed to the physical server selected by the predetermined allocation rule among the two or more physical servers.

본 실시예에서, 데스크톱 딜리버리 제어 가상머신은 데스크톱 딜리버리 제어 가상머신의 관리용 인터페이스에 대한 DHCP IP를 할당받아 이를 기초로 생성되어, S403 단계에서 배포된 라우터 가상머신을 통해, 라우터 가상머신이 포함된 서비스망에서의 IP(서비스 IP)를 할당받고, 기타 다른 설정 작업을 수행한다. 그리고, 데스크톱 딜리버리 제어 가상머신의 초기 구동에 필요한 모든 설정을 마무리하고 데스크톱 딜리버리 제어 가상머신을 선택된 물리 서버 상에서 구동시킴으로써 일련의 데스크톱 딜리버리 제어 가상머신의 배포 과정(S405)을 완료할 수 있다.In the present embodiment, the desktop delivery control virtual machine is allocated based on the DHCP IP for the management interface of the desktop delivery control virtual machine, and is generated through the router virtual machine distributed in the step S403, IP (Service IP) in the service network is allocated, and other setting operations are performed. Then, the distribution process (S405) of the series of desktop delivery control virtual machines can be completed by finishing all the settings required for the initial operation of the desktop delivery control virtual machine and running the desktop delivery control virtual machine on the selected physical server.

해당 클라이언트의 가상 데스크톱 서비스가 보안 모드(Secure mode)인 경우(S406)에는 S402 단계에서 할당된 적어도 하나 이상의 물리 서버에 보안 모드에 필요한 시스템 가상머신인 통신 암호화 가상머신을 배포한다(S407). 클라이언트에 할당된 물리 서버 수량이 둘 이상인 경우에는 둘 이상의 물리서버들 중 소정의 할당 규칙에 의해 선택된 물리서버에 통신 암호화 가상머신이 배포될 수 있다.If the virtual desktop service of the client is a secure mode (S406), the communication encrypted virtual machine, which is a system virtual machine required for the security mode, is distributed to at least one physical server allocated in operation S402 (S407). When the number of physical servers allocated to the client is two or more, the communication encryption virtual machine may be distributed to the physical server selected by the predetermined allocation rule among the two or more physical servers.

이때, 가상 데스크톱 서비스가 보안 모드인지 여부는 S401 단계에서 접수된 가상 데스크톱 서비스의 청약 신청으로부터 가상 데스크톱 서비스의 보안 모드 여부에 대한 클라이언트의 선택 사항을 추출하여 이를 기초로 하여 결정될 수 있다.At this time, whether or not the virtual desktop service is in the security mode can be determined based on extraction of the client's choice as to whether or not the security mode of the virtual desktop service is received from the subscription application of the virtual desktop service received in step S401.

본 실시예에서, 통신 암호화 가상머신은 통신 암호화 가상머신의 관리용 인터페이스에 대한 DHCP IP를 할당받아 이를 기초로 생성되어, S403 단계에서 배포된 라우터 가상머신을 통해, 라우터 가상머신이 포함된 서비스망에서의 IP(서비스 IP)를 할당받고, 포트포워딩 정보 및 암호화 알고리즘 설정 정보 등의 업데이트 과정을 거쳐 통신 암호화 가상머신의 초기 구동에 필요한 초기 설정 과정을 수행한다. 통신 암호화 가상머신의 초기 구동에 필요한 모든 설정을 마무리하고 통신 암호화 가상머신을 구동시킴으로써 일련의 통신 암호화 가상머신의 배포 과정(S407)을 완료할 수 있다.In the present embodiment, the communication encryption virtual machine is created based on the DHCP IP assigned to the management interface of the communication encryption virtual machine, and is generated through the router virtual machine distributed in step S403, And performs an initialization process necessary for initial operation of the communication encryption virtual machine through an updating process such as port forwarding information and encryption algorithm setting information. The process of distributing a series of communication encryption virtual machines S407 can be completed by finishing all the settings necessary for the initial operation of the communication encryption virtual machine and driving the communication encryption virtual machine.

본 실시예에서의 S403, S404, S405 및 S407 단계에서의 시스템 가상머신의 배포 과정은 하기의 시스템 API인 DeploySVM()을 호출하는 과정을 포함할 수 있다.The process of distributing the system virtual machine in steps S403, S404, S405, and S407 in this embodiment may include a process of calling the following system API, DeploySVM ().

[표 1][Table 1]

Figure pat00001
Figure pat00001

상기한 표를 참조하면, 본 실시예에 따른 시스템 API 중 DeploySVM는 A1 권한을 가진 계정에서 수행하는 프로그램 모듈에서만 제한적으로 호출될 수 있으며, 요청 파라미터로 serviceprofile_id, description, cpus, mem_size, host_id, storage_id, org_id, allocator를 가질 수 있으며, 이들 중 serviceprofile_id, cpus, mem_size, host_id, storage_id, org_id는 정수(integer) 형태의 입력값을 입력받을 수 있으며, 이들 중 serviceprofile_id는 메소드의 호출시 반드시 요청 파라미터로 포함되어야 하나, 나머지는 생략하거나 선택적으로 입력할 수 있다.Referring to the above table, the DeploySVM among the system APIs according to the present embodiment can be limitedly invoked only in a program module executed in an account having the A1 privilege. The request parameters include serviceprofile_id, description, cpus, mem_size, host_id, storage_id, serviceprofile_id, cpus, mem_size, host_id, storage_id, and org_id can be input as integer values. Of these, serviceprofile_id must be included as a request parameter in the method call. One can omit the rest or enter it selectively.

이러한 DeploySVM은 요청을 수행한 결과를, id, name, description, os_id, os_name, status, cpus, mem_size, vmtype_id, vmtype_name, system_type, org_id, org_name, host_id, host_name, cluster_id, cluster_name, pod_id, pod_name, zone_id, zone_name, created, uptime, boot, iso_id, iso_name, ha, locked, nics, disks에 각각 대응되는 응답값들을 통해 해당 메소드를 호출한 프로그램 모듈에 전달할 수 있으며, 이들 중 id, cpus, mem_size, vmtype_id, org_id, host_id, cluster_id, pod_id, zone_id, iso_id에 대응되는 응답값들은 정수(integer) 형태를 가지며, created, uptime에 대응되는 응답값들은 특정 시각(time)을 나타내며, nics, disks에 대응되는 응답값들은 리스트 형태를 갖는 것으로 정의된다.These DeploySVMs are able to use the results of performing the request as id, name, description, os_id, os_name, status, cpus, mem_size, vmtype_id, vmtype_name, system_type, org_id, org_name, host_id, host_name, cluster_id, cluster_name, pod_id, pod_name, zone_id, cpus, mem_size, vmtype_id, org_id, of which the corresponding method is called through the response values corresponding to zone_name, created, uptime, boot, iso_id, iso_name, ha, locked, nics and disks. response values corresponding to host_id, cluster_id, pod_id, zone_id, and iso_id have an integer type. Response values corresponding to created and uptime indicate a specific time. Response values corresponding to nics, disks, It is defined as having a list form.

예컨대, S403 단계의 라우터 가상머신의 배포는 serviceprofile_id에 대응하여 "rvm" 입력 파라미터 값으로 하여 DeploySVM() 메소드를 호출하는 과정을 포함하도록 구현될 수 있다. S404 단계의 액티브 디렉토리 가상머신의 배포는 serviceprofile_id에 대응하여 "ad" 입력 파라미터 값으로 하여 DeploySVM() 메소드를 호출하는 과정을 포함하도록 구현될 수 있다. S405 단계의 데스크톱 딜리버리 제어 가상머신의 배포는 serviceprofile_id 에 대응하여 "ddc"를 입력 파라미터 값으로 하여 DeploySVM() 메소드를 호출하는 과정을 포함하도록 구현될 수 있다. S407 단계의 통신 암호화 가상머신의 배포는 serviceprofile_id에 대응하여 "vpx"를 력 파라미터 값으로 하여 DeploySVM() 메소드를 호출하는 과정을 포함하도록 구현될 수 있다.For example, the distribution of the router virtual machine in step S403 may be implemented to include calling the DeploySVM () method with an input parameter value of "rvm " corresponding to the serviceprofile_id. The deployment of the Active Directory virtual machine in step S404 may be implemented to include calling the DeploySVM () method with an "ad" input parameter value corresponding to the serviceprofile_id. The distribution of the desktop delivery control virtual machine in step S405 may be implemented to include calling the DeploySVM () method with "ddc" as the input parameter value corresponding to the serviceprofile_id. The distribution of the communication encryption virtual machine in step S407 may be implemented to include a process of calling the DeploySVM () method with "vpx" as the power parameter value corresponding to the serviceprofile_id.

도 5는 본 발명의 바람직한 일 실시예에 따라 청약 신청을 한 클라이언트에 물리 서버를 할당하는 구체적인 과정을 예시한 도면이다. FIG. 5 is a diagram illustrating a specific process of assigning a physical server to a client who has made a subscription request according to a preferred embodiment of the present invention.

가상 데스크톱 서비스는 해당 클라이언트의 데이터와 다른 클라이언트의 데이터를 서로 격리하기 위해서, 클라이언트별로 독립된 물리 서버를 제공한다. 따라서, 시스템 가상머신 내지 사용자 가상머신의 배포 또는 생성 과정에 앞서서, 클라이언트가 요청한 사용자 가상머신의 수량을 수용할 수 있을 정도로 가용 물리 서버가 있는지를 확인하고, 해당 클라이언트의 가상 데스크톱 서비스를 위한 가용 물리 서버를 먼저 확보하는 것이 필요하다.The virtual desktop service provides a separate physical server for each client to isolate the client's data from the other client's data. Therefore, prior to the process of distributing or creating a system virtual machine or a user virtual machine, it is checked whether there is an available physical server to accommodate the number of user virtual machines requested by the client, and an available physical It is necessary to secure the server first.

먼저, 가상 데스크톱 서비스를 위해 요청된 사용자 가상머신의 개수를 포함하는 청약 신청을 입력받는다(S501).First, a subscription application including the number of user virtual machines requested for the virtual desktop service is input (S501).

가상 데스크톱 서비스는 해당 클라이언트의 데이터와 다른 클라이언트의 데이터를 서로 격리하기 위해서, 클라이언트별로 독립된 물리 서버를 제공한다. 따라서, 시스템 가상머신 내지 사용자 가상머신의 배포 또는 생성 과정에 앞서 S501 단계를 통해 입력받은 사용자 가상머신의 개수를 기초로 필요한 물리 서버의 수량을 산정한다(S502). 하나의 물리서버에 수용가능한 가상머신의 수는 한정되어 있다. 따라서, 먼저 클라이언트가 요청한 사용자 가상머신의 개수를 기초로 필요한 물리 서버의 수량을 산정하는 것이 필요하다.The virtual desktop service provides a separate physical server for each client to isolate the client's data from the other client's data. Accordingly, in step S502, the number of physical servers required is calculated based on the number of user virtual machines input through step S501 prior to the process of distributing or creating the system virtual machine or the user virtual machine. The number of virtual machines that can be accommodated in one physical server is limited. Therefore, it is necessary to first calculate the number of required physical servers based on the number of user virtual machines requested by the client.

클러스터별로 가용 물리 서버 리스트들을 산출하고, 이때 가용 물리 서버의 수량으로 클러스터별 가용 물리 서버 리스트들을 정렬한다(S503).The available physical server lists are calculated for each cluster, and the available physical server lists for each cluster are arranged in the number of available physical servers at this time (S503).

가용 물리 서버 리스트에 포함된 복수의 가용 물리 서버들 중 클라이언트에 할당할 가용 물리 서버를 선택하는 기준으로, 물리서버들 간의 물리적 거리, 물리서버들이 속한 클러스터 등을 고려하여, 서로 인접한 물리서버들 또는 동일한 클러스터에 속한 물리서버들을 우선적으로 할당할 수 있다.A physical distance between the physical servers, a cluster to which the physical servers belong, and the like are selected as a criterion for selecting an available physical server to be allocated to the client among the plurality of available physical servers included in the available physical server list Physical servers belonging to the same cluster can be preferentially allocated.

즉, 가급적 물리적으로 인접한 거리에 배치되어 있는 물리서버들을 동일한 클라이언트에 할당하는 것이 바람직하며, 동일한 클라이언트에 할당된 물리서버들은 가급적 하나의 클러스터에 있는 것이 바람직하며, 하나의 클러스터에 배치될 수 없는 경우에는 물리 서버들이 배치된 클러스터의 수가 최소한이 되도록 물리서버가 할당되는 것이 바람직하다. 이를 위해, 가용 물리서버의 수량으로 클러스터들을 정렬하여 가용 물리서버가 많은 클러스터의 가용 물리서버에 우선적으로 할당하는 것이 바람직하다.In other words, it is preferable to allocate the physical servers disposed at physically adjacent distances as much as possible to the same client. Preferably, the physical servers allocated to the same client are preferably located in one cluster, It is preferable that a physical server is allocated so that the number of clusters in which the physical servers are arranged is minimized. For this purpose, it is preferable that the available physical servers are allocated to the available physical servers in a large number of clusters by arranging the clusters in the number of available physical servers.

정렬된 순서로 클러스터 내의 가용 물리 서버를 클라이언트에게 할당하는 과정을 클라이언트가 할당받은 물리 서버의 개수가 S502단계에서 산정된 물리 서버의 수량에 이를 때까지 반복수행한다(S504 ~ S508). The process of assigning the available physical servers in the cluster to the clients in the ordered order is repeated until the number of physical servers allocated by the client reaches the number of physical servers calculated in step S502 (S504 to S508).

클라이언트가 할당받은 물리 서버의 개수가 물리서버의 수량에 이르지 않았는데, 더 이상 할당할 물리서버가 없는 경우에는 가용할 자원이 부족하다는 메시지를 포함한 에러 메시지를 발생하고, 가상 데스크톱 서비스를 제공할 수 없음을 클라이언트에 통지할 수 있다.If the number of physical servers allocated by the client does not reach the number of physical servers and there are no more physical servers to allocate, an error message including a message indicating that the available resources are insufficient is generated and the virtual desktop service can not be provided To the client.

S504 내지 S508의 과정을 통해 클라이언트가 할당받은 물리 서버들의 정보를 소정의 데이터베이스에 업데이트하고, 이후에 라우터 가상머신의 배포 과정으로 넘어간다(S509).In step S509, information on the physical servers allocated by the client is updated to a predetermined database through steps S504 to S508, and then the process goes to the distribution process of the router virtual machine.

도 6은 본 발명의 바람직한 일 실시예에 따라 라우터 가상머신을 배포하는 구체적인 과정을 예시한 도면이다. 6 is a diagram illustrating a specific process of distributing a router virtual machine according to a preferred embodiment of the present invention.

라우터 가상머신은 전술한 바와 같이 클라이언트의 가상 데스크톱 서비스에 속하는 가상머신들에 유동 IP를 제공하는 DHCP 및 외부 인터넷과의 통신을 위한 NAT 서비스를 제공한다. 모든 클라이언트의 가상 데스크톱 서비스가 이러한 라우터 가상머신을 통해서 외부 인터넷 등과 연결되기 때문에 충분한 성능을 제공하여야 하며, 이를 위해, 라우터 가상머신은 가상 데스크톱 서비스의 사용자 가상머신의 개수에 따라 수량이 늘어날 수 있는 확장형 구조(Scale Out) 구조로 구성되는 것이 바람직하다.As described above, the router virtual machine provides a DHCP service for providing dynamic IPs to virtual machines belonging to a virtual desktop service of a client and a NAT service for communication with the external Internet. Since the virtual desktop service of all the clients is connected to the external Internet through such a router virtual machine, the router virtual machine needs to provide sufficient performance. To this end, the router virtual machine is a scalable type in which the number of user virtual machines of the virtual desktop service can be increased (Scale Out) structure.

먼저, 라우터 가상머신의 배포 요청을 수신한다(S601). 라우터 가상머신의 배포 요청에는 청약 신청된 사용자 가상머신의 개수, 해당 클라이언트에 할당된 물리 서버들의 정보, 가상 데스크톱 서비스가 보안 모드인지 여부 등이 포함된다.First, the distribution request of the router virtual machine is received (S601). The distribution request of the router virtual machine includes the number of user virtual machines requested for subscription, the information of the physical servers allocated to the client, and whether the virtual desktop service is in security mode.

라우터 가상머신은 전술한 DHCP, NAT 뿐만 아니라 Routing, Port Forwarding 등 다양한 기능을 제공할 수 있다. 본 실시예에 따른 라우팅 가상머신에는 모든 클라이언트의 가상 데스크톱 서비스 상에서 기본적으로 DHCP, NAT, Routing 기능을 수행하며, 클라이언트가 보안 모드를 선택하지 않는 경우에는 Port Forwarding 기능 또한 수행한다. The router virtual machine can provide various functions such as routing and port forwarding as well as the above-described DHCP and NAT. In the routing virtual machine according to the present embodiment, DHCP, NAT, and routing functions are basically performed on the virtual desktop services of all clients, and when the client does not select the security mode, the port forwarding function is also performed.

그러나, 클라이언트가 보안 모드를 선택한 경우에는 Port Forwarding 기능은 VPX를 통해서 대체된다. 따라서, 가상 데스크톱 서비스가 보안 모드인지 여부에 따라 배포되는 라우터 가상머신의 종류는 달라질 수 있다.However, if the client chooses secure mode, the Port Forwarding function is replaced by VPX. Accordingly, depending on whether the virtual desktop service is in the security mode, the type of the router virtual machine to be distributed may be changed.

라우터 가상머신의 배포를 위해, 라우터 가상머신의 배포 수량을 산정한다(S602).In order to distribute the router virtual machine, the distribution quantity of the router virtual machine is calculated (S602).

라우터 가상머신별로 DHCP, NAT 서비스를 수용 가능한 수량이 기정의되어 있으므로, 본 실시예에서는 이에 따라 하나의 라우터 가상머신에서 최대 수용 가능한 VM 개수(Capacity) 정보가 기설정되어 있는 것을 전제로 한다.In this embodiment, it is assumed that the maximum number of VMs (Capacity) information that can be accommodated in one router virtual machine is set in advance, since the number of DHCP and NAT services can be accommodated for each router virtual machine.

따라서, 청약 신청된 사용자 가상머신의 개수에 따라 라우터 가상머신의 배포 수량을 산정할 수 있다. Therefore, it is possible to estimate the distribution quantity of the router virtual machine according to the number of user virtual machines requested for subscription.

본 실시예에서는 청약 신청된 사용자 가상머신의 개수를 상기한 Capacity 정보로 나눈 값을 올림하여 라우터 가상머신의 배포 수량을 산정한다. 예컨대, 하나의 라우터 가상머신이 100개의 사용자 가상머신(또는 사용자 계정)을 수용할 수 있는 경우에 클라이언트가 180개의 사용자 가상머신(사용자 계정)을 신청하면 해당 클라이언트에 2개의 라우터 가상머신을 제공한다.In this embodiment, a value obtained by dividing the number of subscription-requested user virtual machines by the capacity information is rounded up to estimate the number of distributions of the router virtual machine. For example, if one router virtual machine can accommodate 100 user virtual machines (or user accounts) and the client submits 180 user virtual machines (user accounts), then two router virtual machines are provided to the client .

S602 단계에서 산정된 라우터 가상머신의 배포 수량만큼, serviceprofile_id를 "rvm"으로 하여 DeploySVM() 메소드를 호출하는 과정(S607)을 반복적으로 수행하여(S603) 라우터 가상머신을 배포한다.The router virtual machine is repeatedly executed (S603) by calling the DeploySVM () method with serviceprofile_id set to "rvm" for the number of deployed router virtual machines calculated in step S602 (S603).

다만, DeploySVM() 메소드를 호출하는 과정(S607) 이전에 가상 데스크톱 서비스가 보안 모드인 경우(S604)에는 라우터 가상머신의 Capabilities를 DHCP, NAT, Routing 만 가능하도록 설정하고(S605), 그렇지 않은 경우에는, DHCP, NAT, Routing, 및 Port Forwarding 모두가 가능하도록 설정할 수 있다(S606).However, if the virtual desktop service is in the secure mode (S604) before the step of calling the DeploySVM () method (S607), the Capabilities of the router virtual machine are set to be only DHCP, NAT and Routing (S605) DHCP, NAT, Routing, and Port Forwarding may be enabled (S606).

S602 단계에서 산정된 라우터 가상머신의 배포 수량만큼 라우터 가상머신의 배포가 완료되면, 다음으로 액티브 디렉토리 가상머신의 배포 및 데스크톱 딜리버리 제어 가상머신의 배포를 수행할 수 있으며(S608), 이는 전술한 바와 같이, DeploySVM() 메소드를 호출하는 과정을 포함하여 구현될 수 있다.When distribution of the router virtual machine is completed by the distribution quantity of the router virtual machine calculated in step S602, the distribution of the active directory virtual machine and the distribution of the desktop delivery control virtual machine can be performed next (S608) Likewise, it can be implemented including calling the DeploySVM () method.

본 발명에 따르면, 데이터 센터에서 복수의 사용자 계정을 갖는 기업이나 조직 클라이언트들에게 클라이언트 단위로 서로 물리적으로 분리된 물리적 시스템 자원을 기초로 가상 데스크톱 서비스를 제공하는 데에 있어서, 가상 데스크톱 서비스에 물리적인 시스템 자원을 할당하거나 가상머신을 할당하는 데에 클라이언트의 요구사항을 보다 충실하게 반영할 수 있게 된다.According to the present invention, in providing a virtual desktop service based on physical system resources physically separated from each other on a client basis to an enterprise or an organization client having a plurality of user accounts in a data center, The client's requirements can be more faithfully reflected in allocating system resources or allocating virtual machines.

본 발명에 따른 가상 데스크톱 서비스의 청약 처리 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The subscription processing method of the virtual desktop service according to the present invention can be implemented as a computer-readable code on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers of the technical field to which the present invention belongs.

본 발명은 첨부된 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 수 있을 것이다. 따라서, 본 발명의 진정한 보호 범위는 첨부된 청구 범위에 의해서만 정해져야 할 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation, You will understand. Accordingly, the true scope of protection of the present invention should be determined only by the appended claims.

100: 가상 데스크톱 서비스 시스템
110: 클라이언트별 가상 데스크톱 시스템
111, 112: 라우터 가상머신
113: 액티브 디렉토리 가상머신
114: 데스크톱 딜리버리 제어 가상머신
115: 통신암호화 가상머신
116: 사용자 가상머신들
120: 중앙 관리 시스템
121: VMS
122: Portal
123: VSV
124: VMS-UI
200: 청약 시스템
210: 청약신청수신부
220: 물리서버수량산출부
230: 물리서버할당부
240: 시스템가상머신배포부
100: Virtual Desktop Services System
110: Client-Specific Virtual Desktop System
111, 112: Router virtual machine
113: Active Directory Virtual Machine
114: Desktop Delivery Control Virtual Machine
115: Communication Encryption Virtual Machine
116: User virtual machines
120: Central Management System
121: VMS
122: Portal
123: VSV
124: VMS-UI
200: subscription system
210: subscription application receiver
220: physical server quantity calculation unit
230: Physical server request part
240: System Virtual Machine Distribution Unit

Claims (14)

클라이언트에게 데이터 센터의 물리적 컴퓨팅 자원을 가상화한 가상 컴퓨팅 자원을 이용하여 가상 데스크톱 환경을 제공할 사용자 가상머신의 수량을 포함하는 가상 데스크톱 서비스 청약 신청을 수신하는 청약 수신부;
상기 가상 데스크톱 서비스 청약 신청에 포함된 정보를 기초로 상기 클라이언트에 할당될 물리 서버 수량을 산출하는 물리서버수량산출부;
상기 산출된 물리 서버 수량을 기초로 상기 데이터 센터의 가용 물리 서버들 중에서 적어도 하나 이상의 물리 서버를 상기 클라이언트에 할당하는 물리서버할당부;
상기 할당된 물리 서버에 상기 가상 데스크톱 환경의 기반 인프라를 구성하는 시스템 가상머신을 배포하는 시스템가상머신배포부를 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 시스템.
A subscription receiving unit for receiving a virtual desktop service subscription application including a quantity of a user virtual machine to provide a virtual desktop environment using virtual computing resources that virtualize virtualization resources of the data center;
A physical server quantity calculation unit for calculating a quantity of physical servers to be allocated to the client based on information included in the virtual desktop service subscription request;
A physical server allocation unit allocating at least one physical server among the available physical servers of the data center to the client based on the calculated physical server quantity;
And a system virtual machine distributing unit for distributing a system virtual machine constituting an infrastructure of the virtual desktop environment to the allocated physical server.
제1항에 있어서,
상기 시스템 가상머신은
상기 사용자 가상머신에 서비스 IP를 할당하여 상기 사용자 가상머신과 외부 네트워크와의 통신을 중개하고, 상기 사용자 가상머신의 사설 네트워크 내에서의 통신을 라우팅하는 적어도 하나 이상의 라우터 가상머신;
상기 사용자 가상머신과 상기 사용자 가상머신에 접근하는 사용자 계정 사이의 세션을 연결하고 상기 사용자 가상머신에서 제공하는 가상 데스크톱 서비스를 관리하는 데스크톱 딜리버리 제어 가상머신; 및
상기 사용자 가상머신 및 데스크톱 딜리버리 제어 가상머신 중 적어도 하나 이상에 접근하는 사용자 계정을 인증하는 액티브 디렉토리 가상머신을 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 시스템.
The method according to claim 1,
The system virtual machine
At least one router virtual machine for assigning a service IP to the user virtual machine to mediate communication between the user virtual machine and the external network and to route communication in the private network of the user virtual machine;
A desktop delivery control virtual machine for connecting a session between the user virtual machine and a user account accessing the user virtual machine and managing a virtual desktop service provided by the user virtual machine; And
And an Active Directory virtual machine for authenticating a user account accessing at least one of the user virtual machine and the desktop delivery control virtual machine.
제1항에 있어서,
상기 가상 데스크톱 서비스 청약 신청은 상기 가상 데스크톱 환경의 CPU 용량, 메모리 용량 및 스토리지 용량 중 적어도 하나 이상을 포함하는 물리적 자원량 정보를 더 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 시스템.
The method according to claim 1,
Wherein the virtual desktop service subscription application further includes physical resource amount information including at least one of a CPU capacity, a memory capacity, and a storage capacity of the virtual desktop environment.
제1항에 있어서,
상기 가상 데스크톱 서비스 청약 신청은 상기 클라이언트와 상기 사용자 가상머신 간의 통신 프로토콜에 대하여 추가적인 암호화를 적용하는 보안 모드 여부를 더 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 시스템.
The method according to claim 1,
Wherein the virtual desktop service subscription application further comprises a security mode whether to apply additional encryption for a communication protocol between the client and the user virtual machine.
제4항에 있어서,
상기 시스템가상머신배포부는 상기 보안 모드인 경우에 상기 클라이언트와 상기 사용자 가상머신들 간의 통신 프로토콜을 암호화하여 통신 연결하는 통신 암호화 가상머신을 배포하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 시스템.
5. The method of claim 4,
Wherein the system virtual machine distributing unit distributes a communication encryption virtual machine for encrypting and communicating a communication protocol between the client and the user virtual machines in the security mode.
제4항에 있어서,
상기 시스템가상머신배포부는 상기 보안 모드가 아닌 경우에는 상기 사용자 가상머신에 대한 포트 포워딩이 가능한 라우터 가상머신을 배포하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 시스템.
5. The method of claim 4,
Wherein the system virtual machine distributing unit distributes a router virtual machine capable of port forwarding to the user virtual machine when the virtual virtual machine is not in the secure mode.
제1항에 있어서,
상기 물리서버할당부는 상기 가용 물리 서버들 간의 물리적 거리 및 상기 가용 물리 서버 각각이 속한 클러스터를 기초로 상기 산출된 물리 서버 수량의 물리 서버를 클라이언트에 할당하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 시스템.
The method according to claim 1,
Wherein the physical server allocation unit assigns the physical server of the calculated physical server quantity to the client based on the physical distance between the available physical servers and the cluster to which each of the available physical servers belongs.
클라이언트에게 데이터 센터의 물리적 컴퓨팅 자원을 가상화한 가상 컴퓨팅 자원을 이용하여 가상 데스크톱 환경을 제공할 사용자 가상머신의 수량을 포함하는 가상 데스크톱 서비스 청약 신청을 수신하는 단계;
상기 가상 데스크톱 서비스 청약 신청에 포함된 정보를 기초로 상기 클라이언트에 할당될 물리 서버 수량을 산출하는 단계;
상기 산출된 물리 서버 수량을 기초로 상기 데이터 센터의 가용 물리 서버들 중에서 적어도 하나 이상의 물리 서버를 상기 클라이언트에 할당하는 물리서버할당 단계;
상기 할당된 물리 서버에 상기 가상 데스크톱 환경의 기반 인프라를 구성하는 시스템 가상머신을 배포하는 시스템가상머신배포 단계를 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 처리 방법.
Receiving a virtual desktop service subscription request that includes a quantity of a user virtual machine to provide a virtual desktop environment using virtual computing resources that virtualize the physical computing resources of the data center to the client;
Calculating a number of physical servers to be allocated to the client based on information included in the virtual desktop service subscription request;
A physical server allocation step of allocating at least one physical server among available physical servers in the data center to the client based on the calculated physical server quantity;
And a system virtual machine distribution step of distributing a system virtual machine constituting an infrastructure of the virtual desktop environment to the allocated physical server.
제1항에 있어서,
상기 시스템 가상머신은
상기 사용자 가상머신에 서비스 IP를 할당하여 상기 사용자 가상머신과 외부 네트워크와의 통신을 중개하고, 상기 사용자 가상머신의 사설 네트워크 내에서의 통신을 라우팅하는 적어도 하나 이상의 라우터 가상머신;
상기 사용자 가상머신과 상기 사용자 가상머신에 접근하는 사용자 계정 사이의 세션을 연결하고 상기 사용자 가상머신에서 제공하는 가상 데스크톱 서비스를 관리하는 데스크톱 딜리버리 제어 가상머신; 및
상기 사용자 가상머신 및 데스크톱 딜리버리 제어 가상머신 중 적어도 하나 이상에 접근하는 사용자 계정을 인증하는 액티브 디렉토리 가상머신을 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 처리 방법.
The method according to claim 1,
The system virtual machine
At least one router virtual machine for assigning a service IP to the user virtual machine to mediate communication between the user virtual machine and the external network and to route communication in the private network of the user virtual machine;
A desktop delivery control virtual machine for connecting a session between the user virtual machine and a user account accessing the user virtual machine and managing a virtual desktop service provided by the user virtual machine; And
And an Active Directory virtual machine for authenticating a user account accessing at least one of the user virtual machine and the desktop delivery control virtual machine.
제8항에 있어서,
상기 가상 데스크톱 서비스 청약 신청은 상기 가상 데스크톱 환경의 CPU 용량, 메모리 용량 및 스토리지 용량 중 적어도 하나 이상을 포함하는 물리적 자원량 정보를 더 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 처리 방법.
9. The method of claim 8,
Wherein the virtual desktop service subscription request further includes physical resource amount information including at least one of a CPU capacity, a memory capacity, and a storage capacity of the virtual desktop environment.
제8항에 있어서,
상기 가상 데스크톱 서비스 청약 신청은 상기 클라이언트와 상기 사용자 가상머신 간의 통신 프로토콜에 대하여 추가적인 암호화를 적용하는 보안 모드 여부를 더 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 처리 방법.
9. The method of claim 8,
Wherein the virtual desktop service subscription request further includes a security mode whether or not to apply additional encryption to the communication protocol between the client and the user virtual machine.
제11항에 있어서,
상기 시스템가상머신배포 단계는 상기 보안 모드인 경우에 상기 클라이언트와 상기 사용자 가상머신들 간의 통신 프로토콜을 암호화하여 통신 연결하는 통신 암호화 가상머신을 배포하는 단계를 더 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 처리 방법.
12. The method of claim 11,
Wherein the step of distributing the system virtual machine further includes distributing a communication encryption virtual machine for encrypting and communicating with a communication protocol between the client and the user virtual machines in the security mode. Processing method.
제11항에 있어서,
상기 시스템가상머신배포 단계는 상기 보안 모드가 아닌 경우에는 상기 사용자 가상머신에 대한 포트 포워딩이 가능한 라우터 가상머신을 배포하는 단계를 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 처리 방법.
12. The method of claim 11,
Wherein the system virtual machine distribution step includes the step of distributing a router virtual machine capable of port forwarding to the user virtual machine when the virtual virtual machine is not in the secure mode.
제8항에 있어서,
상기 물리서버할당 단계는
상기 가용 물리 서버들 각각이 속한 클러스터 별로 가용 물리 서버들을 분류하여 동일한 클러스터에 속한 가용 물리 서버들을 링크한 클러스터별 가용 물리 서버 리스트들을 산출하는 단계;
상기 클러스터별 가용 물리 서버 리스트들 각각에 속한 가용 물리 서버의 수량을 기초로 상기 클러스터별 가용 물리 서버 리스트들을 정렬하는 단계;
상기 정렬된 클러스터별 가용 물리 서버 리스트들 중 상기 가용 물리 서버의 수량이 가장 큰 클러스터별 가용 물리 서버 리스트에 속한 가용 물리 서버를 상기 클라이언트에 할당하는 우선할당단계; 및
상기 우선할당단계를 상기 클라이언트에 할당된 물리 서버의 개수가 상기 산출된 물리 서버의 수량에 이를 때까지 반복하는 단계를 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 처리 방법.
9. The method of claim 8,
The physical server allocation step
Calculating available physical server lists for each cluster linking available physical servers belonging to the same cluster by classifying available physical servers for each cluster to which each of the available physical servers belong;
Sorting the available physical server lists for each cluster based on the number of available physical servers belonging to each cluster available physical server lists;
A priority allocation step of allocating to the client an available physical server belonging to a cluster-specific available physical server list having the largest number of available physical servers among the ordered cluster-specific available physical server lists; And
And repeating the priority allocation step until the number of physical servers allocated to the client reaches the calculated number of physical servers.
KR1020130016593A 2013-02-15 2013-02-15 Registration system and method for virtual desktop service of client that has multiple user accounts KR101529163B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130016593A KR101529163B1 (en) 2013-02-15 2013-02-15 Registration system and method for virtual desktop service of client that has multiple user accounts

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130016593A KR101529163B1 (en) 2013-02-15 2013-02-15 Registration system and method for virtual desktop service of client that has multiple user accounts

Publications (2)

Publication Number Publication Date
KR20140102989A true KR20140102989A (en) 2014-08-25
KR101529163B1 KR101529163B1 (en) 2015-06-16

Family

ID=51747544

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130016593A KR101529163B1 (en) 2013-02-15 2013-02-15 Registration system and method for virtual desktop service of client that has multiple user accounts

Country Status (1)

Country Link
KR (1) KR101529163B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102149209B1 (en) * 2020-05-27 2020-08-28 주식회사 두두아이티 Apparatus and method for providing virtual machines
KR102165428B1 (en) * 2020-06-18 2020-10-14 주식회사 두두아이티 Apparatus and method for providing content using virtual machines

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8619779B2 (en) * 2009-09-30 2013-12-31 Alcatel Lucent Scalable architecture for enterprise extension in a cloud topology
JP2011186701A (en) * 2010-03-08 2011-09-22 Nec Corp Resource allocation apparatus, resource allocation method and resource allocation program
KR101240811B1 (en) * 2011-01-24 2013-03-11 주식회사 엘지씨엔에스 Virtual Server Allocation System and Method
KR101315681B1 (en) * 2011-07-18 2013-10-08 이니텍(주) Information Processing Device In Cloud Computing Environment and Information Processing Method Therein

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102149209B1 (en) * 2020-05-27 2020-08-28 주식회사 두두아이티 Apparatus and method for providing virtual machines
WO2021241828A1 (en) * 2020-05-27 2021-12-02 주식회사 두두아이티 Method and apparatus for providing virtual machine
KR102165428B1 (en) * 2020-06-18 2020-10-14 주식회사 두두아이티 Apparatus and method for providing content using virtual machines

Also Published As

Publication number Publication date
KR101529163B1 (en) 2015-06-16

Similar Documents

Publication Publication Date Title
US11429463B2 (en) Functional tuning for cloud based applications and connected clients
EP3391210B1 (en) Scalable tenant networks
EP3365780B1 (en) Multi-tenant multi-session catalogs with machine-level isolation
JP6435050B2 (en) Resource management in cloud systems
US8862720B2 (en) Flexible cloud management including external clouds
US9942273B2 (en) Dynamic detection and reconfiguration of a multi-tenant service
US10394475B2 (en) Method and system for memory allocation in a disaggregated memory architecture
US8271653B2 (en) Methods and systems for cloud management using multiple cloud management schemes to allow communication between independently controlled clouds
CA2924655C (en) Client-premise resource control via provider-defined interfaces
US9450783B2 (en) Abstracting cloud management
US9311162B2 (en) Flexible cloud management
US10360410B2 (en) Providing containers access to container daemon in multi-tenant environment
CN110741352B (en) Virtual network function management system, virtual network function management method and computer readable storage device
JP2019528005A (en) Method, apparatus, and system for a virtual machine to access a physical server in a cloud computing system
US20130007093A1 (en) Client server communication system
CN113934550A (en) Joint operation and maintenance device for edge computing network
JP2015503158A (en) Role instance reachability in the data center
KR101544487B1 (en) Virtual desktop service system for client that has multiple user accounts
KR101529163B1 (en) Registration system and method for virtual desktop service of client that has multiple user accounts
US20130007094A1 (en) Client server communication system
KR20040075307A (en) System and method for policy quorum grid resource management
Mohapatra et al. Comparison of various platforms in cloud computing
KR102025425B1 (en) Network apparatus for deploying virtual network function and method thereof
US20200021631A1 (en) Stream processing without central transportation planning
US20180123999A1 (en) Tracking client location using buckets

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