Partial page output caching
First Claim
1. A machine-readable medium having instructions recorded thereon, such that when the instructions are read and executed by a processor in a first computing system connected to a network, the first computing system performs a method comprising:
- receiving, at the first computing system, a request for a web page from a second computing system, the requested web page having content;
creating on the first computing system a page object having references to component objects in response to the received request for information, the page object being created based on a page file, each component object of the page object representing a user control within the page file, wherein creating the page object includes;
retrieving from an output cache any component object that represents one of the user controls of the page file and is contained in the output cache, andretrieving from another source executable code for any component object that represents one of the user controls of the page file and is not contained in the output cache and instantiating the executable code to create the component object;
determining whether any of the component objects referenced by the page object correspond with a user control that supports output caching; and
caching the component object in the output cache if the component object corresponds with a user control that supports output caching, the component object cached using a cache key that comprises an identifier that is unique for each occurrence of the component object, the cache key being created when the page object is created;
inserting the retrieved component objects of the page object and the created component objects of the page object into a hierarchical tree data model at the first computing system, each component object being linked to a prior component object if a prior component object exists, and each component object being linked to a next component object if a next component object exists;
processing the components of the hierarchical tree data model to create a renderable page at the first computing system; and
sending the created renderable page from the first computing system to the second computing system.
2 Assignments
0 Petitions
Accused Products
Abstract
A method provides for output caching of a portion of a web page, and thereby allows the cached portion to be used in web pages for a predetermined period of time without the need to regenerate that portion of the web page. A server computing system receives a request for information from a client computer system. The server computing system creates, in response to the received request, a page having portions. When an output cache contains a portion of the page, the portion of the page contained in the output cache is retrieved from the output cache and when the output cache does not contain a portion of the page, the portion of the page not contained in the output cache is retrieved from another source. The contents of the page are then sent to the client computing system.
-
Citations
27 Claims
-
1. A machine-readable medium having instructions recorded thereon, such that when the instructions are read and executed by a processor in a first computing system connected to a network, the first computing system performs a method comprising:
-
receiving, at the first computing system, a request for a web page from a second computing system, the requested web page having content; creating on the first computing system a page object having references to component objects in response to the received request for information, the page object being created based on a page file, each component object of the page object representing a user control within the page file, wherein creating the page object includes; retrieving from an output cache any component object that represents one of the user controls of the page file and is contained in the output cache, and retrieving from another source executable code for any component object that represents one of the user controls of the page file and is not contained in the output cache and instantiating the executable code to create the component object; determining whether any of the component objects referenced by the page object correspond with a user control that supports output caching; and caching the component object in the output cache if the component object corresponds with a user control that supports output caching, the component object cached using a cache key that comprises an identifier that is unique for each occurrence of the component object, the cache key being created when the page object is created; inserting the retrieved component objects of the page object and the created component objects of the page object into a hierarchical tree data model at the first computing system, each component object being linked to a prior component object if a prior component object exists, and each component object being linked to a next component object if a next component object exists; processing the components of the hierarchical tree data model to create a renderable page at the first computing system; and sending the created renderable page from the first computing system to the second computing system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for providing a response to a request for information from a client computing system to a server computing system having an output cache for storing static portions of web pages, the method comprising:
-
receiving a request from the client computing system for a web page having a plurality of components, each of the components of the requested web page being either a static component or a dynamic component; generating the requested web page including; determining whether an output cache on the server computing system contains any static components of the web page; retrieving each of the static components contained in the output cache, wherein each of the static components is cached using a cache key that comprises an identifier that is unique for each occurrence of the static components, the cache key being created when each static component is created; creating at the server computing system each of the static components not contained in the output cache by retrieving executable code for each respective component from another source and instantiating the retrieved executable code; determining whether any dynamic components correspond to user controls that support output caching; creating at the server computing system each of the dynamic components by processing each dynamic component corresponding to a user control including retrieving the executable code from the file-and instantiating the retrieved executable code, and by processing each dynamic component that does not correspond to a user control; and assembling the static components and the dynamic components into a hierarchal data model at the server computing system, the static components and dynamic components being linked to each other in the hierarchical data model; generating contents for the web page by processing each of the static components and each of the dynamic components of the hierarchal data model; and sending the generated contents to the client computing system.
-
-
15. A method comprising:
-
receiving at a server computing device from a client computing device a request for a web page; retrieving at the server computing device a page file associated with the requested web page, the page file including control references, which include instructions for obtaining associated page components of the requested web page, each control reference including either a user control or a server control, the instructions of each server control being stored within the page file, the instructions of each user control being stored in a separate file; examining the page file at the server computing device to identify whether each of the control references is a user control or a server control; examining each user control at the server computing device to determine whether the user control supports output caching including accessing the separate file and analyzing the instructions of the user control to determine whether the instructions contain an output caching directive; determining whether the page component associated with each user control that supports output caching is available at a cache of the server computing device; obtaining from the cache the page component associated with each user control that supports output caching and that is available at the cache of the server computing device, the page component cached using a cache key that comprises an identifier that is unique for each occurrence of the page component, the cache key being created when the page component is created; generating the page component associated with each user control that supports output caching and is not available at the cache of the server computing device; generating the page component associated with each user control that that does not support output caching including generating the page component based on the instructions associated with the user control; generating the page component associated with each server control; and inserting the generated page components into a hierarchical tree model at the server computing device, each page component being linked to a prior page component if a prior page component exists, and each page component being linked to a next page component if a next page component exists. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
Specification