KR20140144122A - 클라우드 시스템의 클라이언트 - Google Patents

클라우드 시스템의 클라이언트 Download PDF

Info

Publication number
KR20140144122A
KR20140144122A KR20130125206A KR20130125206A KR20140144122A KR 20140144122 A KR20140144122 A KR 20140144122A KR 20130125206 A KR20130125206 A KR 20130125206A KR 20130125206 A KR20130125206 A KR 20130125206A KR 20140144122 A KR20140144122 A KR 20140144122A
Authority
KR
South Korea
Prior art keywords
virtual
virtual desktop
service
virtual machine
user
Prior art date
Application number
KR20130125206A
Other languages
English (en)
Inventor
오명훈
김대원
김선욱
오수철
조정현
문종배
김성운
김학영
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR20130125206A priority Critical patent/KR20140144122A/ko
Priority to US14/300,463 priority patent/US9489227B2/en
Publication of KR20140144122A publication Critical patent/KR20140144122A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 클라우드 시스템의 클라이언트 장치에 관한 것이다. 본 발명의 일 실시예는, 가상 데스크탑 서비스를 제공하기 위해서 가상 머신을 포함한 가상 데스크탑 서버와 네트워크로 연결되는 연결부; 복수의 장치타입들 중 어느 하나의 장치타입의 클라이언트인지에 따라, 해당 소프트웨어를 구동하여 상기 가상 데스크탑 서버를 접근하도록 하는 제어부; 및 상기 가상 데스크탑 서비스를 제공하는 표출부를 포함하고, 여기서 상기 제어부는, 상기 장치 타입에 따른 운영체제를 부팅할 경우, 사용자의 로그인 패스워드, 패스워드 또는 상기 클라이언트의 IP 주소에 따른 상기 가상 데스크탑 서버에 대한 접근 정보를 이용하여 상기 가상 데스크탑 서버로 로그인 과정을 수행하도록 하고, 상기 가상 데스크탑 서버가 종료될 경우 상기 운영체제를 종료하고 상기 클라이언트의 전력을 차단하고 로그오프 과정를 수행하도록 하고, 상기 제어부는, 상기 가상 데스크탑 서비스를 제공하기 위한 비디오 디코더 또는 오디오 디코더를 지원하도록 하고, 상기 제어부는 상기 가상 데스크탑 서비스 수행 중에 상기 가상 데스크탑 서비스를 수행하기 위한 시스템 리소스를 구성할 수 있도록 하는, 클라우드 시스템의 클라이언트을 제공한다.

Description

