Hash-Based Chunked File Download Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network communication methods do not account for previously downloaded file chunks, leading to inefficiencies and redundancies, such as re-downloading files even if they are already cached on the client device, especially in scenarios like email attachments or presentation downloads across different applications or servers.

Innovation Solution

Implementing a mechanism where servers divide files into chunks, calculate and send hashes for each chunk, and clients verify if they already have the chunk locally, allowing the server to skip re-sending if the chunk is already cached, with a proxy server or client agent managing local caching to avoid network transfers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the server streams the entire file to the client without checking cached content, then the file transfer is simple and fast, but redundant data transfers occur and network resources are wasted

Engineering Contradiction:
Improvefile transfer speedVSAvoidnetwork resources
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent divides the file into discrete chunks, each with a unique hash identifier. This segmentation allows the client to identify which specific chunks are already cached and request only the missing ones from the server, eliminating redundant transfers while maintaining efficient file delivery.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The client sends a feedback message to the server containing the hashes of chunks it already has cached. The server uses this feedback information to determine which chunks need to be transmitted, optimizing the transfer process by sending only necessary data and avoiding unnecessary network resource consumption.

Inventive Principle:
Principle #23Feedback

2Reliability

If the client re-downloads files from the start after network disruption, then the file can be recovered, but the process is inefficient and costly for mobile users

Engineering Contradiction:
Improvefile recoveryVSAvoidre-download time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By segmenting the file into chunks with individual hash identifiers, the system enables selective re-download of only the specific chunks that were not successfully received during the initial transfer. This eliminates the need to re-download the entire file from the start, significantly reducing recovery time and data consumption for mobile users.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The client maintains feedback information about which chunks have been successfully downloaded and which are missing. When network disruption occurs, this feedback data allows the client to efficiently resume the download process by requesting only the missing chunks, rather than restarting from the beginning, thus improving reliability while minimizing time loss.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If different applications download files independently without sharing cache, then each application has full control, but redundant downloads occur across applications

Engineering Contradiction:
Improveapplication independenceVSAvoidnetwork resources
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent implements a universal caching mechanism where files and their chunks are stored in a shared cache accessible by multiple applications. Each application can independently request files, but the shared cache ensures that if one application has already downloaded a chunk, other applications can retrieve it from the cache instead of re-downloading, thus conserving network resources while maintaining application independence.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The shared cache acts as an intermediary between different applications and the server. Instead of each application directly contacting the server for every file request, the cache mediates by providing previously downloaded chunks to multiple applications, eliminating redundant network transfers while preserving the independence and versatility of each application.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8874697B2Content download based on hashes
Publication Date: 2014.10.28 RED HAT INC
  • US8874697B2 patent drawing
  • US8874697B2 patent drawing
  • US8874697B2 patent drawing

AI summary

A mechanism for content download based on hashes is disclosed. A method of the invention includes receiving a request from a client computing device for a file stored at a server computing device and dividing the file into a plurality of chunks. In addition, the method includes, for each chunk of the plurality of chunks of the file, obtaining, by the server computing device, a hash for the chunk, sending, by the server computing device, the hash for the chunk to the client computing device, and after sending the hash, sending, by the server computing device, the chunk to the client computing device if such sending is enabled.