Cooperative rendering cache for mobile browser
First Claim
Patent Images
1. A system comprising:
- a proxy server comprising;
server memory and one or more server processors communicatively coupled to the server memory;
a browser engine module, stored in the server memory and executable on the one or more server processors, to;
process preprocessed Web content by producing a processed document object model (DOM) element and associating a corresponding identifier (ID) with each DOM element of the preprocessed Web content, the preprocessed Web content stored in a cache that uses a least recently used aging mechanism to remove portions of the preprocessed Web content from the cache,drop, from a rendering tree, at least one DOM element in response to determining that the at least one DOM element is not visible when rendered, each node of the rendering tree including rendering information comprising a z-coordinate of each DOM element and a status bit to indicate whether each DOM element is stable or volatile, andtransmit the processed preprocessed Web content to the client device; and
a client synchronization module, stored in the server memory and executable on the one or more server processors, to synchronize with a client device.
2 Assignments
0 Petitions
Accused Products
Abstract
A cooperative rendering cache browser (CRC-Browser) for a mobile device may cooperatively manage cached content with a proxy server to reduce redundant transmissions of processed Web data. Additionally, the CRC-Browser may provide stateful, thin-client Web browsing to maintain synchronized information about rendering objects of a Web page. Further, the CRC-Browser may cache only stable and/or visible document object model (DOM) elements and communicate a list of IDs of the cached elements to the proxy. Such stateful thin-client browsers may be useful for reducing battery drain, poor responsiveness, and high wireless network costs of mobile Web browsing.
33 Citations
19 Claims
-
1. A system comprising:
-
a proxy server comprising; server memory and one or more server processors communicatively coupled to the server memory; a browser engine module, stored in the server memory and executable on the one or more server processors, to; process preprocessed Web content by producing a processed document object model (DOM) element and associating a corresponding identifier (ID) with each DOM element of the preprocessed Web content, the preprocessed Web content stored in a cache that uses a least recently used aging mechanism to remove portions of the preprocessed Web content from the cache, drop, from a rendering tree, at least one DOM element in response to determining that the at least one DOM element is not visible when rendered, each node of the rendering tree including rendering information comprising a z-coordinate of each DOM element and a status bit to indicate whether each DOM element is stable or volatile, and transmit the processed preprocessed Web content to the client device; and a client synchronization module, stored in the server memory and executable on the one or more server processors, to synchronize with a client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. One or more computer-readable storage media storing computer-executable instructions that, when executed by a processor of a client device, perform acts comprising:
-
sending, to a proxy server, information to indicate previously processed Web content in a local cache, the information comprising a list of identifiers (IDs) of processed document object model (DOM) elements that are cached locally, each ID of the list of IDs comprising a hash code, the previously processed Web content comprising a rendering tree in which each node of the rendering tree includes rendering information comprising a z-coordinate of each of the DOM elements and a status bit to indicate whether each of the DOM elements is stable or volatile; removing at least a portion of the previously processed Web content from the local cache using a least recently used aging mechanism; receiving, from the proxy server, newly processed Web content; caching the newly processed Web content; and rendering content based at least in part on one or more of the previously processed Web content locally cached or the newly processed Web content from the proxy server. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A method comprising:
-
under control of one or more computing devices configured with executable instructions, processing Web content to form a rendering tree based at least in part on the Web content, each node of the rendering tree representing a visible document object model (DOM) element, each node including rendering information comprising a bounding box of the DOM element, a z-coordinate of the DOM element, a reference to a rendered image of the DOM element, and a status bits to indicate whether the DOM element is stable or volatile, the Web content stored in a cache that uses a least recently used aging mechanism to remove portions of the Web content from the cache; and synchronizing the rendering tree with a client device. - View Dependent Claims (17, 18, 19)
-
Specification