IP Library Granted Patent US 10,666,708
Granted Patent B1
US 10,666,708 · App. 15/901,887 · Granted May 26, 2020

Systems and methods for updating web pages using static resource version pinning

Inventors: Nicholas John Gavalas (Franklin Square, NY); Nathan Paul Schloss (New York, NY); Pieter David Vanderwerff (Mountain View, CA); Andrey Sukhachev (Sunnyvale, CA); Benjamin D. Maurer (Palo Alto, CA); Bhuwan Bhushan Khattar (Mountain View, CA); Killian Murphy (San Francisco, CA)
Assignee: Facebook, Inc.
H04L67/06H04L67/146H04L67/2842H04L67/1097
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 10,666,708
App. No.
15/901,887
Granted
May 26, 2020
Kind
B1
Abstract

Systems, methods, and non-transitory computer-readable media can receive a client request from a requesting user. The client request is associated with a web page. A static resource file identifier and a version identifier are determined based on the client request. A response to the client request is generated based on the static resource file identifier and the version identifier.

Claims (60)

1. A computer-implemented method comprising:

receiving, by a computing system, a client request from a requesting user, wherein the client request is associated with a web page;

determining, by the computing system, a static resource file identifier and a version identifier based on the client request;

identifying, by the computing system, one or more tree hashes based on the static resource file identifier and the version identifier, wherein the one or more tree hashes identify one or more tree graphs;

identifying, by the computing system, one or more file hashes based on the one or more tree graphs and user characteristics associated with the requesting user, wherein the one or more file hashes identify one or more user-adapted static resource files; and

generating, by the computing system, a response to the client request based on the one or more file hashes.

2. The computer-implemented method of claim 1 , wherein

the static resource file identifier and the version identifier identify a first static resource file version, and

the method further comprises

identifying one or more additional static resource file versions upon which the first static resource file version depends.

3. The computer-implemented method of claim 2 , wherein

the identifying the one or more additional static resource file versions comprises querying an auxiliary data table, and further wherein

the auxiliary data table comprises a plurality of entries,

each entry of the plurality of entries is associated with a particular static resource file version, and

each entry of the plurality of entries, associated with a particular static resource file version, identifies a set of additional static resource file versions upon which the particular static resource file version depends.

4. The computer-implemented method of claim 3 , wherein each static resource file version of the set of additional static resource file versions is identified in the auxiliary table by a tree hash associated with the static resource file version.

5. The computer-implemented method of claim 3 , wherein the auxiliary data table de-duplicates data that is common to multiple revisions of a static resource file.

6. The computer-implemented method of claim 1 , further comprising storing the one or more tree graphs in a local cache of the computing system, wherein at least one of the tree graphs of the one or more tree graphs is retrieved from a remote database and copied to the local cache.

7. The computer-implemented method of claim 6 , wherein the remote database stores a set of tree data defining a plurality of tree graphs, and the local cache stores a subset of the set of tree data.

8. The computer-implement method of claim 1 , further comprising:

traversing each tree graph of the one or more tree graphs based on the user characteristics associated with the requesting user to identify the one or more user-adapted static resource files.

9. The computer-implemented method of claim 8 , wherein

the response to the client request comprises a set of URLs, and

each URL of the set of URLs specifies a network address from which a user-adapted static resource file of the one or more user-adapted static resource files can be downloaded.

10. A system comprising:

at least one processor; and

a memory storing instructions that, when executed by the at least one processor, cause the system to perform a method comprising:

receiving a client request from a requesting user, wherein the client request is associated with a web page;

determining a static resource file identifier and a version identifier based on the client request;

identifying one or more tree hashes based on the static resource file identifier and the version identifier, wherein the one or more tree hashes identify one or more tree graphs;

identifying one or more file hashes based on the one or more tree graphs and user characteristics associated with the requesting user, wherein the one or more file hashes identify one or more user-adapted static resource files; and

generating a response to the client request based on the one or more file hashes.

11. The system of claim 10 , wherein

the static resource file identifier and the version identifier identify a first static resource file version, and

the instructions, when executed by the at least one processor, further cause the system to perform:

identifying one or more additional static resource file versions upon which the first static resource file version depends.

12. The system of claim 11 , wherein

the identifying the one or more additional static resource file versions comprises querying an auxiliary data table, and further wherein

the auxiliary data table comprises a plurality of entries,

each entry of the plurality of entries is associated with a particular static resource file version, and

each entry of the plurality of entries, associated with a particular static resource file version, identifies a set of additional static resource file versions upon which the particular static resource file version depends.

13. The system of claim 12 , wherein each static resource file version of the set of additional static resource file versions is identified in the auxiliary table by a tree hash associated with the static resource file version.

14. The system of claim 12 , wherein the auxiliary data table de-duplicates data that is common to multiple revisions of a static resource file.

15. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing system, cause the computing system to perform a method comprising:

receiving a client request from a requesting user, wherein the client request is associated with a web page;

determining a static resource file identifier and a version identifier based on the client request;

identifying one or more tree hashes based on the static resource file identifier and the version identifier, wherein the one or more tree hashes identify one or more tree graphs;

identifying one or more file hashes based on the one or more tree graphs and user characteristics associated with the requesting user, wherein the one or more file hashes identify one or more user-adapted static resource files; and

generating a response to the client request based on the one or more file hashes.

16. The non-transitory computer-readable storage medium of claim 15 , wherein

the static resource file identifier and the version identifier identify a first static resource file version, and

the instructions, when executed by the at least one processor, further cause the computing system to perform:

identifying one or more additional static resource file versions upon which the first static resource file version depends.

17. The non-transitory computer-readable storage medium of claim 16 , wherein

the identifying the one or more additional static resource file versions comprises querying an auxiliary data table, and further wherein

the auxiliary data table comprises a plurality of entries,

each entry of the plurality of entries is associated with a particular static resource file version, and

each entry of the plurality of entries, associated with a particular static resource file version, identifies a set of additional static resource file versions upon which the particular static resource file version depends.

18. The non-transitory computer-readable storage medium of claim 17 , wherein each static resource file version of the set of additional static resource file versions is identified in the auxiliary table by a tree hash associated with the static resource file version.

19. The non-transitory computer-readable storage medium of claim 17 , wherein the auxiliary data table de-duplicates data that is common to multiple revisions of a static resource file.

Assignments (2)
CHANGE OF NAME Recorded Dec 2, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058298/0794 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2020
From: GAVALAS, NICHOLAS JOHN; SCHLOSS, NATHAN PAUL; VANDERWERFF, PIETER DAVID; SUKHACHEV, ANDREY; MAURER, BENJAMIN D.; KHATTAR, BHUWAN BHUSHAN; MURPHY, KILLIAN
To: FACEBOOK, INC.
Reel/Frame 051643/0517 →
Cited By (2)
US 12,204,878 US 12,210,822