Patent Publication Number: US-2023137728-A1

Title: System and method for implementing single account and single wallet for distributed gaming system across jurisdictions

Description:
PRIORITY 
     This application claims priority to U.S. Provisional Patent Application No. 63/273,748, filed on Oct. 29, 2021, and entitled, “System and Method for Implementing Single Account and Single Wallet for Distributed Gaming System Across Jurisdictions.” 
    
    
     FIELD 
     The present patent document relates generally to distributed gaming systems and, more particularly, to a system and method for implementing a user experience in which a user maintains a single account and single wallet for distributed gaming systems, including gambling systems, across multiple jurisdictions. 
     BACKGROUND 
     Regulations of gaming and gambling vary across jurisdictions and can be complicated. 
     Online gaming and gambling have grown rapidly in recent years. Currently, millions of people around the world are able to join virtual gambling or other gaming online, such as betting on sporting events, playing card games (e.g., poker), accessing casino games (e.g., slots) using computers, laptops, phones, and tablets. The availability of these games and gambling opportunities may depend on the regulations of the particular jurisdiction where the user is located, which can present unique challenges. 
     Various gaming and gambling platforms have been developed previously. For example, U.S. Pat. No. 8,657,677 is directed to a “Client Account Managing Arrangement on an Online Gaming System.” This application and related documents describe a client account managing arrangement on an online gaming system, where each client has a permanent account on an accounting system, and an asynchronous communication server system is connected to proxies for each client/game session combination and to the accounting system. The accounting system creates a temporary reservation account for each client/game session combination that is temporarily funded and updated during game sessions. When the client stops participating in the game session, the money is transferred from the temporary reservation account back to the client&#39;s permanent account and the temporary reservation account is closed. 
     U. S. Patent App. Pub. No. 2017/0250004 is directed to a “Single Platform System for Multiple Jurisdiction Lotteries.” This application and related documents (e.g., U.S. Pat. Nos. 9,640,028; 9,659,460; 9,734,659; 10,475,290; and 11,030,860) describe a single platform system that can run in a plurality of different jurisdictions from at least one scalable platform. For example, the application and related publications describe a wireless communications system that includes a computer system running on at least one platform on which a plurality of different lottery games for different jurisdictions are supported and from which they are run. Portions of the application and related publications discuss a decentralized and distributed ledger used to record transactions for the lottery transactions. The application and related publications also describe a workflow for different types of lottery game packets from different jurisdictions. The platform described may route lottery transactions to a general account depending on location. The platform also may direct transactions to a state-specific lottery account. The platform also is described as using a “lottery wallet,” which can be loaded with value and can be used to purchase scratchers or lottery tickets. 
     U.S. Patent App. Pub. No. 2003/0087701 is directed to a “Gaming System with Location Verification.” This patent application and related publications (e.g., U.S. Pat. No. 6,508,710) describe a system and method for providing an automated gaming service to one or more players in a computer-based environment that allows automated computation of wagers, payouts, and other gaming parameters. This application and related publications describe that players can access the automated gaming system from remote locations, thereby establishing a virtual gaming environment. In the described system, player accounts can be established and players can be granted access to those accounts, which can be set up as debit-type accounts. Players are able to fund and replenish their accounts in advance of wagering using various payment methods. The system also describes using a players location to evaluate and regulate access to players in authorized locations. 
     None of the prior systems, however, provide a user with a consistent experience and access to the user&#39;s account information and stored value across multiple jurisdictions while allowing the user to have a consistent experience across those jurisdictions. 
     SUMMARY 
     A system and method for implementing a user experience in which a user maintains a single account and single wallet for distributed gaming systems, including gambling systems, across multiple jurisdictions is provided. The system and method described herein is a distributed and secure system for replicating functionality across a number of geographically distinct data centers. The system and method therefore provide users with functionality specific to each user&#39;s location, and provide a user access to his or her account and wallet, including all financial, bonus, and promotional materials associated with that user seamlessly regardless of where the user is located at the time. 
     Embodiments described herein include a distributed gaming system that has a plurality of databases, each of which is associated with one of a plurality of geographic locations, and each database being physically located in the geographic location with which it is associated. Account information associated with a user of the system is stored in each of the plurality of databases, and a geolocation service is configured to detect a geographic location of a user device associated with the user. Wallet information is also associated with the user and stored in a database, of the plurality of databases, that is physically located in the same geographic location in which the user device is located, and the wallet information includes a balance associated with the user. The distributed gaming system may include a universal database in communication with each database of the plurality of databases, and the account information associated with the user and the wallet information associated with the user is stored in the universal database. The system includes a geolocation service, which detects a geographic location of the user device, and the system is configured to place the user device into communication with a database located in the same geographic location in which the user device is located. The system may also be configured to detect movement of the user device from a first geographic location having physically located therein a first database, of the plurality of databases, to a second geographic location having physically located therein a second database, of the plurality of databases, and transferring a balance from wallet information associated with the user and stored in the first database to wallet information associated with the user and stored in the second database. The account information associated with the user may include information concerning bonuses, rewards, or promotions associated with the user. The account information associated with the user may also include information concerning gaming limits associated with the user. 
     According to embodiments, a method is provided that includes the steps of detecting the geographic location of a user device associated with a user, receiving activity information associated with the user from the user device, and updating a balance associated with the user based on the activity information, wherein the balance is stored in a first database that is physically located in a first geographic location in which the user device is located, and upon detecting movement of the user device from the first geographic location to a second geographic location, transferring the balance stored in the first database to a second database that is physically located in the second geographic location. The activity information can comprise information concerning the user&#39;s participation in a gaming activity or a deposit from an external bank account or a withdrawal to an external bank account. 
     According to embodiments, a method is provided that includes the steps of receiving registration information from a user; determining whether registration information has previously been received from the user; if registration information has not previously been received from the user, storing account information associated with the user in a universal database; synchronizing account information associated with the user and stored in the universal database with a plurality of local databases, each of which is associated with one of a plurality of geographic locations, and each of which is physically located in the geographic location with which it is associated; detecting a geographic location of a user device associated with the user; placing the user device into communication with a local database that is physically located in the same geographic location in which the user device is located; and serving content to the user device based on account information associated with the user and stored in the local database that is physically located in the same geographic location in which the user device is located. The method can also further comprise the step of detecting movement of the user device from a first geographic location having physically located therein a first local database to a second geographic location having physically located therein a second local database; and transferring a balance from wallet information associated with the user and stored in the first database to wallet information associated with the user and stored in the second database. According to embodiments, wallet information associated with the user is maintained in the databases, such as the first local database in the first geographic location and the second database in the second geographic location. According to alternative embodiments, wallet information associated with the user may be stored in the universal database. The account information associated with the user can include information concerning bonuses, rewards, or promotions associated with the user, and/or can include information concerning gaming limits associated with the user. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The accompanying drawings, which are included as part of the present specification, illustrate the presently preferred embodiments and, together with the general description given above and the detailed description given below, serve to explain and teach the principles of the systems and methods described herein. 
         FIG.  1    shows an overview of a system and various components thereof in accordance with embodiments of the invention. 
         FIG.  2    shows an example of CRM services according to embodiments. 
         FIG.  3    shows an example of a promotion/loyalty system according to embodiments. 
         FIG.  4    shows an example of an event detection system according to embodiments. 
         FIG.  5    shows an example of a bonus/reward system according to embodiments. 
         FIG.  6    shows an example of a CRM integration system according to embodiments. 
         FIG.  7    shows an overview of a system and various components thereof to allow a consumer device to communicate with multiple data centers according to embodiments. 
         FIG.  8    shows an overview of a system and various components thereof to allow a consumer device to communicate with multiple data centers having multiple separate accounts. 
         FIG.  9    shows an overview of a system and various components thereof to allow a consumer device to communicate with multiple data centers having a single account according to embodiments. 
         FIG.  10    shows a process and various steps thereof for use with a single account in a system having multiple data centers or databases according to embodiments. 
         FIG.  11    shows a diagram for using a single account in a system having multiple data centers or databases according to embodiments. 
         FIG.  12    shows a diagram for using a single wallet in a system having multiple data centers or databases according to embodiments. 
         FIG.  13    shows a detailed overview of a system and various components thereof to allow a consumer device to communicate with multiple data centers according to embodiments. 
         FIG.  14    shows a system for facilitating a secure communication connection according to embodiments. 
         FIG.  15    shows a system for facilitating a secure communication connection using XDC routing according to embodiments. 
         FIG.  16    shows a process and various steps thereof for use with a single wallet in a system having multiple data centers or databases according to embodiments. 
         FIG.  17    shows a detailed overview of a system and various components thereof to allow a consumer device to communicate with multiple data centers according to embodiments. 
     
    
    
     The figures are only intended to facilitate the description of the various embodiments described herein. The figures do not describe every aspect of the teachings disclosed herein and do not limit the scope of the claims. 
     DETAILED DESCRIPTION 
     The following description is presented to enable any person skilled in the art to create and use systems and methods for implementing a user experience in which a user maintains a single account and single wallet for distributed gaming, including gambling, across multiple jurisdictions. 
       FIG.  1    shows an overview of a system  100  that allows users to participate in distributed gaming and gambling while remotely accessing user accounts and/or wallets for use in that system in accordance with embodiments of the invention. Because the system  100  shown in  FIG.  1    allows users of the system (e.g., players, gamers, etc.) to participate in distributed gaming and gambling, according to embodiments, it will be referred to at times as a gaming system  100  or a gambling system  100 . But regardless of how the system  100  is referred to herein, it should be understood that the principles described herein, and the functionality provided by the system  100  can be applied in a number of different contexts. For example, the system  100  may provide gambling, gaming that is similar to gambling and games of chance, or other types of gaming such as esports or other video games. 
     The users access services provided by way of the system  100  via the Internet or other network  110  using a variety of user devices  120 . For example, users may use a variety of user devices  120 , including mobile devices  122  such as cellular phones, tablets, personal data assistants, a laptop  124 , a desktop computer  126 , or other user device  120  suitable for accessing the network  110  and using the services provided by the system  100 . The mobile devices  122  may include operating system software such as iOS, Android, or other mobile operating system software capable of accessing the network  110  and using the services provided by the system  100 . Laptop computers  124 , and desktop computers  126  may include operating system software such as Windows, Linux, Mac OS, or other suitable operating system software capable of accessing the network  110  and using the services provided by the system  100 . A user of the system may access information by way of software running on a user device  120 . Such software may be an application, such as a mobile app, a desktop computer application, or other software application suitable to access the services and applications described herein, which may be on the user device  120 . Alternatively, a user may access information via the network  110  by way of a web page displayed by a web browser application via the user device  120 . As discussed below, each player using the system  100  may have an account that is accessible by the application or web browser used to access functionality provided by the system. This may include profile information about the user, financial and other information associated with the user, and a means for contacting and communicating with the user (e.g., a message center or inbox, etc.). 
     The system  100  may use one or more servers  130  to provide access to games, gambling applications, wagering capabilities and related services and applications provided by the system  100  over the network  110 . The servers  130  may be connected to each other and one or more database devices or data stores  140 ,  142  either directly or via the network  110 , which may represent the Internet and/or other networks (e.g., LAN, WAN, VPN, etc.). Examples of databases that can be used with the system  100  shown in  FIG.  1    include any standard databases capable of storing and providing access to the relevant data, information, and services, including, for example, databases provided by companies such as Oracle and Mongo, or other data storage devices such as distributed data storage like Terracotta databases, RAID arrays, and the like. The servers  130  are able to access and provide data, information, application capabilities, or other services provided by the system  100  from the databases  140 ,  142  and provide relevant information or services to the users via the network  110 . The Additionally, the databases and data stores  140 ,  142  can be used for traditional functions such as disaster recovery, financial leger and account servicing, and the like. Some examples of the type of information that can be stored by the databases and data stores  140 ,  142  may include, for example, user information (e.g., user profiles), application information, user account and financial information, wallet and/or ledger information associated with a user, user habit information, information about restrictions, bonuses, promotions, rewards, loyalty, system integration, and events tracked by the system  100 . 
     The servers  130  of the system  100  of  FIG.  1    also may access various “data flows,” “data streams,” or “data pipelines”  150  to execute and facilitate real-time events and computations associated with the system  100  and the services and applications provided thereby. For example, data pipelines used in connection with the system  100  of  FIG.  1    may include Apache ActiveMQ streams, Apache Kafka streams, TIBCO streams, or other similar pipelines. In addition, one or more data centers  160  may be connected to the network  110 , and by way of the network  110  to the various devices connected thereto. Each data center  160  may include a number of servers  130 , databases or data stores  140 ,  142 , and data pipelines  150 , such as those shown in  FIG.  1   , and various combinations thereof. Data centers  160  may be used to provide the services, application access, information, and data provided by the system  100  of  FIG.  1    via the network  110 . Additionally, the system may include one or more customer relationship management (CRM) services or systems  200  connected to the network to help facilitate providing the services, application access, information, and data provided by the system  100  of  FIG.  1    via the network  110 . The operations and services provided by the various devices and components of the system  100  of  FIG.  1    will be described in further detail below. 
     According to embodiments described herein, the system  100  of  FIG.  1    is used in connection with a distributed gaming or gambling system. The system is distributed as its servers and system information and components may be located in one or multiple locations that are together or geographically separated from each other. Additionally, the servers and system information and components may be located in one or multiple locations that are geographically separated from the user devices  120 . According to embodiments, the users may be offered different gaming and/or gambling applications or services, such as CRM services, based on the user&#39;s geographic location via one or more user devices  120 . The location of the user may be determined by any number of location techniques, including global positioning system (GPS) application or other geolocation applications, or other location-determining or location-tracking techniques (e.g., WiFi positioning system (WPS), RFID devices, Bluetooth beacons), or other location-based services. 
       FIG.  2    shows various CRM services  200  used according to embodiments. As discussed above, the CRM services  200  may be used in the system  100  shown in  FIG.  1   . For example, the CRM services  200  such as a promotion/loyalty system  300  (see, e.g.,  FIG.  3   ), an event detection system (EDS)  400  (see, e.g.,  FIG.  4   ), a bonus/reward system  500  (see, e.g.,  FIG.  5   ), and a CRM integration system  600  (see, e.g.,  FIG.  6   ) can be used in the system  100  shown in  FIG.  1   . According to embodiments, each system shown in  FIG.  2    is capable of communicating with and working in coordination with the other systems shown in  FIG.  2   . According to embodiments, the CRM services  200  may be provided and/or facilitated by one or more server devices. 
       FIG.  3    shows an example of a promotion/loyalty system  300  according to embodiments. According to embodiments, the promotion/loyalty system  300  can be used to manage in-house promotional campaigns offered via the gaming system  100  described in connection with  FIG.  1   . The promotion/loyalty system  300  may provide offers to users of the gaming system  100  based on a number of different criteria, including play style, play frequency, geographic location, location within a certain facility, amounts spent, amounts won, or other criteria tracked by the system  100  that a company or entity operating the system wishes to reward. 
     The promotion/loyalty system  300  may include a subsystem for offering promotions by way of a promotions subsystem  310 . For example, the promotion/loyalty system  300  may manage in-house promotional campaigns based on parameters provided to the system by users, owners, or others. According to embodiments, this promotions subsystem  310  can include a promotion engine  312 , a ranking service  314 , and promotion scheduler  316 , all of which may be in communication with and may be supported by a system database  140 . The promotion subsystem may be responsible for customer acquisition or engagement, by making various offers and promotions to users of the gaming system  100 . For example, the promotion subsystem  310  may offer an opportunity for a user to perform some gaming action, and may offer that action at a discount. Examples of the types of offers that may be made to users for the purposes of acquisition or engagement include offers for the customer to perform gaming actions such as spinning a wheel, picking a box, flipping a coin, or clicking on a card to choose a card. These, or other acquisition or engagement activities may be presented to a user of the gaming system  100  by the promotion/loyalty system  300  and may be provided by the promotions subsystem  310 . For example, according to embodiments, the promotions engine  312  may determine which activities to offer to users and may schedule those offers to users of the gaming system  100  using the promotion scheduler  316 . According to embodiments the ranking service  314  may be used to track and rank users on a leaderboard in tournament settings or other similar competitions. According to alternative embodiments, the ranking service  314  may be used to rank the various offers to users and to determine how and when to make those offers. For example, offers can be made in-game or by other communication method (e.g., SMS, email, etc.). The offers can include any offers the operator of the gaming system is willing to provide as a promotion. The promotions subsystem  310  may, therefore, determine and guide the acquisition and engagement journey of players using the gaming system  100 . 
     The promotion/loyalty system  300  may also include a loyalty subsystem  320  for managing loyalty of players that are users of the gaming system  100 . This loyalty subsystem  320  may include a loyalty engine  322 , a loyalty reward service  324 , and a loyalty scheduler  326 , which may provide and receive data via a data flow  150  to facilitate real-time actions by the gaming system  100 . According to embodiments, the promotion/loyalty system  300  may be used to award, track, and manage loyalty points to users using the loyalty subsystem  320 . According to embodiments, loyalty points may be awarded to players (e.g., users of the system  100  shown in  FIG.  1   ) based on user activities, user activity level, or other user metrics that the operators of the gaming system  100  wish to track and reward. These loyalty points could include any type of loyalty points the operators of the gaming system  100  wish to offer. For example, according to embodiments, the gaming system  100  may offer loyalty points for a casino associated with the gaming or gambling offered by way of the gaming system  100 . But the loyalty points provided by the promotion/loyalty system  300  may also include other types of loyalty points or rewards, such as hotel loyalty program points, airline loyalty program points, or points from other loyalty programs. According to embodiments, these loyalty offers may be determined by the loyalty engine  322  and scheduled by the loyalty scheduler  326 . The loyalty reward service  324  may be used to help the loyalty engine  322 . For example, the loyalty engine  322  may determine which loyalty offers and possibly which loyalty points system to use for a give player using the gaming system  100 , and may be assisted by the loyalty reward service  324 , which may fulfill the rewards determined. Loyalty rewards could be made via in-game communications or other communications (e.g., SMS, email, etc.), such as by providing a user a link to claim the reward. Alternatively, the reward could automatically be added to a player&#39;s loyalty account (e.g., by adding points directly to a loyalty-based points system). 
     The promotion/loyalty system  300  may also include a promotional hub subsystem  330 , which may be used to cause the promotion/loyalty system  300  to manage other parts of the experience of a user of the gaming system  100 . The promotional hub subsystem  330  may include a promotional hub engine  322 , a promotional hub API  324 , and a promotional hub API container, which are in communication with a data flow  150   a . (In this figure and others described in this application, multiple illustrated instances of a data flow or data pipeline in the same figure or across multiple figures, may represent the same or distinct data flows or pipelines, even if the same numbering is used for multiple elements. The same is true for other elements and components shown in the figures.) The data flow  150   a  can offer the ability to perform real-time operations on the data or real-time queries and lookups using the data provided to it. For example, data from one or more sources can be considered together for real-time queries or analysis by the data flow  150   a . By way of its application programming interface, the promotional hub subsystem  330  facilitates communications and operations between the promotion/loyalty system  300  and other applications, including applications that may be on the same server  130 , or may be on a different device connected by way of the network  110 . The promotional hub subsystem  330  may be used, for example, in connection with retention campaigns, such as cashback capabilities, loyalty stores, or rewards for length of play or other engagement, particularly when the API capabilities of the promotional hub subsystem  330  are needed to access other applications for the purpose of those retention programs. Alternatively, retention programs provided by the promotion/loyalty system  300  (like other programs provided by the promotion/loyalty system  300 ) that are run in-house and do not require connections to other applications via the APIs of the promotional hub subsystem  330  can be provided by way of the promotions subsystem  310  or the loyalty subsystem  320 . 
     According to embodiments providing competitive gaming scenarios to users by way of the gaming system  100 , the promotion/loyalty system  300  may be used to track and report the relative performance of the users who access the gaming system  100 . This may be accomplished using one or more subsystems of the promotion/loyalty system  300 . As another example, the promotion/loyalty system  300  may be used to provide a leaderboard that is visible to all or a subset of the users of the gaming system  100 . The leaderboard can be adapted, for example, to rank and display users or subsets of users based on pre-determined criteria, such as users who are currently connected to the system  100 , users who are currently playing one or more games on the system  100 , users in a certain geographic area or jurisdiction, or users defined by some other pre-determined parameter (e.g., number of wins, velocity of wins, money spent, money won, length of time logged on, time spent playing a certain game, number of different games played during login session, or some other performance criteria). For example, a leaderboard may be provided for one or more games provided by way of the gaming system  100 , such as sports betting, poker, bingo, casino slot races, or other games. The promotion/loyalty system  300  can facilitate competition among a series of sequential games, such as casino slot races. The leaderboard provided by the promotion/loyalty system  300  can also be adapted to list leaders over different time periods, according to embodiments (e.g., daily, weekly, or monthly leaderboards, etc.). 
     The promotion/loyalty system  300  may also provide various tools via an offline promotion and scrubbing subsystem  340  for administering the bonuses, loyalty points, rewards, and other incentives offered by the offline promotion/loyalty system  300  to players using the gaming system  100 . According to embodiments, the offline promotion and scrubbing system  340  may include a voucher management service  342  and a CRM scrub service  344  for offering various functionality. The voucher management service  342  may provide the capability of providing players using the gaming system  100  with instant rewards based on special unique or ad hoc situations. This voucher management service  342  also may provide the capability to add or remove rewards from players using the gaming system  100  in bulk based on various groupings of players. For example, players may be grouped with similar players based on one or more parameters relating to a number of different factors, including geography, demographics, play style, play frequency, winnings, losses, interactions with other reward systems, etc. The voucher management service  342  allows the offline promotion and scrubbing subsystem  340  to provide system administrators or owners flexibility to reward and incentivize players using the gaming system as needed. 
     According to embodiments, the CRM scrub service  344  provides the ability to analyze player patterns and to monitor for fraudulent or other undesirable activities. This monitoring may be based on pre-determined rules, parameters, or other inputs provided to the CRM scrub service  344 . According to embodiments, the inputs provided to the CRM scrub service  344  may be dynamically determined, such as by an adaptive learning system, artificial intelligence, machine learning, or other techniques (e.g., evolutionary algorithms, etc.). Players determined to be problematic or to have play or use patterns that are troublesome (e.g., patterns demonstrating the likelihood of fraud or actual fraudulent activity) can have their access limited via the CRM scrub service  344 . For example, the CRM scrub service  344  may maintain a blacklist for players whose access to the gaming system  100  or all or some of its functions is to be cutoff or otherwise limited. In another example, the CRM scrub service  344  determines whether a player has opted out of receiving certain communications from the system, and can prevent the system from sending such communications to a player that has opted out. The promotion/loyalty system  300  generally, and the offline promotion and scrubbing subsystem  340  specifically, may be supported by one or more database devices or data stores  140 ,  142 ,  142   a . (In this figure and others described in this application, multiple illustrated instances of database devices or data stores in the same figure or across multiple figures, may represent the same or distinct database devices or data stores, even if the same numbering is used for multiple elements.) 
       FIG.  4    shows an example of an event detection system (EDS)  400  according to embodiments. The event detection system  400  is used to provide dynamic customer relationship management or CRM for the players using the gaming system  100 . The EDS  400  is able to configure rules that are evaluated and can be applied in real time in the gaming system  100 . The EDS  400  also is capable of targeting rewards at an event or player level. The EDS also tracks the activity of players using the gaming system  100  and is able to signpost critical events related to a particular user. Additionally, the EDS  400  is capable of executing complex reward models for the benefit of players using the gaming system  100 . 
     The EDS  400  is configured to detect events associated with a number of different games or other applications  402  provided by way of the gaming system  100 . For example, the EDS  400  may detect events associated with sports betting, casino games (e.g., casino slot races), poker, bingo, or other games offered for players using the gaming system  100 . The EDS  400  may detect events associated with the various games  402  dynamically in real time using various data streams  150  or, alternatively, by using various services  404 , such as the service  404  used for bingo in the EDS  400  shown in  FIG.  4   . According to embodiments, services  404  and one or more data streams  150 ,  150   a ,  150   b ,  150   c  can be used in connection with any of the games  402  monitored by the EDS  400 . These services may provide various functionality and rules associated with the event detection for each of the games  402  monitored by the EDS  400 . For example, the service  404  may act as a behavior intervention service and provide rules for monitoring one or more of the games  402  provided by the gaming system  100  and monitored by the EDS  400 . The service  404 , may act as a translation service, ensuring that data output by various games  402  is compatible with the various data streams  150 . 
     The EDS  400  may also interface with other non-gaming system  406  and various back-office systems  408 . This may include detecting events associated with those non-gaming systems  406  or the back-office systems  408 . The EDS  400  may also monitor and detect events associated with the non-gaming systems  406  using various data streams, which may, for example, provide real-time or dynamic monitoring capabilities. Each of these systems and games monitored by the EDS  400  can be monitored by one or more EDS services  410 . For example, the EDS  400  may include an EDS service, and EDS Customer Service and an EDS API service, according to embodiments. According to embodiments the EDS services  410  may be provided in the form of an EDS cluster. The EDS services may be connected to the data streams  150  to facilitate the dynamic, real-time event detection associated with the various games  402  monitored by the EDS  400 . Additionally, the data streams  150  may provide a real-time connection to a machine learning service  412  for the EDS  400 . The machine learning service  412  may provide real-time rule analysis and application for the various games  402  monitored by the EDS  400 . The machine learning service  412  may detect unusual and/or potentially detrimental player activity. For example, according to embodiments, the machine learning service  412  may detect unusual player activity in the form of the churn rate for one or more players. According to alternative embodiments, upon detecting unusual and/or potential detrimental player activity, the machine learning service  412  may initiate activity to curb those activities. For example, according to embodiments, the machine learning service  412  may in certain circumstances cause the system to initiate action to encourage the player to engage in more responsible gameplay, or prevent the player from engaging in further potentially detrimental activity. 
     The back-office service  408  of the EDS  400  may be connected to an EDS administrative service  414  that provides various services for the back-office use of the EDS  400 . The administrative service  414  and the EDS services  410  may be connected to a datacenter  420  that includes a number of database devices or data stores  140 ,  142 . As shown in  FIG.  1   , the datacenter  420  and/or its database devices and data stores  140 ,  142 ,  142   a  are connected to the network  110  of the gaming system  100 . The devices of the datacenter  420  provide the rules, parameters, and data needed by the back office service  408 , the administrative service  414 , and the EDS services  410  to perform the required event detection services of the EDS  400 . According to embodiments, the datacenter  420  shown in  FIG.  4    may be the same as or different from the datacenter  160  shown in  FIG.  1   . 
     According to embodiments, the EDS services  410  provide various functionality  440 ,  450 ,  460  for the gaming system  100 . For example, the EDS service can provide event detection service for general campaigns  440  via the gaming system  100 . This may include EDS for campaigns across all games or a subset of games offered across the gaming system  100  or campaigns offered to all players or a subset of players (e.g., chosen using some predetermined parameter) using the gaming system  100 . The EDS customer service can provide EDS for targeted campaigns  450  that are focused on specific campaigns offered via the gaming system  100 . The EDS customer service may include customer data platform software that is custom or provided by a third-party (e.g., Optimove, Bloomreach, Salesforce, or other appropriate software supplier) and capable of providing EDS for targeted campaigns according to embodiments. The EDS API service can provide an interface for front-end services and opt-in features  460 . The EDS API service can connect with other software applications to provide these services and features. 
     The machine learning service  412  also may provide functionality  480  for the gaming system  100 . For example, according to embodiments, the machine learning service may monitor the data streams and may track and calculate various player metrics, such as calculating player churn  480 . In calculating player metrics, such as player churn, the machine learning service  412  may also make use of real-time or dynamic data from the data streams  150 ,  150   a ,  150   b ,  150   c , which in turn receive data from the games or other applications  402  and the other non-gaming systems  406  of the EDS  400 . In this way, the machine learning service  412  may dynamically adjust player metrics used by the EDS  400 . For example, the machine learning service  412  may be used to detect and understand a player&#39;s various interests and patterns in a gaming system (e.g., such as what types of games a user likes to play, how long a user plays certain games, etc.). In response to determinations made by the machine learning service  412 , the EDS  400  may react to the player patterns in a particular way based on the player&#39;s activity. For example, the EDS may provide information, promotions, or bonuses based on the player&#39;s activity (e.g., providing bonuses for games that player uses the most, encouraging break time, diverting a player to activities appropriate for the player based on the player&#39;s history, activity, buying power, etc.). 
       FIG.  5    shows an example of a bonus/reward system  500  according to embodiments. The bonus/reward system  500  is used to provide players using the gaming system  100  with bonuses and/or rewards based on a number of different parameters or criteria that may be preset and stored ahead of time, or which may be dynamically determined by the system. The bonuses and rewards offered by the bonus/reward system  500  can be offered for each of the games offered by the gaming system  100 , and may vary by game, as will be discussed more below. 
     The bonus/reward system  500  includes a fulfillment subsystem  502  that is capable of monitoring and providing fulfillment of bonuses and rewards to the various users of the gaming system  100  by different means, and which may also be used to monitor consumption of and provide ways for players to consume the various bonuses or rewards offered by the bonus/reward system  500 . For example, the fulfillment subsystem  502  may allow the bonus/reward system  500  to interact with an provide promotion or loyalty points via the promotion/loyalty system  300 . The fulfillment subsystem  502  may also provide interaction with the cashier to provide various other bonuses or rewards to a player using the gaming system, and may also provide access to the wallet of a player using the gaming system  100  to allow the promotions and rewards provided by the bonus/reward system  500  to be stored by the player for the player&#39;s access across his or her use of the gaming system  100 . The fulfillment subsystem  502  may also interact with the EDS  400  to determine when various events occur that require or justify promotions or rewards to players using the gaming system  100 . The fulfillment subsystem  502  may also interact with other systems, subsystems, games, and functionality provided by the gaming system  100  to provide various bonuses and rewards to the players using the gaming system  100 , consistent with the principles and objectives described herein. 
     The fulfillment subsystem  502  of the bonus/reward system  500  may communicate information concerning the various types of bonuses and rewards to be awarded to a bonus service  520  by way of data pipeline  150 , which may provide various real-time or dynamic analyses of the information from the fulfillment subsystem  502 . This may include monitoring and administering the consumption and/or fulfillment of bonuses and/or rewards by the fulfillment subsystem  502  interfacing with the various systems described in connection therewith. 
     In addition to various real-time or dynamic data accessed, used, and updated in connection with the data pipeline  150 , the bonus service  520  may also access, use, and update data in one or more data stores  140 ,  142 . As described in connection with  FIG.  1   , the data pipeline  150  and the data stores  140 ,  142  may be accessed either directly via direct connection, or via a connection over the network  110  for the gaming system  100 . This includes the ability of the bonus/reward system  500  to access the data pipelines  150  and/or the data stores  140 ,  142  in locations remote from that system  500  and/or remote from any server  130  upon which that system may be operating. 
     The bonus service  520  may also receive input regarding bonuses and rewards to be offered from the service registry  530 , which receives input from a number of different sources  540  for creating or offering rewards and bonuses. For example, the bonus/reward system  500  can receive input regarding which rewards and bonuses to offer via the service registry  530  from a number of different sources  540 , including a portal to allow access to users or administrators, access for customer service managers (CSM), access for back-office employees, and access to administrators of various products offered via the gaming system  100 . Other sources  540 , aside from those shown, can be added or sources can be removed, according to the specific needs of the gaming system  100  in accordance with the principles described herein. 
     According to embodiments, the bonus/reward system  500  may offer (e.g., from the bonus service  520 ) a variety of bonuses for different games via the gaming system  100 . For example, the bonus/reward system  500  can offer bonuses, such as cash amounts, digital currency (e.g., crypto currency), non-fungible tokens (NFTs), or other real-world or digital assets, which may be offered in the form of prizes based on gameplay or performance. In addition to the rewards offered, the bonus/reward system  500  can offer various rewards, such as in-game rewards that enhance or alter the game play or participation in the various games provided via the gaming system  100 . For example, the bonuses offered via the bonus/reward system  500  can change and be adapted according to pre-determined parameters, customer demand, or a variety of other variables within the data flow  150 , the data stores  140 ,  142 , or received from the service registry  530 . These bonuses and rewards offered by the bonus/reward system  500  can be tailored to a specific game via the gaming system  100 . By way of example, for sports betting offered via the gaming system  100 , the bonus/reward system  500  may offer free bets, cash bonuses, or other prizes. As another example, for bingo offered via the gaming system  100 , the bonus/reward system  500  may offer bonus bingo tickets, cash bonuses, or other prizes. As a further example, for poker offered via the gaming system  100 , the bonus/reward system  500  may offer free turns, free rolls, free round or tournament dollars (e.g., cash or cash equivalent that can be used for a particular round or tournament), cash bonuses, or other prizes. As an additional example, for electric casino games (e.g., casino slot races) offered via the gaming system  100 , the bonus/reward system  500  may offer bonus free spins, free special tokens or coins (e.g., tokens or coins with special properties to be used with the casino games), free-to-play turns or tournaments, cash bonuses, or other prizes. 
       FIG.  6    shows an example of a CRM integration system  600  according to embodiments. The CRM integration system  600  receives input from the reward systems  602  and internal CRM subsystems  604 . The reward systems  602  represent rewards associated with the various systems and subsystems of the gaming system  100 , which can be provided by the bonus/reward system  500  of  FIG.  5   . For example, the reward systems  602  may include a wallet campaign service for integrating rewards to a wallet associated with a player using the gaming system  100 . The reward systems  602  may also include a promotional campaign service for integrating promotional campaign offerings for players or groups of players using the gaming system  100  and a bonus engine for integrating bonus offerings for players or groups of players using the gaming system  100 . The reward systems  602  may also include an EDS CRM service for monitoring and detecting events and integrating that event detection service with the CRM integration system  600  and its components, including the CRM software application  612  and the campaign management service  630 . The reward systems  602  are in communication with a data flow  150  for providing and receiving real-time and dynamic data to and from the CRM integration system  600 . The reward systems  602  can also include other services and subsystems according to the functionality and rewards offered by way of the gaming system  100 . The internal CRM subsystems  604  may include bonus, EDS, promotion, wallet and other subsystems to integrate rewards associated with each subsystem. 
     The CRM integration system  600  may also use a CRM software application  612  to help manage customer relationship and customer data information of players using the gaming system  100 . This may include customer data platform software that is custom or provided by a third-party (e.g., Optimove, Bloomreach, Salesforce, or other appropriate software supplier). To manage the data of the CRM integration system  600 , the CRM software application  612  is in connection with a CRM data service  614  that manages the CRM data relevant to the gaming system  100 . The CRM software application  612  and the CRM data service  614  are each in communication with a business information (BI) and/or data warehousing (DWH) service  616 , which may generate business insights relevant to the gaming system  100  and the players using that system, and may provide relevant data for generating those business insights. The CRM software application  612  communicates with other components of the CRM integration system  600  via a campaign gateway  620 , which in turn communicates with the campaign management service  630 . 
     According to embodiments, the campaign management service  630  receives information from the campaign gateway  620  that allows it to actively manage the campaigns of the gaming system  100  according to information about the various campaigns and users of the system. The campaign gateway  620  may provide information to the campaign management service  630  in the form of segmented lists. For example, the campaign gateway  620  may provide the campaign service  630  lists of the players using the gaming system  100 , segmented according to useful information and parameters about those users, the campaigns being provided, or other parameters useful for segmenting the information. Based on the information communicated to the campaign management service  630 , according to embodiments, it may provide information about rewards into the data flow  150  connected to the reward systems  602  to administer rewards to the reward systems  602  via the gaming system  100 . 
     The campaign management service  630  also receives information from and provides information to a promotional communication service  640 , which is in communication with the internal CRM subsystems  604  and a data flow  150  in communication with various communication gateways  650  and communication interfaces  660 . According to embodiments, the promotional communication service  640  receives input from the internal CRM subsystems  604  and communicates information to the data flow  150   a  to provide communications to players using the gaming system  100  via the communication gateways  650  and communication interfaces  660 . The communications provided to users of the gaming system  100  can be provided by a number of communication gateways  650 , including gateways designed to directly communicate with an exact target player or a group of players using a third-party application or service, such as an email message, a text message (e.g., SMS or MMS messaging), or other direct message, and gateways designed to communicate information via the gaming system  100 , such as site and application banners, push messages, and the like. The communications provided via the communication gateways  650  are informed by the dynamic data of the data flow  150   a  in communication the gateways. 
     The communications provided to users of the gaming system  100  can also be provided by a number of communication interfaces  660 , which are also informed by the dynamic data of the data flows  150 ,  150   a  in communication with those interfaces either directly or indirectly. The communication interfaces  660  can include communications to an account in-game inbox of a player or group of players that is capable of providing information to each player, including regulatory, informational, bonus-related information, account-related information, and other similar information. The communication interfaces  660  may also communicate to players using the gaming system  100  in different ways, including overlays, advertisements, pop-up messages, or other in-gaming messaging techniques that provide the relevant communications directly to the player(s). The information provided by way of the communication gateways  650  or communication interfaces  660  can include communications of various bonuses, rewards, prizes, or invitations being provided to players, depending on the campaigns and rewards being coordinated by the campaign management service  630 . These communications are based on data and parameters associated with the players or groups of players using the gaming system  100 , including, for example, geographic location, seasonal offerings, player activity, player profile information, financial incentives, or other criteria or parameters. 
       FIG.  7    shows an overview of a system  700  and various components thereof to allow a consumer device  120  to communicate with multiple data centers  160  according to embodiments. Similar to the gaming system  100  shown in  FIG.  1   , the system  700  of  FIG.  7    allows a consumer device  120  (e.g., mobile devices  122 , laptops  124 , desktop computers  126 , or other user device  120  suitable for accessing the network  110 ), to connect to one or more data centers  160  via the network  110 , which may include the Internet, a local network, or some combination thereof. As shown in  FIG.  7   , the consumer device  120  may access a number of devices, shown as Data Center 0  160 , Data Center 1  160   a , Data Center 2  160   b , . . . Data Center N  160   c . That is to say that the number of data centers  160  used in the system of  FIG.  7    may be unlimited and can be expanded as needed. 
     The system shown in  FIG.  7    can route service of the consumer device  120  to different a data center  160  based on a number of different criteria. For example, a typical service may route access for a consumer device  120  over the network  110  to a data center based on load balancing, or some other similar desirable parameter. In the case of a gaming system that may involve financial transactions or gambling and related regulatory requirements, one way to route access for a consumer device  120  over the network  110  may involve the geographic location of the consumer device  120  and the related regulations in that geographic location. For example, in the United States, each state has different regulations relating to such financial transactions or gambling. For example, while Nevada, New Jersey, Pennsylvania, West Virginia, and Colorado all permit some type of gambling (and other jurisdictions may also allow gambling or free-to-play applications), the laws and regulations and gambling permitted in each jurisdiction are all very different from one another. As such, one way to address and ensure compliance with each state&#39;s laws and regulations is to provide a specific data center for each state that is accessed when the consumer device is physically located within that state&#39;s jurisdiction (e.g., as determined by geolocation or some other location-determining technique), which is specifically set up for compliance with that host state&#39;s laws and regulations. The same principles can also apply for jurisdictions outside of the United States. Thus, Data Center 0  160  may be accessed by the consumer device  120  when the user of the device attempts to access a game or other gambling activity on the system while located in a first state, while Data Center 1  160   a  and Data Center 2  160   b  may be accessed when the consumer device  120  attempts to access a game or other gambling activity on the system from a second and third state, respectively. In this way, each individual data center can be set up to ensure compliance with its associated state (or other) jurisdiction&#39;s laws and regulations. 
       FIG.  8    shows an overview of a system  800  and various components thereof to allow a consumer device  120  to communicate with multiple data centers  160  having multiple separate accounts. The system  800  of  FIG.  8    is similar to the system  100  of  FIG.  1    and illustrates one way to provide gaming or gambling access to a specific player using the consumer device  120  while ensuring compliance with the laws and regulations of the state (or other jurisdiction) where the player and the consumer device  120  are located. In this system  800 , the player uses an application or web browser on the consumer device  120  to access the gaming system via the network  110 . As with the system of  FIG.  7   , when the player and the consumer device  120  are located in a first state (or other jurisdiction), the player&#39;s access and communications are routed to the first data center, Data Center 0  160 , and when the player and the consumer device  120  are located in a second and third state (or other jurisdiction) the player&#39;s access and communications are routed to a second data center, Data Center 1  160   a , and a third data center, Data Center 2  160   b , respectively. 
     In addition, the system  800  of  FIG.  8    shows that when the consumer device  120  is logged into each individual data center based on its geographic location, the player using the device is logged into a separate account associated with that data center and corresponding jurisdiction. In other words, the player is logged into Account 0 when logging into Data Center 0, Account 1 when logging into Data Center 1, and so forth. This setup has the advantage of ensuring that both the data center and the player&#39;s unique account in that data center are set up in such a way to ensure compliance with the host jurisdiction&#39;s laws and regulations and to provide a physical separation between the data centers and accounts where the laws and regulations of other jurisdictions are applied and followed. The disadvantage of this system is that the user has multiple, different accounts across the overall system  800  of  FIG.  8   , each of which may contain different information, providing the user with inconsistent access to his funds, account information, or other information. Another disadvantage of the system  800  of  FIG.  8    is that the replication of accounts for each user has the potential to increase the overhead (e.g., storage, tracking, etc.) associated with each player using the system if that player accesses the system from multiple different geographic locations. The system  800  of  FIG.  8   , because it may have multiple, independent accounts for any user can also lose the correlation of a user&#39;s activity and thus valuable information about a user across those different accounts that might otherwise be usable if the accounts were coordinated in some way. 
       FIG.  9    shows an overview of a system  900  and various components thereof to allow a consumer device  120  to communicate with multiple data centers  160  having a single account according to embodiments. The system  900  of  FIG.  9    is similar to the system  100  shown in  FIG.  1    and can be used for similar applications. Unlike the system  800  shown in  FIG.  8   , the system  900  of  FIG.  9    has a single account, Account 0, accessed by a player using a consumer device  120  for gaming and gambling purposes. Thus, while the consumer device  120  may still be directed to connect and communicate with a particular data center associated with a particular jurisdiction based on the geographic location of the consumer device  120  within the same jurisdiction (or a compatible jurisdiction for the purpose of the games and functionality being offered by the system, if appropriate), the user will be connected to the same account in each jurisdiction. The user will have different functionality available or limited in specific geographic locations based on and to ensure compliance with the laws and regulations in that location. 
     A user&#39;s access to different functionalities in different jurisdictions can be managed either by forcing a consumer device  120  to connect to the specific data center  160  located in the same jurisdiction and set up for compliance with the laws and regulations of that jurisdiction. On the other hand, where all relevant laws and regulations permit it, access to one or more jurisdictions may be combined in a way that still limits a user&#39;s access to functionality based on the laws and regulations of geographic location where the consumer device  120  is located, which can be accomplished by access lists, smart networking, dynamic access rules, relational database access rules, virtual partitions, or other appropriate means. 
     The single account used for each user may be stored in a database  142 , as shown in  FIG.  9   , which may be part of one of the data centers  160  or separate therefrom, depending on constraints like the network topology requirements, network communications capabilities, and various laws and regulations where applicable. For example, one of the data centers (e.g., Data Center 0  160 ) could be designated as a main data center that houses user account information in databases  142  or other data stores  140 . The account can be replicated or virtually replicated across all of the data centers to allow the user access to the same account regardless of the geographic location of the user and the consumer device  120 . As an alternative, the database  142  or other data store  140  containing the user account information may be separate from all of the data centers directly accessed by the consumer device  120  over the network  110 . This could be in a separate data center or other facility accessible via the network  110 . Any account activity in each data center can be regularly updated and synchronized with the principal account information (e.g., the account information in the main database  142 ). This could occur, for example, daily during low traffic hours or at some other convenient frequency at convenient times, and/or can be done dynamically upon each access to the same account via a different data center  160  to minimize system disruption and provide maximum synchronicity between different copies of the user account, thereby providing the user of the consumer device  120  with the smoothest and most consistent experience. 
     According to embodiments, single account for each user of the system  900  shown in  FIG.  9    may contain data and information concerning the user associated with each account. This can include information provided by the various CRM systems  200  shown in  FIG.  2    and subsequent  FIGS.  3 - 6   . The data and information stored by or with the account can include, for example, financial information associated with the user. In this regard, the user&#39;s account can include a way to store value associated with the user&#39;s account, such as a digital wallet, ledger, or account. For example, a digital wallet can be used to store various items of value, such as bonuses, rewards, prizes, or promotional items awarded via the system, as discussed above. A digital wallet can also be used to store other items of value, such as cash amounts, digital or crypto currency, NFTs, or other real-world or digital assets. According to embodiments, in the system of  FIG.  9   , a user can be assigned a single wallet, which may, for example, be associated with the user&#39;s single account. The single wallet may be stored on a central database  142  and information about the items and assets stored in the wallet may be copied across data centers  160  so that a user may access and use items and value from the wallet and/or and store items and value in the wallet regardless of the user&#39;s geographic location or the geographic location of the consumer device  120  or the data center  160  to which it is connected. 
     Certain laws related to gaming may require that when a player participates in gaming activity while located in a particular jurisdiction, all account data associated with the player and the activity must also reside in that jurisdiction. The example system  900  shown in  FIG.  9    facilitates compliance with such laws by ensuring that player account information resides in data centers  160  located in each jurisdiction where a player may attempt to participate in gaming activity (e.g., available through specific database devices or data stores  140 ,  142  or a data flow  150 ). Because the system provides for a single account, as opposed to a separate account corresponding to each jurisdiction, a player may, for example, use the same account login credentials regardless of the jurisdiction in which the player is located, providing a more consistent user experience. Moreover, a player&#39;s account information accessed in one jurisdiction may include information that reflects the player&#39;s gaming activity in jurisdictions other than the one in which the player is presently located. Accordingly, a player may, for example, earn rewards based on achieving a certain level of system-wide gaming activity, as opposed to rewards being limited to achieving a certain level of gaming activity within a particular jurisdiction. 
     Similarly, certain laws related to gaming may require that when a player participates in gaming activity while located in a particular jurisdiction, all funds, or a record of all funds, associated with the activity must also reside in that jurisdiction. The example system  900  shown in  FIG.  9    facilitates compliance with such laws by ensuring that a player&#39;s funds, or a record thereof, are capable of residing in data centers  160  located in each jurisdiction where a player may attempt to participate in gaming activity. Because the system provides for a single wallet, as opposed to a separate wallet corresponding to each jurisdiction, a player may, for example, have access to the same funds, regardless of the jurisdiction in which the player is located, providing a more consistent user experience. In embodiments, a wallet associated with a player is established and resides in each data center  160  associated with each jurisdiction in which the player may participate in gaming activities in accordance with the system. The system provides the player with a single wallet by facilitating the seamless transfer of funds from the player&#39;s wallet that resides in a first jurisdiction to the player&#39;s wallet that resides a second jurisdiction when the player travels from the first jurisdiction to the second jurisdiction and attempts to participate in gaming activity while located in the second jurisdiction, thereby providing a more consistent user experience. Examples of data centers used in the configuration shown in  FIG.  9    are described with reference to later figures below. 
       FIG.  10    shows a process  1000  and various steps thereof for use with a single account in a system having multiple data centers or databases according to embodiments. Because a user may wish to access his or her account in multiple different jurisdictions, the system setting up and using the account and multiple copies of the account needs a technique for registering and maintaining consistency and copy control of those account copies. Although this may not be a problem when a user uses consistent login information in each jurisdiction with each corresponding data center, for example, it may become an issue if the user uses different or inconsistent information, which the system or specific data center may view as a user attempting to register for a new account. Thus, when a user attempts to register for an account in step  1002 , a determination is made regarding whether the user has previously registered for an account in step  1004 . This may be verified centrally within the system using identification information that is likely to be repeatedly used by a user across systems (e.g., full name, mobile phone number, social security number, date of birth, street address, email address, biometric information like fingerprints or facial recognition, etc.), or some combination of multiple different forms of identification information. 
     If it is determined in step  1004  that the user has previously registered for an account, the user is logged in to the universal database  142  or prompted to log into the universal database  142  in step  1006 . Otherwise, if it is determined in step  1004  the user has not previously registered for an account on the system, the system creates a new account in the universal database  142  in step  1008  and prompts the user to provide the required and relevant information. The account created in the universal database in step  1008  that will be replicated in all data centers upon synchronization of the system. Whether the user ends up logging into an existing account in step  1006  or creates a new account in step  1008 , the system serves the user content based on the user&#39;s account in step  1010 . This includes the content described above in connection with the earlier figures, including the content served by the CRM services  200 , such as the promotion/loyalty system  300 , the EDS  400 , the bonus/reward system  500 , and the CRM integration system  600 . The system also synchronizes accounts across data centers in step  1012 , as described above, based on the timing and other parameters of the system. 
       FIG.  11    shows a diagram  1100  for using a single account in a system having multiple data centers or databases  142  according to embodiments. In  FIG.  11   , a user accesses the system in multiple different geographic locations, designated Location 0, Location 1, and Location 2. Although there are only three locations shown in  FIG.  11   , the same principles apply when the user accesses the system at any number of locations. The system of  FIG.  11    uses a single account for each user across multiple geographic data center locations, as shown. According to embodiments, the system shown in  FIG.  11    can be used with process of  FIG.  10   . As shown in  FIG.  11   , the user registers for a new account at Location 0. Location 0 includes a local database referred to as Loc. 0 DB  142   a , which stores information in the data center associated with that location. Because the user has not previously registered for an account, the user&#39;s registration request is validated and registered  1104 . This may be accomplished at a central location for the entire system shown in  FIG.  11   . Once the user&#39;s account is validated and registered, the account information is stored in the universal database  142 , which may be at a central location for the entire system of  FIG.  11   . 
     Once the account has been created and centrally stored in the universal database  142 , whenever the user logs in at different locations  1106 ,  1106   a , such as at Location 1 and Location 2, then the system does not create a new account, but grants access to a “copy” of the account stored in a local database  142   b ,  142   c  associated with the local database in the data center corresponding to the geographic location of the user and whatever consumer device  120  the user is using to access his or her account. According to an embodiment, the “copy” of the account may be a pointer to the original account or a shadow account associated with the user in that jurisdiction, and which may be created in each local jurisdiction for the user. Alternatively, according to an embodiment, the copy may include a separate copy that is maintained locally and then reconciled with the other copies of the same account. The copy of the account in each local database  142   b ,  142   c  is updated and synchronized with the main copy in the universal database  142 . According to embodiments, the central location where the universal database  142  is located may be the same as one of the local data centers (e.g., the first location, Loc. 0). According to embodiments, although the universal database  142  is geographically co-located with the local data center, it is maintained as a separate database because of the different functionality and data of the universal database  142  and the local database. According to an alternative embodiment, the universal database  142  may also be configured and used as the local database of that geographic location (e.g., Loc. 0 DB  142   a ), if desired. According to other embodiments, the universal database  142  may be separate from and located at a different geographic location than all of the data centers and their respective local databases  142   a ,  142   b ,  142   c , but in communication by way of a network connection. 
     According to embodiments, the registration process allows a user in a first location to create an account in the first location. When a user completes the registration process in a first location, shadow accounts may be created in all remaining locations with the user&#39;s information. A user&#39;s available balance may be made available to the user in the last location in which the user has logged in to the system. 
     The system may be configured such that when a user moves from a first location in which the system is available to a different location in which the system is available, attempting to use the system in the different location may trigger a transfer of funds from the user&#39;s account in the first location to the user&#39;s account in the different location. The transfer of funds may include the transfer of the user&#39;s full unrestricted balance from the user&#39;s account in the first location to the user&#39;s account in the different location. The system may maintain a transaction history in which records of all transfers between a user&#39;s accounts are visible. 
     Various locations in which the system is available may implement various requirements for verifying a user&#39;s identity via know your customer or know your client (KYC) procedures. The system may be configured such that the initial registration process involves the user undergoing a KYC procedure associated with the location in which the initial registration process is performed. The system may then transfer the user&#39;s KYC verification status to all locations in which the system is available. Accordingly, if a user registers in a first location and subsequently attempts to use the system in a different location, the user may not be required to undergo the KYC procedure associated with the different location, provided that the KYC requirements of that different location are equally or less rigorous than those of the first location. However, if a user registers in a first location and subsequently attempts to use the system in a different location, the user may be required to undergo the KYC procedure associated with the different location if the KYC requirements of that different location are more rigorous than those of the first location. 
     Each location in which the system is available may require users to accept certain location-specific terms and conditions (T&amp;C) in order to participate in gaming activities within that location. The system may be configured such that each time a user attempts to use the system in a location for the first time, the system may prompt the user to accept the terms and conditions associated with that location. The system may keep a record of the dates upon which a user accepted the terms and conditions associated with each location in which the user has used the system. 
       FIG.  12    shows a diagram  1200  for using a single wallet in a system having multiple data centers or databases  142   a ,  142   b ,  142   c  according to embodiments. As explained previously, a user may have a single wallet or other means of storing items of value (e.g., digital wallet, digital ledger, or account).  FIG.  12    illustrates how a single wallet can be used by the system across multiple distinct geographic locations and, according to embodiments, in connection with a single user account across multiple locations. As with  FIG.  11   , although  FIG.  12    illustrates only three geographic locations, the principles of that system apply to systems using any number of different locations, and thus the system of  FIG.  12    can be used with as many geographic locations as desired. The system of  FIG.  12    provides a way for maintaining, updating, and synchronizing a digital wallet that may be used with a gaming system across multiple 
     For example, when a user at a first location (Loc. 0) deposits  1202  cash or another item of value into the user&#39;s account, ledger, or wallet for use in a gaming system  100 , the balance of the user&#39;s account ledger or wallet is updated  1204  and stored in the local database Loc. 0 DB  142   a  associated with the local database for that geographic jurisdiction. Information about these and other transactions, such as withdrawals and deposits are communicated between and synchronized among the wallet information stored in each local database (e.g., Loc. 1 DB  142   b  and Loc. 2 DB  142   c ). That what when a user logs in to the system  1210 ,  1210   a  while in different geographic locations (e.g., Loc. 1, Loc. 2), the system has information about the user&#39;s wallet stored locally in its corresponding local database  142   b ,  142   c . The system of  FIG.  12    recognizes the user&#39;s login attempt as an attempt to login to an existing account, passes the login information and credentials  1212 ,  1212   a  to the local database  142   b ,  142   c , and retrieves balance and other information about the user&#39;s wallet that are displayed to the user  1214 ,  1214   a.    
     In embodiments, when a user has made a deposit  1202  at a first location (Loc. 0), the user&#39;s balance is updated  1204  and stored in the local database (Loc. 0 DB  142   a ) associated with the first location. When the user subsequently travels to a second location (Loc. 1), a transaction  1206  occurs in which the user&#39;s balance is withdrawn from the user&#39;s wallet residing in the local database (Loc. 0 DB  142   a ) associated with the first location, and that balance is deposited into the user&#39;s wallet residing in the local database (Loc. 1 DB  142   b ) associated with the second location. Similarly, if the user travels from the second location (Loc. 1) to a third location (Loc. 2), a transaction  1206   a  occurs in which the user&#39;s balance is withdrawn from the user&#39;s wallet residing in the local database (Loc. 1 DB  142   b ) associated with the second location, and that balance is deposited into the user&#39;s wallet residing in the local database (Loc. 2 DB  142   c ) associated with the third location. 
     The system shown in  FIG.  12    may be configured such that a user may earn rewards, for example, associated with a loyalty program, in a first location and further earn rewards in a different location. These rewards, promotions, prizes, and bonuses, along with other items of value, may be stored in the user&#39;s account, leger, or digital wallet. Rewards earned in each location may be combined into a cumulative rewards balance and rewards may be redeemed in a location in which some or all of the rewards were earned or, alternatively, in a location where none of the rewards were earned. According to embodiments described herein, these may all be stored in the same location until they are redeemed. 
       FIG.  13    shows a detailed overview of a system  1300  and various components thereof to allow a consumer device to communicate with multiple data centers according to embodiments. The system  1300  of  FIG.  13    is similar to prior systems  100 ,  700 ,  800 ,  900 , described herein and may use components of those or similar systems, or may be used by such systems. The system  1300  includes multiple data centers, Data Center 0  160  and Data Center 1  160   a , associated with different geographic locations. The system  1300  also includes a separate central data center  160   b , which is at a geographic location that may be separate from one or both of the local data centers  160 ,  160   a . Although the system  1300  is shown using these three data centers  160 ,  160   a ,  160   b , the system is scalable and can be implemented using more or fewer data centers than shown in  FIG.  13    by applying the same principles discussed herein relevant to that system  1300 . 
     In the system  1300  shown in  FIG.  13   , Data Center 0 is the main data center that includes a local database  142   a  and a universal database  142  for the entire system, which may be the same database according to embodiments, or may be separate databases in the same data center. Data Center 1  160   a  corresponds to a different geographic location than the geographic location of Data Center 0  160 . These two data centers  160 ,  160   a  are in communication with each other as shown in  FIG.  13   . If additional data centers were used at other geographic locations, they would also be in communication with these data centers  160 ,  160   a  in similar fashion, and could be arranged as a mesh network, where each data center is in communication with the other, or in a hub-and-spoke configuration, where each data center is in communication with the main Data Center 0  160  but may not be in communication with each other, depending on the needs of the system  1300 . 
     The central data center  160   b  is different from and provides support and storage for the other data centers and for use by the system  1300 . This central data center  160   b  may be in the same geographic location as one of the other data centers  160 ,  160   a , or in a separate geographic location from any of the other data centers depending on a variety of different factors, such as cost of land, technical requirements, requirements of applicable laws and regulations, or other parameters. As shown in  FIG.  13   , the central data center  160   b  is in communication with both the main Data Center 0  160  and Data Center 1  160   a.    
     According to embodiments, the main Data Center 0  160  administers various CRM system  1302 , similar to the CRM system  200  of  FIG.  2   , including EDS, promotions, loyalty, CRM integration and affiliate programs. The promotions and loyalty systems are similar to those shown in connection with the promotion/loyalty system  300  of  FIG.  3   . The EDS is similar to the EDS  400  of  FIG.  4   . The CRM integration system is similar to the CRM integration system  600  of  FIG.  6   . The affiliates system permits affiliates to provide customer relations data and information for use in the system  1300 , and may, according to embodiments, include some functionality described in connection with the bonus/reward system  500  of  FIG.  5    or other figures described above. 
     The CRM systems  1302  are in communication with the universal database  142  and the local database  142   a , and provide information concerning the various CRM systems and functions to those databases  142 ,  142   a . The information stored in the local database  142   a  is used for players logging into that Data Center 0 as the local data center corresponding to the geographical area of the consumer device  120  that the user is are using. The universal database  142  may be used to support game services, such as Game 1 services  1304  of the main Data Center 0  160 . This Game 1 can be any number of games provided by the gaming system, such as poker or slot races. Each geographic data center  160 ,  160   a  includes platform services  1306 ,  1306   a  local to each data center. These platform services may include services like login services, user profile services, regulatory services and compliance services. The platform services may support the games, such as Game 1 services  1304 . The platform services  1306  may also provide access to cashier services  1308  in the main data center Data Center 0  160 . According to an embodiment, the cashier services  1308  are located in and offered only from the main data center, Data Center 0  160 . Alternatively, as discussed below, alternative embodiments may distribute cashier services  1308  capabilities to different data centers. 
     According to embodiments, the game services of the main data center Data Center 0  160  may support a client for the same game administered by a different data center. For example, Data Center 0  160  provides Game 1 services  1304  that may be used to support a Game
         client  1310  in the remotely located in Data Center 1  160   a . This Game 1 client  1310  may provide game play functionality and interaction for Game 1, such as poker, for example, or other games where the system may take advantage of shared liquidity and prizes. According to other embodiments, the system may also support the Game 1 client  1310  providing game play functionality and interaction for other games as well. (e.g., casino games, casino slots, etc.). Thus when a user logs in to the system  1300  using a consumer device  120  located in the same geographic area as Data Center 1  160   a , that local data center may provide gameplay for Game 1 to the user, supported by the Game 1 client  1310 . By way of example, the local data center  160   a  may also offer gameplay to a user for a second game, Game 2, by way of a Game 2 web application  1312 , supported by Game 2 services  1314 . According to embodiments, this application  1312  can provide access to a second game for a user via a web interface either used by a player in an app or a web browser on the consumer device, and can support a number of games, including those discussed above.       

     When a user connects to the local data center  160   a , the user may access the platform services  1306   a  via a portal web application  1316 . Although implementations can vary, according to embodiments, the portal web application  1316  is in communication with a platform point-of-service or POS  1318 , which is in communication with a platform gateway  1320  that provides access for the user to the platform services  1306   a  and their functionality. The local data center  160   a  can also provide geolocation service  1322  to allow detection of the location of the consumer device  120  used by the player or user of the system. According to embodiments, this geolocation service  1322  helps determine that the user and the consumer device  120  are in a geographical location that is either the same as Data Center 1  160   a , or which can be serviced by Data Center 1  160   a , consistent with applicable laws and regulations. 
     According to embodiments, the local data center  160   a  may also provide a sports web application  1324  that enables participation in various activities related to sports where permitted. For example, the sports web application  1324  may permit access to betting on sporting events where permissible via a betting POS  1326 . This betting POS  1326  may be connected to a number of services and components to facilitate betting using the system  1300 , where permitted by applicable laws and regulations. For example, the betting POS  1326  may include a wager database  1332  that is local to the data center  160   a  and tracks wagers made by the user connected to the data center. The betting POS may also provide access to the user&#39;s digital wallet via a wallet gateway  1328  and wallet service  1330  that is in communication with a local database  142   b  within the local data center  160   a , and which includes saved (e.g., replicated) wallet information for the user. Additionally, to allow a user to place bets, the betting POS  1326  may provide communications with an external bet placement service  1340  that is within the central data center  160   b.    
     The bet placement service  1340  within the central data center  160   b  may be accessed by way of a betting POS  1326  and may allow a user to place bets in real-time on real-world sporting events. The bets placed by the bet placement service  1340  are stored in the bet database  1342 , which is updated to reflect the current betting status of all users of the system  1300 . The bet database  1342  is used to manage payouts from bets via the payout transfer service  1344 , which may provide payout via a funds connector  1346 , which may permit funds to be placed in a users account, ledger, or digital wallet. When a payout is to be made, the central data center also provides notices of such payouts to users by way of the Payout Notification Service  1348 . This may notify the user who will receive or has received the payout by way of one of the communication techniques discussed above in connection with the communication gateways  650  and communication interfaces  660 . The bet database  1342  is also connected to a settlement service that is used to access the trading database and settle outstanding payment obligations via the trading database  1352 . A bet administrator interface  1354  is provided to allow an administrator to access information about the bets and betting system, including access to the trading database. A bet content management service  1356  is also provided to permit management of the betting content provided to users, such as through the sports web interface  1324 . This content management service  1356  may be governed by a set of pre-programmed rules or may be customized and adjusted by an administrator using the bet administrator interface. 
     The system  1300  of  FIG.  13    can be used to improve network reliability and mitigate risk elements associated with operation of such a system and its components. This may include, for example, mitigating risks associated with internet service provider (ISP) routing issues in the main data center or other data centers. For example, the main data center may be configured with a backup ISP provider to mitigate any ISP routing issues. Additionally, the system  1300  may be configured to detect issues in real-time and automatically switch to the backup ISP provider. Additionally, the system  1300  of  FIG.  13    may provide mitigation for malicious attacks such as distributed denial-of-service (DDoS) attacks on the data centers. For example, any data center attached using a DDoS attack can have its traffic re-routed to another data center. For example, if the main data center  160 , Data Center 0 was the target of a DDoS attack, traffic could instead be re-routed to Data Center 1  160   a  or the central data center  160   b , or any other number of data centers in the system  1300 . Additionally, in a DDoS attack, traffic could also be re-routed to a scrubbing center that provides real-time DDoS protection, which may be located in one or more of the data centers in the system  1300 , or may be otherwise connected to the system  1300 . Protection from a DDoS attack may be provided using program as a Honeypot that is intentionally made vulnerable to lure and detect attacks, such as on the front end of the system  1300  or on the front end of one or more of the data centers  160  of the system  1300 . Additionally, the system  1300  may further protect against DDoS attacks by using a program that proactively monitors and analyzes network packet flows and derives proactive flow rules to migrate packets appropriately and to limit communication rates to mitigate such attacks or other attacks such as brute force attacks. 
       FIG.  14    shows a system  1400  for facilitating a secure communication connection according to embodiments. All of the connections made by the various systems described herein over one or more networks may be made using a system such as the system  1400  shown in  FIG.  14   . In that system  1400 , two data centers  160 ,  160   a  wish to establish a secure communications tunnel over the network  110 , which may comprise a local network, the Internet, or some combination of networks. This may include, for example, a virtual private network (VPN) or other secure tunneling network, such as IP in IP, SIT/IPv6, Generic Routing Encapsulation (GRE), OpenVPN, SSTP, IPSec, L2TP, VXLAN, WireGuard, Transport Layer Security (TLS), or other similar protocol. 
     In the system  1400  of  FIG.  14   , the first data center may use one or more services (e.g., Service X or Service Y)  1402 ,  1404  that need to communicate over the network  110  with another data center  160   a . According to embodiments, these services  1402 ,  1404  use a tunnel routing service  1406  to encrypt and securely communicate with the other data center  160   a  by establishing a secure tunnel  1420  between tunnel routing services  1406 ,  1406   a  of the first and second data centers  160 ,  160   a , respectively. The communications when safely received by the on the other end of the secure tunnel  1420  are decrypted and may be used in connection with services on the receiving end (e.g., Service A and Service B)  1408 ,  1410 . The communications using the secure tunnel  1420  are two-way and may be transmitted in either direction. Using this system  1400 , communications used by the various systems described here may be secure and protect the valuable information and/or items of value transmitted over the network  110 , even if all or part of that network is public. 
       FIG.  15    shows a system  1500  for facilitating a secure communication connection using XDC routing according to embodiments. The system  1500  of  FIG.  15    is a version of the system  1400  of  FIG.  14   , which uses the XDC protocol, which is a secure protocol for use via a hybrid blockchain platform for added security and verifiability. Such communications allow peer-to-peer contracts using XDC tokens. As such, the system of  FIG.  15    also establishes a secure tunnel  1420 , and information then may be communicated between the services  1402 ,  1404  of one data center  160  and the services  1408 ,  1410  of another data center  160   a . The communications over the secure tunnel  1420  are accomplished by XDC routing services  1506 ,  1506   a  that are capable of encrypting or decrypting communications and sending or receiving those communications over the secure tunnel  1420 . These communications are secure and have the added benefits of the hybrid blockchain technology that allows the peer-to-peer contracts sent over the network. 
     The systems described herein may make use of the secure communication systems  1400 ,  1500  shown in  FIGS.  14  and  15   . For example, these communications techniques may be applied to the various systems  100 ,  700 ,  800 ,  900 ,  1300 ,  1700  described herein. These systems may also be configured to prevent or mitigate issues associated with the secure communications discussed in connection with  FIGS.  14  and  15   . For example, according to embodiments, XDC routing can be used instead of IPSec tunnels to prevent the IPSec tunnel between one or more data centers from going down. In such situations, the calls and communications between data centers happen over the Internet using SSL, and are therefore more reliable. Additionally, using XDC routing can avoid other problems, such as those associated with the ETL process (i.e., the process of extract, transform, and load) associated with database synchronization over IPSec tunnels. For example, by using the data flows  150  described in connection with embodiments, those data flows (e.g., Apache Kafka streams or other data flows) to synchronize databases in real-time via the sync processes, even if ETL processes are delayed. Additionally, if necessary, ETL processes can be re-run to restore consistency. 
       FIG.  16    shows a process  1600  and various steps thereof f for use with a single wallet in a system having multiple data centers or databases according to embodiments. The process  1600  shown in  FIG.  16    takes place when a user is logged in to the gaming system  100 . At step  1602 , the user&#39;s geographical location is determined by elements of the system based on the geographical location of the user&#39;s user device  120 . Any number of location techniques, including global positioning system (GPS) application or other geolocation applications, or other location-determining or location-tracking techniques (e.g., WiFi positioning system (WPS), RFID devices, Bluetooth beacons), or other location-based services, may be used to determine the location of the user. Step  1602  may be performed upon a user logging in to the gaming system. According to embodiments, in step  1602 , the user&#39;s location may be continuously or periodically monitored, as shown in  FIG.  16   , while the user is logged in to the system  100 . The system  100  may store information reflecting the most recent geographic location in which the user has accessed the system  100 . 
     According to embodiments, a geographic location may be a state, municipality, jurisdiction, or other geographic location in which gaming activity is subject to a particular set of laws or regulations. Thus, two different cities within the same state may be understood to be within the same geographic location for purposes of embodiments, while two different cities in different states may be understood to be in different geographic locations. 
     At step  1604 , the user&#39;s current geographic location is compared to the most recent geographic location in which the user previously accessed the system  100 . If it is determined that the user has not traveled to a new location, the process proceeds to step  1610 . If it is determined that the user has traveled to a new location in which access to the system is permitted, the process proceeds to step  1606 , where the user is permitted access to his or her wallet account from the previously determined location (e.g., to withdraw funds). According to embodiments, upon determining that the user has traveled to a new location, the user may be logged out of the system and required to log in to the system again before engaging in further activity (e.g., in instances where logging in again is required for compliance or other reasons). 
     At step  1606 , the user&#39;s account balance is withdrawn from the user&#39;s account at the previous location. For example, funds may be withdrawn from a wallet associated with the user and residing on a database associated with the previous location. At step  1608 , the user&#39;s account balance is deposited into the user&#39;s account at the current location. For example, funds may be deposited into a wallet associated with the user and residing on a database associated with the current location. Steps  1606  and  1608  may be performed to ensure compliance with gaming laws that require a user&#39;s funds, or a record thereof, to reside in the same jurisdiction in which the user participates in gaming activities. After either or both of steps  1606  and  1608 , the user&#39;s wallet information may be synchronized between the previous and new location. 
     At step  1610 , the user engages in activity via the system  100 . This activity may include playing or participating in a game, placing a bet, or similar gaming activity, or may include conducting a financial transaction, such as transferring funds from an external bank account to a wallet associated with the system, or transferring funds to an external bank account from a wallet associated with the system. 
     At step  1612 , upon detecting the user&#39;s activity in step  1610 , the balance in the user&#39;s wallet is updated based on the user&#39;s activity. For example, the user may be charged a fee to participate in a certain game in which case the balance in the user&#39;s wallet will decrease upon the user participating in the game. If the user wins the game or achieves a particular objective within the game, the user may receive a cash reward in which case the balance in the user&#39;s wallet will increase. In another example, the balance in the user&#39;s wallet may be increased upon the user making a deposit from an external bank account, and the balance in the user&#39;s wallet may be decreased upon the user making a withdrawal to an external bank account. 
       FIG.  17    shows a detailed overview of a system  1700  and various components thereof to allow a consumer device to communicate with multiple data centers according to embodiments. The system  1700  of  FIG.  17    is similar to the system  1300  of  FIG.  13    and uses many of the same components. Any components from the system  1300  of  FIG.  13    not shown in the system  1700  of  FIG.  17    should be considered part of that system  1700 . In addition to those components already discussed above in connection with  FIG.  13   , the system  1700  of  FIG.  17    includes some additional detail to show how, according to embodiments, multiple data centers may communicate.  FIG.  17    shows three data centers  160 ,  160   a ,  160   b  in communication with one another. Those data centers include the same or similar components shown in and discussed in connection with the system  1300  of  FIG.  13    plus some additional components shown in  FIG.  17   . For the sake of simplicity, not every component or communication pathway between components is shown in  FIG.  17   . Although  FIG.  17    shows three data centers, it can include a number of additional data centers that are the same as or similar to those shown in  FIG.  17   . 
     Each data center  160 ,  160   a ,  160   b  of system  1700  of  FIG.  17   , for example, includes tunneling services, such as an XDC routing service  1506 ,  1506   a ,  1506   b . Those tunneling services are in communication with each other, as shown in  FIG.  17    to communicate in the manner described in connection with  FIGS.  14  and  15   . Additionally, as shown in  FIG.  17   , the system  1700  includes a dataflow in communication with the platform services of the main data center  160 , Data Center 0, which in turn is in communication with user synchronization services  1702   a ,  1702   b  in each of the other data centers  160   a ,  160   b , Data Center 1 and Data Center 2. This allows the main data center  160  to synchronize services, including those related to the accounts and wallets of users associated with those data centers and to ensure that the wallet and account of each user is synchronized across all data centers. Similarly, the universal database  142  of the main data center  160  is in communication with the local databases  142   b ,  142   c  of each of the other data centers  160   a ,  160   b . And in addition, the CRM systems of the main data center  160  communicate through a data flow  150   b  to a financial synchronization service  1702 , which is in communication with data flows in each of the other data centers  150   c ,  150   d  to synchronize financial services among all of the data centers  160 ,  160   a ,  160   b . As described above, although services of the system  1700  are run out of the main data center  160 , those services may be replicated across and distributed via the other data centers  160   a ,  160   b  of the system  1700  so that communications and services can easily be re-routed to or through other data centers, as needed, such as needed if communication with a data center is lost, or if a data center is attacked (e.g., via a DDoS attack). 
     For example, if the login service of the platform services  1306  of the main database  160  becomes unavailable for some reason, that information can be communicated to the platform gateway  1320 ,  1320   b  of the local data centers, where a setting can be recorded indicating that login activity needs to be routed to and/or handled by the local data center specific to the location of the user, rather than by the main data center  160 . When that setting is changed back, then login activity can again be routed to the platform services  1306  of the main data center  160 . 
     If the CRM systems  1302  of the main data center  160  become unreachable or unresponsive, or stop working for some reason, such as because of issues in the main data center&#39;s local database  142   a , a number of mitigation techniques can be used. For example, the data flows in the various data centers will ensure that information is tracked locally and will be synchronized throughout the system once normal operation happens. This will allow the system to recover without any impact on the ability to place bets, or the tracking of financial, loyalty information, or bonuses. 
     Because of the distributed nature of the systems described herein, a number of components can continue to function and services can be offered at the local level, even if they cannot be offered system wide. For example, according to an embodiment where cashier services  1308  may be distributed, if cashier services  1308  in the main data center  160  become unavailable, the cashier information can be tracked at the local level in the other data centers  160   a ,  160   b    
     If the main data center  160  is impacted because of a disaster, such as a natural disaster or a disaster induced by malicious actors, or because of other circumstances, such as a hardware failure, in a way that might otherwise impact user registrations, financial transactions (e.g., deposits or payments), or promotions, the systems described herein include a number of advantageous mitigation capabilities. For example, if the database in the main data center  160  is impacted, the system may go into a disaster recovery mode, which will take advantage of the synchronization of data and services among the various databases, as well as synchronization within the main datacenter  160  itself (e.g., between the universal database  142  and the local database  142   a ). According to an embodiment, the universal database  142  in the main datacenter may maintain a slave database (which is different and separate from the local databases) in a “data guard” protection mode or configuration that is intended to preserve all data in the universal database. In this embodiment, when the system goes into disaster recovery mode, the slave database in the data guard configuration may be used to address the problems of the universal database  142  by, for example, correcting any data errors in the database, replicating its data on the universal database, and/or temporarily replacing the universal database  142  in operation. Alternatively, in a disaster recover mode, the local database  142   a  in the main data center, or one of the local databases  142   b ,  142   c  in the other data centers  160   a ,  160   b  can take over as the active universal database while any issues in the original universal database  142  are addressed. A number of suitable programs may be used to synchronize data and address any issues in the data centers. For example, Oracle&#39;s Active Data Guard may be used to synchronize the data among the various datacenters and databases of the system. In the event another database (e.g., local database  142   a ,  142   b ,  142   c ) takes over as the active universal database, the universal database and any impacted services can be shutdown and restarted as needed. Once all services are running as normal, the universal database  142  in the main data center  160  can again resume its normal operations. 
     The gaming system  100  may also allow for additional features, according to embodiments. For example, the system may allow for the syncing of certain user preferences, settings, features, and the like, across multiple locations. A user may be subject to various responsible gaming limits which may be user-selected or may be otherwise imposed by the system. Such responsible gaming limits may include deposit limits, spending/loss limits, session time limits, wagering limits, and stake limits. The system may be configured such that when a limit is imposed on a user in one location, that limit may continue to be imposed on the user if the user attempts to use the system in a different location. For example, if a deposit limit is imposed upon a user in a first location, the system may be configured such that when a user&#39;s deposit activity has reached the deposit limit in the first location, the system may prevent the user from making further deposits if the user attempts to use the system in a different location. In other words, all deposits made by a user may count toward the user&#39;s deposit limit, regardless of the location in which a deposit is made. Similarly, spending/loss limits, session time limits, and wagering limits may be cumulative such that, when a user&#39;s spending activity has reached a spending limit in a first location, the system may prevent the user from spending additional funds if the user attempts to use the system in a different location. Alternatively, limits may be location-specific such that, for example, when a user&#39;s spending activity has reached a spending limit in a first location, the system may prevent the user from spending additional funds in the first location, but may allow the user to spend additional funds upon attempting to use the system in a different location. 
     The system may be configured to provide additional limits, such as service closures, in which a user may be temporarily or permanently prevented from accessing a particular type of service offered by the system. For example, a user may be prevented from accessing a poker service, but may maintain access to casino, sports, or bingo services. Service closures may be synced across multiple locations such that a user subject to a service closure in a first location may be prevented from accessing the service in a different location. Alternatively, service closures may be location-specific. 
     Additional preferences, settings, features, and the like that may be synced across locations include communication preferences by which a user may opt in to (or out of) receiving certain communications regarding, for example, promotions, special offers, or other marketing information. A user&#39;s preference to select a level of authentication, or to opt in to (or out of) using strong authentication within the system may also be synced across locations. 
     The system may be made available in a location in which certain users have been excluded or ejected from gaming activities. Such exclusion or ejection may be the result of a user being named on an exclusion list maintained by a local government or other authority, or may be a result of a user&#39;s self-exclusion, which may be voluntarily initiated within the system or by other means such as registration with a local government or other authority. The system may maintain a universal exclusion list that includes the names of users that have been excluded or ejected from gaming activities in a particular location. The system may be configured such that any user identified on the universal exclusion list is prohibited from engaging in gaming activities via the system in some or all locations. The system may be configured to provide a timeout or cool off period in which a user is temporarily prevented from accessing certain system features. Timeout or cool off periods may be self-imposed by a user or otherwise imposed by the system. The system may be configured such that a user subject to a timeout or cool off period in a first location may be automatically subject to a timeout or cool off period in some or all other locations. 
     In some instances, due to various reasons, a user may not be allowed to participate in gaming activities in a particular location in which the system is available. In such instances, if the user attempts to use the system while in the particular location, the system may cause the user&#39;s funds to be transferred to that location, and the user may, for example, withdraw or otherwise access those funds. However, the system may prevent the user from participating in gaming activities while in the particular location. 
     The system may be configured such that a user&#39;s payment instrument data is replicated across some or all locations in which the system is available. Accordingly, a user who has previously entered payment instrument data may not be required to reenter the payment instrument data when the user attempts to use the system in different locations. The system may be configured to prevent a user from using a certain payment instrument in a location in which that payment instrument is illegal or otherwise not acceptable, while still allowing the user to use that payment instrument in a location in which it is legal and acceptable. The system may be configured such that once a payment method is blocked in a first location, that payment method may be blocked in some or all of the other locations in which the system is available. 
     In some instances, a user may have an amount owed in a first location as a result of, for example, a chargeback or bet resettlement. In such instances, the system may be configured such that any amount owed is recovered from the user&#39;s available balance. Should the user&#39;s available balance be insufficient to cover the amount owed, the system may be configured such that if the user makes a deposit in a different location, the deposited amount is automatically transferred to the first location and applied toward the amount owed. 
     Each location in which the system is available may have location-specific requirements for reporting the gaming activities of each user within the location. The system may be configured to provide for the reporting of gaming activity within the location in which the activity occurred. 
     It should be recognized that certain components or elements of the embodiments described above, or in the claims that follow, are numbered to allow ease of reference to them or to help distinguish between them, but order should not be implied from such numbering, unless such order is expressly recited. It should also be understood that certain benefits will flow from the above-described systems and methods. For example, the distributed nature of the systems described above may contribute to a more robust or stable system that provides users across different jurisdictions similar experiences while taking into account the jurisdictional requirements where each user is located. Additionally, using principles described above, the various systems described above may be readily and easily expanded to include additional functionality, such as new games available to the user, as that functionality become available to the user (e.g., because new games are developed or because new gaming activity is permitted via regulatory changes). Using the distributed systems and the principles described above, the user is able to access his or her account and wallet funds and other items, regardless of the jurisdiction in which the user is located. Thus, while these items the user accesses may be duplicated across various datacenters, in the manner described above, the user&#39;s experience will be consistent with having a single wallet and a single account that appear to travel with the user. The above description and drawings are only to be considered illustrative of specific embodiments, which achieve the features and advantages described herein. Modifications and substitutions to specific process conditions can be made. Accordingly, the embodiments in this patent document are not considered as being limited by the foregoing description and drawings.