A method and apparatus for selectively using input/output (I/O) buffers as
a retransmit vehicle in a client/server system. The decision whether to
use an I/O buffer as a retransmit vehicle is based on a number of factors,
including the packet size, the expected round-trip time (RTT) for an
acknowledgment of the transmission, the number of I/O buffers currently
allocated, and the number of I/O buffers remaining. If the decision is
made not to use the I/O buffer as a retransmit vehicle, then the data is
copied into a send buffer that is maintained by the system for the
particular requester. Initially three threshold values, the round-trip
time (RTT) threshold, the critical threshold, and the tight buffer
threshold, are set. Connections having a longer round-trip time than a set
round-trip time threshold or connections made when the number of I/O
buffers remaining is below the critical threshold are not allowed to keep
the I/O buffer as a retransmission vehicle. If the number of I/O buffers
remaining falls below the critical threshold, a critical stabilization
interval is started. During a critical stabilization interval, the I/O
buffers may not be used as a retransmit vehicle if the number of I/O
buffers already allocated exceeds the tight buffer threshold, even if the
number of I/O buffers remaining is above the critical threshold. For each
I/O buffer, a use count is maintained of the number of packets in the
buffer awaiting acknowledgment. The use count is decremented each time an
acknowledgment is received for one of the packets in the I/O buffer. When
the use count has been decremented to zero, the I/O buffer is freed.
Een methode en een apparaat om input/output (I/O) buffers als selectief te gebruiken brengen voertuig in een cliënt/serversysteem opnieuw over. Het besluit of om een I/O buffer als te gebruiken voertuig opnieuw overbreng is gebaseerd op een aantal factoren, met inbegrip van de pakketgrootte, verwachte round-trip tijd (RTT) voor een erkenning van de transmissie, het aantal I/O momenteel toegewezen buffers, en het aantal van het I/O buffers blijven. Als het besluit wordt genomen om de I/O buffer niet te gebruiken aangezien voertuig opnieuw overbreng, dan wordt het gegeven gekopieerd in verzendt buffer die door het systeem voor de bijzondere aanvrager wordt gehandhaafd. Aanvankelijk drie drempelwaarden, de round-trip tijd (RTT) worden drempel, de kritieke drempel, en de strakke bufferdrempel, geplaatst. De verbindingen een langere round-trip tijd hebben dan een drempel van de reeks round-trip tijd of de verbindingen die maakten wanneer het aantal I/O buffers die onder de kritieke drempel niet wordt toegestaan is om de I/O buffer als wederuitzendingsvoertuig te houden blijven. Als het aantal I/O buffers die onder de kritieke drempel daalt blijven, is een kritiek stabilisatieinterval begonnen. Tijdens een kritiek stabilisatieinterval, kunnen de I/O buffers niet worden gebruikt aangezien voertuig opnieuw overbreng als het aantal I/O reeds toegewezen buffers de strakke bufferdrempel overschrijdt, zelfs als het aantal I/O buffers die boven de kritieke drempel is blijven. Voor elke I/O buffer, wordt een gebruikstelling van het aantal pakketten in de buffer gehandhaafd die op erkenning wacht. De gebruikstelling is decremented elke keer een erkenning wordt ontvangen voor één van de pakketten in de I/O buffer. Wanneer de gebruikstelling decremented aan nul is geweest, wordt de I/O buffer bevrijd.