throbber
USOO7356575B1
`
`(12) United States Patent
`Shapiro
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,356,575 B1
`*Apr. 8, 2008
`
`(54) SYSTEM, METHOD, AND COMPUTER
`PROGRAMI PRODUCT FOR REMOTELY
`DETERMINING THE CONFIGURATION OF
`A MULT-MEDIA CONTENT USER
`
`(75) Inventor: Jody Shapiro, San Jose, CA (US)
`(73) Assignee: Sony Corporation, Tokyo (JP)
`
`(*) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 499 days.
`This patent is Subject to a terminal dis
`claimer.
`
`(21) Appl. No.: 10/700,409
`
`(22) Filed:
`
`Nov. 3, 2003
`Related U.S. Application Data
`(63) Continuation-in-part of application No. 09/986,683,
`filed on Nov. 9, 2001.
`(60) Provisional application No. 60/516,017, filed on Oct.
`31, 2003.
`
`(51) Int. Cl.
`(2006.01)
`G6F 3/
`(52) U.S. Cl. ...................................................... 709/220
`(58) Field of Classification Search .
`None
`See application file for complete search history.
`References Cited
`
`(56)
`
`U.S. PATENT DOCUMENTS
`
`7, 1968 Wernikoff et al.
`3,394,352 A
`3,913,093 A 10, 1975 De Vincentiis et al.
`5,526,397 A
`6, 1996 Lohman
`5,657,015 A
`8/1997 Nakajima et al.
`
`8/1998 Newby et al.
`5,796,829 A
`5,818,537 A 10, 1998 Enokida et al.
`5,818,933 A 10, 1998 Kambe et al.
`5,838,927 A 11/1998 Gillon et al.
`5,848,134 A 12/1998 Sekiguchi et al.
`5,949,876 A
`9, 1999 Ginter et al.
`5.991,795 A 11/1999 Howard et al.
`6,122.290 A
`9/2000 Kawamata
`(Continued)
`FOREIGN PATENT DOCUMENTS
`
`EP
`
`O 727 888
`8, 1996
`(Continued)
`OTHER PUBLICATIONS
`Rakesh Mohan et al., Content Adaptation Framework: Bringing the
`Internet to Information Appliances (IBM), Multimedia Services and
`Technology
`Issues,
`Global
`Telecommunications
`Conference—Globecom '99, pp. 2015-2021.
`(Continued)
`Primary Examiner Robert B Harrell
`(74) Attorney, Agent, or Firm—Frommer Lawrence & Haug
`LLP. William S. Frommer; Thomas F. Presson
`
`(57)
`
`ABSTRACT
`
`A method for remotely determining the configuration of a
`computer of a multimedia content user includes sending
`player detection code to the user's computer and receiving
`configuration information regarding the user's computer. A
`method of determining a connection speed of a computer
`includes determining a size of a timing block based on an
`estimated bandwidth and retrieving the timing block. The
`connection speed is determined based on the timing block
`size and the times at which transfer begins and ends.
`
`18 Claims, 17 Drawing Sheets
`
`
`
`Delivery management
`
`Serwar contact
`code 2
`
`
`
`http request 130,
`Configuration
`
`Timing
`Bock SS
`
`1
`
`Charter Ex. 1131
`
`

`

`US 7,356,575 B1
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`6,247,050 B1
`6,594,699 B1*
`FOREIGN PATENT DOCUMENTS
`
`6, 2001 Tso et al.
`7/2003 Sahai et al. ................. TO9,228
`
`EP
`EP
`EP
`EP
`WO
`
`O 992 922
`1 O26872
`1 032 217
`1 043 655
`WOOO 725 17
`
`4/2000
`8, 2000
`8, 2000
`10, 2000
`11 2000
`
`OTHER PUBLICATIONS
`Richard Han et al., Dynamic Adaptation in an Image Transcoding
`Proxy for Mobile Web Browsing (IBM), IEEE Personal Commu
`nications, Dec. 1998, pp. 8-17.
`“Broadcast Help.” retrieved Aug. 20, 2002 at http://help.yahoo.
`com/helpfus/bcst?, 2 pages.
`“BrowserHawk features and benefits,” retrieved Jan. 23, 2004 at
`http://www.cyscape.com/products/bhawk? features.asp, 6 pages.
`“Yahoo! Broadcast,” retrieved Aug. 20, 2002 at http://broadcast.
`yahoo.com/home.html, 3 pages.
`
`"Larry Bouthillier's Streaming Media Player Detection
`Tutorial Client-side code.” retrieved Sep. 20, 2002 at http://
`www.emediacommunications.biz. Sm3/Sm3 clientcode.html.
`4
`pageS.
`"Streaming Media Player/Connection Speed Detection Tutorial.”
`retrieved Sep. 20, 2002 at http://www.emediacommunications.biz
`Sm3/index.html, 2 pages.
`A flowchart, retrieved Sep. 20, 2002 at http://www.emediacom
`munications.biz. Sm3/playDetectFlow.gif, 1 page.
`A flowchart, retrieved Sep. 20, 2002 at http://www.emediacom
`munications.biz. Sm3/playerDataObjectUML.gif, 1 page.
`Youn Jet al: “Video Transcoding for Multiple Clients' Proceedings
`of the SPIE, SPIE, Bellingham, VA, US, vol. 4067. No. PART 1-3,
`Jun. 2000, pp. 76-85, XPO080 12075 ISSN: 0277-786X.
`Smith J R et al: “Content-based transcoding of images in the
`Internet” Image Processing. 1998 ICIP 98. Proceedings. 1998
`International Conference on Chicago, IL, USA Oct. 4-7, 1998, Los
`Alamitos, CA, USA, IEEE Comput. Soc, US, vol. 3, Oct. 4, 1998,
`pp. 7-11, XPO 10586855 ISBN: 0-8186-8821-1.
`* cited by examiner
`
`2
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 1 of 17
`
`US 7,356,575 B1
`
`100
`
`
`
`
`
`
`
`
`
`
`
`Content
`provider
`O5
`
`
`
`
`
`Server contact
`Code 120
`
`Scripts 40
`
`Delivery management
`SW
`25
`
`HTTP request 130,
`Configuration
`informatio
`35
`
`
`
`
`
`
`
`
`
`
`
`Timing
`Bock 55
`
`Preferences
`Page f 50
`
`FIG. 1
`
`3
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 2 of 17
`
`US 7,356,575 B1
`
`(-) Processo 20
`
`() Main Memory 208
`
`(
`
`) Display interface 202
`
`Display 230
`
`Secondary Memory 210
`
`hard Disk Orive 22
`
`Cortly cator
`infrastructurns
`20S
`
`( )
`
`Removable Storage
`Orive 24
`
`interface 22O
`
`
`
`
`
`Removable
`Sorage Unit
`218
`
`Renovable
`Storage Unit
`222
`
`
`
`
`
`Communications
`interface 224
`
`Communications Path 226
`
`F.G. 2
`
`4
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 3 of 17
`
`US 7,356,575 B1
`
`300
`
`O5
`
`User loads page of Content
`provider
`
`10
`
`Player detection code is fetched 1-32O
`from delivery managment server
`
`Perform player detection
`
`25
`
`Store in cookies
`
`30
`
`33
`
`Present preference page
`
`
`
`No
`
`Sufficient
`nfort nation
`
`33
`
`Receive preferences
`
`
`
`Store in Cookies
`
`User makes HTTP request, any
`cookies are sent to delivery
`management server
`
`
`
`35
`
`CReturn D-370
`
`FIG. 3 A
`
`5
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 4 of 17
`
`US 7,356,575 B1
`
`2 Flow Charts
`
`Server-side
`request processing
`(Figure 1)
`
`
`
`Oevery Manager
`HTTP request
`received
`
`g 1
`
`72
`
`Delivery Manager
`cookies received?
`
`
`
`Yes
`
`Send HTTP response
`containing code to send
`client to detection UR
`
`
`
`Return empty
`HTTP response
`
`FIG. 3B
`
`
`
`
`
`
`
`
`
`detection url
`HTTP request
`received
`
`Analyze HTTP onel- 3 7.
`to determine Operating
`System, Platform, HTTP
`cent nt user agen 2
`
`Send limer Start code
`
`Send data block for
`bandwidth
`fmeasulfe?tinent
`
`379
`
`Send TimeStop code
`
`7
`
`Calculate bandwidth
`and store it in a cookie
`
`3 go
`
`
`
`Send cent-side
`medla player
`defection code
`
`F.G. 3C
`
`6
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 5 of 17
`
`US 7,356,575 B1
`
`SEND MODIFIED NFORMATION
`HEADER INSTRUCTION
`
`3's 2
`
`V
`
`SEND UNCRUE CENTD
`
`u- 33 3
`
`
`
`
`
`
`
`LIENT ACKNOWLEDGES INSTRUCTION AND
`APPENDS CLIENT D POINTER ADDRESS
`NFORMATION
`
`3 g t
`
`CLENT PREPARES MODIFEED
`HEADER INFORMATION
`
`u-
`
`8 s
`
`CLENT SENDS MODIFIED HEADER
`NFORMATION WITH
`DUPON FURTHER REQUEST
`
`v- 3 s (e
`
`3
`
`return
`
`FIG. 3D
`
`7
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 6 of 17
`
`US 7,356,575 B1
`
`325
`
`Try to instantiate
`object for media
`player
`
`Player is present
`
`heck for
`another media
`player?
`
`
`
`
`
`
`
`NETSCAPE
`
`Netscape
`Or E?
`
`String search
`through mimetype
`and plugin arrays
`for media player
`
`
`
`41
`
`Player found?
`
`
`
`
`
`Player is present
`
`
`
`
`
`heck for
`another media
`player?
`
`417
`
`F.G. 4A
`
`8
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 7 of 17
`
`US 7,356,575 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`is WMP
`avai on his
`OS/platform?
`
`ls ActiveX
`avail on this
`browser?
`
`
`
`
`
`
`
`
`
`
`
`
`
`No
`
`
`
`
`
`
`
`
`
`Cen
`Class D for
`WMP7 or WMPB
`be created?
`
`No
`
`Can Class)
`for WMP7
`be created?
`
`Can Class)
`for WMP8.4
`ba created?
`
`
`
`Can WMP object
`be creatad?
`
`WMPversion ano
`
`
`
`
`
`
`
`Client-sid
`Windows Media Player (WMP) detection
`
`
`
`
`
`Yes
`
`Yes
`
`
`
`
`
`Yes
`
`
`
`
`
`
`
`
`
`1
`
`US 2
`
`/
`
`s at N
`
`applicationix-ms-wmd
`registered by
`a plugin?
`
`No
`
`( 5 S
`
`ls ninetype
`applicationix-ins-win or
`applicatonic-ms-wmv.
`registered to
`a plugin?
`
`
`
`
`
`
`
`
`
`No
`
`- N
`
`(4 (
`
`application/x-rysplayev2
`registered to
`a plugin?
`
`
`
`Gold
`RealPlayer
`detection
`
`
`
`F.G. 4B
`
`9
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 8 of 17
`
`US 7,356,575 B1
`
`
`
`
`
`Cilent-Side
`RealPlayer (Real) detection
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`is Real
`avail on this
`oSplatform?
`
`1 is Activex
`avail on ps
`browsy
`
`Car
`Raagplayer G2
`object be
`cTeated?
`
`Yas
`
`
`
`
`
`N
`
`Car
`RealPlayer
`object be
`created
`
`
`
`1 Car
`RealVideo
`object be
`creates?
`
`Reaversion no
`
`is mine type
`audiofr pn-faataudio-plugin
`regislared by
`a plugin
`
`qt 5
`
`freaiversion = yes
`
`
`
`
`
`
`
`
`
`WM
`
`ls there a
`plugla ma?te
`containing
`Resone?
`
`No
`
`is there a
`plugin Narva
`containing
`RealPlayer s2
`
`Yes
`
`Reaycrson 2 One
`
`reson-on
`
`Yes
`
`Reaversions G2
`
`
`
`
`
`t{40
`
`ve- rt salversion = 5. -
`L
`(a 2
`
`
`
`
`
`is the?e a
`plugirl name
`containing
`RealPlayer?
`
`No
`
`47
`is there EN
`plugin name
`N containing
`RealVideo?
`
`Yes
`
`10
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 9 of 17
`
`US 7,356,575 B1
`
`Cent-side
`QuickTime (QT) detection
`
`
`
`
`
`(11
`
`is G
`ava at this
`OSplatform?
`
`- 13
`
`is ActiveX
`eva on this
`browser?
`
`(
`
`Yes
`
`
`
`-
`Cir
`Quicknechsck
`object the
`creatad?
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Yes
`
`Ces
`QuickTimeCheckObjectVersion.
`hsQuickTimeAvailable()
`
`Y
`
`Twersloh a
`OuickTimeCheckobject ouickTimeVersion
`
`& 7 (2
`
`
`
`No.
`
`u
`
`is there
`plug nome curtaining
`QuickTirna Phug-in"?
`
`
`
`No
`
`yes
`
`LSl
`
`QTversion D duickTime Plug-in version
`
`Nin
`
`
`
`F 16
`
`D
`
`11
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 10 of 17
`
`US 7,356,575 B1
`
`Start
`
`05
`
`332
`
`1.
`
`Begin loading preference
`page
`
`50
`
`Mark start time and begin
`loading timing block
`
`515
`
`Finish loading timing
`block and mark end time
`
`Calculate data rate
`
`530
`
`Display possible
`Configurations
`
`Receive user input
`
`Return
`
`545
`
`F.G. 5 A
`
`12
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 11 of 17
`
`US 7,356,575 B1
`
`Start
`
`gig O
`
`Fetch estimated bandwidth
`information
`
`determining estimated time to
`retrieve data for determining
`connection speed with
`adequate resolution
`
`Determine chunk-size that will
`take estimated time to retrieve
`
`Retrievelsend determined chunk size
`and measure time to retrievelsend
`
`
`
`Determine bandwidth based on
`chunk size and retrieval time
`
`F.G. 5B
`
`13
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 12 of 17
`
`US 7,356,575 B1
`
`Viewer Sends a request to access media content
`
`5O2
`
`Task Manager determines if
`necessary request information is available
`
`504
`
`
`
`Necessary
`request information
`available?
`
`
`
`
`
`Task Manager fetches
`necessary information
`
`NO
`
`508
`
`
`
`
`
`
`
`YES
`
`Task Manager determines what tasks
`need to be executed in order to deliver
`requested media content
`
`510
`
`Resource Manager assigns each task to
`one or more machines within the machine farm
`
`512
`
`Task Manager sends a reply to the viewer client,
`redirecting viewer client to streaming server from
`which requested media content will be received
`
`
`
`514
`
`F.G. 6A
`
`14
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 13 of 17
`
`US 7,356,575 B1
`
`23 2
`
`YES
`
`AUTOSOURCETYPE
`
`EECTION ON? -
`- - Y - - - -, 16
`REQUEST INPUT THROUGH
`SOURC FNTERFAC Er
`user
`
`
`
`
`
`
`
`FC SORCE (YPE
`NFORMATON FROM
`SOURCE SERVERJCLENT
`
`
`
`YES
`
`AUTO DESTINATION
`TYPE DEEECTION ON
`
`NO
`
`FETC OESTNATION TYPE
`NFORMATION FROM
`DESTINATION SERVER/CLENT
`
`
`
`
`
`A57 2 -
`
`
`
`REQUEST (NPUT THROUGH
`DESTINATIONNTERFAC E.
`e
`
`
`
`
`
`15
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 14 of 17
`
`US 7,356,575 B1
`
`
`
`
`
`
`
`Requested media
`content in transcoded
`cache in appropriate
`destination type?
`
`YES
`
`Transmitter server begins fetching
`the requested media content from the source location
`
`
`
`
`
`Source type
`the Safe as
`destination type?
`
`Transcoding server transcodes the
`media content from source type
`to destination type as it is fetched
`
`Streaming servers stream media content to the
`viewer client in appropriate destination type
`
`Viewer client receives and plays streaming media content
`
`526
`
`F.G. 6C
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`16
`
`

`

`U.S. Patent
`
`Apr. 8
`
`, 2008
`
`Sheet 15 of 17
`
`US 7,356,575 B1
`
`059
`
`HAQOOSNVYEL
`
`L£°9ld
`
`
`
`QNIGOON]SORNOS
`
`PCILIC
`IODOLOYdNOLLVOINNANODNOILYNILSAQ@
`
`
`OO
`LN3LNODVIQAWSdALNOIWVNILSAO
`
`
`WNIGAWTWOISAHdNOLLYNILSS0@
`
`
`LVWHOSSidNOLLVNILSSO@
`
`DNIQOONSNOILYNILSSC@
`
`01gAPICIE
`
`
`1OD0LO8dNOILVYOINNWNOD398NOS
`
`
`LNSLNOODVIASWSdAL30kdNOS
`
`
`WIGSWWOISAHd308NOS
`
`3LVeLISNOILYNILS30@
`
`LYW8OsSd3DHNOS
`
`3LV¥LidSOUNOS
`
`17
`
`17
`
`

`

`U.S. Patent
`
`
`
`
`
`SdAlNOILVNILSSC3dALNOILVNILSSOSdAL3DuNOS
`
`
`
`
`
`
`
`
`
`SIIVIEVAONIKSNBNd
`
`Apr. 8
`
`
`
`
`
`
`
`ASOMLANSSSISEIMWNICSAWTWOISAHd
`
`2
`
`356,575 B1
`
`US 7
`
`
`
`aLVeLIGDNIQOONS
`
`, 2008
`
`Sheet 16 of 17
`
`
`
`VIQSWSMOGNIMLVWHOsYSNIVLNOOD
`
`
`
`
`
`
`
`
`
`ViGSWSMOQNIMNOILVOINAWNOD
`
`SAWSNINVSELS
`
`18
`
`18
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Apr. 8
`
`, 2008
`
`Sheet 17 of 17
`
`US 7,356,575 B1
`
`
`
`L’yGSMINWOYOdLISX|O'€HOLVOIAVNYOdLdIYOSVAYS
`
`6‘Sis
`
`
`
`
`
`
`adALNOLVNILSAGddALSDNNOSANAND
`XSOOVIdXSMOQNIM
`
`0S8O18LNAWNOUIAN]
`
`
`
`YSSMOUNS883M
`
`NOISUAA
`
`JYVMOYVH
`
`WdO4LV1d
`
`SA1aVINvA
`
`NOISH3ASO
`
`JOVAYNALNIwasn
`
`SASVNONVI
`
`19
`
`19
`
`
`
`
`
`
`

`

`US 7,356,575 B1
`
`1.
`SYSTEM, METHOD, AND COMPUTER
`PROGRAMI PRODUCT FOR REMOTELY
`DETERMINING THE CONFIGURATION OF
`A MULT-MEDIA CONTENT USER
`
`PRIORITY
`
`This application is a continuation-in-part of U.S. patent
`application Ser. No. 09/986,683, filed Nov. 9, 2001, pub
`lished May 15, 2003 as U.S. published application No.
`2003/0093507, which is hereby incorporated by reference:
`and this application claims priority to U.S. provisional
`application Ser. No. 60/516,017, filed Oct. 31, 2003, by
`inventor Jody Shapiro, entitled “System, Method, and Com
`puter Program Product for Remotely Determining the Con
`15
`figuration of a Multi-Media Content User’.
`
`10
`
`BACKGROUND OF THE INVENTION
`
`25
`
`30
`
`45
`
`1. Field of the Invention
`The invention described herein relates to information
`systems, and more particularly to detection of multimedia
`content client configuration information.
`2. Related Art
`Given the availability of data networks and the availabil
`ity of high-speed data connections, it is now commonplace
`for end users to access multi-media content. A number of
`web sites now offer audio and video to users. Ideally, the
`user simply clicks on a link or control presented in a web
`page, and one or more multi-media files are delivered. If the
`user has the appropriate hardware and Software configura
`tion, the file can then be played.
`There are currently a significant variety of user configu
`rations, however. Some users have INTEL based personal
`computers (PCs), while others may have APPLE MACIN
`35
`TOSH computers. Different operating systems are also
`present. Some users will have a version MICROSOFT
`WINDOWS, from MICROSOFT, Inc., while others have a
`version of MAC OS, from APPLE, Inc. Moreover, each of
`these operating systems now has several versions in the user
`40
`community. In addition, a number of Software programs are
`now available to play multimedia on the computers of users.
`These players include QUICKTIMETM (from APPLE, Inc.),
`REALPLAYERTM (from REALNETWORKS, Inc.), and
`WINDOWS MEDIAPLAYERTM (from MICROSOFT,
`Inc.). Moreover, each of these players has several versions
`that are currently available in the user community. Finally,
`different users may be operating at different data rates. Some
`users may have a high speed broadband connection, while
`others may have a 56K modem connection.
`Given this variety of platforms, operating systems, play
`ers, and data rates, a content provider is faced with the
`problem of how to format the content to be delivered.
`Incorrect formatting would result in the delivery of content
`that was incompatible with a users configuration. This
`could result in content that is unusable. If the content is
`usable, the content may be in a format that fails to take
`advantage of all the features available in the user's configu
`ration, Such that the content, as experienced by the user, is
`not as rich as it could be.
`In the past, content providers have addressed this problem
`by choosing some set of common user configurations. The
`provider, for example, might identify the most common
`media players and versions thereof. The provider formats the
`content for each of these players and stores these assorted
`versions of the content. The provider would then develop a
`menu to be provided to the user, in effect asking which
`
`50
`
`55
`
`60
`
`65
`
`2
`media player the user has, or, if the user has more than one,
`which player is preferred by the user. The user then makes
`a selection, and the content that has been pre-encoded in the
`selected format is delivered to the user.
`This solution has limitations. First, it is relatively inflex
`ible. The number of options is limited. A user's specific
`configuration may not have been presented as an option in
`the menu. And if an end user has more than one media player
`available to him, the user's preferred choice may not have
`been listed as an option. Also, the Solution above requires
`user input each time. The user might not want to be queried.
`The user may instead prefer that formatting be resolved for
`him. In other situations, the user might not know the
`information requested by the menu. The user may not know
`what version of a media player he has. This solution also
`requires that a content provider change their menus and
`re-encode content whenever new players (or new versions of
`existing players) become prevalent. The above solution,
`therefore, is inflexible and burdensome to both the user and
`the provider.
`What is needed, therefore, is a way to determine a user's
`configuration so as to provide the user with content in a
`compatible format that leads to the optimal viewing expe
`rience. In addition, determination of the configuration
`should be made in a manner that minimizes the need for user
`input and is otherwise user-friendly. Moreover, an efficient
`way to determine the connection speed of a user is desired.
`
`SUMMARY OF THE INVENTION
`
`A method is provided for remotely determining the con
`figuration of a computer of a multimedia content user. The
`method includes sending player detection code to the user's
`computer. Configuration information is received regarding
`the user's computer including information regarding OS
`version, web browser version, hardware platform, user inter
`face language type, encoding format, or compression algo
`rithm, or combinations thereof. The method may include
`setting a cookie at the user's computer to a domain of a
`delivery management server, performed before the receiv
`ing, and wherein the configuration information is received in
`the cookie.
`A method for remotely determining the configuration of a
`computer of a multimedia content user is further provided
`including sending player detection code to the user's com
`puter, receiving configuration information regarding the
`user's computer, and sending a modified information header
`instruction.
`The method may also include sending unique client ID.
`The instructions may be received after the information is
`sent, and the modified information may include Some infor
`mation that was not included in the sent information and/or
`the modified information may exclude Some information
`that was included in the sent information. The modified
`information header instruction may also be sent prior to the
`receiving, and the configuration information received may
`be prepared according to the modified information header
`instruction.
`The received configuration information may include one
`or more adaptations such as a hardware adaptation and/or a
`user interface version adaptation. The modified header infor
`mation instruction may be prepared according to the adap
`tation information.
`A method is further provided for remotely determining the
`configuration of a computer of a multimedia content user
`including receiving at a user's computer player detection
`code from a second computer, sending to the second com
`
`20
`
`

`

`3
`puter configuration information regarding the user's com
`puter, and receiving a modified information header instruc
`tion.
`An unique client ID may be received. A client ID pointer
`address may be appended with configuration information for
`sending to the second computer. Modified header informa
`tion may be prepared based on the received header instruc
`tion. The modified header information with appended client
`ID may be sent to the second computer. A further configu
`ration information request may be received prior to the
`sending of the modified header information. The instruction
`may be received after the configuration information is sent.
`The modified information may include some information
`that was not included in the sent information and/or may
`exclude some information that was included in the sent
`information. The instruction may also be received before the
`configuration information is sent. The configuration infor
`mation sent may be prepared according to the modified
`information header instruction. The configuration informa
`tion may include one or more adaptations such as a hardware
`adaptation and/or a user interface version adaptation, and the
`modified header information instruction may be prepared
`according to the adaptation information.
`A method is also provided for determining a connection
`speed of a computer including determining a size of a timing
`block based on an estimated bandwidth, marking the time at
`which transfer of the timing block begins, marking the time
`at which transfer of the timing block ends, and determining
`the connection speed based on the determined timing block
`size and the times at which transfer begins and ends.
`A further method that is provided for determining a
`connection speed of a computer includes receiving a timing
`block of data having a known size, receiving a start time at
`which transfer of the timing block is to begin, beginning the
`timing block transfer at the start time, marking the time at
`which transfer of the timing block ends, and determining the
`connection speed based on the timing block size and the
`times at which transfer begins and ends.
`In each case, the timing block size may be determined by
`fetching estimated bandwidth information, determining an
`estimated time to retrieve data for determining connection
`speed with adequate resolution, and determining the timing
`block size that will take the determined estimated time to
`retrieve. The timing block may be received in a markup
`language comment as part of a preferences page. The
`method may also include storing the connection speed in a
`cookie. The method may include sending the cookie to a
`50
`delivery management server. The timing block may com
`prise random data.
`According to a further aspect of the invention, a method
`for remotely determining the configuration of a computer of
`a multimedia content user is provided. This method includes
`sending player detection code to the user's computer, receiv
`ing configuration information regarding the user's computer,
`and determining a type of digital rights management infor
`mation on the user's computer based on the received con
`figuration information.
`One or more processor readable storage devices are also
`provided having processor readable code embodied thereon.
`The processor readable code is for programming one or
`more processors to perform a method for remotely deter
`mining the configuration of a computer of a multimedia
`content user and/or for determining a connection speed of a
`computer, in accordance with any of the above.
`
`4
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The accompanying drawings, which are incorporated
`herein and form a part of the specification, illustrate the
`present invention and, together with the description, further
`serve to explain the principles of the invention and to enable
`a person skilled in the pertinent art to make and use the
`invention.
`In the drawings:
`FIG. 1 illustrates the general architecture of an embodi
`ment of the invention.
`FIG. 2 is a block diagram illustrating the computing
`environment of an embodiment of the invention.
`FIG. 3A is a flow chart illustrating the overall process of
`an embodiment of the invention.
`FIG. 3B is a flow chart illustrating server-side request
`processing in accordance with an embodiment including
`receiving a delivery manager HTTP request.
`FIG. 3C is a flow chart illustrating server-side request
`processing in accordance with an embodiment including
`receiving a detection URL HTTP request.
`FIG. 3D is a flow chart illustrating further request pro
`cessing according to an embodiment of the invention.
`FIG. 4A is a flow chart illustrating the process of media
`player detection, according to an embodiment of the inven
`tion.
`FIG. 4B is a flow chart illustrating client-side windows
`media player (WMP) detection in accordance with an exem
`plary embodiment of the invention.
`FIG. 4C is a flow chart illustrating client-side RealPlayer
`(Real) detection in accordance with another exemplary
`embodiment of the invention.
`FIG. 4D is a flow chart illustrating client-side QuickTime
`(QT) detection in accordance with an exemplary embodi
`ment of the invention.
`FIG. 5A is a flow chart illustrating the process of pre
`senting a preferences page to the user, according to an
`embodiment of the invention.
`FIG. 5B is a flow chart generally illustrating a bandwidth
`detection method according to an embodiment of the inven
`tion.
`FIGS. 6A-6C are a flowchart that describes a routine for
`accessing media content according to an embodiment of the
`present invention.
`FIG. 7 depicts an exemplary transcoder that may be used
`in accordance with embodiments of the present invention.
`FIG. 8 is a table showing exemplary transcoding source
`types and destination types for various publishing variables
`according to an embodiment of the present invention.
`FIG. 9 is a table showing exemplary client environment
`variable types according to an embodiment of the invention.
`Preferred embodiments of the present invention will now
`be described with reference to the accompanying drawings.
`In the drawings, like reference numbers indicate identical or
`functionally similar elements.
`
`INCORPORATION BY REFERENCE
`
`What follows is a cite list of references each of which is,
`in addition to that which is described as background of the
`invention, the abstract and the invention Summary, hereby
`incorporated by reference into the detailed description of the
`preferred embodiments below, as disclosing alternative
`embodiments of elements or features of the preferred
`embodiments not otherwise set forth in detail below. A
`single one or a combination of two or more of these
`
`US 7,356,575 B1
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`55
`
`60
`
`65
`
`21
`
`

`

`5
`references may be consulted to obtain a variation of the
`preferred embodiments described in the detailed description
`herein:
`U.S. Pat. No. 3,394,352, issued July, 1968; 3,937,881,
`issued February, 1976; 5,657,015, issued August, 1997: 5
`6,593,860, issued Jul. 15, 2003; 6.407,680, issued June,
`2002; 6,466,939, issued Oct. 15, 2002; 5,928.330, issued
`Jul. 27, 1999; 6,317,134, issued Nov. 13, 2001; and 6,070,
`002, issued May 30, 2000; and
`U.S. published applications No. 2003/0158913, published 10
`Aug. 21, 2003, 2003/0093507, published May 15, 2003,
`2002/0099858, published Jul. 25, 2002, 2002/0099770, pub
`lished Jul. 25, 2002, and 2002/0091800, published Jul. 11,
`2002; and
`U.S. patent application Ser. No. 10/644,602, filed Aug. 20,
`2003; and
`Chapman, Nigel et al., “Digital Multimedia.” John Wiley
`& Sons, Ltd., Copyright 2000; and
`Murray, James D. et al., “Encyclopedia of Graphics File 2O
`Formats: Second Edition.” O’Reilly & Associates, Inc.,
`Copyright 1994, 1996.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`25
`
`Overview of Preferred Embodiments
`
`A system, method, and computer program product for
`determining the configuration of an end user's computer 30
`system. In particular, the media players and network con
`nection speed of the user are determined. This configuration
`information is then received by a second computer, prefer
`ably a delivery management server. The configuration infor
`mation is used to format multi-media content for delivery to 35
`the user. Because the content is formatted according to the
`configuration information, the content is compatible with the
`user's configuration. The configuration determination pro
`cess involves server contact code placed in the web page of
`the content provider. When the web page is loaded by the 40
`user, the server contact code directs the browser to retrieve
`code from the delivery management server. When the code
`is executed by the user, the media player of the user is
`determined. This information is saved in cookies at the user
`and is sent to the delivery management server. If the 45
`configuration information is indeterminate or incomplete,
`the user is presented with a preferences page in which the
`user can indicate the configuration. The preferences page
`also contains a mechanism for determining the connection
`speed of the user. The preferences page can also make so
`specific recommendations to the user, e.g., recommend that
`the user choose a specific media player. The preferences
`page contains a block of data having a known size. The time
`required to transfer the block is measured, and the connec
`tion speed is then calculated and provided to the delivery 55
`management server.
`In accordance with a preferred embodiment, the configu
`ration determination process involves server contact code
`that is placed in the web page of the content provider. When
`the web page is loaded by the user, the server contact code 60
`directs the browser to retrieve scripts from the delivery
`management server. When the scripts are executed by the
`user, the media player of the user is determined. This
`information is saved in cookies at the user and is sent to the
`delivery management server. The configuration information 65
`can then be used by a transcoder that formats the media
`content according to the configuration information.
`
`US 7,356,575 B1
`
`6
`If the configuration information is indeterminate or
`incomplete, the user is presented with a preferences page in
`which the user can indicate the configuration. This configu
`ration, as determined through the preferences page, is also
`stored in cookies and sent to the delivery management server
`to allow formatting of content. The preferences page can
`also make specific recommendations to the user, e.g., rec
`ommend that the user choose a specific media player.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`The preferred embodiments described herein relate to a
`system, method, and computer program product that allows
`the remote determination of a user's computer system con
`figuration. This allows multimedia content destined for that
`computer to be formatted in a manner compatible with the
`user's configuration. If sufficient configuration information
`is obtained, the content can be formatted so as to provide the
`best possible media experience for the user.
`Note that in the description that follows, the concept of a
`user's computer is defined broadly to include the full range
`of programmable or programmed-devices. A user's com
`puter can be, but is not limited to, a personal computer or
`other workstation, a laptop, a palmtop, a personal data
`assistant, or a cell phone.
`In accordance with a preferred embodiment, server con
`tact code is contained in a web page sent by a content
`provider to the user. The server contact code retrieves one or
`more scripts from a delivery management server. The Scripts
`enable the determination of configuration information of the
`user's computer system. In an embodiment of the invention,
`the configuration information comprises the identity and
`version of the user's media player(s). The configuration
`information is then returned to the delivery management
`server. The configuration information can then be used to
`format the multi-media content appropriately. In an embodi
`ment of the invention, configuration information is also
`stored locally at the user's computer in the form of cookies.
`In subsequent hypertext transfer protocol (HTTP) requests,
`the cookies can be sent to the delivery management server
`as a way of conveying the configuration information.
`If the configuration information is determined to be
`incomplete or potentially outdated, an additional web p

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


Or .

Accessing this document will incur an additional charge of $.

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

Accept $ Charge
throbber

Still Working On It

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

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

throbber

A few More Minutes ... Still Working

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

Thank you for your continued patience.

This document could not be displayed.

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

Your account does not support viewing this document.

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

Your account does not support viewing this document.

Set your membership status to view this document.

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

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

Become a Member

One Moment Please

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

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

Your document is on its way!

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

Sealed Document

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

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


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket