# US 2006/0136598 A1 · TCP/IP proxy utilizing transparent acknowledgements

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2006/0136598 A1
- Document ID: US20060136598A1
- Status: Published application
- Kind: A1
- Application number: 11/312,010
- Filed: 2005-12-19
- Published: 2006-06-22
- Earliest claimed: 2004-12-17
- Assignees: Britestream Networks, Inc.
- Inventors: William Fischofer
- Web page: https://patentgrep.com/patent/US20060136598A1

## CPC

- H04L 1/1664: {the supervisory signal being transmitted together with payload signals; piggybacking}
- H04L 69/16: Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L 69/163: In-band adaptation of TCP data exchange; In-band control procedures
- H04L 1/1848: {Time-out mechanisms}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method is described herein for transmitting data from a first point (203) to a second point (205) on a network (201) via a proxy server (207). In accordance with the method, a first data packet is received from the first point at the proxy server without sending an acknowledgement packet to the first point. The first data packet is forwarded from the proxy server to the second point, and a second data packet is received from the second point at the proxy server. The second data packet is then forwarded to the first point along with an acknowledgement packet for receipt of the first data packet from the first point at the proxy server.

## Claims

### Claim 1

A method for transmitting data from a first point to a second point on a network via a proxy server, comprising:
receiving a first data packet from the first point at the proxy server;
forwarding the first data packet from the proxy server to the second point;
receiving a second data packet from the second point at the proxy server; and
forwarding the second data packet to the first point along with an acknowledgement packet for receipt of the first data packet from the first point at the proxy server.

### Claim 2 (depends on 1)

The method of claim 1 wherein, if the second point issues a non-duplicate zero length acknowledgement packet to the proxy server in response to receipt of the first data packet at the second point, then the proxy server sends to the first point an acknowledgement packet in response to its receipt of the first data packet at the proxy server.

### Claim 3 (depends on 1)

The method of claim 1 wherein, when the first point increases its receive window, it issues a zero-length acknowledgement packet to the second point.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first point is a server and the second point is a client.

### Claim 5 (depends on 1)

The method of claim 1, wherein the proxy server comprises subproxies (Pl . . . Pn), wherein n≧2.

### Claim 6 (depends on 1)

The method of claim 1, wherein the second data packet is forwarded to the first point along with an acknowledgement packet for receipt of the first data packet at the proxy server only if the amount of queued but unsent data from the proxy to the second point is less than a predetermined threshold value k.

### Claim 7 (depends on 1)

The method of claim 1, wherein the acknowledgement packet for receipt of the first data packet by the server is piggybacked on the acknowledgement packet for receipt of the first data packet by the second point.

### Claim 8 (depends on 1)

The method of claim 1, wherein the first and second data packets are TCP/IP data packets.

### Claim 9 (depends on 1)

The method of claim 1 wherein the proxy server is adapted to set a delayed acknowledgement timer upon receipt by the proxy server of the first data packet.

### Claim 10 (depends on 9)

The method of claim 9 wherein, if the delayed acknowledgement timer expires prior to receipt at the proxy server of an acknowledgement packet from the second point for receipt at the second point of the first packet, then the proxy server sends an acknowledgement packet to the first point for receipt at the proxy server of the first packet.

### Claim 11 (depends on 10)

The method of claim 10, wherein the acknowledgement packet sent from the proxy server to the first point in the event that the delayed acknowledgement timer expires is a zero length acknowledgement packet.

### Claim 12 (depends on 1)

The method of claim 1, wherein the proxy server is a silicon proxy engine.

### Claim 13 (depends on 1)

A set of computer instructions, disposed in a tangible medium, for carrying out the method of claim 1.

### Claim 14

A method for transmitting data from a first point to a second point on a network via a proxy server, comprising:
receiving a first data packet from the first point at the proxy server;
forwarding the first data packet from the proxy server to the second point; and
if a second data packet is received at the proxy server from the second point within t seconds, wherein t≦k and wherein k is a nonzero threshold value, then forwarding the second data packet to the first point along with an acknowledgement packet for receipt of the first data packet at the proxy server, otherwise sending an acknowledgement packet to the first point for receipt of the first data packet at the proxy server.

### Claim 15 (depends on 14)

The method of claim 14, wherein k is greater than the delayed acknowledgement timer set by TCP protocol for the second point to send to the proxy an acknowledgement packet for receipt of the first data packet.

### Claim 16 (depends on 15)

The method of claim 15, wherein k is less than the minimum retransmission timer value governing the receipt of the first packet by the second point.

### Claim 17

A method for transmitting data from a first point to a second point on a network via a proxy server, comprising:
operating the proxy server in a first state if a Boolean status variable xs is true, wherein xs is true if and only if at least one of the connections between the first point and the proxy and the second point and the proxy enter TCP/IP retransmission; and
operating the proxy server in a second state if a Boolean status variable xs is false;
wherein, in the second state, the proxy server (a) receives a first data packet from the first point at the proxy server, (b) forwards the first data packet from the proxy server to the second point, and (c) if a second data packet is received at the proxy server from the second point within t seconds, wherein t≦k and wherein k is a nonzero threshold value, then the proxy server forwards the second data packet to the first point along with an acknowledgement packet for receipt of the first data packet at the proxy server, otherwise the proxy server sends an acknowledgement packet to the first point for receipt of the first data packet at the proxy server.

### Claim 18

The method of 17 wherein, in the first state, the proxy server sends an acknowledgement packet to the first point upon receipt of a data packet from the first point.

### Claim 19 (depends on 17)

The method of claim 17, wherein xs is true if and only if at least one of the connections between the first point and the proxy and the second point and the proxy enter TCP/IP retransmission due to either timeout or receipt of three duplicate acknowledgement packets.
