IP Library Granted Patent US 12,299,174
Granted Patent B2
US 12,299,174 · App. 18/397,866 · Granted May 13, 2025

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/6263G06F16/9574G06F21/6245H04L47/83H04L67/5681H04L67/5682H04L9/0643H04L47/70H04L67/01
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 12,299,174
App. No.
18/397,866
Granted
May 13, 2025
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 (36)

1. A method for resolving private hints, the method comprising:

receiving a first resource fingerprint of an invoked resource from a client machine over a communications network, the first resource fingerprint comprising a first part and a second part;

executing a disambiguation function on the second part of the first resource fingerprint to resolve a portion of the second part;

identifying, within a plurality of stored resource fingerprints, a first set of stored fingerprints that include the first part of the first resource fingerprint;

identifying, within the first set of stored fingerprints, a first set of resolved second portions;

formulating an aggregated resolved second part of the invoked resource from the resolved portion of the second part and the first set of resolved second portions;

determining whether the aggregated resolved second part satisfies a disambiguation threshold; and

responsive to determining that the aggregated resolved second part of the invoked resource satisfies the disambiguation threshold, storing the invoked resource as a whitelisted resource in a whitelist data store.

2. The method of claim 1 , wherein the first part includes a fully ambiguated resource instance (FARI) of the invoked resource and the second part includes a partially disambiguated resource instance (PDRI) of the invoked resource.

3. The method of claim 1 , wherein the first resource fingerprint further comprises a third part, wherein the third part includes a disambiguation schema.

4. The method of claim 3 , wherein the disambiguation function is executed on the second part based on the disambiguation schema.

5. The method of claim 1 , wherein the first part is generated by applying an ambiguation function to an URL of the invoked resource.

6. The method of claim 5 , wherein the ambiguation function is a strong one-way cryptographic function of an URL of the invoked resource.

7. The method of claim 6 , wherein the ambiguation function is MD5.

8. The method of claim 1 , wherein the second part is generated by applying a lossy transform of a URL of the invoked resource.

9. The method of claim 2 , wherein the disambiguation threshold is a probability of resolving all characters of a URL of the invoked resource.

10. The method of claim 1 , wherein the disambiguation threshold is met when enough bits of a resource string are resolved to enable automatic disambiguation of remaining bits to a predetermined confidence level.

11. The method of claim 1 , further comprising including the whitelisted resource in hinting services across users.

12. A system for resolving private hints, the system comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the system to:

receive a first resource fingerprint of an invoked resource from a client machine over a communications network, the first resource fingerprint comprising a first part and a second part; and

execute a disambiguation function on the second part of the first resource fingerprint to resolve a portion of the second part;

identify, within a plurality of stored resource fingerprints, a first set of stored fingerprints that include the first part of the first resource fingerprint;

identify, within the first set of stored fingerprints, a first set of resolved second portions;

formulate an aggregated resolved second part of the invoked resource from the resolved portion of the second part and the first set of resolved second portions;

determine whether the aggregated resolved second part satisfies a disambiguation threshold; and

responsive to determining that the aggregated resolved second part of the invoked resource satisfies the disambiguation threshold, store the invoked resource as a whitelisted resource in a whitelist data store.

13. The system of claim 12 , wherein the first part includes a fully ambiguated resource instance (FARI) of the invoked resource and the second part includes a partially disambiguated resource instance (PDRI) of the invoked resource.

14. The system of claim 12 , wherein the first resource fingerprint further comprises a third part, wherein the third part includes a disambiguation schema.

15. The system of claim 14 , wherein the disambiguation function is executed on the second part based on the disambiguation schema.

16. The system of claim 12 , wherein the first part is generated by applying an ambiguation function to an URL of the invoked resource.

17. The system of claim 16 , wherein the ambiguation function is a strong one-way cryptographic function of an URL of the invoked resource.

18. The system of claim 17 , wherein the ambiguation function is MD5.

19. The system of claim 12 , wherein the second part is generated by applying a lossy transform of a URL of the invoked resource.

