# US 11,907,219 B2 · Query execution via nodes with parallelized resources

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,907,219 B2
- Document ID: US11907219B2
- Status: Granted
- Kind: B2
- Application number: 18/177,963
- Filed: 2023-03-03
- Published: 2023-06-29
- Granted: 2024-02-20
- Earliest claimed: 2018-10-15
- Assignees: Ocient Holdings LLC
- Applicants: Ocient Holdings LLC
- Inventors: George Kondiles; Jason Arnold
- Web page: https://patentgrep.com/patent/US11907219B2

## CPC

- G06F 16/24542: {Plan optimisation}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0647: {Migration mechanisms}
- G06F 3/068: {Hybrid storage device}
- G06F 7/24: Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers {sorting methods in general}(G06F7/36 takes precedence)
- G06F 9/4406: {Loading of operating system}
- G06F 9/5016: {the resource being the memory}
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 9/5061: {Partitioning or combining of resources}
- G06F 11/1004: {to protect a block of data words, e.g. CRC or checksum (G06F11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F21/00)}
- G06F 11/1044: {with specific ECC/EDC distribution}
- G06F 11/1076: {Parity data used in redundant arrays of independent storages, e.g. in RAID systems}
- G06F 12/0893: Caches characterised by their organisation or structure
- G06F 12/109: for multiple virtual address spaces, e.g. segmentation (G06F12/1036 takes precedence)
- G06F 16/1727: {Details of free space management performed by the file system (saving storage space on storage systems G06F3/0608; management of blocks in storage devices G06F3/064)}
- G06F 16/22: Indexing; Data structures therefor; Storage structures
- G06F 16/2246: {Trees, e.g. B+trees}
- G06F 16/2282: {Tablespace storage structures; Management thereof}
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F 16/244: {Grouping and aggregation}
- G06F 16/2445: {Data retrieval commands; View definitions}
- G06F 16/2453: Query optimisation
- G06F 16/24553: {of query operations}
- G06F 16/24573: {using data annotations, e.g. user-defined metadata}
- G06F 16/2458: Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F 16/278: {Data partitioning, e.g. horizontal or vertical partitioning}
- G06F 16/901: Indexing; Data structures therefor; Storage structures (for retrieval from the web G06F16/951)
- G06F 16/9017: {using directory or table look-up (use of a directory or look-up table in file systems G06F16/13)}
- H03M 7/30: Compression (speech analysis-synthesis for redundancy reduction G10L19/00; for image communication H04N); Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M 7/3064: {Segmenting}
- H03M 7/6023: {Parallelization}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L 67/561: Adding application-functional data or data for application control, e.g. adding metadata
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 16/24547: {Optimisations to support specific applications; Extensibility of optimisers}
- G06F 2211/1011: Clustered RAID, i.e. clustered or de-clustered RAID where data and parity are spread over more disks than blocks in a parity group
- G06F 2212/608: Details relating to cache mapping
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A node includes a plurality of processing core resources. Each processing core resource of the plurality of processing core resources includes a corresponding processing module, a corresponding memory interface module, a corresponding memory device, and a corresponding cache memory. The plurality of processing core resources of the node is operable to collectively perform corresponding operations of the node. Each processing core resource of the plurality of processing core resources of the node is operable to perform operations independently from other ones of the plurality of processing core resources of the node.

## Claims

### Claim 1

A computing system comprises:
a plurality of computing devices, wherein each computing device of the plurality of computing devices comprises:
a plurality of parallelized nodes, wherein each node of the plurality of parallelized nodes comprises:
a main memory that includes at least one of: volatile memory for storage of data, operational instructions of applications, or operational instructions of operating system, wherein the main memory comprises:
a computing device section that includes a computing device operating system area and a computing device general area; and
a database section that includes a database operating system area, a disk area, a network area, and a database general area;
wherein the database operating system area allocates at least one portion of the main memory for database operations, and wherein the at least one portion of the main memory is locked from access by the computing device operating system area;
and
a plurality of processing core resources, wherein each processing core resource of the plurality of processing core resources comprises:
a processing module;
a memory interface module;
a memory device; and
a cache memory;
wherein the plurality of computing devices is operable to collectively execute query requests against at least one database table stored by the plurality of computing devices based on the each node of the plurality of parallelized nodes of the each computing device performing corresponding operations independently from other nodes of the plurality of parallelized nodes.

### Claim 2 (depends on 1)

The computing system of claim 1, wherein the plurality of processing core resources of the each node is operable to collectively perform the corresponding operations of the each node, and wherein each processing core resource of the plurality of processing core resources of the each node is operable to perform operations independently from other ones of the plurality of processing core resources of the node.

### Claim 3 (depends on 1)

The computing system of claim 1, wherein a subset of the plurality of parallelized nodes are further configured to function as co-processors based on sharing processing requirements of a single function.

### Claim 4 (depends on 1)

The computing system of claim 1, wherein the plurality of computing devices include a plurality of sets of computing devices, and wherein each set of computing devices of the plurality of sets of computing devices corresponds to one of a plurality of storage clusters.

### Claim 5

