IP Library Granted Patent US 11,983,234
Granted Patent B2
US 11,983,234 · App. 17/672,614 · Granted May 14, 2024

Progressive prefetching

Inventors: Peter Lepeska (Boston, MA); William B. Sebastian (Falmouth, MA)
Assignee: VIASAT, INC.
G06F16/9574G06F16/9566H04L67/01H04L67/02H04L67/535H04L67/563H04L67/568H04L67/5681H04L67/5682
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,983,234
App. No.
17/672,614
Granted
May 14, 2024
Kind
B2
Abstract

The present invention relates to systems, apparatus, and methods of using usage data to determine the dependency structures of a web application, including dependency structures between follow-on objects of an initial object in a web transaction. In one embodiment, an input URL and associated dynamic response data are analyzed for such nested or dependent relationships. In further embodiments, analysis of these relationships are used to improve prefetching operations to lower overall page load times.

Claims (37)

1. A method for performing progressive prefetching in a web page transaction, the method comprising:

observing, using a computing device, at least a portion of a first web page transaction including a first root request for a first root object and a first root response to the first root request;

identifying serialization indicators in the first root request or the first root response;

responsive to determining that the first web page transaction has previously been observed as part of a previous web page transaction, retrieving serialization information for the first web page transaction based on the previous web page transaction, the retrieved serialization information added to the identified serialization indicators;

retrieving one or more child objects based at least in part on the serialization indicators;

observing, using the computing device, further portions of the first web page transaction including one or more child requests for the one or more child objects and one or more child responses to the one or more child requests;

upon completion of the first web page transaction, analyzing the first web page transaction to identify serializing interdependencies between objects that include the first root object and the one or more child objects; and

responsive to determining that the serializing interdependencies includes new serialization indicators, updating the serialization indicators associated with the first web page transaction to generate updated serialization indicators.

2. The method of claim 1 , wherein the retrieved serialization information for the first web page transaction comprises a root template.

3. The method of claim 2 further comprising updating the root template with the updated serialization indicators.

4. The method of claim 1 , wherein observing further portions of the first web page transaction occurs concurrently with retrieving the one or more child objects.

5. The method of claim 1 , wherein the serializing interdependencies includes timing analysis in conjunction with previous records for web page transactions analogous to the first web page transaction.

6. The method of claim 1 further comprising, responsive to determining that the first web page transaction has not previously been observed as part of any previous web page transaction, creating a new entry in a data store for the first web page transaction that includes the updated serialization indicators.

7. The method of claim 1 further comprising, responsive to determining that the first web page transaction has not previously been observed as part of any previous web page transaction, creating a new root template for the first web page transaction that includes the updated serialization indicators.

8. The method of claim 1 further comprising updating one or more child origin models using the updated serialization indicators.

9. The method of claim 1 further comprising updating the serialization information with the updated serialization indicators in one or more web page templates responsive to determining that the one or more web page templates includes objects related to the first root object or the one or more child objects.

10. The method of claim 1 , wherein analyzing the first web page transaction to identify the serializing interdependencies between objects comprises analyzing timing information of the first root object and the one or more child objects.

11. A computing device configured to perform progressive prefetching, the computing device comprising:

a processor;

a network connection communicatively coupled to a client computer and a content server computer; and

a computer-readable storage medium having instructions stored thereon for causing the processor to execute a progressive prefetcher, the progressive prefetcher configured to:

observe at least a portion of a first web page transaction including a first root request for a first root object and a first root response to the first root request;

identify serialization indicators in the first root request or the first root response;

responsive to determining that the first web page transaction has previously been observed as part of a previous web page transaction, retrieve serialization information for the first web page transaction based on the previous web page transaction, the retrieved serialization information added to the identified serialization indicators;

retrieve one or more child objects based at least in part on the serialization indicators;

observe further portions of the first web page transaction including one or more child requests for the one or more child objects and one or more child responses to the one or more child requests;

upon completion of the first web page transaction, analyze the first web page transaction to identify serializing interdependencies between objects that include the first root object and the one or more child objects; and

responsive to determining that the serializing interdependencies includes new serialization indicators, update the serialization indicators associated with the first web page transaction to generate updated serialization indicators in the computer-readable storage medium.

12. The computing device of claim 11 , wherein the computing device comprises a proxy server.

13. The computing device of claim 11 , wherein the computing device comprises a prefetch analysis server.

14. The computing device of claim 11 , wherein the computing device comprises a client device.

15. The computing device of claim 11 , wherein the progressive prefetcher is further configured to generate a list of instructions regarding timing of child requests.

16. The computing device of claim 11 , wherein the updated serialization indicators include information indicating a point within a web page transaction when a child object is to be prefetched within a chain of child requests.

17. The computing device of claim 11 , wherein the progressive prefetcher is further configured to, responsive to determining that the first web page transaction has not previously been observed as part of any previous web page transaction, create new data in the computer-readable storage medium for the first web page transaction that includes the updated serialization indicators.

18. The computing device of claim 11 , wherein the progressive prefetcher is further configured to update the serialization information with the updated serialization indicators in one or more web page templates responsive to determining that the one or more web page templates includes objects related to the first root object or the one or more child objects.

19. The computing device of claim 11 , wherein the progressive prefetcher is further configured to observe the further portions of the first web page transaction occurs concurrently with retrieving the one or more child objects.

20. The computing device of claim 11 , wherein the serializing interdependencies includes timing analysis in conjunction with previous records for web page transactions analogous to the first web page transaction.

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 064164/0152 Recorded Jun 4, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VIASAT, INC.
Reel/Frame 071484/0233 →
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: BANK OF AMERICA, N.A.
Reel/Frame 064164/0152 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2022
From: LEPESKA, PETER; SEBASTIAN, WILLIAM B.
To: VIASAT, INC.
Reel/Frame 061109/0617 →
Continuity (6)
Continuation 16942217 · Jul 29, 2020
Continuation 15887559 · Feb 2, 2018
Continuation 13371374 · Feb 10, 2012
Provisional Application 61550296 · Oct 21, 2011
Provisional Application 61442119 · Feb 11, 2011
Related Publication 20220405342A1 · Dec 22, 2022
Cited By (1)
US 12,407,750