IP Library Patent Application 13957215
Patent Application
App. No. 13/957,215

System and Method for Counting Advertisement Impressions

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 None
App. No.
13/957,215
Abstract

A system and methods for providing accurate counting of advertisement impressions is described. The system and methods include bloom filter technology or other space-efficient probabilistic data structure algorithms to efficiently determine whether any particular advertisement impression across an enormous set of possibilities has been viewed previously or not, without having to search through every instance of rendering of any particular advertisement impression. The present system and methods include arrays of multiple bloom filters and manipulate them to correct for false positives when conditions create the risk of false positives that may have occurred during data capture on a browser. In addition, the system and methods generate unique qualification identifiers for advertising served, which is evaluated by the bloom filters before a count is incremented.

Claims (48)

1 . A method implemented across a network for determining a count for advertising impressions that have rendered across a universe of webpages accessed over the network by user devices, comprising:

requesting an advertisement, by one or more processors coupled to the network, by a particular webpage from the universe of webpages from an advertisement server to place the advertisement and an associated code including a Javascript tag in that particular webpage;

receiving the advertisement and related code from the advertisement server, by the one or more processors coupled to the network, the ad server adapted to place the advertisement and the Javascript tag on the particular webpage;

facilitating rendering of the advertisement on a browser on a user device, by the one or more processors coupled to the network, the code configured to execute and establish communication by the user device with an analytics server, the analytics server comprising an array of bloom filters, the code writing data on the instance of rendering of the advertisement to the analytics server at various times and for various predetermined reasons;

upon multiple instances of rendering of the advertisement on a particular webpage, the analytics server for each occurrence of data being written, generating unique qualifying data and creating an entry into a first one of the bloom filters, by the one or more processors, the bloom filter referring to the advertisement in that instance and the data being written providing several variables, including a unique user agent, a unique rendering of the advertisement, and a unique IP address plus the unique user agent, the analytics server operating a program that performs a check to determine if a particular condition has occurred, the particular condition formulated to determine if the bloom filter has grown to a size that will cause the bloom filter to yield a predetermined amount of false positive for a particular application;

monitoring a threshold characteristic of the bloom filter in the event that condition occurs, the same program replacing the bloom filter with another from the array when a threshold size is reached to prevent a count of advertisement renderings that does not meet a particular threshold;

maintaining a count for the advertisement and incrementing the count upon considering the unique qualifying data, and the bloom filter configured to account for duplicate viewings by a user of the advertisement and to write a single count for multiple viewings; and

providing a user interface for display to a user to indicate a predetermined count with respect to the advertisement and to indicate unique attributes relating to the advertisement.

2 . A computer-implemented method according to claim 1 , wherein the advertisement includes one or more advertisements that are displayed on a hosted web page.

3 . (canceled)

4 . (canceled)

5 . The computer-implemented method of claim 1 , wherein the threshold characteristic of the bloom filter is a size beyond which the bloom filter yields predetermined results.

6 . The computer-implemented method of claim 1 , wherein replacing the bloom filter includes creating a new bloom filter.

7 . (canceled)

8 . (canceled)

9 . A computer-program product, comprising a non-transitory computer-useable medium including a computer-readable program, wherein the computer-readable program when executed on a computer causes the computer to:

request an advertisement from an advertisement server;

receive the advertisement and related code from the advertisement server, the advertisement server adapted to place the advertisement and the Javascript tag on the particular webpage;

facilitate rendering of the advertisement on a browser, wherein the code establishes communication with an analytics server, the code writing data on the instance of rendering of the advertisement to the analytics server at various times and for various predetermined reasons;

with every instance of rendering of the advertisement, the analytics server for each occurrence of data being written, creating an entry into a bloom filter from an array of bloom filters in the analytics server of unique qualifying data including a creative advertisement identification including an IP-Address Identifier configured to uniquely identify particular user devices from which users viewed the advertisement on the universe of web pages, the bloom filter referring to the advertisement in that instance and the data being written providing several variables, the analytics server operating a program that performs a check to determine if a particular condition has occurred, the particular condition to determine if the bloom filter has grown to a size that will cause the bloom filter to yield a predetermined amount of false positive for a particular application;

