Name-based routing system and method
Assignee128 Technology, Inc.
InventorsPatrick J. MeLampy, Michael Baj, Prashant Kumar, Robert Penfield, Patrick Timmons
Life of this patent
Estimating the term…
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.
Claims21
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 local the route exchange processor, a mesh-up process to establish at least one communication path between the local fabric and each of the remote fabrics;
- receiving first packet to establish a communication session between a source service in a source tenant and a destination service in a destination tenant;
- 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;
- and
- forwarding the first packet via the selected communication path.
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 local the route exchange processor, a mesh-up process to establish at least one communication path between the local fabric and each of the remote fabrics;
- receiving first packet to establish a communication session between a source service in a source tenant and a destination service in a destination tenant;
- 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;
- and
- forwarding the first packet via the selected communication path.
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 local the route exchange processor, a mesh-up process to establish at least one communication path between the local fabric and each of the remote fabrics;
- receiving first packet to establish a communication session between a source service in a source tenant and a destination service in a destination tenant;
- 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;
- and
- forwarding the first packet via the selected communication path.
Dependencies are inferred from the claim text.