KR101529163B1 - 복수의 사용자 계정들을 갖는 클라이언트에 대한 가상 데스크톱 서비스의 청약 시스템 및 청약 처리 방법 - Google Patents

복수의 사용자 계정들을 갖는 클라이언트에 대한 가상 데스크톱 서비스의 청약 시스템 및 청약 처리 방법 Download PDF

Info

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

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

본 발명은, 데이터 센터에서 복수의 기업이나 조직 클라이언트들에게 서로 분리된 가상 데스크톱 환경을 제공하는 가상 데스크톱 서비스의 청약 시스템 및 청약 처리 방법에 관한 것으로, 클라이언트의 가상 데스크톱 서비스 청약 신청에 포함된 정보를 기초로 클라이언트에 할당될 물리 서버 수량을 산출하고, 물리 서버를 클라이언트에 할당하며, 할당된 물리서버에 시스템 가상머신을 배포하여, 클라이언트의 가상 데스크톱 환경에 대한 요구사항을 가상 데스크톱 서비스에 반영할 수 있게 한다.

Description

복수의 사용자 계정들을 갖는 클라이언트에 대한 가상 데스크톱 서비스의 청약 시스템 및 청약 처리 방법{Registration system and method for virtual desktop service of client that has multiple user accounts}
본 발명은, 복수의 사용자 계정들을 갖는 클라이언트에 대한 가상 데스크톱 서비스의 청약 시스템 및 청약 처리 방법에 관한 것으로, 데이터 센터에서 복수의 기업이나 조직 클라이언트들에게 서로 분리된 가상 데스크톱 환경을 제공하는 가상 데스크톱 서비스를 제공함에 있어서, 클라이언트의 청약을 처리하는 청약 시스템 및 청약 처리 방법에 관한 것이다.
데스크톱 가상화는 SBC(Server-Based Computing)과 VDI(Virtual Desktop Infrastructure) 로 나뉠수 있다. SBC는 서버 운영체제에서 제공하는 터미널 서비스를 통해 가상 데스크톱 환경을 사용자에게 제공하는 반면, VDI는 서버에 데스크톱 환경을 위한 가상머신을 생성하고, 이처럼 생성된 가상머신에 운영체제와 어플리케이션을 설치하여 사용자에게 제공할 가상 데스크톱 환경을 구현한다는 점에서 차이가 있다. 이들 중에서, 가상 데스크톱 서비스는 보다 사용자의 로컬 데스크톱 환경과 유사한 데스크톱 환경을 가질 수 있다는 점에서 각광을 받고 있다.
복수의 사용자 계정들을 갖는 클라이언트 즉, 기업이나 조직 단위로 가상 데스크톱 서비스를 제공하는 경우에, 종래에는 클라이언트별로 하나의 물리적 하드웨어 및 가상화 소프트웨어를 제공하여 왔다.
그러나, 가상 데스크톱 서비스를 원하는 기업이나 조직 단위의 클라이언트들의 수가 늘어남에 따라, 단일한 데이터 센터 내에서 다수의 기업이나 조직 단위의 클라이언트들에게 가상 데스크톱 서비스를 제공하는 것이 요구되고 있다.
특히, 이러한 가상 데스크톱 서비스는 클라이언트별로 물리적 또는 논리적으로 분리된 가상 환경을 제공해야 하며, 클라이언트에 복수의 사용자 계정들이 할당될수 있으므로, 클라이언트의 청약 단계에서 가상 환경에 대한 요구사항을 독출하여 이를 가상 데스크톱 서비스에 물리적인 시스템 자원을 할당하거나 가상머신을 할당하는 데에 반영하는 것이 필요하다.
그러나, 현재는 가상 데스크톱 서비스가 아직 활성화되기 이전이므로, 클라이언트의 청약 단계에서, 클라이언트의 가상 환경에 대한 요구사항을 독출하여, 가상 데스크톱 서비스에 물리적인 시스템 자원을 할당하거나 가상머신을 할당하는 데에 반영할 수 있는 기술에 대해서는 구체적으로 개시되고 있지 않은 실정이다.
한국특허공개공보 제 2012-0064574 호
본 발명이 이루고자 하는 기술적 과제는, 데이터 센터에서 복수의 기업이나 조직 클라이언트들에게 서로 분리된 가상 데스크톱 환경을 제공하는 가상 데스크톱 서비스를 제공하는 데에 있어서, 클라이언트의 청약 단계에서, 클라이언트의 가상 환경에 대한 요구사항을 독출하여, 가상 데스크톱 서비스에 물리적인 시스템 자원을 할당하거나 가상머신을 할당하는 데에 반영할 수 있는 가상 데스크톱 서비스의 청약 시스템 및 청약 처리 방법을 제공하는 데에 있다.
본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기의 기술적 과제를 이루기 위한, 가상 데스크톱 서비스의 청약 시스템은 클라이언트에게 데이터 센터의 물리적 컴퓨팅 자원을 가상화한 가상 컴퓨팅 자원을 이용하여 가상 데스크톱 환경을 제공할 사용자 가상머신의 수량을 포함하는 가상 데스크톱 서비스 청약 신청을 수신하는 청약 수신부; 상기 가상 데스크톱 서비스 청약 신청에 포함된 정보를 기초로 상기 클라이언트에 할당될 물리 서버 수량을 산출하는 물리서버수량산출부; 상기 산출된 물리 서버 수량을 기초로 상기 데이터 센터의 가용 물리 서버들 중에서 적어도 하나 이상의 물리 서버를 상기 클라이언트에 할당하는 물리서버할당부; 상기 할당된 물리 서버에 상기 가상 데스크톱 환경의 기반 인프라를 구성하는 시스템 가상머신을 배포하는 시스템가상머신배포부을 포함한다.
상기의 기술적 과제를 이루기 위한, 가상 데스크톱 서비스의 청약 처리 방법은 클라이언트에게 데이터 센터의 물리적 컴퓨팅 자원을 가상화한 가상 컴퓨팅 자원을 이용하여 가상 데스크톱 환경을 제공할 사용자 가상머신의 수량을 포함하는 가상 데스크톱 서비스 청약 신청을 수신하는 단계; 상기 가상 데스크톱 서비스 청약 신청에 포함된 정보를 기초로 상기 클라이언트에 할당될 물리 서버 수량을 산출하는 단계; 상기 산출된 물리 서버 수량을 기초로 상기 데이터 센터의 가용 물리 서버들 중에서 적어도 하나 이상의 물리 서버를 상기 클라이언트에 할당하는 물리서버할당 단계; 및 상기 할당된 물리 서버에 상기 가상 데스크톱 환경의 기반 인프라를 구성하는 시스템 가상머신을 배포하는 시스템가상머신배포 단계를 포함한다.
본 발명에 따르면, 데이터 센터에서 복수의 사용자 계정을 갖는 기업이나 조직 클라이언트들에게 클라이언트 단위로 서로 물리적으로 분리된 물리적 시스템 자원을 기초로 가상 데스크톱 환경을 제공하는 가상 데스크톱 서비스를 제공하는 데에 있어서, 가상 데스크톱 서비스에 물리적인 시스템 자원을 할당하거나 가상머신을 할당하는 데에 클라이언트의 요구사항을 보다 충실하게 반영할 수 있게 된다.
도 1은 본 발명의 바람직한 일 실시예에 따른 클라이언트에 대한 가상 데스크톱 서비스 시스템의 전체적인 구성을 도시한 도면이다.
도 2a는 본 발명의 바람직한 일 실시예에 따른 가상 데스크톱 서비스의 청약 시스템의 개략적인 구성을 도시한 블록도이다.
도 2b는 본 발명의 바람직한 일 실시예에 따른 가상 데스크톱 서비스의 청약 방법을 도시한 도면이다.
도 3은 본 발명의 바람직한 일 실시예에 따라 가상 데스크톱 서비스를 제공하는 데이터 센터의 전체 구조를 개략적으로 설명하기 위한 도면이다.
도 4는 본 발명의 바람직한 실시예에 따른 가상 데스크톱 서비스의 청약 시스템에서 가상 데스크톱 서비스의 청약 신청을 처리하는 과정을 예시한 도면이다.
도 5는 본 발명의 바람직한 일 실시예에 따라 청약 신청을 한 클라이언트에 물리 서버를 할당하는 구체적인 과정을 예시한 도면이다.
도 6은 본 발명의 바람직한 일 실시예에 따라 라우터 가상머신을 배포하는 구체적인 과정을 예시한 도면이다.
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다. 또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한, 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.
따라서, 프로세서 또는 이와 유사한 개념으로 표시된 기능 블록을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다. 또한, 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니 되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지 관용의 다른 하드웨어도 포함될 수 있다.
상술한 목적, 특징 및 장점들은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 더욱 분명해 질 것이다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략하거나 간략하게 설명하는 것으로 한다.
한편 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 첨부된 도면을 참조하여 바람직한 실시예에 따른 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 바람직한 일 실시예에 따른 클라이언트에 대한 가상 데스크톱 서비스 시스템(100)의 전체적인 구성을 도시한 도면이다.
도 1을 참조하면, 본 실시예에 따른 가상 데스크톱 서비스 시스템(100)은 각 클라이언트별로 할당되는 가상머신들의 집합인 클라이언트별 가상 데스크톱 시스템(110)과 이러한 클라이언트별 가상 데스크톱 시스템(110)들을 전체적으로 관리 및 제어하는 서비스 공급자의 중앙 관리 시스템(120)을 포함한다. 상기한 구성요소들 이외에 다른 구성요소들이 본 실시예에 따른 가상 데스크톱 서비스 시스템(100)에 포함될 수 있음은 자명하다.
본 실시예에 따른 가상 데스크톱 서비스 시스템(100)의 구성요소들인 클라이언트별 가상 데스크톱 시스템(110) 및 중앙 관리 시스템(120)은 그 중 적어도 일부가 외부 단말장치나 외부 서버등과 통신하는 프로그램 모듈일 수 있으며, 이러한 프로그램 모듈들은 운영 시스템, 응용 프로그램 모듈 및 기타 프로그램 모듈로서 가상 데스크톱 서비스 시스템(100)에 포함될 수 있으며, 물리적으로는 다양한 종류의 공지된 기억 장치에 저장될 수 있다. 또한, 이러한 프로그램 모듈들은 가상 데스크톱 서비스 시스템(100)와 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈들은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 본 발명 자체가 이에 한정되지는 않는다.
본 실시예에 따른 클라이언트별 가상 데스크톱 시스템(110)은 복수의 사용자 계정들에 각각 할당되는 사용자 가상머신들(116)과, 클라이언트 별로 할당되어 개별 사용자 가상머신들의 가상 데스크톱 서비스를 지원하는 시스템 가상머신들(111 내지 115)을 포함한다.
사용자 가상머신들(116)은 각각 데이터 센터의 물리적 컴퓨팅 자원을 가상화한 가상 컴퓨팅 자원을 이용하여 사용자 계정별로 가상의 데스크톱 환경을 직접적으로 제공하는 것으로, 로컬 데스크톱 환경에서 로컬의 물리적 컴퓨팅 자원을 이용하는 것과 근사한 수준의 가상 데스크톱 환경을 제공하기 위해 로컬 데스크톱 환경과 동일한 운영체제 및 어플리케이션들이 설치되어 구동될 수 있다.
시스템 가상머신들로는, 라우터 가상머신(RVM, 111~112), 액티브 디렉토리 가상머신(AD, 113), 데스크톱 딜리버리 제어 가상머신(DDC, 114) 및 통신암호화 가상머신(VPX, 115)이 해당될 수 있다.
즉, 본 실시예에 따르면, 클라이언트 별로 라우터 가상머신(RVM, 111~112), 액티브 디렉토리 가상머신(AD, 113) 및 데스크톱 딜리버리 제어 가상머신(DDC, 114)을 포함하는 서로 독립된 시스템 가상머신 집합을 갖게 되며, 클라이언트의 선택에 따라 추가적으로 통신암호화 가상머신(VPX, 115)을 포함할 수 있다.
라우터 가상머신(RVM, 111~112)은 사용자 가상머신들(116) 각각에 서비스 IP를 할당하여 사용자 가상머신들(116)과 외부 네트워크와의 통신을 중개하고, 사용자 가상머신들(116) 사이의 사설 네트워크 내에서의 통신을 라우팅하는 클라이언트별 가상의 사설 네트워크의 라우터 기능을 수행한다. 예컨대, 사용자 가상머신들(116)을 통해 제공되는 가상 데스크톱 환경에서 인터넷에 접근하기 위해서는 라우터 가상머신을 통해 접근하게 된다. 이때, 라우터 가상머신(RVM, 111~112)는 클라이언트의 외부 인터넷용 집선 스위치로서의 기능을 수행할 수 있다.
아울러, 라우터 가상머신(RVM, 111~112)은 사용자 가상머신들(116)에 유동 IP를 할당하는 DHCP 서버를 포함할 수 있다.
라우터 가상머신(RVM, 111~112)은 사용자 가상머신들의 개수에 따라 동적으로 추가 증설되거나(Scale Out), 감축될 수 있는 구조를 갖는 것이 바람직하다.
데스크톱 딜리버리 제어 가상머신(DDC, 114)은 사용자 가상머신과 사용자 가상머신에 접근하는 사용자 계정 사이의 세션을 연결하고 사용자 가상머신에서 제공하는 가상 데스크톱 서비스를 관리한다.
액티브 디렉토리 가상머신(AD, 113)은 사용자 가상머신들 및 데스크톱 딜리버리 제어 가상머신의 사용자 계정들의 정보를 관리하고, 이들에 접근하는 사용자 계정을 인증한다. 다시 말하면, 액티브 디렉토리 가상머신(AD, 113)는 각 고객별로 제공되는 가상머신들을 구성요소로 하는 클라이언트별 가상의 사설 네트워크에서의 사용자 계정 정보를 관리하는 액티브 디렉토리(Active directory) 서비스를 제공한다. 이를 위해서, 사용자 가상머신들 및 데스크톱 딜리버리 제어 가상머신이 모두 액티브 디렉토리 가상머신(AD, 113)의 액티브 디렉토리에 모두 조인이 되어야 한다.
통신 암호화 가상머신(VPX, 115)은 클라이언트의 선택에 의해 포함될 수 있는 시스템 가상머신으로, 클라이언트의 사용자 계정과 사용자 가상머신들 간의 통신 프로토콜을 암호화해주는 기능을 수행하는 가상머신으로, 클라이언트와 사용자 가상머신들 간의 통신 과정에 있어서 엑세스 게이트웨이로서의 기능을 수행할 수 있다.
클라이언트와 사용자 가상머신들 간의 통신 프로토콜로 Citrix 사의 통신 프로토콜인 ICA를 사용할 수 있으며, 이때 통신 암호화 가상머신은 이러한 ICA를 암호화할 수 있다.
시스템 가상머신으로 통신 암호화 가상머신을 포함하는 경우에는 가상 데스크톱 서비스시에, 클라이언트의 단말과 사용자 가상머신이 직접적으로 통신(예컨대, 데스크톱 화면 전송)을 수행하는 것이 아니라, 클라이언트의 단말과 통신 암호화 가상머신이 SSL 통신을 하게 되며, 이때, 통신 암호화 가상머신은 클라이언트의 가상 데스크톱 서비스의 프록시 서버로서 기능하게 된다.
본 실시예에 따른 서비스 공급자의 중앙 관리 시스템(120)은 VMS(121), Portal(122), VSV(123) 및 VMS-UI(124)을 포함할 수 있다.
VMS(121)는 데이터 센터 전체의 코어 관리 기능 및 VDI 확장 기능을 수행하는 구성요소로, 여기에서 코어 관리 기능은 데이터 센터에 속한 물리적인 컴퓨팅 자원들을 Zone/Pod/Cluster/Storage/Host 단위로 각각 관리하고, 데이터 센터 내의 전체 스토리지 및 네트워크 자원을 관리하고, 사용자 가상머신 및 시스템 가상머신에 설치될 패키지 또는 템플릿을 관리하고, 가상머신들의 생성 또는 추가시 활용할 가상머신들의 풀(pool)을 관리 혹은 제어하는 것을 가리키며, VDI 확장 기능은 클라이언트 별로 할당되는 데스크톱 딜리버리 제어 가상머신(113) 및 액티브 디렉토리 가상머신(114)의 제어 또는 설정 사항 변경 등을 통해 클라이언트별로 서로 독립적으로 제공되는 가상 데스크톱 서비스의 세부 사항들을 조정할 수 있다.
Portal(122), VSV(123) 및 VMS-UI(124)는 모두 사용자 인터페이스를 제공하는 구성요소로서, Portal(122)은 클라이언트로부터 가상 데스크톱 서비스에 대한 청약 신청을 받고, 청약 신청에 따라 가상 데스크톱 서비스의 기반 인프라 환경을 구축하며, 클라이언트에 제공되는 가상 데스크톱 서비스의 요금을 빌링하는 부분에 대한 사용자 인터페이스를 제공하며, VSV(123)은 상기한 VMS(121)의 관리 기능 중 VDI 확장 기능 부분에 관한 사용자 인터페이스를 제공하고, VMS-UI(124)는 상기한 VMS(121)의 관리 기능 중 코어 관리 기능 부분에 관한 사용자 인터페이스를 제공한다.
이러한 Portal(122), VSV(123) 및 VMS-UI(124)에서 RESTful 방식으로 서비스 API를 호출하여, VMS(121)에 탑재된 API 계층에 속한 프로그램 모듈들을 활성화시키고, 이들 프로그램들에 포함된 함수 호출에 의해, 인프라 또는 가상머신을 관리하는 코어 관리기능, AD 또는 DDC를 관리하는 VDI 기능, 모니터링 기능 및 스케줄링 기능을 수행하게 된다.
여기에서 서비스 API란, VMS(121) 외부(예컨대, Portal(122), VSV(123) 및 VMS-UI(124) 등)에서 호출할 수 있는 API로 VMS(121) 외부에 대하여 가상 데스크톱 서비스를 구성하는 개별 기능들에 대한 요청 및 응답 포인트를 제공할 수 있다.
본 실시예에 따른 가상 데스크톱 서비스 시스템(100)을 통해. 클라이언트에 가상 데스크톱 서비스를 제공하기 위해서는, Portal(122)를 통해 클라이언트로부터 가상 데스크톱 서비스의 청약 요청을 받아, 사용자 가상머신들의 생성 이전에 클라이언트의 가상 데스크톱 서비스의 기반 인프라 환경을 구축해야 한다.
클라이언트에 대한 가상 데스크톱 서비스의 기반 인프라 환경은 클라이언트별로 물리적인 시스템 자원을 할당하여야 하며, 할당된 물리적인 시스템 자원 상에 상기한 시스템 가상머신 집합을 생성하여 배포하여야 하며, 시스템 가상머신들 각각의 기능을 제공하기 위한 소프트웨어 패키지를 설치하는 과정을 먼저 거쳐야 한다.
본 실시예에 따른 Portal(122)에서는 클라이언트의 청약으로부터 클라이언트의 가상 환경에 대한 요구사항을 독출하여 이러한 가상 데스크톱 서비스의 기반 인프라 환경의 구축과정에 반영하는 것을 특징으로 하고 있다.
도 2a는 본 발명의 바람직한 일 실시예에 따른 가상 데스크톱 서비스의 청약 시스템(200)의 개략적인 구성을 도시한 블록도이며, 도 2b는 도 2a에 도시된 청약 시스템(200)에서 수행될 수 있는 가상 데스크톱 서비스의 청약 방법을 도시한 도면이다. 본 실시예에 따른 가상 데스크톱 서비스의 청약 시스템(200)은 도 1에 도시된 가상 데스크톱 서비스 시스템의 Portal(122) 또는 VMS(121) 및 Portal(122)을 서로 결합한 구성에 대응될 수 있다. 따라서, 도 1에 도시된 가상 데스크톱 서비스 시스템에 관한 설명에서와 동일한 사항에 대해서는 이를 참조할 수 있다.
도 2a를 참조하면, 본 실시예에 따른 가상 데스크톱 서비스의 청약 시스템(200)은 청약신청수신부(210), 물리서버수량산출부 (220), 물리서버할당부(230) 및 시스템가상머신배포부(240)를 포함하여 구성될 수 있다.
청약신청수신부(210)는 클라이언트로부터 가상 데스크톱 서비스의 사용자 가상머신의 개수를 포함하는 가상 데스크톱 서비스 청약 신청을 수신한다(S201).
가상 데스크톱 서비스 청약 신청은 사용자 가상머신의 개수뿐만 아니라, 가상 데스크톱 서비스에서 제공하는 가상 데스크톱 환경의 물리적 자원량(클라이언트에 할당된 총 CPU 용량, 총 메모리 용량, 총 스토리지 용량등)을 추가적으로 포함할 수 있다.
더불어, 가상 데스크톱 서비스 청약 신청은 가상 데스크톱 서비스를 위한 클라이언트의 사용자 계정과 사용자 가상머신 간의 통신 프로토콜에 보다 보안성이 강화된 암호화를 적용할지 여부에 관한 클라이언트의 선택 사항을 추가적으로 포함할 수 있다.
물리서버수량산출부(220)는 청약신청수신부(210)에 수신된 가상 데스크톱 서비스 청약 신청에 포함된 정보를 기초로 해당 클라이언트의 가상 데스크톱 서비스에 할당될 물리서버수량을 산출한다(S202).
물리서버수량산출부(220)는 가상 데스크톱 서비스 청약 신청에 포함된 사용자 가상머신의 개수를 기초로 물리서버 수량을 산출할 수 있다. 구현예에 따라서는, 물리서버 수량 산출에 사용자 가상머신의 개수뿐만 아니라, 가상 데스크톱 서비스 청약 신청에 포함된 다른 정보 예컨대, 총 CPU 용량, 총 메모리 용량, 총 스토리지 용량 등의 정보를 선택적으로 혹은 일괄적으로 참조할 수 있다.
물리서버할당부(230)는 물리서버수량산출부(220)에서 산출된 물리서버수량을 기초로 가용 물리 서버들 중에서 적어도 하나 이상의 물리 서버를 해당 클라이언트에 할당한다(S203). 예컨대, 가용 물리서버들 중에서 물리서버수량산출부(220)에서 산출된 물리서버수량과 동일한 개수의 물리 서버들을 해당 클라이언트에 할당하는 것이 바람직하다.
물리서버수량산출부(220)에서 산출된 물리서버수량 이상의 가용 물리서버들이 존재하는 경우에는 물리서버들 간의 물리적 거리, 물리서버들이 속한 클러스터 등을 고려하여 서로 인접한 물리서버들 또는 동일한 클러스터에 속한 물리서버들을 우선적으로 할당할 수 있다.
시스템가상머신배포부(240)는 물리서버할당부(230)에서 할당된 적어도 하나 이상의 물리 서버에 가상 데스크톱 서비스의 기반 인프라를 구현하는 시스템 가상머신을 생성하여 배포한다(S204).
시스템가상머신배포부(240)에서 물리서버에 시스템 가상머신을 배포함에 있어서, 가상 데스크톱 서비스 청약 신청에 포함된 사용자 가상머신의 개수 및 가상 데스크톱 서비스의 통신 프로토콜에 보다 보안성이 강화된 암호화를 적용할지 여부에 관한 클라이언트의 선택 사항 등의 정보를 참조할 수 있다.
예컨대, 사용자 가상머신의 개수 정보에 따라 시스템 가상머신 중 라우터 가상머신의 배포 수량을 결정할 수 있으며, 가상 데스크톱 서비스의 통신 프로토콜에 보다 보안성이 강화된 암호화를 적용할지 여부에 관한 클라이언트의 선택 사항 정보에 따라 통신 암호화 가상머신의 배포 여부를 결정할 수 있다.
도 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에 도시된 가상 데스크톱 서비스 시스템에 관한 설명에서와 동일한 사항에 대해서는 이를 참조한다.
본 실시예에 따른 가상 데스크톱 서비스는 다수의 독립된 클라이언트들이 동일한 형태의 가상 데스크톱 서비스를 단일한 데이터 센터(300)에서 제공받을 수 있다.
본 실시예에 따른 데이터 센터(300)는 가상 데스크톱 서비스를 제공하기 위한 물리 서버 및 스토리지들의 집합 및 이러한 가상 데스크톱 서비스를 관리하기 위한 하나의 가상 데스크톱 서비스 관리 시스템을 포함한 개념이며, 여기에서 물리 서버는 CPU, 메모리, 디스크, 네트워크 카드로 구성된 하나의 하드웨어 조합을 가리키며, 이들 중 동일한 스토리지를 공유하는 물리 서버들의 집합을 클러스터라고 칭할 수 있다.
본 실시예에 따른 가상 데스크톱 서비스에서는, 특정 클라이언트에 대한 가상 데스크톱 서비스가 다른 클라이언트에 대한 가상 데스크톱 서비스에 영향을 주거나 받지 않아야 하며, 이를 위해 본 실시예에 따른 데이터 센터(300)는 클라이언트별 정보를 논리적으로 분리하여 관리하여야 하며, 아울러, 클라이언트별로 독립된 하드웨어 리소스와 독립된 네트워크 리소스를 포함하는 클라이언트별 가상 데스크톱 시스템을 제공할 수 있다.
도 3을 참조하면, 본 실시예에 따른 데이터 센터는 클라이언트별 가상 데스크톱 시스템(310, 320, 330)들을 구비한다. 클라이언트별 가상 데스크톱 시스템은 사용자 가상머신들, RVM, AC 및 DDC를 포함하고, 선택적으로 VPX를 더 포함하는 사용자 및 시스템 가상머신들의 집합으로, 서로 독립적으로 동작하며, 서로에 대해 은닉되어 상호 시스템들 간의 보안성이 유지되는 것을 전제로 한다.
RVM(311, 321, 331)은 사용자 가상머신들(315, 325, 335) 각각에 서비스 IP를 할당해주어야 하고, 할당 가능한 서비스 IP의 개수는 한정되어 있으므로, 서비스되어야 할 사용자 가상머신의 수가 할당 가능한 서비스 IP의 개수를 넘는 경우에는, 추가적인 RVM(312)가 생성되어 multi-RVM의 형태로 구성되게 된다. 이 경우 IP 충돌 방지를 위해 기존의 RVM(311)에 연결된 사용자 가상머신들(315)과 기존의 RVM(311) 간의 네트워크와 추가적으로 생성된 RVM(312)과 연결된 사용자 가상머신들(316)과 추가적인 RVM 간의 네트워크가 서로 논리적으로 분리되어야 한다.
도 4는 본 발명의 바람직한 실시예에 따른 가상 데스크톱 서비스의 청약 시스템에서 가상 데스크톱 서비스의 청약 신청을 처리하는 과정을 예시한 도면으로, 본 실시예에 따른 가상 데스크톱 서비스의 청약 시스템은 도 1에 도시된 가상 데스크톱 서비스 시스템의 VMS(121) 및 Portal(122)을 서로 결합한 구성에 대응되는 것으로 전제로 한다. 따라서, 도 1에 도시된 가상 데스크톱 서비스 시스템에 관한 설명에서와 동일한 사항에 대해서는 이를 참조할 수 있다.
도 4를 참조하면, Portal(122)은 먼저 클라이언트로부터 가상 데스크톱 서비스의 청약 신청을 접수받아(S401) 이를 VMS(121)에 전달한다. 본 실시예에 따른 가상 데스크톱 서비스의 청약 신청은 가상 데스크톱 서비스를 제공할 사용자 가상머신의 개수, 가상 데스크톱 서비스에 포함될 가상화된 컴퓨팅 자원 예컨대 CPU, 메모리 및 스토리지의 용량에 대한 클라이언트의 요구사항과, 가상 데스크톱 서비스의 보안 모드 여부에 대한 클라이언트의 선택사항을 포함할 수 있다.
VMS(121)는 Portal(122)로부터 전달받은 청약 신청은 청약 신청에 포함된 정보를 기초로 청약 신청에 해당하는 클라이언트의 가상 데스크톱 서비스에 제공될 물리서버수량을 산출하고, 산출될 물리서버수량을 기초로 가용 물리 서버들 중에서 적어도 하나 이상의 물리 서버를 해당 클라이언트에 할당한다(S402).
S402 단계에서 할당된 적어도 하나 이상의 물리 서버에 해당 클라이언트의 가상 데스크톱 서비스에 필요한 사용자 가상머신의 개수에 대응되는 수량의 적어도 하나 이상의 라우터 가상머신을 배포한다(S403).
이 때, 라우터 가상머신의 배포 수량의 결정 기준이 되는 사용자 가상머신의 개수는 S401 단계에서 접수된 가상 데스크톱 서비스의 청약 신청에 포함된 사용자 가상머신의 개수 정보에 따라 결정될 수 있다.
본 실시예에서, 라우터 가상머신은 라우터 가상머신의 관리용 인터페이스에 대한 DHCP IP를 할당받아 이를 기초로 생성되어, 클라이언트에 할당되는 시스템 가상머신들 및 사용자 가상머신으로 구성되는 서비스망의 DHCP 설정 정보 및 포트포워딩 정보 등의 업데이트 과정을 거쳐 라우터 가상머신의 초기 구동에 필요한 초기 설정 과정을 수행한다. 라우터 가상머신의 초기 구동에 필요한 모든 설정을 마무리하고 라우터 가상머신을 선택된 물리 서버 상에서 구동시킴으로써, 일련의 라우터 가상머신의 배포 과정(S403)을 완료할 수 있다.
아울러, 클라이언트에 할당된 물리 서버 수량이 둘 이상인 경우에는 둘 이상의 물리서버들 중 소정의 할당 규칙에 의해 선택된 물리서버에 라우터 가상머신이 배포될 수 있으며, 라우터 가상머신의 배포수량이 둘 이상인 경우에는 하나의 물리서버에서 둘 이상의 라우터 가상머신들이 배포될 수도 있으며, 둘 이상의 물리서버들 각각에 한 개씩의 라우터 가상머신들이 배포될 수도 있다. 이들은 본 발명의 설명의 편의를 위한 하나의 실시예에 불과하며, 본 발명 자체가 이에 한정되는 것은 아니라고 할 것이다.
S402 단계에서 할당된 적어도 하나 이상의 물리 서버에 하나의 액티브 디렉토리 가상머신을 배포한다(S404). 클라이언트에 할당된 물리 서버 수량이 둘 이상인 경우에는 둘 이상의 물리서버들 중 소정의 할당 규칙에 의해 선택된 물리서버에 액티브 디렉토리 가상머신이 배포될 수 있다.
본 실시예에서, 액티브 디렉토리 가상머신은 액티브 디렉토리 가상머신의 관리용 인터페이스에 대한 DHCP IP를 할당받아 이를 기초로 생성되어, S403 단계에서 배포된 라우터 가상머신을 통해, 라우터 가상머신이 포함된 서비스망에서의 IP(서비스 IP)를 할당받고, 기타 다른 설정 작업을 수행한다. 그리고, 액티브 디렉토리 가상머신의 초기 구동에 필요한 모든 설정을 마무리하고 액티브 디렉토리 가상머신을 선택된 물리 서버 상에서 구동시킴으로써 일련의 액티브 디렉토리 가상머신의 배포 과정(S404)을 완료할 수 있다.
S402 단계에서 할당된 적어도 하나 이상의 물리 서버에 하나의 데스크톱 딜리버리 제어 가상머신을 배포한다(S405). 클라이언트에 할당된 물리 서버 수량이 둘 이상인 경우에는 둘 이상의 물리서버들 중 소정의 할당 규칙에 의해 선택된 물리서버에 데스크톱 딜리버리 제어 가상머신이 배포될 수 있다.
본 실시예에서, 데스크톱 딜리버리 제어 가상머신은 데스크톱 딜리버리 제어 가상머신의 관리용 인터페이스에 대한 DHCP IP를 할당받아 이를 기초로 생성되어, S403 단계에서 배포된 라우터 가상머신을 통해, 라우터 가상머신이 포함된 서비스망에서의 IP(서비스 IP)를 할당받고, 기타 다른 설정 작업을 수행한다. 그리고, 데스크톱 딜리버리 제어 가상머신의 초기 구동에 필요한 모든 설정을 마무리하고 데스크톱 딜리버리 제어 가상머신을 선택된 물리 서버 상에서 구동시킴으로써 일련의 데스크톱 딜리버리 제어 가상머신의 배포 과정(S405)을 완료할 수 있다.
해당 클라이언트의 가상 데스크톱 서비스가 보안 모드(Secure mode)인 경우(S406)에는 S402 단계에서 할당된 적어도 하나 이상의 물리 서버에 보안 모드에 필요한 시스템 가상머신인 통신 암호화 가상머신을 배포한다(S407). 클라이언트에 할당된 물리 서버 수량이 둘 이상인 경우에는 둘 이상의 물리서버들 중 소정의 할당 규칙에 의해 선택된 물리서버에 통신 암호화 가상머신이 배포될 수 있다.
이때, 가상 데스크톱 서비스가 보안 모드인지 여부는 S401 단계에서 접수된 가상 데스크톱 서비스의 청약 신청으로부터 가상 데스크톱 서비스의 보안 모드 여부에 대한 클라이언트의 선택 사항을 추출하여 이를 기초로 하여 결정될 수 있다.
본 실시예에서, 통신 암호화 가상머신은 통신 암호화 가상머신의 관리용 인터페이스에 대한 DHCP IP를 할당받아 이를 기초로 생성되어, S403 단계에서 배포된 라우터 가상머신을 통해, 라우터 가상머신이 포함된 서비스망에서의 IP(서비스 IP)를 할당받고, 포트포워딩 정보 및 암호화 알고리즘 설정 정보 등의 업데이트 과정을 거쳐 통신 암호화 가상머신의 초기 구동에 필요한 초기 설정 과정을 수행한다. 통신 암호화 가상머신의 초기 구동에 필요한 모든 설정을 마무리하고 통신 암호화 가상머신을 구동시킴으로써 일련의 통신 암호화 가상머신의 배포 과정(S407)을 완료할 수 있다.
본 실시예에서의 S403, S404, S405 및 S407 단계에서의 시스템 가상머신의 배포 과정은 하기의 시스템 API인 DeploySVM()을 호출하는 과정을 포함할 수 있다.
[표 1]
Figure 112013013951377-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는 메소드의 호출시 반드시 요청 파라미터로 포함되어야 하나, 나머지는 생략하거나 선택적으로 입력할 수 있다.
이러한 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에 대응되는 응답값들은 리스트 형태를 갖는 것으로 정의된다.
예컨대, S403 단계의 라우터 가상머신의 배포는 serviceprofile_id에 대응하여 "rvm" 입력 파라미터 값으로 하여 DeploySVM() 메소드를 호출하는 과정을 포함하도록 구현될 수 있다. S404 단계의 액티브 디렉토리 가상머신의 배포는 serviceprofile_id에 대응하여 "ad" 입력 파라미터 값으로 하여 DeploySVM() 메소드를 호출하는 과정을 포함하도록 구현될 수 있다. S405 단계의 데스크톱 딜리버리 제어 가상머신의 배포는 serviceprofile_id 에 대응하여 "ddc"를 입력 파라미터 값으로 하여 DeploySVM() 메소드를 호출하는 과정을 포함하도록 구현될 수 있다. S407 단계의 통신 암호화 가상머신의 배포는 serviceprofile_id에 대응하여 "vpx"를 력 파라미터 값으로 하여 DeploySVM() 메소드를 호출하는 과정을 포함하도록 구현될 수 있다.
도 5는 본 발명의 바람직한 일 실시예에 따라 청약 신청을 한 클라이언트에 물리 서버를 할당하는 구체적인 과정을 예시한 도면이다.
가상 데스크톱 서비스는 해당 클라이언트의 데이터와 다른 클라이언트의 데이터를 서로 격리하기 위해서, 클라이언트별로 독립된 물리 서버를 제공한다. 따라서, 시스템 가상머신 내지 사용자 가상머신의 배포 또는 생성 과정에 앞서서, 클라이언트가 요청한 사용자 가상머신의 수량을 수용할 수 있을 정도로 가용 물리 서버가 있는지를 확인하고, 해당 클라이언트의 가상 데스크톱 서비스를 위한 가용 물리 서버를 먼저 확보하는 것이 필요하다.
먼저, 가상 데스크톱 서비스를 위해 요청된 사용자 가상머신의 개수를 포함하는 청약 신청을 입력받는다(S501).
가상 데스크톱 서비스는 해당 클라이언트의 데이터와 다른 클라이언트의 데이터를 서로 격리하기 위해서, 클라이언트별로 독립된 물리 서버를 제공한다. 따라서, 시스템 가상머신 내지 사용자 가상머신의 배포 또는 생성 과정에 앞서 S501 단계를 통해 입력받은 사용자 가상머신의 개수를 기초로 필요한 물리 서버의 수량을 산정한다(S502). 하나의 물리서버에 수용가능한 가상머신의 수는 한정되어 있다. 따라서, 먼저 클라이언트가 요청한 사용자 가상머신의 개수를 기초로 필요한 물리 서버의 수량을 산정하는 것이 필요하다.
클러스터별로 가용 물리 서버 리스트들을 산출하고, 이때 가용 물리 서버의 수량으로 클러스터별 가용 물리 서버 리스트들을 정렬한다(S503).
가용 물리 서버 리스트에 포함된 복수의 가용 물리 서버들 중 클라이언트에 할당할 가용 물리 서버를 선택하는 기준으로, 물리서버들 간의 물리적 거리, 물리서버들이 속한 클러스터 등을 고려하여, 서로 인접한 물리서버들 또는 동일한 클러스터에 속한 물리서버들을 우선적으로 할당할 수 있다.
즉, 가급적 물리적으로 인접한 거리에 배치되어 있는 물리서버들을 동일한 클라이언트에 할당하는 것이 바람직하며, 동일한 클라이언트에 할당된 물리서버들은 가급적 하나의 클러스터에 있는 것이 바람직하며, 하나의 클러스터에 배치될 수 없는 경우에는 물리 서버들이 배치된 클러스터의 수가 최소한이 되도록 물리서버가 할당되는 것이 바람직하다. 이를 위해, 가용 물리서버의 수량으로 클러스터들을 정렬하여 가용 물리서버가 많은 클러스터의 가용 물리서버에 우선적으로 할당하는 것이 바람직하다.
정렬된 순서로 클러스터 내의 가용 물리 서버를 클라이언트에게 할당하는 과정을 클라이언트가 할당받은 물리 서버의 개수가 S502단계에서 산정된 물리 서버의 수량에 이를 때까지 반복수행한다(S504 ~ S508).
클라이언트가 할당받은 물리 서버의 개수가 물리서버의 수량에 이르지 않았는데, 더 이상 할당할 물리서버가 없는 경우에는 가용할 자원이 부족하다는 메시지를 포함한 에러 메시지를 발생하고, 가상 데스크톱 서비스를 제공할 수 없음을 클라이언트에 통지할 수 있다.
S504 내지 S508의 과정을 통해 클라이언트가 할당받은 물리 서버들의 정보를 소정의 데이터베이스에 업데이트하고, 이후에 라우터 가상머신의 배포 과정으로 넘어간다(S509).
도 6은 본 발명의 바람직한 일 실시예에 따라 라우터 가상머신을 배포하는 구체적인 과정을 예시한 도면이다.
라우터 가상머신은 전술한 바와 같이 클라이언트의 가상 데스크톱 서비스에 속하는 가상머신들에 유동 IP를 제공하는 DHCP 및 외부 인터넷과의 통신을 위한 NAT 서비스를 제공한다. 모든 클라이언트의 가상 데스크톱 서비스가 이러한 라우터 가상머신을 통해서 외부 인터넷 등과 연결되기 때문에 충분한 성능을 제공하여야 하며, 이를 위해, 라우터 가상머신은 가상 데스크톱 서비스의 사용자 가상머신의 개수에 따라 수량이 늘어날 수 있는 확장형 구조(Scale Out) 구조로 구성되는 것이 바람직하다.
먼저, 라우터 가상머신의 배포 요청을 수신한다(S601). 라우터 가상머신의 배포 요청에는 청약 신청된 사용자 가상머신의 개수, 해당 클라이언트에 할당된 물리 서버들의 정보, 가상 데스크톱 서비스가 보안 모드인지 여부 등이 포함된다.
라우터 가상머신은 전술한 DHCP, NAT 뿐만 아니라 Routing, Port Forwarding 등 다양한 기능을 제공할 수 있다. 본 실시예에 따른 라우팅 가상머신에는 모든 클라이언트의 가상 데스크톱 서비스 상에서 기본적으로 DHCP, NAT, Routing 기능을 수행하며, 클라이언트가 보안 모드를 선택하지 않는 경우에는 Port Forwarding 기능 또한 수행한다.
그러나, 클라이언트가 보안 모드를 선택한 경우에는 Port Forwarding 기능은 VPX를 통해서 대체된다. 따라서, 가상 데스크톱 서비스가 보안 모드인지 여부에 따라 배포되는 라우터 가상머신의 종류는 달라질 수 있다.
라우터 가상머신의 배포를 위해, 라우터 가상머신의 배포 수량을 산정한다(S602).
라우터 가상머신별로 DHCP, NAT 서비스를 수용 가능한 수량이 기정의되어 있으므로, 본 실시예에서는 이에 따라 하나의 라우터 가상머신에서 최대 수용 가능한 VM 개수(Capacity) 정보가 기설정되어 있는 것을 전제로 한다.
따라서, 청약 신청된 사용자 가상머신의 개수에 따라 라우터 가상머신의 배포 수량을 산정할 수 있다.
본 실시예에서는 청약 신청된 사용자 가상머신의 개수를 상기한 Capacity 정보로 나눈 값을 올림하여 라우터 가상머신의 배포 수량을 산정한다. 예컨대, 하나의 라우터 가상머신이 100개의 사용자 가상머신(또는 사용자 계정)을 수용할 수 있는 경우에 클라이언트가 180개의 사용자 가상머신(사용자 계정)을 신청하면 해당 클라이언트에 2개의 라우터 가상머신을 제공한다.
S602 단계에서 산정된 라우터 가상머신의 배포 수량만큼, serviceprofile_id를 "rvm"으로 하여 DeploySVM() 메소드를 호출하는 과정(S607)을 반복적으로 수행하여(S603) 라우터 가상머신을 배포한다.
다만, DeploySVM() 메소드를 호출하는 과정(S607) 이전에 가상 데스크톱 서비스가 보안 모드인 경우(S604)에는 라우터 가상머신의 Capabilities를 DHCP, NAT, Routing 만 가능하도록 설정하고(S605), 그렇지 않은 경우에는, DHCP, NAT, Routing, 및 Port Forwarding 모두가 가능하도록 설정할 수 있다(S606).
S602 단계에서 산정된 라우터 가상머신의 배포 수량만큼 라우터 가상머신의 배포가 완료되면, 다음으로 액티브 디렉토리 가상머신의 배포 및 데스크톱 딜리버리 제어 가상머신의 배포를 수행할 수 있으며(S608), 이는 전술한 바와 같이, DeploySVM() 메소드를 호출하는 과정을 포함하여 구현될 수 있다.
본 발명에 따르면, 데이터 센터에서 복수의 사용자 계정을 갖는 기업이나 조직 클라이언트들에게 클라이언트 단위로 서로 물리적으로 분리된 물리적 시스템 자원을 기초로 가상 데스크톱 서비스를 제공하는 데에 있어서, 가상 데스크톱 서비스에 물리적인 시스템 자원을 할당하거나 가상머신을 할당하는 데에 클라이언트의 요구사항을 보다 충실하게 반영할 수 있게 된다.
본 발명에 따른 가상 데스크톱 서비스의 청약 처리 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 첨부된 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 수 있을 것이다. 따라서, 본 발명의 진정한 보호 범위는 첨부된 청구 범위에 의해서만 정해져야 할 것이다.
100: 가상 데스크톱 서비스 시스템
110: 클라이언트별 가상 데스크톱 시스템
111, 112: 라우터 가상머신
113: 액티브 디렉토리 가상머신
114: 데스크톱 딜리버리 제어 가상머신
115: 통신암호화 가상머신
116: 사용자 가상머신들
120: 중앙 관리 시스템
121: VMS
122: Portal
123: VSV
124: VMS-UI
200: 청약 시스템
210: 청약신청수신부
220: 물리서버수량산출부
230: 물리서버할당부
240: 시스템가상머신배포부

