Patent ID: 8094575

Claim:
A method comprising: determining, with a first router, first service information that describes a first set of acceleration services provided by a first service engine included within the first router; receiving, with the first router, a routing protocol message having second service information that describes a second set of acceleration services provided by a second service engine included within a second router; receiving, with the first router, a packet, wherein the packet identifies a destination to which the packet is destined; classifying, with the first router, the packet to determine a software application to which the packet corresponds; identifying, with the first router, at least one of the first set of accelerations services to apply to the packet based on the determined software application to which the packet corresponds; determining, with the first router, whether the second set of acceleration services described by the second service information shares the identified at least one of the first set of acceleration services; based on the determination, invoking a protocol on the first router to select a path through a network that includes the second router, wherein the path includes a plurality of next hops from the first router to the destination, and wherein the first router selects the path through the network so that the second router is positioned along the path between the first router and the destination; based on the determination, applying, with the first service engine of the first router, the at least one shared acceleration service to the packet in order to accelerate delivery of the packet; and forwarding, with the first router, the packet along the determined path such that the second service engine of the second router along the path applies the at least one shared acceleration service to reconstruct the packet forwarded via the path.