throbber
Docket No. 1133-051USP1
`
`FIG. 1. A user may interact with user interface 84 and/or display 88 to execute the remote
`
`control application. Processor 96 then executes the remote control application and causes
`
`display 88 to display a remote control application user interface to the user. In another
`
`example, a remote control application may be stored on one or more servers on a network
`
`and be accessible via the network. For example, a user may interact with user interface 84
`
`and/or display 88 to execute a web browser. Processor 96 then executes the web browser
`
`application and causes display 88 to display a web browserto the user. The user may then
`
`interact with user interface 84 and/or display 88 to utilize a website containing remote control
`
`application content.
`
`10:63-11:6
`10:63-11:6
`
`[0050] A user may use the remote control application of remote control 75, for example, to
`
`initiate contact with a server, such as server 24, for pairing remote control 75 to one or more
`
`controlled devices, such as controlled device 18 shown in FIG. 1. In some examples, the user
`
`may also utilize the remote control application of remote control 75 to select one or more
`
`previously paired controlled devices, and to send control messages to one or more paired
`
`controlled devices. For example, the user may interact with user interface 84 and/or display
`
`88 to interact with and control any available controlled devices.
`
`11:7-21
`11:7-21
`
`[0051] FIG. 4 is a block diagram illustrating an example controlled device 118, which may
`
`be an example of controlled device 18 shown in FIG. 1 or one of controlled devices 64
`
`shown in FIG, 2. According to one example ofthe present disclosure, controlled device 118
`
`includes userinterface 120, display 124, storage device 128, one or more processors 132, and
`
`network module 136. Other example implementations of controlled device 118 are possible,
`
`having more or fewer components than those shown in FIG. 4. For example, controlled
`
`device 118 may be a personal computer having additional components(e.g., an opticaldrive,
`
`a camera,etc.). In another example, controlled device 118 may be a personal media player
`
`having fewer components than those shownin FIG. 4 (e.g., a personal media playerthat
`
`lacks a display).
`
`11:22-35
`11:22-35
`
`[0052] User interface 120 allowsa user of controlled device 118 to interact with controlled
`
`device 118. Examples of user interface 120 include an embedded keypad or other buttons.
`
`The user interface 120 may also include a detachable or otherwise independent device, such
`
`as a traditional remote control device having a keypad, a keyboard, a mouse,aroller ball,
`
`buttons, or other devices that allow a user to interact with controlled device 18. A user may
`
`15
`
`

`

`Docket No. 1133-051USP1
`
`utilize user interface 120 to control media content being presented by controlled device 118
`
`(e.g., audio or video content). In an example, a user may utilize user interface 120 to
`
`navigate to a web page on the Internet in order to display the content hosted by the web page
`
`(e.g., YouTube®, Hulu®, Netflix®, other subscription or non subscription based video
`
`content).
`
`11:36-44
`11:36-44
`
`[0053] Display 124 may comprise a variety of display devices suchas a liquid crystal display
`
`(LCD), an e-ink display, a cathode ray tube (CRT), a plasmadisplay, an organic light
`
`emitting diode (OLED)display, or another type of display device. Display 124 presents
`
`content to a user of controlled device 118. For example, display 124 may be configured to
`
`present audio and/or video content from a cable service provider, a satellite television
`
`provider, content accessible via the World Wide Web, or other content providers.
`
`11:45-55
`11:45-55
`
`[0054] Although controlled device 118 is shown asincluding display 124, aspects ofthis
`
`disclosure should not be considered limited to examples that include display 124. In some
`
`examples of controlled device 118, display 124 may be optional. For example, if controlled
`
`device comprises a web-enabled music playeror a radio, controlled device 118 may not
`
`include display 124. In other examples, controlled device 118 may include an external,
`
`independentdisplay. For example, controlled device 118 may be configured as a set top box
`
`or other componentthat is connectable to a display.
`
`11:56-67
`11:56-67
`
`[0055] Storage device 128 stores instructions for applications 130 that may be executed by
`
`one or more processors 132 associated with controlled device 118. For purposes of
`
`illustration only in the following description, applications 130 that may be executed by one
`
`or more processors 132 are described below as being executed by one processor 132.
`
`Applications 130 may bepre installed by a manufacturer of controlled device 118, or may be
`
`downloaded by a user from a server via a network, such as servers 24 and network 22 shown
`
`in FIG. 1. Applications 130 may be executed by processor 132 in response to a user
`
`interacting with controlled device 118 to execute the applications 130.
`
`12:1-15
`12:1-15
`
`[0056] Storage device 128 mayalso include instructions that cause processor 132 to perform
`
`various functions ascribed to processor 132 in this disclosure. Storage device 132 may
`
`comprise a computer-readable, machine-readable, or processor-readable storage medium that
`
`comprises instructions that cause one or more processors, e.g., processor 132, to perform
`
`various functions. Storage device 132 may include any volatile, non-volatile, magnetic,
`
`16
`
`

`

