# US 2014/0153388 A1 · Rate limit managers to assign network traffic flows

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

- Number: US 2014/0153388 A1
- Document ID: US20140153388A1
- Status: Published application
- Kind: A1
- Application number: 13/690,426
- Filed: 2012-11-30
- Published: 2014-06-05
- Earliest claimed: 2012-11-30
- Assignees: Hewlett-Packard Development Company, L.P.
- Applicants: Hewlett-Packard Development Compan
- Inventors: Kevin C. Webb; Praveen Yalagandula; Jean Tourrilhes; Sujata Banerjee; Jeffrey C. Mogul; Puneet Sharma
- Web page: https://patentgrep.com/patent/US20140153388A1

## CPC

- H04L 47/20: Traffic policing
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A rate limit manager is to assign network traffic flows to hardware rate limiters. The network traffic flows are associated with rate limit values. The rate limit manager determines threshold values to assign flow(s) to hardware rate limiters, and the rate limit manager is to assign flow(s) to a last remaining unassigned hardware rate limiter independent of the threshold value.

## Claims

### Claim 1

A system comprising:
a rate limit manager to assign a plurality of network traffic flows to a plurality of hardware rate limiters, wherein the plurality of hardware rate limiters is to enforce rate limits of a plurality of network traffic flows, wherein each of the plurality of network traffic flows is associated with a corresponding rate limit value;
wherein the rate limit manager is to determine, for an unassigned one of the plurality of hardware rate limiters, a threshold value; and to assign a group of at least one of the plurality of flows to the unassigned hardware rate limiter based on the threshold value;
wherein the rate limit manager is to assign, to a last remaining unassigned hardware rate limiter, at least one of the remaining unassigned flows, independent of the threshold value.

### Claim 2 (depends on 1)

The system of claim 1, wherein the threshold value is based on a sum of rate limit values from unassigned flows divided by a number of unassigned hardware rate limiters.

### Claim 3 (depends on 1)

The system of claim 1, wherein the group is based on a fewest number of at least one of the plurality of flows whose sum of at least one of the plurality of corresponding rate limit values is to meet or exceed the threshold

### Claim 4 (depends on 1)

The system of claim 1, wherein the rate limit manager is to direct the hardware rate limiter to enforce a shared rate limit for its assigned flows, based on a product of the number of its assigned flows and a highest rate limit value among the assigned flows.

### Claim 5 (depends on 1)

The system of claim 1, wherein the threshold value is based on a function of at least one of rate limit demand, port, tenant identification, and preferred status associated with the flows.

### Claim 6

A method of assigning a plurality of network traffic flows to a plurality of hardware rate limiters, comprising:
determining, by a rate limit manager, a threshold value for an unassigned hardware rate limiter based on unassigned flows and unassigned hardware rate limiters;
assigning, by the rate limit manager, a group of unassigned flows to the unassigned hardware rate limiter, based on the threshold value;
determining, by the rate limit manager, a last remaining unassigned hardware rate limiter; and
assigning, by the rate limit manager, to the last remaining unassigned hardware rate limiter, at least one of the remaining unassigned flows, independent of the threshold.

### Claim 7 (depends on 6)

The method of claim 6, wherein the plurality of network traffic flows are associated with corresponding respective rate limit values, the method further comprising sorting the unassigned flows based on their corresponding respective rate limit values, and determining the group based on including a next unassigned flow corresponding to the next largest sorted rate limit value.

### Claim 8 (depends on 6)

The method of claim 6, wherein the plurality of network traffic flows are associated with corresponding respective rate limit demands, the method further comprising sorting the unassigned flows based on their corresponding respective rate limit demands, and determining the group based on including a next unassigned flow corresponding to the next largest sorted rate limit demand.

### Claim 9 (depends on 6)

The method of claim 6, wherein determining the group of unassigned flows to be assigned includes selecting a flow to be assigned based on a tenant identification corresponding to a tenant associated with the flow.

### Claim 10 (depends on 6)

The method of claim 6, wherein determining the group of unassigned flows to be assigned includes selecting a flow to be assigned based on a difference between the rate limit value associated with the flow to be assigned, and a mean of rate limit values of the group.

### Claim 11 (depends on 6)

The method of claim 6, wherein determining the group of unassigned flows to be assigned includes identifying a rate limit demand associated with a flow to be assigned, and selecting the flow to be assigned based on a difference between the rate limit demand of the flow to be assigned, and a mean of rate limit demands of the group.

### Claim 12 (depends on 6)

The method of claim 6, wherein determining the group of unassigned flows to be assigned includes selecting a flow to be assigned based on a preferred status associated with the flow to be assigned.

### Claim 13 (depends on 6)

The method of claim 6, wherein determining the group of unassigned flows to be assigned includes selecting a flow to be assigned based on a port associated with the flow to be assigned, wherein the rate limit value is a function of the port.

### Claim 14

A non-transitory machine-readable storage medium encoded with instructions that if executed cause a system to:
determine, for an unassigned hardware rate limiter, a threshold value associated with an unassigned plurality of network traffic flows;
sort the unassigned flows according to their respective associated rate limit values;
determine, by a rate limit manager, a group of unassigned flows to be assigned to the unassigned hardware rate limiter, based on the unassigned flows taken in sorted order; and
assign the group to the unassigned hardware rate limiter.

### Claim 15 (depends on 14)

The storage medium of claim 14, further comprising instructions that cause the system to determine the threshold value based on a sum of rate limit values for unassigned flows divided by a number of unassigned hardware rate limiters, and determine the group to be assigned based on the unassigned flows whose sum of at least one of the plurality of corresponding rate limit values is to meet or exceed the threshold.
