throbber
C
`Umted States Patent
`
`[19]
`
`Bakoglu et al.
`
`US005632681A
`
`[11] Patent Number:
`
`5,632,681
`
`[45] Date of Patent:
`
`May 27, 1997
`
`1/1986 Abraham .................................. 455/4.2
`2/1936 Best
`....................
`364/410
`5/1936 Abraham .................. 455/51
`xlgai-1--------
`343/335
`' "
`7/1939 Shc
`Cy ct
`4,349,317
`463/40
`9/1991 Ragga};""""""""H
`5,051,322
`5/1992 Durst, Jr .364/DIG 1
`5’113:513
`S:166,886 11/1992 Molnar oral.
`364/4'79
`5,131,107
`1/1993 Rhoades ..... ... ..
`. .... 455/4.2
`5,251,909 10/1993 Reed et a1.
`..
`463/43
`5,347,304
`9/1994 Moura et al.
`455/5.1
`5,350,176
`9/1994 Hochstein etal. ..
`463/42
`
`
`
`4,567,512
`4,569,026
`4,590,516
`
`[54] UNIVERSAL ELECTRONIC VIDEO GAME
`RENTING/DISTRIBUTING SYSTEM
`
`[75]
`
`Inventors: Halil B. Bakoglu. Ossining; Inching
`Chen’ Wappingers Fans; Andy G‘
`Lean’ M°‘fi°k; Kiy°5hi M““'“3"““a’
`ChaPPa‘l“a? Ch““g'“’ai Y“°- Y°‘kt°W“
`Heights all 0f N-Y-
`.
`‘
`_
`International Business Machines
`Corporation, Armonk. N.Y.
`
`_
`[73] Asslgneat
`
`No‘:
`
`,
`.
`Man 7’ 1995
`[22] Filed
`[51]
`Int. Cl.5 ........................................................ A63F 9/24
`U.S.
`.................................
`463/40; 463/25; 455/4.2; 455/5.1; 455/6.2;
`455/6.3; 364/410; 364/479.04; 364/DIG. 1;
`379/90; 348/7; 348/12; 348/13; 348/552;
`340/323 R
`[5 8] Field of Search .......................... .. 463/24-25. 29-31.
`463/40-45; 455/2. 4.1-6.3. 32.1; 364/130.
`141. 146. 410. 479. DIG. 1; 348/3. 7. 10.
`12-13. 552; 340/323 R; 379/90. 102. 91,
`104-105. 111-114, 140; 395/400, 425.
`650
`
`[56]
`
`References Cited
`US. PATENT DOCUMENTS
`
`4,398,189
`4,498,079
`
`...................... 463/33
`8/1983 Pasierb, Jr. et al.
`2/1985 Ghosh et al.
`............................. 463/33
`
`Hornbuckle ............................. 364/410
`5,497,479
`Primary Examiner—Jessica Harrison
`Assistant Examiner—Mark Sager
`Attomey, Agent, or Fz'rm—Doug1as W. Cameron
`
`A video game cartridge that can be plugged into a video
`game machine to enable a user to request and play a video
`game for a predetermined number of video frames. The
`cartridge has a receiver for receiving the video game pro-
`gram and the predetermined frame count in response to a
`request from the user. The program and frame count is then
`stored in amemory of the cartridge. Finally, the cartridge has
`a counter which changes its value when the user is actively
`playing the video game program. The counter ceases to
`change its value when the user is not playing the video game
`program. When the counter reaches a predetermined limit,
`the user is no longer authorized to play the video game
`program.
`
`11 Claims, 2 Drawing Sheets
`
`BASE UNIT
`
`vrnau GAME
`
`TD TV
`MUNITIJR
`
`GAME DR
`PRDGRAM
`SERVER
`
`SHUTDEIVN RDUTINEI
`STDRE REMAINING
`FRAME CDUNT
`
`304
`
`
`
`
`
`NI]
`TE] GAME PROGRAM
`CEILLECTIEINS
`
`Apple Exhibit 1045
`
`Page 00001
`
`
`Page 00001
`
`Apple Exhibit 1045
`
`

`
`nu
`
`M
`
`M“
`
`w
`
`2
`
`1oo
`
`upoo_
`P_(#2\\Smmom
`11%fim.|T|¢mazmzanuz¢unull:Im¢4m__.w_.._
`
`
`
`
`
`wmod
`
`mpzaH»omzzmo
`
`m._m$\m_zm_:n_m._M:SmN.0_n_mom
`
`z¢muumm
`
`
`-mmoHzmzqoammH>>HmpWmm44nmhzaukHz:mm¢mmaHHzazMmm>mmm
`
`
`
`
`
`
`
`
`&am>mmwmz¢ozmmuz>mazmz:m¢4u
`
`
`
`
`
`qeqnz¢munmamz¢uammH>,m>m¢mmmomzLHzuHmwum¢zuo-mmzmHz¢:omzoan:u»<3Hnz¢zuHmmum¢zau
`
`
`
`
`
`
`
`
`mm,JgmhzauHaw
`43Jumpzaomz¢umu¢umm»zHkHz:um¢mmz<u
`
`
`
`
`cm,EH2:
`
`
`
`Jamezaooam:oȢ3oHum4m:4u
`
`
`
`:umm44ampzaoamoHzmu¢LmmpzHmm<m
`
`mz¢uch
`
`Page00002
`
`
`Page 00002
`
`
`

`
`QMU
`
`+Ln_C4;naD1
`
`May 27, 1997
`
`Sheet 2 of 2
`
`5,632,681
`
`m.o_.._
`
`pzaaom:¢muuz
`ezmzmmomnzoom
`
`mzm\»HxmDH
`
`mom
`
`
`
`mommz¢mLIopmg
`
`HZDDQ
`
`
`
`HDQZHz¢om
`
`mm»
`
`>oom
`
`nzm\»HxmDH
`
`mom
`
`mm»
`
`
`
`2mzHH:mmz>mmH::m
`
`
`
`
`
`wowuz::¢zmmmmahm
`
`
`
`Pzaaomz¢mL
`
`mzm\+Hxm
`
`mom
`
`~mmmH:amm
`
`cam
`
`z<muammmz¢oDH
`
`mzaH»um44ao
`
`Page00003
`
`
`Page 00003
`
`
`
`
`
`

`
`1
`UNIVERSAL ELECTRONIC VIDEO GAME
`RENTING/DISTRIBUTING SYSTEM
`
`TECHNICAL FIELD
`
`This invention relates to a video game cartridge for
`receiving video game programs from a remote server.
`
`DESCRIPTION OF THE PRIOR ART
`
`Today, there are many video games available for purchase
`or for rental at stores. Generally. there is no trial or test
`playing of the games in the stores, and there is no return on
`purchased games once the game package has been opened.
`Therefore, a person who is interested in any game has to buy
`it before playing it and thus may face the risk of not lildng
`the game later. There is no return or refund of the game since
`the package has been opened A person who rents a game
`from a store has to go through the usual VCR tape rental
`trouble of driving to the store, picking up the game and then
`later returning the game to the store.
`To make video game rental easier for the consumer, Sega
`has created the Sega Channel. In this service, via cable and
`using a cable adapter unit which is plugged into the Sega
`Genesis game machine. people can play games that are
`downloaded to the cable adapter. It requires the on-line Sega
`Channel connection as well as the special adapter while the
`game is being played.
`Down loading a software program to a personal computer
`over the modem connection exists today. Such software can
`come with a limited life where the life can be specified by
`expiration date. or time, or the number of times of the
`software usage. These schemes in limiting the software
`usage is not applicable to down loading Video games to
`cartridges which are plugged into existing video game base
`units because these game base units do not have timer device
`built in. Thus a new scheme for controlling the usage of the
`game is needed.
`The US. Pat No. 4,905,280 to J. D. Wiedemer, et al
`describes a method for real time down loading of broadcast
`programs for pay-per-view or for subscription.
`Descrambling of broadcast programs is done by codes on
`a replaceable memory module. which is delivered to a
`subscriber by the service provider. This patent is applicable
`to the “purchase” of software content or real-time service,
`but it is not applicable to limiting the life of rented software.
`U.S. Pat. No. 5,251,909 to Reed et al describes software
`renting or distributing schemes in which access is granted to
`a subscriber prior to the actual programs being transmitted.
`This patent describes an off-line process and is not appli-
`cable to delivering software for rental purposes.
`
`SUMMARY OF THE INVENTION
`
`It is an object of this invention to provide a portable Video
`game cartridge which can be plugged into a video game
`machine base unit, such as Nintendos, Sega Genesis” video
`game machine or Atari’s Jaguarm video game machine. The
`cartridge will allow a video game program to be used by
`receiving the video program over a telephone network or
`cable system.
`The current invention describes a way of distributing and
`controlling the usage of a video game program (or any
`software program) by using a “watchdog mechanism” and
`by limiting the “life” of a game by limiting the total number
`of graphic frames that a video machine can generate. It offers
`a simple and effective way of software renting and distri-
`bution where game machines have no timer.
`
`10
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,632,681
`
`2
`
`It is also an object of this invention to prevent piracy of
`video programs and programs in general by storing the
`frame count in a random location of the memory that is
`unknown to a potential pirate, especially if the count itself
`is encrypted. Since the count is part of the video game
`program or program execution path, the video game or
`program cannot be used without knowledge of the count.
`This invention is generally an apparatus and method for
`enabling a user to request and use a program where the user
`receives the program and a frame count indicating the
`number of frames of the program that the user is authorized
`to execute or use. This program and the frame count is then
`stored in a memory. When the user is actively providing
`input to the program, the frame count changes. The frame
`count will cease to change when the user is not providing
`input to the program. When the count reaches a predeter-
`mined limit, the user is prevented from continuing use of the
`program.
`This invention is a video game cartridge which can be
`plugged into a video game machine for enabling a user to
`receive and play a video game for a predetermined number
`of frames. The cartridge has a receiver for receiving the
`video program and for receiving a frame count indicating the
`number of video frames of the video game program that the
`user is authorized to play. The video program and frame
`count is then stored in a memory of the cartridge. The
`cartridge also has a counter which changes the frame count
`when the user is actively playing the video game program.
`When the user is not playing the video game program, the
`counter ceases to change its count. Finally when the counter
`reaches a predetermined limit, the user is prevented from
`further playing the video game program.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 schematically illustrates the major components of
`the video game cartridge along with a video game machine
`and a remote server.
`
`FIG. 2 is a functional diagram showing the functions of
`each of the major components of the video game cartridge.
`FIG. 3 schematically illustrates the flow chart for the
`watch “dog mechanism”.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENT
`
`FIG. 1 illustrates a sample diagram of a electronic game
`or program renting system setup. The dotted line encloses
`the portable and programmable game cartridge unit 100 that
`can be plugged into a video game machine base unit 102,
`such as Sega Genesis” video game machine, and remotely
`be connected to a video game server 101 via a modem
`connection. The connection to the remote video server can
`
`be through cable TV, or other telecommunication facilities.
`When a video game base unit 102 is powered on, a user
`could either play a game (or games) stored in the program-
`mable game cartridge 100 or place an order of a new game
`(either for rental or for purchase) to the game or program
`server 101. The cartridge 100 contains screen assistance
`(and voice assistance) to help place an order for a video
`game program to the server 101.
`FIG. 2 illustrates the components of the video game
`cartridge unit 100. It consists of modem 201, microcontrol-
`ler 202, flash memory 203 and an interface 204 to the video
`game base unit 102. The modem 201 performs the interface
`to the telephone or cable network. It can optionally perform
`decompression of received game or software if necessary.
`
`Page 00004
`
`
`Page 00004
`
`

