IP Library Granted Patent US 11,080,277
Granted Patent B2
US 11,080,277 · App. 16/402,156 · Granted Aug 3, 2021

Data set compression within a database system

Inventors: George Kondiles (Chicago, IL); Jason Arnold (Chicago, IL)
Assignee: Ocient Inc.
G06F16/24542G06F3/0604G06F3/068G06F3/0647G06F7/24G06F9/4406G06F9/5016G06F9/5027G06F9/5061G06F11/1004G06F11/1044G06F11/1076G06F12/0893G06F12/109G06F16/1727G06F16/22G06F16/2246G06F16/2282G06F16/2365G06F16/244G06F16/2445G06F16/2453G06F16/2458G06F16/24553G06F16/24573G06F16/278G06F16/901G06F16/9017H03M7/30H04L67/10G06F3/067G06F2211/1011G06F2212/608
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,080,277
App. No.
16/402,156
Filed
May 2, 2019
Granted
Aug 3, 2021
Kind
B2
Art Unit
2161
USPC
707/693
Abstract

A method includes receiving, by a host computing device of a storage cluster of computing devices, a segment group of data. The method further includes processing, by the host computing device, the segment group of data to produce data segments. The method further includes, sending, by the host computing device, the data segments to the computing devices of the storage cluster. The method further includes allocating, by a host node of the first computing device, data segment divisions of the first data segment to nodes of the first computing device. The method further includes allocating, by a host processing core resource of the first node, data segment sub-divisions of the first data segment division to processing core resources of the first node. The method further includes storing, by the first computing device, the first data segment having the data segment divisions and the first data segment division having the data segment sub-divisions.

Claims (67)

1. A method comprises:

receiving, by a host computing device of a storage cluster of computing devices, a segment group of data;

processing, by the host computing device, the segment group of data to produce a plurality of data segments;

sending, by the host computing device, the plurality of data segments to the computing devices of the storage cluster, wherein a first computing device of the computing devices is sent a first data segment of the plurality of data segments;

allocating, by a host node of the first computing device, a plurality of data segment divisions of the first data segment to a plurality of nodes of the first computing device, wherein a first node of the plurality of nodes is allocated a first data segment division of the plurality of data segment divisions;

allocating, by a host processing core resource of the first node, a plurality of data segment sub-divisions of the first data segment division to a plurality of processing core resources of the first node, wherein a first processing core resource of the plurality of processing core resources is allocated a first data segment sub-division of the plurality of data segment sub-divisions; and

storing, by the first computing device, the first data segment having the plurality of data segment divisions and the first data segment division having the plurality of data segment sub-divisions.

2. The method of claim 1 further comprises:

selecting the host computing device from the computing devices of the storage cluster based on one or more of: a predetermined selection process, a round-robin selection process, and a pseudo-random selection process.

3. The method of claim 1 further comprises:

the segment group is one of at least one segment group of a data partition of plurality of data partitions of a table of data.

4. The method of claim 1 , wherein the processing of the segment group comprises:

sorting, by the host computing device, data of a portion of the segment group of data based on a sorting criteria to produce a data segment of the plurality of data segments.

5. The method of claim 1 , wherein the processing of the segment group comprises:

error encoding, by the host computing device, data of a portion of the segment group of data in accordance with an error coding protocol to produce a data segment of the plurality of data segments.

6. The method of claim 1 , wherein the processing of the segment group comprises:

dividing, by the host computing device, data of the segment group of data in accordance with a data segmenting protocol to produce a data segment of the plurality of data segments.

7. The method of claim 1 further comprises:

sending, by the host computing device, the first data segment to the host computing device as the first computing device.

8. The method of claim 1 further comprises:

selecting the host node from the plurality of nodes based on one or more of: a predetermined selection process, a round-robin selection process, and a pseudo-random selection process.

9. The method of claim 1 further comprises:

allocating, by the host node, the first data segment division to the host node as the first node.

10. The method of claim 1 further comprises:

selecting the host processing core resource from the plurality of processing core resources based on one or more of: a predetermined selection process, a round-robin selection process, and a pseudo-random selection process.

11. The method of claim 1 further comprises:

allocating, by the host processing core resource, the first data segment sub-division to the host processing core resource as the first processing core resource.

12. The method of claim 1 further comprises:

