Network system with TCP/IP ACK reduction
First Claim
Patent Images
1. An apparatus comprising:
- queuing means for queuing a TCP ACK packet in a queue of packets to be sent on a TCP connection; and
deleting means for deleting from the queue a TCP ACK packet having a sequence number lower than the sequence number of the TCP ACK packet queued by said queuing means, so as to prevent the TCP ACK packet having a sequence number lower than the sequence number of the TCP ACK packet queued by said queuing means from being sent on the TCP connection.
0 Assignments
0 Petitions
Accused Products
Abstract
A system in which a personal computer sends messages into a TCP/IP network using a conventional dial-up link and downloads data from the TCP/IP network using a high-speed one-way satellite link. A preferred embodiment uses a conventional SLIP provider to connect to the TCP/IP network and uses a commercial software TCP/IP package that has a standard driver interface. A spoofing protocol compensates for the long propagation delays inherent to satellite communication.
-
Citations
49 Claims
-
1. An apparatus comprising:
-
queuing means for queuing a TCP ACK packet in a queue of packets to be sent on a TCP connection; and
deleting means for deleting from the queue a TCP ACK packet having a sequence number lower than the sequence number of the TCP ACK packet queued by said queuing means, so as to prevent the TCP ACK packet having a sequence number lower than the sequence number of the TCP ACK packet queued by said queuing means from being sent on the TCP connection. - View Dependent Claims (2, 3, 4)
wherein the TCP packet which the TCP ACK packet acknowledges is received by said satellite receiver. -
4. An apparatus according to claim 3, wherein the TCP connection uses a dialup connection.
-
-
5. An apparatus comprising:
-
a queue for packets to be sent on a TCP connection; and
a packet deleter that is configured to delete from said queue a TCP ACK packet having a sequence number lower than a predetermined number, so as to prevent the TCP ACK packet having a sequence number lower than the predetermined number from being sent on the TCP connection. - View Dependent Claims (6, 7, 8, 9, 10)
wherein the TCP packet which the TCP ACK packet acknowledges is received by said satellite receiver. -
10. An apparatus according to claim 9, wherein the TCP connection uses a dialup connection.
-
-
11. An apparatus comprising:
-
determining means for determining whether there are TCP ACK packets to be sent on a TCP connection, wherein each TCP ACK packet has a number associated therewith, whose numbers form a sequential run; and
deleting means for deleting from amongst the TCP ACK packets whose numbers form a sequential run, as determined by said determining means, a TCP ACK packet other than the TCP ACK packet having the highest number in the sequential run, so as to prevent the TCP ACK packet other than the TCP ACK packet having the highest number in the sequential run from being sent on the TCP connection. - View Dependent Claims (12, 13, 14, 15, 16)
wherein TCP packets which the TCP ACK packets acknowledge are received by said satellite receiver. -
16. An apparatus according to claim 15, wherein the TCP connection uses a dialup connection.
-
-
17. A system comprising:
-
first and second apparatuses connectable to a network, wherein said first apparatus comprises an ACK producer that is configured to generate an ACK packet addressed to said second apparatus in response to receipt of a packet from said second apparatus via the network, and wherein said system is configured to prevent said second apparatus from receiving an ACK packet addressed to said second apparatus that is generated by said ACK producer of said first apparatus and that is superfluous because of use of a cumulative ACK scheme. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
wherein said ACK eliminator deletes from a queue for packets to be sent from said first apparatus to said second apparatus an ACK packet having a number lower than that of a selected ACK packet, thereby eliminating the cumulative ACK packet. -
20. A system according to claim 19, wherein said ACK eliminator deletes from the queue for packets to be sent from said first apparatus to said second apparatus all ACK packets having numbers lower than that of the selected ACK packet, thereby eliminating cumulative ACK packets.
-
21. A system according to claim 19, wherein the number is a sequence number.
-
22. A system according to claim 21, wherein the sequence number is stored in the ACK packet.
-
23. A system according to claim 21, wherein said ACK eliminator deletes from the queue for packets to be sent from said first apparatus to said second apparatus all ACK packets having numbers lower than that of the selected ACK packet, thereby eliminating cumulative ACK packets.
-
24. A system according to claim 17, wherein the network is a TCP/IP network.
-
25. A system according to claim 24, wherein the ACK packet is a TCP ACK packet.
-
26. A system according to claim 25, wherein said receiver of said first apparatus receives the packet from said second apparatus via the network using a satellite receiver of said first apparatus.
-
27. A system according to claim 26, wherein an ACK packet generated by said ACK producer that is sent to said second apparatus via the network is sent using a dialup connection to the network.
-
28. A system according to claim 17, wherein said ACK producer generates more ACK packets than are required by protocol.
-
29. A system according to claim 17, wherein said system prevents said second apparatus from receiving the cumulative ACK packet by effecting a change to a packet in said first apparatus waiting to be sent to said second apparatus.
-
-
30. A method comprising:
-
queuing a TCP ACK packet in a queue of packets to be sent on a TCP connection; and
deleting from the queue a TCP ACK packet having a sequence number lower than the sequence number of the TCP ACK packet queued in said queuing step, so as to prevent the TCP ACK packet having a sequence number lower than the sequence number of the TCP ACK packet queued in said queuing step from being sent on the TCP connection. - View Dependent Claims (31, 32, 33)
-
-
34. A method comprising:
-
determining whether there are TCP ACK packets to be sent on a TCP connection, wherein each TCP ACK packet has a number associated therewith, whose numbers form a sequential run; and
deleting from amongst the TCP ACK packets whose numbers form a sequential run, as determined by said determining means, a TCP ACK packet other than the TCP ACK packet having the highest number in the sequential run, so as to prevent the TCP ACK packet other than the TCP ACK packet having the highest number in the sequential run from being sent on the TCP connection. - View Dependent Claims (35, 36, 37, 38, 39)
-
-
40. A driver comprising:
-
a packet queuer that is configured to queue a TCP ACK packet in a queue of packets to be sent on a TCP connection; and
a deleter that is configured to delete from the queue a TCP ACK packet having sequence numbers lower than the sequence number of the TCP ACK packet queued by said packet queuer, so as to prevent the TCP ACK packet having a sequence number lower than the sequence number of the TCP ACK packet queued by said packet queuer from being sent on the TCP connection. - View Dependent Claims (41, 42, 43)
wherein the TCP packet which the TCP ACK packet acknowledges is received by said satellite receiver. -
43. A driver according to claim 42, wherein the TCP ACK packet is sent on the TCP connection using a dialup connection.
-
-
44. A driver comprising:
-
a determiner that is configured to determine whether there are TCP ACK packets to be sent on a TCP connection, wherein each TCP ACK packet has a number associated therewith, whose numbers form a sequential run; and
a deleter that is configured to delete from amongst the TCP ACK packets whose numbers form a sequential run, as determined by said determining means, a TCP ACK packet other than the TCP ACK packet having the highest number in the sequential run, so as to prevent the TCP ACK packet other than the TCP ACK packet having the highest number in the sequential run from being sent on the TCP connection. - View Dependent Claims (45, 46, 47, 48, 49)
wherein TCP packets which the TCP ACK packets acknowledge are received by the satellite receiver. -
49. A driver according to claim 48, wherein the TCP connection uses a dialup connection.
-
Specification