Play control of content on a display device

Information

  • Patent Grant
  • 11475062
  • Patent Number
    11,475,062
  • Date Filed
    Friday, August 6, 2021
    3 years ago
  • Date Issued
    Tuesday, October 18, 2022
    2 years ago
  • CPC
    • G06F16/74
    • G06F9/452
    • G06F16/951
  • Field of Search
    • CPC
    • G06F16/74
    • G06F9/452
    • G06F16/951
  • International Classifications
    • G06F16/74
    • G06F16/951
    • G06F9/451
    • Disclaimer
      This patent is subject to a terminal disclaimer.
Abstract
A system for presenting and controlling content includes a computing device that can generate messages including a first command in a first format and a reference to a piece of content associated with a particular media playing application. The computing device can communicate the messages to a server system, and the server system can generate a second command in a second format based on the first command and the particular media playing application associated with the referenced piece of content. The communication can cause a content presentation system coupled to the server system to control presentation of the referenced piece of content utilizing the particular media playing application.
Description
BACKGROUND

This disclosure relates to play control of content on a display device. Such display devices include, for example, television displays used by consumers in their home for viewing videos and other media that are either provided from the Web or previously stored. In particular, the disclosure relates to the creation, storage, manipulation and access of media playlists used in conjunction with display devices and control of the display devices.


Web media often is played on computers rather than television displays. Although it is known to connect a computer to a television set in order to watch Web media, it is difficult to control such a system within the typical scenario for television watching where the viewer is positioned some distance from the television. Furthermore, although a wireless device can enable the user to control the television from a distance, it can be difficult to view a web browser display on the television set and may interfere with normal television program viewing by other persons.


Given the desire to watch various World Wide Web media on a family's primary television set, and to control this operation from the comfort of one's couch, there is a need to operate a television set or other display remotely from a personal computing device, such as a mobile phone. It also is desirable to allow a user to perform a general Web search to locate and capture Web media, and to control a television or other display remotely using the personal computing device.


SUMMARY

Various aspects of the invention are set forth in the claims.


For example, according to one aspect, a system for presenting and controlling content on a display device includes a network, a server system coupled to the network and comprising one or more servers, a display device coupled to the network and having a display, and a personal computing device operable to transmit a first message according to a specified format over the network to the server system. The server system stores an association between the personal computing device and the display device. The first message identifies user-selected content and a media player to play the content. The server system is operable, in response to receiving the first message from the personal computing device, to provide to the display device a second message identifying the user-selected content and the media player to play the content. In response to receiving the second message, the display device is operable to obtain a first media player needed to play the content, to load the media player and to present the content on the display.


In some implementations, the display device is operable, in response to receiving the second message, to obtain the first media player from the content provider only if the first media player is not already loaded in the display device.


In some implementations, the personal computing device is operable to transmit a message according to a specified format over the network to the server system. The message can include a command for controlling playing of the content on the display device. The server system is operable, in response to receiving the message, to convert the command into a corresponding command recognizable by the media player if the command received from the personal computing device is not recognizable by the media player. The server system is operable to provide to the display device a message that includes the corresponding command, and the display device is operable, in response to receiving the message from the server system, to execute the command.


In some implementations, the personal computing device is, for example, a mobile phone, and the display device is a television set. Other personal computing devices or display devices can be used in other implementations. The network can include, for example, the Internet.


In some implementations, the server system stores a look-up table that includes a synchronization code uniquely associated with the display device. A message from the personal computing device can include the synchronization code, and in response to receiving the message from personal computing device, the server system can use the synchronization code and the look-up table to identify the display device on which the content is to be played. The synchronization code can be different from an IP address associated with the display device and/or a media access control address associated with the display device.


In various implementations, the system can facilitate allowing a personal computing device to be used to select different content to be played on a remote display even if different media players are required to present the different content. The system also can allow the user to control how the content is displayed on the display device using the personal computing device. For example, user-initiated play commands can be passed from the user's personal computing device, through the server system, to the display devices.


Other aspects, features and advantages will be apparent from the following detailed description, the accompanying drawings, and the claims.





BRIEF DESCRIPTION OF THE FIGURES

The present technology is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings.



FIG. 1 is a block diagram illustrating an example of a system according to the invention.



FIG. 2 illustrates various details of the flow of information and signals according to some implementations.



FIG. 3 illustrates an example of a transmission code incorporated into a message from a personal computing device.



FIG. 4 illustrates an example of a look-up table that forms part of a server system.



FIG. 5 illustrates an example of entries in a universal API adapter.



FIG. 6 is a flow chart showing steps for display device to load a video player and video.



FIG. 7A illustrates an example of a display device including a synchronization code.



FIG. 7B illustrates an example of a synchronization code look-up table.



FIGS. 8-13 illustrate examples of various scenarios in which the invention can be used.



FIGS. 14A through 14E illustrate examples of display screens that may appear on a user's personal computing device in accordance with the invention.



FIG. 15 illustrates further information that can be stored in the look-up table in the server system.





DETAILED DESCRIPTION

As shown in FIG. 1, a system 10 facilitates synchronizing a connection between two or more devices 20, 22 connected to the Internet 21 or other computer network. The connection is designed to be made by a first device (e.g., a personal computing device) 20 that acts as a controller and a second device (e.g., a television set 22 with a display 23) that acts as a receiver to play content selected by a user of the first device and to respond to commands that originate at the personal computing device. The personal computing device 20 is operable to display an application or web site that contains information and links to content providers 30 on the Internet 21. The television set 22 is operable to link back to a server system 24 from which the television set receives commands. When a user makes a selection using the personal computing device 20 for particular content to be displayed on the television display 23, a signal is sent through the Internet (or other network) 21 to the server system 24. A corresponding command signal then is passed along to the connected television set 22, which acts on a transmission code contained within the signal and performs specified commands. For example, in some scenarios, the command instructs the television set 22 to access a content provider 30 through the Internet 21, load a specific media player, load the media player-specific content (e.g., a video) and play the content on the television display 23. The user can use the personal computing device 20 to control how the content is played on the television display 23. The user may subsequently visit the same or another Web site using the personal computing device 20 to select different content (e.g., a second video) to be played on the television display 23. In that case, another signal would be sent through the server system 24 to the television set 22. A transmission code associated with this command signal instructs the television set 22 to load a new media player (if needed) over the Internet and to load the specified video file to be played on the display 23. Thus, the system 10 allows a personal computing device 20 to be used to select different content to be played on a remote display 23 even if different media players are required for the different content. The user also can control how the content is displayed (e.g., play, pause, stop, rewind, fast forward, etc.) on the display 23 using the personal computing device 20. The user-initiated play commands are passed from the user's personal computing device 20, through the server system 24, to the television set 22.