receiving, by the host computing device, an instruction regarding processing of the segment group of data.

13. A computer readable memory device comprises:

a first memory section that stores operational instructions that, when executed by a host computing device of a storage cluster of computing devices, causes the host computing device to:

receive a segment group of data,

process the segment group of data to produce a plurality of data segments; and

send the plurality of data segments to the computing devices of the storage cluster, wherein a first computing device of the computing devices is sent a first data segment of the plurality of data segments;

a second memory section that stores operational instructions that, when executed by a host node of the first computing device, causes the host node to:

receive the first data segment; and

allocate a plurality of data segment divisions of the first data segment to a plurality of nodes of the first computing device, wherein a first node of the plurality of nodes is allocated a first data segment division of the plurality of data segment divisions;

a third memory section that stores operational instructions that, when executed by a host processing core resource of the first node, causes the host processing core resource to:

receive the first data segment division; and

allocate a plurality of data segment sub-divisions of the first data segment division to a plurality of processing core resources of the first node, wherein a first processing core resource of the plurality of processing core resources is allocated a first data segment sub-division of the plurality of data segment sub-divisions; and

a fourth memory section that stores operational instructions that, when executed by the plurality of processing core resources of the first node, causes the first computing device to:

store the first data segment having the plurality of data segment divisions and the first data segment division having the plurality of data segment sub-divisions.

14. The computer readable memory device of claim 13 further comprises:

a fifth memory section that stores operational instructions that, when executed by one or more of the computing devices, causes the one or more of the computing devices to:

select the host computing device from the computing devices of the storage cluster based on one or more of: a predetermined selection process, a round-robin selection process, and a pseudo-random selection process.

15. The computer readable memory device of claim 13 further comprises:

the segment group is one of at least one segment group of a data partition of plurality of data partitions of a table of data.

16. The method of claim 1 , wherein the first memory section further stores operational instructions that, when executed by the host computing device, causes the host computing device to process the segment group by:

sorting data of a portion of the segment group of data based on a sorting criteria to produce a data segment of the plurality of data segments.

17. The computer readable memory device of claim 13 , wherein the first memory section further stores operational instructions that, when executed by the host computing device, causes the host computing device to process the segment group by:

error encoding data of a portion of the segment group of data in accordance with an error coding protocol to produce a data segment of the plurality of data segments.

18. The computer readable memory device of claim 13 , wherein the first memory section further stores operational instructions that, when executed by the host computing device, causes the host computing device to process the segment group by:

dividing data of the segment group of data in accordance with a data segmenting protocol to produce a data segment of the plurality of data segments.

19. The computer readable memory device of claim 13 , wherein the first memory section further stores operational instructions that, when executed by the host computing device, causes the host computing device to:

allocate the first data segment to the host computing device as the first computing device.

20. The computer readable memory device of claim 13 further comprises:

a fifth memory section that stores operational instructions that, when executed by one or nodes of the plurality of nodes, causes the one or more of the plurality of nodes to:

select the host node from the plurality of nodes based on one or more of: a predetermined selection process, a round-robin selection process, and a pseudo-random selection process.

21. The computer readable memory device of claim 13 , wherein the second memory section further stores operational instructions that, when executed by the host node, causes the host node to:

allocate the first data segment division to the host node as the first node.

22. The computer readable memory device of claim 13 further comprises:

a fifth memory section that stores operational instructions that, when executed by one or more of the plurality of processing core resources, causes the one or more of the plurality of processing core resources to:

select the host processing core resource from the plurality of processing core resources based on one or more of: a predetermined selection process, a round-robin selection process, and a pseudo-random selection process.

23. The computer readable memory device of claim 13 , wherein the third memory section further stores operational instructions that, when executed by the host processing core resource, causes the host processing core resource to:

allocate the first data segment sub-division to the host processing core resource as the first processing core resource.

24. The computer readable memory device of claim 13 , wherein the first memory section further stores operational instructions that, when executed by the host computing device, causes the host computing device to:

receive an instruction regarding processing of the segment group of data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2019
From: KONDILES, GEORGE; ARNOLD, JASON
To: OCIENT INC.
Reel/Frame 049071/0572 →
Continuity (2)
Provisional Application 62745787 · Oct 15, 2018
Related Publication 20200117510A1 · Apr 16, 2020
Cited By (1)
US 12,493,588