File-Level Incremental Backup via Application-Storage Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data backup methods for storage systems are inefficient, particularly when restoring data for specific applications, as they often require restoring entire volumes, which can be wasteful when only a small portion of the data is needed, especially since files can span multiple volumes.

Innovation Solution

A system that maintains a data structure correlating applications with files and storage system portions, allowing for incremental backups by suspending writes, completing previous writes, and performing snapshots of specific files, enabling point-in-time versions of files to be created and restored efficiently on a per-application basis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If entire volumes are restored to access prior data for applications, then data recovery is achieved, but restoration time and storage resources are wasted when only a small portion of data is needed

Engineering Contradiction:
Improvedata restoration efficiencyVSAvoidrestoration time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the restoration process by implementing incremental continuous backup at the file level rather than restoring entire volumes. The system divides data into individual file components and maintains separate backup versions for each file, allowing selective restoration of only the specific files needed for an application rather than restoring all data in a volume.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and isolates specific files from the volume structure for independent backup and restoration. By using a data structure that correlates applications with specific files and their locations on storage devices, the system can extract and restore only the necessary files without involving other data in the volume, thereby reducing restoration time and resource consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If files spanning multiple volumes are restored, then complete application data is recovered, but the complexity of restoring multiple volumes increases

Engineering Contradiction:
Improvedata recovery completenessVSAvoidrestoration process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal data structure that works across multiple storage volumes and devices. This data structure correlates applications with their files regardless of which volume or storage device the files are located on, providing a unified approach to backup and restoration that simplifies the process even when files span multiple volumes.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If incremental continuous backup is implemented at the file level, then restoration efficiency is improved, but the complexity of tracking file associations with applications increases

Engineering Contradiction:
Improverestoration efficiencyVSAvoiddata structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary data structure that serves as a mapping layer between applications and their underlying files on storage devices. This intermediary structure correlates applications with specific files and tracks file locations without adding significant complexity, as it uses standard data structures (arrays, hashes, or databases) that can efficiently manage the associations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11698884B2File level incremental continuous data protection
Publication Date: 2023.07.11 EMC IP HLDG CO LLC
  • US11698884B2 patent drawing
  • US11698884B2 patent drawing
  • US11698884B2 patent drawing

AI summary

Creating point-in-time versions of files for applications at a storage system includes maintaining at the storage system a data structure correlating each of a plurality of applications with files for each of the applications and correlating each of the files with portions of the data storage system, using the data structure to determine specific files for a particular one of the applications for which a point-in-time version is being created, using the data structure to determine specific portions of the storage system corresponding to the specific files, suspending writes to the specific portions, completing previous writes to the specific portions following suspending writes, and performing a snapshot of the specific files following completing previous writes. The portions of the data storage may be extents. A host may provide information to the storage system to correlate applications with files and to correlate files with portions of the data storage system.