IP Library Granted Patent US 8,155,002
Granted Patent B2
US 8,155,002 · App. 11/859,574 · Granted Apr 10, 2012

Method for automatically inflating the receive window size in TCP connections

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,155,002
App. No.
11/859,574
Granted
Apr 10, 2012
Kind
B2
Abstract

An intermediate network element/device intercepts TCP packets/segments from a client and alters them before forwarding them to a server. This facilitates an increase in effective receive window size value over that which is contained in the segments. One aspect alters a TCP segment by replacing the receive window value with a value determined according to a formula and then forwards the segment on to the server. Another aspect alters a scaling factor in a SYN segment and forwards the altered SYN segment on to the server. The server stores the scaling factor to a memory connected thereto and multiplies the scale factor by receive window size values in subsequently received TCP segments. The server uses the product to determine how many segment-bytes to send to the client. The predetermined scaling factor and predetermined formula may both be stored on a memory at the intermediate element for processing thereby.

Claims (51)

1. A method for adjusting a scalable receive window size value for regulating transmission of TCP segments, comprising:

intercepting at a cable modem termination system a TCP segment transmitted from a TCP client and destined to a TCP server;

determining whether the intercepted TCP segment is a SYN segment with support for a TCP Window Scaling Option;

if the intercepted segment is a SYN segment, altering a Window Scaling Option value in the intercepted TCP SYN segment with support for the Window Scaling Option according to a predetermined formula to create an altered TCP SYN segment with support for the Window Scaling Option;

correcting a checksum associated with the altered TCP SYN segment to account for the alteration to the TCP SYN segment;

forwarding from the cable modem termination system the altered TCP SYN segment with support for the Window Scaling Option toward the TCP server;

receiving the altered TCP segment at the TCP server;

storing a scale factor value from the altered TCP segment to a memory at the TCP server;

applying the scale factor value from the memory to a receive window size value received in another TCP segment to result in a scaled receive window size value; and

transmitting segments from the TCP server according to the scaled receive window size value.

2. The method of claim 1 wherein the step of altering the window scaling option value includes

determining the scale factor value according to a predetermined formula; and

inserting the scale factor value into a Window Scaling Option field.

3. The method of claim 1 further comprising:

if the intercepted TCP segment is not a SYN segment, determining whether a receive window size value in the intercepted TCP segment is less than a predetermined value;

altering the receive window size value in the intercepted TCP segment according to a predetermined formula if the receive window size value is less that the predetermined value to create an altered TCP segment; and

forwarding the altered TCP segment toward the TCP server.

4. A method for adjusting a receive window size value in a TCP segment, comprising:

intercepting at a cable modem termination system a TCP segment that was originally transmitted from a TCP client and destined to a TCP server;

determining whether the receive window size value in the intercepted TCP segment is less than a predetermined value;

altering the receive window size value in the intercepted TCP segment according to a predetermined formula if the receive window size value is less that the predetermined value to create an altered TCP segment;

correcting a checksum associated with the altered TCP SYN segment to account for the alteration to the TCP SYN segment;

forwarding from the cable modem termination system the altered TCP segment toward the TCP server;

receiving the altered TCP segment at the TCP server;

storing a scale factor value from the altered TCP segment to a memory at the TCP server;

applying the scale factor value from the memory to a receive window size value received in another TCP segment to result in a scaled receive window size value; and

transmitting segments from the TCP server according to the scaled receive window size value.

5. The method of claim 4 wherein the step of altering the intercepted TCP segment includes replacing the receive window size value in the intercepted segment with a value determined according to the predetermined formula.

6. The method of claim 5 wherein the predetermined formula is a constant.

7. The method of claim 5 wherein the predetermined formula includes a minimum function and a maximum function.

8. The method of claim 7 wherein the minimum and maximum functions are based on transmission times between the client and the server.

9. The method of claim 7 wherein the minimum and maximum functions are automatically adjusted based on historical changes in the receive window value size of preceding TCP segments and their corresponding altered TCP segments.

10. The method of claim 4 further comprising:

determining whether the intercepted TCP segment is a SYN segment with support for a TCP Window Scaling Option;

altering a Window Scaling Option value in the intercepted TCP SYN segment with support for the Window Scaling Option according to a predetermined formula to create an altered TCP SYN segment with support for the Window Scaling Option; and

forwarding the altered TCP SYN segment with support for the Window Scaling Option toward the TCP server.

11. The method of claim 10 wherein the step of altering the intercepted TCP segment includes replacing the receive window size value in the intercepted segment with a value determined according to the predetermined formula.

12. A method for adjusting a scalable receive window size value for regulating transmission of TCP segments, comprising:

intercepting at a cable modem termination system a TCP segment transmitted from a TCP client and destined to a TCP server;

determining whether the intercepted TCP segment is a SYN segment with support for a TCP Window Scaling Option;

if the intercepted TCP segment is a SYN segment, altering a Window Scaling Option value in the intercepted TCP SYN segment with support for the Window Scaling Option according to a predetermined formula to create an altered TCP SYN segment with support for the Window Scaling Option, wherein the step of altering includes determining a scale factor value according to a predetermined formula and inserting the scale factor value into a Window Scaling Option field, the Window Scaling Option being altered to account for the propagation delay between the subscriber and the far host;

correcting a checksum associated with the altered TCP SYN segment to account for the alteration to the TCP SYN segment;

forwarding the altered TCP SYN segment with support for the Window Scaling Option toward the TCP server;

receiving the altered TCP segment at the TCP server;

storing the scale factor value from the altered TCP segment to a memory at the TCP server;

applying the scale factor value from the memory to a receive window size value received in another TCP segment to result in a scaled receive window size value; and

transmitting segments from the TCP server according to the scaled receive window size value.

13. The method of claim 12 further comprising:

if the intercepted TCP segment is not a SYN segment, determining whether a receive window size value in the intercepted TCP segment is less than a predetermined value;

altering the receive window size value in the intercepted TCP segment according to a predetermined formula if the receive window size value is less that the predetermined value to create an altered TCP segment; and

forwarding the altered TCP segment toward the TCP server.

Assignments (11)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
CHANGE OF NAME Recorded Jun 25, 2019
From: ARRIS ENTERPRISES, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 049586/0470 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 8, 2019
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
Reel/Frame 048825/0294 →
CHANGE OF NAME Recorded Mar 14, 2017
From: ARRIS ENTERPRISES INC
To: ARRIS ENTERPRISES LLC
Reel/Frame 041995/0031 →
SECURITY AGREEMENT Recorded May 28, 2013
From: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS; BIGBAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030498/0023 →
MERGER Recorded Apr 16, 2013
From: ARRIS GROUP, INC.
To: ARRIS ENTERPRISES, INC.
Reel/Frame 030223/0244 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2007
From: ROBBINS, MAX LEO
To: ARRIS GROUP, INC.
Reel/Frame 020006/0238 →