In accordance with one embodiment of the invention, a broadcast server
system computes a feasible stretch value for use in scheduling job
requests. A stretch value provides an indication of the delay experienced
by each job request to complete, when the broadcast server processes many
jobs concurrently. A processing time is calculated for each job request
based on, the size of the job request and the bandwidth of the server
downlink. Thereafter, a stretch value is proposed. The server system
computes a deadline for each job to be the arrival time of the job request
plus the product of the processing time and the proposed stretch value.
Thereafter, each job request is scheduled, based on an "earliest deadline
first" arrangement, wherein the job request that has the earliest deadline
is scheduled first, the job request having the next earliest deadline is
scheduled second, etc. The proposed stretch value is deemed feasible if
each pending job request can be completed prior to its deadline. If the
proposed stretch value is deemed not feasible, it is adjusted iteratively
until a feasible stretch value is found. The feasible stretch value is
then utilized to schedule the job requests to be broadcast by the system.
When the broadcast of a job request is completed, all job requests for the
same data item, which arrived prior to the start of the broadcast, are
eliminated from the pending job requests.
De acuerdo con una encarnación de la invención, un sistema del servidor de la difusión computa un valor factible del estiramiento para el uso en peticiones programar del trabajo. Un valor del estiramiento proporciona una indicación del retrasa experimentado por cada petición del trabajo de terminar, cuando el servidor de la difusión procesa muchos trabajos concurrentemente. Un tiempo de transformación se calcula para cada petición del trabajo basada encendido, el tamaño de la petición del trabajo y la anchura de banda del downlink del servidor. Después de eso, se propone un valor del estiramiento. El sistema del servidor computa un plazo para que cada trabajo sea la época de llegada de la petición del trabajo más el producto del tiempo de transformación y del valor propuesto del estiramiento. Después de eso, cada petición del trabajo programar, basado en un arreglo del "plazo más temprano primero", en donde la petición del trabajo que tiene el plazo más temprano programar primero, la petición del trabajo que tiene el plazo más temprano próximo programar en segundo lugar, etc. El valor propuesto del estiramiento se juzga factible si cada petición pendiente del trabajo se puede terminar antes de su plazo. Si el valor propuesto del estiramiento se juzga no factible, se ajusta iterativo hasta que se encuentra un valor factible del estiramiento. El valor factible del estiramiento entonces es utilizado para programar las peticiones del trabajo de ser difusión por el sistema. Cuando la difusión de una petición del trabajo se termina, todos los pedidos del trabajo el mismo artículo de datos, que llegó antes del comienzo de la difusión, se eliminan de las peticiones pendientes del trabajo.