Show all publications

ZeroMQ Peer to Peer Architecture for the Agent-Based Platform Janus

Open Web PageDownload Bibliography in Open DocumentDownload Bibliography in HTMLDownload BibTeXDownload RISDownload Bibliographical Ontology (RDF)
In Proc. of 2èmes Journées des Jeunes Chercheurs de l'UTBM (IngéDoc 2012), Doceo, UTBM, UTBM Press, 2012.
Poster Session. Janus is an open-source multi- agent platform fully implemented in Java 1.6. It enables the developers to quickly create web, enterprise and desktop agent-based applications. It provides a comprehensive set of features to develop, run, display and monitor agent-based applications. Janus could be used as an agent- oriented platform, an organizational platform, and/or an holonic platform. As an agent- oriented platform, Janus run pieces of autonomous and parallel software named agents. An autonomous agent is an intelligent agent operating on an owner's behalf but without any interference of that ownership entity. Intelligent agents are software entities that carry out some set of operations on behalf of a user or another program with some degree of independence or autonomy, and in so doing, employ some knowledge or representation of the user's goals or desires. As an organizational platform, Janus provides the support of the CRIO organizational metamodel in which the concepts of role and organization are considered as first- class entities. This metamodel is used to create model of complex systems by focusing on the organizational structures of such systems. As an holonic platform, Janus supports the execution of recursive agents and holons. On key concept of the agent is its autonomy. Because the autonomy also concerns the execution resource of the agent, agent systems are intrinsically assumed as parallel systems. According to the FIPA, the European consortium which had published the specification of a standardized agent platform, a agent-based platform must provide the means to execute the agents in parallel, inside threads or processes or on a computer network. In this context, Janus supports at the same time threads and network distribution. This networking feature is currently based on the JXTA specifications. JXTA defines a high-level peer to peer platform which eases to discovers the other nodes on the network and route the messages between two nodes. Unfortunately, the current implementation of JXTA in Janus is incomplete: it is limited to local networks. Moreover we consider JXTA as a dead project because it is no more maintained by its developers since a long time. These statements led us to study other networking libraries for Janus. This paper introduces a model of global repository that permits to the different Janus instances in local networks to retrieve other peers on Internet. The main contribution is this paper is the model of a peer to peer network based on the 0MQ library. 0MQ looks like an embeddable networking library but acts like a concurrency framework. It gives sockets that carry whole messages across various transports like in- process, inter-process, TCP, and multicast. It supports N-to-N sockets with patterns like fanout, pub-sub, task distribution, and request-reply. It is considered by the community as fast enough to be the fabric for clustered products. Its asynchronous I/O model enables to build scalable multicore applications. Boris Feld and Augusto Raska are engineering students in the Computer Science of the Department. They realize the works presented in this paper in the context of an research initiation lecture.
Peer to Peer, ZeroMQ, Janus Platform
Publication Category:
National conference without proceedings
Copyright 2010-2019 © Laboratoire Connaissance et Intelligence Artificielle Distribuées - Université Bourgogne Franche-Comté - Privacy policy