Endpoint admission control
US-2018176181-A1 · Jun 21, 2018 · US
US11483246B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11483246-B2 |
| Application number | US-202016741457-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 13, 2020 |
| Priority date | Jan 13, 2020 |
| Publication date | Oct 25, 2022 |
| Grant date | Oct 25, 2022 |
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.
Some embodiments provide, for a gateway datapath that executes on a gateway device to implement tenant logical routers for multiple different tenant logical networks and process traffic between the tenant logical networks and an external network, a method for managing QoS for the plurality of tenant logical networks. The method receives a data message for a particular tenant logical network. The method executes a set of processing stages to process the data message. The set of processing stages includes a processing stage for a particular tenant logical router of the particular tenant logical network. As part of the processing stage for the particular tenant logical router, the method uses a QoS data structure specific to the particular tenant logical router to determine whether to allow the data message. The gateway device stores at least one separate QoS data structure for each of a set of the tenant logical routers.
Opening claim text (preview).
We claim: 1. For a gateway datapath that executes on a gateway device to implement tenant logical routers for a plurality of different tenant logical networks and process traffic between the tenant logical networks and an external network, a method for managing quality of service (QoS) for the plurality of tenant logical networks, the method comprising: receiving a data message for a particular tenant logical network at the gateway device; executing a set of processing stages to process the data message, the set of processing stages comprising a processing stage for a particular tenant logical router of the particular tenant logical network; and as part of the processing stage for the particular tenant logical router, using a QoS data structure specific to the particular tenant logical router to determine whether to allow the data message, wherein (i) the QoS data structure specific to the particular tenant logical router is used to determine whether to allow each data message of a plurality of data messages for which the processing stage for the particular tenant logical router is executed, (ii) the gateway device stores at least one separate QoS data structure for each of a set of the tenant logical routers, and (iii) each respective QoS data structure for a respective tenant logical router comprises (1) a burst size parameter that specifies a maximum amount of data that the gateway device is allowed to process for the respective tenant logical network at peak bandwidth, (2) a bandwidth parameter that specifies a committed rate for the gateway device to process data for the respective tenant logical router, and (3) a token value that specifies a current amount of data that can be processed for the respective tenant logical router. 2. The method of claim 1 further comprising updating the QoS data structure specific to the particular tenant logical router based on a size of the data message. 3. The method of claim 1 , wherein the gateway device stores, for each tenant logical router of the set of tenant logical routers, (i) a first QoS data structure for data traffic entering the logical network from the external network and (ii) a second QoS data structure for data traffic exiting the logical network to the external network. 4. The method of claim 1 , wherein using the QoS data structure specific to the tenant logical router comprises comparing a size of the data message to a current token value for the QoS data structure for the particular tenant logical router. 5. The method of claim 4 , further comprising updating the token value of the QoS data structure for the particular tenant logical router by (i) subtracting from the token value the amount of data processed for the particular tenant logical router since a prior update to the token value and (ii) adding to the token value an amount of data equal to the bandwidth parameter of the QoS data structure for the particular tenant logical router multiplied by an amount of time from the prior update to the current updating of the token value. 6. The method of claim 5 , wherein the addition to the token value is capped by the burst size parameter. 7. The method of claim 5 , wherein configuration data for the processing stage for the particular tenant logical router comprises a specification of the QoS data structure specific to the particular tenant logical router. 8. The method of claim 1 , wherein the data message is a first data message, the particular tenant logical network is a first tenant logical network, the particular tenant logical router is a first tenant logical router, the set of processing stages is a first set of processing stages, and the QoS data structure is a first QoS data structure, the method further comprising: receiving a second data message for a second tenant logical network at the gateway device; executing a second set of processing stages to process the second data message, the second set of processing stages comprising a processing stage for a second tenant logical router of the second tenant logical network; and as part of the processing stage for the second tenant logical router, using a second QoS data structure specific to the second tenant logical router to determine whether to allow the second data message. 9. The method of claim 1 , wherein: the gateway device comprises a set of processing units with a plurality of cores available for processing data messages; the set of processing stages for the data message is executed by a particular one of the available cores to which the data message is assigned; and different data messages for the particular tenant logical network are assigned to different available cores of the gateway device. 10. The method of claim 9 , wherein the different data messages for the particular tenant logical network and for other logical networks are assigned to the different available cores using a hash function that does not account for the tenant logical networks to which the data messages belong. 11. The method of claim 9 , wherein each respective QoS data structure for a respective tenant logical router further comprises a separate parameter for each available core that indicates an amount of data that has been processed by the core for the respective tenant logical router. 12. The method of claim 11 , further comprising, as part of the processing for the particular tenant logical router, updating the parameter for the particular core based on a size of the data message. 13. The method of claim 11 , wherein each respective available core updates the respective parameter for the respective core in the QoS data structure for a respective tenant logical router when the respective core processes a data message for the respective tenant logical router. 14. The method of claim 11 , wherein each respective available core executes a respective thread that is allowed to read the token values of the QoS data structures and write to the respective parameter for the respective core. 15. The method of claim 14 , further comprising executing an additional thread that is not tied to any of the available cores of the gateway device, wherein the additional thread updates the token values of the QoS data structures based on (i) the separate parameters of the QoS data structures for each available core and (ii) the bandwidth parameters of the QoS data structures. 16. A non-transitory machine readable medium storing a gateway datapath program for execution by a set of processing cores of a gateway device to implement tenant logical routers for a plurality of different tenant logical networks and process traffic between the tenant logical networks and an external network, the gateway datapath program managing quality of service (QoS) for the plurality of tenant logical networks, the gateway datapath program comprising sets of instructions for: receiving a data message for a particular tenant logical network at the gateway device; executing a set of processing stages to process the data message, the set of processing stages comprising a processing stage for a particular tenant logical router of the particular tenant logical network; and as part of the processing stage for the particular tenant logical router, using a QoS data structure specific to the particular tenant logical router to determine whether to allow the data message, wherein (i) the QoS data structure specific to the particular tenant logical router is used to determine whether to allow each data message of a plurality of data messages for which the processing stage for the particular tenant logical router is executed, (ii) the gateway device stor
Related publications grouped by family.
Answers are generated from the same data shown on this page.