IP Library › Granted Patent US 9,450,881
Granted Patent B2
US 9,450,881 · App. 14/142,253 · Granted Sep 20, 2016

Method and system for traffic metering to limit a received packet rate

Inventors: Cristian Florin Dumitrescu (Shannon, IE); Andrey Chilikin (Shannon, IE); Pierre Laurent (Quin, IE); Kannan Babu Ramia (Chandler, AZ); Sravanthi Tangeda (Hillsboro, OR)
Assignee: Intel Corporation
H04L47/527H04L12/5693H04L47/10H04L47/20H04L47/21H04L47/215H04L47/22H04L47/623H04L47/6255
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,450,881
App. No.
14/142,253
Granted
Sep 20, 2016
Kind
B2
Abstract

One embodiment provides a network device. The network device includes a a processor including at least one processor core; a network interface configured to transmit and receive packets at a line rate; a memory configured to store a scheduler hierarchical data structure; and a scheduler module. The scheduler module is configured to prefetch a next active pipe structure, the next active pipe structure included in the hierarchical data structure, update credits for a current pipe and an associated subport, identify a next active traffic class within the current pipe based, at least in part, on a current pipe data structure, select a next queue associated with the identified next active traffic class, and schedule a next packet from the selected next queue for transmission by the network interface if available traffic shaping token bucket credits and available traffic class credits are greater than or equal to a next packet credits.

Claims (50)

1. A network device, comprising:

a processor comprising at least one processor core;

a network interface configured to transmit and receive packets at a line rate;

a memory configured to store a scheduler hierarchical data structure; and

a scheduler circuitry to:

prefetch a next active pipe structure, included in the hierarchical data structure;

update credits for a current pipe and an associated subport;

identify a next active traffic class within the current pipe based, at least, on a current pipe data structure;

select a next queue associated with the identified next active traffic class; and

schedule a next packet from the selected next queue for transmission by the network interface if available traffic shaping (TS) token bucket credits and available traffic class credits are greater than or equal to a next packet credits; and

policer circuitry to:

determine whether to enqueue a received packet based, at least, on a number of metering credits available in a metering token bucket;

set a minimum metering token bucket update period based, at least, on a desired metering accuracy; and

determine a number of metering credits to be added to the metering token bucket for each metering token bucket update period based, at least, on a processor frequency and the line rate, the metering token bucket update period greater than or equal to the minimum token bucket update period.

2. The network device of claim 1 , wherein the scheduler circuitry to further identify the next active pipe based, at least, on an active queues bitmap included in the hierarchical data structure.

3. The network device of claim 1 , wherein a plurality of pipes is processed in parallel.

4. The network device of claim 1 , wherein updating the credits comprises at least one of adding available credits to a first TS token bucket associated with the current pipe, adding available credits to a second TS token bucket associated with the subport and resetting a credit counter associated with the identified next traffic class to an upper limit, if an elapsed time interval since a latest update is greater than or equal to a minimum time interval.

5. The network device of claim 1 , wherein the next queue is selected utilizing a weighted round robin technique.

6. The network device of claim 1 , further comprising a congestion to drop a received packet if an identified destination queue occupancy is above a threshold.

7. A method, comprising:

prefetching, by a scheduler circuitry, a next active pipe structure, the next active pipe structure included in a hierarchical data structure;

updating, by the scheduler circuitry, credits for a current pipe and an associated subport;

identifying, by the scheduler circuitry, a next active traffic class within the current pipe based, at least, on a current pipe data structure;

selecting, by the scheduler module, a next queue associated with the identified next active traffic class; and

scheduling, by the scheduler circuitry, a next packet from the selected next queue for transmission if available traffic shaping (TS) token bucket credits and available traffic class credits are greater than or equal to a next packet credits;

determining, by policer circuitry, whether to enqueue a received packet based, at least, on a number of metering credits available in a metering token bucket;

setting, by the policer circuitry, a minimum metering token bucket update period based, at least, on a desired metering accuracy; and

determining, by the policer circuitry, a number of metering credits to be added to the metering token bucket for each metering token bucket update period based, at least, on a processor frequency and a line rate, the metering token bucket update period greater than or equal to the minimum token bucket update period.

8. The method of claim 7 , further comprising:

identifying, by the scheduler circuitry, the next active pipe based, at least, on an active queues bitmap included in the hierarchical data structure.

9. The method of claim 7 , wherein a plurality of pipes is processed in parallel.

10. The method of claim 7 , wherein updating the credits comprises at least one of adding available credits to a first TS token bucket associated with the current pipe, adding available credits to a second TS token bucket associated with the subport and resetting a credit counter associated with the identified next traffic class to an upper limit, if an elapsed time interval since a latest update is greater than or equal to a minimum time interval.

11. The method of claim 7 , wherein the next queue is selected utilizing a weighted round robin technique.

12. The method of claim 7 , further comprising:

dropping, by a congestion management circuit, received packet if an identified destination queue occupancy is above a threshold.

13. A storage device having stored thereon, individually or in combination, instructions that when executed by one or more processors result in the following operations comprising:

prefetching a next active pipe structure, the next active pipe structure included in a hierarchical data structure;

updating credits for a current pipe and an associated subport;

identifying a next active traffic class within the current pipe based, at least, on a current pipe data structure;

selecting a next queue associated with the identified next active traffic class; and scheduling a next packet from the selected next queue for transmission if available traffic shaping (TS) token bucket credits and available traffic class credits are greater than or equal to a next packet credits;

determining whether to etiquette a received packet based, at least, on a number of metering credits available in a metering token bucket

setting a minimum metering token bucket update period based, at least, on a desired metering accuracy; and

determining a number of metering credits to be added to the metering token bucket for each metering token bucket update period based, at least, on a processor frequency and a line rate, the metering token bucket update period greater than or equal to the minimum token bucket update period.

14. The storage device of claim 13 , wherein the instructions that when executed by one or more processors results in the following additional operations comprising:

identifying the next active pipe based, at least, on an active queues bitmap included in the hierarchical data structure.

15. The storage device of claim 13 , wherein a plurality of pipes is processed in parallel.

16. The storage device of claim 13 , wherein updating the credits comprises at least one of adding available credits to a first TS token bucket associated with the current pipe, adding available credits to a second TS token bucket associated with the subport and resetting a credit counter associated with the identified next traffic class to an upper limit, if an elapsed time interval since a latest update is greater than or equal to a minimum time interval.

17. The storage device of claim 13 , wherein the next queue is selected utilizing a weighted round robin technique.

18. The storage device of claim 13 , wherein the instructions that when executed by one or more processors results in the following additional operations comprising:

dropping a received packet if an identified destination queue occupancy is above a threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2014
From: DUMITRESCU, CRISTIAN FLORIN; CHILIKIN, ANDREY; LAURENT, PIERRE; RAMIA, KANNAN BABU; TANGEDA, SRAVANTHI
To: INTEL CORPORATION
Reel/Frame 033348/0309 →
Continuity (2)
Provisional Application 61844230 · Jul 9, 2013
Related Publication 20150016266A1 · Jan 15, 2015