Skip to content

Communication protocol

aheneliu edited this page Dec 15, 2014 · 3 revisions

The inter-process communication (IPC) between the nodes and the dispatcher in the MIDAS system takes place using the MIDAS Messaging Protocol (MMP), implemented using ZeroMQ. ZeroMQ is a high-performance messaging library to be used for communication in distributed systems.

The MMP is only for internal use between the nodes and the dispatcher. All communication with the clients takes place through the dispatcher, using a RESTful JSON API, with the exception that nodes may subscribe to topics published by the nodes and relayed through the dispatcher.

The messages in the MIDAS Messaging Protocol can be of three types:

  1. command a command used to request system information from a node or to control the node (not yet implemented)

  2. metric request a basic metric (feature) derived from a signal, e.g., average heart rate from an ECG signal or a higher-level index representing some cognitive state (e.g. mental workload), calculated using a combination of one or more features from one or more signals.

  3. data request raw signal data from the node