`Danciu et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 9,490,998 B1
`Nov. 8, 2016
`
`USOO9490998B1
`
`(54) NETWORK-BASED REMOTE CONTROL
`(75) Inventors: Daniel Danciu, Zurich (CH); Yaniv
`Bernstein, Zurich (CH); Ramona
`Bobohalma, Adliswil (CH): Oliver
`Heckmann, Bach (CH): Jasmine
`Langridge, Zurich (CH); Alin
`Si E. g 7 ich (CH s
`inpalean, Zurich (CH)
`
`(73) Assignee: Google Inc., Mountain View, CA (US)
`-
`(*) Notice:
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1041 days.
`
`(21) Appl. No.: 13/041,964
`
`(22) Filed:
`
`Mar. 7, 2011
`
`Related U.S. Application Data
`(60) Provisional application No. 61/411,386, filed on Nov.
`
`8, 2010.
`
`(51) Int. Cl.
`G06F 15/177
`(2006.01)
`H04L 2/28
`(2006.01)
`H04L 29/12
`(2006.01)
`is: C. H04L 2/288 (2013.O1): HO4L 29/233
`- - - - - - -
`(
`.01):
`(2013.01)
`
`(58) Field of Classification Search
`USPC ............................................ 340/12.22, 12.23
`See application file for complete search history.
`
`(52)
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`6,587,125 B1* 7/2003 Paroz. ............................ 715,740
`7,240,836 B2 * 7/2007 Vrotsos et al. ............... 235,439
`2002fOO73183 A1* 6, 2002 Yoon .................. 05B 19.0421
`TO9.220
`
`2002/0143805 A1 10/2002 Hayes et al.
`2005/0096753 A1
`5/2005 Arling et al.
`
`2005/0022134 A1* 1/2005 Tokashiki .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`. 715,764
`
`OTHER PUBLICATIONS
`Schwartz, Xfinity Remote Prototype: iPad Demo at NCTA Show.”
`May 12, 2010 online). Retrieved from the Internet: <http://blog.
`comcast.com/2010/05/Xfinity-remote-prototype-ipad-demo-at
`incta-show.html> (5 pgs.).
`“The Xfinity TV App,” online). Comcast Interactive Media, LLC,
`2011. First accessed on Feb. 24, 2011. Retrieved from the Internet:
`<http://www.xfinity.com/help/internet/mobile-tv-app/> (1 pg.).
`“iTunes the all-new Remote. Put your iPhone, iPad, or iPod touch
`in charge of the show.” online Apple Inc., 2011. First accessed on
`Sep. 14, 2010. Retrieved from the Internet: <http://www.apple.com/
`itunes/remote/> (4 pgs.).
`
`(Continued)
`
`Primary Examiner — Jennifer Mehmood
`Assistant Examiner — Yong Hang Jiang
`S. Attorney, Agent, or Firm — Shumaker & Sieffert,
`
`.
`.
`.
`.
`ABSTRACT
`57
`(57)
`The subject matter of the present disclosure can be imple
`mented 1n, among other things a computer-readable Storage
`medium encoded with instructions for causing a program
`mable processor to receive, by a server, a first message from
`a remote control that is distinct from and external to the
`server, wherein the first message includes a remote control
`identifier and control information for controlling one or
`more functions of at least one device other than the remote
`control. The instructions also cause the programmable pro
`cessor to retrieve, by the server, a controlled device identifier
`that uniquely identifies a controlled device that is distinct
`from and external to the server. The instructions also cause
`the programmable processor to send a second message from
`the server to the controlled device identified by the con
`trolled device identifier to control an operation of the
`controlled device.
`
`18 Claims, 7 Drawing Sheets
`
`
`
`
`
`
`
`
`
`RMOTE
`control
`14
`
`NETWORK
`22
`
`SERVERS
`24A-24N
`
`CONTROLLE
`Wic
`18
`
`1
`
`Comcast, Ex. 1112
`
`
`
`US 9,490,998 B1
`Page 2
`
`(56)
`
`References Cited
`
`OTHER PUBLICATIONS
`
`“TubeMote the remote control for the web.' online TubeMote,
`2011. First accessed on Sep. 14, 2010. Retrieved from the Internet:
`<http://www.tubemote.com (3 pgs.).
`Office Action from U.S. Appl. No. 13/249,982, dated May 24, 2012,
`12 pgs.
`Office Action from U.S. Appl. No. 13/249,982, dated Jan. 25, 2012,
`11 pgs.
`Response to Office Action dated Jan. 25, 2012 from U.S. Appl. No.
`13/249,982, filed Apr. 18, 2012, 13 pgs.
`Advisory Action before the Filing of an Appeal Brief from U.S.
`Appl. No. 13/249,982, mailed Jun. 21, 2016.3 pgs.
`
`Final Office Action from U.S. Appl. No. 13/249,982, mailed Mar.
`23, 2016 17 pgs.
`Response to Final Office Action mailed Mar. 23, 2016 from U.S.
`Appl. No. 13/249,982, filed Jun. 2, 2016 11 pgs.
`Office Action from U.S. Appl. No. 13/249.982, dated Oct. 1, 2015,
`12 pp.
`Response to Office Action from U.S. Appl. No. 13/249.982, filed
`Dec. 3, 2015.9 pp.
`Decision on Appeal from U.S. Appl. No. 13/249.982, dated Aug. 4.
`2015, 7 pp.
`Response to the Final Office Action dated May 24, 2012, and the
`Decision on Appeal dated Aug. 4, 2015, from U.S. Appl. No.
`13/249,982, filed Sep. 2, 2015, 9 pp.
`
`* cited by examiner
`
`2
`
`
`
`U.S. Patent
`
`Nov. 8, 2016
`
`Sheet 1 of 7
`
`US 9,490,998 B1
`
`
`
`
`
`
`
`?
`
`EOLAECI
`CIETTORILNO O
`
`XA>IONALEN
`
`zz
`
`ELLOWERH
`
`57J
`
`TONLNO O
`
`3
`
`
`
`U.S. Patent
`
`Nov. 8, 2016
`
`Sheet 2 of 7
`
`US 9,490,998 B1
`
`REMOTE
`CONTROL
`62A
`
`
`
`REMOTE
`CONTROL
`62N
`
`
`
`60
`
`CONTROLLED
`DEVICE
`64A
`
`CONTROLLED
`DEVICE
`64N
`
`NETWORK
`66
`
`SERVERS
`68A-68N
`
`FIG. 2
`
`NETWORK
`MODULE
`100
`
`STORAGE DEVICE
`92
`APPLICATIONS
`94
`
`PROCESSOR(S)
`96
`
`USER
`INTERFACE
`84
`
`DISPLAY
`88
`
`BATTERY
`80
`
`FIG. 3
`
`4
`
`
`
`U.S. Patent
`
`Nov. 8, 2016
`
`Sheet 3 of 7
`
`US 9,490,998 B1
`
`118
`
`STORAGE DEVICE
`128
`APPLICATIONS
`130
`
`PROCESSOR(S)
`132
`
`USER
`INTERFACE
`120
`
`DISPLAY
`124
`
`NETWORK
`MODULE
`136
`
`
`
`FIG. 4
`
`SERVER
`160
`
`DATA
`REPOSITORY
`172
`
`DEVICE
`MANAGEMENT
`MODULE
`168
`
`INTERFACE MODULE
`164
`
`FIG. 5
`
`5
`
`
`
`U.S. Patent
`
`Nov.8, 2016
`
`Sheet 4 of 7
`
`US 9,490,998 B1
`
`GSTIOULNOD
`
`ASIA
`
`
`
`ADIAAGGATIOULNOD
`
`
`
`NOILOVSALNDAX3A
`
`ASILON JOULNOD
`
`ASVSSAW1IONLNOD
`
`
`OlSNIGUODDV
`
`(S)S9IARGGATIONLNOD
`
`
`
`JOYLNODLINSNVYL
`
`OLS9VSS3SIN
`
`adaAdas
`
`ALOWSY
`
`CNVYSANRS
`
`gisAAIS93Y
`
`G3TIOULNOSASILLNAGI
`
`
`OLASVSSAWTOULNOD
`
`GNVCILINSNVYL
`
`(s)491Aaq
`
`YsAYsS
`
`6
`
`
`
`U.S. Patent
`
`Nov. 8, 2016
`
`Sheet S of 7
`
`US 9,490,998 B1
`
`
`
`RECEIVE MESSAGE
`HAVING REMOTE
`CONTROL IDENTIFIERI
`CONTROL MESSAGE
`
`220
`
`224
`
`RETRIEVE CONTROLLED
`DEVICE IDENTIFIER
`BASED ON REMOTE
`CONTROL IDENTIFIER
`
`228
`
`TRANSMIT MESSAGE TO
`CONTROLLED DEVICE
`BASED ON CONTROL
`MESSAGE
`
`FIG. 7
`
`7
`
`
`
`U.S. Patent
`
`Nov.8, 2016
`
`Sheet 6 of 7
`
`US 9,490,998 B1
`
`AJILON ASDIAAC
`
`ALOWSY
`
`TOULNOD
`
`YyaAusS
`
`daTIOY¥LNOS
`
`
`
`NOILOVALNDAXA
`
`OLSNIGHNODDV
`
`
`
`ASVSSAWLNALNOD
`
`
`
`INSLNOOLINSNVYL
`
`JLOWSYOLSDVSSAN
`
`(SMIOYLNOD
`
`GNV39VSSAWSAIB93u
`
`ONVCILINSNVYL
`
`
`JLOWS3YASILNAGI
`
`
`OlASVSSAWLNALNOS
`
`(SMIOYLNOD
`
`YaAusS
`
`ONVYSANRS
`
`
`
`daisSAI934y
`
`8
`
`
`
`U.S. Patent
`
`Nov. 8, 2016
`
`Sheet 7 Of 7
`
`US 9,490,998 B1
`
`
`
`RECEIVE MESSAGE
`HAVING CONTROLLED
`DEVICE DENTIFIERI
`CONTENT MESSAGE
`
`RETRIEVE REMOTE
`CONTROL IDENTIFIER
`BASED ON REMOTE
`CONTENT DENTIFIER
`
`250
`
`254
`
`258
`
`TRANSMIT MESSAGE TO
`REMOTE CONTROL
`BASED ON CONTROL
`MESSAGE
`
`FIG. 9
`
`9
`
`
`
`US 9,490,998 B1
`
`1.
`NETWORK-BASED REMOTE CONTROL
`
`This application claims the benefit of U.S. Provisional
`Application No. 61/411,386, filed Nov. 8, 2010, the entire
`content of which is incorporated by reference herein.
`
`TECHNICAL FIELD
`
`The disclosure relates to techniques for controlling net
`worked devices.
`
`10
`
`BACKGROUND
`
`Various computing devices may be used to control a home
`electronic 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 con
`trolled. 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 corresponding
`action (e.g., altering the content being played on the device).
`For instance, a user may use a remote control to change the
`channel of a television.
`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 conventional Solution, the user may pair a device
`that acts as a remote control directly with the device out
`putting the audio and video (e.g., a television or stereo). Such
`that the device outputting the audio and video acts as a
`server to the remote control by, for example, communicating
`directly with the remote control and accepting incoming
`connections from the remote control.
`
`15
`
`25
`
`30
`
`35
`
`SUMMARY
`
`2
`ing device to send a second message from the server to the
`at least one controlled device identified by the at least one
`controlled device identifier, wherein the second message
`includes the control information to control an operation of
`the at least one controlled device
`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
`method also includes retrieving 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.
`The method also includes sending a second message to the
`at least one controlled device identified by the at least one
`controlled device identifier, wherein the second message
`includes the control information to control an operation of
`the at least one controlled device.
`In another example, a computing device includes one or
`more processors, a data repository configured to store data,
`a means for 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 further includes control information. The device
`management module retrieves at least one controlled device
`identifier from the data repository based on the remote
`control identifier, wherein the at least one controlled device
`identifier uniquely identifies at least one controlled device,
`and sends a second message to the at least one controlled
`device identified by the at least one controlled device
`identifier, wherein the second message includes the control
`information to control an operation of the at least one
`controlled device.
`The details of one or more examples of the disclosure are
`set forth in the accompanying drawings and the description
`below. Other features, objects, and advantages of the dis
`closure will be apparent from the description and drawings,
`and from the claims.
`
`40
`
`45
`
`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 network service (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 content
`information via the network service to the web-enabled
`device. Such as status information concerning the networked
`device.
`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 iden
`tifier from a data repository based on the remote control
`identifier, wherein the at least one controlled device identi
`fier 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 comput
`
`BRIEF DESCRIPTION OF DRAWINGS
`
`FIG. 1 is a block diagram illustrating an example net
`worked environment with a remote control and controlled
`device, in accordance with one aspect of the present disclo
`SUC.
`FIG. 2 is a block diagram illustrating an example net
`worked environment having remote controls and controlled
`devices, in accordance with one aspect of the present dis
`closure.
`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 aspect of the present disclosure.
`FIG. 4 is a block diagram illustrating an example con
`trolled device, which may be an example of the controlled
`device shown in FIG. 1 or one of the controlled devices
`shown in FIG. 2, in accordance with one aspect of the
`present disclosure.
`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.
`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.
`
`50
`
`55
`
`60
`
`65
`
`10
`
`
`
`US 9,490,998 B1
`
`3
`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.
`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.
`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.
`
`DETAILED DESCRIPTION
`
`5
`
`10
`
`15
`
`4
`example, update a user interface of the remote control or
`send a message to the controlled device to begin playback of
`another video.
`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 members of the
`session. Any number of remote controls may be paired with
`a single controlled device and one remote control may be
`paired to any number of controlled 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.
`Remote controls and controlled devices may be paired
`using any one of several 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 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 con
`trolled 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 (“OR”) 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 Ser
`vice. 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 num
`ber to the remote control and pair the remote control with the
`user account or session identified by the QR code.
`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 network service 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 number of remote
`controls and controlled devices.
`FIG. 1 is a block diagram illustrating an example net
`worked environment 10 with a remote control 14 and
`controlled device 18, in accordance with one aspect of the
`present disclosure. According to an aspect of the disclosure,
`remote control 14 communicates with controlled device 18
`via network 22 and servers 24A-24N (collectively “servers
`24) in network 22. As shown in FIG. 1, according to some
`examples, remote control 14, controlled device 18, and
`servers 24 may be distinct components (e.g., physically
`distinct).
`
`Techniques of this disclosure relate to a network service
`or "cloud service' that acts 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 commands to a controlled device.
`The network service may also receive commands or other
`information from the controlled device and transmit those
`commands or other 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 net
`worked device. In one aspect, the remote control and the
`controlled device may operate as simple Hypertext Transfer
`Protocol HTTP clients of the network service. That is, 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.
`In general, the remote control and the controlled device
`are configured to both listen for messages from the network
`service and send messages to 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 con
`40
`trolled devices, and sends information or commands to
`remote controls and controlled devices. The network service
`may direct received information and commands to the
`appropriate devices based on pairing information main
`tained by the network service. A remote control may be
`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 message to the appropriate controlled device. The con
`trolled device receives the message from the network service
`and performs the task in response to receiving the message.
`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 com
`60
`pleted. In this example, the controlled device sends a mes
`sage to 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
`
`50
`
`25
`
`30
`
`35
`
`45
`
`55
`
`65
`
`11
`
`
`
`US 9,490,998 B1
`
`10
`
`15
`
`5
`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, personal digital assistants (PDAs),
`laptop computers, tablets, portable gaming devices, portable
`media players, e-book readers, watches, as well as non
`portable devices such as desktop computers. For purposes of
`illustration 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.
`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.
`In the example shown in FIG. 1, remote control 14
`includes a 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.).
`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
`45
`example, controlled device 18 is an Internet-connected tele
`vision 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 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 or content data for updating a user interface of
`remote control (e.g., indicating completion of a task, such as
`completing playback of content).
`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 mes
`sages from remote control 14 via network 22 and servers 24
`
`55
`
`6
`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 infor
`mation 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.
`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 commu
`nication 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 may include routers, Switches, base sta
`tions, or any other equipment that may be useful to facilitate
`communication from remote control 14 and controlled
`device 18 to network 22.
`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 may be
`any of several different types of network devices. For
`instance, servers 24 may be conventional web servers,
`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 be structured as one or more
`tables, database systems, linked lists, radix trees, or other
`suitable data structure.
`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 commands can be transmit
`ted from controlled device 18 to remote control 14. For
`example, remote control 14 and controlled device 18 may
`initially notify servers 24 that remote control 14 and con
`trolled 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
`account that includes permissions for remote control 14 and
`
`25
`
`30
`
`35
`
`40
`
`50
`
`60
`
`65
`
`12
`
`
`
`US 9,490,998 B1
`
`5
`
`10
`
`15
`
`7
`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 num
`bers 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 may create a session
`that includes all of the issued unique identification numbers.
`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 being included in the session.
`Servers 24 receive messages from remote control 14 and
`controlled device 18 and route the messages to other mem
`bers of the session. For example, a user may actuate one of
`controls 30 of remote control 14 to alter the content dis
`played on display 38 of controlled device 18. Remote
`control 14 transmits a control message that includes the
`unique identifier of remote control 14 to servers 24 via
`network 22. Servers 24 identify that remote control 14 is a
`member of a session based on the unique identification
`number of remote control 14. Servers 24 then routes the
`control message to controlled device 18, which is also a
`member of the session. Controlled device 18 receives the
`control message and performs the appropriate action.
`Alternatively or additionally, controlled device 18 trans
`mits 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 member
`of the session based on the unique identification number of
`controlled device 18. A server then routes the information to
`remote control 14, which is also a member of the session.
`Remote control 14 then receives the information and updates
`user interface 26 and information 34 according to the
`received information.
`FIG. 2 is a block diagram illustrating an example net
`worked 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 disclo
`Sure. In some examples, remote controls 62, controlled
`devices 64, network 66, and servers 68 may be configured
`similarly to, or the same as remote control 14, controlled
`device 18, network 22, and servers 24, respectively, shown
`in FIG. 1. Remote controls 62 and controlled devices 64
`shown in 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.
`Servers 68 of network 66 may be 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 the controlled devices 64.
`As described in more detail with respect to FIG. 5, servers
`68 can utilize the unique identifiers to