Various types of gaming machines have been developed with different features to captivate and maintain player interest. In general, a gaming machine allows a player to play a game in exchange for a wager. Depending on the outcome of the game, the player may be entitled to an award which is paid to the player by the gaming machine, normally in the form of currency or game credits. Gaming machines may include flashing displays, lighted displays or sound effects to capture a player's interest in a gaming device.
Another important feature of maintaining player interest in a gaming machine includes providing the player with many opportunities to win awards such as cash or prizes. For example, in some slot machines, the display windows show more than one adjacent symbol on each reel, thereby allowing for multiple-line betting. Some gaming machines offer a player an opportunity to win millions large prizes by providing progressive jackpots. Additionally, feature games of various types have been employed to reward players above the amounts typically awarded on a standard game pay schedule. Generally, such feature games are triggered by predetermined events such as one or more appearances of certain combinations of indicia in a primary game. In order to simulate interest, feature games are typically set to occur at a gaming machine on a statistical cycle based upon the number of primary game plays.
While gaming machines, including feature games, have been very successful, there remains a need for games that provide a player with enhanced excitement and increased opportunity of winning. Over time, the opportunity to win tends to be more important to most players than flashing displays, lighted displays or sound effects. However, an increase in the opportunity to win (or a perceived increase) may be coupled with other options for maintaining a player's interest.
The foregoing examples of the related art and limitations related therewith are intended to be illustrative and not exclusive. Other limitations of the related art will become apparent to those of skill in the art upon a reading of the specification and a study of the drawings. Additionally, limitations and disadvantages of the related art may become apparent from review of other related art itself.
A system, method and apparatus is provided for a system in which a gaming machine triggers system events. The specific embodiments described in this document represent examples of the present invention, and are illustrative in nature rather than restrictive.
In an embodiment a method is provided. The method includes receiving a message at a server from a first game machine related to a gaming event at the first gaming machine. The method also includes processing the message in relation to business rules of the server. The method further includes determining if an additional message needs to be sent responsive to the message. The method also includes sending the additional message.
In another embodiment, a method is provided. The method includes receiving a message at a first game machine from a server related to a gaming event at a second game machine. The method further includes processing the message locally. The method also includes providing information to a player responsive to the message.
In yet another embodiment, a method is provided. The method includes generating a gaming event locally at a first gaming machine. The method further includes creating a message responsive to the gaming event. The method also includes sending the message to a server responsive to the gaming event.
The present invention is illustrated by way of example in the accompanying drawings.
The drawings should be understood as illustrative rather than limiting.
A system, method and apparatus is provided in which a gaming machine triggers system events. The gaming machine may send messages to a server. The server may then process messages, and may send messages back to the gaming machine. Additionally, the server may send messages to other gaming machines also coupled to the server. The messages may concern bonuses, announcements of gaming events, and opportunities for tournament play, among other information. Thus, a gaming event (such as a jackpot or a good poker hand) may trigger a bonus or a tournament, for example. Additionally, messages may be sent to other components, such as audio and/or video components, which may then announce gaming events, for example. The specific embodiments described in this document represent examples of the present invention, and are illustrative in nature rather than restrictive.
In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the invention. It will be apparent, however, to one skilled in the art that the invention can be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to avoid obscuring the invention.
Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments.
A method and system is provided where an EGM (Electronic Game Machine) can trigger an event that causes a message to be sent to the system servers. The system servers then, based upon business rules, trigger events to occur on iVIEWs (or displays generally) spanning the property or properties or a specific set of iVIEWs on a select group of EGMs. The following embodiment used in a casino is provided as an introductory illustration of such a system. Embodiments in various types of gaming establishments may be contemplated based on the provide descriptions and illustrations. Other embodiments and operating environments will become apparent to those of skill in the art.
Casinos may have EGMs with player tracking and slot accounting components embedded within. These components may include a game monitoring unit (GMU), a card reader, a display (2 line Alpha numeric or iVIEW multimedia display). The GMU's may be connected through a dedicated slot line to the Slot Management System (SMS) and Casino Management System or Player Marketing or Tracking System, among other systems. These servers can send directed messages to a specific EGM or groups of EGMs' player tracking components over existing wires or IP networks, for example. These directed messages are created in the server software based upon various business rules and are often related to casino offers or services, bonusing, or advertising.
The slot accounting components in the EGM will process these messages received from the server and often display relevant data to the user on the display. The data shown on the display is often server originated data and multimedia content provided from a server or stored on a storage medium on one or more of the slot accounting components. Players can input their acceptance of an offer if an offer was presented to them (as opposed to an advertisement or announcement). This acceptance may be sent back to the server for processing.
The EGM motherboard may connect to the GMU through a 3 wire serial interface running the SAS protocol available from IGT. The GMU acts as a SAS Host and handles ticketing, slot accounting meters, player access to their casino patron account, funds transfer to and from the EGM, and event messaging to and from the attached servers. This EGM originated event messaging is typically related to Jackpots, Hand pays, Cabinet Tilts and other issues. Cabinet Tilts in particular help the casino send the appropriate staff out the EGM for quick customer service and to get the machine functional again as soon as possible.
All of the messaging that originates in the gaming device CPU is sent up to the GMU then up to the Slot Accounting system for processing or for advancement to other servers. These servers then process data and often send data back to the specific EGM that originated the message. It would be desirable to have a message that originates in the gaming device CPU to be sent up to a server through the GMU/iVIEW or 2 line display or through another serial wire or Ethernet wire that could trigger, based upon business rules, a message or messages to one or more other Player tracking devices or system components and/or their displays.
Various embodiments of the system meet the above-described needs by providing a device, a method and a gaming system that allows messaging from a gaming device CPU or processor to be sent to a server for processing or routing to other EGMs slot accounting system components. Mechanical or video gaming devices are considered appropriate for this system. Similarly, games of skill, chance or both are also considered appropriate for this system.
For compatibility, the system may use a network and transport layer that uses the Single Wire on slot floor. (e.g. G2S, or Slot Line.) This is very advantageous for the casino operator and does not force rewiring of property, for example. In a network that supports multiple protocols over the same wire these event messages may be routed differently or processed differently from the other messages that come from the EGM.
Certain types of messages may be routed differently than other messages over the same or different protocols. Conversely, the same message may be sent over multiple wires or the same wire using the same or different protocols to multiple server endpoints. Additionally, web services may be used. The client computing device inside the EGM (base game CPU or GMU or iVIEW) may also provide web services to the server(s) and/or other clients.
Note that the following standard protocols may be used:
G2S protocol—GET EVENT HANDLER CLASS of Gaming Standards Association GSA
SAS protocol—Real Time Event Reporting—IGT Slot Account System protocol
Certain messages may leave the GMU and proceed to a GameNet Bridge (available from Bally) and at that point be directed to an appropriate server for later processing or the GameNet Bridge can send data back to one or more other GMU's attached to it. For simplicity of reference, the message originating from the first EGM will be called MESSAGE_G2S (Game to Server) throughout this document. The MESSAGE_G2S received on the server will be processed. This processed MESSAGE_G2S is referred to as MESSAGE_PROCESSED. The message originating on the server that will be sent to one or more EGMs is referred to as MESSAGE_S2G (Server to Game).
A gaming device CPU running an Operating System (OS) and one or more game programs can trigger an event that will eventually trigger a bonus award, bonus game, tournament, a group play notification, a message notification, or consolation prize to be shown or executed on another player tracking display.
Types of Events
The event on an EGM may include but is not limited to the following:
As an example multiple EGMs may have to send certain events to the server and when the proper values or quantities are achieved then the messages to the other EGMs would take place. In some cases the EGMs that originated the messages would also receive the server originated trigger message just like the other EGMs or in a modified form. The EGM may have a list of other EGMs (essentially peers) that it knows so that it can send messaging to them through the system components as well.
Alternatively one or more servers may have the business rule processing logic have a pre-selected list of other EGMs that this original message or a different message will be forwarded to other EGMs. Alternatively one or more servers may have the business rule processing logic dynamically calculate a single or group of EGMs to be communicated to based upon business rules. This list may be manually configured by an operator, the EGMs can poll for each others' EGMs presence, or each EGM may send a multi-cast message to all other machines on the network announcing itself.
Note that the business rules may be administered by an administration server and application by casino personnel, game manufacturer personnel, system manufacturer personnel, regulator personnel, marketing personnel, or slot operations personnel, for example. The specific messages, quantity of messages, quantity of a variable or group of variables, a group of messages in order, in sequence, or in any order could configured in this application. Thus, flexibility in the system is provided and the system may be tailored to various gaming establishments.
With business rules configured, server(s) have configuration screens that allow the event, quantity of events, and threshold values to be set from a single or group of players or single or group of EGMs. Counters on servers increment when messages arrive with certain events are contained within. If the pre-configured threshold values are equal to or greater than the counter values then the appropriate message (original, new, or modified) is sent to the appropriate other EGMs on their system components. Alternatively these counters can count down to zero from the preset value and trigger messaging to other servers, game devices, player tracking devices, when a predetermined number is hit such as zero. Optionally, a specific trigger value or combination of values for multiple variables must be used in the business rule processing engine based on data received from the original G2S Messages from the EGMs. In such a case, the counters are not used in the business rule processing engine but rather just a specific message containing a specific name and value pair may be used.
The messages can include commands and/or data and/or media content. These messages may be sent to the specific EGMs and their system components. The server can have pre-assigned EGMs or groups of EGMs to send the messages to based upon which messages were originally received, in what order, and which counters achieved the threshold limits.
MESSAGE_S2G can cause events to be shown or heard on any monitor or speaker inside or attached to specific gaming machines not limited to: the iVIEW, top monitor, bottom monitor, or an LCD control panel. Other events also may be triggered and can be shown or heard on indoor/outside overhead signage or billboards, LCD screens, EGM speakers, casino web sites, kiosk, handheld wireless gaming devices, cell phones, in-room televisions, casino PA systems. The messages can help to create a powerful notification and entertainment system for personnel and patrons alike. Some events and messaging may dispatch casino personnel to specific areas of the casino floor or property. A map can be shown on these display devices to help patrons find out where the event occurred and optionally where they have to go to participate.
This potentially ties the entertainment at an EGM to other EGMs and media presentations throughout the property and spanning properties. EGMs and property messaging can potentially all be synchronized. In alternate embodiments the business rules processing engine may be configured to send multiple different messages to many different clients and servers for processing or notification or bonusing purposes. These can be triggered from the same business rules processing engine or separate engines or servers. The IP address of the destination server and the XML message content to be sent to the server can be customized by casino personnel in the business rule configurator in some embodiments. The business rule processing engine and its configurators may determine behavior for all event messages that come up from the gaming devices to be monitored and trigger subsequent messages to other EGMs or servers. This allows for a completely customizable incoming message analysis. Subsequent to business rules being achieved (triggered), the system may then send secondary messages to other destinations throughout the casino or casinos. This business rule processing engine or service may be capable of forwarding the same original G2S message, a different message, a sequence of messages, appended messages, or modified messages, for example. Each game that has its own unique proprietary events can have its messages easily added to the business rule configurator. Then, the casino personnel can configure business rules for these original messages (related to proprietary events) to trigger the sending of secondary messages throughout the enterprise.
Bonusing
The server business rules may use a Random Number Generator RNG to determine which EGMs to send the MESSAGE_S2G to, what is in the MESSAGE_S2G, when to send the MESSAGE_S2G, and quantities of the variables inside MESSAGE_S2G, among other parameters. The RNG can create a random experience or size of award to occur on the other EGMs. This is potentially helpful for bonusing purposes. The RNG may provide an actual bonus, or potential for bonus if a player achieves some goal. The RNG outcome may likewise qualify an EGM for an event or bonus game or bonus award. The RNG outcome may also determine the probability or likelihood of a bonus to be given. The outcome of the RNG may be a prize value and may be reverse mapped into a game presentation on an EGM, iVIEW, casino signage or other presentation device. Moreover, a server based game or bonusing software application may use a random number generator to trigger MESSAGE_S2G or provide data inside MESSAGE_S2G.
A server based game may send video streamed game data to specific EGM's. Server based game engine may receive inputs from player tracking display input devices including buttons, touch screens, keypad. These inputs may affect the server based game software and affect the outcome or state of the server executed game. Each player tracking display may have an identical game running, a different game running, a group-play head to head game, or a turn based game, for example. The server may have single or multiple instances of the game running for the various player tracking displays.
If MESSAGE_S2G causes bonusing to be triggered on other player tracking displays, it may be the same for multiple players or be completely different for each player based upon business rules, player and/or EGM qualification rules. Some players may receive a consolation prize, for example. The bonusing amount for each other EGM may be different.
The MESSAGE_S2G may just instruct the base game or its associated player tracking display or system component to trigger a client side bonus opportunity. Each client would potentially qualify itself for the bonus. Alternatively, the client side device may send relevant gaming, player, or other data up to the server so that the server can qualify the player or EGM for the bonus or size of the bonus.
Additionally, MESSAGE_S2G may be a group of messages sent in sequence or sent at completely different times from the same or different servers. MESSAGE_S2G may provide data to other EGMs system components of which player or gaming device triggered the event and the size and/or type of the event triggered on the EGM originating MESSAGE_G2S. MESSAGE_G2S may include video streaming data that is forwarded to other EGM system components through MESSAGE_S2G. This way a player on the originating EGM can have his/her experience broadcasted to others for status reasons or bragging rights. This also can be used to let the other players see how they will benefit themselves from this other players' luck or by achieving the triggering event. This potentially allows others to share in the award experience and adds to the community gaming experience. Synchronized multimedia, game content, or text based messaging to multiple other EGMs is also an option. This could include video streaming over Ethernet from one gaming device to another.
MESSAGE_G2S may likewise trigger different messages MESSAGE_S2G to different groups of EGMs. These messages may be tailored to the machines that the other people are playing on. MESSAGE_G2S may trigger a printing of a custom formatted voucher at EGMs. This voucher can be a bonus coupon, a tournament entry ticket, a raffle ticket, a voucher for casino related merchandise or service, bonus promotional credits, entry to bonus round on another EGM, free entry on another EGM game. The printer may be attached to the GMU, EGM motherboard, the iVIEW, or other system peripheral in the cabinet. The G2S voucher class is an option for sending the print command or other proprietary protocol to implement printing.
Notification to Other Systems
A MESSAGE_S2G or a modified version may also be sent to the Casino Signage, speakers, in room TVs, broadcast to individual players personal cell phones or other personal digital assistants, signage outside the property, and to web portal sites. This alternate messaging also allows others to share in the experience that the originating person or persons or EGMs triggered.
Turning to the drawings,
As mentioned earlier with respect to the example embodiment described above, for simplicity of reference, the message originating from the first EGM will be called MESSAGE_G2S (Game to Server) throughout this document. The MESSAGE_G2S received on the server will be processed. This processed MESSAGE_G2S is referred to as MESSAGE_PROCESSED. The message originating on the server that will be sent to one or more EGMs is referred to as MESSAGE_S2G (Server to Game).
Process 100 initiates at module 110, with an electronic gaming machine generating an event. An event may take on many forms, such as a win, a noteworthy win, a desirable hand in poker, or a winning streak, for example. Moreover, the event, or gaming event, may be predetermined in nature (e.g. criteria for the event may be predetermined) for a given gaming machine or group of gaming machines. At module 120, a message is sent from the gaming machine to a server. The message is sent responsive to the gaming event, and typically includes some information about the gaming event. The message may also include information about a player and about timing of the gaming event, for example. At module 130, the message is received by the server.
At module 140, the message as received is processed based on business rules. These business rules may define how messages should be handled in a programmatic way. For example, some messages (and corresponding events) may simply trigger accounting transactions at a server level, unrelated to individual machine operation. Other messages (and corresponding events) may trigger bonus opportunities or tournament (multiple players) game opportunities. At module 150, based on the business rules, a determination is made as to whether messages need to be sent out (one message or multiple messages). If not, processing continues at module 140.
If so (messages need to be sent out), then at module 160, messages to be sent are generated and sent from the server to other machines, such as gaming machines. As may be expected, these messages can be sent to individual games or to multiple games, and the messages may simply be sent to the game machine where the triggering event occurred, to other machines, too, to server-based game execution processes, to other server processes or all of the above. Moreover, the game machine where the triggering event occurred need not receive a message in some instances. The message may be sent out to machine(s) using pre-established network sockets implemented by the gaming device processor, the player tracking processor, or the game monitoring unit. In an embodiment, the gaming device sends it transactional message (MESSAGE G2S) to the server using its own ethernet port by calling a web service. The server determines if triggering events have occurred based upon business rules setup in the configurator, and then sends outgoing MESSAGE_S2G to one or more gaming device CPUs, or player tracking system components within the gaming devices. This communication may be optimally sent to the player tracking display processor using its system network which is typically a different (separate) network than the one the gaming device sent the original MESSAGE_G2S. The advantage of this system is that specific game titles implemented by a gaming manufacturer that are capable of sending transactional messages to the business rule server are able to have their events send messaging to the rest of the casino floor on the different (separate) network to the player tracking displays. Thus events on these games can trigger events or notifications or bonuses on other games/machines. This allows the casino and game manufacturer to drive players from across the casino floor to a specific set of the manufacturer's gaming machines based upon triggering criteria and business rules. Not all of the machines in the casino need to support Ethernet to the gaming processor. As long as the gaming device has the system components (GMU, iVIEW processor) then players can be notified of the occurrences on specific banks of the manufacturer's machines elsewhere on the casino floor.
The system in which such a process operates may provide further insights.
Turning to the first gaming machine 288, an EGM 220 is included, along with a game monitor 212, an interface 204 (e.g. a screen or display), a printer 216 and a card reader or other input device 208. EGM 220 provides the actual gaming experience, generating gaming events, accepting user input (e.g. slot machine spins, poker inputs, etc.) and displaying or otherwise providing results (e.g. displaying reels or a poker hand). Gaming monitor 212 monitors the operation of game machine 220 and receives messages about gaming events therefrom. Display 204 receives display messages from gaming monitor 212 and displays such messages to the user. Display 204, gaming monitor 212 and EGM 220 may all also communicate with server 224.
Also provided are printer 216, which prints materials for players, such as tickets or prize claim checks, and input device 208. Input device 208 may allow for input such as swiping or insertion of a player card (e.g. a tracking or rewards card), biometric input, or other input data which may identify a player. Communication with server 224 may be through an interface (not shown) which may communicate using various different communication technologies, such as Ethernet, wireless (e.g. RF communication) or other technologies. Communications within the first gaming machine 288 may be through wired connections (typically) between components, such as serial, USB, Ethernet or other communications protocols and equipment.
Server 224 receives messages from gaming machines and associated components, and processes the messages. Server 224 uses business rules to determine how to process messages. Server 224 then acts on the results of such processing. This includes determining if messages need to be sent to games, determining if messages need to be sent to other systems (e.g. accounting systems), sending messages, and archiving or storing results as needed. This may also include alerting a user (e.g. an employee monitoring play) of developments.
Additionally shown are second gaming machine 228, third gaming machine 244 and fourth gaming machine 264. Second gaming machine 228 includes a EGM 232 (similar to 220), a gaming monitor 240 (similar to 212) and a display 236 (similar to 204). Second gaming machine 228 is shown receiving a message from server 224 related to a message sent to server 224 by the first gaming machine 288 for use by gaming monitor 240.
Third gaming machine 244 includes a EGM 248 (similar to 220), a gaming monitor 260 (similar to 212) and a display 256 (similar to 204). Second gaming machine 244 is shown receiving a message from server 224 related to a message sent to server 224 by the first gaming machine 288 for display on display 256 and potentially for use by gaming monitor 260.
Fourth gaming machine 264 represents a set of games of similar or the same architecture. Gaming machine 264 includes a EGM 276 (similar to 220), a gaming monitor 268 (similar to 212) and a display 276 (similar to 204). Gaming machine 264 also includes a printer 280 tied to the server 224 and to the EGM 276 and a printer 284 tied to the EGM 276. As shown, fourth gaming machine 264 (or a gaming machine in the set of gaming machines) is shown receiving a message from server 224 related to a message sent to server 224 by the first gaming machine 288 for printing on printer 280 and potentially for use by gaming monitor 268. This may represent sending a message to a single machine or to multiple machines, as needed for specific embodiments and implementations.
Attribute selector 360 allows for selection of name-value pairs for use in a message. Assignment button 370 allows for assignment of a message to a business rule. Sample message importer 340 allows for importation of text of a sample message or previously stored message for use as a template in creating a message. Message create button 350 allows for actual creation of a message, such as for initially creating or saving a message.
Multiple trigger parameters may each have to trigger a respective (predetermined) threshold quantity before messages may be sent to EGM's and/or other servers. Also combinatory triggers may be implemented where a first triggering message may leave the business rule configuration service based upon a trigger being achieved and the other messages may be sent on later triggers being achieved. The destination device receiving the message may require more than one message to implement its transaction or display logic, for example.
The business rule configuration server may itself act as a server in a Gaming Standards Association (GSA) S2S and G2S gaming environment. The business rule processing may register with the G2S and S2S floor system for certain events or meters if they occur or change. The floor system may be responsible for pushing the data into the business rule configuration server and then the server may run its business rules to determine if the triggers have been achieved. The business rule processing server can alternately register with any or all G2S client devices and ask for (request) specific G2S type events or messages. The gaming device may then send its normal G2S messages to the G2S floor system as usual and also send the requested events or meters to the business rule processing server. The core classes of the G2S standard protocol do not support every type of message or event that can be created inside the game software, game OS, or peripherals. However, the classes do provide many useful events and meter values that can be used by the business rule processing engine. A game title or game OS can also send non G2S event messages to the business rule processing server as desired using a dedicated socket or calling the web service of the business rule processing server. The combination of the core G2S and non-G2S proprietary messages can be used by the business rule processing engine to trigger secondary messages. If these pre-configured triggers have been achieved in the business rule processing server then the appropriate message(s) would be sent from the configuration server out to other servers or gaming devices, potentially enterprise-wide.
Various systems may use the business methods and rules described.
The processes related to sending a message to a server, processing the message at the server, sending messages from the server and receiving messages from a server may also provide further insights.
With messages sent out, the messages must be received (such as by gaming machines).
Some examples of messages which may be displayed to players include:
User Button—Print Tournament Entry coupon.
User Button—Press here to accept
User Button—Send a thank you to the person who triggered the progressive. It will show up on their display.
User Button—Accept
User Button—No Thanks
User Button—Show MAP to where the bank is located in this casino
Note that reference to buttons may indicate actual buttons, or display of button images on a touchscreen, for example.
Additionally, logging of events may be part of the system, allowing for enhanced tracking of gaming events. Examples of data in a message may include:
As can be seen, such messages can provide rich detail to servers. Many current gaming establishments lack tracking ability for such data, so these messages may provide invaluable additional functionality.
The systems and processes described may work with various hardware and networks or for use in any particular environment. That is, several embodiments, set forth by way of example but not limitation, contemplate a gaming environment. Those of skill in the art of computer networks will realize that various systems and subsystems are available to different technology, business or social environments.
Similarly, the hardware and other operating components may be suitable as part of the apparatuses described above. The invention can be practiced with other system configurations, including personal computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
Access to the internet 705 is typically provided by internet service providers (ISP), such as the ISPs 710 and 715. Users on client systems, such as client computer systems 730, 750, and 760 obtain access to the internet through the internet service providers, such as ISPs 710 and 715. Access to the internet allows users of the client computer systems to exchange information, receive and send e-mails, and view documents, such as documents which have been prepared in the HTML format. These documents are often provided by web servers, such as web server 720 which is considered to be “on” the internet. Often these web servers are provided by the ISPs, such as ISP 710, although a computer system can be set up and connected to the internet without that system also being an ISP.
The web server 720 is typically at least one computer system which operates as a server computer system and is configured to operate with the protocols of the world wide web and is coupled to the internet. Optionally, the web server 720 can be part of an ISP which provides access to the internet for client systems. The web server 720 is shown coupled to the server computer system 725 which itself is coupled to web content 795, which can be considered a form of a media database. While two computer systems 720 and 725 are shown in
Cellular network interface 743 provides an interface between a cellular network and corresponding cellular devices 744, 746 and 748 on one side, and network 705 on the other side. Thus cellular devices 744, 746 and 748, which may be personal devices including cellular telephones, two-way pagers, personal digital assistants or other similar devices, may connect with network 705 and exchange information such as email, content, or HTTP-formatted data, for example.
Cellular network interface 743 is representative of wireless networking in general. In various embodiments, such an interface may also be implemented as a wireless interface such as a Bluetooth interface, IEEE 802.11 interface, or some other form of wireless network. Similarly, devices such as devices 744, 746 and 748 may be implemented to communicate via the Bluetooth or 802.11 protocols, for example. Other dedicated wireless networks may also be implemented in a similar fashion.
Cellular network interface 743 is coupled to computer 740, which communicates with network 705 through modem interface 745. Computer 740 may be a personal computer, server computer or the like, and serves as a gateway. Thus, computer 740 may be similar to client computers 750 and 760 or to gateway computer 775, for example. Software or content may then be uploaded or downloaded through the connection provided by interface 743, computer 740 and modem 745.
Client computer systems 730, 750, and 760 can each, with the appropriate web browsing software, view HTML pages provided by the web server 720. The ISP 710 provides internet connectivity to the client computer system 730 through the modem interface 735 which can be considered part of the client computer system 730. The client computer system can be a personal computer system, a network computer, a web tv system, or other such computer system.
Similarly, the ISP 715 provides internet connectivity for client systems 750 and 760, although as shown in
Client computer systems 750 and 760 are coupled to a LAN 770 through network interfaces 755 and 765, which can be ethernet network or other network interfaces. The LAN 770 is also coupled to a gateway computer system 775 which can provide firewall and other internet related services for the local area network. This gateway computer system 775 is coupled to the ISP 715 to provide internet connectivity to the client computer systems 750 and 760. The gateway computer system 775 can be a conventional server computer system. Also, the web server system 720 can be a conventional server computer system. Alternatively, a server computer system 780 can be directly coupled to the LAN 770 through a network interface 785 to provide files 790 and other services to the clients 750, 760, without the need to connect to the internet through the gateway system 775.
The computer system 800 interfaces to external systems through the communications interface 820. In a cellular telephone, this interface is typically a radio interface for communication with a cellular network, and may also include some form of cabled interface for use with an immediately available personal computer. In a two-way pager, the communications interface 820 is typically a radio interface for communication with a data transmission network, but may similarly include a cabled or cradled interface as well. In a personal digital assistant, communications interface 820 typically includes a cradled or cabled interface, and may also include some form of radio interface such as a Bluetooth or 802.11 interfaces, or a cellular radio interface for example. Conventional computer systems often use an Ethernet connection to a network or a modem connection to the Internet, for example.
The computer system 800 includes a processor 810, which can be a conventional microprocessor such as an Intel Pentium microprocessor or Motorola power PC microprocessor, a Texas Instruments digital signal processor, or some combination of the various types or processors. Note that processor 810 and the other components can represent single or multiple components of the same type. Memory 840 is coupled to the processor 810 by a bus 870. Memory 840 can be dynamic random access memory (dram) and can also include static ram (SRAM), or may include FLASH EEPROM, too. The bus 870 couples the processor 810 to the memory 840, also to non-volatile storage 850, to display controller 830, and to the input/output (I/O) controller 860. Note that the display controller 830 and I/O controller 860 may be integrated together and the display may also provide input.
The display controller 830 controls in the conventional manner a display on a display device 835 which typically is a liquid crystal display (LCD) or similar flat-panel, small form factor display. The input/output devices 855 can include a keyboard, or stylus and touch-screen, and may sometimes be extended to include disk drives, printers, a scanner, and other input and output devices, including a mouse or other pointing device. The display controller 830 and the I/O controller 860 can be implemented with conventional well known technology. A digital image input device 865 can be a digital camera which is coupled to an I/O controller 860 in order to allow images from the digital camera to be input into the device 800.
The non-volatile storage 850 is often a FLASH memory or read-only memory, or some combination of the two. A magnetic hard disk, an optical disk, or another form of storage for large amounts of data may also be used in some embodiments, though the form factors for such devices typically preclude installation as a permanent component of the device 800. Rather, a mass storage device on another computer is typically used in conjunction with the more limited storage of the device 800. Some of this data is often written, by a direct memory access process, into memory 840 during execution of software in the device 800. One of skill in the art will immediately recognize that the terms “machine-readable medium” or “computer-readable medium” includes any type of storage device that is accessible by the processor 810 and also encompasses a carrier wave that encodes a data signal.
The device 800 is one example of many possible devices which have different architectures. For example, devices based on an Intel microprocessor often have multiple buses, one of which can be an input/output (I/O) bus for the peripherals and one that directly connects the processor 810 and the memory 840 (often referred to as a memory bus). The buses are connected together through bridge components that perform any necessary translation due to differing bus protocols.
In addition, the device 800 is controlled by operating system software which includes a file management system, such as a disk operating system, which is part of the operating system software. One example of an operating system software with its associated file management system software is the family of operating systems known as Windows CE® and Windows® from Microsoft Corporation of Redmond, Wash., and their associated file management systems. Another example of an operating system software with its associated file management system software is the Palm® operating system and its associated file management system. The file management system is typically stored in the non-volatile storage 850 and causes the processor 810 to execute the various acts required by the operating system to input and output data and to store data in memory, including storing files on the non-volatile storage 850. Other operating systems may be provided by makers of devices, and those operating systems typically will have device-specific features which are not part of similar operating systems on similar devices. Similarly, WinCE® or Palm® operating systems may be adapted to specific devices for specific device capabilities.
Device 800 may be integrated onto a single chip or set of chips in some embodiments, and typically is fitted into a small form factor for use as a personal device. Thus, it is not uncommon for a processor, bus, onboard memory, and display/I-O controllers to all be integrated onto a single chip. Alternatively, functions may be split into several chips with point-to-point interconnection, causing the bus to be logically apparent but not physically obvious from inspection of either the actual device or related schematics.
A new game theme that is installed on the casino floor with new types of messages may announce its message templates to the business rule configurator server through an auto-enumeration process upon boot up or upon execution of a manual process from within an operator setup screen in the gaming software, for example. The business rule configurator would import the new XML template (or other rules information) and add it to its available template list. Then casino personnel could select to configure a business rule for some or all of the fields within the template. From that point forward the configurator transaction service will monitor for these messages and thresholds being achieved and send the corresponding outbound messages to the appropriate gaming devices and/or servers. Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The present invention, in some embodiments, also relates to apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the present invention is not described with reference to any particular programming language, and various embodiments may thus be implemented using a variety of programming languages.
Other topologies and networks of servers and gaming machines may also be contemplated. For example,
Business rules processing service 915 processes business rules and determines if conditions of rules are met. In effect, this results in a determination if pre-determined conditions of the rules are met. Business rules configuration interface 920 provides an interface for use by a user (e.g. an operator) who may specify business rules and the conditions to be included in the business rules. Not shown is a database or similar storage facility for such business rules, and any potential display for such an interface. A separate machine may be coupled to server 910 to provide such an interface, too.
Gaming device 940 includes a system processor 945 and a server interface 950. Not shown is an interface with a user or player—such an interface may include audio, visual, input and other peripheral devices. Server interface 950 may receive data from server 910, and thus from game machine processor 930, for example. System processor 945 may then process such data to provide a display of a game to a user. Gaming device 960 also includes a system processor 965 and a server interface 970, and may function in a similar manner to gaming device 940. Additionally, one or both of gaming devices 940 and 960 may receive messages from the business rules processing service 915, causing messages to be displayed to players, for example.
One skilled in the art will appreciate that although specific examples and embodiments of the system and methods have been described for purposes of illustration, various modifications can be made without deviating from present invention. For example, embodiments of the present invention may be applied to many different types of databases, systems and application programs. Moreover, features of one embodiment may be incorporated into other embodiments, even where those features are not described together in a single embodiment within the present document.