US2005114540A1PendingUtilityA1

Method and system of generically specifying congestion control and a voidance behavior

Assignee: IBMPriority: Nov 12, 2003Filed: Nov 12, 2003Published: May 26, 2005
Est. expiryNov 12, 2023(expired)· nominal 20-yr term from priority
H04L 47/10H04L 41/082
45
PatentIndex Score
0
Cited by
0
References
0
Claims

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-modified
1 . 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.