# US 11,113,032 B2 · Function access system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,113,032 B2
- Document ID: US11113032B2
- Status: Granted
- Kind: B2
- Application number: 16/920,116
- Filed: 2020-07-02
- Published: 2021-02-18
- Granted: 2021-09-07
- Earliest claimed: 2019-08-14
- Assignees: Palantir Technologies Inc.
- Applicants: Palantir Technologies Inc.
- Inventors: Samuel Kedida; Andy Chen; Mihir Rege; Mikita Samsonau; Vipul Shekhawat
- Web page: https://patentgrep.com/patent/US11113032B2

## CPC

- G06F 8/30: Creation or generation of source code
- G06F 16/367: {Ontology}
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 1

A computer-implemented method comprising:
accessing an object definition for a first type of data object stored in a first storage format in a first data store, 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 for accessing an instance of the first type of data object, based at least partly on the object definition;
receiving a first function associated with the first type of data object, wherein the first function is configured to execute an operation associated with the instance of the first type of data object by using the generated first application programming interface associated with the first type of data object;
storing the first function associated with the first type of data object in a registry of functions;
determining a change to the object definition for the first type of data object;
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;
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.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 2)

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.

### Claim 4 (depends on 3)

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

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, further comprising automatically suggesting, using the first application programming interface, one or more properties associated with the first type of data object.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, 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.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, wherein the first application programming interface is updated to provide access to an added property associated with the first type of data object.

### Claim 8 (depends on 7)

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

### Claim 9 (depends on 8)

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

### Claim 10 (depends on 9)

The computer-implemented method of claim 9, 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.

### Claim 11 (depends on 10)

The computer-implemented method of claim 10, 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.

### Claim 12 (depends on 11)

The computer-implemented method of claim 11, further comprising:
provide a list of one or more functions associated with the first type of data object.

### Claim 13 (depends on 12)

The computer-implemented method of claim 12, wherein executing the first function associated with the first type of data object comprises displaying a result to a user through a user interface, and/or wherein executing the first function associated with the first type of data object is based on a user permission level.

### Claim 14 (depends on 1)

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.

### Claim 15 (depends on 1)

A computer program product comprising a computer readable storage medium 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.
