Systems and Methods for Providing Distributed Tree Traversal Using Hardware-Based Processing

US2016147779A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016147779-A1
Application numberUS-201414555275-A
CountryUS
Kind codeA1
Filing dateNov 26, 2014
Priority dateNov 26, 2014
Publication dateMay 26, 2016
Grant date

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 database management system (DBMS) run a host CPU and a hardware coprocessor accelerate traversal of a tree-type data structure by allocating reusable memory in cache to store portions of the tree-type data structure as the tree-type data structure is being requested by the host CPU. The hardware coprocessor manages the cached tree-type data structure in a manner that is transparent to the host CPU. A driver located at the host CPU or at a separate computing device can provide an interface between the host CPU and the hardware coprocessor, thus reducing communications between the host CPU and the hardware coprocessor.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method comprising: at a database management system (DBMS) at least partially embodied in computer-readable media executable by one or more processors, in response to receiving the query, sending a query to a driver; and at the driver at least partially embodied in computer-readable media executable by one or more processors, in response to receiving the query from the DBMS, sending a modified query to a hardware logic device. 2 . The method of claim 1 , further comprising: at the hardware logic device, in response to receiving the modified query, traversing nodes of a tree-type relational database data-structure previously cached in memory associated with the hardware logic device based at least on the modified query; retrieving at least portions of data located at each traversed node; and sending the retrieved portions of data to the driver. 3 . The method of claim 1 , further comprising: at the driver, in response to receiving portions of data from the hardware logic device, validating the portions of the data based at least on associated data stored at one of the one or more tree-type relational database data-structures associated with the DBMS; and in response to validating the portions of the data, sending the validated portions of the data to the DBMS. 4 . The method of claim 1 , wherein the query is a node-level query comprising at least a query value and data located at an associated node, wherein the modified query is a tree-level request comprising the query value and a node identifier. 5 . The method of claim 1 , further comprising: at the driver, in response to receiving portions of data from the hardware logic device, determining whether the received portions of the data are inconsistent; and in response to determining that the received portions are inconsistent, sending the query, node data and path information to the hardware logic device; and at the hardware logic device, in response to receiving the query, the node data and the path information, performing at least one of: allocating a page for a node associated with the node data; or updating at least one of data values or pointer information included in a previously cached page associated with the node data. 6 . The method of claim 1 , further comprising: at the hardware logic device, in response to receiving the query, node data and path information, sequentially allocating a page within a cache memory associated with the hardware logic device for a node associated with the received query, the node data and the path information being based at least on allocation rules when the cache memory does not currently include a page associated with the node that is associated with the received query. 7 . The method of claim 1 , further comprising: at the driver, attempting to validate portions of data sent from the hardware logic device; and in response to not being able to validate the portions of data, sending the query, node data, and path information to the hardware logic device; and at the hardware logic device, in response to receiving the query, the node data, and the path information and after the hardware logic device previously sent the portions of data, updating at least one of the data values or pointer information included in the previously cached page associated with at least one of the received node data or the received path information. 8 . The method of claim 1 , further comprising: at the driver, storing portions of data received from the hardware logic device within a lookup table (LUT); in response to receiving the query from the DBMS, determining whether information stored within the LUT is associated with the received query; and sending information stored within the LUT to the DBMS based on a determination that the information stored within the LUT is associated with the received query. 9 . The method of claim 1 , further comprising: at the hardware logic device, in response to receiving the modified query, traversing nodes of a tree-type relational database data-structure previously cached in memory associated with the hardware logic device based at least on the modified query; retrieving at least portions of data located at each traversed node; and sending the retrieved portions of data to the driver, wherein the retrieved portions of data located at a traversed node comprise at least one of a first data value associated with a node identifier and the first data value's ordinal position of the first data value within an associated cached page and at least one second data value located at a predefined location relative to the first data value and the second data value's ordinal position within the cached page. 10 . The method of claim 1 , further comprising: at the hardware logic device, in response to receiving the modified query, traversing nodes of a tree-type relational database data-structure previously cached in memory associated with the hardware logic device based at least on the modified query; retrieving at least portions of data located at each traversed node; and sending the retrieved portions of data to the driver, wherein the retrieved portions of data located at a traversed node comprise at least one first data value associated with a node identifier and an ordinal position of the at least one first data value within an associated cached page and at least one second data value located at a predefined location relative to the at least one first data value and the at least one second data value's ordinal position within the cached page, wherein the at least one first data value comprises at least one of a lower bounded value or an upper bounded value associated with the node identifier, wherein the at least one second value comprises at least one of a value located at an ordinal position that is at least one less than the lower bounded value or a value located at an ordinal position that is at least one greater than the upper bounded value. 11 . A system comprising: a database management system (DBMS) at least partially embodied in a computer-readable media executable by one or more processors, wherein the DBMS, in response to receiving a query, sends a query; and a driver at least partially embodied in a computer-readable media executable by one or more processors, wherein the driver, in response to receiving the query from the DBMS, sends a modified query. 12 . The system of claim 11 , further comprising: a logic device, at least partially embodied in hardware, comprises cache memory for storing a tree-type relational database data-structure associated with at least a portion of one of the one or more tree-type relational database data-structures associated with the DBMS, the logic device, in response to receiving the modified query, traverses nodes of the tree-type relational database data-structure stored in the cache memory based at least on the modified query; retrieves portions of data located at each traversed node; and sends the retrieved portions of data to the driver. 13 . The system of claim 11 , wherein the driver, in response to receiving the portions of data, validates the portions of the data, based at least on data stored at one of the tree-type relational database data-structures associated with the DBMS; and sends the validated portions of the data to the DBMS. 14 . The system of claim 11 , wherein the query is a node-level query comprising at least a query value and data located at an associated node, wherein the modified query is a tree-level request comprising th

Assignees

Inventors

Classifications

  • Caching, prefetching or hoarding of files · CPC title

  • G06F16/122Primary

    using management policies (point-in-time backing up or restoration of persistent data G06F11/1446; file migration policies for HSM systems G06F16/185) · CPC title

  • using cached or materialised query results · CPC title

  • Trees · CPC title

  • Database cache management · 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 US2016147779A1 cover?
A database management system (DBMS) run a host CPU and a hardware coprocessor accelerate traversal of a tree-type data structure by allocating reusable memory in cache to store portions of the tree-type data structure as the tree-type data structure is being requested by the host CPU. The hardware coprocessor manages the cached tree-type data structure in a manner that is transparent to the hos…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F16/122. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu May 26 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).