Discovery protocol

All communications between the coordinator and the participants happens using the message queue. The network coordinator and the participants have channels to communicate, and when different processes provided by participants are connected with each other, these also pass through a queue.

Message format

Each message sent between Participants and Coordinator has the following format:

Participant discovery

The network coordinator subscribes to a queue named fbp.

Once a participant becomes available, it announces its availability by sending a message to this queue with protocol: ‘discovery’ and command: ‘participant’.

The message payload contains the following information:

If the participant is itself implemented using FBP and supports the FBP runtime protocol, these additional keys should be defined.

Participant changes

When changes are made in the participant, the participant message should be resent with the updated data.

Heartbeat

The participant message should be re-sent periodically. If no message is received within seconds, the participant will be assumed to have stopped. The default limit is 600 seconds.

Note: if sending data on ports on a sporadic connection, one should first send a participant message for the data.