`Docket No. 1133-051USP1
`
`optical, or electrical media, such as a random access memory (RAM), read-only memory
`
`(ROM), non-volatile RAM (NVRAM),electrically-erasable programmable ROM
`
`(EEPROM), flash memory, or any other digital media. In some embodiments, storage device
`
`132 may comprise one or more of a non-transitory/tangible storage media, where the data
`
`stored in such media may or may not change (e.g., ROM, RAM).
`
`12:16-31
`12:16-31
`
`[0057] A user may interact with user interface 120 and/or display 124 to execute one or more
`
`of applications 130 stored on storage device 128. Some applications 130 may be executed
`
`automatically by controlled device 118 such as when controlled device 118 is turned on or
`
`booted up.
`
`In response, processor 132 executes the one or more applications 130 selected by
`
`a user, or executes the one or more applications 130 executed by controlled device 118.
`
`Processor 132 may include any one or more of a microprocessor, a controller, a digital signal
`
`processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate
`
`array (FPGA), or equivalent discrete or integrated logic circuitry. Additionally, the functions
`
`attributed to processor 132, in this disclosure, may be embodiedas software, firmware,
`
`hardware or any combination thereof.
`
`12:32-49
`12:32-49
`
`[0058] Processor 132 may execute one or more of applications 130 either alone or
`
`simultaneously. Examples of applications 130 include an application for displaying
`
`television content provided bya satellite or cable provider, an application for displaying
`
`content hosted on the World Wide Web, a web browserapplication, a social networking
`
`application, an e-mail application, programsto retrieve stock quotes, programsto search for
`
`restaurants, programsthat retrieve current and future weather information, games, a program
`
`to search the Internet, a program that provides news, a program that provides maps, and other
`
`programsexecuted by processor 132. Applications 130 may be executed based on a request
`
`from a user, and may be terminated based on a request from a user. Someapplications 130
`
`may be running continuously in the background. Someapplications 130 may be executed
`
`automatically by controlled device 118 such as at power up and may be terminated
`
`automatically by controlled device 118 such as at power down.
`
`12:50-13:3
`12:50-13:3
`
`[0059] In some examples, any application of applications 130 executed by processor 132
`
`may require data from one or more ofservers, such as servers 24 shown in FIG. 1. Network
`
`module 136 is configured to transmit data/requests to and receive data/responses from one or
`
`more servers via network. Network module 136 may provide received data to processor 132
`
`17
`
`

