Patent ID: 7586892

Claim:
A method, executed by software on a computer-readable medium of a computer, of scheduling jobs each having respective (i) length of execution time and (ii) requested frequency of occurrence, comprising: for each given job, allocating, by the computer, a respective set of start times in a cycle in a manner that evenly spreads the given jobs over the cycle; adding, by the computer, idle time slots in the cycle in a manner which reduces jitter, such that there is a balance between period approximation and jitter reduction, wherein period approximation is computed based on a comparison of (1) a frequency of occurrence granted to each given job in the cycle, and (2) the requested frequency of occurrence of the given job in the cycle; rounding up, by the computer, each requested frequency of occurrence to a next power of 2 before the steps of allocating and adding so as to generate a first schedule; rounding, by the computer, each requested frequency to a respective closest power of 2 before the steps of allocating and adding such that a second schedule is generated; and selecting, by the computer, one of the first schedule and second schedule as a function of period approximation.