Static resource caching

US9596312B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9596312-B2
Application numberUS-201313752321-A
CountryUS
Kind codeB2
Filing dateJan 28, 2013
Priority dateJan 28, 2013
Publication dateMar 14, 2017
Grant dateMar 14, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method and system for static resource caching in a networking system are provided. The system includes a fetcher instantiated on a particular user device. The fetcher can be a browser plug-in, a separate process or a program integrated into another process on the particular user device. The fetcher downloads static resource data from a web server and groups the downloaded static resource data into a plurality of static resource packages. In some embodiments, the fetcher may predict new static resource package(s) that the particular user may need by analyzing the particular user's activities on the web server and web traffics on the particular user device. Therefore, static resource data from the web server may be effectively cached on the particular user device even before any browser is launched on the particular user device.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: caching static resource data from a web server on a fetcher instantiated on a particular user device of a particular user, the static resource data comprising a plurality of static resource packages, wherein the static resource data are grouped into the plurality of static resource packages based on different granularity levels, wherein a specified granularity level of the granularity levels with which a specified static resource package of the plurality of static resource packages is associated corresponds to an update frequency range, and wherein the static resource data having an update frequency in the update frequency range is grouped into the specified static resource package; requesting credentials and/or activities on the web server corresponding to the particular user via an intelligent API of the web server; analyzing web traffic data on the particular user device and the credentials and/or activities on the web server; predicting, based on results of said analyzing of the web traffic data and the credentials and/or activities, new static resource packages that the particular user may need from the web server according to a computing algorithm; requesting resource links of the predicted new static resource packages; fetching the predicted new static resource packages from a content distribution network (CDN) or directly from the web server via the intelligent API; and caching the newly predicted static resource packages on the fetcher. 2. The method of claim 1 , wherein the fetcher is a browser plug-in, a separate process, and/or a program integrated into another process on the particular user device. 3. The method of claim 1 , wherein the static resource data are grouped into the plurality of static resource packages based on different granularity levels, wherein a particular granularity level is determined by attributes of individual static resource file or image, specific requirements of the particular user device, and/or specific requirements of applications on the particular user device. 4. The method of claim 1 , wherein each static resource package of the plurality of static resource packages has multiple version numbers to accommodate different user devices, different displays, different browsers, and/or different languages. 5. The method of claim 1 , further comprising: generating a status map of the plurality of static resource packages cached on the fetcher, the status map including identifications, resource links, and version numbers of the plurality of static resource packages. 6. The method of claim 5 , wherein the status map is a hash table, a tree, a binary tree, a dictionary, a list, an array, a vector, and/or a database; and wherein the status map is cached on the fetcher, the web server and/or a cloud. 7. The method of claim 5 , further comprising: when there is a change to a particular static resource package of the plurality of static resource packages cached on the fetcher or a new static resource package is predicted, updating the status map in substantially real time; comparing the updated status map with the plurality of static resource packages cached on the fetcher; and if a specific static resource package is not cached or a wrong version of the specific static resource package is cached: fetching the specific static resource package with a correct version number from the CDN or directly from the web server via the intelligent API; and caching the fetched specific static resource package on the fetcher. 8. The method of claim 7 , wherein the CDN is incorporated in the web server, the CDN configured to determine a route with a lowest latency for the fetcher to download the specific static resource package with the correct version number. 9. The method of claim 1 , further comprising: determining delta changes to a particular static resource package of the plurality of static resource packages cached on the fetcher; downloading the delta changes from the CDN or directly from the web server via the intelligent API; and updating the particular static resource package with the downloaded delta changes. 10. The method of claim 1 , further comprising: periodically re-downloading the plurality of static resource packages cached on the fetcher after a first predetermined period of time; and periodically evicting cached static resource packages that have not been used by the particular user after a second predetermined period of time. 11. A web server, comprising: a processor; a computer system; and an application program instantiated on the computer system, wherein the application program provides computer-generated output; wherein the computer system is configured to: cache static resource data from a web server on a fetcher instantiated on a particular user device of a particular user, the static resource data comprising a plurality of static resource packages, wherein the static resource data are grouped into the plurality of static resource packages based on different granularity levels, wherein a specified granularity level of the granularity levels with which a specified static resource package of the plurality of static resource packages is associated corresponds to an update frequency range, and wherein the static resource data having an update frequency in the update frequency range is grouped into the specified static resource package; request credentials and/or activities on the web server corresponding to the particular user via an intelligent API of the web server; analyze web traffic data on the particular user device and the credentials and/or activities on the web server; predict, based on results of said analyzing of the web traffic data and the credentials and/or activities, new static resource packages that the particular user may need from the web server according to a computing algorithm; request resource links of the predicted new static resource packages; fetch the predicted new static resource packages from a content distribution network (CDN) or directly from the web server via the intelligent API; and cache the newly predicted static resource packages on the fetcher. 12. The web server as recited in claim 11 , wherein the fetcher is a browser plug-in, a separate process, and/or a program integrated into another process on the particular user device. 13. The web server as recited in claim 11 , wherein the static resource data are grouped into the plurality of static resource packages based on different granularity levels, wherein a particular granularity level is determined by attributes of individual static resource file or image, specific requirements of the particular user device, and/or specific requirements of applications on the particular user device. 14. The web server as recited in claim 11 , wherein each static resource package of the plurality of static resource packages has multiple version numbers to accommodate different user devices, different displays, different browsers, and/or different languages. 15. The web server as recited in claim 11 , wherein the computer system is further configured to: generate a status map of the plurality of static resource packages cached on the fetcher, the status map including identifications, resource links, and version of the static resource packages. 16. The web server as recited in claim 15 , wherein the status map is a hash table, a tree, a binary tree, a dictionary, a list, an array, a vector, and/or a database; and wherein the status map is cached on the fetcher, the web server and/or a cloud.

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9596312B2 cover?
A method and system for static resource caching in a networking system are provided. The system includes a fetcher instantiated on a particular user device. The fetcher can be a browser plug-in, a separate process or a program integrated into another process on the particular user device. The fetcher downloads static resource data from a web server and groups the downloaded static resource data…
Who is the assignee on this patent?
Facebook Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/2842. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 14 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).