Parallel Upload Protocol for Application Binaries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The transfer of application binaries to cloud platforms is often bottlenecked by network limitations, leading to slow upload and deployment times, which negatively impact user experience and increase costs due to prolonged session times and resource consumption.

Innovation Solution

Implementing a multiple connections protocol on top of HTTP to transfer data in parallel using multiple HTTP connections, allowing the utilization of maximum network bandwidth and optimizing the upload speed by splitting data into chunks and transferring them across multiple connections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single network connection is used for uploading application binaries, then the network connection is simple and easy to manage, but the upload speed is limited and deployment time increases

Engineering Contradiction:
Improveupload speedVSAvoidconnection management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the upload operation into multiple parallel connections, where each connection handles a portion of the data transfer. This segmentation allows the system to utilize multiple network paths simultaneously, thereby increasing overall upload speed while distributing the complexity across multiple independent connection handlers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimensional sequential upload approach to a multi-dimensional parallel upload approach by introducing multiple connections operating simultaneously. This dimensional change enables the system to exploit network bandwidth more effectively and reduce deployment time.

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

2Loss of time

If multiple network connections are used for uploading application binaries, then the upload speed increases and deployment time decreases, but the connection management becomes more complex

Engineering Contradiction:
Improvedeployment timeVSAvoidprotocol complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the upload task across multiple connections, allowing simultaneous data transfer. This reduces deployment time by utilizing parallel communication paths while managing complexity through structured connection handling and coordination mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent ensures continuous and efficient data transfer across multiple connections by maintaining active upload operations simultaneously. This continuous action minimizes idle time and maximizes bandwidth utilization, thereby reducing overall deployment time without significant increases in management complexity.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If a single connection is used for data transfer, then the network resource consumption is low, but the upload operation takes a major portion of deployment time

Engineering Contradiction:
Improvedeployment efficiencyVSAvoidnetwork resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments the data transfer across multiple connections, enabling parallel processing of upload operations. This increases deployment efficiency by reducing the time spent on network transfer while distributing resource consumption across multiple connections rather than concentrating it on a single connection.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10084839B2Upload operation using multiple connections
Publication Date: 2018.09.25 SAP SE
  • US10084839B2 patent drawing
  • US10084839B2 patent drawing
  • US10084839B2 patent drawing

AI summary

A client system requests to upload an input data stream to a server system. The input data stream is split to a sequence of chunks. The chunks are transferred in parallel by a number of connections from the client system to the server system. At the server system, the transferred chunks are merged into an output stream according to the sequence. The output stream represents the rebuilt input stream.