IP Library Granted Patent US 8,665,892
Granted Patent B2
US 8,665,892 · App. 11/442,801 · Granted Mar 4, 2014

Method and system for adaptive queue and buffer control based on monitoring in a packet network switch

Inventor: Martin Lund (Palo Alto, CA)
Assignee: Broadcom Corporation
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 8,665,892
App. No.
11/442,801
Granted
Mar 4, 2014
Kind
B2
Abstract

Certain aspects of a method and system for adaptive queue and buffer control based on monitoring in a packet network switch are disclosed. Aspects of one method may include pre-allocating packet buffers from a pool of packet buffers in a network switching device based on anticipation of a type of application data being handled by a particular port of the network switching device according to packet classification and tracking. The buffers may be dynamically allocated and deallocated from the pool of packet buffers for a particular port of the network switching device based on changes to the application data.

Claims (28)

1. A method for handling data in a communication network, the method comprising:

pre-allocating memory from a pool of memory in a network switching device based on anticipation of a type of application data being handled by a particular port of said network switching device according to packet classification and tracking; and

dynamically allocating and deallocating memory from said pool of memory for said particular port of said network switching device based on changes to said application data.

2. The method according to claim 1 , further comprising allocating at least a first portion of said pool of memory to a queue in said network switching device based on a number of classified plurality of received network packets.

3. The method according to claim 1 , further comprising determining whether a queue in said network switching device that stores a classified plurality of received network packets based on an assigned priority level exceeds a threshold value within a time period.

4. The method according to claim 3 , further comprising if said queue in said network switching device that stores said classified plurality of received network packets based on said assigned priority level exceeds said threshold value within said time period, allocating at least a second portion of said pool of memory to said queue in said network switching device.

5. The method according to claim 4 , further comprising if said queue in said network switching device that stores said classified plurality of received network packets based on said assigned priority level recedes below said threshold value within said time period, de-allocating said at least second portion of said pool of memory to said queue in said network switching device.

6. The method according to claim 1 , further comprising detecting a number of classified network packets being dropped by said network switching device.

7. The method according to claim 6 , further comprising allocating at least a second portion of said pool of memory to a queue in said network switching device based on said detection of said number of said classified network packets being dropped by said network switching device.

8. A non-transitory computer-readable storage medium having stored thereon, a computer program having at least one code section for handling data in a communication network, the at least one code section being executable by a machine for causing the computer to perform steps comprising:

pre-allocating memory from a pool of memory in a network switching device based on anticipation of a type of application data being handled by a particular port of said network switching device according to packet classification and tracking; and

dynamically allocating and deallocating memory from said pool of memory for said particular port of said network switching device based on changes to said application data.

9. The non-transitory computer-readable storage medium according to claim 8 , further comprising code for allocating at least a first portion of said pool of memory to a queue in said network switching device based on a number of classified plurality of received network packets.

10. The non-transitory computer-readable storage medium according to claim 8 , further comprising code for determining whether a queue in said network switching device that stores a classified plurality of received network packets based on an assigned priority level exceeds a threshold value within a time period.

11. The non-transitory computer-readable storage medium according to claim 10 , further comprising code for allocating at least a second portion of said pool of memory to said queue in said network switching device, if said queue in said network switching device that stores said classified plurality of received network packets based on said assigned priority level exceeds said threshold value within said time period.

12. The non-transitory computer-readable storage medium according to claim 11 , further comprising code for de-allocating said at least second portion of said pool of memory to said queue in said network switching device, if said queue in said network switching device that stores said classified plurality of received network packets based on said assigned priority level recedes below said threshold value within said time period.

13. The non-transitory computer-readable storage medium according to claim 8 , further comprising code for detecting a number of classified network packets being dropped by said network switching device.

14. The non-transitory computer-readable storage medium according to claim 13 , further comprising code for allocating at least a second portion of said pool of memory to a queue in said network switching device based on said detection of said number of said classified network packets being dropped by said network switching device.

15. A system for handling data in a communication network, the system comprising:

circuitry that enables pre-allocation of memory from a pool of memory in a network switching device based on anticipation of a type of application data being handled by a particular port of said network switching device according to packet classification and tracking; and

circuitry that enables dynamic allocation and deallocation of memory from said pool of memory for said particular port of said network switching device based on changes to said application data.

16. The system according to claim 15 , further comprising circuitry that enables allocation of at least a first portion of said pool of memory to a queue in said network switching device based on a number of classified plurality of received network packets.

17. The system according to claim 15 , further comprising circuitry that enables determining whether a queue in said network switching device that stores a classified plurality of received network packets based on an assigned priority level exceeds a threshold value within a time period.

18. The system according to claim 17 , further comprising circuitry that enables allocation of at least a second portion of said pool of memory to said queue in said network switching device, if said queue in said network switching device that stores said classified plurality of received network packets based on said assigned priority level exceeds said threshold value within said time period.

19. The system according to claim 18 , further comprising circuitry that enables de-allocation of said at least second portion of said pool of memory to said queue in said network switching device, if said queue in said network switching device that stores said classified plurality of received network packets based on said assigned priority level recedes below said threshold value within said time period.

20. The system according to claim 15 , further comprising circuitry that enables detection of a number of said classified network packets being dropped by said network switching device.

21. The system according to claim 20 , further comprising circuitry that enables allocation of at least a second portion of said pool of memory to a queue in said network switching device based on said detection of said number of classified network packets being dropped by said network switching device.

22. The system according to claim 15 , wherein said network switching device comprises a network switch.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER IN THE INCORRECT US PATENT NO. 8,876,094 PREVIOUSLY RECORDED ON REEL 047351 FRAME 0384. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 049248/0558 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE MERGER PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0910. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047351/0384 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0910 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2006
From: LUND, MARTIN
To: BROADCOM CORPORATION
Reel/Frame 018497/0899 →
Continuity (1)
Related Publication 20070280277A1 · Dec 6, 2007