IP Library Granted Patent US 7,552,195
Granted Patent B2
US 7,552,195 · App. 10/663,325 · Granted Jun 23, 2009

Dynamic page generation acceleration using component-level caching by determining a maximum navigation probability for a particular cacheline

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,552,195
App. No.
10/663,325
Granted
Jun 23, 2009
Kind
B2
Abstract

A preloader works in conjunction with a web/app server and optionally a profile server to cache web page content elements or components for faster on-demand and anticipatory dynamic web page delivery. The preloader uses a cache manager to manage requests for retrievals, insertions, and removal of web page components in a component cache. The preloader uses a cache replacement manager to manage the replacement of components in the cache. While the cache replacement manager may utilize any cache replacement policy, a particularly effective replacement policy utilizes predictive information to make replacement decisions. Such a policy uses a profile server, which predicts a user's next content request. The components that can be cached are identified by tagging them within the dynamic scripts that generate them. The preloader caches components that are likely to be accessed next, thus improving a web site's scalability.

Claims (28)

1. A method for caching a content element, comprising:

receiving a content element insertion request;

computing a navigation probability data field for a cacheline in which said content element is to be stored, where said computing accounts for a maximum navigation probability (MNP) of said cacheline, and wherein said MNP is defined as a maximum probability from a plurality of probabilities, wherein the plurality of probabilities comprises each probability for each other cacheline that a user will request said content element from a content element stored the other cacheline, and wherein each probability is determined using a quantity of predecessors for the corresponding cacheline; and

associating the content element with a content element node and storing the content element and the content element node in a component cache, said content element node comprising said navigation probability data field.

2. The method of claim 1 , wherein the content element node further comprises a node identifier (NodeID) data field, timestamp data field, a content component, and a next node data component comprising node identifiers for all nodes that are reachable in a single step from a current node.

3. The method of claim 1 , further comprising determining that the content element should not reside in the component cache.

4. The method of claim 3 , wherein said determining that the content element should not reside in the component cache comprises determining whether a second content element should replace the content element.

5. The method of claim 3 , wherein said determining that the content element should not reside in the component cache comprises determining how recently the content element has been referenced.

6. The method of claim 3 , wherein said determining that the content element should not reside in the component cache comprises determining the likelihood that the content element will be needed.

7. A system for caching a content element, comprising:

a processor;

a software component configured to receive a content element insertion request;

a software component configured to compute a navigation probability data field for a cacheline in which said content element is to be stored, where said computing accounts for a maximum navigation probability (MNP) of said cacheline, and wherein said MNP is defined as a maximum probability from a plurality of probabilities wherein the plurality of probabilities comprises each probability for each other cacheline that a user will request said content element from a content element stored in one or more other cachelines, and wherein each probability is determined using a quantity of predecessors for the corresponding cachelines; and

a software component configured to associate the content element with a content element node and storing the content element and the content element node in a component cache, said content element node comprising said navigation probability data field.

8. The system of claim 7 , wherein the content element node further comprises a node identifier (NodeID) data field, timestamp data field, a content component, and a next node data component comprising node identifiers for all nodes that are reachable in a single step from a current node.

9. The system of claim 7 , further comprising a component configured to determine that the content element should not reside in the component cache.

10. The system of claim 9 , wherein said component configured to determine that the content element should not reside in the component cache also determines whether a second content element should replace the content element.

11. The system of claim 9 , wherein said component configured to determine that the content element should not reside in the component cache also determines how recently the content element has been referenced.

12. The system of claim 9 , wherein said component configured to determine that the content element should not reside in the component cache also determines the likelihood that the content element will be needed.

13. A computer readable medium having stored thereon computer executable instructions for caching a content element, said computer executable instructions comprising instructions for:

receiving a content element insertion request;

computing a navigation probability data field for a cacheline in which said content element is to be stored, where said computing accounts for a maximum navigation probability (MNP) of said cacheline, and wherein said MNP is defined as a maximum probability from a plurality of probabilities wherein the plurality of probabilities comprises each probability for each other cacheline that a user will request said content element from a content element stored in one or more other cachelines, and wherein each probability is determined using a quantity of predecessors for the corresponding cachelines; and

associating the content element with a content element node and storing the content element and the content element node in a component cache, said content element node comprising said navigation probability data field.

14. The computer readable medium of claim 13 , wherein the content element node further comprises a node identifier (NodeID) data field, timestamp data field, a content component, and a next node data component comprising node identifiers for all nodes that are reachable in a single step from a current node.

15. The computer readable medium of claim 13 , further comprising instructions for determining that the content element should not reside in the component cache.

16. The computer readable medium of claim 15 , wherein said instructions for determining that the content element should not reside in the component cache comprise instructions for determining whether a second content element should replace the content element.

17. The computer readable medium of claim 15 , wherein said instructions for determining that the content element should not reside in the component cache comprise instructions for determining how recently the content element has been referenced.

18. The computer readable medium of claim 15 , wherein said instructions for determining that the content element should not reside in the component cache comprise instructions for determining the likelihood that the content element will be needed.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2016
From: ROVI CORPORATION
To: ROVI TECHNOLOGIES CORPORATION
Reel/Frame 037702/0307 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2016
From: INTELLECTUAL VENTURES ASSETS 1 LLC
To: ROVI CORPORATION
Reel/Frame 037686/0754 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2016
From: BENHOV GMBH, LLC
To: INTELLECTUAL VENTURES ASSETS 1 LLC
Reel/Frame 037625/0196 →
MERGER Recorded Oct 21, 2015
From: CHUTNEY TECHNOLOGIES, INC., A GEORGIA CORPORATION
To: CHUTNEY TECHNOLOGIES, INC., A DELAWARE CORPORATION
Reel/Frame 036847/0870 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2015
From: DATTA, ANINDYA
To: CHUTNEY TECHNOLOGIES, INC.
Reel/Frame 036847/0114 →
MERGER Recorded Sep 30, 2015
From: INTEGRATED ARCHITECTURE, LLC
To: BENHOV GMBH, LLC
Reel/Frame 036698/0125 →
RELEASE OF SECURITY INTEREST Recorded Dec 15, 2006
From: SILICON VALLEY BANK
To: CHUTNEY TECHNOLOGIES, INC.
Reel/Frame 018635/0688 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2006
From: CHUTNEY TECHNOLOGIES, INC.
To: INTEGRATED ARCHITECTURE, LLC
Reel/Frame 018635/0448 →