클라우드 시스템의 클라이언트{CLIENT DEVICE OF A CLOUD SYSTEM}
본 발명은 클라우드 시스템의 클라이언트 장치에 관한 것이다.
요즈음, 데이터 저장 하드디스크와 애플리케이션 등을 인터넷 공간에 제공하는 서비스로서의 가상 데스크탑 서비스(Virtual Desktop Service)에 대한 연구 및 표준화 활동이 많이 이루어지고 있다.
한국공개특허 제2010-0123847호, 2009-0111576호 및 2009-0111576호 등은 가상 데스크탑 서비스 기술에 대하여 상세히 개시하고 있다.
하지만, 이러한 가상 데스크탑 서비스에 대한 아키텍처(Architecture)가 아직 표준화되지 않고 있는 상황이며, 이로 인해 사용자에게 가상 데스크탑 서비스를 효율적으로 제공하지 못하는 한계점이 있는 실정이다.
한국공개특허 제2009-0108868호는 복수의 가상 머신에 프로세서를 할당할 수 있는 가상 머신 관리 시스템에 관한 기술을 개시하고 있으나, 이 한국공개특허는 가상화 관리를 위한 시스템을 구성하는 방식에는 적용하기가 어려운 한계가 있다.
따라서, 가상화 데스크탑 환경을 제공하고 가상화 데스크탑 시스템을 관리하기 위하여 보다 새로운 기술의 필요성이 절실하게 대두된다.
가상 데스크탑 서비스(VIRTUAL DESKTOP SERVICE)는 데이터를 저장하는 하드 디스크와 응용 프로그램 등을 인터넷 공간에서 제공하는 서비스로서, 가상 데스크탑 서버에서 실행중인 가상 머신을 클라이언트 시스템에 접속하여 사용하는 서비스다.
현재까지는 가상 데스크탑 서비스의 클라이언트 시스템으로 일반 PC를 사용하였다. 그러나, 이러한 종래의 환경에서, 사용자는 클라이언트 시스템의 운영체제를 통하여 전용 소프트웨어를 직접 실행해야만 하는 단점이 있었다.
종래의 가상 데스크탑을 제공함에 있어서, MS(Microsoft)에서 RDP(Remote Desktop Protocol)를 이용하여 RDC(Remote Desktop Connection)라는 터미널 서비스를 제공하는 방식, 리눅스에서는 RFB(Remote Framebuffer) 프로토콜을 이용하여 VNC(Virtual Network Computing)라는 터미널 서비스를 제공하는 방식, Teradici에서 PCoIP(PC-over-IP)라는 프로토콜로 터미널 서비스 솔루션을 제공하는 방식들이 존재하였다.
이러한 종래의 방식을 이용하여 가상 데스크탑 서비스를 수행하기 위하여서는 사용자마다 가상 데스크탑 기능을 제공하여야 하며 이를 제공하기 위하여 각 사용자에게 해당되는 디바이스(CPU, Memory, HDD, USB 등)를 사용자에게 할당하고 사용자용 OS 이미지를 할당하여야 한다.
이런 기능을 제공하기 위하여 공개 툴로서는 virt-tool, virt-manager 등이 존재하며, 시트릭스 사의 xendesktop이나 VMware Fusion 혹은 workstation등의 프로그램을 이용하여 사용자용 가상머신을 만들고 생성 할 수 있으나, 이러한 종래의 방식들은 수동 방식으로 제공되는 툴이기 때문에 실시간 가상서비스를 제공하기 위하여 적합하지 않다.
이러한 배경에서, 본 발명은 가상 데스크탑 서비스를 효율적으로 제공할 수 있는 아키텍처(Architecture)를 제공하는 데 주된 목적이 있다.
본 발명의 일 실시예는, 가상 데스크탑 서비스를 제공하기 위해서 가상 머신을 포함한 가상 데스크탑 서버와 네트워크로 연결되는 연결부; 복수의 장치타입들 중 어느 하나의 장치타입의 클라이언트인지에 따라, 해당 소프트웨어를 구동하여 상기 가상 데스크탑 서버를 접근하도록 하는 제어부; 및 상기 가상 데스크탑 서비스를 제공하는 표출부를 포함하고, 여기서 상기 제어부는, 상기 장치 타입에 따른 운영체제를 부팅할 경우, 사용자의 로그인 패스워드, 패스워드 또는 상기 클라이언트의 IP 주소에 따른 상기 가상 데스크탑 서버에 대한 접근 정보를 이용하여 상기 가상 데스크탑 서버로 로그인 과정을 수행하도록 하고, 상기 가상 데스크탑 서버가 종료될 경우 상기 운영체제를 종료하고 상기 클라이언트의 전력을 차단하고 로그오프 과정를 수행하도록 하고, 상기 제어부는, 상기 가상 데스크탑 서비스를 제공하기 위한 비디오 디코더 또는 오디오 디코더를 지원하도록 하고, 상기 제어부는 상기 가상 데스크탑 서비스 수행 중에 상기 가상 데스크탑 서비스를 수행하기 위한 시스템 리소스를 구성할 수 있도록 하는, 클라우드 시스템의 클라이언트을 제공한다.
상기 표출부는, 상기 가상 데스크랍 서비스 수행 중에 상기 가상 데스크탑 서비스를 수행하기 위한 시스템 리소스를 구성할 수 있도록 하는 CPU 정보, 메모리 정보 및 저장매체 정보를 표출하도록 할 수 있다.
이상에서 설명한 바와 같이 본 발명에 의하면, 가상 데스크탑 서비스를 효율적으로 제공할 수 있는 아키텍처(Architecture)를 제공하는 효과가 있다.
본 발명에 따르면, 가상화 데스크탑 매니저 및 클라이언트 장치를 가지는 DaaS 시스템이 적용되어, 데스크탑 가상화를 이용한 멀티 피씨(PC) 시스템을 이용하여 효율적인 관리가 가능하며, 시스템 적용이 용이하고 기존 가상화 시스템에도 적용가능 할 수 있다.
이와 같이, 본 발명의 한 실시예에 따르면, 클라이언트 시스템의 전원 인가 후 바로 가상 데스크탑 서비스에 접속 가능하며, 가상 데스크탑 서비스의 가상 머신 종료시 클라이언트의 전원도 함께 종료됨으로써, 사용자들은 클라이언트를 구동하는 운영체제 및 가상 데스트탑 클라이언트 소프트웨어를 인지하지 않은채 가상 머신 서비스를 받을 수 있는 환경을 제공한다.
본 발명에 따르면, 가상 데스크탑 서비스를 위하여 사용자에게 할당될 사용자 OS 이미지와 사용자 디스크 이미지를 빠른 시간에 제공할 수 있다.
또한, 미리 준비된 이미지 디스크를 할당하므로, 가상머신 생성 및 이미지 복사 등의 동작을 줄여서 서버 가상화 환경에서 서버 부하를 크게 개선할 수 있다.
도 1은 본 발명의 실시예에 따른 가상 데스크탑 서비스를 위한 서비스 아키텍처를 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 가상 데스크탑 서비스를 위한 서비스 아키텍처에 대한 개념적인 다이어그램이다.
도 3은 본 발명의 실시예에 따른 가상 데스크탑 서비스를 위한 방법에 대한 흐름도이다.
도 4는 본 발명의 실시예에 따른 가상 데스크탑 서비스를 위한 기능상 계층화된 아키텍처를 나타낸 도면이다.
도 5는 본 발명의 실시예에 따른 가상 데스크탑 서비스를 위한 기능상 계층화된 아키텍처에 대한 개념적인 다이어그램이다.
도 6은 본 발명의 일실시예에 따른 데스크탑 가상화 시스템의 구성을 나타내는 도면이다.
도 7는 본 발명의 일실시예에 따른 가상화 데스크탑 매니저 장치를 나타내는 도면이다.
도 8은 본 발명의 일실시예에 따른 가상화 데스크탑 클라이언트 장치를 나타낸 도면이다.
도 9는 본 발명의 일실시예에 따른 가상화 데스크탑 매니저 장치를 통한 관리 방법을 나타낸 흐름도이다.
도 10은 본 발명의 일실시예에 따른 가상화 데스크탑 클라이언트 장치를 통한 관리방법을 나타낸 흐름도이다.
도 11은 가상 데스크탑 서비스 시스템의 전체적인 구조를 도시한 도면이다.
도 12는 본 발명의 한 실시예에 따른 클라이언트 시스템의 전체적인 구조를 도시한 도면이다.
도 13은 본 발명의 한 실시예에 따라 클라이언트 시스템이 가상 데스크탑 서비스에 접속하는 과정을 도시한 흐름도이다.
도 14는 클라이언트 시스템에서의 로그인 화면을 도시한 도면이다.
도 15는 본 발명의 한 실시예에 따라 클라이언트 시스템이 종료되는 과정을 도시한 흐름도이다.
도 16은 본 발명의 실시예에 따른 실시간 가상 데스크탑 서비스를 위한 시스템 구성을 나타낸 도면이다.
도 17는 본 발명의 실시예에 따른 서비스 게이트웨이를 포함하는 가상 데스크탑 서비스를 위한 시스템 구성을 나타낸 도면이다.
도 18은 본 발명의 실시예에 따른 실시간 가상 데스크탑 서비스를 위한 서비스 게이트웨이의 구성을 나타낸 도면이다.
도 19는 본 발명의 실시예에 따른 실시간 가상 데스크탑 서비스를 위한 가상머신 제공 방법을 나타낸 도면이다.
도 20는 본 발명의 실시예에 따른 실시간 가상 데스크탑 서비스를 위한 가상머신 제공 방법의 인터페이스를 나타낸 도면이다.
도 21은 본 발명의 실시예에 따른 실시간 가상 데스크탑 서비스를 위한 가상머신 제공 방법의 인터페이스를 나타낸 도면이다.
도 22는 본 발명의 실시예에 따른 실시간 가상 데스크탑 서비스를 위한 가상머신 제공 방법의 인터페이스를 나타낸 도면이다.
도 23은 본 발명의 실시예에 따른 실시간 가상 데스크탑 서비스를 위한 가상머신 제공 방법의 인터페이스를 나타낸 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
도 1은 본 발명의 실시예에 따른 가상 데스크탑 서비스(Virtual Desktop Service)를 위한 서비스 아키텍처(Service Architecture)를 나타낸 도면이다.
서비스 제공자(Service Provider)의 입장에서 종단-사용자(End-User)에게 가상 데스크탑 서비스를 제공하기 위하여 몇몇의 단계들이 있으며, 이러한 단계들은 도 1에 도시된 바와 같이, 커넥션 브로커(CB: Connection Broker, 110), 리소스 풀(Resource Pool, 120) 및 가상머신 인프라스트럭처(Virtual Machine Infrastructure, 130)를 포함하는 3가지의 주요 액터들(Actors)에 의해 수행될 수 있다.
이하에서는, 3가지의 주요 액터들(Actors)의 기능에 대하여 도 2를 참조하여 설명한다.
도 2는 본 발명의 실시예에 따른 가상 데스크탑 서비스를 위한 서비스 아키텍처에 대한 개념적인 다이어그램(Conceptual Diagram)이다.
도 2를 참조하면, 커넥션 브로커(110)는 사용자 단말(20)이 가상 데스크탑(Virtual Desktop, 200)에 연결되도록 하는 소프트웨어 프로그램일 수 있으며, 사용자 단말(20)과 사용자 단말(20)의 소프트웨어를 승인하기(validate) 위한 사용자 인증(User Authentication, 211) 및 라이센스 확인(License Verification, 212) 기능과, 사용자 단말(20)에 할당되는 가상머신(VM: Virtual Machine)의 관리 기능과, 가상머신의 활동 레벨(Activity Level)을 측정하는 서버의 모니터링 기능(213)과, 사용자 단말(20)과 서버 간에 동일한 프로토콜이 사용되도록 하는 프로토콜 코디네이션(Protocol Coordination, 214) 기능을 수행한다.
이러한 커넥션 브로커(110)는, 백업 스토리지(Backup Storage)와 가상 데스크탑 서비스 서버(Virtual Desktop Servers) 간의 연결(Connection)을 제공할 수 있다.
도 2를 참조하면, 리소스 풀(120)은, 요구형(On-Demand) 가상 데스크탑 서비스를 제공하기 위하여, 운영체제(OS: Operating Systems), 애플리케이션(Applications) 및 사용자 프로파일들(User Profiles) 등과 같은 3개의 다른 타입의 고성능 소프트웨어 리소스들(High-Capacity Software Resources)을 관리할 수 있다. 즉, 리소스 풀(120)은, 도 2에 도시된 바와 같이, 운영체제 풀(OS Pool, 221), 애플리케이션 풀(Application Pool, 222) 및 사용자 프로파일 풀(User Profile Pool, 223) 등을 포함한다.
이러한 리소스 풀(120)에 의해 관리되는 소프트웨어 리소스들은 스트리밍 형태로의 소정의 시간에 특정 가상머신으로 전달되고 특정 가상머신 상에서 실행된다.
그리고, 리소스 풀(120)은 커넥션 브로커(110)에 의한 요청으로 해당 소프트웨어 리소스에 관한 프로비전 정보(Provision Information, 224)를 제공할 수 있다.
위에서 언급한 사용자 프로파일은, 일 예로, 하드웨어 구성(예를 들면, CPU, RAM, I/O 등), 사용되는 운영체제(OS), 선택된 애플리케이션, 사용자의 컴퓨팅 환경 정보(예를 들면, 디스플레이 해상도, 인터넷 액세스 방식 등)에 대한 개별 정보를 포함할 수 있다. 이러한 사용자 프로파일은 사용자별로 관리될 수 있다.
도 2를 참조하면, 가상머신 인프라스트럭처(130)는, 하드웨어 리소스(Hardware Resources, 231)를 지원하고 가상머신(VM: Virtual Machine, 232)을 생성하는 주요 역할을 한다.
가상 데스크탑 서버(Virtual Desktop Server)에서, 일 예로, 하이퍼바이저(Hypervisor, 233)라고도 불리는 가상화 기술(Virtualization Technology)은 위에서 언급한 하드웨어 리소스(231)를 효율적으로 사용하기 위해서 매우 필요할 것이다.
위에서 언급한 하이퍼바이저(233)는 물리적인 하드웨어 리소스들(231)을 추출(Abstract)하여 소프트웨어(234)의 상위 레벨로 동적으로 할당한다.
즉, 이러한 가상머신 인프라스트럭처(130)에서 지원되는 하드웨어 리소스(231)는, 물리적인 하드웨어 리소스(231)를 추출(Abstract)해서 소프트웨어(234)의 상위 레벨로 동적으로 할당하는 가상 데스크탑 서버 내에서의 하이퍼바이저(Hypervisor) 가상화 기술에 의해 효율적으로 사용될 수 있다.
결과적으로, 가상머신 인프라스트럭처(130)는 사용자 단말(20)의 소프트웨어(234)가 동작되는 가상머신들(232)을 제공한다. 이러한 가상머신들을 가상 데스크탑들(Virtual Desktops, 200)이라 한다.
아래에서는, 가상 데스크탑 서비스를 위한 방법을 도 3을 참조하여 설명하고, 이때, 가상 데스크탑 서비스를 위한 서비스 아키텍처에 대한 개념적인 다이어그램을 도시한 도 2를 함께 참조한다.
도 3은 본 발명의 실시예에 따른 가상 데스크탑 서비스를 위한 방법에 대한 흐름도이다.
도 3을 참조하면, 본 발명의 실시예에 따른 가상 데스크탑 서비스를 위한 방법은 사용자 단말 접속 및 사용자 확인 단계(S300), 가상머신 검색 단계(S302), 사용자 프로파일 적용 단계(S308), 세션 생성 단계(S310), 사용자 단말 연결 단계(S312), 경험 정보 커뮤니케이션 단계(S314), 로그-오프 동작 및 사용자 프로파일 업데이트 단계(S316) 등에 따라 진행된다.
사용자 단말 접속 및 사용자 확인 단계(S300)에서는, 사용자 단말(20)이 SSH(Secure Shell) 및 TLS(Transport Layer Security) 등 중 하나 이상의 보안 프로토콜을 통하여 접속되면, 커넥션 브로커(110)는 사용자 ID 및 비밀번호로 해당 사용자를 확인(Validate)한다.
가상머신 검색 단계(S302)에서, 커넥션 브로커(110)는, 가상머신 할당을 위해서, 해당하는 사용자 프로파일(User Profile)을 식별하고, 프로비저닝 기능(Provisioning Function)을 이용하여 사용자 단말(20)의 하드웨어 구성을 만족하고 컴퓨팅 환경에 최적인 가상머신을 검색한다.
이러한 가상머신 검색 단계(S302)에서의 검색 결과에 가상머신 검색 유무를 판단(S304)하여, 적당한 가상머신이 없으면, 커넥션 브로커(110)가 하드웨어 구성에 대한 정보를 전송함으로써 가상머신 인프라스트럭처(130)에게 가상머신 생성을 요청한다. 이에 따라, 가상머신 인프라스트럭처(130)에서 가상머신이 생성된다(S306).
사용자 프로파일 적용 단계(S308)에서, 가상머신이 할당되거나 생성된 이후, 커넥션 브로커(110)는, 사용자 프로파일을 할당되거나 생성된 가상머신에 적용(Apply)한다.
이러한 사용자 프로파일 적용 단계(S308)에서, 커넥션 브로커(110)는 가상 데스크탑(200)을 구성(Construct) 하기 위한 운영체제(OS) 및 애플리케이션을 설치(Installation)할 수 있다.
세션 생성 단계(S310)에서, 가상 데스크탑(200)을 전달하기 위한 세션(Session)이 가상머신 인프라스트럭처(130) 내에서 생성되고, 생성된 세션에 대한 세션 정보가 커넥션 브로커(110)로 디스패치(Dispatch)된다.
사용자 단말 연결 단계(S312)에서, 커넥션 브로커(110)는 세션 정보를 사용자 단말(20)로 전송하고, 사용자 단말(20)은 가상머신 인프라스트럭처(130)와 연결된다.
경험 정보 커뮤니케이션 단계(S314)에서, 사용자 단말(20)은 가상 데스크탑 전송 프로토콜(VDDP: Virtual Desktop Delivery Protocol)을 이용하여 가상 데스크탑(200)에 의해서 사용자들의 경험(Experience) 정보를 커뮤니케이션(Communication)한다.
로그-오프 동작 및 사용자 프로파일 업데이트 단계(S316)에서, 사용자 단말(20)은 가상 데스크탑 서비스가 종료될 때 사용자 데이터의 손실을 방지하기 위하여 로그-오프(Log-Off) 동작을 실행하고, 이러한 로그-오프 동작 도중에, 커넥션 브로커(110)는 변경된 사용자 프로파일을 사용자 프로파일 풀(User Profile Pool, 223) 내에 업데이트한다.
이러한 로그-오프 동작 및 사용자 프로파일 업데이트 단계(S316)에서, 커넥션 브로커(110)는 해당 가상머신이 이용 가능한 상태가 되도록 해당 가상머신을 리턴(Return) 시킬 수 있다.
이하에서는, 본 발명의 실시예에 따른 가상 데스크탑 서비스의 기능상 레이어(Functional Layer)에 대하여 도 4 및 도 5를 참조하여 설명한다.
도 4는 본 발명의 실시예에 따른 가상 데스크탑 서비스를 위한 기능상 계층화된 아키텍처(Functional Layered Architecture)를 나타낸 도면이다.
도 4를 참조하면, 본 발명의 실시예에 따른 가상 데스크탑 서비스를 위한 기능상 계층화된 아키텍처는, 사용자 레이어(User Layer, 410), 클라우드 액세스 및 퍼블리케이션 레이어(Cloud Access and Publication Layer, 420), 클라우드 네트워크 서비스 오케스트레이션 레이어(Cloud Network Service Orchestration Layer, 430), 클라우드 서비스 레이어(Cloud Services Layer, 440) 및 리소스 레이어(Resource Layer, 450) 등의 기능적인 레이어(Functional Layer)를 포함한다.
아래에서는, 위에서 언급한 기능적인 레이어 각각에 대하여 도 5를 참조하여 설명한다.
도 5는 본 발명의 실시예에 따른 가상 데스크탑 서비스를 위한 기능상 계층화된 아키텍처를 나타낸 도면이다.
도 5를 참조하면, 사용자 레이어(410)는, 사용자 단말(50)과 클라우드 인프라스트럭처(Cloud Infrastructure) 간의 인터랙션(Interaction)을 수행하고, 클라우드 서비스 요청을 전송하며, 클라우드 서비스 액세스를 수행하고, 클라우드 리소스를 관리하거나 모니터하기 위해 사용되고, 종단 사용자 기능(End User Function, 511), 단말 적응 기능(Terminal Adaptation Function, 512), 관리 기능(Administration Function, 513), 파트너(510)와의 파트너 기능(Partner Function, 514) 및 인터-클라우드 기능(Inter-Cloud Function, 515) 등을 포함한다.
클라우드(Cloud)가 클라우드 서비스 요청을 수신할 때, 클라우드는 인터-클라우드 기능(515)을 통해 자신의 리소스 또는 다른 클라우드의 리소스를 조직(Orchestrate)하고, 클라우드 서비스를 사용자 레이어(515)를 통해 제공한다.
종단 사용자 기능(511)은 종단 사용자, 즉 사용자 단말(50)이 클라우드 서비스에 액세스하고 클라우드 서비스를 소비(consume)하도록 지원한다.
관리 기능(513)은 기업 관리자가 비즈니스 프로세스 내에서 클라우드 리소스 및 서비스를 관리하는 것을 지원한다.
파트너 기능(514)은 클라우드 서비스 공급자를 통해 파트너 관계를 가능하게 한다.
50인터-클라우드 기능(515)은 여러 개의 CSP(Cloud Service Provider)들의 클라우드들과 인터커넥트(Interconnection)하기 위하여 인터커넥션 인터페이스(Interconnection Interface) 및 브로커(Broker) 기능을 제공한다. 이러한 인터-클라우드 기능(515)은 인터-클라우드 서비스 브로커 기능(Inter-Cloud Service Broker function), 인터-클라우드 포털 기능(Inter-Cloud Portal function) 등을 포함한다.
인터-클라우드 브로커 기능은 다른 CSP들(52)의 클라우드 서비스 및 리소스에 접근하기 위하여 클라우드 사용자들 또는 애플리케이션들에 대한 대체 가능한 솔루션(Alternative Solution)을 제공한다.
가상 데스크탑 서비스를 위한 사용자 단말은 랩탑(Laptop), 데스크탑 PC, 씬 클라이언트(Thin Client), 모바일 폰 등과 같이 다양한 종류일 수 있다.
또한, 단말 적응(Terminal Adaptation)은 다른 대역 환경에서 다른 주변기기(Peripherals)를 가지는 다양한 해상도 중에서 단말 장치가 적당한 데스크탑을 제공할 수 있도록 하는 기능을 의미한다.
도 5를 참조하면, 클라우드 액세스 및 퍼블리케이션 레이어(420)는, 수동 및 자동화된 클라우드 액션 및 소비(Cloud Actions and Consumption)를 위해 커먼 인터페이스(Common Interface)를 제공하고, 클라우드 서비스 제공자(CSP: Cloud Service Provider)들의 서비스 및 리소스에 액세스하기 위한 클라우드 애플리케이션 프로그램 인터페이스(API: Application Program Interface)들을 사용하여 소비자 또는 비즈니스 프로세스들의 클라우드 서비스 소비 요청을 수락하고, 네트워크 종료 기능(Network termination function), API 종료 기능(API termination function) 및 인터-클라우드 중재 기능(Inter-Cloud Mediation function) 등을 포함한다.
도 5를 참조하면, 클라우드 네트워크 서비스 오케스트레이션 레이어(430)는, 전체 정보 시스템 환경으로의 접근 또는 네트워크를 통한 원격 클라이언트 디바이스로의 접근을 인캡슐레이션(Encapsulation) 하고 전달하는 가상 데스크탑 전송 기능(Virtual Desktop Delivery Function, 531)과, 커넥션 브로커가 사용자 데스크탑 세션을 인증하기 위하여 디렉토리 서버를 참조(Consult)함으로써 다른 보안 레벨에 대한 개인화된 애플리케이션의 조합으로 승인된 접근을 제공하는 인증(Authentication) 엔티티(Entity), 사용자 단말과 가상 데스크탑 간에 다양한 통신 프로토콜이 있을 수 있는데, 커넥션 브로커가 사용자 데스크탑 세션이 인증 이후에 데이터 및 비디오 전송을 위한 공통 통신 프로토콜이 사용자 단말과 가상 데스크탑 간에 사용되도록 코디네이트하는 기능을 수행하는 코디네이션(Coordination) 엔티티, 커넥션 브로커가 가상머신의 런타임(Runtime) 상태 모니터링을 수행하고 필요한 애플리케이션에 대한 동작 환경을 보장하는 액션을 수행하는 모니터링 및 관리(Monitoring and Management) 엔티티, 및 커넥션 브로커가 사용자 단말(50)로 하여금 가상 데스크탑에 호스트되어 있는 승인된 애플리케이션에 접근할 수 있도록 하기 위하여 소프트웨어 라이센스 확인 기능을 제공하는 확인(Verification) 엔티티로 구성된 커넥션 브로커 기능(Connection Broker Function, 532) 등을 포함한다.
56전술한 가상 데스크탑 전송 기능(Virtual Desktop Delivery Function, 531)에서, 가상 데스크탑 전송 프로토콜(VDDP)는 가상 데스크탑 전송 기능(531)의 핵심 구성요소이며, 일 예로, 디스플레이, 입력, 커서, 제어 및 구성, 모니터링 정보 등의 모든 상호작용 정보(인터랙션 정보)를 전달하기 위해서 DaaS(Desktop as a Service)를 위한 서버와 사용자 단말(50) 사이에 통신 채널을 제공한다.
또한, 전술한 모니터링 및 관리(Monitoring and Management) 엔티티에서 커넥션 브로커는, 새로 도달한 요청에 대하여 새로운 아이들(Idle) 가상머신 인스턴스(Virtual Machine Instance)를 할당하거나, 또는 시스템 실패(Failure)로부터 복구된 이후에 클라이언트 측 디바이스에 의해 제기된 요청에 대하여 이전 인스턴스(Previous Instance)를 할당하도록 가상머신 인프라스트럭처에게 지시하고, 커넥션 브로커가 새로운 로그인 사용자 세션(Login User Session)을 위하여 새로운 클라우드 가상머신을 준비하도록 가상머신 인프라스트럭처에게 요청할 수 있다.
전술한 클라우드 네트워크 서비스 오케스트레이션 레이어(430)는, 기록 기능(Records Function, 533), 구성 기능(Configuration Function, 534) 등을 더 포함한다.
59도 5를 참조하면, 클라우드 서비스 레이어(440)는, 광대역 네트워크를 통해서 사용자 단말(50)에게 가상 데스크탑 서비스를 제공하는 DaaS(Desktop as a Service) 기능(541)과, 게스트 OS(Guest OS) 및 애플리케이션이 직렬화되어(Serialized) 저장되어 있는 광역 리소스 저장(Repository) 또는 저장 서버 세트(Repository Server Set) 이고, 클라우드 가상머신이 가상머신 인프라스트럭처에서 생성되도록 하는 가상 템플릿을 생성하기 위한 시각화된 모델링 툴(Visualized Modeling Tool)을 구비하며, 실행중인 가상 데스크탑으로부터 필요하고 운영체제, 애플리케이션 소프트웨어, 사용자 프로파일 및 시스템 구성을 포함하는 리소스를 동적으로 어셈블(Assemble)하고 해당되는 이미지 파일을 생산하는 능력을 가지고, 상기 가상머신 인프라스트럭처와의 통신을 가능하게 하고 직렬화된 이미지 파일로부터 원격에서 가상 데스크탑을 생성하는 것을 가능하게 하는 네트워크 기반의 부트 스트랩 프로토콜(Boot Strap Protocol)을 지원하는 리소스 풀(Resource Pool) 기능(545)을 포함한다.
전술한 클라우드 서비스 레이어(440)는, 도 5에 도시된 바와 같이, 서비스 오케스트레이션 기능(Service Orchestration function, 542), 서비스 퍼블리케이션 기능(Service Publication function, 543) 및 서비스 적응 기능(Service Adaptation function, 544) 등을 더 포함할 수 있다.
도 5를 참조하면, 리소스 레이어(450)는, 컴퓨팅 리소스, 저장 리소스, 네트워크 리소스, 파워 리소스(Power Resource) 및 클라우드 컴퓨팅 환경 내에 필수적인 다른 구성들(Facilities)을 포함하는 물리적인 리소스(Physical Resource, 551)와, 가상머신, 가상 네트워크 리소스 및 가상 스토리지 리소스를 포함하는 가상 리소스(Virtual Resource, 552)를 가진다.
가상머신은 XEN, KVM 등과 같은 각각 다른 서버 가상화 기술(Server Virtualization Technologies)에 의하여 가상머신 인프라스트럭처(553) 내에 생성되는 가상화 머신을 의미한다.
도 5를 참조하면, 본 발명의 실시예에 따른 가상 데스크탑 서비스를 위한 기능상 계층화된 아키텍처는 모니터링 및 SLA 기능과 관리, 지원 및 보안 기능을 포함하는 크로스 레이어 기능(Cross Layer Function, 560)을 더 제공할 수 있다.
위에서 언급한 가상머신 인프라스트럭처(553)는 HA 특성을 가지는 클러스트 환경을 의미하며, 그 내부에서는 많은 실행 가상머신 인스턴스가 동일한 가상머신 템플릿(Template)으로부터 생성되어 동일한 파라미터로 구성되어 있다. 거의 모든 가상머신 인프라스트럭처(553)는 가상머신 이동 능력(Migration Capability)을 제공하고 있어서, 비즈니스 연속성을 유지하기 위하여 시스템 실패(Failure)의 경우 실행중인 인스턴스가 다른 호스팅 서버로 이동하는 것을 가능하게 한다.
본 명세서에서 기재된 가상 데스크탑 서비스(Virtual Desktop Service)는 데이터 저장 하드디스크와 애플리케이션 등을 인터넷 공간에 제공하는 서비스일 수 있으며, 즉, 개인용 PC 또는 업무용 데스크탑을 실제 물리적 하드웨어를 이용하는 것이 아니라 데스크탑 가상화 기술을 적용하여 가상머신을 이용한 데스크탑 서비스일 수 있다. 이때 생성된 데스크탑 용 가상머신은 인터넷 데이터 센터 등 원격에 위치하고 언제 어디서나 마치 로컬 데스크탑처럼 사용이 가능하다.
본 명세서에서 기재된 가상 데스크탑 서비스(Virtual Desktop Service)는 DaaS(Desktop as a Service) 서비스 또는 클라우드 컴퓨팅(Cloud Computing) 서비스 또는 클라우드 데스크탑 서비스(Cloud Desktop Service) 등일 수 있다.
본 발명의 실시예에 따른 가상 데스크탑 서비스를 위한 아키텍처(서비스 아키텍처 및 기능상 계층화된 아키텍처)는, 가상 데스크탑 서비스를 사용자 단말로 제공하는 시스템(System) 또는 서버(Server)의 설계 방식이거나, 가상 데스크탑 서비스를 사용자 단말로 제공하는 시스템(System) 또는 서버(Server) 그 자체일 수도 있다.
도 6은 본 발명의 일실시예에 따른 데스크탑 가상화 시스템의 구성을 나타내는 도면이다.
도 6을 참고하면, 본 발명의 일실시예에 따른 데스크탑 가상화 시스템(이하, DaaS 시스템이라고도 한다.)은 가상화 데스크탑 매니저 장치(1000) 및 가상화 데스크탑 클라이언트 장치(2000)를 포함하여 구성된다.
가상화 데스크탑 매니저 장치(1000)는 사용자의 요청에 따라 가상화 데스크탑 클라이언트 장치(2000)에 가상화 데스크탑 서버를 할당하고 가상 머신의 생성, 관리, 소멸 및 마이그레이션을 관리하는 기능을 제공한다.
가상화 데스크탑 매니저 장치(1000) 및 가상화 데스크탑 클라이언트 장치(2000)의 세부구성은 이하 도 7 및 도 8을 통해서 상세히 후술한다.
도 7은 본 발명의 일실시예에 따른 가상화 데스크탑 매니저 장치를 나타내는 도면이다.
도 7을 참고하면, 본 발명의 일실시예에 따른 가상화 데스크탑 매니저 장치(1000)는 연결모듈(1100), 할당모듈(1200), 관리모듈(1300) 및 웹 서버모듈(1400)을 포함하여 구성된다.
연결모듈(1100)은 사용자 인증을 완료한 사용자에 대하여 가상화 데스크탑 클라이언트 장치(2000)와 가상화 데스크탑 서버의 연결을 허용한다.
DaaS 시스템을 통해 사용자가 원격으로 가상화 데스크탑 서비스를 제공받기 위해서는 가상화 데스크탑 서버와 연결시켜주는 연결모듈(1100)과 접속을 한다.
이 때, 연결모듈(1100)은 사용자 인증에 따라 접속을 하게 된 사용자에 한하여 사용자의 요청 정보와 현재 시스템을 구성하는 가상화 데스크탑 서버의 가상 머신 정보를 통해서 임의의 가상 머신의 할당을 허용한다.
또한, 연결모듈(1100)은 가상화 데스크탑 서버의 할당 이후, 할당된 가상 머신의 원격 접속 프로토콜을 이용한 가상화 데스크탑 환경의 연결 기능 및 화면 리다이렉션 기능을 제공할 수 있다.
또한, 연결모듈(1100)은 사용자에 의하여 할당된 가상 머신의 사용이 끝나면, 사용자가 원하는 시점에 다시 접속 가능하도록 사용자 계정에 따른 현재 환경 설정을 저장하고 가상화 데스크탑 연결 기능을 제거 하고 화면 리다이렉션 기능도 제거할 수 있다.
할당모듈(1200)은 가상화 데스크탑 서버의 운용 상태를 파악해서 가상화 데스크탑 클라이언트 장치(2000)에 최적의 가상화 데스크탑 서버를 할당한다.
이 때, 할당모듈(1200)은 연결모듈(1100)을 통해 가상화 데스크탑 서비스를 요청하는 원격 사용자에게 최상의 가상화 데스크탑 서비스를 지원하는 가상 머신을 할당하기 위해서 가상화 데스크탑 서버들의 자원 사용 및 가상 머신의 할당 정보를 실시간 모니터링하는 가상 머신 프로비져닝 기능을 제공할 수 있다.
이 때, 할당모듈(1200)은 DaaS 시스템을 구성하는 가상화 데스크탑 서버들의 자원 할당 상태, 사용 정보 및 생성된 가상 머신들의 사용 여부를 실시간으로 모니터링할 수 있다.
이 때, 할당모듈(1200)은 원격 사용자에게 최상의 사용자 맞춤형 가상화 데스크탑 서버를 제공하며, 가상 머신에 대한 문제 발생시 실시간으로 다른 가상 머신을 할당할 수 있다.
이 때, 할당모듈(1200)은 가상머신의 운용을 위한 이미지와 가상화 데스크탑 클라이언트 장치(2000)의 사용자용 디스크 이미지를 분리하여 가상화 데스크탑 서버를 할당할 수 있다.
관리모듈(1300)은 가상화 데스크탑 서버 및 가상 머신의 운용 상태를 모니터링하고, 가상화 데스크탑 서버의 제어 명령을 수행한다.
웹 서버모듈(1400)은 사용자에게 웹 기반의 관리 툴 GUI를 제공한다.
도 8은 본 발명의 일실시예에 따른 가상화 데스크탑 클라이언트 장치를 나타낸 도면이다.
도 8을 참고하면, 본 발명의 일실시예에 따른 가상화 데스크탑 클라이언트 장치(2000)는 하이퍼바이저(2100), 모니터링 정보 수집기(2300), 하드웨어 프로파일 수집기(2400), 성능 측정기(2500) 및 명령실행부(2600)를 포함하여 구성된다.
이 때, 모니터링 정보 수집기(2300), 하드웨어 프로파일 수집기(2400), 성능 측정기(2500) 및 명령실행부(2600)는 가상화 데스크탑 에이전트(2050)로 구성될 수 있다.
하이퍼바이저(2100)는 하드웨어 위로 1 이상의 가상 머신(2200)을 수용한다.
하이퍼바이저(2100)는 프로그래밍된 데몬을 이용하여 가상 머신(2200) 및 가상화 데스크탑 에이전트(2050)의 구성들과 통신할 수 있다.
이 때, 가상 머신(2200)의 타입은 전가상화 또는 반가상화 형태로 구성할 수 있다.
모니터링 정보 수집기(2300)는 가상 머신(2200)을 모니터링한다.
하드웨어 프로파일 수집기(2400)는 가상화 데스크탑 클라이언트 장치(2000)의 하드웨어 정보 및 OS레벨 정보를 수집한다.
성능 측정기(2500)는 모니터링 정보 수집기(2300)에서 모니터링 된 정보를 이용하여 가상 머신(2200)의 성능 정보를 계산한다.
명령실행부(2600)는 가상화 서버로부터 전달되는 제어 명령어를 버퍼링하고 실행한다.
이 때, 가상머신의 제어와 관련된 제어 명령어는 프로그래밍된 데몬을 통하여 제어되고, 가상화 데스크탑 클라이언트 장치(2000)에 관련된 명령어는 하이퍼바이저(2100) 및 OS레벨에서 처리될 수 있다.
한편, 가상화 데스크탑 시스템의 네트워크 프로토콜은 TCP/UDP를 사용하고, 관리상의 구동방법은 이하 도 9 및 도 10를 통하여 상세하게 후술한다.
도 9는 본 발명의 일실시예에 따른 가상화 데스크탑 매니저 장치를 통한 관리 방법을 나타낸 흐름도이다.
도 9를 참고하면, 본 발명의 일실시예에 따른 가상화 데스크탑 매니저 장치를 통한 관리 방법은 우선, 사용자에 의해 가상화 데스크탑 매니저 장치(1000)에 새로운 서버가 등록된다(S1000).
한편, 새로운 서버의 등록 방법을 설명하면 우선, 사용자가 가상화 데스크탑 클라이언트 장치(2000)에서 접속을 시도하여 새로운 사용자의 경우 연결모듈(1100)에 접속을 한다. 이후, 회원가입 절차를 통하여 회원 ID 및 패스워드를 부여 받는다. 사용자는 부여 받은 접속ID로 가상화 데스크탑 매니저 장치(1000)에 접속하고, 가상화 데스크탑 매니저 장치(1000)는 새로운 이미지를 생성한다. 가상화 데스크탑 매니저 장치(1000)는 새로운 이미지의 경우, 기존 사용자 패턴에 맞는 미리 설정(Preset)된 가상화 이미지로 선택하거나, 사용자가 원하는 CPU, Memory, HDD의 설정을 통해 이미지 생성을 한다. 생성된 이후 정보는 연결모듈(1100)이 가지고 있게 되고 서비스를 위하여 생성된 이미지로 연결모듈(1100)이 리다이렉션 기능을 관리모듈(1300)에 요청하고 이후 직접 관리는 관리모듈(1300)에서 지속적으로 진행한다.
이후, 가상화 데스크탑 매니저 장치(1000)는 브로드캐스트 방식으로 동일한 네트워크에 등록되어 있는 모든 서버에 가상화 데스크탑 매니저 장치(1000)의 IP와 접속 포트를 송신한다.(S1100)
이 때, 가상화 데스크탑 매니저 장치(1000)의 서버의 IP 변경 시 등록된 클라이언트 장치들의 변경 없이 전송하기 위하여, 가상화 데스크탑 매니저 장치(1000)의 IP와 접속 포트의 전송은 새로운 서버의 접속이 없을 경우에, 소정의 간격으로 한번씩 전송 및 재전송할 수 있다.
이후, 가상화 데스크탑 매니저 장치(1000)는 TCP Server로 구동되며, 브로드 캐스트한 포트에 대한 Listen을 수행한다.(S1200)
이후, 가상화 데스크탑 클라이언트 장치(2000)로부터 수신한 연결 요청 메시지(TCP Connection)를 받으면(S1300), 해당 클라이언트 장치가 관리 서버에 등록된 클라이언트 장치 IP인지 확인한다.(S1400)
이 때, 등록되지 않은 클라이언트 장치의 IP일 경우 TCP 연결을 처리하지 않는다.(S1500)
한편, 등록된 IP일 경우 클라이언트 장치로부터 접속코드를 수신한다(S1600).
이 때, 접속 코드는 가상화 데스크탑 매니저 장치의 GUI를 통해 수정이 가능하도록 구성할 수 있다.
이후, 가상화 데스크탑 클라이언트 장치(2000)로부터 전송된 접속 코드를 비교하여 일치 여부에 대한 정보를 접속을 시도한 클라이언트 장치에 전송한다(S1700).
이 때, 접속 코드에 대한 일치 여부의 전송 결과는, 일치하는 경우에는 1, 일치하지 않는 경우에는 0이라는 결과값으로 전송할 수 있다.
한편, 접속 코드가 일치하지 않으면 일치하지 않는다는 결과를 전송 후, 해당 연결을 해제한다.(S1800)
반대로 접속 코드가 일치하는 경우, 접속코드가 일치한다는 결과를 알리고(S1900), 가상화 데스크탑 클라이언트 장치의 가상화 데스크탑 에이전트가 제대로 동작하는지 확인한다.(S2000)
이 때, 별도의 쓰레드 혹은 프로세스를 통해서 접속한 가상화 데스크탑 에이전트의 접속 지속 여부를 확인할 수 있다.
이 때, TCP의 킵어라이브(keepalive) 기능 이용하여 데이터의 전송이 없더라도 연결을 유지하도록 구성할 수 있다.
도 10는 본 발명의 일실시예에 따른 가상화 데스크탑 클라이언트 장치를 통한 관리방법을 나타낸 흐름도이다.
도 10를 참고하면, 본 발명의 일실시예에 따른 가상화 데스크탑 클라이언트 장치를 통한 관리 방법은, 우선 가상화 데스크탑 매니저 장치(1000)와 접속하기 위하여 가상화 데스크탑 에이전트는, 첫 구동 시에 가상화 데스크탑 매니저 장치(1000)로부터 전송되는 IP와 포트 정보에 대하여 수신 대기한다.(S3000)
이 때, 가상화 데스크탑 에이전트 구동 시, 브로드 캐스트 리시버 코드가 처음 수행되며, TCP 연결 후 가상화 데스크탑 에이전트의 구동 중 TCP 연결이 끊기게 되면 다시 브로드 캐스트 리시버 코드 부분이 수행되도록 구성할 수 있다.
이후, 브로드 캐스트를 통해 가상화 데스크탑 매니저 장치(1000)의 IP 주소 및 포트를 수신하고(S3010), 수신된 IP주소 및 포트를 이용하여 가상화 데스크탑 매니저 장치(1000)에 접속을 요청한다.(S3020)
이후, 연결이 완료되면 가상화 데스크탑 매니저 장치(1000)로 접속 코드를 전송한다.(S3030)
이 때, 접속 코드는 별도의 파일로 저장할 수 있다.
이후, 접속 코드 처리 결과를 기다리고, 접속 오류인 경우 접속이 끊어지므로 브로드 캐스트 리시버 코드를 다시 수행한다.
도 11은 가상 데스크탑 서비스 시스템의 전체적인 구조를 도시한 도면이다.
도 11을 참조하면, 본 발명의 일실시예에 따른 가상 데스크탑 서비스 시스템은 가상 데스크탑 서버(3200)와 복수개의 클라이언트 시스템(3100)으로 구성되며, 가상 데스크탑 서버(3200)와 복수개의 클라이언트 시스템(3100)은 네트워크로 연결되어 있다.
가상 데스크탑 서버(3200)에서는 하이퍼바이저(220)가 설치되고, 하이퍼바이저(220)상에 가상 데스크탑 서비스를 위한 가상 머신(210)을 수행한다. 그리고, 사용자는 클라이언트 시스템(3100)을 사용하여 가상 데스크탑 서버(3200)상의 가상 머신(210)에 접속한다. 가상 머신(210)의 실제 수행은 가상 데스크탑 서버(3200)상에서 이루어지며, 사용자 입출력 작업만이 클라이언트 시스템(3100)에서 수행된다.
도 12는 본 발명의 한 실시예에 따른 클라이언트 시스템의 전체적인 구조를 도시한 도면이다.
도 12를 참조하면, 클라이언트 시스템(3100)의 하드웨어(3150)는 CPU(3150a), 메모리(3150b), 저장장치(3150c), 비디오 장치(3150d), 키보드(3150e), 마우스(3150f), 오디오 입력 장치(3150g), 오디오 출력 장치(3150h) 및, 네트워크 장치(3150i)로 구성된다.
여기서, 저장장치(3150c)는 클라이언트 운영체제(3140) 및 가상 데스크탑 클라이언트 소프트웨어(3110)만을 탑재하며, 이들을 저장할 수 있는 최소의 용량을 탑재한다.
그리고, 운영체제(3140)는 클라이언트 시스템의 하드웨어(3150)를 관리하고 클라이언트 소프트웨어(3110) 수행을 위한 환경을 제공한다.
클라이언트 소프트웨어(3110)는 가상 머신 입출력 처리기(120)와 가상 머신 접속 관리자(3130)로 구성된다.
가상 머신 입출력 처리기(120)는 비디오 채널 처리기(120a), 커서 채널 처리기(120b), 키보드/마우스 채널 처리기(120c), 오디오 입력 채널 처리기(120d), 오디오 출력 채널 처리기(120e) 및, 채널 데이터 송수신기(120f)로 구성된다.
그리고, 가상 머신 접속 관리자(3130)는 가상 데스크탑 로그인 처리기(3130a) 및 운영체제 종료 처리기(3130b)로 구성된다.
도 13은 본 발명의 한 실시예에 따라 클라이언트 시스템이 가상 데스크탑 서비스에 접속하는 과정을 도시한 흐름도이다.
도 13을 참조하면, 클라이언트 시스템(3100)에 전원이 인가되면 클라이언트를 관리하는 운영체제(3140)가 수행된다(S3100). 운영체제(3140)가 부팅되면(S3110), 운영체제 자동 로그인 처리기(3140a)에 의해서 운영체제(3140)의 로그인이 자동으로 수행된다(S3120).
이후, 클라이언트 소프트웨어 실행기(3140b)가 가상 데스크탑 클라이언트 소프트웨어(3110)를 자동으로 수행한다(S3130). 가상 데스크탑 클라이언트 소프트웨어(3110)가 수행되면 가상 데스크탑 로그인 처리기(3130a)가 수행된다(S3140).
가상 데스크탑 로그인 처리기(3130a)가 가상 데스크탑 서버(3200)에 접속하기 위해서는 가상 머신(210)의 아이디, 비밀번호 및, 가상 데스크탑 서버(3200)의 아이피주소를 알아야 한다. 이를 사용하여 로그인을 수행하고, 로그인이 성공하면, 해당 가상 머신(210)에 접속하여 사용할 수 있다(S3150).
가상 머신(210)의 아이디, 비밀번호, 가상 데스크탑 서버(3200)의 아이피주소를 입력받은 방법은 로그인 화면을 이용하거나, 클라이언트 시스템(3100)의 저장장치(3150c)를 이용하는 2가지를 방식을 선택할 수 있다.
도 14는 클라이언트 시스템에서의 로그인 화면을 도시한 도면이다.
본 발명은, 도 14에서와 같이, 로그인 화면을 사용하여 가상 머신(210)의 아이디, 비밀번호 및, 가상 데스크탑 서버(3200)의 아이피 주소를 입력 받아 로그인할 수도 있다.
그리고, 본 발명은 가상 머신(210)의 아이디, 비밀번호 및, 가상 데스크탑 서버(3200)의 아이피 주소를 클라이언트 저장장치(3150C)에 저장한 후, 해당 파일에서 자동으로 가져올 수도 있다. 이 경우에는 로그인 화면을 사용하지 않고, 바로 가상 머신(210)으로 접속할 수 있다.
도 15는 본 발명의 한 실시예에 따라 클라이언트 시스템이 종료되는 과정을 도시한 흐름도이다.
도 15를 참조하면, 사용자가 가상 머신(210)의 시스템 종료 명령을 수행한다(S3200). 그러면, 가상 데스크탑 서버(3200)의 가상 머신(210)이 종료된다(S3210).
이후, 가상 데스크탑 클라이언트 소프트웨어(3110)의 운영체제 종료처리기(3130b)가 가상 머신(210)이 종료된 것을 인지한 후, 클라이언트 시스템(3100)의 시스템 종료를 명령한다.
그러면, 클라이언트 시스템(3100)의 운영체제(3140)가 종료되고(S3220), 클라이언트 시스템(3100)의 전원도 꺼진다(S3230).
여기서, 가상 데스크탑 서버(3200)의 가상 머신(210)과 클라이언트 시스템(3100) 사이의 데이터 교환은 아래에 설명된 채널을 통하여 이루어진다.
비디오 채널은 모니터상의 화면을 가상 머신(210)에서 클라이언트 시스템(3100)으로 전송하며, 커서 채널은 모니터상의 화면에 보이는 마우스 커서를 가상 머신(210)에서 클라이언트 시스템(3100)으로 전송한다.
그리고, 키보드/마우스 채널은 클라이언트 시스템(3100)의 키보드/마우스 입력을 가상 머신(210)으로 전송한다.
또한, 오디오 입력 채널은 클라이언트 시스템(3100)의 오디오 입력을 가상 머신(210)으로 전송하며, 오디오 출력 채널은 가상 머신(210)의 오디오 출력을 클라이언트 시스템(3100)으로 전송한다.
그리고, 채널 데이터 송수신기(120f)는 채널 데이터 송신기 및 채널 데이터 수신기로 구성된다.
가상 데스크탑 서버(3200)는 가상 머신(210)의 각 채널에 해당하는 데이터들을 클라이언트 시스템(3100)으로 전송한다. 클라이언트 시스템(3100)의 채널 데이터 수신기를 통하여 가상 머신(210)의 데이터가 도착하며, 각 데이터를 해당하는 채널 처리기로 보낸다.
비디오 채널 처리기(3120a)는 비디오 장치(3150d)를 사용하여 모니터상에 화면을 출력하며, 커서 채널 처리기(3120b)는 마우스 커서를 지정된 모니터상의 위치에 출력한다.
그리고, 오디오 출력 채널 처리기(3120e)는 오디오 출력 장치(3150h)를 사용하여 오디오를 출력하며, 채널 데이터 송신기(3120f)는 클라이언트 시스템(3100)의 입력데이타를 가상 머신(210)으로 전송한다.
키보드/마우스 채널 처리기(3120c)는 클라이언트 시스템(3100)의 키보드/마우스 입력을 채널 데이터 송신기(3120f)를 통하여 가상 머신(210)으로 전송한다.
그리고, 오디오 입력 채널 처리기(3120d)는 오디오 입력 장치(3150g)에서 수신한 데이터를 채널 데이터 송신기(3120f)를 통하여 가상 머신(210)으로 전송한다.
이와 같이, 본 발명은 클라이언트 시스템(3100)의 전원 인가 후 바로 가상 데스크탑 서비스에 접속 가능하며, 가상 데스크탑 서비스의 가상 머신(210) 종료시 클라이언트 시스템(3100)의 전원도 함께 종료됨으로써, 사용자들은 클라이언트 시스템(3100)을 구동하는 운영체제(3140) 및 가상 데스트탑 클라이언트 소프트웨어(3110)를 인지하지 않은 채, 가상 머신 서비스를 받을 수 있는 환경을 제공한다.
따라서, 본 발명은 가상 데스크탑 서비스를 위한 전용 클라이언트의 구조를 통해서 클라이언트 시스템에 전원이 인가된 후, 바로 가상 데스크탑 서비스의 가상 머신으로 연결됨으로, 사용자가 직접 전용 소프트웨어를 실행해야 하는 문제점이 없다.
또한, 본 발명은 가상 머신을 종료했을 경우, 클라이언트 시스템의 전원도 함께 꺼지므로, 사용자가 클라이언트 운영체제 및 클라이언트 소프트웨어를 인지하지 않고도 가상 데스크탑 서비스를 사용할 수 있게 된다.
이하에서는 가상 데스크탑 서비스를 동적으로 할당하도록 하는 로드 밸런싱 기능을 수행할 수 있는 커넥션 브로커의 실시예에 대해 상세히 예시한다.
도 16은 본 발명의 실시예에 따른 실시간 가상 데스크탑 서비스를 위한 시스템 구성을 나타낸 도면이다.
도 16을 참고하면, 본 발명의 실시예에 따른 실시간 가상 데스크탑 서비스를 위한 시스템은 클라이언트부(4100)와 서비스 프로바이더 서버(4200)를 포함하여 구성된다.
클라이언트부(4100)는 서비스 프로바이더 서버(4200)에 가상머신의 할당을 요청하고, 할당된 가상머신을 통해 가상머신 서비스를 제공받는다.
서비스 프로바이더 서버(4200)는 하이퍼바이저 위에 생성된 가성 머신들을 접속 프로토콜을 이용하여 클라이언트부(4100)를 통해 사용자가 접속하는 것을 허용하고, 서비스 프로바이더 서버(4200)에 저장된 자신의 가상머신을 사용할 수 있도록 한다.
이 때, 사용자에게 가상머신을 제공하기 위하여 사용자 프로파일(사용자 정보파일), 사용자용 OS 이미지 및 사용자용 디스크 이미지가 필요하다.
도 17는 본 발명의 실시예에 따른 서비스 게이트웨이를 포함하는 가상 데스크탑 서비스를 위한 시스템 구성을 나타낸 도면이다.
도 17를 참고하면 본 발명의 실시예에 따른 서비스 게이트웨이를 포함하는 가상 데스크탑 서비스를 위한 시스템은 클라이언트부(4300), 서비스 게이트웨이(4350), 서비스 프로바이더 서버(4400)를 포함하여 구성된다.
클라이언트부(4300)는 가상머신의 할당 및 사용 요청 명령을 서비스 게이트웨이(4350)를 통하여 서비스 프로바이더 서버(4400)로 전달한다.
서비스 게이트웨이(4350)는 클라이언트부(4300)의 사용자를 인증하고 작업 권한을 부여할지 여부에 대한 허가 절차를 수행한다.
서비스 게이트웨이(4350)에 관한 상세한 설명은 도 18을 통하여 후술한다.
서비스 프로바이더 서버(4400)는 다수의 가상머신들(4401, 4402, 4403)과 하이퍼바이저(4404)를 포함하여 구성된다.
하이퍼바이저(4404)는 클라이언트부(4300)가 전달한 요청 명령을 수행하고 수행 결과를 서비스 게이트웨이(4350)를 통해서 클라이언트부(4300)로 전달하는 에이전트(4405)를 더 포함한다.
도 18은 본 발명의 실시예에 따른 실시간 가상 데스크탑 서비스를 위한 서비스 게이트웨이의 구성을 나타낸 도면이다.
도 18을 참고하면, 본 발명의 실시예에 따른 실시간 가상 데스크탑 서비스를 위한 서비스 게이트웨이는 사용자 정보 관리부(4351), 가상머신 정보 관리부(4352) 및 가상머신 생성부(4353)을 포함하여 구성된다.
사용자 정보 관리부(4351)는 사용자가 클라이언트부를 통해 제공하는 사용자 정보를 인증한다.
이 때, 사용자 정보 관리부(4351)는 클라이언트부에서 제공되는 사용자 정보를 분석하여 등록된 사용자인지 여부를 판단할 수 있다.
가상머신 정보 관리부(4352)는 클라이언트부를 통해 제공되는 사용자 정보에 대응하는 가상머신 접속정보를 생성하여 클라이언트부에 제공한다.
이 때, 접속정보에는 가상머신을 제공하는 서비스 프로바이더 서버의 주소와 포트번호를 포함할 수 있다.
이 때, 사용자 정보 관리부(4351)에서 분석된 사용자 정보를 통해 등록된 사용자인 것으로 분류되면, 가상머신 정보 관리부(4352)는 기존에 생성된 가상머신이 존재하는지 여부를 판단할 수 있다.
이 때, 사용자 정보 관리부(4351)는 분석된 사용자 정보를 통해 등록되지 않은 사용자인 것으로 분류되면, 가상머신 정보 관리부(4352)는 클라이언트부에 사용자 ID, 패스워드 및 가상머신 설정 정보의 등록을 요청하여 새로운 사용자를 생성할 수 있다.
이 때, 가상머신 설정 정보는 제공될 가상머신의 CPU 개수, 메모리 개수, 하드디스크 용량 및 OS 종류 정보 중 적어도 하나 이상의 정보를 포함할 수 있다.
이 때, 가상머신 설정 정보 안에는 가상머신 정보 관리부(4352)가 사용자 정보의 권한 레벨을 분석하고, 분석된 권한 레벨에 따라 가상머신의 도메인 이름과 OS 종류를 결정하여 생성한 프리셋 정보를 포함할 수 있다.
한편, 사용자 정보에 대응되는 기존에 생성된 가상머신이 존재하지 않는 경우, 가상머신 정보 관리부(4352)는 클라이언트부에 가상머신 설정 정보의 등록을 요청할 수 있다.
가상머신 생성부(4353)는 클라이언트부의 가상머신 생성 요청에 따라, 서비스 프로바이더 서버를 선정하고, 선정된 서비스 프로바이더 서버에 가상머신을 생성한다.
도 19는 본 발명의 실시예에 따른 실시간 가상 데스크탑 서비스를 위한 가상머신 제공 방법을 나타낸 도면이다.
또한, 도 20 내지 도 23은 본 발명의 실시예에 따른 실시간 가상 데스크탑 서비스를 위한 가상머신 제공 방법의 과정을 인터페이스 형식으로 표시한 도면이다.
도 19를 참고하면, 본 발명의 실시예에 따른 실시간 가상 데스크탑 서비스를 위한 가상머신 제공 방법은 우선, 클라이언트부가 서비스 게이트웨이에 사용자 정보를 전달하여 접속을 시도한다(S5010, S5020).
클라이언트부는 PC, 모바일 디바이스 등의 형태가 될 수 있다.
S5010 및 S5020 단계를 상세하게 설명하기 위하여 도 20를 참고하면, 사용자는 PC 또는 모바일 디바이스에 출력되는 접속 인터페이스 화면에 사용자 이름(User name)과 비밀번호(Password)에 해당하는 사용자정보 및 서비스 게이트웨이의 온라인 주소인 CB Address를 입력한다.
클라이언트부는 CB Address에 대응하는 온라인 서버로 접속을 시도하고, 동시에 사용자 이름과 비밀번호를 전달한다.
이후, 서비스 게이트웨이에서 사용자 정보를 분석하여 등록된 사용자인지 여부를 판단한다(S5030).
이 때, 등록되지 않은 사용자로 분류되면, 클라이언트부에 사용자 ID, 패스워드 및 가상머신 설정 정보의 등록을 요청하여 새로운 사용자를 생성한다(S5040).
S5040 단계를 상세하게 설명하기 위하여 도 21을 참고하면, 사용자 등록을 위하여 이름(Name), 아이디(ID), 비밀번호(PW), 가상머신 설정 정보(VM_USAGE), 사무실 이름(office_ID), 전화 번호(Tel) 및 이메일 주소(E-mail)를 등록 인터페이스 화면에 입력하고 새로운 사용자를 생성한다.
가상머신 설정 정보에 대한 상세한 설정 과정은 도 22 및 도 23을 통하여 후술한다.
이후, 서비스 게이트웨이는 사용자 정보에 대응하는 기존에 생성된 가상머신이 존재하는지를 판단한다(S5050).
이 때, 기존에 생성된 가상머신이 존재하지 않는 경우, 클라이언트부에 가상머신 설정 정보의 등록을 요청하여 새로운 가상머신을 생성하고 등록한다(S5060).
이 때, 가상머신 설정 정보를 설정하는 방법은 프리셋 방식과 매뉴얼 방식을 적용할 수 있다.
도 22을 참고하면, 가상머신 설정 정보를 매뉴얼 방식으로 설정하는 경우에는, 가상머신의 이름(Domain Name), 가상머신의 설명(Description), 제공될 가상머신의 CPU 개수, 메모리 개수, 하드디스크 용량 및 OS 종류 정보를 설정하고 등록한다.
도 23을 참고하면, 가상머신 설정 정보를 프리셋 방식으로 설정하는 경우에는, 서비스 게이트웨이가 사용자 정보에 대한 권한 레벨을 분석하고, 권한 레벨에 따라 가상머신의 도메인 이름과 OS 종류를 결정한다.
예를 들면, S5040 단계에서 입력된 사무실 이름을 통하여 사용자의 직급이나 사용자의 서비스 가능 레벨을 분석하여 도메인 이름과 제공할 OS의 종류를 설정할 수 있다.
서비스 게이트웨이는 프리셋 방식 또는 매뉴얼 방식으로 설정된 가상머신 설정 정보를 바탕으로, 가상머신을 제공하는 다수의 서비스 프로바이더 서버 중에 하나의 서비스 프로바이더 서버를 선택하고 그 서버 안에 가상머신을 생성한다.
이 때, 미리 설정된 가상머신 설정 정보(템플릿)를 지정된 위치에서 복사하고 미리 만들어진 이미지를 특정위치에서 Rename하게 된다.
그러므로, 각각의 서비스 프로바이더 서버는 자신의 서버에 맞는 템플릿 파일을 미리 설정하여 고정된 위치에 가지고 있어야 하고, 서버의 용량에 맞는 이미지를 Default로 가지고 있어야 한다.
이렇게 가상머신 생성이 완료 되면 서비스 프로바이더 서버는 클라이언트에 접속정보를 할당한다.
이 때, 접속정보는 가상머신을 제공하는 서비스 프로바이더 서버의 주소와 포트번호를 포함할 수 있다.
이후, 클라이언트부는 할당된 접속정보를 통하여 서비스 프로바이더 서버에 접속한다(S5070).
서비스 프로바이더 서버는 미리 준비된 가상머신 이미지를 복사하는 과정을 거치지 않고, 사용자가 설정한 가상머신 설정 정보에 해당하는 사용자 OS 이미지와 사용자 디스크 이미지를 Rename 하여 사용자에게 제공한다(S5080).
할당이 완료되면 사용자에게 할당 완료 메시지를 보내고, 사용자는 이를 이용하여 부팅할 수 있게 한다.
20: 사용자 단말
110: 커넥션 브로커
120: 리소스 풀
130: 가상머신 인프라스트럭처
200: 가상 데스크탑
1000 : 가상화 데스크탑 매니저 장치
1100 : 연결모듈1200 : 할당모듈
1300 : 관리모듈1400 : 웹 서버모듈
2000 : 가상화 데스크탑 클라이언트 장치
2050 : 가상화 데스크탑 에이전트 2100 : 하이퍼바이저
2200 : 게스트OS(VM) 2300 : 모니터링 정보 수집기
2400 : 하드웨어 프로파일 수집기 2500 : 성능측정기
2600 : 명령실행부
4100, 4300: 클라이언트부4200, 4400: 서비스 프로바이더 서버
4350: 서비스 게이트웨이4351: 사용자 정보 관리부
4352: 가상머신 정보 관리부4353: 가상머신 생성부
4401, 4402, 4403: 가상머신4404: 하이퍼바이저
4405: 에이전트부