monitor a threshold characteristic of the bloom filter in the event that condition occurs, the same program replacing the bloom filter with another from the array when a threshold size is reached to prevent a particular count of advertisement renderings; and

provide a user interface for display to a user, the user interface indicating a predetermined count with respect to the advertisement and indicating unique attributes relating to the advertisement.

10 . A computer-program product according to claim 9 , wherein the advertisement includes one or more advertisements that are displayed on a hosted web page.

11 . (canceled)

12 . (canceled)

13 . A computer-program product according to claim 9 , wherein the threshold characteristic of the bloom filter is a predetermined size beyond which the bloom filter yields predetermined results that do not meet certain criteria.

14 . A computer-program product according to claim 9 , wherein replacing the bloom filter includes creating a new bloom filter.

15 . A computer-program product according to claim 9 , wherein the bloom filter accounts for duplicate viewings by a user of the advertisement and reflects a single count for multiple viewings.

16 . A computer-program product according to claim 9 , wherein the computer- readable program when executed on a computer further causes the computer to:

provide a user interface for display to a user, wherein the user interface indicates a predetermined count with respect to the advertisement and indicates unique attributes relating to the advertisement.

17 . A system implemented across a network having one or more publishing sites associated with at least one web page entity, each publishing site having at least one web page having content that is displayable to any user of the publishing site, the web page having at least one available advertisement space, the system, comprising:

a processor programmed for communication with memory;

an analytics server including an array of bloom filters coupled to the memory; and;

a memory storing instructions that, when executed, cause the system to:

request an advertisement from an advertisement server;

receive the advertisement and related code from the advertisement server;

facilitate rendering of the advertisement on a browser, wherein the code establishes communication with the analytics server and

with every instance of rendering of the advertisement, a particular bloom filter from the array of bloom filters in the analytics server of unique qualifying data including a creative advertisement identification including an IP-Address Identifier configured to uniquely identify particular user devices from which users viewed the advertisement on the universe of web pages, the bloom filter referring to the advertisement in that instance and wherein the data being written provides several variables, the analytics server operating a program that performs a check to determine if a particular condition has occurred, the particular condition to determine if the bloom filter has grown to a size that will cause the bloom filter to yield a predetermined amount of false positive for a particular application; and

monitor a threshold characteristic of the bloom filter in the event that condition occurs, the same program replacing the bloom filter with another from the array when a threshold size is reached to prevent a count of advertisement renderings that does not satisfy particular criteria; and

provide a user interface for display to a user, wherein the user interface indicates a predetermined count with respect to the advertisement and indicates unique attributes relating to the advertisement.

18 . A system according to claim 17 , wherein the advertisement includes one or more advertisements that are displayed on a hosted web page.

19 . (canceled)

20 . (canceled)

21 . A system according to claim 17 , wherein the threshold characteristic of the bloom filter is a size beyond which the bloom filter yields predetermined results that do not meet certain predetermined criteria.

22 . A system according to claim 17 , wherein replacing the bloom filter includes creating a new bloom filter.

23 . A system according to claim 17 , wherein the bloom filter accounts for duplicate viewings by a user of the advertisement and reflects a single count for multiple viewings.

24 . A system according to claim 17 , wherein the memory stores further instructions that cause the system to:

provide a user interface for display to a user, wherein the user interface indicates a predetermined count with respect to the advertisement and indicates unique attributes relating to the advertisement.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2017
From: MOAT, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 043288/0748 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2013
From: FICHTER, DANIEL; HARTZELL, JAMES; SEILER, MICHAEL GARRETT; TSOUFAKIS, CHRISTOPHER
To: MOAT INC.
Reel/Frame 031012/0759 →