`

`Docket No. 1133-051USP1
`
`for further processing. Network module 136 may support wireless or wired communication,
`
`and includes appropriate hardware and software to provide wireless or wired communication.
`
`For example, network module 136 mayinclude an antenna, modulators, demodulators,
`
`amplifiers, and other circuitry to effectuate communication between controlled device 118
`
`and one or more servers associated with a network. Network module may 100 may
`
`communicate with one or more servers associated with the network according to a network
`
`communication protocol, such as, for example, hypertext transfer protocol (HTTP), HTTP
`
`secured by transport layer security or secure sockets layer (HTTPS), simple mail transfer
`
`protocol (SMTP), simple object access protocol (SOAP), or other communication protocols.
`
`13:4-15
`13:4-15 [0060] Controlled device 118 may be used, in some examples, in conjunction with a remote
`
`control, such as remote control 14 shown in FIG. 1, remote controls 62 shown in FIG. 2, or
`
`remote control 75 shown in FIG. 3. For example, storage device 92 may store application
`
`instructions associated with a video application or web browserfor displaying video content
`
`from the World Wide Web (e.g., YouTube® content, Hulu® content, Netflix® content, etc.).
`
`A user may interact with user interface 120 to execute the video or web browserapplication.
`
`Processor 120 then executes the video or web browserapplication and causes display 124 to
`
`display content to the user.
`
`13:16-32
`13:16-32 [0061] A user may utilize the video application of applications 130 or web browser of
`
`controlled device 118 to facilitate pairing of controlled device 118 to one or more remote
`
`controls, such as remote control 14 shown in FIG. 1. For example, controlled device 118
`
`maynotify a server, such as sever 24 shown in FIG. 1, that it is available to be joined to a
`
`session maintained by server 24 upon powering on or executing a video or web browser
`
`application. In other examples, a controlled device 118 may provide an interface that allows
`
`a user to authorize one or more remote controls to send commandsto controlled device 118
`
`via anetwork. Additionally or alternatively, controlled device 118 may display a QR code
`
`using display 124 that can be scanned by a remote control. After scanning the QR code
`
`displayed using display 124 with the remote control, the remote control may be authorized to
`
`send control signals to controlled device 118 via the network.
`
`13:33-47
`13:33-47 [0062] FIG. 5 is a block diagram illustrating an example server 160 associated with network
`
`162, which may be an example ofservers 24 of network 22 shown in FIG. 1, or servers 68 of
`
`network 66 shown in FIG. 2, in accordance with one aspect of the present disclosure. While
`
`18
`
`

`

`Docket No. 1133-051USP1
`
`described herein in relation to servers 68 of FIG. 2, server 160 may also be implemented in a
`
`variety of other network environments having components other than those shownin FIG. 2.
`
`As shownin FIG. 5, server 160 may be comprised as a single unit with an interface module
`
`164, a device management module 168, and a data repository 172. While shownasa single
`
`unit in FIG. 5, in other implementations, hardware and functions associated with server 160
`
`may be spread among more than oneserver unit. In addition, sever 160 may include more
`
`modules shownin FIG. 5.
`
`13:48-61
`13:48-61
`
`[0063] Interface module 164 is configured to accept signals being received by the server 160
`
`and transmit signals being transmitted by server 160. In some examples, input and output
`
`networkinterfaces of the interface module 164 may befunctionally integrated, while in other
`
`examples, input and output interfaces may be separate interfaces of interface module 164.
`
`For example, network interfaces of interface module 164 may include one or more network
`
`interface cards (NICs) configured to communicate over, for example, Ethernet, Transmission
`
`Control Protocol (TCP), Internet protocol (IP), Asynchronous Transfer Mode (ATM), or
`
`other network communication protocols. In some examples, server 160 may include a
`
`plurality of either or both input and outputinterfaces.
`
`13:62-14:9
`13:62-14:9
`
`[0064] Data repository 172 stores information such as user information, session information,
`
`unique identifier numbers, and any other information required to carry out data transfer
`
`between remote control 14 and controlled device 18. In some examples, an entry within data
`
`repository 172 includes a unique identification numberthat has been assigned to a remote
`
`control or controlled device. Alternatively or additionally, an entry within data repository
`
`172 may identify an association between a remote control and a controlled device. In some
`
`examples, data repository 172 may also be configured to store data from past sessions
`
`between remote control 14 and controlled device 18. In some examples, data repository 172
`
`may bestructured as one or moretables, databases, linkedlists, radix trees, Google File
`
`Systems, Google BigTable database systems, or other suitable data structure.
`
`14:10-36
`14:10-36
`
`[0065] Device management module 168 generates messages, as well as controls messages
`
`being received from and messages being transmitted to remote controls 62 and controlled
`
`devices 64 of FIG. 2. In some examples, device management module 168 receives messages
`
`from remote controls 62 and controlled devices 64 notifying device management module 168
`
`that the devices are available for pairing. Device management module 168 may authorize
`
`19
`
`

