IP Library Granted Patent US 11,880,467
Granted Patent B2
US 11,880,467 · App. 17/323,368 · Granted Jan 23, 2024

Security-aware caching of resources

Inventors: Peter Wilczynski (San Francisco, CA); Daniel Zangri (San Francisco, CA); Nicholas Morgan (San Francisco, CA); Stephen Freiberg (Palo Alto, CA)
Assignee: Palantir Technologies Inc.
G06F21/57G06F9/50G06F12/0815G06F21/335G06F21/6209
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 11,880,467
App. No.
17/323,368
Granted
Jan 23, 2024
Kind
B2
Abstract

Systems, methods, and non-transitory computer readable media are provided for security-aware caching of resources. An offline version of a resource may be prepared for a computing device. The offline version of the resource may include a security parameter. The security parameter may define a security rule to be enforced with respect to offline usage of the resource. The offline version of the resource may be provided for caching by the computing device. The cache of the offline version of the resource may enable the offline usage of the resource by the computing device. The security rule for the offline usage of the resource may be enforced by the computing device based on the security parameter.

Claims (41)

1. A computer-implemented method, comprising:

determining that a network performance parameter indicative of a strength or quality of the network connection between a client device and a server will drop below a threshold value during a future time period;

in response to determining or predicting that the network performance will drop below the threshold value during the future time period, preparing, by the server, an offline version of a resource, wherein preparing the offline version of the resource comprises associating a security rule with the offline version of the resource, the security rule defining use criteria for offline usage of the offline version of the resource; and

providing, by the server system, the offline version of the resource to the client device to enable the client device to use the resource in the absence of a network connection between the client device and the server system.

2. The computer-implemented method of claim 1 , wherein the resource is a first dataset, and wherein preparing the offline version of the first dataset comprises incorporating at least a portion of a second dataset into the offline version of the first dataset.

3. The computer-implemented method of claim 1 , wherein the resource is an application, and wherein preparing the offline version of the application comprises incorporating at least a portion of a dataset into the offline version of the application to enable offline usage of the application.

4. The computer-implemented method of claim 1 , further comprising:

receiving a request from the client device for the offline version of the resource,

wherein preparing the offline version of the resource comprises preparing the offline version of the resource responsive to receiving the request.

5. The computer-implemented method of claim 1 , wherein the security rule requires a higher level of authentication for the offline usage of the offline version of the resource than for online usage of the resource.

6. The computer-implemented method of claim 1 , wherein preparing the offline version of the resource comprises including, in the offline version of the resource, one or more objects created during online usage of the resource.

7. The computer-implemented method of claim 1 , further comprising:

sending, by the server system to the client device, an update to the offline version of the resource, wherein the client device is configured to locally incorporate the update into the offline version of the resource stored in a cache of the client device.

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

tracking, using a global clock, whether an entirety of the offline version of the resource has been updated; and

tracking, using an object clock, whether a particular object of the offline version of the resource has been updated.

9. The computer-implemented method of claim 1 , wherein the client device reverts back to usage of an online version of the resource when the network connection is established.

10. A system, comprising:

at least one processor; and

at least one memory storing computer-executable instructions, wherein the at least one processor is configured to access the at least one memory and execute the computer-executable instructions to:

determine or predict that a network performance parameter indicative of a strength or quality of the network connection between a client device and the system will drop below a threshold value during a future time period;

in response to determining or predicting that the network performance parameter will drop below the threshold value during the future time period, prepare, for the client device, an offline version of a resource, wherein preparing the offline version of the resource comprises associating a security rule with the offline version of the resource, the security rule defining use criteria for offline usage of the offline version of the resource; and

provide, by the system, the offline version of the resource to the client device to enable the client device to use the resource in the absence of a network connection between the client device and the server system.

11. The system of claim 10 , wherein the resource is a first dataset, and wherein the at least one processor is configured to prepare the offline version of the first dataset by executing the computer-executable instructions to incorporate at least a portion of a second dataset into the offline version of the first dataset.

12. The system of claim 10 , wherein the resource is an application, and wherein the at least one processor is configured to prepare the offline version by executing the computer-executable instructions to incorporate at least a portion of a dataset into the offline version of the application to enable offline usage of the application.

13. The system of claim 10 , wherein the at least one processor is further configured to execute the computer-executable instructions to receive a request from the client device for the offline version of the resource, and wherein the at least one processor is configured to prepare the offline version responsive to receiving the request.

14. The system of claim 10 , wherein the security rule requires a higher level of authentication for the offline usage of the offline version of the resource than for online usage of the resource.

15. The system of claim 10 , wherein the at least one processor is configured to prepare the offline version of the resource by executing the computer-executable instructions to include, in the offline version of the resource, one or more objects created during online usage of the resource.

16. The system of claim 10 , wherein the at least one processor is further configured to execute the computer-executable instructions to:

send, to the client device, an update to the offline version of the resource, wherein the client device is configured to locally incorporate the update into the offline version of the resource stored in a cache of the client device.

17. The system of claim 10 , wherein the at least one processor is further configured to execute the computer-executable instructions to:

track, using a global clock, whether an entirety of the offline version of the resource has been updated; and

track, using an object clock, whether a particular object of the offline version of the resource has been updated.

18. The system of claim 10 , wherein the client device reverts back to usage of an online version of the resource when the network connection is established.

19. A system, comprising:

at least one processor; and

at least one memory storing computer-executable instructions, wherein the at least one processor is configured to access the at least one memory and execute the computer-executable instructions to:

prepare, for a client device, an offline version of a resource, wherein preparing the offline version of the resource comprises associating a security rule with the offline version of the resource, the security rule defining use criteria for offline usage of the offline version of the resource;

provide, by the system, the offline version of the resource to the client device to enable the client device to use the resource in the absence of a network connection between the client device and the server system;

track, using a global clock, whether an entirety of the offline version of the resource has been updated; and

track, using an object clock, whether a particular object of the offline version of the resource has been updated.

Assignments (2)
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2021
From: WILCZYNSKI, PETER; ZANGRI, DANIEL; MORGAN, NICHOLAS; FREIBERG, STEPHEN
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 056321/0508 →
Continuity (3)
Continuation 16405313 · May 7, 2019
Provisional Application 62775249 · Dec 4, 2018
Related Publication 20210271760A1 · Sep 2, 2021
Cited By (1)
US 12,489,829