KR20120129740A - 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법 - Google Patents

제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법 Download PDF

Info

Publication number
KR20120129740A
KR20120129740A KR1020110107125A KR20110107125A KR20120129740A KR 20120129740 A KR20120129740 A KR 20120129740A KR 1020110107125 A KR1020110107125 A KR 1020110107125A KR 20110107125 A KR20110107125 A KR 20110107125A KR 20120129740 A KR20120129740 A KR 20120129740A
Authority
KR
South Korea
Prior art keywords
host interface
virtual machine
virtual
resource pool
interface resource
Prior art date
Application number
KR1020110107125A
Other languages
English (en)
Other versions
KR101495862B1 (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 KR1020110107125A priority Critical patent/KR101495862B1/ko
Priority to US13/474,214 priority patent/US9063793B2/en
Publication of KR20120129740A publication Critical patent/KR20120129740A/ko
Application granted granted Critical
Publication of KR101495862B1 publication Critical patent/KR101495862B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법이 개시된다. 본 발명에 따른 제로 클라이언트를 지원하는 가상화 서버는, 상기 가상화 서버의 호스트 인터페이스 자원의 속성을 분류하여 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 가상 머신 관리 에이전트부; 및 상기 가상 호스트 인터페이스 자원 풀에 대응하는 가상 호스트 인터페이스 집합을 생성하는 에뮬레이션 모드 및 상기 직접 할당 가능 호스트 인터페이스 자원 풀에 대응하는 직접 할당 가능 호스트 인터페이스 집합을 상기 제로 클라이언트와 연결하는 직접 연결 모드 중 어느 하나를 선택적으로 사용하여 상기 가상 머신의 호스트 인터페이스를 제공하는 가상화부를 포함하여 구성된다.

Description

제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법{Virtual server and virtual machine management method for supporting zero client}
본 발명은 제로 클라이언트(zero client)를 지원하는 가상화 서버 및 가상 머신 관리 방법에 관한 것으로서, 특히 공유 가능 호스트 인터페이스(host interface) 집합을 에뮬레이션(emulation)하여 가상 호스트 인터페이스 집합을 생성하는 에뮬레이션 모드 및 직접 할당 가능 호스트 인터페이스 집합을 제로 클라이언트와 연결하는 직접 연결 모드 중 어느 하나를 선택적으로 사용하여 가상 머신의 호스트 인터페이스를 제공함으로써, 3D(3-dimensional) 게임, 고품질 동영상, 고품질 오디오, 3D 그래픽 작업과 같은 하이 엔드(high end)급 어플리케이션을 서비스할 수 있는 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법에 관한 것이다.
서버 가상화 환경에서 여러 가상 머신에게 유일한 물리적 호스트 인터페이스를 제공하기 위해서, 물리적 호스트 인터페이스와 1:N의 관계를 갖는 가상 호스트 인터페이스를 생성해주는 방법을 에뮬레이션 모드라고 한다. 여기서, 가상 머신에 탑재되는 운영체제(Operating System; OS)는 가상화 소프트웨어에서 생성한 가상 호스트 인터페이스 집합을 자신의 호스트 인터페이스로 인식하여 동작한다. 이와 같은 가상화 기술로는 시트릭스(Citrix)의 젠서버(XenServer), 마이크로소프트(Microsoft)의 하이퍼브이(hyper-v), 브이엠웨어(VMware)의 이에스엑스아이(ESXi), 오라클(Oracle)의 버추얼 박스(Virtual Box), 그누(GNU) 오픈 라이센스 기반 큐이엠유(QEMU) 등이 있다.
그러나, VGA, USB 장치, 사운드 장치와 같은 대용량 데이터 복사를 수행하거나 혹은 해당 장치의 전용 프로세서 능력이 요구되는 호스트 인터페이스는 장치를 에뮬레이션 방식으로 처리할 경우 프로세서의 부하를 크게 높이고, 이를 이용하여 수행되는 애플리케이션의 성능을 보장받을 수 없다. 따라서, 이들 호스트 인터페이스를 이용하여 수행되는 하이 엔드 급 어플리케이션(3D 게임, HD급 동양상)의 원활한 서비스가 불가능하다. 인텔(intel)의 브이티디(VT-d), 에이엠디(AMD)의 아이오엠엠유(IOMMU) 등의 프로세서 기술은 가상 머신에게 직접 호스트 인터페이스를 1:1로 할당해 주는 장치이고, 이를 직접 할당 방식이라 한다. 따라서, 이 장치를 이용하여 일부 호스트 인터페이스 장치를 가상 머신에 직접 연결함으로써 가상 머신에서 하이 엔드 급 어플리케이션을 원활하게 서비스할 수 있다.
서버 가상화 환경의 가상 데스크탑 서비스를 위해서는 가상 머신의 입출력 신호를 원격 클라이언트에서 표현 및 제어할 수 있어야 한다. 종래의 가상 머신 입출력 신호 처리 기술로는 마이크로소프트의 알디피(RDP), 시트릭스의 에이치디엑스(HDX), 테라디시(Teradici)의 PCoIP(PC over Internet Protocol), 그리고 브이엠웨어의 뷰(View) 등이 있다. 이들은 가상 머신과 클라이언트 사이에서 네트워크 프로토콜을 통해서 가상 데스크탑의 입출력 신호가 디지털 형태로 전송된다. 여기서, 클라이언트는 프로세서를 탑재하여 가상 머신의 입출력 네트워크 패킷을 처리하고, 자신의 호스트 인터페이스 장치를 통해 가상 머신의 데스크탑을 표현한다. 즉, 클라이언트의 형태는 프로세서, 호스트 인터페이스, 입출력 장치를 포함하고 OS를 탑재한 컴퓨터의 형태가 된다.
종래 가상화 환경에서 원격 가상 데스크탑 서비스를 위한 방법은 네트워크 프로토콜을 통해서 가상 머신의 디지털 입출력 신호를 클라이언트에서 표현 및 제어해야 하는데, 이를 위해서 클라이언트의 장치는 프로세서, 호스트 인터페이스, 그리고 입출력 장치를 포함해야 한다. 따라서, 클라이언트의 제조 원가가 상승하게 되고, 가상 머신의 입출력 신호를 첨부하여 네트워크 패킷을 생성 혹은 네트워크 패킷에서 입출력 신호를 추출하기 위한 프로세서의 부하 및 처리 시간이 발생하는 문제점이 있다.
본 발명의 목적은 공유 가능 호스트 인터페이스 집합을 에뮬레이션하여 가상 호스트 인터페이스 집합을 생성하는 에뮬레이션 모드 및 직접 할당 가능 호스트 인터페이스 집합을 제로 클라이언트와 연결하는 직접 연결 모드 중 어느 하나를 선택적으로 사용하여 가상 머신의 호스트 인터페이스를 제공함으로써, 3D 게임, 고품질 동영상, 고품질 오디오, 3D 그래픽 작업과 같은 하이 엔드급 어플리케이션을 서비스할 수 있는 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법을 제공하는 것이다.
본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상화 서버는, 상기 가상화 서버의 호스트 인터페이스 자원의 속성을 분류하여 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 가상 머신 관리 에이전트부; 및 상기 가상 호스트 인터페이스 자원 풀에 대응하는 가상 호스트 인터페이스 집합을 생성하는 에뮬레이션 모드 및 상기 직접 할당 가능 호스트 인터페이스 자원 풀에 대응하는 직접 할당 가능 호스트 인터페이스 집합을 상기 제로 클라이언트와 연결하는 직접 연결 모드 중 어느 하나를 선택적으로 사용하여 상기 가상 머신의 호스트 인터페이스를 제공하는 가상화부를 포함하여 구성된다.
상기 가상 머신 관리 에이전트부는, 상기 가상화 서버의 호스트 인터페이스 정보를 수집하여 호스트 인터페이스 자원 풀을 생성하고, 생성된 상기 호스트 인터페이스 자원 풀에서 상기 호스트 인터페이스 자원의 속성을 분류하여 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀을 생성할 수 있다.
상기 가상 머신 관리 에이전트부는, 상기 가상화 서버에 설치된 가상 머신과 관련한 정보에 대응하여 가상 호스트 인터페이스 자원 풀을 생성하고, 상기 가상화 서버에 설치된 직접 할당 가능 호스트 인터페이스와 관련한 정보에 대응하여 직접 할당 가능 호스트 인터페이스 자원 풀을 생성할 수 있다.
상기 가상 호스트 인터페이스 자원 풀은, 상기 가상화 서버에서 운용 가능한 가상 프로세서의 수, 상기 제로 클라이언트당 할당 메모리 크기, 상기 가상화 서버에 설치된 가상 머신 디스크 이미지의 개수, 상기 가상화 서버에 설치된 가상 머신 디스크 파티션의 개수 및 상기 가상화 서버에 생성 가능한 가상 네트워크 장치의 개수로 이루어진 군으로부터 선택된 하나 이상의 정보를 포함할 수 있다.
상기 직접 할당 가능 호스트 인터페이스 자원 풀은, 상기 가상화 서버에 설치되어 직접 할당 가능한 그래픽 처리 장치의 정보, 상기 가상화 서버에 설치되어 직접 할당 가능한 USB 장치의 정보, 상기 가상화 서버에 설치되어 직접 할당 가능한 네트워크 장치의 정보 및 상기 가상화 서버에 설치되어 직접 할당 가능한 사운드 장치의 정보로 이루어진 군으로부터 선택된 하나 이상의 정보를 포함할 수 있다.
본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상 머신 관리 방법은, 가상화 서버가 상기 가상화 서버의 호스트 인터페이스 자원의 속성을 분류하여 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 단계; 상기 가상화 서버가 사용자의 가상 머신 설정 요청에 대응하는 가상 머신 설정 명령어 집합을 가상 머신 관리 마스터 서버로부터 수신하는 단계; 상기 가상 호스트 인터페이스 자원 풀에 대응하는 가상 호스트 인터페이스 집합을 생성하는 에뮬레이션 모드 및 상기 직접 할당 가능 호스트 인터페이스 자원 풀에 대응하는 직접 할당 가능 호스트 인터페이스 집합을 상기 제로 클라이언트와 연결하는 직접 연결 모드 중 어느 하나를 선택적으로 사용하여 상기 가상 머신의 호스트 인터페이스를 제공하는 단계를 포함하여 구성된다.
상기 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 단계는, 상기 가상화 서버의 호스트 인터페이스 정보를 수집하여 호스트 인터페이스 자원 풀을 생성하는 단계; 및 생성된 상기 호스트 인터페이스 자원 풀에서 상기 호스트 인터페이스 자원의 속성을 분류하여 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 단계를 포함할 수 있다.
상기 생성된 상기 호스트 인터페이스 자원 풀에서 상기 호스트 인터페이스 자원의 속성을 분류하여 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 단계는, 상기 가상화 서버에 설치된 가상 머신과 관련한 정보에 대응하여 가상 호스트 인터페이스 자원 풀을 생성하는 단계; 및 상기 가상화 서버에 설치된 직접 할당 가능 호스트 인터페이스와 관련한 정보에 대응하여 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 단계를 포함할 수 있다.
상기 가상화 서버에 설치된 가상 머신과 관련한 정보에 대응하여 가상 호스트 인터페이스 자원 풀을 생성하는 단계는, 상기 가상화 서버에 설치된 프로세서의 연산 코어의 개수와 연산 코어당 동작 속도를 산출하여 가상화 서버에서 운용 가능한 가상 프로세서의 수를 산출하는 단계; 상기 가상화 서버에 설치된 전체 호스트 메모리 크기를 이용하여 제로 클라이언트당 할당 메모리 크기를 산출하는 단계; 상기 가상화 서버에 설치된 가상 머신 디스크 이미지의 개수를 산출하는 단계; 상기 가상화 서버에 설치된 가상 머신 디스크 파티션의 개수를 산출하는 단계; 및 상기 가상화 서버에 설치된 네트워크 장치의 클라이언트당 네트워크 대역폭을 산출하여 상기 가상화 서버에 생성 가능한 가상 네트워크 장치의 개수를 산출하는 단계를 포함할 수 있다.
상기 가상화 서버에 설치된 직접 할당 가능 호스트 인터페이스와 관련한 정보에 대응하여 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 단계는, 상기 가상화 서버에 설치되어 직접 할당 가능한 그래픽 처리 장치의 정보를 확인하는 단계; 상기 가상화 서버에 설치되어 직접 할당 가능한 USB 장치의 정보를 확인하는 단계; 상기 가상화 서버에 설치되어 직접 할당 가능한 네트워크 장치의 정보를 확인하는 단계; 및 상기 가상화 서버에 설치되어 직접 할당 가능한 사운드 장치의 정보를 확인하는 단계를 포함할 수 있다.
상기 제로 클라이언트를 지원하는 가상 머신 관리 방법은, 상기 가상 머신 관리 마스터 서버가 상기 사용자의 가상 머신 설정 요청을 수신하는 단계; 상기 가상 머신 관리 마스터 서버가 가상 머신 관련 호스트 인터페이스 자원 정보를 수집하여 가상화 서버 그룹 자원 풀을 생성하는 단계; 상기 가상 머신 관리 마스터 서버가 상기 가상화 서버 그룹 자원 풀에 대응하여 상기 제로 클라이언트를 동작시키기 위한 가상 머신 설정 명령어 집합을 생성하는 단계; 및 상기 가상 머신 관리 마스터 서버가 생성된 상기 가상 머신 설정 명령어 집합을 상기 가상화 서버로 송신하는 단계를 더 포함할 수 있다.
상기 가상 머신 관련 호스트 인터페이스 자원 정보는, 상기 가상화 서버의 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀에서 수집할 수 있다.
상기 가상 머신 설정 명령어 집합을 생성하는 단계는, 상기 가상 머신 관리 마스터 서버가 상기 가상화 서버 그룹 자원 풀에서 상기 사용자의 가상 머신 설정 요청에 대응하는 호스트 인터페이스가 이용 가능한지 여부를 확인하여 이용 가능한 경우에 해당 호스트 인터페이스에 대한 직접 접근 정보를 가상 머신 설정 명령어 집합에 추가하는 단계를 포함할 수 있다.
상기 제로 클라이언트를 지원하는 가상 머신 관리 방법은, 상기 가상 머신 설정 명령어 집합을 이용하여 가상 머신이 생성된 경우, 상기 가상화 서버가 상기 가상 머신을 생성하는데 소비한 호스트 인터페이스의 자원 정보를 이용하여 상기 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀을 갱신하는 단계를 더 포함할 수 있다.
상기 제로 클라이언트를 지원하는 가상 머신 관리 방법은, 상기 가상 머신 관리 마스터 서버가 갱신된 상기 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀에 대응하여 상기 가상화 서버 그룹 자원 풀을 갱신하는 단계를 더 포함할 수 있다.
본 발명의 일 측면에 따르면 공유 가능 호스트 인터페이스 집합을 에뮬레이션하여 가상 호스트 인터페이스 집합을 생성하는 에뮬레이션 모드 및 직접 할당 가능 호스트 인터페이스 집합을 제로 클라이언트와 연결하는 직접 연결 모드 중 어느 하나를 선택적으로 사용하여 가상 머신의 호스트 인터페이스를 제공함으로써, 3D 게임, 고품질 동영상, 고품질 오디오, 3D 그래픽 작업과 같은 하이 엔드급 어플리케이션을 서비스할 수 있는 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법을 제공할 수 있다.
또한, 본 발명의 일 측면에 따른 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법은 별도의 프로세서, 호스트 인터페이스, 운영체제 없이 동작할 수 있는 제로 클라이언트를 제공할 수 있어서, 시스템 구축 비용을 크게 감소시킬 수 있다.
또한, 본 발명의 일 측면에 따른 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법은 제로 클라이언트를 그룹화하여 관리함으로써 제로 클라이언트의 확장성이 뛰어나고 관리가 용이하다.
도 1은 본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 마스터 서버를 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 마스터 서버의 구조를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상화 서버와 제로 클라이언트가 연결되는 구조를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상 머신 관리 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상 머신 관리 방법에서 가상화 서버의 가상 머신 관리 에이전트부가 초기화되는 과정을 설명하기 위한 순서도이다.
도 6 및 도 7은 본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상 머신 관리 방법에서 가상화 서버가 호스트 인터페이스 자원 속성을 분류하는 과정을 설명하기 위한 순서도이다.
도 8은 본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상 머신 관리 방법에서 가상 머신 관리 마스터 서버가 가상 머신 설정 요청을 수신하였을 때의 동작 과정을 설명하기 위한 순서도이다.
도 9는 본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상 머신 관리 방법에서 가상화 서버가 가상 머신 설정 요청을 수신하였을 때의 동작 과정을 설명하기 위한 순서도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
도 1은 본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 마스터 서버를 개략적으로 도시한 도면이다.
도 1을 참조하면, 먼저 가상 머신 관리 서버(1000)는 가상화 서버(100) 그룹과 이들을 관리해 주기 위한 가상 머신 관리 마스터 서버(200)로 구성될 수 있다. 각각의 가상화 서버(100)는 1개 이상의 제로 클라이언트(400)와 연결되어 제로 클라이언트(400)를 지원할 수 있다.
제로 클라이언트(400)는 입출력 장치로만 구성되는 클라이언트를 말하며, 프로세서, 호스트 인터페이스를 포함하지 않기 때문에, 저렴한 비용으로 구성할 수 있고, 처리 부하가 낮고 처리 시간이 빠른 장점이 있다.
도 2는 본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 마스터 서버의 구조를 도시한 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상화 서버(100)는 가상 머신 관리 에이전트부(110) 및 가상화부(130)를 포함할 수 있다. 도 2에 도시된 가상화 서버의 구성은 일 실시예에 따른 것이고 도 2에 도시된 블록들은 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 일부 블록이 추가, 변경 또는 삭제될 수 있다.
가상 머신 관리 에이전트부(110)는 가상화 서버(100)의 호스트 인터페이스 자원의 속성을 분류하여 가상 호스트 인터페이스 자원 풀(112) 및 직접 할당 가능 호스트 인터페이스 자원 풀(113)을 생성한다. 이하 가상 머신 관리 에이전트부(110)의 구체적인 구성에 대해서 상세히 설명하도록 한다.
가상화 서버(100)는 제로 클라이언트(400)와 연결되는 가상 머신(120)을 구성하기 위하여 가상 머신 관리 에이전트부(110)를 포함할 수 있다. 즉, 가상 머신 관리 에이전트부(110)는 가상화부(130)에게 제로 클라이언트(400)의 설정 및 관리 기능을 제공한다. 이를 위해서, 가상 머신 관리 에이전트부(110)는 가상 머신 관리 에이전트 엔진(111), 가상 호스트 인터페이스 자원 풀(112), 직접 할당 가능 호스트 인터페이스 자원 풀(113)을 포함할 수 있다.
가상 머신 관리 에이전트 엔진(111)은 가상화부(130)와 통신하여 가상 머신(120)의 할당 호스트 인터페이스 관리의 역할을 하고, 가상 머신 관리 마스터 서버(200)의 가상 머신 관리 마스터 서버 엔진(210)의 명령을 받아서 동작한다. 가상 머신 관리 에이전트 엔진(111)은 가상화부(130)의 가상 머신 설정 엔진(131)에게 상기 명령을 전달하여 가상화 서버(100)의 호스트 인터페이스 자원의 속성을 분류하여 가상 호스트 인터페이스 자원 풀(112) 및 직접 할당 가능 호스트 인터페이스 자원 풀(113)을 생성한다. 일 실시예에서, 가상 머신 관리 에이전트 엔진(111)은 가상화 서버(100)의 호스트 인터페이스 정보를 수집하여 호스트 인터페이스 자원 풀을 생성하고, 생성된 호스트 인터페이스 자원 풀에서 호스트 인터페이스 자원의 속성을 분류하여 가상 호스트 인터페이스 자원 풀(112) 및 직접 할당 가능 호스트 인터페이스 자원 풀(113)을 생성할 수 있다. 이 때, 가상 머신 관리 에이전트부(110)는 상기 가상화 서버에 설치된 가상 머신과 관련한 정보에 대응하여 가상 호스트 인터페이스 자원 풀을 생성하고, 상기 가상화 서버에 설치된 직접 할당 가능 호스트 인터페이스와 관련한 정보에 대응하여 직접 할당 가능 호스트 인터페이스 자원 풀을 생성할 수 있다.
가상 호스트 인터페이스 자원 풀(112)은 가상 호스트 인터페이스 자원에 관한 정보로서, 상기 가상화 서버에서 운용 가능한 가상 프로세서의 수, 상기 제로 클라이언트당 할당 메모리 크기, 상기 가상화 서버에 설치된 가상 머신 디스크 이미지의 개수, 상기 가상화 서버에 설치된 가상 머신 디스크 파티션의 개수 및 상기 가상화 서버에 생성 가능한 가상 네트워크 장치의 개수로 이루어진 군으로부터 선택된 하나 이상의 정보를 포함할 수 있다.
직접 할당 가능 호스트 인터페이스 자원 풀(113)은 직접 할당 가능 호스트 인터페이스 자원에 관한 정보로서, 상기 가상화 서버에 설치되어 직접 할당 가능한 그래픽 처리 장치의 정보, 상기 가상화 서버에 설치되어 직접 할당 가능한 USB 장치의 정보, 상기 가상화 서버에 설치되어 직접 할당 가능한 네트워크 장치의 정보 및 상기 가상화 서버에 설치되어 직접 할당 가능한 사운드 장치의 정보로 이루어진 군으로부터 선택된 하나 이상의 정보를 포함할 수 있다.
호스트 인터페이스 자원의 속성을 분류하여 가상 호스트 인터페이스 자원 풀(112) 및 직접 할당 가능 호스트 인터페이스 자원 풀(113)을 생성하는 과정은 이후에 도면을 참조하여 상세히 설명하도록 한다.
가상 머신 관리 에이전트 엔진(111)은 가상 머신(120)의 생성, 제거, 정지, 재개 등의 명령을 포함하는 가상 머신 설정 명령어 집합을 가상화부(130)의 가상 머신 설정 엔진(131)에 전달하여 가상 머신(120)을 설정할 수 있다.
가상화부(130)는 사용자로부터 가상 머신 관리 마스터 서버(200)를 거쳐 가상 머신 설정 요청을 수신하여, 에뮬레이션 모드 및 직접 연결 모드 중 어느 하나를 선택적으로 사용하여 가상 머신(120)의 호스트 인터페이스를 제공한다. 가상화부(130)는 한 대 이상의 가상 머신(120)을 운영하기 위한 소프트웨어 또는 커널(kernel)의 형태일 수 있다.
가상화부(130)는 호스트 인터페이스 계층(140)에서 공유 가능 호스트 인터페이스 집합(141)을 에뮬레이션하여 여러 가상 머신(120)이 공유할 수 있는 가상 호스트 인터페이스 집합(132)을 생성하고, 이를 가상 머신(120)의 호스트 인터페이스로 제공해 줄 수 있는데 이러한 방법을 에뮬레이션 모드(101)라고 한다. 가상 호스트 인터페이스 집합(132)은 가상 호스트 인터페이스 자원 풀(112)에 대응하는 것일 수 있다. 일 실시예에서, 에뮬레이션 모드(101)에서 활용 가능한 호스트 인터페이스로는 프로세서, 주기억장치, 보조기억장치, 네트워크 장치, 그래픽 처리 장치, USB 호스트 컨트롤러 및 사운드 장치 등이 있다.
그러나, 그래픽 처리 장치, USB 장치, 사운드 장치와 같은 대용량 데이터 복사를 수행하거나 혹은 해당 장치의 전용 프로세서 능력이 요구되는 호스트 인터페이스는 장치를 에뮬레이션 모드(101)로 처리할 경우 프로세서의 부하를 크게 높이고, 이를 이용하여 수행되는 애플리케이션의 성능을 보장받을 수 없기 때문에, 특정 가상 머신(120)에게 직접 할당 가능 호스트 인터페이스 집합(142)을 1:1로 할당해서 상기 문제를 해결할 수 있는데, 이를 직접 연결 모드(102)라고 한다.
본 발명에서 제공하는 제로 클라이언트(400)를 지원하기 위해서 직접 연결 모드(102)를 사용하여, 직접 할당 가능 호스트 인터페이스 집합(142)의 입출력 신호를 제로 클라이언트(400)와 연결한다. 직접 할당 가능 호스트 인터페이스 집합(142)과 제로 클라이언트(400)의 연결은 이후에 도면을 참조하여 상세히 설명하도록 한다.
본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상 머신 관리 마스터 서버(200)는 가상 머신 관련 호스트 인터페이스 자원 정보를 수집하여 가상화 서버 그룹 자원 풀(220)을 생성하고, 가상화 서버 그룹 자원 풀(220)에 대응하여 제로 클라이언트(400)를 동작시키기 위한 가상 머신 설정 명령어 집합을 생성하며, 생성된 가상 머신 설정 명령어 집합을 가상화 서버(100)로 송신한다. 이하 가상 머신 관리 마스터 서버(200)의 구체적인 구성에 대해서 상세히 설명하도록 한다.
가상 머신 관리 마스터 서버(200)는 모든 가상화 서버(100)에 탑재된 가상 머신 관리 에이전트부(110)의 관리를 담당한다. 가상화 서버(100)과 연결된 제로 클라이언트(400)의 설정 및 관리는 가상 머신 관리 마스터 서버(200)를 통해 이루어진다. 가상 머신 관리 마스터 서버(200)은 가상 머신 관리 마스터 서버 엔진(210)과 가상화 서버 그룹 자원 풀(220)로 이루어진다. 가상 머신 관리 마스터 서버 엔진(210)은 모든 가상 머신 관리 에이전트 엔진(111)과 네트워크로 연결되어 제로 클라이언트(400)를 위한 모든 가상 머신 관련 호스트 인터페이스 자원 정보를 수집하고 제로 클라이언트(400)을 동작시키기 위한 가상 머신 설정 명령어 집합을 전달한다. 일 실시예에서, 가상 머신 관련 호스트 인터페이스 자원 정보는 가상 머신 관리 에이전트부(110)의 가상 호스트 인터페이스 관리 자원 풀(112)과 직접 할당 가능 호스트 인터페이스 자원 관리 풀(113)에서 수집할 수 있고, 제로 클라이언트(400)를 동작시키기 위한 가상 머신 설정 명령어 집합은 가상 머신 관리 에이전트 엔진(111)에서 명령의 유효성 검토 후 가상화부(130)로 전달할 수 있다.
도 3은 본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상화 서버와 제로 클라이언트가 연결되는 구조를 도시한 도면이다.
도 3을 참조하면, 일 실시예에서, 공유 가능 호스트 인터페이스 집합(141)은 프로세서(141a), 주기억장치(141b), 보조기억장치(141c), 네트워크 장치(141d), 그래픽 처리 장치(141e), USB 호스트 컨트롤러(141f) 및 사운드 장치(141g) 중 하나 이상을 포함할 수 있고, 상위 가상화부(130)에서 이들 장치를 에뮬레이션하여 여러 가상 머신(120)이 이것들을 사용할 수 있도록 가상 호스트 인터페이스 집합(132)을 생성해준다.
일 실시예에서 제로 클라이언트(400)를 제공하기 위해서 공유 가능 호스트 인터페이스 집합(141)의 일부를 직접 할당 가능 호스트 인터페이스 집합(142)으로 구분하여 직접 연결 모드(102)로 특정 가상 머신(120)에 할당할 수 있다. 일 실시예에서, 제로 클라이언트(400) 제공을 위한 직접 할당 가능 호스트 인터페이스 집합(142)은 그래픽 처리 카드(142a), USB 호스트 컨트롤러(142b), 네트워크 장치(142c) 및 사운드 장치(142d) 중 하나 이상을 포함할 수 있다. 도 3에서 보여주는 구성은 단지 실시예로서 제시된 것이고, 상기의 실시예 외에도 타블렛, 프린터 등의 입출력 장치의 호스트 인터페이스를 포함할 수 있다.
일 실시예에서, 제로 클라이언트(400)는 모니터(410), USB 허브(420), USB 키보드(430), USB 오디오(440) 및 USB 저장 장치(450) 중 하나 이상을 포함할 수 있다. 도 3에서 보여주는 제로 클라이언트(400)의 구성은 단지 실시예로서 제시된 것이고, 상기의 실시예 외에도 타블렛, 프린터, 네트워크 장치 등의 출력 장치를 포함할 수 있다. 제로 클라이언트(400)를 구성하는 입출력 장치들은 클라이언트 입출력 전송 계층(300)을 통해 가상화 서버(100)의 호스트 인터페이스 계층(140)에 직접 할당 가능 호스트 인터페이스 집합(142)과 물리적으로 연결된다. 일 실시예에서, 클라이언트 입출력 전송 계층(300)으로 전달되는 신호는 HDMI(High-Definition Multimedia Interface) 신호, DVI(Digital Visual Interface) 신호, 아날로그(Analog) 신호와 같은 비디오 출력 장치 신호(310), USB 신호(320), 및 광신호(330) 중 하나 이상을 포함할 수 있다.
도 4는 본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상 머신 관리 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상 머신 관리 방법이 시작되면, 먼저 가상화 서버가 상기 가상화 서버의 호스트 인터페이스 자원의 속성을 분류하여 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀을 생성한다(S401). 그리고 가상 머신 관리 마스터 서버가 상기 사용자의 가상 머신 설정 요청을 수신하고(S402), 가상 머신 관련 호스트 인터페이스 자원 정보를 수집하여 가상화 서버 그룹 자원 풀을 생성하며(S403), 상기 가상화 서버 그룹 자원 풀에 대응하여 상기 제로 클라이언트를 동작시키기 위한 가상 머신 설정 명령어 집합을 생성하여(S404), 상기 가상화 서버로 송신한다(S405). 이 때, 상기 가상 머신 관련 호스트 인터페이스 자원 정보는 상기 가상화 서버의 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀에서 수집할 수 있다.
가상화 서버가 사용자의 가상 머신 설정 요청에 대응하는 가상 머신 설정 명령어 집합을 가상 머신 관리 마스터 서버로부터 수신하면(S406), 가상화 서버는 상기 가상화 서버의 호스트 인터페이스 중에서 공유 가능 호스트 인터페이스 집합을 에뮬레이션하여, 상기 가상 호스트 인터페이스 자원 풀에 대응하는 가상 호스트 인터페이스 집합을 생성하는 에뮬레이션 모드 및 상기 가상화 서버의 호스트 인터페이스 중에서 상기 직접 할당 가능 호스트 인터페이스 자원 풀에 대응하는 직접 할당 가능 호스트 인터페이스 집합을 상기 제로 클라이언트와 연결하는 직접 연결 모드 중 어느 하나를 선택적으로 사용하여 상기 가상 머신의 호스트 인터페이스를 제공한다(S407).
그리고 나서, 상기 가상 머신 설정 명령어 집합을 이용하여 가상 머신이 생성된 경우, 상기 가상화 서버가 상기 가상 머신을 생성하는데 소비한 호스트 인터페이스의 자원 정보를 이용하여 상기 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀을 갱신하고(S408), 상기 가상 머신 관리 마스터 서버가 갱신된 상기 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀에 대응하여 상기 가상화 서버 그룹 자원 풀을 갱신한다(S409).
도 5는 본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상 머신 관리 방법에서 가상화 서버의 가상 머신 관리 에이전트부가 초기화되는 과정을 설명하기 위한 순서도이다.
도 5에 도시된 과정은 도 4의 단계(S401)에서 수행될 수 있는 구체적인 과정을 일 실시예로서 도시한 것이다.
도 5를 참조하면, 가상 머신 관리 에이전트부가 실행되면, 가상화 서버의 호스트 인터페이스 정보를 수집하여, 호스트 인터페이스 자원 풀을 생성하고(S501), 생성된 호스트 인터페이스 자원 풀에서 호스트 인터페이스 자원 속성을 분류(S502)하는 작업을 수행하여 가상 호스트 인터페이스 자원 풀과 직접 할당 가능한 호스트 인터페이스 자원 풀을 생성해 준다. 여기서 단계(S502) 작업에 대해서는 이후 도 6을 참조하여 상세히 설명하도록 한다. 마지막으로, 가상 머신 관리 에이전트부는 가상 호스트 인터페이스 자원 풀과 직접 할당 가능한 호스트 인터페이스 자원 풀의 정보를 가상 머신 관리 마스터 서버로 전달(S503)하고, 가상 머신 관리 마스터 서버는 이 정보를 자신의 가상화 서버 그룹 자원 풀에 보관한다.
도 6 및 도 7은 본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상 머신 관리 방법에서 가상화 서버가 호스트 인터페이스 자원 속성을 분류하는 과정을 설명하기 위한 순서도이다.
도 6 및 도 7에 도시된 과정은 도 4의 단계(S401) 및 도 5의 단계(S502)에서 수행될 수 있는 구체적인 과정을 일 실시예로서 도시한 것이다. 도 5의 단계(S502)는 가상화 서버에 설치된 가상 머신과 관련한 정보에 대응하여 가상 호스트 인터페이스 자원 풀을 생성하는 단계 및 가상화 서버에 설치된 직접 할당 가능 호스트 인터페이스와 관련한 정보에 대응하여 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 단계를 포함할 수 있다. 여기서, 도 6은 가상화 서버에 설치된 가상 머신과 관련한 정보에 대응하여 가상 호스트 인터페이스 자원 풀을 생성하는 단계에 해당하는 과정이고, 도 7은 가상화 서버에 설치된 직접 할당 가능 호스트 인터페이스와 관련한 정보에 대응하여 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 단계에 해당하는 과정이다.
도 6은 가상화 서버가 호스트 인터페이스 자원 속성을 분류하는 과정 중에서 가상 호스트 인터페이스 자원 풀을 생성하는 과정을 설명하기 위한 순서도이다.
도 6을 참조하면, 우선, 가상화 서버에 설치된 프로세서의 연산 코어의 개수와 연산 코어당 동작 속도를 산출하여 가상화 서버에서 운용 가능한 가상 프로세서의 수를 산출하고(S601), 상기 가상화 서버에 설치된 전체 호스트 메모리 크기를 이용하여 제로 클라이언트당 할당 메모리 크기를 산출한다(S602). 또한, 상기 가상화 서버에 설치된 가상 머신 디스크 이미지의 개수를 산출하고(S603), 상기 가상화 서버에 설치된 가상 머신 디스크 파티션의 개수를 산출한다(S604). 그리고 상기 가상화 서버에 설치된 네트워크 장치의 클라이언트당 네트워크 대역폭을 산출하여 상기 가상화 서버에 생성 가능한 가상 네트워크 장치의 개수를 산출한다(S605).
그리고 나서, 상기 단계(S601 내지 S605)에서 산출한 정보를 가상 호스트 인터페이스 자원 풀에 저장한다(S606).
도 7은 가상화 서버가 호스트 인터페이스 자원 속성을 분류하는 과정 중에서 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 과정을 설명하기 위한 순서도이다.
도 7을 참조하면, 우선, 가상화 서버에 설치되어 직접 할당 가능한 그래픽 처리 장치의 정보를 확인하고(S701), 가상화 서버에 설치되어 직접 할당 가능한 USB 장치의 정보를 확인한다(S702). 또한, 가상화 서버에 설치되어 직접 할당 가능한 네트워크 장치의 정보를 확인하고(S703), 가상화 서버에 설치되어 직접 할당 가능한 사운드 장치의 정보를 확인한다(S704).
그리고 나서, 단계(S701 내지 S704)의 정보들을 직접 할당 가능 호스트 인터페이스 자원 풀에 저장한다(S705).
도 8은 본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상 머신 관리 방법에서 가상 머신 관리 마스터 서버가 가상 머신 설정 요청을 수신하였을 때의 동작 과정을 설명하기 위한 순서도이다.
도 8에 도시된 과정은 도 4에서 가상 머신 관리 마스터 서버가 가상 머신 설정 명령어 집합을 생성하는 단계(S404)에 대응되는 과정이다. 즉, 도 4의 단계(S404)에서는 가상 머신 관리 마스터 서버가 가상화 서버 그룹 자원 풀에서 사용자의 가상 머신 설정 요청에 대응하는 호스트 인터페이스가 이용 가능한지 여부를 확인하여 이용 가능한 경우에 해당 호스트 인터페이스에 대한 직접 접근 정보를 가상 머신 설정 명령어 집합에 추가할 수 있는데 그 구체적인 과정을 일 실시예로서 도시한 것이다.
도 8을 참조하면, 우선, 가상 머신 관리 마스터 서버는 사용자의 가상 머신 설정 요청을 수신한다(S801). 가상 머신 설정 요청에는 제로 클라이언트를 위한 요구 사항을 포함한다. 상기 요구 사항에는 제로 클라이언트의 성능에 관련된 직접 할당 가능 호스트 인터페이스에 관한 정보를 포함할 수 있다.
가상 머신 관리 마스터 서버의 가상 머신 관리 마스터 서버 엔진은 가상화 서버 그룹 자원 풀에서 사용자의 직접 할당 가능한 그래픽 처리 장치가 이용 가능한지 여부를 확인하여(S802), 이용 가능한 경우에 해당 그래픽 처리 장치에 대한 직접 접근 정보를 가상 머신 설정 명령어 집합에 추가한다(S803).
그리고 가상 머신 관리 마스터 서버의 가상 머신 관리 마스터 서버 엔진은 가상화 서버 그룹 자원 풀에서 사용자의 직접 할당 가능한 USB 호스트 컨트롤러가 이용 가능한지 여부를 확인하여(S804), 이용 가능한 경우에 해당 USB 호스트 컨트롤러에 대한 직접 접근 정보를 가상 머신 설정 명령어 집합에 추가한다(S805).
그리고 가상 머신 관리 마스터 서버의 가상 머신 관리 마스터 서버 엔진은 가상화 서버 그룹 자원 풀에서 사용자의 직접 할당 가능한 네트워크 장치가 이용 가능한지 여부를 확인하여(S806), 이용 가능한 경우에 해당 네트워크 장치에 대한 직접 접근 정보를 가상 머신 설정 명령어 집합에 추가한다(S807).
그리고 가상 머신 관리 마스터 서버의 가상 머신 관리 마스터 서버 엔진은 가상화 서버 그룹 자원 풀에서 사용자의 직접 할당 가능한 사운드 장치가 이용 가능한지 여부를 확인하여(S808), 이용 가능한 경우에 해당 사운드 장치에 대한 직접 접근 정보를 가상 머신 설정 명령어 집합에 추가한다(S809).
가상 머신 관리 마스터 서버 엔진은 상기 기술한 단계에서 완성한 가상 머신 설정 명령어 집합을 가상화 서버의 가상 머신 관리 에이전트로 전달한다(S810).
도 9는 본 발명의 일 실시예에 따른 제로 클라이언트를 지원하는 가상 머신 관리 방법에서 가상화 서버가 가상 머신 설정 요청을 수신하였을 때의 동작 과정을 설명하기 위한 순서도이다.
도 9에 도시된 과정은 도 4의 단계(S406) 내지 단계(S409)에서 수행될 수 있는 구체적인 과정을 일 실시예로서 도시한 것이다.
도 9를 참조하면, 우선, 가상화 서버의 가상 머신 관리 에이전트부가 가상 머신 관리 마스터 서버로부터 가상 머신 설정 명령어 집합을 수신한다(S901)
가상화 머신 관리 에이전트부는 가상 머신 관리 마스터 서버로부터 받은 가상 머신 설정 명령어 집합을 가상화부의 가상 머신 설정 엔진으로 전달한다(S902).
그리고 가상 머신 설정 엔진은 가상 머신 생성 성공 여부를 확인한다(S903). 가상 머신 생성 성공 시, 해당 제로 클라이언트에서 사용자 터미널이 활성화 된다(S904).
만약, 가상 머신 생성이 성공하였을 경우, 가상 머신을 생성하는데 소비한 호스트 인터페이스 자원 정보를 이용하여 가상 머신 관리 에이전트부가 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능한 호스트 인터페이스 자원 풀을 갱신한다(S905). 그리고, 가상 머신 관리 마스터 서버로 가상 머신 생성 결과를 전달한다(S906). 가상 머신 관리 마스터 서버는 상기 전달 받은 정보를 이용하여 자신의 가상화 서버 그룹 자원 풀을 갱신한다.
전술한 제로 클라이언트를 지원하는 가상 머신 관리 방법은 도면에 제시된 순서도를 참조로 하여 설명되었다. 간단히 설명하기 위하여 상기 방법은 일련의 블록들로 도시되고 설명되었으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 다른 블록들과 본 명세서에서 도시되고 기술된 것과 상이한 순서로 또는 동시에 일어날 수도 있으며, 동일한 또는 유사한 결과를 달성하는 다양한 다른 분기, 흐름 경로, 및 블록의 순서들이 구현될 수 있다. 또한, 본 명세서에서 기술되는 방법의 구현을 위하여 도시된 모든 블록들이 요구되지 않을 수도 있다.
이상 본 발명의 특정 실시예를 도시하고 설명하였으나, 본 발명의 기술사상은 첨부된 도면과 상기한 설명내용에 한정하지 않으며 본 발명의 사상을 벗어나지 않는 범위 내에서 다양한 형태의 변형이 가능함은 이 분야의 통상의 지식을 가진 자에게는 자명한 사실이며, 이러한 형태의 변형은, 본 발명의 정신에 위배되지 않는 범위 내에서 본 발명의 특허청구범위에 속한다고 볼 것이다.

Claims (18)

  1. 제로 클라이언트를 지원하는 가상화 서버에 있어서,
    상기 가상화 서버의 호스트 인터페이스 자원의 속성을 분류하여 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 가상 머신 관리 에이전트부; 및
    상기 가상 호스트 인터페이스 자원 풀에 대응하는 가상 호스트 인터페이스 집합을 생성하는 에뮬레이션 모드 및 상기 직접 할당 가능 호스트 인터페이스 자원 풀에 대응하는 직접 할당 가능 호스트 인터페이스 집합을 상기 제로 클라이언트와 연결하는 직접 연결 모드 중 어느 하나를 선택적으로 사용하여 상기 가상 머신의 호스트 인터페이스를 제공하는 가상화부를 포함하는 것을 특징으로 하는 제로 클라이언트를 지원하는 가상화 서버.
  2. 청구항 1에 있어서,
    상기 가상 머신 관리 에이전트부는,
    상기 가상화 서버의 호스트 인터페이스 정보를 수집하여 호스트 인터페이스 자원 풀을 생성하고, 생성된 상기 호스트 인터페이스 자원 풀에서 상기 호스트 인터페이스 자원의 속성을 분류하여 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 것을 특징으로 하는 제로 클라이언트를 지원하는 가상화 서버.
  3. 청구항 2에 있어서,
    상기 가상 머신 관리 에이전트부는,
    상기 가상화 서버에 설치된 가상 머신과 관련한 정보에 대응하여 가상 호스트 인터페이스 자원 풀을 생성하고, 상기 가상화 서버에 설치된 직접 할당 가능 호스트 인터페이스와 관련한 정보에 대응하여 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 것을 특징으로 하는 제로 클라이언트를 지원하는 가상화 서버.
  4. 청구항 3에 있어서,
    상기 가상 호스트 인터페이스 자원 풀은,
    상기 가상화 서버에서 운용 가능한 가상 프로세서의 수, 상기 제로 클라이언트당 할당 메모리 크기, 상기 가상화 서버에 설치된 가상 머신 디스크 이미지의 개수, 상기 가상화 서버에 설치된 가상 머신 디스크 파티션의 개수 및 상기 가상화 서버에 생성 가능한 가상 네트워크 장치의 개수로 이루어진 군으로부터 선택된 하나 이상의 정보를 포함하는 것을 특징으로 하는 제로 클라이언트를 지원하는 가상화 서버.
  5. 청구항 3에 있어서,
    상기 직접 할당 가능 호스트 인터페이스 자원 풀은,
    상기 가상화 서버에 설치되어 직접 할당 가능한 그래픽 처리 장치의 정보, 상기 가상화 서버에 설치되어 직접 할당 가능한 USB 장치의 정보, 상기 가상화 서버에 설치되어 직접 할당 가능한 네트워크 장치의 정보 및 상기 가상화 서버에 설치되어 직접 할당 가능한 사운드 장치의 정보로 이루어진 군으로부터 선택된 하나 이상의 정보를 포함하는 것을 특징으로 하는 제로 클라이언트를 지원하는 가상화 서버.
  6. 청구항 1에 있어서,
    상기 가상 호스트 인터페이스 집합은,
    상기 가상화 서버의 호스트 인터페이스 중에서 공유 가능 호스트 인터페이스 집합을 에뮬레이션하여 생성되되,
    상기 공유 가능 호스트 인터페이스 집합은,
    프로세서, 주기억장치, 보조기억장치, 네트워크 장치, 그래픽 처리 장치, USB 호스트 컨트롤러 및 사운드 장치로 이루어진 군으로부터 선택되는 하나 이상을 포함하는 것을 특징으로 하는 제로 클라이언트를 지원하는 가상화 서버.
  7. 청구항 1에 있어서,
    상기 직접 할당 가능 호스트 인터페이스 집합은,
    그래픽 처리 장치, USB 호스트 컨트롤러, 네트워크 장치 및 사운드 장치로 이루어진 군으로부터 선택되는 하나 이상을 포함하는 것을 특징으로 하는 제로 클라이언트를 지원하는 가상화 서버.
  8. 청구항 1에 있어서,
    상기 제로 클라이언트는,
    모니터, USB 허브, USB 키보드, USB 오디오, USB 저장 장치, 타블렛, 프린터 및 네트워크 장치로 이루어진 군으로부터 선택되는 하나 이상을 포함하는 것을 특징으로 하는 제로 클라이언트를 지원하는 가상화 서버.
  9. 가상화 서버가 상기 가상화 서버의 호스트 인터페이스 자원의 속성을 분류하여 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 단계;
    상기 가상화 서버가 사용자의 가상 머신 설정 요청에 대응하는 가상 머신 설정 명령어 집합을 가상 머신 관리 마스터 서버로부터 수신하는 단계;
    상기 가상 호스트 인터페이스 자원 풀에 대응하는 가상 호스트 인터페이스 집합을 생성하는 에뮬레이션 모드 및 상기 직접 할당 가능 호스트 인터페이스 자원 풀에 대응하는 직접 할당 가능 호스트 인터페이스 집합을 상기 제로 클라이언트와 연결하는 직접 연결 모드 중 어느 하나를 선택적으로 사용하여 상기 가상 머신의 호스트 인터페이스를 제공하는 단계를 포함하는 것을 특징으로 하는 제로 클라이언트를 지원하는 가상 머신 관리 방법.
  10. 청구항 9에 있어서,
    상기 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 단계는,
    상기 가상화 서버의 호스트 인터페이스 정보를 수집하여 호스트 인터페이스 자원 풀을 생성하는 단계; 및
    생성된 상기 호스트 인터페이스 자원 풀에서 상기 호스트 인터페이스 자원의 속성을 분류하여 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 단계를 포함하는 것을 특징으로 하는 제로 클라이언트를 지원하는 가상 머신 관리 방법.
  11. 청구항 10에 있어서,
    상기 생성된 상기 호스트 인터페이스 자원 풀에서 상기 호스트 인터페이스 자원의 속성을 분류하여 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 단계는,
    상기 가상화 서버에 설치된 가상 머신과 관련한 정보에 대응하여 가상 호스트 인터페이스 자원 풀을 생성하는 단계; 및
    상기 가상화 서버에 설치된 직접 할당 가능 호스트 인터페이스와 관련한 정보에 대응하여 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 단계를 포함하는 것을 특징으로 하는 제로 클라이언트를 지원하는 가상 머신 관리 방법.
  12. 청구항 11에 있어서,
    상기 가상화 서버에 설치된 가상 머신과 관련한 정보에 대응하여 가상 호스트 인터페이스 자원 풀을 생성하는 단계는,
    상기 가상화 서버에 설치된 프로세서의 연산 코어의 개수와 연산 코어당 동작 속도를 산출하여 가상화 서버에서 운용 가능한 가상 프로세서의 수를 산출하는 단계;
    상기 가상화 서버에 설치된 전체 호스트 메모리 크기를 이용하여 제로 클라이언트당 할당 메모리 크기를 산출하는 단계;
    상기 가상화 서버에 설치된 가상 머신 디스크 이미지의 개수를 산출하는 단계;
    상기 가상화 서버에 설치된 가상 머신 디스크 파티션의 개수를 산출하는 단계; 및
    상기 가상화 서버에 설치된 네트워크 장치의 클라이언트당 네트워크 대역폭을 산출하여 상기 가상화 서버에 생성 가능한 가상 네트워크 장치의 개수를 산출하는 단계를 포함하는 것을 특징으로 하는 제로 클라이언트를 지원하는 가상 머신 관리 방법.
  13. 청구항 11에 있어서,
    상기 가상화 서버에 설치된 직접 할당 가능 호스트 인터페이스와 관련한 정보에 대응하여 직접 할당 가능 호스트 인터페이스 자원 풀을 생성하는 단계는,
    상기 가상화 서버에 설치되어 직접 할당 가능한 그래픽 처리 장치의 정보를 확인하는 단계;
    상기 가상화 서버에 설치되어 직접 할당 가능한 USB 장치의 정보를 확인하는 단계;
    상기 가상화 서버에 설치되어 직접 할당 가능한 네트워크 장치의 정보를 확인하는 단계; 및
    상기 가상화 서버에 설치되어 직접 할당 가능한 사운드 장치의 정보를 확인하는 단계를 포함하는 것을 특징으로 하는 제로 클라이언트를 지원하는 가상 머신 관리 방법.
  14. 청구항 9에 있어서,
    상기 가상 머신 관리 마스터 서버가 상기 사용자의 가상 머신 설정 요청을 수신하는 단계;
    상기 가상 머신 관리 마스터 서버가 가상 머신 관련 호스트 인터페이스 자원 정보를 수집하여 가상화 서버 그룹 자원 풀을 생성하는 단계;
    상기 가상 머신 관리 마스터 서버가 상기 가상화 서버 그룹 자원 풀에 대응하여 상기 제로 클라이언트를 동작시키기 위한 가상 머신 설정 명령어 집합을 생성하는 단계; 및
    상기 가상 머신 관리 마스터 서버가 생성된 상기 가상 머신 설정 명령어 집합을 상기 가상화 서버로 송신하는 단계를 더 포함하는 것을 특징으로 하는 제로 클라이언트를 지원하는 가상 머신 관리 방법.
  15. 청구항 14에 있어서,
    상기 가상 머신 관련 호스트 인터페이스 자원 정보는,
    상기 가상화 서버의 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀에서 수집하는 것을 특징으로 하는 제로 클라이언트를 지원하는 가상 머신 관리 방법.
  16. 청구항 14에 있어서,
    상기 가상 머신 설정 명령어 집합을 생성하는 단계는,
    상기 가상 머신 관리 마스터 서버가 상기 가상화 서버 그룹 자원 풀에서 상기 사용자의 가상 머신 설정 요청에 대응하는 호스트 인터페이스가 이용 가능한지 여부를 확인하여 이용 가능한 경우에 해당 호스트 인터페이스에 대한 직접 접근 정보를 가상 머신 설정 명령어 집합에 추가하는 단계를 포함하는 것을 특징으로 하는 제로 클라이언트를 지원하는 가상 머신 관리 방법.
  17. 청구항 16에 있어서,
    상기 가상 머신 설정 명령어 집합을 이용하여 가상 머신이 생성된 경우, 상기 가상화 서버가 상기 가상 머신을 생성하는데 소비한 호스트 인터페이스의 자원 정보를 이용하여 상기 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀을 갱신하는 단계를 더 포함하는 것을 특징으로 하는 제로 클라이언트를 지원하는 가상 머신 관리 방법.
  18. 청구항 17에 있어서,
    상기 가상 머신 관리 마스터 서버가 갱신된 상기 가상 호스트 인터페이스 자원 풀 및 직접 할당 가능 호스트 인터페이스 자원 풀에 대응하여 상기 가상화 서버 그룹 자원 풀을 갱신하는 단계를 더 포함하는 것을 특징으로 하는 제로 클라이언트를 지원하는 가상 머신 관리 방법.
KR1020110107125A 2011-05-18 2011-10-19 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법 KR101495862B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110107125A KR101495862B1 (ko) 2011-05-18 2011-10-19 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법
US13/474,214 US9063793B2 (en) 2011-05-18 2012-05-17 Virtual server and virtual machine management method for supporting zero client by providing host interfaces from classified resource pools through emulation or direct connection modes

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20110046913 2011-05-18
KR1020110046913 2011-05-18
KR1020110107125A KR101495862B1 (ko) 2011-05-18 2011-10-19 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법

Publications (2)

Publication Number Publication Date
KR20120129740A true KR20120129740A (ko) 2012-11-28
KR101495862B1 KR101495862B1 (ko) 2015-03-13

Family

ID=47175962

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110107125A KR101495862B1 (ko) 2011-05-18 2011-10-19 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법

Country Status (2)

Country Link
US (1) US9063793B2 (ko)
KR (1) KR101495862B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101492217B1 (ko) * 2012-12-11 2015-02-12 한국전자통신연구원 가상 데스크탑 서비스를 위한 클라이언트 시스템
KR101498965B1 (ko) * 2014-06-27 2015-03-04 김영자 가상화 기술을 이용한 내외부망 격리 시스템 및 방법
WO2016099184A1 (ko) * 2014-12-18 2016-06-23 권영민 가상화 멀티 세션 지원을 위한 서버 구조
KR102321930B1 (ko) * 2020-08-24 2021-11-04 주식회사 두두아이티 듀얼 제로 클라이언트 기반의 통신 방법 및 장치

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323579B2 (en) * 2012-08-25 2016-04-26 Vmware, Inc. Resource allocation diagnosis on distributed computer systems
US9298512B2 (en) * 2012-08-25 2016-03-29 Vmware, Inc. Client placement in a computer network system using dynamic weight assignments on resource utilization metrics
EP2808791A1 (de) * 2013-05-27 2014-12-03 Siemens Aktiengesellschaft Entfernte Reservierung von virtuellen Desktops
US9537935B2 (en) 2013-09-30 2017-01-03 Eric Trent Dryden Consumer PC in the cloud
KR20150071807A (ko) * 2013-12-18 2015-06-29 현대자동차주식회사 차량용 클라우드 시스템
CN103617048B (zh) * 2013-12-18 2017-01-11 广东中科遥感技术有限公司 一种虚拟机连接池分组系统及分组连接方法
US10628186B2 (en) * 2014-09-08 2020-04-21 Wirepath Home Systems, Llc Method for electronic device virtualization and management
JP2016119583A (ja) * 2014-12-22 2016-06-30 株式会社東芝 Ip電話ネットワークシステムとサーバ装置、ip交換機及びリソース容量拡張方法
US9916175B2 (en) * 2015-01-25 2018-03-13 Objective Interface Systems, Inc. Multi-session zero client device and network for transporting separated flows to device sessions via virtual nodes
CN106155812A (zh) 2015-04-28 2016-11-23 阿里巴巴集团控股有限公司 一种对虚拟主机的资源管理的方法、装置、系统及电子设备
KR102328193B1 (ko) * 2015-06-24 2021-11-18 한국전자통신연구원 가상 데스크탑 서비스를 위한 장치 및 방법
CN106126265B (zh) * 2016-07-04 2019-05-31 南京金佰达电子科技有限公司 一种零客户端系统图形接口的产生方法
US10528380B2 (en) * 2017-11-27 2020-01-07 Parallels International Gmbh Virtual machine to host communication channel
CN110753075B (zh) * 2018-07-24 2022-06-17 昆山尚尼司电子科技有限公司 远端设备的抽象化与模拟行为的处理方法与系统
KR102139058B1 (ko) * 2019-05-10 2020-07-29 (주)비앤에스컴 서버 관리 장치를 구비한 클라우드 서버 및 로컬 서버를 이용하는 제로클라이언트 단말기용 클라우드 컴퓨팅 시스템
KR20220012760A (ko) 2020-07-23 2022-02-04 이근호 가상화 서버 구축 시스템
CN112667401A (zh) * 2020-12-29 2021-04-16 深圳大普微电子科技有限公司 一种资源分配方法、系统及设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5062037A (en) * 1988-10-24 1991-10-29 Ibm Corp. Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an sna network
US7412492B1 (en) * 2001-09-12 2008-08-12 Vmware, Inc. Proportional share resource allocation with reduction of unproductive resource consumption
US7536688B2 (en) * 2003-02-28 2009-05-19 Azul Systems Segmented virtual machine
US20050246453A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation Providing direct access to hardware from a virtual environment
US7669202B1 (en) * 2004-10-05 2010-02-23 Azul Systems, Inc. Resource management
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US20070083660A1 (en) * 2005-09-23 2007-04-12 Thornton Barry W Amorphic Computing
US7613847B2 (en) * 2006-05-16 2009-11-03 Hewlett-Packard Development Company, L.P. Partially virtualizing an I/O device for use by virtual machines
US20070271560A1 (en) * 2006-05-18 2007-11-22 Microsoft Corporation Deploying virtual machine to host based on workload characterizations
US9098347B2 (en) * 2006-12-21 2015-08-04 Vmware Implementation of virtual machine operations using storage system functionality
US8527673B2 (en) 2007-05-23 2013-09-03 Vmware, Inc. Direct access to a hardware device for virtual machines of a virtualized computer system
US20090006537A1 (en) 2007-06-29 2009-01-01 Microsoft Corporation Virtual Desktop Integration with Terminal Services
US7945436B2 (en) * 2007-11-06 2011-05-17 Vmware, Inc. Pass-through and emulation in a virtual machine environment
US9037692B2 (en) * 2008-11-26 2015-05-19 Red Hat, Inc. Multiple cloud marketplace aggregation
US8336079B2 (en) * 2008-12-31 2012-12-18 Hytrust, Inc. Intelligent security control system for virtualized ecosystems
US8146082B2 (en) 2009-03-25 2012-03-27 Vmware, Inc. Migrating virtual machines configured with pass-through devices
US8589554B2 (en) * 2009-12-30 2013-11-19 Bmc Software, Inc. Intelligent and elastic resource pools for heterogeneous datacenter environments

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101492217B1 (ko) * 2012-12-11 2015-02-12 한국전자통신연구원 가상 데스크탑 서비스를 위한 클라이언트 시스템
KR101498965B1 (ko) * 2014-06-27 2015-03-04 김영자 가상화 기술을 이용한 내외부망 격리 시스템 및 방법
WO2016099184A1 (ko) * 2014-12-18 2016-06-23 권영민 가상화 멀티 세션 지원을 위한 서버 구조
US10560727B2 (en) 2014-12-18 2020-02-11 Ermind Co., Ltd Server structure for supporting multiple sessions of virtualization
KR102321930B1 (ko) * 2020-08-24 2021-11-04 주식회사 두두아이티 듀얼 제로 클라이언트 기반의 통신 방법 및 장치

Also Published As

Publication number Publication date
KR101495862B1 (ko) 2015-03-13
US9063793B2 (en) 2015-06-23
US20120297382A1 (en) 2012-11-22

Similar Documents

Publication Publication Date Title
KR101495862B1 (ko) 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법
US11429442B2 (en) Parallel and distributed computing using multiple virtual machines
KR101740327B1 (ko) 소프트웨어 가상화를 이용하여 소프트웨어 서비스를 제공하기 위한 장치, 시스템 및 그 방법
EP2622461B1 (en) Shared memory between child and parent partitions
US20130174151A1 (en) Information processing apparatus and method of controlling virtual machine
US20160048411A1 (en) Live migration of virtual machines using virtual bridges in a multi-root input-output virtualization blade chassis
WO2016118978A1 (en) A multi-session zero client device and network for transporting separated flows to device sessions via virtual nodes
US10956197B2 (en) Virtual machine with an emulator manager for migration of synchronized streams of state data
WO2018144292A1 (en) Graphics processing unit partitioning for virtualization
JP2009187368A (ja) Usbポートの共有制御方法
US9652263B2 (en) Migrating servers into a secured environment
EP3301574B1 (en) Method for managing graphic cards in a computing system
JP2022105146A (ja) アクセラレーションシステム、アクセラレーション方法、及びコンピュータプログラム
US20200396306A1 (en) Apparatuses and methods for a distributed message service in a virtualized computing system
WO2022001808A1 (zh) 一种系统以及中断处理方法
US10157074B2 (en) Systems and methods for multi-root input/output virtualization-based management by single service processor
KR101239290B1 (ko) 제로 클라이언트를 지원하는 가상화 서버의 가상 머신 설정을 위한 시스템 및 방법
Chang et al. On construction and performance evaluation of a virtual desktop infrastructure with GPU accelerated
KR20120068573A (ko) 심리스 애플리케이션 통합 장치 및 방법
US9971785B1 (en) System and methods for performing distributed data replication in a networked virtualization environment
JP5606476B2 (ja) クライアント管理システム、クライアント管理方法及びプログラム
US20190109763A1 (en) Non-disruptively splitting a coordinated timing network
CN106502721B (zh) 一种命令卸载方法、装置及物理机
US11249804B2 (en) Affinity based optimization of virtual persistent memory volumes
US20160026567A1 (en) Direct memory access method, system and host module for virtual machine

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180129

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190125

Year of fee payment: 5