IP Library Granted Patent US 8,246,464
Granted Patent B2
US 8,246,464 · App. 11/303,966 · Granted Aug 21, 2012

Caching and reporting system for accelerating combined computer gaming and advertising

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,246,464
App. No.
11/303,966
Granted
Aug 21, 2012
Kind
B2
Abstract

A system supporting the presentation of advertisements within video game is described in which a memory cache stores advertising data that is used to provide the advertisements. The memory cache is managed via instructions provided by an external server via a network data connection. The management of the cache supports the storage of a variety of advertisements for a single advertisement opportunity. In addition, the cache management system is designed to supports numerous different video games on a same computing device.

Claims (72)

1. A method comprising:

allocating a portion of read-write memory on a gaming device as a shared memory cache accessible by each of a plurality of distinct games software that have been installed on the gaming device and registered with a common advertising broker, for storing respective impression metrics collected during execution of the distinct game software;

executing a first distinct game software among the plurality of distinct game software on the gaming device, the first distinct game software being enabled to communicate with a server through a communication channel established for the first distinct game software;

accessing the shared memory cache through the first distinct game software in execution to obtain the respective impression metrics of a second distinct game software of the plurality of distinct game software, the respective impression metrics having been stored by the second distinct game software during prior execution of the second distinct game software on the gaming device; and

transmitting, through the first distinct game software in execution, the obtained impression metrics to the server through the communication channel established for the first distinct game software.

2. The method according to claim 1 comprising:

communicating with the server to identify advertising data stored within the shared memory cache that are stale; and

removing the stale advertising data from the shared memory cache.

3. The method according to claim 1 comprising:

communicating with the server to identify advertising data stored within the shared memory cache that are to be replaced;

downloading replacement advertising data from the server; and

replacing the advertising data that is to be replaced with the downloaded replacement advertising data.

4. The method according to claim 3 wherein downloading is performed within a low priority task.

5. The method according to claim 1 comprising:

adjusting a size of the shared memory cache when the size of the shared memory cache is insufficient for storing all the advertising data and impression metrics for the plurality of distinct game software.

6. The method according to claim 1 comprising:

determining an advertising spot within a game provided by the first distinct game software during execution of the first distinct game software;

identifying advertising data corresponding to a plurality of advertisements, each of the advertisements suitable for integration in the advertising spot; and

providing an advertisement of the plurality of advertisements for impressing upon a gamer via the advertising spot.

7. The method according to claim 1 comprising:

prior to execution of the first distinct game software:

executing the second distinct game software on the gaming device;

determining an advertising spot within a game provided by the second distinct game software during execution of the second distinct game software;

identifying advertising data corresponding to an advertisement suitable for integration in the advertising spot; and

providing an advertisement for impressing upon a gamer via the advertising spot.

8. The method according to claim 7 comprising:

determining impression metrics relating to the impressed advertisement; and

storing the impression metrics of the second distinct game software in the shared memory cache.

9. The method according to claim 6 comprising:

determining impression metrics relating to the impressed advertisements; and

transmitting the impression metrics of the first distinct game software to the server.

10. The method according to claim 1 comprising:

upon detecting one of an initiation of a gaming session and termination of a gaming session of the first distinct game software on the gaming device:

transmitting a report based on the impression metrics stored in the shared memory location to the server; and

updating the impression metrics stored within the shared memory cache in response to the transmitting.

11. The method according to claim 1 comprising:

determining that existing advertising data within the shared memory cache corresponds to advertising data to be downloaded for the first distinct game software; and

preserving the existing advertising data content for use by the first game software during game execution.

12. The method according to claim 1 wherein the advertising data includes campaign data associated with advertising content, the campaign data indicating one of a temporal length of time for the campaign, a number of impressions for the campaign, and a frequency of impressions for the campaign.

13. The method according to claim 12 wherein the campaign data comprises data indicating a temporal length of time and wherein upon expiry of the temporal length of time, the advertising data is cleared from the shared memory cache.

14. The method according to claim 12 wherein the advertising data includes campaign data associated with advertising content, the campaign data comprises data indicating a frequency and wherein the advertisement content is impressed from within a video game with the frequency.

15. A method comprising:

establishing a communication channel for a first distinct game software executing on a gaming device, the first distinct game software being one of a plurality of distinct games software that have been installed on the gaming device and registered with a common advertising broker, the gaming device having a portion of its read-write memory allocated as a shared memory cache accessible by each of plurality of distinct game software for storing respective impression metrics collected during execution of the distinct game software;

querying the first distinct game software in execution through the communication channel for the respective impression metrics of a second distinct game software of the plurality of distinct game software; and