Claims (14)

  1. 클라이언트에게 데이터 센터의 물리적 컴퓨팅 자원을 가상화한 가상 컴퓨팅 자원을 이용하여 가상 데스크톱 환경을 제공할 사용자 가상머신의 수량을 포함하는 가상 데스크톱 서비스 청약 신청을 수신하는 청약 수신부;
    상기 가상 데스크톱 서비스 청약 신청에 포함된 정보를 기초로 상기 클라이언트에 할당될 물리 서버 수량을 산출하는 물리서버수량산출부;
    상기 산출된 물리 서버 수량을 기초로 상기 데이터 센터의 가용 물리 서버들 중에서 적어도 하나 이상의 물리 서버를 상기 클라이언트에 할당하는 물리서버할당부;
    상기 할당된 물리 서버에 상기 가상 데스크톱 환경의 기반 인프라를 구성하는 시스템 가상머신을 배포하는 시스템가상머신배포부를 포함하고, 상기 물리서버할당부는 상기 가용 물리 서버들 간의 물리적 거리 또는 상기 가용 물리 서버 각각이 속한 클러스터를 기초로 상기 산출된 물리 서버 수량의 물리 서버를 클라이언트에 할당하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 시스템.
  2. 제1항에 있어서,
    상기 시스템 가상머신은
    상기 사용자 가상머신에 서비스 IP를 할당하여 상기 사용자 가상머신과 외부 네트워크와의 통신을 중개하고, 상기 사용자 가상머신의 사설 네트워크 내에서의 통신을 라우팅하는 적어도 하나 이상의 라우터 가상머신;
    상기 사용자 가상머신과 상기 사용자 가상머신에 접근하는 사용자 계정 사이의 세션을 연결하고 상기 사용자 가상머신에서 제공하는 가상 데스크톱 서비스를 관리하는 데스크톱 딜리버리 제어 가상머신; 및
    상기 사용자 가상머신 및 데스크톱 딜리버리 제어 가상머신 중 적어도 하나 이상에 접근하는 사용자 계정을 인증하는 액티브 디렉토리 가상머신을 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 시스템.
  3. 제1항에 있어서,
    상기 가상 데스크톱 서비스 청약 신청은 상기 가상 데스크톱 환경의 CPU 용량, 메모리 용량 및 스토리지 용량 중 적어도 하나 이상을 포함하는 물리적 자원량 정보를 더 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 시스템.
  4. 제1항에 있어서,
    상기 가상 데스크톱 서비스 청약 신청은 상기 클라이언트와 상기 사용자 가상머신 간의 통신 프로토콜에 대하여 추가적인 암호화를 적용하는 보안 모드 여부를 더 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 시스템.
  5. 제4항에 있어서,
    상기 시스템가상머신배포부는 상기 보안 모드인 경우에 상기 클라이언트와 상기 사용자 가상머신들 간의 통신 프로토콜을 암호화하여 통신 연결하는 통신 암호화 가상머신을 배포하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 시스템.
  6. 제4항에 있어서,
    상기 시스템가상머신배포부는 상기 보안 모드가 아닌 경우에는 상기 사용자 가상머신에 대한 포트 포워딩이 가능한 라우터 가상머신을 배포하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 시스템.
  7. 삭제
  8. 클라이언트에게 데이터 센터의 물리적 컴퓨팅 자원을 가상화한 가상 컴퓨팅 자원을 이용하여 가상 데스크톱 환경을 제공할 사용자 가상머신의 수량을 포함하는 가상 데스크톱 서비스 청약 신청을 수신하는 단계;
    상기 가상 데스크톱 서비스 청약 신청에 포함된 정보를 기초로 상기 클라이언트에 할당될 물리 서버 수량을 산출하는 단계;
    가용 물리 서버들 간의 물리적 거리 또는 상기 가용 물리 서버 각각이 속한 클러스터를 기초로 상기 산출된 물리 서버 수량을 기초로 상기 데이터 센터의 가용 물리 서버들 중에서 적어도 하나 이상의 물리 서버를 상기 클라이언트에 할당하는 물리서버할당 단계;
    상기 할당된 물리 서버에 상기 가상 데스크톱 환경의 기반 인프라를 구성하는 시스템 가상머신을 배포하는 시스템가상머신배포 단계를 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 처리 방법.
  9. 제8항에 있어서, 시스템 가상머신은
    사용자 가상머신에 서비스 IP를 할당하여 상기 사용자 가상머신과 외부 네트워크와의 통신을 중개하고, 상기 사용자 가상머신의 사설 네트워크 내에서의 통신을 라우팅하는 적어도 하나 이상의 라우터 가상머신;
    상기 사용자 가상머신과 상기 사용자 가상머신에 접근하는 사용자 계정 사이의 세션을 연결하고 상기 사용자 가상머신에서 제공하는 가상 데스크톱 서비스를 관리하는 데스크톱 딜리버리 제어 가상머신; 및
    상기 사용자 가상머신 및 데스크톱 딜리버리 제어 가상머신 중 적어도 하나 이상에 접근하는 사용자 계정을 인증하는 액티브 디렉토리 가상머신을 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 처리 방법.
  10. 제8항에 있어서,
    상기 가상 데스크톱 서비스 청약 신청은 상기 가상 데스크톱 환경의 CPU 용량, 메모리 용량 및 스토리지 용량 중 적어도 하나 이상을 포함하는 물리적 자원량 정보를 더 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 처리 방법.
  11. 제8항에 있어서,
    상기 가상 데스크톱 서비스 청약 신청은 상기 클라이언트와 상기 사용자 가상머신 간의 통신 프로토콜에 대하여 추가적인 암호화를 적용하는 보안 모드 여부를 더 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 처리 방법.
  12. 제11항에 있어서,
    시스템가상머신배포 단계는 보안 모드인 경우에 상기 클라이언트와 상기 사용자 가상머신들 간의 통신 프로토콜을 암호화하여 통신 연결하는 통신 암호화 가상머신을 배포하는 단계를 더 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 처리 방법.
  13. 제11항에 있어서,
    상기 시스템가상머신배포 단계는 상기 보안 모드가 아닌 경우에는 상기 사용자 가상머신에 대한 포트 포워딩이 가능한 라우터 가상머신을 배포하는 단계를 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 처리 방법.
  14. 제8항에 있어서,
    상기 물리서버할당 단계는
    상기 가용 물리 서버들 각각이 속한 클러스터 별로 가용 물리 서버들을 분류하여 동일한 클러스터에 속한 가용 물리 서버들을 링크한 클러스터별 가용 물리 서버 리스트들을 산출하는 단계;
    상기 클러스터별 가용 물리 서버 리스트들 각각에 속한 가용 물리 서버의 수량을 기초로 상기 클러스터별 가용 물리 서버 리스트들을 정렬하는 단계;
    상기 정렬된 클러스터별 가용 물리 서버 리스트들 중 상기 가용 물리 서버의 수량이 가장 큰 클러스터별 가용 물리 서버 리스트에 속한 가용 물리 서버를 상기 클라이언트에 할당하는 우선할당단계; 및
    상기 우선할당단계를 상기 클라이언트에 할당된 물리 서버의 개수가 상기 산출된 물리 서버의 수량에 이를 때까지 반복하는 단계를 포함하는 것을 특징으로 하는 가상 데스크톱 서비스 청약 처리 방법.
