PROCEED Engine Process Distribution Module - PROCEED-Labs/proceed GitHub Wiki

Old - Backup: Network module
The Network component continuously requests data about all other reachable engines in the network. It also receives the same data from itself. This information is used inside the Exec-Decider to determine where to send the next process step.
The Network Component collects every information of the other Engines. But some data is stored multiple times on the Engine, e.g. it is possible that there are multiple User Profiles on an Engine. This data is represented as multiple objects inside an array in the Network Component Representation of an Engine. This can be true for the following objects: user, user.role, machine.network, machine.display
If an engine is not available anymore, the data about it is removed.
If data about an engine does exist, it needs to be updated regularly. Therefore the data is categorized into different time-request-classes:
- Frequent: every 5s
- Normal: every 1min
- Rare: every 15min
- Once: only one time
E.g. the testing if an Engine is still available falls into the category Frequent
The stored data is stored as a JS object and can include some other sub-objects. Besides some general data, it only contains a list of variables used for the Decider. For the sake of maintainability the recorded data is listed on the documentation page of the decider.
{
uniqueId: ...,
name: ...,
...
}