Restartable File System via Logical Membrane Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvefile system fault toleranceVSAvoidfile system architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveoperating system stabilityVSAvoidprocess isolation and recovery mechanism complexity
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #34Discarding and recovering

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

Engineering Contradiction:
Improvefailure containment capabilityVSAvoidfile system resource access capability
Core Design Contradiction:
ReliabilityVSEase of operation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

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

Data Source

PatentUS8510597B2Providing restartable file systems within computing devices
Publication Date: 2013.08.13 WISCONSIN ALUMNI RES FOUND
  • US8510597B2 patent drawing
  • US8510597B2 patent drawing
  • US8510597B2 patent drawing

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.