Computer implemented method for scheduling tasks to a cyclic schedule of a hypervisor, the schedule consisting of a ordered collection of slots, wherein the slots are either static slots, wherein each static slot is assigned to a virtual machine, or dynamic slots, which are unassigned, comprising maintaining a task request queue which is a FIFO queue of virtual machine extra-time task request references, a count, the count being initialized to a given limit, wherein, periodically, - if the task request queue contains at least a reference to a task, the task request reference at the front of the queue is removed by the hypervisor and the task corresponding to the removed task request reference is dispatched by running the virtual machine specified by the removed task request reference and the count is not incremented and - if the task request queue is empty and the count is less than the given limit the hypervisor increments the count if the next slot is a dynamic slot and the hypervisor skips the dynamic slot by proceeding to the next but one slot in the schedule and - if the next slot is statically assigned to a task among the tasks, that task is dispatched by the hypervisor by running the specified virtual machine and - when a new task request is received, a reference to the new task request is added to the end of the task request queue only if the count is not zero, and the count is decremented. comprising maintaining a task request queue which is a FIFO queue of virtual machine extra-time task request references, a count, the count being initialized to a given limit, wherein, periodically, - if the task request queue contains at least a reference to a task, the task request reference at the front of the queue is removed by the hypervisor and the task corresponding to the removed task request reference is dispatched by running the virtual machine specified by the removed task request reference and the count is not incremented and - if the task request queue is empty and the count is less than the given limit the hypervisor increments the count if the next slot is a dynamic slot and the hypervisor skips the dynamic slot by proceeding to the next but one slot in the schedule and - if the next slot is statically assigned to a task among the tasks, that task is dispatched by the hypervisor by running the specified virtual machine and - when a new task request is received, a reference to the new task request is added to the end of the task request queue only if the count is not zero, and the count is decremented. - if the task request queue contains at least a reference to a task, the task request reference at the front of the queue is removed by the hypervisor and the task corresponding to the removed task request reference is dispatched by running the virtual machine specified by the removed task request reference and the count is not incremented and - if the task request queue is empty and the count is less than the given limit the hypervisor increments the count if the next slot is a dynamic slot and the hypervisor skips the dynamic slot by proceeding to the next but one slot in the schedule and - if the next slot is statically assigned to a task among the tasks, that task is dispatched by the hypervisor by running the specified virtual machine and - when a new task request is received, a reference to the new task request is added to the end of the task request queue only if the count is not zero, and the count is decremented.