Container Build Sync Filtering via System Call

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing file system synchronization operations during container image builds are resource-intensive and unnecessary, as changes in memory are often disregarded if the build fails, leading to wasteful resource utilization.

Innovation Solution

Implementing a system call filtering mechanism in the OS kernel to ignore sync operations from containers during the build process, allowing changes to remain in memory until the successful build is synced, thereby reducing unnecessary writes to storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If file system synchronization operations are performed during container image builds, then data persistence is ensured, but resource consumption increases and build performance decreases

Engineering Contradiction:
Improvedata persistenceVSAvoidbuild performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts synchronization behavior based on container lifecycle state. During build operations, sync operations are filtered out to improve performance. After successful build completion, normal sync operations resume to ensure data persistence. This dynamic switching resolves the contradiction between reliability and productivity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent extracts and removes unnecessary sync operations from the container build process by filtering system calls. By taking out these redundant operations that would otherwise waste resources, the system maintains data persistence capabilities while significantly improving build performance.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If sync operations are performed during container builds, then data is persisted to storage, but resource consumption and storage writes increase unnecessarily

Engineering Contradiction:
Improvedata persistenceVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system extracts and eliminates unnecessary sync operations from the container build process. By filtering out these redundant system calls that would write to storage, the system prevents wasteful resource consumption and energy loss while maintaining the ability to persist data when actually needed.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system discards intermediate build data in memory during the build process rather than persisting it to storage. Only after successful build completion is the final image persisted. This approach reduces unnecessary storage writes and resource consumption while recovering the essential data persistence function at the appropriate time.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS11966367B2Speedup build container data access via system call filtering
Publication Date: 2024.04.23 RED HAT LLC
  • US11966367B2 patent drawing
  • US11966367B2 patent drawing
  • US11966367B2 patent drawing

AI summary

A method includes receiving a system call from an application within a container executing on an operating system, the system call comprising a synchronization operation to synchronize memory of the application to storage. The method further includes determining, by the kernel, whether a system call filtering policy associated with the container indicates that the system call is to be prevented. preventing, by the kernel, performance of the synchronization operation in view of the system call filtering policy.