IP Library Granted Patent US 11,144,667
Granted Patent B2
US 11,144,667 · App. 16/521,064 · Granted Oct 12, 2021

Machine-driven crowd-disambiguation of data resources

Inventors: David F Lerner (Newton, MA); Peter J Lepeska (Boston, MA); Douglas C Larrick (Newton, MA); Devin R Toth (Quincy, MA)
Assignee: VIASAT, INC.
G06F21/6245G06F16/9574G06F21/6263H04L67/2847H04L67/2852H04L9/0643H04L47/70H04L67/42
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,144,667
App. No.
16/521,064
Granted
Oct 12, 2021
Kind
B2
Abstract

Embodiments seek to protect privacy of potentially sensitive client resources in web transactions using crowd-disambiguation. Crowd-disambiguation machines can aggregate information about resources from multiple clients as resource fingerprints, and can use the fingerprints to provide crowd-sourced services in a privacy-protected manner. For example, embodiments can communicate a resource fingerprint as a fully ambiguated resource instance (FARI) and a partially disambiguated resource instance (PDRI). When one (or few) clients communicates the resource fingerprint, the identity of the resource remains obfuscated from the crowd-disambiguation machine. As more clients communicate fingerprints for the same resource (e.g., identified by the matching FARIs), respective, differently generated PDRIs of those fingerprints enable the crowd-disambiguation machine to resolve further portions of the resource, ultimately permitting the resource to be revealed and considered non-private (e.g., for use in hint generation or other crowd-sourced services).

Claims (71)

1. A method for crowd-based disambiguation of potentially private data resources in a communications network, the method comprising:

receiving, from a private hinting service on a client side of the communications network, a resource identifier at a crowd-disambiguation machine in association with client consumption of a crowd-sourced application of the crowd-disambiguation machine involving requesting a resource corresponding to the resource identifier;

analyzing a set of non-sensitive resources to determine whether the resource identifier is included in the set of non-sensitive resources;

responsive to determining that the resource identifier is not included in the set of non-sensitive resources:

incrementing a stored tally indicating a quantity of instances of the resource identifier received by the crowd-disambiguation machine from unique client machines;

determining, by the crowd-disambiguation machine, whether the stored tally exceeds a predetermined threshold indicating that the resource is non-sensitive;

adding the resource, by the crowd-disambiguation machine, to the set of non-sensitive resources to generate an updated set of non-sensitive resources usable by the crowd-disambiguation machine in providing the crowd-sourced application in response to the determining that the stored tally exceeds the predetermined threshold; and

transmitting the updated set of non-sensitive resources to the private hinting service.

2. The method of claim 1 , wherein the resource identifier is received as a part of feedback information associated with rendering a web page by one of a plurality of client machines.

3. The method of claim 1 , further comprising providing a model of the set of non-sensitive resources to one or more of a plurality of client machines.

4. The method of claim 1 , further comprising:

receiving a hint request associated with a first resource from a first client machine;

determining whether the first resource is identified in the set of non-sensitive resources; and

in response to determining that the first resource is identified in the set of non-sensitive resources, providing hint information associated with the first resource to the first client machine.

5. The method of claim 1 , further comprising:

receiving a hint request associated with a first resource from a first client machine;

determining whether the first resource is identified in the set of non-sensitive resources; and

in response to determining that the first resource is not identified in the set of non-sensitive resources, providing ambiguated hint information associated with the first resource to the first client machine.

6. The method of claim 1 , wherein the resource identifier comprises one or more of a fully ambiguated resource instance (FARI) of the resource or a partially disambiguated resource instance (PDRI) of the resource.

7. The method of claim 1 , further comprising:

receiving, by the crowd-disambiguation machine, a second resource identifier, the second resource identifier for a second resource;

incrementing, by the crowd-disambiguation machine, a second stored tally indicating a quantity of instances of the second resource identifier received by the crowd-disambiguation machine from unique client machines;

receiving a hint request from a first client machine, the hint request associated with the second resource;

in response to determining that the second stored tally does not exceed a second predetermined threshold, determining, by the crowd-disambiguation machine, that the second resource is sensitive;

generating a hint response to the hint request, the generating the hint response omitting hint information for the second resource; and

transmitting the hint response to the first client machine.

8. The method of claim 1 , further comprising:

receiving, by the crowd-disambiguation machine, a second resource identifier, the second resource identifier for a second resource;

incrementing, by the crowd-disambiguation machine, a second stored tally indicating a quantity of instances of the second resource identifier received by the crowd-disambiguation machine from unique client machines;

receiving a hint request from a first client machine, the hint request associated with the second resource;

in response to determining that the second stored tally does not exceed a second predetermined threshold, determining, by the crowd-disambiguation machine, that the second resource is sensitive;

determining that the first client machine has previously indicated the second resource to the crowd-disambiguation machine;

generating a hint response to the hint request, the generating the hint response comprising hint information for the second resource; and

transmitting the hint response to the first client machine.

9. The method of claim 1 , wherein the resource is a uniform resource locator (URL).

10. A system for crowd-based disambiguation of potentially private data resources in a communications network, the system comprising:

means for receiving, from a private hinting service on a client side of the communications network, a resource identifier at a crowd-disambiguation machine from one of a plurality of client machines in association with client consumption of a crowd-sourced application of the crowd-disambiguation machine involving requesting a resource corresponding to the resource identifier;

