A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. Copyright 2006, 2007, WMS Gaming, Inc.
Embodiments relate generally to wagering game systems, and more particularly, to processing metadata in wagering game systems.
Wagering game machines, such as slot machines, video poker machines and the like, have been a cornerstone of the gaming industry for several years. Generally, the popularity of such machines with players is dependent on the likelihood (or perceived likelihood) of winning money at the machine and the intrinsic entertainment value of the machine relative to other available gaming options. Where the available gaming options include a number of competing wagering game machines and the expectation of winning at each machine is roughly the same (or believed to be the same), players are likely to be attracted to the most entertaining and exciting machines. Shrewd operators consequently strive to employ the most entertaining and exciting machines, features, and enhancements available because such machines attract frequent play and hence increase profitability to the operator. Therefore, there is a continuing need for wagering game machine manufacturers to continuously develop new games and gaming enhancements that will attract frequent play.
Embodiments of the present invention are illustrated by way of example and not limitation in the Figures of the accompanying drawings in which:
Embodiments of the invention can create, modify, store, retrieve, and otherwise process extended metadata in wagering game systems. Extended metadata can differ from typical pre-defined file system metadata, which often includes information about file size, file name, timestamps, user access privileges, etc. In contrast, extended metadata can include information about entities that create files (e.g., lens type on digital camera), statistics about entities that have accessed files, application-defined metadata fields, or any other information about wagering game systems. In some embodiments, wagering game systems can utilize extended metadata to configure components, optimize processes, customize services, etc. These and other features will be described in greater detail below.
In one embodiment, the application modules 134 and operating system modules 136 can perform operations on files stored in the file system 138. The operations can include creating, deleting, and/or modifying extended metadata associated with files. The extended metadata can be distinct from pre-defined file system metadata associated with the files. For example, in one embodiment, the extended metadata does not include typical file system metadata, such as timestamps, user access privileges, file size, file name, etc. Instead, the extended metadata can include information about entities that created a file (e.g., properties of a camera that created an image file), statistics about processes that have accessed the file (e.g., how often an application accesses a file), and/or any other information created or determined by components that access the file. For example, extended metadata of a file representing a hardware device can describe hardware features, requirements, and/or statistics. In one embodiment, extended metadata can be stored inside files of the file system 138, whereas in other embodiments, the extended metadata is not stored inside the files. Some embodiments store extended metadata separate from the file system 138 altogether. In one embodiment, extended metadata can be protected using access privileges separate from those used by the file system. The following sections will provide additional examples describing how embodiments can store and process extended metadata.
The CPU 126 is connected to an input/output (I/0) bus 122, which facilitates communication between the wagering game machine's components. The I/O bus 122 is connected to a payout mechanism 108, primary display 110, secondary display 112, value input device 114, player input device 116, information reader 118, and storage unit 130. The player input device 116 can include the value input device 114 to the extent the player input device 116 is used to place wagers. The I/O bus 122 is also connected to an external system interface 124, which is connected to external systems 104 (e.g., wagering game networks).
In one embodiment, the wagering game machine 106 can include additional peripheral devices and/or more than one of each component shown in
In one embodiment, any of the components of the wagering game machine 106 (e.g., the wagering game presentation unit 132) can include hardware, firmware, and/or software for performing the operations described herein. Machine-readable media includes any mechanism that provides (i.e., stores and/or transmits) information in a form readable by a machine (e.g., a wagering game machine, computer, etc.). For example, tangible machine-readable media includes read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory machines, etc. Machine-readable media also includes any media suitable for transmitting software over a network.
This section continues with a discussion about how embodiments can organize and store extended metadata in wager gaming systems.
While
While
The file system 402 includes an index table 406 including references to file data 408. The extended metadata database 404 includes extended metadata and pre-defined file system metadata associated with each of the files stored in the file system 402. The file identifiers 410 of the extended metadata database 404 can be unique identifiers associated with the files stored in the file system 402. The unique identifiers can include file hashes, file names including a full directory path, Unix Inode numbers, etc.
Because the extended metadata database 404 is separate from the file system 402, components of the wager gaming machine 400 (e.g., value input devices, wagering game presentation unit, etc.) can create, process, and store varying types of extended metadata without modifying the file system 402. In one embodiment, typical operating-system-supported file operations can be augmented with operations that processes extended metadata in the extended metadata database 404. For example, high-level programming language “file open” operations can be augmented to fetch a file's extended metadata from the extended metadata database 404. In one embodiment, the operating system modules 136 can notify wagering game machine components when extended metadata associated with certain files has been updated.
In one embodiment, wagering game machine components can request a file's extended metadata independently of the file's wager gaming content. For example, the application module 134 can search and access (e.g., via the operating system modules 136) the extended metadata database 404 without searching and accessing wager gaming content stored in the file system 402. Thus, the application module 134 or other components can request extended metadata of a particular type identifier without identifying a file associated with the request. Components can then request wager gaming content based on the results of searches of the extended metadata. For example, an extended metadata type identifier may be “integrity validation requirement” with corresponding extended metadata values of “high” and “low.” An integrity validation application (not shown) can query the extended metadata to identify files having these extended metadata type identifiers and values. The integrity validation application may then create a task list to process wagering game content of all files having “high” integrity validation requirements.
Embodiments in which the extended metadata is stored in the file system can also separately search the extended metadata without accessing wager gaming content.
This section describes operations performed by embodiments of the invention. In the discussion below, the flow diagrams will be described with reference to the block diagrams presented above. In certain embodiments, the operations are performed by instructions residing on machine-readable media (e.g., software), while in other embodiments, the operations are performed by hardware and/or other logic (e.g., firmware). In some embodiments the operations are performed in series, while in other embodiments, the operations can be performed in parallel.
The following discussion will describe embodiments in which some of the example operations are performed by operating system modules, while others of the example operations are performed by application modules. This section continues with a discussion of
At block 502, wager gaming content is identified for storage as a file in a file system. For example, the wager gaming presentation unit 132 identifies data that it wants to store in the file system 138. The flow continues at block 504.
At block 504, the wagering game presentation unit 132 determines a number of extended metadata items that describe the wagering game content, where the extended metadata items differ from pre-defined file system metadata items. In one embodiment, the extended metadata items can include information about wagering game machine components, conditions under which the file was created, statistics gathered about wagering game machine processes, or any other suitable information. In one embodiment, the extended metadata can include any number of dynamically-sized metadata items. The flow continues at block 506.
At block 506, the wager gaming presentation unit 132 submits the extended metadata items and the file containing the wager gaming content for storage in the file system. For example, the wager gaming presentation unit 132 performs an operating system call in which it submits the extended metadata and the file to the operating system modules 136 for storage in the file system 138. From block 506, the flow ends.
This description continues with a discussion of example operations that can be performed in response to an application module submitting a file and its associated extended metadata for storage. A discussion of
At block 602, the operating system modules 136 receive a request (e.g., an operating system call) to store extended metadata items and a file including wager gaming content. In one embodiment, the operating system modules 136 receive the request from the application module 134. The flow continues at block 604.
At block 604, the operating system modules 136 determine one or more locations in the file system 138 for storing the extended metadata items and the file. In one embodiment, the extended metadata items can be of arbitrary number and arbitrary size. In one embodiment, the operating system modules 136 can store the extended metadata in a file's header (see
At block 606, the operating system modules 136 create a file system entry associated with the files system locations, which were chosen at block 604. The file system entry can be an entry in an i-node table, file allocation table, or other structure used for storing entries in a file system. Additionally, the file system entry can include a unique identifier associated with the file. The flow continues at block 608.
At block 608, the operating system modules 136 store the file's wager gaming content. At block 610, the operating system modules 136 store the extended metadata items associated with the file. The operating system 136 can store both the file data and the extended metadata in the file system, as shown in
The discussion of
At block 702, the operating system modules 136 detect a file operation performed in association with a file that includes wager gaming content. For example, the operating system modules 136 detects that the application module 134 has performed a file operation (e.g., file read, file write, file delete, etc.). The flow continues at block 704.
At block 704, the operating system modules 136 process the file. In one embodiment, the operating system modules 136 read the file's data (i.e., wager gaming content), the file's pre-defined file system metadata, and/or the file's extended metadata. The flow continues at block 706.
At block 706, the operating system modules 136 create extended metadata based on the processing of the file. For example, the operating system modules 136 create extended metadata based on the file's wager gaming content, the file's extended metadata, etc. The flow continues at block 708.
At block 708, the operating system modules 136 store the extended metadata in association with a file. For example, the operating system module 136 can store the extended metadata inside or outside the file system, as described vis-á-vis
This section continues with a discussion about operations for requesting a file and its extended metadata and operations for responding to such a request.
At block 802, the application module 134 requests a file including wager gaming content, where the file is associated with extended metadata. In one embodiment, the application module 134 requests the file from the operating system modules 136. The flow continues at block 804.
At block 804, the application module 134 receives access to the file and the extended metadata. In one embodiment, the application module 134 receives from the operating system modules 136 one or more blocks of the file and the extended metadata associated with the file. The extended metadata can be included in the file (e.g., in the file header) or it can be separate from the file (e.g., in a table, record, or other data structure). The flow continues at block 806.
At block 806, the application module 134 processes the extended metadata. For example, the application module 134 reads the extended metadata. In one embodiment, the application module 134 can use the extended metadata items to determine how it will process the file's wager gaming content. For example, for a media file (e.g., an MPEG file), the application module 134 can process the extended metadata items to determine audio equalizer settings, volume settings, video contrast settings, resolution settings, etc. According to embodiments, the application module 134 can use the extended metadata for any suitable reason. The flow continues at block 808.
At block 808, the application module 134 processes the wager gaming content based on the extended metadata. For example, the application module 134 configures itself according to the media settings contained in the extended metadata and then presents the media file. Other embodiments perform other processes based on the extended metadata. From block 808, the flow ends.
This section continues with a discussion of operations performed in response to a request for a file and its associated extended metadata (e.g. see block 802 of
At block 902, the operating system modules 136 detect a request to access a file in a file system, where the file includes wager gaming content. For example, the operating system modules 136 receive an operating system call to read a file including wager gaming content. The flow continues at block 904.
At block 904, the operating system modules 136 retrieve extended metadata associated with the file. In one embodiment, the operating system modules 136 retrieve the extended metadata from a database or other storage locations outside the file system (e.g., see
At block 906, the operating system modules 136 provide the extended metadata as part of responding to the file access request. In one embodiment, the operating system modules 136 return all or a portion of the file, where the file includes the extended metadata (e.g., the metadata can be included in the file header—see
Sometimes wagering game system providers want to send wager gaming content files without sending any metadata. As a result, they may want to remove associations between extended metadata and wager gaming files. This section continues with a discussion about operations for removing associations between wager gaming files and their associated extended metadata. The discussion continues with
At block 1002, the application module 134 selects a file that is associated with extended metadata. In one embodiment, the file includes wager gaming content. The flow continues at block 1004.
At block 1004, the application module 134 creates a second version of the file, where the second version is not associated with the extended metadata. For example, in an embodiment in which the extended metadata is stored in the file's header (see
At block 1006, the application program 134 provides the second version of the file. For example, the application program 134 provides the second version of the file to another component of the wagering game machine 106. Alternatively, the application program transmits the second version of the file to a network device. From block 1006, the flow ends.
This section continues with a discussion about how wagering game systems can use extended metadata, according to example embodiments of the invention. As discussed above, extended metadata can include information about wagering game machine components, wagering game players, wagering game data included within files, file systems, and entities that have processed files (e.g., a camera that created a file). Embodiments of the extended metadata are not limited to these examples, as the extended metadata can include information about any aspect of a wagering game machine or entities associated with it. Furthermore, any component of a wagering game machine (e.g., application module 134, operating system modules 136, information reader 118, etc.) can use the extended metadata. In one embodiment, the extended metadata can be encoded so that only “certified” machines can process the extended metadata. As a result, wagering game machine operators can limit access to extended metadata.
The following is a non-exhaustive list of example uses for extended metadata. The example uses can be used in concert with any of the operations discussed above.
The wagering game machine 1100 comprises a housing 1112 and includes input devices, including value input devices 1118 and a player input device 1124. For output, the wagering game machine 1100 includes a primary display 1114 for displaying information about a basic wagering game. The primary display 1114 can also display information about a bonus wagering game and a progressive wagering game. The wagering game machine 1100 also includes a secondary display 1116 for displaying wagering game events, wagering game outcomes, and/or signage information. While some components of the wagering game machine 1100 are described herein, numerous other elements can exist and can be used in any number or combination to create varying forms of the wagering game machine 1100.
The value input devices 1118 can take any suitable form and can be located on the front of the housing 1112. The value input devices 1118 can receive currency and/or credits inserted by a player. The value input devices 1118 can include coin acceptors for receiving coin currency and bill acceptors for receiving paper currency. Furthermore, the value input devices 1118 can include ticket readers or barcode scanners for reading information stored on vouchers, cards, or other tangible portable storage devices. The vouchers or cards can authorize access to central accounts, which can transfer money to the wagering game machine 1100.
The player input device 1124 comprises a plurality of push buttons on a button panel 1126 for operating the wagering game machine 1100. In addition, or alternatively, the player input device 1124 can comprise a touch screen 1128 mounted over the primary display 1114 and/or secondary display 1116.
The various components of the wagering game machine 1100 can be connected directly to, or contained within, the housing 1112. Alternatively, some of the wagering game machine's components can be located outside of the housing 1112, while being communicatively coupled with the wagering game machine 1100 using any suitable wired or wireless communication technology.
The operation of the basic wagering game can be displayed to the player on the primary display 1114. The primary display 1114 can also display a bonus game associated with the basic wagering game. The primary display 1114 can include a cathode ray tube (CRT), a high resolution liquid crystal display (LCD), a plasma display, light emitting diodes (LEDs), or any other type of display suitable for use in the wagering game machine 1100. Alternatively, the primary display 1114 can include a number of mechanical reels to display the outcome. In
A player begins playing a basic wagering game by making a wager via the value input device 1118. The player can initiate play by using the player input device's buttons or touch screen 1128. The basic game can include arranging a plurality of symbols along a payline 1132, which indicates one or more outcomes of the basic game. Such outcomes can be randomly selected in response to player input. At least one of the outcomes, which can include any variation or combination of symbols, can trigger a bonus game.
In some embodiments, the wagering game machine 1100 can also include an information reader 1152, which can include a card reader, ticket reader, bar code scanner, RFID transceiver, or computer readable storage medium interface. In some embodiments, the information reader 1152 can be used to award complimentary services, restore game assets, track player habits, etc.
Each of the plurality of casinos 1212 includes a local area network 1216, which includes a wireless access point 1204, wagering game machines 1202, and a wagering game server 1206 that can serve wagering games over the local area network 1216. As such, the local area network 1216 includes wireless communication links 1210 and wired communication links 1208. The wired and wireless communication links can employ any suitable connection technology, such as Bluetooth, 802.11, Ethernet, public switched telephone networks, SONET, etc. In one embodiment, the wagering game server 1206 can serve wagering games and/or distribute content to devices located in other casinos 1212 or at other locations on the communications network 1214.
The wagering game machines 1202 and wagering game server 1206 can include hardware and machine-readable media including instructions for storing and processing extended metadata as described herein.
The wagering game machines 1202 described herein can take any suitable form, such as floor standing models, handheld mobile units, bartop models, workstation-type console models, etc. Further, the wagering game machines 1202 can be primarily dedicated for use in conducting wagering games, or can include non-dedicated devices, such as mobile phones, personal digital assistants, personal computers, etc. In one embodiment, the wagering game network 1200 can include other network devices, such as accounting servers, wide area progressive servers, player tracking servers, and/or other devices suitable for use in connection with embodiments of the invention.
In the following detailed description, reference is made to specific examples by way of drawings and illustrations. These examples are described in sufficient detail to enable those skilled in the art to practice the inventive subject matter, and serve to illustrate how the inventive subject matter can be applied to various purposes or embodiments. Other embodiments are included within the inventive subject matter, as logical, mechanical, electrical, and other changes can be made to the example embodiments described herein. Features or limitations of various embodiments described herein, however essential to the example embodiments in which they are incorporated, do not limit the inventive subject matter as a whole, and any reference to the invention, its elements, operation, and application are not limiting as a whole, but serve only to define these example embodiments. The following detailed description does not, therefore, limit embodiments of the invention, which are defined only by the appended claims.
Each of the embodiments described herein are contemplated as falling within the inventive subject matter, which is set forth in the following claims.
This patent application is a U.S. National Stage Filing under 35 U.S.C. 371 from International Patent Application Serial No. PCT/US2007/013649, filed Jun. 8, 2007, and published on Dec. 21, 2007, as WO 2007/146205 A2, which claims the priority benefit of U.S. Provisional Patent Application Ser. No. 60/804,126 filed Jun. 7, 2006 and entitled “PROCESSING METADATA IN WAGERING GAME SYSTEMS”, the contents of which are incorporated herein by reference in their entirety.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2007/013252 | 6/5/2007 | WO | 00 | 12/5/2008 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2007/145954 | 12/21/2007 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4297729 | Steynor et al. | Oct 1981 | A |
4980782 | Ginkel | Dec 1990 | A |
5643086 | Alcorn et al. | Jul 1997 | A |
5889868 | Moskowitz et al. | Mar 1999 | A |
5960081 | Vynne et al. | Sep 1999 | A |
6038288 | Thomas et al. | Mar 2000 | A |
6190257 | Takeda et al. | Feb 2001 | B1 |
6229924 | Rhoads et al. | May 2001 | B1 |
6411725 | Rhoads | Jun 2002 | B1 |
6456308 | Agranat et al. | Sep 2002 | B1 |
6508709 | Karmarkar | Jan 2003 | B1 |
6508729 | Coltrane et al. | Jan 2003 | B1 |
6595856 | Ginsburg et al. | Jul 2003 | B1 |
6685567 | Cockerille et al. | Feb 2004 | B2 |
6823075 | Perry | Nov 2004 | B2 |
6975743 | Venkatesan et al. | Dec 2005 | B2 |
6979266 | Lemay et al. | Dec 2005 | B2 |
7007166 | Moskowitz et al. | Feb 2006 | B1 |
7058813 | Burns | Jun 2006 | B2 |
7062069 | Rhoads | Jun 2006 | B2 |
7113612 | Sugahara et al. | Sep 2006 | B2 |
7113615 | Rhoads et al. | Sep 2006 | B2 |
7130443 | Werner et al. | Oct 2006 | B1 |
7162036 | Rowe | Jan 2007 | B2 |
7209571 | Davis et al. | Apr 2007 | B2 |
7285048 | Karmarkar | Oct 2007 | B2 |
7461394 | Sano | Dec 2008 | B1 |
7846023 | Evans | Dec 2010 | B2 |
20010025256 | Oliphant et al. | Sep 2001 | A1 |
20010049788 | Shur | Dec 2001 | A1 |
20010051996 | Cooper et al. | Dec 2001 | A1 |
20020009208 | Alattar et al. | Jan 2002 | A1 |
20020178368 | Yin et al. | Nov 2002 | A1 |
20030037075 | Hannigan et al. | Feb 2003 | A1 |
20030056012 | Modeste et al. | Mar 2003 | A1 |
20030069071 | Britt et al. | Apr 2003 | A1 |
20030140141 | Mullen et al. | Jul 2003 | A1 |
20030195033 | Gazdic et al. | Oct 2003 | A1 |
20030204727 | Sasaki | Oct 2003 | A1 |
20040048668 | Brosnan | Mar 2004 | A1 |
20040242322 | Montagna et al. | Dec 2004 | A1 |
20040248646 | Canterbury | Dec 2004 | A1 |
20040259643 | Gentles | Dec 2004 | A1 |
20050009599 | Ryan | Jan 2005 | A1 |
20050107163 | Nguyen et al. | May 2005 | A1 |
20050143171 | Loose | Jun 2005 | A1 |
20050192099 | Nguyen et al. | Sep 2005 | A1 |
20050232417 | Roberts et al. | Oct 2005 | A1 |
20050261062 | Lewin et al. | Nov 2005 | A1 |
20050272501 | Tran et al. | Dec 2005 | A1 |
20070006275 | Wright et al. | Jan 2007 | A1 |
20070021195 | Campbell et al. | Jan 2007 | A1 |
20070021196 | Campbell et al. | Jan 2007 | A1 |
Number | Date | Country |
---|---|---|
WO-2007145954 | Dec 2007 | WO |
WO-2007145954 | Dec 2007 | WO |
Entry |
---|
“U.S. Appl. No. 11/425,831, Final Office Action mailed Mar. 3, 2009”, 10 pgs. |
“U.S. Appl. No. 11/458,469, Examiner Interview Summary Received Apr. 6, 2009”, 2 pgs. |
“U.S. Appl. No. 11/458,469, Final Office Action mailed May 3, 2010”, 10 pgs. |
“U.S. Appl. No. 11/458,469, Response filed Mar. 30, 2009 to Non Final Office Action mailed Sep. 30, 2008”, 11 pgs. |
“U.S. Appl. No. 11/458,469, Response filed May 6, 2009 to Examiner Interview Summary Received Apr. 6, 2009”, 1 pg. |
“U.S. Appl. No. 11/425,831, Response filed Sep. 2, 2008 to Non Final Office Action mailed Apr. 2, 2008”, 9 pgs. |
“U.S. Appl. No. 11/425,831 Non-Final Office Action mailed Apr. 2, 2008”, 11pgs. |
“U.S. Appl. No. 11/458,469, Non-Final Office Action mailed Sep. 30, 2008”, 9 pgs. |
“International Application Serial No. PCT/US2007/013252, International Search Report and Written Opinion mailed Aug. 20, 2008”, 9 pgs. |
Number | Date | Country | |
---|---|---|---|
20110183763 A1 | Jul 2011 | US |
Number | Date | Country | |
---|---|---|---|
60804126 | Jun 2006 | US |