IP Library Granted Patent US 9,258,248
Granted Patent B2
US 9,258,248 · App. 13/078,599 · Granted Feb 9, 2016

Energy-efficient network device with coordinated scheduling and processor rate control

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,258,248
App. No.
13/078,599
Granted
Feb 9, 2016
Kind
B2
Abstract

A network device of a communication network is configured to implement coordinated scheduling and processor rate control. In one aspect, packets are received in the network device and scheduled for processing from one or more queues of that device. An operating rate of a processor of the network device is controlled based at least in part on at least one of an arrival rate of the packets and a number of the packets stored in the one or more queues. As one example of processor rate control based on packet arrival rate, the operating rate of the processor may be controlled by accumulating a designated number of the received packets, determining an average arrival rate of the accumulated packets, and setting the operating rate of the processor based on the average arrival rate.

Claims (60)

1. A method comprising the steps of:

receiving packets in a network device of a communication network;

scheduling the packets for processing from one or more queues of the network device; and

controlling an operating rate of a processor of the network device based at least in part on at least one of an arrival rate of the packets and a number of said packets stored in said one or more queues;

wherein the controlling step further comprises:

accumulating a designated number of the received packets;

determining an average arrival rate of the accumulated packets; and

setting the operating rate of the processor based on the average arrival rate; and

wherein the step of setting the operating rate of the processor based on the average arrival rate comprises setting the processing rate for an overlapped portion of two adjacent processing intervals to a combined operating rate for the two intervals subject to a maximum operating rate of the processor.

2. The method of claim 1 wherein the accumulating, determining and setting steps are repeated for each of a sequence of processing intervals.

3. The method of claim 2 wherein adjacent ones of the processing intervals are permitted to partially overlap with one another.

4. The method of claim 1 wherein the controlling step further comprises:

determining if at least a given one of the one or more queues is at or below a designated minimum fullness threshold;

if the given queue is at or below the designated minimum fullness threshold, setting the processor operating rate to a first relatively low level; and

subsequently increasing the processor operating rate from the first relatively low level to a second relatively high level.

5. The method of claim 4 wherein the first relatively low level is a minimum operating rate of the processor.

6. The method of claim 4 wherein the second relatively high level is the maximum operating rate of the processor.

7. The method of claim 4 wherein the step of increasing the processor operating rate comprising increasing the processor operating rate linearly as a function of time.

8. The method of claim 1 wherein the controlling step further comprises setting the operating rate of the processor as a designated function of the number of packets stored in the one or more queues.

9. The method of claim 8 wherein the designated function comprises a linear function.

10. The method of claim 1 wherein the step of scheduling the packets for processing further comprises scheduling the packets on a nearest-to-source basis such that one of the packets that has traveled a shorter distance from its source in the network is given priority over another one of the packets that has traveled a longer distance from its source in the network.

11. The method of claim 1 wherein the step of scheduling the packets for processing further comprises scheduling the packets on a farthest-to-go basis such that one of the packets that has a longer distance to travel to its destination in the network is given priority over another one of the packets that has a shorter distance to travel to its destination in the network.

12. The method of claim 1 wherein the step of scheduling the packets for processing further comprises scheduling the packets in accordance with a weighted fair queuing (WFQ) scheduling policy.

13. An article of manufacture comprising a non-transitory computer-readable storage medium having embodied therein executable program code that when executed by a processor of a network device causes the network device to perform the steps of:

receiving packets in the network device of a communication network;

scheduling the packets for processing from one or more queues of the network device; and

controlling an operating rate of the processor of the network device based at least in part on at least one of an arrival rate of the packets and a number of said packets stored in said one or more queues;

wherein the controlling step further comprises:

accumulating a designated number of the received packets;

determining an average arrival rate of the accumulated packets; and

setting the operating rate of the processor based on the average arrival rate; and

wherein the step of setting the operating rate of the processor based on the average arrival rate comprises setting the processing rate for an overlapped portion of two adjacent processing intervals to a combined operating rate for the two intervals subject to a maximum operating rate of the processor.

14. The article of manufacture of claim 13 wherein the controlling step further comprises:

determining if at least a given one of the one or more queues is at or below a designated minimum fullness threshold;

if the given queue is at or below the designated minimum fullness threshold, setting the processor operating rate to a first relatively low level; and

subsequently increasing the processor operating rate from the first relatively low level to a second relatively high level.

15. The article of manufacture of claim 13 wherein the controlling step further comprises setting the operating rate of the processor as a designated function of the number of packets stored in the one or more queues.

16. The article of manufacture of claim 13 wherein the step of scheduling the packets for processing further comprises one or more of:

scheduling the packets on a nearest-to-source basis such that one of the packets that has traveled a shorter distance from its source in the network is given priority over another one of the packets that has traveled a longer distance from its source in the network; and

scheduling the packets on a farthest-to-go basis such that one of the packets that has a longer distance to travel to its destination in the network is given priority over another one of the packets that has a shorter distance to travel to its destination in the network.

17. A network device comprising:

a processor having a controllable operating rate;

a memory coupled to the processor and comprising one or more queues;

network interface circuitry configured to support communication between the network device and one or more additional devices of a communication network; and

a control module;

wherein packets are received via the network interface circuitry and scheduled by the control module for processing from the one or more queues of the memory;

wherein the operating rate of the processor is controlled by the control module based at least in part on at least one of an arrival rate of the packets and a number of said packets stored in said one or more queues;

wherein the operating rate of the processor is controlled by:

accumulating a designated number of the received packets;

determining an average arrival rate of the accumulated packets; and

setting the operating rate of the processor based on the average arrival rate; and

wherein setting the operating rate of the processor based on the average arrival rate comprises setting the processing rate for an overlapped portion of two adjacent processing intervals to a combined operating rate for the two intervals subject to a maximum operating rate of the processor.

18. The network device of claim 17 wherein the operating rate of the processor is further controlled by determining if at least a given one of the one or more queues is at or below a designated minimum fullness threshold, and if the given queue is at or below the designated minimum fullness threshold, setting the processor operating rate to a first relatively low level, and subsequently increasing the processor operating rate from the first relatively low level to a second relatively high level.

19. The network device of claim 17 wherein the operating rate of the processor is further controlled by setting the operating rate of the processor as a designated function of the number of packets stored in the one or more queues.

20. The network device of claim 17 wherein the packets are scheduled for processing on one or more of:

a nearest-to-source basis such that one of the packets that has traveled a shorter distance from its source in the network is given priority over another one of the packets that has traveled a longer distance from its source in the network;

a farthest-to-go basis such that one of the packets that has a longer distance to travel to its destination in the network is given priority over another one of the packets that has a shorter distance to travel to its destination in the network; and

a weighted fair queuing basis.

21. The network device of claim 17 wherein the control module comprises a combined scheduler and rate adaptation module.

22. The network device of claim 21 wherein the control module is implemented at least in part in the form of software executed by the processor.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Sep 30, 2014
From: CREDIT SUISSE AG
To: ALCATEL LUCENT
Reel/Frame 033868/0555 →
SECURITY AGREEMENT Recorded Jan 30, 2013
From: ALCATEL LUCENT
To: CREDIT SUISSE AG
Reel/Frame 029821/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2012
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 028271/0083 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2011
From: ANDREWS, DANIEL MATTHEW; ANTONAKOPOULOS, SPYRIDON; ZHANG, YIHAO
To: ALCATEL-LUCENT USA INC.
Reel/Frame 026245/0740 →