Pre-boot File Transfer Using Offset-Based Packet Reordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional pre-boot file transfer systems in information handling systems, such as those using TCP in UEFI environments, face processing overhead and network throughput issues due to packet sequencing, reordering, and acknowledgement processes, leading to delayed boot times and degraded network performance.

Innovation Solution

The implementation of a payload assembling engine that uses file offset values to reorder packets in a pre-boot environment, allowing for efficient transfer of files by storing packets in the receive buffer in the order received and writing them into an application buffer based on these offsets, reducing the need for sequence numbering and retransmissions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If TCP packet sequencing and reordering is implemented to ensure reliable data transfer, then data integrity is improved, but processing overhead and boot time increase

Engineering Contradiction:
Improvedata integrityVSAvoidboot time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-numbering packets with sequence numbers before transmission. The receiving device uses these pre-assigned sequence numbers to directly place packets in the correct positions in the receive buffer without requiring complex reordering operations, thus maintaining data integrity while reducing processing overhead and boot time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the file transfer process into individually numbered packets, each with a unique sequence number. This segmentation allows the receiving device to process packets independently and place them in the correct order using simple arithmetic operations on the sequence numbers, rather than requiring complex reordering logic

Inventive Principle:
Principle #1Segmentation

2Reliability

If TCP acknowledgements and retransmission requests are sent for each packet, then data reliability is improved, but network bandwidth is consumed and throughput decreases

Engineering Contradiction:
Improvedata transfer reliabilityVSAvoidnetwork throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple individual packet acknowledgements into a single cumulative acknowledgement. Instead of sending separate ACK messages for each received packet, the receiving device sends one acknowledgement that confirms receipt of multiple packets up to a certain sequence number, significantly reducing network overhead and improving throughput while maintaining reliability

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent uses sequence numbers as copies of position information embedded in each packet. These sequence number copies allow the receiving device to determine packet order and detect missing packets without requiring complex comparison logic, enabling efficient reliability checks with minimal network communication

Inventive Principle:
Principle #26Copying

3Device complexity

If the UEFI pre-boot environment uses single-threaded mode for file transfer, then system simplicity is maintained, but the TCP receive buffer creates a bottleneck and delays boot operations

Engineering Contradiction:
Improvesystem complexityVSAvoidboot speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing the relationship between sequence numbers and buffer positions. This allows the single-threaded UEFI environment to quickly determine where to place each packet in the receive buffer using simple arithmetic operations, avoiding complex reordering processes and reducing boot time delays

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter representation from complex packet metadata to simple sequence numbers. This parameter change enables the single-threaded system to efficiently manage the receive buffer using basic arithmetic operations, maintaining system simplicity while improving boot speed by eliminating bottlenecks

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10154079B2Pre-boot file transfer system
Publication Date: 2018.12.11 DELL PROD LP
  • US10154079B2 patent drawing
  • US10154079B2 patent drawing
  • US10154079B2 patent drawing

AI summary

A pre-boot file transfer system includes at least one server device that creates a plurality of packets for a file and provides a respective file offset value for each of the plurality of packets in a header of that packet. The at least one server device transmits each of the plurality of packets over a network to a client device that is in a pre-boot environment. The client device receives each of the plurality of packets and stores the plurality of packets in a receive buffer in the order that the plurality of packets were received. The client device then writes the plurality of packets that were stored in the receive buffer into an application buffer in an order that is defined by the respective file offset values for the plurality of packets.