IP Library Granted Patent US 10,972,573
Granted Patent B1
US 10,972,573 · App. 15/238,169 · Granted Apr 6, 2021

Browser optimization through user history analysis

Inventors: Peter Lepeska (Boston, MA); William B. Sebastian (Falmouth, MA)
Assignee: VIASAT, INC.
H04L67/2847H04L67/02H04L67/22H04L67/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 10,972,573
App. No.
15/238,169
Filed
Aug 16, 2016
Granted
Apr 6, 2021
Kind
B1
Art Unit
2456
USPC
709/201
Abstract

The present invention relates to systems, apparatus, and methods of using real user history data to improve prefetching for a web page transaction. In one potential embodiment a method includes a proxy server observing a first web page transaction that has a first root HTTP request, a first root HTTP response, at least one child HTTP request, and at least one child HTTP response. The server may then extract a parameter from the web page transaction and correlating the parameter with the child HTTP request. In a later web page transaction, the parameter may be used to predict the child HTTP being requested even when the web page transactions are different.

Claims (50)

1. A method comprising:

receiving, at a computing device, a web object from a content server;

determining, by the computing device, whether the web object is a root object or a child object;

responsive to determining that the web object is a child object, identifying, by the computing device, a first root object of a pending web page transaction, the web object requested as a part of the pending web page transaction; and

associating the web object with the pending web page transaction.

2. The method of claim 1 , wherein the computing device is a proxy server or a proxy client.

3. The method of claim 1 , wherein identifying the first root object comprises accessing a list of active root objects or a referral tree.

4. The method of claim 1 , wherein determining whether the web object is the root object or a child object of the pending web page transaction comprises determining whether the web object includes text information.

5. The method of claim 4 , further comprising scanning the text information.

6. The method of claim 4 , wherein the text information comprises HTML tags.

7. The method of claim 6 , further comprising, responsive to identifying a title HTML tag in the text information, determining the web object is the first root object.

8. The method of claim 7 , further comprising adding the first root object to a list of active root objects.

9. The method of claim 4 , further comprising, responsive to determining the web object does not include text information, determining the web object is a child object.

10. The method of claim 1 , wherein determining whether the web object is the root object or a child object of the pending web page transaction comprises determining whether web object comprises an HTTP 304 response.

11. The method of claim 10 , further comprising, responsive to determining the web object is the root object and that the web object comprises an HTTP 304 response:

accessing a tracking history for a uniform resource locator (“URL”) associated with the root object; and

prefetching one or more child objects associated with the URL.

12. A system comprising:

a non-transitory computer-readable medium; and

a processor in communication with the non-transitory computer-readable medium and configured to execute program code in the non-transitory computer-readable medium to:

receive, at a computing device, a web object from a content server;

determine, by the computing device, whether the web object is a root object or a child object; and

responsive to a determination that the web object is a child object, identify, by the computing device, a first root object of a pending web page transaction, the web object requested as a part of the pending web page transaction, and

associate the web object with the pending web page transaction.

13. The system of claim 12 , wherein the processor is further configured to execute program code in the non-transitory computer-readable medium to access a list of active root objects or a referral tree to identify the first root object.

14. The system of claim 12 , wherein the processor is further configured to execute program code in the non-transitory computer-readable medium to determining whether the web object includes text information.

15. The system of claim 14 , wherein the processor is further configured to execute program code in the non-transitory computer-readable medium to scan the text information.

16. The system of claim 14 , wherein the text information comprises HTML tags.

17. The system of claim 16 , wherein the processor is further configured to execute program code in the non-transitory computer-readable medium to, responsive to identifying a title HTML tag in the text information, determine the web object is the first root object.

18. The system of claim 14 , wherein the processor is further configured to execute program code in the non-transitory computer-readable medium to add the first root object to a list of active root objects.

19. The system of claim 14 , wherein the processor is further configured to execute program code in the non-transitory computer-readable medium to, responsive to a determination that the web object does not include text information, determine the web object is a child object.

20. The system of claim 12 , wherein the processor is further configured to execute program code in the non-transitory computer-readable medium to determine whether web object comprises an HTTP 304 response.

21. The system of claim 20 , wherein the processor is further configured to execute program code in the non-transitory computer-readable medium to, responsive to determining the web object is the root object and that the web object comprises an HTTP 304 response:

access a tracking history for a uniform resource locator (“URL”) associated with the root object; and

prefetch one or more child objects associated with the URL.

22. A non-transitory computer-readable medium comprising processor-executable program code configured to cause a processor to receive, at a computing device, a web object from a content server;

determine, by the computing device, whether the web object is a root object or a child object; and

responsive to a determination that the web object is a child object, identify, by the computing device, a first root object of a pending web page transaction, the web object requested as a part of the pending web page transaction, and

associate the web object with the pending web page transaction.

23. The non-transitory computer-readable medium of claim 22 , further comprising processor-executable program code configured to cause a processor to access a list of active root objects or a referral tree to identify the first root object.

24. The non-transitory computer-readable medium of claim 22 , further comprising processor-executable program code configured to cause a processor to determine whether the web object includes text information.

25. The non-transitory computer-readable medium of claim 24 , further comprising processor-executable program code configured to cause a processor to scan the text information.

26. The non-transitory computer-readable medium of claim 24 , wherein the text information comprises HTML tags.

27. The non-transitory computer-readable medium of claim 26 , further comprising processor-executable program code configured to cause a processor to, responsive to identification of a title HTML tag in the text information, determine the web object is the first root object.

28. The non-transitory computer-readable medium of claim 24 , further comprising processor-executable program code configured to cause a processor to add the first root object to a list of active root objects.

29. The non-transitory computer-readable medium of claim 24 , further comprising processor-executable program code configured to cause a processor to, responsive to a determination that the web object does not include text information, determine the web object is a child object.

30. The non-transitory computer-readable medium of claim 22 , further comprising processor-executable program code configured to cause a processor to determine whether web object comprises an HTTP 304 response.

31. The non-transitory computer-readable medium of claim 30 , further comprising processor-executable program code configured to cause a processor to, responsive to determining the web object is the root object and that the web object comprises an HTTP 304 response:

access a tracking history for a uniform resource locator (“URL”) associated with the root object; and

prefetch one or more child objects associated with the URL.

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 Nov 9, 2016
From: LEPESKA, PETER; SEBASTIAN, WILLIAM B
To: VIASAT, INC.
Reel/Frame 040273/0454 →
Continuity (3)
Continuation 13372397 · Feb 13, 2012
Provisional Application 61442119 · Feb 11, 2011
Provisional Application 61550296 · Oct 21, 2011