# US 10,936,377 B2 · Distributed database system and resource management method for distributed database system

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

- Number: US 10,936,377 B2
- Document ID: US10936377B2
- Status: Granted
- Kind: B2
- Application number: 16/333,727
- Filed: 2017-02-28
- Published: 2019-09-05
- Granted: 2021-03-02
- Earliest claimed: 2017-02-28
- Assignees: Hitachi, Ltd.
- Applicants: Hitachi, Ltd.
- Inventors: Toshiyuki Aritsuka; Kazushi Nakagawa; Kazuhisa Fujimoto
- Web page: https://patentgrep.com/patent/US10936377B2

## CPC

- G06F 9/5094: {where the allocation takes into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206)}
- G06F 1/26: Power supply means, e.g. regulation thereof (for memories G11C)
- G06F 1/28: Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
- G06F 9/50: Allocation of resources, e.g. of the central processing unit [CPU]
- G06F 9/505: {considering the load}
- G06F 9/5083: {Techniques for rebalancing the load in a distributed system}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 16/278: {Data partitioning, e.g. horizontal or vertical partitioning}
- G06F 9/46: Multiprogramming arrangements
- G06F 9/5066: {Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs (mappping at compile time, see G06F8/451)}
- G06F 11/2043: {where the redundant components share a common memory address space}
- G06F 16/2471: {Distributed queries}
- G06F 16/337: {Profile generation, learning or modification}
- G06F 2209/509: Offload
- Y10S 707/9994: Distributed or remote access
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

The data processing times of data processing nodes are heterogeneous, and hence the execution time of a whole system is not optimized. A task is executed using a plurality of optimal computing devices by distributing a data amount of data to be processed with a processing command of the task for the plurality of optimal computing devices depending on a difference in computing power between the plurality of optimal computing devices, to thereby execute the task in a distributed manner using the plurality of optimal computing devices.

## Claims

### Claim 1

A distributed database system including one or more data processing nodes each including one or more computing devices configured to process data, the distributed database system comprising:
a control unit operating within a processor and associated with a memory to:
measure a computing power of each of the one or more computing devices of each of the one or more data processing nodes;
determine for each of the one or more data processing nodes, one of the one or more computing devices with a highest computing power based on the computing power measured, and
each of the one of the one or more computing devices with the highest computing power being an optimal computing device;
determine, when a task is executed using the optimal computing devices, a processing data amount of the data to be processed with a processing command of the task for the optimal computing devices, such that each of the one or more data processing nodes executes the task in a timeframe, to thereby allow the task to be executed in a distributed manner using the plurality of optimal computing devices;
generate partitions based on the processing data amount determined,
determine a data amount, for distribution to each of the one or more data processing nodes;
distribute data blocks to the partitions, based on the data amount determined; and
execute, via the optimal computing devices, the task and process the data blocks distributed to the partitions.

### Claim 2 (depends on 1)

The distributed database system according to claim 1, wherein
each of the one or more computing devices is an accelerator configured to process the task.

### Claim 3 (depends on 2)

The distributed database system according to claim 2, wherein
each of the one or more computing devices is any one of or a combination of any one of a CPU, an FPGA, a GPU, and an ASIC.

### Claim 4 (depends on 1)

The distributed database system according to claim 1, wherein
the device selection unit is further configured to allow the task to be executed in a distributed manner using the one or more computing devices mounted on a plurality of the one or more data processing nodes.

### Claim 5 (depends on 1)

The distributed database system according to claim 1, wherein
the device selection unit is further configured to allow the task to be executed in a distributed manner using a plurality of the one or more computing devices mounted on one of the one or more data processing nodes.

### Claim 6 (depends on 1)

The distributed database system according to claim 1, wherein
the device selection unit is further configured to:
determine a task load by interpreting the processing command of the task;
determine resource performance of each of the one or more computing devices; and
when the task is executed using the optimal computing devices, determining the processing data amount of the data to be processed with the processing command of the task for the optimal computing devices depending on a task execution performance ratio based on the task load and the resource performance, to thereby allow the task to be executed in a distributed manner using the optimal computing devices.

### Claim 7 (depends on 6)

The distributed database system according to claim 6, wherein
when distributing the data amount determined based on the task execution performance ratio, the data blocks are distributed based on a mean value of the task execution performance.

### Claim 8 (depends on 7)

The distributed database system according to claim 7, wherein
the device selection unit is further configured to derive the mean value using a geometric mean.

### Claim 9

A resource management method for a distributed database system including one or more data processing nodes each including one or more computing devices configured to process data and a control unit, the resource management method comprising:
measuring, by the control unit, a computing power of each of the one or more computing devices of each of the one or more data processing nodes;
determining, by the control unit, for each of the one or more data processing nodes, one of the one or more computing devices with a highest computing power based on the computing power measured, and each of the one of the one or more computing devices with the highest computing power being an optimal computing device;
determining, by the control unit, when a task is executed using the optimal computing devices, a processing data amount of the data to be processed with a processing command of the task for the optimal processing devices, such that each of the one or more data processing nodes executes the task in a predetermined timeframe, to thereby allow the task to be executed in a distributed manner using the optimal computing devices;
generating, by the control unit, partitions based on the processing data amount determined;
determining, by the control unit, a data amount for distribution to each of the one or more data processing nodes;
distributing, by the control unit, data blocks to the partitions based on the data amount determined; and
executing, by the optimal computing devices, the task and processing the data blocks distributed to the partitions.

### Claim 10 (depends on 9)

The resource management method for a distributed database system according to claim 9, wherein the method further comprises:
allowing, by the control unit, the task to be executed in a distributed manner using the one or more computing devices mounted on a plurality of the one or more data processing nodes.

### Claim 11 (depends on 9)

The resource management method for a distributed database system according to claim 9, wherein the method further comprises:
allowing, by the control unit, the task to be executed in a distributed manner using a plurality of the one or more computing devices mounted on one of the one or more data processing nodes.

### Claim 12 (depends on 9)

The resource management method for a distributed database system according to claim 9, wherein the method further comprises:
determining, by the control unit, a task load by interpreting the processing command of the task;
determining, by the control unit, resource performance of each of the one or more computing devices; and
determining, by the control unit, when the task is executed using the plurality of optimal computing devices, the processing data amount of the data to be processed with the processing command of the task for the optimal computing devices depending on a task execution performance ratio based on the task load and the resource performance, to thereby allow the task to be executed in a distributed manner using the optimal computing devices.

### Claim 13 (depends on 12)

The resource management method for a distributed database system according to claim 12, wherein
when distributing, by the control unit, the data amount determined based on the task execution performance ratio, the data blocks are distributed based on a mean value of the task execution performance.

### Claim 14 (depends on 13)

The resource management method for a distributed database system according to claim 13, wherein the method further comprises:
deriving, by the control unit, the mean value using a geometric mean.
