You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

There are many project, that form together OdysseusNet. Here we will give a short overview. We omit the de.uniol.inf.is.odysseus part of the project and will only show non feature projects.

Remark: The are two different ways to use OdysseusNet.

  • All nodes are OdysseusNet nodes
  • A least the master node is an OdysseusNet node and the other node are default Odysseus nodes (Remark: Even if the worker are OdysseusNet nodes, they are treatet like default Odysseus nodes, i.e. no extra worker capabilities are used).

net

In this project all the base and common classes can be found.

net.communication

Here all basic interfaces for the inter node communication can be found. Odysseus currenlty provides two ways to communicate. Message based (here all nodes must be OdysseusNet nodes and all node must be part of the same subnet) and REST-based (only the master node must be an OdysseusNet node, the other nodes are default Odysseus nodes). Only one communication kind can be used at the same time and is configured with the net.node.communicator configuration. The main interface here is IOdysseusNodeCommunicator.

net.communication.object

This project implements the message based OdysseusNet communication. Here all nodes must belong to the same subnet, as the worker will send messages to the master. More concrete: Internally, OdysseusNet internally communicates with message object. This layer just sends the message objects to other Odysseus node and receives messages from other nodes. net.connect (see below) is used for this.

net.communication.rest

This project allows a master to communicate with default Odysseus nodes by using the REST interface V2 of Odysseus. The internal messages of OdysseusNet are caught and translated to REST class and the results are send as messages again. The configure this rest based communication, use net.node.communicator='rest'  in the OdsseusNet configuration.

net.config

This project handles the access to the net config file.

net.connect

This project is used for the object based communication via tcp sockets. It has some associated project:

  • net.connect.select.all: Group ids of nodes are ignored.
  • net.connect.select.group: Handle different groups of nodes.
  • net.connect.socket: Basis socket communication between OdysseusNet nodes.

net.console

This project provides OSGi console commands for OdysseusNet

net.data

All distributed source handling is done here. This is not tested with the REST based communication yet.

net.data.console

A console for distributed source handling.

net.discovery

The discovery of nodes is handled here. There are currently three discoverer implemented:

  • net.discovery.broadcast: Only for object based communication. Uses a broadcast to look for existing nodes. Nodes will reply to a broadcast message. (If the workers are OdysseusNet, this can be combined with the REST communication.)
  • net.discovery.multicast: Only for object based communication. Uses a multicast to look for existing nodes. Nodes will reply to a multicast message. (If the workers are OdysseusNet, this can be combined with the REST communication.)
  • net.discovery.iplist: The discoverer reads nodes from a config file. The nodes can be any kind of nodes.

net.ping

This project handles node alive checking with ping messages.



  • No labels