KR20150033185A - Method and apparatus for supporting multi-screen in a communication system - Google Patents

Method and apparatus for supporting multi-screen in a communication system Download PDF

Info

Publication number
KR20150033185A
KR20150033185A KR20130112842A KR20130112842A KR20150033185A KR 20150033185 A KR20150033185 A KR 20150033185A KR 20130112842 A KR20130112842 A KR 20130112842A KR 20130112842 A KR20130112842 A KR 20130112842A KR 20150033185 A KR20150033185 A KR 20150033185A
Authority
KR
South Korea
Prior art keywords
application program
web
present
information
screen
Prior art date
Application number
KR20130112842A
Other languages
Korean (ko)
Inventor
류영선
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR20130112842A priority Critical patent/KR20150033185A/en
Priority to PCT/KR2014/008812 priority patent/WO2015041494A1/en
Priority to CN201480052311.0A priority patent/CN105579995B/en
Priority to CN202210703674.2A priority patent/CN114911745A/en
Priority to CA2925284A priority patent/CA2925284C/en
Priority to JP2016516562A priority patent/JP6543617B2/en
Priority to MX2016003821A priority patent/MX2016003821A/en
Priority to EP14846282.3A priority patent/EP3051425A4/en
Priority to RU2016115528A priority patent/RU2678663C2/en
Priority to BR112016006403-8A priority patent/BR112016006403B1/en
Priority to US15/023,923 priority patent/US11006187B2/en
Priority to CN202210703689.9A priority patent/CN115103337B/en
Publication of KR20150033185A publication Critical patent/KR20150033185A/en
Priority to US17/314,430 priority patent/US12034993B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention provides a method for supporting multi-screens in a communication system. The method includes receiving, by a first device, a list including devices that can execute an application program installed on the first device by interworking with the first device through a web server; selecting a second device to execute the application program installed on the first device from the devices included in the list; and transmitting information on the application program installed on the first device to the second device.

Description

통신 시스템에서 멀티스크린을 지원하는 방법 및 장치 {METHOD AND APPARATUS FOR SUPPORTING MULTI-SCREEN IN A COMMUNICATION SYSTEM}[0001] METHOD AND APPARATUS FOR SUPPORTING MULTI-SCREEN IN A COMMUNICATION SYSTEM [0002]

본 발명은 통신 시스템에서 멀티스크린을 지원하는 방법 및 장치에 관한 것이다.
The present invention relates to a method and apparatus for supporting multi-screen in a communication system.

멀티미디어에 대한 수요는 꾸준히 증가하고 있으며, 사용자에게 보다 나은 서비스를 제공하기 위해 점차적으로 하나의 스크린이 아닌 복수의 스크린에서 동일한 응용 프로그램의 구동에 대한 필요성 또한 증가하고 있다.
Demand for multimedia is steadily increasing, and the need to drive the same application on multiple screens, rather than on a single screen, is also increasing in order to provide better service to users.

따라서 본 발명은 통신 시스템에서 제1기기와 제2기기를 연동하여 멀티스크린을 지원하는 방법 및 장치를 제공한다.Accordingly, the present invention provides a method and apparatus for supporting multi-screens by interfacing a first device and a second device in a communication system.

또한 본 발명은 통신 시스템에서 제1기기와 제2기기 간에 응용 프로그램 정보를 송수신하는 방법 및 장치를 제공한다.
The present invention also provides a method and apparatus for transmitting and receiving application program information between a first device and a second device in a communication system.

본 발명의 일 실시예에 따른 방법은; 통신 시스템에서 멀티스크린을 지원하는 방법에 있어서, 제1기기가 웹서버를 통해 상기 제1기기와 연동하여 상기 제1기기의 응용 프로그램을 구동할 수 있는 기기들이 포함된 목록을 수신하는 과정과, 상기 목록에 포함된 기기들로부터 상기 제1기기의 응용 프로그램을 구동할 제2기기를 선택하는 과정과, 상기 제2기기에게 상기 제1기기의 응용 프로그램에 대한 정보를 전달하는 과정을 포함한다. A method according to an embodiment of the present invention comprises: A method of supporting multi-screen in a communication system, the method comprising: receiving a list including devices capable of operating an application program of the first device in cooperation with the first device through a web server; Selecting a second device for driving an application program of the first device from the devices included in the list, and transmitting information about the application program of the first device to the second device.

본 발명의 일 실시예에 따른 장치는; 통신 시스템에서 멀티스크린을 지원하는 장치에 있어서, 제1기기가 웹서버를 통해 상기 제1기기와 연동하여 상기 제1기기의 응용 프로그램을 구동할 수 있는 기기들이 포함된 목록을 수신하는 수신기와, 상기 목록에 포함된 기기들로부터 상기 제1기기의 응용 프로그램을 구동할 제2기기를 선택하는 제어기와, 상기 제2기기에게 상기 제1기기의 응용 프로그램에 대한 정보를 전달하는 송신기를 포함한다.
An apparatus according to an embodiment of the present invention includes: A device for supporting multi-screen in a communication system, the device comprising: a receiver for receiving a list including devices capable of operating an application program of the first device in cooperation with the first device via a web server; A controller for selecting a second device for driving an application program of the first device from the devices included in the list, and a transmitter for transmitting information on the application program of the first device to the second device.

본 발명은 복수의 기기가 연결되어 있는 홈 네트워크 환경에서, 웹 기술을 기반으로 제1기기와 제2기기간에 사용 가능한 기기를 발견하고, 제1기기에서 제2기기로 응용프로그램 정보를 전달하여 구동하거나, 혹은 반대로 제2기기에서 제1기기로 응용프로그램 정보를 전달함으로써, 제1기기에서는 방송정보 등 주 화면을 보여 주면서 제2기기에서는 부가정보만을 표시할 수 있는 효과가 있다.In the home network environment in which a plurality of devices are connected, the present invention finds devices usable between the first device and the second device based on web technology, and transmits application program information from the first device to the second device Alternatively, application program information may be transmitted from the second device to the first device, thereby displaying only the sub information in the second device while displaying the main screen such as broadcast information in the first device.

또한 본 발명은 제1기기에서 메인 방송을 보면서 제2기기로는 멀티뷰로 다른 화면을 볼 수 있으며, 제2기기의 응용프로그램, 일례로 EPG(Electronic Program Guide)등으로부터 제1기기의 응용프로그램, 일례로 방송 등을 구동시킬 수 있는 효과가 있다.In addition, the present invention can view the main screen in the first device while viewing a different screen in the multi-view mode in the second device, and can display the application program of the first device from the application program of the second device, for example, EPG (Electronic Program Guide) For example, there is an effect that a broadcast or the like can be driven.

또한 본 발명은 제2기기의 응용프로그램, 일례로 리모트 콘트롤로부터 제1기기의 볼륨, 채널 변경 등의 제어를 수행할 수 있다.
In addition, the present invention can perform control such as volume change and channel change of the first device from an application program of the second device, for example, remote control.

