IP Library Granted Patent US 9,280,575
Granted Patent B2
US 9,280,575 · App. 13/946,081 · Granted Mar 8, 2016

Indexing hierarchical data

Inventors: Jan Finis (Munich, DE); Robert Brunel (Heidelberg, DE)
Assignee: SAP SE
G06F17/30327G06F17/30221G06F17/30961
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,280,575
App. No.
13/946,081
Granted
Mar 8, 2016
Kind
B2
Abstract

A system includes generation of an encoding for each of a hierarchy of nodes, each of the nodes associated with one or more attributes, and the encoding for each node including a first pointer and a second pointer, and generation of an order tree comprising a hierarchy of entries, where each pointer of the encoding points to a respective one of the entries, wherein the encoding and the order tree indicate a position of each node in the hierarchy of nodes.

Claims (75)

1. A computing system comprising:

one or more memory storing processor-executable program code; and

one or more processor to execute the processor-executable program code in order to cause the computing system to:

generate an encoding for each of a hierarchy of nodes, each of the nodes associated with one or more attributes, and the encoding for each node including a first pointer and a second pointer;

generate an order tree comprising a hierarchy of entries that is different from the hierarchy of nodes and the encoding, wherein each pointer of the encoding points to a respective one of the entries, and wherein the encoding and the order tree indicate a position of each node in the hierarchy of nodes; and

use the order tree to support queries on the hierarchy of the nodes;

wherein the processor is to execute the processor-executable program code in order to cause the computing system to:

determine an order relation between a first entry of the order tree and a second entry of the order tree based on a structure of the order tree; and

wherein determination of the order relation comprises:

determination of a number p 1 where each digit of p 1 corresponds to a position of each entry on a first path from the first entry to a root entry of the order tree, and a least significant digit of p 1 corresponds to a position of the first entry;

determination of a number p 2 where each digit of p 2 corresponds to a position of each entry on a second path from the second entry to the root entry of the order tree, and a least significant digit of p 2 corresponds to a position of the second entry; and

comparison of p 1 and p 2 .

2. A computing system according to claim 1 , wherein the order tree is a balanced binary tree of entries.

3. A computing system according to claim 2 , wherein the encoding comprises an interval encoding, and

wherein, for each node, the first pointer indicates a lower interval bound of the node and the second pointer indicates an upper interval bound of the node.

4. A computing system according to claim 1 , wherein the encoding comprises an interval encoding, and

wherein, for each node, the first pointer indicates a lower interval bound of the node and the second pointer indicates an upper interval bound of the node.

5. A non-transitory computer-readable medium storing program code, the program code executable by one or more processor of a computing system to cause the computing system to:

generate an encoding for each of a hierarchy of nodes, each of the nodes associated with one or more attributes, and the encoding for each node including a first pointer and a second pointer;

generate an order tree comprising a hierarchy of entries that is different from the hierarchy of nodes and the encoding, wherein each pointer of the encoding points to a respective one of the entries, and wherein the encoding and the order tree indicate a position of each node in the hierarchy of nodes; and

use the order tree to support queries on the hierarchy of the nodes;

the program code further executable by a processor of a computing system to cause the computing system to:

determine an order relation between a first entry of the order tree and a second entry of the order tree based on a structure of the order tree; and

wherein determination of the order relation comprises:

determination of a number p 1 where each digit of p 1 corresponds to a position of each entry on a first path from the first entry to a root entry of the order tree, and a least significant digit of p 1 corresponds to a position of the first entry;

determination of a number p 2 where each digit of p 2 corresponds to a position of each entry on a second path from the second entry to the root entry of the order tree, and a least significant digit of p 2 corresponds to a position of the second entry; and

comparison of p 1 and p 2 .

6. A medium according to claim 5 , wherein the order tree is a balanced binary tree of entries.

7. A medium according to claim 6 , wherein the encoding comprises an interval encoding, and

wherein, for each node, the first pointer indicates a lower interval bound of the node and the second pointer indicates an upper interval bound of the node.

8. A medium according to claim 5 , wherein the encoding comprises an interval encoding, and

wherein, for each node, the first pointer indicates a lower interval bound of the node and the second pointer indicates an upper interval bound of the node.

9. A computer-implemented method comprising:

generating an encoding for each of a hierarchy of nodes, each of the nodes associated with one or more attributes, and the encoding for each node including a first pointer and a second pointer;

