1. A method of managing a network including a plurality of nodes and a plurality of applications of the nodes, the method comprising: configuring a plurality of nodes and a plurality of applications of the network to refer to the same framework of predefined network capabilities; configuring each of the applications to implement one or more of the capabilities; configuring each of the applications to negotiate, as to each of the one or more capabilities, with the nodes to obtain a network resource to support the one or more capabilities; and configuring each node to negotiate, after an application obtains a network resource, with other nodes to optimize network resource allocation.