KR20130078300A - Server and method for executing virtual application requested from device, and the device - Google Patents

Server and method for executing virtual application requested from device, and the device Download PDF

Info

Publication number
KR20130078300A
KR20130078300A KR1020110147163A KR20110147163A KR20130078300A KR 20130078300 A KR20130078300 A KR 20130078300A KR 1020110147163 A KR1020110147163 A KR 1020110147163A KR 20110147163 A KR20110147163 A KR 20110147163A KR 20130078300 A KR20130078300 A KR 20130078300A
Authority
KR
South Korea
Prior art keywords
application
terminal
data
server
execution
Prior art date
Application number
KR1020110147163A
Other languages
Korean (ko)
Other versions
KR101909257B1 (en
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 KR1020110147163A priority Critical patent/KR101909257B1/en
Publication of KR20130078300A publication Critical patent/KR20130078300A/en
Application granted granted Critical
Publication of KR101909257B1 publication Critical patent/KR101909257B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)

Abstract

PURPOSE: A server and a method capable of executing a virtual application which is requested from a terminal and the terminal are provided to execute the application which is requested from the terminal and are provided to provide the result data which corresponds to a control signal of the terminal to the terminal, thereby executing the virtual application instead of the terminal. CONSTITUTION: An application execution data management unit (12) stores the execution data of the application which is related to a terminal. A request signal receiving unit (11) receives a request signal which requests the execution of the application from the terminal. An application execution unit (13) uses the execution data and executes the application. An application data processing unit (14) generates the result data which corresponds to a control signal of the terminal, based on the application. The application data processing unit collects the data from an external server based on the control signal, and generates the result data based on the collected data. [Reference numerals] (11) Request signal receiving unit; (12) Application execution data management unit; (13) Application execution unit; (14) Application data processing unit; (15) Application data receiving unit; (16) Session connection processing unit; (AA) Terminal; (BB) Request signal; (CC) Result data; (DD) Control signal

Description

단말로부터 요청된 가상 어플리케이션을 실행하는 서버 및 방법, 그리고 단말{SERVER AND METHOD FOR EXECUTING VIRTUAL APPLICATION REQUESTED FROM DEVICE, AND THE DEVICE}SERVER AND METHOD FOR EXECUTING VIRTUAL APPLICATION REQUESTED FROM DEVICE, AND THE DEVICE}

어플리케이션을 실행하는 서버 및 방법에 관한 것으로, 보다 상세하게는 단말로부터 요청된 가상 어플리케이션을 실행하는 서버 및 방법, 그리고 단말에 관한 것이다. The present invention relates to a server and a method for executing an application, and more particularly, to a server and a method for executing a virtual application requested from a terminal, and a terminal.

일반적으로 IPTV 서비스 플랫폼은 컨텐츠 공급자로부터 컨텐츠 및 메타데이터를 입수하여 단말로 제공하는 시스템, 프로그램 공급자가 제공하는 실시간 방송을 단말로 제공하고 시청이 가능하도록 방송 채널정보 및 각 채널 별 프로그램 편성정보를 제공하는 시스템, 그리고 어플리케이션 서비스가 가능한 시스템으로 구성될 수 있다. 또한, IPTV 서비스 단말(STB)는 다양한 제조사를 통해 공급되고, 단말 내에서 어플리케이션을 구동하기 위한 미들웨어를 포함한다. 그러나, 미들웨어는 미리 약속된 어플리케이션의 동작만을 보장하거나, 하나의 어플리케이션만을 동작만을 보장하기 때문에 다양한 응용 서비스를 제공하기에 부족하다. In general, the IPTV service platform obtains content and metadata from a content provider and provides the terminal to the terminal, and provides the broadcasting channel information and program programming information for each channel so that the terminal can provide real-time broadcasting provided by the program provider to the terminal. System, and a system capable of application services. In addition, the IPTV service terminal (STB) is supplied through various manufacturers, and includes middleware for running an application in the terminal. However, the middleware is insufficient to provide various application services because it guarantees only the operation of a predetermined application or only one application.

한편, N 스크린(Screen) 서비스는 TV, PC, 태블릿 PC 또는 스마트폰 등의 다양한 기기에서 독립적으로 이용하던 서비스를 사용자 또는 컨텐츠를 중심으로 복합적으로 이용할 수 있게 해주는 서비스이다. 이러한 N 스크린 서비스가 제공됨에 있어서, 다양한 종류의 복수의 기기에서 동시에 동일한 컨텐츠를 재생시키는 기술 및 복수의 기기 중 어느 하나의 단말에서 재생하던 컨텐츠를 복수의 기기 중 다른 기기에서 끊임 없이(Seamless) 재생하는 기술 등이 요구된다. 이와 관련하여, 선행기술인 한국 특허공개번호 제2011-0009587에는 복수의 단말로 동용상 컨텐츠를 제공하는 컨텐츠 서버 간의 재생 이력 동기화를 구현하여 이 기종 단말간의 동영상 컨텐츠 이어보기를 제공하는 구성이 개시되어 있다. On the other hand, N Screen (Screen) service is a service that allows independent use of various services such as TV, PC, Tablet PC, or smart phone, to utilize services based on users or contents. In the provision of the N screen service, a technology of simultaneously playing the same content on a plurality of devices of various types and seamlessly playing back content played on any one terminal of the plurality of devices on another device of the plurality of devices is seamless. Technology is required. In this regard, Korean Patent Publication No. 2011-0009587, which is a prior art, discloses a configuration for providing video content replay between heterogeneous terminals by implementing synchronization of playback history between content servers providing content for a plurality of terminals. .

단말을 대신하여 가상 어플리케이션을 실행함으로써, 다양한 응용 서비스를 제공할 수 있는 가상 어플리케이션 서버 및 방법을 제공할 수 있다. 클라우드 기술에 기반하여 웹, Java, Android 등 다양한 플랫폼의 어플리케이션이 멀티 태스킹 환경에서 구동될 수 있다. 어플리케이션들이 상호간에 연동되어 데이터를 송수신할 수 있다. 단말의 기능을 가볍게 구현함으로써, 웹 브라우져만을 탑재한 N-스크린 단말에서 IPTV 서비스를 이용할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다. By executing a virtual application on behalf of the terminal, it is possible to provide a virtual application server and method that can provide a variety of application services. Based on cloud technology, applications from various platforms such as Web, Java, and Android can run in a multitasking environment. Applications can interact with each other to send and receive data. By lightly implementing the function of the terminal, the IPTV service can be used in the N-screen terminal equipped only with a web browser. It is to be understood, however, that the technical scope of the present invention is not limited to the above-described technical problems, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는 단말과 연관된 적어도 하나 이상의 어플리케이션의 실행 데이터를 저장하는 어플리케이션 실행 데이터 관리부, 상기 단말로부터 상기 적어도 하나 이상의 어플리케이션 중 어느 하나의 어플리케이션의 실행을 요청하는 요청 신호를 수신하는 요청 신호 수신부, 상기 실행 데이터를 이용하여 상기 어느 하나의 어플리케이션을 실행하는 어플리케이션 실행부 및 상기 실행된 어플리케이션에 기초하여 상기 단말로부터 수신된 제어 신호에 대응하는 결과 데이터를 생성하는 어플리케이션 데이터 처리부를 포함하는 가상 어플리케이션 서버를 제공할 수 있다. As a technical means for achieving the above technical problem, an embodiment of the present invention is an application execution data management unit for storing the execution data of at least one or more applications associated with the terminal, the application of any one of the at least one application from the terminal A request signal receiving unit for receiving a request signal for requesting execution of an application; an application executing unit executing the one application using the execution data; and a result corresponding to a control signal received from the terminal based on the executed application A virtual application server including an application data processing unit for generating data may be provided.

또한, 본 발명의 다른 실시예에 따르면, 어플리케이션 데이터 처리부는 상기 단말에서 인식 가능한 제 1 프로토콜을 이용하여 상기 제어 신호를 수신하고, 상기 단말에서 인식 가능하지 않은 제 2 프로토콜을 이용하여 상기 데이터를 수집하고, 상기 제 1 프로토콜을 이용하여 상기 생성된 결과 데이터를 상기 단말로 전송할 수 있다. According to another embodiment of the present invention, the application data processing unit receives the control signal using a first protocol recognizable by the terminal and collects the data using a second protocol not recognizable by the terminal. The generated result data may be transmitted to the terminal using the first protocol.

또한, 본 발명의 또 다른 실시예는 단말과 연관된 적어도 하나 이상의 어플리케이션의 실행 데이터를 저장하는 단계, 상기 단말로부터 상기 적어도 하나 이상의 어플리케이션 중 어느 하나의 어플리케이션의 실행을 요청하는 요청 신호를 수신하는 단계, 상기 실행 데이터를 이용하여 상기 어느 하나의 어플리케이션을 실행하는 단계, 상기 실행된 어플리케이션에 기초하여 상기 단말로부터 제어 신호를 수신하는 단계, 상기 수신된 제어 신호에 대응하는 결과 데이터를 생성하는 단계 및 상기 생성된 결과 데이터를 상기 단말로 전송하는 단계를 포함하는 어플리케이션 실행 방법을 제공할 수 있다. In still another embodiment of the present invention, the method may further include storing execution data of at least one application associated with a terminal, receiving a request signal for requesting execution of any one of the at least one application from the terminal; Executing the one application using the execution data, receiving a control signal from the terminal based on the executed application, generating result data corresponding to the received control signal, and generating It may provide an application execution method comprising the step of transmitting the result data to the terminal.

또한, 본 발명의 또 다른 실시예는 사용자 인터페이스로부터 적어도 하나 이상의 어플리케이션 중 어느 하나의 어플리케이션의 실행을 요청하는 신호를 입력받는 신호 입력부, 상기 어느 하나의 어플리케이션의 실행을 요청하는 요청 신호를 생성하는 요청 신호 생성부, 상기 생성된 요청 신호를 가상 어플리케이션 서버로 전송하는 요청 신호 전송부, 상기 가상 어플리케이션 서버로부터 상기 가상 어플리케이션 서버에서 상기 어느 하나의 어플리케이션이 실행되고 있음을 알리는 응답 신호를 수신하는 응답 신호 수신부 및 상기 실행된 어플리케이션에 기초하여 상기 가상 어플리케이션 서버로 제어 신호를 전송하고, 전송된 제어 신호에 대응하는 결과 데이터를 수신하는 어플리케이션 데이터 처리부를 포함하는 단말을 제공할 수 있다. In addition, another embodiment of the present invention is a signal input unit for receiving a signal for requesting the execution of any one of the at least one application from the user interface, request for generating a request signal for requesting the execution of any one application A signal generator, A request signal transmitter for transmitting the generated request signal to the virtual application server, Response signal receiver for receiving a response signal indicating that any one application is running in the virtual application server from the virtual application server And an application data processor configured to transmit a control signal to the virtual application server based on the executed application and to receive result data corresponding to the transmitted control signal.

단말로부터 요청된 어플리케이션을 실행하고, 단말로부터 수신된 제어 신호에 대응하는 결과 데이터를 단말로 제공함으로써, 단말을 대신하여 가상 어플리케이션을 실행하는 가상 어플리케이션 서버 및 방법을 제공할 수 있다. 단말에서 인식 가능한 제 1 프로토콜을 이용하여 제어 신호를 수신하고, 단말에서 인식 가능하지 않은 제 2 프로토콜을 이용하여 데이터를 수집함으로써, 클라우드 기술에 기반하여 웹, Java, Android 등 다양한 플랫폼의 어플리케이션이 멀티 태스킹 환경에서 구동될 수 있다. 어플리케이션들이 상호간에 연동되어 데이터를 송수신할 수 있다. 단말의 기능을 가볍게 구현함으로써, 웹 브라우져만을 탑재한 N-스크린 단말에서 IPTV 서비스를 이용할 수 있다. By executing an application requested from a terminal and providing result data corresponding to a control signal received from the terminal to the terminal, a virtual application server and a method for executing a virtual application on behalf of the terminal can be provided. By receiving a control signal using a first protocol that can be recognized by the terminal and collecting data by using a second protocol that is not recognizable by the terminal, applications of various platforms such as web, Java, Android, etc. can be multiplied based on cloud technology. Can be driven in a tasking environment. Applications can interact with each other to send and receive data. By lightly implementing the function of the terminal, the IPTV service can be used in the N-screen terminal equipped only with a web browser.

