IP Library Granted Patent US 8,711,690
Granted Patent B2
US 8,711,690 · App. 13/799,110 · Granted Apr 29, 2014

System and method for a TCP mapper

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,711,690
App. No.
13/799,110
Granted
Apr 29, 2014
Kind
B2
Abstract

A system for congestion control of traffic in a network that uses Transmission Control Protocol (TCP) includes a plurality of TCP congestion control programs having one or more parameters, a plurality of TCP congestion control units running the TCP congestion control programs, and a TCP mapper adapted to map incoming TCP traffic flow from a plurality of incoming TCP traffic flows to the TCP congestion control units based on at least one of (a) the type of application program from which the incoming TCP traffic flow originated (b) the type of network for which the incoming TCP traffic flow is destined, (c) parameters related to network performance (d) network constraints (e) source of the incoming TCP traffic flow, and (f) destination of the incoming TCP traffic flow.

Claims (98)

1. A method for congestion control of traffic in a network that uses Transmission Control Protocol (TCP), wherein said traffic includes one or more incoming TCP traffic flows originating from at least one TCP sending host and destined for at least one receiving destination, and that includes a plurality of TCP congestion control programs and at least one TCP congestion control unit running one of said plurality of TCP congestion control programs, said method comprising:

terminating, by a TCP mapper acting as a midstream TCP proxy, the one or more incoming TCP traffic flows;

processing all of the one or more terminated incoming TCP traffic flows, wherein said processing comprises

mapping all of the terminated one or more incoming TCP traffic flows, to one or more of said plurality of TCP congestion control programs using the TCP mapper, and

wherein said mapping is based on a plurality of

(a) the type of application program from which the first incoming TCP traffic flow originated,

(b) the type of network for which the first incoming TCP traffic flow is destined,

(c) parameters related to network performance,

(d) network constraints,

(e) source of the first incoming TCP traffic flow, and

(f) destination of the first incoming TCP traffic flow; and

wherein said TCP mapper

is connected to said at least one TCP sending host over the network, and

operates in a single-ended mode without a corresponding TCP mapper connected to the at least one receiving destination.

2. The method of claim 1 , further comprising adjusting the round trip time (RTT) seen by said at least one TCP sending host.

3. The method of claim 1 , further comprising said TCP mapper sending signals to said at least one TCP sending host.

4. The method of claim 3 , wherein said TCP mapper sends a signal to said at least one TCP sending host to repeat re-transmission of a lost packet.

5. A method for congestion control of traffic in a network that uses Transmission Control Protocol (TCP), wherein said traffic includes one or more incoming TCP traffic flows, and that includes a plurality of TCP congestion control programs and at least one TCP congestion control unit, each of the at least one TCP congestion control unit running one of said plurality of TCP congestion control programs, said method comprising:

mapping a first incoming TCP traffic flow, wherein said first incoming TCP traffic flow originates from a TCP sending host, to a first of said plurality of TCP congestion control programs using a TCP mapper, wherein said mapping is based on a plurality of

(a) the type of application program from which the first incoming TCP traffic flow originated,

(b) the type of network for which the first incoming TCP traffic flow is destined,

(c) parameters related to network performance, (d) network constraints,

(e) source of the first incoming TCP traffic flow, and

(f) destination of the first incoming TCP traffic flow; and

wherein said TCP mapper is connected to said at least one TCP sending host over the network, and operates in a single-ended mode without a corresponding TCP mapper connected to the at least one receiving destination.

6. The method of claim 5 , wherein said TCP sending host comprises a TCP engine, and said TCP mapper is separate from the TCP engine.

7. The method of claim 5 , wherein said mapping is based on parameters related to network performance; and further comprising analyzing measurements of said parameters related to network performance, wherein said measurements are performed by at least one of the TCP mapper and external sensors.

8. The method of claim 7 , further comprising performing one or more heuristics and tuning at least one parameter of said first TCP congestion control program based on results of said one or more heuristics.

9. The method of claim 8 , wherein said one or more heuristics comprises at least one of

determining presence and persistence of congestion;

determining goodput as a fraction of the rate of the traffic transmitted by said TCP host;

determining changes in the one-way delays of traffic transmitted by said TCP host; and

estimating channel capacity using at least one of

inter-packet arrival time,

inter-acknowledgement message arrival time,

variance of latency of packets within a burst of packets, and

loss rate of packets within a burst of packets.

10. The method of claim 5 , further comprising said TCP mapper sending signals to said TCP sending host.

11. The method of claim 5 , further comprising dynamically switching the mapping from the first TCP congestion control program to a second TCP congestion control program; and

tuning at least one parameter of said second TCP congestion control program.

12. A method for congestion control of traffic in a network that uses Transmission Control Protocol (TCP), wherein said traffic includes one or more incoming TCP traffic flows, and that includes a plurality of TCP congestion control programs and at least one TCP congestion control units, each of the at least one TCP congestion control unit running one of said plurality of TCP congestion control programs, said method comprising:

mapping a first incoming TCP traffic flow, said first incoming TCP traffic flow originating from a TCP sending host from said one or more incoming TCP traffic flows to a first of said plurality of TCP congestion control programs using a TCP mapper, wherein said mapping is based on parameters related to network performance;

said mapping further comprising

analyzing measurements of said parameters related to network performance, wherein said measurements are performed by at least one of the TCP mapper and external sensors,

performing heuristics comprising

determining presence and persistence of congestion, and

identifying the cause of a packet loss event based on the determining of presence and persistence of congestion, wherein said identifying comprises correlating the packet loss event to one or more determined periods of persistent congestion; and

tuning at least one parameter of said first TCP congestion control program based on results of said one or more heuristics.

13. The method of claim 12 , wherein said TCP mapper is included within said TCP sending host.

