20. The computer program of claim 16 , wherein when the job request fails, the user is notified and the job is automatically resubmitted within a predefined amount of time.
16. A computer program, embodied on a non-transitory computer readable medium, the computer program configured to cause a processor to: applying respective weights for a plurality of information items to determine a job priority; concurrently determine a first pool of printers based on the respective weights and a second pool of printers without using the respective weights; determine a third pool of printers from the first pool of printers and the second pool of printers, the third pool of printers satisfying conditions of the first pool of printers and conditions of the second pool of printers; select at least one appropriate device from the third pool of printers to fulfill a job request based on the respective weights and at least one available job specific resource; and process and complete the job using the at least one appropriate device based on the respective weights; wherein the applying of the respective weights for the plurality of information items to determine the job priority comprises taking a value of the collective weights of the plurality of information items and dividing the value by a cumulative utility factor.