Method of interacting with an interactive game program
Claim Score by NHIP
Abstract
A software agent interfaces with an interactive game program allowing for dynamic conveyance of objects during runtime for receiving data indicative of at least one parameter relating to a player of the interactive game program and/or to the player station on which the program is run. The data is used to set a dynamic policy that is customized on-the-fly according to the at least one parameter, and which is adapted to determine one or more objects to be conveyed to the player station for dynamically embedding in the program. The dynamic policy is also adapted to determine one or more characteristics of the object and is capable of subsequent re-customization and revision during game play. The objects are retrieved and periodically conveyed to the interactive game program based on the dynamic policy for dynamically embedding in the interactive game program to interface with the game player of the interactive game program.

Term
2.2 yearsto projected expiry
Projected expiry 30 November 2028, counted from filing; an application has no term until it is granted.
- Priority and filed
- Published
- Today
- Projected expiry
33 claims: 3 independent, 30 dependent
- 1A method of interfacing with an interactive game program allowing for dynamic conveyance of objects during runtime, said program interfacing with a software agent, the method comprising:receiving data indicative of at least one parameter relating to at least one of a player of the interactive game program, the interactive game program and the player station on which the program is run;using said data to set a dynamic policy that is customized on-the-fly according to said at least one parameter, said dynamic policy being adapted to determine one or more objects to be conveyed to the player station for embedding in the program, said dynamic policy being adapted to determine one or more characteristics of the objects, said dynamic policy being capable of subsequent modification during game play;and retrieving and periodically conveying the objects to the interactive game program based on said dynamic policy for embedding in the interactive game program.
- 11Broadest claimClaim Score 77, broad(NHIP)A software agent for interfacing with an interactive game program run on a player station, the software agent comprising a display driver for acquisition and display by the game program of a video sequence at a predetermined video stream rate and at a screen location configurable by the game program, further synchronized with a sound stream.
- 24A software agent for interfacing with an interactive game program run on a player station allowing for dynamic conveyance of objects during runtime, the software agent comprising:a flow coordination module for conveying to a policy management server first data indicative of at least one parameter relating to at least one of a player of the interactive game program, the player station on which the program is run and the interactive game program so as to allow the policy management server to use said data to set a dynamic policy that is customized on-the-fly according to said at least one parameter, said dynamic policy being adapted to determine one or more objects to be conveyed to the player station for embedding in the interactive game program, said dynamic policy being also adapted to determine one or more characteristics of the objects;and said flow coordination module further receiving second data indicative of at least one parameter relating to at least one of a player of the interactive game program, the player station on which the program is run and the interactive game program so as to allow the flow coordination module to use said second data to customize on-the-fly said dynamic policy according to said at least one parameter;a game interface for retrieving and periodically conveying the objects to the interactive game program based on said dynamic policy for embedding in the interactive game program.
Independent claims3
87 paragraphs in 5 sections, as filed
FIELD OF THE INVENTION
0001This invention relates to in-game advertising.
BACKGROUND OF THE INVENTION
0002In-game advertising is becoming an increasingly popular approach to increase the reach of advertisers. For the advertisers games provide another media channel that widens the reach. For game developers, games publishers and game distributors it provides a highly lucrative revenue stream. Digital games downloaded for free, featuring trial or demo versions, generate a low conversion rate (the ratio of the number of trials/demos downloaded to the number of purchased full versions). Ad-supported games introduce a supplemental revenue model. Similarly, the price of purchased games can be subsidized by ads.
0003In-game advertising can operate at a number of different levels. In-game light integration is used to serve advertisements to the game environment in a transition screen during stages such as before the game starts, between game stages, after the game ends and the like. In-game tighter integration presents rotating textures and videos during the game on billboards, buildings etc. Product placements present non-rotating texture during the game on billboards, buildings etc.
0004The world of digital games reflects a chain of players:
0005Game Developer—the entity that developed the game code, like an author in the book industry. The game developer has access to the game source code and is the proprietor of the IP rights in the game.
0006Game Publisher—the entity that publishes the game, like the book publisher in the book industry. This entity may integrate the game with a Digital Rights Management (DRM) wrapper. DRM is a digital component that prevents unauthorized copying of the game, enables the setting of time limits to a downloaded game, and is capable of identifying and reporting on game events.
0007Game Distributor—the entity that distributes/sells the game (online or offline), like a book store.
0008Media Seller—the entity that sells the created ad inventory in the game.
0009US 2006/105841 (Rom et al.) published May 18, 2006 discloses a system for displaying objects within an interactive game program, in which, the objects can be added during the game program creation and afterwards. Additionally, a component within the game program itself updates these objects and communicates with a centralized server that manages and controls the objects through a number of utilities. One embodiment of the invention is a system providing dynamically changing advertisements within interactive video games. Additionally, a centralized server communicates with an internal Ad Engine to update interactive game ads without impeding on the game performance or affect the game play in any unintended way. Furthermore, the invention provides various management suites for interactive game program developers, game program publishers, and advertisers to update and manage the advertising objects within the game program.
0010US 2006/105841 also suggests creation of ad objects in an interactive game program both at its creation and after publication and release, para. 0055. But it appears neither to suggest nor describe a mechanism that allows for pre-definition of a set of multiple ad policies, determining ad display and frequency, and the corresponding game states and events in which each will be allocated, and for centralized automated on-the-fly allocation and customization of such predefined ad policies to digital games one or more times during the game play, with the ad policies being accessible at the server for revising, and any revisions having immediate effect including on games then-currently played under such revised policy, subject to a predefined server-software agent ad policy updating frequency, as specified below.
0011US 2004/148221 (Chu) published May 25, 2006 discloses an online game advertising system providing an architecture for enabling the definition, sales, distribution, and management of interactive advertisements, sponsorships, and placements that appear within an online video game as part of the game experience or during idle load, wait, and pause screens. For example, in a race car game, when a driver pulls in for a pit stop, the engine oil brand that the game player may choose may be defined as locations for advertisements or product placements for real life engine oils and game publishers and advertisers may manage what specific advertisements to place in these locations.
0012US 2006/128471 (Godse et al.) published Jun. 15, 2006 discloses a virtual environment of a video game provided with a set of predetermined objectives, whose completion is monitored and recorded. This information is then provided to a game developer. In addition, comparing the record of the predetermined objectives with current game assets associated with the gamer serves to inhibit authorized duplication of game assets.
0013US 2006/128469 (Freedman et al.) published Jun. 15, 2006 relates to presentation of an advertisement during a video game session supporting a set of gamers participating in the game from a variety of different locations. The content of the advertisement is chosen based upon specific criteria such as data relating to one of the gamers, for example, the location of the gamer. The chosen content of the advertisement is provided within an advertising spot of the video game.
0014EP 1236487 (Aoki) published Sep. 4, 2002 discloses a method for directing a player's attention to a game advertisement so as to generate more game advertisement charges. An amount to be charged for outputting a game advertisement is calculated based on displayed amount information, e.g., information concerning a display time and area, and display quality information, e. g., information concerning a display position on a game screen, presence or absence of clipping with an advertisement image, an advertisement display direction in a vertical 3D space, and so forth.
0015U.S. Pat. No. 6,036,601 (Heckel) published Mar. 14, 2000 discloses a method for advertising within the virtual environments of games. Default images of games are replaced by alternative textures having advertisements implemented therein. An ad server coordinates the matching of ads to demographic data of the game player and properly accommodates ads in formats from game information provided by game sources. The game player is visually influenced by advertisements as he or she views the virtual world of the game, as plug-in software replaces the default images with virtual pictures and figures utilizing an advertisement. View statistics are retrieved from the game player's computer or console to rate viewing effectiveness for ad placement confirmation and billing purposes.
0016US 2004/116183 (Charles) discloses a system and method for digitally inserting advertisements, targeted digital images, indicia and live digital video streams into a networked, a multi-player or on-line video game, using a color mask or a matte technique such as blue screening, within the video game, in order to display the information within the video game. Each video game client has software executing on the video game client, which is connected to a video game network server, and which is capable of displaying images, video, audio and data originating from the network server or from other medium. The video game client is capable of display on a standard television set. Each client comprises a networked interface card (NIC) or modem, a network connection, and software executing on the video game client that can establish a client-to-server network connection. Each client supports video streaming and can receive, and encode and decode video and audio signals, transport, and display that and other data on screen.
0017The above-referenced publications teach the display of advertisements dynamically during game play as well as the ability to customize advertisements to specific users based on demographic data of the game player, for example. To this extent, techniques taught by some of these references may also be applicable to the present invention and their contents are wholly incorporated herein by reference.
0018There appears to be no suggestion in the art to allow an advertisement policy to be customized on-the-fly based on feedback received from a game station during play so as to allow for the definition of advertisements' display characteristics during game play, and to further allow on-the-fly re-customizing of another advertisement policy and/or on-the-fly revising of a previously allocated advertisement policy. Further there appears to be no suggestion in the art as to a single generic method enabling display of video-audio synchronized files to be displayed on any environment that is capable of displaying graphical textures, including a 3D environment.
SUMMARY OF THE INVENTION
0019The invention provides a mechanism for defining and displaying advertisements dynamically during game play as well as the ability to customize display and frequency of advertisements to specific users based on a dynamic advertisement policy that is customized on-the-fly and may be subsequently revised on-the-fly based on one or more parameters received from a game station during play.
0020The invention provides a mechanism for the owner of the advertising rights in a game to dynamically create ad inventory in the digital games environment and to enable delivery and tracking of ads thereto. The invention further provides a mechanism that facilitates real time communication between a game station on which the game is played and a publisher ad server according to an ad policy determined on-the-fly by a policy management server, based on one or more parameters fed to the policy management server by the play station during actual play. Once the publisher ad server is called by the game to download an ad, it returns tags of an agency ad server where the ad is stored as an advertising object, accessible by a known URL, and the ad is ultimately displayed. In addition, the invention allows tracking of different interactions of the game player with the displayed ads and reporting of such interactions to the agency ad server.
0021The invention also provides a mechanism to leverage targeted advertising capabilities based on static data defined during the creation of the game such as game genre, game language and the like, and dynamic user-specific data such as user registration information, third party cookies or special events occurring throughout the game play. In addition, given that the game operates as a standard advertising platform, the owner of the ad inventory may employ platform tools to manage the types of ads allowed in the game, including reviewing the ads before display.
0022Within the context of the description and claims, no distinction is made between ‘ad’, ‘advertisement’ and ‘advertising object’.
0023The invention provides a software agent that is installed on the end user machine (also referred to as ‘client machine’). The software agent includes a software library with an API (Application Program Interface) that provides the basic functionality of displaying digital ads in various environments. Behind the public interface are encapsulated all other responsibilities such as state management, tracking and serving logic. The software agent provides for a customized advertisement policy to be set and revised on-the-fly, thus facilitating delivery to supported games of ads that may vary in content and frequency for different users and games, based on real time dynamic “decision making”. The software agent provides detailed advertisement display tracking for each game played by each particular user and reports the advertising revenue share of each entity that contributed to generation of these revenues, such as the game developer, game publisher and game distributor.
0024According to a first aspect of the invention there is provided a method of interfacing with an interactive game program allowing for dynamic conveyance of objects during runtime, said program interfacing with a software agent, the method comprising:
0025receiving data indicative of at least one parameter relating to at least one of a player of the interactive game program, the interactive game program and the player station on which the program is run;
0026using said data to set a dynamic policy that is customized on-the-fly according to said at least one parameter, said dynamic policy being adapted to determine one or more objects to be conveyed to the player station for embedding in the program, said dynamic policy being adapted to determine one or more characteristics of the objects, said dynamic policy being capable of subsequent modification during game play; and
0027retrieving and periodically conveying the objects to the interactive game program based on said dynamic policy for embedding in the interactive game program.
0028According to another and complementary aspect of the invention there is provided a software agent for interfacing with an interactive game program run on a player station, the software agent comprising a display driver for acquisition and display by the game program of a video sequence at a predetermined video stream rate and at a screen location configurable by the game program, further synchronized with a sound stream.
0029In accordance with an embodiment of the invention, the software agent comprises:
0030a flow coordination module for conveying to a policy management server first data indicative of at least one parameter relating to at least one of a player of the interactive game program, the player station on which the program is run and the interactive game program so as to allow the policy management server to use said data to set a dynamic policy that is customized on-the-fly according to said at least one parameter, said dynamic policy being adapted to determine one or more objects to be conveyed to the player station for embedding in the interactive game program, said dynamic policy being also adapted to determine one or more characteristics of the objects; and
0031said flow coordination module further receiving second data indicative of at least one parameter relating to at least one of a player of the interactive game program, the player station on which the program is run and the interactive game program so as to allow the flow coordination module to use said second data to customize on-the-fly said dynamic policy according to said at least one parameter;
0032a game interface for retrieving and periodically conveying the objects to the interactive game program based on said dynamic policy for embedding in the interactive game program.
0033The software agent is a Java script based software incorporating objects that enable communication with the servers. Internal communication (with the game wrapper and cache) is in Java script and the external communication with the servers is in HTTP. The software agent enables creation, delivery based on on-the-fly dynamically changeable advertisement policy, management and reporting of dynamic advertisements in digital games, including display of video-audio content in 3D environment.
BRIEF DESCRIPTION OF THE DRAWINGS
In order to understand the invention and to see how it may be carried out in practice, an embodiment will now be described, by way of non-limiting example only, with reference to the accompanying drawings, in which:
<figref idref="DRAWINGS">FIG. 1</figref> is a pictorial representation of a system according to an embodiment of the invention for facilitating dynamic runtime interaction with an interactive game program;
<figref idref="DRAWINGS">FIG. 2</figref> is a block diagram showing functionality of a software agent according to an embodiment of the invention;
<figref idref="DRAWINGS">FIG. 3</figref> is a block diagram showing details of a display driver within the software agent shown in <figref idref="DRAWINGS">FIG. 2</figref>;
<figref idref="DRAWINGS">FIG. 4</figref> is a block diagram showing details of an extension manager within the software agent shown in <figref idref="DRAWINGS">FIG. 2</figref>;
<figref idref="DRAWINGS">FIG. 5</figref> is a pictorial representation of an object that may be used to display a dynamic advertisement in accordance with an embodiment of the invention;
<figref idref="DRAWINGS">FIG. 6</figref> is a pictorial representation showing various objects that are used to display dynamic advertisements according to an embodiment of the invention;
<figref idref="DRAWINGS">FIG. 7</figref> is a schematic representation showing data interaction between the software agent and external agents coupled thereto;
<figref idref="DRAWINGS">FIG. 8</figref> is a flow diagram showing the principal operations carried out by and in association with the software agent according to a typical scenario;
<figref idref="DRAWINGS">FIG. 9</figref> is a pictorial representation showing a typical prior art strategy for on-line marketing of a game; and
<figref idref="DRAWINGS">FIG. 10</figref> is a pictorial representation showing an enhanced strategy for on-line marketing of a game according to the invention.
DETAILED DESCRIPTION OF EMBODIMENTS
0045<figref idref="DRAWINGS">FIG. 1</figref> is a pictorial representation of a system <b>10</b> comprising a client machine <b>11</b> on which a user (not shown) plays an interactive game program that has an interface to a policy management server <b>12</b> to which it is coupled via a data network, such as the Internet <b>13</b>. The interactive game program can itself be downloaded over the Internet or it can be an Internet game that is accessed from a remote game server. So far as the invention is concerned the source of the game is not important so long as it is provided with a software agent that provides an interface to the policy management server <b>12</b>, and allows dynamic conveyance of data into the interactive game program during runtime, according to a runtime customized and subsequently revisable advertisement policy. Also connected to the Internet <b>13</b> are a publisher ad server <b>14</b> and an agency ad server <b>15</b> that operate in known manner to serve advertisements to the client machine <b>11</b>. The software agent in the client is configured to download advertisements from the agency ad server <b>15</b> during running of the interactive game program based on an advertisement policy dictated by the policy management server <b>12</b>. Such advertisements can be downloaded in one of three ways: streaming, pre-fetching and progressive download, this being known per se.
0046It will be understood that the client machine <b>11</b> may be any suitable device that is operative to run a game program either while coupled to the Internet (or other suitable network such as a VPN and the like) or in offline mode, as will be further specified below. Most commonly client machine <b>11</b> is a computer such as a PC but it may also be a PDA, mobile telephone, console game machines, IPTV and any other such game program device.
0047<figref idref="DRAWINGS">FIG. 2</figref> is a block diagram showing functionality of a software agent <b>20</b> according to an embodiment of the invention that is suitable for interacting with the policy management server <b>12</b>. The interactive game program may be integrated with the software agent <b>20</b> as will typically be done in standalone game programs that are supplied by independent outlets, such as stores and the like. But it is sufficient for the interactive game program to have an interface to the software agent <b>20</b> so that once the software agent <b>20</b> is loaded in the client machine <b>11</b> one or more interactive game programs may interface with the same software agent <b>20</b>. This allows the client machine <b>11</b> to download multiple on-lines games from a common source while downloading the software agent <b>20</b> once only.
0048The software agent <b>20</b> comprises a game interface <b>21</b> that allows the software agent <b>20</b> to be directly interfaced to the game engine via a COM interface <b>22</b> or via a C++ interface <b>23</b>. For games that are not written in C++ suitable adapters may be provided that are coupled to the C++ interface <b>23</b> and allow interface conversion to the game engine technology. For example, some engines are built using higher level languages than C++ and in such case, the adapter will allow the software agent <b>20</b> to interface with the game engine. It will be appreciated that provision of the C++ interface <b>23</b> is by way of example only, and other programming language interfaces may be provided, particularly in cases where the software agent <b>20</b> is pre-installed with a purchased game program.
0049Likewise, the software agent <b>20</b> is provided with a JavaScript engine <b>25</b> that allows the software agent <b>20</b> to interface with external JavaScript objects. Java and JavaScript are registered trademarks of Sun Microsystems Inc., Santa Clara, Calif., USA. A serving scripts module <b>26</b> is coupled to the JavaScript engine <b>25</b> and allows external Java scripts to be loaded to the JavaScript engine <b>25</b> for execution thereby. The serving scripts module <b>26</b> is in charge of the serving decision for both the publisher ad server <b>14</b> and the client machine <b>11</b>. All serving logic is implemented in JavaScript. The JavaScript engine <b>25</b> is coupled to an HTTP client utilities module <b>27</b> that allows the software agent <b>20</b> to interface with the Internet using the HTTP protocol. By such means the software agent <b>20</b> can download Java scripts and instructions over the Internet and can upload data during the execution of the interactive game program. The HTTP client utilities module <b>27</b> also allows interface with data stored in the form of cookies <b>28</b> on the client machine <b>11</b>.
0050An extension manager <b>29</b> (constituting a flow coordination module) within the software agent <b>20</b> is coupled to the game interface <b>21</b> and to the JavaScript engine <b>25</b> and coordinates flow between various modules in the software agent <b>20</b>. A display driver <b>30</b> is likewise coupled to the JavaScript engine <b>25</b> and controls how an advertisement downloaded by the software agent <b>20</b> is displayed. The display driver <b>30</b> is described in greater detail below with reference to <figref idref="DRAWINGS">FIG. 3</figref> of the drawings.
0051<figref idref="DRAWINGS">FIG. 3</figref> is a block diagram showing details of the display driver <b>30</b>. The display driver <b>30</b> includes a display manager <b>31</b> that contains a movie collection <b>32</b> which is a dynamic list of all advertisement movie objects <b>33</b> that are currently required to be played by the game. Each movie object <b>33</b> has an interface to the JavaScript engine <b>25</b> and thus can be manipulated by Java scripts that are downloaded by the software agent <b>20</b>. The display driver <b>30</b> comprises a segmentation module that segments the movie file into discrete frames and a stream coordinator <b>34</b> that is responsive to such a Java script for downloading a video frame <b>35</b> using a download mechanism dictated by the Java script, thus allowing the frame to be downloaded as streaming video, or via pre-fetching or progressive download as required. The stream coordinator <b>34</b>, constituting a buffering module, processes the video frame <b>35</b> to create separate but synchronized video and audio streams that are fed respectively to a bitmap renderer <b>36</b> and a sound manager <b>37</b>. An events manager <b>38</b>, constituting an emulation module, issues callbacks <b>39</b> that are processed by the JavaScript engine <b>25</b> and conveyed to the agency ad server and to the publisher ad server <b>14</b> for compiling usage statistics etc.
0052As will be described below with reference to <figref idref="DRAWINGS">FIG. 5</figref>, game objects are formed of polygons that are interconnected to give the impression of 3D objects. The software agent superimposes the bitmap frames on the polygon environment, one after the other, and further synchronizes the frame flow with the sound stream, thus creating an illusion of video and enabling display of video on the 3D environment. The game rate is higher than the required video rate. Therefore, not every time the platform refreshes, a new video frame has to, displayed, but rather once every few times. The video may be refreshed at a lower rate than the refresh rate of the game platform.
0053<figref idref="DRAWINGS">FIG. 4</figref> is a block diagram showing details of data flow between the extension manager <b>29</b> and the various ‘players’ in the ad scenario. The extension manager <b>29</b> is the public interface to the game engine and wraps the display modules, serving flow modules and all the other specialized modules. The game engine invokes the extension commands via the COM interface <b>22</b> and the DLL C++ interface <b>23</b>. The extension manager <b>29</b> also includes a Machine State Collector (not shown) which is in charge of collecting all the relevant information about the machine state (such as bandwidth, OS type, installed libraries etc. . . . ) for the sole purpose of determining the machine's display capabilities. The extension manager also contains the JavaScript interface classes for the remaining inner modules.
0054As will be described in greater detail below with particular reference to <figref idref="DRAWINGS">FIG. 7</figref> of the drawings, the extension manager <b>29</b> responds to events that are set by the game developer <b>40</b> and by the game publisher <b>41</b> as well as to an ad policy fed thereto by the policy management server <b>12</b>. To this end, the policy management server <b>12</b> receives the game ID from the extension manager <b>29</b> and returns to the extension manager <b>29</b> a respective ad policy JavaScript file <b>42</b>, which is retained and enforced by the extension manager <b>29</b>.
0055During play, ads are then served to the game according to the ad policy currently stored in the extension manager. When the game is initiated and consequently the extension manager is initiated, the policy management server communicates to the extension manager a corresponding ad policy JavaScript file (the mechanism for matching between a game and an ad policy is specified below). The ad policy file is cached in the extension manager for a predefined time period in order to optimize the number of calls to the policy management server. As the game proceeds from initiation onwards, each time the game engine calls the software agent <b>20</b> for an ad, the extension manager decides whether an ad should be displayed according to the ad policy and the then-current game event, as reported by the game wrapper, shown as <b>45</b> in <figref idref="DRAWINGS">FIG. 6</figref>. The communication between the extension manager and the wrapper depends on the manner of integration between them—either the extension manager draws the current status game event upon a request for an ad, or the wrapper actively reports the initial and, as the case may be, updated, status game event. The extension manager comprises, inter-alia, counters supporting time-related and history-related ad policies. A counter counting the time that lapsed from the previous ad display may support a time-based frequency policy (i.e. ad display every n minutes). A counter counting levels/stages may support an event-based frequency policy (i.e. ad display every n stages/levels).
Video Display on 3D Environment
0056<figref idref="DRAWINGS">FIG. 5</figref> is a pictorial representation of a car, constituting a 3D game object that may be used to display an advertisement in accordance with an embodiment of the invention. In order to allow such 3D objects to display video they are constructed from multiple 2D polygons that are interconnected in a lattice. The display driver <b>30</b> exploits the high frame rate at which known 3D engines can attach textures to these polygons. To this end, the display driver <b>30</b> splits the downloaded movie into frames from which it generates bitmaps. The bitmaps are then used on selected polygons in the 3D object. Each time the 3D object refreshes itself, the software agent <b>20</b> will return the bitmap representing the current frame in the movie. Repeating this mechanism at a high frame rate creates the illusion of video inside the polygon.
0057<figref idref="DRAWINGS">FIG. 6</figref> is a pictorial representation showing various objects that may be used to display video advertisements according to an embodiment of the invention. Thus selected surfaces of the cars may be used to display successive bitmap representations of a sequence of video frames at sufficiently high rate to avoid video flicker. According to another embodiment of the invention, video advertisements may also be displayed as a layer on top of the 3D game objects, without a particular 3D game object or a part thereof outlining the advertisement.
In-Game Advertising Flow and Advertising Policy
0058As noted above, the software agent <b>20</b> interfaces between the game engine and the policy management server <b>12</b>, so as to allow an advertising policy relating to the embedding of in-game advertisements to be customized on-the-fly according to one or more parameters, which are conveyed to the policy management server <b>12</b> by the game engine. Based on these parameters, the policy management server <b>12</b> customizes an ad policy on-the-fly, which, in turn, determines one or more advertising objects to be conveyed to the player station for dynamically embedding in the program and determines a frequency at which the advertising objects are conveyed.
0059The ad policy mechanism is implemented by means of a Java script file that inputs a parameter and outputs a true or false response—whether or not an ad should be served. During the game play, parameters are continuously conveyed to software agent <b>20</b>. The software agent <b>20</b> may, pursuant to some of the parameters, re-customize and re-set on-the-fly a new and different advertising policy for the game, as will be further illustrated below. Further, the advertising policies may at any time be accessed at the policy management server <b>12</b>, where they are stored, and revised according to changing needs and considerations. The advertising objects are stored in the agency ad server <b>15</b>.
0060A typical scenario will now be described with reference to <figref idref="DRAWINGS">FIGS. 7 and 8</figref> of the drawings. The game developer <b>40</b> (shown in <figref idref="DRAWINGS">FIG. 4</figref>) integrates the software agent <b>20</b> in a game, to create a game within which advertisements may be displayed (hereinafter: “enabled game”), and programs various locations in which advertisements may be displayed (including the possibilities of (i) within objects in the scenario of the game, (ii) between levels/stages in a layer on top of the game, (iii) an ad-reminder in a layer on top of the game, etc.).
0061The policy management server <b>12</b> sets a unique ID for the game, based, inter-alia, on data supplied by the game developer. The ID includes the following information: title, identity of developer, publisher and distributor, genre and sub-genre (sports {tennis, football}, trivia, first shooter, board game, etc.), language and rating (for what age range, whether containing violence, etc.).
0062The game publisher <b>41</b> carries out further integration by communicating to the software agent <b>20</b> definitions and settings regarding the game events. A game event provides information regarding the status of a game or an occurrence within a game. Examples of status game events—free trial version, extended trial version, discounted version, paid version. Examples of occurrence game events—game load, game starts, passage between game levels, end of game.
0063The game publisher <b>41</b> sets his ad policies <b>42</b> on the policy management server <b>12</b>. An ad policy is a mechanism that determines the frequency, instances and/or locations throughout the game in which ads are to be displayed, for example: <ul id="ul0001" list-style="none"><li id="ul0001-0001" num="0000"><ul id="ul0002" list-style="none"><li id="ul0002-0001" num="0064">when the game loads (on-load), <ul id="ul0003" list-style="none"><li id="ul0003-0001" num="0065">before the game starts (pre game),</li></ul></li><li id="ul0002-0002" num="0066">after the games ends (post game);</li><li id="ul0002-0003" num="0067">between levels/stages (commonly known as interstitials);</li><li id="ul0002-0004" num="0068">within game objects; and/or <ul id="ul0004" list-style="none"><li id="ul0004-0001" num="0069">ad-reminders.</li></ul></li></ul></li></ul>
0070When a user initiates a game, the software agent calls the policy management server <b>12</b> with the game ID.
0071Based on the game ID, the policy management server <b>12</b> determines and sets an ad policy, and communicates it to the software agent <b>20</b>. The policy management server <b>12</b> also sends the URL of the publisher ad server <b>14</b> to the software agent.
0072The game wrapper reports to the software agent <b>20</b> the status game event and will subsequently report a new status game event, as the case may be, which in turn will cause a different ad policy to become effective.
0073As the game proceeds, status and/or occurrence events are reported from the wrapper to the software agent <b>20</b>, with a request for an ad, which is substantially in the form of a question—will an ad be served or not?. Based on the ad policy stored in the software agent <b>20</b> and the event that is reported thereto, the software agent <b>20</b> returns either a “<smallcaps>TRUE</smallcaps>” or a “<smallcaps>FALSE</smallcaps>”. For example, if, according to an ad policy, an on-load ad is to be delivered, then upon loading of the game, the game wrapper notifies an on-load event, the answer returned is “<smallcaps>TRUE</smallcaps>”, and as a result the game engine creates an ad container in the pre-programmed ad display location, into which an advertisement will be served.
0074The ad container calls the publisher ad server <b>14</b> at the URL previously provided to the software agent.
0075The call to the publisher ad server <b>14</b> includes information that enables the publisher server to deliver a targeted ad, for example: <ul id="ul0005" list-style="none"><li id="ul0005-0001" num="0000"><ul id="ul0006" list-style="none"><li id="ul0006-0001" num="0076">Placement of the ad container—on-load, pre-game, interstitial, post-game, and others;</li><li id="ul0006-0002" num="0077">Game ID including, among others, game genre and sub genre, language, rating;</li><li id="ul0006-0003" num="0078">User's platform—computer, cellular, console, IPTV and others;</li><li id="ul0006-0004" num="0079">User registration info—if previously collected.</li><li id="ul0006-0005" num="0080">Third party cookie information.</li></ul></li></ul>
0081In response, the publisher ad server <b>14</b> returns HTML tags that call the agency ad server <b>15</b> and an ad is served to the ad container. When the ad is over, the container disappears.
0082A report regarding the ad delivery is sent back to the agency ad server <b>15</b>, including usage data indicating whether or not there were an impression, loading duration, ad duration, clicks, etc. This provides feedback of a player's interaction with the ad from which the ad agency server <b>15</b> can determine user interest and ad efficacy.
0083Based on the association between the impressions and the corresponding game ID, the agency ad server <b>15</b> allocates the revenues, according to a pre-defined revenue share, to all entities associated with that particular ad, i.e., game developer, game publisher and game distributor.
0084Some events may result in re-customizing the effective ad policy. For example, if a player responds to a certain partial or full purchase suggestion in the affirmative and performs the suggested purchase by providing requested credit card details, a corresponding status event will be communicated to the software agent <b>20</b>, that may result in on-the-fly allocation of a different ad policy that provides for a lower ad display frequency or no ad display at all.
0085At any time, any ad policy may be accessed at the policy management server <b>12</b> and revised, typically by a game publisher, according to then-current needs and considerations. The next time that this ad policy is set to a game, the revision will already be effective. As for games that will then be currently played under that policy, the revision will take effect when the ad policy file at the software agent <b>20</b> expires pursuant to a predetermined duration, at which time the software agent <b>20</b> will call the policy management server <b>12</b> requesting the-then current ad policy file.
Offline Messages
0086When a user goes online and downloads a game, cache ads are stored on a central location on the user machine. If the user plays in an offline mode, the cache ads are delivered across any enabled games played on this machine. The ads rotate and a frequency cap is activated. In the event the frequency cap prevents serving all the ads, a house ad (advertising, for example, the publisher) downloaded with the game is served (the same happens if the game is bought on a CD and played offline prior to connecting to the Internet). When the user goes online again, a report is delivered for every ad as described above.
Implementation
0087Having described the interaction between the different operators in the system <b>10</b> shown in <figref idref="DRAWINGS">FIG. 1</figref> that allows a dynamic advertising policy to be customized on-the-fly during actual game play, there will now be described with reference to <figref idref="DRAWINGS">FIGS. 9 and 10</figref> how the mechanism provided by the invention can allow enhanced marketing strategies to be employed so as to increase revenues.
0088<figref idref="DRAWINGS">FIG. 9</figref> is a pictorial representation showing a typical prior art strategy for on-line marketing of a game where an on-line user can play the game for a limited trial period. At the end of trial period he must either enter a license code indicating that he has purchased the game or he must purchase the game so as to obtain a license code. In effect this scenario facilitates direct communication between a prospective purchaser and an on-line vendor, but the only feedback that the vendor obtains is whether or not the user decides to purchase the game.
0089<figref idref="DRAWINGS">FIG. 10</figref> is a pictorial representation showing an enhanced strategy for on-line marketing of a game facilitated by the invention. When the game is downloaded and the player starts playing (not shown), a trial period is provided for, and an initial ad policy is allocated that may define display of some ads or no ad display at all, depending on the publisher's business concepts and strategies. During the trial period or when it has lapsed, a new screen is presented allowing the player to buy the game (as before) but also allowing him to continue running the game or a version thereof for free while permitting on-line advertisements to be displayed. If this option is selected, an ad policy corresponding to this option is allocated, which, in turn, determines the frequency at which such advertisements are displayed. The advertisers pay for the display of these ads and, in so doing, finance the continued free trial period. Alternatively, the player may opt to pay a modest sum that allows him to purchase the game or a version thereof for a reduced sum compared with outright purchase. The difference is at least partly financed by advertisers whose ads are served to the game during play, albeit at a lesser frequency than during the free trial option, such frequency being determined by the corresponding ad policy that was allocated.
0090The invention described herewith provides a mechanism for determining and subsequently revising ad display characteristics in a centralized automated manner for an entire game. This is very different from prior art disclosed methods that allow for setting characteristics separately and individually for different particular ad objects, such that editing any one specific preset characteristic necessitates particular manual and separate access to that specific characteristic at the specific ad object. Further, the mechanism allows for one particular game to be played by a number of different simultaneous players under different ad policies, since different publishers posting the game on their websites have defined different ad policies for that game, and/or since different players made different decisions regarding the amount to be paid for the game, if at all.
0091It will be appreciated that modifications may be made to the invention without departing from the scope as defined in the attached claims. Thus, while the in-game objects have been described with particular reference to advertising objects, it will be understood that the objects provide a communication channel from a server into the game and vice versa, and can transfer many types of media content for different purposes. Other possible applications could include for example, instant messaging, music streaming, game updates, etc. It will be understood that when the invention is used in such scenarios, real time monitoring of which objects are downloaded during game play for the purpose of revenue tracking may not be important. Likewise, there may be scenarios such as non-commercial applications where distribution or allocation of revenue shares is not necessary. This may be particularly true for applications where the objects are not related to advertising.
0092It will also be understood that while various embodiments have been described with regard to objects that are displayed by the interactive game program, the invention is also applicable to the embedding of other objects such as audio objects that are vocalized by the game program; as well as to audio/video objects having components that are both displayed and vocalized as appropriate.
0093It will also be understood that the software agent may be a separate software component for embedding within the game engine of a game program using a SDK. Alternatively, it may be provided as a separate component for interfacing with a pre-complied game allowing a game having a suitably formatted game engine to interface with the software agent.
0094It will also be understood that the system according to the invention may be a suitably programmed computer. Likewise, the invention contemplates a computer program being readable by a computer for executing the method of the invention. The invention further contemplates a machine-readable memory tangibly embodying a program of instructions executable by the machine for executing the method of the invention.
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 |
|---|---|---|---|
| US2010100446A1 | Cited by | United States of America | Pre-grant |
| US8458352B2 | Cited by | United States of America | Applicant |
| US2010323799A1 | Cited by | United States of America | Pre-grant |
| US8584033B2 | Cited by | United States of America | Applicant |
| US9596132B1 | Cited by | United States of America | Applicant |
| US8523680B2 | Cited by | United States of America | Search report |
| US2011087603A1 | Cited by | United States of America | Pre-grant |
| US10721334B2 | Cited by | United States of America | Applicant |
| US11148060B2 | Cited by | United States of America | Applicant |
| JP2013507721A | Cited by | Japan | Examiner |
| US11027203B2 | Cited by | United States of America | Search report |
| US9268454B2 | Cited by | United States of America | Applicant |
| US2016346689A1 | Cited by | United States of America | Pre-grant |
| US9878240B2 | Cited by | United States of America | Applicant |
| US9480923B2 | Cited by | United States of America | Search report |
| US2010070876A1 | Cited by | United States of America | Pre-grant |
| US9032066B1 | Cited by | United States of America | Search report |
| US2011184805A1 | Cited by | United States of America | Pre-grant |
| US10699312B2 | Cited by | United States of America | Search report |
| US9723319B1 | Cited by | United States of America | Applicant |
| US11863832B2 | Cited by | United States of America | Applicant |
| CN103403657A | Cited by | China | Search report |
| US11583766B2 | Cited by | United States of America | Search report |
| US2008214301A1 | Cited by | United States of America | Pre-grant |
| WO2010150249A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2017085680A1 | Cited by | United States of America | Pre-grant |
| US2011112914A1 | Cited by | United States of America | Pre-grant |
| US2013316825A1 | Cited by | United States of America | Pre-grant |
| WO2010035267A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9721428B1 | Cited by | United States of America | Applicant |
| US2009287758A1 | Cited by | United States of America | Pre-grant |
| US10460358B2 | Cited by | United States of America | Applicant |
| US2014006987A1 | Cited by | United States of America | Pre-grant |
| US10476990B2 | Cited by | United States of America | Search report |
| US2018181969A1 | Cited by | United States of America | Search report |
| US10798457B2 | Cited by | United States of America | Search report |
| WO2011047060A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9595040B2 | Cited by | United States of America | Applicant |
| US2009288001A1 | Cited by | United States of America | Pre-grant |
| US8620879B2 | Cited by | United States of America | Applicant |
| US10255756B1 | Cited by | United States of America | Applicant |
| US2009198573A1 | Cited by | United States of America | Pre-grant |
| US2011087690A1 | Cited by | United States of America | Pre-grant |
| US2009109213A1 | Cited by | United States of America | Pre-grant |
| US10471341B1 | Cited by | United States of America | Applicant |
| US2019087871A1 | Cited by | United States of America | Search report |
| US2011112915A1 | Cited by | United States of America | Pre-grant |
| US8441475B2 | Cited by | United States of America | Search report |
| US10039978B2 | Cited by | United States of America | Applicant |
| US10275805B2 | Cited by | United States of America | Applicant |
| US8752083B2 | Cited by | United States of America | Applicant |
| US2017085680A1 | Cited by | United States of America | Search report |
| US2010175138A1 | Cited by | United States of America | Pre-grant |
| US10891633B2 | Cited by | United States of America | Search report |
| US8571935B2 | Cited by | United States of America | Applicant |
| US11816683B2 | Cited by | United States of America | Applicant |
| US10289988B1 | Cited by | United States of America | Search report |
| US11284160B2 | Cited by | United States of America | Applicant |
| US8571936B2 | Cited by | United States of America | Applicant |
| US2004116183A1 | Cites | United States of America | Pre-grant |
| US2004148221A1 | Cites | United States of America | Pre-grant |
| US2004193441A1 | Cites | United States of America | Pre-grant |
| US2006105841A1 | Cites | United States of America | Pre-grant |
| US2006128469A1 | Cites | United States of America | Pre-grant |
| US2006128471A1 | Cites | United States of America | Pre-grant |
| US6036601A | Cites | United States of America | Pre-grant |
| US6183366B1 | Cites | United States of America | Pre-grant |
| US6193610B1 | Cites | United States of America | Pre-grant |
| US6196920B1 | Cites | United States of America | Pre-grant |
2 members in 1 office
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 70540107 | United States of America | A | |
| US20070705401 | – | – | – |
Members2
| Document | Office | Kind | |
|---|---|---|---|
| US2008194332A1 | United States of America | A1 | |
| US9737812B2 | United States of America | B2 |
114 transactions on the USPTO file
Allowed after 4 non-final rejections, 3 final rejections, 2 RCEs and 2 appeals.
- Non-final rejections
- 4
- Final rejections
- 3
- RCEs
- 2
- Appeals
- 2
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| 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 | |
| Entity status set to undiscounted (initial default setting or status change)BIG. | BIG. | |
| Email NotificationEML_NTR | EML_NTR | |
| Filing Receipt - CorrectedFLRCPT.C | FLRCPT.C | |
| Appeal Brief Review CompleteAPBR | APBR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Reasons for AllowanceEX.R | EX.R | |
| track 1 OFFT1OFF | T1OFF | |
| Appeal Brief FiledAP.B | AP.B | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Amendment/Argument after Notice of AppealAP/A | AP/A | |
| Notice of Appeal FiledN/AP | N/AP | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| 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... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Final ActionA.NE | A.NE | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| 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... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| 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 ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail BPAI Decision on Appeal - AffirmedMAPDA | MAPDA | |
| Mail - BPAI Decision 41.50(b) In IFW: 196(b)MAPDN | MAPDN | |
| BPAI Decision - Examiner AffirmedAPDA | APDA | |
| Email NotificationEML_NTR | EML_NTR | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Email NotificationEML_NTR | EML_NTR | |
| Docketing Notice Mailed to AppellantAP_DK_M | AP_DK_M | |
| Assignment of Appeal NumberAPAS | APAS | |
| Appeal Awaiting BPAI DocketingAPWD | APWD | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Reply Brief Noted by ExaminerMRBNE | MRBNE | |
| Reply Brief Noted by ExaminerRBNE | RBNE | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Reply Brief FiledAPRB | APRB | |
| Exam. Ans. Review CompletePACC | PACC | |
| Email NotificationEML_NTF | EML_NTF | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Mail Examiner's AnswerMAPEA | MAPEA | |
| Examiner's Answer to Appeal BriefAPEA | APEA | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Appeal Brief Review CompleteAPBR | APBR | |
| Appeal Brief FiledAP.B | AP.B | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Notice of Appeal FiledN/AP | N/AP | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| 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 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... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Email NotificationEML_NTR | EML_NTR | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK |
10 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 | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 20080194332
- Publication, DOCDB
- 2008194332
- Publication, EPODOC
- US2008194332
- Application
- 11705401
- Application, DOCDB
- 70540107
- Application, EPODOC
- US20070705401
Titles
- English
- Method of interacting with an interactive game program
Patent term adjustment
- A delay
- +595 daysthe office missed an examination deadline
- B delay
- +382 dayspendency past three years
- Applicant delay
- −321 days
- Net adjustment
- 656 days
Classification
- CPC, 14
- A63F13/12
- A63F13/61
- A63F2300/209
- A63F2300/513
- A63F2300/5506
- A63F2300/552
- A63F2300/5546
- G06Q30/02
- G06Q30/06
- A63F13/30
- A63F13/77
- A63F13/335
- A63F13/352
- A63F13/79
- IPC, 1
- A63F9 24
- USPC, 1
- 463042000