Function Pointer Modification for Backup Data Interception
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing backup solutions face high overhead and complexity when trying to preprocess application data for storage, as they cannot intercept and process data written directly by applications to backup locations without using resource-intensive mechanisms like filter drivers or Virtual File Systems.
Innovation Solution
Modifying function pointers at runtime to redirect application data written during a backup request to a custom function that can preprocess and write data directly to backup media, enabling de-duplication, encryption, and other processing 'in flight' without the need for complex interception methods.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If filter drivers or Virtual File Systems are used to intercept system calls, then application data can be preprocessed for backup, but system overhead and resource consumption increase significantly
Solution Approach 1:
The patent introduces a custom function as an intermediary that intercepts application data through function pointer modification. Instead of using complex filter drivers or Virtual File Systems, the custom function acts as a mediator between the application and the backup process, enabling data preprocessing (de-duplication, encryption) while minimizing system overhead by operating at a simpler interception point.
Solution Approach 2:
The patent replaces the mechanical system of filter drivers and Virtual File Systems with a software-based function pointer modification approach. This substitution eliminates the need for complex kernel-level intercept mechanisms, reducing system overhead while maintaining the ability to preprocess application data for backup.
2Productivity
If applications write data directly to backup locations, then backup speed increases, but the backup product cannot preprocess the data
Solution Approach 1:
The patent implements preliminary action by preprocessing application data before it is written to the backup location. The custom function intercepts data at the point of writing, performs de-duplication and encryption operations, and only then writes the processed data to the backup destination. This ensures both high backup speed and comprehensive data preprocessing capability.
Solution Approach 2:
The custom function serves as an intermediary that sits between the application's direct write operation and the backup location. It allows the application to maintain fast direct writing capability while the intermediary performs necessary preprocessing, thus resolving the contradiction between backup speed and data processing capability.
3Productivity
If function pointers are modified to redirect data to custom functions, then preprocessing efficiency improves, but system stability may be affected
Solution Approach 1:
The patent implements feedback mechanisms to monitor and verify the effects of function pointer modification. The system tracks the modified function pointers and ensures that data is correctly redirected to the custom functions for processing. This feedback loop helps maintain system stability by detecting and correcting any unintended behavior resulting from the pointer modification.
Solution Approach 2:
The patent applies beforehand cushioning by implementing error handling and validation mechanisms before the function pointer modification takes effect. The system prepares backup plans and validation routines in advance, ensuring that if any issues arise from the pointer modification, the system can recover without compromising stability, thus enabling efficient preprocessing while maintaining system reliability.
Data Source
AI summary
Techniques to back up data are disclosed. In various embodiments, a function pointer associated with a system call by an application is modified to point to a custom write function. A request to write application data is received at the custom write function. The application data is written to a backup destination based at least in part on a determination that the request is associated with invocation of a backup method of the application.


