# US 2019/0318018 A1 · Environmental lifecycle data management system

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

- Number: US 2019/0318018 A1
- Document ID: US20190318018A1
- Status: Published application
- Kind: A1
- Application number: 15/950,578
- Filed: 2018-04-11
- Published: 2019-10-17
- Earliest claimed: 2018-04-11
- Assignees: Trimble Inc.
- Applicants: Trimble Inc.
- Inventors: Devon Sparks
- Web page: https://patentgrep.com/patent/US20190318018A1

## CPC

- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 16/2282: {Tablespace storage structures; Management thereof}
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/606: {by securing the transmission between two devices or processes}
- G06F 21/6227: {where protection concerns the structure of data, e.g. records, types, queries}
- G06F 2221/2107: File encryption
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A distributed database comprising a plurality of interconnected nodes. Each node may include an external interface configured to receive a data element from a data source external to the distributed database. The data element may include one or more data fragments. Each of the one or more data fragments may be linked to a single aspect of a plurality of aspects. The external interface may also be configured to divide the data element into the one or more data fragments. Each node may also include a local database configured to store the one or more data fragments. Each node may further include an internal interface configured to send the one or more data fragments to a destination node within the distributed database.

## Claims

### Claim 1

A distributed database comprising:
a plurality of nodes, wherein each node of the plurality of nodes includes:
an external interface configured to:
receive a data element from a data source external to the distributed database, wherein the data element includes one or more data fragments, wherein each of the one or more data fragments is linked to a single aspect of a plurality of aspects; and
divide the data element into the one or more data fragments;
a local database configured to:
store the one or more data fragments; and
an internal interface configured to:
send the one or more data fragments to a destination node of the plurality of nodes.

### Claim 2 (depends on 1)

The distributed database of claim 1, wherein:
the internal interface is further configured to receive one or more encrypted data fragments from a source node of the plurality of nodes; and
the local database is further configured to store the one or more encrypted data fragments.

### Claim 3

A node within a distributed database, the node comprising:
an external interface configured to:
receive a data element from a data source external to the distributed database, wherein the data element includes one or more data fragments, wherein each of the one or more data fragments is linked to a single aspect of a plurality of aspects; and
divide the data element into the one or more data fragments;
a local database configured to:
store the one or more data fragments; and
an internal interface configured to:
send the one or more data fragments to a destination node within the distributed database.

### Claim 4 (depends on 3)

The node of claim 3, wherein each of the plurality of aspects is either a parent aspect or a nested aspect, wherein a particular nested aspect includes a greater level of specificity than a corresponding parent aspect.

### Claim 5 (depends on 3)

The node of claim 3, wherein:
the external interface is further configured to encrypt the one or more data fragments to generate one or more encrypted data fragments such that decryption of the one or more encrypted data fragments can only be performed using all of the one or more encrypted data fragments and not a subset of the one or more encrypted data fragments;
the local database is further configured to store the one or more encrypted data fragments; and
the internal interface is configured to send the one or more encrypted data fragments to the destination node.

### Claim 6 (depends on 3)

The node of claim 3, wherein the internal interface is further configured to:
encrypt the one or more data fragments to generate one or more encrypted data fragments such that decryption of the one or more encrypted data fragments can only be performed using all of the one or more encrypted data fragments but cannot be performed using a subset of the one or more encrypted data fragments; and
send the one or more encrypted data fragments to the destination node.

### Claim 7 (depends on 3)

The node of claim 3, wherein:
the internal interface is further configured to receive one or more encrypted data fragments from a source node within the distributed database; and
the local database is further configured to store the one or more encrypted data fragments.

### Claim 8 (depends on 7)

The node of claim 7, wherein the local database is further configured to:
periodically determine whether all of the one or more encrypted data fragments have been stored; and
in response to determining that all of the one or more encrypted data fragments have been stored, decrypting the one or more encrypted data fragments.

### Claim 9 (depends on 3)

The node of claim 3, wherein the local database includes:
a fragment table for storing the one or more data fragments; and
a forwarding table containing information for identifying the destination node based on the plurality of aspects.

### Claim 10 (depends on 3)

The node of claim 3, wherein the data source is one or more of:
a user;
a device; and
a software process.

### Claim 11 (depends on 3)

The node of claim 3, wherein the external interface and the internal interface utilize a same processor.

### Claim 12

A method of processing data within a distributed database, the method comprising:
receiving, by an external interface of a node within the distributed database, a data element from a data source external to the distributed database, wherein the data element includes one or more data fragments, wherein each of the one or more data fragments is linked to a single aspect of a plurality of aspects;
dividing, by the external interface, the data element into the one or more data fragments;
storing, by a local database of the node, the one or more data fragments; and
sending, by an internal interface of the node, the one or more data fragments to a destination node within the distributed database.

### Claim 13 (depends on 12)

The method of claim 12, wherein each of the plurality of aspects is either a parent aspect or a nested aspect, wherein a particular nested aspect includes a greater level of specificity than a corresponding parent aspect.

### Claim 14 (depends on 12)

The method of claim 12, further comprising:
encrypting, by the external interface, the one or more data fragments to generate one or more encrypted data fragments such that decryption of the one or more encrypted data fragments can only be performed using all of the one or more encrypted data fragments and not a subset of the one or more encrypted data fragments;
storing, by the local database, the one or more encrypted data fragments; and
sending, by the internal interface, the one or more encrypted data fragments to the destination node.

### Claim 15 (depends on 12)

The method of claim 12, further comprising:
encrypting, by the internal interface, the one or more data fragments to generate one or more encrypted data fragments such that decryption of the one or more encrypted data fragments can only be performed using all of the one or more encrypted data fragments but cannot be performed using a subset of the one or more encrypted data fragments; and
sending, by the internal interface, the one or more encrypted data fragments to the destination node.

### Claim 16 (depends on 12)

The method of claim 12, further comprising:
receiving, by the internal interface, one or more encrypted data fragments from a source node within the distributed database; and
storing, by the local database, the one or more encrypted data fragments.

### Claim 17 (depends on 16)

The method of claim 16, further comprising:
periodically determining, by the local database, whether all of the one or more encrypted data fragments have been stored; and
in response to determining that all of the one or more encrypted data fragments have been stored, decrypting, by the local database, the one or more encrypted data fragments.

### Claim 18 (depends on 12)

The method of claim 12, wherein the local database includes:
a fragment table for storing the one or more data fragments; and
a forwarding table containing information for identifying the destination node based on the plurality of aspects.

### Claim 19 (depends on 12)

The method of claim 12, wherein the data source is one or more of:
a user;
a device; and
a software process.

### Claim 20 (depends on 12)

The method of claim 12, wherein the external interface and the internal interface utilize a same processor.
