Method and apparatus for performance and cost optimization in an internetwork
First Claim
1. A method of routing a data flow traversing one or more routers in an internetwork, wherein the one or more routers are coupled to a plurality of service provider access links, the method comprising:
- determining a prefix for the data flow, wherein the prefix corresponds to an application selectable from a plurality of applications;
calculating a plurality of application-specific performance scores for the plurality of service provider access links, each of the plurality of application-specific performance scores indicating performance for an application of a route from a router of the one or more routers to the prefix via a distinct service provider access link from the plurality of service provider access links;
detecting a current service provider access link for the prefix, the current service provider access link corresponding to a current route to the prefix specified by a routing protocol, the current service provider access link having an application-specific performance score from the plurality of service provider access links;
selecting a new service provider access link from the plurality of service provider access links for routing the data flow to the prefix, wherein the new server provider access link has a superior performance score from the plurality of application-specific performance scores superior to the performance score for the current service provider access link; and
implementing a route update request according to a priority queue, wherein the route update request corresponds to the superior performance score.
26 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are described for supporting routing intelligence for evaluating routing paths based on performance measurements. The routing intelligence may include processes executed in a self-contained device. This device may control one or more edge routers, based on performance data from end users. In other embodiments, the routing intelligence device may be used solely to monitor one or more edge routers, producing reports but not effecting any changes to routing. Routing decisions may be injected to the edge routers via BGP updates. The devices may be stationed at the premises of a multihomed organization, such as an enterprise, ISP, government organization, university, or other organization supporting a sub-network coupled to an internetwork. In other embodiments, the routing intelligence comprises processes executed on a router.
240 Citations
20 Claims
-
1. A method of routing a data flow traversing one or more routers in an internetwork, wherein the one or more routers are coupled to a plurality of service provider access links, the method comprising:
-
determining a prefix for the data flow, wherein the prefix corresponds to an application selectable from a plurality of applications; calculating a plurality of application-specific performance scores for the plurality of service provider access links, each of the plurality of application-specific performance scores indicating performance for an application of a route from a router of the one or more routers to the prefix via a distinct service provider access link from the plurality of service provider access links; detecting a current service provider access link for the prefix, the current service provider access link corresponding to a current route to the prefix specified by a routing protocol, the current service provider access link having an application-specific performance score from the plurality of service provider access links; selecting a new service provider access link from the plurality of service provider access links for routing the data flow to the prefix, wherein the new server provider access link has a superior performance score from the plurality of application-specific performance scores superior to the performance score for the current service provider access link; and implementing a route update request according to a priority queue, wherein the route update request corresponds to the superior performance score. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 19)
-
-
15. A method of routing from a source node to a group of destination nodes having a common prefix comprising:
-
a. generating a plurality of performance scores for a plurality of routes from the source node to the group of destination nodes, each performance score corresponding to an access link from one or more access links; b. determining a superior performance score from the plurality of performance scores; c. implementing a route update request according to a priority queue, wherein the route update request corresponds to the superior performance score, the priority queue prioritizes received route update requests according to urgency, and a rank of the update request for a prefix in the priority queue is dependent on a percent improvement of a performance score resulting from moving the prefix from its current route to a pending winner route; and d. configuring a router to select an access link corresponding to the route update request. - View Dependent Claims (16, 17)
-
-
20. A method of routing from a source node to a group of destination nodes having a common prefix comprising:
-
a. generating a plurality of performance scores for a plurality of routes from the source node to the group of destination nodes, each performance score corresponding to an access link from one or more access links, wherein a performance score from the plurality of performance scores is determined by unpacking the group into component prefixes in the event a change in a performance score for the group above a threshold level is determined and generating performance scores for each of the component prefixes; b. determining a superior performance score from the plurality of performance scores; c. implementing a route update request according to a priority queue, wherein the route update request corresponds to the superior performance score; and d. transmitting a routing change corresponding to the route update request to one or more routers along the routes to route data along an access link.
-
Specification