`a2) Patent Application Publication (10) Pub. No.: US 2003/0182574 Al
`(43) Pub. Date: Sep. 25, 2003
`
`Whitten et al.
`
`US 20030182574A1
`
`(54) SECURE DIGITAL DATA FORMAT AND
`CODE ENFORCED POLICY
`
`(76)
`
`Inventors: Jon Marcus Randall Whitten,
`Sammamish, WA (US); Tracy Clayton
`Sharpe, Seattle, WA (US); Yasser B.
`Asmi, Redmond, WA (US); Jonathan
`E. Lange, Bellevue, WA (US);
`Christopher Michael Pirich, Seattle,
`WA (US); Jonathan Gerald
`Thomason, Clyde Hill, WA (US)
`
`Correspondence Address:
`LAW OFFICES OF RONALD M. ANDERSON
`Suite 507
`600 - 108th Avenue N.E.
`Bellevue, WA 98004 (US)
`
`(21) Appl. No.:
`
`10/101,999
`
`(22)
`
`Filed:
`
`Mar. 19, 2002
`
`Publication Classification
`
`(SL) Ute C07 cacsccsssssssssssnssessesnstsntsnstsevee HO4L 9/32
`(52) US. Ch.
`cecesessssssssstsesetnstnstvasnesnstnsevesve 713/201
`
`(57)
`
`ABSTRACT
`
`Authenticity of digital data, security policies, and usage of
`game software are enforced on a game console. When the
`software is secured prior to distribution on media, a private
`key is used to encrypt a header digest that includes a digest
`of each section of the software and information specifying a
`region, a rating, and media type of the software. A hashing
`algorithm is applied to produce the digests. On the game
`console, a public key is used to decrypt the header digest for
`comparison to a hash of the header. A digest of each section
`of digital data is computed and comparedto the correspond-
`ing digest in the headerto authenticate the data. The console
`will not execute the software unless the parameters in the
`header information match thosestored in the console and the
`
`computed digests for each section match those in the header
`on the medium.
`
`y~ 300
`
`KEY
`DisTRIBUTION}~306
`
`CENTER
`MEDIUM
`
`208 ~
`
`HARD DISK
`DRIVE
`
`PORTABLE
`
`140
`
`MEMORY
`UNIT(S)
`
`
`
`
`
`
`
`REMOTE
`STORAGE
`
`IPR2020-01288
`Sony EX1023 Page 1
`
`IPR2020-01288
`Sony EX1023 Page 1
`
`
`
`Patent Application Publication
`
`Sep. 25,2003 Sheet 1 of 8
`
`US 2003/0182574 Al
`
`108
`
`IPR2020-01288
`Sony EX1023 Page 2
`
`IPR2020-01288
`Sony EX1023 Page 2
`
`
`
`Patent Application Publication
`
`Sep. 25, 2003 Sheet 2 of 8
`
`US 2003/0182574 A1
`
`GAME CONSOLE
`
`y~ 100
`
`3D GRAPHICS
`PROCESSING
`UNIT 220
`
`VIDEO
`ENCODER
`222
`
`FLASH ROM
`
`MEMORY
`
`MEMORY
`
`CONTROLLER
`
`AUDIO
`PROCESSING
`UNIT 224
`
`USB Host
`CONTROLLER
`230
`
`242 244
`
`U
`
`PORTABLE
`MEbIA DRIVE
`10s
`
`U
`
`HARD Disk
`DRIVE
`208
`
`SYSTEM POWER
`SUPPLY MODULE
`250
`
`FAN 252
`
`DUAL
`CONTROLLER
`PORT
`SUBASSEMBLY
`240a
`
`FRONT PANEL
`VO
`SUBASSEMBLY
`
`DUAL
`CONTROLLER
`PORT
`SUBASSEMBLY
`240b
`
`CONTROLLER
`CONTROLLER
`104a
`104b
`(aaron) fir
`
`140a
`
`140b
`
`140d
`
`C)
`
`C)
`
`4
`
`CONTROLLER
`104c
`
`CONTROLLER
`104d
`
`40g
`
`FIG. 2
`
`140f
`
`140h
`
`IPR2020-01288
`Sony EX1023 Page 3
`
`IPR2020-01288
`Sony EX1023 Page 3
`
`
`
`CENTER {0000008}
`
`HARD DISK
`
`208
`
`
`PORTABLE
`MEDIUM
`
`
`
`Patent Application Publication
`
`Sep. 25,2003 Sheet 3 of 8
`
`US 2003/0182574 Al
`
`KEY
`DISTRIBUTION[~~306
`
`x 300
`
`ONLINE SERVICE
`
`
`STORAGE
`
`
`REMOTE
`
`140
`
`UNIT(S)
`
`IPR2020-01288
`Sony EX1023 Page 4
`
`IPR2020-01288
`Sony EX1023 Page 4
`
`
`
`Patent Application Publication
`
`Sep. 25,2003 Sheet 4 of 8
`
`US 2003/0182574 Al
`
`402
`
`
`
`
`
`CERTIFICATE WITH
`SECURITY POLICY
`INFORMATION
`
`
`
`DIGITAL
`DATA
`
` 400
`404
`OTHER INFORMATION
`
`COMPUTE DIGEST FOR EACH SECTION
`OF DIGITAL DATA
`(SECTION DIGESTS)
`
`CREATE HEADER TO INCLUDE SECTION DIGESTS,
`SECURITY POLICY INFORMATION, AND
`
`406
`
`COMPUTE DIGEST OF HEADER
`(HEADER DIGEST)
`
`408
`
`ENCRYPT HEADER DIGEST WITH PRIVATE KEY
`
`[410
`
`INSERT ENCRYPTED HEADER DIGEST
`INTO BEGINNING OF HEADER
`
`412
`
`STORE HEADER& DIGITAL DATA
`
`414
`
`FIG. 4
`
`IPR2020-01288
`Sony EX1023 Page 5
`
`IPR2020-01288
`Sony EX1023 Page 5
`
`
`
`Patent Application Publication
`
`Sep. 25,2003 Sheet 5 of 8
`
`US 2003/0182574 Al
`
`
`
`PRELIMINARY SETUP VALUES
`
`
`LAUNCH DASHBOARD
`TO SET CLOCK, TIME ZONE,
`AND OTHER
`
`
`
`YES
`
`428
`
`
`
`TO OPERATE FROM HARD DRIVE
`
`
`
`
`LAUNCH DASHBOARD
`
`YES
`
`YES
`
`LOAD HEADER
`
`432 430
`
`
`
`EXPECTED
`LAUNCH DASHBOARD
`
`
`
`FILE NAME
`TO PLAY CD, DVD, AND
`
`
`ON MEDIA?
`OTHER MEDIA TYPE
`
`
`
`
`[494 DECRYPT ~ 436
`
`
`HEADER DIGEST
`
`
`
`CALCULATE
`
`(4) FIG. 5
`CONFIRMATION DIGEST
`
`
`OF HEADER
`
`
`438
`
`IPR2020-01288
`Sony EX1023 Page 6
`
`IPR2020-01288
`Sony EX1023 Page 6
`
`
`
`Patent Application Publication
`
`Sep. 25,2003 Sheet 6 of 8
`
`US 2003/0182574 Al
`
` f 440
`
`
`
`HEADER
`DIGEST
`MATCHES
`CONFIRMATION
`DIGEST?
`
`
`
`
`MATCHES
`
`DEVICE MEDIA?
`
`YES
`
`444
`
` MEDIA TYPE
`
`
`
`
`NO———>
`
`te
`
`
`DASHBOARD
`SERVICE.
`
`
`<
`PRODUCTION >—NO
`MEDIA?
`
`
`
`
` ERROR
`
`YES
`
`vy
`LAUNCH
`|
`
`SERVICE /
`|
`
`| PRODUCTION
`| FUNCTIONS
`
`
`
` REGION
`MATCHES?
`
`YES
`
`TO PROCESS
`
`IPR2020-01288
`Sony EX1023 Page 7
`
`IPR2020-01288
`Sony EX1023 Page 7
`
`
`
`Patent Application Publication
`
`Sep. 25,2003 Sheet 7 of 8
`
`US 2003/0182574 Al
`
` LOAD ALL
`
`
`PRELOAD
`SECTIONS
`
`
`
`CALCULATE
`SECTION DIGEST
`
`
`
`
`
` LAUNCH
` SECTION
`MATCHES?
`
`
`DIGEST
`
`DASHBOARD
`TO PROCESS
`ERROR
`
`456
`
` ANOTHER
`
`SECTION?
`
` mH 450
`~ 452 445
`
`
`NO
`
`NO
`
`458 ~
`
`RUN
`INIT CODE
`
`
`
`
`460 Y
`
`YES
`
`
`
`PROCESS
`
`
`DIGITAL DATA
`
`462
`
`FIG. 7
`
`IPR2020-01288
`Sony EX1023 Page 8
`
`IPR2020-01288
`Sony EX1023 Page 8
`
`
`
`Patent Application Publication
`
`Sep. 25, 2003 Sheet 8 of 8
`
`US 2003/0182574 Al
`
`OSS
`
`ALOWSY
`
`YALNdNOS
`
`YOLINOW
`
`
`
`NOILVYOMddvV
`
`SWVYSOdd
`
`MYOMLAN
`
`AOVAYALNI
`
`9zs
`
`cS
`
`9S
`
`SAIN
`
`€GgS
`YaldVvavLINN
`
`OAGIAONISSAO0ONd=|res
`
`
`LoS
`Ses
`Ces
`VivdSNVeSDOdd|WALSAS
`
`
`FOIAO/|
`WOILdO
`JILANOVN
`
`MS!IGGYVH
`
`AOVAYALNI
`JAINASIC
`JOVAYALNI
`AAINCSIG
`JOVAYALNI
`AOVAYALNI
`
`{)CYVOSAEM
`
`drs
`
`8DIT
`
`wvsaoud|WVeooud
`
`YSHLO
`
`STINGOW
`
`ONILVYAdO
`
`WALSAS
`
`NOILVOMddV
`
`SWVYSOdd
`
`
`
`WVeSOudYSHLO
`
`SaINGOW
`
`
`
`VivdWvYdooud
`
`IPR2020-01288
`Sony EX1023 Page 9
`
`IPR2020-01288
`Sony EX1023 Page 9
`
`
`
`
`
`
`
`
`
`
`
`
`US 2003/0182574 Al
`
`Sep. 25, 2003
`
`SECURE DIGITAL DATA FORMAT AND CODE
`ENFORCED POLICY
`
`FIELD OF THE INVENTION
`
`[0001] This invention generally relates to validating digi-
`tal data before enabling its use, and more particularly, to
`ensuring that security policies are enforced regarding the use
`of the digital data, where the security policies ensure the
`source and validity of the digital data.
`
`BACKGROUND OF THE INVENTION
`
`[0002] The personal computer provides a platform on
`which anyone willing to invest the effort in programming
`can write programs that can carry out almost any desired
`function, limited only by the constraints of the programming
`language, the operating environment, and the hardware on
`which the program is executed. The manufacturers of per-
`sonal computers and those providing the operating systems
`and programmingtools place little restriction on how a user
`choosesto use their respective products. However, there are
`instances where it may be important to restrict how com-
`puting devices are used. In the broadest sense, a computing
`device may be any device that includes a processor that
`executes machine instructions stored in a memoryto per-
`form some function. Thus, a computing device can have a
`dedicated function, or may be very general in functionality,
`just as a typical personal computeris.
`
`[0003] One type of computing device that is similar in
`some ways to a personal computer, yet is more specialized
`in its primary function, is a game console. Although game
`consoles can often perform other functions, their primary
`function is to execute machine instructions to enable one or
`more users to play various types of games. The companies
`that produce game consoles have a substantial interest in
`controlling various aspects of any game software that is
`executed on their game consoles. For example, they will
`want to ensure that the quality of the game software meet
`certain specifications. Since the manufacturers of game
`consoles typically license other companies to produce game
`software that is usable on their game consoles, it is prefer-
`able to preclude unlicensed software from being used on the
`game console. Aside from the loss of revenue that would
`result if unlicensed software is played on a game console,
`there is also an issue of maintaining quality control over
`software that is played on the game console. Also, it will be
`important to ensure that software licensed for use on a game
`console has not been modified after it was approved for
`distribution and released to the public. Without such controls
`being applied, game software might be “hacked” to add
`pornographyor other features or functionality that was not
`included in the authorized software when it was originally
`approved for distribution by the software company under
`license from the maker of the game console. In addition, the
`game console should be capable of enforcing limitations
`regarding geographic regions associated with a game con-
`sole that preclude playing game software licensed for one
`geographic region on a game console sold for use in a
`different region.
`
`[0004] Other policies that should be enforced on a game
`consolerelate to classifications of game software based upon
`its level of violence, language used, sexual content, and
`other criteria. The Entertainment Software Rating Board
`
`(ESRB) is an organization that reviews and rates game
`software and categorizes the software by assigning it an age
`group category for which the game software is believed to
`be suitable. These age group categories include: “Everyone”
`(suitable for all age groups), “Adult” (ages 18 and older),
`“Mature” (ages 17 and older), “Teen” (ages 13 and older),
`and “Early Childhood” (ages 3 and older). Game software
`producers who subscribeto this service receive a rating from
`the ESRB and agree to include a corresponding rating
`symbol on the packaging for their software. The rating is
`also included in the game software. Game consoles can be
`selectively programmed by an authorized user not to play
`game software that has a rating for any age group above a
`desired level. Thus, a parent might set up a game console to
`only play game software that is rated to be suitable for
`Everyone. It is important that the game console prevent a
`user from circumventing anyrestriction regarding the play
`of software games beyond the category last set by an
`authorized user on the console.
`
`[0005] There are several different approaches that can be
`used to enforce policies relative to the software that
`is
`executed on a computing device such as a gameconsole. For
`example, a hardware componentsuch asa resistor that has
`one of several different resistance values can be employed in
`the computing device to designate the region for which
`software is authorized. Software from a different region will
`then test for the resistance value and will not execute on the
`game console because the resistance value detected in the
`game console is not within a predefined tolerance of an
`expected value.
`
`[0006] Other hardware-related techniques have been used
`for authenticating software plug-in cartridges used to store
`game software. In one prior art game system, the housing of
`authorized software game cartridges and a corresponding
`receptacle in the game console were formed to prevent
`cartridges of a different shape from being inserted into the
`receptacle. In addition, the game console and any authorized
`cartridge included a processor and a read only memory
`(ROM)that stored specific data needed to authenticate the
`cartridge. If the result of a calculation carried out by both the
`processor in the game console and the processor in the
`cartridge did not match, the game console would not enable
`the software for the game stored in the cartridge to execute
`on the game console.
`
`[0007] Because of the richness of the graphics and the
`complexity of games designed to run on current generation
`game consoles, the game software is more efficiently dis-
`tributed on either optical storage media, such as compact
`disc-read only memory discs (CDROMs) ordigital versatile
`discs (DVDs). Accordingly, alternative approaches that do
`not rely upon hardware in the software component must be
`employed, since the discs do not provide the option of
`including other hardware components for use in authenti-
`cating the software and enforcing security and usage poli-
`cies. Details of how each game console manufacturer has
`chosen to address this problem are not readily available.
`Clearly, it will be desirable to employ the data stored on the
`disc to determine if the software has been altered and to
`
`enforce security polices and usage of software executed on
`a gameconsole.
`
`[0008] A solution of this problem that is applicable to
`game software and game consoles may be equally applicable
`
`IPR2020-01288
`Sony EX1023 Page 10
`
`IPR2020-01288
`Sony EX1023 Page 10
`
`
`
`US 2003/0182574 Al
`
`Sep. 25, 2003
`
`to many other types of computing devices in which control
`of software and data that is executed by the computing
`device is desired. For example, the security policies relating
`to use of satellite receivers, portable telephones, and other
`devices that may include a processor might also be enforced
`by the same approach employed on game consoles. Accord-
`ingly, a solution to this problem regarding securing game
`software for play on consoles in accord with a desired policy
`is also readily adapted for use in controlling how software
`and other digital data might be used on these other types of
`computing devices.
`
`SUMMARYOF THE INVENTION
`
`[0009] There are actually two broad steps that must be
`addressed in accord with the present invention, to ensure that
`digital data used by a computing device, such as a game
`console, is authorized, has not be altered since its release,
`and is used in conformance with any policies related to its
`use on such devices. In the first broad step, the digital data
`must be secured before it
`is distributed to an end user.
`
`Secondly, the computing device must be programmed to
`determine that the digital data are authorized, have not been
`altered, and otherwise conform to the secure policy regard-
`ing use of the digital data on that specific computing device.
`
`[0010] To secure the digital data prior to its distribution,
`the method used in the present invention determines a data
`digest for the digital data in accord with a predefined
`procedure. Typically, the digital data includes a plurality of
`sections and in this step, a section digest is determined for
`each section using the predefined procedure, sothat all of the
`sections digests comprise the data digest. This procedure
`producesthe data digest in a form that is uniquely related to
`the digital data. The data digest is then included in a header
`for the digital data. Next, a header digest is determined for
`the header using the predefined procedure, and again, the
`header digest is uniquely related to the header. The header
`digest is then encrypted using a private key that is secret.
`The digital data has thus been secured for distribution.
`
`the
`the encrypted header digest,
`[0011] Once secured,
`header, and the digital data can be distributed for use on a
`computing device. Prior to use of the digital data on the
`computing device, the computing device must confirm the
`authenticity of the digital data. The computing device con-
`firms that the digital data are authorized and have not been
`altered since being secured by carrying out the following
`steps. Initially,
`the encrypted header digest
`is decrypted
`using a public key that corresponds to the private key, to
`recover the header digest. Next, a confirmation digest of the
`header is determined using the predefined procedure. The
`computing device then compares the confirmation header
`digest of the headerto the header digest that was recovered
`by the step of decrypting, to confirm whether the header that
`was distributed with the digital data was altered since the
`digital data were secured. If not,
`the computing device
`determines a confirmation data digest of the digital data,
`corresponding to the data digest included in the header,
`using the predefined procedure. It then compares the con-
`firmation data digest
`to the data digest
`included in the
`header, to confirm whether the digital data that were dis-
`tributed have been altered after the step of securing. Actu-
`ally, these last two steps determine a confirming section
`digest for each section of the digital data, and then compare
`the confirming section digest to the section digest included
`
`in the header. The computing device is programmed to
`prevent the computing device from further using the digital
`data if the confirmation header digest does not match the
`header digest that was recovered by the step of decrypting,
`or if the confirmation data digest does not match the data
`digest that was included in the header.
`
`[0012] The preceding portion of the method has only
`addressedpart of the problem. To control usage of the digital
`data, information specifying criteria for the secure policies
`that are to be enforced is included in the headerofthe digital
`data before the digital data are secured. The predefined
`procedure is thus applied to the header that includes this
`information, to determine the header digest, as noted above.
`Prior to enabling use of the digital data on the computing
`device (assuming that the confirmation header digest has
`matched the header digest that was recovered bythe step of
`decrypting), the computing device is programmed to deter-
`mine if the information in the header enables or permits use
`of the digital data on the computing device. If so, further use
`of the digital data on the computing device is permitted,
`unless otherwise prevented because the authenticity of the
`digital data is not confirmed. If not, any further use of the
`digital data on the computing machine is prevented.
`
`In determining if the information in the header
`[0013]
`enables use of the digital data on the computing device, the
`computing device compares an indication of a secure policy
`criterion included in the information within the header with
`a state of a correspondingcriterion stored on the computing
`device, to confirm that they match. Forat least one criterion,
`an authorized user is enabled to select
`the state of the
`
`criterion on the computing machine. Other types of criteria
`are stored in a memory on the computing device and are not
`accessible or alterable by a user of the computing device.
`The information in the header preferably indicates a number
`of system policy criteria, including a geographical region in
`which the digital data are permitted to be used on the
`computing device, a type of media from which the digital
`data are permitted to be loaded into the computing device for
`use, a rating that is based uponat least one characteristic of
`the digital data, console system settings that must be in place
`prior to execution or use of the digital data (e.g., such as a
`user interface language, a date, a time, etc.), a fault tolerance
`indication of whether the digital data can be trusted when
`certain system components are determinedto beat fault, an
`ejection control indicating whether the digital data can be
`trusted to permit removal of the portable medium upon
`which the digital data resides, and/or any other predeter-
`mined system policies.
`
`[0014] The predefined procedure used to produce each
`digest preferably comprises a hashing algorithm. As noted
`above, each section of the digital data is processed by the
`predefined procedure to produce a section digest that is
`included in the header. The computing device is pro-
`grammed to preclude further use of the digital data in any
`section for which the confirming section digest does not
`match its corresponding section digest in the header.
`
`[0015] Other aspects of the present invention are directed
`to a system for carrying out the steps of the method used in
`securing the digital data and in enforcing the secure policy
`onthe digital data prior to its use on the system. In each case,
`the system includes a processor and a memory in which
`machine instructions are stored that cause the processor to
`
`IPR2020-01288
`Sony EX1023 Page 11
`
`IPR2020-01288
`Sony EX1023 Page 11
`
`
`
`US 2003/0182574 Al
`
`Sep. 25, 2003
`
`carry out functions generally consistent with the steps of the
`method described above. Also,
`the present
`invention is
`directed to memory media on which are stored machine
`instructions for carrying out the steps discussed above.
`
`BRIEF DESCRIPTION OF THE DRAWING
`FIGURES
`
`[0016] The foregoing aspects and many of the attendant
`advantages of this invention will become more readily
`appreciated as the same becomes better understood by
`reference to the following detailed description, when taken
`in conjunction with the accompanying drawings, wherein:
`
`[0017] FIG. 1 is a schematic isometric view of a gaming
`system, whichis suitable for use in implementing the present
`invention;
`
`[0018] FIG. 2 is a block diagram of the gaming system of
`FIG.1;
`
`[0019] FIG. 3 is a schematic diagram illustrating a net-
`work gaming system in which the gaming system of FIG. 1
`is connected via a network to other consoles and services;
`
`FIG.4 is a flow diagram illustrating logic used to
`[0020]
`secure digital data onto a portable media for use only on an
`authorized console;
`
`[0021] FIG. 5 is a flow diagram illustrating logic used to
`initialize a console for enforcing security policies associated
`with the console and the digital data;
`
`FIG.6 is a flow diagram illustrating logic used to
`[0022]
`enforce compatibility security policies between the console
`and the digital data;
`
`FIG.7 is a flow diagram illustrating logic used to
`[0023]
`enforce security policies for utilizing the digital data with
`the console; and
`
`[0024] FIG. 8 is a block diagram of a generally conven-
`tional personal computer (PC), that is suitable for securing
`the digital data prior to distributing the digital data for use
`on the console.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENT
`
`[0025] A preferred embodimentof the present invention is
`described below in regard to its use in an electronic gaming
`system that is designed to execute gaming software distrib-
`uted on a portable, removable medium. Those skilled in the
`art will recognize that the present invention may also be
`implemented in a set-top box,
`in an arcade game,
`in a
`hand-held device, in a personal computer (PC), and in other
`systems in whichthere is a need to enforce security policies
`when utilizing digital data.
`
`[0026] Exemplary System
`
`gaming system, game programs are preferably distributed
`for use with the game console on DVD discs, but it is also
`contemplated that other storage media might instead be used
`on this or other types of systems that use the present
`invention to enforce data security policies and to ensure the
`authenticity of the digital data that are input to the system.
`
`Ona front face of game console 102 are four slots
`[0028]
`110 for connection to and support of the controllers,
`although the number and arrangement of slots may be
`modified. A power button 112 and an eject button 114 are
`also positioned on the front face of game console 102. Power
`button 112 controls application of electrical power to the
`game console, and eject button 114 alternately opens and
`closes a tray (not shown) of portable media drive 106 to
`enable insertion and extraction of storage disc 108 so that the
`digital data on it can be read for use by the game console.
`
`[0029] Game console 102 connects to a television or other
`display monitor or screen (not shown) via audio/visual
`(A/V)interface cables 120. A powercable plug 122 conveys
`electrical power to the game console when connected to a
`conventional alternating current line source (not shown).
`Game console 102 may be further provided with a data
`connector 124 to transfer data over a network such as the
`Internet, for example, via a conventional telephone modem
`or broadband connection.
`
`[0030] Each controller 104a and 104d is coupled to game
`console 102 via a lead (or alternatively through a wireless
`interface). In the illustrated implementation, the controllers
`are Universal Serial Bus (USB) compatible and are con-
`nected to game console 102 via USB cables 130. Game
`console 102 may be equipped with any of a wide variety of
`user devices for interacting with and controlling the game
`software. As illustrated in FIG. 1, each controller 104a and
`104b is equipped with two thumbsticks 132a@ and 132b, a
`D-pad 134, buttons 136, and twotriggers 138. These con-
`trollers are merely representative, and other known gaming
`input and control mechanisms may be substituted for or
`added to those shown in FIG. 1 for use with game console
`102.
`
`[0031] A removable or portable memory unit (MU) 140
`can optionally be inserted into controller 104 to provide
`additional removable storage. Portable MUsenable users to
`store game parameters and port them for play on other
`consoles, by inserting the portable MUs into the other
`controllers. In the described implementation, each controller
`is configured to accommodate two MUs,although more or
`fewer than two MUs may instead be employed.
`for
`[0032] Gaming system 100 is capable of playing,
`example, games, music, and videos. It is contemplated that
`other functions can be implemented using digital data stored
`on the hard disk drive or read from optical storage disc 108
`in drive 106, from an online source, or from MU 140. For
`example, gaming system 100 is potentially capable of play-
`ing:
`
`[0027] As shown in FIG. 1, an exemplary electronic
`gaming system 100 includes a game console 102 and
`support for up to four user input devices, such as controllers
`104a and 104b. Game console 102 is equipped with an
`internal hard disk drive (not shown in this Figure) and a
`[0034] Digital music stored on a CD in portable
`media drive 106, inafile on the hard disk drive (e.g.,
`portable media drive 106 that supports various forms of
`Windows Media Audio™ (WMA)
`format), or
`portable optical storage media, as represented by an optical
`storage disc 108. Examples of suitable portable storage
`derived from online streaming sources on the Inter-
`media,
`include DVD discs and CD-ROM discs. In this
`net or other network; and
`
`[0033] Gametitles stored on CD and DVD discs, on
`the hard disk drive, or downloaded from an online
`source;
`
`IPR2020-01288
`Sony EX1023 Page 12
`
`IPR2020-01288
`Sony EX1023 Page 12
`
`
`
`US 2003/0182574 Al
`
`Sep. 25, 2003
`
`[0035] Digital audio visual (AV) data stored on a
`DVDdisc in portable media drive 106, or in a file on
`the hard disk drive (e.g.,
`in an Active Streaming
`Format), or from online streaming sources on the
`Internet or other network.
`
`[0036] FIG. 2 shows functional components of gaming
`system 100 in greater detail. Game console 102 includes a
`central processing unit (CPU) 200, and a memorycontroller
`202 that facilitates processor access to various types of
`memory,
`including a read-only memory (ROM) 204, a
`random access memory (RAM) 206, a hard disk drive 208,
`and portable media drive 106. CPU 200 is equipped with a
`level 1 cache 210 and a level 2 cache 212 to temporarily
`store data so as to reduce the number of memory access
`cycles, thereby improving processing speed and throughput.
`CPU 200, memory controller 202, and various memory
`devices are interconnected via one or more buses, including
`serial and parallel buses, a memory bus, a peripheral bus,
`and a processor or local bus using any of a variety of bus
`architectures. By way of example, such architectures can
`include an Industry Standard Architecture (ISA) bus, a
`Micro Channel Architecture (MCA) bus, an Enhanced ISA
`(EISA) bus, a Video Electronics Standards Association
`(VESA) local bus, and a Peripheral Component Intercon-
`nects (PCI)bus.
`[0037] As an example of one suitable implementation,
`CPU 200, memory controller 202, ROM 204, and RAM 206
`are integrated onto a common module 214. In this imple-
`mentation, ROM 204 is configured as a flash ROM that is
`connected to memory controller 202 via a PCI bus and a
`ROM bus (neither of which are shown). RAM 206 is
`configured as multiple Double Data Rate Synchronous
`Dynamic RAMs (DDR SDRAMs) that are independently
`controlled by memory controller 202 via separate buses (not
`shown). Hard disk drive 208 and portable media drive 106
`are connected to the memory controller via the PCI bus and
`an Advanced Technology Attachment (ATA) bus 216.
`[0038] A 3D graphics processing unit 220 and a video
`encoder 222 form a video processing pipeline for high-speed
`and high-resolution graphics processing. Data are carried
`from graphics processing unit 220 to video encoder 222 via
`a digital video bus (not shown). An audio processing unit
`224 and an audio encoder/decoder (codec) 226 form a
`corresponding audio processing pipeline for high fidelity
`and stereo audio data processing. Audio data are carried
`between audio processing umit 224 and audio codec 226 via
`a communication link (not shown). The video and audio
`processing pipelines output data to an A/V port 228 for
`transmissionto the television or other display monitor. In the
`illustrated implementation, video and audio processing com-
`ponents 220-228 are mounted on module 214.
`[0039] Also implemented by module 214 are a USB host
`controller 230 and a network interface 232. USB host
`controller 230 is coupled to CPU 200 and memorycontroller
`202 via a bus (e.g., the PCI bus), and serves as a host for
`peripheral controllers 104a-104d. Network interface 232
`provides access to a network (e.g.,
`the Internet, home
`network, etc.) and may be any of a wide variety of various
`wire or wireless interface components, including an Ethernet
`card, a modem,a Bluetooth module, a cable modem,and the
`like.
`
`[0040] Game console 102 has two dual controller support
`subassemblies 240a and 240b, with each subassembly sup-
`
`porting two game controllers 104a-104d. A front panel
`input/output (I/O) subassembly 242 supports the function-
`ality of power button 112 and eject button 114, as well as any
`light-emitting diodes (LEDs) or other indicators exposed on
`the outer surface of the game console. Subassemblies 240a,
`2406, and 242 are coupled to module 214 via one or more
`cable assemblies 244.
`
`[0041] Eight MUs 140a-140/ are illustrated as being
`connectable to four controllers 104a-104d,i.e., two MUsfor
`each controller. Each MU 140 offers additional storage on
`which games, game parameters, and other data may be
`stored. When inserted into a controller, MU 140 can be
`accessed by memory controller 202.
`
`[0042] A system power supply module 250 provides
`powerto the components of gaming system 100. A fan 252
`cools the components and circuitry within game console
`102.
`
`To implement the present invention, a gamesoft-
`[0043]
`ware application 260 comprising machine instructions
`stored on a DVD orother storage media (or downloaded
`over the network) is loaded into RAM 206 and/or caches
`210, 212 for execution by CPU 200. Various portions of
`software application 260 may be loaded only when needed,
`or all of the software application (depending onits size) may
`be loaded into RAM 206. Software application 260 is
`described below in greater detail.
`
`[0044] Gaming system 100 may be operated as a standa-
`lone system by simply connecting the system to a television
`or other display monitor. In this standalone mode, gaming
`system 100 enables one or more users to play games, watch
`movies, or listen to music. However, with conventional
`modem or broadband connectivity to the Internet or other
`network, which is made available through network interface
`232, gaming system 100 may be further operated as a
`component of a larger network gaming community,
`to
`enable online multiplayer interaction in games over the
`Internet or other network.
`
`[0045] Network System
`
`[0046] FIG. 3 shows an exemplary network gaming envi-
`ronment 300 that interconnects multiple gaming systems
`1004, .
`.
`. 100 via a network 302. Network 302 represents
`any of a wide variety of data communications networks and
`may include public portions (e.g., the Internet), as well as
`private portions (e.g., a residential Local Area Network
`(LAN)). Network 302 may be implemented using any one or
`more of a wide variety of conventional communications
`configurations including both wired and wireless types. Any
`of a wide variety of communications protocols can be used
`to communicate data via network 302, including both public
`and proprietary protocols. Examples of such protocols
`include TCP/IP, IPX/SPX, NetBEUI,etc.
`
`In addition to gaming systems 100, one or more
`[0047]
`online services 304a,
`.
`.
`. 304m may be accessible via
`network 302 to provide various services for the participants,
`such as hosting online games, serving downloadable music
`or videofiles, hosting gaming competitions, serving stream-
`ing A/V files, and the like. Network gaming environment
`300 may further employ a key distribution center 306 that
`plays a role in authenticating individual players and/or
`gaming systems 100 for interconnection to one another as
`well as to online services 304. Distribution center 306
`
`IPR2020-01288
`Sony EX1023 Page 13
`
`IPR2020-01288
`Sony EX1023 Page 13
`
`
`
`US 2003/0182574 Al
`
`Sep. 25, 2003
`