# US 11,907,175 B2 · Model object management and storage system

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

- Number: US 11,907,175 B2
- Document ID: US11907175B2
- Status: Granted
- Kind: B2
- Application number: 18/051,035
- Filed: 2022-10-31
- Published: 2023-03-16
- Granted: 2024-02-20
- Earliest claimed: 2017-03-29
- Assignees: Palantir Technologies Inc.
- Applicants: Palantir Technologies Inc.
- Inventors: David Lisuk; Daniel Erenrich; Guodong Xu; Luis Voloch; Rahul Agarwal; Simon Slowik; Aleksandr Zamoshchin; Andre Frederico Cavalheiro Menck; Anirvan Mukherjee; Daniel Chin
- Web page: https://patentgrep.com/patent/US11907175B2

## CPC

- G06F 16/11: File system administration, e.g. details of archiving or snapshots (error detection or correction of the data by redundancy in operations G06F11/14)
- G06F 16/1873: {Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files}
- G06F 16/13: File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06)
- G06F 16/196: {Specific adaptations of the file system to access devices and non-file objects via standard file system access operations, e.g. pseudo file systems (dedicated interfaces to storage systems G06F3/0601)}
- G06F 30/00: Computer-aided design [CAD]
- G06N 7/00: Computing arrangements based on specific mathematical models
- G06F 2111/20: Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
- G06F 2119/20: Design reuse, reusability analysis or reusability optimisation
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A model management system provides a centralized repository for storing and accessing models. The model management system receives an input to store a model object in a first model state generated based on a first set of known variables. The model management system generates a first file including a first set of functions defining the first model state and associates the first file with a model key identifying the model object. The model management system receives an input to store the model object in a second model state having been generated based on the first model state and a second set of known variables. The model management system generates a second file including a second set of functions defining the second model state and associates the second file with the model key. The model management system identifies available versions of the model object based on the model key.

## Claims

### Claim 1

A model management system comprising:
one or more computer processors; and
one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the model management system to perform operations comprising:
receiving an input to access a model management interface;
identifying a first model state and a second model state associated with a model key corresponding to a model object, the first model state having been generated based on a first set of known variables, and the second model state having been generated based on the model object in the first model state and a second set of known variables; and
causing presentation, in the model management interface, of data identifying a set of available versions of the model object including the first model state and the second model state.

### Claim 2 (depends on 1)

The model management system of claim 1, the operations further comprising:
receiving an input to store the model object in the first model state;
generating a first file including a first set of functions defining the first model state;
associating the first file with the model key identifying the model object;
receiving an input to store the model object in the second model state;
generating a second file including a second set of functions defining the second model state; and
associating the second file with the model key identifying the model object.

### Claim 3 (depends on 2)

The model management system of claim 2, the operations further comprising:
generating the first set of functions based on the first set of known variables, the first set of functions including a first parameter; and
generating the second set of functions based on the first model state and the second set of known variables, the second set of functions including an updated first parameter that is different than the first parameter.

### Claim 4 (depends on 3)

The model management system of claim 3, the operations further comprising:
receiving an input to evaluate performance of the model object; and
generating a report based on the first set of functions and the second set of functions, the report indicating a change between the first parameter and the updated first parameter.

### Claim 5 (depends on 3)

The model management system of claim 3, the operations further comprising:
generating a third set of functions based on the second model state and a third set of known variables, the third set of functions defining a third model state of the model object and including a second updated first parameter that is different than the updated first parameter.

### Claim 6 (depends on 5)

The model management system of claim 5, the operations further comprising:
receiving an input to store the model object in the third model state;
generating a third file including the third set of functions defining the third model state; and
associating the third file with the model key identifying the model object.

### Claim 7 (depends on 2)

The model management system of claim 2, wherein the first file and the second file are both JavaScript Object Notation files.

### Claim 8

A method comprising:
receiving an input to access a model management interface;
identifying a first model state and a second model state associated with a model key corresponding to a model object, the first model state having been generated based on a first set of known variables, and the second model state having been generated based on the model object in the first model state and a second set of known variables; and
causing presentation, in the model management interface, of data identifying a set of available versions of the model object including the first model state and the second model state.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
receiving an input to store the model object in the first model state;
generating a first file including a first set of functions defining the first model state;
associating the first file with the model key identifying the model object;
receiving an input to store the model object in the second model state;
generating a second file including a second set of functions defining the second model state; and
associating the second file with the model key identifying the model object.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
generating the first set of functions based on the first set of known variables, the first set of functions including a first parameter; and
generating the second set of functions based on the first model state and the second set of known variables, the second set of functions including an updated first parameter that is different than the first parameter.

### Claim 11 (depends on 10)

The method of claim 10, further comprising:
receiving an input to evaluate performance of the model object; and
generating a report based on the first set of functions and the second set of functions, the report indicating a change between the first parameter and the updated first parameter.

### Claim 12 (depends on 10)

The method of claim 10, further comprising:
generating a third set of functions based on the second model state and a third set of known variables, the third set of functions defining a third model state of the model object and including a second updated first parameter that is different than the updated first parameter.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
receiving an input to store the model object in the third model state;
generating a third file including the third set of functions defining the third model state; and
associating the third file with the model key identifying the model object.

### Claim 14 (depends on 9)

The method of claim 9, wherein the first file and the second file are both JavaScript Object Notation files.

### Claim 15

A non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of one or more computing devices, cause the one or more computing devices to perform operations comprising:
receiving an input to access a model management interface;
identifying a first model state and a second model state associated with a model key corresponding to a model object, the first model state having been generated based on a first set of known variables, and the second model state having been generated based on the model object in the first model state and a second set of known variables; and
causing presentation, in the model management interface, of data identifying a set of available versions of the model object including the first model state and the second model state.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, the operations further comprising:
receiving an input to store the model object in the first model state;
generating a first file including a first set of functions defining the first model state;
associating the first file with the model key identifying the model object;
receiving an input to store the model object in the second model state;
generating a second file including a second set of functions defining the second model state; and
associating the second file with the model key identifying the model object.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16, the operations further comprising:
generating the first set of functions based on the first set of known variables, the first set of functions including a first parameter; and
generating the second set of functions based on the first model state and the second set of known variables, the second set of functions including an updated first parameter that is different than the first parameter.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, the operations further comprising:
receiving an input to evaluate performance of the model object; and
generating a report based on the first set of functions and the second set of functions, the report indicating a change between the first parameter and the updated first parameter.

### Claim 19 (depends on 17)

The non-transitory computer-readable medium of claim 17, the operations further comprising:
generating a third set of functions based on the second model state and a third set of known variables, the third set of functions defining a third model state of the model object and including a second updated first parameter that is different than the updated first parameter.

### Claim 20 (depends on 19)

The non-transitory computer-readable medium of claim 19, the operations further comprising:
receiving an input to store the model object in the third model state;
generating a third file including the third set of functions defining the third model state; and
associating the third file with the model key identifying the model object.