Although the following detailed discussion describes videos as an example of the type of content to be played on the display 23, the system 10 can be used for other types of content as well. Thus, depending on the implementation, the content may include one or more of the following: video, audio, interactive video game, streaming media, multimedia, images, slides (e.g., a PowerPoint presentation) or other types of dynamic content. Furthermore, in the following discussion, it is assumed that the personal computing device 20 is a mobile phone that includes a display, an internal microprocessor or other processing circuitry, a keypad, keyboard, touchscreen, mouse, trackball, or other device to receive user selections and other input, and a transceiver to establish communications to the Internet 21 or other communications networks. More generally, however, the personal computing device 20 can be any type of handheld or other Internet-enabled personal computing device, including personal computers, e-books, kiosks, tablets, smart phones, media players, and motion and touch sensory interfaces. In some cases, input from the user can be received in forms other than tactile input (e.g., acoustic or speech).



FIG. 2 illustrates further details of the flow of information and signals according to some implementations. The personal computing device (e.g., mobile phone) 20 is operable to display an application or web site that contains information and links to content providers 30 on the Internet 21. The user operates the mobile phone 20 so as to start the application or access the web site (block 100). In some implementations, a logo appears on the mobile phone's display. By selecting the logo, the user causes a menu to expand and present various options. The options can include, for example: (i) add new content to a playlist, (ii) play a listed item on a secondary device, (iii) play a listed item on the mobile phone 20. If the user selects to add new content to the playlist, the user is presented with a screen that allows him to enter user-defined search parameters or to select predefined search parameters to request video data. The search parameters are sent from the mobile phone 20 as part of a request for video data that satisfy the search parameters (block 102). The request is transmitted via the Internet 21 and through the server system 24 to the appropriate content provider web site. In response, the content provider 30 provides metadata (e.g., titles, links to the videos) for one or more video files that satisfy the search parameters (block 104). The metadata can be provided to the mobile phone 20, for example, in the form of an XML data file. Upon receiving the data file, the mobile phone 20 displays a list of one or more videos based on the information received from the content provider 30 (block 106).


If desired, the user can take one of several actions, including selecting one of the videos from the displayed list to be played on the television display 23 or initiating a command with respect to a video that already has been loaded to the television set 22 (block 108). The mobile phone 20 then formats and transmits a message to the server system 24 (block 110). The message from the mobile phone 20 contains a transmission code that includes data regarding the user information (e.g., user identification or account number), the secondary display it wants to connect to (e.g., television set 22 with display 23), the location and name of the media player for the selected video, the command (e.g., play, pause, rewind, etc.), and the video file to be acted upon. An example of the format of a transmission code from the mobile phone 20 to the server system 24 is illustrated in FIG. 3. Different formats and/or different information may be appropriate for other implementations.


The message from the mobile phone 20 is transmitted over the Internet 21 and is received by the server system 24 (block 112). Based on information in the message from the mobile phone 20, the server system 24 verifies that the user has an account (block 114), and the contents of the message, as well as the date and time of receipt of the message, are added to a personal computing device database 32 (block 116) which forms part of a switchboard 28. In general, all messages from a particular user's personal computing device 20 are stored in the database 32 corresponding to an account for the particular user. Thus, the database 32 stores a record of all messages received from a user's personal computing device 20, as well as the user's identification, an indication of the target device 22, an identification of the media player that is required for the selected video, and an identification of the selected video.


The switchboard 28 also includes a look-up table 34 that stores a correspondence between a particular personal computing device (such as mobile phone 20) and target devices (e.g., the television set 22) to which the user command is directed. An example of the look-up table 28 is illustrated in FIG. 4. In this example, it is assumed that, at most, a single connection is established at any given time between a particular mobile phone and a display device. However, as explained below, other scenarios are also possible to establish group connections (e.g., multiple mobile phones connected to the same display device). The server system 24 performs a target verification (block 118), which includes checking whether a connection to a particular display device already is established for the mobile phone 20 and, if so, checking the identification of the display device. During the target verification, if the look-up table indicates that there is no connection established between the mobile phone 20 and a particular display device, then the server system 24 sends a message to the mobile phone 20 to prompt the user to identify the device on which the video is to be displayed.


A user can identify the device on which the video is to be displayed in one of several ways, depending on the implementation. In some implementations, the user can select the display device from a list of devices displayed on the mobile phone 20. The list can include a field populated with names or identifications of display devices that previously have been initialized for connection. Alternatively, the user can select the display device by entering a synchronization code uniquely associated with the particular display device. As illustrated in FIG. 7A, the synchronization code 48 can be displayed, for example, on a splash page of the display device as text on the screen or as an image such as a QR code and can be entered into the mobile phone 20, for example, manually by the user or by scanning the code into the mobile phone. The code can be scanned, for example, using optical scanning or RFID techniques. Preferably, the synchronization code is different from the IP address associated with the device 22. The IP address also can be different from the media access control (MAC) address associated with the device 22. For example, in some implementations, the synchronization code is generated randomly and assigned to the display device 22 each time it connects to the server system 24. Thus, a particular display device 22 may have an IP address, a MAC address, a web or browser cookie, and a synchronization code (“sync code”) assigned to it at any given time. This information can be stored, for example, in a look-up table in the server system 24. An example of entries in such a look-up table are illustrated in FIG. 7B.


Once the synchronization code is entered into, or captured by, the mobile phone 20, it is sent from the mobile phone 20 to the server system 24, which stores the information in the look-up table 36 so as to establish a connection between the mobile phone 20 and the display device 22 through the server system 24.


Once a connection is established between the mobile phone 20 and the display device 22, signals sent from the mobile device 20 to its associated database 32 are copied to a database 34 associated with the target device (e.g., television set 24) based on the correspondence between the mobile device and the target device listed in the look-up table 36 (block 122). Thus, the database 32 entries associated with a particular display device (e.g., television set 24) provide a record of the messages received for that display device, as well as an indication of the identification of the device that sent each message, an indication of the media player required to play the video, and an indication of the selected video.


In the illustrated implementation, the command in the transmission code (see FIG. 3) contains a JavaScript reference to control the media player needed to play the selected video. Various types of video players may use different JavaScript commands to control their respective playback. Therefore, in the illustrated implementation, a universal adapter 26 is provided to interpret and convert a standard or universal command (e.g., play, pause, etc.) into the specific command recognized by the media player. Each time a signal is received from the mobile device 20, the API adapter 26 checks and identifies the specific media player that is being requested. Based on this information, the system loads the appropriate set of protocols or application programming interfaces (APIs) from its library and converts the incoming commands from the mobile device 20 into the correct JavaScript (or other programming) code used by the target device 22 to control the specific player (block 120). The server system 24 then copies the converted version of the message to the database 34 associated with the target device 22, as indicated above in connection with block 122.


