Multi-Stream Restore Pinning for Priority File Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing backup systems lack efficient mechanisms to prioritize high-priority file restorations, leading to suboptimal use of resources and prolonged restoration times.

Innovation Solution

Implementing a multi-stream restore (MSR) mechanism with multiple internal threads that prefetch data into a read-ahead cache, allowing for parallel data retrieval and prioritization of high-priority restorations while managing resource usage through a system load monitor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If multi-stream restore is implemented to restore files in parallel, then restoration speed is improved, but system resource consumption increases

Engineering Contradiction:
Improverestoration speedVSAvoidsystem resource consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts the number of restore streams based on file priority and system load. High-priority files receive more restore streams for faster restoration, while the system monitors resource consumption and adjusts stream allocation accordingly, creating a dynamic balance between speed and resource usage

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Different restore strategies are applied to different files based on their priority levels. High-priority files get multi-stream restore treatment with higher parallelism, while normal-priority files use standard single-stream restore, creating localized optimization without system-wide resource exhaustion

Inventive Principle:
Principle #3Local quality

2Loss of time

If multiple internal threads are used to prefetch data, then restoration time is reduced, but device complexity increases

Engineering Contradiction:
Improverestoration timeVSAvoidthread management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The restore operation is segmented into multiple independent streams that can run in parallel. Each stream handles a portion of the file restoration independently, allowing the system to manage complexity through modular parallel units rather than a monolithic complex process

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Data prefetching is performed in advance by internal threads before the actual restore operation begins. This preliminary action loads data into the read-ahead cache proactively, reducing restoration time when the actual restore is needed without requiring complex real-time coordination

Inventive Principle:
Principle #10Preliminary action

3Reliability

If high-priority restorations are given preferential treatment, then critical file restoration is improved, but fairness among different restore requests deteriorates

Engineering Contradiction:
Improvecritical file restoration reliabilityVSAvoidrestore request fairness
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system continuously monitors system load and restore progress, using feedback to dynamically adjust resource allocation. When system load is high, even high-priority requests may be throttled or queued, ensuring that resource allocation remains fair and adaptive to actual system conditions rather than purely based on static priority

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12517793B2Indicating preferred restore throughput in a deduplication filesystem via a rest interface
Publication Date: 2026.01.06 DELL PROD LP
  • US12517793B2 patent drawing
  • US12517793B2 patent drawing
  • US12517793B2 patent drawing

AI summary

A count of multi-stream restore (MSR) streams associated with restore jobs pinned for the MSR streams and a count of MSR streams associated with restore jobs not pinned for the MSR streams are tracked. Each MSR stream includes multiple internal threads that prefetch data for the restore jobs into read-ahead caches. A REST request is received for a restore job, the REST request requesting that the restore job be pinned for an MSR stream. When the count of MSR streams associated with restore jobs pinned for the MSR streams plus the count of MSR streams associated with restore jobs not pinned for MSR streams has reached a threshold, an MSR stream associated with a restore job not pinned for the MSR stream is torn down.