도 1은 본 발명의 일 실시예에 따른 스마트 클라우드 시스템의 구성도이다.
도 2는 도 1에 도시된 가상 어플리케이션 서버(10)의 구성도이다.
도 3은 도 2의 단말(20)에서 재생되는 컨텐츠와 연관된 어플리케이션 리스트의 일 예들을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 어플리케이션 실행부(13), 어플리케이션 데이터 처리부(14) 및 어플리케이션 데이터 송수신부(15)의 구성도이다.
도 5는 도 1에 도시된 가상 어플리케이션 서버(10)의 동작의 일 예를 나타낸 동작 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 단말(20)의 구성도이다.
도 7은 본 발명의 일 실시예에 따른 어플리케이션 실행 방법을 나타낸 동작 흐름도이다.
1 is a block diagram of a smart cloud system according to an embodiment of the present invention.
2 is a configuration diagram of the virtual application server 10 shown in FIG. 1.
FIG. 3 is a diagram illustrating examples of an application list associated with content played in the terminal 20 of FIG. 2.
4 is a block diagram of the application execution unit 13, the application data processing unit 14 and the application data transmission and reception unit 15 according to an embodiment of the present invention.
5 is a flowchart illustrating an example of an operation of the virtual application server 10 illustrated in FIG. 1.
6 is a configuration diagram of a terminal 20 according to an embodiment of the present invention.
7 is a flowchart illustrating an application execution method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.

도 1은 본 발명의 일 실시예에 따른 스마트 클라우드 시스템의 구성도이다. 도 1을 참조하면, 스마트 클라우드 시스템은 가상 어플리케이션 서버(10), 복수의 단말(21 내지 23), 컨텐츠 서버(30), 부가 정보 에이전트 서버(40), 홈포털 웹 서버(50), 서비스 브로커 서버(60), 가상화 세션 브로커 서버(70) 및 어플리케이션 관리 서버(80)를 포함한다. 다만, 이러한 도 1의 스마트 클라우드 시스템은 본 발명의 일 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니다. 예를 들어, 본 발명의 다양한 실시예에 따르면, 스마트 클라우드 시스템은 복수의 단말(21 내지 23)들간의 원격 제어 세션 연결을 관리하는 원격 제어 관리 서버를 더 포함할 수도 있다. 1 is a block diagram of a smart cloud system according to an embodiment of the present invention. Referring to FIG. 1, the smart cloud system includes a virtual application server 10, a plurality of terminals 21 to 23, a content server 30, an additional information agent server 40, a home portal web server 50, and a service broker. Server 60, virtualization session broker server 70, and application management server 80. However, since the smart cloud system of FIG. 1 is only an embodiment of the present invention, the present invention is not limitedly interpreted through FIG. 1. For example, according to various embodiments of the present disclosure, the smart cloud system may further include a remote control management server that manages a remote control session connection between the plurality of terminals 21 to 23.

스마트 클라우드 시스템을 구성하는 구성하는 도 1의 각 구성요소들은 일반적으로 네트워크(network)를 통해 연결된다. 네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크(network)의 일 예에는 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network) 등이 포함되나 이에 한정되지는 않는다. Each component of FIG. 1 constituting the smart cloud system is generally connected through a network. The network refers to a connection structure capable of exchanging information between nodes such as terminals and servers. An example of such a network is the Internet, a LAN (Local Area Network), a Wireless LAN Local Area Network (WAN), Wide Area Network (WAN), Personal Area Network (PAN), and the like.

복수의 단말(21 내지 23)은 컨텐츠를 소비한다. 또한, 복수의 단말(21 내지 23)은 어플리케이션을 기반으로 서비스를 제공한다. 일반적으로, 복수의 단말(21 내지 23)은 내부에 어플리케이션의 실행 데이터를 저장된 실행 데이터에 기초하여 어플리케이션을 실행할 수 있다. The plurality of terminals 21 to 23 consume content. In addition, the plurality of terminals 21 to 23 provide a service based on the application. In general, the plurality of terminals 21 to 23 may execute the application based on the execution data stored therein.

종래 미들웨어 기반의 단말은 단말에 탑재된 미들웨어를 기반으로 어플리케이션을 실행하고, 미들웨어가 제어하는 방식에 종속되어 어플리케이션에 필요한 데이터를 획득했다. 따라서, 미들웨어 기반의 단말은 미들웨어가 제공하는 통신 프로토콜 또는 언어에 종속될 수 밖에 없었다. 예를 들어, 즉, ACAP-J(Advanced Common Application Protocol-Java) 미들웨어를 탑재한 단말은 java 언어로 개발된 어플리케이션만 구동이 가능하다. A conventional middleware-based terminal executes an application based on the middleware mounted on the terminal, and obtains data necessary for the application depending on the method controlled by the middleware. Therefore, the middleware-based terminal has no choice but to depend on the communication protocol or language provided by the middleware. For example, a terminal equipped with ACAP-J (Advanced Common Application Protocol-Java) middleware can only run an application developed in the java language.

이에 대한 해결책으로서, 본 발명의 스마트 클라우드 시스템은 미들웨어 및 단말 소프트웨어와 같은 단말에서 요구하는 다양한 어플리케이션을 가상화함으로써, 단말의 기능을 가볍게 구현할 수 있다. 또한, 본 발명의 스마트 클라우드 시스템은 가상 어플리케이션을 기반으로 단말로 컨텐츠 메뉴와 메타데이터를 제공하여 단말로 하여금 시청할 컨텐츠를 선택할 수 있게 하고, 방송 및 VOD 재생제어 기능을 제공하는 홈포털 서비스를 웹 기반으로 제공함으로써 단말로 다양한 응용 서비스를 제공할 수 있다. As a solution to this, the smart cloud system of the present invention can implement a function of the terminal lightly by virtualizing various applications required by the terminal, such as middleware and terminal software. In addition, the smart cloud system of the present invention provides a content menu and metadata to a terminal based on a virtual application to allow the terminal to select content to watch, and provides a web-based home portal service that provides broadcasting and VOD playback control functions. By providing it, it is possible to provide a variety of application services to the terminal.

가상 어플리케이션 서버(10)는 어플리케이션을 실행한다. 이와 같은, 가상 어플리케이션 서버(10)는 다양한 플랫폼의 어플리케이션을 수용하기 위하여 웹, ACAP, Java, Android, IOS 등 다양한 실행 환경에 구동 가능한 어플리케이션 실행 데이터를 저장할 수 있다. 또한, 가상 어플리케이션 서버(10)는 하나의 단말 또는 하나의 사용자에 대응하는 여러 어플리케이션을 동시에 실행하고, 어플리케이션간의 세션 전환을 기반으로 복수의 단말(21 내지 23)로 멀티태스킹 환경을 제공할 수 있다. The virtual application server 10 executes an application. As such, the virtual application server 10 may store application execution data that can be driven in various execution environments such as web, ACAP, Java, Android, IOS, etc. to accommodate applications of various platforms. In addition, the virtual application server 10 may simultaneously execute several applications corresponding to one terminal or one user and provide a multitasking environment to the plurality of terminals 21 to 23 based on session switching between applications. .

가상 어플리케이션 서버(10)는 실행된 어플리케이션에 기초하여 단말로부터 수신된 제어 신호에 대응하는 결과 데이터를 생성하고, 생성된 결과 데이터를 단말로 응답한다. 예를 들어, 가상 어플리케이션 서버(10)는 단일 OS를 기반으로 복수의 가상 어플리케이션들을 구동하고, 구동된 각각의 가상 어플리케이션을 기반으로 여러 사용자들의 단말들 각각으로부터 입력된 제어 신호에 대응하는 결과 데이터를 단말들 각각으로 응답할 수 있다. The virtual application server 10 generates result data corresponding to the control signal received from the terminal based on the executed application, and responds to the generated result data to the terminal. For example, the virtual application server 10 drives a plurality of virtual applications based on a single OS, and outputs result data corresponding to control signals input from each of terminals of various users based on each of the driven virtual applications. It may respond to each of the terminals.

가상 어플리케이션 서버(10)는 사용자 단말 별로 세션을 설정하고, 사용자 단말들의 복수의 어플리케이션들을 실행할 수 있다. 예를 들어, 가상 어플리케이션 서버(10)는 제 1 사용자의 단말과 세션을 연결하고 연결된 세션에 기초하여 제 1 어플리케이션에 대한 제어 신호 및 결과 데이터를 제 1 사용자의 단말과 송수신하고, 제 2 사용자의 단말과 세션을 연결하고 연결된 세션에 기초하여 제 2 어플리케이션에 대한 제어 신호 및 결과 데이터를 제 2 사용자의 단말과 송수신할 수 있다. The virtual application server 10 may set a session for each user terminal and execute a plurality of applications of the user terminals. For example, the virtual application server 10 connects a session with a terminal of the first user and transmits and receives a control signal and result data for the first application with the terminal of the first user based on the connected session. A session may be connected to the terminal and the control signal and the result data for the second application may be transmitted and received with the terminal of the second user based on the connected session.

또한, 가상 어플리케이션 서버(10)는 복수의 플랫폼 별로 서로 다른 그룹을 설정하고 그룹 별로 어플리케이션을 실행할 수도 있다. 예를 들어, 가상 어플리케이션 서버(10)는 윈도우 기반의 어플리케이션들, 안드로이드 기반의 어플리케이션들, 자바 기반의 어플리케이션들을 각각 서로 다른 그룹으로 분류하고, 분류된 그룹 별로 어플리케이션을 실행할 수 있다. In addition, the virtual application server 10 may set different groups for each of a plurality of platforms and execute applications for each group. For example, the virtual application server 10 may classify window-based applications, Android-based applications, and Java-based applications into different groups, and execute applications according to the classified groups.

또한, 가상 어플리케이션 서버(10) 내부의 적어도 하나의 어플리케이션과 단말들간의 세션 연결은 세션 브로커 서버(70)에 의하여 제어될 수 있다. 예를 들어, 가상 어플리케이션 서버(10)는 가상화 세션 브로커 서버(70)의 제어에 대응하여 단말과의 세션 연결을 수행하고, 수행된 세션 연결을 기반으로 가상 어플리케이션 서버(10)에서 실행되는 어플리케이션에 대한 제어 신호 및 결과 데이터를 단말과 송수신할 수 있다. In addition, session connection between at least one application and terminals in the virtual application server 10 may be controlled by the session broker server 70. For example, the virtual application server 10 performs a session connection with the terminal in response to the control of the virtualization session broker server 70, and based on the session connection, the application executed in the virtual application server 10. The control signal and the result data can be transmitted and received with the terminal.

복수의 단말(21 내지 23)은 복수의 단말(21 내지 23) 각각에서 소비되는 컨텐츠와 연관된 어플리케이션의 실행을 가상 어플리케이션 서버(10)로 요청하고, 실행된 어플리케이션에 대한 제어신호 및 결과 데이터를 가상 어플리케이션 서버(10)와 송수신한다. 예를 들어, 복수의 단말(21 내지 23)은 디스플레이를 통해 표시되는 컨텐츠의 상단에 오버레이된 어플리케이션들 중 상품 구매 어플리케이션의 실행을 가상 어플리케이션 서버(10)로 요청하고, 실행된 상품 구매 어플리케이션에 대한 제어신호 및 결과 데이터를 가상 어플리케이션 서버(10)와 송수신한다. The plurality of terminals 21 to 23 request the virtual application server 10 to execute an application associated with the content consumed by each of the plurality of terminals 21 to 23, and virtualize control signals and result data of the executed application. Transmit and receive with the application server 10. For example, the plurality of terminals 21 to 23 request the virtual application server 10 to execute the product purchase application among the applications overlaid on the content displayed on the display, and to execute the product purchase application. The control signal and the result data are transmitted and received with the virtual application server 10.

