Patent ID: 8837398
Filing Date: 2014-09-16
Classification: H04L,H04W

Abstract:
1. A computer-implemented method for generating a schedule to transmit data on a network, the method comprising: receiving, by a computing system and for each particular client device of multiple client devices from a plurality of client devices with which the computing system is communicating in a network, first information that identifies a first quantity of data that the particular client device has designated for transmission to the computing system; identifying, by the computing system, an initial allocation of packet time segments, from a frame that includes packet time segments, among the multiple client devices; determining, by the computing system, as available packet time segments, those packet time segments of the initially-allocated packet time segments that one or more of the multiple client devices would not use in order for each of the one or more of the multiple client devices to transmit the data that the respective client device has designated for transmission to the computing system; allocating, by the computing system, the available packet time segments among a subset of the multiple client devices proportionally based on a quantity of data that each of the subset of client devices has designated for transmission to the computing system, in order to generate a final allocation of packet time segments among the multiple client devices, the subset of the multiple client devices being those client devices of the multiple client devices that are not the one or more client devices, wherein at least two of the multiple client devices are dynamically allocated different quantities of packet time segments in the final allocation of packet time segments, during which the at least two of the multiple client devices are permitted to transmit data to the computing system; and transmitting, by the computing system and for receipt by each particular client device of the multiple client devices, a first schedule that identifies a first subset of packet time segments from the frame during which the particular client device is permitted to transmit data to the computing system, the first subset of packet time segments for each particular client device being identified from the final allocation of packet time segments; accessing, by the computing system and for each particular client device of the multiple client devices, second information that identifies a second quantity of data that the particular client device has designated for transmission to the computing system; and determining, by the computing system and using the second information that identifies the second quantity of data for each of the multiple client devices, a second schedule that identifies a second subset of packet time segments, from the frame, during which a first client device is permitted to transmit data to the computing system, wherein the first subset of packet time segments for the first client device is different than the second subset of packet time segments.