Early Boot User Data Access via Driver PE File

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current user-level applications and kernel-level drivers face difficulties in accessing user-level data during early boot-time due to the lack of loaded file system drivers, leading to discrepancies and system errors when updating operating systems.

Innovation Solution

Modifying the boot-loader registry to include references for a driver PE file, allowing the operating system to image the driver PE file into memory during early boot-time, enabling access to user-level data through portable executable (PE) files structured like user-level files, such as NTDLL.DLL, which are typically not loaded during this period.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If file system drivers are not loaded during early boot-time, then system stability is maintained, but user-level data cannot be accessed

Engineering Contradiction:
Improvesystem stabilityVSAvoidaccess to user-level data
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent loads the driver PE file into memory during early boot-time before file system drivers are fully initialized. This preliminary action enables the driver to access user-level data structures and kernel function references that will be needed later when the file system is mounted, avoiding the need to wait for file system driver initialization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a driver PE file as an intermediary component that bridges the gap between early boot-time kernel initialization and user-level data access. This driver PE file contains references to kernel functions and user-level data structures, allowing safe access before the full file system stack is available.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If references to OS data are hard-coded into applications/drivers, then access speed is improved, but adaptability to OS updates deteriorates

Engineering Contradiction:
Improvedata access speedVSAvoidcompatibility with OS updates
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent makes the previously static hard-coded references dynamic by loading them from a driver PE file at runtime. The driver PE file contains references to kernel functions and user-level data structures that can be updated alongside OS updates, allowing the application to adapt to new OS versions without requiring recompilation or repatching.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the state of the reference data from fixed (hard-coded) to variable (loaded from PE file). By storing references in a driver PE file that can be updated independently of the application binary, the system maintains fast access speeds while gaining the ability to update references when OS versions change.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If patches are applied to update hard-coded references, then compatibility with new OS versions is improved, but system complexity and error risk increase

Engineering Contradiction:
Improvecompatibility with new OS versionsVSAvoidpatching complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the references to kernel functions and user-level data structures from the application binary and places them in a separate driver PE file. This extraction eliminates the need to patch the application itself when OS updates occur - instead, only the driver PE file needs to be updated, significantly reducing patching complexity and error risk.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8140839B2Method and system of file manipulation during early boot time by accessing user-level data
Publication Date: 2012.03.20 OPEN TEXT CORPORATION
  • US8140839B2 patent drawing
  • US8140839B2 patent drawing
  • US8140839B2 patent drawing

AI summary

A system and method for enabling access to user-level data is described. One embodiment includes accessing user-level data associated with a kernel-level function using a portable executable (PE) file. The user-level data is accessed during a boot-time of a computer. In this embodiment, the PE file is also accessed using the computer.