1. A computer-implemented method executed in a grid network comprising a plurality of grid nodes, the computer-implemented method comprising: storing an application usage history reflecting execution histories of a plurality of grid applications, the application usage history including data relating to how frequently the grid applications are executed with different input parameters, data relating to how frequently the grid applications are executed after execution of other applications, data indicating times when the grid applications are executed, and data indicating a number of users that have executed the grid applications; determining a first one of the plurality of grid applications that is likely to be requested for execution by a user, based on at least the execution history of the first grid application reflected by the application usage history; selecting a first one of the plurality of grid nodes for executing the first grid application, based on availability of the first grid node to execute the first grid application; executing the first grid application on the first grid node using a computer processor, the first grid application being executed in advance of receiving a corresponding user request from the user requesting execution of the first grid application; caching results of the first grid application in a storage device; receiving the corresponding user request for execution of the first grid application; and providing the cached results to the user in response to the user request.