Interactive application server on second screen device
By running an interactive application server on a mobile device and communicating with a TV display using the DIAL protocol, the limitations of cross-platform development of interactive games for TV displays are overcome, enabling game sessions involving multiple devices and improving the flexibility of game development and user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- OPEN TV INC
- Filing Date
- 2016-12-15
- Publication Date
- 2026-07-10
AI Technical Summary
In the existing technology, television displays are limited by the console set-top box when used for interactive games, making it difficult for game developers to develop across platforms, and TV network operators lack the motivation to solve the problems of game development companies.
By running an interactive application server on a first mobile device, the state of multi-device interactive applications is managed, and the interactive applications are rendered and controlled on a television display by communicating with the main video rendering device via the DIAL protocol.
It enables cross-platform interactive game control, allowing multiple mobile devices to participate in game sessions, avoiding the need for specific application installation on the main video rendering device, and improving the flexibility of game development and user experience.
Smart Images

Figure CN116744068B_ABST
Abstract
Description
[0001] This application is a divisional application of invention patent application No. 201680075296.0, entitled "Interactive Application Server on Second Screen Device", filed on December 15, 2016. Technical Field
[0002] This disclosure relates to television systems, and more specifically to a first mobile device that can operate without an intermediate set-top box to execute an interactive application server to control the operation of multiple interactive application clients residing on a corresponding second mobile device. Background Technology
[0003] A television screen in your home can be used for a variety of purposes, including but not limited to watching traditional television programs. The television monitor can also be used as a standalone display for example, to show information retrieved from the internet, view still images or videos, or play interactive games. The television monitor can be connected to devices running various applications (such as Facebook) when used as a display for receiving and transmitting data over the internet. TM Twitter TM A computing device with capabilities such as (etc.).
[0004] A television display can serve as a shared information panel (or game board) when playing interactive games, with individual family members each using a separate mobile device to participate in the interactive game (e.g., simultaneously keeping some information hidden from other players on their own separate screen). Each individual mobile device may include a display representing the respective participant. Examples of interactive games may include, for example, card games, board games, quiz games, sports games, etc. The individual mobile devices can be portable devices or remote control devices to interact with the game. An example of such an interactive game console configuration is the Wii video game console, in which the remote control device includes various sensors (e.g., accelerometers) to generate the entertainment experience.
[0005] Unfortunately, the use of interactive games on mobile devices controlled by console set-top boxes has limited applicability because these consoles may be specific to the companies that manufacture them for deploying interactive games. This creates a barrier to entry for game developers—focusing on such specific mobile devices (e.g., Android-based, Windows-based, iOS-based, etc.) is easy and cost-effective. Alternatively, TV network operators may develop second-screen interactive game software and hardware, but they are unlikely to focus on (and have no financial incentive to) addressing these issues that are more prevalent in the game development company space. Attached Figure Description
[0006] Figure 1 This is a block diagram illustrating an example network, which includes application modules associated with devices in the network and example communication paths and protocols in which this disclosure may operate.
[0007] Figure 2 The diagram illustrates an exemplary method that allows a first mobile device to execute code that may include an interactive application server, which interacts independently with an interactive application client residing on the first mobile device to run on a main video display rendered by a main video rendering device for display on the main video display.
[0008] Figure 3 The diagram illustrates an exemplary method that allows a first mobile device to execute code that may include an interactive application server, which interacts with an interactive application client residing on the first mobile device and an interactive application client residing on a second mobile device to run on a main video display rendered by a main video rendering device for display on the main video display.
[0009] Figure 4 A schematic diagram of a machine in the exemplary form of a computer system is shown, within which a set of instructions can be executed to cause the machine to perform any or more methods discussed herein. Detailed Implementation
[0010] Numerous details are set forth in the following description. However, it will be apparent to those skilled in the art that this disclosure can be practiced without these specific details. In some instances, well-known structures and apparatuses are shown in block diagram form rather than in detail to avoid obscuring the disclosure.
[0011] Figure 1 This is a block diagram illustrating an example network 100, which includes application modules associated with devices in network 100 and example communication paths and protocols in which this disclosure may operate. See also Figure 1Network 100 may include a first mobile device 102 equipped with a processing device (not shown) configured to execute code that may include a server version of an interactive application (hereinafter referred to as "Interactive Application Server 118") and a first client version of the interactive application (hereinafter referred to as "Interactive Application Client 120"). In the example, the first mobile device 102 may be a smartphone running one of the Android, iOS, or Windows operating systems or a game console with a screen interface. The terms "computer," "computer platform," processing device, host, and server are intended to include any data processing device, such as a desktop computer, laptop computer, tablet computer, mainframe computer, server, handheld device, digital signal processor (DSP), or embedded processor (in combination with...). Figure 4 (Examples described) or any other device capable of processing data. A computer / computer platform is configured to include one or more microprocessors communicatively connected to one or more non-transitory computer-readable media and one or more networks. The term "communicatively connected" is intended to include any type of connection capable of transmitting data, whether wired or wireless. The term "communicatively connected" is intended to include, but is not limited to, connections between programs within a device and / or a single computer, or connections between a device and / or individual computers on a network. The term "network" is intended to include, but is not limited to, OTA (Over-the-Air, ATSC, DVB-T), packet-switched networks (TCP / IP, e.g., the Internet), satellites (microwave, MPEG delivery stream, or IP), direct broadcast satellites, analog cable transmission systems (RF), and digital video transmission systems (ATSC, HD-SDI, HDMI, DVI, VGA), etc.
[0012] The first mobile device 102 may be configured to employ an interactive application server 118 to: manage the state of a multi-device interactive application; receive interactive data from the user interface of the first mobile device 102; and receive interactive data from one or more communicatively connected second mobile devices 110, which are configured to store and execute code for a second client version of the interactive application (hereinafter referred to as "interactive application client 122"). In the example, the one or more second mobile devices 110 may each be a smartphone running one of the Android, iOS, or Windows operating systems or a game console with a screen interface.
[0013] The interactive application server 118 also allows the first mobile device 102 to act as a launcher by sending a trigger message to the main video display rendering interactive application 124 executed by the main video rendering device 104, through the interactive application server 118, to render the displayable portion of the interactive application on the main video display 106 (e.g., a television or screen).
[0014] The main video rendering device 104 may be a multimedia receiving device, such as a set-top box, personal computer, home network controller, or a dedicated module for processing video streams (e.g., a USB dongle connected to the main video display 106). This main video rendering device 104 may access the main video display 106 via, for example, a High Definition Multimedia Interface (HDMI). In other examples, the main video rendering device 104 may be communicatively connected to the main video display 106 using a wireless or coaxial cable interface (e.g., Ethernet). The main video rendering device 104 may be communicatively connected to the first mobile device 102, one or more second mobile devices 110, and an external storage server 108 using TCP / IP over a WiFi LAN 114 or via the Internet 112. The main video rendering device 104 may also be communicatively connected to the first mobile device 102 and one or more second mobile devices 110 using the industry-standard Wireless Discovery and Startup (DIAL) protocol interface 116. The main video rendering device 104 may be equipped with a processing unit (not shown) configured to execute code to process audio and video data received through various communication channels (such as cables, antennas) or via local area network 114.
[0015] The protocol used to launch the displayable portion of an interactive application on a main video display 106 communicatively connected to the main video rendering device 104 can be the industry-standard DIAL protocol. Therefore, the main video display rendering interactive application 124 executed by the main video rendering device 104 can also be configured to execute a DIAL server that exposes a virtual application for launching other applications using a URL passed from the first mobile device 102 (the launcher). DIAL is a mechanism for discovering and launching applications on a single subnet (typically a home network). It relies on Universal Plug and Play (UPnP), Simple Service Discovery Protocol (SSDP), and HTTP protocols. The protocol operates without requiring pairing between devices.
[0016] Trigger messages transmitted via the first mobile device 102 to the main video display rendering interactive application 124 executed by the main video rendering device 104 (e.g., a set-top box, personal computer, home network controller, USB dongle, etc.) may include a Uniform Resource Locator (URL) that may point to the first mobile device 102 (in which case the first mobile device 102 may be configured to embed code running on the main video rendering device 104) or to an external storage server 108 found on the Internet 112. Once launched, the main video display rendering interactive application 124 may be configured to recognize and interact with the IP address of the first mobile device 102 (the launcher) or a storage server (not shown) associated with the first mobile device 102 (the launcher) to display game status, game board, etc.
[0017] When the URL points to the first mobile device 102 (initiator), the first mobile device 102 can store frames ready to be transmitted to the main video rendering device 104. Therefore, the first mobile device 102 (initiator) can function as a video transmitter for the main video rendering device 104.
[0018] Stopping the rendering of the interactive application 124 on the main video display on the main video rendering device 104 can rely on standard mechanisms of the DIAL protocol. One or more second mobile devices 110 can connect to the interactive application currently managed by the first mobile device 102. To this end, one or more second mobile devices 110 execute an interactive application client 122 participating in the interactive application in slave mode.
[0019] The first mobile device 102 may then invite or be connected to one or more second mobile devices 110 to participate in a multi-device interactive application. The first mobile device 102 and one or more second mobile devices 110 may use TCP / IP on WiFi LAN 114 or the Internet 112 to share the same network (e.g., share the same router) with the main video rendering device 104.
[0020] Data generated by a multi-device interactive application can be data generated through interaction between an interactive application client 120 running on a first mobile device 102, an interactive application client 122 running on one or more second mobile devices 110, and an interactive application server 118 running on the first mobile device 102.
[0021] Data generated by the multi-device interactive application can also be generated by associating data generated by the interactive application client 122 running on the first mobile device 102 and the interactive application client 120 running on one or more second mobile devices 110 through the interactive application server 118 running on the first mobile device 102, to generate a main display and data for the main display of the multi-device interactive application, to be transmitted to the main video rendering device 104 and displayed on the main video display 106 communicatively connected to the main video rendering device 104.
[0022] Interactive application server 118 and interactive application clients 120 and 122 are similar applications, but they differ in that interactive application server 118 also acts as a server and processes data received from one or more second mobile devices 110 to form interactive applications.
[0023] The interactive application server 118 can provide a list of available interactive application sessions to the interactive application clients 122 of one or more second mobile devices 110. Each session can be identified by free text, which describes the session and metadata used by one or more second mobile devices 110 to obtain data from the interactive application client 122.
[0024] Once connected to the first mobile device 102, one or more second mobile devices 110 can receive information about interactive application sessions available on the first mobile device 102. One or more users associated with the corresponding one or more second mobile devices 110 can select an interactive application session and can send a request to join the session.
[0025] The first mobile device 102 may display a notification on its own screen to inform the user that another user has participated in a multi-device interactive application session. The user of the first mobile device 102 may consent to or refuse access to the interactive application session (e.g., parental controls) and decide to start the session when enough participants join (e.g., a game that requires exactly 4 players).
[0026] Optionally, when the interactive application client 122 is not yet present in one or more second mobile devices 110, the first mobile device 102 may transmit metadata to one or more second mobile devices 110 to allow the one or more second mobile devices 110 to download the interactive application client 122 to their storage. This metadata may include a link to a remote external storage server 108 (such as a web server) accessible via the Internet 112 to download the interactive application client 122. The one or more second mobile devices 110 may use the address contained in the metadata to request the download of the interactive application client 122 from the web server.
[0027] In another example, metadata may provide a link to a storage device (not shown) associated with the main video rendering device 104. One or more second mobile devices 110 may access the storage device of the main video rendering device 104 and use the address contained in the metadata to request the download of the interactive application client 122.
[0028] In another example, the first mobile device 102 may include interactive application clients 120, 122 stored in its memory. One or more second mobile devices 110 may request to download the interactive application clients 120, 122 from the first mobile device 102.
[0029] Once interactive application clients 120 and 122 are loaded onto one or more second mobile devices 110, the one or more second mobile devices 110 can launch interactive application client 122. Interactions between the users of the one or more second mobile devices 110 and interactive application client 122 can be transmitted to the first mobile device 102. Interactive application server 118 processes the received data and the interaction results of its own interactive application client 120 to generate the displayable portion of the interactive application.
[0030] When one or more second mobile devices 110 become available and / or request to participate in the interactive experience, it sends a notification to the first mobile device 102. The main video rendering device 104 does not need to load any specific application, as it only includes a common interpreter common to all specific applications. The main video display rendering interactive application 124, executed by the main video rendering device 104, can interpret protocols common to multiple specific applications (e.g., the DIAL protocol). This is why it is not necessary to install the interactive application server 118 and / or interactive application clients 120, 122, which are loaded into the first mobile device 102 and one or more second mobile devices 110, into the main video rendering device 104.
[0031] In addition to the main video rendering unit 104, auxiliary devices such as tablet computers can retrieve the displayable portion of the main video display rendering interactive application 124 executed by the main video rendering unit 104. The tablet computer can receive trigger messages in the same manner as the main video rendering unit 104, and can use the links provided in the trigger messages to retrieve the displayable portion of the main video display rendering interactive application 124.
[0032] Figure 2This diagram illustrates an exemplary method 200 that allows a first mobile device 102 to execute code that may include an interactive application server 118, which interacts independently with a first interactive application client 120 residing on the first mobile device 102, to run an interactive application 124 rendered by a main video display executed by a main video rendering device 104 for display on a main video display 106. Method 200 may be primarily composed of... Figure 1 The interactive application server 118 of the first mobile device 102 executes and may include hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions running on a processing device) or a combination thereof.
[0033] like Figure 2 As shown, at block 205, first data generated by a first client version (e.g., interactive application client 120) of an interactive application executed by a server version (e.g., interactive application server 118) of an interactive application executed by a processing device (not shown) of a first mobile device 102 communicatively connected to the main video rendering device 104 can be collected. At block 210, the first mobile device 102 can transmit a message to the main video rendering device 104 associated with the main video display 106. This message can indicate the location for retrieving the main video display rendering version 124 of the interactive application. The location for retrieving the main video display rendering version (e.g., 124) of the interactive application can be one of the following: a storage device associated with the main video rendering device 104; a remote external storage server 108 accessible via the Internet or a local area network; or a storage device associated with the first mobile device 102. The server version of the interactive application (e.g., 118) can generate first displayable content related to the first client version of the interactive application (e.g., 120) based on the first data, wherein the first displayable content is rendered on the display of the first mobile device 102.
[0034] At box 215, the server version of the interactive application (e.g., 118) may generate second displayable content in part based on the first data and additional data associated with the server version of the interactive application (e.g., 118), wherein the first displayable content differs from the second displayable content. At box 220, the server version of the interactive application (e.g., 118) may transmit the second displayable content to the main video rendering device 104 for rendering on the main video display 106.
[0035] At block 225, the first mobile device 102 may receive a registration from the second mobile device 110 regarding a server version (e.g., 118) of an interactive application executed by the first mobile device 102. At block 230, the first mobile device 102 may transmit a message to the second mobile device 110 indicating the location for retrieving a second client version of the interactive application to be executed by the second mobile device. The location for the second mobile device 110 to retrieve the second client version (e.g., 122) of the interactive application may be one of the following: a storage device associated with the main video rendering device 104; a remote external storage server 108 accessible via the Internet or a local area network; or a storage device associated with the first mobile device 102.
[0036] Registration of the second mobile device 110 may include selecting an interactive application session from a list of available interactive application sessions. In response to the selection from the list of available interactive application sessions, the first mobile device 102 may agree to or refuse access to the selected interactive application session. The first mobile device 102 may send a notification to the second mobile device 110 indicating the decision to agree to or refuse access to the selected interactive application session.
[0037] At block 235, the server version of the interactive application (e.g., 118) may receive second data generated by the second mobile device 110, which is associated with the second client version of the interactive application (e.g., interactive application client 122). At block 240, the server version of the interactive application (e.g., 118) may associate the first data with the second data to generate related data. At block 245, the server version of the interactive application (e.g., 118) may generate third primary displayable content, which differs from the second primary displayable content, in part based on the related data and additional data associated with the server version of the interactive application (e.g., 118). At block 250, the server version of the interactive application (e.g., 118) may transmit the third primary displayable content to the main video rendering device 104 for rendering on the main video display 106.
[0038] In the example, the first mobile device 102 may transmit commands to the main video rendering device 104 to access one or more controls on the main video display 106. The first mobile device 102 may interact with the main video rendering device 104 using the Discovery and Launch (DIAL) protocol.
[0039] In the example, the first mobile device 102 may terminate the main video display rendering version (e.g., 124) of the interactive application on the main video rendering device 104. Termination performed by the first mobile device 102 may include a command to remove the main video display rendering version (e.g., 124) of the interactive application.
[0040] Figure 3 This diagram illustrates an exemplary method 300 that allows a first mobile device 102 to execute code that may include an interactive application server 118, which interacts with an interactive application client 120 residing on the first mobile device 102 and an interactive application client 122 on a second mobile device 110, to run an interactive application 124 rendered on a main video display executed by a main video rendering device 104 for display on a main video display 106. Method 300 may be primarily composed of... Figure 1 The interactive application server 118 of the first mobile device 102 executes and may include hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions running on a processing device) or a combination thereof.
[0041] like Figure 3 As shown, at block 305, first data generated by a first client version (e.g., 120) of an interactive application executed by a server version (e.g., 118) of an interactive application executed by a processing device (not shown) of a first mobile device 102 communicatively connected to the main video rendering device 104 can be collected by the server version of the interactive application executed by the processing device.
[0042] At block 310, the first mobile device 102 may receive registration from the second mobile device 110 regarding a server version (e.g., 118) of an interactive application executed by the first mobile device 102. At block 315, the first mobile device 102 may transmit a message to the second mobile device 110 indicating the location for retrieving a second client version (e.g., 122) of the interactive application. The location for the second mobile device 110 to retrieve the second client version (e.g., 122) of the interactive application may be one of the following: a storage device associated with the main video rendering device 104; a remote external storage server 108 accessible via the Internet or a local area network; or a storage device associated with the first mobile device 102.
[0043] Registration of the second mobile device 110 may include selecting an interactive application session from a list of available interactive application sessions. In response to the selection from the list of available interactive application sessions, the first mobile device 102 may agree to or refuse access to the selected interactive application session. The first mobile device 102 may send a notification to the second mobile device 110 indicating the decision to agree to or refuse access to the selected interactive application session.
[0044] At block 320, the server version of the interactive application (e.g., 118) may receive second data generated by the second mobile device 110, relating to a second client version (e.g., 122) of the interactive application. At block 325, the server version of the interactive application (e.g., 118) may generate first displayable content relating to the first client version (e.g., 120) of the interactive application based on the first data, wherein the first displayable content may be rendered on the display of the first mobile device 102. At block 330, the server version of the interactive application (e.g., 118) may associate the first data with the second data to generate related data. At block 335, the server version of the interactive application (e.g., 118) may generate primary displayable content in part based on the related data and additional data relating to the server version (e.g., 118) of the interactive application, wherein the first displayable content differs from the primary displayable content. At box 340, the server version of the interactive application (e.g., 118) can transmit the main displayable content to the main video rendering device 104 for rendering on the main video display 106.
[0045] In the example, a first client version (e.g., 120) of the interactive application can generate second displayable content for display on a second mobile device 110.
[0046] In the example, the first mobile device 102 may transmit commands to the main video rendering device 104 to access one or more controls on the main video display 106. The first mobile device 102 may interact with the main video rendering device 104 using the Discovery and Launch (DIAL) protocol.
[0047] In the example, the first mobile device 102 may terminate the main video display rendering version (e.g., 124) of the interactive application on the main video rendering device 104. Termination performed by the first mobile device 102 may include a command to remove the main video display rendering version (e.g., 124) of the interactive application.
[0048] Figure 4A schematic diagram of a machine in an exemplary form, representing a computer system 400, is shown, within which a set of instructions is executable to cause the machine to perform any or more methods discussed herein. In some examples, the machine may be connected to (e.g., networked) other machines in a LAN, intranet, extranet, or the Internet. The machine may operate as a server machine in a client-server network environment. The machine may be a personal computer (PC), a set-top box (STB), a server, a network router, a switch, or a bridge, or any machine capable of executing a set of instructions (sequentially or otherwise) specifying actions to be performed by that machine. Furthermore, although only a single machine is shown, the term "machine" should also be considered to include a collection of any machines that individually or jointly execute a set (or more) of instructions to perform any or more methods discussed herein.
[0049] Example computer system 400 includes a processing device (processor) 402, a main memory 404 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM)), a static memory 406 (e.g., flash memory, static random access memory (SRAM)), and a drive unit 416, all of which communicate with each other via a bus 408.
[0050] Processor 402 represents one or more general-purpose processing devices, such as microprocessors, central processing units, etc. More specifically, processor 402 may be a Complex Instruction Set Computing (CISC) microprocessor, a Reduced Instruction Set Computing (RISC) microprocessor, a Very Long Instruction Word (VLIW) microprocessor, or a processor implementing other instruction sets, or multiple processors implementing combinations of instruction sets. Processor 402 may also be one or more special-purpose processing devices, such as application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), network processors, etc. Interactive applications 118, 120, 122, and 124 may be executed by processor 402 configured to perform the operations and steps discussed herein.
[0051] The computer system 400 may also include a network interface device 422. The computer system 400 may also include a video display unit 410 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 412 (e.g., a keyboard), a cursor control device 414 (e.g., a mouse), and a signal generation device 420 (e.g., a speaker).
[0052] The drive unit 416 may include a computer-readable medium 424 on which one or more sets of instructions (e.g., instructions for interactive applications 118, 120, 122, 124) embodying any one or more of the methods or functions described herein are stored. The instructions for interactive applications 118, 120, 122, 124 may also reside wholly or at least partially in main memory 404 and / or processor 402 during execution of them by computer system 400, which also constitute computer-readable media. The instructions for interactive applications 118, 120, 122, 124 may also be transmitted or received on network 426 via network interface device 422.
[0053] Although computer-readable storage medium 424 is shown as a single medium in the example, the term "computer-readable storage medium" should be considered to include a single non-transitory medium or multiple non-transitory media (e.g., centralized or distributed databases, and / or associated caches and servers) storing one or more sets of instructions. The term "computer-readable storage medium" should also be considered to include any medium capable of storing, encoding, or carrying sets of instructions for execution by a machine and causing the machine to perform any one or more methods of this disclosure. Accordingly, the term "computer-readable storage medium" should be considered to include, but not limited to, solid-state memory, optical media, and magnetic media.
[0054] The following examples relate to other implementation schemes.
[0055] Example 1 is a method comprising: collecting first data generated by a first client version of an interactive application executed by a server version of an interactive application executed by a processing device of a first mobile device communicatively connected to a main video rendering device; generating first displayable content associated with the first client version of the interactive application based on the first data by the server version of the interactive application, wherein the first displayable content is rendered on a display of the first mobile device; generating second displayable content by the server version of the interactive application, in part based on the first data and additional data associated with the server version of the interactive application, wherein the first displayable content is different from the second displayable content; and transmitting the second displayable content to the main video rendering device by the server version of the interactive application for rendering on a main video display.
[0056] Example 2 may optionally extend the subject matter as described in Example 1. In Example 2, the method may further include: transmitting a message via the server version of the interactive application to the main video rendering device associated with the main video display, the message indicating the location for retrieving the main video display rendering version of the interactive application.
[0057] Example 3 may optionally expand the subject matter as described in any one of Examples 1-2. In Example 3, the location for retrieving the main video display rendered version of the interactive application is one of the following: a storage device associated with the video rendering device; a remote storage device accessible via the Internet or a local area network; or a storage device associated with the first mobile device.
[0058] Example 4 may optionally extend the subject matter as described in any one of Examples 1-3. In Example 4, the method may further include: receiving, via the first mobile device, a registration from a second mobile device regarding a server version of the interactive application executed by the first mobile device; and transmitting, via the first mobile device, a message to the second mobile device indicating the location for retrieving a second client version of the interactive application to be executed by the second mobile device.
[0059] Example 5 may optionally expand the subject matter as described in Example 4. In Example 5, the location for retrieving the second client version of the interactive application for the second mobile device is one of the following: a storage device associated with the video rendering device; a remote storage device accessible via the Internet or a local area network; or a storage device associated with the first mobile device.
[0060] Example 6 may optionally expand on the subject matter as described in Example 3. In Example 6, the registration of the second mobile device includes selecting an interactive application session from a list of available interactive application sessions.
[0061] Example 7 may optionally expand on the subject matter as described in Example 6. In Example 7, in response to the selection made from the list of available interactive application sessions, the first mobile device agrees to or refuses access to the selected interactive application session.
[0062] Example 8 may optionally extend the subject matter as described in Example 7. In Example 8, the method may further include: sending a notification from the first mobile device to the second mobile device, indicating a decision to consent to or deny access to a selected interactive application session.
[0063] Example 9 may optionally extend the subject matter as described in any of Examples 1-8. In Example 9, the method may further include: receiving, via the server version of the interactive application, second data generated by a second mobile device in relation to a second client version of the interactive application; associating the first data with the second data via the server version of the interactive application to generate related data; generating, via the server version of the interactive application, third primary displayable content based in part on the related data and additional data associated with the server version of the interactive application, wherein the third primary displayable content differs from the second primary displayable content; and transmitting, via the server version of the interactive application, the third primary displayable content to the main video rendering device for rendering on the main video display.
[0064] Example 10 may optionally extend the subject matter as described in any of Examples 1-9. In Example 10, the method may further include: transmitting a command via the first mobile device to the main video rendering device to access one or more controls of the main video display.
[0065] Example 11 may optionally extend the subject matter as described in any of Examples 1-10. In Example 11, the first mobile device interacts with the main video rendering device using the Discovery and Launch (DIAL) protocol.
[0066] Example 12 may optionally extend the subject matter as described in any of Examples 1-11. In Example 12, the method may further include: terminating the main video display rendering version of the interactive application on the main video rendering device via the first mobile device.
[0067] Example 13 may optionally extend the theme described in Example 12. In Example 13, terminating the interactive application on the main video display rendering version of the interactive application on the main video rendering device includes a command to remove the main video display rendering version of the interactive application.
[0068] Example 14 is a system comprising: a memory storing instructions; and a processing device of a first mobile device communicatively connected to a main video rendering device and operatively coupled to the memory, the processing device: collects first data generated by a first client version of an interactive application executed by the processing device of the first mobile device communicatively connected to the main video rendering device via a server version of the interactive application executed by the processing device; generates first displayable content associated with the first client version of the interactive application based on the first data via the server version of the interactive application, wherein the first displayable content is rendered on a display of the first mobile device; generates second displayable content via the server version of the interactive application, in part based on the first data and additional data associated with the server version of the interactive application, wherein the first displayable content is different from the second displayable content; and transmits the second displayable content to the main video rendering device via the server version of the interactive application for rendering on a main video display.
[0069] Example 15 is a method comprising: collecting first data generated by a first client version of an interactive application executed by a server version of an interactive application executed by a processing device of a first mobile device communicatively connected to a main video rendering device; receiving second data generated by a second mobile device in relation to a second client version of the interactive application via the server version of the interactive application; generating first displayable content in relation to the first client version of the interactive application based on the first data via the server version of the interactive application, wherein the first displayable content is rendered on a display of the first mobile device; associating the first data with the second data via the server version of the interactive application to generate related data; generating primary displayable content via the server version of the interactive application, in part based on the related data and additional data in relation to the server version of the interactive application, wherein the first displayable content is different from the primary displayable content; and transmitting the primary displayable content to the main video rendering device via the server version of the interactive application for rendering on a main video display.
[0070] Example 16 may optionally extend the theme as described in Example 15. In Example 16, the method may further include: generating second displayable content via the first client version of the interactive application for display on the second mobile device.
[0071] Example 17 may optionally extend the subject matter as described in any of Examples 15. In Example 17, the method may further include, before receiving the second data: receiving, via the first mobile device, a registration from the second mobile device regarding the server version of the interactive application executed by the first mobile device; and transmitting, via the first mobile device, a message to the second mobile device indicating the location for retrieving the second client version of the interactive application.
[0072] Example 18 may optionally expand on the subject matter as described in Example 17. In Example 18, the location for retrieving the second client version of the interactive application for the second mobile device is one of the following: a storage device associated with the video rendering device; a remote storage device accessible via the Internet or a local area network; or a storage device associated with the first mobile device.
[0073] Example 19 may optionally extend the themes described in any of Examples 17-18. In Example 19, the registration of the secondary second-screen device includes selecting an interactive application session from a list of available interactive application sessions.
[0074] Example 20 may optionally expand on the subject matter as described in Example 19. In Example 21, in response to the selection made from the list of available interactive application sessions, the first mobile device agrees to or refuses access to the selected interactive application session.
[0075] Example 21 may optionally extend the subject matter as described in Example 19. In Example 22, the method may further include sending a notification from the first mobile device to the second mobile device, indicating a decision to consent to or deny access to a selected interactive application session.
[0076] Example 22 may optionally extend the subject matter as described in any of Examples 17-21. In Example 22, the method may further include: transmitting a command via the first mobile device to the main video rendering device to access one or more controls of the main video display.
[0077] Example 23 may optionally extend the subject matter as described in any of Examples 17-22. In Example 23, the first mobile device interacts with the video rendering device using the Discovery and Launch (DIAL) protocol.
[0078] Example 24 may optionally extend the theme as described in any of Examples 17-23. In Example 24, the method may further include terminating the interactive application on the main video rendering device via the first mobile device.
[0079] Example 25 may optionally expand on the theme described in Example 24. In Example 25, terminating the interactive application on the video rendering device includes a command to remove the main video screen rendering version of the interactive application.
[0080] Example 26 is a system comprising: a memory storing instructions; and a processing device of a first mobile device communicatively connected to a main video rendering device and operatively coupled to the memory, the processing device: collecting first data generated by a first client version of an interactive application executed by the processing device via a server version of the interactive application; receiving second data generated by a second mobile device in relation to a second client version of the interactive application via the server version of the interactive application; generating first displayable content in relation to the first client version of the interactive application based on the first data via the server version of the interactive application, wherein the first displayable content is rendered on a display of the first mobile device; associating the first data with the second data via the server version of the interactive application to generate related data; generating primary displayable content via the server version of the interactive application, in part based on the related data and additional data in relation to the server version of the interactive application, wherein the first displayable content differs from the primary displayable content; and transmitting the primary displayable content via the server version of the interactive application to the main video rendering device for rendering on a main video display.
[0081] In the foregoing description, numerous details have been set forth. However, it will be apparent to those skilled in the art that embodiments of this disclosure can be practiced without these specific details, thanks to the present disclosure. In some instances, well-known structures and apparatuses are shown in block diagram form rather than in detail to avoid obscuring this specification.
[0082] Some parts of the detailed description are presented based on algorithms and symbolic representations of operations on data bits within computer memory. These algorithmic descriptions and representations are methods used by those skilled in the art of data processing to most effectively convey the substance of their work to others skilled in the art. Here, an algorithm is generally considered to be a self-consistent sequence of steps that leads to a desired result. A step refers to a step that requires physical manipulation of a physical quantity. Although not always necessary, these quantities are typically in the form of electrical or magnetic signals that can be stored, transferred, combined, compared, and otherwise manipulated. It has been found that, primarily for reasons of general use, these signals may sometimes be appropriately referred to as bits, values, elements, symbols, characters, items, numbers, etc.
[0083] However, it should be remembered that all these and similar terms are intended to be associated with appropriate physical quantities and are merely suitable labels applied to those quantities. It is evident from the foregoing that, unless otherwise specifically stated, the use of terms such as “receive,” “write,” and “hold” throughout this specification refers to the actions and processing of a computer system or similar electronic computing device that manipulates and transforms data represented as physical (e.g., electronic) quantities in the registers and memories of the computer system into other data similarly represented as physical quantities in the computer system's memory or registers or other such information storage, transmission, or display devices.
[0084] Embodiments of this disclosure also relate to apparatus for performing the operations described herein. This apparatus may be specifically configured for a desired purpose, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in a computer. Such a computer program may be stored in a computer-readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs and magneto-optical disks, read-only memory (ROM), random access memory (RAM), EPROM, EEPROM, magnetic cards or optical cards, or any type of medium suitable for storing electronic instructions.
[0085] The algorithms and displays presented herein do not inherently relate to any specific computer or other device. Various general-purpose systems may be used with the programs according to the teachings herein, or it may prove convenient to construct more specialized devices to perform the desired method steps. Exemplary architectures of many such systems will appear in the description herein. Furthermore, this disclosure is described without reference to any specific programming language. It should be understood that various programming languages can be used to implement the teachings of the disclosure as described herein.
[0086] It should be understood that the above description is intended to be illustrative rather than restrictive. Many other embodiments will become apparent to those skilled in the art upon reading and understanding the above description. Therefore, the scope of this disclosure should be determined by reference to the full scope of the appended claims together with their equivalents.
Claims
1. A method for accessing an application, comprising: This enables the second device to be provided with location information for obtaining the client version of the application; A first message is received on a first handheld mobile device that is simultaneously running both the client version and the server version of the application, the server version being configured to receive data from the client version running on the first handheld mobile device and from a second device, the first message being associated with the second device and being sent using a wireless connection. The first message is determined to include at least first information, which indicates the second device's selection of the client version of the application; The second device is authorized to access the client version of the application based on the server version of the application; At least a second message is sent from the first handheld mobile device using the wireless connection, the second message indicating authorization for the second device to access the client version of the application; as well as It is determined that the second device has accessed the client version of the application.
2. The method of claim 1, wherein the location information for obtaining the client version of the application represents at least one of the following: an Internet address, a remote storage device, a storage device accessible on a local area network, and a storage device associated with the first handheld mobile device.
3. The method of claim 1, wherein the first handheld mobile device determines that the second device is authorized to access the client version of the application.
4. The method of claim 1, wherein the first handheld mobile device receives user input indicating that the second device is authorized to access the client version of the application.
5. The method of claim 1, further comprising monitoring access to the client version of the application by the second device by the first handheld mobile device.
6. The method of claim 1, further comprising rendering the main content on the main video rendering device by the first handheld mobile device.
7. The method of claim 1, further comprising sending a command from the first handheld mobile device to access one or more controls on the main video rendering device.
8. The method of claim 1, further comprising interacting with the main video rendering device using at least the discovery and initiation of the DIAL protocol.
9. The method of claim 1, further comprising causing the main video rendering device to stop rendering the main content by the first handheld mobile device.
10. The method of claim 1, further comprising sending a trigger message to a main video rendering device by a first handheld mobile device, the trigger message including at least a Uniform Resource Locator (URL).
11. A first handheld mobile device, comprising: Memory that stores instructions; as well as A processing device operatively coupled to the memory, the processing device being configured to: This enables the second device to be provided with location information for obtaining the client version of the application; A first message is received on a first handheld mobile device that is simultaneously running both the client version and the server version of the application, the server version being configured to receive data from the client version running on the first handheld mobile device and from a second device, the first message being associated with the second device and being sent using a wireless connection. The first message is determined to include at least first information, which indicates the second device's selection of the client version of the application; The second device is authorized to access the client version of the application based on the server version of the application; At least a second message is sent from the first handheld mobile device using the wireless connection, the second message indicating authorization for the second device to access the client version of the application; as well as It is determined that the second device has accessed the client version of the application.
12. The first handheld mobile device of claim 11, wherein the location information for obtaining the client version of the application represents at least one of the following: an Internet address, a remote storage device, a storage device accessible on a local area network, and a storage device associated with the first handheld mobile device.
13. The first handheld mobile device of claim 11, wherein the first handheld mobile device determines that the second device is authorized to access the client version of the application.
14. The first handheld mobile device of claim 11, wherein the first handheld mobile device receives user input indicating that the second device is authorized to access the client version of the application.
15. The first handheld mobile device of claim 11, wherein the processing device is further configured to monitor access by the second device to the client version of the application.
16. The first handheld mobile device of claim 11, wherein the processing device is further configured to render main content on a main video rendering device.
17. The first handheld mobile device of claim 11, wherein the processing device is further configured to send commands to access one or more controls on the main video rendering device.
18. The first handheld mobile device of claim 11, wherein the processing device is further configured to interact with the main video rendering device using at least the discovery and activation of the DIAL protocol.
19. The first handheld mobile device of claim 11, wherein the processing device is further configured to cause the main video rendering device to stop rendering the main content.
20. The first handheld mobile device of claim 11, wherein the processing device is further configured to send a trigger message to a main video rendering device, the trigger message including at least a Uniform Resource Locator (URL).