IP Library Granted Patent US 9,626,343
Granted Patent B2
US 9,626,343 · App. 13/782,937 · Granted Apr 18, 2017

Caching pagelets of structured documents

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,626,343
App. No.
13/782,937
Granted
Apr 18, 2017
Kind
B2
Abstract

Method includes receiving a request for a web page, identifying one or more resource portions stored in a cache, each resource portion corresponding to a portion of a structured document for use to render the requested web page, determining whether the web page was requested within a predetermined time threshold since a previous request for the web page, if requested within the predetermined time threshold, instructing the requested web page to be rendered using the one or more resource portions stored in the cache and refreshing the one or more resource portions, if not requested within the predetermined time threshold, regenerating the one or more resource portions and instructing the requested web page to be rendered using the regenerated one or more resource portions and cache the regenerated one or more resource portions.

Claims (62)

1. A method comprising:

receiving, by a server computing system, a request for a web page from a client computing device;

identifying, by the server computing system, one or more resource portions stored in a cache, each resource portion corresponding to a portion of a structured document for use by the client computing device to render the requested web page;

determining, by the server computing system, whether the client computing device has requested the web page within a predetermined time threshold since a previous request for the web page;

if the client computing device has requested the web page within the predetermined time threshold,

instructing, by the server computing system, the client computing device to render the requested web page using the one or more resource portions stored in the cache, and

refreshing the one or more resource portions, comprising:

generating difference data, if any, for the one or more resource portions, wherein the difference data for the one or more resource portions indicates changes to be made to the one or more resource portions;

instructing the client computing device to, in parallel with the generation of the difference data, render the one or more resource portions;

sending the difference data to the client computing device; and

instructing the client computing device to, based on the difference data, update the resource portions stored in the cache and render the updated resource portions; and

if the client computing device has not requested the web page within the predetermined time threshold,

regenerating, by the server computer system, the one or more resource portions, and

instructing, by the server computer system, the client computing device to render the requested web page using the regenerated one or more resource portions and cache the regenerated one or more resource portions.

2. The method of claim 1 , further comprising determining if a user event has occurred affecting a state of the one or more resource portions since the one or more resource portions were last stored in the cache, and

if the user event has occurred, regenerating the one or more resource portions to be stored in the cache based on the user event affecting the state of the one or more resource portions.

3. The method of claim 1 , wherein the cache is stored in a persistent storage of the client computing device.

4. The method of claim 3 , wherein the one or more resource portions are stored in the cache in an encrypted format, and rendering the requested web page using the one or more resource portions stored in the cache comprises decrypting the one or more resource portions.

5. The method of claim 3 , further comprising erasing the cache in response to a user event.

6. The method of claim 5 , wherein the user event comprises logging off from a web site from which the web page has been requested.

7. One or more computing devices associated with server computing system, the computing devices comprising:

one or more processors; and

one or more computer-readable non-transitory storage media embodying software that is configured when executed by one or more of the processors to:

receive, by the server computing system, a request for a web page from a client computing device;

identify, by the server computing system, one or more resource portions stored in a cache, each resource portion corresponding to a portion of a structured document for use by the client computing device to render the requested web page;

determine, by the server computing system, whether the client computing device has requested the web page within a predetermined time threshold since a previous request for the web page;

if the client computing device has requested the web page within the predetermined time threshold,

instruct, by the server computing system, the client computing device to render the requested web page using the one or more resource portions stored in the cache, and

refresh the one or more resource portions, comprising:

generating difference data, if any, for the one or more resource portions, wherein the difference data for the one or more resource portions indicates changes to be made to the one or more resource portions;

instructing the client computing device to, in parallel with the generation of the difference data, render the one or more resource portions;

sending the difference data to the client computing device; and

instructing the client computing device to, based on the difference data, update the resource portions stored in the cache and render the updated resource portions; and

if the client computing device has not requested the web page within the predetermined time threshold,

regenerate, by the server computer system, the one or more resource portions, and

instruct, by the server computer system, the client computing device to render the requested web page using the regenerated one or more resource portions and cache the regenerated one or more resource portions.

8. The computing devices of claim 7 , wherein the software is further configured to determine if a user event has occurred affecting a state of the one or more resource portions since the one or more resource portions were last stored in the cache, and

if the user event has occurred, regenerate the one or more resource portions to be stored in the cache based on the user event affecting the state of the one or more resource portions.

9. The computing devices of claim 7 , wherein the cache is stored in a persistent storage of the client computing device.

10. The computing devices of claim 9 , wherein the one or more resource portions are stored in the cache in an encrypted format, and the software is further configured to render the requested web page using the one or more resource portions stored in the cache by decrypting the one or more resource portions.

11. The computing devices of claim 9 , wherein the software is further configured to erase the cache in response to a user event.

12. The computing devices of claim 11 , wherein the user event comprises logging off from a web site from which the web page has been requested.

13. One or more computer-readable non-transitory storage media embodying software that is configured when executed to:

receive, by a server computing system, a request for a web page from a client computing device;

identify, by the server computing system, one or more resource portions stored in a cache, each resource portion corresponding to a portion of a structured document for use by the client computing device to render the requested web page;

determine, by the server computing system, whether the client computing device has requested the web page within a predetermined time threshold since a previous request for the web page;

if the client computing device has requested the web page within the predetermined time threshold,

instruct, by the server computing system, the client computing device to render the requested web page using the one or more resource portions stored in the cache, and

refresh the one or more resource portions, comprising:

generating difference data, if any, for the one or more resource portions, wherein the difference data for the one or more resource portions indicates changes to be made to the one or more resource portions;

instructing the client computing device to, in parallel with the generation of the difference data, render the one or more resource portions;

sending the difference data to the client computing device; and

instructing the client computing device to, based on the difference data, update the resource portions stored in the cache and render the updated resource portions; and

if the client computing device has not requested the web page within the predetermined time threshold,

regenerate, by the server computer system, the one or more resource portions, and

instruct, by the server computer system, the client computing device to render the requested web page using the regenerated one or more resource portions and cache the regenerated one or more resource portions.

14. The media of claim 13 , wherein the software is further configured to determine if a user event has occurred affecting a state of the one or more resource portions since the one or more resource portions were last stored in the cache, and

if the user event has occurred, regenerate the one or more resource portions to be stored in the cache based on the user event affecting the state of the one or more resource portions.

15. The media of claim 13 , wherein the cache is stored in a persistent storage of the client computing device.

16. The media of claim 15 , wherein the one or more resource portions are stored in the cache in an encrypted format, and the software is further configured to render the requested web page using the one or more resource portions stored in the cache by decrypting the one or more resource portions.

17. The media of claim 15 , wherein the software is further configured to erase the cache in response to a user event.

18. The media of claim 17 , wherein the user event comprises logging off from a web site from which the web page has been requested.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2013
From: ZHANG, ZIXIAO; WEI, XIAOLIANG
To: FACEBOOK, INC.
Reel/Frame 031009/0784 →