Node Determining Program for Distributed Data Storage Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed data stores, existing methods fail to efficiently manage data distribution among nodes, leading to redundant data storage and excessive data movement during node additions or deletions, which affects performance and efficiency.

Innovation Solution

A node determining program and apparatus that associate unique mathematical functions with each node, calculate index values, and use a weighting function to determine data storage based on the size relationship of these values, ensuring disproportionate data distribution and minimizing data movement during node changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is distributed evenly across all nodes using simple hash functions, then data storage is simple and fast, but high-performance nodes cannot utilize their full capacity and data distribution efficiency is low

Engineering Contradiction:
Improvedata storage efficiencyVSAvoidnode determination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent assigns different mathematical functions with different complexities to different nodes based on their performance characteristics. High-performance nodes receive more complex functions that can handle larger data volumes, while lower-performance nodes receive simpler functions. This local differentiation allows each node to operate at optimal capacity, improving overall data storage efficiency without requiring uniform complexity across all nodes.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adjusts the parameters of mathematical functions assigned to nodes based on their performance metrics. By changing parameters such as function complexity, domain range, and weighting factors, the system can adaptively allocate data storage responsibilities to match current node capabilities, thereby improving productivity while managing complexity through parameter optimization rather than structural redesign.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If the number of nodes in the distributed data store is dynamically increased or decreased, then system flexibility and scalability are improved, but excessive data movement occurs affecting performance

Engineering Contradiction:
Improvenode dynamic adjustment capabilityVSAvoiddata movement time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent pre-calculates and stores the results of mathematical functions for all possible data items during system setup or node addition/deletion events. When nodes are dynamically added or removed, the system retrieves pre-computed results rather than recalculating everything, significantly reducing data movement time. This preliminary action allows the system to maintain high adaptability while minimizing the time loss associated with reconfiguring data distribution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements dynamic node determination where mathematical functions and their parameters are adjusted in real-time based on current node availability and performance. When nodes are added or removed, the system dynamically recalculates only the necessary portions of the data distribution mapping, allowing flexible node adjustment while minimizing unnecessary data movement through selective updates rather than complete redistribution.

Inventive Principle:
Principle #15Dynamics

3Reliability

If redundant storage of identical data across multiple nodes is implemented, then failure resistance is improved, but storage efficiency decreases and data retrieval complexity increases

Engineering Contradiction:
Improvefailure resistanceVSAvoidstorage efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements asymmetric redundancy where different nodes store different portions or versions of the same data based on their performance characteristics and current load. Instead of identical copies across all nodes, high-performance nodes may store more complete or frequently-accessed data portions, while lower-performance nodes store less critical or less frequently accessed portions. This asymmetric approach maintains failure resistance through redundancy while improving storage efficiency by avoiding complete duplication.

Inventive Principle:
Principle #4Asymmetry

Solution Approach 2:

The system uses selective copying where only necessary portions of data are replicated across nodes based on redundancy requirements and node capabilities. Rather than copying entire data sets to all nodes, the patent determines optimal replication strategies using mathematical functions that identify which data items should be copied to which nodes, thereby maintaining reliability through appropriate redundancy while preserving storage efficiency by avoiding unnecessary copies.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9081695B2Node determining program, node determining apparatus, and node determining method
Publication Date: 2015.07.14 FUJITSU LTD
  • US9081695B2 patent drawing
  • US9081695B2 patent drawing
  • US9081695B2 patent drawing

AI summary

A computer-readable recording medium storing a program causing a processor to execute an operation, the operation includes associating a mathematical function of which a domain includes a key to uniquely specify data to be stored, with each node; associating an index value indicating an amount of the data, with each node; substituting the key in the mathematical function to calculate a value of the mathematical function; substituting the value of the mathematical function and the index value in a weighting function, of which a domain includes the value of the mathematical function and the index value, and in which a size relationship of values of the weighting function is defined in a range of the weighting function, to calculate a value of the weighting function for every node; determining a node in which the data is to be stored, based on the size relationship; and outputting the node.