`

`Docket No. 1133-051USP1
`
`devices according to permissionsset by a user having a user account. After providing
`
`authorization, device management module 168 may generate an identification message to aid
`
`device management module 168 in managing a session. In the example of one of remote
`
`controls 62, such as remote control 62A, requesting authorization to join a session
`
`maintained by device management module 168, device management module 168 assigns
`
`remote control 62A a unique session identification number (SID). Device management
`
`module 168 may also store the SID associated with remote control 62A in data repository
`
`172, and return the SID to remote control 62A. Device management module 168 may also
`
`generate and store unique SIDsfor controlled devices 64 in a similar manner. For example,
`
`device management module 168 may assign each connected controlled device 64 that
`
`requests authorization to join a session maintained by device management module with a
`
`unique SID whichthe controlled devices 64 can then use to identify itself in future
`
`communications.
`
`14:37-64
`14:37-64
`
`[0066] After assigning SIDs to connected devices, device management module 168 can
`
`manage messages between remote controls 62 and controlled devices 64. For example,
`
`device management module 168 may receive a message containing an SID and control
`
`information from one of remote controls 62, such as remote control 62A, for controlling on
`
`or more controlled devices 64. Device management module 168 then identifies the session
`
`that includes the SID of remote control 62A and determines the intended recipient(s) (e.g.,
`
`one or more controlled devices 64) based on the other membersof the session that have been
`
`assigned SIDs. That is, device management module 168 queries data repository 172 to
`
`determine the SIDsofall devices included in the session. After determining which
`
`controlled devices 64 are associated with the session, device management module 168
`
`transmits the control information to the intended controlled devices 64. In some examples,
`
`device management module 168 transmits the control information to all devices having SIDs
`
`that are associated with the session. Devices receiving the control information that are not
`
`configured to execute the control information (e.g., other remote controls 62 of the session)
`
`can ignore the message. In other examples, device management module 168 determines
`
`which SIDs ofthe session are associated with controlled devices 64, and transmits the control
`
`information to only the controlled devices 64. The control messages can be used by the
`
`controlled devices 64 to alter playback of content of controlled devices 64.
`
`20
`
`

`

`14:65-15:27
`14:65-15:27 [0067] Device management module 168 mayalso control messages being transmitted from
`
`Docket No. 1133-051USP1
`
`controlled devices 64 to remote controls 62. For example, after assigning SIDs to connected
`
`devices, device management module 168 may be configured to receive a message containing
`
`an SID from a controlled device, such as controlled device 64A, as well as content
`
`information for updating a user interface associated with one or more connected remote
`
`controls 62. Device management module 168 then identifies the session that includes the
`
`SID of controlled device 64A and determines the indented recipient(s) (e.g., one or more
`
`remote controls 62) based on the other membersof the session that have been assigned SIDs.
`
`That is, device management module 168 queries data repository 172 to determine the SIDs of
`
`all devices included in the session. After determining which remote controls 62 are
`
`associated with the session, device management module 168 transmits the content
`
`information to the intended remote controls. In some examples, device management module
`
`168 transmits the content information to all devices having SIDs that are associated with the
`
`session. Devices receiving the content information that are not configured to execute the
`
`content information (e.g., other controlled devices 64 of the session) can ignore the message.
`
`In other examples, device management module 168 determines which SIDsofthe session are
`
`associated with remote controls 62, and transmits the content information to only the remote
`
`controls 62. The content information may be used by the remote controls 62 to update a user
`
`interface of remote controls 62 or update playlist information of remote controls 62.
`
`15:28-41
`15:28-41
`
`[0068] According to some aspects of the disclosure, device management module 168 carries
`
`out the routing of information between remote controls 62 and controlled devices by
`
`“pairing” the remote controls 62 and controlled devices 64 using the identification numbers
`
`described above. In some examples, device management module 168 pairs all authorized
`
`devices that have been issued an SID. In other examples, device management module 168
`
`identifies and stores associations of remote controls 62 and controlled devices 64 to facilitate
`
`repeat communication between remote controls 62 and controlled devices 64. Device
`
`management module 168 may pair devices in a variety of ways including, for example,
`
`utilizing QR codesor allowing a user to manage pairing via a userinterface.
`
`15:42-58
`15:42-58 [0069] In some examples, device management module 168 may utilize a QR code to
`
`facilitate a device joining a session and being paired with other devices of the session. For
`
`example, device management module 168 may generate a unique session identification
`
`21
`
`

