Methods and devices for downloading games of chance

Information

  • Patent Grant
  • 8388448
  • Patent Number
    8,388,448
  • Date Filed
    Thursday, May 5, 2011
    13 years ago
  • Date Issued
    Tuesday, March 5, 2013
    11 years ago
Abstract
The present invention provides methods, devices and systems for downloading gaming software. According to some implementations of the invention, gaming software is continuously transmitted on a plurality of channels, e.g., by one or more servers. In some such implementations, each channel is dedicated to software for a different wagering game. In other implementations, gaming software components are transmitted on a plurality of channels, with each channel dedicated to a particular gaming software component. Some implementations provide gaming software in response to a request from a gaming machine. Implementations over dedicated and/or public networks are provided. Preferred implementations of the invention allow gaming software to be downloaded to gaming machines in a secure manner that automatically ensures that licensing and regulatory requirements are satisfied. Some such implementations determine whether payment is required for gaming software and provide for automated payment, if so required.
Description
BACKGROUND OF THE INVENTION

1. Field of the Invention


This invention relates to networked gaming machines such as slot machines and video poker machines. More particularly, the present invention relates to downloading games of chance to networked gaming machines.


2. Description of Related Art


Typically, utilizing a master gaming controller, the 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, such as bill validators and coin acceptors, to accept money into the gaming machine and recognize user inputs from devices, including key pads 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.


The operations described above may be carried out on the gaming machine when the gaming machine is operating as a “stand alone” unit or linked in a network of some type to a group of gaming machines. As technology in the gaming industry progresses, more and more gaming services are being provided to gaming machines via communication networks that link groups of gaming machines to a remote computer that provides one or more gaming services. As an example, gaming services that may be provided by a remote computer to a gaming machine via a communication network of some type include player tracking, accounting, cashless award ticketing, lottery, progressive games and bonus games.


Currently, in a time consuming process, gaming software is manually loaded onto each gaming machine by a technician. The software is manually loaded because the gaming software is usually very highly regulated and in most gaming jurisdictions only approved gaming software may be installed on a gaming machine. Further, the gaming software is manually loaded for security reasons to prevent the source code from being obtained by individuals who might use the source code to try to find ways of cheating the gaming machine.


Therefore, one desire within the gaming industry is to electronically download gaming software to a gaming machine. The capability to electronically download gaming software is desirable because it could enable gaming machines to be quickly reconfigured to account for changes in popularity of various games played on the gaming machines. Moreover, downloading gaming software could simplify software maintenance issues on the gaming machine, such as gaming software updates. Although some methods and devices have been proposed for downloading gaming software, it would be desirable to provide methods and devices for attaining higher levels of security and convenience. Such methods and devices would preferably provide automated measures for ensuring compliance with licensing and regulatory constraints.


SUMMARY OF THE INVENTION

The present invention provides methods, devices and systems for downloading gaming software. According to some implementations of the invention, gaming software is continuously transmitted on a plurality of channels, e.g., by one or more servers. In some such implementations, each channel is dedicated to software for a different wagering game. In other implementations, gaming software components are transmitted on a plurality of channels, with each channel dedicated to a particular gaming software component. Some implementations provide gaming software in response to a request from a gaming machine. Implementations over dedicated and/or public networks are provided. Preferred implementations of the invention allow gaming software to be downloaded to gaming machines in a secure manner that automatically ensures that licensing and regulatory requirements are satisfied. Some such implementations determine whether payment is required for gaming software and provide for automated payment, if so required.


Some implementations of the invention provide a method of downloading gaming software. The method includes these steps: determining that desired gaming software is available; selecting a channel corresponding to the desired gaming software; and downloading the desired gaming software on a selected channel. The channel may be, e.g., an electromagnetic frequency range, a separate physical link, a separate virtual link or a component of a multiplexed data stream. The desired gaming software may comprise software for a whole desired wagering game or a desired software component for a wagering game.


The method may include the step of authenticating a requestor of the desired gaming software, of determining whether a license is available for the desired gaming software and/or of determining whether the desired gaming software could legally be used in a jurisdiction where the desired gaming software will be received. The method may include the step of authorizing a payment for the desired gaming software.


The method may involve beginning a download of the desired gaming software at a first arbitrary frame and completing the download of the desired gaming software at a second arbitrary frame, wherein the first arbitrary frame and the second arbitrary frame are not the first and last frames of the desired gaming software. The method may also involve detecting the whole desired wagering game from a transmission of a plurality of whole wagering games, and/or of detecting the desired software component from a transmission of a plurality of software components.


However the invention provides alternative methods for downloading gaming software in a network of gaming machines. One such method includes these steps: detecting desired software from a continuous transmission of gaming software on a channel of a gaming network; beginning a download of the desired gaming software at a first arbitrary frame; and completing the download of the desired gaming software at a second arbitrary frame. The first arbitrary frame and the second arbitrary frame are not necessarily the first and last frames of the desired software. The channel may be, for example, an electromagnetic frequency range, a separate physical link, a separate virtual link or a component of a multiplexed data stream.


The desired gaming software may comprise all components of a wagering game or a software component for a wagering game.


Another method of the invention provides software in a network of gaming machines. The method includes assigning a channel to each of a plurality of gaming software types and transmitting a gaming software type on each of a plurality of assigned channels. The gaming software type may comprise all components of a wagering game or a software component for a wagering game. The software component could be, for example, a device driver for a for a device installed on a gaming machine. The method may involve encrypting each of the gaming software types prior to the transmitting step.


The method may involve receiving a gaming software transaction request from a first device and authenticating an identity of the first gaming device, wherein the receiving and authenticating steps are performed prior to the transmitting step. The first device may be, for example, a gaming machine, a game server, a host device or a portable computing device. The gaming software transaction request may include access information and gaming software identification information. The access information may include, for example, operator identification information for the first gaming device, machine identification information for the first gaming device, operator identification information for the second gaming device and/or machine identification information for the second gaming device.


The method may involve determining whether a license is available for the desired gaming software and/or whether the desired gaming software could legally be used in a jurisdiction where the desired gaming software will be received, prior to the transmitting step.


All of the foregoing methods, along with other methods of the present invention, may be implemented by software, firmware and/or hardware. For example, the methods of the present invention may be implemented by computer programs embodied in machine-readable media. Some aspects of the invention can be implemented by network devices or portions thereof, such as individual blades of a blade server, and other aspects of the invention may be implemented by gaming machines.


Some embodiments of the invention provide a first gaming device configured for playing wagering games of chance. The first gaming device includes at least one network interface allowing communications between the first gaming device and a network on a plurality of channels and at least one memory device. The first gaming device also includes at least one logic device configured to do the following: prepare a request for the transfer of wagering game software from a second gaming device to the first gaming device; send the request to a software authorization agent via the network interface; and receive from the software authorization agent via the network interface a reply approving or rejecting the request for the transfer of the wagering game software. The wagering game software may be for (a) a game of chance played on a gaming machine, (b) a bonus game of chance played on a gaming machine, (c) a device driver for a for a device installed on a gaming machine, (d) a player tracking service on a gaming machine and/or (e) an operating system installed on a gaming machine.


The logic device may be further configured to do the following after receiving a reply accepting the request for the transfer of the wagering game software: select a channel for transfer of the wagering game software; download the wagering game software from the second gaming device via the selected channel; and store the wagering game software in the memory device. The logic device may be further configured to prepare and send a communication to the second gaming device indicating whether the wagering game software was successfully downloaded.


The request may include access information and wagering game software identification information. The access information may include, for example, operator identification information for the first gaming device, machine identification information for the first gaming device, operator identification information for the second gaming device and/or machine identification information for the second gaming device. The wagering game software identification information may include a gaming software title, a gaming software provider identifier, a gaming software version number and/or a gaming software identification number.


Gaming networks are also provided by the present invention. One such gaming network includes at least one server for providing wagering game software on a continuous transmission of wagering game software on at least one channel of the gaming network and a plurality of gaming machines for wagering games of chance. Each of the plurality of gaming machines is configured for communication with the gaming network. Moreover, each of the plurality of gaming machines is configured to do the following: detect desired wagering game software from a continuous transmission of wagering game software on a channel of the gaming network; begin a download of the desired wagering game software at a first arbitrary frame; and complete the download of the desired wagering game software at a second arbitrary frame.


The first arbitrary frame and the second arbitrary frame are not necessarily the first and last frames of the desired wagering game software. The desired wagering game software may include software for a whole desired wagering game or a desired software component for a wagering game. The gaming machines are also configured for accepting a wager for a desired wagering game and for presenting the desired wagering game.


These and other features of the present invention will be presented in more detail in the following detailed description of the invention and the associated figures.





BRIEF DESCRIPTION OF THE DRAWINGS

The invention may best be understood by reference to the following description taken in conjunction with the accompanying drawings, which are illustrative of specific implementations of the present invention.



FIG. 1 is a flow chart that outlines one method according to the present invention.



FIG. 2 is a flow chart that outlines an alternative method according to the present invention.



FIG. 3 is a flow chart that outlines another method according to the present invention.



FIG. 4 is a flow chart that outlines yet another method according to the present invention.



FIG. 5 is a block diagram that illustrates a gaming device and a portion of a gaming network that may be used to implement various embodiments of the present invention.



FIG. 5A depicts a gaming machine that may be configured according to some implementations of the present invention.



FIG. 6 is a block diagram depicting gaming machines distributed in different establishments.



FIG. 7 is a block diagram of a gaming software distribution network.



FIG. 8 is a network device that may be configured according to some implementations of the present invention.





DESCRIPTION OF THE PREFERRED EMBODIMENTS

Reference will now be made in detail to some specific embodiments of the invention including the best modes contemplated by the inventors for carrying out the invention. Examples of these specific embodiments are illustrated in the accompanying drawings. While the invention is described in conjunction with these specific embodiments, it will be understood that it is not intended to limit the invention to the described embodiments. On the contrary, it is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims. Moreover, numerous specific details are set forth below in order to provide a thorough understanding of the present invention. The present invention may be practiced without some or all of these specific details. In other instances, well known process operations have not been described in detail in order not to obscure the present invention.


The present invention provides novel method and devices for managing gaming machine networks, e.g., for the secure and convenient downloading of gaming software. Although the current description primarily describes networked gaming machines, some implementations of the invention apply equally to similar types of machines, such as video lottery terminals and similar devices that are used primarily to display a game outcome.


According to some implementations of the invention, gaming software is regularly transmitted (and in some implementations, continuously transmitted) on a plurality of channels, e.g., by one or more servers. As used herein, the term “channel” and the like will be broadly construed. In general, a “channel” will mean a communication path and/or a set of properties that distinguishes the communication path. For example, a channel could refer to a specific bandwidth or frequency range of the electromagnetic spectrum. A channel could also be a physical communication path. A channel could refer to a portion of a communication (e.g., a portion of a multiplexed communication) on a physical communication path. A channel could also refer to all or a portion of a virtual communication path, such as a virtual local area network (“VLAN”).


Some implementations of the invention involve assigning gaming software to a plurality of channels. In some such implementations, each of a plurality of channels is allocated to software for a different wagering game. Other implementations apportion the channels in different ways, e.g., according to the capabilities of the gaming machine, available licenses and/or jurisdictional requirements. For example, some implementations of the invention apportion Class II games and Class III games to different channels.


Alternative implementations will have software for more than one wagering game on a channel. In some such implementations, multiple games having a common characteristic may be allocated to a particular channel.


In other implementations, gaming software components are transmitted on a plurality of channels, with each channel dedicated to a particular gaming software component. For example, some implementations of the invention provide a separate channel for graphics, another for one or more peripheral devices, etc. Some implementations provide for transmission of gaming software on one or more “internationalization” channels, which provide software for customizing a wagering game according to the language, the currency, etc., of the country in which the wagering game will be played.


In some such implementations, textual statements as well as date/time, numbers, and currency are displayed on a game using the language of the player's country. To display textual statements, the software may have a binary value for each statement that it displays. When it is time to display a statement, the software uses the binary value to locate the statement in a data file, load the statement from the data file into memory and display the statement. To display date/time (including calendar), numeric, and currency information, the software may have a binary value that indicates which format to use when displaying data. When it is time to display the data, the software uses the binary value to locate the formatting instructions in a data file (typically the same data file that contains all the textual statements), load the instructions into memory, format the data for display according to the instructions, and display the resulting text. The data file, or its contents, can be considered as a “software component” and downloaded as such, for example as shown and described herein with reference to steps 201, 205, 210, 220, 225, 230, and 235 of FIG. 2.


Although many implementations of the invention provide for gaming software to be transmitted regularly whether or not gaming software has been requested (“push mode”), some implementations of the invention provide gaming software in response to a request (“pull mode”), e.g., from a gaming machine, from an operator, from a host device, etc. Whether operating in push or pull mode, either case, preferred implementations of the invention require that a recipient of gaming software be authenticated. Moreover, some implementations of the invention allow gaming software to be transferred in a manner that satisfies game licensing requirements and/or regulatory requirements of the gaming jurisdiction where the gaming machine is located.



FIG. 1 is a flow chart that outlines the broad features of one method 100 according to the present invention. The steps of method 100 can be performed, for example, by a game server according to instructions from an operator, instructions in a software program, etc. Those of skill in the art will appreciate that the steps of the methods shown and described herein, including but not limited to method 100, need not be performed (and in some implementations are not performed) in the order indicated. Moreover, some implementations of these methods may include more or fewer steps than those indicated herein.


In method 100, a channel is assigned to software for each of a plurality of wagering games. The channel will be assigned according to the types of channels available on the network. For example, if only one physical communication path will be available for downloading game software, the channel could be assigned by allocating a portion of a multiplexed data transmission on the physical communication path. In such embodiments, there is an implied step of muliplexing data for transmission on the communication path that is not shown in FIG. 1. According to method 100, software components for a whole wagering game (e.g., all of the software components necessary for the game) are allocated to each assigned channel.


