Method and apparatus for executing application in wireless communication system
By introducing a multi-screen manager and starter into the wireless communication system, the problem of inconvenient application information exchange and control operation between devices is solved, efficient coordinated use and control between devices is realized, and user experience is improved.
Patent Information
- Application Number
- CN202210703674.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2014-05-26
- Filing Date
- 2014-09-23
- Publication Date
- 2025-08-26
- Estimated Expiration
- 2034-09-23
AI Technical Summary
In the prior art, the interactive operation and application control structure between devices have not yet been fully developed, and it is difficult to achieve efficient transmission and reception of application information, resulting in inconvenient coordinated use and control operation between devices.
By introducing a multi-screen manager and initiator into the wireless communication system, application discovery, information transmission and startup between devices are realized, and a unified resource locator and application programming interface are adopted to support multi-screen display and control operations between devices.
It realizes efficient application information exchange and collaborative operation between devices, supports multi-screen display and control between devices, and improves interoperability and user experience between devices.
Smart Images

Figure CN114911745B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application is a Chinese national phase application of international application No. PCT / KR2014 / 008812, filed on September 23, 2014, which claims the benefit of Korean Patent Application No. 10-2014-0063216, filed on May 26, 2014, in the Korean Intellectual Property Office, and Korean Patent Application No. 10-2013-0112842, filed on September 23, 2013, in the Korean Intellectual Property Office, the entire disclosure of each of the above applications is incorporated herein by reference. Technical Field
[0003] The present disclosure relates to a method and apparatus for launching an application in a wireless communication system. Background Art
[0004] With the rapid development of network technology and multimedia technology, various types of devices have been developed and the convergence between these devices has accelerated. In this regard, various devices such as digital televisions (TVs), home theaters, computing devices, and mobile terminals often transmit and receive data and provide converged services in a network environment. In order to provide converged services, the demand for structures that control the interactive operations between devices or for structures that perform operations involving each other between devices is increasing.
[0005] The above information is presented as background information only to assist with an understanding of the present disclosure. No determination is made or asserted that any of the above information is applicable as prior art with respect to the present disclosure. Summary of the Invention
[0006] Various aspects of the present disclosure are intended to at least address the above-mentioned problems and / or disadvantages and to provide at least the following advantageous effects. Accordingly, one aspect of the present disclosure provides a method and apparatus for starting an application in a wireless communication system.
[0007] Another aspect of the present disclosure provides a method and apparatus for transmitting and receiving application information between devices in a wireless communication system.
[0008] Another aspect of the present disclosure provides a method and apparatus for using multiple screens based on multiple devices.
[0009] Another aspect of the present disclosure provides a method and apparatus for collaboratively using an application between a plurality of devices in a network environment in which the plurality of devices are connected.
[0010] Another aspect of the present disclosure provides a method and apparatus for performing a control operation between devices based on an application cooperative operation.
[0011] According to an aspect of the present disclosure, a method for launching an application by a first device in a wireless communication system is provided, wherein the method includes: discovering a second device using the first application; and sending information to the second device to request the second device to launch a second application.
[0012] According to another aspect of the present disclosure, a method for launching an application by a first device in a wireless communication system is provided. The method includes: receiving information for requesting to launch a first application from a second device; and launching the first application based on the information.
[0013] According to another aspect of the present disclosure, a first device in a wireless communication system is provided. The first device includes an application unit configured to: discover a second device using first information; and send information to the second device to request the second device to start a second application.
[0014] According to another aspect of the present disclosure, a first device in a wireless communication system is provided. The first device includes: a manager configured to receive information for requesting to start a first application from a second device; and an application unit configured to start the first application based on the information.
[0015] Other aspects, advantages, and salient features of the disclosure will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the annexed drawings, discloses various embodiments of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] The above and other aspects, features and advantageous effects of certain embodiments of the present disclosure will become more apparent from the following description made in conjunction with the accompanying drawings, in which:
[0017] Figure 1 shows a schematic structure of a wireless communication system according to a first embodiment of the present disclosure;
[0018] Figure 2 1 is a signal flow illustrating a process in which a first device discovers a second device and pairs with the second device according to the first embodiment of the present disclosure;
[0019] Figure 3 is a signal flow illustrating a process of launching an App of a second device by a first device according to the first embodiment of the present disclosure;
[0020] Figure 4 is a signal flow illustrating a process of launching an App of a first device by a second device according to the first embodiment of the present disclosure;
[0021] Figure 5 shows a schematic structure of a wireless communication system according to a second embodiment of the present disclosure;
[0022] Figure 6is a signal flow illustrating a discovery process between a first device and a second device according to a second embodiment of the present disclosure;
[0023] Figure 7 1 is a signal flow illustrating an inter-App startup process between a first device and a second device according to a second embodiment of the present disclosure;
[0024] Figure 8 An example of applying the method according to the second embodiment of the present disclosure is shown;
[0025] Figure 9 shows a schematic structure of a wireless communication system according to a third embodiment of the present disclosure;
[0026] Figure 10 is a signal flow illustrating a process of launching an App of a first device by a second device in a wireless communication system according to a third embodiment of the present disclosure;
[0027] Figure 11 is a signal flow illustrating a process in which a second device searches for a first device according to a third embodiment of the present disclosure;
[0028] Figure 12 is a signal flow illustrating a process of starting an App of a first device in a wireless communication system according to a third embodiment of the present disclosure;
[0029] Figure 13 is a flowchart illustrating a process of launching and terminating an App by a first device according to a third embodiment of the present disclosure;
[0030] Figure 14 is a flowchart illustrating operations related to App startup performed by the second device according to the third embodiment of the present disclosure; and
[0031] Figure 15 An example in which the method according to the third embodiment of the present disclosure is applied is shown.
[0032] Throughout the drawings, like reference numerals will be understood to refer to like parts, components and structures. DETAILED DESCRIPTION
[0033] The following description, with reference to the accompanying drawings, is provided to facilitate a comprehensive understanding of the various embodiments of the present disclosure as defined by the claims and their equivalents. The following description includes various specific details to facilitate understanding, but these specific details should be considered as illustrative only. Accordingly, those skilled in the art will appreciate that various changes and modifications may be made to the various embodiments described herein without departing from the scope and spirit of the present disclosure. In addition, descriptions of well-known functions and structures may be omitted for clarity and brevity.
[0034] The terms and expressions used in the following specification and claims are not limited to the literal meanings, but are merely used by the inventor to enable a clear and consistent understanding of the present disclosure. Accordingly, it should be understood by those skilled in the art that the following description of various embodiments of the present disclosure is provided for illustrative purposes only and is not intended to limit the present disclosure as defined by the appended claims and their equivalents.
[0035] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In the following description, in order not to obscure the subject matter of the present disclosure, only the parts necessary for understanding the operation according to the embodiments of the present disclosure will be described, and other parts will not be described. In addition, the terms described below are defined based on the functions in the embodiments of the present disclosure or may vary according to the intention or practice of the user or operator. Therefore, they should be defined based on the content of the entire specification of the present disclosure.
[0036] It should be understood that the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to "a component surface" includes reference to one or more of such surfaces.
[0037] Although terms such as "first" and "second" used in various embodiments of the present disclosure may modify various elements of the various embodiments, these terms do not limit the corresponding elements. For example, these terms do not limit the order and / or importance of the corresponding elements. These terms can be used to distinguish one element from another. For example, a first user device and a second user device both represent user devices or may represent different user devices. For example, without departing from the correct scope of various embodiments of the present disclosure, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element.
[0038] It should be understood that the terms "including" or "having" used in various embodiments of the present disclosure indicate the presence of the features, numbers, operations, elements, parts, or a combination thereof described in the specification, and do not preclude the presence or addition of one or more other features, numbers, operations, elements, parts, or a combination thereof.
[0039] The terms defined in this disclosure are used only to describe specific embodiments and may not be intended to limit the scope of other embodiments. All terms used herein, including technical and scientific terms, may have the same meaning as those generally understood by those of ordinary skill in the art. It is understood that, unless explicitly defined otherwise, commonly used terms defined in dictionaries have the same or similar meanings as those in the context of the relevant technology and should not be understood as idealized or overly formalized meanings.
[0040] According to various embodiments of the present disclosure, a device may have a communication function. For example, the electronic device may include at least one of the following devices: a smart phone, a tablet personal computer (PC), a mobile phone, a video phone, an electronic book (e-book) reader, a desktop PC, a laptop PC, a netbook computer, a personal digital assistant (PDA), a portable multimedia player (PMP), a Moving Picture Experts Group Stage 1 or Stage 2 (MPEG-1 or MPEG-2) Audio Layer 3 (MP3) player, a mobile medical device, a camera, and a wearable device (e.g., a head mounted device (HMD), electronic clothing, an electronic bracelet, an electronic necklace, an electronic accessory, an electronic tattoo, a smart watch, etc.).
[0041] According to various embodiments of the present disclosure, the device may be a smart home appliance with a communication function. The smart home appliance may include at least one of the following, for example: a television (TV), a digital video disc (DVD) player, an audio device, a refrigerator, an air conditioner, a vacuum cleaner, an oven, a microwave oven, a washing machine, an air purifier, a set-top box (STB), a TV box (e.g., Samsung Homesync), TM , Apple TV TM or Google TV TM ), game consoles, electronic dictionaries, camcorders and electronic photo frames.
[0042] According to another embodiment of the present disclosure, the electronic device may include: medical equipment (for example, magnetic resonance angiography (MRA) equipment, magnetic resonance imaging (MRI), computed tomography (CT) equipment, imaging equipment, or ultrasound equipment), navigation equipment, global positioning system (GPS) receiver, event data recorder (EDR), flight data recorder (FDR), vehicle entertainment equipment, electronic equipment for ships (for example, ship navigation systems, gyroscopes or ship compasses), avionics equipment, security equipment, industrial robots or household robots, etc.
[0043] According to various embodiments of the present disclosure, the device may include the following devices with communication functions: a part of furniture, a part of a building / structure, an electronic board, an electronic signature receiving device, a projector and various measuring instruments (for example, a water meter, an electricity meter, a gas meter, or an electric wave measuring device).
[0044] According to various embodiments of the present disclosure, the device may be a combination of the above-mentioned devices. It will be apparent to those skilled in the art that the electronic device according to various embodiments of the present disclosure is not limited to the devices listed above.
[0045] According to various embodiments of the present disclosure, the device may be, for example, an electronic device.
[0046] In an embodiment of the present disclosure, a method and apparatus for starting an application in a wireless communication system are provided. The wireless communication system may be a wireless communication system in a network environment (e.g., a home network environment, etc.) to which multiple devices are connected. In the wireless communication system, a first device and a second device cooperate or coordinate with each other so that the second device provides information related to an application of the first device to the first device, wherein the application of the first device is related to the application of the second device. More specifically, the second device discovers a first device with which it can cooperate based on network technology, and sends information related to the application of the first device to the first device to start the application of the first device, wherein the application of the first device is related to the application of the second device.
[0047] It may be helpful to set out definitions of certain words and phrases used throughout this patent document: the terms "include" and "comprise," and variations thereof, mean inclusion without limitation; the term "or" is inclusive, meaning and / or; the phrases "associated with" and "associated therewith," and variations thereof, may mean include, be included, "interconnected with," contain, be contained within, "connected to," or "connected with," "coupled to," or "coupled with," "communicable with," "cooperate with," interleave, juxtapose, be proximate to, "constrained to," or "constrained with," have, "having the property of," and the like; and the term "controller" means any device, system, or component thereof that controls at least one operation, such device being implemented in hardware, firmware, or software, or in some combination of at least two of hardware, firmware, and software. It should be noted that the functionality associated with any particular controller may be centralized or distributed, locally or remotely. Definitions for certain words and phrases are provided throughout this patent document, and those of ordinary skill in the art should understand that in many, if not most, cases, such definitions apply to prior art as well as future uses of such defined words and phrases.
[0048] In an embodiment of the present disclosure, in a network environment with multiple devices connected, a second device can launch an application of a first device or a first device can launch an application of a second device through a discovery operation and application information transmission / reception operation between devices based on network technology. For example, if the first device is a digital television (DTV) and the second device is a mobile terminal, the second device can launch an application related to the broadcast of the first device by using an application (such as an electronic program guide (EPG)) of the second device.
[0049] Furthermore, in an embodiment of the present disclosure, the use of multiple screens may be supported such that a first device may display main information (broadcast program or broadcast information) and a second device may display additional information (broadcast additional information).
[0050] In addition, in the embodiments of the present disclosure, the second device can perform control operations (volume setting and channel switching) on the first device by using the application (remote controller) of the second device. In the conventional hybrid broadcast environment of the related art, the relevant information of the broadcast-related application must be obtained in the first device through the broadcast network; however, in the embodiments of the present disclosure, the application information of the first device can be obtained in the second device.
[0051] In embodiments of the present disclosure, a specific protocol required for cooperation between a second device and a first device, as well as a system configuration method required for cooperation between multiple devices in the same network, are provided. In embodiments of the present disclosure, a common framework for application cooperation between multiple devices is provided, which can be used in a remote user interface (RUI) or in various broadcast standard environments.
[0052] Meanwhile, in an embodiment of the present disclosure, applications may include web applications generated using Hypertext Markup Language 5 (HTML5) and local applications that depend on a device operating system (OS). For convenience, an application is referred to as an "App".
[0053] The embodiments of the present disclosure will be described in detail. The embodiments of the present disclosure may provide the following methods:
[0054] - configuring the wireless communication system for cooperation between the second device and the first device;
[0055] - A method for a second device to discover a first device;
[0056] - A method for a first device to discover a second device;
[0057] -A method for launching a specific App on a first device from a second device;
[0058] - A method for the second device to select an app suitable for the capabilities of the first device; and
[0059] - A method for providing service endpoint information by a first device, wherein the service endpoint information is used to provide a service.
[0060] First embodiment
[0061] Figure 1 A schematic structure of a wireless communication system according to a first embodiment of the present disclosure is shown.
[0062] Reference Figure 1, the wireless communication system may include a network server 130 and a plurality of devices. The plurality of devices communicate in the same network and may be, for example, devices capable of wireless communication in a home network. Figure 1 7. In the present invention, a first device 100 and a second device 110 among a plurality of devices that can cooperate or coordinate with each other will be described.
[0063] The web server 130 provides the web apps 104 and 114 that can be used in the first device 100 and the second device 110. The web apps 104 and 114 may include HTML, Cascading Style Sheets (CSS), JavaScript, videos, images, etc. The web server 130 may exist in a local network or in an external network (cloud).
[0064] The first device 100 represents a main device in which the App is launched. For example, the first device 100 may be a public device such as a digital television (DTV) or a STB, and the App may be a broadcast-related App.
[0065] The second device 110 represents an auxiliary device that launches an App by cooperating with the first device 100. The second device 110 may be a personal terminal such as a mobile terminal or a tablet PC.
[0066] The first device 100 and the second device 110 may include web browsers 102 and 112, respectively. The web browsers 102 and 112 are used to launch web apps 104 and 114 made using HTML5 140 and 150 and related web technologies.
[0067] The second device 110 may include a local App 116. The local App 116 represents an App launched in the platform OS (eg, Android, iOS, Windows, Tizen, etc.) of the second device 110. The local App 116 may be compiled into binary code and launched.
[0068] The multi-screen (MS) manager 106 included in the first device 100 performs operations required for cooperation with the second device 110 via a uniform resource locator (URL) 170. That is, the MS manager 106 discovers the second device 110 in the network and sends App launch information to the MS launcher 118 of the second device 110. The MS manager 106 performs the functions of forwarding App information to the second device 110, requesting App launch from the second device 110, and allowing inter-App communication between the first device 100 and the second device 110.
[0069] The MS launcher 118 included in the second device 110 performs operations required for cooperation with the first device 100. That is, the MS launcher 118 communicates with the MS manager 106 and launches an App of the second device 110. The MS launcher 118 performs a function of discovering the first device 100 in the network, a function of requesting App launch from the first device 100, and a function of allowing inter-App communication between the second device 110 and the first device 100.
[0070] Those skilled in the art will appreciate that the web browser 102 and the MS manager 106 have a native binding 160 therebetween, and that the web browser 112 and the native App 116 are natively bound 160 to the MS launcher 118 .
[0071] Figure 2 FIG. 1 is a signal flow illustrating a process in which a first device discovers a second device and pairs with the second device according to the first embodiment of the present disclosure.
[0072] Reference Figure 2 In operation 214, the first device 100 sends a uniform resource locator (URL) request to the network server 130 through the network browser 102. In operation 216, the first device 100 receives a network page from the network server 130. The network browser 102 processes and displays the received network page as the main App 105.
[0073] In operation 218 , the main App 105 launched by the web browser 102 sends a request for a list of available second devices 110 (second device identifier (ID) list) to the MS manager 106 to discover the second device 110 by using a predetermined application programming interface (API) (e.g., getAvailableCSDevice()).
[0074] In operation 220, the MS manager 106 sends a signal to the MS launcher 118 of the second device 110 to discover the second device 110 existing in the network, and receives a response signal from the MS launcher 118 in operation 222. The protocol used to discover the second device 110 may be a protocol defined in the second embodiment described below, which will be described in detail when the second embodiment is described. Upon receiving the response signal, the MS manager 106 determines that the second device 110 is an available device and sends information related to the second device 110 to the master app 105 in operation 224.
[0075] Although Figure 2It is shown in FIG that only one second device 110 exists, but a plurality of second devices 110 may exist in the network, and in this case, a list of the second devices 110 is generated in the MS manager 106 and sent to the master App 105 .
[0076] In operation 226, the main app 105 displays the information related to the second device 110 to receive the user's selection as to whether to use the second device 110. For example, how to display the information related to the second device 110 on the screen, how to receive the selection from the user, and whether the first device 100 automatically selects the second device 110 will not be specifically defined. However, because the main app 105 is defined as a web app, the information related to the second device 110 can be processed using JavaScript and the information related to the second device 110 can be displayed on a web page to receive the selection from the user.
[0077] Once the second device 110 is selected, the main App 105 stores the ID of the second device 110 and URL information for launching the CS App 115, which is an App of the second device 110, in operation 228. The first device can later use the stored information to launch the CS App 115 of the second device 110.
[0078] Figure 3 FIG. 1 is a signal flow illustrating a process of launching an App of a second device by a first device according to the first embodiment of the present disclosure.
[0079] Reference Figure 3 Once the above Figure 2 Operations 214 to 228 complete the discovery and pairing of the second device 110 , and in operation 316 , the main App 105 sends information about the CS App 115 to be launched in the second device 110 to the MS manager 106 by using a specific API (eg, sendCSURI()).
[0080] In operation 318, the MS manager 106 forwards the information related to the CS App 115 to be launched to the MS launcher 118 of the second device 110. In operation 320, the MS launcher 118 sends uniform resource identifier (URI) information (including URL information and uniform resource name (URN) information) included in the information related to the CS App 115 to be launched to the web browser 112.
[0081] The web browser 112 determines whether the CS App 115 to be launched is a local App or a web App based on the URI information. If the CS App 115 to be launched is a local App, then in operation 322, the web browser 112 launches the local App.
[0082] If the CS App 115 to be launched is a web App, the web browser 112 requests web page transmission by sending a URL request including a URI to the web server 130 in operation 324. Upon receiving the web page from the web server 130, the web browser 112 displays the corresponding web page as the CS App 115.
[0083] In this case, since the CS App 115 is launched by the main App 105 of the first device 100 in operation 326 , the main App 105 and the CS App 115 may work in conjunction with each other.
[0084] Table 1 briefly shows the APIs available in the first device 100. Figure 2 Operation 218 and Figure 3 The API is executed in operation 316.
[0085] Table 1
[0086]
[0087]
[0088] Referring to Table 1, getAvailableCSDevice() has no input factors and is used to obtain a list of second devices available on the network. sendCSURI() has two input factors: unit target_device indicating the ID of the second device as the target for app launch; and URI information of the app to be launched on the second device, and sendCSURI() can be used to launch the app on the second device.
[0089] Figure 4 FIG. 1 is a signal flow illustrating a process of launching an App of a first device by a second device according to the first embodiment of the present disclosure.
[0090] Reference Figure 4If the CS App 115 is a local App, the CS App 115 is launched by the user in operation 414. If the CS App 115 is a web App, the web browser 102 sends a URL request to the web server 130 to request web page transmission in operation 416. Once the web page is received from the web server 130, the web browser 102 displays the received web page as the CS App 115 in operation 418.
[0091] In operation 420, the CS App 115 sends a request for a list of available first devices 100 to the MS Launcher 118 by using a specific API (eg, getAvailablePrimaryDevice()).
[0092] In operation 422, the MS launcher 118 sends a signal to the MS manager 106 of the first device 100 to discover the first device 100 existing in the network and receives a response signal from the MS manager 106 in operation 423. The protocol for discovering the first device 100 may be a protocol defined in the third embodiment described below. If the response signal is received, the MS launcher 118 determines that the first device 100 is an available device and sends information related to the first device 100 to the CSApp 115 in operation 424.
[0093] At the same time, although Figure 4 100 , but there may be a plurality of first devices 100 in the network, and in this case, a list of first devices 100 may be generated in the MS launcher 118 and sent to the CS App 115 .
[0094] The CS App 115 displays the information related to the first device 100 on the screen to receive the user's selection as to whether to use the first device 100. For example, how to display the information related to the first device 100 on the screen, how to receive the selection from the user, and whether the second device 110 automatically selects the first device 100 will not be specifically limited. However, since the information related to the first device 100 is forwarded to the CS App 115, the user's selection can be received through the CS App 115.
[0095] Once the first device 100 is selected, the CS App 115 sends information for launching the primary App to the MS launcher 118 by using a specific API (launchPrimaryAppURI()) in operation 426. That is, the CS App 115 forwards information related to the first device 100 and information related to the primary App 105 (e.g., URI information) to the MS launcher 118. Then, in operation 428, the MS launcher 118 sends information related to the primary App 105 to be launched in the first device 100 to the MS manager 106 of the first device 100 based on the forwarded information.
[0096] In operation 430, the MS manager 106 sends the URI information to the web browser 102. The web browser 102 then determines whether the main app 105 to be launched is a local app or a web app based on the URI information. If the main app 105 to be launched is a local app, then in operation 432, the web browser 102 launches the local app as the main app 105.
[0097] If the main app 105 to be launched is a web app, then in operation 434, the web browser 102 sends a URL request including a URI to the web server 130 to request web page transmission. In operation 436, if the web page is received from the web server 130, the web browser 102 displays the web page as the main app 105.
[0098] In this case, the main App 105 has been launched by the CS App 115 of the second device 110 , so the main App 105 and the CS App 115 work in conjunction with each other.
[0099] Table 2 briefly shows the second device 110. Figure 4 A table of APIs available in operations 420 and 426.
[0100] Table 2
[0101]
[0102]
[0103] Referring to Table 2, getAvailablePrimaryDevice() has no input factors and is used to obtain a list of first devices available on the network. sendPrimaryAppURI() has two input factors: unit target_device indicating the ID of the first device as the target for app launch; and URI information of the app to be launched on the first device, and sendPrimaryAppURI() can be used to launch the app on the first device.
[0104] Second embodiment
[0105] Figure 5 A schematic structure of a wireless communication system according to a second embodiment of the present disclosure is shown.
[0106] Reference Figure 5 , the wireless communication system may include a network server 530 and a plurality of devices. The plurality of devices communicate with each other in the same network and may be, for example, devices capable of wireless communication in a home network. Figure 5 , a first device 500 and a second device 520 among a plurality of devices that can cooperate or coordinate with each other will be described.
[0107] The first device 500 may include a web browser 504, a local App 502, a web App 506, and an MS manager 508 that cooperates with a second device 520. The second device 520 may include a web browser 522, a web App 524, a local App 526, and an MS launcher 528.
[0108] Figure 5 The web browsers 504 and 522, web apps 506 and 524, local apps 502 and 526, MS manager 508 and MS launcher 528 execute the Figure 1 The operations corresponding to the operations of the web browsers 102 and 112, the web apps 104 and 114, the local app 116, the MS manager 106 and the MS launcher 118 are described.
[0109] However, Figure 5 The MS manager 508 and the MS launcher 528 may include specific elements. That is, the MS manager 508 may include a Universal Plug and Play (UPnP) unit 512, a Hypertext Transfer Protocol (HTTP) server 514, and a Web Socket server 510, while the MS launcher 528 may include a UPnP unit 534 and an HTTP server 532.
[0110] UPnP unit 512 and UPnP unit 534 are respectively included in first device 500 and second device 520 and perform device discovery operations. More specifically, UPnP unit 512 and UPnP unit 534 discover another device in a network by using Simple Service Discovery Protocol (SSDP) and notify the network of the existence of the other device.
[0111] HTTP server 514 and HTTP server 532 are included in first device 500 and second device 520, respectively, receive requests through the HTTP protocol, and perform operations corresponding to the received requests. In the second embodiment of the present disclosure, HTTP server 514 and HTTP server 532 receive HTTP GET requests and HTTP POST requests from another device to launch an App, and perform operations corresponding to the requests. In the second embodiment of the present disclosure, HTTP server 514 and HTTP server 532 may not perform operations other than the above-mentioned operations of a general network server for distributing network pages.
[0112] The web socket server 510 is included in the first device 500 and performs operations for processing the web socket protocol. In the second embodiment of the present disclosure, the web socket server 510 receives a web socket request from the second device 520 and processes the received web socket request, thereby enabling inter-app communication between the first device 500 and the second device 520.
[0113] In the following, reference will be made to Figure 6 A discovery operation between the first device 500 and the second device 520 is described.
[0114] Figure 6 FIG. 2 is a signal flow illustrating a discovery process between a first device and a second device according to a second embodiment of the present disclosure. Figure 6 The described process may correspond to the specific operation of the specific protocol of getAvailableCSDevice() in Table 1 above.
[0115] Reference Figure 6 First, an example of the first device 500 discovering the second device 520 will be described. In operation 622, the UPnP unit 512 of the first device 500 transmits a signal for device discovery. For example, the UPnP unit 512 transmits a signal as shown in Table 3 using the M-SEARCH method of SSDP to discover the second device 520 available in the network.
[0116] Table 3
[0117]
[0118] Upon receiving the above signal, in operation 624, the UPnP unit 534 of the second device 520 transmits a response signal including URL information to notify the first device 500 of the presence of the second device 520. For example, the UPnP unit 534 may transmit a response signal as shown in Table 4, and the response signal may include URL information related to information related to the second device 520 in a LOCATION header.
[0119] Table 4
[0120]
[0121] Upon receiving the response signal, the UPnP unit 512 of the first device 500 transmits a request for information related to the second device 520 by using URL information included in the LOCATION header of the response signal in operation 626. The request may be transmitted based on an HTTP GET method.
[0122] In operation 628, the HTTP server 532 of the second device 520 transmits a response signal to the first device 500 in response to the request, wherein the response signal includes URL information for launching the App (i.e., CS App 527) of the second device 520. As shown in Table 5, for example, the response signal in the form of an HTTP Response may include a header (x-Application-URL), wherein the header includes URL information for launching the CS App 527.
[0123] Table 5
[0124]
[0125] Next, an example in which the second device 520 discovers the first device 500 will be described.
[0126] In operation 630, the UPnP unit 534 of the second device 520 transmits a signal for device discovery. For example, the UPnP unit 534 may discover the first device 500 available in the network by transmitting a signal as shown in Table 6 using the M-SEARCH method of SSDP.
[0127] Table 6
[0128]
[0129] Upon receiving the above signal, in operation 632, the UPnP unit 512 of the first device 500 transmits a response signal including URL information to the second device 520, thereby notifying the second device 520 of the presence of the first device 500. For example, the UPnP unit 512 may transmit a response signal as shown in Table 7, and the response signal may include URL information related to information related to the first device 500 in a LOCATION header.
[0130] Table 7
[0131]
[0132] Upon receiving the response signal, the HTTP server 532 of the second device 520 transmits a request for information related to the first device 500 by using URL information included in the LOCATION header of the response signal in operation 634. The request may be transmitted based on an HTTP GET method.
[0133] In operation 636, the UPnP unit 512 of the first device 500 transmits a response signal to the second device 520 in response to the request, wherein the response signal includes URL information for launching the App (i.e., the main App 507) of the first device 500. As shown in Table 8, for example, the response signal in the form of an HTTP Response may include a header (x-Application-URL), wherein the header includes URL information for launching the main App 507.
[0134] Because the first device 500 has a web socket server 510 that can perform inter-App communication with the App of the second device 520, in operation 638, the first device 510 sends a header (x-WebSocket) including URL information to the second device 520 via a response signal, where the URL information is used to access the web socket server 510.
[0135] Table 8
[0136]
[0137] Figure 7 FIG2 is a diagram showing a signal flow of an inter-App startup process between a first device and a second device according to a second embodiment of the present disclosure. Figure 7 The described process may correspond to the specific operation of the specific protocol of sendCSURI() in Table 1 above.
[0138] Reference Figure 7First, the process of launching an App on the second device 520 by the first device 500 will be described. In operation 722, the MS manager 508 of the first device 500 receives two factors from the browser 506 of the first device 500 via sendCSURI(). Among them, the unit target_device, which is one of the two factors, represents the ID of the second device 520 as the App launch target, and the MS manager 508 obtains the URL information (x-Application-URL) for launching the App on the second device 520 based on the second device information table. The MS manager 508 can store and manage the second device information table, and the second device information table is shown in Table 9.
[0139] Table 9
[0140] Second device ID Device Description x-Application-URL 112ABCD Tom's Galaxy S4 http: / / 192.168.1.52:80 / ws / apps / 114DCDC Sally's Galaxy Notes 3 http: / / 192.168.1.53:80 / ws / apps / 21122A Galaxy Notes 10.1 http: / / 192.168.1.54:80 / ws / apps /
[0141] As shown in Table 9, the second device information table may include the second device ID, device description information indicating the device model, second device App URL information, etc.
[0142] In operation 724, the MS manager 508 of the first device 500 sends an HTTP POST request as shown in Table 10 to the HTTP server 532 of the second device 520 based on the obtained URL information.
[0143] Table 10
[0144]
[0145] The app to be launched on the second device 520 can be represented by URI information in CSAppPath, where the URI information is another factor of sendCSURI(), namely char*URI. The factors required to launch the app on the second device 520 can be sent via the BODY portion of HTTP in the format shown in Table 10.
[0146] In operation 726, the HTTP server 532 of the second device 520 parses the received HTTP POST request and forwards the CSAppPath information together with the factors in the BODY part to the MS launcher 528. Then, in operation 728, the MS launcher 528 launches the CS App 527 based on the URI information included in the CSAppPath, where the CS App 527 is the App of the second device 520.
[0147] Upon receiving the launch result (e.g., CS App 527 successfully launched) in operation 730, the MS launcher 528 transmits the launch result of the CS App 527 to the HTTP server 532 of the second device 520 in operation 732. In operation 734, the HTTP server 532 then transmits one of the response codes shown in Table 11 (e.g., 201 CREATED) to the MS manager 508 of the first device 500.
[0148] Table 11
[0149]
[0150] In Table 11, the response code 201 CREATED indicates that the CS App 527 has been successfully launched, the response code 404 NOTFOUND indicates that the CS App 527 does not exist, and the response code 503 SERVICE UNAVAILABLE indicates that the CS App 527 may be temporarily unavailable because the second device 520 has launched another App.
[0151] Next, a process of the second device 520 launching the App of the first device 500 will be described.
[0152] In operation 736, the MS launcher 528 of the second device 520 receives two factors from the browser 522 of the second device 520 via sendPrimaryAppURI(). Unit target_device, one of the two factors, represents the ID of the first device 500 as the App launch target, and the MS launcher 528 obtains URL information (x-Application-URL) for launching the App of the first device 500 based on the first device information table. The MS launcher 528 stores and manages the first device information table, and the first device information table is shown in Table 12.
[0153] Table 12
[0154]
[0155] As shown in Table 12, the first device information table may include the first device ID, device description information indicating the device model, first device App URL information, network socket information, etc.
[0156] In operation 738, the MS launcher 528 of the second device 520 sends an HTTP POST request as shown in Table 13 to the HTTP server 514 of the first device 500 based on the obtained URL information.
[0157] Table 13
[0158]
[0159] The app to be launched on the first device 500 can be represented by URI information in PrimaryPath, where the URI information is another factor of sendPrimaryAppURI(), namely char*URI. The factors required to launch the app on the first device 500 can be sent via the BODY portion of HTTP in the format shown in Table 13.
[0160] In operation 740, the HTTP server 514 of the first device 500 parses the received HTTP POST request and forwards the PrimaryAppPath information and the factors of the BODY part to the MS manager 508. Then, in operation 742, the MS manager 508 launches the main App 506 based on the URI information included in the PrimaryAppPath, where the main App 506 is the App of the first device 500.
[0161] Upon receiving the launch result of the main App 506 (e.g., the main App 506 was successfully launched) in operation 744, the MS manager 508 transmits the launch result of the main App 506 to the HTTP server 514 of the first device 500 in operation 746. In operation 748, the HTTP server 514 then transmits one of the response codes shown in Table 14 (e.g., 201 CREATED) to the MS launcher 528 of the second device 520.
[0162] Table 14
[0163]
[0164] In Table 14, response code 201 CREATED indicates that the main App 506 has been successfully launched, response code 404 NOTFOUND indicates that the main App 506 does not exist, and response code 503 SERVICE UNAVAILABLE indicates that the main App 506 may be temporarily unable to be launched because the first device 500 performs another operation (e.g., a TV channel scan operation, etc.).
[0165] Figure 8 An example in which the method according to the second embodiment of the present disclosure is applied is shown.
[0166] Reference Figure 8 , the network server 530 is a network server of a broadcasting company, the first device 500 is a DTV, and the second device 520 is a mobile terminal.
[0167] The user may watch a movie 800 streamed from the network server 530. While watching the movie 800, the user may desire to receive additional information 810 related to the movie 800 through the second device 520.
[0168] In this case, the first device 500 launches the app of the second device 520 based on the URL information 820 of the app of the second device 520 to provide additional information 810. Once the app of the second device 520 is launched, the second device 520 receives the additional information 810 from the network server 530 and provides the additional information 810 to the user. The additional information 810 may include, for example, cast information, a synopsis, online shopping, and the like of the movie 800.
[0169] Third embodiment
[0170] Figure 9 A schematic structure of a wireless communication system according to a third embodiment of the present disclosure is shown.
[0171] Reference Figure 9 , the wireless communication system may include a network server 900 and a plurality of devices. The plurality of devices may communicate with each other in the same network and may be, for example, devices capable of wireless communication in a home network. Figure 9 , a first device 910 and a second device 920 that can cooperate or coordinate with each other among multiple devices will be described.
[0172] The network server 900 provides a web app 914 and a web app 924 that are available in the first device 910 and the second device 920, respectively. The web app 914 and the web app 924 may include HTML, CSS, JavaScript, videos, images, etc. The network server 900 may exist in a local network or in an external network (cloud). The network server 900 may provide app information for launching the app of the first device 910, that is, app information generated based on extensible markup language (XML) (hereinafter referred to as "XML AIT"). The network server for providing the XML AIT and the network server for providing the web app may be the same device or different devices.
[0173] The first device 910 represents a main device in which an application is launched. For example, the first device 910 may be a public device such as a DTV or a STB, and the App may be an App related to broadcasting.
[0174] The second device 920 represents an auxiliary device that launches an App by cooperating with the first device 910. The second device 920 may be a personal terminal such as a mobile terminal or a tablet PC.
[0175] The first device 910 and the second device 920 may include web browsers 912 and 922, respectively. The web browsers 912 and 922 are used to launch a web app 914 and a web app 924, respectively.
[0176] The second device 920 may include a local App 926. The local App 926 represents an App launched in a platform (OS) (eg, Android, iOS, Windows, Tizen, etc.) of the second device 920. The local App 926 may be compiled into a binary code and launched.
[0177] In a third embodiment of the present disclosure, the first device 910 may include a companion screen (CS) manager 916 and an application information table (AIT) manager 918. The CS manager 916 performs operations necessary for cooperation or mutual coordination with the second device 920. For example, the CS manager 916 may perform the following operations: searching for or discovering the second device 920 on the network; receiving app information related to an app to be launched on the first device 910 from the second device 920; and performing inter-app communication between the first device 910 and the second device 920.
[0178] The AIT manager 918 is included in the first device 910 and receives and parses the XML AIT. The XML AIT is information transmitted from the second device 920 and is received by the CS manager 916 and forwarded to the AIT manager 918. The AIT manager 918 parses the XML AIT to extract App information and launches an App based on the extracted App information.
[0179] The second device 920 may further include a CS launcher 928. The CS launcher 928 performs operations necessary for cooperation with the first device 910. For example, the CS launcher 928 performs the following operations: searching for or discovering the first device 910 on the network; sending a request to launch an app to the first device 910 at the app's request; forwarding app-related information; and performing inter-app communication between the first device 910 and the second device 920.
[0180] It will be described in Figure 9 A method for launching an App of a first device 910 by a second device 920 in a wireless communication system is shown.
[0181] Figure 10 FIG. 1 is a signal flow illustrating a process of starting an App of a first device by a second device in a wireless communication system according to a third embodiment of the present disclosure.
[0182] Reference Figure 10In operation 1000, the second device 920 launches a CS App 930. The CS App 930 may be an App of the second device 920 for launching an App of the first device 910. The CS App 930 may be one of a web App 924 and a local App 926, and if the CS App 930 is the web App 924, the CS App 930 is launched in operations 1002 and 1004.
[0183] That is, if the CS App 930 is a web App 924, the second device 920 sends a request to the web server 900 to provide the CS App 930 in operation 1002, and receives a web page (including HTML, CSS, JavaScript, images, etc.) related to the CS App 930 from the web server 900 in operation 1004. The second device 920 launches the received web page as the CS App 930. Operations 1002 and 1004 may be performed using the web browser 922, and may be omitted if the CS App 930 is a native App 926.
[0184] Once the CS App 930 is launched, the CS App 930 sends a device search request for searching for another device available in the network to the CS Launcher 928 in operation 1006. The CS Launcher 928 then performs a device search in operation 1008 and sends information about the discovered device to the CS App 930 in operation 1010.
[0185] The device search request and the device search operation may be sent based on a preset API of the CS App 930. That is, if the API is launched by the CS App 930, the actual device search operation is performed by the CS Launcher 928. The API may be, for example, discoverHbbTVdevices() and may vary depending on the embodiment.
[0186] If multiple devices are found, information related to the multiple devices is sent to the CS App 930. In operation 1012, one of the multiple devices, namely 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 the first device 910 may be selected by providing a user interface (UI) that allows the CS App 930 to select one of the multiple devices and allows the user to receive input through the UI.
[0187] Even if only one device is found, information about the found device may be provided to the user through the UI and input from the user may be received regarding whether to connect to the found device. The manner in which information is displayed through the UI and the manner in which user input is processed may differ according to the embodiment.
[0188] If the first device 910 is selected, the CS App 930 instructs the CS Launcher 928 to launch the App in the first device 910 in operation 1014. To achieve this, the CS App 930 may call a preset API. The API may be, for example, launchHbbTVApp() and may vary depending on the embodiment.
[0189] The App launch of the first device 910 is performed in response to an HTTP request and includes two processes: a process of retrieving information related to the first device 910 and a process of launching the App based on the information. Figure 12 Describe in detail the specific protocols used in these procedures.
[0190] In operation 1016, the CS launcher 928 sends an App launch request to the CS manager 916 of the first device 910. The App launch request is based on the HTTP POST method, and the BODY portion of the HTTP request includes XML (i.e., XML AIT), where the XML includes App information related to the App of the first device 910. Therefore, the CS manager 916 may have a network server function capable of processing App launch requests.
[0191] CS manager 916 processes the app launch request and sends the XML AIT to AIT manager 918 in operation 1018. In operation 1020, AIT manager 918 launches the app on first device 910 (i.e., main app 940) based on the XML AIT. The app on first device 910 can be used in conjunction with CS app 930 on second device 920. Here, if main app 940 is a local app, the entire process terminates. If main app 940 is a web app, operations 1022 and 1024 are performed.
[0192] In operation 1022, the first device 910 sends a request for the web app to the web server 900 based on the URL information, and in operation 1024, receives a web page (including HTML, CSS, JavaScript, and images) related to the main app 940 from the web server 900. The first device 910 launches the main app 940 based on the received web page. Operations 1022 and 1024 may be performed by the web browser 912.
[0193] Table 15 briefly shows the Figure 10 The API used in
[0194] Table 15
[0195]
[0196] Referring to Table 15, discoverHbbTVdevices() has no input factors and is used to obtain a list of first devices available in the network. launchHbbTVApp() has two input factors: unit target_device indicating the ID of the first device as the App launch target; and App information related to the App to be launched on the first device (the App information has an XML format), and launchHbbTVApp() can be used to launch the App of the first device.
[0197] Next, we will refer to Figure 11 Detailed description Figure 10 Operation 1008.
[0198] Figure 11 FIG. 1 is a signal flow illustrating a process in which a second device searches for a first device according to a third embodiment of the present disclosure.
[0199] Reference Figure 11 Upon receiving a device search request from the CS App 930 in operation 1100, the CS launcher 928 of the second device 920 searches for the first device 910 in operation 1102. For example, the CS launcher 928 may search for the first device 910 that needs to cooperate with the CS App 930 by using the M-SEARCH method (M-SEARCH request and response) of SSDP. The CS launcher 928 may specify the device by including information related to the device to be searched in the ST header as shown in Table 16.
[0200] Table 16
[0201]
[0202] Upon receiving the signal shown in Table 16, the CS manager 916 of the first device 910 transmits a response signal to the received signal to the second device 920 in operation 1104. The response signal includes URL information of an XML file as shown in Table 17, wherein the XML file includes UPnP device information and the URL information may be included in a LOCATION header.
[0203] Table 17
[0204]
[0205] Upon receiving the response signal, the CS launcher 928 transmits a request for information related to the first device 910 based on the URL information included in the response signal in operation 1106. That is, the CS launcher 928 transmits a request for UPnP device information related to the first device 910 based on the URL information included in the LOCATION header as shown in Table 18 by using the HTTP GET method.
[0206] Table 18
[0207] GET LOCATION-URL
[0208] In response to the request, in operation 1108, the CS manager 916 then transmits information related to the first device 910 and URL information of an app on the first device 910 (i.e., URL information of the main app 940) to the second device 920, wherein the app on the first device 910 can cooperate with the CS app 930. Specifically, the CS manager 916 transmits the URL information capable of launching the main app 940, along with an XML file including UPnP device information, to the second device 920 via the "Application-URL" header as shown in Table 19.
[0209] Table 19
[0210]
[0211] In Table 19, the "Application-URL" header is arbitrarily set to include URL information capable of launching the main App 940 in the embodiment of the present disclosure, and different names may be used according to the embodiment.
[0212] Once the CS launcher 928 obtains the first device 910 related information through the above process, the CS launcher 928 forwards the obtained information to the CS App 930 in operation 1110 and terminates the device search operation.
[0213] Will refer to Figure 12 Description as in Figure 10 The method for launching the App of the first device 910 is described in operation 1016 of the present invention.
[0214] Figure 12 FIG. 1 is a signal flow illustrating a process of starting an App of a first device in a wireless communication system according to a third embodiment of the present disclosure.
[0215] Reference Figure 12In operation 1200, the CS launcher 928 of the second device 920 sends a request for information related to the first device 910 (eg, App information). The request may be sent using an HTTP GET method, and may be as shown in Table 20.
[0216] Table 20
[0217] GET<App Launch URL> / AppName
[0218] In Table 20, <App Launch URL> indicates Figure 11 The URL information of the Application-URL header forwarded from the first device 910 in operation 1108 is represented by AppName, which represents the name of the App of the first device 910. In the third embodiment of the present disclosure, the name of the App is used to define a method for providing a specific service in the third embodiment of the present disclosure. Although the specific service is limited to HbbTV in the third embodiment of the present disclosure, the service may vary depending on the embodiment.
[0219] In response to the request, in operation 1202, the CS manager 916 of the first device 910 sends App information as information related to the first device 910. The App information may include an XML file containing service endpoint information (additional service information) and user agent (UA) information. The second device 920 can use the UA information to determine the capabilities of the first device 910.
[0220] App information can be expressed as shown in Table 21.
[0221] Table 21
[0222]
[0223] Refer to Table 21,<x_HbbTV_terminal_UAString> Indicates UA string information,<x_HbbTV_App2AppURL> Represents information used for inter-app communication, and<x_HbbTV_InterDevSyncURL> Indicates information for providing inter-device synchronization services. If there is information required for each service in addition to the information shown in Table 21, the information can be added to the App information.
[0224] The CS launcher 928 receives the App information and sends an App launch request to the CS manager 916 based on the received information in operation 1204. This operation may be performed based on an HTTP POST method and the APP launch request may be, for example, as shown in Table 22.
[0225] Table 22
[0226]
[0227] Refer to Table 22,<App Launch URL> / AppName and Table 20<App Launch URL> / AppName is the same, and information related to the App to be actually launched can be forwarded in XML form (XML AIT) through the BODY part. The forwarded XML AIT may include the information shown in Table 23.
[0228] Table 23
[0229]
[0230] The CS manager 916 launches the App of the first device 910 based on the XML AIT. In operation 1206, the CS manager 916 transmits the launch result to the second device 920 by using the HTTP response code as shown in Table 24.
[0231] Table 24
[0232] HTTP / 1.1 201 CREATED
[0233] In Table 24, "201 CREATED" represents an HTTP response code, which may be, for example, as shown in Table 25.
[0234] Table 25
[0235]
[0236] 25 , “201 CREATED” indicates that the App of the first device 910 has been successfully launched (for example, the HbbTV App in Table 25 has been successfully launched), “401 Unauthorized” indicates that the launch of the App of the first device 910 has been rejected by the user, “403 Forbidden” indicates that the launch of the App of the first device 910 has been rejected by the first device 910, “404 NOT FOUND” indicates that the App of the first device 910 does not exist, and “503 SERVICE UNAVAILABLE” indicates that the App of the first device 910 may be temporarily unable to be launched due to specific operations of the first device 910.
[0237] Next, the process of terminating an app on the first device 910 by the second device 920 will be described. An app termination request for terminating an app can be sent using the HTTP DELETE method. However, the DELETE method does not include a body message, thus requiring a method for identifying the app to be terminated. Therefore, the app to be terminated is identified based on the orgID and appID included in the XML AIT, as shown in Table 26. Table 26 shows an example of an app termination request.
[0238] Table 26
[0239] DELETE / apps / hbbtv? orgld=12348appID=7890
[0240] Reference Figure 13 , the operation of starting and terminating the App of the first device 910 will be described.
[0241] Figure 13 FIG. 4 is a flowchart illustrating a process of launching and terminating an App by a first device according to a third embodiment of the present disclosure.
[0242] Reference Figure 13 In operation 1300, the first device 910 receives an HTTP request from the second device 920. In operation 1302, the first device 910 analyzes the URL information included in the HTTP request to identify an App. If the identified App is a specific App predefined in the system, the first device 910 performs subsequent operations.
[0243] In operation 1304, the first device 910 identifies the HTTP request method. If the identified method is the GET method, the first device 910 determines that the second device 920 is sending a request for the first device 910's app information, and in operation 1306, generates an XML file including service endpoint information and UA information. In operation 1308, the first device 910 transmits the generated XML file to the second device 920 via the BODY portion. This transmission can be considered the same operation as the processing result response in operation 1316.
[0244] If the identified method is the POST method, the first device 910 determines that the second device 920 instructs to launch the App of the first device 910 and proceeds to operation 1310. In operation 1310, the first device 910 receives the XML AIT included in the BODY part of the HTTP request. In operation 1312, the first device 910 then determines whether the App can be launched based on the orgID and appID. In this case, the first device 910 may determine whether the App can be launched based on a whitelist representing a list of Apps that can be launched and a blacklist representing a list of Apps that cannot be launched, wherein the whitelist or blacklist is pre-stored in the first device 910, or the first device 910 may determine whether the App can be launched based on user input. If the App can be launched, the first device 910 launches the App in operation 1314 and sends the processing result to the second device 920 in operation 1316. Herein, the first device 910 needs to manage the appID and orgID corresponding to the App being launched.
[0245] If the identified method is the DELETE method, the first device 910 determines that the second device 920 instructs to terminate the app and determines the orgID and appID included in the HTTP request in operation 1318. In operation 1320, the first device 910 determines whether the app corresponding to the determined orgID and appID has been launched. If the app corresponding to the determined orgID and appID has been launched, the first device 910 proceeds to operation 1322 to determine whether the first device 910 is authorized to terminate the launched app. If the first device 910 is authorized to terminate the app, the first device 910 terminates the launched app in operation 1324 and transmits the result to the second device 920 in operation 1316.
[0246] Next, we will refer to Figure 14 Describe all operations related to launching an App on the second device 920.
[0247] Figure 14 FIG. 1 is a flowchart illustrating an operation related to App startup performed by a second device according to a third embodiment of the present disclosure.
[0248] Reference Figure 14 In operation 1400, the second device 920 receives the HTML page and launches an App (hereinafter, referred to as a "second App") of the second device 920. If the second App is a local App, the second App can be launched without receiving the HTML page.
[0249] In operation 1402, the second device 920 receives an XML AIT from the network server 900, where the XML AIT includes information necessary to launch an app (hereinafter referred to as "first app") of the first device 910. In operation 1404, the second device 920 searches for an available device (e.g., the first device 910) through the launched second app.
[0250] If the first device 910 is not found in operation 1406, the second device 920 terminates the launch of the second App in operation 1418. If the first device 910 is found, the second device 920 sends a request for information related to the first device 910 by using the HTTP GET method in operation 1408. In response to the request, the second device 920 receives service endpoint information for inter-App communication and UA information including information related to the capabilities of the first device 910 from the first device 910. The UA information may include hardware characteristics of the first device 910 (screen size, central processing unit (CPU) speed, PVR support, etc.), features supported by the first device 910 (multi-screen function, digital rights management (DRM) support, etc.), etc.
[0251] In operation 1410, the second device 920 determines whether the first app in the first device 910 can be launched based on the UA information. For example, if the first device 910 has a small screen that supports high-definition (HD) resolution but the first app requires at least full high-definition (FHD) resolution, the second device 920 may determine that the first app in the first device 910 cannot be launched. Therefore, in this case, the second device 920 proceeds to operation 1418 without sending a request to the first device 910 to launch the first app.
[0252] Meanwhile, if it is determined that the first App in the first device 910 can be launched, the second device 920 proceeds to operation 1412 to send a request to launch the first App in the first device 910 in operation 1412. In order to send the request to launch the first App, an HTTP POST method may be used.
[0253] In operation 1414, the second device 920 establishes a communication channel between the first device 910 and the second device 920 based on the service endpoint information to enable inter-app communication. If the first app needs to be terminated, the second device 920 sends a request to terminate the launch of the first app to the first device 910 using the HTTP DELETE method in operation 1416, and terminates the launch of the second app in operation 1418.
[0254] Figure 15 An example in which the method according to the third embodiment of the present disclosure is applied is shown.
[0255] Reference Figure 15 , for example, the network server 900 is a network server of a broadcasting company, the first device 910 is a DTV, and the second device 920 is a mobile terminal.
[0256] The user receives an electronic program guide (EPG) from the network server 900 by using the second device 920. The user selects a desired broadcast program based on the EPG and wishes to watch the selected broadcast program through the first device 910.
[0257] As described above, once the user selects a desired broadcast program, the second device 920 searches for the first device 910 available in the home network. If the first device 910 is found, the second device 920 transmits the XML AIT information received from the network server 900 to the first device 910. The first device 910 then launches the corresponding app based on the XML AIT information and displays the broadcast program selected in the second device 920 to the user.
[0258] Meanwhile, the embodiments proposed in the present disclosure have been described through three embodiments, but the three embodiments may be variously modified and used, for example, by combining at least two of the three embodiments.
[0259] Certain aspects of the present disclosure may also be implemented as computer-readable code in a computer-readable recording medium. A computer-readable recording medium may be any type of data storage device that can store data that can be read by a computer system. Examples of recording media that can be read by a computer may include read-only memory (ROM), random access memory (RAM), compact disc read-only memory (CD-ROM), magnetic tape, floppy disk, optical data storage device, carrier wave (such as data transmission over the Internet). The computer-readable recording medium may be distributed on a network-connected computer system, thereby storing and executing the computer-readable code in a decentralized form. In addition, a programmer in the field of the present disclosure can easily interpret the functional programs, codes, and code segments used to implement the present disclosure.
[0260] The apparatus and method according to the embodiments of the present disclosure may be implemented by hardware, software, or a combination of hardware and software. Such software may be stored in a non-volatile memory such as a ROM or a volatile memory, a memory such as a RAM, a memory chip, a device, or an integrated circuit, whether in an erasable or re-recordable manner; and in an optical recordable storage medium, a magnetic recordable storage medium, and a machine (e.g., a computer) recordable storage medium, such as a CD, a digital versatile disc (DVD), a disk, or a tape. It can be seen that the method according to the present disclosure may be implemented by a computer or a portable terminal comprising a controller and a memory, and the memory is an example of a machine-readable storage medium suitable for storing one or more programs comprising instructions for implementing the embodiments of the present disclosure.
[0261] Therefore, the present disclosure includes the following program and a machine (computer) readable storage medium for storing such a program, wherein the program includes code for implementing the apparatus or method claimed in any claim. The program can be electronically transmitted through any medium, such as a communication signal forwarded through a wired or wireless connection, and the present disclosure appropriately includes equivalents of such media.
[0262] The device according to the embodiment of the present disclosure can receive and store a program from a program supply device via a wired or wireless method. The program supply device may include: a memory for storing a program, wherein the program includes instructions for instructing the device to execute a preset content protection method and information necessary for the content protection method; a communication unit for performing wired or wireless communication with the graphics processing device; and a controller for transmitting the corresponding program to the transceiver in response to a request from the graphics processing device or automatically.
[0263] While the disclosure has been shown and described with reference to various embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the disclosure as defined by the appended claims and their equivalents.
Claims
1. A method for communicating, by a second device, with a first application started at a first device in a wireless communication system, the method comprising: receiving, from the first application, a first request for discovering the second device; In response to the first request, sending a first response including first uniform resource locator (URL) information to the first application; receiving, from the first application, a second request for information related to the second device; In response to the second request, sending information related to the second device and second URL information related to a second application of the second device to the first application; receiving, from the first application, a third request for information related to the second application based on the second URL information; sending, in response to the third request, information related to the second application to the first application, wherein the first device obtains data for a multi-screen service from the information related to the second application, the data including third URL information for accessing a web socket server included in the second device, fourth URL information, and user agent information including capability information of the second device, wherein the user agent information is used by the first device to determine whether the second device provides at least one capability required to launch the second application at the second device; and receiving, based on a determination that the second device provides the at least one capability required to launch the second application at the second device, a fourth request from the first application to launch the second application, The third URL information is used for communication between the first application and the second application, the fourth URL information is used for synchronization between the first device and the second device, and The capability information includes at least one of the following: information about the personal video recorder PVR supported by the second device, information about the digital rights management DRM supported by the second device, and information about the multi-screen function supported by the second device, wherein the multi-screen function is used to provide the multi-screen service based on the first device and the second device.
2. The method according to claim 1, wherein The fourth request includes identifier information of the second application, location information of the second application, type information of the second application, and transmission information of the second application.
3. The method of claim 1, wherein the fourth request is sent from the first application using the third URL information and the fourth URL information based on determining that the second device provides the at least one capability required to launch the second application at the second device.
4. A second device in a wireless communication system, comprising: transceiver; as well as Controller, configured as: Controlling the transceiver: receiving, from a first application launched at a first device, a first request for discovering the second device; In response to the first request, sending a first response including first uniform resource locator (URL) information to the first application; receiving, from the first application, a second request for information related to the second device; In response to the second request, sending information related to the second device and second URL information related to a second application of the second device to the first application; receiving, from the first application, a third request for information related to the second application based on the second URL information; sending, in response to the third request, information related to the second application to the first application, wherein the first device obtains data for a multi-screen service from the information related to the second application, the data including third URL information for accessing a web socket server included in the second device, fourth URL information, and user agent information including capability information of the second device, wherein the user agent information is used by the first device to determine whether the second device provides at least one capability required to launch the second application at the second device; and receiving, based on a determination that the second device provides the at least one capability required to launch the second application at the second device, a fourth request from the first application to launch the second application, The third URL information is used for communication between the first application and the second application, the fourth URL information is used for synchronization between the first device and the second device, and The capability information includes at least one of the following: information about the personal video recorder PVR supported by the second device, information about the digital rights management DRM supported by the second device, and information about the multi-screen function supported by the second device, wherein the multi-screen function is used to provide the multi-screen service based on the first device and the second device.
5. The second device according to claim 4, wherein The fourth request includes identifier information of the second application, location information of the second application, type information of the second application, and transmission information of the second application.
6. The second device of claim 4, wherein the fourth request is sent from the first application using the third URL information and the fourth URL information based on determining that the second device provides the at least one capability required to launch the second application at the second device.
Citation Information
Patent Citations
Anti noise socks
KR1020130112842A
Device for removing feces of pet
KR1020140063216A
Device Cooperation Service System and Electronic Devices Included in the System
US20070250458A1
Accessing and interacting with web content and services using an external device to control a communication device
WO2012149030A2