Patent ID: 7206855

Claim:
A system for electronically exchanging a message comprising a plurality of message segments via a computer network between a first computer operative to send message segments over the computer network and a second computer operative to receive the message segments over the computer network, the system comprising: a data exchange server, functionally coupled to the computer network, operative to manage each message exchanged by the first computer and the second computer via the computer network the data exchange server, comprising: a storage device, operative to store the message segments of each message exchanged via the computer network; a send service, operative to receive the message segments sent by the first computer via the computer network and to store the message segments in the Storage device; and a reader service, for each message segment received by the send service and to be sent to the second computer, evaluating current network throughput based upon the amount of time taken to send a previous message segment, calculating, at a reader service, a transmission rate at which to send the message segment based upon the current network throughput, wherein calculating comprises: selecting a weight factor, wherein the weight factor controls how quickly the calculated transmission rate, calculated by the reader service, reacts to a change in the network throughput; selecting a target transmission rate at which to desirably send the message segment to the receive client; calculating an actual transmission rate at which the previous message segment was sent to the receive client; multiplying the weight factor by a difference between the actual transmission rate and the target transmission rate to arrive at a weighted result; adding the target transmission rate to the weighted result; and pushing the message segment at the calculated transmission rate to the receive client.