Patent ID: 7668966

Claim:
A method for controlling a data flow on a network, wherein the network includes a plurality of network service providers (NSPs), the method comprising: comparing a candidate loss for a candidate NSP to a current loss for the current NSP, wherein the current NSP is currently used for routing the data flow and the candidate NSP is selected from the remaining ones of the plurality of NSPs; comparing a candidate latency for the candidate NSP to a current latency for the current NSP; if the candidate loss and the candidate latency for the candidate NSP are better than the current loss and the current latency for the current NSP, then comparing the candidate NSP to the other of the remaining ones of the plurality of NSPs by: determining a best latency of the remaining ones of the NSPs; determining a best loss of the remaining ones of the NSPs; for those remaining ones of the NSPs that have the best latency and the best loss, determining a greatest available bandwidth of the remaining ones of the NSPs; for those remaining ones of the NSPs that have the greatest available bandwidth, determining a least next cost tier; for those remaining ones of the NSPs that have the least next cost tier, determining a lowest identifier; and assigning a change value so that the data flow is moved from the current NSP to the remaining one of the NSPs that has the lowest identifier.