IP Library Granted Patent US 11,372,946
Granted Patent B2
US 11,372,946 · App. 16/845,237 · Granted Jun 28, 2022

Search and retrieval of keyed data maintained using a keyed database

Inventors: Justin Lewis (South San Francisco, CA); Richard Dominick Rapp (Downey, CA)
Assignee: Google LLC
G06F16/957G06F16/951G06F16/9538G06F16/972G06F21/6209G06Q30/0241
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,372,946
App. No.
16/845,237
Granted
Jun 28, 2022
Kind
B2
Abstract

This document describes a digital component deduplication system for generating packetized data with encryption tokens for transmittal over one or more packetized networks. A packetized data search determines that an encryption token is included with the packetized data. The encryption token includes keyed data representing a first digital component. The packetized data search engine searches the keyed database to identify contents, in the keyed database, of one or more entries that includes the keyed data representing the first digital component. A list of candidate digital components is generated. For candidate digital components associated with a data interface for requesting an eligibility value from a second client device associated with the candidate digital component, a security server generates, using the data interface, additional packetized data comprising i) a request for the eligibility value from the second client device, and ii) the encryption token.

Claims (61)

1. A method for digital component deduplication, the method comprising:

receiving, from a first client device, a request for a digital component, the request including data representing a first digital component that has already been transmitted to the first client device;

generating, based on the data representing the first digital component and in response to the request, a list of candidate digital components that excludes the first digital component that has already been transmitted to the first client device, comprising:

filtering digital components that match the first digital component from the list of candidate digital components using the data representing the first digital component; and

selecting, from the list of candidate digital components that excludes the first digital component that has already been transmitted to the first client device, a second digital component for transmission to the first client device, comprising:

determining that a particular candidate digital component of the list is associated with an interface for requesting an eligibility value for the particular candidate digital component from a second client device associated with the particular candidate digital component;

generating a request for the eligibility value that includes the data representing the first digital component that has already been transmitted to the first client device;

transmitting the request for the eligibility value to the second client device using the interface;

receiving the eligibility value from the second client device; and

selecting, from the list of candidate digital components, the second digital component for transmission to the first client device based at least in part on the eligibility value, wherein the second digital component is different than the first digital component;

wherein the second digital component is transmitted to the first client device in response to being selected for transmission to the first client device.

2. The method of claim 1 , wherein the data representing the first digital component that has already been transmitted to the first client device comprises an encryption token representing the first digital component that has already been transmitted to the first client device.

3. The method of claim 2 , further comprising:

receiving an encryption key from the second client device; and

using the encryption key to decrypt the encryption token representing the first digital component that has already been transmitted to the first client device.

4. The method of claim 3 , wherein the encryption key comprises a private key of the second client device.

5. The method of claim 2 , wherein the encryption token comprises keyed data representing the first digital component that has already been transmitted to the first client device, wherein generating the list of candidate digital components that excludes the first digital component that has already been transmitted to the first client device comprises:

searching a keyed database storing keyed data, with each item of keyed data representing a particular digital component, to identify contents of one or more entries in the keyed database that includes keyed data representing the first digital component.

6. The method of claim 2 , wherein the keyed data of the encryption token uniquely identifies the first digital component that has already been transmitted to the first client device, and when the keyed data is decrypted, the keyed data matches an identifier of the first digital component that has already been transmitted to the first client device.

7. The method of claim 2 , further comprising transmitting, to the first client device, the second digital component and an encryption token representing the second digital component.

8. A system comprising:

one or more computers; and

one or more storage devices communicatively coupled to the one or more computers, wherein the one or more storage devices store instructions that, when executed by the one or more computers, cause the one or more computers to perform operations for digital component deduplication, the operations comprising:

receiving, from a first client device, a request for a digital component, the request including data representing a first digital component that has already been transmitted to the first client device;

generating, based on the data representing the first digital component and in response to the request, a list of candidate digital components that excludes the first digital component that has already been transmitted to the first client device, comprising:

filtering digital components that match the first digital component from the list of candidate digital components using the data representing the first digital component; and

selecting, from the list of candidate digital components that excludes the first digital component that has already been transmitted to the first client device, a second digital component for transmission to the first client device, comprising:

determining that a particular candidate digital component of the list is associated with an interface for requesting an eligibility value for the particular candidate digital component from a second client device associated with the particular candidate digital component;

generating a request for the eligibility value that includes the data representing the first digital component that has already been transmitted to the first client device;

