Handling of QoS priorities to differentiate flows is critical in the next generation Internet with ever increasing traffic. We present a scheme called p-persistent binary tree arbiter (PBTA) that approximates the general processor sharing (GPS) model. PBTA arbitrates between contending flows based on various quality of service parameters which are mapped to their weights or priorities; and, by being stateful, it provides a fair arbitration among the contending flows across the individual timeslots. Our simulations show that PBTA provides a fair technique among the flows by providing the proper service ratios and transit times conforming to the appropriate traffic classes. The advantage of the scheme is that it requires no modifications to the other scheduling algorithms. The preliminary FPGA implementation shows that the mechanism is implementable, fast, and conservative in chip area.