IP Library Granted Patent US 8,341,153
Granted Patent B2
US 8,341,153 · App. 12/555,629 · Granted Dec 25, 2012

Apparatus and method for heap sorting with collapsed values and selective value expansion

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 8,341,153
App. No.
12/555,629
Granted
Dec 25, 2012
Kind
B2
Abstract

A computer readable storage medium includes executable instructions to order a binary tree using primary values and selected secondary values required to resolve a position in the binary tree. The remaining secondary values are in a do not care state. A new primary value is compared to the primary value at the root node of the binary tree. If necessary, a new secondary value is compared to the secondary value at the root node to determine whether the new primary value and the new secondary value or the value at the root node should be placed in a sorted list.

Claims (22)

1. A non-transitory computer readable storage medium, comprising executable instructions to:

order data elements comprising columns of a table in a binary tree data structure using primary values of the data elements and selected secondary values of the data elements required to resolve a position of a particular data element in the binary tree data structure, where the remaining secondary data values are in a do not care state, each data element comprising a plurality of fields of various data types;

compare a new primary data value of a new data element to the primary data value of a data element at a root node of the binary tree data structure and, only if necessary to resolve the position of the new data element, compare a new secondary data value to the secondary data value at the root node to determine whether the new data element or the data element at the root node should be relocated in the binary tree data structure; and

retrieve data elements from the binary tree data structure into a sorted list while maintaining a heap property of the binary tree data structure, the data elements in the sorted list having do not care state values.

2. The computer readable storage medium of claim 1 further comprising executable instructions to use the new primary data value and the new secondary data value to place the new data element at the root node and order the binary tree data structure using primary data values and selected secondary data values required to resolve a position in the binary tree data structure.

3. The computer readable storage medium of claim 1 wherein the data elements comprise results of queries on a database.

4. A non-transitory computer readable storage medium, comprising executable instructions to:

order data elements comprising columns of a table in a binary tree data structure using primary values of the data elements, each data element comprising a plurality of fields of various data types;

refine the order of the data elements of the binary tree data structure using any secondary values required to resolve positions in binary tree data structure while the remaining secondary values are in a do not care state;

determine if the position for a new data element compared to the binary tree data structure is resolvable based upon the primary value of the new data element and, if resolvable, process the new value, otherwise evaluate a secondary value of the new data element to determine if the position of the new data element in the binary tree data structure is resolvable, and if the new data element is resolvable using said secondary value, process the new value, otherwise invoke other secondary values to resolve the position of the new data element in the binary tree data structure and

load values from the binary tree data structure into a sorted list while maintaining a heap property of the binary tree data structure, the sorted list storing do not care state values.

5. The computer readable storage medium of claim 4 wherein the executable instructions to process the new value include executable instructions to place the new value at a root node of the binary tree data structure.

6. The computer readable storage medium of claim 4 further comprising executable instructions to order the binary tree data structure using primary values and selected secondary values as required to resolve a position in the binary tree data structure.

7. The computer readable storage medium of claim 4 further comprising executable instructions to merge a plurality of sorted lists.

8. A computer implemented method for sort ordering data elements in a binary tree data structure, comprising:

ordering the data elements, comprising columns of a table, in the binary tree data structure using primary values and any secondary values of the data elements necessary to resolve a position in the binary tree data structure, where the remaining secondary values are in a do not care state, each data element comprising a plurality of fields of various data types;

comparing a selected primary value of a new data element to the primary value of another data element at a designated node of the binary tree data structure and, only if necessary to resolve position, comparing a selected secondary value to the secondary value of said other data element at the designated node to determine whether the new data element or the other data element at the designated node should be relocated in the binary tree data structure, and

retrieving data elements from the binary tree data structure into a sorted list while maintaining a heap property of the binary tree data structure, the data elements in the sorted list having do not care state values.

9. The method of claim 8 further comprising, in response to said comparing, placing either the new data element or said other data element at the designated node as determined by a heap property of said binary tree data structure, and ordering the binary tree data structure using primary values and secondary values as necessary to resolve a position in the binary tree.

10. The method of claim 8 wherein the designated node is a root node of the binary tree data structure.

11. The method of claim 8 wherein the designated node is at the bottom of the binary tree data structure.

12. The method of claim 8 wherein said data elements comprise query results on a database.

Assignments (4)
CHANGE OF NAME Recorded Apr 1, 2014
From: GOPIVOTAL, INC.
To: PIVOTAL SOFTWARE, INC.
Reel/Frame 032588/0545 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2013
From: EMC CORPORATION
To: GOPIVOTAL, INC.
Reel/Frame 030488/0245 →
MERGER Recorded Sep 1, 2010
From: GREENPLUM, INC.
To: EMC CORPORATION
Reel/Frame 024915/0502 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2009
From: TIAN, FENG
To: GREENPLUM, INC.
Reel/Frame 023203/0291 →