US6165072A - Apparatus and process for verifying honest gaming transactions over a communications network - Google Patents

Apparatus and process for verifying honest gaming transactions over a communications network Download PDF

Info

Publication number
US6165072A
US6165072A US09/477,451 US47745100A US6165072A US 6165072 A US6165072 A US 6165072A US 47745100 A US47745100 A US 47745100A US 6165072 A US6165072 A US 6165072A
Authority
US
United States
Prior art keywords
processor
game
data input
host
satellite
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
US09/477,451
Inventor
Steven Benjamin Davis
Cheryl Susan Campbell
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Quixotic Solutions Inc
Original Assignee
Quixotic Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25445556&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=US6165072(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Quixotic Solutions Inc filed Critical Quixotic Solutions Inc
Priority to US09/477,451 priority Critical patent/US6165072A/en
Priority to US09/690,990 priority patent/US7747505B1/en
Application granted granted Critical
Publication of US6165072A publication Critical patent/US6165072A/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/03Credit; Loans; Processing thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Definitions

  • the present invention relates to apparatus and method for verifying honest gaming transactions over a communications network, and particularly for verifying gambling transactions over the Internet.
  • the Internet poses a new challenge and presents a new opportunity for the ancient art of gambling.
  • the global network will allow people to play games of chance in their own city or across the world from the comfort of their home. This opportunity has excited many businesses and raised the concerns of governments.
  • the specter of unregulated gambling over the Internet has raised, once again, calls for banning gambling for fear of cheating and abuse.
  • the present invention builds on the previous work but solves the problem of cheating by the casino or players.
  • This solution makes gambling via the Internet more trustable than going to a traditional legitimate casino.
  • Players help create all random game events and review every game after it is over. This is equivalent to a card player being able to have a "second shuffle" after the casino before the game begins. After the game, the player can reconstruct the casino's shuffle to rebuild the entire "deal" of the cards.
  • An additional feature is the ability to support secret and simultaneous decisions.
  • the simplest example of the use of this is the children's game Rock-Paper-Scissors.
  • players make a simultaneous decision as to which of the three items the player will choose.
  • the problem comes when players change their decision at the last moment after seeing what the other player has done.
  • the new system allows players to make these kinds of decisions and reveal that they have made the decision without revealing the decision itself until it is required (choosing Scissors without revealing or being able to deny that one has chosen Scissors).
  • This invention implements these techniques by a combination of software on a player's personal computer and a casino's host computer connected over a communications network.
  • the player's PC and the host computer communicate the distributed gaming information via a protocol described in this disclosure.
  • These techniques are implemented in a separate layer of software that sits above any communications software and below the software for a specific game. This provides a "middleware" layer, much like the World Wide Web, to allow communications between players and casinos in the same way a web browser connects to a web server.
  • apparatus and method for verifying honest gaming transactions over a communications network includes structure and steps whereby a host processor creates a host random number and receives a random number from a satellite processor over the communications network, and generates a game seed based on the random number.
  • the host computer also receives a game input from the satellite processor and generates a game result based on the game input, the game seed, and a predetermined set of game rules.
  • a satellite processor provides the random number and the game input to the host processor over the communications network, and receives data corresponding to the game seed and the game result from the host processor.
  • the satellite processor can then verify the honesty of the transaction by (i) generating a game result based on the game input, the data corresponding to the game seed, and the predetermined game rules, and (ii) comparing the generated game result with the received game result.
  • apparatus and method for verifying honest gaming transactions over a communications network includes structure and steps whereby a host processor:
  • (x) provides the host random number and the game seed to the satellite processor over the communications network.
  • a satellite processor :
  • (v) stores the host random number irreversible transform, the predetermined game rules, and the game decision input
  • (viii) verifies the game by (a) generating an irreversible transform of the received host random number, (b) comparing the generated transform with the previously stored host random number irreversible transform, (c) reconstructing the game seed from the host random number and the satellite random number, (d) generating a game result using the stored game decision input and the stored predetermined game rules, and (e) comparing the generated game result with the received game result.
  • each satellite processor will reconstruct the game seed utilizing the satellite random numbers from all the satellite processors.
  • FIG. 1 shows the Generic Player/Game Architecture--a picture of the general framework for players and a casino or "house”.
  • FIG. 2 shows the Player/Host Casino Middleware Architecture--a diagram depicting the relationship of the key elements of the invention client-server relationship.
  • FIG. 3 shows the Generic Physical Architecture--a diagram representing the typical physical components of the invention and their relationship.
  • FIG. 4 shows the Host Casino Functional Architecture--a diagram representing the functional elements of the host casino.
  • FIG. 5 shows the Host Casino Physical Architecture--a diagram representing the physical elements of the host casino and their relationships.
  • FIG. 6 shows the Player System Functional Architecture--a diagram representing the functional elements of the player system.
  • FIG. 7 shows the Player System Physical Architecture--a diagram representing the physical elements of the player system and their relationships.
  • FIG. 8 shows the Top-Level Process Relationships--a diagram depicting the relationship of the various top-level processes.
  • FIG. 9 shows the Top-Level Functional Flow--a diagram showing the top-level flow that would be used during the operation of the invention.
  • FIG. 10 shows the Key--a description of the elements used in the flow charts.
  • FIG. 11 shows the Player Registration Flow-Chart--a diagram depicting the flow of the Player Registration process.
  • FIG. 12 shows the Game Setup Flow-Chart--a diagram depicting the flow of the Game Setup process.
  • FIG. 13 shows the Game Play Flow-Chart--a diagram depicting the flow of the Game Play process.
  • FIG. 14 shows the Game Verification Flow Chart--a diagram depicting the flow of the Game Verification process.
  • FIG. 15 shows the Host-Player Transaction Flow-Chart--a diagram depicting the flow of the Host-Player Transaction process.
  • FIG. 16 shows the Secure Host-Player Communication Flow-Chart--a diagram depicting the flow of the Secure Host-Player Communication process.
  • FIG. 17 shows the Protocols and Packets--a picture showing how protocols are transmitted over a network and how protocols are nested within each other (also commonly called encapsulation or tunneling).
  • FIG. 18 shows the Generic Game Architecture--a picture of the elements of a game: events, decisions, rules, environment, data stores, and states.
  • the subject application describes a protocol between the player's and casino's computers that allows the players to "shuffle the deck” for all game events, play the game, and rebuild all game events after the game is over.
  • This disclosure defines an embodiment of a distributed transaction processing system with provable honesty where the application is Internet gambling--clients are players gambling using an automated host casino.
  • the core transaction system middleware implemented by software on the player's computer communicates using a unique gaming protocol with the host casino computer.
  • the unique portions of the game application (for blackjack, craps, or new games) rides on top of this common middleware layer to implement this honest gambling system.
  • the overall functional architecture of the distributed gaming system comprises one or more players and a casino (FIG. 1). As shown in the figure, all interactions go through the host casino including interactions between players. Another way of looking at the functional architecture is that there is a client player game application, a server host game application, and the distributed gaming system "middleware" application with the network gaming protocol (FIG. 2).
  • This architecture could be implemented by a host computer that provides communications to player computers via one of three means: direct connection via a local area network, telephone link via a modem, or a wide area network connection such as the Internet (FIG. 3).
  • the host casino system comprises a number of applications that may be implemented on one or more computers: a front-end such as a web server, an accounting system, a the game verification system, a registration system, an audit system, a customer service system, and a game manager that supports the game protocol and controls multiple game application sessions (FIG. 4).
  • a front-end such as a web server, an accounting system, a the game verification system, a registration system, an audit system, a customer service system, and a game manager that supports the game protocol and controls multiple game application sessions (FIG. 4).
  • This is implemented on a platform that includes a display, a computer processor and operating system, an input device such as a keyboard, a mass storage system such as a hard disk, a communication device, and an archive for long term storage (FIG. 5).
  • the player system comprises a game protocol package, the game verification application, and one or more game applications (FIG. 6).
  • the player platform comprises a display and operating system, an input device such as a keyboard, a computer processor with operating system, a mass storage system such as a hard disk, and a communication device (FIG. 7).
  • Player registration is the process where a player contacts the host casino to set up an account to be able to play (Section 2.1). The player also signs a contract with the casino to set up the terms and agreements needed to ensure that the player understands both the rules of the casino for betting, playing games, depositing and redeeming funds, as well as the procedures to address dropped, broken, or lost network connections and other issues that occur in computer and network games that do not occur at a casino.
  • Game setup is the process where a registered player connects to the host casino and selects a game to play (Section 2.2). This process also includes the exchange and establishment of the initial parameters of a game. This process additionally handles the setup and entry into multi-player games such as poker.
  • Game play is the process where a registered player who has completed the game setup process plays a game on-line (Section 2.3). This includes the processing of player decisions by the host casino and the communication of game events by the host casino to the player. This process also includes some incremental verification to ensure that the game rules are being followed and take appropriate action if they are not.
  • Game verification is the process of reconstructing the game events and parameters to ensure that no cheating occurred (Section 2.4). This can be done by any player as well as by the casino or an independent auditor or regulator. The random sequence that was created during the game will be reconstructed using the deterministic randomization process and Cooperative Random/Seed Generation process (Section 3.4.4). Also during this process, all secrets from the game are revealed and verified. These secrets, combined with an audit record of all observed game events, allow the complete reconstruction of all activities during the game to verify that no cheating had occurred and, if it did, what was done and by whom. The game verification process enables the provable honesty capability.
  • the host-player transaction process provides confidence to the player and the host casino that all information (particularly information from the game processes) is received properly (see Section 2.5).
  • This transaction process is built upon well-known "handshake" protocols for the reliable exchange of data with the addition of the use of a cryptographic signature function such as the US Digital Signature Standard (Section 3.4.3).
  • This function provides very strong assurance that game process information is correct and was generated either by the participating player or the host casino.
  • This process can be removed provided some other mechanism or agreement is in place to provide its confidence and "non-repudiation" functions.
  • the process steps that need to be protected by the host-player transaction process are clearly indicated in the drawings.
  • Secure host-player communication is the process where a player sets up a communication connection with a host casino. This process provides privacy for their communications as well as confidence of the identity of the participants in the process--the player knows that she is communicating with the specific casino and the casino knows that it is communicating with the specific player (Section 2.6). This process is used for all communications between the host casino and the individual player. If the player is participating in a game where player-to-player communication is allowed, the host casino uses the communication process to forward these communications between players--there is no direct communication between players (FIG. 1). There are commercial and well-known products such as the Secure Socket Layer protocol that can be used to provide this service. If the communication occurs within a casino or other location or in a circumstance wherein privacy is not a concern, the identification function of this process is still necessary. The process steps that need to be protected by the secure host-player communication process are highlighted in the drawings.
  • Game Transaction Processing System Architecture a method for breaking down most game transaction processing systems into a set of elements that make the processing of transaction processes activities easier to automate.
  • Log is a means of storing sequential information to record and preserve data of interest.
  • a person's diary or checkbooks are examples of data logs.
  • the overall utility of this invention can best be understood by the process of a person deciding to gamble at a casino, registering at the casino, selecting a game to play, playing a game, and checking the game to see that she was not cheated (FIG. 9).
  • the sequence described below assumes that the player already possesses the necessary computer, software, and other basic materials to connect to the host casino.
  • Player registration is the process that a person follows first once they make the decision to play at a host casino (FIG. 11).
  • the data to be used for this process is detailed in Table 1.
  • the player uses her PC to contact the host casino registration application.
  • the host casino registration application responds to the player's PC with information summarizing the terms and conditions for playing. This includes information on topics such as betting, playing games, depositing and redeeming funds, as well as the procedures to address dropped, broken, or lost network connections and other issues.
  • the host casino provides the initial Transaction Sequence Number to the player's PC (Section 2.5).
  • the host casino then prompts the player's PC for identifying information as well as financial data.
  • the financial data could include information such as account numbers, amount to transfer or deposit, as well as other methods of payment and receipt of winnings.
  • the player uses her PC to provide her name and other requested information to the host casino.
  • the host casino processes the identifying and financial information.
  • the host casino will communicate the problems to the player's PC to allow for corrections by the player, if possible (return to step 5).
  • the host casino stores the information in its account database.
  • the host casino will generate any unique identifying information such as a password, keys for the secure host-player communication protocol, and keys for the digital signature function.
  • the host casino will communicate this unique identifying information to the player's PC.
  • the host casino will also provide information so that the player's PC can identify that it is communicating with the host casino.
  • the player's PC will store the unique identifying information.
  • the host casino will provide the player via the PC with the formal contract including all of the detailed terms and conditions for use of the casino. This contract may need to be sent and processed via ordinary mail, depending on legal and regulatory requirements.
  • Game Setup is the process where a registered player connects to the host casino, selects a game to play, and initializes the game (FIG. 12).
  • the data requirements for this process are shown in Table 2.
  • the player decides to play a game at the host casino.
  • the player uses her PC to connect to the host casino.
  • the host casino prompts the player via her PC for her account information as well as some identification information. If this is the beginning of the session with the host casino, the host casino provides the player's PC with the initial Transaction Sequence Number. (Section 2.5)
  • the player uses her PC to provide the host casino with her account and identification information.
  • the player's PC may have stored some or all of the account and identification information and may send this information either automatically when the player's PC connects to the host casino or when prompted by the host casino.
  • the host casino validates the provided account and identification information against its accounting database.
  • the host casino may prompt the player via her PC to attempt to re-enter her account and identification information (go to step 3) or the host casino may terminate the connection.
  • the host casino prompts the player via her PC with the available options including the option to select a game.
  • the player's PC then communicates her decision to the host casino.
  • the host casino communicates a list of available games to the player's PC. Some of the criteria that may be selectable at this time in addition to the specific game to be played may include starting or joining a multi-player game. This includes both the Game Name and the Game Rules Identifier. Game Names could include: blackjack, craps, and poker, while Game Rules Identifier could include how many decks are used for blackjack, what kinds of bets are allowed in craps, and which game of poker is being played (or which games are allowed) as well as whether player interaction is permitted.
  • the player's PC sends both the Game Name and the Game Rules Identifier to ensure that the player and the host are using the same rules. If the player's PC's Game Rules Identifier is different than that sent by the host casino, then go to Game Setup Exception Processing (Step 37).
  • the player uses her PC to communicate her decision to the house.
  • the host casino creates all of the initial attributes of the selected game. This includes the attributes listed in Table 2--most notably the Game ID and Game sequence Number. An additional attribute is a unique Game Rules Identifier that is used to ensure that the player's PC and the host casino are using the same game rules.
  • the host casino will store these attributes in the House Game Log to support Game Verification and for use during the course of the game to track the game's state.
  • the host casino will create a House Game Log for each game played.
  • the host casino will load or activate a session of the selected game application to allow it to support the player's play of the game.
  • the host casino communicates the game attributes to the player via her PC.
  • the player's PC will use the parameters provided by the host casino to establish the initial game state.
  • the player's PC will store these attributes for use during the course of the game to track the game's state.
  • the player's PC may load the game environment that provides the visual, audio, and other information to allow easy and entertaining play of the game.
  • the player's PC will also verify the Game Rules Identifier is the same for the local copy of the game rules.
  • the player's PC will store the initial parameters in the Player Game Log for use later during Game Verification.
  • the host casino begins the Cooperative Random/Seed Generation process by generating an internal random value called the House Random Seed. This is done using a true randomizer or a local deterministic randomization process.
  • the host casino stores the House Random Seed in the House Game Log.
  • the host casino takes the House Random Seed that it generated and creates an irreversible transform of it--called the House Random Seed Irreversible Transform, using a predetermined irreversible transform function.
  • the host casino will store the House Random Seed Irreversible Transform in the House Game Log.
  • the host casino will communicate the House Random Seed Irreversible Transform to the player(s).
  • Each player's PC will store the House Random Seed Irreversible Transform in her respective Player Game Log.
  • Each player's PC begins the Cooperative Random/Seed Generation process by generating an internal random value called the Player Random Seed. This is done using a true randomizer or a local deterministic randomization process. Note:, this can be done independently and at the same time as the host casino generates its random seed.
  • the player's PC may carry out its portions of the Cooperative Random/Seed Generation process either automatically or with intervention by the player.
  • Each player's PC stores the individual Player Random Seed in her respective Player Game Log.
  • each player's PC After receiving the House Random Seed Irreversible Transform, each player's PC communicates her Player Random Seed to the host casino.
  • the host casino stores each player's Player Random Seed in the House Game Log.
  • the host casino communicates all of the Player Random Seeds to each of the player's PCs.
  • Each player's PC will store all of the other Player Random Seeds that she receives in her Player Game Log.
  • the host casino will use the entire set of Player Random Seeds in combination with its own House Random Seed to create the Game Seed (see Section 3.4.4). This seed is used for creation of the subsequent random events during the Game Play process.
  • the host casino will store the Game Seed in the House Game Log.
  • the host casino will compute the irreversible transform of the Game Seed--called the Game Seed Irreversible Transform.
  • the host casino will communicate the Game Seed Irreversible Transform to each of the player's Pcs.
  • Each player's PC stores the Game Seed Irreversible Transform in her Player Game Log (Go to Step 16)
  • the host casino or player's Pcs will notify the other participants in the game of any failures that occur during the Game Setup process. These failures will be logged in the appropriate Game Logs as well as the Exception Logs. Failures will result in processing either to restart the Game Setup process, restore the Game Setup process to some known state, or end the process and game session. This processing will be determined by the game rules and the formal contract that the player agreed to when she registered with the host casino.
  • Game Play is the process allowing the actual play of the game by communication of player, house, and game decisions, supplemental seed generation, events, and bets (FIG. 13). The data requirements for this process are shown in Table 3.
  • the host casino will log all player and host casino activities (game events, player decisions, and exceptions). The player has the option of logging all activities that she sees during the course of the game on her PC--it is most likely the player will log all activities that her PC sees.
  • the general flow of the Game Play process is a series of game events and player decisions. The process begins with the host casino creating game events and communicating the game event or resulting change in Game State to the player.
  • a Game Event in poker would be "Player X was dealt a card face down" to all players except player X who would get to see the contents of the card.
  • the Game State is the complete picture of where all of the cards are, who has them, and who can see their contents. The player then responds with a decision and communicates it back to the host casino. This sequence continues until the end of the game.
  • the host casino checks the Current Game State, the game rules, and player or players decisions to create a game event.
  • Game events There are two types of game events--random and deterministic. Random events include actions such as dealing a card to a player or rolling dice while deterministic events include actions such as moving a piece on a board or placing a bet.
  • the host casino retrieves a Random Event Sequence Number. If the Game Event is the first Game Event, the value is set to a known initial value. A roll of the dice or a card dealt to a player is an example of Random Game Events.
  • the host casino uses the Game Seed and the retrieved Random Event Sequence Number (see Section 3.4.1) to create a Random Game Event. Note that the Random Event Sequence Number generation process is known to all of the players and the host casino prior to the game. It is also possible to generate every Random Event using a separate cooperative random event generation process. This has an advantage against certain forms of casino player collusion.
  • the host casino will increment the Random Event Sequence Number and store it to be used to create subsequent Random Game Events. (Go to Step 6).
  • the host casino creates the Deterministic Game Event.
  • the move of a chess piece is an example of a Deterministic Game Event.
  • the end of the game is a Deterministic Game Event (go to Step 32).
  • the host casino uses the Game Event to update the Current Game State.
  • the host casino communicates either the Game Event or the Current Game State to the player's Pcs. Note that in some cases, only a portion of the Current Game State is communicated to each player's PC and it may be a different portion (such as poker where everyone knows that a card has been dealt, but only one player knows the content of a dealt card--the other players know the fact that an event occurred, but not its complete details).
  • Each player's PC will update its knowledge of the Current Game State based on the received Game Event or Game State update. Where possible, the player's PC will also review the Game State to see if it is consistent with the Game Rules.
  • a player can choose one of four types of actions: Supplemental Cooperative Random/Seed Generation (Step 10), Player Decision (Steps 11 through 24), Reveal Secret (Step 25 through 27), or Verify Secret (Steps 29 through 30).
  • Supplemental Cooperative Random/Seed Generation would include events such as re-shuffling a deck of cards in poker or blackjack.
  • Supplemental Cooperative Random/Seed Generation is either initiated by a player or by the host casino.
  • the process is identical to that described within the Game Setup process (Steps 20 through 36) and is used to create a Supplemental Game Seed.
  • This activity is similar to the request for a "new deck” in card games or "fresh dice” in craps.
  • This process can either be implemented visibly or transparently to the player (the application on the player's PC completes all of the steps without displaying any of the process steps--regardless, the information will be logged in the Player Game Log). (Go to Step 32).
  • a player makes a decision from the set of possible decisions presented to her by her PC or from the host casino based upon the Current Game State and the Game Rules.
  • the Game Rules are a series of predetermined process steps for producing a game result based on player inputs and common rules. For example, blackjack game rules will sequentially deal cards to each player, allow a player to "hit” or “pass", "bust” a player whose card total exceeds 21, allow for "splitting” of hands, etc. Any version of available gaming software may be adapted to be used as the Game Rules.
  • Player decisions can either be deterministic activities (such as bets or moves of game pieces or bids in auctions or trading sessions) or requests for the host casino to create a random event (such as the roll of dice). Since all random events are actually implemented at the host casino, the player "asks” the casino to create the random event--in craps, this is equivalent to a player asking the croupier to roll the dice.
  • the player's PC retrieves the legal decision attributes. There are several attributes that a Player Decision can have (see Table 3). The allowable attributes are subject to the Game Rules and Current Game State. The decision can either be Public or Secret. The decision has a "Decision Type” based on the game rules such as "Bet”, “Select a Card”, “Draw Cards”, “Roll Dice”, etc. The Decision Type may allow multiple values--a “Draw Cards” decision could have a parameter to allow some specific number of cards to be draws: “Draw 3 Cards”. For Secret Decisions, there is an additional value--the "Play Activity Content Irreversible Transform"
  • the player determines the Decision Type and Decision Value and selects or inputs them into her PC.
  • the player's PC inserts the Decision Type and Decision Value into the Game Activity Content.
  • the player determines if the decision is Secret or Public and inputs that information into her PC.
  • Secret decisions are known Only to the player and the house. This may be determined automatically by the player's PC based upon the Game Rules. Since the information that a player makes a secret decision may be useful to other players in certain games, this can be protected by a "NO DECISION" decision that is placed in the Game Activity Content. Secret decisions could be secret moves or piece placement.
  • the game "Battleship" is a familiar example of a game with secret piece placement.
  • the player's PC communicates the Game Activity Content to the host casino. If the decision was Secret, the player's PC also communicates the Game Activity Irreversible Transform to the host casino. Note--some games may support secret decisions that are not shared with the host casino until either later in the game during a subsequent "reveal secret” activity or until the Game Verification process. This characteristic is also true of games without a host computer.
  • Game Activity Content indicates an illegal decision
  • the host casino will reject the decision and take appropriate actions in accordance with the casino's formal contract (go to Step 33).
  • the host casino stores this information in the House Game Log.
  • the host casino will communicate the Game Activity Content to the other players--depending on the Game Rules. This may either be done by forwarding the Game Activity Content or by sending a Game Event or updated Game State. Where possible, the other players will perform a real-time review the legality of the forwarded decision. If the decision is illegal, the players will notify the host casino immediately and store the information in the Player Game Logs and Player Exception Logs. Other actions taken will be done in accordance with the casino's formal contract (go to Step 24).
  • the host casino will verify that the Play Activity Content was used to create the Play Activity Content Irreversible Transform. If the verification fails, the host casino will reject the decision and take appropriate steps based upon the casino's formal contract and Game Rules.
  • the host casino will send the Game Activity Content Irreversible Transform to the other players--depending on the Game Rules.
  • the host casino uses this information to update the Game State in accordance with the Game Rules and continues the game (go to Step 32).
  • Secrets are revealed when required under the rules or at the discretion of a player.
  • Players may, depending on the game rules, also request other players to reveal secrets.
  • Secrets are player decisions that are known only to the player that created the secret and the house (see Steps 16 through 18). Using the previous example of "Battleship", when a ship is sunk, a player reveals its location by sending the set of locations that together make up the ship's position on the board.
  • the secret is actually revealed by the host casino.
  • the host casino checks the Game Activity Sequence Number to determine if the secret can be revealed under the Game Rules. If the secret cannot be revealed, the host casino takes appropriate action based upon the Game Rules and casino's formal contract (go to Step 33).
  • the host casino communicates the Game Play data corresponding to the Game Activity Content of the secret decision to the appropriate player's Pcs (go to Step 32).
  • Players' Pcs receiving the Game Activity Content for another player's secret decision compute the irreversible transform of the received Game Activity Content and compare it with the Game Activity Content Irreversible Transform that the player had received earlier in the game.
  • the player uses her PC to notify the host casino and take appropriate action based upon the casino's formal contract and any regulatory options (go to Step 33).
  • Step 1 This sequence continues (go to Step 1) until the game ends and the host casino provides a game result to all players. The casino and players then may move into the Game Verification process.
  • the host casino or player's Pcs will notify the other participants in the game of any failures that occur during the Game Play process. These failures will be logged in the appropriate Game Logs as well as the Exception Logs. Failures will result in processing either to restart the Game Play process, restore the Game Play process to some known state, or end the process and game session. This processing will be determined by the game rules and the formal contract that the player agreed to when she registered with the host casino.
  • Game Verification is the confirmation of the correctness of an entire game after the game is complete. It comprises a series of steps beginning with the revealing of any secrets from the game and ending with verification that the rules of the game were not broken (FIG. 14). The data requirements for this process are shown in Table 4.
  • the game ends and the host casino communicates a "Game is Over" Game Event to each player.
  • the host casino begins the Game Verification process.
  • Each player's PC processes the Game Event, notifies the player, and begins the Game Verification process.
  • the host casino retrieves the House Game Seed from the House Game Log.
  • the host casino communicates the House Game Seed to each player.
  • the host casino optionally retrieves all of the Player Game Seeds from the House Game Log as well and sends them to each player's PC (these seeds were sent out during the Game Setup process).
  • the host casino retrieves the Game Seed from the House Game Log.
  • the host casino communicates the Game Seed to each player's PC. If there were multiple Game Seeds and House Random Seeds used during the course of the game, they are all retrieved and sent at this time.
  • Each player's PC computes the irreversible transform of the newly received House Random Seed and compares it with the House Random Seed Irreversible Transform retrieved from her Player Game Log (this was provided during the Game Setup process).
  • the player communicates that fact to the host casino and takes appropriate action (including contacting regulatory bodies) depending on the formal contract between the player and the casino.
  • the player's PC and the host casino will also file the information in the appropriate Exception Log.
  • the player's PC uses the Cooperative Random/Seed Generation process, the newly received House Random Seed, and all of the players Player Random Seeds (either just received or retrieved from their respective Player Game Logs) to construct the Game Seed. This process is repeated for each Game Seed used during the course of the game.
  • the Cooperative Random/Seed Generation process is known to all of the players and the host casino prior to the beginning of the game. Rebuilding the Game Seed is equivalent to allowing the shuffle of a deck of cards or sequence of dice rolls to be recreated after the game is over--allowing all of the activities from a game of blackjack or poker to be rebuilt.
  • Each player's PC compares the newly constructed Game Seed with the Game Seed received from the host casino.
  • the player's PC can also compare the irreversible transform of the Game Seed with the Game Seed Irreversible Transform retrieved from the player's Player Game Log. Note that there is no need to provide a Game Seed Irreversible Transform as the Game Seed is verified by the seed reconstruction process. This would only be done for performance reasons.
  • the player uses her PC to communicate that fact to the host casino and takes appropriate action (including contacting regulatory bodies) depending on the formal contract between the player and the casino.
  • the player's PC and the host casino will also file the information in the appropriate Exception Log.
  • each player's PC will retrieve these decisions from her respective Player Game Logs and communicate them to the host casino. This includes both the Play Activity Content and Game Activity Sequence Number. In the game "Battleships", a player would provide the locations of all of her ships to the other player (though only the "unsunk” ones would really need to be sent).
  • the host casino retrieves all of the remaining unrevealed secret decisions from the House Game Log. This includes both the Play Activity Content and Game Activity Sequence Number.
  • the host casino computes the irreversible transform of the Game Activity Content for newly received secret decisions and compares them with the corresponding Game Activity Content Irreversible Transform that the host casino retrieved from the House Game Log.
  • the host casino also stores the newly received Game Activity Contents in the House Game Log.
  • the host casino If the comparison fails, the host casino notifies the player and takes appropriate action based on the formal agreement between the casino and the player. This could include forfeiting any funds that were bet, a financial penalty, banning the player from the casino, etc. The host casino also notifies any other players and takes appropriate action based on the formal agreement between the casino and the players. This could include refunding money or some penalty paid by the offending player.
  • the host casino verifies that the decisions were legal under the Game Rules and Game State at that point in the game. If the decisions were illegal, the host casino notifies the player and takes appropriate action based on the formal agreement between the casino and the player. The host casino also notifies any other players and takes appropriate action based on the formal agreement between the casino and the players.
  • the host casino communicates all of the remaining unrevealed secret decisions to all of the players.
  • the host casino also forwards any newly received secret decisions to all of the players.
  • Each player's PC computes the irreversible transform of the Game Activity Content for newly received secret decisions and compares them with the corresponding Game Activity Content Irreversible Transform that the player retrieves from their respective Player Game Log.
  • the player communicates that fact to the host casino and takes appropriate action (including contacting regulatory bodies) depending on the formal contract between the player and the casino.
  • the player's PC and the host casino will also file the information in their respective Exception Logs.
  • the players each store the received player decisions in their respective Player Game Logs. Note that now each player possesses all of the player decisions from the game.
  • Each player will use her respective Player Game Log and the Game Seed (or Game Seeds, if there were several) to reconstruct all Random Game Events.
  • the Game Seed allows the shuffle or die rolls to be rebuilt, the deterministic random generation or cooperative random generation process actually rebuilds the specific random event (card or dice roll) sequence.
  • the player will use her PC and the Game Seed to compute all of the random Game Events and compare them with the random Game Events that the player's PC had stored in her Player Game Log. Each player's PC will store the newly computed random Game Events in her respective Player Game Log. Note: prior to the game, the host casino and all the players know the deterministic random process that was used.
  • Each player's PC will retrieve the Initial Game State from her respective Player Game Log and use combination of all of the player decisions and game events that she now possesses on her computer to verify that each player decision and each game event is consistent with the Game Rules. This verification can only be done at this time for activities that were not known to a player: secret moves or piece placement as well as card draws (as in poker).
  • the player communicates that fact to the host casino and takes appropriate action (including contacting regulatory bodies) depending on the formal contract between the player and the casino.
  • the player's PC and the host casino will also file the information in the Player Exception Log.
  • Game Verification Process was a success and each player communicates that fact to the host casino.
  • the host casino stores each player's confirmation in the House Game Log.
  • the host casino will also communicate this fact to each of the other players.
  • Each player will log the other players' confirmed verification in her respective Player Game Log. Each player then may begin another game.
  • the host casino or players' Pcs will notify the other participants in the game of any failures that occur during the Game Verification process. These failures will be logged in the appropriate Game Logs as well as the Exception Logs. Failures will result in processing either to restart the Game Verification process or restore the Game Verification process to some known state.
  • Players will always have the option to verify a game for as long as the casino is required to store the game log based upon regulatory requirements as well as the formal contract between the player and the host casino. This processing will be determined by the game rules and the formal contract that the player agreed to when she registered with the host casino.
  • Host-Player Transactions provide a means of reliably processing individual game process steps and ensuring that player(s) and the casino have consistent information about the state of the game (FIG. 15).
  • the Host-Player Transactions process is used for most of the steps in the processes where there is a communication of information between a player and the host casino (see FIG. 10). These steps are clearly noted in the descriptions of Section 2.1 through 2.4 and in the figures corresponding to those sections. The data requirements for this process are shown in Table 5.
  • This process uses a three-step handshake protocol to ensure that data is properly transferred between a player and the host. It also uses authentication via Digital Signatures (Section 3.4.3) to provide very strong data integrity and non-repudiation.
  • This property means that the receiver of a signed message will know who sent the message. The receiver will also know that the received message is the one that the sender sent. The signature has the additional property that the sender cannot later deny that she sent the message. Since either the host casino or the player can initiate a Host-Player Transaction, this description will use the term "sender" for the party that initiates the transaction and is providing data and "receiver" for the party that is accepting the data.
  • the Host-Player Transaction process is tailored to meet the unique distributed gaming requirements.
  • This process supports resending data if a previous step in the process fails. If so, the transaction can either roll back to the beginning or to the previous step in the transaction.
  • Transactions may be optionally logged and are noted in the appropriate step of the process by either the player or the host casino in their respective Transaction Activity Logs. This log may be kept for an extended period of time to meet game verification or legal/regulatory requirements or kept only for the duration of the game or even just the specific transaction.
  • Each transaction includes a sequence number that is defined by the host casino and is incremented with each game activity. Date and time information needs to be accurate enough that the sequence numbers will not be reused.
  • the host casino defines a Transaction Sequence Number at the beginning of a session with a player prior to any Game Setup or Player Registration activities.
  • the sender's computer retrieves the process step datagram.
  • the sender's computer formats the transaction datagram including the Transaction Header and inserting the process step information into the Transaction Payload.
  • the sender then computers the signature and formats other integrity data for the Transaction Authentication Data.
  • the sender stores the Transaction Datagram in the Transaction Activity Log. Note--the sender does not necessarily need to store the actual datagram, but can store sufficient information to reconstruct the datagram in case the transaction fails for some reason.
  • the sender communicates the Transaction Datagram to the receiver.
  • the receiver verifies the signature and other authentication information with the received Transaction Header and Payload.
  • the receiver formats a Transaction Response Information datagram describing the failure in the Transaction Payload.
  • the receiver formats a Transaction Response Information datagram. This can be as simple as a flag or the entire Transaction Payload that the receiver received.
  • the receiver stores the Transaction Response Information datagram information in its Transaction Activity Log.
  • the receiver communicates a Transaction Datagram to the sender including the Transaction Response Information.
  • the sender verifies the received Transaction Datagram. This is dependent on the type of Transaction Response Information that is used.
  • the sender formats a Transaction Response Information datagram that prompts the receiver to resend the receiver's response. This can also occur if the sender does not receive a response within a certain period of time.
  • the sender formats a response that she received the receiver's initial response.
  • the sender stores the fact that the transaction has successfully concluded in the Transaction Activity Log.
  • the sender stores the Transaction Response Information datagram information in its Transaction Activity Log.
  • the sender communicates a Transaction Datagram to the receiver including the Transaction Response Information.
  • the receiver verifies the received Transaction Datagram. This is dependent on the type of Transaction Response Information that is used.
  • the receiver communicates a request to the sender to resend the Transaction Datagram. This can also occur if the receiver does not receive a response within a certain period of time.
  • the receiver reformats the original Transaction Datagram and resends it to the sender. Note: the date/time information may change, but the Transaction Sequence Number would not need to.
  • the purpose of the Secure Host-Player Communication process is to set up a secure channel between each player and the house (FIG. 16).
  • the data requirements for this process are shown in Table 6.
  • This process rides on top of some ordinary network communications protocol (such as TCP/IP) and can be used both to carry the Host-Player Transactions and other message communications (FIG. 17).
  • the Secure Host-Player Transactions process is used for most of the process steps where there is a communication of information between a player and the host casino (see FIG. 10). These steps are clearly noted in the descriptions of Section 2.1 through 2.5 and in the figures corresponding to those sections. All communications between different players are forwarded through the host casino. The host casino determines if the communication is legal to forward based on the Game Rules and formal contract and logs the communication for use in Game Verification if necessary.
  • the player's PC and the host casino use some mechanism to create a unique key to secure their communications.
  • the player's PC and the host casino use the unique key to encrypt the link between the two.
  • the player communicates identifying information to the host casino that was developed during the Player Registration process within the secure communication link.
  • the host casino provides corresponding identifying information to the player. This information was also provided during the Player Registration process.
  • the secure host-player communications link is established and used for all subsequent communications during a session.
  • the sending party formats the Message Content and Message Header into a Communication Datagram.
  • Message types can include Transaction Datagrams, player/house communications, and messages to be forwarded to other players.
  • the protocol does support date/time information. The house will act as master for the clock and provide this information to the player(s) with the other protocol information.
  • the sending party encrypts the message.
  • the sending party sends the message to the receiving party.
  • the receiving party receives the message.
  • the receiving party decrypts the message.
  • the receiving party processes the message.
  • the host casino or player's PC will notify the other participant in the session of any failures that occur during the Secure Host-Player Communication process. These failures will be logged in the Exception Logs.
  • a Game Transaction Process System Architecture provides a construct in which a wide range of games transaction systems can be described.
  • the Trusted Referee model provides the method for assuring the honesty of a game transaction process.
  • the Distributed Gaming Transaction Processing System with Provable Honesty works because game transaction processing systems are a structured sequence of interactions that are controlled by a set of rules.
  • Generic transaction processing systems can be thought of as games: they include one or more parties (players) that interact in a structured way (rules) to reach some conclusion (determine a winner). The remainder of this section will describe transaction processing systems in terms of games. There are five main elements to a game, that are described below and illustrated in FIG. 18.
  • State--The game state consists of the status information as well as current possible game events and player(s) decisions. It is the accumulated result of all past events and decisions made during the course of the game from a known starting point. A change in game state occurs with each event or decision. Individual players do not necessarily know the complete game state.
  • This framework allows most game transaction processes to be described in a systematic format that will allow automation of rules enforcement and use of the Network Gaming Transaction Processing Protocol to permit play processing of the game transaction system in a distributed or network environment.
  • a trustable game transaction processing system is one where players can have confidence that the rules are known and enforced. There are two aspects to this trust--trusting other participants and trusting the referee himself.
  • the referee monitors all activities of participants (decisions and inter-participant communication) making sure that all actions conform to the rules of the game transaction processing system by having a complete understanding of the rules of the game transaction processing system and the current transaction processing system state.
  • the referee is therefore able to know what participant decisions and transaction processing system events are possible at any given point in a transaction processing system.
  • the referee will not let any illegal actions occur: if a rule violation is attempted, the referee will immediately intervene and take the appropriate actions (also determined by the rules). These actions may range from directing the participant to make another choice all the way to ending the transaction process game and invoking some penalty against the participant.
  • Trustee is the implementation challenge that is solved by the verification portion of the Network Gaming Transaction Processing Protocol.
  • the participant is provided with an independent copy of the referee--an application that has a complete understanding of the rules of the game transaction processing system--that can retroactively (or in some cases immediately) verify that the transaction processing system referee controlled by the host is acting appropriately and that the game itself is well-balanced.
  • This application can be provided by an independent regulatory body or certified by such an organization.
  • the participant-controlled referee application can then be used to support any claims of rules violation against the host or other participants in conjunction with the participant transaction processing system log that the participant uses to verify the transaction processing system.
  • Transaction honesty is the honesty of the steps within the transaction and the transaction processing rules--everything that is within the system. This disclosure has explained at length about the protection of the steps of a transaction.
  • Transaction processing rules are the common agreements between the parties to a transaction. In a distributed system, it is especially difficult to know that the parties are using the same rules.
  • Some means of rule set registration is needed so that there is a common way of labeling rule sets ("blackjack--Las Vegas style with an 8 deck shoe that burns the shoe after between 100 and 300 draft cards”. There also needs to be a means to communicate and authenticate these rule set labels.
  • Human honesty is the behavior of the individuals involved in the transaction outside of the transaction system, itself.
  • the main vehicle in a transaction system particularly a distributed system, to encourage appropriate behavior by individuals are contracts and monitoring.
  • the contract must specify the sanctions for breaking the rules of the transaction system.
  • Monitoring is observing the transaction behavior of individuals for anomolous behavior.
  • power outages, dropped connections, and other problems need to be addressed.
  • a particular problem that needs to be addressed is a party to a transaction attempting to abort the transaction in order to avoid an adverse result (such as a player about to lose a game).
  • Randomizers There are four main technical elements that are used for the Network Gaming Transaction Processing Protocol. Randomizers, Irreversible Transforms, and Signatures and Hash Functions are well known mathematical techniques. Cooperative Seed Generation is a new combination of Randomizers and Irreversible Transforms to cooperatively generate random numbers.
  • This invention uses randomizers for two purposes.
  • randomizers are used to generate the seeds that the house and players use (Sections 2.2-2.3). These randomizers can be either deterministic or truly random.
  • Second, deterministic randomizers can be used with the game seed to sequentially generate the random events in a game. A deterministic randomizer must be used to generate random events in order to allow the sequence to be reconstructed after the game.
  • Randomizers generate information that cannot be predicted. For computer-based randomizers, this typically means that zeros and ones are generated such that the knowledge of the sequence that has been generated will give no predictive knowledge of what will be generated next.
  • True randomizers are built on some natural noise source to generate their random data.
  • Deterministic randomizers use a mathematical function and a seed value to generate pseudo-random data. The output of the mathematical function on the seed is the pseudo-random data (a series of 0's and 1's). The seed is then usually updated in some manner to continue to generate random data.
  • a good deterministic randomizer is one that, given knowledge of the randomizer function and a sequence of generated data but not the seed, it is computationally infeasible to guess the pseudo-random data that will be generated next. For this reason, the Game Seed is not divulged until game play has ended.
  • a binary random stream can be used to generate any desired distribution.
  • a uniform distribution of the values from 0 to N-1 can be generated from a log 2 N-bit sequence from the random stream and generating a new value if the result is out of range (greater or equal to N). For example, values from a deck of 52 cards can be found by using a 6-bit sequence from the random number generator. This 6-bit number will be a number between 0 and 63. If the value generated is not between 1 and 52, then a new 6-bit sequence will be drawn until a value in the 1 to 52 range is generated. If multiple cards need to be dealt, then the next number is drawn out of the range 1 to 51, then 1 to 50, etc.
  • Non-uniform distributions can be built by combining uniform distributions.
  • An irreversible transform is a mathematical function with the attribute that given the output of the function it is computationally unfeasible to reconstruct the input (a simple example would be that of an ordinary paper phone book--it is easy to find a phone number for a given name, but it is very hard to find the name if all that is possessed is the phone number and a copy of the phonebook). All irreversible transforms "coalesce" the input data--the number of possible outputs is less than the number of possible inputs. For this invention, interesting irreversible transforms have nearly as many possible output values as input values. The irreversible transform needs to have a large input and output field (e.g., 512 or even 1024 bits). This allows the data required for the protocol to fit within a single field. Thus, a random seed for use in a game may require 256 bits and the input to the irreversible transform would append additional random bits to the input:
  • an irreversible transform is a function of the form:
  • E(x) is an good encryption function with a known key and x is an input field with the desired length.
  • Irreversible transforms are used both to generate keys (see below) and protect and allow validation of secrets in the Network Gaming Transaction Processing Protocol.
  • the secrets protection process starts with the binary representation of the thing being protected:
  • the irreversible transform of the secret is created and provided to the other party with whom the secret is supposed to be shared at a later point:
  • the verifier then computes the irreversible transform of the alleged secret and compares it with the previously received irreversible transform of the secret:
  • Signatures are used to ensure that only a single individual could have created the message that was signed. Signatures are a combination of two elements: a hashing function and a public key encryption function.
  • a hashing function takes any arbitrary variable length stream of data and reduces it to a relatively small fixed sized data block (say 1024-bits) usually called the hash value.
  • the hashing function has the attribute that given the knowledge of the hashing function and a data stream it is computationally infeasible to generate another data stream with the same hash value. This condition is often weakened in practice that no controllable input data stream can be created with the same hash value.
  • the hash value must be large enough that it is computationally infeasible to create a "dictionary" of hash values. Thus, an 8-bit hash value would be far too small since there are only 256 possible hash values (2 8 ) as opposed to 2 1024 possible values in the example.
  • a public key encryption function is used to ensure that only the originator could have created and signed the message.
  • Public key cryptography relies on mathematical functions that are asymmetric. In these functions, knowledge of the public (decrypt) key and the mathematical function will not allow reconstruction of the encrypt key (which is kept as a secret known only by its creator).
  • the commercial Rivest--Shamir--Adelman (RSA) process is the best known example of this technique.
  • This secret encryption key is used to encrypt the hash value for a message--thereby "signing" it:
  • the originator then sends the pair:
  • the verification of this process uses the public decrypt key and the publicly known hash function:
  • the cooperative seed or cooperative random generation process allows the creation of a random number that cannot be predicted or controlled by any of the parties to the process.
  • This process can be used for the creation of seeds to generate random numbers or to create random numbers directly.
  • This description of the process will have multiple parties with one being called the House and the others called Player(1) through Player(N) where N is an integer greater than 0.
  • the process uses irreversible transforms, described above.
  • the House computes an irreversible transform of the random number and provides it to players:
  • Each player also computes a random number:
  • the players then provide irreversible transforms of their respective random numbers to house and to each other:
  • the house then combines the player random numbers with its own random number to create the cooperative random number.
  • This function could be as simple as an "exclusive or”:
  • this cooperative random number can be revealed immediately or during the verification phase. Until the number is revealed, the number must be protected by the host casino to protect the game. To verify that the house did not control the construction of the random number, the previously stored:
  • IrreversibleTransform(Random(House)) can be compared with the irreversible transform of the received alleged random number during game verification:
  • the process described in this paper can have a unique role in enabling Internet gambling by creating an environment were individuals can play games with confidence that the house is not cheating them by stacking the deck or shaving dice.
  • the apparatus and processes described herein may be applied to non-gambling transactions conducted over a communications network.
  • the technology described above may be applied in fields such as stock, currency, and commodities trading.
  • fields such as stock, currency, and commodities trading.
  • the secret or simultaneous player decision capability can be used to serve this function.
  • This invention could allow distributed markets such as NASDAQ to have the same sort of open auction that is held in the NY Stock Exchange--a market mechanism that can provide better pricing efficiency.
  • This technique may also allow buyers and sellers to negotiate without the use of a human broker and prevent certain forms of abuse by brokers (such as buying or selling in advance of client orders).
  • These secret and simultaneous decision features may also be useful for general auctions and contract negotiations where secrecy and simultaneity are valued.
  • Elections and polling may be implemented using the secret decision mechanism to allow votes to be cast without revealing the votes until the election is complete--potentially reducing certain problems with exit polling keeping people from voting. Polling might also benefit from the ability to have secret polls held to minimize the bias of other members of the sample.
  • the game rules are replaced with the model engine--be it a heuristic rule set, neural net, fuzzy logic algorithm, inference engine, or other technique.
  • the game rules are replaced by transaction logic. Accordingly, the scope of the appended claims is not limited by the specific gaming embodiments described above, but may be determined by the appended claims and their equivalents.

Abstract

Apparatus and method for verifying honest gaming transactions over a communications network includes structure and process whereby a host processor receives a random number from a satellite processor over the communications network. The host processor generates a game seed based on the random number. The host processor also receives an arbitrary game input from the satellite processor and generates a game result based on the game input, the game seed, and predetermined game rules. The satellite processor provides the random number and the arbitrary game input to the host processor over the communications network, and receives data corresponding to the game seed and the game result from the host processor. The satellite processor verifies the honesty of the transaction by (i) generating a game result based on the game input, the data corresponding to the game seed, and the predetermined game rules, and (ii) compares the generated game result with the received game result. A storage medium is also provided for storing a computer-implemented program to carry out the functions described above.

Description

This application is a continuation of application Ser. No. 08/921,520, filed Sep. 2, 1997, now U.S. Pat. No. 6,030,288.
FIELD OF THE INVENTION
The present invention relates to apparatus and method for verifying honest gaming transactions over a communications network, and particularly for verifying gambling transactions over the Internet.
RELATED ART
Games and betting were probably two of mankind's first inventions with cheating coming quickly thereafter. Ever since, the seductive thrill of gambling has inspired a duel between cheaters and honest players and casinos. This war has resulted in elaborate inventions by both sides--shaved cards, loaded dice, and stacked decks versus pit bosses, video cameras, and gaming commissions. The attraction of easy money and the temptation to get that extra "edge" have created an environment where political and religious leaders have regulated or outlawed gambling. Today, governments closely regulate or even operate gambling businesses and it is a multi-billion dollar entertainment industry with many millions of players.
The Internet poses a new challenge and presents a new opportunity for the ancient art of gambling. The global network will allow people to play games of chance in their own city or across the world from the comfort of their home. This opportunity has excited many businesses and raised the concerns of governments. The specter of unregulated gambling over the Internet has raised, once again, calls for banning gambling for fear of cheating and abuse.
The network and computer technologies that created these problems have now an answer. Previous inventions attempted to address both the problem of cheating for games and support the play of games over a network--most notably U.S. Pat. No. 5,586,937. This patent and other patents before it have provided a means to distribute game information between computers or terminals and a host computer. At best, these patents provide privacy and some level of control of transactions between the host and the players. Though many of these patents talk about "fairness", they mainly protect the house from cheating or game manipulation by the players. Other existing network security and electronic commerce technologies also focus on providing privacy and integrity for sessions or transactions. The central problem of protecting players from cheating by the casino and independent verification remains.
Thus, what is needed is a system that protects individuals and enables regulation using existing computer and cryptographic capabilities in a novel way. Players should be able to use an ordinary home computer and software to play games of chance with full confidence that the casino is not cheating them in any way. Regulators should also be able to reassemble suspected a game to prove that the casino and players played the game honestly. Casinos themselves should be able to ensure that they are not being cheated by the players.
SUMMARY OF THE INVENTION
The present invention builds on the previous work but solves the problem of cheating by the casino or players. This solution, in fact, makes gambling via the Internet more trustable than going to a traditional legitimate casino. Players help create all random game events and review every game after it is over. This is equivalent to a card player being able to have a "second shuffle" after the casino before the game begins. After the game, the player can reconstruct the casino's shuffle to rebuild the entire "deal" of the cards.
An additional feature is the ability to support secret and simultaneous decisions. The simplest example of the use of this is the children's game Rock-Paper-Scissors. In this game, players make a simultaneous decision as to which of the three items the player will choose. The problem comes when players change their decision at the last moment after seeing what the other player has done. The new system allows players to make these kinds of decisions and reveal that they have made the decision without revealing the decision itself until it is required (choosing Scissors without revealing or being able to deny that one has chosen Scissors).
This invention implements these techniques by a combination of software on a player's personal computer and a casino's host computer connected over a communications network. The player's PC and the host computer communicate the distributed gaming information via a protocol described in this disclosure. These techniques are implemented in a separate layer of software that sits above any communications software and below the software for a specific game. This provides a "middleware" layer, much like the World Wide Web, to allow communications between players and casinos in the same way a web browser connects to a web server.
With the use of this invention, Internet gambling becomes not just technically feasible, but politically possible. Players will have the confidence to trust on-line casinos and governments will be able to regulate them. New gambling possibilities will be opened allowing entirely novel games built on the middleware and protocol described by this invention. The economic, social, and entertainment potential may be as unpredictable and limitless as the Internet itself.
According to a first aspect of the present invention, apparatus and method for verifying honest gaming transactions over a communications network includes structure and steps whereby a host processor creates a host random number and receives a random number from a satellite processor over the communications network, and generates a game seed based on the random number. The host computer also receives a game input from the satellite processor and generates a game result based on the game input, the game seed, and a predetermined set of game rules. A satellite processor provides the random number and the game input to the host processor over the communications network, and receives data corresponding to the game seed and the game result from the host processor. The satellite processor can then verify the honesty of the transaction by (i) generating a game result based on the game input, the data corresponding to the game seed, and the predetermined game rules, and (ii) comparing the generated game result with the received game result.
According to a second aspect of the present invention, apparatus and method for verifying honest gaming transactions over a communications network includes structure and steps whereby a host processor:
(i) determines a host random number;
(ii) provides an irreversible transform of the host random number to a satellite processor over the communications network;
(iii) receives a satellite random number from the satellite processor over the communications network;
(iv) generates a game seed from the host random number and the satellite random number;
(v) receives an arbitrary game decision input from the satellite processor;
(vi) stores the host random number, the satellite random number, the game seed, the arbitrary game decision input, and predetermined game rules;
(vii) generates a random event from the game seed;
(viii) produces a game result using the game decision input, the random event, and the predetermined game rules;
(ix) provides the game result to the satellite processor over the communications network; and
(x) provides the host random number and the game seed to the satellite processor over the communications network.
A satellite processor:
(i) receives the host random number irreversible transform from the host processor over the communications network;
(ii) determines a satellite random number;
(iii) provides the satellite random number to the host processor over the communications network;
(iv) provides the arbitrary game decision input to the host processor;
(v) stores the host random number irreversible transform, the predetermined game rules, and the game decision input;
(vi) receives the game result from the host processor over the communications network;
(vii) receives the host random number and the game seed from the host processor; and
(viii) verifies the game by (a) generating an irreversible transform of the received host random number, (b) comparing the generated transform with the previously stored host random number irreversible transform, (c) reconstructing the game seed from the host random number and the satellite random number, (d) generating a game result using the stored game decision input and the stored predetermined game rules, and (e) comparing the generated game result with the received game result.
Where a plurality of satellite processors are provided, each satellite processor will reconstruct the game seed utilizing the satellite random numbers from all the satellite processors.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows the Generic Player/Game Architecture--a picture of the general framework for players and a casino or "house".
FIG. 2 shows the Player/Host Casino Middleware Architecture--a diagram depicting the relationship of the key elements of the invention client-server relationship.
FIG. 3 shows the Generic Physical Architecture--a diagram representing the typical physical components of the invention and their relationship.
FIG. 4 shows the Host Casino Functional Architecture--a diagram representing the functional elements of the host casino.
FIG. 5 shows the Host Casino Physical Architecture--a diagram representing the physical elements of the host casino and their relationships.
FIG. 6 shows the Player System Functional Architecture--a diagram representing the functional elements of the player system.
FIG. 7 shows the Player System Physical Architecture--a diagram representing the physical elements of the player system and their relationships.
FIG. 8 shows the Top-Level Process Relationships--a diagram depicting the relationship of the various top-level processes.
FIG. 9 shows the Top-Level Functional Flow--a diagram showing the top-level flow that would be used during the operation of the invention.
FIG. 10 shows the Key--a description of the elements used in the flow charts.
FIG. 11 shows the Player Registration Flow-Chart--a diagram depicting the flow of the Player Registration process.
FIG. 12 shows the Game Setup Flow-Chart--a diagram depicting the flow of the Game Setup process.
FIG. 13 shows the Game Play Flow-Chart--a diagram depicting the flow of the Game Play process.
FIG. 14 shows the Game Verification Flow Chart--a diagram depicting the flow of the Game Verification process.
FIG. 15 shows the Host-Player Transaction Flow-Chart--a diagram depicting the flow of the Host-Player Transaction process.
FIG. 16 shows the Secure Host-Player Communication Flow-Chart--a diagram depicting the flow of the Secure Host-Player Communication process.
FIG. 17 shows the Protocols and Packets--a picture showing how protocols are transmitted over a network and how protocols are nested within each other (also commonly called encapsulation or tunneling).
FIG. 18 shows the Generic Game Architecture--a picture of the elements of a game: events, decisions, rules, environment, data stores, and states.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
1. Introduction
The subject application describes a protocol between the player's and casino's computers that allows the players to "shuffle the deck" for all game events, play the game, and rebuild all game events after the game is over. By eliminating many forms of cheating and allowing any suspected game to be reviewed, this system will make Internet gambling safe and secure--significantly reducing the objections of many doubting governments, wary consumers, and cautious businesses. This technology may also be applicable for other types of transactions over the Internet and other networks and may enable different implementations of games and gambling activities within casinos.
This disclosure defines an embodiment of a distributed transaction processing system with provable honesty where the application is Internet gambling--clients are players gambling using an automated host casino. The core transaction system middleware implemented by software on the player's computer communicates using a unique gaming protocol with the host casino computer. The unique portions of the game application (for blackjack, craps, or new games) rides on top of this common middleware layer to implement this honest gambling system.
2. The Embodiment
The overall functional architecture of the distributed gaming system comprises one or more players and a casino (FIG. 1). As shown in the figure, all interactions go through the host casino including interactions between players. Another way of looking at the functional architecture is that there is a client player game application, a server host game application, and the distributed gaming system "middleware" application with the network gaming protocol (FIG. 2).
This architecture could be implemented by a host computer that provides communications to player computers via one of three means: direct connection via a local area network, telephone link via a modem, or a wide area network connection such as the Internet (FIG. 3).
The host casino system comprises a number of applications that may be implemented on one or more computers: a front-end such as a web server, an accounting system, a the game verification system, a registration system, an audit system, a customer service system, and a game manager that supports the game protocol and controls multiple game application sessions (FIG. 4). This is implemented on a platform that includes a display, a computer processor and operating system, an input device such as a keyboard, a mass storage system such as a hard disk, a communication device, and an archive for long term storage (FIG. 5).
The player system comprises a game protocol package, the game verification application, and one or more game applications (FIG. 6). The player platform comprises a display and operating system, an input device such as a keyboard, a computer processor with operating system, a mass storage system such as a hard disk, and a communication device (FIG. 7).
There are four major processes implemented by this invention: player registration, game setup, game play, and game verification. There are two supporting processes that will also be described in detail: secure host-player communication and host-player transactions. These processes encapsulate each other and the core game processes--the core game processes are carried within the transaction process and the transaction process is carried inside the communication process (FIG. 8). The exchange of information between players and host casinos for these 6 processes together constitute the Network Gaming Transaction Processing Protocol. Other processes that are likely to be implemented are processes for accounting for financial transactions between players and hosts, software distribution for providing game and middleware protocol software to players, and customer service to address customer problems.
Player registration is the process where a player contacts the host casino to set up an account to be able to play (Section 2.1). The player also signs a contract with the casino to set up the terms and agreements needed to ensure that the player understands both the rules of the casino for betting, playing games, depositing and redeeming funds, as well as the procedures to address dropped, broken, or lost network connections and other issues that occur in computer and network games that do not occur at a casino.
Game setup is the process where a registered player connects to the host casino and selects a game to play (Section 2.2). This process also includes the exchange and establishment of the initial parameters of a game. This process additionally handles the setup and entry into multi-player games such as poker.
Game play is the process where a registered player who has completed the game setup process plays a game on-line (Section 2.3). This includes the processing of player decisions by the host casino and the communication of game events by the host casino to the player. This process also includes some incremental verification to ensure that the game rules are being followed and take appropriate action if they are not.
Game verification is the process of reconstructing the game events and parameters to ensure that no cheating occurred (Section 2.4). This can be done by any player as well as by the casino or an independent auditor or regulator. The random sequence that was created during the game will be reconstructed using the deterministic randomization process and Cooperative Random/Seed Generation process (Section 3.4.4). Also during this process, all secrets from the game are revealed and verified. These secrets, combined with an audit record of all observed game events, allow the complete reconstruction of all activities during the game to verify that no cheating had occurred and, if it did, what was done and by whom. The game verification process enables the provable honesty capability.
The host-player transaction process provides confidence to the player and the host casino that all information (particularly information from the game processes) is received properly (see Section 2.5). This transaction process is built upon well-known "handshake" protocols for the reliable exchange of data with the addition of the use of a cryptographic signature function such as the US Digital Signature Standard (Section 3.4.3). This function provides very strong assurance that game process information is correct and was generated either by the participating player or the host casino. This process can be removed provided some other mechanism or agreement is in place to provide its confidence and "non-repudiation" functions. The process steps that need to be protected by the host-player transaction process are clearly indicated in the drawings.
Secure host-player communication is the process where a player sets up a communication connection with a host casino. This process provides privacy for their communications as well as confidence of the identity of the participants in the process--the player knows that she is communicating with the specific casino and the casino knows that it is communicating with the specific player (Section 2.6). This process is used for all communications between the host casino and the individual player. If the player is participating in a game where player-to-player communication is allowed, the host casino uses the communication process to forward these communications between players--there is no direct communication between players (FIG. 1). There are commercial and well-known products such as the Secure Socket Layer protocol that can be used to provide this service. If the communication occurs within a casino or other location or in a circumstance wherein privacy is not a concern, the identification function of this process is still necessary. The process steps that need to be protected by the secure host-player communication process are highlighted in the drawings.
There are several techniques and concepts that provide the theory for why this invention works. They are noted as they occur during the detailed descriptions below and are described in a separate section of this application (Section 3). The topics are:
Game Transaction Processing System Architecture--a method for breaking down most game transaction processing systems into a set of elements that make the processing of transaction processes activities easier to automate. (Section 3.1) Trusted Referee Model--an approach for arbitrating rule-based systems such as games and validating honest game play during or after a game. (Section 3.2)
Honesty Model--an explanation of the strengths and limitations of the system for ensuring honesty. (Section 3.3)
Randomizers--the computer devices or algorithms and means for generating unpredictable outcomes similar to dice or cards. (Section 3.4.1)
Irreversible Transforms--a mathematical function that has the characteristic that it is difficult to reconstruct the input data even if the output of the function is known (a simple example would be that of a phone book--it is easy to find a phone number for a given name, but it is very hard to find the name if all that is possessed is the phone number and a copy of the phonebook). (Section 3.4.2)
Signatures and Hash Functions--a method for providing confidence that data has not been manipulated and that it was created by some specific individual. (Section 3.4.3)
Cooperative Seed/Random Generation--a method for creating random numbers that has the effect of allowing a player to electronically "shuffle cards" jointly with the house while allowing the resultingrandom sequence of "cards" to be recomputed after the game ends. (Section 3.4.4)
See also "Applied Cryptography", Second Edition, by Bruce Schneider, 1995, incorporated herein by reference.
Another feature that is used throughout this presentation is the Log. A Log is a means of storing sequential information to record and preserve data of interest. A person's diary or checkbooks are examples of data logs.
The overall utility of this invention can best be understood by the process of a person deciding to gamble at a casino, registering at the casino, selecting a game to play, playing a game, and checking the game to see that she was not cheated (FIG. 9). The sequence described below assumes that the player already possesses the necessary computer, software, and other basic materials to connect to the host casino.
2.1 Player Registration
Player registration is the process that a person follows first once they make the decision to play at a host casino (FIG. 11). The data to be used for this process is detailed in Table 1.
              TABLE 1                                                     
______________________________________                                    
PLAYER REGISTRATION DATAGRAM CONTENTS                                     
FIELD NAME                                                                
         DESCRIPTION          DATA TYPE                                   
______________________________________                                    
HEADER DATA                                                               
Player ID                                                                 
         A unique identifier for the player                               
                              Integer                                     
House ID A unique identifier for the house                                
                              Integer                                     
REGISTRATION PAYLOAD                                                      
Registration                                                              
         The registration datagram used to send                           
                              Data structure                              
Content  all for the registration step information                        
Registration                                                              
         An error code used for notifying other                           
                              Data structure                              
Exception                                                                 
         party(ies) of any exceptions to the                              
Information                                                               
         proper execution of the process                                  
______________________________________                                    
Player Registration Start
1. The player uses her PC to contact the host casino registration application.
2. Next, the host casino registration application responds to the player's PC with information summarizing the terms and conditions for playing. This includes information on topics such as betting, playing games, depositing and redeeming funds, as well as the procedures to address dropped, broken, or lost network connections and other issues. The host casino provides the initial Transaction Sequence Number to the player's PC (Section 2.5).
3. If the player decides to accept the terms, she uses her PC to notify the host casino.
Player Account Establishment
4. The host casino then prompts the player's PC for identifying information as well as financial data. The financial data could include information such as account numbers, amount to transfer or deposit, as well as other methods of payment and receipt of winnings.
5. The player uses her PC to provide her name and other requested information to the host casino.
6. The host casino processes the identifying and financial information.
7. If there are legal, financial, or other problems with the information that the player provided, the host casino will communicate the problems to the player's PC to allow for corrections by the player, if possible (return to step 5).
8. If there are no problems, the host casino stores the information in its account database.
Player Unique Identification Information Distribution
9. The host casino will generate any unique identifying information such as a password, keys for the secure host-player communication protocol, and keys for the digital signature function.
10. The host casino will communicate this unique identifying information to the player's PC. The host casino will also provide information so that the player's PC can identify that it is communicating with the host casino.
11. The player's PC will store the unique identifying information.
Formal Contract Creation
12. The host casino will provide the player via the PC with the formal contract including all of the detailed terms and conditions for use of the casino. This contract may need to be sent and processed via ordinary mail, depending on legal and regulatory requirements.
13. If the player does not agree to the contract, then the player uses her PC to send that message to the host casino where all previously stored information is deleted and no account is created for the person.
14. If the player does agree to the contract, then the player uses her PC to send that message to a PC and an account is created and stored and the player can proceed to Game Setup.
2.2 Game Setup
Game Setup is the process where a registered player connects to the host casino, selects a game to play, and initializes the game (FIG. 12). The data requirements for this process are shown in Table 2.
              TABLE 2                                                     
______________________________________                                    
GAME SETUP DATAGRAM CONTENTS                                              
FIELD NAME                                                                
         DESCRIPTION          DATA TYPE                                   
______________________________________                                    
HEADER                                                                    
Player ID                                                                 
         A unique identifier for the player                               
                              Integer                                     
Other Player                                                              
         A list of unique identifiers for all                             
                              Set of integers                             
ID Set   players in the game                                              
House ID A unique identifier for the host                                 
                              Integer                                     
         casino                                                           
Game Rules                                                                
         The ordinary name of the game                                    
                              Enumerated list                             
Identifier                    of allowable                                
                              games recog-                                
                              nized by the                                
                              house                                       
Game Name                                                                 
         A unique identifier for the type of game                         
                              Enumerated list                             
         being played         of allowable                                
                              games recog-                                
                              nized by the                                
                              house                                       
Game ID  A unique identifier for the specific                             
                              Integer                                     
         game being played                                                
Game Activity                                                             
         A unique number for the event or                                 
                              Integer                                     
Sequence decision within a specific game. Esta-                           
Number   blished only by the house. Not defined                           
         until the transaction is acknowledged.                           
Setup Activity                                                            
         A value identifying whether this is the                          
                              Enumerated list                             
Type     game establishment or cooperative                                
                              (Establish,                                 
         random generation activity.                                      
                              Random                                      
                              Generation)                                 
GAME PROTOCOL SETUP PAYLOAD                                               
Game Protocol                                                             
         Notification to all players as well as the                       
                              Data                                        
Setup Except-                                                             
         house of any exceptions to the proper                            
                              structure.sup.(1)                           
ion Information                                                           
         execution of the game protocol                                   
The following additional information is used for cooperative random       
generation only:                                                          
Player Random                                                             
         A random number provided by a player                             
                              Binary                                      
Seed     to the host casino for use in cooperative                        
                              Sequence -                                  
         random generation    defined only                                
                              for player com-                             
                              munications                                 
                              with house                                  
Player Random                                                             
         A set of pairwise data (player ID, ran-                          
                              Set of ordered                              
Seed Set dom seed) that identifies the random                             
                              pairs of                                    
         numbers provided by a set of players                             
                              integers and                                
         having Player ID(s) for use in coopera-                          
                              Binary                                      
         tive random generation. This is used by                          
                              Sequence                                    
         the host casino during the setup phase                           
         and is stored by the other players until                         
         the verification phase.                                          
House Random                                                              
         A random number generated by the                                 
                              Binary                                      
Seed     house for use in cooperative random                              
                              Sequence                                    
         generation. The host casino stores the                           
         House Random Key. It is not provided                             
         to the player(s) until the Game                                  
         Verification Process.                                            
House Random                                                              
         The irreversible transform of the                                
                              Binary                                      
Seed     random seed used by the host casino for                          
                              Sequence                                    
Irreversible                                                              
         cooperative random generation. This is                           
Transform                                                                 
         provided to the players during this                              
         phase as is used by the players during                           
         the Game Verification process. This                              
         information is stored by both the indivi-                        
         dual players and the host casino.                                
Game Seed                                                                 
         The seed created by the cooperative                              
                              Binary                                      
         random/seed generation process that is                           
                              Sequence                                    
         actually used for creating deterministic                         
         random data for use during the game. It                          
         is stored and used by the host casino                            
         during the Game Play process. This                               
         seed is not provided to the players until                        
         the Game Verification process.                                   
______________________________________                                    
 .sup.(1) Data structure unique to the game protocol and any other        
 standards or commercial technologies (operating system, error handling   
 libraries, etc.) employed.                                               
Game Setup Begins
1. The player decides to play a game at the host casino.
2. The player uses her PC to connect to the host casino.
Player Account Validation
3. The host casino prompts the player via her PC for her account information as well as some identification information. If this is the beginning of the session with the host casino, the host casino provides the player's PC with the initial Transaction Sequence Number. (Section 2.5)
4. The player uses her PC to provide the host casino with her account and identification information. The player's PC may have stored some or all of the account and identification information and may send this information either automatically when the player's PC connects to the host casino or when prompted by the host casino.
5. The host casino validates the provided account and identification information against its accounting database.
6. If the validation fails, the host casino may prompt the player via her PC to attempt to re-enter her account and identification information (go to step 3) or the host casino may terminate the connection.
Player Game Selection
7. If the validation passes, the host casino prompts the player via her PC with the available options including the option to select a game.
8. The player's PC then communicates her decision to the host casino.
9. If the player decides to do something besides play a game, the host casino will service those options and then prompt the player again via her PC (go to Step 7).
10. If the player decides to play a game, the host casino communicates a list of available games to the player's PC. Some of the criteria that may be selectable at this time in addition to the specific game to be played may include starting or joining a multi-player game. This includes both the Game Name and the Game Rules Identifier. Game Names could include: blackjack, craps, and poker, while Game Rules Identifier could include how many decks are used for blackjack, what kinds of bets are allowed in craps, and which game of poker is being played (or which games are allowed) as well as whether player interaction is permitted. The player's PC sends both the Game Name and the Game Rules Identifier to ensure that the player and the host are using the same rules. If the player's PC's Game Rules Identifier is different than that sent by the host casino, then go to Game Setup Exception Processing (Step 37).
11. The player uses her PC to communicate her decision to the house.
Casino Game Setup
12. The host casino creates all of the initial attributes of the selected game. This includes the attributes listed in Table 2--most notably the Game ID and Game sequence Number. An additional attribute is a unique Game Rules Identifier that is used to ensure that the player's PC and the host casino are using the same game rules.
13. The host casino will store these attributes in the House Game Log to support Game Verification and for use during the course of the game to track the game's state. The host casino will create a House Game Log for each game played.
14. The host casino will load or activate a session of the selected game application to allow it to support the player's play of the game.
15. If the game selected by the player uses random events such as dice or cards, the host casino will carry out the Cooperative Random/Seed Generation process (see Step 20).
16. The host casino communicates the game attributes to the player via her PC.
Player Game Setup
17. The player's PC will use the parameters provided by the host casino to establish the initial game state. The player's PC will store these attributes for use during the course of the game to track the game's state. The player's PC may load the game environment that provides the visual, audio, and other information to allow easy and entertaining play of the game. The player's PC will also verify the Game Rules Identifier is the same for the local copy of the game rules.
18. The player's PC will store the initial parameters in the Player Game Log for use later during Game Verification.
19. The host casino and the player will move into the Game Play process.
Cooperative Game Seed Generation
20. The host casino begins the Cooperative Random/Seed Generation process by generating an internal random value called the House Random Seed. This is done using a true randomizer or a local deterministic randomization process.
21. The host casino stores the House Random Seed in the House Game Log.
22. The host casino takes the House Random Seed that it generated and creates an irreversible transform of it--called the House Random Seed Irreversible Transform, using a predetermined irreversible transform function.
23. The host casino will store the House Random Seed Irreversible Transform in the House Game Log.
24. The host casino will communicate the House Random Seed Irreversible Transform to the player(s).
25. Each player's PC will store the House Random Seed Irreversible Transform in her respective Player Game Log.
26. Each player's PC begins the Cooperative Random/Seed Generation process by generating an internal random value called the Player Random Seed. This is done using a true randomizer or a local deterministic randomization process. Note:, this can be done independently and at the same time as the host casino generates its random seed. The player's PC may carry out its portions of the Cooperative Random/Seed Generation process either automatically or with intervention by the player.
27. Each player's PC stores the individual Player Random Seed in her respective Player Game Log.
28. After receiving the House Random Seed Irreversible Transform, each player's PC communicates her Player Random Seed to the host casino.
29. The host casino stores each player's Player Random Seed in the House Game Log.
30. The host casino communicates all of the Player Random Seeds to each of the player's PCs.
31. Each player's PC will store all of the other Player Random Seeds that she receives in her Player Game Log.
32. The host casino will use the entire set of Player Random Seeds in combination with its own House Random Seed to create the Game Seed (see Section 3.4.4). This seed is used for creation of the subsequent random events during the Game Play process.
33. The host casino will store the Game Seed in the House Game Log.
34. The host casino will compute the irreversible transform of the Game Seed--called the Game Seed Irreversible Transform.
35. The host casino will communicate the Game Seed Irreversible Transform to each of the player's Pcs.
36. Each player's PC stores the Game Seed Irreversible Transform in her Player Game Log (Go to Step 16)
Game Setup Exception Handling
37. The host casino or player's Pcs will notify the other participants in the game of any failures that occur during the Game Setup process. These failures will be logged in the appropriate Game Logs as well as the Exception Logs. Failures will result in processing either to restart the Game Setup process, restore the Game Setup process to some known state, or end the process and game session. This processing will be determined by the game rules and the formal contract that the player agreed to when she registered with the host casino.
2.3 Game Play
Game Play is the process allowing the actual play of the game by communication of player, house, and game decisions, supplemental seed generation, events, and bets (FIG. 13). The data requirements for this process are shown in Table 3.
              TABLE 3                                                     
______________________________________                                    
GAME PLAY DATAGRAM CONTENTS                                               
FIELD NAME                                                                
         DESCRIPTION          DATA TYPE                                   
______________________________________                                    
HEADER                                                                    
Player ID                                                                 
         A unique identifier for the player                               
                              Integer                                     
Other Player                                                              
         A list of unique identifiers for all                             
                              Set of integers                             
ID Set   players in the game                                              
House ID A unique identifier for the house                                
                              Integer                                     
Game Rules                                                                
         The ordinary name of the game                                    
                              Enumerated list                             
Identifier                    of allowable                                
                              games recog-                                
                              nized by the                                
                              house                                       
Game Activity                                                             
         A unique number for the event or                                 
                              Integer                                     
Sequence decision within a specific game. Esta-                           
Number   blished only by the house. Not defined                           
         until the transaction is acknowledged.                           
Play Activity                                                             
         Identifies whether this is an event, seed                        
                              Enumerated list                             
Type     generation, decision, reveal                                     
                              (event, seed,                               
                              decision,                                   
                              reveal)                                     
Play Activity                                                             
         The ID of an initiator of the activity,                          
                              Integer                                     
Source ID                                                                 
         whether the player or the house                                  
Play Activity                                                             
         Identifies whether the activity is secret                        
                              Enumerated list                             
Confidentiality                                                           
         or public            (secret, public)                            
Play Activity                                                             
         Identifies whether the activity is                               
                              Boolean                                     
Random   randomly generated or not                                        
GAME PLAY PROTOCOL PAYLOAD                                                
Player Random                                                             
         A random number provided by a player                             
                              Binary Se-                                  
Seed     for use in cooperative random                                    
                              quence - de-                                
         generation           fined only for                              
                              player com-                                 
                              munications                                 
                              with house                                  
Player Random                                                             
         A set of pairwise data (player ID,                               
                              Set of ordered                              
Seed Set random seed) that identifies the random                          
                              pairs of inte-                              
         numbers provided by a set of players                             
                              gers and Binary                             
         having Player ID(s) for use in coopera-                          
                              Sequence                                    
         tive random generation                                           
Play Activity                                                             
         The contents of the event, decision, or                          
                              Data                                        
Content  reveal activity      structure.sup.(1)                           
Play Activity                                                             
         The irreversible transform of the content                        
                              Data structure                              
Content  of the event, decision, reveal or bet                            
Irreversible                                                              
         activity                                                         
Transform                                                                 
Game Protocol                                                             
         Notification to all players as well as the                       
                              Data                                        
Play     house of any exceptions to the proper                            
                              structure.sup.(2)                           
Exception                                                                 
         execution of the game protocol                                   
Information                                                               
______________________________________                                    
 .sup.(1) Data structure unique to the player decision, to include all    
 supporting parameters  see narrative for content examples.               
 .sup.(2) Data structure unique to gaming environment and selected        
 communications protocol.                                                 
The host casino will log all player and host casino activities (game events, player decisions, and exceptions). The player has the option of logging all activities that she sees during the course of the game on her PC--it is most likely the player will log all activities that her PC sees. The general flow of the Game Play process is a series of game events and player decisions. The process begins with the host casino creating game events and communicating the game event or resulting change in Game State to the player. A Game Event in poker would be "Player X was dealt a card face down" to all players except player X who would get to see the contents of the card. The Game State is the complete picture of where all of the cards are, who has them, and who can see their contents. The player then responds with a decision and communicates it back to the host casino. This sequence continues until the end of the game.
Game Event Creation
1. The host casino checks the Current Game State, the game rules, and player or players decisions to create a game event. There are two types of game events--random and deterministic. Random events include actions such as dealing a card to a player or rolling dice while deterministic events include actions such as moving a piece on a board or placing a bet.
Random Game Event Processing
2. If the game event is a Random Game Event, the host casino retrieves a Random Event Sequence Number. If the Game Event is the first Game Event, the value is set to a known initial value. A roll of the dice or a card dealt to a player is an example of Random Game Events.
3. The host casino uses the Game Seed and the retrieved Random Event Sequence Number (see Section 3.4.1) to create a Random Game Event. Note that the Random Event Sequence Number generation process is known to all of the players and the host casino prior to the game. It is also possible to generate every Random Event using a separate cooperative random event generation process. This has an advantage against certain forms of casino player collusion.
4. The host casino will increment the Random Event Sequence Number and store it to be used to create subsequent Random Game Events. (Go to Step 6).
Deterministic Game Event Processing
5. If the game event is a Deterministic Game Event, the host casino creates the Deterministic Game Event. The move of a chess piece is an example of a Deterministic Game Event. The end of the game is a Deterministic Game Event (go to Step 32).
Game Event Processing
6. The host casino uses the Game Event to update the Current Game State.
7. The host casino communicates either the Game Event or the Current Game State to the player's Pcs. Note that in some cases, only a portion of the Current Game State is communicated to each player's PC and it may be a different portion (such as poker where everyone knows that a card has been dealt, but only one player knows the content of a dealt card--the other players know the fact that an event occurred, but not its complete details).
8. Each player's PC will update its knowledge of the Current Game State based on the received Game Event or Game State update. Where possible, the player's PC will also review the Game State to see if it is consistent with the Game Rules.
Player Action Selection
9. A player can choose one of four types of actions: Supplemental Cooperative Random/Seed Generation (Step 10), Player Decision (Steps 11 through 24), Reveal Secret (Step 25 through 27), or Verify Secret (Steps 29 through 30). Supplemental Cooperative Random/Seed Generation would include events such as re-shuffling a deck of cards in poker or blackjack.
Supplemental Cooperative/Random Seed Generation
10. Supplemental Cooperative Random/Seed Generation is either initiated by a player or by the host casino. The process is identical to that described within the Game Setup process (Steps 20 through 36) and is used to create a Supplemental Game Seed. This activity is similar to the request for a "new deck" in card games or "fresh dice" in craps. This process can either be implemented visibly or transparently to the player (the application on the player's PC completes all of the steps without displaying any of the process steps--regardless, the information will be logged in the Player Game Log). (Go to Step 32).
Player Decision
11. A player makes a decision from the set of possible decisions presented to her by her PC or from the host casino based upon the Current Game State and the Game Rules. The Game Rules are a series of predetermined process steps for producing a game result based on player inputs and common rules. For example, blackjack game rules will sequentially deal cards to each player, allow a player to "hit" or "pass", "bust" a player whose card total exceeds 21, allow for "splitting" of hands, etc. Any version of available gaming software may be adapted to be used as the Game Rules. Player decisions can either be deterministic activities (such as bets or moves of game pieces or bids in auctions or trading sessions) or requests for the host casino to create a random event (such as the roll of dice). Since all random events are actually implemented at the host casino, the player "asks" the casino to create the random event--in craps, this is equivalent to a player asking the croupier to roll the dice.
12. If the decision that a player attempts to make is not legal, the player's PC will reject the decision.
13. The player's PC retrieves the legal decision attributes. There are several attributes that a Player Decision can have (see Table 3). The allowable attributes are subject to the Game Rules and Current Game State. The decision can either be Public or Secret. The decision has a "Decision Type" based on the game rules such as "Bet", "Select a Card", "Draw Cards", "Roll Dice", etc. The Decision Type may allow multiple values--a "Draw Cards" decision could have a parameter to allow some specific number of cards to be draws: "Draw 3 Cards". For Secret Decisions, there is an additional value--the "Play Activity Content Irreversible Transform"
14. The player determines the Decision Type and Decision Value and selects or inputs them into her PC.
15. The player's PC inserts the Decision Type and Decision Value into the Game Activity Content.
16. The player determines if the decision is Secret or Public and inputs that information into her PC. Secret decisions are known Only to the player and the house. This may be determined automatically by the player's PC based upon the Game Rules. Since the information that a player makes a secret decision may be useful to other players in certain games, this can be protected by a "NO DECISION" decision that is placed in the Game Activity Content. Secret decisions could be secret moves or piece placement. The game "Battleship" is a familiar example of a game with secret piece placement.
17. If the decision is Secret, the player's PC computes the Game Activity Content Irreversible Transform.
18. The player's PC communicates the Game Activity Content to the host casino. If the decision was Secret, the player's PC also communicates the Game Activity Irreversible Transform to the host casino. Note--some games may support secret decisions that are not shared with the host casino until either later in the game during a subsequent "reveal secret" activity or until the Game Verification process. This characteristic is also true of games without a host computer.
19. If the Game Activity Content indicates an illegal decision, the host casino will reject the decision and take appropriate actions in accordance with the casino's formal contract (go to Step 33).
20. The host casino stores this information in the House Game Log.
21. If the decision was Public, the host casino will communicate the Game Activity Content to the other players--depending on the Game Rules. This may either be done by forwarding the Game Activity Content or by sending a Game Event or updated Game State. Where possible, the other players will perform a real-time review the legality of the forwarded decision. If the decision is illegal, the players will notify the host casino immediately and store the information in the Player Game Logs and Player Exception Logs. Other actions taken will be done in accordance with the casino's formal contract (go to Step 24).
22. If the decision was Secret, the host casino will verify that the Play Activity Content was used to create the Play Activity Content Irreversible Transform. If the verification fails, the host casino will reject the decision and take appropriate steps based upon the casino's formal contract and Game Rules.
23. The host casino will send the Game Activity Content Irreversible Transform to the other players--depending on the Game Rules.
24. The host casino uses this information to update the Game State in accordance with the Game Rules and continues the game (go to Step 32).
Player Reveals Secret
25. Secrets are revealed when required under the rules or at the discretion of a player. Players may, depending on the game rules, also request other players to reveal secrets. Secrets are player decisions that are known only to the player that created the secret and the house (see Steps 16 through 18). Using the previous example of "Battleship", when a ship is sunk, a player reveals its location by sending the set of locations that together make up the ship's position on the board.
26. If a player decides to reveal a secret, she uses her PC to communicate the specific secret to the host casino using the secret decision's Game Activity Sequence Number as a minimum. Depending on the Game Rules, secrets can be revealed to one, some, or all of the other players.
27. The secret is actually revealed by the host casino. The host casino checks the Game Activity Sequence Number to determine if the secret can be revealed under the Game Rules. If the secret cannot be revealed, the host casino takes appropriate action based upon the Game Rules and casino's formal contract (go to Step 33).
28. The host casino communicates the Game Play data corresponding to the Game Activity Content of the secret decision to the appropriate player's Pcs (go to Step 32).
Revealed Secret Validation
29. Players' Pcs receiving the Game Activity Content for another player's secret decision compute the irreversible transform of the received Game Activity Content and compare it with the Game Activity Content Irreversible Transform that the player had received earlier in the game.
30. If the verification fails, the player uses her PC to notify the host casino and take appropriate action based upon the casino's formal contract and any regulatory options (go to Step 33).
31. If the verification passes, the player proceeds with the game.
Player Activity Processing
32. This sequence continues (go to Step 1) until the game ends and the host casino provides a game result to all players. The casino and players then may move into the Game Verification process.
Game Play Exception Processing
33. The host casino or player's Pcs will notify the other participants in the game of any failures that occur during the Game Play process. These failures will be logged in the appropriate Game Logs as well as the Exception Logs. Failures will result in processing either to restart the Game Play process, restore the Game Play process to some known state, or end the process and game session. This processing will be determined by the game rules and the formal contract that the player agreed to when she registered with the host casino.
2.4 Game Verification
Game Verification is the confirmation of the correctness of an entire game after the game is complete. It comprises a series of steps beginning with the revealing of any secrets from the game and ending with verification that the rules of the game were not broken (FIG. 14). The data requirements for this process are shown in Table 4.
              TABLE 4                                                     
______________________________________                                    
GAME VERIFICATION DATAGRAM CONTENTS                                       
FIELD NAME                                                                
         DESCRIPTION          DATA TYPE                                   
______________________________________                                    
HEADER                                                                    
Player ID                                                                 
         A unique identifier for the player                               
                              Integer                                     
Other Player                                                              
         A list of unique identifiers for all                             
                              Set of integers                             
ID Set   players in the game                                              
House ID A unique identifier for the house                                
                              Integer                                     
Game Name                                                                 
         A unique identifier for the type of game                         
                              Enumerated list                             
         being played         of allowable                                
                              games recog-                                
                              nized by the                                
                              house                                       
Game ID  A unique identifier for the specific                             
                              Integer                                     
         game being played                                                
GAME PROTOCOL VERIFICATION PAYLOAD                                        
Game Protocol                                                             
         The information needed to reconstruct                            
                              A set of data                               
Verification                                                              
         the game specified by the Game ID.                               
                              structures                                  
Content  It consists of a series of data structures                       
                              with each ele-                              
         for each event that needs information                            
                              ment including                              
         communicated between players and the                             
                              Game Se-                                    
         house for the verification process.                              
                              quence Num-                                 
                              bers, Verifica-                             
                              tion Activity                               
                              Type, and acti-                             
                              vity informa-                               
                              tion content                                
Game Activity                                                             
         A unique number for the event or deci-                           
                              Integer                                     
Sequence sion within a specific game. Established                         
Number   only by the house. It is used in this                            
         verification protocol for recalling old                          
         events from the setup or play portions                           
         of the game.                                                     
Verification                                                              
         A value identifying whether this is veri-                        
                              Enumerated list                             
Activity fication of game seeds or secrets (deci-                         
                              (game seed                                  
Type     sions or events)     verification or                             
                              secret verifica-                            
                              tion)                                       
Game Protocol                                                             
         Notification to all players as well as the                       
                              Data                                        
Verification                                                              
         house of any exceptions to the proper                            
                              structure.sup.(1)                           
Exception                                                                 
         execution of the game protocol                                   
Information                                                               
The following information is used for cooperative seed activity           
verification:                                                             
Player Random                                                             
         A random number provided by a player                             
                              Binary Se-                                  
Seed     for use in cooperative random genera-                            
                              quence defined                              
         tion. This was stored when it was gene-                          
                              only for player                             
         rated by player and is used in the re-                           
                              communica-                                  
         construction of the game seed during                             
                              tions with                                  
         the seed verification process.                                   
                              house                                       
Player Random                                                             
         A set of pairwise data (player ID, ran-                          
                              Set of ordered                              
Seed Set dom seed) that identifies the random                             
                              pairs of                                    
         numbers provided by a set of players                             
                              integers and                                
         having Player ID(s) for use in coopera-                          
                              Binary                                      
         tive random generation. This is used in                          
                              Sequence                                    
         the verification phase to reconstruct                            
         game seeds.                                                      
House Random                                                              
         A random number generated by the                                 
                              Binary                                      
Seed     host casino for use in cooperative                               
                              Sequence                                    
         random generation. It is not provided to                         
         the player(s) until the verification phase                       
         in the reconstruction of the game seed.                          
House Random                                                              
         The irreversible transform of the                                
                              Binary                                      
Seed     random seed used by the house for                                
                              Sequence                                    
Irreversible                                                              
         cooperative random generation. The                               
Transform                                                                 
         players use this during the verification                         
         phase to verify that the House Random                            
         Seed is correct and unchanged since the                          
         time of seed creation.                                           
The following information is needed to reconstruct other secret           
activities:                                                               
Play Activity                                                             
         The contents of the event, decision, or                          
                              Data structure                              
Content  reveal activity                                                  
Play Activity                                                             
         The irreversible transform of the content                        
                              Data structure                              
Content  of the event, decision, reveal, or bet                           
Irreversible                                                              
         activity                                                         
Transform                                                                 
______________________________________                                    
 .sup.(1) Data structure unique to the player decision, to include all    
 supporting parameters  see narrative for content examples.               
As noted throughout the Game Setup and Game Play sections, data has been stored in Logs to support verification. This data about House Events and Player Decisions is retrieved from the appropriate Game Log and used to reconstruct the entire sequence of events and decisions that together constitute a game. Some of this information may only be revealed during the Verification phase (depending on the specific game and game rules). This information is combined with the information accumulated during the course of the game in the Game Logs to allow every step of the game to be reconstructed and verified against the Game Setup and Play processes and Game Rules. The details of the Game Verification process may not be displayed in their entirety to each player, though the information will certainly be stored on each player's PC. The verification software needs to be trusted--so it must either be provided by an independent entity or regulatory body or certified by such an organization.
Game Verification Begins
1. The game ends and the host casino communicates a "Game is Over" Game Event to each player. The host casino begins the Game Verification process.
2. Each player's PC processes the Game Event, notifies the player, and begins the Game Verification process.
Game Seed Verification
3. The host casino retrieves the House Game Seed from the House Game Log.
4. The host casino communicates the House Game Seed to each player. The host casino optionally retrieves all of the Player Game Seeds from the House Game Log as well and sends them to each player's PC (these seeds were sent out during the Game Setup process).
5. The host casino retrieves the Game Seed from the House Game Log.
6. The host casino communicates the Game Seed to each player's PC. If there were multiple Game Seeds and House Random Seeds used during the course of the game, they are all retrieved and sent at this time.
7. Each player's PC computes the irreversible transform of the newly received House Random Seed and compares it with the House Random Seed Irreversible Transform retrieved from her Player Game Log (this was provided during the Game Setup process).
8. If the comparison fails, the player communicates that fact to the host casino and takes appropriate action (including contacting regulatory bodies) depending on the formal contract between the player and the casino. The player's PC and the host casino will also file the information in the appropriate Exception Log.
9. If the comparison succeeds, the player's PC uses the Cooperative Random/Seed Generation process, the newly received House Random Seed, and all of the players Player Random Seeds (either just received or retrieved from their respective Player Game Logs) to construct the Game Seed. This process is repeated for each Game Seed used during the course of the game. Note that the Cooperative Random/Seed Generation process is known to all of the players and the host casino prior to the beginning of the game. Rebuilding the Game Seed is equivalent to allowing the shuffle of a deck of cards or sequence of dice rolls to be recreated after the game is over--allowing all of the activities from a game of blackjack or poker to be rebuilt.
10. Each player's PC compares the newly constructed Game Seed with the Game Seed received from the host casino. The player's PC can also compare the irreversible transform of the Game Seed with the Game Seed Irreversible Transform retrieved from the player's Player Game Log. Note that there is no need to provide a Game Seed Irreversible Transform as the Game Seed is verified by the seed reconstruction process. This would only be done for performance reasons.
11. If either comparison fails, the player uses her PC to communicate that fact to the host casino and takes appropriate action (including contacting regulatory bodies) depending on the formal contract between the player and the casino. The player's PC and the host casino will also file the information in the appropriate Exception Log.
Reveal All Secrets
12. If there are unrevealed secret decisions that are held by any players, each player's PC will retrieve these decisions from her respective Player Game Logs and communicate them to the host casino. This includes both the Play Activity Content and Game Activity Sequence Number. In the game "Battleships", a player would provide the locations of all of her ships to the other player (though only the "unsunk" ones would really need to be sent).
13. The host casino retrieves all of the remaining unrevealed secret decisions from the House Game Log. This includes both the Play Activity Content and Game Activity Sequence Number.
14. The host casino computes the irreversible transform of the Game Activity Content for newly received secret decisions and compares them with the corresponding Game Activity Content Irreversible Transform that the host casino retrieved from the House Game Log. The host casino also stores the newly received Game Activity Contents in the House Game Log.
15. If the comparison fails, the host casino notifies the player and takes appropriate action based on the formal agreement between the casino and the player. This could include forfeiting any funds that were bet, a financial penalty, banning the player from the casino, etc. The host casino also notifies any other players and takes appropriate action based on the formal agreement between the casino and the players. This could include refunding money or some penalty paid by the offending player.
16. If the comparison succeeds, the host casino verifies that the decisions were legal under the Game Rules and Game State at that point in the game. If the decisions were illegal, the host casino notifies the player and takes appropriate action based on the formal agreement between the casino and the player. The host casino also notifies any other players and takes appropriate action based on the formal agreement between the casino and the players.
17. The host casino communicates all of the remaining unrevealed secret decisions to all of the players. The host casino also forwards any newly received secret decisions to all of the players.
18. Each player's PC computes the irreversible transform of the Game Activity Content for newly received secret decisions and compares them with the corresponding Game Activity Content Irreversible Transform that the player retrieves from their respective Player Game Log.
19. If the comparison fails, the player communicates that fact to the host casino and takes appropriate action (including contacting regulatory bodies) depending on the formal contract between the player and the casino. The player's PC and the host casino will also file the information in their respective Exception Logs.
20. If the comparison succeeds, the players each store the received player decisions in their respective Player Game Logs. Note that now each player possesses all of the player decisions from the game.
Random Event Reconstruction
21. Each player will use her respective Player Game Log and the Game Seed (or Game Seeds, if there were several) to reconstruct all Random Game Events. The Game Seed allows the shuffle or die rolls to be rebuilt, the deterministic random generation or cooperative random generation process actually rebuilds the specific random event (card or dice roll) sequence.
22. The player will use her PC and the Game Seed to compute all of the random Game Events and compare them with the random Game Events that the player's PC had stored in her Player Game Log. Each player's PC will store the newly computed random Game Events in her respective Player Game Log. Note: prior to the game, the host casino and all the players know the deterministic random process that was used.
23. If the comparison fails, the player communicates that fact to the host casino and takes appropriate action (including contacting regulatory bodies) depending on the formal contract between the player and the casino. The player's PC and the host casino will also file the information in the Player Exception Log. Note: each player now possesses all of the Game events (both random and deterministic) from the game.
Rules Verification
24. Each player's PC will retrieve the Initial Game State from her respective Player Game Log and use combination of all of the player decisions and game events that she now possesses on her computer to verify that each player decision and each game event is consistent with the Game Rules. This verification can only be done at this time for activities that were not known to a player: secret moves or piece placement as well as card draws (as in poker).
25. If the rule verification fails, the player communicates that fact to the host casino and takes appropriate action (including contacting regulatory bodies) depending on the formal contract between the player and the casino. The player's PC and the host casino will also file the information in the Player Exception Log.
26. If the rule verification succeeds, the Game Verification Process was a success and each player communicates that fact to the host casino. The host casino stores each player's confirmation in the House Game Log. The host casino will also communicate this fact to each of the other players. Each player will log the other players' confirmed verification in her respective Player Game Log. Each player then may begin another game.
Game Verification Exception Processing
27. The host casino or players' Pcs will notify the other participants in the game of any failures that occur during the Game Verification process. These failures will be logged in the appropriate Game Logs as well as the Exception Logs. Failures will result in processing either to restart the Game Verification process or restore the Game Verification process to some known state. Players will always have the option to verify a game for as long as the casino is required to store the game log based upon regulatory requirements as well as the formal contract between the player and the host casino. This processing will be determined by the game rules and the formal contract that the player agreed to when she registered with the host casino.
It is likely that the house will also take some action independent of the Game Verification process to address player cheating. Similarly, if a player has detected cheating by the house or another player, some action to a regulatory body or law enforcement entity is likely.
2.5 Host-Player Transactions
Host-Player Transactions provide a means of reliably processing individual game process steps and ensuring that player(s) and the casino have consistent information about the state of the game (FIG. 15). The Host-Player Transactions process is used for most of the steps in the processes where there is a communication of information between a player and the host casino (see FIG. 10). These steps are clearly noted in the descriptions of Section 2.1 through 2.4 and in the figures corresponding to those sections. The data requirements for this process are shown in Table 5.
              TABLE 5                                                     
______________________________________                                    
HOST-PLAYER TRANSACTION DATAGRAM CONTENTS                                 
FIELD NAME                                                                
         DESCRIPTION          DATA TYPE                                   
______________________________________                                    
HEADER                                                                    
Player ID                                                                 
         A unique identifier for the player                               
                              Integer                                     
House ID A unique identifier for the house                                
                              Integer                                     
Transaction                                                               
         The ID of the receiver, whether player                           
                              Integer                                     
Type     or house                                                         
Transaction                                                               
         Identifies whether this is the communi-                          
                              Enumerated                                  
Data     cation, acknowledgement, or confirma-                            
                              list. One of the                            
         tion of acknowledged game informa-                               
                              set: (communi-                              
         tion. These types are implemented in                             
                              cation,                                     
         this order as part of the transaction                            
                              acknowledge,                                
         three-step handshake.                                            
                              confirm)                                    
TRANSACTION DATA                                                          
Date/Time                                                                 
         Specification of the date and time of                            
                              Data structure                              
         the game being played. This date/time                            
         is associated with the time of the                               
         transaction step.                                                
Transaction                                                               
         A unique identifier for the specific                             
                              Integer                                     
ID       transaction                                                      
Transaction                                                               
         A unique number for the event or deci-                           
                              Integer                                     
Sequence sion within a specific transaction. Esta-                        
Number   blished only by the house. Not defined                           
         until the transaction is acknowledged.                           
TRANSACTION PAYLOAD                                                       
Embedded The transaction payload, which will                              
                              Data structure                              
Process  include the encapsulated Game protocol                           
                              (see Sections                               
Datagram (Sections 2.1-2.4)   2.1-2.4)                                    
Transaction                                                               
         A code used for notifying the receiver                           
                              Data                                        
Response of the transaction step of the progress                          
                              structure.sup.(1)                           
Information                                                               
         in the proper execution of the protocol.                         
         This can be either acknowledgement or                            
         exception information.                                           
AUTHENTICATION DATA                                                       
Signature and                                                             
         Public key signature and other integrity                         
                              Binary                                      
Integrity Data                                                            
         information          sequence.sup.(2)                            
______________________________________                                    
 .sup.(1) Data structure unique to the transaction protocol and any other 
 standards or commercial technologies supported in the implementation for 
 authentication or nonrepudiation.                                        
 .sup.(2) May be a custom format, or be implemented as defined in the     
 Internet Task Force (IETF) X.509 digital signature standard.             
This process uses a three-step handshake protocol to ensure that data is properly transferred between a player and the host. It also uses authentication via Digital Signatures (Section 3.4.3) to provide very strong data integrity and non-repudiation. This property means that the receiver of a signed message will know who sent the message. The receiver will also know that the received message is the one that the sender sent. The signature has the additional property that the sender cannot later deny that she sent the message. Since either the host casino or the player can initiate a Host-Player Transaction, this description will use the term "sender" for the party that initiates the transaction and is providing data and "receiver" for the party that is accepting the data. The Host-Player Transaction process is tailored to meet the unique distributed gaming requirements. This process supports resending data if a previous step in the process fails. If so, the transaction can either roll back to the beginning or to the previous step in the transaction. Transactions may be optionally logged and are noted in the appropriate step of the process by either the player or the host casino in their respective Transaction Activity Logs. This log may be kept for an extended period of time to meet game verification or legal/regulatory requirements or kept only for the duration of the game or even just the specific transaction. Each transaction includes a sequence number that is defined by the host casino and is incremented with each game activity. Date and time information needs to be accurate enough that the sequence numbers will not be reused. At the Beginning of the Session of the Casino: The host casino defines a Transaction Sequence Number at the beginning of a session with a player prior to any Game Setup or Player Registration activities.
Transaction Creation
1. The sender's computer retrieves the process step datagram.
2. The sender's computer formats the transaction datagram including the Transaction Header and inserting the process step information into the Transaction Payload. The sender then computers the signature and formats other integrity data for the Transaction Authentication Data. The sender stores the Transaction Datagram in the Transaction Activity Log. Note--the sender does not necessarily need to store the actual datagram, but can store sufficient information to reconstruct the datagram in case the transaction fails for some reason.
3. The sender communicates the Transaction Datagram to the receiver.
Transaction Confirmation and Acknowledgement
4. The receiver verifies the signature and other authentication information with the received Transaction Header and Payload.
5. If the verification fails, the receiver formats a Transaction Response Information datagram describing the failure in the Transaction Payload.
6. If the verification passes, the receiver formats a Transaction Response Information datagram. This can be as simple as a flag or the entire Transaction Payload that the receiver received.
7. The receiver stores the Transaction Response Information datagram information in its Transaction Activity Log.
8. The receiver communicates a Transaction Datagram to the sender including the Transaction Response Information.
Transaction Acknowledgement Confirmation
9. The sender verifies the received Transaction Datagram. This is dependent on the type of Transaction Response Information that is used.
10. If the sender's verification fails, the sender formats a Transaction Response Information datagram that prompts the receiver to resend the receiver's response. This can also occur if the sender does not receive a response within a certain period of time.
11. If the sender verification passes but the receiver's initial verification failed, the sender reformats the original Transaction Datagram. Note that date/time information may change, but the Transaction Sequence Number would not need to.
12. If the sender's verification and receiver's verification both pass, the sender formats a response that she received the receiver's initial response. The sender stores the fact that the transaction has successfully concluded in the Transaction Activity Log.
13. The sender stores the Transaction Response Information datagram information in its Transaction Activity Log.
14. The sender communicates a Transaction Datagram to the receiver including the Transaction Response Information.
Transaction Confirmation and Closure
15. The receiver verifies the received Transaction Datagram. This is dependent on the type of Transaction Response Information that is used.
16. If the receiver's second verification fails, the receiver communicates a request to the sender to resend the Transaction Datagram. This can also occur if the receiver does not receive a response within a certain period of time.
17. If the receiver's second verification passes and the sender's verification had failed, the receiver reformats the original Transaction Datagram and resends it to the sender. Note: the date/time information may change, but the Transaction Sequence Number would not need to.
18. If the receiver's second verification and the sender's verification both pass, the Transaction has successfully concluded and this fact is stored in the Transaction Activity Log.
Transaction Sequence Number Distribution
19. During the first transaction step that the host casino participates in, it includes the next Transaction Sequence Number for the player.
2.6 Secure Host-Player Communication
The purpose of the Secure Host-Player Communication process is to set up a secure channel between each player and the house (FIG. 16). The data requirements for this process are shown in Table 6.
              TABLE 6                                                     
______________________________________                                    
SECURE HOST-PLAYER COMMUNICATION DATAGRAM                                 
CONTENTS                                                                  
FIELD NAME                                                                
         DESCRIPTION          DATA TYPE                                   
______________________________________                                    
HEADER DATA                                                               
Player ID                                                                 
         A unique identifier for the player                               
                              Integer                                     
House ID A unique identifier for the house                                
                              Integer                                     
Communica-                                                                
         Identifies whether this is a game trans-                         
                              Enumerated list                             
tion Type                                                                 
         action or other communication                                    
Destination                                                               
         The unique identifiers of other destina-                         
                              Integer set                                 
ID(s)    tions for the information                                        
COMMUNICATION PAYLOAD                                                     
Message  The communication datagram assoc-                                
                              Data structure                              
Content  iated with the communication protocol                            
         of choice, which will include the encap-                         
         sulated Transaction protocol (Section                            
         2.5)                                                             
Communica-                                                                
         An error code used for notifying other                           
                              Data structure                              
tion     party(ies) of any exceptions to the pro-                         
Exception                                                                 
         per execution of the protocol. The                               
Information                                                               
         destination ID(s) are used as recipient                          
         addresses.                                                       
______________________________________                                    
This process rides on top of some ordinary network communications protocol (such as TCP/IP) and can be used both to carry the Host-Player Transactions and other message communications (FIG. 17). The Secure Host-Player Transactions process is used for most of the process steps where there is a communication of information between a player and the host casino (see FIG. 10). These steps are clearly noted in the descriptions of Section 2.1 through 2.5 and in the figures corresponding to those sections. All communications between different players are forwarded through the host casino. The host casino determines if the communication is legal to forward based on the Game Rules and formal contract and logs the communication for use in Game Verification if necessary.
At the Beginning of the Session at the Casino:
1. The player's PC and the host casino use some mechanism to create a unique key to secure their communications.
2. The player's PC and the host casino use the unique key to encrypt the link between the two.
3. The player communicates identifying information to the host casino that was developed during the Player Registration process within the secure communication link.
4. If the player identification information is invalid, the host casino ends the session and logs the information in an Exception Log.
5. The host casino provides corresponding identifying information to the player. This information was also provided during the Player Registration process.
6. If the host casino identification information is invalid, the player ends the session and logs the information in an Exception Log.
7. If the identification information is valid, the secure host-player communications link is established and used for all subsequent communications during a session.
For each communication step between a player and the host casino:
1. For each message type, the sending party formats the Message Content and Message Header into a Communication Datagram. Message types can include Transaction Datagrams, player/house communications, and messages to be forwarded to other players. Note that the protocol does support date/time information. The house will act as master for the clock and provide this information to the player(s) with the other protocol information.
2. The sending party encrypts the message.
3. The sending party sends the message to the receiving party.
4. The receiving party receives the message.
5. The receiving party decrypts the message.
6. The receiving party processes the message.
7. The host casino or player's PC will notify the other participant in the session of any failures that occur during the Secure Host-Player Communication process. These failures will be logged in the Exception Logs.
3. Theory of operation
Four technical design features of the Distributed Gaming Transaction Processing System with Provable Honesty provide the support for honest gaming transaction processing systems:
1. A Game Transaction Process System Architecture provides a construct in which a wide range of games transaction systems can be described.
2. The Trusted Referee model provides the method for assuring the honesty of a game transaction process.
3. Honesty Model explains the capabilities and limitations of the system for controlling cheating.
4. Mathematical Technical Elements are used in the implementation of the protocol and are built on well-known mathematical and cryptographic techniques.
3.1 Game Transaction Processing System Architecture
The Distributed Gaming Transaction Processing System with Provable Honesty works because game transaction processing systems are a structured sequence of interactions that are controlled by a set of rules. Generic transaction processing systems can be thought of as games: they include one or more parties (players) that interact in a structured way (rules) to reach some conclusion (determine a winner). The remainder of this section will describe transaction processing systems in terms of games. There are five main elements to a game, that are described below and illustrated in FIG. 18.
1. Events--activities that occur during the course of the game that affect the game outcome. Events are determined by the rules of the game, as opposed to decisions of the players.
2. Decisions--Choices by players during the course of the game that affect its outcome.
3. Rules--The list of legitimate interactions and combinations of game events and player decisions that enable a game to progress from one state to a subsequent state. Rules are used to define the beginning and end of a game. Rules are used to define the winner of the game. Any available software (e.g. "Deluxe Casino Pak 16" by Masque Publishing) may be adopted to serve as the rules.
4. Environment--The visual, auditory, and other attributes that make the game entertaining to play as well as facilitating the understanding of the rules and the current state of the game (looking at the board in a game of Monopoly). The game environment may be different for different individual players, as they may not have access to the complete game state.
5. State--The game state consists of the status information as well as current possible game events and player(s) decisions. It is the accumulated result of all past events and decisions made during the course of the game from a known starting point. A change in game state occurs with each event or decision. Individual players do not necessarily know the complete game state.
This framework allows most game transaction processes to be described in a systematic format that will allow automation of rules enforcement and use of the Network Gaming Transaction Processing Protocol to permit play processing of the game transaction system in a distributed or network environment.
3.2 Trusted Referee Model
A trustable game transaction processing system is one where players can have confidence that the rules are known and enforced. There are two aspects to this trust--trusting other participants and trusting the referee himself.
The referee monitors all activities of participants (decisions and inter-participant communication) making sure that all actions conform to the rules of the game transaction processing system by having a complete understanding of the rules of the game transaction processing system and the current transaction processing system state. The referee is therefore able to know what participant decisions and transaction processing system events are possible at any given point in a transaction processing system. The referee will not let any illegal actions occur: if a rule violation is attempted, the referee will immediately intervene and take the appropriate actions (also determined by the rules). These actions may range from directing the participant to make another choice all the way to ending the transaction process game and invoking some penalty against the participant.
"Trusting the referee" is the implementation challenge that is solved by the verification portion of the Network Gaming Transaction Processing Protocol. The participant is provided with an independent copy of the referee--an application that has a complete understanding of the rules of the game transaction processing system--that can retroactively (or in some cases immediately) verify that the transaction processing system referee controlled by the host is acting appropriately and that the game itself is well-balanced. This application can be provided by an independent regulatory body or certified by such an organization. The participant-controlled referee application can then be used to support any claims of rules violation against the host or other participants in conjunction with the participant transaction processing system log that the participant uses to verify the transaction processing system.
In transaction processing systems without a host, two or more participants could each use their referee applications to validate the honesty of the other.
3.3 Honesty Model
There are two types of honesty within a transaction system: transaction honesty and human honesty. Transaction honesty is the honesty of the steps within the transaction and the transaction processing rules--everything that is within the system. This disclosure has explained at length about the protection of the steps of a transaction. Transaction processing rules are the common agreements between the parties to a transaction. In a distributed system, it is especially difficult to know that the parties are using the same rules. Some means of rule set registration is needed so that there is a common way of labeling rule sets ("blackjack--Las Vegas style with an 8 deck shoe that burns the shoe after between 100 and 300 draft cards". There also needs to be a means to communicate and authenticate these rule set labels.
Human honesty is the behavior of the individuals involved in the transaction outside of the transaction system, itself. Unfortunately, there is no way to automate, authenticate, or otherwise enforce honest behavior by individuals outside of the transaction system. Individuals can collude or engage in other activities that may not be allowed for a given transaction. The main vehicle in a transaction system, particularly a distributed system, to encourage appropriate behavior by individuals are contracts and monitoring. The contract must specify the sanctions for breaking the rules of the transaction system. Monitoring is observing the transaction behavior of individuals for anomolous behavior. Additionally, for a distributed system, power outages, dropped connections, and other problems need to be addressed. A particular problem that needs to be addressed is a party to a transaction attempting to abort the transaction in order to avoid an adverse result (such as a player about to lose a game).
3.4 Technical Elements
There are four main technical elements that are used for the Network Gaming Transaction Processing Protocol. Randomizers, Irreversible Transforms, and Signatures and Hash Functions are well known mathematical techniques. Cooperative Seed Generation is a new combination of Randomizers and Irreversible Transforms to cooperatively generate random numbers.
3.4.1 Randomizers
This invention uses randomizers for two purposes. First, randomizers are used to generate the seeds that the house and players use (Sections 2.2-2.3). These randomizers can be either deterministic or truly random. Second, deterministic randomizers can be used with the game seed to sequentially generate the random events in a game. A deterministic randomizer must be used to generate random events in order to allow the sequence to be reconstructed after the game.
Randomizers generate information that cannot be predicted. For computer-based randomizers, this typically means that zeros and ones are generated such that the knowledge of the sequence that has been generated will give no predictive knowledge of what will be generated next. There are two types of randomizers--true randomizers and deterministic randomizers (or pseudo-randomizers). True randomizers are built on some natural noise source to generate their random data. Deterministic randomizers use a mathematical function and a seed value to generate pseudo-random data. The output of the mathematical function on the seed is the pseudo-random data (a series of 0's and 1's). The seed is then usually updated in some manner to continue to generate random data. A good deterministic randomizer is one that, given knowledge of the randomizer function and a sequence of generated data but not the seed, it is computationally infeasible to guess the pseudo-random data that will be generated next. For this reason, the Game Seed is not divulged until game play has ended.
A binary random stream can be used to generate any desired distribution. A uniform distribution of the values from 0 to N-1 can be generated from a log2 N-bit sequence from the random stream and generating a new value if the result is out of range (greater or equal to N). For example, values from a deck of 52 cards can be found by using a 6-bit sequence from the random number generator. This 6-bit number will be a number between 0 and 63. If the value generated is not between 1 and 52, then a new 6-bit sequence will be drawn until a value in the 1 to 52 range is generated. If multiple cards need to be dealt, then the next number is drawn out of the range 1 to 51, then 1 to 50, etc. Non-uniform distributions can be built by combining uniform distributions.
3.4.2 Irreversible Transforms
An irreversible transform is a mathematical function with the attribute that given the output of the function it is computationally unfeasible to reconstruct the input (a simple example would be that of an ordinary paper phone book--it is easy to find a phone number for a given name, but it is very hard to find the name if all that is possessed is the phone number and a copy of the phonebook). All irreversible transforms "coalesce" the input data--the number of possible outputs is less than the number of possible inputs. For this invention, interesting irreversible transforms have nearly as many possible output values as input values. The irreversible transform needs to have a large input and output field (e.g., 512 or even 1024 bits). This allows the data required for the protocol to fit within a single field. Thus, a random seed for use in a game may require 256 bits and the input to the irreversible transform would append additional random bits to the input:
Input to Irreversible Transform=(Data Stream, Random Data Stream to "fill-out" Input Field)
In the example above, with 1024 bit irreversible transform and a seed of 256 bits, the "filled out" random data stream would be 768 bits in length. An example of an irreversible transform is a function of the form:
Sample Irreversible Transform (x)=E(x)+x
Where E(x) is an good encryption function with a known key and x is an input field with the desired length.
Irreversible transforms are used both to generate keys (see below) and protect and allow validation of secrets in the Network Gaming Transaction Processing Protocol. The secrets protection process starts with the binary representation of the thing being protected:
Secret
The irreversible transform of the secret is created and provided to the other party with whom the secret is supposed to be shared at a later point:
IrreversibleTransform(Secret)
When the time comes for the secret to be revealed, an "alleged" secret is provided by the person who made the secret decision to the party that wishes to verify the secret:
AllegedSecret
The verifier then computes the irreversible transform of the alleged secret and compares it with the previously received irreversible transform of the secret:
Compare
IrreversibleTransform(AllegedSecret)
with
IrreversibleTransform(Secret)--previously received
If they agree, then the secret has been revealed and the honesty of the secret decision confirmed. If not, appropriate other measures can be taken. Because of the properties of irreversible transforms, no other secret could have created the received secret and the receiver cannot reconstruct the actual secret until it is revealed.
3.4.3 Signatures and Hash Functions
Signatures are used to ensure that only a single individual could have created the message that was signed. Signatures are a combination of two elements: a hashing function and a public key encryption function.
A hashing function takes any arbitrary variable length stream of data and reduces it to a relatively small fixed sized data block (say 1024-bits) usually called the hash value. The hashing function has the attribute that given the knowledge of the hashing function and a data stream it is computationally infeasible to generate another data stream with the same hash value. This condition is often weakened in practice that no controllable input data stream can be created with the same hash value. The hash value must be large enough that it is computationally infeasible to create a "dictionary" of hash values. Thus, an 8-bit hash value would be far too small since there are only 256 possible hash values (28) as opposed to 21024 possible values in the example.
A public key encryption function is used to ensure that only the originator could have created and signed the message. Public key cryptography relies on mathematical functions that are asymmetric. In these functions, knowledge of the public (decrypt) key and the mathematical function will not allow reconstruction of the encrypt key (which is kept as a secret known only by its creator). The commercial Rivest--Shamir--Adelman (RSA) process is the best known example of this technique. This secret encryption key is used to encrypt the hash value for a message--thereby "signing" it:
Signature(Message)=EncryptSecretKey (Hash Message))
The originator then sends the pair:
Message, Signature(Message)
The verification of this process uses the public decrypt key and the publicly known hash function:
Compare
DecryptPublicKey Signature (ReceivedMessage)
with
Hash(ReceivedMessage).
If the comparison agrees, then only the suspected originator could have created the signed message. There are variations on this process that can also be used, including signatures without public key, so long as the functionality is retained.
3.4.4 Cooperative Seed/Random Generation
The cooperative seed or cooperative random generation process allows the creation of a random number that cannot be predicted or controlled by any of the parties to the process. This process can be used for the creation of seeds to generate random numbers or to create random numbers directly. This description of the process will have multiple parties with one being called the House and the others called Player(1) through Player(N) where N is an integer greater than 0. The process uses irreversible transforms, described above.
First, the House creates a random number: Random (House)
Next, the House computes an irreversible transform of the random number and provides it to players:
IrreversibleTransform(Random(House))
Each player also computes a random number:
Random(Player(1)), Random(Player(2)),
Random(Player(3)), ... Random(Player(N))
The players then provide irreversible transforms of their respective random numbers to house and to each other:
IrreversibleTransform(Random(Player(1))),
IrreversibleTransform(Random(Player(2))),
IrreversibleTransform(Random(Player(3))), . . .
IrreversibleTransform(Random(Player(N)))
Once all parties receive these irreversible transforms, the players then provide their random numbers to the house and each other:
Random(Player(1)), Random(Player(2)),
Random(Player(3)), . . . Random(Player(N))
The house then combines the player random numbers with its own random number to create the cooperative random number. This function could be as simple as an "exclusive or":
CooperativeRandomNumber=Function (Random(House),
Random(Player(1)), Random(Player(2)),
Random(Player(3)), Random(Player(N)))
In the Distributed Gaming System with Provable Honesty, this cooperative random number can be revealed immediately or during the verification phase. Until the number is revealed, the number must be protected by the host casino to protect the game. To verify that the house did not control the construction of the random number, the previously stored:
IrreversibleTransform(Random(House)) can be compared with the irreversible transform of the received alleged random number during game verification:
Irreversible Transform (AllegedRandom(House))
By eliminating the House, a random number can be created to be used immediately. This could be used in cases where there is no need for secret random information. Thus, most card games need a house while games like Craps do not.
4. Conclusions, Ramifications, and Scope of Invention
The process described in this paper can have a unique role in enabling Internet gambling by creating an environment were individuals can play games with confidence that the house is not cheating them by stacking the deck or shaving dice.
While the above description contains many specifics, these should not be construed as limitations on the scope of the invention, but as an exemplification of one preferred embodiment thereof. Many other variations are possible. For example, using this for live gambling to increase security and ordinary game play, are all possible uses of the basic protocol and ideas described herein. Other architectures could also be considered--where Pcs are replaced by X-terminals; Web TV; in-hotel, home, or in-airplane terminals, or even client platforms that are simply a memory card to hold the essential logging information within a casino itself as a player goes from slot machine to slot machine or table to table. These "thin client" options would require an additional processor between the player and the casino that picks up most of the client functionality described in detail (Section 2) and interfaces with the thin client. The intermediate system would therefore act as an agent between the player and the casino though it would not necessarily need to be trusted.
Moreover, the apparatus and processes described herein may be applied to non-gambling transactions conducted over a communications network. For example, the technology described above may be applied in fields such as stock, currency, and commodities trading. In these fields, there is a need for simultaneous, secret, or both, submission of offers to buy or sell. The secret or simultaneous player decision capability can be used to serve this function. Game rules now, instead, become buy/sell agreements for the specific market type. This invention could allow distributed markets such as NASDAQ to have the same sort of open auction that is held in the NY Stock Exchange--a market mechanism that can provide better pricing efficiency. This technique may also allow buyers and sellers to negotiate without the use of a human broker and prevent certain forms of abuse by brokers (such as buying or selling in advance of client orders). These secret and simultaneous decision features may also be useful for general auctions and contract negotiations where secrecy and simultaneity are valued.
Elections and polling may be implemented using the secret decision mechanism to allow votes to be cast without revealing the votes until the election is complete--potentially reducing certain problems with exit polling keeping people from voting. Polling might also benefit from the ability to have secret polls held to minimize the bias of other members of the sample.
Other applications such as modeling and simulation, electronic commerce or any sort of transaction system may benefit from the features of this invention. In the modeling example, the game rules are replaced with the model engine--be it a heuristic rule set, neural net, fuzzy logic algorithm, inference engine, or other technique. For transaction systems, the game rules are replaced by transaction logic. Accordingly, the scope of the appended claims is not limited by the specific gaming embodiments described above, but may be determined by the appended claims and their equivalents.

Claims (56)

We claim:
1. Apparatus for verifying honest gaming transactions over a communications network, comprising:
a host processor for generating a host random number and combining it with a satellite random number to generate a game seed which is used to determine one or more outcomes of the gaming transaction, said host processor receiving a game input from the satellite processor and generating a game result based on (i) said game input, (ii) said game seed, and (iii) predetermined game rules; said host processor generating a host irreversible transform from said host random number, said host processor sending said game seed, said host random number, said host irreversible transform, and said game result to said satellite processor, and
a satellite processor for providing the satellite random number and the game input to said host processor over the communications network, for receiving the game seed and the game outcome from the host processor, and for verifying the honesty of the transaction by (i) generating a game result based on the game input, the game seed, and the predetermined game rules, (ii) comparing the generated game result with the received game result, and (iii) comparing said host irreversible transform with said host random number, wherein said satellite processor re-generates the said game result from said re-generated game seed.
2. Apparatus according to claim 1, wherein said host processor provides said host irreversible transform prior to said satellite processor providing said satellite random number.
3. Apparatus according to claim 1, wherein said host processor provides said host random number after said game results are provided to said satellite processor.
4. Apparatus according to claim 1, wherein said host processor provides said game seed after said game results are provided to said satellite processor.
5. Apparatus according to claim 1, wherein said host processor and said satellite processor validate that said game rules are identical at each said processor.
6. Apparatus according to claim 5, wherein said processors provide their respective said source data input in addition to said processor's said data input.
7. Apparatus according to claim 1, wherein said satellite processor validates that said game rules are valid game rules.
8. Apparatus according to claim 1, wherein said host processor and said satellite processor validate that said irreversible transform process is identical at each processor.
9. Apparatus according to claim 1, wherein said satellite processor validates that said irreversible transform process is an acceptable irreversible transform process.
10. Apparatus according to claim 1, wherein said host processor and said satellite processor validate that said random number combination process is identical at each processor.
11. Apparatus according to claim 1, wherein said satellite processor validates that said random number combination process is an acceptable random number combination process.
12. Apparatus according to claim 1, wherein said host processor and said satellite processor validate that said process for creating a game outcome is identical at each processor.
13. Apparatus according to claim 1, wherein said satellite processor validates that said process for creating a game outcome is an acceptable process for creating a game outcome.
14. Apparatus according to claim 1, wherein said host processor and said satellite processor use transaction processing techniques to ensure the reliable exchange of information.
15. Apparatus according to claim 1, wherein said host processor and said satellite processor use non-repudiation techniques to ensure that neither party can deny the information that was exchanged.
16. Apparatus according to claim 1, wherein said host processor and said satellite processor use authentication techniques to ensure that the appropriate party generated the exchanged information.
17. Apparatus according to claim 1, wherein said host processor and said satellite processor use encryption techniques to ensure the privacy of the information exchange.
18. Apparatus according to claim 1, wherein said host processor stores a log of said transaction(s) and information exchanges.
19. Apparatus according to claim 1, wherein said satellite processor stores a log of said transaction(s) and information exchanges.
20. Apparatus for creating and verifying simultaneous data transactions over a communications network, comprising:
a first processor for:
(i) receiving a second processor data input irreversible transform from a second processor over the communications network;
(ii) generating a first processor arbitrary data input;
(iii) computing a first processor data input irreversible transform from said first processor arbitrary data input;
(iv) communicating said first processor data input irreversible transform to the second processor over the communications network;
(v) after (i) and (iv), communicating said first arbitrary data input to the second processor over the communications network;
(vi) receiving a second processor arbitrary data input from the second processor over the communications network;
(vii) after (vi), comparing said second processor irreversible transform with the second processor arbitrary data input received in (vi); and
a second processor for:
(i) receiving the first processor data input irreversible transform from the first processor over the communications network;
(ii) generating a second processor arbitrary data input;
(iii) computing the second processor data input irreversible transform from said second arbitrary data input;
(iv) communicating said second processor data input irreversible transform to the first processor over the communications network;
(v) after (i) and (iv), communicating said second arbitrary data input to the first processor over the communications network;
(vi) receiving an arbitrary data input from the first processor over the communications network;
(vii) after (vi), comparing said first processor data input irreversible transform with the arbitrary decision input received in (vi)
said first and second processors simultaneously determining the other party's arbitrary data input,
wherein said first processor receives an acknowledgement that said second processor has received said first processor's said first processor data input irreversible transform prior to sending said first processor's said first processor data input.
21. Apparatus according to claim 20, wherein said second processor receives an acknowledgement that said first processor has received said second processor's said second processor data input irreversible transform prior to sending said second processor's said second processor data input.
22. Apparatus according to claim 20, wherein said host processor and said satellite processor use transaction processing techniques to ensure the reliable exchange of information.
23. Apparatus according to claim 20, wherein said host processor and said satellite processor use non-repudiation techniques to ensure that neither party can deny the information that was exchanged.
24. Apparatus according to claim 20, wherein said host processor and said satellite processor use authentication techniques to ensure that the appropriate party generated the exchanged information.
25. Apparatus according to claim 20, wherein said host processor and said satellite processor use encryption techniques to ensure the privacy of the information exchange.
26. Apparatus according to claim 20, wherein said first processor and said second processor each confirm the said irreversible transform process to be used by the other prior to beginning the simultaneous transaction.
27. Apparatus according to claim 20, wherein said first processor stores a log of said transaction(s) and information exchanges.
28. Apparatus according to claim 20, wherein said second processor stores a log of said transaction(s) and information exchanges.
29. Apparatus according to claim 20, wherein said data input comprises a hash, irreversible transform, or other function of said processor's source data input.
30. Apparatus for verifying secret honest gaming transactions via an honest broker over a communications network, comprising:
a host processor honest broker for:
(i) receiving an arbitrary game input from each of two satellite processors over the communications network;
(ii) communicating an irreversible transform of the arbitrary game input for each satellite processor to the other satellite processor;
(iii) producing a game result using the arbitrary game inputs from the two satellite processors and predetermined game rules;
(iv) providing the game result to the satellite processors over the communications network; and
(v) after (iv), providing all of the arbitrary game inputs to each of the satellite processors over the communications network; and
two satellite processors, each for:
(i) determining an arbitrary game input;
(ii) providing the arbitrary game input to the host processor over the communications network;
(iii) receiving the irreversible transform of the arbitrary game input of the other satellite processor;
(iv) receiving the game result from the host processor over the communications network;
(v) storing the game result;
(vi) receiving the other satellite processor's game input from the host processor over the communications network;
(vii) storing the other satellite processor's game input; and
(viii) verifying the gaming transaction by (a) generating a game result from the other satellite processor's arbitrary game input, the stored arbitrary game input, and the stored predetermined game rules, (b) comparing the generated game result with the stored game result, and (c) validating the other processor's arbitrary game input by processing it through an irreversible transform and comparing it to the previously received irreversible transform,
wherein said host processor and said satellite processors use transaction processing techniques to ensure the reliable exchange of information.
31. Apparatus according to claim 30, wherein said host processor and said satellite processors use non-repudiation techniques to ensure that neither party can deny the information that was exchanged.
32. Apparatus according to claim 30, wherein said host processor and said satellite processors use authentication techniques to ensure that the appropriate party generated the exchanged information.
33. Apparatus according to claim 30, wherein said host processor and said satellite processors use encryption techniques to ensure the privacy of the information exchange.
34. Apparatus according to claim 30, wherein said host processor and said satellite processors each confirm the said irreversible transform process to be used by the other prior to beginning the simultaneous transaction.
35. Apparatus according to claim 30, wherein said host processor stores a log of said transaction(s) and information exchanges.
36. Apparatus according to claim 30, wherein said satellite processors store a log of said transaction(s) and information exchanges.
37. Apparatus for creation of a collaborative random output over a communications network, comprising:
a host processor for generating a host random number, said host processor receiving a satellite random number from a satellite processor and generating a transaction seed based on said satellite random number and said host random number, said host processor generating an irreversible transform from the host random number and providing it to said satellite processor before receiving an arbitrary transaction input from said satellite processor, said host processor using (i) the received arbitrary transaction input and (ii) the transaction seed to determine a transaction outcome.
38. Apparatus for creating and verifying data transactions over a communications network having a first processor and a second processor in communication therewith, said apparatus comprising:
the first processor for:
(i) receiving a second processor data input irreversible transform from the second processor over the communications network;
(ii) generating a first processor arbitrary data input;
(iii) computing a first processor data input irreversible transform from said first processor arbitrary data input;
(iv) communicating said first processor data input irreversible transform to the second processor over the communications network;
(v) after (i) and (iv), communicating said first arbitrary data input to the second processor over the communications network;
(vi) receiving a second processor arbitrary data input from the second processor over the communications network;
(vii) after (vi), comparing said second processor irreversible transform with the second processor arbitrary data input received in (vi).
39. Apparatus for creating and verifying data transactions over a communications network having a first processor and a second processor in communication therewith, said apparatus comprising:
the second processor for:
(i) receiving a first processor data input irreversible transform from the first processor over the communications network;
(ii) generating a second processor arbitrary data input;
(iii) computing a second processor data input irreversible transform from said second arbitrary data input;
(iv) communicating said second processor data input irreversible transform to the first processor over the communications network;
(v) after (i) and (iv), communicating said second arbitrary data input to the first processor over the communications network;
(vi) receiving an arbitrary data input from the first processor over the communications network;
(vii) after (vi), comparing said first processor data input irreversible transform with the arbitrary decision input received in (vi).
40. Apparatus according to any one of claims 38 or 39, wherein said first processor data input irreversible transform or said second processor data input irreversible transform is based on an irreversible transform of the corresponding arbitrary data input.
41. Apparatus according to any one of claims 38 or 39, wherein said first processor receives an acknowledgment that said second processor has received said first processor's said first processor data input irreversible transform prior to sending said first processor's said first processor data input.
42. Apparatus according to any one of claims 38 or 39, wherein said second processor receives an acknowledgment that said first processor has received said second processor's said second processor data input irreversible transform prior to sending said second processor's said second processor data input.
43. Apparatus according to any one of claims 38 or 39, wherein said first processor and said second processor use transaction processing techniques to ensure the reliable exchange of information.
44. Apparatus according to any one of claims 38 or 39, wherein said first processor and said second processor use non-repudiation techniques to ensure that neither party can deny the information that was exchanged.
45. Apparatus according to any one of claims 38 or 39, wherein said first processor and said second processor use authentication techniques to ensure the privacy of the information exchange.
46. Apparatus according to any one of claims 38 or 39, wherein said first processor and said second processor use encryption techniques to ensure the privacy of the information exchange.
47. Apparatus according to any one of claims 38 or 39, wherein said first processor and said second processor each confirm the said irreversible transform process to be used by the other prior to beginning the simultaneous transaction.
48. Apparatus according to any one of claims 38 or 39, wherein said first processor stores a log of said transaction(s) and information exchanges.
49. Apparatus according to any one of claims 38 or 39, wherein said second processor stores a log of said transactions(s) and information exchanges.
50. Apparatus according to any one of claims 38 or 39, wherein said data input comprises a hash, irreversible transform, or other function of said processor's source data input.
51. Apparatus for creating and verifying secret data transactions over a communications network, comprising:
a first processor for:
(i) generating a first processor secret arbitrary data input;
(ii) computing a first processor data input irreversible transform from said first processor arbitrary data input;
(iii) communicating said first processor data input irreversible transform to a second processor over the communications network; and
(iv) after (i) and (iii), communicating said first secret arbitrary data input to a second processor over the communications network.
52. Apparatus according to claim 51, further comprising the second processor which receives the said data input irreversible transform and the said first secret arbitrary data input and verifies the said first secret arbitrary data input by processing it through the said irreversible transform and comparing the results.
53. Apparatus for creating and verifying secret data transactions over a communications network, comprising:
a second processor for:
(i) receiving a first processor data input irreversible transform over a communications network;
(ii) receiving a first processor secret arbitrary data input over a communications network; and
(iii) after (i) and (ii), comparing the said first processor data input irreversible transform with the irreversible transform of the said first processor secret arbitrary data input that the said second processor computes.
54. Apparatus according to claim 53, further comprising the first processor which generates said first processor arbitrary data input and computes said first processor data input irreversible transform and provides them to the second processor over the said communications network.
55. Apparatus according to any one of claims 52 and 54, wherein said first and second processors each generate and verify secret data.
56. Apparatus according to any one of claims 52 and 54, wherein said first and second processors generate a logically simultaneous transaction therebetween, each of said first and second processors providing its respective data input irreversible transform to the other processor over the communications network prior to each providing its secret arbitrary data input.
US09/477,451 1997-09-02 2000-01-04 Apparatus and process for verifying honest gaming transactions over a communications network Expired - Fee Related US6165072A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/477,451 US6165072A (en) 1997-09-02 2000-01-04 Apparatus and process for verifying honest gaming transactions over a communications network
US09/690,990 US7747505B1 (en) 1997-09-02 2000-10-18 Apparatus and process for verifying honest gaming transactions over a communications network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/921,520 US6030288A (en) 1997-09-02 1997-09-02 Apparatus and process for verifying honest gaming transactions over a communications network
US09/477,451 US6165072A (en) 1997-09-02 2000-01-04 Apparatus and process for verifying honest gaming transactions over a communications network

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US08/921,520 Continuation US6030288A (en) 1997-09-02 1997-09-02 Apparatus and process for verifying honest gaming transactions over a communications network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US09/690,990 Continuation US7747505B1 (en) 1997-09-02 2000-10-18 Apparatus and process for verifying honest gaming transactions over a communications network

Publications (1)

Publication Number Publication Date
US6165072A true US6165072A (en) 2000-12-26

Family

ID=25445556

Family Applications (3)

Application Number Title Priority Date Filing Date
US08/921,520 Expired - Lifetime US6030288A (en) 1997-09-02 1997-09-02 Apparatus and process for verifying honest gaming transactions over a communications network
US09/477,451 Expired - Fee Related US6165072A (en) 1997-09-02 2000-01-04 Apparatus and process for verifying honest gaming transactions over a communications network
US09/690,990 Expired - Fee Related US7747505B1 (en) 1997-09-02 2000-10-18 Apparatus and process for verifying honest gaming transactions over a communications network

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US08/921,520 Expired - Lifetime US6030288A (en) 1997-09-02 1997-09-02 Apparatus and process for verifying honest gaming transactions over a communications network

Family Applications After (1)

Application Number Title Priority Date Filing Date
US09/690,990 Expired - Fee Related US7747505B1 (en) 1997-09-02 2000-10-18 Apparatus and process for verifying honest gaming transactions over a communications network

Country Status (12)

Country Link
US (3) US6030288A (en)
EP (1) EP1016049B2 (en)
JP (1) JP4087557B2 (en)
CN (1) CN1203458C (en)
AT (1) ATE317147T1 (en)
AU (1) AU755320B2 (en)
CA (1) CA2302189C (en)
DE (1) DE69833381T3 (en)
ES (1) ES2259208T5 (en)
HK (1) HK1029425A1 (en)
NZ (1) NZ503023A (en)
WO (1) WO1999012135A1 (en)

Cited By (159)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020071557A1 (en) * 2000-12-07 2002-06-13 Nguyen Binh T. Secured virtual network in a gaming environment
US20020077178A1 (en) * 2000-04-28 2002-06-20 Igt Cashless transaction clearinghouse
US20020116615A1 (en) * 2000-12-07 2002-08-22 Igt Secured virtual network in a gaming environment
US20020142825A1 (en) * 2001-03-27 2002-10-03 Igt Interactive game playing preferences
US20020163125A1 (en) * 1998-04-15 2002-11-07 Shuffle Master, Inc. Device and method for continuously shuffling and monitoring cards for specialty games
US20030055662A1 (en) * 2001-09-18 2003-03-20 Kevin Collins System and method for auditing electronic auctions
US20030052449A1 (en) * 1998-04-15 2003-03-20 Attila Grauzer Device and method for continuously shuffling and monitoring cards
US20030060264A1 (en) * 2001-09-21 2003-03-27 Chilton Ward W. Gaming device providing tournament entries
US20030073472A1 (en) * 2001-10-17 2003-04-17 Varley John A. Method and system for providing an environment for the delivery of interactive gaming services
US20030075866A1 (en) * 2001-10-19 2003-04-24 Card-Casinos Austria R&D-Casinos Austria Forschungs-Und Entwicklungsges, M.B.H. Card shuffler
US20030090059A1 (en) * 1998-04-15 2003-05-15 Attila Grauzer Device and method for continuously shuffling and monitoring cards
US6568678B2 (en) 1994-08-09 2003-05-27 Shuffle Master, Inc. Method and apparatus for automatically cutting and shuffling playing cards
US20030134675A1 (en) * 2002-01-16 2003-07-17 Mike Oberberger Gaming system license management
US20030171145A1 (en) * 2000-04-28 2003-09-11 Igt Cashless transaction clearinghouse
US6625661B1 (en) * 1999-06-21 2003-09-23 Kenneth G. Baldwin, Jr. Interactive entertainment system
US6651981B2 (en) 2001-09-28 2003-11-25 Shuffle Master, Inc. Card shuffling apparatus with integral card delivery
US20040002379A1 (en) * 2002-06-27 2004-01-01 Igt Scan based configuration control in a gaming environment
US20040030659A1 (en) * 2000-05-25 2004-02-12 Gueh Wilson How Kiap Transaction system and method
US20040072617A1 (en) * 2002-03-13 2004-04-15 Konami Corporation Network game system
US6749199B2 (en) * 2001-07-10 2004-06-15 David A. Boyd Method and apparatus for playing a diceless craps game
US20040127287A1 (en) * 2002-03-13 2004-07-01 Konami Corporation Network game system
US20040133803A1 (en) * 1999-05-05 2004-07-08 Rabin Michael O. Methods and apparatus for protecting information
US6786824B2 (en) 2001-05-25 2004-09-07 Igt Method, apparatus, and system for providing a player with opportunities to win a feature event award
US20040198494A1 (en) * 2003-04-03 2004-10-07 Igt Secure gaming system
US20040229700A1 (en) * 2000-09-29 2004-11-18 Cannon Lee E. Method and apparatus for gaming machines with a tournament play bonus feature
US20040266505A1 (en) * 2003-06-30 2004-12-30 Microsoft Corporation Inventory management of virtual items in computer games
US6863611B1 (en) * 2001-09-28 2005-03-08 Bally Gaming, Inc. Two wire exchange system
WO2005021118A1 (en) * 2003-08-27 2005-03-10 Kroopier Technologies, S.L. System which is used to conduct a game of chance using a communication network
DE10336355A1 (en) * 2003-08-08 2005-03-10 Universal Gaming Concepts Inc A method for preventing manipulation of the game result by a casino or a slot machine
US20050079909A1 (en) * 2003-10-14 2005-04-14 Lertyos Singhaseni Method for player-influenced random distribution of game tokens
US20050164783A1 (en) * 2001-09-04 2005-07-28 Igt Electronic signature capability in a gaming machine
US20050192099A1 (en) * 2000-12-07 2005-09-01 Igt Secured virtual network in a gaming environment
US20050209001A1 (en) * 2002-04-30 2005-09-22 Waterleaf Limited System for playing a game
US20050216760A1 (en) * 2000-11-03 2005-09-29 Shieldip, Inc. Method and apparatus for protecting information and privacy
US20050228989A1 (en) * 2004-04-01 2005-10-13 Shieldip, Inc. Detection and identification methods for software
US20050266919A1 (en) * 2003-04-02 2005-12-01 Igt Cashless instrument based table game promotional system and methodology
EP1609515A1 (en) * 2004-06-23 2005-12-28 Sega Corporation Online game irregularity detection method
EP1622101A3 (en) * 2001-04-30 2006-04-05 Gründerene Stonebridge DA Method and system for computer-based game
US7036818B2 (en) 2001-09-28 2006-05-02 Shuffle Master, Inc. Card shuffling apparatus with automatic card size calibration
US20060094497A1 (en) * 2004-11-03 2006-05-04 Ilya Presman Online gaming interaction protocol ensuring random events
US7043641B1 (en) * 2000-03-08 2006-05-09 Igt Encryption in a secure computerized gaming system
US7059602B2 (en) 1998-04-15 2006-06-13 Shuffle Master, Inc. Card shuffler with staging area for collecting groups of cards
US20060168759A1 (en) * 2005-01-21 2006-08-03 Leviton Manufacturing Co., Inc. Rack mounted component door system and method
US7155014B1 (en) 2001-07-26 2006-12-26 Sca Promotions, Inc. System and method for playing a lottery-type game
WO2007010055A1 (en) * 2005-07-15 2007-01-25 Kinamik Data Integrity, S.L. Method and system for generating a file of auditable logs relating to games using onsite and remote electronic means
US7169041B2 (en) 2001-12-04 2007-01-30 Igt Method and system for weighting odds to specific gaming entities in a shared bonus event
US20070060302A1 (en) * 2005-08-17 2007-03-15 Igt Scan based configuration control in a gaming environment
US20070060274A1 (en) * 2000-04-28 2007-03-15 Igt Player loyalty across a gaming enterprise
US20070136817A1 (en) * 2000-12-07 2007-06-14 Igt Wager game license management in a peer gaming network
US7240198B1 (en) * 2000-08-08 2007-07-03 Yeda Research & Development Co., Ltd. Honesty preserving negotiation and computation
EP1814641A1 (en) * 2004-11-12 2007-08-08 Acei Ab Gaming system
US7255344B2 (en) 1998-04-15 2007-08-14 Shuffle Master, Inc. Device and method for continuously shuffling and monitoring cards
US7261294B2 (en) 2005-02-14 2007-08-28 Shuffle Master, Inc. Playing card shuffler with differential hand count capability
US20070218996A1 (en) * 2006-03-20 2007-09-20 Harris Adam P Passive validation of network devices
US20070238528A1 (en) * 2006-03-20 2007-10-11 Harris Adam P Game metrics
US20080091937A1 (en) * 1999-07-16 2008-04-17 Dupray Dennis J Trusted communications between untrusting parties
US7406593B2 (en) 2002-05-02 2008-07-29 Shieldip, Inc. Method and apparatus for protecting information and privacy
US20080189706A1 (en) * 2007-02-01 2008-08-07 Acei Ab Transaction processing system and method
US7517282B1 (en) * 2003-08-04 2009-04-14 Microsoft Corporation Methods and systems for monitoring a game to determine a player-exploitable game condition
US20090191951A1 (en) * 2006-03-20 2009-07-30 Harris Adam P Validation of Network Devices
US7666088B2 (en) 2004-09-28 2010-02-23 Igt Methods and apparatus for playing a gaming pool for a feature event bonus game
US7677565B2 (en) 2001-09-28 2010-03-16 Shuffle Master, Inc Card shuffler with card rank and value reading capability
US7684874B2 (en) 2006-06-13 2010-03-23 Igt Server based gaming system and method for selectively providing one or more different tournaments
US20100151934A1 (en) * 2004-11-12 2010-06-17 Henrik Kniberg Gaming interruption and reconnection management
US7753373B2 (en) 2001-09-28 2010-07-13 Shuffle Master, Inc. Multiple mode card shuffler and card reading device
US7753772B1 (en) * 2000-05-25 2010-07-13 Walker Digital, Llc Systems and methods wherein a player indicates an item that may be received based on a game event outcome associated with the player
US7764836B2 (en) 2005-06-13 2010-07-27 Shuffle Master, Inc. Card shuffler with card rank and value reading capability using CMOS sensor
US7766332B2 (en) 2006-07-05 2010-08-03 Shuffle Master, Inc. Card handling devices and methods of using the same
US20100273552A1 (en) * 2009-04-24 2010-10-28 Mwstory Co., Ltd. Method for Authentication of Game Executing Authority Recording Medium for Storing Authentication Program of Game Executing Authority, and Server for Storing Authentication Program of Game Executing Authority
US7831047B2 (en) 2001-08-06 2010-11-09 Igt Digital identification of unique game characteristics
US7837556B2 (en) 2001-09-28 2010-11-23 Igt Decoupling of the graphical presentation of a game from the presentation logic
US7857699B2 (en) 2006-11-01 2010-12-28 Igt Gaming system and method of operating a gaming system having a bonus participation bidding sequence
US7862427B2 (en) 2004-10-04 2011-01-04 Igt Wide area progressive jackpot system and methods
US7867084B2 (en) 2001-11-26 2011-01-11 Igt Pass-through live validation device and method
US7883413B2 (en) 2001-03-27 2011-02-08 Igt Interactive game playing preferences
US7892087B1 (en) 2002-12-02 2011-02-22 Sca Promotions, Inc. Authentication of game results
US7905777B2 (en) 2005-08-04 2011-03-15 Igt Methods and apparatus for auctioning an item via a gaming device
US7931533B2 (en) 2001-09-28 2011-04-26 Igt Game development architecture that decouples the game logic from the graphics logics
US7946586B2 (en) 2000-04-12 2011-05-24 Shuffle Master Gmbh & Co Kg Swivel mounted card handling device
US7951002B1 (en) 2000-06-16 2011-05-31 Igt Using a gaming machine as a server
US7967677B2 (en) 2006-11-08 2011-06-28 Igt Gaming system and method for providing virtual drawings
US7972214B2 (en) 2000-12-07 2011-07-05 Igt Methods and devices for downloading games of chance
US7976023B1 (en) 2002-02-08 2011-07-12 Shuffle Master, Inc. Image capturing card shuffler
US7988559B2 (en) 2001-03-08 2011-08-02 Igt Computerized gaming system, method and apparatus
US7996916B2 (en) 2001-08-08 2011-08-09 Igt Process verification
US8011661B2 (en) 2001-09-28 2011-09-06 Shuffle Master, Inc. Shuffler with shuffling completion indicator
US8016662B1 (en) 2002-11-22 2011-09-13 Sca Promotions, Inc. Game-winner selection based on verifiable event outcomes
US8038521B2 (en) 2001-09-28 2011-10-18 Shuffle Master, Inc. Card shuffling apparatus with automatic card size calibration during shuffling
US8052522B2 (en) 2005-03-09 2011-11-08 Igt Printer interpreter for a gaming machine
US8057298B2 (en) 2002-03-12 2011-11-15 Igt Virtual player tracking and related services
US8070574B2 (en) 2007-06-06 2011-12-06 Shuffle Master, Inc. Apparatus, system, method, and computer-readable medium for casino card handling with multiple hand recall feature
US8083585B2 (en) 2002-09-10 2011-12-27 Igt Apparatus and method for copying gaming machine configuration settings
US8100760B2 (en) 2003-07-23 2012-01-24 Igt Methods and apparatus for a competitive bonus game with variable odds
US8105149B2 (en) 2006-11-10 2012-01-31 Igt Gaming system and method providing venue wide simultaneous player participation based bonus game
US8118666B2 (en) 2008-07-15 2012-02-21 Igt Gaming system, gaming devices, and method for providing an enhanced multiple-player bonus redemption game
US8162743B2 (en) 2002-06-19 2012-04-24 Igt Elimination games for gaming machines
US8216065B2 (en) 2005-09-09 2012-07-10 Igt Gaming system having multiple adjacently arranged gaming machines which each provide a component for a multi-component game
US8287379B2 (en) 2005-09-12 2012-10-16 Igt Distributed game services
US8342525B2 (en) 2006-07-05 2013-01-01 Shfl Entertainment, Inc. Card shuffler with adjacent card infeed and card output compartments
US8353513B2 (en) 2006-05-31 2013-01-15 Shfl Entertainment, Inc. Card weight for gravity feed input for playing card shuffler
US8419546B2 (en) 2009-08-31 2013-04-16 Igt Gaming system and method for selectively providing an elimination tournament that funds an award through expected values of unplayed tournament games of eliminated players
US8419016B2 (en) 2006-05-17 2013-04-16 Shfl Entertainment, Inc. Playing card delivery for games with multiple dealing rounds
US8475265B2 (en) 2011-09-28 2013-07-02 Igt Gaming system, gaming device, and method for providing a multiple player persistent game
US8480466B2 (en) 2001-03-27 2013-07-09 Igt Method and apparatus for previewing a game
US8490973B2 (en) 2004-10-04 2013-07-23 Shfl Entertainment, Inc. Card reading shoe with card stop feature and systems utilizing the same
US8511684B2 (en) 2004-10-04 2013-08-20 Shfl Entertainment, Inc. Card-reading shoe with inventory correction feature and methods of correcting inventory
US8540574B1 (en) * 2000-05-30 2013-09-24 Core Wireless Licensing S.A.R.L. Navigation aware news service
US8573595B2 (en) 2003-10-21 2013-11-05 Alireza Pirouzkhah Variable point generation craps game
US8579289B2 (en) 2006-05-31 2013-11-12 Shfl Entertainment, Inc. Automatic system and methods for accurate card handling
US8590896B2 (en) 2000-04-12 2013-11-26 Shuffle Master Gmbh & Co Kg Card-handling devices and systems
US8602882B2 (en) 2004-10-04 2013-12-10 Igt Jackpot interfaces and services on a gaming machine
US8628086B2 (en) 2004-09-14 2014-01-14 Shfl Entertainment, Inc. Shuffling devices including one or more sensors for detecting operational parameters and related methods
US8651956B2 (en) 2005-09-12 2014-02-18 Igt Method and system for instant-on game download
US8651947B2 (en) 2007-11-09 2014-02-18 Igt Gaming system and method providing a multiple-player bonus redemption game
US8662980B2 (en) 2011-09-28 2014-03-04 Igt Gaming system, gaming device, and method for providing a multiple player persistent game
US8708828B2 (en) 2001-09-28 2014-04-29 Igt Pluggable modular gaming modifiers and configuration templates for gaming environments
US8708804B2 (en) 2012-06-22 2014-04-29 Igt Gaming system and method providing a collection game including at least one customizable award collector
US8795063B2 (en) 2012-03-27 2014-08-05 Igt Gaming system, gaming device, and method for providing a multiple player game
US8814669B2 (en) 2005-12-08 2014-08-26 Igt Systems and methods for post-play gaming benefits
US8905831B2 (en) 2011-09-28 2014-12-09 Igt Gaming system, gaming device, and method for providing a multiple player persistent game
US8956220B2 (en) 2012-06-29 2015-02-17 Pridefield Limited System for playing multiplayer games
US9233298B2 (en) 2009-04-07 2016-01-12 Bally Gaming, Inc. Playing card shuffler
US9266011B2 (en) 1997-03-13 2016-02-23 Bally Gaming, Inc. Card-handling devices and methods of using such devices
US9320964B2 (en) 2006-11-10 2016-04-26 Bally Gaming, Inc. System for billing usage of a card handling device
US9345952B2 (en) 2006-03-24 2016-05-24 Shuffle Master Gmbh & Co Kg Card handling apparatus
US9345951B2 (en) 2001-09-28 2016-05-24 Bally Gaming, Inc. Methods and apparatuses for an automatic card handling device and communication networks including same
US9378766B2 (en) 2012-09-28 2016-06-28 Bally Gaming, Inc. Card recognition system, card handling device, and method for tuning a card handling device
USD764599S1 (en) 2014-08-01 2016-08-23 Bally Gaming, Inc. Card shuffler device
US9452346B2 (en) 2001-09-28 2016-09-27 Bally Gaming, Inc. Method and apparatus for using upstream communication in a card shuffler
US9474957B2 (en) 2014-05-15 2016-10-25 Bally Gaming, Inc. Playing card handling devices, systems, and methods for verifying sets of cards
US9504905B2 (en) 2014-09-19 2016-11-29 Bally Gaming, Inc. Card shuffling device and calibration method
US9511274B2 (en) 2012-09-28 2016-12-06 Bally Gaming Inc. Methods for automatically generating a card deck library and master images for a deck of cards, and a related card processing apparatus
US9539494B2 (en) 2009-04-07 2017-01-10 Bally Gaming, Inc. Card shuffling apparatuses and related methods
US9566501B2 (en) 2014-08-01 2017-02-14 Bally Gaming, Inc. Hand-forming card shuffling apparatuses including multi-card storage compartments, and related methods
US9640017B2 (en) 2005-08-31 2017-05-02 Igt Gaming system and method employing rankings of outcomes from multiple gaming machines to determine awards
US9636589B2 (en) 2010-11-02 2017-05-02 Sony Interactive Entertainment America Llc Detecting lag switch cheating in game
US9713761B2 (en) 2011-07-29 2017-07-25 Bally Gaming, Inc. Method for shuffling and dealing cards
US9731190B2 (en) 2011-07-29 2017-08-15 Bally Gaming, Inc. Method and apparatus for shuffling and handling cards
US9802114B2 (en) 2010-10-14 2017-10-31 Shuffle Master Gmbh & Co Kg Card handling systems, devices for use in card handling systems and related methods
US9852586B2 (en) 2011-05-13 2017-12-26 Cork Group Trading Ltd. System for playing multiplayer games
US9849368B2 (en) 2012-07-27 2017-12-26 Bally Gaming, Inc. Batch card shuffling apparatuses including multi card storage compartments
US9993719B2 (en) 2015-12-04 2018-06-12 Shuffle Master Gmbh & Co Kg Card handling devices and related assemblies and components
WO2018104728A1 (en) * 2016-12-05 2018-06-14 Quanta Technology Ltd Random number generation
US10032338B2 (en) 2015-09-23 2018-07-24 Igt Gaming system and method providing a gaming tournament having a variable average expected point payout
US10055930B2 (en) 2015-08-11 2018-08-21 Igt Gaming system and method for placing and redeeming sports bets
US10235832B2 (en) 2008-10-17 2019-03-19 Igt Post certification metering for diverse game machines
US10279245B2 (en) 2014-04-11 2019-05-07 Bally Gaming, Inc. Method and apparatus for handling cards
US10339765B2 (en) 2016-09-26 2019-07-02 Shuffle Master Gmbh & Co Kg Devices, systems, and related methods for real-time monitoring and display of related data for casino gaming devices
KR20190088164A (en) * 2018-01-18 2019-07-26 엔에이치엔 주식회사 Probability fair game methode and system bisised on on line
KR20190088163A (en) * 2018-01-18 2019-07-26 엔에이치엔 주식회사 Probability fair game methode and system bisised on on line
US10424162B2 (en) 2016-09-23 2019-09-24 Igt Gaming system and method providing a gaming tournament with a dynamic equalizer feature
WO2020102456A1 (en) * 2018-11-13 2020-05-22 Thunder Token Inc. Gambling systems and methods based on blockchain technology
US10733838B2 (en) 2018-11-16 2020-08-04 Igt Gaming system and method providing tournament-style free activation feature
US10933300B2 (en) 2016-09-26 2021-03-02 Shuffle Master Gmbh & Co Kg Card handling devices and related assemblies and components
US11173383B2 (en) 2019-10-07 2021-11-16 Sg Gaming, Inc. Card-handling devices and related methods, assemblies, and components
US11338194B2 (en) 2018-09-28 2022-05-24 Sg Gaming, Inc. Automatic card shufflers and related methods of automatic jam recovery
US11376489B2 (en) 2018-09-14 2022-07-05 Sg Gaming, Inc. Card-handling devices and related methods, assemblies, and components
US11898837B2 (en) 2019-09-10 2024-02-13 Shuffle Master Gmbh & Co Kg Card-handling devices with defect detection and related methods
US11896891B2 (en) 2018-09-14 2024-02-13 Sg Gaming, Inc. Card-handling devices and related methods, assemblies, and components

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6547131B1 (en) * 1996-04-29 2003-04-15 Igt Preset amount electronic funds transfer system for gaming machines
US8821258B2 (en) * 1996-11-14 2014-09-02 Agincourt Gaming, Llc Method for providing games over a wide area network
US20050054431A1 (en) * 1997-07-03 2005-03-10 Walker Jay S. Method and apparatus for providing instructions to gaming devices
US6203427B1 (en) 1997-07-03 2001-03-20 Walker Digital, Llc Method and apparatus for securing a computer-based game of chance
US6030288A (en) 1997-09-02 2000-02-29 Quixotic Solutions Inc. Apparatus and process for verifying honest gaming transactions over a communications network
IL123125A (en) * 1998-01-30 2003-01-12 Nds Ltd Game system apparatus and method particularly for lottery-type-games
US6665672B2 (en) * 1998-10-30 2003-12-16 Xerox Corporation Transaction/object accounting method and system
US6409602B1 (en) * 1998-11-06 2002-06-25 New Millenium Gaming Limited Slim terminal gaming system
JP3546758B2 (en) * 1999-05-26 2004-07-28 日本電気株式会社 Winner determination system, its winner determination method, and recording medium storing its control program
AR029163A1 (en) * 1999-06-11 2003-06-18 Ods Properties Inc SYSTEM FOR PERFORMING BETS INTERACTIVELY
US6735487B1 (en) * 1999-07-01 2004-05-11 Ods Properties, Inc. Interactive wagering system with promotions
US6859821B1 (en) * 1999-07-19 2005-02-22 Groove Networks, Inc. Method and apparatus for prioritizing data change requests and maintaining data consistency in a distributed computer system equipped for activity-based collaboration
US7461022B1 (en) 1999-10-20 2008-12-02 Yahoo! Inc. Auction redemption system and method
EP1269361A2 (en) 1999-12-06 2003-01-02 ODS Properties, Inc. Systems and methods for interactive wagering
FR2802677B1 (en) * 1999-12-17 2002-01-18 Thomson Multimedia Sa SECURE REMOTE GAME MANAGEMENT METHOD
US20010039530A1 (en) * 2000-01-18 2001-11-08 Annunziata Vincent P. Trading simulation
US6712701B1 (en) 2000-03-01 2004-03-30 Ods Technologies, L.P. Electronic book interactive wagering system
US6773347B1 (en) 2000-03-31 2004-08-10 Ods Properties, Inc. Interactive wagering system
US7229354B2 (en) 2000-04-05 2007-06-12 Ods Properties, Inc. Interactive wagering systems and methods for restricting wagering access
US20020049975A1 (en) * 2000-04-05 2002-04-25 Thomas William L. Interactive wagering system with multiple display support
CA2402853A1 (en) * 2000-04-05 2001-10-18 Ods Properties, Inc. Interactive wagering systems for providing wagering information and methods of use
US20010051540A1 (en) * 2000-04-05 2001-12-13 John Hindman Interactive wagering systems and methods with parimutuel pool features
US6674448B1 (en) 2000-04-05 2004-01-06 Ods Properties, Inc. Interactive wagering system with controllable graphic displays
WO2001077971A2 (en) * 2000-04-05 2001-10-18 Ods Properties, Inc. Systems and methods for placing parimutuel wagers on future events
AU2001256984B2 (en) 2000-04-05 2005-07-28 Ods Properties, Inc. Interactive wagering systems and methods with multiple television feeds
EP1269292A1 (en) * 2000-04-05 2003-01-02 ODS Properties, Inc. Systems and methods for recognizing preferred wagerers
AU2001253634A1 (en) * 2000-04-14 2001-10-30 Gtech Rhode Island Corporation Scheme for validating instant gaming tickets
KR100406279B1 (en) * 2000-06-16 2003-11-15 (주)넷브리지 Hotel tourism and business information system
AU2001283215A1 (en) * 2000-08-14 2002-02-25 Yahoo, Inc. Offline-online incentive points system and method
US7273415B2 (en) 2000-09-07 2007-09-25 Igt Gaming device having a bonus scheme with multiple selection groups
US6949022B1 (en) * 2000-11-22 2005-09-27 Trilogy Development Group, Inc. Distributed secrets for validation of gaming transactions
CA2430026C (en) 2000-11-28 2009-03-24 Ods Properties, Inc. Systems and methods for providing fixed-odds and pari-mutuel wagering
US20020065120A1 (en) * 2000-11-29 2002-05-30 Ods Properties, Inc. Interactive wagering system with automatic runner selection
FI20010233A0 (en) * 2001-02-08 2001-02-08 Orion Corp A method for treating heart failure
US7516324B2 (en) * 2001-07-05 2009-04-07 Sony Corporation Information processing system, information management apparatus, and information processing apparatus
JP3912514B2 (en) * 2001-07-05 2007-05-09 ソニー株式会社 Communication game system, server and client
US20030037149A1 (en) * 2001-08-07 2003-02-20 Hess Lawrence D. Distributed and fault tolerant server system and method
AU2002331915B2 (en) * 2001-09-28 2006-08-10 Igt System for awarding a bonus to a gaming device on a wide area network
US7727070B2 (en) * 2001-09-28 2010-06-01 Igt Method and apparatus for authenticating and verifying communication on a network of gaming devices
US20040142750A1 (en) * 2003-01-22 2004-07-22 Acres Gaming Incorporated Method and apparatus for use of a network by a casino
US7329183B2 (en) * 2003-02-21 2008-02-12 Igt Central determination gaming system where the same seed is used to generate the outcomes for a primary game and a secondary game
US20050043087A1 (en) * 2003-08-19 2005-02-24 Atlantic City Coin & Slot Service Company, Inc. Method for awarding prizes
US20050049048A1 (en) * 2003-08-29 2005-03-03 Wilder Richard L. Method and apparatus for controlling multiple games with one or more processors
US7534169B2 (en) * 2005-07-08 2009-05-19 Cfph, Llc System and method for wireless gaming system with user profiles
US20070060358A1 (en) 2005-08-10 2007-03-15 Amaitis Lee M System and method for wireless gaming with location determination
US20060019749A1 (en) * 2004-07-01 2006-01-26 Virtgame Corp. Secure server-based gaming platform
US8251791B2 (en) 2004-08-19 2012-08-28 Igt Gaming system having multiple gaming machines which provide bonus awards
US7892093B2 (en) 2004-08-19 2011-02-22 Igt Gaming system having multiple gaming machines which provide bonus awards
US7963847B2 (en) 2004-08-19 2011-06-21 Igt Gaming system having multiple gaming machines which provide bonus awards
US7607977B2 (en) 2004-08-19 2009-10-27 Igt Gaming system having multiple gaming machines which provide bonus awards
US8021230B2 (en) 2004-08-19 2011-09-20 Igt Gaming system having multiple gaming machines which provide bonus awards
US7618321B2 (en) * 2004-09-13 2009-11-17 Pokertek, Inc. System and method for detecting collusion between poker players
US10510214B2 (en) 2005-07-08 2019-12-17 Cfph, Llc System and method for peer-to-peer wireless gaming
US7568973B2 (en) * 2005-09-09 2009-08-04 Igt Server based gaming system having multiple progressive awards
US7841939B2 (en) * 2005-09-09 2010-11-30 Igt Server based gaming system having multiple progressive awards
US8128491B2 (en) 2005-09-09 2012-03-06 Igt Server based gaming system having multiple progressive awards
US8137188B2 (en) * 2005-09-09 2012-03-20 Igt Server based gaming system having multiple progressive awards
WO2007104802A1 (en) 2006-03-13 2007-09-20 Kinamik Data Integrity, S.L. Highly efficient method and system for secure generation of random numbers
US7780520B2 (en) 2006-03-15 2010-08-24 Igt Gaming device having multiple different types of progressive awards
US8668146B1 (en) 2006-05-25 2014-03-11 Sean I. Mcghie Rewards program with payment artifact permitting conversion/transfer of non-negotiable credits to entity independent funds
US10062062B1 (en) 2006-05-25 2018-08-28 Jbshbm, Llc Automated teller machine (ATM) providing money for loyalty points
US7703673B2 (en) 2006-05-25 2010-04-27 Buchheit Brian K Web based conversion of non-negotiable credits associated with an entity to entity independent negotiable funds
US8684265B1 (en) 2006-05-25 2014-04-01 Sean I. Mcghie Rewards program website permitting conversion/transfer of non-negotiable credits to entity independent funds
US9704174B1 (en) 2006-05-25 2017-07-11 Sean I. Mcghie Conversion of loyalty program points to commerce partner points per terms of a mutual agreement
US8523665B2 (en) * 2006-10-11 2013-09-03 Igt Gaming system and method having multi-level mystery triggered progressive awards
US9306952B2 (en) 2006-10-26 2016-04-05 Cfph, Llc System and method for wireless gaming with location determination
US9047733B2 (en) 2006-11-08 2015-06-02 Igt Gaming system and method for providing multiple level progressive awards with increased odds of winning higher level progressive awards
US7963845B2 (en) 2006-11-08 2011-06-21 Igt Gaming system and method with multiple progressive award levels and a skill based determination of providing one of the progressive award levels
US8645709B2 (en) 2006-11-14 2014-02-04 Cfph, Llc Biometric access data encryption
US9411944B2 (en) 2006-11-15 2016-08-09 Cfph, Llc Biometric access sensitivity
US9183693B2 (en) 2007-03-08 2015-11-10 Cfph, Llc Game access device
WO2009014757A1 (en) * 2007-07-26 2009-01-29 Limbo, Inc. Systems, media and methods for determining a winner of a multiplayer game
CN101444668B (en) * 2007-11-26 2011-04-06 柳州市蓝海科技有限公司 Method and device for pre-outputting results of task execution, and electronic entertainment equipment
US8635126B2 (en) * 2010-11-17 2014-01-21 It Casino Solutions Llc Casino operations management system
US8376836B2 (en) * 2008-11-07 2013-02-19 Igt Server based gaming system and method for providing deferral of bonus events
US8371921B1 (en) * 2009-05-28 2013-02-12 Tournament One, Corp. Keno game with poker hands using deterministic card placements
US20110003637A1 (en) * 2009-07-02 2011-01-06 Igt Gaming system and method providing a plurality of awards and a cumulative award
US9569932B2 (en) 2009-07-02 2017-02-14 Igt Central determination gaming system and method for providing a persistence game with predetermined game outcomes
US8932129B2 (en) 2010-03-12 2015-01-13 Igt Multi-play central determination system
US8956231B2 (en) 2010-08-13 2015-02-17 Cfph, Llc Multi-process communication regarding gaming information
CN102546565A (en) * 2010-12-31 2012-07-04 布谷(北京)网络科技有限公司 Credit verifying method based on Internet or wireless Internet
TWI429472B (en) * 2011-02-18 2014-03-11 Int Games System Co Ltd System and method for game machine
TW201838697A (en) 2012-02-28 2018-11-01 美商Cfph有限責任公司 Method and apparatus for providing gaming service
US8864578B2 (en) * 2012-10-05 2014-10-21 Scientific Games International, Inc. Methods for secure game entry generation via multi-part generation seeds
US9539501B2 (en) * 2012-10-11 2017-01-10 Scientific Games International, Inc. System for implementing internet-based games with a core platform, game modules, and protected game outcome generator
US9833710B2 (en) * 2014-03-13 2017-12-05 Scientific Games International, Inc. Method and system for providing a secure shuffle of game objects across multiple entities
US10009180B2 (en) 2015-05-14 2018-06-26 Sca Promotions, Inc. System and method for generating auditable secure seeds from real-world data
US9881462B2 (en) * 2015-07-17 2018-01-30 Ami Entertainment Network, Llc System and method for creating electronic multiplayer game tournaments
CN106552420A (en) * 2015-09-30 2017-04-05 彭先立 Networking game device
CN105641930B (en) * 2015-12-28 2019-05-14 网易(杭州)网络有限公司 The method of calibration and device of game data
KR101891608B1 (en) 2017-08-31 2018-08-24 주식회사 엔씨소프트 Method and system for verifying validation of a session in online game
US20190188955A1 (en) 2017-12-18 2019-06-20 Igt System and method for utilizing location-based analytics to provide gaming awards
KR101984808B1 (en) * 2018-01-18 2019-05-31 엔에이치엔 주식회사 Probability fair game methode and system bisised on on line
KR102023430B1 (en) * 2018-01-18 2019-09-23 엔에이치엔 주식회사 Probability fair game methode and system bisised on on line
CN110339575B (en) * 2018-04-08 2022-08-26 腾讯科技(深圳)有限公司 Method and device for determining cheating users in online game
CN108992925B (en) * 2018-06-29 2020-09-15 杭州复杂美科技有限公司 Guessing game processing method and system
CN109289199B (en) * 2018-08-10 2020-07-10 杭州复杂美科技有限公司 Multiplayer game method, device and storage medium
US10614669B2 (en) 2018-08-22 2020-04-07 Igt Central determination gaming system with incrementing awards
US20200074805A1 (en) 2018-08-28 2020-03-05 Igt Central determination gaming system with limited term persistent elements
CN109345244A (en) * 2018-09-25 2019-02-15 杭州复杂美科技有限公司 A kind of picture quiz game method, equipment and storage medium
WO2022244037A1 (en) * 2021-05-17 2022-11-24 arosm合同会社 Electronic card game system, game program, confirmation program, and method for executing card game using electronic cards
WO2023102581A1 (en) 2021-12-07 2023-06-15 Flugdachs Intellectual Property Gmbh Provable remote execution of a computer program

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4302810A (en) * 1979-12-28 1981-11-24 International Business Machines Corporation Method and apparatus for secure message transmission for use in electronic funds transfer systems
US4326098A (en) * 1980-07-02 1982-04-20 International Business Machines Corporation High security system for electronic signature verification
US4630201A (en) * 1984-02-14 1986-12-16 International Security Note & Computer Corporation On-line and off-line transaction security system using a code generated from a transaction parameter and a random number
US4906826A (en) * 1988-09-19 1990-03-06 Visa International Service Association Usage promotion method for payment card transaction system
US5038284A (en) * 1988-02-17 1991-08-06 Kramer Robert M Method and apparatus relating to conducting trading transactions with portable trading stations
US5269521A (en) * 1990-08-22 1993-12-14 Rossides Michael T Expected value payment method and system for reducing the expected per unit costs of paying and/or receiving a given amount of a commodity
US5305200A (en) * 1990-11-02 1994-04-19 Foreign Exchange Transaction Services, Inc. Financial exchange system having automated recovery/rollback of unacknowledged orders
US5398932A (en) * 1993-12-21 1995-03-21 Video Lottery Technologies, Inc. Video lottery system with improved site controller and validation unit
US5410684A (en) * 1990-05-16 1995-04-25 International Business Machines Corporation Log name exchange for recovery of protected resources
US5569082A (en) * 1995-04-06 1996-10-29 Kaye; Perry Personal computer lottery game
US5586937A (en) * 1993-05-19 1996-12-24 Menashe; Julian Interactive, computerised gaming system with remote terminals
WO1997002073A1 (en) * 1995-06-30 1997-01-23 Walker Asset Management Limited Partnership Off-line remote lottery system
US5611730A (en) * 1995-04-25 1997-03-18 Casino Data Systems Progressive gaming system tailored for use in multiple remote sites: apparatus and method
US5615269A (en) * 1996-02-22 1997-03-25 Micali; Silvio Ideal electronic negotiations
US5629982A (en) * 1995-03-21 1997-05-13 Micali; Silvio Simultaneous electronic transactions with visible trusted parties
US5633930A (en) * 1994-09-30 1997-05-27 Electronic Payment Services, Inc. Common cryptographic key verification in a transaction network
WO1999019537A1 (en) * 1997-10-09 1999-04-22 Applied Komatsu Technology, Inc. Dual frequency excitation of plasma for film deposition
US6030288A (en) * 1997-09-02 2000-02-29 Quixotic Solutions Inc. Apparatus and process for verifying honest gaming transactions over a communications network

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5326104A (en) * 1992-02-07 1994-07-05 Igt Secure automated electronic casino gaming system
US6134536A (en) * 1992-05-29 2000-10-17 Swychco Infrastructure Services Pty Ltd. Methods and apparatus relating to the formulation and trading of risk management contracts
DE69637799D1 (en) * 1995-02-13 2009-02-12 Intertrust Tech Corp Systems and procedures for secure transaction management and electronic legal protection
US5970143A (en) * 1995-11-22 1999-10-19 Walker Asset Management Lp Remote-auditing of computer generated outcomes, authenticated billing and access control, and software metering system using cryptographic and other protocols
AU1081997A (en) * 1995-11-22 1997-06-11 Walker Asset Management Limited Partnership Remote-auditing of computer generated outcomes using cryptographic and other protocols
US5850442A (en) * 1996-03-26 1998-12-15 Entegrity Solutions Corporation Secure world wide electronic commerce over an open network
JP3206474B2 (en) * 1997-01-27 2001-09-10 日本電気株式会社 Electronic lottery method and electronic lottery system

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4302810A (en) * 1979-12-28 1981-11-24 International Business Machines Corporation Method and apparatus for secure message transmission for use in electronic funds transfer systems
US4326098A (en) * 1980-07-02 1982-04-20 International Business Machines Corporation High security system for electronic signature verification
US4630201A (en) * 1984-02-14 1986-12-16 International Security Note & Computer Corporation On-line and off-line transaction security system using a code generated from a transaction parameter and a random number
US5038284A (en) * 1988-02-17 1991-08-06 Kramer Robert M Method and apparatus relating to conducting trading transactions with portable trading stations
US4906826A (en) * 1988-09-19 1990-03-06 Visa International Service Association Usage promotion method for payment card transaction system
US5410684A (en) * 1990-05-16 1995-04-25 International Business Machines Corporation Log name exchange for recovery of protected resources
US5269521A (en) * 1990-08-22 1993-12-14 Rossides Michael T Expected value payment method and system for reducing the expected per unit costs of paying and/or receiving a given amount of a commodity
US5305200A (en) * 1990-11-02 1994-04-19 Foreign Exchange Transaction Services, Inc. Financial exchange system having automated recovery/rollback of unacknowledged orders
US5586937A (en) * 1993-05-19 1996-12-24 Menashe; Julian Interactive, computerised gaming system with remote terminals
US5398932A (en) * 1993-12-21 1995-03-21 Video Lottery Technologies, Inc. Video lottery system with improved site controller and validation unit
US5633930A (en) * 1994-09-30 1997-05-27 Electronic Payment Services, Inc. Common cryptographic key verification in a transaction network
US5629982A (en) * 1995-03-21 1997-05-13 Micali; Silvio Simultaneous electronic transactions with visible trusted parties
US5569082A (en) * 1995-04-06 1996-10-29 Kaye; Perry Personal computer lottery game
US5611730A (en) * 1995-04-25 1997-03-18 Casino Data Systems Progressive gaming system tailored for use in multiple remote sites: apparatus and method
WO1997002073A1 (en) * 1995-06-30 1997-01-23 Walker Asset Management Limited Partnership Off-line remote lottery system
US5615269A (en) * 1996-02-22 1997-03-25 Micali; Silvio Ideal electronic negotiations
US6030288A (en) * 1997-09-02 2000-02-29 Quixotic Solutions Inc. Apparatus and process for verifying honest gaming transactions over a communications network
WO1999019537A1 (en) * 1997-10-09 1999-04-22 Applied Komatsu Technology, Inc. Dual frequency excitation of plasma for film deposition

Cited By (388)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6568678B2 (en) 1994-08-09 2003-05-27 Shuffle Master, Inc. Method and apparatus for automatically cutting and shuffling playing cards
US9266011B2 (en) 1997-03-13 2016-02-23 Bally Gaming, Inc. Card-handling devices and methods of using such devices
US8210535B2 (en) 1998-04-15 2012-07-03 Shuffle Master, Inc. Device and method for continuously shuffling and monitoring cards
US20050206077A1 (en) * 1998-04-15 2005-09-22 Attila Grauzer Device and method for continuously shuffling and monitoring cards for specialty games
US20020163125A1 (en) * 1998-04-15 2002-11-07 Shuffle Master, Inc. Device and method for continuously shuffling and monitoring cards for specialty games
US7059602B2 (en) 1998-04-15 2006-06-13 Shuffle Master, Inc. Card shuffler with staging area for collecting groups of cards
US20030052449A1 (en) * 1998-04-15 2003-03-20 Attila Grauzer Device and method for continuously shuffling and monitoring cards
US20080203658A1 (en) * 1998-04-15 2008-08-28 Shuffle Master, Inc. Device and method for continuously shuffling and monitoring cards
US9266012B2 (en) 1998-04-15 2016-02-23 Bally Gaming, Inc. Methods of randomizing cards
US7413191B2 (en) 1998-04-15 2008-08-19 Shuffle Master, Inc. Device and method for forming and delivering hands from randomly arranged decks of playing cards
US8505916B2 (en) 1998-04-15 2013-08-13 Shfl Entertainment, Inc. Methods of randomizing cards
US7137627B2 (en) 1998-04-15 2006-11-21 Attila Grauzer Device and method for continuously shuffling and monitoring cards
US20030090059A1 (en) * 1998-04-15 2003-05-15 Attila Grauzer Device and method for continuously shuffling and monitoring cards
US20030094756A1 (en) * 1998-04-15 2003-05-22 Attila Grauzer Device and method for continuously shuffling and monitoring cards
US7523936B2 (en) 1998-04-15 2009-04-28 Shuffle Master, Inc. Device and method for forming and delivering hands from randomly arranged decks of playing cards
US9861881B2 (en) 1998-04-15 2018-01-09 Bally Gaming, Inc. Card handling apparatuses and methods for handling cards
US9370710B2 (en) 1998-04-15 2016-06-21 Bally Gaming, Inc. Methods for shuffling cards and rack assemblies for use in automatic card shufflers
US7234698B2 (en) 1998-04-15 2007-06-26 Shuffle Master, Inc. Device and method for continuously shuffling and monitoring cards
US7255344B2 (en) 1998-04-15 2007-08-14 Shuffle Master, Inc. Device and method for continuously shuffling and monitoring cards
US8191894B2 (en) 1998-04-15 2012-06-05 Shuffle Master, Inc. Card feed mechanisms for card-handling apparatuses and related methods
US9561426B2 (en) 1998-04-15 2017-02-07 Bally Gaming, Inc. Card-handling devices
US8646779B2 (en) 1998-04-15 2014-02-11 Shfl Entertainment, Inc. Device and method for handling, shuffling, and moving cards
US8998211B2 (en) 1998-04-15 2015-04-07 Bally Gaming, Inc. Methods of randomizing cards
US7784790B2 (en) 1998-04-15 2010-08-31 Shuffle Master, Inc Device and method for continuously shuffling and monitoring cards
US7338044B2 (en) 1998-04-15 2008-03-04 Shuffle Master, Inc. Card shuffler with user game selection input
US8820745B2 (en) 1998-04-15 2014-09-02 Shfl Entertainment, Inc. Device and method for handling, shuffling, and moving cards
US7073791B2 (en) 1998-04-15 2006-07-11 Shuffle Master, Inc. Hand forming shuffler with on demand hand delivery
US7322576B2 (en) 1998-04-15 2008-01-29 Shuffle Master, Inc. Device and method for continuously shuffling and monitoring cards
US7131144B2 (en) 1999-05-05 2006-10-31 Shieldip, Inc. Methods and apparatus for protecting information
US20040133803A1 (en) * 1999-05-05 2004-07-08 Rabin Michael O. Methods and apparatus for protecting information
US6625661B1 (en) * 1999-06-21 2003-09-23 Kenneth G. Baldwin, Jr. Interactive entertainment system
US20080091937A1 (en) * 1999-07-16 2008-04-17 Dupray Dennis J Trusted communications between untrusting parties
US11582209B2 (en) 1999-07-16 2023-02-14 Dennis Dupray Trusted communications between untrusting parties
US8644508B2 (en) 1999-07-16 2014-02-04 Dennis Dupray Trusted communications between untrusting parties
US9363242B2 (en) 1999-07-16 2016-06-07 Dennis Dupray Trusted communications between untrusting parties
US8144871B2 (en) 1999-07-16 2012-03-27 Dennis Dupray Trusted communications between untrusting parties
US10708242B2 (en) 1999-07-16 2020-07-07 Dennis Dupray Assuring transaction integrity on a network
US10425389B2 (en) 1999-07-16 2019-09-24 Dennis Dupray Trusted communications between untrusting parties
US9998432B2 (en) 1999-07-16 2018-06-12 Dennis Duray Trusted communications between untrusting parties
US11233773B2 (en) 1999-07-16 2022-01-25 Dennis Dupray Trusted communications between untrusting parties
US7043641B1 (en) * 2000-03-08 2006-05-09 Igt Encryption in a secure computerized gaming system
US7783040B2 (en) 2000-03-08 2010-08-24 Igt Encryption in a secure computerized gaming system
US7116782B2 (en) 2000-03-08 2006-10-03 Igt Encryption in a secure computerized gaming system
US10456659B2 (en) 2000-04-12 2019-10-29 Shuffle Master Gmbh & Co Kg Card handling devices and systems
US7946586B2 (en) 2000-04-12 2011-05-24 Shuffle Master Gmbh & Co Kg Swivel mounted card handling device
US8590896B2 (en) 2000-04-12 2013-11-26 Shuffle Master Gmbh & Co Kg Card-handling devices and systems
US9126103B2 (en) 2000-04-12 2015-09-08 Shuffle Master Gmbh & Co Kg Card-handling devices and systems
US6866586B2 (en) 2000-04-28 2005-03-15 Igt Cashless transaction clearinghouse
US20030171145A1 (en) * 2000-04-28 2003-09-11 Igt Cashless transaction clearinghouse
US20070060274A1 (en) * 2000-04-28 2007-03-15 Igt Player loyalty across a gaming enterprise
US7419428B2 (en) 2000-04-28 2008-09-02 Igt Cashless transaction clearinghouse
US20020077178A1 (en) * 2000-04-28 2002-06-20 Igt Cashless transaction clearinghouse
US20040030659A1 (en) * 2000-05-25 2004-02-12 Gueh Wilson How Kiap Transaction system and method
US7753772B1 (en) * 2000-05-25 2010-07-13 Walker Digital, Llc Systems and methods wherein a player indicates an item that may be received based on a game event outcome associated with the player
US8540574B1 (en) * 2000-05-30 2013-09-24 Core Wireless Licensing S.A.R.L. Navigation aware news service
US9826280B2 (en) 2000-05-30 2017-11-21 Conversant Wireless Licensing S.ar.l. Navigation aware news service
US7951002B1 (en) 2000-06-16 2011-05-31 Igt Using a gaming machine as a server
US7240198B1 (en) * 2000-08-08 2007-07-03 Yeda Research & Development Co., Ltd. Honesty preserving negotiation and computation
US8690661B2 (en) 2000-09-29 2014-04-08 Igt Method and apparatus for gaming machines with a tournament play bonus feature
US9633509B2 (en) 2000-09-29 2017-04-25 Igt Method and apparatus for gaming machines with a tournament play bonus feature
US20040229700A1 (en) * 2000-09-29 2004-11-18 Cannon Lee E. Method and apparatus for gaming machines with a tournament play bonus feature
US9111416B2 (en) 2000-09-29 2015-08-18 Igt Method and apparatus for gaming machines with a tournament play bonus feature
US9165429B2 (en) 2000-09-29 2015-10-20 Igt Method and apparatus for gaming machines with a tournament play bonus feature
US8043157B2 (en) 2000-09-29 2011-10-25 Igt Method and apparatus for gaming machines with a tournament play bonus feature
US7976389B2 (en) 2000-09-29 2011-07-12 Igt Method and apparatus for gaming machines with a tournament play bonus feature
US7824267B2 (en) 2000-09-29 2010-11-02 Igt Method and apparatus for gaming machines with a tournament play bonus feature
US8430736B2 (en) 2000-09-29 2013-04-30 Igt Method and apparatus for gaming machines with a tournament play bonus feature
US20050216760A1 (en) * 2000-11-03 2005-09-29 Shieldip, Inc. Method and apparatus for protecting information and privacy
US7747873B2 (en) 2000-11-03 2010-06-29 Shieldip, Inc. Method and apparatus for protecting information and privacy
US20050192099A1 (en) * 2000-12-07 2005-09-01 Igt Secured virtual network in a gaming environment
US20070136817A1 (en) * 2000-12-07 2007-06-14 Igt Wager game license management in a peer gaming network
US7515718B2 (en) * 2000-12-07 2009-04-07 Igt Secured virtual network in a gaming environment
US20020071557A1 (en) * 2000-12-07 2002-06-13 Nguyen Binh T. Secured virtual network in a gaming environment
US7972214B2 (en) 2000-12-07 2011-07-05 Igt Methods and devices for downloading games of chance
US20020116615A1 (en) * 2000-12-07 2002-08-22 Igt Secured virtual network in a gaming environment
US7168089B2 (en) 2000-12-07 2007-01-23 Igt Secured virtual network in a gaming environment
US7127069B2 (en) * 2000-12-07 2006-10-24 Igt Secured virtual network in a gaming environment
US7988559B2 (en) 2001-03-08 2011-08-02 Igt Computerized gaming system, method and apparatus
US7883413B2 (en) 2001-03-27 2011-02-08 Igt Interactive game playing preferences
US8435105B2 (en) 2001-03-27 2013-05-07 Igt Interactive game playing preferences
US8480466B2 (en) 2001-03-27 2013-07-09 Igt Method and apparatus for previewing a game
US7918738B2 (en) 2001-03-27 2011-04-05 Igt Interactive game playing preferences
US7722453B2 (en) 2001-03-27 2010-05-25 Igt Interactive game playing preferences
US20020142825A1 (en) * 2001-03-27 2002-10-03 Igt Interactive game playing preferences
EP1622101A3 (en) * 2001-04-30 2006-04-05 Gründerene Stonebridge DA Method and system for computer-based game
US6786824B2 (en) 2001-05-25 2004-09-07 Igt Method, apparatus, and system for providing a player with opportunities to win a feature event award
US6886830B1 (en) 2001-07-10 2005-05-03 Red Door Enterprises, Llc. Method and apparatus for playing a diceless Craps game
US6749199B2 (en) * 2001-07-10 2004-06-15 David A. Boyd Method and apparatus for playing a diceless craps game
US7155014B1 (en) 2001-07-26 2006-12-26 Sca Promotions, Inc. System and method for playing a lottery-type game
US7831047B2 (en) 2001-08-06 2010-11-09 Igt Digital identification of unique game characteristics
US7996916B2 (en) 2001-08-08 2011-08-09 Igt Process verification
US20050164783A1 (en) * 2001-09-04 2005-07-28 Igt Electronic signature capability in a gaming machine
US6935951B2 (en) * 2001-09-04 2005-08-30 Igt Electronic signature capability in a gaming machine
US20030055662A1 (en) * 2001-09-18 2003-03-20 Kevin Collins System and method for auditing electronic auctions
US20030060264A1 (en) * 2001-09-21 2003-03-27 Chilton Ward W. Gaming device providing tournament entries
US7523935B2 (en) 2001-09-28 2009-04-28 Shuffle Master, Inc. Card shuffling apparatus with integral card delivery
US9452346B2 (en) 2001-09-28 2016-09-27 Bally Gaming, Inc. Method and apparatus for using upstream communication in a card shuffler
US7988554B2 (en) 2001-09-28 2011-08-02 Igt Game development architecture that decouples the game logic from the graphics logic
US8556263B2 (en) 2001-09-28 2013-10-15 Shfl Entertainment, Inc. Card shuffler with card rank and value reading capability
US8944904B2 (en) 2001-09-28 2015-02-03 Bally Gaming, Inc. Method and apparatus for card handling device calibration
US10086260B2 (en) 2001-09-28 2018-10-02 Bally Gaming, Inc. Method and apparatus for using upstream communication in a card shuffler
US10022617B2 (en) 2001-09-28 2018-07-17 Bally Gaming, Inc. Shuffler and method of shuffling cards
US10004976B2 (en) 2001-09-28 2018-06-26 Bally Gaming, Inc. Card handling devices and related methods
US6651982B2 (en) 2001-09-28 2003-11-25 Shuffle Master, Inc. Card shuffling apparatus with integral card delivery
US7677565B2 (en) 2001-09-28 2010-03-16 Shuffle Master, Inc Card shuffler with card rank and value reading capability
US9345951B2 (en) 2001-09-28 2016-05-24 Bally Gaming, Inc. Methods and apparatuses for an automatic card handling device and communication networks including same
US10226687B2 (en) 2001-09-28 2019-03-12 Bally Gaming, Inc. Method and apparatus for using upstream communication in a card shuffler
US8708828B2 (en) 2001-09-28 2014-04-29 Igt Pluggable modular gaming modifiers and configuration templates for gaming environments
US8251807B2 (en) 2001-09-28 2012-08-28 Igt Game development architecture that decouples the game logic from the graphics logic
US8038521B2 (en) 2001-09-28 2011-10-18 Shuffle Master, Inc. Card shuffling apparatus with automatic card size calibration during shuffling
US7384044B2 (en) 2001-09-28 2008-06-10 Shuffle Master, Inc Card shuffling apparatus with automatic card size calibration
US6863611B1 (en) * 2001-09-28 2005-03-08 Bally Gaming, Inc. Two wire exchange system
US10343054B2 (en) 2001-09-28 2019-07-09 Bally Gaming, Inc. Systems including automatic card handling apparatuses and related methods
US9220972B2 (en) 2001-09-28 2015-12-29 Bally Gaming, Inc. Multiple mode card shuffler and card reading device
US7753373B2 (en) 2001-09-28 2010-07-13 Shuffle Master, Inc. Multiple mode card shuffler and card reading device
US8011661B2 (en) 2001-09-28 2011-09-06 Shuffle Master, Inc. Shuffler with shuffling completion indicator
US7036818B2 (en) 2001-09-28 2006-05-02 Shuffle Master, Inc. Card shuffling apparatus with automatic card size calibration
US8899587B2 (en) 2001-09-28 2014-12-02 Bally Gaming, Inc. Multiple mode card shuffler and card reading device
US8444147B2 (en) 2001-09-28 2013-05-21 Shfl Entertainment, Inc. Multiple mode card shuffler and card reading device
US7931533B2 (en) 2001-09-28 2011-04-26 Igt Game development architecture that decouples the game logic from the graphics logics
US10569159B2 (en) 2001-09-28 2020-02-25 Bally Gaming, Inc. Card shufflers and gaming tables having shufflers
US6651981B2 (en) 2001-09-28 2003-11-25 Shuffle Master, Inc. Card shuffling apparatus with integral card delivery
US8419521B2 (en) 2001-09-28 2013-04-16 Shfl Entertainment, Inc. Method and apparatus for card handling device calibration
US8651485B2 (en) 2001-09-28 2014-02-18 Shfl Entertainment, Inc. Playing card handling devices including shufflers
US10532272B2 (en) 2001-09-28 2020-01-14 Bally Gaming, Inc. Flush mounted card shuffler that elevates cards
US10549177B2 (en) 2001-09-28 2020-02-04 Bally Gaming, Inc. Card handling devices comprising angled support surfaces
US7837556B2 (en) 2001-09-28 2010-11-23 Igt Decoupling of the graphical presentation of a game from the presentation logic
US8025294B2 (en) 2001-09-28 2011-09-27 Shuffle Master, Inc. Card shuffler with card rank and value reading capability
US20030216185A1 (en) * 2001-10-17 2003-11-20 Varley John A. Method and system for providing an environment for the delivery of interactive gaming services
WO2003033094A1 (en) * 2001-10-17 2003-04-24 Advantage Partners Ip, Llc Method and system for providing an environment for the delivery of interactive gaming services
US20030074665A1 (en) * 2001-10-17 2003-04-17 Varley John A. Method and system for providing an environment for the delivery of interactive gaming services
US20030073472A1 (en) * 2001-10-17 2003-04-17 Varley John A. Method and system for providing an environment for the delivery of interactive gaming services
US20030075866A1 (en) * 2001-10-19 2003-04-24 Card-Casinos Austria R&D-Casinos Austria Forschungs-Und Entwicklungsges, M.B.H. Card shuffler
US6889979B2 (en) 2001-10-19 2005-05-10 Shuffle Master Gmbh & Co Kg Card shuffler
US7867084B2 (en) 2001-11-26 2011-01-11 Igt Pass-through live validation device and method
US7169041B2 (en) 2001-12-04 2007-01-30 Igt Method and system for weighting odds to specific gaming entities in a shared bonus event
US9761089B2 (en) 2001-12-04 2017-09-12 Igt Method and system for weighting odds to specific gaming entities in a shared bonus event
US8968071B2 (en) 2001-12-04 2015-03-03 Igt Method and system for weighting odds to specific gaming entities in a shared bonus event
US7841942B2 (en) 2002-01-16 2010-11-30 Igt Gaming system license management
US7316616B2 (en) 2002-01-16 2008-01-08 Igt Gaming system license management
US20030134675A1 (en) * 2002-01-16 2003-07-17 Mike Oberberger Gaming system license management
US20080064503A1 (en) * 2002-01-16 2008-03-13 Igt Gaming system license management
US9700785B2 (en) 2002-02-08 2017-07-11 Bally Gaming, Inc. Card-handling device and method of operation
US8720891B2 (en) 2002-02-08 2014-05-13 Shfl Entertainment, Inc. Image capturing card shuffler
US7976023B1 (en) 2002-02-08 2011-07-12 Shuffle Master, Inc. Image capturing card shuffler
US10092821B2 (en) 2002-02-08 2018-10-09 Bally Technology, Inc. Card-handling device and method of operation
US9333415B2 (en) 2002-02-08 2016-05-10 Bally Gaming, Inc. Methods for handling playing cards with a card handling device
US8556709B2 (en) 2002-03-12 2013-10-15 Igt Virtual player tracking and related services
US8057298B2 (en) 2002-03-12 2011-11-15 Igt Virtual player tracking and related services
US8597116B2 (en) 2002-03-12 2013-12-03 Igt Virtual player tracking and related services
US20060247063A1 (en) * 2002-03-13 2006-11-02 Konami Corporation Network game system
US20060247062A1 (en) * 2002-03-13 2006-11-02 Konami Corporation Network game system
US20040072617A1 (en) * 2002-03-13 2004-04-15 Konami Corporation Network game system
US7959510B2 (en) 2002-03-13 2011-06-14 Konami Digital Entertainment Co., Ltd. Network game system
EP1344557A3 (en) * 2002-03-13 2004-12-22 Konami Corporation Network game system
US20040127287A1 (en) * 2002-03-13 2004-07-01 Konami Corporation Network game system
US7749085B2 (en) 2002-03-13 2010-07-06 Konami Digital Entertainment Co., Ltd. Network game system
US7452277B2 (en) 2002-03-13 2008-11-18 Konami Corporation Center server, game machine, methods of controlling the center server and game machine, and network game system including the center server and game machine
US20050209001A1 (en) * 2002-04-30 2005-09-22 Waterleaf Limited System for playing a game
US8047913B2 (en) * 2002-04-30 2011-11-01 Waterleaf Limited System for playing a game
US20060063593A2 (en) * 2002-04-30 2006-03-23 Waterleaf Limited System for playing a game
US7991995B2 (en) 2002-05-02 2011-08-02 Shieldip, Inc. Method and apparatus for protecting information and privacy
US8327453B2 (en) 2002-05-02 2012-12-04 Shieldip, Inc. Method and apparatus for protecting information and privacy
US20080282086A1 (en) * 2002-05-02 2008-11-13 Shieldip, Inc. Method and Apparatus for Protecting Information and Privacy
US7406593B2 (en) 2002-05-02 2008-07-29 Shieldip, Inc. Method and apparatus for protecting information and privacy
US20100212019A1 (en) * 2002-05-02 2010-08-19 Shieldip, Inc. Method and Apparatus for Protecting Information and Privacy
US8974281B2 (en) 2002-06-19 2015-03-10 Igt Elimination games for gaming machines
US8162743B2 (en) 2002-06-19 2012-04-24 Igt Elimination games for gaming machines
US20040002379A1 (en) * 2002-06-27 2004-01-01 Igt Scan based configuration control in a gaming environment
US7909699B2 (en) 2002-06-27 2011-03-22 Igt Scan based configuration control in a gaming environment
US8083585B2 (en) 2002-09-10 2011-12-27 Igt Apparatus and method for copying gaming machine configuration settings
US8460096B2 (en) 2002-09-10 2013-06-11 Igt Apparatus and method for copying gaming machine configuration settings
US8016662B1 (en) 2002-11-22 2011-09-13 Sca Promotions, Inc. Game-winner selection based on verifiable event outcomes
US7892087B1 (en) 2002-12-02 2011-02-22 Sca Promotions, Inc. Authentication of game results
US20050266919A1 (en) * 2003-04-02 2005-12-01 Igt Cashless instrument based table game promotional system and methodology
US8602874B2 (en) 2003-04-02 2013-12-10 Igt Cashless instrument based table game promotional system and methodology
US7798900B2 (en) 2003-04-03 2010-09-21 Igt Secure gaming system
US20040198494A1 (en) * 2003-04-03 2004-10-07 Igt Secure gaming system
US20040266505A1 (en) * 2003-06-30 2004-12-30 Microsoft Corporation Inventory management of virtual items in computer games
US7713116B2 (en) 2003-06-30 2010-05-11 Microsoft Corporation Inventory management of virtual items in computer games
US8100760B2 (en) 2003-07-23 2012-01-24 Igt Methods and apparatus for a competitive bonus game with variable odds
US8882585B2 (en) 2003-07-23 2014-11-11 Igt Methods and apparatus for a competitive bonus game with variable odds
US8574066B2 (en) 2003-07-23 2013-11-05 Igt Methods and apparatus for a competitive bonus game with variable odds
US7517282B1 (en) * 2003-08-04 2009-04-14 Microsoft Corporation Methods and systems for monitoring a game to determine a player-exploitable game condition
DE10336355A1 (en) * 2003-08-08 2005-03-10 Universal Gaming Concepts Inc A method for preventing manipulation of the game result by a casino or a slot machine
WO2005021118A1 (en) * 2003-08-27 2005-03-10 Kroopier Technologies, S.L. System which is used to conduct a game of chance using a communication network
EP1741477A2 (en) * 2003-08-27 2007-01-10 Scytl Online World Security, S.A. System for implementing a game of chance over a communications network
EP1741477A3 (en) * 2003-08-27 2007-12-12 Kinamik Data Integrity, S.L. System for implementing a game of chance over a communications network
US20050079909A1 (en) * 2003-10-14 2005-04-14 Lertyos Singhaseni Method for player-influenced random distribution of game tokens
US7322888B2 (en) * 2003-10-14 2008-01-29 Lertyos Singhaseni Method for player-influenced random distribution of game tokens
US9227133B2 (en) 2003-10-21 2016-01-05 Alireza Pirouzkhah Variable point generation craps game
US8573595B2 (en) 2003-10-21 2013-11-05 Alireza Pirouzkhah Variable point generation craps game
US20050228989A1 (en) * 2004-04-01 2005-10-13 Shieldip, Inc. Detection and identification methods for software
US7287159B2 (en) * 2004-04-01 2007-10-23 Shieldip, Inc. Detection and identification methods for software
EP1609515A1 (en) * 2004-06-23 2005-12-28 Sega Corporation Online game irregularity detection method
US20050288103A1 (en) * 2004-06-23 2005-12-29 Takuji Konuma Online game irregularity detection method
US9616324B2 (en) 2004-09-14 2017-04-11 Bally Gaming, Inc. Shuffling devices including one or more sensors for detecting operational parameters and related methods
US8628086B2 (en) 2004-09-14 2014-01-14 Shfl Entertainment, Inc. Shuffling devices including one or more sensors for detecting operational parameters and related methods
US7666088B2 (en) 2004-09-28 2010-02-23 Igt Methods and apparatus for playing a gaming pool for a feature event bonus game
US8511684B2 (en) 2004-10-04 2013-08-20 Shfl Entertainment, Inc. Card-reading shoe with inventory correction feature and methods of correcting inventory
US9162138B2 (en) 2004-10-04 2015-10-20 Bally Gaming, Inc. Card-reading shoe with inventory correction feature and methods of correcting inventory
US9640035B2 (en) 2004-10-04 2017-05-02 Igt Jackpot interfaces and services on a gaming machine
US9311772B2 (en) 2004-10-04 2016-04-12 Igt Jackpot interfaces and services on a gaming machine
US8490973B2 (en) 2004-10-04 2013-07-23 Shfl Entertainment, Inc. Card reading shoe with card stop feature and systems utilizing the same
US7862427B2 (en) 2004-10-04 2011-01-04 Igt Wide area progressive jackpot system and methods
US8602882B2 (en) 2004-10-04 2013-12-10 Igt Jackpot interfaces and services on a gaming machine
US20060094497A1 (en) * 2004-11-03 2006-05-04 Ilya Presman Online gaming interaction protocol ensuring random events
US20100087255A1 (en) * 2004-11-12 2010-04-08 Henrik Kniberg Gaming system
US20100151934A1 (en) * 2004-11-12 2010-06-17 Henrik Kniberg Gaming interruption and reconnection management
EP1814641A1 (en) * 2004-11-12 2007-08-08 Acei Ab Gaming system
US9697673B2 (en) 2004-11-12 2017-07-04 Henrik Kniberg Gaming interruption and reconnection management
EP1814641A4 (en) * 2004-11-12 2011-06-15 Acei Ab Gaming system
US20060168759A1 (en) * 2005-01-21 2006-08-03 Leviton Manufacturing Co., Inc. Rack mounted component door system and method
US8267404B2 (en) 2005-02-14 2012-09-18 Shuffle Master, Inc. Playing card shuffler with differential hand count capability
US7261294B2 (en) 2005-02-14 2007-08-28 Shuffle Master, Inc. Playing card shuffler with differential hand count capability
US8651486B2 (en) 2005-02-14 2014-02-18 Shfl Entertainment, Inc. Apparatuses for providing hands of playing cards with differential hand count capability
US8062121B2 (en) 2005-03-09 2011-11-22 Igt Printer interpreter for a gaming machine
US8052522B2 (en) 2005-03-09 2011-11-08 Igt Printer interpreter for a gaming machine
US8282473B2 (en) 2005-03-09 2012-10-09 Igt Printer interpreter for a gaming machine
US9908034B2 (en) 2005-06-13 2018-03-06 Bally Gaming, Inc. Card shuffling apparatus and card handling device
US8538155B2 (en) 2005-06-13 2013-09-17 Shfl Entertainment, Inc. Card shuffling apparatus and card handling device
US8150157B2 (en) 2005-06-13 2012-04-03 Shuffle Master, Inc. Card shuffler with card rank and value reading capability using CMOS sensor
US9387390B2 (en) 2005-06-13 2016-07-12 Bally Gaming, Inc. Card shuffling apparatus and card handling device
US7764836B2 (en) 2005-06-13 2010-07-27 Shuffle Master, Inc. Card shuffler with card rank and value reading capability using CMOS sensor
US10576363B2 (en) 2005-06-13 2020-03-03 Bally Gaming, Inc. Card shuffling apparatus and card handling device
US8388448B2 (en) 2005-07-01 2013-03-05 Igt Methods and devices for downloading games of chance
EP1908503A4 (en) * 2005-07-15 2009-12-23 Kinamik Data Integrity S L Method and system for generating a file of auditable logs relating to games using onsite and remote electronic means
US9155959B2 (en) 2005-07-15 2015-10-13 Scytl Secure Electronic Voting S.A. Method and system for the generation of a file of auditable records for remote and on-site electronic gaming
US20080287188A1 (en) * 2005-07-15 2008-11-20 Kinamik Data Integrity, S.L. Method and System For the Generation of a File of Auditable Records For Remote and On-Site Electronic Gaming
EP1908503A1 (en) * 2005-07-15 2008-04-09 Kinamik Data Integrity, S.L. Method and system for generating a file of auditable logs relating to games using onsite and remote electronic means
WO2007010055A1 (en) * 2005-07-15 2007-01-25 Kinamik Data Integrity, S.L. Method and system for generating a file of auditable logs relating to games using onsite and remote electronic means
US8167709B2 (en) 2005-08-04 2012-05-01 Igt Methods and apparatus for auctioning an item via a gaming device
US7905777B2 (en) 2005-08-04 2011-03-15 Igt Methods and apparatus for auctioning an item via a gaming device
US8632394B2 (en) 2005-08-04 2014-01-21 Igt Methods and apparatus for auctioning an item via a gaming device
US8323103B2 (en) 2005-08-17 2012-12-04 Igt Scan based configuration control in a gaming environment
US20090149245A1 (en) * 2005-08-17 2009-06-11 Igt Scan based configuration control in a gaming environment
US20070060302A1 (en) * 2005-08-17 2007-03-15 Igt Scan based configuration control in a gaming environment
US9640017B2 (en) 2005-08-31 2017-05-02 Igt Gaming system and method employing rankings of outcomes from multiple gaming machines to determine awards
US8512121B2 (en) 2005-09-09 2013-08-20 Igt Gaming system having multiple adjacently arranged gaming machines which each provide a component for a multi-component game
US8216065B2 (en) 2005-09-09 2012-07-10 Igt Gaming system having multiple adjacently arranged gaming machines which each provide a component for a multi-component game
US10546459B2 (en) 2005-09-12 2020-01-28 Igt Method and system for instant-on game download
US10434410B2 (en) 2005-09-12 2019-10-08 Igt Distributed game services
US8651956B2 (en) 2005-09-12 2014-02-18 Igt Method and system for instant-on game download
US9314698B2 (en) 2005-09-12 2016-04-19 Igt Distributed game services
US8287379B2 (en) 2005-09-12 2012-10-16 Igt Distributed game services
US9311784B2 (en) 2005-12-08 2016-04-12 Igt Systems and methods for post-play gaming benefits
US8814669B2 (en) 2005-12-08 2014-08-26 Igt Systems and methods for post-play gaming benefits
US10332355B2 (en) 2005-12-08 2019-06-25 Igt Systems and methods for post-play gaming benefits
US20070238528A1 (en) * 2006-03-20 2007-10-11 Harris Adam P Game metrics
US9526990B2 (en) 2006-03-20 2016-12-27 Sony Interactive Entertainment America Llc Managing game metrics and authorizations
US8771061B2 (en) 2006-03-20 2014-07-08 Sony Computer Entertainment America Llc Invalidating network devices with illicit peripherals
US8972364B2 (en) 2006-03-20 2015-03-03 Sony Computer Entertainment America Llc Defining new rules for validation of network devices
US10293262B2 (en) 2006-03-20 2019-05-21 Sony Interactive Entertainment America Llc Managing game metrics and authorizations
US8032502B2 (en) * 2006-03-20 2011-10-04 Sony Computer Entertainment America Llc Validation of network devices
US20090191951A1 (en) * 2006-03-20 2009-07-30 Harris Adam P Validation of Network Devices
US20070218996A1 (en) * 2006-03-20 2007-09-20 Harris Adam P Passive validation of network devices
US11077376B2 (en) 2006-03-20 2021-08-03 Sony Interactive Entertainment LLC Managing game metrics and authorizations
US10124260B2 (en) 2006-03-20 2018-11-13 Sony Interactive Entertainment America Llc Invalidating network devices with illicit peripherals
US8622837B2 (en) 2006-03-20 2014-01-07 Sony Computer Entertainment America Llc Managing game metrics and authorizations
US8626710B2 (en) 2006-03-20 2014-01-07 Sony Computer Entertainment America Llc Defining new rules for validation of network devices
US9717992B2 (en) 2006-03-20 2017-08-01 Sony Interactive Entertainment America Llc Invalidating network devices with illicit peripherals
US8715072B2 (en) 2006-03-20 2014-05-06 Sony Computer Entertainment America Llc Generating rules for maintaining community integrity
US9789385B2 (en) 2006-03-24 2017-10-17 Shuffle Master Gmbh & Co Kg Card handling apparatus
US9345952B2 (en) 2006-03-24 2016-05-24 Shuffle Master Gmbh & Co Kg Card handling apparatus
US10220297B2 (en) 2006-03-24 2019-03-05 Shuffle Master Gmbh & Co Kg Card handling apparatus and associated methods
US8702100B2 (en) 2006-05-17 2014-04-22 Shfl Entertainment, Inc. Playing card delivery systems for games with multiple dealing rounds
US8419016B2 (en) 2006-05-17 2013-04-16 Shfl Entertainment, Inc. Playing card delivery for games with multiple dealing rounds
US9764221B2 (en) 2006-05-31 2017-09-19 Bally Gaming, Inc. Card-feeding device for a card-handling device including a pivotable arm
US9220971B2 (en) 2006-05-31 2015-12-29 Bally Gaming, Inc. Automatic system and methods for accurate card handling
US10926164B2 (en) 2006-05-31 2021-02-23 Sg Gaming, Inc. Playing card handling devices and related methods
US8579289B2 (en) 2006-05-31 2013-11-12 Shfl Entertainment, Inc. Automatic system and methods for accurate card handling
US8662500B2 (en) 2006-05-31 2014-03-04 Shfl Entertainment, Inc. Card weight for gravity feed input for playing card shuffler
US9901810B2 (en) 2006-05-31 2018-02-27 Bally Gaming, Inc. Playing card shuffling devices and related methods
US10525329B2 (en) 2006-05-31 2020-01-07 Bally Gaming, Inc. Methods of feeding cards
US8353513B2 (en) 2006-05-31 2013-01-15 Shfl Entertainment, Inc. Card weight for gravity feed input for playing card shuffler
US8070583B2 (en) 2006-06-13 2011-12-06 Igt Server based gaming system and method for selectively providing one or more different tournaments
US10373442B2 (en) 2006-06-13 2019-08-06 Igt Server based gaming system and method for selectively providing one or more different tournaments
US7787972B2 (en) 2006-06-13 2010-08-31 Igt Server based gaming system and method for selectively providing one or more different tournaments
US7684874B2 (en) 2006-06-13 2010-03-23 Igt Server based gaming system and method for selectively providing one or more different tournaments
US7689302B2 (en) 2006-06-13 2010-03-30 Igt Server based gaming system and method for selectively providing one or more different tournaments
US7684882B2 (en) 2006-06-13 2010-03-23 Igt Server based gaming system and method for selectively providing one or more different tournaments
US8342525B2 (en) 2006-07-05 2013-01-01 Shfl Entertainment, Inc. Card shuffler with adjacent card infeed and card output compartments
US10639542B2 (en) 2006-07-05 2020-05-05 Sg Gaming, Inc. Ergonomic card-shuffling devices
US8141875B2 (en) 2006-07-05 2012-03-27 Shuffle Master, Inc. Card handling devices and networks including such devices
US8931779B2 (en) 2006-07-05 2015-01-13 Bally Gaming, Inc. Methods of handling cards and of selectively delivering bonus cards
US9623317B2 (en) 2006-07-05 2017-04-18 Bally Gaming, Inc. Method of readying a card shuffler
US7766332B2 (en) 2006-07-05 2010-08-03 Shuffle Master, Inc. Card handling devices and methods of using the same
US8702101B2 (en) 2006-07-05 2014-04-22 Shfl Entertainment, Inc. Automatic card shuffler with pivotal card weight and divider gate
US10350481B2 (en) 2006-07-05 2019-07-16 Bally Gaming, Inc. Card handling devices and related methods
US9717979B2 (en) 2006-07-05 2017-08-01 Bally Gaming, Inc. Card handling devices and related methods
US10226686B2 (en) 2006-07-05 2019-03-12 Bally Gaming, Inc. Automatic card shuffler with pivotal card weight and divider gate
US7857699B2 (en) 2006-11-01 2010-12-28 Igt Gaming system and method of operating a gaming system having a bonus participation bidding sequence
US8282472B2 (en) 2006-11-08 2012-10-09 Igt Gaming system and method for providing virtual drawings
US7967677B2 (en) 2006-11-08 2011-06-28 Igt Gaming system and method for providing virtual drawings
US10286291B2 (en) 2006-11-10 2019-05-14 Bally Gaming, Inc. Remotely serviceable card-handling devices and related systems and methods
US9320964B2 (en) 2006-11-10 2016-04-26 Bally Gaming, Inc. System for billing usage of a card handling device
US8105149B2 (en) 2006-11-10 2012-01-31 Igt Gaming system and method providing venue wide simultaneous player participation based bonus game
US20080189706A1 (en) * 2007-02-01 2008-08-07 Acei Ab Transaction processing system and method
US9659461B2 (en) 2007-06-06 2017-05-23 Bally Gaming, Inc. Casino card handling system with game play feed to mobile device
US8070574B2 (en) 2007-06-06 2011-12-06 Shuffle Master, Inc. Apparatus, system, method, and computer-readable medium for casino card handling with multiple hand recall feature
US10504337B2 (en) 2007-06-06 2019-12-10 Bally Gaming, Inc. Casino card handling system with game play feed
US9633523B2 (en) 2007-06-06 2017-04-25 Bally Gaming, Inc. Apparatus, system, method, and computer-readable medium for casino card handling with multiple hand recall feature
US10008076B2 (en) 2007-06-06 2018-06-26 Bally Gaming, Inc. Casino card handling system with game play feed
US10410475B2 (en) 2007-06-06 2019-09-10 Bally Gaming, Inc. Apparatus, system, method, and computer-readable medium for casino card handling with multiple hand recall feature
US8777710B2 (en) 2007-06-06 2014-07-15 Shfl Entertainment, Inc. Apparatus, system, method, and computer-readable medium for casino card handling with multiple hand recall feature
US9259640B2 (en) 2007-06-06 2016-02-16 Bally Gaming, Inc. Apparatus, system, method, and computer-readable medium for casino card handling with multiple hand recall feature
US9339723B2 (en) 2007-06-06 2016-05-17 Bally Gaming, Inc. Casino card handling system with game play feed to mobile device
US9922502B2 (en) 2007-06-06 2018-03-20 Balley Gaming, Inc. Apparatus, system, method, and computer-readable medium for casino card handling with multiple hand recall feature
US10360757B2 (en) 2007-11-09 2019-07-23 Igt Gaming system and method providing a multiple-player bonus redemption game
US8651947B2 (en) 2007-11-09 2014-02-18 Igt Gaming system and method providing a multiple-player bonus redemption game
US9189919B2 (en) 2007-11-09 2015-11-17 Igt Gaming system and method providing a multiple-player bonus redemption game
US9792759B2 (en) 2007-11-09 2017-10-17 Igt Gaming system and method providing a multiple-player bonus redemption game
US9142088B2 (en) 2008-07-15 2015-09-22 Igt Gaming system, gaming devices, and method for providing an enhanced multiple-player bonus redemption game
US8118666B2 (en) 2008-07-15 2012-02-21 Igt Gaming system, gaming devices, and method for providing an enhanced multiple-player bonus redemption game
US10235832B2 (en) 2008-10-17 2019-03-19 Igt Post certification metering for diverse game machines
US9233298B2 (en) 2009-04-07 2016-01-12 Bally Gaming, Inc. Playing card shuffler
US10166461B2 (en) 2009-04-07 2019-01-01 Bally Gaming, Inc. Card shuffling apparatuses and related methods
US9539494B2 (en) 2009-04-07 2017-01-10 Bally Gaming, Inc. Card shuffling apparatuses and related methods
US9744436B2 (en) 2009-04-07 2017-08-29 Bally Gaming, Inc. Playing card shuffler
US10137359B2 (en) 2009-04-07 2018-11-27 Bally Gaming, Inc. Playing card shufflers and related methods
US20100273552A1 (en) * 2009-04-24 2010-10-28 Mwstory Co., Ltd. Method for Authentication of Game Executing Authority Recording Medium for Storing Authentication Program of Game Executing Authority, and Server for Storing Authentication Program of Game Executing Authority
US8419546B2 (en) 2009-08-31 2013-04-16 Igt Gaming system and method for selectively providing an elimination tournament that funds an award through expected values of unplayed tournament games of eliminated players
US9361754B2 (en) 2009-08-31 2016-06-07 Igt Gaming system and method for selectively providing an elimination tournament that funds an award through expected values of unplayed tournament games of eliminated players
US9802114B2 (en) 2010-10-14 2017-10-31 Shuffle Master Gmbh & Co Kg Card handling systems, devices for use in card handling systems and related methods
US10722779B2 (en) 2010-10-14 2020-07-28 Shuffle Master Gmbh & Co Kg Methods of operating card handling devices of card handling systems
US10814212B2 (en) 2010-10-14 2020-10-27 Shuffle Master Gmbh & Co Kg Shoe devices and card handling systems
US10583349B2 (en) 2010-10-14 2020-03-10 Shuffle Master Gmbh & Co Kg Card handling systems, devices for use in card handling systems and related methods
US9636589B2 (en) 2010-11-02 2017-05-02 Sony Interactive Entertainment America Llc Detecting lag switch cheating in game
US10092845B2 (en) 2010-11-02 2018-10-09 Sony Interactive Entertainment America Llc Detecting lag switch cheating in game
US9852586B2 (en) 2011-05-13 2017-12-26 Cork Group Trading Ltd. System for playing multiplayer games
US10668362B2 (en) 2011-07-29 2020-06-02 Sg Gaming, Inc. Method for shuffling and dealing cards
US9731190B2 (en) 2011-07-29 2017-08-15 Bally Gaming, Inc. Method and apparatus for shuffling and handling cards
US9713761B2 (en) 2011-07-29 2017-07-25 Bally Gaming, Inc. Method for shuffling and dealing cards
US10933301B2 (en) 2011-07-29 2021-03-02 Sg Gaming, Inc. Method for shuffling and dealing cards
US9905080B2 (en) 2011-09-28 2018-02-27 Igt Gaming system and method for providing a persistent game
US8475265B2 (en) 2011-09-28 2013-07-02 Igt Gaming system, gaming device, and method for providing a multiple player persistent game
US8662980B2 (en) 2011-09-28 2014-03-04 Igt Gaming system, gaming device, and method for providing a multiple player persistent game
US9466183B2 (en) 2011-09-28 2016-10-11 Igt Gaming system, gaming device and method for providing a multiple player persistent game
US10755526B2 (en) 2011-09-28 2020-08-25 Igt Gaming system and method for providing a persistent game
US8905831B2 (en) 2011-09-28 2014-12-09 Igt Gaming system, gaming device, and method for providing a multiple player persistent game
US8795063B2 (en) 2012-03-27 2014-08-05 Igt Gaming system, gaming device, and method for providing a multiple player game
US8708804B2 (en) 2012-06-22 2014-04-29 Igt Gaming system and method providing a collection game including at least one customizable award collector
US8956220B2 (en) 2012-06-29 2015-02-17 Pridefield Limited System for playing multiplayer games
US9849368B2 (en) 2012-07-27 2017-12-26 Bally Gaming, Inc. Batch card shuffling apparatuses including multi card storage compartments
US9861880B2 (en) 2012-07-27 2018-01-09 Bally Gaming, Inc. Card-handling methods with simultaneous removal
US10124241B2 (en) 2012-07-27 2018-11-13 Bally Gaming, Inc. Batch card shuffling apparatuses including multi card storage compartments, and related methods
US10668364B2 (en) 2012-07-27 2020-06-02 Sg Gaming, Inc. Automatic card shufflers and related methods
US10668361B2 (en) 2012-07-27 2020-06-02 Sg Gaming, Inc. Batch card shuffling apparatuses including multi-card storage compartments, and related methods
US10403324B2 (en) 2012-09-28 2019-09-03 Bally Gaming, Inc. Card recognition system, card handling device, and method for tuning a card handling device
US9378766B2 (en) 2012-09-28 2016-06-28 Bally Gaming, Inc. Card recognition system, card handling device, and method for tuning a card handling device
US9679603B2 (en) 2012-09-28 2017-06-13 Bally Gaming, Inc. Card recognition system, card handling device, and method for tuning a card handling device
US10398966B2 (en) 2012-09-28 2019-09-03 Bally Gaming, Inc. Methods for automatically generating a card deck library and master images for a deck of cards, and a related card processing apparatus
US9511274B2 (en) 2012-09-28 2016-12-06 Bally Gaming Inc. Methods for automatically generating a card deck library and master images for a deck of cards, and a related card processing apparatus
US10279245B2 (en) 2014-04-11 2019-05-07 Bally Gaming, Inc. Method and apparatus for handling cards
US10092819B2 (en) 2014-05-15 2018-10-09 Bally Gaming, Inc. Playing card handling devices, systems, and methods for verifying sets of cards
US9474957B2 (en) 2014-05-15 2016-10-25 Bally Gaming, Inc. Playing card handling devices, systems, and methods for verifying sets of cards
US9566501B2 (en) 2014-08-01 2017-02-14 Bally Gaming, Inc. Hand-forming card shuffling apparatuses including multi-card storage compartments, and related methods
US10864431B2 (en) 2014-08-01 2020-12-15 Sg Gaming, Inc. Methods of making and using hand-forming card shufflers
US10238954B2 (en) 2014-08-01 2019-03-26 Bally Gaming, Inc. Hand-forming card shuffling apparatuses including multi-card storage compartments, and related methods
USD764599S1 (en) 2014-08-01 2016-08-23 Bally Gaming, Inc. Card shuffler device
US9504905B2 (en) 2014-09-19 2016-11-29 Bally Gaming, Inc. Card shuffling device and calibration method
US10857448B2 (en) 2014-09-19 2020-12-08 Sg Gaming, Inc. Card handling devices and associated methods
US11358051B2 (en) 2014-09-19 2022-06-14 Sg Gaming, Inc. Card handling devices and associated methods
US10486055B2 (en) 2014-09-19 2019-11-26 Bally Gaming, Inc. Card handling devices and methods of randomizing playing cards
US10055930B2 (en) 2015-08-11 2018-08-21 Igt Gaming system and method for placing and redeeming sports bets
US11769365B2 (en) 2015-08-11 2023-09-26 Igt Gaming system and method for placing and redeeming sports bets
US10032338B2 (en) 2015-09-23 2018-07-24 Igt Gaming system and method providing a gaming tournament having a variable average expected point payout
US10540852B2 (en) 2015-09-23 2020-01-21 Igt Gaming system and method providing a gaming tournament having a variable average expected point payout
US10632363B2 (en) 2015-12-04 2020-04-28 Shuffle Master Gmbh & Co Kg Card handling devices and related assemblies and components
US9993719B2 (en) 2015-12-04 2018-06-12 Shuffle Master Gmbh & Co Kg Card handling devices and related assemblies and components
US10668363B2 (en) 2015-12-04 2020-06-02 Shuffle Master Gmbh & Co Kg Card handling devices and related assemblies and components
US10424162B2 (en) 2016-09-23 2019-09-24 Igt Gaming system and method providing a gaming tournament with a dynamic equalizer feature
US10339765B2 (en) 2016-09-26 2019-07-02 Shuffle Master Gmbh & Co Kg Devices, systems, and related methods for real-time monitoring and display of related data for casino gaming devices
US10933300B2 (en) 2016-09-26 2021-03-02 Shuffle Master Gmbh & Co Kg Card handling devices and related assemblies and components
US11577151B2 (en) 2016-09-26 2023-02-14 Shuffle Master Gmbh & Co Kg Methods for operating card handling devices and detecting card feed errors
US10885748B2 (en) 2016-09-26 2021-01-05 Shuffle Master Gmbh & Co Kg Devices, systems, and related methods for real time monitoring and display of related data for casino gaming devices
US11462079B2 (en) 2016-09-26 2022-10-04 Shuffle Master Gmbh & Co Kg Devices, systems, and related methods for real-time monitoring and display of related data for casino gaming devices
WO2018104728A1 (en) * 2016-12-05 2018-06-14 Quanta Technology Ltd Random number generation
GB2571015A (en) * 2016-12-05 2019-08-14 Quanta Tech Limited Random number generation
KR20190088164A (en) * 2018-01-18 2019-07-26 엔에이치엔 주식회사 Probability fair game methode and system bisised on on line
KR20190088163A (en) * 2018-01-18 2019-07-26 엔에이치엔 주식회사 Probability fair game methode and system bisised on on line
US11896891B2 (en) 2018-09-14 2024-02-13 Sg Gaming, Inc. Card-handling devices and related methods, assemblies, and components
US11376489B2 (en) 2018-09-14 2022-07-05 Sg Gaming, Inc. Card-handling devices and related methods, assemblies, and components
US11338194B2 (en) 2018-09-28 2022-05-24 Sg Gaming, Inc. Automatic card shufflers and related methods of automatic jam recovery
WO2020102456A1 (en) * 2018-11-13 2020-05-22 Thunder Token Inc. Gambling systems and methods based on blockchain technology
US10733838B2 (en) 2018-11-16 2020-08-04 Igt Gaming system and method providing tournament-style free activation feature
US11898837B2 (en) 2019-09-10 2024-02-13 Shuffle Master Gmbh & Co Kg Card-handling devices with defect detection and related methods
US11173383B2 (en) 2019-10-07 2021-11-16 Sg Gaming, Inc. Card-handling devices and related methods, assemblies, and components

Also Published As

Publication number Publication date
WO1999012135A1 (en) 1999-03-11
HK1029425A1 (en) 2001-03-30
ES2259208T3 (en) 2006-09-16
ATE317147T1 (en) 2006-02-15
JP2001514909A (en) 2001-09-18
CA2302189A1 (en) 1999-03-11
DE69833381D1 (en) 2006-04-13
DE69833381T3 (en) 2010-03-18
EP1016049B1 (en) 2006-02-01
WO1999012135A8 (en) 2000-01-13
EP1016049B2 (en) 2009-08-26
US6030288A (en) 2000-02-29
NZ503023A (en) 2001-06-29
CA2302189C (en) 2007-07-17
EP1016049A1 (en) 2000-07-05
AU9127298A (en) 1999-03-22
ES2259208T5 (en) 2009-12-17
AU755320B2 (en) 2002-12-12
US7747505B1 (en) 2010-06-29
CN1203458C (en) 2005-05-25
CN1282438A (en) 2001-01-31
JP4087557B2 (en) 2008-05-21
DE69833381T2 (en) 2006-10-19

Similar Documents

Publication Publication Date Title
US6165072A (en) Apparatus and process for verifying honest gaming transactions over a communications network
AU741888B2 (en) Method and apparatus for securing electronic games
US7524245B2 (en) System and method for securing electronic games
US11582209B2 (en) Trusted communications between untrusting parties
US20010008842A1 (en) Method and apparatus for securing a computer-based game of chance
JP2001524233A (en) Virtual property system
EP1908503A1 (en) Method and system for generating a file of auditable logs relating to games using onsite and remote electronic means
US20050108027A1 (en) Method and apparatus for collecting gambling statistics and for selling speculations via a cryptographically-assisted network
AU777376B2 (en) Method and apparatus for securing electronic games
AuYoung et al. Cryptographic Blackjack

Legal Events

Date Code Title Description
FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20121226