`
`5,632,681
`
`3
`The received game is stored in flash memory 203. The game
`comes with its “life” which is indicated by the total number
`of graphic frames the video game machine 102 is authorized
`to generate when the game is actively played. For example.
`the game machine could render game graphics frame by
`frame at the rate of thirty flamers per second.
`After the number of graphic frames is exhausted. further
`playing of the game is prevented by the following mecha-
`nism. The flash memory 203 also stores a “watchdog mecha-
`nism” which keeps track of the remaining life of the game.
`An hourglass routine is embedded in the watchdog mecha-
`nism which is executed by microcontroller 202. This watch-
`dog mechanism updates and tracks down a specified register
`in the flash memory 203 with its location randomly deter-
`mined by the game server 101 in FIG. 1 during the down
`loading of the game.
`The use of expiration date or time for voiding the game is
`an obvious approach if the video game base unit 102 comes
`with a timer. Since this patent application assumes a game
`base unit 102 which has no timer (which is the case of many
`existing game machines). the “ ' e” of the rented game is
`determined by the total number of graphic flames that the
`base game unit can generate. This “life”, or frame count. is
`what a renter gets when a game is down loaded. It is stored
`into a location in the flash memory 203. The location into
`which the frame count is stored in the flash memory is
`determined randomly by the video server at the time of the
`game down loading. The video game can resume at any time
`when it is being turned on, provided there is available frame
`count stored in the designated random location. The micro-
`controller 202 can pick up the frame count and allow the
`renting period. and thus the game or software. to be con-
`tinued. As the rented game is being played, the frame count
`is decremented. When the user turns off the power. the
`hourglass routine in memory 203 will first store the remain-
`ing frame count to a random location in the non-volatile
`memory 203 and then shut down the game. The rental
`expires when there is no frame count remaining. The micro-
`controller 202 will not allow any portion of the game to be
`played by the game base unit 102 when the frame count
`reaches zero.
`
`FIG. 3 illustrates the watchdog mechanism embedded
`with the video game program execution path that contains
`the hourglass routine which serves as part of the watchdog
`mechanism which can expire the game. When the user starts
`the game. the flame count is first fetched (305) and checked
`(306). If the frame count reaches zero. the game is over even
`though the game unit still has its power on (306N). If the
`frame count is still greater than zero (306Y). the scanner
`continues to monitor the game player’s input in playing the
`video game (307). No active input (307) means the player is
`not playing the video game. and the scanner continues to
`monitor the player inputs from the key pad connected to the
`Video game. When there is no active input. the video game
`will not render any game graphic flames. Therefore. the
`game program execution path will fall through decisions 308
`and 309 and immediately return to continue scanning (307).
`When the game is not actively played and the player leaves
`the game machine’s power on. the game will be sitting idle
`without rendering any new graphic frames. The frame count
`will not be consumed until the player becomes active again
`in playing the game as detected by the scanner (307 and
`308).
`If the player’s input has been detected as active (307), a
`check is made to see if graphic rendering is required (309).
`Graphics rendering is required when the game program
`determines that the input signals from the key pad connected
`
`10
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`
`to the video game are valid signals. Ifrendering is required
`(309Y), the frame counter will be decremented (301). The
`hourglass routine (301 and 302) decrements the frame count
`and checks for any frame count left.
`If the count is valid (302Y). then the program flows back
`to (310) which is the game program main collections. and
`then at the same time. 302 Y‘ branches to check for power-
`off condition (303).
`If the user decides to power-oif the game. the watchdog
`mechanism will go through decision (303) and the shutdown
`routine (304) to store any remaining flame count in the flash
`memory. The shutdown routine stores the remaining frame
`count in the flash memory and exits the game. In summary
`flowchart components (301-306) and their associated flash
`memory form the “watchdog mechanism” that contains the
`hourglass routine (301 and 302) to keep track of the games
`“life” (remaining frame count). The watchdog mechanism
`also insures that the game can be resumed if there is still a
`valid frame count in the flash memory. Microcontroller
`(202) can also give advance warning when the rental is about
`to expire. Rental extension. if desired. can be downloaded
`again by the server (101) through a telephone or cable
`connection. Thus. server (101) in FIG. 1 has complete
`control over the game playing time. which should reflect the
`user’s request for renting the game.
`Although this embodiment was described in terms of a
`video game program in a cartridge. this invention can be
`extended to software programs in general. As long as the
`programs monitor user inputs, a scanner and watchdog
`mechanism can be implemented in similar fashion using a
`non-volatile memory.
`The watchdog mechanism can even be made more secure
`by encrypting the frame count. which is stored at a random
`location in the memory. Even if the would-be pirate
`stumbles across the count in the memory. he/she wouldn’t
`know what he/she found.
`
`Having thus described our invention. what we claim as
`new and desire to secure by Letters Patents is:
`1. An apparatus for enabling a user to request and use a
`program, said apparatus comprising:
`a. a receiver for receiving the program and a frame count
`indicating a number of frames of the program that is
`authorized for execution by the user;
`b. a memory for storing the program and the frame count
`received by the receiver; and
`c. a counter for changing the flame count when the user
`is actively providing input to the program. wherein the
`counter ceases to change the count when the user is not
`providing input to the program. and wherein the user is
`prevented flom continuing use of the program when the
`counter reaches a predetermined limit.
`2. An apparatus as recited in claim 1. further comprising:
`means for randomly determining an address in the
`memory in which the frame count
`is stored. and
`wherein the address is unknown to the user.
`3. A method of enabling a user to request and use a
`program. said method comprising:
`a. receiving the game program and a frame count indi-
`cating a number of frames of the program that is
`authorized for use by the user in response to a request;
`b. a memory for storing the program and the flame count;
`and
`
`c. changing the frame count when the user is actively
`using the program, wherein the flame count ceases to
`change when the user is not using the program and
`
`Page 00005
`
`
`Page 00005
`
`

