WO2001001240A2 - System and method for obtaining digital information via communications network - Google Patents

System and method for obtaining digital information via communications network Download PDF

Info

Publication number
WO2001001240A2
WO2001001240A2 PCT/US2000/017359 US0017359W WO0101240A2 WO 2001001240 A2 WO2001001240 A2 WO 2001001240A2 US 0017359 W US0017359 W US 0017359W WO 0101240 A2 WO0101240 A2 WO 0101240A2
Authority
WO
WIPO (PCT)
Prior art keywords
computer
data
storage device
rom
coupled
Prior art date
Application number
PCT/US2000/017359
Other languages
French (fr)
Other versions
WO2001001240A3 (en
Inventor
John L. Stinson
Henry S. Flurry
Original Assignee
Media Station, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Media Station, Inc. filed Critical Media Station, Inc.
Priority to AU57629/00A priority Critical patent/AU5762900A/en
Publication of WO2001001240A2 publication Critical patent/WO2001001240A2/en
Publication of WO2001001240A3 publication Critical patent/WO2001001240A3/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/73Authorising game programs or game devices, e.g. checking authenticity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/95Storage media specially adapted for storing game information, e.g. video game cartridges
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/201Playing authorisation given at platform level
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/206Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/51Server architecture
    • A63F2300/513Server architecture server hierarchy, e.g. local, regional, national or dedicated for different tasks, e.g. authenticating, billing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/532Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing using secure communication, e.g. by encryption, authentication
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5513Details of game data or player data management involving billing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/552Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device

Definitions

  • This invention relates to the field of communication within a communications network.
  • the invention relates to obtain digital information from a compact disk formatted data via a communications network.
  • Computer software increasingly involves large amounts of data for the code of the computer software and for the supporting data structures, such as images, audio, or other information.
  • Such computer software and its associated data allows for the creation of multimedia presentations.
  • Such presentations may include images, video, audio, and may be supported by complex computer software.
  • One example of such multimedia software is a computer game.
  • the computer game may include graphics, video clips, audio, and may allow for complex interaction with the user.
  • CD ROM compact disk ROM
  • the embodiment of the invention is directed to a method of data processing for a computer software program.
  • Data is read from a CD ROM and stored onto a first storage device coupled to the Internet. At least a portion of the data stored on the first storage device is accessed via the Internet from a computer coupled to the Internet. On the computer system, a portion of the data is used. The portion of the data is stored in the second storage device locally coupled to the computer system. If data from the portion of the data is needed again on the computer system, the data from the storage device locally coupled to the computer system is used on the computer system.
  • the CD ROM may conform to various standards.
  • the CD ROM may conform to an ISO 9660 standard.
  • the CD ROM may conform to a Yellow Book standard.
  • the CD ROM may conform to other standards.
  • An embodiment in the invention is directed to the method of operating the computer system that includes receiving at a computer system coupled to the Internet a user selection of a computer software program from among a set of computer software programs.
  • the computer software programs are associated with data from respective CD ROM.
  • the data is stored on the first storage device coupled to the Internet remotely from computer system. A bandwith for communication between the computer system and the first storage device is detected.
  • a portion of the data from the first storage device may be stored onto a storage device locally coupled to the computer system before running the selected computer software program, and then the selected computer software program is run.
  • the selected computer software program is started without storing the data from the first storage device onto the storage device locally coupled.
  • the selected computer software program is run without storing a portion of the data onto the storage device locally coupled only if bandwith is sufficient for performance of the selected computer software program equivalent to the performance of the selected computer software program if the computer software program and associated data were stored locally to the computer system.
  • An embodiment in the invention is directed to a system including a first computer system coupled to a network and a second computer system coupled to the network and coupled locally to a storage device including an image or a CD ROM.
  • the first computer system includes computer readable code designed to read a locally stored CD ROM via a CD ROM driver.
  • the first computer system also includes computer readable code that emulates a CD ROM driver and causes communication to be made with the second computer system to obtain information from the storage device including the image of the CD ROM.
  • a CD ROM drive is emulated on the first computer system.
  • the system includes computer code that determines a bandwith for transmission between the first computer system and the second computer system and, if the bandwith is not high enough to allow real time emulation of the CD ROM of a CD ROM drive causes at least a portion of this image of the CD ROM to be downloaded to a storage device coupled locally to the first computer system.
  • the system includes a first server coupled to a computer network.
  • the first server includes a list of computer games.
  • a second server coupled to the computer network includes a storage device including images of CD ROMs corresponding to at least some of the games on the list of computer games.
  • a client computer coupled to the computer network includes computer readable code that allows a user to select a game from among the games in the list of computer games.
  • Computer readable code obtains access to an image of a computer game among the images of the CD ROMs on the storage device included by the second server.
  • the code stores at least a portion of the image onto a storage device locally coupled to the client computer and causes the game to run at least partially in response to the portion of the image stored on the storage device locally coupled to the client computer.
  • Fig. 1 illustrates a system for obtaining digital information via a communications network, according to an embodiment of the invention.
  • Fig. 2 illustrates a flow diagram for a user interface for selecting, installing, and playing titles, according to an embodiment of the invention.
  • Fig. 3 illustrates a flow diagram for a user interface for ordering titles, according to an embodiment of the invention.
  • One embodiment of the system enables a computer user on a high speed network to play a CD ROM title as if the user were using the CD ROM into the user's local machine.
  • a server remotely located from the user's machine, stores images of CD ROM titles on a hard disk or hard disks.
  • the user's computer is the client, and has a software program that emulates a CD ROM driver.
  • the software program then communicates to the remotely located server through a computer network to obtain data from the CD ROM images.
  • the computer program located on the user's machine thus emulates a CD ROM driver to the operating system or the application.
  • the user may be able to use the title as if the title were loaded from a CD ROM drive coupled locally to the user's machine.
  • the computer network is an IP network, and the computer program that emulates the CD ROM driver communicates to the server through TCP/IP.
  • the user first visits a web site.
  • the web site may, according to one embodiment of the invention, be the same server on which images of the CD ROM titles are stored. According to another embodiment of the invention, the web site is a different server from the server on which the images of the CD ROM titles are stored.
  • Software associated with the web site determines the identity of the user and performs authentication. A password may be required and other account information may be verified or obtained. Payment may be required and/or obtained.
  • images of CD ROMs are stored in various servers. The software associated with the web site determines which server from which the user should obtain access to the CD ROM the user desires, based on the identity and location of the user.
  • the user's computer system includes a browser with a plug-in, which provides access to the web site and server containing images of the CD ROMs.
  • the plug-in is given enough information to tell the user's software program that emulates a device driver to which server it should connect and which image it should load.
  • the software that emulates the driver emulates a CD ROM driver with the selected remotely located CD ROM image.
  • the user can play the CD ROM title as originally intended by the CD ROM's manufacturer.
  • a CD ROM title may require a particular communications bandwidth.
  • the system may selectively download onto the user's computer part or all of the CD ROM title the user wishes to play. If the bandwidth is not sufficient to emulate local play of the title, then a portion or all of the image of the CD ROM is downloaded to a storage device, such as a hard drive, locally coupled to the user's computer. Then, when the user plays the title, it may run at the proper speed. For copy protection or usage tracking, an active connection may still be required between the server and the user's computer in order to allow for play of the title. Additionally, as the title is emulated via communication between the server and the device that emulates a CD ROM driver, data from the image may be stored on a storage device locally coupled to the user's computer.
  • Such data may include graphics, computer code, or other data.
  • this data is later again needed by the title application running on the user's machine, it is accessed from the local storage device rather than the remote server in order to preserve bandwidth and the communication between the user's computer and the remote server.
  • the system detects that the bandwith is such that the image of the CD ROM should be downloaded onto the user's computer system, the user is presented with the option to order the CD ROM. If the user selects to order the CD ROM, then an image of the CD ROM is copied to the user's hard drive. This copying may take place at an off peak time, such as a time when there is a low load on the server that is storing the CD ROM images. Such time may depend on the particular usage patterns of the CD ROM images by the users. For example, if the CD ROM images correspond to computer games, and these computer games are typically played between 4:00 p.m. or 5:00 p.m.
  • the downloading of the CD ROM image would take place after this time of high usage. For example downloading may take place between midnight and 8:00 a.m., or between midnight and 4:00 p.m. or at other time ranges to avoid times of high system load. If bandwith is sufficient for emulation of the CD ROM without copying the CD ROM on to the user's computer system, then the user may be presented with a play button. When the user clicks the play button, the title plays immediately on the user's machine.
  • a graphical computer program such as a game title
  • the accessed data is stored on the user's system. Later, when this data is needed again, it is accessed from the local storage device on which it is stored.
  • An advantage of such an approach is that communications bandwith between the user's system and the remote server is conserved. For example, if the graphical computer software program displays the same screen that the program has displayed before, the computer program that emulates the CD ROM drive accesses the screen from the user's storage device, such as the hard drive, rather than from the remote server. Data not previously accessed may be accessed over the network, and data already accessed is accessed via the storage device locally coupled to the user's computer.
  • a space may be reserved on the user's storage device for such storage of data from the remote server. As this storage space becomes full, some of the older data may be replaced by newer data.
  • the determination as to which older data may be replaced may be made by a variety of methods. For example, the least recently used data may be replaced with the newer data form the remote server.
  • the user may select the amount of storage space to be utilized for such local caching of data received from the remote server. The user may make this determination via a window in a user interface.
  • the user interface may refer to such storage space as shelf space.
  • Fig. 1 illustrates a system for obtaining digital information via a communications network, according to an embodiment of the invention.
  • the web/key server 110 helps to serve web pages provides a CD key file 122.
  • the web/key server 1 10 also provides web/key server administration web pages 112.
  • Data server 140 provides data server administration web pages 143 and CD ROM 155 data to the client machine's 120 virtual CD ROM driver 126.
  • the CD key file 122 is a file with a MIME type that associates it with a plug in 123. The CD key file 122 allows the driver 126 to request from data server 140 a specific title to run.
  • a user interacting with client machine 120 is presented with a selection of titles by web/key server 110 via Internet 150.
  • the client machine 120 then obtains access to an image of the selected title via data server 140 via Internet 150.
  • a driver 126 on client machine 120 emulates a driver of a CD ROM drive so that software on client machine 120, which may be designed to operate with a local CD ROM drive via a CD ROM driver program, may access the remote data, even though the remote data is not stored completely at the client machine 120.
  • Web/key server 1 10 provides a user interface and allows for user selection of titles.
  • Web/key server 110 includes a web server 111 which provides an interface to Internet 150.
  • Web server 11 1 provides a web type interface to web/key server 110.
  • Admin web pages 112 allow web server 1 1 1 to act as an interface for administrative functions to web/key server 110.
  • Admin CGI code 113 controls the operation of the administrative interface. This administrative interface allows for functions such as addition and removal of CD ROM titles, control of user accounts, additions of users, billing, and other functions. One of such functions or a subset of such functions may be provided, depending on the needs of the particular system. For example, if a set of data servers is used, such data servers may be added or removed via Admin CGI code 113.
  • CD table 114 provides a list of CD ROM images supported by the system. CD table 114 may be updated as new titles are added to the system and as old titles are removed from the system. CD table 114 may indicate which server holds any particular CD ROM image. CD table 114 may also include additional information regarding the CD ROM titles such as cost, technical requirements for playing, or other information.
  • User table 115 includes a list of users and may also support other information, such as billing, authorization, and account status for users.
  • Server table 116 provides a list of various servers on which the CD ROM images are stored. Such servers may be located a various geographic locations. Thus server table 116 may help to find a server located close to the user.
  • User web pages 117 provide a user interface, for example, for an individual who wishes to play a game title.
  • User CGI code including key server 118 control the user interface for such a user.
  • User CGI code including key server 118 allows user to select a CD ROM title from among at least a portion of CD ROM titles listed in CD table 114.
  • User CGI code including key server 1 18 uses user table 115 to determine authentication of a user, and authorization of a user to obtain access to a particular CD ROM titles.
  • a CD Key file 1 19 is provided via user CGI code including key server 118.
  • Web browser 121 provides a user interface for user on client machine 120. Web browser 121 makes HTTP requests 151 via Internet 150 to web server 111 located on web/key server 1 10. In response, HTML and CD Key files 152 are provided. Web browser 121 then obtains CD Key file 122.
  • a plugin 123 on client machine 120 is associated with web browser 121.
  • This plugin 123 causes browser 121 to request that the media remote driver 126 obtain access to the selected title from data server 140.
  • Plugin 123 unlocks the selected data from the CD data table 145 on data server 140 provided that the CD Key file 122 has been obtained for the selected title.
  • Media remote driver 126 has an interface which may be accessed by title app/OS 124. This interface may emulate and interface of a device driver, such as a CD ROM device driver.
  • title app/OS 124 may have been designed to access a local CD ROM drive, and with media remote driver 126 title app/OS 124 is able to access remotely stored data instead of only a local CD ROM drive.
  • Plugin 123 provides an IP address, CD ID, and user ID 127 to driver 126.
  • data is received from data server 140, such data is cached in local storage, such as cache (shelf space) 125, which may comprise a hard drive.
  • CD data 130 is stored to cache 125 and is also available for later use.
  • title app/OS 124 needs a particular CD data, read request 128 is made. If the CD data has already been requested, such CD data may be located on cache 125, and is obtained from cache 125. If such CD data has not been already requested, or if it has already been overwritten on cache 125, the data is obtained remotely from data server 140.
  • title apps/OS 124 makes read requests 128 to driver 126 and receives CD data 129.
  • Driver 126 makes CD load requests 153 and CD read requests 154 to data server 140 and in response, CD data 155 is delivered.
  • Data server 140 includes the images of CD ROMs and provides data from these images to client machines.
  • a set of data servers may be used in a system, and such data servers may be located in geographic areas likely to be close to prospective users.
  • CD data server 141 provides and IP interface through which driver 126 can communicate via Internet 150.
  • CD data server 141 is coupled to CD data table 145, which includes a list of the CD ROM images stored in on data server 140.
  • CD data files (ISO) 146 are files stored on a storage device on data server 140. These files correspond to CD ROM images and are typically stored in a 9660 ISO format. Each CD ROM image is stored on a local storage device as a separate file. Such file may be decompressed and encrypted, or may be compressed or may be encrypted.
  • driver 126 is able to obtain access to a selected CD ROM image from among CD data files 146 via CD data server 141.
  • Such access may take the form of access of selected files of the CD ROM image, selected blocks of the CD ROM image, or may take the form of a complete download of all files or of all blocks of the CD ROM image so the title may be operated locally.
  • CD data table 145 provides information regarding location of a CD image within CD data files 146 that are stored on a storage device, such as hard drive. Data of the CD ROM images may be compressed and stored on the storage device on data server 140. Such data is compressed at the block level, according to an embodiment of the invention.
  • Web server 142 provides web access for administration of data server 140.
  • Admin web pages 143 provide the various web pages that the administrator would see in administering data server 140.
  • Admin CGI code 144 controls the admin web pages 143 and the user interface for administration.
  • An administrator, by way of such admin CGI code, 144 may cause additional CD images to be added to CD data files 146. Data files may be added or removed as needed.
  • Driver 126 may make block level requests to CD data server 141.
  • a block is an atomic chunk of data that is written or read as a whole typically in response to a request by an operating system or application to a driver.
  • driver 126 may receive block level requests from title apps/OS 124 and respond with blocks of data 129 to title app/OS 124.
  • Driver 126 may anticipate blocks that will be requested, other than those that were specifically requested by title apps/OS 124. For example, if blocks 15 and 16 are requested, then block 17 and 18 may also be accessed.
  • Driver 126 may also make other predictions of blocks that are needed in the future. For example, probabilities may be determined of blocks that will be read next based on blocks that were read last based on past patterns of block usage.
  • Various portions of data may be accessed from local storage on client machine 120 and other portions may be accessed from data server 140.
  • title apps/OS 124 may request blocks 0-64 of a CD ROM image, and blocks 0-8 and 32-64 may be stored in cache 125, but not blocks 9-31.
  • Driver 126 requests blocks 9-31 from data server 140 and combines those blocks with blocks 0-8 and 32-64, which are stored on local storage device cache 125.
  • Fig. 2 illustrates a flow diagram for a user interface for selecting, installing, and playing titles, according to an embodiment of the invention. A user interacts with the systems and is able to register as a user and select titles to play or order. User begins with a welcome/user login interface 210.
  • user may uninstall (block 216), modify shelf space (block 216), receive answers to common questions (block 218), receive information regarding contacting the service provider (block 219), or play a selected title (block 225). If the user decides to uninstall the system, the system is uninstalled, and then the user has the option to restart the computer (block 220). If the user does not restart the computer, a reminder is provided to exit the browser (block 222). If the user decides to restart the computer, then return to the desktop (block 224). If the user decides to play a title, appropriate portions of the title are loaded (block 225). Most of the title may be left on a remote server, unless the user is required to order the title. Next the title is played (block 226). After playing the title, a survey is presented (block 227).
  • a background application other than driver 126, allows a user to order a title.
  • Such background application requests all or a portion of the CD ROM image from data server 140 to be copied on to a local storage device on client machine 120.
  • Fig. 3 illustrates a flow diagram for a user interface for ordering titles, according to an embodiment of the invention.
  • a user has first logged on to the system and then is presented with a menu (block 310). If the user has selected a title, and the bandwith is not sufficient for playing the title without loading the title, then the user is presented with the option to order the title.
  • the user may have previously determined an amount of local storage to be designated for storage of such titles. Such local storage may be designated as shelf space in the user interface. If the shelf space is not large enough for the selected title (block 311), then the user is presented with a message that the maximum shelf space is insufficient (block 313). The user may then decide to increase the size of the shelf space.
  • the shelf space is large enough for the selected title (block 311), then a determination is made as to whether the current shelf space is large enough (block 311).
  • the current shelf space is the portion among the space allocated for storage of titles that is not being occupied by titles currently stored on the local storage device. If the current shelf space is not large enough (block 312), then a message is presented to the user that the shelf space is full (block 315). The user may cancel the order of this title and return to menu (block 316). Alternately, the user may select to remove items from the shelf, and then a determination is made as to whether enough shelf space would be freed by such removal (block 317).
  • Such a determination may be made, according to one embodiment of the invention, without actually removing the respective items from the shelf space so that the user may decide whether the user wants to proceed to remove additional items from the shelf space before actually having them removed. If the shelf space that would be freed is insufficient, a message is presented to the user (block 318). The user may select O.K., to actually remove the selected item from the shelf, or cancel. If enough shelf space is freed (block 317), then the user is presented with a message that the title has been removed and the order of the new selected titled is confirmed (block 319).
  • CD ROMs may take a variety of formats.
  • one format is the 9660 ISO.
  • the system may store data in a format compatible with this standard.
  • the system may store data in formats compatible with derivatives of the standard.
  • Other standards are set forth in the standards book such as the Red Book.
  • the system may store data in a format compatible with this standard.
  • the Red Book provides a physical format for audio CDs.
  • the CD format is according to the Yellow Book.
  • the Yellow Book provides a standard for a physical format for data CDs.
  • Another format that embodiments of the invention may utilize is the Orange Book standard.
  • the Orange Book sets forth a physical format standard for recordable CDs.
  • Another standard that an embodiment of the invention may use as the White Book standard. This standard is utilized for video CDs.
  • CD extra (occasionally used to refer to laser disc format) and the extended architecture, which is a bridge between Yellow Book and CD-i.
  • 2048 bytes of data are provided with error correction.
  • 2324 bytes of data are provided without error correction for video/audio.
  • the system may be compatible with a Rock Ridge format.
  • the Rock Ridge format provides extensions allowing for long file names and Unix style symlinks.
  • CD-RFS provides an incremental packet-writing file system.
  • CD-UDF which provides and incremental packet-writing file system.

Abstract

Method of data processing for computer software program. System for playing games. The system for playing games includes a first server coupled to a computer network, and the first server includes a list of computer games. A second server coupled to the computer network includes a storage device including images of CD ROMs corresponding to at least some of the games on the list of computer games. A client computer coupled to the computer network includes computer readable code that allows a user to select a game from among the games in the list of computer games. Computer readable code obtains access to an image of a computer game among the images of the CD ROMs on the storage device included by the second server. The code stores at least a portion of the image onto a storage device locally coupled to the client computer and causes the game to run at least partially in response to the portion of the image stored on the storage device locally coupled to the client computer.

Description

SYSTEM AND METHOD FOR OBTAINING DIGITAL INFORMATION VIA COMMUNICATIONS NETWORK
BACKGROUND OF THE INVENTION
Field of the Invention
This invention relates to the field of communication within a communications network. In particular, the invention relates to obtain digital information from a compact disk formatted data via a communications network. Description of the Related Art
Computer software increasingly involves large amounts of data for the code of the computer software and for the supporting data structures, such as images, audio, or other information. Such computer software and its associated data allows for the creation of multimedia presentations. Such presentations may include images, video, audio, and may be supported by complex computer software. One example of such multimedia software is a computer game. The computer game may include graphics, video clips, audio, and may allow for complex interaction with the user.
In order to support such multimedia applications, data storage is needed. Such data storage allows for the storage of the computer code, graphics, and other multimedia elements. One form of storage that has been used for such multimedia applications is the compact disk ROM (CD ROM). Such a storage medium allows for storage of relatively large amounts of data, as compared to certain kinds of conventional media, such as the floppy disk. A large amount of software is available via the CD ROM medium. A CD ROM is a physical product that requires transportation and handling.
Graphical computer software programs, such as computer games, often involve a large amount of storage for graphical images. Thus, such programs may be distributed on CD ROMs as CD ROM titles. It would be desirable to obtain a system and method that overcomes the deficiencies of the prior art. SUMMARY OF THE INVENTION
The embodiment of the invention is directed to a method of data processing for a computer software program. Data is read from a CD ROM and stored onto a first storage device coupled to the Internet. At least a portion of the data stored on the first storage device is accessed via the Internet from a computer coupled to the Internet. On the computer system, a portion of the data is used. The portion of the data is stored in the second storage device locally coupled to the computer system. If data from the portion of the data is needed again on the computer system, the data from the storage device locally coupled to the computer system is used on the computer system.
The CD ROM may conform to various standards. For example the CD ROM may conform to an ISO 9660 standard. The CD ROM may conform to a Yellow Book standard. The CD ROM may conform to other standards. And the system may be compatible with such standards. An embodiment in the invention is directed to the method of operating the computer system that includes receiving at a computer system coupled to the Internet a user selection of a computer software program from among a set of computer software programs. The computer software programs are associated with data from respective CD ROM. The data is stored on the first storage device coupled to the Internet remotely from computer system. A bandwith for communication between the computer system and the first storage device is detected. Based on the bandwith and the selected computer software program, a portion of the data from the first storage device may be stored onto a storage device locally coupled to the computer system before running the selected computer software program, and then the selected computer software program is run. Alternatively, based on the bandwith and the selected computer software program, the selected computer software program is started without storing the data from the first storage device onto the storage device locally coupled. According to one embodiment of the invention, the selected computer software program is run without storing a portion of the data onto the storage device locally coupled only if bandwith is sufficient for performance of the selected computer software program equivalent to the performance of the selected computer software program if the computer software program and associated data were stored locally to the computer system.
An embodiment in the invention is directed to a system including a first computer system coupled to a network and a second computer system coupled to the network and coupled locally to a storage device including an image or a CD ROM. The first computer system includes computer readable code designed to read a locally stored CD ROM via a CD ROM driver. The first computer system also includes computer readable code that emulates a CD ROM driver and causes communication to be made with the second computer system to obtain information from the storage device including the image of the CD ROM. Thus, a CD ROM drive is emulated on the first computer system. The system includes computer code that determines a bandwith for transmission between the first computer system and the second computer system and, if the bandwith is not high enough to allow real time emulation of the CD ROM of a CD ROM drive causes at least a portion of this image of the CD ROM to be downloaded to a storage device coupled locally to the first computer system.
Another embodiment of the invention is directed to a system for playing games. The system includes a first server coupled to a computer network. The first server includes a list of computer games. A second server coupled to the computer network includes a storage device including images of CD ROMs corresponding to at least some of the games on the list of computer games. A client computer coupled to the computer network includes computer readable code that allows a user to select a game from among the games in the list of computer games. Computer readable code obtains access to an image of a computer game among the images of the CD ROMs on the storage device included by the second server. The code stores at least a portion of the image onto a storage device locally coupled to the client computer and causes the game to run at least partially in response to the portion of the image stored on the storage device locally coupled to the client computer.
BRIEF DESCRIPTION OF THE FIGURES
Fig. 1 illustrates a system for obtaining digital information via a communications network, according to an embodiment of the invention. Fig. 2 illustrates a flow diagram for a user interface for selecting, installing, and playing titles, according to an embodiment of the invention.
Fig. 3 illustrates a flow diagram for a user interface for ordering titles, according to an embodiment of the invention.
DETAILED DESCRIPTION The following is a description of embodiments of the invention. The embodiments shown help to illustrate the invention. However, it is not intended that the invention be limited to the precise embodiments shown. One embodiment of the system enables a computer user on a high speed network to play a CD ROM title as if the user were using the CD ROM into the user's local machine. A server, remotely located from the user's machine, stores images of CD ROM titles on a hard disk or hard disks. The user's computer is the client, and has a software program that emulates a CD ROM driver. The software program then communicates to the remotely located server through a computer network to obtain data from the CD ROM images. The computer program located on the user's machine thus emulates a CD ROM driver to the operating system or the application. Thus, the user may be able to use the title as if the title were loaded from a CD ROM drive coupled locally to the user's machine. According to one embodiment of the invention, the computer network is an IP network, and the computer program that emulates the CD ROM driver communicates to the server through TCP/IP.
In one embodiment of the invention, the user first visits a web site. The web site may, according to one embodiment of the invention, be the same server on which images of the CD ROM titles are stored. According to another embodiment of the invention, the web site is a different server from the server on which the images of the CD ROM titles are stored. Software associated with the web site determines the identity of the user and performs authentication. A password may be required and other account information may be verified or obtained. Payment may be required and/or obtained. According to one embodiment of the invention, images of CD ROMs are stored in various servers. The software associated with the web site determines which server from which the user should obtain access to the CD ROM the user desires, based on the identity and location of the user. The user's computer system includes a browser with a plug-in, which provides access to the web site and server containing images of the CD ROMs. When the user selects a CD ROM title to play, the plug-in is given enough information to tell the user's software program that emulates a device driver to which server it should connect and which image it should load. Next, provided that there is sufficient bandwidth, the software that emulates the driver emulates a CD ROM driver with the selected remotely located CD ROM image. The user can play the CD ROM title as originally intended by the CD ROM's manufacturer. A CD ROM title may require a particular communications bandwidth.
According to one embodiment of the invention, the system may selectively download onto the user's computer part or all of the CD ROM title the user wishes to play. If the bandwidth is not sufficient to emulate local play of the title, then a portion or all of the image of the CD ROM is downloaded to a storage device, such as a hard drive, locally coupled to the user's computer. Then, when the user plays the title, it may run at the proper speed. For copy protection or usage tracking, an active connection may still be required between the server and the user's computer in order to allow for play of the title. Additionally, as the title is emulated via communication between the server and the device that emulates a CD ROM driver, data from the image may be stored on a storage device locally coupled to the user's computer. Such data may include graphics, computer code, or other data. When this data is later again needed by the title application running on the user's machine, it is accessed from the local storage device rather than the remote server in order to preserve bandwidth and the communication between the user's computer and the remote server.
According to one embodiment of the invention, if the system detects that the bandwith is such that the image of the CD ROM should be downloaded onto the user's computer system, the user is presented with the option to order the CD ROM. If the user selects to order the CD ROM, then an image of the CD ROM is copied to the user's hard drive. This copying may take place at an off peak time, such as a time when there is a low load on the server that is storing the CD ROM images. Such time may depend on the particular usage patterns of the CD ROM images by the users. For example, if the CD ROM images correspond to computer games, and these computer games are typically played between 4:00 p.m. or 5:00 p.m. and 10:00 p.m., 11 :00 p.m., or midnight, then the downloading of the CD ROM image would take place after this time of high usage. For example downloading may take place between midnight and 8:00 a.m., or between midnight and 4:00 p.m. or at other time ranges to avoid times of high system load. If bandwith is sufficient for emulation of the CD ROM without copying the CD ROM on to the user's computer system, then the user may be presented with a play button. When the user clicks the play button, the title plays immediately on the user's machine.
According to one embodiment to the invention, as a graphical computer program, such as a game title, is being played data from the remotely located CD ROM image, the accessed data is stored on the user's system. Later, when this data is needed again, it is accessed from the local storage device on which it is stored. An advantage of such an approach is that communications bandwith between the user's system and the remote server is conserved. For example, if the graphical computer software program displays the same screen that the program has displayed before, the computer program that emulates the CD ROM drive accesses the screen from the user's storage device, such as the hard drive, rather than from the remote server. Data not previously accessed may be accessed over the network, and data already accessed is accessed via the storage device locally coupled to the user's computer.
A space may be reserved on the user's storage device for such storage of data from the remote server. As this storage space becomes full, some of the older data may be replaced by newer data. The determination as to which older data may be replaced may be made by a variety of methods. For example, the least recently used data may be replaced with the newer data form the remote server. According to one embodiment of the invention, the user may select the amount of storage space to be utilized for such local caching of data received from the remote server. The user may make this determination via a window in a user interface. The user interface may refer to such storage space as shelf space. Fig. 1 illustrates a system for obtaining digital information via a communications network, according to an embodiment of the invention. Fig. 1 includes a web/key server 110, data server 140, client machine 120, and the Internet 150. The web/key server 110 helps to serve web pages provides a CD key file 122. The web/key server 1 10 also provides web/key server administration web pages 112. Data server 140 provides data server administration web pages 143 and CD ROM 155 data to the client machine's 120 virtual CD ROM driver 126. The CD key file 122 is a file with a MIME type that associates it with a plug in 123. The CD key file 122 allows the driver 126 to request from data server 140 a specific title to run.
A user interacting with client machine 120 is presented with a selection of titles by web/key server 110 via Internet 150. The client machine 120 then obtains access to an image of the selected title via data server 140 via Internet 150. A driver 126 on client machine 120 emulates a driver of a CD ROM drive so that software on client machine 120, which may be designed to operate with a local CD ROM drive via a CD ROM driver program, may access the remote data, even though the remote data is not stored completely at the client machine 120.
Web/key server 1 10 provides a user interface and allows for user selection of titles. Web/key server 110 includes a web server 111 which provides an interface to Internet 150. Web server 11 1 provides a web type interface to web/key server 110. Admin web pages 112 allow web server 1 1 1 to act as an interface for administrative functions to web/key server 110. Admin CGI code 113 controls the operation of the administrative interface. This administrative interface allows for functions such as addition and removal of CD ROM titles, control of user accounts, additions of users, billing, and other functions. One of such functions or a subset of such functions may be provided, depending on the needs of the particular system. For example, if a set of data servers is used, such data servers may be added or removed via Admin CGI code 113.
CD table 114 provides a list of CD ROM images supported by the system. CD table 114 may be updated as new titles are added to the system and as old titles are removed from the system. CD table 114 may indicate which server holds any particular CD ROM image. CD table 114 may also include additional information regarding the CD ROM titles such as cost, technical requirements for playing, or other information. User table 115 includes a list of users and may also support other information, such as billing, authorization, and account status for users. Server table 116 provides a list of various servers on which the CD ROM images are stored. Such servers may be located a various geographic locations. Thus server table 116 may help to find a server located close to the user.
User web pages 117 provide a user interface, for example, for an individual who wishes to play a game title. User CGI code including key server 118 control the user interface for such a user. User CGI code including key server 118 allows user to select a CD ROM title from among at least a portion of CD ROM titles listed in CD table 114. User CGI code including key server 1 18 uses user table 115 to determine authentication of a user, and authorization of a user to obtain access to a particular CD ROM titles. When a user has selected a particular CD ROM title and has obtained authorization to play the title, a CD Key file 1 19 is provided via user CGI code including key server 118.
The user, via client machine 120, is able to make a selection of a title and obtain authorization to play the title from web key server 1 10. Web browser 121 provides a user interface for user on client machine 120. Web browser 121 makes HTTP requests 151 via Internet 150 to web server 111 located on web/key server 1 10. In response, HTML and CD Key files 152 are provided. Web browser 121 then obtains CD Key file 122.
A plugin 123 on client machine 120 is associated with web browser 121. This plugin 123 causes browser 121 to request that the media remote driver 126 obtain access to the selected title from data server 140. Plugin 123 unlocks the selected data from the CD data table 145 on data server 140 provided that the CD Key file 122 has been obtained for the selected title. Media remote driver 126 has an interface which may be accessed by title app/OS 124. This interface may emulate and interface of a device driver, such as a CD ROM device driver. Thus, title app/OS 124 may have been designed to access a local CD ROM drive, and with media remote driver 126 title app/OS 124 is able to access remotely stored data instead of only a local CD ROM drive. Plugin 123 provides an IP address, CD ID, and user ID 127 to driver 126. As data is received from data server 140, such data is cached in local storage, such as cache (shelf space) 125, which may comprise a hard drive. Thus, CD data 130 is stored to cache 125 and is also available for later use. For example, if title app/OS 124 needs a particular CD data, read request 128 is made. If the CD data has already been requested, such CD data may be located on cache 125, and is obtained from cache 125. If such CD data has not been already requested, or if it has already been overwritten on cache 125, the data is obtained remotely from data server 140. Thus title apps/OS 124 makes read requests 128 to driver 126 and receives CD data 129. Driver 126 makes CD load requests 153 and CD read requests 154 to data server 140 and in response, CD data 155 is delivered.
Data server 140 includes the images of CD ROMs and provides data from these images to client machines. A set of data servers may be used in a system, and such data servers may be located in geographic areas likely to be close to prospective users. CD data server 141 provides and IP interface through which driver 126 can communicate via Internet 150. CD data server 141 is coupled to CD data table 145, which includes a list of the CD ROM images stored in on data server 140. CD data files (ISO) 146 are files stored on a storage device on data server 140. These files correspond to CD ROM images and are typically stored in a 9660 ISO format. Each CD ROM image is stored on a local storage device as a separate file. Such file may be decompressed and encrypted, or may be compressed or may be encrypted. Thus driver 126 is able to obtain access to a selected CD ROM image from among CD data files 146 via CD data server 141. Such access may take the form of access of selected files of the CD ROM image, selected blocks of the CD ROM image, or may take the form of a complete download of all files or of all blocks of the CD ROM image so the title may be operated locally. CD data table 145 provides information regarding location of a CD image within CD data files 146 that are stored on a storage device, such as hard drive. Data of the CD ROM images may be compressed and stored on the storage device on data server 140. Such data is compressed at the block level, according to an embodiment of the invention. Web server 142 provides web access for administration of data server 140. Admin web pages 143 provide the various web pages that the administrator would see in administering data server 140. Admin CGI code 144 controls the admin web pages 143 and the user interface for administration. An administrator, by way of such admin CGI code, 144 may cause additional CD images to be added to CD data files 146. Data files may be added or removed as needed.
Driver 126 may make block level requests to CD data server 141. A block is an atomic chunk of data that is written or read as a whole typically in response to a request by an operating system or application to a driver. Thus, driver 126 may receive block level requests from title apps/OS 124 and respond with blocks of data 129 to title app/OS 124. Driver 126 may anticipate blocks that will be requested, other than those that were specifically requested by title apps/OS 124. For example, if blocks 15 and 16 are requested, then block 17 and 18 may also be accessed. Driver 126 may also make other predictions of blocks that are needed in the future. For example, probabilities may be determined of blocks that will be read next based on blocks that were read last based on past patterns of block usage.
Various portions of data may be accessed from local storage on client machine 120 and other portions may be accessed from data server 140. For example, title apps/OS 124 may request blocks 0-64 of a CD ROM image, and blocks 0-8 and 32-64 may be stored in cache 125, but not blocks 9-31. Driver 126 requests blocks 9-31 from data server 140 and combines those blocks with blocks 0-8 and 32-64, which are stored on local storage device cache 125. Fig. 2 illustrates a flow diagram for a user interface for selecting, installing, and playing titles, according to an embodiment of the invention. A user interacts with the systems and is able to register as a user and select titles to play or order. User begins with a welcome/user login interface 210. If the user decides to enter, a determination is made as to whether the user is registered (block 211). If the user is not registered a user, registration interface is provided (block 212). If the user decides not to register, the user is returned to the welcome/user login (block 210). If the user registers then the system proceeds to block 213 where determination is made as to whether the appropriate plugin has been installed. If the user is already registered, then proceed directly to block 213 (block 211). If the plugin has not been installed, then proceed to install the plugin (block 214), which includes appropriate user interface screens and downloading of the appropriate plugin software. Then the system reboots, at the option of the user. After rebooting, return to welcome/user login 210. After the plugin is installed, proceed to menu 215.
From menu 215 user may uninstall (block 216), modify shelf space (block 216), receive answers to common questions (block 218), receive information regarding contacting the service provider (block 219), or play a selected title (block 225). If the user decides to uninstall the system, the system is uninstalled, and then the user has the option to restart the computer (block 220). If the user does not restart the computer, a reminder is provided to exit the browser (block 222). If the user decides to restart the computer, then return to the desktop (block 224). If the user decides to play a title, appropriate portions of the title are loaded (block 225). Most of the title may be left on a remote server, unless the user is required to order the title. Next the title is played (block 226). After playing the title, a survey is presented (block 227).
According to one embodiment of the invention, a background application, other than driver 126, allows a user to order a title. Such background application requests all or a portion of the CD ROM image from data server 140 to be copied on to a local storage device on client machine 120.
Fig. 3 illustrates a flow diagram for a user interface for ordering titles, according to an embodiment of the invention. A user has first logged on to the system and then is presented with a menu (block 310). If the user has selected a title, and the bandwith is not sufficient for playing the title without loading the title, then the user is presented with the option to order the title. The user may have previously determined an amount of local storage to be designated for storage of such titles. Such local storage may be designated as shelf space in the user interface. If the shelf space is not large enough for the selected title (block 311), then the user is presented with a message that the maximum shelf space is insufficient (block 313). The user may then decide to increase the size of the shelf space. If the shelf space is large enough for the selected title (block 311), then a determination is made as to whether the current shelf space is large enough (block 311). The current shelf space is the portion among the space allocated for storage of titles that is not being occupied by titles currently stored on the local storage device. If the current shelf space is not large enough (block 312), then a message is presented to the user that the shelf space is full (block 315). The user may cancel the order of this title and return to menu (block 316). Alternately, the user may select to remove items from the shelf, and then a determination is made as to whether enough shelf space would be freed by such removal (block 317). Such a determination may be made, according to one embodiment of the invention, without actually removing the respective items from the shelf space so that the user may decide whether the user wants to proceed to remove additional items from the shelf space before actually having them removed. If the shelf space that would be freed is insufficient, a message is presented to the user (block 318). The user may select O.K., to actually remove the selected item from the shelf, or cancel. If enough shelf space is freed (block 317), then the user is presented with a message that the title has been removed and the order of the new selected titled is confirmed (block 319). If the after the determination that enough current shelf spaced existed (block 312), it was determined that enough current shelf space would exist with the renewal of existing titles, then the user is presented with a confirmation that the title can be ordered (block 314). The user can then select O.K. or cancel to order or not order the title. Then the user is returned to menu 310.
CD ROMs may take a variety of formats. For example, one format is the 9660 ISO. The system may store data in a format compatible with this standard. Alternatively, the system may store data in formats compatible with derivatives of the standard. Other standards are set forth in the standards book such as the Red Book. The system may store data in a format compatible with this standard. The Red Book provides a physical format for audio CDs. According to one embodiment of the invention, the CD format is according to the Yellow Book. The Yellow Book provides a standard for a physical format for data CDs. Another format that embodiments of the invention may utilize is the Orange Book standard. The Orange Book sets forth a physical format standard for recordable CDs. Another standard that an embodiment of the invention may use as the White Book standard. This standard is utilized for video CDs. Other formats with which embodiments of the invention may be compatible are the CD extra (occasionally used to refer to laser disc format) and the extended architecture, which is a bridge between Yellow Book and CD-i. According to one standard, 2048 bytes of data are provided with error correction. According to another standard, 2324 bytes of data are provided without error correction for video/audio. The system may be compatible with a Rock Ridge format. The Rock Ridge format provides extensions allowing for long file names and Unix style symlinks. Another standard with which that an embodiment of the invention may be compatible is CD-RFS. CD-RFS standard provides an incremental packet-writing file system. Another standard with which an embodiment of the invention may be compatible is the CD-UDF standard, which provides and incremental packet-writing file system.
The foregoing description of various embodiments of the invention has been presented for purposes of illustration and description. It is not intended to limit the invention to the precise forms disclosed.

Claims

CLAIMSWhat is claimed is:
1. A method of data processing for a computer software program, the method comprising: reading data from a CD ROM and storing the data on a first storage device coupled to the Internet; accessing, via the Internet from a computer system coupled to the Internet, at least a portion of the data stored on the first storage device; using, in a computer software program running on the computer system, the portion of the data; storing the portion of the data in a second storage device locally coupled to the computer system; and if data from the portion of the data is needed again by the computer software program running on the computer system, using, in the computer software program running on the computer system, data from the data storage device locally coupled to the computer system.
2. The method of claim 1, wherein the CD ROM conforms to an ISO 9660 standard.
3. The method of claim 1, wherein the CD ROM conforms to a Yellow Book standard.
4. The method of claim 1, wherein the CD ROM conforms to a Red Book standard.
5. The method of claim 1, wherein the computer system includes a program that provides the data to the computer software program, and the program that provides the data emulates a device driver interface.
6. The method of claim 1, wherein the computer system includes a program that provides the data to the computer software program, and the program that provides the data emulates a CD ROM driver interface.
7. The method of claim 1, wherein the computer software program comprises a game.
8. The method of claim 1, wherein the computer software program comprises a graphical computer software program.
9. The method of claim 1, wherein the CD ROM includes computer readable code designed to be read from a CD ROM drive and executed by a computer locally coupled to the CD ROM drive.
10. The method of claim 1, wherein the first storage device comprises a hard drive.
11. The method of claim 1 , wherein the first storage device comprises a device having faster access speed than a CD ROM drive.
12. The method of claim 1 , wherein data received from the first storage device and previously stored on the second storage device is removed and replaced by new data from the first storage device.
13. The method of claim 12, wherein the data that is removed comprises data less recently referenced, from among data previously stored on the second storage device.
14. The method of claim 1, wherein accessing comprises making only file level access of the at least a portion of the data stored on the first storage device.
15. The method of claim 1 , including requiring payment from a user that uses the computer system before accessing the at least a portion of the data.
16. A method of operating a computer system comprising: receiving at a computer system coupled to the Internet a user selection of a computer software program from among a set of computer software programs, the computer software programs associated with data from respective CD ROMs, the data being stored on a first storage device coupled to the Internet remotely from the computer system; detecting a bandwidth for communication between the computer system and the first storage device; and based on the bandwidth and the selected computer software program, storing a portion of the data from the first storage device onto a storage device locally coupled to the computer system before running the selected computer software program and then running the selected computer software program, or beginning to run the selected computer software program without storing onto the storage device locally coupled the portion of the data from the first storage device.
17. The method of claim 16, including running the selected computer software program without storing onto the storage device locally coupled the portion of the data only if the bandwidth is sufficient for performance of the selected computer software program equivalent to the performance of the selected computer software program if the computer software program and associated data were stored locally to the computer system.
18. The method of claim 16, including copying the selected computer software program and associated data from the first storage device onto the storage device locally coupled if the bandwidth is not sufficient for equivalent performance of the computer software program without the copying onto the storage device locally coupled.
19. The method of claim 16, including performing the storing at a time of relatively low load on a server locally coupled to the first storage device.
20. The method of claim 16, including performing the storing only between 11 PM and 11 AM.
21. The method of claim 16, wherein the set of computer software programs comprises a set of games.
22. The method of claim 16, wherein the detecting comprises timing transmission of data between the first computer system and a server locally coupled to the first storage device.
23. The method of claim 16, wherein the first storage device comprises a hard disk.
24. The method of claim 16, wherein the first storage device comprises a CD ROM.
25. A system comprising: a first computer system coupled to a network and coupled locally to a storage device including an image of a CD ROM; a second computer system coupled to a network, the second computer system including computer readable code designed to read a locally stored CD ROM via a CD ROM driver, and computer readable code that emulates a CD ROM driver and causes communication to be made with the first computer system to obtain information from the storage device including the image of the CD ROM, whereby a CD ROM drive is emulated on the second computer system; and computer code that determines a bandwidth for transmission between the first computer system and the second computer system and, if the bandwidth is not high enough to allow real time emulation of a CD ROM drive, causes at least a portion of the image of the CD ROM to be downloaded to a storage device coupled locally to the second computer system.
26. The system of claim 25, wherein the second computer system includes computer code that causes the computer readable code designed to read a locally stored CD ROM to obtain data from both the storage device coupled locally to the first computer system and the storage device coupled locally to the second computer system.
27. A system for playing games comprising: a first server coupled to a computer network, the first server including a list of computer games; a second server coupled to the computer network, the second server including a storage device including images of CD ROMs corresponding to at least some of the games in the list of computer games; a client computer coupled to the computer network, the client computer including computer readable code that allows a user to select a game from among games in the list of computer games, obtains access to an image of a computer game among the images of the CD ROMs on the storage device included by the second server, stores at least a portion of the image onto a storage device locally coupled to the client computer, and causes the game to run at least partially in response to the portion of the image stored on the storage device locally coupled to the client computer.
28. The system of claim 27, wherein the portion of the image includes data representing a graphical image.
29. The system of claim 27, wherein the portion of the image includes a portion computer code of the game.
30. The system of claim 27, the first server including code that causes a particular file to be transferred to the client computer system only if an access sequence is successfully executed and the second server allows the client computer to access the image of the computer game only if the client computer has the particular file.
31. The system of claim 30, wherein successful execution of the access sequence includes provision of a password.
32. The system of claim 30, wherein successful execution of the access sequence includes provision of payment.
PCT/US2000/017359 1999-06-30 2000-06-23 System and method for obtaining digital information via communications network WO2001001240A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU57629/00A AU5762900A (en) 1999-06-30 2000-06-23 System and method for obtaining digital information via communications network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US34758499A 1999-06-30 1999-06-30
US09/347,584 1999-06-30

Publications (2)

Publication Number Publication Date
WO2001001240A2 true WO2001001240A2 (en) 2001-01-04
WO2001001240A3 WO2001001240A3 (en) 2001-12-06

Family

ID=23364347

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/017359 WO2001001240A2 (en) 1999-06-30 2000-06-23 System and method for obtaining digital information via communications network

Country Status (2)

Country Link
AU (1) AU5762900A (en)
WO (1) WO2001001240A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1902761A1 (en) * 2005-07-12 2008-03-26 Vodafone K.K. Program and mobile communication terminal
US7587606B1 (en) * 2002-10-09 2009-09-08 Unisys Corporation Emergency web keys

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0715243A1 (en) * 1994-11-23 1996-06-05 Xerox Corporation System for controlling the distribution and use of digital works having a fee reporting mechanism
US5695400A (en) * 1996-01-30 1997-12-09 Boxer Jam Productions Method of managing multi-player game playing over a network
US5851149A (en) * 1995-05-25 1998-12-22 Tech Link International Entertainment Ltd. Distributed gaming system
WO1999001188A2 (en) * 1997-07-03 1999-01-14 Walker Digital, Llc. Method and apparatus for securing on-line virtual punchboard transactions
WO1999013398A1 (en) * 1997-09-11 1999-03-18 Digital Square, Inc. Digital content vending, delivery, and maintenance system
US5905942A (en) * 1997-02-18 1999-05-18 Lodgenet Entertainment Corporation Multiple dwelling unit interactive audio/video distribution system
EP0921487A2 (en) * 1997-12-08 1999-06-09 Nippon Telegraph and Telephone Corporation Method and system for billing on the internet

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0715243A1 (en) * 1994-11-23 1996-06-05 Xerox Corporation System for controlling the distribution and use of digital works having a fee reporting mechanism
US5851149A (en) * 1995-05-25 1998-12-22 Tech Link International Entertainment Ltd. Distributed gaming system
US5695400A (en) * 1996-01-30 1997-12-09 Boxer Jam Productions Method of managing multi-player game playing over a network
US5905942A (en) * 1997-02-18 1999-05-18 Lodgenet Entertainment Corporation Multiple dwelling unit interactive audio/video distribution system
WO1999001188A2 (en) * 1997-07-03 1999-01-14 Walker Digital, Llc. Method and apparatus for securing on-line virtual punchboard transactions
WO1999013398A1 (en) * 1997-09-11 1999-03-18 Digital Square, Inc. Digital content vending, delivery, and maintenance system
EP0921487A2 (en) * 1997-12-08 1999-06-09 Nippon Telegraph and Telephone Corporation Method and system for billing on the internet

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7587606B1 (en) * 2002-10-09 2009-09-08 Unisys Corporation Emergency web keys
EP1902761A1 (en) * 2005-07-12 2008-03-26 Vodafone K.K. Program and mobile communication terminal
EP1902761A4 (en) * 2005-07-12 2010-12-22 Vodafone Kk Program and mobile communication terminal

Also Published As

Publication number Publication date
WO2001001240A3 (en) 2001-12-06
AU5762900A (en) 2001-01-31

Similar Documents

Publication Publication Date Title
US8949820B2 (en) Streaming from a media device
JP4270252B2 (en) Information processing apparatus, download method, download interruption method, download resume method, and program
US6622166B2 (en) Audio/video from internet direct to compact disc through web browser
US7676584B2 (en) Method and apparatus for providing games and content
US20020099798A1 (en) File transfer method and system
US20050091511A1 (en) Useability features in on-line delivery of applications
KR20050008845A (en) Server side configuration management
US20080114880A1 (en) System for connecting to a network location associated with content
EP2447906B1 (en) Online game providing system through storage media and method thereof
US20020152364A1 (en) Media server system and process having device independent near-online storage support
KR20020062771A (en) Digital content selling method and system using communication network
JP2008523718A (en) Method and system for simultaneously downloading and playing audio / video content
US20070027933A1 (en) Resilient system partition for personal internet communicator
JP2004502236A (en) System and method for enabling fast startup and execution of stream-type application on demand
US20080114772A1 (en) Method for connecting to a network location associated with content
US20040098341A1 (en) Method for renting video and audio media through the internet
JP2007527089A (en) Apparatus and method for simulating the insertion of a new record carrier
WO2001001240A2 (en) System and method for obtaining digital information via communications network
TWI225615B (en) Method of preventing unauthorized use of virtual medium image file
JP2004320510A (en) Video rental system
JP4493715B2 (en) Content storage medium creation method, computer program, and content providing system
US7373495B2 (en) Hardware cross-emulation using personas
JP2004537124A (en) Storage medium encoded by server program and method using storage medium
KR20040042364A (en) Method for providing digital contents using a compact disk on the internet and computer readable record medium on which a program therefor is recorded
WO2008060412A2 (en) Method and system for connecting to a network location associated with content

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP