KR20120064575A - Method for accelerating virtual desktop protocol based on server virtualization - Google Patents
Method for accelerating virtual desktop protocol based on server virtualization Download PDFInfo
- Publication number
- KR20120064575A KR20120064575A KR1020100125859A KR20100125859A KR20120064575A KR 20120064575 A KR20120064575 A KR 20120064575A KR 1020100125859 A KR1020100125859 A KR 1020100125859A KR 20100125859 A KR20100125859 A KR 20100125859A KR 20120064575 A KR20120064575 A KR 20120064575A
- Authority
- KR
- South Korea
- Prior art keywords
- virtual desktop
- desktop protocol
- data
- virtual
- task
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
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 And Data Communications (AREA)
Abstract
Description
본 발명은 서버 가상화 환경의 가상 데스크탑 터미널 서비스에 관한 것으로, 더욱 상세하게는 가상화 서버의 처리 부하를 경감시킬 수 있는 서버 가상화 기반 가상 데스크탑 프로토콜 가속 방법에 관한 것이다.The present invention relates to a virtual desktop terminal service in a server virtualization environment, and more particularly, to a server virtualization-based virtual desktop protocol acceleration method that can reduce the processing load of a virtualization server.
일반적으로 윈도우 시스템을 지원하는 운영체제(OS: Operating System)는 로컬과 유사한 환경으로 원격 사용자에게 데스크탑을 제공하기 위해 가상 데스크탑 프로토콜을 사용한 가상 데스크탑 터미널 서비스를 제공한다. In general, an operating system (OS) supporting a Windows system provides a virtual desktop terminal service using a virtual desktop protocol to provide a desktop to a remote user in a local-like environment.
예를 들어, MS(Microsoft)에서는 RDP(Remote Desktop Protocol)라는 가상 데스크탑 프로토콜을 이용하여 RDC(Remote Desktop Connection)라는 가상 데스크탑 터미널 서비스를 제공하고, 리눅스에서는 RFB(Remote Framebuffer)라는 가상 데스크탑 프로토콜을 이용하여 VNC(Virtual Network Computing)라는 가상 데스크탑 터미널 서비스를 제공한다. 또한, 테라디시(Teradici)는 PCoIP(PC-over-IP)라는 가상 데스크탑 프로토콜 솔루션을 제공한다.For example, Microsoft (Microsoft) provides a virtual desktop terminal service called Remote Desktop Connection (RDC) using a virtual desktop protocol called RDP (Remote Desktop Protocol), and Linux uses a virtual desktop protocol called RFB (Remote Framebuffer). To provide a virtual desktop terminal service called Virtual Network Computing (VNC). Teradici also offers a virtual desktop protocol solution called PC-over-IP (PCoIP).
특히, 가상 데스크탑 터미널 서비스는 한 대의 서버에 복수의 운영체제(OS)가 탑재되어 운영되는 서버 가상화(server virtualization)에 적용되어 네트워크를 통하여 여러 사용자에게 독립적인 데스크탑 환경을 제공해 준다. 이와 같은 가상 테스크탑 터미널 서비스는 MS(Microsoft)의 RDP를 개선한 시트릭스(Citrix)의 3D HDX, 테라디시(Teradici)의 PCoIP를 적용한 VMware의 VMware View가 있다. In particular, the virtual desktop terminal service is applied to server virtualization, in which a plurality of operating systems (OSs) are mounted on a single server to provide an independent desktop environment to multiple users through a network. These virtual desktop terminal services include Citrix's 3D HDX, which improves on Microsoft's RDP, and VMware's VMware View, which uses PCoIP from Teradici.
가상 데스크탑 터미널 서비스에서 원격 사용자에게 로컬 컴퓨터를 사용하는 것과 유사한 경험을 제공하기 위해서는 사용자의 터미널에서에 수행되는 입력(예를 들면, 마우스, 키보드, 타블렛, 마이크, USB 데이터 쓰기 등) 대비 호스트 컴퓨터의 출력(예를 들면, 스크린, 오디오, USB 데이터 읽기 등) 반응 시간이 짧아야 한다. 그러나 네트워크 대역폭은 한정되어 있고, 네트워크를 통해 전송되는 데스크탑 프로토콜의 데이터는 용량이 매우 크기 때문에 사용자 터미널에서 지연 시간을 만족시키기 위해서 종래의 다양한 가상 데스크탑 프로토콜에는 압축 등과 같은 소프트웨어적인 가속 기능을 포함하고 있다.In Virtual Desktop Terminal Services, to provide a remote user with a similar experience to using a local computer, the host computer's input is compared to the input performed on the user's terminal (for example, a mouse, keyboard, tablet, microphone, USB data write, etc.). Output (eg screen, audio, USB data read, etc.) response time should be short. However, because network bandwidth is limited and the data of desktop protocols transmitted over the network is very large, various conventional virtual desktop protocols include software acceleration functions such as compression to satisfy the delay time at the user terminal. .
유일한 물리 자원을 이용하여 복수의 운영체제(OS)를 운영하는 서버 가상화 환경에서는 종래의 단일 컴퓨터 환경과 비교하여 프로세서의 활용도가 높고, 이와 같은 환경에서 가상 데스크탑 터미널 서비스를 적용하는 경우 서버 시스템의 마비를 초래할 수 있다. 특히, 가상 데스크탑 프로토콜에서 소프트웨어로 처리하는 데이터 압축은 프로세서의 부하를 배가시키는 주요 원인이 된다.In a server virtualization environment that uses multiple physical operating systems (OSs) using unique physical resources, the processor utilization is higher than that of a conventional single computer environment. Can cause. In particular, data compression processed by software in the virtual desktop protocol is a major cause of doubling the processor load.
상기한 바와 같은 단점을 극복하기 위한 본 발명의 목적은 서버 가상화 환경에서 가상화 서버의 처리 부하를 경감시킬 수 있는 서버 가상화 기반 가상 데스크탑 프로토콜 가속 방법을 제공하는 것이다.
An object of the present invention for overcoming the above disadvantages is to provide a server virtualization-based virtual desktop protocol acceleration method that can reduce the processing load of the virtual server in the server virtualization environment.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다. Technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 서버 가상화 기반 가상 데스크탑 프로토콜 가속 방법은 상위 계층으로부터 제공된 가상 머신 구분자에 기초하여 처리할 태스크의 속성을 검색하는 단계와, 상위 계층으로부터 제공된 처리 데이터 정보에 기초하여 처리할 해당 데이터를 인출하는 단계 및 검색된 태스크 속성에 기초하여 해당 데이터를 처리하고, 처리된 데이터를 상위 계층에 전달하는 단계를 포함한다. Server virtualization-based virtual desktop protocol acceleration method according to an aspect of the present invention for achieving the above object of the present invention comprises the steps of retrieving the attribute of the task to be processed based on the virtual machine identifier provided from the upper layer, and from the upper layer Retrieving the corresponding data to be processed based on the provided processed data information, processing the corresponding data based on the retrieved task attribute, and delivering the processed data to a higher layer.
상술한 바와 같은 서버 가상화 기반 가상 데스크탑 프로토콜 가속 방법에 따르면, 서버 가상화 환경에서 소프트웨어적으로 처리되는 가상 데스크탑 프로토콜 처리 태스크 중 일부를 선택적으로 전용 하드웨어인 가상 데스크탑 프로토콜 가속 장치에서 처리하도록 함으로써 가상화 서버의 프로세서의 처리 부하를 경감시킬 수 있고, 이를 통해 가상화 서버의 전체적인 처리 성능을 향상시킬 수 있고, 가상화 서버로부터 가상 데스크탑을 제공받는 사용자 터미털의 지연 시간을 만족시킬 수 있다.According to the server virtualization-based virtual desktop protocol acceleration method as described above, some of the virtual desktop protocol processing tasks that are processed in software in the server virtualization environment is selectively processed by the virtual desktop protocol accelerator, which is dedicated hardware, to process the processor of the virtual server. It can reduce the processing load of the server, thereby improving the overall processing performance of the virtualization server, and satisfy the latency of the user terminal receiving the virtual desktop from the virtualization server.
도 1은 본 발명의 일 실시예에 따른 터미널 서비스 기능을 구비한 윈도우 시스템 기반 컴퓨터의 구성을 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 가상화 서버의 구성을 나타내는 블록도이다.
도 3은 도 2에 도시한 가상 데스크탑 프로토콜 가속 장치의 보다 상세한 구성을 나타내는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 서버 가상화 기반 가상 데스크탑 프로토콜 가속 방법에서 가상 데스크탑 프로토콜 가속 장치의 구동 및 태스크 속성 설정 과정을 나타내는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 서버 가상화 기반 가상 데스크탑 프로토콜 가속 방법에서 가상 데스크탑 프로토콜 가속 장치에 가속 데이터를 전달 및 처리하기 위한 동작을 나타내는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 서버 가상화 기반 가상 데스크탑 프로토콜 가속 방법에서 가상 데스크탑 프로토콜 가속 장치에 설정된 가속 태스크의 속성을 삭제하기 위한 동작을 나타내는 흐름도이다.1 is a block diagram illustrating a configuration of a window system-based computer having a terminal service function according to an embodiment of the present invention.
2 is a block diagram showing the configuration of a virtualization server according to an embodiment of the present invention.
FIG. 3 is a block diagram illustrating a more detailed configuration of the virtual desktop protocol accelerator shown in FIG. 2.
4 is a flowchart illustrating a process of driving a virtual desktop protocol acceleration device and setting task properties in a server virtualization-based virtual desktop protocol acceleration method according to an embodiment of the present invention.
5 is a flowchart illustrating an operation for transferring and processing acceleration data to a virtual desktop protocol acceleration device in a server virtualization-based virtual desktop protocol acceleration method according to an embodiment of the present invention.
6 is a flowchart illustrating an operation for deleting an attribute of an acceleration task set in a virtual desktop protocol acceleration device in a server virtualization-based virtual desktop protocol acceleration method according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to facilitate the understanding of the present invention, the same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.
도 1은 본 발명의 일 실시예에 따른 터미널 서비스 기능을 구비한 윈도우 시스템 기반 컴퓨터의 구성을 나타내는 블록도이다.1 is a block diagram illustrating a configuration of a window system-based computer having a terminal service function according to an embodiment of the present invention.
도 1을 참조하면, 컴퓨터(100)는 애플리케이션 계층(110), 윈도우 시스템을 지원하는 운영체제(이하, 'OS'라 약칭함) 계층(120) 및 하드웨어 계층(130)으로 구성될 수 있다.Referring to FIG. 1, the
윈도우 시스템 기반 컴퓨터(100) 환경에서는 사용자 데스크탑 및 애플리케이션(111)을 표현하기 위해 윈도의 기반 운영체제 계층(120)에 포함된 공통의 윈도우 시스템 라이브러리(121)를 통해 비디오 어댑터(123), USB 인터페이스(124), 시리얼 포트 인터페이스(125), 오디오 어댑터(126) 등의 입출력 인터페이스에 접근하고, 이를 통해 모니터(131), USB 장치(132), 키보드/마우스(133), 오디오 장치(134) 등의 입출력 하드웨어 장치와 통신한다. In the Windows system-based
또한, 윈도우 시스템 기반 컴퓨터(100) 환경에서는 운영체제 계층(120)에 포함된 윈도우 시스템 라이브러리 하부의 가상 데스크탑 프로토콜 스택(122)에서 비디오 어댑터(123), USB 인터페이스(124), 시리얼 포트 인터페이스(125), 오디오 어댑터(126) 등의 입출력 인터페이스의 데이터를 수집하여 애플리케이션 계층(110)의 터미널 서비스 연결 프로세스(112)를 통해 터미널 서비스를 제공한다.
In addition, in the Windows system-based
도 2는 본 발명의 일 실시예에 따른 가상화 서버의 구성을 나타내는 블록도이다.2 is a block diagram showing the configuration of a virtualization server according to an embodiment of the present invention.
도 2를 참조하면, 가상화 서버(1000)는 복수의 가상 머신(1100a, 1100b), 가상화 계층(1200), 호스트 OS 계층(1300) 및 하드웨어 계층(1400)을 포함할 수 있다.Referring to FIG. 2, the
서버 가상화 환경에 적용되는 가상화 서버(1000)에서는 복수의 가상 머신(1100a 및 1100b)이 동작한다. 도 2에서는 가상화 서버(1000)가 제1 가상 머신(1100a) 및 제2 가상 머신(1100b)만 포함하는 것으로 예를 들어 도시하였으나, 이는 설명의 편의를 위한 일 예일 뿐이며, 가상화 서버(1000)에 포함되는 가상 머신의 수는 한정되지 않는다.In the
각 가상 머신(1100a 및 1100b)에서 동작하는 애플리케이션 계층(1110) 및 게스트 윈도우 운영체제 계층(1120)은 도 1에 도시한 일반 컴퓨터(100)에 탑재되는 해당 구성요소(즉 도 1의 110 및 120)와 호환성을 갖고, 코드의 수정 없이 동작한다.The
그러나, 각 가상 머신(1100a 및 1100b)의 입출력 인터페이스인 비디오 어댑터(1123), USB 인터페이스(1124), 시리얼 포트 인터페이스(1125) 및 오디오 어댑터(1126) 등은 가상화 계층(1200)의 라우팅을 통해서만 하드웨어 계층(1400)에 접근할 수 있다.However, the
가상화 계층(1200)에 위치한 가상 입출력 하드웨어 자원(1210)은 호스트 컴퓨터의 메모리 주소 공간으로, 상기 가상 입출력 하드웨어 자원(1210)에는 도 1에 도시한 컴퓨터(100)의 하드웨어 계층(130)에 전달되는 데이터와 동일한 데이터가 저장된다.The virtual input /
본 발명의 일 실시예에 따른 가상화 서버(1000)는 복수의 가상 머신 들(1100a 및 1100b)에게 각각의 터미널 서비스를 제공하기 위해, 가상 입출력 하드웨어 자원(1210)의 입출력 데이터를 수집 및 처리하는 가상 데스크탑 프로토콜 데이터 관리 풀(1220) 및 터미널 서비스의 연결 및 제공을 위한 가상 데스크탑 연결 및 전송 관리 서버 풀(1230)을 이용한다.The
즉, 가상 데스크탑 프로토콜 데이터 관리 풀(1220)에서 수집된 데이터는 입출력 장치 속성 별로 데이터를 나누어서 부호화 혹은 역부호화하고, 가상 데스크탑 연결 및 전송 관리 서버 풀(1230)을 통해 각각의 원격 사용자 클라이언트로 전달된다.That is, data collected from the virtual desktop protocol
본 발명은 가상화 서버의 터미널 서비스 제공에 병목 지점이 되는 가상 데스크탑 프로토콜 데이터 관리 풀(1220)의 태스크를 부분적으로 호스트 OS 계층(1300)의 가상 데스크탑 프로토콜 가속 장치 인터페이스(1310)를 통해 가상 데스크탑 프로토콜 가속 장치(1410)가 처리하도록 한다.
The present invention partially accelerates the tasks of the virtual desktop protocol
도 3은 도 2에 도시한 가상 데스크탑 프로토콜 가속 장치의 보다 상세한 구성을 나타내는 블록도이다.FIG. 3 is a block diagram illustrating a more detailed configuration of the virtual desktop protocol accelerator shown in FIG. 2.
도 3을 참조하면, 가상 데스크탑 프로토콜 가속 장치(1410)는 가상 데스크탑 프로토콜 가속 전용 프로세서(1411), 가상 데스크탑 프로토콜 태스크 속성 명령 풀(1412), 가상 데스크탑 프로토콜 데이터 전송 명령 풀(1413), 그래픽 태스크 풀(1414), 오디오 태스크 풀(1415), USB 태스크 풀(1416) 및 가상 데스크탑 프로토콜 가속 전용 메모리(1417)를 포함하고, 상기 구성요소들은 가상 데스크탑 프로세서 로컬 버스를 통해 연결된다.Referring to FIG. 3, the virtual
가상 데스크탑 프로토콜 가속 전용 프로세서(1411)는 가상 데스크탑 프로토콜 태스크 속성 설정 및 삭제 명령을 처리하고, 그래픽 부호화, 오디오 및 USB 채널 부호화 또는 역부호화 명령을 처리하며 데이터 송수신을 제어한다.The virtual desktop protocol acceleration
또한, 가상 데스크탑 프로토콜 가속 전용 프로세서(1411)는 호스트 프로세서(200)로부터 명령 및/또는 데이터를 전달받고, 전달받은 명령 및/또는 데이터에 기초하여 가상 데스크탑 프로토콜 가속 장치(1410)의 다른 구성요소들을 제어한다. In addition, the virtual desktop protocol acceleration
가상 데스크탑 프로토콜 태스크 속성 명령 풀(1412)은 가상 데스크탑 프로토콜 태스크 속성 설정 및 삭제 명령을 저장한다.The virtual desktop protocol task attribute
가상 데스크탑 태스크 속성 명령 풀(1412)에 저장된 명령은 가상 데스크탑 프로토콜 전용 프로세서(1411)에 의해 처리되어 그래픽 태스크 풀(1414), 오디오 태스크 풀(1415) 및 USB 태스크 풀(1416) 각각에 해당 태스크 처리의 명령을 저장한다.Commands stored in the virtual desktop task
가상 데스크탑 프로토콜 데이터 전송 명령 풀(1413)은 가상 데스크탑 프로토콜 가속 장치(1410)에서 처리할 데이터의 인출 명령을 저장한다.The virtual desktop protocol data transfer
그래픽 태스크 풀(1414)은 가상 데스크탑 프로토콜의 태스크 속성 중 그래픽 태스크 처리 명령을 저장한다.The
오디오 태스크 풀(1415)은 가상 데스크탑 프로토콜의 태스크 속성 중 오디오 태스크 처리 명령을 저장한다.The
USB 태스크 풀(1416)은 가상 데스크탑 프로토콜의 태스크 속성 중 USB 태스크 처리 명령을 저장한다.The
그래픽 태스크 풀(1414), 오디오 태스크 풀(1315), 그리고 USB 태스크 풀(1416)에 저장된 명령은 가상 데스크탑 프로토콜 데이터 전송 명령 풀(1413)에 저장된 데이터 전송 명령을 통해서 상기 가상 데스크탑 프로토콜 가속 장치(1410)에서 처리할 태스크의 데이터가 가상 데스크탑 프로토콜 가속 전용 메모리(1417)에 복사가 완료되는 시점에 해당 태스크 풀(1414, 1415, 1416)의 명령을 수행한다. 각 풀의 명령은 가상 머신 구분자와 함께 저장되어 가상 데스크탑 프로토콜 가속 전용 메모리(1417)에서 각 가상 머신의 정보를 인출하는 인덱스로 쓰인다.The commands stored in the
가상 데스크탑 프로토콜 가속 전용 메모리(1417)는 가상 데스크탑 프로토콜 가속 전용 프로세서(1411)에서 처리할 태스크의 속성 및 해당 태스크의 데이터, 해당 태스크의 처리 결과 데이터를 저장한다.The virtual desktop protocol acceleration dedicated
가상 데스크탑 프로토콜 가속 장치(1410)는 복수의 가상 머신(1100a, 1100b)에서 접근되기 때문에 가상 머신 구분자를 이용하여 각각의 가상 데스크탑을 구분한다. 가상 데스크탑 프로토콜 가속 전용 메모리(1417)에는 가상 머신의 구분자와, 상기 가상 데스크탑 프로토콜 가속 장치(1410)에서 처리할 데이터의 인출 주소 및 상기 가상 데스크탑 프로토콜 가속 장치(1410)에서 처리된 데이터가 전송될 호스트 메모리의 주소가 저장된다.
Since the virtual
도 4는 본 발명의 일 실시예에 따른 서버 가상화 기반 가상 데스크탑 프로토콜 가속 방법에서 가상 데스크탑 프로토콜 가속 장치의 구동 및 태스크 속성 설정 과정을 나타내는 흐름도이다.4 is a flowchart illustrating a process of driving a virtual desktop protocol acceleration device and setting task properties in a server virtualization-based virtual desktop protocol acceleration method according to an embodiment of the present invention.
도 2 내지 도 4를 참조하면, 먼저 가상화 계층(1200)의 가상 데스크탑 프로토콜 데이터 관리 풀(1220)은 호스트 OS 계층(1300)의 가상 데스크탑 프로토콜 가속 장치 인터페이스(1310)을 활성화시킨다(단계 310). 여기서, 가상 데스크탑 프로토콜 가속 장치 인터페이스(1310)는 복수의 가상 머신의 가상 데스크탑 프로토콜 가속에 사용되기 위해 하나의 프로세스에 선점되어서는 안된다. 가상 데스크탑 프로토콜 가속 장치 인터페이스(1310)는 가상 데스크탑 프로토콜 데이터 관리 풀(1220)에 의해 활성화됨과 동시에 가상 데스크탑 프로토콜 가속 장치(1410)를 활성화시킨다.2 to 4, first, the virtual desktop protocol
이후, 가상 데스크탑 프로토콜 데이터 관리 풀(1220)은 가상 데스크탑 프로토콜 가속 장치 인터페이스(1310)를 통해 하드웨어 계층(1400)의 가상 데스크탑 프로토콜 가속 장치(1410)의 존재 유무와 동작을 확인한다(단계 320).Thereafter, the virtual desktop protocol
이후, 가상 데스크탑 프로토콜 데이터 관리 풀(1220)은 가상 테스크탑 프로토콜 가속 장치(1410)가 존재하고 정상적으로 동작하는 것으로 확인되면, 상기 가상 데스크탑 프로토콜 가속 장치(1410)에서 처리할 태스크의 속성을 결정하고, 해당 가상 머신의 구분자와 가속 태스크의 속성을 인자로 하여 가상 데스크탑 프로토콜 가속 장치 인터페이스(1310)에 가상 데스크탑 프로토콜 태스크 속성 설정 명령을 전달한다(단계 330). 여기서, 가속할 태스크의 속성에는 그래픽의 부호화, 오디오의 출력 부호화 및 입력 복호화 또는 USB 출력 부호화 및 입력 복호화를 포함할 수 있고, 가상 데스크탑 프로토콜 가속 장치(1410)에서 이와 같은 속성을 선택적으로 처리할 수 있다.Subsequently, when it is determined that the virtual
가상 데스크탑 프로토콜 가속 장치 인터페이스(1310)는 가상 데스크탑 프로토콜 데이터 관리 풀(1220)로부터 제공된 속성 및 명령을 가상 데스크탑 프로토콜 가속 장치(1410)에 전달한다(단계 340). 여기서, 가상 데스크탑 프로토콜 가속 인터페이스(1310)는 가상 머신에 대한 자료구조를 생성하여 가상 머신 구분자와 태스크 속성을 저장한다. 또한, 가상 데스크탑 프로토콜 가속 인터페이스(1310)는 가상 데스크탑 프로토콜 가속 장치(1410)에 인터럽트를 통해 상기 명령을 하달하고, 가상 데스크탑 프로토콜 가속 장치(1410)로부터 제공된 인터럽트를 통해 상기 명령 처리 시점을 인지한다. 또한, 가상 데스크탑 프로토콜 가속 장치 인터페이스(1310)는 가상 데스크탑 프로토콜 가속 장치(1410)으로부터 상기 명령 처리 결과 수신한 후, 가상 데스크탑 프로토콜 데이터 관리 풀(1220)에 처리 결과를 회신한다.The virtual desktop
가상 데스크탑 프로토콜 가속 장치(1410)는 가상 데스크탑 프로토콜 가속 장치 인터페이스(1310)로부터 전달받은 명령을 가상 머신의 구분자와 함께 가상 데스크탑 프로토콜 태스크 속성 명령 풀(1412)에 저장하고, 인자로 하여 넘겨받은 태스크 속성을 가상 머신의 구분자를 인덱스로 하여 가상 데스크탑 프로토콜 가속 전용 메모리(1417)에 저장한다. 이후, 가상 데스크탑 프로토콜 가속 장치(1410)는 상기 명령의 수행 결과를 가상 데스크탑 프로토콜 가속 장치 인터페이스(1310)에 전달한다(단계 350).
The virtual
도 5는 본 발명의 일 실시예에 따른 서버 가상화 기반 가상 데스크탑 프로토콜 가속 방법에서 가상 데스크탑 프로토콜 가속 장치에 가속 데이터를 전달 및 처리하기 위한 동작을 나타내는 흐름도이다.5 is a flowchart illustrating an operation for transferring and processing acceleration data to a virtual desktop protocol acceleration device in a server virtualization-based virtual desktop protocol acceleration method according to an embodiment of the present invention.
먼저, 가상화 계층(1200)의 가상 데스크탑 프로토콜 데이터 관리 풀(1220)은 가상 입출력 하드웨어 자원(1210) 중 하드웨어 계층(1400)의 가상 데스크탑 프로토콜 가속 장치(1410)에서 처리할 태스크의 속성, 상기 태스크가 처리할 데이터가 저장된 호스트의 메모리 주소, 데이터 크기 및 데이터 처리 결과를 저장할 호스트의 메모리 주소를 가상 데스크탑 데이터 전송 명령과 함께 호스트 OS 계층(1300)의 가상 데스크탑 프로토콜 가속 장치 인터페이스(1310)으로 전송한다(단계 410).First, the virtual desktop protocol
가상 데스크탑 프로토콜 가속 장치 인터페이스(1310)는 가상 데스크탑 프로토콜 가속 장치(1410)로부터 상기 단계 410에서 제공받은 인자의 유효성을 파악하고 상기 인자가 유효할 경우, 도 4에 도시한 과정을 통해서 저장한 가상 머신의 구분자와 상기 인자를 가상 데스크탑 프로토콜 가속 장치(1410)에 전달한다(단계 420). 또한 가상 데스크탑 프로토콜 가속 장치 인터페이스(1310)는 가상 데스크탑 프로토콜 가속 장치(1410)에서 태스크 처리가 완료되기를 기다린 후, 가상 데스크탑 프로토콜 데이터 관리 풀(1220)에서 요청한 모든 태스크가 가상 데스크탑 프로토콜 가속 장치(1410)에서 완료되어 가상 데스크탑 프로토콜 가속 장치(1410)로부터 완료 인터럽트와 처리 결과를 받은 경우, 가상 데스크탑 프로토콜 데이터 관리 풀(1220)에 이를 회신한다.The virtual desktop
가상 데스크탑 프로토콜 가속 장치(1410)은 단계 420에서 가상 데스크탑 프로토콜 가속 장치 인터페이스(1310)로부터 제공받은 데이터 전송 및 처리 명령을 처리한 후, 인터럽트를 통해 가상 데스크탑 프로토콜 가속 장치 인터페이스(1310)로 처리 결과를 회신한다. 여기서, 가상 데스크탑 프로토콜 가속 장치(1410)는 제공된 가상 머신의 구분자를 이용하여 처리할 태스크의 속성을 검색하고, 처리할 데이터의 주소 및 크기 정보를 이용하여 해당 데이터를 인출한 후, 가상 데스크탑 프로토콜 태스크 속정 명령 풀(1412)에 설정된 속성별 전달받은 데이터를 처리하고, 가속 처리된 데이터는 가상 데스크탑 프로토콜 데이터 관리 풀(1220)의 메모리 주소 공간에 전달한다.
The virtual
도 6은 본 발명의 일 실시예에 따른 서버 가상화 기반 가상 데스크탑 프로토콜 가속 방법에서 가상 데스크탑 프로토콜 가속 장치에 설정된 가속 태스크의 속성을 삭제하기 위한 동작을 나타내는 흐름도이다.6 is a flowchart illustrating an operation for deleting an attribute of an acceleration task set in a virtual desktop protocol acceleration device in a server virtualization-based virtual desktop protocol acceleration method according to an embodiment of the present invention.
도 6을 참조하면, 먼저 가상화 계층(1200)의 가상 데스크탑 프로토콜 데이터 관리 풀(1220)은 하드웨어 계층(1400)의 가상 데스크탑 프로토콜 가속 장치(1410)에 설정된 가속 데이터 속성 삭제 명령을 호스트 OS 계층(1300)의 가상 데스크탑 프로토콜 가속 인터페이스(1310)에 전달한다(단계 510).Referring to FIG. 6, the virtual desktop protocol
가상 데스크탑 프로토콜 가속 장치 인터페이스(1310)는 가상 데스크탑 프로토콜 데이터 관리 풀(1220)로부터 상기 가속 데이터 속성 삭제 명령을 제공받고, 가상 데스크탑 프로토콜 가속 장치(1410)에 상기 명령을 전달한 후, 인터럽트를 통해 가상 데스크탑 프로토콜 가속 장치(1410)의 명령 수행 결과를 제공받고, 도 4에 도시한 과정을 통해 생성된 가상 머신의 자료구조를 삭제하고, 이를 가상 데스크탑 프로토콜 데이터 관리 풀(1220)에 회신한다(단계 520).The virtual desktop
가상 데스크탑 프로토콜 가속 장치(1410)는 가상 데스크탑 프로토콜 가속 장치 인터페이스(1310)로부터 제공된 가속 데이터 속성 삭제 명령을 수행한 후, 인터럽트를 통해 상기 명령 처리 시점을 가상 데스크탑 프로토콜 가속 장치 인터페이스(1310)에 통보한다(단계 530).
The virtual
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined in the appended claims. It will be possible.
1000 : 가상화 서버
1100a, 1100b : 가상 머신
1200 : 가상화 계층
1220 : 가상 데스크탑 프로토콜 데이터 관리 풀
1300 : 호스트 OS 계층
1310 : 가상 데스크탑 프로토콜 가속 장치 인터페이스
1400 : 하드웨어 계층
1410 : 가상 데스크탑 프로토콜 가속 장치
1411 : 가상 데스크탑 프로토콜 가속 전용 프로세서
1412 : 가상 데스크탑 프로토콜 태스크 속성 명령 풀
1413 : 가상 데스크탑 프로토콜 데이터 전송 명령 풀
1414 : 그래픽 태스크 풀
1415 : 오디오 태스크 풀
1416 : USB 태스크 풀
1417 : 가상 데스크탑 프로토콜 가속 전용 메모리1000: Virtualization Server
1100a, 1100b: virtual machine
1200: virtualization layer
1220: Virtual Desktop Protocol Data Management Pool
1300: host OS layer
1310: Virtual Desktop Protocol Accelerator Interface
1400: hardware layer
1410: virtual desktop protocol accelerator
1411: dedicated processor for virtual desktop protocol acceleration
1412: Virtual Desktop Protocol Task Properties Command Pool
1413: Virtual Desktop Protocol Data Transfer Command Pool
1414: Graphics Task Pool
1415: audio task pool
1416: USB Task Pool
1417: dedicated memory for virtual desktop protocol acceleration
Claims (1)
상위 계층으로부터 제공된 가상 머신 구분자에 기초하여 처리할 태스크의 속성을 검색하는 단계;
상위 계층으로부터 제공된 처리 데이터 정보에 기초하여 처리할 해당 데이터를 인출하는 단계; 및
검색된 태스크 속성에 기초하여 해당 데이터를 처리하고, 처리된 데이터를 상위 계층에 전달하는 단계를 포함하는 가상 데스크탑 프로토콜 가속 방법.
In the virtual desktop protocol acceleration method of the virtual desktop protocol accelerator,
Retrieving an attribute of a task to be processed based on a virtual machine identifier provided from a higher layer;
Extracting corresponding data to be processed based on the processing data information provided from the upper layer; And
Processing the corresponding data based on the retrieved task attributes, and delivering the processed data to a higher layer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100125859A KR101361838B1 (en) | 2010-12-09 | 2010-12-09 | Method for accelerating virtual desktop protocol based on server virtualization and virtualization server for performing the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100125859A KR101361838B1 (en) | 2010-12-09 | 2010-12-09 | Method for accelerating virtual desktop protocol based on server virtualization and virtualization server for performing the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120064575A true KR20120064575A (en) | 2012-06-19 |
KR101361838B1 KR101361838B1 (en) | 2014-02-11 |
Family
ID=46684653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100125859A KR101361838B1 (en) | 2010-12-09 | 2010-12-09 | Method for accelerating virtual desktop protocol based on server virtualization and virtualization server for performing the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101361838B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101432751B1 (en) * | 2012-12-18 | 2014-08-22 | 서강대학교산학협력단 | Load balancing method and system for hadoop MapReduce in the virtual environment |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108206842B (en) * | 2016-12-16 | 2020-09-15 | 广州杰赛科技股份有限公司 | Cloud desktop remote access method and system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009009253A (en) * | 2007-06-27 | 2009-01-15 | Renesas Technology Corp | Program execution method, program, and program execution system |
US8713569B2 (en) * | 2007-09-26 | 2014-04-29 | Intel Corporation | Dynamic association and disassociation of threads to device functions based on requestor identification |
CN102314377B (en) * | 2010-06-30 | 2014-08-06 | 国际商业机器公司 | Accelerator and method thereof for supporting virtual machine migration |
-
2010
- 2010-12-09 KR KR1020100125859A patent/KR101361838B1/en active IP Right Grant
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101432751B1 (en) * | 2012-12-18 | 2014-08-22 | 서강대학교산학협력단 | Load balancing method and system for hadoop MapReduce in the virtual environment |
Also Published As
Publication number | Publication date |
---|---|
KR101361838B1 (en) | 2014-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10552348B2 (en) | USB device access method, apparatus and system, a terminal, and a server | |
US8405666B2 (en) | Saving, transferring and recreating GPU context information across heterogeneous GPUs during hot migration of a virtual machine | |
US10057364B2 (en) | Method and apparatus for remotely running application program | |
JP7220163B2 (en) | Method and apparatus for hardware virtualization | |
US9063793B2 (en) | 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 | |
US10120705B2 (en) | Method for implementing GPU virtualization and related apparatus, and system | |
US8850090B2 (en) | USB redirection for read transactions | |
US9544179B2 (en) | Accelerating USB redirection over a network | |
US20180219797A1 (en) | Technologies for pooling accelerator over fabric | |
US11792272B2 (en) | Establishment of socket connection in user space | |
CN115988218B (en) | Virtualized video encoding and decoding system, electronic equipment and storage medium | |
CN111679911B (en) | Management method, device, equipment and medium of GPU card in cloud environment | |
WO2023082716A1 (en) | Method and apparatus for operating android application in linux system, and device | |
US10873630B2 (en) | Server architecture having dedicated compute resources for processing infrastructure-related workloads | |
WO2022143714A1 (en) | Server system, and virtual machine creation method and apparatus | |
US10791103B2 (en) | Adapting remote display protocols to remote applications | |
KR20140027741A (en) | Application service providing system and method, server apparatus and client apparatus for application service | |
CN115988217A (en) | Virtualized video coding and decoding system, electronic equipment and storage medium | |
CN116582438B (en) | Virtualized video encoding and decoding system and method, electronic equipment and storage medium | |
CN116320469B (en) | Virtualized video encoding and decoding system and method, electronic equipment and storage medium | |
US20120166585A1 (en) | Apparatus and method for accelerating virtual desktop | |
US20140237017A1 (en) | Extending distributed computing systems to legacy programs | |
KR101361838B1 (en) | Method for accelerating virtual desktop protocol based on server virtualization and virtualization server for performing the same | |
US20230153153A1 (en) | Task processing method and apparatus | |
US20140156736A1 (en) | Apparatus and method for managing threads to perform divided execution of software |
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 | ||
FPAY | Annual fee payment |
Payment date: 20170124 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180129 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190125 Year of fee payment: 6 |