IP Library Granted Patent US 11,244,360
Granted Patent B2
US 11,244,360 · App. 16/984,081 · Granted Feb 8, 2022

Ad collision reduction

Inventors: Chendong Zou (Palo Alto, CA); Yogesh Kumar (Belmont, CA); Guodong Han (Sunnyvale, CA)
Assignee: Zeta Global Corp.
G06Q30/0275G06F7/02
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 11,244,360
App. No.
16/984,081
Granted
Feb 8, 2022
Kind
B2
Abstract

An ad collision machine can be configured to evaluate collision queries for possible ad collisions and is associated with an ad datacenter configured to evaluate and respond to bid requests on behalf of a plurality of advertisers. The ad collision machine can comprise a plurality of nodes and a data cache containing a plurality of user ID-campaign ID keys representing recently submitted bids in response to bid requests. Once a selected node receives a collision query, a user ID-campaign ID key is retrieved from the collision query. If the first key is not found in the data cache, it is written to the data cache by the node and the ad collision machine returns that user ID-campaign ID pair as available to be bid on.

Claims (80)

1. A method in an ad collision machine comprising

a plurality of nodes each node capable of evaluating a collision query, a node assignment module, and a data cache containing a plurality of keys;

the method comprising:

receiving a first query comprising a user ID and one or more campaign IDs;

identifying using the node assignment module and based on the user ID a selected one of the nodes;

assigning the received first query to the selected node for evaluation;

retrieving, at the selected node, a first key from the received first query, the first key, comprising the user ID and a first one of the campaign IDs;

determining, at the selected node, if the first key matches a key stored in the data cache; and

responsive to determining that the first key does not match any key stored in the data cache of the ad collision machine:

writing the received key to the cache; and

returning an indication that the user ID and first campaign ID associated with the first query are available.

2. The method of claim 1 , wherein receiving a first query comprising a user ID and one or more campaign IDs comprises receiving, at the ad collision machine, a plurality of queries, the plurality of queries comprising the first query and a second query comprising a user (identifier) ID and one or more campaign IDs and wherein the method of claim 1 further comprises:

identifying, based on the user ID of the second query, a selected node one of the nodes;

assigning the received second query to the selected node for evaluation;

retrieving, at the selected node; a second key from the received second query, the second key comprising the user ID of the second query and a second one of the campaign IDs; and

determining, at the selected node, if the second key matches a key stored in the data cache of the ad collision machine.

3. The method of claim 2 , further comprising:

responsive to determining that the second key matches a key stored in the data cache of the ad collision machine:

retrieving, at the selected node, a third key from the received second query, the second key comprising the user ID of the second query and a third one of the campaign IDs; and

determining, at the selected node, if the third key matches a key stored in the data cache of the ad collision machine.

4. The method of claim 2 , wherein the first query and second query are evaluated in sequence such that evaluation of the second query begins after the ad collision machine returns a response to the first query.

5. The method of claim 1 , wherein returning the indication comprises:

transmitting the user ID and first campaign ID associated with the first key to a bidding machine configured to respond to a bid request associated with the user ID with a bid including an advertisement associated with the first campaign D.

6. The method of claim 1 , further comprising:

flushing the data cache to clear stored keys older than a threshold amount of time.

7. The method of claim 1 , further comprising:

flushing the data cache to clear all stored keys after a period of time.

8. The method of claim 1 , wherein identifying, based on the user ID, a selected one of the nodes comprises:

identifying the selected node based on the user ID and the modulus of a total count of the nodes.

9. The method of claim 1 , wherein the first query further comprises a ranked list of the one or more campaign IDs.

10. A non-transitory computer readable storage medium comprising instructions which, when executed by a processor, cause the processor to perform the steps of:

receiving, at an ad collision machine, a first query comprising a user ID and one or more campaign IDs, the ad collision machine comprising a plurality of nodes, a node assignment module, and a data cache containing a plurality of keys;

identifying, based on the user ID and using the node assignment module, a selected one of the nodes;

assigning the received first query to the selected node for evaluation;

retrieving, at the selected node; a first key from the received first query, the first key comprising the user ID and a first one of the campaign IDs;

determining, at the selected node, if the first key matches a key stored in the data cache of the ad collision machine; and

responsive to determining that the first key does not match any key stored in the data cache of the ad collision machine:

writing the received key to the cache of the ad collision machine; and

returning an indication that the user ID and first campaign ID associated with the first query are available.

11. The non-transitory computer readable storage medium of claim 10 , wherein receiving a first query comprising a user ID and one or more campaign IDs comprises receiving, at the ad collision machine, a plurality of queries, the plurality of queries comprising the first query and a second query comprising a user ID and one or more campaign IDs and wherein the non-transitory computer readable storage medium of claim 10 further comprises instructions which, when executed by the processor, cause the processor to perform the additional steps of:

identifying; based on the user ID of the second query, a selected node one of the nodes;

