Source: http://www.google.com/patents/US7524245?ie=ISO-8859-1
Timestamp: 2014-03-08 04:33:30
Document Index: 645434379

Matched Legal Cases: ['Application No. 56219', 'Application No. 97372', 'Application No. 2', 'Application No. 56219', 'Application No. 97372', 'Application No. 2', 'Application No. 97']

Patent US7524245 - System and method for securing electronic games - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsA game server is provided, the game server comprising a processor and a storage device coupled to the processor. The storage device stores instructions adapted to be executed by the processor to perform a method comprising: generating a first signal; transmitting an encoded first signal; receiving a...http://www.google.com/patents/US7524245?utm_source=gb-gplus-sharePatent US7524245 - System and method for securing electronic gamesAdvanced Patent SearchPublication numberUS7524245 B2Publication typeGrantApplication numberUS 11/934,856Publication dateApr 28, 2009Filing dateNov 5, 2007Priority dateDec 31, 1996Fee statusPaidAlso published asUS8608558, US20030054879, US20080064494, US20090227367Publication number11934856, 934856, US 7524245 B2, US 7524245B2, US-B2-7524245, US7524245 B2, US7524245B2InventorsBruce Schneier, Jay S. Walker, James A. Jorasch, Geoffrey M. GelmanOriginal AssigneeWalker Digital, LlcExport CitationBiBTeX, EndNote, RefManPatent Citations (41), Non-Patent Citations (32), Referenced by (1), Classifications (22), Legal Events (1) External Links: USPTO, USPTO Assignment, EspacenetSystem and method for securing electronic gamesUS 7524245 B2Abstract A game server is provided, the game server comprising a processor and a storage device coupled to the processor. The storage device stores instructions adapted to be executed by the processor to perform a method comprising: generating a first signal; transmitting an encoded first signal; receiving a second signal; and transmitting a decoding key after receiving the second signal.
The present application is a continuation of U.S. patent application Ser. No. 10/246,099, filed Sep. 17, 2002, now abandoned entitled �SYSTEM AND METHOD FOR SECURING ELECTRONIC GAMES�; which is a continuation-in-part application of U.S. patent application Ser. No. 09/895,648, filed Jun. 29, 2001, and which issued as U.S. Pat. No. 6,450,885; which is a continuation of U.S. patent application Ser. No. 09/488,608 filed Jan. 20, 2000, and which issued as U.S. Pat. No. 6,264,557; which is a continuation of U.S. patent application Ser. No. 08/775,588 filed Dec. 31, 1996, and which issued as U.S. Pat. No. 6,099,408. Each of the above-referenced applications is incorporated by reference herein its entirety.
FIELD OF INVENTION The present invention relates to electronic games, and particularly to methods and devices for securing and ensuring the randomness of electronic or online games.
BACKGROUND OF THE INVENTION Various forms of electronic games of chance have been available for many years. The way these games are played, however, is changing dramatically with the use of digital computers operating on electronic networks such as the Internet. Players can now connect to a remote server and wager electronically.
DETAILED DESCRIPTION OF THE INVENTION FIG. 1 illustrates the basic system components of one or more embodiments of the present invention. Generally, the system comprises game server 200 and multiple player terminals 300, each with an associated player modem 350. Game server 200 preferably is in communication with the player terminal modems 350 via an Internet connection using a network 110, such as a Public Switched Telephone Network (�PSTN�). Alternatively, communication may take place via dedicated data lines, cellular, Personal Communication Systems (�PCS�), microwave, satellite networks, or any other form of data communications path.
FIG. 2 illustrates the basic hardware and data structures of game server 200 in accordance with one or more embodiments of the present invention. Game server 200 includes central processor (�CPU�) 205, cryptographic processor 210, random access memory (�RAM�) 215, read-only memory (�ROM�) 220, random number generator 225, payment processor 230, clock 235, operating system 240 (typically residing in memory as software), network interface 245, and data storage device 250. These elements are connected appropriately, for example, by a standard system bus, so as to allow communications among them.
Data storage device 250 may include hard disk, magnetic, or optical storage units, as well as CD-ROM drives or flash memory. Data storage device 250 contains databases used in the processing of transactions in the present invention, including player database 255, player selection data database 260, game result database 265, player random number database 270, player decoding key database 275, audit database 280, payment database 285, player account database 290, game server random number database 292, game server encoding key database 294, game server decoding key database 296, and combination protocol database 298. In a preferred embodiment, database software such as Oracle9i�, manufactured by Oracle Corporation, is used to create and manage these databases.
Referring again to FIG. 2, network interface 245 is the gateway to communicate with players through respective player terminals 300. Conventional internal or external modems may serve as network interface 245. Network interface 245 preferably supports modems at a range of baud rates from 1200 upward, but may combine such inputs into a T1 or T3 line if more bandwidth is required. In a preferred embodiment, network interface 245 is connected to the Internet and/or a commercial on-line service such as America Online, CompuServe, or Prodigy, allowing players access to game server 200 from a wide range of electronic connections. Several commercial electronic mail servers include the above functionality. For example, NCD Software manufactures �Post. Office,� a secure server-based electronic mail software package designed to link people and information over enterprise networks and the Internet. This product is platform independent and utilizes open standards based on Internet protocols. Users can exchange messages with enclosures such as files, graphics, video, and audio. This product also supports multiple languages. Alternatively, network interface 245 may be configured as a voice-mail interface, web site, electronic Bulletin Board System (�BBS�), or electronic-mail address.
Player terminal 300 communications are preferably software driven. There are many commercial software applications that can enable the communications required by player terminal 300, the primary functionality being message creation and transmission. Eudora Pro manufactured by Qualcomm Incorporated, for example, provides editing tools for the creation of messages as well as the communications tools to route the message to the appropriate electronic address. When game server 200 is configured as a Web server, conventional communications software, such as the Internet Explorer� Web browser from Microsoft Corporation may also be used. The player may use the Internet Explorer� browser to transmit and receive random numbers and selections.
There are many types of games having a random component that are not typically considered casino games or �games of chance.� For example, many board games, such as Scrabble� or Monopoly�, as well as card games, such as Bridge or Hearts, may typically be considered �games of skill� or non-casino games. Many such games, however, have an element of randomness, such as a dice roll, a selection of letters, a shuffled deck of cards, and/or a deal of cards. Thus, any game in which one party generates a random number that must be trusted by another party may be provided for in accordance with various embodiments of the present invention.
After the game is selected, the player selects a type of wager at step 420. The type of wager is directly related to the game selected. The type of wager for a roulette game might be, for example, a bet on �even�, or a single number bet such as �18 black.� For a game like blackjack, the type of wager would indicate the number of simultaneous hands the player intends to play.
FIG. 8 illustrates a procedure for the game server 200 to generate a game result. As shown, game server 200 generates a game result based on the game server random number and the decoded player random number using the combination protocol from combination protocol database 298 (FIG. 2). At step 800, the combination protocol is retrieved from combination protocol database 298. The combination protocol is preferably known to both the player terminal 300 and game server 200, is unique to the particular game selected, and may be published for anyone to read. The combination protocol is preferably a series of mathematical steps which transform the player random number and the game server random number into a distinct �result value.�
For example, a single game of roulette may have thirty-eight possible outcomes, each outcome corresponding respectively to one of the thirty-eight positions on a roulette wheel. Therefore, an appropriate combination protocol for a roulette game may be one that provides a result value that is, for example, an integer between 0 and 37, inclusive (e.g., thirty-eight distinct values). Each result value can then be mapped to an outcome on a roulette wheel, such as such as �1�, �2�, or �00�. In one example, the combination protocol developed for a roulette game may indicate that the player random number and the game server random number are first multiplied together, with the resulting number squared. This result is then added to the number 5. The remainder, after dividing this resulting number by 38, is the �result value.� The result value in this example, therefore, is an integer between 0 and 37, inclusive. For the roulette game, the possible result values (e.g., the thirty-eight integers between 0 and 37, inclusive) are mapped with the set of thirty-eight possible outcomes for the spin of a roulette wheel. Thus, the result value corresponds to the result of the spin of a roulette wheel.
At step 810, the result value is then compared to the type of wager in the player selection data in database 260 to determine a game result. For example, in the roulette example, a player making a bet on �fifteen-red� (see FIG. 2A) would lose the wager if the result value were any number other than �fifteen-red.� The game result for a loss might be �lose one dollar� for a one dollar wager. At step 820, the game result is then transmitted to player terminal 300. Payment processor 230 of game server 200 then decrements player account 290 by one dollar, or charges the player's credit card one dollar (step 830), then stores the game result in game result database 265, indexed by the player ID number (step 840). For an improved audit trail, in one or more embodiments the game result is time stamped by clock 235 of game server 200 before being stored, or is cryptographically chained to previously stored game results. The corresponding player selection data stored in selection data database 260 is then updated to indicate that a result has been reached in step 850 (see e.g. the �result� column in FIG. 2). The player may now begin the cycle again by selecting another set of player selection data.
Various methods and systems described herein may be applied to games that are primarily based on chance, such as roulette or craps, and also to games that may be based primarily on player skill but also have an element of randomness. For example, Scrabble� is a widely-played board game whose object is to assemble letters into words in such a way as to accumulate more points than your opponent. A good Scrabble� player typically has a large vocabulary and an ability to spot patterns in a random arrangement of letters. Scrabble� is played in competitions, and there are clear gradations in skill levels. However, there is some randomness in Scrabble�. For example, a player receives letters to complete a group or �hand� of letters from which he can form words; the player typically selects or receives the letters at random. Accordingly, various processes and systems described herein could be used to assure a player (and/or a game server) that the process of letter selection is fair.
For example, in one or more embodiments, each available outcome (e.g., letter selection in Scrabble�) may be mapped to a respective result value, in a manner similar to that described above with respect to a game of roulette. For example, the available letters may be arranged in a predefined order (e.g., alphabetical, by point value), or may be sequenced at random. The position of a letter in the sequence may then correspond to a particular result value. A player and a game server might each select a random integer in the range of 1 to the number of available letters, inclusively. According to an exemplary combination protocol, the player number and the game server number are added, and the result taken modulo the number of letters remaining. One is added to that result to obtain a result value. The result value is then used to select the letter with the position in the sequence that corresponds to the result value. For example, a result value of 8 would select the eighth letter in the sequence of available letters.
FIG. 16 illustrates an asymmetric key protocol in which a player communication is encrypted with a private key and decrypted with a public key. Two such algorithms for asymmetric key protocols are the RSA algorithm and the Digital Signature Algorithm (�DSA�). At step 1600, player terminal 300 encrypts the player communication with the player's private key using cryptographic processor 310. Player terminal, 300 then transmits the player communication to game server 200 at step 1610. Cryptographic processor 210 at game server 200 then extracts the player ID at step 1620, looks up the players associated public key in player database 255 at step 1630, and decrypts the communication with this public key at step 1640. As before, if the player communication is intelligible then game server 200 has authenticated the player at step 1650. Again, unauthorized players obtaining the player communication before it is received by game server 200 are not able to undetectably alter it since they do not know the private key of the player. Unauthorized players might, however, be able to read the message if they managed to obtain the public key of the player. Communication secrecy is obtained if the player encrypts the player communication with his public key, requiring the unauthorized player to know the player's private key to view the player communication.
An example of such a biometric device is the FingerLoc� AF-S2� fingerprint identification system available from AuthenTec, Inc. The AF-S2� utilizes a sensor matrix, consisting of 16,384 individual elements arranged in a 128 by 128 grid. When a player places his finger on the grid, an electromagnetic signal is generated by a ring surrounding the grid. The resulting electromagnetic field varies according to the ridges and valleys of the player's fingerprint. Each element of the grid then acts as an antenna, picking up the local electromagnetic signal. The elements can distinguish fine variations in the electromagnetic field, and use these variations to generate a digital fingerprint image. The digitized image is then stored in memory. Each live-scan fingerprint is compared against the previously enrolled/stored template, stored in data storage device 360. If the prints do not match, the cryptographic algorithms executed by cryptographic processor 310 may prevent the player from generating a communication.
In a roulette game, for example, the combination protocol may transform the player random number and the game server random number into multiple result values corresponding to multiple spins. In two typical games of roulette, there are 38*38, or 1444, possible sequences of two outcomes (e.g., �1� and �9�; �24� and �24�; or �00� and �12�). Therefore, in one exemplary combination protocol, the player random number and the game server random number might each be a number between 1 and 1444, inclusive. According to the combination protocol, the two random numbers are then added, modulo 1444, to yield a number between 0 and 1443, inclusive. This number is then divided by 38 in order to yield a quotient and a remainder. Both the quotient and the remainder will be numbers between 0 and 37, inclusively. The quotient may thus serve as a first result value, and the remainder may serve as a second result value. Each result value may be mapped to respective individual outcomes, each individual outcome representing, for example, one spin of a roulette wheel.
One or more embodiments of the present invention require any random numbers generated to be combined in some fashion with at least one known character, before encoding the combination. For example, suppose the game server generates a random number, 1297. The character sequence �bluesky� is then appended to the end of the number, yielding the combination, �1297bluesky�. The full character sequence, �1297bluesky�, is then encoded with key E1 and sent to the player terminal. Now suppose the game server receives the player's encoded number and decoding key, and decides to use a number other than 1297 in the combination protocol. So the game server might attempt to use a decoding key, D2, that does not match the encoding key, E1. D2(E1(1297bluesky)), however, is unlikely to yield a character sequence ending in �bluesky�. That is, D2(E1(1297bluesky)) does not equal �xxxxbluesky�, where �xxxx� represents any set of characters. If the game server sends to the player terminal the decoding key, D2, and the player decodes the game server's first transmission, E1(1297bluesky), and finds that the result does not end with �bluesky�, then the player will realize he has been cheated. To cheat, the game server must determine a new decoding key that does yield a result of the form �xxxxbluesky�. However, such a task may be computationally unfeasible.
Of course, in the above example, �bluesky� could be appended to the front end of the number. In some embodiments, at least one character is appended to one end of the number and at least one character is appended to the other end of the number.
In one or more embodiments of the present invention, the set of signals that can be transmitted between the game server and the player terminal is limited. The set of signals may be limited to only one signal (e.g., �5�), to a plurality of signals (e.g., �5� and �10�), to a range of signals (e.g., 2 to 12), to particular types of signals (e.g., numbers, random numbers, alphanumeric characters, audio signals, video signals, algorithms), and may be limited by any combination of such limitations. Many other types of limitations will be known to those of skill in the art.
A third party or intermediary, as described herein, may comprise one or more third parties or intermediaries. Where more than one third party is being used, each may function independently of any others. For example, to exchange numbers, a player terminal may transmit the player random number to one third party, who transmits the number to the game server. The game server may transmit the game server random number to another third party, who transmits the number to the player terminal. In some embodiments involving multiple third parties, the player terminal and/or game server may transmit to, and/or receive information from, more than one third party. For example, a player terminal may transmit the player number to one third party, who transmits the number to the game server. The player terminal may also transmit a player decoding key to another third party, who transmits the decoding key to the game server. Various embodiments of the present invention are described herein as involving an exchange of numbers between two parties, for example, a game server and a player terminal. However, a player terminal and a game server could just as easily exchange many different types of information, including, without limitation, numbers, letters, symbols, pictures, audio signals, video signals, algorithms, or any combination thereof. For example, a particular game of chance may have two possible outcomes, denoted �outcome 1� and �outcome 2�. The player terminal and the game server each provide either the letter �a� or the letter �b�. According to an exemplary combination protocol, if both the letters are the same, then outcome 1 occurs. If both letters are different, then outcome 2 occurs.
In one or more embodiments, a function or algorithm is represented by computer program code. The code may be in any language, such as C, Java, Basic, or Fortran. The code may be written in compiled or uncompiled form. An exemplary line of code might read, �result_value=(3*input) % 5+1;�. This line of code, written in C, multiplies the �input� variable by 3, takes the result modulo 5, and then adds one to generate the �result_value�. There are many other well-known ways of representing a function or an algorithm using computer program code.
In one or more embodiments of the present invention, a fill description or representation of an algorithm need not be transmitted to the opposite party. Instead, only particular features or elements of an algorithm need be transmitted, where the rest of the algorithm is understood by both parties. For example, an algorithm may have a fixed structure or template, but may require one or more elements be defined so that the algorithm may generate an output. In one example, an algorithm known to both parties is described by f(x)=(??x mod 5)+1, where �??� represents a multiplier value that must be defined. So, the player terminal, for example, might transmit to the game server the number, 3, whereby the game server understands that the player terminal is describing the function f(x)=(3x mod 5)+1.
p ⁡ [ y ] = ⁢ p ⁡ [ x p ] * p ⁡ [ x g ] = ⁢ ∑ k = - ∝ ⁢ � ⁢ ⁢ ∞ ⁢ ⁢ 1 ⁢ / ⁢ 1000 ⁢ ⁢ u ⁡ [ k - 1 ] ⁢ u ⁡ [ - k + 1000 ] ⁢ 1 ⁢ / ⁢ 1000 ⁢ ⁢ u ⁡ [ y - k - 1 ] ⁢ u ⁡ [ - ( y - k ) + 1000 ] = ⁢ ( y - 1 ) ⁢ ( 10 - 6 ) ⁢ u ⁡ [ y - 1 ] ⁢ u ⁡ [ - y + 1001 ] + ⁢ ( - y + 2001 ) ⁢ ( 10 - 6 ) ⁢ u ⁡ [ y - 1002 ] ⁢ u ⁡ [ - y + 2000 ] Here, the symbol �*� denotes convolution. Now let z=y modulo 1000. The probability mass function for z can be obtained by adding the probability mass function for y in the range 0<=y<=999, the probability mass function for y in the range 1000<=y<=1999 shifted to the left by 1000, and the probability mass function for y in the range 2000<=y<=2999 shifted to the left by 2000. Thus,
p ⁡ [ z ] = ⁢ ( ( z - 1 ) ⁢ ( 10 - 6 ) ⁢ u ⁡ [ z - 1 ] ⁢ u ⁡ [ - z + 1001 ] + ⁢ ( - z + 2001 ) ⁢ ( 10 - 6 ) ⁢ u ⁡ [ z - 1002 ] ⁢ u ⁡ [ - z + 2000 ] + ⁢ ( z + 1000 - 1 ) ⁢ ( 10 - 6 ) ⁢ u ⁡ [ z + 1000 - 1 ] ⁢ u ⁡ [ - ( z + 1000 ) + 1001 ] + ⁢ ( - ( z + 1000 ) + 2001 ) ⁢ ( 10 - 6 ) ⁢ u ⁡ [ ( z + 1000 ) - 1002 ] ⁢ u ⁡ [ - ( z + 1000 ) + 2000 ] + ⁢ ( z + 2000 - 1 ) ⁢ ( 10 - 6 ) ⁢ u ⁡ [ z + 2000 - 1 ] ⁢ u ⁡ [ - ( z + 2000 ) + 1001 ] + ⁢ ( - ( z + 2000 ) + 2001 ) ⁢ ( 10 - 6 ) ⁢ u ⁡ [ ( z + 2000 ) - 1002 ] ⁢ u ⁡ [ - ( z + 2000 ) + 2000 ] ) ⁢ u ⁡ [ z ] ⁢ u ⁡ [ - z + 999 ] = ⁢ ( ( z - 1 ) ⁢ ( 10 - 6 ) ⁢ u ⁡ [ z - 1 ] ⁢ u ⁡ [ - z + 1001 ] + ⁢ ( - z + 2001 ) ⁢ ( 10 - 6 ) ⁢ u ⁡ [ z - 1002 ] ⁢ u ⁡ [ - z + 2000 ] + ⁢ ( z + 999 ) ⁢ ( 10 - 6 ) ⁢ u ⁡ [ z + 999 ] ⁢ u ⁡ [ - z + 1 ] + ⁢ ( - z + 1001 ) ⁢ ( 10 - 6 ) ⁢ u ⁡ [ z - 2 ] ⁢ u ⁡ [ - z + 1000 ] + ⁢ ( z + 1999 ) ⁢ ( 10 - 6 ) ⁢ u ⁡ [ z + 1999 ] ⁢ u ⁡ [ - z - 999 ] + ⁢ ( - z + 1 ) ⁢ ( 10 - 6 ) ⁢ u ⁡ [ z + 998 ] ⁢ u ⁡ [ - z ] ) ⁢ u ⁡ [ z ] ⁢ u ⁡ [ - z + 999 ] = ⁢ ( z - 1 ) ⁢ ( 10 - 6 ) ⁢ u ⁡ [ z - 1 ] ⁢ u ⁡ [ - z + 999 ] + ⁢ ( z + 999 ) ⁢ ( 10 - 6 ) ⁢ ( δ ⁡ [ z ] + δ ⁡ [ z - 1 ] ) + ⁢ ( - z + 1001 ) ⁢ ( 10 - 6 ) ⁢ u ⁡ [ z - 2 ] ⁢ u ⁡ [ - z + 999 ] + ( - z + 1 ) ⁢ ( 10 - 6 ) ⁢ ( δ ⁡ [ z ] ) = ⁢ ( 10 - 6 ) ⁢ ( ( ( z - 1 ) + ( - z + 1001 ) ) ⁢ u ⁡ [ z - 2 ] ⁢ u ⁡ [ - z + 999 ] + ⁢ ( z + 999 ) ⁢ ( δ ⁡ [ z ] + δ ⁡ [ z - 1 ] ) + ( - z + 1 ) ⁢ ( δ ⁡ [ z ] ) ) = ⁢ ( 10 - 6 ) ⁢ ( 1000 ⁢ ⁢ u ⁡ [ z - 2 ] ⁢ u ⁡ [ - z + 999 ] � 999 ⁢ ⁢ δ ⁡ [ z ] + ⁢ 1000 ⁢ ⁢ δ ⁡ [ z - 1 ] ) + δ ⁡ [ z ] ) ) = ⁢ 1 ⁢ / ⁢ 1000 ⁢ ⁢ u ⁡ [ z ] ⁢ u ⁡ [ - z + 999 ] Where δ[n] is the unit impulse function, defined to be 1 for n=0 and 0 everywhere else. Finally, 1 is added to z to complete the combination protocol, yielding:
p ⁡ [ x g ] = ⁢ a 1 ⁢ δ ⁡ [ x g - 1 ] + a 2 ⁢ δ ⁡ [ x g - 2 ] + � + a 1000 ⁢ δ ⁡ [ x g - 1000 ] = ∑ k = 1 ⁢ ⁢ � ⁢ ⁢ 1000 ⁢ ⁢ a k ⁢ δ ⁡ [ x g - k ] Meanwhile, the player terminal chooses its number at random. Thus, the probability mass function for the player number remains: p[xp]= 1/1000u[xp−1]u[−xp+1000]. The combination protocol now proceeds by taking y=Xp+xg. Once again
p ⁡ [ y ] = ⁢ p ⁡ [ x p ] * p ⁡ [ x g ] = ⁢ p ⁡ [ x p ] * ∑ k = 1 ⁢ ⁢ � ⁢ ⁢ 1000 ⁢ ⁢ a k ⁢ δ ⁡ [ x g - k ] = ⁢ ∑ k = 1 ⁢ ⁢ � ⁢ ⁢ 1000 ⁢ ⁢ p ⁡ [ x p ] * a k ⁢ δ ⁡ [ x g - k ] = ⁢ ∑ k = 1 ⁢ ⁢ � ⁢ ⁢ 1000 ⁢ ⁢ ( 1 ⁢ / ⁢ 1000 ⁢ ⁢ u ⁡ [ x p - 1 ] ⁢ u ⁡ [ - x p + 1000 ] ) * a k ⁢ δ ⁡ [ x g - k ] = ⁢ 1 ⁢ / ⁢ 1000 ⁢ ⁢ ∑ k = 1 ⁢ ⁢ � ⁢ ⁢ 1000 ⁢ ⁢ a k ⁢ u ⁡ [ y - k - 1 ] ⁢ u ⁡ [ - ( y - k ) + 1000 ] = ⁢ 1 ⁢ / ⁢ 1000 ⁢ ⁢ ∑ k = 1 ⁢ ⁢ � ⁢ ⁢ 1000 ⁢ ⁢ a k ⁢ u ⁡ [ y - k - 1 ] ⁢ u ⁡ [ - y + k + 1000 ] ⁢ ⁢ Once ⁢ ⁢ again , let ⁢ ⁢ z = y ⁢ ⁢ modulo ⁢ ⁢ 1000. ⁢ ⁢ Now , p ⁡ [ z ] = ⁢ 1 ⁢ / ⁢ 1000 ⁢ ⁢ ∑ k = 1 ⁢ ⁢ � ⁢ ⁢ 1000 ⁢ ⁢ ( a k ⁢ u ⁡ [ z - k - 1 ] ⁢ u ⁡ [ - z + k + 1000 ] + ⁢ a k ⁢ u ⁡ [ ( z + 1000 ) - k - 1 ] ⁢ u ⁡ [ - ( z + 1000 ) + k + 1000 ] + ⁢ a k ⁢ u ⁡ [ ( z + 2000 ) - k - 1 ] ⁢ u [ - ( z + 2000 ) + ⁢ k + 1000 ] ) ⁢ u ⁡ [ z ] ⁢ u ⁡ [ - z + 999 ] = ⁢ 1 ⁢ / ⁢ 1000 ⁢ ⁢ ∑ k = 1 ⁢ ⁢ � ⁢ ⁢ 1000 ⁢ ⁢ ( a k ⁢ u ⁡ [ z - k - 1 ] ⁢ u ⁡ [ - z + k + 1000 ] + ⁢ a k ⁢ u ⁡ [ z - k + 999 ] ⁢ u ⁡ [ - z + k ] + ⁢ a k ⁢ u ⁡ [ z - k + 1999 ] ⁢ u ⁡ [ - z + k - 1000 ] ) ⁢ u ⁡ [ z ] ⁢ u ⁡ [ - z + 999 ] = ⁢ 1 ⁢ / ⁢ 1000 ⁢ ⁢ ∑ k = 1 ⁢ ⁢ � ⁢ ⁢ 1000 ⁢ ⁢ ( a k ⁢ u ⁡ [ z - k + 1999 ] ⁢ u [ - z + k + ⁢ 1000 ] ) ⁢ u ⁡ [ z ] ⁢ u ⁡ [ - z + 999 ] = ⁢ 1 ⁢ / ⁢ 1000 ⁢ ⁢ ∑ k = 1 ⁢ ⁢ � ⁢ ⁢ 1000 ⁢ ⁢ a k ⁢ u ⁡ [ z ] ⁢ u ⁡ [ - z + 999 ] = ⁢ 1 ⁢ / ⁢ 1000 ⁢ ⁢ u ⁡ [ z ] ⁢ u ⁡ [ - z + 999 ] ⁢ ∑ k = 1 ⁢ ⁢ � ⁢ ⁢ 1000 ⁢ ⁢ a k = ⁢ 1 ⁢ / ⁢ 1000 ⁢ ⁢ u ⁡ [ z ] ⁢ u ⁡ [ - z + 999 ] Finally, 1 is added to z to complete the combination protocol, yielding:
One or more embodiments of the present invention provide for evaluating the fairness of a combination protocol by determining a set of at least one generated game outcome as described above and determining a relative frequency which a particular game outcome occurs in the set of at least one generated game outcome. A probability of that particular game outcome occurring in a fair game (e.g., a game in which one of the parties cannot inappropriately influence the outcome and/or the random process used to determine an outcome) may also be determined. Then, a level of fairness of the combination protocol can be determined based on the probability of the outcome occurring in a fair game and the relative frequency of representation. For example, the probability and the relative frequency of representation can be compared. If there is a difference between the relative frequency in the generated outcomes and the probability of the outcome occurring in a �pure� game, the level of fairness may depend on the difference. Any difference, for example, may be compared to a predetermined allowable difference. It will be understood that the probability and the relative frequency need not be exactly the same, but may vary by an allowable margin.
Various levels of fairness may correspond to how much the relative frequency and the probability vary. For example, a slight difference may correspond to a fairness of �Very Fair�, and a larger difference may correspond to a fairness level of �Unfair.�
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS3548174Aug 10, 1966Dec 15, 1970Burroughs CorpRandom number generatorUS4200770Sep 6, 1977Apr 29, 1980Stanford UniversityCryptographic apparatus and methodUS4218582Oct 6, 1977Aug 19, 1980The Board Of Trustees Of The Leland Stanford Junior UniversityPublic key cryptographic apparatus and methodUS4339134Jul 5, 1977Jul 13, 1982Rockwell International CorporationElectronic card gameUS4652998Jan 4, 1984Mar 24, 1987Bally Manufacturing CorporationVideo gaming system with pool prize structuresUS4759064Oct 7, 1985Jul 19, 1988Chaum David LBlind unanticipated signature systemsUS4897875Sep 3, 1987Jan 30, 1990The Manitoba Telephone SystemKey management system for open communication environmentsUS4998199Sep 29, 1988Mar 5, 1991Namco Ltd.Game machine system with machine grouping featureUS5136642May 31, 1991Aug 4, 1992Kabushiki Kaisha ToshibaCryptographic communication method and cryptographic communication deviceUS5242163Aug 27, 1992Sep 7, 1993D.D. Stud Inc.Casino game systemUS5251165Apr 9, 1992Oct 5, 1993James Iii J ColinTwo phase random number generatorUS5269521Dec 13, 1991Dec 14, 1993Rossides Michael TExpected value payment method and system for reducing the expected per unit costs of paying and/or receiving a given amount of a commodityUS5317637Dec 22, 1992May 31, 1994Gao Gesellschaft Fur Automation Und Organisation MbhData exchange system with a check of the apparatus for its authentication statusUS5324035Dec 1, 1992Jun 28, 1994Infinational Technologies, Inc.Video gaming system with fixed pool of winning plays and global pool accessUS5326104Feb 7, 1992Jul 5, 1994IgtSecure automated electronic casino gaming systemUS5356144Jul 21, 1992Oct 18, 1994Fitzpatrick James RHand-held lottery number generating deviceUS5377271Oct 12, 1993Dec 27, 1994Travelers Express Company, Inc.Apparatus for dispensing money ordersUS5397133Sep 30, 1993Mar 14, 1995At&T Corp.System for playing card games remotelyUS5398932Dec 21, 1993Mar 21, 1995Video Lottery Technologies, Inc.Video lottery system with improved site controller and validation unitUS5473689May 25, 1994Dec 5, 1995Siemens AktiengesellschaftMethod for authentication between two electronic devicesUS5474294Jan 25, 1994Dec 12, 1995Sandeen; LowellElectronic apparatus and method for playing a gameUS5477037Mar 11, 1994Dec 19, 1995Computer Based Controls, Inc.Financial document dispensing apparatus and methodUS5507489Sep 30, 1993Apr 16, 1996Info TelecomElectronic game-of-chance deviceUS5511784May 9, 1994Apr 30, 1996Video Lottery Technologies, Inc.Method and apparatus for directly generating a random final outcome of a gameUS5557518Apr 28, 1994Sep 17, 1996Citibank, N.A.Trusted agents for open electronic commerceUS5564701Apr 28, 1995Oct 15, 1996Dettor; Michael K.Casino oriented gaming apparatus and method incorporating randomly generated numbersUS5605504Apr 28, 1995Feb 25, 1997Huang; SmingElectronic wagering machineUS5643086Jun 29, 1995Jul 1, 1997Silicon Gaming, Inc.Electronic casino gaming apparatus with improved play capacity, authentication and securityUS5661806Mar 27, 1995Aug 26, 1997France TelecomProcess of combined authentication of a telecommunication terminal and of a user moduleUS5707286Dec 19, 1994Jan 13, 1998Mikohn Gaming CorporationUniversal gaming engineUS5772509Mar 25, 1996Jun 30, 1998Casino Data SystemsInteractive gaming deviceUS5779545 *Sep 10, 1996Jul 14, 1998International Game TechnologyCentral random number generation for gaming systemUS5846131Jul 28, 1994Dec 8, 1998Sega Enterprises, Ltd.Information storage medium and electronic device using the same for authentication purposesUS5917725 *May 24, 1995Jun 29, 1999John KlayhTournament data systemUS5970143 *Jul 10, 1996Oct 19, 1999Walker Asset Management LpRemote-auditing of computer generated outcomes, authenticated billing and access control, and software metering system using cryptographic and other protocolsUS6048269 *Jan 22, 1993Apr 11, 2000Mgm Grand, Inc.Coinless slot machine system and methodUS6099408 *Dec 31, 1996Aug 8, 2000Walker Digital, LlcMethod and apparatus for securing electronic gamesUS6264557 *Jan 20, 2000Jul 24, 2001Walker Digital, LlcMethod and apparatus for securing electronic gamesUS6428413Aug 31, 1998Aug 6, 2002Rolf CarlsonUniversal game engine for a game network and method thereforUS6450885 *Jun 29, 2001Sep 17, 2002Walker Digital, LlcMethod and apparatus for securing electronic gamesUS6986055Aug 31, 1998Jan 10, 2006Legal Igaming, Inc.Method for generating random numbers* Cited by examinerNon-Patent CitationsReference1Bachman, Katy, "Interactive doesn't have to be super star wars"; Direct Marketing; Are we ready for the next Mellenium? Cowles Business Media, Jun. 1994, 4 pp.2Blum, M., "Coin Flipping by telephone", IEEE COMPCON Digest Conference, 1982, 4 pp.3Capstone Chip Technology, hrttp: bilbo isu.edu security isl cap.html download date: Oct. 10, 1996, 2 pp.4Carl, Jeremy, "Online Casinos: Drawing to a Tough Hand", Sep. 5, 1996, 5 pp.5Chaitin, Gregory J., "Randomness and Mathematical Proof, Scientific America", May 1975, 9 pp.6Encyclopedia of Computer Science, 3rd Edition, Anthony Ralston and Edwin D. Reilly editors, 7 pp.7Federal Way Washington, Company's Online Casino Software May Be Risky In America, Copywright 1996, 2 pp.8From Obscurity to the World's Largest Casino Using the Internet, www.casino.org casinol htm, Feb. 1996, 41 pp.9Fujitsu Develops Random Number Generator HEMT IC, COMLINE Daily New Electronics, Feb. 15, 1990, 1 pg.10Furturistic Advertising, The Commercial Appeal, Jan. 15, 1994, 1 pg.11International Search Report for PCT/US97/23977 dated Jul. 20, 1998, 3 pp.12Jaffee, Larry, "FreeFone Network Expands Service; Novel interactive advertising medium targets phone customers", DM News, Jun. 6, 1994, 2 pp.13Levine, Joshua. "How'd you like to get paid to hear an ad every time you make a phone call?", Forbes, Jan. 3, 1994, 2 pp.14Moni Naor: "Bit Commitment Using Pseudo-Randomness", Advances in Cryptology, 9 pp.15Notice of Acceptance for Australian Application No. 56219/98 mailed May 11, 2001, 2 pp.16Notice of Acceptance for Australian Application No. 97372/01 mailed Mar. 9, 2004, 3 pp.17Notice of Allowability for U.S. Appl. No. 08/775,588 mailed Oct. 25, 1999, 1 pg.18Notice of Allowability for U.S. Appl. No. 09/488,608 mailed Feb. 9, 2001, 3 pp.19Notice of Allowability for U.S. Appl. No. 09/895,648 mailed Apr. 21, 2002, 3 pp.20Notice of Allowance for Canadian Application No. 2,276,608 mailed Sep. 16, 2004, 1 pg.21Office Action for Australian Application No. 56219/98 mailed Aug. 29, 2000, 2 pp.22Office Action for Australian Application No. 97372/01 mailed Feb. 25, 2003, 2 pp.23Office Action for Canadian Application No. 2,276,608 mailed Jul. 14, 2003, 4 pp.24Office Action for European Application No. 97 952 659.7, 9 pp.25Office Action for U.S. Appl. No. 08/775,588 mailed Jun. 22, 1999, 8 pp.26Office Action for U.S. Appl. No. 08/775,588 mailed Oct. 6, 1998, 8 pp.27Office Action for U.S. Appl. No. 09/488,608 mailed Oct. 3, 2000, 4 pp.28Office Action for U.S. Appl. No. 09/895,648 mailed Dec. 18, 2001, 5 pp.29Schneier, Bruce, Applied Cryptography: Protocols, Algorithms, and Source Code in C, 2nd Edition, 1996, 7 pp.30Swan, Tom "The chip-is-bad fever; random-number generators; Algorithm Alley", Dr. Dobb's Journal of Software Tools, Jan. 1994, 4 pp.31Welcome to Global Games Online! Global Games Corporation, undated, 5 pp.32Written Opinion for PCT/US97/23977 dated Mar. 23, 1999, 5 pp.Referenced byCiting PatentFiling datePublication dateApplicantTitleUS20100240440 *Mar 17, 2010Sep 23, 2010Walter SzrekSecure Provisioning of Random Numbers to Remote Clients* Cited by examinerClassifications U.S. Classification463/29, 463/22, 463/42, 463/16International ClassificationA63F13/12, G06F19/00, A63F13/00, G06F17/00, A63F9/24Cooperative ClassificationG07F17/32, A63F2300/401, G07F17/3232, A63F13/12, A63F2300/50, A63F2300/532, G07F17/3241, G07F17/3223European ClassificationG07F17/32, G07F17/32E6, A63F13/12, G07F17/32C6, G07F17/32HLegal EventsDateCodeEventDescriptionOct 29, 2012FPAYFee paymentYear of fee payment: 4RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google