IP Library Granted Patent US 10,171,550
Granted Patent B1
US 10,171,550 · App. 15/280,378 · Granted Jan 1, 2019

Static tracker

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,171,550
App. No.
15/280,378
Granted
Jan 1, 2019
Kind
B1
Abstract

The present invention relates to systems, apparatus, and methods of scanning a response to a first HTTP request for a web page in order to identify a web object for prefetching, and using a static tracker to identify and improve results. In one potential alternative embodiment, after a response is scanned a web object may be prefetched to a proxy server prior to a browser requesting the web object. The proxy server may observe one or more HTTP requests that are associated with the response to the first HTTP request for the web page and measure the success of the prefetching. After success is measured for the specific instance of the web object and the web page, a success rate for prefetching or not prefetching the web object as associated with the web page may be updated.

Claims (71)

1. A computer-implemented method, comprising:

determining a probability that a web object will be requested as part of a web page transaction for a web page based on requests for the web object during prior web page transactions for the web page;

identifying a request for the web page from a first client computer;

identifying the web object as a candidate for prefetching based on the request for the web page, wherein the web object is a child object of the web page;

responsive to determining to prefetch the web object based on the probability, prefetching the web object;

observing child requests from the first client computer or a different client computer during a later web page transaction for the web page initiated by the first client computer or the different client computer;

determining whether the web object was requested by the first client computer or the different client computer during the later web page transaction; and

modifying the probability based on the determination whether the first client computer or the different client computer requested the web object during the later web page transaction.

2. The computer-implemented method of claim 1 , wherein the probability is based on a number times the web object was requested during the prior web page transactions for the web page.

3. The computer-implemented method of claim 1 , wherein at least one of the child requests is encrypted.

4. The computer-implemented method of claim 1 , wherein determining whether the web object was requested by the first client computer or the different client computer during the later web page transaction comprises, after a duration of time during which a request for the web object is not observed among the child requests from the first client computer or the different client computer, generating an inference that the web object was not requested by the first client computer or the different client computer during the later web page transaction.

5. The computer-implemented method of claim 4 , further comprising modifying the probability based on the inference.

6. The computer-implemented method of claim 1 , wherein determining whether the web object was requested by the first client computer or the different client computer during the later web page transaction comprises identifying among the child requests observed from the first client computer or the different client computer a request for the web object.

7. The computer-implemented method of claim 1 , wherein identifying the web object as a candidate for prefetching comprises accessing user-specific uniform resource locator (“URL”) tracker factors or global URL tracker factors.

8. The computer-implemented method of claim 1 , wherein modifying the probability comprises modifying the probability in real time.

9. The computer-implemented method of claim 1 , wherein the web object is prefetched using a dynamically-generated URL.

10. The computer-implemented method of claim 1 , wherein determining to prefetch the web object is further based on a file size of the web object or a link congestion.

11. The computer-implemented method of claim 1 , wherein determining to prefetch the web object is further based on whether the web object is cached at the first client computer or the different client computer.

12. The computer-implemented method of claim 1 , wherein determining to prefetch the web object is further based on a benefit to page load time of the web page based on prefetching the web object.

13. The computer-implemented method of claim 1 , determining to prefetch the web object is further based on a configuration setting of the first client computer or the different client computer.

14. The computer-implemented method of claim 1 , wherein identifying the web object as a candidate for prefetching comprises determining information associated with the web object from a parent object, and

the information comprises one or more of a container type, HTML tags, HTML attributes, an explicit importation parameter, a child URL extension, a child URL hostname, a child URL protocol prefix, a URL obtained from a javascript command.

15. The computer-implemented method of claim 1 , wherein the probability is associated with a first user and wherein the child requests are associated with the first user.

16. 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:

determine a probability that a web object will be requested as part of a web page transaction for a web page based on requests for the web object during prior web page transactions for the web page;

identify a request for the web page from a first client computer;

identify the web object as a candidate for prefetching based on the request for the web page, wherein the web object is a child object of the web page;

responsive to a determination to prefetch the web object based on the probability, prefetching the web object;

observe child requests from the first client computer or a different client computer during a later web page transaction for the web page initiated by the first client computer or the different client computer;

determining whether the web object was requested by the first client computer or the different client computer during the later web page transaction; and

modifying the probability based on the determination whether the first client computer or the different client computer requested the web object during the later web page transaction.

17. The system of claim 16 , wherein the probability is based on a number times the web object was requested during the prior web page transactions for the web page.

18. The system of claim 16 , wherein at least one of the child requests is encrypted.

19. The system of claim 16 , wherein the processor is further configured to execute program code in the non-transitory computer-readable medium to, after a duration of time during which a request for the web object is not observed among the child requests from the first client computer or the different client computer, generate an inference that the web object was not requested by the first client computer or the different client computer during the later web page transaction.

20. The system of claim 19 , wherein the processor is further configured to execute program code in the non-transitory computer-readable medium to modify the probability based on the inference.

21. The system of claim 16 , wherein the processor is further configured to execute program code in the non-transitory computer-readable medium to identify among the child requests observed from the first client computer or the different client computer a request for the web object.

