KR101635273B1 - 가상 데스크탑 기반의 데이터 처리 장치 및 방법 - Google Patents
가상 데스크탑 기반의 데이터 처리 장치 및 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
가상 데스크탑 기반의 데이터 처리 장치 및 방법이 개시된다. 가상 데스크탑 기반의 데이터 처리 방법은, 클라이언트 장치에서 동작하는 웹브라우저 상의 웹 애플리케이션을 통해 가상 데스크탑 환경을 클라이언트 장치에 제공하는 단계, 웹 애플리케이션을 통해 제1 메시지를 수신하는 단계 및 제1 메시지로부터 웹브라우저 성능 정보를 획득하는 단계를 포함한다. 따라서, 데이터의 처리속도가 향상될 수 있다.
Description
본 발명은 가상화 기술에 관한 것으로, 더욱 상세하게는 가상 데스크탑을 통해 데이터를 처리하는 기술에 관한 것이다.
가상화(virtualization) 기술의 발전과 함께 클라우드 서비스(cloud service)가 보편화 되고 있다. 클라우드 서비스는 클라우드 센터 상에서 서버(server)를 가상화하여 운용하는 전통적인 서비스에서 클라우드 센터 상에서 데스크탑(desktop)을 가상화하여 운용하는 서비스로 발전하고 있다. 데스크탑을 가상화하여 운용하는 서비스를 클라우드 데스크탑 서비스 또는 VDI(virtual desktop infrastructure)라고 한다. VDI에서 사용자는 자신의 클라이언트(client) 장치를 통해 클라우드 센터 상의 가상 데스크탑을 사용할 수 있다.
한편, 웹(web) 기술은 플랫폼(platform)/운영체제에 대한 비의존성을 가지며, 가상 데스크탑 관리 및 연결을 위해 사용되고 있다. 가상 데스크탑 관리는 정적인 웹 페이지(web page)를 기반으로 수행될 수 있다. 가상 데스크탑 연결은 수시로 변경되는 화면 데이터(즉, 클라이언트 장치의 화면에 출력되는 영상 데이터), 사운드(sound) 데이터, 키보드 이벤트, 마우스 이벤트 등을 처리해야 하므로 높은 기술의 복잡도를 가진다. 특히 충분한 사용자 경험을 제공하기 위해서 높은 처리속도를 통해 지연 없는 반응속도가 제공되어야 하나, 네이티브 코드(native code) 기반 클라이언트 애플리케이션(application)을 가정한 기존 원격 데스크탑 연결 기술이 웹 기반 클라이언트 애플리케이션에 그대로 적용되는 경우 성능이 저하되는 문제가 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 높은 처리속도를 제공하기 위한 가상 데스크탑 기반의 데이터 처리 장치를 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 높은 처리속도를 제공하기 위한 가상 데스크탑 기반의 데이터 처리 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 서버 장치에서 수행되는 가상 데스크탑 기반의 데이터 처리 방법은, 클라이언트 장치에서 동작하는 웹브라우저 상의 웹 애플리케이션을 통해 가상 데스크탑 환경을 상기 클라이언트 장치에 제공하는 단계, 상기 웹 애플리케이션을 통해 제1 메시지를 수신하는 단계 및 상기 제1 메시지로부터 상기 웹브라우저 성능 정보를 획득하는 단계를 포함한다.
여기서, 상기 서버 장치는 RDC 프로토콜을 기반으로 상기 클라이언트 장치와 웹 사용자 인터페이스로 연결될 수 있다.
여기서, 상기 웹브라우저 성능 정보는 상기 웹브라우저의 화면 데이터 처리 성능 정보 및 사운드 데이터 처리 성능 정보 중 적어도 하나를 포함할 수 있다.
여기서, 상기 데이터 처리 방법은, 상기 웹브라우저 성능 정보가 나타내는 화면 데이터 처리 성능을 기반으로 상기 화면 데이터를 생성하는 단계 및 생성된 화면 데이터를 상기 웹 애플리케이션을 통해 상기 클라이언트 장치에 전송하는 단계를 더 포함할 수 있다.
여기서, 상기 화면 데이터를 생성하는 단계는, 상기 화면 데이터 처리 성능을 기반으로 화면 데이터의 모양, 개수 및 넓이 중 적어도 하나를 조정하는 단계 및 조정된 화면 데이터를 상기 화면 데이터 처리 성능을 기반으로 압축하는 단계를 포함할 수 있다.
여기서, 상기 데이터 처리 방법은, 상기 웹브라우저 성능 정보가 나타내는 사운드 데이터 처리 성능을 기반으로 상기 사운드 데이터를 생성하는 단계 및 생성된 사운드 데이터를 상기 웹 애플리케이션을 통해 상기 클라이언트 장치에 전송하는 단계를 더 포함할 수 있다.
여기서, 상기 사운드 데이터를 생성하는 단계는, 상기 사운드 데이터 처리 성능을 기반으로 사운드 데이터의 기간을 조정하는 단계 및 조정된 사운드 데이터를 상기 사운드 데이터 처리 성능을 기반으로 압축하는 단계를 포함할 수 있다.
여기서, 상기 데이터 처리 방법은, 상기 웹 애플리케이션을 통해 입력 이벤트를 수신하는 단계 및 상기 네이티브 애플리케이션을 기반으로 상기 입력 이벤트를 처리하는 단계를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 클라이언트 장치에서 수행되는 가상 데스크탑 기반의 데이터 처리 방법은, 웹브라우저 상의 웹 애플리케이션을 통해 가상 데스크탑 환경을 서버 장치로부터 서빙받는 단계, 상기 웹브라우저의 성능 정보를 포함한 제1 메시지를 상기 웹 애플리케이션을 통해 상기 서버 장치에 제공하는 단계 및 상기 웹브라우저의 성능 정보가 나타내는 성능을 기반으로 처리된 데이터를 상기 웹 애플리케이션을 통해 상기 서버 장치로부터 수신하는 단계를 포함한다.
여기서, 상기 웹브라우저 성능 정보는 상기 웹브라우저의 화면 데이터 처리 성능 정보 및 사운드 데이터 처리 성능 정보 중 적어도 하나를 포함할 수 있다.
여기서, 상기 처리된 데이터는, 상기 웹브라우저 성능 정보가 나타내는 화면 데이터 처리 성능을 기반으로 처리된 화면 데이터 및 상기 웹브라우저 성능 정보가 나타내는 사운드 데이터 처리 성능을 기반으로 처리된 사운드 데이터 중 적어도 하나를 포함할 수 있다.
여기서, 상기 데이터 처리 방법은 화면 데이터 및 사운드 데이터를 수신한 경우, 타임스탬프를 기반으로 상기 화면 데이터와 상기 사운드 데이터를 동기화하여 출력하는 단계를 더 포함할 수 있다.
여기서, 상기 데이터 처리 방법은 입력 이벤트가 발생된 경우, 상기 입력 이벤트를 상기 웹 애플리케이션을 통해 상기 서버 장치에 전송하는 단계를 더 포함할 수 있다.
상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 서버 장치는, 프로세서 및 상기 프로세서를 통해 실행되는 적어도 하나의 프로그램 명령이 저장된 메모리를 포함하고, 상기 적어도 하나의 프로그램 명령은, 클라이언트 장치에서 동작하는 웹브라우저 상의 웹 애플리케이션을 통해 가상 데스크탑 환경을 상기 클라이언트 장치에 제공하는 단계, 상기 웹 애플리케이션을 통해 제1 메시지를 수신하는 단계 및 상기 제1 메시지로부터 상기 웹브라우저 성능 정보를 획득하는 단계를 수행하도록 실행 가능하다.
여기서, 상기 서버 장치는 RDC 프로토콜을 기반으로 상기 클라이언트 장치와 웹 사용자 인터페이스로 연결될 수 있다.
여기서, 상기 웹브라우저 성능 정보는 상기 웹브라우저의 화면 데이터 처리 성능 정보 및 사운드 데이터 처리 성능 정보 중 적어도 하나를 포함할 수 있다.
여기서, 상기 적어도 하나의 프로그램 명령은 상기 웹브라우저 성능 정보가 나타내는 화면 데이터 처리 성능을 기반으로 상기 화면 데이터를 생성하는 단계 및 생성된 화면 데이터를 상기 웹 애플리케이션을 통해 상기 클라이언트 장치에 전송하는 단계를 더 수행하도록 실행 가능할 수 있다.
여기서, 상기 화면 데이터를 생성하는 단계는 상기 화면 데이터 처리 성능을 기반으로 화면 데이터의 모양, 개수 및 넓이 중 적어도 하나를 조정하는 단계 및 조정된 화면 데이터를 상기 화면 데이터 처리 성능을 기반으로 압축하는 단계를 포함할 수 있다.
여기서, 상기 적어도 하나의 프로그램 명령은 상기 웹브라우저 성능 정보가 나타내는 사운드 데이터 처리 성능을 기반으로 상기 사운드 데이터를 생성하는 단계 및 생성된 사운드 데이터를 상기 웹 애플리케이션을 통해 상기 클라이언트 장치에 전송하는 단계를 더 수행하도록 실행 가능할 수 있다.
여기서, 상기 사운드 데이터를 생성하는 단계는 상기 사운드 데이터 처리 성능을 기반으로 사운드 데이터의 기간(duration)을 조정하는 단계 및 조정된 사운드 데이터를 상기 사운드 데이터 처리 성능을 기반으로 압축하는 단계를 포함할 수 있다.
본 발명에 의하면, 클라이언트 장치의 웹브라우저 성능에 따라 서비스가 적응적으로 클라이언트 장치에 제공될 수 있으므로, 데이터의 처리속도가 증가될 수 있다. 이에 따라, 사용자 경험이 향상될 수 있다.
도 1은 가상 데스크탑 기반의 데이터 처리 시스템을 도시한 블록도이다.
도 2는 서버 장치의 RDC 변환모듈을 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 데이터 처리 방법을 도시한 순서도이다.
도 4는 본 발명에 따른 방법들을 수행하는 장치의 일 실시예를 도시한 블록도이다.
도 2는 서버 장치의 RDC 변환모듈을 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 데이터 처리 방법을 도시한 순서도이다.
도 4는 본 발명에 따른 방법들을 수행하는 장치의 일 실시예를 도시한 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 가상 데스크탑 기반의 데이터 처리 시스템을 도시한 블록도이다.
도 1을 참조하면, 가상 데스크탑(virtual desktop) 기반의 데이터 처리 시스템은 서버 장치(100) 및 적어도 하나의 클라이언트(client) 장치(200)를 포함할 수 있다. 서버 장치(100)는 하이퍼바이저(hypervisior)(110), 가상장치(120), 데스크탑 가상머신(130), RDC(remote desktop connection) 서버(140), RDC 변환모듈(150) 및 웹서버(160) 중 적어도 하나를 포함할 수 있다.
하이퍼바이저(110)는 전가상화 기술 또는 반가상화 기술을 기반으로 가상 환경을 제공할 수 있다. 하이퍼바이저(110)는 물리적인 구성인 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphic processing unit, GPU), 메모리(memory), 그래픽 카드, 네트워크 인터페이스 카드(network interface card), 입력 인터페이스 장치(예를 들어, 키보드, 마우스 등) 등을 가상화할 수 있다. 하이퍼바이저(110)는 위와 같은 가상 환경에서 데스크탑 가상머신(130)을 구동할 수 있다.
가상장치(120)는 하이퍼바이저(110)에 의해 가상화된 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 메모리, 그래픽 카드, 네트워크 인터페이스 카드, 입력 인터페이스 장치 등을 의미할 수 있다. 가상장치(120)는 데스크탑 가상머신(130)에 제공될 수 있다.
데스크탑 가상머신(130)은 하이퍼바이저(110)에 의해 구동될 수 있으며, 가상장치(120)를 사용하여 클라이언트 장치(200)로부터 요청된 태스크(task)를 처리할 수 있다.
RDC 서버(140)는 미리 정의된 RDC 프로토콜(protocol)을 기반으로 클라이언트 장치(20)와 연결될 수 있으며, 클라이언트 장치(20)에 가상 데스크탑 환경을 제공할 수 있다. RDC 서버(140)는 화면 데이터(즉, 클라이언트 장치(200)의 화면을 통해 출력되는 영상 데이터), 사운드 데이터 등을 클라이언트 장치(200)에 전송할 수 있다. RDC 서버(140)는 클라이언트 장치(200)로부터 입력 이벤트(예를 들어, 키보드 이벤트, 마우스 이벤트 등) 등을 수신할 수 있다. RDC 서버(140)는 수신된 입력 이벤트를 해당 가상 장치(120)에 전달할 수 있다. 예를 들어, RDC 서버(140)는 키보드 이벤트를 가상 장치(120) 중 가상 키보드에 전달할 수 있고, 마우스 이벤트를 가상 장치(120) 중 가상 마우스에 전달할 수 있다.
RDC 변환모듈(150)은 RDC 프로토콜을 기반으로 RDC 서버(140)와 연결될 수 있다. RDC 변환모듈(150)은 클라이언트 장치(200)로부터 수신한 화면 데이터, 사운드 데이터, 입력 이벤트 등을 RDC 프로토콜을 기반으로 변경할 수 있고, 변경된 데이터, 이벤트 등을 RDC 서버(140)에 전송할 수 있다. RDC 변환모듈(150)은 RDC 서버(140)로부터 수신한 화면 데이터, 사운드 데이터, 입력 이벤트에 대한 응답 등을 웹 인터페이스로 변경할 수 있고, 변경된 데이터, 응답 등을 클라이언트 장치(200)에 전송할 수 있다.
웹서버(160)는 RDC 서버(140)와의 연결을 위한 웹 사용자 인터페이스(web user interface)를 클라이언트 장치(200)에 제공할 수 있다. 즉, 웹서버(160)는 사용자 인증 절차, RDC 서버(140)의 주소 확인 절차, 웹 애플리케이션(221)의 연결 절차 등을 지원할 수 있다.
클라이언트 장치(200)는 운영체제(210), 웹브라우저(220), 웹 애플리케이션(221) 등을 포함할 수 있다. 운영체제(210)는 웹브라우저(220)를 구동할 수 있다. 웹브라우저(220)는 웹서버(160)에 접속하여 웹 애플리케이션(221)을 구동할 수 있고, RDC 변환모듈(150)과의 연결을 지원할 수 있다.
웹 애플리케이션(221)은 웹 사용자 인터페이스를 통해 RDC 변환모듈(150)과 연결될 수 있다. 웹 애플리케이션(221)은 RDC 변환모듈(150)과 화면 데이터, 사운드 데이터, 키보드 이벤트, 마우스 이벤트 등을 송수신할 수 있다. 웹 애플리케이션(221)은 웹브라우저(220)를 통해 화면 데이터 및 사운드 데이터 중 적어도 하나를 출력할 수 있다. 웹 애플리케이션(221)은 화면 데이터 및 사운드 데이터를 출력하는 경우 데이터의 타임스탬프(timestamp)를 기반으로 화면 데이터와 사운드 데이터를 동기화하여 출력할 수 있다. 웹 애플리케이션(221)은 웹브라우저(220)를 통해 키보드 이벤트, 마우스 이벤트 등을 수신할 수 있다.
도 2는 서버 장치의 RDC 변환모듈을 도시한 블록도이다.
도 2를 참조하면, RDC 변환모듈(150)은 네이티브 애플리케이션(151), 웹브라우저 성능 측정부(152), 화면 처리부(153), 사운드 처리부(154), 입력 처리부(155) 및 데이터 송수신부(156)를 포함할 수 있다.
네이티브 애플리케이션(151)은 RDC 프로토콜을 기반으로 RDC 서버(140)와 연결될 수 있다. 네이티브 애플리케이션(151)은 RDC 서버(140)로부터 화면 데이터를 수신할 수 있고, 수신된 화면 데이터를 화면 처리부(153)에 전송할 수 있다. 네이티브 애플리케이션(151)은 RDC 서버(140)로부터 사운드 데이터를 수신할 수 있고, 수신된 사운드 데이터를 사운드 처리부(154)에 전송할 수 있다. 네이티브 애플리케이션(151)은 입력 처리부(155)로부터 입력 이벤트를 수신할 수 있고, 수신된 입력 이벤트를 RDC 서버(140)에 전송할 수 있다.
웹브라우저 성능 측정부(152)는 웹 애플리케이션(221)과 연결되어 웹브라우저(220)의 성능 정보를 획득할 수 있다. 즉, 데이터 송수신부(156)는 웹 애플리케이션(221)을 통해 웹브라우저(220)의 성능 정보를 수신할 수 있고, 수신한 웹브라우저(220)의 성능 정보를 웹브라우저 성능 측정부(152)에 전송할 수 있다. 이를 통해, 웹브라우저 성능 측정부(152)는 웹브라우저(220)의 성능 정보를 획득할 수 있다. 웹브라우저(220)의 성능 정보는 화면 처리 성능 정보 및 사운드 처리 성능 정보 중 적어도 하나를 포함할 수 있다.
웹브라우저 성능 측정부(152)는 화면 처리 성능 정보를 화면 처리부(153)에 전송할 수 있고, 사운드 처리 성능 정보를 사운드 처리부(154)에 전송할 수 있다. 화면 처리 성능 정보는 화면 데이터 압축해제 성능, 화면 데이터 출력 성능 등을 포함할 수 있다. 사운드 처리 성능 정보는 사운드 데이터 압축해제 성능, 사운드 데이터 출력 성능 등을 포함할 수 있다.
화면 처리부(153)는 네이티브 애플리케이션(151)으로부터 화면 데이터를 수신할 수 있고, 웹브라우저 성능 측정부(152)로부터 화면 처리 성능 정보를 수신할 수 있다. 화면 처리부(153)는 화면 처리 성능을 기반으로 화면 데이터의 모양, 개수 및 넓이 중 적어도 하나를 조정할 수 있다. 화면 처리부(153)는 조정된 화면 데이터를 화면 처리 성능을 기반으로 압축할 수 있고, 압축된 화면 데이터를 데이터 송수신부(156)에 전송할 수 있다.
사운드 처리부(154)는 네이티브 애플리케이션(151)으로부터 사운드 데이터를 수신할 수 있고, 웹브라우저 성능 측정부(152)로부터 사운드 처리 성능 정보를 수신할 수 있다. 사운드 처리부(154)는 사운드 처리 성능을 기반으로 사운드 데이터의 기간(duration)을 조정할 수 있다. 사운드 처리부(154)는 조정된 사운드 데이터를 사운드 처리 성능을 기반으로 압축할 수 있고, 압축된 사운드 데이터를 데이터 송수신부(156)에 전송할 수 있다.
입력 처리부(155)는 데이터 송수신부(156)를 통해 입력 이벤트를 수신할 수 있고, 수신된 입력 이벤트를 네이티브 애플리케이션(151)에 전송할 수 있다.
데이터 송수신부(156)는 웹 애플리케이션(221)과 웹 사용자 인터페이스로 연결될 수 있고, 웹 애플리케이션(221)과 데이터를 송수신할 수 있다. 데이터 송수신부(156)는 웹 애플리케이션(221)으로부터 웹브라우저(220)의 성능 정보를 수신할 수 있고, 수신된 웹브라우저(220)의 성능 정보를 웹브라우저 성능 측정부(152)에 전송할 수 있다. 데이터 송수신부(156)는 웹 애플리케이션(221)으로부터 입력 이벤트를 수신할 수 있고, 수신된 입력 이벤트를 입력 처리부(155)에 전송할 수 있다.
데이터 송수신부(156)는 화면 처리부(153)로부터 화면 데이터를 수신할 수 있고, 수신된 화면 데이터를 웹 애플리케이션(221)에 전송할 수 있다. 데이터 송수신부(156)는 사운드 처리부(154)로부터 사운드 데이터를 수신할 수 있고, 수신된 사운드 데이터를 웹 애플리케이션(221)에 전송할 수 있다.
도 3은 본 발명의 일 실시예에 따른 데이터 처리 방법을 도시한 순서도이다.
도 3을 참조하면, 서버 장치는 도 1 및 도 2에 도시된 서버 장치(100)와 동일할 수 있고, 클라이언트 장치는 도 1에 도시된 클라이언트 장치(200)와 동일할 수 있다.
서버 장치(100)는 클라이언트 장치(200)에서 동작하는 웹브라우저(220) 상의 웹 애플리케이션(221)을 통해 가상 데스크탑 환경을 클라이언트 장치(200)에 제공할 수 있다(S300). 여기서, 서버 장치(100)는 RDC 프로토콜을 기반으로 클라이언트 장치(200)와 웹 사용자 인터페이스로 연결될 수 있다.
클라이언트 장치(200)는 웹브라우저(220)의 성능 정보를 포함한 제1 메시지(message)를 생성할 수 있고, 생성된 제1 메시지를 웹 애플리케이션(221)을 통해 서버 장치(100)에 전송할 수 있다(S310). 웹브라우저(220)의 성능 정보는 화면 데이터 처리 성능 정보 및 사운드 데이터 처리 성능 정보 중 적어도 하나를 포함할 수 있다. 화면 데이터 처리 성능 정보는 화면 데이터 출력 성능, 화면 데이터 압축해제 성능 등을 포함할 수 있다. 사운드 데이터 처리 성능 정보는 사운드 데이터 출력 성능, 사운드 데이터 압축해제 성능 등을 포함할 수 있다.
서버 장치(100)는 클라이언트 장치(200)로부터 제1 메시지를 수신할 수 있고, 수신된 제1 메시지로부터 웹브라우저(220)의 성능 정보를 획득할 수 있다(S320).
다음으로, 웹브라우저(220)의 성능 정보를 기반으로 화면 데이터를 처리하는 절차 및 사운드 데이터를 처리하는 절차가 설명될 것이다.
화면 데이터를 처리하는 절차
서버 장치(100)는 클라이언트 장치(200)로 전송할 화면 데이터가 존재하는 경우 클라이언트 장치(200)로부터 획득한 화면 데이터 처리 성능을 기반으로 화면 데이터를 생성할 수 있다. 구체적으로, 서버 장치(100)는 화면 데이터 처리 성능을 기반으로 화면 데이터의 모양, 개수 및 넓이 중 적어도 하나를 조정할 수 있다(S330). 그 후에, 서버 장치(100)는 조정된 화면 데이터를 화면 데이터 처리 성능을 기반으로 압축할 수 있다(S340). 서버 장치(100)는 압축된 화면 데이터를 웹 애플리케이션(221)을 통해 클라이언트 장치(200)에 전송할 수 있다(S350).
사운드 데이터를 처리하는 절차
서버 장치(100)는 클라이언트 장치(200)로 전송할 사운드 데이터가 존재하는 경우 클라이언트 장치(200)로부터 획득한 사운드 데이터 처리 성능을 기반으로 사운드 데이터를 생성할 수 있다. 구체적으로, 서버 장치(100)는 사운드 데이터 처리 성능을 기반으로 사운드 데이터의 기간을 조정할 수 있다(S330). 그 후에, 서버 장치(100)는 조정된 사운드 데이터를 사운드 데이터 처리 성능을 기반으로 압축할 수 있다(S340). 서버 장치(100)는 압축된 사운드 데이터를 웹 애플리케이션(221)을 통해 클라이언트 장치(200)에 전송할 수 있다(S350).
클라이언트 장치(200)는 서버 장치(100)로부터 화면 데이터 및 사운드 데이터 중 적어도 하나를 수신할 수 있고, 수신된 데이터를 출력할 수 있다(S360). 서버 장치(100)로부터 화면 데이터 및 사운드 데이터를 모두 수신한 경우, 클라이언트 장치(200)는 화면 데이터 및 사운드 데이터에 포함된 타임스탬프를 기반으로 화면 데이터와 사운드 데이터를 동기화하여 출력할 수 있다.
한편, 클라이언트 장치(200)에서 사용자에 의해 입력 이벤트(예를 들어, 키보드 이벤트, 마우스 이벤트 등)가 발생될 수 있다(S370). 이 경우, 클라이어트 장치(200)는 입력 이벤트를 서버 장치(100)에 전송할 수 있다(S380). 서버 장치(100)는 클라이언트 장치(200)로부터 입력 이벤트를 수신한 경우 수신된 입력 이벤트를 네이티브 애플리케이션을 통해 처리할 수 있다(S390).
도 4는 본 발명에 따른 방법들을 수행하는 장치의 일 실시예를 도시한 블록도이다.
도 4를 참조하면, 장치(400)는 서버 장치(100) 또는 클라이언트 장치(200)를 의미할 수 있다. 즉, 장치(400)에 포함된 구성은 서버 장치(100) 또는 클라이언트 장치(200)의 물리적 구성을 의미할 수 있다.
장치(400)는 물리적 구성인 적어도 하나의 프로세서(410), 메모리(420) 및 네트워크와 연결되어 통신을 수행하는 네트워크 인터페이스 장치(430)를 포함할 수 있다. 또한, 장치(400)는 입력 인터페이스 장치(440), 출력 인터페이스 장치(450), 저장 장치(460) 등을 더 포함할 수 있다. 장치(400)에 포함된 각각의 구성 요소들은 버스(bus)(470)에 의해 연결되어 서로 통신을 수행할 수 있다.
프로세서(410)는 메모리(420) 및/또는 저장 장치(460)에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(410)는 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(420)와 저장 장치(460)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(420)는 읽기 전용 메모리(read only memory, ROM) 및/또는 랜덤 액세스 메모리(random access memory, RAM)로 구성될 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 서버 장치
110: 하이퍼바이저
120: 가상장치
130: 데스크탑 가상머신
140: RDC 서버
150: RDC 변환모듈
160: 웹서버
200: 클라이언트 장치
210: 운영체제
220: 웹브라우저
221: 웹 애플리케이션
110: 하이퍼바이저
120: 가상장치
130: 데스크탑 가상머신
140: RDC 서버
150: RDC 변환모듈
160: 웹서버
200: 클라이언트 장치
210: 운영체제
220: 웹브라우저
221: 웹 애플리케이션
Claims (20)
- 서버(server) 장치에서 수행되는 가상 데스크탑(virtual desktop) 기반의 데이터 처리 방법으로서,
클라이언트(client) 장치에서 동작하는 웹브라우저(web browser) 상의 웹 애플리케이션(web application)을 통해 가상 데스크탑 환경을 상기 클라이언트 장치에 제공하는 단계;
상기 웹 애플리케이션을 통해 제1 메시지(message)를 수신하는 단계;
상기 제1 메시지로부터 상기 웹브라우저 성능 정보를 획득하는 단계;
상기 웹브라우저 성능 정보가 나타내는 사운드 데이터 처리 성능을 기반으로 상기 사운드 데이터를 생성하는 단계; 및
생성된 사운드 데이터를 상기 웹 애플리케이션을 통해 상기 클라이언트 장치로 전송하는 단계를 포함하되,
상기 사운드 데이터를 생성하는 단계는,
상기 사운드 데이터 처리 성능을 기반으로 사운드 데이터의 기간(duration)을 조정하는 단계; 및
상기 조정된 사운드 데이터를 상기 사운드 데이터 처리 성능을 기반으로 압축하는 단계를 포함하는, 데이터 처리 방법. - 청구항 1에 있어서,
상기 서버 장치는 RDC(remote desktop connection) 프로토콜(protocol)을 기반으로 상기 클라이언트 장치와 웹 사용자 인터페이스(web user interface)로 연결되는, 데이터 처리 방법. - 청구항 1에 있어서,
상기 웹브라우저 성능 정보는,
상기 웹브라우저의 화면 데이터 처리 성능 정보 및 사운드 데이터 처리 성능 정보 중 적어도 하나를 포함하는, 데이터 처리 방법. - 청구항 1에 있어서,
상기 데이터 처리 방법은,
상기 웹브라우저 성능 정보가 나타내는 화면 데이터 처리 성능을 기반으로 상기 화면 데이터를 생성하는 단계; 및
생성된 화면 데이터를 상기 웹 애플리케이션을 통해 상기 클라이언트 장치에 전송하는 단계를 더 포함하는, 데이터 처리 방법. - 청구항 4에 있어서,
상기 화면 데이터를 생성하는 단계는,
상기 화면 데이터 처리 성능을 기반으로 화면 데이터의 모양, 개수 및 넓이 중 적어도 하나를 조정하는 단계; 및
조정된 화면 데이터를 상기 화면 데이터 처리 성능을 기반으로 압축하는 단계를 포함하는, 데이터 처리 방법. - 삭제
- 삭제
- 청구항 1에 있어서,
상기 데이터 처리 방법은,
상기 웹 애플리케이션을 통해 입력 이벤트(event)를 수신하는 단계; 및
네이티브 애플리케이션(native application)을 기반으로 상기 입력 이벤트를 처리하는 단계를 더 포함하는, 데이터 처리 방법. - 클라이언트(client) 장치에서 수행되는 가상 데스크탑(virtual desktop) 기반의 데이터 처리 방법으로서,
웹브라우저(web browser) 상의 웹 애플리케이션(web application)을 통해 가상 데스크탑 환경을 서버(server) 장치로부터 서빙(serving)받는 단계;
상기 웹브라우저의 성능 정보를 포함한 제1 메시지(message)를 상기 웹 애플리케이션을 통해 상기 서버 장치에 제공하는 단계; 및
상기 웹브라우저의 성능 정보가 나타내는 성능을 기반으로 처리된 데이터를 상기 웹 애플리케이션을 통해 상기 서버 장치로부터 수신하는 단계를 포함하되,
상기 데이터 처리 방법은,
화면 데이터 및 사운드 데이터를 수신한 경우, 타임 스탬프(timestamp)를 기반으로 상기 화면 데이터와 상기 사운드 데이터를 동기화하여 출력하는 단계를 더 포함하는, 데이터 처리 방법. - 청구항 9에 있어서,
상기 웹브라우저 성능 정보는,
상기 웹브라우저의 화면 데이터 처리 성능 정보 및 사운드 데이터 처리 성능 정보 중 적어도 하나를 포함하는, 데이터 처리 방법. - 청구항 9에 있어서,
상기 처리된 데이터는,
상기 웹브라우저 성능 정보가 나타내는 화면 데이터 처리 성능을 기반으로 처리된 화면 데이터 및 상기 웹브라우저 성능 정보가 나타내는 사운드 데이터 처리 성능을 기반으로 처리된 사운드 데이터 중 적어도 하나를 포함하는, 데이터 처리 방법. - 삭제
- 청구항 9에 있어서,
상기 데이터 처리 방법은,
입력 이벤트(event)가 발생된 경우, 상기 입력 이벤트를 상기 웹 애플리케이션을 통해 상기 서버 장치에 전송하는 단계를 더 포함하는, 데이터 처리 방법. - 서버(server) 장치로서,
프로세서(processor); 및
상기 프로세서를 통해 실행되는 적어도 하나의 프로그램 명령(program command)이 저장된 메모리(memory)를 포함하고,
상기 적어도 하나의 프로그램 명령은,
클라이언트(client) 장치에서 동작하는 웹브라우저(web browser) 상의 웹 애플리케이션(web application)을 통해 가상 데스크탑 환경을 상기 클라이언트 장치에 제공하는 단계;
상기 웹 애플리케이션을 통해 제1 메시지(message)를 수신하는 단계;
상기 제1 메시지로부터 상기 웹브라우저 성능 정보를 획득하는 단계;
상기 웹 브라우저 성능 정보가 나타내는 사운드 데이터 처리 성능을 기반으로 상기 사운드 데이터를 생성하는 단계; 및
생성된 사운드 데이터를 상기 웹 애플리케이션을 통해 상기 클라이언트 장치로 전송하는 단계를 수행하도록 실행 가능하되,
상기 사운드 데이터를 생성하는 단계는,
상기 사운드 데이터 처리 성능을 기반으로 사운드 데이터의 기간(duration)을 조정하는 단계; 및
상기 조정된 사운드 데이터를 상기 사운드 데이터 처리 성능을 기반으로 압축하는 단계를 포함하는, 서버 장치. - 청구항 14에 있어서,
상기 서버 장치는 RDC(remote desktop connection) 프로토콜(protocol)을 기반으로 상기 클라이언트 장치와 웹 사용자 인터페이스(web user interface)로 연결되는, 서버 장치. - 청구항 14에 있어서,
상기 웹브라우저 성능 정보는,
상기 웹브라우저의 화면 데이터 처리 성능 정보 및 사운드 데이터 처리 성능 정보 중 적어도 하나를 포함하는, 서버 장치. - 청구항 14에 있어서,
상기 적어도 하나의 프로그램 명령은,
상기 웹브라우저 성능 정보가 나타내는 화면 데이터 처리 성능을 기반으로 상기 화면 데이터를 생성하는 단계; 및
생성된 화면 데이터를 상기 웹 애플리케이션을 통해 상기 클라이언트 장치에 전송하는 단계를 더 수행하도록 실행 가능한, 서버 장치. - 청구항 17에 있어서,
상기 화면 데이터를 생성하는 단계는,
상기 화면 데이터 처리 성능을 기반으로 화면 데이터의 모양, 개수 및 넓이 중 적어도 하나를 조정하는 단계; 및
조정된 화면 데이터를 상기 화면 데이터 처리 성능을 기반으로 압축하는 단계를 포함하는, 서버 장치. - 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140135055A KR101635273B1 (ko) | 2014-10-07 | 2014-10-07 | 가상 데스크탑 기반의 데이터 처리 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140135055A KR101635273B1 (ko) | 2014-10-07 | 2014-10-07 | 가상 데스크탑 기반의 데이터 처리 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160041353A KR20160041353A (ko) | 2016-04-18 |
KR101635273B1 true KR101635273B1 (ko) | 2016-06-30 |
Family
ID=55916482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140135055A KR101635273B1 (ko) | 2014-10-07 | 2014-10-07 | 가상 데스크탑 기반의 데이터 처리 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101635273B1 (ko) |
Families Citing this family (2)
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 (ko) * | 2020-05-04 | 2021-08-05 | 에스케이브로드밴드주식회사 | 복수의 사용자에게 효율적으로 동일한 컨텐츠를 제공하는 방법 및 장치 |
Citations (1)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101745594B1 (ko) * | 2010-08-18 | 2017-06-09 | 에스케이텔레콤 주식회사 | 가상 데스크탑 서비스 시스템의 자동 화면 설정 장치 및 방법 |
KR101326231B1 (ko) * | 2011-12-13 | 2013-11-11 | 고려대학교 산학협력단 | 가상화 소프트웨어 서비스 시스템 및 이를 위한 서비스 서버 및 사용자단말 |
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 |
-
2014
- 2014-10-07 KR KR1020140135055A patent/KR101635273B1/ko active IP Right Grant
Patent Citations (1)
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 (ko) | 2016-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10949158B2 (en) | Screenshot method and apparatus | |
US20160198208A1 (en) | Desktop-cloud-based media control method and device | |
US20180123968A1 (en) | Method and system for securely transmitting volumes into cloud | |
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 | |
EP2899687A1 (en) | Method, device and system for processing graphics data | |
US8856385B1 (en) | Image display method and apparatus | |
EP3198843B1 (en) | Method and system for serving virtual desktop to client | |
US10810024B2 (en) | Redirection method and apparatus, and system | |
US20160057113A1 (en) | Encryption method and information processing device | |
US11789765B2 (en) | Collaborative hosted virtual systems and methods | |
US10152194B2 (en) | Transmitting hardware-rendered graphical data | |
CN107665141B (zh) | 一种数据库配置方法及其设备 | |
CN105207975A (zh) | 一种vdi架构下的usb图像设备数据传输方法和系统 | |
CN113407286A (zh) | 一种服务器远程管理方法及装置 | |
JP2016540333A (ja) | 端末標記方法、端末標記装置、プログラム及び記録媒体 | |
US20150145876A1 (en) | Graphics Data Processing Method, Apparatus, and System | |
KR101635273B1 (ko) | 가상 데스크탑 기반의 데이터 처리 장치 및 방법 | |
US20140156736A1 (en) | Apparatus and method for managing threads to perform divided execution of software | |
Pandey et al. | An automation framework for benchmarking and optimizing performance of remote desktops in the cloud | |
US20170109113A1 (en) | Remote Image Projection Method, Sever And Client Device | |
KR20170105317A (ko) | 하드웨어 기반의 gpu를 이용한 가상머신의 화면 전송 방법 및 이를 이용한 장치 | |
KR101543295B1 (ko) | 클라우드 스트리밍 서비스를 위한 어플리케이션 에러 검출 방법, 이를 위한 장치 및 시스템 | |
CN113835816A (zh) | 一种虚拟机桌面显示方法、装置、设备及可读存储介质 |
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 |