Patent ID: 8051017

Claim:
A method implemented as software executing in one or more host processors, comprising: executing one or more processes that transfer data over a network as regular data transfers; implementing a virtual link control module that determines an aggregate traffic rate of the data transferred over the network by the regular data transfers and provides a virtual link through which the regular data transfers flow, wherein the virtual link includes a virtual queue that is filled or emptied in accordance with whether the aggregate traffic rate is greater than or less than, respectively, a specified bandwidth limit c l ; implementing a rate control module that regulates the data transfer rate x(t) of each of the regular data transfers based upon a calculated virtual queuing delay reflective of the extent to which the virtual queue is filled with data; executing one or more processes that transfer data over the network as preferred data transfers that meet a specified delivery deadline; executing the virtual link control module to determine a congestion cost to the regular data transfers as a result of the preferred data transfers; and, calculating a charge for the preferred data transfers as a price that is proportional to the difference between an actual data transfer rate attained by the regular data transfers (ADTR) and a nominally allocated data transfer rate (NADTR), multiplied by a time during which such difference occurs and the number of regular data transfers, where: a) NADTR=W1*c l /(W1*NR+W2*NP), where NR is the number of regular data transfers, NP is the number of preferred data transfers, W1 is a relative weighting reflective of the network bandwidth allocated to regular data transfers, and W2 is a relative weighting reflective of the network bandwidth allocated to preferred data transfers, and b) ADTR is the difference between the virtual link capacity c l and the sum of the data transfer rates of each preferred transfer, which difference is then divided by the number of regular data transfers NR.