20. The system of claim 12 , wherein the disambiguation threshold is a probability of resolving all characters of a URL of the invoked resource.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2024
From: LERNER, DAVID F.; LEPESKA, PETER J.; LARRICK, DOUGLAS C.; TOTH, DEVIN R.
To: VIASAT, INC.
Reel/Frame 069577/0600 →
Continuity (4)
Continuation 17488157 · Sep 28, 2021
Continuation 16521064 · Jul 24, 2019
Continuation 15758918
Related Publication 20240320366A1 · Sep 26, 2024
References Cited (86)
US 5485609A · Vitter et al. · 1996 [cited by applicant]
US 6055569A · Obrien et al. · 2000 [cited by applicant]
US 6085193A · Malkin et al. · 2000 [cited by applicant]
US 6622168B1 · Datta · 2003 [cited by applicant]
US 6721780B1 · Kasriel et al. · 2004 [cited by applicant]
US 7113935B2 · Saxena · 2006 [cited by applicant]
US 7716332B1 · Topfl et al. · 2010 [cited by applicant]
US 8136089B2 · Snodgrass et al. · 2012 [cited by applicant]
US 8224964B1 · Fredrickson et al. · 2012 [cited by applicant]
US 8335838B2 · Zhang et al. · 2012 [cited by applicant]
US 8341245B1 · Roskind et al. · 2012 [cited by applicant]
US 8478843B1 · Ortlieb et al. · 2013 [cited by applicant]
US 8561185B1 · Muthusrinivasan · 2013 [cited by examiner]
US 8566788B2 · Snodgrass et al. · 2013 [cited by applicant]
US 9037638B1 · Lepeska · 2015 [cited by examiner]
US 9083583B1 · Roskind et al. · 2015 [cited by applicant]
US 9135364B1 · Sundaram et al. · 2015 [cited by applicant]
US 9146909B2 · Khorashadi · 2015 [cited by examiner]
US 9239862B2 · Mizrotsky · 2016 [cited by examiner]
US 9460229B2 · Lepeska et al. · 2016 [cited by applicant]
US 9747386B1 · Jenkins et al. · 2017 [cited by applicant]
US 10043038B2 · Dubovský · 2018 [cited by examiner]
US 10181019B2 · Barday · 2019 [cited by examiner]
US 10372780B1 · Lepeska et al. · 2019 [cited by applicant]
US 10387676B2 · Lerner et al. · 2019 [cited by applicant]
US 10491703B1 · Lepeska · 2019 [cited by examiner]
US 10554684B2 · Manthena · 2020 [cited by examiner]
US 11144667B2 · Lerner et al. · 2021 [cited by applicant]
US 11176219B1 · Lepeska et al. · 2021 [cited by applicant]
US 11176223B1 · Hill · 2021 [cited by applicant]
US 11899819B2 · Lerner et al. · 2024 [cited by applicant]
US 20010047517A1 · Christopoulos et al. · 2001 [cited by applicant]
US 20020010761A1 · Carneal et al. · 2002 [cited by applicant]
US 20040064577A1 · Dahlin et al. · 2004 [cited by applicant]
US 20050193096A1 · Yu et al. · 2005 [cited by applicant]
US 20060075068A1 · Kasriel et al. · 2006 [cited by applicant]
US 20060294223A1 · Glasgow · 2006 [cited by examiner]
US 20080091711A1 · Snodgrass et al. · 2008 [cited by applicant]
US 20080114773A1 · Choi et al. · 2008 [cited by applicant]
US 20090019153A1 · Sebastian · 2009 [cited by applicant]
US 20090112975A1 · Beckman et al. · 2009 [cited by applicant]
US 20090228782A1 · Fraser · 2009 [cited by applicant]
US 20090276488A1 · Alstad · 2009 [cited by applicant]
US 20100083271A1 · Boykin · 2010 [cited by examiner]
US 20100146415A1 · Lepeska · 2010 [cited by applicant]
US 20110258532A1 · Ceze et al. · 2011 [cited by applicant]
US 20110295979A1 · Alstad et al. · 2011 [cited by applicant]
US 20120066586A1 · Shemesh · 2012 [cited by applicant]
US 20120084348A1 · Lee · 2012 [cited by examiner]
US 20120239598A1 · Cascaval et al. · 2012 [cited by applicant]
US 20120284597A1 · Burkard · 2012 [cited by examiner]
US 20130031459A1 · Khorashadi et al. · 2013 [cited by applicant]
US 20130166634A1 · Holland · 2013 [cited by applicant]
US 20130226992A1 · Bapst · 2013 [cited by examiner]
US 20130297561A1 · Mizrotsky · 2013 [cited by examiner]
US 20140172453A1 · Bar-or · 2014 [cited by examiner]
US 20140279851A1 · Rangarajan · 2014 [cited by examiner]
US 20140280838A1 · Finn · 2014 [cited by examiner]
US 20150058358A1 · Xu · 2015 [cited by examiner]
US 20150156194A1 · Modi et al. · 2015 [cited by applicant]
US 20150188949A1 · Mahaffey · 2015 [cited by examiner]
US 20150350370A1 · Lepeska · 2015 [cited by examiner]
US 20160117355A1 · Krishnamurthy · 2016 [cited by examiner]
US 20160203337A1 · Dubovský · 2016 [cited by examiner]
US 20160217294A1 · Hornquist Astrand · 2016 [cited by examiner]
US 20160371507A1 · Jakobsson · 2016 [cited by examiner]
US 20170034302A1 · Han · 2017 [cited by examiner]
US 20170187536A1 · Meriac · 2017 [cited by examiner]
US 20170277908A1 · Danielson · 2017 [cited by examiner]
US 20180115625A1 · Livneh · 2018 [cited by examiner]
US 20180139222A1 · Wan · 2018 [cited by examiner]
US 20180247076A1 · Lerner · 2018 [cited by examiner]
US 20180288089A1 · Manthena · 2018 [cited by examiner]
US 20220391533A1 · Lerner et al. · 2022 [cited by applicant]
EP 1041497B1 · 2005 [cited by applicant]
WO 2010081160A2 · 2010 [cited by applicant]
WO 2017048226A1 · 2017 [cited by applicant]
De La Ossa et al., , “Delfos: the Oracle to Predict Next Web User's Accesses”, 21st International Conference on Advanced Networking and Applications (AINA '07), DOI: 0-7695-2846, May 2007, 8 pgs. [cited by applicant]
Grigorik, Ilya , “Chrome Networking: DNS Prefetch & TCP Preconnect”, Jun. 4, 2012, 5pgs. [cited by applicant]
Grigorik, Ilya , “Eliminating Roundtrips with Preconnect”, https://www.igvita.com/2015/08/17/eliminating-roundtrips-with-preconnect, Aug. 17, 2015, 4 pgs. [cited by applicant]
Grigorik, Ilya , “High Performance Networking in Google Chrome”, https://www.igvita.com/posa/high-performance-networking-in-google-chrome, Jan. 31, 2013, 20 pgs. [cited by applicant]
Grigorik , et al., “Resource Hints, W3C First Public Working Draft”, https://wwww3.org/TR/2014/WD-resource-hints-20141021, Oct. 21, 2014, 10 pgs. [cited by applicant]
Grigorik , et al., “Resource Hints, W3C Working Draft”, https://www.w3.org/TR/2016/WD-resource-hints-20160225, Feb. 25, 2016, 13 pgs. [cited by applicant]
PCT/US2015/050021 , “International Preliminary Report on Patentability mailed in International (PCT)”, Mar. 29, 2018, 9 pgs. [cited by applicant]
PCT/US2015/050021 , “International Search Report and Written Opinion mailed in International (PCT)”, Dec. 8, 2015, 11 pgs. [cited by applicant]
Souders, Steve , “Prebrowsing”, https://www.stevesouders.com/blog/2013/11/07/prebrowsing, Nov. 7, 2013, 8 pgs. [cited by applicant]