KR101635273B1 - Apparatus for processing data based on virtual desktop and method for the same - Google Patents

Apparatus for processing data based on virtual desktop and method for the same Download PDF

Info

Publication number
KR101635273B1
KR101635273B1 KR1020140135055A KR20140135055A KR101635273B1 KR 101635273 B1 KR101635273 B1 KR 101635273B1 KR 1020140135055 A KR1020140135055 A KR 1020140135055A KR 20140135055 A KR20140135055 A KR 20140135055A KR 101635273 B1 KR101635273 B1 KR 101635273B1
Authority
KR
South Korea
Prior art keywords
data processing
web browser
sound data
screen data
web
Prior art date
Application number
KR1020140135055A
Other languages
Korean (ko)
Other versions
KR20160041353A (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 KR1020140135055A priority Critical patent/KR101635273B1/en
Publication of KR20160041353A publication Critical patent/KR20160041353A/en
Application granted granted Critical
Publication of KR101635273B1 publication Critical patent/KR101635273B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Abstract

가상 데스크탑 기반의 데이터 처리 장치 및 방법이 개시된다. 가상 데스크탑 기반의 데이터 처리 방법은, 클라이언트 장치에서 동작하는 웹브라우저 상의 웹 애플리케이션을 통해 가상 데스크탑 환경을 클라이언트 장치에 제공하는 단계, 웹 애플리케이션을 통해 제1 메시지를 수신하는 단계 및 제1 메시지로부터 웹브라우저 성능 정보를 획득하는 단계를 포함한다. 따라서, 데이터의 처리속도가 향상될 수 있다.A virtual desktop-based data processing apparatus and method are disclosed. A virtual desktop-based data processing method includes providing a virtual desktop environment to a client device via a web application on a web browser running on the client device, receiving a first message through the web application, And acquiring performance information. Therefore, the processing speed of data can be improved.

Description

가상 데스크탑 기반의 데이터 처리 장치 및 방법{APPARATUS FOR PROCESSING DATA BASED ON VIRTUAL DESKTOP AND METHOD FOR THE SAME}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a virtual desktop-

본 발명은 가상화 기술에 관한 것으로, 더욱 상세하게는 가상 데스크탑을 통해 데이터를 처리하는 기술에 관한 것이다.The present invention relates to virtualization techniques, and more particularly, to techniques for processing data through a virtual desktop.

가상화(virtualization) 기술의 발전과 함께 클라우드 서비스(cloud service)가 보편화 되고 있다. 클라우드 서비스는 클라우드 센터 상에서 서버(server)를 가상화하여 운용하는 전통적인 서비스에서 클라우드 센터 상에서 데스크탑(desktop)을 가상화하여 운용하는 서비스로 발전하고 있다. 데스크탑을 가상화하여 운용하는 서비스를 클라우드 데스크탑 서비스 또는 VDI(virtual desktop infrastructure)라고 한다. VDI에서 사용자는 자신의 클라이언트(client) 장치를 통해 클라우드 센터 상의 가상 데스크탑을 사용할 수 있다.With the evolution of virtualization technology, cloud services are becoming popular. Cloud services are evolving from traditional services that virtualize and operate servers on the cloud center to services that virtualize desktops on the cloud center. Services that virtualize and operate desktops are called cloud desktop services or virtual desktop infrastructure (VDI). In VDI, users can use virtual desktops on the cloud center through their client devices.

한편, 웹(web) 기술은 플랫폼(platform)/운영체제에 대한 비의존성을 가지며, 가상 데스크탑 관리 및 연결을 위해 사용되고 있다. 가상 데스크탑 관리는 정적인 웹 페이지(web page)를 기반으로 수행될 수 있다. 가상 데스크탑 연결은 수시로 변경되는 화면 데이터(즉, 클라이언트 장치의 화면에 출력되는 영상 데이터), 사운드(sound) 데이터, 키보드 이벤트, 마우스 이벤트 등을 처리해야 하므로 높은 기술의 복잡도를 가진다. 특히 충분한 사용자 경험을 제공하기 위해서 높은 처리속도를 통해 지연 없는 반응속도가 제공되어야 하나, 네이티브 코드(native code) 기반 클라이언트 애플리케이션(application)을 가정한 기존 원격 데스크탑 연결 기술이 웹 기반 클라이언트 애플리케이션에 그대로 적용되는 경우 성능이 저하되는 문제가 있다.Web technology, on the other hand, has no dependency on the platform / operating system and is used for virtual desktop management and connectivity. Virtual desktop management can be performed based on static web pages. The virtual desktop connection has a high technology complexity because it has to deal with screen data that changes from time to time (i.e., video data output on the screen of the client device), sound data, keyboard events, mouse events, In order to provide a sufficient user experience, it is necessary to provide a high-speed, non-delayed response rate. However, existing remote desktop connection technology assuming a native code based client application is applied to a web based client application There is a problem that performance is deteriorated.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 높은 처리속도를 제공하기 위한 가상 데스크탑 기반의 데이터 처리 장치를 제공하는 데 있다.SUMMARY OF THE INVENTION An object of the present invention is to provide a data processing apparatus based on a virtual desktop for providing a high processing speed.

상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 높은 처리속도를 제공하기 위한 가상 데스크탑 기반의 데이터 처리 방법을 제공하는 데 있다.Another object of the present invention is to provide a virtual desktop-based data processing method for providing a high processing speed.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 서버 장치에서 수행되는 가상 데스크탑 기반의 데이터 처리 방법은, 클라이언트 장치에서 동작하는 웹브라우저 상의 웹 애플리케이션을 통해 가상 데스크탑 환경을 상기 클라이언트 장치에 제공하는 단계, 상기 웹 애플리케이션을 통해 제1 메시지를 수신하는 단계 및 상기 제1 메시지로부터 상기 웹브라우저 성능 정보를 획득하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of processing data based on a virtual desktop, the method comprising: providing a virtual desktop environment to a client device through a web application on a web browser operating in the client device; Receiving a first message through the web application, and obtaining the web browser capability information from the first message.

여기서, 상기 서버 장치는 RDC 프로토콜을 기반으로 상기 클라이언트 장치와 웹 사용자 인터페이스로 연결될 수 있다.Here, the server device may be connected to the client device through a web user interface based on the RDC protocol.

여기서, 상기 웹브라우저 성능 정보는 상기 웹브라우저의 화면 데이터 처리 성능 정보 및 사운드 데이터 처리 성능 정보 중 적어도 하나를 포함할 수 있다.Here, the web browser performance information may include at least one of screen data processing performance information and sound data processing performance information of the web browser.

여기서, 상기 데이터 처리 방법은, 상기 웹브라우저 성능 정보가 나타내는 화면 데이터 처리 성능을 기반으로 상기 화면 데이터를 생성하는 단계 및 생성된 화면 데이터를 상기 웹 애플리케이션을 통해 상기 클라이언트 장치에 전송하는 단계를 더 포함할 수 있다.Here, the data processing method may further include generating the screen data based on the screen data processing performance indicated by the web browser performance information, and transmitting the generated screen data to the client device through the web application can do.

여기서, 상기 화면 데이터를 생성하는 단계는, 상기 화면 데이터 처리 성능을 기반으로 화면 데이터의 모양, 개수 및 넓이 중 적어도 하나를 조정하는 단계 및 조정된 화면 데이터를 상기 화면 데이터 처리 성능을 기반으로 압축하는 단계를 포함할 수 있다.The step of generating the screen data may include adjusting at least one of a shape, a number, and an area of the screen data based on the screen data processing performance and compressing the adjusted screen data based on the screen data processing performance Step < / RTI >

여기서, 상기 데이터 처리 방법은, 상기 웹브라우저 성능 정보가 나타내는 사운드 데이터 처리 성능을 기반으로 상기 사운드 데이터를 생성하는 단계 및 생성된 사운드 데이터를 상기 웹 애플리케이션을 통해 상기 클라이언트 장치에 전송하는 단계를 더 포함할 수 있다.Here, the data processing method may further include generating the sound data based on the sound data processing performance indicated by the web browser performance information, and transmitting the generated sound data to the client apparatus through the web application can do.

여기서, 상기 사운드 데이터를 생성하는 단계는, 상기 사운드 데이터 처리 성능을 기반으로 사운드 데이터의 기간을 조정하는 단계 및 조정된 사운드 데이터를 상기 사운드 데이터 처리 성능을 기반으로 압축하는 단계를 포함할 수 있다.Here, the step of generating the sound data may include adjusting a duration of the sound data based on the sound data processing performance, and compressing the adjusted sound data based on the sound data processing performance.

여기서, 상기 데이터 처리 방법은, 상기 웹 애플리케이션을 통해 입력 이벤트를 수신하는 단계 및 상기 네이티브 애플리케이션을 기반으로 상기 입력 이벤트를 처리하는 단계를 더 포함할 수 있다.Here, the data processing method may further include receiving an input event through the web application and processing the input event based on the native application.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 클라이언트 장치에서 수행되는 가상 데스크탑 기반의 데이터 처리 방법은, 웹브라우저 상의 웹 애플리케이션을 통해 가상 데스크탑 환경을 서버 장치로부터 서빙받는 단계, 상기 웹브라우저의 성능 정보를 포함한 제1 메시지를 상기 웹 애플리케이션을 통해 상기 서버 장치에 제공하는 단계 및 상기 웹브라우저의 성능 정보가 나타내는 성능을 기반으로 처리된 데이터를 상기 웹 애플리케이션을 통해 상기 서버 장치로부터 수신하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of processing data based on a virtual desktop, the method comprising: receiving a virtual desktop environment from a server device through a web application on the web browser; Providing a first message including performance information to the server apparatus via the web application and receiving processed data based on the performance indicated by the performance information of the web browser from the server apparatus through the web application .

여기서, 상기 웹브라우저 성능 정보는 상기 웹브라우저의 화면 데이터 처리 성능 정보 및 사운드 데이터 처리 성능 정보 중 적어도 하나를 포함할 수 있다.Here, the web browser performance information may include at least one of screen data processing performance information and sound data processing performance information of the web browser.

여기서, 상기 처리된 데이터는, 상기 웹브라우저 성능 정보가 나타내는 화면 데이터 처리 성능을 기반으로 처리된 화면 데이터 및 상기 웹브라우저 성능 정보가 나타내는 사운드 데이터 처리 성능을 기반으로 처리된 사운드 데이터 중 적어도 하나를 포함할 수 있다.Here, the processed data includes at least one of screen data processed based on the screen data processing performance indicated by the web browser performance information and sound data processed based on the sound data processing performance indicated by the web browser performance information can do.

여기서, 상기 데이터 처리 방법은 화면 데이터 및 사운드 데이터를 수신한 경우, 타임스탬프를 기반으로 상기 화면 데이터와 상기 사운드 데이터를 동기화하여 출력하는 단계를 더 포함할 수 있다.The data processing method may further include synchronizing and outputting the screen data and the sound data based on a time stamp when the screen data and the sound data are received.

여기서, 상기 데이터 처리 방법은 입력 이벤트가 발생된 경우, 상기 입력 이벤트를 상기 웹 애플리케이션을 통해 상기 서버 장치에 전송하는 단계를 더 포함할 수 있다.Here, the data processing method may further include transmitting the input event to the server device through the web application when an input event is generated.

상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 서버 장치는, 프로세서 및 상기 프로세서를 통해 실행되는 적어도 하나의 프로그램 명령이 저장된 메모리를 포함하고, 상기 적어도 하나의 프로그램 명령은, 클라이언트 장치에서 동작하는 웹브라우저 상의 웹 애플리케이션을 통해 가상 데스크탑 환경을 상기 클라이언트 장치에 제공하는 단계, 상기 웹 애플리케이션을 통해 제1 메시지를 수신하는 단계 및 상기 제1 메시지로부터 상기 웹브라우저 성능 정보를 획득하는 단계를 수행하도록 실행 가능하다.According to another aspect of the present invention, there is provided a server apparatus including a processor and a memory in which at least one program command executed through the processor is stored, Providing a virtual desktop environment to the client device via a web application on an operating web browser; receiving a first message through the web application; and acquiring web browser capability information from the first message .

여기서, 상기 서버 장치는 RDC 프로토콜을 기반으로 상기 클라이언트 장치와 웹 사용자 인터페이스로 연결될 수 있다.Here, the server device may be connected to the client device through a web user interface based on the RDC protocol.

여기서, 상기 웹브라우저 성능 정보는 상기 웹브라우저의 화면 데이터 처리 성능 정보 및 사운드 데이터 처리 성능 정보 중 적어도 하나를 포함할 수 있다.Here, the web browser performance information may include at least one of screen data processing performance information and sound data processing performance information of the web browser.

여기서, 상기 적어도 하나의 프로그램 명령은 상기 웹브라우저 성능 정보가 나타내는 화면 데이터 처리 성능을 기반으로 상기 화면 데이터를 생성하는 단계 및 생성된 화면 데이터를 상기 웹 애플리케이션을 통해 상기 클라이언트 장치에 전송하는 단계를 더 수행하도록 실행 가능할 수 있다.Here, the at least one program command may include generating the screen data based on the screen data processing performance indicated by the web browser capability information, and transmitting the generated screen data to the client device through the web application And the like.

여기서, 상기 화면 데이터를 생성하는 단계는 상기 화면 데이터 처리 성능을 기반으로 화면 데이터의 모양, 개수 및 넓이 중 적어도 하나를 조정하는 단계 및 조정된 화면 데이터를 상기 화면 데이터 처리 성능을 기반으로 압축하는 단계를 포함할 수 있다.The generating of the screen data may include adjusting at least one of a shape, a number, and an area of the screen data based on the screen data processing performance and compressing the adjusted screen data based on the screen data processing performance . ≪ / RTI >

여기서, 상기 적어도 하나의 프로그램 명령은 상기 웹브라우저 성능 정보가 나타내는 사운드 데이터 처리 성능을 기반으로 상기 사운드 데이터를 생성하는 단계 및 생성된 사운드 데이터를 상기 웹 애플리케이션을 통해 상기 클라이언트 장치에 전송하는 단계를 더 수행하도록 실행 가능할 수 있다.Wherein the at least one program command further comprises generating the sound data based on the sound data processing capabilities indicated by the web browser capability information and transmitting the generated sound data to the client device via the web application And the like.

여기서, 상기 사운드 데이터를 생성하는 단계는 상기 사운드 데이터 처리 성능을 기반으로 사운드 데이터의 기간(duration)을 조정하는 단계 및 조정된 사운드 데이터를 상기 사운드 데이터 처리 성능을 기반으로 압축하는 단계를 포함할 수 있다.Here, the step of generating the sound data may include adjusting a duration of the sound data based on the sound data processing performance, and compressing the adjusted sound data based on the sound data processing performance have.

본 발명에 의하면, 클라이언트 장치의 웹브라우저 성능에 따라 서비스가 적응적으로 클라이언트 장치에 제공될 수 있으므로, 데이터의 처리속도가 증가될 수 있다. 이에 따라, 사용자 경험이 향상될 수 있다.According to the present invention, since the service can be adaptively provided to the client apparatus according to the Web browser performance of the client apparatus, the processing speed of the data can be increased. Thus, the user experience can be improved.

도 1은 가상 데스크탑 기반의 데이터 처리 시스템을 도시한 블록도이다.
도 2는 서버 장치의 RDC 변환모듈을 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 데이터 처리 방법을 도시한 순서도이다.
도 4는 본 발명에 따른 방법들을 수행하는 장치의 일 실시예를 도시한 블록도이다.
1 is a block diagram illustrating a virtual desktop-based data processing system.
2 is a block diagram showing an RDC conversion module of the server apparatus.
3 is a flowchart illustrating a data processing method according to an embodiment of the present invention.
4 is a block diagram illustrating an embodiment of an apparatus for performing the methods according to 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.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations 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 to which this invention belongs. 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 virtual desktop-based data processing system.

도 1을 참조하면, 가상 데스크탑(virtual desktop) 기반의 데이터 처리 시스템은 서버 장치(100) 및 적어도 하나의 클라이언트(client) 장치(200)를 포함할 수 있다. 서버 장치(100)는 하이퍼바이저(hypervisior)(110), 가상장치(120), 데스크탑 가상머신(130), RDC(remote desktop connection) 서버(140), RDC 변환모듈(150) 및 웹서버(160) 중 적어도 하나를 포함할 수 있다.Referring to FIG. 1, a virtual desktop-based data processing system may include a server device 100 and at least one client device 200. The server device 100 includes a hypervisor 110, a virtual device 120, a desktop virtual machine 130, a remote desktop connection (RDC) server 140, an RDC conversion module 150, and a web server 160 ). ≪ / RTI >

하이퍼바이저(110)는 전가상화 기술 또는 반가상화 기술을 기반으로 가상 환경을 제공할 수 있다. 하이퍼바이저(110)는 물리적인 구성인 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphic processing unit, GPU), 메모리(memory), 그래픽 카드, 네트워크 인터페이스 카드(network interface card), 입력 인터페이스 장치(예를 들어, 키보드, 마우스 등) 등을 가상화할 수 있다. 하이퍼바이저(110)는 위와 같은 가상 환경에서 데스크탑 가상머신(130)을 구동할 수 있다.The hypervisor 110 may provide a virtual environment based on full virtualization or semi-virtualization techniques. The hypervisor 110 may include a central processing unit (CPU), a graphics processing unit (GPU), a memory, a graphics card, a network interface card, Interface devices (e.g., keyboard, mouse, etc.), and the like. The hypervisor 110 can drive the desktop virtual machine 130 in the virtual environment as described above.

가상장치(120)는 하이퍼바이저(110)에 의해 가상화된 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 메모리, 그래픽 카드, 네트워크 인터페이스 카드, 입력 인터페이스 장치 등을 의미할 수 있다. 가상장치(120)는 데스크탑 가상머신(130)에 제공될 수 있다.The virtual device 120 may refer to a central processing unit (CPU), a graphics processing unit (GPU), a memory, a graphics card, a network interface card, an input interface device, etc. virtualized by the hypervisor 110. The virtual device 120 may be provided to the desktop virtual machine 130. [

데스크탑 가상머신(130)은 하이퍼바이저(110)에 의해 구동될 수 있으며, 가상장치(120)를 사용하여 클라이언트 장치(200)로부터 요청된 태스크(task)를 처리할 수 있다.The desktop virtual machine 130 may be driven by the hypervisor 110 and may use the virtual device 120 to process the requested task from the client device 200. [

RDC 서버(140)는 미리 정의된 RDC 프로토콜(protocol)을 기반으로 클라이언트 장치(20)와 연결될 수 있으며, 클라이언트 장치(20)에 가상 데스크탑 환경을 제공할 수 있다. RDC 서버(140)는 화면 데이터(즉, 클라이언트 장치(200)의 화면을 통해 출력되는 영상 데이터), 사운드 데이터 등을 클라이언트 장치(200)에 전송할 수 있다. RDC 서버(140)는 클라이언트 장치(200)로부터 입력 이벤트(예를 들어, 키보드 이벤트, 마우스 이벤트 등) 등을 수신할 수 있다. RDC 서버(140)는 수신된 입력 이벤트를 해당 가상 장치(120)에 전달할 수 있다. 예를 들어, RDC 서버(140)는 키보드 이벤트를 가상 장치(120) 중 가상 키보드에 전달할 수 있고, 마우스 이벤트를 가상 장치(120) 중 가상 마우스에 전달할 수 있다.The RDC server 140 may be connected to the client device 20 based on a predefined RDC protocol and may provide a virtual desktop environment to the client device 20. [ The RDC server 140 can transmit screen data (i.e., image data output through the screen of the client device 200), sound data, and the like to the client device 200. [ The RDC server 140 may receive an input event (e.g., a keyboard event, a mouse event, etc.) from the client device 200. [ The RDC server 140 may forward the received input event to the virtual device 120. For example, the RDC server 140 may pass a keyboard event to a virtual one of the virtual devices 120, and may pass a mouse event to a virtual one of the virtual devices 120.

RDC 변환모듈(150)은 RDC 프로토콜을 기반으로 RDC 서버(140)와 연결될 수 있다. RDC 변환모듈(150)은 클라이언트 장치(200)로부터 수신한 화면 데이터, 사운드 데이터, 입력 이벤트 등을 RDC 프로토콜을 기반으로 변경할 수 있고, 변경된 데이터, 이벤트 등을 RDC 서버(140)에 전송할 수 있다. RDC 변환모듈(150)은 RDC 서버(140)로부터 수신한 화면 데이터, 사운드 데이터, 입력 이벤트에 대한 응답 등을 웹 인터페이스로 변경할 수 있고, 변경된 데이터, 응답 등을 클라이언트 장치(200)에 전송할 수 있다.The RDC conversion module 150 can be connected to the RDC server 140 based on the RDC protocol. The RDC conversion module 150 can change screen data, sound data, input events, and the like received from the client device 200 based on the RDC protocol and transmit the changed data, events, and the like to the RDC server 140. The RDC conversion module 150 can change the screen data, the sound data, the response to the input event, etc. received from the RDC server 140 to the web interface and transmit the changed data, the response, etc. to the client device 200 .

웹서버(160)는 RDC 서버(140)와의 연결을 위한 웹 사용자 인터페이스(web user interface)를 클라이언트 장치(200)에 제공할 수 있다. 즉, 웹서버(160)는 사용자 인증 절차, RDC 서버(140)의 주소 확인 절차, 웹 애플리케이션(221)의 연결 절차 등을 지원할 수 있다.The web server 160 may provide a web user interface to the client device 200 for connection with the RDC server 140. [ That is, the web server 160 may support a user authentication procedure, an address verification procedure of the RDC server 140, a connection procedure of the web application 221, and the like.

클라이언트 장치(200)는 운영체제(210), 웹브라우저(220), 웹 애플리케이션(221) 등을 포함할 수 있다. 운영체제(210)는 웹브라우저(220)를 구동할 수 있다. 웹브라우저(220)는 웹서버(160)에 접속하여 웹 애플리케이션(221)을 구동할 수 있고, RDC 변환모듈(150)과의 연결을 지원할 수 있다.The client device 200 may include an operating system 210, a web browser 220, a web application 221, and the like. The operating system 210 may drive the web browser 220. The web browser 220 may connect to the web server 160 to drive the web application 221 and support connection with the RDC conversion module 150.

웹 애플리케이션(221)은 웹 사용자 인터페이스를 통해 RDC 변환모듈(150)과 연결될 수 있다. 웹 애플리케이션(221)은 RDC 변환모듈(150)과 화면 데이터, 사운드 데이터, 키보드 이벤트, 마우스 이벤트 등을 송수신할 수 있다. 웹 애플리케이션(221)은 웹브라우저(220)를 통해 화면 데이터 및 사운드 데이터 중 적어도 하나를 출력할 수 있다. 웹 애플리케이션(221)은 화면 데이터 및 사운드 데이터를 출력하는 경우 데이터의 타임스탬프(timestamp)를 기반으로 화면 데이터와 사운드 데이터를 동기화하여 출력할 수 있다. 웹 애플리케이션(221)은 웹브라우저(220)를 통해 키보드 이벤트, 마우스 이벤트 등을 수신할 수 있다.
The web application 221 may be connected to the RDC conversion module 150 via a web user interface. The web application 221 can transmit and receive screen data, sound data, keyboard events, mouse events, etc. to the RDC conversion module 150. The web application 221 can output at least one of the screen data and the sound data through the web browser 220. The web application 221 can synchronize the screen data and the sound data based on the time stamp of the data when the screen data and the sound data are output. The web application 221 can receive a keyboard event, a mouse event, and the like through the web browser 220.

도 2는 서버 장치의 RDC 변환모듈을 도시한 블록도이다.2 is a block diagram showing an RDC conversion module of the server apparatus.

도 2를 참조하면, RDC 변환모듈(150)은 네이티브 애플리케이션(151), 웹브라우저 성능 측정부(152), 화면 처리부(153), 사운드 처리부(154), 입력 처리부(155) 및 데이터 송수신부(156)를 포함할 수 있다.2, the RDC conversion module 150 includes a native application 151, a web browser performance measurement unit 152, a screen processing unit 153, a sound processing unit 154, an input processing unit 155, and a data transmission / 156).

네이티브 애플리케이션(151)은 RDC 프로토콜을 기반으로 RDC 서버(140)와 연결될 수 있다. 네이티브 애플리케이션(151)은 RDC 서버(140)로부터 화면 데이터를 수신할 수 있고, 수신된 화면 데이터를 화면 처리부(153)에 전송할 수 있다. 네이티브 애플리케이션(151)은 RDC 서버(140)로부터 사운드 데이터를 수신할 수 있고, 수신된 사운드 데이터를 사운드 처리부(154)에 전송할 수 있다. 네이티브 애플리케이션(151)은 입력 처리부(155)로부터 입력 이벤트를 수신할 수 있고, 수신된 입력 이벤트를 RDC 서버(140)에 전송할 수 있다.The native application 151 may be connected to the RDC server 140 based on the RDC protocol. The native application 151 can receive the screen data from the RDC server 140 and can transmit the received screen data to the screen processing unit 153. [ The native application 151 can receive sound data from the RDC server 140 and transmit the received sound data to the sound processing unit 154. [ The native application 151 may receive an input event from the input processing unit 155 and may transmit the received input event to the RDC server 140. [

웹브라우저 성능 측정부(152)는 웹 애플리케이션(221)과 연결되어 웹브라우저(220)의 성능 정보를 획득할 수 있다. 즉, 데이터 송수신부(156)는 웹 애플리케이션(221)을 통해 웹브라우저(220)의 성능 정보를 수신할 수 있고, 수신한 웹브라우저(220)의 성능 정보를 웹브라우저 성능 측정부(152)에 전송할 수 있다. 이를 통해, 웹브라우저 성능 측정부(152)는 웹브라우저(220)의 성능 정보를 획득할 수 있다. 웹브라우저(220)의 성능 정보는 화면 처리 성능 정보 및 사운드 처리 성능 정보 중 적어도 하나를 포함할 수 있다.The web browser performance measuring unit 152 may be connected to the web application 221 to obtain performance information of the web browser 220. [ That is, the data transmission / reception unit 156 can receive the performance information of the web browser 220 through the web application 221 and transmits the performance information of the received web browser 220 to the web browser performance measurement unit 152 Lt; / RTI > Accordingly, the web browser performance measuring unit 152 can acquire the performance information of the web browser 220. The performance information of the web browser 220 may include at least one of screen processing performance information and sound processing performance information.

웹브라우저 성능 측정부(152)는 화면 처리 성능 정보를 화면 처리부(153)에 전송할 수 있고, 사운드 처리 성능 정보를 사운드 처리부(154)에 전송할 수 있다. 화면 처리 성능 정보는 화면 데이터 압축해제 성능, 화면 데이터 출력 성능 등을 포함할 수 있다. 사운드 처리 성능 정보는 사운드 데이터 압축해제 성능, 사운드 데이터 출력 성능 등을 포함할 수 있다.The web browser performance measuring unit 152 may transmit the screen processing performance information to the screen processing unit 153 and may transmit the sound processing performance information to the sound processing unit 154. [ The screen processing performance information may include screen data decompression performance, screen data output performance, and the like. The sound processing performance information may include sound data decompression performance, sound data output performance, and the like.

화면 처리부(153)는 네이티브 애플리케이션(151)으로부터 화면 데이터를 수신할 수 있고, 웹브라우저 성능 측정부(152)로부터 화면 처리 성능 정보를 수신할 수 있다. 화면 처리부(153)는 화면 처리 성능을 기반으로 화면 데이터의 모양, 개수 및 넓이 중 적어도 하나를 조정할 수 있다. 화면 처리부(153)는 조정된 화면 데이터를 화면 처리 성능을 기반으로 압축할 수 있고, 압축된 화면 데이터를 데이터 송수신부(156)에 전송할 수 있다.The screen processing unit 153 can receive screen data from the native application 151 and can receive the screen processing performance information from the web browser performance measurement unit 152. [ The screen processing unit 153 may adjust at least one of the shape, the number, and the width of the screen data based on the screen processing performance. The screen processing unit 153 can compress the adjusted screen data based on the screen processing performance and can transmit the compressed screen data to the data transmitting and receiving unit 156.

사운드 처리부(154)는 네이티브 애플리케이션(151)으로부터 사운드 데이터를 수신할 수 있고, 웹브라우저 성능 측정부(152)로부터 사운드 처리 성능 정보를 수신할 수 있다. 사운드 처리부(154)는 사운드 처리 성능을 기반으로 사운드 데이터의 기간(duration)을 조정할 수 있다. 사운드 처리부(154)는 조정된 사운드 데이터를 사운드 처리 성능을 기반으로 압축할 수 있고, 압축된 사운드 데이터를 데이터 송수신부(156)에 전송할 수 있다.The sound processing unit 154 can receive sound data from the native application 151 and receive sound processing performance information from the web browser performance measurement unit 152. [ The sound processing unit 154 may adjust the duration of the sound data based on the sound processing performance. The sound processing unit 154 can compress the adjusted sound data based on the sound processing performance and transmit the compressed sound data to the data transmitting and receiving unit 156. [

입력 처리부(155)는 데이터 송수신부(156)를 통해 입력 이벤트를 수신할 수 있고, 수신된 입력 이벤트를 네이티브 애플리케이션(151)에 전송할 수 있다.The input processing unit 155 can receive an input event via the data transmitting and receiving unit 156 and can transmit the received input event to the native application 151. [

데이터 송수신부(156)는 웹 애플리케이션(221)과 웹 사용자 인터페이스로 연결될 수 있고, 웹 애플리케이션(221)과 데이터를 송수신할 수 있다. 데이터 송수신부(156)는 웹 애플리케이션(221)으로부터 웹브라우저(220)의 성능 정보를 수신할 수 있고, 수신된 웹브라우저(220)의 성능 정보를 웹브라우저 성능 측정부(152)에 전송할 수 있다. 데이터 송수신부(156)는 웹 애플리케이션(221)으로부터 입력 이벤트를 수신할 수 있고, 수신된 입력 이벤트를 입력 처리부(155)에 전송할 수 있다.The data transmission / reception unit 156 may be connected to the web application 221 through a web user interface, and may exchange data with the web application 221. The data transmission and reception unit 156 can receive the performance information of the web browser 220 from the web application 221 and transmit the performance information of the received web browser 220 to the web browser performance measurement unit 152 . The data transmitting and receiving unit 156 can receive an input event from the web application 221 and can transmit the received input event to the input processing unit 155. [

데이터 송수신부(156)는 화면 처리부(153)로부터 화면 데이터를 수신할 수 있고, 수신된 화면 데이터를 웹 애플리케이션(221)에 전송할 수 있다. 데이터 송수신부(156)는 사운드 처리부(154)로부터 사운드 데이터를 수신할 수 있고, 수신된 사운드 데이터를 웹 애플리케이션(221)에 전송할 수 있다.
The data transmission / reception unit 156 can receive the screen data from the screen processing unit 153, and can transmit the received screen data to the web application 221. [ The data transmitting and receiving unit 156 can receive sound data from the sound processing unit 154 and can transmit the received sound data to the web application 221. [

도 3은 본 발명의 일 실시예에 따른 데이터 처리 방법을 도시한 순서도이다.3 is a flowchart illustrating a data processing method according to an embodiment of the present invention.

도 3을 참조하면, 서버 장치는 도 1 및 도 2에 도시된 서버 장치(100)와 동일할 수 있고, 클라이언트 장치는 도 1에 도시된 클라이언트 장치(200)와 동일할 수 있다.Referring to FIG. 3, the server device may be the same as the server device 100 shown in FIGS. 1 and 2, and the client device may be the same as the client device 200 shown in FIG.

서버 장치(100)는 클라이언트 장치(200)에서 동작하는 웹브라우저(220) 상의 웹 애플리케이션(221)을 통해 가상 데스크탑 환경을 클라이언트 장치(200)에 제공할 수 있다(S300). 여기서, 서버 장치(100)는 RDC 프로토콜을 기반으로 클라이언트 장치(200)와 웹 사용자 인터페이스로 연결될 수 있다.The server device 100 may provide the virtual desktop environment to the client device 200 through the web application 221 on the web browser 220 operating in the client device 200 in operation S300. Here, the server apparatus 100 may be connected to the client apparatus 200 through a web user interface based on the RDC protocol.

클라이언트 장치(200)는 웹브라우저(220)의 성능 정보를 포함한 제1 메시지(message)를 생성할 수 있고, 생성된 제1 메시지를 웹 애플리케이션(221)을 통해 서버 장치(100)에 전송할 수 있다(S310). 웹브라우저(220)의 성능 정보는 화면 데이터 처리 성능 정보 및 사운드 데이터 처리 성능 정보 중 적어도 하나를 포함할 수 있다. 화면 데이터 처리 성능 정보는 화면 데이터 출력 성능, 화면 데이터 압축해제 성능 등을 포함할 수 있다. 사운드 데이터 처리 성능 정보는 사운드 데이터 출력 성능, 사운드 데이터 압축해제 성능 등을 포함할 수 있다.The client device 200 may generate a first message including performance information of the web browser 220 and may transmit the generated first message to the server device 100 via the web application 221 (S310). The performance information of the web browser 220 may include at least one of screen data processing performance information and sound data processing performance information. The screen data processing performance information may include screen data output performance, screen data decompression performance, and the like. The sound data processing performance information may include sound data output performance, sound data decompression performance, and the like.

서버 장치(100)는 클라이언트 장치(200)로부터 제1 메시지를 수신할 수 있고, 수신된 제1 메시지로부터 웹브라우저(220)의 성능 정보를 획득할 수 있다(S320).The server device 100 can receive the first message from the client device 200 and obtain the performance information of the web browser 220 from the received first message at step S320.

다음으로, 웹브라우저(220)의 성능 정보를 기반으로 화면 데이터를 처리하는 절차 및 사운드 데이터를 처리하는 절차가 설명될 것이다.Next, a procedure for processing screen data based on performance information of the web browser 220 and a procedure for processing sound data will be described.

화면 데이터를 처리하는 절차Procedures for processing screen data

서버 장치(100)는 클라이언트 장치(200)로 전송할 화면 데이터가 존재하는 경우 클라이언트 장치(200)로부터 획득한 화면 데이터 처리 성능을 기반으로 화면 데이터를 생성할 수 있다. 구체적으로, 서버 장치(100)는 화면 데이터 처리 성능을 기반으로 화면 데이터의 모양, 개수 및 넓이 중 적어도 하나를 조정할 수 있다(S330). 그 후에, 서버 장치(100)는 조정된 화면 데이터를 화면 데이터 처리 성능을 기반으로 압축할 수 있다(S340). 서버 장치(100)는 압축된 화면 데이터를 웹 애플리케이션(221)을 통해 클라이언트 장치(200)에 전송할 수 있다(S350).The server device 100 can generate screen data based on the screen data processing capability acquired from the client device 200 when screen data to be transmitted to the client device 200 exists. Specifically, the server apparatus 100 may adjust at least one of the shape, the number, and the width of the screen data based on the screen data processing performance (S330). Thereafter, the server apparatus 100 may compress the adjusted screen data based on the screen data processing performance (S340). The server apparatus 100 may transmit the compressed screen data to the client apparatus 200 through the web application 221 (S350).

사운드 데이터를 처리하는 절차Procedure for processing sound data

서버 장치(100)는 클라이언트 장치(200)로 전송할 사운드 데이터가 존재하는 경우 클라이언트 장치(200)로부터 획득한 사운드 데이터 처리 성능을 기반으로 사운드 데이터를 생성할 수 있다. 구체적으로, 서버 장치(100)는 사운드 데이터 처리 성능을 기반으로 사운드 데이터의 기간을 조정할 수 있다(S330). 그 후에, 서버 장치(100)는 조정된 사운드 데이터를 사운드 데이터 처리 성능을 기반으로 압축할 수 있다(S340). 서버 장치(100)는 압축된 사운드 데이터를 웹 애플리케이션(221)을 통해 클라이언트 장치(200)에 전송할 수 있다(S350).The server device 100 may generate sound data based on the sound data processing capability acquired from the client device 200 when sound data to be transmitted to the client device 200 exists. Specifically, the server device 100 may adjust the duration of the sound data based on the sound data processing performance (S330). Thereafter, the server apparatus 100 may compress the adjusted sound data based on the sound data processing performance (S340). The server apparatus 100 may transmit the compressed sound data to the client apparatus 200 through the web application 221 (S350).

클라이언트 장치(200)는 서버 장치(100)로부터 화면 데이터 및 사운드 데이터 중 적어도 하나를 수신할 수 있고, 수신된 데이터를 출력할 수 있다(S360). 서버 장치(100)로부터 화면 데이터 및 사운드 데이터를 모두 수신한 경우, 클라이언트 장치(200)는 화면 데이터 및 사운드 데이터에 포함된 타임스탬프를 기반으로 화면 데이터와 사운드 데이터를 동기화하여 출력할 수 있다.The client device 200 can receive at least one of screen data and sound data from the server device 100 and output the received data (S360). When both the screen data and the sound data are received from the server apparatus 100, the client apparatus 200 can synchronize the screen data and the sound data based on the time stamp included in the screen data and the sound data.

한편, 클라이언트 장치(200)에서 사용자에 의해 입력 이벤트(예를 들어, 키보드 이벤트, 마우스 이벤트 등)가 발생될 수 있다(S370). 이 경우, 클라이어트 장치(200)는 입력 이벤트를 서버 장치(100)에 전송할 수 있다(S380). 서버 장치(100)는 클라이언트 장치(200)로부터 입력 이벤트를 수신한 경우 수신된 입력 이벤트를 네이티브 애플리케이션을 통해 처리할 수 있다(S390).
Meanwhile, an input event (e.g., a keyboard event, a mouse event, etc.) may be generated by the user at the client device 200 (S370). In this case, the client device 200 may transmit the input event to the server device 100 (S380). When the server device 100 receives the input event from the client device 200, the server device 100 can process the received input event through the native application (S390).

도 4는 본 발명에 따른 방법들을 수행하는 장치의 일 실시예를 도시한 블록도이다.4 is a block diagram illustrating an embodiment of an apparatus for performing the methods according to the present invention.

도 4를 참조하면, 장치(400)는 서버 장치(100) 또는 클라이언트 장치(200)를 의미할 수 있다. 즉, 장치(400)에 포함된 구성은 서버 장치(100) 또는 클라이언트 장치(200)의 물리적 구성을 의미할 수 있다.Referring to FIG. 4, the apparatus 400 may refer to the server apparatus 100 or the client apparatus 200. That is, the configuration included in the device 400 may mean the physical configuration of the server device 100 or the client device 200. [

장치(400)는 물리적 구성인 적어도 하나의 프로세서(410), 메모리(420) 및 네트워크와 연결되어 통신을 수행하는 네트워크 인터페이스 장치(430)를 포함할 수 있다. 또한, 장치(400)는 입력 인터페이스 장치(440), 출력 인터페이스 장치(450), 저장 장치(460) 등을 더 포함할 수 있다. 장치(400)에 포함된 각각의 구성 요소들은 버스(bus)(470)에 의해 연결되어 서로 통신을 수행할 수 있다.The device 400 may include at least one processor 410, a memory 420, and a network interface device 430 that is in communication with the network to perform communications. In addition, the apparatus 400 may further include an input interface device 440, an output interface device 450, a storage device 460, and the like. Each component included in the device 400 may be connected by a bus 470 to communicate with each other.

프로세서(410)는 메모리(420) 및/또는 저장 장치(460)에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(410)는 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(420)와 저장 장치(460)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(420)는 읽기 전용 메모리(read only memory, ROM) 및/또는 랜덤 액세스 메모리(random access memory, RAM)로 구성될 수 있다.
The processor 410 may execute program commands stored in the memory 420 and / or the storage device 460. Processor 410 may refer to a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods according to the present invention are performed. The memory 420 and the storage device 460 may be composed of a volatile storage medium and / or a non-volatile storage medium. For example, memory 420 may be comprised of read only memory (ROM) and / or random access memory (RAM).

본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The methods according to the present invention can be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer readable medium may be those specially designed and constructed for the present invention or may be available to those skilled in the computer software.

컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
Examples of computer readable media include hardware devices that are specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate with at least one software module to perform the operations of the present invention, and vice versa.

이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.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.

100: 서버 장치
110: 하이퍼바이저
120: 가상장치
130: 데스크탑 가상머신
140: RDC 서버
150: RDC 변환모듈
160: 웹서버
200: 클라이언트 장치
210: 운영체제
220: 웹브라우저
221: 웹 애플리케이션
100: Server device
110: hypervisor
120: Virtual device
130: Desktop Virtual Machine
140: RDC server
150: RDC conversion module
160: Web server
200: Client device
210: Operating system
220: Web browser
221: Web application

Claims (20)

서버(server) 장치에서 수행되는 가상 데스크탑(virtual desktop) 기반의 데이터 처리 방법으로서,
클라이언트(client) 장치에서 동작하는 웹브라우저(web browser) 상의 웹 애플리케이션(web application)을 통해 가상 데스크탑 환경을 상기 클라이언트 장치에 제공하는 단계;
상기 웹 애플리케이션을 통해 제1 메시지(message)를 수신하는 단계;
상기 제1 메시지로부터 상기 웹브라우저 성능 정보를 획득하는 단계;
상기 웹브라우저 성능 정보가 나타내는 사운드 데이터 처리 성능을 기반으로 상기 사운드 데이터를 생성하는 단계; 및
생성된 사운드 데이터를 상기 웹 애플리케이션을 통해 상기 클라이언트 장치로 전송하는 단계를 포함하되,
상기 사운드 데이터를 생성하는 단계는,
상기 사운드 데이터 처리 성능을 기반으로 사운드 데이터의 기간(duration)을 조정하는 단계; 및
상기 조정된 사운드 데이터를 상기 사운드 데이터 처리 성능을 기반으로 압축하는 단계를 포함하는, 데이터 처리 방법.
1. A virtual desktop-based data processing method performed on a server device,
Providing a virtual desktop environment to a client device via a web application on a web browser operating in a client device;
Receiving a first message via the web application;
Obtaining the web browser capability information from the first message;
Generating the sound data based on the sound data processing performance indicated by the web browser performance information; And
And transmitting the generated sound data to the client device via the web application,
Wherein the step of generating the sound data comprises:
Adjusting a duration of the sound data based on the sound data processing performance; And
And compressing the adjusted sound data based on the sound data processing capability.
청구항 1에 있어서,
상기 서버 장치는 RDC(remote desktop connection) 프로토콜(protocol)을 기반으로 상기 클라이언트 장치와 웹 사용자 인터페이스(web user interface)로 연결되는, 데이터 처리 방법.
The method according to claim 1,
Wherein the server device is connected to the client device via a web user interface based on a remote desktop connection (RDC) protocol.
청구항 1에 있어서,
상기 웹브라우저 성능 정보는,
상기 웹브라우저의 화면 데이터 처리 성능 정보 및 사운드 데이터 처리 성능 정보 중 적어도 하나를 포함하는, 데이터 처리 방법.
The method according to claim 1,
The web browser capability information includes:
And at least one of screen data processing performance information and sound data processing performance information of the web browser.
청구항 1에 있어서,
상기 데이터 처리 방법은,
상기 웹브라우저 성능 정보가 나타내는 화면 데이터 처리 성능을 기반으로 상기 화면 데이터를 생성하는 단계; 및
생성된 화면 데이터를 상기 웹 애플리케이션을 통해 상기 클라이언트 장치에 전송하는 단계를 더 포함하는, 데이터 처리 방법.
The method according to claim 1,
The data processing method includes:
Generating the screen data based on the screen data processing performance indicated by the web browser performance information; And
And transmitting the generated screen data to the client apparatus via the web application.
청구항 4에 있어서,
상기 화면 데이터를 생성하는 단계는,
상기 화면 데이터 처리 성능을 기반으로 화면 데이터의 모양, 개수 및 넓이 중 적어도 하나를 조정하는 단계; 및
조정된 화면 데이터를 상기 화면 데이터 처리 성능을 기반으로 압축하는 단계를 포함하는, 데이터 처리 방법.
The method of claim 4,
The step of generating the screen data comprises:
Adjusting at least one of a shape, a number, and an area of screen data based on the screen data processing performance; And
And compressing the adjusted screen data based on the screen data processing capability.
삭제delete 삭제delete 청구항 1에 있어서,
상기 데이터 처리 방법은,
상기 웹 애플리케이션을 통해 입력 이벤트(event)를 수신하는 단계; 및
네이티브 애플리케이션(native application)을 기반으로 상기 입력 이벤트를 처리하는 단계를 더 포함하는, 데이터 처리 방법.
The method according to claim 1,
The data processing method includes:
Receiving an input event through the web application; And
Further comprising processing the input event based on a native application.
클라이언트(client) 장치에서 수행되는 가상 데스크탑(virtual desktop) 기반의 데이터 처리 방법으로서,
웹브라우저(web browser) 상의 웹 애플리케이션(web application)을 통해 가상 데스크탑 환경을 서버(server) 장치로부터 서빙(serving)받는 단계;
상기 웹브라우저의 성능 정보를 포함한 제1 메시지(message)를 상기 웹 애플리케이션을 통해 상기 서버 장치에 제공하는 단계; 및
상기 웹브라우저의 성능 정보가 나타내는 성능을 기반으로 처리된 데이터를 상기 웹 애플리케이션을 통해 상기 서버 장치로부터 수신하는 단계를 포함하되,
상기 데이터 처리 방법은,
화면 데이터 및 사운드 데이터를 수신한 경우, 타임 스탬프(timestamp)를 기반으로 상기 화면 데이터와 상기 사운드 데이터를 동기화하여 출력하는 단계를 더 포함하는, 데이터 처리 방법.
1. A virtual desktop-based data processing method performed by a client device,
Receiving a virtual desktop environment from a server device through a web application on a web browser;
Providing a first message including performance information of the web browser to the server apparatus through the web application; And
Receiving from the server device through the web application processed data based on the performance indicated by the performance information of the web browser,
The data processing method includes:
Further comprising synchronizing and outputting the screen data and the sound data based on a timestamp when screen data and sound data are received.
청구항 9에 있어서,
상기 웹브라우저 성능 정보는,
상기 웹브라우저의 화면 데이터 처리 성능 정보 및 사운드 데이터 처리 성능 정보 중 적어도 하나를 포함하는, 데이터 처리 방법.
The method of claim 9,
The web browser capability information includes:
And at least one of screen data processing performance information and sound data processing performance information of the web browser.
청구항 9에 있어서,
상기 처리된 데이터는,
상기 웹브라우저 성능 정보가 나타내는 화면 데이터 처리 성능을 기반으로 처리된 화면 데이터 및 상기 웹브라우저 성능 정보가 나타내는 사운드 데이터 처리 성능을 기반으로 처리된 사운드 데이터 중 적어도 하나를 포함하는, 데이터 처리 방법.
The method of claim 9,
The processed data may include,
And at least one of sound data processed based on sound data processing performance represented by the web browser performance information, and screen data processed based on the screen data processing performance indicated by the web browser performance information.
삭제delete 청구항 9에 있어서,
상기 데이터 처리 방법은,
입력 이벤트(event)가 발생된 경우, 상기 입력 이벤트를 상기 웹 애플리케이션을 통해 상기 서버 장치에 전송하는 단계를 더 포함하는, 데이터 처리 방법.
The method of claim 9,
The data processing method includes:
And when the input event has occurred, transmitting the input event to the server device via the web application.
서버(server) 장치로서,
프로세서(processor); 및
상기 프로세서를 통해 실행되는 적어도 하나의 프로그램 명령(program command)이 저장된 메모리(memory)를 포함하고,
상기 적어도 하나의 프로그램 명령은,
클라이언트(client) 장치에서 동작하는 웹브라우저(web browser) 상의 웹 애플리케이션(web application)을 통해 가상 데스크탑 환경을 상기 클라이언트 장치에 제공하는 단계;
상기 웹 애플리케이션을 통해 제1 메시지(message)를 수신하는 단계;
상기 제1 메시지로부터 상기 웹브라우저 성능 정보를 획득하는 단계;
상기 웹 브라우저 성능 정보가 나타내는 사운드 데이터 처리 성능을 기반으로 상기 사운드 데이터를 생성하는 단계; 및
생성된 사운드 데이터를 상기 웹 애플리케이션을 통해 상기 클라이언트 장치로 전송하는 단계를 수행하도록 실행 가능하되,
상기 사운드 데이터를 생성하는 단계는,
상기 사운드 데이터 처리 성능을 기반으로 사운드 데이터의 기간(duration)을 조정하는 단계; 및
상기 조정된 사운드 데이터를 상기 사운드 데이터 처리 성능을 기반으로 압축하는 단계를 포함하는, 서버 장치.
As a server device,
A processor; And
And a memory in which at least one program command executed via the processor is stored,
Wherein the at least one program command comprises:
Providing a virtual desktop environment to a client device via a web application on a web browser operating in a client device;
Receiving a first message via the web application;
Obtaining the web browser capability information from the first message;
Generating the sound data based on the sound data processing performance indicated by the web browser performance information; And
And transmitting the generated sound data to the client device via the web application,
Wherein the step of generating the sound data comprises:
Adjusting a duration of the sound data based on the sound data processing performance; And
And compressing the adjusted sound data based on the sound data processing capability.
청구항 14에 있어서,
상기 서버 장치는 RDC(remote desktop connection) 프로토콜(protocol)을 기반으로 상기 클라이언트 장치와 웹 사용자 인터페이스(web user interface)로 연결되는, 서버 장치.
15. The method of claim 14,
Wherein the server device is connected to the client device via a web user interface based on a remote desktop connection (RDC) protocol.
청구항 14에 있어서,
상기 웹브라우저 성능 정보는,
상기 웹브라우저의 화면 데이터 처리 성능 정보 및 사운드 데이터 처리 성능 정보 중 적어도 하나를 포함하는, 서버 장치.
15. The method of claim 14,
The web browser capability information includes:
The screen data processing capability information and the sound data processing performance information of the web browser.
청구항 14에 있어서,
상기 적어도 하나의 프로그램 명령은,
상기 웹브라우저 성능 정보가 나타내는 화면 데이터 처리 성능을 기반으로 상기 화면 데이터를 생성하는 단계; 및
생성된 화면 데이터를 상기 웹 애플리케이션을 통해 상기 클라이언트 장치에 전송하는 단계를 더 수행하도록 실행 가능한, 서버 장치.
15. The method of claim 14,
Wherein the at least one program command comprises:
Generating the screen data based on the screen data processing performance indicated by the web browser performance information; And
And transmitting the generated screen data to the client device via the web application.
청구항 17에 있어서,
상기 화면 데이터를 생성하는 단계는,
상기 화면 데이터 처리 성능을 기반으로 화면 데이터의 모양, 개수 및 넓이 중 적어도 하나를 조정하는 단계; 및
조정된 화면 데이터를 상기 화면 데이터 처리 성능을 기반으로 압축하는 단계를 포함하는, 서버 장치.
18. The method of claim 17,
The step of generating the screen data comprises:
Adjusting at least one of a shape, a number, and an area of screen data based on the screen data processing performance; And
And compressing the adjusted screen data based on the screen data processing performance.
삭제delete 삭제delete
KR1020140135055A 2014-10-07 2014-10-07 Apparatus for processing data based on virtual desktop and method for the same KR101635273B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140135055A KR101635273B1 (en) 2014-10-07 2014-10-07 Apparatus for processing data based on virtual desktop and method for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140135055A KR101635273B1 (en) 2014-10-07 2014-10-07 Apparatus for processing data based on virtual desktop and method for the same

Publications (2)

Publication Number Publication Date
KR20160041353A KR20160041353A (en) 2016-04-18
KR101635273B1 true KR101635273B1 (en) 2016-06-30

Family

ID=55916482

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140135055A KR101635273B1 (en) 2014-10-07 2014-10-07 Apparatus for processing data based on virtual desktop and method for the same

Country Status (1)

Country Link
KR (1) KR101635273B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11593122B2 (en) * 2020-01-23 2023-02-28 Hypori Llc Dynamic resizing of a portion of a virtual device user interface
KR102287057B1 (en) * 2020-05-04 2021-08-05 에스케이브로드밴드주식회사 Method and apparatus for efficiently providng the same content to a plurality of users

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120317295A1 (en) 2011-06-07 2012-12-13 Cisco Technology, Inc. Distributed Overlay Browser For Transparent Streaming Media Support In Virtualized Desktop Environment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101745594B1 (en) * 2010-08-18 2017-06-09 에스케이텔레콤 주식회사 Apparatus and method for setting up automatically a scene in a virtual desktop service system
KR101326231B1 (en) * 2011-12-13 2013-11-11 고려대학교 산학협력단 Virtualization software service system, and sevice server and user terminal therefor
US20140029764A1 (en) * 2012-07-24 2014-01-30 Lg Cns Co., Ltd. Virtual machine-based sound control for computerized devices in a networked computing environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120317295A1 (en) 2011-06-07 2012-12-13 Cisco Technology, Inc. Distributed Overlay Browser For Transparent Streaming Media Support In Virtualized Desktop Environment

Also Published As

Publication number Publication date
KR20160041353A (en) 2016-04-18

Similar Documents

Publication Publication Date Title
US10397627B2 (en) Desktop-cloud-based media control method and device
US10949158B2 (en) Screenshot method and apparatus
US10341251B2 (en) Method and system for securely transmitting volumes into cloud
EP2899687B1 (en) Method and device for processing graphics data
US20120317236A1 (en) Web-Browser Based Desktop And Application Remoting Solution
US20140143672A1 (en) System and method for function expandable collaboration screen system
US8739175B2 (en) System and method for rerouting a request between virtualization services
US20140040347A1 (en) Method and system for a web server transmitting a response to an access request
EP2954401B1 (en) Transmitting hardware-rendered graphical data
US11789765B2 (en) Collaborative hosted virtual systems and methods
EP3198843B1 (en) Method and system for serving virtual desktop to client
US20190026131A1 (en) Redirection Method and Apparatus, and System
CN105207975A (en) Data transmission method and data transmission system for USB image equipment under VDI architecture
CN107665141B (en) Database configuration method and equipment thereof
JP2016540333A (en) Terminal marking method, terminal marking device, program, and recording medium
CN113407286A (en) Server remote management method and device
KR101635273B1 (en) Apparatus for processing data based on virtual desktop and method for the same
US10437849B2 (en) Method and apparatus for implementing storage of file in IP disk
US20150145876A1 (en) Graphics Data Processing Method, Apparatus, and System
US20150350295A1 (en) System And Method For Loading Assets During Remote Execution
Pandey et al. An automation framework for benchmarking and optimizing performance of remote desktops in the cloud
US20140156736A1 (en) Apparatus and method for managing threads to perform divided execution of software
US20170109113A1 (en) Remote Image Projection Method, Sever And Client Device
KR20170105317A (en) Method for transmitting screen of virtual machine using graphic procedding unit based on hardware and apparatus using the same
KR101543295B1 (en) Application error detection method for cloud streaming service, apparatus and system therefor

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: 20190319

Year of fee payment: 4