A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
This invention relates generally to a gaming system that incorporates an additional user interface, and more particularly, to a system and methodology that integrates an embedded additional user interface having an animation capable display screen into a gaming machine.
Traditionally, gaming machines have been designed for gaming purposes only. In this regard, gaming machines have been constructed only to include gaming functionality. Recently, however, casino owners have become aware that by adding additional features to gaming machines, they may be able to maintain a player's attention to the gaming machines for longer periods of time. This, in turn, leads to the player wagering at the gaming machine for longer periods of time, thereby increasing casino profits.
One technique that has been employed to maintain a player's attention at the gaming machine has been to provide players with access to gambling-related information. By attaching a small electronic display to the gaming device, gambling-related information, as well as news and advertisements can be sent to the player. The gambling-related information may include, for example, information on sports betting and betting options for those sporting events. Additionally, the gambling-related information may also include information such as horse racing and off-track betting. News and advertisements can also maintain a player's attention by providing the player with access to information ranging from show times, to restaurant and hotel specials, and to world events, thus reducing the need and/or desire for the player to leave the gaming machine.
Moreover, it would be desirable to provide the player with interactive access to the above information. This type of interactivity would allow players significantly more flexibility to make use of the above-described information. The gambling-related information could also be utilized by the player in a much more efficient manner. In this regard, greater levels of flexibility and access are likely to make a player remain and gamble at the gaming machine for significantly longer periods of time. Unfortunately, the system components that are currently utilized for displaying and accessing this type of information, such as external keypads and display modules, are extremely limited in the functionality and capabilities that they provide, thus limiting the success of their ability to maintain a player's attention.
As stated above, attempts to distribute gambling-related information and advertisements to players, has typically required additional system components to be attached to the gaming devices separately and apart from the construction of the gaming machine itself. Specifically, these components for accessing and displaying information from gaming machines have been extremely limited in their usefulness because of the lack of capabilities inherent in these components. Such components have generally included a keypad, card reader, and display equipment, such as a 2-line LED display. It would be desirable for these components to be integrated into the gaming device itself, in a more unified fashion to provide substantially greater functionality than that which has been previously available.
Accordingly, those skilled in the art have long recognized the need for a system that is capable of integrating expanded service and systems capabilities with the more traditional function of a gaming device. The claimed invention clearly addresses these and other needs.
Briefly, and in general terms, the claimed invention resolves the above and other problems by providing an embedded user interface system associated with a gaming machine, wherein the gaming machine includes a gaming screen and a gaming processor. More particularly, the embedded user interface system includes a web content capable display screen, an embedded processor, and a dictionary extension. Preferably, the web content capable display screen presents information to a user via the display screen. The embedded processor preferably utilizes an internal operating system. Preferably, the dictionary extension receives an incoming text string, parses the text string to identify a navigation command and pull a uniform resource locator from the text string, loads the uniform resource locator pulled from the text string into a variable, and indirectly navigates the web content capable display screen to the uniform resource locator in the variable. In this manner, the web content capable display screen increases user excitement by providing a richer gaming experience.
In accordance with another aspect of a preferred embodiment, the incoming data received by the embedded additional user interface are I2C messages (or other serial communications). Preferably, the embedded processor communicates with the gaming processor, and/or other connected devices, over an I2C bus (or other serial communications bus). The web content capable display screen of the embedded additional user interface is preferably a color graphic touch screen display. Preferably, the embedded processor is at least a 32-bit processor. Further, the internal operating system of an embedded additional user interface is preferably customized to match the specific hardware to which the internal operating system attaches.
In accordance with another aspect of a preferred embodiment, the embedded processor utilizes cryptographic technology. In one preferred embodiment, a certification process is offered for authentication and non-repudiation of the web content. Preferably, the certification process provides auditability and traceability. Specifically, the certification process provides sufficient security for gaming regulators to allow casino operators to design their own content.
In accordance with another aspect of a preferred embodiment, HTML is the web protocol into which the incoming data is translated in the embedded additional user interface. In another preferred embodiment, DHTML is the web protocol into which the incoming data is translated in the embedded additional user interface. In still another preferred embodiment, XML is the web protocol into which the incoming data is translated in the embedded additional user interface. In yet another preferred embodiment, MACROMEDIA FLASH animation technology is the web protocol into which the incoming data is translated in the embedded additional user interface. In one preferred embodiment, the embedded additional user interface connects to an Ethernet-networked backbone. Further, in one preferred embodiment, the embedded additional user interface connects to a web server through an Ethernet-networked backbone.
In accordance with another preferred embodiment, an embedded user interface system used in association with a gaming machine also includes a web content capable display screen and an embedded processor, as described above. In this embodiment, the dictionary extension receives an incoming text string, parses the text string, initiates a navigation command in response to information in the parsed text string, and navigates the display screen to a uniform resource locator selected by the dictionary extension.
In accordance with still another preferred embodiment, an embedded user interface system used in association with a gaming machine includes a web page display screen and an embedded processor, as described above. Preferably, the web page display screen presents information to a user via the display screen. In this embodiment, the web page display screen is divided into a plurality of frames that are each capable of displaying a different uniform resource locator. Further, in this embodiment, the dictionary extension receives an incoming text string, parses the text string, initiates a navigation command in response to information in the parsed text string, and navigates a frame of the display screen to a uniform resource locator selected by the dictionary extension.
In accordance with yet another preferred embodiment, an embedded user interface system used in association with a gaming machine also includes a web content capable display screen and an embedded processor, as described above. In this embodiment, the dictionary extension receives an incoming text string, parses the text string, and in response to information in the parsed text string, initiates a command that launches a pop-up dialog box over a uniform resource locator presented on the display screen without altering the uniform resource locator presented on the display screen.
One preferred embodiment is directed towards a gaming machine having a gaming presentation. The gaming machine further includes a user interface having a web page display screen, a processor for controlling game play, and a dictionary extension. In this embodiment, the dictionary extension receives an incoming text string, parses the text string, initiates a navigation command in response to information in the parsed text string, and navigates the display screen to a uniform resource locator selected by the dictionary extension.
In accordance with another preferred embodiment, the claimed invention is directed towards a method for increasing user excitement relating to a gaming machine by providing a richer gaming experience via an embedded user interface system that is incorporated into the gaming machine. Preferably, the embedded user interface system includes an embedded processor, a web page display screen, and a dictionary extension. The method preferably includes: receiving an incoming text string, parsing the text string to identify a navigation command and pull a uniform resource locator from the text string, loading the uniform resource locator pulled from the text string into a variable, and indirectly navigating the web page display screen to the uniform resource locator in the variable.
In one embodiment, the web content is protected by digital signature verification using DSA (Digital Signature Algorithm) or RSA (Rivest-Shamir-Adleman) cryptographic technology. In this regard, the content is preferably protected using digital signature verification so that any unauthorized changes are easily identifiable. Of course, other suitable protection techniques may also be used in other embodiments.
Still further, one preferred embodiment utilizes a Message Authentication Code (MAC), which may be used to verify both the content integrity and the authenticity of a message. A MAC can be generated faster than using digital signature verification technology, although it is not as robust. In one preferred embodiment, the authentication technique utilized is a BKEY (electronic key) device. A BKEY is an electronic identifier that is tied to a particular individual.
Typically, in a preferred embodiment, the data is authenticatible and non-repudiatible, rather than hidden or otherwise obfuscated (encrypted). Non-repudiation is a way to guarantee that the sender of a message cannot later deny having sent the message, and that the recipient cannot deny having received the message.
In accordance with one preferred embodiment, one or more gaming machine system or embedded additional user interface components (or content) are assigned identification codes. The components are grouped together into a protected group of component bindings using cryptographic security procedures and the identification codes of the components in the bindings group. Accordingly, the bindings prevent falsification or repudiation of content entries with respect to any modifications or replacements of components or content within the bindings group.
In accordance with another aspect of a preferred embodiment, every content entry must be authenticated by being digitally signed with a Hashed Message Authorization Code that is based on the entry itself and on the individual identification codes of the components and content in the bindings group. In the same manner, every entry that attempts a replacement of any of the embedded additional user interface components or content must be authenticated by being digitally signed with a Hashed Message Authorization Code that is based on the entry itself and on the individual identification codes of the components and content in the bindings group.
Preferably, the identification codes of the embedded additional user interface components are randomly or pseudo-randomly generated. In accordance with another aspect of the verification system, a Hashed Message Authorization Code key for authenticating access to the component bindings is produced using a SHA-1 hash that is generated using the individual identification codes of the components in the bindings group. Additionally, the embedded additional user interface components are secured within the component bindings using a SHA-1 hash that is generated using the individual identification codes of the components and content in the bindings group.
Other features and advantages of the claimed invention will become apparent from the following detailed description when taken in conjunction with the accompanying drawings, which illustrate by way of example, the features of the claimed invention.
A preferred embodiment of the embedded additional user interface, constructed in accordance with the claimed invention, is directed towards the integration of an embedded additional user interface into a gaming machine to increase user excitement by providing a richer gaming experience. The embedded additional user interface provides enhanced player satisfaction and excitement, as well as improved gaming device reliability, interactivity, flexibility, security, and accountability. The user interface is sometimes referred to herein as “additional” in that the user interface is separate from the gaming screen (or other gaming presentation). Further, the user interface is sometimes referred to herein as “embedded” in that the user interface includes its own processor in some preferred embodiments of the invention. Additionally, the display screen, which is referred to herein commonly as a web content capable display screen, may also (or alternatively) be an animation capable display screen, a web page display screen, or a multimedia display screen.
Referring now to the drawings, wherein like reference numerals denote like or corresponding parts throughout the drawings and, more particularly to
As shown in
However, referring again to
In situations involving multiple gaming machine (or gaming component) manufacturers, an embedded additional user interface 10 can be incorporated into a gaming machine (either originally or by retrofitting) without requiring access to the game logic or other gaming systems that might be proprietary and inaccessible with a gaming machine from another gaming manufacturer. Thus, in a preferred embodiment of the claimed invention, the embedded additional user interface 10, which includes a web page display screen 20 for presenting supplementary information to a player, is incorporated into a gaming machine 40 in addition to the standard gaming screen 50 typically found in a gaming machine. The embedded additional user interface 10 may also be incorporated into a gaming machine 40 that utilizes a gaming region (e.g., a reel-spinner) instead of a standard gaming screen 50. This supplemental information may include general gaming information, player-specific information, player excitement and interest captivation content, advertising content (targeted or otherwise), and the like. Further, in other preferred embodiments, the embedded additional user interface 10 may have the ability to interact with the game logic of the gaming processor 60, preferably via the game monitoring unit 65, and thus, provide further functionality, such as bonus games, system games, and/or the ability to incorporate awards, promotional offers, or gifts from the web page display screen 20 to the gaming screen 50. Moreover, the web page display screen 20 may display supplemental information in an “attract mode” when there is no game play occurring. Also the gaming processor 60 may use the web page display screen 20 to present casino employees with a web-based dialogue to facilitate gaming machine configuration and event investigation activities without disturbing the gaming screen/region 50.
In a preferred embodiment of the claimed invention, the embedded additional user interface 10 is used to make casino services more accessible and friendly to casino patrons. In one preferred embodiment, the embedded additional user interface 10 is designed to interface with the hardware configuration of game platforms currently employed in an existing gaming communication systems network, thus decreasing implementation costs for the casino. A standard gaming network interface to the systems network, such as a Mastercom system, includes a multi-drop bus method of communicating to a keypad and display. The Mastercom system is available from Bally Manufacturing, and is described in U.S. Pat. No. 5,429,361 to Raven et al. incorporated herein by reference. One such currently utilized bus is an EPI (Enhanced Player Interface), which uses an industry standard I2C bus and signaling.
In one preferred embodiment, the embedded additional user interface 10 is used to replace/upgrade an EPI. Preferably, the embedded additional user interface 10 replaces the EPI of the gaming machine in a “plug and play” manner. In other words, the old EPI can be unplugged and the new embedded additional user interface 10 can simply be plugged into the I2C bus of the game monitoring unit 65 in the gaming machine 40. The user interface 10 utilizes the currently employed industry standard I2C bus and signaling without requiring any further modification. The embedded processor 30 of the embedded additional user interface 10 reads incoming I2C data (content), translates the data into a web authoring language (e.g., HTML, DHTML, XML, MACROMEDIA FLASH), and maps the data to the web page display screen 20. In this manner, the previous I2C data messages, which were typically presented on a 2-line, 20 character VF display, are automatically transformed by the embedded additional user interface 10 into an attention grabbing, animated (multimedia) web page style format. This results in enhanced player satisfaction and excitement with extremely minimal retrofitting requirements.
Since, in one preferred embodiment, the embedded additional user interface 10 utilizes I2C hardware and signaling, this enables the user interface 10 to speak and understand the I2C protocol message set, and thus, communicate directly with the gaming processor 60 of the gaming machine 40 (or other similarly networked devices) in the same fashion in which the gaming processor previously communicated with the EPI. Accordingly, in a preferred embodiment of the claimed invention, the functionality of the previously utilized hardware (e.g., the EPI) can be replaced or augmented and thus substantially upgraded with the integration of the embedded additional user interface 10 into the gaming machine 40. As such, the limitations placed upon the gaming processor 50 by the low function external hardware of such system components 70 (e.g., a keypad and a 2-line, 20 character VF display) may be eliminated.
As stated above, in one preferred embodiment, the incoming data received by the embedded additional user interface 10 is I2C signaling protocol; however, in other preferred embodiments other serial communication protocols (or electronic communication format) may be utilized. Preferably, the embedded processor 30 communicates with the gaming processor 60 via the game monitoring unit 65, and/or other connected devices, over an I2C bus (or over another serial communications bus in embodiments that utilize another protocol). The web page display screen 20 of the embedded additional user interface 10 is preferably a color-graphic touch screen display. Preferably, the embedded processor 30 is at least a 32-bit processor. A preferred embodiment utilizes a 32-bit processor because cryptographic techniques, such as SHA-1 (or better) and DSA algorithms, are written and operate natively on a 32-bit system. Additionally, the MICROSOFT® WINDOWS® environment, which is utilized in some preferred embodiments of the claimed invention, is also 32-bit. Further, the internal operating system of the embedded additional user interface 10 may be adapted or customized to match the specific communication bus hardware used by the devices in the gaming machine 40 to which the internal operating system communicates.
Preferably, the embedded additional user interface 10 is an embedded computer board that, in addition to the embedded processor 30 and the web page display screen 20, further includes a removable COMPACT FLASH card 75 (or other memory storage device), as shown in
In one preferred embodiment, the internal operating system utilized by the embedded processor 30 of the embedded additional user interface 10 is WINDOWS® CE version 4.2 (or higher). Preferably, the embedded additional user interface 10 is built upon a PXA255-based board developed by the Kontron Corporation. Additionally, in a preferred embodiment of the embedded additional user interface 10, the browser control for the web page display screen 20 is MICROSOFT® INTERNET EXPLORER® 6.0 (or higher), which is shipped standard with WINDOWS® CE 4.2, the preferred internal operating system for the embedded processor 30.
A preferred embodiment of the embedded additional user interface 10 also provides a mechanism for inputting system information into, and retrieving system information from, the game machine 40. As stated above, the embedded additional user interface 10 preferably uses industry standard I2C hardware and signaling. The I2C protocol has multi-master capabilities, i.e., is capable of participating as both a slave and as a master. The embedded additional user interface 10 enables system information (such as information input by a player into a web page display screen 20) to be sent from the game machine 40 to a slot system network (or to another destination location). Likewise, the embedded additional user interface 10 also enables the system information (such as display messages) to be sent from the systems network (or from another source location) to the game machine 40 for viewing by the player through the web page display screen 20.
In a preferred embodiment, information can also be input by a user into the web page display screen 20 of the user interface 10. The web page display screen 20 of the user interface 10 employs a virtual keypad. Further, the user interface 10 uses a keypad dictionary that allows a user to be able to enter a vastly greater amount of information than was previously possible using a 12-digit VF keypad. For example, the virtual key on the touch screen that is displayed by the browser is pressed by a user. This calls the Keypad object by calling its Dispatch interface with a string that identifies which virtual key was pressed. The Keypad object looks up the string in the Dictionary object which has been loaded at initialization time with a set of keys to return when that string is passed to it. When it retrieves this set of zero or more key characters, it passes them to the GMU by calling the interface exposed by the object.
Typically, a network interface (or equivalent system) is used to control the flow of funds used with the gaming machine 40 within a particular casino. By utilizing the embedded additional user interface 10 of the claimed invention, the gaming network interface can be instructed to move funds between players' accounts and gaming devices by merely touching the web page display screen 20. In addition, many other more sophisticated commands and instructions may be provided. Thus, the embedded additional user interface 10 improves the player and casino employee interface to the gaming machine 40, directly at the gaming device itself.
In a preferred embodiment of the claimed invention, the web page display screen 20 of the embedded additional user interface 10 enables a player to be shown player messages in an animated, multimedia, web content style environment. These messages would previously have been displayed in a significantly more mundane format on a separate display device (e.g., a 2-line VF display device). In some preferred embodiments, touch screen buttons in the web page display screen 20 are used by the player to navigate between windows in web page display screen 20 and allow access to system functions such as cashless withdraw, balance requests, system requests, points redemption, and the like. In other preferred embodiments of the claimed invention, the web page display screen 20 utilizes various other data input techniques commonly known in the art, instead of the touch screen data entry. Thus, implementation of the embedded additional user interface 10 is an efficient, highly beneficial, and substantial upgrade to a gaming machine 40 that greatly increases the functionality over what was previously possible using an EPI.
In one preferred embodiment, text data messages are translated into web page navigation requests by the embedded processor 30 and then displayed on the web page display screen 20 as shown and discussed with respect to
With reference to
Accordingly, with reference to
In the preferred embodiments described above, the embedded processor 30 of the embedded additional user interface 10 reads incoming I2C data messages, translates the I2C data messages into a web authoring language (e.g., HTML, DHTML, XML, MACROMEDIA FLASH), and maps the newly translated web page data message to the web page display screen 20. Additionally, the embedded additional user interface 10 can also read incoming data messages that are already in a web authoring language (e.g., HTML, DHTML, XML, MACROMEDIA FLASH), and map this web page data to the web page display screen 20. Further, and highly advantageously, a preferred embodiment of the claimed invention also allows casinos that are using the embedded additional user interface 10 to design and use their own content, thereby giving the casinos the ability to decide what the web page presented on the web page display screen 20 of the user interface 10 will look like.
Referring now to
In one preferred embodiment, a portable computer is used to store and publish data content to the COMPACT FLASH card 75 on the embedded additional user interface 10, as well as to receiving data from the COMPACT FLASH card 75 on the embedded additional user interface. In this embodiment, all content on the embedded additional user interface 10 is authenticated as if it were a gaming machine.
In another preferred embodiment, a network adapter port is run on the embedded computer board of the user interface 10. This embodiment also includes a boot loader. Further, in this embodiment, the portable computer 78 (described above) includes components for use in uploading data to, and downloading data from, the COMPACT FLASH card 75 on the embedded additional user interface 10. Specifically, the components that run on the portable computer 78 are for moving new data content to the embedded additional user interface 10, and for validation and verification of the data content that is on the embedded additional user interface. Preferably, all data that is used to update the COMPACT FLASH card 75 moves to or from the embedded additional user interface 10 over the single built in network adapter port on the board.
Prior to the advent of the embedded additional user interface 10 of the claimed invention, gaming regulators would have been unwilling to allow casino operators to design their own content. However, due to the cryptographic technology implemented by the embedded processor 30 in the embedded additional user interface 10, a certification process is provided by the claimed invention with sufficient security for gaming regulators to allow casino operators to design their own content. Specifically, in one preferred embodiment, the certification process offered ensures authentication and non-repudiation of the casino operator designed web content. Preferably, in the claimed invention the certification process provided further ensures auditability and traceability. Various cryptographic technologies, such as authentication and non-repudiation (described herein below), are utilized in preferred embodiments of the claimed invention, to provide sufficient security for gaming regulators to allow casino operators to design their own content.
In one preferred embodiment, this certification process is used to certify “signed content” (created by the casino owners) in the same manner that a “signed program” is certified. Preferably, PKI (Public Key Infrastructure) is utilized in the certification process. PKI is a system of digital certificates, Certificate Authorities, and other registration authorities that verify authenticity and validity. In one preferred embodiment, a “new tier” or second PKI is created that is rooted in the primary PKI and that leverages the capabilities of the certificate (e.g., a X.509 certificate) that allow for limited access. Thus, this preferred embodiment allows the attributes within the certificate are used to provide “levels” of code access and acceptance in the gaming industry.
In one embodiment, the content is protected by digital signature verification using DSA (Digital Signature Algorithm) or RSA (Rivest-Shamir-Adleman) technology. In this regard, the content is preferably protected using digital signature verification so that any unauthorized changes are easily identifiable. A digital signature is the digital equivalent of a handwritten signature in that it binds an individual's identity to a piece of information. A digital signature scheme typically consists of a signature creation algorithm and an associated verification algorithm. The digital signature creation algorithm is used to produce a digital signature. The digital signature verification algorithm is used to verify that a digital signature is authentic (i.e., that it was indeed created by the specified entity). In another embodiment, the content is protected using other suitable technology.
In one preferred embodiment, a Secure Hash Function-1 (SHA-1) is used to compute a 160-bit hash value from the data content or firmware contents. This 160-bit hash value, which is also called an abbreviated bit string, is then processed to create a signature of the game data using a one-way, private signature key technique, called Digital Signature Algorithm (DSA). The DSA uses a private key of a private key/public key pair, and randomly or pseudo-randomly generated integers, to produce a 320-bit signature of the 160-bit hash value of the data content or firmware contents. This signature is stored in the database in addition to the identification number. In other preferred embodiments, higher level Secure Hash Functions are used, such as SHA-256 or SHA-512.
In another preferred embodiment, the claimed invention utilizes a Message Authentication Code (MAC). A MAC is a specific type of message digest in which a secret key is included as part of the fingerprint. Whereas a normal digest consists of a hash (data), the MAC consists of a hash (key+data). Thus, a MAC is a bit string that is a function of both data (either plaintext or ciphertext) and a secret key. A MAC is attached to data in order to allow data authentication. Further, a MAC may be used to simultaneously verify both the data integrity and the authenticity of a message. Typically, a MAC is a one-way hash function that takes as input both a symmetric key and some data. A symmetric-key algorithm is an algorithm for cryptography that uses the same cryptographic key to encrypt and decrypt the message.
A MAC can be generated faster than using digital signature verification technology; however, a MAC is not as robust as digital signature verification technology. Thus, when speed of processing is critical the use of a MAC provides an advantage, because it can be created and stored more rapidly than digital signature verification technology.
In one preferred embodiment, the authentication technique utilized is a BKEY (electronic key) device. A BKEY is an electronic identifier that is tied to a particular individual. In this manner, any adding, accessing, or modification of content that is made using a BKEY for authentication is linked to the specific individual to which that BKEY is associated. Accordingly, an audit trail is thereby established for regulators and/or other entities that require this kind of data or system authentication.
Another preferred embodiment of the verification system utilizes “component bindings” for verification using cryptographic security. In component binding, some components come equipped with unalterable serial numbers. Additionally, components such as web content or the game cabinet may also be given another random identification number by the owner. Other components in the system, such as the CMOS memory in the motherboard, the hard drive, and the non-volatile RAM, are also issued random identification numbers. When all or some of these numbers are secured together collectively in a grouping, this protected grouping is referred to as a “binding.” Each component of the machine contains its portion of the binding.
In one such preferred embodiment, every critical log entry made to the content is signed with a Hashed Message Authorization Code (HMAC) that is based on the entry itself, and on the individual binding codes. In this manner, the security produced by the bindings ensures that log entries that are made cannot be falsified or repudiated.
After the critical gaming and/or system components are selected, given individual identifiers, and combined into a protected grouping that is secured using the component “bindings,” any changes to those components will then be detected, authorized, and logged. For example, content within the binding is digitally signed (SHA-1 or better) using the key derived from the bindings. This signature is verified whenever an entry is made to a component within the binding. If the signature is wrong, this security violation and the violator are noted, but typically the entry is not prohibited. In other embodiments, the entry may be prohibited as well. Thus, the component binding produces a cryptographic audit trail of the individuals making changes to any of the components within the binding.
Moreover, bindings ensure that the critical components of a gaming machine system, or the content utilized therein, that have been selected to be components within the binding have not been swapped or altered in an unauthorized manner. Preferably, bindings use unique identification numbers that are assigned to vital parts of the gaming platform including, by way of example only, and not by way of limitation, the cabinet, motherboard, specific software, non-volatile RAM card, content (data), and hard drive. These identification numbers combine in a cryptographic manner to form a “binding” that protects and virtually encloses the included components, such that no component within the binding can be modified, removed, or replaced without creating an audit trail and requiring authentication. Thus, for one of these components within the binding to be changed, appropriate authentication is required and a log file entry is made documenting the activity and the identity of the individual making the change. In one preferred embodiment, a specific level of BKEY clearance or classification is required to make specific changes.
Referring now to
Further, in another preferred embodiment, the embedded additional user interface 10 connects to a full-featured, back end, download configuration server 90 through the above-described Ethernet-networked backbone 80 as shown in
Referring now to
Thus, in such a preferred embodiment, the claimed invention is directed towards an embedded additional user interface 10 that is incorporated into a gaming machine 30, the gaming machine in turn including a gaming screen 50 or other appropriate gaming region (e.g., spinning reels), but does not include a gaming monitoring unit 65. Such an embedded additional user interface 10 still includes a web content capable display screen 20 and an embedded processor 30. Once again, the web content capable display screen 20 presents web information to a user via the display screen. The embedded processor 30 preferably utilizes an internal operating system. Furthermore, in this embodiment the embedded processor 30 additionally includes standard gaming monitoring unit functionality (GMU code), since it replaces the gaming monitoring unit 65 in the gaming machine 40. As before, the embedded processor 30 reads incoming data, translates the data into a web protocol (web authoring language), if necessary, and maps the data to the web content capable display screen 20.
In one embodiment, the embedded additional user interface 10, the messages are flashed (e.g., animation, multimedia, and the like) to the player within the web page display screen 20 while the gaming screen 50 is used for game play. These web page style messages can be set at virtually any desired length, format, or style. A message might display, for example, “Welcome to Harrah's Las Vegas! You have 1200 bonus points. Would you like to make a hotel or dinner reservation?” Importantly, while a previous utilized EPI would only been capable of scrolling this message in one-quarter inch (0.25″) tall monochrome text, in contrast, the web page display screen 20 would “flash” this message in bright red, white, black, and green animated format, on six inch (6.0″) by three inch (3.0″) color graphic display. Additionally, in some embodiments, inserting a player identification card into a card reader and/or selecting a player services button activates additional player services functionality.
In one exemplary embodiment of the embedded additional user interface 10 that utilizes a card reader (or other identification technique, such as a player ID code) to recognize a particular player, the web page display screen 20 displays an eye-catching, web page-style message to that player, for example, “Welcome, Mr. Smith!” in response to identifying Mr. Smith. Preferably, the web page display screen 20 also has touch screen capabilities that include, by way of example only, and not by way of limitation, “Beverages,” “Change,” “Services,” “Transactions,” and “Return to Game.” In one embodiment, each of the touch screen icon buttons, when selected, launches a new full screen display within the web page display screen 20 for the player.
For example, in one embodiment, when the “Transactions” touch screen icon button is selected, a new screen is activated that includes the web page style message, “Mr. Smith, Account Balance: Bonus Points=1200, Player Funds=$150, Available Credit=$850, Casino Matching Funds Available=$25,” as well as the “Return to Game” icon button 120. As a further example, when the player selects a “Cashless Withdraw” button in another embodiment, a new screen is activated that includes a touch screen keypad and flashes the question, “How much do you want?” as well as “Enter,” “Clear,” and “Back” buttons. Preferably, this interface also includes an “Information” button that, when selected, launches a new screen within the web page display screen 20 that provides answers to frequently asked questions and other useful information. Moreover, the web page display screen 20 preferably also includes a “History” button that, when selected, launches a new screen within the web page display screen 20 that provides a history log of all transactions and other actions performed on that gaming machine 40.
In accordance with another preferred embodiment, the claimed invention is directed towards a method for increasing user excitement relating to a gaming machine by providing a richer gaming experience via an embedded additional user interface that is incorporated into the gaming machine. The method preferably includes: receiving a serial data message (e.g., an I2C data message) containing enhanced player information over a serial communication bus (e.g., an I2C) bus in the embedded additional user interface 10; translating the data message (using the embedded processor 30) into a web authoring language; and mapping the data message to the web page display screen 20, wherein the display screen presents web page information to a user via the display screen.
The potential advantages of utilizing the embedded additional user interface 10 of the claimed invention are numerous. These potential advantages include, by way of example only, and not by way of limitation: providing animated and/or multimedia web style content; providing fonts and icons which are larger and more aesthetically appealing; providing special services to players, (e.g., multiple languages, assistance for handicapped individuals); facilitating interactive uses of the web page display screen 20; providing the ability to customize the “look and feel” of the web page display screen 20 for players and casino employees; increased player excitement and participation; and simplified replaceability and/or upgradeability from an EPI or other similar non-web page style components.
Referring now to
In a preferred embodiment of the extension 100 to the iVIEW dictionary component, the “indirect” mode of the embedded additional user interface 10 enables a “navigate command” to browse to a URL that is designated as the value of a variable instead of a fixed value. Preferably, the extension 100 to the iVIEW dictionary component in the embedded additional user interface 10 supports both direct modes and indirect modes. In traditional systems, navigation actions (e.g., commanding an iVIEW-type device to browse to a URL) were hard-coded to ensure navigation to a fixed URL designation in response to some navigation-initiating event. In contrast, the “indirect” mode of the embedded additional user interface 10 enables a “navigate command” to browse to a URL that is designated as the value of a variable. This capability produces an expanded amount of flexibility and scalability than that which was previously achievable using navigation actions that were hard-coded. This is due to the fact that the navigation command can be modified by simply changing the value of the variable without altering any other part of the navigation instruction in the text string.
Accordingly, in a preferred embodiment of the iVIEW dictionary extension 100 that is in “indirect” mode, a text string is sent to the iVIEW dictionary with an embedded URL. The text string is parsed to (1) identify the event (e.g., navigation command) and (2) yank the URL from the text string. Next, the URL pulled from the text string is loaded into a variable. Finally, the browser is indirectly navigated to the URL in the variable.
In one specific non-limiting example, a text string from a back-end system states, “Hello: Please go to http://sds.net/player.html.” A preferred embodiment of the (iVIEW) dictionary extension 100 retrieves this text string and parses the text string using the parsing command “Hello: Please go to \@.*\@.” The (iVIEW) dictionary extension 100 knows that browser redirection is required due to the “Hello: Please go to” instruction. Furthermore, the (iVIEW) dictionary extension 100 then retrieves the value in the “\@.*\@” (a regEx expression) section of the message, puts the value into a variable “host,” and performs a “NavigateIndirect” command to the variable “host value.” In the same manner as described above, a set of parsing commands exist in an XML formatted file (or other acceptable protocol), that also perform these operations to multiple instances of text strings.
In other preferred embodiments, the same indirect activity of the dictionary extension 100 is used with the pop-up feature 110 and the frame directives 120. The pop-up feature 110 enables the launching of a pop-up dialogue box based on dictionary activity. In one embodiment, a user closes the pop-up dialogue box 110 by selecting a button, while in other embodiments the pop-up dialogue box is timed-out. In still another embodiment, both a button and the time out command are utilized to actuate closing of a pop-up dialogue box 110. Preferably, a pop-up dialogue box 110 enables a temporary message to be sent to the user without changing the state of the browser behind the pop-up dialogue box. Referring now to the frame directive 120 component of the embedded additional user interface 10, the frame directive provides the benefit of navigating a particular frame set in a browser page to a new URL without disturbing the rest of the browser page.
The extended iVIEW dictionary object is an additional dictionary that can be used in place of dictionaries previously utilized in association with an iVIEW device 10. The extended iVIEW dictionary object is matched to the GMU (Game Monitoring Unit) code. This extended dictionary object is responsible for combining the strings sent from the GMU and the XML (Extensible Markup Language) contained within the dictionary configuration file, and returning a set of actions upon which the Display Manager can act. As shown in
Additionally, in another aspect of extension 100, a screen calibration module is used to compensate for variations in screen manufacture. Typically, most screens do not require calibration; however, enabling a screen driver in the screen calibration module to calibrate screens when necessary allows any un-calibrated screens to be corrected. The screen driver saves the calibration values to a persistent storage card and copies the calibration values into the operating system registry at boot time.
As shown in
In a preferred embodiment of the extension 100, the application API (application program interface) provides a Boolean value to a calling program (e.g., software, hardware, firmware, and the like) that indicates whether the calibration values either have been customized for the device. To “call” is to invoke a routine in a programming language. Preferably, the calibration process initiated by the user is the built-in Windows CE® touch screen calibration code. In such an embodiment, no actual user interface calibration code is written.
In a preferred embodiment of the extension 100, the employee page utilizes a new button that initiates the calibration process. Additionally, a method can be called from script that initiates the calibration process. Preferably, the touch screen driver saves (e.g., stores) calibration values to a persistent COMPACT FLASH card (or other persistent, portable storage media). In this regard, the touch screen driver is modified to read calibration values from the COMPACT FLASH card at startup of the system. Moreover, the authentication process skips the calibration values when authenticating the data on the COMPACT FLASH card since these values may be changed at any time.
As shown in
In a preferred embodiment, there is no operating system user interface in the iVIEW device 10. As such, a preferred embodiment of the iVIEW device 10 has several atypical attributes. For example, in one specific, non-limiting preferred embodiment, the iVIEW device 10 starts automatically at power up, uses a unique SMS (Systems Management Server) device identifier, automatically provisions itself into the SMS server, saves its set of installed SMS packages in a persistent manner that ensure they survive hard resets, identifies the existence of the SMS server as soon as possible and issues a poll to the server after the server has been identified, and instructs a Logger component to write logs that track updates.
With respect to the iVIEW device 10 automatically starting up at power up, typically the device client has a component that runs as a service and can be setup to start at boot time. With respect to the iVIEW device 10 using a unique SMS device identifier, when the device client initializes, the component is queried that supplies the device management engine with the device ID, device hardware, and state information. In one specific, non-limiting embodiment, a call is made to the GetDeviceID ( ) to obtain the Device Identifier. This function first tries to obtain the Device Identifier from a call to KernalloControl (IOCTL_HAL_GET_DEVICEID). If this procedure fails, a GUID (Globally Unique Identifier) is generated. The intent is that a call to this kernel returns the unique Device Identifier. That way a unique Device Identifier is ensured.
With respect to the iVIEW device 10 automatically provisioning itself into the SMS server, in a preferred embodiment of the iVIEW device 10 the device client has a registry entry that is setup at boot time to point to the SMS Server. Preferably, the server is an “a priori” (i.e., before experience) constant. Notably, in many embodiments there is another registry entry (which may be named EnableEditServer). Setting this registry entry false ensures that all clients point to the same server.
With respect to the iVIEW device 10 saving its set of installed SMS packages in a persistent manner that ensures they survive hard resets, the relevant module of the extension 100 communicates with a local database file to maintain state information about packages such as package ID, package name, and download status of the package. By default the database file is located in the WINDOWS directory. In one embodiment, the device client is compiled so that it uses a database file located on the COMPACT FLASH card, while in another embodiment the database file is saves from the WINDOWS directory to the COMPACT FLASH card on exit, and restore the file back to the WINDOWS directory at boot time. Notably, to save the package status, a COMPACT FLASH card (or other persistent, portable storage media) must be used. Additionally, since the contents of the COMPACT FLASH card are signed and secure, the package information is saved in a directory that is skipped by the Gatekeeper application so that the application does not interfere with the signed content.
With respect to the iVIEW device 10 identifying the existence of the SMS server as soon as possible, in a preferred embodiment the device client works in a “pull mode” (i.e., data is pulled or requested from the server by the device client) in contrast to a server “push mode” (i.e., data is pushed from the server to the device client). This “pull mode” is normally accomplished by periodically polling the server (i.e., making continuous requests for data from the server, typically at fixed time intervals). In one preferred embodiment, the iVIEW device 10 implements a “device side” listening socket. In this regard, a scan can be performed on the “server side” to find any available iVIEW devices 10. Once found, the server issues a “poll now” command that initiates an upgrade process.
Finally, with respect to the iVIEW device 10 instructing a Logger component to write logs that track updates. The device client has a component (which is a DLL) with an API that enables programmatic access to the device client. In a preferred embodiment, an API call is used to query the device client database for post installation status queries. In addition, it is our intent to implement a callback structure from the CAB file install that will allow our Monitor program to write out log file entries.
In a preferred embodiment of the iVIEW device 10, the extension 100 includes a digital signature object that implements a two step process. This process is used to verify the authenticity of the code and content on the iVIEW device 10. Preferably, the first step resides in the boot ROMs of the hardware, which uses the public key embedded in the ROM and a digital signature to verify that the executable code contained within the operating system file is authentic. In such an embodiment, the second step uses the same algorithm, but with a program embedded within the operating system that has just been authenticated. Preferably, this program is run before any other user mode executables and verifies that the content files have not been changed.
In a preferred embodiment of the iVIEW device 10, two boot ROMs are typically utilized to support the test signing. Preferably, one boot ROM is distributed to customers and contains a public key. The other type of boot ROM contains a public key that is paired with a far less secure private key. This boot ROM is used in the development and test process to run code that has been signed with the test private key. These test boot ROMs are produced in limited quantity and protected more carefully than production boot ROMs. Moreover, one of two mechanisms must be implemented to allow customers to sign their own code. Either a customer's public key must be embedded in the operating system file (which leads to complications given the number of customers) or a third tier of authentication must be added. As shown in
In a preferred embodiment, the Game Monitoring Unit provides text strings to the iVIEW device 10. These strings are interpreted according to configuration files as navigation commands to HTML pages, as well as other actions. Embedded within these text strings, in an “ad hoc” manner, are variable pieces of data that can be formatted into the HTML (Hyper Text Markup Language) pages using DHTML (Dynamic Hyper Text Markup Language) and script to provide personalization and other functionality. The iVIEW device 10 was configured to avoid modifying the legacy GMU as much as possible, since originally, the strings in the GMU design were only intended to display on a two line device before the advent of the iVIEW device 10.
The strings are transmitted to the GMU using an EPI protocol, which is a higher level protocol implemented on top of the I2C bus. The EPI protocol provides functionality beyond that typically provided by I2C. For example, long messages are broken into packets, and retry logic is included for greater reliability.
A significant challenge with the implementation of the iVIEW device 10 was that originally, GMU messages were intended for display only, while the iVIEW device 10 takes actions based on the messages (i.e., is interactive). Accordingly, in order to determine which action to take, the iVIEW device 10 must match the string with an action. Some strings, however, cannot be translated into a pattern. As such, the intent of these strings must be assumed (or guessed) based on the lack of a match. All CMS directed messages fall into this category.
At best, each unmatched message creates a performance problem because each directed message has to traverse the entire dictionary before its nature can be guessed. At worst, directed messages can cause errors (e.g., if a casino operator happened to input a directed message that matched something higher up in the dictionary). Problems can also occur as a result of ambiguous strings, such as, for example, when determining when an employee card is inserted versus when a player card is inserted. If the first string returned in both cases is the same, the iVIEW device 10 does not know which mode to enter.
These issues are resolved by extending the EPI protocol to provide additional information with each message that indicates the intent of the message (i.e., message types). The full set of additional message “types” are configured in conjunction with the protocol extension. Such message “types” include, by way of example only, and not by way of limitation: specifying if a message is a player log on message, an employee log on message, a GMU originated message, a CMS directed message, a log off message, or the like. The extension of this protocol preferably includes modifications to both the GMU and the supporting driver stack on the iVIEW device 10, as well as the implementation of a new dictionary to allow proper interpretation of the new messages.
In a preferred embodiment of the extension 100, the Digital Signing object is a .Net Assembly that is called to generate the digital signature for the content or code that is to be signed. The result of this operation is the addition of two files (i.e., the digital signature and the public key) to the repository of files that constitute the content or code which has been signed. Notably, the signature applies to the contents of the directory and all contained subdirectories. In a preferred embodiment of the extension 100, the iVIEW device 10 uses the public key and the digital signature to verify that none of the files have been changed.
Preferably, digital signature verification is the authentication scheme used to secure the iVIEW code and content, which are referred to herein as the message. The outcome of signing process is the production of a digital signature. Preferably, to generate the digital signature, the message is first transformed into the message digest using a hashing algorithm. In one preferred embodiment, the algorithm used is the Secure Hash Algorithm (SHA-1) Next, the message digest is signed, preferably using a private key and the Digital Signature Algorithm (DSA). The output of the DSA signing is the digital signature for the message. As shown in
To ensure the message has not been changed or tampered with, the message is verified through analysis of its digital signature. First, the message is hashed into the message digest, preferably using SHA-1. Next, using the digital signature as well as the public key, the message digest is verified using DSA. In a preferred embodiment, the content is signed with the private key, but is verified with the public key. As shown in
Referring now to the Key Pair Generation component of the invention, three tiers of keys are included in a preferred embodiment. The top tier is the company root key pair. The private key of this key pair is the most securely held key. The public key of this key pair is in the company root certificate. This certificate is self-signing in that it requires no other certificate authority to validate the key as authentic.
In a preferred embodiment, the second tier keys are subsidiary keys. Typically, these key pairs are controlled at the company level (as are the first tier keys). In one specific non-limiting embodiment, there are initially three subsidiary key pairs (e.g., one for each city in which the company is located). Preferably, when these keys are generated, the keys are signed using the first tier company root private key. After the second tier keys are generated, content can be signed without the need to use the root private key. However, it is still important to hold the subsidiary private keys securely, since content signed with the second tier keys are valid and could display unsecured content. Another advantage of subsidiary keys is that if a key is compromised for some reason, it will only affect that particular subsidiary key and content, not all content across all keys.
In a preferred embodiment, the third tier keys are casino keys, which are controlled by each individual casino (or other establishment utilizing the claimed invention). When these third tier keys are generated, the third tier keys are signed by a subsidiary (second tier) key. Again, it is important to keep the casino private key secure, since content signed with this key is valid. By having a third tier, any compromised casino keys only affect the machines within that casino.
In another aspect of a preferred embodiment, X.509 certificates are used to facilitate the use of the three tier key structure. As shown in
As shown in
Referring now to
In another aspect of a preferred embodiment, a four-tier key structure is utilized. In such an embodiment, the first tier is the root program tier. At this first tier level, full access is granted and all system parameters may be modified. In one preferred embodiment, the second tier is the slot manager program tier. At this second tier level a somewhat reduced level of access is permitted. Preferably, the second level access enables a slot manager to add, delete, and/or modify hardware, software, games, denominations, prize awards, jackpots, wager amounts, and the like, but is not allowed to alter the operating system.
Continuing, in this preferred embodiment, the third tier is the slot technician program tier. At this second tier level an even more significantly reduced level of access is permitted. Preferably, the third level access enables a slot technician to fix tilts, jams, and other errors, as well as refill money, tickets, coupons, and/or receipts. However, in this embodiment the third tier level does not provide any of greater degrees of access described above.
Finally, in this preferred embodiment, the fourth tier is the player customization tier. At this fourth tier level no restricted access is permitted, but rather only display change type access is permitted. Preferably, the fourth level access enables a player to modify parameter including, by way of example only, and not by way of limitation: the language, color, font size, and general layout of the game presentation. Each of these four tier level keys must be signed. Importantly, all of the keys are configured to leave their own distinct audit trail.
Although the invention has been described in language specific to computer structural features, methodological acts, and by computer readable media, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific structures, acts, or media described. Therefore, the specific structural features, acts and media are disclosed as exemplary embodiments implementing the claimed invention.
Furthermore, the various embodiments described above are provided by way of illustration only and should not be construed to limit the invention. Those skilled in the art will readily recognize various modifications and changes that may be made to the claimed invention without following the example embodiments and applications illustrated and described herein, and without departing from the true spirit and scope of the claimed invention, which is set forth in the following claims.
This application is a continuation-in-part of U.S. patent application Ser. No. 10/943,771 filed Sep. 16, 2004, entitled USER INTERFACE SYSTEM AND METHOD FOR A GAMING MACHINE, which is hereby incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
3662105 | Hurst et al. | May 1972 | A |
4448419 | Telnaes | May 1984 | A |
4676506 | Crouch | Jun 1987 | A |
4718672 | Okada | Jan 1988 | A |
4837728 | Barrie et al. | Jun 1989 | A |
5429361 | Raven et al. | Jul 1995 | A |
5655961 | Acres et al. | Aug 1997 | A |
5702304 | Acres et al. | Dec 1997 | A |
5741183 | Acres et al. | Apr 1998 | A |
5752882 | Acres et al. | May 1998 | A |
5759102 | Pease et al. | Jun 1998 | A |
5769716 | Saffari et al. | Jun 1998 | A |
5770533 | Franchi | Jun 1998 | A |
5779545 | Berg et al. | Jul 1998 | A |
5796389 | Bertram et al. | Aug 1998 | A |
5809482 | Strisower | Sep 1998 | A |
5816918 | Kelly et al. | Oct 1998 | A |
5820459 | Acres et al. | Oct 1998 | A |
5833536 | Davids et al. | Nov 1998 | A |
5833540 | Miodunski et al. | Nov 1998 | A |
5836817 | Acres et al. | Nov 1998 | A |
5851148 | Brune et al. | Dec 1998 | A |
5876284 | Acres et al. | Mar 1999 | A |
5885158 | Torango et al. | Mar 1999 | A |
5919091 | Bell et al. | Jul 1999 | A |
5967896 | Jorasch et al. | Oct 1999 | A |
5973696 | Agranat et al. | Oct 1999 | A |
5984779 | Bridgeman et al. | Nov 1999 | A |
6008784 | Acres et al. | Dec 1999 | A |
6010404 | Walker et al. | Jan 2000 | A |
6068552 | Walker et al. | May 2000 | A |
6071190 | Weiss et al. | Jun 2000 | A |
6077163 | Walker et al. | Jun 2000 | A |
6110041 | Walker et al. | Aug 2000 | A |
6113495 | Walker et al. | Sep 2000 | A |
6135884 | Hedrick et al. | Oct 2000 | A |
6162122 | Acres et al. | Dec 2000 | A |
6244958 | Acres | Jun 2001 | B1 |
6254483 | Acres | Jul 2001 | B1 |
6257981 | Acres et al. | Jul 2001 | B1 |
6280328 | Holch et al. | Aug 2001 | B1 |
6302790 | Brossard | Oct 2001 | B1 |
6312333 | Acres | Nov 2001 | B1 |
6319125 | Acres | Nov 2001 | B1 |
6364768 | Acres et al. | Apr 2002 | B1 |
6364769 | Weiss et al. | Apr 2002 | B1 |
6371852 | Acres | Apr 2002 | B1 |
6375567 | Acres | Apr 2002 | B1 |
6375569 | Acres | Apr 2002 | B1 |
6431983 | Acres | Aug 2002 | B2 |
6457099 | Gilbert | Sep 2002 | B1 |
RE37885 | Acres et al. | Oct 2002 | E |
6565434 | Acres | May 2003 | B1 |
6607441 | Acres | Aug 2003 | B1 |
6652378 | Cannon et al. | Nov 2003 | B2 |
6712697 | Acres | Mar 2004 | B2 |
6712698 | Paulsen et al. | Mar 2004 | B2 |
6722985 | Criss-Puszkiewicz | Apr 2004 | B2 |
6722986 | Lyons et al. | Apr 2004 | B1 |
6800030 | Acres | Oct 2004 | B2 |
6832958 | Acres et al. | Dec 2004 | B2 |
6910964 | Acres | Jun 2005 | B2 |
RE38812 | Acres et al. | Oct 2005 | E |
D531333 | Acres et al. | Oct 2006 | S |
20020111206 | Van Baltz et al. | Aug 2002 | A1 |
20030060247 | Goldberg et al. | Mar 2003 | A1 |
20040002383 | Lundy et al. | Jan 2004 | A1 |
20040100490 | Boston et al. | May 2004 | A1 |
20040142750 | Glisson et al. | Jul 2004 | A1 |
Number | Date | Country |
---|---|---|
704691 | Apr 1997 | AU |
0769769 | Apr 1997 | EP |
2004024260 | Mar 2004 | WO |
Number | Date | Country | |
---|---|---|---|
20070082737 A1 | Apr 2007 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10943771 | Sep 2004 | US |
Child | 11307528 | US |