Discussion:
[jade-develop] Communication and Fault Tolerance in JADE
Adailton Junior
2014-06-15 05:05:29 UTC
Permalink
Dear,

I'm doing a project that involves communication and fault tolerance in
JADE. However, I'm not finding documentation, the implementation level,
that talks about these aspects, eg, sockets, protocol and layers net used
by JADE.

Could someone point me to some? Or could help me with an explanation?

Thank you in advance for your attention,

[]'s
Adailton Cerqueira Junior
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://avalon.cselt.it/pipermail/jade-develop/attachments/20140615/39cb4414/attachment.html>
Caire Giovanni
2014-06-20 14:26:21 UTC
Permalink
Hi,

Communication and fault-tolerance are 2 different aspects.
- Agent communication is based on ACLMessage passing. How to make agents exchange messages is of course very well documented. How JADE translates such messages into bits and how these bits are transferred over the network to reach the receiver is a JADE internal stuff. It is not documented in details since normally users use JADE exactly to avoid caring about all these issues.
You can find a high level description of the JADE Internal Message Transport Package (IMTP) in section 3.6.2 and in chapter 8 of the Book Developing Multi Agent Systems with JADE. Note that the book mention that JADE supports 2 alternative IMTPs, the RMI-IMTP and the LEAP-IMTP, and that the RMI-IMTP is the default one. Since version 4 (released after the publication of the book) the LEAP-IMTP (described in chapter 8) became the default one, while the RMI-IMTP is still available but is now obsolete.

- Fault tolerance is a different issue. Platform fault tolerance is supported by means of the Main Container Replication Service described in chapter 9 of the book Developing Multi Agent Systems with JADE. Platform fault tolerance means that even after a fault of a host the platform mechanisms (i.e. sending messages, starting agents...) continue to work.
Application fault tolerance is another stuff: e.g. if one of the hosts you run your JADE-based application on crashes and if an agent providing to the rest of the application an important feature was running on that host, your application will likely not work properly anymore even if the remaining agents can continue to exchange messages.
In order to support application fault tolerance JADE provides the Virtual Replicated Agents mechanism that is described in details in a dedicated tutorial available in the online documentation section of the JADE web site.

Bye,

Giovanni


Da: jade-develop-bounces at avalon.tilab.com [mailto:jade-develop-bounces at avalon.tilab.com] Per conto di Adailton Junior
Inviato: domenica 15 giugno 2014 07:05
A: jade-develop at avalon.tilab.com
Oggetto: [jade-develop] Communication and Fault Tolerance in JADE

Dear,

I'm doing a project that involves communication and fault tolerance in JADE. However, I'm not finding documentation, the implementation level, that talks about these aspects, eg, sockets, protocol and layers net used by JADE.

Could someone point me to some? Or could help me with an explanation?

Thank you in advance for your attention,

[]'s
Adailton Cerqueira Junior
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://avalon.cselt.it/pipermail/jade-develop/attachments/20140620/4514475f/attachment.html>
Adailton Junior
2014-09-05 12:33:58 UTC
Permalink
Hi Giovanni,

Thanks for your explanation!

I understand that most developers need not worry regarding the low level of
the communication, but I would like to understand how it works. For this
reason, I would like to know if there was any documentation.

I'm still trying to understand low level of the communication. :)

About fault tolerance, my project is try to provide the fault tolerance in
the communication of JADE!

thanks for your attention
--
[]'s
Adailton Cerqueira
Viva Inovação - http://www.vivainovacao.com
Mestrando em MecatrÃŽnica - Universidade Federal da Bahia - UFBA
Laboratório de Sistemas Distribuídos - LaSiD
Bacharel em Sistema de Informação - Universidade do Estado da Bahia - UNEB
Técnico em Automação Industrial - Centro Federal de Educação Tecnológica da
Bahia - CEFET-BA
Bahia Robotics Team - http://www.acso.uneb.br/brt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://jade.tilab.com/pipermail/jade-develop/attachments/20140905/51e68557/attachment.html>
Caire Giovanni
2014-09-08 21:37:24 UTC
Permalink
Hi,

There are 3 cases:
1) Receiver lives in the same container. In this case the message is delivered just inserting the ACLMessage object into the receiver’s message queue.
2) Receiver lives in another container (possibly on a different host) of the same platform. In this case the message is encoded and then transmitted using a JADE proprietary format (see the method serializeACL() of the LEAPACLCodec class) and protocol (JICP). Unfortunately we don’t have readable documentation on this. The classes implementing it are included in the jade.imtp.leap.JICP package. In particular you can start from the JICPPeer class (a peer includes a “server” to receive incoming messages and a “client” to send messages).
3) Receiver lives in a different platform. In this case message encoding and transmission is carried out according to the FIPA specifications.

Bye,

Giovanni

Da: Adailton Junior [mailto:adailton.junior at gmail.com]
Inviato: venerdì 5 settembre 2014 14:34
A: Caire Giovanni
Cc: jade-develop at avalon.tilab.com
Oggetto: Re: [jade-develop] Communication and Fault Tolerance in JADE

Hi Giovanni,

Thanks for your explanation!

I understand that most developers need not worry regarding the low level of the communication, but I would like to understand how it works. For this reason, I would like to know if there was any documentation.

I'm still trying to understand low level of the communication. :)

About fault tolerance, my project is try to provide the fault tolerance in the communication of JADE!

thanks for your attention

--
[]'s
Adailton Cerqueira
Viva Inovação - http://www.vivainovacao.com
Mestrando em MecatrÃŽnica - Universidade Federal da Bahia - UFBA
Laboratório de Sistemas Distribuídos - LaSiD
Bacharel em Sistema de Informação - Universidade do Estado da Bahia - UNEB
Técnico em Automação Industrial - Centro Federal de Educação Tecnológica da Bahia - CEFET-BA
Bahia Robotics Team - http://www.acso.uneb.br/brt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://jade.tilab.com/pipermail/jade-develop/attachments/20140908/f719f268/attachment.html>
Continue reading on narkive:
Loading...