KR101694289B1 - 클라이언트 그래픽 장치 분할 실행 처리 방법 - Google Patents

클라이언트 그래픽 장치 분할 실행 처리 방법 Download PDF

Info

Publication number
KR101694289B1
KR101694289B1 KR1020110065062A KR20110065062A KR101694289B1 KR 101694289 B1 KR101694289 B1 KR 101694289B1 KR 1020110065062 A KR1020110065062 A KR 1020110065062A KR 20110065062 A KR20110065062 A KR 20110065062A KR 101694289 B1 KR101694289 B1 KR 101694289B1
Authority
KR
South Korea
Prior art keywords
server
client
graphic
rendering
data
Prior art date
Application number
KR1020110065062A
Other languages
English (en)
Other versions
KR20130003617A (ko
Inventor
최원혁
김원영
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020110065062A priority Critical patent/KR101694289B1/ko
Publication of KR20130003617A publication Critical patent/KR20130003617A/ko
Application granted granted Critical
Publication of KR101694289B1 publication Critical patent/KR101694289B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Abstract

본 발명은 서버의 그래픽 장치를 이용하지 않고 클라이언트의 그래픽 장치를 이용하여 렌더링을 수행하는 클라이언트 그래픽 장치 분할 실행 처리 방법에 관한 것이다. 클라이언트 그래픽 장치 분할 실행 처리 방법은 서버에서 서버에 저장된 명령 및 데이터를 이용하여 3D 응용 프로그램이 실행되도록 하고, 클라이언트에서 렌더링을 수행되도록 함으로써, 다양한 클라이언트의 단말에 대한 지원을 가능하게 한다.

Description

클라이언트 그래픽 장치 분할 실행 처리 방법{Method for Client Graphic Device-Separated Software Execution}
본 발명은 클라이언트 그래픽 장치 분할 실행 처리 방법에 관한 것이다. 보다 상세하게는 서버의 3D 응용 프로그램을 실행하는데 있어서 서버의 그래픽 장치를 이용하지 않고 클라이언트의 그래픽 장치를 이용하여 렌더링을 수행하는 클라이언트 그래픽 장치 분할 실행 처리 방법에 관한 것이다.
응용 프로그램 소프트웨어들은 점점 더 화려한 사용자 인터페이스와 그래픽 집중적인 작업을 수용하도록 요구되고 있다.
특히, 그래픽 하드웨어 기술은 2D/3D, 멀티미디어와 같은 종래의 그래픽 집중적인 작업에 적용될 뿐만 아니라 웹브라우저 렌더링, 플래시, 윈도우 운영체제까지 확대 사용되고 있다.
클라우드 컴퓨팅 서비스와 같이 변화되는 컴퓨팅 환경에서는 이러한 데스크탑 소프트웨어들의 원격 서비스가 필요하다. 응용 프로그램 소프트웨어들을 원격으로 서비스하기 위한 기술 중 대표적인 기술에는 터미널 서비스가 있다.
그러나, 3D 처리를 필요로 하는 화려한 사용자 인터페이스 및 그래픽 집중적인 작업이 가능한 소프트웨어 등은 터미널 서비스로 한계가 있다. 이러한 소프트웨어들은 서버의 그래픽 처리에 대한 높은 부하를 유발하며, 이에 따라 처리 속도가 감소함에 따라 사용자의 불편함이 발행하고, 추가적인 서버 도입으로 인한 비용 문제가 발생한다.
본 발명의 목적은, 서버의 3D 응용 프로그램을 실행하는데 있어서 서버의 디스플레이 장치를 이용하지 않고 클라이언트의 그래픽 장치를 이용하여 렌더링을 수행하는 클라이언트 그래픽 장치 분할 실행 처리 방법을 제공하는 것이다.
상기 과제를 해결하기 위한 본 발명의 실시예에 따른, 클라이언트 그래픽 장치 분할 실행 처리 방법은
클라이언트가 서버로부터 그래픽 정보를 특정 네트워크를 통해 전달받는 단계; 상기 그래픽 정보를 상기 클라이언트의 그래픽 장치에 대응하게 변환하는 단계; 상기 그래픽 정보를 변환한 결과에 해당하는 렌더링 명령 및 렌더링 데이터를 상기 그래픽 장치에서 처리되도록 제어하는 단계; 및 상기 그래픽 장치에서 처리된 결과를 상기 특정 네트워크에 대응하게 변환하여 상기 서버로 전달하는 단계를 포함한다.
이 때, 상기 그래픽 정보를 상기 그래픽 장치에 대응하게 변환하는 단계는 상기 그래픽 정보의 포맷을 상기 그래픽 장치가 지원하는 포맷으로 변환할 수 있다.
이 때, 상기 그래픽 정보를 상기 그래픽 장치에 대응하게 변환하는 단계는 상기 그래픽 정보에 대한 압축 해제 및 복호화를 수행하여, 상기 렌더링 명령 및 상기 렌더링 데이터를 생성할 수 있다.
이 때, 상기 그래픽 장치에서 처리된 결과를 상기 특정 네트워크에 대응하게 변환하여 상기 서버로 전달하는 단계는 상기 그래픽 장치에서 처리된 결과 중 서버에서 처리되는 데이터를 추출하는 단계; 및 상기 서버에서 처리되는 데이터를 상기 특정 네트워크에 대응하게 변환하여 상기 서버로 전달하는 단계를 포함할 수 있다.
이 때, 상기 클라이언트 그래픽 장치 분할 실행 처리 방법은 상기 그래픽 장치의 그래픽 환경의 변경을 감지하는 단계; 상기 변경에 대응하는 환경 변경 정보를 추출하는 단계; 및 상기 환경 변경 정보를 상기 서버로 전송하는 단계를 더 포함할 수 있다.
이 때, 상기 환경 변겅 정보는 상기 그래픽 장치에 연결되는 장치들의 변경 여부를 포함할 수 있다.
또한, 본 발명의 일실시예에 따른 클라이언트 그래픽 분할 실행 및 처리 장치는 서버로부터 그래픽 정보를 특정 네트워크를 통해 전달받는 수신부; 상기 그래픽 정보를 상기 그래픽 장치에 대응하게 해석하고, 상기 그래픽 정보를 해석한 결과에 해당하는 렌더링 명령 및 렌더링 데이터를 생성하는 해석부; 상기 렌더링 데이터에 기반하여 상기 렌더링 명령을 실행하는 실행부; 및 상기 렌더링 명령을 처리한 결과를 상기 특정 네트워크에 대응하게 변환하는 변환부를 포함한다.
이 때, 상기 해석부는 상기 그래픽 정보의 포맷을 상기 그래픽 장치가 지원하는 포맷으로 변환할 수 있다.
이 때, 상기 변환부는 상기 렌더링 명령을 처리한 결과 중 상기 서버에서 처리되는 데이터를 추출하고, 상기 서버에서 처리되는 데이터를 상기 특정 네트워크에 대응하게 변환할 수 있다.
이 때, 상기 변환부는 상기 그래픽 장치의 그래픽 환경의 변경을 감지하고, 상기 변경에 대응하는 환경 변경 정보를 상기 특정 네트워크에 대응하게 변환하고, 변환된 데이터를 상기 서버로 전송할 수 있다.
본 발명의 실시예에 따르면, 클라이언트 그래픽 장치 분할 실행 처리 방법은 서버에서 서버에 저장된 데이터를 이용하여 3D 응용 프로그램이 실행되도록 하고, 클라이언트에서 렌더링을 수행되도록 함으로써, 다양한 클라이언트의 단말에 대한 지원을 가능하게 한다.
또한, 클라이언트 그래픽 장치 분할 실행 처리 방법은 서버에서 처리해야 하는 그래픽 정보를 클라이언트 그래픽 장치(GPU)에 독립적인 정보로 변환하여 전송하고, 이를 수신한 클라이언트에서 클라이언트 그래픽 장치에 적합한 그래픽 명령으로 변경하여 처리함으로써, 하나의 서버가 다양한 그래픽 장치를 가지는 클라이언트에 대한 분할 실행 서비스를 제공할 수 있다.
이와 같이, 본 발명은 서버 및 클라이언트의 그래픽 장치 사양에 대한 유연성을 지원함으로써 확장성을 제공할 수 있다. 또한, 본 발명은 새로운 그래픽 장치에 해당하는 해석 모듈을 추가하는 경우, 다양한 그래픽 장치에 대한 분할 실행 서비스를 유연하게 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 클라이언트 그래픽 장치 분할 실행 처리 방법이 적용되는 환경을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 서버와 클라이언트의 구성을 개략적으로 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 서버에서 클라이언트 그래픽 장치를 분할 실행 처리하는 방법을 나타내는 흐름도이다.
도 4는 본 발명의 실시예에 따른 클라이언트에서 클라이언트의 그래픽 장치를 분할 실행 처리하는 방법을 나타내는 흐름도이다.
도 5는 본 발명의 실시예에 따른 클라이언트의 그래픽 환경이 변경되었을 경우에 분할 실행 처리하는 방법을 나타내는 흐름도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하에서는, 본 발명의 실시예에 따른 클라이언트 그래픽 장치 분할 실행 처리 방법에 대하여 첨부한 도면을 참고로 하여 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 클라이언트 그래픽 장치 분할 실행 처리 방법이 적용되는 환경을 개략적으로 나타내는 도면이다.
도 1을 참고하면, 본 발명의 실시예에 따른 클라이언트 그래픽 장치 분할 실행 처리 방법이 적용되는 환경은 서버(100)와 클라이언트(200)를 포함한다.
서버(100)는 클라이언트(200)의 그래픽 장치(Graphic Processing Unit, 이하 "GPU"라고 함)에서 처리되어야 하는 렌더링 명령 또는 렌더링 데이터를 클라이언트의 그래픽 장치에 독립적이고, 네트워크 통신에 적합하게 변환하고, 변환한 결과를 네트워크를 통해 클라이언트(200)로 전송한다. 여기서, 렌더링 명령 및 렌더링 데이터는 2차원의 화상에 광원, 위치, 색상 등 외부의 정보를 고려하여 사실감을 불어넣어, 3차원 화상을 생성하는 과정에 대응하는 명령 및 데이터이다.
클라이언트(200)는 GPU를 포함하며, 서버(100)로부터 전달받은 명령 또는 데이터를 GPU에 적합한 형태로 해석하고, 해석한 결과를 GPU에서 처리하여 해당 단말에 표시한다.
다음, 서버와 클라이언트의 구성을 도 2를 참조하여 상세하게 설명한다.
도 2는 본 발명의 실시예에 따른 서버와 클라이언트의 구성을 개략적으로 나타내는 도면이다.
도 2를 참고하면, 서버(100)는 처리부(110), 추출부(120), 변환부(130), 송신부(140) 및 수신부(150)를 포함한다.
처리부(110)는 3D 어플리케이션에 해당하는 것으로, 3D 어플리케이션을 구동하고, 렌더링 명령과 렌더링 데이터에 대한 GPU 처리를 요청한다.
추출부(120)는 GPU 처리에 대한 요청에 대응하는 렌더링 명령과 렌더링 데이터를 추출한다. 또한, 추출부(120)는 추출한 렌더링 명령이 클라이언트(200) 측에서 실행되어야 하는지를 특정 기준을 이용하여 판별한다. 이때, 판별 결과에 따라 실행되어야 하는 렌더링 명령일 경우, 추출부(120)는 해당 렌더링 명령 및 렌더링 데이터를 변환부(130)로 전달한다.
또한, 추출부(120)는 3D 그래픽에 대응하는 처리 정보 예를 들어, GPU 드라이버에서 GPU로 전송되는 인터페이스의 렌더링 명령과 렌더링 데이터를 추출한다.
변환부(130)는 추출부(120)에서 추출한 렌더링 명령과 렌더링 데이터를 클라이언트(200)의 단말에서 정확하게 실행되도록 사전에 정의된 GPU에 독립적인 렌더링 명령과 렌더링 데이터로 변환한다. 여기서, 렌더링 명령은 비디오 메모리 리소스 할당 또는 실제 렌더링 처리와 관련된 명령을 포함한다.
즉, 변환부(130)는 추출된 3D 그래픽에 해당하는 처리 정보를 특정 클라이언트의 GPU에 의존적이지 않고, 클라이언트(200)와의 네트워크 통신에 대응하는 데이터로 변환 한다. 데이터 변환 과정에서는 데이터가 클 경우에 압축 과정을 포함할 수 있으며, 보안을 위하여 암호화를 수행할 수 있다.
송신부(140)는 변환된 렌더링 명령과 렌더링 데이터를 네트워크를 통해 클라이언트(200)로 전달한다. 이때, 송신부(140)는 렌더링 명령과 렌더링 데이터를 각각 송신하지 않고, 특정 패턴에 따라 일시적으로 저장하였다가 한번에 전송하기 위한 렌더링 명령 캐시를 관리한다.
수신부(150)는 네트워크를 통해 클라이언트(200)의 처리 결과를 전달받는다.
본 발명의 실시예에 따른, 수신부(150)는 서버(100)측에서 3D 어플리케이션이 정상적으로 수행되기 위한 처리와 관련된 부분만을 수신한다. 여기서, GPU에 종속적인 처리가 필요한 결과는 클라이언트(200)에서 수행된다.
또한, 수신부(150)는 렌더링 명령에 대응하는 처리 결과를 전송 받을 뿐만 아니라, 클라이언트(200)의 GPU 상에 발생하는 변경사항에 대해서도 전송 받는다.
다음, 클라이언트(200)는 수신부(210), 해석부(220), 실행부(230), 변환부(240) 및 송신부(250)를 포함한다.
수신부(210)는 네트워크를 통해 서버(100)로부터 변환된 렌더링 명령과 렌더링 데이터를 포함하는 그래픽 정보를 전달받는다. 이때, 수신부(210)는 그래픽 정보들을 일시적으로 저장하고, 각각의 그래픽 정보들을 개별적으로 해석 및 실행하기 위한 렌더링 데이터 캐시를 관리한다.
해석부(220)는 그래픽 정보를 클라이언트(200)의 GPU에 대응하게 해석한다. 즉, 해석부(220)는 수신 결과를 클라이언트(200)의 GPU에 대응하게 해석함으로써, GPU에 의존적인 렌더링 명령과 렌더링 데이터로 변환한다.
본 발명의 실시예에 따른, 해석부(220)는 클라이언트(200)의 GPU에 대응하게 렌더링 명령을 컴파일하거나 렌더링 데이터의 포맷을 변경할 수 있으나, GPU 벤더가 제공하는 GPU 드라이버를 이용할 수 도 있으며, 이에 한정되지 않는다.
실행부(230)는 해석부(220)의 결과 즉, 렌더링 명령을 수행한다. 예를 들어, 실행부(230)는 메모리 할당 등과 같은 렌더링 명령을 수행하거나, GPU 드라이버에 렌더링 명령을 전달하여 메모리 할당 등의 작업을 수행할 수 있다. 이때, 실행부(230)는 GPU 처리가 요구되는 렌더링 명령일 경우, 이를 GPU로 전송하거나 GPU 드라이버에 처리를 요청한다.
변환부(240)는 GPU 처리 결과를 수신하여 네트워크 통신에 대응하게 변환한다.
구체적으로, 변환부(240)는 서버(100)에서 처리되어야 하는 부분과, 이와 관련된 부분만을 추출하여 변환한다. 또한, 변환부(240)는 클라이언트(200)의 GPU에 종속적인 처리가 필요한 결과는 자체적으로 변환한다.
또한, 변환부(240)는 클라이언트(200)의 GPU를 모니터링함으로써, GPU의 변경 사항을 감지한다. 예를 들어, 변환부(240)는 GPU의 모니터의 교체 또는 화면 해상도 변경과 같은 클라이언트(200)의 그래픽 환경 변화에 해당하는 변경 사항을 관리 대상으로 한다. 이와 같이, 변환부(240)는 그래픽 환경 변화에 해당하는 변경 사항 즉, 변경 정보를 모니터링하여, 모니터링한 결과를 서버(100)로 전송해야 하는 경우, 네트워크 통신에 대응하게 변환하여 전달한다.
송신부(250)는 최종적으로 변환된 처리 결과를 서버(100)로 전달한다.
다음, 서버(100) 측면에서 클라이언트 그래픽 장치를 분할 실행 처리하는 방법을 도 3을 참조하여 상세하게 설명한다.
도 3은 본 발명의 실시예에 따른 서버에서 클라이언트 그래픽 장치를 분할 실행 처리하는 방법을 나타내는 흐름도이다.
도 3을 참고하면, 서버(100)는 3D 어플리케이션을 구동한다(S310).
서버(100)는 3D 어플리케이션 구동에 대응하는 GPU 처리를 위한 렌더링 명령과 렌더링 데이터를 추출한다(S320).
서버(100)는 추출한 렌더링 명령이 클라이언트(200) 측에서 실행되어야 하는지 여부를 특정 기준을 이용하여 판별한다(S330).
서버(100)는 렌더링 명령이 클라이언트(200) 측에서 실행되어야 하는 명령일 경우, 렌더링 명령과 렌더링 데이터를 클라이언트(200)의 단말에서 정확하게 실행되도록 사전에 정의된 GPU에 독립적인 렌더링 명령과 렌더링 데이터로 변환한다(S340). 이때, 서버(100)는 렌더링 명령과 렌더링 데이터의 크기가 큰 경우 압축을 수행하고, 렌더링 명령과 렌더링 데이터를 암호화함으로써 보안을 유지한다(S350).
서버(100)는 변환된 렌더링 명령과 렌더링 데이터에 해당하는 렌더링 명령 캐시를 관리한다(S360). 이때, 렌더링 명령 캐시는 서버(100)가 렌더링 명령과 렌더링 데이터를 각각 송신하지 않고, 특정 패턴에 따라 일시적으로 저장하였다가 한번에 전송하기 위한 명령 캐시에 해당한다.
서버(100)는 렌더링 명령 캐시에서 관리되고 있는 그래픽 정보 즉, 변환된 렌더링 명령과 렌더링 데이터를 클라이언트(200)로 전송한다(S370).
즉, 본 발명의 실시예에 따른 클라이언트 그래픽 장치 분할 실행 처리 방법은 서버 자체에서 처리해야 하는 그래픽 정보를 클라이언트 그래픽 장치(GPU)에 독립적인 정보로 변환하여 전송함으로써, 하나의 서버가 다양한 그래픽 장치를 가지는 클라이언트에 대한 분할 실행 서비스를 제공할 수 있다.
다음, 클라이언트(200) 측면에서 클라이언트 그래픽 장치를 분할 실행 처리하는 방법을 도 4를 참조하여 상세하게 설명한다.
도 4는 본 발명의 실시예에 따른 클라이언트에서 클라이언트의 그래픽 장치를 분할 실행 처리하는 방법을 나타내는 흐름도이다.
도 4를 참고하면, 클라이언트(200)는 네트워크를 통해 서버(100)로부터 변환된 렌더링 명령과 렌더링 데이터를 포함하는 그래픽 정보를 전달받는다(S410).
클라이언트(200)는 그래픽 정보들을 일시적으로 저장하고, 각각의 그래픽 정보들을 개별적으로 해석 및 실행하기 위한 렌더링 데이터 캐시를 관리한다(S420).
클라이언트(200)는 렌더링 명령과 렌더링 데이터를 GPU에 대응하게 해석한다(S430). 예를 들어, 클라이언트(200)는 GPU에 대응하게 렌더링 명령을 컴파일하거나 렌더링 데이터의 포맷을 변경할 수 있다.
또한, 클라이언트(200)는 GPU에 대응하게 해석하는 동안, 렌더링 명령과 렌더링 데이터가 압축되어 있는 경우 압축을 해제하고, 암호와 되어 있는 경우 복호화를 수행한다(S440).
클라이언트(200)는 압축 해제 및 복호화된 렌더링 명령 및 렌더링 데이터가 GPU에서 처리되도록 한다(S450).
클라이언트(200)는 GPU 처리 결과를 수신하여 네트워크 통신에 대응하게 변환한다(S460).
클라이언트(200)는 변환된 GPU 처리 결과를 서버(100)로 전달한다.
다음, 클라이언트 그래픽 장치를 분할 실행 처리하는 방법에서 클라이언트의 그래픽 환경이 변경되었을 경우에 관하여 도 5를 참조하여 상세하게 설명한다.
도 5는 본 발명의 실시예에 따른 클라이언트의 그래픽 환경이 변경되었을 경우에 분할 실행 처리하는 방법을 나타내는 흐름도이다.
먼저, 본 발명의 실시예에 따른 클라이언트의 그래픽 장치를 분할 실행 처리하는 방법이 적용되는 환경은 서버(100)와 클라이언트(200)를 포함한다.
도 5를 참고하면, 클라이언트(200)는 해당 GPU의 그래픽 환경 예를 들어, 디스플레이 장치, 모니터 등에 변경 사항이 발생하는 지를 확인한다(S510).
클라이언트(200)는 확인 결과, 그래픽 환경이 발생한 경우에 해당하는 그래픽 환경 변경 정보를 추출한다(S520).
클라이언트(200)는 추출한 그래픽 환경 변경 정보를 서버(100)로 전달한다(S530).
서버(100)는 전달받은 그래픽 환경 변경 정보를 3D 어플리케이션에 반영한다(S540). 서버(100)는 그래픽 환경 변경 정보를 3D 어플리케이션에 반영하여 구동하고, 이에 해당하는 렌더링 명령과 렌더링 데이터를 독립적인 정보로 변환하여 다시 클라이언트(200)로 전달할 수 있다.
즉, 본 발명은 서버에서 3D 어플리케이션이 구동되지만, 실제 렌더링 명령 및 렌더링 데이터는 클라이언트에서 처리되어짐에 따라, 서버는 클라이언트의 GPU에 의존적이지 않은 형태로 변환하여 전송하고, 이를 수신하는 클라이언트가 자체 그래픽 장치에 맞게 해석하여 처리한다.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100; 서버
110; 처리부
120; 추출부
130; 변환부
140; 송신부;
150; 수신부
200; 클라이언트
210; 수신부
220; 해석부
230; 실행부
240; 변환부
250; 송신부

Claims (10)

  1. 클라이언트가 상기 클라이언트 내 위치하는 그래픽 장치를 분할 실행 처리하는 방법에 있어서,
    상기 클라이언트가 서버로부터 그래픽 정보를 특정 네트워크를 통해 전달받는 단계;
    상기 그래픽 정보를 상기 그래픽 장치에 대응하게 변환하는 단계;
    상기 그래픽 정보를 변환한 결과에 해당하는 렌더링 명령 및 렌더링 데이터를 상기 그래픽 장치에서 처리되도록 제어하는 단계; 및
    상기 그래픽 장치에서 처리된 결과를 상기 특정 네트워크에 대응하게 변환하여 상기 서버로 전달하는 단계
    를 포함하고,
    상기 그래픽 장치에서 처리된 결과를 상기 특정 네트워크에 대응하게 변환하여 상기 서버로 전달하는 단계는
    상기 그래픽 장치에서 처리된 결과 중 서버에서 처리되는 데이터를 추출하는 단계; 및
    상기 서버에서 처리되는 데이터를 상기 특정 네트워크에 대응하게 변환하여 상기 서버로 전달하는 단계를 포함하는 것을 특징으로 하는 클라이언트 그래픽 장치 분할 실행 처리 방법.
  2. 청구항 1에 있어서,
    상기 그래픽 정보를 상기 그래픽 장치에 대응하게 변환하는 단계는
    상기 그래픽 정보의 포맷을 상기 그래픽 장치가 지원하는 포맷으로 변환하는 것을 특징으로 하는 클라이언트 그래픽 장치 분할 실행 처리 방법.
  3. 청구항 2에 있어서,
    상기 그래픽 정보를 상기 그래픽 장치에 대응하게 변환하는 단계는
    상기 그래픽 정보에 대한 압축 해제 및 복호화를 수행하여, 상기 렌더링 명령 및 상기 렌더링 데이터를 생성하는 것을 특징으로 하는 클라이언트 그래픽 장치 분할 실행 처리 방법.
  4. 삭제
  5. 청구항 1에 있어서,
    상기 클라이언트 그래픽 장치 분할 실행 처리 방법은
    상기 그래픽 장치의 그래픽 환경의 변경을 감지하는 단계;
    상기 변경에 대응하는 환경 변경 정보를 추출하는 단계; 및
    상기 환경 변경 정보를 상기 서버로 전송하는 단계를 더 포함하는 것을 특징으로 하는 클라이언트 그래픽 장치 분할 실행 처리 방법.
  6. 청구항 5에 있어서,
    상기 환경 변경 정보는
    상기 그래픽 장치에 연결되는 장치들의 변경 여부를 포함하는 것을 특징으로 하는 클라이언트 그래픽 장치 분할 실행 처리 방법.
  7. 클라이언트가 상기 클라이언트 내 위치하는 그래픽 장치를 분할 실행 처리하는 장치에 있어서,
    서버로부터 그래픽 정보를 특정 네트워크를 통해 전달받는 수신부;
    상기 그래픽 정보를 상기 그래픽 장치에 대응하게 해석하고, 상기 그래픽 정보를 해석한 결과에 해당하는 렌더링 명령 및 렌더링 데이터를 생성하는 해석부;
    상기 렌더링 데이터에 기반하여 상기 렌더링 명령을 실행하는 실행부; 및
    상기 렌더링 명령을 처리한 결과 중 상기 서버에서 처리되는 데이터를 추출하고, 상기 서버에서 처리되는 데이터를 상기 특정 네트워크에 대응하게 변환하는 변환부를 포함하는 것을 특징으로 하는 클라이언트 그래픽 분할 실행 및 처리 장치.
  8. 청구항 7에 있어서,
    상기 해석부는
    상기 그래픽 정보의 포맷을 상기 그래픽 장치가 지원하는 포맷으로 변환하는 것을 특징으로 하는 클라이언트 그래픽 분할 실행 및 처리 장치.
  9. 삭제
  10. 청구항 7에 있어서,
    상기 변환부는
    상기 그래픽 장치의 그래픽 환경의 변경을 감지하고, 상기 변경에 대응하는 환경 변경 정보를 상기 특정 네트워크에 대응하게 변환하고, 변환된 데이터를 상기 서버로 전송하는 것을 특징으로 하는 클라이언트 그래픽 분할 실행 및 처리 장치.
KR1020110065062A 2011-06-30 2011-06-30 클라이언트 그래픽 장치 분할 실행 처리 방법 KR101694289B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110065062A KR101694289B1 (ko) 2011-06-30 2011-06-30 클라이언트 그래픽 장치 분할 실행 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110065062A KR101694289B1 (ko) 2011-06-30 2011-06-30 클라이언트 그래픽 장치 분할 실행 처리 방법

Publications (2)

Publication Number Publication Date
KR20130003617A KR20130003617A (ko) 2013-01-09
KR101694289B1 true KR101694289B1 (ko) 2017-01-10

Family

ID=47835785

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110065062A KR101694289B1 (ko) 2011-06-30 2011-06-30 클라이언트 그래픽 장치 분할 실행 처리 방법

Country Status (1)

Country Link
KR (1) KR101694289B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101686864B1 (ko) * 2015-04-29 2016-12-16 스마클(주) 이중 배터리 패키지

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090305790A1 (en) 2007-01-30 2009-12-10 Vitie Inc. Methods and Apparatuses of Game Appliance Execution and Rendering Service
US7702646B2 (en) 2005-02-18 2010-04-20 The Macgregor Group, Inc. System and method for displaying data on a thin client
US20110134111A1 (en) 2009-09-11 2011-06-09 David Stone Remote rendering of three-dimensional images using virtual machines

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100490401B1 (ko) * 2002-03-26 2005-05-17 삼성전자주식회사 TC(Thin-Client)환경에서 영상 처리 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702646B2 (en) 2005-02-18 2010-04-20 The Macgregor Group, Inc. System and method for displaying data on a thin client
US20090305790A1 (en) 2007-01-30 2009-12-10 Vitie Inc. Methods and Apparatuses of Game Appliance Execution and Rendering Service
US20110134111A1 (en) 2009-09-11 2011-06-09 David Stone Remote rendering of three-dimensional images using virtual machines

Also Published As

Publication number Publication date
KR20130003617A (ko) 2013-01-09

Similar Documents

Publication Publication Date Title
US9277237B2 (en) User interface remoting through video encoding techniques
US20140286390A1 (en) Encoder controller graphics processing unit and method of encoding rendered graphics
US20140195598A1 (en) System and method for computer peripheral access from cloud computing devices
JP2016536710A (ja) デスクトップクラウドベースのメディア制御方法およびデバイス
CN102932324B (zh) 支持降低的网络带宽使用的跨帧渐进损坏
US10089057B2 (en) Display redistribution between a primary display and a secondary display
CN105637886A (zh) 用于向客户端提供图形用户界面的服务器,以及客户端
EP2954401B1 (en) Transmitting hardware-rendered graphical data
CN110856036A (zh) 远程桌面实现方法、交互方法、装置、设备、存储介质
US20120113103A1 (en) Apparatus and method for executing 3d application program using remote rendering
US9460481B2 (en) Systems and methods for processing desktop graphics for remote display
KR101694289B1 (ko) 클라이언트 그래픽 장치 분할 실행 처리 방법
CN110807111A (zh) 三维图形的处理方法及装置、存储介质、电子设备
CN108337248B (zh) 媒体重放设备和媒体服务设备
KR101694295B1 (ko) 소프트웨어 분할 실행을 위한 스레드 관리 장치 및 방법
CN102073376A (zh) 便携式无线操作系统及方法
CN113015019B (zh) 数据处理方法、装置和系统
KR101430729B1 (ko) 소프트웨어 지원 서버 및 그 방법
CN111466118B (zh) 包括处理功能性的外部模块
CN110427116B (zh) 一种降低kvm系统鼠标延迟的方法及kvm系统
KR101635273B1 (ko) 가상 데스크탑 기반의 데이터 처리 장치 및 방법
US20170039985A1 (en) System and method of leveraging gpu resources to increase performance of an interact-able content browsing service
CN113835816A (zh) 一种虚拟机桌面显示方法、装置、设备及可读存储介质
KR20130062078A (ko) 모바일 디바이스에서 외부 디스플레이 장치의 해상도에 맞는 화면을 제공하는 방법
US9432442B2 (en) System and method for a graphics terminal multiplier

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant