IP Library Granted Patent US 8,576,875
Granted Patent B2
US 8,576,875 · App. 11/854,784 · Granted Nov 5, 2013

Systems and methods of improving performance of transport protocols in a multi-path environment

Inventors: Raghupathy Sivakumar (Alpharetta, GA); Aravind Velayutham (Atlanta, GA)
Assignee: EMC Corporation
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 8,576,875
App. No.
11/854,784
Filed
Sep 13, 2007
Granted
Nov 5, 2013
Kind
B2
Art Unit
2463
USPC
370/532
Abstract

Devices, systems, and methods of improving transport protocol performance in a multi-path environment are disclosed. One network device comprises a transport-layer proxy; and a multi-path traffic distributor coupled to the transport-layer proxy. The transport-layer proxy is configured to receive packets, each associated with a transport-layer connection, from a transport-layer endpoint. The proxy is further configured to deliver at least a portion of the received packets to the multi-path traffic distributor. The multi-path traffic distributor is configured to: assign each of the delivered packets to one of a plurality of data flows, and to transmit each of the delivered packets on an outbound path associated with the assigned data flow.

Claims (67)

1. A network device comprising:

a transport-layer proxy;

a multi-path traffic distributor coupled to the transport-layer proxy; and

a quality of service (QoS) manager;

wherein the transport-layer proxy is configured to:

receive packets, each associated with a transport-layer connection, from a transport-layer endpoint; and

classify the received packets and deliver at least a portion of the received packets to the multi-path traffic distributor based on the classification;

wherein the multi-path traffic distributor is configured to:

independently assign each of the delivered packets to one of a plurality of data flows; and

transmit each of the delivered packets on an outbound path associated with the assigned data flow; and

wherein the quality of service (QoS) manager configured to set the number of data flows in the plurality of data flows to achieve a quality of service specified by traffic classes in use on the transport-layer connections corresponding to the received packets.

2. The network device of claim 1 , wherein the outbound path is one of a plurality of outbound paths.

3. The network device of claim 1 , wherein the outbound path a single outbound path associated with all of the data flows.

4. The network device of claim 1 , wherein the QoS manager is further configured to set the number of data flows to produce relative service differentiation.

5. The network device of claim 1 , wherein the QoS manager is further configured to set the number of data flows to produce absolute service differentiation.

6. A network device comprising:

a transport-layer proxy; and

a multi-path traffic distributor coupled to the transport-layer proxy, wherein the transport-layer proxy is configured to:

receive packets, each associated with a transport-layer connection, from a transport-layer endpoint;

store the received packets in buffers associated with the corresponding connections;

wherein the multi-path traffic distributor is configured to:

transmit packets from the buffers to an outbound path;

receive congestion control information from a peer multi-path traffic distributor indicating congestion on the outbound path;

wherein the transport-layer proxy is further configured to:

transmit control packets to the transport-layer endpoint based on occupancy of the buffers, wherein the control packets indicate the congestion control information; and

wherein the multi-path traffic distributor is further configured to:

receive information from the peer multi-path traffic distributor indicating congestion on a path between the peer multi-path traffic distributor and a second transport-layer endpoint, wherein receiving the information is based on occupancy of buffers in the peer multi-path traffic distributor.

7. A network device comprising:

a transport-layer proxy; and

a multi-path traffic distributor coupled to the transport-layer proxy, wherein the transport-layer proxy is configured to:

receive packets, each associated with a transport-layer connection, from a transport-layer endpoint; and

store the received packets in buffers associated with the corresponding connections;

wherein the multi-path traffic distributor is configured to:

transmit packets from the buffers to an outbound path in response to congestion control information received from a peer multi-path traffic distributor indicating congestion on the outbound path; and

wherein the transport-layer proxy is further configured to:

transmit flow control packets to the transport-layer endpoint based on occupancy of the buffers; and

wherein the multi-path traffic distributor is further configured to:

receive information from the peer multi-path traffic distributor indicating receive buffer occupancy in the peer multi-path traffic distributor; and

transmit packets from the buffers to an outbound path in response to the information indicating receive buffer occupancy.

8. A network device comprising:

a transport-layer proxy; and

a multi-path traffic distributor coupled to the transport-layer proxy, wherein the transport-layer proxy is configured to:

receive packets, each associated with a transport-layer connection, from a transport-layer endpoint; and

deliver each of the received packets to the multi-path traffic distributor if the packet is in sequence; and

wherein the multi-path traffic distributor is configured to:

store each of the delivered packets in an unbound buffer which is not assigned to an outbound path; and

transmit each of the delivered packets on an outbound path;

wherein the multi-path traffic distributor is further configured to:

receive packets from a peer multi-path traffic distributor;

store received packets that are not in sequence in an out-of-order buffer; and

deliver packets from the out-of-order buffer to the transport-layer proxy when additional packets have been received from the peer to produce an in-order sequence; and

wherein the transport-layer proxy is further configured to:

store packets delivered from the out-of-order buffer into a receive buffer; and

transmit packets stored in the receive buffer to the transport-layer endpoint.

9. The network device of claim 8 , wherein a packet data structure used to store one of the received packets includes a number-of-references field that is increased as each component begins processing of the packet and is decreased as each component completes processing of the packet.

10. The network device of claim 8 , further comprising:

logic configured to receive an acknowledgment for a transmitted packet, the acknowledgement including sequence number of the transmitted packet;

logic configured to store the sequence number in response to the received acknowledgment; and

logic configured to delay freeing of memory associated with the transmitted packet to a time later than the received acknowledgment.

11. The network device of claim 8 , wherein the multi-path traffic distributor is further configured to:

determining a maximum transmission unit (MTU) for the outbound path;

setting a local MTU to be the MTU for the outbound path reduced by a size of an extended transport-layer protocol header used by the multi-path traffic distributor; and

notifying a peer network device on the outbound path of the local MTU.

12. The network device of claim 8 , wherein the network device further comprises:

logic configured to detect presence and capabilities of a peer network device on the outbound path.

13. The network device of claim 8 , wherein the network device further comprises:

logic configured to transmit heartbeat messages to a peer network device on the outbound path.

Assignments (12)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2011
From: ASANKYA, INC.
To: EMC CORPORATION
Reel/Frame 026421/0935 →
CHANGE OF NAME Recorded Feb 11, 2011
From: ASANKYA NETWORKS, INC.
To: ASANKYA, INC.
Reel/Frame 025792/0571 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2007
From: SIVAKUMAR, RAGHUPATHY; VELAYUTHAM, ARAVIND
To: ASANKYA NETWORKS, INC.
Reel/Frame 020118/0381 →
Continuity (2)
Provisional Application 60844226 · Sep 13, 2006
Related Publication 20080062879A1 · Mar 13, 2008