IP Library › Granted Patent US 11,182,125
Granted Patent B2
US 11,182,125 · App. 16/123,962 · Granted Nov 23, 2021

Computing device sort function

Inventors: Jason Arnold (Chicago, IL); George Kondiles (Chicago, IL)
Assignee: Ocient Inc.
G06F7/08G06F7/24G06F9/5027G06F16/2456G06F16/24535G06N7/005G06N20/10
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 11,182,125
App. No.
16/123,962
Granted
Nov 23, 2021
Kind
B2
Abstract

A method includes a computing device receiving a sort request regarding data of a table. The method further includes the computing device determining probability traits of the data. The method further includes the computing device dividing the sort request into sub-sort requests based on the probability traits. The method further includes the computing device identifying processing core resources to perform the sub-sort requests based on the probability traits. The method further includes the computing device allocating the sub-sort requests to the identified processing core resources in accordance with the probability traits. The method further includes the computing device allocating data portions to the identified processing core resources in accordance with the probability traits. The method further includes the computing core resources executing allocated sub-sort requests on corresponding divided data portions to produce sorted data portions. The method further includes the computing device joining the sorted data portions.

Claims (31)

1. A method comprises:

receiving, by a computing device, a sort request regarding data of a table, wherein the table includes a plurality of rows and a plurality of columns, wherein a row of the plurality of rows of data includes data elements in fields of the plurality of columns to produce a data unit;

determining, by the computing device, a plurality of probability traits of the data;

dividing, by the computing device, the sort request into a plurality of sub-sort requests based on the plurality of probability traits;

identifying, by the computing device, processing core resources of the computing device to perform the plurality of sub-sort requests based on the plurality of probability traits, wherein the computing device includes a plurality of nodes, and wherein a node of the plurality of nodes includes a plurality of computing core resources;

allocating, by the computing device, the plurality of sub-sort requests to the identified processing core resources in accordance with the plurality of probability traits;

allocating, by the computing device, a plurality of data portions of the data to the identified processing core resources in accordance with the plurality of probability traits;

executing, by a computing core resources of the identified computing core resources, an allocated sub-sort request of the plurality of sub-sort requests on a corresponding divided portion of the data to produce a sorted data portion; and

joining, by the computing device, a plurality of sorted data portions produced by the identified computing core resources to produce sorted data.

2. The method of claim 1 , wherein the determining the plurality of probability traits comprises:

performing a probability density function on data elements of a first column of the plurality of columns to produce a first probability density;

performing the probability density function on data elements of a second column of the plurality of columns to produce a second probability density; and

performing the probability density function on the data elements of the first and second columns to produce a third probability density, wherein the first, second, and third probability densities correspond to probability traits of the plurality of probability traits.

3. The method of claim 1 , wherein the determining the plurality of probability traits comprises:

performing a kernel density estimation on data elements of a first column of the plurality of columns to produce a first probability estimation;

performing the kernel density estimation on data elements of a second column of the plurality of columns to produce a second probability estimation; and

performing the kernel density estimation on the data elements of the first and second columns to produce a third probability estimation, wherein the first, second, and third probability densities correspond to probability traits of the plurality of probability traits.

4. The method of claim 1 , wherein dividing the sort request comprises:

determining a number of ranges based on the probability density function; and

dividing the sort request into a number of sub-sort requests corresponding to a multiple of the number of ranges to produce the plurality of sub-sort requests.

5. The method of claim 1 , wherein the identifying the processing core resources comprises:

determining a number of sub-sort requests in the plurality of sub-sort requests;

determining a number of processing core resources of the plurality of processing core resources of the plurality of nodes that will execute multiple sub-sort requests of the plurality of sub-sort requests; and

based on the number of sub-sort requests and the number of processing core resources executing multiple sub-sort requests, identifying the processing core resources.

6. The method of claim 1 further comprises:

dividing the data into streams of data based on a number of ranges;

dividing the streams of data into the plurality of data portions in accordance with the plurality of probability traits; and

depositing the plurality of data portions into a plurality of memory bins.

7. The method of claim 6 further comprises:

executing, by the computing core resources, the allocated sub-sort request on a data portion of the plurality of data portions in a memory bin of the plurality of memory bins to produce the sorted data portion; and

retrieving, by the computing device, the plurality of sorted data portions from the plurality of memory bins in order to produce the sorted data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2018
From: ARNOLD, JASON; KONDILES, GEORGE
To: OCIENT INC.
Reel/Frame 046808/0159 →
Continuity (3)
Provisional Application 62555198 · Sep 7, 2017
Provisional Application 62555205 · Sep 7, 2017
Related Publication 20190073195A1 · Mar 7, 2019