transmitting the request for the eligibility value to the second client device using the interface;

receiving the eligibility value from the second client device; and

selecting, from the list of candidate digital components, the second digital component for transmission to the first client device based at least in part on the eligibility value, wherein the second digital component is different than the first digital component;

wherein the second digital component is transmitted to the first client device in response to being selected for transmission to the first client device.

9. The system of claim 8 , wherein the data representing the first digital component that has already been transmitted to the first client device comprises an encryption token representing the first digital component that has already been transmitted to the first client device.

10. The system of claim 9 , wherein the operations further comprise:

receiving an encryption key from the second client device; and

using the encryption key to decrypt the encryption token representing the first digital component that has already been transmitted to the first client device.

11. The system of claim 10 , wherein the encryption key comprises a private key of the second client device.

12. The system of claim 9 , wherein the encryption token comprises keyed data representing the first digital component that has already been transmitted to the first client device, wherein generating the list of candidate digital components that excludes the first digital component that has already been transmitted to the first client device comprises:

searching a keyed database storing keyed data, with each item of keyed data representing a particular digital component, to identify contents of one or more entries in the keyed database that includes keyed data representing the first digital component.

13. The system of claim 9 , wherein the keyed data of the encryption token uniquely identifies the first digital component that has already been transmitted to the first client device, and when the keyed data is decrypted, the keyed data matches an identifier of the first digital component that has already been transmitted to the first client device.

14. The system of claim 9 , wherein the operations further comprise transmitting, to the first client device, the second digital component and an encryption token representing the second digital component.

15. One or more non-transitory computer storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations for digital component deduplication, the operations comprising:

receiving, from a first client device, a request for a digital component, the request including data representing a first digital component that has already been transmitted to the first client device;

generating, based on the data representing the first digital component and in response to the request, a list of candidate digital components that excludes the first digital component that has already been transmitted to the first client device, comprising:

filtering digital components that match the first digital component from the list of candidate digital components using the data representing the first digital component; and

selecting, from the list of candidate digital components that excludes the first digital component that has already been transmitted to the first client device, a second digital component for transmission to the first client device, comprising:

determining that a particular candidate digital component of the list is associated with an interface for requesting an eligibility value for the particular candidate digital component from a second client device associated with the particular candidate digital component;

generating a request for the eligibility value that includes the data representing the first digital component that has already been transmitted to the first client device;

transmitting the request for the eligibility value to the second client device using the interface;

receiving the eligibility value from the second client device; and

selecting, from the list of candidate digital components, the second digital component for transmission to the first client device based at least in part on the eligibility value, wherein the second digital component is different than the first digital component;

wherein the second digital component is transmitted to the first client device in response to being selected for transmission to the first client device.

16. The non-transitory computer storage media of claim 15 , wherein the data representing the first digital component that has already been transmitted to the first client device comprises an encryption token representing the first digital component that has already been transmitted to the first client device.

17. The non-transitory computer storage media of claim 16 , further comprising:

receiving an encryption key from the second client device; and

using the encryption key to decrypt the encryption token representing the first digital component that has already been transmitted to the first client device.

18. The non-transitory computer storage media of claim 17 , wherein the encryption key comprises a private key of the second client device.

19. The non-transitory computer storage media of claim 16 , wherein the encryption token comprises keyed data representing the first digital component that has already been transmitted to the first client device, wherein generating the list of candidate digital components that excludes the first digital component that has already been transmitted to the first client device comprises:

searching a keyed database storing keyed data, with each item of keyed data representing a particular digital component, to identify contents of one or more entries in the keyed database that includes keyed data representing the first digital component.

20. The non-transitory computer storage media of claim 16 , wherein the keyed data of the encryption token uniquely identifies the first digital component that has already been transmitted to the first client device, and when the keyed data is decrypted, the keyed data matches an identifier of the first digital component that has already been transmitted to the first client device.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2020
From: LEWIS, JUSTIN; RAPP, RICHARD DOMINICK
To: GOOGLE LLC
Reel/Frame 052364/0202 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2020
From: LEWIS, JUSTIN; RAPP, RICHARD DOMINICK
To: GOOGLE INC.
Reel/Frame 052364/0277 →
ENTITY CONVERSION Recorded Apr 10, 2020
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 052371/0064 →
Continuity (2)
Continuation 15571297
Related Publication 20200242175A1 · Jul 30, 2020