In step 101, a channel is assigned to software for a particular wagering game. In step 103, the channel/game association is recorded in some convenient format, e.g., in a data structure such as a look-up table. In step 105, it is determined whether there is software for another game. If so, it is determined whether there is a channel available for transmission of the game software. (Step 110). If a channel is available, that channel is assigned to the game (step 115) and the table/database is updated. (Step 103). This assignment process continues until all games that will be transmitted are assigned to a channel and then the game software is repeatedly transmitted on its respective channel. (Step 130.)


In some implementations of method 100, only one game is transmitted on a particular channel. However, if the number of available games exceeds the number of available channels, a game will be assigned to a channel used for another game. (Step 125.) The software for each game on the channel may be distinguished from other games according to information encoded in a header or other field, according to a known position in a sequence of games, etc. For example, software for N wagering games could be transmitted on the same channel in a repetitive fashion, e.g., games 1 through N, 1 through N and so on. A game's position in the sequence of 1 through N could be used to determine the identity of the game.


In alternative implementations, software for more than one game is normally transmitted on the same channel. In some such implementations, multiple games having a common characteristic may be allocated to a particular channel. For example, one channel may be allocated to Class III poker games, another channel may be allocated to Class II games having poker-like attributes, another channel may be allocated to games having a particular theme (e.g., a Star Wars or “space” theme), another channel may be allocated to software for the most popular wagering games, etc.


However, in the current example, each channel has been allocated to software for a particular wagering game. Accordingly, in step 130, the software for each wagering game is transmitted on its respective channel. The software is transmitted repetitively, and in some implementations is transmitted continuously, until a change occurs. For example, if an updated version of a game is received for transmission (as determined in step 135) by the game server, an operator, etc., the software transmission for that game will be updated. (Step 140).


In implementations wherein software for a single game is transmitted on each channel, step 140 will involve replacing the older version of the gaming software with the newer version of the gaming software on that channel. For alternative implementations wherein software for more than one game is transmitted on the channel, the newer version of the gaming software will be added to the data stream/sequence on that channel, preferably in the position of the data stream/sequence that had been occupied by the older version of the gaming software. When an update is made or a new game is transmitted, a record is made of this event. (Step 103).


As will now be described with reference to FIG. 2, some implementations of the invention involve allocating software for one or more components of wagering games to a plurality of channels. The steps of method 200 can be performed, for example, by a game server according to instructions from an operator, instructions in a software program, etc.


In step 201, a channel is assigned to each of a plurality of software component types. Preferably, there is a logical connection between the software components that are assigned to a given channel. For example, one channel may be assigned to graphics, another to paytables, another to peripheral devices, etc. In step 203, table entries are made according to the software components assigned to each channel and in step 205, the software components are repeatedly transmitted on each channel.


In step 210, it is determined whether there is an update for any software component. If so, the software component is updated (step 215) and a record is made of the update (step 203).


Similarly, in step 220 it is determined whether a new software component is received for transmission. If a new component has been received, it is determined whether a channel is has already been assigned for the type of component that has been received. (Step 225.) If such a channel has already been assigned, the new software component will be assigned to that channel. (Step 235.) For example, if the new software component is graphics software and a graphics channel has already been established, the new software component will be assigned to the existing graphics channel (step 235) and the table/database will be updated (step 203).


If no channel has yet been assigned for the type of the new component, it is determined in step 227 whether there is a channel available for the new component type. If there is another channel available, the new software component will be assigned to the available channel. (Step 230.) If no more channels as available, the new software component will be assigned to an existing channel (step 235). In either case, the table/database will be updated to indicate the channel on which the new software component will be transmitted. (Step 203).


Some implementations of the present invention provide methods for accessing and downloading transmissions of game software, including game component software. Some aspects of these methods may be performed by a gaming machine or by another device, e.g., a PDA or a networked host device, under the control of software and/or an operator. Other aspects of these methods may be performed by another gaming device that functions as a software authorization agent. In some implementations, a game server can also function as a software authorization agent, but in preferred implementations a third device acts as the software authorization agent.


Method 300 is outlined in the flow chart depicted in FIG. 3. In step 301, a channel is selected for a desired wagering game or type of wagering game. In some implementations of the invention (e.g., within a secure and dedicated gaming network), no additional payment will be required and no authentication and/or authorization steps will be required. However, even within a secure network it is preferable, at the least, to authenticate a requestor of a game download.


For example, a software authorization agent may need to authenticate a requestor and approve access to game software transmissions before any downloading can take place. The approval process may be based not only upon the outcome of an authentication process but also upon an evaluation of pertinent licensing data, gaming regulatory requirements, etc. Optional step 305 may include various authentication, authorization and payment procedures that are described in the “Game Downloading Applications.” Some relevant methods and devices are described below with reference to FIG. 5 et seq.


As noted above, in some implementations of the invention, software for more than one game will be transmitted on the same channel. Therefore, some corresponding implementations of the invention involve detecting a desired game within a transmission sequence on a selected channel. Some implementations of the invention perform step 310 by inspecting header information or the like of data transmitted on the selected channel. Other implementations of the invention perform step 310 by selecting desired gaming software from a known sequence of games that are transmitted on the selected channel. For example, if software for N wagering games is transmitted on the same channel in a repetitive fashion, e.g., games 1 through N, 1 through N and so on, a game's known position in the sequence of 1 through N may be used to detect the desired game software. Information for performing step 310 may be stored, for example, in step 103 of method 100. Such information may be transmitted to the gaming machine, e.g., after successful completion of the aforementioned authentication, authorization and payment steps.


Step 315 involves the receipt of the desired gaming software on the selected channel. In step 320, it is determined whether the download is completed; if not, the downloading process continues (step 315) until normal completion and then the process ends. As will be appreciated by those of skill in the art, the download should be re-attempted if the software is received with errors, e.g., as determined by a checksum process. If the download is missing a frame and/or if one or more frames have an error, then a successful download may be attempted during the next download cycle.


If software for only one game is being transmitted on the selected channel, the downloading process may begin at any arbitrary part (e.g., any packet, frame, etc.) of the transmission. For example, if the receiving device has received information indicating the size (e.g., in bytes) of the game software to be downloaded, it may simply begin downloading the first received part of the transmission and continue until the known number of bytes has been received. Alternatively (or additionally, as a check), the receiving device may wait until the beginning of the desired software is received, download the gaming software from start to finish, and then stop.


As illustrated in FIG. 4, method 400 of the invention provides for the downloading of gaming software components. In step 401, a channel for a desired type of gaming software component is selected. For example, an operator may desire to upgrade the peripheral software for a particular game to the latest version. The operator could select a channel assigned to the transmission of peripheral code, e.g., by operating a portable computing device that is in communication with a gaming machine via a network. As described above with reference to step 305 of method 300, optional step 405 may involve authentication, authorization and/or payment.


Generally speaking (although not in all implementations), software components for more than one type of wagering game (e.g., peripheral software for more than one game) will be transmitted on each channel. Accordingly, the receiving device (here, a gaming machine), detects the desired gaming software component from a sequence of multiple gaming software components. (Step 410.) The software component is downloaded until it is determined that the download is complete (step 420), at which time the process ends.


According to some implementations of the invention, games and/or components are downloaded repeatedly and continuously. However, it is important that downloads should not saturate the network's bandwidth. Therefore, some implementations of the invention provide some form of flow-control functionality.


For example, some such implementations interleave download-specific frames with other frames transmitted over the network. One such implementation uses a variable interleave ratio such that only N % (e.g., a value in the range of 1% to 10%) of the bandwidth is apportioned to download frames when the network is busy while M % (e.g., a value in the range of 25% to 90%) is apportioned to download frames when the network is lightly loaded. It will be appreciated that other values of N and/or M may be used.


Another such implementation uses a priority scheme where each frame type is given a priority. In some such implementations, download frames could be assigned a relatively low priority. If download frames are given a low priority and network traffic is light, then download frames will consequently occupy most of the available bandwidth until network traffic increases. Conversely, if network traffic is heavy, download frames will comprise a relatively lower percent of network traffic. Some flow control implementations are “hybrid” versions of the foregoing examples, e.g., wherein download frames are assigned a relatively low priority, but still have a minimum guaranteed bandwidth.



FIG. 5 is a simplified block diagram depicting, inter alia, gaming machines within gaming establishment 501. The gaming machines are connected with a dedicated communication network via a host server and a data collection unit (“DCU”) according to one embodiment of the invention. According to some embodiments of the invention, the DCU is an enhanced DCU as described in U.S. patent application Ser. No. 10/187,059, entitled “Redundant Gaming Network Mediation,” which is hereby incorporated by reference in its entirety.


In FIG. 5, gaming machine 502, and the other gaming machines 530, 532, 534, and 536, include a main cabinet 506 and a top box 504. The main cabinet 506 houses the main gaming elements and can also house peripheral systems, such as those that utilize dedicated gaming networks. The top box 504 may also be used to house these peripheral systems.


The master gaming controller 508 controls the game play on the gaming machine 502 and receives or sends data to various input/output devices 511 on the gaming machine 502. The master gaming controller 508 may also communicate with a display 510.


A particular gaming entity may desire to provide network gaming services that provide some operational advantage. Thus, dedicated networks may connect gaming machines to host servers that track the performance of gaming machines under the control of the entity, such as for accounting management, electronic fund transfers (EFTs), cashless ticketing, such as EZPay™, marketing management, and data tracking, such as player tracking. Therefore, master gaming controller 508 may also communicate with EFT system 512, bonus system 514, EZPay™ system 516 (a proprietary cashless ticketing system of the present assignee), and player tracking system 520. The systems of the gaming machine 502 communicate the data onto the network 522 via a communication board 518.


In some implementations, the dedicated communication network is not accessible to the public. Due to the sensitive nature of much of the information on the dedicated networks, for example, electronic fund transfers and player tracking data, usually the manufacturer of a host system, such as a player tracking system, or group of host systems, employs a particular networking language having proprietary protocols. For instance, 10-20 different companies produce player tracking host systems where each host system may use different protocols. These proprietary protocols are usually considered highly confidential and not released publicly. Thus, whenever a new host system is introduced for use with a gaming machine, rather than trying to interpret all the different protocols utilized by different manufacturers, the new host system is typically designed as a separate network. Consequently, as more host systems are introduced, the independent network structures continue to build up in the casino. Examples of protocol mediation to address these issues may be found, for example, in U.S. Pat. No. 6,682,423, “Open Architecture Communications in a Gaming Network,” which is hereby incorporated by reference in its entirety.


Further, in the gaming industry, many different manufacturers make gaming machines. The communication protocols on the gaming machine are typically hard-coded into the gaming machine software, and each gaming machine manufacturer may utilize a different proprietary communication protocol. A gaming machine manufacturer may also produce host systems, in which case their gaming machines are compatible with their own host systems. However, in a heterogeneous gaming environment, such as a casino, gaming machines from many different manufacturers, each with their own communication protocol, may be connected to host systems from many different manufacturers, each with their own communication protocol. Therefore, communication compatibility issues regarding the protocols used by the gaming machines in the system and protocols used by the host systems must be considered.


In the present illustration, the gaming machines, 502, 530, 532, 534, and 536 are connected to a gaming network 522. In general, the DCU 524 functions as an intermediary between the different gaming machines on the network 522 and the host server 528. In general, the DCU 524 receives data transmitted from the gaming machines and sends the data to the host server 528 over a transmission path 526. In some instances, when the hardware interface used by the gaming machine is not compatible with the host server 528, a translator 525 may be used to convert serial data from the DCU 524 to a format accepted by the host server 528. The translator may provide this conversion service to a plurality of DCUs, such as 524, 540 and 541.


Further, in some dedicated gaming networks, the DCU 524 can receive data transmitted from the host server 528 for communication to the gaming machines on the gaming network. The received data may be communicated synchronously to the gaming machines on the gaming network. Within a gaming establishment, the gaming machines 502, 530, 532, 534 and 536 are located on the gaming floor for player access while the host server 528 is usually located in another part of gaming establishment 501 (e.g. the backroom), or at another location.


In a gaming network, gaming machines, such as 502, 530, 532, 534 and 536, may be connected through multiple communication paths to a number of gaming devices that provide gaming services. For example, gaming machine 502 is connected to four communication paths, 522, 548, 549 and 550. As described above, communication path 522 allows the gaming machine 502 to send information to host server 528.


Via communication path 548, the gaming machine 502 is connected to a clerk validation terminal 542. The clerk validation terminal 542 is connected to a translator 543 and a cashless system server 544 that are used to provide cashless gaming services to the gaming machine 502. In this implementation, other gaming machines in gaming establishment 501, including gaming machines 530, 532, 534 and 536, are also connected to clerk validation terminal 542 and also receive cashless system services. Moreover, in this implementation, cashless system server 544 is in communication with a network, which may include connectivity to gaming establishments other than gaming establishment 501. Accordingly, cashless system server 544 may provide cashless system services to gaming machines located in other gaming establishments.


Via communication path 549, the gaming machine 502 is connected to a wide area progressive (WAP) device 546. The WAP is connected to a progressive system server 547 that may be used to provide progressive gaming services to gaming machines in and, in this example, to gaming establishments other than gaming establishment 501. The progressive game services enabled by the progressive game network increase the game playing capabilities of a particular gaming machine by enabling a larger jackpot than would be possible if the gaming machine was operating in a “stand alone” mode. Playing a game on a participating gaming machine gives a player a chance to win the progressive jackpot. The potential size of the jackpot increases as the number of gaming machines connected in the progressive network is increased. The size of the jackpot tends to increase game play on gaming machines offering a progressive jackpot.


Gaming machines 530, 532, 534 and 536 are connected to WAP device 546 and progressive system server 547. Other gaming machines may also be connected to WAP device 546 and/or progressive system server 547, as will be described below with reference to FIG. 2. Via communication path 550, the gaming machine 502 may be connected with additional gaming devices (not shown) that provide other gaming services.


