Network Cache Bandwidth Optimization via Data Hashing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network storage environments face high costs due to expensive bandwidth usage, as existing technologies require transmitting entire data sets over networks, even when only minor changes occur, leading to inefficient use of expensive WAN links.
Innovation Solution
Implementing a network cache that intercepts data requests, generates hashes for data portions, and transmits only the changed portions to the remote server, reducing unnecessary data transmission by comparing hashes to identify differences.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If entire data sets are transmitted over the network to ensure data consistency between cache and server, then data consistency is maintained, but network bandwidth consumption increases significantly
Solution Approach 1:
The patent extracts only the changed portions of data from the complete data set and transmits them to the server. Instead of transmitting entire data sets, the system identifies and transmits only the specific portions that have changed, thereby maintaining data consistency while significantly reducing network bandwidth consumption.
Solution Approach 2:
The patent segments the data transmission process by dividing the data set into multiple portions and transmitting only those portions that have changed. This segmentation allows the system to send discrete changed portions rather than complete data sets, reducing overall network traffic while ensuring data consistency.
2Loss of energy
If computational resources are used to generate and compare hashes for detecting data changes, then network traffic is reduced, but processing overhead increases
Solution Approach 1:
The patent changes the parameter of data representation by computing hash values of data portions instead of transmitting the actual data. This parameter change allows for efficient comparison and change detection with minimal computational overhead, as hash computation is much less resource-intensive than data transmission.
Solution Approach 2:
The patent substitutes the mechanical process of data transmission with a computational process of hash comparison. Instead of physically transmitting data over the network to verify changes, the system uses computational hash values to detect changes, replacing the mechanical transmission process with a more efficient computational approach.
3Loss of energy
If only changed portions of data are transmitted to the server, then network bandwidth is optimized, but the complexity of identifying changed portions increases
Solution Approach 1:
The patent introduces hash values as an intermediary mechanism to simplify change detection. Instead of directly comparing entire data sets or implementing complex change detection algorithms, the system uses hash values as intermediaries to efficiently identify changed portions, reducing the complexity of the change detection mechanism.
Solution Approach 2:
The patent performs preliminary computation of hash values for data portions before transmission. By pre-computing and storing hash values, the system simplifies the change detection process, as comparing hash values is much simpler than comparing actual data contents, thereby reducing the complexity of the change detection mechanism.
Data Source
AI summary
According to one or more embodiments of the present invention, a network cache intercepts data requested by a client from a remote server interconnected with the cache through one or more wide area network (WAN) links (e.g., for Wide Area File Services, or “WAFS”). The network cache stores the data and sends the data to the client. The cache may then intercept a first write request for the data from the client to the remote server, and determine one or more portions of the data in the write request that changed from the data stored at the cache (e.g., according to one or more hashes created based on the data). The network cache then sends a second write request for only the changed portions of the data to the remote server.


