IP Library Granted Patent US 8,730,812
Granted Patent B2
US 8,730,812 · App. 13/005,485 · Granted May 20, 2014

Hierarchical rate color marker

Inventor: Norival R. Figueira (Campbell, CA)
Assignee: Brocade Communications Systems, Inc.
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,730,812
App. No.
13/005,485
Granted
May 20, 2014
Kind
B2
Abstract

One embodiment provides a system that facilitates bandwidth-profile enforcement. During operation, the system indicates a packet's compliance with a bandwidth profile based at least on available high-compliance tokens and medium-compliance tokens. The system further converts, within different classes of service (CoSs), an overflow high-compliance token to a medium-compliance token, in a top-down or bottom-up fashion with respect to different CoS priorities.

Claims (30)

1. A system comprising:

a packet processing hardware module operable to indicate a packet's compliance with a bandwidth profile based at least on available high-compliance tokens and medium-compliance tokens, wherein, the tokens are generated at regular time intervals and associated with packets to facilitate control of the packets' compliance with a bandwidth profile; and

a distribution hardware module operable to convert, within different classes of service (CoS s), an overflow high-compliance token, prior to the high-compliance token being associated with a packet, to a medium-compliance token, in a top-down or bottom-up fashion with respect to different CoS priorities.

2. The system of claim 1 , wherein whether a respective CoS priority level is allowed to share or precluded from sharing tokens with another CoS priority level is determined by a CoS-specific sharing flag.

3. The system of claim 1 , wherein the distribution hardware module is further operable to preclude an overflow token from a respective CoS priority level from being distributed to a higher CoS priority level.

4. The system of claim 1 , wherein whether an overflow high-compliance token from a respective CoS is allowed to be converted to a medium-compliance token is determined by a CoS-specific coupling flag.

5. The system of claim 1 , wherein the number of overflow high-compliance tokens distributed to a respective CoS priority level is limited by an upper rate limit for high-compliance tokens for that CoS priority level.

6. The system of claim 1 , wherein the number of overflow medium-compliance tokens distributed to a respective CoS priority level is limited by an upper rate limit for medium-compliance tokens for that CoS priority level.

7. The system of claim 1 , wherein the distribution hardware module is operable to distribute overflow high-compliance or medium-compliance tokens to other CoS priority levels in a strict-priority order.

8. The system of claim 1 , wherein the distribution hardware module is operable to distribute overflow high-compliance or medium-compliance tokens to other CoS priority levels based at least on a relative weight assigned to a respective CoS priority level.

9. A method comprising:

indicating a packet's compliance with a bandwidth profile based at least on available high-compliance tokens and medium-compliance tokens, wherein the tokens are generated at regular time intervals and associated with packets to facilitate control of the packets' compliance with a bandwidth profile; and

converting, within different classes of service (CoSs), an overflow high-compliance token, prior to the high-compliance token being associated with a packet, to a medium-compliance token, in a top-down or bottom-up fashion with respect to different CoS priorities.

10. The method of claim 9 , further comprising determining whether a respective CoS priority level is allowed to share or precluded from sharing tokens with another CoS priority level based at least on a CoS-specific sharing flag.

11. The method of claim 9 , further comprising precluding an overflow token from a respective CoS priority level from being distributed to a higher CoS priority level.

12. The method of claim 9 , further comprising determining whether an overflow high-compliance token from a respective CoS is allowed to be converted to a medium-compliance token based on a CoS-specific coupling flag.

13. The method of claim 9 , further comprising limiting the number of overflow high-compliance tokens distributed to a respective CoS level to an upper limit for high-compliance tokens for that CoS level.

14. The method of claim 9 , further comprising limiting the number of overflow medium-compliance tokens distributed to a respective CoS level to an upper limit for medium-compliance tokens for that CoS level.

15. The method of claim 9 , further comprising distributing overflow high-compliance or medium-compliance tokens to other CoS priority levels in a strict-priority order.

16. The method of claim 9 , further comprising distributing overflow high-compliance or medium-compliance tokens to other CoS priority levels based at least on a relative weight assigned to a respective CoS level.

17. A non-transitory computer-readable storage medium storing instructions which when executed by a computer causes the computer to perform a method, the method comprising:

indicating a packet's compliance with a bandwidth profile based at least on available high-compliance tokens and medium-compliance tokens, wherein the tokens are generated at regular time intervals and associated with packets to facilitate control of the packets' compliance with a bandwidth profile; and

converting, within different classes of service (CoSs), an overflow high-compliance token, prior to the high-compliance token being associated with a packet, to a medium-compliance token, in a top-down or bottom-up fashion with respect to different CoS priorities.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the method further comprises determining whether a respective CoS priority level is allowed or precluded from sharing tokens with another CoS priority level based at least on a CoS-specific sharing flag.

19. The non-transitory computer-readable storage medium of claim 17 , wherein the method further comprises precluding an overflow token from a respective CoS priority level from being distributed to a higher CoS priority level.

20. The non-transitory computer-readable storage medium of claim 17 , wherein the method further comprises determining whether an overflow high-compliance token from a respective CoS is allowed to be converted to a medium-compliance token based on a CoS-specific coupling flag.

21. The non-transitory computer-readable storage medium of claim 17 , wherein the method further comprises limiting the number of overflow high-compliance tokens distributed to a respective CoS priority level to an upper limit for high-compliance tokens for that CoS priority level.

22. The non-transitory computer-readable storage medium of claim 17 , wherein the method further comprises limiting the number of overflow medium-compliance tokens distributed to a respective CoS priority level to an upper limit for medium-compliance tokens for that CoS priority level.

23. The non-transitory computer-readable storage medium of claim 17 , wherein the method further comprises distributing overflow high-compliance or medium-compliance tokens to other CoS priority levels in a strict-priority order.

24. The non-transitory computer-readable storage medium of claim 17 , wherein the method further comprises distributing overflow high-compliance or medium-compliance tokens to other CoS priority levels based at least on a relative weight assigned to a respective CoS priority level.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
CHANGE OF NAME Recorded Dec 13, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 044891/0536 →
RELEASE OF SECURITY INTEREST Recorded Jan 22, 2015
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC
Reel/Frame 034804/0793 →
RELEASE OF SECURITY INTEREST Recorded Jan 21, 2015
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC
Reel/Frame 034784/0609 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2013
From: FIGUEIRA, NORIVAL R.
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 029617/0310 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Sep 26, 2011
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION; MCDATA SERVICES CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 026971/0042 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Sep 20, 2011
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC; MCDATA CORPORATION
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 026938/0922 →
Continuity (9)
Continuation In Part 12643902 · Dec 21, 2009
Provisional Application 61295143 · Jan 14, 2010
Provisional Application 61353911 · Jun 11, 2010
Provisional Application 61143585 · Jan 9, 2009
Provisional Application 61146477 · Jan 22, 2009
Provisional Application 61225483 · Jul 14, 2009
Provisional Application 61251139 · Oct 13, 2009
Provisional Application 61253791 · Oct 21, 2009
Related Publication 20110158101A1 · Jun 30, 2011