A communications controller comprising: a flow manager configured to classify a packet flow serviced by more than one transmission points, TPs (230, 234, 244), as one of a plurality of slices in accordance with at least one of a nature of the packet flow, a load status of each of the plurality of slices, and feedback information provided by the more than one TPs (230, 234, 244), and to alter a classification of the packet flow in accordance with the load status of each of the plurality of slices, and the feedback information provided by the more than one TPs (230, 234, 244), wherein the feedback information provided by the more than one TPs (230, 234, 244) includes a corresponding TP (230, 234, 244) utilization that represents a number of network resources used for packet transmission and a total number of available slots, a currently used modulation and coding scheme, MCS, for each user equipment, UE, (240, 246, 248) connected to one or more of the more than one TPs (230, 234, 244), and a signal to interference plus noise ratio, SINR, for each UE (240, 246, 248); a memory operatively coupled to the flow manager, the memory configured to store a packet of the packet flow in one of a plurality of packet queues in accordance with the classification of the packet flow; and a scheduler operatively coupled to the flow manager and to the memory, and configured to schedule a transfer of the packet from the one of the plurality of packet queues to at least one TP (230, 234, 244) in accordance with the classification of the packet flow and a destination of the packet; wherein, the communications controller is further configured to: determine and update a capacity for each of the more than one TPs (230, 234, 244); determine and update a decision metric value for each of the more than one TPs (230, 234, 244), wherein the decision metric value is computed based on the capacity and a total average served rate of the TP (230, 234, 244); and determine if the packet is destined for a UE (240, 246, 248) served by only one TP (230, 234, 244) or by more than one TPs (230, 234, 244) and select a TP (230, 234, 244) from the one or more TPs (230, 234, 244) to serve the packet, wherein the selection is made based on the previous determination and based on the decision metric values of the one or more TPs (230, 234, 244); and the scheduler is further configured to schedule the packet to the TP (230, 234, 244), as previously selected based on the decision metric values; and wherein, the communications controller is further configured to: perform dynamic adaptation of sizes of the plurality of slices by using a rate-based utility with constraints on rate, resource balancing between the more than one TPs (230, 234, 244) and user quality of experience, QoE. a flow manager configured to classify a packet flow serviced by more than one transmission points, TPs (230, 234, 244), as one of a plurality of slices in accordance with at least one of a nature of the packet flow, a load status of each of the plurality of slices, and feedback information provided by the more than one TPs (230, 234, 244), and to alter a classification of the packet flow in accordance with the load status of each of the plurality of slices, and the feedback information provided by the more than one TPs (230, 234, 244), wherein the feedback information provided by the more than one TPs (230, 234, 244) includes a corresponding TP (230, 234, 244) utilization that represents a number of network resources used for packet transmission and a total number of available slots, a currently used modulation and coding scheme, MCS, for each user equipment, UE, (240, 246, 248) connected to one or more of the more than one TPs (230, 234, 244), and a signal to interference plus noise ratio, SINR, for each UE (240, 246, 248); a memory operatively coupled to the flow manager, the memory configured to store a packet of the packet flow in one of a plurality of packet queues in accordance with the classification of the packet flow; and a scheduler operatively coupled to the flow manager and to the memory, and configured to schedule a transfer of the packet from the one of the plurality of packet queues to at least one TP (230, 234, 244) in accordance with the classification of the packet flow and a destination of the packet; wherein, the communications controller is further configured to: determine and update a capacity for each of the more than one TPs (230, 234, 244); determine and update a decision metric value for each of the more than one TPs (230, 234, 244), wherein the decision metric value is computed based on the capacity and a total average served rate of the TP (230, 234, 244); and determine if the packet is destined for a UE (240, 246, 248) served by only one TP (230, 234, 244) or by more than one TPs (230, 234, 244) and select a TP (230, 234, 244) from the one or more TPs (230, 234, 244) to serve the packet, wherein the selection is made based on the previous determination and based on the decision metric values of the one or more TPs (230, 234, 244); and the scheduler is further configured to schedule the packet to the TP (230, 234, 244), as previously selected based on the decision metric values; and wherein, the communications controller is further configured to: perform dynamic adaptation of sizes of the plurality of slices by using a rate-based utility with constraints on rate, resource balancing between the more than one TPs (230, 234, 244) and user quality of experience, QoE.