22. The system of claim 16 , wherein the processor is further configured to execute program code in the non-transitory computer-readable medium to access user-specific uniform resource locator (“URL”) tracker factors or global URL tracker factors, and wherein the determination to prefetch the web object is further based on the user-specific URL tracker factors or the global URL tracker factors.

23. The system of claim 16 , wherein the processor is further configured to execute program code in the non-transitory computer-readable medium to modify the probability in real time.

24. The system of claim 16 , wherein the web object is prefetched using a dynamically-generated URL.

25. The system of claim 16 , wherein determination to prefetch the web object is further based on a file size of the web object or a link congestion.

26. The system of claim 16 , wherein the determination to prefetch the web object is further based on whether the web object is cached at the first client computer or the different client computer.

27. The system of claim 16 , wherein the determination to prefetch the web object is further based on a benefit to page load time of the web page based on prefetching the web object.

28. The system of claim 16 , wherein determination to prefetch the web object is further based on a configuration setting of the first client computer or the different client computer.

29. The system of claim 16 , wherein the processor is further configured to execute program code in the non-transitory computer-readable medium to determine information associated with the web object from a parent object, and

the information comprises one or more of a container type, HTML tags, HTML attributes, an explicit importation parameter, a child URL extension, a child URL hostname, a child URL protocol prefix, a URL obtained from a javascript command.

30. The system of claim 16 , wherein the probability is associated with a first user and wherein the child requests are associated with the first user.

31. A non-transitory computer-readable medium comprising processor-executable program code configured to cause a processor to:

determine a probability that a web object will be requested as part of a web page transaction for a web page based on requests for the web object during prior web page transactions for the web page;

identify a request for the web page from a first client computer;

identify the web object as a candidate for prefetching based on the request for the web page, wherein the web object is a child object of the web page;

responsive to a determination to prefetch the web object based on the probability, prefetching the web object;

observe child requests from the first client computer or a different client computer during a later web page transaction for the web page initiated by the first client computer or the different client computer;

determining whether the web object was requested by the first client computer or the different client computer during the later web page transaction; and

modifying the probability based on the determination whether the first client computer or the different client computer requested the web object during the later web page transaction.

32. The non-transitory computer-readable medium of claim 31 , wherein the probability is based on a number times the web object was requested during the prior web page transactions for the web page.

33. The non-transitory computer-readable medium of claim 31 , wherein at least one of the child requests is encrypted.

34. The non-transitory computer-readable medium of claim 31 , further comprising processor-executable program code configured to cause a processor to, after a duration of time during which a request for the web object is not observed among the child requests from the first client computer or the different client computer, generate an inference that the web object was not requested by the first client computer or the different client computer during the later web page transaction.

35. The non-transitory computer-readable medium of claim 34 , further comprising processor-executable program code configured to cause a processor to modify the probability based on the inference.

36. The non-transitory computer-readable medium of claim 31 , further comprising processor-executable program code configured to cause a processor to identify among the child requests observed from the first client computer or the different client computer a request for the web object.

37. The non-transitory computer-readable medium of claim 31 , further comprising processor-executable program code configured to cause a processor to access user-specific uniform resource locator (“URL”) tracker factors or global URL tracker factors, and wherein the determination to prefetch the web object is further based on the user-specific URL tracker factors or the global URL tracker factors.

38. The non-transitory computer-readable medium of claim 31 , further comprising processor-executable program code configured to cause a processor to modify the probability in real time.

39. The non-transitory computer-readable medium of claim 31 , wherein the web object is prefetched using a dynamically-generated URL.

40. The non-transitory computer-readable medium of claim 31 , wherein the determination to prefetch the web object is further based on a file size of the web object or a link congestion.

41. The non-transitory computer-readable medium of claim 31 , wherein the determination to prefetch the web object is further based on whether the web object is cached at the first client computer or the different client computer.

42. The non-transitory computer-readable medium of claim 31 , wherein the determination to prefetch the web object is further based on a benefit to page load time of the web page based on prefetching the web object.

43. The non-transitory computer-readable medium of claim 31 , wherein the determination to prefetch the web object is further based on a configuration setting of the first client computer or the different client computer.

44. The non-transitory computer-readable medium of claim 31 , further comprising processor-executable program code configured to cause a processor to determine information associated with the web object from a parent object, and

the information comprises one or more of a container type, HTML tags, HTML attributes, an explicit importation parameter, a child URL extension, a child URL hostname, a child URL protocol prefix, a URL obtained from a javascript command.

45. The non-transitory computer-readable medium of claim 31 , wherein the probability is associated with a first user and wherein the child requests are associated with the first user.

Assignments (11)
PARTIAL RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 48715/0589 Recorded Jun 6, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
To: VIASAT, INC.
Reel/Frame 071638/0083 →
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 →
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 →
SECURITY INTEREST Recorded Mar 27, 2019
From: VIASAT, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 048715/0589 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2017
From: LEPESKA, PETER; SEBASTIAN, WILLIAM B
To: VIASAT, INC.
Reel/Frame 041398/0245 →