Patent ID: 7672229

Claim:
A method for dynamically allocating link bandwidth on a Resilient Packet Ring having a plurality of nodes, which is based on fairness bandwidth calculation per advertisement interval, comprising the following steps in one advertisement interval: measuring an add rate which is a byte count for local packets added onto the ring by at least one of the nodes for fairness eligible packets, a total_add_rate which is a total byte count for local packets added onto the ring by at least one of the nodes, an fw_rate which is a byte count for transit packets on the ring for the fairness eligible packets, and a total_fw_rate which is a total byte count for transit packets on the ring; the counts being related to data packets on each node of the Resilient Packet Ring; calculating a local fair rate of each node on the Resilient Packet Ring using the measured counts; determining an advertising rate of each node on the Resilient Packet Ring based on the local fair rate and an advertising rate provided by a downstream node; and each node on the Resilient Packet Ring transmitting data packets with the determined advertising rate; wherein the step of calculating a local fair rate of each node on the Resilient Packet Ring using the measured counts comprises: calculating an idle rate=link_rate−total_add_rate−total_fw_rate, wherein the link_rate is a byte count in one advertisement interval at a full link rate; and if idle_rate is less than an idle_rate_threshold, wherein the idle_rate_threshold is set to 0.01 or less: acc_idle=(α−1)*acc_idle/α, otherwise, acc_idle=acc_idle+idle_rate/β acc_idle=min(acc_idle, unreserved_rate), wherein the acc_idle is substantially the integral of the idle rate, and its value is no more than the unreserved rate, which is the unreserved link rate; and calculating a local fair rate=(δ−1)*local_fair_rate/δ+add_rate(δ*weight)+acc_idle/δ, wherein, the weight is the station weight for a weighted fairness algorithm.