도 1은 본 발명의 일 실시예에 따라 멀티스크린을 지원하는 장치와 멀티 스크린 기기를 도시한 도면,
도 2는 본 발명의 일 실시예에 따라 제1기기가 제2기기를 발견하여 페어링하는 예를 설명하기 위한 도면,
도 3은 본 발명의 일 실시예에 따라 제1기기에서 제2기기의 응용 프로그램을 구동하는 예를 설명하기 위한 도면,
도 4는 본 발명의 일 실시예에 따라 제2기기에서 제1기기의 응용프로그램을 구동하는 예를 설명하기 위한 도면,
도 5는 본 발명의 또 다른 실시예에 따라 멀티스크린을 지원하는 장치와 멀티 스크린 기기를 도시한 도면,
도 6은 본 발명의 또 다른 실시예에 따라 제1기기와 제2기기를 발견하는 예를 설명하기 위한 도면,
도 7은 본 발명의 또 다른 실시예에 따라 제1기기에서 제2기기의 응용 프로그램을 구동하는 예를 설명하기 위한 도면,
도 8은 본 발명의 또 다른 실시예에 따라 웹 서버가 멀티스크린을 지원하는 예를 설명하기 위한 도면.
FIG. 1 illustrates a multi-screen device and a multi-screen device according to an embodiment of the present invention.
2 is a diagram for explaining an example in which a first device discovers and pairs a second device according to an embodiment of the present invention;
3 is a diagram for explaining an example of driving an application program of a second device in a first device according to an embodiment of the present invention,
4 is a diagram for explaining an example of driving an application program of a first device in a second device according to an embodiment of the present invention,
FIG. 5 illustrates a multi-screen device and a multi-screen device according to another embodiment of the present invention. FIG.
6 is a view for explaining an example of discovering a first device and a second device according to another embodiment of the present invention,
7 is a diagram for explaining an example of driving an application program of a second device in a first device according to another embodiment of the present invention,
8 is a diagram illustrating an example in which a web server supports multi-screens according to another embodiment of the present invention.

이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions of the present invention, and these may be changed according to the intention of the user, the operator, or the like. Therefore, the definition should be based on the contents throughout this specification.

후술되는 본 발명의 실시예에서는 동일 네트워크 내에서 복수의 기기들(Devices)간의 연동을 위한 방법을 제공하고, 복수의 기기들간의 연동을 위해 필요한 구체적인 프로토콜을 정의한다. 또한 복수의 기기들간의 응용프로그램 정보 송수신을 위한 공용 프레임워크(framework)를 제공하며, 향후 원격 사용자 인터페이스 (RUI: Remote User Interface) 서비스를 제공하거나 다양한 방송표준 환경에서 복수의 기기들간의 응용프로그램 정보를 송수신할 수 있는 공통 프레임워크를 제공한다. 여기서 응용프로그램은 HTML5로 작성되는 웹 응용프로그램과 기기의 OS(operating system)에 종속적인 네이티브 응용프로그램을 모두 포함한다고 가정한다.In the embodiment of the present invention described below, a method for interworking between a plurality of devices in the same network is provided, and a specific protocol necessary for interworking between a plurality of devices is defined. In addition, it provides a common framework for transmitting and receiving application program information between a plurality of devices, and provides a remote user interface (RUI) service in the future or provides application program information among a plurality of devices And the like. It is assumed that the application includes both a web application written in HTML5 and a native application dependent on the operating system of the device.

또한 후술되는 본 발명의 실시예에서는 다음과 같은 구체적인 방법을 제공한다.In addition, the embodiment of the present invention described below provides the following concrete method.

- 제1기기와 제2기기간 연동을 위한 시스템 구성- System configuration for interworking between the first and second devices

- 제1기기에서 제2기기를 찾는 방법- How to find the second device in the first device

- 제1기기에서 제2기기의 특정 응용프로그램을 구동하는 방법A method for driving a specific application program of the second device in the first device

- 제2기기에서 제1기기를 찾는 방법- How to find the first device in the second device

- 제2기기에서 제1기기의 특정 응용프로그램을 구동하는 방법
- a method of driving a specific application program of the first device in the second device

도 1은 본 발명의 일 실시예에 따라 멀티스크린을 지원하는 장치와 멀티 스크린 기기를 도시한 도면이다. FIG. 1 is a diagram illustrating a multi-screen device and a multi-screen device according to an exemplary embodiment of the present invention. Referring to FIG.

도 1을 참조하면, 멀티 스크린을 지원하는 웹 서버(Web-server)(130)와 멀티스크린 기기인 제1기기(100)와 제2기기(110)를 도시하였고, 상기 제1기기(100)는 일반적인 스마트 기기에서 공통으로 포함되는 웹 브라우저(Web Browser)(102)와. 응용프로그램, 일례로 웹 응용프로그램(Web App.)(104)과, 제2기기(110)와의 연동을 위한 멀티스크린 관리부(MS Manager)(106)를 포함하고, 제2기기(110)는 일반적인 스마트 기기에서 공통으로 포함되는 웹 브라우저(112)와, 응용 프로그램, 일례로 웹 응용프로그램(114)과 네이티브 응용프로그램(Native App.)(116)과, 멀티스크린 런처(MS Launcher)(118)를 포함한다.Referring to FIG. 1, a web server 130 supporting multi-screens and a first device 100 and a second device 110, which are multi-screen devices, are shown. In the first device 100, A Web browser 102 and a Web browser 102 that are commonly included in a general smart device. And a multi-screen management unit (MS Manager) 106 for interworking with the second device 110. The second device 110 includes a general application program (Web application) A Web browser 112 commonly included in the smart device and an application program such as a web application program 114 and a native application program 116 and a multi screen launcher 118 .

웹 서버(130)는 제1기기(100)와 제2 기기(110)에서 수행되는 웹 응용프로그램(104,114)을 제공한다. 웹 서버(130)는 네트워크 내에 존재할 수도 있고, 웹 응용프로그램(104,114)은 일반적으로 HTML(Hypertext Markup Language) CSS(Cascading Style Sheet), 자바스크립트 등으로 구성된다.The web server 130 provides web application programs 104 and 114 that are executed in the first device 100 and the second device 110. The web server 130 may exist in the network, and the web application programs 104 and 114 are generally composed of HTML (Hypertext Markup Language) CSS (Cascading Style Sheet) and JavaScript.

 제1기기(100)는 응용프로그램이 구동되는 주 기기를 의미하며, 일반적으로 DTV(Digital TV), STB(Set Top Box), 공용 단말 등을 포함한다.The first device 100 refers to a main device on which an application program is run, and generally includes a DTV (Digital TV), a STB (Set Top Box), a public terminal, and the like.

제2기기(110)는 제1기기와 연동하여 응용 프로그램이 구동되는 보조기기를 의미하며, 일반적으로 모바일 단말이나 태블릿과 같은 개인 단말 등을 포함한다.The second device 110 refers to an ancillary device in which an application program is operated in cooperation with the first device, and generally includes a personal terminal such as a mobile terminal or a tablet.

웹 브라우저(102,112)는 웹 응용프로그램(104,114)을 실행하고, 일반적인 스마트기기에 공통으로 포함되며 웹 응용프로그램 실행을 위해 필수적인 컴포넌트다.The web browsers 102 and 112 execute web applications 104 and 114, and are commonly included in common smart devices and are indispensable components for web application execution.

웹 응용프로그램(104,114)은 웹 브라우저(102,112)에서 수행되는 응용프로그램을 의미하며, 일반적으로 HTML과 CSS, 자바스크립트, 이미지, 동영상 등으로 구성된다.The web applications 104 and 114 are application programs executed in the web browsers 102 and 112, and generally comprise HTML, CSS, JavaScript, images, and moving images.

네이티브 응용프로그램(116)은 제2기기(110)의 독자적인 OS에서 수행되는 응용프로그램을 말한다. 일반적으로 바이너리로 컴파일되어 있으며 각 OS에 종속적이다. 일례로 안드로이드나 iOS, TiZen 등의 OS에서 동작하는 응용프로그램을 의미한다.The native application program 116 refers to an application program that is executed in the OS of the second device 110. It is generally compiled into binaries and is dependent on each OS. For example, an application running on an OS such as Android, iOS, or TiZen.

