Performance enhancement and congestion control of multipath protocol packets in a heterogeneous network environment with multipath transport protocols

US9350672B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9350672-B2
Application numberUS-201414209395-A
CountryUS
Kind codeB2
Filing dateMar 13, 2014
Priority dateMar 13, 2014
Publication dateMay 24, 2016
Grant dateMay 24, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An example method for performance enhancement in a heterogeneous network environment with multipath transport protocols is provided and includes receiving packets according to Transmission Control Protocol (TCP packets) and packets according to multipath TCP (MPTCP packets) in a network environment, determining that TCP packets are experiencing congestion in comparison to the MPTCP packets, and delaying acknowledgement packets (MPTCP ACK packets) corresponding to the MPTCP packets for a pre-determined time interval. In a specific embodiment, a local MPTCP proxy intercepts the TCP packets and forwards underlying data of the TCP packets according to MPTCP.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving packets according to Transmission Control Protocol (TCP packets), and packets according to multipath TCP (MPTCP packets) in a network environment, the TCP and MPTCP comprising different network protocols; determining that TCP packets are experiencing more congestion in comparison to the MPTCP packets, based on explicit congestion notification (ECN) vectors; and delaying acknowledgement packets (MPTCP ACK packets) corresponding to the MPTCP packets for a pre-determined time interval, thereby increasing a round trip time (RTT) for the MPTCP packets while decreasing congestion experienced by the TCP packets. 2. The method of claim 1 , wherein the ECN vectors comprise a first ECN vector and a second ECN vector, wherein determining that TCP packets are experiencing congestion based on the ECN vectors comprises: generating the first ECN vector including a first number of ECN bits set for each flow of TCP packets during a first time interval; generating the second ECN vector including a second number of ECN bits set for each flow of the TCP packets during a subsequent second time interval; comparing the second ECN vector with the first ECN vector, wherein a net positive difference between the second ECN vector and the first ECN vector indicates increasing congestion for the TCP packets; and tracking flow of the MPTCP packets (MPTCP flows), wherein a lack of net decrease in the MPTCP flows combined with increasing congestion for the TCP packets indicates that the TCP packets are experiencing more congestion in comparison to the MPTCP packets. 3. The method of claim 1 , wherein the delaying the MPTCP ACK packets comprises buffering the MPTCP ACK packets in a local buffer. 4. The method of claim 1 , further comprising triggering MPCTP flow control mechanisms. 5. The method of claim 1 , wherein if the TCP packets do not stop experiencing congestion after the pre-determined time interval, the MPTCP ACK packets are not further delayed. 6. The method of claim 1 , wherein if the TCP packets stop experiencing congestion during the pre-determined time interval, the MPTCP ACK packets are not further delayed. 7. The method of claim 1 , wherein a local MPTCP proxy intercepts the TCP packets and forwards underlying data of the TCP packets according to MPTCP. 8. The method of claim 7 , wherein the local MPTCP proxy snoops a connection with a local endpoint, wherein the method further comprises: intercepting a request from the local endpoint for a TCP connection with a remote endpoint in the network; establishing a TCP connection with the local endpoint; initiating an MPTCP connection with the remote endpoint; buffering the TCP packets from the local endpoint in a local buffer; transmitting TCP acknowledgement packets (TCP ACK packets) corresponding to the TCP packets to the local endpoint; and transmitting the underlying data according to MPTCP to the remote endpoint. 9. The method of claim 8 , wherein a remote MPTCP proxy connected to the remote endpoint intercepts an MPTCP connection request from the local MPTCP proxy and establishes the MPTCP connection, wherein the remote MPTCP proxy establishes another TCP connection with the remote endpoint, wherein the remote MPTCP proxy intercepts the MPTCP packets from the local MPTCP proxy and forwards the underlying data to the remote endpoint according to TCP. 10. The method of claim 8 , wherein a round trip time (RTT) value is observed and recorded on the MPTCP connection established by the local MPTCP proxy, wherein the TCP ACK packets are delayed proportionally to the RTT value. 11. Non-transitory tangible media that includes instructions for execution, which when executed by a processor, is operable to perform operations comprising: receiving TCP packets and MPTCP packets in a network environment; determining that TCP packets are experiencing more congestion in comparison to the MPTCP packets, the TCP and MPTCP comprising different network protocols, based on ECN vectors; and delaying MPTCP ACK packets corresponding to the MPTCP packets for a pre-determined time interval, thereby increasing a round trip time (RTT) for the MPTCP packets while decreasing congestion experienced by the TCP packets. 12. The media of claim 11 , wherein the ECN vectors comprise a first ECN vector and a second ECN vector, wherein determining that TCP packets are experiencing congestion based on the ECN vectors comprises: generating the first ECN vector including a first number of ECN bits set for each flow of TCP packets during a first time interval; generating the second ECN vector including a second number of ECN bits set for each flow of the TCP packets during a subsequent second time interval; comparing the second ECN vector with the first ECN vector, wherein a net positive difference between the second ECN vector and the first ECN vector indicates increasing congestion for TCP packets; and tracking MPTCP flow, wherein a lack of net decrease in the MPTCP flow combined with increasing congestion for TCP packets indicates that TCP packets are experiencing congestion in comparison to MPTCP packets. 13. The media of claim 11 , wherein a local MPTCP proxy intercepts the TCP packets and forwards underlying data of the TCP packets according to MPTCP. 14. The media of claim 13 , wherein the local MPTCP proxy snoops a connection with a local endpoint, wherein the method further comprises: intercepting a request from the local endpoint for a TCP connection with a remote endpoint in the network; establishing a TCP connection with the local endpoint; initiating an MPTCP connection with the remote endpoint; buffering the TCP packets from the local endpoint in a local buffer; transmitting TCP ACK packets corresponding to the TCP packets to the local endpoint; and transmitting the underlying data according to MPTCP to the remote endpoint. 15. The media of claim 14 , wherein a remote MPTCP proxy connected to the remote endpoint intercepts an MPTCP connection request from the local MPTCP proxy and establishes the MPTCP connection, wherein the remote MPTCP proxy establishes another TCP connection with the remote endpoint, wherein the remote MPTCP proxy intercepts the MPTCP packets from the local MPTCP proxy and forwards the underlying data to the remote endpoint according to TCP. 16. An apparatus, comprising: a memory element for storing data; and a processor, wherein the processor executes instructions associated with the data, wherein the processor and the memory element cooperate, such that the apparatus is configured for: receiving TCP packets and MPTCP packets in a network environment, the TCP and MPTCP comprising different network protocols; determining that TCP packets are experiencing more congestion in comparison to the MPTCP packets, based on ECN vectors; and delaying MPTCP ACK packets corresponding to the MPTCP packets for a pre-determined time interval, thereby increasing a round trip time (RTT) for the MPTCP packets while decreasing congestion experienced by the TCP packets. 17. The apparatus of claim 16 , wherein the ECN vectors comprise a first ECN vector and a second ECN vector, wherein determining that TCP packets are experiencing congestion based on the ECN vectors comprises: generating the first ECN vector including a first number of ECN bits set for each flow of TCP packets during a first time interval; generating the second ECN vector including a second number of ECN bits set for each flow of the TCP packets during a subsequent second time interval; comparing the second

Assignees

Inventors

Classifications

  • by discarding or delaying data units, e.g. packets or frames · CPC title

  • H04L47/193Primary

    at the transport layer, e.g. TCP related · CPC title

  • One way delays · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9350672B2 cover?
An example method for performance enhancement in a heterogeneous network environment with multipath transport protocols is provided and includes receiving packets according to Transmission Control Protocol (TCP packets) and packets according to multipath TCP (MPTCP packets) in a network environment, determining that TCP packets are experiencing congestion in comparison to the MPTCP packets, and…
Who is the assignee on this patent?
Cisco Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L47/193. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue May 24 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).