IP Library Granted Patent US 10,671,690
Granted Patent B2
US 10,671,690 · App. 15/571,297 · Granted Jun 2, 2020

Search and retrieval of keyed data maintained using a keyed database

Inventors: Justin Lewis (Mountain View, CA); Richard Dominick Rapp (Mountain View, 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 10,671,690
App. No.
15/571,297
Granted
Jun 2, 2020
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 (57)

1. A digital component deduplication system for generating packetized data with encryption tokens for transmittal over one or more packetized networks, comprising:

a keyed database storing keyed data, with each item of keyed data representing a particular digital component;

a packetized data search engine that searches packetized data received from a first client device to determine that an encryption token is included with the packetized data, the encryption token comprising keyed data representing a first digital component that has already been sent to the first client device, wherein 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 logic execution server that executes data logic to generate, based on the contents of the one or more entries that include the keyed data representing the first digital component, a list of candidate digital components that excludes the first digital component that has already been sent to the first client device;

a registration interface that determines 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; and

a security server that generates a request for the eligibility value that includes the encryption token indicating that the first digital component has already been sent to the first client device, and transmits the request for the eligibility value to the second client device using the interface,

wherein the logic execution server, in response to receiving the eligibility value from the second client device, designates, from the list of the candidate digital components, a second digital component for transmitting to the first client device, and

wherein the second digital component is different than the first digital component.

2. The digital component deduplication system of claim 1 , further comprising a digital component assembly server that transmits the second digital component and a second encryption token associated with the second digital component to the first client device.

3. The digital component deduplication system of claim 1 , wherein the packetized data comprises first packetized data, and wherein the logic execution server generates, in response to a determination that the encryption token is not included in the first packetized data, second packetized data that comprises one or more instructions to i) generate the encryption token, and ii) transmit that encryption token and keyed data representing a digital component over the one or more packetized networks to the first client device.

4. The digital component deduplication system of claim 1 , wherein the security server receives an encryption key from the second client device, wherein the security server decrypts the encryption token in response to a determination that the encryption token is included in the packetized data.

5. The digital component deduplication system of claim 4 , wherein the logic execution server removes, from the list of candidate digital components, one or more candidate digital components associated with a particular identifier that matches the keyed data of the decrypted encryption token.

6. The digital component deduplication system of claim 4 , wherein the encryption key comprises a private key of the second client device.

7. The digital component deduplication system of claim 1 , wherein the security server decrypts, using an encryption key provided by the second client device, the encryption token included in the packetized data, in response to a determination that a candidate digital component of the list is not associated with the interface for requesting the eligibility value from the second client device.

8. The digital component deduplication system of claim 1 , wherein the keyed data comprises data that uniquely identifies the particular digital component and, when the keyed data is decrypted, the keyed data matches an identifier of the encryption token.

9. A method for digital component deduplication by generating packetized data with encryption tokens for transmittal over one or more packetized networks, the method comprising:

storing keyed data by a keyed database, with each item of keyed data representing a particular digital component;

searching, by a packetized data search engine, packetized data received from a first client device to determine that an encryption token is included with the packetized data, the encryption token comprising keyed data representing a first digital component that has already been sent to the first client device, wherein 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;

generating, based on the contents of the one or more entries that include the keyed data representing the first digital component, a list of candidate digital components that excludes the first digital component that has already been sent to the first client device;

determining, by a registration interface, 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 encryption token indicating that the first digital component has already been sent to the first client device;

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

designating, in response to receiving the eligibility value from the second client device, a second digital component from the list for transmitting to the first client device, wherein the second digital component is different than the first digital component.

10. The method of claim 9 , further comprising:

transmitting, by a digital component assembly server, the second digital component and a second encryption token associated with the second digital component to the first client device.

