Adaptive Buffer Management for Network Directory Fetches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Remote file systems face inefficiencies in processing and data transmission when retrieving directory information, as excessive memory allocation occurs if the data threshold is set too high, and insufficient data is returned if set too low, due to varying attribute sizes and costly server processing.

Innovation Solution

Implementing adaptive buffer management by determining the average filename length and recalculating the number of entries that can be stored based on requested attribute data fields, allowing for optimal data retrieval and storage in a file directory system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the data threshold is set high to ensure sufficient data retrieval, then complete directory information can be obtained, but excessive memory allocation occurs

Engineering Contradiction:
Improveamount of directory data retrievedVSAvoidmemory allocation
Core Design Contradiction:
Quantity of substanceVSWeight of stationary object

Solution Approach 1:

The patent implements dynamic buffer size adjustment by calculating the actual directory entry count and available buffer space, then adapting the number of entries to retrieve. Instead of using a fixed high threshold, the system dynamically determines the optimal buffer utilization based on current conditions, preventing both excessive allocation and insufficient data retrieval.

Inventive Principle:
Principle #15Dynamics

2Weight of stationary object

If the data threshold is set low to reduce memory allocation, then memory usage is optimized, but the number of directory entries returned is limited

Engineering Contradiction:
Improvememory allocationVSAvoidamount of directory data retrieved
Core Design Contradiction:
Weight of stationary objectVSQuantity of substance

Solution Approach 1:

The system employs feedback mechanisms by monitoring buffer availability and directory entry characteristics, then adjusting the number of entries to retrieve accordingly. The buffer manager uses information about available buffer space and entry sizes to make informed decisions about how many entries to fetch, ensuring optimal utilization without waste.

Inventive Principle:
Principle #23Feedback

3Loss of information

If all attributes are requested for each directory entry to enable cache bypass, then complete file information is available, but the amount of data transmitted becomes massive

Engineering Contradiction:
Improvecompleteness of file attributesVSAvoidbandwidth consumption
Core Design Contradiction:
Loss of informationVSLoss of substance

Solution Approach 1:

The patent extracts and transmits only the essential directory entry information (filenames and basic attributes) that are needed for cache table configuration, rather than transmitting all possible attributes for every entry. This selective extraction reduces the data transmission volume while maintaining the functionality of bypassing further server requests for common operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7660826B2Implementing adaptive buffer management on network fetches of directory contents and object attributes
Publication Date: 2010.02.09 X CORP
  • US7660826B2 patent drawing
  • US7660826B2 patent drawing
  • US7660826B2 patent drawing

AI summary

A method, system, and computer-usable medium for implementing a file directory in a server. An application including a buffer for retrieving and storing at least one entry is interfaced with the file directory. Utilizing a determined average filename length, an estimate of a number of entries among the collection of entries that can be stored by the buffer is determined. In response to determining at least one attribute data field has been requested, the number of entries that can be stored by the buffer is recalculated. Recalculating the number of entries includes determining an amount of data required for storing the collection of filenames, a collection of fixed-length attribute data fields, and a collection of variable-length attribute data fields. The recalculated number of entries is then requested from the file directory, and the buffer is loaded, with the recalculated number of entries.