IP Library › Granted Patent US 12,489,829
Granted Patent B1
US 12,489,829 · App. 18/416,500 · Granted Dec 2, 2025

Caching framework to increase resilience to network instability

Inventors: Christopher Cook (Porirua, NZ); David Skiff (Iowa City, IA); Drew Thoennes (New York, NY); Jack Grossman (Arlington, VA); Gautam Punukollu (New York, NY); Gabriel Boning (Seattle, WA); In Hwa Kang (Jersey City, NJ); Ji Young Ohn (Mountain View, CA); Nikita Morozov (Richmond, VA); Noah Öhrner (London, GB); Peter Goldberg (Arlington, VA); Shelby Pefley (Brooklyn, NY); Westin Miller (Palo Alto, CA)
Assignee: Palantir Technologies Inc.
H04L67/568H04L41/0806H04L63/105
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 12,489,829
App. No.
18/416,500
Granted
Dec 2, 2025
Kind
B1
Abstract

Computing systems methods, and non-transitory storage media are provided for obtaining a request or query indicative of a resource, tool, task, or workflow, determining any entities including data, logic, dependencies and libraries, within a remote server, corresponding to the resource, tool, task, or workflow, and selectively provisioning or caching, from the remote server, the entities at the computing system.

Claims (47)

1 . A computing system, comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the computing system to perform:

obtaining a request or query indicative of a resource, tool, task, or workflow;

determining any entities including data, logic, dependencies and libraries, within a remote server, corresponding to the resource, tool, task, or workflow; and

caching, from the remote server, the any entities at the computing system; and

setting an access control level of each of the cached any entities equivalent to an access control level at which the cached any entities were retrieved from the remote server, wherein setting the access control level comprises:

retrieving two entities of the cached any entities at a common access control level different from an actual access control level of one of the cached any entities stored within the remote server; and

setting the access control level of the two retrieved entities equivalent to the common access control level.

2 . The computing system of claim 1 , wherein the determining of any entities comprises mapping, according to a semantic translation, the resource, tool, task, or workflow to any data, logic, dependencies, and libraries.

3 . The computing system of claim 1 , wherein the determining of any entities is based on a historical frequency of utilization of any entities related to the resource, tool, task, or workflow.

4 . The computing system of claim 1 , wherein the data comprises a data object, the logic comprises ontology or configuration features to render the data, and the logic comprises front-end assets.

5 . The computing system of claim 1 , the caching the any entities comprises storing the any entities for a threshold period of time at the computing system and deleting or removing the any entities following the threshold period of time.

6 . The computing system of claim 1 , wherein the instructions further cause the computing system to perform:

detecting a network disconnection within the computing system;

receiving any modifications to the data; and

in response to detecting the network disconnection, queueing the any modifications to the data to be uploaded to the remote server upon a network reconnection.

7 . The computing system of claim 6 , wherein the instructions further cause the computing system to perform:

upon the network reconnection, selectively updating a vector clock of the remote server, indicating a most recent revision prior to the network disconnection, if the vector clock of the remote server represents an earlier time compared to a vector clock of the computing system indicating a write operation at the computing system during the network disconnection.

8 . The computing system of claim 1 , wherein the entities comprise front-end entities and exclude back-end entities, the front-end entities comprising processed or transformed data from an original data source.

9 . A computer-implemented method of a computing system, the computer-implemented method comprising:

obtaining a request or query indicative of a resource, tool, task, or workflow;

determining any entities including data, logic, dependencies and libraries, within a remote server, corresponding to the resource, tool, task, or workflow;

caching, from the remote server, the any entities at the computing system; and

setting an access control level of each of the cached any entities equivalent to an access control level at which the cached any entities were retrieved from the remote server, wherein setting the access control level comprises:

retrieving two entities of the cached any entities at a common access control level different from an actual access control level of one of the cached any entities stored within the remote server; and

setting the access control level of the two retrieved entities equivalent to the common access control level.

10 . The computer-implemented method of claim 9 , wherein the determining of any entities comprises mapping, according to a semantic translation, the resource, tool, task, or workflow to any data, logic, dependencies, and libraries.

11 . The computer-implemented method of claim 9 , wherein the determining of any entities is based on a historical frequency of utilization of any entities related to the resource, tool, task, or workflow.

12 . The computer-implemented method of claim 9 , wherein the data comprises a data object, the logic comprises ontology or configuration features to render the data, and the logic comprises front-end assets.