`

`Docket No. 1133-051USP1
`
`numberthat identifies a session. Upon scanning the QR code(e.g., the QR code being
`
`displayed on one or more of controlled devices 64), a remote control, such as remote control
`
`62A, transmits a message to device management module 168 to request that remote control
`
`62A be included in the session identified in the QR code. In some examples, device
`
`management module 168 then authorizes remote control 62A, issues remote control 62A an
`
`SID, and adds the SID to the session. The process can be repeated by other remote controls
`
`62, such that device management module pairs multiple remote controls 62 with controlled
`
`device 64A,thereby allowing controlled device 64A to receive commands from multiple
`
`remote controls 62.
`
`15:59-16-6
`15:59-16-6 [0070] In other examples, a user may access a user accountstored, for example, in data
`
`repository 172 to enable device management module 168 to pair remote controls 62 and
`
`controlled devices 64. For example, a user may log into a user account maintained on server
`
`160 to associate devices(e.g., any of remote controls 62 or controlled devices 64) with the
`
`user account. Unique identification numbers for each device may be stored, for example, in
`
`data repository 172. The user may then identify remote controls 62 as remote control devices
`
`and controlled devices 64 as controlled devices, and device management module 168 can pair
`
`the devices according to the user’s preferences. After pairing, device management module
`
`168 can facilitate communication between remote controls 62 and controlled devices 64.
`
`16:7-14
`16:7-14
`
`[0071] According to some aspects of the disclosure, remote controls 62 and controlled
`
`devices 64 are HTTP clients of server 160. That is, server 160 is configured to receive and
`
`transmit messages according to HTTP protocol. In other examples, however, server 160 may
`
`be configured to receive and transmit messages according to other protocols, such as
`
`Extensible Messaging and Presence Protocol (XMPP) or Remote Procedure Call (RPC)
`
`protocol.
`
`16:15-23
`16:15-23
`
`[0072] FIG. 6 is a flowchart illustrating an example operation of a remote control
`
`communicating with a network server, in accordance with one aspect of the present
`
`disclosure. For purposesofillustration only, the method of FIG, 6 is described with respect
`
`to networked environment 10 of FIG. 1, though various other systems and/or devices may be
`
`utilized to implement or perform the method shownin FIG.6.
`
`16:24- 46
`16:24- 46 [0073] According to some examples, remote control 14 notifies servers 24 that remote
`
`control is connected to network 22, and servers 24 assign remote control 14 a remote control
`
`22
`
`

