WO2015041494A1 - 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치 - Google Patents

무선 통신 시스템에서 어플리케이션 실행 방법 및 장치 Download PDF

Info

Publication number
WO2015041494A1
WO2015041494A1 PCT/KR2014/008812 KR2014008812W WO2015041494A1 WO 2015041494 A1 WO2015041494 A1 WO 2015041494A1 KR 2014008812 W KR2014008812 W KR 2014008812W WO 2015041494 A1 WO2015041494 A1 WO 2015041494A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
information
app
executed
executing
Prior art date
Application number
PCT/KR2014/008812
Other languages
English (en)
French (fr)
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
Priority claimed from KR20130112842A external-priority patent/KR20150033185A/ko
Priority claimed from KR1020140063216A external-priority patent/KR102324669B1/ko
Priority to CN202210703689.9A priority Critical patent/CN115103337B/zh
Priority to JP2016516562A priority patent/JP6543617B2/ja
Priority to EP14846282.3A priority patent/EP3051425A4/en
Priority to CN202210703674.2A priority patent/CN114911745A/zh
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to BR112016006403-8A priority patent/BR112016006403B1/pt
Priority to MX2016003821A priority patent/MX2016003821A/es
Priority to CA2925284A priority patent/CA2925284C/en
Priority to US15/023,923 priority patent/US11006187B2/en
Priority to RU2016115528A priority patent/RU2678663C2/ru
Priority to CN201480052311.0A priority patent/CN105579995B/zh
Publication of WO2015041494A1 publication Critical patent/WO2015041494A1/ko
Priority to US17/314,430 priority patent/US20210274263A1/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • H04N21/41265The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43637Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44227Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6543Transmission by server directed to the client for forcing some client operations, e.g. recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8186Monomedia components thereof involving executable data, e.g. software specially adapted to be executed by a peripheral of the client device, e.g. by a reprogrammable remote control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities

