Wavefront detection and disambiguation of acknowledgments
First Claim
Patent Images
1. A method for communicating with a remote system using Internet Protocol (IP) via a computer network, the method comprising:
- transmitting, by a flow control module configured on a device, a data packet to the remote system;
retransmitting, by the flow control module, the data packet to the remote system;
maintaining, by the flow control module, a transmit number identifying each transmission of the data packet;
receiving, by the flow control module, an acknowledgement packet indicating that the data packet was received by the remote system, the acknowledgement packet identifying the transmit number in an IP identification (ID) field with a predetermined bit reversed for one of the transmission or the retransmission of the data packet; and
associating, by the flow control module, the transmit number in the acknowledgement packet with either the transmission or the retransmission of the data packet, based on the transmit number identified via the IP identification field in the acknowledgement packet, thereby determining whether the transmission or the retransmission of the data packet was received and acknowledged by the remote system.
9 Assignments
0 Petitions
Accused Products
Abstract
One or more flow control modules, implemented on various types of network topologies, provide a number of functionalities for controlling the flow of IP packets (such as TCP/IP packets) over a network connection. The flow control modules may be implemented within a sender and/or receiver or may be deployed into a network as a separate device without requiring significant additional resources.
-
Citations
30 Claims
-
1. A method for communicating with a remote system using Internet Protocol (IP) via a computer network, the method comprising:
-
transmitting, by a flow control module configured on a device, a data packet to the remote system; retransmitting, by the flow control module, the data packet to the remote system; maintaining, by the flow control module, a transmit number identifying each transmission of the data packet; receiving, by the flow control module, an acknowledgement packet indicating that the data packet was received by the remote system, the acknowledgement packet identifying the transmit number in an IP identification (ID) field with a predetermined bit reversed for one of the transmission or the retransmission of the data packet; and associating, by the flow control module, the transmit number in the acknowledgement packet with either the transmission or the retransmission of the data packet, based on the transmit number identified via the IP identification field in the acknowledgement packet, thereby determining whether the transmission or the retransmission of the data packet was received and acknowledged by the remote system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for transmitting data packets to a receiver over a network, the method comprising:
-
transmitting, by a flow control module configured on a device, a plurality of data packets to the receiver; retransmitting, by the flow control module, a number of transmitted data packets responsive to an indication that the number of transmitted data packets were not received by the receiver; maintaining, by the flow control module, a unique transmit number for each instance of a transmitted or retransmitted data packet; receiving, by the flow control module, acknowledgements indicating that at least some of the data packets have been received, acknowledgements comprising the unique transmit number in the IP identifier (ID) field with a predetermined bit reversed for one of the transmission or the retransmission of the data packet; and disambiguating, by the flow control module, the received acknowledgements to determine for each ambiguous acknowledgement the instance of transmitted or retransmitted data packet to which the ambiguous acknowledgement relates. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computer readable medium for communicating with a remote system using Internet Protocol (IP) via a computer network, the computer-readable medium containing computer program code for instructing a flow control module on a device to perform the operations:
-
transmitting a data packet to the remote system; retransmitting the data packet to the remote system; maintaining a transmit number identifying each transmission of the data packet; receiving an acknowledgement packet indicating that the data packet was received by the remote system, the acknowledgement packet identifying the transmit number in an IP identification (ID) field with a predetermined bit reversed for one of the transmission or the retransmission of the data packet; and associating the transmit number in the acknowledgement packet with either the transmission or the retransmission of the data packet, based on the transmit number identified via the IP identification field in the acknowledgement packet, thereby determining whether the transmission or the retransmission of the data packet was received and acknowledged by the remote system. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A computer readable medium for transmitting data packets to a receiver over a network, the computer-readable medium containing computer program code for instructing a flow control module on a device to perform the operations:
-
transmitting a plurality of data packets to the receiver; retransmitting a number of transmitted data packets responsive to an indication that the number of transmitted data packets were not received by the receiver; maintaining a unique transmit number for each instance of a transmitted or retransmitted data packet; receiving acknowledgements indicating that at least some of the data packets have been received, acknowledgements comprising the unique transmit number in the IP identifier (ID) field with a predetermined bit reversed for one of the transmission or the retransmission of the data packet; and disambiguating the received acknowledgements to determine for each ambiguous acknowledgement the instance of transmitted or retransmitted data packet to which the ambiguous acknowledgement relates. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
Specification