  In this paper we look at the problem of scheduling tasks on a
single-processor system, where each task requires unit time and must be
scheduled within a certain time window, and each task can be added to or
removed from the system at any time. On each operation, the system is allowed
to reschedule any tasks, but the goal is to minimize the number of rescheduled
tasks. Our main result is an allocator that maintains a valid schedule for all
tasks in the system if their time windows have constant size and reschedules
O(1/{\epsilon}*log(1/{\epsilon})) tasks on each insertion as {\epsilon}->0,
where {\epsilon} is a certain measure of the schedule flexibility of the
system. We also show that it is optimal for any allocator that works on
arbitrary instances. We also briefly mention a few variants of the problem,
such as if the tasks have time windows of difference sizes, for which we have
an allocator that we conjecture reschedules only 1 task on each insertion if
the schedule flexibility remains above a certain threshold.
