On-line game playing with advertising6625578Abstract The playing of games with advertising over a network, such as the Internet, is provided. The system for on-line game playing and advertising includes one or more client machines, game servers with advertisement servers, together with at least one database server. One advertisement is displayed using the client machine immediately after a validated detection of the completion of the game is made by the game server. This advertisement is displayed using the client machine for at least a predetermined time interval during which the player is not provided with control for removing the advertisement. Another advertisement is displayed using the client machine at the time the game is being played using game elements, such as card backs and banners. Advertising data is stored related to each displayed advertisement including the identity of the advertisement, when the advertisement was displayed, and the reaction to the advertisement by each player playing the on-line game utilizing a client machine. Claims What is claimed is: Description FIELD OF THE INVENTION
Database "Scripts" Table
Field Description
Scriptid: Unique identifier for the
script
Comment: Comment field, database &
operator use only
StartTime: Time/date stamp when script
becomes valid
ValidTime: Length of time script is
valid
Mode: Spare field
GameId: Game to which this script
applies
SubId: Subset of this game to which
script applies (used for
tournaments and special
events)
GroupId: Id of top-level group for
this script
For the scripts that apply to the particular game server, such information is gathered by the database server 70 for sending to the particular game server 50. This operation will be described in greater detail later herein in conjunction with the explanation of FIG. 2. Briefly, the information gathered using the scripts table includes a universal resource locator (URL) that is relied on in accessing and obtaining the actual advertisement to be displayed or otherwise provided using the designated client machine 30. That is to say, the database server 70 itself does not store the advertisement but stores a reference or locator (URL) that the client machine 30 relies on in downloading to it the advertisement to be displayed on that client machine. In addition to providing advertising information to the game servers 50, the database server 70 receives the advertisement statistical data. This advertisement data can include an indication that an advertisement was provided or displayed, the identity of the player to whom the advertisement was displayed, when the advertisement was displayed, the game being played when the advertisement was displayed, whether or not further advertising information was requested by the player based on the advertisement, and whether or not information was actually sent to the player based on the displayed advertisement. As will be described later, when an advertisement is provided to the client machine 30, the player has options that can be selected related to the advertisement. Advertisement statistical data is generated based on the response or responses taken by the players to the particular advertisement. The system 20 may also include a database controller 80 that is able to communicate with the database server 70. The database controller 80 can be used to access the advertisement statistical or accounting data, to change or update advertising information that is used to present advertisements during the play of a particular on-line card or board game and/or enable advertising information providers to access the database server 70, typically under limited conditions and provided that all security requirements are met. The database controller 80 can therefore be involved with providing desired or requested outputs related to advertisement usage including controlling the running of further advertising-related programs or providing further requested information to a player making such a request. With reference to FIG. 2, more description related to the interaction among a client machine 30, a game server 50 and the database server 70 is provided. In that regard, certain communications are noted between the client machine 30-nn and the game server 50-n, as well as between the game server 50-n and the database server 70. These communications can be identified as follows: adrequest--a request by the client machine 30-nn for advertising information from the game server 50-n that is responsible for the game the client machine 30-nn is playing or wishes to play. adinfo--includes the advertising information that is to be used by the client machine 30-nn for displaying the advertisement based on such information. adchange--provides an indication to the client machine 30-nn that advertising information for this client machine has changed and the client machine 30-nn must request new advertisements from the game server 50-n. adresults--contains statistical data related to advertisement usage. dbgetads--requests that the current advertisements for game server 50-n be provided by the database server 70. dbnewads--informs the game server 50-n that a new packet of advertising-related information is being sent to it by the database server 70. dbads--contains advertising information including: URL that is the location of the actual advertisement to be downloaded to the client machine 30-n; action to be taken when the player playing the on-line card or board game on the client machine 30-n selects the advertisement associated with this advertising information; subtype which identifies a subset of the on-line game being played, e.g., players involved in a tournament or other special promotion; minimum number of time in seconds that the advertisement is to be presented; and minimum number of seconds to display the advertisement before confirming that it has been presented. dbadstats--advertising data sent to the database server 70 related to an individual advertisement presentation and includes: accounting identifier for the particular advertisement; the number of player-seconds the advertisement was displayed; the number of players that were shown this advertisement; the number of players that selected this advertisement; and the number of failures to read this advertisement. dbadhit--information to the database server 70 that a particular player has selected an advertisement and additional actions are to be performed based on the selection of the advertisement by the player. dbadack--game server 50-n receives this packet to acknowledge receipt of dbadstats or dbadhit. dbadchng--information packet sent to the game server 50-n when a change in advertisements occurred. The following addresses the functionalities of the ad server 60-n in cooperation with the game server 50-n, although it should be appreciated that such functionalities apply to any ad server 60 and its respective game server 50. As previously noted, although the communication paths in FIG. 2 are shown emanating to and from the game server 50-n, the ad server 60-n essentially controls all of the advertisement traffic between the database server 70, the game server 50-n and the client machine 30-nn. With regard to advertisements that the ad server 60-n controls, they can be grouped into two categories. A first category relates to "variable advertisements" and a second category relates to "continuous advertisements." As utilized with the system 20, variable advertisements refer to advertisements that are provided to the client machines 30 at variable times based on the game playing of the players of the client machines 30, which receive such advertisements. The display of variable advertisements depends on the player or players completing play of the particular game since the advertisement is displayed on the computer screen of the client machine 30 immediately after the end of one game and before the start of the next, same game, such as a poker, blackjack, solitaire, chess or checkers game. That is, between the completion of one solitaire game and the start of the next solitaire game, the variable advertisement is displayed on the computer screen of the associated client machine 30. The continuous or persistent advertisement refers to an advertisement that is continuously, or substantially continuously, provided to the client machine during the playing of the on-line card or board game. The continuous advertisement or advertisements can be displayed on the computer screen using game elements or objects that contain or otherwise incorporate the advertisement. Such game elements can include card backs, money chips, banners, buttons, table felts, board areas, board pieces, and other game background materials. With respect to both variable and continuous advertisements, the ad server 60-n contains the pointers, controls and cached advertisement information, except for the advertisements themselves, for the associated on-line card or board game handled by the game server 50-n. Once the ad server 60-n has accessed the database server 70, it receives the initial ads for the particular game. The data is organized into the proper groups and sequences so that the ad server 60-n can send ads to the client machine 30-nn. When the data are loaded, the ad server 60-n is ready to send the advertisements. When the ad server 60-n is notified of a new player, it sends out the advertising information to the new client machine 30-nx (where x refers to the new client machine of this set). The ad server 60-n sends one variable advertisement and one or more continuous advertisements. This advertising information should fit in one packet for most client machines 30. The ad server 60-n uses a timer to determine when the database server 70 should next be queried for new ads. The timer is based on information sent from the database server 70, indicating when the ad server 60-n is expected to check in again. Another timer is required for the timeout of database requests. The ad server 60-n maintains a vector of arrays of ads. Each vector contains one ad group. In addition, each vector contains the header information for that group. These groups are processed for each player, generating an ad list for variable advertisements when a player starts a game. The client machine 30-nn receives one entry from each variable advertisement group and all of the entries from a continuous advertisement group. An entry may be an array of groups instead of ads. If this is the case, the ad server 60-n picks out one of the groups (if variable advertisement) or selects out of the sub-groups (if continuous advertisement) as required. For each player, a position for each continuous advertisement is required. This position is passed to the client machine 30-nn and is returned when the next ad is requested. Thus, the client machine 30-nn, not the ad server 60-n, maintains the state of each player. However, by saving the position for each client machine 30-nn, the ad server 60-n can determine if the client machine 30-nn is properly advancing (and thus, probably showing ads). To create these vectors, the ad server 60-n receives the ads from the database server 70. They are sent in order of down, then right as the group tree is traversed. A vector of the current path down the tree is maintained while building the tree. The ad server 60-n creates a new entry in the vectors when the level increases. When the level decreases, the ad server 60-n returns to the proper level. If the level is the same and count is false, a new branch is created at the same level as the last. Once these vectors are created, the ad server 60-n can pick the starting point for each player as they are seated. When the ad server 60-n updates its ads from the database server 70, it creates a new tree and then replaces the old one with the new (when the new is loaded). At this time, each client machine 30-1n through 30-nn is notified of the new ads. The ad server 60-n may use a timer to spread out the sending of packets to the players, minimizing the load spike. Also, if the player sends a request for the next ad with an old value that is no longer valid, the effect is the same as if the player requested new ads. Advertisement data from the client machines 30 is maintained in a hash table. The advertisement statistical data are tallied using the accounting identifier. Using this value, the ad server 60-n adds the new values to the existing values, increasing the display counts, display times, and select times. When sufficient values are added to the list or when a time limit has expired, the data is flushed to the database server 70. When flushing, the hash table is stored away, merged with any previous stored hash table, and new hash table is created for new data. The data in the stored hash table is sent to the database server 70. If the database server 70 does not acknowledge the data, the data is kept until the next update. If acknowledged, the stored hash data is thrown out. As previously noted, a database scripts table is utilized in obtaining advertising information from the database server 70. More specifically, the dbgetads packet from the ad server 60-n requests advertisements for a particular game associated with the game server 50-n and any game subset thereof. The dbgetads request also contains the identifier of the current script in use, if one exists. The database server 70 queries the scripts table for all scripts that apply to this particular game and associated game subset, if any. The database server 70 determines which of the returned scripts are valid at the current time. From these valid scripts, the database server 70 selects the one with the nearest expiration time and which nearest expiration time must be at least a certain predetermined time from the present time. If the current script, as identified in the dbgetads request, matches the returned script, then no new advertisements are available and the ad server 60-n is so informed. Using the current script identified to it, the database server 70 selects the group identified by the script. As groups can contain references to advertisements or to other groups, the database server 70 uses a recursive algorithm to collect all the advertisements for all of the groups and sub-groups. The advertising information is packed into dbads packets and sent to the ad server 60-n. The dbads packets are preceded by a dbnewads packet to advise the ad server 60-n of the incoming advertising information. The database server 70 tags or includes the accounting identifier with each such advertising information. The accounting identifier identifies the advertisement for the current presentation context and the context includes the previously noted script and group identifiers set out in the database scripts table or chart. When the ad server 60-n reports advertisement statistical data using the dbadstats packets, the database server 70 relies on the accounting identifier in connection with processing and storing such statistical data. Accordingly, database server 70 report generation programs are able to calculate advertisement statistical data based on a particular time period. Additional descriptions of the system 20 are next provided in the context of its operation using an example of a particular on-line card game, namely multi-player solitaire. This card game is the subject of a pending U.S. patent application having Ser. No. 08/928,212 filed on Sep. 12, 1997 and entitled "Multiplayer Card Games Having Card Plays to Foundations." This patent application is hereby incorporated in its entirety by reference. As an overview, the providing of advertisements to one or more client machines 30 will be described in the context of players playing this on-line card game. With reference to FIG. 3, the computer screen 84 of client machine 30-1a is illustrated as displaying a particular or representative card layout that occurred during the playing of the multiplayer solitaire card game. The computer screen 84 illustrated in FIG. 3 is being viewed by a first player (player one), who is playing the multiplayer solitaire card game with three other players. Briefly, the goal to winning the game involves emptying all cards from the "middle stack" as identified in FIG. 3. A much more detailed explanation of this multiplayer solitaire card game can be found in the afore-incorporated by reference patent application. With respect to major steps involving client machine 30-1a receiving the solitaire card game, such includes the client machine 30-1a accessing the system 20 seeking to play this particular game. Upon accessing the system 20, such as by means of an Internet browser, the client machine 30-1a is linked to the game server 50-1 through the Internet 40. In response to the request by the client machine 30-1a of the first player, the game server 50-1 downloads the on-line card or board game with which it is associated, namely, the multiplayer solitaire card game. In conjunction with the downloading and receipt of this card game by the client machine 30-1a, it generates an adrequest that is processed by the ad server 60-1. And, through the game server 50-1, a dbgetads request is made to the database server 70. From this input request, the database server 70 develops the previously described dbads including advertising information from the database scripts table for sending to the ad server 60-1 through the game server 50-1. Assume that such advertising information includes at least variable advertisements that are to be displayed at the completion of play of each multiplayer solitaire card game. By means of the adinfo, the ad server 60-1 controls the sending of information related to a first advertisement based on the advertising information received from the database server 70. From the adinfo packet, the client machine 30-1a uses the URL related to the first advertisement in order to read in or load the first advertisement. The client machine 30-1a also requests that the ad server 60-1 send it the advertising information related to the second advertisement that it has already received from the database server 70. This advertising information related to the second advertisement is stored by the client machine so that it is prepared for presenting the second advertisement after playing of the next game (i.e. that game which is expected to be played after completion of the game presently being played). With such advertising information now available to each of the client machines 30 who are playing together the same multiplayer solitaire game, reference is made to FIG. 4, which illustrates a specific instance in time during the play of this solitaire game. In particular, the depiction of the cards in FIG. 4 is indicative of a representative stage of the multiplayer solitaire card game. More specifically, FIG. 4 illustrates the computer screen 84 of player one having client machine 30-1a during the play of the solitaire game in which each player is attempting to empty all cards from their respective middle stacks, as explained more fully in the afore-incorporated patent application. The computer screen 84 of the client machine 30-1a also depicts the foundations of the other three players (player two, player three, player four) who are playing this solitaire game with player one. Each of these other three players is playing the game using a client machine, namely, client machines 30-2a, 30-3a and 30-4a. As can be understood from FIG. 4, player 1 has at least the ten of spades that needs to be removed from his middle stack. Each of the other three players also has cards in their middle stack. Consequently, the solitaire game is continuing or in progress. Referring to FIG. 5, the computer screen 84 of the client machine 30-1a used by player one is illustrated at a later time during the play of the same solitaire game involving the same four players. Notably represented in FIG. 4 is the emptying or removal of all cards from player one's middle stack, as the depiction of the computer screen 84 so indicates. The emptying of the last card in the middle stack of one of the players of the multiplayer solitaire game ends the game. The game server 50-1, which has overall control of the game playing involving these four client machines 30-1a through 30-4a, receives an input from at least client machine 30-1a related to the last card being removed from the middle stack associated with this client machine. The game server 50-1 makes a determination or detects that all cards have been removed from the middle stack of player one. As can be appreciated, the game server 50-1 continuously checks throughout the playing of each such multiplayer solitaire card game as to whether or not this event has occurred. When this event is detected, the game server 50-1 verifies and confirms its detection to each of the client machines 30-1a through 30-4a. This confirming input to each of these client machines causes them to initiate display of the advertisement that was previously loaded by each of them using the URL for this particular advertisement. Thus, at the completion of the game play by removal of the last card from the middle stack of player one, each of these client machines 30-1a through 30-4a is able to immediately provide this advertisement, such as by displaying it on their respective computer screens. With reference to FIG. 6, a representative display of such an advertisement 90 is provided on the computer screen 86 of the client machine. As can be seen, the advertisement is in the upper middle section of the computer screen 86 and overlies the card layout of player two on that player's client machine 30-2a, which existed at the time the last card was removed from the middle stack of player one. Preferably also, the advertisement 90 is accompanied by the results 96 of the game that was just played by these four players. This same advertisement 90, together with the game results 96, are displayed on the computer screens of each of the other three players. The advertisement 90 is displayed for at least a predetermined time interval. During this time interval, none of the players has any effective control over removal of the advertisement 90. That is, the advertisement 90 continues to be displayed. Other than exiting the program, turning the power off to their client machines or causing their client machines to be removed from the game setting, each client machine 30-1a through 30-4a will maintain this advertisement 90 for at least this predetermined time interval. At the end of the predetermined time interval, each client machine 30-1a through 30-4a continues to provide this advertisement. However, each client machine is also provided with one or more prompts or selectors that now enable each client machine 30-1a through 30-4a to remove the particular advertisement. With reference to FIG. 7, one embodiment for allowing each player to control removal or deletion of the advertisement 90 is illustrated. FIG. 7 depicts the computer screen 86 of client machine 30-2a of player two after the predetermined time interval, although the computer screens of the other client machines 30-1a, 30-3a, and 30-4a have an equivalent computer screen display. In this embodiment, each of the client machines 30-1a through 30-4a includes a first prompt or selector 100 that can be selected by the player to cause the removal of the advertisement 90 and also allow the player to indicate that he wishes to play another hand or set of the multi-player solitaire card game. As illustrated by FIG. 8, player two selected the "play another" prompt 100. FIG. 8 illustrates the computer screen of client machine 30-2a. The computer screen 86 indicates that this client machine 30-2a is waiting for at least one of the other three client machines 30-1a, 30-3a, 30-4a to receive an input related to the action that the players wish to take now that the predetermined time interval has expired. That is, each of the client machines 30-1a through 30-4a, under the control of its respective player, now controls or determines how long the advertisement will continue to be displayed. In this embodiment, a second prompt or selector is also provided in FIG. 7 identified as the "exit to lobby" selector 110. Selection of prompt 110 by a player causes the client machine to remove itself from the current game play setting (i.e. the ability to play the next hand of the same card game with the same players). FIG. 9 illustrates a representative computer screen of one of the four players, who elected to select or click on the exit to lobby prompt 110. During the predetermined time interval while each player has no effective control over removal of the advertisement, each player does have the control through its respective client machine 30-1a through 30-4a to receive more information concerning the product, service and/or entity associated with the advertisement then being displayed on each player's computer screen. In one embodiment, the player is able to select more information related to the advertisement 90 by clicking on or otherwise selecting the advertisement 90 of FIG. 7. An example of the election by player one to receive more product information based on the first advertisement is illustrated in FIG. 10. Clicking on the advertisement by player one using the client machine 30-1a results in more product information 120 being displayed on only the computer screen 84 of player one's client machine 30-1a, due to this player's election. The other three players, of course, have the same control capability for making the same election to receive more information concerning the particular advertisement then being displayed. As generally represented in FIG. 10, player one is provided with more product information related to the first advertisement. As can be appreciated, player one could continue to view such product information, while the other players of the card game just finished could have selected the "play another" prompt 100 and are waiting for player one to return in order to play the next game. The client machine 30-1a having the additional product information 120 has a further option of having more information related to the just-displayed advertisement sent to that player. As illustrated in FIG. 11, player one has elected to have further information sent to it related to the current advertisement. In accordance with FIG. 11, player one has elected to have such information e-mailed to him, and the indication 130 is provided on the player's computer screen 84 that such information is being e-mailed. As previously depicted in FIG. 7, after a predetermined time interval, player one is presented with a first prompt or selector 100 allowing player one to "play another" game and a second prompt or selector 110 allowing player one to "exit to lobby". Other ways of receiving additional information could also be made available for election including by a package of materials that is mailed to the player. Once these options for obtaining further information related to the advertisement have been completed, the client machine 30-1a then has the display on its computer screen 84 of the options for playing another game using the prompt 100 or exiting to the lobby using the prompt 110. After each of the four players has made his election, the next game can begin, assuming that each of the four players has selected the play another prompt 100. The game server 50-1 is then involved with controlling the display of the next game setup or card layout for each of these four players. As previously discussed, the ad server 60-1 is also responsible for preparing advertisement statistical data for use by the database server 70. In that regard, such advertisement data that includes player one's selection of the advertisement and the decision to have more information sent to him are accounted for using the accounting identifier associated with the advertisement 90. All of the other previously noted statistical data is also generated and sent to the database server 70 including that the advertisement 90 was displayed to the other three players and what response they had to the advertisement 90, such as their election to select the "play another" selector 100 without receiving any more information related to the just-displayed advertisement. With regard to playing the next hand of the multi-player solitaire card game, at the same time or essentially the same time that the first or just-displayed advertisement was provided to each of the four client machines 30-1a through 30-4a, the next or second advertisement is being received by each of these four client machines to be stored for anticipated display thereof at the completion of the next game. As before, reliance on the URL received from the ad server 60-1 through the game server 50-1 is made in determining the location of this next advertisement so that it can be downloaded to each of these client machines 30-1a through 30-4a. Relatedly, the URL following this next advertisement is also prepared or stored for an expected later access and usage. In addition to the above-described variable advertisement of FIGS. 6-7 and 10-11, one or more continuous advertisements can be provided to each of the client machines 30-1a through 30-4a while the multi-player solitaire card game is being played using these client machines. FIG. 12 diagrammatically illustrates the presentation of a continuous advertisement utilizing a card back 140 of the cards of the multi-player solitaire card game. The depicted background or table area on which the card layouts are illustrated includes an area for banner ad 150. More specifically, an advertisement can be displayed on the backs of the cards as indicated in the illustration of player one's client machine 30-1a. Similarly, the same or different advertisement can be displayed on the background or table area intermediate the foundation piles of the four players. With respect to providing such a continuous advertisement, comparable steps are employed in obtaining and downloading the advertising related information from the database server 70, to the client machines 30-1a through 30-4a, but under the responsibility of the ad server 60-1. Access to the locations of the advertisement(s) is provided using the URL associated with such an advertisement. The advertisement is integrated or otherwise associated with the game elements and their graphics, such as the card backs and table areas. That is, each client machine 30-1a through 30-4a correlates the game element graphics with the particular advertisement that is to be incorporated therewith in connection with the computer screens of these client machines properly displaying the designated game elements or pieces with the predetermined continuous advertisement(s). Like the variable advertisements, the continuous advertisements can be changed or updated between successive games and a determination is made to ensure that there is sufficient time to accomplish any continuous advertisement change between games. In a case, for example, where the continuous advertisement could not be timely integrated with the game element or elements before the players begin playing the game, a default continuous advertisement could be utilized, which might include no continuous advertisement at all. With reference to FIG. 13, another card game is illustrated on a computer screen of a player for depicting other game elements that can be utilized for continuous or persistent advertisements while the game is being played. In particular, the illustrated blackjack card game has table felt areas, card playing or location areas, and money chips that can include one or more advertisements. As with FIG. 12, any such advertising information is received by each of the client machines 30 that are playing the particular blackjack card game. Such advertising information is utilized to obtain and associate the desired advertisement with these game graphics or game elements. In FIG. 14, a card game is illustrated on a computer screen of a player for depicting how game objects or elements that serve as advertisements are created in, appear in or are changed from an advertisement. This attracts more player attention to the advertisement and/or the game elements. FIG. 14 depicts the computer screen before new game elements are added or changed. In FIG. 15, an advertisement appears on the game screen. Appearing on the advertisement in FIG. 15 is an element that will become a game element, which game element will also serve as an advertisement. With reference to FIG. 16, an element of the advertisement is animated and moved from the advertisement to the game screen and becomes an element of the game itself. This action attracts additional attention to the game element that is serving as an advertisement as well as the advertisement itself. FIG. 17 shows the game element, formerly part of the advertisement shown in FIG. 15, that serves now as an advertisement and part of the actual game. Game objects can be created in, first appear in or be changed from an advertisement. Further animation of the game objects within the game itself can occur. Upon certain actions or appearances of those game objects, a user could respond. Advertisements themselves could inform the users which actions or appearances of game objects warrant a response, the type of user response desired or accepted and the result of the user response. The foregoing discussion of the invention has been presented for purposes of illustration and description. Further, the description is not intended to limit the invention to the form disclosed herein. Consequently, variations and modifications commensurate with the above teachings, within the skill and knowledge of the relevant art, are within the scope of the present invention. The embodiments described hereinabove are further intended to explain the best modes presently known of practicing the invention and to enable others skilled in the art to utilize the invention as such, or in other embodiments, and with the various modifications required by their particular application or uses of the invention. By way of example only, although the Detailed Description has been directed to on-line card or board games, it should be understood that at least certain aspects of the invention are applicable to other on-line games including, but not limited to, action/adventure games that utilize action figures. Such action figures constitute game elements that can have advertisements integrated therewith. Furthermore, such other on-line games can provide advertisements in which their display is under player or user control after a predetermined time interval and statistical data relating to the results of such advertisements can be obtained. It is also intended that the appended claims be construed to include alternative embodiments to the extent permitted by the prior art.
|
Same subclass Same class Consider this |
||||||||||