`

`Docket No. 1133-051USP1
`
`identifier (e.g., a unique SID) (200). Remote control 14 may notify servers 24, for example,
`
`automatically upon being powered on. In another example, a user maylog in to a user
`
`account maintained by the servers 24 using a remote control application on remote control
`
`14, thereby notifying servers 24 that remote control 14 is connected to network 22. In
`
`another example, remote control 14 may notify servers 24 that it is connected to network 22
`
`and request an SID by,for example, scanning a QR code displayed on controlled device 18.
`
`The QR code may be associated with a user account or active session, and severs 24 may
`
`assign remote control 14 an SID associated with the user account or session. In some
`
`examples, prior to assigning remote control 14 an SID, server 24 verifies that remote control
`
`14 is authorized to be assigned an SID. For example, a user may maintain an account on
`
`servers 24 that includes permissions regarding which remote controls and controlled devices
`
`can be associated with the user account and assigned SIDs. Upon authorization (e.g,. HTTP
`
`authorization using HTTP header information), servers 24 assign remote control 14 an SID.
`
`16:47-54
`16:47-54
`
`[0074] Remote control 14 also transmits a messageto server 24 that includes a remote
`
`control identifier and control information. For example, the remote control identifier may
`
`include the SID issued by severs 24 that identifies remote control 14 as being part of a
`
`session maintained by servers 24 (204). The control information may include data intended
`
`to alter the operation of controlled device 18 (e.g., stop playback of content, move to other
`
`content, etc.).
`
`16:55-67
`16:55-67
`
`[0075] Server 24 then identifies controlled device 18 that is intended to receive the control
`
`information. For example, server 24 may query a database of stored identification numbers
`
`to determine which controlled device is associated with the session that includes the remote
`
`control identifier. Server then transmits the control information to the intended controlled
`
`device 18 (210). In some examples, server 24 forwards the control information from the
`
`message directly to one or more controlled devices 18. In other examples, server 24 may
`
`process and/or repackage the control information of the message into a new message. After
`
`receiving the control information, controlled device 18 executes an action in accordance with
`
`the control information (212).
`
`17:1-12
`17:1-12 [0076] In some examples, multiple remote controls 14 can be paired with a single controlled
`
`device 18. For example, a plurality of remote controls 14 may be used by one or more users
`
`to scan the same QRcodedisplayed on a single controlled device 18. In this example, the
`
`23
`
`

`

`Docket No. 1133-051USP1
`
`server may transmit a control message from eachof the plurality of remote controls 14 to
`
`controlled device 18. Server 24 may also maintain a priority list that provides certain remote
`
`controls 14 with a higher priority than other remote controls. Upon receiving conflicting
`
`commands simultaneously, then, server 24 can refer to the priority list to determine which
`
`control information to send to controlled device 18.
`
`17:13-20
`17:13-20 [0077] FIG. 7 is a flowchart illustrating an example operation of a network server handling
`
`communication between a remote control and a controlled device, in accordance with one
`
`aspect of the present disclosure. For purposesofillustration only, the method of FIG, 7 is
`
`described with respect to networked environment 10 of FIG. 1, though various other systems
`
`and/or devices maybe utilized to implement or perform the method shown in FIG.7.
`
`17:21-43
`17:21-43 [0078] In some examples, server 24 receives a message from remote control 14 having a
`
`remote control identifier and control information (220). For example, the message from
`
`remote control 14 may contain an SID issued by servers 24 that identifies remote control 14
`
`as being part of a session. In addition, the message may contain control information intended
`
`to alter the operation of one or more controlled devices 18 (e.g., stop playback, begin next
`
`paybackitem, etc.). After receiving the message from remote control 14, server 24 retrieves
`
`a controlled device identifier that identifies one or more controlled devices 18 intended to
`
`receive the control information (224). For example, server 24 may query a database of stored
`
`identification numbers to determine which controlled device is associated with the session
`
`that includes the remote control identifier. Server 24 then transmits a message to the
`
`intended recipients (one or more controlled devices 18) of the control information (228). In
`
`some examples, server 24 forward the control information from the first message directly to
`
`one or more controlled devices 18. In other examples, server 24 may process and/or
`
`repackage the control information of the message from remote control 14 into a new
`
`message, which can be sent to the intended recipients of the control information.
`
`17:44-57
`17:44-57 [0079] Server 24 may, in some examples,initialize a group session upon receiving the
`
`message from remote control 14. For example, server 24 may maintain a session that
`
`includes the identifiers for all of the components sending and receiving messages(e.g.,
`
`remote control(s) 14 and controlled device(s) 18). The session may be maintained by a
`
`device management module (such as device management module 168 shownin FIG. 5) of
`
`server 24 in order to efficiently route the messages from remote control 14 to controlled
`
`24
`
`