Claims (2)

  1. 가상 데스크탑 서비스를 제공하기 위해서 가상 머신을 포함한 가상 데스크탑 서버와 네트워크로 연결되는 연결부;

    복수의 장치타입들 중 어느 하나의 장치타입의 클라이언트인지에 따라, 해당 소프트웨어를 구동하여 상기 가상 데스크탑 서버를 접근하도록 하는 제어부; 및

    상기 가상 데스크탑 서비스를 제공하는 표출부를 포함하고,

    여기서 상기 제어부는, 상기 장치 타입에 따른 운영체제를 부팅할 경우, 사용자의 로그인 패스워드, 패스워드 또는 상기 클라이언트의 IP 주소에 따른 상기 가상 데스크탑 서버에 대한 접근 정보를 이용하여 상기 가상 데스크탑 서버로 로그인 과정을 수행하도록 하고, 상기 가상 데스크탑 서버가 종료될 경우 상기 운영체제를 종료하고 상기 클라이언트의 전력을 차단하고 로그오프 과정를 수행하도록 하고,

    상기 제어부는, 상기 가상 데스크탑 서비스를 제공하기 위한 비디오 디코더 또는 오디오 디코더를 지원하도록 하고, 상기 제어부는 상기 가상 데스크탑 서비스 수행 중에 상기 가상 데스크탑 서비스를 수행하기 위한 시스템 리소스를 구성할 수 있도록 하는, 클라우드 시스템의 클라이언트.

  2. 제 1항에 있어서,

    상기 표출부는, 상기 가상 데스크랍 서비스 수행 중에 상기 가상 데스크탑 서비스를 수행하기 위한 시스템 리소스를 구성할 수 있도록 하는 CPU 정보, 메모리 정보 및 저장매체 정보를 표출하도록 하는, 클라우드 시스템의 클라이언트.
