Patent ID: 8982887
Filing Date: 2015-03-17
Classification: H04L

Abstract:
1. A method for routing, the method comprising: a first router receiving a message packet sent by a message sender; after said receiving the message packet, a first payload-based routing function of the first router receiving a routing policy specifying an identity of each message entity of a plurality of message entities and specifying at least one routing requirement for each message entity, each message entity comprising an application; after said receiving the routing policy, the first payload-based routing function of the first router reading a payload in the message packet; in response to said reading the payload, the first payload-based routing function of the first router determining that a first message entity of the plurality of message entities specified in the routing policy, said first message entity comprising the application that sent the message packet; in response to a determination that the message sender is the first message entity, the first payload-based routing function of the first router queuing a header-based routing function of the first router for identification of a multiplicity of routes having a fewest numbers of hops from the first router to a destination IP address specified in a header of the message packet; the first payload-based routing function of the first router determining a routing path as being one route of the multiplicity of routes that best satisfies the at least one routing requirement specified in the routing policy for the first message entity, the routing path comprising at least one other router disposed between the first router and a destination device for the message packet, said determining the routing path based at least in part on the identity of the first message entity; in response to said determining the routing path, the first router forwarding the message packet to a next router of the at least one other router in the routing path; determining whether the next router includes a second payload-based routing function; if the determination is made that the next router does not include the second payload-based routing function, then the first payload-based routing function of the first router broadcasting to the next router a route that the first router has selected for the destination Internet Protocol (IP) address in the message packet, wherein the next router will adopt the route as a best route to the destination IP address; and if the determination is made that the next router includes the second payload-based routing function, then the first payload-based routing function of the first router including with the message packet a specification of Quality of Service (QoS) or other routing criteria, wherein the next router selects one of the next router's routing queues or maximum latency to meet the QoS or other routing criteria.