`
`NETWORK-BASED REMOTE CONTROL
`
`1:9-10
`1:9-10 [0001] The disclosure relates to techniques for controlling networked devices, such as
`
`personal computers, tablet computers, cellular telephones, televisions, and gaming consoles.
`
`TECHNICAL FIELD
`
`BACKGROUND
`
`1:14-25
`1:14-25 [0002] Various computing devices may be used to control a homeelectronic device such as a
`
`television, personal computer, tablet computer, stereo, or other computing device capable of
`
`outputting audio and/or video content. Remote controls typically communicate directly with
`
`the device being controlled. For example, a user may actuate buttons on the remote control,
`
`which causes the remote control to transmit a signal directly to the device being controlled.
`
`The device interprets the received signal and performs a correspondingaction (ce.g., altering
`
`the content being played on the device). For instance, a user may use a remote control to
`
`change the channelofa television.
`
`1:26-35
`1:26-35 [0003] In one conventional solution, a user may control the playback of video on a television
`
`via a web application displayed on the television using a keyboard and mouse. In another
`
`conventionalsolution, the user may pair a device that acts as a remote control directly with
`
`the device outputting the audio and video(e.g., a television or stereo), such that the device
`
`outputting the audio and videoacts as a server to the remote control by, for example,
`
`communicating directly with the remote control and accepting incoming connections from
`
`the remote control.
`
`SUMMARY
`
`1:39-50
`1:39-50
`
`[0004] In general, this disclosure is directed to techniques for exchanging information
`
`between a networked device, such as a network-enabled television, and web-enabled device,
`
`such as a remote control, via a networkservice (e.g., a “cloud service”). In an example, the
`
`web-enabled device can transmit control information via the network service to the
`
`networked device to control playback of media content(e.g., audio and/or video content) on
`
`the networked device. In another example, the networked device can transmit information
`
`Charter Ex. 1181
`
`Charter Ex. 1181
`
`
`
`Docket No. 1133-051USP1
`
`via the network service to the web-enabled device, such as status information concerning the
`
`networked device.
`
`1:51-2:5
`1:51-2:5
`
`[0005] In one example, the disclosure is directed to an article of manufacture comprising a
`
`computer-readable storage medium encoded with instructions for causing one or more
`
`programmable processors of a computing device to receive, by a server, a first message from
`
`a remote control, wherein the first message includes a remote control identifier that uniquely
`
`identifies the remote control, and wherein the first message further includes control
`
`information for controlling one or more functions of at least one device other than the remote
`
`control. The instructions also cause on or more programmable processors of the computing
`
`device to retrieve, by the server, at least one controlled device identifier from a data
`
`repository based on the remote control identifier, wherein the at least one controlled device
`
`identifier uniquely identifies at least one controlled device that is distinct from and external
`
`to the server. The instructions also cause on or more programmable processors of the
`
`computing device to send a second message from the serverto the at least one controlled
`
`device identified by the at least one controlled device identifier, wherein the second message
`
`is based on the first message and includesthe control information to control an operation of
`
`the at least one controlled device
`
`2:6-19
`2:6-19 [0006] In another example, the disclosure is directed to a method that includes receiving a
`
`first message from a remote control, wherein the first message includes a remote control
`
`identifier that uniquely identifies the remote control, and wherein the first message further
`
`includes control information. The methodalso includesretrieving at least one controlled
`
`device identifier from a data repository based on the remote control identifier, wherein theat
`
`least one controlled device identifier uniquely identifies at least one controlled device. The
`
`methodalso includes sending a second messageto the at least one controlled device
`
`identified by the at least one controlled device identifier, wherein the second messageis
`
`based on the first message and includes the control information to control an operation of the
`
`at least one controlled device.
`
`2:20-35
`2:20-35
`
`[0007] In another example, a computing device includes one or more processors, a data
`
`repository configured to store data, a meansfor receiving a first message from a remote
`
`control, and a device management module. The first message received by the means includes
`
`a remote control identifier that uniquely identifies the remote control, and the first message
`
`2
`
`
`
`Docket No. 1133-051USP1
`
`further includes control information. The device management moduleretrieves at least one
`
`controlled device identifier from the data repository based on the remote controlidentifier,
`
`wherein the at least one controlled device identifier uniquely identifies at least one controlled
`
`device, and sends a second messageto the at least one controlled device identified by the at
`
`least one controlled device identifier, wherein the second messageis based onthefirst
`
`message andincludes the control information to control an operation of the at least one
`
`controlled device.
`
`2:36-40
`2:36-40 [0008] The details of one or more examplesof the disclosure are set forth in the
`
`accompanying drawingsandthe description below. Other features, objects, and advantages
`
`of the disclosure will be apparent from the description and drawings, and from the claims.
`
`BRIEF DESCRIPTION OF DRAWINGS
`
`2:44-47
`2:44-47 [0009] FIG. 1 is a block diagram illustrating an example networked environment with a
`
`remote control and controlled device, in accordance with one aspect of the present disclosure.
`
`2:48-51
`2:48-51 [0010] FIG. 2 is a block diagram illustrating an example networked environment having
`
`remote controls and controlled devices, in accordance with one aspect of the present
`
`disclosure.
`
`2:52-55
`2:52-55 [0011] FIG. 3 is a block diagram illustrating an example remote control, which may be an
`
`example of the remote control shown in FIG. 1 or one of the remote controls shown in FIG.
`
`2, in accordance with one aspectof the present disclosure.
`
`2:56-60
`2:56-60 [0012] FIG. 4 is a block diagram illustrating an example controlled device, which may be an
`
`example of the controlled device shown in FIG. | or one of the controlled devices shown in
`
`FIG. 2, in accordance with one aspect of the present disclosure.
`
`2:61-64
`2:61-64 [0013] FIG. 5 is a block diagram illustrating an example server, which may be an example of
`
`the server shown in FIG. 1, or included within the network shown in FIG. 2, in accordance
`
`with one aspect of the present disclosure.
`
`2:65-67
`2:65-67 [0014] 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.
`
`
`
`Docket No. 1133-051USP1
`
`3:1-3
`3:1-3
`
`[0015] FIG. 7 is a flowchart illustrating an example operation of a network server
`
`communicating with a remote control, in accordance with one aspect of the present
`
`disclosure.
`
`3:4-6
`3:4-6 [0016] FIG. 8 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.
`
`3:7-9
`3:7-9 [0017] FIG. 9 is a flowchart illustrating an example operation of a network server
`
`communicating with a controlled device, in accordance with one aspect of the present
`
`disclosure.
`
`3:14-33
`3:14-33
`
`[0018] Techniques ofthis disclosure relate to a network service or “cloud service”that acts
`
`DETAILED DESCRIPTION
`
`as an intermediary between a remote control device and a controlled device. For example,
`
`the network service may receive commands from a remote control and transmit the
`
`commandsto a controlled device. The network service may also receive commandsor other
`
`information from the controlled device and transmit those commandsorother information to
`
`the remote control. The remote control may include a remote control application executing
`
`on a mobile device, such as a cellular telephone or a tablet computer. The controlled device
`
`may include any Internet-connected device capable of receiving commands, such as an
`
`Internet-connected television, a set top box, a personal video recorder, a gaming console, or
`
`other networked device. In one aspect, the remote control and the controlled device may
`
`operate as simple Hypertext Transfer Protocol HTTP clients of the network service. Thatis,
`
`the controlled device does not operate as a server to the remote control. Thus, any HTTP-
`
`enabled device may operate as a remote control or as a controlled device.
`
`3:34-55
`3:34-55
`
`[0019] In general, the remote control and the controlled device are configured to both listen
`
`for messages from the network service and send messagesto the network service. In some
`
`examples, the network service controls pairing one or more remote controls and one or more
`
`controlled devices, receives information or commands from remote controls and controlled
`
`devices, and sends information or commands to remote controls and controlled devices. The
`
`network service may direct received information and commandsto the appropriate devices
`
`based on pairing information maintained by the network service. A remote control may be
`
`4
`
`
`
`Docket No. 1133-051USP1
`
`configured to send a message to a controlled device to perform a task, such as stopping
`
`playback of media content playing on the controlled devices or changing the media content
`
`playing on the controlled devices. To accomplish the task, the remote control first sends a
`
`message to the network service. The network service then determines the controlled device
`
`that is paired with the remote control and forwards the messageto the appropriate controlled
`
`device. The controlled device receives the message from the network service and performs
`
`the task in responseto receiving the message.
`
`3:56-4:3
`3:56-4:3 [0020] In addition, the controlled device may be configured to send a message to the remote
`
`control to notify the remote control of an event. For example, the controlled device may send
`
`a message to the remote control to notify the remote control device that playback of media
`
`content has completed. In this example, the controlled device sends a messageto the
`
`network service. The network service determines the remote control that is paired with the
`
`controlled device and forwards the message to the remote control paired with the sending
`
`controlled device. The remote control receives the message and performs various actions in
`
`response to receiving the message. The remote control may, for example, update a user
`
`interface of the remote control or send a messageto the controlled device to begin playback
`
`of another video.
`
`4:4-20
`4:4-20
`
`[0021] According to some examples, the network service may assign each remote control
`
`and each controlled device a unique identifier. When pairing devices, the network service
`
`may utilize the unique identifier associated with each device to route communication signals
`
`properly. For example, the network service may initiate a session that includes each unique
`
`identifier of remote controls and controlled devices that are authorized to communicate with
`
`each other. The network service can then route messages to membersof the session. Any
`
`numberof remote controls may be paired with a single controlled device and one remote
`
`control may be paired to any numberofcontrolled devices. When pairing multiple remote
`
`controls and multiple controlled devices associated with a single user, the user may identify a
`
`subset of the remote controls as paired to a subset of the controlled devices, and manage
`
`which remote controls control which controlled devices.
`
`4:21-45
`4:21-45
`
`[0022] Remote controls and controlled devices may be paired using any oneofseveral
`
`different techniques. As one example, a user may maintain a user account using the network
`
`service, and the remote controls and controlled devices may be associated with the user
`
`
`
`Docket No. 1133-051USP1
`
`account. For example, upon connecting to a network service, the remote controls and
`
`controlled devices may notify the network service that the remote controls and controlled
`
`devices are connected to the network. The network service may, in some examples,
`
`determine whether the remote controls and controlled devices are authorized to be associated
`
`with the user account. If authorized, the network service initiates a session and assigns the
`
`remote controls and controlled devices unique identification numbers. The network service
`
`uses the unique identification numbers for pairing during a session. In another example, a
`
`user may be presented with a quick response (“QR”) code via the controlled device that the
`
`user scans with the remote control (e.g., using a camera of the remote control). The QR code
`
`identifies a user account or previously initiated session maintained by the network service.
`
`Upon scanning the QR code, the remote control may send a message to the network service
`
`indicating that the network service should assign a unique identification numberto the
`
`remote control and pair the remote control with the user account or session identified by the
`
`QRcode.
`
`4:46-57
`4:46-57 [0023] In this manner, one or more remote controls may control one or more controlled
`
`devices via the network service. Using the network service to transmit and receive messages
`
`between a remote control and a controlled device may enable non-traditional devices having
`
`rich input and display capabilities to act as a remote control. In addition, by using the
`
`networkservice as an intermediary, the remote control and the controlled device, in various
`
`instances, may not need to be connected to the same local area network, nor in physical
`
`proximity to each other. The network service may also enable pairing of a nearly limitless
`
`numberof remote controls and controlled devices.
`
`4:58-5:12
`4:58-5:12 [0024] FIG. 1 is a block diagram illustrating an example networked environment 10 with a
`
`remote control 14 and controlled device 18, in accordance with one aspect of the present
`
`disclosure. The networked environment 10 includes remote control 14 that communicates
`
`with controlled device 18 via network 22 and servers 24A—24N(collectively “servers 24’) in
`
`network 22. According to an aspect of the disclosure, remote control 14 is a web-enabled
`
`cellular phone. Other examples of the remote control 14 include, but are not limited to,
`
`portable or mobile devices such as cellular phones or other wireless communication devices,
`
`personaldigital assistants (PDAs), laptop computers, portable gaming devices, portable
`
`media players, e-book readers, watches, as well as non-portable devices such as desktop
`
`
`
`Docket No. 1133-051USP1
`
`computers. For purposesofillustration only in this disclosure, remote control 14 is described
`
`as a portable or mobile device that a user can carry, but aspects of this disclosure should not
`
`be considered limited to portable or mobile devices.
`
`5:13-28
`5:13-28
`
`[0025] Remote control 14 may be configured to transmit signals to and receive signals from
`
`network 22. In some examples, remote control 14 is configured to initiate contact with
`
`servers 24. For example, remote control 14 may notify servers 24 that remote control 14 is
`
`connected to network 22. Remote control 14 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 remote control 14, thereby notifying servers 24
`
`that remote control 14 is connected to network 22. Remote control 14 may also be
`
`configured to transmit a message to servers 24 of network 22 that identifies remote control
`
`14, which can be used by servers 24 to pair remote control 14 with controlled device 18. The
`
`message may also contain control information for controlling one or more functions of
`
`controlled device 18.
`
`5:29-41
`5:29-41
`
`[0026] In the example shown in FIG. 1, remote control 14 includesa user interface 26 that
`
`may be used to present information to a user. For example, user interface 26 may display
`
`controls 30 and information 34 associated with content being played on controlled device 18.
`
`Controls 30 may depend on the capability of remote control 14 or controlled device 18, and
`
`include, for example, fast forward, reverse, skip ahead or back, play, stop, move to new
`
`content, etc. The type and quantity of information 34 may also depend on the capability of
`
`remote control 14 and controlled device 18, and include, for example, playback information
`
`such as time remaining of content, playlist information, content rating information,etc.).
`
`5:42-63
`5:42-63
`
`[0027] Controlled device 18 may include a variety of network-enabled devices, such as a
`
`network enabled television, set top box, personal video recorder, or other device capable of
`
`being network-connected and controlled remotely. In an example, controlled device 18 is an
`
`Internet-connected television that is configured to receive signals from and transmit signals
`
`to network 14. For example, controlled device 18 may be configured to initiate contact with
`
`servers 24, For example, controlled device 18 may notify servers 24 that controlled device
`
`18 is connected to network 22. 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 controlled device 18, thereby notifying servers 24
`
`
`
`Docket No. 1133-051USP1
`
`that controlled device 18 is connected to network 22. Controlled device 18 can also be
`
`configured to transmit a message to servers 24 of network 22 that identifies controlled device
`
`18, which can be used by servers 24 to pair controlled device 18 with remote control 14. The
`
`message may also contain notification data for updating a user interface of remote control
`
`(e.g., indicating completion of a task, such as completing playback of content).
`
`5:64-6:13
`5:64-6:13
`
`[0028] As shown in FIG. 1, controlled device 18 may include a display 38 for displaying
`
`content to a user. In some examples, controlled device 18 receives one or more messages
`
`from remote control 14 via network 22 and servers 24 to alter the content that is rendered on
`
`display 38 of controlled device 18. In another example, controlled device 18 transmits a
`
`message to remote control 14 via network 22 and servers 24 to notify the user of remote
`
`control 14 that playback of content has been completed. Other messages can also be
`
`transmitted between controlled device 18 and remote control 14 via network 22 and servers
`
`24. For example, controlled device 18 may transmit content information such as a preview
`
`of the content that is being displayed on controlled device 18, a playlist of future content to
`
`be displayed on controlled device 18, rating information associated with the content being
`
`displayed on controlled device 18, or the like.
`
`6:14-33
`6:14-33
`
`[0029] As shown in FIG. 1, network 22 and servers 24 are connected to remote control 14
`
`and controlled device 18. Network 22 may be connected to remote control 14 and controlled
`
`device 18 via wired and/or wireless links. For example, remote control 14 and controlled
`
`device 18 may be coupled to network 22 via a combination of any wireless or wired
`
`communication medium, such as a radio frequency (RF) spectrum or one or more physical
`
`transmission lines, or any combination of wireless and wired media. The links may form part
`
`of a packet-based network, such as a local area network, a wide-area network,or a global
`
`network such as the Internet. The links generally represent any suitable communication
`
`medium,or collection of different communication media, for transmitting signals from
`
`remote control 14 to network 22 and from controlled device 18 to network 22, including any
`
`suitable combination of wired or wireless media. The links mayinclude routers, switches,
`
`base stations, or any other equipment that may be useful to facilitate communication from
`
`remote control 14 and controlled device 18 to network 22.
`
`6:34-49
`6:34-49 [0030] Network 22 may include a wide-area network such as the Internet, a local-area
`
`network (LAN), an enterprise network, or one or more other types of networks. Servers 24
`
`
`
`Docket No. 1133-051USP1
`
`may be any ofseveral different types of network devices. For instance, servers 24 may be
`
`conventional webservers, specialized media servers, personal computers operating in a peer-
`
`to-peer fashion, or other types of network devices. As described in greater detail with respect
`
`to FIG. 5, in some examples, servers 24 include one or more data repositories or databases
`
`for storing information, such as identification numbers, session identifiers, and any other
`
`information required to carry out data transfer between remote control 14 and controlled
`
`device 18. In some examples, the data repositories of servers 24 may bestructured as one or
`
`more tables, databases, linked lists, radix trees, Google File Systems, Google BigTable
`
`database systems, or other suitable data structure.
`
`6:50-7:10
`6:50-7:10
`
`[0031] According to an aspect of the disclosure, network 22 and servers 24 facilitate an
`
`exchange of data between remote control 14 and controlled device 18. For example, servers
`
`24 associated with network 22 may operate as an intermediary between remote control 14
`
`and controlled device 18 to relay data between remote control 14 and controlled device 18.
`
`In some examples, servers 24 “pair” remote control 14 and controlled device 18 such that
`
`information and commands from remote control 14 can be transmitted to controlled device
`
`18, and information and commandscan be transmitted from controlled device 18 to remote
`
`control 14. For example, remote control 14 and controlled device 18 mayinitially notify
`
`servers 24 that remote control 14 and controlled device 18 are connected to network 22 and
`
`available for pairing. In some examples, servers 24 authenticate that remote control 14 and
`
`controlled device 18 are permitted to be paired. For example, servers 24 may maintain a user
`
`accountthat includes permissions for remote control 14 and controlled device 18, which
`
`allows remote control 14 and controlled device 18 to be paired. In some examples, the
`
`authorization of remote control 14 and controlled device 18 utilizes HTTP header
`
`information to identify remote control 14 and controlled device 18 as being associated with
`
`the user account. Servers 24 may assign unique identification numbers to each authorized
`
`remote control 14 and controlled device 18 connected to network 22. To pair remote control
`
`14 and controlled device 18, servers 24 maycreate a session that includesall of the issued
`
`unique identification numbers.
`
`7:11-29
`7:11-29
`
`[0032] After adding remote control 14 and controlled device 18 to the session, messages
`
`generated by remote control 14 and controlled device 18 include their unique identification
`
`numbers, so that the servers 24 recognize remote control 14 and controlled device 18 as
`
`
`
`Docket No. 1133-051USP1
`
`being included in the session. Servers 24 receive messages from remote control 14 and
`
`controlled device 18 and route the messages to other membersof the session. For example, a
`
`user may actuate one of controls 30 of remote control 14 to alter the content displayed on
`
`display 38 of controlled device 18. Remote control 14 transmits a control messagethat
`
`includes the uniqueidentifier of remote control 14 to servers 24 via network 22. Servers 24
`
`identify that remote control 14 is a memberof a session based on the uniqueidentification
`
`numberof remote control 14. Servers 24 then routes the control message to controlled
`
`device 18, which is also a memberof the session. Controlled device 18 receives the control
`
`message and performs the appropriate action.
`
`7:30-40
`7:30-40
`
`[0033] Alternatively or additionally, controlled device 18 transmits information (e.g., data
`
`for updating content information 34 displayed on remote control 14) that includes the unique
`
`identifier of controlled device 18 to servers 24 via network 22. Servers 24 identify that
`
`controlled device 18 is a memberof the session based on the unique identification number of
`
`controlled device 18. Server then routes the information to remote control 14, which is also a
`
`memberof the session. Remote control 14 then receives the information and updates user
`
`interface 26 and information 34 accordingto the received information.
`
`7:41-58
`7:41-58
`
`[0034] FIG. 2 is a block diagram illustrating an example networked environment 60 having
`
`remote controls 62A—62N (collectively, “remote controls 62”) and controlled devices 64A—
`
`64N (collectively, “controlled devices 64”) connected via network 66 and servers 68A—68N
`
`(collectively, “servers 68”), in accordance with one aspect of the present disclosure. In some
`
`examples, remote controls 62, controlled devices 64, network 66, and servers 68 may be
`
`configured similarly to remote control 14, controlled device 18, network 22, and servers 24,
`
`respectively, shown in FIG. 1. Remote controls 62 and controlled devices 64 shownin FIG.
`
`2 need not be configured in precisely the same way. For example, each remote control of
`
`remote controls 62 may be a different make or model of web-enabled mobile phone,
`
`according to one or more non-limiting examples. In addition, each of the controlled devices
`
`of controlled devices 64 may be a different make or model network-compatible television,
`
`according to one or more non-limiting examples.
`
`7:59-67
`7:59-67
`
`[0035] Servers 68 of network 66 maybe responsible for initiating sessions and enabling
`
`pairing any of remote controls 62 with any of controlled devices 64. For example, servers 68
`
`of network 66 may assign a unique identifier to each of the remote controls 62 and to each of
`
`10
`
`
`
`Docket No. 1133-051USP1
`
`the controlled devices 64. As described in more detail with respect to FIG. 5, servers 68 can
`
`utilize the unique identifiers to enable communication between the remote controls 62 and
`
`controlled devices 64.
`
`8:1-10
`8:1-10
`
`[0036] Any numberof remote controls 62 may be paired with a single controlled device from
`
`the controlled devices 64. In addition, a single remote control of the remote controls 62 may
`
`be paired with any numberof the controlled devices 64. When pairing multiple remote
`
`controls 62 and multiple controlled devices 64 associated with a single user, the user may
`
`manage permissions of the remote controls 62 and controlled devices 64. For example, a
`
`user may identify a subset of the remote controls 62 as being paired with a subset of the
`
`controlled devices 64.
`
`8:11-22
`8:11-22 [0037] Remote controls 62 and controlled devices 64 may be paired using a variety of
`
`techniques. In some examples, servers 68 may generate a session and pair any remote
`
`controls 62 and controlled devices 64 associated with the session. For example, servers 68
`
`may issue each of remote controls 62 and controlled devices 64 connected to servers 68
`
`unique identification numbers, and associate those assigned uniqueidentification numbers as
`
`being membersof the session. Remote controls 62 and controlled devices 64 include their
`
`unique identification numbers in messagessent to servers 68, and servers pair the device
`
`sending the message with other membersofthe session.
`
`8:23-34
`8:23-34
`
`[0038] In other examples, remote controls 62 and controlled devices 64 may be individually
`
`added to a session maintained by servers 68. For example, a controlled device, such as
`
`controlled device 64A may present a user with a QR code that identifies a session that has
`
`been created by servers 68. The user may scan the QR code with one of remote controls 62
`
`(e.g., remote control 62A). Upon scanning the QR code, remote control 62A transmits a
`
`message to servers 68 requesting that servers 68 issue remote control 62A a unique
`
`identification number and add remote control 62A to the session associated with the QR
`
`code, thereby pairing remote control 62A with controlled device 64A.
`
`8:35-49
`8:35-49 [0039] In some examples, more than one user of more than one of the remote controls 62
`
`may be paired with a single controlled device, such as controlled device 64A. For example,
`
`more than one user of more than one of the remote controls 62 may scan the same QR code
`
`displayed on controlled device 64A. In such examples, servers 68 pair each of the remote
`
`controls 62 with controlled device 64A by issuing each of remote controls 62 a unique
`
`11
`
`
`
`Docket No. 1133-051USP1
`
`identification number and adding remote controls 62 to the session, thereby allowing control
`
`messages to be sent from remote controls 62 to controlled device 64A. Controlled device
`
`64A can also send information (e.g., information to updates user interfaces of remote controls
`
`62) to all of the paired remote controls 62 (e.g., all remote controls 62 that are members of
`
`the same session as controlled device 64A) via servers 68.
`
`8:50-58
`8:50-58 [0040] A remote control, such as remote control 62A mayalso be paired with more than one
`
`of the controlled devices 64 via servers 68. For example, a user may log into a user account
`
`maintained on servers 68 to associate devices(e.g., any of remote controls 62 or controlled
`
`devices 64) with the user account. The user may then identify remote controls 62 as remote
`
`control devices and controlled devices 64 as controlled devices, and servers 68 can pair the
`
`devices according to the user’s preferences.
`
`8:59-9:3
`8:59-9:3 [0041] FIG. 3 is a block diagram illustrating an example remote control 75, which may be an
`
`example of remote control 14 shown in FIG. 1 or one of remote controls 62 shown in FIG. 2.
`
`Remote control 75 may include battery 80, user interface 84, display 88, storage device 92
`
`having one or more applications 94, one or more processors 96, and network module 100.
`
`Other implementations of remote control 75 are possible, having more or fewer components
`
`than those shown in FIG. 3. For example, in examples where remote control 75 is a cellular
`
`phoneor other wireless communication device, remote control 75 includes a microphone and
`
`speaker for voice communication.
`
`9:4-18
`9:4-18 [0042] Battery 80 provides powerfor the various units of remote control 75, and may be
`
`rechargeable. Examples of battery 80 include a lithium polymerbattery, a lithtum ion
`
`battery, nickel cadmium battery, and a nickel metal hydride battery. User interface 84 allows
`
`a user of remote control 14 to interact with remote control 75. Examples of user interface 84
`
`include a keypad embedded on device 84, a keyboard, a mouse,a roller ball, buttons, or other
`
`devices that allow a user to interact with remote control 75. In some examples, user interface
`
`84 may include a microphoneto allow a user to provide voice commands. In some
`
`examples, user interface 84 generates a graphical user interface that allowsa userto initiate
`
`commands. For example, user interface 84 may include a software module that generates a
`
`graphical user interface that is displayed on display 88.
`
`9:19-9:32
`9:19-9:32 [0043] Display 88 may include one ofa variety of display devices such as a liquid crystal
`
`display (LCD), an e-ink display, a cathode ray tube (CRT), a plasma display, an organic light
`
`12
`
`
`
`Docket No. 1133-051USP1
`
`emitting diode (OLED)display, or another type of display. Display 88 presents the content
`
`generated by remote control 75 (e.g., user interface 84 of remote control 75) to a user of
`
`remote control 75. For example, display 88 may present applications executed on remote
`
`control 75 such as a remote control application, a web browser, content retrieved from
`
`servers, and other functions that may need to be presented to the user. In some examples,
`
`display 88 may provide someorall of the functionality of user interface 84. For example,
`
`display 88 may be a touch screen that allowsa user to interact with remote control 75.
`
`9:33-45
`9:33-45 [0044] Storage device 92 stores instructions for applications 94 that may be executed by one
`
`or more processors 96. For purposesofillustration only, in the following description
`
`applications 94 that may be executed by one or more processors 96 are described below as
`
`being executed by one processor 96. Applications 94 may be