1. A method comprising: in a grid network, maintaining a list of applications that can perform a task, the list referencing at least one primary application and a plurality of secondary applications used to perform the task; executing the task with the primary application in response to a request to perform the task; and executing the task with one or more of the secondary applications according to grid resource availability.