KR20130012420A - 화면 가상화 기반 어플리케이션 실행 시스템 및 방법 - Google Patents

화면 가상화 기반 어플리케이션 실행 시스템 및 방법 Download PDF

Info

Publication number
KR20130012420A
KR20130012420A KR1020110073617A KR20110073617A KR20130012420A KR 20130012420 A KR20130012420 A KR 20130012420A KR 1020110073617 A KR1020110073617 A KR 1020110073617A KR 20110073617 A KR20110073617 A KR 20110073617A KR 20130012420 A KR20130012420 A KR 20130012420A
Authority
KR
South Korea
Prior art keywords
application
application execution
user terminal
screen
image
Prior art date
Application number
KR1020110073617A
Other languages
English (en)
Other versions
KR101630638B1 (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 KR1020110073617A priority Critical patent/KR101630638B1/ko
Publication of KR20130012420A publication Critical patent/KR20130012420A/ko
Application granted granted Critical
Publication of KR101630638B1 publication Critical patent/KR101630638B1/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
    • 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
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Abstract

본 발명은 화면 가상화 기반 어플리케이션 실행 시스템 및 방법에 관한 것으로, 어플리케이션 장치에 접속하여 어플리케이션의 실행을 요청하고, 상기 어플리케이션 장치로부터의 어플리케이션 실행 화면을 디코딩하여 출력하는 사용자 단말, 상기 사용자 단말로부터 어플리케이션 실행이 요청된 경우, 해당 어플리케이션을 실행하여 그 어플리케이션 실행 화면을 이미지 압축하고, 현재 네트워크의 가용 대역폭을 측정하여 상기 이미지 압축된 어플리케이션 실행 화면의 크기와 비교하고, 상기 비교 결과에 따라 상기 이미지 압축된 어플리케이션 실행 화면을 상기 사용자 단말로 전송 또는 상기 어플리케이션 실행 화면을 동영상 압축하여 상기 사용자 단말로 전송하는 어플리케이션 장치를 포함한다.
따라서, 본 발명에 따르면, 어플리케이션 실행 화면을 데이터량이 많은 비디오/3D Graphic 화면과 일반 화면으로 구분하여 일반 화면은 RDP를 통해 전송하고 데이터량이 많은 화면은 동영상 압축하여 전송함으로써, 데이터량이 많은 비디오나 3D graphic을 전송 시에는 높은 전송 대역폭을 차지하는 문제점을 해결할 수 있다.

Description

화면 가상화 기반 어플리케이션 실행 시스템 및 방법{System and Method for operating application based Presentation Virtualization}
본 발명은 화면 가상화 기반 어플리케이션 실행 시스템 및 방법에 관한 것으로서, 더욱 자세하게는 사용자 단말로부터 어플리케이션 실행 요청을 수신한 경우, 해당 어플리케이션을 실행하여 그 어플리케이션 실행 화면을 이미지 압축하고, 현재 네트워크의 가용 대역폭을 측정하여 상기 이미지 압축된 어플리케이션 실행 화면의 크기와 비교하고, 상기 비교 결과에 따라 상기 이미지 압축된 어플리케이션 실행 화면을 상기 사용자 단말로 전송 또는 상기 어플리케이션 실행 화면을 동영상 압축하여 상기 사용자 단말로 전송하는 화면 가상화 기반 어플리케이션 실행 시스템 및 방법에 관한 것이다.
최근에, 클라우드(Cloud) 기반 서비스가 활성화됨에 따라, 서비스나 어플리케이션(application)이 클라우드 장치에서 구동되고 그 결과를 단말을 통해 서비스하는 기술이 요구되고 있다. 특히 서비스 화면과 오디오만을 단말기에서 구동하는 화면 가상화(Presentation Virtualization) 기술이 핵심기술로 요구된다.
화면 가상화 기술은 어플리케이션 제공 장치에서 어플리케이션을 구동하고, 어플리케이션 구동 화면을 단말로 전송하여 단말에서는 화면에 대한 rendering 처리와 사용자 입력만을 처리하도록 함으로써 단말의 성능에 관계없이 복잡한 어플리케이션을 구동 가능 하도록 하는 기술이다.
사용자 단말은 PC에서부터 PDA, handset까지 다양하다. 이러한 환경에서 단말에 rich media service를 제공하기 위해서는 각 단말 특성에 맞는 application을 개발하여 단말에 탑재하는 방법이 사용되고 있다. 그러나 이러한 방법은 단말의 Operating System, 연산 능력 등을 고려하여 application을 개발해야 하며, application의 개발 시에도 각 단말의 특성에 맞추어 별도로 개발해야 하는 문제가 발생한다. 또한 새로운 기능을 추가하거나 application의 bug patch를 수행하는 경우에 단말에 설치된 application을 새로 설치해야 하는 문제점도 발생한다.
이를 해결하기 위해 네트워크에 연결된 단말에 대해 어플리케이션 제공 장치에서 application을 구동하고 그 화면을 각 단말로 전송함으로써 단말의 CPU성능, OS에 관계없이 application을 구동할 수 있는 ultra thin client기반 기술이 개발되어 왔으며 가장 대표적인 기술로 VNC(Virtual Network Control)와 RDP(Remote Desktop Protocol) 기반의 Terminal Service가 있다.
그러나 VNC와 RDP는 application 구동 화면에서 변경된 부분을 전송하는 scheme을 활용하고 있어 데이터량이 많은 비디오나 3D graphic을 전송 시에는 높은 전송 대역폭을 차지하는 문제점이 있다.
한국등록특허 제988,111호(2010.10.08), 발명의 명칭: 터미널 환경의 서버 기반 컴퓨팅 시스템에서 많은 사용자가 하나의 리소스 공유로 어플리케이션 실행이 불가능한 경우 리소스 가상화를 통해 이를 실행하는 장치 및 그 방법
본 발명은 상기한 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 어플리케이션 실행 화면을 데이터량이 많은 비디오/3D Graphic 화면과 일반 화면으로 구분하여 일반 화면은 이미지 압축하여 전송하고 데이터량이 많은 화면은 동영상 압축하여 전송함으로써, 데이터량이 많은 비디오나 3D graphic 전송 시 높은 전송 대역폭을 차지하는 문제점을 해결할 수 있는 화면 가상화 기반 어플리케이션 실행 시스템 및 방법을 제공하는데 있다.
상기 목적들을 달성하기 위하여 본 발명의 일 측면에 따르면, 어플리케이션 장치에 접속하여 어플리케이션의 실행을 요청하고, 상기 어플리케이션 장치로부터의 어플리케이션 실행 화면을 디코딩하여 출력하는 사용자 단말, 상기 사용자 단말로부터 어플리케이션 실행이 요청된 경우, 해당 어플리케이션을 실행하여 그 어플리케이션 실행 화면을 이미지 압축하고, 현재 네트워크의 가용 대역폭을 측정하여 상기 이미지 압축된 어플리케이션 실행 화면의 크기와 비교하고, 상기 비교 결과에 따라 상기 이미지 압축된 어플리케이션 실행 화면을 상기 사용자 단말로 전송 또는 상기 어플리케이션 실행 화면을 동영상 압축하여 상기 사용자 단말로 전송하는 어플리케이션 장치를 포함하는 화면 가상화 기반 어플리케이션 실행 시스템이 제공된다.
본 발명의 다른 측면에 따르면, 사용자 단말과의 통신을 위한 통신부, 어플리케이션이 저장된 어플리케이션 데이터베이스, 상기 통신부를 통해 사용자 단말로부터 어플리케이션 실행이 요청된 경우, 해당 어플리케이션을 상기 어플리케이션 데이터베이스로부터 획득하여 실행하고, 그 어플리케이션 실행 화면을 이미지 압축하는 RDP 세션부, 현재 네트워크의 가용 대역폭을 측정하여 상기 이미지 압축된 어플리케이션 실행 화면의 크기와 비교하고, 상기 비교 결과에 따라 상기 이미지 압축된 어플리케이션 실행 화면을 상기 사용자 단말로 전송하거나, 상기 어플리케이션 실행 화면을 동영상 압축하도록 제어하는 하이브리드 PV 제어부, 상기 하이브리드 PV 제어부의 제어에 따라 상기 어플리케이션 실행 화면을 동영상 압축하는 인코딩부, 상기 인코딩부에서 동영상 압축된 어플리케이션 실행 화면을 스트리밍으로 상기 사용자 단말로 전송하는 스트리밍부를 포함하는 어플리케이션 장치가 제공된다.
상기 RDP 세션부는 RDP 또는 VNC에서 정의된 이미지 압축 방식에 따라 상기 어플리케이션 실행 화면을 압축한다.
또한, 상기 RDP 세션부는 상기 통신부를 통해 상기 사용자 단말이 접속된 경우, 상기 어플리케이션 데이터베이스에 저장된 어플리케이션들에 대한 어플리케이션 목록을 사용자 단말로 전송한다.
상기 하이브리드 PV 제어부는 상기 이미지 압축된 어플리케이션 실행 화면과 압축된 오디오 데이터를 합한 이미지 압축 어플리케이션 실행 데이터의 크기를 상기 가용 대역폭과 비교하여, 상기 이미지 압축 어플리케이션 실행 데이터의 크기가 상기 가용 대역폭보다 작은 경우, 상기 이미지 압축 어플리케이션 실행 데이터를 상기 사용자 단말로 전송하며, 이미지 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호를 상기 사용자 단말로 전송한다.
또한, 상기 하이브리드 PV 제어부는 상기 이미지 압축된 어플리케이션 실행 화면과 압축된 오디오 데이터를 합한 이미지 압축 어플리케이션 실행 데이터의 크기를 상기 가용 대역폭과 비교하여, 상기 이미지 압축 어플리케이션 실행 데이터의 크기가 상기 가용 대역폭보다 작지 않은 경우, 상기 어플리케이션 실행 화면을 상기 인코딩부로 전송하고, 동영상 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호를 상기 사용자 단말로 전송한다.
또한, 상기 하이브리드 PV 제어부는 다수의 주기적인 타임 스탬프(time stamp) 패킷들을 네트워크에 연결되어 있는 사용자 단말로 현재 설정되어 있는 시험 전송율로 네트워크를 통해 전송하고, 상기 사용자 단말에 타임 스탬프 패킷들 각각이 수신된 시각들에 근거하여 타임 스탬프 패킷들 간의 전송 지연시간 차값들의 변화 추세를 검사하여 상기 전송 지연시간 차값들이 안정범위 내에 포함되면 현재 설정되어 있는 시험 전송율을 가용 대역폭으로 결정한다.
상기 인코딩부는 상기 동영상 압축된 어플리케이션 실행 화면의 크기가 상기 가용 대역폭에서 압축된 오디오 데이터의 크기를 뺀 크기와 상응하도록 압축한다.
본 발명의 또 다른 측면에 따르면, 어플리케이션 장치와의 통신을 위한 통신부, 상기 통신부를 통해 접속된 어플리케이션 장치로부터의 어플리케이션 목록을 디스플레이하고, 상기 어플리케이션 목록 중에서 적어도 하나의 어플리케이션 실행을 요청하는 사용자 인터페이스부, 상기 어플리케이션 장치로부터의 제어신호를 근거로 RDP 클라이언트 또는 스트리밍 재생기로 상기 어플리케이션 장치로부터의 어플리케이션 실행 데이터를 스위칭하는 하이브리드 PV 스위칭부, 상기 하이브리드 PV 스위칭부를 통해 수신된 어플리케이션 실행 데이터를 이미지 기반으로 디코딩하여 출력하는 RDP 클라이언트, 상기 하이브리드 PV 스위칭부를 통해 스트리밍되는 어플리케이션 실행 데이터를 동영상 기반으로 디코딩하여 출력하는 스트리밍 재생기를 포함하는 사용자 단말이 제공된다.
상기 하이브리드 PV 스위칭부는 상기 통신부를 통해 이미지 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호가 수신된 경우 상기 어플리케이션 실행 데이터를 상기 RDP 클라이언트로 스위칭하고, 동영상 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호가 수신된 경우 상기 어플리케이션 실행 데이터를 상기 스트리밍 재생기로 스위칭한다.
상기 RDP 클라이언트는 RDP 또는 VNC에서 정의된 디코딩 방식에 따라 상기 어플리케이션 실행 데이터를 디코딩한다.
본 발명의 또 다른 측면에 따르면, 사용자 단말이 어플리케이션 장치로부터 어플리케이션 목록을 수신 및 디스플레이하고, 상기 어플리케이션 목록중에서 사용자에 의해 선택된 어플리케이션의 실행을 요청하는 단계, 상기 어플리케이션 장치가 상기 실행 요청된 어플리케이션을 실행하여 그 어플리케이션 실행 화면을 이미지 압축하는 단계, 상기 어플리케이션 장치가 현재 네트워크의 가용 대역폭을 측정하여 상기 이미지 압축된 어플리케이션 실행 화면의 크기와 비교하는 단계, 상기 어플리케이션 장치가 상기 비교 결과에 따라 상기 이미지 압축된 어플리케이션 실행 화면을 상기 사용자 단말로 전송 또는 상기 어플리케이션 실행 화면을 동영상 압축하여 상기 사용자 단말로 전송하는 전송하는 단계, 상기 사용자 단말이 상기 어플리케이션 장치로부터의 어플리케이션 실행 화면을 이미지 디코딩 또는 동영상 디코딩하여 출력하는 단계를 포함하는 화면 가상화 기반 어플리케이션 실행 방법이 제공된다.
본 발명의 또 다른 측면에 따르면, 어플리케이션 장치가 화면 가상화를 기반으로 어플리케이션을 실행하는 방법에 있어서, (a) 사용자 단말이 접속된 경우, 어플리케이션 목록을 상기 사용자 단말로 전송하는 단계, (b) 상기 사용자 단말로부터 어플리케이션 실행이 요청된 경우, 해당 어플리케이션을 실행하고, 그 어플리케이션 실행 화면을 이미지 압축하는 단계, (c) 현재 네트워크의 가용 대역폭을 측정하여 상기 이미지 압축된 어플리케이션 실행 화면의 크기와 비교하는 단계, (d) 상기 비교 결과에 따라 상기 어플리케이션 실행 화면을 이미지 압축 또는 동영상 압축하여 상기 사용자 단말로 전송하는 단계를 포함하는 화면 가상화 기반 어플리케이션 실행 방법이 제공된다.
상기 (c) 단계는, 상기 이미지 압축된 어플리케이션 실행 화면의 크기와 압축된 오디오 데이터의 크기를 합한 어플리케이션 실행 데이터의 크기를 상기 가용 대역폭과 비교하는 것을 말한다.
상기 (d) 단계는, 상기 어플리케이션 실행 데이터의 크기가 상기 가용 대역폭보다 작은 경우, 상기 어플리케이션 실행 데이터를 상기 사용자 단말로 전송함과 동시에 이미지 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호를 상기 사용자 단말로 전송하고, 상기 어플리케이션 실행 데이터의 크기가 상기 가용 대역폭보다 작지 않은 경우, 상기 어플리케이션 실행 화면을 동영상 압축하여 상기 사용자 단말로 전송ㅎ함과 동시에 동영상 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호를 상기 사용자 단말로 전송한다.
본 발명의 또 다른 측면에 따르면, 어플리케이션 장치와 통신망을 통해 접속된 사용자 단말이 어플리케이션을 실행하는 방법에 있어서, (a) 상기 어플리케이션 장치로부터 어플리케이션 목록을 수신하여 디스플레이하는 단계, (b) 상기 어플리케이션 목록 중에서 사용자에 의해 선택된 적어도 하나의 어플리케이션 실행을 상기 어플리케이션 장치에 요청하는 단계, (c) 상기 어플리케이션 장치로부터 상기 실행 요청된 어플리케이션 실행 데이터 및 제어 신호를 수신하는 단계, (d) 상기 제어 신호에 따라 상기 어플리케이션 실행 데이터를 이미지 디코딩 또는 동영상 디코딩하여 출력하는 단계를 포함하는 화면 가상화 기반 어플리케이션 실행 방법이 제공된다.
상기 (d) 단계는 상기 제어 신호가 이미지 압축된 어플리케이션 실행 화면이 전송됨을 나타낸 경우, 상기 어플리케이션 실행 데이터를 이미지 디코딩하여 출력하고, 상기 제어신호가 동영상 압축된 어플리케이션 실행 화면이 전송됨을 나타낸 경우, 상기 어플리케이션 실행 데이터를 동영상 디코딩하여 출력한다.
본 발명의 또 다른 측면에 따르면, 어플리케이션 장치로부터 어플리케이션 목록을 수신하여 디스플레이하는 단계, 상기 어플리케이션 목록 중에서 사용자에 의해 선택된 적어도 하나의 어플리케이션 실행을 상기 어플리케이션 장치에 요청하는 단계, 상기 어플리케이션 장치로부터 상기 실행 요청된 어플리케이션 실행 데이터 및 제어 신호를 수신하는 단계, 상기 제어 신호에 따라 상기 어플리케이션 실행 데이터를 이미지 디코딩 또는 동영상 디코딩하여 출력하는 단계를 포함하는 화면 가상화 기반 어플리케이션 실행 방법이 프로그램으로 기록되고 전자 장치에서 판독 가능한 기록매체가 제공된다.
본 발명에 따르면, 각각의 단말에 적용되는 어플리케이션을 별도로 개발하지 않아도 interactive한 어플리케이션을 제공할 수 있으며, 어플리케이션의 업그레이드, bug patch 또한 단말에 새로운 어플리케이션을 설치하지 않고도 지원할 수 있다.
또한, RDP 데이터량에 따라 RDP와 동영상 압축을 하이브리드(Hybrid)로 사용하여 네트워크상의 데이터 전송량을 최소화할 수 있고, 어플리케이션에 대한 화면 데이터량의 제약없이 클라우드 장치에서 어플리케이션을 구동하고 단말에서 어플리케이션의 화면/소리를 받아 재생할 수 있다.
또한, 어플리케이션 실행 화면을 데이터량이 많은 비디오/3D Graphic 화면과 일반 화면으로 구분하여 일반 화면은 RDP를 통해 전송하고 데이터량이 많은 화면은 동영상 압축하여 전송함으로써, 데이터량이 많은 비디오나 3D graphic을 전송 시에는 높은 전송 대역폭을 차지하는 문제점을 해결할 수 있다.
도 1은 본 발명에 따른 화면 가상화 기반 어플리케이션 실행을 위한 시스템을 나타낸 도면.
도 2는 본 발명에 따른 사용자 단말의 구성을 개략적으로 나타낸 블럭도.
도 3는 본 발명에 따른 어플리케이션 장치의 구성을 개략적으로 나타낸 블럭도.
도 4는 본 발명에 따른 화면 가상화 기반 어플리케이션 실행 방법을 나타낸 도면.
도 5는 본 발명에 따른 어플리케이션 장치가 어플리케이션 실행 화면을 크기에 따라 다르게 압축하는 방법을 나타낸 흐름도.
본 발명의 전술한 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하 상세한 설명에 의해 보다 명확하게 이해될 것이다.
원격 디스플레이 프로토콜(RDP)은 사용자 단말(클라이언트)이 네트워크를 통해 어플리케이션 장치와 정보를 교환할 수 있게 하는 프리젠테이션 프로토콜이다.
어플리케이션 장치는 사용자 단말이 원격 입력한 커맨드(command)에 응답하여 어플리케이션(프로그램)을 실행하고, 사용자 단말은 어플리케이션 장치로부터 제공되는 어플리케이션의 구동 상태를 디스플레이한다.
상기 어플리케이션 장치는 원격 디스플레이 프로토콜(RDP) 서버로서, RDP 클라이언트의 각종 상태를 제어하는 메커니즘을 제공한다. 예컨대, 사용자가 RDP를 이용하여 랩톱 컴퓨터로부터의 디스플레이를 회의실에 설치된 대형 스크린 디스플레이 상에 프로젝트하기를 원하는 경우, 사용자가 위치, 크기, 풀 스크린 처리 등 원격 클라이언트의 상태를 제어할 수 있게 할 것이다.
도 1은 본 발명에 따른 화면 가상화 기반 어플리케이션 실행을 위한 시스템을 나타낸 도면이다.
도 1을 참조하면, 화면 가상화 기반 어플리케이션 실행을 위한 시스템은 사용자 단말(100)의 요청에 따라 어플리케이션을 실행하여 상기 사용자 단말(100)에 제공하는 어플리케이션 장치(200)를 포함한다.
상기 사용자 단말(100)은 상기 어플리케이션 장치(200)에 접속하여 어플리케이션 목록을 수신 및 디스플레이하고, 상기 어플리케이션 목록중에서 사용자에 의해 선택된 어플리케이션의 실행을 상기 어플리케이션 장치(200)에 요청한다.
또한, 상기 사용자 단말(100)은 상기 실행 요청된 어플리케이션에 대한 어플리케이션 실행 화면을 상기 어플리케이션 장치(200)로부터의 제어신호를 근거로 디코딩하여 출력한다. 즉, 상기 제어신호가 이미지 압축된 어플리케이션 실행 화면이 전송됨을 나타낸 경우, 상기 사용자 단말(100)은 어플리케이션 실행 화면을 이미지 디코딩하여 출력한다. 만약, 상기 제어신호가 동영상 압축된 어플리케이션 실행 화면이 전송됨을 나타낸 경우, 상기 사용자 단말(100)은 상기 어플리케이션 실행 화면을 동영상 디코딩하여 출력한다.
또한, 사용자 단말(100)은 다수의 사용자가 인터넷을 포함하는 통신망을 통해 어플리케이션 장치(200)에 접속하기 위한 장치이다. 상기 사용자 단말(100)은 어플리케이션 장치(200)가 제공하는 클라우드 가상공간상에서 프로세스를 실행할 수 있는 기기로서, 일반적인 OS를 포함하는 개인용 PC, 클라우드 서비스를 제공받을 수 있는 최소한의 수단만을 포함하는 씬(Thin) 클라이언트 단말, 휴대용PC, 스마트폰(Smartphone), 및 PMP(Portable Multimedia Player) 등이 이용될 수 있다.
상기와 같은 역할을 수행하는 사용자 단말(100)에 대한 상세한 설명은 도 2를 참조하기로 한다.
상기 어플리케이션 장치(200)는 저장된 어플리케이션들에 대한 어플리케이션 목록을 사용자 단말(100)로 전송하고, 상기 사용자 단말(100)로부터 어플리케이션 실행이 요청된 경우, 해당 어플리케이션을 실행하여 그 어플리케이션 실행 화면을 이미지 압축하고, 현재 네트워크의 가용 대역폭을 측정하여 상기 이미지 압축된 어플리케이션 실행 화면의 크기와 비교하고, 상기 비교 결과에 따라 상기 이미지 압축된 어플리케이션 실행 화면을 상기 사용자 단말(100)로 전송 또는 상기 어플리케이션 실행 화면을 동영상 압축하여 상기 사용자 단말(100)로 전송한다.
또한, 상기 어플리케이션 장치(200)는 클라우드 망에 분산되어 있는 다수의 컴퓨팅 자원을 가상화 기술로 통합하여 사용자 단말(100)의 요청에 따라 적절한 서비스를 제공한다.
또한, 상기 어플리케이션 장치(200)는 복수의 사용자 단말에 의한 동시, 반복적인 서비스 요청에 따른 데이터 트래픽 처리를 원활하게 수행할 수 있는 고성능 프로세서와 대용량의 데이터 저장공간을 구비하는 것이 바람직하다.
상기와 같은 역할을 수행하는 어플리케이션 장치(200)에 대한 상세한 설명은 도 3을 참조하기로 한다.
도 2는 본 발명에 따른 사용자 단말의 구성을 개략적으로 나타낸 블럭도이다.
도 2를 참조하면, 사용자 단말(100)은 통신망을 통해 어플리케이션 장치와의 통신을 위한 통신부(102), 사용자 인터페이스부(104), 하이브리드 PV 스위칭부(108), RDP 클라이언트(110), 스트리밍 재생기(112)를 포함한다.
상기 사용자 인터페이스부(104)는 상기 통신부(102)를 통해 접속된 어플리케이션 장치로부터의 어플리케이션 목록을 디스플레이하고, 상기 어플리케이션 목록 중에서 사용자에 의해 선택된 어플리케이션의 실행을 요청한다.
상기 사용자 인터페이스부(104)는 예컨대 복수의 위젯(widget)으로 구성될 수 있는데, 위젯은 정보를 디스플레이하거나 사용자가 어플리케이션과 상호작용하는 특정 방식을 제공하는 사용자 인터페이스의 요소이다.
위젯들은 예컨대 아이콘, 풀다운 메뉴, 버튼, 셀렉션 박스, 프로그레스 인디케이터, 온오프 체크마크, 스크롤바, 윈도우, 윈도우 에지(사용자가 윈도우의 크기를 조절할 수 있게 함), 토글 버튼, 폼, 그리고 정보를 디스플레이하고 사용자 액션을 요구, 수락 및 응답하는 어떤 다른 요소들을 포함할 수 있다.
또한, 상기 사용자 인터페이스부(104)는 문자나 기호, 숫자 등이 다수로 구비된 입력부 또는 터치스크린 등의 출력부로 구현할 수 있다.
상기 하이브리드 PV 스위칭부(108)는 상기 어플리케이션 장치로부터의 제어 신호를 근거로 RDP 클라이언트(110) 또는 스트리밍 재생기(112)로 상기 어플리케이션 장치로부터의 어플리케이션 실행 데이터를 스위칭한다. 상기 어플리케이션 실행 데이터는 이미지 압축 어플리케이션 실행 데이터 또는 동영상 압축 어플리케이션 실행 데이터를 말한다. 상기 이미지 압축 어플리케이션 실행 데이터는 이미지 압축된 어플리케이션 실행 화면과 압축된 오디오 데이터를 포함하고, 상기 동영상 압축 어플리케이션 실행 데이터는 동영상 압축된 어플리케이션 실행 화면과 압축된 오디오 데이터를 포함한다. 상기 동영상 압축 어플리케이션 실행 데이터는 상기 어플리케이션 장치로부터 스트리밍(streaming)된 데이터이다.
즉, 상기 하이브리드 PV 스위칭부(108)는 상기 통신부(102)를 통해 이미지 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호가 수신된 경우 상기 이미지 압축 어플리케이션 실행 데이터를 상기 RDP 클라이언트(110)로 스위칭한다.
또한, 상기 하이브리드 PV 스위칭부(108)는 상기 통신부(102)를 통해 동영상 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호가 수신된 경우 상기 동영상 압축 어플리케이션 실행 데이터를 스트리밍 재생기(112)로 스위칭한다.
상기 RDP 클라이언트(110)는 상기 하이브리드 PV 스위칭부(108)를 통해 수신된 어플리케이션 실행 데이터를 디코딩하여 출력한다. 즉, 상기 RDP 클라이언트(110)는 상기 어플리케이션 실행 데이터 중 어플리케이션 실행 화면을 RDP 또는 VNC에서 정의된 디코딩 방식에 따라 디코딩하여 출력한다. 여기서, 상기 RDP 또는 VNC에서 정의된 디코딩 방식은 이전화면에 변경된 영상부분을 적용하여 디코딩하는 방식을 말한다.
상기 스트리밍 재생기(112)는 상기 하이브리드 PV 스위칭부(108)를 통해 스트리밍되는 어플리케이션 실행 데이터를 동영상 디코딩하여 출력한다. 즉, 상기 스트리밍 재생기(112)는 H.264, MPEG-4 등과 같은 코덱으로 압축된 비디오를 디코딩하는 방식을 이용하여 상기 어플리케이션 실행 데이터 중 어플리케이션 실행 화면을 디코딩한다.
도 3은 본 발명에 따른 어플리케이션 장치의 구성을 개략적으로 나타낸 블럭도이다.
도 3을 참조하면, 어플리케이션 장치(200)는 통신망을 통한 사용자 단말과의 통신을 위한 통신부(202), 어플리케이션이 저장된 어플리케이션 데이터베이스(204), RDP 세션부(208), 하이브리드 PV 제어부(210), 인코딩부(212), 스트리밍부(214)를 포함한다.
상기 RDP 세션부(208)는 상기 통신부(202)를 통해 사용자 단말이 접속되면, RDP 세션 또는 VNC 세션을 생성하고, RDP 세션 또는 VNC 세션에서 해당 어플리케이션을 실행한다.
또한, 상기 RDP 세션부(208)는 상기 통신부(202)를 통해 상기 사용자 단말이 접속된 경우, 상기 어플리케이션 데이터베이스(204)에 저장된 어플리케이션들에 대한 어플리케이션 목록을 사용자 단말로 전송한다.
또한, 상기 RDP 세션부(208)는 상기 통신부(202)를 통해 사용자 단말로부터 어플리케이션 실행이 요청되면, 해당 어플리케이션을 상기 어플리케이션 데이터베이스(204)로부터 획득하여 실행하고, 그 어플리케이션 실행 화면을 이미지 압축한다.
즉, 상기 RDP 세션부(208)는 RDP 표준에서 정의된 이미지 압축 방식 또는 VNC에서 사용하는 이미지 압축방식을 이용하여 어플리케이션 실행 화면을 압축한다. 여기서, 상기 RDP는 이전 화면과 변경된 영상 부분에 대해 압축을 수행하며 압축 방법은 연산량이 낮은 color bit수를 낮추고 run length 방법을 활용하는 방법을 사용한다. 상기 VNC는 이전 화면과 변경된 영상부분에 대해 압축을 수행하지만 압축방법은 JPEG과 같은 기존의 이미지 압축방법을 활용한다.
따라서, 상기 RDP 세션부(208)는 RDP와 VNC에서 정의된 이미지 압축방식을 활용하여 상기 어플리케이션 실행 화면을 압축한다.
상기 하이브리드 PV 제어부(210)는 현재 네트워크의 가용 대역폭을 측정하여 상기 이미지 압축된 어플리케이션 실행 화면의 크기와 비교하고, 상기 비교 결과에 따라 상기 이미지 압축된 어플리케이션 실행 화면을 상기 사용자 단말로 전송하거나, 상기 어플리케이션 실행 화면을 동영상 압축하도록 제어한다.
즉, 상기 하이브리드 PV 제어부(210)는 다수의 주기적인 타임 스탬프(time stamp) 패킷들을 네트워크에 연결되어 있는 사용자 단말로 현재 설정되어 있는 시험 전송율로 전송하고, 상기 사용자 단말에 타임 스탬프 패킷들 각각이 수신된 시각들에 근거하여 타임 스탬프 패킷들 간의 전송 지연시간 차값들의 변화 추세를 검사하여 상기 전송 지연시간 차값들이 안정범위 내에 포함되면 현재 설정되어 있는 시험 전송율을 가용 대역폭으로 결정한다. 여기에서는 타임 스탬프 패킷을 이용하는 방법만을 예시로 설명하였으나, 다양한 방법으로 가용 대역폭을 측정할 수 있다.
그런 다음 상기 하이브리드 PV 제어부(210)는 상기 측정된 가용 대역폭을 상기 이미지 압축된 어플리케이션 실행 화면의 크기와 비교한다.
상기 비교결과 상기 이미지 압축된 어플리케이션 실행 화면의 크기가 상기 가용 대역폭보다 작으면, 상기 하이브리드 PV 제어부(210)는 상기 이미지 압축된 어플리케이션 실행 화면을 상기 사용자 단말로 전송하며, 이미지 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호를 상기 사용자 단말로 전송한다.
만약, 상기 비교결과 상기 이미지 압축된 어플리케이션 실행 화면의 크기가 가용 대역폭보다 작지 않으면, 상기 하이브리드 PV 제어부(210)는 상기 어플리케이션 실행 화면을 상기 인코딩부(212)로 전송하고, 동영상 압축된 어플리케이션 실행 화면을 스트리밍(streaming)을 통해 전송한다는 제어 신호를 상기 사용자 단말로 전송한다.
또한, 상기 하이브리드 PV 제어부(210)는 상기 이미지 압축된 어플리케이션 실행 화면과 압축된 오디오 데이터를 합한 어플리케이션 실행 데이터의 크기를 (가용대역폭 - alpha)와 비교한다. 여기서, 상기 alpha는 대역폭 측정 오차를 고려한 상수값이다.
상기 비교결과 어플리케이션 실행 데이터의 크기가 상기 (가용대역폭 - alpha)보다 작으면, 상기 하이브리드 PV 제어부(210)는 상기 이미지 압축된 어플리케이션 실행 데이터를 상기 사용자 단말로 전송하며, 이미지 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호를 상기 사용자 단말로 전송한다.
만약, 상기 비교결과 어플리케이션 실행 데이터의 크기가 상기 (가용대역폭 - alpha)보다 작지 않으면, 상기 하이브리드 PV 제어부(210)는 상기 어플리케이션 실행 화면과 오디오 데이터를 캡쳐하여 상기 인코딩부(212)로 전송하고, 동영상 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호를 상기 사용자 단말로 전송한다. 즉, 상기 하이브리드 PV 제어부(210)는 상기 사용자 단말에 어플리케이션 실행 화면과 오디오를 스트리밍(streaming)을 통해 전송함을 알린다.
상기 인코딩부(212)는 상기 하이브리드 PV 제어부(210)의 제어에 따라 상기 어플리케이션 실행 화면을 동영상 압축한다. 여기서, 상기 동영상 압축은 H.264, MPEG-4 등과 같은 기존의 동영상 압축방법을 활용한다.
상기 인코딩부(212)는 상기 어플리케이션 실행 화면과 오디오를 동영상 압축하여 스트리밍부(214)를 통해 상기 사용자 단말로 스트리밍한다. 이때 상기 인코딩부(212)는 상기 압축된 어플리케이션 실행 데이터의 크기가 (네트워크의 가용대역폭-alpha + 압축된 오디오 데이터 크기)와 같도록 한다.
상기 사용자 단말에서는 하이브리드 PV 스위칭부가 하이브리드 PV 제어부(210)로부터 어플리케이션 실행 화면과 오디오가 RDP로 보내지는지 스트리밍(streaming)되어 전송되는지 정보를 받아서 RDP로 보내지는 경우에는 RDP 클라이언트로 보내고, streaming되어 전송되는 경우에는 스트리밍 재생기로 스트리밍 데이터를 재생하도록 한다.
도 4는 본 발명에 따른 화면 가상화 기반 어플리케이션 실행 방법을 나타낸 도면이다.
도 4를 참조하면, 사용자 단말이 어플리케이션 장치에 접속하면(S402), 상기 어플리케이션 장치는 저장된 어플리케이션에 대한 어플리케이션 목록을 상기 사용자 단말로 전송하고(S404), 상기 사용자 단말은 상기 어플리케이션 목록을 디스플레이한다(S406). 이때, 상기 어플리케이션 장치는 화면 가상화 기술을 이용하여 상기 어플리케이션 목록을 상기 사용자 단말로 전송하고, 사용자는 상기 디스플레이된 어플리케이션 목록 중에서 실행을 원하는 어플리케이션을 선택한다.
상기 사용자 단말은 상기 어플리케이션 장치에 상기 사용자에 의해 선택된 어플리케이션의 실행을 요청한다(S408).
그러면, 상기 어플리케이션 장치는 상기 사용자 단말로부터 실행 요청된 경우, 해당 어플리케이션을 실행하고(S410), 그 어플리케이션 실행 화면을 그 크기에 따라 다르게 압축하여(S412), 제어신호와 함께 상기 사용자 단말로 전송한다(S414). 즉, 상기 어플리케이션 장치는 상기 어플리케이션 실행 화면을 이미지 기반으로 압축하고, 현재 네트워크의 가용 대역폭을 측정한다. 그런 다음 상기 어플리케이션 장치는 이미지 기반으로 압축된 어플리케이션 실행 화면의 크기를 상기 가용대역폭과 비교하고, 상기 비교 결과를 근거로 상기 이미지 압축된 어플리케이션 실행 화면 또는 동영상 압축된 어플리케이션 실행 화면을 상기 사용자 단말로 전송한다.
상기 어플리케이션 장치가 상기 어플리케이션 실행 화면을 크기에 따라 다르게 압축하는 방법에 대한 상세한 설명은 도 5를 참조하기로 한다.
상기 S414가 수행되면, 상기 사용자 단말은 상기 제어 신호를 근거로 상기 압축되어 전송된 어플리케이션 실행 화면을 디코딩하여 출력한다(S416). 즉, 상기 제어신호가 이미지 압축된 어플리케이션 실행 화면이 전송됨을 나타낸 경우, 상기 사용자 단말은 상기 어플리케이션 실행 화면을 RDP 또는 VNC에서 정의된 디코딩 방식에 따라 디코딩하여 출력하고, 상기 제어신호가 동영상 압축된 어플리케이션 실행 화면이 전송됨을 나타낸 경우, 상기 어플리케이션 실행 화면을 동영상 디코딩 방식으로 디코딩하여 출력한다.
도 5는 본 발명에 따른 어플리케이션 장치가 어플리케이션 실행 화면을 크기에 따라 다르게 압축하는 방법을 나타낸 흐름도이다.
도 5를 참조하면, 어플리케이션 장치는 사용자 단말로부터 어플리케이션 실행이 요청되면(S502), 해당 어플리케이션을 실행하고(S504), 그 어플리케이션 실행 화면을 이미지 압축한다(S506). 상기 이미지 압축된 어플리케이션 실행 화면과 압축된 오디오 데이터를 합하여 이미지 압축 어플리케이션 실행 데이터라 칭한다.
상기 S506의 수행 후, 상기 어플리케이션 장치는 현재 네트워크의 가용 대역폭을 측정하고(S508), 상기 이미지 압축 어플리케이션 실행 데이터의 크기가 상기 가용 대역폭 미만인지를 판단한다(S510).
상기 S510의 판단결과 상기 이미지 압축 어플리케이션 실행 데이터의 크기가 상기 가용 대역폭 미만인 경우, 상기 어플리케이션 장치는 상기 이미지 압축 어플리케이션 실행 데이터를 상기 사용자 단말로 전송한다(S512). 이때, 상기 어플리케이션 장치는 이미지 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호를 상기 사용자 단말로 전송한다.
만약, 상기 S510의 판단결과 상기 이미지 압축 어플리케이션 실행 데이터의 크기가 상기 가용 대역폭 미만이 아니면, 상기 어플리케이션 장치는 상기 어플리케이션 실행 화면을 동영상 압축하고(S514), 상기 동영상 압축된 어플리케이션 실행 화면과 압축된 오디오 데이터를 포함하는 동영상 압축 어플리케이션 실행 데이터를 스트리밍을 통해 상기 사용자 단말로 전송한다(S516). 이때, 상기 어플리케이션 장치는 동영상 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호를 상기 사용자 단말로 전송한다.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
이상과 같이 본 발명의 화면 가상화 기반 어플리케이션 실행 시스템 및 방법은 어플리케이션 실행 화면을 데이터량이 많은 비디오/3D Graphic 화면과 일반 화면으로 구분하여 일반 화면은 이미지 압축하여 전송하고 데이터량이 많은 화면은 동영상 압축하여 전송함으로써, 데이터량이 많은 비디오나 3D graphic를 전송 시 높은 전송 대역폭을 차지하는 문제점을 해결할 필요가 있는 경우에 적합하다.
100 : 사용자 단말 102, 202 : 통신부
104 : 사용자 인터페이스부 108 : 하이브리드 PV 스위칭부
110 : RDP 클라이언트 112 : 스트리밍 재생기
200 : 어플리케이션 장치 204 : 어플리케이션 데이터베이스
208 : RDP 세션부 210 : 하이브리드 PV 제어부
212 : 인코딩부 214 : 스트리밍부

Claims (18)

  1. 어플리케이션 장치에 접속하여 어플리케이션의 실행을 요청하고, 상기 어플리케이션 장치로부터의 어플리케이션 실행 화면을 디코딩하여 출력하는 사용자 단말; 및
    상기 사용자 단말로부터 어플리케이션 실행이 요청된 경우, 해당 어플리케이션을 실행하여 그 어플리케이션 실행 화면을 이미지 압축하고, 현재 네트워크의 가용 대역폭을 측정하여 상기 이미지 압축된 어플리케이션 실행 화면의 크기와 비교하고, 상기 비교 결과에 따라 상기 이미지 압축된 어플리케이션 실행 화면을 상기 사용자 단말로 전송 또는 상기 어플리케이션 실행 화면을 동영상 압축하여 상기 사용자 단말로 전송하는 어플리케이션 장치;
    를 포함하는 화면 가상화 기반 어플리케이션 실행 시스템.
  2. 사용자 단말과의 통신을 위한 통신부;
    어플리케이션이 저장된 어플리케이션 데이터베이스;
    상기 통신부를 통해 사용자 단말로부터 어플리케이션 실행이 요청된 경우, 해당 어플리케이션을 상기 어플리케이션 데이터베이스로부터 획득하여 실행하고, 그 어플리케이션 실행 화면을 이미지 압축하는 RDP(Remote Desktop Protocol) 세션부;
    현재 네트워크의 가용 대역폭을 측정하여 상기 이미지 압축된 어플리케이션 실행 화면의 크기와 비교하고, 상기 비교 결과에 따라 상기 이미지 압축된 어플리케이션 실행 화면을 상기 사용자 단말로 전송하거나, 상기 어플리케이션 실행 화면을 동영상 압축하도록 제어하는 하이브리드 PV 제어부;
    상기 하이브리드 PV 제어부의 제어에 따라 상기 어플리케이션 실행 화면을 동영상 압축하는 인코딩부; 및
    상기 인코딩부에서 동영상 압축된 어플리케이션 실행 화면을 스트리밍으로 상기 사용자 단말로 전송하는 스트리밍부;
    를 포함하는 어플리케이션 장치.
  3. 제2항에 있어서,
    상기 RDP 세션부는 RDP 또는 VNC(Virtual Network Control)에서 정의된 이미지 압축 방식에 따라 상기 어플리케이션 실행 화면을 압축하는 것을 특징으로 하는 어플리케이션 장치.
  4. 제2항에 있어서,
    상기 RDP 세션부는 상기 통신부를 통해 상기 사용자 단말이 접속된 경우, 상기 어플리케이션 데이터베이스에 저장된 어플리케이션들에 대한 어플리케이션 목록을 사용자 단말로 전송하는 것을 특징으로 하는 어플리케이션 장치.
  5. 제2항에 있어서,
    상기 하이브리드 PV 제어부는 상기 이미지 압축된 어플리케이션 실행 화면과 압축된 오디오 데이터를 합한 이미지 압축 어플리케이션 실행 데이터의 크기를 상기 가용 대역폭과 비교하여, 상기 이미지 압축 어플리케이션 실행 데이터의 크기가 상기 가용 대역폭보다 작은 경우 상기 이미지 압축 어플리케이션 실행 데이터를 상기 사용자 단말로 전송하며, 이미지 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호를 상기 사용자 단말로 전송하는 것을 특징으로 하는 어플리케이션 장치.
  6. 제2항에 있어서,
    상기 하이브리드 PV 제어부는 상기 이미지 압축된 어플리케이션 실행 화면과 압축된 오디오 데이터를 합한 이미지 압축 어플리케이션 실행 데이터의 크기를 상기 가용 대역폭과 비교하여, 상기 이미지 압축 어플리케이션 실행 데이터의 크기가 상기 가용 대역폭보다 작지 않은 경우 상기 어플리케이션 실행 화면을 상기 인코딩부로 전송하고, 동영상 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호를 상기 사용자 단말로 전송하는 것을 특징으로 하는 어플리케이션 장치.
  7. 제2항에 있어서,
    상기 하이브리드 PV 제어부는 다수의 주기적인 타임 스탬프(time stamp) 패킷들을 네트워크에 연결되어 있는 사용자 단말로 현재 설정되어 있는 시험 전송율로 전송하고, 상기 사용자 단말에 타임 스탬프 패킷들 각각이 수신된 시각들에 근거하여 타임 스탬프 패킷들 간의 전송 지연시간 차값들의 변화 추세를 검사하여 상기 전송 지연시간 차값들이 안정범위 내에 포함되면 현재 설정되어 있는 시험 전송율을 가용 대역폭으로 결정하는 것을 특징으로 하는 어플리케이션 장치.
  8. 제2항에 있어서,
    상기 인코딩부는 상기 동영상 압축된 어플리케이션 실행 화면의 크기가 상기 가용 대역폭에서 압축된 오디오 데이터의 크기를 뺀 크기와 상응하도록 압축하는 것을 특징으로 하는 어플리케이션 장치.
  9. 어플리케이션 장치와의 통신을 위한 통신부;
    상기 통신부를 통해 접속된 어플리케이션 장치로부터의 어플리케이션 목록을 디스플레이하고, 상기 어플리케이션 목록 중에서 적어도 하나의 어플리케이션 실행을 요청하는 사용자 인터페이스부;
    상기 어플리케이션 장치로부터의 제어신호를 근거로 RDP 클라이언트 또는 스트리밍 재생기로 상기 어플리케이션 장치로부터의 어플리케이션 실행 데이터를 스위칭하는 하이브리드 PV 스위칭부;
    상기 하이브리드 PV 스위칭부를 통해 수신된 어플리케이션 실행 데이터를 이미지 기반으로 디코딩하여 출력하는 RDP 클라이언트; 및
    상기 하이브리드 PV 스위칭부를 통해 스트리밍되는 어플리케이션 실행 데이터를 동영상 기반으로 디코딩하여 출력하는 스트리밍 재생기;
    를 포함하는 사용자 단말.
  10. 제9항에 있어서,
    상기 하이브리드 PV 스위칭부는 상기 통신부를 통해 이미지 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호가 수신된 경우 상기 어플리케이션 실행 데이터를 상기 RDP 클라이언트로 스위칭하고, 동영상 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호가 수신된 경우 상기 어플리케이션 실행 데이터를 상기 스트리밍 재생기로 스위칭하는 것을 특징으로 하는 사용자 단말.
  11. 제9항에 있어서,
    상기 RDP 클라이언트는 RDP 또는 VNC에서 정의된 디코딩 방식에 따라 상기 어플리케이션 실행 데이터를 디코딩하는 것을 특징으로 하는 사용자 단말.
  12. 사용자 단말이 어플리케이션 장치로부터 어플리케이션 목록을 수신 및 디스플레이하고, 상기 어플리케이션 목록 중에서 사용자에 의해 선택된 어플리케이션의 실행을 요청하는 단계;
    상기 어플리케이션 장치가 상기 실행 요청된 어플리케이션을 실행하여 그 어플리케이션 실행 화면을 이미지 압축하는 단계;
    상기 어플리케이션 장치가 현재 네트워크의 가용 대역폭을 측정하여 상기 이미지 압축된 어플리케이션 실행 화면의 크기와 비교하는 단계;
    상기 어플리케이션 장치가 상기 비교 결과에 따라 상기 이미지 압축된 어플리케이션 실행 화면을 상기 사용자 단말로 전송 또는 상기 어플리케이션 실행 화면을 동영상 압축하여 상기 사용자 단말로 전송하는 전송하는 단계; 및
    상기 사용자 단말이 상기 어플리케이션 장치로부터의 어플리케이션 실행 화면을 이미지 디코딩 또는 동영상 디코딩하여 출력하는 단계;
    를 포함하는 화면 가상화 기반 어플리케이션 실행 방법.
  13. 어플리케이션 장치가 화면 가상화를 기반으로 어플리케이션을 실행하는 방법에 있어서,
    (a) 사용자 단말이 접속된 경우, 어플리케이션 목록을 상기 사용자 단말로 전송하는 단계;
    (b) 상기 사용자 단말로부터 어플리케이션 실행이 요청된 경우, 해당 어플리케이션을 실행하고, 그 어플리케이션 실행 화면을 이미지 압축하는 단계;
    (c) 현재 네트워크의 가용 대역폭을 측정하여 상기 이미지 압축된 어플리케이션 실행 화면의 크기와 비교하는 단계; 및
    (d) 상기 비교 결과에 따라 상기 어플리케이션 실행 화면을 이미지 압축 또는 동영상 압축하여 상기 사용자 단말로 전송하는 단계;
    를 포함하는 화면 가상화 기반 어플리케이션 실행 방법.
  14. 제13항에 있어서,
    상기 (c) 단계는,
    상기 이미지 압축된 어플리케이션 실행 화면과 압축된 오디오 데이터를 합한 이미지 압축 어플리케이션 실행 데이터의 크기를 상기 가용 대역폭과 비교하는 것을 특징으로 하는 화면 가상화 기반 어플리케이션 실행 방법.
  15. 제14항에 있어서,
    상기 (d) 단계는,
    상기 이미지 압축 어플리케이션 실행 데이터의 크기가 상기 가용 대역폭보다 작은 경우, 상기 이미지 압축 어플리케이션 실행 데이터를 상기 사용자 단말로 전송함과 동시에 이미지 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호를 상기 사용자 단말로 전송하고,
    상기 이미지 압축 어플리케이션 실행 데이터의 크기가 상기 가용 대역폭보다 작지 않은 경우, 상기 어플리케이션 실행 화면을 동영상 압축하여 상기 사용자 단말로 전송함과 동시에 동영상 압축된 어플리케이션 실행 화면이 전송된다는 제어 신호를 상기 사용자 단말로 전송하는 것을 특징으로 하는 화면 가상화 기반 어플리케이션 실행 방법.
  16. 어플리케이션 장치와 통신망을 통해 접속된 사용자 단말이 어플리케이션을 실행하는 방법에 있어서,
    (a) 상기 어플리케이션 장치로부터 어플리케이션 목록을 수신하여 디스플레이하는 단계;
    (b) 상기 어플리케이션 목록 중에서 사용자에 의해 선택된 적어도 하나의 어플리케이션 실행을 상기 어플리케이션 장치에 요청하는 단계;
    (c) 상기 어플리케이션 장치로부터 상기 실행 요청된 어플리케이션 실행 데이터 및 제어 신호를 수신하는 단계; 및
    (d) 상기 제어 신호에 따라 상기 어플리케이션 실행 데이터를 이미지 디코딩 또는 동영상 디코딩하여 출력하는 단계;
    를 포함하는 화면 가상화 기반 어플리케이션 실행 방법.
  17. 제16항에 있어서,
    상기 (d) 단계는,
    상기 제어 신호가 이미지 압축된 어플리케이션 실행 화면이 전송됨을 나타낸 경우, 상기 어플리케이션 실행 데이터를 이미지 디코딩하여 출력하고,
    상기 제어신호가 동영상 압축된 어플리케이션 실행 화면이 전송됨을 나타낸 경우, 상기 어플리케이션 실행 데이터를 동영상 디코딩하여 출력하는 것을 특징으로 하는 화면 가상화 기반 어플리케이션 실행 방법.
  18. 어플리케이션 장치로부터 어플리케이션 목록을 수신하여 디스플레이하는 단계;
    상기 어플리케이션 목록 중에서 사용자에 의해 선택된 적어도 하나의 어플리케이션 실행을 상기 어플리케이션 장치에 요청하는 단계;
    상기 어플리케이션 장치로부터 상기 실행 요청된 어플리케이션 실행 데이터 및 제어 신호를 수신하는 단계; 및
    상기 제어 신호에 따라 상기 어플리케이션 실행 데이터를 이미지 디코딩 또는 동영상 디코딩하여 출력하는 단계;
    를 포함하는 화면 가상화 기반 어플리케이션 실행 방법이 프로그램으로 기록되고 전자 장치에서 판독 가능한 기록매체.
KR1020110073617A 2011-07-25 2011-07-25 화면 가상화 기반 어플리케이션 실행 시스템 및 방법 KR101630638B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110073617A KR101630638B1 (ko) 2011-07-25 2011-07-25 화면 가상화 기반 어플리케이션 실행 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110073617A KR101630638B1 (ko) 2011-07-25 2011-07-25 화면 가상화 기반 어플리케이션 실행 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20130012420A true KR20130012420A (ko) 2013-02-04
KR101630638B1 KR101630638B1 (ko) 2016-06-15

Family

ID=47893121

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110073617A KR101630638B1 (ko) 2011-07-25 2011-07-25 화면 가상화 기반 어플리케이션 실행 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101630638B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160093929A (ko) * 2015-01-30 2016-08-09 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 동시 인코딩을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR20200044390A (ko) * 2018-10-19 2020-04-29 에스케이텔레콤 주식회사 특정영역에서의 vmi화면과 로컬화면 표시 방법 및 장치
KR20200046309A (ko) * 2018-10-24 2020-05-07 에스케이텔레콤 주식회사 딜레이 절감을 위한 vmi 화면 표시 방법 및 장치
WO2020204401A1 (ko) * 2019-03-29 2020-10-08 삼성전자 주식회사 전자 장치 및 전자 장치에서의 스트리밍 어플리케이션 처리 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101899262B1 (ko) 2017-11-14 2018-09-14 (주) 퓨전데이타 가상화 화면 최적화 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030066029A (ko) * 2002-02-04 2003-08-09 윤인수 인터넷망을 기반으로 하는 압축 영상 실시간 전송 시스템및 그 전송방법
US20040019347A1 (en) * 2000-02-29 2004-01-29 Olympus Optical Co., Ltd. Surgical operation system
US20040240752A1 (en) * 2003-05-13 2004-12-02 Dobbs Andrew Bruno Method and system for remote and adaptive visualization of graphical image data
KR20100009429A (ko) * 2008-07-18 2010-01-27 엘지전자 주식회사 화상 회의 서버와 단말기 및 이를 이용한 화상 회의 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040019347A1 (en) * 2000-02-29 2004-01-29 Olympus Optical Co., Ltd. Surgical operation system
KR20030066029A (ko) * 2002-02-04 2003-08-09 윤인수 인터넷망을 기반으로 하는 압축 영상 실시간 전송 시스템및 그 전송방법
US20040240752A1 (en) * 2003-05-13 2004-12-02 Dobbs Andrew Bruno Method and system for remote and adaptive visualization of graphical image data
KR20100009429A (ko) * 2008-07-18 2010-01-27 엘지전자 주식회사 화상 회의 서버와 단말기 및 이를 이용한 화상 회의 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
한국등록특허 제988,111호(2010.10.08), 발명의 명칭: 터미널 환경의 서버 기반 컴퓨팅 시스템에서 많은 사용자가 하나의 리소스 공유로 어플리케이션 실행이 불가능한 경우 리소스 가상화를 통해 이를 실행하는 장치 및 그 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160093929A (ko) * 2015-01-30 2016-08-09 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 동시 인코딩을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR20210095846A (ko) * 2015-01-30 2021-08-03 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 시스템, 동시 인코딩을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR20200044390A (ko) * 2018-10-19 2020-04-29 에스케이텔레콤 주식회사 특정영역에서의 vmi화면과 로컬화면 표시 방법 및 장치
KR20200046309A (ko) * 2018-10-24 2020-05-07 에스케이텔레콤 주식회사 딜레이 절감을 위한 vmi 화면 표시 방법 및 장치
WO2020204401A1 (ko) * 2019-03-29 2020-10-08 삼성전자 주식회사 전자 장치 및 전자 장치에서의 스트리밍 어플리케이션 처리 방법

Also Published As

Publication number Publication date
KR101630638B1 (ko) 2016-06-15

Similar Documents

Publication Publication Date Title
US9106521B2 (en) Method and system for visualizing an adaptive screen according to a terminal
WO2020233142A1 (zh) 多媒体文件播放方法、装置、电子设备和存储介质
JP5451397B2 (ja) リモートインターラクションに応答してビデオコンテンツを配信するためのアーキテクチャー
US8934887B2 (en) System and method for running mobile devices in the cloud
CN107209693B (zh) 缓冲器优化
KR101966921B1 (ko) 멀티 세션 관리 방법 및 장치
KR101668282B1 (ko) 화면 가상화 기반 어플리케이션 구동 시스템 및 방법
WO2021143182A1 (zh) 游戏的处理方法、装置、电子设备及计算机可读存储介质
US20160249106A1 (en) Remote Control of a Mobile Device
TWI495330B (zh) 有效地串流數位視訊的系統及方法
KR101630638B1 (ko) 화면 가상화 기반 어플리케이션 실행 시스템 및 방법
CN108696404B (zh) 经由协作平台实现受测试设备会议
CN107948731B (zh) 视频流合并方法、服务器及计算机可读存储介质
CN110856036A (zh) 远程桌面实现方法、交互方法、装置、设备、存储介质
WO2022096017A1 (zh) 内容显示方法及装置
CN104349177A (zh) 一种在桌面云下转向播放多媒体文件的方法、虚拟机及系统
KR20180086112A (ko) 웹 브라우저에서 미디어를 재생하고 탐색하는 장치 및 방법
CN111131891A (zh) 一种音视频播放方法、装置、播放设备及系统
Lee et al. FLUID-XP: flexible user interface distribution for cross-platform experience
Deboosere et al. Thin client computing solutions in low-and high-motion scenarios
US20180189090A1 (en) Exposing Hardware Work Queues as Virtual Devices in Virtual Machines
KR102247886B1 (ko) 클라우드 스트리밍 서비스 시스템, 이미지 타입에 따른 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR101871403B1 (ko) 화면 가상화를 이용한 어플리케이션 구동 방법 및 시스템
Dong et al. Towards enabling residential virtual-desktop computing
KR101237504B1 (ko) 이종의 원격 제어 서비스를 지원하는 서버 및 방법

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
N231 Notification of change of applicant
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: 20190521

Year of fee payment: 4