In some embodiments of the present invention, gaming machines and other devices in the gaming establishment depicted in FIG. 5 are connected to a central system and/or other gaming establishments via one or more networks, which may be public or private networks. In this example, host server 528, progressive system server 547 and cashless system server are connected to an outside network. In other embodiments, a bingo server, a switch, or another type of network device may be part of an interface with an outside network. In some embodiments, a single network device links a gaming establishment with another gaming establishment and/or a central system. Such a network device will sometimes be referred to herein as a “site controller.”


Turning to FIG. 5A, more details of gaming machine 502 are described. Machine 502 includes a main cabinet 4, which generally surrounds the machine interior (not shown) and is viewable by users. The main cabinet 4 includes a main door 8 on the front of the machine, which opens to provide access to the interior of the machine. Attached to the main door are player-input switches or buttons 32, a coin acceptor 28, and a bill validator 30, a coin tray 38, and a belly glass 40. Viewable through the main door is a video display monitor 34 and an information panel 36. The display monitor 34 will typically be a cathode ray tube, high resolution flat-panel LCD, or other conventional electronically controlled video monitor. The information panel 36 may be a back-lit, silk screened glass panel with lettering to indicate general game information including, for example, the number of coins played. The bill validator 30, player-input switches 32, video display monitor 34, and information panel are devices used to play a game on the gaming machine 502. The devices are controlled by circuitry housed inside the main cabinet 4 of the machine 502.


The gaming machine 502 includes a top box 6, which sits on top of the main cabinet 4. The top box 6 houses a number of devices, which may be used to add features to a game being played on the gaming machine 502, including speakers 10, 12, 14, a ticket printer 18 which may print bar-coded tickets 20 used as cashless instruments. The player tracking unit mounted within the top box 6 includes a key pad 22 for entering player tracking information, a florescent display 16 for displaying player tracking information, a card reader 24 for entering a magnetic striped card containing player tracking information, a microphone 43 for inputting voice data, a speaker 42 for projecting sounds and a light panel 44 to display various light patterns used to convey gaming information. In other embodiments, the player tracking unit and associated player tracking interface devices, such as 16, 22, 24, 42, 43 and 44, may be mounted within the main cabinet 4 of the gaming machine, on top of the gaming machine, or on the side of the main cabinet of the gaming machine.


Understand that gaming machine 502 is but one example from a wide range of gaming machine designs on which the present invention may be implemented. For example, not all suitable gaming machines have top boxes or player tracking features. Further, some gaming machines have two or more game displays—mechanical and/or video—and, some gaming machines are designed for bar tables and have displays that face upwards. Still further, some machines may be designed entirely for cashless systems. Such machines may not include such features as bill validators, coin acceptors and coin trays. Instead, they may have only ticket readers, card readers and ticket dispensers. Those of skill in the art will understand that the present can be deployed on most gaming machines now available or hereafter developed.


Some preferred gaming machines of the present assignee are implemented with special features and/or additional circuitry that differentiates them from general-purpose computers (e.g., desktop PC's and laptops). Gaming machines are highly regulated to ensure fairness and, in many cases, gaming machines are operable to dispense monetary awards of multiple millions of dollars. Therefore, to satisfy security and regulatory requirements in a gaming environment, hardware and software architectures may be implemented in gaming machines that differ significantly from those of general-purpose computers. A description of gaming machines relative to general-purpose computing machines and some examples of the additional (or different) components and features found in gaming machines are described below.


At first glance, one might think that adapting PC technologies to the gaming industry would be a simple proposition because both PCs and gaming machines employ microprocessors that control a variety of devices. However, because of such reasons as 1) the regulatory requirements that are placed upon gaming machines, 2) the harsh environment in which gaming machines operate, 3) security requirements and 4) fault tolerance requirements, adapting PC technologies to a gaming machine can be quite difficult. Further, techniques and methods for solving a problem in the PC industry, such as device compatibility and connectivity issues, might not be adequate in the gaming environment. For instance, a fault or a weakness tolerated in a PC, such as security holes in software or frequent crashes, may not be tolerated in a gaming machine because in a gaming machine these faults can lead to a direct loss of funds from the gaming machine, such as stolen cash or loss of revenue when the gaming machine is not operating properly.


For the purposes of illustration, a few differences between PC systems and gaming systems will be described. A first difference between gaming machines and common PC based computers systems is that gaming machines are designed to be state-based systems. In a state-based system, the system stores and maintains its current state in a non-volatile memory, such that, in the event of a power failure or other malfunction the gaming machine will return to its current state when the power is restored. For instance, if a player was shown an award for a game of chance and, before the award could be provided to the player the power failed, the gaming machine, upon the restoration of power, would return to the state where the award is indicated. As anyone who has used a PC, knows, PCs are not state machines and a majority of data is usually lost when a malfunction occurs. This requirement affects the software and hardware design on a gaming machine.


A second important difference between gaming machines and common PC based computer systems is that for regulation purposes, the software on the gaming machine used to generate the game of chance and operate the gaming machine has been designed to be static and monolithic to prevent cheating by the operator of gaming machine. For instance, one solution that has been employed in the gaming industry to prevent cheating and satisfy regulatory requirements has been to manufacture a gaming machine that can use a proprietary processor running instructions to generate the game of chance from an EPROM or other form of non-volatile memory. The coding instructions on the EPROM are static (non-changeable) and must be approved by a gaming regulators in a particular jurisdiction and installed in the presence of a person representing the gaming jurisdiction. Any changes to any part of the software required to generate the game of chance, such as adding a new device driver used by the master gaming controller to operate a device during generation of the game of chance can require a new EPROM to be burnt, approved by the gaming jurisdiction and reinstalled on the gaming machine in the presence of a gaming regulator. Regardless of whether the EPROM solution is used, to gain approval in most gaming jurisdictions, a gaming machine must demonstrate sufficient safeguards that prevent an operator or player of a gaming machine from manipulating hardware and software in a manner that gives them an unfair and some cases an illegal advantage. The gaming machine should have a means to determine if the code it will execute is valid. If the code is not valid, the gaming machine must have a means to prevent the code from being executed. The code validation requirements in the gaming industry affect both hardware and software designs on gaming machines.


A third important difference between gaming machines and common PC based computer systems is the number and kinds of peripheral devices used on a gaming machine are not as great as on PC based computer systems. Traditionally, in the gaming industry, gaming machines have been relatively simple in the sense that the number of peripheral devices and the number of functions the gaming machine has been limited. Further, in operation, the functionality of gaming machines were relatively constant once the gaming machine was deployed, i.e., new peripherals devices and new gaming software were infrequently added to the gaming machine. This differs from a PC where users will go out and buy different combinations of devices and software from different manufacturers and connect them to a PC to suit their needs depending on a desired application. Therefore, the types of devices connected to a PC may vary greatly from user to user depending in their individual requirements and may vary significantly over time.


Although the variety of devices available for a PC may be greater than on a gaming machine, gaming machines still have unique device requirements that differ from a PC, such as device security requirements not usually addressed by PCs. For instance, monetary devices, such as coin dispensers, bill validators and ticket printers and computing devices that are used to govern the input and output of cash to a gaming machine have security requirements that are not typically addressed in PCs. Therefore, many PC techniques and methods developed to facilitate device connectivity and device compatibility do not address the emphasis placed on security in the gaming industry.


To address some of the issues described above, a number of hardware/software components and architectures are utilized in gaming machines that are not typically found in general purpose computing devices, such as PCs. These hardware/software components and architectures, as described below in more detail, include but are not limited to watchdog timers, voltage monitoring systems, state-based software architecture and supporting hardware, specialized communication interfaces, security monitoring and trusted memory.


A watchdog timer is normally used in IGT gaming machines to provide a software failure detection mechanism. In a normally operating system, the operating software periodically accesses control registers in the watchdog timer subsystem to “re-trigger” the watchdog. Should the operating software fail to access the control registers within a preset timeframe, the watchdog timer will timeout and generate a system reset. Typical watchdog timer circuits contain a loadable timeout counter register to allow the operating software to set the timeout interval within a certain range of time. A differentiating feature of the some preferred circuits is that the operating software cannot completely disable the function of the watchdog timer. In other words, the watchdog timer always functions from the time power is applied to the board.


IGT gaming computer platforms preferably use several power supply voltages to operate portions of the computer circuitry. These can be generated in a central power supply or locally on the computer board. If any of these voltages falls out of the tolerance limits of the circuitry they power, unpredictable operation of the computer may result. Though most modern general-purpose computers include voltage monitoring circuitry, these types of circuits only report voltage status to the operating software. Out of tolerance voltages can cause software malfunction, creating a potential uncontrolled condition in the gaming computer. Gaming machines of the present assignee typically have power supplies with tighter voltage margins than that required by the operating circuitry. In addition, the voltage monitoring circuitry implemented in IGT gaming computers typically has two thresholds of control. The first threshold generates a software event that can be detected by the operating software and an error condition generated. This threshold is triggered when a power supply voltage falls out of the tolerance range of the power supply, but is still within the operating range of the circuitry. The second threshold is set when a power supply voltage falls out of the operating tolerance of the circuitry. In this case, the circuitry generates a reset, halting operation of the computer.


The standard method of operation for IGT slot machine game software is to use a state machine. Each function of the game (bet, play, result, etc.) is defined as a state. When a game moves from one state to another, critical data regarding the game software is stored in a custom non-volatile memory subsystem. In addition, game history information regarding previous games played, amounts wagered, and so forth also should be stored in a non-volatile memory device. This feature allows the game to recover operation to the current state of play in the event of a malfunction, loss of power, etc. This is critical to ensure the player's wager and credits are preserved. Typically, battery backed RAM devices are used to preserve this critical data. These memory devices are not used in typical general-purpose computers.


IGT gaming computers normally contain additional interfaces, including serial interfaces, to connect to specific subsystems internal and external to the slot machine. The serial devices may have electrical interface requirements that differ from the “standard” EIA RS232 serial interfaces provided by general-purpose computers. These interfaces may include EIA RS485, EIA RS422, Fiber Optic Serial, optically coupled serial interfaces, current loop style serial interfaces, etc. In addition, to conserve serial interfaces internally in the slot machine, serial devices may be connected in a shared, daisy-chain fashion where multiple peripheral devices are connected to a single serial channel.


IGT gaming machines may alternatively be treated as peripheral devices to a casino communication controller and connected in a shared daisy chain fashion to a single serial interface. In both cases, the peripheral devices are preferably assigned device addresses. If so, the serial controller circuitry must implement a method to generate or detect unique device addresses. General-purpose computer serial ports are not able to do this.


Security monitoring circuits detect intrusion into an IGT gaming machine by monitoring security switches attached to access doors in the slot machine cabinet. Preferably, access violations result in suspension of game play and can trigger additional security operations to preserve the current state of game play. These circuits also function when power is off by use of a battery backup. In power-off operation, these circuits continue to monitor the access doors of the slot machine. When power is restored, the gaming machine can determine whether any security violations occurred while power was off, e.g., via software for reading status registers. This can trigger event log entries and further data authentication operations by the slot machine software.


Trusted memory devices are preferably included in an IGT gaming machine computer to ensure the authenticity of the software that may be stored on less secure memory subsystems, such as mass storage devices. Trusted memory devices and controlling circuitry are typically designed to not allow modification of the code and data stored in the memory device while the memory device is installed in the slot machine. The code and data stored in these devices may include authentication algorithms, random number generators, authentication keys, operating system kernels, etc. The purpose of these trusted memory devices is to provide gaming regulatory authorities a root trusted authority within the computing environment of the slot machine that can be tracked and verified as original. This may be accomplished via removal of the trusted memory device from the slot machine computer and verification of the secure memory device contents is a separate third party verification device. Once the trusted memory device is verified as authentic, and based on the approval of the verification algorithms contained in the trusted device, the gaming machine is allowed to verify the authenticity of additional code and data that may be located in the gaming computer assembly, such as code and data stored on hard disk drives.


Mass storage devices used in a general purpose computer typically allow code and data to be read from and written to the mass storage device. In a gaming machine environment, modification of the gaming code stored on a mass storage device is strictly controlled and would only be allowed under specific maintenance type events with electronic and physical enablers required. Though this level of security could be provided by software, IGT gaming computers that include mass storage devices preferably include hardware level mass storage data protection circuitry that operates at the circuit level to monitor attempts to modify data on the mass storage device and will generate both software and hardware error triggers should a data modification be attempted without the proper electronic and physical enablers being present.


Returning to the example of FIG. 5A, when a user wishes to play the gaming machine 502, he or she inserts cash through the coin acceptor 28 or bill validator 30. In addition, the player may use a cashless instrument of some type to register credits on the gaming machine 502. For example, the bill validator 30 may accept a printed ticket voucher, including 20, as an indicium of credit. As another example, the card reader 24 may accept a debit card or a smart card containing cash or credit information that may be used to register credits on the gaming machine.


During the course of a game, a player may be required to make a number of decisions, which affect the outcome of the game. For example, a player may vary his or her wager on a particular game, select a prize for a particular game, or make game decisions regarding gaming criteria that affect the outcome of a particular game. The player may make these choices using the player-input switches 32, the video display screen 34 or using some other device which enables a player to input information into the gaming machine.


During certain game functions and events, the gaming machine 502 may display visual and auditory effects that can be perceived by the player. These effects add to the excitement of a game, which makes a player more likely to continue playing. Auditory effects include various sounds that are projected by the speakers 10, 12, 14. Visual effects include flashing lights, strobing lights or other patterns displayed from lights on the gaming machine 502, from lights behind the belly glass 40 or the light panel on the player tracking unit 44.


After the player has completed a game, the player may receive award credits, game tokens from the coin tray 38 or the ticket 20 from the printer 18, which may be used for further games or to redeem a prize. Further, the player may receive a ticket 20 for food, merchandise, or games from the printer 18. The type of ticket 20 may be related to past game playing recorded by the player tracking software within the gaming machine 502. In some embodiments, these tickets may be used by a game player to obtain game services.



FIG. 6 is a block diagram depicting gaming machines distributed in different establishments connected using a secure virtual network. Using the secure virtual network, network gaming services, data acquisition and data access may be provided to a large number of gaming machines distributed throughout a gaming entity 650 from a central location such as the central office 142. These services may be provided to gaming machines that have traditionally operated in a “stand alone” mode such as gaming machine 636 and 138 in the store 140. In FIG. 6, some of the communication infrastructure necessary to implement a secure virtual network for one embodiment of the present invention are described.


In one embodiment, the secured virtual network may be an IP based Virtual Private Networks (VPNs). An Internet-based virtual private network (VPN) uses the open, distributed infrastructure of the Internet to transmit data between corporate sites. A VPN may emulate a private IP network over public or shared infrastructures. A VPN that supports only IP traffic is called an IP-VPN. Virtual Private Networks provide advantages to both the service provider and its customers. For its customers, a VPN can extend the IP capabilities of a corporate site to remote offices and/or users with intranet, extranet, and dial-up services. This connectivity may be achieved at a lower cost to the gaming entity with savings in capital equipment, operations, and services. Details of VPN methods that may be used with the present invention are described in the reference, “Virtual Private Networks-Technologies and Solutions,” by R. Yueh and T. Strayer, Addison-Wesley, 2001, ISBN#0-201-70209-6, which is incorporated herein by reference and for all purposes.


There are many ways in which IP VPN services may be implemented, such as, for example, Virtual Leased Lines, Virtual Private Routed Networks, Virtual Private Dial Networks, Virtual Private LAN Segments, etc. Additionally VPNs may be implemented using a variety of protocols, such as, for example, IP Security (IPSec) Protocol, Layer 2 Tunneling Protocol, Multiprotocol Label Switching (MPLS) Protocol, etc. Details of these protocols including RFC reports may be found from the VPN Consortium, an industry trade group (http://www.vpnc.com, VPNC, Santa Cruz, Calif.).


In FIG. 6, a number of embodiments of IP VPN services are implemented to allow connectivity between the various gaming machines and database servers in the gaming entity. For instance, the gaming machine 636 in the store 140 may directly communicate with the database server 124 in the central office 142 via the internet 604. The communication path between the gaming machine 636 and the database server 124 may be the local ISP 614, a number of routers on the Internet 604, a local ISP 613 accessed by the central office 142, the router 602 and the firewall 600. The firewall may be hardware, software or combinations of both that prevent illegal access of the gaming machine by an outside entity connected to the gaming machine. For instance, an illegal access may be an attempt to plant a program in the database server that alters the operation of the database server or allows someone to steal data. The internal firewall is designed to prevent someone such as a hacker from gaining illegal access to the gaming machine and tampering with it in some manner. Firewalls and routers used in FIG. 6 may be provided by Cisco Systems (San Jose, Calif.).


The network interface between the gaming machine 636 and the local ISP may be a wireline interface, such as a wired Ethernet connection, a wired ATM connection, or a wired frame relay connection, or a wireless interface, such as a wireless cellular interface. For instance, the gaming machine 636 may include a wireless modem and an antenna that allows the gaming machine to connect with the local ISP 614. As another example, the gaming machine may contain a dial-in modem, a DSL modem or a cable modem that allows that gaming machine 636 to connect with the local ISP 614 via a coaxial cable or phone line 637. The gaming machine 636 may also contain an internal firewall to prevent illegal access to the gaming machine. Other gaming machines, such as 638 and 640, located at various locations throughout the gaming entity 650 may also include the hardware described above and transmit information via a local ISP, such as 615 and 620, and the Internet 604, to a remote server such as the database server 124 in the central office 142.


Using the network interface, the gaming machine 636 may send game performance data, game usage information and gaming machine status information or any other information of interest generated on the gaming machine from one or more gaming transactions to the database server 124 located in the central office or some other remote server. Using this method, the need to manually gather data from the gaming machine using a route operator may be eliminated, which may reduce gaming machine operating costs and may provide better tracking of the performance of gaming machines, such as 636, that have traditionally operated in a “stand alone” mode.


For security purposes, any information transmitted from the gaming machine 636 over a public network to a remote server may be encrypted. The encryption may be performed by the master gaming controller or by another logic device located on the gaming machine. In one embodiment, the information from the gaming machine may be symmetrically encrypted using a symmetric encryption key where the symmetric encryption key is asymmetrically encrypted using a private key. The public key may be obtained by the gaming machine 636 from a remote public key server. The encryption algorithm may reside in processor logic stored on the gaming machine. When a remote server receives a message containing the encrypted data, the symmetric encryption key is decrypted with a private key residing on the remote server and the symmetrically encrypted information sent from the gaming machine is decrypted using the symmetric encryption key. In addition, a different symmetric encryption key is used for each transaction where the key is randomly generated. Symmetric encryption and decryption is applied to most of the information because symmetric encryption algorithms tend to be 100-10,000 faster than asymmetric encryption algorithms.


Information needed to apply the encryption algorithm such as private keys and public keys may be stored on a memory residing in the gaming machine 636 where the memory may be a flash memory, an EPROM, a non-volatile memory, a ROM, a RAM, a CD, a DVD, a tape drive, a hard drive or other memory storage device. Typically, the public keys are stored on a writeable media such as a hard drive while the private keys are stored on a read only memory such as an EPROM or a CD-ROM. The same or a different memory residing on the gaming machine 636 may also include information used to authenticate communications between the gaming machine 636 and a remote server, such as 124. For instance, a serial number or some other identification numbers may be used by the firewall 600 or the database server 124 to authenticate the sender of a message.


The encrypted communications from the gaming machine 636 to a remote server may be implemented using a TCP/IP communication protocol. Thus, the encrypted information from the gaming machine may be encapsulated in multiple information packets and sent to the IP address and/or an unique ID (UID) of a remote server. The gaming machine 636 may contain a memory storing a number of IP addresses and/or unique IDs (UIDs) of remote servers or other devices where the gaming machine may send information. Prior to sending a message, the gaming machine may look up the IP address and/or the UID of the remote server or destination device.


For each information packet, the gaming machine may generate one or more signatures and may append them to the information packet. The signature may allow the recipient of the packet to unambiguously identify the sender of the packet as well as to determine if the correct amount of data was received. For instance, the signature may include a checksum of the data that was sent. Further, the information packet may contain routing information allowing subsequent communication with the gaming machine, such as an IP address and/or an UID of the gaming machine. General details of these types of processes, such as TCP/IP implementation and data authentication, are described in the text “Mobile IP Unplugged” by J. Solomon, Prentice Hall and the text “Computer Networks”, A. S. Tanenbaum, Prentice Hall. Both of these references are incorporated herein by reference in their entireties and for all purposes.


Using the communication infrastructure and methods described above a gaming machine or other device connected to a remote server may request one or more gaming services from a remote server. For instance, a gaming machine may send a game license request to the remote server 124. A gaming machine may store code to play one or more games controlled by the master gaming controller such as a video slot game, a mechanical slot game, a lottery game, a video poker game, a video black jack game, a video lottery game, and a video pachinko game. Traditionally, installing a new game has involved manually exchanging (e.g., by hand) an EPROM (e.g. a read-only memory) containing the game on the gaming machine. Using the communication infrastructure described above, the gaming machine 636 may request a game license for one or more games stored in the gaming machine from a remote server acting as a game license server such as 124. The game license server may send a game license reply message containing a game license which allows the gaming machine to present the one or more games stored on the gaming machine. These game license requests may be performed prior to each game or the license may allow game play for some finite time period. For instance, the game license may be an annual license, a monthly license, a daily license, a per-use license or a site license. Details of the game license request and reply process between a gaming machine and a remote server are described with reference to FIGS. 6 and 7.


In another example, the gaming machine 636 may send a maintenance request message to a remote server when the gaming machine malfunctions. After receiving the maintenance request message, the remote server may perform one or more remote diagnostics on the gaming machine 636 via one or more diagnostic request messages. The remote diagnostics may include both software and hardware diagnostics. In addition, the remote server may develop service priority list based upon a plurality of maintenance requests received from a group of gaming machines in communication with the remote server. In yet another example, a remote server may obtain software version information or gaming configuration information, from gaming machine 636, by sending a software version request message or a gaming configuration request message to the machine. Information contained in these messages may be used to provide software updates and gaming configuration updates to the gaming machine 636.


In a further example, the gaming machine 636 may generate a digital signature or some other type of unique identification information and may send a digital signature verification request or an identification verification request to a remote server. The verification request may be part of an electronic fund transfer. After receiving authorization from the remote server in an authorization reply, the gaming machine 636 may send a fund transfer request with fund transfer information to the remote server and may receive a fund transfer reply authorizing the gaming transaction.


A remote server may also provide performance reports or other services for the gaming machine 636. For instance, the gaming machine 636 may send a report request message to the remote server 124 requesting a performance report for the gaming machine over some prior time period. After remote server generates the report, it may be sent back to the gaming machine 636 or some other access point for display. For instance, the report may be displayed on a display screen of the gaming machine 636, a computer 616 located in the store 140 or on a portable network access point 134 located outside of the store.


An advantage of the virtual network described above is that it allows gaming services such as data acquisition, game licensing and report generation to be provided a single gaming machine without the use of a dedicated network which are typically expensive. This advantage may potentially increase the utility of a gaming machine while reducing the costs associated with operating and maintaining a machine. In particular, for gaming establishments with a small number of gaming machines operating in a “stand alone” mode, a virtual network may be the only viable way to provide cost effective gaming services via a network. The virtual network is enabled by an encryption scheme which utilizes multiple key encryption and symmetric encryption keys to provide secure communication of sensitive gaming data. For each session, the symmetric encryption keys may be randomly generated or may be rotated by selecting from a pool of keys.


The methods described above may be applied and may be advantageous to any gaming machine in the gaming entity 650. Also, many different embodiments of the methods are possible. For instance, using a wireless network interface, gaming machine 638 in Casino 110 may send game license requests or other requests to the database server via the router 608, the dedicated line 622, router 602 and the firewall 600. As another example, using a wireline network interface, such as a wired Ethernet connection, a wired ATM connection or a wired frame relay connection, gaming machine 640 in casino 122 may send may send a gaming report request to the database server 100 in casino 110 via the database server 112, the firewall 610, the router 612, the local ISP 620, the internet 604, the local ISP 615, the router 608 and the firewall 606. When a dedicated communication network is used, encryption may be optional over the dedicated network, e.g. if a dedicated network was used between the gaming machine 640 and the database server 112, the gaming machine 640 may not use encryption to send information to the database server 112. However, the database server would apply an encryption scheme such as the one described above before sending out information over a public network. Returning to the example, the database server 100 may serve as a regional report server. After generating a gaming report reply message to the gaming report request message from gaming machine 640, the database server 100 may send a message to the database server 124 in the central office 142 acknowledging that a report was generated.


The virtual network may also allow remote access to gaming information such as gaming performance information at various gaming establishments in the gaming entity from mobile access points. For example, the remote access point 134 may be a portable computer with a wireless modem. Typically, the remote access point 134 will have a high level of security such as special access software. Using the remote access point 134, a user such as a travelling employee of the game entity may access gaming information at casino 110 or casino 122 via the local ISP 614. The access may be routed through the central office 142 or may be routed directly to one of the casinos bypassing the central office. In addition, different access privileges may be accorded to different remote users. For instance, one remote user may be able to access information from any establishment in the gaming entity while another may only be able to access information from a particular establishment.



FIG. 7 is a block diagram of gaming software distribution network that uses a secure virtual network. In the present invention, gaming software may be transferred between various gaming devices, in a gaming software distribution network 90, after receiving authorization from a gaming software authorization agent 50. The gaming software authorization agent 50 may be a conventional data server including but not limited to a database 202, a router 206, a network interface 208, a CPU 204, a memory 205 and a firewall (not shown). The CPU 204 executes software to provide the functions of the authorization agent 50 as will be described below in more detail. In general, the gaming software authorization agent 50 approves all gaming software transactions between two gaming devices in the gaming software distribution network and stores a record of the gaming software transactions. In this example, gaming software authorization agent is located in a different location from content providers, distributors and recipient gaming machines, but in other implementations one or more of these may be located in the same location. Database 202 may be used, for example, to store gaming software transaction records.


In the gaming industry, gaming software that is used to play a game of chance on a gaming machine is typically highly regulated to ensure fair play and prevent cheating. Thus, at any given time, it is important for a gaming regulatory entity to know what gaming software is installed on a gaming machine at any particular time. Currently, gaming software is often programmed into an EEPROM and installed on a gaming machine. When the EEPROM is installed in the gaming machine, it is manually checked by a representative of the gaming regulatory board prior to installation to ensure approved gaming software is being installed on the gaming machine. This process is time consuming and relatively inflexible.


In the gaming industry, there is a desire to simplify the gaming software installation process so that gaming machine operators may more easily reconfigure gaming machines with different gaming software to respond to shifting customer tastes and demands. The gaming software authorization agent 50 meets this need by allowing gaming software to be electronically transferred between gaming devices, such as game servers and gaming machines, in a manner that may be easily monitored and regulated. For instance, the software authorization agent 50 may be maintained or supervised by a gaming regulatory agency. However, the software authorization agent 50 may also be maintained by a gaming entity that controls many gaming properties to track software distributions on various gaming machines. In addition, besides monitoring electronic transfers of gaming software, the software authorization agent 50 may also be used to store a record of any change of gaming software on a gaming machine such as changes resulting from a manual installation of gaming software. For instance, a technician may manually load gaming software on to a gaming machine using a portable memory device storing the gaming software.


Details of gaming devices and the network connections in the gaming software distribution network are now described. In the present invention, gaming software may be transferred between gaming software providers, such as 51 and 52, gaming software distributors, such as 53 and 60, and gaming machines, such as 54, 55, 56, 57, 58 and 59. A gaming software provider may be a gaming device, such as a game server, that is maintained by a gaming software developer, such as IGT (Reno, Nev.), that develops gaming software for various gaming platforms. A gaming software content provider, such as 51 and 52, may maintain a plurality of gaming software titles, versions of gaming software titles and gaming software components that may be requested by another gaming device for an electronic download. The gaming software content provider may download gaming software to various customers after the customer has entered a licensing agreement with the content provider. Some details of obtaining game licenses for operating gaming software on a gaming machine are described in the Game Downloading Applications with respect to FIGS. 6 and 7.


A set of gaming software components may be executed on a gaming machine to play a gaming of chance. The game of chance may include gaming software components used to play a bonus game in conjunction with the game of chance. Thus, a complete set of gaming software components used to play a game of chance may be downloaded or a portion of the gaming software components needed to play a game the game of chance may be downloaded. For instance, a complete package of gaming software components may be downloaded to replace a game executed on a gaming machine with a new game.


As another example, a single game software component may be downloaded to fix an error in a game of chance executed on the gaming machine. In yet another example, a set of gaming software components may be downloaded to install a new graphical “feel” for the game of chance while other gaming software components for the game are not changed. In the present invention, any gaming device that stores gaming software for downloads may download a complete set of the gaming software components used to play the game of chance or portions of a complete set of the gaming software components. Some examples of gaming software components may include but are not limited to: 1) a banking modules for coin-in, coin-out, credits cards, fund transfers, 2) security modules for tracking security events such as door open, lost power, lost communication, 3) bet modules for handling betting configurations such as a number of paylines, a number of coins per line and denominations, 4) communication modules allowing a gaming device to communicate with other gaming devices using different communication protocols and 5) an operating system modules used in an operating system installed on the gaming machine. Details of some of the gaming software components that may be downloaded in the present invention are described in co-pending U.S. application Ser. No. 10/040,239, by LeMay et al., filed on Jan. 3, 2002 and titled “Game Development Architecture That Decouples The Game Logic From The Graphics Logic,” which is incorporated herein in its entirety and for all purposes.


