The present invention relates to a gaming system and to a method of managing bandwidth usage in a gaming system.
It is known to provide a gaming system which comprises a plurality of player operable gaming machines connected together in a network and a remote gaming base station which communicates with the gaming machine network for example through the Internet. The remote gaming base station may cooperate with each of the gaming machines so that a game is partly implemented by the gaming machine and partly implemented by the remote gaming base station, or so that a game is predominantly implemented by the remote gaming base station and the gaming machine acts only as a terminal providing a player interface. This type of server-based gaming arrangement provides a flexible platform which simplifies gaming management by centralizing gaming management functions at the gaming base station. In particular, the arrangement allows games which are implementable using the gaming base station and the gaming machines to be updated centrally at the gaming base station, and expensive gaming machines dedicated to one or more particular games are avoided.
However, with such client-server type gaming arrangements, a problem can occur because several networked gaming machines typically share a common communications link with the remote base station which can cause gaming machines to compete with each other for bandwidth. This is of particular concern when a gaming machine performing a file download for the purpose of updating gaming machine software prevents another gaming machine from implementing a game.
Data communications in a client-server type gaming system are usually based on TCP/IP technology. In TCP/IP, basic functionality is available to handle congestion situations which may occur during data transfer from a data source by sending an Internet Control Message Protocol (ICMP) from a network card of a receiving device to the data source to stop or delay data transfer.
However, for a client-server type gaming system this mechanism is perceived to be too static since some types of data are more sensitive to delay than others.
In accordance with a first aspect of the present invention, there is provided a gaming system arranged to implement a plurality of games at a plurality of gaming machines, the gaming system comprising:
at least one server arranged to serve game play and non-game play related data to at least one gaming machine; and
a resource control unit arranged to obtain information indicative of bandwidth usage of a plurality of gaming machines, and to control the level of non-game play related data served to at least one gaming machine based on the information.
The at least one server may comprise a game play related server and a non-game play related server.
In one embodiment, the gaming system comprises a plurality of gaming machines. The gaming machines may be located in a plurality of gaming venues such that each gaming venue has a plurality of associated gaming machines.
The gaming system may comprise a communications network arranged to facilitate communications between the gaming machines and the game play and non-game play related servers. The communications network may be a wide area network such as the Internet.
In one embodiment, the gaming system is arranged to maintain a queue having a queue filling level indicative of a level of non-game play and/or game play related activity associated with each gaming venue, and the resource control unit is arranged to control the level of non-game play related data served to the at least one gaming machine based on the queue filling level.
In one embodiment, the gaming system is arranged to maintain a low priority queue having a low priority queue filling level indicative of a level of non-game play related activity associated with each gaming venue, and the resource control unit is arranged to control the level of non-game play related data served to the at least one gaming machine based on the low priority queue filling level.
The gaming system may further comprise a network access controller arranged to maintain the queue.
In one arrangement, the resource control unit is arranged to decrease the level of non-game play related data served to the at least one gaming machine if the queue exceeds a high activity threshold. The high activity threshold may be 80% of a full low priority queue.
In one embodiment, the level of non-game play related data served to the at least one gaming machine is decreased only if the queue level exceeds a high activity threshold for a predetermined period of time.
In one arrangement, the resource control unit is arranged to increase the level of non-game play related data served to the at least one gaming machine if the queue filling level is less than a low activity threshold. The low activity threshold may be 40% of a full low priority queue.
In one embodiment, the level of non-game play related data served to the at least one gaming machine is increased only if the queue filling level is less than a low activity threshold for a predetermined period of time.
In addition or alternatively, the gaming system is arranged to maintain a high priority queue having a high priority queue filling level indicative of a level of game play related activity associated with each gaming venue, and the resource control unit is arranged to control the level of non-game play related data served to the at least one gaming machine based on the high priority queue filling level.
In an alternative embodiment, the resource control unit is arranged to obtain data indicative of the available bandwidth between the communications network and each gaming venue and of the number of gaming machines associated with the gaming venue logged into the gaming system, and to control the level of non-game play related data served to the at least one gaming machine based on the obtained data.
The gaming system may comprise a lookup table arranged to store values for allowed levels of non-game play related data for available bandwidth and number of logged in gaming machines, and the resource control unit may be arranged to extract a value for an allowed level of non-game play related data from the lookup table and to modify the allowed level of non-game play related data for a venue based on the extracted value.
The gaming system may further comprise a back office database arranged to store data indicative of the available bandwidth between the communications network and each gaming venue and of the number of gaming machines associated with the gaming venue logged into the gaming system.
The gaming system may further be arranged to establish a virtual communication channel to each gaming machine and to establish a VPN tunnel for each communication channel.
The at least one non-game play related server may comprise an update server arranged to provide the gaming machines with updated software and a streaming data server arranged to provide the gaming machines with images and/or video which may be advertising information.
According to a second aspect of the present invention there is provided a method of managing bandwidth usage in a gaming system comprising a plurality of gaming machines and a communication network arranged to facilitate communications between a remote base station and the gaming machines, the method comprising:
serving game play related data to at least one gaming machine during implementation of a game;
serving non-game play related data to at least one gaming machine;
obtaining information indicative of bandwidth usage of a plurality of gaming machines; and
controlling the level of non-game play related data served to at least one gaming machine by the at least one non-game play related server based on the information.
The present invention will now be described, by way of example only, with reference to the accompanying drawings, in which:
Referring to
In this example, the gaming machines 12, 12′ are located at two gaming venues, a first gaming venue 14 including first gaming machines 12 and a second respective gaming venue 16 including second gaming machines 12′. However, it will be understood that any number of gaming venues may be associated with the gaming system 10.
The gaming machines 12, 12′ are connected together through a respective local network 22, 22′ which facilitates communications with a remote base station 18 through a wide area network, in this example the Internet 20. During use, when a communication is established between a local network 22, 22′ and the remote base station 18, all communications between a gaming venue 14, 16 and the remote base station 18 flow through a respective venue network connection 24, 24′.
The remote base station 18 includes a gaming server 30 and a game server database 32 for storing programs and data which may be served to the gaming machines 12, 12′ by the gaming server 30 during use so that the gaming machines 12, 12′ may implement a game. The game server database communicates with a back office database 34 which is arranged to store information indicative of gaming machines 12, 12′ which are associated with a venue 14, 16, which gaming machines 12, 12′ are logged in to the gaming system 10, and the available bandwidth between the remote base station 18 and the wide area network 20 and between the gaming venues and the wide area network 20.
The remote base station 18 also includes a software update server 36 and a streaming data server 38. The software update server 36 is used to provide the gaming machines 12, 12′ with updated software. The streaming data server 38 is used to provide each of the gaming machines 12, 12′ with additional information such as images, or moving pictures which may be displayed to players during or between games but which are not directly related to game play, for example advertising material.
The remote base station also includes a network access controller 40 which establishes a virtual communication channel 42 to each gaming machine 12, 12′ according to an Ethernet protocol, each communication channel 42 being associated with one gaming machine 12, 12′ and having a unique virtual IP address. The virtual communication channels 42 pass through a virtual private network (VPN) concentrator 46 which establishes a VPN tunnel 48 for each communication channel and encrypts all data flowing through the channels.
It will be understood that since the bandwidth available at each venue network connection 24, 24′ is finite and all communications from and to the gaming machines 12, 12′ pass through a venue network connection 24, 24′, the communication speeds associated with the gaming machines 12, 12′ are interdependent in that an increase in communication speed of one gaming machine has the potential to affect the communication speed available for one or more other gaming machines 12, 12′ at the same venue.
The remote base station 18 also includes a resource control unit 50 which is arranged to gather information indicative of bandwidth usage in respect of each gaming venue 14, 16 and to modify the level of low priority functions which do not directly relate to game play depending on the gathered information. In this example, the low priority functions are carried out by the update server 36 and the streaming data server 38, and operation is such that low priority activity is maintained at a level such that high priority activity, that is game play activity, is not adversely affected by low priority functions.
It will also be understood that since the gaming system 10 shown in
For example, a “thick client” arrangement may be used wherein part of the game is executed on a gaming machine 12, 12′ and part of the game is executed by the gaming server 30, or a “thin client” arrangement may be used wherein most of the game is executed remotely by the gaming server 30 and a gaming machine 12, 12′ is used only to display audible and/or visible gaming information to the player and receive gaming inputs from the player.
However, it will be understood that other arrangements are envisaged. For example, an architecture may be provided wherein the respective functions of the gaming machine 12, 12′ and the gaming server 30 are selectively modifiable. For example, the gaming system may operate in stand alone gaming machine mode, “thick client” mode or “thin client” mode depending on the game being played, operating conditions, and so on. Other variations will be apparent to persons skilled in the art.
A gaming machine 12 is illustrated in more detail in
A top box 66 may carry artwork 68, including for example pay tables and details of bonus awards and other information or images relating to the game. In this example, the top box 66 may comprise an advertising display arranged to display images and/or moving pictures served to the gaming machine 12 by the streaming data server 38. Further artwork and/or information may be provided on a front panel 70 of the console 54. A coin tray 72 is mounted beneath the front panel 70 for dispensing cash payouts from the gaming machine 12.
The display 56 is in the form of a video display unit, particularly a cathode ray tube screen device. Alternatively, the display 56 may be a liquid crystal display, plasma screen, any other suitable video display unit.
The operative components 74 include a processor 76 and a memory 78. Instructions and data to control operation of the processor 74 are stored in the memory 78. Typically, the gaming machine 12 will include both volatile and non-volatile memory and more than one of each type of memory, with such memories being collectively represented by the memory 78.
The gaming machine 12 also includes meters 80 for purposes including ensuring regulatory compliance and monitoring player credit, and an input/output (I/O) interface 82 for communicating with a player interface 84.
In the example shown in
In addition, the gaming machine 12 includes a communications interface, for example a network card 92, which facilitates communications between gaming machines 12 and with the remote base station 18 through the wide area network 20.
In this embodiment, the game server 30 implements most or all of the games played by a player using a gaming machine 12, and the gaming machine 12 essentially provides only the player interface. During use, the gaming machine 12 receives player instructions, and passes the instructions to the gaming server 30 which processes the instructions and returns game play outcomes to the gaming machine 12 for display.
It will be understood that additional servers (not shown) may be provided to assist in the administration of the gaming system 10, including for example a gaming floor management server and a licensing server to monitor the use of licenses relating to particular games. An administrator terminal may also be provided to allow an administrator to monitor the gaming system 10 and the gaming machines 12 incorporated into the gaming system 10.
Operation of an exemplary gaming system 10 will now be described with reference to the flow diagram 100 shown in
In the present example shown in
During implementation of a game, the gaming server 30 in association with the game server database 32 communicates with one or more gaming machines 12, 12′ through respective one or more VPN tunnels 48 in order to implement a game. The communications between the gaming server 30 and the gaming machines 12, 12′ are considered high priority communications since such communications are directly related to game play.
The gaming machines 12, 12′ also receive communications from the software update server 36 and the streaming data server 38 in order to distribute new or updated software to the gaming machines 12, 12′, and to provide the gaming machines 12, 12′ with streaming data such as images or moving pictures, for example for advertising purposes. The communications from the software update server 36 and the streaming data server 38 are considered low priority communications because such communications are not directly related to game play.
During use, the network access controller 40 maintains a high priority queue and a low priority queue, the high priority queue providing an indication as to the level of high priority activity, that is game play related activity, for each venue, and the low priority queue providing an indication as to the level of low priority activity, that is non-game play related activity, for each venue. The indication provided by each queue as to low or high priority activity is referred to as the filling degree and is indicative of how full the queue is.
The filling degree of each of the low and high priority queues for each venue is determined by the network access controller 40 by monitoring the data received from the gaming server 30, the software update server 36 and the steaming data server 38.
As represented by the flow diagram 100 in
Similarly, if the filling degree value associated with a venue is less than a minimum filling degree threshold, the resource control unit 50 communicates with the software update server 36 and/or the streaming data server 38 so as to increase the low priority activity.
The low priority activity may be controlled so as to increase stability in switching of the low priority activity by introducing a delay in turning low priority activity on or off. For example, in
While the above example is described in relation to monitoring a low priority queue, it will be understood that as an alternative the filling degree of the high priority queue may be monitored instead of the low priority queue and low priority activity modified based on the high priority queue.
An alternative embodiment of a gaming system 200 is shown in
The gaming system 200 is similar to the gaming system 10 shown in
The back office database 34 includes information as to which gaming machines 12, 12′ are currently logged into the gaming system and virtual IP addresses associated with the gaming machines 12, 12′; information as to the gaming machines 12, 12′ belonging to each gaming venue; the bandwidth available between the wide area network 20 and each gaming venue 14, 16; and the bandwidth available between the remote base station 18 and the wide area network 20.
It will be understood that the information indicative of the bandwidth available between the wide area network 20 and a venue 14, 16 and the information indicative of the number of gaming machines associated with the venue which are currently logged into the gaming system provides an indirect measure of bandwidth utilisation for gaming activities at the venue.
In the present example, the information derived from the back office database 34 is used with a look up table to obtain values for allowed low priority activities. For example, as shown in
As represented by the flow diagram 210 in
In the claims of this application and in the description of the invention, except where the context requires otherwise due to express language or necessary implication, the words “comprise” or variations such as “comprises” or “comprising” are used in an inclusive sense, i.e. to specify the presence of the stated features but not to preclude the presence or addition of further features in various embodiments of the invention.
Modifications and variations as would be apparent to a skilled addressee are deemed to be within the scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2007906056 | Nov 2007 | AU | national |
This application is a continuation of U.S. patent application Ser. No. 12/265,372 having a filing date of Nov. 5, 2008, which claims priority to Australian Provisional Patent Application No. 2007906056 having a filing date of Nov. 5, 2007, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 12265372 | Nov 2008 | US |
Child | 13743040 | US |