The main purpose of active queue management is to provide congestion information so that sources can set their rates. In this paper, we consider an algorithm which can achieve high utilization as well as a low queuing delay and loss, regardless of the number of sources. This is done by matching the source rate to the network capacity and stabilizing the queue lengths around target values. Based on load level prediction we proposed an asynchronous control mechanism combine with the queue-based and rate-based to make better performance trade-off.