KR20140035707A - 가상화 시스템 및 가상화 서비스 제공방법 - Google Patents

가상화 시스템 및 가상화 서비스 제공방법 Download PDF

Info

Publication number
KR20140035707A
KR20140035707A KR1020120102302A KR20120102302A KR20140035707A KR 20140035707 A KR20140035707 A KR 20140035707A KR 1020120102302 A KR1020120102302 A KR 1020120102302A KR 20120102302 A KR20120102302 A KR 20120102302A KR 20140035707 A KR20140035707 A KR 20140035707A
Authority
KR
South Korea
Prior art keywords
multimedia data
virtualization
data
client terminal
server
Prior art date
Application number
KR1020120102302A
Other languages
English (en)
Other versions
KR101720654B1 (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 KR1020120102302A priority Critical patent/KR101720654B1/ko
Priority to US13/947,838 priority patent/US20140082052A1/en
Publication of KR20140035707A publication Critical patent/KR20140035707A/ko
Application granted granted Critical
Publication of KR101720654B1 publication Critical patent/KR101720654B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

가상화 시스템 및 가상화 서비스 제공방법이 개시된다. 본 발명의 일 실시 예에 따른 가상화 시스템은, 로컬 주변장치와 연결되어 로컬 주변장치로부터 멀티미디어 데이터를 입력받는 씬 클라이언트 단말과, 씬 클라이언트 단말과 네트워크 상으로 연결되어 씬 클라이언트 단말로부터 멀티미디어 데이터를 수신하여 이를 응용프로그램에서 실행하고 실행결과 화면을 씬 클라이언트 단말에 전달하는 가상화 서버를 포함한다.

Description

가상화 시스템 및 가상화 서비스 제공방법 {Data redirection system and method for providing data redirection service}
본 발명은 가상화 기술에 관한 것이다.
모든 서비스가 서버에서 실행되고 그 결과만을 클라이언트에 제공하는 구조를 제공하는 서버 가상화 기술은, 클라이언트가 네트워크를 통해 서버에서 실행한 응용 프로그램 실행결과 화면을 수신하기 때문에, 클라이언트의 컴퓨팅 자원 사용량은 감소하고 그에 따라 클라이언트의 가격도 상대적으로 낮아진다.
다중 사용자의 멀티 세션을 분리해주는 기술로, SBC(Server Based Computing) 및 VDI(Virtual Desktop Infrastructure) 기반의 서버 시스템이 있다. SBC 기반 멀티 세션 분리기술은 하나의 운영체제를 공유하면서 사용자 별로 터미널 세션을 분리하여 제공해 주는 구조로서, 세션이 다양하게 이용되는 구조에 많이 이용된다. 대표적인 예로 PC를 통한 원격 데스크톱 연결을 들 수 있다. 이에 비해, VDI 기반 서버 시스템은 클라이언트가 서버에 접속할 때마다 독립적인 운영체제를 할당하는 구조를 갖는다. 전술한 구조들은 모두 서버에서 실행한 결과 화면을 원격 전송 기술을 통해 클라이언트로 전송하는 공통점이 있다.
서버에서 수행한 실행결과 화면을 클라이언트로 전송하는 기본적인 개념에서 확장하여 클라이언트에 장착된 물리적인 자원의 공유 개념이 제시되고 있다. 예를 들어 원격 접속 시 클라이언트의 하드 디스크를 서버에서 공유하여 다수의 사용자가 이용할 수 있도록 하거나, 원격 프린터를 서버에서 공유하여 다수의 사용자가 이용할 수 있는 예가 이에 해당된다.
최근에는 전술한 개념에서 더 확대되어 클라이언트에 장착된 오디오, 비디오 입출력 장치에 대한 서버 상 공유에 대한 서비스 요구사항이 증대되고 있다. 예를 들어, USB(Universal Serial Bus) 외부 입력장치를 갖는 저가의 씬 클라이언트(Thin Client) 형태의 셋톱박스는 외부 입력장치를 셋톱박스에서 다루지 않고 서버에서 가상의 USB 외부 입력장치를 생성하여 동작시킬 수 있다. 클라우드 환경에서 화상 회의 서비스가 바로 이러한 예이다.
SBC에서는 멀티 세션 분리를 위해 하나의 운영체제를 공유하면서 사용자 별로 터미널 세션을 제공하게 된다. SBC와 같은 시스템 구조에서 씬 클라이언트에 장착된 웹캠과 같은 USB 외부 입력장치를 서버에 가상적으로 생성할 때 운용체제를 세션마다 공유하여 사용하므로 USB 외부 입력장치를 사용자 세션별로 구분해 내기 어렵다.
일 실시 예에 따라, 멀티미디어 데이터를 서버에서 클라이언트 세션별로 처리하지 못하는 한계점을 극복하고, USB 외부 입력장치를 갖는 클라이언트의 멀티미디어 데이터를 서버에서 처리함에 따라 클라우드 환경에서 다양한 형태의 서비스를 제공할 수 있는 가상화 시스템 및 가상화 서비스 제공방법을 제안한다.
일 실시 예에 따른 가상화 시스템은, 로컬 주변장치와 연결되어 로컬 주변장치로부터 멀티미디어 데이터를 입력받는 씬 클라이언트 단말과, 씬 클라이언트 단말과 네트워크 상으로 연결되어 씬 클라이언트 단말로부터 멀티미디어 데이터를 수신하여 이를 응용프로그램에서 실행하고 실행결과 화면을 씬 클라이언트 단말에 전달하는 가상화 서버를 포함한다.
로컬 주변장치는 USB 인터페이스를 통해 클라이언트 단말과 연결되는 USB 외부 입력장치인 웹캠일 수 있다. 씬 클라이언트 단말은 셋톱박스일 수 있다.
일 실시 예에 따른 씬 클라이언트 단말은, 가상화 서버에 전송할 멀티미디어 데이터를 캡쳐하는 데이터 캡쳐부와, 데이터 캡쳐부에서 캡쳐된 멀티미디어 데이터를 압축하는 데이터 압축부와, 데이터 압축부에서 압축된 멀티미디어 데이터를 가상화 서버에 전송하는 데이터 전송부를 포함한다. 데이터 캡쳐부와 데이터 압축부 및 데이터 전송부는 사용자 레벨에서 형성될 수 있다. 데이터 캡쳐부는 가상화 서버에서 멀티미디어 데이터를 실행하는 응용 프로그램과의 기능 협상 결과에 따라 협상된 출력정보를 이용하여 멀티미디어 데이터를 캡쳐할 수 있다.
일 실시 예에 따른 가상화 서버는, 사용자 레벨에서 로컬 주변장치를 가상화하기 위한 가상화 주변장치 드라이버를 생성하고 생성된 가상화 주변장치 드라이버를 이용하여 응용프로그램에서 멀티미디어 데이터를 실행한다.
일 실시 예에 따른 가상화 서버는, 사용자 세션 별로 멀티미디어 데이터를 분리하여 분리된 멀티미디어 데이터를 해당 세션의 응용프로그램에서 실행함에 따라, 다른 세션을 통해 접속한 다른 씬 클라이언트 단말의 접근을 차단한다.
일 실시 예에 따른 가상화 서버는, 씬 클라이언트 단말로부터 수신된 멀티미디어 데이터를 디코딩하는 데이터 디코딩부와, 로컬 주변장치를 가상화하기 위한 가상화 주변장치 드라이버를 생성하고 생성된 가상화 주변장치 드라이버를 통해 디코딩부에서 디코딩된 멀티미디어 데이터를 필터링하는 데이터 필터링부와, 필터링부를 통해 필터링된 멀티미디어 데이터를 가상화 서버의 응용프로그램에서 실행하는 응용프로그램 실행부와, 응용프로그램 실행부를 통한 실행결과 화면을 씬 클라이언트 단말에 전송하는 송수신부를 포함한다.
다른 실시 예에 따른 가상화 서버의 가상화 서비스 제공방법은, 로컬 주변장치에서 씬 클라이언트 단말로 입력되는 멀티미디어 데이터를 씬 클라이언트 단말로부터 수신하는 단계와, 수신된 멀티미디어 데이터를 응용프로그램에서 실행하는 단계와, 실행결과 화면을 씬 클라이언트 단말에 전달하는 단계를 포함한다.
또 다른 실시 예에 따른 씬 클라이언트 단말의 가상화 서비스 수신방법은, 로컬 주변장치와 연결되어 로컬 주변장치로부터 멀티미디어 데이터를 입력받아 이를 캡쳐하는 단계와, 캡쳐된 멀티미디어 데이터를 압축하여 압축된 멀티미디어 데이터를 가상화 서버에 전송하는 단계와, 가상화 서버로부터 멀티미디어 데이터 실행결과 화면을 수신하는 단계를 포함한다.
일 실시 예에 따라 클라이언트와 연결된 로컬 주변장치, 예를 들어 USB 외부 입력장치의 멀티미디어 데이터에 대한 가상화를 가상화 서버의 커널 레벨이 아닌 사용자 레벨에서 수행함에 따라, 복잡한 커널 레벨에서의 가상의 USB 에뮬레이션(emulation) 처리 과정을 거치지 않고도 멀티미디어 데이터를 실행하여 실행결과 화면을 클라이언트에 제공할 수 있다.
나아가, 가상화 서버에서 사용자 세션 별로 멀티미디어 데이터를 분리하여 분리된 멀티미디어 데이터를 해당 세션의 응용프로그램에서 실행함에 따라, 다른 세션을 통해 접속한 다른 클라이언트의 접근을 차단할 수 있다. 이에 따라 가상화 서버가 클라이언트 별로 독립적인 운영 체제를 할당하지 않아도 되며, 클라우드 기반 멀티미디어 서비스를 정확하게 해당 클라이언트에 제공할 수 있다.
IPTV 서비스가 이미 양방향 서비스 형태로 제공되고 있고 그 서비스 이용률이 꾸준히 증가함에 따라, 전술한 가상화 서비스는 그 기대 효과가 클 것으로 예상된다. 즉, 클라우드 환경에서 IPTV 서비스를 제공받기 위한 셋톱박스와 서비스를 제공하는 서버에 적용될 수 있다.
도 1은 본 발명의 일 실시 예에 따른 가상화 시스템의 구성도,
도 2는 본 발명의 일 실시 예에 따른 씬 클라이언트 단말의 세부 구성도,
도 3은 본 발명의 일 실시 예에 따른 가상화 서버의 세부 구성도,
도 4는 본 발명의 일 실시 예에 따른 가상화 처리 프로세스를 도시한 흐름도이다.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시 예에 따른 가상화 시스템의 구성도이다.
도 1을 참조하면, 가상화 시스템은 씬 클라이언트 단말(1), 로컬 주변장치(2), 가상화 서버(3) 및 네트워크(5)를 포함한다.
본 발명의 가상화 시스템은 씬 클라이언트 단말(thin client terminal)(이하 클라이언트라 칭함)(1)을 가능한 한 단순하게 구성하고, 모든 정보와 기능을 가상화 서버(이하 서버라 칭함)(3)에 둔다. 가상화 시스템은 서버(3)에 설치된 응용프로그램을 실행시키며, 클라이언트(1)의 하드웨어와 소프트웨어를 최대한 단순화하고 클라이언트(1)에 정보를 저장하지 않는다는 의미인 씬 클라이언트 기술이 적용된다. 씬 클라이언트 기술을 통해 클라이언트(1)의 가격과 유지 보수 비용을 절감하고, 데이터 백업의 용이성을 갖는다.
클라이언트(1)는 최소한의 자원을 가지고 서버(3) 자원을 최대한 활용하여 다양한 서비스를 제공받는 것이 이상적이다. 서버(3)가 텍스트 형태 및 움직임이 크지 않은 원격화면을 클라이언트(1)로 전송하는 기술은 일반적이다. 그러나, 클라이언트(1)와 연결된 로컬 주변장치(local peripheral)(2)의 멀티미디어 데이터를 서버(3)에서 실행하고 실행결과 화면을 클라이언트(1)에 제공하는 기술은 좀 더 복잡하다. 왜냐하면 클라이언트(1)에 연결된 로컬 주변장치(2)의 데이터를 서버(3)에서 클라이언트(1)의 세션별로 실행시키기 위한 운영체제를 갖는 시스템 구조가 지원되지 못하기 때문이다. 이하, 멀티미디어 데이터를 서버에서 클라이언트 세션별로 처리하지 못하는 한계점을 극복하고, 로컬 주변장치(2)와 연결된 클라이언트(1)의 멀티미디어 데이터를 서버(3)에서 처리하는 가상화 시스템 및 가상화 서비스 제공방법에 대해 후술한다.
클라이언트(1)는 원격 사용자 인터페이스(Remote User interface)를 이용하여 네트워크(5)의 가상화 채널을 통해 서버(3)와 통신할 수 있다. 또는 클라이언트(1)는 네트워크(5) 상에서 TCP/IP를 통해 서버(3)와 통신할 수도 있다. 원격 사용자 인터페이스 프로토콜은 RDP(Remote Desktop Protocol)일 수 있다. 이하, 원격 사용자 인터페이스 프로토콜을 RDP라 한정하여 후술하나, 원격 사용자 인터페이스 프로토콜은 RDP뿐만 아니라, 통용되는 ICA(Independent Computing Architecture), XRT(Extended Remote Technology), VDI(Virtual Device Interface) 등일 수 있음은 물론이다. 클라이언트(1)는 셋톱박스(set top box: STB)일 수 있다.
클라이언트(1)는 로컬 주변장치(2)와 연결된다. 이때, 로컬 주변장치(2)는 USB 인터페이스를 통해 클라이언트(1)와 연결되는 USB 외부 입력장치일 수 있다. 로컬 주변장치(2)는 프린터, USB key, 디지털 카메라, DVD 플레이어, 웹캠(WebCAM)일 수 있다. 클라이언트(1)는 로컬 주변장치(2)로부터 생성된 멀티미디어 데이터를 서버(3)에 전송한다. 멀티미디어 데이터는 비디오 데이터와 오디오 데이터 등을 포함한다. 클라이언트(1)는 캡쳐된 멀티미디어 데이터를 서버(3)에 전송하기 이전에 데이터 압축 과정을 수행할 수 있는데, 클라이언트(1)의 세부 구성에 대해서는 도 2에서 후술한다.
서버(3)는 원격에 위치하여 네트워크(5)를 통해 클라이언트(1)와 세션 연결된다. 클라이언트(1)와 세션 연결 시에, 서버(3)는 로컬 주변장치(2)를 가상화(redirection)한 가상화 주변장치(4)를 생성한다. 서버(3)는 클라이언트(1)로부터 전송받은 멀티미디어 데이터를 실행할 수 있는 응용프로그램을 포함한다. 응용프로그램은 예를 들어 비디오 플레이어 프로그램 또는 오디오 플레이어 프로그램일 수 있다.
일 실시 예에 따라, 서버(3)는 커널 레벨(kernel level)이 아닌 사용자 레벨(user level)에서 로컬 주변장치(2)를 가상화한다. 사용자 레벨에 접근하는 사용자 모드에서는, 커널 레벨에 접근할 수 있는 커널 모드와는 달리 커널 레벨에 접근할 필요없이 사용자 레벨에서의 명령과 데이터들을 이용하게 된다. 이 경우, 서버(3)는 로컬 주변장치(2) 가상화를 위해 커널 레벨의 USB 드라이버를 에뮬레이션(emulation)할 필요가 없게 된다.
일 실시 예에 따라, 서버(3)는 로컬 주변장치(2)의 멀티미디어 데이터를 클라이언트(1)가 아닌 자신을 통해 세션 별로 논리적으로 구분한다. 이에 따라, 다른 세션을 통해 접속한 클라이언트가 접근할 수 없는 구조를 갖게 되므로, 클라우드 기반 멀티미디어 서비스를 해당 클라이언트에게 정확하게 제공할 수 있다. 서버(3)의 세부 구성에 대해서는 도 2에서 후술한다.
일 실시 예에 따라 가상화 시스템은 노래방이나 화상회의 서비스에 이용된다. 또한, IPTV 서비스 등의 양방향 서비스에 이용될 수도 있다. 전술한 이용 분야에서의 가상화 시스템은 멀티미디어를 서버(3)의 응용프로그램에서 실행하므로, 클라이언트(1)의 하드웨어와 소프트웨어 자원을 단순화하고 가격과 유지 보수 등을 절감하며 데이터 백업을 용이하게 할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 클라이언트(1)의 세부 구성도이다.
도 2를 참조하면, 클라이언트(1)는 데이터 처리부(11)를 포함하며, 데이터 처리부(11)는 데이터 캡쳐부(110), 데이터 압축부(112) 및 데이터 전송부(114)를 포함할 수 있다.
클라이언트(1)는 RDP 클라이언트 모듈(10)을 통해 RDP를 이용하여 서버(3) 내 터미널 서버(30)에 접속하여 세션을 할당받는다. 터미널 서버(30)는 클라이언트(1)가 접속하면 새로운 세션을 생성하고, 만일 클라이언트(1)로부터의 통신이 어느 정도 시간 이상 없으면 클라이언트(1)와의 접속이 중단된 것으로 판단하여 해당 세션을 삭제한다.
클라이언트(1)는 USB 입력장치(15)를 통해 로컬 주변장치(2), 예를 들어 웹캠과 연결되고, 웹캠이 동작 되면 데이터 캡쳐부(110)는 로컬 주변장치(2)에서 생성되는 멀티미디어 데이터를 캡쳐한다. USB 입력장치 컨트롤러(14)는 USB 입력장치(15)를 제어한다.
데이터 캡쳐부(110)는 멀티미디어 데이터를 캡쳐하기 위해 서버(3)와 통신할 수 있다. 예를 들어, 클라이언트(1)는 서버(3)와 연결될 때 서버(3)에서 동작하는 응용프로그램의 로컬 주변장치 처리 설정정보를 입력받아, 로컬 주변장치 처리 설정정보를 이용하여 해상도, 출력 포맷 등의 출력정보를 정의하며 정의된 출력정보에 따라 멀티미디어 데이터를 캡쳐한다.
데이터 압축부(112)는 데이터 캡쳐부(110)에서 캡쳐된 멀티미디어 데이터를 압축하여 인코딩(encoding)한다. 데이터 압축부(112)는 오디오 데이터와 비디오 데이터를 각각 분리하여 압축할 수 있다. 클라이언트(1)를 통해 캡쳐되는 멀티미디어 데이터는 일반적으로 압축을 지원하지 않는 저가의 로컬 주변장치(2)에서 생성되는 데이터이다. 따라서, 데이터 압축부(112)는 멀티미디어 데이터를 압축함에 따라, 클라이언트(1)로부터 서버(3)로 전송되는 상향 대역의 전송 효율을 향상시킬 수 있다. 데이터 압축 인코딩 예를 들면, 데이터 압축부(112)는 캡쳐된 오디오 및/또는 비디오 데이터를 JPEG, GIF, MPEG 등과 같은 형태로 압축한다.
데이터 전송부(114)는 데이터 압축부(112)에서 압축된 멀티미디어 데이터를 서버(3)에 전송한다. 이때, 데이터 전송부(114)는 RDP 가상 채널을 통해 압축된 멀티미디어 데이터를 서버(3)에 전송할 수 있다. 또는 데이터 전송부(114)는 RDP 가상 채널을 거치지 않고 TCP/IP 패킷 형태로 압축된 멀티미디어 데이터를 서버(3)에 전송할 수도 있다.
일 실시 예에 따라, 데이터 처리부(11)의 데이터 캡쳐부(110), 데이터 압축부(112) 및 데이터 전송부(114)는 사용자 레벨에 위치하게 된다. 이 경우, 데이터 캡쳐부(110)는 오디어 라이브러리와 비디오 라이브러리를 포함하는 캡쳐 라이브러리(12)를 이용하여 오디오와 비디오 데이터를 캡쳐할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 서버(3)의 세부 구성도이다.
도 3을 참조하면, 서버(3)는 커널 레벨이 아닌 사용자 레벨에서 로컬 주변장치(2)를 가상화한다. 서버(3)의 송수신부(33)는 클라이언트(1)로부터 멀티미디어 데이터를 수신한다. 그리고, 서버(3)의 응용프로그램에서의 멀티미디어 실행 결과를 클라이언트(1)에 전송한다. 멀티미디어 실행결과는 그래픽 형태로 클라이언트(1)에 전송될 수 있다.
가상화 주변장치 드라이버(Virtual peripheral Driver)(32)는 송수신부(33)를 통해 클라이언트(1)로부터 수신된 멀티미디어 데이터를 대상으로 필터링(filtering)과 렌더링(rendering)을 수행하고, 렌더링된 멀티미디어 데이터를 서버(3)에 설치된 응용프로그램에서 실행한다. 가상화 주변장치 드라이버(32)는 필터링과 렌더링 수행을 위해 비디오 라이브러리(34)와 오디오 라이브러리(35)를 이용할 수 있다.
일 실시 예에 따라, 서버(3)는 클라이언트(1)의 캡쳐, 압축 및 전송 과정을 거쳐 클라이언트(1)로부터 수신된 멀티미디어 데이터를 다시 역으로 디코딩(decoding)하여 디코딩된 멀티미디어 데이터를 응용프로그램에서 실행하기 위해 후술되는 프로세스를 수행한다.
서버(3)의 가상화 주변장치 드라이버(32)는 사용자 레벨의 프로그래밍 환경에서 클라이언트(1)로부터 전송된 데이터를 다른 데이터와 구분하기 위하여 소스 필터링 과정을 수행한다. 예를 들어, 서버(3)의 운영체제가 윈도우즈(windows)인 경우, DirectX 소스 필터링 과정을 수행한다. 즉, 서버(3)에 설치된 가상화 주변장치 드라이버(32)는 클라이언트(1)로부터 전송되는 패킷을 다른 데이터와 구분하기 위한 전용 필터를 생성하고, 생성된 전용 필터를 이용하여 멀티미디어 데이터를 필터링한다. 이후, 가상화 주변장치 드라이버(32)는 포맷 변환을 수행하여, 필터링된 멀티미디어 데이터의 포맷 정보를 획득한다. 가상화 주변장치 드라이버(32)는 획득한 데이터 포맷 정보 값 또는 초기화 값을 통해 렌더링을 수행하기 위한 준비 과정을 거치게 된다. 이후 가상화 주변장치 드라이버(32)는 클라이언트(1)에서 전송된 압축 형태의 멀티미디어 데이터를 복원하기 위한 디코딩 과정을 수행한다.
도 4는 본 발명의 일 실시 예에 따른 가상화 처리 프로세스를 도시한 흐름도이다.
도 1과 도 4를 참조하면, 클라이언트(1)는 USB 인터페이스 등을 통해 로컬 주변장치, 예를 들어 웹캠을 인식한다(4000). 로컬 주변장치 인식 단계(4000)에서, 클라이언트(1)의 USB 드라이버가 해당 로컬 주변장치를 인식하면, 사용자 레벨에서 해당 로컬 주변장치가 인식되게 된다. 이어서, 서버(3)가 로컬 주변장치(2)를 가상화하기 위해서 클라이언트(1)는 서버(3)와 세션 연결된다(4010).
이어서, 클라이언트(1)는 서버(3)에서 실행되는 응용 프로그램, 예를 들어 화상회의 프로그램과 기능 협상(Capability Negotiation)을 수행(4020)하여, 멀티미디어 출력정보, 예를 들어 해상도 및 초당 프레임수(Frame Per Second: FPS)를 정의한다. 기능 협상(4020)을 통해 클라이언트(1)는 서버(3)와 용이하게 통신할 수 있다.
이어서, 클라이언트(1)는 서버(3)와 협상된 출력정보에 따라 로컬 주변장치(2)의 멀티미디어 데이터를 캡쳐(4030)하고, 캡쳐된 멀티미디어 데이터를 압축 인코딩한다(4040). 예를 들어 클라이언트(1)의 커널에 이미 jpeg 라이브러리가 설치된 경우 캡쳐된 데이터를 jpeg 포맷으로 인코딩한다. 전술한 데이터 압축을 통해 전송 효율을 높이고, 데이터 전송 지연 시간을 절감할 수 있다.
이어서, 클라이언트(1)는 압축된 멀티미디어 데이터를 서버(3)에 전송한다(4050). 이때, 클라이언트는 TCP/IP를 이용하거나, RDP의 가상 채널을 이용하여 서버(3)에 전송할 수 있다.
서버(3)는 클라이언트(1)로부터 멀티미디어 데이터를 수신하면, 이를 다시 원래의 데이터로 복원하기 위해 디코딩을 수행한다(4060). 예를 들어, 클라이언트(1)가 jpeg 인코딩을 수행했다면 jpeg 디코딩 과정을 수행한다.
이어서, 서버(3)는 디코딩된 데이터를 서버(3)에 설치된 가상화 주변장치 드라이버를 통해 비트맵 데이터로 필터링(4070)한 후, 필터링된 멀티미디어 데이터를 서버(3)에 설치된 응용프로그램, 예를 들어 화상회의 프로그램에서 실행한다(4080). 이어서, 서버(3)는 응용프로그램 실행결과 화면을 RDP 등을 통해 클라이언트(1)에 전송한다(4090).
전술한 프로세스는 실제 저가의 클라이언트(1)를 통해 고 효율 성능을 제공하는 서비스를 제공하기 위한 것이다. 전술한 프로세스에 따르면, 클라우드 환경에서 오디오 또는 비디오 데이터를 서버(3)에서 커널 레벨의 USB 드라이버를 에뮬레이션하지 않더라도 세션 별로 구분하여 처리할 수 있다. 전술한 원격 오디오, 비디오 데이터의 처리 방법을 통해 노래방, 화상회의 서비스와 같은 멀티미디어 응용 프로그램을 서버(3)에서 실행하게 함으로써 클라이언트(1)에 대한 하드웨어 자원이나 컴퓨팅 파워 등을 효율적으로 운용할 수 있다.
이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
1 : 씬 클라이언트 단말 2 : 로컬 주변장치
3 : 가상화 서버 5 : 네트워크
11 : 데이터 처리부 110 : 데이터 캡쳐부
112 : 데이터 압축부 114 : 데이터 전송부
30 : 터미널 서버 32 : 가상화 주변장치 드라이버

Claims (17)

  1. 로컬 주변장치와 연결되어 상기 로컬 주변장치로부터 멀티미디어 데이터를 입력받는 씬 클라이언트 단말; 및
    상기 씬 클라이언트 단말과 네트워크 상으로 연결되어 상기 씬 클라이언트 단말로부터 멀티미디어 데이터를 수신하여 이를 응용프로그램에서 실행하고 실행결과 화면을 상기 씬 클라이언트 단말에 전달하는 가상화 서버;
    를 포함하는 것을 특징으로 하는 가상화 시스템.
  2. 제 1 항에 있어서,
    상기 로컬 주변장치는 유에스비 인터페이스를 통해 상기 클라이언트 단말과 연결되는 유에스비 외부 입력장치인 것을 특징으로 하는 가상화 시스템.
  3. 제 2 항에 있어서,
    상기 로컬 주변장치는 프린터, 유에스비 키, 디지털 카메라, 디브이디 플레이어, 웹캠 중 어느 하나인 것을 특징으로 하는 가상화 시스템.
  4. 제 1 항에 있어서,
    상기 씬 클라이언트 단말은 셋톱박스인 것을 특징으로 하는 가상화 시스템.
  5. 제 1 항에 있어서, 상기 씬 클라이언트 단말은,
    상기 가상화 서버에 전송할 멀티미디어 데이터를 캡쳐하는 데이터 캡쳐부;
    상기 데이터 캡쳐부에서 캡쳐된 멀티미디어 데이터를 압축하는 데이터 압축부; 및
    상기 데이터 압축부에서 압축된 멀티미디어 데이터를 상기 가상화 서버에 전송하는 데이터 전송부;
    를 포함하는 것을 특징으로 하는 가상화 시스템.
  6. 제 5 항에 있어서,
    상기 데이터 캡쳐부와 상기 데이터 압축부 및 상기 데이터 전송부는 사용자 레벨에서 형성되는 것을 특징으로 하는 가상화 시스템.
  7. 제 5 항에 있어서, 상기 데이터 캡쳐부는
    상기 가상화 서버에서 멀티미디어 데이터를 실행하는 응용 프로그램과의 기능 협상 결과에 따라 협상된 출력정보를 이용하여 멀티미디어 데이터를 캡쳐하는 것을 특징으로 하는 가상화 시스템.
  8. 제 1 항에 있어서, 상기 가상화 서버는,
    사용자 레벨에서 상기 로컬 주변장치를 가상화하기 위한 가상화 주변장치 드라이버를 생성하고 상기 생성된 가상화 주변장치 드라이버를 이용하여 응용프로그램에서 멀티미디어 데이터를 실행하는 것을 특징으로 하는 가상화 시스템.
  9. 제 1 항에 있어서, 상기 가상화 서버는,
    사용자 세션 별로 멀티미디어 데이터를 분리하여 분리된 멀티미디어 데이터를 해당 세션의 응용프로그램에서 실행함에 따라, 다른 세션을 통해 접속한 다른 씬 클라이언트 단말의 접근을 차단하는 것을 특징으로 하는 가상화 시스템.
  10. 제 1 항에 있어서, 상기 가상화 서버는,
    상기 씬 클라이언트 단말로부터 수신된 멀티미디어 데이터를 디코딩하는 데이터 디코딩부;
    상기 로컬 주변장치를 가상화하기 위한 가상화 주변장치 드라이버를 생성하고 상기 생성된 가상화 주변장치 드라이버를 통해 상기 디코딩부에서 디코딩된 멀티미디어 데이터를 필터링하는 데이터 필터링부;
    상기 필터링부를 통해 필터링된 멀티미디어 데이터를 상기 가상화 서버의 응용프로그램에서 실행하는 응용프로그램 실행부; 및
    상기 응용프로그램 실행부를 통한 실행결과 화면을 상기 씬 클라이언트 단말에 전송하는 송수신부;
    를 포함하는 것을 특징으로 하는 가상화 시스템.
  11. 가상화 서버가 로컬 주변장치를 가상화하여 가상화 서비스를 제공하는 방법에 있어서,
    상기 로컬 주변장치에서 씬 클라이언트 단말로 입력되는 멀티미디어 데이터를 상기 씬 클라이언트 단말로부터 수신하는 단계;
    상기 수신된 멀티미디어 데이터를 응용프로그램에서 실행하는 단계; 및
    실행결과 화면을 상기 씬 클라이언트 단말에 전달하는 단계;
    를 포함하는 것을 특징으로 하는 가상화 서비스 제공방법.
  12. 제 11 항에 있어서, 상기 응용프로그램에서 실행하는 단계는,
    사용자 레벨에서 상기 로컬 주변장치를 가상화하기 위한 가상화 주변장치 드라이버를 생성하고 상기 생성된 가상화 주변장치 드라이버를 통해 응용프로그램에서 멀티미디어 데이터를 실행하는 것을 특징으로 하는 가상화 서비스 제공방법.
  13. 제 11 항에 있어서, 상기 응용프로그램에서 실행하는 단계는,
    사용자 세션 별로 멀티미디어 데이터를 분리하여 분리된 멀티미디어 데이터를 해당 세션의 응용프로그램에서 실행함에 따라, 다른 세션을 통해 접속한 다른 씬 클라이언트 단말의 접근을 차단하는 것을 특징으로 하는 가상화 서비스 제공방법.
  14. 제 11 항에 있어서, 상기 응용프로그램에서 실행하는 단계는,
    상기 수신된 멀티미디어 데이터를 디코딩하는 단계;
    상기 디코딩된 멀티미디어 데이터를 가상화 주변장치 드라이버를 통해 필터링하는 단계; 및
    상기 필터링된 멀티미디어 데이터를 응용 프로그램에서 실행하는 단계;
    를 포함하는 것을 특징으로 하는 가상화 서비스 제공방법.
  15. 씬 클라이언트 단말이 가상화 서버로부터 가상화 서비스를 수신하는 방법에 있어서,
    로컬 주변장치와 연결되어 상기 로컬 주변장치로부터 멀티미디어 데이터를 입력받아 이를 캡쳐하는 단계;
    상기 캡쳐된 멀티미디어 데이터를 압축하여 압축된 멀티미디어 데이터를 상기 가상화 서버에 전송하는 단계; 및
    상기 가상화 서버로부터 멀티미디어 데이터 실행결과 화면을 수신하는 단계;
    를 포함하는 것을 특징으로 하는 가상화 서비스 수신방법.
  16. 제 15 항에 있어서,
    상기 캡쳐하는 단계와 상기 전송하는 단계는 사용자 레벨에서 수행되는 것을 특징으로 하는 가상화 서비스 수신방법.
  17. 제 16 항에 있어서, 상기 캡쳐하는 단계는
    상기 가상화 서버에서 멀티미디어 데이터를 실행하는 응용 프로그램과의 기능 협상 결과에 따라 협상된 출력정보를 이용하여 멀티미디어 데이터를 캡쳐하는 것을 특징으로 하는 가상화 서비스 수신방법.
KR1020120102302A 2012-09-14 2012-09-14 가상화 시스템 및 가상화 서비스 제공방법 KR101720654B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120102302A KR101720654B1 (ko) 2012-09-14 2012-09-14 가상화 시스템 및 가상화 서비스 제공방법
US13/947,838 US20140082052A1 (en) 2012-09-14 2013-07-22 Data redirection system and method for providing data redirection service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120102302A KR101720654B1 (ko) 2012-09-14 2012-09-14 가상화 시스템 및 가상화 서비스 제공방법

Publications (2)

Publication Number Publication Date
KR20140035707A true KR20140035707A (ko) 2014-03-24
KR101720654B1 KR101720654B1 (ko) 2017-03-28

Family

ID=50275586

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120102302A KR101720654B1 (ko) 2012-09-14 2012-09-14 가상화 시스템 및 가상화 서비스 제공방법

Country Status (2)

Country Link
US (1) US20140082052A1 (ko)
KR (1) KR101720654B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140317418A1 (en) * 2013-04-23 2014-10-23 Hon Hai Precision Industry Co., Ltd. Server, client device, and usb redirection method
WO2016017953A1 (ko) * 2014-07-30 2016-02-04 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 스틸 이미지 기반 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
WO2016052845A1 (ko) * 2014-10-02 2016-04-07 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 최적 gpu를 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR101674616B1 (ko) * 2016-03-21 2016-11-09 (주)한위드정보기술 가상화 기반 원격 화상 회의 제공 시스템
US10462200B2 (en) 2014-07-30 2019-10-29 Sk Planet Co., Ltd. System for cloud streaming service, method for still image-based cloud streaming service and apparatus therefor
KR20200105177A (ko) * 2019-02-28 2020-09-07 에스케이브로드밴드주식회사 씬 클라이언트를 이용한 가상 데스크탑과 iptv 서비스 및 그 데이터 처리 방법
KR102391898B1 (ko) * 2020-11-24 2022-04-27 곽태진 영상 데이터 전송을 위한 원격 접속 시스템 및 이의 실행 방법

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9979798B2 (en) * 2014-01-02 2018-05-22 American Megatrends, Inc. Thin/zero client provisioning and management using centralized management software
CN104202615A (zh) * 2014-09-25 2014-12-10 湖北第二师范学院 一种基于云计算的视频重定向方法
KR102254786B1 (ko) * 2014-11-19 2021-05-25 주식회사 알티캐스트 클라우드 기반 유저 인터페이스 제공 시스템 및 그 방법
US20160364553A1 (en) * 2015-06-09 2016-12-15 Intel Corporation System, Apparatus And Method For Providing Protected Content In An Internet Of Things (IOT) Network
US9813504B2 (en) 2015-08-03 2017-11-07 Citrix Systems, Inc. Virtualizing device management services on a multi-session platform
US10044788B2 (en) * 2015-11-17 2018-08-07 Wyse Technology L.L.C. Native client multimedia redirection
US10721310B2 (en) * 2016-07-27 2020-07-21 Amzetta Technologies, Llc Device redirection support at thin client
CN109246435B (zh) * 2017-07-10 2022-03-15 中兴通讯股份有限公司 Usb设备重定向数据传输方法及装置、本地装置和远程服务器
AU2018217241B2 (en) 2017-08-14 2023-03-09 Honeywell International Inc. Computer systems, computer implemented methods and computer executable code configured to provide secure PC solutions based on a virtual desktop infrastructure (VDI), including IPTV via VDI
CN107426114B (zh) * 2017-08-28 2021-02-12 西安万像电子科技有限公司 资源分配方法及系统
CN112506818B (zh) * 2020-12-08 2022-05-31 中国电子科技集团公司第三十研究所 一种基于软件模拟的usb硬件虚拟化方法
CN112905289A (zh) * 2021-03-10 2021-06-04 Oppo广东移动通信有限公司 应用画面的显示方法、装置、终端、投屏系统及介质
CN114390313B (zh) * 2021-12-01 2024-02-13 湖南麒麟信安科技股份有限公司 一种浏览器HTML5 Video标签音视频重定向的方法及系统
CN114491474B (zh) * 2022-02-15 2022-10-11 北京时代正邦科技股份有限公司 一种终端与网银U-key的安全交互方法及装置
CN117555829B (zh) * 2024-01-12 2024-03-22 中诚华隆计算机技术有限公司 一种实现usb设备网络共享的usb重定向系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030012064A (ko) * 2001-07-30 2003-02-12 와이더덴닷컴 주식회사 서버-씬 클라이언트 구성용 분산형 음성 인식 시스템
US20110138069A1 (en) * 2009-12-08 2011-06-09 Georgy Momchilov Systems and methods for a client-side remote presentation of a multimedia stream
US20110138013A1 (en) * 2005-01-14 2011-06-09 Microsoft Corporation Usb devices in application server environments
EP2498445A1 (en) * 2011-03-07 2012-09-12 Comcast Cable Communications, LLC Network congestion analysis

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7987491B2 (en) * 2002-05-10 2011-07-26 Richard Reisman Method and apparatus for browsing using alternative linkbases
US8260985B2 (en) * 2007-10-05 2012-09-04 Pano Logic, Inc. Universal serial bus assistance engine
US20100246669A1 (en) * 2009-03-25 2010-09-30 Syclipse Technologies, Inc. System and method for bandwidth optimization in data transmission using a surveillance device
US9241062B2 (en) * 2009-05-20 2016-01-19 Citrix Systems, Inc. Methods and systems for using external display devices with a mobile computing device
US8171154B2 (en) * 2009-09-29 2012-05-01 Net Power And Light, Inc. Method and system for low-latency transfer protocol
KR20110040604A (ko) * 2009-10-14 2011-04-20 삼성전자주식회사 클라우드 서버, 클라이언트 단말, 디바이스, 클라우드 서버의 동작 방법 및 클라이언트 단말의 동작 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030012064A (ko) * 2001-07-30 2003-02-12 와이더덴닷컴 주식회사 서버-씬 클라이언트 구성용 분산형 음성 인식 시스템
US20110138013A1 (en) * 2005-01-14 2011-06-09 Microsoft Corporation Usb devices in application server environments
US20110138069A1 (en) * 2009-12-08 2011-06-09 Georgy Momchilov Systems and methods for a client-side remote presentation of a multimedia stream
EP2498445A1 (en) * 2011-03-07 2012-09-12 Comcast Cable Communications, LLC Network congestion analysis

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140317418A1 (en) * 2013-04-23 2014-10-23 Hon Hai Precision Industry Co., Ltd. Server, client device, and usb redirection method
WO2016017953A1 (ko) * 2014-07-30 2016-02-04 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 스틸 이미지 기반 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
US10462200B2 (en) 2014-07-30 2019-10-29 Sk Planet Co., Ltd. System for cloud streaming service, method for still image-based cloud streaming service and apparatus therefor
WO2016052845A1 (ko) * 2014-10-02 2016-04-07 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 최적 gpu를 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
US10601891B2 (en) 2014-10-02 2020-03-24 Sk Planet Co., Ltd. Cloud streaming service system and cloud streaming service method for utilizing an optimal GPU for video decoding based on resource conditions, and apparatus for the same
KR101674616B1 (ko) * 2016-03-21 2016-11-09 (주)한위드정보기술 가상화 기반 원격 화상 회의 제공 시스템
KR20200105177A (ko) * 2019-02-28 2020-09-07 에스케이브로드밴드주식회사 씬 클라이언트를 이용한 가상 데스크탑과 iptv 서비스 및 그 데이터 처리 방법
KR102391898B1 (ko) * 2020-11-24 2022-04-27 곽태진 영상 데이터 전송을 위한 원격 접속 시스템 및 이의 실행 방법

Also Published As

Publication number Publication date
US20140082052A1 (en) 2014-03-20
KR101720654B1 (ko) 2017-03-28

Similar Documents

Publication Publication Date Title
KR101720654B1 (ko) 가상화 시스템 및 가상화 서비스 제공방법
EP3046331B1 (en) Media control method and system based on cloud desktop
US9264478B2 (en) Home cloud with virtualized input and output roaming over network
KR101443070B1 (ko) 짧은 대기 시간의 전송 프로토콜을 위한 방법 및 시스템
KR101773638B1 (ko) 라이트웨이트 클라이언트를 이용해서 네트워크를 거쳐 가상화 컴퓨팅 서비스와 인터페이스하기 위한 방법
WO2017124860A1 (zh) 分布式无线多屏虚拟机服务系统
CN108449633B (zh) 基于nfv的机顶盒云化系统及业务实现方法
EP3261351A1 (en) Multimedia redirection method, device and system
US11089349B2 (en) Apparatus and method for playing back and seeking media in web browser
CN103139609B (zh) 对远程应用视频播放进行优化的方法和装置
KR101931514B1 (ko) 웹 브라우저에서 미디어의 재생과 백업을 동시에 수행하는 장치 및 방법
US20140108940A1 (en) Method and system of remote communication over a network
CN110891084A (zh) 一种基于自主hvdp协议的瘦客户端远程桌面控制系统
CN104144349A (zh) 基于h264的spice视频编解码扩展方法及系统
CN105577819A (zh) 一种虚拟化桌面的分享系统、分享方法以及分享装置
WO2014121477A1 (zh) 一种视频重定向的方法、装置、系统及计算机可读介质
CN112473133A (zh) 一种云游戏响应的方法、系统、设备及可读存储介质
CN106210865A (zh) 一种基于远程桌面呈现协议的视频重定向方法及系统
US11089381B2 (en) Apparatus and method for simultaneous playback and backup of media in a web browser
CN114040017A (zh) 一种Android系统远程桌面服务端摄像头重定系统及方法
US20140327698A1 (en) System and method for hybrid graphics and text rendering and client computer and graphics processing unit incorporating the same
CN103209209B (zh) 基于Windows系统和网络传输的应用虚拟化实现方法及系统
CN113596181B (zh) 一种数据重定向方法、终端、服务器及存储介质
JP6216046B2 (ja) コーデックの自動適応化
KR102546633B1 (ko) 하드웨어 기반의 gpu를 이용한 가상 머신의 화면 전송 방법 및 이를 이용한 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant