# US 9,384,511 B1 · Version control for resource allocation modeling

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

- Number: US 9,384,511 B1
- Document ID: US9384511B1
- Status: Granted
- Kind: B1
- Application number: 14/971,944
- Filed: 2015-12-16
- Granted: 2016-07-05
- Earliest claimed: 2015-12-16
- Assignees: Apptio, Inc.
- Applicants: Apptio, Inc.
- Inventors: Eric Scott Purpus
- Web page: https://patentgrep.com/patent/US9384511B1

## CPC

- G06Q 40/12: Accounting
- G06F 16/2358: {Change logging, detection, and notification (replication G06F16/27)}
- G06Q 10/067: Enterprise or organisation modelling
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Embodiments are directed towards managing data models using version control for resource allocation modelling. A main data model that includes change records, resource values, model objects, or the like, may be provided. Also, user workspaces associated with the main data model may be provided. The user workspaces may include a workspace data model that is based on the main data model and its change records. Model objects that may be part of the user workspace may be modified by a user where each modification made by the user may be employed to provide workspace change records. If a user finishes modifying the workspace data model, the one or more workspace change records may be used to execute the merge of the modified model objects with the main data model.

## Claims

### Claim 1

A method for managing data models using a network computer that employs one or more processors to execute instructions that perform actions, comprising:
providing a main data model that at least includes a change journal having a plurality of change records that store data modifications, one or more resource values, and one or more model objects, wherein the change records include an identifier (ID), a timestamp, a status, and a description;
providing one or more user workspaces that are associated with the main data model, wherein the one or more user workspaces provide a workspace data model based on the main data model and one or more of the plurality of change records;
providing one or more model objects that are both included with the one or more user workspaces and modified by a user, wherein each modification by the user to the one or more modified model objects is employed to provide one or more workspace change records; and
when the user selects merging of the one or more user workspaces with the main data model, employing the one or more workspace change records to execute the merge of the one or more modified model objects with the main data model.

### Claim 2 (depends on 1)

The method of claim 1, further comprising, providing the workspace data model by executing the portion of the plurality of change records to perform actions in the user workspace.

### Claim 3 (depends on 1)

The method of claim 1, further comprising, referencing the one or more resource values from the workspace data model, wherein the workspace data model references a version of the one or more resource values based on when the user workspace is provided.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
providing one or more workspace resource values based on the one or more modified model objects; and
storing the one or more workspace resource values separately from the main data model.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
providing one or more change records from the main data model, wherein the one or more change records are newer than the one or more of the plurality of change records for the workspace data model; and
modifying the workspace data model based on the one or more change records for the main data model.

### Claim 6 (depends on 1)

The method of claim 1, wherein merging the main data model, further comprises:
modifying the one or more model objects in the merged main data model; and
including one or more new change records with the merged data model, wherein the one or more new change records correspond to the one or more workspace change records.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
caching at least a portion of the one or more resource values in the user workspace when network communication is unavailable; and
providing the cached at least portion of the one or more resource values when network communication is available.

### Claim 8 (depends on 1)

The method of claim 1, wherein the main data model further includes, one or more allocation rules that allocate one or more resources within the main data model.

### Claim 9

A system for managing data models, comprising:
a network computer, comprising:
a transceiver that communicates over the network;
a memory that stores at least instructions; and
a processor device that executes instructions that perform actions, including:
providing a main data model that at least includes a change journal having a plurality of change records that store data modifications, one or more resource values, and one or more model objects, wherein the change records include an identifier (ID), a timestamp, a status, and a description;
providing one or more user workspaces that are associated with the main data model, wherein the one or more user workspaces provide a workspace data model based on the main data model and one or more of the plurality of change records;
providing one or more model objects that are both included with the one or more user workspaces and modified by a user, wherein each modification by the user to the one or more modified model objects is employed to provide one or more workspace change records; and
when the user selects merging of the one or more user workspaces with the main data model, employing the one or more workspace change records to execute the merge of the one or more modified model objects with the main data model; and
a client computer, comprising:
a transceiver that communicates over the network;
a memory that stores at least instructions; and
a processor device that executes instructions that perform actions, including:
providing the user-interface to a user; and
providing one or more user interactions to the network computer.

### Claim 10 (depends on 9)

The system of claim 9, wherein the network computer processor device executes instructions that perform actions, further comprising, providing the workspace data model by executing the portion of the plurality of change records to perform actions in the user workspace.

### Claim 11 (depends on 9)

The system of claim 9, wherein the network computer processor device executes instructions that perform actions, further comprising, referencing the one or more resource values from the workspace data model, wherein the workspace data model references a version of the one or more resource values based on when the user workspace is provided.

### Claim 12 (depends on 9)

The system of claim 9, wherein the network computer processor device executes instructions that perform actions, further comprising:
providing one or more workspace resource values based on the one or more modified model objects; and
storing the one or more workspace resource values separately from the main data model.

### Claim 13 (depends on 9)

