# US 10,311,051 B1 · Storing modeling alternatives with unitized data

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

- Number: US 10,311,051 B1
- Document ID: US10311051B1
- Status: Granted
- Kind: B1
- Application number: 14/167,645
- Filed: 2014-01-29
- Granted: 2019-06-04
- Earliest claimed: 2014-01-29
- Assignees: Bentley Systems, Incorporated
- Applicants: Bentley Systems, Incorporated
- Inventors: Diego A. Diaz Pabon
- Web page: https://patentgrep.com/patent/US10311051B1

## CPC

- G06F 16/245: Query processing
- G06F 16/212: {with details for data modelling support}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In one embodiment, a relational database is structured so that elements and alternatives directly reference parameter values stored in a unitized data store. No intermediary tables are required between the elements, the alternatives, and the parameter values. Further, a level tracking mechanism is employed among alternatives that allows for efficient bulk-data retrieval, for example, via a single database query. In one type of operation, an element of a system model is accessed. A selected scenario is accessed that references a plurality of alternatives that exist among a larger plurality of alternatives. Parameter values are retrieved from the unitized data store based on a direct reference from the element and a referenced alternative of the selected scenario. The unitized data store includes values for the larger plurality of alternatives. The retrieved parameter values are used in executing the system model.

## Claims

### Claim 1

A method comprising:
accessing, in a relational database maintained in a memory of an electronic device, elements of a system model that models an engineered system, each element representing a portion of the engineered system and identified by an element identifier (ID) that uniquely identifies the respective element;
accessing, in the relational database, a selected scenario that references a plurality of alternatives that exist among a larger plurality of alternatives organized according to an alternative hierarchy, each alternative indicating parameter values for a single facet of a modeling problem embodied in the system model and identified by an alternative ID that uniquely identifies the alternative, each alternative further maintaining an explicit indication of a level in the alternative hierarchy to which the respective alternative belongs;
performing a bulk-data retrieval of parameter values for the elements from a unitized data store in the relational database, the bulk-data retrieval to include a database query that specifies at least a list of alternative IDs for one or more alternatives of the selected scenario used in an alternative ID-element ID pair that provides a direct reference into the unitized data store, the database query restricting results based on a maximum level of the alternative hierarchy such that retrieved parameter values are from child-most alternatives of the alternative hierarchy; and
using the retrieved parameter values, by a modeling application, to execute the system model.

### Claim 2 (depends on 1)

The method of claim 1, wherein the bulk-data retrieval is structured as a single database query.

### Claim 3 (depends on 2)

The method of claim 2, wherein the list of alternatives includes a selected alternative and alternatives in higher levels of the alternative hierarchy up to a base alternative of the alternative hierarchy.

### Claim 4 (depends on 1)

The method of claim 1, wherein the elements are maintained in an element table and are each associated with an element type of a plurality of element types that each indicate a general category to which an element belongs.

### Claim 5 (depends on 1)

The method of claim 1, wherein the selected scenario is maintained in a scenario table, the scenario table storing scenario identifiers (IDs) that each uniquely identify a scenario, and, related to each scenario ID, a number of alternative IDs that indicate alternatives represented in the scenario.

### Claim 6 (depends on 1)

The method of claim 1, wherein the one or more alternatives are maintained in an alternative table and are each associated with an alternative type of a plurality of alternative types that indicate facets to which the respective alternative corresponds.

### Claim 7 (depends on 6)

The method of claim 6, wherein the indication of a level is a level identifier (ID) and the alternative table further stores the level IDs that each indicate a level in the alternative hierarchy to which an alternative belongs.

### Claim 8 (depends on 7)

The method of claim 7, wherein the alternative table further stores parent identifiers (IDs) that each indicate a parent of an alternative in the alternative hierarchy.

### Claim 9 (depends on 1)

The method of claim 1, wherein the engineered system is a hydraulic system, the modeling application is a hydraulic modeling application, and at least some of the elements represent pipes, pumps, valves, storage tanks, or junctions.

### Claim 10 (depends on 1)

The method of claim 1, wherein the relational database is a Structured Query Language (SQL) database.

### Claim 11

A non-transitory computer-readable medium that includes instructions executable on a processor, the instructions, when executed, operable to:
access elements of a system model that models an engineered system, each element representing a portion of the engineered system and identified by an element identifier (ID) that uniquely identifies the respective element;
access a selected scenario that references a plurality of alternatives that exist among a larger plurality of alternatives organized according to an alternative hierarchy, each alternative indicating parameter values for a single facet of a modeling problem embodied in the system model and identified by an alternative ID that uniquely identifies the alternative, each alternative further maintaining an explicit indication of a level in the alternative hierarchy to which the respective alternative belongs;
perform a bulk-data retrieval of parameter values for the elements from a unitized data store, the bulk-data retrieval to include a database query that specifies at least a list of alternative IDs for one or more alternatives of the selected scenario used in an alternative ID-element ID pair that provides a direct reference into the unitized data store, the database query to restrict results based on a maximum level of the alternative hierarchy such that retrieved parameter values are from child-most alternatives of the alternative hierarchy; and
use the retrieved parameter values to execute the system model.

### Claim 12 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein the bulk-data retrieval is structured as a single database query.

### Claim 13 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein the list of alternatives includes a selected alternative and alternatives in higher levels of the alternative hierarchy up to a base alternative of the alternative hierarchy.

### Claim 14 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein the elements are maintained in an element table, and are each associated with an element type of a plurality of element types that each indicate a general category to which an element belongs.

### Claim 15 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein the selected scenario is maintained in a scenario table, the scenario table storing scenario identifiers (IDs) that each uniquely identify a scenario, and, related to each scenario ID, a number of alternative IDs that indicate alternatives represented in the scenario.

### Claim 16 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein the one or more alternatives are maintained in an alternative table and are each associated with an alternative type of a plurality of alternative types that indicate facets to which the respective alternative corresponds.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein the indication of a level is a level identifier (ID) and the alternative table further stores level IDs that each indicate a level in the alternative hierarchy to which an alternative belongs.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the alternative table further stores parent identifiers (IDs) that each indicate a parent of an alternative in the alternative hierarchy.

### Claim 19

An electronic device, comprising:
a display device;
a processor; and
a memory coupled to the processor and configured to store instructions for a modeling application and a relational database system that maintains a relational database, the instructions, when executed by the processor, being operable to:
access, in the relational database, elements of a system model that models an engineered system, each element and identified by an element identifier (ID),
access, in the relational database, a selected scenario that references a plurality of alternatives organized according to an alternative hierarchy, each alternative indicating parameter values for a single facet of a modeling problem embodied in the system model and identified by an alternative ID, each alternative further maintaining an explicit indication of a level in the alternative hierarchy to which the respective alternative belongs,
perform a bulk-data retrieval of parameter values for the elements, the bulk-data retrieval to include a database query that specifies at least a list of alternative IDs for one or more alternatives from the selected scenario used in an alternative ID-element ID pair that provides a direct reference into the unitized data store, the database query to restrict results based on a maximum level of the alternative hierarchy such that retrieved parameter values are from child-most alternatives of the alternative hierarchy,
use the retrieved parameter values to execute the system model, and
display results from the execution of the system model on the display device.

### Claim 20 (depends on 19)

The electronic device of claim 19, wherein the bulk-data retrieval is structured as a single database query.
