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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital 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
Description
본 발명은 통신 시스템에서 멀티스크린을 지원하는 방법 및 장치에 관한 것이다.
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
웹 서버(130)는 제1기기(100)와 제2 기기(110)에서 수행되는 웹 응용프로그램(104,114)을 제공한다. 웹 서버(130)는 네트워크 내에 존재할 수도 있고, 웹 응용프로그램(104,114)은 일반적으로 HTML(Hypertext Markup Language) CSS(Cascading Style Sheet), 자바스크립트 등으로 구성된다.The
제1기기(100)는 응용프로그램이 구동되는 주 기기를 의미하며, 일반적으로 DTV(Digital TV), STB(Set Top Box), 공용 단말 등을 포함한다.The
제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
웹 응용프로그램(104,114)은 웹 브라우저(102,112)에서 수행되는 응용프로그램을 의미하며, 일반적으로 HTML과 CSS, 자바스크립트, 이미지, 동영상 등으로 구성된다.The
네이티브 응용프로그램(116)은 제2기기(110)의 독자적인 OS에서 수행되는 응용프로그램을 말한다. 일반적으로 바이너리로 컴파일되어 있으며 각 OS에 종속적이다. 일례로 안드로이드나 iOS, TiZen 등의 OS에서 동작하는 응용프로그램을 의미한다.The
MS Manager(118)는 제1기기(100)에 포함되며 제2기기(110)와의 연동을 위해 필요한 동작을 수행한다. 즉 네트워크에서 제2기기(110)를 찾는 기능과, 응용프로그램의 요청에 의해 제2기기(110)의 응용프로그램 정보를 전달하는 기능, 제2기기(110)에 응용프로그램의 구동을 요청하는 기능, 제1기기(100)와 제2기기(110)의 응용프로그램간 통신을 수행하는 기능이 포함된다.The MS
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
도 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
도 2를 참조하면, 제1기기(200)는 제1응용프로그램(Primary App.), 일례로 웹 브라우저(202)를 통해 웹 서버(212)로 URL(Uniform Resource Locator) 요청(Request)을 전송하여 웹 페이지의 전송을 요청하고,(214단계) 웹 서버(212)로부터 전송 받은 웹 페이지, 일례로 주 응용프로그램을 수신한다.(216단계) 이후 웹 브라우저(202)는 상기 수신한 주 응용프로그램을 처리하여 표시한다. Referring to FIG. 2, the
제1기기(200)의 웹 브라우저(202)는 웹 페이지를 처리하다 특정 API(Application Program Interface)를 만나면, getAvailableCSDevice() 함수를 호출하여 제1기기(200)의 MS Manager(201)에게 가용한 기기들, 일례로 제2기기(206)의 목록을 요청한다.(218단계) getAvailableCSDevice() 함수 호출시 전달되어야 하는 정보는 후술할 표 1을 통해 보다 상세히 설명하도록 한다.The
제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
제1기기(200)의 MS Manager(204)는 이 목록을 제1기기(200)의 주 응용프로그램(202)에 전달한다.(224단계) 이후 제1기기(200)의 주 응용프로그램(202)은 전달받은 제2기기(206)의 목록을 사용자에게 보여주고 이 중 하나를 선택한다.(226단계) 여기서 사용자에게 어떻게 목록을 보여줄 것인지, 또는 사용자에게 선택을 하게 할 것인지, 제1기기(200)에서 자동으로 제2기기(206)를 선택할 것인지는 본 발명에서 정의하지 않는다. 다만, 본 발명에서 주 응용프로그램이 웹 응용프로그램으로 정의되어 있기 때문에 224단계에서 전달받은 목록을 자바스크립트로 처리하여 웹 페이지에서 보여 주고 사용자로부터 선택 받을 수 있다.The MS
제1기기(200)의 주 응용프로그램(202)은 제2기기(206)를 선택하면 해당 기기의 정보, 일례로 응용 프로그램을 구동할 수 있는 URL 정보 등을 저장하고,(228단계) 이 정보는 추후 제1기기(200)에서 제2기기(206)의 응용 프로그램을 구동시킬 때 사용된다.
The
도 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
도 3을 참조하면, 앞서 설명한 도 2의 214단계 내지 228단계를 통해 제2기기(306)의 탐색(discovery)과 페어링(paring)이 완료되었다고 가정한다.(314단계)Referring to FIG. 3, it is assumed that discovery and pairing of the
제1기기(302)의 제1응용프로그램(Primary App.), 일례로 웹 브라우저(302)는 sendCSURI() 함수를 호출하여 MS Manager(304)에게 제2기기(306)에서 실행될 응용프로그램의 정보를 전달한다.(316단계) sendCSURI() 함수 호출시 전달되어야 하는 정보는 후술할 표 1을 통해 보다 상세히 설명하도록 한다.The first application program of the
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 Launcher(310)는 웹 응용프로그램이면 URI를 웹 브라우저(308)에게 전송하고, 웹 브라우저(308)는 전달받은 URI가 포함된 URL 요청(Request)을 전송하여 웹 서버(312)에 웹 페이지의 전송을 요청하고,(324단계) 웹 서버(312)로부터 전송 받은 웹 페이지, 일례로 컴패니언(companion) 응용프로그램을 수신하여 이를 표시한다.(326단계) If the
이렇게 구동된 제2기기(306)의 응용프로그램은 제1기기(300)의 응용프로그램으로부터 구동되었기 때문에, 제1기기(300)의 응용프로그램과 제2기기의 응용프로그램은 서로 연관을 가지고 동작할 수 있게 된다.Since the application program of the
표 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]
도 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
도 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
제2기기(406)의 웹 브라우저(408)는 응용프로그램, 일례로 웹 응용프로그램과 네이티브 응용프로그램에 대하여 getAvailablePrimaryDevice() 함수를 호출한다.(420단계)The
제2기기(406)의 MS Launcher(410)는 네트워크에서 사용 가능한 제1기기(400)를 검색한다.(422단계) 이때 제1기기(400)의 검색을 위해 어떤 프로토콜을 사용할 것인지는 이 단계에서는 정의하지 않는다. MS Launcher(410)는 네트워크의 제1기기(400)로부터 응답을 수신하고 이를 처리하여 가용한 기기의 목록을 만든다.(423단계)The MS Launcher 410 of the
MS Launcher(410)는 이 목록을 제2기기(406)의 보조 응용프로그램(CS app.)(408)에 전달한다.(424단계) 이후 제2기기(406)의 보조 응용프로그램(408)은 전달받은 제1기기의 목록을 사용자에게 보여주고 이중 하나를 선택한다. 여기서 사용자에게 어떻게 목록을 보여줄 것인지, 사용자에게 선택을 하게 할 것인지, 제2기기에서 자동으로 제1기기를 선택할 것인지는 본 발명에서 정의하지 않는다. 다만, 본 발명에서는 가용한 기기의 목록을 보조 응용 프로그램에게 전달하므로 보조 응용프로그램에서 이를 처리하여 사용자에게 보여주고 선택받을 수 있다.The MS Launcher 410 forwards the list to the
제2기기(406)의 보조 응용프로그램(408)에서 launchPrimaryAppURI()를 호출하여 MS Launcher(410)에 제1기기(400)의 정보와 주 응용프로그램(제1기기에서 실행되는 응용프로그램)의 정보, 일례로 URI를 전달한다.(426단계)A launchPrimaryAppURI () is called in the
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
웹 브라우저(402)는 전달 받은 URI를 판단하여, 네이티브 응용프로그램이면 네이티브 응용프로그램을 구동하고, 웹 응용프로그램이면 URI를 제1기기(400)의 웹 브라우저(402)에 전달한다. 웹 브라우저(402)는 전달받은 URI가 포함된 URL 요청(Request)을 전송하여 웹 서버(412)에 웹 페이지 전송을 요청하고,(434단계) 웹 서버(412)로부터 전송 받은 웹 페이지, 일례로 프라이머리 응용프로그램을 수신하여 이를 표시한다.(436단계) The
이렇게 구동된 제1기기(400)의 응용프로그램은 제2기기(406)의 응용프로그램으로부터 구동되었기 때문에, 제2기기(406)의 응용프로그램과 제1기기(400)의 응용프로그램은 서로 연관을 가지고 동작할 수 있게 된다.Since the application program of the
표 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]
도 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
도 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
UPnP(512,530)는 제1기기(500)와 제2기기(520)에 공통으로 포함되며 기기간 발견에 필요한 동작을 수행한다. 여기서는 구체적으로 SSDP(Simple Service Discovery Protocol)를 사용하여 네트워크에서 다른 기기를 발견하고, 네트워크에 자신의 존재를 알리는 역할을 수행한다.The
HTTP 서버(514,532)는 제1기기(500)와 제2기기(520)에 공통으로 포함되며 HTTP 프로토콜을 통해 요청을 받고 이를 처리하는 역할을 수행한다. 본 발명에서는 구체적으로 응용프로토콜 구동을 위해 다른 기기로부터 HTTP GET 및 HTTP POST 요청을 받아 이를 처리하는 역할을 수행한다. 본 발명에서 HTTP 서버는 위에 기술한 단순한 역할만을 수행하며 웹 페이지를 배포하는 일반적인 웹 서버의 역할은 수행하지 않는다.The
WebSocket 서버(510)는 제1기기(500)에만 포함되며, WebSocket 프로토콜을 처리하는 역할을 수행한다. 본 발명에서는 제2기기(520)로부터 WebSocket 요청을 받아 이를 처리하여 제1기기(500)와 제2기기(520)의 응용프로그램간 통신이 가능하게 하는 역할을 수행한다.The
이하에서는 도 6 내지 도 7을 통해 MS manager(508)와 MS Launcher(528)에 새롭게 추가된 세부 모듈에 의해 구체화된 세부 동작을 설명하도록 한다.
Hereinafter, detailed operations performed by the
도 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
도 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
[표 3][Table 3]
M-SEARCH를 수신한 제2기기(612)의 UPnP 모듈(618)은 하기 표 4와 같은 응답(Response with LOCATION Header)을 보내 자신이 해당되는 기기임을 알려준다.(624단계)The
[표 4] [Table 4]
응답을 수신한 제1기기(600)의 UPnP 모듈(606)은 응답 헤더 중, LOCATION 헤더의 LOCATION URL 정보를 사용하여 기기의 상세정보(Device Description)를 요청한다.(HTTP GET request)(626단계)The
상기 HTTP GET request 요청에 제2기기(612)의 HTTP Server(620)는 다음과 같이 제2기기(612)의 응용프로그램을 수행할 수 있는 특정 헤더(x-Application-URL)를 포함하여 하기 표 5와 같은 응답(HTTP Response)을 전송한다.(628단계)The
[표 5][Table 5]
다음으로 제2기기(612)가 제1기기(600)를 발견하는 예를 설명하도록 한다.Next, an example in which the
제2기기(612)의 UPnP 모듈(618)은 네트워크의 가용한 제1기기(600)를 찾기 위해 M-SEARCH를 전송하고,(630단계) SSDP 프로토콜을 사용하여 하기 표 6과 같은 명령을 수행한다.The
[표 6][Table 6]
M-SEARCH를 수신한 제1기기(600)의 UPnP 모듈(606)은 하기 표 7과 같은 응답(Response with LOCATION Header)을 보내 자신이 해당되는 기기임을 알려준다.(632단계)The
[표 7] [Table 7]
응답을 수신한 제2기기(612)의 HTTP Server(620)는 응답 헤더 중, LOCATION 헤더의 LOCATION URL 정보를 사용하여 기기의 상세정보(Device Description)를 요청한다.(HTTP GET request)(634단계)The
상기 HTTP GET request 요청에 제1기기(600)는 다음과 같이 제1기기(600)의 응용프로그램을 수행할 수 있는 특정 헤더 (x-Application-URL)를 포함하여 응답한다.(636단계) 또한 제1기기(600)는 제2기기(612)의 응용프로그램에서 응용프로그램간 통신을 수행할 수 있는 웹소켓 서버(610)를 가지고 있는데, x-WebSocket 헤더로 이 웹소켓 서버에 접속할 수 있는 URL 정보를 포함시켜 응답한다.(628단계)In
상기 636단계 및 638단계에서 전송되는 HTTP Response는 하기 표 8과 같다.The HTTP responses transmitted in
[표 8][Table 8]
도 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
도 7을 참조하면, 먼저 제1기기(700)에서 제2기기(712)의 응용 프로그램을 구동하는 과정부터 설명하면 다음과 같다. Referring to FIG. 7, the process of driving an application program of the
제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
표 9는 MS Manager(704)에서 관리하는 제2기기(712) 정보 테이블의 예를 보여 준다.Table 9 shows an example of the information table of the
[표 9] [Table 9]
또한 제1기기(700)의 MS Manager(704)는 722단계에서 획득한 URL로 제2기기(712)의 HTTP Server(720)에 하기 표 10과 같은 HTTP Post 요청을 전송한다.(724단계)The
[표 10][Table 10]
이때 제2기기(712)에서 구동시킬 응용프로그램은 CSAppPath에 URI로 기술되며 sendCSURI() API의 두 번째 인자인 char * URI 값이다. 또한, 제2기기(712)의 응용프로그램을 구동시킬 때 필요한 인자를 전달하고 싶을 때는 HTTP의 Body에 표 10과 같은 형식으로 인자를 보낸다.At this time, the application program to be executed by the
제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
제2기기(712)의 HTTP 서버(720)는 이 결과에 따라 제1기기(700)의 MS Manager(704)에 하기 표 11과 같은 응답코드를 전송한다.(201 CREATED)(734단계)The
[표 11][Table 11]
다음으로 제2기기(712)에서 제1기기(700)의 응용 프로그램을 구동하는 과정을 설명하면 다음과 같다.Next, a process of driving an application program of the
제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
표 12는 MS Launcher(716)에서 저장하고 있는 제1기기(700) 정보 테이블의 예를 보여 준다.Table 12 shows an example of the
[표 12][Table 12]
또한 제2기기(712)의 MS Launcher(716)는 736단계에서 획득한 URL로 제1기기(700)에 하기 표 13과 같은 HTTP Post 요청을 전송한다.(738단계)The
[표 13][Table 13]
이때 제1기기(700)에서 구동시킬 응용프로그램은 PrimaryPath에 URI로 기술되며 ssendPrimaryAppURI() API의 두 번째 인자인 char * URI 값이다. 또한, 제1기기(700)의 응용프로그램을 구동시킬 때 필요한 인자를 전달하고 싶을 때는 HTTP의 Body에 표 13과 같은 형식으로 인자를 보낸다.At this time, the application program to be executed by the
제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
제1기기(700)의 HTTP 서버(708)는 이 결과에 따라 제2기기(712)에 하기 표 14와 같은 응답코드를 전송한다.(201 CREATED)(748단계)The
[표 14][Table 14]
도 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
제 1기기(802)는 해당 부가정보를 보여줄 수 있는 제2기기(804)의 응용프로그램을 구동하여 이를 사용자에게 제공한다.
The
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.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.
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) |
-
2013
- 2013-09-23 KR KR20130112842A patent/KR20150033185A/en not_active Application Discontinuation
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 |