WAN File Creation via Cached Handles
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current WAN optimization devices do not effectively improve file creation performance over wide-area networks due to latency issues, causing significant performance degradation for applications that rapidly create files.
Innovation Solution
The solution involves creating temporary files on a remote data storage system, caching their handles at the client location, and intercepting file creation requests to immediately provide cached handles, allowing immediate data writing without waiting for a response from the server, while asynchronously modifying file attributes to match the requested settings.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If file creation requests are sent over WAN to remote storage, then files can be created on remote data storage, but WAN latency causes significant delay in file creation operations
Solution Approach 1:
The system pre-creates temporary files on remote storage and caches their handles at the client location before any actual file creation request occurs. This preliminary action eliminates the need for round-trip communication during actual file creation operations, as clients can immediately use cached handles to write data without waiting for server responses.
Solution Approach 2:
The system introduces an intermediary mechanism (cached file handles) between the client and remote storage. Instead of direct client-server communication for each file creation, the cached handles act as intermediaries that allow clients to operate locally while the backend synchronization occurs asynchronously, masking the WAN latency from the user experience.
2Reliability
If clients wait for file handle responses from server before writing data, then data integrity is maintained, but application performance deteriorates due to stalled data output
Solution Approach 1:
File handles are pre-obtained and cached before any data writing occurs. This preliminary acquisition of file handles allows applications to immediately begin data output operations without stalling, while the system maintains reliability through subsequent asynchronous synchronization of file attribute modifications to the server.
Solution Approach 2:
The system enables continuous data output operations by decoupling the file handle acquisition from the data writing process. Clients can continuously write data using cached handles without interruption, while backend synchronization operations occur asynchronously to maintain data integrity without blocking the continuous data flow.
3Loss of time
If temporary files are created and handles are cached at client location, then file creation latency is eliminated, but additional storage and synchronization operations are required
Solution Approach 1:
The system extracts the file handle acquisition process from the main file creation workflow and performs it preliminarily and independently. By separating handle caching from attribute synchronization, the system reduces the critical path delay while managing complexity through asynchronous backend operations that do not block user-facing file creation performance.
Data Source
AI summary
The file creation on remote data storage accessible via a WAN can be optimized by creating temporary files in advance on a remote data storage. The file handles or other file access parameters for these temporary files are cached at a client network location. A file creation request from a client is intercepted at the client network location and one of the cached file handle is returned to the client. This enables the client to immediately write data to the corresponding temporary file, avoiding the delay incurred by communicating the file creation request and its response over a WAN. One or more storage commands are sent to the remote data storage to change the attributes of the temporary file to match those requested by the client, such as the file name, directory, and/or file permissions. File creation requests may be selectively optimized according to rules or criteria specified by users.


