Managing network traffic in virtual switches based on logical port identifiers
US-2018205673-A1 · Jul 19, 2018 · US
US10142183B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10142183-B2 |
| Application number | US-201615252036-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 30, 2016 |
| Priority date | Aug 30, 2016 |
| Publication date | Nov 27, 2018 |
| Grant date | Nov 27, 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.
Snapshotting and instantiating a virtual topology are described. A virtual topology includes a set of virtual topology entities (VTEs), each associated with VTE characteristics. A snapshot engine traverses each VTE in a virtual topology instantiated on a physical topology. The snapshot engine stores the VTE characteristics of each traversed VTE in a virtual topology template. The virtual topology template may be used to deploy the same virtual topology onto another physical topology. Additionally or alternatively, a deployment engine receives a virtual topology template and/or user commands for instantiating a virtual topology. The deployment engine generates deployment commands based on the virtual topology template and/or user commands. The deployment engine identifies VTE characteristics of each VTE based on the deployment commands. The deployment engine instantiates each VTE onto a physical topology. A single virtual topology template may be used to deploy the same virtual topology onto one or more physical topologies.
Opening claim text (preview).
What is claimed is: 1. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising: identifying a plurality of virtual topology entities (VTEs) in a first virtual topology, wherein each VTE of the plurality of VTEs is associated with a functionality; traversing each VTE of the plurality of VTEs to determine respective relationships associated with each VTE; wherein a particular relationship associated with a first VTE, of the plurality of VTEs, identifies (a) a second VTE, of the plurality of VTEs, that is related to the first VTE and (b) a forwarding policy that governs a transmission of data between the first VTE and the second VTE; storing a description of the respective relationships associated with each VTE of the plurality of VTEs into a virtual topology template; and instantiating, on one or more hardware devices, a second virtual topology including the plurality of VTEs, and the respective relationships associated with the plurality of VTEs, based on the virtual topology template. 2. The medium of claim 1 , wherein the plurality of VTEs are identified based on the first virtual topology instantiated on a first physical topology, and the virtual topology template is used to instantiate the second virtual topology on a second physical topology. 3. The medium of claim 1 , wherein the operations further comprise: instantiating a plurality of virtual topologies onto different physical topologies based on the virtual topology template. 4. The medium of claim 1 , wherein the virtual topology template comprises a description of the virtual topology expressed in graphic form. 5. The medium of claim 1 , wherein the virtual topology template comprises a description of the virtual topology expressed in code form. 6. The medium of claim 1 , wherein traversing each VTE of the plurality of VTEs to determine respective relationships for each VTE comprises: setting an initial VTE, for initiating a snapshotting process, as a current VTE; identifying a relationship for the current VTE; identifying a related VTE that is related to the current VTE; setting the related VTE as the current VTE; and iterating the operation of identifying the relationship for the current VTE. 7. The medium of claim 1 , wherein the functionality associated with a particular VTE, of the plurality of VTEs, comprises an ability to perform at least one of: routing and/or forwarding data to a next hop; filtering and/or rejecting data based on a criterion; inspecting data for security issues and/or other issues; hiding and/or modifying a source address and/or destination address of data; distributing data to resources based on availability of resources; compressing data; and caching data. 8. The medium of claim 1 , wherein the forwarding policy determines a next hop for a data packet based upon a destination prefix of the data packet. 9. The medium of claim 1 , wherein each VTE of the plurality of VTEs is further associated with a configuration that comprises an attribute associated with implementing the functionality corresponding to the VTE. 10. The medium of claim 1 , wherein the virtual topology satisfies a particular network requirement. 11. The medium of claim 1 , wherein the forwarding policy specifies an intermediate VTE to be traversed between the first VTE and the second VTE. 12. The medium of claim 1 , wherein the forwarding policy specifies a filtering criteria for data packets transmitted between the first VTE and the second VTE. 13. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising: obtaining a virtual topology template comprising a description of a plurality of virtual topology entities (VTEs); wherein the virtual topology template specifies (a) a functionality associated with each VTE of the plurality of VTEs and (b) a relationship associated with each VTE of the plurality of VTEs; wherein a particular relationship associated with a first VTE, of the plurality of VTEs, identifies (a) a second VTE, of the plurality of VTEs, that is related to the first VTE and (b) a forwarding policy that governs a transmission of data between the first VTE and the second VTE; based on the virtual topology template, generating a set of commands for instantiating a virtual topology including the plurality of VTEs, the set of commands indicating: a first set of VTE characteristics corresponding to a first VTE; a second set of VTE characteristics corresponding to a second VTE; the particular relationship between the first VTE and the second VTE; instantiating, on a first set of one or more hardware devices, the first VTE in accordance with the first set of VTE characteristics; instantiating, on a second set of one or more hardware devices, the second VTE in accordance with the second set of VTE characteristics; and establishing the particular relationship between the first VTE and the second VTE by executing an interface between the first VTE and the second VTE that implements the forwarding policy. 14. The medium of claim 13 , wherein executing the interface between the first VTE and the second VTE that implements the forwarding policy comprises: allowing encapsulation mappings to be shared across the first VTE and the second VTE. 15. The medium of Claim 13 , wherein the virtual topology template is generated based on an instantiated virtual topology. 16. The medium of claim 13 , wherein instantiating the first VTE comprises: causing execution of an encapsulation-decapsulation network interface card associated with the first VTE, the encapsulation-decapsulation network interface card being configured to encapsulate data for transmission via an underlying network. 17. The medium of claim 13 , wherein the particular relationship between the first VTE and the second VTE requires that data transmitted from the first VTE to the second VTE must traverse a third VTE. 18. The medium of claim 13 , wherein instantiating the first VTE comprises: causing execution of an application configured to implement a functionality specified by the first set of VTE characteristics. 19. A method comprising: identifying a plurality of virtual topology entities (VTEs) in a first virtual topology, wherein each VTE of the plurality of VTEs is associated with a functionality; traversing each VTE of the plurality of VTEs to determine respective relationships associated with each VTE; wherein a particular relationship associated with a first VTE, of the plurality of VTEs, identifies (a) a second VTE, of the plurality of VTEs, that is related to the first VTE, and (b) a forwarding policy that governs a transmission of data between the first VTE and the second VTE; storing a description of the respective relationships associated with each VTE of the plurality of VTEs into a virtual topology template; and instantiating, on one or more hardware devices, a second virtual topology including the plurality of VTEs, and the respective relationships associated with the plurality of VTEs, based on the virtual topology template; wherein the method is performed by at least one device including a hardware processor. 20. The method of claim 19 , wherein the plurality of VTEs are identified based on the first virtual topology instantiated on a first physical topology, and the virtual topology template is used to instantiate the second vi
Virtual LANs, VLANs, e.g. virtual private networks [VPN] (LAN interconnection over a bridge based backbone H04L12/462; encapsulation techniques H04L12/4633; routing of packets H04L45/00; packet switches H04L49/00; virtual private networks for security H04L63/0272) · CPC title
Discovery or management of network topologies · CPC title
Topology update or discovery · CPC title
of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV] · CPC title
Interconnection of networks using encapsulation techniques, e.g. tunneling · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.