
Agent Exit Control. The AgentExitControl is responsible to implement the
functionalities of the exit control module. Thus, it includes methods to control if an
agent has permission to travel, and to check if the destination is an available and valid
TeleCARE platform. Like the other two classes above, this class does not have public
methods so the only way to access its functionalities is through messages.
When an agent is about to travel, it has to require permission for traveling from the
AgentExitControl of its current node by sending a message of type
“REQUEST_TRAVELLING_PERMISSION”, and also by sending its passport and
specifying the destination platform. The AgentExitControl verifies the passport of the
agent in order to know if it has traveling permission, and also verifies if the
destination is an available and valid TeleCARE platform. If the response is positive
for both conditions, the agent can travel to the intended destination.
Immediately after an agent arrives to a destination, it requires from the local
AgentReceptionControl to be registered in the platform, by sending a message of the
type “REQUEST_VALIDATION” together with its passport. The passport is verified
by the AgentReceptionControl, which sends a response to the incoming agent. If the
passport is valid, the AgentReceptionControl sends a message of type
“REGISTER_UPDATE” to the AgentExitControl instances running at the local host,
last host, and origin host of the mobile agent. This will lead to a registration of the
agent at the local platform, a removal of its register from the last platform registry,
and an update of its register at the origin platform, as illustrated in Fig. 4.
If the verification process of the agent’s passport results fails, the agent is disposed
and its respective registers, both at last host and origin host, are erased.
Host A
AR
AR
Agent_1 at Host A
Agent_ZatHostB
Host B
AR
AR
Agent_2 at Host B
Agent_ZatHostB
Agent_2Agent_2
Agent_1Agent_1
Agent_ZAgent_Z
Fig. 4. After Agent_Z has traveled to Host B, the AR of the original platform is updated. This
way any agent can be located, provided that at least its original platform is known.
Through the operation of these three system agents it is possible to achieve some
degree of privacy and security since it is possible to configure which kind of agents
are allowed to perform their tasks is each platform.
3 Inter-Agent Communication
The objective of extending the AGLETS basic message exchange mechanism is to
have additional functionality needed for the adequate operation of the TeleCARE
Platform in terms of reliable communication. Whenever an agent wants to send a
41