Patent ID: 8918761
Filing Date: 2014-12-23
Classification: G06F,H04L

Abstract:
1. A computing device-implemented method for managing software, comprising: establishing, by a manager computing device in a distributed computing environment, a connection with a requesting computing device; receiving, by the manager computing device from the requesting computing device, a request to perform a software process which requires access to data at a data store in the distributed computing environment; in response to the request to perform the software process, identifying, by the manager computing device, a first selected computing device from a plurality of candidate computing devices in the distributed computing environment to perform the software process based at least in part upon a rank of a suitability of each of the plurality of candidate computing devices to perform the software process, the plurality of candidate computing devices including the requesting computing device; causing, by the manager computing device, the data to be retrieved using a Uniform Resource Locator (URL) from the manager computing device; causing, by the manager computing device, the first selected computing device to obtain and execute code to perform the software process; monitoring, by the manager computing device, the first selected computing device as the first selected computing device executes the code to perform the software process; and in response to determining, by the manager computing device, that the suitability of the first selected computing device to execute the code to perform the software process is below a threshold, identifying, by the manager computing device, a second selected computing device to execute the code to perform the software process; causing, by the manager computing device, the code to perform the software process to be redeployed to the second selected computing device; causing, by the manager computing device, at least a portion of the data to be communicated from the first selected computing device to the second selected computing device; and causing, by the manager computing device, the second selected computing device to execute the code to perform the software process.