assigning the received second query to the selected node for evaluation;

retrieving, at the selected node, a second key from the received second query, the second key comprising the user ID of the second query and a second one of the campaign IDs; and

determining, at the selected node; if the second key matches a key stored in the data cache of the ad collision machine.

12. The non-transitory computer readable storage medium of claim 11 further comprising instructions which, when executed by the processor, cause the processor to perform the additional steps of:

responsive to determining that the second key matches a key stored in the data cache of the ad collision machine:

retrieving, at the selected node, a third key from the received second query, the second key comprising the user ID of the second query and a third one of the campaign IDs; and

determining, at the selected node; if the third key matches a key stored in the data cache of the ad collision machine.

13. The non-transitory computer readable storage medium of claim 11 , wherein the first query and second query are evaluated in sequence such that evaluation of the second query begins after the ad collision machine returns a response to the first query.

14. The non-transitory computer readable storage medium of claim 10 , wherein returning the indication comprises:

transmitting the user ID and first campaign ID associated with the first key to a bidding machine configured to respond to a bid request associated with the user ID with a bid including an advertisement associated with the first campaign ID.

15. The non-transitory computer readable storage medium of claim 10 further comprising instructions which, when executed by the processor, cause the processor to perform the additional step of:

flushing the data cache to clear stored keys older than a threshold amount of time.

16. The non-transitory computer readable storage medium of claim 10 , wherein identifying, based on the user ID, a selected one of the nodes comprises:

identifying the selected node based on the user and the modulus of a total count of the nodes.

17. An ad collision machine comprising:

a plurality of nodes each node capable of evaluating a collision query;

a node assignment module;

a data cache containing a plurality of keys;

a memory that stores instructions; and

one or more processors configured by the instructions to perform operations comprising:

receive a first query comprising a user ID and one or more campaign IDs; and

identify, based on the user ID and the node assignment module, a selected one of the nodes;

assign the received first query to the selected node for evaluation;

retrieve a first key from the received first query, the first key comprising the user ID and a first one of the campaign IDs;

determine if the first key matches a key stored in the data cache of the ad collision machine; and

responsive to determining that the first key does not any key stored in the data cache of the ad collision machine:

write the received key to the cache of the ad collision machine; and

return an indication that the user ID and first campaign ID associated with the first query are available.

18. The machine of claim 17 , wherein receiving a first query comprising a user ID and one or more campaign IDs comprises receiving, at the node assignment module, a plurality of queries, the plurality of queries comprising the first query and a second query comprising a user ID and one or more campaign IDs and wherein:

the node assignment module further configured to:

identify, based on the user ID of the second query, a selected node one of the nodes;

assign the received second query to the selected node for evaluation; the node further configured to:

retrieve a second key from the received second query, the second key comprising the user ID of the second query and a second one of the campaign IDs; and

determine at the selected node, if the second key matches a key stored in the data cache of the ad collision machine.

19. The machine of claim 18 , wherein the node is further configured to, responsive to determining that the second key matches a key stored in the data cache of the ad collision machine:

retrieve a third key from the received second query, the second key comprising the user ID of the second query and a third one of the campaign IDs; and

determine if the third key matches a key stored in the data cache of the ad collision machine.

20. The machine of claim 17 , wherein returning the indication comprises:

transmitting the user ID and first campaign ID associated with the first key to a bidding machine configured to respond to a bid request associated with the user ID with a bid including an advertisement associated with the first campaign ID.

Assignments (8)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT REEL 055212, FRAME 0964 Recorded Aug 30, 2024
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ZETA GLOBAL CORP.
Reel/Frame 068822/0167 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Aug 30, 2024
From: ZETA GLOBAL CORP.; ZSTREAM ACQUISITION LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 068822/0154 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2021
From: SIZMEK DSP, INC.
To: ZETA GLOBAL CORP.
Reel/Frame 058030/0160 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2021
From: ZOU, CHENDONG; KUMAR, YOGESH; HAN, GUODONG
To: ROCKET FUEL INC.
Reel/Frame 058029/0692 →
CHANGE OF NAME Recorded Nov 5, 2021
From: ROCKET FUEL INC.
To: SIZMEK DSP, INC.
Reel/Frame 058029/0974 →
RELEASE OF SECURITY INTEREST Recorded Feb 11, 2021
From: FIRST EAGLE PRIVATE CREDIT, LLC, AS SUCCESSOR TO NEWSTAR FINANCIAL, INC
To: ZBT ACQUISITION CORP.; ZETA GLOBAL CORP.; 935 KOP ASSOCIATES, LLC
Reel/Frame 055282/0276 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2021
From: ZETA GLOBAL CORP.
To: BANK OF AMERICA, N.A.
Reel/Frame 055212/0964 →
SECURITY INTEREST Recorded Dec 3, 2020
From: ZETA GLOBAL CORP.
To: FIRST EAGLE PRIVATE CREDIT, LLC
Reel/Frame 054585/0770 →