Available bandwidth utilization during transfer of large files over a TCP/IP
network is improved by load balancing data streams and dynamically controlling
the number of data streams utilized. A determination is made of the optimum number
of data streams for a particular data file transfer in the early stage of transmission.
An initial number of data streams, which is one unless otherwise specified or determined,
is used to transmit one or more file segments, each on a different data stream,
immediately followed by a second initial number of data streams, which is at least
two greater than the initial number of data streams, is used to transmit another
portion of the large data file. During each transmission, individual and aggregate
transmission bandwidths are determined. Responsive to a determination that the
latest aggregate transmission bandwidth is significantly different from the previous
aggregate transmission bandwidth, the number of data streams is modified.