13 . The computer-implemented method of claim 9 , wherein the caching the any entities comprises storing the any entities for a threshold period of time at the computing system and deleting or removing the any entities following the threshold period of time.

14 . The computer-implemented method of claim 9 , further comprising:

detecting a network disconnection within the computing system;

receiving any modifications to the data; and

in response to detecting the network disconnection, queueing the any modifications to the data to be uploaded to the remote server upon a network reconnection.

15 . The computer-implemented method of claim 9 , further comprising, upon the network reconnection, selectively updating a vector clock of the remote server, indicating a most recent revision prior to the network disconnection, if the vector clock of the remote server represents an earlier time compared to a vector clock of the computing system indicating a write operation at the computing system during the network disconnection.

16 . The computer-implemented method of claim 9 , wherein the entities comprise front-end entities and exclude back-end entities, the front-end entities comprising processed or transformed data from an original data source.

17 . A computing system, comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the computing system to perform:

obtaining a request or query indicative of a resource, tool, task, or workflow;

determining any entities including data, logic, dependencies and libraries, within a remote server, corresponding to the resource, tool, task, or workflow; and

caching, from the remote server, the any entities at the computing system;

detecting a network disconnection between the computing system and the remote server;

receiving any modifications to the any entities at the computing system; and

in response to detecting the network disconnection, queueing any uploads to the remote server according to the any modifications upon a network reconnection; and

upon the network reconnection, selectively updating a vector clock of the remote server, indicating a most recent revision prior to the network disconnection, if the vector clock of the remote server represents an earlier time compared to a vector clock of the computing system indicating at least a modification to any cached entity at the computing system during the network disconnection.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2024
From: COOK, CHRISTOPHER; THOENNES, DREW; GROSSMAN, JACK; PUNUKOLLU, GAUTAM; BONING, GABRIEL; KANG, IN HWA; OHN, JI YOUNG; MOROZOV, NIKITA; ÖHRNER, NOAH; GOLDBERG, PETER; PEFLEY, SHELBY; MILLER, WESTIN
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 066172/0140 →
INVENTIONS (EMPLOYMENT) AGREEMENT Recorded Jan 18, 2024
From: SKIFF, DAVID
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 066352/0746 →
Continuity (1)
Provisional Application 63439858 · Jan 18, 2023
References Cited (33)
US 6151630A · Williams · 2000 [cited by examiner]
US 7266645B2 · Garg · 2007 [cited by examiner]
US 7548982B2 · Gu · 2009 [cited by examiner]
US 7610357B1 · Chandrachood · 2009 [cited by examiner]
US 7895530B2 · Leavitt · 2011 [cited by examiner]
US 8209548B2 · Botzum · 2012 [cited by examiner]
US 8560653B2 · Herrod · 2013 [cited by examiner]
US 8898798B2 · Rogers · 2014 [cited by examiner]
US 9081682B2 · Lipchuk · 2015 [cited by examiner]
US 9262323B1 · Shankaran · 2016 [cited by examiner]
US 9288231B2 · Reddy · 2016 [cited by examiner]
US 9471050B2 · Tilley · 2016 [cited by examiner]
US 9509529B1 · McAllister · 2016 [cited by examiner]
US 9953052B1 · Hill · 2018 [cited by examiner]
US 10095625B2 · Izawa · 2018 [cited by examiner]
US 10122665B2 · Beausoleil · 2018 [cited by examiner]
US 10318474B1 · Krasner · 2019 [cited by examiner]
US 10319467B2 · Rogers · 2019 [cited by examiner]
US 10437209B2 · Tilley · 2019 [cited by examiner]
US 10491698B2 · Agarwal · 2019 [cited by examiner]
US 10762160B2 · Yanagihara · 2020 [cited by examiner]
US 11003583B2 · Mckean · 2021 [cited by examiner]
US 11539542B2 · Tiwari · 2022 [cited by examiner]
US 11880467B2 · Wilczynski · 2024 [cited by examiner]
US 12113720B2 · Eldering · 2024 [cited by examiner]
US 12248530B2 · Ding · 2025 [cited by examiner]
US 20070234224A1 · Leavitt · 2007 [cited by examiner]
US 20100049879A1 · Leavitt · 2010 [cited by examiner]
US 20170041429A1 · Gibson · 2017 [cited by examiner]
US 20190173976A1 · Bendapudi · 2019 [cited by examiner]
US 20220171868A1 · McCuen · 2022 [cited by examiner]
US 20240281551A1 · McCuen · 2024 [cited by examiner]
US 20240394021A1 · Bhargava · 2024 [cited by examiner]