Partial compression of tree-based index structure

US11714795B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11714795-B2
Application numberUS-202117483287-A
CountryUS
Kind codeB2
Filing dateSep 23, 2021
Priority dateSep 23, 2021
Publication dateAug 1, 2023
Grant dateAug 1, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system includes storage of data into a target memory location allocated to a target leaf node of a tree-based index structure, the target leaf node being a child node of a parent node of the tree-based index structure, where the tree-based index structure comprises one or more other leaf nodes which are child nodes of the parent node, and each of the target leaf node and the one or more other leaf nodes is associated with a plurality of allocated memory locations, incremental identification of all unused allocated memory locations between a first allocated memory location of a left-most one of the target leaf node and the one or more other leaf nodes and a last used allocated memory location of a right-most one of the target leaf node and the one or more other leaf nodes, and movement of data stored in the target leaf node and the one or more other leaf nodes into the identified unused allocated memory locations.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: at least one processing unit; and a non-transitory computer-readable medium storing program code that, when executed by the at least one processing unit, causes the at least one processing unit to perform operations comprising: storing data into a target memory location allocated to a target leaf node of a tree-based index structure, the target leaf node being a child node of a parent node of the tree-based index structure, where the tree-based index structure comprises one or more other leaf nodes which are child nodes of the parent node, and each of the target leaf node and the one or more other leaf nodes is associated with a plurality of allocated memory locations; identifying all unused allocated memory locations between a first allocated memory location of a left-most one of the target leaf node and the one or more other leaf nodes and a last used allocated memory location of a right-most one of the target leaf node and the one or more other leaf nodes; and moving data stored in the target leaf node and the one or more other leaf nodes into the identified unused allocated memory locations, the moving the data comprising moving a first data item from a first position of the target leaf node or the one or more other leaf nodes into a first identified unused allocated memory location and moving a second data item from a second position of the target leaf node or the one or more other leaf nodes into the first position. 2. A system according to claim 1 , where in the program code, when executed by the at least one processing unit, causes the at least one processing unit to perform operations comprising: updating data stored in the parent node based on the moved data. 3. A system according to claim 1 , wherein the program code, when executed by the at least one processing unit, causes the at least one processing unit to perform operations comprising: identifying one of the target leaf node and the one or more other leaf nodes which includes no used memory locations; and de-allocating the memory locations of the identified leaf node. 4. A system according to claim 3 , wherein the program code, when executed by the at least one processing unit, causes the at least one processing unit to perform operations comprising: updating data stored in the parent node based on the moved data and the de-allocated memory locations. 5. A system according to claim 1 , wherein allocated memory locations associated with the target leaf node and the one or more other leaf nodes are contiguous. 6. A system according to claim 1 , wherein the program code, when executed by the at least one processing unit, causes the at least one processing unit to perform operations comprising: in response to storing the data into the target memory location, determining whether to move the data. 7. A computer-implemented method, comprising: storing data into a target memory location allocated to a target leaf node of a tree-based index structure, the target leaf node being a child node of a parent node of the tree-based index structure, where the tree-based index structure comprises one or more other leaf nodes which are child nodes of the parent node, and each of the target leaf node and the one or more other leaf nodes is associated with a plurality of allocated memory locations; identifying all unused allocated memory locations between a first allocated memory location of a left-most one of the target leaf node and the one or more other leaf nodes and a last used allocated memory location of a right-most one of the target leaf node and the one or more other leaf nodes; and moving data stored in the target leaf node and the one or more other leaf nodes into the identified unused allocated memory locations, the moving the data comprising moving a first data item from a first position of the target leaf node or the one or more other leaf nodes into a first identified unused allocated memory location and moving a second data item from a second position of the target leaf node or the one or more other leaf nodes into the first position. 8. A method according to claim 7 , further comprising: updating data stored in the parent node based on the moved data. 9. A method according to claim 7 , further comprising: identifying one of the target leaf node and the one or more other leaf nodes which includes no used memory locations; and de-allocating the memory locations of the identified leaf node. 10. A method according to claim 9 , further comprising: updating data stored in the parent node based on the moved data and the de-allocated memory locations. 11. A method according to claim 7 , wherein allocated memory locations associated with the target leaf node and the one or more other leaf nodes are contiguous. 12. A method according to claim 7 , further comprising: in response to storing the data into the target memory location, determining whether to move the data. 13. A non-transitory computer-readable medium storing program code that, when executed by at least one processing unit, causes the at least one processing unit to perform operations comprising: storing data into a target memory location allocated to a target leaf node of a tree-based index structure, the target leaf node being a child node of a parent node of the tree-based index structure, where the tree-based index structure comprises one or more other leaf nodes which are child nodes of the parent node, and each of the target leaf node and the one or more other leaf nodes is associated with a plurality of allocated memory locations; identifying all unused allocated memory locations between a first allocated memory location of a left-most one of the target leaf node and the one or more other leaf nodes and a last used allocated memory location of a right-most one of the target leaf node and the one or more other leaf nodes; and moving data stored in the target leaf node and the one or more other leaf nodes into the identified unused allocated memory locations, the moving the data comprising moving a first data item from a first position of the target leaf node or the one or more other leaf nodes into a first identified unused allocated memory location and moving a second data item from a second position of the target leaf node or the one or more other leaf nodes into the first position. 14. A medium according to claim 13 , wherein the program code, when executed by the at least one processing unit, causes the at least one processing unit to perform operations comprising: updating data stored in the parent node based on the moved data. 15. A medium according to claim 13 , wherein the program code, when executed by the at least one processing unit, causes the at least one processing unit to perform operations comprising: identifying one of the target leaf node and the one or more other leaf nodes which includes no used memory locations; and de-allocating the memory locations of the identified leaf node. 16. A medium according to claim 15 , wherein the program code, when executed by the at least one processing unit, causes the at least one processing unit to perform operations comprising: updating data stored in the parent node based on the moved data and the de-allocated memory locations. 17. A medium according to claim 13 , wherein allocated memory locations associated with the target leaf node and the one or more other leaf nodes are contiguous. 18. A medium according to claim 13 , wherein the program code, when executed by the at least one processing unit, caus

Assignees

Inventors

Classifications

  • Trees, e.g. B+trees · CPC title

  • Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory · CPC title

  • Tablespace storage structures; Management thereof · CPC title

  • G06F16/901Primary

    Indexing; Data structures therefor; Storage structures (for retrieval from the web G06F16/951) · CPC title

  • Trees · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11714795B2 cover?
A system includes storage of data into a target memory location allocated to a target leaf node of a tree-based index structure, the target leaf node being a child node of a parent node of the tree-based index structure, where the tree-based index structure comprises one or more other leaf nodes which are child nodes of the parent node, and each of the target leaf node and the one or more other…
Who is the assignee on this patent?
Sap Se
What technology area does this patent fall under?
Primary CPC classification G06F16/2246. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 01 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).