Nova Patents
EP0903895A2

Multiple path routing

Abstract

A novel data structure in a router helps to compute viable next hops for forwarding a data packet from a router to its destination along multiple alternate loop-free paths, which are not necessarily of shortest distance. Each viable next hop may also be specified with a degree of optimality, which enables a route to perform QoS routing and fault-tolerant routing efficiently. The data structure can be implemented as an add-on software to existing routing protocols and may be implemented in existing networks which use shortest path protocols, even where less than all of the routers use the data structure and multiple path scheme described herein.

EP0903895A2, drawing sheet 1
Sheet 1 of 4

Term

Term ended

Projected expiry passed 25 August 2018, 8.1 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

8 claims: 4 independent, 4 dependent

  1. 1
    A method for routing a data packet from a router to a destination node in a packet switching network, said data packet originally from a source node in said packet switching network, said method comprising the steps of:determining one or more viable next hops from said router, each of said viable next hops lying on a path from said source node to said destination node, said path having a distance which decreases at each next hop along said path until said destination node;storing in a first memory means at said router said one or more viable next hops;and selecting a first one of said one or more viable next hops to forward said data packet.
  2. 2
    A method according to Claim 1 wherein each of said viable next hops are in a path from said destination whose shortest distance is less than the absolute shortest distance from said source node to said destination node.
  3. 3
    A method according to Claim 1 further comprising the step of selecting a second one of said one or more viable next hops if it is determined that a link failure exists along said path of said first viable next hops and a second viable next hop is stored in said first memory means.
  4. 4
    A method according to Claim 1 wherein each of said viable next hops leads to a loop free path from said source node to said destination node, but is not constrained to lead to a shortest path between said source node and said destination node.
  5. 5
    A method according to Claim 1 wherein said selecting steps are constrained to select a viable next hop leading to the shortest path as compared with all of said one or more viable next hops stored in said first memory means.
  6. 6
    A method for determining multiple loop free paths from a source node to a destination node in a packet switching network, said packet switching network comprising a plurality of routers, said method comprising the step of selecting at each of said routers, one or more viable next hops for forwarding a data packet originating from a source node, to a destination mode, each of said viable next hops constrained by the inequality that the distance from said next hop to said destination node is less than the shortest distance from said source node to said destination node.
  7. 7
    A router for use in a packet switching network for routing a data packet originating from a source node, to a destination node, comprising:a data structure comprising, the shortest distance from said router to a destination node;the distance to each next hop from said router;and for each of said next hops, the distance of the shortest path from said router to said destination node using said next hop;computer implemented means for determining one or more viable next hops from said data structure, each of said viable next hops satisfying the inequality that the difference between the distance from said router to said destination node traversing one of said viable next hops, and the cost from said router to said next hop is less than the shortest distance from said router to said destination node.
  8. 8
    A data structure for use in a router in a packet switching network, comprising:the shortest distance from said router to a destination node;the cost of each next hop from said router;and for each of said next hops, the distance of the shortest path from said router to said destination node using said next hop.