IP Library Granted Patent US 9,407,717
Granted Patent B1
US 9,407,717 · App. 14/622,004 · Granted Aug 2, 2016

Selective prefetch scanning

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 9,407,717
App. No.
14/622,004
Granted
Aug 2, 2016
Kind
B1
Abstract

The present invention relates to systems, apparatus, and methods of enhancing prefetcher functionality by scanning responses object requests. In certain embodiments, prefetching is improved by identifying references to container objects or sections of container objects at a proxy server. When URLs are identified as part of a container object, a prefetching determination or adjustment to a prefetching decision is made according to the identification of the reference for a subset of URLs identified by the reference to the container object. For example, prefetching of URLs located in cascading style sheet (CSS) files may be restricted to a subset of URLs which are identified by a CSS rule.

Claims (66)

1. A method for selective prefetch scanning in a web client/server communications system connecting a web client and a web server, the method comprising:

scanning a first response at a prefetcher;

identifying, in the first response, a reference to a first section of a container object, wherein the container object includes a set of uniform resource locators (URLs) and the reference to the first section of the container object identifies a subset of the set of URLs;

scanning a second response comprising the container object and the reference by a container object scanner of the web/client server communication system;

determining whether the reference substantially matches one of a collection of recently applied references stored in an applied reference store communicatively coupled with the container object scanner; and

when the reference substantially matches one of the stored collection of recently applied references, adjusting a first prefetch decision for the subset of the set of URLs.

2. The method of claim 1 , wherein:

the web client/server communications system connects the web client and the web server via a proxy; and

scanning the first response and identifying the reference are performed by the proxy.

3. The method of claim 2 , wherein:

the web client is running on a user system; and

the proxy is implemented as a software application running on the user system.

4. The method of claim 3 , wherein the proxy operates within a web browser running on the user system.

5. The method of claim 2 , wherein:

the web client is running on a user system; and

the proxy is implemented in a computer system connected to the user system via a high speed, low latency link.

6. The method of claim 1 , further comprising:

subsequent to scanning the first response, adding the reference to the collection of recently applied references stored in the applied reference store.

7. The method of claim 1 , wherein scanning the second response occurs prior to scanning the first response.

8. The method of claim 1 , wherein:

the web/client server communication system further comprises:

a known reference store configured to maintain a collection of known references; and

a hypertext markup language (HTML) scanner communicatively coupled with the applied reference store; and

the container object scanner is further communicatively coupled with the known reference store and the HTML scanner.

9. The method of claim 8 , further comprising:

subsequent to scanning the second response, adding the reference to the stored collection of known references.

10. The method of claim 1 , wherein adjusting the first prefetch decision for the subset of the set of URLs based on the identifying of the reference comprises:

determining a priority level associated with the reference; and

communicating the subset of the set of URLs to the prefetcher, the prefetcher configured to prefetch objects and/or push prefetched objects according at least to a prefetching threshold priority level.

11. The method of claim 1 wherein:

the prefetcher comprises a prefetch model and wherein the prefetch model comprises a plurality of bins, each corresponding to a set of web object characteristics; and

adjusting the first prefetch decision for the subset of the set of URLs based on the identifying of the reference comprises altering a characteristic associated with the reference that is one of the set of web object characteristics.

12. The method of claim 1 , wherein the first prefetch decision comprises a set of statistical factors that are regularly updated to model a probability related to a user selection.

13. A system for selective prefetch scanning, the system comprising:

an applied reference store configured to maintain a collection of recently applied references in a proxy;

a known reference store configured to maintain a collection of known references in a proxy;

a hypertext markup language (HTML) scanner, communicatively coupled with the applied reference store and the known reference store, and configured to:

scan a first response at a prefetcher; and

identify, in the first response, a reference to a first section of a container object, the container object includes a set of uniform resource locators (URLs), and the first section of the container object identifies a subset of the set of URLs; and

a container object scanner, communicatively coupled with the applied reference store, the known reference store, and the HTML scanner, and configured to:

scan a second response comprising the container object and the reference;

determine whether the reference substantially matches one of the collection of recently applied references stored in the applied references store; and

when the reference substantially matches one of the stored collection of recently applied references, adjusting a prefetch decision for the subset of the set of URLs.

14. The system of claim 13 , wherein:

the HTML scanner is further configured to store the reference in the applied reference store; and

the container scanner is further configured to store the reference in the known reference store.

15. The system of claim 14 , further comprising:

a prefetch filter, communicatively coupled with the HTML scanner and the container scanner, and configured to:

receive the subset of URLs; and

determine whether to communicate the subset of URLs to a prefetcher based on a priority associated with the reference.

16. The system of claim 15 , wherein the prefetch filter is further configured to:

determine whether to adjust a priority level associated with the subset of URLs prior to communicating the subset of URLs to the prefetcher, the prefetcher being configured to prefetch the subset of URLs according at least to a threshold priority level.

17. A system for selective prefetch scanning, the system comprising:

a non-transitory machine-readable medium for selective prefetch scanning in a communications system, the machine-readable medium having non-transitory instructions stored thereon which, when executed by a machine, cause the machine to perform steps comprising:

scanning a first response at a prefetcher;

identifying, in the first response, a reference to a first section of a container object, wherein the container object includes a set of uniform resource locators (URLs) and the reference to the first section of the container object identifies a subset of the set of URLs;

scanning a second response comprising the container object and the reference;

determining whether the reference substantially matches one of a collection of recently applied references stored in an applied reference store; and

when the reference substantially matches one of the stored collection of recently applied references, adjusting a first prefetch decision for the subset of the set of URLs.

18. The system of claim 17 , the machine comprising:

a container object scanner that operates to scan the second response according to the non-transitory instructions being executed by the machine,

wherein the applied reference store is communicatively coupled with the container object scanner.

19. The system of claim 17 , the machine comprising:

a proxy that operates to scan the first response and identify the reference according to the non-transitory instructions being executed by the machine.

20. The system of claim 19 , wherein the proxy is implemented as a web browser application running on a user system.

21. The system of claim 19 , wherein the machine is implemented in a communications system having a web client in communication with a web server over a communications network, the web client is implemented in a user system, and the proxy is implemented in a computer system connected to the user system via a high speed, low latency link.

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 Jun 9, 2015
From: MANISCALCO, MICHAEL; SEBASTIAN, WILLIAM B
To: VIASAT, INC.
Reel/Frame 035808/0955 →