Data Warehouse for Distributed Gaming Systems
A data warehouse is provided for gaming systems located in multiple jurisdictions. Each jurisdiction collects gaming data from one or more gaming devices. Data from each jurisdiction is extracted, transformed and loaded into a data warehouse. A network, such as the Internet, may be used to transfer the data to the data warehouse. An on-line analytical processing (OLAP) application provides analysis services, such as point-in-time data reports, summary data reports, comparison reports, trend analysis reports and profitability reports, and other data analysis and data mining applications.
This application claims the priority benefit of U.S. Provisional Application Ser. No. 60/700,093 filed Jul. 18, 2005, the content of which is incorporated herein by reference.
COPYRIGHTA portion of the disclosure of this patent document contains material to which the claim of copyright protection is made. The copyright owner has no objection to the facsimile reproduction by any person of the patent document or the patent disclosure, as it appears in the U.S. Patent and Trademark Office file or records, but reserves all other rights whatsoever. Copyright 2006, WMS Gaming, Inc.
FIELDThe present invention related to gaming systems, and in particular to a data warehouse for distributed gaming systems.
BACKGROUNDGaming machines, such as slot machines, produce large amounts of data. Casinos use slot data collection systems that track every aspect of every event surrounding a gaming device, including individual player performance. These data collection systems are limited in physical scope. Each system is confined to collect data from a particular business entity, such as a casino, or set of casinos owned by a single business entity. Different business entities may have different architecture gaming devices with different architectures and different data formats and structures. Further, gaming device in different jurisdictions may generate data in different formats as a result of different requirements in such jurisdictions. There is a need for a data collection system that can operate across business entities and jurisdictions, where such business entities and jurisdictions may have different gaming devices with different architectures and different data formats and structures.
SUMMARYA data warehouse is provided for gaming systems located in multiple jurisdictions. Each jurisdiction collects gaming data from one or more gaming devices. Data from each jurisdiction is extracted, transformed and loaded into a data warehouse. A network, such as the Internet, may be used to transfer the data to the data warehouse. An on-line analytical processing (OLAP) application provides analysis services, such as point-in-time data reports, summary data reports, comparison reports, trend analysis reports and profitability reports, and other data analysis and data mining applications.
In the following description, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific embodiments which may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that structural, logical and electrical changes may be made without departing from the scope of the present invention. The following description is, therefore, not to be taken in a limited sense, and the scope of the present invention is defined by the appended claims.
The functions or algorithms described herein are implemented in software or a combination of software and human implemented procedures in one embodiment. The software comprises computer executable instructions stored on computer readable media such as memory or other type of storage devices. The term “computer readable media” is also used to represent carrier waves on which the software is transmitted. Further, such functions correspond to modules, which are software, hardware, firmware or any combination thereof. Multiple functions are performed in one or more modules as desired, and the embodiments described are merely examples. The software is executed on a digital signal processor, ASIC, microprocessor, or other type of processor operating on a computer system, such as a personal computer, server or other computer system.
As used herein, the term casino game or gaming device encompasses, without limitation, slot machines, video poker machines, roulette tables, poker tables, craps tables and any other game of chance offered by a gaming establishment wherein for example the game qualifies as regulated and/or licensed gaming equipment.
A typical gaming system is first described, followed by a description of warehousing data from multiple such gaming systems coupled to on line transaction processing systems (OLTP), located in multiple jurisdictions.
As illustrated in
As shown in
A player may “cash out” by pressing a cash out button 116. When a player cashes out, the gaming device 100 dispenses a number of coins, corresponding to the number of remaining credits, into the coin tray 118. The gaming device 100 may employ other payout mechanisms such as credit slips, which are redeemable by a cashier, or electronically recordable cards, which track player credits.
The gaming device 100 also includes one or more display devices. The embodiment shown in
The first OLTP system 205 is shown in further detail. It handles data processes that perform individual transactions with defined, atomic units of measure. One such transaction in a gaming machine environment is a handle pull on a slot machine. Meter data is sent to system 205 to an application server, WAP (wide area progressive system) 220 which may be coupled to one or more gaming devices. In one embodiment, a WAP is provided for each of multiple different types of gaming device themes. For example, multiple gaming devices with a Clint Eastwood progressive theme may be serviced by one WAP, and gaming devices with a Monopoly® progressive theme will be serviced by a separate WAP. In one embodiment, the separate WAPs are actually separate computer systems, but may be combined in a rack for convenience. In a further embodiment, the separate WAPs may be implemented as virtual machines.
A common server 225 may be used to run other applications, such as a new application 245. The common server 225 is also coupled to two common physical devices, one or more gaming devices, and acts as a data collection device. In one example application, a coin count over a given period is accumulated.
OLTP 205 provides for isolation of transactions data from other applications by the use of separate servers, either real or virtual. This ensures consistency of the data and integrity of results. A history/staging server 230 provides small, private and isolated sets of transaction data at each jurisdiction's central site. In one example, collections from a machine or set of machines may be collected for a time period, such as a day, and then rolled in to the history/staging server 230. Out-of-transaction data processes, like invoicing or performance reports may be removed from this data. Additional OLTP like applications, such as persistent state, participation data collection or mini-tournament enrollment may be easily implemented while still maintaining such isolation. Such a strap-on approach provides flexibility to accept most future applications that use a gaming device, including applications involving downloadable game components.
At periodic intervals, upon certain events, or in real time, data is transferred from WAP 220 and common server 225 to the history/staging server 230. Some data massaging may take place to ensure that the data is complete to maintain the ability of the OLTP system 205 to continue to provide jurisdictional reports locally, as illustrated at 235. History tables are maintained at history/staging server 230 to enable the provision of such reports. Additionally, staging tables contain massaged data at a detailed level. The staging tables may also track historic changes to common data, such as a casino's sales representatives.
In one embodiment, checksums are used in the history/staging server 230 for each fact row. A fact row may have up to twenty or more attributes. If one of the attributes changes, a new row containing a checksum for the contributing attributes is created.
A network 240 is used to transport periodic sets of data from history/staging server 230 from each of the jurisdictions, to an ETL (extract, transform and load) program 250, which may be located at a central location as shown. In various embodiments, some or all of the functions of the ETL program 250 may be implemented in each jurisdiction, such as prior to history/staging server 230, or prior to transmission to a centrally located ETL 250. Further, portions of the extract, transform and load program or system are distributed between the multiple transaction processing systems and a central location. In one example, the extract and transform functions may be implemented in each OLTP jurisdiction either in or prior to the history/staging server 230. Program 250 verifies the consistency and integrity of the data, configures the incoming data with proper data warehouse identifiers, and finally inserts the data into a data warehouse 255. The data is effectively cleansed to conform to the needs of the warehouse 255 and end users. Multi-jurisdictional data is handled by ensuring that fact tables have an adequate number of fields for each jurisdiction. For instance, if only one jurisdiction requires two colors, two fields are provided for each jurisdiction.
Data warehouse 255 has the ability to stand alone without any shared resources. It maintains historic data from multiple jurisdictions accurately for every desired component of the data facts, and quickly and reliably presents its contents to requesting applications. Data warehouse 255 also keeps track of slowly changing dimensions, such as a name change of a casino. It may be a relational or modified relational type of database, or other form if desired. Data warehouse 255 is a robust and fruitful source of reports as indicated at 265 and 270. Such reports may be predefined or ad hoc, and may be requested and delivered via a network, such as the Internet or an Intranet.
An OLAP (on line analytical processing) process withdraws data from the data warehouse 255 and creates multiple objects, such as cubes 260 that are populated for data analysis and data mining. Summary and aggregate values may be calculated from the data. Various data mining applications that execute against these calculated values execute independently, and provide analysis reports and data mining as indicated at 270. OLAP process 260 has capability to condense, expand, slice and dice the data for trend analysis, performance comparisons, and status tracking, among many other analytical uses. Data mining services provide the ability to troll through various data structures and note similar or dissimilar patterns between various physical objects or stored events.
The OLAP process 260 enables analysts, managers and executives to gain insight into data through fast, consistent, interactive access to a wide variety of possible views of information that has been transformed from raw data to reflect the real dimensionality of the enterprise as understood by the user. Data is arranged and viewed through various combinations and permutations. Data retrieval speed is enhanced by precalculating data to provide various summary and aggregate levels in concert with user requirements. OLAP objects, often known as dimensions and cubes as represented in
OLAP data may be assembled in many different ways. In one embodiment, attributes for physical items are assembled. Different examples includes slant-top slots next to a restaurant, casinos that are 30 days late on their invoices, slots currently offline, etc. Data may also be assembled by the type of time used for each fact. Examples include hour, shift, day, week, fiscal quarter, calendar year, etc. Further assembly may be based on the number of facts collected. Examples include amount of coin in, number of handle pulls, amount of drop box door open events, etc. Such assemblies of information would provide a very quick response to a request for a comparative trend analysis report showing the average coin in per shift during the last three months across each jurisdiction between two new themes, for example. This is just one illustration of the types of data assemblies. Further assemblies may be formed, based on historical or anticipated requests to enhance performance.
Claims
1. A system comprising:
- a staging database coupled to historical database and multiple gaming systems distributed among different jurisdictions;
- an extract, transform and load module coupled to the staging database that receives data from the staging database and transforms the data;
- a data warehouse coupled to the extract, transform and load module for receiving the transformed data in a form compatible with the data warehouse.
2. The system of claim 1, and further comprising an on-line analytical processing function.
3. The system of claim 2 wherein the on-line analytical processing function provides data analysis functions.
4. The system of claim 3 wherein the on-line analytical processing system comprises cubes populated for data analysis and data mining.
5. The system of claim 4 wherein the on-line analytical processing system provides analysis services, such as point-in-time data reports, summary data reports, comparison reports, trend analysis reports and profitability reports, and other data analysis and data mining applications.
6. The system of claim 1 and further comprising a wide area progressive system for each game theme in a jurisdiction.
7. The system of claim 6 and further comprising a common server for executing additional applications.
8. The system of claim 6 wherein the staging database accumulates historical data from one or more wide area progressive systems.
9. The system of claim 8 wherein the staging database comprises information for providing jurisdictional specific reports.
10. A system comprising:
- multiple transaction processing systems coupled to gaming devices in different jurisdictions providing staging of data collected from the gaming devices;
- an extract, transform and load system coupled to the multiple transaction processing systems for extracting data from the collected data in each of the transaction processing systems in multiple jurisdictions; and
- a data warehouse coupled to the extract, transform and load system, such that the extract, transform and load systems transforms the extracted data to a format compatible with the data warehouse and loads it into the data warehouse.
11. The system of claim 10 wherein portions of the extract, transform and load system are distributed between the multiple transaction processing systems and a central location.
12. The system of claim 11 wherein the extract and transform functions may be implemented in each of the multiple transaction processing systems.
13. The system of claim 10 wherein the transaction processing system comprises a wide area progressive system for each game theme in a jurisdiction.
14. The system of claim 13 wherein the transaction processing system comprises a common server for executing additional applications.
15. The system of claim 13 wherein the transaction processing system comprises a history/staging server for accumulating historical data from one or more wide area progressive systems.
16. The system of claim 15 wherein the history/staging server comprises information for providing jurisdictional specific reports.
17. The system of claim 13 wherein the wide area progressive systems for each game theme comprise a separate computer system.
18. The system of claim 13 and further comprising an on-line analytical processing system.
19. The system of claim 18 wherein the on-line analytical processing system comprises cubes populated for data analysis and data mining.
20. The system of claim 19 wherein the on-line analytical processing system provides analysis services, such as point-in-time data reports, summary data reports, comparison reports, trend analysis reports and profitability reports, and other data analysis and data mining applications.
21. The system of claim 10 and further comprising a network coupled to the extract, transform and load system and to the multiple transaction processing systems.
22. The system of claim 20 wherein the network comprises an intranet.
23. A method comprising:
- staging historical data from multiple gaming systems distributed among different jurisdictions and independent business entities;
- extracting and transforming data from the staged historical data to a format compatible with a central data warehouse for storing data from multiple jurisdictions and independent business entities; and
- loading the transformed data into the central data warehouse.
24. The method of claim 23 and further comprising using an on-line analytical processing system to provide analysis services, such as point-in-time data reports, summary data reports, comparison reports, trend analysis reports and profitability reports, and other data analysis and data mining applications.
25. A computer readable medium having instructions for causing a computer to perform a method, the method comprising:
- staging historical data from multiple gaming systems distributed among different jurisdictions and independent business entities;
- extracting and transforming data from the staged historical data to a format compatible with a central data warehouse for storing data from multiple jurisdictions and independent business entities; and
- loading the transformed data into the central data warehouse.
Type: Application
Filed: Jul 18, 2006
Publication Date: Oct 9, 2008
Inventor: John A. Beatty (Reno, NV)
Application Number: 11/996,014
International Classification: A63F 9/24 (20060101);