Per-Packet Multi-Path Routing for Autonomous Network Packet Order
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In autonomous networks, traditional equal-cost multi-path routing (ECMP) mechanisms can cause packets in long-lived, high-bandwidth network flows to arrive out-of-order, leading to under-utilization of bandwidth and issues with transport protocols that depend on packet order, such as TCP.
Innovation Solution
Implementing a per-packet multi-path routing mechanism with sequence numbers for each data packet, where routers use a round-robin or randomization function to balance load across multiple best paths, and network shim modules at endpoints buffer out-of-order packets until the next sequential packet arrives, ensuring delivery in sequence order.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If flow-based deterministic algorithms are used in ECMP to maintain packet order, then packet order is preserved, but bandwidth utilization decreases
Solution Approach 1:
The patent introduces sequence numbers as an intermediary mechanism that allows packets to be transmitted independently across multiple paths while maintaining order at the destination. The sequence numbers act as a mediator between the routing system and the transport protocol, enabling per-packet ECMP without disrupting TCP operation.
Solution Approach 2:
The patent changes the parameter of packet identification from flow-based (source/destination IP and port) to per-packet (sequence numbers). This parameter change enables the routing system to treat each packet independently while the transport layer reconstructs the original order using the sequence numbers.
2Productivity
If per-packet multi-path routing is implemented, then bandwidth utilization increases, but packet order cannot be maintained
Solution Approach 1:
The patent segments the packet ordering function from the routing function. The routing layer segments packets across multiple paths using per-packet ECMP, while the transport layer segments the reordering task by buffering packets and using sequence numbers to reconstruct the original order at the destination.
Solution Approach 2:
The patent adds a temporal dimension to packet handling by introducing buffering at the destination. Packets are not delivered immediately upon arrival but are held in buffers until their sequence position can be determined, adding a time dimension to the packet delivery process that enables multi-path routing without order loss.
3Reliability
If TCP is used to ensure reliable ordered delivery, then packet order is maintained, but performance degrades due to retransmissions and flow control
Solution Approach 1:
The patent extracts the ordering function from TCP by implementing it at the application layer using sequence numbers. This removes the need for TCP's complex flow control and retransmission mechanisms when using per-packet ECMP, as the ordering is handled independently by the application layer buffers and sequence number tracking.
Data Source
AI summary
Technologies are described herein for maintaining packet order in network flows over an autonomous network. A sequence number is generated for each data packet in the network flow. The data packets are transmitted from a source endpoint to a destination endpoint accompanied by the sequence number. When a data packet is received at the destination endpoint, the sequence number is utilized to determine whether the packet has arrived out-of-order. If the received data packet is out-of-order, the packet is buffered for a specific period of time, or until the next sequential packet in the network flow is received. If the next sequential packet is received within the time period, the received packet and any buffered packets are delivered in sequence number order to a program executing on the destination endpoint. If the time period expires before receiving the next sequential data packet, the buffered packet(s) are delivered to the program.


