Patent ID: 7389336

Claim:
In a computer network that includes a sending computing system and a receiving computing system, wherein the sending computing system transmits network packets to the receiving computing system, a method for the sending computing system pacing the transmission of the plurality of packets that are sent to the receiving computing system so as to reduce the chance that any of the network packets will be lost in the transmission, the method comprising the following performed by the sending computing system: an act of the sending computing system monitoring network events that primarily occur over one or more connections other than a first connection; an act of the sending computing system formulating a timer that is based primarily on the monitored network events that primarily occur over the one or more connection other than the first connection, wherein formulating a timer comprises: determining how many monitored network events should occur between sequential packets transmitted over the first connection: an act of the sending computing system, upon transmitting a first packet over the first connection, computing a value of the sending computer's cycle counter and storing the value; and an act of the sending computing system, upon detecting a monitored network event over the one or more connections other than the first connection, comparing a current value of the cycle counter to the stored value of the cycle counter and upon determining that the current value has reached the stored value, transmitting a second packet from the sending computing system to the receiving computing system over the first connection and such that the sending computing system directly controls the rate at which the packets are scheduled for transmission from the sending computing system to the receiving computing system to the receiving computing system, and wherein the second packet is transmitted only upon the occurrence of the determined of monitored events after the transmission of the first packet.