IP Library Granted Patent US 9,891,964
Granted Patent B2
US 9,891,964 · App. 14/547,173 · Granted Feb 13, 2018

Network traffic processing

Inventors: Murilo O. Araujo (Limeira, BR); Leonardo R. Augusto (Campinas, BR); Rafael C. S. Folco (Santa Barbara d'Oeste, BR); Breno H. Leitao (Campinas, BR); Tiago N. Santos (Araraquara, BR)
Assignee: International Business Machines Corporation
G06F9/542G06F9/546G06F13/4027G06F13/4221
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,891,964
App. No.
14/547,173
Granted
Feb 13, 2018
Kind
B2
Abstract

As disclosed herein a method, executed by a computer, for providing improved multi-protocol traffic processing includes receiving a data packet, determining if a big processor is activated, deactivating a little processor and activating the big processor if the big processor is not activated and an overflow queue is full, and deactivating the big processor and activating the little processor if the big processor is activated and a current throughput for the big processor is below a first threshold or a sustained throughput for the big processor remains below a second threshold. The big and little processors may be co-located on a single integrated circuit. An overflow queue, managed with a token bucket algorithm, may be used to enable the little processor to handle short burst of data packet traffic. A computer program product and an apparatus corresponding to the described method are also disclosed herein.

Claims (25)

1. A computer program product for conducting network traffic processing, the computer program product comprising:

one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising instructions to:

receive a data packet;

determine if a big processor is activated;

deactivate a little processor and activate the big processor if the big processor is not activated and an overflow queue is full;

deactivate the big processor and activate the little processor if the big processor is activated and a current throughput for the big processor is below a first threshold; and

deactivate the big processor and activate the little processor if the big processor is activated and a sustained throughput for the big processor remains below a second threshold, wherein the first threshold corresponds to a higher throughput than the second threshold.

2. The computer program product of claim 1 , wherein the little processor and big processor are co-located on a single integrated circuit.

3. The computer program product of claim 1 , wherein the program instructions comprise instructions to manage an overflow queue index with a token bucket algorithm.

4. The computer program product of claim 3 , wherein a token bucket size corresponds to available shared memory for the big processor and the little processor.

5. The computer program product of claim 1 , wherein an urgent data packet is not placed in the overflow queue.

6. The computer program product of claim 1 , wherein the first threshold corresponds to a maximum throughput of the little processor.

7. The computer program product of claim 1 , wherein the second threshold corresponds to a maximum throughput of the little processor plus a size of the overflow queue divided by a selected time interval.

8. An apparatus for processing network traffic, the apparatus comprising:

a network interface configured to receive a data packet;

a big processor configured to process network traffic at a first rate;

a little processor configured to process network traffic at a second rate that is lower than the first rate;

a processing control unit configured to determine if the big processor is activated;

the processing control unit further configured to deactivate the little processor and activate the big processor if the big processor is not activated and an overflow queue for the little processor is full; and

the processing control unit further configured to deactivate the big processor and activate the little processor if the big processor is activated and a current throughput for the big processor is below a first threshold and to deactivate the big processor and activate the little processor if the big processor is activated and a sustained throughput for the big processor remains below a second threshold, wherein the first threshold corresponds to a higher throughput than the second threshold.

9. The apparatus of claim 8 , wherein the processing control unit is further configured to manage a queue index for the overflow queue with a token bucket algorithm.

10. The apparatus of claim 9 , wherein a token bucket size corresponds to available shared memory for the big processor and the little processor.

11. The apparatus of claim 8 , wherein an urgent data packet is not placed in the overflow queue.

12. The apparatus of claim 8 , wherein the first threshold is corresponds to a maximum throughput of the little processor.

13. The apparatus of claim 8 , wherein the second threshold corresponds to a maximum throughput of the little processor plus a size of the overflow queue divided by a selected time interval.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2014
From: ARAUJO, MURILO O.; AUGUSTO, LEONARDO R.; FOLCO, RAFAEL C. S.; LEITAO, BRENO H.; SANTOS, TIAGO N.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 034204/0429 →
Continuity (1)
Related Publication 20160140070A1 · May 19, 2016