KR1020130016593A 2013-02-15 2013-02-15 복수의 사용자 계정들을 갖는 클라이언트에 대한 가상 데스크톱 서비스의 청약 시스템 및 청약 처리 방법 KR101529163B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130016593A KR101529163B1 (ko) 2013-02-15 2013-02-15 복수의 사용자 계정들을 갖는 클라이언트에 대한 가상 데스크톱 서비스의 청약 시스템 및 청약 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130016593A KR101529163B1 (ko) 2013-02-15 2013-02-15 복수의 사용자 계정들을 갖는 클라이언트에 대한 가상 데스크톱 서비스의 청약 시스템 및 청약 처리 방법

Publications (2)

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

Family

ID=51747544

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130016593A KR101529163B1 (ko) 2013-02-15 2013-02-15 복수의 사용자 계정들을 갖는 클라이언트에 대한 가상 데스크톱 서비스의 청약 시스템 및 청약 처리 방법

Country Status (1)

Country Link
KR (1) KR101529163B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102149209B1 (ko) * 2020-05-27 2020-08-28 주식회사 두두아이티 가상머신을 제공하는 방법 및 장치
KR102165428B1 (ko) * 2020-06-18 2020-10-14 주식회사 두두아이티 가상머신을 이용하여 콘텐츠를 제공하는 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011186701A (ja) * 2010-03-08 2011-09-22 Nec Corp リソース割当装置、リソース割当方法、およびリソース割当プログラム
KR20120063501A (ko) * 2009-09-30 2012-06-15 알까뗄 루슨트 클라우드 토폴로지 내 기업 확장을 위한 확장 가능 구조
KR20120085433A (ko) * 2011-01-24 2012-08-01 주식회사 엘지씨엔에스 가상 서버 할당 시스템 및 방법
KR20130010248A (ko) * 2011-07-18 2013-01-28 이니텍(주) 클라우드 컴퓨팅 환경에서의 정보 처리 장치 및 정보 처리 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120063501A (ko) * 2009-09-30 2012-06-15 알까뗄 루슨트 클라우드 토폴로지 내 기업 확장을 위한 확장 가능 구조
JP2011186701A (ja) * 2010-03-08 2011-09-22 Nec Corp リソース割当装置、リソース割当方法、およびリソース割当プログラム
KR20120085433A (ko) * 2011-01-24 2012-08-01 주식회사 엘지씨엔에스 가상 서버 할당 시스템 및 방법
KR20130010248A (ko) * 2011-07-18 2013-01-28 이니텍(주) 클라우드 컴퓨팅 환경에서의 정보 처리 장치 및 정보 처리 방법

