Claims
- 1. A method for allocating bandwidth of a data path among packets, said method comprising the steps of:
(a) identifying a class value for a packet, wherein said class value corresponds to a first class in a set of classes; and (b) determining whether to grant said packet access to said data path, based on said class value identified in said step (a), wherein said step (b) includes the steps of:
(1) determining whether allocated bandwidth for said first class has been exhausted, and (2) determining whether access to said data path is requested for any packets with a class value having available allocated bandwidth and corresponding to a class in said set of classes, other than said first class.
- 2. The method of claim 1, wherein said set of classes consists of 4 classes.
- 3. The method of claim 1, further including the step of:
(c) updating a set of bandwidth allocation counts.
- 4. The method of claim 3, wherein said step (c) includes the step of:
(1) modifying a bandwidth allocation count in said set of bandwidth allocation counts in response to said packet gaining access to said data path, wherein said bandwidth allocation count is associated with said first class.
- 5. The method of claim 4, wherein said step (c)(1) includes the step of:
(i) decrementing said bandwidth allocation count in response to a number of bytes in said packet.
- 6. The method of claim 4, wherein said step (c)(1) includes the step of:
(ii) setting said bandwidth allocation count to a starting value when all bandwidth allocation counts in said set of bandwidth allocation counts reach a predetermined threshold.
- 7. The method of claim 4, wherein said step (c)(1) includes the step of:
(iii) setting said bandwidth allocation count to a starting value when a subset of bandwidth allocation counts in said set of bandwidth allocation counts reach a predetermined threshold.
- 8. The method of claim 4, wherein said step (c)(1) includes the step of:
(iv) setting each bandwidth allocation count in said set of bandwidth allocation counts to a respective starting value when all bandwidth allocation counts in said set of bandwidth allocation counts reach a predetermined threshold.
- 9. The method of claim 8, wherein each bandwidth allocation count in said set of bandwidth allocation counts is set to a respective starting value corresponding to a bandwidth allocated to a class in said set of classes.
- 10. The method of claim 1, further including the step of:
(d) granting said packet access to said data path if it is determined in said step (b)(1) that allocated bandwidth for said first class has not been exhausted or it is determined in said step (b)(2) that access to said data path is not requested for any packets with a class value having available allocated bandwidth and corresponding to a class in said set of classes, other than said first class.
- 11. A method for allocating bandwidth on an interface to a communications network, said method comprising the steps of:
(a) selecting a packet; (b) identifying a class value for said packet, wherein said class value corresponds to a first class in a set of classes; and (c) determining whether to transmit said packet onto said communications network, based on said class value identified in said step (b), wherein said step (c) includes the steps of:
(1) determining whether allocated bandwidth for said first class has been exhausted, and (2) determining whether transmission onto said communications network is requested for any packets with a class value having available allocated bandwidth and corresponding to a class in said set of classes, other than said first class.
- 12. The method of claim 11, further including the step of:
(d) updating a set of bandwidth allocation counts.
- 13. The method of claim 12, wherein said step (d) includes the step of:
(1) modifying a bandwidth allocation count in said set of bandwidth allocation counts in response to transmitting said packet onto said communications network, wherein said bandwidth allocation count is associated with said first class.
- 14. The method of claim 13, wherein said step (d)(1) includes the step of:
(i) decrementing said bandwidth allocation count in response to a number of bytes in said packet.
- 15. The method of claim 14, wherein said step (d)(1) includes the step of:
(ii) setting said bandwidth allocation count to a starting value when all bandwidth allocation counts in said set of bandwidth allocation counts reach a predetermined threshold.
- 16. The method of claim 14, wherein said step (d)(1) includes the step of:
(iii) setting said bandwidth allocation count to a starting value when a subset of bandwidth allocation counts in said set of bandwidth allocation counts reach a predetermined threshold.
- 17. The method of claim 14, wherein said step (d)(1) includes the step of:
(iii) setting each bandwidth allocation count in said set of bandwidth allocation counts to a respective starting value when all bandwidth allocation counts in said set of bandwidth allocation counts reach a predetermined threshold.
- 18. The method of claim 17 wherein each bandwidth allocation count in said set of bandwidth allocation counts is set to a respective starting value corresponding to a bandwidth allocated to a class in said set of classes.
- 19. The method of claim 11, further including the step of:
(e) transmitting said packet onto said communications network if it is determined in said step (c)(1) that allocated bandwidth for said first class has not been exhausted or it is determined in said step (c)(2) that transmission onto said communications network is not requested for any packets with a class value having available allocated bandwidth and corresponding to a class in said set of classes, other than said first class.
- 20. A method for allocating bandwidth on an interface to a communications network, said method comprising the steps of:
(a) selecting a packet; (b) identifying a class value for said packet, wherein said class value corresponds to a first class in a set of classes; and (c) determining whether to transmit said packet onto said communications network, based on said class value identified in said step (b), wherein said step (c) includes the steps of:
(1) determining whether allocated bandwidth for said first class has been exhausted, (2) determining whether transmission onto said communications network is requested for any packets with a class value having available allocated bandwidth and corresponding to a class in said set of classes, other than said first class; (d) transmitting said packet onto said communications network if it is determined in said step (c)(1) that allocated bandwidth for said first class has not been exhausted or it is determined in said step (c)(2) that transmission onto said communications network is not requested for any packets with a class value having available allocated bandwidth and corresponding to a class in said set of classes, other than said first class; and (e) updating a set of bandwidth allocation counts, wherein said step (e) includes the step of:
(1) modifying a bandwidth allocation count in said set of bandwidth allocation counts in response to transmitting said packet onto said communications network, wherein said bandwidth allocation count is associated with said first class, and (2) setting each bandwidth allocation count in said set of bandwidth allocation counts to a respective starting value when all bandwidth allocation counts in said set of bandwidth allocation counts reach a predetermined threshold.
- 21. A processor readable storage medium having processor readable code embodied on said processor readable storage medium, said processor readable code for programming a processor to perform a method for allocating bandwidth of a data path among packets, said method comprising the steps of:
(a) identifying a class value for a packet, wherein said class value corresponds to a first class in a set of classes; and (b) determining whether to grant said packet access to said data path, based on said class value identified in said step (a), wherein said step (b) includes the steps of:
(1) determining whether allocated bandwidth for said first class has been exhausted, and (2) determining whether access to said data path is requested for any packets with a class value having available allocated bandwidth and corresponding to a class in said set of classes, other than said first class.
- 22. The processor readable storage medium of claim 21, wherein said set of classes consists of 4 classes.
- 23. The processor readable storage medium of claim 21, wherein said method further includes the step of:
(c) updating a set of bandwidth allocation counts.
- 24. The processor readable storage medium of claim 23, wherein said step (c) includes the step of:
(1) modifying a bandwidth allocation count in said set of bandwidth allocation counts in response to said packet gaining access to said data path, wherein said bandwidth allocation count is associated with said first class.
- 25. The processor readable storage medium of claim 24, wherein said step (c)(1) includes the step of:
(i) decrementing said bandwidth allocation count in response to a number of bytes in said packet.
- 26. The processor readable storage medium of claim 24, wherein said step (c)(1) includes the step of:
(ii) setting said bandwidth allocation count to a starting value when all bandwidth allocation counts in said set of bandwidth allocation counts reach a predetermined threshold.
- 27. The processor readable storage medium of claim 24, wherein said step (c)(1) includes the step of:
(iii) setting each bandwidth allocation count in said set of bandwidth allocation counts to a respective starting value when all bandwidth allocation counts in said set of bandwidth allocation counts reach a predetermined threshold.
- 28. The processor readable storage medium of claim 27, wherein each bandwidth allocation count in said set of bandwidth allocation counts is set to a respective starting value corresponding to a bandwidth allocated to a class in said set of classes.
- 29. The processor readable storage medium of claim 21, wherein said method further includes the step of:
(d) granting said packet access to said data path if it is determined in said step (b)(1) that allocated bandwidth for said first class has not been exhausted or it is determined in said step (b)(2) that access to said data path is not requested for any packets with a class value having available allocated bandwidth and corresponding to a class in said set of classes, other than said first class.
- 30. The processor readable storage medium of claim 21, wherein said data path is an interface to a communications network.
Parent Case Info
[0001] This application is a continuation of, and claims priority under 35 U.S.C. §120 from, U.S. patent application Ser. No. 09/900,481, entitled “Multi-Processor System,” filed on Jul. 6, 2001, which is incorporated herein by reference.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09900481 |
Jul 2001 |
US |
Child |
10105508 |
Mar 2002 |
US |