Adapting TCP in variable jitter environments
Various embodiments comprise systems, methods, mechanisms, and apparatus adapting Transmission Control Protocol (TCP) traffic flows between a cable modem termination system (CMTS) and a plurality of cable modems (CMs) connected thereto via respective CMTS-CM TCP connections supported by respective CMTS-CM communication links. Each CMTS-CM communication link is monitored to determine Quality of Service (QoS) information including jitter information. If the jitter information associated with a particular CMTS-CM communications link exceeds a threshold level (e.g., a level where TCP ACK/NACK reception timeout may occur), then the TCP connection(s) supported by the communication link are adapted to function in a non-normative manner by, illustratively, increasing downlink and/or uplink throughput of TCP connections supported by the communications link irrespective of the usual or normative response of the TCP connection(s).
1 . A method for configuring Transmission Control Protocol (TCP) traffic flows between a cable modem termination system (CMTS) and a plurality of cable modems (CMs) connected thereto via respective CMTS-CM TCP connections supported by respective CMTS-CM communication links, each CMTS-CM communication link being monitored by the CMTS, the method comprising:
monitoring, via the CMTS, each CMTS-CM communication link to determine whether a jitter level of a CM-CMTS communication link exceeds a threshold level; and
in response to a determination that the jitter level of the CM-CMTS communication link exceeds the threshold level, configuring a corresponding CM-CMTS TCP downlink (DL) connection to cause an increase in downlink data throughput.
2 . The method of claim 1 , wherein the CM-CMTS TCP downlink (DL) connection is configured to select a slow start (SS) packet size of at least 50% of a maximum SS packet size of the CM-CMTS TCP DL.
3 . The method of claim 1 , wherein the CM-CMTS TCP downlink (DL) connection is configured to select a slow start (SS) packet size of a maximum SS packet size of the CM-CMTS TCP DL connection.
4 . The method of claim 1 , wherein the CM-CMTS TCP downlink (DL) connection is configured to increase SS packet size in response to a received ACK message, wherein the SS packet size increase is greater than a nominal TCP SS packet size increase.
5 . The method of claim 4 , wherein the SS packet size increase is an integer multiple of the nominal TCP SS packet size increase.
6 . The method of claim 4 , wherein the SS packet size increase is at least double the nominal TCP SS packet size increase.
7 . The method of claim 1 , wherein the CM-CMTS TCP downlink (DL) connection is configured to decrease SS packet size in response to a received NACK message, wherein the SS packet size decrease is less than a nominal TCP SS packet size decrease.
8 . The method of claim 7 , wherein the SS packet size decrease is an integer divisor of the nominal TCP SS packet size decrease.
9 . The method of claim 8 , wherein the SS packet size decrease is no more than half the nominal TCP SS packet size decrease.
10 . The method of claim 1 , wherein the jitter associated with each CMTS-CM link is measured at the CMTS.
11 . The method of claim 1 , further comprising:
in response to a determination that a jitter level of a CM-CMTS communication link exceeds a threshold level, transmitting toward the corresponding CM a control message configured to cause the CM to configure a corresponding CM-CMTS TCP uplink (UL) connection to cause an increase in uplink data throughput.
12 . The method of claim 11 , wherein the CM-CMTS TCP uplink (UL) connection is configured to select a slow start (SS) packet size of at least 50% of a maximum SS packet size of the CM-CMTS TCP UL connection.
13 . The method of claim 11 , wherein the CM-CMTS TCP uplink (UL) connection is configured to select a slow start (SS) packet size of a maximum SS packet size of the CM-CMTS TCP UL connection.
14 . The method of claim 11 , wherein the CM-CMTS TCP uplink (UL) connection is configured to increase SS packet size in response to a received ACK message, wherein the SS packet size increase is greater than a nominal TCP SS packet size increase.
15 . The method of claim 14 , wherein the SS packet size increase is an integer multiple of the nominal TCP SS packet size increase.
16 . The method of claim 11 , wherein the CM-CMTS TCP uplink (UL) connection is configured to decrease SS packet size in response to a received NACK message, wherein the SS packet size decrease is less than a nominal TCP SS packet size decrease.
17 . The method of claim 16 , wherein the SS packet size decrease is an integer divisor of the nominal TCP SS packet size decrease.
18 . A Transmission Control Protocol (TCP) manager including one or more physical or virtualized processing resources implemented by tangible computing hardware and non-transitory memory resources, wherein the one or more physical or virtualized processing resources are configured to execute software instructions stored in the non-transitory memory resources to implement thereby a method for configuring Transmission Control Protocol (TCP) traffic flows between a cable modem termination system (CMTS) and a plurality of cable modems (CMs) connected thereto via respective CMTS-CM TCP connections supported by respective CMTS-CM communication links, each CMTS-CM communication link being monitored by the CMTS, the method comprising:
in response to a determination that a jitter level of a CM-CMTS communication link exceeds a threshold level, configuring a corresponding CM-CMTS TCP downlink (DL) connection to cause an increase in downlink data throughput via use of at least one of (i) received ACK messages or (ii) received NACK messages.
19 . The TCP manager of claim 18 , wherein the TCP manager is implemented within at least one of a CMTS or a CM in communication with the CMTS.
20 . Computer readable apparatus comprising a non-transitory storage medium, the non-transitory storage medium comprising at least one computer program having a plurality of instructions, the plurality of instructions configured to, when executed on a processing apparatus, cause a Transmission Control Protocol (TCP) manager apparatus to:
based on a determination that a jitter level of a CM-CMTS communication link exceeds a threshold level, configuring a corresponding CM-CMTS TCP downlink (DL) connection to cause an increase in downlink data throughput, the CM-CMTS TCP downlink (DL) connection configured to cause at least one of (i) an increase in slow start (SS) packet size in response to a received ACK message, or (ii) a decrease in SS packet size in response to a received NACK message.