System and method for using cells as a type of managed container to
control the operation of mobile software agents and the run-time
invocation and use of services within distributed computing environments.
The cell process initially starts out empty containing neither agents nor
services. The cell discovers and loads published services at run-time
through a look up into a distributed service registry. After loading the
service, the cell then publishes availability of the service for use by
agents. If an application using agents or an agent desires to make use of
a service published and provided by a cell, the application or agent
makes a request to the cell to fetch an agent that will invoke the
service. Prior to migrating to its new cell, the agent creates a proxy
agent that provides a communication channel between the agent running
within the cell and the originating agent system. Service status and
results are returned through the proxy channel.