`
`5,632,681
`
`5
`
`wherein the user is prevented from continuing use of
`the program when the counter reaches a predetermined
`limit.
`4. Amethod as recited in claim 3, wherein the frame count
`is stored in a randomly determined location in the memory.
`5. A video game carlridge which is plugged into, for
`operation with, a video game machine to enable a user to
`request and play a video game program which is received
`from a remotely located server, said video game cartridge
`comprising:
`a. a receiver for receiving from the server the video game
`program and a frame count indicating a number of
`frames of the video game program that is authorized for
`play by the user in response to a request;
`b. a memory for storing the video game program and the
`frame count received by the receiver; and
`c. a counter for changing the frame count when the user
`is actively playing the video game program. wherein
`the counter ceases to change the count when the user is
`not playing the video game program, and wherein the
`user is prevented from further playing the video game
`program when the counter reaches a predetermined
`limit. indicating that the user has played said video
`game for the number of frames.
`6. A video game cartridge as recited in claim 5, further
`comprising:
`means for randomly determining an address in the
`memory in which the frame count is stored.
`7. A video game cartridge as recited in claim 5, further
`comprising:
`a modem for transmitting to the server the request from
`the user to play a video game program.
`8. A video game cartridge. as recited in claim 5. wherein
`said memory is a non-volatile memory.
`9. A video game cartridge. as recited in claim 8, wherein
`the frame count indicated in the counter is stored in the
`
`memory when power for the video game machine is turned
`off.
`
`6
`10. A video game cartridge, as recited in claim 9, further
`comprising:
`a means for retrieving the frame count stored in the
`memory when power for said game machine is turned
`on.
`
`11. A video game cartridge which is plugged into, for
`operation with, a video game machine to enable a user to
`request and play a video game program which is received
`from a remotely located server, said video game cartridge
`comprising:
`a. a modem for transmitting from the user over a tele-
`phone or cable network a request to receive the video
`game from the server, and for receiving the video game
`program and frame count from the server over the
`telephone or cable network. the frame count indicating
`a predetermined number of frames of the video game
`program that is authorized for play by the user in
`response to the request;
`b. a non-Volatile memory for storing the video game
`program and the frame count;
`c. a counter for changing the frame count when the player
`is actively playing the video game;
`d. a means for storing the changed frame count of the
`counter in the memory when the power to the video
`game machine is turned off; and
`e. a means for retrieving the changed frame count stored
`in the memory when the player resumes playing the
`video game, wherein the user is prevented from further
`playing of the video game program when the frame
`count of the counter reaches a predetermined limit,
`indicating that the user has played said video game for
`the predetermined number of frames.
`
`10
`
`20
`
`25
`
`30
`
`35
`
`*
`
`*
`
`7%
`
`*
`
`*
`
`Page 00006
`
`
`Page 00006

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


Or .

Accessing this document will incur an additional charge of $.

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

Accept $ Charge
throbber

Still Working On It

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

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

throbber

A few More Minutes ... Still Working

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

Thank you for your continued patience.

This document could not be displayed.

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

Your account does not support viewing this document.

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

Your account does not support viewing this document.

Set your membership status to view this document.

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

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

Become a Member

One Moment Please

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

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

Your document is on its way!

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

Sealed Document

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

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


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket