WO2012124862A1 - System and method for virtualization service between heterogeneous server/client - Google Patents

System and method for virtualization service between heterogeneous server/client Download PDF

Info

Publication number
WO2012124862A1
WO2012124862A1 PCT/KR2011/004634 KR2011004634W WO2012124862A1 WO 2012124862 A1 WO2012124862 A1 WO 2012124862A1 KR 2011004634 W KR2011004634 W KR 2011004634W WO 2012124862 A1 WO2012124862 A1 WO 2012124862A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
client
client terminal
service providing
providing server
Prior art date
Application number
PCT/KR2011/004634
Other languages
French (fr)
Korean (ko)
Inventor
정민재
류승호
Original Assignee
Chung Minjae
Ryu Seoungho
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 Chung Minjae, Ryu Seoungho filed Critical Chung Minjae
Publication of WO2012124862A1 publication Critical patent/WO2012124862A1/en

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a heterogeneous server / client virtualization service system and method, and more particularly, to a client terminal for video, audio, and input / output data that is calculated in real time by a service providing server equipped with various contents and transmitted through a streaming method.
  • General-Purpose Computing on Graphics Processing Units (GPGPU) technology in conjunction with GPUs, encodes, decodes, and packetizes and executes the GPU, enabling client terminals to be used as devices that require minimal computing resources to use content.
  • GPGPU General-Purpose Computing on Graphics Processing Units
  • a conventional computing service environment may be broadly classified into a local service environment, a network service environment, and a real-time virtualization service environment between servers and clients.
  • programs such as programs already installed in the client terminal and contents such as files and media are provided without any network configuration through local resources.
  • programs such as programs already installed in the client terminal and contents such as files and media are provided without any network configuration through local resources.
  • a network service environment when all or part of programs and data are installed in a local client terminal, most of them provide services using local resources while exchanging data in asynchronous or synchronous manner.
  • the server / client virtualization service environment uses the resources of the server, transmits after loss compression and synchronization of the contents in the server, and performs the service through the resources of the client terminal.
  • the cloud and mobile computing service environment can be divided into two categories from the viewpoint of receiving the service.
  • cloud services can be basically classified into IaaS, PaaS, SaaS, etc., and those who receive these services will be able to select, build, develop, and deploy the most efficient, convenient, and cost-saving method.
  • services through this approach cannot provide unified support for various platforms, and must use separate methods for the development, distribution, and use of programs and content.
  • mobile services are similar to the above cloud services, and the development, distribution, and use of programs and contents are carried out in different ways, locally and over the network, without platform unification.
  • the client terminal in the conventional server / client virtualization service method, the client terminal must have its own computing environment equipped with a CPU and an OS, and an application that can receive and process data of the virtualization server must be additionally installed.
  • Decoding uses the SW method using only CPU resources, which not only slows down the processing of a large amount of data such as video in real time but also causes a load on CPU resources.
  • the conventional virtualization service method drops a frame or streams video and audio information in a proprietary format through lossy compression using only CPU resources to service a client terminal.
  • Relatively high, real-time compressed streaming of dynamic video such as videos or games is not smooth and excessive use of server / client resources is inefficient and high power consumption, especially due to the service provider's proprietary format.
  • the present invention has been made to solve the above problems, and the object thereof is not only a server / client CPU resource, but also a digital content service and an end point of all computing environments through video, audio, and input / output.
  • Heterogeneous server / client-to-client virtualization service system that requires minimal computing resources for client terminals to use content through high-efficiency parallel encoding / decoding and packet processing technology utilizing GPU's superior floating point arithmetic with GPGPU technology. To provide a way.
  • the client terminal for requesting content related to video and audio to the service providing server 300 through the Internet network 200
  • a service providing server 300 for providing contents related to video and audio requested from the client terminal 100, wherein the client terminal 100 is a CPU.
  • a GPU 160 for compressing content request data in connection with 170 or decompressing a content result transmitted from the service providing server 300, wherein the service providing server 300 is connected to the CPU 380.
  • the content transmitted from the client terminal 100 is decompressed or transmitted to the client terminal 100. It includes a GPU (360) to compress the output.
  • the client terminal 100 the interface unit 110 for exchanging information with the service providing server 300, the input unit 120 for retrieving content information and input a request signal, and the service provision And a display unit 130 for outputting an image of the content result provided from the server 300 and a voice output unit 140 for outputting the voice of the content result.
  • the GPU 160 of the client terminal 100 includes an encoding unit 161 for encoding content request data through the input unit 120 in association with a CPU 170, and the service providing server 300. It further comprises a decoding unit 163 for decoding the content transmitted from the).
  • the GPU 160 further includes a packet processor 165 for setting and releasing packets of content request data from the client terminal 100 and content output from the service providing server 300.
  • the service providing server 300 the interface unit 310 for exchanging information with the client terminal 100, and the service providing server in advance to update information related to the content according to the request of the client terminal 100 in advance.
  • the storage unit 340, and the content DB 350 for storing the content results provided by the request of the client terminal 100.
  • the GPU 360 of the service providing server 300 includes a decoding unit 362 for decoding the content request data transmitted from the client terminal 100, and a result of the content transmitted to the client terminal 100. And an encoding unit 364 for encoding a packet, and a packet processing unit 366 for releasing and setting a packet of input data requested from the client terminal 100 and a content result transmitted from the service providing server 300.
  • the service providing server 300 further includes a streaming processor 370 for streaming the content result encoded through the GPU 360 to be transmitted to the client terminal 100.
  • heterogeneous server / client-to-client virtualization service method for achieving the above object, (A) the client terminal 100 is provided from the service providing server 300 via the Internet network 200 Inputting request data for content to be received (S510); (B) compressing the content request data by the GPU (160) of the client terminal (100) in association with the CPU (170); (C) transmitting, by the client terminal (100), the content request data compressed through the step (B) to a service providing server (S516) (S516); (D) the service providing server 300 receives the content request data from the client terminal 100, and the GPU 360 of the service providing server 300 cooperates with the CPU 380 to compress the compressed content.
  • Decompressing request data (S520); (E) reading, by the CPU 380 of the service providing server 300, the content result according to the content request data decompressed through the step (D) (S522); (F) compressing the resultant content read through the step (E) by the GPU 360 of the service providing server 300 in cooperation with the CPU 380 (S524); (G) transmitting, by the service providing server (300), the result of the compressed content through the step (F) to the client terminal (S530); (H) The client terminal 100 receives the encoded content result from the service providing server 300, and the GPU 160 of the client terminal 100 cooperates with the CPU 170 to compress the compressed content. Decompressing the result (S534); And (I) the client terminal 100 outputting an image or an audio according to the decompressed content result through the step (H) (S536).
  • the GPU 160 of the client terminal 100 packetizes the compressed content request data through a packet processing unit 165 ( S514) is further included.
  • step (C1) GPU (360) of the service providing server 300 releases the packet setting of the content request data through the packet processor 366 (S518) is further included.
  • the streaming processing unit 370 of the service providing server 300 in the client terminal 100 in real time by streaming the result of the compressed content through the step (F) It is preferable to further include the step (S528) to enable the reproduction.
  • the GPU 160 of the client terminal 100 releases the packet setting of the compressed content result through the packet processor 165 ( S532) is further included.
  • the processing of all contents is performed by the service providing server, and the client terminal decodes the data transmitted from the service providing server through an input / output signal, thereby making video and audio. Since only the output is required, the service can be performed regardless of the platform with the minimum computing resources, thereby achieving miniaturization and lightening of the client terminal.
  • the service provider can integrate the platform providing the service regardless of the service method into the service providing server, and the data can be integrated and delivered through one service and program regardless of the device and OS.
  • maintenance costs and time can be significantly reduced, and all user actions take place on the server rather than on the client terminal, preventing intrusion and illegal downloads such as security or viruses.
  • the service user can receive the same service in any environment and can synchronize in real time without having to purchase various platforms, OSs and SWs in terms of computing resource and content consumption. .
  • in terms of program and content consumption it is possible to receive a higher level of service at a lower cost than before by reducing the processes and costs that are delivered through a change in distribution or usage.
  • FIG. 1 is a diagram schematically showing a heterogeneous server / client-to-client virtualization service system according to an aspect of the present invention.
  • FIG. 2 is a view showing in detail the configuration of FIG.
  • FIG. 3 is a flowchart illustrating a heterogeneous server / client virtualization service method according to another aspect of the present invention.
  • FIG. 1 is a diagram schematically illustrating a heterogeneous server / client virtualization service system according to an aspect of the present invention
  • FIG. 2 is a diagram illustrating the configuration of FIG. 1 in detail.
  • the server / client virtualization service system includes a client terminal 100, an internet network 200, and a service providing server 300.
  • the client terminal 100 is a smart phone, tablet, netbook, laptop, desktop computer, mobile terminal, MP3, game machine to search and request content related to video and audio to the service providing server 300 through the Internet network 200 ,
  • a terminal such as an IPTV and a PMP, etc., comprising an interface unit 110, an input unit 120, a display unit 130, a voice output unit 140, a storage unit 150, a GPU 160, and a CPU 170. do.
  • the interface unit 110 is a gateway for exchanging information by supporting a plurality of communication protocols required for data transmission and reception with the service providing server 300 through the Internet network 200.
  • the input unit 120 searches for video and audio related content information desired by a user of the client terminal 100 and requests the service providing server 300 such as a keyboard, a mouse, a touch pad, a joystick, a remote controller and a cam camera. Means.
  • the display 130 is a means such as a PDP, an LCD, a CRT, or the like for outputting content related to an image provided from the service providing server 300.
  • the voice output unit 140 is a means such as a speaker for outputting content related to voice provided from the service providing server 300.
  • the storage unit 150 stores an embedded OS for operating the client terminal 100 only as a player device.
  • the GPU (Graphics Processing Unit) 160 compresses the input data requested from the client terminal 100 or decompresses the data transmitted from the service providing server 300 in cooperation with the CPU 170 through GPGPU technology and performs packet processing.
  • a graphics processing unit for accelerating and processing image information through floating-point arithmetic operations comprising: an encoding unit 161 for encoding content request data through the input unit 120, and decoding contents transmitted from the service providing server 300.
  • a decoding unit 163 and a packet processing unit 165 for setting and releasing packets of input data requested from the client terminal 100 and contents from the service providing server 300 are included.
  • the central processing unit (CPU) 170 controls the interface unit 110, the input unit 120, the display unit 130, the audio output unit 140, the storage unit 150, and the GPU 160 to provide a service. It provides a video and audio of the content transmitted from the server 300.
  • the Internet network 200 is a wireless network such as a TCP / IP protocol that can be connected by wire through a variety of computing devices and a WAP protocol that can be wirelessly connected, and includes LAN, Wi-Fi, 3G / 4G, and Bluetooth. It is a relay network including.
  • the service providing server 300 may include a plurality of service providers such as a virtual desktop center, a web operating center, a broadcasting station center, and a game center that provide content related to video and audio requested from the client terminal 100 through the Internet network 200.
  • a personal computing device of an enterprise that can act as a physical or virtual cloud center or server, the interface unit 310, the input unit 320, the output unit 330, the storage unit 340, the content DB 350, The GPU 360, the streaming processor 370, and the CPU 380 are configured.
  • the interface unit 310 is a gateway for exchanging information by supporting a plurality of communication protocols required for data transmission and reception with the client terminal 100 through the Internet network 200.
  • the input unit 320 is a means for generating, in advance, update information related to video and audio content according to a request of the client terminal 100 in the service providing server 300.
  • the output unit 330 outputs an input screen and various display screens for inputting update information related to video and audio contents.
  • the storage unit 340 stores operation information such as a platform and an OS for operating a service providing server.
  • the content DB 350 is a database that stores video and audio related contents provided at the request of the client terminal 100, for example, Linux applications, window applications, video and audio contents, and game contents.
  • the GPU 360 decompresses the content request data transmitted from the client terminal 100 in cooperation with the CPU 380, or compresses the video and audio related content transmitted to the client terminal 100 and accelerates the packet processing.
  • Graphic processing means for processing information comprising: a decoding unit 362 for decoding content request data transmitted from the client terminal 100, an encoding unit 364 for encoding a content result transmitted to the client terminal 100; And a packet processor 366 for releasing and setting a packet of the input data requested from the client terminal 100 and the content transmitted from the service providing server 300.
  • the GPU 360 is used as a means for processing video information by decompressing or compressing video and audio-related content in conjunction with the CPU 380 and accelerating packet processing. If the same function as 360) can be replaced by a digital signal processor (DSP) or an encoding / decoding chipset.
  • DSP digital signal processor
  • the streaming processor 370 processes the real-time encoded video and audio content through the encoding unit 364 of the GPU 360 to be transmitted to the client terminal 100 in real time.
  • the CPU 370 controls the interface unit 310, the input unit 320, the output unit 330, the storage unit 340, the content DB 350, the GPU 360, and the streaming processor 370 to control the client terminal. Provide content requested from 100.
  • FIG. 3 is a flowchart illustrating a heterogeneous server / client virtualization service method according to another aspect of the present invention.
  • the client terminal 100 inputs request data for content to be provided from the service providing server 300 through the internet network 200 (S510).
  • the content may be a Linux application, a window application, video and audio content and game content provided from the service providing server 300, and the service method is video, audio and input / output data output from the service providing server. It is a method of streaming by encoding in real time, and also includes streaming content that is already stored according to the service method.
  • the stored video contents are files with extensions such as avi, mpeg, asf, wmv, mkv, dv, and mov
  • audio contents are wav, ape, flac, ra, mp3, wma, ogg, asf, mid, etc.
  • a file, an image, or a document file having the extension of may be used.
  • the GPU 160 of the client terminal 100 compresses and encodes the content request data of step S510 in cooperation with the CPU 170 (S512).
  • the GPU 160 packetizes the encoded content request data through the packet processor 165 (S514).
  • the client terminal 100 transmits the packetized content request data to the service providing server 300 through the interface unit 110 and the internet network 200 in step S514 (S516).
  • the service providing server 300 receives the content request data from the client terminal 100 through the interface unit 310, and in conjunction with the CPU 380 through the packet processor 366 of the GPU 360 The packet setting of the encoded content request data is released (S518).
  • the GPU 360 of the service providing server 300 decompresses and decodes the encoded content request data in association with the CPU 380 (S520).
  • the CPU 380 of the service providing server 300 reads content according to the content request data decoded through the step S520, for example, any one of a Linux application, a window application, video and audio content, and game content. (S522).
  • the GPU 360 of the service providing server 300 compresses and encodes the content result read through the step S522 in association with the CPU 380 (S524).
  • the GPU 360 of the service providing server 300 packetizes data of the content result encoded in step S524 through the packet processor 366 in cooperation with the CPU 380 (S526).
  • the streaming processing unit 370 of the service providing server 300 at the same time as the step S526 to stream the encoded video and audio-related content results in real time through the step S524 to be reproduced in real time on the client terminal 100 (S528).
  • the service providing server 300 transmits the encoded content result to the client terminal 100 through the interface unit 310 and the internet network 200 (S530).
  • the client terminal 100 receives the encoded content result from the service providing server 300 through the interface unit 110, and the packet of the encoded content result through the packet processor 165 of the GPU 160.
  • the setting is released (S532).
  • the GPU 160 of the client terminal 100 decompresses and decodes the encoded content result in cooperation with the CPU 170 (S534).
  • the client terminal 100 outputs the user's request image or audio corresponding to the content result decoded in step S534 through the display 130 and the voice output unit 140 (S536).
  • processing and output of all contents are performed in the service providing server, and the client terminal simply sees and listens to the contents output from the service providing server and performs only a minimum function of local or remote control of the client and server. And light weight is possible.

