RELATED APPLICATIONSThis application relates to U.S. Provisional Patent Application Ser. No. 60/923,264 (Atty. Docket No. IGA-0001-P), filed Apr. 12, 2007, U.S. Provisional Patent Application Ser. No. 60/923,344 (Atty. Docket No. IGA-0002-P), filed Apr. 12, 2007, U.S. Provisional Patent Application Ser. No. 60/923,345 (Atty. Docket No. IGA-0003-P), filed Apr. 12, 2007, U.S. Provisional Patent Application Ser. No. 60/923,346 (Atty. Docket No. IGA-0004-P), filed Apr. 12, 2007, U.S. Provisional Patent Application Ser. No. 60/923,351 (Atty. Docket No. IGA-0005-P), filed Apr. 12, 2007, U.S. Provisional Patent Application Ser. No. 60/923,352 (Atty. Docket No. IGA-0006-P), filed Apr. 12, 2007, U.S. Provisional Patent Application Ser. No. 60/923,353 (Atty. Docket No. IGA-0007-P), filed Apr. 12, 2007, all of which are incorporated by reference herein in their entireties.
FIELD OF THE INVENTIONThis disclosure relates generally to in-game advertising and more particularly to a method for tracking an impression responsive to an advertisement in a gaming environment.
BACKGROUND OF THE INVENTIONAs the placement of realistic advertisements in video games becomes more popular and acceptable in the gaming community, more and more video games are beginning to utilize video game advertisements as a viable source of revenue. Currently, most video games that employ realistic advertisements typically utilize a static advertising technique that involves placing each advertisement in one site throughout game play. As such, the location of the advertisement cannot change or move and other advertisements cannot take its place. Thus, although there may be multiple advertisements in one game, each advertisement can only occupy a single location throughout the entire game. This is undesirable because it lacks the ability to maximize the effect of the advertisement on the gamer.
One way to increase the effectiveness of the advertisement on the gamer is to utilize real-time dynamic advertising techniques which allow for the targeting of advertisements to specific gamers or groups of gamers. These dynamic advertising techniques allow multiple advertisements from different advertisers to be rotated through the same site during game play. Moreover, these dynamic advertising techniques allow for different content types, such as Billboard, Logo, Video, Audio and Beacons, to be used to display advertisements to the gamer. Each of these content types is capable of receiving and displaying multiple advertisements throughout the game for display to the gamer. For example, a racing game may have a billboard display advertising one product as the racing car goes around the curve and passes the billboard. However, subsequent times the race car goes around the curve and passes the billboard, entirely different advertisements may be displayed. Thus, dynamic advertising not only enhances the reality of the game's content, it maximizes the revenue generating capability of the software product by generating multiple revenue streams, as opposed to one revenue stream generated using static advertising techniques.
Unfortunately however, current in-game advertising techniques do not allow for the efficient and accurate measurement of parameters related to the users of the games and/or the advertisements being placed in the gaming environment.
SUMMARY OF THE INVENTIONA method for tracking impressions in a gaming environment is provided and includes identifying content data within a content data cell in the gaming environment to be tracked, generating at least one impression responsive to the identified content data, monitoring at least one of the content data and the content cell to determine if at least one predetermined parameter is satisfied and if the at least one predetermined parameter is satisfied, then storing the at least one impression.
A system configured to implement a method for tracking impressions in a gaming environment is provided, wherein the method includes identifying content data within a content cell in the gaming environment to be tracked, generating at least one impression responsive to the identified content data, monitoring at least one of the content data and the content cell to determine if predetermined parameters are satisfied and storing the at least one impression if the predetermined parameters are satisfied.
A computer readable storage medium having computer executable instructions for implementing a method for tracking impressions in a gaming environment is provided, wherein the method includes identifying content data within a content cell in the gaming environment to be tracked, generating at least one impression responsive to the identified content data, monitoring at least one of the content data and the content cell to determine if predetermined parameters are satisfied and if the predetermined parameters are satisfied, then storing the at least one impression.
BRIEF DESCRIPTION OF THE DRAWINGSThe foregoing and other features and advantages of the present invention will be more fully understood from the following detailed description of illustrative embodiments, taken in conjunction with the accompanying figures in which like elements are numbered alike:
FIG. 1 is a high level schematic block diagram illustrating one embodiment of a gaming system, in accordance with the present invention.
FIG. 2 is a lower level schematic block diagram illustrating the integration server of the embodiment of the gaming system ofFIG. 1, in accordance with the present invention.
FIG. 3 is a schematic block diagram illustrating one embodiment of data collection, in accordance with the present invention.
FIG. 4 is a schematic block diagram illustrating one embodiment of reporting impressions, in accordance with the present invention.
FIG. 5 is a block diagram illustrating multiple examples of impression filtering parameters, in accordance with the present invention.
FIG. 6 is a block diagram illustrating one embodiment of duration of an advertisement on-screen, in accordance with the present invention.
FIG. 7 is a block diagram illustrating one embodiment of percent of size of an advertisement on-screen, in accordance with the present invention.
FIG. 8 is a block diagram illustrating one embodiment of deflection angle of an advertisement on-screen, in accordance with the present invention.
FIG. 9 is a block diagram illustrating one embodiment of a method for tracking an impression in a game, in accordance with the present invention.
DETAILED DESCRIPTIONIt should be appreciated that impression tracking may allow advertisers to measure desired parameters of the audience and the advertisements, such as the size of the audience for an advertisement, the number of advertisements that an audience viewed, the advertisements that were viewed, how many people actually viewed the advertisement, the length of time the advertisements were viewed, the angle at which the advertisements were viewed and the size at which the advertisements were viewed. Although the present invention may be discussed herein in terms of a Software Development Kit (SDK), it should be appreciated that any type and/or configuration of application software may be used to practice the present invention. Moreover, the application software may be implemented via any type or configuration of software suitable to the desired end purpose, such as a generic SDK and/or an application specific SDK. Furthermore, the software application may be embedded, in whole or in part.
In accordance with the present invention, although the concepts as discussed herein are discussed with regards to a gaming environment as follows, any type of gaming environment or configuration may be used. Referring toFIG. 1, one embodiment of agaming system10 for implementing the method of the invention showing the connectivity between the elements is shown and includes auser gaming device20 havinggaming software30 and application software (SDK)40, a gaming server50 (optional) and anintegration server60 which includesadvertiser information70. In accordance with the present invention, a gaming server is optional and the game may be wholly or partially implemented via one or more computer(s) and/or gaming device(s) as desired. During gameplay, thegaming software30 communicates with the gaming server50 (optional) to facilitate the gameplay and theSDK40 communicates with theintegration server60 to facilitate the integration of advertising content. Referring toFIG. 2, a lower level block diagram illustrating the elements of theintegration server60. As shown, the interaction within theintegration server60 is illustrated by a first set ofarrows75 which represents the flow of impressions through theintegration server60, a second set ofarrows80 which represents the flow of advertising content through theintegration server60 and a third set ofarrows85 which represents the flow of control messages (i.e. figuring out a user location, start session message, etc.) through theintegration server60. It should be appreciated that any type of advertising content may be implemented with the invention, including but not limited to 3-Dimensional and/or holographic content.
One embodiment of the present invention is described hereinafter and includes application software, such as a Software Development Kit (SDK), which initiates a gaming session by communicating a StartSession request with the server, wherein the server uses the IP address of the connected peer(s) (i.e. the initiator of the gaming session) to lookup a unique location ID associated with the geographical location of the IP address. Once the geographical location of the IP address is identified, the latitude/longitude position(s) of the geographical location of the IP address can be mapped to unique location IDs to allow an advertiser to target media to a specific market(s). It should be appreciated that this dynamic market assignment may be based on one or a plurality of parameters/properties as desired, such as (but not limited to) location ID (based on latitude/longitude of client's IP address), user ID (a unique number associated with each player), application ID (a unique number associated with each game title), business rules logic, predetermined business rules, dynamic market assignment executed by business rules and business rules that may be defined in the application and executed by the location server at each request. For example, a request in this context may be a software call for an assignment to a content server.
In accordance with the present invention, referring toFIG. 3,FIG. 4 andFIG. 5, the mechanism used for impression tracking may be comprised of one or more parts and is discussed immediately hereinafter with regards to an example having two parts: 1) data collection and 2) impression filtering. In dynamic advertising, cells are typically surfaces within the gaming environment that are configured to receive dynamic advertising content, wherein each cell may have a list of content that it can display. The advertising content may be any type of dynamic media that can be displayed or operated (such as audio content) within the cell, either in whole or in part. It should be appreciated that for each cell, each piece of advertising content and/or the relationship between the cell and the advertising content the cell can display may be uniquely defined and uniquely identified. It should be further appreciated that data collection may be performed as desired, such as by invoking the tracking mechanism of the present invention on a continuous and/or intermittent basis during a game, for example such as during each frame of the game, for a group of cells, a specific cell and/or content combination. Additionally, impression filtering may be used to decide if impressions are valid based on average values for angle, size, and/or duration, which may be generated (i.e. measured) and/or provided as desired, such as while tracking a piece of advertising content.
Referring toFIG. 3, a block diagram illustrating one embodiment of an overalldata collection method300 is illustrated and includes a user, while playing a game, viewing advertisement content in a gaming environment, as shown inoperational block302. The software application (SDK) obtains impression data responsive to the content and/or the cell, as shown inoperational block304, where the software application temporarily stores the impression data on the users gaming machine in a cache file, as shown inoperational block306. The impression data (i.e. contents of the cache file) is then communicated to an application server for storage and future processing, as shown inoperational block308. It is contemplated that the impression data may also be immediately communicated to the application server in addition to or in place of temporarily being stored on the users gaming machine. The impression data is then communicated to the impression server (either the impression server retrieves the impression data or the application server send the impression data), as shown inoperational block310. It should be appreciated that impression data from a single or multiple application servers may be retrieved. The impression data is then stored in the data warehouse for future analysis and/or processing, as shown inoperational block312.
Referring toFIG. 4, a block diagram illustrating one embodiment of an overallimpression reporting method400 is illustrated and includes communicating impression data stored in a data warehouse to an analytical server (for example, an OLAP server), as shown inoperational block402, wherein the OLAP server processes the impression data to obtain desired performance characteristics of the impression, as shown inoperational block404. A report responsive to the desired performance characteristics of the impression is then generated, as shown inoperational block406, and stored in an operations database for future analysis and/or action (such as determining the validity of an impression), as shown inoperational block408.FIG. 5 illustrates four examples (of an unlimited number of examples) of impression filtering parameters that may be used (it should be appreciated that other impression filtering parameters (including more or less) may be used). One way of determining whether an impression is valid may be by using the impression parameters. It should be appreciated that the impressions may be processed via any method suitable to the desired end purpose, such as deleting the impression, storing the impression, etc.FIG. 5 illustrates several example scenarios where an invalid impressions could be separated from valid impression by being deleted based upon not satisfying predetermined parameters.
For example, the game may pass the following data values to the software application (SDK) when an advertisement comes into view of the gamer. In this case, the impression may be considered “open” until predetermined parametric values (such as 0's) are passed for the parameters and/or values below, and then the impression may be considered “closed.” It should be appreciated that the parameters and/or values may be any parameters and/or values as desired suitable to the desired end purpose. However, in this case, the parameters and/or values used may include content display duration (SeeFIG. 6), content display size (SeeFIG. 7), content display deflection angle (SeeFIG. 8), and/or ID of the content cell being displayed on-screen, wherein the duration may be the time the advertisement spends on the screen, the size may be the size of the advertisement on the screen and/or the deflection angle may be the average angle at which the content was viewed from a predetermined perspective (such as the player's perspective). For example, referring again toFIG. 8, the deflection angle, a, may be the relative difference in angle between the camera (i.e. the player in front of the screen) and the normal vector of the face of the cell. In other words the relative angle between the viewer of the game and the face of the cell.
As an example, some impression filtering parameters may be:
|
| Billboard Viewing Parameters |
| Duration | Minimum - 2 seconds |
| Size | Minimum - 4% |
| | Maximum - 100% |
| Deflection Angle |
| 80 degrees |
| Duration | Minimum - 750 milliseconds |
| Size | Minimum - 1% |
| | Maximum - 90% |
| Deflection Angle |
| 80 degrees |
| Duration | Minimum - 15 seconds |
| Size | Minimum - 4% |
| | Maximum - 100% |
| Deflection Angle |
| 80 degrees |
| Duration | Minimum - 15 seconds |
| Size | Minimum - N/A |
| | Maximum - N/A |
| Deflection Angle | N/A |
| Duration | Minimum - 1 second |
| Size | Minimum - 1% |
| | Maximum - 100% |
| Deflection Angle | 90 degrees |
| |
In accordance with the present invention, content cells, advertising content and/or the relationships between the content cells and the advertising content may be defined as desired. For example, one embodiment may be as follows. In this embodiment, the title may be entered into the system and the content cells may be attached to the title (in this case cells that may be used in the title may be entered and associated with the title). The system generates unique cell IDs for each content cell (or group of content cells) and/or the advertising campaign may be entered into the system, where the advertising campaign is associated with a title (or titles). It should be appreciated that the advertisement campaign is typically all about the advertisements, when they will run, how long they will be, how long they will run, where they will run, which ads will run, what cells will run, etc. The advertising content may be uploaded to the system and the system may generate unique content IDs for each piece of content. Each piece of content may have an associated content cell (typically a piece of content should have a place for it to go—for example, an 8×1 billboard JPG may target an 8×1 billboard cell), wherein each cell may have single and/or multiple pieces of content (even various types of content). Because the system is dynamic, the pieces of advertising content may rotate through the appropriate cell or group of cells as the game progresses. For example, supposecell ID1 includes a 2×1 logo cell, and content ID numbers1021,1023 and1025 are 2×1 logo JPGs. In Title102, content ID number1021 may display incell ID1 on the first level, then content ID number1023 may display incell ID1 on the next level, then content ID number1025 may display incell ID1 on the next level, and so on.
Referring toFIG. 9, a block diagram illustrating amethod600 for tracking an impression is shown, in accordance with the present invention. Themethod600 includes selecting dynamic advertising content (content may be selected before or after the game has been started) and displaying the dynamic advertising content in a cell or group of cells in the gaming environment, as shown inoperational block602. It should be appreciated that although typically a cell(s) is tracked when a player is within a desired proximity of the cell(s), tracking may occur (i.e. triggered) regardless of the player location and may be dependent upon any desired invocation parameters. A tracking mechanism is invoked (for example during each frame or during selected frames) to track a desired cell(s), as shown inoperational block604, wherein during each invocation, game attributes may be obtained, such as deflection angle and/or display size attributes. These attributes may be obtained via any method suitable to the desired end purpose, such as the game passing the attributes to the application software or such as the application software retrieving the attributes. Additionally, some embodiments may include parameters that are being continually passed back to the application software, while other embodiments may not include continually passing parameters. Moreover, parameters may be passed at predetermined times and/or events, such as when a cell comes into view and/or until the values are null. Additionally, the deflection angle may be responsive to the relative angle between the player and the viewed advertising content (rather than the display screen) and the display size may be responsive to the relative size of the displayed content to the size of the entire screen.
Method600 further includes determining whether predefined thresholds are satisfied, as shown inoperational block606, wherein the predefined thresholds may be defined as desired and may include (but not be limited to) a minimum/maximum deflection angle, a minimum/maximum display size and a minimum/maximum duration for a piece of advertising content. If the predefined thresholds are satisfied, then the impressions are considered to be valid and may be recorded, as shown inoperational block608, otherwise the impressions may be discarded or separated from valid impressions for further analysis. For example, valid impressions may be written to a cache file on the client computer for temporary storage. Once tracking begins, the subsequent values for angle and size are averaged across all tracking invocations, as shown inoperational block610, and tracking continues until the parameters no longer meet the predefined thresholds, at which point impression data may be obtained, as shown inoperational block612. For example, one embodiment might be when the cell comes into view of the player and/or until the attributes pass 0 values, during which the parameters may be passed as desired (i.e. they may be passed on a continual basis or they may be passed on a piecewise, timed or periodic basis). In this case, the parameters are passed when the cell comes into view (i.e. on the screen) and/or until the parameters being passed are 0 values.
It is contemplated that the time elapsed since the start of tracking may be automatically counted and when a tracking event has reached a desired point or time for a given cell, the tracked data may be sent to a cache file for temporary storage, as shown inoperational block614. When a tracking stop invocation is triggered (such as at a desired point in time or when the passed parameters are 0 values), the tracking is stopped and the caches flush the passed data (i.e. impression values) which are committed to the analytical server (e.g. OLAP), as shown inoperational block616. It is contemplated that impression filtering (i.e. data filtering) may occur at any point suitable to the desired end purpose, such as while it is being communicated to the database.
It should be appreciated that the method of the present invention may be embodied, in whole or in part, via software, firmware and/or hardware. Accordingly, the invention may be implemented via any type or configuration of software suitable to the desired end purpose, such as a generic SDK and/or an application specific SDK. Additionally, it should also be appreciated that the method of the present invention may or may not be embodied, in whole or in part, via instruction using training manuals (i.e. text based materials), seminars, classes, and/or any other media suitable to the desired end purpose. Moreover, it should be appreciated that although the method of the present invention may be implemented, in whole or in part, via software, hardware, firmware and/or any combination thereof, it is also contemplated that the method of the present invention may also be implemented, in whole or in part, without the use of software, hardware, firmware and/or any combination thereof. For example, without the full or partial use of any software, hardware and/or firmware and/or with any combination thereof, but rather via instruction using PC based software and/or classroom instruction with text materials (i.e. books, pamphlets, handouts, tapes, optical media, etc.).
Moreover, it should be appreciated that each of the elements of the present invention may be implemented in part, or in whole, in any order suitable to the desired end purpose. In accordance with an exemplary embodiment, the processing required to practice the method of the present invention, either in whole or in part, may be implemented, wholly or partially, by a controller operating in response to a machine-readable computer program. In order to perform the prescribed functions and desired processing, as well as the computations therefore (e.g. execution control algorithm(s), the control processes prescribed herein, and the like), the controller may include, but not be limited to, a processor(s), computer(s), memory, storage, register(s), timing, interrupt(s), communication interface(s), and input/output signal interface(s), as well as combination comprising at least one of the foregoing. It should also be appreciated that the embodiments disclosed herein are for illustrative purposes only and include only some of the possible embodiments contemplated by the present invention.
Furthermore, the invention may be wholly or partially embodied in the form of a computer or controller implemented processes. It should be appreciated that any type of computer system (as is well known in the art) and/or gaming system may be used and that the invention may be implemented via any type of network setup, including but not limited to a LAN and/or a WAN (wired or wireless). The invention may also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, and/or any other computer-readable medium, wherein when the computer program code is loaded into and executed by a computer or controller, the computer or controller becomes an apparatus for practicing the invention. The invention can also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer or controller, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein when the computer program code is loaded into and executed by a computer or a controller, the computer or controller becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor the computer program code segments may configure the microprocessor to create specific logic circuits.
While the invention has been described with reference to an exemplary embodiment, it should be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims. Moreover, unless specifically stated any use of the terms first, second, etc. do not denote any order or importance, but rather the terms first, second, etc. are used to distinguish one element from another.