Process verification

Amusement devices: games – Including means for processing electronic data – Data storage or retrieval

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

36, 36, C463S029000, C463S016000, C463S022000, C709S213000, C709S241000

Reexamination Certificate

active

06685567

ABSTRACT:

BACKGROUND OF THE INVENTION
This invention relates to gaming machines such as video slot machines and video poker machines. More particularly, the present invention relates to methods of verifying the authenticity of gaming software executed on a gaming machine.
Typically, utilizing a master gaming controller, a gaming machine controls various combinations of devices that allow a player to play a game on the gaming machine and also encourage game play on the gaming machine. For example, a game played on a gaming machine usually requires a player to input money or indicia of credit into the gaming machine, indicate a wager amount, and initiate a game play. These steps require the gaming machine to control input devices, including bill validators and coin acceptors, to accept money into the gaming machine and recognize user inputs from devices, including touch screens and button pads, to determine the wager amount and initiate game play. After game play has been initiated, the gaming machine determines a game outcome, presents the game outcome to the player and may dispense an award of some type depending on the outcome of the game.
As technology in the gaming industry progresses, the traditional mechanically driven reel slot machines are being replaced with electronic counterparts having CRT, LCD video displays or the like and gaming machines such as video slot machines and video poker machines are becoming increasingly popular. Part of the reason for their increased popularity is the nearly endless variety of games that can be implemented on gaming machines utilizing advanced electronic technology. In some cases, newer gaming machines are utilizing computing architectures developed for personal computers. These video/electronic gaming advancements enable the operation of more complex games, which would not otherwise be possible on mechanical-driven gaming machines and allow the capabilities of the gaming machine to evolve with advances in the personal computing industry.
To implement the gaming features described above on a gaming machine using computing architectures utilized in the personal computer industry, a number of requirements unique to the gaming industry must be considered. One such requirement is the regulation of gaming software. Typically, within a geographic area allowing gaming, i.e. a gaming jurisdiction, a governing entity is chartered with regulating the games played in the gaming jurisdiction to insure fairness and to prevent cheating. Thus, in many gaming jurisdictions, there are stringent regulatory restrictions for gaming machines requiring a time consuming approval process of new gaming software and any software modifications to gaming software used on a gaming machine.
In the past, to implement the play of a game on a gaming machine, a monolithic software architecture has been used. In a monolithic software architecture, a single gaming software executable is developed. The single executable may be burnt onto an EPROM and then submitted to various gaming jurisdictions for approval. After the gaming software is approved, a unique signature can be determined for the gaming software stored on the EPROM using a method such as a CRC. Then, when a gaming machine is shipped to a local jurisdiction, the gaming software signature on the EPROM can be compared with an approved gaming software signature prior to installation of the EPROM on the gaming machine. The comparison process is used to ensure that approved gaming software has been installed on the gaming machine.
A disadvantage of a monolithic programming architecture is that a single executable that works for many different applications can be quite large. For instance, gaming rules may vary from jurisdiction to jurisdiction. Thus, either a single custom executable can be developed for each jurisdiction or one large executable with additional logic can be developed that is valid in many jurisdictions. The customization process may be time consuming and inefficient. For instance, upgrading the gaming software may require developing new executables for each jurisdiction, submitting the executables for reapproval, and then replacing or reprogramming EPROMs in each gaming machine.
Typically, personal computers use an object oriented software architecture where different software objects may be dynamically linked together prior to execution or even during execution to create many different combinations of executables that perform different functions. Thus, for example, to account for differences in gaming rules between different gaming jurisdictions, gaming software objects appropriate to a particular gaming jurisdiction may be linked at run-time which is simpler than creating a single different executable for each jurisdiction. Also, object oriented software architectures simplify the process of upgrading software since a software object, which usually represents only a small portion of the software, may be upgraded rather than the entire software. However, a disadvantage of object oriented software architectures is that they are not very compatible with EPROMs, which are designed for static executables. Thus, the gaming software regulation process described above using EPROM's may not be applicable to a gaming machine employing an object orientated software approach.
Further, in the past, gaming jurisdictions have required that EPROM based software to “run in place” on the EPROM and not from RAM i.e. the software may not be loaded into RAM for execution. Typically, personal computers load executables from a mass storage device, such as a hard-drive, to RAM and then the software is executed from RAM. Running software from an EPROM limits the size of the executable since the storage available on an EPROM is usually much less than the storage available on a hard-drive. Also, this approach is not generally compatible with PC based devices that load software from a mass storage device to RAM for execution.
In view of the above, methods and apparatus for regulating and verifying gaming software stored in and executed from RAM using object oriented software architectures are needed for gaming machines using these architectures.
SUMMARY OF THE INVENTION
This invention addresses the needs indicated above by providing methods and apparatus for verifying the authenticity of gaming software stored in and executed from RAM on a gaming machine. When presenting a game on the gaming machine, a master gaming controller may dynamically load gaming software applications into RAM and dynamically unload gaming software applications from RAM. The authenticity of the gaming software applications temporarily stored in RAM may be verified by using methods to compare it with certified gaming software stored on one or more local or remote file storage devices accessible to the master gaming controller on the gaming machine. The verification process may be used to satisfy gaming regulatory entities within various gaming jurisdictions that require certified gaming software to be operating on the gaming machine at all times as well as to prevent tampering with the gaming machine.
One aspect of the present invention provides a method of verifying the authenticity of a first gaming software program temporarily stored in RAM of a gaming machine having a master gaming controller for executing the gaming software program. The method may be generally characterized as including: (a) identifying the first gaming software program as currently stored in the gaming machine RAM; (b) identifying a second gaming software program stored on a file storage device; (c) comparing at least a first portion of the second gaming software program with a first portion of the first gaming software program as currently stored in the gaming machine RAM, where the first portion of the gaming software program is a portion of the first gaming software program that does not change during execution of the first gaming software program.
In particular embodiments, the first portion of the first gaming software program may include at least a static header of the firs

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Process verification does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Process verification, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Process verification will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3298983

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.