Providing stateful services in a scalable manner for machines executing on host computers

US11611625B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11611625-B2
Application numberUS-202017122153-A
CountryUS
Kind codeB2
Filing dateDec 15, 2020
Priority dateDec 15, 2020
Publication dateMar 21, 2023
Grant dateMar 21, 2023

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 a method for performing services on a host computer that executes several machines in a datacenter. The method configures a first set of one or more service containers for a first machine executing on the host computer, and a second set of one or more service containers for a second machine executing on the host computer. Each configured service container performs a service operation on data messages associated with a particular machine. For each particular machine, the method also configures a module along the particular machine's datapath to identify a subset of service operations to perform on a set of data messages associated with the particular machine, and to direct the set of data messages to a set of service containers configured for the particular machine to perform the identified set of service operations on the set of data messages.

First claim

Opening claim text (preview).

We claim: 1. A method for providing services on a host computer that executes a plurality of machines, the method comprising: configuring, for a first machine executing on the host computer, a first plurality of service containers to perform a first plurality of service operations for the first machine; configuring, for a second machine executing on the host computer, a second plurality of service containers to perform a second plurality of service operations for the second machine, said first and second pluralities of service containers executing on the host computer; configuring, for each particular machine of the first and second machines, a module along the particular machine's data path to identify a set of service operations to perform on a set of data messages associated with the particular machine, and to direct the set of data messages to a set of service containers configured for the particular machine to perform the identified set of service operations on the set of data messages. 2. The method of claim 1 , wherein the first and second pluralities of service containers are respectively configured when the first and second machines are configured on the host computers. 3. The method of claim 1 , wherein at least two service containers in the first plurality of service containers are configured on two separate Pods. 4. The method of claim 1 , wherein the first and second machines belong to one logical network implemented over a physical network on which a plurality of logical networks are defined. 5. The method of claim 1 , wherein each particular machine's configured module is a classifier that for a data message that it processes, identifies a set of service operations that have to be performed on the data message, and passes the data message to a set of service containers to perform the identified set of service operations on the data message. 6. The method of claim 5 , wherein the module successively passes the data message to successive service containers in the identified set of service containers after receiving the data message from each service container in the identified set of service containers. 7. The method of claim 5 , wherein the module passes the data message by generating a service identifier that specifies the identified set of service operations that have to be performed on the data message by a set of service containers, and providing the service identifier along with the data message so that the data message can be forwarded to successive service containers in the identified set of service containers. 8. The method of claim 7 , wherein service operations in the set of service operations identified by the classifier have a particular order, and the service identifier specifies the particular order. 9. The method of claim 7 , wherein a forwarding element executing on the host computer processes each generated service identifier in order to identify the set of services that has to be performed on the data message for which the service identifier is generated, and to successively provide the data message to service containers in the set of service containers to perform the identified set of service operations. 10. The method of claim 1 , wherein at least one service container in the first plurality of service containers performs a same middlebox service operation as one service container in the second plurality of service containers, and at least another service container in the first plurality of service containers performs another middlebox service operation that is not performed by any other service container in the second plurality of service containers. 11. A method for providing services on a host computer that executes a plurality of machines, the method comprising: configuring, for a first machine executing on the host computer, a first plurality of service containers to perform a first plurality of service operations for the first machine, said configuring the first plurality of service containers comprising configuring on the host computer a first Pod on which the first plurality of service containers for the first machine operate; configuring, for a second machine executing on the host computer, a second plurality of service containers to perform a second plurality of service operations for the second machine, said first and second pluralities of service containers executing on the host computer, said configuring the second plurality of service containers comprising configuring on the host computer a second Pod on which the second plurality of service containers for the second machine operate; configuring, for each particular machine of the first and second machines, a module along the particular machine's data path to identify a set of service operations to perform on a set of data messages associated with the particular machine, and to direct the set of data messages to a set of service containers configured for the particular machine to perform the identified set of service operations on the set of data messages. 12. A non-transitory machine readable medium storing a program for execution by at least one processing unit of the host computer, the program providing services on the host computer that executes a plurality of machines, the program comprising sets of instructions for: configuring, for a first machine executing on the host computer, a first plurality of service containers to perform a first plurality of service operations for the first machine; configuring, for a second machine executing on the host computer, a second plurality of service containers to perform a second plurality of service operations for the second machine, said first and second pluralities of service containers executing on the host computer; configuring, for each particular machine of the first and second machines, a module along the particular machine's data path to identify a set of service operations to perform on a set of data messages associated with the particular machine, and to direct the set of data messages to a set of service containers configured for the particular machine to perform the identified set of service operations on the set of data messages. 13. The non-transitory machine readable medium of claim 12 , wherein the first and second pluralities of service containers are respectively configured when the first and second machines are configured on the host computers. 14. The non-transitory machine readable medium of claim 12 , wherein the program further comprises sets of instructions for: configuring a first Pod on which the first plurality of service containers for the first machine are configured; configuring a second Pod on which the second plurality of service containers for the second machine are configured. 15. The non-transitory machine readable medium of claim 12 , wherein at least two service containers in the first plurality of service containers are configured on two separate Pods. 16. The non-transitory machine readable medium of claim 12 , wherein the first and second machines belong to one logical network implemented over a physical network on which a plurality of logical networks are defined. 17. The non-transitory machine readable medium of claim 12 , wherein each particular machine's configured module is a classifier that for a data message that it processes, identifies a set of service operations that have to be performed on the data message, and passes the data message to a set of service containers to perform the identified set of service operations on the data message. 18. The non-transitory machine read

Assignees

Inventors

Classifications

  • Creating, deleting, cloning virtual machine instances · CPC title

  • Discovery or management thereof, e.g. service location protocol [SLP] or web services · CPC title

  • Configuring for program initiating, e.g. using registry, configuration files · CPC title

  • Distribution of virtual machine instances; Migration and load balancing · CPC title

  • Network integration; Enabling network access in virtual machine instances · 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 US11611625B2 cover?
Some embodiments provide a method for performing services on a host computer that executes several machines in a datacenter. The method configures a first set of one or more service containers for a first machine executing on the host computer, and a second set of one or more service containers for a second machine executing on the host computer. Each configured service container performs a ser…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45545. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 21 2023 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).