컨텐츠 서버(30)는 복수의 단말(21 내지 23)로 컨텐츠를 제공한다. 예를 들어, 컨텐츠 서버(30)는 복수의 단말(21 내지 23)로 VoD(Video on Demand) 컨텐츠 또는 실시간 방송 컨텐츠를 제공할 수 있다. 또한, 컨텐츠 서버(30)는 복수의 단말(21 내지 23)로 컨텐츠에 대한 부가 정보를 제공할 수도 있다. The content server 30 provides content to the plurality of terminals 21 to 23. For example, the content server 30 may provide video on demand (VOD) content or real-time broadcast content to the plurality of terminals 21 to 23. In addition, the content server 30 may provide additional information about the content to the plurality of terminals 21 to 23.

컨텐츠 서버(30)는 복수의 단말(21 내지 23)로 컨텐츠를 제공함과 동시에 제공된 컨텐츠에 대한 부가 정보를 가상 어플리케이션 서버(10)로 제공할 수 있다. 예를 들어, 컨텐츠 서버(30)는 복수의 단말(21 내지 23)로 컨텐츠를 제공함과 동시에, 가상 어플리케이션 서버(10)로부터의 요청에 대응하여 컨텐츠에 대한 상품 구매 정보 또는 EPG(Electronic Program Guide) 정보를 가상 어플리케이션 서버(10)로 전송할 수 있다. 이 경우, 부가 정보는 가상 어플리케이션 서버(10)에서 실행되는 어느 하나의 어플리케이션에서 요청한 부가 정보일 수 있다. The content server 30 may provide content to the plurality of terminals 21 to 23 and provide additional information about the provided content to the virtual application server 10. For example, the content server 30 provides the content to the plurality of terminals 21 to 23, and at the same time, the product purchase information or the EPG (Electronic Program Guide) for the content in response to a request from the virtual application server 10. Information may be transmitted to the virtual application server 10. In this case, the additional information may be additional information requested by any one application executed in the virtual application server 10.

부가 정보 에이전트 서버(40)는 가상 어플리케이션 서버(10)로부터 수신된 요청에 대응하여 데이터를 수집하고 관리한다. 예를 들어, 부가 정보 에이전트 서버(40)는 가상 어플리케이션 서버(10)에서 요청한 부가 정보를 컨텐츠 서버(30)로부터 수집하여 가상 어플리케이션 서버(10)로 제공할 수 있다. 다른 예를 들어, 부가 정보 에이전트 서버(40)는 가상 어플리케이션 서버(10)에서 요청한 웹 컨텐츠를 웹 서버로부터 수집하여 가상 어플리케이션 서버(10)로 제공할 수도 있다. 이 때, 부가 정보는 가상 어플리케이션 서버(10)에서 실행되는 어플리케이션이 외부 연동형 어플리케이션인 경우 어플리케이션의 동작 또는 단말의 요청에 대응하는 부가 정보를 의미하는 것으로서, 부가 정보 에이전트 서버(40)는 어플리케이션의 동작 또는 단말의 요청에 대응하는 부가 정보를 가상 어플리케이션 서버(10)를 대신하여 수집할 수 있다. The additional information agent server 40 collects and manages data in response to a request received from the virtual application server 10. For example, the additional information agent server 40 may collect additional information requested by the virtual application server 10 from the content server 30 and provide the additional information to the virtual application server 10. For another example, the additional information agent server 40 may collect the web content requested by the virtual application server 10 from the web server and provide the collected web content to the virtual application server 10. In this case, the additional information refers to additional information corresponding to an operation of the application or a request of the terminal when the application executed in the virtual application server 10 is an external interlocking application. Additional information corresponding to an operation or a request of a terminal may be collected on behalf of the virtual application server 10.

홈포털 웹 서버(50)는 복수의 단말(21 내지 23)로 홈포털 서비스를 제공한다. 이 때, 홈포털 서비스는 방송 서비스의 기본 어플리케이션의 하나로서 리모콘과 같은 입력 장치를 통해 홈키를 누르면 바로 화면에 출력될 수 있도록 지속적으로 세션을 유지하여, 다른 어플리케이션으로 화면전환 후 홈포털을 다시 실행하면 기본 어플리케이션으로 화면이 전환되는 서비스를 의미할 수 있다. The home portal web server 50 provides a home portal service to the plurality of terminals 21 to 23. At this time, the home portal service is one of the basic applications of the broadcast service, and maintains the session continuously so that it can be immediately displayed on the screen when the home key is pressed through an input device such as a remote controller. This may mean a service that the screen is switched to the basic application.

홈포털 웹 서버(50)는 가상 어플리케이션 서버(10)와 홈포털 서비스와 관련된 데이터를 송수신한다. 이 때, 홈포털 서비스와 관련된 데이터는 가상 어플리케이션 서버(10)에서 실행되는 가상의 기본 어플리케이션 또는 기본 어플리케이션에 대한 UI(User Interface) 어플리케이션과 관련된 데이터를 의미할 수 있다. 예를 들어, 단말에서 기본 어플리케이션인 홈포털 어플리케이션이 실행되고, 가상 어플리케이션 서버(10)에서 홈포털 어플리케이션과 연관된 UI 어플리케이션이 실행되는 경우, 홈포털 웹 서버(50)는 가상 어플리케이션 서버(10)와 UI 어플리케이션과 관련된 데이터를 송수신할 수 있다. 다른 예를 들어, 단말에서 기본 어플리케이션인 홈포털 어플리케이션이 실행되는 경우, 홈포털 웹 서버(50)는 가상 어플리케이션 서버(10)와 홈포털 어플리케이션과 관련된 데이터를 송수신할 수 있다. 이 때, 홈포털 어플리케이션과 관련된 데이터의 일 예에는 메타데이터가 포함되고, 이 경우, 가상 어플리케이션 서버(10)는 단말을 대신하여 데이터베이스와 같은 리소스를 제공할 수 있다. The home portal web server 50 transmits and receives data related to the home portal service with the virtual application server 10. In this case, the data related to the home portal service may mean data related to a virtual basic application executed in the virtual application server 10 or a user interface (UI) application for the basic application. For example, when a home portal application, which is a basic application, is executed in a terminal and a UI application associated with the home portal application is executed in the virtual application server 10, the home portal web server 50 is connected to the virtual application server 10. Send and receive data related to UI applications. For another example, when the home portal application, which is a basic application, is executed in the terminal, the home portal web server 50 may transmit and receive data related to the home portal application with the virtual application server 10. In this case, one example of data related to the home portal application includes metadata, and in this case, the virtual application server 10 may provide a resource such as a database on behalf of the terminal.

서비스 브로커 서버(60)는 복수의 단말(21 내지 23)간의 세션 연결을 관리할 수도 있다. 예를 들어, 서비스 브로커 서버(60)는 복수의 단말(21 내지 23) 중 단말(23)에서 수신된 단말(21)에 대한 원격 제어 요청에 기초하여, 단말(23)과 단말(21)간의 원격 제어를 위한 세션 연결을 수행할 수 있다. The service broker server 60 may manage session connection between the plurality of terminals 21 to 23. For example, the service broker server 60 may establish a connection between the terminal 23 and the terminal 21 based on a remote control request for the terminal 21 received from the terminal 23 among the plurality of terminals 21 to 23. You can perform a session connection for remote control.

가상화 세션 브로커 서버(70)는 복수의 단말(21 내지 23)과 가상 어플리케이션 서버(10)간의 세션 연결을 관리한다. 예를 들어, 가상화 세션 브로커 서버(70)는 가상 어플리케이션 서버(10)의 어플리케이션의 실행, 동작 또는 종료를 제어할 수 있다. 또한, 가상화 세션 브로커 서버(70)는 복수의 단말(21 내지 23) 각각의 세션 정보를 저장할 수 있다. 이러한 세션 정보의 일 예에는 복수의 단말(21 내지 23) 별 어플리케이션 이용 통계 정보, 인증 정보 등이 포함된다. 또한, 가상화 세션 브로커 서버(70)는 어플리케이션들간의 세션 연결을 관리한다. 예를 들어, 가상화 세션 브로커 서버(70)는 가상 어플리케이션 서버(10) 내부에서 실행되는 복수의 어플리케이션들간에 세션 연결을 관리할 수 있다. 다른 예를 들어, 가상화 세션 브로커 서버(70)는 단말(21)에서 실행되는 제 1 어플리케이션과 가상 어플리케이션 서버(10)에서 실행되는 제 2 어플리케이션간의 세션 연결을 관리할 수도 있다. The virtualization session broker server 70 manages a session connection between the plurality of terminals 21 to 23 and the virtual application server 10. For example, the virtualization session broker server 70 may control execution, operation or termination of an application of the virtual application server 10. In addition, the virtualization session broker server 70 may store session information of each of the plurality of terminals 21 to 23. One example of such session information includes application usage statistics information, authentication information, and the like for each of the plurality of terminals 21 to 23. In addition, the virtualization session broker server 70 manages session connections between applications. For example, the virtualization session broker server 70 may manage session connections between a plurality of applications running inside the virtual application server 10. For another example, the virtualization session broker server 70 may manage a session connection between the first application running on the terminal 21 and the second application running on the virtual application server 10.

가상화 세션 브로커 서버(70)는 복수의 단말(21 내지 23)의 어플리케이션들간의 세션 연결을 관리할 수도 있다. 예를 들어, 가상화 세션 브로커 서버(70)는 복수의 단말(21 내지 23) 중 단말(23)에서 수신된 단말(21)에 대한 원격 제어 요청에 기초하여, 단말(23)의 제 1 어플리케이션과 단말(21)의 제 2 어플리케이션간의 원격 제어를 위한 세션 연결을 수행할 수 있다. The virtualization session broker server 70 may manage session connection between applications of the plurality of terminals 21 to 23. For example, the virtualization session broker server 70 is based on the remote control request for the terminal 21 received from the terminal 23 of the plurality of terminals 21 to 23 and the first application of the terminal 23. A session connection for remote control between the second applications of the terminal 21 may be performed.

가상화 세션 브로커 서버(70)는 단말(21)과 가상 어플리케이션 서버(10)간의 세션 연결을 수행하고, 이러한 세션 연결을 기반으로 단말(21)과 가상 어플리케이션 서버(10)에서 실행된 어플리케이션간의 데이터 송수신을 관리할 수 있다. 또한, 가상화 세션 브로커 서버(70)는 단말(21)로 가상 어플리케이션 서버(10)의 접속정보를 전달해주고, 단말(21)과 가상 어플리케이션 서버(10)간의 가상 세션을 유도할 수도 있다. 또한, 가상화 세션 브로커 서버(70)는 복수의 단말(21 내지 23) 각각과 가상 어플리케이션 서버(10)와의 세션 연결 각각을 수행하고, 세션 연결간의 우선 순위를 관리할 수도 있고, 각각의 단말과 가상 어플리케이션 서버(10)의 복수의 어플리케이션 각각과의 데이터 송수신을 관리할 수도 있다. The virtualization session broker server 70 performs a session connection between the terminal 21 and the virtual application server 10, and transmits and receives data between applications executed in the terminal 21 and the virtual application server 10 based on the session connection. Can manage. In addition, the virtual session broker server 70 may transmit the access information of the virtual application server 10 to the terminal 21, and may induce a virtual session between the terminal 21 and the virtual application server 10. In addition, the virtualization session broker server 70 may perform session connection with each of the plurality of terminals 21 to 23 and the virtual application server 10, and may manage the priority between session connections, and each terminal and the virtual. Data transmission and reception with each of the plurality of applications of the application server 10 may be managed.

