Patent ID: 8005935

Claim:
A method for managing application performance on a network, the method including: generating a network graph from a set of application endpoints on the network, the network graph being indicative of a plurality of paths between the application endpoints, the plurality of paths each including a plurality of available resources on the network; annotating the network graph by associating one or more of the application endpoints with a corresponding latency annotation and a corresponding available bandwidth annotation, wherein the latency annotation includes one or more application performance constraints and the available bandwidth notation includes one or more capacity constraints; and formulating an end to end plan from the annotated network graph wherein the end to end plan maps one or more application requirements onto the plurality of paths in accordance with one or more end to end control adjustments; wherein the end to end control adjustments include a server selection adjustment, an internet service provider (ISP) selector, and an overlay routing adjustment; the server selection adjustment permitting selection of a server from a plurality of servers for each of a plurality of clients based upon a traffic demand for each of the plurality of clients and an available bandwidth between each of the plurality of clients and each of the plurality of servers, wherein the server selection adjustment determines one server from the plurality of servers for one client of the plurality of clients; the ISP selector permitting selection of a respective ISP for each of a plurality of corresponding client/server requests; and the overlay routing adjustment mapping a traffic demand for an application among a set of endpoints on the network.