Three-step iterative scheduler for QoS provisioning to users running multiple services in parallel