어플리케이션 관리 서버(80)는 가상 어플리케이션 서버(10)로 어플리케이션 실행 데이터를 제공한다. 이 때, 어플리케이션 관리 서버(80)는 외부 어플리케이션 제공 시스템으로부터 어플리케이션의 실행 데이터를 수집하고, 수집된 실행 데이터를 가상 어플리케이션 서버(10)로 제공할 수 있다. 또한, 어플리케이션 관리 서버(80)는 복수의 단말(21 내지 23)로 제공되는 방송 채널 별 어플리케이션의 실행 데이터를 수집하여, 가상 어플리케이션 서버(10)로 제공할 수도 있다. The application management server 80 provides application execution data to the virtual application server 10. In this case, the application management server 80 may collect execution data of an application from an external application providing system and provide the collected execution data to the virtual application server 10. In addition, the application management server 80 may collect execution data of applications for each broadcast channel provided to the plurality of terminals 21 to 23, and provide the collected data to the virtual application server 10.

앞서 설명된 바와 같이, 복수의 단말(21 내지 23) 각각은 컨텐츠를 소비하고, 컨텐츠와 연관된 어플리케이션의 실행을 가상 어플리케이션 서버(10)로 요청한다. 이 때, 복수의 단말(21 내지 23)은 동일 사용자 정보에 등록된 N 스크린 단말들일 수 있다. As described above, each of the plurality of terminals 21 to 23 consumes content and requests the virtual application server 10 to execute an application associated with the content. In this case, the plurality of terminals 21 to 23 may be N screen terminals registered in the same user information.

본 발명의 다양한 실시예들에 따르면 복수의 단말(21 내지 23) 각각은 다양한 형태의 단말이다. 예를 들어, 단말은 네트워크를 통해 원격지의 서버에 접속할 수 있는 TV 장치, 컴퓨터 또는 휴대용 단말일 수 있다. 여기서, TV 장치의 일 예에는 스마트 TV, IPTV 셋톱박스 등이 포함되고, 컴퓨터의 일 예에는 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등이 포함되고, 휴대용 단말의 일 예에는 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(smartphone), 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치가 포함될 수 있다. According to various embodiments of the present invention, each of the plurality of terminals 21 to 23 is various types of terminals. For example, the terminal may be a TV device, a computer, or a portable terminal capable of connecting to a remote server via a network. Here, an example of the TV apparatus includes a smart TV, an IPTV set-top box, and the like. Examples of the computer include a notebook computer, a desktop computer, a laptop computer, One example of the terminal includes a Personal Communication System (PCS), a Global System for Mobile Communications (GSM), a Personal Digital Cellular (PDC), a Personal Handyphone System (PHS) Assistant, IMT (International Mobile Telecommunication) -2000, Code Division Multiple Access (CDMA) -2000, W-Code Division Multiple Access (W-CDMA), Wibro (Wireless Broadband Internet) terminals, smart phones, And the like may be included in the present invention.

이하에서는 도 1의 가상 어플리케이션 서버(10)의 동작에 대해서 보다 상세하게 설명한다. Hereinafter, the operation of the virtual application server 10 of FIG. 1 will be described in more detail.

도 2는 도 1에 도시된 가상 어플리케이션 서버(10)의 구성도이다. 도 2를 참조하면, 가상 어플리케이션 서버(10)는 요청 신호 수신부(11), 어플리케이션 실행 데이터 관리부(12), 어플리케이션 실행부(13), 어플리케이션 데이터 처리부(14), 어플리케이션 데이터 송수신부(15), 세션 연결 처리부(16) 및 데이터 베이스(17)를 포함한다. 2 is a configuration diagram of the virtual application server 10 shown in FIG. 1. Referring to FIG. 2, the virtual application server 10 includes a request signal receiver 11, an application execution data manager 12, an application executor 13, an application data processor 14, an application data transceiver 15, A session connection processor 16 and a database 17.

다만, 도 2에 도시된 가상 어플리케이션 서버(10)는 본 발명의 하나의 구현 예에 불과하며, 도 2에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다. 예를 들어, 가상 어플리케이션 서버(10)는 관리자로부터 어떤 명령 내지 정보를 입력받기 위한 관리자 인터페이스가 더 포함될 수 있다. 이 경우, 관리자 인터페이스는 일반적으로 키보드, 마우스 등과 같은 입력 장치가 될 수도 있으나, 영상 표시 장치에 표현되는 그래픽 유저 인터페이스(GUI, Graphical User interface)가 될 수도 있다. However, the virtual application server 10 shown in FIG. 2 is only one implementation example of the present invention, and various modifications are possible based on the components shown in FIG. 2. For example, the virtual application server 10 may further include an administrator interface for receiving a certain command or information from the administrator. In this case, the manager interface may be an input device such as a keyboard, a mouse, or the like, but may be a graphical user interface (GUI) represented on a video display device.

어플리케이션 실행 데이터 관리부(11)는 단말(20)과 연관된 적어도 하나 이상의 어플리케이션의 실행 데이터를 저장한다. 이 때, 어플리케이션 실행 데이터 관리부(11)는 어플리케이션 관리 서버(80)로 실행 데이터를 요청하고, 요청에 대한 응답으로서 실행 데이터를 수신할 수 있다. The application execution data manager 11 stores execution data of at least one or more applications associated with the terminal 20. At this time, the application execution data manager 11 may request execution data from the application management server 80 and receive the execution data as a response to the request.

어플리케이션 실행 데이터 관리부(11)는 단말(20)로 제공되는 방송 채널과 연관된 적어도 하나 이상의 어플리케이션의 실행 데이터를 어플리케이션 관리 서버(80)로부터 수신할 수도 있다. 이 경우, 어플리케이션 관리 서버(80)는 컨텐츠 서버(30)에서 단말(20)로 전송되는 실시간 방송 스트림의 패킷을 모니터링 및 분석하여 단말(20)로 제공되는 방송 채널과 연관된 적어도 하나 이상의 어플리케이션의 실행 데이터를 획득할 수 있다. The application execution data manager 11 may receive execution data of at least one or more applications associated with the broadcast channel provided to the terminal 20 from the application management server 80. In this case, the application management server 80 monitors and analyzes a packet of a real time broadcast stream transmitted from the content server 30 to the terminal 20 to execute at least one application associated with the broadcast channel provided to the terminal 20. Data can be obtained.

요청 신호 수신부(12)는 단말(20)로부터 적어도 하나 이상의 어플리케이션 중 어느 하나의 어플리케이션의 실행을 요청하는 요청 신호를 수신한다. 이 때, 어플리케이션은 단말(20)에서 재생 중인 컨텐츠와 연관된 어플리케이션이고, 요청 신호는 이러한 컨텐츠의 식별 정보를 포함할 수 있다. 또한, 컨텐츠의 일 예에는 단말(20)로 제공되는 방송 컨텐츠가 포함된다. The request signal receiving unit 12 receives a request signal for requesting execution of any one of at least one application from the terminal 20. At this time, the application is an application associated with the content being played in the terminal 20, the request signal may include identification information of such content. In addition, one example of the content includes broadcast content provided to the terminal 20.

도 3은 도 2의 단말(20)에서 재생되는 컨텐츠와 연관된 어플리케이션 리스트의 일 예들을 나타낸 도면이다. 도 3을 참조하면, 단말(20)은 디스플레이를 통해 컨텐츠의 영상(81)을 재생한다. 도 3을 참조하면, 단말(20)은 컨텐츠의 재생 중에 사용자 인터페이스로부터 입력된 명령에 대응하여 컨텐츠와 연관된 어플리케이션의 리스트(82)를 표시한다. 이 때, 어플리케이션의 리스트(82)의 일 예는 도 3에 도시된 바와 같이 각각의 어플리케이션에 대응하는 아이콘의 그룹일 수 있다. 이러한 어플리케이션의 리스트(82)는 서비스 네비게이터로 표현될 수도 있으며, 일반적으로 어플리케이션의 리스트(82)는 단말(20) 또는 가상 어플리케이션 서버(20)에서 이전에 실행된 적이 있는 어플리케이션을 포함할 수 있다. 예를 들어, 서비스 네비게이터는 가상 어플리케이션 서버(10)에서 사용자의 계정으로 현재 실행되고 있거나, 과거에 실행된 적이 있는 어플리케이션의 리스트이며, 현재 시청 중인 컨텐츠와 연관된 어플리케이션 정보를 보여줄 수도 있다. FIG. 3 is a diagram illustrating examples of an application list associated with content played in the terminal 20 of FIG. 2. Referring to FIG. 3, the terminal 20 plays an image 81 of content through a display. Referring to FIG. 3, the terminal 20 displays a list 82 of applications associated with content in response to a command input from a user interface during content playback. In this case, an example of the list 82 of applications may be a group of icons corresponding to each application as shown in FIG. 3. The list 82 of such applications may be represented by a service navigator, and in general, the list 82 of applications may include an application that has been previously executed in the terminal 20 or the virtual application server 20. For example, the service navigator is a list of applications that are currently running in the virtual application server 10 under the user's account or have been executed in the past, and may show application information related to the content currently being viewed.

어플리케이션의 리스트(82)는 다양한 형태의 어플리케이션의 아이콘을 포함할 수 있다. 예를 들어, 어플리케이션의 리스트(82)는 뉴스 어플리케이션, 유투브 어플리케이션, 화상 회의 어플리케이션, 게임 어플리케이션, 소셜 TV 어플리케이션, 문서작성 어플리케이션의 아이콘을 포함할 수 있다. 도 3을 통해 예시하면, 어플리케이션의 리스트(82)는 웹 브라우져 어플리케이션의 아이콘(822), 게임 어플리케이션의 아이콘(823) 및 날씨 관련 어플리케이션의 아이콘 등을 포함할 수 있다. The list 82 of applications may include icons of various types of applications. For example, the list 82 of applications may include icons of news applications, YouTube applications, video conferencing applications, game applications, social TV applications, and document writing applications. Referring to FIG. 3, the list 82 of applications may include an icon 822 of a web browser application, an icon 823 of a game application, an icon of a weather related application, and the like.

단말(20)은 사용자 인터페이스로부터 어플리케이션의 리스트(82)에 포함된 어플리케이션 중 어느 하나를 실행을 요청하는 명령을 입력받는 경우, 해당 어플리케이션의 실행을 가상 어플리케이션 서버(10)로 요청할 수 있다. 이 경우, 단말(20)은 해당 어플리케이션과의 세션 연결이 필요한 경우, 먼저 해당 어플리케이션과의 세션 연결을 요청하기 위한 세션 연결 요청을 가상화 세션 브로커 서버(70)로 전송하고, 해당 어플리케이션과의 가상화 세션 연결을 기반으로 해당 어플리케이션의 실행을 가상 어플리케이션 서버(10)로 요청할 수 있다. 다만, 단말(20)은 해당 어플리케이션과의 세션 연결이 유지되고 있는 경우, 해당 어플리케이션과의 세션 연결을 기반으로 해당 어플리케이션의 실행을 가상 어플리케이션 서버(10)로 요청할 수 있다. 도 3의 도시된 아이콘(824)은 가상 어플리케이션 서버(10)와의 세션 연결이 끊긴 어플리케이션의 아이콘이고, 아이콘(821)은 포인팅 마우스가 위치함에 따라 어플리케이션을 리스트(82)에서 삭제하거나, 또는 세션 연결을 끊기 위한 부분 그래픽을 포함하는 아이콘일 수 있다. When the terminal 20 receives a command for requesting execution of any of the applications included in the list 82 of applications from the user interface, the terminal 20 may request the execution of the corresponding application to the virtual application server 10. In this case, when the terminal 20 needs a session connection with the corresponding application, first, a session connection request for requesting a session connection with the corresponding application is transmitted to the virtualization session broker server 70, and the virtualization session with the corresponding application. The execution of the corresponding application may be requested to the virtual application server 10 based on the connection. However, when the session connection with the corresponding application is maintained, the terminal 20 may request the virtual application server 10 to execute the corresponding application based on the session connection with the corresponding application. The icon 824 shown in FIG. 3 is an icon of an application disconnected from the session with the virtual application server 10, and the icon 821 deletes an application from the list 82 as the pointing mouse is located, or connects to the session. It may be an icon including a partial graphic for cutting off.