14. The method of claim 12 , wherein said determining of presence and persistence of congestion comprises estimating channel capacity using one or more of

inter-packet arrival time,

inter-acknowledgement message arrival time,

variance of latency of packets within a burst, and

loss rate of packets within a burst.

15. The method of claim 12 , further comprising

dynamically switching the mapping from the first TCP congestion control program to a second TCP congestion control program; and

tuning at least one parameter of said second TCP congestion control program.

16. The method of claim 12 , wherein said determining of persistence of congestion further comprises determining the evolution of loss and latency over time, and determining the correlation between the loss and the latency.

17. A system for congestion control of traffic in a network that uses Transmission Control Protocol (TCP), said traffic comprising a plurality of incoming TCP traffic flows originating from a plurality of TCP sending hosts, said system comprising one or more TCP mappers, wherein each of the one or more TCP mappers receives one or more of the plurality of incoming TCP traffic flows;

wherein each TCP mapper is associated with at least one TCP congestion control unit, each of the at least one congestion control unit running one of a plurality of TCP congestion control programs, and wherein each TCP mapper determines which of the plurality of TCP congestion control programs to map the one or more received incoming TCP traffic flows to, said determining based on at lest one a plurality of

(a) the type of application program from which the incoming TCP traffic flow originated,

(b) the type of network for which the incoming TCP traffic flow is destined,

(c) parameters related to network performance

(d) network constraints,

(e) source of the incoming TCP traffic flow, and

(f) destination of the incoming TCP traffic flow, and maps the one or more received incoming TCP traffic flows to one of said at least one associated TCP congestion control unit based on the determined TCP congestion control program, and

further wherein each TCP mapper is connected to at least one TCP sending host, and at least one of the one or more TCP mappers is connected to only one TCP sending host.

18. The system of claim 17 , wherein each TCP mapper adjusts the round trip time seen by the at least one TCP sending host connected to the TCP mapper.

19. The system of claim 17 , further comprising performing measurements of one or more parameters related to network performance.

20. The system of claim 19 , further comprising performing one or more heuristics, and each TCP mapper tunes at least one parameter of the plurality of TCP congestion control programs based on one or more results of said one or more heuristics.

21. The system of claim 20 , wherein said one or more heuristics comprises at least one of

determining presence and persistence of congestion;

determining goodput as a fraction of the rate of the traffic transmitted by said TCP host;

determining changes in the one-way delays of traffic transmitted by said TCP host; and

estimating channel capacity using at least one of

inter-packet arrival time,

inter-acknowledgement message arrival time,

variance of latency of packets within a burst of packets, and

loss rate of packets within a burst of packets.

22. The system of claim 16 , further comprising each TCP mapper sending one or more signals to the one or more TCP sending hosts connected to the TCP mapper.

23. The system of claim 22 , wherein one of the one or more signals is a signal to repeat re-transmission of a lost packet.

24. The system of claim 16 , further wherein at least one of the one or more TCP mappers is placed within at least one of the plurality TCP sending hosts.

25. The method of claim 1 , further comprising

dynamically switching the mapping for a first incoming TCP traffic flow from a first TCP congestion control program to a second TCP congestion control program; and

tuning at least one parameter of said second TCP congestion control program.

26. The method of claim 1 , wherein the mapping is based on network constraints and parameters related to network performance,

said network constraints comprising at least one of

prioritization of traffic, and

traffic policing.

27. The method of claim 25 , further comprising buffering said first incoming TCP traffic flow in a buffer associated with said second TCP congestion control program.

28. The method of claim 26 , further comprising auto-detecting, by the TCP mapper, the presence of the network constraints.

29. The method of claim 1 , wherein the mapping is based on parameters related to network performance, and the type of application program from which the first incoming TCP traffic flow originated, further wherein said mapping is based on

measuring parameters related to network performance; and

analyzing the measurements to determine if congestion is present, the analyzing further comprising

determining the persistence of the congestion, comprising

determining the evolution of loss and latency over time, and

determining the correlation between the loss and the latency.

30. The method of claim 29 , further comprising recognizing, by the TCP mapper, the type of application program from which the first incoming TCP traffic flow originated.

Assignments (7)
CHANGE OF NAME Recorded Mar 31, 2026
From: ADEIA MEDIA HOLDINGS LLC
To: ADEIA MEDIA HOLDINGS INC.
Reel/Frame 075306/0115 →
SECURITY INTEREST Recorded May 28, 2025
From: ADEIA INC. (F/K/A XPERI HOLDING CORPORATION); ADEIA HOLDINGS INC.; ADEIA MEDIA HOLDINGS INC.; ADEIA IMAGING LLC; ADEIA MEDIA LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA TECHNOLOGIES INC.; ADEIA GUIDES INC.; ADEIA SOLUTIONS LLC; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR INTELLECTUAL PROPERTY LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA PUBLISHING INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 071454/0343 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2025
From: ADAPTIV NETWORKS INC.
To: ADEIA MEDIA HOLDINGS LLC
Reel/Frame 069975/0375 →
SECURITY INTEREST Recorded Apr 2, 2023
From: ADAPTIV NETWORKS INC.
To: BDC CAPITAL INC.
Reel/Frame 063232/0415 →
SECURITY INTEREST Recorded Mar 28, 2023
From: ADAPTIV NETWORKS INC.
To: BDC CAPITAL INC.
Reel/Frame 063174/0621 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2020
From: LIVEQOS INC.
To: ADAPTIV NETWORKS INC.
Reel/Frame 052148/0115 →
ASSET PURCHASE AGREEMENT Recorded Jan 27, 2020
From: LIVEQOS INC.
To: ADAPTIV NETWORKS INC.
Reel/Frame 051708/0706 →