A method is provided for transferring a set of data over a network by monitoring
the level of actual bandwidth utilization. In one embodiment, the method includes
identifying a maximum monitored level of actual utilization and calculating a size
for data blocks to be transferred as a function of the maximum monitored level
of utilization. The data blocks represent a segment of a set of data, such as a
software update that may be transferred or downloaded over the network without
interfering with other network activity at the network interface. The size of the
data blocks are bounded by a maximum and minimum threshold value. Computed block
sizes allow effective utilization of the network bandwidth while also allowing
an adaptation that supports a degree of responsiveness both on fast and slow networks.