IP Library Granted Patent US 6,915,384
Granted Patent B2
US 6,915,384 · App. 10/389,163 · Granted Jul 5, 2005

Multiple-level persisted template caching

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 6,915,384
App. No.
10/389,163
Granted
Jul 5, 2005
Kind
B2
Abstract

Methods and apparatuses are provided for use with a web server device, and which permit the web server logic to selectively store template data associated with one or more Active Server Pages (ASPs) or other like web pages in a multiple-level template storage arrangement that includes a first level storage mechanism within primary memory and at least one subsequent level storage mechanism within a secondary memory device.

Claims (45)

1. An apparatus comprising:

primary memory;

secondary memory; and

logic operatively coupled to said primary and secondary memory and configured to selectively store template data in a first level template cache in said primary memory and to selectively store at least a portion of said template data in at least one subsequent level template cache in said secondary memory, said first level template cache including a buffer suitable for storing template data associated with at least one web page, said logic being configured to selectively store said template data associated with said web page in said buffer if said logic determines that a web request demand level for said web page exceeds a first level threshold value.

2. The apparatus as recited in claim 1 , wherein said web request demand level is determined over a defined period of time by said logic.

3. The apparatus as recited in claim 1 , wherein said logic is configured to selectively stop storing said template data associated with said web page in said buffer if said logic determines that said web request demand level for said web page does not exceed a first level threshold value.

4. The apparatus as recited in claim 3 , wherein said logic is configured to selectively store at least a portion of said template data associated with said web page in said secondary memory if said logic determines that said web request demand level for said web page does not exceed said first level threshold value.

5. The apparatus as recited in claim 4 , wherein said logic is configured to selectively stop storing said template data associated with said web page in said secondary memory if said logic determines that said web request demand level for said web page does not exceed a subsequent level threshold value.

6. The apparatus as recited in claim 4 , wherein said logic is configured to selectively store at least a second portion of said template data associated with said web page in said primary memory, but not in said buffer, if said logic determines that said web request demand level for said web page does not exceed said first level threshold value.

7. The apparatus as recited in claim 6 , wherein said logic is configured to selectively stop storing said portion of template data associated with said web page in said secondary memory if said logic determines that said web request demand level for said web page does not exceed a subsequent level threshold value.

8. A method for use in a web server device having at least one processing unit, primary memory and secondary memory, the method comprising: selectively storing template data in a first level template cache in said primary memory;

subsequently selectively storing at least a portion of said template data in at least one subsequent level template cache in said secondary memory; and

generating at least a portion of said template data based on at least one file; and

outputting at least a portion of a web page using said stored template data.

9. The method as recited in claim 8 , wherein said template data includes at least a template flat structure portion associated with at least a portion of at least one web page.

10. The method as recited in claim 9 , wherein said template data further includes a template meta information portion associated with said template flat structure portion.

11. The method as recited in claim 8 , wherein said first level template cache includes a buffer suitable for storing template data associated with at least one web page.

12. The method as recited in claim 11 , wherein selectively storing template data in said first level template cache in said primary memory further includes determining if a web request demand level for said web page exceeds a first level threshold value and if so, then selectively storing template data in said first level template cache.

13. The method as recited in claim 12 , further comprising determining said demand level during a defined period of time.

14. The method as recited in claim 12 , further comprising not storing said template data associated with said web page in said buffer if said web request demand level for said web page does not exceed a first level threshold value.

15. The method as recited in claim 14 , further comprising selectively storing at least a portion of said template data associated with said web page in said secondary memory if said web request demand level for said web page does not exceed said first level threshold value.

16. The method as recited in claim 15 , further comprising not storing said template data associated with said web page in said secondary memory if said web request demand level for said web page does not exceed a subsequent level threshold value.

17. The method as recited in claim 15 , further comprising selectively storing at least a second portion of said template data associated with said web page in said primary memory, but not in said buffer, if said web request demand level for said web page does not exceed said first level threshold value.

18. The method as recited in claim 17 , further comprising not storing said portion of template data associated with said web page in said secondary memory if said web request demand level for said web page does not exceed a subsequent level threshold value.

19. The method as recited in claim 11 , further comprising using a Least Recently Used (LRU) buffering scheme to control said buffer.

20. The method as recited in claim 8 , wherein said primary memory includes solid state memory circuits and said secondary memory includes at least one data storage medium selected from a group of data storage media including magnetic disk media, magnetic tape media, and optical disc media.

21. The method as recited in claim 8 , wherein said template data includes Active Server Page (ASP) template data.

22. A computer-readable medium having computer implementable instructions for configuring at least one processing unit operatively coupled to a primary memory and at least one secondary memory to perform acts comprising:

selectively storing template data in a first level template cache in said primary memory;

subsequently selectively storing at least a portion of said template data in at least one subsequent level template cache in said secondary memory; and

generating at least a portion of said template data based on at least one file; and

outputting at least a portion of a web page using said stored template data.

23. The computer-readable medium as recited in claim 22 , wherein said template data includes at least a template flat structure portion associated with at least a portion of at least one web page.

24. The computer-readable medium as recited in claim 23 , wherein said template data further includes a template meta information portion associated with said template flat structure portion.

25. The computer-readable medium as recited in claim 22 , wherein said first level template cache includes a buffer suitable for storing template data associated with at least one web page.

26. The computer-readable medium as recited in claim 25 , wherein selectively storing template data in said first level template cache in said primary memory further includes determining if a web request demand level for said web page exceeds a first level threshold value and if so, then selectively storing template data in said first level template cache.

27. The computer-readable medium as recited in claim 26 , further comprising determining said demand level during a defined period of time.

28. The computer-readable medium as recited in claim 26 , further comprising not storing said template data associated with said web page in said buffer if said web request demand level for said web page does not exceed a first level threshold value.

29. The computer-readable medium as recited in claim 28 , further comprising selectively storing at least a portion of said template data associated with said web page in said secondary memory if said web request demand level for said web page does not exceed said first level threshold value.

30. The computer-readable medium as recited in claim 29 , further comprising not storing said template data associated with said web page in said secondary memory if said web request demand level for said web page does not exceed a subsequent level threshold value.

31. The computer-readable medium as recited in claim 29 , further comprising selectively storing at least a second portion of said template data associated with said web page in said primary memory, but not in said buffer, if said web request demand level for said web page does not exceed said first level threshold value.

32. The computer-readable medium as recited in claim 31 , further comprising not storing said portion of template data associated with said web page in said secondary memory if said web request demand level for said web page does not exceed a subsequent level threshold value.

33. The computer-readable medium as recited in claim 25 , further comprising using a Least Recently Used (LRU) buffering scheme to control said buffer.

34. The computer-readable medium as recited in claim 22 , wherein said primary memory includes solid state memory circuits and said secondary memory includes at least one data storage medium selected from a group of data storage media including magnetic disk media, magnetic tape media, and optical disc media.

35. The computer-readable medium as recited in claim 22 , wherein said template data includes Active Server Page (ASP) template data.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE RECORDAL TO REMOVE INADVERTENTLY RECOREDED PROPERTIES SHOWN IN ATTACHED SHEET PREVIOUSLY RECORDED AT REEL: 047681 FRAME: 0916. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 18, 2019
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: SERVICENOW, INC.
Reel/Frame 049797/0119 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2018
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: SERVICENOW, INC.
Reel/Frame 047681/0916 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2003
From: MITRA, ASIM; MORRISON, ANDY; D'SOUZA, RAYNER S.; HO, RAYMOND
To: MICROSOFT CORPORATION
Reel/Frame 013882/0206 →