Localized remote gaming
Summary by NHIP
Dynamic Game Listing System
The electronic gaming machine identifies players via loyalty data and displays distinct lists of second games based on gameplay occurring in different time windows. A processor visually emphasizes a specific second game from each list according to prior activities detected during the first and second windows respectively.
Claim Score by NHIP
Abstract
A gaming machine, such as a video slot or video poker machine located in a casino or other gaming environment, may be configured to provide simultaneous play by both an in-person player and one or more remote players. Session identifiers may be assigned to the gaming machine that correspond to the game session of the in-person player and the game session of any remote players.

Term
6.6 yearsleft in the term
Expires 24 April 2033, including 43 days of term adjustment.
- Priority and filed
- Granted
- Today
- Expires
20 claims: 3 independent, 17 dependent
- 1An electronic gaming machine comprising:an electronic gaming machine cabinet including a door and configured to support a player tracking unit associated with a loyalty account system;a security sensor attached to the door of the electronic gaming machine cabinet and configured to detect an opening of the door;at least one display device supported by the electronic gaming machine cabinet;at least one processor;and at least one memory device which stores a plurality of instructions, which when executed by the at least one processor, cause the at least one processor to: identify a player via received player loyalty account data from the loyalty account system, responsive to the identification of the player occurring during a first time window: determine a first prior gameplay activity associated with the identified player which occurred during the first time window, and in addition to any play of a first game displayed via the at least one display device during the first time window, cause the at least one display device to display a first listing of available second games to be played, wherein a first one of the available second games of the first listing is visually emphasized based on the determined first prior gameplay activity, and responsive to the identification of the player occurring during a second, different time window: determine a second, different prior gameplay activity associated with the identified player which occurred during the second time window, and in addition to any play of the first game displayed via the at least one display device during the second time window, cause the at least one display device to display a second listing of available second games to be played, wherein a second, different one of the available second games of the second listing is visually emphasized based on the determined second prior gameplay activity.
- 7A gaming system server comprising:at least one processor;and at least one memory device which stores a plurality of instructions, which when executed by the at least one processor, cause the at least one processor to: identify a player via player loyalty account data received from a player tracking unit associated with a loyalty account system, responsive to the identification of the player occurring during a first time window: determine a first prior gameplay activity associated with the identified player which occurred during the first time window, and in addition to communicating data which results in a display device displaying any play of a first game during the first time window, communicate data which results in the display device displaying a first listing of available second games to be played, wherein a first one of the available second games of the first listing is visually emphasized based on the determined first prior gameplay activity, and responsive to the identification of the player occurring during a second, different time window: determine a second, different prior gameplay activity associated with the identified player which occurred during the second time window, and in addition to communicating data which results in the display device displaying any play of the first game during the second time window, communicate data which results in the display device displaying a second listing of available second games to be played, wherein a second, different one of the available second games of the second listing is visually emphasized based on the determined second prior gameplay activity.
- 13Broadest claimClaim Score 37, average(NHIP)A method of operating an electronic gaming machine, said method comprising:identifying a player via player loyalty account data received from a player tracking unit associated with a loyalty account system, responsive to the identification of the player occurring during a first time window: determining, by a processor, a first prior gameplay activity associated with the identified player which occurred during the first time window, and in addition to displaying, by a display device, any play of a first game during the first time window, displaying, by the display device, a first listing of available second games to be played, wherein a first one of the available second games is visually emphasized based on the determined first prior gameplay activity, and responsive to the identification of the player occurring during a second, different time window: determining, by the processor, a second, different prior gameplay activity associated with the identified player which occurred during the first time window, and in addition to displaying, by the display device, any play of the first game during the second time window, displaying, by the display device, a second listing of available second games to be played, wherein a second, different one of the available second games of the second listing is visually emphasized based on the determined second prior gameplay activity.
Independent claims3
81 paragraphs in 5 sections, as filed
PRIORITY CLAIM
0001This application is a continuation of, claims priority to and the benefit of U.S. patent application Ser. No. 13/910,901, filed on Jun. 5, 2013, which is a continuation-in-part of, claims priority to and the benefit of U.S. patent application Ser. No. 13/797,588, filed on Mar. 12, 2013 the entire contents of which are each incorporated by reference herein.
BACKGROUND
00021. Field of the Described Embodiments
0003The present disclosure relates generally to gaming machines, and more particularly to using an access service to remotely control an electronic gaming machine.
00042. Description of the Related Art
0005Many of today's gaming casinos and other entertainment locations feature different single and multi-player gaming systems such as slot machines and video poker machines. The gaming machines may include a number of hardware and software components to provide a wide variety of game types and game playing capabilities. Exemplary hardware components may include bill validators, coin acceptors, card readers, keypads, buttons, levers, touch screens, coin hoppers, ticket printers, player tracking units and the like. Software components may include, for example, boot and initialization routines, various game play programs and subroutines, credit and payout routines, image and audio generation programs, various component modules and a random or pseudo-random number generator, among others.
0006Gaming machines are highly regulated to ensure fairness. In many cases, gaming machines may be operable to dispense monetary awards of a large amount of money. Accordingly, access to gaming machines is often carefully controlled. For example, in some jurisdictions, routine maintenance requires that extra personnel (e.g., gaming control personnel) be notified in advance and be in attendance during such maintenance. Additionally, gaming machines may have hardware and software architectures that differ significantly from those of general-purpose computers (PCs), even though both gaming machines and PCs employ microprocessors to control a variety of devices. For example, gaming machines may have more stringent security requirements and fault tolerance requirements. Additionally, gaming machines generally operate in harsher environments as compared with PCs.
0007In contrast to gaming machines located in brick and mortar gaming environments, many online gaming services are mostly or wholly unregulated. For example, an online gaming service may have servers located overseas in a country that does not regulate wager-based games. Without oversight or accountability, an unscrupulous online gaming service can falsely advertise odds to give the service an unfair advantage. A user of such a service may also be putting his or her financial information at risk, since there is no accountability for an unregulated online gaming service.
SUMMARY
0008In one embodiment, a method of providing simultaneous control of a gaming machine located in a gaming environment is disclosed. The method includes assigning, by a processor, a machine identifier to the gaming machine. The method also includes assigning an in-person session identifier to the gaming machine, the in-person session identifier being associated with an in-person player physically operating the gaming machine. The method further includes assigning one or more remote session identifiers to the gaming machine that are associated with one or more remote players operating the gaming machine via one or more remote client devices. The method additionally includes simultaneously executing, via the gaming machine, an in-person game using the in-person session identifier and one or more remote games using the one or more remote session identifiers.
0009In another embodiment, a system for providing simultaneous control of gaming machines located in a gaming environment. The system includes a plurality of gaming machines located in the gaming environment. The system also includes one or more computing devices configured to assign a unique machine identifier to each of the gaming machines and to assign an in-person session identifier to each of the gaming machines. The in-person session identifier is associated with an in-person player physically operating the gaming machine. The one or more computing devices are also configured to assign one or more remote session identifiers to each of the gaming machines. The remote session identifiers are associated with one or more remote players operating the gaming machine via one or more remote client devices. Each of the plurality of gaming machines is configured to simultaneously execute an in-person game using the assigned in-person session identifier and one or more remote games using the assigned one or more remote session identifiers.
0010In another embodiment, a system for providing simultaneous control of a gaming machine located in a gaming environment is disclosed. The system includes a remote access service configured to provide a bridge between a network internal to the gaming environment and an external network located outside of the gaming environment. The system also includes a gameplay service configured to provide gaming protocol formatted commands to the gaming machine via the internal network of the gaming environment. The remote access service is also configured to receive a gameplay command for the gaming machine from a client device via the external network and to forward the command to the gameplay service. The gameplay service is also configured to convert the command received from the remote access service into a gaming protocol format and to send the converted command to the gaming machine via the internal network of the gaming environment. The gameplay service is further configured to assign a machine identifier, an in-person session identifier, and one or more remote session identifiers to the gaming machine. The gaming machine is configured to simultaneously execute an in-person game using the in-person session identifier and one or more remote games using the one or more remote session identifiers.
BRIEF DESCRIPTION OF THE DRAWINGS
0011The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the disclosure will become apparent from the descriptions, the drawings, and the claims, in which:
0012<figref idref="DRAWINGS">FIG. 1</figref> is an illustration of a gaming machine, according to an exemplary embodiment;
0013<figref idref="DRAWINGS">FIG. 2</figref> is an illustration of a remote gaming system, according to an exemplary embodiment;
0014<figref idref="DRAWINGS">FIG. 3</figref> is an illustration of a user interface for a remote gaming system, according to one embodiment;
0015<figref idref="DRAWINGS">FIG. 4</figref> is a flow diagram of a process for remotely controlling a gaming machine, according to an exemplary embodiment;
0016<figref idref="DRAWINGS">FIG. 5</figref> is an illustration of a remote gaming system configured to allow simultaneous play of a gaming machine, according to an exemplary embodiment;
0017<figref idref="DRAWINGS">FIG. 6</figref> is a flow diagram of a process for executing in-person and remote games simultaneously on a gaming machine, according to an exemplary embodiment; and
0018<figref idref="DRAWINGS">FIG. 7</figref> is an illustration of a user interface for a remote gaming system configured for simultaneous gameplay, according to an exemplary embodiment.
DETAILED DESCRIPTION
0019Numerous specific details may be set forth below to provide a thorough understanding of concepts underlying the described embodiments. It may be apparent, however, to one skilled in the art that the described embodiments may be practiced without some or all of these specific details. In other instances, some process steps have not been described in detail in order to avoid unnecessarily obscuring the underlying concept.
0020According to various embodiments disclosed herein, computing devices in a gaming environment may be configured to allow a remote user to control a gaming machine located within the gaming environment. For example, a casino may implement a remote access service that allows a client device located outside of the casino to control a slot machine physically located within the casino. In other words, the gaming machine can be controlled remotely in the same manner as if the player were physically operating the machine itself. If the gaming environment is located in a jurisdiction that regulates wager-based gaming, the player can rely on the fact that the remotely controlled gaming machine conforms to the local gaming laws (e.g., laws that dictate a minimum payout by the machine, laws that control how a bonus round is played, etc.). The player may also have certain assurances regarding the security of their financial information when remotely gaming through a reputable casino or other entity. In various implementations, the player's financial information may only be accessible by devices on the local network of the gaming environment, thereby preventing access to the player's financial information by devices located outside of the environment.
0021Referring to <figref idref="DRAWINGS">FIG. 1</figref>, a perspective drawing of an electronic gaming machine <b>102</b> is shown in accordance with described embodiments. Gaming machine <b>102</b> may include a main cabinet <b>104</b>. Main cabinet <b>104</b> may provide a secure enclosure that prevents tampering with device components, such as a game controller (not shown) located within the interior of main cabinet <b>104</b>. Main cabinet <b>104</b> may include an access mechanism, such as a door <b>106</b>, which allows the interior of gaming machine <b>102</b> to be accessed. Actuation of a door <b>106</b> may be controlled by a locking mechanism <b>114</b>. In some embodiments, locking mechanism <b>114</b>, door <b>106</b>, and the interior of main cabinet <b>104</b> may be monitored with security sensors of various types to detect whether the interior has been accessed. For instance, a light sensor may be provided within main cabinet <b>104</b> to detect a change in light-levels when door <b>106</b> is opened and/or an accelerometer may be attached to door <b>106</b> to detect when door <b>106</b> is opened.
0022Gaming machine <b>102</b> may include any number of user interface devices that convey sensory information to a user and/or receive input from the user. For example, gaming machine <b>102</b> may include electronic displays <b>110</b>, <b>122</b>, speakers <b>126</b>, and/or a candle device <b>112</b> to convey information to the user of gaming machine <b>102</b>. Gaming machine <b>102</b> may also include a console <b>124</b> having one or more inputs <b>134</b> (e.g., buttons, track pads, etc.) configured to receive input from a user. In one embodiment, display <b>110</b> and/or display <b>122</b> may also be a touch screen display configured to receive input from a user. A controller (not shown) within gaming machine <b>102</b> may run a game, such as a wager-based game, in response to receiving input from a user via inputs <b>134</b>, display <b>122</b>, or display <b>110</b>. For example, inputs <b>134</b> may be operated to place a wager in the game and to run the game. In response, the controller may cause reels shown on display <b>122</b> to spin, such as with a software-based slot game.
0023Gaming machine <b>102</b> may also include devices for conducting a wager-based game. For example, gaming machine <b>102</b> may include a ticket acceptor <b>116</b> and a printer <b>120</b>. In various embodiments, gaming machine <b>102</b> may be configured to run on credits that may be redeemed for money and/or other forms of prizes. Ticket acceptor <b>116</b> may read an inserted ticket having one or more credits usable to play a game on gaming machine <b>102</b>. For example, a player of gaming machine <b>102</b> may wager one or more credits within a video slot game. If the player loses, the wagered amount may be deducted from the player's remaining balance on gaming machine <b>102</b>. However, if the player wins, the player's balance may be increased by the amount won. Any remaining credit balance on gaming machine <b>102</b> may be converted into a ticket via printer <b>120</b>. For example, a player of gaming machine <b>102</b> may cash out of the machine by selecting to print a ticket via printer <b>120</b>. The ticket may then be used to play other gaming machines or redeemed for cash and/or prizes. According to various embodiments, gaming machine <b>102</b> may record data regarding its receipt and/or disbursement of credits. For example, gaming machine <b>102</b> may generate accounting data whenever a result of a wager-based game is determined. In some embodiments, gaming machine <b>102</b> may provide accounting data to a remote data collection device, allowing the remote monitoring of gaming machine <b>102</b>.
0024In one embodiment, gaming machine <b>102</b> may include a loyalty card acceptor <b>130</b>. In general, a loyalty card may be tied to a user's loyalty account. A loyalty account may store various information about the user, such as the user's identity, the user's gaming preferences, the user's gaming habits (e.g., which games the user plays, how long the user plays, etc.), or similar information about the user. A loyalty account may also be used to reward a user for playing gaming machine <b>102</b>. For example, a user having a loyalty account may be given a bonus turn on gaming machine <b>102</b> or credited loyalty points for playing gaming machine <b>102</b>. Such loyalty points may be exchanged for loyalty rewards (e.g., a free meal, a free hotel stay, free room upgrade, discounts, etc.).
0025Referring now to <figref idref="DRAWINGS">FIG. 2</figref>, an illustration of a remote gaming system <b>200</b> is shown, according to an exemplary embodiment. Remote gaming system <b>200</b> is configured to allow the remote control of a gaming machine, such as gaming machine <b>102</b> shown in <figref idref="DRAWINGS">FIG. 1</figref>, from outside of a gaming environment by a client device <b>202</b>. The gaming environment may be, for example, a casino, a racetrack, a hotel, another form of gaming environment, or a portion thereof (e.g., a casino floor, a gaming room of a racetrack, etc.). Remote gaming system <b>200</b> may be configured such that the user of client device <b>202</b> is able to issue the same or substantially the same commands to gaming machine <b>102</b> as the player would be able to if physically operating gaming machine <b>102</b>.
0026Client device <b>202</b> may be any form of consumer electronic device configured to communicate via a external network <b>204</b>. For example, client device <b>202</b> may be, but is not limited to, a laptop or desktop computer, a tablet device, an e-reader, a smartphone, a video game console, combinations thereof, or the like. Client device <b>202</b> may include one or more processors and one or more memories connected thereto that store instructions that are executed by the one or more processors. Exemplary forms of processors include microprocessors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), and combinations thereof. Exemplary memory devices may include, but are not limited to, electronic, optical, magnetic, or any other storage or transmission device capable of providing a processor with stored machine instructions. In some implementations, client device <b>202</b> may execute a stored web browser application to access gaming machine <b>102</b>. For example, access to gaming machine <b>102</b> may be allowed through a web-based application, such as a Flash application or via streaming video. In further implementations, client device <b>202</b> may execute a stand-alone application to access gaming machine <b>102</b> (e.g., an application specifically configured to communicate with electronic devices associated with the gaming environment).
0027External network <b>204</b> may be any form of communication network that conveys data between client device <b>202</b> and a remote access service <b>206</b>. External network <b>204</b> may include any number wired or wireless connections, in various embodiments. For example, client device <b>202</b> may communicate with remote access service <b>206</b> over a wired connection that includes a serial cable, a fiber optic cable, a CAT5 cable, or any other form of wired connection. In another example, client device <b>102</b> may communicate with remote access service <b>206</b> via a wireless connection (e.g., via WiFi, cellular, radio, etc.). External network <b>204</b> may also include any number of local area networks (LANs), wide area networks (WANs), or networking devices that form the Internet. Accordingly, external network <b>204</b> may include any number of intermediary networking devices, such as routers, switches, servers, etc.
0028According to various embodiments, remote access service <b>206</b> is configured to provide a bridge between external network <b>204</b> and electronic devices connected to an internal network <b>208</b>. Internal network <b>208</b> may be located within the gaming environment and may be isolated from external network <b>204</b>. For example, gaming machine <b>102</b> may be able to directly communicate with any device located on internal network <b>208</b>, but may be prevented from accessing the Internet or other devices outside of the gaming environment. Similar to external network <b>204</b>, internal network <b>208</b> may include any number of networking devices, such as switches, servers, routers, or the like. Internal network <b>208</b> may also include any number of wireless and/or hardwired connections between its devices. In various embodiments, internal network <b>208</b> and the devices connected thereto are configured to utilize a networking protocol specifically developed for use in a gaming environment. In one embodiment, the networking protocol may be the Game to System (G2S) protocol and/or System to System (S2S) protocol promulgated by the Gaming Standards Association. For example, gaming machine <b>102</b> may communicate with a gameplay service <b>210</b> on internal network <b>208</b> using the G2S protocol. In another embodiment, some or all of the devices on internal network <b>208</b> may utilize the Slot Accounting System (SAS) protocol developed by IGT. In further embodiments, internal network <b>208</b> may include protocol converters configured to translate data from one protocol into another. For example, a G2S<->SAS converter may convert a G2S message from gameplay service <b>210</b> into an SAS message for use by gaming machine <b>102</b> and vice-versa. The devices connected to internal network <b>208</b> may also utilize a higher level communication protocol, such as the Streaming Text Oriented Protocol (STOMP), in conjunction with a gaming protocol, such as G2S. For example, gameplay service <b>210</b> or another device on internal network <b>208</b> may execute a STOMP message broker that sends STOMP messages between gameplay service <b>210</b> and gaming machine <b>102</b>. Such a message may be interpreted by gaming machine <b>102</b> as a remote command and, in response, perform the corresponding operation (e.g., increase or decrease a wagered amount, initiate a round of gameplay, etc.).
0029Remote access service <b>206</b> may be configured to employ any number of security measures to prevent malicious access to the devices on internal network <b>208</b>. In some embodiments, remote access service <b>206</b> may be configured to screen incoming data from external network <b>204</b> for Trojans, viruses, root kits, or other forms of malicious software. Remote access service <b>206</b> may store and verify login credentials from client device <b>202</b> before allowing client device <b>202</b> to access a device on internal network <b>208</b> (e.g., a user name, password or passphrase, etc.). In some cases, remote access service <b>206</b> may also require a PIN or other identifier sent to a different device than client device <b>202</b>. For example, remote access service <b>206</b> may require a PIN sent as a text message to a user's phone in addition to a user name and password, before allowing access to internal network <b>208</b>. Communications between remote access service <b>206</b> and any device on external network <b>204</b> may also be encrypted, in some embodiments.
0030Remote gaming system <b>200</b> may include a gameplay service <b>210</b> configured to issue commands to gaming machines connected to internal network <b>208</b>, such as gaming machine <b>102</b>. In various embodiments, gameplay service <b>210</b> relays and/or converts gaming machine commands from remote access service <b>206</b> to gaming machine <b>102</b>. In other words, gameplay service <b>210</b> may itself act as a bridge between remote access service <b>206</b> and gaming machine <b>102</b>, thereby creating a second layer of security before gaming machine <b>102</b> is remotely controlled. Gameplay service <b>210</b> may also utilize some or all of the security measures implemented by remote access service <b>206</b>. For example, a player operating client device <b>102</b> may issue a command to remote access service <b>206</b>, remote access service <b>206</b> may validate the command and forward it to gameplay service <b>210</b>, and gameplay service <b>210</b> may perform its own validation on the command before issuing the command to gaming device <b>102</b>.
0031Commands issued by gameplay service <b>210</b> to gaming machine <b>102</b> may cause gaming machine <b>102</b> to perform some or all of the operations that gaming machine <b>102</b> would perform in response to input from a player physically present at gaming machine <b>102</b>. For example, a gaming command issued by gameplay service <b>210</b> may cause gaming machine <b>102</b> to increase or decrease a wagered amount, begin a round of gameplay (e.g., by spinning reels, dealing cards, etc.), cash out of the machine, and so on. In some embodiments, gaming machine <b>102</b> may be configured, via installed software, to receive and perform remote commands from gameplay service <b>210</b>. In further embodiments, gaming machine <b>102</b> may be outfitted with a hardware-based converter that converts commands from gameplay service <b>210</b> into signals that mimic input devices of gaming machine <b>102</b> (e.g., a signal from a “spin” button, a signal from a button to increase or decrease a wager, etc.).
0032In some embodiments, gameplay service <b>210</b> may determine which gaming machines on internal network <b>208</b> are available for remote play. For example, gameplay service <b>210</b> may poll gaming machine <b>102</b> as to whether or not gaming machine <b>102</b> is currently in use by a remote user and/or a player physically operating gaming machine <b>102</b>. Gameplay service <b>210</b> may provide a listing of gaming machines available for remote play to client device <b>202</b>. For example, the user of client device <b>202</b> may be able to select which gaming machine located on internal network <b>208</b> he or she wishes to play. In some embodiments, gaming machine <b>102</b> may provide an indication to a local user that the machine is currently in use by a remote user. For example, gaming machine <b>102</b> may display an “in use” screen while client device <b>202</b> is remotely playing gaming machine <b>102</b>. In other embodiments, gaming machine <b>102</b> may be configured to allow remote and local gameplay in parallel.
0033In addition to issuing gaming commands to gaming machine <b>102</b>, gameplay service <b>210</b> may also receive indications of gameplay results from gaming machine <b>102</b>. For example, gameplay service <b>210</b> may receive a screen capture of a display of gaming machine <b>102</b>, a video stream of a display of gaming machine <b>102</b>, audio data from gaming machine <b>102</b>, or any other indication of gameplay results (e.g., which symbols appeared on slot reels, which cards were drawn, etc.). In response, gameplay service <b>210</b> may relay the data to client device <b>202</b> via remote access service <b>206</b>, thereby allowing the remote player to see the results of the gameplay and/or the gameplay in action (e.g., in real time, in near real-time, etc.).
0034Remote gaming system <b>200</b> may include a loyalty account service <b>212</b> that communicates with other devices in the gaming environment via internal network <b>208</b>. Loyalty account service <b>212</b> may store account information for a remote player, such as the player operating client device <b>202</b>. Exemplary account information may include, but is not limited to, information regarding the name of the player, the address of the player, the age or date of birth of the player (e.g., to prevent minors or other prohibited people from remotely playing a game), or contact information (e.g., one or more telephone numbers, an email address, etc.). Loyalty account service <b>212</b> may also store login information, such as the player's username and password. In various embodiments, loyalty account service <b>212</b>, remote access service <b>206</b>, or both working in conjunction, may validate an attempted login from a remote device.
0035In some embodiments, loyalty account service <b>212</b> may receive information regarding a player's gaming actions from gameplay service <b>210</b> or from gaming machine <b>102</b> itself. For example, loyalty account service <b>212</b> may receive information regarding the types of games the player plays, the amount the player wagers (e.g., in a given round of gameplay, on a per game basis, etc.), the results of a bonus round, and other such information. Loyalty account service <b>212</b> may award loyalty points or other rewards to a player's account based on the information received from gameplay service <b>210</b> or gaming machine <b>102</b>. For example, a player may be awarded loyalty points that can be redeemed for prizes, meals, entertainment tickets, free game plays, etc. In one embodiment, loyalty account service <b>212</b> may analyze data regarding a player's gameplay history to determine a player's most likely preferences. For example, loyalty account service <b>212</b> may analyze the games most frequently played by the player to identify the player's favorite games or types of games.
0036Loyalty account service <b>212</b> may also store and associate financial information with a player's loyalty account. Financial information may be, but is not limited to, credit or debit card information, bank account information (e.g., a bank routing number, an account number, etc.), account information for Paypal, or the like. In general, the financial information associated with a player's loyalty account may be used by loyalty account service <b>212</b> to withdraw funds from the account for use in a wager-based game and/or to deposit any outstanding gaming funds into an account. As shown, loyalty account service <b>212</b> may communicate with a financial service <b>214</b> to add or subtract funds from an account. For example, loyalty account service <b>212</b> may initiate an electronic banking transaction with financial service <b>214</b> to withdraw funds from a player's bank account and credit the player's loyalty account with a corresponding amount of game credits. Similarly, loyalty account service <b>212</b> may initiate a funds transfer to add funds to a player's financial account when the player is finished playing the remote game, either automatically or in response to a request to do so from the user, in various embodiments. In some embodiments, any financial information stored by loyalty account service <b>212</b> may be hidden from view by the player operating client device <b>202</b>. For example, the player may only be able to see the last four digits of his or her credit card when remotely accessing his or her loyalty account, thereby adding another layer of security to the player's financial information.
0037According to various embodiments, gameplay service <b>210</b>, remote access service <b>206</b>, and loyalty account service <b>212</b> may be implemented using one or more computing devices. Such a computing device includes one or more processors and one or more memories in communication with a processor. The memories store machine instructions that, when executed by the one or more processors, cause the computing device to perform the functions of gameplay service <b>210</b>, remote access service <b>206</b>, and/or loyalty account service <b>212</b>. In some cases, multiple computing devices may be used to implement a service. For example, a group of computer servers in a datacenter may work together to implement one of services <b>206</b>, <b>210</b>, and <b>212</b>. In further cases, the same computing device may implement two or more of remote access service <b>206</b>, gameplay service <b>210</b>, and loyalty account service <b>212</b>. For example, the same server or set of servers may provide both gameplay service <b>210</b> and loyalty account service <b>212</b>.
0038Referring now to <figref idref="DRAWINGS">FIG. 3</figref>, an illustration of a user interface <b>300</b> for a remote gaming system is shown, according to one embodiment. As shown, user interface <b>300</b> may be provided to an electronic display <b>302</b> of a client device. In various embodiments, user interface <b>300</b> may be a webpage provided to the client device by the remote gaming system, a screen of a web-enabled application (e.g., a Flash application, an HTML5 application, etc.) provided to the client device, a thin-client executed by the client device, or a screen of a stand-alone application specifically configured to access a remote gaming environment. User interface <b>300</b> may generally provide an interface between the client device and one or more gaming machines located in the gaming environment. According to one embodiment, user interface <b>300</b> may be provided by, or communicate with, a remote access service of the gaming environment that provides a bridge between an external network and a network internal to the gaming environment. For example, the remote access service may communicate with the client device via the Internet and with other devices located within the gaming environment via a LAN.
0039User interface <b>300</b> may include an area <b>304</b> in which available gaming machines are listed. In one embodiment, the gaming machines are physical gaming machines located within the gaming environment. For each available gaming machine, the games available at that machine may also be displayed on user interface <b>300</b>. For example, an indication <b>306</b> may be displayed that indicates that a video blackjack game is available for play at a first gaming machine. Similarly, an indication <b>308</b> may be displayed that indicates that a choice of games is available at a second gaming machine. For example, the gaming machine may allow a player to select one of twenty games available for play. Selection of indication <b>308</b> (e.g., by a mouse, pointing device, touch screen, etc.) may cause a listing of the available games to be displayed. Any number of different gaming machines may be indicated in area <b>304</b> (e.g., a first through nth gaming machine) based on the player's access privileges, whether a particular machine is in use by another, or other factors. In other embodiments, user interface <b>300</b> may not provide any indication of the player operating a physical gaming machine (e.g., a “real” gaming machine located in a gaming environment) or may not provide an indication of which gaming machines are available for remote play.
0040In some embodiments, the gaming machines listed in area <b>304</b> may be sorted, visually emphasized (e.g., by increasing the size of a font, using a different coloration or highlighting, etc.), visually deemphasized (e.g., by decreasing the size of a font, using a different coloration, etc.), or the like, based on a player's previous gameplay activity. For example, gaming machines having games or types of games that the player has played the most or most frequently may appear first in area <b>304</b>. Other factors that may be used to determine how gaming machines are presented in area <b>304</b> include, but are not limited to, the most recently used games by the player, the games in which the player has wagered the most, games that are similar to those played by the player, and the like. A time window may also be used, in one embodiment, to phase out the effects of older games. For example, assume that a player heavily played a particular game but eventually lost interest in it. In such a case, the weighting given to that game may be decreased over time.
0041On selection of an available gaming machine, user interface <b>300</b> may present a representation of the gaming machine in screen area <b>310</b>. According to various embodiments, screen area <b>310</b> may include some or all of the graphic displays of the corresponding physical gaming machine. For example, assume that the player operating user interface <b>300</b> has selected gaming machine <b>102</b> shown in <figref idref="DRAWINGS">FIG. 1</figref>. In such a case, screen area <b>310</b> may include a first portion <b>312</b> which corresponds to display <b>110</b> of gaming machine <b>102</b> and a second portion <b>314</b> which corresponds to display <b>122</b> of gaming machine <b>102</b>. Gaming machine <b>102</b> may then communicate the screens that would be presented on displays <b>110</b>, <b>122</b> to user interface <b>300</b>. For example, gaming machine <b>102</b> may send the display data to a gameplay service on a LAN at the gaming environment using a gaming protocol. In response, the gameplay service may forward the display data to a remote access service for transmittal to user interface <b>300</b> via the Internet. In a similar manner, audio data from the gaming machine may be provided from the gaming machine to the client device displaying user interface <b>300</b> for play be one or more speakers of the client device.
0042Screen area <b>310</b> may also, in some embodiments, include inputs <b>316</b> which correspond to inputs <b>134</b> of the physical gaming machine <b>102</b>. Inputs <b>316</b> may be, but are not limited to, inputs that increase or decrease a wagered amount, initiate a round of gameplay (e.g., by causing slot reels to spin, by causing cards to be dealt, etc.), begin a bonus round of play, or ask for help from an attendant. When the player is finished playing the selected gaming machine, he or she may select an input button <b>330</b> on user interface <b>300</b> to cash out of the current gaming machine. In other embodiments, button <b>330</b> may be included in inputs <b>316</b> and representative of a physical cashout button on the gaming machine.
0043According to alternative embodiments, screen area <b>310</b> may be populated using a normal online gaming interface. For example, assume that a slot game is available on a physical gaming machine but also has a corresponding online game. In such a case, screen area <b>310</b> may utilize the interface of the online game instead of providing a direct feed of the physical gaming machine's display to screen area <b>310</b>. Different graphics may also be used in screen area <b>310</b> than on the physical gaming machine, in some cases. For example, displays <b>110</b>, <b>122</b> of physical gaming machine <b>102</b> may be high definition displays, while the display of the client device may be a low definition display. In such a case, lower definition graphics may be provided instead to screen area <b>310</b> on the client device.
0044User interface <b>300</b> may also include an area <b>318</b> for loyalty account information. For example, area <b>318</b> may include an indication <b>320</b> of the player's name or an indication <b>322</b> of the number of loyalty points accrued by the player. Other exemplary forms of account information that may be displayed via user interface <b>300</b> may include data regarding the player's contact information or preferences. In some cases, the player's financial information (e.g., credit cards, bank accounts, etc. tied to the player's loyalty account) may be partially displayed, such as a partially concealed credit card or bank account number.
0045User interface <b>300</b> may include an indication <b>334</b> of the player's available gaming credits, which may be used in a wager-based gamine via one of the gaming machines listed in area <b>304</b>. For example, the player may have 45 available credits, which correspond to $45 U.S. dollars. The number of available credits to a player may be increased or decreased by any of the following: the player converting funds from a financial account (e.g., bank account, credit card, etc.) into gaming credits, the player converting some or all of the gaming credits back into funds to be deposited into a financial account, the player placing a wager in a game, or the player winning an amount in a game. In some embodiments, user interface <b>300</b> includes input field <b>324</b>, which is configured to allow the player to explicitly convert funds from a linked financial account into gaming credits. Similarly, user interface <b>300</b> may include input <b>326</b> which is configured to allow the player to convert gaming credits into funds to be transferred to a linked financial account. For example, selection of input <b>324</b> may cause a specified amount of funds to be withdrawn from a player's bank account in exchange for gaming credits. In some embodiments, the remote gaming system may automatically convert gaming credits into funds, without first selecting input <b>326</b>. In one embodiment, the system may automatically add funds to a player's bank account, debit account, etc., in response to the player selecting button <b>330</b> to cash out of a particular gaming machine. In another embodiment, the system may automatically convert any remaining gaming credits back into funds in response to the player selecting a casino logout button <b>332</b>. Casino logout button <b>332</b> is configured to cause user interface <b>300</b> to disconnect from the remote access service of the gaming environment.
0046While user interface <b>300</b> is depicted in <figref idref="DRAWINGS">FIG. 3</figref> as a single screen, the screen areas indicia, and inputs of user interface <b>300</b> may be implemented using any number of different screens, menus, and windows, according to other embodiments. For example, inputs <b>324</b>, <b>326</b> may be part of a separate menu or window devoted to the management of the player's funds. In another example, screen area <b>304</b> may be part of a separate screen that lists the gaming machines available to the player. In a further example, screen area <b>318</b> may be part of a separate window or screen devoted to the player's loyalty account.
0047Referring now to <figref idref="DRAWINGS">FIG. 4</figref>, a flow diagram of a process <b>400</b> for remotely controlling a gaming machine, according to an exemplary embodiment. Process <b>400</b> may be implemented using one or more computing devices, such as those of remote access service <b>206</b>, gameplay service <b>210</b>, and loyalty account service <b>212</b> shown in <figref idref="DRAWINGS">FIG. 2</figref>. In general, process <b>400</b> allows a physical gaming machine located in a gaming environment (e.g., a casino, a racetrack, etc.) to be controlled remotely by a player via the Internet.
0048Process <b>400</b> includes validating account login data received from a client device via an external network (step <b>402</b>). Account login data may include, but is not limited to, a screen name, a password or pass phrase, an answer to a security question, a PIN, or the like. The account login data may be validated by matching the received login data to stored account data for a player's account. For example, the provided screen name and password may be matched to that of a player's loyalty account. In various embodiments, the external network may be the Internet or another outward facing network from the perspective of the gaming environment. In other words, the client device may be located anywhere in the world in some cases. In one embodiment, the login data may further be validated to restrict remote logins from certain locations. For example, login data may be denied from certain countries entirely if the local laws of those countries prohibit wager-based gaming or present a security risk. The location of the client device may be included in the login data explicitly by a user, determined automatically by the client device (e.g., using geopositioning or the like), or may be determined based on a network address of the client device, such as an IP address.
0049Process <b>400</b> includes providing an indication of a physical gaming machine available for play (step <b>404</b>). Once the received login data has been validated, an indication of a gaming machine available for play in the gaming environment may be provided to the client device. In some cases, a gameplay service may poll gaming machines located in the gaming environment to determine whether a particular gaming machine is in use (e.g., by a remote player or a player in the same location as the gaming machine). The gaming machines may be polled periodically or in response to a request for available gaming machines received from the client device. For example, a player may operate a user interface of the client device to request a listing of all available gaming machines or a subset of available gaming machines based on any number of specified filters (e.g., the types of games available for play, minimum or maximum wager amounts, etc.). In some embodiments, the indication of the available gaming machine may be configured to emphasize or deemphasize the gaming machine based on a history of gameplay associated with the player's account.
0050Process <b>400</b> includes receiving a selection of the gaming machine (step <b>406</b>). The selection of the gaming machine may be received either directly or indirectly, according to various embodiments. In one example, assume that a graphical user interface presented to the player at the client device includes an indication that the gaming machine is available for play. In response to the player selecting the gaming machine to initiate gameplay, the client device may provide the selection to a remote access service of the gaming environment which then forwards the selection to a gameplay service and/or to the selected gaming machine.
0051Process <b>400</b> includes converting a received control command into a gaming protocol format (step <b>408</b>). While a physical gaming machine is in use by a client device, the remote device may communicate control commands to a remote access service of the gaming environment. For security reasons, the gaming machine may itself be on an internal network that is isolated from the Internet or other external networks. In many gaming environments, such an internal network may utilize a communications protocol that is specifically designed for gaming machines, such as the G2S protocol. A command received from the client device may be converted into the format for a gaming protocol and forwarded to the gaming machine. In some embodiments, a higher level messaging protocol, such as STOMP, may be used on top of the gaming protocol to communicate the command to the gaming machine.
0052Process <b>400</b> includes sending the control command to the gaming machine via an internal network (step <b>410</b>). As noted previously, devices on the internal network may be communicatively isolated from a network outside of the gaming environment, such as the Internet. Such an internal network may also utilize a gaming protocol that differs from standard Internet protocols and is designed specifically for communicating with gaming machines. After conversion of a remote command received from the client device into a gaming protocol, the converted control command may then be forwarded to the gaming machine via the internal network. In response to receiving the command, the gaming machine may perform the corresponding operation (e.g., increasing or decreasing a wagered amount, initiating a new round of gameplay, etc.). According to various embodiments, remote commands may be implemented to perform some or all of the same operations available to a player that is physically playing the gaming machine.
0053Process <b>400</b> includes relaying display data from the gaming machine to the client device (step <b>412</b>). In cases in which the gaming machine is located on an internal network that differs from the external network on which the client device communicates, the display data from the gaming machine may be relayed to the client device via a remote access service that acts as a bridge between the internal and external networks. The display data may include real-time video data, screen captures taken periodically, or display data sent to a thin client on the gaming machine. During remote gameplay, the gaming machine may display the same display data sent to the client device or may display a screen indicating that the gaming machine is currently in use by a remote user. In some embodiments, the display data may be converted from a gaming protocol used in the internal network into another protocol used in the external network. Audio data may also be communicated from the gaming machine to the client device in a similar manner, in some implementations.
0054Referring now to <figref idref="DRAWINGS">FIG. 5</figref>, a gaming system <b>500</b> is shown which is configured to allow an in-person user of gaming machine <b>102</b> (e.g., a user that physically operates a gaming machine located on the floor of a gaming environment, such as a casino) to use gaming machine <b>102</b> simultaneously with one or more remote users of gaming machine <b>102</b> (e.g., one or more other users that operate the gaming machine remotely via other computing devices). Any number of remote players may be allowed to play gaming machine <b>102</b> simultaneously with an in-person player. For example, gaming machine <b>102</b> may allow fifty, one hundred, two hundred, or any other number of remote players to access gaming machine <b>102</b> simultaneously. The number of allowed remote players may be specific to each gaming machine or may be uniform across the entire gaming environment. For example, different gaming machines may support different numbers of remote players based on the hardware configurations of the gaming machines (e.g., an older model gaming machine may support fewer remote players than a newer model gaming machine).
0055As shown, gaming system <b>500</b> may include many of the same computing devices and networking infrastructure as in gaming system <b>200</b>. For example, gaming system <b>500</b> may include an external network <b>204</b> (e.g., the Internet or other network external to the gaming environment) and an internal network <b>208</b> (e.g., a LAN) which transmit data between computing devices. Gaming system <b>500</b> may also include remote access service <b>206</b> which is configured to provide a bridge between external network <b>204</b> and internal network <b>208</b>. Gaming system <b>500</b> may further include gameplay service <b>210</b> which is configured to issue commands to gaming machines on internal network <b>208</b>, such as gaming machine <b>102</b>. For example, gameplay service <b>210</b> may issue gaming commands to gaming machine <b>102</b> on behalf of a remote player (e.g., a command to initiate a round of gameplay, a command to increase or decrease a wager, etc.). Gaming system <b>500</b> may also include loyalty account service <b>212</b> which is configured to store account information for remote and in-person players. In some implementations, loyalty account service <b>212</b> may access one or more financial services <b>214</b> to convert funds in a player's financial account into gaming credits or vice-versa.
0056In some embodiments of gaming system <b>500</b>, remote access service <b>206</b> and/or gameplay service <b>210</b> is configured to assign device identifiers to gaming machines located in the gaming environment, such as gaming machine <b>102</b>. For example, gameplay service <b>210</b> may assign a device identifier to gaming machine <b>102</b> that uniquely identifies gaming machine <b>102</b> on internal network <b>208</b>. Remote access service <b>206</b> and/or gameplay service <b>210</b> may also be configured to assign session identifiers to a particular gaming machine. The session identifiers may be reserved for either an in-person player or a remote player, respectively. For example, session ID #<b>0</b> for gaming machine <b>102</b> may always be assigned to the game being played by an in-person player. A maximum number of session identifiers may also be used to limit the number of remote players of a gaming machine. For example, any of session IDs <b>1</b>-<b>99</b> for gaming machine <b>102</b> may be assigned to a remote player (e.g., gaming machine <b>102</b> supports up to one hundred players: an in-person player and up to ninety nine remote players).
0057Gaming system <b>500</b> may include client devices <b>502</b>-<b>504</b> (e.g., a first through nth client device) which are operated by remote players of the gaming machines within the gaming environment. Each remote player may have log in credentials validated by remote access service <b>102</b> before remote access service <b>206</b> allows data from any of client devices <b>502</b>-<b>504</b> to be relayed to the devices on internal network <b>208</b>. Login credentials provided by the remote players may also be associated with loyalty accounts managed by loyalty account service <b>212</b>.
0058In some embodiments, the user interface provided at any of client devices <b>502</b>-<b>504</b> may allow a remote player to select either the game or the gaming machine that he or she wishes to play remotely. For example, the user of client device <b>502</b> may specify via a user interface such as interface <b>300</b> shown in <figref idref="DRAWINGS">FIG. 3</figref> that she wishes to access gaming machine <b>102</b>. In further embodiments, gameplay service <b>210</b> is configured to assign a remote user to a gaming machine that supports a game selected by the user. For example, the user of client device <b>502</b> may specify that he wishes to play the slot game, “Lucky Slots.” In such a case, gameplay service <b>210</b> may first determine whether any of the gaming machines in the gaming environment have the game available for remote play. For example, gameplay service <b>210</b> may determine whether “Lucky Slots” is available for remote play on gaming machine <b>102</b> and, if so, whether gaming machine <b>102</b> currently has any unused session identifiers. If gaming machine <b>102</b> has an unused session identifier available for a remote player, gameplay service <b>210</b> may establish a remote connection between client device <b>502</b> and gaming machine <b>102</b>. Session identifiers for a gaming machine that are not currently in use may be maintained by gameplay service <b>210</b> or by the gaming machine itself and reported back to gameplay service <b>210</b>. For example, gaming machine <b>102</b> may periodically report unused and available session identifiers to gameplay service or may do so in response to a request for this information from gameplay service <b>210</b>.
0059Gameplay service <b>210</b> may be configured to perform load balancing, in one embodiment. In general, load balancing allows the number of remote players to be spread out amongst the available gaming machines. For example, assume that gaming machine <b>102</b> and two other gaming machines in the gaming environment all have the same game available for play. Rather than allocating ninety nine remote players to gaming machine <b>102</b>, gameplay service <b>210</b> may allocate thirty three remote players to each of the three gaming machines. In one embodiment, gameplay service <b>210</b> may be configured to detect faults at a gaming machine and transfer the session states for the gaming machine to one or more other gaming machines. For example, if gaming machine <b>102</b> experiences a hardware fault, gameplay service <b>210</b> may transfer any remote sessions to one or more other gaming machines located in the gaming environment.
0060Gameplay service <b>210</b> may receive and communicate messages with gaming machines on a per session identifier basis or on a per gaming machine basis. For example, gaming machine <b>102</b> may communicate the results of a round of gameplay for session ID #<b>3</b> to gameplay service <b>210</b> when the results are generated or may wait to bundle the communicated results with those of session IDs #<b>1</b>-<b>2</b>. In general, unbundled communications for each device and session identifier provide for a faster user experience, since a player may be required to wait for all other users of the gaming machine to complete a transaction before receiving the results.
0061An in-person player of gaming machine <b>102</b> may or may not be aware that gaming machine <b>102</b> is also being used by one or more remote users at the same time. In some cases, gaming machine <b>102</b> may be configured to execute entirely separate copies of a game for each session identifier (e.g., for the in-person player and the one or more remote players). In other cases, gaming machine <b>102</b> may be configured to share a game application across different session identifiers. For example, gaming machine <b>102</b> may pass gaming commands received from gameplay service <b>210</b> for any number of session identifiers to a game application that determines game results for the different session identifiers. In one embodiment, gaming machine <b>102</b> may be configured to allow two or more players of gaming machine <b>102</b> to collaborate (e.g., to achieve some in-game objective). For example, an in-person player and a remote player that are playing gaming machine <b>102</b> simultaneously may collaborate in the same game to reach a bonus round during gameplay.
0062Referring now to <figref idref="DRAWINGS">FIG. 6</figref>, a flow diagram of a process <b>600</b> for executing in-person and remote games simultaneously on a gaming machine is shown, according to various embodiments. Process <b>600</b> may be implemented by one or more computing devices in a gaming environment. For example, process <b>600</b> may be implemented within gaming system <b>500</b> shown in <figref idref="DRAWINGS">FIG. 5</figref>. In general, process <b>600</b> allows an in-person player to physically operate a gaming machine while simultaneously allowing any number of remote players to also operate the gaming machine.
0063Process <b>600</b> includes assigning a machine identifier to a gaming machine (step <b>602</b>). A machine identifier for a gaming machine may be any form of identifier that uniquely identifies the gaming machine within a gaming environment. Example machine identifiers include, but are not limited to, network addresses, hardware identifiers (e.g., MAC addresses or the like), identifiers generated using hardware or software serials (e.g., a product code for an operating system, a hashed value of several hardware serials, etc.), an assigned name, a location in a gaming environment, identifiers specified by a gaming service, or other such identifiers. In general, a machine identifier allows a gameplay or remote access service to create a connection between a client device and a particular gaming machine located in the gaming environment. A machine identifier may be associated with a set of one or more games available for play at a gaming machine. For example, a machine identifier may be associated with the games, “Lucky Slots,” “Pirate's Crazy Blackjack,” and “Lucky 7s Jackpot.”
0064Process <b>600</b> includes assigning an in-person session identifier to the gaming machine (step <b>604</b>). In one embodiment, a single session identifier may be assigned to a gaming machine to represent the session of an in-person player of the gaming machine. For example, the in-person player may be assigned a session ID of <b>0</b>. In some cases, the in-person session identifier is used internally by the gaming machine to distinguish the game played by the in-person player from those of any remote players. For example, a game executed by the gaming machine may determine the results of a round of gameplay for session ID <b>0</b> in response to the in-person player selecting a “spin” button of the gaming machine. In some embodiments, a game application may have different functionality when an in-person session identifier is used. For example, a game application may generate additional graphics for display when an in-person session identifier is used. In other embodiments, the functionality of the game application may not differ based on the type of session identifier used.
0065Process <b>600</b> includes assigning one or more remote session identifiers to the gaming machine (step <b>606</b>). Similar to the in-person session identifier, a remote session identifier may be assigned to a specific player's account that is operating the gaming machine remotely. According to various embodiments, a maximum number of remote session identifiers for a gaming machine may be imposed by the gaming machine itself and/or by the gameplay service that sends remote commands to the gaming machine. For example, a gaming machine may have one allocated in-person session identifier for use by an in-person player and ninety nine allocated remote session identifiers for use by a remote player. In some implementations, the number of remote session identifiers available for use may be maintained by the gaming machine itself or by a gameplay service that provides remote commands to the gaming machine. For example, a gaming machine may report to a gameplay service that remote session IDs <b>1</b>-<b>5</b> are currently in use, but that remote session IDs <b>6</b>-<b>99</b> are available for use by remote players. The gameplay service may use the availability information to assign remote players to gaming machines. In one embodiment, the gameplay service may perform load balancing to ensure that the assignment of remote players to gaming machines is spread out amongst the machines.
0066Process <b>600</b> includes executing an in-person game and one or more remote games simultaneously on the gaming machine (step <b>608</b>). In the simplest case, an in-person player may physically operate the gaming machine simultaneously while a remote player operates the gaming machine via a remote client device. In more complicated cases, any number of remote players may access the gaming machine at the same time as a in-person player. Each player accessing the gaming machine at the same time may have a unique session identifier associated with the player, whether the player is an in-person player or a remote player. For example, session ID <b>0</b> may be assigned to the in-person player while session IDs <b>1</b>-<b>2</b> are assigned to remote players. The gaming machine may treat each active session identifier separately for purposes of gameplay. In various embodiments, the gaming machine may execute entirely separate copies of a game application for each session identifier. In other words, the remote and in-person games may be different instances of the same game or may be different games being played by the in-person and remote players. In other embodiments, the gaming machine may execute a common game program for the session identifiers, with data provided to or from the program being associated with a particular session identifier. For example, a gaming service may issue a command that is associated with a session identifier for a remote player to the game application run by the gaming machine. The in-person and remote player(s) may or may not be aware of one another, in various embodiments. For example, the in-person player may not know how many remote players are playing the gaming machine at the same time as him or her. In another example, the game program may be configured to allow the different players to interact (e.g., via a messaging utility) or to collaborate within the same type of game to achieve an in-game objective.
0067Referring now to <figref idref="DRAWINGS">FIG. 7</figref>, an illustration of a user interface <b>700</b> for a remote gaming system configured for simultaneous gameplay is shown, according to an exemplary embodiment. Similar to user interface <b>300</b> shown in <figref idref="DRAWINGS">FIG. 3</figref>, user interface <b>700</b> may be provided to a display of a client device, such as one of client devices <b>502</b>-<b>504</b> in <figref idref="DRAWINGS">FIG. 5</figref>. In one embodiment, user interface <b>700</b> may be provided to the display by a stand-alone application running on the client device. In another embodiment, user interface <b>700</b> may be provided to the client device by an access service of a gaming environment. For example, user interface <b>700</b> may be a Flash application, HTML 5 application, streaming video, or the like.
0068User interface <b>700</b> may include many of the same functions and indicia as user interface <b>300</b>. For example, user interface <b>700</b> may include screen area <b>318</b> in which user loyalty information is presented, such as an indication <b>320</b> of the player's name or an indication <b>322</b> of the number of loyalty points in the user's account. User interface <b>700</b> may also include an indication <b>334</b> of the number of gaming credits available to the player. In terms of functions, user interface <b>700</b> may include inputs <b>324</b> and <b>326</b> configured to convert funds from a financial institution into gaming credits or vice-versa, respectively. Similarly, user interface <b>700</b> may include input <b>330</b> to cash out of the current game being played remotely or input <b>332</b> to log out of the gaming environment completely.
0069In some embodiments, user interface <b>700</b> may include a screen area <b>702</b> in which available games are presented. For example, games <b>704</b>-<b>706</b> (e.g., a first through nth game) may be presented in area <b>702</b> of user interface <b>700</b>. As shown, assume that the user of user interface <b>700</b> has selected game <b>704</b>, e.g., the game “Lucky Slots.” In response to this selection, the gameplay service in communication with user interface <b>700</b> may match the client device with a gaming machine at which the selected game is available for play. In one embodiment, the gameplay service may query gaming machines or otherwise maintain a current listing of games available for play at the gaming machines in the gaming environment as well as the current use of the gaming machines by players. If the selected game is available from a gaming machine (e.g., as identified by a unique machine identifier) that has an available session identifier, the gameplay service may provide screen area <b>708</b> to user interface <b>700</b> in which the selected game is displayed. In one embodiment, user interface <b>700</b> may include indications <b>710</b> and <b>712</b> in which the gaming machine identifier and session identifier are displayed to the user of the client device. In other embodiments, the gaming machine identifier and/or the session identifier may be hidden from the remote player.
0070Any number of inputs, graphics, etc. associated with the selected game <b>704</b> may be presented within screen area <b>708</b>. In one case, screen area <b>708</b> may include the same or similar displays and functions as shown in user interface <b>300</b> in <figref idref="DRAWINGS">FIG. 3</figref>. For example, screen area <b>708</b> may include first and second portions <b>312</b>, <b>314</b> in which the electronic displays of gaming machine <b>102</b> are reproduced. Screen area <b>708</b> may also include inputs <b>316</b> which perform various functions within the game, such as increasing a wagered amount or initiating a round of gameplay. Commands generated via selection of inputs <b>316</b> may include the machine identifier and session identifier, so that the physical gaming machine can distinguish between games being played by different players. For example, selection of one of inputs <b>316</b> by the remote player operating user interface <b>700</b> may be processed separately from selection of the corresponding physical inputs of the gaming machine by an in-person player. Thus, the remote player is still able to play the physical gaming machine located in the gaming environment simultaneously with an in-person player and/or other remote players.
0071Embodiments of the subject matter and the operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on one or more computer storage medium for execution by, or to control the operation of, data processing apparatus. Alternatively or in addition, the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. A computer storage medium can be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. Moreover, while a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially-generated propagated signal. The computer storage medium can also be, or be included in, one or more separate components or media (e.g., multiple CDs, disks, or other storage devices). Accordingly, the computer storage medium may be tangible and non-transitory.
0072The operations described in this specification can be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.
0073The term “client” or “server” include all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones, or combinations, of the foregoing. The apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). The apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them. The apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.
0074A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
0075The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
0076Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few. Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
0077To provide for interaction with a user, implementations of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube), LCD (liquid crystal display), OLED (organic light emitting diode), TFT (thin-film transistor), plasma, other flexible configuration, or any other monitor for displaying information to the user and a keyboard, a pointing device, e.g., a mouse, trackball, etc., or a touch screen, touch pad, etc., by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending webpages to a web browser on a user's client device in response to requests received from the web browser.
0078Implementations of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).
0079While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any inventions or of what may be claimed, but rather as descriptions of features specific to particular implementations of particular inventions. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
0080Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
0081Thus, particular implementations of the subject matter have been described. Other implementations are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking or parallel processing may be utilized.
Contents5
8 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| WO03028830A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| WO03041825A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| EP0655265A1 | Cites | European Patent Office (EPO) | Applicant |
| EP1610275A1 | Cites | European Patent Office (EPO) | Applicant |
| US1816617A | Cites | United States of America | Applicant |
| EP1816617A1 | Cites | European Patent Office (EPO) | Applicant |
| US2002183105A1 | Cites | United States of America | Applicant |
| US2003060268A1 | Cites | United States of America | Applicant |
| US2003064771A1 | Cites | United States of America | Applicant |
| US2003224852A1 | Cites | United States of America | Applicant |
| US2004002377A1 | Cites | United States of America | Applicant |
| WO2004034223A2 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| US2004147322A1 | Cites | United States of America | Applicant |
| US2004152509A1 | Cites | United States of America | Applicant |
| US2005033650A1 | Cites | United States of America | Search report |
| US2005233794A1 | Cites | United States of America | Applicant |
| JP2006043091A | Cites | Japan | Applicant |
| US2006143085A1 | Cites | United States of America | Applicant |
| US2006223606A1 | Cites | United States of America | Applicant |
| US2006287099A1 | Cites | United States of America | Applicant |
| US2007066381A1 | Cites | United States of America | Applicant |
| US2007082725A1 | Cites | United States of America | Search report |
| US2007083459A1 | Cites | United States of America | Search report |
| US2007191087A1 | Cites | United States of America | Search report |
| US2007232397A1 | Cites | United States of America | Applicant |
| US2008268959A1 | Cites | United States of America | Applicant |
| US2009104954A1 | Cites | United States of America | Applicant |
| US2009233705A1 | Cites | United States of America | Search report |
| US2009280890A1 | Cites | United States of America | Search report |
| US2010240435A1 | Cites | United States of America | Applicant |
| US2011045895A1 | Cites | United States of America | Applicant |
| US2011294561A1 | Cites | United States of America | Applicant |
| US2011306398A1 | Cites | United States of America | Search report |
| US2012079121A1 | Cites | United States of America | Applicant |
| WO2012125604A2 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| US2012165101A1 | Cites | United States of America | Applicant |
| US2012265637A1 | Cites | United States of America | Search report |
| US2013060623A1 | Cites | United States of America | Search report |
| US2013165204A1 | Cites | United States of America | Search report |
| US2013167005A1 | Cites | United States of America | Applicant |
| US2013210511A1 | Cites | United States of America | Applicant |
| US2014213350A1 | Cites | United States of America | Applicant |
| US2014287811A1 | Cites | United States of America | Applicant |
| US2015302692A1 | Cites | United States of America | Applicant |
| US4467424A | Cites | United States of America | Applicant |
| US5820459A | Cites | United States of America | Applicant |
| US5836817A | Cites | United States of America | Applicant |
| US5951397A | Cites | United States of America | Applicant |
| US6001016A | Cites | United States of America | Applicant |
| US6244958B1 | Cites | United States of America | Applicant |
| US6254483B1 | Cites | United States of America | Applicant |
| US6319125B1 | Cites | United States of America | Applicant |
| US6361437B1 | Cites | United States of America | Applicant |
| US6398645B1 | Cites | United States of America | Applicant |
| US6463078B1 | Cites | United States of America | Applicant |
| US6648758B2 | Cites | United States of America | Applicant |
| US6652378B2 | Cites | United States of America | Applicant |
| US6656040B1 | Cites | United States of America | Applicant |
| US6846238B2 | Cites | United States of America | Applicant |
| US6935952B2 | Cites | United States of America | Applicant |
| US6939226B1 | Cites | United States of America | Applicant |
| US6960136B2 | Cites | United States of America | Applicant |
| US7066815B2 | Cites | United States of America | Applicant |
| US7112138B2 | Cites | United States of America | Applicant |
| US7722466B2 | Cites | United States of America | Applicant |
| US7806763B2 | Cites | United States of America | Applicant |
| US7918736B2 | Cites | United States of America | Applicant |
| US8029360B2 | Cites | United States of America | Applicant |
| US8235819B2 | Cites | United States of America | Applicant |
| US8439760B2 | Cites | United States of America | Applicant |
| US8959154B2 | Cites | United States of America | Applicant |
| US8992296B2 | Cites | United States of America | Applicant |
| US9076293B2 | Cites | United States of America | Applicant |
| US9218468B1 | Cites | United States of America | Search report |
| WO9856475A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| WO9910849A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| US20020183105A1 | Cites | United States of America | Applicant |
| US20030060268A1 | Cites | United States of America | Applicant |
| US20030064771A1 | Cites | United States of America | Applicant |
| US20030224852A1 | Cites | United States of America | Applicant |
| US20040002377A1 | Cites | United States of America | Applicant |
| US20040147322A1 | Cites | United States of America | Applicant |
| US20040152509A1 | Cites | United States of America | Applicant |
| US20050033650A1 | Cites | United States of America | Search report |
| US20050233794A1 | Cites | United States of America | Applicant |
| US20060143085A1 | Cites | United States of America | Applicant |
| US20060223606A1 | Cites | United States of America | Applicant |
| US20060287099A1 | Cites | United States of America | Applicant |
| US20070066381A1 | Cites | United States of America | Applicant |
| US20070082725A1 | Cites | United States of America | Search report |
| US20070083459A1 | Cites | United States of America | Search report |
| US20070191087A1 | Cites | United States of America | Search report |
| US20070232397A1 | Cites | United States of America | Applicant |
| US20080268959A1 | Cites | United States of America | Applicant |
| US20090104954A1 | Cites | United States of America | Applicant |
| US20090233705A1 | Cites | United States of America | Search report |
| US20090280890A1 | Cites | United States of America | Search report |
| US20100240435A1 | Cites | United States of America | Applicant |
| US20110045895A1 | Cites | United States of America | Applicant |
| US20110294561A1 | Cites | United States of America | Applicant |
12 members in 4 offices
Members12
| Document | Office | Kind | |
|---|---|---|---|
| CA2844653A1 | Canada | A1 | |
| EP2779123A1 | European Patent Office (EPO) | A1 | |
| US2014274255A1 | United States of America | A1 | |
| US2014274406A1 | United States of America | A1 | |
| AU2014201186A1 | Australia | A1 | |
| US9177437B2 | United States of America | B2 | |
| US9478100B2 | United States of America | B2 | |
| US2017039804A1 | United States of America | A1 | |
| AU2014201186B2 | Australia | B2 | |
| AU2017202700A1 | Australia | A1 | |
| US10198902B2This record | United States of America | B2 | |
| CA2844653C | Canada | C |
60 transactions on the USPTO file
Allowed after 2 non-final rejections, 1 final rejection and 1 RCE.
- Non-final rejections
- 2
- Final rejections
- 1
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Payment of Maintenance Fee, 4th Year, Large EntityM1551 | M1551 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Interview Request CorrectionINCOR | INCOR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic request for Examiner InterviewM865E | M865E | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Interview Request CorrectionINCOR | INCOR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Electronic request for Examiner InterviewM865E | M865E | |
| Interview Request CorrectionINCOR | INCOR | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic request for Examiner InterviewM865E | M865E | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Email NotificationEML_NTR | EML_NTR | |
| Application ready for PDX access by participating foreign officesCCRDY | CCRDY | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Email NotificationEML_NTR | EML_NTR | |
| Application Is Now CompleteCOMP | COMP | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Sent to Classification ContractorPGPC | PGPC | |
| FITF set to NO - revise initial settingFTFI | FTFI | |
| Cleared by OIPE CSRL194 | L194 | |
| Patent Term Adjustment - Ready for ExaminationPTA.RFE | PTA.RFE | |
| PTO/SB/69-Authorize EPO Access to Search ResultsSREXR141 | SREXR141 | |
| Applicants have given acceptable permission for participating foreignAPPERMS | APPERMS | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Entity Status Set To Undiscounted (Initial Default Setting or Status Change)BIG. | BIG. | |
| Initial Exam Team nnIEXX | IEXX |
5 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 10198902
- Application
- 15297832
Titles
- English
- Localized remote gaming
Patent term adjustment
- A delay
- +43 daysthe office missed an examination deadline
- Net adjustment
- 43 days
Classification
- CPC, 4
- G07F17/3225
- G07F17/3202
- G07F17/3211
- G07F17/3223
- IPC, 1
- G07F17 32
- USPC, 1
- 705026800