Distributed KVS Data Allocation by Server Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing, constructing a distributed Key-Value Store (KVS) system is challenging due to varying server performance, leading to degraded access performance and memory usage efficiency, as existing methods require manual data allocation settings that do not account for performance differences among servers.

Innovation Solution

A system that automatically sets data management ranges and allocates replicated data based on server performance using algorithms like 'down staircase' and 'inverted V shape' to optimize data distribution across servers, ensuring balanced performance and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If data is allocated equally across servers using consistent hashing, then distribution simplicity is maintained, but access performance and memory usage efficiency degrade due to server performance differences

Engineering Contradiction:
Improvedata allocation complexityVSAvoidaccess performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies local quality by allocating different amounts of replicated data to different servers based on their specific performance characteristics. High-performance servers receive larger allocation ratios while low-performance servers receive smaller ratios, optimizing the overall system balance. This is implemented through the allocation ratio determination unit that assigns ratios proportional to each server's performance level.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the allocation parameter from equal distribution to performance-proportional distribution. The system dynamically adjusts the allocation ratio parameter based on measured server performance metrics, transforming the static equal allocation into a dynamic performance-based allocation that adapts to varying server capabilities.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If manual data allocation settings are used, then performance differences among servers can be considered, but operational complexity and time consumption increase

Engineering Contradiction:
Improvememory usage efficiencyVSAvoidoperational complexity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system implements self-service by automatically measuring server performance, determining allocation ratios, and allocating replicated data without requiring manual intervention. The allocation ratio determination unit and data allocation unit work autonomously to optimize data distribution based on current server performance levels, eliminating the need for manual configuration while maintaining high efficiency.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system establishes a feedback loop where server performance is continuously measured, allocation ratios are determined based on these measurements, and the results are applied to data allocation. This closed-loop feedback mechanism enables the system to automatically adapt to performance changes and maintain optimal allocation without manual reconfiguration.

Inventive Principle:
Principle #23Feedback

3Productivity

If high-performance servers hold more replicated data, then access performance improves, but memory capacity of low-performance servers is underutilized

Engineering Contradiction:
Improveaccess performanceVSAvoidmemory usage efficiency
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts the allocation ratio parameter based on server performance, transforming the fixed equal allocation into a flexible performance-proportional allocation. This parameter change ensures that high-performance servers receive more replicated data while low-performance servers receive appropriate amounts, optimizing both access performance and overall memory utilization across the cluster.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9898518B2Computer system, data allocation management method, and program
Publication Date: 2018.02.20 HITACHI LTD
  • US9898518B2 patent drawing
  • US9898518B2 patent drawing
  • US9898518B2 patent drawing

AI summary

A computer system comprises a plurality of computers for executing a service by using databases constructed of storage areas included in the plurality of computers. Each of the plurality of computers is configured to hold performance management information for managing respective performances of the plurality of computers. The each of the plurality of computers is allocated master data and replicated data of the master data managed by one of the plurality of computers other than the each of the plurality of computers. The computer system comprises a performance information management part configured to update the performance management information; and a cluster configuration management part configured to determine, based on the performance management information, the management range of the master data managed by a computer and a sub-computers configured to hold the replicated data of the master data managed by the computer.