Data Storage Request Aggregation for Small File Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computing and data storage systems face inefficiencies due to high transactional overhead for small files, leading to reduced overall efficiency and scaling issues, particularly in systems where storage of small files is inefficient.

Innovation Solution

Implementing a service interface that aggregates data storage requests, reducing incidental requests by including predetermined responses and component requests within the aggregated request, allowing direct processing by the data storage entity and minimizing interactions with the client device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional file system operations are used for each small file, then individual file operations can be performed, but transactional overhead increases significantly reducing overall system efficiency

Engineering Contradiction:
Improveoverall system efficiencyVSAvoidtransactional overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent combines multiple individual file operations into a single batch operation. The batch processing mechanism aggregates multiple small file read/write commands into one unified transaction, eliminating the repeated overhead of individual file system calls. This merging approach directly reduces transactional overhead and improves overall system efficiency when handling multiple small files.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary actions by pre-fetching multiple small files into a batch before processing them. The batch operation is prepared in advance with all necessary file handles and parameters, allowing the file system to process them together in a single transaction rather than sequentially. This preliminary batching reduces the cumulative overhead of multiple individual operations.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If individual file operations are processed separately, then each file can be handled independently, but the number of component requests increases reducing scalability

Engineering Contradiction:
Improvehandling capabilityVSAvoidnumber of component requests
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges multiple component requests into a single batch request. Instead of processing each small file operation as a separate component request that requires individual handling, the system combines them into one unified batch request. This reduces the number of component requests from N individual requests to 1 batch request, significantly reducing system complexity and improving scalability.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of operation

If small files are stored using traditional methods, then file storage functionality is provided, but the transactional overhead makes up a greater percentage of processing burden

Engineering Contradiction:
Improvefile storage functionalityVSAvoidprocessing efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent applies merging by combining multiple small file storage operations into a single batch write operation. The batch mechanism allows the system to maintain simple file storage functionality while dramatically reducing the transactional overhead that previously dominated processing time. Each batch operation handles multiple files atomically, preserving ease of operation while improving productivity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10496327B1Command parallelization for data storage systems
Publication Date: 2019.12.03 AMAZON TECH INC
  • US10496327B1 patent drawing
  • US10496327B1 patent drawing
  • US10496327B1 patent drawing

AI summary

A data storage system implements aggregation, bifurcation, and/or reduction techniques to improve the efficiency of processing data storage requests. Data storage requests and/or their associated payloads may be aggregated based on one or more parameters. Data to be the stored and the associated commands may be separated so as to optimize a system's throughput and latency for each. Furthermore, extraneous commands and requests may be reduced or eliminated based on heuristics associated with the requests and the data.