IP Library Granted Patent US 11,431,825
Granted Patent B2
US 11,431,825 · App. 17/075,460 · Granted Aug 30, 2022

Systems and methods for identifying a returning web client

Inventors: Gary Gurevich (Wheeling, IL); Jeffrey Zwelling (Santa Monica, CA); Yaniv Shalev (Kefer Saya, IL)
Assignee: Yahoo Assets LLC
H04L67/42G06F16/2455G06F16/9537G06F16/9566G06F21/30G06F21/44H04L63/101H04L67/146H04L67/303H04L67/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,431,825
App. No.
17/075,460
Granted
Aug 30, 2022
Kind
B2
Abstract

Methods and systems are provided for identifying unique devices and/or unique users of a web-based system within constraints of an external application. In some embodiments the process comprises receiving request information from a client device at an application server, using such information to form a device fingerprint, and attempting to match the newly-formed fingerprint with exactly one fingerprint stored in a database of previously-formed fingerprints. Some embodiments utilize a two-stage Locality-Sensitive Hash query technique. The client device fingerprint may be converted into a series of LSH values which may be used to find a matching fingerprint. A first stage may query input LSH values against LSH values in a data store, and a second stage may query LSH values temporarily held in volatile memory, thereby minimizing network traffic and reducing a total process time.

Claims (31)

1. A method of identifying a client computing device, the method comprising:

performing a first query against a data store comprising a plurality of stored hashed values associated with a plurality of stored device fingerprints, each stored device fingerprint identifying a particular computing device, wherein performing the first query comprises identifying broad hashed values, from a plurality of input hashed values, which are common to a first number of device fingerprints of the plurality of stored device fingerprints;

performing a second query against returned hashed values from the first query, wherein performing the second query comprises identifying at least one narrow hashed value, from the plurality of input hashed values, that is common to a second number of device fingerprints, of the plurality of stored device fingerprints; and

based on responses to the first query and the second query, identifying a most closely matching device fingerprint.

2. The method of claim 1 , wherein the identifying the broad hashed values that are common to the first number of device fingerprints of the plurality of stored device fingerprints includes identifying broad hashed values matched within a desired degree of similarity.

3. The method of claim 2 , wherein the identifying the at least one narrow hashed value that is common to the second number of device fingerprints of the plurality of stored device fingerprints includes identifying at least one narrow hashed value matched within a desired degree of similarity.

4. The method of claim 1 , wherein identifying the most closely matching device fingerprint comprises identifying a candidate device fingerprint having a greatest number of query hits resulting from the first query and the second query.

5. The method of claim 1 , wherein identifying the most closely matching device fingerprint comprises identifying a candidate device fingerprint having a greatest weighted number of query hits resulting from the first query and the second query, wherein the number of query hits resulting from the first query is weighted differently than the number of query hits resulting from the second query.

6. The method of claim 1 , wherein identifying the most closely matching device fingerprint comprises identifying a candidate device fingerprint having a greatest weighted number of query hits resulting from the first query and the second query, wherein the number of query hits resulting from the second query is weighted based on a visit history corresponding to a candidate device fingerprint.

7. The method of claim 1 , further comprising identifying the client computing device based on the most closely matching device fingerprint.

8. A system for identifying a computing device within a computing network, the system comprising:

a data storage device;

a server comprising a communication channel with the data storage device, the server having program code that, when executed by a processor, executes a method comprising:

performing a first query against a data store comprising a plurality of stored hashed values associated with a plurality of stored device fingerprints, each stored device fingerprint identifying a particular computing device, wherein performing the first query comprises identifying broad hashed values, from a plurality of input hashed values, which are common to a first number of device fingerprints of the plurality of stored device fingerprints;

performing a second query against returned hashed values from the first query, wherein performing the second query comprises identifying at least one narrow hashed value, from the plurality of input hashed values, that is common to a second number of device fingerprints, of the plurality of stored device fingerprints; and

