File Duplication System with Parallel Hash and Upload Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing file duplication mechanisms in cloud storage services are inefficient for large files, as calculating unique file identifiers on user devices can be time and resource-consuming, especially on devices with low processing capabilities.

Innovation Solution

A method that estimates the time required to generate a unique file identifier and upload a file to the cloud storage server, initiating uploading if the identifier generation time exceeds upload time, and vice versa, while considering bandwidth, computational resources, and file characteristics, with smart switching between client-side and server-side hash calculations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If unique file identifier is calculated on user device before upload, then server can identify duplicate files and avoid downloading them again, but for large files this calculation becomes time and resource consuming

Engineering Contradiction:
Improveduplicate file identification accuracyVSAvoididentifier generation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by starting file upload and identifier generation simultaneously rather than sequentially. The upload process begins first, and identifier generation starts in parallel, allowing both operations to progress concurrently and reducing total time required.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system skips the traditional sequential workflow where identifier generation must complete before upload starts. By allowing overlapping execution and early termination of identifier generation if upload completes first, the system rushes through the process more efficiently.

Inventive Principle:
Principle #21Skipping (Rushing through)

2Productivity

If unique file identifier is calculated on user device, then computational resources at user device are utilized, but for devices with low processing capabilities this becomes inefficient

Engineering Contradiction:
Improvefile upload efficiencyVSAvoidcomputational resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts where identifier generation occurs based on real-time conditions. It can switch between client-side generation (when resources allow) and server-side generation (when resources are constrained), making the system adaptable to different device capabilities and network conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of where computation occurs (client vs. server) based on file size, network bandwidth, and device capabilities. This parameter change allows optimization of resource usage across different scenarios.

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If file upload is initiated without prior identifier calculation, then upload time is reduced, but server cannot identify duplicates and must download and process entire file

Engineering Contradiction:
Improveupload initiation timeVSAvoidserver processing energy
Core Design Contradiction:
Loss of timeVSLoss of energy

Solution Approach 1:

The system performs preliminary identifier generation in parallel with upload initiation, so that by the time the file reaches the server, the identifier is already available or nearly ready, allowing immediate duplicate checking without waiting for complete file reception.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous useful action by overlapping identifier generation with file upload. Both processes run simultaneously rather than one waiting for the other, maximizing resource utilization and reducing idle time.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9922036B2System and method for duplicating files on client device for cloud storage
Publication Date: 2018.03.20 Y E HUB ARMENIA LLC
  • US9922036B2 patent drawing
  • US9922036B2 patent drawing
  • US9922036B2 patent drawing

AI summary

Disclosed are systems, methods and computer program products for duplicating files on client device for storage in a cloud storage server. An example method includes: receiving, by a user device, a request to upload a file stored locally on the user device into the cloud storage server; determine time required to generate a unique file identifier for said file and time required to upload said file to the cloud storage server; responsive to the time required to generate the unique file identifier for said file exceeding the time required to upload said file to the cloud storage server, initiating the uploading of the file to the cloud storage server; and responsive to the time required to upload said file to the cloud storage server exceeding the time required to generate the unique file identifier, generating said unique file identifier and transmitting the unique file identifier to the cloud storage server.