`

`Docket No. 1133-051USP1
`
`device 18, as well as messages from controlled device 18 to remote control 14 (e.g., as
`
`discussed below with respect to FIGS. 8 and 9). Server 24 maystore identifiers associated
`
`with a session in a data repository (such as data repository 172 shown in FIG. 5).
`
`17:58-65
`17:58-65
`
`[0080] FIG. 8 is a flowchart illustrating an example operation of a network server handling
`
`communication between a controlled device and a remote control, in accordance with one
`
`aspect of the present disclosure. For purposesofillustration only, the method of FIG, 9 is
`
`described with respect to networked environment 10 of FIG. 1, though various other systems
`
`and/or devices maybe utilized to implement or perform the method shown in FIG,9.
`
`17:66-18:16
`17:66-18:16 [0081] According to some examples, controlled device 18 notifies servers 24 that controlled
`
`device 18 is connected to network 22, and servers 24 assign controlled device 18 a controlled
`
`device identifier (e.g., a unique SID) (236). Controlled device 18 may notify servers 24, for
`
`example, automatically upon being powered on. In another example, a user may log in to a
`
`user account maintained by the servers 24 using an application on controlled device 18 (e.g.,
`
`a web browserapplication), thereby notifying servers 24 that controlled device 18 is
`
`connected to network 22. In some examples, prior to assigning controlled device 18 an SID,
`
`server 24 verifies that controlled device 18 is authorized to be assigned an SID. For example,
`
`a user may maintain an account on servers 24 that includes permissions regarding which
`
`remote controls and controlled devices can be associated with the user account and assigned
`
`SIDs. Upon authorization (e.g,. HTTP authorization using HTTP header information),
`
`servers 24 assign controlled device 18 an SID.
`
`18:17-26
`18:17-26
`
`[0082] Controlled device 18 also transmits a message to server 24 that includes a controlled
`
`device identifier and content information. For example, the controlled device identifier may
`
`include the SID issued by severs 24 that identifies controlled device 18 as being part of a
`
`session (238). The content information may include data intended to update a user interface
`
`of remote control 14 (e.g., update playlist information, request user to take action regarding
`
`content playback, notify user that playback of new content has begun, andthelike).
`
`18:27-41
`18:27-41
`
`[0083] Server 24 then receives the message from controlled device 18 and identifies remote
`
`control 14 that is intended to receive the content information (240). For example, server 24
`
`may query a database ofstored identification numbers to determine which remote control 14
`
`is associated with the session that includes the controlled device identifier. Server 24 then
`
`transmits the control information to the intended controlled device 18 (242). In some
`
`25
`
`

`

`Docket No. 1133-051USP1
`
`examples, server 24 forwards the content information from the message directly to one or
`
`more remote controls 14. In other examples, server 24 may process and/or repackage the
`
`content information of the message into a new message. After receiving the content message
`
`from server 24, remote control executes an action in accordance with the message(e.g.,
`
`update a user interface of remote control 14) (244)).
`
`18:42-54
`18:42-54 [0084] Messages other than those specifically described with respect to FIG. 8 may also be
`
`exchanged between controlled device 18 and server 24. According to some aspects of the
`
`disclosure, controlled device 18 may complete a preliminary identification process, during
`
`which server 24 supplies controlled device 18 with an identification number. For example,
`
`prior to transmitting a message to remote control 14, controlled device 18 mayinitiate
`
`contact with server 24 to request an identification number. Server 24 may then generate an
`
`identification numberandtransmit the identification numberto controlled device 18.
`
`Controlled device 18 can then incorporate that identification numberinto the identifier
`
`portion of the message described above.
`
`18:55-62
`18:55-62 [0085] FIG. 9 is a flowchart illustrating an example operation of a controlled device
`
`communicating with a network server, in accordance with one aspect of the present
`
`disclosure. For purposesofillustration only, the method of FIG, 9 is described with respect
`
`to networked environment 10 of FIG. 1, though various other systems and/or devices may be
`
`utilized to implement or perform the method shownin FIG.9.
`
`18:63-19:7
`18:63-19:7
`
`[0086] In some examples, server 24 receives a message from controlled device 18 having a
`
`controlled device identifier and content information (250). For example, the message from
`
`controlled device 18 may contain an SID issued by servers 24 that identifies controlled
`
`device 18 as being part of a session. In addition, the message may contain content
`
`information intended to notify a user of an event regarding controlled device 18, or to prompt
`
`a user of remote control 14 to take an action (e.g., notification that playback has stopped,
`
`notification that play

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket