# US 12,192,109 B2 · Virtualized QoS support in software defined networks

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,192,109 B2
- Document ID: US12192109B2
- Status: Granted
- Kind: B2
- Application number: 18/371,454
- Filed: 2023-09-22
- Published: 2024-01-11
- Granted: 2025-01-07
- Earliest claimed: 2021-06-08
- Assignees: VMware, Inc.
- Applicants: VMware LLC
- Inventors: Dexiang Wang; Sreeram Kumar Ravinoothala; Yong Wang; Jerome Catrouillet
- Web page: https://patentgrep.com/patent/US12192109B2

## CPC

- H04L 47/2416: Real-time traffic
- H04L 43/0888: Throughput
- H04L 47/122: by diverting traffic away from congested entities
- H04L 47/125: by balancing the load, e.g. traffic engineering
- H04L 47/2433: {Allocation of priorities to traffic types}
- H04L 47/781: {Centralised allocation of resources}
- H04L 43/0894: Packet rate
- H04L 43/20: the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A network system that implements quality of service (QoS) by rate limiting at a logical network entity is provided. The logical network entity includes multiple transport nodes for transporting network traffic in and out of the logical network entity. The system monitors traffic loads of the multiple transport nodes of the logical network entity. The system allocates a local CR and a local BS to each of the multiple transport nodes. The allocated local CR and the local BS are determined based on the CR and BS parameters of the logical network entity and based on the monitored traffic loads. Each transport node of the logical network entity in turn controls an amount of data being processed by the transport node based on a token bucket value that is computed based on the local CR and the local BS of the transport node.

## Claims

### Claim 1

A method performing distributed rate limiting on a plurality of host computers, the method comprising:
identifying a QoS (Quality of Service) value that is collectively assigned to a plurality of managed forwarding elements (MFEs) executing on the plurality of host computers;
based on the identified QoS value, assigning, to each host computer, an initial rate limit specifying an amount of packets that the MFE executing on the host computer is allowed to process;
monitoring amount of traffic processed by the MFEs;
based on the monitoring, adjusting the assigned rate limit on a set of two or more of the host computers to adjust how the MFEs on the set of host computers process the packets;
wherein assigning the initial rate limit comprises providing each host computer with a committed rate (CR) parameter and a burst size (BS) parameter that conjunctively control a rate at which the MFE on the host computer forwards packets.

### Claim 2 (depends on 1)

The method of claim 1, wherein the MFEs are configured to implement a logical forwarding element (LFE) for a logical network that is defined over a physical network that comprises the MFEs.

### Claim 3 (depends on 2)

The method of claim 2, wherein the QOS value is a QoS value associated with the LFE.

### Claim 4 (depends on 3)

The method of claim 3, wherein the LFE is a logical router, and the MFEs are managed software routers executing on the host computers.

### Claim 5 (depends on 1)

The method of claim 1, wherein the rate of packets forwarded by each host computer's MFE is based on a token bucket value that is computed based on the CR and BS parameters provided to each host computer.

### Claim 6 (depends on 1)

The method of claim 1, wherein adjusting the assigned rate comprises adjusting the CR and BS parameters for each of the two or more host computers.

### Claim 7 (depends on 1)

The method of claim 1, wherein assigning the initial rate limit further comprises allocating CR and BS parameters evenly among the plurality host computers.

### Claim 8 (depends on 1)

The method of claim 1, wherein the BS parameter for each host computer caps an amount of data allowed to be processed by the MFE of the host computer.

### Claim 9 (depends on 1)

The method of claim 1, wherein said monitoring comprises periodically collecting traffic load information from each host computer.

### Claim 10

A non-transitory machine readable medium storing a program for performing distributed rate limiting on a plurality of host computers, the program for execution by at least one processing unit and comprising sets of instructions for:
identifying a QoS (Quality of Service) value that is collectively assigned to a plurality of managed forwarding elements (MFEs) executing on the plurality of host computers;
based on the identified QoS value, assigning, to each host computer, an initial rate limit specifying an amount of packets that the MFE executing on the host computer is allowed to process;
monitoring amount of traffic processed by the MFEs;
based on the monitoring, adjusting the assigned rate limit on a set of two or more of the host computers to adjust how the MFEs on the set of host computers process the packets;
wherein the set of instructions for assigning the initial rate limit comprises a set of instructions for providing each host computer with a committed rate (CR) parameter and a burst size (BS) parameter that conjunctively control a rate at which the MFE on the host computer forwards packets.

### Claim 11 (depends on 10)

The non-transitory machine readable medium of claim 10, wherein the MFEs are configured to implement a logical forwarding element (LFE) for a logical network that is defined over a physical network that comprises the MFEs.

### Claim 12 (depends on 11)

The non-transitory machine readable medium of claim 11, wherein the QoS value is a QOS value associated with the LFE.

### Claim 13 (depends on 12)

The non-transitory machine readable medium of claim 12, wherein the LFE is a logical router, and the MFEs are managed software routers executing on the host computers.

### Claim 14 (depends on 10)

The non-transitory machine readable medium of claim 10, wherein the rate of packets forwarded by each host computer's MFE is based on a token bucket value that is computed based on the CR and BS parameters provided to each host computer.

### Claim 15 (depends on 10)

The non-transitory machine readable medium of claim 10, wherein the set of instructions for adjusting the assigned rate comprises a set of instructions for adjusting the CR and BS parameters for each of the two or more host computers.

### Claim 16 (depends on 10)

The non-transitory machine readable medium of claim 10, wherein the set of instructions for assigning the initial rate limit further comprises a set of instructions for allocating CR and BS parameters evenly among the plurality host computers.

### Claim 17 (depends on 10)

The non-transitory machine readable medium of claim 10, wherein the BS parameter for each host computer caps an amount of data allowed to be processed by the MFE of the host computer.

### Claim 18 (depends on 10)

The non-transitory machine readable medium of claim 10, wherein said the set of instructions for monitoring comprises a set of instructions for periodically collecting traffic load information from each host computer.
