WO2004001621A2 - Fibonacci heap for use with internet routing protocols - Google Patents
Fibonacci heap for use with internet routing protocols Download PDFInfo
- Publication number
- WO2004001621A2 WO2004001621A2 PCT/US2003/019674 US0319674W WO2004001621A2 WO 2004001621 A2 WO2004001621 A2 WO 2004001621A2 US 0319674 W US0319674 W US 0319674W WO 2004001621 A2 WO2004001621 A2 WO 2004001621A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- fibonacci
- nodes
- candidate list
- processing
- link
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
Definitions
- the present application relates to Fibonacci heaps and, in particular to a specialized Fibonacci heap concept that is suited for application to Internet link-state protocols that use a Dijkstra-like algorithm to determine shortest paths through a portion of a computer network.
- Internet is a fixed-length piece of data that is individually routed hop-by-hop from source to destination.
- the action of routing a packet means that each router along the path examines header information in the packet and a local database in order to forward the packet to its next hop.
- This local database is typically called the Forwarding Information Base or FIB.
- Entries in the FIB usually structured as a table, determine to where packets are forwarded.
- the FIB is derived from a collective database called a Routing Information Database or RIB. This RIB is a collection of all the routing information the router "knows"; an algorithm maps the entries (routes) in the RIB to those in the FIB, which is used for forwarding.
- the RIB is typically built in two ways, which may be used together: (a) static configuration, and (b) dynamic routing protocols. These protocols may be further subdivided into two groups based on the part of the Internet in which they operate: exterior gateway protocols, or EGPs, are responsible for the dissemination of routing data between autonomous administrative domains, and interior gateway protocols, or IGPs, are responsible for dissemination of routing data within a single autonomous domain. Furthermore, two types of IGPs are in widespread use today: those that use a distance- vector type of algorithm and those that use the link-state method. This description addresses the application of an algorithm to optimize a computation performed in the operation of link-state IGPs.
- one or more shortest paths is determined through a portion of a computer network, from a source vertex to one or more destination vertices according to a link-state protocol.
- a graph representation of the network portion is processed.
- the graph representation includes nodes and edges representing the vertices and connections therebetween.
- the processing includes operating on the graph representation according to a Djkstra-like algorithm.
- a subset of the Djkstra-like algorithm processing includes candidate list processing, to maintain and operate upon a candidate list of nodes that have been visited in the Djkstra-like algorithm processing.
- the candidate list processing is optimized relative to standard Djkstra algorithm processing for the link-state protocol.
- the optimized candidate list processing may be, for example, such that the candidate list processing operates on a candidate list of nodes that is stored in a generic format, as a Fibonacci heap of Fibonacci nodes in a generic format that is independent of the link-state protocol.
- the candidate list processing may be accessible via a generic application programming interface.
- the candidate list processing is useable for various link-state protocols, including various link-state routing protocols such as OSPF and IS-IS.
- Figure 1 broadly illustrates a data structure and shortest-path computation of a Dijkstra-like algorithm.
- Figure 2 illustrates in greater detail how the shortest path computation interfaces with a generic Fibonacci heap implementation of a candidate list.
- Figure 3 illustrates the "generic" quality of the Figure 2 candidate list implemented as a Fibonacci heap.
- Figure 4 illustrates a framework for one node entry of the Fibonacci heap candidate list.
- Figure 5 illustrates a top-level structure of the Figure 2 Fibonacci heap candidate list.
- Figure 6 illustrates a general layout of an instance of the Figure 5 structure.
- Figure 7 illustrates an initialization operation of the Figure 5 structure.
- Figure 8 illustrates an insert operation of the Figure 5 structure.
- Figures 9 through 12 illustrate an extract minimum operation of the Figure 5 structure.
- Figures 13 through 16 illustrate a relax key operation of the Figure 5 structure.
- Figure 17 illustrates a structure representing a candidate list referred to by section 16.1 of RFC 2328 for the OSPF Internet link-state protocol.
- Figure 18 illustrates a structure representing a TENT list according to an IS ⁇
- An object represented by a link-state protocol is either a multi-access network or a router.
- Networks may be connected to routers, but not to other networks.
- Routers may be connected to networks (by multi-access interfaces) or other routers (by different classes of point-to-point interfaces).
- Computer networks are a special case implementation of an abstract mathematical structure called a graph. That is, the graph represents the topology of the network.
- Link-state protocols allow routers to store an internal representation of the graph in a domain.
- the graph includes vertices and edges, where vertices are either hosts (end systems that do not route packets not locally originated or destined) or routers (systems that may route packets to a "next hop"). Each edge connects a pair of vertices.
- the IGP protocols define, at least broadly, four primary features: ⁇ Operation of flooding link-state information. ⁇ Structure of link-state information. ⁇ Algorithm for computing a shortest path tree. ⁇ Sub-protocols for neighbor acquisition and database synchronization, packet formats for communication.
- Each router floods an "advertisement" (LSA, or link-state advertisement) describing its local connectivity.
- the protocol defines a flooding mechanism aimed at ensuring the data is transmitted throughout the domain, giving each participant the same view of the network.
- a standard algorithm is used to compute a shortest path tree on the resulting graph. This allows hop-by-hop routing to function, as all routers will have the same idea about what the shortest paths are in the network.
- each protocol defines how the graph is represented and how to compute shortest path trees.
- Shortest typically means “least cost” where cost is determined using appropriate criteria (such as physical distance).
- appropriate criteria such as physical distance
- an implementation of an abstract algorithm is used to optimize the Dijkstra-like algorithm to the candidate list of routers and networks described in Internet link-state protocols.
- Each routing protocol uses a corresponding algorithm to compute a shortest path tree.
- the use of the Fibonacci heap greatly improves the speed of the computation, allowing the algorithm to be run more often and with fewer restrictions.
- a generalized implementation of a Fibonacci heap is specially tailored for the algorithms used in Internet link-state protocols.
- OSPF and IS-IS this is the candidate list used in section 16.1 of RFC 2328 (OSPF Version 2) and section C.2.4 of ISO 10589 (Intermediate system to Intermediate system intra-domain routeing information exchange protocol for use in conjunction with the protocol for providing the connectionless-mode Network Service (ISO 8473)).
- ISO 10589 Intermediate system to Intermediate system intra-domain routeing information exchange protocol for use in conjunction with the protocol for providing the connectionless-mode Network Service (ISO 8473)
- API application programming interface
- the API is tailored to the specific needs of the shortest path computation in OSPF and IS-IS, for example.
- ⁇ Implementation of the algorithm's data structures so that the algorithm may operate genetically on any link-state protocol objects (routers and networks in OSPF and IS-IS, for example).
- ⁇ Minimize or avoid recursion. Recursion is particularly disadvantageous on systems with limited stack space.
- the generalized API includes the following operations:
- the API may operate on OSPF (Router and Network LSAs) or IS-IS (LSPs and Pseudonode LSPs) without code modifications; the API accepts generic descriptions of these structures (a "node”) and operates on each in the same way, regardless of what the nodes represent. This allows the API to be used for multiple purposes, for example, in both OSPF and IS-IS.
- the maximum sized auxiliary array is allocated according to a parameter to the initialization function.
- a data structure is provided as a general way of representing a piece of link-state information: for example, an OSPF Router LSA or Network LSA.
- This structure contains information specific only to the Fibonacci heap.
- a node may be offset or otherwise referenced into a protocol-specific data structure, such as an LSA representation, by giving a value specifying an offset or other reference of the heap "key" to the initialization API call. This allows further operations to reference the key of the node without awareness of the protocol-specific data structures. The operations use the offset into the protocol-specific data structures to access data that is strictly related to the heap.
- a recursive implementation of this algorithm can be impractical due to the limited amount of stack space on many systems. This implementation uses an iterative version of the "cutting" component of the Fibonacci heap algorithm.
- OSPF Open Shortest
- Path First utilize a candidate list of nodes representing a set of vertices that have been visited in the Dijkstra-like computation.
- Each node contains some key which is a numeric value, for example, representing the currently-computed least cost from the source to the vertex represented by that node.
- a comparison function is stored in the Fibonacci heap instance structure. This function is called with two arguments, which are references to the keys of two nodes to be compared. The function returns 0, -1 or 1 to indicate the first key is equal to, lesser than or greater than the second key, respectively. Operations performed on the list may be summarized as initialization, insert, extract-minimum, and relax-key. [0031] With the application of the specialized Fibonacci heap structure, the
- Dijkstra-like algorithm used to compute shortest path trees runs with O(V lg V + E) complexity, resulting in improved IP network scalability.
- an algorithm and data structure are applied to the representation of a critical piece of the Dijkstra-like algorithm: the candidate list.
- the application of this algorithm and data structure results in increased scalability in link-state Internet routing protocols by making the shortest path (Dijkstra-like) computation more efficient.
- Figure 1 shows an example of the functional placement of the algorithm and data structure.
- Figure 2 illustrates how the shortest path computation interfaces with a generic Fibonacci heap implementation.
- the computation takes as input a set of nodes representing vertices discovered through the flooding process, and outputs a set of shortest path(s) through the network.
- Figure 3 illustrates the "generic" element of the implementation. That is, all
- IS-IS LSPs and OSPF LSAs and nodes are treated as Fibonacci heap nodes when passed through the API.
- the heap may serve multiple protocols, while at the same time minimizing complexity.
- Each vertex in the graph that has been discovered in the Dijkstra-like computation has an associated node entry in the candidate list, as illustrated in Figure 4. Each field is further explained in Table 1. Each node is part of a circle queue of siblings and maintains a pointer to its parent.
- the candidate list is represented by the Fibonacci heap top-level structure as illustrated in Figure 5, which represents an instance of a heap.
- One such structure is instantiated per list instance, for example, for each instance of a link-state protocol.
- a pointer to the circle queue of root nodes is maintained, which is the point of access to the list.
- the purpose of each field is explained in Table 2. In the description, field names and variable names are shown in bold.
- moving a node to the root circle queue is accomplished by setting its fn_parent field to zero in addition to adding it to the queue pointed to by f_min of the owning heap.
- API via which the Fibonacci heap structures are manipulated.
- variable names are shown in bold in addition to field names being shown in bold.
- API Definition fibheap_init(heap, data_offset, key_offset, maxbits, comparison_function) [0041] Parameters heap - a pointer to the tree structure that represents an instance of a Fibonacci heap (see Figure 5).
- data_offset - the offset of a pointer in the node that contains the data.
- key_offset the offset of a pointer in the node that contains the key.
- This parameter may be zero, indicating that the key is an offset into the node itself maxbits - The maximum number of bits in any key, or the base-2 log of the maximum key.
- comparison_function - a pointer to a function used to compare two keys, which returns a value less than, equal to, or greater than zero indicating the relationship between the first and second key.
- API Definition fibheap_insert(tree, node) [0045] Parameters tree - a pointer to the heap instance structure (see Figure 5). node - a pointer to a node structure (see Figure 4). [0046] Procedure
- the heap is consolidated using the following procedure: a The buffer of size maxbits pointers (see Figure 5) is initialized to zero. b. The root circle queue is walked, setting the Nth entry in the array to point to a parent if its degree is N. c. If there already exists an entry in N for this degree, then the heaps are merged, keeping the heap property (i.e., no child can be greater than its parent). i. When this occurs, the new heap of degree N+l is now referenced by the N+l entry in the array. d. At the end of this procedure, the nodes referenced by the array form the root circle queue.
- node is moved to the root list.
- pnode is set to the parent of the node that was moved before its parent pointer was cleared. a) If pnode is not set to a valid node, the procedure terminates. b) If pnode' s mark is not set, its mark is set and the procedure terminates. c) Else, pnode is moved to the root queue and its mark is cleared and pnode is set to the parent of pnode.
- Figures 13-16 illustrate an iterative definition of a relax key operation of the
- Figure 5 structure. This provides for a loop invariant of pnode, namely the parent of the node that was just examined. Having a single, looping procedure instead of the recursive definitions described below is advantageous in computing environments with limited resources.
- the determination of minimum weight spanning trees is a well-known graph problem.
- Widely proposed solutions to this problem include the Bellman-Ford 1 , D'Esopo- Pape 2 , and Dijkstra 3 algorithms.
- the Dijkstra algorithm is the basis for the routing computation in Internet link-state routing protocols, and is referred to here as the "Dijkstra- like" algorithm because each protocol defines a specific way of applying the algorithm.
- Fredman and Tarjan 4 proposed a Fibonacci heap as a new way of storing the candidate list used in the Dijkstra, and it is proposed that this improves the algorithm's theoretical worst- case bounds 5 to O(V lg V + E).
- Fibonacci heaps are conventionally not useful in practice because they are complicated and slow. This may be summarized as: [0064] "From a practical point of view, however, the constant factors and programming complexity of Fibonacci heaps make them less desirable than ordinary binary (or k-ary) heaps for most applications. Thus, Fibonacci heaps are predominantly of theoretical interest. If a much simpler data structure within the same amortized time bounds as Fibonacci heaps were developed, it would be of great practical use of well.” 8 [0065] We have addressed the practical limitations generally described as
- auxiliary array which stores at least D ma pointers to nodes, where D max is equal to the maximum log of the set of keys used.
- D max is equal to the maximum log of the set of keys used.
- the "cut" operation performed in the extract-minimum operation of the generalized API, effectively recursively examines the parent node to see if that node needs to be moved to the root queue.
- the example implementation sets the parent pointer of the roots on the node list to NULL, such that an iterative function may operate on ancestor nodes using a set parent pointer as a loop invariant.
- the "programming complexity" has been reduced and modularized for Internet link-state routing protocol domain, so improving the efficiency by which implementation can be utilized.
- the conventional Fibonacci heap does not provide efficient support for node lookup based on cost or other keys. This is utilized for example, in part (2) step (d) of the routing computation in OSPF, as the candidate list node entry for a vertex is retrieved (i.e., it is determined whether there is a node entry on the candidate list for the vertex).
- step (d) of the routing computation in OSPF as the candidate list node entry for a vertex is retrieved (i.e., it is determined whether there is a node entry on the candidate list for the vertex).
- the "extract min” operation may take longer than the insert or relax-key operations because of the tree consolidation that occurs immediately afterwards. While this may negatively affect some applications, notably those that need generally some guaranteed bounds on the components of the Dijkstra-like computation, it is not an issue for the domain of link-state routing protocols since the computation typically occurs all at once, if even for only a part of the spanning tree.
- the candidate list referred to by section 16.1 of RFC 2328 is represented by a relatively simple structure shown in Figure 17; the purpose of each field of the structure is explained in Table 3.
- the vertex_t structure represents a single OSPF LSA. This structure contains a pointer back to the cdtlist_t that represents this LSA in the heap. Since the heap does not support efficient lookup, this pointer provides for increased performance.
- the word node is used in this description interchangeably with LSA, meaning each node in the Fibonacci heap represents an LSA encountered in the shortest-path computation.
- OSPF operating-frequency filter
- RFC 2328 The operations used by OSPF in section 16.1 are initialization, insert, extract- minimum, and relax-key. These are used in the example implementation of section 16.1 of RFC 2328 as follows.
- step 1 initialization is used to initialize the data structures used for the candidate list.
- step 2 part (d), bullet 3, if the cost D is less than the current cost for vertex W on the candidate list, relax-key is used to adjust the cost of W on the list. If W does not have an entry, insert is used to insert an entry for W on the list. [0078] In step 3, the node in the candidate list with the least cost is chosen. The extract-minimum operation is used to extract the node entry in the candidate list with the smallest key.
- the example Fibonacci heap algorithm is applied to a specific component of the specialized process in OSPF used to calculate IP routes.
- the use of the algorithm for the optimization of the algorithm in Section 16.1 of RFC 2328 results in dramatic scalability improvements and improved operational performance in an OSPF implementation by reducing the amount of time required to compute IP routes in an OSPF area.
- IS-IS Intermediate System to Intermediate System
- the IS-IS protocol is a link-state protocol that uses mechanisms similar to those used in OSPF.
- the IS-IS protocol is described in ISO Standard 10589.
- Link-state information is flooded in the form of LSPs (Link-State Packets).
- IS-IS uses a two-level routing hierarchy, dividing the domain into separate levels.
- the shortest path computation is run independently for level 1 and level 2.
- the results of these computations are used for the same purpose as in OSPF - to maintain forwarding state.
- a destination (network or router) discovered in the shortest path computation is an entry in TENT.
- the dhjfnode field maintains the state of the destination with respect to
- a global counter is incremented before each iteration of the shortest path algorithm.
- a destination When a destination is placed in TENT its dh_fnode field is set to the value of the counter.
- a destination represents, among other things not relevant to this description, any type of vertex found in the graph (a network or router). Each vertex has its own
- Fibonacci heap node represented in the dh_fnode field.
- TENT and PATHS Two sets of vertices are maintained: TENT and PATHS.
- the candidate list used in OSPF is loosely analogous to TENT in IS-IS; it contains the set of vertices to which it is not known if the shortest path has been discovered.
- the set of vertices (LSPs) in TENT is manipulated in the following parts of the algorithm described starting in section C.2.4: 1) In C.2.5 Step 0, the TENT list is initialized to zero.
- a vertex may have its key (metric) changed.
- part (a) the minimum cost vertex is extracted from TENT.
- a vertex may be placed into TENT.
- Some benefits of the application of the modified Fibonacci heap algorithm and data structure to the IS-IS TENT list are: ⁇ The time required to run the algorithm defined in section C.2.4 to completion is significantly decreased in the presence of a large IS-IS topology, ⁇ Due to the decreased running time of the computation, the results may generally be computed more often (leading to more accurate forwarding state) or be given less restrictions (such as being allowed to run without interruption).
- the Fibonacci heap algorithm is applied to a specific component of the specialized process in link-state protocols such as the IS-IS link-state routing protocol, used to calculate IP routes.
- link-state protocols such as the IS-IS link-state routing protocol
- the use of the algorithm for the optimization of the algorithm in Section C.2.4 of ISO 10589 results in dramatic scalability improvements and improved operational performance in an IS-IS implementation by reducing the amount of time to compute IP routes in an IS-IS level.
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/506,596 US7343424B2 (en) | 2002-06-21 | 2003-06-20 | Fibonacci heap for use with internet routing protocols |
JP2004516101A JP2005531222A (en) | 2002-06-21 | 2003-06-20 | Fibonacci heap for using internet routing protocol |
EP03761232A EP1535184A2 (en) | 2002-06-21 | 2003-06-20 | Fibonacci heap for use with internet routing protocols |
AU2003243721A AU2003243721A1 (en) | 2002-06-21 | 2003-06-20 | Fibonacci heap for use with internet routing protocols |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US39057602P | 2002-06-21 | 2002-06-21 | |
US60/390,576 | 2002-06-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2004001621A2 true WO2004001621A2 (en) | 2003-12-31 |
WO2004001621A3 WO2004001621A3 (en) | 2004-02-12 |
Family
ID=30000573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2003/019674 WO2004001621A2 (en) | 2002-06-21 | 2003-06-20 | Fibonacci heap for use with internet routing protocols |
Country Status (6)
Country | Link |
---|---|
US (1) | US7343424B2 (en) |
EP (1) | EP1535184A2 (en) |
JP (1) | JP2005531222A (en) |
KR (1) | KR20050040868A (en) |
AU (1) | AU2003243721A1 (en) |
WO (1) | WO2004001621A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8159944B2 (en) | 2008-12-24 | 2012-04-17 | At&T Intellectual Property I, L.P. | Time based queuing |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7468952B2 (en) * | 2005-11-29 | 2008-12-23 | Sony Computer Entertainment Inc. | Broadcast messaging in peer to peer overlay network |
US7696908B2 (en) * | 2006-01-04 | 2010-04-13 | Hitachi Global Storage Technologies Netherlands, B.V. | Techniques for reducing error propagation using modulation codes having a variable span |
US7593341B1 (en) * | 2006-06-08 | 2009-09-22 | At&T Corp. | Method and apparatus for updating a shortest path graph |
JP4820781B2 (en) * | 2007-06-26 | 2011-11-24 | Kddi株式会社 | Route management apparatus and computer program |
US20110238493A1 (en) * | 2010-03-29 | 2011-09-29 | Yahoo! Inc. | Efficient ad selection in ad exchange with intermediaries |
CN103763199B (en) * | 2014-01-10 | 2017-03-15 | 杭州华三通信技术有限公司 | A kind of link-state information treating method and apparatus |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020141345A1 (en) * | 2001-01-30 | 2002-10-03 | Balazs Szviatovszki | Path determination in a data network |
US20030043756A1 (en) * | 2001-08-20 | 2003-03-06 | Sun Microsystems, Inc. | System and method for deadlock-free routing on arbitrary network topologies |
US20030172180A1 (en) * | 2001-10-19 | 2003-09-11 | Sun Microsystems, Inc. | Efficient system and method of node and link insertion for deadlock-free routing on arbitrary topologies |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0537408B1 (en) * | 1991-10-14 | 1997-08-06 | International Business Machines Corporation | Routing in a network of bridge-connected LAN segments |
US6098107A (en) * | 1997-10-31 | 2000-08-01 | Lucent Technologies Inc. | Dynamic algorithms for shortest path tree computation |
US6477515B1 (en) * | 1999-08-11 | 2002-11-05 | The United States Of America As Represented By The Secretary Of The Navy | Efficient computation of least cost paths with hard constraints |
US6836463B2 (en) * | 1999-10-15 | 2004-12-28 | Nokia Corporation | System for communicating labeled routing trees to establish preferred paths and source routes with local identifiers in wireless computer networks |
AU2001232844A1 (en) * | 2000-02-12 | 2001-08-20 | Hrl Laboratories, Llc | Scalable unidirectional routing with zone routing protocol extensions for mobilead-hoc networks |
JP3501093B2 (en) * | 2000-04-18 | 2004-02-23 | 日本電気株式会社 | QoS path calculator |
US6996065B2 (en) * | 2000-07-06 | 2006-02-07 | Lucent Technologies Inc. | Dynamic backup routing of network tunnel paths for local restoration in a packet network |
US20020141346A1 (en) * | 2000-08-31 | 2002-10-03 | The Regents Of The University Of California | Method for approximating minimum delay routing |
US7203191B2 (en) * | 2000-10-10 | 2007-04-10 | The Regents Of The University Of California | Method for loop-free multipath routing using predecessor information |
US20030026268A1 (en) * | 2000-11-28 | 2003-02-06 | Siemens Technology-To-Business Center, Llc | Characteristic routing |
US7158486B2 (en) * | 2001-03-12 | 2007-01-02 | Opcoast Llc | Method and system for fast computation of routes under multiple network states with communication continuation |
US7035937B2 (en) * | 2001-04-25 | 2006-04-25 | Cornell Research Foundation, Inc. | Independent-tree ad hoc multicast routing |
US7209449B2 (en) * | 2002-03-27 | 2007-04-24 | Intel Corporation | Systems and methods for updating routing and forwarding information |
US7304955B2 (en) * | 2002-03-28 | 2007-12-04 | Motorola, Inc. | Scalable IP multicast with efficient forwarding cache |
US7062743B2 (en) * | 2002-09-24 | 2006-06-13 | The Regents Of The University Of California | Floorplan evaluation, global routing, and buffer insertion for integrated circuits |
-
2003
- 2003-06-20 EP EP03761232A patent/EP1535184A2/en not_active Withdrawn
- 2003-06-20 KR KR1020047020879A patent/KR20050040868A/en not_active Application Discontinuation
- 2003-06-20 WO PCT/US2003/019674 patent/WO2004001621A2/en active Application Filing
- 2003-06-20 JP JP2004516101A patent/JP2005531222A/en active Pending
- 2003-06-20 US US10/506,596 patent/US7343424B2/en active Active - Reinstated
- 2003-06-20 AU AU2003243721A patent/AU2003243721A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020141345A1 (en) * | 2001-01-30 | 2002-10-03 | Balazs Szviatovszki | Path determination in a data network |
US20030043756A1 (en) * | 2001-08-20 | 2003-03-06 | Sun Microsystems, Inc. | System and method for deadlock-free routing on arbitrary network topologies |
US20030172180A1 (en) * | 2001-10-19 | 2003-09-11 | Sun Microsystems, Inc. | Efficient system and method of node and link insertion for deadlock-free routing on arbitrary topologies |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8159944B2 (en) | 2008-12-24 | 2012-04-17 | At&T Intellectual Property I, L.P. | Time based queuing |
Also Published As
Publication number | Publication date |
---|---|
US20050108424A1 (en) | 2005-05-19 |
EP1535184A2 (en) | 2005-06-01 |
KR20050040868A (en) | 2005-05-03 |
US7343424B2 (en) | 2008-03-11 |
WO2004001621A3 (en) | 2004-02-12 |
AU2003243721A1 (en) | 2004-01-06 |
JP2005531222A (en) | 2005-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Narvaez et al. | New dynamic algorithms for shortest path tree computation | |
US8284788B2 (en) | Method for scalable routing with greedy embedding | |
Draves et al. | Constructing optimal IP routing tables | |
EP1579716B1 (en) | Routing scheme based on virtual space representation | |
US7260096B2 (en) | Method and router for forwarding internet data packets | |
Cowen | Compact routing with minimum stretch | |
US7184437B1 (en) | Scalable route resolution | |
US5917820A (en) | Efficient packet forwarding arrangement for routing packets in an internetwork | |
EP1692801B1 (en) | Distributing relevant routing information base updates to subscribing clients in a device | |
US9106512B2 (en) | Techniques for efficiently updating routing information upon shortest path tree computation | |
US20020129086A1 (en) | Cluster-based aggregated switching technique (CAST) for routing data packets and information objects in computer networks | |
EP3190755A1 (en) | Identification of the paths taken through a network of interconnected devices | |
CN107347035B (en) | Route searching method and device, distribution node, searching node and entry node | |
JP2001274828A (en) | Device and method for mapping routing information in network and recording medium | |
KR20150030644A (en) | Tie-breaking in shortest path determination | |
US7343424B2 (en) | Fibonacci heap for use with internet routing protocols | |
Gupta et al. | Exploring the trade-off between label size and stack depth in MPLS routing | |
US7035256B1 (en) | Method and apparatus for a routing information base | |
JP2002152252A (en) | Path calculation device and path calculation method used therefor, and recording medium with its control program recorded | |
Sankaran et al. | Design and analysis of fast IP address-lookup schemes based on cooperation among routers | |
Metz | At the core of IP networks: link-state routing protocols | |
CN115426308B (en) | Link state routing method under multi-identification network | |
Kannagi et al. | Performance comparison of routing protocols (OSPF & EIGRP) | |
Yoshioka et al. | Flow-based routing for flow entry aggregation in software-defined networking | |
Li et al. | Nexthop-selectable FIB aggregation: An instant approach for internet routing scalability |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 10506596 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2004516101 Country of ref document: JP Ref document number: 1020047020879 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2003761232 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1020047020879 Country of ref document: KR |
|
WWP | Wipo information: published in national office |
Ref document number: 2003761232 Country of ref document: EP |