Method and apparatus for transparent negotiations
First Claim
Patent Images
1. A method for negotiating network characteristics between a first endpoint and a second endpoint on a network connection, the method comprising steps of:
- receiving, at the second endpoint, at least one negotiation request from the first endpoint, the at least one negotiation request seeking to alter a present state of the network characteristics, wherein the at least one negotiation request is transmitted within a TCP header of a first data packet sent by the first endpoint to the second endpoint by;
encoding the at least one negotiation request within a sequence number field of the TCP header of the first data packet; and
setting a portion of an urgent pointer field of the TCP header of the first data packet to a bit pattern that indicates that the sequence number field and the urgent pointer field contain negotiation data,wherein an urgent bit in the TCP header of the first data packet is not set;
responding, by the second endpoint, to the at least one negotiation request, when the second endpoint is aware of the at least one negotiation request, wherein the responding comprises;
recognizing the bit pattern in the urgent pointer field, with the urgent bit not set; and
executing at least one requested negotiation; and
acknowledging the at least one negotiation request by modifying an urgent pointer field in a TCP header of a second data packet sent from the second endpoint to the first endpoint, wherein the modifying comprises setting a portion of the urgent pointer field in the TCP header of the second data packet to a bit pattern that indicates that the at least one negotiation request will be fulfilled and wherein an urgent bit in the TCP header of the second data packet is not set; and
maintaining, by the second endpoint, the present state of the network characteristics, when the second endpoint is not aware of the negotiation request,wherein the at least one negotiation request, and a response to the at least one negotiation request, are transmitted within transmission control protocol (TCP) headers of data packets sent between the first endpoint and the second endpoint.
0 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, the present invention is a method and apparatus for transparent TCP negotiations. In one embodiment, endpoint machines (e.g., clients and servers) negotiate network characteristics through use of TCP header fields, which provide backward capability. Negotiations may be requested or initiated by either endpoint, and if the receiving endpoint is not capable of negotiating, the existing TCP connection will continue to operate as normal.
-
Citations
19 Claims
-
1. A method for negotiating network characteristics between a first endpoint and a second endpoint on a network connection, the method comprising steps of:
-
receiving, at the second endpoint, at least one negotiation request from the first endpoint, the at least one negotiation request seeking to alter a present state of the network characteristics, wherein the at least one negotiation request is transmitted within a TCP header of a first data packet sent by the first endpoint to the second endpoint by; encoding the at least one negotiation request within a sequence number field of the TCP header of the first data packet; and setting a portion of an urgent pointer field of the TCP header of the first data packet to a bit pattern that indicates that the sequence number field and the urgent pointer field contain negotiation data, wherein an urgent bit in the TCP header of the first data packet is not set; responding, by the second endpoint, to the at least one negotiation request, when the second endpoint is aware of the at least one negotiation request, wherein the responding comprises; recognizing the bit pattern in the urgent pointer field, with the urgent bit not set; and executing at least one requested negotiation; and acknowledging the at least one negotiation request by modifying an urgent pointer field in a TCP header of a second data packet sent from the second endpoint to the first endpoint, wherein the modifying comprises setting a portion of the urgent pointer field in the TCP header of the second data packet to a bit pattern that indicates that the at least one negotiation request will be fulfilled and wherein an urgent bit in the TCP header of the second data packet is not set; and maintaining, by the second endpoint, the present state of the network characteristics, when the second endpoint is not aware of the negotiation request, wherein the at least one negotiation request, and a response to the at least one negotiation request, are transmitted within transmission control protocol (TCP) headers of data packets sent between the first endpoint and the second endpoint. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 16, 17, 18, 19)
-
-
9. A non-transitory computer readable storage device containing an executable program for negotiating network characteristics between a first endpoint and a second endpoint on a network connection, where the program performs steps of:
-
receiving, at the second endpoint, at least one negotiation request from the first endpoint, the at least one negotiation request seeking to alter a present state of the network characteristics, wherein the at least one negotiation request is transmitted within a TCP header of a first data packet sent by the first endpoint to the second endpoint by; encoding the at least one negotiation request within a sequence number field of the TCP header of the first data packet; and setting a portion of an urgent pointer field of the TCP header of the first data packet to a bit pattern that indicates that the sequence number field and the urgent pointer field contain negotiation data, wherein an urgent bit in the TCP header of the first data packet is not set; responding, by the second endpoint, to the at least one negotiation request, when the second endpoint is aware of the at least one negotiation request, wherein the responding comprises; recognizing the bit pattern in the urgent pointer field, with the urgent bit not set; and executing at least one requested negotiation; and acknowledging the at least one negotiation request by modifying an urgent pointer field in a TCP header of a second data packet sent from the second endpoint to the first endpoint, wherein the modifying comprises setting a portion of the urgent pointer field in the TCP header of the second data packet to a bit pattern that indicates that the at least one negotiation request will be fulfilled and wherein an urgent bit in the TCP header of the second data packet is not set; and maintaining, by the second endpoint, the present state of the network characteristics, when the second endpoint is not aware of the negotiation request, wherein the at least one negotiation request, and a response to the at least one negotiation request, are transmitted within transmission control protocol (TCP) headers of data packets sent between the first endpoint and the second endpoint. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method for negotiating network characteristics on a network connection, the method comprising steps of:
-
transmitting, by a first endpoint on the network connection, a first data packet containing at least one negotiation request to a second endpoint on the network connection, where the at least one negotiation request seeks to alter a present state of the network characteristics, wherein the at least one negotiation request is transmitted within a TCP header of a first data packet sent by the first endpoint to the second endpoint by; encoding the at least one negotiation request within a sequence number field of the TCP header of the first data packet; and setting a portion of an urgent pointer field of the TCP header of the first data packet to a bit pattern that indicates that the sequence number field and the urgent pointer field contain negotiation data, wherein an urgent bit in the TCP header of the first data packet is not set; receiving, by the first endpoint, a second data packet from the second endpoint in response to the first data packet, wherein the second endpoint recognizes the bit pattern in the urgent pointer field, with the urgent bit not set, and executes at least one requested negotiation; maintaining, by the first endpoint, the present state of the network characteristics, when the second data packet does not acknowledge the at least one negotiation request; and modifying, by the first endpoint, at least one network characteristic in accordance with one or more instructions in the second data packet, when the second data packet acknowledges the at least one negotiation request by modifying an urgent pointer field in one of the TCP headers of a second data packet sent from the second endpoint to the first endpoint, wherein the modifying comprises setting a portion of the urgent pointer field in the TCP header of the second data packet to a bit pattern that indicates that the at least one negotiation request will be fulfilled and wherein an urgent bit in the TCP header of the second data packet is not set, wherein the at least one negotiation request is transmitted within a transmission control protocol (TCP) header of the first data packet and the one or more instructions are transmitted within a TCP header of the second data packet.
-
-
15. A method for negotiating network characteristics on a network connection, the method comprising steps of:
-
receiving, by a first endpoint on the network connection, a first data packet containing at least one negotiation request from a second endpoint on the network connection, where the at least one negotiation request seeks to alter a present state of the network characteristics, wherein the at least one negotiation request is transmitted within a TCP header of a first data packet sent by the second endpoint to the first endpoint by; encoding the at least one negotiation request within a sequence number field of the TCP header of the first data packet; and setting a portion of an urgent pointer field of the TCP header of the first data packet to a bit pattern that indicates that the sequence number field and the urgent pointer field contain negotiation data, wherein an urgent bit in the TCP header of the first data packet is not set; responding, by the first endpoint, to the at least one negotiation request by sending a second data packet to the second endpoint, the second data packet containing one or more instructions in accordance with the at least one negotiation request, when the first endpoint is aware of the at least one negotiation request, wherein the responding further comprises; recognizing the bit pattern in the urgent pointer field, with the urgent bit not set; and executing at least one requested negotiation; acknowledging the at least one negotiation request by modifying an urgent pointer field in a TCP header of a second data packet sent from the first endpoint to the second endpoint, wherein the modifying comprises setting a portion of the urgent pointer field in the TCP header of the second data packet to a bit pattern that indicates that the at least one negotiation request will be fulfilled and wherein an urgent bit in the TCP header of the second data packet is not set; and maintaining, by the first endpoint, the present state of the network characteristics, when the first endpoint is not aware of the at least one negotiation request, wherein the at least one negotiation request is transmitted within a transmission control protocol (TCP) header of the first data packet and the one or more instructions are transmitted within a TCP header of the second data packet.
-
Specification