means for analyzing a set of non-sensitive resources to determine whether the resource identifier is included in the set of non-sensitive resources;

means for incrementing a stored tally indicating a quantity of instances of the resource identifier received by the crowd-disambiguation machine from unique client machines, the incrementing responsive to determining that the resource identifier is included in the set of non-sensitive resources;

means for determining, by the crowd-disambiguation machine, whether the stored tally exceeds a predetermined threshold indicating that the resource is non-sensitive, the determining responsive to determining that the resource identifier is included in the set of non-sensitive resources;

means for adding the resource, by the crowd-disambiguation machine, to the set of non-sensitive resources to generate an updated set of non-sensitive resources usable by the crowd-disambiguation machine in providing the crowd-sourced application in response to the determining that the stored tally exceeds the predetermined threshold; and

means for transmitting the updated set of non-sensitive resources to the private hinting service, the transmitting responsive to adding the resource to the set of non-sensitive resources.

11. The system of claim 10 , wherein the resource identifier is received as a part of feedback information associated with rendering a web page by one of a plurality of client machines.

12. The system of claim 10 , further comprising means for providing a model of the set of non-sensitive resources to one or more of a plurality of client machines.

13. The system of claim 10 , further comprising:

means for receiving a hint request associated with a first resource from a first client machine;

means for determining whether the first resource is identified in the set of non-sensitive resources; and

means for providing hint information associated with the first resource to the first client machine in response to determining that the first resource is identified in the set of non-sensitive resources.

14. The system of claim 10 , further comprising:

means for receiving a hint request associated with a first resource from a first client machine;

means for determining whether the first resource is identified in the set of non-sensitive resources; and

means for providing ambiguated hint information associated with the first resource to the first client machine in response to determining that the first resource is not identified in the set of non-sensitive resources.

15. The system of claim 10 , wherein the resource identifier comprises one or more of a fully ambiguated resource instance (FARI) of the resource or a partially disambiguated resource instance (PDRI) of the resource.

16. The system of claim 10 , further comprising:

means for receiving a second resource identifier at a crowd-disambiguation machine, the second resource identifier for a second resource;

means for incrementing a second stored tally at the crowd-disambiguation machine, the second stored tally indicating a quantity of instances of the second resource identifier received by the crowd-disambiguation machine from unique client machines;

means for receiving a hint request from a first client machine, the hint request associated with the second resource;

means for determining that the second resource is sensitive in response to determining that the second stored tally does not exceed a second predetermined threshold;

means for generating a hint response to the hint request, the generating the hint response omitting hint information for the second resource; and

means for transmitting the hint response to the first client machine.

17. The system of claim 10 , further comprising:

means for receiving a second resource identifier at a crowd-disambiguation machine, the second resource identifier for a second resource;

means for incrementing a second stored tally at the crowd-disambiguation machine, the second stored tally indicating a quantity of instances of the second resource identifier received by the crowd-disambiguation machine from unique client machines;

means for receiving a hint request from a first client machine, the hint request associated with the second resource;

means for determining that the second resource is sensitive in response to determining that the second stored tally does not exceed a second predetermined threshold;

means for determining that the first client machine has previously indicated the second resource to the crowd-disambiguation machine;

means for generating a hint response to the hint request, the generating the hint response comprising hint information for the second resource; and

means for transmitting the hint response to the first client machine.

18. The system of claim 10 , wherein the resource is a uniform resource locator (URL).

19. The method of claim 1 , wherein the private hinting service provides private hinting functionality and the crowd-disambiguation machine provides non-private hinting functionality.

20. The system of claim 10 , wherein the private hinting service provides private hinting functionality and the crowd-disambiguation machine provides non-private hinting functionality.

Assignments (11)
PARTIAL RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 64176/0566 Recorded Jun 6, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
To: VIASAT, INC.
Reel/Frame 071510/0382 →
PARTIAL RELEASE OF SECURITY INTEREST AT REEL/FRAME 063822/0446 Recorded Jun 4, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VIASAT, INC.
Reel/Frame 071495/0223 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2025
From: MUFG BANK, LTD., AS AGENT
To: VIASAT, INC.
Reel/Frame 071321/0001 →
PARTIAL RELEASE OF SECURITY INTEREST AT REEL/FRAME 059332/0558 Recorded Jun 4, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VIASAT, INC.
Reel/Frame 071495/0152 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2025
From: VIASAT, INC.
To: SNAPPI HOLDCO, INC.
Reel/Frame 070293/0483 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2025
From: SNAPPI HOLDCO, INC.
To: SNAPPI, INC.
Reel/Frame 070293/0879 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Sep 19, 2023
From: VIASAT, INC.
To: MUFG BANK, LTD., AS AGENT
Reel/Frame 064948/0379 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Jun 29, 2023
From: VIASAT, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 064176/0566 →
SECURITY AGREEMENT Recorded Jun 1, 2023
From: VIASAT, INC.
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 063822/0446 →
SECURITY AGREEMENT Recorded Mar 7, 2022
From: VIASAT, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 059332/0558 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2020
From: LEARNER, DAVID F.; LARRICK, DOUGLAS C.; LEPESKA, PETER J.; TOTH, DEVIN R.
To: VIASAT, INC.
Reel/Frame 052378/0024 →