A method and apparatus for adjustment of TCP sliding window with
information about network conditions is disclosed. The present invention
obtains information from the network below TCP about the condition of the
network and traffic and uses this information to control the transmission
of the TCP source without any modifications to the existing TCP sources.
The invention includes the steps of receiving feedback information in an
acknowledgment packet, receiving a packet having an advertised window
field set to an original advertised window size for a sliding window, and
modifying the advertised window field to chose the size of the sliding
window in response to feedback information received in the acknowledgment
packet. The original advertised window size indicates the original size of
a sliding window for determining a number of bytes that can be sent before
an acknowledgment packet is received. The feedback information further
includes a window advertisement. The size of the sliding window includes
the minimum of the window advertisement and a congestion window. The
window advertisement specifies an increase to the size of the sliding
window. The increase includes an additional number of octets of data a
receiver is prepared to accept. The method further includes the steps of
calculating a modified advertised window size using the window
advertisement, comparing the modified advertised window size to an
original advertised window size and transmitting an acknowledgment
including the least of the modified advertised window size and the
original advertised window size.