US 12,189,646 B2
Multi-language object cache
Jeremy Liu, New York, NY (US); David Vogelbacher, New York, NY (US); Eoin Morgan, Mountain View, CA (US); and Helen Yu, New York, NY (US)
Assigned to Palantir Technologies Inc., Denver, CO (US)
Filed by Palantir Technologies Inc., Denver, CO (US)
Filed on May 17, 2022, as Appl. No. 17/746,875.
Application 17/746,875 is a continuation of application No. 16/600,409, filed on Oct. 11, 2019, granted, now 11,334,591.
Claims priority of provisional application 62/886,810, filed on Aug. 14, 2019.
Prior Publication US 2022/0277016 A1, Sep. 1, 2022
Int. Cl. G06F 16/25 (2019.01); G06F 9/54 (2006.01); G06F 16/23 (2019.01)
CPC G06F 16/254 (2019.01) [G06F 9/541 (2013.01); G06F 16/2379 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
one or more processors; and
a memory storing instructions that, when executed by the one or more processors, cause the system to perform:
receiving a request to access data in a first representation corresponding to a first language and a first dataframe specific application programming interface (API) framework;
determining that the data in the first representation is unavailable in a first key-value datastore corresponding to the first representation;
extracting a second representation of the data corresponding to a second language and a second dataframe specific API framework from a second key-value datastore corresponding to the second representation, wherein the first dataframe specific API framework specifies a first dataframe structure corresponding to a first object type and the second dataframe specific API framework specifies a second dataframe structure corresponding to a second object type, the second dataframe specific API framework fails to recognize the first dataframe structure and the first dataframe specific API framework fails to recognize the second dataframe structure;
converting the second representation to the first representation;
receiving a modification to the first representation or the second representation; and
synchronizing the modification with other representations of the data object, including the second representation or the first representation.