Definitions

  • the present invention relates to a method and an apparatus for executing an application in a wireless communication system.
  • An embodiment of the present invention proposes a method and apparatus for executing an application in a wireless communication system.
  • An embodiment of the present invention proposes a method and an apparatus for transmitting and receiving application information between devices in a wireless communication system.
  • An embodiment of the present invention proposes a method and apparatus for enabling the use of a multi-screen based on a plurality of devices.
  • An embodiment of the present invention proposes a method and apparatus for interworking applications between devices in a network environment in which a plurality of devices are connected.
  • An embodiment of the present invention proposes a method and apparatus for performing a control operation between devices through an application interworking operation.
  • Method In the wireless communication system, a method in which a first device executes an application of a second device, the method comprising: executing a first application and a first application programming interface (API) of the first application; Discovering the second device associated with the first device that has executed the first application, and using the second API of the first application, application execution information specific to the second device. It includes the process of transmitting.
  • API application programming interface
  • a method in which a second device executes an application in a wireless communication system comprising: when the second device is a device related to a first device that executes a first application, from the first device; Receiving application execution information specific to a device, and executing a second application of the second device based on the application execution information, wherein the second device includes a first application program of the first application.
  • the application execution information is found by the first device using an application programming interface (API), and the application execution information is information transmitted from the first device using the second API of the first application.
  • API application programming interface
  • a method in which a second device executes an application of a first device in a wireless communication system comprising: searching for the existence of the first device in a network; and when the first device is found, And transmitting information for executing the first application to the first device.
  • An apparatus In a first device in a wireless communication system, the first application is executed using an application unit for executing a first application and a first application programming interface (API) of the first application. And a manager for discovering a second device related to the first device and transmitting application execution information specific to the second device by using a second API of the first application.
  • API application programming interface
  • Another apparatus In a second device in a wireless communication system, when the second device is a device related to the first device that has executed the first application, the application execution information specific to the second device is received from the first device. And an application unit configured to execute a second application of the second device based on the application execution information, wherein the second device includes a first application programming interface of the first application.
  • the application execution information is information transmitted from the first device using the second API of the first application.
  • a first device is searched for whether a first device exists in a network, and when the first device is found, information for executing a first application application of the first device is provided. And a launcher for transmitting to the device.
  • the phrases “associated with” and “associated therewith” and their derivatives include, be included within, and interconnected with (interconnect with), contain, be contained within, connect to or with, connect to or connect with or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, Something that is likely or be bound to or with, have, have a property of, etc .;
  • controller means any device, system, or portion thereof that controls at least one operation, wherein the device is hardware, firmware or software, or some combination of at least two of the hardware, firmware or software.
  • a second device may execute an application of a first device through a discovery operation between devices and a transmission / reception of application information based on web technology in a network environment in which a plurality of devices are connected.
  • the first device may be executed by the application of the second device.
  • the second device is the first device from an application (electronic program guide (EPG), etc.) of the second device.
  • EPG electronic program guide
  • the first device may display main information (such as broadcast program or broadcast information) and the second device may display additional information (such as broadcast additional information) to support multi-screen use. Can be.
  • main information such as broadcast program or broadcast information
  • additional information such as broadcast additional information
  • the second device may perform a control operation (volume setting, channel change, etc.) on the first device from an application (remote controller) of the second device.
  • an application remote controller
  • information of an application associated with a broadcast has to be acquired through a broadcasting network in the first device.
  • application information of the first device may be obtained from the second device. .
  • FIG. 1 is a view showing a schematic configuration of a wireless communication system according to a first embodiment of the present invention
  • FIG. 2 is a signal flow diagram illustrating a process in which a first device discovers and pairs a second device according to a first embodiment of the present invention
  • FIG. 3 is a signal flow diagram illustrating a process of executing an App of a second device by a first device according to the first embodiment of the present invention
  • FIG. 4 is a signal flow diagram illustrating a process of executing an App of a first device by a second device according to the first embodiment of the present invention
  • FIG. 5 is a view showing a schematic configuration of a wireless communication system according to a second embodiment of the present invention.
  • FIG. 6 is a signal flow diagram illustrating a discovery process between a first device and a second device according to a second embodiment of the present invention
  • FIG. 7 is a signal flow diagram illustrating a process of executing an App between a first device and a second device according to a second embodiment of the present invention
  • FIG. 8 is a view showing an example in which the method according to the second embodiment of the present invention is applied.
  • FIG. 9 is a view showing a schematic configuration of a wireless communication system according to a third embodiment of the present invention.
  • FIG. 10 is a signal flowchart illustrating a process of a second device executing an App of a first device in a wireless communication system according to a third embodiment of the present invention
  • FIG. 11 is a signal flowchart illustrating a process of searching for a first device by a second device according to a third embodiment of the present invention
  • FIG. 12 is a signal flowchart illustrating a process of executing an App of a first device in a wireless communication system according to a third embodiment of the present invention
  • FIG. 13 is a flowchart illustrating a process in which a first device executes and executes an App according to a third embodiment of the present invention
  • FIG. 14 is a flowchart illustrating an operation related to running an App of a second device according to a third embodiment of the present invention.
  • a “component surface” includes one or more component representations.
  • first and second may be used to describe various components, but the components are not limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • the device may include a communication function.
  • the device may be a smart phone, a tablet personal computer (PC), a mobile phone, a video phone, an e-book reader, a desktop ) PCs, laptop PCs, netbook PCs, personal digital assistants (PDAs), portable multimedia players (PMPs), MP3 players, Mobile medical devices, cameras, wearable devices (e.g., head-mounted devices (HMD), electronic clothing, electronic bracelets, electronic necklaces, electronic accessories) ), An electronic tattoo, or a smart watch.
  • PC personal computer
  • PDAs personal digital assistants
  • PMPs portable multimedia players
  • MP3 players MP3 players
  • Mobile medical devices cameras
  • wearable devices e.g., head-mounted devices (HMD), electronic clothing, electronic bracelets, electronic necklaces, electronic accessories)
  • An electronic tattoo or a smart watch.
  • the device may be a smart home appliance having a communication function.
  • the smart home appliance includes a television, a digital video disk (DVD) player, an audio, a refrigerator, an air conditioner, a vacuum cleaner, an oven, Microwave oven, washer, dryer, air purifier, set-top box, TV box (e.g. Samsung HomeSyncTM, Apple TVTM, or Google TVTM), gaming console ), An electronic dictionary, a camcorder, an electronic photo frame, and the like.
  • DVD digital video disk
  • a device may comprise a medical device (eg, magnetic resonance angiography (MRA) device, magnetic resonance imaging (MRI), and computed tomography).
  • MRA magnetic resonance angiography
  • MRI magnetic resonance imaging
  • computed tomography tomography
  • CT tomography
  • imaging devices or ultrasound devices
  • GPS global positioning system
  • EDR event data recorders
  • FDR flight records Flight data recorder
  • automotive infotainment device navigational electronic device (e.g., navigational navigation device, gyroscope or compass), avionics device, security device, , Industrial or consumer robots.
  • an apparatus may include furniture, parts of a building / structure, an electronic board, an electronic signature receiving device, a projector, and various measurement devices (eg, water and , Electrical, gas or electromagnetic wave measuring devices).
  • various measurement devices eg, water and , Electrical, gas or electromagnetic wave measuring devices.
  • the device may be a combination of devices as described above.
  • the device according to the preferred embodiments of the present invention is not limited to the device as described above.
  • the device may be an electronic device as an example.
  • the wireless communication system may be a wireless communication system in a network environment (for example, a home network environment, etc.) to which a plurality of devices are connected.
  • the second device may provide the first device with information about an application of the first device associated with an application of the second device by interworking with the first device. Specifically, based on the web technology, the second device discovers a first device that can be linked with itself, and the information about the application of the first device associated with the application of the second device to the first device By transmitting, the application of the first device can be executed.
  • An embodiment of the present invention provides a specific protocol required for interworking between a second device and a first device together with a system configuration method for interworking between a plurality of devices in the same network.
  • the common framework is used for a remote user interface (RUI) service in the future or in various broadcast standard environments. To be used.
  • RUI remote user interface
  • the application may include both a web application written in HTML5 (hypertext markup language 5) and a native application dependent on an operating system (OS) of the corresponding device.
  • HTML5 hypertext markup language 5
  • OS operating system
  • One embodiment of the present invention provides the following method.
  • FIG. 1 is a view showing a schematic configuration of a wireless communication system according to a first embodiment of the present invention.
  • the wireless communication system includes a web server 130 and a plurality of devices.
  • the plurality of devices may perform communication in the same network, and may be, for example, devices capable of wireless communication in a home network. 1, a first device 100 and a second device 110 that can interoperate with each other among the plurality of devices will be described.
  • the web server 130 provides web apps 104 and 114 that can be used in the first device 100 and the second device 110.
  • the web app 104, 114 may be composed of HTML, cascading style sheet (CSS), JavaScript, video, image, and the like. Meanwhile, the web server 130 may exist in a local network or exist in an external network (cloud).
  • the first device 100 represents a main device on which an App is executed.
  • the first device 100 may be a common device such as a digital TV (DTV) or a set top box (STB), and the app may be an app related to a broadcast. have.
  • DTV digital TV
  • STB set top box
  • the second device 110 represents an auxiliary device that executes an App in cooperation with the first device 100.
  • the second device 110 may be a personal terminal such as a mobile terminal or a tablet.
  • the first device 100 and the second device 110 each include a web browser 102 and 112.
  • the web browsers 102 and 112 are used to execute web apps 104 and 114 composed of HTML5 and related web technologies and the like.
  • the second device 110 may include an embedded app 116.
  • the embedded App 116 represents an App running on a platform (OS) (eg, Android, iOS, Windows, TiZen, etc.) of the second device 110.
  • OS eg, Android, iOS, Windows, TiZen, etc.
  • the embedded App 116 may be compiled and executed as binary code.
  • the multi-screen (MS) manager 106 included in the first device 100 performs an operation necessary for interworking with the second device 110. That is, the MS manager 106 discovers the second device 110 in the network and transmits app launch information and the like to the MS launcher 118 of the second device 110. do.
  • the MS management unit 106 transmits the app information to the second device 110, requests the second device 110 to execute an app, and the first device 100 and the second device 110. ) Function to enable communication between apps.
  • the MS launcher 118 included in the second device 110 performs an operation necessary for interworking with the first device 100. That is, the MS launcher 118 communicates with the MS management unit 106 and executes an app of the second device 110.
  • the MS launcher 118 has a function of discovering the first device 100 in a network, a function of requesting execution of an app from the first device 100, and the second device 110 and the first device 100. ) Function to enable communication between apps.
  • FIG. 2 is a signal flow diagram illustrating a process in which a first device discovers and pairs a second device according to a first embodiment of the present invention.
  • the first device 100 requests a web page transmission by transmitting a uniform resource locator (URL) request to the web server 130 through the web browser 102.
  • the first device 100 receives a web page from the web server 130.
  • the web browser 102 processes and displays the received web page as a primary App 105.
  • the basic App 105 executed by the web browser 202 detects the second device 110.
  • An application program interface (eg, getAvailableCSDevice ( )) To request a list (second device ID list) for the second device 110 available to the MS management unit 106.
  • API application program interface
  • the MS management unit 106 transmits a signal to the MS launcher 118 of the second device 110 to discover the second device 110 existing in the network in step 220, and the MS launcher in step 222. Receive a response signal from 118.
  • the protocol used to discover the second device 110 may be a protocol defined in the second embodiment, which will be described later, which will be described in detail with reference to the second embodiment.
  • the MS manager 106 determines the second device 110 as an available device, and transmits the information about the second device 110 to the basic app 105 in step 224. Can be.
  • FIG. 2 illustrates a case where there is only one second device 110, a plurality of second devices 110 may exist in the network, and in this case, the MS management unit 106 may use the second device.
  • a list for the 110 may be generated and sent to the basic App 105.
  • the basic app 105 may receive a user's selection of whether to use the second device 110 by displaying information on the second device 110 on the screen.
  • the first device 100 automatically selects the second device 110 in detail Does not define.
  • the basic app 105 is defined as a web app, the information about the second device 110 may be processed by JavaScript and displayed on a web page to be selected by the user.
  • the basic app 105 executes the CS App 115, which is an App ID of the second device 110 and an App of the second device, in step 228. Stores URL information that allows you to do so. The stored information may be used later when the CS device 115 of the second device 110 is executed in the first device 100.
  • FIG. 3 is a signal flowchart illustrating a process of executing an App of a second device by a first device according to the first embodiment of the present invention.
  • step 316 the basic App 104 executes a specific API (working).
  • the sendCSURI is used to transmit information about the CS App 115 to be executed in the second device 110 to the MS management unit 106.
  • the MS manager 106 transmits information on the CS App 115 to be executed by the MS launcher 118 of the second device 110.
  • the MS launcher 118 may display uniform resource identifier (URI) information (including URL information and uniform resource name (URN) information) included in the information on the CS App 115 to be executed. (112).
  • URI uniform resource identifier
  • UPN uniform resource name
  • the web browser 112 determines whether the CS App 115 to be executed is an embedded app or a web app based on the URI information. If the CS App 115 to be executed is an embedded App, the web browser 112 executes the embedded App in step 322.
  • the web browser 112 transmits a URL request including the URI to the web server 130 to request transmission of a web page.
  • the web browser 112 displays the web page as the CS App 115.
  • the basic App 105 and the CS App 115 can operate in association with each other. .
  • Table 1 below is a table briefly showing APIs that may be used in the first device 100, as in step 218 of FIG. 2 and step 316 of FIG.
  • getAvailableCSDevice () has no input argument and is used to obtain a list of second devices available in the network.
  • SendCSURI () has two input arguments, uint target_device indicating the ID of the second device to be executed, and URI information of the App of the second device to be executed, and may be used to execute the App of the second device.
  • FIG. 4 is a signal flowchart illustrating a process of executing an App of the first device by the second device according to the first embodiment of the present invention.
  • the CS App 115 may be executed by the user in step 414.
  • the web browser 102 transmits a URL request to the web server 130 to request transmission of a web page.
  • the web browser 112 displays the received web page as the CS App 115 in step 418.
  • step 420 the CS App 115 requests a list of the first devices 100 available to the MS launcher 118 using a specific API (for example, getAvailablePrimaryDevice ()).
  • a specific API for example, getAvailablePrimaryDevice ()
  • the MS launcher 118 transmits a signal to the MS management unit 106 of the first device 100 to discover the first device 100 existing in the network in step 422, and the MS management unit in step 423. Receive a response signal from 106.
  • the protocol used for discovering the first device 100 may be a protocol defined in the third embodiment to be described later.
  • the MS launcher 118 determines that the first device 100 is an available device, and transmits information about the second device 110 to the CS App 115 in step 424. Can be.
  • FIG. 4 illustrates the case where there is only one first device 100
  • the first device 100 may exist in the network, and in this case, the first device 100 may be present in the MS launcher 118.
  • a list for the 100 may be generated and transmitted to the CS App 115.
  • the CS App 115 may receive a user's selection of whether to use the first device 100 by displaying information about the first device 100 on a screen.
  • how to display the information on the first device 100 on the screen, or how to receive a selection from the user, whether the second device 110 to automatically select the first device 100 in detail Does not define.
  • the user since the information about the first device 110 is transmitted to the CS App 115, the user can be selected by the CS App 115.
  • the CS App 115 transmits information for executing a basic app to the MS launcher 118 using a specific API (launchPrimaryAppURI ()) in step 426. That is, the CS App 115 transmits the information of the first device 100 and the information of the basic App 105, for example, URI information, to the MS launcher 118. Then, the MS launcher 118 transmits the information about the basic app 105 to be executed in the first device 100 to the MS management unit 106 of the first device 100 based on the transmitted information in step 428. Send.
  • a specific API launchPrimaryAppURI ()
  • the MS management unit 106 transmits the URI information to the web browser 102 in step 430. Then, the web browser 102 determines whether the basic app 105 to be executed based on the URI information is an embedded app or a web app. If the basic app 105 to be executed is an embedded app, the web browser 102 executes the embedded app as the basic app 105 in step 432.
  • the web browser 102 transmits a URL request including the URI to the web server 130 to request transmission of a web page.
  • the web browser 102 displays the web page as the basic app 105.
  • the basic App 105 Since the basic App 105 has been executed by the CS App 115 of the second device 110, the basic App 105 and the CS App 115 can operate in association with each other. .
  • Table 2 below is a table briefly showing APIs that may be used in the second device 110, as in steps 420 and 426 of FIG.
  • getAvailablePrimaryDevice has no input argument and is used to obtain a list of first devices available in the network.
  • SendPrimaryAppURI () has two input arguments, uint target_device indicating the ID of the first device to be executed, and URI information of the App of the first device to be executed, and can be used to execute an App of the first device.
  • FIG. 5 is a diagram illustrating a schematic configuration of a wireless communication system according to a second embodiment of the present invention.
  • the wireless communication system includes a web server 530 and a plurality of devices.
  • the plurality of devices may perform communication in the same network, and may be, for example, devices capable of wireless communication in a home network.
  • a first device 500 and a second device 520 that can interoperate with each other among the plurality of devices will be described.
  • the first device 500 includes a web browser 504, an embedded app 502, a web app 506, and an MS manager 508 for interworking with the second device 520.
  • the second device 520 includes a web browser 522, a web app 524, an embedded app 526, and an MS launcher 528.
  • the web apps 506, 524, the embedded apps 502, 526, the MS management unit 508, and the MS launcher 528, including the web browsers 504, 522, respectively, are shown in FIG. 1.
  • the operations corresponding to the 102, 112, the web app 104, 114, the embedded app 116, the MS manager 106, and the MS launcher 118 may be performed.
  • the MS management unit 508 and the MS launcher 528 of FIG. 5 may include the following detailed configurations. That is, the MS management unit 508 includes a universal plug and play (UPnP) unit 512, an HTTP server 514, and a web socket server 510, and the MS launcher ( 528 includes a UPnP unit 530 and an HTTP server 532.
  • UFP universal plug and play
  • the UPnP units 512 and 530 are included in both the first device 500 and the second device 520 and perform an operation for discovery between devices.
  • the UPnP unit 512 or 530 discovers other devices in the network by using a simple service discovery protocol (SSDP) or the like and informs the network of its existence.
  • SSDP simple service discovery protocol
  • the HTTP server 514 and 532 are included in both the first device 500 and the second device 520 and receive a request through the HTTP protocol to perform an operation according to the received request.
  • the HTTP server 514 and 532 receives an HTTP GET and HTTP POST request from another device to execute an App and performs an operation according to the request.
  • the HTTP server 514 and 532 may not perform an operation of a general web server for distributing web pages in addition to the above-described operations.
  • the web socket server 510 is included in the first device 500 and performs an operation of processing a web socket protocol.
  • the web socket server 510 receives a web socket request from the second device 520 and processes the web socket request, thereby between the App of the first device 500 and the second device 520. Perform an operation that enables communication.
  • FIG. 6 is a signal flowchart illustrating a discovery process between a first device and a second device according to a second embodiment of the present invention.
  • the process described in FIG. 6 may correspond to a detailed operation of the detailed protocol of getAvailableCSDevice () of Table 1 described above.
  • the UPnP unit 506 of the first device 500 transmits a signal for device discovery in step 622.
  • the UPnP unit 506 may transmit a signal as shown in Table 3 below using the M-SEARCH method of SSDP to find the second device 520 available in the network.
  • the UPnP unit 530 of the second device 520 When the UPnP unit 530 of the second device 520 receives the signal as described above, the UPnP unit 530 transmits a response signal including the URL information to the first device 500 in step 624. Notified to the device 500.
  • the UPnP unit 530 may transmit a response signal as shown in Table 4 below.
  • the response signal may include URL information related to information about the second device 520 in a LOCATION header. Can be.
  • the UPnP unit 512 of the first device 500 requests information about the second device 520 using URL information included in the LOCATION header of the response signal in step 626. do.
  • the request may be performed based on the HTTP GET method.
  • the HTTP server 532 of the second device 520 may include a response including URL information used to execute the App of the second device 520, that is, the CS App 527, in response to the request.
  • the signal is transmitted to the first device 500.
  • the response signal may include, for example, a header (x-Application-URL) including URL information used to execute the CS App 527 as shown in Table 5 in the form of an HTTP response.
  • the UPnP unit 530 of the second device 520 transmits a signal for device discovery in step 630.
  • the UPnP unit 530 may transmit a signal as shown in Table 6 below using the M-SEARCH method of SSDP to find the first device 500 available in the network.
  • the UPnP unit 512 of the first device 500 When the UPnP unit 512 of the first device 500 receives the signal as described above, the UPnP unit 512 transmits a response signal including URL information to the second device 520 in step 632 to notify the second device 520 of its presence. Notified to device 520.
  • the UPnP unit 512 may transmit a response signal as shown in Table 7 below.
  • the response signal may include URL information related to the information about the first device 500 in a LOCATION header. Can be.
  • the HTTP server 532 of the second device 520 receives the response signal, in step 634, the HTTP server 532 requests information about the first device 500 using URL information included in the LOCATION header of the response signal. do. In this case, the request may be performed based on the HTTP GET method.
  • the UPnP unit 512 of the first device 520 includes a response including URL information used to execute the app of the first device 500, that is, the basic app 507, in response to the request.
  • the signal is transmitted to the second device 520.
  • the response signal may include, for example, a header (x-Application-URL) including URL information used to execute the basic App 507 as shown in Table 8 in the form of an HTTP response.
  • the first device 500 since the first device 500 has a web socket server 510 capable of performing communication between the App and the App of the second device 520, the first device 500 can access the web socket server 510 in step 638.
  • the header (x-WebSocket) including the URL information is included in the response signal and transmitted to the second device 520.
  • FIG. 7 is a signal flow diagram illustrating a process of executing an App between a first device and a second device according to a second embodiment of the present invention.
  • the process described in FIG. 7 may correspond to a specific operation of the detailed protocol of sendCSURI () of Table 1 described above.
  • the MS manager 508 of the first device 500 receives two factors from the browser 506 of the first device 500 through sendCSURI () in step 722.
  • One of the two arguments, uint target_device indicates an ID of the second device 520 that is the target of the app execution, and the MS management unit 508 selects the App of the second device 520 based on the second device information table.
  • URL information x-Application-URL
  • the second device information table may be stored and managed in the MS management unit 508, as shown in Table 9 as an example.
  • the second device information table may include device description information indicating a second device ID, a device type, and the like, and a second device App URL information.
  • the MS manager 508 of the first device 500 requests the HTTP Post request as shown in Table 10 below to the HTTP server 532 of the second device 520 based on the obtained URL information in step 724. Send.
  • the App to be executed in the second device 520 may be indicated as URI information in CSAppPath, which is a char * URI value which is another argument of sendCSURI ().
  • a factor required when executing the App of the second device 520 may be transmitted based on the body of HTTP in the form shown in Table 10.
  • the HTTP server 532 of the second device 520 parses the HTTP POST received in step 726 and delivers CSAppPath information to the MS launcher 528 together with the argument of the body part. Then, the MS launcher 528 executes the CS App 527 which is the App of the second device 520 based on the URI information included in the CSAppPath in step 728.
  • the MS launcher 528 When the MS launcher 528 receives the execution result of the CS App 527 (for example, the CS App 527 was successfully executed) in step 730, the MS launcher 528 of the CS App 527 is received in step 732.
  • the execution result is transmitted to the HTTP server 532 of the second device 520.
  • the HTTP server 532 sends one of the response codes as shown in Table 11 below to the MS management unit 508 of the first device 500 in step 734 according to the execution result of the CS App 527. For example, send 201 CREATED).
  • the response code 201 CREATED indicates that the CS App 527 is successfully executed
  • the response code 404 NOT FOUND indicates that the CS App 527 does not exist
  • the response code 503 SERVICE UNAVAILABLE is the second.
  • the CS App 527 may not be executed for a while because the device 520 executes another App.
  • the MS launcher 528 of the second device 520 receives two factors from the browser 714 of the second device 520 via sendPrimaryAppURI ().
  • One of the two arguments, uint target_device, indicates an ID of the first device 520 that is the target of the app execution, and the MS launcher 528 determines the app of the first device 500 based on the first device information table.
  • URL information x-Application-URL
  • the first device information table may be stored and managed in the MS launcher 528, as shown in Table 12 as an example.
  • the first device information table may include device description information indicating a first device ID, a device type, etc., first device App URL information, and web socket information.
  • the MS launcher 528 of the second device 520 sends the HTTP post request as shown in Table 13 to the HTTP server 514 of the first device 500 in step 738 based on the obtained URL information. Send.
  • the App to be executed in the first device 500 may be indicated as URI information in the PrimaryPath, which is a char * URI value which is another argument of sendPrimaryAppURI ().
  • a factor required when executing the App of the first device 500 may be transmitted to the body of HTTP based on the format shown in Table 13 below.
  • the HTTP server 514 of the first device 500 parses the HTTP POST received in step 740 and delivers the PrimaryAppPath information to the MS management unit 508 along with the argument of the body part.
  • the MS manager 508 executes the basic app 507, which is an App of the first device 500, based on the URI information included in the PrimaryAppPath.
  • the MS manager 508 receives the execution result of the basic app 507 (for example, the basic app 507 was successfully executed) in step 744, the MS manager 508 receives the operation of the basic app 507 in step 746.
  • the execution result is transmitted to the HTTP server 514 of the first device 500.
  • the HTTP server 514 uses one of the response codes as shown in Table 14 below as the MS launcher 528 of the second device 520 according to the execution result of the basic App 507. For example, send 201 CREATED).
  • Table 14 Response Code Description 201 CREATED The app was launched successfully. A LOCATION head is returned that specifiers the name of the running instance of the app. 404 NOT FOUND There is no such app. 503 SERVICE UNAVAILABLE If the app could not be launched momentarily, eg because the TV is scanning channels.
  • the response code 201 CREATED indicates that the basic App 507 was executed successfully
  • the response code 404 NOT FOUND indicates that the basic App 507 does not exist
  • the response code 503 SERVICE UNAVAILABLE indicates the first.
  • the device 500 performs another operation (for example, a TV channel scan operation), it indicates that the basic App 507 cannot be executed for a while.
  • FIG. 8 is a view showing an example in which the method according to the second embodiment of the present invention is applied.
  • the web server 530 is a broadcaster web server
  • the first device 500 is a digital TV (DTV)
  • the second device 520 is a mobile terminal. have.
  • the user may watch the movie 800 streamed from the web server 530 using the first device 500. At this time, the user wants to receive additional information about the corresponding movie while watching the movie through the second device 530.
  • the first device 500 may execute an App of the second device 520 that may provide the additional information based on the URL information 820 of the App of the second device 520. have.
  • the additional information 810 may be received from the web server 530, and the second device 520 may provide the received additional information 810 to the user. have.
  • the additional information may include, for example, casting information, synopsis of a movie, online shopping, and the like.
  • FIG. 9 is a view showing a schematic configuration of a wireless communication system according to a third embodiment of the present invention.
  • the wireless communication system includes a web server 900 and a plurality of devices.
  • the plurality of devices may perform communication in the same network, and may be, for example, devices capable of wireless communication in a home network.
  • a first device 910 and a second device 920 that can interoperate with each other among the plurality of devices will be described.
  • the web server 900 provides web apps 914 and 924 usable by the first device 910 and the second device 920.
  • the web app 914 924 may be composed of HTML, CSS, JavaScript, a video, an image, and the like. Meanwhile, the web server 900 may exist in a local network or exist in an external network (cloud).
  • the web server 900 may provide App information for executing the App of the first device 910, that is, App information generated based on XML (extensible markup language) (hereinafter referred to as XML AIT). Can be.
  • the web server providing the XML AIT and the web server providing the web app may be the same device or different devices.
  • the first device 910 represents a main device on which an App is executed.
  • the first device 900 may be a common device such as a DTV or an STB, and in this case, the App may be an app related to a broadcast.
  • the second device 920 represents an auxiliary device that executes an App in cooperation with the first device 910.
  • the second device 920 may be a personal terminal such as a mobile terminal or a tablet.
  • the first device 910 and the second device 920 each include a web browser 912 and 922.
  • the web browsers 912 and 922 are used to execute web apps 914 and 924.
  • the second device 920 may include a built-in App 926.
  • the embedded app 926 represents an app running on a platform (OS) (eg, Android, iOS, Windows, TiZen, etc.) of the second device 920.
  • OS eg, Android, iOS, Windows, TiZen, etc.
  • the embedded App 926 may be compiled and executed as binary code.
  • the first device 910 may further include a CS (companion screen) manager 916 and an application information table (AIT) manager 918.
  • the CS manager 916 performs an operation necessary for interworking with the second device 920. For example, the CS manager 916 searches for or discovers the second device 920 in a corresponding network, and receives App information to be executed in the first device 910 from the second device 920. An operation and an operation for communication between an App of the first device 910 and the second device 920 may be performed.
  • the AIT management unit 918 is included in the first device 910 and receives and parses an XML AIT.
  • the XML AIT is information transmitted from the second device 920 and is received by the CS manager 916 and delivered to the AIT manager 918.
  • the AIT management unit 918 parses the XML AIT to extract information about the App, and executes the App based on the extracted information.
  • the second device 920 further includes a CS launcher 928.
  • the CS launcher 928 performs an operation necessary for interworking with the first device 910. For example, the CS launcher 928 searches for or discovers the first device 910 in a corresponding network, requests an execution of an App to the first device 910 by an App request, and an App. It may perform an operation for transmitting information about the communication and an operation for communication between an App of the first device 910 and the second device 920.
  • FIG. 10 is a signal flowchart illustrating a process of a second device executing an App of a first device in a wireless communication system according to a third embodiment of the present invention.
  • the second device 920 executes the CS App 930.
  • the CS App 930 may be an App of the second device 920 used to execute an App of the first device 910.
  • the CS App 930 may be one of a web App 924 and an embedded App 926.
  • the CS App 930 may be performed through steps 1002 and 1004. App 930 is executed.
  • the second device 920 requests to provide the CS App 930 to the web server 900 based on URL information.
  • the web server 900 receives a web page related to the CS App 930 (consists of HTML, CSS, JavaScript, and an image).
  • the second device 920 executes the received web page as the CS App 930.
  • the operations of steps 1002 and 1004 may be performed using the web browser 922, and may be omitted when the CS App 930 is an embedded App 926.
  • step 1006 a device search request for whether there is another device available in the corresponding network is transmitted by the CS App 930 to the CS launcher 928.
  • the CS launcher 928 performs a device search in step 1008 and transmits information about the device found in step 1010 to the CS App 930.
  • the device search request and the device search operation may be performed based on a preset API of the CS App 930. That is, when the API is executed by the CS App 130, the actual device search operation by the CS launcher 928 is performed.
  • the API is the same as discoverHbbTVdevices () and may vary depending on the implementation.
  • the CS App 930 when a plurality of devices are found, information about the plurality of devices is transmitted to the CS App 930.
  • one of the plurality of devices that is, the first device 910 may be selected in the CS App 930.
  • the first device 910 may be arbitrarily selected by the CS App 930 or may provide a user interface (UI) for allowing the CS App 930 to select one of the plurality of devices. It may be selected by a method such as receiving a user input.
  • UI user interface
  • the user's input on whether to connect to the device may be received by providing information of the device to the user through the UI. How to show in the UI and how to handle the user's input can be performed in various ways depending on the implementation.
  • the CS App 930 instructs the CS launcher 928 to execute the App in the first device 910 in step 1014.
  • the CS App 930 may call a preset API.
  • the API may be, for example, launchHbbTVApp (), which may vary depending on the implementation.
  • the execution of the App of the first device 910 is made by an HTTP request, and consists of two processes including a process of getting information of the first device 910 and a process of executing an App. Detailed protocol used in this process will be described in detail later with reference to FIG.
  • the CS launcher 928 transmits an app execution request to the CS manager 916 of the first device 910 in step 1016.
  • the App execution request is made by a request by the HTTP POST method, the body portion of the HTTP request includes XML (ie, XML AIT) that contains the App information of the first device (910).
  • the CS manager 916 may have a web server function capable of processing the App execution request.
  • the CS manager 916 processes the app execution request, and transmits the XML AIT to the AIT manager 918 in step 1018.
  • the AIT management unit 918 executes a basic App 940 which is an App of the first device 910 that can be used in conjunction with the CS App 930 of the second device 920 based on the XML AIT. . If the basic App 940 is a built-in App, all the processes are terminated. If the basic App 940 is a web App, steps 1022 and 1024 are performed.
  • the first device 910 requests a web app from the web server 900 based on the URL information.
  • the first device 910 requests a web app related to the basic app 940 from the web server 900. Consisting of HTML, CSS, JavaScript, and images).
  • the first device 910 executes the basic App 940 based on the received web page.
  • the operations of steps 1022 and 1024 may be performed through the web browser 912.
  • Table 15 below is a table briefly showing the APIs used in FIG.
  • discoverHbbTVdevices () has no input argument and is used to obtain a list of first devices available in the network.
  • launchHbbTVApp () has two input parameters, uint target_device indicating the ID of the first device which is the target of the App execution, and App information of the first device to be executed, which is configured in XML as two input parameters, and can be used to execute the App of the first device. have.
  • FIG. 11 is a signal flowchart illustrating a process of searching for a first device by a second device according to a third embodiment of the present invention.
  • the CS launcher 928 of the second device 920 searches whether the first device 910 exists in step 1102. do. For example, the CS launcher 928 searches for the first device 910 that needs to be linked with the CS App 930 using the M-SEARCH method (M-SERACH request and response) of the SSDP. do. In this case, as shown in Table 16, the CS launcher 928 may specify the corresponding device by including information on the device to be found in the ST header.
  • M-SEARCH method M-SERACH request and response
  • the CS manager 916 of the first device 910 receives a signal as shown in Table 16, the CS manager 916 transmits a response signal to the second device 920 in step 1104.
  • the response signal includes URL information of an XML file including UPnP device information, and the URL information may be included in a LOCATION header.
  • the CS launcher 928 When the response signal is received, the CS launcher 928 requests information about the first device 910 based on the URL information included in the response signal in step 1106. That is, the CS launcher 928 requests UPnP device information for the first device 910 using the HTTP GET method based on the URL information included in the LOCATION header as shown in Table 18 below.
  • the CS manager 916 in response to the request for information, in step 1108, the information about the first device 910 and the App of the first device 910 that can be used in conjunction with the CS App 930.
  • URL information of the basic App 940 is transmitted to the second device 920. That is, the CS manager 916 includes the URL information for executing the basic App 940 together with the XML file including the UPnP device information in the "Application-URL" header as shown in Table 19 below. Transmit to the second device (920).
  • the "Application-URL" header is arbitrarily determined to include URL information for executing the basic App 940 in an embodiment of the present invention, and may be changed to another name according to an implementation.
  • the CS launcher 928 transfers the acquired information to the CS App 930 and ends the device search operation in step 1110. .
  • FIG. 12 is a signal flowchart illustrating a process of executing an App of a first device in a wireless communication system according to a third embodiment of the present invention.
  • the CS launcher 928 of the second device 810 requests information about the first device 910 as an example. Such a request may be performed through the HTTP GET method, for example, as shown in Table 20 below.
  • ⁇ App Launch URL> indicates URL information of an Application-URL header transmitted from the first device 910 in step 1108 of FIG. 11, and AppName indicates the name of the App of the first device 910. Indicates.
  • the name of the App is used for a method of limiting a specific service provided in the third embodiment of the present invention.
  • HbbTV HbbTV
  • the CS manager 916 of the first device 910 transmits App information as information on the first device 910 in response to the request in step 1202.
  • the App information may include an XML file including service endpoint information (additional service information) and user agent (UA) information.
  • the UA information may be used to determine the performance of the first device 910 in the second device 920.
  • the App information may be shown as Table 21 as an example.
  • ⁇ x_HbbTV_terminal_UAString> represents UA string information
  • ⁇ x_HbbTV_App2AppURL> represents information for communication between apps
  • ⁇ x_HbbTV_InterDevSyncURL> represents information for providing device-to-device synchronization service.
  • the App information may be added when necessary information for each service exists.
  • the CS launcher 928 receives the App information, and requests the CS manager 916 to execute the app based on the received information in step 1204. This operation may be performed based on the POST method of HTTP, and the request for executing the app may be shown in Table 22 as an example.
  • ⁇ App Launch URL> / AppName is the same as ⁇ App Launch URL> / AppName in Table 20, and information of an app to be actually executed may be delivered in an XML form (XML AIT) in the BODY part. have.
  • the delivered XML AIT may include information as shown in Table 23 below.
  • the CS manager 916 executes an App of the first device 910 based on the XML AIT. In operation 1206, the CS manager 916 transmits the execution result to the second device 920 using an HTTP response code as shown in Table 24 below.
  • the request for stopping the app may be performed by the DELETE method of HTTP.
  • the DELETE method does not include a BODY message, we need a way to identify the app to break. Therefore, based on the orgID and appID included in the XML AIT as shown in Table 26, we can identify the app to be stopped. Table 26 below shows an example of an app suspension request.
  • FIG. 13 is a flowchart illustrating a process of executing and stopping an app by a first device according to a third embodiment of the present invention. Referring to FIG. 13
  • the first device 110 receives an HTTP request from the second device 920.
  • the first device 910 analyzes the URL information included in the HTTP request and checks the corresponding App.
  • the first device 910 performs the following operation when the identified App is a specific App predefined in the system.
  • the first device 910 identifies the method of the HTTP request in step 1304.
  • the checked method is the GET method
  • the first device 910 determines that the second device 920 requests the App information of the first device 910, and in step 1306, the service endpoint and the UA information. Create an XML file containing.
  • the first device 910 includes the generated XML file in the body and transmits the generated XML file to the second device 920.
  • the transmission operation as described above may be regarded as the same operation as the processing result response in step 1316.
  • the first device 910 determines that the second device 920 has instructed to execute the App of the first device 910 and proceeds to step 1310. .
  • the first device 910 receives an XML AIT included in a body part of the HTTP request.
  • the first device 910 determines whether the app can be executed based on the orgID and the appID. In this case, the first device 910 determines whether the app can be executed based on a list of executable apps (white list) or a list of non-executable apps (black list) previously stored in the first device 910, It can determine whether the app can be executed by receiving the user's input.
  • the first device 910 executes the corresponding app in step 1314 and transmits the processing result to the second device 920 in step 1316.
  • the first device 910 must manage the appID and orgID running.
  • the first device 910 determines that the second device 920 indicates to stop the App, and in step 1318, the orgID and the appID included in the HTTP request. Judge. In operation 1320, the first device 910 determines whether an App corresponding to the determined orgID and appID is running. When the App corresponding to the determined orgID and appID is running, the first device 910 proceeds to step 1322 and determines whether there is a right to stop the running App. When the first device 910 has the authority to stop, the first device 910 stops the running app in step 1324 and transmits the result to the second device 920 in step 1316.
  • FIG. 14 is a flowchart illustrating operations related to running an App of a second device according to a third embodiment of the present invention.
  • the second device 920 receives an HTML page in step 1400 to execute an App (hereinafter referred to as a “second app”) of the second device 920.
  • an App hereinafter referred to as a “second app”
  • the second app may be executed without receiving the HTML page.
  • the second device 920 receives an XML AIT from the web server 900 including information necessary to execute an App (hereinafter, referred to as a “first app”) of the first device 910. . Subsequently, the second device 920 searches for an available device (eg, the first device 910) through the executed second App in step 1404.
  • an App hereinafter, referred to as a “first app”
  • the second device 920 proceeds to step 1418 to stop execution of the second App.
  • the second device 920 requests information of the first device 910 using the HTTP GET method in step 1408.
  • the second device 920 provides service endpoint information for communication between apps and UA information including information on performance of the first device 910.
  • Receive from The UA information includes hardware characteristics (screen size, CPU speed, PVR support, etc.) of the first device 910, and features (multi-screen function, DRM support, etc.) supported by the first device 910. Can be.
  • the second device 920 determines whether the first App can be executed in the first device 910 based on the UA information. For example, if the first device 910 has a small screen that supports a resolution of about HD, and the first App requires a resolution of about a minimum FHD, the second device 920 is the first device. The device 910 may determine that the execution of the first App is impossible. Therefore, in this case, the second device 920 proceeds to step 1418 without requesting the first device 910 to execute the first app.
  • the second device 920 proceeds to step 912 and requests the first device 910 to execute the first App.
  • An HTTP POST method may be used to request for execution of the first App.
  • the second device 920 creates a communication channel between the first device 910 and the second device 920 based on the service endpoint information to perform communication between apps. If the second device 920 needs to suspend execution of the first App, the second device 920 requests the first device 910 to suspend execution of the first App using the HTTP DELETE method in step 1416. In step 1418, the execution of the second App is stopped.
  • 15 is a view showing an example in which the method according to the third embodiment of the present invention is applied.
  • the web server 900 is a broadcaster web server
  • the first device 910 is a DTV
  • the second device 920 is a mobile terminal.
  • a user receives an electronic program guide (EPG) from the web server 910 using the second device 920.
  • EPG electronic program guide
  • the user selects a desired broadcast program based on the EPG and wants to view the selected broadcast program to the first device 910.
  • the second device 920 searches for the first device 910 available in the home network.
  • the second device 920 transmits XML ALT information received from the web server 900 to the first device 910.
  • the first device 910 may show the broadcast program selected by the second device 920 to the user by executing the corresponding app based on the XML AIT information.
  • a computer readable recording medium is any data storage device capable of storing data that can be read by a computer system. Examples of the computer readable recording medium include read only memory (ROM), and random access memory (RAM). And, compact disk-read only memory (CD-ROMs), magnetic tapes, floppy disks, optical data storage devices, and carrier wave carrier waves (such as data transmission over the Internet).
  • ROM read only memory
  • RAM random access memory
  • CD-ROMs compact disk-read only memory
  • CD-ROMs compact disk-read only memory
  • CD-ROMs compact disk-read only memory
  • CD-ROMs compact disk-read only memory
  • magnetic tapes magnetic tapes
  • floppy disks floppy disks
  • optical data storage devices such as data transmission over the Internet
  • carrier wave carrier waves such as data transmission over the Internet
  • any such software may be, for example, volatile or nonvolatile storage, such as a storage device such as a ROM, whether or not removable or rewritable, or a memory such as, for example, a RAM, a memory chip, a device or an integrated circuit. Or, for example, on a storage medium that is optically or magnetically recordable, such as a compact disk (CD), DVD, magnetic disk or magnetic tape, and which can be read by a machine (eg computer). have.
  • volatile or nonvolatile storage such as a storage device such as a ROM, whether or not removable or rewritable, or a memory such as, for example, a RAM, a memory chip, a device or an integrated circuit.
  • a storage medium that is optically or magnetically recordable such as a compact disk (CD), DVD, magnetic disk or magnetic tape, and which can be read by a machine (eg computer). have.
  • the method according to an embodiment of the present invention may be implemented by a computer or a portable terminal including a control unit and a memory, wherein the memory is suitable for storing a program or programs including instructions for implementing embodiments of the present invention. It will be appreciated that this is an example of a machine-readable storage medium.
  • the present invention includes a program comprising code for implementing the apparatus or method described in any claim herein and a storage medium readable by a machine (such as a computer) storing such a program.
  • a machine such as a computer
  • such a program can be transferred electronically through any medium, such as a communication signal transmitted over a wired or wireless connection, and the invention suitably includes equivalents thereof.
  • the apparatus may receive and store the program from a program providing apparatus connected by wire or wirelessly.
  • the program providing apparatus includes a memory for storing a program including instructions for causing the program processing apparatus to perform a preset content protection method, information necessary for the content protection method, and wired or wireless communication with the graphic processing apparatus.
  • a communication unit for performing and a control unit for automatically transmitting the program or the corresponding program to the request or the graphics processing unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 무선 통신 시스템에서 제1기기가 제1어플리케이션을 실행하고, 상기 제1어플리케이션의 제1어플리케이션 프로그램 인터페이스(application programming interface: API)를 사용하여, 상기 제1어플리케이션을 실행한 상기 제1기기와 관련된 상기 제2기기를 발견(discovery)하고, 상기 제1어플리케이션의 제2API를 사용하여, 상기 제2기기에 특정된 어플리케이션 실행 정보를 송신한다.

