Name-based routing system and method
First Claim
Patent Images
1. A method of routing packets by a local route exchange processor in a local router, the method comprising:
- maintaining, by the local route exchange processor, in a computer storage of the local router, at least one forwarding information base that associates a plurality of named fabrics with at least one uniquely named authority, each fabric having at least one named tenant, each tenant having at least one named service, wherein the local route exchange processor is associated with a distinct local fabric from among the plurality of named fabrics;
exchanging fabric adjacency information by the local route exchange processor with at least one remote route exchange processor, each remote route exchange processor operating in a separate remote router and associated with a distinct remote fabric from among the plurality of named fabrics;
performing, by the local route exchange processor, a mesh-up process to establish at least one communication path between the local fabric and each of the remote fabrics, the mesh-up process including storage of a fabric-to-fabric map that identifies at least one communication path for each remote fabric and an adjacent fabric map that identifies, by name, at least one next hop fabric for each remote fabric;
receiving a first packet to establish a communication session between a source service in a source tenant and a destination service in a destination tenant in a destination fabric;
determining the source tenant for the communication session;
identifying, using the at least one forwarding information base, a service agent for the communication session based on the name of the source tenant and the name of the destination service;
selecting a communication path for the communication session including selecting a next hop fabric for the destination fabric based on the adjacent fabric map and selecting a communication path to the next hop fabric based on the fabric-to-fabric map; and
forwarding the first packet via the selected communication path.
1 Assignment
0 Petitions
Accused Products
Abstract
An advanced routing system and protocol (referred to herein as “Route Exchange” or “REX”) hides familiar IPv4 and IPv6 addresses and replaces traditional routing logic with words and relationships between named elements. Among other things, this makes IP routing tables significantly easier to understand. In addition, a single routing scheme can be used for any combination of private networks, public networks, IPv4 addressing models, and IPv6 addressing models. Underneath the words lie real IP addresses that move the packets from place to place. These routing addresses abstract away the underlying network.
-
Citations
21 Claims
-
1. A method of routing packets by a local route exchange processor in a local router, the method comprising:
-
maintaining, by the local route exchange processor, in a computer storage of the local router, at least one forwarding information base that associates a plurality of named fabrics with at least one uniquely named authority, each fabric having at least one named tenant, each tenant having at least one named service, wherein the local route exchange processor is associated with a distinct local fabric from among the plurality of named fabrics; exchanging fabric adjacency information by the local route exchange processor with at least one remote route exchange processor, each remote route exchange processor operating in a separate remote router and associated with a distinct remote fabric from among the plurality of named fabrics; performing, by the local route exchange processor, a mesh-up process to establish at least one communication path between the local fabric and each of the remote fabrics, the mesh-up process including storage of a fabric-to-fabric map that identifies at least one communication path for each remote fabric and an adjacent fabric map that identifies, by name, at least one next hop fabric for each remote fabric; receiving a first packet to establish a communication session between a source service in a source tenant and a destination service in a destination tenant in a destination fabric; determining the source tenant for the communication session; identifying, using the at least one forwarding information base, a service agent for the communication session based on the name of the source tenant and the name of the destination service; selecting a communication path for the communication session including selecting a next hop fabric for the destination fabric based on the adjacent fabric map and selecting a communication path to the next hop fabric based on the fabric-to-fabric map; and forwarding the first packet via the selected communication path. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A router comprising:
-
a computer storage; and a local route exchange processor configured to implement a method of routing packets comprising; maintaining, by the local route exchange processor, in the computer storage, at least one forwarding information base that associates a plurality of named fabrics with at least one uniquely named authority, each fabric having at least one named tenant, each tenant having at least one named service, wherein the local route exchange processor is associated with a distinct local fabric from among the plurality of named fabrics; exchanging fabric adjacency information by the local route exchange processor with at least one remote route exchange processor, each remote route exchange processor operating in a separate remote router and associated with a distinct remote fabric from among the plurality of named fabrics; performing, by the local route exchange processor, a mesh-up process to establish at least one communication path between the local fabric and each of the remote fabrics, the mesh-up process including storage of a fabric-to-fabric map that identifies at least one communication path for each remote fabric and an adjacent fabric map that identifies, by name, at least one next hop fabric for each remote fabric; receiving a first packet to establish a communication session between a source service in a source tenant and a destination service in a destination tenant in a destination fabric; determining the source tenant for the communication session; identifying, using the at least one forwarding information base, a service agent for the communication session based on the name of the source tenant and the name of the destination service; selecting a communication path for the communication session including selecting a next hop fabric for the destination fabric based on the adjacent fabric map and selecting a communication path to the next hop fabric based on the fabric-to-fabric map; and forwarding the first packet via the selected communication path. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program product comprising a tangible, non-transitory computer readable medium having embodied therein a computer program that, when run on at least one computer processor, implements a local route exchange processor for a local router, the local route exchange processor implementing a method of routing packets comprising:
-
maintaining, by the local route exchange processor, in a computer storage of the local router, at least one forwarding information base that associates a plurality of named fabrics with at least one uniquely named authority, each fabric having at least one named tenant, each tenant having at least one named service, wherein the local route exchange processor is associated with a distinct local fabric from among the plurality of named fabrics; exchanging fabric adjacency information by the local route exchange processor with at least one remote route exchange processor, each remote route exchange processor operating in a separate remote router and associated with a distinct remote fabric from among the plurality of named fabrics; performing, by the local route exchange processor, a mesh-up process to establish at least one communication path between the local fabric and each of the remote fabrics, the mesh-up process including storage of a fabric-to-fabric map that identifies at least one communication path for each remote fabric and an adjacent fabric map that identifies, by name, at least one next hop fabric for each remote fabric; receiving a first packet to establish a communication session between a source service in a source tenant and a destination service in a destination tenant in a destination fabric; determining the source tenant for the communication session; identifying, using the at least one forwarding information base, a service agent for the communication session based on the name of the source tenant and the name of the destination service; selecting a communication path for the communication session including selecting a next hop fabric for the destination fabric based on the adjacent fabric map and selecting a communication path to the next hop fabric based on the fabric-to-fabric map; and forwarding the first packet via the selected communication path. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification