Restartable File System via Logical Membrane Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing file systems in computing devices are prone to failures due to software errors or hardware transient faults, leading to complete operating system crashes and data loss, necessitating restarts that impact usability and stability.
Innovation Solution
The implementation of a restartable file system that creates a logical membrane around the file system, using file system checkpoints and inter-checkpoint logs to isolate failures, delay pending processes, unwind current processes, and rebuild the file system state from the last checkpoint, thereby avoiding system restarts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the operating system uses a traditional file system without isolation mechanisms, then the file system can operate with full access to system resources, but any file system fault causes complete operating system failure requiring a restart
Solution Approach 1:
The patent applies segmentation by creating a distinct file system process separate from the operating system kernel. The file system is divided into an isolated process space that can fail independently without taking down the entire operating system. This segmentation allows the OS to continue functioning even when the file system process fails, resolving the contradiction between reliability and complexity by isolating failures to a specific segment.
Solution Approach 2:
The patent introduces an intermediary mechanism in the form of a process manager or bridge that mediates between the isolated file system process and the operating system kernel. This intermediary handles communication and coordination while maintaining isolation boundaries, allowing the file system to access necessary resources without direct coupling to the kernel, thus improving reliability without excessive complexity.
2Stability of the object's composition
If the operating system implements comprehensive fault isolation for the file system, then system stability is improved during file system failures, but the complexity of process management and state recovery increases
Solution Approach 1:
The patent applies preliminary action by having the file system process save its state to disk before performing critical operations or before potential failure points. This pre-saved state enables quick recovery without complex real-time stabilization mechanisms. The file system can restart from the last saved state, maintaining OS stability without requiring sophisticated ongoing intervention mechanisms.
Solution Approach 2:
The patent implements discarding and recovering by allowing the file system process to be discarded (terminated) when it fails, while recovering its state from previously saved checkpoints on disk. This approach simplifies the stability mechanism by relying on periodic state snapshots rather than complex real-time fault containment, reducing the complexity of active stabilization while maintaining system stability.
3Reliability
If the file system process is completely isolated from the operating system, then failure containment is improved, but the file system's ability to access and manipulate system resources is degraded
Solution Approach 1:
The patent uses an intermediary mechanism that allows the isolated file system process to access operating system resources through controlled interfaces. The intermediary maintains the isolation boundary while facilitating necessary resource access, resolving the contradiction by providing a gateway that preserves both containment and functionality.
Solution Approach 2:
The patent applies universality by designing the file system process to handle multiple functions through a standardized interface with the operating system. The isolated process can perform various file operations, manage storage resources, and interact with the OS kernel through a unified communication mechanism, maintaining ease of operation despite isolation.
Data Source
AI summary
In general, techniques are described for enabling a restartable file system. A computing device comprising a processor that executes an operating system may implement the techniques. The processor executes kernel and file system functions of the operating system to perform an operation, where both types of functions call each other to perform the operation. The operating system stores data identifying those of the kernel functions that called the file system functions. In response to determining that one of the file system functions that was called has failed, the operating system accesses the data to identify one of the kernel functions that most recently called one of the file system functions, and returns control to the identified one of the kernel functions without executing any of the file system functions called after the identified one of the kernel functions and prior to the one of the file system functions that failed.


