Distributed Data Management via Garbage Collection Vectors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed data management systems face challenges in data synchronization, low latency over wide area networks, scalability, and handling different user schemas, particularly in managing data regions and replication strategies.

Innovation Solution

A distributed data management system that allows runtime user-specified eviction criteria for data entries from operational memory, uses index reference files for efficient recovery, and employs garbage collection region vectors to guide replication processes, optimizing data management and replication strategies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is stored in operational memory for fast access, then access latency is reduced, but memory capacity is limited and data must be evicted when space is needed

Engineering Contradiction:
Improvedata access latencyVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system segments data storage across multiple computing members, dividing the data region into portions that can be distributed and managed independently. Each member holds a portion of the data region in operational memory, allowing the system to scale capacity by adding members while maintaining fast access to the segments held in operational memory.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from a single-dimension operational memory constraint to a multi-dimensional storage architecture spanning multiple computing members. Data can be evicted from operational memory on one member and retrieved from another member's operational memory or non-operational memory, adding spatial dimensionality to resolve the capacity-latency tradeoff.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If eviction criteria are specified at runtime for flexible data management, then adaptability is improved, but system complexity increases

Engineering Contradiction:
Improveeviction policy flexibilityVSAvoidsystem management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system implements dynamic eviction criteria that can be specified and modified at runtime rather than being fixed at compilation or deployment. This allows the eviction policy to adapt to changing workload conditions, data access patterns, and resource availability, with the system automatically adjusting which data entries are evicted based on the current criteria.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Each computing member autonomously evaluates the eviction criteria against its own data entries and performs evictions independently based on the criteria satisfied. This self-service approach distributes the decision-making complexity across members rather than requiring centralized control, reducing overall system management complexity while maintaining flexibility.

Inventive Principle:
Principle #25Self-service

3Reliability

If data is replicated across multiple members for fault tolerance, then reliability is improved, but data exchange and synchronization overhead increases

Engineering Contradiction:
Improvesystem fault toleranceVSAvoiddata exchange overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system implements partial replication where only specific data regions or portions of data are replicated across members rather than complete data duplication. The garbage collection region vectors enable selective synchronization, replicating only the necessary portions of data to achieve the required reliability level while minimizing synchronization overhead.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system uses garbage collection region vectors to track and manage replication states, allowing dynamic adjustment of replication parameters based on data age, access patterns, and reliability requirements. This enables the system to optimize the balance between reliability and synchronization overhead by adjusting replication depth and frequency based on changing conditions.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If index recovery is performed after system restart, then data accessibility is restored, but recovery time and latency increase

Engineering Contradiction:
Improvedata accessibility after restartVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions during normal operation to prepare for potential restarts, maintaining garbage collection region vectors that track the state of data regions and indexes. This pre-computed information enables faster recovery by allowing the system to resume from a known state rather than rebuilding indexes from scratch after a restart.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10382549B1Data management platform
Publication Date: 2019.08.13 VMWARE INC
  • US10382549B1 patent drawing
  • US10382549B1 patent drawing
  • US10382549B1 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for distributed data management. One of the methods includes maintaining, by a first member in a distributed data management system having multiple computing members installed on multiple respective computers, a first garbage collection version vector that includes, for each member in the distributed data management system, a garbage collection version that represents a number of garbage collection processes performed by the member on a respective copy of a replicated data region maintained by the member in the data management system. If the first garbage collection version vector is different than a second garbage collection version vector received from a different provider member, a first replication process is performed that is different than a second replication process that is performed when the first garbage collection version vector matches the second garbage collection version vector.