IP Library Granted Patent US 10,735,548
Granted Patent B1
US 10,735,548 · App. 15/948,177 · Granted Aug 4, 2020

Utilizing page information regarding a prior loading of a web page to generate hinting information for improving load time of a future loading of the web page

Inventors: Peter J Lepeska (Boston, MA); William B Sebastian (Campton, NH)
Assignee: VIASAT, INC.
H04L67/2847H04L67/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 10,735,548
App. No.
15/948,177
Granted
Aug 4, 2020
Kind
B1
Abstract

Embodiments of the invention include methods in which a browsing assistance module receives page information regarding a prior loading of a web page by a first web browser. The first web browser can be one of a plurality of web browsers in communication with the browsing assistance module. The page information can identify child universal resource locators (URLs) fetched by the first web browser as part of the prior loading of the web page. The browsing assistance module can then generate hinting information from the page information. The hinting information can comprise page loading instructions, which can aid the web browsers shorten a load time of a future loading of the web page. The hinting information can be stored in association with an identification of the web page. The web browsers can download the hinting information in conjunction with a future loading of the web page or a related web page by the web browsers.

Claims (123)

1. A method comprising:

receiving, at a browsing assistance module, page information regarding a prior loading of a web page stored at a content server by a first web browser of a plurality of web browsers, wherein the page information identifies child universal resource locators (URLs) fetched by the first web browser as part of the prior loading of the web page;

analyzing, by the browsing assistance module, the page information;

generating, by the browsing assistance module from the analysis of the page information, hinting information, wherein the hinting information comprises page loading instructions for the plurality of web browsers for shortening a load time of the web page; and

storing the hinting information in association with an identification of the web page such that the hinting information is available for download by the plurality of web browsers in conjunction with a future loading of the web page or a related web page;

wherein:

the child URLs comprise a first child URL fetched by the first web browser from a first web domain and a second child URL fetched by the first web browser from a second web domain that is different than the first web domain, and

web objects associated with the first domain are on the content server and web objects associated with the second domain are on a different server.

2. The method of claim 1 , wherein the generating comprises:

identifying in the page information a parameter from the prior loading of the web page by the first web browser, and

associating one of the child URLs in the page information with the identified parameter,

wherein the hinting information comprises a page loading instruction to pre-fetch the one of the child URLs upon encountering the parameter during the future loading of the web page.

3. The method of claim 1 , wherein:

the page information further comprises a first root URL corresponding to a root object fetched by the first web browser as part of the prior loading of the web page; and

the generating comprises:

identifying a field in the first root URL;

associating one of the child URLs in the page information with the identified field,

wherein the hinting information comprises a page loading instruction to pre-fetch the one of the child URLs upon encountering a root URL that comprises the identified field during the future loading of the web page.

4. The method of claim 3 further comprising:

receiving, at the browsing assistance module, second page information following a second loading of the web page by one of the plurality of web browsers;

determining, by the browsing assistance module, that the second page information:

indicates that a root URL comprising the identified field was fetched as part of the second loading of the web page, but

lacks an indication that the one of the child URLs was fetched as part of the second loading of the web page; and

updating the hinting information by decreasing a pre-fetching probability associated with the one of the child URLs.

5. The method of claim 3 further comprising:

receiving, at the browsing assistance module, second page information relating to a second loading of the web page by one of the plurality of web browsers;

determining, by the browsing assistance module, that the second page information indicates that:

a second root URL that is different than the first root URL but nevertheless comprises the identified field was fetched as part of the second loading of the web page, and

the one of the child URLs was fetched as part of the second loading of the web page;

updating the hinting information by increasing a pre-fetching probability associated with the one of the child URLs.

6. The method of claim 1 , wherein the page information comprises render times of a plurality of the child URLs during the prior loading of the web page.

7. The method of claim 1 , wherein the page information identifies a child URL fetched by the first web browser from its local cache during the prior loading of the web page.

8. The method of claim 1 , wherein:

the hinting information comprises, for a child URL on the web page, an identification of a second server from which to pre-fetch the child URL, and

the second server is different than the content server.

9. The method of claim 1 , wherein the hinting information comprises information for caching, at a second web browser of the plurality of web browsers, child objects of the child URLs on the web page.

10. The method of claim 9 , wherein the hinting information for caching one of the child objects comprises an indication of a most recent time the child object was modified.

11. The method of claim 1 further comprising:

receiving, at the browsing assistance module, second page information relating to a second loading of the web page,

updating, by the browsing assistance module from the second page information, the stored hinting information.

12. The method of claim 1 further comprising:

receiving, by the browsing assistance module from a second web browser of the plurality of web browsers, a request for hinting information associated with the web page; and

in response to the request, sending, by the browsing assistance module to the second web browser, the stored hinting information.

13. The method of claim 1 further comprising, after the generating, sending, by the browsing assistance module to a second web browser of the plurality of web browsers, the hinting information for use by the second web browser in the future loading of the web page.

14. The method of claim 1 further comprising:

downloading, by one of the plurality of web browsers, the stored hinting information; and

loading, by the one of the plurality of web browsers, the web page or the related web page utilizing the downloaded hinting information.

15. The method of claim 14 , wherein utilizing the downloaded hinting information comprises:

prefetching, by the one of the plurality of web browsers, one of the child URLs identified in the hinting information; and

utilizing, by the one of the plurality of web browsers, the prefetched child URL as part of the loading of the web page or the related web page.

16. A method comprising:

receiving, at a browsing assistance module, page information regarding a prior loading of a web page stored at a content server by a first web browser of a plurality of web browsers, wherein the page information identifies child universal resource locators (URLs) fetched by the first web browser as part of the prior loading of the web page;

analyzing, by the browsing assistance module, the page information;

generating, by the browsing assistance module from the analysis of the page information, hinting information, wherein the hinting information comprises page loading instructions for the plurality of web browsers for shortening a load time of the web page; and

storing the hinting information in association with an identification of the web page such that the hinting information is available for download by the plurality of web browsers in conjunction with a future loading of the web page or a related web page,

wherein the page information further indicates an order in which a plurality of the child URLs were used by the first web browser as part of the prior loading of the web page.

17. A method comprising:

receiving, at a browsing assistance module, page information regarding a prior loading of a web page stored at a content server by a first web browser of a plurality of web browsers, wherein the page information identifies child universal resource locators (URLs) fetched by the first web browser as part of the prior loading of the web page;

analyzing, by the browsing assistance module, the page information;

generating, by the browsing assistance module from the analysis of the page information, hinting information, wherein the hinting information comprises page loading instructions for the plurality of web browsers for shortening a load time of the web page; and

storing the hinting information in association with an identification of the web page such that the hinting information is available for download by the plurality of web browsers in conjunction with a future loading of the web page or a related web page,

wherein the page information comprises a timing dependency of one of the child URLs with respect to another of the child URLs during the prior loading of the web page.

18. The method of claim 17 , wherein the timing dependency indicates that the one of the child URLs is dependent on the other of the child URLs.

19. A method comprising:

receiving, at a browsing assistance module, page information regarding a prior loading of a web page stored at a content server by a first web browser of a plurality of web browsers, wherein the page information identifies child universal resource locators (URLs) fetched by the first web browser as part of the prior loading of the web page;

analyzing, by the browsing assistance module, the page information;

generating, by the browsing assistance module from the analysis of the page information, hinting information, wherein the hinting information comprises page loading instructions for the plurality of web browsers for shortening a load time of the web page; and

storing the hinting information in association with an identification of the web page such that the hinting information is available for download by the plurality of web browsers in conjunction with a future loading of the web page or a related web page,

wherein the page information comprises a dependency of one of the child URLs on an identified cookie.

20. A method comprising:

receiving, at a browsing assistance module, page information regarding a prior loading of a web page stored at a content server by a first web browser of a plurality of web browsers, wherein the page information identifies child universal resource locators (URLs) fetched by the first web browser as part of the prior loading of the web page;

analyzing, by the browsing assistance module, the page information;

generating, by the browsing assistance module from the analysis of the page information, hinting information, wherein the hinting information comprises page loading instructions for the plurality of web browsers for shortening a load time of the web page; and

storing the hinting information in association with an identification of the web page such that the hinting information is available for download by the plurality of web browsers in conjunction with a future loading of the web page or a related web page,

wherein the generating comprises determining a probability for each of a plurality of the child URLs that the child URL will be fetched as part of the future loading of the web page.

21. The method of claim 20 further comprising, in response to receiving, at the browsing assistance module, second page information relating to a second loading of the web page, updating the probabilities of a set of the plurality of the child URLs.

22. The method of claim 20 , wherein:

the hinting information comprises a subset of less than all child URLs on the web page for pre-fetching, and

the probability of each of the child URLs in the subset is greater than a threshold probability.

23. A method comprising:

receiving, at a browsing assistance module, page information regarding a prior loading of a web page stored at a content server by a first web browser of a plurality of web browsers, wherein the page information identifies child universal resource locators (URLs) fetched by the first web browser as part of the prior loading of the web page;

