Batch-optimized render and fetch architecture utilizing a virtual clock
First Claim
1. A computer system comprising:
- at least one processor; and
memory storing;
a data store of content for embedded items, andinstructions that, when executed by the at least one processor, cause the system to;
receive a request, from a batch process, to render a web page,initialize a virtual clock for the web page,generate a task list for rendering the web page, wherein each task in the task list has an associated run time, wherein generating the task list includes adding a task for processing the content of the web page and adding a stop task for rendering the web page, the stop task having a run time set to a predetermined time added to the virtual clock,perform the tasks in the task list according to the virtual clock for the web page, wherein the virtual clock for the web page advances by being set to a time represented by a next-occurring task in a task list for the web page, the virtual clock remaining unchanged while a pending task in the task list has a run time matching the virtual clock, wherein at least one task in the task list causes the system to;
identify an embedded item in the web page,determine, based on a rewrite rule, that the embedded item has content that is duplicative of content for a previously fetched embedded item, andin response to the determination, provide the content for the previously fetched embedded item from the data store, andgenerate a rendering result for the web page when the virtual clock-matches a run time for the stop task in the task list, andprovide the rendering result to the batch process.
2 Assignments
0 Petitions
Accused Products
Abstract
Implementations include a batch-optimized render and fetch architecture. An example method performed by the architecture includes receiving a request from a batch process to render a web page and initializing a virtual clock and a task list for rendering the web page. The virtual clock stands still when a request for an embedded item is outstanding and when a task is ready to run. The method may also include generating a rendering result for the web page when the virtual clock matches a run time for a stop task in the task list, and providing the rendering result to the batch process. Another example method includes receiving a request from a batch process to render a web page, identifying an embedded item in the web page, and determining, based on a rewrite rule, that the embedded item has content that is duplicative of content for a previously fetched embedded item.
94 Citations
19 Claims
-
1. A computer system comprising:
-
at least one processor; and memory storing; a data store of content for embedded items, and instructions that, when executed by the at least one processor, cause the system to; receive a request, from a batch process, to render a web page, initialize a virtual clock for the web page, generate a task list for rendering the web page, wherein each task in the task list has an associated run time, wherein generating the task list includes adding a task for processing the content of the web page and adding a stop task for rendering the web page, the stop task having a run time set to a predetermined time added to the virtual clock, perform the tasks in the task list according to the virtual clock for the web page, wherein the virtual clock for the web page advances by being set to a time represented by a next-occurring task in a task list for the web page, the virtual clock remaining unchanged while a pending task in the task list has a run time matching the virtual clock, wherein at least one task in the task list causes the system to; identify an embedded item in the web page, determine, based on a rewrite rule, that the embedded item has content that is duplicative of content for a previously fetched embedded item, and in response to the determination, provide the content for the previously fetched embedded item from the data store, and generate a rendering result for the web page when the virtual clock-matches a run time for the stop task in the task list, and provide the rendering result to the batch process. - View Dependent Claims (2, 3, 4, 5, 16, 17, 18, 19)
-
-
6. A system comprising:
-
at least one processor; and memory storing; a data store of content for embedded items, and instructions that, when executed by the at least one processor, cause the system to; receive a request, from a batch process, to render a web page; initialize a virtual clock for the web page; generate a task list for rendering the web page, wherein each task in the task list has an associated run time, wherein generating the task list includes adding a task for processing the content of the web page and adding a stop task for rendering the web page, the stop task having a run time set to a predetermined time added to the virtual clock; perform the tasks in the task list according to the virtual clock for the web page, wherein the virtual clock for the web page advances by being set to a time represented by a next-occurring task in a task list for the web page, the virtual clock remaining unchanged while a pending task in the task list has a run time matching the virtual clock, wherein at least one task in the task list causes the system to; identify a first embedded item in the web page, identify a first embedded item in the web page, determine that the first embedded item includes an image, and generate a mock image with empty content that specifies dimensions from a dimension table entry for the second embedded item; generate a rendering result for the web page when the virtual clock matches a run time for the stop task in the task list, the rendering result using the content for the previously fetched embedded item and the mock image; and provide the rendering result to the batch process.
-
-
7. A method comprising:
-
receiving a request, from a batch process, to render a web page; initializing, using at least one processor, a virtual clock for the web page; generating a task list for rendering the web page, wherein each task has an associated run time and wherein generating the task list includes adding a stop task with a run time set to a predetermined time added to the virtual clock; performing the tasks in the task list according to the virtual clock for the web page, wherein the virtual clock for the web page advances by being set to a time represented by a next-occurring task in the task list, the virtual clock remaining unchanged while a pending task in the task list has a run time matching the virtual clock; generating, using the at least one processor, a rendering result for the web page when the virtual clock matches a run time for a stop task in the task list; and providing the rendering result to the batch process. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
Specification