A node comprises:
a main memory that includes at least one of: volatile memory for storage of data, operational instructions of applications, or operational instructions of operating system, wherein the main memory comprises:
a computing device section that includes a computing device operating system area and a computing device general area; and
a database section that includes a database operating system area, a disk area, a network area, and a database general area;
wherein the database operating system area allocates at least one portion of the main memory for database operations, and wherein the at least one portion of the main memory is locked from access by the computing device operating system area;
and
a plurality of processing core resources, wherein each processing core resource of the plurality of processing core resources comprises:
a corresponding one of a plurality of processing modules of the node;
a corresponding one of a plurality of memory interface modules of the node;
a corresponding one of a plurality of memory devices of the node; and
a corresponding one of a plurality of cache memories of the node;
wherein the node is operable to perform corresponding operations in conjunction with execution of query requests against at least one database table based on the plurality of processing core resources of the node being operable to collectively perform the corresponding operations, and wherein each processing core resource of the plurality of processing core resources of the node is operable to perform operations independently from other ones of the plurality of processing core resources of the node.

### Claim 6 (depends on 5)

The node of claim 5, wherein the node is operable to concurrently process multiple queries based on: a first set of processing core resources of the plurality of processing core resources processing a first query within a given temporal period, and a second set of processing core resources of the plurality of processing core resources processing a second query within the given temporal period.

### Claim 7 (depends on 6)

The node of claim 6, wherein a first processing core resource of the plurality of processing core resources generates a first optimized query plan for execution of the first query, and wherein a second processing core resource of the plurality of processing core resources generates a second optimized query plan for execution of the second query.

### Claim 8 (depends on 5)

The node of claim 5, wherein the node communicates with a computing device controller hub that includes at least one of: a chipset, a quick path interconnect (QPI), or an ultra path interconnection (UPI).

### Claim 9 (depends on 5)

The node of claim 5, wherein the node further comprises a network connection that includes at least one network interface module and at least one corresponding network card, and wherein the node communicates data via the network connection.

### Claim 10 (depends on 9)

The node of claim 9, wherein the at least one corresponding network card includes at least one of: a wireless LAN device, a LAN device, or a cellular device; and
wherein the at least one network interface module includes at least one software driver the at least one corresponding network card.

### Claim 11 (depends on 5)

The node of claim 5, wherein the node further comprises:
a central processing module that includes the plurality of processing modules of the node and the plurality of cache memories of the node; and
a disk memory that includes the plurality of memory interface modules of the node and the plurality of memory devices of the node.

### Claim 12 (depends on 5)

The node of claim 5, wherein the plurality of memory devices of the node includes at least one of: a plurality of disk memories, or a plurality of solid state memories.

### Claim 13 (depends on 5)

The node of claim 5, wherein the node is one of a plurality of parallelized nodes operable to collectively execute query requests, and wherein the node performs the corresponding operations via the plurality of processing core resources independently from other nodes of the plurality of parallelized nodes.

### Claim 14 (depends on 13)

The node of claim 13, wherein the node is one of a subset of the plurality of parallelized nodes based on the node being configured to function as one of a plurality of co-processors based the subset of the plurality of nodes sharing processing requirements of a single function.

### Claim 15 (depends on 13)

The node of claim 13, wherein the node is implemented on a computing device, wherein the computing device is one of a plurality of computing devices of a computing system, and wherein the computing device executes the query requests against the at least one database table based on each node of the plurality of parallelized nodes of the each computing device performing corresponding operations independently from the other nodes of the plurality of parallelized nodes.

### Claim 16 (depends on 15)

The node of claim 15, wherein the plurality of computing devices include a plurality of sets of computing devices, and wherein each set of computing devices of the plurality of sets of computing devices corresponds to one of a plurality of storage clusters, and wherein the node corresponds to a first one of the plurality of storage clusters based on the computing device belonging to the one of the plurality of storage clusters.

### Claim 17

A computing device comprises:
a plurality of parallelized nodes, wherein each node of the plurality of parallelized nodes comprises:
a main memory that includes at least one of: volatile memory for storage of data, operational instructions of applications, or operational instructions of operating system, wherein the main memory comprises:
a computing device section that includes a computing device operating system area and a computing device general area; and
a database section that includes a database operating system area, a disk area, a network area, and a database general area;
wherein the database operating system area allocates at least one portion of the main memory for database operations, and wherein the at least one portion of the main memory is locked from access by the computing device operating system area;
and
a plurality of processing core resources, wherein each processing core resource of the plurality of processing core resources comprises:
a corresponding one of a plurality of processing modules of the each node;
a corresponding one of a plurality of memory interface modules of the each node;
a corresponding one of a plurality of memory devices of the each node; and
a corresponding one of a plurality of cache memories of the each node;
wherein the plurality of parallelized nodes is operable to collectively execute query requests based on each node of the plurality of parallelized nodes performing corresponding operations independently from other nodes of the plurality of parallelized nodes.

### Claim 18 (depends on 17)

The computing device of claim 17, wherein the plurality of processing core resources of the each node is operable to collectively perform the corresponding operations of the each node, and wherein each processing core resource of the each node is operable to perform operations independently from other ones of the plurality of processing core resources of the each node.
