Specifying and utilizing paths through a network

US11265187B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11265187-B2
Application numberUS-202016945675-A
CountryUS
Kind codeB2
Filing dateJul 31, 2020
Priority dateJan 26, 2018
Publication dateMar 1, 2022
Grant dateMar 1, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

For a multi-tenant environment, some embodiments of the invention provide a novel method for (1) embedding a specific path for a tenant's data message flow through a network in tunnel headers encapsulating the data message flow, and then (2) using the embedded path information to direct the data message flow through the network. In some embodiments, the method selects the specific path from two or more viable such paths through the network for the data message flow.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of specifying a path for a data message flow through a network to reach a destination, the method comprising: at an ingress forwarding element connected to a source machine for the data message flow: based on a type of content carried by the data message flow, selecting a particular path from a plurality of candidate paths that are viable paths through the network to a destination of the data message flow; encapsulating each data message in the flow with a tunnel header that stores a set of hop identifiers identifying a set of hops along the network that define the selected path through the network; and forwarding the encapsulated data messages of the flow along the network, said set of next hop identifiers processed by forwarding elements in the network to direct the data messages to the destination. 2. The method of claim 1 , wherein selecting the particular path comprises: identifying the type of content carried by the data message flow; and from the plurality of paths to the destination, selecting the path to the destination by using the identified content type of the data message flow to identify a record that identifies the particular path. 3. The method of claim 1 , wherein the set of next hop identifiers comprises a set of forwarding-element identifiers that identify a set of forwarding elements along the selected particular path to the destination. 4. The method of claim 1 , wherein the network is a multi-tenant network, the method further comprising storing a tenant identifier in the encapsulating tunnel header to identify a tenant associated with the data message flow. 5. The method of claim 4 , wherein the stored tenant identifier allowing multiple different tenants to use a same set of tunnels between a set of forwarding elements through which a set of paths are defined. 6. The method of claim 5 , wherein the tunnel header comprises a base tunnel header to store the tenant identifier, and an option header to store the set of hop identifiers. 7. The method of claim 1 , wherein the tunnel header encapsulates each data messages by being placed outside of layers 2 and 3 headers of the data message. 8. The method of claim 1 , wherein the tunnel header is based on a tunneling protocol that allows the tunnel header to have a variable size by having a variable-sized option field, in which the set of next hop identifiers are stored. 9. The method of claim 1 , wherein the selected path traverses through a set of hops based on a particular sequence; an outer portion of each tunnel header comprises a destination network address that is a network address of a forwarding element that is first hop in the particular sequence. 10. The method of claim 9 , wherein at each subsequent hop in the selected path that is not the last hop in the selected path, a forwarding element processes a received encapsulated data message by: identifying the next hop identifier in the hop identifier set to identify the next forwarding element along the selected path; identifying a tunnel to the next hop; and adjusting the encapsulating header of the data message for forwarding along the identified tunnel, said adjusting comprising adjusting the outer portion of the tunnel header to include a network address of the next hop as the destination network address. 11. The method of claim 10 , wherein the tunnel headers include a next hop index value that identifies the next hop in the selected path, and each subsequent hop that is not the last forwarding element uses the next hop index value to identify the next hop identifier in the selected path. 12. The method of claim 1 , wherein the hope identifiers are the network addresses in the network. 13. A non-transitory machine readable medium storing a program which when executed by at least one processing unit specifies a path for a data message flow through a network to reach a destination, the program implementing an ingress forwarding element connected to a source machine for the data message flow, the program comprising sets of instructions for: based on a type of content carried by the data message flow, selecting a particular path from a plurality of candidate paths that are viable paths through the network to a destination of the data message flow; encapsulating each data message in the flow with a tunnel header that stores a set of hop identifiers identifying a set of hops along the network that define the selected path through the network; and forwarding the encapsulated data messages of the flow along the network, said set of next hop identifiers processed by forwarding elements in the network to direct the data messages to the destination. 14. The non-transitory machine readable medium of claim 13 , wherein the set of instructions for selecting the particular path comprises sets of instructions for: identifying the type of content carried by the data message flow; and from the plurality of paths to the destination, selecting the path to the destination by using the identified content type of the data message flow to identify a record that identifies the particular path. 15. The non-transitory machine readable medium of claim 13 , wherein the set of next hop identifiers comprises a set of forwarding-element identifiers that identify a set of forwarding elements along the selected particular path to the destination. 16. The non-transitory machine readable medium of claim 13 , wherein the network is a multi-tenant network, the program further comprises a set of instructions for storing a tenant identifier in the encapsulating tunnel header to identify a tenant associated with the data message flow. 17. The non-transitory machine readable medium of claim 16 , wherein the stored tenant identifier allows multiple different tenants to use a same set of tunnels between a set of forwarding elements through which a set of paths are defined. 18. The non-transitory machine readable medium of claim 17 , wherein the tunnel header comprises a base tunnel header to store the tenant identifier, and an option header to store the set of hop identifiers. 19. The non-transitory machine readable medium of claim 13 , wherein the tunnel header encapsulates each data messages by being placed outside of layers 2 and 3 headers of the data message. 20. The non-transitory machine readable medium of claim 13 , wherein the tunnel header is based on a tunneling protocol that allows the tunnel header to have a variable size by having a variable-sized option field, in which the set of next hop identifiers are stored.

Assignees

Inventors

Classifications

  • Address table lookup; Address filtering · CPC title

  • using tunnelling or encapsulation · CPC title

  • across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP] · CPC title

  • using label swapping, e.g. multi-protocol label switch [MPLS] · CPC title

  • Flow based routing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11265187B2 cover?
For a multi-tenant environment, some embodiments of the invention provide a novel method for (1) embedding a specific path for a tenant's data message flow through a network in tunnel headers encapsulating the data message flow, and then (2) using the embedded path information to direct the data message flow through the network. In some embodiments, the method selects the specific path from two…
Who is the assignee on this patent?
Nicira Inc
What technology area does this patent fall under?
Primary CPC classification H04L12/4633. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 01 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).