×

Dynamic algorithm for determining a shortest path tree between network nodes

  • US 6,704,320 B1
  • Filed: 03/24/1999
  • Issued: 03/09/2004
  • Est. Priority Date: 03/24/1999
  • Status: Expired due to Fees
First Claim
Patent Images

1. A routing processor of a router for routing packet network based on a shortest path tree (SPT) defining paths between nodes in the network, the routing processor comprising:

  • an initialization module adapted to generate, for a current SPT, a temporary list of nodes in the network affected by a change in the weight of a link between two nodes in the network, wherein the change corresponds to the addition of a new link in the network or an increase or decrease in the weight of an existing link in the network;

    a node selection module adapted to select a node of the list in accordance with a maximum decrement criterion, the maximum decrement criterion identifying the node in the list having a most negative or a least positive associated distance change resulting from the change in the weight of the link;

    an update module adapted to update one or more paths in current SPT for nodes reachable from the selected node, wherein the selected node is removed from the list and zero, one, or more of the reachable nodes are added to the list;

    wherein the node selection module and the update module repeatedly select nodes and update paths until the list is empty to generate an updated SPT, the router thereby causing one or more packets to be routed in accordance with the updated SPT, wherein the initialization module is further adapted to define a temporary tree data structure for a current SPT, the temporary tree data structure including a set of edges interconnecting a root node with one or more nodes of the plurality of nodes, each node having associated parent and child nodes and associated distance attribute, and each edge corresponding to a link and having the associated weight of the link, wherein the initialization module is further adapted to generate the temporary list of one or more nodes effected by a change of an edge weight, each entry of the temporary list having the associated parent node, a new distance attribute resulting from the weight change, and a distance change, and wherein the update processor is further adapted to update the one or more paths defined in the temporary tree data structure by;

    (1) updating the parent and child nodes associated with the node selected in step (b), (2) updating, with the distance change, the distance attribute of the selected node and each descendent node of the selected node, (3) defining, if necessary, a new distance attribute and a distance change for each node receiving an edge from either the node selected in step (b) or a descendent node of the selected node, (4) adding to the temporary list each node receiving an edge in step (f) and the corresponding parent node, new distance attribute, and distance change, and (5) setting, when the temporary list is empty, the updated temporary tree data structure as the updated SPT.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×