Also Published As

Publication number Publication date
KR20140102989A (ko) 2014-08-25

Similar Documents

Publication Publication Date Title
EP3391210B1 (en) Scalable tenant networks
US11429463B2 (en) Functional tuning for cloud based applications and connected clients
EP3365780B1 (en) Multi-tenant multi-session catalogs with machine-level isolation
JP6435050B2 (ja) クラウドシステムにおけるリソース管理
US9942273B2 (en) Dynamic detection and reconfiguration of a multi-tenant service
US8862720B2 (en) Flexible cloud management including external clouds
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
US9311162B2 (en) Flexible cloud management
US9450783B2 (en) Abstracting cloud management
US10360410B2 (en) Providing containers access to container daemon in multi-tenant environment
US11196640B2 (en) Releasing and retaining resources for use in a NFV environment
JP5000456B2 (ja) 資源管理システム、資源管理装置およびその方法
US9753786B2 (en) Client server communication system
KR101544487B1 (ko) 복수의 사용자 계정들을 갖는 클라이언트에 대한 가상 데스크톱 서비스 시스템
KR101529163B1 (ko) 복수의 사용자 계정들을 갖는 클라이언트에 대한 가상 데스크톱 서비스의 청약 시스템 및 청약 처리 방법
US20130007094A1 (en) Client server communication system
KR20040075307A (ko) 정책 쿼럼 기반의 그리드 자원 관리 시스템 및 그 방법
Mohapatra et al. Comparison of various platforms in cloud computing
US20150242242A1 (en) Routing job submissions between disparate compute environments
US20180123999A1 (en) Tracking client location using buckets
WO2014058299A1 (en) A system and method for virtual peer to virtual peer networking in a virtualized environment
US11113119B2 (en) Managing computer resources
US20240095865A1 (en) Resource usage monitoring, billing and enforcement for virtual private label clouds

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