US6920110B2

System and method for transferring data over a network

Summary by NHIP

Dynamic Data Block Transfer

The method transfers data by calculating block sizes based on monitored maximum network utilization. Block sizes are bounded by a maximum threshold derived from receiving device memory and a minimum threshold based on network packet header size.

Claim Score by NHIP

Read claim 9, the broadest

Abstract

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.

US6920110B2, drawing sheet 1
Sheet 1 of 8

Term

Term ended

Expired 21 March 2023, 3.5 years ago.

  1. Priority and filed
  2. Granted
  3. Expired
  4. Today

9 claims: 6 independent, 3 dependent

  1. 1
    A method of transferring a set of data over a network, the method comprising:monitoring the level of actual network bandwidth utilization;identifying a maximum monitored level of actual utilization;calculating a block size for a portion of the set of data to transfer as a function of the maximum monitored level of utilization, wherein said block size is adjusted according to said maximum level of actual utilization, the method comprising;bounding said block size between a maximum threshold value and a minimum threshold value;and receiving said block size portion of the Set of data over the network at one or more intervals.
  2. 3
    A method of transferring a set of data over a network, the method comprising:monitoring the level of actual network bandwidth utilization;identifying a maximum monitored level of actual utilization;calculating a block size for a portion of the set of data to transfer as a function of the maximum monitored level of utilization;receiving said block size portion of the set of data over the network at one or more intervals;increasing the size of the intervals when said block size is below a minimum threshold;and decreasing the size of the intervals when said block size exceeds a maximum threshold.
  3. 4
    A computer-readable medium having stored thereon one or more data structures, comprising:a first data field containing data representing a timestamp of when the level of actual network bandwidth utilization was monitored;and a second data field containing data representing a quantity of data that had passed through the network interface at a time corresponding to said time stamp.
  4. 7
    A method for computing block sizes in the transfer of a see of data over a network comprising:obtaining a network utilization rate at a plurality of intervals;computing an average of said network utilization rates, wherein said computed average is weighted by allocating a higher ratio to the more recently obtained network utilization rate;and computing a block size for a portion of the set of data to transfer during said intervals as a function of said average.
  5. 8
    A method for computing block sizes in the transfer of a set of data over a network comprising:obtaining a network utilization rate at a plurality of intervals;computing an average of said network utilization rates;and computing a block size for a portion of the set of data to transfer during said intervals as a function of said average, wherein said block size is directly proportional to the product of said average, the size of said interval and network availability.
  6. 9
    Broadest claimClaim Score 78, broad(NHIP)A method for computing block sizes in the transfer of a set of data over a network comprising;obtaining a network utilization rate at a plurality of intervals;computing an average of said network utilization rates;and computing a block size for a portion of the set of the data to transfer during said intervals as a function of said average, wherein said intervals have a size that is adjusted based on said computed block size.