A service provider system adapted for distributing services, including patch
selection
and delivery, in a distributed computing environment. The system includes a service
manager linked to the communications network that functions to obtain and store
client system information from the client systems during performance of the services.
A service deployment tool registers service providers by storing service proxies
from the service providers that are executable code and include an interface defining
the methods implemented by the service. The tool functions to transfer service
proxies to the client system in response to service requests. A service selection
tool processes service requests to match service proxies to select appropriate
available services for the client system. The client system includes a virtual
service mechanism for registering as a recipient with the service manager, transmitting
the service requests, and executing the service proxies received in response to
the service requests.