Abstract

The present invention relates to a system and a method for a virtualization service between a heterogeneous server/client, which can enhance efficiency, reduce power consumption and remarkably reduce maintenance costs of the server in comparison with an existing manner by encoding and packet-processing video data and voice data in real time through a high-efficient parallel processing manner of a GPU connected to a CPU in the service supply server including various contents, and transmitting the encoded and packet-processed data in a streaming manner. In addition, the data streamed through the server is decoded and executed by a GPU connected to a CPU of a client terminal so that the client terminal can be used as a device which requires only the minimum computing resources for using the contents, so as to minimize the initial construction costs of the client terminal, and to miniaturize, reduce power consumption and reduce the weight thereof.

Description

이기종 서버/클라이언트간 가상화 서비스 시스템 및 방법Heterogeneous server / client virtualization service system and method
본 발명은 이기종 서버/클라이언트간 가상화 서비스 시스템 및 방법에 관한 것으로, 더욱 상세하게는 각종 컨텐츠가 탑재된 서비스 제공 서버에서 실시간 연산되어 스트리밍 방식을 통해 전송되는 영상, 음성 및 입/출력 데이터를 클라이언트 단말기의 CPU뿐 아니라 GPGPU(General-Purpose computing on Graphics Processing Units) 기술을 통해 GPU와 연계하여 인코딩, 디코딩 및 패킷처리 하여 실행함으로써, 클라이언트 단말기가 컨텐츠를 사용하기 위한 최소한의 컴퓨팅 자원만을 요구하는 장치로 사용될 수 있게 하기 위한 이기종 서버/클라이언트간 가상화 서비스 시스템 및 방법에 관한 것이다.The present invention relates to a heterogeneous server / client virtualization service system and method, and more particularly, to a client terminal for video, audio, and input / output data that is calculated in real time by a service providing server equipped with various contents and transmitted through a streaming method. General-Purpose Computing on Graphics Processing Units (GPGPU) technology, in conjunction with GPUs, encodes, decodes, and packetizes and executes the GPU, enabling client terminals to be used as devices that require minimal computing resources to use content. A heterogeneous server / client virtualization service system and method for enabling the same.
최근, 정보통신 기술의 미래를 이끌 트렌드로서 클라우드 및 모바일 컴퓨팅 서비스 등이 큰 주목을 받고 있다.Recently, cloud and mobile computing services have attracted great attention as a trend that will lead the future of information and communication technology.
이러한 시점에서 각 IT 업체들은 위와 같은 트랜드에 맞추어 새로운 비즈니스 모델을 연구하여 발표하고 있으나, 모바일 분야에 비해 클라우드 컴퓨팅 분야에 있어서는 기존 환경에 큰 변화를 주지 못하고 있는 실정이다.At this point, each IT company is researching and releasing new business models according to the above trends, but the cloud computing field has not changed much in the existing environment compared to the mobile field.
예를 들어, 종래에 이용되고 있는 컴퓨팅 서비스 환경과, 클라우드 및 모바일 컴퓨팅 서비스 환경은 다음과 같다.For example, conventionally used computing service environments, cloud and mobile computing service environments are as follows.
먼저, 종래의 컴퓨팅 서비스 환경은 로컬 서비스 환경, 네트워크 서비스 환경 및 서버/클라이언트간 실시간 가상화 서비스 환경으로 크게 구분될 수 있다.First, a conventional computing service environment may be broadly classified into a local service environment, a network service environment, and a real-time virtualization service environment between servers and clients.
여기서, 로컬 서비스 환경의 경우에는 클라이언트 단말기에 이미 설치된 프로그램과, 파일 및 미디어와 같은 컨텐츠를 로컬 자원을 통해 아무런 네트워크 구성없이 제공한다. 또한, 네트워크 서비스 환경의 경우에는 전체 또는 일부의 프로그램 및 데이터가 로컬 클라이언트 단말기에 설치되면 비동기 또는 동기화 방식으로 데이터를 주고받으면서 대부분 로컬자원을 사용하여 서비스를 제공한다. 또한, 서버/클라이언트간 가상화 서비스 환경은 서버의 자원을 사용하며 서버에서의 컨텐츠를 손실 압축 및 동기화한 후 전송하고 클라이언트 단말기의 자원을 통해 서비스를 수행한다.Here, in the local service environment, programs such as programs already installed in the client terminal and contents such as files and media are provided without any network configuration through local resources. In addition, in the case of a network service environment, when all or part of programs and data are installed in a local client terminal, most of them provide services using local resources while exchanging data in asynchronous or synchronous manner. In addition, the server / client virtualization service environment uses the resources of the server, transmits after loss compression and synchronization of the contents in the server, and performs the service through the resources of the client terminal.
다음으로, 클라우드 및 모바일 컴퓨팅 서비스 환경은 해당 서비스를 제공받는 입장에서 크게 두 가지로 구분될 수 있다.Next, the cloud and mobile computing service environment can be divided into two categories from the viewpoint of receiving the service.
즉, 정부 및 기업과 같은 조직이 기반이 되는 법인체와 개인체의 구분이다. 최근 국내/외 정부 및 기업에서는 클라우드와 모바일 기반 스마트워크 및 각종 서비스의 필요성을 수동적인 입장이 아닌 적극적인 형태로 발전 및 수용하려 하고 있다. 이러한 움직임은 대내적으로는 서버기반 가상 데스크탑 서비스 및 모바일 오피스 등의 형태로 나타나고 있으며, 대외적으로는 모바일 금융, 게임, 쇼핑, 컨텐츠, 광고 등을 통해 새로운 채널을 개척하고 있다. 또한, 개인을 대상으로 한 부분에는 외부 저장장치, 백업 서비스 등이 대표적이며 개별적으로 프로그램을 모바일 또는 데스크탑에 다운을 받고 설치한 후 독자적으로 또는 서버와의 네트워크 연결을 통해 금융, 게임, 쇼핑, 컨텐츠, 광고 등의 서비스를 제공받고 있다.In other words, it is the distinction between corporations and individuals on which organizations such as government and corporations are based. Recently, domestic and foreign governments and companies are trying to develop and accept the need for cloud and mobile based smart work and various services in an active form rather than a passive position. Such movements are manifested internally in the form of server-based virtual desktop services and mobile offices, and are pioneering new channels through mobile finance, games, shopping, content, and advertisements. In addition, for the personal use, external storage devices, backup services, etc. are typical, and programs can be downloaded and installed individually on a mobile or desktop, and then financed, games, shopping, and contents can be independently or through a network connection with a server. , Advertising and other services are provided.
여기서, 클라우드 서비스는 기본적으로 IaaS, PaaS, SaaS 등으로 구분할 수 있으며, 이러한 서비스를 제공받는 입장에서는 가장 효율적이고 편리하며 비용이 절감되는 방식을 선택하여 구축, 개발 및 배포할 수 있을 것이다. 그러나 이러한 접근을 통한 서비스는 다양한 플랫폼 지원을 단일화하여 제공할 수 없으며, 프로그램 및 컨텐츠의 개발, 배포 및 사용에 있어서 별개의 방식을 사용해야 한다. 또한 모바일 서비스도 위의 클라우드 서비스와 비슷한 상황이며 플랫폼별 단일화가 되어 있지 않은 상태에서 다른 방법으로 로컬 및 네트워크를 통해 프로그램 및 컨텐츠의 개발, 배포 및 사용이 이루어지고 있다.Here, cloud services can be basically classified into IaaS, PaaS, SaaS, etc., and those who receive these services will be able to select, build, develop, and deploy the most efficient, convenient, and cost-saving method. However, services through this approach cannot provide unified support for various platforms, and must use separate methods for the development, distribution, and use of programs and content. In addition, mobile services are similar to the above cloud services, and the development, distribution, and use of programs and contents are carried out in different ways, locally and over the network, without platform unification.
결국, 이러한 시스템 아키텍처, 인프라 및 플랫폼 구성은 서비스를 공급하거나 제공받는 입장 그 어느 쪽도 단일화를 해줄 수 없는 상황을 초래하고 있으며, 별개의 플랫폼 및 각 클라이언트 단말기에서의 개별적인 프로그램 설치를 통해 서비스를 공급하는 경우에는 단일화 및 프로그램의 재활용이 쉽지 않은 상태에서 별도의 개발, 패치, 배포 및 유통을 위한 비용이 중복으로 발생된다. 또한, 소비자 측면에서도 동일한 기능의 프로그램이나 컨텐츠를 각 플랫폼별로 개별 구매, 관리 및 사용을 해야 되며 각 단말기간에 동기화가 불가능하다.As a result, these system architectures, infrastructures, and platform configurations result in a situation in which neither a service provider nor a service provider can be unified, and services are provided through separate program and individual program installation on each client terminal. In this case, the costs of separate development, patching, distribution, and distribution are incurred, while unification and program recycling are not easy. In addition, the consumer side must purchase, manage and use the same program or content for each platform individually, and it is impossible to synchronize between terminals.
즉, 종래의 서버/클라이언트간 가상화 서비스 방식은 클라이언트 단말기에 CPU 및 OS가 탑재된 독자적인 컴퓨팅 환경이 반드시 구비되어야 하고, 가상화 서버의 데이터를 받아서 처리할 수 있는 어플리케이션이 추가로 설치되어야만 하며, 인코딩/디코딩시 CPU 자원만을 통한 SW 방식을 사용하므로 동영상과 같은 대량의 데이터를 실시간으로 처리하는데 속도가 늦을 뿐만 아니라 CPU 자원에 부하를 주는 문제점이 있다.That is, in the conventional server / client virtualization service method, the client terminal must have its own computing environment equipped with a CPU and an OS, and an application that can receive and process data of the virtualization server must be additionally installed. Decoding uses the SW method using only CPU resources, which not only slows down the processing of a large amount of data such as video in real time but also causes a load on CPU resources.
부언하면, 종래의 가상화 서비스 방식은 프레임을 떨어뜨리거나, 영상 및 음성 정보를 CPU 자원만을 사용한 손실 압축을 통해 독자적인 포맷으로 스트리밍하여 클라이언트 단말기에 서비스하게 되는데, 이러한 방식으로 서비스할 경우 CPU의 부하가 상대적으로 높으며 동영상이나 게임과 같은 다이나믹한 영상의 실시간 압축 스트리밍이 원활하지 않게 되고 서버/클라이언트의 자원을 과도하게 사용하게 되어 비효율적이고 전력소모가 크며, 특히 제공업체가 독자적인 포맷 방식으로 서비스함으로 인해 특정된 SW만을 사용해야 하기 때문에 서버와 클라이언트의 플랫폼에 제약이 발생하게 되는 문제점이 있다.In other words, the conventional virtualization service method drops a frame or streams video and audio information in a proprietary format through lossy compression using only CPU resources to service a client terminal. Relatively high, real-time compressed streaming of dynamic video such as videos or games is not smooth and excessive use of server / client resources is inefficient and high power consumption, especially due to the service provider's proprietary format. There is a problem in that the platform of the server and the client is limited because only SW is used.
따라서, 공급자와 소비자 모두 프로그램 및 컨텐츠를 공급 및 소비하기 위한 전 영역에 걸쳐서 나타나는 종래의 문제점을 해결하고, 운영 효율화와 중복비용 제거 등을 통한 비용절감과 플랫폼에 구애받지 않는 유연성의 확보가 필요하고, 이러한 시스템 아키텍처의 구성이 필수적으로 요구되고 있다.Therefore, both suppliers and consumers need to solve the conventional problems in all areas of supplying and consuming programs and contents, and to reduce costs and secure platform-independent flexibility through operational efficiency and elimination of redundant costs. Therefore, the configuration of such a system architecture is required.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 그 목적은 디지털 컨텐츠의 서비스와 모든 컴퓨팅 환경의 엔드 포인트가 영상, 음성 및 입/출력을 통해 이루어짐을 감안하여, 서버/클라이언트의 CPU 자원뿐 아니라 GPGPU 기술로 GPU의 월등한 부동소수점 연산능력을 활용한 고효율 병렬 인코딩/디코딩 및 패킷 처리 기술을 통하여, 클라이언트 단말기가 컨텐츠를 사용하기 위한 최소한의 컴퓨팅 자원만을 요구하는 이기종 서버/클라이언트간 가상화 서비스 시스템 및 방법을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and the object thereof is not only a server / client CPU resource, but also a digital content service and an end point of all computing environments through video, audio, and input / output. Heterogeneous server / client-to-client virtualization service system that requires minimal computing resources for client terminals to use content through high-efficiency parallel encoding / decoding and packet processing technology utilizing GPU's superior floating point arithmetic with GPGPU technology. To provide a way.
상기의 목적을 달성하기 위한 본 발명의 일측면에 따른 이기종 서버/클라이언트간 가상화 서비스 시스템은, 인터넷망(200)을 통해 서비스 제공 서버(300)에 영상 및 음성과 관련된 컨텐츠를 요청하는 클라이언트 단말기(100)와, 상기 클라이언트 단말기(100)로부터 요청된 영상 및 음성과 관련된 컨텐츠를 제공하는 서비스 제공 서버(300)를 포함하여 이루어지는 이기종 서버/클라이언트간 가상화 서비스 시스템으로서, 상기 클라이언트 단말기(100)는 CPU(170)와 연계하여 컨텐츠 요청 데이터를 압축하거나 서비스 제공 서버(300)로부터 전송되는 컨텐츠 결과물을 압축 해제하는 GPU(160)를 포함하고, 상기 서비스 제공 서버(300)는 CPU(380)와 연계하여 클라이언트 단말기(100)로부터 전송된 컨텐츠 요청 데이터를 압축해제하거나 클라이언트 단말기(100)로 전송되는 컨텐츠 결과물을 압축하는 GPU(360)를 포함한다.Heterogeneous server / client-to-client virtualization service system according to an aspect of the present invention for achieving the above object, the client terminal for requesting content related to video and audio to the service providing server 300 through the Internet network 200 ( And a service providing server 300 for providing contents related to video and audio requested from the client terminal 100, wherein the client terminal 100 is a CPU. And a GPU 160 for compressing content request data in connection with 170 or decompressing a content result transmitted from the service providing server 300, wherein the service providing server 300 is connected to the CPU 380. The content transmitted from the client terminal 100 is decompressed or transmitted to the client terminal 100. It includes a GPU (360) to compress the output.
바람직하게, 상기 클라이언트 단말기(100)는, 상기 서비스 제공 서버(300)와 정보를 교환하기 위한 인터페이스부(110)와, 컨텐츠 정보를 검색하여 요청 신호를 입력하는 입력부(120)와, 상기 서비스 제공 서버(300)로부터 제공되는 컨텐츠 결과물의 영상을 출력하는 디스플레이부(130)와, 상기 컨텐츠 결과물의 음성을 출력하는 음성출력부(140)를 포함한다.Preferably, the client terminal 100, the interface unit 110 for exchanging information with the service providing server 300, the input unit 120 for retrieving content information and input a request signal, and the service provision And a display unit 130 for outputting an image of the content result provided from the server 300 and a voice output unit 140 for outputting the voice of the content result.
더 바람직하게, 상기 클라이언트 단말기(100)의 GPU(160)는, CPU(170)와 연계하여 상기 입력부(120)를 통한 컨텐츠 요청 데이터를 인코딩하는 인코딩부(161)와, 상기 서비스 제공 서버(300)로부터 전송되는 컨텐츠를 디코딩하는 디코딩부(163)를 더 포함한다.More preferably, the GPU 160 of the client terminal 100 includes an encoding unit 161 for encoding content request data through the input unit 120 in association with a CPU 170, and the service providing server 300. It further comprises a decoding unit 163 for decoding the content transmitted from the).
더 바람직하게, 상기 GPU(160)는, 상기 클라이언트 단말기(100)로부터의 컨텐츠 요청 데이터 및 서비스 제공 서버(300)로부터의 컨텐츠 결과물을 패킷 설정 및 해제하는 패킷 처리부(165)를 더 포함한다.More preferably, the GPU 160 further includes a packet processor 165 for setting and releasing packets of content request data from the client terminal 100 and content output from the service providing server 300.
또한, 상기 서비스 제공 서버(300)는, 상기 클라이언트 단말기(100)와 정보를 교환하기 위한 인터페이스부(310)와, 상기 클라이언트 단말기(100)의 요청에 따른 컨텐츠와 관련된 업데이트 정보를 미리 서비스 제공 서버(300)에 생성하기 위한 입력부(320)와, 상기 컨텐츠와 관련된 업데이트 정보를 입력할 수 있는 화면을 출력하는 출력부(330)와, 상기 서비스 제공 서버(300)를 운영하기 위한 운영 정보를 저장하는 저장부(340)와, 상기 클라이언트 단말기(100)의 요청에 따라 제공되는 컨텐츠 결과물들을 저장하고 있는 컨텐츠 DB(350)를 포함한다.In addition, the service providing server 300, the interface unit 310 for exchanging information with the client terminal 100, and the service providing server in advance to update information related to the content according to the request of the client terminal 100 in advance. An input unit 320 for generating the 300, an output unit 330 for outputting a screen for inputting update information related to the contents, and operation information for operating the service providing server 300; The storage unit 340, and the content DB 350 for storing the content results provided by the request of the client terminal 100.
바람직하게, 상기 서비스 제공 서버(300)의 GPU(360)는, 상기 클라이언트 단말기(100)로부터 전송된 컨텐츠 요청 데이터를 디코딩하는 디코딩부(362)와, 상기 클라이언트 단말기(100)로 전송되는 컨텐츠 결과물을 인코딩하는 인코딩부(364)와, 상기 클라이언트 단말기(100)로부터 요청된 입력 데이터 및 서비스 제공 서버(300)로부터 전송되는 컨텐츠 결과물을 패킷 해제 및 설정하는 패킷 처리부(366)를 포함한다.Preferably, the GPU 360 of the service providing server 300 includes a decoding unit 362 for decoding the content request data transmitted from the client terminal 100, and a result of the content transmitted to the client terminal 100. And an encoding unit 364 for encoding a packet, and a packet processing unit 366 for releasing and setting a packet of input data requested from the client terminal 100 and a content result transmitted from the service providing server 300.
더 바람직하게, 상기 서비스 제공 서버(300)는, 상기 GPU(360)를 통해 인코딩된 컨텐츠 결과물을 스트리밍 처리하여 클라이언트 단말기(100)로 전송되게 하는 스트리밍 처리부(370)를 더 포함한다.More preferably, the service providing server 300 further includes a streaming processor 370 for streaming the content result encoded through the GPU 360 to be transmitted to the client terminal 100.
한편, 상기의 목적을 달성하기 위한 본 발명의 다른 측면에 따른 이기종 서버/클라이언트간 가상화 서비스 방법은, (A) 클라이언트 단말기(100)가 인터넷망(200)을 통해 서비스 제공 서버(300)로부터 제공받을 컨텐츠에 대한 요청 데이터를 입력하는 단계(S510); (B) 상기 클라이언트 단말기(100)의 GPU(160)가 CPU(170)와 연계하여 상기 컨텐츠 요청 데이터를 압축하는 단계(S512); (C) 상기 클라이언트 단말기(100)가 상기 (B) 단계를 통해 압축된 컨텐츠 요청 데이터를 서비스 제공 서버(300)에 전송하는 단계(S516); (D) 상기 서비스 제공 서버(300)가 상기 클라이언트 단말기(100)로부터의 컨텐츠 요청 데이터를 수신하고, 상기 서비스 제공 서버(300)의 GPU(360)가 CPU(380)와 연계하여 상기 압축된 컨텐츠 요청 데이터를 압축 해제하는 단계(S520); (E) 상기 서비스 제공 서버(300)의 CPU(380)가 상기 (D) 단계를 통해 압축 해제된 컨텐츠 요청 데이터에 따른 컨텐츠 결과물을 독출하는 단계(S522); (F) 상기 서비스 제공 서버(300)의 GPU(360)가 CPU(380)와 연계하여 상기 (E) 단계를 통해 독출된 컨텐츠 결과물을 압축하는 단계(S524); (G) 상기 서비스 제공 서버(300)가 상기 (F) 단계를 통해 압축된 컨텐츠 결과물을 클라이언트 단말기(100)에 전송하는 단계(S530); (H) 상기 클라이언트 단말기(100)가 상기 서비스 제공 서버(300)로부터의 인코딩된 컨텐츠 결과물을 수신하고, 상기 클라이언트 단말기(100)의 GPU(160)가 CPU(170)와 연계하여 상기 압축된 컨텐츠 결과물을 압축 해제하는 단계(S534); 및 (I) 상기 클라이언트 단말기(100)가 상기 (H) 단계를 통해 압축 해제된 컨텐츠 결과물에 따른 영상이나 음성을 출력하는 단계(S536)를 포함한다.On the other hand, heterogeneous server / client-to-client virtualization service method according to another aspect of the present invention for achieving the above object, (A) the client terminal 100 is provided from the service providing server 300 via the Internet network 200 Inputting request data for content to be received (S510); (B) compressing the content request data by the GPU (160) of the client terminal (100) in association with the CPU (170); (C) transmitting, by the client terminal (100), the content request data compressed through the step (B) to a service providing server (S516) (S516); (D) the service providing server 300 receives the content request data from the client terminal 100, and the GPU 360 of the service providing server 300 cooperates with the CPU 380 to compress the compressed content. Decompressing request data (S520); (E) reading, by the CPU 380 of the service providing server 300, the content result according to the content request data decompressed through the step (D) (S522); (F) compressing the resultant content read through the step (E) by the GPU 360 of the service providing server 300 in cooperation with the CPU 380 (S524); (G) transmitting, by the service providing server (300), the result of the compressed content through the step (F) to the client terminal (S530); (H) The client terminal 100 receives the encoded content result from the service providing server 300, and the GPU 160 of the client terminal 100 cooperates with the CPU 170 to compress the compressed content. Decompressing the result (S534); And (I) the client terminal 100 outputting an image or an audio according to the decompressed content result through the step (H) (S536).
바람직하게, 상기 (B) 단계와 (C) 단계 사이에는, (B1) 상기 클라이언트 단말기(100)의 GPU(160)가 패킷 처리부(165)를 통해 상기 압축된 컨텐츠 요청 데이터를 패킷화하는 단계(S514)를 더 포함한다.Preferably, between the steps (B) and (C), (B1) the GPU 160 of the client terminal 100 packetizes the compressed content request data through a packet processing unit 165 ( S514) is further included.
더 바람직하게, 상기 (C) 단계와 (D) 단계 사이에는, (C1) 서비스 제공 서버(300)의 GPU(360)가 패킷 처리부(366)를 통해 상기 컨텐츠 요청 데이터의 패킷 설정을 해제하는 단계(S518)를 더 포함한다.More preferably, between the steps (C) and (D), the step (C1) GPU (360) of the service providing server 300 releases the packet setting of the content request data through the packet processor 366 (S518) is further included.
더 바람직하게, 상기 (F) 단계와 (G) 단계 사이에는, (F1) 상기 서비스 제공 서버(300)의 GPU(360)가 패킷 처리부(366)를 통해 상기 (F) 단계를 통해 압축된 컨텐츠 결과물의 데이터를 패킷화하는 단계(S526)를 더 포함한다.More preferably, between the steps (F) and (G), (F1) the content of the GPU 360 of the service providing server 300 is compressed through the step (F) through the packet processor 366 Packetizing the resultant data (S526) is further included.
또한, 상기 (F1) 단계와 동시에, (F2) 상기 서비스 제공 서버(300)의 스트리밍 처리부(370)가 상기 (F) 단계를 통해 압축된 컨텐츠 결과물을 스트리밍 처리하여 클라이언트 단말기(100)에서 실시간으로 재생할 수 있게 하는 단계(S528)를 더 포함하는 것이 바람직하다.In addition, at the same time as the step (F1), (F2) the streaming processing unit 370 of the service providing server 300 in the client terminal 100 in real time by streaming the result of the compressed content through the step (F) It is preferable to further include the step (S528) to enable the reproduction.
바람직하게, 상기 (G) 단계와 (H) 단계 사이에는, (G1) 상기 클라이언트 단말기(100)의 GPU(160)가 패킷 처리부(165)를 통해 압축된 컨텐츠 결과물의 패킷 설정을 해제하는 단계(S532)를 더 포함한다.Preferably, between the steps (G) and (H), (G1) the GPU 160 of the client terminal 100 releases the packet setting of the compressed content result through the packet processor 165 ( S532) is further included.
본 발명에 따른 이기종 서버/클라이언트간 가상화 서비스 시스템 및 방법에 따르면, 모든 컨텐츠에 대한 처리는 서비스 제공 서버에서 수행하고 클라이언트 단말기에서는 단지 입출력 신호를 통해 서비스 제공 서버로부터 전송된 데이터를 디코딩하여 영상 및 음성을 출력하기만 하면 되므로, 최소한의 컴퓨팅 자원으로 플랫폼에 관계없이 서비스가 가능하여 클라이언트 단말기의 소형화 및 경량화를 달성할 수 있다.According to the heterogeneous server / client virtualization service system and method according to the present invention, the processing of all contents is performed by the service providing server, and the client terminal decodes the data transmitted from the service providing server through an input / output signal, thereby making video and audio. Since only the output is required, the service can be performed regardless of the platform with the minimum computing resources, thereby achieving miniaturization and lightening of the client terminal.
또한, 서버/클라이언트의 CPU 자원뿐만 아니라 GPGPU기술을 통해 GPU의 월등한 부동소수점 연산능력을 활용한 고효율 병렬 인코딩/디코딩 및 패킷 처리 기술을 사용함으로써, 종래에 비해 상대적으로 더 낮은 CPU 자원으로 효율적인 응용프로그램 실행 및 더 빠른 응답속도 및 저전력화를 달성할 수 있다.In addition, by using high efficiency parallel encoding / decoding and packet processing technology that utilizes the GPU's superior floating-point arithmetic capability through GPGPU technology as well as server / client CPU resources, the application is more efficient with relatively lower CPU resources. Program execution and faster response and lower power can be achieved.
또한, 서비스 공급자의 경우에는 서비스 방식에 구애받지 않고 서비스를 공급하는 플랫폼을 서비스 제공 서버로 통합할 수 있고, 디바이스 및 OS에 상관없이 하나의 서비스 및 프로그램을 통해 데이터의 통합적인 전달이 가능하므로 개발비, 유지보수 비용 및 시간을 획기적으로 줄일 수 있으며, 모든 사용자의 행위는 클라이언트 단말기가 아닌 서버에서 일어나게 되므로 보안이나 바이러스와 같은 외부 침입 및 불법 다운로드를 원천적으로 차단할 수 있다.In addition, the service provider can integrate the platform providing the service regardless of the service method into the service providing server, and the data can be integrated and delivered through one service and program regardless of the device and OS. In addition, maintenance costs and time can be significantly reduced, and all user actions take place on the server rather than on the client terminal, preventing intrusion and illegal downloads such as security or viruses.
또한, 서비스 사용자의 경우에는 컴퓨팅 자원 및 컨텐츠 소비에 있어서 다양한 플랫폼, OS 및 SW를 별도로 구매할 필요 없이 어떤 환경에서도 동일한 서비스를 받을 수 있고 실시간 동기화가 가능하므로 클라이언트 단말기가 변경된다 하여도 제약을 받지 않는다. 또한, 기존처럼 각 클라이언트 단말기를 구축하는데 소요되는 초기 및 유지보수 비용도 추가로 들일 필요가 없으며 해당 서비스를 공급자에게 위임함으로써 중간 단계의 구조와 시간 비용을 들이지 않고 전문가에 의한 서비스를 끊임없이 받을 수 있다. 또한, 프로그램, 컨텐츠 소비에 있어서도 배포방식이나 사용방식의 변화를 통해 전달되는 프로세스 및 경비를 줄여 기존보다 낮은 비용으로도 더 높은 수준의 서비스를 받을 수 있다.In addition, the service user can receive the same service in any environment and can synchronize in real time without having to purchase various platforms, OSs and SWs in terms of computing resource and content consumption. . In addition, there is no need for additional initial and maintenance costs to build each client terminal as before, and by delegating the service to a supplier, it is possible to continuously receive professional services without the intermediate structure and time costs. . In addition, in terms of program and content consumption, it is possible to receive a higher level of service at a lower cost than before by reducing the processes and costs that are delivered through a change in distribution or usage.
상기 목적 외에 본 발명의 다른 목적 및 이점들은 첨부한 도면을 참조한 실시 예에 대한 상세한 설명을 통하여 명백하게 드러나게 될 것이다.Other objects and advantages of the present invention in addition to the above object will be apparent from the detailed description of the embodiments with reference to the accompanying drawings.
도 1은 본 발명의 일측면에 따른 이기종 서버/클라이언트간 가상화 서비스 시스템을 개략적으로 나타내는 도면.1 is a diagram schematically showing a heterogeneous server / client-to-client virtualization service system according to an aspect of the present invention.
도 2는 상기 도 1의 구성을 구체적으로 나타내는 도면.2 is a view showing in detail the configuration of FIG.
도 3은 본 발명의 다른 측면에 따른 이기종 서버/클라이언트간 가상화 서비스 방법을 나타내는 순서도.3 is a flowchart illustrating a heterogeneous server / client virtualization service method according to another aspect of the present invention.
이하, 첨부한 도면을 참조하여 본 발명에 따른 이기종 서버/클라이언트간 가상화 서비스 시스템 및 방법을 상세하게 설명하기로 한다.Hereinafter, a heterogeneous server / client virtualization service system and method according to the present invention will be described in detail with reference to the accompanying drawings.
먼저, 본 발명의 일측면에 따른 이기종 서버/클라이언트간 가상화 서비스 시스템을 설명한다.First, a heterogeneous server / client virtualization service system according to an aspect of the present invention will be described.
도 1은 본 발명의 일측면에 따른 이기종 서버/클라이언트간 가상화 서비스 시스템을 개략적으로 나타내는 도면이고, 도 2는 상기 도 1의 구성을 구체적으로 나타내는 도면이다.FIG. 1 is a diagram schematically illustrating a heterogeneous server / client virtualization service system according to an aspect of the present invention, and FIG. 2 is a diagram illustrating the configuration of FIG. 1 in detail.
도 1 및 도 2에 도시된 바와 같이, 본 발명의 일측면에 따른 서버/클라이언트간 가상화 서비스 시스템은, 클라이언트 단말기(100), 인터넷망(200) 및 서비스 제공 서버(300)를 포함한다.As shown in FIG. 1 and FIG. 2, the server / client virtualization service system according to an aspect of the present invention includes a client terminal 100, an internet network 200, and a service providing server 300.
상기 클라이언트 단말기(100)는 인터넷망(200)을 통해 서비스 제공 서버(300)에 영상 및 음성과 관련된 컨텐츠를 검색 및 요청하는 스마트폰, 태블릿, 넷북, 노트북, 데스크탑 컴퓨터, 모바일 단말기, MP3, 게임기, IPTV 및 PMP 등과 같은 단말기로서, 인터페이스부(110), 입력부(120), 디스플레이부(130), 음성출력부(140), 저장부(150), GPU(160) 및 CPU(170)로 구성된다.The client terminal 100 is a smart phone, tablet, netbook, laptop, desktop computer, mobile terminal, MP3, game machine to search and request content related to video and audio to the service providing server 300 through the Internet network 200 , A terminal such as an IPTV and a PMP, etc., comprising an interface unit 110, an input unit 120, a display unit 130, a voice output unit 140, a storage unit 150, a GPU 160, and a CPU 170. do.
구체적으로, 상기 인터페이스부(110)는 인터넷망(200)을 통해 서비스 제공 서버(300)와 데이터 송수신시 요구되는 다수의 통신 프로토콜을 지원하여 정보를 교환하기 위한 게이트웨이이다.In detail, the interface unit 110 is a gateway for exchanging information by supporting a plurality of communication protocols required for data transmission and reception with the service providing server 300 through the Internet network 200.
입력부(120)는 클라이언트 단말기(100)의 사용자가 원하는 영상 및 음성 관련 컨텐츠 정보를 검색하여 상기 서비스 제공 서버(300)에 요청하기 위한 키보드, 마우스, 터치패드, 조이스틱, 리모트 컨트롤러 및 캠 카메라 등과 같은 수단이다.The input unit 120 searches for video and audio related content information desired by a user of the client terminal 100 and requests the service providing server 300 such as a keyboard, a mouse, a touch pad, a joystick, a remote controller and a cam camera. Means.
디스플레이부(130)는 상기 서비스 제공 서버(300)로부터 제공되는 영상과 관련된 컨텐츠를 출력하는 PDP, LCD 및 CRT 등과 같은 수단이다.The display 130 is a means such as a PDP, an LCD, a CRT, or the like for outputting content related to an image provided from the service providing server 300.
음성출력부(140)는 상기 서비스 제공 서버(300)로부터 제공되는 음성과 관련된 컨텐츠를 출력하는 스피커와 같은 수단이다.The voice output unit 140 is a means such as a speaker for outputting content related to voice provided from the service providing server 300.
저장부(150)는 클라이언트 단말기(100)를 플레이어 장치로만 운영하기 위한 임베디드 OS를 저장한다.The storage unit 150 stores an embedded OS for operating the client terminal 100 only as a player device.
GPU(Graphics Processing Unit, 160)는 GPGPU 기술을 통해 CPU(170)와 연계하여 클라이언트 단말기(100)로부터 요청된 입력 데이터를 압축하거나 서비스 제공 서버(300)로부터 전송된 데이터를 압축 해제하고 패킷 처리를 가속화하며, 부동소수점 연산을 통해 영상 정보를 처리하는 그래픽 처리수단으로서, 입력부(120)를 통한 컨텐츠 요청 데이터를 인코딩하는 인코딩부(161)와, 서비스 제공 서버(300)로부터 전송되는 컨텐츠를 디코딩하는 디코딩부(163)와, 상기 클라이언트 단말기(100)로부터 요청된 입력 데이터 및 서비스 제공 서버(300)로부터의 컨텐츠를 패킷 설정 및 해제하는 패킷 처리부(165)를 포함한다.The GPU (Graphics Processing Unit) 160 compresses the input data requested from the client terminal 100 or decompresses the data transmitted from the service providing server 300 in cooperation with the CPU 170 through GPGPU technology and performs packet processing. A graphics processing unit for accelerating and processing image information through floating-point arithmetic operations, comprising: an encoding unit 161 for encoding content request data through the input unit 120, and decoding contents transmitted from the service providing server 300. A decoding unit 163 and a packet processing unit 165 for setting and releasing packets of input data requested from the client terminal 100 and contents from the service providing server 300 are included.
CPU(Central Processing Unit, 170)는 상기 인터페이스부(110), 입력부(120), 디스플레이부(130), 음성출력부(140), 저장부(150) 및 GPU(160)를 제어하여, 서비스 제공 서버(300)로부터 전송되는 컨텐츠의 영상 및 음성을 제공한다.The central processing unit (CPU) 170 controls the interface unit 110, the input unit 120, the display unit 130, the audio output unit 140, the storage unit 150, and the GPU 160 to provide a service. It provides a video and audio of the content transmitted from the server 300.
한편, 상기 인터넷망(200)은 컴퓨팅이 가능한 각종 기기를 통하여 유선으로 접속할 수 있는 TCP/IP 프로토콜과 무선으로 접속할 수 있는 WAP 프로토콜 등의 무선 네트워크로서, LAN, Wi-Fi, 3G/4G 및 블루투스 등을 포함하는 중계망이다.Meanwhile, the Internet network 200 is a wireless network such as a TCP / IP protocol that can be connected by wire through a variety of computing devices and a WAP protocol that can be wirelessly connected, and includes LAN, Wi-Fi, 3G / 4G, and Bluetooth. It is a relay network including.
또한, 서비스 제공 서버(300)는 인터넷망(200)을 통해 클라이언트 단말기(100)로부터 요청된 영상 및 음성과 관련된 컨텐츠를 제공하는 가상 데스크탑 센터, 웹 운영센터, 방송국 센터 및 게임 센터 등과 같은 복수개의 물리적 혹은 가상의 클라우드 센터나 서버의 역할을 할 수 있는 기업의 퍼스널 컴퓨팅 기기로서, 인터페이스부(310), 입력부(320), 출력부(330), 저장부(340), 컨텐츠 DB(350), GPU(360), 스트리밍 처리부(370) 및 CPU(380)로 구성된다.In addition, the service providing server 300 may include a plurality of service providers such as a virtual desktop center, a web operating center, a broadcasting station center, and a game center that provide content related to video and audio requested from the client terminal 100 through the Internet network 200. As a personal computing device of an enterprise that can act as a physical or virtual cloud center or server, the interface unit 310, the input unit 320, the output unit 330, the storage unit 340, the content DB 350, The GPU 360, the streaming processor 370, and the CPU 380 are configured.
구체적으로, 상기 인터페이스부(310)는 인터넷망(200)을 통해 클라이언트 단말기(100)와 데이터 송수신시 요구되는 다수의 통신 프로토콜을 지원하여 정보를 교환하기 위한 게이트웨이이다.Specifically, the interface unit 310 is a gateway for exchanging information by supporting a plurality of communication protocols required for data transmission and reception with the client terminal 100 through the Internet network 200.
입력부(320)는 클라이언트 단말기(100)의 요청에 따른 영상 및 음성 컨텐츠와 관련된 업데이트 정보를 미리 서비스 제공 서버(300)에 생성하기 위한 수단이다.The input unit 320 is a means for generating, in advance, update information related to video and audio content according to a request of the client terminal 100 in the service providing server 300.
출력부(330)는 영상 및 음성 컨텐츠와 관련된 업데이트 정보를 입력할 수 있는 입력화면 및 각종 디스플레이 화면을 출력한다.The output unit 330 outputs an input screen and various display screens for inputting update information related to video and audio contents.
저장부(340)는 서비스 제공 서버를 운영하기 위한 플랫폼과 OS와 같은 운영 정보를 저장한다.The storage unit 340 stores operation information such as a platform and an OS for operating a service providing server.
컨텐츠 DB(350)는 클라이언트 단말기(100)의 요청에 따라 제공되는 영상 및 음성 관련 컨텐츠, 예를 들어 리눅스 어플리케이션, 윈도우 어플리케이션, 영상 및 음성 컨텐츠 및 게임 컨텐츠를 저장하고 있는 데이터베이스이다.The content DB 350 is a database that stores video and audio related contents provided at the request of the client terminal 100, for example, Linux applications, window applications, video and audio contents, and game contents.
GPU(360)는 CPU(380)와 연계하여 클라이언트 단말기(100)로부터 전송된 컨텐츠 요청 데이터를 압축 해제하거나, 클라이언트 단말기(100)로 전송되는 영상 및 음성 관련 컨텐츠를 압축하고 패킷 처리를 가속화하여 영상정보를 처리하는 그래픽 처리수단으로서, 상기 클라이언트 단말기(100)로부터 전송된 컨텐츠 요청 데이터를 디코딩하는 디코딩부(362)와, 클라이언트 단말기(100)로 전송되는 컨텐츠 결과물을 인코딩하는 인코딩부(364)와, 상기 클라이언트 단말기(100)로부터 요청된 입력 데이터 및 서비스 제공 서버(300)로부터 전송되는 컨텐츠를 패킷 해제 및 설정하는 패킷 처리부(366)를 포함한다.The GPU 360 decompresses the content request data transmitted from the client terminal 100 in cooperation with the CPU 380, or compresses the video and audio related content transmitted to the client terminal 100 and accelerates the packet processing. Graphic processing means for processing information, comprising: a decoding unit 362 for decoding content request data transmitted from the client terminal 100, an encoding unit 364 for encoding a content result transmitted to the client terminal 100; And a packet processor 366 for releasing and setting a packet of the input data requested from the client terminal 100 and the content transmitted from the service providing server 300.
이때, 본 명세서에서는 CPU(380)와 연계하여 영상 및 음성 관련 컨텐츠를 압축 해제하거나 압축하고 패킷 처리를 가속화하여 영상정보를 처리하는 수단으로서 GPU(360)가 사용되는 것으로 설명하고 있지만, 상기 GPU(360)와 동일한 기능을 수행할 수 있으면 DSP(Digital Signal Processor) 또는 인코딩/디코딩 칩셋으로 대체가능함은 물론이다.In this case, in the present specification, the GPU 360 is used as a means for processing video information by decompressing or compressing video and audio-related content in conjunction with the CPU 380 and accelerating packet processing. If the same function as 360) can be replaced by a digital signal processor (DSP) or an encoding / decoding chipset.
스트리밍 처리부(370)는 상기 GPU(360)의 인코딩부(364)를 통해 실시간 인코딩된 영상 및 음성 컨텐츠를 스트리밍 처리하여 실시간으로 클라이언트 단말기(100)로 전송되게 한다.The streaming processor 370 processes the real-time encoded video and audio content through the encoding unit 364 of the GPU 360 to be transmitted to the client terminal 100 in real time.
CPU(370)는 인터페이스부(310), 입력부(320), 출력부(330), 저장부(340), 컨텐츠 DB(350), GPU(360) 및 스트리밍 처리부(370)를 제어하여, 클라이언트 단말기(100)로부터 요청된 컨텐츠를 제공한다.The CPU 370 controls the interface unit 310, the input unit 320, the output unit 330, the storage unit 340, the content DB 350, the GPU 360, and the streaming processor 370 to control the client terminal. Provide content requested from 100.
이하에서는, 상술한 도면과 도 3을 참조하여, 본 발명의 다른 측면에 따른 이기종 서버/클라이언트간 가상화 서비스 방법을 설명한다.Hereinafter, a heterogeneous server / client virtualization service method according to another aspect of the present invention will be described with reference to the above-described drawings and FIG. 3.
도 3은 본 발명의 다른 측면에 따른 이기종 서버/클라이언트간 가상화 서비스 방법을 나타내는 순서도이다.3 is a flowchart illustrating a heterogeneous server / client virtualization service method according to another aspect of the present invention.
먼저, 클라이언트 단말기(100)는 인터넷망(200)을 통해 서비스 제공 서버(300)로부터 제공받을 컨텐츠에 대한 요청 데이터를 입력한다(S510).First, the client terminal 100 inputs request data for content to be provided from the service providing server 300 through the internet network 200 (S510).
이때, 상기 컨텐츠는 서비스 제공 서버(300)로부터 제공되는 리눅스 어플리케이션, 윈도우 어플리케이션, 영상 및 음성 컨텐츠 및 게임 컨텐츠 등이 될 수 있으며, 서비스 방식은 서비스 제공 서버에서 출력되는 영상, 음성, 입/출력 데이터를 실시간 인코딩하여 스트리밍하는 방식이 되며, 서비스 방법에 따라 이미 저장되어 있는 컨텐츠를 스트리밍하는 것도 포함한다. 이때 저장되어 있는 영상 컨텐츠는 avi, mpeg, asf, wmv, mkv, dv, 및 mov 등의 확장자를 갖는 파일이고, 음성 컨텐츠는 wav, ape, flac, ra, mp3, wma, ogg, asf 및 mid 등의 확장자를 갖는 파일이나 이미지, 문서 파일 등을 예로 들 수 있다.In this case, the content may be a Linux application, a window application, video and audio content and game content provided from the service providing server 300, and the service method is video, audio and input / output data output from the service providing server. It is a method of streaming by encoding in real time, and also includes streaming content that is already stored according to the service method. At this time, the stored video contents are files with extensions such as avi, mpeg, asf, wmv, mkv, dv, and mov, and audio contents are wav, ape, flac, ra, mp3, wma, ogg, asf, mid, etc. For example, a file, an image, or a document file having the extension of may be used.
다음에, 클라이언트 단말기(100)의 GPU(160)는 CPU(170)와 연계하여 상기 S510 단계의 컨텐츠 요청 데이터를 압축하여 인코딩한다(S512). Next, the GPU 160 of the client terminal 100 compresses and encodes the content request data of step S510 in cooperation with the CPU 170 (S512).
그 다음, 상기 GPU(160)는 패킷 처리부(165)를 통해 상기 인코딩된 컨텐츠 요청 데이터를 패킷화한다(S514).Next, the GPU 160 packetizes the encoded content request data through the packet processor 165 (S514).
이후, 클라이언트 단말기(100)는 인터페이스부(110)와 인터넷망(200)을 통해 S514 단계를 통해 패킷화된 컨텐츠 요청 데이터를 서비스 제공 서버(300)에 전송한다(S516).Thereafter, the client terminal 100 transmits the packetized content request data to the service providing server 300 through the interface unit 110 and the internet network 200 in step S514 (S516).
한편, 서비스 제공 서버(300)는 인터페이스부(310)를 통해 상기 클라이언트 단말기(100)로부터의 컨텐츠 요청 데이터를 수신하고, CPU(380)와 연계하여 GPU(360)의 패킷 처리부(366)를 통해 인코딩된 컨텐츠 요청 데이터의 패킷 설정을 해제한다(S518).On the other hand, the service providing server 300 receives the content request data from the client terminal 100 through the interface unit 310, and in conjunction with the CPU 380 through the packet processor 366 of the GPU 360 The packet setting of the encoded content request data is released (S518).
다음에, 서비스 제공 서버(300)의 GPU(360)는 CPU(380)와 연계하여 상기 인코딩된 컨텐츠 요청 데이터를 압축 해제하여 디코딩한다(S520).Next, the GPU 360 of the service providing server 300 decompresses and decodes the encoded content request data in association with the CPU 380 (S520).
그 다음, 서비스 제공 서버(300)의 CPU(380)는 상기 S520 단계를 통해 디코딩된 컨텐츠 요청 데이터에 따른 컨텐츠, 예를 들어 리눅스 어플리케이션, 윈도우 어플리케이션, 영상과 음성 컨텐츠 및 게임 컨텐츠 중 어느 하나를 독출한다(S522).Next, the CPU 380 of the service providing server 300 reads content according to the content request data decoded through the step S520, for example, any one of a Linux application, a window application, video and audio content, and game content. (S522).
이어서, 서비스 제공 서버(300)의 GPU(360)는 CPU(380)와 연계하여 상기 S522 단계를 통해 독출된 컨텐츠 결과물을 압축하여 인코딩한다(S524).Subsequently, the GPU 360 of the service providing server 300 compresses and encodes the content result read through the step S522 in association with the CPU 380 (S524).
이후, 서비스 제공 서버(300)의 GPU(360)는 CPU(380)와 연계하여 패킷 처리부(366)를 통해 상기 S524 단계를 통해 인코딩된 컨텐츠 결과물의 데이터를 패킷화한다(S526).Thereafter, the GPU 360 of the service providing server 300 packetizes data of the content result encoded in step S524 through the packet processor 366 in cooperation with the CPU 380 (S526).
이때, 상기 S526 단계와 동시에 서비스 제공 서버(300)의 스트리밍 처리부(370)는 상기 S524 단계를 통해 인코딩된 영상 및 음성관련 컨텐츠 결과물을 실시간으로 스트리밍 처리하여 클라이언트 단말기(100)에서 실시간으로 재생할 수 있게 한다(S528).At this time, the streaming processing unit 370 of the service providing server 300 at the same time as the step S526 to stream the encoded video and audio-related content results in real time through the step S524 to be reproduced in real time on the client terminal 100 (S528).
이어서, 서비스 제공 서버(300)는 인터페이스부(310)와 인터넷망(200)을 통해 상기 인코딩된 컨텐츠 결과물을 클라이언트 단말기(100)에 전송한다(S530).Subsequently, the service providing server 300 transmits the encoded content result to the client terminal 100 through the interface unit 310 and the internet network 200 (S530).
한편, 클라이언트 단말기(100)는 인터페이스부(110)를 통해 상기 서비스 제공 서버(300)로부터의 인코딩된 컨텐츠 결과물을 수신하고, GPU(160)의 패킷 처리부(165)를 통해 인코딩된 컨텐츠 결과물의 패킷 설정을 해제한다(S532).Meanwhile, the client terminal 100 receives the encoded content result from the service providing server 300 through the interface unit 110, and the packet of the encoded content result through the packet processor 165 of the GPU 160. The setting is released (S532).
다음에, 클라이언트 단말기(100)의 GPU(160)는 CPU(170)와 연계하여 상기 인코딩된 컨텐츠 결과물을 압축 해제하여 디코딩한다(S534).Next, the GPU 160 of the client terminal 100 decompresses and decodes the encoded content result in cooperation with the CPU 170 (S534).
이후, 클라이언트 단말기(100)는 상기 S534 단계에서 디코딩된 컨텐츠 결과물에 따른 사용자 요청 영상이나 음성을 디스플레이부(130)와 음성출력부(140)를 통해 출력한다(S536).Thereafter, the client terminal 100 outputs the user's request image or audio corresponding to the content result decoded in step S534 through the display 130 and the voice output unit 140 (S536).
따라서, 모든 컨텐츠에 대한 처리 및 결과물은 서비스 제공 서버에서 수행되고 클라이언트 단말기는 상기 서비스 제공 서버로부터의 컨텐츠 결과물을 단순히 보고 들으며 클라이언트 및 서버를 로컬 혹은 리모트 컨트롤하는 최소한의 기능만 수행하므로 소형화, 저전력화 및 경량화가 가능하다.Accordingly, processing and output of all contents are performed in the service providing server, and the client terminal simply sees and listens to the contents output from the service providing server and performs only a minimum function of local or remote control of the client and server. And light weight is possible.
이상에서는 본 발명의 일실시예에 따라 본 발명을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 변경 및 변형한 것도 본 발명에 속함은 당연하다.Although the present invention has been described above according to an embodiment of the present invention, a person skilled in the art to which the present invention belongs has changed and modified within the scope without departing from the technical spirit of the present invention. Of course.