based on responses to the first query and the second query, identifying a most closely matching device fingerprint.

9. The system of claim 8 , wherein the identifying the broad hashed values that are common to the first number of device fingerprints of the plurality of stored device fingerprints includes identifying broad hashed values matched within a desired degree of similarity.

10. The system of claim 9 , wherein the identifying the at least one narrow hashed value that is common to the second number of device fingerprints of the plurality of stored device fingerprints includes identifying at least one narrow hashed value matched within a desired degree of similarity.

11. The system of claim 8 , wherein identifying the most closely matching device fingerprint comprises identifying a candidate device fingerprint having a greatest number of query hits resulting from the first query and the second query.

12. The system of claim 8 , wherein identifying the most closely matching device fingerprint comprises identifying a candidate device fingerprint having a greatest weighted number of query hits resulting from the first query and the second query, wherein the number of query hits resulting from the first query is weighted differently than the number of query hits resulting from the second query.

13. The system of claim 8 , wherein identifying the most closely matching device fingerprint comprises identifying a candidate device fingerprint having a greatest weighted number of query hits resulting from the first query and the second query, wherein the number of query hits resulting from the second query is weighted based on a visit history corresponding to a candidate device fingerprint.

14. The system of claim 8 , wherein the method further comprises identifying the client computing device based on the most closely matching device fingerprint.

15. A non-transitory computer-readable medium storing instructions that when executed by a computer system, cause the computer system to perform a method of identifying a computing device within a computing network, the method comprising:

performing a first query against a data store comprising a plurality of stored hashed values associated with a plurality of stored device fingerprints, each stored device fingerprint identifying a particular computing device, wherein performing the first query comprises identifying broad hashed values, from a plurality of input hashed values, which are common to a first number of device fingerprints of the plurality of stored device fingerprints;

performing a second query against returned hashed values from the first query, wherein performing the second query comprises identifying at least one narrow hashed value, from the plurality of input hashed values, that is common to a second number of device fingerprints, of the plurality of stored device fingerprints; and

based on responses to the first query and the second query, identifying a most closely matching device fingerprint.

16. The non-transitory computer-readable medium of claim 15 , wherein the identifying the broad hashed values that are common to the first number of device fingerprints of the plurality of stored device fingerprints includes identifying broad hashed values matched within a desired degree of similarity.

17. The non-transitory computer-readable medium of claim 16 , wherein the identifying the at least one narrow hashed value that is common to the second number of device fingerprints of the plurality of stored device fingerprints includes identifying at least one narrow hashed value matched within a desired degree of similarity.

18. The non-transitory computer-readable medium of claim 15 , wherein identifying the most closely matching device fingerprint comprises identifying a candidate device fingerprint having a greatest number of query hits resulting from the first query and the second query.

19. The non-transitory computer-readable medium of claim 15 , wherein identifying the most closely matching device fingerprint comprises identifying a candidate device fingerprint having a greatest weighted number of query hits resulting from the first query and the second query, wherein the number of query hits resulting from the first query is weighted differently than the number of query hits resulting from the second query.

20. The non-transitory computer-readable medium of claim 15 , wherein the method further comprises identifying the client computing device based on the most closely matching device fingerprint.

Assignments (6)
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 Nov 12, 2020
From: GUREVICH, GARY; ZWELLING, JEFFREY; SHALEV, YANIV
To: CONVERTRO, INC.
Reel/Frame 054348/0496 →
MERGER Recorded Nov 12, 2020
From: CONVERTRO, INC.
To: AOL ADVERTISING INC.
Reel/Frame 054348/0509 →
CHANGE OF NAME Recorded Nov 12, 2020
From: OATH (AMERICAS) INC.
To: VERIZON MEDIA INC.
Reel/Frame 054399/0482 →
CHANGE OF NAME Recorded Nov 12, 2020
From: AOL ADVERTISING INC.
To: OATH (AMERICAS) INC.
Reel/Frame 054399/0545 →