Multi-threaded Deduplicated Backup for Collaboration Server Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing de-duplicated backup methods for collaboration server data, such as IBM Lotus Domino, often take a long time to complete due to the use of a single backup thread, especially for large datasets, leading to inefficiencies in data transfer and processing.

Innovation Solution

Implementing a multi-threaded backup process that divides data into size-based or volume-based subsets, allowing multiple threads to work in parallel, with each thread having its own local cache to maximize de-duplication cache hits and efficiently transfer only unique data to the remote backup server, while also backing up transaction logs in parallel.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single backup thread is used for de-duplicated backup, then data integrity is ensured through centralized cache management, but backup time becomes excessively long for large datasets

Engineering Contradiction:
Improvedata integrityVSAvoidbackup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The backup process is divided into multiple independent threads, each handling a separate cache and portion of the data. This segmentation allows parallel processing while maintaining data integrity through individual cache management for each thread, resolving the contradiction between centralized reliability and parallel speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from a single-threaded sequential approach to a multi-threaded parallel approach, adding the dimension of concurrency. Each thread operates independently with its own cache, enabling simultaneous data processing that dramatically reduces backup time while preserving data integrity through structured cache management.

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

2Productivity

If multiple backup threads are implemented in parallel, then backup time is reduced through parallel processing, but cache management complexity increases

Engineering Contradiction:
Improvebackup speedVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache is segmented into multiple independent local caches, one for each backup thread. This eliminates the need for complex inter-thread cache coordination and synchronization, as each thread manages its own cache independently. The segmentation simplifies cache management while enabling parallel processing that improves backup speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each backup thread independently manages its own local cache without requiring coordination with other threads. This self-service approach to cache management eliminates complex synchronization mechanisms and inter-thread communication overhead, simplifying the system while maintaining high productivity through parallel operations.

Inventive Principle:
Principle #25Self-service

3Productivity

If data is divided into multiple subsets for parallel processing, then backup efficiency is improved, but the overhead of managing multiple threads and caches increases

Engineering Contradiction:
Improvebackup efficiencyVSAvoidprocessing overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

Data is segmented into multiple subsets that are processed in parallel by separate threads, each with its own cache. This segmentation improves backup efficiency by utilizing multiple processing units simultaneously. The overhead is minimized because each thread operates independently with its own cache, avoiding the need for complex data sharing and synchronization that would consume additional energy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of cache organization from a single shared cache to multiple independent caches. This parameter change enables parallel processing that improves productivity while the independent cache structure reduces the overhead of cache coordination and synchronization, thereby reducing energy loss from processing overhead.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10635543B2Multi stream deduplicated backup of collaboration server data
Publication Date: 2020.04.28 EMC IP HLDG CO LLC
  • US10635543B2 patent drawing
  • US10635543B2 patent drawing
  • US10635543B2 patent drawing

AI summary

Techniques to backup collaboration server data are disclosed. A plurality of separate threads are used to back up a prescribed number of subsets of a dataset. Each subset of the prescribed number of subsets was determined by walking an associated directory in the prescribed order at a prior time with which a prior backup is associated. A separate thread is spawned to backup transaction logs associated with the dataset. A first pass backup of the transaction logs is performed in parallel with the backup of the prescribed number of subsets.