Method and system of generically specifying congestion control and a voidance behavior
Abstract
A method and system for controlling congestion control and avoidance behavior of a plurality of heterogeneous network processors in a network is disclosed. The network also includes at least one host processor that utilizes at least one congestion control application. The method and system include providing a plurality of generic application program interfaces (APIs). The generic APIs communicate with the congestion control application(s) and the heterogeneous network processors. The generic APIs communicate with the congestion control application(s) in the host processor(s) in a network processor independent manner, but manage the congestion control and avoidance behavior of the heterogeneous network processors in a network processor specific manner. Thus, the generic APIs allow the control application(s) to be network processor independent and to manage the congestion control and avoidance behavior of the heterogeneous network processors in the network processor specific manner.
Claims
exact text as granted — not AI-modified1 . A system for controlling congestion control and avoidance behavior of a plurality of heterogeneous network processors in a network, the network also including at least one host processor utilizing at least one congestion control application, the system comprising:
a plurality of generic application program interfaces (APIs) communicating with the at least one congestion control application and the plurality of heterogeneous network processors, the plurality of generic APIs for communicating with the at least one congestion control application in the at least one host processor in a network processor independent manner, the plurality of generic APIs managing the congestion control and avoidance behavior of the plurality of heterogeneous network processors in a network processor specific manner; wherein the plurality of generic APIs allow the at least one congestion control application to be network processor independent and to manage the congestion control and avoidance behavior of the plurality of heterogeneous network processors in the network processor specific manner.
2 . The system of claim 1 wherein the plurality of generic APIs are used by the at least one congestion control application to determine at least one location in each of the plurality of heterogeneous network processors the congestion control and avoidance behavior is to be managed.
3 . The system of claim 2 wherein the at least one location further includes an ingress portion and/or an egress portion of each of the plurality of heterogeneous network processors.
4 . The system of claim 2 wherein the ingress portion further includes a plurality of ports, a plurality of receive queues, and a plurality of received flows.
5 . The system of claim 4 wherein the egress portion further includes a plurality of scheduler flows, a plurality of scheduler queues, a plurality of transmit queues, and the plurality of ports.
6 . The system of claim 2 wherein the plurality of generic APIs are used by the at least one congestion control application to determine how the congestion control and avoidance behavior is to be managed at the at least one location in each of the plurality of heterogeneous network processors.
7 . The system of claim 6 wherein the plurality of generic APIs determine at least one congestion control algorithm to be applied upon congestion at each of the at least one location in each of the plurality of heterogeneous network processors.
8 . The system of claim 1 wherein the plurality of generic APIs further return a null behavior for a portion of the plurality of heterogeneous network processors in which a particular function of a particular API is not supported.
9 . The system of claim 1 wherein the plurality of generic APIs include a configure API, an update API, an enable API, a disable API, and a list API, the configure API allowing the at least one congestion control application to configure the congestion control and avoidance behavior of each of the plurality of heterogeneous network processors, the update API allowing the at least one congestion control application to update the congestion control and avoidance behavior of each of the plurality of heterogeneous network processors, the enable API allowing the at least one congestion control application to enable the congestion control and avoidance behavior of each of the plurality of heterogeneous network processors, the disable API allowing the at least one congestion control application to disable the congestion control and avoidance behavior of each of the plurality of heterogeneous network processors, and the list API allowing the at least one congestion control application to obtain a list of the congestion control and avoidance behavior of each of the plurality of heterogeneous network processors
10 . A computer-readable medium including a program for controlling congestion control and avoidance behavior of a plurality of heterogeneous network processors in a network, the network also including at least one host processor utilizing at least one congestion control application, the program comprising instructions for:
implementing a plurality of generic application program interfaces (APIs) communicating with the at least one congestion control application and the plurality of heterogeneous network processors, the plurality of generic APIs for communicating with the at least one congestion control application in the at least one host processor in a network processor independent manner, the plurality of generic APIs managing the congestion control and avoidance behavior of the plurality of heterogeneous network processors in a network processor specific manner; wherein the plurality of generic APIs allow the at least one congestion control application to be network processor independent and to manage the congestion control and avoidance behavior of the plurality of heterogeneous network processors in the network processor specific manner.
11 . The computer-readable medium of claim 10 wherein the plurality of generic APIs are used by the at least one congestion control application to determine at least one location in each of the plurality of heterogeneous network processors where the congestion control and avoidance behavior is to be managed.
12 . The computer-readable medium of claim 11 wherein the at least one location further includes an ingress portion and/or an egress portion of each of the plurality of heterogeneous network processors.
13 . The computer-readable medium of claim 11 wherein the ingress portion further includes a plurality of ports, a plurality of receive queues, and a plurality of received flows.
14 . The computer-readable medium of claim 13 wherein the egress portion further includes a plurality of scheduler flows, a plurality of scheduler queues, a plurality of transmit queues, and the plurality of ports.
15 . The computer-readable medium of claim 11 wherein the plurality of generic APIs are used by the at least one congestion control application to determine how the congestion control and avoidance behavior is to be managed at the at least one location in each of the plurality of heterogeneous network processors.
16 . The computer-readable medium of claim 15 wherein the plurality of generic APIs determine at least one congestion control algorithm to be applied upon congestion to the at least one location in each of the plurality of heterogeneous network processors.
17 . The computer-readable medium of claim 10 wherein the plurality of generic APIs further return a null behavior for a portion of the plurality of heterogeneous network processors in which a particular function of a particular API is not supported.
18 . The computer-readable medium of claim 10 wherein the plurality of generic APIs include a configure API, an update API, an enable API, a disable API, and a list API, the configure API allowing the at least one congestion control application to configure the congestion control and avoidance behavior of each of the plurality of heterogeneous network processors, the update API allowing the at least one congestion control application to update the congestion control and avoidance behavior of each of the plurality of heterogeneous network processors, the enable API allowing the at least one congestion control application to enable the congestion control and avoidance behavior of each of the plurality of heterogeneous network processors, the disable API allowing the at least one congestion control application to disable the congestion control and avoidance behavior of each of the plurality of heterogeneous network processors, and the list API allowing the at least one congestion control application to obtain a list of the congestion control and avoidance behavior of each of the plurality of heterogeneous network processors.
19 . A method for controlling congestion control and avoidance behavior of a plurality of heterogeneous network processors in a network, the network also including at least one host processor utilizing at least one congestion control application, the method comprising:
(a) abstracting the congestion control and avoidance behavior of each of the plurality of heterogeneous network processors; (b) providing a plurality of generic application program interfaces (APIs) based on the abstraction, the plurality of generic APIs communicating with the at least one congestion control application and the plurality of heterogeneous network processors, the plurality of generic APIs for communicating with the at least one congestion control application in the at least one host processor in a network processor independent manner, the plurality of generic APIs managing the congestion control and avoidance behavior of the plurality of heterogeneous network processors in a network processor specific manner; wherein the plurality of generic APIs allow the at least one congestion control application to be network processor independent and to manage the congestion control and avoidance behavior of the plurality of heterogeneous network processors in the network processor specific manner.
20 . The method of claim 19 wherein the plurality of generic APIs are used by the at least one congestion control application to determine at least one location in each of the plurality of heterogeneous network processors where the congestion control and avoidance behavior is to be managed.
21 . The method of claim 20 wherein the at least one location further includes an ingress portion and/or an egress portion of each of the plurality of heterogeneous network processors.
22 . The method of claim 20 wherein the ingress portion further includes a plurality of ports, a plurality of receive queues, and a plurality of received flows.
23 . The method of claim 22 wherein the egress portion further includes a plurality of scheduler flows, a plurality of scheduler queues, a plurality of transmit queues, and the plurality of ports.
24 . The method of claim 22 wherein the plurality of generic APIs are used by the at least one congestion control application to determine how the congestion control and avoidance behavior is to be managed at the at least one location in each of the plurality of heterogeneous network processors.
25 . The method of claim 19 wherein the API providing step (b) further includes the step of:
(b1) providing a portion of the plurality of generic APIs that are capable of setting at least one congestion control algorithm to be applied upon congestion at each of at least one location in each of the plurality of heterogeneous network processors.
26 . The method of claim 19 wherein the API providing step (b) further includes the step of:
(b1) ensuring that the plurality of generic APIs return a null behavior for a portion of the plurality of heterogeneous network processors in which a particular function of a particular API is not supported.
27 . The method of claim 19 wherein API providing step (b) further includes the step of:
(b1) providing a configure API, an update API, an enable API, a disable API, and a list API, the configure API allowing the at least one congestion control application to configure the congestion control and avoidance behavior of each of the plurality of heterogeneous network processors, the update API allowing the at least one congestion control application to update the congestion control and avoidance behavior of each of the plurality of heterogeneous network processors, the enable API allowing the at least one congestion control application to enable the congestion control and avoidance behavior of each of the plurality of heterogeneous network processors, the disable API allowing the at least one congestion control application to disable the congestion control and avoidance behavior of each of the plurality of heterogeneous network processors, and the list API allowing the at least one congestion control application to obtain a list of the congestion control and avoidance behavior of each of the plurality of heterogeneous network processors.Join the waitlist — get patent alerts
Track US2005114540A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.