agent behind router configuration and JSA

View: New views
2 Messages — Rating Filter:   Alert me  

agent behind router configuration and JSA

by michael dibley :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.

Hi everyone

 

I would like to ask a question about the configuration of an agent platform ‘behind’ a firewall / router. The agents on this platform acquire a local ip and the router forwards incoming packets on the default ports to this host. In JADE to ensure replies to messages such as  ACLMessage.QUERY_REF arrive back, i create a new AID and set the ip as that of the router and then set that as the message’s sender in ACLMessage.setSender(AID id); that works but i expect there is a better way to achieve it.

 

However my problem is with JSA though as the local address is embedded in the semantic representations. I have tried overriding void DefaultCapabilities.sendCommunicativeAction(CommunicativeAction action), appending the host’s address in CommunicativeAction.setReplyToList() but it seems that may only be a partial solution, probably leading to problems in later interpretation by the framework. For example in response to subscribe, inform messages arrive back but the appropriate SIP (NotificationSIPAdapter) doesn’t get invoked.

 

Can I set the ‘native’ AID of the agent somehow (Agent.setAID() is not visible), to that of the router ip, or are there some other configuration options?

 

Any comments are much appreciated.

 

Best regards

Mike


_______________________________________________
jade-develop mailing list
jade-develop@...
https://avalon.cselt.it/mailman/listinfo/jade-develop
UNSUBSCRIBE INSTRUCTIONS AT
http://jade.tilab.com/community-mailinglist.htm

RE: agent behind router configuration and JSA

by Caire Giovanni-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.

Hi,

 

I’m not sure I have understood your problem (and the partial solution you currently adopted) correctly.

Anyway the following my be useful for you.

JADE, in its JADE-LEAP version (note that you can use JADE or JADE-LEAP transparently), supports the split-container execution mode that is very useful when you have to deploy agents in an environment with partial connectivity (e.g. NAT, firewalls...). A “split-container” is composed of a Front-End actually hosting the agents and a Back-End running somewhere in the network (often, even if this is not necessary, where the JADE Main Container is running). The Front-End only communicates with its Back-End which in turn communicates with the rest of the platform (main container and other peripheral containers). Therefore the only connectivity requirement is that the Front-End is able to open a socket with its Back-End. No one will ever need to open a socket with the Front-End. In your case you could put your agent (the one living behind the router) on the Front-End of a split container.

Look at the LEAP user guide or at chapter 8 of the Book Developing Multi Agent Systems with JADE for details about the split container execution mode.

 

Bye,

 

Giovanni  

 


From: jade-develop-bounces@... [mailto:jade-develop-bounces@...] On Behalf Of michael dibley
Sent: domenica 1 novembre 2009 20.56
To: jade-develop@...
Subject: [jade-develop] agent behind router configuration and JSA

 

Hi everyone

 

I would like to ask a question about the configuration of an agent platform ‘behind’ a firewall / router. The agents on this platform acquire a local ip and the router forwards incoming packets on the default ports to this host. In JADE to ensure replies to messages such as  ACLMessage.QUERY_REF arrive back, i create a new AID and set the ip as that of the router and then set that as the message’s sender in ACLMessage.setSender(AID id); that works but i expect there is a better way to achieve it.

 

However my problem is with JSA though as the local address is embedded in the semantic representations. I have tried overriding void DefaultCapabilities.sendCommunicativeAction(CommunicativeAction action), appending the host’s address in CommunicativeAction.setReplyToList() but it seems that may only be a partial solution, probably leading to problems in later interpretation by the framework. For example in response to subscribe, inform messages arrive back but the appropriate SIP (NotificationSIPAdapter) doesn’t get invoked.

 

Can I set the ‘native’ AID of the agent somehow (Agent.setAID() is not visible), to that of the router ip, or are there some other configuration options?

 

Any comments are much appreciated.

 

Best regards

Mike


_______________________________________________
jade-develop mailing list
jade-develop@...
https://avalon.cselt.it/mailman/listinfo/jade-develop
UNSUBSCRIBE INSTRUCTIONS AT
http://jade.tilab.com/community-mailinglist.htm