Gaming software related to other aspects of game play and operation of a gaming machine may also be authorized and downloaded using the methods and hardware of the present invention. For instance, device drivers used to operate a particular gaming device may be downloaded from a content provider or another gaming device. As another example, gaming software used to provide player tracking services and accounting services may be downloaded from a content provider or another gaming device. Even when the gaming software is not regulated by a gaming entity, it may be useful to perform the authorization process because the transaction records may be used to track the distribution of the gaming software on various gaming devices. The transaction records may be helpful to both providers of gaming software and operators of gaming devices in determining necessary upgrades and maintenance of gaming software on a gaming device such as a gaming machine.


A gaming software distributor, such as 53 and 60, may maintain a plurality of gaming software titles, versions of gaming software titles and gaming software components that may be transferred to another gaming device, such as a gaming device, for an electronic download. The gaming software distributors, such as 53 and 60, may be gaming devices, such as game servers, that are maintained by a gaming entity such as a casino. For instance, game server 53 may be operated by a first casino and game server 60 may be operated by a second casino. The game servers may store gaming software that has been licensed to the gaming entity from one or more gaming software providers such as 51 and 52. In one embodiment, a game server may also be a gaming machine. One example of a game server that may be used with the present invention is described in co-pending U.S. patent application Ser. No. 09/042,192, filed on Jun. 16, 2000, entitled “Using a Gaming Machine as a Server” which is incorporated herein in its entirety and for all purposes.


The game servers operated by a gaming entity may be used to provide gaming software to a plurality of gaming machines. For instance, game server 53 may be used to provide gaming software to gaming machine 54, 55, 56 and game server 60 may be used to provide gaming software to gaming machines 57, 58 and 59. In one embodiment, the game servers may be programmed to download gaming software in response to a software request on a gaming machine. For instance, a game player playing a game on a gaming machine, such as 55, may request to play a particular game of chance on the gaming machine 55, which is downloaded to the gaming machine from the game server 53. In another embodiment, the game servers, such as 53 and 60, may be used to update and reconfigure the gaming software on one or more gaming machines. For instance, the game server 53, may be used to regularly change the games of chance or bonus games of chance available for play on gaming machines 54, 55 and 56.


In the present invention, gaming software transferred between two gaming devices and communications between two gaming devices may use a variety of network architectures including but not limited to local area networks, wide area networks, private networks, a virtual private network, the Internet 304 and combinations thereof. Details of methods of using the Internet 304 in a secure manner are described in the Game Download Applications with respect to FIGS. 3, 4, 5A and 5B.


In one embodiment, gaming software and other gaming information may be transferred between two gaming devices using a satellite connection. For instance, the gaming information transferred via satellite may include but is not limited to metering information generated on the gaming machine. In a gaming device using a satellite communication system, the gaming device is connected to a satellite dish. For instance, a gaming machine located in a store or a cruise ship may use a satellite connection. Two standard coaxial cables may connect the gaming device to the satellite dish. The gaming device, such as a gaming machine, may include a satellite modem to enable the satellite connection.


The satellite dish may send requests to the Internet 304 and receive Internet content via the satellite 72. The satellite 72, in turn, may communicate with a hub facility 70, which has a direct connection with the Internet 304. Typically, the transfer rate of information from the gaming device, such as gaming machine 59, to the satellite 72 (uplink rate) is less than the transfer of rate of information from the satellite 72 to the gaming device (downlink rate). For example, the uplink rate may be 28 Kilobytes per second while the downlink rate may be 500 kilobytes per second or higher. However, for software downloads, a high downlink rate may only be required for efficient gaming software downloads. Satellite Internet services may be provided by a company such as Starband Corporation (Mclean, Va.).


In another embodiment, gaming software and other gaming information may be transferred between two gaming devices using an RF connection. The gaming information transferred via the RF connection may include but is not limited metering information generated on the gaming machine. As one example, US Telemetry corporation (UTSC, Dallas, Tex.), uses radio frequency transmissions in the 218-222 MHz band to provide communications services to fixed end point devices as well as mobile devices. The fixed end point device may be a gaming machine located in a store or located in a casino, such as gaming machine 54, as well as a mobile gaming device such as a gaming machine located in a riverboat or portable gaming device that may be carried by a player and used to play a game of chance.


The RF network in a metropolitan service area may include cell transceiver sites or towers, such as 84 and 86, a system hub or master cell transceiver site, such as 82. The MCTS 82 is connected to a Network Operations Center (NOC) 80, which is essentially a data clearinghouse. Data is transferred from a CTS, such as 84 and 86, to a Master CTS (MCTS) 82 through a Publicly Switched Telephone Network. Data is transferred from the MCTS 82 to the NOC 80 database via an ATM or a Frame Relay. Data transfer protocol and user access to various end-point devices may be provided through web interfaces. Thus, using an RF network and the secured virtual network methods as described elsewhere, gaming information as well as gaming software may be transferred between various gaming devices. For instance, a remote casino accounting office 142 may obtain information from gaming devices connected to the RF network via the Internet 304.


Records of authorizations for the transfer of gaming software between gaming devices may be stored in the database 202. Thus, given an initial distribution of gaming software in the gaming software distribution network 90 for each gaming device, the gaming software authorization records may be used to track the gaming software distribution for gaming devices in the gaming distribution network as a function time. This tracking capability may be useful for various gaming entities such as a gaming regulatory board, a gaming software content provider and gaming operators. For instance, a gaming regulatory board may be able to see the gaming software installed on all gaming devices it regulates at any given time using the database 202. As another example, a gaming software content provider, such as 51 and 52, may be able to view gaming software requests for their gaming software products as a function of time. In yet another example, a remote casino accounting office 142 may be view the distribution of its gaming software on the gaming machine under its control.


The database 202 may be partitioned and include various security protocols to limit access of the data in transaction database according to various criteria. For instance, a gaming software provider 51 may be able to view records only of gaming software transactions involving their products but not of a competitors products. As another example, a gaming entity may be able to view records of gaming software transactions involving gaming machine that they operate but not view gaming software transactions for gaming machines that another competitor controls.



FIG. 8 illustrates an example of a network device that may be configured to implement some methods of the present invention. Network device 860 includes a master central processing unit (CPU) 862, interfaces 868, and a bus 867 (e.g., a PCI bus). Generally, interfaces 868 include ports 869 appropriate for communication with the appropriate media. In some embodiments, one or more of interfaces 868 includes at least one independent processor and, in some instances, volatile RAM. The independent processors may be, for example ASICs or any other appropriate processors. According to some such embodiments, these independent processors perform at least some of the functions of the logic described herein. In some embodiments, one or more of interfaces 868 control such communications-intensive tasks as media control and management. By providing separate processors for the communications-intensive tasks, interfaces 868 allow the master microprocessor 862 efficiently to perform other functions such as routing computations, network diagnostics, security functions, etc.


The interfaces 868 are typically provided as interface cards (sometimes referred to as “linecards”). Generally, interfaces 868 control the sending and receiving of data packets over the network and sometimes support other peripherals used with the network device 860. Among the interfaces that may be provided are FC interfaces, Ethernet interfaces, frame relay interfaces, cable interfaces, DSL interfaces, token ring interfaces, and the like. In addition, various very high-speed interfaces may be provided, such as fast Ethernet interfaces, Gigabit Ethernet interfaces, ATM interfaces, HSSI interfaces, POS interfaces, FDDI interfaces, ASI interfaces, DHEI interfaces and the like.


When acting under the control of appropriate software or firmware, in some implementations of the invention CPU 862 may be responsible for implementing specific functions associated with the functions of a desired network device. According to some embodiments, CPU 862 accomplishes all these functions under the control of software including an operating system and any appropriate applications software.


CPU 862 may include one or more processors 863 such as a processor from the Motorola family of microprocessors or the MIPS family of microprocessors. In an alternative embodiment, processor 863 is a specially designed hardware for controlling the operations of network device 860. In a specific embodiment, a memory 861 (such as non-volatile RAM and/or ROM) also forms part of CPU 862. However, there are many different ways in which memory could be coupled to the system. Memory block 861 may be used for a variety of purposes such as, for example, caching and/or storing data, programming instructions, etc.


Regardless of network device's configuration, it may employ one or more memories or memory modules (such as, for example, memory block 865) configured to store data, program instructions for the general-purpose network operations and/or other information relating to the functionality of the techniques described herein. The program instructions may control the operation of an operating system and/or one or more applications, for example.


Because such information and program instructions may be employed to implement the systems/methods described herein, the present invention relates to machine-readable media that include program instructions, state information, etc., for performing various operations described herein. Examples of machine-readable media include, but are not limited to, magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory devices (ROM) and random access memory (RAM). The invention may also be embodied in a carrier wave traveling over an appropriate medium such as airwaves, optical lines, electric lines, etc. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter.


Although the system shown in FIG. 8 illustrates one specific network device of the present invention, it is by no means the only network device architecture on which the present invention can be implemented. For example, an architecture having a single processor that handles communications as well as routing computations, etc., is often used. Further, other types of interfaces and media could also be used with the network device. The communication path between interfaces may be bus based (as shown in FIG. 8) or switch fabric based (such as a cross-bar).


The above-described devices and materials will be familiar to those of skill in the computer hardware and software arts. Although many of the components and processes are described above in the singular for convenience, it will be appreciated by one of skill in the art that multiple components and repeated processes can also be used to practice the techniques of the present invention. Conversely, the steps in some processes and/or components in some embodiments may be combined within the scope of the present invention. For example, some steps described herein as being performed by a game server or by a gaming machine could be performed by one or more other networked devices.



FIGS. 16-20 and the corresponding description of co-pending application Ser. No. 11/078,966, entitled “SECURED VIRTUAL NETWORK IN A GAMING ENVIRONMENT” and filed Mar. 10, 2005 describe embodiments of a system for providing downloads of game software, game licensing services and game software tracking/auditing software. These figures and description, which have been incorporated herein for all purposes, describe some implementations that may be used in accordance with the present invention.


Although the foregoing invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced within the scope of the appended claims. For example, some methods of the invention involve downloading games according to recent popularity and/or demand for the game, even when there has been no specific request to download the software for the game. In some such implementations, game downloads can be based upon a list, table, etc, that indicates the popularity of wagering games. The list could be based, for example, on local, regional, national or global usage of a particular game. The list could apply to a predetermined time period and could be updated at certain times or as data become available.

