Auto-Sizing In-Memory Cache for Faster Parallel File Reading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Accessing files from file storage can be a resource-heavy operation that consumes computational power and results in slow performance, especially when multiple clients request files simultaneously or in parallel, leading to bottlenecks and increased load on the file server.

Innovation Solution

Implementing an in-memory cache that stores frequently accessed files based on a counter mechanism and auto-sizing policy to manage cache space dynamically, ensuring faster file retrieval and reducing the load on the file server.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If files are accessed directly from file storage, then data can be stored with flexibility, but file reading performance is slow and consumes computational power

Engineering Contradiction:
Improvefile reading speedVSAvoidcomputational power consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent implements an in-memory cache that pre-loads and stores frequently accessed files before they are requested by clients. The cache controller monitors file access patterns and proactively loads files into memory, so when a client requests a file, it can be served immediately from the cache rather than reading from slow file storage. This preliminary action eliminates the need for repeated file reading operations and reduces computational overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates in-memory copies of files that are frequently accessed. Instead of reading the same physical file from storage multiple times, the system creates duplicate copies in the memory cache. These copies can be served to multiple clients simultaneously without additional I/O operations on the file storage system, significantly improving read speed and reducing the load on the file system.

Inventive Principle:
Principle #26Copying

2Reliability

If multiple clients access files simultaneously from file storage, then data availability is maintained, but server load increases and performance bottlenecks occur

Engineering Contradiction:
Improvedata availabilityVSAvoidserver processing capacity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The in-memory cache creates multiple in-memory copies of frequently accessed files, allowing multiple clients to access the same file simultaneously without competing for file storage resources. Each client request is served from the cache copy, eliminating the bottleneck of simultaneous file reads from storage and maintaining high data availability for all clients.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The cache controller acts as an intermediary between clients and file storage. It intercepts file requests, checks the cache for available copies, and serves files from cache when possible. This mediator layer protects the file storage system from direct client access patterns, reducing the load on the file server while maintaining data availability through the cache.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If an in-memory cache is implemented to store files, then file retrieval speed improves, but memory resources are consumed

Engineering Contradiction:
Improvefile retrieval speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The cache controller dynamically adjusts cache parameters such as cache size limits, eviction policies, and file selection criteria based on available memory resources and access patterns. When memory pressure is detected, the system automatically evicts less frequently accessed files from the cache and adjusts the cache configuration to optimize the balance between retrieval speed and memory consumption.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements an eviction mechanism that discards files from the cache when memory resources are constrained. The cache controller monitors memory usage and automatically removes least recently used or least frequently accessed files from the cache, recovering memory resources for other uses while maintaining the ability to reload these files into the cache when needed again.

Inventive Principle:
Principle #34Discarding and recovering

4Productivity

If a cache management system is added to manage in-memory files, then file access efficiency improves, but system complexity increases

Engineering Contradiction:
Improvefile access efficiencyVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache controller implements self-service mechanisms by automatically monitoring file access patterns, determining which files to cache, managing cache eviction, and adjusting cache parameters without external intervention. The system uses built-in counters and access pattern analysis to make autonomous decisions about cache management, reducing the need for complex external control systems while maintaining high file access efficiency.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The cache controller uses feedback from file access patterns to continuously optimize cache performance. It monitors which files are accessed most frequently, adjusts cache retention policies based on this feedback, and dynamically adapts to changing access patterns. This feedback-driven approach allows the system to maintain high efficiency without requiring complex manual configuration or external management.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12566730B2In-memory cache with auto-sizing for faster file reading
Publication Date: 2026.03.03 SAP SE
  • US12566730B2 patent drawing
  • US12566730B2 patent drawing
  • US12566730B2 patent drawing

AI summary

The present disclosure relates to computer-implemented methods, software, and systems for managing an in-memory cache to support auto-sizing features and to support faster reading of files. A request to read a file from a file system of the file service is received by the in-memory cache. In response to the received request, a file entry for the file that is stored in the in-memory cache is determined. The file entry comprises a counter defining a number of times the file has been requested to be read. The counter is evaluated according to a cache storage rule. In response to the evaluation, the file is obtained by the in-memory cache file from the file system; and the file is stored in the in-memory cache to update the file entry. The file as obtained from the file system and provided by the in-memory cache.