Anonymous File Generation for Uninterrupted Process Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in allowing a first process to execute instructions from an executable file while a second process modifies the same file without interrupting the first process's execution.

Innovation Solution

The method generates an anonymous file from the executable file, allowing the first process to switch to executing the anonymous file without interruption, enabling modifications by the second process without affecting the first process's execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a first process executes instructions from an executable file while a second process modifies the same file, then the second process can update the executable file, but the first process's execution may be interrupted or affected

Engineering Contradiction:
ImproveAbility to modify executable file during executionVSAvoidContinuity of first process execution
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments the executable file into multiple pages and creates separate virtual memory mappings for the first and second processes. The first process maps original pages for execution, while the second process maps corresponding pages for modification. This segmentation allows both processes to operate on different copies of the file pages simultaneously without interfering with each other's execution continuity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The operating system acts as an intermediary by implementing a page replacement mechanism that automatically switches between the original executable file pages and modified anonymous pages. When the second process modifies a page, the OS creates an anonymous page as a copy, allows the modification, then seamlessly replaces the original page mapping with the anonymous page mapping, ensuring the first process continues execution without interruption while the modified version is preserved.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the executable file is locked to prevent modifications during execution, then the first process's execution integrity is maintained, but the second process cannot modify the file

Engineering Contradiction:
ImproveExecution integrity of first processVSAvoidAbility to modify executable file
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system creates anonymous pages as copies of the original executable file pages. The second process modifies these copied pages rather than the original file. The operating system then replaces the original page mappings with references to the modified anonymous pages. This copying mechanism allows the second process to modify the executable file content while the first process continues to execute from the original pages without interruption or integrity compromise.

Inventive Principle:
Principle #26Copying

3Reliability

If the system creates an anonymous file copy for modifications, then the first process can continue executing without interruption, but additional memory and storage resources are consumed

Engineering Contradiction:
ImproveContinuity of executionVSAvoidMemory and storage resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system segments the executable file into manageable page-sized units and only creates anonymous page copies when the second process actually modifies a specific page. Not all pages are copied simultaneously; only the pages that require modification are duplicated. This on-demand page-level segmentation significantly reduces the quantity of resources consumed compared to creating complete file copies, while still ensuring execution continuity for the first process.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10402378B2Method and system for executing an executable file
Publication Date: 2019.09.03 ORACLE AMERICAN INC
  • US10402378B2 patent drawing
  • US10402378B2 patent drawing
  • US10402378B2 patent drawing

AI summary

A method for executing an executable file. The method includes executing instructions in the executable file by a first process, receiving a write request from a second process to write to the executable file, generating an anonymous file from the executable file in response to the write request, executing the anonymous file by the first process, and accessing the executable file by the second process.