1. A method comprising: uploading a cache manager to a client machine, wherein the cache manager is stored at a network element, the cache manager: receiving, at the client machine, a software application version identifier, associated with a first version of a software application stored at the network element; identifying a version number associated with a second version of the software application stored on the client machine; comparing the software application identifier to the version number to determine whether the first version of the software application on the network element is the same as the second version of the software application stored on the client machine; uploading the first version of the software application from the network element to the client machine if the software application version identifier does not match the version number and a prior upload of the first version of the software has not begun; deleting the second version of the software application stored on the client machine if the second version of the software has not been used within a predetermined period of time; and running the uploaded first version of the software application on the client machine prior to said deleting the second version of the software application stored on the client machine.