MS Manager(118)는 제1기기(100)에 포함되며 제2기기(110)와의 연동을 위해 필요한 동작을 수행한다. 즉 네트워크에서 제2기기(110)를 찾는 기능과, 응용프로그램의 요청에 의해 제2기기(110)의 응용프로그램 정보를 전달하는 기능, 제2기기(110)에 응용프로그램의 구동을 요청하는 기능, 제1기기(100)와 제2기기(110)의 응용프로그램간 통신을 수행하는 기능이 포함된다.The MS Manager 118 is included in the first device 100 and performs necessary operations for interworking with the second device 110. [ A function of transmitting the application program information of the second device 110 at the request of the application program, a function of requesting the second device 110 to drive the application program, And a function of performing communication between the application programs of the first device 100 and the second device 110.

MS Launcher(118)는 제2기기(110)에 포함되며 제1기기(100)와의 연동을 위해 필요한 동작을 수행한다. 즉 네트워크에서 제1기기(100)를 찾는 기능과, 응용프로그램의 요청에 의해 제1기기(100)에 응용프로그램의 구동을 요청하는 기능, 제2기기와 제1기기(100)의 응용프로그램간 통신을 수행하는 기능이 포함된다.
The MS Launcher 118 is included in the second device 110 and performs an operation required for interworking with the first device 100. [ A function of requesting the first device 100 to operate the application program at the request of the application program, a function of requesting the first device 100 to operate the application program, And a function of performing communication.

도 2는 본 발명의 일 실시예에 따라 제1기기가 제2기기를 발견하여 페어링하는 예를 설명하기 위한 도면이다. 여기서는 제1기기(200)가 DTV이고 제2기기(206)가 개인 단말인 경우를 일례로 설명하였으나, 상기 제1기기(200)와 제2기기(206)는 해당 기술을 지원하는 어떠한 기기도 될 수 있다.2 is a diagram illustrating an example in which a first device discovers and pairs a second device according to an embodiment of the present invention. Although the first device 200 is a DTV and the second device 206 is a personal terminal, the first device 200 and the second device 206 may be any device supporting the corresponding technology .

도 2를 참조하면, 제1기기(200)는 제1응용프로그램(Primary App.), 일례로 웹 브라우저(202)를 통해 웹 서버(212)로 URL(Uniform Resource Locator) 요청(Request)을 전송하여 웹 페이지의 전송을 요청하고,(214단계) 웹 서버(212)로부터 전송 받은 웹 페이지, 일례로 주 응용프로그램을 수신한다.(216단계) 이후 웹 브라우저(202)는 상기 수신한 주 응용프로그램을 처리하여 표시한다. Referring to FIG. 2, the first device 200 transmits a URL (Uniform Resource Locator) request to the web server 212 through a first application program, for example, the web browser 202 The web browser 202 requests the transmission of the web page and receives the web page transmitted from the web server 212, for example, the main application program in step 214. In step 216, And displays it.

제1기기(200)의 웹 브라우저(202)는 웹 페이지를 처리하다 특정 API(Application Program Interface)를 만나면, getAvailableCSDevice() 함수를 호출하여 제1기기(200)의 MS Manager(201)에게 가용한 기기들, 일례로 제2기기(206)의 목록을 요청한다.(218단계) getAvailableCSDevice() 함수 호출시 전달되어야 하는 정보는 후술할 표 1을 통해 보다 상세히 설명하도록 한다.The web browser 202 of the first device 200 calls the getAvailableCSDevice () function to access the MS Manager 201 of the first device 200 (Step 218). Information to be transmitted in the call of the getAvailableCSDevice () function will be described in more detail with reference to Table 1, which will be described later.

제1기기(200)의 MS Manager(204)는 제2기기(206)의 MS Launcher(210)를 통해 네트워크 내의 가용한 제2기기(206)의 목록을 조회한다.(220단계) 이때 제2기기(206)의 검색을 위해 어떤 프로토콜을 사용할 것인지는 이 단계에서는 정의하지 않는다. 이후 제1기기(200)의 MS Manager(204)는 제2기기(206)의 MS Launcher(210)로부터 응답을 수신하고 이를 처리하여 가용한 기기의 목록을 만든다.(222단계)The MS Manager 204 of the first device 200 inquires the list of available second devices 206 in the network through the MS Launcher 210 of the second device 206. In step 220, Which protocol to use for retrieval of the device 206 is not defined at this stage. The MS Manager 204 of the first device 200 receives a response from the MS Launcher 210 of the second device 206 and processes the received response to create a list of available devices.

제1기기(200)의 MS Manager(204)는 이 목록을 제1기기(200)의 주 응용프로그램(202)에 전달한다.(224단계) 이후 제1기기(200)의 주 응용프로그램(202)은 전달받은 제2기기(206)의 목록을 사용자에게 보여주고 이 중 하나를 선택한다.(226단계) 여기서 사용자에게 어떻게 목록을 보여줄 것인지, 또는 사용자에게 선택을 하게 할 것인지, 제1기기(200)에서 자동으로 제2기기(206)를 선택할 것인지는 본 발명에서 정의하지 않는다. 다만, 본 발명에서 주 응용프로그램이 웹 응용프로그램으로 정의되어 있기 때문에 224단계에서 전달받은 목록을 자바스크립트로 처리하여 웹 페이지에서 보여 주고 사용자로부터 선택 받을 수 있다.The MS Manager 204 of the first device 200 transmits the list to the main application program 202 of the first device 200. In step 224, ) Displays the list of the received second devices 206 to the user and selects one of them (step 226). Here, the user can select whether to display the list to the user, 200 will not automatically define the second device 206 in the present invention. However, since the main application program is defined as a web application in the present invention, the list received in step 224 may be processed as JavaScript and displayed on a web page and selected from the user.

제1기기(200)의 주 응용프로그램(202)은 제2기기(206)를 선택하면 해당 기기의 정보, 일례로 응용 프로그램을 구동할 수 있는 URL 정보 등을 저장하고,(228단계) 이 정보는 추후 제1기기(200)에서 제2기기(206)의 응용 프로그램을 구동시킬 때 사용된다.
The main application program 202 of the first device 200 stores the information of the corresponding device when the second device 206 is selected, for example, URL information capable of driving the application program, and the like. In step 228, Is used to drive an application program of the second device 206 from the first device 200 in the future.

도 3은 본 발명의 일 실시예에 따라 제1기기에서 제2기기의 응용 프로그램을 구동하는 예를 설명하기 위한 도면이다. 여기서는 제1기기(300)가 DTV이고 제2기기(306)가 개인 단말인 경우를 일례로 설명하였으나, 상기 제1기기(300)와 제2기기(306)는 해당 기술을 지원하는 어떠한 기기도 될 수 있다.3 is a diagram for explaining an example of driving an application program of a second device in a first device according to an embodiment of the present invention. Although the first device 300 is a DTV and the second device 306 is a personal terminal, the first device 300 and the second device 306 may be any device supporting the technology .

도 3을 참조하면, 앞서 설명한 도 2의 214단계 내지 228단계를 통해 제2기기(306)의 탐색(discovery)과 페어링(paring)이 완료되었다고 가정한다.(314단계)Referring to FIG. 3, it is assumed that discovery and pairing of the second device 306 are completed through steps 214 through 228 of FIG. 2 described above (step 314)

제1기기(302)의 제1응용프로그램(Primary App.), 일례로 웹 브라우저(302)는 sendCSURI() 함수를 호출하여 MS Manager(304)에게 제2기기(306)에서 실행될 응용프로그램의 정보를 전달한다.(316단계) sendCSURI() 함수 호출시 전달되어야 하는 정보는 후술할 표 1을 통해 보다 상세히 설명하도록 한다.The first application program of the first device 302, for example, the web browser 302 calls the sendCSURI () function to inform the MS Manager 304 of the application program information to be executed in the second device 306 (Step 316). Information to be transmitted when calling the sendCSURI () function will be described in more detail with reference to Table 1 described later.

MS Manager(304)는 제2기기(306)의 MS Launcher(310)에 구동할 응용프로그램의 정보를 전달한다.(318단계) MS Launcher(310)는 CS 응용프로그램, 일례로 웹 브라우저(308)에게 URI(Uniform Resource Identifier)를 전달하고,(320단계) 웹 브라우저(308)는 전달 받은 URI를 판단한다. 이때 웹 브라우저(308)는 네이티브 응용프로그램이면 네이티브 응용프로그램을 구동한다.(322단계) The MS Manager 304 transmits the information of the application program to be driven to the MS Launcher 310 of the second device 306 in step 318. The MS Launcher 310 receives the CS application program, (Step 320), and the web browser 308 determines the received URI. At this time, if the web browser 308 is a native application program, the native application program is driven. (Step 322)

MS Launcher(310)는 웹 응용프로그램이면 URI를 웹 브라우저(308)에게 전송하고, 웹 브라우저(308)는 전달받은 URI가 포함된 URL 요청(Request)을 전송하여 웹 서버(312)에 웹 페이지의 전송을 요청하고,(324단계) 웹 서버(312)로부터 전송 받은 웹 페이지, 일례로 컴패니언(companion) 응용프로그램을 수신하여 이를 표시한다.(326단계) If the MS Launcher 310 is a Web application program, the URI is transmitted to the Web browser 308. The Web browser 308 transmits a URL request including the received URI to the Web server 312, (Step 324), receives a web page, for example, a companion application program, transmitted from the web server 312, and displays the received web page (step 326)

이렇게 구동된 제2기기(306)의 응용프로그램은 제1기기(300)의 응용프로그램으로부터 구동되었기 때문에, 제1기기(300)의 응용프로그램과 제2기기의 응용프로그램은 서로 연관을 가지고 동작할 수 있게 된다.Since the application program of the second device 306 thus driven is driven from the application program of the first device 300, the application program of the first device 300 and the application program of the second device operate in association with each other .

표 1은 제1기기의 응용프로그램에서 호출할 수 있는 APIs를 보다 상세히 설명하도록 한다.Table 1 describes the APIs that can be called in the application program of the first device in more detail.

[표 1] [Table 1]

Figure pat00001
Figure pat00001

도 4는 본 발명의 일 실시예에 따라 제2기기에서 제1기기의 응용프로그램을 구동하는 예를 설명하기 위한 도면이다. 여기서는 제1기기(400)가 DTV이고 제2기기(406)가 개인 단말인 경우를 일례로 설명하였으나, 상기 제1기기(400)와 제2기기(406)는 해당 기술을 지원하는 어떠한 기기도 될 수 있다.4 is a diagram for explaining an example of driving an application program of a first device in a second device according to an embodiment of the present invention. Although the first device 400 is a DTV and the second device 406 is a personal terminal, the first device 400 and the second device 406 may be any devices supporting the technology .

도 4를 참조하면, 사용자는 제2기기(406)에서 제2응용프로그램(Secondary App.)을 실행시킨다.(414단계) 이때 제2기기(406)에서 실행할 수 있는 응용프로그램은 네이티브 응용프로그램과 웹 응용프로그램이 있다. 웹 응용프로그램의 경우 웹 브라우저(408)는 웹 서버(412)에게 URL 요청(Request)을 전송하여 웹 서버(412)에 웹 페이지의 전송을 요청하고,(416단계) 웹 서버(312)로부터 전송 받은 웹 페이지, 일례로 제2응용프로그램을 수신한다.(418단계) 4, the user executes a second application program (Secondary App.) In the second device 406 (step 414). At this time, an application program executable in the second device 406 is a native application program There is a web application. The web browser 408 transmits a URL request to the web server 412 to request transmission of the web page to the web server 412 and transmits the request to the web server 412 from the web server 312 Receives the received web page, for example, the second application program (step 418)

제2기기(406)의 웹 브라우저(408)는 응용프로그램, 일례로 웹 응용프로그램과 네이티브 응용프로그램에 대하여 getAvailablePrimaryDevice() 함수를 호출한다.(420단계)The web browser 408 of the second device 406 calls the getAvailablePrimaryDevice () function for the application program, for example, the web application program and the native application program (step 420)

제2기기(406)의 MS Launcher(410)는 네트워크에서 사용 가능한 제1기기(400)를 검색한다.(422단계) 이때 제1기기(400)의 검색을 위해 어떤 프로토콜을 사용할 것인지는 이 단계에서는 정의하지 않는다. MS Launcher(410)는 네트워크의 제1기기(400)로부터 응답을 수신하고 이를 처리하여 가용한 기기의 목록을 만든다.(423단계)The MS Launcher 410 of the second device 406 searches for a first device 400 available in the network in step 422. At this time, it is determined which protocol to use for the search of the first device 400 Do not define. The MS Launcher 410 receives a response from the first device 400 of the network and processes it to create a list of available devices (step 423)

MS Launcher(410)는 이 목록을 제2기기(406)의 보조 응용프로그램(CS app.)(408)에 전달한다.(424단계) 이후 제2기기(406)의 보조 응용프로그램(408)은 전달받은 제1기기의 목록을 사용자에게 보여주고 이중 하나를 선택한다. 여기서 사용자에게 어떻게 목록을 보여줄 것인지, 사용자에게 선택을 하게 할 것인지, 제2기기에서 자동으로 제1기기를 선택할 것인지는 본 발명에서 정의하지 않는다. 다만, 본 발명에서는 가용한 기기의 목록을 보조 응용 프로그램에게 전달하므로 보조 응용프로그램에서 이를 처리하여 사용자에게 보여주고 선택받을 수 있다.The MS Launcher 410 forwards the list to the CS app 408 of the second device 406. The secondary application 408 of the second device 406 then sends The list of the received first devices is displayed to the user and one of them is selected. Herein, it is not defined in the present invention how the list is displayed to the user, whether the user selects the device, or whether the second device automatically selects the first device. However, in the present invention, since the list of the available devices is transmitted to the auxiliary application, the auxiliary application can process the list to be displayed and selected by the user.

제2기기(406)의 보조 응용프로그램(408)에서 launchPrimaryAppURI()를 호출하여 MS Launcher(410)에 제1기기(400)의 정보와 주 응용프로그램(제1기기에서 실행되는 응용프로그램)의 정보, 일례로 URI를 전달한다.(426단계)A launchPrimaryAppURI () is called in the assistant application program 408 of the second device 406 to inform the MS Launcher 410 of the information of the first device 400 and the information of the main application program , For example, the URI is transmitted (step 426)

MS Launcher(410)는 이 정보를 가지고 제1기기에서 실행할 응용프로그램의 정보(Primary App.)를 제1기기(400)의 MS Manager(404)로 전달하고,(428단계) MS Manager(404)는 URI를 제1응용프로그램(402)에 전달한다.(430단계)The MS Launcher 410 transmits the information of the application program (Primary App.) To be executed in the first device to the MS Manager 404 of the first device 400 with this information, and in step 428, The URI is transferred to the first application program 402 (step 430)

웹 브라우저(402)는 전달 받은 URI를 판단하여, 네이티브 응용프로그램이면 네이티브 응용프로그램을 구동하고, 웹 응용프로그램이면 URI를 제1기기(400)의 웹 브라우저(402)에 전달한다. 웹 브라우저(402)는 전달받은 URI가 포함된 URL 요청(Request)을 전송하여 웹 서버(412)에 웹 페이지 전송을 요청하고,(434단계) 웹 서버(412)로부터 전송 받은 웹 페이지, 일례로 프라이머리 응용프로그램을 수신하여 이를 표시한다.(436단계) The web browser 402 judges the received URI, and if it is a native application program, drives a native application program. If the web application 402 is a web application program, the web browser 402 delivers the URI to the web browser 402 of the first device 400. The web browser 402 transmits a URL request including the received URI to request the web server 412 to transmit the web page to the web server 412 in step 434 and transmits the web page received from the web server 412, And receives and displays the primary application program (step 436).

이렇게 구동된 제1기기(400)의 응용프로그램은 제2기기(406)의 응용프로그램으로부터 구동되었기 때문에, 제2기기(406)의 응용프로그램과 제1기기(400)의 응용프로그램은 서로 연관을 가지고 동작할 수 있게 된다.Since the application program of the first device 400 driven in this manner is driven from the application program of the second device 406, the application program of the second device 406 and the application program of the first device 400 are associated with each other So that it can be operated.

표 2는 제2기기의 응용프로그램에서 호출할 수 있는 APIs를 보다 상세히 설명하도록 한다.Table 2 describes the APIs that can be called in the application of the second device in more detail.

[표 2]  [Table 2]

Figure pat00002
Figure pat00002

도 5는 본 발명의 또 다른 실시예에 따라 멀티스크린을 지원하는 장치와 멀티 스크린 기기를 도시한 도면이다. FIG. 5 is a diagram illustrating a multi-screen device and a multi-screen device according to another embodiment of the present invention.

도 5를 참조하면, 멀티 스크린을 지원하는 웹 서버(Web-server)(530)와 멀티스크린 기기인 제1기기(500)와 제2기기(520)를 도시하였고, 상기 제1기기(500)는 일반적인 스마트 기기에서 공통으로 포함되는 웹 브라우저(Web Browser)(504)와. 응용프로그램, 일례로 웹 응용프로그램(Web App.)(506)과 네이티브 응용프로그램(Native App.)(502), 제2기기(520)와의 연동을 위한 멀티스크린 관리부(MS Manager)(508)를 포함하고, 제2기기(520)는 일반적인 스마트 기기에서 공통으로 포함되는 웹 브라우저(522)와, 응용 프로그램, 일례로 웹 응용프로그램(522)과 네이티브 응용프로그램(Native App.)(526)과, 멀티스크린 런처(MS Launcher)(528)를 포함한다. Referring to FIG. 5, a Web server 530 that supports multi-screens and a first device 500 and a second device 520, which are multi-screen devices, are shown. In the first device 500, A Web browser 504 and a Web browser 504 which are commonly included in a general smart device. (MS Manager) 508 for interworking with an application program, for example, a web application (Web App.) 506, a native application program (Native App.) 502 and a second device 520 And a second device 520. The second device 520 includes a web browser 522 commonly included in a general smart device, an application program, for example, a web application program 522 and a native application program 526, And a multi-screen launcher (MS Launcher) 528.

도 5에서 웹 브라우저(504,522)를 비롯한 웹 응용프로그램(506,524), 네이티브 응용프로그램(502,526), MS manager(508), MS Launcher(528)의 구성 및 역할은 도 1과 동일하다. 따라서 여기서는 도 5에서 새롭게 추가된 구성, 즉 제1기기(500)의 MS Manager의 세부 모듈 구성으로 UPnP(Universal Plug and Play)(512), HTTP 서버(514), WebSocket 서버(510)와, 제 2기기(520)의 MS Launcher(528)의 세부 모듈 구성으로 UPnP(530), HTTP 서버(532)에 대해서만 설명하도록 한다.5, the configuration and roles of the web applications 506 and 524, the native applications 502 and 526, the MS manager 508, and the MS Launcher 528 including the web browsers 504 and 522 are the same as those of FIG. 5, the UPnP (Universal Plug and Play) 512, the HTTP server 514, the WebSocket server 510, and the UPnP (Universal Plug and Play) server are configured with the detailed module configuration of the MS Manager of the first device 500 Only the UPnP 530 and the HTTP server 532 will be described in detail with the module configuration of the MS Launcher 528 of the second device 520. [

UPnP(512,530)는 제1기기(500)와 제2기기(520)에 공통으로 포함되며 기기간 발견에 필요한 동작을 수행한다. 여기서는 구체적으로 SSDP(Simple Service Discovery Protocol)를 사용하여 네트워크에서 다른 기기를 발견하고, 네트워크에 자신의 존재를 알리는 역할을 수행한다.The UPnPs 512 and 530 are commonly included in the first device 500 and the second device 520 and perform operations necessary for device-to-device discovery. Specifically, SSDP (Simple Service Discovery Protocol) is used to discover another device in the network and to inform the network of its existence.

HTTP 서버(514,532)는 제1기기(500)와 제2기기(520)에 공통으로 포함되며 HTTP 프로토콜을 통해 요청을 받고 이를 처리하는 역할을 수행한다. 본 발명에서는 구체적으로 응용프로토콜 구동을 위해 다른 기기로부터 HTTP GET 및 HTTP POST 요청을 받아 이를 처리하는 역할을 수행한다. 본 발명에서 HTTP 서버는 위에 기술한 단순한 역할만을 수행하며 웹 페이지를 배포하는 일반적인 웹 서버의 역할은 수행하지 않는다.The HTTP servers 514 and 532 are commonly included in the first device 500 and the second device 520, and receive and receive requests through the HTTP protocol. Specifically, the present invention plays a role of receiving an HTTP GET and an HTTP POST request from another device to process an application protocol. In the present invention, the HTTP server performs only a simple role as described above, and does not play the role of a general web server for distributing web pages.

WebSocket 서버(510)는 제1기기(500)에만 포함되며, WebSocket 프로토콜을 처리하는 역할을 수행한다. 본 발명에서는 제2기기(520)로부터 WebSocket 요청을 받아 이를 처리하여 제1기기(500)와 제2기기(520)의 응용프로그램간 통신이 가능하게 하는 역할을 수행한다.The WebSocket server 510 is included only in the first device 500 and plays a role of processing the WebSocket protocol. In the present invention, the second device 520 receives a WebSocket request and processes the received WebSocket request to enable communication between the application programs of the first device 500 and the second device 520.

이하에서는 도 6 내지 도 7을 통해 MS manager(508)와 MS Launcher(528)에 새롭게 추가된 세부 모듈에 의해 구체화된 세부 동작을 설명하도록 한다.
Hereinafter, detailed operations performed by the MS manager 508 and the new module added to the MS Launcher 528 will be described with reference to FIGS. 6 through 7. FIG.

도 6은 본 발명의 또 다른 실시예에 따라 제1기기와 제2기기를 발견하는 예를 설명하기 위한 도면이다. 여기서는 제1기기(600)가 DTV이고 제2기기(612)가 개인 단말인 경우를 일례로 설명하였으나, 상기 제1기기(600)와 제2기기(612)는 해당 기술을 지원하는 어떠한 기기도 될 수 있다. 또한 도 6에서 설명되는 과정은 앞서 설명한 표 1의 getAvailableCSDevice()의 상세 프로토콜의 구체적인 동작에 해당된다.6 is a diagram for explaining an example of discovering a first device and a second device according to another embodiment of the present invention. Although the first device 600 is a DTV and the second device 612 is a personal terminal, the first device 600 and the second device 612 may be any device supporting the technology . 6 corresponds to the concrete operation of the detailed protocol of getAvailableCSDevice () in Table 1 described above.

도 6을 참조하면, 먼저 제1기기(600)가 제2기기(612)를 발견하는 예부터 설명하도록 한다. 제1기기(600)의 UPnP 모듈(606)은 네트워크의 가용한 제2기기(612)를 찾기 위해 M-SEARCH를 전송하고,(622단계) SSDP 프로토콜을 사용하여 하기 표 3과 같은 명령을 수행한다.Referring to FIG. 6, an example in which the first device 600 discovers the second device 612 will be described first. The UPnP module 606 of the first device 600 transmits M-SEARCH to find available second device 612 of the network and then executes the command as shown in Table 3 using the SSDP protocol in step 622 do.

[표 3][Table 3]

Figure pat00003
Figure pat00003

M-SEARCH를 수신한 제2기기(612)의 UPnP 모듈(618)은 하기 표 4와 같은 응답(Response with LOCATION Header)을 보내 자신이 해당되는 기기임을 알려준다.(624단계)The UPnP module 618 of the second device 612 receiving the M-SEARCH sends a Response with LOCATION Header as shown in Table 4 to inform that it is the corresponding device (Step 624)

[표 4] [Table 4]

Figure pat00004
Figure pat00004

응답을 수신한 제1기기(600)의 UPnP 모듈(606)은 응답 헤더 중, LOCATION 헤더의 LOCATION URL 정보를 사용하여 기기의 상세정보(Device Description)를 요청한다.(HTTP GET request)(626단계)The UPnP module 606 of the first device 600 receiving the response requests the device description of the device using the LOCATION URL information of the LOCATION header in the response header (HTTP GET request) )

상기 HTTP GET request 요청에 제2기기(612)의 HTTP Server(620)는 다음과 같이 제2기기(612)의 응용프로그램을 수행할 수 있는 특정 헤더(x-Application-URL)를 포함하여 하기 표 5와 같은 응답(HTTP Response)을 전송한다.(628단계)The HTTP Server 620 of the second device 612 includes a specific header (x-Application-URL) capable of executing the application program of the second device 612 in the following HTTP GET request, 5 (HTTP Response) (Step 628)

[표 5][Table 5]

Figure pat00005
Figure pat00005

다음으로 제2기기(612)가 제1기기(600)를 발견하는 예를 설명하도록 한다.Next, an example in which the second device 612 discovers the first device 600 will be described.

제2기기(612)의 UPnP 모듈(618)은 네트워크의 가용한 제1기기(600)를 찾기 위해 M-SEARCH를 전송하고,(630단계) SSDP 프로토콜을 사용하여 하기 표 6과 같은 명령을 수행한다.The UPnP module 618 of the second device 612 transmits M-SEARCH to find the available first device 600 of the network (step 630), and executes the command as shown in Table 6 using the SSDP protocol do.

[표 6][Table 6]

Figure pat00006
Figure pat00006

M-SEARCH를 수신한 제1기기(600)의 UPnP 모듈(606)은 하기 표 7과 같은 응답(Response with LOCATION Header)을 보내 자신이 해당되는 기기임을 알려준다.(632단계)The UPnP module 606 of the first device 600 receiving the M-SEARCH sends a Response with LOCATION Header as shown in Table 7 below to inform that it is the corresponding device (step 632)

[표 7]  [Table 7]

Figure pat00007
Figure pat00007

응답을 수신한 제2기기(612)의 HTTP Server(620)는 응답 헤더 중, LOCATION 헤더의 LOCATION URL 정보를 사용하여 기기의 상세정보(Device Description)를 요청한다.(HTTP GET request)(634단계)The HTTP Server 620 of the second device 612 receiving the response requests the device description of the device using the LOCATION URL information of the LOCATION header in the response header (HTTP GET request) (Step 634 )

상기 HTTP GET request 요청에 제1기기(600)는 다음과 같이 제1기기(600)의 응용프로그램을 수행할 수 있는 특정 헤더 (x-Application-URL)를 포함하여 응답한다.(636단계) 또한 제1기기(600)는 제2기기(612)의 응용프로그램에서 응용프로그램간 통신을 수행할 수 있는 웹소켓 서버(610)를 가지고 있는데, x-WebSocket 헤더로 이 웹소켓 서버에 접속할 수 있는 URL 정보를 포함시켜 응답한다.(628단계)In step 636, the first device 600 responds to the HTTP GET request by including a specific header (x-Application-URL) capable of executing an application program of the first device 600 as follows. The first device 600 has a web socket server 610 capable of performing application program communication in an application program of the second device 612. The x-WebSocket header includes a URL (Step 628)

상기 636단계 및 638단계에서 전송되는 HTTP Response는 하기 표 8과 같다.The HTTP responses transmitted in steps 636 and 638 are shown in Table 8 below.

[표 8][Table 8]

Figure pat00008
Figure pat00008

도 7은 본 발명의 또 다른 실시예에 따라 제1기기에서 제2기기의 응용 프로그램을 구동하는 예를 설명하기 위한 도면이다. 여기서는 제1기기(700)가 DTV이고 제2기기(712)가 개인 단말인 경우를 일례로 설명하였으나, 상기 제1기기(700)와 제2기기(712)는 해당 기술을 지원하는 어떠한 기기도 될 수 있다. 또한 도 7에서 설명되는 과정은 앞서 설명한 표 1의 sendCSURI()의 상세 프로토콜의 구체적인 동작에 해당된다.7 is a diagram for explaining an example of driving an application program of a second device in a first device according to another embodiment of the present invention. Although the first device 700 is a DTV and the second device 712 is a personal terminal, the first device 700 and the second device 712 may be any devices supporting the technology . 7 corresponds to a concrete operation of the detailed protocol of sendCSURI () in Table 1 described above.

도 7을 참조하면, 먼저 제1기기(700)에서 제2기기(712)의 응용 프로그램을 구동하는 과정부터 설명하면 다음과 같다. Referring to FIG. 7, the process of driving an application program of the second device 712 in the first device 700 will be described as follows.

제1기기(700)의 MS Manager(704)는 제1기기(700)의 브라우저(702)로부터 sendCSURI() 함수를 통해 두 개의 인자를 전달받는다.(722단계) 이중 첫 번째 인자인 uint target_device는 응용프로그램을 구동시킬 대상인 제2기기(712)의 ID값으로 MS Manager(704)에서 저장하고 있는 제2기기(712) 정보 테이블을 매칭하여 해당 제2기기(712)의 x-Application-URL 정보를 추출한다.The MS Manager 704 of the first device 700 receives two arguments from the browser 702 of the first device 700 via the sendCSURI () function (step 722). The first argument, uint target_device, Information of the second device 712 stored in the MS Manager 704 is matched with the ID value of the second device 712 to which the application program is to be driven and the x-Application-URL information of the second device 712 .

표 9는 MS Manager(704)에서 관리하는 제2기기(712) 정보 테이블의 예를 보여 준다.Table 9 shows an example of the information table of the second device 712 managed by the MS Manager 704.

[표 9]   [Table 9]

Figure pat00009
Figure pat00009

또한 제1기기(700)의 MS Manager(704)는 722단계에서 획득한 URL로 제2기기(712)의 HTTP Server(720)에 하기 표 10과 같은 HTTP Post 요청을 전송한다.(724단계)The MS Manager 704 of the first device 700 transmits an HTTP Post request as shown in Table 10 to the HTTP server 720 of the second device 712 with the URL obtained in step 722. In step 724,

[표 10][Table 10]

Figure pat00010
Figure pat00010

이때 제2기기(712)에서 구동시킬 응용프로그램은 CSAppPath에 URI로 기술되며 sendCSURI() API의 두 번째 인자인 char * URI 값이다. 또한, 제2기기(712)의 응용프로그램을 구동시킬 때 필요한 인자를 전달하고 싶을 때는 HTTP의 Body에 표 10과 같은 형식으로 인자를 보낸다.At this time, the application program to be executed by the second device 712 is described by a URI in CSAppPath and a char * URI value which is the second argument of the sendCSURI () API. When the application program of the second device 712 is required to be transmitted, an argument is sent to the HTTP body in the format shown in Table 10.

제2기기(712)의 HTTP Server(720)는 요청 받은 POST를 파싱하여 Body의 인수와 함께 CSAppPath 정보를 MS Launcher(716)에게 전달한다.(726단계) MS Launcher(716)는 CSAppPath에 기술된 URI로 제2기기(712)의 응용프로그램을 구동하고,(728,730단계) 응용프로그램의 구동 결과를 제2기기(712)의 HTTP 서버(720)에 전달한다.(732단계)The HTTP server 720 of the second device 712 parses the requested POST and transmits the CSAppPath information together with the argument of the Body to the MS Launcher 716. (Step 726) The MS Launcher 716 transmits the CSAppPath information The application program of the second device 712 is driven by the URI (steps 728 and 730), and the result of the application program is transmitted to the HTTP server 720 of the second device 712 (step 732)

제2기기(712)의 HTTP 서버(720)는 이 결과에 따라 제1기기(700)의 MS Manager(704)에 하기 표 11과 같은 응답코드를 전송한다.(201 CREATED)(734단계)The HTTP server 720 of the second device 712 transmits a response code as shown in the following Table 11 to the MS Manager 704 of the first device 700 according to the result (201 CREATED) (Step 734)

[표 11][Table 11]

Figure pat00011
Figure pat00011

다음으로 제2기기(712)에서 제1기기(700)의 응용 프로그램을 구동하는 과정을 설명하면 다음과 같다.Next, a process of driving an application program of the first device 700 by the second device 712 will be described.

제2기기(712)의 MS Launcher(716)는 제2기기(712)의 브라우저(714)로부터 sendPrimaryAppURI() 함수를 통해 두 개의 인자를 전달받는다.(736단계) 이중 첫 번째 인자인 uint target_device는 응용프로그램을 구동시킬 대상 제1기기의 ID값으로 MS Launcher(716)에서 저장하고 있는 제1기기(700) 정보 테이블을 매칭하여 해당 제1기기(700)의 x-Application-URL 정보를 추출한다.The MS Launcher 716 of the second device 712 receives two arguments from the browser 714 of the second device 712 via the sendPrimaryAppURI () function (step 736). The first argument, uint target_device, Application-URL information of the first device 700 by matching the first device 700 information table stored in the MS Launcher 716 with the ID value of the first device to be driven by the application program .

표 12는 MS Launcher(716)에서 저장하고 있는 제1기기(700) 정보 테이블의 예를 보여 준다.Table 12 shows an example of the first device 700 information table stored in the MS Launcher 716.

[표 12][Table 12]

Figure pat00012
Figure pat00012

또한 제2기기(712)의 MS Launcher(716)는 736단계에서 획득한 URL로 제1기기(700)에 하기 표 13과 같은 HTTP Post 요청을 전송한다.(738단계)The MS Launcher 716 of the second device 712 transmits an HTTP Post request as shown in Table 13 to the first device 700 using the URL obtained in step 736. In step 738,

[표 13][Table 13]

Figure pat00013
Figure pat00013

이때 제1기기(700)에서 구동시킬 응용프로그램은 PrimaryPath에 URI로 기술되며 ssendPrimaryAppURI() API의 두 번째 인자인 char * URI 값이다. 또한, 제1기기(700)의 응용프로그램을 구동시킬 때 필요한 인자를 전달하고 싶을 때는 HTTP의 Body에 표 13과 같은 형식으로 인자를 보낸다.At this time, the application program to be executed by the first device 700 is described as a URI in the PrimaryPath and a char * URI value as the second argument of the ssendPrimaryAppURI () API. In addition, when it is desired to transmit a factor required for driving the application program of the first device 700, an argument is sent to the HTTP body in the format shown in Table 13.

 제1기기(700)의 HTTP Server(708)는 요청받은 POST를 파싱하여 Body의 인수와 함께 PrimaryAppPath 정보를 MS Manager(704)에게 전달한다.(740단계) MS Manager(704)는 PrimaryAppPath에 기술된 URI로 제1기기(700)의 응용프로그램을 구동하고,(742,744단계) 응용프로그램의 구동 결과를 제1기기(700)의 HTTP 서버(708)에 전달한다.(746단계)The HTTP server 708 of the first device 700 parses the requested POST and transmits the PrimaryAppPath information to the MS Manager 704 together with the argument of the Body in step 740. In step 740, The application program of the first device 700 is driven by the URI (steps 742 and 744), and the result of the application program is transmitted to the HTTP server 708 of the first device 700 (step 746)

제1기기(700)의 HTTP 서버(708)는 이 결과에 따라 제2기기(712)에 하기 표 14와 같은 응답코드를 전송한다.(201 CREATED)(748단계)The HTTP server 708 of the first device 700 transmits a response code as shown in the following Table 14 to the second device 712 according to the result (201 CREATED) (step 748)

[표 14][Table 14]

Figure pat00014
Figure pat00014

도 8은 본 발명의 또 다른 실시예에 따라 웹 서버가 멀티스크린을 지원하는 예를 설명하기 위한 도면이다.8 is a diagram illustrating an example in which a web server supports multi-screens according to another embodiment of the present invention.

도 8을 참조하면, 사용자는 제 1기기, 일례로 DTV(802)로 방송 채널로부터 방송정보를 수신하여 영화를 시청하고 있다고 가정한다. 사용자는 영화 시청 중, 해당 영화에 대한 부가 정보를 제 2기기, 일례로 단말(804)을 통해 제공받고자 한다. 여기서 상기 영화에 대한 부가 정보는 일례로 캐스팅 정보, 영화의 시놉시스, 온라인 쇼핑 등이 될 수 있다.Referring to FIG. 8, it is assumed that a user receives broadcast information from a broadcast channel using a first device, for example, the DTV 802, and watches a movie. The user wants to receive additional information about the movie through the second device, for example, the terminal 804 while watching the movie. Here, the additional information for the movie may be, for example, casting information, synopsis of a movie, online shopping, and the like.

제 1기기(802)는 해당 부가정보를 보여줄 수 있는 제2기기(804)의 응용프로그램을 구동하여 이를 사용자에게 제공한다.
The first device 802 drives the application program of the second device 804 capable of displaying the additional information and provides the application to the user.

한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. Therefore, the scope of the present invention should not be limited by the illustrated embodiments, but should be determined by the scope of the appended claims and equivalents thereof.

또한 본 발명의 실시예에 따른 멀티스크린을 지원하는 방법 및 장치는 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 임의의 소프트웨어는 예를 들어, 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 CD, DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 본 발명의 멀티스크린을 지원하는 방법은 제어부 및 메모리를 포함하는 컴퓨터 또는 휴대 단말에 의해 구현될 수 있고, 상기 메모리는 본 발명의 실시 예들을 구현하는 지시들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다. It will also be appreciated that the method and apparatus for supporting multi-screens in accordance with embodiments of the present invention may be implemented in hardware, software, or a combination of hardware and software. Such arbitrary software may be stored in a memory such as, for example, a volatile or non-volatile storage device such as a storage device such as ROM or the like, or a memory such as a RAM, a memory chip, a device or an integrated circuit, , Or a storage medium readable by a machine (e.g., a computer), such as a CD, a DVD, a magnetic disk, or a magnetic tape, as well as being optically or magnetically recordable. The method of supporting the multi-screen of the present invention can be implemented by a computer or a mobile terminal including a controller and a memory, and the memory is suitable for storing a program or programs including instructions embodying the embodiments of the present invention It is an example of a machine-readable storage medium.

따라서, 본 발명은 본 명세서의 임의의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다.Accordingly, the invention includes a program comprising code for implementing the apparatus or method as claimed in any of the claims herein, and a storage medium readable by a machine (such as a computer) for storing such a program. In addition, such a program may be electronically transported through any medium such as a communication signal transmitted via a wired or wireless connection, and the present invention appropriately includes the same.

또한 본 발명의 실시예에 따른 멀티스크린을 지원하는 방법 및 장치는 유선 또는 무선으로 연결되는 프로그램 제공 장치로부터 상기 프로그램을 수신하여 저장할 수 있다. 상기 프로그램 제공 장치는 그래픽 처리 장치가 기설정된 컨텐츠 보호 방법을 수행하도록 하는 지시들을 포함하는 프로그램, 컨텐츠 보호 방법에 필요한 정보 등을 저장하기 위한 메모리와, 상기 그래픽 처리 장치와의 유선 또는 무선 통신을 수행하기 위한 통신부와, 상기 그래픽 처리 장치의 요청 또는 자동으로 해당 프로그램을 상기 송수신 장치로 전송하는 제어부를 포함할 수 있다. Also, a method and apparatus for supporting multi-screens according to an embodiment of the present invention may receive and store the program from a program providing apparatus connected by wire or wireless. The program providing apparatus may include a memory for storing a program including instructions for causing the graphic processing apparatus to perform a predetermined content protection method, information necessary for the content protection method, and the like, and performing wired or wireless communication with the graphic processing apparatus And a control unit for requesting the graphics processing apparatus or automatically transmitting the program to the transmission / reception apparatus.

Claims (2)

통신 시스템에서 멀티스크린을 지원하는 방법에 있어서,
제1기기가 웹서버를 통해 상기 제1기기와 연동하여 상기 제1기기의 응용 프로그램을 구동할 수 있는 기기들이 포함된 목록을 수신하는 과정과,
상기 목록에 포함된 기기들로부터 상기 제1기기의 응용 프로그램을 구동할 제2기기를 선택하는 과정과,
상기 제2기기에게 상기 제1기기의 응용 프로그램에 대한 정보를 전달하는 과정을 포함하는 멀티스크린 지원 방법.
A method of supporting multi-screen in a communication system,
Receiving a list including devices capable of operating an application program of the first device in cooperation with the first device through a web server,
Selecting a second device for driving an application program of the first device from the devices included in the list;
And transmitting information about an application program of the first device to the second device.
통신 시스템에서 멀티스크린을 지원하는 장치에 있어서,
제1기기가 웹서버를 통해 상기 제1기기와 연동하여 상기 제1기기의 응용 프로그램을 구동할 수 있는 기기들이 포함된 목록을 수신하는 수신기와,
상기 목록에 포함된 기기들로부터 상기 제1기기의 응용 프로그램을 구동할 제2기기를 선택하는 제어기와,
상기 제2기기에게 상기 제1기기의 응용 프로그램에 대한 정보를 전달하는 송신기를 포함하는 멀티스크린 지원 방법.
An apparatus for supporting multi-screen in a communication system,
A receiver for receiving a list including devices capable of operating an application program of the first device in cooperation with the first device through a web server,
A controller for selecting a second device for driving an application program of the first device from the devices included in the list,
And transmitting the information about the application program of the first device to the second device.
KR20130112842A 2013-09-23 2013-09-23 Method and apparatus for supporting multi-screen in a communication system KR20150033185A (en)

Priority Applications (13)

Application Number Priority Date Filing Date Title
KR20130112842A KR20150033185A (en) 2013-09-23 2013-09-23 Method and apparatus for supporting multi-screen in a communication system
JP2016516562A JP6543617B2 (en) 2013-09-23 2014-09-23 Application execution method and apparatus in wireless communication system
CN201480052311.0A CN105579995B (en) 2013-09-23 2014-09-23 Method and apparatus for executing application in wireless communication system
CN202210703674.2A CN114911745A (en) 2013-09-23 2014-09-23 Method and apparatus for executing application in wireless communication system
CA2925284A CA2925284C (en) 2013-09-23 2014-09-23 Method and apparatus for executing application in wireless communication system
PCT/KR2014/008812 WO2015041494A1 (en) 2013-09-23 2014-09-23 Method and apparatus for executing application in wireless communication system
MX2016003821A MX2016003821A (en) 2013-09-23 2014-09-23 Method and apparatus for executing application in wireless communication system.
EP14846282.3A EP3051425A4 (en) 2013-09-23 2014-09-23 Method and apparatus for executing application in wireless communication system
RU2016115528A RU2678663C2 (en) 2013-09-23 2014-09-23 Method and device for implementing application in wireless communication system
BR112016006403-8A BR112016006403B1 (en) 2013-09-23 2014-09-23 METHOD FOR LAUNCHING A SECOND APPLICATION ON A SECOND DEVICE, METHOD FOR LAUNCHING A SECOND APPLICATION VIA A SECOND DEVICE, FIRST AND SECOND DEVICES ON A WIRELESS COMMUNICATION SYSTEM
US15/023,923 US11006187B2 (en) 2013-09-23 2014-09-23 Method and apparatus for executing application in wireless communication system
CN202210703689.9A CN115103337B (en) 2013-09-23 2014-09-23 Method and apparatus for executing application in wireless communication system
US17/314,430 US12034993B2 (en) 2013-09-23 2021-05-07 Method and apparatus for executing application in wireless communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130112842A KR20150033185A (en) 2013-09-23 2013-09-23 Method and apparatus for supporting multi-screen in a communication system

Publications (1)

Publication Number Publication Date
KR20150033185A true KR20150033185A (en) 2015-04-01

Family

ID=53030584

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130112842A KR20150033185A (en) 2013-09-23 2013-09-23 Method and apparatus for supporting multi-screen in a communication system

Country Status (1)

Country Link
KR (1) KR20150033185A (en)

Similar Documents

Publication Publication Date Title
JP6543617B2 (en) Application execution method and apparatus in wireless communication system
US10841636B2 (en) Information processing apparatus, mobile terminal, information processing method, program, and information processing system
KR102151680B1 (en) System, method and computer-readable medium for presenting media content
US8176140B2 (en) Home network device control service and/or internet service method and apparatus thereof for controlling internet services and home network devices based on a script
CN102685576B (en) For the method and apparatus switched between native applications and the second application
KR100772861B1 (en) Apparatus and method for providing remote user interface
JP6093482B2 (en) Method and apparatus for displaying search results on portable terminal
US20150012617A1 (en) Rui system, rui server, rui terminal apparatus, and method of providing rui service
AU2010294783B2 (en) Method and device for providing complementary information
EP3319312A1 (en) Image display apparatus and operation method therefor
KR20130005194A (en) Method and system for providing contents continuous play service
CN111654753B (en) Application program starting method and display device
WO2016119610A1 (en) Web page loading method and user equipment
KR20150033185A (en) Method and apparatus for supporting multi-screen in a communication system
KR102401691B1 (en) Method and apparatus for launching application in wireless communication system
US12034993B2 (en) Method and apparatus for executing application in wireless communication system
KR20150086708A (en) Method and apparatus for transmitting information in a wireless communication system
WO2015093192A1 (en) Device to be controlled, control device, and information apparatus

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application