Claims (13)

  1. 인터넷망(200)을 통해 서비스 제공 서버(300)에 영상 및 음성과 관련된 컨텐츠를 요청하는 클라이언트 단말기(100)와, 상기 클라이언트 단말기(100)로부터 요청된 영상 및 음성과 관련된 컨텐츠를 제공하는 서비스 제공 서버(300)를 포함하여 이루어지는 이기종 서버/클라이언트간 가상화 서비스 시스템으로서,A client terminal 100 requesting contents related to video and audio to the service providing server 300 through the internet network 200, and a service providing contents related to video and audio requested from the client terminal 100. Heterogeneous server / client-to-client virtualization service system comprising a server 300,
    상기 클라이언트 단말기(100)는 CPU(170)와 연계하여 컨텐츠 요청 데이터를 압축하거나 서비스 제공 서버(300)로부터 전송되는 컨텐츠 결과물을 압축 해제하는 GPU(160)를 포함하고, The client terminal 100 includes a GPU 160 in cooperation with the CPU 170 to compress the content request data or to decompress the content result transmitted from the service providing server 300,
    상기 서비스 제공 서버(300)는 CPU(380)와 연계하여 클라이언트 단말기(100)로부터 전송된 컨텐츠 요청 데이터를 압축 해제하거나 클라이언트 단말기(100)로 전송되는 컨텐츠 결과물을 압축하는 GPU(360)를 포함하는 것을 특징으로 하는 이기종 서버/클라이언트간 가상화 서비스 시스템.The service providing server 300 includes a GPU 360 that decompresses the content request data transmitted from the client terminal 100 in conjunction with the CPU 380 or compresses the content result transmitted to the client terminal 100. Heterogeneous server / client-to-client virtualization service system, characterized in that.
  2. 제 1항에 있어서,The method of claim 1,
    상기 클라이언트 단말기(100)는,The client terminal 100,
    상기 서비스 제공 서버(300)와 정보를 교환하기 위한 인터페이스부(110)와, 컨텐츠 정보를 검색하여 요청 신호를 입력하는 입력부(120)와, 상기 서비스 제공 서버(300)로부터 제공되는 컨텐츠 결과물의 영상을 출력하는 디스플레이부(130)와, 상기 컨텐츠 결과물의 음성을 출력하는 음성출력부(140)를 포함하는 것을 특징으로 하는 이기종 서버/클라이언트간 가상화 서비스 시스템.The interface unit 110 for exchanging information with the service providing server 300, the input unit 120 to search for content information and input a request signal, and the image of the content result provided from the service providing server 300 Heterogeneous server / client-to-client virtualization service system characterized in that it comprises a display unit for outputting the output 130, and a voice output unit for outputting the voice of the result of the content.
  3. 제 1항 또는 제 2항에 있어서,The method according to claim 1 or 2,
    상기 클라이언트 단말기(100)의 GPU(160)는,GPU 160 of the client terminal 100,
    상기 입력부(120)를 통한 컨텐츠 요청 데이터를 인코딩하는 인코딩부(161)와, 상기 서비스 제공 서버(300)로부터 전송되는 컨텐츠를 디코딩하는 디코딩부(163)를 더 포함하는 것을 특징으로 하는 이기종 서버/클라이언트간 가상화 서비스 시스템.Heterogeneous server / characterized in that it further comprises an encoding unit 161 for encoding the content request data through the input unit 120, and a decoding unit 163 for decoding the content transmitted from the service providing server 300 Client-to-client virtualization service system.
  4. 제 3항에 있어서,The method of claim 3, wherein
    상기 GPU(160)는,The GPU 160,
    상기 클라이언트 단말기(100)로부터의 컨텐츠 요청 데이터 및 서비스 제공 서버(300)로부터의 컨텐츠 결과물을 패킷 설정 및 해제하는 패킷 처리부(165)를 더 포함하는 것을 특징으로 하는 이기종 서버/클라이언트간 가상화 서비스 시스템.Heterogeneous server / client-to-client virtualization service system, characterized in that it further comprises a packet processing unit (165) for setting and releasing the content request data from the client terminal (100) and the content output from the service providing server (300).
  5. 제 1항에 있어서,The method of claim 1,
    상기 서비스 제공 서버(300)는,The service providing server 300,
    상기 클라이언트 단말기(100)와 정보를 교환하기 위한 인터페이스부(310)와, 상기 클라이언트 단말기(100)의 요청에 따른 컨텐츠와 관련된 업데이트 정보를 미리 서비스 제공 서버(300)에 생성하기 위한 입력부(320)와, 상기 컨텐츠와 관련된 업데이트 정보를 입력할 수 있는 화면을 출력하는 출력부(330)와, 상기 서비스 제공 서버(300)를 운영하기 위한 운영 정보를 저장하는 저장부(340)와, 상기 클라이언트 단말기(100)의 요청에 따라 제공되는 컨텐츠 결과물들을 저장하고 있는 컨텐츠 DB(350)를 포함하는 것을 특징으로 하는 이기종 서버/클라이언트간 가상화 서비스 시스템.The interface unit 310 for exchanging information with the client terminal 100, and the input unit 320 for generating in advance in the service providing server 300, the update information related to the content according to the request of the client terminal 100; And an output unit 330 for outputting a screen for inputting update information related to the content, a storage unit 340 for storing operation information for operating the service providing server 300, and the client terminal. Heterogeneous server / client-to-client virtualization service system characterized in that it comprises a content DB (350) for storing the results of the content provided by the request of (100).
  6. 제 1항 또는 제 5항에 있어서,The method according to claim 1 or 5,
    상기 서비스 제공 서버(300)의 GPU(360)는,GPU 360 of the service providing server 300,
    상기 클라이언트 단말기(100)로부터 전송된 컨텐츠 요청 데이터를 디코딩하는 디코딩부(362)와, 상기 클라이언트 단말기(100)로 전송되는 컨텐츠 결과물을 인코딩하는 인코딩부(364)와, 상기 클라이언트 단말기(100)로부터 요청된 입력 데이터 및 서비스 제공 서버(300)로부터 전송되는 컨텐츠 결과물을 패킷 해제 및 설정하는 패킷 처리부(366)를 포함하는 것을 특징으로 하는 이기종 서버/클라이언트간 가상화 서비스 시스템.A decoding unit 362 for decoding the content request data transmitted from the client terminal 100, an encoding unit 364 for encoding a content result transmitted to the client terminal 100, and the client terminal 100 from the client terminal 100. Heterogeneous server / client-to-client virtualization service system, characterized in that it comprises a packet processor (366) for releasing and setting the requested input data and the content output from the service providing server (300).
  7. 제 6항에 있어서,The method of claim 6,
    상기 서비스 제공 서버(300)는,The service providing server 300,
    상기 GPU(360)를 통해 인코딩된 컨텐츠 결과물을 스트리밍 처리하여 실시간으로 클라이언트 단말기(100)로 전송되게 하는 스트리밍 처리부(370)를 더 포함하는 것을 특징으로 하는 이기종 서버/클라이언트간 가상화 서비스 시스템.Heterogeneous server / client-to-client virtualization service system further comprises a streaming processing unit (370) for streaming the resulting content encoded by the GPU 360 to be transmitted to the client terminal (100) in real time.
  8. (A) 클라이언트 단말기(100)가 인터넷망(200)을 통해 서비스 제공 서버(300)로부터 제공받을 컨텐츠에 대한 요청 데이터를 입력하는 단계(S510);(A) inputting, by the client terminal 100, request data for content to be provided from the service providing server 300 through the Internet network 200 (S510);
    (B) 상기 클라이언트 단말기(100)의 GPU(160)가 CPU(170)와 연계하여 상기 컨텐츠 요청 데이터를 압축하는 단계(S512);(B) compressing the content request data by the GPU (160) of the client terminal (100) in association with the CPU (170);
    (C) 상기 클라이언트 단말기(100)가 상기 (B) 단계를 통해 압축된 컨텐츠 요청 데이터를 서비스 제공 서버(300)에 전송하는 단계(S516);(C) transmitting, by the client terminal (100), the content request data compressed through the step (B) to a service providing server (S516) (S516);
    (D) 상기 서비스 제공 서버(300)가 상기 클라이언트 단말기(100)로부터의 컨텐츠 요청 데이터를 수신하고, 상기 서비스 제공 서버(300)의 GPU(360)가 CPU(380)와 연계하여 상기 압축된 컨텐츠 요청 데이터를 압축 해제하는 단계(S520);(D) the service providing server 300 receives the content request data from the client terminal 100, and the GPU 360 of the service providing server 300 cooperates with the CPU 380 to compress the compressed content. Decompressing request data (S520);
    (E) 상기 서비스 제공 서버(300)의 CPU(380)가 상기 (D) 단계를 통해 압축 해제된 컨텐츠 요청 데이터에 따른 컨텐츠 결과물을 독출하는 단계(S522);(E) reading, by the CPU 380 of the service providing server 300, the content result according to the content request data decompressed through the step (D) (S522);
    (F) 상기 서비스 제공 서버(300)의 GPU(360)가 CPU(380)와 연계하여 상기 (E) 단계를 통해 독출된 컨텐츠 결과물을 압축하는 단계(S524);(F) compressing the resultant content read through the step (E) by the GPU 360 of the service providing server 300 in cooperation with the CPU 380 (S524);
    (G) 상기 서비스 제공 서버(300)가 상기 (F) 단계를 통해 압축된 컨텐츠 결과물을 클라이언트 단말기(100)에 전송하는 단계(S530);(G) transmitting, by the service providing server (300), the result of the compressed content through the step (F) to the client terminal (S530);
    (H) 상기 클라이언트 단말기(100)가 상기 서비스 제공 서버(300)로부터의 인코딩된 컨텐츠 결과물을 수신하고, 상기 클라이언트 단말기(100)의 GPU(160)가 CPU(170)와 연계하여 상기 압축된 컨텐츠 결과물을 압축 해제하는 단계(S534); 및(H) The client terminal 100 receives the encoded content result from the service providing server 300, and the GPU 160 of the client terminal 100 cooperates with the CPU 170 to compress the compressed content. Decompressing the result (S534); And
    (I) 상기 클라이언트 단말기(100)가 상기 (H) 단계를 통해 압축 해제된 컨텐츠 결과물에 따른 영상이나 음성을 출력하는 단계(S536)를 포함하는 것을 특징으로 하는 이기종 서버/클라이언트간 가상화 서비스 방법.(I) heterogeneous server / client-to-client virtualization service method, characterized in that the client terminal (100) outputting a video or audio according to the decompressed content result in the step (H).
  9. 제 8항에 있어서,The method of claim 8,
    상기 (B) 단계와 (C) 단계 사이에는,Between the step (B) and (C),
    (B1) 상기 클라이언트 단말기(100)의 CPU(170)와 연계된 GPU(160)가 패킷 처리부(165)를 통해 상기 압축된 컨텐츠 요청 데이터를 패킷화하는 단계(S514)를 더 포함하는 것을 특징으로 하는 이기종 서버/클라이언트간 가상화 서비스 방법.(B1) further comprising the step S514 of packetizing the compressed content request data through the packet processor 165 by the GPU 160 associated with the CPU 170 of the client terminal 100. Heterogeneous server / client virtualization service method.
  10. 제 8항에 있어서,The method of claim 8,
    상기 (C) 단계와 (D) 단계 사이에는,Between the steps (C) and (D),
    (C1) 서비스 제공 서버(300)의 CPU(380)와 연계된 GPU(360)가 패킷 처리부(366)를 통해 상기 컨텐츠 요청 데이터의 패킷 설정을 해제하는 단계(S518)를 더 포함하는 것을 특징으로 하는 이기종 서버/클라이언트간 가상화 서비스 방법.In operation S518, the GPU 360 associated with the CPU 380 of the service providing server 300 releases the packet setting of the content request data through the packet processor 366. Heterogeneous server / client virtualization service method.
  11. 제 8항에 있어서,The method of claim 8,
    상기 (F) 단계와 (G) 단계 사이에는, Between the steps (F) and (G),
    (F1) 상기 서비스 제공 서버(300)의 CPU(380)와 연계된 GPU(360)가 패킷 처리부(366)를 통해 상기 (F) 단계를 통해 압축된 컨텐츠 결과물의 데이터를 패킷화하는 단계(S526)를 더 포함하는 것을 특징으로 하는 이기종 서버/클라이언트간 가상화 서비스 방법.(F1) a step in which the GPU 360 associated with the CPU 380 of the service providing server 300 packetizes the data of the content result compressed in the step (F) through the packet processor 366 (S526). Heterogeneous server / client-to-client virtualization service method further comprising.
  12. 제 11항에 있어서,The method of claim 11,
    상기 (F1) 단계와 동시에,At the same time as the above (F1) step,
    (F2) 상기 서비스 제공 서버(300)의 스트리밍 처리부(370)가 상기 (F) 단계를 통해 압축된 컨텐츠 결과물을 실시간으로 스트리밍 처리하여 클라이언트 단말기(100)에서 실시간으로 재생할 수 있게 하는 단계(S528)를 더 포함하는 것을 특징으로 하는 이기종 서버/클라이언트간 가상화 서비스 방법.(F2) allowing the streaming processing unit 370 of the service providing server 300 to stream the compressed content result product in real time through the step (F) so that the client terminal 100 can play it in real time (S528). Heterogeneous server / client-to-client virtualization service method further comprising a.
  13. 제 8항에 있어서,The method of claim 8,
    상기 (G) 단계와 (H) 단계 사이에는, Between the step (G) and (H),
    (G1) 상기 클라이언트 단말기(100)의 CPU(170)와 연계된 GPU(160)가 패킷 처리부(165)를 통해 압축된 컨텐츠 결과물의 패킷 설정을 해제하는 단계(S532)를 더 포함하는 것을 특징으로 하는 이기종 서버/클라이언트간 가상화 서비스 방법.(G1) further comprising the step of releasing the packet setting of the content result compressed by the GPU 160 associated with the CPU 170 of the client terminal 100 through the packet processor 165 (S532). Heterogeneous server / client virtualization service method.
