Specifying and distributing service chains

US10949244B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10949244-B2
Application numberUS-201916445062-A
CountryUS
Kind codeB2
Filing dateJun 18, 2019
Priority dateFeb 22, 2019
Publication dateMar 16, 2021
Grant dateMar 16, 2021

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.

Some embodiments provide novel methods for performing services for machines operating in one or more datacenters. For instance, for a group of related guest machines (e.g., a group of tenant machines), some embodiments define two different forwarding planes: (1) a guest forwarding plane and (2) a service forwarding plane. The guest forwarding plane connects to the machines in the group and performs L2 and/or L3 forwarding for these machines. The service forwarding plane (1) connects to the service nodes that perform services on data messages sent to and from these machines, and (2) forwards these data messages to the service nodes. In some embodiments, the guest machines do not connect directly with the service forwarding plane. For instance, in some embodiments, each forwarding plane connects to a machine or service node through a port that receives data messages from, or supplies data messages to, the machine or service node. In such embodiments, the service forwarding plane does not have a port that directly receives data messages from, or supplies data messages to, any guest machine. Instead, in some such embodiments, data associated with a guest machine is routed to a port proxy module executing on the same host computer, and this other module has a service plane port. This port proxy module in some embodiments indirectly can connect more than one guest machine on the same host to the service plane (i.e., can serve as the port proxy module for more than one guest machine on the same host).

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for deploying a plurality of service nodes to provide services for data message flows, the method comprising: receiving a request to create a service attachment representing a logical service forwarding plane to forward data messages to the service nodes, the service attachment comprising a plurality of attributes including a type of attribute that is assigned to a first type value from a plurality of type values, each type value specifying a different type of logical service forwarding plane and the first type value specifying a first type of logical service forwarding plane; receiving requests to deploy service nodes to connect to the service attachment; generating configuration data to define a set of one or more logical forwarding elements (LFEs) to implement the logical service forwarding plane represented by the requested service attachment, each LFE spanning multiple computers; and deploying a plurality of service instances and associating the service instances with the set of LFEs, in order to deploy the service nodes and to connect the service nodes to the logical service forwarding plane. 2. The method of claim 1 , wherein the set of LFEs comprises a logical switch that spans multiple host computers executing machines that are sources or destinations of the data message flows on which the services have to be performed. 3. The method of claim 1 , wherein the set of LFEs comprises a logical router that spans multiple host computers executing machines that are sources or destinations of the data message flows on which the services have to be performed. 4. The method of claim 1 , wherein the set of LFEs comprises at least one logical switch and at least one logical router, with each spanning multiple host computers executing machines that are sources or destinations of the data message flows on which the services have to be performed. 5. The method of claim 1 , wherein the generated configuration data configures a plurality of software forwarding elements executing on a plurality of computers to implement the set of LFEs. 6. The method of claim 5 , wherein the generated configuration data configures at least one hardware forwarding element to implement the set of LFEs. 7. The method of claim 1 , wherein the logical service forwarding plane is a first forwarding plane, the method further comprising: receiving multiple requests to create multiple service attachments and to deploy multiple sets of service nodes for multiple different logical service forwarding planes; and for each requested service attachment, generating configuration data to define a set of one or more LFEs to implement a particular logical service forwarding plane represented by the requested service attachment; and deploying a plurality of service instances and associating the service instances with the set of LFEs, in order to deploy the service nodes and to connect the service nodes to the particular logical service forwarding plane wherein the first forwarding plane comprises a logical router; wherein at least one of the multiple different logical service forwarding planes does not comprise a logical router. 8. The method of claim 7 , wherein each service attachment, each service forwarding plane, each set of LFEs and each deployed plurality of service nodes are associated with a different tenant in a multi-tenant network. 9. The method of claim 7 , wherein each service attachment, each service forwarding plane, each set of LFEs and each deployed plurality of service nodes are associated with a different logical network, but all of the different logical networks process data messages originating or terminating on machines of one entity. 10. The method of claim 7 , wherein each service attachment, each service forwarding plane, each set of LFEs and each deployed plurality of service nodes are providing services with different QoS or SLA guarantees for different data message flows of one entity. 11. The method of claim 1 , wherein deploying the service instances comprises: specifying, for each service instance, a service attachment identifier that identifies the service attachment associated with the service node; and associating the service attachment identifier of each service instance with an LFE in the set of LFEs that implements the logical service plane. 12. The method of claim 11 , wherein associating the service attachment identifier comprises associating the service attachment identifier with a port on the associated LFE. 13. The method of claim 1 , wherein at least a first service node is implemented by a high availability pair of service instances while a second service node is implemented by just one service instance. 14. The method of claim 1 , wherein receiving the request to create the service attachment comprises receiving the request from a management plane server; wherein generating the configuration data comprises generating the configuration data at a control plane server in response instructions from the management plane server regarding the received request. 15. A non-transitory machine readable medium storing a program for execution by at least one processing unit and for deploying a plurality of service nodes to provide services for data message flows, the program comprising sets of instructions for: receiving a request to create a service attachment representing a logical service forwarding plane to forward data messages to the service nodes, the service attachment comprising a plurality of attributes including a type of attribute that is assigned to a first type value from a plurality of type values, each type value specifying a different type of logical service forwarding plane and the first type value specifying a first type of logical service forwarding plane; receiving requests to deploy service nodes to connect to the service attachment; generating configuration data to define a set of one or more logical forwarding elements (LFEs) to implement the logical service forwarding plane represented by the requested service attachment, each LFE spanning multiple computers; and deploying a plurality of service instances and associating the service instances with the set of LFEs, in order to deploy the service nodes and to connect the service nodes to the logical service forwarding plane. 16. The non-transitory machine readable medium of claim 15 , wherein the set of LFEs comprises a logical switch that spans multiple host computers executing machines that are sources or destinations of the data message flows on which the services have to be performed. 17. The non-transitory machine readable medium of claim 15 , wherein the set of LFEs comprises a logical router that spans multiple host computers executing machines that are sources or destinations of the data message flows on which the services have to be performed. 18. The non-transitory machine readable medium of claim 15 , wherein the set of LFEs comprises at least one logical switch and at least one logical router, with each spanning multiple host computers executing machines that are sources or destinations of the data message flows on which the services have to be performed. 19. The non-transitory machine readable medium of claim 15 , wherein the generated configuration data configures a plurality of software forwarding elements executing on a plurality of computers to implement the set of LFEs. 20. The non-transitory machine readable medium of claim 19 , wherein the generated configuration data configures at least

Assignees

Inventors

Classifications

  • Address table lookup; Address filtering · CPC title

  • Profiles · CPC title

  • Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements · CPC title

  • using virtualisation of network functions or resources, e.g. SDN or NFV entities · CPC title

  • Assignment of logical groups to network elements · 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 US10949244B2 cover?
Some embodiments provide novel methods for performing services for machines operating in one or more datacenters. For instance, for a group of related guest machines (e.g., a group of tenant machines), some embodiments define two different forwarding planes: (1) a guest forwarding plane and (2) a service forwarding plane. The guest forwarding plane connects to the machines in the group and perf…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 16 2021 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).