Processing route data
US-2016226760-A1 · Aug 4, 2016 · US
US9985883B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9985883-B2 |
| Application number | US-201615054781-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 26, 2016 |
| Priority date | Feb 26, 2016 |
| Publication date | May 29, 2018 |
| Grant date | May 29, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 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. 2. A method according to claim 1 , wherein all fabrics within a single authority are automatically considered to be adjacent. 3. A method according to claim 1 , wherein the at least one forwarding information base includes a separate forwarding information base for each source tenant. 4. A method according to claim 1 , wherein the first packet includes first packet metadata including the name of the source tenant, and wherein determining the source tenant for the communication session comprises determining the source tenant based on the name of the source tenant in the first packet metadata. 5. A method according to claim 1 , wherein determining the source tenant for the communication session comprises determining the source tenant based on a source address in the packet. 6. A method according to claim 1 , wherein identifying the service agent comprises selecting one service agent instance from among a plurality of candidate service agent instances. 7. A method according to claim 1 , wherein forwarding the first packet comprises: determining whether a next hop device is a remote router having a remote route exchange processor; and inserting first packet metadata into the packet when the next hop device is a remote router having a remote route exchange processor. 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. 9. A router according to claim 8 , wherein all fabrics within a single authority are automatically considered to be adjacent. 10. A router according to claim 8 , wherein the at least one forwarding information base includes a separate forwarding information base for each source tenant. 11. A router according to claim 8 , wherein the first packet includes first packet metadata including the name of the source tenant, and wherein determining the source tenant for the communication session comprises determining the source tenant based on the name of the source tenant in the first packet metadata. 12. A router according to claim 8 , wherein determining the source tenant for the communication session comprises determining the source tenant based on a source address in the packet. 13. A router according to claim 8 , wherein identifying the service agent comprises selecting one service agent instance from among a plurality of candidate service agent instances. 14. A router according to claim 8 , wherein forwarding the first packet comprises: determining whether a next hop device is a remote router having a remote route exchange processor; and inserting first packet metadata into the packet when the next hop device is a remote router having a remote route exchange processor. 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
Responding to QoS · CPC title
Routing based on the source address · CPC title
Routing instructions carried by the data packet, e.g. active networks · CPC title
NAT traversal · CPC title
Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6 · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.