Abstract
A unified wallet manager (UWM) virtualized as a single virtual service in which all transactions relative to the UWM are treated as immutable facts permanently stored in append-only queues or ledgers from the time of their creation. A rules engine reads conversion requests in request calls to the service, and determines which rule or rules to apply to convert funds from one ledger to another, in the same or different vertically scaled gaming systems. The UWM is a peer of other vertical gaming systems, and the gaming systems access the UWM via an API server and data egresses from the UWM through an ETL process from a database cluster. The immutable queues allow for data reconstruction using any desired data model. The ledger stores funds of many different types, including real money, points, play money, and others. Third parties can integrate with the UWM through an integration hub connected to the UWM.
Claims
-
A standalone digital wallet manager managing a plurality of balances of funds associated with a plurality of players of one or more gaming systems, comprising:
one or more processors;
one or more memory devices coupled to the one or more processors;
one or more data storage devices utilizing one or more data models;
an input interface and an output interface;
a plurality of software services operated by the one or more processors and deployed over a representational state transfer (REST) service utilizing a hypertext transfer protocol (HTTP), each of the software services responding to request or response calls over the REST service;
a request queue receiving asynchronous request calls from at least one of the plurality of software services via the input interface;
a response queue holding response calls from at least one of the plurality of software services for communication to the output interface;
a storage queue feeding the one or more data storage devices the plurality of balances of funds associated with the plurality of players of one or more gaming systems; and
a ledger service coupled to the storage queue, the response queue, and the request queue, the ledger service managing access to the balances of funds stored in the storage queue, wherein each of the request queue, the response queue, and the storage queue is immutable such that all new entries to the queue are appended sequentially to the queue and no edits or deletion of any existing entries in the queue is permitted.
- The wallet manager of claim 1, further comprising a rules engine coupled to the ledger service, the rules engine including a plurality of conversion rates and a corresponding rule associated with each of the conversion rates, each of the conversion rates indicating a conversion exchange value between at least two funds of different types, and each of the corresponding rules indicating one or more conditions that must be satisfied to convert between the at least two funds of different types.
- The wallet manager of claim 2, wherein at least one of the conversion rates indicates a conversion exchange value between a first fund of a first type associated with a first of the one or more gaming systems and a second fund of a second type associated with a second of the one or more gaming systems, wherein the first and the second gaming systems are of different types, the different types being distinct ones of a casino gaming system, a lottery gaming system, a sports betting gaming system, or a social gaming system.
- The wallet manager of claim 1, further comprising a rules engine coupled to the ledger service, the rules engine including a rule that creates a new value to add to one of the plurality of balances of funds associated with one of the plurality of players, the new having no exchange value when created, the rule indicating at least one condition to be satisfied by the one of the plurality of players interacting with any one or more of the one or more gaming system and an extent of the new value to be added when the at least one condition is satisfied.
- The wallet manager of claim 1, wherein one of the plurality of software services is a read-only vault service that exposes data obtained or derived from the storage queue to the output interface.
- The wallet manager of claim 5, wherein the data is exposed via an extract, transform, and load (ETL) process operating on a distributed database management system.
- The wallet manager of claim 1, wherein all request or response calls relative to the input or output interface pass through the request queue or the response queue, and wherein all messages stored in the request queue or the response queue are exposed by their respective logical offsets in the queue.
- The wallet manager of claim 7, wherein an identifier (ID) of a new message to be appended to the request queue or the response queue is computed by adding a length of a current message to its logical offset without associating any explicit message-IDs to any of the messages stored in the request queue or the response queue.
- The wallet manager of claim 1, wherein the request queue is a plurality of request queues comprising any two or more of the following queues: a wager queue, a win queue, a purchase queue, an award queue, a deposit queue, and a withdraw queue, wherein the wager queue stores requests to deduct an amount of money from a requested one of the balances of funds associated with a requested one of the players, the deducted amount of money corresponding to an amount of a wager placed by the requested player on one of the one or more gaming systems, wherein the win queue stores requests to deposit an amount of money to a requested one of the balances of funds associated with a requested one of the players, the deposited amount of money corresponding to an amount of a win awarded to the requested player by one of the one or more gaming systems, wherein the purchase queue stores requests to purchase a number of virtual credits by the requested player in one of the one or more gaming systems, wherein the deposit queue stores requests to deposit an amount of real money into the requested one of the balances of funds, and wherein the withdraw queue stores requests to withdraw an amount of real money from the requested one of the balances of funds.
- The wallet manager of claim 1, wherein at least one of the request calls include a payload associated with at least one of the funds passing through the storage queue, wherein the payload includes a uniform resource locator (URL) link or a uniform resource indicator (URI) or a receipt or other indicia of a transaction involving funds, and wherein at least one of the response calls includes the same payload in unaltered form.
- The wallet manager of claim 1, wherein the one or more gaming systems includes a first gaming system of a first type and a second gaming system of a second type distinct from the first type, the first type being a casino gaming system, a lottery gaming system, a sports betting gaming system, or a social gaming system, and the second type being any other of the first type.
- The wallet manager of claim 1, wherein the immutability of the request, response, and storage queues allows data stored in the one or more data storage devices to be organized according to or characterized by any data model.
- The wallet manager of claim 1, wherein data stored in the one or more data storage devices is independent of whichever data model is used to organize or characterize the data.
- The wallet manager of claim 1, wherein the one or more data storage devices includes one or more mass storage devices.
-
A computer-implemented method of managing a plurality of balances of funds associated with a plurality of players of one or more gaming systems, the method comprising:
operating a plurality of software services by one or more processors;
deploying the plurality of software services over a representational state transfer (REST) service utilizing a hypertext transfer protocol (HTTP), each of the software services responding to request or response calls over the REST service;
receiving in a request queue asynchronous request calls from at least one of the plurality of software services via an input interface;
holding response calls in a response queue from at least one of the plurality of software services for communication to an output interface;
a storage queue feeding one or more data storage devices the plurality of balances of funds associated with the plurality of players;
managing access to the balances of funds stored in the storage queue by a ledger service coupled to the storage queue, the response queue, and the request queue, wherein each of the request queue, the response queue, and the storage queue is immutable such that all new entries to the queue are appended sequentially to the queue and no edits or deletion of any existing entries in the queue is permitted.
-
The method of claim 15, further comprising:
providing a plurality of rules in a rules engine coupled to the ledger service, the rules engine including a plurality of conversion rates, each of the conversion rates indicating a conversion exchange value between at least two funds of different types, and each of the corresponding rules indicating one or more conditions that must be satisfied to convert between the at least two funds of different types.
- The method of claim 16, wherein at least one of the conversion rates indicates a conversion exchange value between a first fund of a first type associated with a first of the one or more gaming systems and a second fund of a second type associated with a second of the one or more gaming systems, wherein the first and the second gaming systems are of different types, the different types being distinct ones of a casino gaming system, a lottery gaming system, a sports betting gaming system, or a social gaming system.
- The method of claim 15, further comprising creating a new value by a rule operated by a rules engine coupled to the ledger service to add to one of the plurality of balances of funds associated with one of the plurality of players, the new having no exchange value when created, the rule indicating at least one condition to be satisfied by the one of the plurality of players interacting with any one or more of the one or more gaming system and an extent of the new value to be added when the at least one condition is satisfied.
- The method of claim 15, further comprising transferring all request or response calls relative to the input or output interface through the request queue or the response queue, and wherein all messages stored in the request queue or the response queue are exposed by their respective logical offsets in the queue.
- The method of claim 19, wherein an identifier (ID) of a new message to be appended to the request queue or the response queue is computed by adding a length of a current message to its logical offset without associating any explicit message-IDs to any of the messages stored in the request queue or the response queue.
- The method of claim 15, wherein the request queue is a plurality of request queues comprising any two or more of the following queues: a wager queue, a win queue, a purchase queue, an award queue, a deposit queue, and a withdraw queue, wherein the wager queue stores requests to deduct an amount of money from a requested one of the balances of funds associated with a requested one of the players, the deducted amount of money corresponding to an amount of a wager placed by the requested player on one of the one or more gaming systems, wherein the win queue stores requests to deposit an amount of money to a requested one of the balances of funds associated with a requested one of the players, the deposited amount of money corresponding to an amount of a win awarded to the requested player by one of the one or more gaming systems, wherein the purchase queue stores requests to purchase a number of virtual credits by the requested player in one of the one or more gaming systems, wherein the deposit queue stores requests to deposit an amount of real money into the requested one of the balances of funds, and wherein the withdraw queue stores requests to withdraw an amount of real money from the requested one of the balances of funds.
- The method of claim 15, wherein at least one of the request calls include a payload associated with at least one of the funds passing through the storage queue, the payload including a uniform resource locator (URL) link or a uniform resource indicator (URI) or a receipt or other indicia of a transaction involving funds, and wherein at least one of the response calls includes the same payload in unaltered form.
-
The method of claim 15, further comprising:
organizing data stored in the one or more data storage devices according to a first data model;
reconstructing data using at least a subset of information stored in at least the storage queue; and
organizing the reconstructed data according to a second data model different from the first data model.
- The method of claim 1, wherein data stored in the one or more data storage devices is independent of whichever data model is used to organize or characterize the data.
Owners (US)
-
Bally Gaming Inc
(Sep 19 2016)
Explore more patents:
Applicants
-
Bally Gaming Inc
Explore more patents:
Inventors
-
Toohey John P
Explore more patents:
-
Duncan Cherie M
Explore more patents:
CPC Classifications
-
G07F17/3244
Explore more patents:
-
G06F16/254
Explore more patents:
-
G06Q20/3678
Explore more patents:
-
G06Q20/381
Explore more patents:
-
G06Q50/34
Explore more patents:
-
G07F17/3241
Explore more patents:
Document Preview
- Publication: Mar 30, 2017
-
Application:
Sep 19, 2016
US 201615269227 A
-
Priority:
Sep 19, 2016
US 201615269227 A
-
Priority:
Sep 25, 2015
US 201562232588 P