# US 10,769,124 B2 · Labeling versioned hierarchical data

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

- Number: US 10,769,124 B2
- Document ID: US10769124B2
- Status: Granted
- Kind: B2
- Application number: 14/840,985
- Filed: 2015-08-31
- Published: 2015-12-24
- Granted: 2020-09-08
- Earliest claimed: 2012-11-13
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Jan Finis; Robert Brunel
- Web page: https://patentgrep.com/patent/US10769124B2

## CPC

- G06F 16/219: {Managing data history or versioning (querying versioned data G06F16/2474; querying temporal data G06F16/2477)}
- G06F 16/00: Information retrieval; Database structures therefor; File system structures therefor
- G06F 16/2246: {Trees, e.g. B+trees}
- G06F 16/2329: {using versioning}
- G06F 16/282: {Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system includes determination of a first interval encoding of a first version of a hierarchy of nodes, determination of a second version of the hierarchy of nodes, determination of a first difference between the first version of the hierarchy of nodes and the second version of the hierarchy of nodes, and determination of a first swap of two translation ranges of the first interval encoding, the first swap representing the first difference.

## Claims

### Claim 1

A computing system comprising:
a memory storing processor-executable program code; and
a processor to execute the processor-executable program code to:
determine a first interval encoding of a first version of a hierarchy of nodes, the hierarchy of nodes comprising hierarchical data in a relational database;
determine a second version of the hierarchy of nodes of the hierarchical data;
determine a first difference between the first version of the hierarchy of nodes and the second version of the hierarchy of nodes;
determine a first swap of two consecutive translation ranges of the first interval encoding, the first swap representing the first difference;
determine a second difference between the first version of the hierarchy of nodes and the second version of the hierarchy of nodes;
determine a second swap of a second two consecutive translation ranges of the first interval encoding, the second swap representing the second difference;
store a record of the first swap representing the first difference and a record of the second swap representing the second difference;
generate a versioned history of the hierarchical data in a relational database based on the stored records of the first swap and the second swap; and
execute a query on the versioned history of the hierarchical data generated based on the stored records of the first swap and the second swap.

### Claim 2 (depends on 1)

A computing system according to claim 1, the first swap comprising a first shift amount of a first one of the two consecutive translation ranges and a second shift amount of a second one of the two consecutive translation ranges.

### Claim 3 (depends on 1)

A computing system according to claim 1, the first swap comprising a first shift amount of a first one of the two consecutive translation ranges and a second shift amount of a second one of the two consecutive translation ranges, and
the second swap comprising a third shift amount of a first one of the second two consecutive translation ranges and a fourth shift amount of a second one of the second two consecutive translation ranges.

### Claim 4 (depends on 1)

A computing system according to claim 1, the processor to further execute the processor-executable program code in order to cause the computing system to:
determine a third version of the hierarchy of nodes of the hierarchical data;
determine a second difference between the second version of the hierarchy of nodes and the third version of the hierarchy of nodes;
determine a second swap of two consecutive translation ranges of the first interval encoding, the second swap representing the second difference.

### Claim 5

A non-transitory computer-readable medium storing program code, the program code executable by a processor of a computing system to cause the computing system to:
determine a first interval encoding of a first version of a hierarchy of nodes, the hierarchy of nodes comprising hierarchical data in a relational database;
determine a second version of the hierarchy of nodes of the hierarchical data;
determine a first difference between the first version of the hierarchy of nodes and the second version of the hierarchy of nodes;
determine a first swap of two consecutive translation ranges of the first interval encoding, the first swap representing the first difference;
determine a second difference between the first version of the hierarchy of nodes and the second version of the hierarchy of nodes;
determine a second swap of a second two translation ranges of the first interval encoding, the second swap representing the second difference;
store a record of the first swap representing the first difference and a record of the second swap representing the second difference; and
generate a versioned history of the hierarchical data in a relational database based on the stored records of the first swap and the second swap; and
execute a query on the versioned history of the hierarchical data generated based on the stored records of the first swap and the second swap.

### Claim 6 (depends on 5)

A medium according to claim 5, the first swap comprising a first shift amount of a first one of the two consecutive translation ranges and a second shift amount of a second one of the two consecutive translation ranges.

### Claim 7 (depends on 5)

A medium according to claim 5, the first swap comprising a first shift amount of a first one of the two consecutive translation ranges and a second shift amount of a second one of the two consecutive translation ranges, and
the second swap comprising a third shift amount of a first one of the second two consecutive translation ranges and a fourth shift amount of a second one of the second two consecutive translation ranges.

### Claim 8 (depends on 5)

A medium according to claim 5, the program code further executable by a processor of a computing system to cause the computing system to:
determine a third version of the hierarchy of nodes of the hierarchical data;
determine a second difference between the second version of the hierarchy of nodes and the third version of the hierarchy of nodes;
determine a second swap of two consecutive translation ranges of the first interval encoding, the second swap representing the second difference.

### Claim 9

A computer-implemented method comprising:
determining a first interval encoding of a first version of a hierarchy of nodes, the hierarchy of nodes comprising hierarchical data in a relational database;
determining a second version of the hierarchy of nodes of the hierarchical data;
determining a first difference between the first version of the hierarchy of nodes and the second version of the hierarchy of nodes;
determining a first swap of two consecutive translation ranges of the first interval encoding, the first swap representing the first difference;
determining a second difference between the first version of the hierarchy of nodes and the second version of the hierarchy of nodes;
determining a second swap of a second two consecutive translation ranges of the first interval encoding, the second swap representing the second difference;
storing a record of the first swap representing the first difference and a record of the second swap representing the second difference; and
generating a versioned history of the hierarchical data in a relational database based on the stored records of the first swap and the second swap; and
executing a query on the versioned history of the hierarchical data generated based on the stored records of the first swap and the second swap.

### Claim 10 (depends on 9)

A method according to claim 9, the first swap comprising a first shift amount of a first one of the two consecutive translation ranges and a second shift amount of a second one of the two consecutive translation ranges.

### Claim 11 (depends on 9)

A method according to claim 9, the first swap comprising a first shift amount of a first one of the two consecutive translation ranges and a second shift amount of a second one of the two consecutive translation ranges, and
the second swap comprising a third shift amount of a first one of the second two consecutive translation ranges and a fourth shift amount of a second one of the second two consecutive translation ranges.

### Claim 12 (depends on 9)

A method according to claim 9, further comprising:
determining a third version of the hierarchy of nodes;
determining a second difference between the second version of the hierarchy of nodes and the third version of the hierarchy of nodes of the hierarchical data;
determining a second swap of two consecutive translation ranges of the first interval encoding, the second swap representing the second difference.
