IP Library Granted Patent US 12,204,877
Granted Patent B2
US 12,204,877 · App. 18/501,292 · Granted Jan 21, 2025

Function access system

Inventors: Samuel Kedida (Jersey City, NJ); Andy Chen (New York, NY); Mihir Rege (Row, GB); Mikita Samsonau (New York, NY); Vipul Shekhawat (Brooklyn, NY)
Assignee: Palantir Technologies Inc.
G06F8/30G06F8/65G06F16/2379
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,204,877
App. No.
18/501,292
Granted
Jan 21, 2025
Kind
B2
Abstract

Systems and methods for dynamically generating application programming interfaces and managing functions associated with a data object type. In an aspect, the system accesses an object definition for a type of data object. The system generates an application programming interface associated with the type of data object, based at least partly on the object definition. The system determines a change to the object definition for the type of data object and updates the application programming interface based at least partly on the change to the object definition.

Claims (31)

1. A computer-implemented method comprising, by one or more processors executing program instructions:

accessing an object definition for a first type of data object, wherein the object definition comprises at least one or more properties associated with the first type of data object;

generating a first application programming interface associated with the first type of data object, based at least partly on the object definition;

automatically suggesting, using the first application programming interface, one or more properties associated with the first type of data object;

determining a change to the object definition for the first type of data object; and

in response to determining the change, updating the first application programming interface based on the change to the object definition for the first type of data object.

2. The computer-implemented method of claim 1 , wherein the change to the object definition comprises transforming at least a portion of an instance of the first type of data object from a first storage format to a second storage format.

3. The computer-implemented method of claim 2 , wherein the change to the object definition comprises transferring the transformed portion from a first data store to a second data store.

4. The computer-implemented method of claim 1 , wherein first application programming interface associated with the first type of data object is configured for accessing instances of the first type of data object.

5. The computer-implemented method of claim 4 , wherein the first application programming interface is compatible with a plurality of programming languages.

6. The computer-implemented method of claim 1 , wherein the first type of data object defines a set of properties associated with an instance of the first type of data object, and wherein the change to the object definition comprises adding, removing, renaming, or otherwise modifying a property from the at least one or more properties associated with the first type of data object.

7. The computer-implemented method of claim 1 ,

wherein the first application programming interface is updated to provide access to an added property associated with the first type of data object.

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

receiving a first function associated with the first type of data object, wherein the first function is configured to execute an operation associated with instances of the first type of data object by using the first application programming interface associated with the first type of data object; and

storing the first function associated with the first type of data object in a registry of functions.

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

receiving a request to execute the first function associated with the first type of data object; and

executing the first function associated with the first type of data object based on the updated first application programming interface.

10. The computer-implemented method of claim 9 , wherein the first function includes one or more user-defined operations associated with the first application programming interface.

11. The computer-implemented method of claim 10 , wherein the first function is updated based on a modification to the first function or the change to the object definition.

12. The computer-implemented method of claim 11 , wherein the registry of functions comprises one or more functions that are stored in association with one or more types of data objects defined by the object definition.

13. The computer-implemented method of claim 12 further comprising:

receiving a user input and automatically suggesting one or more functions associated with the first type of data object based at least partly on the user input.

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

providing a list of one or more functions associated with the first type of data object.

15. The computer-implemented method of claim 14 , wherein executing the first function associated with the first type of data object comprises displaying a result to a user through a user interface.

16. The computer-implemented method of claim 14 , wherein executing the first function associated with the first type of data object is based on a user permission level.

17. A system comprising:

one or more processors configured to execute program instructions to cause the system to perform the computer-implemented method of claim 1 .

18. A computer program product comprising one or more computer-readable storage mediums having program instructions embodied therewith, the program instructions executable by one or more processors to cause the one or more processors to perform the computer-implemented method of claim 1 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2023
From: KEDIDA, SAMUEL; CHEN, ANDY; REGE, MIHIR; SAMSONAU, MIKITA; SHEKHAWAT, VIPUL
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 065486/0585 →
Continuity (4)
Continuation 17444711 · Aug 9, 2021
Continuation 16920116 · Jul 2, 2020
Provisional Application 62886775 · Aug 14, 2019
Related Publication 20240061654A1 · Feb 22, 2024
References Cited (22)
US 10235533B1 · Thoren et al. · 2019 [cited by applicant]
US 10521246B1 · Jain · 2019 [cited by examiner]
US 10846156B2 · Zhan et al. · 2020 [cited by applicant]
US 11113032B2 · Kedida et al. · 2021 [cited by applicant]
US 11842171B2 · Kedida et al. · 2023 [cited by applicant]
US 11997110B2 · Levin · 2024 [cited by examiner]
US 20110271250A1 · Park et al. · 2011 [cited by applicant]
US 20160188301A1 · Zang et al. · 2016 [cited by applicant]
US 20170228711A1 · Chawla · 2017 [cited by examiner]
US 20180196851A1 · Srivastava · 2018 [cited by examiner]
US 20190130020A1 · Helms et al. · 2019 [cited by applicant]
US 20190155571A1 · Rhee et al. · 2019 [cited by applicant]
US 20190251256A1 · Lange et al. · 2019 [cited by applicant]
EP 3467682 · 2019 [cited by applicant]
EP 3779724 · 2021 [cited by applicant]
EP 4383091 · 2024 [cited by applicant]
Delisle Marc: “Mastering phpMyAdmin 3.4 for Effective MySQL Management”, Feb. 28, 2012, http://webwalkway.com/manuals/Mastering phpMyAdmin 3.4 for Effective MySQL Management.pdf, 296 pages. [cited by applicant]
Graeme Stevenson et al, “Sapphire: Generating Java Runtime Artefacts from OWL Ontologies.” CAiSE 2011 International Workshops, Proceedings in Lecture Notes in Business Information Processing, Jun. 20-24, 2011, pp. 425-4… [cited by applicant]
Xie et al., “Poster: Group Preference Based API Recommendation via Heterogeneous Information Network”, 2 pages (2018). [cited by applicant]
Official Communication for European Patent Application No. 20187271.0 dated Dec. 22, 2020, 9 pages. [cited by applicant]
Official Communication for European Patent Application No. 20187271.0 dated Aug. 24, 2022, 7 pages. [cited by applicant]
Official Communication for European Patent Application No. 24158594.2 dated Jun. 19, 2024, 9 pages. [cited by applicant]