Scoped identifier space routing methods, systems, and computer program products
First Claim
1. An apparatus, comprising:
- a network controller configured to be positioned in a Multiprotocol Label Switching (MPLS) network, the network controller including at least one non-transitory memory configured to store instructions, and one or more processors in communication with the at least one non-transitory memory, wherein the one or more processors is configured to execute the instructions to cause the network controller to;
identify, for each of a plurality of nodes in the MPLS network, location information that identifies a location of a corresponding one of the plurality of nodes in a topology of the MPLS network accessible to the controller;
receive, for each of the plurality of nodes in the MPLS network, identifier information that identifies a corresponding identifier in a corresponding identifier space which is specific to the corresponding one of the plurality of nodes and which is based on a metric space having an origin specific to the corresponding one of the plurality of nodes, where at least a portion of the plurality of nodes are in a span of a first portion of the MPLS network such that the corresponding identifier of each of the at least portion of nodes is unique in the span, and the corresponding identifier space of each of the at least portion of nodes is configured to have an identical origin, resulting in a scoped identifier space that includes globally unique identifiers for each of the at least portion of nodes in the span;
based on at least a portion of the location information, determine, for a pair of the plurality of nodes in the MPLS network, at least one network path for transmitting data from a first node of the pair toward a second node of the pair;
store, based on the identifier information, network path information that identifies the at least one network path;
receive lookup information that identifies the first node and the second node of the pair;
look up the network path information, utilizing the lookup information; and
provide, to the first node of the pair, the network path information for use, by the first node of the pair, in a data transmission via the at least one network path from the first node of the pair toward the second node of the pair.
1 Assignment
0 Petitions
Accused Products
Abstract
In various embodiments, a network controller is configured to: identify, for each of a plurality of nodes in a Multiprotocol Label Switching (MPLS) network, location information that identifies a location of a corresponding one of the plurality of nodes in a topology of the MPLS network accessible to the controller; receive, for each of the plurality of nodes in the MPLS network, identifier information that identifies a corresponding identifier in a corresponding identifier space which is specific to the corresponding one of the plurality of nodes and which is based on a metric space having an origin specific to the corresponding one of the plurality of nodes, where at least a portion of the plurality of nodes are in a span of a first portion of the MPLS network such that the corresponding identifier of each of the at least portion of nodes is unique in the span, and the corresponding identifier space of each of the at least portion of nodes is configured to have an identical origin, resulting in a scoped identifier space that includes globally unique identifiers for each of the at least portion of nodes in the span; based on at least a portion of the location information, determine, for a pair of the plurality of nodes in the MPLS network, at least one network path for transmitting data from a first node of the pair toward a second node of the pair; store, based on the identifier information, network path information that identifies the at least one network path; receive lookup information that identifies the first node and the second node of the pair; and look up the network path information, utilizing the lookup information.
457 Citations
62 Claims
-
1. An apparatus, comprising:
a network controller configured to be positioned in a Multiprotocol Label Switching (MPLS) network, the network controller including at least one non-transitory memory configured to store instructions, and one or more processors in communication with the at least one non-transitory memory, wherein the one or more processors is configured to execute the instructions to cause the network controller to; identify, for each of a plurality of nodes in the MPLS network, location information that identifies a location of a corresponding one of the plurality of nodes in a topology of the MPLS network accessible to the controller; receive, for each of the plurality of nodes in the MPLS network, identifier information that identifies a corresponding identifier in a corresponding identifier space which is specific to the corresponding one of the plurality of nodes and which is based on a metric space having an origin specific to the corresponding one of the plurality of nodes, where at least a portion of the plurality of nodes are in a span of a first portion of the MPLS network such that the corresponding identifier of each of the at least portion of nodes is unique in the span, and the corresponding identifier space of each of the at least portion of nodes is configured to have an identical origin, resulting in a scoped identifier space that includes globally unique identifiers for each of the at least portion of nodes in the span; based on at least a portion of the location information, determine, for a pair of the plurality of nodes in the MPLS network, at least one network path for transmitting data from a first node of the pair toward a second node of the pair; store, based on the identifier information, network path information that identifies the at least one network path; receive lookup information that identifies the first node and the second node of the pair; look up the network path information, utilizing the lookup information; and provide, to the first node of the pair, the network path information for use, by the first node of the pair, in a data transmission via the at least one network path from the first node of the pair toward the second node of the pair. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 39, 40, 41)
-
20. A non-transitory computer-readable media storing computer instructions, that when executed by one or more processors of a network controller configured to be positioned in a Multiprotocol Label Switching (MPLS) network, cause the one or more processors to:
-
identify, for each of a plurality of nodes in the MPLS network, location information that identifies a location of a corresponding one of the plurality of nodes in a topology of the MPLS network accessible to the controller; receive, for each of the plurality of nodes in the MPLS network, identifier information that identifies a corresponding identifier in a corresponding identifier space which is specific to the corresponding one of the plurality of nodes, and which is based on a metric space having an origin specific to the corresponding one of the plurality of nodes, where at least a portion of the plurality of nodes are in a span of a first portion of the MPLS network such that the corresponding identifier of each of the at least portion of nodes is unique in the span, and the corresponding identifier space of each of the at least portion of nodes is configured to have an identical origin, resulting in a scoped identifier space that includes globally unique identifiers for each of the at least portion of nodes in the span; based on at least a portion of the location information, determine, for a pair of the plurality of nodes in the MPLS network, at least one network path for transmitting data from a first node of the pair toward a second node of the pair; store, based on the identifier information, network path information that identifies the at least one network path; receive lookup information that identifies the first node and the second node of the pair; look up the network path information, utilizing the lookup information; and provide, to the first node of the pair, the network path information for use, by the first node of the pair, in a data transmission via the at least one network path from the first node of the pair toward the second node of the pair.
-
-
21. A network controller-implemented method, comprising:
-
identifying, for each of a plurality of nodes in a Multiprotocol Label Switching (MPLS) network, location information that identifies a location of a corresponding one of the plurality of nodes in a topology of the MPLS network accessible to the controller; receiving, for each of the plurality of nodes in the MPLS network, identifier information that identifies a corresponding identifier in a corresponding identifier space which is specific to the corresponding one of the plurality of nodes, and which is based on a metric space having an origin specific to the corresponding one of the plurality of nodes, where at least a portion of the plurality of nodes are in a span of a first portion of the MPLS network such that the corresponding identifier of each of the at least portion of nodes is unique in the span, and the corresponding identifier space of each of the at least portion of nodes is configured to have an identical origin, resulting in a scoped identifier space that includes globally unique identifiers for each of the at least portion of nodes in the span; based on at least a portion of the location information, determining, for a pair of the plurality of nodes in the MPLS network, at least one network path for transmitting data from a first node of the pair toward a second node of the pair; storing, based on the identifier information, network path information that identifies the at least one network path; receiving lookup information that identifies the first node and the second node of the pair; looking up the network path information, utilizing the lookup information; and providing, to the first node of the pair, the network path information for use, by the first node of the pair, in a data transmission via the at least one network path from the first node of the pair toward the second node of the pair. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
42. A system, comprising:
-
receiver means for receiving, for each of a plurality of nodes in a Multiprotocol Label Switching (MPLS) network, location information that identifies a location of a corresponding one of the plurality of nodes in a topology of the MPLS network; and
for receiving, for each of the plurality of nodes in the MPLS network, identifier information that identifies a corresponding identifier in a corresponding identifier space which is specific to the corresponding one of the plurality of nodes, and which is based on a metric space having an origin specific to the corresponding one of the plurality of nodes, where at least a portion of the plurality of nodes are in a span of a first portion of the MPLS network such that the corresponding identifier of each of the at least portion of nodes is unique in the span, and the corresponding identifier space of each of the at least portion of nodes is configured to have an identical origin, resulting in a scoped identifier space that includes globally unique identifiers for each of the at least portion of nodes in the span;processor means for; based on at least a portion of the location information, determining, for a pair of the plurality of nodes in the MPLS network, at least one network path for transmitting data from a first node of the pair toward a second node of the pair; causing storage, based on the identifier information, of network path information that identifies the at least one network path; receiving lookup information that identifies the first node and the second node of the pair; looking up the network path information, utilizing the lookup information; and transmitter means for providing, to the first node of the pair, the network path information for use, by the first node of the pair, in a data transmission via the at least one network path from the first node of the pair toward the second node of the pair. - View Dependent Claims (43)
-
-
44. A method, comprising:
-
configuring at least a portion of a plurality of instructions; and causing storage of the instructions on at least one non-transitory memory, where the instructions, in response to being executed by one or more processors of a controller, cause the controller to; identify, for each of a plurality of nodes in a Multiprotocol Label Switching (MPLS) network, location information that identifies a location of a corresponding one of the plurality of nodes in a topology of the MPLS network accessible to the controller; receive, for each of the plurality of nodes in the MPLS network, identifier information that identifies a corresponding identifier in a corresponding identifier space which is specific to the corresponding one of the plurality of nodes, and which is based on a metric space having an origin specific to the corresponding one of the plurality of nodes, where at least a portion of the plurality of nodes are in a span of a first portion of the MPLS network such that the corresponding identifier of each of the at least portion of nodes is unique in the span, and the corresponding identifier space of each of the at least portion of nodes is configured to have an identical origin, resulting in a scoped identifier space that includes globally unique identifiers for each of the at least portion of nodes in the span; based on at least a portion of the location information, determine, for a pair of the plurality of nodes in the MPLS network, at least one network path for transmitting data from a first node of the pair toward a second node of the pair; store, based on the identifier information, network path information that identifies the at least one network path; receive lookup information that identifies the first node and the second node of the pair; look up the network path information, utilizing the lookup information; and provide, to the first node of the pair, the network path information for use, by the first node of the pair, in a data transmission via the at least one network path from the first node of the pair toward the second node of the pair. - View Dependent Claims (45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62)
-
Specification