Claims
  • 1. A method of downloading gaming software, the method comprising: repeatedly transmitting, by a server, a gaming software block one or more times on a channel, wherein the gaming software block includes gaming software for a corresponding wagering game and is bounded by a first frame and a last frame, wherein the transmitting is performed independent of whether a request for the transmission is received by the server from a gaming machine;beginning, by the gaming machine, a download of the gaming software block from the channel at an arbitrary frame within the gaming software block during a first transmission of the gaming software block during the transmitting; andcompleting, by the gaming machine, the download of the gaming software block from the channel at a second frame within the gaming software block during a subsequent repeat transmission of the gaming software block during the transmitting, wherein the arbitrary frame and the second frame are not the first and last frames, respectively, and wherein the portion of the gaming software block between the arbitrary frame and the last frame, inclusive of the arbitrary frame and the last frame, and the portion of the gaming software block between the first frame and the second frame, inclusive of the first frame and the second frame, include all frames comprising the gaming software block.
  • 2. The method of claim 1, wherein the gaming software block is a whole desired wagering game.
  • 3. The method of claim 1, wherein the gaming software block is a desired software component for the wagering game.
  • 4. The method of claim 1, further comprising the step of authenticating a requestor of the gaming software block.
  • 5. The method of claim 1, further comprising the step of determining whether a license is available for the gaming software block.
  • 6. The method of claim 1, further comprising the step of determining that it is legal to use the gaming software block in a jurisdiction where the gaming software block will be received.
  • 7. The method of claim 1, wherein the second frame is determined based on the arbitrary frame and the size of the gaming software block in bytes.
  • 8. The method of claim 1, wherein the selected channel is one of an electromagnetic frequency range, a separate physical link, a separate virtual link or a component of a multiplexed data stream.
  • 9. The method of claim 1, further comprising the step of authorizing a payment for the desired gaming software.
  • 10. The method of claim 2, further comprising the step of detecting the identity of the whole desired wagering game prior to beginning the download.
  • 11. The method of claim 3, further comprising the step of detecting the identity of the desired software component prior to beginning the download.
  • 12. The method of claim 1, wherein frames of the gaming software block are interleaved with frames of other data for transmission over the channel, wherein the repeatedly transmitting the gaming software block comprises repeatedly transmitting the frames of the gaming software block.
  • 13. The method of claim 12, wherein the frames are assigned a download priority and a degree of interleaving is determined based on the download priority.
  • 14. The method of claim 3, wherein the gaming software component comprises internationalization components which provide software for customizing the wagering game according to the language or currency in which the wagering game will be played.
  • 15. A gaming server, the gaming server comprising: one or more processors;a memory; anda communications interface configured to communicate with a gaming network,the one or more processors, the memory, and the communications interface configured to repeatedly transmit a first gaming software block for a first wagering game over a first channel on the gaming network,the first gaming software block bounded by a first frame and a last frame, andthe first gaming software block configured to allow a gaming machine to initiate a download of the first gaming software block at a first arbitrary frame within the first gaming software block and to allow the gaming machine to complete the download of the first gaming software block at a second frame within the first gaming software block during a subsequent repeat transmission of the first gaming software block, wherein the first arbitrary frame and second frame within the first gaming software block are not the first frame and the last frame of the first gaming software block, respectively.
  • 16. The gaming server of claim 15, wherein the one or more processors, the memory, and the communications interface are further configured to transmit a second gaming software block for a second wagering game over a second channel on the gaming network, the second gaming software block bounded by a first frame and a last frame, andthe second gaming software block configured to allow a gaming machine to initiate a download of the second gaming software block at a first arbitrary frame within the second gaming software block and to allow the gaming machine to complete the download of the second gaming software block at a second frame within the second gaming software block during a subsequent repeat transmission of the second gaming software block, wherein the first arbitrary frame and second frame within the second gaming software block are not the first frame and the last frame of the second gaming software block, respectively.
  • 17. The gaming server of claim 15, wherein the first gaming software block comprises all components of a first wagering game.
  • 18. The gaming server of claim 15, wherein the first gaming software block consists of a software component for a first wagering game.
  • 19. The gaming server of claim 15, wherein the first channel is one of an electromagnetic frequency range, a separate physical link, a separate virtual link or a component of a multiplexed data stream.
  • 20. The gaming server of claim 15, wherein the one or more processors, the memory, and the communications interface are further configured to transmit information regarding the byte size of the first gaming software block prior to completion of a download of the first gaming software block.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of co-pending U.S. application Ser. No. 11/173,442, entitled “METHODS AND DEVICES FOR DOWNLOADING GAMES OF CHANCE” and filed Jul. 1, 2005, which is hereby incorporated by reference and for all purposes. This application is related to U.S. patent application Ser. Nos. 09/732,650, 10/116,424, and 11/078,966, all of which are entitled “SECURED VIRTUAL NETWORK IN A GAMING ENVIRONMENT,” by Nguyen et al., which were filed on Dec. 7, 2000, Apr. 3, 2002, and Mar. 10, 2005, all of which are incorporated herein by reference in their entirety and for all purposes. These applications may sometimes be referenced herein as the “Game Downloading Applications.”

