Storage Service Uploads With Parallel HTTP Chunk Sequencing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage services require sequential streaming of file chunks over a single HTTP connection, leading to inefficiencies due to network connection issues and delays, especially for large files.

Innovation Solution

An intermediate computing system, such as the File Upload Facilitation System (FUFS), receives file chunks from client devices via multiple HTTP connections and ensures they are transferred to the storage service in the correct sequence, allowing parallel uploads and managing retries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential streaming of file chunks over a single HTTP connection is used, then the storage service requirement is met, but the upload speed and bandwidth utilization deteriorate

Engineering Contradiction:
Improvestorage service compatibilityVSAvoidupload speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the file upload process into multiple independent chunks that can be transmitted through separate HTTP connections simultaneously. Each chunk is assigned a unique identifier and can be uploaded in parallel, transforming a single sequential stream into multiple concurrent streams, thereby improving bandwidth utilization and upload speed while maintaining compatibility with storage services that require sequential delivery.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary component (such as a gateway or proxy server) between the client and the storage service. This intermediary receives multiple parallel upload streams from the client, manages the chunk sequencing and reassembly, and presents a single sequential stream to the storage service. This mediator enables parallel uploads while maintaining compatibility with services that only support sequential streaming.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If a single HTTP connection is used for file upload, then connection management is simple, but network bandwidth utilization and upload efficiency deteriorate

Engineering Contradiction:
Improveconnection management complexityVSAvoidbandwidth utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The single HTTP connection is segmented into multiple parallel connections, each handling a portion of the file upload. The system creates multiple HTTP connections simultaneously, allowing concurrent data transmission. Each connection is managed independently with proper tracking of chunk identifiers, achieving better bandwidth utilization without overwhelming complexity through systematic connection management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimensional (single connection) upload approach to a multi-dimensional approach by utilizing multiple HTTP connections operating in parallel. This dimensional expansion allows simultaneous data flow through multiple channels, effectively increasing the total bandwidth utilization while maintaining organized connection management through chunk tracking and sequencing mechanisms.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If parallel HTTP connections are used for chunk upload, then bandwidth utilization improves, but ensuring correct sequence delivery to storage service becomes more complex

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidsequence management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by embedding sequence information (chunk identifiers, byte ranges, or ordering metadata) into each file chunk before transmission. This pre-tagging allows the intermediary to quickly identify and reorder chunks upon receipt without complex real-time sequencing logic, reducing the complexity of managing parallel connections while ensuring correct delivery sequence to the storage service.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the intermediary tracks the status of each uploaded chunk and communicates with both the client and storage service. This feedback loop enables the intermediary to monitor parallel uploads, detect missing or out-of-order chunks, and coordinate retransmissions or reordering, managing sequence complexity through systematic tracking and communication rather than complex pre-planning.

Inventive Principle:
Principle #23Feedback

4Reliability

If sequential file chunk transmission is used, then connection stability is maintained, but upload time increases due to delays and retries

Engineering Contradiction:
Improveconnection stabilityVSAvoidupload time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the file into multiple chunks that can be uploaded in parallel through separate HTTP connections. This segmentation allows independent transmission of each chunk, so that if one connection experiences delays or failures, other connections can continue uploading simultaneously. The intermediary manages retransmissions of failed chunks without blocking the entire upload process, significantly reducing total upload time while maintaining connection stability through individual chunk handling.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent ensures continuity of useful action by implementing a mechanism where multiple HTTP connections operate simultaneously, allowing the upload process to continue across different connections even if one connection fails or experiences delays. The intermediary maintains an active upload state across multiple parallel streams, ensuring that useful transmission action continues uninterrupted rather than pausing for retries on a single connection.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS12379879B2Efficient uploading of files to a storage service
Publication Date: 2025.08.05 CITRIX SYSTEMS INC
  • US12379879B2 patent drawing
  • US12379879B2 patent drawing
  • US12379879B2 patent drawing

AI summary

A computing system may (A) determine that a target service is to receive portions of a first file in a particular sequence from the computing system via a first hypertext transport protocol (HTTP) connection between the computing system and the target service, (B) receive a first portion of the first file from a client device via a second HTTP connection established between the computing system and the client device, (C) determine that the first portion of the first file is next in the particular sequence of file portions to be sent to the target service, (D) send, to the target service via the first HTTP connection, the first portion of the first file based at least in part on the first portion of the first file being next in the particular sequence, (E) receive a second portion of the first file from the client device via a third HTTP connection established between the computing system and the client device, (F) determine that the second portion of the first file is next in the particular sequence, and (G) send to the target service via the first HTTP connection, the second portion of the first file based at least in part on the second portion of the first file being next in the particular sequence.