11. The method of claim 9 , wherein the packetized data comprises first packetized data, the method further comprising in response to a determination that the encryption token is not included in the first packetized data, generating second packetized data that comprises one or more instructions to i) generate the encryption token, and ii) transmit that encryption token and keyed data representing a digital component over the one or more packetized networks to the first client device.

12. The method of claim 9 , further comprising:

receiving an encryption key from the second client device; and

decrypting the encryption token in response to a determination that the encryption token is included in the packetized data.

13. The method of claim 12 , further comprising:

removing from the list of candidate digital components, one or more candidate digital components associated with a particular identifier that matches the keyed data of the decrypted encryption token.

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

15. The method of claim 9 , further comprising:

decrypting using an encryption key provided by the second client device, the encryption token included in the packetized data, in response to a determination that a candidate digital component of the list is not associated with the interface for requesting an eligibility value from the second client device.

16. The method of claim 9 , wherein the keyed data comprises data that

uniquely identifies the particular digital component and, when the keyed data is decrypted, the keyed data matches an identifier of the encryption token.

17. A non-transitory computer readable medium in communication with a digital component deduplication system for generating packetized data with encryption tokens for transmittal over one or more packetized networks, wherein execution of instructions stored on the non-transitory computer readable medium cause one or more processors of the digital component deduplication system to perform operations comprising:

storing keyed data by a keyed database, with each item of keyed data representing a particular digital component;

searching packetized data received from a first client device to determine that an encryption token is included with the packetized data, the encryption token comprising keyed data representing a first digital component that has already been sent to the first client device, wherein the keyed database is searched to identify contents, in the keyed database, of one or more entries that includes the keyed data representing the first digital component;

generating, based on the contents of the one or more entries that include the keyed data representing the first digital component, a list of candidate digital components that excludes the first digital component that has already been sent to the first client device;

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 encryption token indicating that the first digital component has already been sent to the first client device;

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

designating, in response to receiving the eligibility value from the second client device, a second digital component from the list for transmitting to the first client device, wherein the second digital component is different than the first digital component.

18. The non-transitory computer readable medium of claim 17 , wherein the operations further comprise:

transmitting the second digital component and a second encryption token associated with the second digital component to the first client device.

19. The non-transitory computer readable medium of claim 17 , wherein the packetized data comprises first packetized data, and wherein the instructions cause one or more processors to perform operations comprising:

in response to a determination that the encryption token is not included in the first packetized data, generating second packetized data that comprises one or more instructions to i) generate the encryption token, and ii) transmit that encryption token and keyed data representing a digital component over the one or more packetized networks to the first client device.

20. The non-transitory computer readable medium of claim 17 , wherein the instructions cause the one or more processors to perform operations comprising:

receiving an encryption key from the second client device; and

decrypting the encryption token in response to a determination that the encryption token is included in the packetized data.

21. The non-transitory computer readable medium of claim 20 , wherein the instructions cause the one or more processors to perform operations comprising:

removing from the list of candidate digital components, one or more candidate digital components associated with a particular identifier that matches the keyed data of the decrypted encryption token.

22. The non-transitory computer readable medium of claim 20 , wherein the encryption key comprises a private key of the second client device.

23. The non-transitory computer readable medium of claim 17 , wherein the instructions cause the one or more processors to perform operations comprising:

decrypting, using an encryption key provided by the second client device, the encryption token included in the packetized data, in response to a determination that a candidate digital component of the list is not associated with the interface for requesting the eligibility value from the second client device.

24. The non-transitory computer readable medium of claim 17 , wherein the keyed data comprises data that uniquely identifies the particular digital component and, when the keyed data is decrypted, the keyed data matches an identifier of the encryption token.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2017
From: LEWIS, JUSTIN; RAPP, RICHARD DOMINICK
To: GOOGLE INC.
Reel/Frame 044396/0096 →
CHANGE OF NAME Recorded Dec 14, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044875/0461 →
Continuity (1)
Related Publication 20190311012A1 · Oct 10, 2019
Cited By (1)
US 12,437,021