어플리케이션 실행부(13)는 실행 데이터를 이용하여 어느 하나의 어플리케이션을 실행한다. 이 때, 실행 데이터는 어플리케이션의 실행시키기 위한 명령어를 포함한다. 어플리케이션 실행부(13)는 복수의 어플리케이션들을 동시에 실행할 수도 있다. 예를 들어, 어플리케이션 실행부(13)는 웹 어플리케이션과 게임 어플리케이션을 동시에 실행할 수도 있다. 이 경우, 요청 신호 수신부(12)는 단말(20)로부터 웹 어플리케이션과 게임 어플리케이션을 실행하는 요청 신호를 수신할 수 있다. The application execution unit 13 executes any one application using the execution data. At this time, the execution data includes an instruction for executing the application. The application execution unit 13 may execute a plurality of applications at the same time. For example, the application executor 13 may execute a web application and a game application at the same time. In this case, the request signal receiving unit 12 may receive a request signal for executing a web application and a game application from the terminal 20.

어플리케이션의 실행 데이터는 웹, ACAP, LUA 등 다양한 프로그램언어에 기초하여 생성될 수 있다. 앞서 설명된 바와 같이, 이러한 어플리케이션의 실행 데이터는 어플리케이션 관리 서버(80)로부터 수신된다. 다만, 웹 기반 어플리케이션의 경우 홈포털 웹 서버(50)에 의해 실시간으로 업데이트되고, 업데이트된 웹 기반 어플리케이션의 실행 데이터는 홈포털 웹 서버(50)로부터 수신될 수도 있다. Execution data of the application may be generated based on various program languages such as web, ACAP, LUA, and the like. As described above, execution data of such an application is received from the application management server 80. However, the web-based application may be updated in real time by the home portal web server 50, and execution data of the updated web-based application may be received from the home portal web server 50.

어플리케이션 데이터 처리부(14)는 실행된 어플리케이션에 기초하여 단말(20)로부터 수신된 제어 신호에 대응하는 결과 데이터를 생성한다. 이 때, 제어 신호는 실행된 어플리케이션에 소정 동작이 수행될 것을 요청하는 제어 신호를 포함한다. 또한, 결과 데이터는 소정 동작의 수행 결과 데이터를 포함한다. 예를 들어, 제어 신호는 실행된 구매 관련 어플리케이션의 구매 절차가 수행될 것을 요청하는 제어 신호이고, 결과 데이터는 구매 절차 개시 화면의 영상 데이터일 수 있다. The application data processor 14 generates result data corresponding to the control signal received from the terminal 20 based on the executed application. At this time, the control signal includes a control signal for requesting the executed application to perform a predetermined operation. In addition, the result data includes result data of performing a predetermined operation. For example, the control signal may be a control signal for requesting that the purchase procedure of the executed purchase related application be performed, and the result data may be image data of the purchase procedure start screen.

어플리케이션 데이터 처리부(14)는 수신된 제어 신호에 기초하여 소정 외부 서버로부터 데이터를 수집하고, 수집된 데이터에 기초하여 결과 데이터를 생성할 수 있다. The application data processor 14 may collect data from a predetermined external server based on the received control signal, and generate result data based on the collected data.

본 발명의 일 실시예에 따르면, 외부 서버는 컨텐츠 서버(30)일 수 있다. 이 경우, 단말(20)은 컨텐츠 서버로부터 컨텐츠를 수신하고, 어플리케이션 데이터 처리부(14)는 수신된 제어 신호에 기초하여 컨텐츠 서버(30)로부터 단말(20)에서 이용되는 컨텐츠에 대한 부가 정보를 수집하고, 수집된 부가 정보에 기초하여 결과 데이터를 생성할 수 있다. 이 때, 부가 정보의 일 예는 단말(20)에서 이용되는 컨텐츠에 대한 메타 데이터, 채널 정보 또는 EPG 정보를 포함한다. According to an embodiment of the present invention, the external server may be a content server 30. In this case, the terminal 20 receives the content from the content server, and the application data processor 14 collects additional information on the content used in the terminal 20 from the content server 30 based on the received control signal. The result data may be generated based on the collected additional information. In this case, one example of the additional information includes metadata, channel information, or EPG information about content used in the terminal 20.

본 발명의 다른 실시예에 따르면, 외부 서버는 부가 정보 에이전트 서버(40)일 수 있다. 이 경우, 부가 정보 에이전트 서버(40)는 단말(20)에서 이용되는 컨텐츠에 대한 부가 정보를 컨텐츠 서버(30)로 요청하고, 이러한 요청에 대한 응답으로서 부가 정보를 수신하고, 수신된 부가 정보를 저장한다. 또한, 부가 정보 에이전트 서버(40)는 부가 정보를 어플리케이션 데이터 처리부(14)의 요청에 대응하여 어플리케이션 데이터 처리부(14)로 전송할 수 있다. According to another embodiment of the present invention, the external server may be the additional information agent server 40. In this case, the additional information agent server 40 requests the additional information about the content used in the terminal 20 to the content server 30, receives the additional information as a response to the request, and receives the received additional information. Save it. In addition, the additional information agent server 40 may transmit additional information to the application data processing unit 14 in response to a request of the application data processing unit 14.

본 발명의 또 다른 실시예에 따르면, 외부 서버는 홈포털 웹 서버(50)일 수 있다. 이 때, 실행된 어플리케이션은 웹 브라우져 어플리케이션일 수 있다. 또한, 어플리케이션 데이터 처리부(15)는 단말(20)로부터 수신된 제어 신호에 기초하여 홈포털 웹 서버(50)로부터 데이터를 수집하고, 수집된 데이터에 기초하여 결과 데이터를 생성할 수 있다. 이 경우, 홈포털 웹 서버(50)로부터 수집되는 데이터는 웹 데이터를 의미할 수 있다. According to another embodiment of the present invention, the external server may be a home portal web server 50. In this case, the executed application may be a web browser application. In addition, the application data processor 15 may collect data from the home portal web server 50 based on the control signal received from the terminal 20, and generate result data based on the collected data. In this case, the data collected from the home portal web server 50 may mean web data.

어플리케이션 데이터 처리부(14)는 단말(20)에서 인식 가능한 제 1 프로토콜을 이용하여 제어 신호를 수신하고, 단말(20)에서 인식 가능하지 않은 제 2 프로토콜을 이용하여 데이터를 수집하고, 제 1 프로토콜을 이용하여 생성된 결과 데이터를 단말(20)로 전송할 수 있다. 예를 들어, 어플리케이션 데이터 처리부(14)는 ACAP만을 지원하는 단말(20)로부터 ACAP에 기초하여 제어 신호를 수신하고, 단말(20)에서 지원하지 않는 웹 프로토콜을 이용하여 데이터를 수집하고, 수집된 데이터에 기초하여 결과 데이터를 생성하고, 생성된 결과 데이터를 ACAP에 기초하여 단말(20)로 전송할 수 있다. 이를 통해, 어플리케이션 데이터 처리부(14)는 단말(20)이 지원하지 않는 프로토콜 또는 프로그램 언어에 의해 동작하는 어플리케이션에 대한 데이터도 처리할 수 있다. The application data processor 14 receives a control signal using a first protocol recognizable by the terminal 20, collects data using a second protocol which is not recognizable by the terminal 20, and sets the first protocol. The result data generated by using may be transmitted to the terminal 20. For example, the application data processing unit 14 receives a control signal based on the ACAP from the terminal 20 supporting only ACAP, collects data using a web protocol not supported by the terminal 20, and collects the collected data. Result data may be generated based on the data, and the generated result data may be transmitted to the terminal 20 based on the ACAP. In this way, the application data processing unit 14 may also process data for an application operating by a protocol or program language that the terminal 20 does not support.

어플리케이션 데이터 송수신부(15)는 단말(20)로부터 제어 신호를 수신하고, 결과 데이터를 상기 단말로 전송한다. 이러한 제어 신호 및 결과 데이터는 단말(20)과 가상 어플리케이션 서버(10)간의 세션 연결을 통하여 송수신될 수 있다. The application data transceiver 15 receives a control signal from the terminal 20 and transmits the result data to the terminal. Such control signals and result data may be transmitted and received through a session connection between the terminal 20 and the virtual application server 10.

세션 연결 처리부(16)는 단말(20)과의 세션 연결을 수행한다. 이 때, 세션 연결 처리부(16)는 단말(20)과의 세션 연결을 관리하는 가상화 세션 브로커 서버(70) 와의 세션 연결 메시지를 송수신함으로써, 단말(20)과의 세션 연결을 수행할 수 있다. 일반적으로, 가상화 세션 브로커 서버(70)는 가상 어플리케이션 서버(10) 내부의 어플리케이션들의 시작, 종료 또는 데이터 연동을 관리한다. 또한, 가상화 세션 브로커 서버(70)는 단말(20)로부터 요청에 대응하여 개인 별로 가상 어플리케이션 서버(10)에서 실행되고 있는 어플리케이션의 목록 및 상태를 관리할 수 있다. The session connection processor 16 performs session connection with the terminal 20. In this case, the session connection processor 16 may perform a session connection with the terminal 20 by transmitting and receiving a session connection message with the virtualization session broker server 70 managing the session connection with the terminal 20. In general, the virtualization session broker server 70 manages startup, termination or data interworking of applications within the virtual application server 10. In addition, the virtual session broker server 70 may manage a list and states of applications executed in the virtual application server 10 for each individual in response to a request from the terminal 20.

또한, 가상화 세션 브로커 서버(70)는 현재 가상 어플리케이션 서버에서 실행 중인 어플리케이션 정보를 단말(20)로 전송하고, 개인별 어플리케이션 최대 실행 개수, 세션 종료 시간, 사용자 아이디 등록 및 세션 아이디 매핑 관리 등 단말(20)과 가상 어플리케이션 서버(10) 또는 단말(20)과 어플리케이션과의 세션 관리를 수행할 수 있다. In addition, the virtualization session broker server 70 transmits the application information currently running in the virtual application server to the terminal 20, the terminal 20, such as the maximum number of execution of individual applications, session end time, user ID registration and session ID mapping management ) And session management between the virtual application server 10 or the terminal 20 and the application.

일반적으로, 앞서 설명된 요청 신호 수신부(12)는 세션 연결을 통하여 단말(20)로부터 요청 신호를 수신하고, 어플리케이션 데이터 처리부(14)는 세션 연결을 통하여 제어 신호 및 결과 데이터를 단말(20)과 송수신할 수 있다. In general, the request signal receiver 12 described above receives a request signal from the terminal 20 through a session connection, and the application data processor 14 transmits a control signal and result data to the terminal 20 through the session connection. Can send and receive

본 발명의 일 실시예에 따르면, 세선 연결 처리부(16)는 단말(20)과의 복수의 세션 연결을 수행한다. 이 경우, 요청 신호 수신부(12)는 단말(20)과의 복수의 세션 연결 중 제 1 세션 연결을 통하여 제 1 요청 신호를 수신하고, 제 2 세션 연결을 통하여 제 2 요청 신호를 수신할 수 있고, 어플리케이션 실행부(13)는 제 1 요청 신호에 대응하는 제 1 어플리케이션을 실행하고, 제 2 요청 신호에 대응하는 제 2 어플리케이션을 실행할 수 있다. According to an embodiment of the present invention, the thin wire connection processing unit 16 performs a plurality of session connection with the terminal 20. In this case, the request signal receiving unit 12 may receive a first request signal through a first session connection among a plurality of session connections with the terminal 20, and receive a second request signal through a second session connection. The application executor 13 may execute a first application corresponding to the first request signal and execute a second application corresponding to the second request signal.

