A protocol data unit is routed along a path between a first node and a second node within a communication network. The protocol data unit carries routing information which specifies the path in the form of a list of identifiers of the links to be followed towards the second node. At each intermediate node, the link identifier for the link just traversed with a link identifier for the corresponding link in the reverse direction towards the first node. At any point along the path the protocol data unit carries information which allows it to be carried towards the second node, or to follow a reverse path towards the first node. This reverse path can be used to report a fault to the first node.
|
10. A node for use as part of a network comprising a first node, a second node and at least one intermediate node, the nodes being interconnected by communication links, the node comprising control logic which is operable to:
receive a protocol data unit carrying routing information in the form of a list of identifiers of the links for the path to be followed by the protocol data unit towards the second node; and,
replace the link identifier for the link just traversed with a link identifier for the corresponding link in the reverse direction towards the first node;
provide an index pointing to a current link in the list of link identifiers;
use the index to determine if the protocol data unit needs to be forwarded to another node;
fill unused space within the routing information with a padding value if the node determines that the protocol data unit does not need to be forwarded to another node; and
determine the total length of the path by summing the total number of link identifiers, in the list of link identifiers, which are not equal to the padding value.
1. A method of routing a protocol data unit at a node within a network, the network comprising a first node, a second node and at least one intermediate node, the nodes being interconnected by communication links, the method comprising:
receiving a protocol data unit carrying routing information in the form of a list of identifiers of the links of the path to be followed by the protocol data unit towards the second node;
replacing the link identifier for the link just traversed with a link identifier for the corresponding link in the reverse direction towards the first node;
providing an index pointing to a current link in the list of link identifiers;
using the index to determine if the protocol data unit needs to be forwarded to another node;
if the node determines that the protocol data unit does not need to be forwarded to another node, filling unused space within the routing information with a padding value; and
determining the total length of the path by summing the total number of link identifiers, in the list of link identifiers, which are not equal to the padding value.
21. A method of routing a protocol data unit along a path between a first node and a second node via at least one intermediate node, the nodes being interconnected by communication links, the method comprising:
sending a protocol data unit from the first node towards the second node, the protocol data unit including routing information which specifies the path in the form of a list of identifiers of the links to be followed towards the second node;
replacing, at each intermediate node, the link identifier for the link just traversed with a link identifier for the corresponding link in the reverse direction towards the first node;
providing an index pointing to a current link in the list of link identifiers;
using the index to determine if the protocol data unit needs to be forwarded to another node;
if the node determines that the protocol data unit does not need to be forwarded to another node, filling unused space within the routing information with a padding value; and
determining the total length of the path by summing the total number of link identifiers, in the list of link identifiers, which are not equal to the padding value.
20. A computer readable medium embodying a computer program product comprising instructions executable by a processor of a computing device for controlling a node of a communication network, the network comprising a first node, a second node and at least one intermediate node, the nodes being interconnected by communication links, the instructions comprising:
code for receiving a protocol data unit carrying routing information in the form of a list of identifiers of the links of the path to be followed by the protocol data unit towards the second node;
code for replacing the link identifier for the link just traversed with a link identifier for the corresponding link in the reverse direction towards the first node;
code for providing an index pointing to a current link in the list of link identifiers;
code for using the index to determine if the protocol data unit needs to be forwarded to another node;
code for, if the node determines that the protocol data unit does not need to be forwarded to another node, filling unused space within the routing information with a padding value; and
code for determining the total length of the path by summing the total number of link identifiers, in the list of link identifiers, which are not equal to the padding value.
2. A method according to
3. A method according to
4. A method according to
5. A method according to
6. A method according to
7. A method according to
determining the expected sending link identifier corresponding to the link on which the protocol data unit was received;
inspecting the link identifier in the received routing information; and,
determining whether the identifier in the routing information matches the expected sending link identifier.
8. A method according to
9. A method according to
determining when a fault occurs along the path; and,
sending a fault reporting message towards the first node using the link identifiers of the reverse path stored in the routing information.
11. A node according to
12. A node according to
13. A node according to
14. A node according to
15. A node according to
16. A node according to
determine the expected sending link identifier corresponding to the link on which the protocol data unit was received;
inspect the link identifier in the received routing information; and,
determine whether the identifier in the routing information matches the expected sending link identifier.
17. A node according to
18. A node according to
determine when a fault occurs along the path; and,
send a fault reporting message towards the first node using the link identifiers of the reverse path stored in the routing information.
|
This invention relates to routing of protocol data units within a communication network.
Communication networks comprise a large number of interconnected network nodes, such as terminals, routers and switches. Data is communicated through a network by passing protocol data units, such as Internet Protocol (IP) packets, Ethernet frames or data cells between nodes. A particular protocol data unit may travel along a path through many such nodes and communication links and a network of this kind should efficiently route the protocol data units between nodes.
A wide range of routing protocols are known. Most routing protocols require each routing node to maintain a database of network information. This requires the node to exchange network information with other nodes and to process and store the information. One form of calculation is to construct a tree of shortest paths across the network, based on the information received from nodes. The above requirements place a significant processing burden on the nodes. The exchange of routing information can use a significant portion of the total bandwidth which could otherwise be used for carrying traffic, particularly in networks where the topology changes on a frequent basis, such as in wireless ad-hoc networks.
There exists a class of networks in which traffic patterns are very focused. The traffic in these networks generally flows either from a well known focal point out to all the other nodes, or the reverse, from all those nodes back to the focal point. In these networks rarely, if ever, does traffic flow in any other pattern. One example of a network that generally exhibits these characteristics is a wireless ad-hoc network containing a network of wireless routers spanning a neighborhood and providing wireless access to individual users in the neighborhood. In this type of network it is desirable to distribute traffic across a number of different routes so as to avoid congestion along particular links or nodes, particularly those closest to the focal node.
A U.S. patent application with U.S. Ser. No. 10/745,886, filed 23 Dec. 2003, the contents of which are incorporated herein by reference, describes a way of performing constraint based routing on a network in which traffic passes through a focal node. A source (i.e. the focal node) can specify a route which is to be followed by a target. A target can then use this routing to send traffic to the focal node. In this way, the focal node can more evenly distribute traffic across the nodes within the network.
It is desirable to use a routing scheme which minimises the amount of resources required in each node and which minimises the signalling overhead.
A first aspect of the present invention provides a method of routing a protocol data unit along a path between a first node and a second node via at least one intermediate node, the nodes being interconnected by communication links, the method comprising:
sending a protocol data unit from the first node towards the second node, the protocol data unit including routing information which specifies the path in the form of a list of identifiers of the links to be followed towards the second node; and,
replacing, at each intermediate node, the link identifier for the link just traversed with a link identifier for the corresponding link in the reverse direction towards the first node.
Sending routing information in this manner reduces the computation at the first node as well as at intermediate nodes along the path. The second node can simply use the routing that it is instructed to, without the need to maintain a database of network information or the need to undertake complex processing of the network information. Intermediate nodes forward the protocol data unit using the routing information contained in the protocol data unit and also do not need to maintain a database of network information or the need to undertake complex processing of the network information. Replacing the link identifiers minimises the routing information overhead as the protocol data unit only contains as much information as it needs to at any point along the path between the first and second nodes. As soon as a link has been traversed, the identifier for that link is replaced with the identifier for the corresponding link in the reverse direction. This halves the amount of data compared to a scheme where a protocol data unit contains a complete list of identifiers for the forward and reverse directions.
Preferably, each node uses a local set of link identifiers to identify the links connecting to that node and the routing information comprises a list of the local link identifiers. As the identifiers are locally unique to each node (i.e. the same set of identifiers can be reused by another node, and do not uniquely identify a link on a network-wide basis) and each node is likely to have a relatively small number of links leading from it, the routing information can be represented in a compact form, saving transmission bandwidth.
Preferably at least one of the intermediate nodes maintains a database which contains, for each receiving link at that node, the receiving link identifier used locally by that node and the sending link identifier for that link used by a neighbouring node. Upon receiving a protocol data unit on a link at the intermediate node, the intermediate node determines the expected sending link identifier corresponding to the link on which the protocol data unit was received. The intermediate node also inspects the link identifier in the received routing information and determines whether the identifier in the routing information matches the expected sending link identifier. If there is no match, then the protocol data unit has been incorrectly received and can be discarded.
Preferably, the routing information specifies a path which the second node should use for sending protocol data units to the first node. The first node can be a focal node of a network, the focal node maintaining information about the network and using the information to select the routing information. Sending routing information from a focal node which specifies a path to be followed by traffic from another node has the advantage of distributing traffic between nodes of the network compared to allowing individual nodes to calculate paths.
Although in this application a wireless-based network will be described, and the nodes will be discussed as communicating with each other and with end users using various wireless protocols, the invention is not limited in this regard. Rather, the invention may be used more broadly with other types of communication technology, such as wireline, infra red, acoustic, and numerous other types of communication technology.
The functionality described here can be implemented in software, hardware or a combination of these. The invention can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. Accordingly, another aspect of the invention provides software for performing any of these methods. It will be appreciated that software may be installed on the node at any point during the life of the equipment. The software may be stored on an electronic memory device, hard disk, optical disk or other machine-readable storage medium. The software may be delivered as a computer program product on a machine-readable carrier or it may be downloaded directly to the node via a network connection.
Embodiments of the invention will be described, by way of example only, with reference to the accompanying drawings in which:
The nodes 10 in the domain 15 may communicate between each other using one wireless technology and may communicate with end users, such as a wireless terminal 40, using another wireless technology. These wireless technologies may be distinguished by frequency or protocol. In one implementation, the wireless technologies are IEEE 802.11a and IEE 802.11b although one of the IEEE 802.16x protocols, the Universal Mobile Telecommunication System (UMTS) wireless communications protocol, the IEEE 802.11a wireless communication protocol, IEEE 802.11g standard, HiperLAN, Bluetooth. or other emerging protocols such as IEEE 802.18 could also be used. The user terminal 40 can be a mobile telephone, a data terminal such as a laptop or personal digital assistant (PDA) or any other kind of communications device.
In the type of network shown in
Focal node 14 maintains a database which includes information about the topology of domain 15 (i.e. how the nodes are connected together) and preferably also includes one or more metrics for the links between nodes, such as bandwidth, power or distance. When a node 10 wishes to send a packet to the focal node 14 it uses a routing which has been determined by the focal node rather than a routing which is calculated by the node 10 itself. This reduces the processing and storage requirements of each node 10 and allows it to be manufactured and deployed more cheaply. The process of obtaining this routing information will now be described in more detail.
A node routes a packet by specifying a compact vector (list) of link identifiers that the packet must follow. This vector is received by the node 10, and does not need to be calculated by it. The vector identifies links that the packet should traverse rather than identifying nodes. Links can be compactly represented since each link identifier is a number which is local to each node and the number only has to be large enough to represent the degree (number of adjacencies) of the node. For most real networks, the maximum degree that is likely to be seen is well below 64 and for many specialized networks; the degree may be 4 or less. In the network of
As each link has a locally unique outgoing and incoming link identifier, it is possible to specify, unambiguously, a route across a network as a vector of link identifiers. Referring to
The above description explains the basic concept of source routing, i.e. the source specifies the route that a packet should take. However, in the network of
The focal node 14 sends a packet towards a particular node 10 within the network. The packet specifies a list of link IDs that the packet should follow at each node. Once the packet reaches a node along the path, the link ID for the path just traversed is replaced by the link ID for the same path in the reverse direction. Stated more formally, the logic is:
In the example shown in
Detecting Path Errors
Transmission and routing errors can sometimes occur in a network and on occasions a node may incorrectly receive a packet that was not intended to be received by that node. In wireless networks this could happen due to wireless ‘crosstalk’. This routing scheme allows errors to be detected in certain circumstances, and this is explained with reference to
Rapid Link Failure Detection
Link state routing protocols such as OSPF use the ‘hello’ dead interval to detect link failures and then use Link state advertisements to propagate the change in topology to the whole network. This behaviour is described in RFC 2328, see particularly sections 7.1, 9.5, 10.5 and also sections 10.2 “events causing neighbor state changes” and 10.3 “the neighbor state machine”. With the source routing scheme described here, the reverse route towards the source is recorded as the packet traverses the network. When a node detects a link failure downstream, it can send a rapid failure message to the source node using the recorded reverse source route from itself to the source node. Using this failure message to detect network failures can provide a faster failure detection message than standard link state advertisements in OSPF and has the advantage that the failure message is directed towards the focal node without the need to broadcast to all of the nodes within the domain/network.
When a node detects a link failure, it uses the recorded reverse route back to the source to send the error notification message to the source node. The node also keep the failed link's ID within the header as the last entry (last entry before any padding), so that the source node can determine the failed link from the notification message. In this example, the failed link has a link ID=3, which is stored at the end of the list before the padding values ‘15’.
It will be appreciated that there are various ways in which packets can be modified to carry the routing information as described above. In order to show how the invention can be worked, the following describes some preferred schemes but these are not intended to limit the scope of protection.
The routing information can be carried by a header. For optical transmission systems, such as Synchronous Optical Networking (SONET) or Dense Wavelength Division Multiplexing (DWDM) implementations, the header can follow the Generic Framing Procedure (GFP) header as an extended GFP header. For Ethernet transmission systems there can be a new encapsulation type. In addition to the forwarding information described above, the header should include bits to indicate how the packet is to be treated for queuing priority on transmission, and how the packet is to be treated for discard in the event that the desired queues are full or getting full. These two quantities are normally referred to as emission and discard priority and together they define the major controls for relative packet treatment (QoS). The preferred minimum overall number of fields required in the header is:
Packet type: an indication of the intended purpose of this packet. Note that no special OA&M (operations, administration & management) bits are required because this field can indicate an OA&M vs. a user purpose.
Emission Priority: an indication of which transmit Queue to place the packet on;
Discard Priority: an indication of when to discard given the above queue is filling;
Vector: a vector of link indexes (local identifiers of a link or an interface to the link);
Index: a pointer into the vector indicating the current hop;
Extension Bits: used to increase the length of the vector/index to accommodate more hops.
Given the above fields, a 4-5 hop header can be encoded as a single word.
It is preferred that the header is of fixed length and format as this will simplify processing, especially if hardware assistance is required. The header should be compact to minimise the transmission overhead. The header should be extendable to allow use on long routes, provide control functions or future extensions. It is desirable if the format chosen enabled route problems to be detected at an early stage; e.g. topology changes after source route was calculated.
An example of such a compact header is shown in
The header format shown in
Basic Source Routing Operation
The originating node adds the source routing header to IP packets and forwards the packets towards the destination node according to the source route. In the case of Ethernet as the underlying transmission medium, the source routed header would be a new encapsulation type. The new header 302 is inserted in between the Ethernet header 301 and the IP header & packet 303 as shown in
The intermediate nodes forward the packets using the new source routing header information. The destination node removes the source routing header and forwards the IP packet 303 to the destination. When the destination wishes to transmit data towards the source node, it reverses the recorded source route and uses it to route packets back to the source node. Here is a summary of the basic routing scheme:
When a packet is received on circuit <link-in >, the node does the following;
If Index=0 and Extended Header flag=0: packet has reached destination node
If Index=0 and Extended Header flag=1: process next header
If Index≠0
When the route arrives at the terminating node the index has reached a value of zero. The terminating node determines the total length of the route by summing the number of valid link IDs in the list (i.e. link IDs # the padding value). For the reverse routing, the index is initially set to the determined number of valid link IDs. The list of link IDs is also reversed for the reverse routing.
The functions described above may be implemented as a set of program instructions that are stored in a computer readable memory within the network element and executed on one or more processors within the network element. However, it will be apparent to a skilled person that all logic described herein can be embodied using discrete components, integrated circuitry such as an Application Specific Integrated Circuit (ASIC), programmable logic used in conjunction with a programmable logic device such as a Field Programmable Gate Array (FPGA) or microprocessor, a state machine, or any other device including any combination thereof. Programmable logic can be fixed temporarily or permanently in a tangible medium such as a read-only memory chip, a computer memory, a disk, or other storage medium. Programmable logic can also be fixed in a computer data signal embodied in a carrier wave, allowing the programmable logic to be transmitted over an interface such as a computer bus or communication network. All such embodiments are intended to fall within the scope of the present invention.
Referring again to
The invention is not limited to the embodiments described herein, which may be modified or varied without departing from the scope of the invention.
Sabesan, Subramaniam, Biddiscombe, Martin, Denney, Glenn
Patent | Priority | Assignee | Title |
10063475, | Mar 06 2014 | Cisco Technology, Inc. | Segment routing extension headers |
10122614, | Feb 26 2015 | Cisco Technology, Inc | Failure protection for traffic-engineered bit indexed explicit replication |
10164838, | Mar 15 2013 | Cisco Technology, Inc. | Seamless segment routing |
10178022, | Jul 17 2014 | Cisco Technology, Inc. | Segment routing using a remote forwarding adjacency identifier |
10212076, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products for mapping a node-scope specific identifier |
10218610, | Oct 05 2012 | Cisco Technology, Inc. | MPLS segment routing |
10263881, | May 26 2016 | Cisco Technology, Inc.; Cisco Technology, Inc | Enforcing strict shortest path forwarding using strict segment identifiers |
10270664, | Mar 15 2013 | Cisco Technology, Inc. | Segment routing over label distribution protocol |
10341221, | Feb 26 2015 | Cisco Technology, Inc. | Traffic engineering for bit indexed explicit replication |
10341222, | Feb 26 2015 | Cisco Technology, Inc. | Traffic engineering for bit indexed explicit replication |
10355987, | Dec 27 2012 | Sitting Man, LLC | Routing methods, systems, and computer program products |
10367737, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10374938, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10382327, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Methods, systems, and computer program products for routing using headers including a sequence of node scope-specific identifiers |
10382334, | Mar 06 2014 | Cisco Technology, Inc. | Segment routing extension headers |
10389624, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Scoped identifier space routing methods, systems, and computer program products |
10389625, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products for using specific identifiers to transmit data |
10397100, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products using a region scoped outside-scope identifier |
10397101, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products for mapping identifiers |
10404582, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products using an outside-scope indentifier |
10404583, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products using multiple outside-scope identifiers |
10411997, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products for using a region scoped node identifier |
10411998, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Node scope-specific outside-scope identifier-equipped routing methods, systems, and computer program products |
10419334, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Internet protocol routing methods, systems, and computer program products |
10419335, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Region scope-specific outside-scope indentifier-equipped routing methods, systems, and computer program products |
10447575, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10469325, | Mar 15 2013 | Cisco Technology, Inc. | Segment routing: PCE driven dynamic setup of forwarding adjacencies and explicit path |
10469370, | Oct 05 2012 | Cisco Technology, Inc. | Segment routing techniques |
10476787, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10476788, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Outside-scope identifier-equipped routing methods, systems, and computer program products |
10498642, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10574562, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10587505, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10594594, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10601707, | Jul 17 2014 | Cisco Technology, Inc. | Segment routing using a remote forwarding adjacency identifier |
10652133, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10652134, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10652150, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10693765, | Feb 26 2015 | Cisco Technology, Inc. | Failure protection for traffic-engineered bit indexed explicit replication |
10700959, | Apr 09 2017 | BAREFOOT NETWORKS, INC | Source routing design with simplified forwarding elements |
10708168, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10721164, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products with multiple sequences of identifiers |
10735306, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10742537, | May 26 2016 | Cisco Technology, Inc. | Enforcing strict shortest path forwarding using strict segment identifiers |
10757005, | Apr 09 2017 | BAREFOOT NETWORKS, INC | Execution of packet-specified actions at forwarding element |
10757010, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10757020, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10764146, | Mar 15 2013 | Cisco Technology, Inc. | Segment routing over label distribution protocol |
10764170, | Apr 09 2017 | BAREFOOT NETWORKS, INC | Generation of path failure message at forwarding element based on message path |
10764171, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10785143, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10805204, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10826815, | Apr 09 2017 | BAREFOOT NETWORKS, INC | Verification of access control list rules provided with a message |
10841198, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
10862791, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | DNS methods, systems, and computer program products |
10958566, | Feb 26 2015 | Cisco Technology, Inc. | Traffic engineering for bit indexed explicit replication |
11012344, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
11032197, | Sep 15 2016 | Cisco Technology, Inc | Reroute detection in segment routing data plane |
11196660, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
11290340, | Mar 15 2013 | Cisco Technology, Inc. | Segment routing over label distribution protocol |
11323356, | May 26 2016 | Cisco Technology, Inc. | Enforcing strict shortest path forwarding using strict segment identifiers |
11336574, | Mar 06 2014 | Cisco Technology, Inc. | Segment routing extension headers |
11374863, | Mar 06 2014 | Cisco Technology, Inc. | Segment routing extension headers |
11424987, | Mar 15 2013 | Cisco Technology, Inc. | Segment routing: PCE driven dynamic setup of forwarding adjacencies and explicit path |
11489756, | May 26 2016 | Cisco Technology, Inc. | Enforcing strict shortest path forwarding using strict segment identifiers |
11671346, | May 26 2016 | Cisco Technology, Inc. | Enforcing strict shortest path forwarding using strict segment identifiers |
11689427, | Mar 15 2013 | Cisco Technology, Inc. | Segment routing over label distribution protocol |
11722404, | Sep 24 2019 | Cisco Technology, Inc | Communicating packets across multi-domain networks using compact forwarding instructions |
11784889, | Mar 15 2013 | Cisco Technology, Inc. | Segment routing over label distribution protocol |
11784914, | Dec 27 2012 | MORRIS ROUTING TECHNOLOGIES, LLC | Routing methods, systems, and computer program products |
11855884, | Sep 24 2019 | Cisco Technology, Inc. | Communicating packets across multi-domain networks using compact forwarding instructions |
7848350, | Jan 08 2007 | Cisco Technology, Inc. | Record boundary preservation protocol enhancement |
7852771, | Jun 30 2004 | CIENA LUXEMBOURG S A R L ; Ciena Corporation | Method and apparatus for implementing link-based source routing in generic framing protocol |
8982887, | May 18 2007 | International Business Machines Corporation | System, method and program for making routing decisions |
9049233, | Oct 05 2012 | Cisco Technology, Inc | MPLS segment-routing |
9319312, | May 17 2013 | Cisco Technology, Inc | Segment routing mapping server for LDP/SR interoperability |
9369347, | Mar 15 2013 | Cisco Technology, Inc | Service to node resolution |
9369371, | Oct 05 2012 | Cisco Technology, Inc | Method and system for path monitoring using segment routing |
9401858, | Jun 30 2014 | Cisco Technology, Inc.; Cisco Technology, Inc | Loop avoidance during network convergence in switched networks |
9438445, | May 11 2006 | BlackBerry Limited | Media access control protocol for multi-hop network systems and method therefor |
9450829, | Mar 15 2013 | Cisco Technology, Inc | Seamless segment routing |
9485150, | Mar 15 2013 | Cisco Technology, Inc | Fast reroute for segment routing traffic |
9491058, | Mar 15 2013 | Cisco Technology, Inc | Label distribution protocol over segment routing |
9537718, | Mar 15 2013 | Cisco Technology, Inc. | Segment routing over label distribution protocol |
9537769, | Mar 15 2013 | Cisco Technology, Inc. | Opportunistic compression of routing segment identifier stacks |
9559954, | Mar 11 2013 | Cisco Technology, Inc. | Indexed segment ID |
9565160, | Mar 11 2013 | Cisco Technology, Inc | Advertisement of adjacency segment identifiers |
9571349, | Mar 15 2013 | Cisco Technology, Inc | Segment routing: PCE driven dynamic setup of forwarding adjacencies and explicit path |
9722878, | Mar 15 2013 | Cisco Technology, Inc. | Seamless segment routing |
9736847, | Jul 20 2012 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Fast access in V2V communication services by dynamic resources allocation |
9749187, | Mar 15 2013 | Cisco Technology, Inc. | Segment routing into a label distribution protocol domain |
9749227, | Oct 05 2012 | Cisco Technology, Inc. | MPLS segment-routing |
9762488, | Mar 06 2014 | Cisco Technology, Inc | Segment routing extension headers |
9807001, | Jul 17 2014 | Cisco Technology, Inc.; Cisco Technology, Inc | Segment routing using a remote forwarding adjacency identifier |
9900249, | Sep 14 2009 | IP WAVE PTE LTD | Communication system, forwarding node, path management server, communication method, and program |
9929946, | Oct 05 2012 | Cisco Technology, Inc | Segment routing techniques |
9979601, | Mar 15 2013 | Cisco Technology, Inc | Encoding explicit paths as segment routing segment lists |
Patent | Priority | Assignee | Title |
5309433, | Jun 18 1992 | Toshiba Global Commerce Solutions Holdings Corporation | Methods and apparatus for routing packets in packet transmission networks |
5504746, | Oct 01 1991 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | Radio frequency local area network |
5563878, | Jan 05 1995 | International Business Machines Corporation | Transaction message routing in digital communication networks |
5917820, | Jun 10 1996 | Cisco Technology, Inc | Efficient packet forwarding arrangement for routing packets in an internetwork |
6084882, | Jun 18 1991 | Fujitsu Limited | Detour path determination method |
6275492, | Dec 02 1997 | RPX CLEARINGHOUSE LLC | Method and apparatus for routing data using router identification information |
7334047, | Mar 18 2002 | Cisco Technology, Inc. | Method and system for selective link state advertisement blocking over a data network area |
20060002304, | |||
20060221929, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Sep 30 2004 | Nortel Networks Limited | (assignment on the face of the patent) | / | |||
Jan 20 2005 | SABESAN, SUBRAMANIAM | Nortel Networks Limited | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016682 | /0615 | |
Jan 21 2005 | DENNEY, GLENN | Nortel Networks Limited | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016682 | /0615 | |
Jan 31 2005 | BIDDISCOMBE, MARTIN | Nortel Networks Limited | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016682 | /0612 | |
Jul 29 2011 | Nortel Networks Limited | Rockstar Bidco, LP | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 027164 | /0356 | |
May 09 2012 | Rockstar Bidco, LP | Rockstar Consortium US LP | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032168 | /0750 | |
Nov 13 2013 | Rockstar Consortium US LP | Bockstar Technologies LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032399 | /0116 | |
Jan 28 2015 | ROCKSTAR CONSORTIUM LLC | RPX CLEARINGHOUSE LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034924 | /0779 | |
Jan 28 2015 | MOBILESTAR TECHNOLOGIES LLC | RPX CLEARINGHOUSE LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034924 | /0779 | |
Jan 28 2015 | NETSTAR TECHNOLOGIES LLC | RPX CLEARINGHOUSE LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034924 | /0779 | |
Jan 28 2015 | Rockstar Consortium US LP | RPX CLEARINGHOUSE LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034924 | /0779 | |
Jan 28 2015 | Constellation Technologies LLC | RPX CLEARINGHOUSE LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034924 | /0779 | |
Jan 28 2015 | Bockstar Technologies LLC | RPX CLEARINGHOUSE LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034924 | /0779 | |
Feb 26 2016 | RPX CLEARINGHOUSE LLC | JPMORGAN CHASE BANK, N A , AS COLLATERAL AGENT | SECURITY AGREEMENT | 038041 | /0001 | |
Feb 26 2016 | RPX Corporation | JPMORGAN CHASE BANK, N A , AS COLLATERAL AGENT | SECURITY AGREEMENT | 038041 | /0001 | |
Dec 22 2017 | JPMORGAN CHASE BANK, N A | RPX Corporation | RELEASE REEL 038041 FRAME 0001 | 044970 | /0030 | |
Dec 22 2017 | JPMORGAN CHASE BANK, N A | RPX CLEARINGHOUSE LLC | RELEASE REEL 038041 FRAME 0001 | 044970 | /0030 |
Date | Maintenance Fee Events |
May 25 2012 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Aug 12 2016 | REM: Maintenance Fee Reminder Mailed. |
Dec 30 2016 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Dec 30 2011 | 4 years fee payment window open |
Jun 30 2012 | 6 months grace period start (w surcharge) |
Dec 30 2012 | patent expiry (for year 4) |
Dec 30 2014 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 30 2015 | 8 years fee payment window open |
Jun 30 2016 | 6 months grace period start (w surcharge) |
Dec 30 2016 | patent expiry (for year 8) |
Dec 30 2018 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 30 2019 | 12 years fee payment window open |
Jun 30 2020 | 6 months grace period start (w surcharge) |
Dec 30 2020 | patent expiry (for year 12) |
Dec 30 2022 | 2 years to revive unintentionally abandoned end. (for year 12) |