PCT/KR2011/004634 2011-03-16 2011-06-24 System and method for virtualization service between heterogeneous server/client WO2012124862A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020110023283A KR20120105688A (en) 2011-03-16 2011-03-16 System and method for virtualization service between server/client terminal of heterogeneous computing types
KR10-2011-0023283 2011-03-16

Publications (1)

Publication Number Publication Date
WO2012124862A1 true WO2012124862A1 (en) 2012-09-20

Family

ID=46830908

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/004634 WO2012124862A1 (en) 2011-03-16 2011-06-24 System and method for virtualization service between heterogeneous server/client

Country Status (2)

Country Link
KR (1) KR20120105688A (en)
WO (1) WO2012124862A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101534784B1 (en) * 2014-05-13 2015-07-09 (주) 네오포스 The smartwork mobile gateway for control of an application on a closed network And a method of controlling
KR102265419B1 (en) 2014-10-02 2021-06-15 에스케이플래닛 주식회사 System for cloud streaming service, method of cloud streaming service using selective encoding processing unit and apparatus for the same
EP3177024B1 (en) 2014-07-30 2020-02-26 Sk Planet Co., Ltd. Apparatus for cloud streaming service
KR102552753B1 (en) * 2018-10-24 2023-07-05 에스케이텔레콤 주식회사 VMI Screen Display Method And Apparatus for Delay Reduction

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000358230A (en) * 1999-06-16 2000-12-26 Toshiba Corp Video server and on-demand video system
WO2007087627A2 (en) * 2006-01-26 2007-08-02 Sony Corporation Method and system for providing dailies and edited video to users
WO2009073833A1 (en) * 2007-12-05 2009-06-11 Onlive, Inc. Video compression system and method for compensating for bandwidth limitations of a communication channel
KR20090117490A (en) * 2008-05-09 2009-11-12 주식회사 네멕스 System for transmitting packet data, method for transmitting thereof
US20100001995A1 (en) * 2008-01-03 2010-01-07 International Business Machines Corporation Method and System for Remote Visualization Client Acceleration

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000358230A (en) * 1999-06-16 2000-12-26 Toshiba Corp Video server and on-demand video system
WO2007087627A2 (en) * 2006-01-26 2007-08-02 Sony Corporation Method and system for providing dailies and edited video to users
WO2009073833A1 (en) * 2007-12-05 2009-06-11 Onlive, Inc. Video compression system and method for compensating for bandwidth limitations of a communication channel
US20100001995A1 (en) * 2008-01-03 2010-01-07 International Business Machines Corporation Method and System for Remote Visualization Client Acceleration
KR20090117490A (en) * 2008-05-09 2009-11-12 주식회사 네멕스 System for transmitting packet data, method for transmitting thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NITIN SINGHAL ET AL.: "GPU Computing on Handheld Devices", JOURNAL OF IEEK, vol. 36, no. 5, May 2009 (2009-05-01), pages 36 - 49 *

