Patent ID: 7441241

Claim:
A method for scheduling a job on a grid, the method comprising: maintaining a record of state-independent properties of each resource in the grid; sending a job, submitted to the grid by a computer, to a resource that is closest in proximity to the submitting computer; determining by the resource, whether it can execute the job under the conditions specified in the job; responsive to the determination that the resource can not execute the job under the conditions specified in the job, rejecting the job; responsive to rejection of the job, determining from the said record whether any of the other resources have the properties required to execute the job; responsive to the determination that one or more of the other resources have the properties required to execute the job, sending the job to a resource at random; responsive to the determination that none of the other resources have the properties required to execute the job, determining whether the job has gone through a predefined number of iterations; responsive to the determination that the job has not gone through a predefined number of iterations, entering a new iteration by sending the job to a resource at random; and responsive to the determination that the job has gone through a predefined number of iterations, notifying the submitting computer that the job has failed.