IP Library Granted Patent US 7,921,117
Granted Patent B2
US 7,921,117 · App. 11/534,971 · Granted Apr 5, 2011

Method and system for adaptive prefetching

Assignee: Parallel Networks, LLC
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 7,921,117
App. No.
11/534,971
Granted
Apr 5, 2011
Kind
B2
Abstract

A cache server ( 18 ) may prefetch one or more web pages ( 30 ) from an origin server ( 16 ) prior to those web pages being requested by a user ( 13 ). The cache server determines which web pages to prefetch based on a graph ( 42 ) associated with a prefetch module ( 40 ) 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 ( 130 ) and one or more links ( 100 ) connecting the nodes. Each link has an associated transaction weight ( 102 ) and user weight ( 104 ). 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 ( 46 ) associated with a request ( 22 ) for a web page. The user weight and transaction weight may change based on criteria ( 50 ) associated with the origin server.

Claims (57)

1. A method for data processing in a network environment, comprising;

receiving a first request for a first web page, the first web page having associated links to one or more second web pages, wherein the first request has a priority, the priority of the first request being adjusted by a priority of a user initiating the request;

servicing the first request in response to the first request having a higher adjusted priority than all other requests waiting to be serviced;

providing the first web page associated with the request;

identifying a transaction priority for each link to the one or more second web pages;

comparing the transaction priority for each link to a prefetch threshold;

prefetching those second web pages whose link transaction priority exceeds the prefetch threshold;

identifying a user priority for each link to the one or more second web pages, the user priority associated with the user;

receiving a second request for one of the second web pages from the user;

adjusting a priority of the second request by the user priority;

servicing the second request in response to the second request having a higher adjusted priority than all other requests waiting to be serviced.

2. The method of claim 1 , further comprising:

dynamically adjusting the transaction and user priorities of the links in response to the first web page being requested.

3. The method of claim 1 , further comprising:

dynamically adjusting the transaction and user priorities of the links in response to previously requested web pages.

4. The method of claim 1 , further comprising:

dynamically adjusting a value of the prefetch threshold in response to network conditions.

5. The method of claim 1 , wherein the transaction priority indicates a relative importance of the second web pages according to an originator of the second web pages.

6. The method of claim 5 , further comprising:

dynamically adjusting the transaction priority in response to the first web page being requested.

7. The method of claim 1 , wherein the user priority indicates a relative importance of the user according to an originator of the first web page.

8. The method of claim 7 , further comprising:

dynamically adjusting the user priority in response to the first web page being requested.

9. The method of claim 1 , further comprising:

associating the second web pages to one or more third web pages, the particular one of the second web pages having associated links to one or more third web pages;

identifying a transaction priority for each link to the one or more third web pages;

prefetching those second web pages and those third web pages whose link transaction priority exceeds the prefetch threshold.

10. A system for data processing in a network environment, comprising:

means for receiving a first request for a first web page, the first web page having associated links to one or more second web pages, wherein the first request has a priority, the priority of the first request being adjusted by a priority of a user initiating the first request;

means for servicing the first request in response to the first request having a higher adjusted priority than all other requests waiting to be serviced;

means for providing the first web page associated with the first request;

means for identifying a transaction priority for each link to the one or more second web pages, the transaction priority indicating a relative importance of the second web pages according to an originator of the second web pages;

means for comparing the transaction priority for each link to a prefetch threshold;

means for prefetching those second web pages whose link transaction priority exceeds the prefetch threshold;

means for identifying a user priority for each link to the one or more second web pages, the user priority associated with the user;

means for receiving a second request for one of the second web pages from the user;

means for adjusting a priority of the second request by the user priority;

means for servicing the second request in response to the second request having a higher adjusted priority than all other requests waiting to be serviced.

11. The system of claim 10 , further comprising:

means for dynamically adjusting the transaction and user priorities of the links in response to any of the first web page being requested and previously requested web pages.

12. The system of claim 10 , further comprising:

means for dynamically adjusting a value of the prefetch threshold in response to network conditions.

13. The system of claim 10 , further comprising:

means for associating the second web pages to one or more third web pages, the particular one of the second web pages having associated links to one or more third web pages;

means for identifying a transaction priority for each link to the one or more third web pages;

means for prefetching those second web pages and those third web pages whose link transaction priority exceeds the prefetch threshold.

14. The system of claim 13 , further comprising:

means for dynamically adjusting the transaction priorities of the links to any of the one or more second web pages and the one or more third web pages in response to any of the first web page being requested and previously requested web pages.

15. A system for data processing in a network environment, comprising:

a processor operable to receive a first request for a first web page, the first web page having associated links to one or more second web pages, wherein the first request has a priority, the priority of the first request being adjusted by a priority of a user initiating the request, the processor operable to service the first request in response to the first request having a higher adjusted priority than all other requests waiting to be serviced, the processor operable to provide the first web page associated with the first request, the processor operable to identify a transaction priority for each link to the one or more second web pages, wherein the transaction priorities of the links indicating a relative importance of the second web pages according to an originator of the send web pages the processor operable to compare the transaction priority for each link to a prefetch threshold, the processor operable to prefetch those second web pages whose link transaction priority exceeds the prefetch threshold, the processor operable to identify a user priority for each link to the one or more second web pages, the user priority associated with the user, the processor operable to receive a second request for one of the second web pages from the user, the processor operable to adjust a priority of the second request by the user priority, the processor operable to service the second request in response to the second request having a higher adjusted priority than all other requests waiting to be serviced.

16. The system of claim 15 , wherein the processor is further operable to dynamically adjust the transaction and user priorities of the links in response to any of the first web page being requested and previously requested web pages.

17. The system of claim 15 , wherein the processor is further operable to dynamically adjust a value of the prefetch threshold in response to network conditions.

18. The system of claim 15 , wherein the processor is further operable to:

associate the second web pages to one or more third web pages, the second web pages having associated links to one or more third web pages;

identify a transaction priority for each link to the one or more third web pages;

prefetch those second web pages and those third web pages whose link transaction priority exceeds the prefetch threshold.

19. The system of claim 18 , wherein the processor is further operable to dynamically adjust the transaction priorities of the links to any of the one or more second web pages and the one or more third web pages in response to any of the first web page being requested and previously requested web pages.

Assignments (5)
CHANGE OF NAME Recorded Sep 26, 2007
From: EPICREALM INC.
To: EPICREALM OPERATING INC.
Reel/Frame 019886/0591 →
NUNC PRO TUNC ASSIGNMENT Recorded Sep 26, 2007
From: EPICREALM OPERATING INC.
To: EPICREALM LICENSING LLC
Reel/Frame 019886/0631 →
MERGER Recorded Sep 26, 2007
From: EPICREALM LICENSING, LLC
To: EPICREALM LICENSING, LP
Reel/Frame 019886/0728 →
NUNC PRO TUNC ASSIGNMENT Recorded Sep 26, 2007
From: EPICREALM LICENSING, LP
To: PARALLEL NETWORKS, LLC
Reel/Frame 019886/0769 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2006
From: SAXENA, AVINASH C.
To: EPICREALM INC.
Reel/Frame 018299/0501 →
Continuity (2)
Continuation 09731365 · Dec 6, 2000
Related Publication 20070022102A1 · Jan 25, 2007