도 4는 본 발명의 일 실시예에 따른 어플리케이션 실행부(13), 어플리케이션 데이터 처리부(14) 및 어플리케이션 데이터 송수신부(15)의 구성도이다. 도 4를 참조하면, 어플리케이션 실행부(13)는 제 1 요청 신호에 대응하는 제 1 어플리케이션을 실행하고, 제 2 요청 신호에 대응하는 제 2 어플리케이션을 실행한다. 이 때, 제 1 어플리케이션의 일 예는 단말(20)에서 이용 중인 컨텐츠와 연관된 어플리케이션이고, 제 2 어플리케이션의 일 예는 웹 브라우져 어플리케이션이다. 4 is a block diagram of the application execution unit 13, the application data processing unit 14 and the application data transmission and reception unit 15 according to an embodiment of the present invention. Referring to FIG. 4, the application execution unit 13 executes a first application corresponding to the first request signal and executes a second application corresponding to the second request signal. At this time, one example of the first application is an application associated with the content being used in the terminal 20, and one example of the second application is a web browser application.

도 4를 참조하면, 어플리케이션 데이터 송수신부(15)는 제 1 세션 연결에 기초하여 단말로부터 제어 신호를 수신하고, 어플리케이션 데이터 처리부(14)는 실행된 제 1 어플리케이션에 기초하여 단말(20)로부터 수신된 제어 신호에 대응하는 제 1 데이터를 생성한다. 이후, 어플리케이션 데이터 처리부(14)는 생성된 제 1 데이터를 이용하여 제 2 어플리케이션으로부터 제 2 데이터를 수신하고, 수신된 제 2 데이터에 기초하여 결과 데이터를 생성한다. 어플리케이션 데이터 송수신부(15)는 제 2 세션 연결을 기초하여 결과 데이터를 단말(20)로 전송한다. 이와 같이, 단말(20)과 각각의 어플리케이션간에 독립된 세션 연결을 기반으로 데이터가 송수신될 수 있다. 다만, 본 발명의 다른 실시예에 따르면, 세션연결 자체가 서버 리소스를 많이 차지하기 때문에 사용자별로 하나의 세션을 연결시키고 그 세션 내에서 여러 어플리케이션을 동시에 실행시키고 어플리케이션을 실행, 종료 또는 전환시키는 방식이 이용될 수도 있다. Referring to FIG. 4, the application data transceiver 15 receives a control signal from the terminal based on the first session connection, and the application data processor 14 receives from the terminal 20 based on the executed first application. The first data corresponding to the control signal is generated. Thereafter, the application data processor 14 receives the second data from the second application using the generated first data, and generates the result data based on the received second data. The application data transceiver 15 transmits the result data to the terminal 20 based on the second session connection. As such, data may be transmitted and received based on an independent session connection between the terminal 20 and each application. However, according to another embodiment of the present invention, since the session connection itself consumes a lot of server resources, a method of connecting one session for each user, simultaneously executing several applications within the session, and executing, terminating, or switching applications May be used.

본 발명의 일 실시예에 따르면, 단말(20)은 동일 사용자 정보에 등록된 복수의 단말 중 제 1 단말이고, 실행 요청 수신부(11)는 복수의 단말 중 제 2 단말로부터 제 1 단말과 연관된 적어도 하나 이상의 어플리케이션 중 어느 하나의 어플리케이션의 실행을 요청하는 요청 신호를 수신하고, 어플리케이션 데이터 처리부(14)는 제 2 단말로부터 수신된 제어 신호에 대응하는 결과 데이터를 생성할 수 있다. 다시 말하면, 실행 요청 수신부(11)는 복수의 단말 중 제 2 단말로부터 수신된 요청 신호에 대응하여 제 1 단말에 대응하는 어플리케이션을 실행할 수 있다는 것이다. According to an embodiment of the present invention, the terminal 20 is a first terminal among a plurality of terminals registered in the same user information, and the execution request receiving unit 11 is at least associated with the first terminal from the second terminal among the plurality of terminals. Receiving a request signal for requesting the execution of any one of the one or more applications, the application data processor 14 may generate result data corresponding to the control signal received from the second terminal. In other words, the execution request receiving unit 11 may execute an application corresponding to the first terminal in response to the request signal received from the second terminal among the plurality of terminals.

이 경우, 세션 연결 처리부(16)는 제 1 단말과 제 2 단말간의 세션 연결을 수행한다. 일반적으로 단말들간의 세션 연결 역시 앞서 설명된 바와 같이, 서비스 브로커 서버(70)에 의하여 수행될 수 있으나, 본 발명의 다른 실시예에 따르면, 단말들간의 세션 연결은 원격재생 및 제어를 위한 별도의 세션 관리 서버(도시되지 않음)에 의하여 수행될 수도 있다. 또한, 단말들간의 세션 연결은 단말들 각각의 어플리케이션들간의 세션 연결을 의미할 수도 있다. 이 경우, 단말들 각각의 어플리케이션들 각각은 가상 어플리케이션 서버(10)에 의하여 가상 어플리케이션 서버(10)에서 실행될 수 있다. In this case, the session connection processor 16 performs a session connection between the first terminal and the second terminal. In general, the session connection between the terminals may also be performed by the service broker server 70, as described above. According to another embodiment of the present invention, the session connection between the terminals may be separated for remote playback and control. It may also be performed by a session management server (not shown). In addition, session connection between terminals may mean session connection between applications of each of the terminals. In this case, each of the applications of each of the terminals may be executed in the virtual application server 10 by the virtual application server 10.

본 발명의 일 실시예에 따르면, 제어 신호는 제 2 단말이 제 1 단말에 대한 원격 제어 또는 재생을 요청하는 원격 제어 신호일 수 있다. 또한, 제어 신호는 제 2 단말의 제 2 어플리케이션이 제 1 단말의 제 1 어플리케이션에 대한 원격 제어 또는 재생을 요청하는 원격 제어 신호일 수도 있다. 이 경우, 단말들 각각의 어플리케이션들 각각은 가상 어플리케이션 서버(10)에 의하여 가상 어플리케이션 서버(10)에서 실행될 수도 있다. According to an embodiment of the present invention, the control signal may be a remote control signal for the second terminal to request remote control or playback for the first terminal. Also, the control signal may be a remote control signal for requesting a remote control or playback of the second application of the second terminal to the first application of the first terminal. In this case, each of the applications of each of the terminals may be executed in the virtual application server 10 by the virtual application server 10.

데이터 베이스(17)는 데이터를 저장한다. 이 때, 데이터는 가상 어플리케이션 서버(10) 내부의 각 구성요소들 간에 입력 및 출력되는 데이터를 포함하고, 가상 어플리케이션 서버(10)와 가상 어플리케이션 서버(10) 외부의 구성요소들간에 입력 및 출력되는 데이터를 포함한다. 예를 들어, 데이터베이스(17)는 단말(20)로부터 입력된 제어 신호를 저장할 수 있다. 이러한 데이터베이스(17)의 일 예에는 가상 어플리케이션 서버(10) 내부 또는 외부에 존재하는 하드디스크드라이브, ROM(Read Only Memory), RAM(Random Access Memory), 플래쉬메모리 및 메모리카드 등이 포함된다. The database 17 stores data. In this case, the data includes data input and output between the respective components in the virtual application server 10, input and output between the virtual application server 10 and the components outside the virtual application server 10 Contains data. For example, the database 17 may store a control signal input from the terminal 20. An example of such a database 17 includes a hard disk drive, a read only memory (ROM), a random access memory (RAM), a flash memory, a memory card, or the like existing inside or outside the virtual application server 10.

도 5는 도 1에 도시된 가상 어플리케이션 서버(10)의 동작의 일 예를 나타낸 동작 흐름도이다. 도 5를 참조하면, 가상화 서비스 브로커 서버(70)는 단말(20)로부터 인증 요청을 수신하고(S501), 단말(20)에 대한 인증을 수행한다(S502). 가상 어플리케이션 서버(10)는 가상화 서비스 브로커 서버(70)로부터 단말(20)과의 세션 연결을 요청하는 요청 신호를 수신하고(S503), 단말(20)과의 세션 연결을 수행한다. 다만, 본 발명의 다른 실시예에 따르면, 가상화 서비스 브로커 서버(70)는 로드 밸런싱을 고려하여 유휴한 가상 어플리케이션 서버의 접속 정보 또는 인증 정보를 단말(20)로 전송하고, 단말(20)이 직접 단계 S504를 통해 가상 어플리케이션 서버(10)와의 세션 연결을 수행할 수도 있다. 5 is a flowchart illustrating an example of an operation of the virtual application server 10 illustrated in FIG. 1. Referring to FIG. 5, the virtualization service broker server 70 receives an authentication request from the terminal 20 (S501) and performs authentication on the terminal 20 (S502). The virtual application server 10 receives a request signal for requesting a session connection with the terminal 20 from the virtualization service broker server 70 (S503), and performs a session connection with the terminal 20. However, according to another embodiment of the present invention, the virtualization service broker server 70 transmits access information or authentication information of the idle virtual application server to the terminal 20 in consideration of load balancing, and the terminal 20 directly In operation S504, a session connection with the virtual application server 10 may be performed.

도 5를 참조하면, 가상 어플리케이션 서버(10)는 세션 연결을 기반으로 단말(20)로부터 어플리케이션의 실행을 요청하는 요청 신호를 수신하고(S505), 단말(20)과 연관된 어플리케이션을 실행한다(S506). 가상 어플리케이션 서버(10)는 실행된 어플리케이션에 기반하여 단말(20)로부터 제어 신호를 수신하는 경우, 수신된 제어 신호에 대응하는 데이터를 부가 정보 에이전트 서버(40)로 요청하고(S507), 부가 정보 에이전트 서버(40)로부터 데이터를 수신한다(S509). 가상 어플리케이션 서버(10)는 수신된 데이터를 처리하여 제어 신호에 대응하는 결과 데이터를 생성하고(S510), 생성된 결과 데이터를 단말(20)로 전송한다(S511). 이와 같은 도 5의 동작 흐름은 가상 어플리케이션 서버(10)의 일 실시예에 불과하므로, 본 발명이 도 5의 내용으로 한정 해석되는 것은 아니다. Referring to FIG. 5, the virtual application server 10 receives a request signal for requesting execution of an application from the terminal 20 based on a session connection (S505) and executes an application associated with the terminal 20 (S506). ). When the virtual application server 10 receives a control signal from the terminal 20 based on the executed application, the virtual application server 10 requests the additional information agent server 40 for data corresponding to the received control signal (S507). Data is received from the agent server 40 (S509). The virtual application server 10 processes the received data to generate result data corresponding to the control signal (S510), and transmits the generated result data to the terminal 20 (S511). 5 is only an embodiment of the virtual application server 10, and thus the present invention is not limited to the contents of FIG. 5.

도 6은 본 발명의 일 실시예에 따른 단말(20)의 구성도이다. 도 6을 참조하면, 단말(20)은 신호 입력부(201), 요청 신호 생성부(202), 요청 신호 전송부(203), 응답 신호 수신부(204), 어플리케이션 데이터 처리부(205), 데이터베이스(206)를 포함한다. 다만, 도 6에 도시된 단말(20)은 본 발명의 하나의 구현 예에 불과하며, 도 4에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다. 예를 들어, 단말(20)은 사용자로부터 어떤 명령 내지 정보를 입력받기 위한 사용자 인터페이스가 더 포함할 수 있다. 다른 예를 들어, 단말(20)은 일반적인 단말에 포함된 영상 처리부, 음성 처리부 등을 더 포함할 수도 있다. 6 is a configuration diagram of a terminal 20 according to an embodiment of the present invention. Referring to FIG. 6, the terminal 20 includes a signal input unit 201, a request signal generator 202, a request signal transmitter 203, a response signal receiver 204, an application data processor 205, and a database 206. ). However, the terminal 20 shown in FIG. 6 is only one implementation example of the present invention, and various modifications are possible based on the components shown in FIG. 4. For example, the terminal 20 may further include a user interface for receiving a command or information from the user. For example, the terminal 20 may further include an image processing unit, a voice processing unit, and the like included in a general terminal.

