×

Priority based scheduling system for server

  • US 8,473,956 B2
  • Filed: 01/15/2008
  • Issued: 06/25/2013
  • Est. Priority Date: 01/15/2008
  • Status: Active Grant
First Claim
Patent Images

1. At a computer system, a method for executing prioritized computer-related maintenance tasks, the method comprising:

  • accessing a plurality of tasks that can be executed at the computer system, the plurality of tasks including a first task and a second task, the first task having an expressly defined relationship with the second task;

    for each task included in the plurality of tasks;

    the task including;

    a set of one or more performance parameters, the set of one or more performance parameters corresponding to computer-related components used by the task, the computer related components including a combination of hardware and software components optimized to perform the task; and

    a set of one or more trigger parameters, each of the one or more trigger parameters used to determine if the task is more or less likely to be executed;

    accessing the set of one or more trigger parameters for the task; and

    assigning a priority to the task based on the accessed set of one or more trigger parameters, the assigned priority relative to the priority of other tasks included in the plurality of tasks;

    identifying the first task for execution based on the assigned priorities;

    executing the first task;

    during execution of the first task;

    monitoring the set of one or more trigger parameters for each of the plurality of tasks;

    monitoring the set of one or more performance parameters for each of the plurality of tasks;

    detecting a change in one or more of a trigger parameter included in the set of one or more trigger parameters monitored for each of the plurality of tasks and a performance parameter included in the set of one or more performance parameters monitored for each of the plurality of tasks, the trigger parameter and the performance parameter associated with one or more tasks from among the plurality of tasks;

    updating one or more specified parameters in at least one of;

    the set of one or more trigger parameters and the set of one or more performance parameters for each of the associated one or more tasks to reflect the detected change;

    adjusting the priority of the one or more tasks relative to the priority of other tasks included in the plurality of tasks based on the updated one or more specified parameters, adjusting the priority of the one or more tasks comprising;

    lowering the priority of or raising the priority of each of the one or more tasks;

    analyzing the expressly defined relationship with the second task;

    determining that the first task and the second task can be executed in parallel based on the expressly defined relationship;

    executing the second task based on the determination;

    re-evaluating execution of tasks from among the plurality of tasks based on the adjusted priorities for the one or more tasks; and

    in response to the re-evaluation, permitting the first task to continue executing in parallel with one other task from among the plurality of tasks.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×