IP Library Granted Patent US 10,164,870
Granted Patent B2
US 10,164,870 · App. 13/931,390 · Granted Dec 25, 2018

Relaxed ordering network

Inventors: Ariel Hendel (Cupertino, CA); Mohan Kalkunte (Saratoga, CA)
Assignee: Avago Technologies International Sales Pte. Limited
H04L45/24H04L47/34
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,164,870
App. No.
13/931,390
Granted
Dec 25, 2018
Kind
B2
Abstract

A system, method and a computer readable medium for processing packets transmitted using relaxed order in an ordered multi-path network are provided. Packets associated with a data flow from the ordered multi-path network are received out of order. The received packets are reassembled into a sequential order, without gaps, prior to being delivered to a protocol stock for sequential processing.

Claims (47)

1. A network interface controller for processing packets arranged in a sequential packet order before transmission over an ordered multi-path network, the network interface controller comprising:

a negotiation module configured to negotiate, with a data flow source, packets that are to be transmitted in a data flow through the ordered multi-path network using a relaxed order that differs from the sequential packet order; and

a packet reassembly module configured to:

receive the packets transmitted in the data flow through the ordered multi-path network in the relaxed order; and

reassemble the packets received in the relaxed order into the sequential packet order prior to delivering the packets having the sequential packet order for sequential processing;

wherein the negotiation module is configured to determine during the negotiation whether the data flow source has an Internet Protocol (IP) address on a list of IP addresses that are predetermined to communicate packets using the relaxed order, and

wherein the IP address on the list of IP addresses indicates that the data flow source operates according to a TCP/IP protocol that can be negotiated to communicate packets using the relaxed order.

2. The network interface controller of claim 1 , wherein the packet reassembly module is configured to:

identify a sequence number gap in sequence numbers of the packets received in the relaxed order, wherein the sequence number gap indicates one or more packets in the data flow that have not arrived through the ordered multi-path network;

store the packets received in the relaxed order in a memory buffer according to the sequence numbers leaving a gap in the memory buffer for the one or more packets with sequence numbers in the sequence number gap; and

deliver the packets having the sequential packet order stored in the memory buffer when the one or more packets with the sequence numbers in the sequence number gap have been received by the packet reassembly module and stored in the memory buffer.

3. The network interface controller of claim 1 , wherein the packet reassembly module is further configured to:

determine whether the packets received in the relaxed order require reassembly based on a tag, protocol type or negotiation credentials; and

reassemble the packets received in the relaxed order into the sequential order based on the determination.

4. The network interface controller of claim 1 , wherein the packets received in the relaxed order are associated with a tag that indicates that the packets received in the relaxed order require reassembly.

5. A method for processing packets arranged in a sequential packet order before transmission over an ordered multi-path network, the method comprising:

negotiating, using a network interface controller, with a data flow source, packets that are to be transmitted in a data flow through the ordered multi-path network using a relaxed order that differs from the sequential packet order;

receiving, at the network interface controller, the packets transmitted in the data flow through the ordered multipath network in the relaxed order; and

reassembling, using the network interface controller, the packets received in the relaxed order into the sequential packet order prior to delivering the packets having the sequential packet order for sequential processing;

wherein the negotiating includes determining whether the data flow source has an Internet Protocol (IP) address on a list of IP addresses that are predetermined to communicate packets using the relaxed order, and

wherein the IP address on the list of IP addresses indicates that the data flow source operates according to a TCP/IP protocol that can be negotiated to communicate packets using the relaxed order.

6. The method of claim 5 , wherein the reassembling further comprises:

identifying a sequence number gap in sequence numbers of the packets received in the relaxed order, wherein the sequence number gap indicates one or more packets in the data flow that have not arrived through the ordered multi-path network;

storing the packets received in the relaxed order in a memory buffer according to the sequence numbers of the packets received in the relaxed order leaving a gap in the memory buffer for the one or more packets having sequence numbers in the sequence number gap; and

delivering packets having the sequential packet order stored in the memory buffer when the one or more packets with the sequence numbers in the sequence number gap have been received by the packet reassembly module and stored in the memory buffer.

7. The method of claim 5 , further comprising:

determining whether the packets received in the relaxed order require reassembly based on a tag, protocol type or negotiation credentials, and

wherein the reassembling comprises:

reassembling the packets received in the relaxed order into the sequential order based on the determination.

8. The method of claim 5 , wherein the packets received in the relaxed order are associated with a tag that indicates that the packets received in the relaxed order require reassembly.

9. A system for processing packets arranged in a sequential packet order before transmission over an ordered multi-path network, the system comprising:

a memory that stores one or more instructions;

one or more processors configured to execute the one or more instructions, the one or more instructions, when executed by the one or more processors, configuring the one or more processors to:

negotiate, with a data flow source, the packets to be transmitted in a data flow through the ordered multi-path network using a relaxed order that differs from the sequential packet order, wherein the negotiation includes determining whether the data flow source has an Internet Protocol (IP) address on a list of IP addresses that are predetermined to communicate packets using the relaxed order, wherein the IP address on the list of IP addresses indicates that the data flow source operates according to a TCP/IP protocol that can be negotiated to communicate packets using the relaxed order;

receive the packets transmitted in the data flow through the ordered multi-path network in the relaxed order, and

reassemble the packets received in the relaxed order into the sequential packet order prior to delivering the packets having the sequential packet order for sequential processing.

10. The system of claim 9 , wherein the one or more instructions, when executed by the one or more processors, configure the one or more processors to:

identify a sequence number gap in sequence numbers of the packets received in the relaxed order, wherein the sequence number gap indicates one or more packets in the data flow that have not arrived through the ordered multi-path network;

store the packets received in the relaxed order in a memory buffer according to the sequence numbers leaving a gap in the memory buffer for the one or more packets with sequence numbers in the sequence number gap; and

deliver the packets having the sequential packet order stored in the memory buffer when the one or more packets with the sequence numbers in the sequence number gap have been received by the packet reassembly module and stored in the memory buffer.

11. The system of claim 9 , wherein the one or more instructions, when executed by the one or more processors, further configure the one or more processors to:

determine whether the packets received in the relaxed order require reassembly based on a tag, protocol type or negotiation credentials; and

reassemble the packets received in the relaxed order into the sequential order based on the determination.

12. The system of claim 9 , wherein the packets received in the relaxed order are associated with a tag that indicates that the packets received in the relaxed order require reassembly.

13. The network interface controller of claim 1 , wherein the relaxed order can be negotiated to operate according to one of random selection of a next switch or round robin selection of a next switch.

14. The method of claim 5 , wherein the relaxed order can be negotiated to operate according to one of random selection of a next switch or round robin selection of a next switch.

15. The system of claim 9 , wherein the relaxed order can be negotiated to operate according to one of random selection of a next switch or round robin selection of a next switch.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE MERGER AND APPLICATION NOS. 13/237,550 AND 16/103,107 FROM THE MERGER PREVIOUSLY RECORDED ON REEL 047231 FRAME 0369. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048549/0113 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047231/0369 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2013
From: HENDEL, ARIEL; KALKUNTE, MOHAN
To: BROADCOM CORPORATION
Reel/Frame 030713/0870 →
Continuity (1)
Related Publication 20150006749A1 · Jan 1, 2015