The universal adapter 26 can be implemented, for example, as a look-up table. Examples of entries in such a look-up table are illustrated in FIG. 5. Thus, for a universal command “New Video,” the universal adapter 26 provides the corresponding command for each of several specific media players (e.g., “yt_loadVideo” for YouTube). Similarly, for a universal command “Pause,” the universal adapter 26 provides the corresponding command for each of several specific media players (e.g., “pauseVideo” for Ted.com). Other universal commands and the corresponding command(s) for one of more media players also can be stored by the universal adapter 26.


The display device 22 periodically checks the entries in the database 34 to determine if there are any new messages/commands directed to it (block 124). For example, in some implementations, the display device 22 polls the associated database 34 at some predetermined time interval. In some implementations, instead of the display device 22 periodically checking whether there are any messages for it in the database 34, the server system 24 can push the messages to the display device 22. In any event, the system is arranged so that the display device 22 receives the messages intended for it.


When the display device 22 receives a message from the server system 24 (block 126), the display device executes the message (block 128). In some cases, the media player required to play the video indicated in the message is not presently loaded in the display device 22. For example, the received command may be to “play” a particular video. As indicated by FIG. 6, if the media player needed to play the video is not already loaded in the display device 22, the display device 22 requests and obtains a copy of the appropriate media player 40 and a copy of the video file 42 from a content provider 30, loads the media player and then presents the video on the display 23 (FIG. 2, block 130). Likewise, as indicated by FIG. 6, if the appropriate media player already is loaded in the display device, but the particular video is not, then the display device 22 requests and obtains a copy of the video file 42 from the content provider 30 and proceeds to play the video. To allow the display device 22 to switch between different video players (i.e., to load and unload different video players), a software program can be stored on the display device and/or the web site to establish a secure connection back to the server system 24.


Once the video is playing on the display device 22, the user of the mobile phone 20 can control the playing of the video by entering appropriate commands (e.g., pause, fast forward, rewind, stop, play, etc.) through the mobile phone. Each command is incorporated into a message including a transmission code (FIG. 3) as described above. The message is transmitted to the server system 24, which copies the message into database entries associated with the particular display device 22 (i.e., after performing any conversion of the command by the API adapter 26). Once the message is retrieved by or sent to the display device 22, the display device proceeds to execute the command.


The system and methods described here allow a user of a mobile phone or other personal computing device to create a playlist based on videos (or other types of content) from multiple sources and to play back each video using a single interface that can be used to control different media players.


As mentioned above, the system and methods described above also can be used with types of content other than video. In that case, different types of user-initiated commands may be available to control the content displayed on the display 23. For example, for interactive video games, the user-initiated commands can include control commands appropriate for the particular game.


Although the implementation of FIG. 1 illustrates the display device 22 as a television set with a display screen 23, other types of display devices can be used as well (e.g., a laptop or personal computer).


The systems and methods can be used in various scenarios to play back videos (or other content). Examples of several scenarios that can be implemented using the system described above are described in the following paragraphs. For example, a first scenario involves a single user's smartphone connecting to a single display device (FIG. 8). In this scenario, the user turns on, for example, her display device (e.g., personal computer with a display monitor), opens up a browser and accesses a website associated with the server system 24. The user then clicks on a link that launches the software program to establish a secure connection back to the server system 24. The software program opens a splash page (see FIG. 14A), and a sync-code is displayed on the monitor. The user then opens the appropriate application on her smartphone. In the smartphone application, the user accesses a “Connect” screen from which he can select one of several listed display devices (see FIG. 14B). Alternatively, the user can enter the sync-code displayed on the computer monitor (see FIG. 14B). The user then clicks on a SEND button which causes a message including the sync-code to be sent the server system 24. In response, the server system 24 establishes a connection between the user's smartphone and the selected display device through a look-up table as described above with respect to FIG. 4. The user can use a search tool in the smartphone application to find a video. In response to the search, a list of videos satisfying the search appears on the smartphone (see FIG. 14C). When the user selects a video from the list displayed on the smartphone, the information is provided through the server system 24 to the personal computer. In some implementations, a pop-up window may appear on the smartphone listing one or more options for the user to take regarding the selected video. Such options can include, for example, play the video on the selected display device (e.g., the personal computer), play the video on the smartphone, or add the video to the playlist on the smartphone. If the user chooses to have the video played on the display device (e.g., the personal computer), the personal computer obtains a copy of the required video player and the selected video from an appropriate content provider over the Internet and begins to play the video on the monitor as described previously. In some implementations, a message is displayed on the user's smartphone indicating that the selected video is playing and providing additional information about the selected video (see FIG. 14D). The user can control playing of the video (e.g., pause, fast forward, rewind, play, etc.) from her smartphone.


A second scenario involves saving a selected video to a playlist on a single user's smartphone, and subsequently playing the video on a display device (FIG. 9). In this scenario, the user opens the appropriate application on his smartphone and searches for videos using the search tool displayed in the application. When a list of videos is displayed on the smartphone in response to the search request, the user selects one or more videos to add to his playlist. At that time, or at a later time, the user can connect to a display device through the server system 24. To do so, the user opens the playlist on his smartphone and selects a video. The information is provided through the server system 24 to the display device, which obtains a copy of the required video player and the selected video from an appropriate content provider over the Internet and begins to play the video. The user can control playing of the video (e.g., pause, fast forward, rewind, play, etc.) from his smartphone.


A third scenario involves multiple users' smartphones and a single display device (FIG. 10). For example, a user may want to share and watch videos with a group of friends watching together on a single display device. In this situation, the user can access the application or web site to set up a group and serve as the moderator for the group. The user then can send out a request to other members of the group, or other users can send a request to the moderator to join the group. Users can search for other users based, for example, on username or from a contact list. The moderator then can select a user in the group to control the display device. FIG. 14E illustrates an example of a screen on the user's smartphone that allows the user to connect with other users to form a group and to select which member of the group controls the display device (e.g., by selecting a member of the group from the list “Me, Guest 1, Guest 2, . . . ” near the top of the screen). Alternatively, the moderator can set it up so that control is passed to each member of the group in turn automatically, or so that the next turn can be determined by consensus of the entire group, via some form of voting. Regardless of who has control of the display device 22, each user in the group retains control of his own smartphone. The look-up table 36 in the server system 24 stores the connections established between the personal computing devices of the users in the group and the display device (see FIG. 15).


