IP Library Granted Patent US 9,264,510
Granted Patent B2
US 9,264,510 · App. 14/255,220 · Granted Feb 16, 2016

Method and system for adaptive prefetching

Inventor: Avinash C. Saxena (Plano, TX)
Assignee: Parallel Networks, LLC
H04L67/2847G06F17/30902Y10S707/99932Y10S707/99933
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,264,510
App. No.
14/255,220
Granted
Feb 16, 2016
Kind
B2
Abstract

A cache server prefetches one or more web pages from an origin server prior to those web pages being requested by a user. The cache server determines which web pages to prefetch based on a graph associated with a prefetch module associated with the cache server. The graph represents all or a portion of the web pages at the origin server using one or more nodes and one or more links connecting the nodes. Each link has an associated transaction weight and user weight. The transaction weight represents the importance of the link and associated web page to the origin server and may be used to control the prefetching of web pages by the cache server. The user weight may be used to change a priority associated with a request for a web page. The user weight and transaction weight may change based on criteria associated with the origin server.

Claims (47)

1. A method for prefetching web pages, comprising:

retrieving a first web page at a cache server in response to a request for the first web page;

assigning a transaction weight to each of one or more second web pages linked to the retrieved first web page, the transaction weight indicating a relative importance of a particular web page by a source of the particular web page compared to other web pages at the source;

determining whether to prefetch the one or more second web pages linked to the retrieved first web page, wherein a second web page is prefetched when its transaction weight exceeds a prefetch threshold; and

prefetching, prior to a request, those second web pages linked to the retrieved first web page whose transaction weight exceeds the prefetch threshold.

2. The method of claim 1 , wherein the source of the one or more second web pages is one or more origin servers, each origin server having a different prefetch threshold associated therewith.

3. The method of claim 1 , further comprising:

dynamically adjusting the prefetch threshold based on a processing load experienced at the cache server.

4. The method of claim 1 , further comprising:

dynamically adjusting the prefetch threshold based on a current bandwidth available to the cache server.

5. The method of claim 1 , further comprising:

increasing the prefetch threshold in response to increased traffic at the cache server.

6. The method of claim 1 , further comprising:

dynamically adjusting the prefetch threshold based on a processing load experienced at the source.

7. The method of claim 1 , further comprising:

increasing a transaction weight for a particular page to be prefetched in response to the particular page being previously retrieved a set amount of times.

8. The method of claim 1 , further comprising:

decreasing a transaction weight for a particular page to be prefetched in response to the particular page not being retrieved over a defined time period.

9. The method of claim 1 , further comprising:

determining whether to update the transaction weight associated with a particular page in response to retrieval of the particular page.

10. A non-transitory computer readable storage medium including code for prefetching a web page, the code operable when executed to:

retrieve a first web page for a cache server in response to a request for the first web page;

assign a transaction weight to each of one or more second web pages linked to the retrieved first web page, the transaction weight indicating a relative importance of a particular web page by a source of the particular web page compared to other web pages at the source;

determine whether to prefetch the one or more second web pages linked to the retrieved first web page, wherein a second web page is prefetched when its transaction weight exceeds a prefetch threshold; and

prefetch, prior to a request, those second web pages linked to the retrieved first web page whose transaction weight exceeds the prefetch threshold.

11. The non-transitory computer readable storage medium of claim 10 , wherein the code is further operable to:

dynamically adjust the prefetch threshold based on any of a processing load experienced at the cache server and a current bandwidth available to the cache server.

12. The non-transitory computer readable storage medium of claim 10 , wherein the code is further operable to:

dynamically adjust the prefetch threshold based on a processing load experienced at the source.

13. The non-transitory computer readable storage medium of claim 10 , wherein the code is further operable to:

increase the prefetch threshold in response to increased traffic at the cache server.

14. The non-transitory computer readable storage medium of claim 10 , wherein the code is further operable to:

increase or decrease a transaction weight for a particular page to be prefetched in response to any of the particular page being previously retrieved a set amount of times or not retrieved over a defined time period.

15. The non-transitory computer readable storage medium of claim 10 , wherein the code is further operable to:

determine whether to update the transaction weight associated with a particular page in response to retrieval of the particular page.

16. A system for prefetching a web page, comprising:

means for retrieving a first web page for a cache server in response to a request for the first web page;

means for assigning a transaction weight to each of one or more second web pages linked to the retrieved first web page, the transaction weight indicating a relative importance of a particular web page by a source of the particular web page compared to other web pages at the source;

means for determining whether to prefetch the one or more second web pages linked to the retrieved first web page, wherein a second web page is prefetched when its transaction weight exceeds a prefetch threshold; and

means for prefetching, prior to a request, those second web pages linked to the retrieved first web page whose transaction weight exceeds the prefetch threshold.

17. The system of claim 16 , further comprising:

means for dynamically adjusting the prefetch threshold based on any of a processing load experienced at the cache server, a current bandwidth available to the cache server, and a traffic level at the cache server.

18. The system of claim 16 , further comprising: means for increasing or decreasing a transaction weight for a particular page to be prefetched in response to any of the particular page being previously retrieved a set amount of times or not being retrieved over a defined time period.

19. The system of claim 16 , further comprising:

means for dynamically adjusting the prefetch threshold based on a processing load experienced at the source.

20. The system of claim 16 , further comprising:

means for determining whether to update the transaction weight associated with a particular page in response to retrieval of the particular page.

Assignments (6)
COURT ORDER Recorded Apr 22, 2021
From: PARALLEL NETWORKS LICENSING, LLC
To: MICROSOFT CORPORATION
Reel/Frame 056027/0120 →
CHANGE OF NAME Recorded Apr 17, 2014
From: EPICREALM INC.
To: EPICREALM OPERATING INC.
Reel/Frame 032699/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2014
From: SAXENA, AVINASH C
To: EPICREALM INC.
Reel/Frame 032699/0168 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2014
From: EPICREALM OPERATING INC.
To: EPICREALM LICENSING LLC
Reel/Frame 032699/0335 →
MERGER Recorded Apr 17, 2014
From: EPICREALM LICENSING, LLC
To: EPICREALM LICENSING, LP
Reel/Frame 032699/0490 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2014
From: EPICREALM LICENSING, LP
To: PARALLEL NETWORKS LLC
Reel/Frame 032699/0643 →
Continuity (5)
Continuation 13608178 · Sep 10, 2012
Continuation 13079557 · Apr 4, 2011
Continuation 11534971 · Sep 25, 2006
Continuation 09731365 · Dec 6, 2000
Related Publication 20140229564A1 · Aug 14, 2014