Description

무선 통신 시스템에서 어플리케이션 실행 방법 및 장치
본 발명은 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치에 관한 것이다.
최근 네트워크 기술과 멀티미디어 기술의 급속한 진화에 따라 다양한 종류의 기기들이 개발되고, 이러한 기기들 사이의 병합화(convergence)가 가속화 되어 가고 있다. 이에 따라 디지털 TV, 홈 씨어터, 컴퓨터 장치, 이동 단말 등의 각종 기기들이 네트워크 환경을 통해 데이터를 송수신하고 병합된 서비스를 제공하는 일이 빈번하게 발생하고 있다. 그리고 상기 병합된 서비스의 제공을 위해 기기들 간에 상호 동작을 제어할 수 있도록 하는 방안이나 상기 기기들 간 상호 관련된 동작을 수행할 수 있도록 하는 방안의 필요성이 높아지고 있다.
한편, 상기와 같은 정보는 본 발명의 이해를 돕기 위한 백그라운드(background) 정보로서만 제시될 뿐이다. 상기 내용 중 어느 것이라도 본 발명에 관한 종래 기술로서 적용 가능할지 여부에 관해, 어떤 결정도 이루어지지 않았고, 또한 어떤 주장도 이루어지지 않는다.
본 발명의 일 실시 예는 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치를 제안한다.
본 발명의 일 실시 예는 무선 통신 시스템에서 기기들 간에 어플리케이션 정보를 송수신할 수 있도록 하는 방법 및 장치를 제안한다.
본 발명의 일 실시 예는 다수개의 기기들을 기반으로 멀티스크린을 사용할 수 있도록 하는 방법 및 장치를 제안한다.
본 발명의 일 실시 예는 다수의 기기들이 연결되어 있는 네트워크 환경에서 기기들 간 어플리케이션을 연동시켜 사용할 수 있도록 하는 방법 및 장치를 제안한다.
본 발명의 일 실시 예는 어플리케이션 연동 동작을 통해 기기들 간 제어 동작이 수행될 수 있도록 하는 방법 및 장치를 제안한다.
본 발명의 일 실시 예에 따른 방법은; 무선 통신 시스템에서 제1기기가 제2기기의 어플리케이션(application)을 실행하는 방법에 있어서, 제1어플리케이션을 실행하는 과정과, 상기 제1어플리케이션의 제1어플리케이션 프로그램 인터페이스(application programming interface: API)를 사용하여, 상기 제1어플리케이션을 실행한 상기 제1기기와 관련된 상기 제2기기를 발견(discovery)하는 과정과, 상기 제1어플리케이션의 제2API를 사용하여, 상기 제2기기에 특정된 어플리케이션 실행 정보를 송신하는 과정을 포함한다.
본 발명의 일 실시 예에 따른 다른 방법은; 무선 통신 시스템에서 제2기기가 어플리케이션(application)을 실행하는 방법에 있어서, 상기 제2기기가 제1어플리케이션(application)을 실행한 제1기기와 관련된 기기인 경우, 상기 제1기기로부터 상기 제2기기에 특정된 어플리케이션 실행 정보를 수신하는 과정과, 상기 어플리케이션 실행 정보를 기반으로 상기 제2기기의 제2어플리케이션을 실행하는 과정을 포함하며, 상기 제2기기는 상기 제1어플리케이션의 제1어플리케이션 프로그램 인터페이스(application programming interface: API)를 사용하여 상기 제1기기에 의해 발견되며, 상기 어플리케이션 실행 정보는 상기 제1어플리케이션의 제2API를 사용하여 상기 제1기기로부터 송신된 정보임을 특징으로 한다.
본 발명의 일 실시 예에 따른 또 다른 방법은; 무선 통신 시스템에서 제2기기가 제1기기의 어플리케이션(application)을 실행하는 방법에 있어서, 네트워크 내에 상기 제1기기가 존재하는지 검색하는 과정과, 상기 제1기기가 검색된 경우, 상기 제1기기의 제1어플리케이션을 실행시키기 위한 정보를 상기 제1기기로 송신하는 과정을 포함한다.
본 발명의 일 실시 예에 따른 장치는; 무선 통신 시스템에서 제1기기에 있어서, 제1어플리케이션(application)을 실행하는 어플리케이션부와, 상기 제1어플리케이션의 제1어플리케이션 프로그램 인터페이스(application programming interface: API)를 사용하여, 상기 제1어플리케이션을 실행한 상기 제1기기와 관련된 제2기기를 발견(discovery)하고, 상기 제1어플리케이션의 제2API를 사용하여, 상기 제2기기에 특정된 어플리케이션 실행 정보를 송신하는 관리부(manager)를 포함한다.
본 발명의 일 실시 예에 따른 다른 장치는; 무선 통신 시스템에서 제2기기에 있어서, 상기 제2기기가 제1어플리케이션(application)을 실행한 제1기기와 관련된 기기인 경우, 상기 제1기기로부터 상기 제2기기에 특정된 어플리케이션 실행 정보를 수신하는 런처(launcher)와, 상기 어플리케이션 실행 정보를 기반으로 상기 제2기기의 제2어플리케이션을 실행하는 어플리케이션부를 포함하며, 상기 제2기기는 상기 제1어플리케이션의 제1어플리케이션 프로그램 인터페이스(application programming interface: API)를 사용하여 상기 제1기기에 의해 발견되며, 상기 어플리케이션 실행 정보는 상기 제1어플리케이션의 제2API를 사용하여 상기 제1기기로부터 송신된 정보임을 특징으로 한다.
본 발명의 일 실시 예에 따른 또 다른 장치는; 무선 통신 시스템에서 제2기기에 있어서, 네트워크 내에 제1기기가 존재하는지 검색하고, 상기 제1기기가 검색된 경우, 상기 제1기기의 제1어플리케이션 어플리케이션(application)을 실행시키기 위한 정보를 상기 제1기기로 송신하는 런처(launcher)를 포함한다.
본 발명의 다른 측면들과, 이득들 및 핵심적인 특징들은 부가 도면들과 함께 처리되고, 본 발명의 바람직한 실시 예들을 게시하는, 하기의 구체적인 설명으로부터 해당 기술 분야의 당업자에게 자명할 것이다.
하기의 본 게시의 구체적인 설명 부분을 처리하기 전에, 이 특허 문서를 통해 사용되는 특정 단어들 및 구문들에 대한 정의들을 설정하는 것이 효과적일 수 있다: 상기 용어들 “포함하다(include)” 및 “포함하다(comprise)”과 그 파생어들은 한정없는 포함을 의미하며; 상기 용어 “혹은(or)”은 포괄적이고 ‘및/또는’을 의미하고; 상기 구문들 “~와 연관되는(associated with)” 및 ““~와 연관되는(associated therewith)”과 그 파생어들은 포함하고(include), ~내에 포함되고(be included within), ~와 서로 연결되고(interconnect with), 포함하고(contain), ~내에 포함되고(be contained within), ~에 연결하거나 혹은 ~와 연결하고(connect to or with), ~에 연결하거나 혹은 ~와 연결하고(couple to or with), ~와 통신 가능하고(be communicable with), ~와 협조하고(cooperate with), 인터리빙하고(interleave), 병치하고(juxtapose), ~로 가장 근접하고(be proximate to), ~로 ~할 가능성이 크거나 혹은 ~와 ~할 가능성이 크고(be bound to or with), 가지고(have), 소유하고(have a property of) 등과 같은 것을 의미하고; 상기 용어 “제어기”는 적어도 하나의 동작을 제어하는 임의의 디바이스, 시스템, 혹은 그 부분을 의미하고, 상기와 같은 디바이스는 하드웨어, 펌웨어 혹은 소프트웨어, 혹은 상기 하드웨어, 펌웨어 혹은 소프트웨어 중 적어도 2개의 몇몇 조합에서 구현될 수 있다. 어떤 특정 제어기와 연관되는 기능성이라도 집중화되거나 혹은 분산될 수 있으며, 국부적이거나 원격적일 수도 있다는 것에 주의해야만 할 것이다. 특정 단어들 및 구문들에 대한 정의들은 이 특허 문서에 걸쳐 제공되고, 해당 기술 분야의 당업자는 많은 경우, 대부분의 경우가 아니라고 해도, 상기와 같은 정의들이 종래 뿐만 아니라 상기와 같이 정의된 단어들 및 구문들의 미래의 사용들에도 적용된다는 것을 이해해야만 할 것이다.
본 발명의 일 실시 예는 다수의 기기들이 연결되어 있는 네트워크 환경에서 웹 기술을 기반으로 기기들 간 발견 동작 및 어플리케이션 정보 송수신 동작을 통해 제1기기의 어플리케이션을 제2기기가 실행시킬 수 있도록 하거나 상기 제2기기의 어플리케이션을 상기 제1기기가 실행시킬 수 있도록 할 수 있다. 일 예로, 상기 제1기기가 디지털 TV이고 상기 제2기기가 이동 단말인 경우, 상기 제2기기는 상기 제2기기의 어플리케이션(전자 프로그램 가이드(electronic program guide: EPG) 등)으로부터 상기 제1기기의 방송과 연계된 어플리케이션을 실행시킬 수 있다.
게다가 본 발명의 일 실시 예에서는 상기 제1기기가 주요 정보(방송 프로그램 또는 방송 정보 등)를 표시하고 상기 제2기기는 부가 정보(방송 부가 정보 등)를 표시할 수 있도록 함으로써 멀티스크린 사용을 지원할 수 있다.
또한 본 발명의 일 실시 예에서 상기 제2기기는 상기 제2기기의 어플리케이션(리모트 콘트롤러)으로부터 상기 제1기기에 대한 제어 동작(볼륨 설정 및 채널 변경 등)을 수행할 수 있다. 그리고 기존의 하이브리드 방송 환경에서는 방송과 연계된 어플리케이션의 정보가 상기 제1기기에서 방송망을 통해 획득해야 했지만, 본 발명의 일 실시 예에서는 상기 제2기기에서 상기 제1기기의 어플리케이션 정보를 가져올 수 있다.
본 발명의 특정한 바람직한 실시 예들의 상기에서 설명한 바와 같은 또한 다른 측면들과, 특징들 및 이득들은 첨부 도면들과 함께 처리되는 하기의 설명으로부터 보다 명백하게 될 것이다:
도 1은 본 발명의 제1실시 예에 따른 무선 통신 시스템의 개략적인 구성을 나타낸 도면,
도 2는 본 발명의 제1실시 예에 따른 제1기기가 제2기기를 발견하여 페어링 하는 과정을 나타낸 신호 흐름도,
도 3은 본 발명의 제1실시 예에 따른 제1기기가 제2기기의 App을 실행하는 과정을 나타낸 신호 흐름도,
도 4는 본 발명의 제1실시 예에 따른 제2기기가 제1기기의 App을 실행하는 과정을 나타낸 신호 흐름도,
도 5는 본 발명의 제2실시 예에 따른 무선 통신 시스템의 개략적인 구성을 나타낸 도면,
도 6은 본 발명의 제2실시 예에 따른 제1기기와 제2기기 간 발견 과정을 나타낸 신호 흐름도,
도 7은 본 발명의 제2실시 예에 따른 제1기기와 제2기기 간 App을 실행하는 과정을 나타낸 신호 흐름도,
도 8은 본 발명의 제2실시 예에 따른 방법이 적용된 예를 보인 도면,
도 9는 본 발명의 제3실시 예에 따른 무선 통신 시스템의 개략적인 구성을 나타낸 도면,
도 10은 본 발명의 제3실시 예에 따른 무선 통신 시스템에서 제2기기가 제1기기의 App을 실행시키는 과정을 나타낸 신호 흐름도,
도 11은 본 발명의 제3실시 예에 따른 제2기기가 제1기기를 검색하는 과정을 나타낸 신호 흐름도,
도 12는 본 발명의 제3실시 예에 따른 무선 통신 시스템에서 제1기기의 App을 실행하는 과정을 나타낸 신호 흐름도,
도 13은 본 발명의 제3실시 예에 따른 제1기기가 App 실행 및 중단 동작을 수행하는 과정을 나타낸 순서도,
도 14는 본 발명의 제3실시 예에 따른 제2기기의 App 실행과 관련된 동작을 나타낸 순서도,
도 15는 본 발명의 제3실시 예에 따른 방법이 적용된 예를 보인 도면.
상기 도면들을 통해, 유사 참조 번호들은 동일한 혹은 유사한 엘리먼트들과, 특징들 및 구조들을 도시하기 위해 사용된다는 것에 유의해야만 한다.
이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예들을 가질 수 있는 바, 특정 실시 예들을 도면들에 예시하여 상세하게 설명한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 본 명세서에서 명백하게 다른 내용을 지시하지 않는 “한”과, “상기”와 같은 단수 표현들은 복수 표현들을 포함한다는 것이 이해될 수 있을 것이다. 따라서, 일 예로, “컴포넌트 표면(component surface)”은 하나 혹은 그 이상의 컴포넌트 표현들을 포함한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 발명의 실시 예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시 예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명의 다양한 실시 예들에 따르면, 기기는 통신 기능을 포함할 수 있다. 일 예로, 기기는 스마트 폰(smart phone)과, 태블릿(tablet) 개인용 컴퓨터(personal computer: PC)와, 이동 전화기와, 화상 전화기와, 전자책 리더(e-book reader)와, 데스크 탑(desktop) PC와, 랩탑(laptop) PC와, 넷북(netbook) PC와, 개인용 복합 단말기(personal digital assistant: PDA)와, 휴대용 멀티미디어 플레이어(portable multimedia player: PMP)와, 엠피3 플레이어(mp3 player)와, 이동 의료 디바이스와, 카메라와, 웨어러블 디바이스(wearable device)(일 예로, 헤드-마운티드 디바이스(head-mounted device: HMD)와, 전자 의류와, 전자 팔찌와, 전자 목걸이와, 전자 앱세서리(appcessory)와, 전자 문신, 혹은 스마트 워치(smart watch) 등이 될 수 있다.
본 발명의 다양한 실시 예들에 따르면, 기기는 통신 기능을 가지는 스마트 가정용 기기(smart home appliance)가 될 수 있다. 일 예로, 상기 스마트 가정용 기기는 텔레비젼과, 디지털 비디오 디스크(digital video disk: DVD, 이하 ‘DVD’라 칭하기로 한다) 플레이어와, 오디오와, 냉장고와, 에어 컨디셔너와, 진공 청소기와, 오븐과, 마이크로웨이브 오븐과, 워셔와, 드라이어와, 공기 청정기와, 셋-탑 박스(set-top box)와, TV 박스 (일 예로, Samsung HomeSyncTM, Apple TVTM, 혹은 Google TVTM)와, 게임 콘솔(gaming console)과, 전자 사전과, 캠코더와, 전자 사진 프레임 등이 될 수 있다.
본 발명의 다양한 실시예들에 따르면, 기기는 의료 기기(일 예로, 자기 공명 혈관 조영술(magnetic resonance angiography: MRA) 디바이스와, 자기 공명 화상법(magnetic resonance imaging: MRI)과, 컴퓨터 단층 촬영(computed tomography: CT) 디바이스와, 촬상 디바이스, 혹은 초음파 디바이스)와, 네비게이션(navigation) 디바이스와, 전세계 위치 시스템(global positioning system: GPS) 수신기와, 사고 기록 장치(event data recorder: EDR)와, 비행 기록 장치(flight data recorder: FDR)와, 자동차 인포테인먼트 디바이스(automotive infotainment device)와, 항해 전자 디바이스(일 예로, 항해 네비게이션 디바이스, 자이로스코프(gyroscope), 혹은 나침반)와, 항공 전자 디바이스와, 보안 디바이스와, 산업용 혹은 소비자용 로봇(robot) 등이 될 수 있다.
본 발명의 다양한 실시 예들에 따르면, 기기는 통신 기능을 포함하는, 가구와, 빌딩/구조의 일부와, 전자 보드와, 전자 서명 수신 디바이스와, 프로젝터와, 다양한 측정 디바이스들(일 예로, 물과, 전기와, 가스 혹은 전자기 파 측정 디바이스들) 등이 될 수 있다.
본 발명의 다양한 실시 예들에 따르면, 기기는 상기에서 설명한 바와 같은 디바이스들의 조합이 될 수 있다. 또한, 본 발명의 바람직한 실시 예들에 따른 기기는 상기에서 설명한 바와 같은 디바이스에 한정되는 것이 아니라는 것은 당업자에게 자명할 것이다.
본 발명의 다양한 실시 예들에 따르면, 기기는 일 예로 전자 디바이스가 될 수 있다.
본 발명의 일 실시 예에서는 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치를 제공한다. 상기 무선 통신 시스템은 다수의 기기들이 연결되어 있는 네트워크 환경(일 예로, 홈 네트워크 환경 등)에서의 무선 통신 시스템이 될 수 있다. 상기 무선 통신 시스템에서는 제1기기와 제2기기가 연동되어 상기 제2기기의 어플리케이션과 연계된 상기 제1기기의 어플리케이션에 대한 정보를 상기 제2기기가 상기 제1기기에 제공해줄 수 있다. 구체적으로, 웹 기술을 기반으로 상기 제2기기가 자신과 연동될 수 있는 제1기기를 발견하고, 상기 제2기기의 어플리케이션과 연계된 상기 제1기기의 어플리케이션에 대한 정보를 상기 제1기기로 송신함으로써 상기 제1기기의 어플리케이션이 실행될 수 있도록 할 수 있다.
본 발명의 일 실시 예에서는 동일 네트워크 내에서 다수의 기기들 간 연동을 위해 필요한 시스템 구성 방법과 함께, 제2기기와 제1기기 간 연동을 위해 필요한 구체적인 프로토콜을 제공한다. 또한 본 발명의 실시 예에서는 다수의 기기 간의 어플리케이션 연동을 위한 공용 프레임 워크(framework)를 제공함으로써 향후 상기 공용 프레임 워크가 원격 사용자 인터페이스(remote user interface: RUI) 서비스를 위해 사용되거나 다양한 방송 표준 환경에서 사용될 수 있도록 한다.
한편, 본 발명의 일 실시 예에서 어플리케이션은 HTML5(hypertext markup language 5)로 작성되는 웹 어플리케이션과 해당 기기의 운영 체제(operating system: OS)에 종속적인 내장형(native) 어플리케이션을 모두 포함할 수 있다. 이하에서는 설명의 편의를 위해 어플리케이션을 "App"이라 칭하기로 한다.
이하 본 발명의 일 실시 예에 대해 구체적으로 설명한다. 본 발명의 일 실시 예에서는 다음과 같은 방법을 제공한다.
- 제2기기와 제1기기 간 연동을 위한 무선 통신 시스템 구성
- 제2기기에서 제1기기를 찾는(discovery) 방법
- 제1기기에서 제2기기를 찾는 방법
- 제2기기가 제1기기의 특정 App을 실행하는 방법
- 제2기기에서 제1기기의 성능에 맞는 App을 선정하는 방법
- 제1기기에서 서비스를 제공하기 위한 서비스 종단점(service end-point) 정보를 제공하는 방법
< 제1 실시 예 >
도 1은 본 발명의 제1실시 예에 따른 무선 통신 시스템의 개략적인 구성을 나타낸 도면이다.
도 1을 참조하면, 상기 무선 통신 시스템은 웹 서버(web server)(130)와 다수개의 기기들을 포함한다. 상기 다수개의 기기들은 동일한 네트워크에서 통신을 수행할 수 있으며, 일 예로 홈 네트워크 내의 무선 통신이 가능한 기기들이 될 수 있다. 도 1에서는 상기 다수개의 기기들 중 서로 연동할 수 있는 제1기기(100)와 제2기기(110)에 대해 설명하기로 한다.
상기 웹 서버(130)는 상기 제1기기(100)와 제2기기(110)에서 사용될 수 있는 웹 App(104)(114)을 제공한다. 상기 웹 App(104)(114)은 HTML, CSS(cascading style sheet), 자바스크립트(javascript), 동영상 및 이미지 등으로 구성될 수 있다. 한편, 상기 웹 서버(130)는 로컬 네트워크 내에 존재하거나 외부 네트워크(클라우드) 등에 존재할 수 있다.
상기 제1기기(100)는 App이 실행되는 주(main) 기기를 나타낸다. 예를 들어, 상기 제1기기(100)는 디지털 TV(digital TV: DTV)나 셋톱박스(set top box: STB)등과 같은 공용 기기가 될 수 있으며, 이때 상기 App은 방송과 관련된 App이 될 수 있다.
상기 제2기기(110)는 상기 제1기기(100)와 연동하여 App을 실행하는 보조 기기를 나타낸다. 상기 제2기기(110)는 이동 단말이나 태블릿 등과 같은 개인 단말 등이 될 수 있다.
상기 제1기기(100)와 상기 제2기기(110)는 각각 웹 브라우저(web browser)(102)(112)를 포함한다. 상기 웹 브라우저(102)(112)는 HTML5 및 관련 웹 기술 등으로 구성된 웹 App(104)(114)를 실행하기 위해 사용된다.
상기 제2기기(110)는 내장형 App(116)을 포함할 수 있다. 상기 내장형 App(116)은 상기 제2기기(110)의 플랫폼(OS)(일 예로, 안드로이드, iOS, Windows 및 TiZen 등)에서 실행되는 App을 나타낸다. 상기 내장형 App(116)은 바이너리 코드(binary code)로 컴파일(compile)되어 실행될 수 있다.
상기 제1기기(100)에 포함되는 멀티스크린(multiscreen: MS) 관리부(manager)(106)는 상기 제2기기(110)와의 연동을 위해 필요한 동작을 수행한다. 즉, 상기 MS 관리부(106)는 네트워크에서 상기 제2기기(110)를 발견(discovering)하고 App 실행(launch) 정보 등을 상기 제2기기(110)의 MS 런처(launcher)(118)로 송신한다. 상기 MS 관리부(106)는 상기 제2기기(110)로 App 정보를 전달하는 기능, 상기 제2기기(110)에 App 실행을 요청하는 기능 및 상기 제1기기(100)와 제2기기(110)의 App 간 통신을 가능하게 하는 기능 등을 수행할 수 있다.
상기 제2기기(110)에 포함되는 MS 런처(118)는 상기 제1기기(100)와의 연동을 위해 필요한 동작을 수행한다. 즉, 상기 MS 런처(118)는 상기 MS 관리부(106)와 통신을 수행하며 상기 제2기기(110)의 App을 실행한다. 상기 MS 런처(118)는 네트워크에서 상기 제1기기(100)를 발견하는 기능과, 상기 제1기기(100)에 App 실행을 요청하는 기능 및 상기 제2기기(110)와 제1기기(100)의 App 간 통신을 가능하게 하는 기능 등을 수행할 수 있다.
도 2는 본 발명의 제1실시 예에 따른 제1기기가 제2기기를 발견하여 페어링 하는 과정을 나타낸 신호 흐름도이다.
도 2를 참조하면, 제1기기(100)는 214 단계에서 웹 브라우저(102)를 통해 웹 서버(130)로 URL(uniform resource locator) 요청을 송신함으로써 웹 페이지 전송을 요청한다. 그리고 상기 제1기기(100)는 216 단계에서 상기 웹 서버(130)로부터 웹 페이지를 수신한다. 여기서 상기 웹 브라우저(102)는 상기 수신된 웹 페이지를 기본(primary) App(105)으로서 처리하여 표시한다.
상기 웹 브라우저(202)에 의해 실행되는 기본 App(105)은 상기 제2기기(110)를 발견하기 위해, 218 단계에서 미리 정의된 어플리케이션 프로그램 인터페이스(application program interface: API)(일 예로, getAvailableCSDevice())를 사용하여 MS 관리부(106)로 이용 가능한 제2기기(110)에 대한 리스트(제2기기 ID 리스트)를 요청한다.
그러면 상기 MS 관리부(106)는 220 단계에서 네트워크 내에 존재하는 제2기기(110)를 발견하기 위해 상기 제2기기(110)의 MS 런처(118)로 신호를 송신하고, 222 단계에서 상기 MS 런처(118)로부터 응답 신호를 수신한다. 여기서 상기 제2기기(110)를 발견하기 위해 사용되는 프로토콜은 이후 설명될 제2실시 예에서 정의된 프로토콜이 될 수 있는데, 이에 대해서는 제2실시 예를 살펴볼 때 구체적으로 설명하기로 한다. 상기 MS 관리부(106)는 상기 응답 신호가 수신되면 상기 제2기기(110)를 이용 가능한 기기로 판단하여 224 단계에서 상기 제2기기(110)에 대한 정보를 상기 기본 App(105)으로 송신할 수 있다.
한편, 도 2에서는 상기 제2기기(110)가 하나인 경우를 예시하였으나, 상기 제2기기(110)는 상기 네트워크 내에 다수개가 존재할 수도 있으며, 이 경우 상기 MS 관리부(106)에서 상기 제2기기(110)들에 대한 리스트가 생성되어 상기 기본 App(105)으로 송신될 수 있다.
상기 기본 App(105)은 226 단계에서 상기 제2기기(110)에 대한 정보를 화면에 표시함으로써 상기 제2기기(110)를 사용할지 여부에 대한 사용자의 선택을 받을 수 있다. 여기서 상기 제2기기(110)에 대한 정보를 화면에 어떻게 표시할 것인지, 또는 사용자로부터 어떻게 선택을 받을 것인지, 상기 제1기기(100)에서 자동으로 상기 제2기기(110)를 선택할 것인지는 구체적으로는 정의하지 않는다. 다만, 상기 기본 App(105)이 웹 App으로 정의되어 있기 때문에 상기 제2기기(110)에 대한 정보는 자바스크립트로 처리되어 웹 페이지에 표시됨으로써 사용자로부터 선택을 받을 수 있다.
상기 기본 App(105)은 상기 제2기기(110)가 선택되면, 228 단계에서 상기 제2기기(110)의 식별자(identifier: ID) 및 상기 제2기기의 App인 CS App(115)을 실행할 수 있도록 하는 URL 정보 등을 저장한다. 상기 저장된 정보는 추후 상기 제1기기(100)에서 상기 제2기기(110)의 CS App(115)을 실행시킬 때 사용될 수 있다.
도 3은 본 발명의 제1실시 예에 따른 제1기기가 제2기기의 App을 실행하는 과정을 나타낸 신호 흐름도이다.
도 3을 참조하면, 314 단계에서 앞서 설명한 도 2의 214단계 내지 228단계를 통해 제2기기(110)의 발견 및 페어링 과정이 완료되면, 316 단계에서 상기 기본 App(104)은 특정 API(일 예로, sendCSURI())를 사용하여 상기 제2기기(110)에서 실행될 CS App(115)에 대한 정보를 상기 MS 관리부(106)로 송신한다.
그러면 상기 MS 관리부(106)는 318 단계에서 상기 제2기기(110)의 MS 런처(118)로 실행해야 할 CS App(115)에 대한 정보를 전달한다. 상기 MS 런처(118)는 320 단계에서 상기 실행해야 할 CS App(115)에 대한 정보에 포함된 URI(uniform resource identifier) 정보(URL 정보 및 URN(uniform resource name) 정보를 포함함)를 웹 브라우저(112)로 송신한다.
상기 웹 브라우저(112)는 상기 URI 정보를 기반으로 상기 실행해야 할 CS App(115)이 내장형 App인지 웹 App인지 판단한다. 상기 실행해야 할 CS App(115)이 내장형 App인 경우, 상기 웹 브라우저(112)는 322 단계에서 상기 내장형 App을 실행한다.
그리고 상기 실행해야 할 CS App(115)이 웹 App인 경우, 324 단계에서 상기 웹 브라우저(112)는 상기 URI가 포함된 URL 요청을 웹 서버(130)로 송신함으로써 웹 페이지의 송신을 요청한다. 상기 웹 서버(130)로부터 웹 페이지가 수신되면, 상기 웹 브라우저(112)는 해당 웹 페이지를 CS App(115)으로서 표시한다.
이처럼 상기 CS App(115)은 상기 제1기기(100)의 기본 App(105)에 의해 실행되었기 때문에, 상기 기본 App(105)과 상기 CS App(115)은 서로 연관을 가지고 동작할 수 있게 된다.
하기 표 1은 도 2의 218 단계 및 도 3의 316 단계에서와 같이, 상기 제1기기(100)에서 사용될 수 있는 API들을 간략히 나타낸 표이다.
표 1
Figure PCTKR2014008812-appb-T000001
상기 표 1을 참조하면, getAvailableCSDevice()는 입력 인자를 갖지 않으며 네트워크에서 이용 가능한 제2기기의 목록을 획득하기 위해 사용된다. 그리고 sendCSURI()는 App 실행 대상인 제2기기의 ID를 나타내는 uint target_device와 실행할 상기 제2기기의 App의 URI 정보를 두 개의 입력 인자로 가지며, 상기 제2기기의 App을 실행하기 위해 사용될 수 있다.
도 4는 본 발명의 제1실시 예에 따른 제2기기가 제1기기의 App을 실행하는 과정을 나타낸 신호 흐름도이다.
도 4를 참조하면, CS App(114)이 내장형 App인 경우 414 단계에서 상기 CS App(115)은 사용자에 의해 실행될 수 있다. 또는 상기 CS App(115)이 웹 App인 경우 416 단계에서 웹 브라우저(102)에 의해 웹 서버(130)에게 URL 요청을 송신함으로써 웹 페이지의 송신을 요청한다. 그리고 상기 웹 서버(130)로부터 웹 페이지가 수신되면, 웹 브라우저(112)는 418 단계에서 상기 수신된 웹 페이지를 상기 CS App(115)로서 표시한다.
상기 CS App(115)은 420 단계에서 특정 API(일 예로, getAvailablePrimaryDevice())를 사용하여 MS 런처(118)로 이용 가능한 제1기기(100)에 대한 리스트를 요청한다.
그러면 상기 MS 런처(118)는 422 단계에서 네트워크 내에 존재하는 제1기기(100)를 발견하기 위해 상기 제1기기(100)의 MS 관리부(106)로 신호를 송신하고, 423 단계에서 상기 MS 관리부(106)로부터 응답 신호를 수신한다. 여기서 상기 제1기기(100)를 발견하기 위해 사용되는 프로토콜은 이후 설명될 제3실시 예에서 정의된 프로토콜이 될 수 있다. 상기 MS 런처(118)는 상기 응답 신호가 수신되면 상기 제1기기(100)를 이용 가능한 기기로 판단하여 424 단계에서 상기 제2기기(110)에 대한 정보를 상기 CS App(115)으로 송신할 수 있다.
한편, 도 4에서는 상기 제1기기(100)가 하나인 경우를 예시하였으나, 상기 제1기기(100)는 상기 네트워크 내에 다수개가 존재할 수도 있으며, 이 경우 상기 MS 런처(118)에서 상기 제1기기(100)들에 대한 리스트가 생성되어 상기 CS App(115)으로 송신될 수 있다.
상기 CS App(115)은 상기 제1기기(100)에 대한 정보를 화면에 표시함으로써 상기 제1기기(100)를 사용할지 여부에 대한 사용자의 선택을 받을 수 있다. 여기서 상기 제1기기(100)에 대한 정보를 화면에 어떻게 표시할 것인지, 또는 사용자로부터 어떻게 선택을 받을 것인지, 상기 제2기기(110)에서 자동으로 상기 제1기기(100)를 선택할 것인지는 구체적으로는 정의하지 않는다. 다만, 상기 제1기기(110)에 대한 정보는 상기 CS App(115)으로 전달되므로, 상기 CS App(115)에 의해 사용자의 선택을 받을 수 있다.
상기 CS App(115)은 상기 제1기기(110)가 선택되면, 426 단계에서 특정 API(launchPrimaryAppURI())를 사용하여 기본 App 실행을 위한 정보를 상기 MS 런처(118)로 송신한다. 즉, 상기 CS App(115)은 상기 MS 런처(118)로 상기 제1기기(100)의 정보와 상기 기본 App(105)의 정보, 일 예로 URI 정보를 전달한다. 그러면 상기 MS 런처(118)는 428 단계에서 상기 전달된 정보를 기반으로 상기 제1기기(100)에서 실행될 기본 App(105)에 대한 정보를 상기 제1기기(100)의 MS 관리부(106)로 송신한다.
상기 MS 관리부(106)는 430 단계에서 상기 URI 정보를 웹 브라우저(102)로 송신한다. 그러면 상기 웹 브라우저(102)는 상기 URI 정보를 기반으로 실행해야 할 기본 App(105)이 내장형 App인지 웹 App인지 판단한다. 상기 실행해야 할 기본 App(105)이 내장형 App인 경우, 상기 웹 브라우저(102)는 432 단계에서 상기 기본 App(105)으로서 상기 내장형 App을 실행한다.
그리고 상기 실행해야 할 기본 App(105)이 웹 App인 경우, 434 단계에서 상기 웹 브라우저(102)는 상기 URI가 포함된 URL 요청을 웹 서버(130)로 송신함으로써 웹 페이지의 송신을 요청한다. 436 단계에서 상기 웹 서버(130)로부터 웹 페이지가 수신되면, 상기 웹 브라우저(102)는 해당 웹 페이지를 기본 App(105)으로서 표시한다.
이처럼 상기 기본 App(105)은 상기 제2기기(110)의 CS App(115)에 의해 실행되었기 때문에, 상기 기본 App(105)과 상기 CS App(115)은 서로 연관을 가지고 동작할 수 있게 된다.
하기 표 2는 도 4의 420 및 426 단계에서와 같이, 상기 제2기기(110)에서 사용될 수 있는 API들을 간략히 나타낸 표이다.
표 2
Figure PCTKR2014008812-appb-T000002
상기 표 2를 참조하면, getAvailablePrimaryDevice()는 입력 인자를 갖지 않으며 네트워크에서 이용 가능한 제1기기의 목록을 획득하기 위해 사용된다. 그리고 sendPrimaryAppURI()는 App 실행 대상인 제1기기의 ID를 나타내는 uint target_device와 실행할 상기 제1기기의 App의 URI 정보를 두 개의 입력 인자로 가지며, 상기 제1기기의 App을 실행하기 위해 사용될 수 있다.
<제2 실시 예>
도 5는 본 발명의 제2실시 예에 따른 무선 통신 시스템의 개략적인 구성을 나타낸 도면이다.
도 5를 참조하면, 상기 무선 통신 시스템은 웹 서버(530)와 다수개의 기기들을 포함한다. 상기 다수개의 기기들은 동일한 네트워크에서 통신을 수행할 수 있으며, 일 예로 홈 네트워크 내의 무선 통신이 가능한 기기들이 될 수 있다. 도 5에서는 상기 다수개의 기기들 중 서로 연동할 수 있는 제1기기(500)와 제2기기(520)에 대해 설명하기로 한다.
상기 제1기기(500)는 웹 브라우저(504), 내장형 App(502) 및 웹 App(506), 상기 제2기기(520)와의 연동을 위한 MS 관리부(508)를 포함한다. 그리고 상기 제2기기(520)는 웹 브라우저(522), 웹 App(524) 및 내장형 App(526), MS 런처 (528)를 포함한다.
도 5에서 웹 브라우저(504)(522)를 비롯한 웹 App(506)(524), 내장형 App (502)(526), MS 관리부(508) 및 MS 런처(528)는 각각 도 1의 웹 브라우저(102)(112), 웹 App(104)(114), 내장형 App(116), MS 관리부(106) 및 MS 런처(118)에 대응되는 동작을 수행할 수 있다.
다만 도 5의 상기 MS 관리부(508) 및 MS 런처(528)는 다음과 같은 세부적인 구성을 포함할 수 있다. 즉, 상기 MS 관리부(508)는 범용 플러그 앤드 플레이(universal plug and play: UPnP)부(512), HTTP 서버(514) 및 웹 소켓(web socket) 서버(510)를 포함하고, 상기 MS 런처(528)는 UPnP부(530) 및 HTTP 서버(532)를 포함한다.
상기 UPnP부(512)(530)는 상기 제1기기(500)와 제2기기(520)에 모두 포함되며 기기 간 발견을 위한 동작을 수행한다. 구체적으로 상기 UPnP부(512)(530)는 단순 서비스 발견 프로토콜(simple service discovery protocol: SSDP) 등을 사용하여 네트워크에서 다른 기기를 발견하고 네트워크에 자신의 존재를 알리는 역할을 수행한다.
HTTP 서버(514)(532)는 제1기기(500)와 제2기기(520)에 모두 포함되며, HTTP 프로토콜을 통해 요청을 수신하여 수신된 요청에 따른 동작을 수행한다. 본 발명의 제2실시 예에서 상기 HTTP 서버(514)(532)는 App 실행을 위해 다른 기기로부터 HTTP GET 및 HTTP POST 요청을 수신하여 해당 요청에 따른 동작을 수행한다. 그리고 본 발명의 제2실시 예에서 상기 HTTP 서버(514)(532)는 위에 기술한 동작 외에 웹 페이지를 배포하는 일반적인 웹 서버의 동작은 수행하지 않을 수 있다.
상기 웹 소켓 서버(510)는 상기 제1기기(500)에 포함되며, 웹 소켓 프로토콜을 처리하는 동작을 수행한다. 본 발명의 제2실시 예에서 상기 웹 소켓 서버(510)는 상기 제2기기(520)로부터 웹 소켓 요청을 받아 이를 처리하여 상기 제1기기(500)와 상기 제2기기(520)의 App 간 통신을 가능하게 하는 동작을 수행한다.
이하 도 6을 참조하여 상기 제1기기(500)와 상기 제2기기(520) 간 발견 동작에 대해 설명하기로 한다.
도 6은 본 발명의 제2실시 예에 따른 제1기기와 제2기기 간 발견 과정을 나타낸 신호 흐름도이다. 도 6에서 설명되는 과정은 앞서 설명한 표 1의 getAvailableCSDevice()의 상세 프로토콜의 구체적인 동작에 해당될 수 있다.
먼저 상기 제1기기(500)가 상기 제2기기(520)를 발견하는 예부터 설명하도록 한다. 도 6을 참조하면, 상기 제1기기(500)의 UPnP부(506)는 622 단계에서 기기 발견을 위한 신호를 송신한다. 예를 들어, 상기 UPnP부(506)는 네트워크에서 가용한 제2기기(520)를 찾기 위해 SSDP의 M-SEARCH 메소드(method)를 사용하여 다음 표 3에 나타난 바와 같은 신호를 송신할 수 있다.
표 3
Figure PCTKR2014008812-appb-T000003
상기 제2기기(520)의 UPnP부(530)는 상기와 같은 신호가 수신되면, 624 단계에서 URL 정보가 포함된 응답 신호를 상기 제1기기(500)로 송신함으로써 자신의 존재를 상기 제1기기(500)로 알린다. 예를 들어, 상기 UPnP부(530)는 하기 표 4에 나타난 바와 같은 응답 신호를 송신할 수 있는데, 상기 응답 신호는 LOCATION 헤더에 상기 제2기기(520)에 대한 정보와 관련된 URL 정보를 포함할 수 있다.
표 4
Figure PCTKR2014008812-appb-T000004
상기 제1기기(500)의 UPnP부(512)는 상기 응답 신호가 수신되면, 626 단계에서 상기 응답 신호의 LOCATION 헤더에 포함된 URL 정보를 사용하여 상기 제2기기(520)에 대한 정보를 요청한다. 이때 상기 요청은 HTTP GET 메소드를 기반으로 수행될 수 있다.
상기 제2기기(520)의 HTTP 서버(532)는 628 단계에서 상기 요청에 대응하여 상기 제2기기(520)의 App 즉, CS App(527)을 실행시키기 위해 사용되는 URL 정보가 포함된 응답 신호를 상기 제1기기(500)로 송신한다. 상기 응답 신호는 일 예로 HTTP Response 형태로 하기 표 5에 나타난 바와 같은 상기 CS App(527)을 실행시키기 위해 사용되는 URL 정보가 포함된 헤더(x-Application-URL)를 포함할 수 있다.
표 5
Figure PCTKR2014008812-appb-T000005
다음으로 상기 제2기기(520)가 상기 제1기기(5600)를 발견하는 예를 설명하기로 한다.
상기 제2기기(520)의 UPnP부(530)는 630 단계에서 기기 발견을 위한 신호를 송신한다. 예를 들어, 상기 UPnP부(530)는 네트워크에서 가용한 제1기기(500)를 찾기 위해 SSDP의 M-SEARCH 메소드를 사용하여 다음 표 6에 나타난 바와 같은 신호를 송신할 수 있다.
표 6
Figure PCTKR2014008812-appb-T000006
상기 제1기기(500)의 UPnP부(512)는 상기와 같은 신호가 수신되면, 632 단계에서 URL 정보가 포함된 응답 신호를 상기 제2기기(520)로 송신함으로써 자신의 존재를 상기 제2기기(520)로 알린다. 예를 들어, 상기 UPnP부(512)는 하기 표 7에 나타난 바와 같은 응답 신호를 송신할 수 있는데, 상기 응답 신호는 LOCATION 헤더에 상기 제1기기(500)에 대한 정보와 관련된 URL 정보를 포함할 수 있다.
표 7
Figure PCTKR2014008812-appb-T000007
상기 제2기기(520)의 HTTP 서버(532)는 상기 응답 신호가 수신되면, 634 단계에서 상기 응답 신호의 LOCATION 헤더에 포함된 URL 정보를 사용하여 상기 제1기기(500)에 대한 정보를 요청한다. 이때 상기 요청은 HTTP GET 메소드를 기반으로 수행될 수 있다.
상기 제1기기(520)의 UPnP부(512)는 636 단계에서 상기 요청에 대응하여 상기 제1기기(500)의 App 즉, 기본 App(507)을 실행시키기 위해 사용되는 URL 정보가 포함된 응답 신호를 상기 제2기기(520)로 송신한다. 상기 응답 신호는 일 예로 HTTP Response 형태로 하기 표 8에 나타난 바와 같은 상기 기본 App(507)을 실행시키기 위해 사용되는 URL 정보가 포함된 헤더(x-Application-URL)를 포함할 수 있다.
또한 상기 제1기기(500)는 상기 제2기기(520)의 App과 App 간 통신을 수행할 수 있는 웹 소켓 서버(510)를 가지고 있으므로, 638 단계에서 상기 웹 소켓 서버(510)에 접속할 수 있는 URL 정보가 포함된 헤더(x-WebSocket)를 상기 응답 신호에 포함시켜 상기 제2기기(520)로 송신한다.
표 8
Figure PCTKR2014008812-appb-T000008
도 7은 본 발명의 제2실시 예에 따른 제1기기와 제2기기 간 App을 실행하는 과정을 나타낸 신호 흐름도이다. 도 7에서 설명되는 과정은 앞서 설명한 표 1의 sendCSURI()의 상세 프로토콜의 구체적인 동작에 해당될 수 있다.
먼저 제1기기(500)가 제2기기(520)의 App을 실행하는 과정을 설명하기로 한다. 도 7을 참조하면, 제1기기(500)의 MS 관리부(508)는 722 단계에서 상기 제1기기(500)의 브라우저(506)로부터 sendCSURI()를 통해 두 개의 인자들을 전달받는다. 상기 두 개의 인자들 중 하나인 uint target_device는 App 실행 대상인 제2기기(520)의 ID를 나타내는데, 상기 MS 관리부(508)는 제2기기 정보 테이블을 기반으로 상기 제2기기(520)의 App을 실행시키기 위한 URL 정보(x-Application-URL)를 획득할 수 있다. 상기 제2기기 정보 테이블은 상기 MS 관리부(508)에 저장되어 관리될 수 있으며, 일 예로 표 9에 나타난 바와 같다.
표 9
Figure PCTKR2014008812-appb-T000009
상기 표 9에 나타난 바와 같이, 상기 제2기기 정보 테이블은 제2기기 ID, 기기 종류 등을 나타내는 기기 설명 정보 및 제2기기 App URL 정보 등을 포함할 수 있다.
상기 제1기기(500)의 MS 관리부(508)는 상기 획득한 URL 정보를 기반으로, 724 단계에서 상기 제2기기(520)의 HTTP 서버(532)로 하기 표 10에 나타난 바와 같은 HTTP Post 요청을 송신한다.
표 10
Figure PCTKR2014008812-appb-T000010
이때 상기 제2기기(520)에서 실행될 App은 CSAppPath에 URI 정보로 지시될 수 있는데, 이는 sendCSURI()의 다른 하나의 인자인 char * URI 값이다. 또한, 제2기기(520)의 App을 실행시킬 때 필요한 인자는 HTTP의 Body부에 표 10과 같은 형식으로 기반으로 송신될 수 있다.
상기 제2기기(520)의 HTTP 서버(532)는 726 단계에서 수신된 HTTP POST를 파싱(parsing)하여 Body부의 인수와 함께 CSAppPath 정보를 상기 MS 런처(528)로 전달한다. 그러면 MS 런처(528)는 728 단계에서 CSAppPath에 포함된 URI 정보를 기반으로 상기 제2기기(520)의 App인 CS App(527)을 실행한다.
그리고 상기 MS 런처(528)는 730 단계에서 상기 CS App(527)의 실행 결과(일 예로, 상기 CS App(527)이 성공적으로 실행되었음)가 수신되면, 732 단계에서 상기 CS App(527)의 실행 결과를 상기 제2기기(520)의 HTTP 서버(532)로 송신한다. 그러면 상기 HTTP 서버(532)는 상기 CS App(527)의 실행 결과에 따라 734 단계에서 상기 제1기기(500)의 MS 관리부(508)로 하기 표 11에 나타난 바와 같은 응답 코드들 중 하나(일 예로, 201 CREATED)를 송신한다.
표 11
Response Code Description
201 CREATED The app was launched successfully. A LOCATION head is returned that specifiers the name of the running instance of the app.
404 NOT FOUND There is no such app.
503 SERVICE UNAVAILABLE If the app could not be launched momentarily, e.g. because the CS Device is busy with other application.
상기 표 11에서 응답 코드 201 CREATED는 상기 CS App(527)이 성공적으로 실행되었음을 나타내며, 응답 코드 404 NOT FOUND는 상기 CS App(527)이 존재하지 않음을 나타내며, 응답 코드 503 SERVICE UNAVAILABLE은 상기 제2기기(520)가 다른 App을 실행하는 등으로 인해 상기 CS App(527)이 잠시 동안 실행될 수 없음을 나타낸다.
다음으로 상기 제2기기(520)가 상기 제1기기(500)의 App을 실행하는 과정을 설명하기로 한다.
상기 제2기기(520)의 MS 런처(528)는 736 단계에서 상기 제2기기(520)의 브라우저(714)로부터 sendPrimaryAppURI()를 통해 두 개의 인자들을 전달받는다. 상기 두 개의 인자들 중 하나인 uint target_device는 App 실행 대상인 제1기기(520)의 ID를 나타내는데, 상기 MS 런처(528)는 제1기기 정보 테이블을 기반으로 상기 제1기기(500)의 App을 실행시키기 위한 URL 정보(x-Application-URL)를 획득할 수 있다. 상기 제1기기 정보 테이블은 상기 MS 런처(528)에서 저장되어 관리될 수 있으며, 일 예로 표 12에 나타난 바와 같다.
표 12
Figure PCTKR2014008812-appb-T000011
상기 표 12에 나타난 바와 같이, 상기 제1기기 정보 테이블은 제1기기 ID, 기기 종류 등을 나타내는 기기 설명 정보, 제1기기 App URL 정보 및 웹 소켓 정보 등을 포함할 수 있다.
상기 제2기기(520)의 MS 런처(528)는 상기 획득한 URL 정보를 기반으로, 738 단계에서 상기 제1기기(500)의 HTTP 서버(514)로 하기 표 13에 나타난 바와 같은 HTTP Post 요청을 송신한다.
표 13
Figure PCTKR2014008812-appb-T000012
이때 상기 제1기기(500)에서 실행될 App은 PrimaryPath에 URI 정보로 지시될 수 있는데, sendPrimaryAppURI()의 다른 하나의 인자인 char * URI 값이다. 또한, 상기 제1기기(500)의 App을 실행시킬 때 필요한 인자는 HTTP의 Body부에 표 13과 같은 형식을 기반으로 송신될 수 있다.
상기 제1기기(500)의 HTTP 서버(514)는 740 단계에서 수신된 HTTP POST를 파싱하여 Body부의 인수와 함께 PrimaryAppPath 정보를 MS 관리부(508)로 전달한다. 그러면 상기 MS 관리부(508)는 742 단계에서 PrimaryAppPath에 포함된 URI 정보를 기반으로 상기 제1기기(500)의 App인 기본 App(507)을 실행한다.
그리고 상기 MS 관리부(508)는 744 단계에서 상기 기본 App(507)의 실행 결과(일 예로, 상기 기본 App(507)이 성공적으로 실행되었음)가 수신되면, 746 단계에서 상기 기본 App(507)의 실행 결과를 상기 제1기기(500)의 HTTP 서버(514)로 송신한다. 그러면 상기 HTTP 서버(514)는 상기 기본 App(507)의 실행 결과에 따라 748 단계에서 상기 제2기기(520)의 MS 런처(528)로 하기 표 14에 나타난 바와 같은 응답 코드들 중 하나(일 예로, 201 CREATED)를 송신한다.
표 14
Response Code Description
201 CREATED The app was launched successfully. A LOCATION head is returned that specifiers the name of the running instance of the app.
404 NOT FOUND There is no such app.
503 SERVICE UNAVAILABLE If the app could not be launched momentarily, e.g. because the TV is scanning channels.
상기 표 14에서 응답 코드 201 CREATED는 상기 기본 App(507)이 성공적으로 실행되었음을 나타내며, 응답 코드 404 NOT FOUND는 상기 기본 App(507)이 존재하지 않음을 나타내며, 응답 코드 503 SERVICE UNAVAILABLE은 상기 제1기기(500)가 다른 동작(일 예로, TV 채널 스캔 동작 등)을 수행함에 따라 상기 기본 App(507)이 잠시 동안 실행될 수 없음을 나타낸다.
도 8은 본 발명의 제2실시 예에 따른 방법이 적용된 예를 보인 도면이다.
도 8에서는 상기 웹 서버(530)가 방송사 웹 서버이고, 상기 제1기기(500)가 디지털 TV(digital TV: DTV)이고, 상기 제2기기(520)가 이동 단말인 경우를 일 예로서 보이고 있다.
사용자는 제1기기(500)를 사용하여 상기 웹 서버(530)로부터 스트리밍되는 영화(800)를 시청할 수 있다. 이때 사용자는 영화 시청 중 해당 영화에 대한 부가 정보(additional information)를 상기 제2기기(530)를 통해 제공받고자 한다.
이 경우, 상기 제1기기(500)는 상기 제2기기(520)의 App의 URL 정보(820)를 기반으로 상기 부가 정보를 제공해줄 수 있는 상기 제2기기(520)의 App을 실행시킬 수 있다. 상기 제2기기(520)의 App이 실행되면 상기 웹 서버(530)로부터 상기 부가 정보(810)를 수신하여 상기 제2기기(520)는 상기 수신된 부가 정보(810)를 사용자에게 제공해줄 수 있다. 상기 부가 정보는 일 예로 캐스팅 정보, 영화의 시놉시스 및 온라인 쇼핑 등을 포함할 수 있다.
<제3 실시 예>
도 9는 본 발명의 제3실시 예에 따른 무선 통신 시스템의 개략적인 구성을 나타낸 도면이다.
도 9를 참조하면, 상기 무선 통신 시스템은 웹 서버(900)와 다수의 기기들을 포함한다. 상기 다수의 기기들은 동일한 네트워크에서 통신을 수행할 수 있으며, 일 예로 홈 네트워크 내의 무선 통신이 가능한 기기들이 될 수 있다. 도 9에서는 상기 다수의 기기들 중 서로 연동할 수 있는 제1기기(910)와 제2기기(920)에 대해 설명하기로 한다.
상기 웹 서버(900)는 상기 제1기기(910)와 상기 제2기기(920)에서 사용 가능한 웹 App(914)(924)을 제공한다. 상기 웹 App(914)(924)는 HTML, CSS, 자바스크립트, 동영상 및 이미지 등으로 구성될 수 있다. 한편, 상기 웹 서버(900)는 로컬 네트워크 내에 존재하거나 외부 네트워크(클라우드) 등에 존재할 수 있다. 그리고 상기 웹 서버(900)는 상기 제1기기(910)의 App을 실행하기 위한 App 정보 즉, XML(extensible markup language)을 기반으로 생성된 App 정보(이하 'XML AIT'라 칭함)를 제공할 수 있다. 여기서 상기 XML AIT를 제공하는 웹 서버와 웹 App을 제공하는 웹 서버는 동일한 디바이스일 수도 있고 상이한 디바이스일 수도 있다.
상기 제1기기(910)는 App이 실행되는 주 기기를 나타낸다. 예를 들어, 상기 제1기기(900)는 DTV나 STB등과 같은 공용 기기가 될 수 있으며, 이때 상기 App은 방송과 관련된 App가 될 수 있다.
상기 제2기기(920)는 상기 제1기기(910)와 연동하여 App을 실행하는 보조 기기를 나타낸다. 상기 제2기기(920)는 이동 단말이나 태블릿 등과 같은 개인 단말이 될 수 있다.
상기 제1기기(910)와 상기 제2기기(920)는 각각 웹 브라우저 (912)(922)를 포함한다. 상기 웹 브라우저(912)(922)는 웹 App(914)(924)를 실행하기 위해 사용된다.
상기 제2기기(920)는 내장형 App(926)을 포함할 수 있다. 상기 내장형 App(926)은 상기 제2기기(920)의 플랫폼(OS)(일 예로, 안드로이드, iOS, Windows 및 TiZen 등)에서 실행되는 App을 나타낸다. 상기 내장형 App(926)은 바이너리 코드로 컴파일되어 실행될 수 있다.
본 발명의 제3실시 예에서 상기 제1기기(910)는 CS(companion screen) 관리부(916)와 응용 정보 테이블(application information table: AIT) 관리부(918)를 더 포함할 수 있다. 상기 CS 관리부(916)는 상기 제2기기(920)와의 연동을 위해 필요한 동작을 수행한다. 예를 들어, 상기 CS 관리부(916)는 해당 네트워크에서 상기 제2기기(920)를 탐색 또는 발견하는 동작, 상기 제2기기(920)로부터 상기 제1기기(910)에서 실행할 App 정보를 수신하는 동작 및 상기 제1기기(910)와 상기 제2기기(920)의 App 간 통신을 위한 동작 등을 수행할 수 있다.
상기 AIT 관리부(918)는 상기 제1기기(910)에 포함되며 XML AIT를 수신하여 파싱한다. 상기 XML AIT는 상기 제2기기(920)로부터 송신된 정보로서, 상기 CS 관리부(916)에 의해 수신되어 상기 AIT 관리부(918)로 전달된다. 상기 AIT 관리부(918)는 상기 XML AIT를 파싱하여 해당 App에 대한 정보를 추출하고, 추출된 정보를 기반으로 해당 App을 실행시킨다.
상기 제2기기(920)는 CS 런처(928)를 더 포함한다. 상기 CS 런처(928)는 상기 제1기기(910)와의 연동을 위해 필요한 동작을 수행한다. 예를 들어, 상기 CS 런처(928)는 해당 네트워크에서 상기 제1기기(910)를 탐색 또는 발견하는 동작, App의 요청에 의해 상기 제1기기(910)에 App의 실행을 요청하는 동작 및 App에 대한 정보를 전달하는 동작 및 상기 제1기기(910)와 상기 제2기기(920)의 App 간 통신을 위한 동작 등을 수행할 수 있다.
이하 상기 도 9에 도시된 바와 같은 무선 통신 시스템에서 상기 제2기기(920)가 상기 제1기기(910)의 App을 실행하는 방법에 대해 설명하기로 한다.
도 10은 본 발명의 제3실시 예에 따른 무선 통신 시스템에서 제2기기가 제1기기의 App을 실행시키는 과정을 나타낸 신호 흐름도이다.
도 10을 참조하면, 1000 단계에서 상기 제2기기(920)는 CS App(930)을 실행시킨다. 상기 CS App(930)은 상기 제1기기(910)의 App을 실행하기 사용되는 상기 제2기기(920)의 App이 될 수 있다. 그리고 상기 CS App(930)은 웹 App(924) 및 내장형 App(926) 중 하나가 될 수 있는데, 상기 CS App(930)이 웹 App(924)인 경우에는 1002 단계 및 1004 단계를 통해 상기 CS App(930)이 실행된다.
즉, 상기 CS App(930)가 웹 App(924)인 경우, 1002 단계에서 상기 제2기기(920)는 URL 정보를 기반으로 상기 웹 서버(900)로 CS App(930)을 제공해줄 것을 요청하고, 1004 단계에서 상기 웹 서버(900)로부터 상기 CS App(930)과 관련된 웹 페이지(HTML, CSS, 자바스크립트 및 이미지 등으로 구성됨)를 수신한다. 그리고 상기 제2기기(920)는 상기 수신된 웹 페이지를 상기 CS App(930)으로서 실행한다. 상기 1002 단계 및 1004 단계의 동작은 웹 브라우저(922)를 사용하여 수행될 수 있으며, 상기 CS App(930)이 내장형 App(926)인 경우에는 생략될 수 있다.
상기 CS App(930)이 실행되면, 1006 단계에서 해당 네트워크에서 사용 가능한 다른 기기가 있는지에 대한 기기 검색 요청이 상기 CS App(930)에 의해 상기 CS 런처(928)로 송신된다. 그러면 상기 CS 런처(928)는 1008 단계에서 기기 검색을 수행하고 1010 단계에서 검색된 기기에 대한 정보를 상기 CS App(930)으로 송신한다.
상기 기기 검색 요청과 기기 검색 동작은 CS App(930)의 미리 설정된 API를 기반으로 수행될 수 있다. 즉, 상기 CS App(130)에 의해 상기 API가 실행되면, 상기 CS 런처(928)에 의한 실질적인 기기 검색 동작이 수행된다. 상기 API는 일 예로 discoverHbbTVdevices() 등과 같으며 구현에 따라 달라질 수 있다.
한편, 다수의 기기들이 검색된 경우 상기 다수의 기기들에 대한 정보가 상기 CS App(930)로 송신된다. 그리고 1012 단계에 나타난 바와 같이, 상기 CS App(930)에서 상기 다수의 기기들 중 하나 즉, 제1기기(910)가 선택될 수 있다. 상기 제1기기(910)는 상기 CS App(930)에 의해 임의적으로 선택되거나 상기 CS App(930)이 상기 다수의 기기들 중 하나를 선택할 수 있도록 하는 사용자 인터페이스(user interface: UI)를 제공하여 사용자의 입력을 받는 등의 방법으로 선택될 수 있다.
그리고 하나의 기기가 검색되었더라도 해당 기기의 정보를 UI를 통해 사용자에게 제공함으로써 해당 기기와 연결할 지 여부에 대한 사용자의 입력을 받을 수도 있다. 상기 UI에 어떻게 보여주고 사용자의 입력을 어떻게 처리하는지에 대한 방법은 구현에 따라 다양하게 수행될 수 있다.
상기 제1기기(910)가 선택된 경우, 상기 CS App(930)은 1014 단계에서 상기 제1기기(910)에서 App을 실행할 것을 상기 CS 런처(928)로 지시한다. 이를 위해 상기 CS App(930)은 미리 설정된 API를 호출할 수 있다. 상기 API는 일 예로 launchHbbTVApp() 등이 될 수 있는데 이는 구현에 따라 달라질 수 있다.
상기 제1기기(910)의 App 실행은 HTTP 요청에 의해 이루어지며, 상기 제1기기(910)의 정보를 가져오는 과정과 이를 통해 App을 실행하는 과정을 포함하는 두 가지 과정으로 이루어진다. 이러한 과정에서 사용되는 자세한 프로토콜은 이후 도 12를 참조하여 상세히 설명하기로 한다.
상기 CS 런처(928)는 1016 단계에서 App 실행 요청을 상기 제1기기(910)의 CS 관리부(916)로 송신한다. 상기 App 실행 요청은 HTTP POST 메소드에 의한 요청으로 이루어지며, 상기 HTTP 요청의 Body부는 상기 제1기기(910)의 App 정보를 포함하고 있는 XML(즉, XML AIT)를 포함한다. 따라서 상기 CS 관리부(916)는 상기 App 실행 요청을 처리할 수 있는 웹 서버 기능을 가질 수 있다.
상기 CS 관리부(916)는 상기 App 실행의 요청을 처리하고, 1018 단계에서 상기 XML AIT를 상기 AIT 관리부(918)로 송신한다. 상기 AIT 관리부(918)는 상기 XML AIT를 기반으로 상기 제2기기(920)의 CS App(930)과 연동되어 사용될 수 있는 상기 제1기기(910)의 App인 기본 App(940)을 실행시킨다. 여기서 상기 기본 App(940)이 내장형 App일 경우, 모든 과정은 종료된다. 그리고 상기 기본 App(940)이 웹 App인 경우에는 1022 단계 및 1024 단계가 수행된다.
1022 단계에서 상기 제1기기(910)는 URL 정보를 기반으로 상기 웹 서버(900)로 웹 App을 요청하고, 1024 단계에서 상기 웹 서버(900)로부터 상기 기본 App(940)과 관련된 웹 페이지(HTML, CSS, 자바스크립트 및 이미지 등으로 구성됨)를 수신한다. 그리고 상기 제1기기(910)는 상기 수신된 웹 페이지를 기반으로 상기 기본 App(940)을 실행시킨다. 상기 1022 단계 및 1024 단계의 동작은 웹 브라우저(912)를 통해 수행될 수 있다.
하기 표 15는 도 10에서 사용된 API들을 간략히 나타낸 표이다.
표 15
Figure PCTKR2014008812-appb-T000013
상기 표 15를 참조하면, discoverHbbTVdevices()는 입력 인자를 갖지 않으며 네트워크에서 이용 가능한 제1기기의 목록을 획득하기 위해 사용된다. 그리고 launchHbbTVApp()는 App 실행 대상인 제1기기의 ID를 나타내는 uint target_device와 XML 형태로 구성된 실행할 상기 제1기기의 App 정보를 두 개의 입력 인자로 가지며, 상기 제1기기의 App을 실행하기 위해 사용될 수 있다.
다음으로, 도 11을 참조하여 도 10의 1008 단계에 대해 상세히 살펴보기로 한다.
도 11은 본 발명의 제3실시 예에 따른 제2기기가 제1기기를 검색하는 과정을 나타낸 신호 흐름도이다.
도 11을 참조하면, 1100 단계에서 상기 제2기기(920)의 CS 런처(928)는 상기 CS App(930)로부터 기기 검색 요청이 수신되면, 1102 단계에서 제1기기(910)가 존재하는지 검색한다. 예를 들어, 상기 CS 런처(928)는 SSDP의 M-SEARCH 메소드(M-SERACH request and response)를 사용하여, 상기 CS App(930)와 관련하여 연동이 필요한 상기 제1기기(910)를 검색한다. 이때 상기 CS 런처(928)는 다음 표 16에 나타난 바와 같이 ST 헤더에 찾고자 하는 기기에 대한 정보를 포함시켜 해당 기기를 특정할 수 있다.
표 16
Figure PCTKR2014008812-appb-T000014
한편, 상기 제1기기(910)의 상기 CS 관리부(916)는 상기 표 16에 나타난 바와 같은 신호가 수신되면, 1104 단계에서 그에 대한 응답 신호를 상기 제2기기(920)로 송신한다. 상기 응답 신호는 다음 표 17에 나타난 바와 같이, UPnP 디바이스 정보를 포함하고 있는 XML 파일의 URL 정보를 포함하며, 상기 URL 정보는 LOCATION 헤더에 포함될 수 있다.
표 17
Figure PCTKR2014008812-appb-T000015
상기 CS 런처(928)는 상기 응답 신호가 수신되면, 1106 단계에서 상기 응답 신호에 포함된 URL 정보를 기반으로 상기 제1기기(910)에 대한 정보를 요청한다. 즉, 상기 CS 런처(928)는 다음 표 18과 같이 상기 LOCATION 헤더에 포함된 URL 정보를 기반으로 HTTP GET 메소드를 사용하여 상기 제1기기(910)에 대한 UPnP 디바이스 정보를 요청한다.
표 18
Figure PCTKR2014008812-appb-T000016
그러면 상기 CS 관리부(916)는 1108 단계에서 상기 정보 요청에 대한 응답으로 상기 제1기기(910)에 대한 정보와 상기 CS App(930)와 연동되어 사용할 수 있는 상기 제1기기(910)의 App인 기본 App(940)의 URL 정보를 상기 제2기기(920)로 송신한다. 즉, 상기 CS 관리부(916)는 상기 UPnP 디바이스 정보를 포함하고 있는 XML 파일과 함께 상기 기본 App(940)을 실행시킬 수 있는 URL 정보를 다음 표 19와 같이 "Application-URL" 헤더에 포함시켜 상기 제2기기(920)로 송신한다.
표 19
Figure PCTKR2014008812-appb-T000017
상기 표 19에서 "Application-URL" 헤더는 본 발명의 실시 예에서 상기 기본 App(940)를 실행할 수 있는 URL 정보를 포함시키기 위해 임의로 정한 것으로 구현에 따라 다른 이름으로 변경하여 사용할 수 있다.
상기 CS 런처(928)는 상기와 같은 과정에 따라 상기 제1기기(910)에 대한 정보가 획득되면, 1110 단계에서 상기 획득된 정보를 상기 CS App(930)으로 전달하고 기기 검색 동작을 종료한다.
다음으로 도 10의 1016 단계에 나타난 바와 같은, 상기 제1기기(910)의 App을 실행하는 방법에 대해 도 12를 참조하여 설명하기로 한다.
도 12는 본 발명의 제3실시 예에 따른 무선 통신 시스템에서 제1기기의 App을 실행하는 과정을 나타낸 신호 흐름도이다.
도 12를 참조하면, 상기 제2기기(810)의 CS 런처(928)는 1200 단계에서 상기 제1기기(910)에 대한 정보 일 예로, App 정보를 요청한다. 상기와 같은 요청은 HTTP GET 메소드를 통해 수행될 수 있으며, 일 예로 다음 표 20에 나타난 바와 같이 나타날 수 있다.
표 20
Figure PCTKR2014008812-appb-T000018
상기 표 20에서 <App Launch URL>은 도 11의 1108 단계에서 상기 제1기기(910)로부터 전달받은 Application-URL 헤더의 URL 정보를 나타내며, AppName은 상기 제1기기(910)의 App의 이름을 나타낸다. 본 발명의 제3실시 예에서는 상기 App의 이름을 본 발명의 제3실시 예에서 제공하는 특정 서비스를 제한하는 방법을 위해 사용한다. 본 발명의 제3실시 예에서는 HbbTV로 한정하고 있지만 이는 구현에 따라 달라질 수 있다.
상기 제1기기(910)의 CS 관리부(916)는 1202 단계에서 상기 요청에 대한 응답으로 상기 제1기기(910)에 대한 정보로서 App 정보를 송신한다. 상기 App 정보에는 서비스 종단점 정보(부가 서비스 정보) 및 사용자 에이전트(user agent: UA) 정보를 포함하는 XML 파일이 포함될 수 있다. 상기 UA 정보는 상기 제2기기(920)에서 상기 제1기기(910)의 성능을 판단하기 위해 사용될 수 있다.
한편, 상기 App 정보는 일 예로 다음 표 21과 같이 나타날 수 있다.
표 21
Figure PCTKR2014008812-appb-T000019
상기 표 21을 참조하면, <x_HbbTV_terminal_UAString>은 UA 스트링(string) 정보를 나타내며, <x_HbbTV_App2AppURL>는 App 간 통신을 위한 정보를 나타내며, <x_HbbTV_InterDevSyncURL>은 디바이스 간 동기 서비스를 제공하기 위한 정보를 나타낸다. 상기 App 정보에는 표 21에 나타난 정보 외에 서비스 별로 필요한 정보가 존재하는 경우 추가될 수도 있다.
상기 CS 런처(928)는 상기 App 정보를 수신하고, 상기 수신된 정보를 기반으로 1204 단계에서 상기 CS 관리부(916)로 App 실행을 요청한다. 이러한 동작은 HTTP의 POST 메소드를 기반으로 수행될 수 있으며, 상기 App 실행을 위한 요청은 일 예로 다음 표 22에 나타날 수 있다.
표 22
Figure PCTKR2014008812-appb-T000020
상기 표 22를 참조하면, <App Launch URL>/AppName은 표 20의 <App Launch URL>/AppName과 동일하며, 실제 실행할 App의 정보가 XML 형태(XML AIT)로 BODY부에 포함되어 전달될 수 있다. 상기 전달되는 XML AIT는 다음 표 23과 같은 정보를 포함할 수 있다.
표 23
Figure PCTKR2014008812-appb-T000021
Figure PCTKR2014008812-appb-I000001
상기 CS 관리부(916)는 상기 XML AIT를 기반으로 상기 제1기기(910)의 App을 실행시킨다. 그리고 상기 CS 관리부(916)는 1206 단계에서 그 실행 결과를 다음 표 24에 나타난 바와 같이 HTTP 응답 코드를 사용하여 상기 제2기기(920)로 송신한다.
표 24
Figure PCTKR2014008812-appb-T000022
상기 표 24에서 "201 CREATED"는 HTTP 응답 코드를 나타내는데, 상기 HTTP 응답 코드는 일 예로 다음 표 25에 나타난 바와 같다.
표 25
Response Code Description
201 CREATED The HbbTV application was launched successfully.
401 Unauthorized The operation is rejected by the user.
403 Forbidden The operation is rejected by the HbbTV device.
404 NOT FOUND There is no such HbbTV application.
503 SERVICE UNAVAILABLE If the HbBTV application could not be launched momentarily, e.g. because the TV is scanning channels.
상기 표 25을 참조하면, "201 CREATED"는 상기 제1기기(910)의 App이 성공적으로 실행되었음을 나타내며(표 25에서는 일 예로 HbbTV App이 성공적으로 실행되었음을 나타내고 있음), "401 Unauthorized"는 상기 제1기기(910)의 App 실행이 사용자에 의해 거부되었음을 나타내고, "403 Forbidden"은 상기 제1기기(910)의 App 실행이 상기 제1기기(910)에 의해 거부되었음을 나타내고, "404 NOT FOUND"는 상기 제1기기(910)의 App이 존재하지 않음을 나타내고, "503 SERVICE UNAVAILABLE"은 상기 제1기기(910)의 특정 동작으로 인해 상기 제1기기(910)의 App을 일시적으로 실행할 수 없는 경우를 나타낸다.
다음으로 상기 제2기기(920)에서 상기 제1기기(910)의 App을 중단시키는 과정에 대해 설명하기로 한다. 상기 App의 중단을 위한 요청은 HTTP의 DELETE 메소드에 의해 수행될 수 있다. 하지만 DELETE 메소드의 경우 BODY 메시지를 포함하지 않기 때문에 중단시킬 App을 식별할 방법이 필요한다. 따라서 표 26에 나타난 바와 같은 XML AIT에 포함된 orgID와 appID를 기반으로 중단시킬 App을 식별할 수 있도록 한다. 다음 표 26은 App 중단 요청의 예를 나타낸다.
표 26
Figure PCTKR2014008812-appb-T000023
이하 도 13을 참조하여, 상기 제1기기(910)의 App 실행 및 중단 동작에 대해 설명하기로 한다.
도 13은 본 발명의 제3실시 예에 따른 제1기기가 App 실행 및 중단 동작을 수행하는 과정을 나타낸 순서도이다.
도 13을 참조하면, 상기 제1기기(110)는 1300 단계에서 상기 제2기기(920)로부터 HTTP 요청을 수신한다. 그리고 상기 제1기기(910)는 1302 단계에서 HTTP 요청에 포함된 URL 정보를 분석하여 해당 App을 확인한다. 상기 제1기기(910)는 확인된 App이 시스템에서 미리 정의된 특정 App인 경우 다음과 같은 동작을 수행한다.
상기 제1기기(910)는 1304 단계에서 상기 HTTP 요청의 메소드를 확인한다. 그리고 상기 제1기기(910)는 상기 확인된 메소드가 GET 메소드인 경우 상기 제2기기(920)가 상기 제1기기(910)의 App 정보를 요청한 것으로 판단하여, 1306 단계에서 서비스 종단점 및 UA 정보를 포함하는 XML 파일을 생성한다. 그리고 상기 제1기기(910)는 1308 단계에서 BODY부에 상기 생성된 XML 파일을 포함시켜 상기 제2기기(920)로 전송한다. 상기와 같은 전송 동작은 1316 단계의 처리 결과 응답과 동일한 동작으로 간주될 수 있다.
한편, 상기 제1기기(910)는 상기 확인된 메소드가 POST 메소드인 경우, 상기 제2기기(920)가 상기 제1기기(910)의 App을 실행할 것을 지시한 것으로 판단하여 1310 단계로 진행한다. 상기 제1기기(910)는 1310 단계에서 상기 HTTP 요청의 BODY부에 포함되어 있는 XML AIT를 수신한다. 그리고 상기 제1기기(910)는 1312 단계에서 orgID 및 appID를 기반으로 해당 App의 실행이 가능한지 여부를 판단한다. 이때 상기 제1기기(910)는 상기 제1기기(910)에 미리 저장된 실행 가능 App 목록(white list) 또는 실행 불가능 App 목록(black list)를 기반으로 해당 App의 실행이 가능한지 여부를 판단하거나, 사용자의 입력을 받아 해당 App의 실행 가능 여부를 판단할 수 있다. 상기 제1기기(910)는 해당 App의 실행이 가능한 경우 1314 단계에서 해당 App을 실행하고, 1316 단계에서 처리 결과를 상기 제2기기(920)로 송신한다. 여기서 상기 제1기기(910)는 실행하고 있는 appID와 orgID를 관리하고 있어야 한다.
상기 제1기기(910)는 상기 확인된 메소드가 DELETE 메소드인 경우, 상기 제2기기(920)가 App을 중단할 것을 지시하고 있음을 판단하고, 1318 단계에서 상기 HTTP 요청에 포함된 orgID 및 appID를 판단한다. 그리고 상기 제1기기(910)는 1320 단계에서 상기 판단된 orgID 및 appID에 대응되는 App이 실행 중인지 판단한다. 상기 제1기기(910)는 상기 판단된 orgID 및 appID에 대응되는 App이 실행 중인 경우, 1322 단계로 진행하여 상기 실행 중인 App을 중단할 권한이 있는지 판단한다. 그리고 상기 제1기기(910)는 상기 중단할 권한이 있는 경우, 1324 단계에서 상기 실행 중인 App을 중단하고 그 결과를 1316 단계에서 상기 제2기기(920)로 송신한다.
다음으로 도 14를 참조하여 상기 제2기기(920)의 App 실행과 관련된 전반적인 동작을 설명하기로 한다.
도 14는 본 발명의 제3실시 예에 따른 제2기기의 App 실행과 관련된 동작을 나타낸 순서도이다.
도 14를 참조하면, 상기 제2기기(920)는 1400 단계에서 HTML 페이지를 수신하여 상기 제2기기(920)의 App(이하 '제2App'이라 칭함)을 실행한다. 이때 상기 제2App이 내장형 App인 경우 상기 HTML 페이지를 수신하는 절차없이 상기 제2App이 실행될 수 있다.
상기 제2기기(920)는 1402 단계에서 상기 제1기기(910)의 App(이하 '제1App'이라 칭함)의 실행을 위해 필요한 정보를 포함하고 있는 XML AIT를 웹 서버(900)로부터 수신한다. 이어 상기 제2기기(920)는 1404 단계에서 상기 실행된 제2App을 통해 가용한 기기(일 예로, 상기 제1기기(910)가 존재하는지 검색한다.
상기 제2기기(920)는 1406 단계에서 상기 제1기기(110)가 검색되지 않은 경우 1418 단계로 진행하여 상기 제2App의 실행을 중단한다. 그리고 상기 제2기기(920)는 상기 제1기기(910)가 검색된 경우, 1408 단계에서 HTTP GET 메소드를 사용하여 상기 제1기기(910)의 정보를 요청한다. 그리고 상기 제2기기(920)는 상기 요청에 대한 응답으로 App 간 통신을 위한 서비스 종단점 정보 및 상기 제1기기(910)의 성능에 대한 정보를 포함하는 UA 정보 등을 상기 제1기기(910)로부터 수신한다. 상기 UA 정보에는 상기 제1기기(910)의 하드웨어 특성(스크린 사이즈, CPU 속도, PVR 지원 여부 등), 상기 제1기기(910)가 지원하는 특성들(멀티 스크린 기능, DRM 지원 등)이 포함될 수 있다.
이어 상기 제2기기(920)는 1410 단계에서 상기 UA 정보를 기반으로 상기 제1기기(910)에서 상기 제1App의 실행이 가능한지 판단한다. 예를 들어, 상기 제1기기(910)가 HD 정도의 해상도를 지원하는 작은 스크린을 가지고 있는데 상기 제1App이 최소 FHD 정도의 해상도를 필요로 하는 경우, 상기 제2기기(920)는 상기 제1기기(910)에서 상기 제1App의 실행이 불가능함을 판단할 수 있다. 따라서 이 경우 상기 제2기기(920)는 상기 제1App의 실행을 상기 제1기기(910)로 요청하지 않고 1418 단계로 진행한다.
한편 상기 제2기기(920)는 상기 제1App의 실행이 상기 제1기기(110)에서 가능하다고 판단되면, 912 단계로 진행하여 상기 제1기기(910)에서 상기 제1App의 실행할 것을 요청한다. 상기 제1App의 실행을 위한 요청을 위해 HTTP POST 메소드가 사용될 수 있다.
상기 제2기기(920)는 1414 단계에서 상기 서비스 종단점 정보를 기반으로 상기 제1기기(910)와 상기 제2기기(920)간 통신 채널을 생성하여 App 간 통신을 수행한다. 그리고 상기 제2기기(920)는 상기 제1App의 실행을 중단할 필요가 있으면, 1416 단계에서 HTTP DELETE 메소드를 사용하여 상기 제1기기(910)로 상기 제1App의 실행을 중단할 것을 요청하고, 1418 단계에서 상기 제2App의 실행을 중단한다.
도 15는 본 발명의 제3실시 예에 따른 방법이 적용된 예를 보인 도면이다.
도 15에서는 상기 웹 서버(900)가 방송사 웹 서버이고, 상기 제1기기(910)가 DTV이고, 상기 제2기기(920)가 이동 단말인 경우를 일 예로서 보이고 있다.
사용자는 상기 제2기기(920)를 사용하여 상기 웹 서버(910)로부터 전자 프로그램 가이드(electronic program guide: EPG)를 수신한다. 그리고 상기 사용자는 상기 EPG를 기반으로 원하는 방송 프로그램을 선택하고, 상기 선택된 방송 프로그램을 상기 제1기기(910)로 보고자 한다.
전술한 바와 같은 경우, 상기 제2기기(920)는 상기 사용자가 원하는 방송 프로그램을 선택하면, 홈 네트워크 내에 가용한 상기 제1기기(910)를 검색한다. 상기 제2기기(920)는 상기 제1기기(910)가 검색되면, 상기 웹 서버(900)로부터 수신된 XML ALT 정보를 상기 제1기기(910)로 송신한다. 그러면 상기 제1기기(910)는 상기 XML AIT 정보를 기반으로 해당 App을 실행시켜 상기 제2기기(920)에서 선택된 방송 프로그램을 사용자에게 보여 줄 수 있다.
한편, 상기에서는 본 발명에서 제시한 실시 예들을 3가지로 구분하여 설명하였으나, 상기 3가지 실시 예들은 상기 3가지 실시 예들 중 적어도 두 개가 조합되어 사용되는 등 다양하게 변형되어 사용될 수 있다.
본 발명의 특정 측면들은 또한 컴퓨터 리드 가능 기록 매체(computer readable recording medium)에서 컴퓨터 리드 가능 코드(computer readable code)로서 구현될 수 있다. 컴퓨터 리드 가능 기록 매체는 컴퓨터 시스템에 의해 리드될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 디바이스이다. 상기 컴퓨터 리드 가능 기록 매체의 예들은 리드 온니 메모리(read only memory: ROM, 이하 ‘ROM’이라 칭하기로 한다)와, 랜덤-접속 메모리(random access memory: RAM, 이하 ‘RAM’라 칭하기로 한다)와, 컴팩트 디스크- 리드 온니 메모리(compact disk-read only memory: CD-ROM)들과, 마그네틱 테이프(magnetic tape)들과, 플로피 디스크(floppy disk)들과, 광 데이터 저장 디바이스들, 및 캐리어 웨이브(carrier wave)들(상기 인터넷을 통한 데이터 송신과 같은)을 포함할 수 있다. 상기 컴퓨터 리드 가능 기록 매체는 또한 네트워크 연결된 컴퓨터 시스템들을 통해 분산될 수 있고, 따라서 상기 컴퓨터 리드 가능 코드는 분산 방식으로 저장 및 실행된다. 또한, 본 발명을 성취하기 위한 기능적 프로그램들, 코드, 및 코드 세그먼트(segment)들은 본 발명이 적용되는 분야에서 숙련된 프로그래머들에 의해 쉽게 해석될 수 있다.
또한 본 발명의 일 실시예에 따른 장치 및 방법은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 임의의 소프트웨어는 예를 들어, 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 콤팩트 디스크(compact disk: CD), DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 본 발명의 일 실시예에 따른 방법은 제어부 및 메모리를 포함하는 컴퓨터 또는 휴대 단말에 의해 구현될 수 있고, 상기 메모리는 본 발명의 실시 예들을 구현하는 지시들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다.
따라서, 본 발명은 본 명세서의 임의의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다
또한 본 발명의 일 실시 예에 따른 장치는 유선 또는 무선으로 연결되는 프로그램 제공 장치로부터 상기 프로그램을 수신하여 저장할 수 있다. 상기 프로그램 제공 장치는 상기 프로그램 처리 장치가 기 설정된 컨텐츠 보호 방법을 수행하도록 하는 지시들을 포함하는 프로그램, 컨텐츠 보호 방법에 필요한 정보 등을 저장하기 위한 메모리와, 상기 그래픽 처리 장치와의 유선 또는 무선 통신을 수행하기 위한 통신부와, 상기 그래픽 처리 장치의 요청 또는 자동으로 해당 프로그램을 상기 송수신 장치로 전송하는 제어부를 포함할 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (34)

  1. 무선 통신 시스템에서 제1기기가 제2기기의 어플리케이션(application)을 실행하는 방법에 있어서,
    제1어플리케이션을 실행하는 과정과,
    상기 제1어플리케이션의 제1어플리케이션 프로그램 인터페이스(application programming interface: API)를 사용하여, 상기 제1어플리케이션을 실행한 상기 제1기기와 관련된 상기 제2기기를 발견(discovery)하는 과정과,
    상기 제1어플리케이션의 제2API를 사용하여, 상기 제2기기에 특정된 어플리케이션 실행 정보를 송신하는 과정을 포함하는 어플리케이션 실행 방법.
  2. 제1항에 있어서,
    상기 제1기기는 상기 제2기기와 통신을 수행하기 위한 관리부(manager)가 실행 중인 기기이며, 상기 제2기기는 상기 제1기기와 통신을 수행하기 위한 런처(launcher)가 실행 중인 기기임을 특징으로 하는 어플리케이션 실행 방법.
  3. 제1항에 있어서,
    상기 어플리케이션 실행 정보는 상기 제2기기의 식별자(identifier: ID) 및 상기 제2기기에서 실행될 제2어플리케이션의 URL(uniform resource locator) 정보를 포함함을 특징으로 하는 어플리케이션 실행 방법.
  4. 제3항에 있어서,
    상기 제2어플리케이션은 웹 브라우저를 기반으로 실행되는 웹 어플리케이션 및 상기 제2기기의 플랫폼에 특정되어 실행되는 내장형(native) 어플리케이션 중 적어도 하나를 포함함을 특징으로 하는 어플리케이션 실행 방법.
  5. 무선 통신 시스템에서 제2기기가 어플리케이션(application)을 실행하는 방법에 있어서,
    상기 제2기기가 제1어플리케이션(application)을 실행한 제1기기와 관련된 기기인 경우, 상기 제1기기로부터 상기 제2기기에 특정된 어플리케이션 실행 정보를 수신하는 과정과,
    상기 어플리케이션 실행 정보를 기반으로 상기 제2기기의 제2어플리케이션을 실행하는 과정을 포함하며,
    상기 제2기기는 상기 제1어플리케이션의 제1어플리케이션 프로그램 인터페이스(application programming interface: API)를 사용하여 상기 제1기기에 의해 발견되며, 상기 어플리케이션 실행 정보는 상기 제1어플리케이션의 제2API를 사용하여 상기 제1기기로부터 송신된 정보임을 특징으로 하는 어플리케이션 실행 방법.
  6. 제5항에 있어서,
    상기 제1기기는 상기 제2기기와 통신을 수행하기 위한 관리부(manager)가 실행 중인 기기이며, 상기 제2기기는 상기 제1기기와 통신을 수행하기 위한 런처(launcher)가 실행 중인 기기임을 특징으로 하는 어플리케이션 실행 방법.
  7. 제5항에 있어서,
    상기 어플리케이션 실행 정보는 상기 제2기기의 식별자(identifier: ID) 및 상기 제2기기에서 실행될 제2어플리케이션의 URL(uniform resource locator) 정보를 포함함을 특징으로 하는 어플리케이션 실행 방법.
  8. 제5항에 있어서,
    상기 제2어플리케이션은 웹 브라우저를 기반으로 실행되는 웹 어플리케이션 및 상기 제2기기의 플랫폼에 특정되어 실행되는 내장형(native) 어플리케이션 중 적어도 하나를 포함함을 특징으로 하는 어플리케이션 실행 방법.
  9. 무선 통신 시스템에서 제2기기가 제1기기의 어플리케이션(application)을 실행하는 방법에 있어서,
    네트워크 내에 상기 제1기기가 존재하는지 검색하는 과정과,
    상기 제1기기가 검색된 경우, 상기 제1기기의 제1어플리케이션을 실행시키기 위한 정보를 상기 제1기기로 송신하는 과정을 포함하는 어플리케이션 실행 방법.
  10. 제9항에 있어서,
    상기 제1기기가 존재하는지 검색하는 과정은,
    상기 제1기기를 검색하기 위한 신호를 송신하는 과정과,
    상기 제1기기로부터 응답 신호가 수신되면, 상기 응답 신호로부터 상기 제1기기의 정보를 획득하기 위한 위치 정보를 검출하는 과정과,
    상기 위치 정보를 기반으로 상기 제1기기에 대한 정보를 제공해줄 것을 상기 제1기기로 요청하는 과정과,
    상기 제1기기로부터 상기 제1기기의 정보와 상기 제1기기의 어플리케이션 구동 정보가 포함된 신호를 수신하는 과정과,
    상기 제1기기의 어플리케이션 구동 정보를 기반으로 상기 제1기기로 어플리케이션 서비스 정보를 요청하는 과정과,
    상기 제1기기로부터 상기 어플리케이션 서비스 정보를 수신하는 과정을 포함하는 어플리케이션 실행 방법.
  11. 제10항에 있어서,
    상기 제1기기의 정보를 획득하기 위한 위치 정보는 상기 제1기기의 정보를 획득하기 위한 URL(uniform resource locator) 정보를 포함하며, 상기 응답 신호의 위치(location) 헤더로부터 검출됨을 특징으로 하는 어플리케이션 실행 방법.
  12. 제10항에 있어서,
    상기 제1기기의 어플리케이션 구동 정보는 URL(uniform resource locator) 정보를 포함함을 특징으로 하는 어플리케이션 실행 방법.
  13. 제10항에 있어서,
    상기 제1어플리케이션을 실행시키기 위한 정보를 상기 제1기기로 송신하는 과정은,
    상기 제1기기의 어플리케이션 구동 정보를 기반으로 상기 제1어플리케이션을 실행시키기 위한 정보를 상기 제1기기로 송신하는 과정을 포함함을 특징으로 하는 어플리케이션 실행 방법.
  14. 제10항에 있어서,
    상기 어플리케이션 서비스 정보는 상기 제1어플리케이션과 상기 제2기기의 제2어플리케이션 간 통신을 위한 정보, 상기 제1기기와 상기 제2기기 간 동기화를 위해 사용되는 정보 및 상기 제1기기의 사용자 에이전트(user agent: UA) 정보 중 적어도 하나를 포함함을 특징으로 하는 어플리케이션 실행 방법.
  15. 제9항에 있어서,
    상기 제1어플리케이션을 실행시키기 위한 정보는,
    상기 제1어플리케이션의 이름 정보, 상기 제1어플리케이션의 식별자(identifier: ID) 정보, 상기 제1어플리케이션의 타입 정보, 상기 제1어플리케이션의 제어 코드 정보, 상기 제1어플리케이션의 가시(visibility) 정보, 상기 제1어플리케이션의 서비스바운드(servicebound) 정보, 상기 제1어플리케이션의 우선순위 정보, 상기 제1어플리케이션의 버전 정보, 상기 제1어플리케이션의 MHP(multimedia home platform) 버전 정보, 상기 제1어플리케이션의 아이콘(icon) 정보, 상기 제1어플리케이션의 전송(transport) 타입 정보, 상기 제1어플리케이션의 URL(uniform resource locator) 정보, 상기 제1어플리케이션의 바운더리(boundary) 정보, 상기 제1어플리케이션의 세부 정보(specific descriptor) 및 상기 제1어플리케이션의 사용 정보(usage descriptor) 중 적어도 하나를 포함함을 특징으로 하는 어플리케이션 실행 방법.
  16. 제9항에 있어서,
    상기 제1기기로부터 상기 제1어플리케이션의 실행 결과가 포함된 응답 메시지를 수신하는 과정을 더 포함함을 특징으로 하는 어플리케이션 실행 방법.
  17. 제16항에 있어서,
    상기 응답 메시지는 상기 제1어플리케이션이 성공적으로 실행되었음을 나타내는 제1응답 코드, 상기 제1어플리케이션이 사용자에 의해 실행되지 못했음을 나타내는 제2응답 코드, 상기 제1어플리케이션의 실행이 상기 제1기기에 의해 거부되었음을 나타내는 제3응답 코드, 상기 제1어플리케이션이 존재하지 않아 실행될 수 없음을 나타내는 제4응답 코드 및 상기 제1기기의 상태에 따라 상기 제1어플리케이션이 실행될 수 없음을 나타내는 제5응답 코드 중 하나를 포함함을 특징으로 하는 어플리케이션 실행 방법.
  18. 무선 통신 시스템에서 제1기기에 있어서,
    제1어플리케이션(application)을 실행하는 어플리케이션부와,
    상기 제1어플리케이션의 제1어플리케이션 프로그램 인터페이스(application programming interface: API)를 사용하여, 상기 제1어플리케이션을 실행한 상기 제1기기와 관련된 제2기기를 발견(discovery)하고, 상기 제1어플리케이션의 제2API를 사용하여, 상기 제2기기에 특정된 어플리케이션 실행 정보를 송신하는 관리부(manager)를 포함하는 제1기기.
  19. 제18항에 있어서,
    상기 제1기기는 상기 제2기기와 통신을 수행하기 위한 관리부(manager)가 실행 중인 기기이며, 상기 제2기기는 상기 제1기기와 통신을 수행하기 위한 런처(launcher)가 실행 중인 기기임을 특징으로 하는 제1기기.
  20. 제18항에 있어서,
    상기 어플리케이션 실행 정보는 상기 제2기기의 식별자(identifier: ID) 및 상기 제2기기에서 실행될 제2어플리케이션의 URL(uniform resource locator) 정보를 포함함을 특징으로 하는 제1기기.
  21. 제20항에 있어서,
    상기 제2어플리케이션은 웹 브라우저를 기반으로 실행되는 웹 어플리케이션 및 상기 제2기기의 플랫폼에 특정되어 실행되는 내장형(native) 어플리케이션 중 적어도 하나를 포함함을 특징으로 하는 제1기기.
  22. 무선 통신 시스템에서 제2기기에 있어서,
    상기 제2기기가 제1어플리케이션(application)을 실행한 제1기기와 관련된 기기인 경우, 상기 제1기기로부터 상기 제2기기에 특정된 어플리케이션 실행 정보를 수신하는 런처(launcher)와,
    상기 어플리케이션 실행 정보를 기반으로 상기 제2기기의 제2어플리케이션을 실행하는 어플리케이션부를 포함하며,
    상기 제2기기는 상기 제1어플리케이션의 제1어플리케이션 프로그램 인터페이스(application programming interface: API)를 사용하여 상기 제1기기에 의해 발견되며, 상기 어플리케이션 실행 정보는 상기 제1어플리케이션의 제2API를 사용하여 상기 제1기기로부터 송신된 정보임을 특징으로 하는 제2기기.
  23. 제22항에 있어서,
    상기 제2기기는 상기 런처가 실행 중인 경우, 상기 제2기기와 통신을 수행하기 위한 관리부(manager)가 실행 중인 상기 제1기기에 의해 발견됨을 특징으로 하는 제2기기.
  24. 제22항에 있어서,
    상기 어플리케이션 실행 정보는 상기 제2기기의 식별자(identifier: ID) 및 상기 제2기기에서 실행될 제2어플리케이션의 URL(uniform resource locator) 정보를 포함함을 특징으로 하는 제2기기.
  25. 제22항에 있어서,
    상기 제2어플리케이션은 웹 브라우저를 기반으로 실행되는 웹 어플리케이션 및 상기 제2기기의 플랫폼에 특정되어 실행되는 내장형(native) 어플리케이션 중 적어도 하나를 포함함을 특징으로 하는 제2기기.
  26. 무선 통신 시스템에서 제2기기에 있어서,
    네트워크 내에 제1기기가 존재하는지 검색하고, 상기 제1기기가 검색된 경우, 상기 제1기기의 제1어플리케이션 어플리케이션(application)을 실행시키기 위한 정보를 상기 제1기기로 송신하는 런처(launcher)를 포함하는 제2기기.
  27. 제26항에 있어서,
    상기 런처는 상기 제1기기를 검색하기 위한 신호를 송신하고, 상기 제1기기로부터 응답 신호가 수신되면, 상기 응답 신호로부터 상기 제1기기의 정보를 획득하기 위한 위치 정보를 검출하고, 상기 위치 정보를 기반으로 상기 제1기기에 대한 정보를 제공해줄 것을 상기 제1기기로 요청하고, 상기 제1기기로부터 상기 제1기기의 정보와 상기 제1기기의 어플리케이션 구동 정보가 포함된 신호를 수신하고, 상기 제1기기의 어플리케이션 구동 정보를 기반으로 상기 제1기기로 어플리케이션 서비스 정보를 요청하고, 상기 제1기기로부터 상기 어플리케이션 서비스 정보를 수신함을 특징으로 하는 제2기기.
  28. 제27항에 있어서,
    상기 제1기기의 정보를 획득하기 위한 위치 정보는 상기 제1기기의 정보를 획득하기 위한 URL(uniform resource locator) 정보를 포함하며, 상기 응답 신호의 위치(location) 헤더로부터 검출됨을 특징으로 하는 제2기기.
  29. 제27항에 있어서,
    상기 제1기기의 어플리케이션 구동 정보는 URL(uniform resource locator) 정보를 포함함을 특징으로 하는 제2기기.
  30. 제27항에 있어서,
    상기 제1어플리케이션을 실행시키기 위한 정보를 상기 제1기기로 송신하는 과정은,
    상기 제1기기의 어플리케이션 구동 정보를 기반으로 상기 제1어플리케이션을 실행시키기 위한 정보를 상기 제1기기로 송신하는 과정을 포함함을 특징으로 하는 제2기기.
  31. 제27항에 있어서,
    상기 어플리케이션 서비스 정보는 상기 제1어플리케이션과 상기 제2기기의 제2어플리케이션 간 통신을 위한 정보, 상기 제1기기와 상기 제2기기 간 동기화를 위해 사용되는 정보 및 상기 제1기기의 사용자 에이전트(user agent: UA) 정보 중 적어도 하나를 포함함을 특징으로 하는 제2기기.
  32. 제26항에 있어서,
    상기 제1어플리케이션을 실행시키기 위한 정보는,
    상기 제1어플리케이션의 이름 정보, 상기 제1어플리케이션의 식별자(identifier: ID) 정보, 상기 제1어플리케이션의 타입 정보, 상기 제1어플리케이션의 제어 코드 정보, 상기 제1어플리케이션의 가시(visibility) 정보, 상기 제1어플리케이션의 서비스바운드(servicebound) 정보, 상기 제1어플리케이션의 우선순위 정보, 상기 제1어플리케이션의 버전 정보, 상기 제1어플리케이션의 MHP(multimedia home platform) 버전 정보, 상기 제1어플리케이션의 아이콘(icon) 정보, 상기 제1어플리케이션의 전송(transport) 타입 정보, 상기 제1어플리케이션의 URL(uniform resource locator) 정보, 상기 제1어플리케이션의 바운더리(boundary) 정보, 상기 제1어플리케이션의 세부 정보(specific descriptor) 및 상기 제1어플리케이션의 사용 정보(usage descriptor) 중 적어도 하나를 포함함을 특징으로 하는 제2기기.
  33. 제26항에 있어서,
    상기 런처는 상기 제1기기로부터 상기 제1어플리케이션의 실행 결과가 포함된 응답 메시지를 수신함을 특징으로 하는 제2기기.
  34. 제33항에 있어서,
    상기 응답 메시지는 상기 제1어플리케이션이 성공적으로 실행되었음을 나타내는 제1응답 코드, 상기 제1어플리케이션이 사용자에 의해 실행되지 못했음을 나타내는 제2응답 코드, 상기 제1어플리케이션의 실행이 상기 제1기기에 의해 거부되었음을 나타내는 제3응답 코드, 상기 제1어플리케이션이 존재하지 않아 실행될 수 없음을 나타내는 제4응답 코드 및 상기 제1기기의 상태에 따라 상기 제1어플리케이션이 실행될 수 없음을 나타내는 제5응답 코드 중 하나를 포함함을 특징으로 하는 제2기기.
PCT/KR2014/008812 2013-09-23 2014-09-23 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치 WO2015041494A1 (ko)

Priority Applications (11)

Application Number Priority Date Filing Date Title
CN201480052311.0A CN105579995B (zh) 2013-09-23 2014-09-23 在无线通信系统中执行应用的方法和装置
RU2016115528A RU2678663C2 (ru) 2013-09-23 2014-09-23 Способ и устройство для исполнения приложения в системе беспроводной связи
JP2016516562A JP6543617B2 (ja) 2013-09-23 2014-09-23 無線通信システムにおけるアプリケーション実行方法及び装置
EP14846282.3A EP3051425A4 (en) 2013-09-23 2014-09-23 Method and apparatus for executing application in wireless communication system
CN202210703674.2A CN114911745A (zh) 2013-09-23 2014-09-23 在无线通信系统中执行应用的方法和装置
CN202210703689.9A CN115103337B (zh) 2013-09-23 2014-09-23 在无线通信系统中执行应用的方法和装置
BR112016006403-8A BR112016006403B1 (pt) 2013-09-23 2014-09-23 Método para inicializar um segundo aplicativo em um segundo dispositivo, método para inicializar um segundo aplicativo através de um segundo dispositivo, primeiro e segundo dispositivos em um sistema de comunicação sem fio
MX2016003821A MX2016003821A (es) 2013-09-23 2014-09-23 Metodo y aparato para ejecutar una aplicacion en un sistema de comunicacion inalambrico.
CA2925284A CA2925284C (en) 2013-09-23 2014-09-23 Method and apparatus for executing application in wireless communication system
US15/023,923 US11006187B2 (en) 2013-09-23 2014-09-23 Method and apparatus for executing application in wireless communication system
US17/314,430 US20210274263A1 (en) 2013-09-23 2021-05-07 Method and apparatus for executing application in wireless communication system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20130112842A KR20150033185A (ko) 2013-09-23 2013-09-23 통신 시스템에서 멀티스크린을 지원하는 방법 및 장치
KR10-2013-0112842 2013-09-23
KR10-2014-0063216 2014-05-26
KR1020140063216A KR102324669B1 (ko) 2014-05-26 2014-05-26 무선 통신 시스템에서 응용 프로그램 실행 방법 및 장치

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US15/023,923 A-371-Of-International US11006187B2 (en) 2013-09-23 2014-09-23 Method and apparatus for executing application in wireless communication system
US17/314,430 Continuation US20210274263A1 (en) 2013-09-23 2021-05-07 Method and apparatus for executing application in wireless communication system

Publications (1)

Publication Number Publication Date
WO2015041494A1 true WO2015041494A1 (ko) 2015-03-26

Family

ID=52689094

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/008812 WO2015041494A1 (ko) 2013-09-23 2014-09-23 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치

Country Status (9)

Country Link
US (2) US11006187B2 (ko)
EP (1) EP3051425A4 (ko)
JP (1) JP6543617B2 (ko)
CN (3) CN105579995B (ko)
BR (1) BR112016006403B1 (ko)
CA (1) CA2925284C (ko)
MX (1) MX2016003821A (ko)
RU (1) RU2678663C2 (ko)
WO (1) WO2015041494A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016190662A1 (ko) * 2015-05-26 2016-12-01 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016163772A3 (ko) * 2015-04-07 2016-12-01 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2017007260A1 (ko) * 2015-07-08 2017-01-12 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
CN107431843A (zh) * 2015-04-01 2017-12-01 三星电子株式会社 用于在多媒体系统中的设备之间通信的方法和设备
CN107852409A (zh) * 2015-07-21 2018-03-27 Lg 电子株式会社 广播信号发送装置、广播信号接收装置、广播信号发送方法以及广播信号接收方法
CN114051750A (zh) * 2019-05-31 2022-02-15 苹果公司 用于性能数据流式传输、性能数据文件报告和性能阈值监测的系统和方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10356132B2 (en) * 2015-03-01 2019-07-16 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method of transmitting broadcast signals and method of receiving broadcast signals
KR102121535B1 (ko) * 2015-11-30 2020-06-10 삼성전자주식회사 전자 장치, 보조 장치 및 전자 장치의 동작 방법
DE102016216203A1 (de) * 2016-08-29 2017-09-14 Siemens Healthcare Gmbh Medizinisches bildgebendes System
AU2017418882A1 (en) * 2017-06-13 2019-12-19 Huawei Technologies Co., Ltd. Display method and apparatus
CN108200135B (zh) * 2017-12-27 2021-04-06 金蝶软件(中国)有限公司 一种获取扫描数据并生成凭证的方法、系统及相关装置
CA3088790C (en) * 2018-02-15 2024-04-09 Vitec, Inc. Distribution and playback of media content
EP3787299A1 (de) * 2019-09-02 2021-03-03 Institut für Rundfunktechnik GmbH Aufbau einer verbindung zwischen einer ersten anwendung auf einem ersten gerät und einer zweiten anwendung auf einem zweiten gerät
US11899757B2 (en) * 2019-12-02 2024-02-13 Cox Automotive, Inc. Systems and methods for temporary digital content sharing
CN111654753B (zh) * 2020-05-22 2022-06-03 青岛海信传媒网络技术有限公司 一种应用程序启动方法及显示设备
JP2022012403A (ja) * 2020-07-01 2022-01-17 キヤノン株式会社 プログラム、情報処理装置及び制御方法
CN114756785A (zh) * 2020-12-25 2022-07-15 华为技术有限公司 页面显示的方法、装置、电子设备以及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110051791A (ko) * 2009-11-11 2011-05-18 엘지전자 주식회사 원격 제어 가능한 tv 및 그 제어 방법
KR20110112645A (ko) * 2010-04-07 2011-10-13 금오공과대학교 산학협력단 스마트폰을 이용한 동적인 원격 제어 시스템 및 그 방법
KR20120112296A (ko) * 2012-08-24 2012-10-11 인포뱅크 주식회사 방송 프로그램과 연계된 정보 제공 서비스 방법
KR20130020405A (ko) * 2011-08-19 2013-02-27 주식회사 팬택 방송 수신 기기의 조작을 위한 휴대용 단말 어플리케이션 장치 및 방법과 이를 구비한 휴대용 단말

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000512472A (ja) * 1997-06-25 2000-09-19 サムソン エレクトロニクス カンパニー リミテッド ホームネットワークのためのプログラミングツール
US7194761B1 (en) * 2002-01-22 2007-03-20 Cisco Technology, Inc. Methods and apparatus providing automatic client authentication
EP1705576A1 (en) * 2004-01-06 2006-09-27 Matsushita Electric Industrial Co., Ltd. Device cooperation service system and electronic devices included in the system
WO2007087109A2 (en) * 2005-12-21 2007-08-02 Transip, Inc. System and method for efficient replication of and access to application specific environments and data
KR100813969B1 (ko) * 2006-01-18 2008-03-14 삼성전자주식회사 원격 사용자 인터페이스의 상태 정보를 저장하고 복구하는방법 및 장치
KR101314291B1 (ko) * 2007-02-15 2013-10-02 삼성전자주식회사 디지털 방송의 미들웨어 표준이 다른 장치에서 상호서비스를 제공하는 장치 및 방법
TWI363993B (en) 2007-10-31 2012-05-11 Ibm Method for auto-deploying an application from a mobile device to a host in a pervasive computing environment and the mobile device implementing the method
JP5173855B2 (ja) * 2009-01-09 2013-04-03 日本放送協会 ネットワーク制御装置およびコンピュータプログラム
KR20110010052A (ko) 2009-07-14 2011-01-31 삼성전자주식회사 방송 네트워크 및 인터넷 네트워크에 접속 가능한 클라이언트의 어플리케이션을 수신하는 방법 및 장치
KR20110025012A (ko) * 2009-09-01 2011-03-09 삼성전자주식회사 근거리 네트워크에서 사용자 인터페이스 매칭장치 및 방법
US20110145581A1 (en) * 2009-12-14 2011-06-16 Verizon Patent And Licensing, Inc. Media playback across devices
EP2343881B1 (en) * 2010-01-07 2019-11-20 LG Electronics Inc. Method of processing application in digital broadcast receiver connected with interactive network, and digital broadcast receiver
JP5569053B2 (ja) * 2010-03-11 2014-08-13 ソニー株式会社 コンテンツ配信装置、コンテンツ配信方法および送信サーバ
KR20120007433A (ko) * 2010-07-14 2012-01-20 삼성전자주식회사 컴퓨터 장치 간의 고화질 비디오 텔레포니를 설정하는 장치 및 방법
US9602851B2 (en) 2011-03-01 2017-03-21 Sony Corporation Method and apparatus for switching between a native application and a second application
CN102158664A (zh) * 2011-03-31 2011-08-17 四川长虹电器股份有限公司 利用移动终端进行语音控制电视机的方法
WO2013031556A1 (ja) * 2011-08-26 2013-03-07 日本放送協会 受信機および受信方法
JP5978000B2 (ja) 2011-08-26 2016-08-24 日本放送協会 受信機
JPWO2013061517A1 (ja) 2011-10-27 2015-04-02 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 機器連携サービス実行装置、機器連携サービス実行方法、及び機器連携サービス実行プログラム
US9525998B2 (en) 2012-01-06 2016-12-20 Qualcomm Incorporated Wireless display with multiscreen service
JP5607095B2 (ja) * 2012-03-19 2014-10-15 株式会社東芝 情報生成装置および情報出力装置
US10931735B2 (en) 2012-06-28 2021-02-23 Netflix, Inc. Application discovery
JP6247309B2 (ja) * 2012-11-28 2017-12-13 エルジー エレクトロニクス インコーポレイティド 双方向サービスを処理する装置及び方法
JP6203370B2 (ja) * 2013-03-15 2017-09-27 アメリカン メガトレンズ インコーポレイテッド ウェブベースの仮想媒体リダイレクトのシステムおよび方法
US9413762B2 (en) * 2013-06-17 2016-08-09 Cable Television Laboratories, Inc. Asynchronous user permission model for applications
EP3041238B1 (en) * 2013-08-28 2019-10-02 LG Electronics Inc. Signal transmission device and method for controlling same
US9077693B2 (en) * 2013-09-23 2015-07-07 Netflix, Inc. Securely connecting control device to target device
JP6400715B2 (ja) * 2014-01-14 2018-10-03 エルジー エレクトロニクス インコーポレイティド ネットワークにより連結された放送受信デバイスと他のデバイス間の連結を管理する方法及び装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110051791A (ko) * 2009-11-11 2011-05-18 엘지전자 주식회사 원격 제어 가능한 tv 및 그 제어 방법
KR20110112645A (ko) * 2010-04-07 2011-10-13 금오공과대학교 산학협력단 스마트폰을 이용한 동적인 원격 제어 시스템 및 그 방법
KR20130020405A (ko) * 2011-08-19 2013-02-27 주식회사 팬택 방송 수신 기기의 조작을 위한 휴대용 단말 어플리케이션 장치 및 방법과 이를 구비한 휴대용 단말
KR20120112296A (ko) * 2012-08-24 2012-10-11 인포뱅크 주식회사 방송 프로그램과 연계된 정보 제공 서비스 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3051425A4 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11159844B2 (en) 2015-04-01 2021-10-26 Samsung Electronics Co., Ltd. Method and device for communicating between devices in multimedia system
CN107431843A (zh) * 2015-04-01 2017-12-01 三星电子株式会社 用于在多媒体系统中的设备之间通信的方法和设备
EP3280148A4 (en) * 2015-04-01 2018-05-16 Samsung Electronics Co., Ltd. Method and device for communicating between devices in multimedia system
US11606601B2 (en) 2015-04-01 2023-03-14 Samsung Electronics Co., Ltd. Method and device for communicating between devices in multimedia system
WO2016163772A3 (ko) * 2015-04-07 2016-12-01 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US10469919B2 (en) 2015-04-07 2019-11-05 Lg Electronics Inc. Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method, and broadcast signal reception method
WO2016190662A1 (ko) * 2015-05-26 2016-12-01 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US10362371B2 (en) 2015-05-26 2019-07-23 Lg Electronics Inc. Broadcasting signal transmitting apparatus, broadcasting signal receiving apparatus, broadcasting signal transmitting method, and broadcasting signal receiving method
US10674234B2 (en) 2015-05-26 2020-06-02 Lg Electronics Inc. Broadcasting signal transmitting apparatus, broadcasting signal receiving apparatus, broadcasting signal transmitting method, and broadcasting signal receiving method
US11095959B2 (en) 2015-05-26 2021-08-17 Lg Electronics Inc. Broadcasting signal transmitting apparatus, broadcasting signal receiving apparatus, broadcasting signal transmitting method, and broadcasting signal receiving method
WO2017007260A1 (ko) * 2015-07-08 2017-01-12 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
CN107852409A (zh) * 2015-07-21 2018-03-27 Lg 电子株式会社 广播信号发送装置、广播信号接收装置、广播信号发送方法以及广播信号接收方法
US11228385B2 (en) 2015-07-21 2022-01-18 Lg Electronics Inc. Broadcasting signal transmitting apparatus, broadcasting signal receiving apparatus, broadcasting signal transmitting method, and broadcasting signal receiving method
US10917186B2 (en) 2015-07-21 2021-02-09 Lg Electronics Inc. Broadcasting signal transmitting apparatus, broadcasting signal receiving apparatus, broadcasting signal transmitting method, and broadcasting signal receiving method
CN114051750A (zh) * 2019-05-31 2022-02-15 苹果公司 用于性能数据流式传输、性能数据文件报告和性能阈值监测的系统和方法
CN114051750B (zh) * 2019-05-31 2024-04-09 苹果公司 用于性能数据流式传输、性能数据文件报告和性能阈值监测的系统和方法

Also Published As

Publication number Publication date
EP3051425A1 (en) 2016-08-03
BR112016006403B1 (pt) 2023-05-09
CA2925284C (en) 2023-04-25
CN105579995B (zh) 2022-07-08
CN115103337A (zh) 2022-09-23
CA2925284A1 (en) 2015-03-26
RU2016115528A (ru) 2017-10-30
BR112016006403A2 (pt) 2017-08-01
RU2016115528A3 (ko) 2018-07-10
CN114911745A (zh) 2022-08-16
US20210274263A1 (en) 2021-09-02
CN105579995A (zh) 2016-05-11
CN115103337B (zh) 2023-11-17
JP6543617B2 (ja) 2019-07-10
EP3051425A4 (en) 2017-07-05
JP2016541034A (ja) 2016-12-28
RU2678663C2 (ru) 2019-01-30
MX2016003821A (es) 2016-08-04
US20160249114A1 (en) 2016-08-25
US11006187B2 (en) 2021-05-11

Similar Documents

Publication Publication Date Title
WO2015041494A1 (ko) 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치
WO2014171682A1 (en) Display apparatus, and method and apparatus for setting up and controlling the same
WO2016068622A1 (en) Terminal device and method of controlling same
WO2014092476A1 (en) Display apparatus, remote control apparatus, and method for providing user interface using the same
WO2014157903A1 (en) Method and device for displaying service page for executing application
WO2015026058A1 (en) Method, terminal, and system for reproducing content
WO2015046933A1 (en) Display apparatus and method for controlling thereof
WO2010147362A2 (en) Widget activation and communication method
WO2014030981A1 (en) Control method and control apparatus for apparatus including short range wireless communication module
WO2020242075A1 (en) Electronic device, method, and computer readable medium for providing screen sharing service through external electronic device
WO2013024954A1 (en) Display device and method for providing content using the same
WO2012005421A1 (ko) 애플리케이션 확장 방법 및 그 방법을 이용한 영상표시기기
WO2020032465A1 (en) Method for contents playback with continuity and electronic device therefor
WO2016080700A1 (en) Display apparatus and display method
WO2018117536A1 (en) Electronic apparatus, control authority authentication method thereof and user terminal apparatus
WO2012053764A2 (en) Method for moving pointer in video display apparatus and video display apparatus thereof
WO2019117451A1 (ko) 디스플레이장치, 그 제어방법 및 기록매체
WO2018093138A1 (en) Electronic apparatus and method of operating the same
WO2018110970A1 (en) Terminal device, electronic device and control method for determining the position of searching object device
WO2017069422A1 (en) User terminal device and method for providing web service thereof
WO2013015473A1 (en) Electronic device and method of operating the same
WO2012020945A2 (ko) 영상표시기기의 데이터 입력 방법 및 그에 따른 영상표시기기
WO2011090288A2 (en) Electronic device and operating method of the same
EP3314874A1 (en) User terminal device and method for providing web service thereof
WO2017014474A1 (en) Display apparatus and display method

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201480052311.0

Country of ref document: CN

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

Ref document number: 14846282

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15023923

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2925284

Country of ref document: CA

Ref document number: 2016516562

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: MX/A/2016/003821

Country of ref document: MX

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112016006403

Country of ref document: BR

REEP Request for entry into the european phase

Ref document number: 2014846282

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014846282

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2016115528

Country of ref document: RU

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 112016006403

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20160323