Implementation methods of class based queueing with dynamic bandwidth decision method for network processors

DiffServ (differentiated services) is proposed to define the priority level in an IP header. For the priority controls, CBQ (class based queueing) is also presented. In CBQ, a router prepares a queue for each class of the priority level, and assigns available bandwidth to the class. However, the upper limit of the available bandwidth for each class is fixed in CBQ, and any class usually, cannot obtain extra bandwidth beyond the upper limit. A lower priority class can borrow a part of bandwidth from a higher priority class, only when the average packet transfer rate in the higher priority class must be smaller than the expected rate defined by a certain threshold. Thus, if the higher priority class constantly has data to be transferred, the lower priority class cannot borrow any bandwidth, even if the higher priority class has enough queue space. From this problem, we introduced the dynamic bandwidth decision mechanism to CBQ. In the mechanism, the upper limit of the available bandwidth for each class is dynamically modified due to the size of the queue space in each class. The proposal method provides more flexible bandwidth control, and then increases the effectiveness of the whole network from the simulation experiments. This paper presents implementation methods of the dynamic bandwidth decision method for network processors. Finally, the methods are evaluated on the real network environments.