IP Library Granted Patent US 10,013,422
Granted Patent B2
US 10,013,422 · App. 14/720,448 · Granted Jul 3, 2018

Incremental data processing

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 10,013,422
App. No.
14/720,448
Granted
Jul 3, 2018
Kind
B2
Abstract

Event logs in a video advertisement insertion network are processed to remove duplicate entries. One or more ad servers are continuously generating new event entries and writing them to a database. The entries are randomized such that generated time contiguous entries are distributed over multiple storage locations, thereby facilitating resource scaling and a uniform use of storage and computing resources. The distributed entries are read from the storage locations using sequential reads of chunks of the entries and processed to remove duplicate entries.

Claims (41)

1. A computer-implemented method for de-duplicating event records in an event transaction processing system, comprising:

receiving multiple event records, each event record including at least an event generation time stamp, an event identification, and an event description field, wherein each event identification uniquely identifies the corresponding event record;

generating, for each event record, a salt value as a function of the corresponding event identification for that event record;

distributing, canonically based on the salt values, the multiple event records over a number of storage locations;

reading a chunk of event records from the storage locations; and

removing duplicate entries from the chunk based on event identifications to generate de-duplicated event records, wherein each chunk of event records includes entries whose event generation time stamps are continuous with respect to each other and salt values are identical to each other.

2. The method of claim 1 , further comprising:

reporting the de-duplicated event records to an auditor for verification.

3. The method of claim 1 , wherein the salt value includes a hash value of the corresponding event identification.

4. The method of claim 1 , wherein the number of storage locations store data using a database that provides contiguous reads and data persistence.

5. The method of claim 1 , wherein each chunk of event records includes 50,000 to 80,000 entries.

6. The method of claim 1 , wherein the event records include information about video advertisements displayed using an online video advertisement exchange.

7. The method of claim 1 , further comprising:

generating unique events in a video advertisement delivery network.

8. The method of claim 7 , wherein generating unique events in a video advertisement comprises:

receiving a first notification of a first number of events logged at an ad server;

receiving a second notification of a second number of events generated for billing by a billing system;

comparing whether the first number and the second number are identical; and

replaying, when the first number and the second number are not identical, a portion of the events logged at the ad server until the first number and the second number are identical.

9. The method of claim 8 , further comprising:

operating the billing system to receive a report of the events logged from the ad server and perform de-duplication of the events from the report by removing from the report entries that were previously processed by the billing system and included in a calculation of the second number.

10. An apparatus for de-duplicating event logs in an event transaction processing system, comprising:

a module that receives multiple event records, each event record including at least an event generation time stamp, an event identification, and an event description field, wherein each event identification uniquely identifies the corresponding event record;

a module that generates, for each event record, a salt value as a function of the corresponding event identification for that event record; a module that distributes, canonically based on the salt values, the multiple event records over a number of storage locations;

a module that reads a chunk of event records from the storage locations; and

a module that removes duplicate entries from the chunk based on event identifications to generate de-duplicated event records, wherein each chunk of event records includes entries whose event generation time stamps are continuous with respect to each other and salt values are identical to each other.

11. The apparatus of claim 10 , further comprising:

a module that reports the de-duplicated event records to an auditor for verification.

12. The apparatus of claim 10 , wherein the salt value includes a hash value of the corresponding event identification.

13. The apparatus of claim 10 , wherein the number of storage locations store data using a database that provides contiguous reads and data persistence.

14. The apparatus of claim 10 , wherein the event records include information about video advertisements displayed using an online video advertisement exchange.

15. The apparatus of claim 10 , wherein the event identification is a 128 bit global unique identifier generated randomly.

16. A computer program product comprising a non-transitory computer-readable program medium having code stored thereon, the code when executed, causing one or more processors to implement a method of operating a video advertisement exchange system, the method comprising:

receiving multiple event records, each event record including at least an event generation time stamp, an event identification, and an event description field, wherein each event identification uniquely identifies the corresponding event record;

generating, for each event record, a salt value as a function of the corresponding event identification for that event record;

distributing, canonically based on the salt values, the multiple event records over a number of storage locations;

reading a chunk of event records from the storage locations; and

removing duplicate entries from the chunk based on event identifications to generate de-duplicated event records, wherein each chunk of event records includes entries whose event generation time stamps are continuous with respect to each other and salt values are identical to each other.

17. The computer program product of claim 16 , wherein the method further comprises:

reporting the de-duplicated event records to an auditor for verification.

18. The computer program product of claim 16 , wherein the event records include information about video advertisements displayed using an online video advertisement exchange.

Assignments (10)
PATENT SECURITY AGREEMENT Recorded Mar 18, 2025
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 070551/0860 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2025
From: YAHOO ASSETS LLC; YAHOO AD TECH LLC
To: RPX CORPORATION
Reel/Frame 070402/0873 →
NOTICE OF RELEASE OF SECURITY INTEREST IN SPECIFIEDPATENTS Recorded Dec 27, 2024
From: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
To: YAHOO ASSETS LLC
Reel/Frame 069792/0193 →
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDRESS OF THE ASSIGNEE 701 FIRST AVENUE SUNNYVALE, ILLINOIS 94089 TO 701 FIRST AVENUE SUNNYVALE, CALIFORNIA 94089. PREVIOUSLY RECORDED ON REEL 035702 FRAME 0374. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECT ADDRESS AS 701 FIRST AVENUE SUNNYVALE, CALIFORNIA 94089.. Recorded Jun 5, 2015
From: DE SEABRA, BERNARDO; RAVINDRAN, RAHUL
To: YAHOO! INC.
Reel/Frame 035834/0834 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2015
From: DE SEABRA, BERNARDO; RAVINDRAN, RAHUL
To: YAHOO! INC.
Reel/Frame 035702/0374 →