`
`US009767195B2
`
`( 12 ) United States Patent
`Strober
`
`( 10 ) Patent No . :
`( 45 ) Date of Patent :
`
`US 9 , 767 , 195 B2
`Sep . 19 , 2017
`
`( 54 ) VIRTUALIZED HOSTING AND DISPLAYING
`OF CONTENT USING A SWAPPABLE MEDIA
`PLAYER
`
`( * ) Notice :
`
`( 75 ) Inventor : David Strober , Rye , NY ( US )
`( 73 ) Assignee : TOUCHSTREAM TECHNOLOGIES ,
`INC . , New York , NY ( US )
`Subject to any disclaimer , the term of this
`patent is extended or adjusted under 35
`U . S . C . 154 ( b ) by 602 days .
`( 21 ) Appl . No . : 13 / 532 , 546
`
`i ( 22 ) Filed :
`Jun . 25 , 2012
`
`( 65 )
`
`Prior Publication Data
`US 2013 / 0031478 A1 Jan . 31 , 2013
`
`Related U . S . Application Data
`( 63 ) Continuation - in - part of application No . 13 / 157 , 821 ,
`filed on Jun . 10 , 2011 , now Pat . No . 8 , 904 , 289 .
`( Continued )
`
`( 51 )
`
`( 2006 . 01 )
`( 2006 . 01 )
`( 2006 . 01 )
`
`Int . Ci .
`GO6F 3 / 01
`G06F 1730
`G06F 9 / 44
`( 52 ) U . S . CI .
`CPC . . . . . . G06F 17 / 30846 ( 2013 . 01 ) ; G06F 9 / 4445
`( 2013 . 01 ) ; GO6F 17 / 30864 ( 2013 . 01 )
`( 58 ) Field of Classification Search
`??? . . . . . . . . . . . . . . . . . . . . . .
`( Continued )
`
`. . . . . . . . . . . . GO6F 3 / 01
`
`( 56 )
`
`CN CN
`
`References Cited
`U . S . PATENT DOCUMENTS
`7 , 058 , 356 B2
`6 / 2006 Slotznick
`7 , 330 , 875 B1
`2 / 2008 Parasnis et al .
`( Continued )
`FOREIGN PATENT DOCUMENTS
`101534449
`9 / 2009
`10 1577650
`11 / 2009
`( Continued )
`OTHER PUBLICATIONS
`Hachman , M . , “ Snapstick ' s Media Streaming App / Box : Hands on , "
`www . pcmag . com / article2 / 0 , 2817 , 2375455 , 00 . asp , 2 pages , ( Jan . 8 ,
`2011 ) .
`( Continued )
`Primary Examiner — Tadeese Hailu
`Assistant Examiner — Darrin Hope
`( 74 ) Attorney , Agent , or Firm — Shook , Hardy & Bacon
`L . L . P .
`( 57 )
`ABSTRACT
`A system for presenting content includes a display device
`storing a virtual client . A display host is operable to execute
`multiple instances of a browser each of which operates as a
`swappable media player that is operable to retrieve and load
`any of a plurality of different media players needed to play
`specified content . The display host is operable to perform
`operations including receiving from a switchboard server
`system a message indicating that a specified media player is
`to be used to play particular content using a first instance of
`a swappable media player , retrieving and loading the speci
`fied media player from a content provider using the first
`instance of the swappable media player , playing the particu
`lar content in a first session using the specified media player ,
`and causing a presentation of the content to be mirrored onto
`the virtual client residing on the display device .
`20 Claims , 4 Drawing Sheets
`
`Switchboard Server System
`
`29
`Sync code
`generator
`
`28
`
`26
`API Adapter
`
`Database
`
`Switchboard
`36
`Look - up
`Table
`
`Database
`
`Display Host
`
`Instance of
`swappable
`medial player
`
`Instance of
`swappable
`medial player
`
`27
`
`Internet
`
`Display Device
`
`Virtual
`cllent
`
`Content Providers
`
`O
`
`Liboni
`
`1
`
`Comcast, Ex. 1173
`
`
`
`US 9 , 767 , 195 B2
`Page 2
`
`Related U . S . Application Data
`( 60 ) Provisional application No . 61 / 477 , 998 , filed on Apr .
`21 , 2011 .
`( 58 ) Field of Classification Search
`USPC
`. . . . . . . . . . . . . . . . 715 / 716
`See application file for complete search history .
`References Cited
`U . S . PATENT DOCUMENTS
`7 , 424 , 718 B2
`9 / 2008 Dutton
`7 , 440 , 972 B2
`10 / 2008 Oetzel
`7 , 769 , 827 B2
`8 / 2010 Girouard et al .
`7 , 835 , 505 B2
`11 / 2010 Toyama et al .
`7 , 849 , 485 B2 12 / 2010 Paik et al .
`8 , 402 , 494 B1 *
`3 / 2013 Hu . . . . . . . . . . . . . . . .
`
`( 56 )
`
`H04N 5 / 268
`709 / 230
`
`2002 / 0075332 A1 6 / 2002 Geilfuss et al .
`2002 / 0120666 AL 8 / 2002 Landsman et al .
`2002 / 0129102 A1
`9 / 2002 Landsman et al .
`2002 / 0133518 A1
`9 / 2002 Landsman et al .
`2002 / 0198778 Al 12 / 2002 Landsman et al .
`2003 / 0004804 Al 1 / 2003 Landsman et al .
`2003 / 0005000 A1
`1 / 2003 Landsman et al .
`2003 / 0018885 Al
`1 / 2003 Landsman et al .
`2003 / 0023488 A1
`1 / 2003 Landsman et al .
`2003 / 0028565 AL 2 / 2003 Landsman et al .
`2003 / 0193520 Al 10 / 2003 Oetzel
`2004 / 0088728 A1 5 / 2004 Shimizu
`2005 / 0034151 A1 2 / 2005 Abramson
`2005 / 0144305 Al 6 / 2005 Fegan et al .
`2006 / 0083194 Al
`4 / 2006 Dhrimaj et al .
`2006 / 0098624 Al
`5 / 2006 Morgan et al .
`2006 / 0101098 A1 5 / 2006 Morgan et al .
`2006 / 0203758 AL
`9 / 2006 Tee et al .
`2007 / 0094408 A1
`4 / 2007 Gundla et al .
`2007 / 0155506 A1 *
`7 / 2007 Malik
`2007 / 0202923 A1 8 / 2007 Jung et al .
`2007 / 0288715 A1 12 / 2007 Boswell et al .
`2008 / 0008439 AL
`1 / 2008 Liu et al .
`2008 / 0028037 AL
`1 / 2008 Moyer et al .
`2008 / 0077526 A1 3 / 2008 Arumugam
`2008 / 0126943 A1
`5 / 2008 Parasnis et al .
`2008 / 0155600 A16 / 2008 Klappert et al .
`2008 / 0267369 Al 10 / 2008 Parlamas et al .
`2008 / 0270881 Al 10 / 2008 Meyer et al .
`2009 / 0108057 AL
`4 / 2009 Mu et al .
`2009 / 0172780 A1
`7 / 2009 Sukeda et al .
`2009 / 0228919 AL
`9 / 2009 Zott et al .
`2009 / 0248802 A1 *
`10 / 2009 Mahajan . .
`2010 / 0027974 A12 / 2010 Ansari
`2010 / 0137028 A1
`6 / 2010 Farris et al .
`2010 / 0205628 AL
`8 / 2010 Davis et al .
`2010 / 0265939 Al 10 / 2010 Parlamas et al .
`2010 / 0281042 AL 11 / 2010 Windes et al .
`2011 / 0030020 A
`2 / 2011 Halttunen
`2011 / 0060998 A1 3 / 2011 Schwartz et al .
`2011 / 0090898 Al
`4 / 2011 Patel et al .
`2011 / 0107227 Al
`5 / 2011 Rempell et al .
`2011 / 0131607 A1 6 / 2011 Thomas et al .
`2011 / 0138354 Al 6 / 2011 Hertenstein et al .
`2011 / 0214148 Al 9 / 2011 Gossweiler et al .
`2011 / 0231265 A1
`9 / 2011 Brown et al .
`2011 / 0231566 AL
`9 / 2011 Gelter et al .
`2011 / 0296465 Al 12 / 2011 Krishnan et al .
`2012 / 0054616 Al *
`3 / 2012 Mittal
`. G06F 1730899
`715 / 722
`2012 / 0059875 AL
`3 / 2012 Clark
`2012 / 0102209 A1 *
`4 / 2012 Fok Ah Chuen et al . . . . . 709 / 228
`
`463 / 42
`
`G06F 9 / 4445
`709 / 204
`
`CN
`CN
`??
`JP
`JP
`WO
`
`FOREIGN PATENT DOCUMENTS
`7 / 2010
`101778198
`101815073
`8 / 2010
`2175607 AL
`4 / 2010
`2004 - 356695 A
`12 / 2004
`2006 - 525771 A
`11 / 2006
`2004100500 A2
`11 / 2004
`OTHER PUBLICATIONS
`Dolcourt , J . , CES : Snapstick takes on Apple TV , Google TV ,
`http : / / news . cnet . com / 8301 - 17938 _ 105 - 20025100 - 1 . html , 3 pages ,
`( Dec . 9 , 2010 ) .
`Shaivitz , M . , “ The Web to Your TV , With a Flick of a Wrist ?
`Slapstick Says Yes , " http : / / techcocktail . com / the - web - to - our - tv
`with - a - flick - of - a - wrist - slapstick - says - yes - 2010 - 12 , 2 pages , ( Dec .
`10 , 2010 ) .
`Snapstick - Home , “ Snapstick , ” http : / / www . snapstick . com , 2
`pages , printed on Mar . 2 , 2011 .
`Paul , I . , Hands on : YouTube Leanback , PCWorld , http : / / www .
`pcworld . com / article / 200769 / hands _ on _ youtube _ leanback . html , 3
`pages , ( Jul . 9 , 2010 ) .
`Using AirPlay , Article HT4437 , http : / / support . apple . com / kb /
`HT4437 , 3 pages , ( Apr . 18 , 2011 ) .
`Cheng , J . , “ Stream AirPlay video to regular TV ? Apple might make
`it happen , " http : / / arstechnica . com / apple / news / 2011 / 03 / stream - air
`play - video - to - a - regular - tv - apple - migh . . . , 1 page , printed on Jun .
`7 , 2011 .
`“ Using the Play to feature to stream media , ” http : / / windows .
`microsoft . com / en - US / windows7 / using - the - play - to - feature - to
`stream - media , 3 pages , printed on Jun . 7 , 2011 ,
`“ YouTube — Leanback , "
`http : / / www . youtube . com / t / leanback ,
`page , printed on Jun . 7 , 2011 .
`“ Yahoo ! 7 TV Guide for iPhone , iPod touch and iPad on the iTunes
`App
`Store , "
`http : / / itunes . apple . com / au / app / yahoo - 7 - ty - guide /
`id42471992 ? mt = 8 , 2 pages , printed on Jun . 7 , 2011 .
`Hu , C . , et al . , “ Mobile Media Content Sharing in UPnP - Based
`Home Network Environment , ” Journal of Information Science and
`Engineering 24 , 1753 - 1769 . ( 2008 ) .
`Fallakhair , S . , et al . , “ Dual Device User interface Design for
`Ubiquitous Language Learning : Mobile Phone and Interactive Tele
`vision ( iTV ) , " Proceedings of the 2005 IEEE Int ' l Workshop on
`Wireless an Mobile Technologies in Education , 8 pages , 2005 .
`Ask Search Internet Search , session identifier random , printed on
`Nov . 19 , 2011 .
`Webopedia computer dictionary , session cookie , printed on Nov . 19 ,
`2011 .
`Webopedia computer dictionary , web identifier , printed on Nov . 19 ,
`2011 .
`Webopedia computer dictionary , user session , printed on Nov . 19 ,
`2011 .
`www . vbulletin . com , Best way to generate Random , Unique ID ' s ,
`printed on Nov . 19 , 2011 .
`www . vbulletin . com , Best way to generate Random , Unique ID ' s ,
`Internet Archive Wayback Machine , Jan . 16 , 2009 .
`Official communication from the USPTO in
`U . S . Appl . No .
`13 / 245 , 001 , dated Dec . 8 , 2011 ,
`U . S . Appl . No . 13 / 245 , 001 , filed Sep . 26 , 2011 .
`Japanese Patent Office , Examination Report for JP Patent App . No .
`2014 - 506460 , dated Jun . 28 , 2016 ( 6 pages ) ( and English Transla
`tion ) .
`* cited by examiner
`
`1
`
`2
`
`
`
`U . S . Patent
`
`Sep . 19 , 2017
`
`Sheet 1 of 4
`
`US 9 , 767 , 195 B2
`
`28
`
`29
`Sync code
`generator
`26
`API Adapter
`
`Switchboard Server System
`Switchboard
`36
`Look - up
`Table
`
`Database
`
`Database
`
`Display Host
`
`Instance of
`Instance of
`swappable
`swappable
`medial player | | medial player
`
`22
`
`O
`
`O
`
`O
`
`O
`
`O
`
`O
`
`Internet
`
`Display Device
`
`Virtual
`client
`
`Content Providers
`
`FIG . 1
`
`3
`
`
`
`U . S . Patent
`
`Sep . 19 , 2017
`
`Sheet 2 of 4
`
`Sheet 2 of 4
`
`US 9 , 767 , 195 B2
`
`
`
`
`ASSIGNS UNIQUE SYNC CODE TO BE USED
`
`
`
`106 SWITCHBOARD SERVER SYSTEM
`
`
`
`BY DISPLAY HOST FOR THE SESSION
`
`
`
`
`108 SWITCHBOARD SERVER SYSTEM SENDS ASSIGNED
`
`
`
`SYNC CODE TO DISPLAY HOST
`
`=
`
`W
`
`
`
`
`
`
`SWAPPABLE MEDIA PLAYER SESSION USING A PARTICULAR INSTANCE OF THE
`
`
`
`102 DISPLAY HOST OPENS
`
`
`
`
`
`
`CODE FROM 104 DISPLAY HOST REQUESTS SYNC SWITCHBOARD SERVER SYSTEM
`
`
`
`
`
`MEDIA PLAYER CODE IN CORRESPONDING INSTANCE OF SWAPPABLE
`
`
`
`
`| 110 DISPLAY HOST DISPLAYS IMAGE OF SYNC
`
`
`
`
`
`FIG . 2
`
`
`DISPLAYED IN THE INSTANCE OF SWAPPABLE MEDIA PLAYER IS MIRRORED
`
`
`ONTO VIRTUAL CLIENT ON DISPLAY DEVICE
`
`112 IMAGE
`
`-
`
`ww w
`
`w wwwwww -
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`- -
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`Ww
`
`
`
`
`
`SWITCHBOARD SERVER SYSTEM
`
`
`
`DISPLAY HOST
`
`-
`
`-
`
`
`
`DEVICE SENDS UNIQUE DISPLAY IDENTIFIER TO DISPLAY HOST
`DISPLAY DEVICE 100
`
`
`
`
`
`
`4
`
`
`
`U . S . Patent
`
`Sep . 19 , 2017
`
`Sheet 3 of 4
`
`US 9 , 767 , 195 B2
`
`
`
`
`
`Switchboard Server System
`
`Message added to
`
`
`
`Smart phone database
`
`
`
`Target Verification /
`
`Switchboard
`
`212
`
`
`Message received
`
`
`from Smart Phone
`
`
`
`Account Verification
`
`222
`
`Universal API adapter 220
`
`Message copied to
`
`
`
`Display host database
`
`FIG . 3
`
`122
`20 - 2024
`3
`
`214
`206
`
`
`
`
`
`Request video data
`
`
`
`Display list of videos
`
`m 208
`
`
`
`Action Selected
`
`
`
`30 Selection sent to database
`
`210
`
`202
`
`Start App
`
`
`
`
`
`
`
`
`
`
`
`Display host with multiple instances of swappable media player
`
`
`224
`
`- 226
`
`
`
`Display device checks
`
`received by Display Device
`
`New message
`
`database for a new message
`
`
`
`Display Device executes
`
`new message
`
`228
`
`230
`
`
`
`
`
`
`
`Unique identifier sent Play / pause / fwd / etc . . )
`
`www
`
`session is opened with Presentation of video
`
`
`
`assigned sync - code
`display server , associated
`
`to the host
`
`
`
`Display Device
`
`Virtual client
`
`23
`
`
`
`
`
`Switch video player
`
`
`
`
`
`Load new video
`
`200
`
`
`
`Content provider
`
`
`
`
`
`XML data file
`
`
`
`Video files
`
`
`
`Video Player
`
`42
`204
`
`40
`
`5
`
`
`
`U . S . Patent
`
`Sep . 19 , 2017
`
`Sheet 4 of 4
`
`US 9 , 767 , 195 B2
`
`
`
`
`
`Switchboard Server System
`
`212
`
`
`
`added to Smart Message phone database
`
`
`
`Target
`
`Verification / Switchboard
`
`
`Message received from
`
`Smart Phone
`
`
`
`Account Verification
`
`Universal API adapter 220
`
`222
`
`
`
`copied to Display Message host database
`
`
`
`FIG . 4
`
`22
`
`24
`
`< 20
`
`( 206
`
`208
`
`
`
`
`
`Request video data
`
`
`
`
`
`XML data file
`
`
`
`Display list of videos
`
`
`
`Action Selected
`
`| Selection sent to database
`
`
`210
`
`30
`
`
`
`Video files
`
`
`
`Video Player
`
`
`
`Start App
`
`200
`
`
`
`Content provider
`
`204 42
`
`40
`
`- 226
`
`
`
`Display device checks
`
`received by Display Device
`
`New message
`
`database for a new message
`
`
`
`Display Device executes
`
`new message
`
`
`
`
`
`
`
`Display host with multiple instances of swappable media player
`224
`
`
`
`
`
`Switch video player
`
`228
`
`Play / pause / fwd / etc . . )
`
`Presentation of video
`
`
`
`Load new video
`
`230
`
`- - 50
`
`Watermarking • Timestamp • Sync - code . ld of Display
`
`Device
`
`host Unique identifier sent to the
`
`
`with assigned sync - code
`
`display server , associated session is opened
`
`
`embedded watermark
`Video presentation with
`
`
`
`
`Display Device
`
`Virtual client
`
`23
`
`6
`
`
`
`US 9 , 767 , 195 B2
`
`VIRTUALIZED HOSTING AND DISPLAYING
`OF CONTENT USING A SWAPPABLE MEDIA
`PLAYER
`
`session is received from the switchboard server system . The
`method includes displaying the unique identifier in the first
`session , and causing the display of the unique identifier to be
`mirrored onto a virtual client residing on the display device .
`The foregoing method can be used , for example , to
`RELATED APPLICATION ( S )
`establish a link between a particular instance of the swap
`pable media player and a particular display device . The
`The present application is a continuation - in - part of U . S .
`unique identifier displayed on the virtual client residing on
`application Ser . No . 13 / 157 , 821 , filed on Jun . 10 , 2011 ,
`which in turn claims the benefit of priority of U . S . Provi
`the display device then can be entered into a computing
`sional Patent Application No . 617477 , 998 , filed on Apr . 21 , 10 device ( e . g . , a mobile phone ) that is to be used to select and
`2011 . The contents of the earlier applications are incorpo
`control the playing of content on the display device .
`rated herein by reference .
`According to another aspect , the method includes receiv
`ing in the display host a message indicating that particular
`BACKGROUND
`15 content is to be played in a first session using a specified
`media player . The specified media player can be retrieved
`Techniques are known to facilitate operating a display
`and loaded , and the particular content can be played in the
`device remotely from a personal computing device , such as
`first session using the specified media player . The method
`a mobile phone , in order to view a video file or other content
`can include causing a presentation of the content to be
`on the display device . For example , U . S . patent application
`Ser . No . 13 / 157 , 821 describes a system in which a server 20 mirrored onto the virtual client residing on the display
`system acts as a single interface that can be used to control
`device . In some implementations , the method includes
`any one of multiple media players ( i . e . , computer software
`receiving in the display host a second message indicating
`applications for playing video or other content ) that may be
`that particular second content is to be played in the first
`needed to play different video or other files on a display
`session using a specified second media player . The specified
`device such as a television screen . As an example , the 25 second media player can be retrieved and loaded , and the
`display device may receive from the server system a mes -
`particular second content can be played in the first session
`sage , based on input from a mobile phone , that instructs the
`using the specified second media player . The method can
`display device to access a content provider , load a specific
`include causing a presentation of the second content to be
`media player , load specific content ( e . g . , a video ) to be
`mirrored onto the virtual client residing on the display
`played on the display device , and play the content on the 30 device .
`display device using the media player .
`Systems for presenting content are described as well . For
`Recently , various types of display devices have become
`example , in some implementations , a system for presenting
`popular and their use has become widespread . For example ,
`content includes a display device storing a virtual client . The
`some applications can be run on a gaming console , a tablet
`system includes a display host operable to execute multiple
`computer , a television set , or a set - top box , where the display 35 instances of a browser each of which operates as a swap
`device serves as a platform for audio - visual media such as
`pable media player , wherein each instance of the swappable
`books , movies , music , games or web content . However ,
`media player is operable to retrieve and load any of a
`some of these display devices have somewhat limited pro
`cessing power and , therefore , may not be sufficiently pow plurality of different media players needed to play specified
`erful to run a swappable media player such as described in 40 content . The system also includes a switchboard server
`the foregoing patent application . Thus , using the techniques
`system . The display host is operable to perform operations
`described in the foregoing patent application to control the
`including receiving from the switchboard server system a
`display of content on such display devices presents a chal
`message indicating that a specified media player is to be
`used to play particular content using a first instance of a
`lenge .
`45 swappable media player , retrieving and loading the specified
`SUMMARY
`media player from a content provider using the first instance
`of the swappable media player , playing the particular con
`tent in a first session using the specified media player , and
`The present disclosure describes techniques to facilitate
`causing a presentation of the content to be mirrored onto the
`controlling the content that is displayed on various display
`devices , using a personal computing device such as a mobile 50 virtual client residing on the display device . In some imple
`phone . The techniques make use of a display host that acts ,
`mentations , the message indicating that a specified media
`in part , as a swappable media player so that a wide range of
`player is to be used to play particular content using a first
`video or other content can be played on the display device
`instance of a swappable media player includes a unique
`regardless of the particular media player that may he needed
`identifier for the first session . Also , in some implementa
`to play the video or other file .
`55 tions , the display host is further operable to incorporate a
`In one aspect , for example , a machine - implemented
`watermark into the content before the content is mirrored
`method of presenting content on a display device includes
`onto the virtual client , wherein the watermark includes the
`receiving , in a display host , a communication from a display
`unique identifier .
`device . The display host is operable to execute multiple
`Various implementations include one or more of the
`instances of a browser each of which operates as a swap - 60 following advantages . For example , the techniques
`pable media player , wherein each instance of the swappable
`described here can be used even if the display device has
`media player is operable to retrieve and load any of a
`somewhat limited processing power and would not be
`plurality of different media players needed to play specified
`sufficiently powerful to run the swappable media player .
`content . The method includes opening a first session using a
`Furthermore , the techniques can facilitate centralized pro
`first instance of the swappable media player , and requesting 65 cessing of the swappable media player for multiple display
`assignment of a unique identifier for the first session from a
`devices ( e . g . , television sets located in multiple guest rooms
`switchboard server system . A unique identifier for the first
`in a hotel ) .
`
`7
`
`
`
`US 9 , 767 , 195 B2
`
`Other aspects , features and advantages will be apparent
`from the following detailed description , the accompanying
`drawings , and the claims .
`
`Thus , each instance 27 of the swappable media player can
`play content ( e . g . , a video ) during a particular session that
`differs from the content being played by other instances 27 .
`Furthermore , the different instances 27 of the swappable
`5 media player running on the display host 22 may use
`BRIEF DESCRIPTION OF THE DRAWINGS
`different media players ( i . e . , software applications to play
`the content from one another depending on the particular
`FIG . 1 is a block diagram illustrating an example of a
`content being played by each instance . In addition , as
`system according to the invention .
`discussed in greater detail below , each particular instance 27
`FIG . 2 illustrates a method for establishing a session for
`playing content on a user - selected display device using a 10 of the swappable media player can retrieve the appropriate
`media player needed to play the specified content .
`swappable media player .
`FIG . 3 illustrates an example for playing user - selected
`in the illustrated example , the display device 23 includes
`a thin , virtual client 25 that can display content ( e . g . , a
`content on a user - selected display device .
`FIG . 4 illustrates another example for playing user - se -
`video ) being played by a specific instance 27 of the swap
`15 pable media player on the display host 22 . The virtual client
`lected content on a user - selected display device .
`25 relies on the display host 22 to perform the data process
`ing required for displaying the selected content . The display
`DETAILED DESCRIPTION
`device 23 may be a dedicated thin client terminal or a
`computing device with thin client software that sends user
`As shown in FIG . 1 , a system 10 synchronizes a connec -
`20 input to the display host 22 and receives screen output in
`tion between a control device 20 and a display device 23 to
`facilitate the playing of content on the display device 23 . For
`return . Although the virtual client 25 processes the user
`example , a user of the first device 20 can select content and
`interface , it need not process data .
`sa data
`control the content displayed on the display device 23 . For
`As explained in greater detail below , the virtual client 25
`purposes of illustration , in the following discussion , it is
`can have a unique identifier associated with it . In some
`assumed that first device 20 is a personal computing device 25 cases , the unique identifier may be assigned when the
`such as a mobile phone that includes a display , an internal
`software program is downloaded to the display device 23 .
`microprocessor or other processing circuitry , a keypad ,
`When the display device 23 connects to the display host 22 ,
`keyboard , touchscreen , mouse , trackball , or other device to
`the unique identifier associated with the virtual client 25 on
`receive user selections and other input , and a transceiver to
`the display device 23 is paired with a unique assigned sync
`establish communications to the Internet 21 . More generally , 30 code , which , in turn , is associated with a particular instance
`however , the first device 20 can be any type of handheld or
`27 of the swappable media player so that the appropriate
`other Internet - enabled personal computing device , including
`session is paired with the correct virtual client and display
`personal computers , e - books , kiosks , tablets , smart phones
`device ( e . g . , virtual client 25 on display device 23 ) .
`and media players . In some cases , input from the user can be
`The following paragraphs describe how a connection can
`received in forms other than tactile input ( e . g . , acoustic or 35 be established between the mobile phone 20 and the display
`speech ) . Examples of the display device 23 include a gaming
`device 23 so that the mobile phone can be used to control the
`console , tablet computer , set - top box , television set , per
`display and playing of content on the display device 23 . As
`sonal computer or laptop computer with a display screen . In
`indicated by FIG . 2 , when the display device 23 initially
`some implementations , the display device 23 may have
`connects to the display host 22 , the display device 23 sends
`limited processing power . Although FIG . 1 shows only a 40 the unique identifier associated with the virtual client 25 to
`single display device 23 coupled to the display host 22 , there
`the display host 22 ( see 100 in FIG . 2 ) . In the event there is
`may be multiple display devices coupled to the display host
`no such unique identifier provided by the display device 23 ,
`23 at the same time . Furthermore , the display devices may
`the display host 22 automatically can assign a unique
`identifier to the display device 23 . The display host 22 opens
`be of different types .
`In the illustrated example , the mobile phone 20 is oper - 45 a session using a particular instance 27 of the swappable
`media player ( see 102 in FIG . 2 ) . The session is associated
`able to display an application or web site that contains
`information and links to content providers 30 on a computer
`uniquely with the identifier for the virtual client 25 / display
`network such as the Internet 21 . A display host 22 , which
`device 23 . The display host 22 , which stores ( e . g . , in a
`may be implemented , for example , as a server system or
`database ) the one - to - one correspondence between the ses
`other computing device ( e . g . , a personal home computer ) , is 50 sion and the display device 23 , also requests a sync code
`coupled to the Internet and is operable to link back to a
`from the switchboard server system 24 ( see 104 in FIG . 2 ) .
`switchboard server system 24 from which the display host
`The switchboard server system 24 assigns a unique sync
`22 receives messages regarding the playing of specified
`code to be used by the display host 23 for the session ( see
`106 in FIG . 2 ) , and stores the correspondence between the
`content .
`The display host 22 is operable to execute multiple 55 sync code and the display host session in a database for
`sessions of a browser each of which operates as a swappable
`future reference . The switchboard server system 24 includes
`media player . Each session operates as a virtual display
`a sync code generator 29 to generate the sync codes and can
`device that includes a unique instance 27 of the swappable
`use , for example , the display host ' s browser cookie as an
`media player and is assigned a unique synchronization code
`identifier for the display host 23 . The switchboard server
`( " sync code ” ) , which serves as an identifier for the session . 60 system 24 then sends the assigned sync code to the display
`Each session is associated with a specified display device
`host 22 ( see 108 in FIG . 2 ) . Upon receiving the sync code
`such as the display device 23 . The display device 23 may be
`assigned to the particular session , the display host 22 stores
`connected to the display host , for example , through a
`( e . g . , in a database ) the association between the sync code
`wireless connection , a wired connection ( e . g . , a co - axial
`and the particular session , and displays an image of the sync
`cable ) , or through the Internet 21 or other network .
`65 code in the corresponding instance 27 of the swappable
`The various instances 27 of the swappable media player
`media player ( see 110 in FIG . 2 ) . The image displayed in the
`run on the display host 22 are independent of one another .
`instance 27 is mirrored onto the virtual client 25 on the
`
`8
`
`
`
`US 9 , 767 , 195 B2
`
`23 . The mobile phone 20 also can be used to issue playback
`display device 23 using , for example , a virtual network
`commands ( e . g . , play , pause , fast - forward , rewind , stop ,
`connection ( VMC ) or other virtualization technology ( see
`etc . ) to control the session .
`112 in FIG . 2 ) . The sync code may be displayed , for
`Although in some examples the content is a video to be
`example , as text or as a QR code .
`Once the sync code appears on the display device 23 , the 5 played on the display 23 , the system 10 can be used for other
`user of the mobile phone 20 can enter the sync code into the
`types of content as well . Thus , depending on the implemen
`mobile phone , for example , manually ( e . g . , using a key -
`tation , the content may include one or more of the following :
`board ) or by scanning the displayed sync code into the
`video , audio , interactive video game , streaming media ,
`mobile phone ( see 114 in FIG . 2 ) . The code can be scanned ,
`multimedia , images , slides ( e . g . , a PowerPoint presentation )
`for example , using optical scanning or RFID techniques .
`10 or other types of dynamic content .
`The mobile phone 20 then sends a message containing the
`FIG . 3 illustrates further details of the flow of information
`sync code to the switchboard server system 24 ( see 116 in
`and signals according to some implementations . The mobile
`FIG . 2 ) , which associates the received sync code with the
`phone 20 is operable to display an application or web site
`matching sync code already stored in its database ( see 118
`that contains information and links to content providers 30
`in FIG . 2 ) . The switchboard server system 24 includes a
`15 on the Internet 21 . The user operates the mobile phone 20 so
`look - up table 36 that , based on the sync code , stores the
`as to start the application or access the web site ( block 200 ) .
`correspondence between the mobile phone 20 and the ses -
`In some implementations , a logo appears on the mobile
`sion of the swappable media player on the display host 22 .
`phone ' s display . By selecting the logo , the user causes a
`Thus , once the sync code is entered into , or captured by , the
`menu to expand and present various options . The options
`mobile phone 20 , it is sent from the mobile phone 20 to the 20 can include , for example : ( i ) add new content to a playlist ,
`switchboard server system 24 , which stores the information
`( ii ) play a listed item on a secondary device , ( iii ) play a listed
`in the look - up table 36 so as to establish a connection ,
`item on the mobile phone 20 . If the user selects to add new
`through the switchboard server system 24 , between the
`content to the playlist , the user is presented with a screen that
`mobile phone 20 and the particular session of the swappable
`allows him to enter user - defined search parameters or to
`media player on the display device 23 . As there is
`a 25 select predefined search parameters to request video data .
`one - to - one correspondence between the sync code , the par -
`The search parameters are sent from the mobile phone 20 as
`ticular session on the display host 22 and the display device
`part of a request for video data that satisfy the search
`23 , the mobile phone 20 effectively can be paired with , and
`parameters ( block 202 ) . The request is transmitted via the
`thus connected to , the virtual client 25 operating on the
`Internet 21 to the appropriate content provider web site . In
`display device 23 by way of the switchboard server system 30 response , the content provider 30 provides metadata ( e . g . ,
`24 and the unique session of the swappable media player
`titles , links to the videos ) for one or more video files that
`running on the display host 22 .
`satisfy the search parameters . The metadata can be provided
`Next , the switchboard server system 24 sends a message
`to the mobile phone 20 , for example , in the form of an XML
`to the display host 22 indicating that the swappable media
`data file 204 . Upon receiving the data file , the mobile phone
`player on the display host 22 and the mobile device 20 are 35 20 displays a list of one or more videos based on the
`connected ( see 120 in FIG . 2 ) . The particular instance 27 of
`information received from the content provider 30 ( block
`the swappable media player can display an indication ( e . g . ,
`206 ) .
`a message or other indicator ) that it is connected to the
`If desired , the user can take one of several actions ,
`mobile device 20 ( see 122 in FIG . 2 ) . This indication is
`including selecting one of the videos from the displayed list
`mirrored onto the display device 23 ( see 124 in FIG . 2 ) , 40 to be played or initiating a command with respect to