US20050153778A1 - Methods and apparatus for gaming data downloading - Google Patents
Methods and apparatus for gaming data downloading Download PDFInfo
- Publication number
- US20050153778A1 US20050153778A1 US10/757,609 US75760904A US2005153778A1 US 20050153778 A1 US20050153778 A1 US 20050153778A1 US 75760904 A US75760904 A US 75760904A US 2005153778 A1 US2005153778 A1 US 2005153778A1
- Authority
- US
- United States
- Prior art keywords
- gaming
- controller
- server
- data
- programmed
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
- G07F17/3225—Data transfer within a gaming system, e.g. data sent between gaming machines and users
- G07F17/323—Data transfer within a gaming system, e.g. data sent between gaming machines and users wherein the player is informed, e.g. advertisements, odds, instructions
Definitions
- This patent is directed to a casino gaming apparatus, which could be either an individual gaming unit or a casino gaming system having a plurality of gaming units, each gaming unit capable of finding and selecting a gaming server for downloading gaming data.
- Conventional casino gaming units often received gaming data, such as configuration data, game updates and gaming routines using an offline system such as reading the gaming data from a magnetic or optical disc, or required mechanical alteration to facilitate new configurations, games, etc. While the gaming units were sometimes connected to a network, the gaming units played only the games that were stored in the memory of the gaming unit. Some gaming units could initiate interactive gameplay with other gaming units on the network. The gaming unit allowed a player to wager on, control and view a game stored on a memory of that particular gaming unit.
- U.S. patent application Ser. No. 09/586,522 entitled “Downloadable Software,” which was filed on Jun. 2, 1999, generally describes a gaming machine network that allows a central system to accept a copy of a software upgrade.
- the software upgrade may be simultaneously downloaded to a plurality of networked devices, without having to mechanically alter each device receiving the upgrade.
- U.S. Patent Publication No. 2003/0064771 A1 described a network connecting a plurality of gaming machines to a central computer.
- the video screen content of the gaming machines was reconfigurable.
- Video screen content was downloaded over the network, allowing games, pay tables and artwork to be changed.
- the invention is directed to a gaming system that may comprise a master gaming server, a gaming apparatus disposed in a casino, and a plurality of gaming servers interconnected with the gaming apparatus and the master gaming server.
- the gaming apparatus may comprise a display unit, a value input device and a gaming apparatus controller comprising a processor and a memory operatively coupled to said processor.
- the display unit may be capable of generating video images.
- the gaming apparatus controller may be programmed to receive gaming server identification data from the master gaming server.
- the gaming server identification data may represent the identity of each gaming server.
- the gaming apparatus controller may also be programmed to communicate a network message to gaming server.
- the network message may comprise a type identifier and data unique to the network message.
- the gaming apparatus controller may further be programmed to receive a response to the network message from one or more of the gaming servers, determine server information data regarding each of the responding gaming servers based on the response, select a gaming server according to the server information data, communicate a selection message to the selected gaming server, and receive gaming data from the selected gaming server in response to said selection message.
- the gaming apparatus controller may also be programmed to cause a video image to be generated on the display unit.
- the video image may represent a game, and the controller may be programmed to determine a value payout associated with an outcome of the game.
- the gaming apparatus controller may be programmed to receive server information data from said master gaming server.
- the server information data determined at least in part from the response may comprise a data transfer rate, responsiveness, identification or load.
- the gaming apparatus controller may be programmed to record a first time when each network message is communicated to each of the gaming servers, record a second time when each of the responses is received, and determine the server information data based on the first and second times.
- Each gaming server may comprise a gaming server controller comprising a processor and a memory operatively coupled to the processor.
- the gaming server controller may be programmed to receive the network message from the gaming apparatus controller, communicate a response to the network message to the gaming apparatus controller if the network message is received, receive a selection message from the gaming apparatus controller, and communicate the gaming data to the gaming apparatus controller if the gaming server controller receives the selection message.
- the gaming system may also comprise a network computer interconnected with the gaming apparatus, the master gaming server and the plurality of gaming servers.
- the gaming apparatus controller may be programmed to request a network identification from the network computer using data identifying the gaming apparatus, and receive a network identification from the network computer if the gaming apparatus identification is valid.
- the gaming server controller may be programmed to determine if the network identification is valid, and provide the gaming data if the network identification is valid.
- the invention is directed to gaming apparatus that may comprise a display unit, a value input device, and a controller operatively coupled to the display unit and the value input device.
- the apparatus may be disposed in a casino.
- the controller may comprise a processor and a memory, and may be programmed to receive data representing server information regarding casino gaming servers, to organize the casino gaming servers according to the server information data, to select a casino gaming server according to the organization of the casino gaming servers or the server information data, to receive gaming data from the selected casino gaming server, cause the display unit to generate a game display relating to poker, blackjack, slots, keno or bingo, and to determine a value payout associated with an outcome of a game.
- the display unit may comprise a video display unit capable of generating video images, and the controller may be programmed to cause a video image to be displayed.
- the display unit may also comprise a mechanical slot machine reel.
- the video image may represent one of the following games: video poker, video blackjack, video slots, video keno and video bingo, in which case the video image may comprise an image of at least five playing cards if the game comprises video poker; the video image may comprise an image of a plurality of simulated slot machine reels if the game comprises video slots; the video image may comprise an image of a plurality of playing cards if the game comprises video blackjack; the video image may comprise an image of a plurality of keno numbers if the game comprises video keno, and the video image may comprise an image of a bingo grid if the game comprises video bingo.
- the controller may be programmed to cause the display unit to generate a display relating to one or more of the casino gaming servers and to allow a person to select one of the casino gaming servers.
- the display may also relate to server information data for each of the casino gaming servers.
- the controller may also be programmed to automatically select a casino gaming server based on the server information data.
- the server information data may comprise a data transfer rate, responsiveness, identification, load, geographic location, network subnet data, description, available gaming data and gaming data size.
- the controller may be programmed to discard a casino gaming server as an option for selection based on a threshold value relating to data transfer rate, responsiveness, load, geographic proximity, network subnet data, available gaming data and/or gaming data size.
- the controller may further be programmed to cause the display unit to generate the game display from the gaming data.
- the gaming data may relate to poker, blackjack, slots, keno, bingo, a new game, a software update and configuration data.
- a gaming system may comprise the network of gaming apparatuses, and may further comprise the plurality of casino gaming servers and a master gaming server.
- the controller may be programmed to communicate with the master gaming server.
- the gaming system may also comprise a network server.
- the controller may be programmed to provide the network server with a gaming apparatus identification and data to authenticate the gaming apparatus identification, to receive a network identification from the network server if the network server accepts the gaming apparatus identification and the authentication data, and to communicate with the master gaming server using the network identification.
- the controller may also be programmed to receive network server authentication data from the network server, determine if the network server authentication data is authentic, and accept the network identification if the network server authentication data is authentic.
- One of the gaming apparatuses may be a master gaming server, and the controller of that gaming apparatus may be programmed to provide a list of the casino gaming servers to the other gaming apparatuses.
- One of the gaming apparatuses may also be a casino gaming server, and the controller of that gaming apparatus may be programmed to provide gaming data to the other gaming apparatuses.
- the gaming apparatuses may be interconnected via the Internet.
- the invention is directed to a gaming method for downloading gaming data from a casino gaming server to a gaming apparatus disposed in a casino.
- the method may comprise receiving data representing server information regarding casino gaming servers, organizing the casino gaming servers according to the server information data, selecting a casino gaming server according to the organization of the casino gaming servers or the server information data, receiving gaming data from the selected casino gaming server, causing a game display to be generated, and determining a value payout associated with an outcome of the game.
- the games may comprise poker, blackjack, slots, keno or bingo.
- the method may also comprise causing a display relating to the casino gaming servers to be generated, and allowing a person to select one of the casino gaming servers.
- Selecting a casino gaming server may be done automatically, and causing a game display to be generated may comprise displaying a game from the gaming data. Selecting a casino gaming server may be based on a data transfer rate, responsiveness, identification, load, geographic location, network subnet data, description, available gaming data and gaming data size.
- the invention is directed to a memory that may comprise a computer program that may be capable of being used in connection with a gaming apparatus disposed in a casino.
- the memory may comprise a memory portion physically configured in accordance with computer program instructions that may cause the gaming apparatus to receive data representing server information regarding casino gaming servers; a memory portion physically configured in accordance with computer program instructions that may cause the gaming apparatus to organize the plurality of casino gaming servers according to the server information, a memory portion physically configured in accordance with computer program instructions that may cause the gaming apparatus to select a casino gaming server according to the organization of the casino gaming servers or the server information data; a memory portion physically configured in accordance with computer program instructions that may cause the gaming apparatus to receive gaming data from the selected casino gaming server; a memory portion physically configured in accordance with computer program instructions that may cause the gaming apparatus to cause a game display representing a game to be generated; a memory portion physically configured in accordance with computer program instructions that may cause the gaming apparatus to determine a value payout associated with an outcome of the game.
- the game may be poker, blackjack, slots
- FIG. 1 is a block diagram of an embodiment of a gaming system in accordance with the invention.
- FIG. 2 is a block diagram of an embodiment of a network shown schematically in FIG. 1 ;
- FIG. 3 is a perspective view of an embodiment of one of the gaming units shown schematically in FIG. 1 ;
- FIG. 3A illustrates an embodiment of a control panel for a gaming unit
- FIG. 4 is a block diagram of the electronic components of the gaming unit of FIG. 3 ;
- FIG. 5 is a flowchart of an embodiment of a network communication routine that may be performed during operation of one or more of the gaming units;
- FIG. 6 is a flowchart of an alternative embodiment of a network communication routine that may be performed during operation of one or more of the gaming units;
- FIG. 7 is a flowchart of an embodiment of an authentication routine that may be performed during operation of one or more of the network computers;
- FIG. 8 is a flowchart of an embodiment of a master gaming server communication routine that may be performed during operation of one or more of the gaming units;
- FIG. 9 is a flowchart of an embodiment of a gaming server communication routine that may be performed during operation of one or more of the gaming units;
- FIG. 10 is a flowchart of an alternative embodiment of a gaming server communication routine that may be performed during operation of one or more of the gaming units;
- FIG. 11 is an illustration of an embodiment of a visual display that may be displayed during performance of the gaming server communication routine of FIG. 10 ;
- FIG. 12 is a flowchart of an embodiment of a status check routine that may be performed during operation of one or more of the gaming units;
- FIG. 13 is a flowchart of an embodiment of a main routine that may be performed during operation of one or more of the gaming servers;
- FIG. 14 is a flowchart of an embodiment of a main routine that may be performed during operation of one or more of the gaming units;
- FIG. 15 is a flowchart of an alternative embodiment of a main routine that may be performed during operation of one or more of the gaming units;
- FIG. 16 is an illustration of an embodiment of a visual display that may be displayed during performance of the video poker routine of FIG. 18 ;
- FIG. 17 is an illustration of an embodiment of a visual display that may be displayed during performance of the video blackjack routine of FIG. 19 ;
- FIG. 18 is a flowchart of an embodiment of a video poker routine that may be performed by one or more of the gaming units;
- FIG. 19 is a flowchart of an embodiment of a video blackjack routine that may be performed by one or more of the gaming units;
- FIG. 20 is an illustration of an embodiment of a visual display that may be displayed during performance of the slots routine of FIG. 22 ;
- FIG. 21 is an illustration of an embodiment of a visual display that may be displayed during performance of the video keno routine of FIG. 23 ;
- FIG. 22 is a flowchart of an embodiment of a slots routine that may be performed by one or more of the gaming units
- FIG. 23 is a flowchart of an embodiment of a video keno routine that may be performed by one or more of the gaming units;
- FIG. 24 is an illustration of an embodiment of a visual display that may be displayed during performance of the video bingo routine of FIG. 25 ;
- FIG. 25 is a flowchart of an embodiment of a video bingo routine that may be performed by one or more of the gaming units.
- FIG. 1 illustrates one possible embodiment of a casino gaming system 10 in accordance with the invention.
- the casino gaming system 10 may include a first group or network 12 of casino gaming units 20 operatively coupled to a network computer 22 and a master gaming server 28 via a network data link or bus 24 .
- the casino gaming system 10 may include a second group or network 26 of casino gaming units 30 and a master gaming server 36 operatively coupled to a network computer 32 via a network data link or bus 34 .
- the first and second gaming networks 12 , 26 may be operatively coupled to each other via a network 40 , which may comprise, for example, the Internet, a wide area network (WAN), or a local area network (LAN) via a first network link 42 and a second network link 44 .
- a network 40 may comprise, for example, the Internet, a wide area network (WAN), or a local area network (LAN) via a first network link 42 and a second network link 44 .
- the first and second networks 12 , 26 and/or the network 40 may be network subnets of a larger network.
- the first network 12 of gaming units 20 may be provided in a first casino, and the second network 26 of gaming units 30 may be provided in a second casino located in a separate geographic location than the first casino.
- the two casinos may be located in different areas of the same city, or they may be located in different states.
- the network computer 22 may be a server computer and may be used to accumulate and analyze data relating to the operation of the gaming units 20 .
- the network computer 22 may continuously receive data from each of the gaming units 20 indicative of the dollar amount and number of wagers being made on each of the gaming units 20 , data indicative of how much each of the gaming units 20 is paying out in winnings, data regarding the identity and gaming habits of players playing each of the gaming units 20 , etc.
- the network computer 22 may further be used to provide a gaming unit 20 with a unique network identification for network communication, configure the gaming unit 20 for network communication and provide the gaming unit 20 with information about the networks 12 , 26 , 40 including the other gaming units 20 , the master gaming server 28 , etc.
- the unique network identification may be an Internet Protocol (IP) address, Intranet address, or any other form of identification to uniquely designate a gaming unit 20 from among other gaming units 20 , 30 , computers, servers or devices communicating on the network 12 .
- IP Internet Protocol
- the unique network identification may be provided when the gaming unit 20 connects to the network 12 to communicate with other devices on the network, or a device on another network 26 , 40 .
- the network computer 32 may be a server computer and may be used to perform the same or different functions in relation to the gaming units 30 as the network computer 22 described above.
- the network computers 22 , 32 may provide functions, such as providing a unique network identification, to gaming units 20 , 30 on other networks.
- the network computer 32 may provide an IP address to a gaming unit 20 on the first network 12
- the network computer 22 may provide an IP address to a gaming unit 30 on the second network 26 .
- the master gaming servers 28 , 36 may also be server computers and may be used to provide a gaming unit 20 , 30 with information regarding gaming servers on the network 40 , including gaming servers (not shown) that may be on the first and second networks 12 , 26 .
- the master gaming server 28 and the network computer 22 may be embodied in the same hardware.
- a gaming unit 20 , 30 may serve as a master gaming server 28 , 36 .
- Each master gaming server 28 , 36 may periodically query each gaming server (and gaming unit 20 , 30 if provided as gaming servers) or otherwise receive information from each gaming server to ascertain what gaming servers are communicating on the network, including information about each gaming server such as geographic location, description, network identification, network subnet data, and gaming data that is or may be made available to the gaming units 20 , 30 .
- the network subnet data may include information about the network subnet, including geographic location, speed, etc. or may simply be a network subnet identification that is associated with the information about the network subnet.
- the gaming server information may include a description of the gaming data, the size of the file(s), restrictions on use (e.g., the gaming data is available to gaming units 20 , but not gaming units 30 ), etc.
- Each master gaming server 28 , 36 may be dedicated to a particular gaming unit or group of gaming units 20 , 30 or configurable to allow some or all of the gaming units 20 , 30 to communicate with the master gaming server 28 , 36 .
- each network 12 , 26 is shown to include one network computer 22 , 32 , one master gaming server 28 , 36 and three gaming units 20 , 30 , it should be understood that different numbers of computers and gaming units may be utilized.
- the network 12 may include a plurality of network computers 22 , a plurality of master gaming servers 28 and tens or hundreds of gaming units 20 , all of which may be interconnected via the data link 24 .
- the data link 24 may be provided as a dedicated hardwired link or a wireless link. Although the data link 24 is shown as a single data link 24 , the data link 24 may comprise multiple data links.
- FIG. 2 illustrates one possible embodiment of a network 40 operatively coupled to the first and second networks 20 , 30 via data links 42 , 44 .
- the network 40 may include a plurality of network computers 46 and casino gaming server computers 48 , each of which may be operatively interconnected via data links or busses 47 , 49 . Where the network 40 comprises the Internet, data communication may take place over the network links 42 , 44 via an Internet communication protocol such as Transmission Control Protocol/Internet Protocol (TCP/IP).
- TCP/IP Transmission Control Protocol/Internet Protocol
- the network 40 may further include one or more master gaming servers (not shown) similar to those described above.
- the network computers 46 may be similar to the network computers 22 , 32 .
- the network computers 46 may be server computers and may be used to perform the same or different functions in relation to the gaming units 20 , 30 as the network computers 22 , 32 described above, including providing a unique network identification to gaming units 20 , 30 .
- the gaming servers 48 may be server computers in a casino and may be used to provide the gaming units 20 , 30 with gaming data.
- the gaming data may be any data that may be required by a gaming unit 20 , 30 for its operation.
- the gaming data may include software such as source code for a program to be executed by a controller, operating code for a controller, machine code, video data, software updates, configuration data, etc.
- a new program may be any new routine that may be executed by the controller such as a new game routine, a new video display routine, a new attraction routine, a new theme, etc. and may further include all software that may be required to execute the program.
- a new game routine may require new source code to execute the game, new video display software to display to a player during execution of the game, new payout tables, new random number generators, new operating code for the controller to send and receive signals from a control panel, etc.
- Software updates may relate to updates to existing games, video displays, attraction routines, themes, pay tables, operating code, or any other software already stored in a memory of the controller.
- the updates may relate to new versions of an existing game, additional subroutines to add to existing routines, software patches to repair errors in existing software, updated payout tables, updates to video images, etc.
- the configuration data may relate to configuration software for the gaming unit controller, the gaming unit display, the payout tables, network communication, or any other aspect of the gaming unit 20 , 30 that may need to be configured.
- the configuration data may often be associated with the addition of new hardware, a new software routine, etc.
- Each gaming server 48 may include a controller 48 a that may comprise a program memory 48 b , a microcontroller or microprocessor (MP) 48 c , a random-access memory (RAM) 48 d and an input/output (I/O) circuit 48 e , all of which may be interconnected via an address/data bus 48 f .
- a controller 48 a may comprise a program memory 48 b , a microcontroller or microprocessor (MP) 48 c , a random-access memory (RAM) 48 d and an input/output (I/O) circuit 48 e , all of which may be interconnected via an address/data bus 48 f .
- the controller 48 a may include multiple microprocessors 48 c .
- the memory of the controller 48 a may include multiple RAMs 48 d and multiple program memories 48 b .
- the I/O circuit 22 e is shown as a single block, it should be appreciated that the I/O circuit 22 e may include a number of different types of I/O circuits.
- the RAM(s) 48 d and program memories 48 b may be implemented as semiconductor memories, magnetically readable memories, and/or optically readable memories, for example.
- the program memory 48 b is shown in FIG. 2 as a read-only memory (ROM) 48 d
- the program memory of the controller 48 a may be a read/write or alterable memory, such as a hard disk.
- the address/data bus 48 f shown schematically in FIG. 2 may comprise multiple address/data buses, which may be of different types, and there may be an I/O circuit disposed between the address/data buses.
- the I/O circuit 48 e may be coupled to the network 40 via a data link 48 g.
- the various gaming units 20 , 30 may serve as gaming servers 48 , or a gaming server 48 may be included with a gaming unit 20 , 30 to facilitate software sharing among a group of gaming units 20 , 30 .
- the gaming unit 20 , 30 and the gaming server 48 may share the same controller 48 a .
- the gaming servers 48 may further provide gaming server information to one or more of the master gaming servers 28 , 36 including available software or gaming data, restrictions on use, file size, network identification, description of the gaming server, geographic location, network subnet data, etc.
- the gaming server information may be provided in response to a master gaming server query, or provided by the gaming server 48 periodically.
- each of the remaining gaming servers 48 may include similar components.
- the network computers 46 , gaming server computers 48 and master gaming servers, if included, may be provided together in geographic proximity to each other or in separate geographic locations.
- the network 40 or portions thereof, may be located in proximate or separate geographic locations from the first and second networks 12 , 26 , such as in a different casino, different city, different state, etc.
- the data links 47 , 49 may be provided as wireless or dedicated hardwired links, and may each comprise multiple links.
- the network 40 is shown to include one network computer 46 and three gaming servers 48 , it should be understood that different numbers of computers and servers may be utilized. Various network designs may also be utilized.
- FIG. 3 is a perspective view of one possible embodiment of one or more of the gaming units 20 .
- the gaming units 30 may have the same design as the gaming units 20 described below. It should be understood that the design of one or more of the gaming units 20 may be different than the design of other gaming units 20 , and that the design of one or more of the gaming units 30 may be different than the design of other gaming units 30 .
- Each gaming unit 20 may be any type of casino gaming unit and may have various different structures and methods of operation. For exemplary purposes, various designs of the gaming units 20 are described below, but it should be understood that numerous other designs may be utilized.
- the casino gaming unit 20 may include a housing or cabinet 50 and one or more input devices, which may include a coin slot or acceptor 52 , a paper currency acceptor 54 , a ticket reader/printer 56 and a card reader 58 , which may be used to input value to the gaming unit 20 .
- a value input device may include any device that can accept value from a customer.
- the term “value” may encompass gaming tokens, coins, paper currency, ticket vouchers, credit or debit cards, smart cards, and any other object representative of value.
- the ticket reader/printer 56 may be used to read and/or print or otherwise encode ticket vouchers 60 .
- the ticket vouchers 60 may be composed of paper or another printable or encodable material and may have one or more of the following informational items printed or encoded thereon: the casino name, the type of ticket voucher, a validation number, a bar code with control and/or security data, the date and time of issuance of the ticket voucher, redemption instructions and restrictions, a description of an award, and any other information that may be necessary or desirable.
- Different types of ticket vouchers 60 could be used, such as bonus ticket vouchers, cash-redemption ticket vouchers, casino chip ticket vouchers, extra game play ticket vouchers, merchandise ticket vouchers, restaurant ticket vouchers, show ticket vouchers, etc.
- the ticket vouchers 60 could be printed with an optically readable material such as ink, or data on the ticket vouchers 60 could be magnetically encoded.
- the ticket reader/printer 56 may be provided with the ability to both read and print ticket vouchers 60 , or it may be provided with the ability to only read or only print or encode ticket vouchers 60 . In the latter case, for example, some of the gaming units 20 may have ticket printers 56 that may be used to print ticket vouchers 60 , which could then be used by a player in other gaming units 20 that have ticket readers 56 .
- the card reader 58 may include any type of card reading device, such as a magnetic card reader or an optical card reader, and may be used to read data from a card offered by a player, such as a credit card or a player tracking card. If provided for player tracking purposes, the card reader 58 may be used to read data from, and/or write data to, player tracking cards that are capable of storing data representing the identity of a player, the identity of a casino, the player's gaming habits, etc.
- a card reading device such as a magnetic card reader or an optical card reader
- the card reader 58 may be used to read data from, and/or write data to, player tracking cards that are capable of storing data representing the identity of a player, the identity of a casino, the player's gaming habits, etc.
- the gaming unit 20 may include one or more audio speakers 62 , a coin payout tray 64 , an input control panel 66 , and a display unit 70 .
- the display unit 70 may be a color video display unit that displays images relating to the particular game or games.
- the display unit 70 may comprise a plurality of mechanical reels that are rotatable, with each of the reels having a plurality of reel images disposed thereon.
- the audio speakers 62 may generate audio representing sounds such as the noise of spinning slot machine reels, a dealer's voice, music, announcements or any other audio related to a casino game.
- the input control panel 66 may be provided with a plurality of pushbuttons or touch-sensitive areas that may be pressed by a player to select games, make wagers, make gaming decisions, etc.
- FIG. 3A illustrates one possible embodiment of the control panel 66 , which may be used where the gaming unit 20 is a slot machine having a plurality of mechanical or “virtual” reels.
- the control panel 66 may include a “See Pays” button 72 that, when activated, causes the display unit 70 to generate one or more display screens showing the odds or payout information for the game or games provided by the gaming unit 20 .
- the term “button” is intended to encompass any device that allows a player to make an input, such as an input device that must be depressed to make an input selection or a display area that a player may simply touch.
- the control panel 66 may include a “Cash Out” button 74 that may be activated when a player decides to terminate play on the gaming unit 20 , in which case the gaming unit 20 may return value to the player, such as by returning a number of coins to the player via the payout tray 64 .
- the control panel 66 may be provided with a plurality of selection buttons 76 , each of which allows the player to select a different number of paylines prior to spinning the reels. For example, five buttons 76 may be provided, each of which may allow a player to select one, three, five, seven or nine paylines.
- the control panel 66 may be provided with a plurality of selection buttons 78 each of which allows a player to specify a wager amount for each payline selected. For example, if the smallest wager accepted by the gaming unit 20 is a quarter ($0.25), the gaming unit 20 may be provided with five selection buttons 78 , each of which may allow a player to select one, two, three, four or five quarters to wager for each payline selected.
- the control panel 66 may include a “Max Bet” button 80 to allow a player to make the maximum wager allowable for a game. In the above example, where up to nine paylines were provided and up to five quarters could be wagered for each payline selected, the maximum wager would be 45 quarters, or $11.25.
- the control panel 66 may include a spin button 82 to allow the player to initiate spinning of the reels of a slots game after a wager has been made.
- buttons 72 , 74 , 76 , 78 , 80 , 82 are shown around the buttons 72 , 74 , 76 , 78 , 80 , 82 . It should be understood that that rectangle simply designates, for ease of reference, an area in which the buttons 72 , 74 , 76 , 78 , 80 , 82 may be located. Consequently, the term “control panel” should not be construed to imply that a panel or plate separate from the housing 50 of the gaming unit 20 is required, and the term “control panel” may encompass a plurality or grouping of player activatable buttons.
- buttons could be utilized in the control panel 66 , and that the particular buttons used may depend on the game or games that could be played on the gaming unit 20 .
- the display unit 70 is provided as a video display unit, the control panel 66 could be generated by the display unit 70 .
- each of the buttons of the control panel 66 could be a colored area generated by the display unit 70 , and some type of mechanism may be associated with the display unit 70 to detect when each of the buttons was touched, such as a touch-sensitive screen.
- FIG. 4 is a block diagram of a number of components that may be incorporated in the gaming unit 20 .
- the gaming unit 20 may include a controller 100 that may comprise a program memory 102 , a microcontroller or microprocessor (MP) 104 , a random-access memory (RAM) 106 and an input/output (I/O) circuit 108 , all of which may be interconnected via an address/data bus 110 .
- MP microcontroller or microprocessor
- RAM random-access memory
- I/O input/output circuit 108
- the controller 100 may include multiple microprocessors 104 .
- the memory of the controller 100 may include multiple RAMs 106 and multiple program memories 102 .
- the I/O circuit 108 is shown as a single block, it should be appreciated that the I/O circuit 108 may include a number of different types of I/O circuits.
- the RAM(s) 104 and program memories 102 may be implemented as semiconductor memories, magnetically readable memories, and/or optically readable memories, for example.
- the program memory 102 is shown in FIG. 4 as a read-only memory (ROM) 102
- the program memory of the controller 100 may be a read/write or alterable memory, such as a hard disk.
- the address/data bus 110 shown schematically in FIG. 4 may comprise multiple address/data buses, which may be of different types, and there may be an I/O circuit disposed between the address/data buses.
- FIG. 4 illustrates that the control panel 66 , the coin acceptor 52 , the bill acceptor 54 , the card reader 58 and the ticket reader/printer 56 may be operatively coupled to the I/O circuit 108 , each of those components being so coupled by either a unidirectional or bidirectional, single-line or multiple-line data link, which may depend on the design of the component that is used.
- the speaker(s) 62 may be operatively coupled to a sound circuit 112 , that may comprise a voice- and sound-synthesis circuit or that may comprise a driver circuit.
- the sound-generating circuit 112 may be coupled to the I/O circuit 108 .
- the I/O circuit 108 in turn, may be coupled to the network 12 via a data link 24 .
- the components 52 , 54 , 56 , 58 , 66 , 112 may be connected to the I/O circuit 108 via a respective direct line or conductor.
- Different connection schemes could be used.
- one or more of the components shown in FIG. 4 may be connected to the I/O circuit 108 via a common bus or other data link that is shared by a number of components.
- some of the components may be directly connected to the microprocessor 104 without passing through the I/O circuit 108 .
- FIG. 5 is a flowchart of a network communication routine 120 that may be stored in the memory of the controller 100 .
- the network communication routine 120 may be performed whenever the gaming unit 20 is powered on or whenever it is desired to perform a software download such as during maintenance, reconfiguration of the gaming unit 20 , software updates, prior to or during a main operating routine, etc.
- the network communication routine 120 may begin operation at block 121 during which a network computer 22 may be contacted by the gaming unit 20 .
- the gaming unit 20 may be dedicated to a particular network computer 22 , which may be the network computer 22 on the same network 12 as the gaming unit 20 .
- the gaming unit 20 may also be dedicated to another network computer 32 , 46 on another network 26 , 40 . If dedicated to a particular network computer 22 , the particular network computer 22 may always be contacted by the gaming unit 20 .
- the dedicated network computer 22 may also be first contacted before attempting to contact another network computer 32 , 46 .
- the controller 100 may submit a gaming unit identification and a request for a network identification to the network computer 22 at block 122 .
- the request may be made in accordance with network communication protocol stored in the memory of the controller 100 , such as TCP/IP software.
- the gaming unit identification may be an identification unique to only that particular gaming unit 20 .
- the gaming unit identification may take any form, such as a simple alphanumeric code, to a more detailed identification that includes authentication data, such as a description of the network or network subnet to which the gaming unit 20 belongs, the casino to which the gaming unit 20 belongs, a description of the gaming unit 20 , the location of the gaming unit 20 , or other authentication data generally considered unique to the gaming unit 20 .
- the gaming unit identification may comprise or be accompanied with a passcode associated with the particular gaming unit 20 .
- the network computer 22 may compare the gaming unit identification to a list of gaming unit identifications of all the gaming units 20 that may contact the network computer 22 .
- the gaming unit identification may be additionally verified by comparing the authentication data to authentication data stored by the network computer 22 .
- the gaming unit identification may also be encrypted, and accepted by the network computer 22 if the gaming unit identification is properly decrypted.
- the gaming unit identification, authentication data and the encryption may be used for security purposes to prevent unauthorized access to the network 12 . Additional security protocols as known to those of ordinary skill in the art may also be utilized.
- the gaming unit 20 , 30 may receive an offer from the network computer 22 .
- the offer may indicate that the gaming unit identification is accepted.
- the offer may further include a network identification for the gaming unit 20 .
- the network identification may be used by the gaming unit 20 to identify itself on the network 12 and allow the gaming unit 20 to communicate with other devices on the network 12 or on other networks 26 , 40 .
- the network identification may be assigned according to the communication protocol of the network 22 .
- the network identification may be assigned according to dynamic host configuration protocol (DHCP), where the network computer 22 may store a range of network identifications, such as IP addresses, corresponding to the number of gaming units 20 or other devices that may connect to the network 12 at any one time. The range may be set by a network administrator.
- DHCP dynamic host configuration protocol
- a network identification may be dynamically allocated by the network computer 22 upon each request from a gaming unit 20 with a valid and authentic gaming unit identification.
- the network identification assigned to the gaming unit 20 may be unique among other network identifications issued for communication on the network 12 , or the network identification may be unique from other network identifications issued among all networks 12 , 26 , 40 .
- additional layers of identification such as identifying the network 12 to which the gaming unit 20 belongs, may be used for communication on additional networks 26 , 40 to differentiate from other gaming units 30 that may otherwise have the same network identification.
- a single network computer 46 may assign a range of network identifications to several network computers 22 , 32 , 46 to issue to gaming units 20 , 30 and devices on the various networks 12 , 26 , 40 . These ranges may also be set by a network administrator.
- control may pass to block 124 where the controller 100 may receive and accept the network identification. If an offer is not received, control may pass back to block 121 where the controller 100 may attempt to contact the network computer 22 again, attempt to contact another network computer 32 , 46 , or discontinue attempting to contact any network computer 22 , 32 , 46 .
- the request may include a request for the configuration of the network 12 , additional networks 26 , 40 operatively coupled to the network 12 , the identification of various devices connected to the network(s), etc.
- the request may specifically ask the network computer 22 to identify master gaming servers 28 , 36 that are on the networks 12 , 26 , 40 .
- the controller 100 may receive a response to the request for network information from the network computer 12 .
- the information supplied by the network computer 12 may be information regarding the master server(s) 28 , 36 that the gaming unit may contact.
- the routine may then terminate and turn control over to a master gaming server communication routine where the gaming unit 20 may contact and communication with a master gaming server 28 .
- FIG. 6 is a flowchart of an alternative network communication routine 130 that may be stored in the memory of the controller 100 .
- the network communication routine 130 may be utilized by gaming units 20 to select from among multiple network computers 12 , 32 , 46 as opposed to a dedicated network computer. As with the network communication routine 120 discussed above, the network communication routine 130 may be performed at any time. Referring to FIG. 6 , the network communication routine 130 may begin operation at block 131 during which several different network computers 22 , 32 , 46 may be contacted. This may involve sending the gaming unit identification over the networks 12 , 26 , 40 with a general request for all network computers 22 , 32 , 46 to respond. However, the gaming unit identification may be withheld until the gaming unit 20 receives responses from all available network computers 22 , 32 , 46 .
- the gaming unit identification may be unique to the gaming unit 20 and may include additional data for verification and authentication.
- the controller 100 may receive offers from all available network computers 22 , 32 , 46 , or those that have verified and authenticated the gaming unit identification, at block 132 .
- Each offer may indicate that the gaming unit identification is accepted by the network computer 22 , 32 , 46 , and may be accompanied by a network identification.
- Additional information that may be included with the offer includes the network computer's geographic location, identification, associated network, lease time of the network identification (i.e., how long the network identification will be allocated to the gaming unit 20 ), network computer load (e.g., how many other gaming units 20 are requesting a network identification from that network computer), the network identification being offered, authentication data, network subnet data, etc.
- each of the offers received at block 132 may be analyzed.
- the analysis may be based on a variety of factors, including which network computer was the first to respond, which has the fastest transfer rate, which has the closest geographic location, which has the least amount of load, lease time, network subnet data, etc.
- One or more of these factors may be considered more important than the others and the results of the analysis may be based only on that factor(s).
- the authentication data may be used to verify that the network computer 22 , 32 , 46 being contacted is the correct network computer. If the authentication data fails, that network computer may be rejected regardless of the other factors.
- each factor may be weighted according to importance (e.g., location considered more important and therefore weighted heavier than other factors), and a weighted average may be calculated for each network computer 22 , 32 , 46 .
- the network computer 22 , 32 , 46 with the highest weighted average is considered the selected network computer.
- Each factor may also be given equal weight and averaged accordingly.
- Threshold values may also preclude the gaming unit 20 from even considering a network computer 22 , 32 , 46 . For example, the network computer 22 may the closest geographically, but if its network load is too high the gaming unit 20 may discard the network computer 22 as an option despite its proximity.
- one of the network computers 22 , 32 , 46 may be selected at block 134 based on the analyses from block 133 . This selection may be made automatically by the controller 100 based on the above analysis. Alternatively, a list of all available network computers 22 , 32 , 46 may be presented on the display unit 70 to an operator who may then choose a network computer 22 , 32 , 46 .
- the operator may be any person that may interact with the gaming unit 20 , including a player, maintenance personnel, a casino attendant, etc. Though some examples may refer to a player, it should be understood by those of ordinary skill in the art that similar examples may be carried out by other persons.
- the list of the available network computers 22 , 32 , 46 may include the details about each network computer 22 , 32 , 46 , the results of the analysis, etc. to aid the operator's decision.
- the list may or may not include any network computer 22 , 32 , 46 that was rejected, for example because of a failed authentication. Alternatively, the operator may simply be precluded from selecting a rejected network computer 22 , 32 , 46 .
- the selection of a network computer 22 at block 134 may include notifying that network computer 22 of its selection.
- the remaining network computers 32 , 46 may be notified of their rejection, which may be done by sending the acceptance of the one network computer 22 to all other network computers 32 , 46 or by overtly indicating the rejection to each of the remaining network computers 32 , 46 .
- a predetermined amount of time may pass, during which if a network computer 32 , 40 does not receive an acceptance it considers itself rejected.
- the selection may be indicated to the network computer 22 in any form, including acceptance of the offered network identification, a request for network information, etc.
- the controller 100 may then receive the network identification from the chosen network computer 22 , which may include network configuration, identification and information regarding various devices on the network, including master gaming servers 28 , 36 .
- the network communication routine 130 may terminate and turn control over to the master gaming server communication routine.
- FIG. 7 is an authentication routine 140 referenced above with FIG. 5 and FIG. 6 that may be stored in a memory of a network computer 22 , 32 , 46 .
- the authentication routine 140 may be utilized to authenticate and verify a gaming unit identification when a gaming unit is requesting a network identification.
- a similar process may be used by the network computers 22 , 32 , 46 , master gaming servers 28 , 36 and gaming servers 48 when communicating with a gaming unit 20 to verify and authenticate the network identification.
- a network computer 22 may receive a gaming unit identification from a gaming unit 20 , as sent at blocks 122 or 132 of FIG. 5 and FIG. 6 respectively.
- the network computer 22 , 32 , 46 may determine at block 142 whether the gaming unit identification is valid and authentic. The determination may be done by comparing the gaming unit identification to a list stored in the memory of the network computer 22 , comparison of the authentication data to information known about the gaming unit 20 , valid decryption of the information, or any other network security method. If the gaming unit identification is determined to be authentic at block 142 , control may pass to block 143 to send authentication data back to the gaming unit 20 . Otherwise, the network computer 22 , 32 , 46 may terminate its connection with the gaming unit 20 at block 145 .
- the network computer 22 , 32 , 46 may send a network identification back to the gaming unit 20 at block 143 .
- the network computer 22 , 32 , 46 may send additional network computer information such as geographic location, identification, associated network, lease time, network computer load, network subnet data, etc.
- the gaming unit 20 may use this additional information to verify that it is communicating with the correct network computer 22 , 32 , 46 (i.e., authenticate the network computer) and to decide whether to accept the network identification or not.
- the network computer 22 , 32 , 46 may determine whether or not the gaming unit 20 accepted the network identification at block 144 , which may be a specific acceptance from the gaming unit 20 , a request for network information, etc. If the gaming unit accepted the network identification, the network computer 22 , 32 , 46 may continue communicating with the gaming unit 20 as discussed above. If the gaming unit 20 rejects the network identification or if the gaming unit 20 fails to respond within a predetermined amount of time, the network computer 22 , 32 , 46 may terminate its communication with the gaming unit 20 at block 145 .
- FIG. 8 is a flowchart of a master gaming server communication routine 150 that may be stored in the memory of the controller 100 . While the following description describes the master gaming server 28 , 36 as a separate device on the network 12 , 26 , 40 , as mentioned above, the master gaming server 28 , 36 may also be the network computer 22 , 32 , 46 . As will be recognized by those of ordinary skill in the art, some aspects of the following description may not be applicable in the case of a master gaming server being the network computer 22 , 32 , 46 that issued the network identification, although this may not preclude the gaming unit 20 from communicating with other master gaming servers 28 , 36 .
- the master server communication routine 150 may begin operation at block 151 where the gaming unit 20 may find available master gaming servers 28 , 36 . As with the network computers 22 , 32 , 46 , the gaming unit 20 may be hard coded to search for a particular master gaming server 28 . If the particular master gaming server 28 is unavailable, the gaming unit 20 may then turn to another master gaming server 36 , or disconnect from the network 12 . In the present example, the gaming unit 20 may review the network information provided by the network computer 22 , 32 , 46 at blocks 126 , 135 from the network communication routines 120 , 130 . The network information may include the identification of the master gaming servers 28 , 36 , the geographic location of the master gaming servers 28 , 36 , associated network subnet data, etc.
- the gaming unit 20 may search the network(s) 12 , 26 , 40 for all master gaming servers 28 , 36 and request information from each one.
- Information regarding each master gaming server 28 , 36 may include authentication data to verify that the master gaming server 28 , 36 is valid.
- the gaming unit 20 may determine whether there is just one master gaming server 28 , 36 to choose from, or if there are multiple master gaming servers 28 , 36 to choose from at block 152 . If there is only one master gaming server 28 , or if a particular master gaming server 28 is dedicated to the gaming unit 20 , control may pass to block 155 and the gaming unit 20 may contact that master gaming server 28 . If there are multiple master gaming servers 28 , 36 to choose from, as determined at block 152 , control may pass to block 153 where a list of the master gaming servers 28 , 36 may be displayed to an operator on the display unit 70 .
- the list of master gaming servers 28 , 36 may include information about each server, such as its geographic location, the gaming server information that may be provided, network subnet data, etc. As with the network computers 22 , 32 , 46 , each master gaming server 28 , 36 may be analyzed and organized (e.g., ranked) according to the information about each master gaming server 28 , 36 , and the gaming unit 20 may omit or preclude the operator from selecting any master gaming servers 28 , 36 that fails to pass a threshold test, including authentication, data transfer rate, etc. This information may likewise be displayed on the display unit 70 .
- the gaming unit 20 may determine whether or not a master gaming server 28 , 36 has been selected by the operator. If not, the routine may wait until the operator makes a selection. If a selection is made, as determined at block 154 , control may pass to block 155 to contact the chosen master gaming server 28 , 36 . Alternatively, the selection of a master gaming server 28 , 36 at block 154 may be done automatically by the controller 100 based on the available information about each master gaming server 28 , 36 , an analysis of each, etc.
- the gaming unit 20 may contact the chosen master gaming server 28 to indicate that it has been selected. As with the network computer selection above, this may be done by contacting just the selected master gaming server 28 and letting the remaining master gaming servers 36 discontinue communication attempts after a predetermined time, indicating the selection to all master gaming servers 28 , 36 , or overtly rejecting each of the unselected master gaming servers 36 .
- the gaming unit 20 may request a list of all available gaming servers 48 at block 156 .
- the list may further include all available gaming units 20 , 30 that may share gaming data with other gaming units 20 and/or information regarding each gaming server 48 including its network identification, description, geographic location, responsiveness, data transfer rate, available gaming data, restrictions on use, network subnet data, etc.
- the routine may terminate and turn control over to the gaming server communication routine.
- FIG. 9 is a flowchart of a gaming server communication routine 160 that may be stored in the memory of the controller 100 .
- the gaming server communication routine 160 may be performed once the gaming unit 20 has received a list of all available gaming servers 48 .
- the list may be restricted only to gaming servers 48 on particular networks, or the list may include gaming servers 48 on a variety of networks.
- the gaming server communication routine 160 may begin at block 161 where the gaming unit 20 may initiate a status check of each gaming server 48 . For example, using TCP/IP the gaming unit 20 may initiate a “ping” operation to test each gaming server 48 .
- the ping operation 161 may provide or be used to derive information relating to the data transfer rate, estimated transfer time for each data file, throughput, responsiveness, accessibility, availability and existence of each gaming server 48 .
- each gaming server 48 may be analyzed at block 162 . However, it should be noted that much of the information from the master gaming server 28 , 36 may also be received through communications with each of the gaming servers 48 which may be more current than what the master gaming server 48 may provide.
- the analysis at block 162 may use any or all of the information as factors to analyze and organize (e.g., rank) each gaming server 48 that has been contacted.
- each of the factors may be assigned a numerical value, and the gaming servers 48 may be ranked according to the total sum of the factors, the average numerical value of all the factors, etc.
- Some factors may be considered more important than others and may therefore be weighted accordingly.
- the data transfer rate may be considered more important than available gaming data. This may cause a gaming server 48 having a greater selection of available gaming data but a low data transfer rate to be ranked lower than a gaming server 48 having a smaller available gaming data selection but a high data transfer rate.
- the weighting may result in a total sum score for each gaming server 48 or a weighted average for each gaming server 48 .
- Some factors may be of such importance that it is determinative of whether or not the gaming server 48 will be ranked at all. For example, if the pinging operation indicates that the gaming server 48 does not exist (e.g., the gaming server 48 was taken offline), then all other factors may be rendered moot. In another example, the rankings may simply be based on which gaming server 48 responded first, which responded second, etc.
- a gaming server 48 may be selected at block 163 based on the analysis and rankings at block 162 . As indicated above, some factors may be more determinative than others. For example, even if the rankings first list a gaming server 48 with a low data transfer rate, the routine 100 may refuse that gaming server 48 in favor of one with a higher data transfer rate. The routine 100 may even use threshold tests to eliminate unsatisfactory gaming servers 48 .
- the threshold test may be based on a minimum required value, such as a minimum data transfer rate, a minimum geographic proximity, a minimum responsiveness, a maximum allowable network or server load, maximum file sizes, etc.
- the threshold test may also be based on the available gaming data. For example, if a gaming server 48 does not have video poker, video blackjack or video slots, then the gaming server 48 will not be selected.
- the gaming data may be downloaded to the memory of the controller 100 at block 164 .
- the selected gaming server 48 may provide various files of gaming data and an operator may be allowed to specifically select the data file.
- the network computer 22 , 32 , 46 that issued the network identification may be notified that it will no longer be communicating on the network 12 , 26 , 40 .
- the network computer 22 , 32 , 46 may acknowledge the gaming unit 20 and no longer identify the network identification with that gaming unit 20 .
- the gaming unit 20 may remain communicatively coupled to the network 12 , 26 , 40 for further downloads or to serve as a gaming server 48 for other gaming units 20 , 30 .
- FIG. 10 is a flowchart of an alternative gaming server communication routine 170 that may be stored in the memory of the controller 100 .
- the gaming server communication routine 170 may be utilized by gaming units 20 to manually select a gaming server 48 from among multiple gaming servers 48 .
- the gaming server communication routine 170 may be performed once the gaming unit 20 has received a list of all available gaming servers 48 from the master gaming server 28 , 36 .
- the gaming server communication routine 170 may begin operation at block 171 during which the routine may initiate a status check of each gaming server 48 using a ping operation or other suitable operation which may be dependent on the particular network communications protocol.
- the ping operation 161 may provide or be used to derive information about each gaming server 48 such as its data transfer rate, the estimated download time for each data file, throughput, responsiveness, accessibility, existence, etc.
- the routine may also gather further information from each gaming server 48 such as network identification, description, geographic location, gaming data, gaming data specifics (e.g., file size), associated network subnet data, etc. Some or all of this information may also be provided by the master gaming server 28 , 36 .
- the gaming unit 20 may use the information from block 171 to analyze and organize (e.g., rank) each gaming server 48 at block 172 .
- the analysis and rank may be based on some or all of the information mentioned above.
- the rankings may be based on a total sum score for each gaming server 48 or an average score. Some factors may be weighted more heavily than others and some factors may be determinative of whether the gaming server 48 will be considered at all. Additionally, the routine may use threshold values to determine whether a gaming server 48 will be considered.
- the gaming servers 48 When the gaming servers 48 have been analyzed and organized at block 172 , they may be displayed on the display unit 70 to the operator.
- the display at block 173 may reflect the ranking of the gaming servers 48 from block 172 . Additionally, the display may reflect the information that was taken into account when ranking the gaming servers 48 . Not all gaming servers 48 may be represented in the display. For example, if Server C happens to be offline or fail to meet a threshold criteria, it may not be made available to the operator for selection.
- the display at block 173 may be used by the operator to select one of the gaming servers 48 .
- the display may also be dynamic to display various types of information about each gaming server 48 , data file, etc. at the operator's request.
- the routine may wait for a selection to be made by the operator at block 174 .
- the selection may be made using the control panel 66 or by using a touch-sensitive screen if provided with the display unit 70 .
- the selection may relate to just a gaming server 48 and/or a selection of a particular data file to download.
- the operator may decide to download gaming data for poker from Server A.
- the operator's selection of poker from Server A may cause the gaming unit 20 to initiate downloading of the data file from Server A at block 175 .
- the selection of just a gaming server 48 may cause the routine to prompt the player for a selection of a data file from that gaming server 48 .
- the gaming unit 20 may begin to download all available gaming data from the selected gaming server 48 . Once the downloading operation is completed at block 175 , the gaming unit 20 may terminate communications over the network 12 , 26 , 40 or remain on the network 12 , 26 , 40 for further downloads or to act as a gaming server 48 itself.
- FIG. 11 is an exemplary display 180 that may be shown on the display unit 70 during performance of the gaming server communication routine 170 shown schematically in FIG. 10 , and specifically during the display of the gaming servers 48 at block 173 .
- the display 180 may include a video image 181 of one or more gaming servers 48 that are available for selection.
- Server C has been left off the list either because it was not online or did not pass a threshold test.
- the gaming servers 48 may be displayed according to the organization determined at block 172 .
- buttons may include a “Rank Speed” button 182 , a “Rank Location” button 183 , a “More Info” button 184 , a “Select” button 185 and a “Search” button 186 .
- the “Rank Speed” button 182 may cause the video image 181 to rank the gaming servers 48 according to the data transfer rate.
- the “Rank Location” button 183 may cause the video image 181 to rank the gaming servers 48 according to their proximity.
- Various other information types may be provided in the video image 181 with corresponding buttons to vary the display of the gaming servers 48 .
- each gaming server 48 may be displayed with a “Rank Subnet” button (not shown).
- the gaming servers 48 may be ranked according to their associated network subnet which may be based on a variety of factors about the network subnet, including geographic proximity, speed, etc.
- the “More Info” button 184 may cause the gaming unit 20 to display various other types of information that may be selected and displayed regarding each gaming server 48 in the video display 180 .
- information about a gaming server's network subnet may be displayed to allow the user the opportunity to choose a gaming server 48 based on characteristics associated with its network subnet.
- the “Select” button 185 may be used to select a particular gaming server 48 or data file.
- the “Search” button 186 may be used to search for only those servers that have a specific data file (e.g., poker), a minimum data transfer rate (e.g., over 60 kB/s), associated network subnet data, etc. If the display unit 70 is provided with a touch-sensitive screen, the button may form part of the video display 180 . Alternatively, one or more of those buttons may be provided as part of a control panel that is provided separately from the display unit 70 .
- FIG. 12 is a flowchart of a ping operation routine 161 , 171 respectively shown schematically in FIG. 9 and in FIG. 10 .
- the ping operation routine 161 , 171 may generally relate to pinging one gaming server 48 , and may be performed for each known gaming server 48 .
- the routine may construct a network message with a type identifier and a unique data. Using TCP/IP, the type identifier may indicate a “ping”.
- the unique data may be anything to uniquely identify the message and compare it against a response to the network message, for example, the network identification of the gaming server 48 being pinged.
- the routine may send the network message to the destined gaming server 48 at block 191 .
- the routine may record the time that the network message was sent and store the time in the memory of the controller 100 .
- the routine may wait a predetermined time for a response from the gaming server 48 . After the predetermined time has passed, the routine may check to see if the gaming server 48 has sent a response to the network message and record the response time. If a response has been not been sent back within the predetermined time, as determined at block 193 , the routine may pass control to block 194 to indicate an error has occurred.
- the error indication at block 194 may signal that either the gaming server 48 does not exist (e.g., it is offline) or the gaming server 48 is unavailable (e.g., high load).
- the routine may check to see if there were any network errors at block 196 .
- the network errors may be sent by the gaming server 48 itself, indicating it received only part of the network message, requesting a resend, etc. If network errors exist as determined at block 196 , control may pass to block 194 to indicate the error with the response time or ping value indicating the type of error and the error code indicating a failed ping operation. If there are no network errors, the routine may check to see that the response included the unique data sent in the network message at block 197 . If not, control may pass back to block 192 to continue waiting for the unique data, in case the entire response has not been received yet.
- the routine may determine information from the response at block 198 . For example, the routine may compute the difference between the time the entire message was received and the time the message was sent to calculate the response time or ping value.
- the response time or ping value may indicate the load of the gaming server 48 , the responsiveness of the gaming server 48 , the data transfer rate of the gaming server 48 , etc.
- the error code may be set to indicate the ping was successful.
- the results may be provided to routines 160 , 170 for further analysis.
- the gaming unit 20 may maintain a list of all the gaming servers 48 and their ping values. The gaming unit 20 may also share the results with the master gaming server 28 , 36 so that the master gaming server 28 , 36 may update its list to add/delete available gaming servers 48 based on the ping results.
- FIG. 13 is a flowchart of a main operating routine 200 that may be stored in a memory of the controller 48 a of the gaming server 48 .
- the routine may be performed for each gaming unit 20 , 30 that may communicate with the gaming server 48 , and may be performed simultaneously while communicating with other gaming units 20 , 30 .
- the main operating routine 200 may begin operation at block 201 during which the gaming server 48 may wait to receive a request from a gaming unit 20 , 30 to communicate with the gaming server 48 .
- the request may include the network identification of the gaming unit 20 , 30 and a request for information about the gaming server 48 (e.g., data transfer rate, responsiveness, load, available gaming data, file size, location, description, network subnet data, etc.).
- the wait sequence may be terminated and the gaming server 48 may prepare to verify the validity and authenticity of the gaming unit 20 , 30 .
- the gaming server 48 may receive the network identification of the gaming unit 20 , 30 to verify that the gaming unit 20 , 30 is permitted to communicate on the network 40 .
- the network identification may also be accompanied by the gaming unit identification and authentication data, and the gaming server 48 may use this information to further validate and authenticate the gaming unit 20 , 30 similar to the authentication routine 140 described above.
- the gaming server 48 may terminate its communication session with the gaming unit 20 , 30 . If the network identification is valid, the gaming server 48 may send a signal to the gaming unit 20 , 30 to acknowledge the gaming unit identification was valid and authentic, and enter a wait state at block 205 to wait for a ping network, message from the gaming unit 20 , 30 . The gaming server 48 may wait for a predetermined time and then determine if a ping network message has been received at block 206 .
- the gaming server 48 may assume that the gaming unit 20 , 30 chose another gaming server, that the ping network message was corrupted or lost, or that the gaming unit 20 , 30 is unable to communicate with the gaming server 48 for some reason such as high network load, high server load, etc.
- the gaming server 48 may provide the gaming unit 20 , 30 with a response at block 207 .
- the response may include the time the gaming server received the ping network message, the time the response was sent, the unique data sent with the ping network message, etc.
- the gaming server 48 may provide additional information such as the various types of gaming data stored in the memory 48 b that may be downloaded by the gaming unit 20 , 30 , the file size of each, the location of the gaming server 48 , the load on the gaming server 48 or any other information about the gaming server 48 .
- the gaming server 48 may again wait for a signal from the gaming unit 20 , 30 to determine if the gaming server 48 was selected. If the gaming server 48 receives a signal that it was not selected, another gaming server 48 was selected or if no signal is received after a predetermined time, the gaming server 48 may terminate communications with the gaming unit 20 , 30 . This may include sending the gaming unit 20 , 30 an acknowledgement that communications will be terminated. If the gaming server 48 was selected for a downloading operation, the gaming server 48 may begin sending gaming data to the gaming unit 20 , 30 at block 209 . Alternatively, the gaming server 48 may wait for another signal from the gaming unit 20 , 30 indicating the particular gaming data it wishes to download.
- One manner in which one or more of the gaming units 20 (and one or more of the gaming units 30 ) may operate is described below in connection with a number of flowcharts which represent a number of portions or routines of one or more computer programs, which may be stored in one or more of the memories of the controller 100 .
- the computer program(s) or portions thereof may be stored remotely, outside of the gaming unit 20 , and may control the operation of the gaming unit 20 from a remote location. Such remote control may be facilitated with the use of a wireless connection, or by an Internet interface that connects the gaming unit 20 with a remote computer (such as one of the network computers 22 , 32 ) having a memory in which the computer program portions are stored.
- the computer program portions may be written in any high level language such as C, C++, C#, Java or the like or any low-level assembly or machine language.
- various portions of the memories 102 , 106 are physically and/or structurally configured in accordance with computer program instructions.
- FIG. 14 is a flowchart of a main operating routine 220 that may be stored in the memory of the controller 100 .
- the main routine 220 may begin operation at block 221 during which an attraction sequence may be performed in an attempt to induce a potential player in a casino to play the gaming unit 20 .
- the attraction sequence may be performed by displaying one or more video images on the display unit 70 (if provided as a video display unit) and/or causing one or more sound segments, such as voice or music, to be generated via the speakers 62 .
- the attraction sequence may include a scrolling list of games that may be played on the gaming unit 20 and/or video images of various games being played, such as video poker, video blackjack, video slots, video keno, video bingo, etc.
- the attraction sequence may be terminated and the gaming unit 20 may prepare to download software, such as a game or game update, from one of the gaming servers 48 .
- the gaming unit 20 may detect an input at block 222 in various ways. For example, the gaming unit 20 could detect if the player presses any button on the gaming unit 20 ; the gaming unit 20 could determine if the player deposited one or more coins into the gaming unit 20 ; the gaming unit 20 could determine if the player deposited paper currency into the gaming unit; etc.
- the server selection operation at block 223 may involve any of the routines discussed above, including connecting to a network 12 , 26 , 40 , selecting a network computer 22 , 32 , 46 , selecting a master gaming server 28 , 36 , and selecting a gaming server 48 .
- the server selection operation at block 223 may be performed prior to the main operating routine 220 or at other times when a player is not using the gaming unit 20 .
- selecting a network computer 22 , 32 , 46 and selecting a master gaming server 28 , 36 may be performed prior to the main operating routine 220 , though selecting a gaming server 48 may be performed at block 223 , which may be useful if there are various software downloads (e.g., games) to choose from on various gaming servers 48 .
- the player may be presented with a display of the available gaming servers 48 , including the available software downloads, file size, estimated transfer time, etc., as referred to above.
- Gaming data such as game routines to be played on the gaming unit 20 , may be presented to the player as a display at block 224 , although some of the game routines displayed at block 224 may be stored locally in a memory of the controller 100 and do not need to be downloaded.
- a game-selection display may be generated on the display unit 70 (if provided as a video display unit) at block 224 to allow the player to select, download and play a game on the gaming unit 20 .
- the game-selection display generated at block 224 may include, for example, a list of video games that may be downloaded from a selected gaming server 48 and played on the gaming unit 20 and/or a visual message to prompt the player to deposit value into the gaming unit 20 .
- the gaming unit 20 may wait for the player to make a game selection. The selection of a game may be made in conjunction with selecting a gaming server 48 where each gaming server 48 presents one or more of the games that may be downloaded and played.
- the selection of a gaming server 48 may also be read as a selection of a game.
- the controller 100 may cause one of a number of game routines to be downloaded and/or performed to allow the selected game to be played.
- the game routines could include a video poker routine 226 , a video blackjack routine 227 , a slots routine 228 , a video keno routine 229 , and a video bingo routine 228 .
- the operation may branch back to block 221 .
- block 231 may be utilized to determine whether the player wishes to terminate play on the gaming unit 20 or to select another game. If the player wishes to stop playing the gaming unit 20 , which wish may be expressed, for example, by selecting a “Cash Out” button, the controller 100 may dispense value to the player at block 232 based on the outcome of the game(s) played by the player. The operation may then return to block 221 . If the player did not wish to quit as determined at block 231 , the routine may return to block 225 where the game-selection display may again be generated to allow the player to select another game, which may include selecting a new gaming server 48 and downloading a new game.
- the gaming unit 20 may also be programmed to allow play of different games.
- FIG. 15 is a flowchart of an alternative main operating routine 300 that may be stored in the memory of the controller 100 .
- the main routine 300 may be utilized for gaming units 20 that are designed to allow play of only a single game or single type of game.
- the main routine 300 may begin operation at block 302 during which an attraction sequence may be performed in an attempt to induce a potential player in a casino to play the gaming unit 20 .
- the attraction sequence may be performed by displaying one or more video images on the display unit 70 (if provided as a video display unit) and/or causing one or more sound segments, such as voice or music, to be generated via the speakers 62 .
- the attraction sequence may be terminated and the gaming unit 20 may prepare to connect to a gaming server 48 and download software, such as a game or game update, from one of the gaming servers 48 .
- the server selection operation at block 305 may involve connecting to a network 12 , 26 , 40 , selecting a network computer 22 , 32 , 46 , selecting a master gaming server 28 , 26 , and/or selecting a gaming server 48 , though some or all of these operations may be performed prior to the player making an input to the gaming unit 20 as determined at block 304 or when a player is not present at the gaming unit 20 .
- the player may be presented with a display of the various gaming servers 48 and their available software, such as game routines, file size, estimated transfer time, etc., as referred to above.
- the player may select a particular gaming server 48 and/or gaming routine which may then be downloaded from the gaming server 48 .
- a game display may be generated on the display unit 70 (if provided as a video display unit) at block 306 .
- the game display generated at block 306 may include, for example, an image of the casino game that may be downloaded (or has been downloaded) and played on the gaming unit 20 and/or a visual message to prompt the player to deposit value into the gaming unit 20 .
- the gaming unit 20 may determine if the player requested information concerning the game, in which case the requested information may be displayed at block 310 .
- Block 312 may be used to determine if the player requested initiation of a game, in which case a game routine 320 may be downloaded and/or performed.
- the game routine 320 could be any one of the game routines disclosed herein, such as one of the five game routines 226 , 227 , 228 , 229 , 228 , or another game routine.
- block 322 may be utilized to determine whether the player wishes to terminate play on the gaming unit 20 . If the player wishes to stop playing the gaming unit 20 , which wish may be expressed, for example, by selecting a “Cash Out” button, the controller 100 may dispense value to the player at block 324 based on the outcome of the game(s) played by the player. The operation may include terminating the connection to the network 12 , 26 , 40 and may then return to block 302 . If the player did not wish to quit as determined at block 322 , the operation may return to block 308 .
- the display unit 70 may comprise a video display unit.
- FIG. 16 is an exemplary display 350 that may be shown on the display unit 70 during performance of the video poker routine 226 shown schematically in FIG. 14 .
- the display 350 may include video images 352 of a plurality of playing cards representing the player's hand, such as five cards.
- a plurality of player-selectable buttons may be displayed.
- the buttons may include a “Hold” button 354 disposed directly below each of the playing card images 352 , a “Cash Out” button 356 , a “See Pays” button 358 , a “Bet One Credit” button 360 , a “Bet Max Credits” button 362 , and a “Deal/Draw” button 364 .
- the display 350 may also include an area 366 in which the number of remaining credits or value is displayed. If the display unit 70 is provided with a touch-sensitive screen, the buttons 354 , 356 , 358 , 360 , 362 , 364 may form part of the video display 350 . Alternatively, one or more of those buttons may be provided as part of a control panel that is provided separately from the display unit 70 .
- FIG. 18 is a flowchart of the video poker routine 226 shown schematically in FIG. 14 .
- the routine may determine whether the player has requested payout information, such as by activating the “See Pays” button 358 , in which case at block 372 the routine may cause one or more pay tables to be displayed on the display unit 70 .
- the routine may determine whether the player has made a bet, such as by pressing the “Bet One Credit” button 360 , in which case at block 376 bet data corresponding to the bet made by the player may be stored in the memory of the controller 100 .
- the routine may determine whether the player has pressed the “Bet Max Credits” button 362 , in which case at block 380 bet data corresponding to the maximum allowable bet may be stored in the memory of the controller 100 .
- the routine may determine if the player desires a new hand to be dealt, which may be determined by detecting if the “Deal/Draw” button 364 was activated after a wager was made. In that case, at block 384 a video poker hand may be “dealt” by causing the display unit 70 to generate the playing card images 352 . After the hand is dealt, at block 386 the routine may determine if any of the “Hold” buttons 354 have been activated by the player, in which case data regarding which of the playing card images 352 are to be “held” may be stored in the controller 100 at block 388 .
- each of the playing card images 352 that was not “held” may be caused to disappear from the video display 350 and to be replaced by a new, randomly selected, playing card image 352 at block 392 .
- the routine may determine whether the poker hand represented may be made by comparing data representing the currently displayed poker hand with data representing all possible winning hands, which may be stored in the memory of the controller 100 . If there is a winning hand, a payout value corresponding to the winning hand may be determined at block 396 .
- the player's cumulative value or number of credits may be updated by subtracting the bet made by the player and adding, if the hand was a winner, the payout value determined at block 396 . The cumulative value or number of credits may also be displayed in the display area 366 ( FIG. 16 ).
- the video poker routine 226 is described above in connection with a single poker hand of five cards, the routine 226 may be modified to allow other versions of poker to be played. For example, seven card poker may be played, or stud poker may be played. Alternatively, multiple poker hands may be simultaneously played. In that case, the game may begin by dealing a single poker-hand, and the player may be allowed to hold certain cards. After deciding which cards to hold, the held cards may be duplicated in a plurality of different poker hands, with the remaining cards for each of those poker hands being randomly determined.
- the display unit 70 may comprise a video display unit.
- FIG. 17 is an exemplary display 400 that may be shown on the display unit 70 during performance of the video blackjack routine 227 shown schematically in FIG. 14 .
- the display 400 may include video images 402 of a pair of playing cards representing a dealer's hand, with one of the cards shown face up and the other card being shown face down, and video images 404 of a pair of playing cards representing a player's hand, with both the cards shown face up.
- the “dealer” may be the gaming unit 20 .
- a plurality of player-selectable buttons may be displayed.
- the buttons may include a “Cash Out” button 406 , a “See Pays” button 408 , a “Stay” button 410 , a “Hit” button 412 , a “Bet One Credit” button 414 , and a “Bet Max Credits” button 416 .
- the display 400 may also include an area 418 in which the number of remaining credits or value is displayed. If the display unit 70 is provided with a touch-sensitive screen, the buttons 406 , 408 , 410 , 412 , 414 , 416 may form part of the video display 400 . Alternatively, one or more of those buttons may be provided as part of a control panel that is provided separately from the display unit 70 .
- FIG. 19 is a flowchart of the video blackjack routine 227 shown schematically in FIG. 14 .
- the video blackjack routine 227 may begin at block 420 where it may determine whether a bet has been made by the player. That may be determined, for example, by detecting the activation of either the “Bet One Credit” button 414 or the “Bet Max Credits” button 416 .
- bet data corresponding to the bet made at block 420 may be stored in the memory of the controller 100 .
- a dealer's hand and a player's hand may be “dealt” by making the playing card images 402 , 404 appear on the display unit 70 .
- the player may be allowed to be “hit,” in which case at block 428 another card will be dealt to the player's hand by making another playing card image 404 appear in the display 400 . If the player is hit, block 430 may determine if the player has “bust,” or exceeded 21. If the player has not bust, blocks 426 and 428 may be performed again to allow the player to be hit again.
- the routine may determine whether the dealer should be hit. Whether the dealer hits may be determined in accordance with predetermined rules, such as the dealer always hit if the dealer's hand totals 15 or less. If the dealer hits, at block 434 the dealer's hand may be dealt another card by making another playing card image 402 appear in the display 400 . At block 436 the routine may determine whether the dealer has bust. If the dealer has not bust, blocks 432 , 434 may be performed again to allow the dealer to be hit again.
- the outcome of the blackjack game and a corresponding payout may be determined based on, for example, whether the player or the dealer has the higher hand that does not exceed 21. If the player has a winning hand, a payout value corresponding to the winning hand may be determined at block 440 .
- the player's cumulative value or number of credits may be updated by subtracting the bet made by the player and adding, if the player won, the payout value determined at block 440 . The cumulative value or number of credits may also be displayed in the display area 418 ( FIG. 17 ).
- the display unit 70 may comprise a video display unit.
- FIG. 20 is an exemplary display 450 that may be shown on the display unit 70 during performance of the slots routine 228 shown schematically in FIG. 14 .
- the display 450 may include video images 452 of a plurality of slot machine reels, each of the reels having a plurality of reel symbols 454 associated therewith.
- the display 450 shows five reel images 452 , each of which may have three reel symbols 454 that are visible at a time, other reel configurations could be utilized.
- buttons may be displayed.
- the buttons may include a “Cash Out” button 456 , a “See Pays” button 458 , a plurality of payline-selection buttons 460 each of which allows the player to select a different number of paylines prior to “spinning” the reels, a plurality of bet-selection buttons 462 each of which allows a player to specify a wager amount for each payline selected, a “Spin” button 464 , and a “Max Bet” button 466 to allow a player to make the maximum wager allowable.
- FIG. 22 is a flowchart of the slots routine 228 shown schematically in FIG. 20 .
- the routine may determine whether the player has requested payout information, such as by activating the “See Pays” button 458 , in which case at block 472 the routine may cause one or more pay tables to be displayed on the display unit 70 .
- the routine may determine whether the player has pressed one of the payline-selection buttons 460 , in which case at block 476 data corresponding to the number of paylines selected by the player may be stored in the memory of the controller 100 .
- the routine may determine whether the player has pressed one of the bet-selection buttons 462 , in which case at block 480 data corresponding to the amount bet per payline may be stored in the memory of the controller 100 .
- the routine may determine whether the player has pressed the “Max Bet” button 466 , in which case at block 484 bet data (which may include both payline data and bet-per-payline data) corresponding to the maximum allowable bet may be stored in the memory of the controller 100 .
- the routine may cause the slot machine reel images 452 to begin “spinning” so as to simulate the appearance of a plurality of spinning mechanical slot machine reels.
- the routine may determine the positions at which the slot machine reel images will stop, or the particular symbol images 454 that will be displayed when the reel images 452 stop spinning.
- the routine may stop the reel images 452 from spinning by displaying stationary reel images 452 and images of three symbols 454 for each stopped reel image 452 .
- the virtual reels may be stopped from left to right, from the perspective of the player, or in any other manner or sequence.
- the routine may provide for the possibility of a bonus game or round if certain conditions are met, such as the display in the stopped reel images 452 of a particular symbol 454 . If there is such a bonus condition as determined at block 494 , the routine may proceed to block 496 where a bonus round may be played. The bonus round may be a different game than slots, and many other types of bonus games could be provided. If the player wins the bonus round, or receives additional credits or points in the bonus round, a bonus value may be determined at block 498 . A payout value corresponding to outcome of the slots game and/or the bonus round may be determined at block 500 . At block 502 , the player's cumulative value or number of credits may be updated by subtracting the bet made by the player and adding, if the slot game and/or bonus round was a winner, the payout value determined at block 500 .
- the display unit 70 may comprise a video display unit.
- FIG. 21 is an exemplary display 520 that may be shown on the display unit 70 during performance of the video keno routine 229 shown schematically in FIG. 14 .
- the display 520 may include a video image 522 of a plurality of numbers that were selected by the player prior to the start of a keno game and a video image 524 of a plurality of numbers randomly selected during the keno game. The randomly selected numbers may be displayed in a grid pattern.
- buttons may include a “Cash Out” button 526 , a “See Pays” button 528 , a “Bet One Credit” button 530 , a “Bet Max Credits” button 532 , a “Select Ticket” button 534 , a “Select Number” button 536 , and a “Play” button 538 .
- the display 520 may also include an area 540 in which the number of remaining credits or value is displayed. If the display unit 70 is provided with a touch-sensitive screen, the buttons may form part of the video display 520 . Alternatively, one or more of those buttons may be provided as part of a control panel that is provided separately from the display unit 70 .
- FIG. 23 is a flowchart of the video keno routine 229 shown schematically in FIG. 14 .
- the keno routine 229 may be utilized in connection with a single gaming unit 20 where a single player is playing a keno game, or the keno routine 229 may be utilized in connection with multiple gaming units 20 where multiple players are playing a single keno game. In the latter case, one or more of the acts described below may be performed either by the controller 100 in each gaming unit, or by one of the network computers 22 , 32 to which multiple gaming units 20 are operatively connected.
- the routine may determine whether the player has requested payout information, such as by activating the “See Pays” button 528 , in which case at block 552 the routine may cause one or more pay tables to be displayed on the display unit 70 .
- the routine may determine whether the player has made a bet, such as by having pressed the “Bet One Credit” button 530 or the “Bet Max Credits” button 532 , in which case at block 556 bet data corresponding to the bet made by the player may be stored in the memory of the controller 100 .
- the player may select a keno ticket, and at block 560 the ticket may be displayed on the display 520 .
- the player may select one or more game numbers, which may be within a range set by the casino. After being selected, the player's game numbers may be stored in the memory of the controller 100 at block 564 and may be included in the image 522 on the display 520 at block 566 . After a certain amount of time, the keno game may be closed to additional players (where a number of players are playing a single keno game using multiple gambling units 20 ).
- a game number within a range set by the casino may be randomly selected either by the controller 100 or a central computer operatively connected to the controller, such as one of the network computers 22 , 32 .
- the randomly selected game number may be displayed on the display unit 70 and the display units 70 of other gaming units 20 (if any) which are involved in the same keno game.
- the controller 100 (or the central computer noted above) may increment a count which keeps track of how many game numbers have been selected at block 570 .
- the controller 100 may determine whether a maximum number of game numbers within the range have been randomly selected. If not, another game number may be randomly selected at block 570 . If the maximum number of game numbers has been selected, at block 578 the controller 100 (or a central computer) may determine whether there are a sufficient number of matches between the game numbers selected by the player and the game numbers selected at block 570 to cause the player to win. The number of matches may depend on how many numbers the player selected and the particular keno rules being used.
- a payout may be determined at block 580 to compensate the player for winning the game.
- the payout may depend on the number of matches between the game numbers selected by the player and the game numbers randomly selected at block 570 .
- the player's cumulative value or number of credits may be updated by subtracting the bet made by the player and adding, if the keno game was won, the payout value determined at block 580 .
- the cumulative value or number of credits may also be displayed in the display area 540 ( FIG. 21 ).
- the display unit 70 may comprise a video display unit.
- FIG. 24 is an exemplary display 600 that may be shown on the display unit 70 during performance of the video bingo routine 228 shown schematically in FIG. 14 .
- the display 600 may include one or more video images 602 of a bingo card and images of the bingo numbers selected during the game.
- the bingo card images 602 may have a grid pattern.
- buttons may include a “Cash Out” button 604 , a “See Pays” button 606 , a “Bet One Credit” button 608 , a “Bet Max Credits” button 610 , a “Select Card” button 612 , and a “Play” button 614 .
- the display 600 may also include an area 616 in which the number of remaining credits or value is displayed. If the display unit 70 is provided with a touch-sensitive screen, the buttons may form part of the video display 600 . Alternatively, one or more of those buttons may be provided as part of a control panel that is provided separately from the display unit 70 .
- FIG. 25 is a flowchart of the video bingo routine 228 shown schematically in FIG. 14 .
- the bingo routine 228 may be utilized in connection with a single gaming unit 20 where a single player is playing a bingo game, or the bingo routine 228 may be utilized in connection with multiple gaming units 20 where multiple players are playing a single bingo game. In the latter case, one or more of the acts described below may be performed either by the controller 100 in each gaming unit 20 or by one of the network computers 22 , 32 to which multiple gaming units 20 are operatively connected.
- the routine may determine whether the player has requested payout information, such as by activating the “See Pays” button 606 , in which case at block 622 the routine may cause one or more pay tables to be displayed on the display unit 70 .
- the routine may determine whether the player has made a bet, such as by having pressed the “Bet One Credit” button 608 or the “Bet Max Credits” button 610 , in which case at block 626 bet data corresponding to the bet made by the player may be stored in the memory of the controller 100 .
- the player may select a bingo card, which may be generated randomly. The player may select more than one bingo card, and there may be a maximum number of bingo cards that a player may select.
- a bingo number may be randomly generated by the controller 100 or a central computer such as one of the network computers 22 , 32 .
- the bingo number may be displayed on the display unit 70 and the display units 70 of any other gaming units 20 involved in the bingo game.
- the controller 100 may determine whether any player has won the bingo game. If no player has won, another bingo number may be randomly selected at block 634 . If any player has bingo as determined at block 638 , the routine may determine at block 640 whether the player playing that gaming unit 20 was the winner. If so, at block 642 a payout for the player may be determined. The payout may depend on the number of random numbers that were drawn before there was a winner, the total number of winners (if there was more than one player), and the amount of money that was wagered on the game.
- the player's cumulative value or number of credits may be updated by subtracting the bet made by the player and adding, if the bingo game was won, the payout value determined at block 642 .
- the cumulative value or number of credits may also be displayed in the display area 616 ( FIG. 24 ).
Abstract
A gaming apparatus may comprise a display unit, a value input device, and a controller operatively coupled to the display unit and the value input device. The gaming apparatus may be disposed in a casino. The controller may comprise a processor and a memory, and may be programmed to receive data representing server information regarding casino gaming servers, to organize the casino gaming servers according to the server information data, to select a casino gaming server according to the organization of the casino gaming servers or the server information data, to receive gaming data from the selected casino gaming server, and to determine a value payout associated with an outcome of a game.
Description
- This patent is directed to a casino gaming apparatus, which could be either an individual gaming unit or a casino gaming system having a plurality of gaming units, each gaming unit capable of finding and selecting a gaming server for downloading gaming data.
- Conventional casino gaming units often received gaming data, such as configuration data, game updates and gaming routines using an offline system such as reading the gaming data from a magnetic or optical disc, or required mechanical alteration to facilitate new configurations, games, etc. While the gaming units were sometimes connected to a network, the gaming units played only the games that were stored in the memory of the gaming unit. Some gaming units could initiate interactive gameplay with other gaming units on the network. The gaming unit allowed a player to wager on, control and view a game stored on a memory of that particular gaming unit.
- U.S. patent application Ser. No. 09/586,522 entitled “Downloadable Software,” which was filed on Jun. 2, 1999, generally describes a gaming machine network that allows a central system to accept a copy of a software upgrade. The software upgrade may be simultaneously downloaded to a plurality of networked devices, without having to mechanically alter each device receiving the upgrade.
- U.S. Patent Publication No. 2003/0064771 A1 described a network connecting a plurality of gaming machines to a central computer. The video screen content of the gaming machines was reconfigurable. Video screen content was downloaded over the network, allowing games, pay tables and artwork to be changed.
- In one aspect, the invention is directed to a gaming system that may comprise a master gaming server, a gaming apparatus disposed in a casino, and a plurality of gaming servers interconnected with the gaming apparatus and the master gaming server. The gaming apparatus may comprise a display unit, a value input device and a gaming apparatus controller comprising a processor and a memory operatively coupled to said processor. The display unit may be capable of generating video images.
- The gaming apparatus controller may be programmed to receive gaming server identification data from the master gaming server. The gaming server identification data may represent the identity of each gaming server. The gaming apparatus controller may also be programmed to communicate a network message to gaming server. The network message may comprise a type identifier and data unique to the network message. The gaming apparatus controller may further be programmed to receive a response to the network message from one or more of the gaming servers, determine server information data regarding each of the responding gaming servers based on the response, select a gaming server according to the server information data, communicate a selection message to the selected gaming server, and receive gaming data from the selected gaming server in response to said selection message. The gaming apparatus controller may also be programmed to cause a video image to be generated on the display unit. The video image may represent a game, and the controller may be programmed to determine a value payout associated with an outcome of the game. The gaming apparatus controller may be programmed to receive server information data from said master gaming server. The server information data determined at least in part from the response may comprise a data transfer rate, responsiveness, identification or load.
- The gaming apparatus controller may be programmed to record a first time when each network message is communicated to each of the gaming servers, record a second time when each of the responses is received, and determine the server information data based on the first and second times.
- Each gaming server may comprise a gaming server controller comprising a processor and a memory operatively coupled to the processor. The gaming server controller may be programmed to receive the network message from the gaming apparatus controller, communicate a response to the network message to the gaming apparatus controller if the network message is received, receive a selection message from the gaming apparatus controller, and communicate the gaming data to the gaming apparatus controller if the gaming server controller receives the selection message.
- The gaming system may also comprise a network computer interconnected with the gaming apparatus, the master gaming server and the plurality of gaming servers. The gaming apparatus controller may be programmed to request a network identification from the network computer using data identifying the gaming apparatus, and receive a network identification from the network computer if the gaming apparatus identification is valid. The gaming server controller may be programmed to determine if the network identification is valid, and provide the gaming data if the network identification is valid.
- In another aspect, the invention is directed to gaming apparatus that may comprise a display unit, a value input device, and a controller operatively coupled to the display unit and the value input device. The apparatus may be disposed in a casino. The controller may comprise a processor and a memory, and may be programmed to receive data representing server information regarding casino gaming servers, to organize the casino gaming servers according to the server information data, to select a casino gaming server according to the organization of the casino gaming servers or the server information data, to receive gaming data from the selected casino gaming server, cause the display unit to generate a game display relating to poker, blackjack, slots, keno or bingo, and to determine a value payout associated with an outcome of a game. The display unit may comprise a video display unit capable of generating video images, and the controller may be programmed to cause a video image to be displayed. The display unit may also comprise a mechanical slot machine reel.
- The video image may represent one of the following games: video poker, video blackjack, video slots, video keno and video bingo, in which case the video image may comprise an image of at least five playing cards if the game comprises video poker; the video image may comprise an image of a plurality of simulated slot machine reels if the game comprises video slots; the video image may comprise an image of a plurality of playing cards if the game comprises video blackjack; the video image may comprise an image of a plurality of keno numbers if the game comprises video keno, and the video image may comprise an image of a bingo grid if the game comprises video bingo.
- The controller may be programmed to cause the display unit to generate a display relating to one or more of the casino gaming servers and to allow a person to select one of the casino gaming servers. The display may also relate to server information data for each of the casino gaming servers. The controller may also be programmed to automatically select a casino gaming server based on the server information data. The server information data may comprise a data transfer rate, responsiveness, identification, load, geographic location, network subnet data, description, available gaming data and gaming data size. The controller may be programmed to discard a casino gaming server as an option for selection based on a threshold value relating to data transfer rate, responsiveness, load, geographic proximity, network subnet data, available gaming data and/or gaming data size. The controller may further be programmed to cause the display unit to generate the game display from the gaming data. The gaming data may relate to poker, blackjack, slots, keno, bingo, a new game, a software update and configuration data.
- Several gaming apparatuses may be interconnected to form a network of gaming apparatuses. A gaming system may comprise the network of gaming apparatuses, and may further comprise the plurality of casino gaming servers and a master gaming server. The controller may be programmed to communicate with the master gaming server. The gaming system may also comprise a network server. The controller may be programmed to provide the network server with a gaming apparatus identification and data to authenticate the gaming apparatus identification, to receive a network identification from the network server if the network server accepts the gaming apparatus identification and the authentication data, and to communicate with the master gaming server using the network identification. The controller may also be programmed to receive network server authentication data from the network server, determine if the network server authentication data is authentic, and accept the network identification if the network server authentication data is authentic. One of the gaming apparatuses may be a master gaming server, and the controller of that gaming apparatus may be programmed to provide a list of the casino gaming servers to the other gaming apparatuses. One of the gaming apparatuses may also be a casino gaming server, and the controller of that gaming apparatus may be programmed to provide gaming data to the other gaming apparatuses. The gaming apparatuses may be interconnected via the Internet.
- In a further aspect, the invention is directed to a gaming method for downloading gaming data from a casino gaming server to a gaming apparatus disposed in a casino. The method may comprise receiving data representing server information regarding casino gaming servers, organizing the casino gaming servers according to the server information data, selecting a casino gaming server according to the organization of the casino gaming servers or the server information data, receiving gaming data from the selected casino gaming server, causing a game display to be generated, and determining a value payout associated with an outcome of the game. The games may comprise poker, blackjack, slots, keno or bingo. The method may also comprise causing a display relating to the casino gaming servers to be generated, and allowing a person to select one of the casino gaming servers. Selecting a casino gaming server may be done automatically, and causing a game display to be generated may comprise displaying a game from the gaming data. Selecting a casino gaming server may be based on a data transfer rate, responsiveness, identification, load, geographic location, network subnet data, description, available gaming data and gaming data size.
- In yet another aspect, the invention is directed to a memory that may comprise a computer program that may be capable of being used in connection with a gaming apparatus disposed in a casino. The memory may comprise a memory portion physically configured in accordance with computer program instructions that may cause the gaming apparatus to receive data representing server information regarding casino gaming servers; a memory portion physically configured in accordance with computer program instructions that may cause the gaming apparatus to organize the plurality of casino gaming servers according to the server information, a memory portion physically configured in accordance with computer program instructions that may cause the gaming apparatus to select a casino gaming server according to the organization of the casino gaming servers or the server information data; a memory portion physically configured in accordance with computer program instructions that may cause the gaming apparatus to receive gaming data from the selected casino gaming server; a memory portion physically configured in accordance with computer program instructions that may cause the gaming apparatus to cause a game display representing a game to be generated; a memory portion physically configured in accordance with computer program instructions that may cause the gaming apparatus to determine a value payout associated with an outcome of the game. The game may be poker, blackjack, slots, keno or bingo.
- Additional aspects of the invention are defined by the claims of this patent.
-
FIG. 1 is a block diagram of an embodiment of a gaming system in accordance with the invention; -
FIG. 2 is a block diagram of an embodiment of a network shown schematically inFIG. 1 ; -
FIG. 3 is a perspective view of an embodiment of one of the gaming units shown schematically inFIG. 1 ; -
FIG. 3A illustrates an embodiment of a control panel for a gaming unit; -
FIG. 4 is a block diagram of the electronic components of the gaming unit ofFIG. 3 ; -
FIG. 5 is a flowchart of an embodiment of a network communication routine that may be performed during operation of one or more of the gaming units; -
FIG. 6 is a flowchart of an alternative embodiment of a network communication routine that may be performed during operation of one or more of the gaming units; -
FIG. 7 is a flowchart of an embodiment of an authentication routine that may be performed during operation of one or more of the network computers; -
FIG. 8 is a flowchart of an embodiment of a master gaming server communication routine that may be performed during operation of one or more of the gaming units; -
FIG. 9 is a flowchart of an embodiment of a gaming server communication routine that may be performed during operation of one or more of the gaming units; -
FIG. 10 is a flowchart of an alternative embodiment of a gaming server communication routine that may be performed during operation of one or more of the gaming units; -
FIG. 11 is an illustration of an embodiment of a visual display that may be displayed during performance of the gaming server communication routine ofFIG. 10 ; -
FIG. 12 is a flowchart of an embodiment of a status check routine that may be performed during operation of one or more of the gaming units; -
FIG. 13 is a flowchart of an embodiment of a main routine that may be performed during operation of one or more of the gaming servers; -
FIG. 14 is a flowchart of an embodiment of a main routine that may be performed during operation of one or more of the gaming units; -
FIG. 15 is a flowchart of an alternative embodiment of a main routine that may be performed during operation of one or more of the gaming units; -
FIG. 16 is an illustration of an embodiment of a visual display that may be displayed during performance of the video poker routine ofFIG. 18 ; -
FIG. 17 is an illustration of an embodiment of a visual display that may be displayed during performance of the video blackjack routine ofFIG. 19 ; -
FIG. 18 is a flowchart of an embodiment of a video poker routine that may be performed by one or more of the gaming units; -
FIG. 19 is a flowchart of an embodiment of a video blackjack routine that may be performed by one or more of the gaming units; -
FIG. 20 is an illustration of an embodiment of a visual display that may be displayed during performance of the slots routine ofFIG. 22 ; -
FIG. 21 is an illustration of an embodiment of a visual display that may be displayed during performance of the video keno routine ofFIG. 23 ; -
FIG. 22 is a flowchart of an embodiment of a slots routine that may be performed by one or more of the gaming units; -
FIG. 23 is a flowchart of an embodiment of a video keno routine that may be performed by one or more of the gaming units; -
FIG. 24 is an illustration of an embodiment of a visual display that may be displayed during performance of the video bingo routine ofFIG. 25 ; and -
FIG. 25 is a flowchart of an embodiment of a video bingo routine that may be performed by one or more of the gaming units. - Although the following text sets forth a detailed description of numerous different embodiments of the invention, it should be understood that the legal scope of the invention is defined by the words of the claims set forth at the end of this patent. The detailed description is to be construed as exemplary only and does not describe every possible embodiment of the invention since describing every possible embodiment would be impractical, if not impossible. Numerous alternative embodiments could be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims defining the invention.
- It should also be understood that, unless a term is expressly defined in this patent using the sentence “As used herein, the term ‘______’ is hereby defined to mean . . . ” or a similar sentence, there is no intent to limit the meaning of that term, either expressly or by implication, beyond its plain or ordinary meaning, and such term should not be interpreted to be limited in scope based on any statement made in any section of this patent (other than the language of the claims). To the extent that any term recited in the claims at the end of this patent is referred to in this patent in a manner consistent with a single meaning, that is done for sake of clarity only so as to not confuse the reader, and it is not intended that such claim term be limited, by implication or otherwise, to that single meaning. Finally, unless a claim element is defined by reciting the word “means” and a function without the recital of any structure, it is not intended that the scope of any claim element be interpreted based on the application of 35 U.S.C. §112, sixth paragraph.
-
FIG. 1 illustrates one possible embodiment of acasino gaming system 10 in accordance with the invention. Referring toFIG. 1 , thecasino gaming system 10 may include a first group ornetwork 12 ofcasino gaming units 20 operatively coupled to anetwork computer 22 and amaster gaming server 28 via a network data link orbus 24. Thecasino gaming system 10 may include a second group ornetwork 26 ofcasino gaming units 30 and amaster gaming server 36 operatively coupled to anetwork computer 32 via a network data link orbus 34. The first andsecond gaming networks network 40, which may comprise, for example, the Internet, a wide area network (WAN), or a local area network (LAN) via afirst network link 42 and asecond network link 44. In one example, the first andsecond networks network 40 may be network subnets of a larger network. - The
first network 12 ofgaming units 20 may be provided in a first casino, and thesecond network 26 ofgaming units 30 may be provided in a second casino located in a separate geographic location than the first casino. For example, the two casinos may be located in different areas of the same city, or they may be located in different states. - The
network computer 22 may be a server computer and may be used to accumulate and analyze data relating to the operation of thegaming units 20. For example, thenetwork computer 22 may continuously receive data from each of thegaming units 20 indicative of the dollar amount and number of wagers being made on each of thegaming units 20, data indicative of how much each of thegaming units 20 is paying out in winnings, data regarding the identity and gaming habits of players playing each of thegaming units 20, etc. - The
network computer 22 may further be used to provide agaming unit 20 with a unique network identification for network communication, configure thegaming unit 20 for network communication and provide thegaming unit 20 with information about thenetworks other gaming units 20, themaster gaming server 28, etc. The unique network identification may be an Internet Protocol (IP) address, Intranet address, or any other form of identification to uniquely designate agaming unit 20 from amongother gaming units network 12. The unique network identification may be provided when thegaming unit 20 connects to thenetwork 12 to communicate with other devices on the network, or a device on anothernetwork network computer 32 may be a server computer and may be used to perform the same or different functions in relation to thegaming units 30 as thenetwork computer 22 described above. In some cases, thenetwork computers gaming units network computer 32 may provide an IP address to agaming unit 20 on thefirst network 12, and thenetwork computer 22 may provide an IP address to agaming unit 30 on thesecond network 26. - The
master gaming servers gaming unit network 40, including gaming servers (not shown) that may be on the first andsecond networks master gaming server 28 and thenetwork computer 22 may be embodied in the same hardware. In another example, agaming unit master gaming server master gaming server gaming unit gaming units gaming units 20, but not gaming units 30), etc. Eachmaster gaming server gaming units gaming units master gaming server - Although each
network network computer master gaming server gaming units network 12 may include a plurality ofnetwork computers 22, a plurality ofmaster gaming servers 28 and tens or hundreds ofgaming units 20, all of which may be interconnected via thedata link 24. The data link 24 may be provided as a dedicated hardwired link or a wireless link. Although thedata link 24 is shown as asingle data link 24, thedata link 24 may comprise multiple data links. -
FIG. 2 illustrates one possible embodiment of anetwork 40 operatively coupled to the first andsecond networks data links network 40 may include a plurality ofnetwork computers 46 and casinogaming server computers 48, each of which may be operatively interconnected via data links or busses 47, 49. Where thenetwork 40 comprises the Internet, data communication may take place over the network links 42, 44 via an Internet communication protocol such as Transmission Control Protocol/Internet Protocol (TCP/IP). Thenetwork 40 may further include one or more master gaming servers (not shown) similar to those described above. Thenetwork computers 46 may be similar to thenetwork computers network computers 46 may be server computers and may be used to perform the same or different functions in relation to thegaming units network computers gaming units - The
gaming servers 48 may be server computers in a casino and may be used to provide thegaming units gaming unit gaming unit - Each
gaming server 48 may include acontroller 48 a that may comprise aprogram memory 48 b, a microcontroller or microprocessor (MP) 48 c, a random-access memory (RAM) 48 d and an input/output (I/O)circuit 48 e, all of which may be interconnected via an address/data bus 48 f. It should be appreciated that although only onemicroprocessor 48 c is shown, thecontroller 48 a may includemultiple microprocessors 48 c. Similarly, the memory of thecontroller 48 a may includemultiple RAMs 48 d andmultiple program memories 48 b. Although the I/O circuit 22 e is shown as a single block, it should be appreciated that the I/O circuit 22 e may include a number of different types of I/O circuits. The RAM(s) 48 d andprogram memories 48 b may be implemented as semiconductor memories, magnetically readable memories, and/or optically readable memories, for example. - Although the
program memory 48 b is shown inFIG. 2 as a read-only memory (ROM) 48 d, the program memory of thecontroller 48 a may be a read/write or alterable memory, such as a hard disk. In the event a hard disk is used as a program memory, the address/data bus 48 f shown schematically inFIG. 2 may comprise multiple address/data buses, which may be of different types, and there may be an I/O circuit disposed between the address/data buses. The I/O circuit 48 e may be coupled to thenetwork 40 via adata link 48 g. - In some cases, the
various gaming units gaming servers 48, or agaming server 48 may be included with agaming unit gaming units gaming unit gaming server 48 may share thesame controller 48 a. Thegaming servers 48 may further provide gaming server information to one or more of themaster gaming servers gaming server 48 periodically. Although only one of thegaming servers 48 is shown with thecontroller 48 a, each of the remaininggaming servers 48 may include similar components. - The
network computers 46,gaming server computers 48 and master gaming servers, if included, may be provided together in geographic proximity to each other or in separate geographic locations. Likewise, thenetwork 40, or portions thereof, may be located in proximate or separate geographic locations from the first andsecond networks network 40 is shown to include onenetwork computer 46 and threegaming servers 48, it should be understood that different numbers of computers and servers may be utilized. Various network designs may also be utilized. -
FIG. 3 is a perspective view of one possible embodiment of one or more of thegaming units 20. Although the following description addresses the design of thegaming units 20, it should be understood that thegaming units 30 may have the same design as thegaming units 20 described below. It should be understood that the design of one or more of thegaming units 20 may be different than the design ofother gaming units 20, and that the design of one or more of thegaming units 30 may be different than the design ofother gaming units 30. Eachgaming unit 20 may be any type of casino gaming unit and may have various different structures and methods of operation. For exemplary purposes, various designs of thegaming units 20 are described below, but it should be understood that numerous other designs may be utilized. - Referring to
FIG. 3 , thecasino gaming unit 20 may include a housing orcabinet 50 and one or more input devices, which may include a coin slot oracceptor 52, apaper currency acceptor 54, a ticket reader/printer 56 and acard reader 58, which may be used to input value to thegaming unit 20. A value input device may include any device that can accept value from a customer. As used herein, the term “value” may encompass gaming tokens, coins, paper currency, ticket vouchers, credit or debit cards, smart cards, and any other object representative of value. - If provided on the
gaming unit 20, the ticket reader/printer 56 may be used to read and/or print or otherwise encodeticket vouchers 60. Theticket vouchers 60 may be composed of paper or another printable or encodable material and may have one or more of the following informational items printed or encoded thereon: the casino name, the type of ticket voucher, a validation number, a bar code with control and/or security data, the date and time of issuance of the ticket voucher, redemption instructions and restrictions, a description of an award, and any other information that may be necessary or desirable. Different types ofticket vouchers 60 could be used, such as bonus ticket vouchers, cash-redemption ticket vouchers, casino chip ticket vouchers, extra game play ticket vouchers, merchandise ticket vouchers, restaurant ticket vouchers, show ticket vouchers, etc. Theticket vouchers 60 could be printed with an optically readable material such as ink, or data on theticket vouchers 60 could be magnetically encoded. The ticket reader/printer 56 may be provided with the ability to both read andprint ticket vouchers 60, or it may be provided with the ability to only read or only print or encodeticket vouchers 60. In the latter case, for example, some of thegaming units 20 may haveticket printers 56 that may be used to printticket vouchers 60, which could then be used by a player inother gaming units 20 that haveticket readers 56. - If provided, the
card reader 58 may include any type of card reading device, such as a magnetic card reader or an optical card reader, and may be used to read data from a card offered by a player, such as a credit card or a player tracking card. If provided for player tracking purposes, thecard reader 58 may be used to read data from, and/or write data to, player tracking cards that are capable of storing data representing the identity of a player, the identity of a casino, the player's gaming habits, etc. - The
gaming unit 20 may include one or moreaudio speakers 62, acoin payout tray 64, aninput control panel 66, and adisplay unit 70. Where thegaming unit 20 is designed to facilitate play of a video casino game, such as video poker or video slots, thedisplay unit 70 may be a color video display unit that displays images relating to the particular game or games. Where thegaming unit 20 is designed to facilitate play of a reel-type slot machine, thedisplay unit 70 may comprise a plurality of mechanical reels that are rotatable, with each of the reels having a plurality of reel images disposed thereon. Theaudio speakers 62 may generate audio representing sounds such as the noise of spinning slot machine reels, a dealer's voice, music, announcements or any other audio related to a casino game. Theinput control panel 66 may be provided with a plurality of pushbuttons or touch-sensitive areas that may be pressed by a player to select games, make wagers, make gaming decisions, etc. -
FIG. 3A illustrates one possible embodiment of thecontrol panel 66, which may be used where thegaming unit 20 is a slot machine having a plurality of mechanical or “virtual” reels. Referring toFIG. 3A , if thedisplay unit 70 is provided in the form of a video display unit, thecontrol panel 66 may include a “See Pays”button 72 that, when activated, causes thedisplay unit 70 to generate one or more display screens showing the odds or payout information for the game or games provided by thegaming unit 20. As used herein, the term “button” is intended to encompass any device that allows a player to make an input, such as an input device that must be depressed to make an input selection or a display area that a player may simply touch. Thecontrol panel 66 may include a “Cash Out”button 74 that may be activated when a player decides to terminate play on thegaming unit 20, in which case thegaming unit 20 may return value to the player, such as by returning a number of coins to the player via thepayout tray 64. - If the
gaming unit 20 provides a slots game having a plurality of reels and a plurality of paylines which define winning combinations of reel symbols, thecontrol panel 66 may be provided with a plurality ofselection buttons 76, each of which allows the player to select a different number of paylines prior to spinning the reels. For example, fivebuttons 76 may be provided, each of which may allow a player to select one, three, five, seven or nine paylines. - If the
gaming unit 20 provides a slots game having a plurality of reels, thecontrol panel 66 may be provided with a plurality ofselection buttons 78 each of which allows a player to specify a wager amount for each payline selected. For example, if the smallest wager accepted by thegaming unit 20 is a quarter ($0.25), thegaming unit 20 may be provided with fiveselection buttons 78, each of which may allow a player to select one, two, three, four or five quarters to wager for each payline selected. In that case, if a player were to activate the “5” button 76 (meaning that five paylines were to be played on the next spin of the reels) and then activate the “3” button 78 (meaning that three coins per payline were to be wagered), the total wager would be $3.75 (assuming the minimum bet was $0.25). - The
control panel 66 may include a “Max Bet”button 80 to allow a player to make the maximum wager allowable for a game. In the above example, where up to nine paylines were provided and up to five quarters could be wagered for each payline selected, the maximum wager would be 45 quarters, or $11.25. Thecontrol panel 66 may include aspin button 82 to allow the player to initiate spinning of the reels of a slots game after a wager has been made. - In
FIG. 3A , a rectangle is shown around thebuttons buttons housing 50 of thegaming unit 20 is required, and the term “control panel” may encompass a plurality or grouping of player activatable buttons. - Although one
possible control panel 66 is described above, it should be understood that different buttons could be utilized in thecontrol panel 66, and that the particular buttons used may depend on the game or games that could be played on thegaming unit 20. If thedisplay unit 70 is provided as a video display unit, thecontrol panel 66 could be generated by thedisplay unit 70. In that case, each of the buttons of thecontrol panel 66 could be a colored area generated by thedisplay unit 70, and some type of mechanism may be associated with thedisplay unit 70 to detect when each of the buttons was touched, such as a touch-sensitive screen. -
FIG. 4 is a block diagram of a number of components that may be incorporated in thegaming unit 20. Referring toFIG. 4 , thegaming unit 20 may include acontroller 100 that may comprise aprogram memory 102, a microcontroller or microprocessor (MP) 104, a random-access memory (RAM) 106 and an input/output (I/O)circuit 108, all of which may be interconnected via an address/data bus 110. It should be appreciated that although only onemicroprocessor 104 is shown, thecontroller 100 may includemultiple microprocessors 104. Similarly, the memory of thecontroller 100 may includemultiple RAMs 106 andmultiple program memories 102. Although the I/O circuit 108 is shown as a single block, it should be appreciated that the I/O circuit 108 may include a number of different types of I/O circuits. The RAM(s) 104 andprogram memories 102 may be implemented as semiconductor memories, magnetically readable memories, and/or optically readable memories, for example. - Although the
program memory 102 is shown inFIG. 4 as a read-only memory (ROM) 102, the program memory of thecontroller 100 may be a read/write or alterable memory, such as a hard disk. In the event a hard disk is used as a program memory, the address/data bus 110 shown schematically inFIG. 4 may comprise multiple address/data buses, which may be of different types, and there may be an I/O circuit disposed between the address/data buses. -
FIG. 4 illustrates that thecontrol panel 66, thecoin acceptor 52, thebill acceptor 54, thecard reader 58 and the ticket reader/printer 56 may be operatively coupled to the I/O circuit 108, each of those components being so coupled by either a unidirectional or bidirectional, single-line or multiple-line data link, which may depend on the design of the component that is used. The speaker(s) 62 may be operatively coupled to asound circuit 112, that may comprise a voice- and sound-synthesis circuit or that may comprise a driver circuit. The sound-generatingcircuit 112 may be coupled to the I/O circuit 108. The I/O circuit 108, in turn, may be coupled to thenetwork 12 via adata link 24. - As shown in
FIG. 4 , thecomponents O circuit 108 via a respective direct line or conductor. Different connection schemes could be used. For example, one or more of the components shown inFIG. 4 may be connected to the I/O circuit 108 via a common bus or other data link that is shared by a number of components. Furthermore, some of the components may be directly connected to themicroprocessor 104 without passing through the I/O circuit 108. -
FIG. 5 is a flowchart of anetwork communication routine 120 that may be stored in the memory of thecontroller 100. Thenetwork communication routine 120 may be performed whenever thegaming unit 20 is powered on or whenever it is desired to perform a software download such as during maintenance, reconfiguration of thegaming unit 20, software updates, prior to or during a main operating routine, etc. Referring toFIG. 5 , thenetwork communication routine 120 may begin operation atblock 121 during which anetwork computer 22 may be contacted by thegaming unit 20. In the present example, thegaming unit 20 may be dedicated to aparticular network computer 22, which may be thenetwork computer 22 on thesame network 12 as thegaming unit 20. Thegaming unit 20 may also be dedicated to anothernetwork computer network particular network computer 22, theparticular network computer 22 may always be contacted by thegaming unit 20. Thededicated network computer 22 may also be first contacted before attempting to contact anothernetwork computer - Upon making contact with the
network computer 22 atblock 121, thecontroller 100 may submit a gaming unit identification and a request for a network identification to thenetwork computer 22 atblock 122. The request may be made in accordance with network communication protocol stored in the memory of thecontroller 100, such as TCP/IP software. The gaming unit identification may be an identification unique to only thatparticular gaming unit 20. The gaming unit identification may take any form, such as a simple alphanumeric code, to a more detailed identification that includes authentication data, such as a description of the network or network subnet to which thegaming unit 20 belongs, the casino to which thegaming unit 20 belongs, a description of thegaming unit 20, the location of thegaming unit 20, or other authentication data generally considered unique to thegaming unit 20. In one example, the gaming unit identification may comprise or be accompanied with a passcode associated with theparticular gaming unit 20. Thenetwork computer 22 may compare the gaming unit identification to a list of gaming unit identifications of all thegaming units 20 that may contact thenetwork computer 22. The gaming unit identification may be additionally verified by comparing the authentication data to authentication data stored by thenetwork computer 22. The gaming unit identification may also be encrypted, and accepted by thenetwork computer 22 if the gaming unit identification is properly decrypted. The gaming unit identification, authentication data and the encryption may be used for security purposes to prevent unauthorized access to thenetwork 12. Additional security protocols as known to those of ordinary skill in the art may also be utilized. - If the gaming unit identification is valid and authentic, as determined at
block 123, thegaming unit network computer 22. The offer may indicate that the gaming unit identification is accepted. The offer may further include a network identification for thegaming unit 20. The network identification may be used by thegaming unit 20 to identify itself on thenetwork 12 and allow thegaming unit 20 to communicate with other devices on thenetwork 12 or onother networks network 22. For example, the network identification may be assigned according to dynamic host configuration protocol (DHCP), where thenetwork computer 22 may store a range of network identifications, such as IP addresses, corresponding to the number ofgaming units 20 or other devices that may connect to thenetwork 12 at any one time. The range may be set by a network administrator. - A network identification may be dynamically allocated by the
network computer 22 upon each request from agaming unit 20 with a valid and authentic gaming unit identification. The network identification assigned to thegaming unit 20 may be unique among other network identifications issued for communication on thenetwork 12, or the network identification may be unique from other network identifications issued among allnetworks network 12 to which thegaming unit 20 belongs, may be used for communication onadditional networks other gaming units 30 that may otherwise have the same network identification. In the latter case, asingle network computer 46 may assign a range of network identifications toseveral network computers gaming units various networks - If the
gaming unit 20 receives an offer, control may pass to block 124 where thecontroller 100 may receive and accept the network identification. If an offer is not received, control may pass back to block 121 where thecontroller 100 may attempt to contact thenetwork computer 22 again, attempt to contact anothernetwork computer network computer - Following the receipt and acceptance of the network identification at
block 124, information may be requested about thenetwork 12 from thenetwork computer 22. The request may include a request for the configuration of thenetwork 12,additional networks network 12, the identification of various devices connected to the network(s), etc. The request may specifically ask thenetwork computer 22 to identifymaster gaming servers networks block 126, thecontroller 100 may receive a response to the request for network information from thenetwork computer 12. Among the information supplied by thenetwork computer 12 may be information regarding the master server(s) 28, 36 that the gaming unit may contact. The routine may then terminate and turn control over to a master gaming server communication routine where thegaming unit 20 may contact and communication with amaster gaming server 28. -
FIG. 6 is a flowchart of an alternativenetwork communication routine 130 that may be stored in the memory of thecontroller 100. Thenetwork communication routine 130 may be utilized bygaming units 20 to select from amongmultiple network computers network communication routine 120 discussed above, thenetwork communication routine 130 may be performed at any time. Referring toFIG. 6 , thenetwork communication routine 130 may begin operation atblock 131 during which severaldifferent network computers networks network computers gaming unit 20 receives responses from allavailable network computers - As mentioned above, the gaming unit identification may be unique to the
gaming unit 20 and may include additional data for verification and authentication. Upon contacting each of thenetwork computers block 131, thecontroller 100 may receive offers from allavailable network computers block 132. Each offer may indicate that the gaming unit identification is accepted by thenetwork computer other gaming units 20 are requesting a network identification from that network computer), the network identification being offered, authentication data, network subnet data, etc. - At
block 133, each of the offers received atblock 132 may be analyzed. The analysis may be based on a variety of factors, including which network computer was the first to respond, which has the fastest transfer rate, which has the closest geographic location, which has the least amount of load, lease time, network subnet data, etc. One or more of these factors may be considered more important than the others and the results of the analysis may be based only on that factor(s). For example, the authentication data may be used to verify that thenetwork computer network computer network computer gaming unit 20 from even considering anetwork computer network computer 22 may the closest geographically, but if its network load is too high thegaming unit 20 may discard thenetwork computer 22 as an option despite its proximity. - After analyzing each of the offers at
block 133, one of thenetwork computers block 134 based on the analyses fromblock 133. This selection may be made automatically by thecontroller 100 based on the above analysis. Alternatively, a list of allavailable network computers display unit 70 to an operator who may then choose anetwork computer gaming unit 20, including a player, maintenance personnel, a casino attendant, etc. Though some examples may refer to a player, it should be understood by those of ordinary skill in the art that similar examples may be carried out by other persons. The list of theavailable network computers network computer network computer network computer - The selection of a
network computer 22 atblock 134 may include notifying thatnetwork computer 22 of its selection. The remainingnetwork computers network computer 22 to allother network computers network computers network computer network computer 22 in any form, including acceptance of the offered network identification, a request for network information, etc. - The
controller 100 may then receive the network identification from the chosennetwork computer 22, which may include network configuration, identification and information regarding various devices on the network, includingmaster gaming servers block 135, thenetwork communication routine 130 may terminate and turn control over to the master gaming server communication routine. -
FIG. 7 is anauthentication routine 140 referenced above withFIG. 5 andFIG. 6 that may be stored in a memory of anetwork computer authentication routine 140 may be utilized to authenticate and verify a gaming unit identification when a gaming unit is requesting a network identification. However, a similar process may be used by thenetwork computers master gaming servers gaming servers 48 when communicating with agaming unit 20 to verify and authenticate the network identification. Beginning atblock 141, anetwork computer 22 may receive a gaming unit identification from agaming unit 20, as sent atblocks FIG. 5 andFIG. 6 respectively. Thenetwork computer block 142 whether the gaming unit identification is valid and authentic. The determination may be done by comparing the gaming unit identification to a list stored in the memory of thenetwork computer 22, comparison of the authentication data to information known about thegaming unit 20, valid decryption of the information, or any other network security method. If the gaming unit identification is determined to be authentic atblock 142, control may pass to block 143 to send authentication data back to thegaming unit 20. Otherwise, thenetwork computer gaming unit 20 atblock 145. - If the gaming unit identification is valid and authentic as determined at
block 142, thenetwork computer gaming unit 20 atblock 143. In addition to sending the network identification, thenetwork computer gaming unit 20 may use this additional information to verify that it is communicating with thecorrect network computer network computer gaming unit 20 accepted the network identification atblock 144, which may be a specific acceptance from thegaming unit 20, a request for network information, etc. If the gaming unit accepted the network identification, thenetwork computer gaming unit 20 as discussed above. If thegaming unit 20 rejects the network identification or if thegaming unit 20 fails to respond within a predetermined amount of time, thenetwork computer gaming unit 20 atblock 145. -
FIG. 8 is a flowchart of a master gamingserver communication routine 150 that may be stored in the memory of thecontroller 100. While the following description describes themaster gaming server network master gaming server network computer network computer gaming unit 20 from communicating with othermaster gaming servers - Referring to
FIG. 8 , the masterserver communication routine 150 may begin operation atblock 151 where thegaming unit 20 may find availablemaster gaming servers network computers gaming unit 20 may be hard coded to search for a particularmaster gaming server 28. If the particularmaster gaming server 28 is unavailable, thegaming unit 20 may then turn to anothermaster gaming server 36, or disconnect from thenetwork 12. In the present example, thegaming unit 20 may review the network information provided by thenetwork computer blocks network communication routines master gaming servers master gaming servers gaming unit 20 may search the network(s) 12, 26, 40 for allmaster gaming servers master gaming server master gaming server - Once the
master gaming servers block 151, thegaming unit 20 may determine whether there is just onemaster gaming server master gaming servers block 152. If there is only onemaster gaming server 28, or if a particularmaster gaming server 28 is dedicated to thegaming unit 20, control may pass to block 155 and thegaming unit 20 may contact thatmaster gaming server 28. If there are multiplemaster gaming servers block 152, control may pass to block 153 where a list of themaster gaming servers display unit 70. The list ofmaster gaming servers network computers master gaming server master gaming server gaming unit 20 may omit or preclude the operator from selecting anymaster gaming servers display unit 70. - At
block 154, thegaming unit 20 may determine whether or not amaster gaming server block 154, control may pass to block 155 to contact the chosenmaster gaming server master gaming server block 154 may be done automatically by thecontroller 100 based on the available information about eachmaster gaming server - At
block 155, thegaming unit 20 may contact the chosenmaster gaming server 28 to indicate that it has been selected. As with the network computer selection above, this may be done by contacting just the selectedmaster gaming server 28 and letting the remainingmaster gaming servers 36 discontinue communication attempts after a predetermined time, indicating the selection to allmaster gaming servers master gaming servers 36. - Once the selected
master gaming server 28 has been contacted atblock 155, thegaming unit 20 may request a list of allavailable gaming servers 48 atblock 156. The list may further include allavailable gaming units other gaming units 20 and/or information regarding eachgaming server 48 including its network identification, description, geographic location, responsiveness, data transfer rate, available gaming data, restrictions on use, network subnet data, etc. When thegaming unit 20 receives the requested information regarding thegaming server 48, the routine may terminate and turn control over to the gaming server communication routine. -
FIG. 9 is a flowchart of a gamingserver communication routine 160 that may be stored in the memory of thecontroller 100. The gamingserver communication routine 160 may be performed once thegaming unit 20 has received a list of allavailable gaming servers 48. The list may be restricted only togaming servers 48 on particular networks, or the list may includegaming servers 48 on a variety of networks. The gamingserver communication routine 160 may begin atblock 161 where thegaming unit 20 may initiate a status check of eachgaming server 48. For example, using TCP/IP thegaming unit 20 may initiate a “ping” operation to test eachgaming server 48. Theping operation 161 may provide or be used to derive information relating to the data transfer rate, estimated transfer time for each data file, throughput, responsiveness, accessibility, availability and existence of eachgaming server 48. - Using the information gathered from the
ping operation 161, and further using information that may be provided by themaster gaming server gaming server 48, eachgaming server 48 may be analyzed atblock 162. However, it should be noted that much of the information from themaster gaming server gaming servers 48 which may be more current than what themaster gaming server 48 may provide. - The analysis at
block 162 may use any or all of the information as factors to analyze and organize (e.g., rank) eachgaming server 48 that has been contacted. For example, each of the factors may be assigned a numerical value, and thegaming servers 48 may be ranked according to the total sum of the factors, the average numerical value of all the factors, etc. Some factors may be considered more important than others and may therefore be weighted accordingly. For example, the data transfer rate may be considered more important than available gaming data. This may cause agaming server 48 having a greater selection of available gaming data but a low data transfer rate to be ranked lower than agaming server 48 having a smaller available gaming data selection but a high data transfer rate. The weighting may result in a total sum score for eachgaming server 48 or a weighted average for eachgaming server 48. Some factors may be of such importance that it is determinative of whether or not thegaming server 48 will be ranked at all. For example, if the pinging operation indicates that thegaming server 48 does not exist (e.g., thegaming server 48 was taken offline), then all other factors may be rendered moot. In another example, the rankings may simply be based on whichgaming server 48 responded first, which responded second, etc. - Following the analysis and organization at
block 162, agaming server 48 may be selected atblock 163 based on the analysis and rankings atblock 162. As indicated above, some factors may be more determinative than others. For example, even if the rankings first list agaming server 48 with a low data transfer rate, the routine 100 may refuse thatgaming server 48 in favor of one with a higher data transfer rate. The routine 100 may even use threshold tests to eliminateunsatisfactory gaming servers 48. The threshold test may be based on a minimum required value, such as a minimum data transfer rate, a minimum geographic proximity, a minimum responsiveness, a maximum allowable network or server load, maximum file sizes, etc. The threshold test may also be based on the available gaming data. For example, if agaming server 48 does not have video poker, video blackjack or video slots, then thegaming server 48 will not be selected. - Upon selecting a
gaming server 48 atblock 163, the gaming data may be downloaded to the memory of thecontroller 100 atblock 164. In some cases, the selectedgaming server 48 may provide various files of gaming data and an operator may be allowed to specifically select the data file. In other cases, such as with an update or reconfiguration, there may be only one data file of gaming data available to be downloaded. In the latter case, the gaming data may be downloaded automatically without further action by the operator. When the downloading operation is complete, thenetwork computer network network computer gaming unit 20 and no longer identify the network identification with thatgaming unit 20. Alternatively, thegaming unit 20 may remain communicatively coupled to thenetwork gaming server 48 forother gaming units -
FIG. 10 is a flowchart of an alternative gamingserver communication routine 170 that may be stored in the memory of thecontroller 100. The gamingserver communication routine 170 may be utilized bygaming units 20 to manually select agaming server 48 from amongmultiple gaming servers 48. As with the gamingserver communication routine 160 discussed above, the gamingserver communication routine 170 may be performed once thegaming unit 20 has received a list of allavailable gaming servers 48 from themaster gaming server FIG. 10 , the gamingserver communication routine 170 may begin operation atblock 171 during which the routine may initiate a status check of eachgaming server 48 using a ping operation or other suitable operation which may be dependent on the particular network communications protocol. Theping operation 161 may provide or be used to derive information about eachgaming server 48 such as its data transfer rate, the estimated download time for each data file, throughput, responsiveness, accessibility, existence, etc. The routine may also gather further information from eachgaming server 48 such as network identification, description, geographic location, gaming data, gaming data specifics (e.g., file size), associated network subnet data, etc. Some or all of this information may also be provided by themaster gaming server - The
gaming unit 20 may use the information fromblock 171 to analyze and organize (e.g., rank) eachgaming server 48 atblock 172. The analysis and rank may be based on some or all of the information mentioned above. The rankings may be based on a total sum score for eachgaming server 48 or an average score. Some factors may be weighted more heavily than others and some factors may be determinative of whether thegaming server 48 will be considered at all. Additionally, the routine may use threshold values to determine whether agaming server 48 will be considered. - When the
gaming servers 48 have been analyzed and organized atblock 172, they may be displayed on thedisplay unit 70 to the operator. The display atblock 173 may reflect the ranking of thegaming servers 48 fromblock 172. Additionally, the display may reflect the information that was taken into account when ranking thegaming servers 48. Not allgaming servers 48 may be represented in the display. For example, if Server C happens to be offline or fail to meet a threshold criteria, it may not be made available to the operator for selection. The display atblock 173 may be used by the operator to select one of thegaming servers 48. The display may also be dynamic to display various types of information about eachgaming server 48, data file, etc. at the operator's request. - When the
available gaming servers 48 have been displayed atblock 173, the routine may wait for a selection to be made by the operator atblock 174. The selection may be made using thecontrol panel 66 or by using a touch-sensitive screen if provided with thedisplay unit 70. The selection may relate to just agaming server 48 and/or a selection of a particular data file to download. For example, the operator may decide to download gaming data for poker from Server A. The operator's selection of poker from Server A may cause thegaming unit 20 to initiate downloading of the data file from Server A atblock 175. The selection of just agaming server 48 may cause the routine to prompt the player for a selection of a data file from thatgaming server 48. Alternatively, thegaming unit 20 may begin to download all available gaming data from the selectedgaming server 48. Once the downloading operation is completed atblock 175, thegaming unit 20 may terminate communications over thenetwork network gaming server 48 itself. -
FIG. 11 is anexemplary display 180 that may be shown on thedisplay unit 70 during performance of the gamingserver communication routine 170 shown schematically inFIG. 10 , and specifically during the display of thegaming servers 48 atblock 173. Referring toFIG. 11 , thedisplay 180 may include avideo image 181 of one ormore gaming servers 48 that are available for selection. In the present example, Server C has been left off the list either because it was not online or did not pass a threshold test. Thegaming servers 48 may be displayed according to the organization determined atblock 172. - To allow the operator to control the information displayed in the
video image 181, a plurality of operator-selectable buttons may be displayed. The buttons may include a “Rank Speed”button 182, a “Rank Location”button 183, a “More Info”button 184, a “Select”button 185 and a “Search” button 186. The “Rank Speed”button 182 may cause thevideo image 181 to rank thegaming servers 48 according to the data transfer rate. The “Rank Location”button 183 may cause thevideo image 181 to rank thegaming servers 48 according to their proximity. Various other information types may be provided in thevideo image 181 with corresponding buttons to vary the display of thegaming servers 48. For example, the network subnet of eachgaming server 48 may be displayed with a “Rank Subnet” button (not shown). Thegaming servers 48 may be ranked according to their associated network subnet which may be based on a variety of factors about the network subnet, including geographic proximity, speed, etc. The “More Info”button 184 may cause thegaming unit 20 to display various other types of information that may be selected and displayed regarding eachgaming server 48 in thevideo display 180. For example, information about a gaming server's network subnet may be displayed to allow the user the opportunity to choose agaming server 48 based on characteristics associated with its network subnet. The “Select”button 185 may be used to select aparticular gaming server 48 or data file. The “Search” button 186 may be used to search for only those servers that have a specific data file (e.g., poker), a minimum data transfer rate (e.g., over 60 kB/s), associated network subnet data, etc. If thedisplay unit 70 is provided with a touch-sensitive screen, the button may form part of thevideo display 180. Alternatively, one or more of those buttons may be provided as part of a control panel that is provided separately from thedisplay unit 70. -
FIG. 12 is a flowchart of aping operation routine FIG. 9 and inFIG. 10 . Theping operation routine gaming server 48, and may be performed for eachknown gaming server 48. Referring toFIG. 12 , atblock 190, the routine may construct a network message with a type identifier and a unique data. Using TCP/IP, the type identifier may indicate a “ping”. The unique data may be anything to uniquely identify the message and compare it against a response to the network message, for example, the network identification of thegaming server 48 being pinged. When the network message has been created atblock 190, the routine may send the network message to thedestined gaming server 48 atblock 191. The routine may record the time that the network message was sent and store the time in the memory of thecontroller 100. - At
block 192, the routine may wait a predetermined time for a response from thegaming server 48. After the predetermined time has passed, the routine may check to see if thegaming server 48 has sent a response to the network message and record the response time. If a response has been not been sent back within the predetermined time, as determined atblock 193, the routine may pass control to block 194 to indicate an error has occurred. The error indication atblock 194 may signal that either thegaming server 48 does not exist (e.g., it is offline) or thegaming server 48 is unavailable (e.g., high load). A response time or ping value may normally relate to the difference in time from when the network message was sent and the time it was received. If there is an error, the response time or ping value may be set to a unique value to indicate the specific type of error, and an error code may be set (e.g. Error Code=0) to indicate a failed ping operation. - If the
gaming server 48 has responded to the network message, as determined atblock 193, the routine may check to see if there were any network errors atblock 196. The network errors may be sent by thegaming server 48 itself, indicating it received only part of the network message, requesting a resend, etc. If network errors exist as determined atblock 196, control may pass to block 194 to indicate the error with the response time or ping value indicating the type of error and the error code indicating a failed ping operation. If there are no network errors, the routine may check to see that the response included the unique data sent in the network message atblock 197. If not, control may pass back to block 192 to continue waiting for the unique data, in case the entire response has not been received yet. If the response includes the unique data, the routine may determine information from the response atblock 198. For example, the routine may compute the difference between the time the entire message was received and the time the message was sent to calculate the response time or ping value. The response time or ping value may indicate the load of thegaming server 48, the responsiveness of thegaming server 48, the data transfer rate of thegaming server 48, etc. The error code may be set to indicate the ping was successful. The results may be provided toroutines - When the ping operation has been completed for each
gaming server 48, thegaming unit 20 may maintain a list of all thegaming servers 48 and their ping values. Thegaming unit 20 may also share the results with themaster gaming server master gaming server available gaming servers 48 based on the ping results. -
FIG. 13 is a flowchart of amain operating routine 200 that may be stored in a memory of thecontroller 48 a of thegaming server 48. The routine may be performed for eachgaming unit gaming server 48, and may be performed simultaneously while communicating withother gaming units FIG. 13 , themain operating routine 200 may begin operation atblock 201 during which thegaming server 48 may wait to receive a request from agaming unit gaming server 48. The request may include the network identification of thegaming unit gaming unit block 202, the wait sequence may be terminated and thegaming server 48 may prepare to verify the validity and authenticity of thegaming unit block 203, thegaming server 48 may receive the network identification of thegaming unit gaming unit network 40. The network identification may also be accompanied by the gaming unit identification and authentication data, and thegaming server 48 may use this information to further validate and authenticate thegaming unit authentication routine 140 described above. - If the network identification is not valid as determined at
block 204, thegaming server 48 may terminate its communication session with thegaming unit gaming server 48 may send a signal to thegaming unit block 205 to wait for a ping network, message from thegaming unit gaming server 48 may wait for a predetermined time and then determine if a ping network message has been received atblock 206. If a ping network message was not received, thegaming server 48 may assume that thegaming unit gaming unit gaming server 48 for some reason such as high network load, high server load, etc. - If a ping network message is received, the
gaming server 48 may provide thegaming unit block 207. The response may include the time the gaming server received the ping network message, the time the response was sent, the unique data sent with the ping network message, etc. With or subsequent to the response, thegaming server 48 may provide additional information such as the various types of gaming data stored in thememory 48 b that may be downloaded by thegaming unit gaming server 48, the load on thegaming server 48 or any other information about thegaming server 48. - Following the response at
block 207, thegaming server 48 may again wait for a signal from thegaming unit gaming server 48 was selected. If thegaming server 48 receives a signal that it was not selected, anothergaming server 48 was selected or if no signal is received after a predetermined time, thegaming server 48 may terminate communications with thegaming unit gaming unit gaming server 48 was selected for a downloading operation, thegaming server 48 may begin sending gaming data to thegaming unit block 209. Alternatively, thegaming server 48 may wait for another signal from thegaming unit - One manner in which one or more of the gaming units 20 (and one or more of the gaming units 30) may operate is described below in connection with a number of flowcharts which represent a number of portions or routines of one or more computer programs, which may be stored in one or more of the memories of the
controller 100. The computer program(s) or portions thereof may be stored remotely, outside of thegaming unit 20, and may control the operation of thegaming unit 20 from a remote location. Such remote control may be facilitated with the use of a wireless connection, or by an Internet interface that connects thegaming unit 20 with a remote computer (such as one of thenetwork computers 22, 32) having a memory in which the computer program portions are stored. The computer program portions may be written in any high level language such as C, C++, C#, Java or the like or any low-level assembly or machine language. By storing the computer program portions therein, various portions of thememories -
FIG. 14 is a flowchart of amain operating routine 220 that may be stored in the memory of thecontroller 100. Referring toFIG. 14 , the main routine 220 may begin operation atblock 221 during which an attraction sequence may be performed in an attempt to induce a potential player in a casino to play thegaming unit 20. The attraction sequence may be performed by displaying one or more video images on the display unit 70 (if provided as a video display unit) and/or causing one or more sound segments, such as voice or music, to be generated via thespeakers 62. The attraction sequence may include a scrolling list of games that may be played on thegaming unit 20 and/or video images of various games being played, such as video poker, video blackjack, video slots, video keno, video bingo, etc. - During performance of the attraction sequence, if a potential player makes any input to the
gaming unit 20 as determined atblock 222, the attraction sequence may be terminated and thegaming unit 20 may prepare to download software, such as a game or game update, from one of thegaming servers 48. Thegaming unit 20 may detect an input atblock 222 in various ways. For example, thegaming unit 20 could detect if the player presses any button on thegaming unit 20; thegaming unit 20 could determine if the player deposited one or more coins into thegaming unit 20; thegaming unit 20 could determine if the player deposited paper currency into the gaming unit; etc. - The server selection operation at
block 223 may involve any of the routines discussed above, including connecting to anetwork network computer master gaming server gaming server 48. Alternatively, the server selection operation atblock 223 may be performed prior to themain operating routine 220 or at other times when a player is not using thegaming unit 20. For example, connecting to thenetwork network computer master gaming server main operating routine 220, though selecting agaming server 48 may be performed atblock 223, which may be useful if there are various software downloads (e.g., games) to choose from onvarious gaming servers 48. The player may be presented with a display of theavailable gaming servers 48, including the available software downloads, file size, estimated transfer time, etc., as referred to above. Gaming data, such as game routines to be played on thegaming unit 20, may be presented to the player as a display atblock 224, although some of the game routines displayed atblock 224 may be stored locally in a memory of thecontroller 100 and do not need to be downloaded. - Once the server selection operation is completed at
block 223, a game-selection display may be generated on the display unit 70 (if provided as a video display unit) atblock 224 to allow the player to select, download and play a game on thegaming unit 20. The game-selection display generated atblock 224 may include, for example, a list of video games that may be downloaded from a selectedgaming server 48 and played on thegaming unit 20 and/or a visual message to prompt the player to deposit value into thegaming unit 20. While the game-selection display is generated, thegaming unit 20 may wait for the player to make a game selection. The selection of a game may be made in conjunction with selecting agaming server 48 where eachgaming server 48 presents one or more of the games that may be downloaded and played. The selection of agaming server 48 may also be read as a selection of a game. Upon selection of one of the games by the player as determined atblock 225, thecontroller 100 may cause one of a number of game routines to be downloaded and/or performed to allow the selected game to be played. For example, the game routines could include avideo poker routine 226, avideo blackjack routine 227, a slots routine 228, avideo keno routine 229, and avideo bingo routine 228. Atblock 225, if no game selection is made within a given period of time, the operation may branch back to block 221. - After one of the
routines gaming unit 20 or to select another game. If the player wishes to stop playing thegaming unit 20, which wish may be expressed, for example, by selecting a “Cash Out” button, thecontroller 100 may dispense value to the player atblock 232 based on the outcome of the game(s) played by the player. The operation may then return to block 221. If the player did not wish to quit as determined atblock 231, the routine may return to block 225 where the game-selection display may again be generated to allow the player to select another game, which may include selecting anew gaming server 48 and downloading a new game. - It should be noted that although five gaming routines are shown in
FIG. 4 , a different number of routines could be included to allow play of a different number of games. Thegaming unit 20 may also be programmed to allow play of different games. -
FIG. 15 is a flowchart of an alternativemain operating routine 300 that may be stored in the memory of thecontroller 100. The main routine 300 may be utilized forgaming units 20 that are designed to allow play of only a single game or single type of game. Referring toFIG. 15 , the main routine 300 may begin operation atblock 302 during which an attraction sequence may be performed in an attempt to induce a potential player in a casino to play thegaming unit 20. The attraction sequence may be performed by displaying one or more video images on the display unit 70 (if provided as a video display unit) and/or causing one or more sound segments, such as voice or music, to be generated via thespeakers 62. - During performance of the attraction sequence, if a potential player makes any input to the
gaming unit 20 as determined atblock 304, the attraction sequence may be terminated and thegaming unit 20 may prepare to connect to agaming server 48 and download software, such as a game or game update, from one of thegaming servers 48. The server selection operation atblock 305 may involve connecting to anetwork network computer master gaming server gaming server 48, though some or all of these operations may be performed prior to the player making an input to thegaming unit 20 as determined atblock 304 or when a player is not present at thegaming unit 20. The player may be presented with a display of thevarious gaming servers 48 and their available software, such as game routines, file size, estimated transfer time, etc., as referred to above. The player may select aparticular gaming server 48 and/or gaming routine which may then be downloaded from thegaming server 48. - Once the server selection operation is complete at
block 305, a game display may be generated on the display unit 70 (if provided as a video display unit) atblock 306. The game display generated atblock 306 may include, for example, an image of the casino game that may be downloaded (or has been downloaded) and played on thegaming unit 20 and/or a visual message to prompt the player to deposit value into thegaming unit 20. Atblock 308, thegaming unit 20 may determine if the player requested information concerning the game, in which case the requested information may be displayed atblock 310.Block 312 may be used to determine if the player requested initiation of a game, in which case agame routine 320 may be downloaded and/or performed. Thegame routine 320 could be any one of the game routines disclosed herein, such as one of the fivegame routines - After the routine 320 has been performed to allow the player to play the game, block 322 may be utilized to determine whether the player wishes to terminate play on the
gaming unit 20. If the player wishes to stop playing thegaming unit 20, which wish may be expressed, for example, by selecting a “Cash Out” button, thecontroller 100 may dispense value to the player atblock 324 based on the outcome of the game(s) played by the player. The operation may include terminating the connection to thenetwork block 322, the operation may return to block 308. - Where the
gaming unit 20 is designed to facilitate play of a video poker game, thedisplay unit 70 may comprise a video display unit.FIG. 16 is anexemplary display 350 that may be shown on thedisplay unit 70 during performance of thevideo poker routine 226 shown schematically inFIG. 14 . Referring toFIG. 16 , thedisplay 350 may includevideo images 352 of a plurality of playing cards representing the player's hand, such as five cards. To allow the player to control the play of the video poker game, a plurality of player-selectable buttons may be displayed. The buttons may include a “Hold”button 354 disposed directly below each of theplaying card images 352, a “Cash Out”button 356, a “See Pays”button 358, a “Bet One Credit”button 360, a “Bet Max Credits”button 362, and a “Deal/Draw”button 364. Thedisplay 350 may also include anarea 366 in which the number of remaining credits or value is displayed. If thedisplay unit 70 is provided with a touch-sensitive screen, thebuttons video display 350. Alternatively, one or more of those buttons may be provided as part of a control panel that is provided separately from thedisplay unit 70. -
FIG. 18 is a flowchart of thevideo poker routine 226 shown schematically inFIG. 14 . Referring toFIG. 18 , atblock 370, the routine may determine whether the player has requested payout information, such as by activating the “See Pays”button 358, in which case atblock 372 the routine may cause one or more pay tables to be displayed on thedisplay unit 70. Atblock 374, the routine may determine whether the player has made a bet, such as by pressing the “Bet One Credit”button 360, in which case atblock 376 bet data corresponding to the bet made by the player may be stored in the memory of thecontroller 100. Atblock 378, the routine may determine whether the player has pressed the “Bet Max Credits”button 362, in which case atblock 380 bet data corresponding to the maximum allowable bet may be stored in the memory of thecontroller 100. - At
block 382, the routine may determine if the player desires a new hand to be dealt, which may be determined by detecting if the “Deal/Draw”button 364 was activated after a wager was made. In that case, at block 384 a video poker hand may be “dealt” by causing thedisplay unit 70 to generate theplaying card images 352. After the hand is dealt, atblock 386 the routine may determine if any of the “Hold”buttons 354 have been activated by the player, in which case data regarding which of theplaying card images 352 are to be “held” may be stored in thecontroller 100 atblock 388. If the “Deal/Draw”button 364 is activated again as determined atblock 390, each of theplaying card images 352 that was not “held” may be caused to disappear from thevideo display 350 and to be replaced by a new, randomly selected, playingcard image 352 atblock 392. - At
block 394, the routine may determine whether the poker hand represented may be made by comparing data representing the currently displayed poker hand with data representing all possible winning hands, which may be stored in the memory of thecontroller 100. If there is a winning hand, a payout value corresponding to the winning hand may be determined atblock 396. Atblock 398, the player's cumulative value or number of credits may be updated by subtracting the bet made by the player and adding, if the hand was a winner, the payout value determined atblock 396. The cumulative value or number of credits may also be displayed in the display area 366 (FIG. 16 ). - Although the
video poker routine 226 is described above in connection with a single poker hand of five cards, the routine 226 may be modified to allow other versions of poker to be played. For example, seven card poker may be played, or stud poker may be played. Alternatively, multiple poker hands may be simultaneously played. In that case, the game may begin by dealing a single poker-hand, and the player may be allowed to hold certain cards. After deciding which cards to hold, the held cards may be duplicated in a plurality of different poker hands, with the remaining cards for each of those poker hands being randomly determined. - Where the
gaming unit 20 is designed to facilitate play of a video blackjack game, thedisplay unit 70 may comprise a video display unit.FIG. 17 is anexemplary display 400 that may be shown on thedisplay unit 70 during performance of thevideo blackjack routine 227 shown schematically inFIG. 14 . Referring toFIG. 17 , thedisplay 400 may includevideo images 402 of a pair of playing cards representing a dealer's hand, with one of the cards shown face up and the other card being shown face down, andvideo images 404 of a pair of playing cards representing a player's hand, with both the cards shown face up. The “dealer” may be thegaming unit 20. To allow the player to control the play of the video blackjack game, a plurality of player-selectable buttons may be displayed. The buttons may include a “Cash Out”button 406, a “See Pays”button 408, a “Stay”button 410, a “Hit”button 412, a “Bet One Credit”button 414, and a “Bet Max Credits”button 416. Thedisplay 400 may also include anarea 418 in which the number of remaining credits or value is displayed. If thedisplay unit 70 is provided with a touch-sensitive screen, thebuttons video display 400. Alternatively, one or more of those buttons may be provided as part of a control panel that is provided separately from thedisplay unit 70. -
FIG. 19 is a flowchart of thevideo blackjack routine 227 shown schematically inFIG. 14 . Referring toFIG. 19 , thevideo blackjack routine 227 may begin atblock 420 where it may determine whether a bet has been made by the player. That may be determined, for example, by detecting the activation of either the “Bet One Credit”button 414 or the “Bet Max Credits”button 416. Atblock 422, bet data corresponding to the bet made atblock 420 may be stored in the memory of thecontroller 100. Atblock 424, a dealer's hand and a player's hand may be “dealt” by making theplaying card images display unit 70. - At
block 426, the player may be allowed to be “hit,” in which case atblock 428 another card will be dealt to the player's hand by making anotherplaying card image 404 appear in thedisplay 400. If the player is hit, block 430 may determine if the player has “bust,” or exceeded 21. If the player has not bust, blocks 426 and 428 may be performed again to allow the player to be hit again. - If the player decides not to hit, at
block 432 the routine may determine whether the dealer should be hit. Whether the dealer hits may be determined in accordance with predetermined rules, such as the dealer always hit if the dealer's hand totals 15 or less. If the dealer hits, atblock 434 the dealer's hand may be dealt another card by making anotherplaying card image 402 appear in thedisplay 400. Atblock 436 the routine may determine whether the dealer has bust. If the dealer has not bust, blocks 432, 434 may be performed again to allow the dealer to be hit again. - If the dealer does not hit, at
block 436 the outcome of the blackjack game and a corresponding payout may be determined based on, for example, whether the player or the dealer has the higher hand that does not exceed 21. If the player has a winning hand, a payout value corresponding to the winning hand may be determined atblock 440. At block 442, the player's cumulative value or number of credits may be updated by subtracting the bet made by the player and adding, if the player won, the payout value determined atblock 440. The cumulative value or number of credits may also be displayed in the display area 418 (FIG. 17 ). - Where the
gaming unit 20 is designed to facilitate play of a video slots game, thedisplay unit 70 may comprise a video display unit.FIG. 20 is anexemplary display 450 that may be shown on thedisplay unit 70 during performance of the slots routine 228 shown schematically inFIG. 14 . Referring toFIG. 20 , thedisplay 450 may includevideo images 452 of a plurality of slot machine reels, each of the reels having a plurality ofreel symbols 454 associated therewith. Although thedisplay 450 shows fivereel images 452, each of which may have threereel symbols 454 that are visible at a time, other reel configurations could be utilized. - To allow the player to control the play of the slots game, a plurality of player-selectable buttons may be displayed. The buttons may include a “Cash Out”
button 456, a “See Pays”button 458, a plurality of payline-selection buttons 460 each of which allows the player to select a different number of paylines prior to “spinning” the reels, a plurality of bet-selection buttons 462 each of which allows a player to specify a wager amount for each payline selected, a “Spin” button 464, and a “Max Bet”button 466 to allow a player to make the maximum wager allowable. -
FIG. 22 is a flowchart of the slots routine 228 shown schematically inFIG. 20 . Referring toFIG. 22 , atblock 470, the routine may determine whether the player has requested payout information, such as by activating the “See Pays”button 458, in which case atblock 472 the routine may cause one or more pay tables to be displayed on thedisplay unit 70. Atblock 474, the routine may determine whether the player has pressed one of the payline-selection buttons 460, in which case atblock 476 data corresponding to the number of paylines selected by the player may be stored in the memory of thecontroller 100. Atblock 478, the routine may determine whether the player has pressed one of the bet-selection buttons 462, in which case atblock 480 data corresponding to the amount bet per payline may be stored in the memory of thecontroller 100. Atblock 482, the routine may determine whether the player has pressed the “Max Bet”button 466, in which case atblock 484 bet data (which may include both payline data and bet-per-payline data) corresponding to the maximum allowable bet may be stored in the memory of thecontroller 100. - If the “Spin” button 464 has been activated by the player as determined at
block 486, atblock 488 the routine may cause the slotmachine reel images 452 to begin “spinning” so as to simulate the appearance of a plurality of spinning mechanical slot machine reels. Atblock 490, the routine may determine the positions at which the slot machine reel images will stop, or theparticular symbol images 454 that will be displayed when thereel images 452 stop spinning. Atblock 492, the routine may stop thereel images 452 from spinning by displayingstationary reel images 452 and images of threesymbols 454 for each stoppedreel image 452. The virtual reels may be stopped from left to right, from the perspective of the player, or in any other manner or sequence. - The routine may provide for the possibility of a bonus game or round if certain conditions are met, such as the display in the stopped
reel images 452 of aparticular symbol 454. If there is such a bonus condition as determined atblock 494, the routine may proceed to block 496 where a bonus round may be played. The bonus round may be a different game than slots, and many other types of bonus games could be provided. If the player wins the bonus round, or receives additional credits or points in the bonus round, a bonus value may be determined atblock 498. A payout value corresponding to outcome of the slots game and/or the bonus round may be determined atblock 500. Atblock 502, the player's cumulative value or number of credits may be updated by subtracting the bet made by the player and adding, if the slot game and/or bonus round was a winner, the payout value determined atblock 500. - Although the above routine has been described as a virtual slot machine routine in which slot machine reels are represented as images on the
display unit 70, actual slot machine reels that are capable of being spun may be utilized instead, in which case thedisplay unit 70 could be provided in the form of a plurality of mechanical reels that are rotatable, each of the reels having a plurality of reel images disposed thereon. - Where the
gaming unit 20 is designed to facilitate play of a video keno game, thedisplay unit 70 may comprise a video display unit.FIG. 21 is anexemplary display 520 that may be shown on thedisplay unit 70 during performance of thevideo keno routine 229 shown schematically inFIG. 14 . Referring toFIG. 21 , thedisplay 520 may include a video image 522 of a plurality of numbers that were selected by the player prior to the start of a keno game and avideo image 524 of a plurality of numbers randomly selected during the keno game. The randomly selected numbers may be displayed in a grid pattern. - To allow the player to control the play of the keno game, a plurality of player-selectable buttons may be displayed. The buttons may include a “Cash Out”
button 526, a “See Pays”button 528, a “Bet One Credit”button 530, a “Bet Max Credits”button 532, a “Select Ticket”button 534, a “Select Number”button 536, and a “Play”button 538. Thedisplay 520 may also include anarea 540 in which the number of remaining credits or value is displayed. If thedisplay unit 70 is provided with a touch-sensitive screen, the buttons may form part of thevideo display 520. Alternatively, one or more of those buttons may be provided as part of a control panel that is provided separately from thedisplay unit 70. -
FIG. 23 is a flowchart of thevideo keno routine 229 shown schematically inFIG. 14 . Thekeno routine 229 may be utilized in connection with asingle gaming unit 20 where a single player is playing a keno game, or thekeno routine 229 may be utilized in connection withmultiple gaming units 20 where multiple players are playing a single keno game. In the latter case, one or more of the acts described below may be performed either by thecontroller 100 in each gaming unit, or by one of thenetwork computers multiple gaming units 20 are operatively connected. - Referring to
FIG. 23 , atblock 550, the routine may determine whether the player has requested payout information, such as by activating the “See Pays”button 528, in which case atblock 552 the routine may cause one or more pay tables to be displayed on thedisplay unit 70. Atblock 554, the routine may determine whether the player has made a bet, such as by having pressed the “Bet One Credit”button 530 or the “Bet Max Credits”button 532, in which case atblock 556 bet data corresponding to the bet made by the player may be stored in the memory of thecontroller 100. After the player has made a wager, atblock 558 the player may select a keno ticket, and atblock 560 the ticket may be displayed on thedisplay 520. Atblock 562, the player may select one or more game numbers, which may be within a range set by the casino. After being selected, the player's game numbers may be stored in the memory of thecontroller 100 atblock 564 and may be included in the image 522 on thedisplay 520 atblock 566. After a certain amount of time, the keno game may be closed to additional players (where a number of players are playing a single keno game using multiple gambling units 20). - If play of the keno game is to begin as determined at
block 568, at block 570 a game number within a range set by the casino may be randomly selected either by thecontroller 100 or a central computer operatively connected to the controller, such as one of thenetwork computers block 572, the randomly selected game number may be displayed on thedisplay unit 70 and thedisplay units 70 of other gaming units 20 (if any) which are involved in the same keno game. Atblock 574, the controller 100 (or the central computer noted above) may increment a count which keeps track of how many game numbers have been selected atblock 570. - At
block 576, the controller 100 (or one of thenetwork computers 22, 32) may determine whether a maximum number of game numbers within the range have been randomly selected. If not, another game number may be randomly selected atblock 570. If the maximum number of game numbers has been selected, atblock 578 the controller 100 (or a central computer) may determine whether there are a sufficient number of matches between the game numbers selected by the player and the game numbers selected atblock 570 to cause the player to win. The number of matches may depend on how many numbers the player selected and the particular keno rules being used. - If there are a sufficient number of matches, a payout may be determined at
block 580 to compensate the player for winning the game. The payout may depend on the number of matches between the game numbers selected by the player and the game numbers randomly selected atblock 570. Atblock 582, the player's cumulative value or number of credits may be updated by subtracting the bet made by the player and adding, if the keno game was won, the payout value determined atblock 580. The cumulative value or number of credits may also be displayed in the display area 540 (FIG. 21 ). - Where the
gaming unit 20 is designed to facilitate play of a video bingo game, thedisplay unit 70 may comprise a video display unit.FIG. 24 is anexemplary display 600 that may be shown on thedisplay unit 70 during performance of thevideo bingo routine 228 shown schematically inFIG. 14 . Referring toFIG. 24 , thedisplay 600 may include one ormore video images 602 of a bingo card and images of the bingo numbers selected during the game. Thebingo card images 602 may have a grid pattern. - To allow the player to control the play of the bingo game, a plurality of player-selectable buttons may be displayed. The buttons may include a “Cash Out”
button 604, a “See Pays”button 606, a “Bet One Credit”button 608, a “Bet Max Credits”button 610, a “Select Card”button 612, and a “Play”button 614. Thedisplay 600 may also include anarea 616 in which the number of remaining credits or value is displayed. If thedisplay unit 70 is provided with a touch-sensitive screen, the buttons may form part of thevideo display 600. Alternatively, one or more of those buttons may be provided as part of a control panel that is provided separately from thedisplay unit 70. -
FIG. 25 is a flowchart of thevideo bingo routine 228 shown schematically inFIG. 14 . Thebingo routine 228 may be utilized in connection with asingle gaming unit 20 where a single player is playing a bingo game, or thebingo routine 228 may be utilized in connection withmultiple gaming units 20 where multiple players are playing a single bingo game. In the latter case, one or more of the acts described below may be performed either by thecontroller 100 in eachgaming unit 20 or by one of thenetwork computers multiple gaming units 20 are operatively connected. - Referring to
FIG. 25 , atblock 620, the routine may determine whether the player has requested payout information, such as by activating the “See Pays”button 606, in which case atblock 622 the routine may cause one or more pay tables to be displayed on thedisplay unit 70. Atblock 624, the routine may determine whether the player has made a bet, such as by having pressed the “Bet One Credit”button 608 or the “Bet Max Credits”button 610, in which case atblock 626 bet data corresponding to the bet made by the player may be stored in the memory of thecontroller 100. - After the player has made a wager, at
block 628 the player may select a bingo card, which may be generated randomly. The player may select more than one bingo card, and there may be a maximum number of bingo cards that a player may select. After play is to commence as determined atblock 632, at block 634 a bingo number may be randomly generated by thecontroller 100 or a central computer such as one of thenetwork computers block 636, the bingo number may be displayed on thedisplay unit 70 and thedisplay units 70 of anyother gaming units 20 involved in the bingo game. - At
block 638, the controller 100 (or a central computer) may determine whether any player has won the bingo game. If no player has won, another bingo number may be randomly selected atblock 634. If any player has bingo as determined atblock 638, the routine may determine atblock 640 whether the player playing thatgaming unit 20 was the winner. If so, at block 642 a payout for the player may be determined. The payout may depend on the number of random numbers that were drawn before there was a winner, the total number of winners (if there was more than one player), and the amount of money that was wagered on the game. Atblock 644, the player's cumulative value or number of credits may be updated by subtracting the bet made by the player and adding, if the bingo game was won, the payout value determined atblock 642. The cumulative value or number of credits may also be displayed in the display area 616 (FIG. 24 ).
Claims (46)
1. A casino gaming system comprising:
at least one master gaming server,
at least one gaming apparatus disposed in a casino, said gaming apparatus comprising: a display unit capable of generating video images, a value input device and a gaming apparatus controller comprising a processor and a memory operatively coupled to said processor,
said gaming apparatus controller being programmed to receive gaming server identification data from said master gaming server, said gaming server identification data representing the identity of each gaming server of a plurality of gaming servers,
said gaming apparatus controller being programmed to communicate a network message to each of said gaming servers using said gaming server identification data, said network message comprising a type identifier and data unique to said network message,
said gaming apparatus controller being programmed to receive a response to said network message from one or more of said plurality of gaming servers,
said gaming apparatus controller being programmed to determine data representing server information regarding each of said responding gaining servers based at least in part on said response,
said gaming apparatus controller being programmed to select a gaming server from among said plurality of gaming servers according to said server information data,
said gaming apparatus controller being programmed to communicate a selection message to said selected gaming server,
said gaming apparatus controller being programmed to receive gaming data from said selected gaming server in response to said selection message,
said gaming apparatus controller being programmed to cause a video image to be generated oil said display unit, said video image representing a game, and
said gaming apparatus controller being programmed to determine a value payout associated with an outcome of said game represented by said video image; and
a plurality of gaming servers interconnected with said at least one gaming apparatus and said at least one master gaming server, wherein at least one of said plurality of gaming servers is disposed in a casino, each gaming server comprising a gaming server controller comprising a processor and a memory operatively coupled to said processor;
said gaming server controller being programmed to receive said network message from said gaming apparatus controller.
said gaming server controller being programmed to communicate a response to said network message to said gaming apparatus controller if said network message is received,
said gaming server controller being programmed to receive a selection message from said gaming apparatus controller, and
said gaming server controller being programmed to communicate said gaming data to said gaming apparatus controller if said gaming server controller receives said selection message.
2. A gaming system as defined in claim 1 , wherein said gaming apparatus controller is programmed to determine one of the following server information data based at least in part on said response: a data transfer rate, responsiveness, identification or load.
3. A gaming system as defined in claim 1 further comprising at least one network computer interconnected with said gaming apparatus, said master gaming server and said plurality of gaming servers,
wherein said gaming apparatus controller is programmed to request a network identification from said network computer using data identifying said gaming apparatus,
wherein said gaming apparatus controller is programmed to receive a network identification from said network computer if said gaming apparatus identification is valid,
wherein said gaming server controller is programmed to determine if said network identification is valid, and
wherein said gaming server controller is programmed to provide said gaming data if said network identification is valid.
4. A gaming system as defined in claim 1 ,
wherein said gaming apparatus controller is programmed to record a first time when each network message is communicated to each of said gaming servers,
wherein said gaming apparatus is programmed to record a second time when each of said responses is received, and
wherein said gaming apparatus is programmed to determine said server information data for each of said responding gaming servers based on said first time and said second time.
5. A gaming system as defined in claim 1 , wherein said gaming apparatus controller is programmed to receive server information data from said master gaming server.
6. A gaming apparatus disposed in a casino, the gaming apparatus comprising:
a display unit;
a value input device;
a controller operatively coupled to said display unit and said value input device, said controller comprising a processor and a memory operatively coupled to said processor,
said controller being programmed to receive data representing server information regarding a plurality of casino gaming servers,
said controller being programmed to organize said plurality of casino gaming servers, wherein said controller organizes said plurality of casino gaming servers according to said server information data,
said controller being programmed to select a casino gaming server from among said plurality of casino gaming servers, wherein said controller makes said selection according to one of the following: said organization of casino gaming servers or said server information data,
said controller being programmed to receive gaming data from said selected casino gaming server,
said controller being programmed to cause said display unit to generate a game display relating to one of the following games: poker, blackjack, slots, keno or bingo, and
said controller being programmed to determine a value payout associated with an outcome of said game.
7. A gaming apparatus as defined in claim 6 , wherein said display unit comprises a video display unit that is capable of generating video images.
8. A gaming apparatus as defined in claim 7 ,
wherein said controller is programmed to cause a video image comprising an image of at least five playing cards to be displayed if said game comprises video poker,
wherein said controller is programmed to cause a video image comprising an image of a plurality of simulated slot machine reels to be displayed if said game comprises video slots,
wherein said controller is programmed to cause a video image comprising an image of a plurality of playing cards to be displayed if said game comprises video blackjack,
wherein said controller is programmed to cause a video image comprising an image of a plurality of keno numbers to be displayed if said game comprises video keno, and
wherein said controller is programmed to cause a video image comprising an image of a bingo grid to be displayed if said game comprises video bingo.
9. A gaming apparatus as defined in claim 6 , wherein said display unit comprises at least one mechanical slot machine reel.
10. A gaming apparatus as defined in claim 6 ,
wherein said controller is programmed to cause said display unit to generate a display relating to one or more of said plurality of casino gaming servers,
wherein said controller is programmed to allow a person to select one of said casino gaming servers from among said one or more casino gaming servers.
11. A gaming apparatus as defined in claim 10 , wherein said controller is programmed to cause said display unit to generate a display relating to said server information data for each of said one or more casino gaming servers.
12. A gaming apparatus as defined in claim 6 , wherein said controller is programmed to automatically select a casino gaming server from said plurality of casino gaming servers based on said server information data.
13. A gaming apparatus as defined in claim 6 , wherein said server information data relates to at least one of the following factors for each of said plurality of casino gaming servers: data transfer rate, responsiveness, identification, load, geographic location, network subnet data, description, available gaming data and gaming data size.
14. A gaming apparatus as defined in claim 6 , wherein said controller is programmed to discard a casino gaming server from said plurality of casino gaming servers as an option for selection based on a threshold value, said threshold value relating to at least one of the following factors: data transfer rate, responsiveness, load, geographic proximity, network subnet data, available gaming data and gaming data size.
15. A gaming apparatus as defined in claim 6 , wherein said gaming data relates to at least one of the following games: poker, blackjack, slots, keno or bingo.
16. A gaming apparatus as defined in claim 6 , wherein said gaming data relates to at least one of the following: a new game, a software update and configuration data.
17. A gaming apparatus as defined in claim 6 , wherein said controller is programmed to cause said display unit to generate said game display from said gaming data.
18. A gaming system comprising a plurality of gaming apparatuses as defined in claim 6 , said gaming apparatuses being interconnected to form a network of gaming apparatuses.
19. A gaming system as defined in claim 18 further comprising:
said plurality of casino gaming servers; and
a master gaming server,
wherein said controller is programmed to communicate with said master gaming server.
20. A gaming system as defined in claim 19 further comprising a network server,
wherein said controller is programmed to provide said network server with a gaming apparatus identification and data to authenticate said gaming apparatus identification,
wherein said controller is programmed to receive a network identification from said network server if said network server accepts said gaming apparatus identification and said data to authenticate said gaming apparatus identification, and
wherein said controller is programmed to communicate with said master gaming server using said network identification.
21. A gaming system as defined in claim 20 ,
wherein said controller is programmed to receive network server authentication data from said network server,
wherein said controller is programmed to determine if said network server authentication data is authentic for said network server, and
wherein said controller is programmed to accept said network identification if said network server authentication data is authentic for said network server.
22. A gaming system as defined in claim 18 , wherein one or more of said plurality of gaming apparatuses is a master gaming server, wherein said controller of said one or more gaming apparatuses is programmed to provide a list of said plurality of casino gaming servers to other gaming apparatuses.
23. A gaming system as defined in claim 18 , wherein one or more of said plurality of gaming apparatuses is a casino gaming server, wherein said controller of said one or more gaming apparatuses is programmed to provide gaming data to other gaming apparatuses.
24. A gaming system as defined in claim 18 , wherein said gaming apparatuses are interconnected via the Internet.
25. A gaming apparatus disposed in a casino, the gaming apparatus comprising:
a display unit;
a value input device;
a controller operatively coupled to said display unit and said value input device, said controller comprising a processor and a memory operatively coupled to said processor,
said controller being programmed to receive data representing server information regarding a plurality of casino gaming servers,
said controller being programmed to organize said plurality of casino gaming servers, wherein said controller organizes said plurality of casino gaming servers according to said server information data,
said controller being programmed to select a casino gaming server from among said plurality of casino gaming servers, wherein said controller makes said selection according to one of the following: said organization of casino gaming servers or said server information data,
said controller being programmed to receive gaming data from said selected casino gaming server,
said controller being programmed to receive data representing a payline selection made by a player,
said controller being programmed to cause a game display to be generated by said display unit, said game display comprising images of a plurality of slot machine symbols each of which is associated with a respective slot machine reel of a slots game,
said controller being programmed to determine a value payout associated with an outcome of said slots game, said controller being programmed to determine said outcome of said slots game based on a configuration of said slot machine symbols.
26. A gaming apparatus as defined in claim 25 , wherein said display unit comprises a video display unit that is capable of generating video images.
27. A gaming apparatus as defined in claim 26 , wherein said controller is programmed to cause a video image comprising an image of a plurality of simulated slot machine reels to be displayed on said display unit.
28. A gaming apparatus as defined in claim 25 , wherein said display unit comprises at least one mechanical slot machine reel.
29. A gaming apparatus as defined in claim 25 , wherein said controller is programmed to receive payline data representing a number of paylines selected by the player.
30. A gaming apparatus as defined in claim 25 ,
wherein said controller is programmed to cause said display unit to generate a display relating to one or more of said plurality of casino gaming servers,
wherein said controller is programmed to allow a person to select one of said casino gaming servers from among said one or more casino gaming servers.
31. A gaming apparatus as defined in claim 30 , wherein said controller is programmed to cause said display unit to generate a display relating to said server information data for each of said one or more gaming servers.
32. A gaming apparatus as defined in claim 25 , wherein said controller is programmed to automatically select a casino gaming server from said plurality of casino gaming servers based on said server information data.
33. A gaming apparatus as defined in claim 25 , wherein said server information data relates to at least one of the following factors for each of said plurality of casino gaming servers: data transfer rate, responsiveness, identification, load, geographic location, network subnet data, description, available gaming data and gaming data size.
34. A gaming apparatus as defined in claim 25 , wherein said gaming data relates to at least one of the following: a new slots game, a software update and configuration data.
35. A gaming apparatus as defined in claim 25 , wherein said controller is programmed to cause said display unit to generate said game display from said gaming data.
36. A gaming system comprising a plurality of gaming apparatuses as defined in claim 25 , said gaming apparatuses being interconnected to form a network of gaming apparatuses.
37. A gaming system as defined in claim 36 further comprising:
said plurality of casino gaming servers; and
a master gaming server,
wherein said controller is programmed to receive a list of said plurality of casino gaming servers from said master gaming server.
38. A gaming system as defined in claim 36 , wherein said gaming apparatuses are interconnected via the Internet.
39. A gaming method for downloading gaming data from a casino gaming server to a gaming apparatus disposed in a casino, the gaming method comprising:
receiving data representing server information regarding a plurality of casino gaming servers;
organizing said plurality of casino gaming servers according to said server information data;
selecting a casino gaming server from among said plurality of casino gaming servers according to one of the following: said organization of casino gaming servers or said server information data;
receiving gaming data from said selected casino gaming server;
causing a game display of one of the following games to be generated: poker, blackjack, slots, keno or bingo; and
determining a value payout associated with an outcome of said game represented by said video image.
40. A gaming method as defined in claim 39 , additionally comprising:
causing a display relating to one or more of said plurality of casino gaming servers to be generated; and
allowing a person to select one of said casino gaming servers from among said one or more casino gaming servers.
41. A gaming method as defined in claim 39 , wherein selecting a casino gaming server comprises automatically selecting a casino gaming server from among said plurality of casino gaming servers based on said server information data.
42. A gaming method as defined in claim 39 , wherein causing a game display to be generated comprises causing a game display of one of the following games to be generated from said gaming data: poker, blackjack, slots, keno or bingo.
43. A gaming method as defined in claim 39 , wherein selecting a casino gaming server comprises selecting a casino gaming server based on at least one of the following: data transfer rate, responsiveness, identification, load, geographic location, network subnet data, description, available gaming data and gaming data size.
44. A memory having a computer program stored therein, said computer program being capable of being used in connection with a gaming apparatus disposed in a casino, said memory comprising:
a memory portion physically configured in accordance with computer program instructions that would cause the gaming apparatus to receive data representing server information regarding a plurality of casino gaming servers;
a memory portion physically configured in accordance with computer program instructions that would cause the gaming apparatus to organize said plurality of casino gaming servers according to said server information data;
a memory portion physically configured in accordance with computer program instructions that would cause the gaming apparatus to select a casino gaming server from among said plurality of casino gaming servers according to one of the following: said organization of casino gaming servers or said server information data;
a memory portion physically configured in accordance with computer program instructions that would cause the gaming apparatus to receive gaming data from said selected casino gaming server;
a memory portion physically configured in accordance with computer program instructions that would cause the gaming apparatus to cause a game display representing one of the following games to be generated: poker, blackjack, slots, keno or bingo; and
a memory portion physically configured in accordance with computer program instructions that would cause the gaming apparatus to determine a value payout associated with an outcome of said one game.
45. A memory as defined in claim 44 , wherein said memory additionally comprises:
a memory portion physically configured in accordance with computer program instructions that would cause the gaming apparatus to cause a display relating to one or more of said plurality of casino gaming servers to be generated; and
a memory portion physically configured in accordance with computer program instructions that would cause the gaming apparatus to allow a person to select one of said casino gaming servers from among said one or more casino gaming servers.
46. A memory as defined in claim 44 , wherein said memory additionally comprises a memory portion physically configured in accordance with computer program instructions that would cause the gaming apparatus to automatically select a casino gaming server from among said plurality of casino gaming servers based on said server information data.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/757,609 US20050153778A1 (en) | 2004-01-14 | 2004-01-14 | Methods and apparatus for gaming data downloading |
EP05711333A EP1709603A1 (en) | 2004-01-14 | 2005-01-11 | Methods and apparatus for gaming data downloading |
PCT/US2005/000746 WO2005071631A1 (en) | 2004-01-14 | 2005-01-11 | Methods and apparatus for gaming data downloading |
CA002553361A CA2553361A1 (en) | 2004-01-14 | 2005-01-11 | Methods and apparatus for gaming data downloading |
AU2005207319A AU2005207319B2 (en) | 2004-01-14 | 2005-01-11 | Methods and apparatus for gaming data downloading |
US14/047,847 US8961322B2 (en) | 2000-12-07 | 2013-10-07 | Game removal with game history |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/757,609 US20050153778A1 (en) | 2004-01-14 | 2004-01-14 | Methods and apparatus for gaming data downloading |
Publications (1)
Publication Number | Publication Date |
---|---|
US20050153778A1 true US20050153778A1 (en) | 2005-07-14 |
Family
ID=34740062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/757,609 Abandoned US20050153778A1 (en) | 2000-12-07 | 2004-01-14 | Methods and apparatus for gaming data downloading |
Country Status (5)
Country | Link |
---|---|
US (1) | US20050153778A1 (en) |
EP (1) | EP1709603A1 (en) |
AU (1) | AU2005207319B2 (en) |
CA (1) | CA2553361A1 (en) |
WO (1) | WO2005071631A1 (en) |
Cited By (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060130107A1 (en) * | 2004-12-15 | 2006-06-15 | Tom Gonder | Method and apparatus for high bandwidth data transmission in content-based networks |
US20060148550A1 (en) * | 2006-01-30 | 2006-07-06 | Nee Patrick W Jr | Auditing data transfers in electronic game device systems |
US20060160622A1 (en) * | 2004-12-09 | 2006-07-20 | Steven Lee | Downloading in the background |
US20070026942A1 (en) * | 2005-08-01 | 2007-02-01 | Igt | Methods and devices for authentication and licensing in a gaming network |
US20070157192A1 (en) * | 2005-12-30 | 2007-07-05 | Dorothea Hoefler | Software maintenance management |
WO2008021957A2 (en) * | 2006-08-16 | 2008-02-21 | Bally Gaming, Inc. | System and method for managing ip addresses in a network gaming environment |
US20080070699A1 (en) * | 2006-09-15 | 2008-03-20 | Sung Park | Networked electronic game tracking |
US20080207315A1 (en) * | 2007-02-27 | 2008-08-28 | Sony Ericsson Mobile Communications Ab | System and Method for Initiating a Gaming Session Using Event-Based Exchange of Information Between Communication Devices |
US20080234046A1 (en) * | 2007-03-19 | 2008-09-25 | Igt | Centralized licensing services |
US20080305854A1 (en) * | 2007-06-06 | 2008-12-11 | Igt | Database queries within a gaming machine |
US20090070081A1 (en) * | 2007-09-06 | 2009-03-12 | Igt | Predictive modeling in a gaming system |
US20090124372A1 (en) * | 2005-04-29 | 2009-05-14 | Gagner Mark B | Asset management of downloadable gaming components in a gaming system |
US20100022299A1 (en) * | 2006-10-18 | 2010-01-28 | Wms Gaming Inc. | Control of reconfigurable gaming machines |
US20100029375A1 (en) * | 2006-02-09 | 2010-02-04 | Buchholz Dale R | Wagering game server availability broadcast message system |
US20100228526A1 (en) * | 2009-03-03 | 2010-09-09 | Igt | 3-d casino gaming floor visualization utilizing real-time and batch data |
US20100228814A1 (en) * | 2007-08-31 | 2010-09-09 | Lava Two ,LLC | Forward path multi-media management system with end user feedback to distributed content sources |
US20100241527A1 (en) * | 2007-08-31 | 2010-09-23 | Lava Two, Llc | Transaction management system in a multicast or broadcast wireless communication network |
US20100285875A1 (en) * | 2007-08-31 | 2010-11-11 | Lava Two, Llc | Gaming device for multi-player games |
US20110028202A1 (en) * | 2009-07-29 | 2011-02-03 | Waterleaf Limited | Methods and Devices for Reel-Type Wagering with Bonus Games |
US7951002B1 (en) | 2000-06-16 | 2011-05-31 | Igt | Using a gaming machine as a server |
US7972214B2 (en) | 2000-12-07 | 2011-07-05 | Igt | Methods and devices for downloading games of chance |
US20110224000A1 (en) * | 2010-01-17 | 2011-09-15 | James Toga | Voice-based entertainment activity in a networked enviorment |
US8052519B2 (en) | 2006-06-08 | 2011-11-08 | Bally Gaming, Inc. | Systems, methods and articles to facilitate lockout of selectable odds/advantage in playing card games |
US20120072540A1 (en) * | 2010-09-16 | 2012-03-22 | Hitachi, Ltd. | Method of Managing A File Access In A Distributed File Storage System |
US8191121B2 (en) | 2006-11-10 | 2012-05-29 | Bally Gaming, Inc. | Methods and systems for controlling access to resources in a gaming network |
US8192283B2 (en) | 2009-03-10 | 2012-06-05 | Bally Gaming, Inc. | Networked gaming system including a live floor view module |
US8192277B2 (en) | 2006-08-17 | 2012-06-05 | Bally Gaming, Inc. | Systems, methods and articles to enhance play at gaming tables with bonuses |
US8201229B2 (en) | 2007-11-12 | 2012-06-12 | Bally Gaming, Inc. | User authorization system and methods |
US8251803B2 (en) | 2008-04-30 | 2012-08-28 | Bally Gaming, Inc. | Overlapping progressive jackpots |
US8259596B1 (en) * | 2006-08-16 | 2012-09-04 | Bally Gaming, Inc. | Method for managing IP addresses in a network gaming environment |
US8259597B1 (en) * | 2006-08-16 | 2012-09-04 | Bally Gaming, Inc. | System for managing IP addresses in a network gaming environment |
US8266213B2 (en) | 2008-11-14 | 2012-09-11 | Bally Gaming, Inc. | Apparatus, method, and system to provide a multiple processor architecture for server-based gaming |
US8275848B2 (en) | 2007-11-12 | 2012-09-25 | Bally Gaming, Inc. | System and method for one-way delivery of notifications from server-to-clients using modified multicasts |
US8287379B2 (en) | 2005-09-12 | 2012-10-16 | Igt | Distributed game services |
US20120302324A1 (en) * | 2011-05-24 | 2012-11-29 | Wms Gaming, Inc. | Player incentives for wagering game transfers |
US8347303B2 (en) | 2008-11-14 | 2013-01-01 | Bally Gaming, Inc. | Apparatus, method, and system to provide a multi-core processor for an electronic gaming machine (EGM) |
US8366542B2 (en) | 2008-05-24 | 2013-02-05 | Bally Gaming, Inc. | Networked gaming system with enterprise accounting methods and apparatus |
US8412768B2 (en) | 2008-07-11 | 2013-04-02 | Ball Gaming, Inc. | Integration gateway |
US8423790B2 (en) | 2008-11-18 | 2013-04-16 | Bally Gaming, Inc. | Module validation |
US8506384B2 (en) | 2007-09-18 | 2013-08-13 | Igt | Multi-card bingo game features |
US8540567B2 (en) | 2011-09-28 | 2013-09-24 | Igt | Gaming system, gaming device and method for moderating remote host initiated features for multiple concurrently played games |
US8556709B2 (en) | 2002-03-12 | 2013-10-15 | Igt | Virtual player tracking and related services |
US8613655B2 (en) | 2008-04-30 | 2013-12-24 | Bally Gaming, Inc. | Facilitating group play with multiple game devices |
US8628413B2 (en) | 2002-03-12 | 2014-01-14 | Igt | Virtual gaming peripherals for a gaming machine |
US8631501B2 (en) | 2006-11-10 | 2014-01-14 | Bally Gaming, Inc. | Reporting function in gaming system environment |
US8651956B2 (en) | 2005-09-12 | 2014-02-18 | Igt | Method and system for instant-on game download |
US8667457B2 (en) | 2006-11-13 | 2014-03-04 | Bally Gaming, Inc. | System and method for validating download or configuration assignment for an EGM or EGM collection |
CN103617059A (en) * | 2013-12-03 | 2014-03-05 | 珠海迈科电子科技有限公司 | Game downloading method and device for non-intelligent set top box |
US8672750B2 (en) | 2011-09-28 | 2014-03-18 | Igt | Gaming system, gaming device and method for reporting for multiple concurrently played games |
US8721431B2 (en) | 2008-04-30 | 2014-05-13 | Bally Gaming, Inc. | Systems, methods, and devices for providing instances of a secondary game |
US8734244B2 (en) | 2012-09-11 | 2014-05-27 | Igt | Thin client support for a gaming machine |
US8734245B2 (en) | 2007-11-02 | 2014-05-27 | Bally Gaming, Inc. | Game related systems, methods, and articles that combine virtual and physical elements |
US8752099B2 (en) | 2005-03-14 | 2014-06-10 | Time Warner Cable Enterprises, LLC | Method and apparatus for network content download and recording |
US8784212B2 (en) | 2006-11-10 | 2014-07-22 | Bally Gaming, Inc. | Networked gaming environment employing different classes of gaming machines |
US8856657B2 (en) | 2008-04-30 | 2014-10-07 | Bally Gaming, Inc. | User interface for managing network download and configuration tasks |
US8870647B2 (en) | 2006-04-12 | 2014-10-28 | Bally Gaming, Inc. | Wireless gaming environment |
US8920233B2 (en) | 2006-11-10 | 2014-12-30 | Bally Gaming, Inc. | Assignment template and assignment bundle in a gaming configuration and download system |
US9005034B2 (en) | 2008-04-30 | 2015-04-14 | Bally Gaming, Inc. | Systems and methods for out-of-band gaming machine management |
US9021535B2 (en) | 2006-06-13 | 2015-04-28 | Time Warner Cable Enterprises Llc | Methods and apparatus for providing virtual content over a network |
US9058716B2 (en) | 2011-06-06 | 2015-06-16 | Bally Gaming, Inc. | Remote game play in a wireless gaming environment |
US9082258B2 (en) | 2006-11-13 | 2015-07-14 | Bally Gaming, Inc. | Method and system for providing download and configuration job progress tracking and display via host user interface |
US9092944B2 (en) | 2008-04-30 | 2015-07-28 | Bally Gaming, Inc. | Coordinating group play events for multiple game devices |
US9094713B2 (en) | 2009-07-02 | 2015-07-28 | Time Warner Cable Enterprises Llc | Method and apparatus for network association of content |
US9098847B2 (en) | 2013-03-08 | 2015-08-04 | Igt | Gaming system and method for providing a game including roaming wild symbols |
US9098973B2 (en) | 2013-03-08 | 2015-08-04 | Igt | Gaming system and method for providing a game including roaming wild symbols |
US9101820B2 (en) | 2006-11-09 | 2015-08-11 | Bally Gaming, Inc. | System, method and apparatus to produce decks for and operate games played with playing cards |
US9111078B2 (en) | 2006-11-10 | 2015-08-18 | Bally Gaming, Inc. | Package manager service in gaming system |
US9120007B2 (en) | 2012-01-18 | 2015-09-01 | Bally Gaming, Inc. | Network gaming architecture, gaming systems, and related methods |
US9129469B2 (en) * | 2012-09-11 | 2015-09-08 | Igt | Player driven game download to a gaming machine |
US9208648B2 (en) | 2013-09-12 | 2015-12-08 | Igt | Gaming system and method for triggering a random secondary game in association with multiple concurrently played primary games |
US9275512B2 (en) | 2006-11-10 | 2016-03-01 | Bally Gaming, Inc. | Secure communications in gaming system |
US9293000B2 (en) | 2011-09-28 | 2016-03-22 | Igt | Gaming system, gaming device and method for moderating remote host initiated features for multiple concurrently played games |
US9325710B2 (en) | 2006-05-24 | 2016-04-26 | Time Warner Cable Enterprises Llc | Personal content server apparatus and methods |
US9386327B2 (en) | 2006-05-24 | 2016-07-05 | Time Warner Cable Enterprises Llc | Secondary content insertion apparatus and methods |
US9443377B2 (en) | 2008-05-30 | 2016-09-13 | Bally Gaming, Inc. | Web pages for gaming devices |
US9466172B2 (en) | 2006-11-13 | 2016-10-11 | Bally Gaming, Inc. | Download and configuration management engine for gaming system |
US9483911B2 (en) | 2008-04-30 | 2016-11-01 | Bally Gaming, Inc. | Information distribution in gaming networks |
US9503691B2 (en) | 2008-02-19 | 2016-11-22 | Time Warner Cable Enterprises Llc | Methods and apparatus for enhanced advertising and promotional delivery in a network |
USD780201S1 (en) | 2014-09-26 | 2017-02-28 | Igt | Gaming system display with graphical user interface |
US9769513B2 (en) | 2007-02-28 | 2017-09-19 | Time Warner Cable Enterprises Llc | Personal content server apparatus and methods |
US9792770B2 (en) | 2012-01-18 | 2017-10-17 | Bally Gaming, Inc. | Play for fun network gaming system and method |
US9875618B2 (en) | 2014-07-24 | 2018-01-23 | Igt | Gaming system and method employing multi-directional interaction between multiple concurrently played games |
US9934646B2 (en) | 2015-05-29 | 2018-04-03 | Pridefield Limited | Gaming machine with rearrangement of wild symbols |
US9959703B2 (en) | 2015-05-29 | 2018-05-01 | Pridefield Limited | Gaming machine with symbol replacement |
US9997012B2 (en) | 2016-04-28 | 2018-06-12 | Pridefield Limited | Gaming machine with symbol restriction |
US10068432B2 (en) | 2016-04-28 | 2018-09-04 | Pridefield Limited | Gaming machine with symbol propagation |
US10163305B2 (en) | 2016-04-28 | 2018-12-25 | Pridefield Limited | Gaming machine with symbol locking |
US10235832B2 (en) | 2008-10-17 | 2019-03-19 | Igt | Post certification metering for diverse game machines |
US10395480B2 (en) | 2016-04-28 | 2019-08-27 | Pridefield Limited | Gaming machine with symbol accumulation |
US10522005B2 (en) | 2017-02-06 | 2019-12-31 | Fusion Holdings Limited | Software-based simulation of trigger symbol movement |
US10613887B2 (en) * | 2015-10-21 | 2020-04-07 | International Business Machines Corporation | Ordering optimization of host machines in a computing environment based on policies |
US10636242B2 (en) | 2016-10-31 | 2020-04-28 | Pridefield Limited | Software-based simulation of symbol replacement |
US10685530B2 (en) | 2016-10-31 | 2020-06-16 | Pridefield Limited | Software-based simulation of symbol locking |
US10706689B2 (en) | 2014-09-26 | 2020-07-07 | Igt | Gaming system and method employing multiple symbol generators utilized for multiple concurrently played games |
US10970968B2 (en) | 2018-04-18 | 2021-04-06 | Igt | System and method for incentivizing the maintenance of funds in a gaming establishment account |
US11076203B2 (en) | 2013-03-12 | 2021-07-27 | Time Warner Cable Enterprises Llc | Methods and apparatus for providing and uploading content to personalized network storage |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9552691B2 (en) | 2013-05-20 | 2017-01-24 | Bally Gaming, Inc. | Automatically generated display code for wagering game machine configuration |
Citations (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5136644A (en) * | 1988-04-21 | 1992-08-04 | Telecash | Portable electronic device for use in conjunction with a screen |
US5155837A (en) * | 1989-03-02 | 1992-10-13 | Bell Communications Research, Inc. | Methods and apparatus for software retrofitting |
US5410703A (en) * | 1992-07-01 | 1995-04-25 | Telefonaktiebolaget L M Ericsson | System for changing software during computer operation |
US5421009A (en) * | 1993-12-22 | 1995-05-30 | Hewlett-Packard Company | Method of remotely installing software directly from a central computer |
US5421017A (en) * | 1993-01-18 | 1995-05-30 | Siemens Aktiengesellschaft | Real time control system and method for replacing software in a controlled system |
US5473772A (en) * | 1991-04-02 | 1995-12-05 | International Business Machines Corporation | Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs |
US5643086A (en) * | 1995-06-29 | 1997-07-01 | Silicon Gaming, Inc. | Electronic casino gaming apparatus with improved play capacity, authentication and security |
US5654746A (en) * | 1994-12-01 | 1997-08-05 | Scientific-Atlanta, Inc. | Secure authorization and control method and apparatus for a game delivery service |
US5682533A (en) * | 1994-09-27 | 1997-10-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Updating software within a telecommunications switch without interrupting existing communication and neither moving nor converting data |
US5715462A (en) * | 1994-04-12 | 1998-02-03 | Ntt Data Communications Systems Corporation | Updating and restoration method of system file |
US5759102A (en) * | 1996-02-12 | 1998-06-02 | International Game Technology | Peripheral device download method and apparatus |
US5762552A (en) * | 1995-12-05 | 1998-06-09 | Vt Tech Corp. | Interactive real-time network gaming system |
US5771353A (en) * | 1995-11-13 | 1998-06-23 | Motorola Inc. | System having virtual session manager used sessionless-oriented protocol to communicate with user device via wireless channel and session-oriented protocol to communicate with host server |
US5845077A (en) * | 1995-11-27 | 1998-12-01 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
US5845090A (en) * | 1994-02-14 | 1998-12-01 | Platinium Technology, Inc. | System for software distribution in a digital computer network |
US5848064A (en) * | 1996-08-07 | 1998-12-08 | Telxon Corporation | Wireless software upgrades with version control |
US5870723A (en) * | 1994-11-28 | 1999-02-09 | Pare, Jr.; David Ferrin | Tokenless biometric transaction authorization method and system |
US5885158A (en) * | 1996-02-13 | 1999-03-23 | International Game Technology | Gaming system for multiple progressive games |
US5896566A (en) * | 1995-07-28 | 1999-04-20 | Motorola, Inc. | Method for indicating availability of updated software to portable wireless communication units |
US5905523A (en) * | 1993-10-15 | 1999-05-18 | Two Way Tv Limited | Interactive system |
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 |
US6006034A (en) * | 1996-09-05 | 1999-12-21 | Open Software Associates, Ltd. | Systems and methods for automatic application version upgrading and maintenance |
US6047128A (en) * | 1996-12-18 | 2000-04-04 | U.S. Philips Corporation | System for downloading software |
US6104815A (en) * | 1997-01-10 | 2000-08-15 | Silicon Gaming, Inc. | Method and apparatus using geographical position and universal time determination means to provide authenticated, secure, on-line communication between remote gaming locations |
US6152824A (en) * | 1997-03-06 | 2000-11-28 | Mpath Interactive, Inc. | Online gaming architecture |
US6154878A (en) * | 1998-07-21 | 2000-11-28 | Hewlett-Packard Company | System and method for on-line replacement of software |
US6317827B1 (en) * | 1996-08-16 | 2001-11-13 | Intel Corporation | Method and apparatus for fault tolerant flash upgrading |
US20020013173A1 (en) * | 1996-04-22 | 2002-01-31 | Walker Jay S. | Method and system for adapting casino games to playing preferences |
US6345297B1 (en) * | 1996-03-21 | 2002-02-05 | Hearme | Network match maker |
US20020137217A1 (en) * | 2000-10-19 | 2002-09-26 | International Game Technology | Gaming terminal data repository and information distribution system |
US20030003988A1 (en) * | 2001-06-15 | 2003-01-02 | Walker Jay S. | Method and apparatus for planning and customizing a gaming experience |
US20030027639A1 (en) * | 2001-07-18 | 2003-02-06 | Peterson Randall S.E. | System and method for playing a game of skill |
US20030064771A1 (en) * | 2001-09-28 | 2003-04-03 | James Morrow | Reconfigurable gaming machine |
US20030100371A1 (en) * | 2001-11-23 | 2003-05-29 | Cyberscan Technology, Inc. | Modular entertainment and gaming system configured for processing raw biometric data and multimedia response by a remote server |
US20030188306A1 (en) * | 1999-06-03 | 2003-10-02 | Anchor Gaming | Method and device for implementing a downloadable software delivery system |
US20030190960A1 (en) * | 2002-04-04 | 2003-10-09 | Eron Jokipii | Method and system for providing access to and administering online gaming leagues and tournaments |
US6638170B1 (en) * | 2000-10-16 | 2003-10-28 | Igt | Gaming device network |
US20030231621A1 (en) * | 1998-09-11 | 2003-12-18 | Cirrus Logic, Inc. | Dynamic communication channel switching for computer networks |
US20040162870A1 (en) * | 2003-01-10 | 2004-08-19 | Natsume Matsuzaki | Group admission system and server and client therefor |
US20050037841A1 (en) * | 2002-09-17 | 2005-02-17 | De Waal Daniel J. | Method and apparatus for providing customizable player bonuses |
US20060172794A1 (en) * | 1996-12-30 | 2006-08-03 | Walker Jay S | System and method for remote automated play of a gaming device |
US20070067046A1 (en) * | 2000-12-21 | 2007-03-22 | Berg Mitchell T | Method and system for communicating an information packet through multiple networks |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002005229A2 (en) * | 2000-07-12 | 2002-01-17 | Online Games Llc | Communication of data in a game system |
US6749510B2 (en) * | 2001-02-07 | 2004-06-15 | Wms Gaming Inc. | Centralized gaming system with modifiable remote display terminals |
US6884173B2 (en) * | 2002-05-14 | 2005-04-26 | Atronic International Gmbh | Configuration technique for a gaming machine |
-
2004
- 2004-01-14 US US10/757,609 patent/US20050153778A1/en not_active Abandoned
-
2005
- 2005-01-11 EP EP05711333A patent/EP1709603A1/en not_active Withdrawn
- 2005-01-11 WO PCT/US2005/000746 patent/WO2005071631A1/en active Application Filing
- 2005-01-11 AU AU2005207319A patent/AU2005207319B2/en not_active Ceased
- 2005-01-11 CA CA002553361A patent/CA2553361A1/en not_active Abandoned
Patent Citations (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5136644A (en) * | 1988-04-21 | 1992-08-04 | Telecash | Portable electronic device for use in conjunction with a screen |
US5155837A (en) * | 1989-03-02 | 1992-10-13 | Bell Communications Research, Inc. | Methods and apparatus for software retrofitting |
US5473772A (en) * | 1991-04-02 | 1995-12-05 | International Business Machines Corporation | Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs |
US5410703A (en) * | 1992-07-01 | 1995-04-25 | Telefonaktiebolaget L M Ericsson | System for changing software during computer operation |
US5555418A (en) * | 1992-07-01 | 1996-09-10 | Nilsson; Rickard | System for changing software during computer operation |
US5421017A (en) * | 1993-01-18 | 1995-05-30 | Siemens Aktiengesellschaft | Real time control system and method for replacing software in a controlled system |
US5905523A (en) * | 1993-10-15 | 1999-05-18 | Two Way Tv Limited | Interactive system |
US5421009A (en) * | 1993-12-22 | 1995-05-30 | Hewlett-Packard Company | Method of remotely installing software directly from a central computer |
US5845090A (en) * | 1994-02-14 | 1998-12-01 | Platinium Technology, Inc. | System for software distribution in a digital computer network |
US5715462A (en) * | 1994-04-12 | 1998-02-03 | Ntt Data Communications Systems Corporation | Updating and restoration method of system file |
US5682533A (en) * | 1994-09-27 | 1997-10-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Updating software within a telecommunications switch without interrupting existing communication and neither moving nor converting data |
US5870723A (en) * | 1994-11-28 | 1999-02-09 | Pare, Jr.; David Ferrin | Tokenless biometric transaction authorization method and system |
US6029046A (en) * | 1994-12-01 | 2000-02-22 | Scientific-Atlanta, Inc. | Method and apparatus for a game delivery service including flash memory and a game back-up module |
US5654746A (en) * | 1994-12-01 | 1997-08-05 | Scientific-Atlanta, Inc. | Secure authorization and control method and apparatus for a game delivery service |
US5643086A (en) * | 1995-06-29 | 1997-07-01 | Silicon Gaming, Inc. | Electronic casino gaming apparatus with improved play capacity, authentication and security |
US5896566A (en) * | 1995-07-28 | 1999-04-20 | Motorola, Inc. | Method for indicating availability of updated software to portable wireless communication units |
US5771353A (en) * | 1995-11-13 | 1998-06-23 | Motorola Inc. | System having virtual session manager used sessionless-oriented protocol to communicate with user device via wireless channel and session-oriented protocol to communicate with host server |
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 |
US5845077A (en) * | 1995-11-27 | 1998-12-01 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
US5762552A (en) * | 1995-12-05 | 1998-06-09 | Vt Tech Corp. | Interactive real-time network gaming system |
US5759102A (en) * | 1996-02-12 | 1998-06-02 | International Game Technology | Peripheral device download method and apparatus |
US5885158A (en) * | 1996-02-13 | 1999-03-23 | International Game Technology | Gaming system for multiple progressive games |
US6345297B1 (en) * | 1996-03-21 | 2002-02-05 | Hearme | Network match maker |
US20020013173A1 (en) * | 1996-04-22 | 2002-01-31 | Walker Jay S. | Method and system for adapting casino games to playing preferences |
US5848064A (en) * | 1996-08-07 | 1998-12-08 | Telxon Corporation | Wireless software upgrades with version control |
US6317827B1 (en) * | 1996-08-16 | 2001-11-13 | Intel Corporation | Method and apparatus for fault tolerant flash upgrading |
US6006034A (en) * | 1996-09-05 | 1999-12-21 | Open Software Associates, Ltd. | Systems and methods for automatic application version upgrading and maintenance |
US6047128A (en) * | 1996-12-18 | 2000-04-04 | U.S. Philips Corporation | System for downloading software |
US20060172794A1 (en) * | 1996-12-30 | 2006-08-03 | Walker Jay S | System and method for remote automated play of a gaming device |
US6104815A (en) * | 1997-01-10 | 2000-08-15 | Silicon Gaming, Inc. | Method and apparatus using geographical position and universal time determination means to provide authenticated, secure, on-line communication between remote gaming locations |
US6152824A (en) * | 1997-03-06 | 2000-11-28 | Mpath Interactive, Inc. | Online gaming architecture |
US6154878A (en) * | 1998-07-21 | 2000-11-28 | Hewlett-Packard Company | System and method for on-line replacement of software |
US20030231621A1 (en) * | 1998-09-11 | 2003-12-18 | Cirrus Logic, Inc. | Dynamic communication channel switching for computer networks |
US20030188306A1 (en) * | 1999-06-03 | 2003-10-02 | Anchor Gaming | Method and device for implementing a downloadable software delivery system |
US6638170B1 (en) * | 2000-10-16 | 2003-10-28 | Igt | Gaming device network |
US20020137217A1 (en) * | 2000-10-19 | 2002-09-26 | International Game Technology | Gaming terminal data repository and information distribution system |
US20070067046A1 (en) * | 2000-12-21 | 2007-03-22 | Berg Mitchell T | Method and system for communicating an information packet through multiple networks |
US20030003988A1 (en) * | 2001-06-15 | 2003-01-02 | Walker Jay S. | Method and apparatus for planning and customizing a gaming experience |
US20030027639A1 (en) * | 2001-07-18 | 2003-02-06 | Peterson Randall S.E. | System and method for playing a game of skill |
US20030064771A1 (en) * | 2001-09-28 | 2003-04-03 | James Morrow | Reconfigurable gaming machine |
US20030100371A1 (en) * | 2001-11-23 | 2003-05-29 | Cyberscan Technology, Inc. | Modular entertainment and gaming system configured for processing raw biometric data and multimedia response by a remote server |
US20030190960A1 (en) * | 2002-04-04 | 2003-10-09 | Eron Jokipii | Method and system for providing access to and administering online gaming leagues and tournaments |
US20050037841A1 (en) * | 2002-09-17 | 2005-02-17 | De Waal Daniel J. | Method and apparatus for providing customizable player bonuses |
US20040162870A1 (en) * | 2003-01-10 | 2004-08-19 | Natsume Matsuzaki | Group admission system and server and client therefor |
Cited By (156)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7951002B1 (en) | 2000-06-16 | 2011-05-31 | Igt | Using a gaming machine as a server |
US7972214B2 (en) | 2000-12-07 | 2011-07-05 | Igt | Methods and devices for downloading games of chance |
US8556709B2 (en) | 2002-03-12 | 2013-10-15 | Igt | Virtual player tracking and related services |
US8628413B2 (en) | 2002-03-12 | 2014-01-14 | Igt | Virtual gaming peripherals for a gaming machine |
US8597116B2 (en) | 2002-03-12 | 2013-12-03 | Igt | Virtual player tracking and related services |
US8721446B2 (en) * | 2004-12-09 | 2014-05-13 | Wms Gaming Inc. | Background downloading of gaming content to a gaming machine prior to a scheduled shutdown |
US20060160622A1 (en) * | 2004-12-09 | 2006-07-20 | Steven Lee | Downloading in the background |
US8522293B2 (en) * | 2004-12-15 | 2013-08-27 | Time Warner Cable Enterprises Llc | Method and apparatus for high bandwidth data transmission in content-based networks |
US9681161B2 (en) | 2004-12-15 | 2017-06-13 | Time Warner Cable Enterprises Llc | Method and apparatus for high bandwidth data transmission in content delivery networks |
US9003458B2 (en) | 2004-12-15 | 2015-04-07 | Time Warner Cable Enterprises Llc | Method and apparatus for high bandwidth data transmission in content-based networks |
US20060130107A1 (en) * | 2004-12-15 | 2006-06-15 | Tom Gonder | Method and apparatus for high bandwidth data transmission in content-based networks |
US8752099B2 (en) | 2005-03-14 | 2014-06-10 | Time Warner Cable Enterprises, LLC | Method and apparatus for network content download and recording |
US20090124372A1 (en) * | 2005-04-29 | 2009-05-14 | Gagner Mark B | Asset management of downloadable gaming components in a gaming system |
US8388448B2 (en) | 2005-07-01 | 2013-03-05 | Igt | Methods and devices for downloading games of chance |
US9142096B2 (en) | 2005-08-01 | 2015-09-22 | Igt | Methods and devices for authentication and licensing in a gaming network |
US20070026942A1 (en) * | 2005-08-01 | 2007-02-01 | Igt | Methods and devices for authentication and licensing in a gaming network |
US8152628B2 (en) | 2005-08-01 | 2012-04-10 | Igt | Methods and devices for authentication and licensing in a gaming network |
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 |
US8287379B2 (en) | 2005-09-12 | 2012-10-16 | 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 |
US20070157192A1 (en) * | 2005-12-30 | 2007-07-05 | Dorothea Hoefler | Software maintenance management |
US8176483B2 (en) * | 2005-12-30 | 2012-05-08 | Sap Ag | Software maintenance management |
US20060148550A1 (en) * | 2006-01-30 | 2006-07-06 | Nee Patrick W Jr | Auditing data transfers in electronic game device systems |
US20100029375A1 (en) * | 2006-02-09 | 2010-02-04 | Buchholz Dale R | Wagering game server availability broadcast message system |
US8360887B2 (en) * | 2006-02-09 | 2013-01-29 | Wms Gaming Inc. | Wagering game server availability broadcast message system |
US8870647B2 (en) | 2006-04-12 | 2014-10-28 | Bally Gaming, Inc. | Wireless gaming environment |
US9786123B2 (en) | 2006-04-12 | 2017-10-10 | Bally Gaming, Inc. | Wireless gaming environment |
US9325710B2 (en) | 2006-05-24 | 2016-04-26 | Time Warner Cable Enterprises Llc | Personal content server apparatus and methods |
US9832246B2 (en) | 2006-05-24 | 2017-11-28 | Time Warner Cable Enterprises Llc | Personal content server apparatus and methods |
US9386327B2 (en) | 2006-05-24 | 2016-07-05 | Time Warner Cable Enterprises Llc | Secondary content insertion apparatus and methods |
US11082723B2 (en) | 2006-05-24 | 2021-08-03 | Time Warner Cable Enterprises Llc | Secondary content insertion apparatus and methods |
US10623462B2 (en) | 2006-05-24 | 2020-04-14 | Time Warner Cable Enterprises Llc | Personal content server apparatus and methods |
US8052519B2 (en) | 2006-06-08 | 2011-11-08 | Bally Gaming, Inc. | Systems, methods and articles to facilitate lockout of selectable odds/advantage in playing card games |
US11388461B2 (en) | 2006-06-13 | 2022-07-12 | Time Warner Cable Enterprises Llc | Methods and apparatus for providing virtual content over a network |
US9021535B2 (en) | 2006-06-13 | 2015-04-28 | Time Warner Cable Enterprises Llc | Methods and apparatus for providing virtual content over a network |
US10129576B2 (en) | 2006-06-13 | 2018-11-13 | Time Warner Cable Enterprises Llc | Methods and apparatus for providing virtual content over a network |
WO2008021957A3 (en) * | 2006-08-16 | 2008-10-02 | Bally Gaming Inc | System and method for managing ip addresses in a network gaming environment |
US8259597B1 (en) * | 2006-08-16 | 2012-09-04 | Bally Gaming, Inc. | System for managing IP addresses in a network gaming environment |
US8259596B1 (en) * | 2006-08-16 | 2012-09-04 | Bally Gaming, Inc. | Method for managing IP addresses in a network gaming environment |
US8721454B2 (en) | 2006-08-16 | 2014-05-13 | Bally Gaming, Inc. | System for managing IP addresses in a network gaming environment |
WO2008021957A2 (en) * | 2006-08-16 | 2008-02-21 | Bally Gaming, Inc. | System and method for managing ip addresses in a network gaming environment |
US8647208B2 (en) | 2006-08-16 | 2014-02-11 | Bally Gaming, Inc. | Method for managing IP addresses in a network gaming environment |
US8192277B2 (en) | 2006-08-17 | 2012-06-05 | Bally Gaming, Inc. | Systems, methods and articles to enhance play at gaming tables with bonuses |
US20080070698A1 (en) * | 2006-09-15 | 2008-03-20 | Sung Park | Electronic game tracking |
US20080070699A1 (en) * | 2006-09-15 | 2008-03-20 | Sung Park | Networked electronic game tracking |
US20080085765A1 (en) * | 2006-09-15 | 2008-04-10 | Sung Park | Electronic game tracking adapter |
US20080085768A1 (en) * | 2006-09-15 | 2008-04-10 | Sung Park | Handheld facility electronic game tracking |
US20100022299A1 (en) * | 2006-10-18 | 2010-01-28 | Wms Gaming Inc. | Control of reconfigurable gaming machines |
US8142291B2 (en) * | 2006-10-18 | 2012-03-27 | Wms Gaming, Inc. | Control of reconfigurable gaming machines |
US9101820B2 (en) | 2006-11-09 | 2015-08-11 | Bally Gaming, Inc. | System, method and apparatus to produce decks for and operate games played with playing cards |
US8784212B2 (en) | 2006-11-10 | 2014-07-22 | Bally Gaming, Inc. | Networked gaming environment employing different classes of gaming machines |
US9111078B2 (en) | 2006-11-10 | 2015-08-18 | Bally Gaming, Inc. | Package manager service in gaming system |
US8631501B2 (en) | 2006-11-10 | 2014-01-14 | Bally Gaming, Inc. | Reporting function in gaming system environment |
US8920233B2 (en) | 2006-11-10 | 2014-12-30 | Bally Gaming, Inc. | Assignment template and assignment bundle in a gaming configuration and download system |
US9275512B2 (en) | 2006-11-10 | 2016-03-01 | Bally Gaming, Inc. | Secure communications in gaming system |
US8191121B2 (en) | 2006-11-10 | 2012-05-29 | Bally Gaming, Inc. | Methods and systems for controlling access to resources in a gaming network |
US9508218B2 (en) * | 2006-11-10 | 2016-11-29 | Bally Gaming, Inc. | Gaming system download network architecture |
US9466172B2 (en) | 2006-11-13 | 2016-10-11 | Bally Gaming, Inc. | Download and configuration management engine for gaming system |
US9082258B2 (en) | 2006-11-13 | 2015-07-14 | Bally Gaming, Inc. | Method and system for providing download and configuration job progress tracking and display via host user interface |
US8667457B2 (en) | 2006-11-13 | 2014-03-04 | Bally Gaming, Inc. | System and method for validating download or configuration assignment for an EGM or EGM collection |
US20080207315A1 (en) * | 2007-02-27 | 2008-08-28 | Sony Ericsson Mobile Communications Ab | System and Method for Initiating a Gaming Session Using Event-Based Exchange of Information Between Communication Devices |
US9769513B2 (en) | 2007-02-28 | 2017-09-19 | Time Warner Cable Enterprises Llc | Personal content server apparatus and methods |
US9633179B2 (en) | 2007-03-19 | 2017-04-25 | Igt | Centralized licensing services |
US20080234046A1 (en) * | 2007-03-19 | 2008-09-25 | Igt | Centralized licensing services |
US8285646B2 (en) | 2007-03-19 | 2012-10-09 | Igt | Centralized licensing services |
US20080305854A1 (en) * | 2007-06-06 | 2008-12-11 | Igt | Database queries within a gaming machine |
US8285740B2 (en) | 2007-06-06 | 2012-10-09 | Igt | Database queries within a gaming machine |
US20100285875A1 (en) * | 2007-08-31 | 2010-11-11 | Lava Two, Llc | Gaming device for multi-player games |
US8572176B2 (en) | 2007-08-31 | 2013-10-29 | Lava Two, Llc | Forward path multi-media management system with end user feedback to distributed content sources |
US8308573B2 (en) * | 2007-08-31 | 2012-11-13 | Lava Two, Llc | Gaming device for multi-player games |
US20100241527A1 (en) * | 2007-08-31 | 2010-09-23 | Lava Two, Llc | Transaction management system in a multicast or broadcast wireless communication network |
US8509748B2 (en) | 2007-08-31 | 2013-08-13 | Lava Two, Llc | Transaction management system in a multicast or broadcast wireless communication network |
US20100228814A1 (en) * | 2007-08-31 | 2010-09-09 | Lava Two ,LLC | Forward path multi-media management system with end user feedback to distributed content sources |
US20090070081A1 (en) * | 2007-09-06 | 2009-03-12 | Igt | Predictive modeling in a gaming system |
US9721434B2 (en) | 2007-09-18 | 2017-08-01 | Igt | Multi-card bingo game features |
US9449468B2 (en) | 2007-09-18 | 2016-09-20 | Igt | Multi-card bingo game features |
US8506384B2 (en) | 2007-09-18 | 2013-08-13 | Igt | Multi-card bingo game features |
US9613487B2 (en) | 2007-11-02 | 2017-04-04 | Bally Gaming, Inc. | Game related systems, methods, and articles that combine virtual and physical elements |
US8734245B2 (en) | 2007-11-02 | 2014-05-27 | Bally Gaming, Inc. | Game related systems, methods, and articles that combine virtual and physical elements |
US8920236B2 (en) | 2007-11-02 | 2014-12-30 | Bally Gaming, Inc. | Game related systems, methods, and articles that combine virtual and physical elements |
US8275848B2 (en) | 2007-11-12 | 2012-09-25 | Bally Gaming, Inc. | System and method for one-way delivery of notifications from server-to-clients using modified multicasts |
US8201229B2 (en) | 2007-11-12 | 2012-06-12 | Bally Gaming, Inc. | User authorization system and methods |
US8819124B2 (en) | 2007-11-12 | 2014-08-26 | Bally Gaming, Inc. | System and method for one-way delivery of notifications from server-to-clients using modified multicasts |
US8616958B2 (en) | 2007-11-12 | 2013-12-31 | Bally Gaming, Inc. | Discovery method and system for dynamically locating networked gaming components and resources |
US9503691B2 (en) | 2008-02-19 | 2016-11-22 | Time Warner Cable Enterprises Llc | Methods and apparatus for enhanced advertising and promotional delivery in a network |
US8613655B2 (en) | 2008-04-30 | 2013-12-24 | Bally Gaming, Inc. | Facilitating group play with multiple game devices |
US9483911B2 (en) | 2008-04-30 | 2016-11-01 | Bally Gaming, Inc. | Information distribution in gaming networks |
US9005034B2 (en) | 2008-04-30 | 2015-04-14 | Bally Gaming, Inc. | Systems and methods for out-of-band gaming machine management |
US9092944B2 (en) | 2008-04-30 | 2015-07-28 | Bally Gaming, Inc. | Coordinating group play events for multiple game devices |
US8721431B2 (en) | 2008-04-30 | 2014-05-13 | Bally Gaming, Inc. | Systems, methods, and devices for providing instances of a secondary game |
US8251803B2 (en) | 2008-04-30 | 2012-08-28 | Bally Gaming, Inc. | Overlapping progressive jackpots |
US8856657B2 (en) | 2008-04-30 | 2014-10-07 | Bally Gaming, Inc. | User interface for managing network download and configuration tasks |
US8366542B2 (en) | 2008-05-24 | 2013-02-05 | Bally Gaming, Inc. | Networked gaming system with enterprise accounting methods and apparatus |
US8382584B2 (en) | 2008-05-24 | 2013-02-26 | Bally Gaming, Inc. | Networked gaming system with enterprise accounting methods and apparatus |
US9443377B2 (en) | 2008-05-30 | 2016-09-13 | Bally Gaming, Inc. | Web pages for gaming devices |
US8412768B2 (en) | 2008-07-11 | 2013-04-02 | Ball Gaming, Inc. | Integration gateway |
US10235832B2 (en) | 2008-10-17 | 2019-03-19 | Igt | Post certification metering for diverse game machines |
US8851988B2 (en) | 2008-11-14 | 2014-10-07 | Bally Gaming, Inc. | Apparatus, method, and system to provide a multiple processor architecture for server-based gaming |
US8347303B2 (en) | 2008-11-14 | 2013-01-01 | Bally Gaming, Inc. | Apparatus, method, and system to provide a multi-core processor for an electronic gaming machine (EGM) |
US8266213B2 (en) | 2008-11-14 | 2012-09-11 | Bally Gaming, Inc. | Apparatus, method, and system to provide a multiple processor architecture for server-based gaming |
US8423790B2 (en) | 2008-11-18 | 2013-04-16 | Bally Gaming, Inc. | Module validation |
US8073657B2 (en) | 2009-03-03 | 2011-12-06 | Igt | 3-D casino gaming floor visualization utilizing real-time and batch data |
US8249835B2 (en) | 2009-03-03 | 2012-08-21 | Igt | 3-D casino gaming floor visualization utilizing real-time and batch data |
US20100228526A1 (en) * | 2009-03-03 | 2010-09-09 | Igt | 3-d casino gaming floor visualization utilizing real-time and batch data |
US8192283B2 (en) | 2009-03-10 | 2012-06-05 | Bally Gaming, Inc. | Networked gaming system including a live floor view module |
US9948985B2 (en) | 2009-07-02 | 2018-04-17 | Time Warner Cable Enterprises Llc | Method and apparatus for network association of content |
US9094713B2 (en) | 2009-07-02 | 2015-07-28 | Time Warner Cable Enterprises Llc | Method and apparatus for network association of content |
US10397657B2 (en) | 2009-07-02 | 2019-08-27 | Time Warner Cable Enterprises Llc | Method and apparatus for network association of content |
US20110028202A1 (en) * | 2009-07-29 | 2011-02-03 | Waterleaf Limited | Methods and Devices for Reel-Type Wagering with Bonus Games |
US20110224000A1 (en) * | 2010-01-17 | 2011-09-15 | James Toga | Voice-based entertainment activity in a networked enviorment |
US20120072540A1 (en) * | 2010-09-16 | 2012-03-22 | Hitachi, Ltd. | Method of Managing A File Access In A Distributed File Storage System |
US8489709B2 (en) * | 2010-09-16 | 2013-07-16 | Hitachi, Ltd. | Method of managing a file access in a distributed file storage system |
US20120302324A1 (en) * | 2011-05-24 | 2012-11-29 | Wms Gaming, Inc. | Player incentives for wagering game transfers |
US8475283B2 (en) * | 2011-05-24 | 2013-07-02 | Wms Gaming, Inc | Player incentives for wagering game transfers |
US9898889B2 (en) | 2011-06-06 | 2018-02-20 | Bally Gaming, Inc. | Remote game play in a wireless gaming environment |
US9058716B2 (en) | 2011-06-06 | 2015-06-16 | Bally Gaming, Inc. | Remote game play in a wireless gaming environment |
US8672750B2 (en) | 2011-09-28 | 2014-03-18 | Igt | Gaming system, gaming device and method for reporting for multiple concurrently played games |
US8540567B2 (en) | 2011-09-28 | 2013-09-24 | Igt | Gaming system, gaming device and method for moderating remote host initiated features for multiple concurrently played games |
US9293000B2 (en) | 2011-09-28 | 2016-03-22 | Igt | Gaming system, gaming device and method for moderating remote host initiated features for multiple concurrently played games |
US10339753B2 (en) | 2011-09-28 | 2019-07-02 | Igt | Gaming system, gaming device and method for moderating remote host initiated features for multiple concurrently played games |
US9120007B2 (en) | 2012-01-18 | 2015-09-01 | Bally Gaming, Inc. | Network gaming architecture, gaming systems, and related methods |
US9792770B2 (en) | 2012-01-18 | 2017-10-17 | Bally Gaming, Inc. | Play for fun network gaming system and method |
US10403091B2 (en) | 2012-01-18 | 2019-09-03 | Bally Gaming, Inc. | Play for fun network gaming system and method |
US9165424B2 (en) | 2012-09-11 | 2015-10-20 | Igt | Thin client support for a gaming machine |
US9129469B2 (en) * | 2012-09-11 | 2015-09-08 | Igt | Player driven game download to a gaming machine |
US9569921B2 (en) | 2012-09-11 | 2017-02-14 | Igt | Player driven game download to a gaming machine |
US8734244B2 (en) | 2012-09-11 | 2014-05-27 | Igt | Thin client support for a gaming machine |
US10607449B2 (en) | 2013-03-08 | 2020-03-31 | Igt | Gaming system and method for providing a game including roaming wild symbols |
US9466169B2 (en) | 2013-03-08 | 2016-10-11 | Igt | Gaming system and method for providing a game including roaming wild symbols |
US9098847B2 (en) | 2013-03-08 | 2015-08-04 | Igt | Gaming system and method for providing a game including roaming wild symbols |
US9633506B2 (en) | 2013-03-08 | 2017-04-25 | Igt | Gaming system and method for providing a game including roaming wild symbols |
US9098973B2 (en) | 2013-03-08 | 2015-08-04 | Igt | Gaming system and method for providing a game including roaming wild symbols |
US11076203B2 (en) | 2013-03-12 | 2021-07-27 | Time Warner Cable Enterprises Llc | Methods and apparatus for providing and uploading content to personalized network storage |
US9208648B2 (en) | 2013-09-12 | 2015-12-08 | Igt | Gaming system and method for triggering a random secondary game in association with multiple concurrently played primary games |
US9501894B2 (en) | 2013-09-12 | 2016-11-22 | Igt | Gaming system and method for triggering a secondary game in association with multiple concurrently played primary games |
CN103617059A (en) * | 2013-12-03 | 2014-03-05 | 珠海迈科电子科技有限公司 | Game downloading method and device for non-intelligent set top box |
US9875618B2 (en) | 2014-07-24 | 2018-01-23 | Igt | Gaming system and method employing multi-directional interaction between multiple concurrently played games |
USD780201S1 (en) | 2014-09-26 | 2017-02-28 | Igt | Gaming system display with graphical user interface |
US10706689B2 (en) | 2014-09-26 | 2020-07-07 | Igt | Gaming system and method employing multiple symbol generators utilized for multiple concurrently played games |
US9934646B2 (en) | 2015-05-29 | 2018-04-03 | Pridefield Limited | Gaming machine with rearrangement of wild symbols |
US9959703B2 (en) | 2015-05-29 | 2018-05-01 | Pridefield Limited | Gaming machine with symbol replacement |
US10613887B2 (en) * | 2015-10-21 | 2020-04-07 | International Business Machines Corporation | Ordering optimization of host machines in a computing environment based on policies |
US10613889B2 (en) * | 2015-10-21 | 2020-04-07 | International Business Machines Corporation | Ordering optimization of host machines in a computing environment based on policies |
US10163305B2 (en) | 2016-04-28 | 2018-12-25 | Pridefield Limited | Gaming machine with symbol locking |
US10395480B2 (en) | 2016-04-28 | 2019-08-27 | Pridefield Limited | Gaming machine with symbol accumulation |
US9997012B2 (en) | 2016-04-28 | 2018-06-12 | Pridefield Limited | Gaming machine with symbol restriction |
US10068432B2 (en) | 2016-04-28 | 2018-09-04 | Pridefield Limited | Gaming machine with symbol propagation |
US10262500B2 (en) | 2016-04-28 | 2019-04-16 | Pridefield Limited | Gaming machine with symbol propagation |
US10685530B2 (en) | 2016-10-31 | 2020-06-16 | Pridefield Limited | Software-based simulation of symbol locking |
US11062553B2 (en) | 2016-10-31 | 2021-07-13 | Fusion Holdings Limited | Software-based simulation of symbol replacement |
US10636242B2 (en) | 2016-10-31 | 2020-04-28 | Pridefield Limited | Software-based simulation of symbol replacement |
US10522005B2 (en) | 2017-02-06 | 2019-12-31 | Fusion Holdings Limited | Software-based simulation of trigger symbol movement |
US11132867B2 (en) | 2017-02-06 | 2021-09-28 | Fusion Holdings Limited | Software-based simulation of trigger symbol movement |
US10970968B2 (en) | 2018-04-18 | 2021-04-06 | Igt | System and method for incentivizing the maintenance of funds in a gaming establishment account |
Also Published As
Publication number | Publication date |
---|---|
EP1709603A1 (en) | 2006-10-11 |
CA2553361A1 (en) | 2005-08-04 |
AU2005207319B2 (en) | 2010-11-18 |
WO2005071631A1 (en) | 2005-08-04 |
AU2005207319A1 (en) | 2005-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2005207319B2 (en) | Methods and apparatus for gaming data downloading | |
US8460096B2 (en) | Apparatus and method for copying gaming machine configuration settings | |
CA2402576C (en) | Gaming machine with promotional item dispenser | |
US7841942B2 (en) | Gaming system license management | |
US7351140B2 (en) | Method and apparatus for rewarding multiple game players for a single win | |
EP1472657B1 (en) | Method and apparatus for providing a personal wide area progressive prize for a gaming apparatus | |
AU2002244336A1 (en) | Gaming system license management | |
EP1709602A1 (en) | Methods and apparatus for providing customized games and game content for a gaming apparatus | |
AU2002250481B2 (en) | Automated selection of video gaming options | |
US20050107149A1 (en) | Gaming apparatus with a removable recordable storage memory | |
AU2007237259B2 (en) | Apparatus and method for copying gaming machine configuration settings | |
AU785255B2 (en) | Gaming machine with promotional item dispenser | |
EP1488391A1 (en) | Method and apparatus for rewarding multiple game players for single win |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: IGT, NEVADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NELSON, DWAYNE;BENBRAHIM, JAMAL;LEMAY, STEVEN G.;REEL/FRAME:015240/0095;SIGNING DATES FROM 20040106 TO 20040108 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |