Generalized Processor Sharing (GPS) is a scheduling discipline which provides minimum service guarantees as well as fair resource sharing. The performance of GPS is governed by the scheduling weights associated with individual connections. The system discloses methods for GPS scheduling that handle an arbitrary number of connection classes and reservation-based weights and admission control techniques to achieve fairness among connection classes. The methods allow statistical multiplexing gains in the presence of multiple traffic and Quality of Service (QoS) classes of connections that share a common trunk. Also disclosed are several novel techniques to compute and adapt the weights.