A method for uplink scheduling of a plurality of wireless devices in a communications network, the method comprising: estimating, for each of the plurality of wireless devices, a buffer size corresponding to each of at least one radio bearer groups, RBG, each of the at least one RBG being used by the wireless device to carry traffic via multiple bearers; and determining an uplink resource maximum allotment for each wireless device based, at least in part, on the estimated buffer size corresponding to each RBG and a priority weight of each RBG used by the plurality of wireless devices, the priority weight of each RBG being based at least in part on quality of service, QoS, requirements of bearers carried by the RBG, wherein determining the uplink resource maximum allotment for each wireless device comprises: sorting each RBG in descending priority weight order, wherein the sorted RBGs include a highest weighted RBG and successively lower-weighted RBGs; estimating a total number of available uplink resources in a current transit time interval, TTI; when the estimated buffer size of the highest weighted RBG is greater than the total number of available uplink resources, assigning to the highest weighted RBG a maximum number of uplink resources equal to the total number of available uplink resources; when the estimated buffer size of the highest weighted RBG is less than the total number of available uplink resources, incrementally summing the estimated buffer size of the highest weighted RBG and the estimated buffer size of each successively lower-weighted RBG until a final RBG is added that renders the sum of the estimated buffer size of the highest weighted RBG and the estimated buffer size of each successive lower-weighted RBG greater than the total number of available uplink resources; and assigning, to the final RBG, a maximum number of uplink resources equal to a difference between the total number of available uplink resources and the sum of the estimated buffer size of the highest weighted RBG and a total of the estimated buffer size of each successively lower-weighted RBG before the final RBG. estimating, for each of the plurality of wireless devices, a buffer size corresponding to each of at least one radio bearer groups, RBG, each of the at least one RBG being used by the wireless device to carry traffic via multiple bearers; and determining an uplink resource maximum allotment for each wireless device based, at least in part, on the estimated buffer size corresponding to each RBG and a priority weight of each RBG used by the plurality of wireless devices, the priority weight of each RBG being based at least in part on quality of service, QoS, requirements of bearers carried by the RBG, wherein determining the uplink resource maximum allotment for each wireless device comprises: sorting each RBG in descending priority weight order, wherein the sorted RBGs include a highest weighted RBG and successively lower-weighted RBGs; estimating a total number of available uplink resources in a current transit time interval, TTI; when the estimated buffer size of the highest weighted RBG is greater than the total number of available uplink resources, assigning to the highest weighted RBG a maximum number of uplink resources equal to the total number of available uplink resources; when the estimated buffer size of the highest weighted RBG is less than the total number of available uplink resources, incrementally summing the estimated buffer size of the highest weighted RBG and the estimated buffer size of each successively lower-weighted RBG until a final RBG is added that renders the sum of the estimated buffer size of the highest weighted RBG and the estimated buffer size of each successive lower-weighted RBG greater than the total number of available uplink resources; and assigning, to the final RBG, a maximum number of uplink resources equal to a difference between the total number of available uplink resources and the sum of the estimated buffer size of the highest weighted RBG and a total of the estimated buffer size of each successively lower-weighted RBG before the final RBG. sorting each RBG in descending priority weight order, wherein the sorted RBGs include a highest weighted RBG and successively lower-weighted RBGs; estimating a total number of available uplink resources in a current transit time interval, TTI; when the estimated buffer size of the highest weighted RBG is greater than the total number of available uplink resources, assigning to the highest weighted RBG a maximum number of uplink resources equal to the total number of available uplink resources; when the estimated buffer size of the highest weighted RBG is less than the total number of available uplink resources, incrementally summing the estimated buffer size of the highest weighted RBG and the estimated buffer size of each successively lower-weighted RBG until a final RBG is added that renders the sum of the estimated buffer size of the highest weighted RBG and the estimated buffer size of each successive lower-weighted RBG greater than the total number of available uplink resources; and assigning, to the final RBG, a maximum number of uplink resources equal to a difference between the total number of available uplink resources and the sum of the estimated buffer size of the highest weighted RBG and a total of the estimated buffer size of each successively lower-weighted RBG before the final RBG.