US2017177736A1PendingUtilityA1

Caching pagelets of structured documents

Assignee: FACEBOOK INCPriority: Apr 5, 2010Filed: Mar 3, 2017Published: Jun 22, 2017
Est. expiryApr 5, 2030(~3.7 yrs left)· nominal 20-yr term from priority
G06F 16/9574G06F 16/986G06F 17/30896G06F 17/2247G06F 17/30902G06F 40/143
50
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

In one embodiment, a method includes receiving a request for a web page from a client; identifying resource portions stored in a cache, each resource portion corresponding to a portion of a structured document for use by the client to render the requested web page; instructing the client to render the requested web page using the resource portions stored in the cache; and refreshing the resource portions, wherein the refreshing comprises: generating difference data, if any, for the resource portions, wherein the difference data for the resource portions indicates changes to be made to the resource portions; instructing the client to, in parallel with the generation of the difference data, render the resource portions; sending the difference data to the client; and instructing the client to, based on the difference data, update the resource portions stored in the cache and render the updated resource portions.

Claims

exact text as granted — not AI-modified
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;   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, by the server computing system, the one or more resource portions, wherein the refreshing comprises:
 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. 
   
     
     
         2 . The method of  claim 1 , wherein refreshing the one or more resource portions further comprises:
 generating one or more resource update portions including updated data, if any, for the one or more resource portions; and   sending the one or more resource update portions to the client computing device.   
     
     
         3 . The method of  claim 1 , wherein refreshing the one or more resource portions further comprises:
 generating one or more replacement resource portions, the one or more replacement resource portions including the one or more resource portions and updated data, if any, for the one or more resource portions; and   sending the one or more replacement resource portions to the client computing device.   
     
     
         4 . 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.   
     
     
         5 . The method of  claim 1 , wherein the cache is stored in a persistent storage of the client computing device. 
     
     
         6 . The method of  claim 5 , 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. 
     
     
         7 . The method of  claim 5 , further comprising erasing the cache in response to a user event. 
     
     
         8 . The method of  claim 7 , wherein the user event comprises logging off from a web site from which the web page has been requested. 
     
     
         9 . A system comprising:
 one or more processors; and   one or more computer-readable non-transitory storage media coupled to one or more of the processors and comprising instructions operable when executed by one or more of the processors to cause the system to:
 receive a request for a web page from a client computing device; 
 identify 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; 
 instruct 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, wherein the refreshing comprises:
 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. 
 
   
     
     
         10 . The system of  claim 9 , wherein the instructions are further operable when executed to refresh the one or more resource portions by:
 generating one or more resource update portions including updated data, if any, for the one or more resource portions;   sending the one or more resource update portions to the client computing device; and   instructing the client computing device to store the resource update portion in the cache and render the requested web page using the one or more resource portions and the one or more resource update portions.   
     
     
         11 . The system of  claim 9 , wherein the instructions are further operable when executed to refresh the one or more resource portions by:
 generating one or more replacement resource portions, the one or more replacement resource portions including the one or more resource portions and updated data, if any, for the one or more resource portions;   sending the one or more replacement resource portions to the client computing device; and   instructing the client computing device to replace the one or more resource portions in the cache with the one or more replacement resource portions and render the requested web page using the one or more replacement resource portions.   
     
     
         12 . The system of  claim 9 , wherein the instructions are further operable when executed 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.   
     
     
         13 . The system of  claim 9 , wherein the cache is stored in a persistent storage of the client computing device. 
     
     
         14 . The system of  claim 13 , 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. 
     
     
         15 . The system of  claim 13 , wherein the instructions are further operable when executed to erase the cache in response to a user event. 
     
     
         16 . The computing devices of  claim 15 , wherein the user event comprises logging off from a web site from which the web page has been requested. 
     
     
         17 . 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;   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, by the server computing system, the one or more resource portions, wherein the refreshing comprises:
 generate 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. 
   
     
     
         18 . The media of  claim 17 , 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.   
     
     
         19 . The media of  claim 17 , wherein the cache is stored in a persistent storage of the client computing device. 
     
     
         20 . The media of  claim 19 , 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.

Join the waitlist — get patent alerts

Track US2017177736A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.