The system of claim 9, wherein the network computer processor device executes instructions that perform actions, further comprising:
providing one or more change records from the main data model, wherein the one or more change records are newer than the one or more of the plurality of change records for the workspace data model; and
modifying the workspace data model based on the one or more change records for the main data model.

### Claim 14 (depends on 9)

The system of claim 9, wherein merging the main data model, further comprises:
modifying the one or more model objects in the merged main data model; and
including one or more new change records with the merged data model, wherein the one or more new change records correspond to the one or more workspace change records.

### Claim 15 (depends on 9)

The system of claim 9, further comprising:
caching at least a portion of the one or more resource values in the user workspace when network communication is unavailable; and
providing the cached at least portion of the one or more resource values when network communication is available.

### Claim 16 (depends on 9)

The system of claim 9, wherein the main data model further includes, one or more allocation rules that allocate one or more resources within the main data model.

### Claim 17

A processor readable non-transitory storage media that includes instructions for managing data models, wherein execution of the instructions by a hardware processor performs actions, comprising:
providing a main data model that at least includes a change journal having a plurality of change records that store data modifications, one or more resource values, and one or more model objects, wherein the change records include an identifier (ID), a timestamp, a status, and a description;
providing one or more user workspaces that are associated with the main data model, wherein the one or more user workspaces provide a workspace data model based on the main data model and one or more of the plurality of change records;
providing one or more model objects that are both included with the one or more user workspaces and modified by a user, wherein each modification by the user to the one or more modified model objects is employed to provide one or more workspace change records; and
when the user selects merging of the one or more user workspaces with the main data model, employing the one or more workspace change records to execute the merge of the one or more modified model objects with the main data model.

### Claim 18 (depends on 17)

The media of claim 17, further comprising, providing the workspace data model by executing the portion of the plurality of change records to perform actions in the user workspace.

### Claim 19 (depends on 17)

The media of claim 17, further comprising, referencing the one or more resource values from the workspace data model, wherein the workspace data model references a version of the one or more resource values based on when the user workspace is provided.

### Claim 20 (depends on 17)

The media of claim 17, further comprising:
providing one or more workspace resource values based on the one or more modified model objects; and
storing the one or more workspace resource values separately from the main data model.

### Claim 21 (depends on 17)

The media of claim 17, further comprising:
providing one or more change records from the main data model, wherein the one or more change records are newer than the one or more of the plurality of change records for the workspace data model; and
modifying the workspace data model based on the one or more change records for the main data model.

### Claim 22 (depends on 17)

The media of claim 17, wherein merging the main data model, further comprises:
modifying the one or more model objects in the merged main data model; and
including one or more new change records with the merged data model, wherein the one or more new change records correspond to the one or more workspace change records.

### Claim 23 (depends on 17)

The media of claim 17, further comprising:
caching at least a portion of the one or more resource values in the user workspace when network communication is unavailable; and
providing the cached at least portion of the one or more resource values when network communication is available.

### Claim 24

A network computer for managing data models, comprising:
a transceiver that communicates over the network;
a memory that stores at least instructions; and
a processor device that executes instructions that perform actions, including:
providing a main data model that at least includes a change journal having a plurality of change records that store data modifications, one or more resource values, and one or more model objects, wherein the change records include an identifier (ID), a timestamp, a status, and a description;
providing one or more user workspaces that are associated with the main data model, wherein the one or more user workspaces provide a workspace data model based on the main data model and one or more of the plurality of change records;
providing one or more model objects that are both included with the one or more user workspaces and modified by a user, wherein each modification by the user to the one or more modified model objects is employed to provide one or more workspace change records; and
when the user selects merging of the one or more user workspaces with the main data model, employing the one or more workspace change records to execute the merge of the one or more modified model objects with the main data model.

### Claim 25 (depends on 24)

The network computer of claim 24, further comprising, providing the workspace data model by executing the portion of the plurality of change records to perform actions in the user workspace.

### Claim 26 (depends on 24)

The network computer of claim 24, further comprising, referencing the one or more resource values from the workspace data model, wherein the workspace data model references a version of the one or more resource values based on when the user workspace is provided.

### Claim 27 (depends on 24)

The network computer of claim 24, further comprising:
providing one or more workspace resource values based on the one or more modified model objects; and
storing the one or more workspace resource values separately from the main data model.

### Claim 28 (depends on 24)

The network computer of claim 24, further comprising:
providing one or more change records from the main data model, wherein the one or more change records are newer than the one or more of the plurality of change records for the workspace data model; and
modifying the workspace data model based on the one or more change records for the main data model.

### Claim 29 (depends on 24)

The network computer of claim 24, wherein merging the main data model, further comprises:
modifying the one or more model objects in the merged main data model; and
including one or more new change records with the merged data model, wherein the one or more new change records correspond to the one or more workspace change records.

### Claim 30 (depends on 24)

The network computer of claim 24, further comprising:
caching at least a portion of the one or more resource values in the user workspace when network communication is unavailable; and
providing the cached at least portion of the one or more resource values when network communication is available.
