FUSE Deduplication Filesystem Mapping for Native Backup Copy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing backup utilities for applications lack direct access to deduplication filesystem operations, necessitating reliance on third-party software or SDKs, which can increase costs and impact user experience.
Innovation Solution
Implementing a Filesystem in Userspace (FUSE) library to map system calls to deduplication filesystem operations, allowing native backup utilities to perform fast copy and synthetic backup operations without requiring SDKs or third-party applications, by intercepting and translating system calls to client-side deduplication library APIs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If native backup utilities are used without deduplication filesystem integration, then user experience and application compatibility are improved, but storage efficiency and cost are worsened
Solution Approach 1:
A FUSE-based filesystem layer is introduced as an intermediary between the native backup utility and the storage system. This layer intercepts standard file operations and translates them into deduplication-aware operations, allowing the backup utility to work seamlessly while enabling storage efficiency through deduplication without requiring modifications to the application or backup utility itself
2Loss of substance
If third-party backup software or SDKs are used to access deduplication operations, then storage efficiency is improved, but device complexity and cost are worsened
Solution Approach 1:
The FUSE filesystem provides a universal interface that works with any application using standard filesystem calls. Rather than requiring application-specific SDKs or third-party software, the solution uses the common FUSE framework to provide deduplication capabilities to all applications uniformly, reducing overall system complexity
3Adaptability or versatility
If standard filesystem copy operations are used, then application compatibility is improved, but data transfer time and performance are worsened
Solution Approach 1:
Instead of copying actual file data during backup operations, the FUSE filesystem layer creates references or pointers to the original data blocks. When deduplication is detected, the system copies metadata and references rather than the full data content, dramatically reducing transfer time while maintaining compatibility with applications that expect standard copy behavior
Data Source
AI summary
A system call of a Filesystem in Userspace (FUSE) library at a client is mapped to first and second operations of a deduplication filesystem, the system call performing an in-kernel copy between source and destination file descriptors. A filesystem mount point of the deduplication filesystem is presented to an application residing at the client. Upon the application triggering the system call on the mount point, the system call is intercepted. First and second parameters of the system call are examined. The first parameter indicates an offset location in the source file descriptor at which a range of data to copy should start. The second parameter indicates an offset location in the destination file descriptor at which the range of data copied should be inserted. Based on the examination, one of a first or second API of a client-side library residing at the client is called.


