Dynamic content caching system
Abstract
A proxy server routes a request for online content from a user device to an origin server, which returns the requested online content to the proxy server. The proxy server passes the online content to the user device. In order to service subsequent user device requests with cached content, the proxy server, having received the initially requested online content from the origin server, parses out dynamic content specific to the user from static content common to many users within the web page content according to tags identifying the dynamic content. The proxy server stores the dynamic content within a personalized cache and also stores an association between the user/user device for the dynamic content stored. In this way, a subsequent request from the user device for the same online content may be serviced from cache, and include dynamic content specific to that user/user device by way of the personalized cache.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method for caching dynamic content comprising:
receiving a web page including online content;
parsing out dynamic content from static content within the online content of the web page, the dynamic content identified by one or more dynamic content tags within the web page;
storing the static content of the web page within a static cache;
storing the parsed out dynamic content of the web page within a personalized cache;
retrieving, in response to receiving a request for the web page, the static content of the web page from the static cache;
identifying the one or more dynamic content tags within the web page from the retrieved static content;
retrieving, from the personalized cache, the dynamic content of the web page corresponding to the one or more dynamic content tags;
merging the dynamic content and the static content to assemble a cached version of the web page; and
transmitting the cached version of the web page responsive to the request for the web page.
2. The method of claim 1 , wherein the cached version of the web page is a partially cached version of the web page, the partially cached version of the web page including a first portion of dynamic content corresponding to a first dynamic content tag in the one or more dynamic content tags and missing a second portion of dynamic content corresponding to a second dynamic content tag in the one or more dynamic content tags, the method further comprising, in response to receiving the request for the web page:
inserting a placeholder for the second portion of dynamic content within the partially cached version of the web page; and
wherein transmitting the cashed version of the web page responsive to the request for the web page comprises transmitting the partially cached version of the web page.
3. The method of claim 2 , further comprising:
requesting a current version of the web page from an origin server, the current version of the web page including updated dynamic content;
parsing out the updated dynamic content from the static content of the web page, the updated dynamic content identified by the one or more dynamic content tags within the web page and including a portion of updated dynamic content corresponding to the second dynamic content tag; and
storing the parsed out updated dynamic content of the web page within the personalized cache.
4. The method of claim 3 , further comprising:
receiving a request for updated dynamic content corresponding to the second dynamic content tag; and
transmitting the portion of the updated dynamic content corresponding to the second dynamic content tag responsive to the request for updated dynamic content.
5. The method of claim 4 , wherein the placeholder causes a user device to request the updated dynamic content for the second portion of dynamic content missing from the partially cached version of the web page.
6. The method of claim 5 , wherein storing the parsed out dynamic content comprises storing a reference to the dynamic content stored in the personalized cache in association with an identifier for the user device.
7. The method of claim 6 , wherein retrieving, from the personalized cache, the dynamic content of the web page corresponding to the one or more dynamic content tags comprises:
requesting dynamic content from the personalized cache based on the association of the reference and the identifier for the user device.
8. A non-transitory computer-readable medium comprising stored instructions that when executed by a processor cause the processor to:
receive a web page including online content;
parse out dynamic content from static content within the online content of the web page, the dynamic content identified by one or more dynamic content tags within the web page;
store the static content of the web page within a static cache;
store the parsed out dynamic content of the web page within a personalized cache;
retrieve, in response to receiving a request for the web page, the static content of the web page from the static cache;
identify the one or more dynamic content tags within the web page from the retrieved static content;
retrieve, from the personalized cache, the dynamic content of the web page corresponding to the one or more dynamic content tags;
merge the dynamic content and the static content to assemble a cached version of the web page; and
transmit the cached version of the web page responsive to the request for the web page.
9. The non-transitory computer-readable medium of claim 8 , wherein the cached version of the web page is a partially cached version of the web page, the partially cached version of the web page including a first portion of dynamic content corresponding to a first dynamic content tag in the one or more dynamic content tags and missing a second portion of dynamic content corresponding to a second dynamic content tag in the one or more dynamic content tags, the non-transitory computer readable medium further comprising instructions that cause the processor, in response to receiving the request for the web page, to:
insert a placeholder for the second portion of dynamic content within the partially cached version of the web page, wherein the instructions to transmit the cached version of the web page responsive to the request for the web page further comprises instructions to transmit the partially cached version of the web page.
10. The non-transitory computer-readable medium of claim 9 , further comprising instructions that cause the processor to:
request a current version of the web page from an origin server, the current version of the web page including updated dynamic content;
parse out the updated dynamic content from the static content of the web page, the updated dynamic content identified by the one or more dynamic content tags within the web page and including a portion of updated dynamic content corresponding to the second dynamic content tag; and
store the parsed out updated dynamic content of the web page within the personalized cache.
11. The non-transitory computer-readable medium of claim 10 , further comprising instructions that cause the processor to:
receive a request for updated dynamic content corresponding to the second dynamic content tag; and
transmit the portion of the updated dynamic content corresponding to the second dynamic content tag responsive to the request for updated dynamic content.
12. The non-transitory computer-readable medium of claim 11 , wherein the placeholder causes a user device to request the updated dynamic content for the second portion of dynamic content missing from the partially cached version of the web page.
13. The non-transitory computer-readable medium of claim 12 , wherein the instructions to store the parsed out dynamic content further comprises instructions that cause the processor to store a reference to the dynamic content stored in the personalized cache in association with an identifier for the user device.
14. The non-transitory computer-readable medium of claim 13 , wherein the instruction to retrieve, from the personalized cache, the dynamic content of the web page corresponding to the one or more dynamic content tags further comprises instructions that cause the processor to:
request dynamic content from the personalized cache based on the association of the reference and the identifier for the user device.
15. A system for caching dynamic content, the system comprising:
a processor; and
a non-transitory computer-readable medium comprising instructions that when executed by the processor cause the processor to:
receive a web page including online content;
parse out dynamic content from static content within the online content of the web page, the dynamic content identified by one or more dynamic content tags within the web page;
store the static content of the web page within a static cache;
store the parsed out dynamic content of the web page within a personalized cache;
retrieve, in response to receiving a request for the web page, the static content of the web page from the static cache;
identify the one or more dynamic content tags within the web page from the retrieved static content;
retrieve, from the personalized cache, the dynamic content of the web page corresponding to the one or more dynamic content tags;
merge the dynamic content and the static content to assemble a cached version of the web page; and
transmit the cached version of the web page responsive to the request for the web page.
16. The system of claim 15 , wherein the cached version of the web page is a partially cached version of the web page, the partially cached version of the web page including a first portion of dynamic content corresponding to a first dynamic content tag in the one or more dynamic content tags and missing a second portion of dynamic content corresponding to a second dynamic content tag in the one or more dynamic content tags, the non-transitory computer-readable medium further comprising instructions that cause the processor to, responsive to receiving the subsequent request for the web page from the user device:
insert a placeholder for the second portion of dynamic content within the partially cached version of the web page, wherein the instructions to transmit the cached version of the web page responsive to the request for the web page comprises instructions to transmit the partially cached version of the web page.
17. The system of claim 16 , wherein the non-transitory computer-readable medium further comprises instructions that cause the processor to:
request a current version of the web page from an origin server, the current version of the web page including updated dynamic content;
parse out the updated dynamic content from the static content of the web page, the updated dynamic content identified by the one or more dynamic content tags within the web page and including a portion of updated dynamic content corresponding to the second dynamic content tag; and
store the parsed out updated dynamic content of the web page within the personalized cache.
18. The system of claim 17 , wherein the non-transitory computer-readable medium further comprises instructions that cause the processor to:
receive a request for updated dynamic content corresponding to the second dynamic content tag; and
transmit the portion of the updated dynamic content corresponding to the second dynamic content tag responsive to the request for updated dynamic content.
19. The system of claim 18 , wherein the placeholder causes a user device to request the updated dynamic content for the second portion of dynamic content missing from the partially cached version of the web page.
20. The system of claim 19 , wherein the instructions to store the parsed out dynamic content comprises further comprises instructions that cause the processor to store a reference to the dynamic content stored in the personalized cache in association with an identifier for the user device and wherein the instructions to retrieve, from the personalized cache, the dynamic content of the web page corresponding to the one or more dynamic content tags further comprises instructions that cause the processor to request dynamic content from the personalized cache based on the association of the reference and the identifier for the user device.Join the waitlist — get patent alerts
Track US10218810B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.