MEMOIZING WEB-BROWSING COMPUTATION WITH DOM-BASED ISOMORPHISM
First Claim
1. A method for rendering a page on a computing device, comprising:
- receiving, in a processor of the computing device, a request to display a web page;
determining if a portion of a document object model (DOM) tree associated with the web page is stored in cache memory;
retrieving from the cache memory a reusable portion of the stored DOM tree;
composing the requested webpage using the retrieved portion of the stored DOM tree and dynamically processed portions of the DOM tree; and
displaying the requested web page on an electronic display of the computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and devices for accelerating webpage rendering by a browser store document object model (DOM) tree structures and computations of rendered pages, and compare portions of a DOM tree of pages being render to determining if portions of the DOM tree structures match. If a DOM tree of a webpage to be rendered matches a DOM tree stored in memory, the computations associated with the match DOM tree may be recalled from memory, obviating the need to perform the calculations to render the page. A tree isomorphism algorithm may be used to recognize DOM trees stored in memory that match the DOM tree of the webpage to be rendered. Reusing rendering computations may significantly reducing the time and resources required for rendering web pages. Identifying reusable portions of calculation results based on DOM tree isomorphism enables the browser to reuse stored webpage rendering calculations even when URLs do not match.
-
Citations
48 Claims
-
1. A method for rendering a page on a computing device, comprising:
-
receiving, in a processor of the computing device, a request to display a web page; determining if a portion of a document object model (DOM) tree associated with the web page is stored in cache memory; retrieving from the cache memory a reusable portion of the stored DOM tree; composing the requested webpage using the retrieved portion of the stored DOM tree and dynamically processed portions of the DOM tree; and displaying the requested web page on an electronic display of the computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computing device, comprising:
-
means for receiving a request to display a web page; means for determining if a portion of a document object model (DOM) tree associated with the web page is stored in cache memory; means for retrieving from the cache memory a reusable portion of the stored DOM tree; means for composing the requested webpage using the retrieved portion of the stored DOM tree and dynamically processed portions of the DOM tree; and means for displaying the requested web page on an electronic display. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computing device, comprising:
-
a memory; and a processor coupled to the memory, wherein the processor is configured with processor-executable instructions to perform operations comprising; receiving a request to display a web page; determining if a portion of a document object model (DOM) tree associated with the web page is stored in cache memory; retrieving from the cache memory a reusable portion of the stored DOM tree; composing the requested webpage using the retrieved portion of the stored DOM tree and dynamically processed portions of the DOM tree; and displaying the requested web page. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A non-transitory computer readable storage medium having stored thereon processor-executable software instructions configured to cause a processor of a computing device to perform operations comprising:
-
receiving a request to display a web page; determining if a portion of a document object model (DOM) tree associated with the web page is stored in cache memory; retrieving from the cache memory a reusable portion of the stored DOM tree; composing the requested webpage using the retrieved portion of the stored DOM tree and dynamically processed portions of the DOM tree; and displaying the requested web page on an electronic display. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
Specification