Disclosed is a computer-implemented planning process that aids a system
administrator in the task of creating a job schedule. The process treats
enterprise computing resources as a grid of resources, which provides
greater flexibility in assigning resources to jobs. During the planning
process, an administrator or other user, or software, builds a
job-dependency tree. Jobs are then ranked according to priority,
pickiness, and network centricity. Difficult and problematic jobs then
are assigned resources and scheduled first, with less difficult jobs
assigned resources and scheduled afterwards. The resources assigned to
the most problematic jobs then are changed iteratively to determine if
the plan improves. This iterative approach not only increases the
efficiency of the original job schedule, but also allows the planning
process to react and adapt to new, ad-hoc jobs, as well as unexpected
interruptions in resource availability.