Patent ID: 8549096

Claim:
A non-transitory computer-readable media storing instructions, the instructions comprising: one or more instructions, executable by at least one processor, to cause the processor to: identify a request for a service, the service being provided by one or more of a plurality of remote devices in a distributed processing environment, the distributed processing environment including one or more technical computing environments; access a data structure storing a plurality of policies for dynamically determining at least one of the plurality of remote devices for providing the service to a device making the request, the at least one of the plurality of remote devices being available to provide the service, and the service being used to satisfy the request; select at least one policy from the plurality of policies in the data structure, the selected at least one policy including one or more of: a security policy, a cost policy, a bandwidth policy, a state policy, a latency policy, a configuration policy, a location policy, a quality-of-service policy, a topology policy, an affiliation policy, a licensing policy, a rights policy, or an accuracy policy; apply the selected at least one policy to the request; determine that available resources on the device are adequate for providing the service; process the request using the available resources on the device; identify, during the processing, another request for another service, the other request being different than the request, determine whether an application programming interface (API) associated with the other service is available via the device; load, when the API associated with the other service is not available via the device, the API associated with the other service; identify, using the loaded API, at least one of the plurality of remote devices that can process the other request; and dynamically dispatch the other request to the identified at least one of the plurality of remote devices to provide the other service.