receiving, through the first distinct game software in execution and through the communication channel established for the first distinct game, the respective impression metrics of the second distinct game software from the gaming device, the respective impression metrics having been stored in the shared memory cache by the second distinct game software during prior execution of the second distinct game software on the gaming device.

16. The method according to claim 15 , wherein the receiving further comprises receiving the impression metrics at an initiation of a game provided by the first distinct game software.

17. The method according to claim 15 , wherein the receiving further comprises receiving the impression metrics during level transitions within a game provided by the first distinct game.

18. The method according to claim 15 , further comprising:

providing advertising content to the shared memory cache through the first distinct game software in execution; and

impressing the advertising content upon a gamer of a game provided by the first distinct game software in execution from an advertising spot in the game.

19. A non-transitory computer-readable medium having instructions stored thereon, which, when executed by a processor, cause the process to perform operations comprising:

allocating a portion of read-write memory on a gaming device as a shared memory cache accessible by each of a plurality of distinct games software that have been installed on the gaming device and registered with a common advertising broker, for storing respective impression metrics collected during execution of the distinct game software;

executing a first distinct game software among the plurality of distinct game software on the gaming device, the first distinct game software being enabled to communicate with a server through a communication channel established for the first distinct game software;

accessing the shared memory cache through the first distinct game software in execution to obtain the respective impression metrics of a second distinct game software of the plurality of distinct game software, the respective impression metrics having been stored by the second distinct game software during prior execution of the second distinct game software on the gaming device; and

transmitting, through the first distinct game software in execution, the obtained impression metrics to the server through the communication channel established for the first distinct game software.

20. A non-transitory computer-readable medium having instructions stored thereon, which, when executed by a processor, cause the process to perform operations comprising:

establishing a communication channel for a first distinct game software executing on a gaming device, the first distinct game software being one of a plurality of distinct games software that have been installed on the gaming device and registered with a common advertising broker, the gaming device having a portion of its read-write memory allocated as a shared memory cache accessible by each of the plurality of distinct games software for storing respective impression metrics collected during execution of the distinct game software;

querying the first distinct game software in execution through the communication channel for the respective impression metrics of a second distinct game software of the plurality of distinct game software; and

receiving, through the first distinct game software in execution and through the communication channel established for the first distinct game, the respective impression metrics of the second distinct game software from the gaming device, the respective impression metrics having been stored in the shared memory cache by the second distinct game software during prior execution of the second distinct game software on the gaming device.

21. A system comprising:

one or more processors;

memory coupled to the one or more processors and operable for storing instructions, which, when executed by the one or more processors, cause the one or more processors to perform operations, comprising:

allocating a portion of read-write memory on a gaming device as a shared memory cache accessible by each of a plurality of distinct game software that have been installed on the gaming device and registered with a common advertising broker, for storing respective impression metrics collected during execution of the distinct game software;

executing a first distinct game software among the plurality of distinct games software on the gaming device, the first distinct game software being enabled to communicate with a server through a communication channel established for the first distinct game software;

accessing the shared memory cache through the first distinct game software in execution to obtain the respective impression metrics of a second distinct game software of the plurality of distinct game software, the respective impression metrics having been stored by the second distinct game software during prior execution of the second distinct game software on the gaming device; and

transmitting, through the first distinct game software in execution, the obtained impression metrics to the server through the communication channel established for the first distinct game software.

22. A system comprising:

one or more processors;

memory coupled to the one or more processors and operable for storing instructions, which, when executed by the one or more processors, cause the one or more processors to perform operations, comprising:

establishing a communication channel for a first distinct game software executing on a gaming device, the first distinct game software being one of a plurality of distinct games software that have been installed on the gaming device and registered with a common advertising broker, the gaming device having a portion of its read-write memory allocated as a shared memory cache accessible by each of the plurality of distinct game software for storing respective impression metrics collected during execution of the distinct game software;

querying the first distinct game software in execution through the communication channel for the respective impression metrics of a second distinct game software of the plurality of distinct game software; and

receiving, through the first distinct game software in execution and through the communication channel established for the first distinct game, the respective impression metrics of the second distinct game software from the gaming device, the respective impression metrics having been stored in the shared memory cache by the second distinct game software during prior execution of the second distinct game software on the gaming device.

Assignments (3)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044101/0405 →
MERGER Recorded Jul 26, 2007
From: ADSCAPE MEDIA INC.
To: GOOGLE INC.
Reel/Frame 019614/0940 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2006
From: WILLIS, DANIEL; GODSE, DHANANJAY
To: ADSCAPE MEDIA INC.
Reel/Frame 018534/0883 →