KR20130125206A 2013-06-10 2013-10-21 클라우드 시스템의 클라이언트 KR20140144122A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20130125206A KR20140144122A (ko) 2013-10-21 2013-10-21 클라우드 시스템의 클라이언트
US14/300,463 US9489227B2 (en) 2013-06-10 2014-06-10 Apparatus and method for virtual desktop service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130125206A KR20140144122A (ko) 2013-10-21 2013-10-21 클라우드 시스템의 클라이언트

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020130065762A Division KR102102169B1 (ko) 2013-06-10 2013-06-10 가상 데스크탑 서비스를 위한 장치 및 가상 데스크탑 서비스 방법

Publications (1)

Publication Number Publication Date
KR20140144122A true KR20140144122A (ko) 2014-12-18

Family

ID=52674568

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130125206A KR20140144122A (ko) 2013-06-10 2013-10-21 클라우드 시스템의 클라이언트

Country Status (1)

Country Link
KR (1) KR20140144122A (ko)

Similar Documents

Publication Publication Date Title
KR102102168B1 (ko) 가상 데스크탑 서비스 장치 및 방법
US9489227B2 (en) Apparatus and method for virtual desktop service
KR102328193B1 (ko) 가상 데스크탑 서비스를 위한 장치 및 방법
US10827008B2 (en) Integrated user interface for consuming services across different distributed networks
US10367802B2 (en) Desktop application fulfillment platform with multiple authentication mechanisms
KR101507919B1 (ko) 가상 데스크탑 서비스를 위한 방법 및 장치
US10379891B2 (en) Apparatus and method for in-memory-based virtual desktop service
US9710297B2 (en) Dynamic allocation and assignment of virtual environment
US9622068B2 (en) System, method and computer program product for connecting roaming mobile devices to a virtual device platform
US10152211B2 (en) Application delivery agents on virtual desktop instances
KR102391806B1 (ko) 상이한 분산 네트워크 사이에서 서비스를 소비하는 통합형 api 및 ui 제공 기법
US10063430B2 (en) Systems and methods for workspace interaction with cloud-based applications
KR102102169B1 (ko) 가상 데스크탑 서비스를 위한 장치 및 가상 데스크탑 서비스 방법
US8677449B1 (en) Exposing data to virtual machines
BRPI0707220A2 (pt) métodos e sistemas para fornecer acesso a um ambiente de computação
US20230139695A1 (en) User authentication techniques
KR20140144122A (ko) 클라우드 시스템의 클라이언트
WO2024045000A1 (en) Application-based clipboard isolation and sharing
US20230148314A1 (en) Fast Launch Based on Hibernated Pre-launch Sessions
US20240107122A1 (en) Providing relevant information during video playback

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application