generating an order tree comprising a hierarchy of entries that is different from the hierarchy of nodes and the encoding, wherein each pointer of the encoding points to a respective one of the entries, and wherein the encoding and the order tree indicate a position of each node in the hierarchy of nodes; and

using the order tree to support queries on the hierarchy of the nodes;

the method further comprising:

determining an order relation between a first entry of the order tree and a second entry of the order tree based on a structure of the order tree; and

wherein determining the order relation comprises:

determining a number p 1 where each digit of p 1 corresponds to a position of each entry on a first path from the first entry to a root entry of the order tree, and a least significant digit of p 1 corresponds to a position of the first entry;

determining a number p 2 where each digit of p 2 corresponds to a position of each entry on a second path from the second entry to the root entry of the order tree, and a least significant digit of p 2 corresponds to a position of the second entry; and

comparing p 1 and p 2 .

10. A method according to claim 9 , wherein the order tree is a balanced binary tree of entries.

11. A method according to claim 10 , wherein the encoding comprises an interval encoding, and

wherein, for each node, the first pointer indicates a lower interval bound of the node and the second pointer indicates an upper interval bound of the node.

12. A method according to claim 11 , wherein the encoding comprises an interval encoding, and

wherein, for each node, the first pointer indicates a lower interval bound of the node and the second pointer indicates an upper interval bound of the node.

13. A computing system comprising:

a memory storing processor-executable program code; and

a processor to execute the processor-executable program code in order to cause the computing system to:

generate an encoding for each of a hierarchy of nodes, each of the nodes associated with one or more attributes, and the encoding for each node including a first pointer and a second pointer;

generate an order tree comprising a hierarchy of entries, where each pointer of the encoding points to a respective one of the entries, wherein the encoding and the order tree indicate a position of each node in the hierarchy of nodes; and

determine an order relation between a first entry of the order tree and a second entry of the order tree based on a structure of the order tree;

wherein determination of the order relation comprises:

determination of a number p 1 where each digit of p 1 corresponds to a position of each entry on a first path from the first entry to a root entry of the order tree, and a least significant digit of p 1 corresponds to a position of the first entry;

determination of a number p 2 where each digit of p 2 corresponds to a position of each entry on a second path from the second entry to the root entry of the order tree, and a least significant digit of p 2 corresponds to a position of the second entry; and

comparison of p 1 and p 2 .

14. 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:

generate an encoding for each of a hierarchy of nodes, each of the nodes associated with one or more attributes, and the encoding for each node including a first pointer and a second pointer;

generate an order tree comprising a hierarchy of entries, where each pointer of the encoding points to a respective one of the entries,

wherein the encoding and the order tree indicate a position of each node in the hierarchy of nodes; and

determine an order relation between a first entry of the order tree and a second entry of the order tree based on a structure of the order tree;

wherein determination of the order relation comprises:

determination of a number p 1 where each digit of p 1 corresponds to a position of each entry on a first path from the first entry to a root entry of the order tree, and a least significant digit of p 1 corresponds to a position of the first entry;

determination of a number p 2 where each digit of p 2 corresponds to a position of each entry on a second path from the second entry to the root entry of the order tree, and a least significant digit of p 2 corresponds to a position of the second entry; and

comparison of p 1 and p 2 .

15. A computer-implemented method comprising:

generating an encoding for each of a hierarchy of nodes, each of the nodes associated with one or more attributes, and the encoding for each node including a first pointer and a second pointer;

generating an order tree comprising a hierarchy of entries, where each pointer of the encoding points to a respective one of the entries,

wherein the encoding and the order tree indicate a position of each node in the hierarchy of nodes; and

determining an order relation between a first entry of the order tree and a second entry of the order tree based on a structure of the order tree;

wherein determining the order relation comprises:

determining a number p 1 where each digit of p 1 corresponds to a position of each entry on a first path from the first entry to a root entry of the order tree, and a least significant digit of p 1 corresponds to a position of the first entry;

determining a number p 2 where each digit of p 2 corresponds to a position of each entry on a second path from the second entry to the root entry of the order tree, and a least significant digit of p 2 corresponds to a position of the second entry; and

comparing p 1 and p 2 .

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2013
From: FINIS, JAN; BRUNEL, ROBERT
To: SAP AG
Reel/Frame 031191/0903 →
Continuity (2)
Provisional Application 61673872 · Jul 20, 2012
Related Publication 20140025708A1 · Jan 23, 2014