Citations
Referenced by
Claims1. A buffering system for use in a digital communications device employing a connection-oriented protocol, said system comprising:
2. The system according to claim 1, wherein the shared space bound for a given traffic group comprises least one of (a) a limit on an absolute number of messages that the traffic group can store in the shared buffer space, and (b) a threshold relating to a degree of occupancy of the shared buffer space. 3. The system according to claim 1, wherein said controller is enabled to logically store a given message in the shared buffer space when the corresponding reserved buffer space is logically filled to capacity bat has not yet reached its predetermined congestion state. 4. The system according to claim 1, wherein the reserved buffer space congestion state includes the reserved buffer space being filled to capacity. 5. The system according to claim 1, wherein the discard criteria includes a reserved buffer space reaching its congestion state and shared space congestion is asserted against the corresponding traffic group. 6. The system according to claim 1, wherein each reserved buffer space is sized to provide a minimum quality of service to the corresponding group of connections. 7. The system according to claim 1, wherein the maximum connection queue depth limit for a given connection is dynamic, being proportional to a weight associated with the given connection and inversely proportional to a sum of weights associated with a predefined group of connections. 8. The system according to claim 1, wherein at least one said connection group is further logically subdivided into one or more sub-groups, each sub-group being provisioned with a size threshold for the number of messages that the connections thereof may store in the memory, and wherein said reserved buffer space congestion state includes the state of a sub-group size threshold associated with a particular message being reached. 9. The system according to claim 8, wherein plural sub-group size thresholds of a given connection group define in aggregate a logical memory space larger than the buffer space allotted to the given connection group. 10. The system according to claim 8, wherein at least one said connection group is further logically subdivided into one or more sub-groups, each sub-group being provisioned with a size threshold for the number of messages that the connections thereof may store in the memory, and wherein said discard criteria includes the event that the sub-group size threshold associated with a given message is reach and shared space congestion is asserted against the corresponding connection group. 11. The system according to claim 1, wherein at least one connection is provisioned with a size threshold for the number of messages that the connection may store in the memory, and wherein said reserved buffer space congestion state includes the event that the connection size threshold associated with a given message is reached. 12. The system according to claim 1, wherein at least one connection is provisioned with a size threshold for the number of messages that the connection may store in the memory, and wherein said discard criteria includes the event that the connection size threshold associated with a given message is reached and shared space congestion is asserted against the corresponding connection group. 13. The system according to claim 1, wherein:
14. The system according to claim 1, wherein:
15. The system according to claim 1, wherein the connection orientated protocol is an asynchronous transfer mode (ATM) communications protocol, and said messages are ATM cells. 16. The system according to claim 15, wherein connections are provisioned with a maximum connection queue depth limit and wherein said congestion criteria includes the event of a given connection reaching an amount of stored messages equal to the corresponding maximum connection queue depth limit. 17. The system according to claim 16, wherein the maximum connection queue depth limit for a given connection associated with a minimum cell rate is dynamic, being proportional to the minimum cell rate of the given connection and inversely proportional to a sum of minimum cell rates associated with a predefined group of connections. 18. The system according to claim 17, wherein the given connection is associated with a communications port and the predefined group of connections includes all active connections of thie same class as the given connection which are associated with the same communications port. 19. The system according to claim 18, wherein connections are configurable for at least one of cell discard, partial frame discard and early frame discard, and the controller is enabled to respectively perform at least one of cell discard, partial frame discard and early frame discard. 20. The system according to claim 15, wherein:
21. The system according to claim 20, wherein said discard criteria includes the event that the size threshold of a given connection is reached, the size threshold of the corresponding sub-group is reached, and shared space congestion is asserted against the corresponding connection group. 22. The system according to claim 20, wherein said sub-group size threshold and said connection size threshold vary depending on the cell loss priority of a cell under consideration. 23. The system according to claim 20, wherein the sub-group size thresholds of a given connection group define in aggregate a logical space larger than the buffer space allocated thereto. 24. The system according to claim 20, wherein connections are configurable for at least one of cell discard, partial frame discard and early frame discard, and the controller is enabled to respectively perform at least one of cell discard, partial frame discard and early frame discard. 25. A buffering system for use at a queueing point in a digital communications device, said system comprising:
26. The system according to claim 25, wherein the shared space bound for a given traffic group comprises least one of (a) a limit on an absolute number of messages that the connectivity group can store in the shared buffer space, and (b) a threshold relating to a degree of occupancy of the shared buffer space. 27. The system according to claim 25, wherein said traffic groups comprise groups of virtual connections, wherein connections within a given connection group are separately provisioned with a size threshold for the number of messages that may be stored in the memory, and wherein said discard criteria includes a given connection size threshold being reached, the corresponding traffic sub-group size threshold being reached, and the corresponding traffic group shared space bound being reached. 28. The system according to claim 27, wherein the connection size threshold for a given connection is dynamic, being proportional to a weight associated with the given connection and inversely proportional to a sum of weights associated with a predefined group of connections having similar quality of service characteristics. 29. The system according to claim 28, wherein said traffic sub-group size threshold and said connection size threshold vary depending on a priority level of a given message. 30. A buffering system for use in a communications device employing a connection-orientated communications protocol, said system comprising:
31. The system according to claim 30, wherein the connection orientated protocol is an asynchronous transfer mode (ATM) communications protocol, said messages are ATM cells, and said weight is a minimum cell rate. 32. The system according to claim 31, wherein the given connection is associated with a communications port and the predefined group of connections includes all active connections of the same class as the given connection which are associated with the same communications port. 33. A method of buffering digital messages at a queueing point in a digital communications device employing a connection-orientated protocol, the method comprising:
34. The method according to claim 33, wherein each said traffic group is associated with a bound on its utilization of the shared space and wherein a shared space congestion is asserted against a given traffic group when its shared space bound is reached. 35. The method according to claim 34, wherein the shared space bound for a given traffic group comprises one of (a) a limit on an absolute number of messages that the traffic group can store in the shared buffer space, and (b) a threshold relating to a degree of occupancy of the shared buffer space. 36. The method according to claim 34, including the step of storing a given message in the shared buffer space when the corresponding reserved buffer space is logically filled to capacity but has not yet reached its predetermined congestion state. 37. The method according to claim 34, wherein said reserved buffer space congestion state includes the reserved buffer space being filled to capacity. 38. The method according to claim 34, wherein said discard criteria includes a reserved buffer space reaching its congestion state and shared space congestion being asserted against the corresponding traffic group. 39. The method according to claim 38, wherein each reserved buffer space is sized to provide a minimum quality of service to the corresponding group of connections. 40. The method according to claim 33, wherein the maximum connection queue depth limit for a given connection is dynamic, being proportional to a weight associated with the given connection and inversely proportional to a sum of weights associated with a predefined group of connections. 41. The method according to claim 33, wherein at least one said connection group is further logically subdivided into one or more subgroups, each sub-group being provisioned with a size threshold for the number of messages that the connections thereof may store in the memory, and wherein said reserved buffer space congestion state includes the state of a sub-group size threshold associated with a particular message being reached. 42. The method according to claim 41, wherein plural sub-group size thresholds of a given connection group define in aggregate a logical memory space larger than the buffer space allotted to the given connection group. 43. The method according to claim 33, wherein at least one said connection group is further logically subdivided into one or more sub-groups, each sub-group being provisioned with a size threshold for the number of messages that the connections thereof may store in the memory, and wherein said discard criteria includes the event that the sub-group size threshold is reached and shared space congestion is asserted against the corresponding connection group. 44. The method according to claim 33, wherein:
45. The method according to claim 34, wherein:
|