신호 입력부(201)는 사용자 인터페이스로부터 적어도 하나 이상의 어플리케이션 중 어느 하나의 어플리케이션의 실행을 요청하는 신호를 입력받는다. 이 때, 사용자 인터페이스는 신호 입출력을 위한 키보드 또는 마우스와 같은 제어 장치뿐 아니라, web camera, 마이크, 스피커 및 프린터 등 모든 형태의 주변 장치가 포함될 수 있으며, 이런 주변 장치를 통한 결과 데이터 출력을 위해 가상 어플리케이션 서버(10)는 출력실행을 서버에서 하고, 해당 출력물은 단말에 연결된 주변장치에서 실행되도록 처리될 수도 있다. 일반적으로, 이와 같이 가상 어플리케이션 상의 데이터 출력을 위해 단말의 장치인식 및 데이터 출력은 서버에서 이루어지고 실제 데이터 출력은 단말에 연결된 장치를 통해 이루어지는 방식을 device redirection이라고 한다. The signal input unit 201 receives a signal for requesting execution of any one of at least one application from a user interface. In this case, the user interface may include all types of peripheral devices such as a web camera, a microphone, a speaker, and a printer, as well as a control device such as a keyboard or a mouse for signal input and output, and a virtual device for outputting the result data through the peripheral device. The application server 10 may execute an output in the server, and the output may be processed to be executed in a peripheral device connected to the terminal. In general, the device recognition and data output of the terminal for the data output on the virtual application is made in the server and the actual data output is made through the device connected to the terminal is called device redirection.

요청 신호 생성부(202)는 어느 하나의 어플리케이션의 실행을 요청하는 요청 신호를 생성한다. 요청 신호 전송부(203)는 생성된 요청 신호를 가상 어플리케이션 서버(10)로 전송한다. 응답 신호 수신부(204)는 가상 어플리케이션 서버(10)로부터 가상 어플리케이션 서버(10)에서 어느 하나의 어플리케이션이 실행되고 있음을 알리는 응답 신호를 수신한다. 어플리케이션 데이터 처리부(205)는 실행된 어플리케이션에 기초하여 가상 어플리케이션 서버(10)로 제어 신호를 전송하고, 전송된 제어 신호에 대응하는 결과 데이터를 수신한다. The request signal generator 202 generates a request signal for requesting execution of any one application. The request signal transmitter 203 transmits the generated request signal to the virtual application server 10. The response signal receiver 204 receives a response signal indicating that one application is running in the virtual application server 10 from the virtual application server 10. The application data processor 205 transmits a control signal to the virtual application server 10 based on the executed application, and receives the result data corresponding to the transmitted control signal.

데이터베이스(206)는 데이터를 저장한다. 이 때, 데이터는 단말(20) 내부의 각 구성요소들 간에 입력 및 출력되는 데이터를 포함하고, 단말(20)과 단말(20) 외부의 구성요소들간에 입력 및 출력되는 데이터를 포함한다. 이러한 데이터베이스(206)의 일 예에는 단말(20) 내부 또는 외부에 존재하는 하드디스크드라이브, ROM(Read Only Memory), RAM(Random Access Memory), 플래쉬메모리 및 메모리카드 등이 포함된다. Database 206 stores data. In this case, the data includes data input and output between the respective components in the terminal 20, and includes data input and output between the terminal 20 and the components outside the terminal 20. An example of such a database 206 includes a hard disk drive, a read only memory (ROM), a random access memory (RAM), a flash memory, a memory card, or the like existing inside or outside the terminal 20.

이와 같은 단말(20)은 앞서 설명된 단말(20)을 의미한다. 다시 말하면, 단말(20)은 도 1 내지 도 5를 통해 설명된 단말(20)의 동작을 모두 수행할 수 있는 형태의 단말을 의미한다. 따라서, 이하에서 단말(20)에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 5를 통해서 설명된 단말(20) 에 대해서 설명된 내용을 준용한다. 즉, 이하에서 단말(20)에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 5를 통해 설명된 내용과 동일하거나, 설명된 내용으로부터 당업자에 의하여 용이하게 유추 가능하므로 이하 설명을 생략한다. Such a terminal 20 means the terminal 20 described above. In other words, the terminal 20 refers to a terminal that can perform all the operations of the terminal 20 described with reference to FIGS. 1 to 5. Therefore, the matters not described below with respect to the terminal 20 apply mutatis mutandis described for the terminal 20 described above with reference to FIGS. 1 to 5. That is, the matters that are not described below with respect to the terminal 20 are the same as those described above with reference to FIGS. 1 to 5, or may be easily inferred by those skilled in the art from the contents described below.

도 7은 본 발명의 일 실시예에 따른 어플리케이션 실행 방법을 나타낸 동작 흐름도이다. 도 7에 도시된 실시예에 따른 어플리케이션 실행 방법은 도 2에 도시된 실시예에 따른 가상 어플리케이션 서버(10)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 2의 가상 어플리케이션 서버(10)에 관하여 이상에서 기술된 내용은 도 7에 도시된 실시예에 따른 어플리케이션 실행 방법에도 적용된다. 7 is a flowchart illustrating an application execution method according to an embodiment of the present invention. The method of executing an application according to the embodiment shown in FIG. 7 includes steps processed in time series in the virtual application server 10 according to the embodiment shown in FIG. 2. Therefore, although omitted below, the contents described above with respect to the virtual application server 10 of FIG. 2 also apply to the method for executing an application according to the embodiment shown in FIG. 7.

단계 S71에서 어플리케이션 실행 데이터 관리부(11)는 단말(20)과 연관된 적어도 하나 이상의 어플리케이션의 실행 데이터를 저장한다. 단계 S72에서 요청 신호 수신부(12)는 단말(20)로부터 상기 적어도 하나 이상의 어플리케이션 중 어느 하나의 어플리케이션의 실행을 요청하는 요청 신호를 수신한다. 단계 S73에서 어플리케이션 실행부(13)는 실행 데이터를 이용하여 어느 하나의 어플리케이션을 실행한다. 단계 S74에서 어플리케이션 데이터 처리부(14)는 실행된 어플리케이션에 기초하여 단말(20)로부터 제어 신호를 수신한다. 단계 S75에서 어플리케이션 데이터 처리부(14)는 수신된 제어 신호에 대응하는 결과 데이터를 생성한다. 단계 S76에서 어플리케이션 데이터 송수신부(15)는 생성된 결과 데이터를 단말(20)로 전송한다. In operation S71, the application execution data manager 11 stores execution data of at least one or more applications associated with the terminal 20. In step S72, the request signal receiving unit 12 receives a request signal for requesting execution of any one of the at least one application from the terminal 20. In step S73, the application execution unit 13 executes any one application using the execution data. In step S74, the application data processing unit 14 receives a control signal from the terminal 20 based on the executed application. In operation S75, the application data processor 14 generates result data corresponding to the received control signal. In operation S76, the application data transceiver 15 transmits the generated result data to the terminal 20.

도 7을 통해 설명된 실시예에 따른 어플리케이션 실행 방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. The application execution method according to the embodiment described with reference to FIG. 7 may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by the computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The foregoing description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다. The scope of the present invention is shown by the following claims rather than the above description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.

10: 가상 어플리케이션 서버
11: 어플리케이션 실행 데이터 관리부
12: 요청 신호 수신부
13: 어플리케이션 실행부
14: 어플리케이션 데이터 처리부
16: 세션 연결 처리부
20: 단말
10: virtual application server
11: Application execution data management unit
12: request signal receiving unit
13: application execution unit
14: application data processing unit
16: session connection processing unit
20: terminal

Claims (20)

