Predictive prefetching to improve parallelization of document generation subtasks
First Claim
1. A dynamic web page generation system, comprising:
- a template processor that generates dynamic web pages according to corresponding web page templates in response to page requests from browsers, wherein the template processor or generates service requests to request content from a set of services, and uses the content returned by such services to generate the web pages according to corresponding web page templates;
a monitoring component that monitors the operation of the template processor over time and generates a mapping of page generation tasks to corresponding service calls that are made as part of such page generation tasks; and
a prefetch component that is responsive to a page request from a browser by using the mapping to identify a set of service requests to be made preemptively, such that service content that is deemed likely to be used by the template processor to generate the requested page is prefetched.
2 Assignments
0 Petitions
Accused Products
Abstract
In a system in which documents are generated dynamically in response to user requests, historical data is collected regarding data retrieval subtasks, such as service requests, that are performed to generate such documents. This data is used to predict the specific subtasks that will be performed to respond to specific document requests, such that these subtasks may be initiated preemptively at or near the outset of the associated page generation task. A subtask that would ordinarily be postponed pending the outcome of a prior subtask can therefore be performed in parallel with the prior subtask, reducing document generation times. In one embodiment, the historical data is included within, or is used to generate, a mapping table that maps document generation tasks (which may correspond to specific URLs) to the data retrieval subtasks that are frequently performed within such tasks.
75 Citations
31 Claims
-
1. A dynamic web page generation system, comprising:
-
a template processor that generates dynamic web pages according to corresponding web page templates in response to page requests from browsers, wherein the template processor or generates service requests to request content from a set of services, and uses the content returned by such services to generate the web pages according to corresponding web page templates; a monitoring component that monitors the operation of the template processor over time and generates a mapping of page generation tasks to corresponding service calls that are made as part of such page generation tasks; and a prefetch component that is responsive to a page request from a browser by using the mapping to identify a set of service requests to be made preemptively, such that service content that is deemed likely to be used by the template processor to generate the requested page is prefetched. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of dynamically generating web pages, comprising:
-
for at least one web page generation task, monitoring the performance of the task over time to generate a mapping reflective of frequencies with which specific data retrieval subtasks are performed as part of the web page generation task; receiving a page request that corresponds to the web page generation task; in response to receiving the page request, using said mapping to identify a set of data retrieval subtasks that are deemed likely to be performed as part of the web page generation task to generate a requested web page; initiating at least some of the data retrieval subtasks in said set before they are initiated as the result of the performance of the web page generation task, to thereby prefetch data that is deemed likely to be used to generate the requested web page; and with a template processor, generating the web page according to a template such that at least some of the prefetched data is used to generate the web page. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A dynamic document generation system, comprising:
-
a template processor that generates according to corresponding document templates in response to document requests from client computers, wherein the template processor performs data retrieval subtasks to retrieve data used to dynamically generate the documents; a monitoring component that monitors the template processor over time and generates a mapping of document generation tasks to corresponding subtasks that are performed as part of such document generation tasks; and a prefetch component that is responsive to a document request from a client computer by using the mapping to identify a set of data retrieval subtasks to be performed preemptively, such that data retrieval subtasks that are otherwise performed sequentially may be performed in parallel. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31)
-
Specification