US Referenced Citations (298)
Number Name Date Kind
3931504 Jacoby Jan 1976 A
4072930 Lucero et al. Feb 1978 A
4335809 Wain Jun 1982 A
4430728 Beitel et al. Feb 1984 A
4454594 Heffron et al. Jun 1984 A
4468750 Chamoff et al. Aug 1984 A
4532416 Berstein Jul 1985 A
4572509 Sitrick Feb 1986 A
4582324 Koza et al. Apr 1986 A
4607844 Fullerton Aug 1986 A
4652998 Koza et al. Mar 1987 A
4689742 Troy et al. Aug 1987 A
4856787 Itkis Aug 1989 A
4868900 Mcguire Sep 1989 A
5103079 Barakai et al. Apr 1992 A
5136644 Audebert et al. Aug 1992 A
5149945 Johnson et al. Sep 1992 A
5155837 Liu et al. Oct 1992 A
5265874 Dickinson et al. Nov 1993 A
5286062 Greenwood et al. Feb 1994 A
5290033 Bittner et al. Mar 1994 A
5342047 Heidel et al. Aug 1994 A
5348299 Clapper, Jr. Sep 1994 A
5397125 Adams Mar 1995 A
5410703 Nilsson et al. Apr 1995 A
5421009 Platt May 1995 A
5421017 Scholz et al. May 1995 A
5466920 Nair et al. Nov 1995 A
5473772 Halliwell et al. Dec 1995 A
5487544 Clapper, Jr. Jan 1996 A
5489096 Aron Feb 1996 A
5491812 Pisello et al. Feb 1996 A
5555418 Nilsson et al. Sep 1996 A
5609337 Clapper, Jr. Mar 1997 A
5611730 Weiss Mar 1997 A
5643086 Alcorn et al. Jul 1997 A
5645485 Clapper, Jr. Jul 1997 A
5647592 Gerow Jul 1997 A
5654746 McMullan, Jr. et al. Aug 1997 A
5655961 Acres et al. Aug 1997 A
5671412 Christiano Sep 1997 A
5682533 Siljestroemer Oct 1997 A
5684750 Kondoh et al. Nov 1997 A
5688174 Kennedy Nov 1997 A
5702304 Acres et al. Dec 1997 A
5715403 Stefik Feb 1998 A
5715462 Iwamoto et al. Feb 1998 A
5741183 Acres et al. Apr 1998 A
5749784 Clapper, Jr. May 1998 A
5752882 Acres et al. May 1998 A
5759102 Pease et al. Jun 1998 A
5761647 Boushy Jun 1998 A
5762552 Vuong et al. Jun 1998 A
5766076 Pease et al. Jun 1998 A
5768382 Schneier et al. Jun 1998 A
5770533 Franchi Jun 1998 A
5779545 Berg et al. Jul 1998 A
5779549 Walker et al. Jul 1998 A
5797795 Takemoto et al. Aug 1998 A
5800269 Holch et al. Sep 1998 A
5819107 Lichtman et al. Oct 1998 A
5820459 Acres et al. Oct 1998 A
5828843 Grimm et al. Oct 1998 A
5833540 Miodunski et al. Nov 1998 A
5836817 Acres et al. Nov 1998 A
5845077 Fawcett Dec 1998 A
5845090 Collins et al. Dec 1998 A
5845902 Takemoto Dec 1998 A
5848064 Cowan Dec 1998 A
5851149 Xidos et al. Dec 1998 A
5855515 Pease et al. Jan 1999 A
5870723 Pare, Jr. et al. Feb 1999 A
5871400 Yfantis Feb 1999 A
5876284 Acres et al. Mar 1999 A
5885158 Torango et al. Mar 1999 A
5896566 Averbuch et al. Apr 1999 A
5902983 Crevelt et al. May 1999 A
5905523 Woodfield et al. May 1999 A
5925127 Ahmad Jul 1999 A
5935000 Sanchez, III et al. Aug 1999 A
5941771 Haste, III Aug 1999 A
5943241 Nichols et al. Aug 1999 A
5949042 Dietz, II et al. Sep 1999 A
5970143 Schneier Oct 1999 A
5971855 Ng Oct 1999 A
5980384 Barrie Nov 1999 A
5980385 Clapper, Jr. Nov 1999 A
5987376 Olson et al. Nov 1999 A
5999808 LaDue et al. Dec 1999 A
6001016 Walker et al. Dec 1999 A
6002772 Saito Dec 1999 A
6003013 Boushy et al. Dec 1999 A
6006034 Heath et al. Dec 1999 A
6009458 Hawkins et al. Dec 1999 A
6029046 Khan et al. Feb 2000 A
6038666 Hsu et al. Mar 2000 A
6047128 Zander Apr 2000 A
6047324 Ford Apr 2000 A
6048269 Burns et al. Apr 2000 A
6052512 Peterson et al. Apr 2000 A
6071190 Weiss et al. Jun 2000 A
6098837 Izawa et al. Aug 2000 A
6099408 Schneier et al. Aug 2000 A
6104815 Alcorn et al. Aug 2000 A
6106396 Alcorn et al. Aug 2000 A
6113098 Adams Sep 2000 A
6113492 Walker et al. Sep 2000 A
6113495 Walker et al. Sep 2000 A
6125185 Boesch Sep 2000 A
6135884 Hedrick et al. Oct 2000 A
6135887 Pease et al. Oct 2000 A
6146277 Ikeda Nov 2000 A
6149522 Alcorn et al. Nov 2000 A
6154878 Saboff Nov 2000 A
6159098 Stomiany et al. Dec 2000 A
6165072 Davis et al. Dec 2000 A
6169976 Colosso Jan 2001 B1
6178510 O'Connor et al. Jan 2001 B1
6183362 Boushy Feb 2001 B1
6190256 Walker et al. Feb 2001 B1
6193152 Fernando et al. Feb 2001 B1
6193608 Walker et al. Feb 2001 B1
6199107 Duari Mar 2001 B1
6219836 Wells et al. Apr 2001 B1
6253374 Dresevic et al. Jun 2001 B1
6254483 Acres Jul 2001 B1
6264561 Saffari et al. Jul 2001 B1
6270410 DeMar et al. Aug 2001 B1
6280328 Holch et al. Aug 2001 B1
6285868 LaDue Sep 2001 B1
6285886 Kamel et al. Sep 2001 B1
6293865 Kelly et al. Sep 2001 B1
6302793 Fertitta, III et al. Oct 2001 B1
6306035 Kelly et al. Oct 2001 B1
6310873 Rainis et al. Oct 2001 B1
6315663 Sakamoto Nov 2001 B1
6317827 Cooper Nov 2001 B1
6328648 Walker et al. Dec 2001 B1
6340331 Saunders et al. Jan 2002 B1
6343990 Rasmussen et al. Feb 2002 B1
6347996 Gilmore et al. Feb 2002 B1
6351688 Nichols et al. Feb 2002 B1
6364769 Weiss et al. Apr 2002 B1
6368216 Hedrick et al. Apr 2002 B1
6368219 Szrek et al. Apr 2002 B1
6371852 Acres Apr 2002 B1
6402618 Reed et al. Jun 2002 B1
6409602 Wiltshire et al. Jun 2002 B1
6446257 Pradhan et al. Sep 2002 B1
6449687 Moriya Sep 2002 B1
6453319 Mattis et al. Sep 2002 B1
6454648 Kelly et al. Sep 2002 B1
6488585 Wells et al. Dec 2002 B1
6490602 Witlshire et al. Dec 2002 B1
6508709 Karmarkar Jan 2003 B1
6508710 Paravia et al. Jan 2003 B1
6554705 Cumbers Apr 2003 B1
6575829 Coleman et al. Jun 2003 B2
6607439 Schneier et al. Aug 2003 B2
6625661 Baldwin, Jr. Sep 2003 B1
6638170 Crumby Oct 2003 B1
6645077 Rowe Nov 2003 B2
6645078 Mattice Nov 2003 B1
6652378 Cannon et al. Nov 2003 B2
6656040 Brosnan et al. Dec 2003 B1
6666765 Vancura Dec 2003 B2
6682423 Brosnan et al. Jan 2004 B2
6684195 Deaton et al. Jan 2004 B1
6739973 Lucchesi et al. May 2004 B1
6745236 Hawkins et al. Jun 2004 B1
6749502 Baerlocher Jun 2004 B2
6749510 Giobbi Jun 2004 B2
6785291 Cao et al. Aug 2004 B1
6805634 Wells et al. Oct 2004 B1
6853973 Mathews et al. Feb 2005 B2
6866586 Oberberger et al. Mar 2005 B2
6875110 Crumby Apr 2005 B1
6896618 Benoy et al. May 2005 B2
6908387 Hedrick et al. Jun 2005 B2
6910079 Zimmermann et al. Jun 2005 B2
6913531 Yoseloff Jul 2005 B1
6935946 Yoseloff et al. Aug 2005 B2
6962530 Jackson Nov 2005 B2
6988267 Harris et al. Jan 2006 B2
6997803 LeMay et al. Feb 2006 B2
7127069 Nguyen Oct 2006 B2
7168089 Nguyen et al. Jan 2007 B2
7318775 Brosnan et al. Jan 2008 B2
7399229 Rowe Jul 2008 B2
7438643 Brosnan et al. Oct 2008 B2
7455591 Nguyen Nov 2008 B2
7470182 Martinek et al. Dec 2008 B2
7480857 Benbrahim et al. Jan 2009 B2
7515718 Nguyen et al. Apr 2009 B2
7618317 Jackson Nov 2009 B2
7636859 Little et al. Dec 2009 B2
7780526 Nguyen et al. Aug 2010 B2
7785204 Wells et al. Aug 2010 B2
7801303 Dulac Sep 2010 B2
7828654 Carter, Sr. Nov 2010 B2
7887420 Nguyen et al. Feb 2011 B2
7951002 Brosnan May 2011 B1
7972214 Kinsley et al. Jul 2011 B2
7988559 Yoseloff et al. Aug 2011 B2
8057298 Nguyen et al. Nov 2011 B2
20010021666 Yoshida et al. Sep 2001 A1
20010031663 Johnson Oct 2001 A1
20010036854 Okuniewicz Nov 2001 A1
20010036855 DeFrees-Parrott et al. Nov 2001 A1
20010039210 St-Denis Nov 2001 A1
20010044337 Rowe et al. Nov 2001 A1
20010044339 Cordero et al. Nov 2001 A1
20010053712 Yoseloff et al. Dec 2001 A1
20020002075 Rowe Jan 2002 A1
20020016202 Fertitta et al. Feb 2002 A1
20020022516 Forden Feb 2002 A1
20020028706 Barnard et al. Mar 2002 A1
20020034980 Lemmons et al. Mar 2002 A1
20020045477 Dabrowski Apr 2002 A1
20020049909 Jackson et al. Apr 2002 A1
20020050683 Hirota May 2002 A1
20020071557 Nguyen Jun 2002 A1
20020093136 Moody Jul 2002 A1
20020107065 Rowe Aug 2002 A1
20020111205 Beavers Aug 2002 A1
20020116615 Nguyen et al. Aug 2002 A1
20020132662 Sharp et al. Sep 2002 A1
20020137217 Rowe Sep 2002 A1
20020142844 Kerr Oct 2002 A1
20020151359 Rowe Oct 2002 A1
20020155887 Criss-Puszkiewicz et al. Oct 2002 A1
20030009542 Kasal et al. Jan 2003 A1
20030032485 Cockerille Feb 2003 A1
20030036425 Kaminkow et al. Feb 2003 A1
20030045356 Thomas Mar 2003 A1
20030054878 Benoy et al. Mar 2003 A1
20030064771 Morrow et al. Apr 2003 A1
20030064805 Wells Apr 2003 A1
20030069074 Jackson Apr 2003 A1
20030074323 Catan Apr 2003 A1
20030095791 Barton et al. May 2003 A1
20030100371 Gatto et al. May 2003 A1
20030157979 Cannon et al. Aug 2003 A1
20030176213 LeMay et al. Sep 2003 A1
20030186734 LeMay et al. Oct 2003 A1
20030187853 Hensley et al. Oct 2003 A1
20030188306 Harris et al. Oct 2003 A1
20040002385 Nguyen Jan 2004 A1
20040048671 Rowe Mar 2004 A1
20040067794 Coetzee Apr 2004 A1
20040092310 Brosnan et al. May 2004 A1
20040137978 Cole et al. Jul 2004 A1
20040147314 LeMay et al. Jul 2004 A1
20040152517 Hardisty et al. Aug 2004 A1
20040166931 Criss-Puszkiewicz et al. Aug 2004 A1
20040180722 Giobbi Sep 2004 A1
20040242322 Montagna et al. Dec 2004 A1
20040248651 Gagner Dec 2004 A1
20040259640 Gentles et al. Dec 2004 A1
20050054446 Kammler et al. Mar 2005 A1
20050059470 Cannon Mar 2005 A1
20050108519 Barton et al. May 2005 A1
20050108769 Arnold et al. May 2005 A1
20050113172 Gong May 2005 A1
20050120040 Williams et al. Jun 2005 A1
20050137016 Enzminger et al. Jun 2005 A1
20050153778 Nelson et al. Jul 2005 A1
20050192099 Nguyen et al. Sep 2005 A1
20050216942 Barton Sep 2005 A1
20050221898 Gatto et al. Oct 2005 A1
20050288080 Lockton et al. Dec 2005 A1
20060009273 Moshal Jan 2006 A2
20060019749 Merati et al. Jan 2006 A1
20060035713 Cockerille et al. Feb 2006 A1
20060046855 Nguyen et al. Mar 2006 A1
20060068871 Crawford et al. Mar 2006 A1
20060073869 LeMay et al. Apr 2006 A1
20060160621 Rowe et al. Jul 2006 A1
20060247028 Brosnan et al. Nov 2006 A1
20060258428 Blackburn et al. Nov 2006 A1
20060264256 Gagner et al. Nov 2006 A1
20060281541 Nguyen et al. Dec 2006 A1
20070004506 Kinsley et al. Jan 2007 A1
20070026935 Wolf et al. Feb 2007 A1
20070032301 Acres et al. Feb 2007 A1
20070060361 Nguyen et al. Mar 2007 A1
20070060363 Nguyen et al. Mar 2007 A1
20070178970 LeMay et al. Aug 2007 A1
20070207852 Nelson et al. Sep 2007 A1
20070243925 LeMay et al. Oct 2007 A1
20070270213 Nguyen et al. Nov 2007 A1
20080090654 Okada Apr 2008 A1
20080192058 Liu et al. Aug 2008 A1
20090209332 Soukup et al. Aug 2009 A1
20090275407 Singh et al. Nov 2009 A1
20100099491 Little et al. Apr 2010 A1
20110105234 Nguyen et al. May 2011 A1
20110281655 Nguyen et al. Nov 2011 A1
Foreign Referenced Citations (56)
Number Date Country
199650576 Apr 1997 AU
2004212348 Aug 2003 AU
197 30 002 Dec 1997 DE
0 689 325 Jun 1995 EP
0 706 275 Apr 1996 EP
0 715 245 Jun 1996 EP
0 744 786 Nov 1996 EP
0 769 769 Apr 1997 EP
0 841 615 May 1998 EP
0 905 614 Mar 1999 EP
1 004 970 May 2000 EP
1 061 430 Dec 2000 EP
1 074 955 Feb 2001 EP
1 199 690 Apr 2002 EP
1 231 577 Aug 2002 EP
1 255 234 Nov 2002 EP
1 291 048 Mar 2003 EP
1 391 226 Feb 2004 EP
1 396 829 Mar 2004 EP
1 414 534 May 2004 EP
1 473 682 Nov 2004 EP
1 895 483 Mar 2008 EP
2 151 054 Jul 1985 GB
2 251 112 Jun 1992 GB
2 392 276 Oct 2004 GB
10-277243 Oct 1998 JP
2002-197332 Jul 2002 JP
2124230 Dec 1998 RU
17678 Apr 2001 RU
WO 9524689 Sep 1995 WO
WO 9600950 Jan 1996 WO
WO 9730549 Aug 1997 WO
WO 9840141 Sep 1998 WO
WO 9900164 Jan 1999 WO
WO 9901188 Jan 1999 WO
WO 0067424 Nov 2000 WO
WO 0120424 Mar 2001 WO
WO 0199067 Dec 2001 WO
WO 0201350 Jan 2002 WO
WO 0205229 Jan 2002 WO
WO 0217251 Feb 2002 WO
WO 0221468 Mar 2002 WO
WO 02073501 Sep 2002 WO
WO 02077935 Oct 2002 WO
WO 03006129 Jan 2003 WO
WO 03019486 Jun 2003 WO
WO 03085613 Oct 2003 WO
WO 2004021290 Mar 2004 WO
WO 2004071601 Aug 2004 WO
WO 2007005290 Jan 2007 WO
WO 2007032879 Mar 2007 WO
WO 2007032888 Mar 2007 WO
WO 2007044175 Apr 2007 WO
WO 2007120450 Oct 2007 WO
WO 2008016610 Feb 2008 WO
WO 2010045004 Apr 2010 WO
Non-Patent Literature Citations (180)
Entry
U.S. Office Action mailed Jul. 15, 2002 issued in U.S. Appl. No. 09/595,798.
U.S. Final Office Action mailed Mar. 20, 2003 issued in U.S. Appl. No. 09/595,798.
U.S. Advisory Action mailed May 21, 2003 issued in U.S. Appl. No. 09/595,798.
U.S. Office Action mailed Jul. 1, 2003 issued in U.S. Appl. No. 09/595,798.
U.S. Office Action mailed Jan. 14, 2004 issued in U.S. Appl. No. 09/595,798.
U.S. Interview Summary mailed Mar. 9, 2004 issued in U.S. Appl. No. 09/595,798.
U.S. Final Office Action mailed Jun. 3, 2004 issued in U.S. Appl. No. 09/595,798.
U.S. Office Action mailed Jan. 28, 2005 issued in U.S. Appl. No. 09/595,798.
U.S. Final Office Action mailed May 3, 2006 issued in U.S. Appl. No. 09/595,798.
U.S. Office Action mailed Sep. 6, 2006 issued in U.S. Appl. No. 09/595,798.
U.S. Final Office Action mailed Mar. 14, 2007 issued in U.S. Appl. No. 09/595,798.
U.S. Decision Pre-Appeal mailed Sep. 14, 2007 issued in U.S. Appl. No. 09/595,798.
U.S. Notice of Abandonment mailed Mar. 5, 2008 issued in U.S. Appl. No. 09/595,798.
U.S. Notice of Petition Granted re Notice of Abandonment Vacated mailed Jun. 24, 2009 issued in U.S. Appl. No. 09/595,798.
U.S. Office Action mailed Sep. 16, 2009 issued in U.S. Appl. No. 09/595,798.
U.S. Interview Summary mailed Jan. 13, 2010 issued in U.S. Appl. No. 09/595,798.
U.S. Notice of Allowance and Allowability mailed May 14, 2010 issued in U.S. Appl. No. 09/595,798.
U.S. Notice of Allowance and Allowability mailed Sep. 20, 2010 issued in U.S. Appl. No. 09/595,798.
U.S. Notice of Allowance mailed Jan. 7, 2011 issued in U.S. Appl. No. 09/595,798.
U.S. Office Action mailed Jul. 1, 2002 issued in U.S. Appl. No. 09/642,192.
U.S. Interview Summary mailed Oct. 9, 2002 issued in U.S. Appl. No. 09/642,192.
U.S. Final Office Action mailed Jan. 2, 2003 issued in U.S. Appl. No. 09/642,192.
U.S. Interview Summary mailed Jan. 14, 2003 issued in U.S. Appl. No. 09/642,192.
U.S. Advisory Action mailed Jan. 29, 2003 issued in U.S. Appl. No. 09/642,192.
U.S. Office Action mailed Apr. 21, 2003 issued in U.S. Appl. No. 09/642,192.
U.S. Final Office Action mailed Sep. 30, 2003 issued in U.S. Appl. No. 09/642,192.
U.S. Interview Summary mailed Oct. 22, 2003 issued in U.S. Appl. No. 09/642,192.
U.S. Advisory Action mailed Nov. 6, 2003 issued in U.S. Appl. No. 09/642,192.
U.S. Office Action mailed Feb. 10, 2004 issued in U.S. Appl. No. 09/642,192.
U.S. Office Action mailed Jul. 1, 2004 issued in U.S. Appl. No. 09/642,192.
U.S. Interview Summary mailed Mar. 14, 2004 issued in U.S. Appl. No. 09/642,192.
U.S. Notice of Informal or Non-Responsive RCE Amendment mailed Jan. 11, 2006 issued in U.S. Appl. No. 09/642,192.
U.S. Final Office Action mailed Mar. 28, 3006 issued in U.S. Appl. No. 09/642,192.
U.S. Office Action mailed Nov. 20, 2006 issued in U.S. Appl. No. 09/642,192.
U.S. Office Action mailed Jan. 20, 2010 issued in U.S. Appl. No. 11/731,406.
U.S. Final Office Action mailed Jul. 2, 2010 issued in U.S. Appl. No. 11/731,406.
U.S. Office Action mailed Jan. 19, 2011 issued in U.S. Appl. No. 11/731,406.
U.S. Office Action mailed May 18, 2004 issued in U.S. Appl. No. 10/097,507.
U.S. Final Office Action mailed May 17, 2005 issued in U.S. Appl. No. 10/097,507.
U.S. Notice of Allowance mailed Aug. 31, 2005 issued in U.S. Appl. No. 10/097,507.
U.S. Office Action mailed Dec. 24, 2009 issued in U.S. Appl. No. 11/285,898.
U.S. Final Office Action mailed May 26, 2010 issued in U.S. Appl. No. 11/285,898.
U.S. Office Action mailed Mar. 8, 2010 issued in U.S. Appl. No. 11/497,740.
U.S. Office Action Final mailed Aug. 12, 2010 issued in U.S. Appl. No. 11/497,740.
U.S. Examiner Interview Summary mailed Dec. 16, 2010 issued in U.S. Appl. No. 11/497,740.
U.S. Office Action mailed Jan. 7, 2010 issued in U.S. Appl. No. 11/881,190.
U.S. Final Office Action mailed Jun. 11, 2010 issued in U.S. Appl. No. 11/881,190.
U.S. Office Action mailed Nov. 24, 2010 issued in U.S. Appl. No. 11/881,190.
U.S. Examiner Interview Summary mailed Feb. 15, 2011 issued in U.S. Appl. No. 11/881,190.
U.S. Office Action mailed Apr. 4, 2006 issued in U.S. Appl. No. 10/230,604.
U.S. Final Office Action mailed Oct. 12, 2006 issued in U.S. Appl. No. 10/230,604.
U.S. Advisory Action mailed Jan. 31, 2007 issued in U.S. Appl. No. 10/230,604.
U.S. Notice of Panel Decision from Pre-Appeal Brief Review mailed Jun. 19, 2007 issued in U.S. Appl. No. 10/230,604.
U.S. Office Action mailed Mar. 18, 2008 issued in U.S. Appl. No. 10/230,604.
U.S. Final Office Action mailed Aug. 18, 2008 issued in U.S. Appl. No. 10/230,604.
U.S. Office Action mailed May 13, 2008 issued in U.S. Appl. No. 11/173,442.
U.S. Final Office Action mailed Nov. 4, 2008 issued in U.S. Appl. No. 11/173,442.
U.S. Office Action mailed Apr. 30, 2009 issued in U.S. Appl. No. 11/173,442.
U.S. Final Office Action mailed Dec. 21, 2009 issued in U.S. Appl. No. 11/173,442.
U.S. Office Action mailed Jul. 7, 2010 issued in U.S. Appl. No. 11/173,442.
U.S. Examiner Interview Summary mailed Sep. 21, 2010 issued in U.S. Appl. No. 11/173,442.
U.S. Office Action mailed Dec. 8, 2010 issued in U.S. Appl. No. 11/173,442.
U.S. Examiner Interview Summary mailed Mar. 23, 2011 issued in U.S. Appl. No. 11/173,442.
U.S. Notice of Allowance mailed Apr. 14, 2011 issued in U.S. Appl. No. 11/173,442.
U.S. Office Action mailed Oct. 6, 2008 issued in U.S. Appl. No. 11/224,814.
U.S. Office Action mailed Aug. 3, 2009 issued in U.S. Appl. No. 11/224,814.
U.S. Final Office Action mailed Feb. 25, 2010 issued in U.S. Appl. No. 11/224,814.
U.S. Advisory Action mailed May 18, 2010 issued in U.S. Appl. No. 11/224,814.
U.S. Notice of Allowance mailed Oct. 7, 2010 issued in U.S. Appl. No. 11/224,814.
U.S. Response to 312 Amendment mailed Nov. 26, 2010 issued in U.S. Appl. No. 11/224,814.
U.S. Office Action mailed Jul. 27, 2009 issued in U.S. Appl. No. 11/225,337.
U.S. Final Office Action mailed Feb. 1, 2010 issued in U.S. Appl. No. 11/225,337.
U.S. Advisory Action mailed Apr. 12, 2010 issued in U.S. Appl. No. 11/225,337.
U.S. Office Action mailed Jul. 19, 2010 issued in U.S. Appl. No. 11/225,337.
U.S. Examiner Interview Summary mailed Oct. 14, 2010 issued in U.S. Appl. No. 11/225,337.
U.S. Final Office Action mailed Jan. 5, 2011 issued in U.S. Appl. No. 11/225,337.
PCT International Preliminary Examination Report dated Oct. 25, 2002 issued in PCT/US01/17896.
PCT International Search Report dated Mar. 14, 2002 issued in PCT/US01/17896.
European Office Action dated Jan. 14, 2011 issued in EP 01 946 053.4-1238.
PCT International Preliminary Examination Report dated Jun. 27, 2003 issued in PCT/US01/25091.
PCT International Search Report dated Mar. 5, 2003 issued in PCT/US01/25091.
PCT International Written Opinion dated Mar. 31, 2003 issued in WO2002/01725 (PCT/US01/25091).
Australian Examiner's First Report dated Dec. 1, 2005 issued in AU2001283264.
Canadian Office Action dated Jul. 28, 2009 issued in CA 2,420,224.
Canadian Office Action dated Aug. 5, 2010 issued in CA 2,420,224.
European First Examination Report dated Feb. 10, 2009 issued in EP01962051.7.
Australian First Examination Report dated May 22, 2008 issued in AU2003200934.
Australian Examiner's First Report dated Jan. 31, 2011 issued in AU2009217419.
PCT International Search Report dated Nov. 13, 2003 issued in PCT/US2003/22180.
Australian Examiner's First Report dated Jun. 28, 2006 issued in AU2003251941.
Australian Examiner's Report No. 2 dated Aug. 8, 2006 issued in AU2003251941.
Australian Examiner's Report No. 3 dated Aug. 2, 2007 issued in AU2003251941.
Australian Examiner's First Report dated Aug. 7, 2009 issued in AU2008201281.
European Office Action dated Dec. 28, 2009 issued in EP03791582.4.
Russian Office Action (English translation) dated Apr. 10, 2007 issued in RU2005108664.
PCT International Search Report dated Apr. 7, 2008 issued in PCT/US2007/017121.
PCT Written Opinion dated Apr. 7, 2008, issued in PCT/US2007/017121.
PCT Partial International Search Report dated Jan. 25, 2008 issued in PCT/U52007/017121.
PCT International Preliminary Report on Patentability dated Feb. 3, 2009 issued in WO2008/016610 (PCT/U52007/017121).
Chinese Office Action dated Jul. 31, 2009 issued in CN200780036010.9.
Chinese First Office Action dated Nov. 25, 2010 issued in CN200780036010.9.
PCT International Search Report mailed Oct. 11, 2006 issued in WO2007/005290 (PCT/US2006/024129).
PCT International Preliminary Report on Patentability and Written Opinion dated Jan. 9, 2008 issued in WO2007/005290 (PCT/US2006/024129).
AU Examiner's First Report dated Oct. 22, 2010 issued in 2006266236.
European Communication dated Apr. 14, 2008 issued in EP 06 773 680.1.
European Summons to Attend Oral Proceedings Pursuant to Rule 115(1)EPC dated Nov. 27, 2008 issued in EP 06 773 680.1-2221.
European Consultation with Examiner dated Dec. 18, 2008 issued in EP 06 773 680.1.
European Office Action re Result of Consultation on Preliminary Examination of Application Prior to Oral Proceedings dated Sep. 24, 2009 issued in EP 06 773 680.1.
European Minutes of Oral Proceedings dated Jan. 9, 2010 issued in EP 06 773 680.1.
European Decision to Refuse European Patent Application dated Jan. 8, 2010 issued in EP 06 773 680.1.
European Communication of Proceedings Before the Board of Appeal dated Jun. 4, 2010 issued in EP 06 773 680.1.
PCT International Search Report dated Feb. 15, 2007 issued in WO/2007/032879 (PCT/U52006/033185).
PCT Written Opinion dated Feb. 15, 2007 issued in WO/2007/032879 (PCT/US2006/033185).
PCT International Preliminary Report on Patentability and Written Opinion dated Mar. 18, 2008 issued in PCT/US2006/033185.
Chinese First Office Action dated Sep. 25, 2009 issued in CN200680033246.2.
Chinese Second Office Action dated Sep. 10, 2010 issued in CN200680033246.2.
European Examination Report dated Jun. 2, 2008 issued in EP 06 813 743.9.
European Summons to Attend Oral Proceedings Pursuant to Rule 115(1)EPC dated Nov. 21, 2008 issued in EP06813743.9.
European Result of Consultation and Brief Communication dated Apr. 28, 2009 issued in EP06813743.9.
PCT International Search Report dated Dec. 4, 2006 issued in PCT/US2006/033429.
PCT Written Opinion dated Dec. 4, 2006 issued in PCT/US2006/033429.
PCT International Preliminary Report on Patentability and Written Opinion dated Mar. 18, 2008 issued in PCT/US2006/033429.
Australian Examiner's First Report dated Nov. 18, 2010 issued in AU 2006291294.
Australian Examiner's Report No. 2 dated Feb. 14, 2011 issued in AU 2006291294.
Chinese Office Action dated Oct. 9, 2009 issued in CN2006800335028.
PCT International Search Report dated May 7, 2007 issued in PCT/US2009/058664.
“1,001 Windows 95 Tips, Operating System Shortcuts” (1995) Synapse Adaptive.com, Access and Productivity Tools, webpage retrieved from the Internet at http://www.synapseadaptive.com/tools/Win95%20keyboard%20shortcuts.html, on Dec. 8, 2009, 3 pages.
Adamec, J. (2006) “Checkraise: The Bots”, Blogcritics.org News, downloaded from http://blogtronics.org/archive/2005/09/09/093200.php on Jun. 30, 2006, 3 pages.
CS Guard, Dec. 19, 2001, Half-Life www.olo.counter.com, webpage retrieved from the Internet at http://www.olo.counter-strike.pl/index.php?page=archive on Jun. 3, 2010, p. 3 of 5 pages.
Gaming Standards Association (2007), “G2S Basics,” webpage retrieved from Internet at http://www gamingstandards.com/pdfs/G2S—Sheet—final.pdf, on Sep. 5, 2008, 2 pages.
Gaming Standards Association (2007) (author unknown), “S2S Message Protocol v1.2 with Errata Sheet 1,” Chapter 13, pp. 289-308. [online] retrieved from Internet on Sep. 23, 2008. http://www.gamingstandards.com/index.php?page=standards/free—downloads—standards.
Golle, Philippe et al., “Preventing Bots from Playing Online Games” ACM Computers in Entertainment, [Online] vol. 3, No. 3, Jul. 2005, pp. 1-10, XP002465544 Retrieved from the Internet: http://portal.acm.org/citation.cfm?doid=1077246.1077255.
Hauptmann, Steffen et al. (1996) “On-line Maintenance With On-The-Fly-Software Replacement,” 1996 IEEE Proceedings, Third International Conference On Configurable Distributed Systems, No. 0-8 186-7395-8/96, 11 pgs (70-80).
HBP-10 Bill Dispenser, Multi-Country Platform (2001) JCM American, retrieved from the Internet at http://www.jcm-american.com/bill—dispensers.html on Sep. 20, 2001, 1 page.
HBP-5 Note Hopper (2001) JCM American, retrieved from the Internet at http://www.jcm-american.com/sub-note-hoppers.html on Sep. 20, 2001, 1 page.
Hiroaki Higaki, 8 page document entitled “Group Communication Algorithm for Dynamically Updating in Distributed Systems” Copyright 1994 IEEE International Conference on Parallel and Distributed Systems (pp. 56-62) 08-8 186-655-6/94, higaki@sdesun.slab.ntt.jp.
Hiroaki Higaki, 9 page document entitled “Extended Group Communication Algorithm for Updating Distributed Programs” Copyright 1996, IEEE, International Conference on Parallel and Distributed Systems, 0-81 86-7267-6/96, hig@takilab.k.dendai.as.jp.
“Noble Poker: Security & Integrity” (2005) advertisement from NoblePoker.com retrieved from the Internet at http://web.archive.org/web/20050512081751/http://www.noblepoker.com on May 12, 2005, XP-002465543, 2 pages.
Oracle8™ Enterprise Edition Partitioning Option (1999), Features Overview Feb. 1999, webpage for Oracle Corporation, retrieved from the Internet at www.oracle.com/collateral/ent—partitioning—fo—pdf, Feb. 1999, 8 pgs.
PcToolsTM Guides, “Manage the CPU Task Priority,” www.pctools.com, webpage retrieved from the Internet at http://www.pctools.com/guides/registry/detail.1179, Sep. 16, 2002, 2 pgs.
Spielo Gaming International (2000) webpage advertisements entitled “Visions of Tomorrow” and “PowerStation5” retrieved from the Internet at http://www.spielo.com, dated Dec. 6, 2000, 7 pages.
Wang et al., “Casino techology player tracking and slot accounting systems,” Database Inspec [Online] The Institution of Electrical Engineers, Stevenage, GB; Database accession No. 7228747; XP002231402; abstract.
Webster's 1913 Dictionary, Definition of “Continuous” as shown in Webster's Online Dictionary, retrieved from the Internet at http://www.webster-dictionary.org/definition/continuous on Mar. 2, 2009, 2 pgs.
Webster's 1913 Dictionary, Definition of “Regular” as shown in Webster's Online Dictionary, retrieved from the Internet at http://www.webster-dictionary.org/definition/regular on Mar. 2, 2009, 3 pgs.
Windows 3.1 Resource Kit, Jul. 30, 2001, Microsoft.com, retrieved from the Internet at http://support.microsoft.com/kb/83433 on Feb. 8, 2009 and on Aug. 27, 2010.
U.S. Appl. No. 09/642,192, filed Aug. 18, 2000, LeMay et al.
U.S. Appl. No. 13/601,062, filed Aug. 31, 2012, Nguyen et al.
U.S. Appl. No. 13/188,281, filed Jul. 21, 2011, Nyguyen et al.
U.S. Office Action dated Jun. 14, 2011 issued in U.S. Appl. No. 11/731,406.
U.S. Final Office Action dated Jan. 24, 2012 issued in U.S. Appl. No. 11/731,406.
U.S. Office Action dated Oct. 5, 2011 issued in U.S. Appl. No. 11/285,898.
U.S. Final Office Action dated Jan. 26, 2012 issued in U.S. Appl. No. 11/285,898.
U.S. Office Action dated Jul. 22, 2011 issued in U.S. Appl. No. 11/497,740.
U.S. Final Office Action dated Dec. 12, 2011 issued in U.S. Appl. No. 11/497,740.
U.S. Notice of Allowance dated Jun. 23, 2011 issued in U.S. Appl. No. 11/881,190.
U.S. Notice of Allowance dated Sep. 9, 2011 issued in U.S. Appl. No. 11/881,190.
U.S. Office Action dated Jan. 11, 2012 issued in U.S. Appl. No. 13/188,281.
Third Party Submission dated Jan. 17, 2012 for U.S. Appl. No. 13/188,281.
U.S. Notice of Allowance dated Apr. 25, 2012 issued in U.S. Appl. No. 13/188,281.
U.S. Allowed Claims dated Apr. 25, 2012 for U.S. Appl. No. 13/188,281.
Third Party Submission dated Nov. 8, 2011 for U.S. Appl. No. 13/101,939.
U.S. Office Action dated Aug. 2, 2012 issued in U.S. Appl. No. 12/986,861.
U.S. Office Action dated Jul. 5, 2011 issued in U.S. Appl. No. 11/223,337.
U.S. Notice of Allowance dated Dec. 21, 2011 issued in U.S. Appl. No. 11/225,337 (P185).
U.S. Allowed Claims dated Jun. 19, 2012 for U.S. Appl. No. 11/225,337.
U.S. Notice of Allowance dated Jun. 19, 2012 issued in U.S. Appl. No. 11/225,337.
U.S. Office Action dated Nov. 25, 2011 issued in U.S. Appl. No. 12/253,525.
U.S. Final Office Action dated Jul. 11, 2012 issued in U.S. Appl. No. 12/253,525.
Canadian Office Action dated Jun. 13, 2011 issued in CA 2,420,224.
Canadian Office Action dated Jan. 21, 2011 issued in CA 2,421,541.
Canadian Office Action dated Jan. 31, 2012 issued in CA 2,421,541.
Australian Examiner's first report dated Jul. 28, 2011 issued in 2007281499.
Australian Examiner's report No. 2 dated Jan. 5, 2012 issued in 2007281499.
Australian Examiner's report No. 3 dated Mar. 27, 2012 issued in 2007281499.
Chinese Second Office Action dated Jun. 6, 2011 issued in CN200780036010.9.
Chinese Third Office Action dated Oct. 26, 2011 issued in CN200780036010.9.
AU Examiner's Second Report dated Sep. 19, 2011 issued in 2006266236.
Australian Examiner's first report dated May 27, 2011 issued in AU 2006291374.
PCT International Preliminary Report on Patentability and Written Opinion dated Apr. 19, 2011 issued in PCT/US2009/058664.
EP Office Action dated May 8, 2012 issued in EP 09 793 079.6-2221.
Related Publications (1)
Number Date Country
20110218038 A1 Sep 2011 US
Continuations (1)
Number Date Country
Parent 11173442 Jul 2005 US
Child 13101939 US