A fourth scenario involves one user's smartphone and multiple display devices (FIG. 11). In this example, a user opens the application on his smartphone to establish a connection to a first display device and then repeats the process for multiple display devices. A list of devices that the user's smartphone is connected to is displayed on the smartphone. The user can choose to control all devices simultaneously or one at a time. To do so, the user selects from the list the display device(s) he wants to control. The user then can search for videos using his smartphone. In response to the user selecting a particular video, the selected video is played on the selected display device(s).


A fifth scenario involves multiple users' smartphones and multiple connected display devices (FIG. 12). For example, a user may want to share and watch videos with a group of friends, who may be in different locations each of which has a separate display device. Each user establishes a connection from her smartphone to the display device where she is located. One of the users uses the application or web site to establish a group, with the user who establishes the group serving as the group moderator. The user can send out a request to other users to join the group or other users can send a request to the moderator to join the group. In some implementations, users can search for other users based on username or from a contact list. The moderator chooses which member of the group has control of the display device. Alternatively, the moderator can set it up control is passed to each member of the group in turn automatically, or so that the next turn can be determined by consensus of the entire group, via some form of voting. The signal sent from the smartphone of the group member who has control is sent (via the server system 24) to all display devices within the group. Regardless of which group member has control of the display devices, each user retains control of her own smartphone. The look-up table 36 in the server system 24 stores the connections established between the personal computing devices of the users in the group and the display devices (see FIG. 15).


A sixth scenario involves sharing video links and a playlist (FIG. 13). For example, a user within a group can share a video playlist and video links via an Instant messaging system built-in to the application. Users also can post video links or a video playlist to third-party web sites (e.g., social networking sites). Other users can view the video link and playlist within the application. When a video from the list is selected, it plays on the selected device.


The system and methods can be used by a wide variety of users in addition to individual viewers. For example, companies that provide on-line video platforms that host videos for other individuals or companies can obtain useful advantages by integrating the platforms with the server system 24. Programming hooks can be created in the API so that the on-line video platform's media player can communicate with the server system 24. When media player commands for an on-line video platform are added to the system 24, the media player's API is placed in an API library and is stored in the API adapter 26. The on-line video platform can then offer customers the ability to add videos to their own mobile web sites that are enabled to operate with the server system 24.


The system and methods also can be used by content providers. For example, the content provider may want to deliver its media on-line. The content provider can use an on-line video platform that is enabled to operate with the server system 24. In some implementations, the content provider is allowed to add links to videos for that web site (i.e., mobile site or an application). The link facilitates synchronization to the secondary device 22 (e.g., a television set) and allows the end-user to load and control the video on the secondary device.


As used in this disclosure, terms such as “first,” “second,” etc. with respect to the messages are used simply as labels to distinguish the various messages from one another. Such terms do not imply that there cannot be any other messages prior to the first message or that there cannot be other messages between the first and second messages.


Implementations of the subject matter and the operations described in this specification can include digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the subject matter described in this specification can include one or more computer programs, i.e., one or more modules of computer program instructions, encoded on computer storage medium for execution by, or to control the operation of, data processing apparatus. Alternatively or in addition, the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. A computer storage medium can be, or can be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. Moreover, while a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially-generated propagated signal. The computer storage medium can also be, or be included in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).


The operations described in this specification can include operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources. The term “data processing apparatus” encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones, or combinations, of the foregoing. The apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.


A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.


Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. Elements of a computer include a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data.


Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile, audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few. Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.


Although this specification contains many specific implementation details, these should not be construed as limitations on the scope of any inventions or of what may be claimed, but rather as descriptions of features specific to particular implementations of particular inventions. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.


Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described herein and the attachments hereto should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.


Thus, although particular implementations have been described, other implementations are within the scope of the claims.

Claims
  • 1. A non-transitory computer storage medium storing computer-useable instructions that, when used by a personal computing device, cause the personal computing device to perform operations comprising: generating a set of messages that includes a first command in a first format and a reference to a piece of content associated with a particular media playing application;communicating the generated set of messages to a server system, wherein the server system is configured to generate a second command in a second format based on each of the first command and the particular media playing application associated with the referenced piece of content; andbased on the communication, causing a content presentation system communicatively coupled to the server system to control presentation of the referenced piece of content utilizing the particular media playing application.
  • 2. The medium of claim 1, the operations further comprising: obtaining a unique identifier of the content presentation system, andwherein the set of messages is generated based on the unique identifier.
  • 3. The medium of claim 2, wherein the set of messages includes the unique identifier and the server system is further configured to establish an association between the personal computing device and the content presentation system based on the unique identifier.
  • 4. The medium of claim 1, wherein the particular media playing application associated with the referenced piece of content is a first media playing application of a plurality of media playing applications, the first media playing application being operable to present and control the presentation of the referenced piece of content.
  • 5. The medium of claim 4, wherein the second format is associated with the first media playing application and is selected from a plurality of formats based on the first media playing application being operable to present and control the presentation.
  • 6. The medium of claim 1, wherein based on the communication the server system causes the content presentation system to control the presentation of the referenced piece of content based on the second command in the second format.
  • 7. The medium of claim 6, wherein the second command is used by the particular media playing application to control the presentation of the referenced piece of content.
  • 8. The medium of claim 1, wherein the second format is different than the first format.
  • 9. The medium of claim 1, wherein the content presentation system is further caused to load the particular media playing application based on the communication.
  • 10. A computer-implemented method for remotely presenting various types of content, the method comprising: generating, by a personal computing device, a set of messages that includes a first command in a first format and a reference to a piece of content associated with a particular media playing application;communicating, by the personal computing device, the generated set of messages to a server system, wherein the server system is configured to generate a second command in a second format based on each of the first command and a configuration of the particular media playing application associated with the referenced piece of content; andcausing, by the personal computing device based on the communication, a content presentation system communicatively coupled to the server system to utilize the second command to control the presentation of the referenced piece of content via the particular media playing application.
  • 11. The method of claim 10, further comprising: obtaining, by the personal computing device, a unique identifier of the content presentation system, andwherein the set of messages is generated by the personal computing device based on the unique identifier.
  • 12. The method of claim 11, wherein the set of messages includes the unique identifier and the server system is further configured to establish an association between the personal computing device and the content presentation system based on the unique identifier.
  • 13. The method of claim 10, wherein the particular media playing application associated with the referenced piece of content is a first media playing application of a plurality of media playing applications, the first media playing application being operable to present and control the presentation of the referenced piece of content.
  • 14. The method of claim 13, wherein the second format is associated with the first media playing application and is selected from a plurality of formats based on the configuration of the first media playing application.
  • 15. The method of claim 10, wherein based on the communication the server system causes the content presentation system to utilize the second command in the second format.
  • 16. The method of claim 10, wherein the second command is executed utilizing the particular media playing application.
  • 17. A computerized system, comprising: an application for a personal computing device configured to—generate a set of messages that includes a first command in a first format and a reference to a piece of content associated with a particular media playing application;communicate the generated set of messages to a server system, wherein the server system is configured to generate a second command in a second format based on each of the first command and the particular media playing application associated with the referenced piece of content; andbased on the communication, cause a content presentation system communicatively coupled to the server system to utilize the second command, via the particular media playing application, to control presentation of the referenced piece of content.
  • 18. The system of claim 17, the personal computing device further to— obtain a unique identifier of the content presentation system, andwherein the set of messages is generated based on the unique identifier.
  • 19. The system of claim 18, wherein the set of messages includes the unique identifier and the server system is further configured to establish an association between the personal computing device and the content presentation system based on the unique identifier.
  • 20. The system of claim 17, wherein the particular media playing application associated with the referenced piece of content is a first media playing application of a plurality of media playing applications, the first media playing application being operable to present and control the presentation of the referenced piece of content, andwherein the second format is associated with a configuration of the first media playing application and is selected from a plurality of formats based on the configuration of the first media playing application.
CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. application Ser. No. 16/917,095, filed Jun. 30, 2020, which is a continuation of U.S. application Ser. No. 15/687,249, filed Aug. 25, 2017, which is a continuation of U.S. application Ser. No. 13/532,546, filed on Jun. 25, 2012, which is a continuation-in-part of U.S. application Ser. No. 13/157,821, filed on Jun. 10, 2011, which claims the benefit of priority to U.S. Provisional Patent Application No. 61/477,998, filed on Apr. 21, 2011. The contents of the earlier applications are incorporated herein by reference.

US Referenced Citations (259)
Number Name Date Kind
4816905 Tweedy et al. Mar 1989 A
4855842 Hayes et al. Aug 1989 A
5189673 Burton et al. Feb 1993 A
5307055 Baskin et al. Apr 1994 A
5608446 Carr et al. Mar 1997 A
5608447 Farry et al. Mar 1997 A
5613137 Bertram et al. Mar 1997 A
5631903 Dianda et al. May 1997 A
5636211 Newlin et al. Jun 1997 A
5767897 Howell Jun 1998 A
5875311 Bertram et al. Feb 1999 A
5878311 Ichinokawa Mar 1999 A
5935232 Lambrecht et al. Aug 1999 A
5945987 Dunn Aug 1999 A
6008777 Yiu Dec 1999 A
6097441 Allport Aug 2000 A
6104334 Allport Aug 2000 A
6119154 Weaver et al. Sep 2000 A
6181713 Patki et al. Jan 2001 B1
6182094 Humpleman et al. Jan 2001 B1
6211869 Loveman et al. Apr 2001 B1
6252889 Patki et al. Jun 2001 B1
6271837 Naiff Aug 2001 B1
6330595 Ullman et al. Dec 2001 B1
6467090 Brodigan Oct 2002 B1
6476825 Croy et al. Nov 2002 B1
6496122 Sampsell Dec 2002 B2
6510553 Hazra Jan 2003 B1
6553567 Wugofski et al. Apr 2003 B1
6594826 Rao et al. Jul 2003 B1
6633547 Akatsu et al. Oct 2003 B1
6651089 Stead Nov 2003 B1
6756965 Combs et al. Jun 2004 B2
6978424 Safadi Dec 2005 B2
7058356 Slotznick Jun 2006 B2
7088823 Fetkovich Aug 2006 B2
7114173 Urdang et al. Sep 2006 B2
7136709 Arling et al. Nov 2006 B2
7330875 Parasnis et al. Feb 2008 B1
7383229 Jacoby Jun 2008 B2
7424718 Dutton Sep 2008 B2
7433922 Engstrom Oct 2008 B2
7440972 Oetzel Oct 2008 B2
7453454 Allen et al. Nov 2008 B2
7466823 Vestergaard et al. Dec 2008 B2
7509588 Van Os et al. Mar 2009 B2
7551918 Bowen et al. Jun 2009 B2
7614070 Urdang et al. Nov 2009 B2
7614073 Hugenberg et al. Nov 2009 B2
7689931 Koga et al. Mar 2010 B2
7769827 Girouard et al. Aug 2010 B2
7774708 Bell et al. Aug 2010 B2
7814144 Koyama et al. Oct 2010 B2
7835505 Toyama et al. Nov 2010 B2
7849485 Paik et al. Dec 2010 B2
7878904 Maehiro Feb 2011 B2
7913278 Ellis et al. Mar 2011 B2
7949606 Sweet May 2011 B1
7956846 Ording et al. Jun 2011 B2
3014768 Ackley Sep 2011 A1
8060631 CoIlart et al. Nov 2011 B2
8086679 Nobori et al. Dec 2011 B2
8171507 Hironaka et al. May 2012 B2
8230360 Ma et al. Jul 2012 B2
8238887 Filipov Aug 2012 B2
8250608 Hayes et al. Aug 2012 B2
8255968 Louie et al. Aug 2012 B2
8316308 Sherman et al. Nov 2012 B2
8344870 Evans et al. Jan 2013 B2
8373660 Pallakoff Feb 2013 B2
8402494 Hu et al. Mar 2013 B1
8418084 Tischer Apr 2013 B1
8433812 Mahajan et al. Apr 2013 B2
8544046 Gran et al. Sep 2013 B2
8572488 Phillips et al. Oct 2013 B2
8614625 Alsina et al. Dec 2013 B2
8620284 Filipov Dec 2013 B2
8644757 Curcio et al. Feb 2014 B2
8659553 Chan et al. Feb 2014 B1
8671440 Damola et al. Mar 2014 B2
8738536 Strom et al. May 2014 B2
8738737 Baldini et al. May 2014 B2
8739074 Kinoshita May 2014 B2
8739294 Risan May 2014 B2
8743284 Russell et al. Jun 2014 B2
8744434 Funderburk et al. Jun 2014 B2
8745228 Beckert et al. Jun 2014 B2
8745388 Kanungo Jun 2014 B2
8751159 Hall Jun 2014 B2
8751520 Bhattacharjee et al. Jun 2014 B1
8751793 Ginter et al. Jun 2014 B2
8752016 Hernandez Porras et al. Jun 2014 B2
8755919 Pyle Jun 2014 B2
8756333 Jannink et al. Jun 2014 B2
8756505 Gonze et al. Jun 2014 B2
8761351 Daly et al. Jun 2014 B1
8761792 Sennett et al. Jun 2014 B2
8762240 Sogo et al. Jun 2014 B2
8762548 Kessel et al. Jun 2014 B1
8763081 Bogdanovic et al. Jun 2014 B2
8782262 Collart et al. Jul 2014 B2
8789086 McCoy et al. Jul 2014 B2
8875180 Demchenko et al. Oct 2014 B2
8880491 Morris Nov 2014 B2
8918812 Hayward Dec 2014 B2
9071792 Alsina et al. Jun 2015 B2
9148756 Filipov Sep 2015 B2
9185171 Pahlavan et al. Nov 2015 B2
9258609 Odryna et al. Feb 2016 B2
9420025 Park Aug 2016 B2
9490998 Danciu et al. Nov 2016 B1
9680886 Arunachalam et al. Jun 2017 B2
9720887 Pappu et al. Aug 2017 B2
20020034193 Patki et al. Mar 2002 A1
20020075332 Geilfuss, Jr. et al. Jun 2002 A1
20020083147 Ripperger Jun 2002 A1
20020120666 Landsman et al. Aug 2002 A1
20020129102 Landsman et al. Sep 2002 A1
20020133518 Landsman et al. Sep 2002 A1
20020198778 Landsman et al. Dec 2002 A1
20030004804 Landsman et al. Jan 2003 A1
20030005000 Landsman et al. Jan 2003 A1
20030018885 Landsman et al. Jan 2003 A1
20030023488 Landsman et al. Jan 2003 A1
20030028565 Landsman et al. Feb 2003 A1
20030112258 Dietz et al. Jun 2003 A1
20030112268 Wettach Jun 2003 A1
20030142127 Markel Jul 2003 A1
20030182663 Gudorf et al. Sep 2003 A1
20040008972 Haken Jan 2004 A1
20040049743 Bogward Mar 2004 A1
20040088728 Shimizu May 2004 A1
20040268224 Balkus et al. Dec 2004 A1
20040268451 Robbin et al. Dec 2004 A1
20050034151 Abramson Feb 2005 A1
20050144305 Fegan, II et al. Jun 2005 A1
20050149970 Fairhurst et al. Jul 2005 A1
20060062544 Southwood et al. Mar 2006 A1
20060083194 Dhrimaj et al. Apr 2006 A1
20060085823 Bell et al. Apr 2006 A1
20060098624 Morgan et al. May 2006 A1
20060101098 Morgan et al. May 2006 A1
20060203758 Tee et al. Sep 2006 A1
20060263038 Gilley Nov 2006 A1
20060265657 Gilley Nov 2006 A1
20070050054 Sambandam Guruparan et al. Mar 2007 A1
20070052868 Chou et al. Mar 2007 A1
20070055986 Gilley et al. Mar 2007 A1
20070083540 Gundla et al. Apr 2007 A1
20070094408 Gundla et al. Apr 2007 A1
20070112785 Murphy et al. May 2007 A1
20070136778 Birger et al. Jun 2007 A1
20070150963 Lee et al. Jun 2007 A1
20070152978 Kocienda et al. Jul 2007 A1
20070152980 Kocienda et al. Jul 2007 A1
20070155506 Malik Jul 2007 A1
20070156855 Johnson Jul 2007 A1
20070202923 Jung et al. Aug 2007 A1
20070288715 Boswell et al. Dec 2007 A1
20070294621 Hansen et al. Dec 2007 A1
20080008439 Liu et al. Jan 2008 A1
20080028037 Moyer et al. Jan 2008 A1
20080034394 Jacobs et al. Feb 2008 A1
20080040758 Beetcher et al. Feb 2008 A1
20080077526 Arumugam Mar 2008 A1
20080104267 Dawson May 2008 A1
20080126943 Parasnis et al. May 2008 A1
20080140849 Collazo Jun 2008 A1
20080155600 Klappert et al. Jun 2008 A1
20080162670 Chapweske et al. Jul 2008 A1
20080178198 Gauba Jul 2008 A1
20080187279 Gilley et al. Aug 2008 A1
20080189617 Covell et al. Aug 2008 A1
20080250190 Johnson Oct 2008 A1
20080267369 Parlamas et al. Oct 2008 A1
20080270881 Meyer et al. Oct 2008 A1
20080301737 Hjelmeland Almas et al. Dec 2008 A1
20090019492 Grasset Jan 2009 A1
20090049373 Sharma et al. Feb 2009 A1
20090077467 Adappa et al. Mar 2009 A1
20090100477 Jeffs Apr 2009 A1
20090108057 Mu et al. Apr 2009 A1
20090164641 Rogers et al. Jun 2009 A1
20090172780 Sukeda et al. Jul 2009 A1
20090193466 Ehreth et al. Jul 2009 A1
20090228919 Zott et al. Sep 2009 A1
20090254827 Gonze et al. Oct 2009 A1
20090259944 Wu Oct 2009 A1
20090259969 Pallakoff Oct 2009 A1
20090270085 Jones et al. Oct 2009 A1
20090282470 Yang et al. Nov 2009 A1
20090298535 Klein et al. Dec 2009 A1
20090320065 Sloo et al. Dec 2009 A1
20100027974 Ansari Feb 2010 A1
20100081375 Rosenblatt et al. Apr 2010 A1
20100094728 Denning et al. Apr 2010 A1
20100094900 Hughes, Jr. Apr 2010 A1
20100137028 Farris et al. Jun 2010 A1
20100138746 Zarom Jun 2010 A1
20100138780 Marano et al. Jun 2010 A1
20100174993 Pennington et al. Jul 2010 A1
20100198860 Burnett et al. Aug 2010 A1
20100205628 Davis et al. Aug 2010 A1
20100208136 Castano Aug 2010 A1
20100241699 Muthukumarasamy et al. Sep 2010 A1
20100257569 O'Hanlon Oct 2010 A1
20100265939 Parlamas et al. Oct 2010 A1
20100281042 Windes et al. Nov 2010 A1
20100283586 Ikeda et al. Nov 2010 A1
20100313135 Johnson et al. Dec 2010 A1
20100325552 Sloo et al. Dec 2010 A1
20110007901 Ikeda et al. Jan 2011 A1
20110014972 Herrmann et al. Jan 2011 A1
20110030020 Halttunen Feb 2011 A1
20110032870 Kumar Feb 2011 A1
20110035692 Sandone et al. Feb 2011 A1
20110060998 Schwartz et al. Mar 2011 A1
20110084900 Jacobsen et al. Apr 2011 A1
20110090898 Patel et al. Apr 2011 A1
20110107227 Rempell et al. May 2011 A1
20110125594 Brown et al. May 2011 A1
20110131607 Thomas et al. Jun 2011 A1
20110137729 Weisman et al. Jun 2011 A1
20110138354 Hertenstein et al. Jun 2011 A1
20110138429 Schade et al. Jun 2011 A1
20110156879 Matsushita et al. Jun 2011 A1
20110161396 Filbrich et al. Jun 2011 A1
20110202466 Carter Aug 2011 A1
20110214148 Gossweiler, III et al. Sep 2011 A1
20110228768 Gelter et al. Sep 2011 A1
20110231265 Brown et al. Sep 2011 A1
20110231565 Gelter et al. Sep 2011 A1
20110231566 Gelter et al. Sep 2011 A1
20110267981 Davies Nov 2011 A1
20110289419 Yu et al. Nov 2011 A1
20110296454 Xiong et al. Dec 2011 A1
20110296465 Krishnan et al. Dec 2011 A1
20110314386 Jeong et al. Dec 2011 A1
20120054616 Mittal Mar 2012 A1
20120059875 Clark Mar 2012 A1
20120059876 Chinta et al. Mar 2012 A1
20120072846 Curtis Mar 2012 A1
20120102209 Getchius May 2012 A1
20120110074 Getchius May 2012 A1
20120110464 Chen et al. May 2012 A1
20120114313 Phillips et al. May 2012 A1
20120130971 Morris May 2012 A1
20120144416 Wetzer et al. Jun 2012 A1
20120151509 McCarthy et al. Jun 2012 A1
20120166560 Nobori et al. Jun 2012 A1
20120182994 Dec et al. Jul 2012 A1
20120185887 Newell Jul 2012 A1
20120192225 Harwell et al. Jul 2012 A1
20120239218 Forbes, Jr. Sep 2012 A1
20120254931 Oztaskent et al. Oct 2012 A1
20130014142 Newell Jan 2013 A1
20130250181 Zhang et al. Sep 2013 A1
20140033198 Umapathy et al. Jan 2014 A1
20160241912 McCarthy et al. Aug 2016 A1
Foreign Referenced Citations (15)
Number Date Country
101534449 Sep 2009 CN
101577650 Nov 2009 CN
101778198 Jul 2010 CN
101815073 Aug 2010 CN
0 872 987 Oct 1998 EP
2 175 607 Apr 2010 EP
2004-356695 Dec 2004 JP
2006-525771 Nov 2006 JP
9222983 Dec 1992 WO
2004100500 Nov 2004 WO
2007078745 Jul 2007 WO
2008070050 Jun 2008 WO
2008108718 Sep 2008 WO
2010151284 Dec 2010 WO
2011078879 Jun 2011 WO
Non-Patent Literature Citations (53)
Entry
“AnyRemote”, Retrieved from Internet URL: http://anyremote.sourceforge.net/, pp. 2 (2013).
“Best way to generate Random, Unique Session ID's”, vBulletin, Nov. 19, 2011, p. 1.
“Best way to generate Random, Unique ID's”, vBulletin, Internet Archive Wayback Machine, on Nov. 19, 2011, p. 1 (Jan. 2009).
“Control television phone”, Retrieved from Internet URL: http://www.bing.com/search ?q=control+television+phone&go=Submit +Query &qs=bs&for, Feb. 6, 2014, pp. 3.
“Control television server phone”, Retrieved from Internet URL: http://www.bing.com/search?q=control+television+server+phone&qs=n&form=QB LH&pq, Feb. 6, 2014, p. 1.
“Mobile device server display device”, Retrieved from Internet URL: http://www.ask.com/web?q=mobile+device+server+display+device&qsrc=0&o=0&1=dir, on Jul. 30, 2012, pp. 2.
“Mashable—10 Mobile Apps to Control Your TV”, Retrieved from Internet URL: http://mashable.eom/2012/11/28/apps-control-tv/, Nov. 28, 2012, pp. 102.
“Mobile Phone Television Remote Control”, Retrieved from Internet URL: http://www.fileguru.com/apps/mobile_phone_television_remote_control_app, pp. 5 (2013).
“Mobile server television control”, Retrieved from Internet URL: http://www.bing.com/search ?q=mobile+server+television+control&qs=n&form=QBLH&p, Jun. 26, 2014, p. 1.
“Mobile server television control media player”, Retrieved from Internet URL: http://www.bing.com/search ?q=mobile+server+television+control+media+player&q s=n&f, Jun. 26, 2014, p. 1.
“Phone Server television control”, Retrieved from Internet URL: http://www. bing.com/search?q=phone+server+television+control&qs=n&form=QBRE&p, Jun. 26, 2014, p. 1.
“Phone server television control media player”, Retrieved from Internet URL: http://www.bing.com/ search ?q=phone+server+television+control+ media+player&qs=n&f, Jun. 26, 2014, p. 1.
“Session identifier random”, Ask.com, Nov. 19, 2011, p. 1.
“Session cookie”, Webopedia Computer Dictionary, Nov. 19, 2011, pp. 3.
“Snapstick”, Snapstick—Home, Retrieved from Internet URL: http://www.snapstick.com/, on Dec. 12, 2019, pp. 2, (Mar. 2011).
“Smartphone Remote Control Apps Boxee Support”, Retrieved from Internet URL: http://support.boxee.tv/entries/20771358-smartphone-remote-control-apps, on Feb. 6, 2014, pp. 2 (Dec. 2011).
“Using AirPlay”, Retrieved from Internet URL : https://web.archive.org/web/20101129073434/http://support.apple.com/kb/HT4437, pp. 2 (2011).
Using the Play To feature to stream media, Retrieved from the Internet URL : http://windows.microsoft.com/en-US/windows7/using-the-play-to-feature-to-stream-media, pp. 3 ( Jun. 2011).
“User session”, Webopedia Computer Dictionary, Nov. 19, 2011, pp. 3.
“Web identifier”, Webopedia: Online Computer Dictionary for Internet Terms and Technical Support, Retrieved from Internet URL: http://www.webopedia.com/gsearchJresults?cx=partner-pub-8768004398756183%3A676, on Nov. 19, 2011, pp. 3.
“You Tube—Leanback”, Retrieved from Internet URL : https://www.youtube.com/watch?v=bITse42LpKA, p. 1 (2010).
“Yahoo!7 TV Guide”, Retrieved from the Internet URL : http://itunes.apple.com/au/app/yahoo-7-tv-guide/id424719922?mt=8, pp. 2 (2011).
Cheng, J., “Stream AirPlay video to regular TV? Apple might make it happen”, Retrieved from Internet URL : http://arstechnica.com/apple/news/2011/03/stream-airplay-video-to-a-regular-tv-apple-might-make-it-happen/, on Dec. 12, 2019, pp. 5 (Mar. 2011).
Dolcourt, J., et al., “Snapstick takes on Apple TV, Google TV,” Retrieved from Internet URL : https://www.cnet.com/news/snapstick-takes-on-apple-tv-google-tv/, Dec. 9, 2010, pp. 3.
Fallahkhair, S., et al., “Dual Device User interface Design for Ubiquitous Language Learning: Mobile Phone and nteractive Television {iTV)”, Proceedings of the 2005 IEEE International Workshop on Wireless and Mobile Technologies in Education,pp. 8 (2005).
Hu, C., et al., “Mobile Media Content Sharing in UPnP-Based Home Network Environment”, Journal of Information Science and Engineering 24, pp. 1753-1769 (2008).
Hachman, M., “Snapstick's Media Streaming App/Box: Hands On”, Retrieved from Internet URL : https://uk.pcmag.com/news/102838/snapsticks-media-streaming-appbox-hands-on, on Dec. 12, 2019, pp. 2 (Jan. 2011).
Paul, I., “Hands On: YouTube Leanback”, PCWORLD, Retrived from Internet URL : http://www.pcworld.com/article/200769/hands_on_youtube_leanback.html, pp. 6 (Jul. 2010).
Shaivitz, M., “The Web to Your TV, With a Flick of A Wrist? Slapstick Says Yes,” http://techcocktail.com/the-web-to-our-tv-with-a-flick-of-a-wrist-slapstick-says-yes-2010-12, on Mar. 2, 2011, pp. 2, (Dec. 10, 2010).
Non-Final Office Action dated Dec. 16, 2021 in U.S. Appl. No. 17/396,431, 18 pages.
Notice of Allowance dated Feb. 14, 2022 in U.S. Appl. No. 17/396,431, 8 pages.
“Audiovisual Multimedia Services: Video on Demand Specification 1.0”, The ATM Forum Technical Committee, pp. 1-36 (Dec. 1995).
“Time-shared, Interactive, Computer Controlled Information Television (TICCIT)”, MITRE Corporation, Retrieved from Internet URL: https://en.wikipedia.org/wiki/TICCIT, accessed on May 5, 2022, p. 2.
Balabanian, V., et al., “An Introduction to Digital Storage Media—Command and Control (DSM-CC)”, IEEE Communications Magazine, pp. 1-15 (1996).
Balabanian, V., et al., “Digital Storage of Media-Command and Control Protocol Applied to ATM”, IEEE Journal On Selected Areas in Communications, vol. 14, No. 6, pp. 1162-1172 (Aug. 1996).
Chang, Y-H., et al., “An Open-Systems Approach to Video on Demand”, IEEE Communications Magazine, pp. 68-80 (May 1994).
Foley, J. D., et al., “Effective Software Systems for Scientific Data Visualization”, SIGGRAPH, Panel Proceedings, pp. 111-136 (1989).
Fukuoka, H., and Mizuno, H., “A Multimedia Integration Trial for Groupware with Video-on-Demand”, IEEE International Workshop on Community Networking, pp. 97-102 (1996).
Furht, B., et al., “Design Issues for Interactive Television Systems”, Computer, IEEE, vol. 28, No. 5, pp. 25-39 (May 1995).
Haber, R. B., et al., “Eliminating Distance in Scientific Computing: An Experiment in Televisualization”, The International Journal of Supercomputer Applications, vol. 4, No. 4, pp. 1-19 (1990).
Himonas, S. D., and Gelman, A. D., “A Digital Storage Media-Command and Control Network”, IEEE, pp. 766-770 (1997).
Hodge, W., et al., “Video On Demand: Architecture, Systems, and Applications”, SMPTE Journal, pp. 791-803 (Sep. 1993).
Honcharenko, W., “Broadband Wireless Access”, IEEE Communications Magazine, pp. 20-26 (Jan. 1997).
Kerr, M., et al., “Integrated Narrowband/Broad band Access Architecture”, SMPTE Journal, vol. 106, Issue 5, pp. 285-297 (May 1997).
Kumar, B., “Access Strategies for Communication Service Providers”, Technology Futures Inc., pp. 9-18 (1996).
Kwok, T., “A Vision for Residential Broadband Services: ATM-to-the-Home”, IEEE Network, pp. 14-28 (1995).
Mesiya, M. F., “Implementation Of Broadband Integrated Services Distribution Network”, Proceedings of SPIE, Fiber Optic Networks & Coherent Technology in Fiber Optic Systems II, vol. 841, pp. 1-14 (1987).
Pekowsky, S., and Jåger, R., “The Set-Top Box as “Multi-Media Terminal””, IEEE Transactions on Consumer Electronics, pp. 308-309 (1998).
Steinfeldt., J., “Televisualization: Science by Satellite”, Illinois Media Space, Retrieved from Internet URL : https://mediaspace.illinois.edu/media/U1_z8mbj712, accessed on May 11, 2022, p. 11 (Dec. 9, 2015).
Woo, H. Y., and Kim, C-K., “Multicast Scheduling for VOD Services”, Multimedia Tools and Applications, vol. 2, pp. 157-171 (1996).
Craig Kuhl, “Serving Up A New Business”, CED Magazine (May 1999).
Notice of Allowance dated May 31, 2022 in U.S. Appl. No. 17/396,431, 8 pages.
Ivan Sanchez, Marta Cortés, Jukka Riekki, Controlling Multimedia Players Using NFC Enabled Mobile Phones, Conference: 6th International Conference on Mobile and Ubiquitous Multimedia, MUM Dec. 2007, Oulu, Finland.
Related Publications (1)
Number Date Country
20210365495 A1 Nov 2021 US
Provisional Applications (1)
Number Date Country
61477998 Apr 2011 US
Continuations (3)
Number Date Country
Parent 16917095 Jun 2020 US
Child 17396446 US
Parent 15687249 Aug 2017 US
Child 16917095 US
Parent 13532546 Jun 2012 US
Child 15687249 US
Continuation in Parts (1)
Number Date Country
Parent 13157821 Jun 2011 US
Child 13532546 US