단말로부터 요청된 어플리케이션을 실행하는 가상 어플리케이션 서버에 있어서,
상기 단말과 연관된 적어도 하나 이상의 어플리케이션의 실행 데이터를 저장하는 어플리케이션 실행 데이터 관리부;
상기 단말로부터 상기 적어도 하나 이상의 어플리케이션 중 어느 하나의 어플리케이션의 실행을 요청하는 요청 신호를 수신하는 요청 신호 수신부;
상기 실행 데이터를 이용하여 상기 어느 하나의 어플리케이션을 실행하는 어플리케이션 실행부; 및
상기 실행된 어플리케이션에 기초하여 상기 단말로부터 수신된 제어 신호에 대응하는 결과 데이터를 생성하는 어플리케이션 데이터 처리부를 포함하는 가상 어플리케이션 서버.
In the virtual application server for executing the application requested from the terminal,
An application execution data manager configured to store execution data of at least one application associated with the terminal;
A request signal receiver configured to receive a request signal for requesting execution of any one of the at least one application from the terminal;
An application execution unit that executes the one application using the execution data; And
And an application data processor configured to generate result data corresponding to the control signal received from the terminal based on the executed application.
제 1 항에 있어서,
상기 어플리케이션 데이터 처리부는 상기 수신된 제어 신호에 기초하여 소정 외부 서버로부터 데이터를 수집하고, 수집된 데이터에 기초하여 상기 결과 데이터를 생성하는 것인, 가상 어플리케이션 서버.
The method of claim 1,
The application data processing unit collects data from a predetermined external server based on the received control signal, and generates the result data based on the collected data.
제 1 항에 있어서,
상기 어플리케이션 데이터 처리부는 상기 단말에서 인식 가능한 제 1 프로토콜을 이용하여 상기 제어 신호를 수신하고, 상기 단말에서 인식 가능하지 않은 제 2 프로토콜을 이용하여 상기 데이터를 수집하고, 상기 제 1 프로토콜을 이용하여 상기 생성된 결과 데이터를 상기 단말로 전송하는 것인, 가상 어플리케이션 서버.
The method of claim 1,
The application data processing unit receives the control signal using a first protocol recognizable by the terminal, collects the data using a second protocol not recognizable by the terminal, and uses the first protocol. And transmit the generated result data to the terminal.
제 2 항에 있어서,
상기 어느 하나의 어플리케이션은 상기 단말에서 재생 중인 컨텐츠와 연관된 어플리케이션이고,
상기 요청 신호는 상기 컨텐츠의 식별정보를 포함하는 것인, 가상 어플리케이션 서버.
3. The method of claim 2,
The one application is an application associated with the content being played in the terminal,
The request signal includes the identification information of the content, virtual application server.
제 4 항에 있어서,
상기 외부 서버는 컨텐츠 서버이고,
상기 단말은 상기 컨텐츠 서버로부터 컨텐츠를 수신하고,
상기 어플리케이션 데이터 처리부는 상기 수신된 제어 신호에 기초하여 상기 컨텐츠 서버로부터 상기 컨텐츠에 대한 부가 정보를 수집하고, 수집된 부가 정보에 기초하여 상기 결과 데이터를 생성하는 것인, 가상 어플리케이션 서버.
The method of claim 4, wherein
The external server is a content server,
The terminal receives the content from the content server,
The application data processing unit collects additional information on the content from the content server based on the received control signal, and generates the result data based on the collected additional information.
제 4 항에 있어서,
상기 외부 서버는 부가 정보 에이전트 서버이고,
상기 부가 정보 에이전트 서버는 상기 컨텐츠의 컨텐츠 서버로부터 상기 부가 정보를 수신하고, 수신된 부가 정보를 저장하는 것인, 가상 어플리케이션 서버.
The method of claim 4, wherein
The external server is an additional information agent server,
The additional information agent server receives the additional information from the content server of the content, and stores the received additional information.
제 1 항에 있어서,
상기 어느 하나의 어플리케이션은 웹 브라우져 어플리케이션이고,
상기 외부 서버는 홈포털 웹 서버이고,
상기 어플리케이션 데이터 처리부는 상기 수신된 제어 신호에 기초하여 상기 웹 서버로부터 데이터를 수집하고, 수집된 데이터에 기초하여 상기 결과 데이터를 생성하는 것인, 가상 어플리케이션 서버.
The method of claim 1,
The one application is a web browser application,
The external server is a home portal web server,
The application data processing unit collects data from the web server based on the received control signal, and generates the result data based on the collected data.
제 1 항에 있어서,
상기 단말과의 세션 연결을 수행하는 세션 연결 처리부를 더 포함하고,
상기 요청 신호 수신부는 상기 세션 연결을 통하여 상기 요청 신호를 수신하고,
상기 어플리케이션 데이터 처리부는 상기 세션 연결을 통하여 상기 제어 신호를 수신하는 것인, 가상 어플리케이션 서버.
The method of claim 1,
Further comprising a session connection processing unit for performing a session connection with the terminal,
The request signal receiving unit receives the request signal through the session connection,
The application data processor is to receive the control signal through the session connection, the virtual application server.
제 8 항에 있어서,
상기 세션 연결 처리부는 단말과의 세션 연결을 관리하는 가상화 세션 브로커 서버와의 세션 연결 메시지를 송수신함으로써, 상기 단말과의 세션 연결을 수행하는 것인, 가상 어플리케이션 서버.
The method of claim 8,
The session connection processing unit performs a session connection with the terminal by transmitting and receiving a session connection message with the virtualization session broker server managing the session connection with the terminal, the virtual application server.
제 1 항에 있어서,
상기 단말과의 복수의 세션 연결을 수행하는 세션 연결 처리부를 더 포함하고,
상기 요청 신호 수신부는 상기 복수의 세션 연결 중 제 1 세션 연결을 통하여 상기 제 1 요청 신호를 수신하고, 제 2 세션 연결을 통하여 제 2 요청 신호를 수신하고,
상기 어플리케이션 실행부는 상기 제 1 요청 신호에 대응하는 제 1 어플리케이션을 실행하고, 상기 제 2 요청 신호에 대응하는 제 2 어플리케이션을 실행하는 것인, 가상 어플리케이션 서버.
The method of claim 1,
Further comprising a session connection processing unit for performing a plurality of session connection with the terminal,
The request signal receiving unit receives the first request signal through a first session connection of the plurality of session connections, receives the second request signal through a second session connection,
And the application execution unit executes a first application corresponding to the first request signal and executes a second application corresponding to the second request signal.
제 10 항에 있어서,
상기 제 1 어플리케이션은 상기 단말에서 이용 중인 컨텐츠와 연관된 어플리케이션이고, 상기 제 2 어플리케이션은 웹 브라우져 어플리케이션인 것인, 가상 어플리케이션 서버.
11. The method of claim 10,
The first application is an application associated with the content being used in the terminal, and the second application is a web browser application.
제 10 항에 있어서,
상기 어플리케이션 데이터 처리부는 상기 실행된 제 1 어플리케이션에 기초하여 상기 단말로부터 수신된 제어 신호에 대응하는 제 1 데이터를 생성하고, 상기 생성된 제 1 데이터를 이용하여 제 2 어플리케이션으로부터 제 2 데이터를 수신하고, 수신된 제 2 데이터에 기초하여 상기 결과 데이터를 생성하는 것인, 가상 어플리케이션 서버.
11. The method of claim 10,
The application data processor generates first data corresponding to a control signal received from the terminal based on the executed first application, and receives second data from a second application using the generated first data. And generating the result data based on the received second data.
제 12 항에 있어서,
상기 어플리케이션 데이터 처리부는 상기 제 1 세션 연결을 통하여 단말로부터 상기 제어 신호를 수신하고, 상기 제 2 세션 연결을 통하여 상기 결과 데이터를 상기 단말로 전송하는 것인, 가상 어플리케이션 서버.
13. The method of claim 12,
The application data processing unit receives the control signal from the terminal through the first session connection, and transmits the result data to the terminal through the second session connection, virtual application server.
제 1 항에 있어서,
상기 단말은 동일 사용자 정보에 등록된 복수의 단말 중 제 1 단말이고,
상기 실행 요청 수신부는 상기 복수의 단말 중 제 2 단말로부터 상기 제 1 단말과 연관된 적어도 하나 이상의 어플리케이션 중 어느 하나의 어플리케이션의 실행을 요청하는 요청 신호를 수신하고,
상기 어플리케이션 데이터 처리부는 상기 제 2 단말로부터 수신된 제어 신호에 대응하는 결과 데이터를 생성하는 것인, 가상 어플리케이션 서버.
The method of claim 1,
The terminal is a first terminal of a plurality of terminals registered in the same user information,
The execution request receiving unit receives a request signal for requesting execution of any one of at least one application associated with the first terminal from a second terminal of the plurality of terminals,
The application data processor generates a result data corresponding to the control signal received from the second terminal, the virtual application server.
제 14 항에 있어서,
상기 제어 신호는 상기 제 2 단말이 상기 제 1 단말에 대한 원격 제어 또는 재생을 요청하는 원격 제어 신호인 것인, 가상 어플리케이션 서버.
15. The method of claim 14,
The control signal is a virtual application server, the second terminal is a remote control signal for requesting a remote control or playback for the first terminal.
제 14 항에 있어서,
상기 제 1 단말과 상기 제 2 단말간의 세션 연결을 수행하는 세션 연결 처리부를 더 포함하는 것인, 가상 어플리케이션 서버.
15. The method of claim 14,
And a session connection processor configured to perform session connection between the first terminal and the second terminal.
제 1 항에 있어서,
상기 어플리케이션 실행 데이터 관리부는 상기 적어도 하나 이상의 어플리케이션의 실행 데이터를 어플리케이션 관리 서버로부터 수신하고,
상기 적어도 하나 이상의 어플리케이션은 상기 단말로 제공되는 방송 컨텐츠와 연관된 어플리케이션인 것인, 가상 어플리케이션 서버.
The method of claim 1,
The application execution data manager receives execution data of the at least one or more applications from an application management server.
The at least one application is an application associated with the broadcast content provided to the terminal.
제 1 항에 있어서,
상기 단말로부터 상기 제어 신호를 수신하고, 상기 결과 데이터를 상기 단말로 전송하는 어플리케이션 데이터 송수신부를 더 포함하는 가상 어플리케이션 서버.
The method of claim 1,
And an application data transceiver configured to receive the control signal from the terminal and transmit the result data to the terminal.
가상 어플리케이션 서버에 의하여 단말로부터 요청된 어플리케이션을 실행하는 방법에 있어서,
단말과 연관된 적어도 하나 이상의 어플리케이션의 실행 데이터를 저장하는 단계;
상기 단말로부터 상기 적어도 하나 이상의 어플리케이션 중 어느 하나의 어플리케이션의 실행을 요청하는 요청 신호를 수신하는 단계;
상기 실행 데이터를 이용하여 상기 어느 하나의 어플리케이션을 실행하는 단계;
상기 실행된 어플리케이션에 기초하여 상기 단말로부터 제어 신호를 수신하는 단계;
상기 수신된 제어 신호에 대응하는 결과 데이터를 생성하는 단계; 및
상기 생성된 결과 데이터를 상기 단말로 전송하는 단계를 포함하는 어플리케이션 실행 방법.
In the method for executing the application requested from the terminal by the virtual application server,
Storing execution data of at least one application associated with the terminal;
Receiving a request signal for requesting execution of any one of the at least one application from the terminal;
Executing the one application using the execution data;
Receiving a control signal from the terminal based on the executed application;
Generating result data corresponding to the received control signal; And
And transmitting the generated result data to the terminal.
사용자 인터페이스로부터 적어도 하나 이상의 어플리케이션 중 어느 하나의 어플리케이션의 실행을 요청하는 신호를 입력받는 신호 입력부;
상기 어느 하나의 어플리케이션의 실행을 요청하는 요청 신호를 생성하는 요청 신호 생성부;
상기 생성된 요청 신호를 가상 어플리케이션 서버로 전송하는 요청 신호 전송부;
상기 가상 어플리케이션 서버로부터 상기 가상 어플리케이션 서버에서 상기 어느 하나의 어플리케이션이 실행되고 있음을 알리는 응답 신호를 수신하는 응답 신호 수신부; 및
상기 실행된 어플리케이션에 기초하여 상기 가상 어플리케이션 서버로 제어 신호를 전송하고, 전송된 제어 신호에 대응하는 결과 데이터를 수신하는 어플리케이션 데이터 처리부를 포함하는 단말.
A signal input unit configured to receive a signal for requesting execution of any one of at least one application from a user interface;
A request signal generator configured to generate a request signal for requesting execution of the one application;
A request signal transmitter for transmitting the generated request signal to a virtual application server;
A response signal receiver configured to receive a response signal indicating that the one application is running in the virtual application server from the virtual application server; And
And an application data processor configured to transmit a control signal to the virtual application server based on the executed application and to receive result data corresponding to the transmitted control signal.
KR1020110147163A 2011-12-30 2011-12-30 Server and method for executing virtual application requested from device, and the device KR101909257B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110147163A KR101909257B1 (en) 2011-12-30 2011-12-30 Server and method for executing virtual application requested from device, and the device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110147163A KR101909257B1 (en) 2011-12-30 2011-12-30 Server and method for executing virtual application requested from device, and the device

Publications (2)

Publication Number Publication Date
KR20130078300A true KR20130078300A (en) 2013-07-10
KR101909257B1 KR101909257B1 (en) 2018-12-20

Family

ID=48991301

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110147163A KR101909257B1 (en) 2011-12-30 2011-12-30 Server and method for executing virtual application requested from device, and the device

Country Status (1)

Country Link
KR (1) KR101909257B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170028838A (en) * 2015-09-04 2017-03-14 주식회사 케이티 Cloud web server for providing cloud iptv service based on command method, system and set-top box
KR20190101764A (en) * 2018-02-23 2019-09-02 조선대학교산학협력단 information providing method for information vulnerable classes
KR20190130804A (en) * 2018-05-15 2019-11-25 (주)엠아이웨어 Server including an application for securing contents and method of driving the same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010044552A (en) * 2008-08-12 2010-02-25 Hitachi Ltd Request processing method and computer system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010044552A (en) * 2008-08-12 2010-02-25 Hitachi Ltd Request processing method and computer system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170028838A (en) * 2015-09-04 2017-03-14 주식회사 케이티 Cloud web server for providing cloud iptv service based on command method, system and set-top box
KR20190101764A (en) * 2018-02-23 2019-09-02 조선대학교산학협력단 information providing method for information vulnerable classes
KR20190130804A (en) * 2018-05-15 2019-11-25 (주)엠아이웨어 Server including an application for securing contents and method of driving the same

Also Published As

Publication number Publication date
KR101909257B1 (en) 2018-12-20

Similar Documents

Publication Publication Date Title
US10812965B2 (en) Method and apparatus for adjusting device persona
US11818302B2 (en) Systems and methods for presenting home screen shortcuts
EP3226569B1 (en) System for controlling device, digital device, and method for controlling same
US20100248698A1 (en) Mobile terminal device inlcuding mobile cloud platform
US10986470B2 (en) Bi-directional integration and control of managed and unmanaged devices
CN112350981B (en) Method, device and system for switching communication protocol
US20100042692A1 (en) Widget execution device and associated application for use therewith
US10289428B2 (en) Digital device and method of processing screensaver thereof
US10423139B2 (en) Device control method and apparatus, and device control system
US20160259611A1 (en) Method and apparatus for implementing a multi-screen system
CN114339332B (en) Mobile terminal, display device and cross-network screen projection method
CN104254005A (en) Wireless video sharing playing device and method
CN103024572A (en) Television
CN112911380B (en) Display device and connection method with Bluetooth device
US9756393B2 (en) Recording option for advertised programs
CN114296670A (en) Display equipment and control method for multi-equipment screen projection on same screen display
CN103634643A (en) Method and device for remotely unloading application programs of intelligent television
US9003473B2 (en) Enhanced television extension
KR101909257B1 (en) Server and method for executing virtual application requested from device, and the device
KR20130073742A (en) Server and method for performing session connection between applications of devices, and the devcies
KR101982152B1 (en) Method and apparatus for processing object for auxiliary service associated with broadcast service in Broadcast receiver
CN114860370B (en) Display equipment, server and software development kit switching method
CN114040341B (en) Bluetooth broadcast packet reporting processing method and display device
CN113992963A (en) Display device and screen projection method
KR101839054B1 (en) Apparatus and method for playing game on cloud network

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant