Abstract:
This description describes methods and apparatuses of a peer-to-peer distributed gaming application networks. In one embodiment a method includes receiving, from a server, an indication that a plurality of gaming terminals will participate in a shared gaming session, wherein the server is not configured to operate as a gaming terminal, and wherein the server is configured to establish a virtual communication network to enable the plurality of gaming terminals to participate in the shared gaming session. The method also includes serving the shared gaming session to the plurality of gaming terminals and determining an outcome of the shared gaming session, wherein the server is not configured to determine an outcome of the shared gaming session.

Description:
RELATED APPLICATIONS  
       [0001]     This application is a Continuation of U.S. patent application Ser. No. 10/453,425, filed Jun. 3, 2003, which application is incorporated herein by reference. 
     
    
     LIMITED COPYRIGHT WAIVER  
       [0002]     A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. Copyright 2006, WMS Gaming, Inc.  
       FIELD  
       [0003]     Some embodiments relate generally to gaming terminals and, more particularly, to a system and method for networking gaming terminals to allow gaming terminals to participate in the same wagering game.  
       BACKGROUND  
       [0004]     Gambling has become an increasingly important and popular form of entertainment. Particularly important to the gaming industry are electronic gaming terminals that can provide a wide variety of entertainment formats to individual players. Electronic gaming terminals may, for example, include reel slot machines, video poker machines, and video bingo machines. Because such gaming terminals are an important source of income for the gaming industry, casinos continually search for new ways to improve the profitability of their gaming machines by increasing functional capabilities. This includes improving their entertainment value by providing more sophisticated games, visual/audio displays, and user-friendly interfaces. It also includes better gaming terminal security, player tracking data for customizing marketing strategies, and more sophisticated financial and accounting reports.  
         [0005]     Originally gaming machines were provided as stand alone devices that operated independently. Today, most gaming machines are in serial communication with at least one computer that provides serial polling of the gaming machines in a master-slave communication protocol to obtain gaming terminal data. Typically, each gaming function is performed by a separate host computer, which operates independently of any other host computers connected to the gaming machines. For example, an accounting computer, a player tracking computer, and a progressive game computer may all operate independently to perform a specific function.  
         [0006]     Although these gaming terminals are connected to a central host computer, a gaming terminal is unable to share a wagering game experience with any other gaming terminal. This precludes any type of competitive or collaborative gaming, and any other type of shared game interaction with another player. These serial-based systems have limited communication capabilities. To support these new gaming wagering methods effectively and adequately, new types of networked systems are needed to support competitive and collaborative types of wagering games, allowing players to share the same gaming experience.  
         [0007]     Some manufacturers have proposed developing a network of gaming terminals controlled by a server to provide gaming applications to each individual gaming terminal. In these systems, the distributed application server determines the game outcome and delivers the results of the game to the gaming terminal. This type of gaming system is termed central determination. The gaming terminals simply function as presentation devices for the distributed application server. This configuration presents problems on two regulatory fronts.  
         [0008]     First, central determination of a game outcome is illegal and not allowed in many jurisdictions. Second, even if the jurisdictions do allow the central determination of game outcomes, such a server would have to be licensed as a gaming device in that jurisdiction. To license a server requires specialized testing in individual jurisdictions and represents another hurdle for gaming manufacturers to overcome.  
         [0009]     In addition, using a central server for serving gaming applications has certain technological problems. First, the communication traffic in such a centralized system is extremely heavy. All game play information must be first communicated to the server and then relayed to those gaming terminals on which a gaming application is being shared. The long communication path can create latency problems that prevent the game from playing sufficiently quickly. In addition, timing becomes much more critical for competitive and collaborative gaming where a player may be given a limited time to respond to the game action.  
         [0010]     An additional problem with centrally served games is that players may want to play individual games, rather than participating in a shared gaming experience. A central server could potentially be heavily burdened supporting many individual gaming terminals. Such a system is susceptible to a single failure with the potential for incapacitating large numbers of gaming terminals on the network.  
         [0011]     To overcome these problems, a new gaming terminal network is required that allows players at different terminals to participate in a shared gaming experience with other players. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0012]      FIG. 1  is a perspective view of an embodiment of a gaming terminal.  
         [0013]      FIG. 2  is a block diagram of the electronic components typically used in the gaming terminal of  FIG. 1 .  
         [0014]      FIG. 3  is a network diagram, according to example embodiments of the invention.  
         [0015]      FIG. 4  is a block diagram of using a carousel controller to implement a virtual communication network between gaming terminals, according to example embodiments of the invention.  
         [0016]      FIG. 5  is a block diagram of using a virtual communication network implemented directly between gaming terminals, according to example embodiments of the invention.  
         [0017]      FIG. 6  is a software flowchart for establishing and operating a shared gaming session, according to example embodiments of the invention.  
     
    
     DETAILED DESCRIPTION  
       [0018]     The description of the preferred examples is to be construed as exemplary only and does not describe every possible embodiment of the invention. Many 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 some embodiments of the invention.  
         [0019]     Some embodiments enable many players to share and participate in the same game experience from their individual gaming terminals. Player participation may be either passive or active participation. Passive participation may allow a player to wager on another player&#39;s outcome. Active participation may include competitive or collaborative gaming that allows a player to participate in the shared game experience by making individual selections and decisions during the game that may affect the game outcome.  
         [0020]     For example, in a passive game, a player may win a base game and be offered a bonus game. Such a bonus game may also be offered to players in a select group, allowing the other players to place side bets on the outcome of the bonus game. Alternately, in an active participation game, players may compete by making individual selections that may determine the winner of the bonus game.  
         [0021]     To enable this game participation among players, some embodiments utilize a gaming network having a server linked to a number of gaming terminals. The server in the gaming network establishes a separate virtual communication network. This virtual communication network is used to establish a distributed gaming session that shares a gaming application among a number of participating gaming terminals within the gaming network.  
         [0022]     The virtual communication network is a network of gaming terminals structured through a peer-to-peer network architecture. In contrast to a central server, the use of a peer-to-peer architecture allows the gaming terminals themselves to be used as the server of the gaming application to other gaming terminals. A distributed application server is still used, but it is dedicated to providing the shared gaming session&#39;s administrative functions.  
         [0023]     The distributed gaming server has at least two primary functions. The first is to help establish a virtual communication network between selected gaming terminals sharing game applications. These communication channels are required to ensure all gaming application messages sent are received by the appropriate gaming terminals. Once these communication channels are established, the gaming application data is transmitted directly between selected gaming terminals. The second function of the distributed gaming server is to administratively control the shared gaming experience session. The server remains in the background, constantly monitoring the gaming session, and always available to manage gaming terminal participation when players enter and leave the shared gaming application.  
         [0024]     Some embodiments facilitate shared, collaborative, and competitive gaming among players. They accomplish this task through their peer-to-peer network architecture. Additional aspects of some embodiments of the invention will be apparent to those of ordinary skill in the art in view of the detailed description of various embodiments which is provided below.  
         [0025]     Some embodiments provide a gaming system and method for allowing multiple gaming terminals to participate in shared game play occurring at another terminal. The shared game experience may be competitive, collaborative, or shared. Participation in the game may be passive, such as placing a side bet. Participation may also be active, such as direct competition with other players, or collaborative team play.  
         [0026]     Players may have the option of participating in the shared game play, or playing the individual games offered at their own gaming terminal. The player-shared games may be in addition to any individual game a player may be playing or instead of the individual game. Individual games may become shared games as desired by the player. Further, individual games may be associated with the shared game such that the outcome in the individual game affects the outcome in the shared game. The distribution of shared games from a gaming terminal to other gaming terminals may be described as a distributed gaming session.  
         [0027]     Some embodiments may use any gaming terminal that is network enabled with a peer-to-peer architecture.  FIG. 1  shows a perspective view of a typical gaming terminal  20  that may be used with this peer-to-peer architecture. The gaming terminal may have varying structures and methods of operation. For example, the gaming terminal  20  may be a mechanical gaming terminal configured to play mechanical slots, or it may be an electro mechanical or electrical gaming terminal configured to play a video casino game such as blackjack, slots, keno, poker, etc. Typical components found in a gaming terminal  20  are described below. It should be understood that many other elements exist and may be used in any number of combinations to create a variety of gaming terminal types.  
         [0028]     The game itself is displayed to the player on a visual display  26 , such as a video display. The video display may take the form of a cathode ray tube (CRT), a high resolution LCD, a plasma display, LED, or any other type of video display suitable for use in a gaming terminal. The visual display  26  may include a touch screen overlaying the monitor to allow players to make game related selections. In the alternative, instead of a video display, the gaming terminal  20  may have several mechanical reels to display the game outcome.  
         [0029]     A push button panel  22  is also typically offered, in addition to the touch screen, to provide players an option on how they make their game selections. A wager acceptor may include a coin slot acceptor  28  or a note acceptor  29  to enter value to the gaming terminal  20 .  
         [0030]     Many gaming terminals are also equipped with a player tracking card reader  24 . A player may be enrolled in the gaming establishment&#39;s player club and may be awarded certain complimentary services/offers as that player collects points on his player tracking account. The player inserts his card into the reader, which allows the casinos computers to register that player&#39;s play at that gaming terminal. The gaming terminal  20  may also include a display  27  to be used with the player tracking card and card reader  24 .  
         [0031]     Many gaming establishments are implementing systems that are less dependent on cash. These systems often rely on ticket printers  23  that are installed on the gaming terminal  20 . These ticket printers may be used to print and/or read ticket vouchers, which are encoded with some monetary value. Typically these systems utilize a barcode and barcode reader to read the ticket voucher, which generally contains the casino name, ticket voucher validation number, etc.  
         [0032]     These various potential components of a gaming terminal are controlled by a central processing unit (CPU)  18  (such as a microprocessor or micro controller) as shown in  FIG. 2 . The central processing unit  18  operates to execute a game program. The CPU  18  may comprise a volatile memory  13  (e.g., a random-access memory (RAM)), a non-volatile (or static memory)  14  (such as an EEPROM), and an input/output (I/O) circuit  15 . It should be appreciated that although only one microprocessor is shown, the central processing unit may include multiple microprocessors. Similarly, the memory of the central processing unit may include multiple RAM and multiple program memories. Although the I/O circuit may be shown as a single block, it should be appreciated that the I/O circuit may include many different types of I/O circuits. A SMIB  25  (also known as a slot machine interface board) is also shown. The SMIB is used as the communication interface between the slot machine and servers used in the typical master-slave communication protocol. However, some embodiments could just as easily be implemented in a client/server network.  
         [0033]     In addition to executing the game program, the CPU also controls and is in communication with each of the peripheral devices comprising the gaming terminal. A variety of peripheral devices may be used in a gaming terminal. Peripheral devices may include a push button panel  22 , a player tracking card reader  24 , a video display  26 , etc. Although several peripheral devices are depicted in  FIG. 2 , more or fewer peripheral devices may be included in a gaming terminal.  
         [0034]     As mentioned above, these gaming terminals are connected in a local area network using a flat, peer-to-peer physical topology as shown in  FIG. 3 . The network may be an open or public protocol such as TCP/IP (Transmission Control Protocol/Internet Protocol). Other network communication protocols that potentially could be used include ATM, SLIP, PPP, or a layer protocol transmitted onto TCP/IP. The LAN may also use any physical communication medium needed (e.g., Ethernet, fiber optic, wireless Ethernet, etc.). The architecture is scalable and can be divided into multiple logical tiers.  
         [0035]     The peer-to-peer configuration allows gaming terminals to act as servers, providing gaming applications directly to other gaming terminals. In some embodiments, the game application is not served from a single fixed place, as is the case for systems with a central server. Instead, some embodiments allow the game application to be served from potentially any gaming terminal.  
         [0036]      FIG. 3  shows a typical peer-to-peer network using a distributed application server  10   a  and gaming terminals  20  connected by a TCP/IP Ethernet network. The distributed application server  10   a  is used to provide administrative functions required to establish a virtual communication network  54  to enable the gaming terminals to act as gaming application servers to other gaming terminals in the network. In essence, the gaming network  52  helps establish the virtual communication network  54 .  
         [0037]     Various switches  32  and carousel controllers  30  increase efficiency of communications on the network. A carousel controller  30  may be used to link a local bank of gaming terminals to increase network efficiency. The carousel controller  30 , however, is not necessary to set up some embodiments of the invention. Switches are also available to increase communication efficiency. Switches may be used at the carousel controller  30  to restrict associated network traffic to the carousel controller network segment. Each carousel controller  30  may further be connected to the distributed application server  10   a . Other servers, such as  10   b , may also be provided on the network to perform specialized gaming functions for the gaming terminals on the network. These gaming functions may include accounting, player tracking, progressive game controls, and cashless gaming. These servers are described below.  
         [0038]     The progressive computer  10   b  of  FIG. 3  manages a variety of promotional bonuses such as multiple jackpots, mystery jackpots, progressive jackpots, or player specific bonuses. The progressive computer also has Wide Area Progressive (WAP) game management data capability that allows multiple gaming terminals to contribute to, and compete for, system-wide jackpots.  
         [0039]     Any number of additional servers may be used in the network, which operate transparently to the distributed application server  10   a . These servers provide the following gaming functions, and although not shown in  FIG. 3 , are similarly connected to the network, as are servers  10   a  and  10   b.    
         [0040]     The slot accounting server monitors the financial transactions occurring on each individual gaming terminal  20  by collecting data such as credits in, out, played and won, the titles, terminals, denominations, and number of games played, the duration and specific times of play. The amount and types of collected audit data may be varied to suit a particular casino. The slot accounting server may compile an accounting report based on the data received from each of the individual gaming terminals, which may be used by management to assess the performance and profitability of the gaming terminals  20 .  
         [0041]     The player tracking server tracks individual player usage of the gaming terminals  20 . When a player enrolls in a casino&#39;s player tracking system, often called a “slot club” or a “rewards program,” the casino issues a player identification card encoded with a player identification number that uniquely identifies the player. The identification card may, for example, be a magnetic card or a smart (chip) card. Each terminal  20  is fitted with a card reader (e.g., card reader  24  in  FIG. 1 ) into which the player inserts his or her identification card before playing the associated terminal  20 . The card reader reads the player&#39;s identification number off the card and informs the player tracking computer connected thereto of the player&#39;s subsequent gaming activity. This allows gaming establishments to target individual players with direct marketing techniques, comps, and other rewards according to the individual&#39;s usage.  
         [0042]     The cashless gaming server manages and validates electronic funds transactions. For example, the cashless gaming computer may store funds in monetary accounts at the computer, authorize the transfer of funds between accounts and gaming terminals  20 , and associate the accounts with portable instruments such as cards or tickets used by players at the gaming terminals  20 .  
         [0043]     The servers  10  described above are all normally found in gaming establishments and generally function independently to carry out their specific gaming functions. These servers operate transparently to the other servers on the network. As noted above, to start distributed gaming sessions, a dedicated distributed application server  10   a  may be used, though if needed, any number of gaming functions may be incorporated into a single server, as shown in  FIG. 4 . The distributed application server  10   a , or simply server, controls the administrative functions governing the shared use of gaming applications among the gaming terminals using the session manager  40 .  
         [0044]     The session manager  40  is the mechanism that organizes distributed application sessions, also known as shared gaming sessions. These shared gaming sessions are community games that allow players at individual gaming terminals to share the same game experience. The session manager  40  is a software module that typically resides on the distributed application server  10   a . The session manager  40  is responsible for initiating, maintaining, and terminating the distributed application session (gaming session). The session manager  40  responds to these signals and performs its function through three primary software sub-modules: an authorization and configuration service module  46 , a session maintenance module  42 , and a membership management module  44 .  
         [0045]     The eligibility of a gaming terminal to participate in a session is determined by the authorization and configuration service module  46 . Eligibility is a configuration issue and refers to whether or not a specific gaming terminal is allowed to participate in a particular distributed application. Eligibility may depend upon a variety of factors that include (but are not limited to) gaming terminal firmware, the distributed application on the terminal, and physical location. In addition, the eligibility of a gaming terminal (or group of gaming terminals) to participate in a particular distributed application may change over time.  
         [0046]     The authorization and configuration service module  46  maintains a persistent data store that defines the eligibility matrix of all gaming terminals and distributed applications under its jurisdiction. Through this eligibility matrix the session manager  40  may verify that a requesting participant is eligible to join the specified session. The authorization and configuration service module  46  will forward any changes in the eligibility of participants to the membership management module  44  of the session manager  40 .  
         [0047]     The membership management module  44  of the session manager  40  is responsible for creating an association matrix  47  (or simply association) for the gaming terminals that are participating in a distributed application. To perform this function, the membership management module  44  distinguishes gaming terminals by eligibility and participation. To participate, the gaming terminal must first be eligible as determined by the authorization and configuration service module  46 . The association matrix  47  contains all of the participating gaming terminals in a specific distributed application session. Participation refers to the state where an eligible participant has joined a particular session and can both send and receive application messages. Active participation may be mandatory (and automatic). Conversely, active participation may be voluntary for some game types. As an example, a player has the option of placing side bets in a community-based bonus game, but is not required to do so.  
         [0048]     The association matrix  47  created by the membership management module  44  is dynamic as players enter and leave the game, either voluntarily or involuntarily. During any particular session a player at a gaming terminal can be added to the session, dropped from the session, or can voluntarily terminate the session. To join the shared gaming session, a gaming terminal sends an add signal to the distributed application server  10   a . To be dropped from the shared gaming session, the gaming terminal sends a drop signal to the distributed application server  10   a . Besides voluntary requests to leave the distributed gaming session, the membership management module  44  may receive eligibility notifications from the authorization and configuration service module  46 . These notifications are processed by the membership management module  44  to change the status of the gaming terminal and require player removal from the session.  
         [0049]     To provide orderly control over changing conditions the session manager  40  dynamically updates the association matrix  47  to account for changes in participation. The revised association matrix  47  is communicated to the distributed application gaming network to modify the virtual communication network  54  to reflect changes in participation.  
         [0050]     The membership management module  44 , in addition to maintaining participation status, also enables the distributed application server  10   a  to establish a virtual communication network  54  to allow the routing and distribution of application messages between gaming terminals that are active participants in the distributed application. The session manager  40  controls the shared gaming session utilizing session management messages that coordinates the virtual communication network  54  linking participating gaming terminals, and all other messaging requirements necessary to manage the distributed application. The session manager  40  messages originate from the server and perform all the necessary communications to implement and terminate the shared gaming application. In contrast, the application messages originate from the participating gaming terminals to support the shared gaming application.  
         [0051]     Although the peer-to-peer configuration discussed above has many advantages, it introduces a level of complexity with gaming applications that require special consideration for such a system to effectively control communications between gaming terminals. For example, each gaming session may have a unique set of gaming terminal participants. Some peer-to-peer architectures may require a systematic software methodology with a hardware configuration to ensure that messages are correctly broadcast and received by participating gaming terminals. To handle such dynamic considerations associated with wagering type games, some embodiments include a virtual communications module  48  to coordinate communications between gaming terminals.  
         [0052]     The session manager  40  enables the virtual communications module  48  to establish the peer-to-peer communications between the gaming terminal acting as the application server with other participating gaming terminals. The session manager  40  establishes a virtual communication network  54  using the session structure  45  and its association matrix  47  created by the membership management module  44 . The distributed application session structure  45  contains the distributed application session ID, the distributed application type ID (to identify the game), and the association matrix  47 . With the association matrix  47 , the distributed application server  10   a  can administer and organize the communication flow between the gaming participants, creating a virtual communication network  54  for each gaming session.  
         [0053]     The association matrix  47  identifies the participating gaming terminals and determines the virtual communication network  54  that the distributed application server establishes. Machine identifiers associated with the participating gaming terminals, and any other ancillary devices required, are used to build the association matrix  47 . Not all information contained in the session structure  45  may be necessary for establishing the virtual communication network  54 . The use of the association matrix  47  ensures that the gaming terminals are both eligible and participating in the shared game.  
         [0054]     The information contained in the association matrix  47  may vary dependent upon the number of simultaneous distributed applications allowed at each gaming terminal. If the gaming terminal is limited to a single distributed application, only a limited data set may be needed. If the gaming terminal is running multiple distributed applications simultaneously, however, the additional information from the session structure  45  may need to be imported into the association matrix  47  to maintain administrative control over the network.  
         [0055]     With the association matrix  47 , the gaming terminals can use the virtual communication network  54  to communicate with other participating gaming terminals. Through this virtual communication network  54 , application management messages may be sent between participating gaming terminals to allow game sharing. The virtual communication network  54  is sufficiently flexible to allow senders to tag application messages to show the type of delivery, including delivery to all session participants, to a specific participant, to the host, etc.  
         [0056]     There are at least two possible implementation embodiments through which the association matrix  47  and the virtual communication network  54  can function. The two embodiments are the proxy and broker model, and may be distinguished by their location and the ownership of the virtual communication network  54 . In the broker model as shown in  FIG. 4 , the session manager  40  creates a virtual communication network  54  directly between the gaming terminals. As a result, the session structure  45  is created in the distributed application server  10   a . The association matrix  47  is subsequently transferred to at least the server gaming terminal. These games only require communication between a server gaming terminal and a selected client terminal. Several client gaming terminals may participate in this shared game application, but communication channels may only be created between the server gaming terminal and a participating client gaming terminal.  
         [0057]     In more complicated games, it may be necessary to establish a communication channel between two client terminals participating in a shared gaming application. In this case, the association matrix  47  may need to be downloaded to all the participating gaming terminals  20   b ,  20   c  involved in the shared application. The gaming terminals within the association matrix  47  may communicate directly to each other through the virtual communication network  54  defined by the association matrix  47 .  
         [0058]     The association matrix  47  may, in some cases, be downloaded and stored in each of the gaming terminals before it is called upon to establish a virtual communication network  54 . However, in most cases, the association matrix  47  will be downloaded only after a triggering event occurs that results in a request for a shared gaming session. In either case, the association matrix  47  may also be downloaded to ancillary equipment that may be necessary to efficiently establish the virtual communication network  54 . These ancillary devices include switches, routers, and other similar types of network equipment.  
         [0059]     The advantage of the broker model system is reduced network traffic because of the direct communication, and reduced latency once the virtual communication network  54  is established. The reduced latency decreases system response time and is particularly useful for those games requiring communication of time sensitive information.  
         [0060]     One disadvantage of the broker model is the complexity introduced by the need to replicate and synchronize the association matrix  47  for each participating gaming terminal. This is particularly burdensome as gaming terminals enter and leave an existing gaming session. The need to update and distribute association matrices increases the time to set up and terminate associations. This time lag introduces the possibility of gaming application errors as gaming terminals are added or dropped from the session.  
         [0061]     In contrast to the embodiment described above, in the proxy model shown in  FIG. 5 , the association matrix  47  resides on a carousel controller  30 . This is known as the proxy model as depicted in  FIG. 5 . In the proxy model, the association matrix  47  is downloaded from the distributed application server  10   a  to the carousel controller  30 . The carousel controller  30  then separately routes application messages to each individual gaming terminal using either a master-slave protocol, or a standard client/server protocol. Although this communication system is less complex than the broker model, it is more limited with respect to communications speed, at least in a master-slave communication protocol.  
         [0062]     The communication methodology described above allows some embodiments establish peer-to-peer communications between gaming terminals and allows gaming applications to be shared among designated gaming terminals. The distributed application begins when a gaming terminal initiates the distributed application session. As part of the gaming terminal&#39;s individual game programming, certain triggering events may occur during game play to cause the gaming terminal to become configured as a server. The triggering gaming terminal notifies the distributed application server  10   a  and requests a game session.  
         [0063]     The distributed application session manager  40 , residing on the distributed application server  10   a , through the session maintenance module  42 , controls the start up and termination of the session. The gaming session is initiated with a session initiation signal from one of the gaming terminals in the network. Similar to the proxy model discussed above, a session structure  45  and an association matrix  47  for each gaming session is created.  
         [0064]     The gaming session association matrix  47  identifies the server gaming terminal  20   b  acting as a temporary server for the distributed application and the client gaming terminals  20   c  participating in the distributed application.  
         [0065]     All the above information including the association matrix  47 , the application profile, the session ID, etc., is used by the distributed application server  10   a  to create a session structure  45  for each distributed application requested by a gaming terminal. The session structure  45  is used by the session manager  40  to create the association matrix  47  necessary to allow the establishment of a virtual communication network  54  between participating gaming terminals.  
         [0066]     Before the association matrix  47  can be determined, however, each of the players at each of the eligible gaming terminals must respond to an invitation sent by the distributed application server  10   a  to join the shared gaming application. Players may either accept or reject participation in the gaming session. For those gaming terminals that accept participation in the gaming session a join request is set to the distributed application server  10   a . The join requests are sent to the authorization and configuration service module  46  for validation of the requester&#39;s eligibility to join the session. The session maintenance module  42  then either accepts or refuses the request.  
         [0067]     Once the gaming terminals reply to the invitation, either accepting or rejecting the invitation, the session manager  40 , in turn, facilitates the connection of the gaming terminal acting as server to those individual gaming terminals that have accepted the invitation (i.e., client gaming terminals). The distributed application server  10   a  associates all participating gaming terminals with the gaming session ID and establishes an association matrix  47  to create a virtual communications channel for the participating gaming terminals. The distributed application server performs this function by providing all necessary information such as machine addresses to the gaming terminals involved in the community base game through the association matrix  47  (or in the case of the proxy model, supplying the association matrix  47  to the carousel controller  30 ). With this information provided by the distributed application server  10   a , each enrolled gaming terminal can communicate with the gaming terminal acting as server. The triggering gaming terminal (i.e., the server gaming terminal  20   b ), serves the gaming application to all of the active participating gaming terminals (i.e., client gaming terminals  20   c ). During this process, application messages are exchanged between the client gaming terminals and the serving gaming terminal to accomplish game play. The server gaming terminal establishes a session log that records all exchanged application messages and any session manager messages exchanged between the distributed gaming server and the server gaming terminal regarding the session.  
         [0068]     Once the distributed application has reached its final game outcome, the gaming session is terminated with a session termination signal from the gaming terminal serving the gaming application. The session termination signal is sent to the session maintenance module  42  on the distributed application server  10   a . The session maintenance module  42  terminates the distributed application, and returns the gaming terminals to their normal operating mode. In addition to the termination notification, the server gaming terminal also uploads a session log to the session manager  40 . The session manager  40  uses a session log as part of the termination procedure to account for winnings and losses between gaming terminals. The players at these gaming terminals will have their accounts debited and credited accordingly.  
         [0069]     A single distributed application server  10   a  may be used to control several or multiple distributed gaming sessions. For example, several different progressive games and several different community-based bonus games could be in simultaneous operation. Multiple types of distributed applications may be available to a single gaming terminal. Some of these games may be restricted to a single carousel controller  30  and others may operate over an entire casino or wide area.  
         [0070]     Any particular gaming terminal (or group of gaming terminals) may participate in an overlapping set of distributed applications. For example some gaming terminals might only be participating in a local progressive, while other gaming terminals are participating in both a progressive and a community-based bonus game. Each of these distributed application sessions has a unique distributed application session ID. This session ID allows the site controller to individually monitor and control gaming terminals grouped in a distributed application session.  
         [0071]     The above and described peer-to-peer gaming network and its associated session manager  40  enables new and more exciting gaming opportunities through shared gaming experience. The examples that follow demonstrate the diversity of games that can be implemented on some embodiments of the invention. These games run the gamut of competitive, collaborative, and any other shared gaming experience.  
         [0072]     For example some embodiments of the invention allow a player to place a side bet on another player&#39;s game outcomes. In this situation, an outcome may be triggered on a game that allows all eligible players (e.g., players linked to a specific carousel controller  30 ) to participate in the outcome of a bonus game. The player who hits the bonus round is called the initiator and is the only one who directly participates in the bonus game play. The other players on the carousel are notified that a bonus game has been triggered and allowed to make side bet wagers. Participation in this bonus game may be voluntary. The bonus round may be displayed on eligible gaming terminals (e.g., those gaming terminals on the same carousel) so they can observe the outcome. Once the bets are placed, the triggering gaming terminal is allowed to complete play of the bonus game. The triggering player is rewarded based on the bonus game outcome. All other participating players who have successfully wagered on the outcome of the triggering terminal are also then rewarded. This game may be viewed as individual side bet games with a shared determination of the outcome.  
         [0073]     More sophisticated side betting games can also be created. For example, the triggering player may be awarded a percentage of the total wagers made by the participating players. This increases the desirability for playing the game with the hope that a player might become a host for the bonus game and the eligible for further awards.  
         [0074]     Direct competition with other players is another variation of shared gaming that some embodiments allow to be implemented. One embodiment for direct competition uses a base game with a bonus game in a gaming terminal. A player wagers on the base game to become eligible for play in the bonus game. The base game is an individual game and not a community-based game. The base game, however, may fund the bonus pool for the bonus game. The bonus game is a community-based game in which players may compete head-to-head for the bonus pool jackpot. The bonus game may be entirely random or have some elements of skill involved.  
         [0075]     Alternately, another direct competition embodiment may involve only a base game that is served to all eligible participating gaming terminals. Certain enhancements can be made to the gaming as described above where the player who controls the serving gaming terminal is allowed to collect a higher percentage of winnings or a percentage of the total wagers made in the game.  
         [0076]     Another gaming method that may use distributed applications with some embodiments is collaborative team play. For example, players may choose to form teams to increase their probability of achieving a winning outcome by one team member. Any winning outcome achieved by the team is split evenly among the team members participating at the time of the winning outcome. For example, players in a bank of progressive gaming terminals may decide to team rather than playing individually for the progressive jackpot, splitting any winnings equally among the team members. Players could selectively opt in or opt out of the team. Alternately, players could make side bets on other players while playing their own individual progressive game. The side bet would allow a player to also win an award if another player hit the jackpot.  
         [0077]     Yet another gaming method that can be used in some embodiments involves using two servers to provide progressive type games. In progressive type games a portion of each wager is assigned to a bonus pool. Several gaming terminals may contribute to this bonus pool. A single player may win the entire bonus pool with the winning game outcome. A progressive server is typically linked to each of the gaming terminals participating in the progressive game. This progressive server typically handles the accounting functions of the progressive game and verifies jackpot winning gaming terminals. To further enhance this standard progressive type game, some embodiments can be used to provide additional enrichment to the game play. For example, it is possible to offer players the potential to collaborate as teams, pooling their combined wagers to win the progressive. Alternately, players at gaming terminals with certain outcomes may trigger a bonus event that allows players to place side bets on another player&#39;s game outcome.  
         [0078]     Still another embodiment offered by some embodiments of the invention allows two players to share the same game. In certain situations, two players may wish to confer and come to a consensus on how to play a single game. In these situations, rather then having the players crowd a single gaming terminal, some embodiments allow the same game to be presented on the visual display of an adjacent gaming terminal. Either player may then wager or select optional gaming parameters.  
         [0079]     The above games demonstrate the remarkable diversity of some embodiments of the invention with its unique peer-to-peer gaming network in association with its session manager  40  implemented on a network server.