analyzing, by the browsing assistance module, the page information;

generating, by the browsing assistance module from the analysis of the page information, hinting information, wherein the hinting information comprises page loading instructions for the plurality of web browsers for shortening a load time of the web page; and

storing the hinting information in association with an identification of the web page such that the hinting information is available for download by the plurality of web browsers in conjunction with a future loading of the web page or a related web page,

wherein:

the web page is served by the content server encrypted, and

the page information identifies child URLs fetched by the first web browser from different domains.

24. A method comprising:

receiving, at a browsing assistance module, page information regarding a prior loading of a web page stored at a content server by a first web browser of a plurality of web browsers, wherein the page information identifies child universal resource locators (URLs) fetched by the first web browser as part of the prior loading of the web page;

analyzing, by the browsing assistance module, the page information;

generating, by the browsing assistance module from the analysis of the page information, hinting information, wherein the hinting information comprises page loading instructions for the plurality of web browsers for shortening a load time of the web page; and

storing the hinting information in association with an identification of the web page such that the hinting information is available for download by the plurality of web browsers in conjunction with a future loading of the web page or a related web page,

wherein:

the hinting information comprises a subset of less than all child URLs on the web page for pre-fetching, and

the child URLs of the subset are the child URLs of the web page with the highest probabilities of being fetched as part of the future rendering of the web page.

25. The method of claim 24 , wherein:

the child URLs comprise a first child URL fetched by the first web browser from a first web domain and a second child URL fetched by the first web browser from a second web domain that is different than the first web domain, and

web objects associated with the first domain are on the content server and web objects associated with the second domain are on a different server.

26. A method comprising:

receiving, at a browsing assistance module, page information regarding a prior loading of a web page stored at a content server by a first web browser of a plurality of web browsers, wherein the page information identifies child universal resource locators (URLs) fetched by the first web browser as part of the prior loading of the web page;

analyzing, by the browsing assistance module, the page information;

generating, by the browsing assistance module from the analysis of the page information, hinting information, wherein the hinting information comprises page loading instructions for the plurality of web browsers for shortening a load time of the web page; and

storing the hinting information in association with an identification of the web page such that the hinting information is available for download by the plurality of web browsers in conjunction with a future loading of the web page or a related web page,

wherein:

the generating comprises:

identifying parameters in the page information, and

determining whether a plurality of the parameters corresponds to a model of the web page stored at the browsing assistance module; and

if the plurality of the parameters corresponds to the model of the web page, including in the hinting information as child URLs for pre-fetching, child URLs associated with the plurality of the parameters in the model.

27. The method of claim 26 , wherein the generating further comprises, if the plurality of the parameters does not correspond to a model of the web page stored at the browsing assistance module, creating a model of the web page using the parameters.

28. A method comprising:

receiving, at a browsing assistance module, page information regarding a prior loading of a web page stored at a content server by a first web browser of a plurality of web browsers, wherein the page information identifies child universal resource locators (URLs) fetched by the first web browser as part of the prior loading of the web page;

analyzing, by the browsing assistance module, the page information;

generating, by the browsing assistance module from the analysis of the page information, hinting information, wherein the hinting information comprises page loading instructions for the plurality of web browsers for shortening a load time of the web page; and

storing the hinting information in association with an identification of the web page such that the hinting information is available for download by the plurality of web browsers in conjunction with a future loading of the web page or a related web page,

wherein the generating comprises determining a probability that one or more of the child URLs will be fetched as part of the future rendering of the web page.

29. A method comprising:

receiving, at a browsing assistance module, page information regarding a prior loading of a web page stored at a content server by a first web browser of a plurality of web browsers, wherein the page information identifies child universal resource locators (URLs) fetched by the first web browser as part of the prior loading of the web page;

analyzing, by the browsing assistance module, the page information;

generating, by the browsing assistance module from the analysis of the page information, hinting information, wherein the hinting information comprises page loading instructions for the plurality of web browsers for shortening a load time of the web page; and

storing the hinting information in association with an identification of the web page such that the hinting information is available for download by the plurality of web browsers in conjunction with a future loading of the web page or a related web page,

wherein:

the generating comprises determining from the page information that a second of the child URLs is dependent on a first of the child URLs, and

the hinting information comprises a page loading instruction to fetch the first of the child URLs before fetching the second of the child URLs.

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 Jun 11, 2018
From: LEPESKA, PETER J; SEBASTIAN, WILLIAM B
To: VIASAT, INC.
Reel/Frame 046049/0392 →
Cited By (2)
US 12,563,131 US 12,639,391