Also Published As

Publication number Publication date
KR20120105688A (en) 2012-09-26

Similar Documents

Publication Publication Date Title
WO2010008230A2 (en) Apparatus and method for providing user interface service in a multimedia system
US20160021405A1 (en) Distribution control system, distribution control method, and computer-readable storage medium
US9497492B2 (en) Distribution control system, distribution system, distribution control method, and computer-readable storage medium
CN107592551B (en) Method and device for cloud streaming service
US9628866B2 (en) Distribution control system and distribution system
US9723337B2 (en) Distribution control system and distribution system
US9648096B2 (en) Distribution control system, distribution system, distribution control method, and computer-readable storage medium
EP2790383B1 (en) Distribution control system, distribution system, distribution control method, and computer-readable storage medium
US10250665B2 (en) Distribution control system, distribution system, distribution control method, and computer-readable storage medium
WO2010147433A2 (en) Apparatus and method for transmitting and receiving a user interface in a communication system
CN102647620A (en) Method, set-top box, cloud terminal application server and system for realizing cloud terminal business
WO2012124862A1 (en) System and method for virtualization service between heterogeneous server/client
US20160044079A1 (en) Distribution control system, distribution control method, and computer-readable storage medium
EP2779661A1 (en) Distribution control system, distribution system, distribution control method, and computer-readable storage medium
CN113422839A (en) Cloud mobile phone system based on cloud computing, control method, medium and electronic device
CN112473133A (en) Cloud game response method, system, equipment and readable storage medium
JP2013513876A (en) Program, computer system and method for processing streams with multiple granularities
CN110177288A (en) Audio/video data transmission method, device, electronic equipment and computer-readable medium
WO2019103293A1 (en) Distributed transcoding cloud service system
CN114040017A (en) Remote desktop server camera relocation system and method for Android system
CN102752666A (en) ICS streaming media platform system
CN113703909A (en) Dual-system simultaneous operation device and method
WO2015050385A1 (en) Method and device for distributing load according to characteristic of frame
CN102340519A (en) Multimedia network data sharing system
CN102355491A (en) Cloud computing based digital campus audio/video distribution system and method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11861012

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11861012

Country of ref document: EP

Kind code of ref document: A1