Control Machine¶
Purpose¶
The Control Machine aims to centralize the management of configuration settings and measurement data within the physical machine an Anoma node is running. It enables dynamic configuration updates, stores static node configurations, and records measurements submitted by various engines associated with timestamps.
Background¶
In complex distributed systems like Anoma, efficient control and management mechanisms are crucial for ensuring system stability, scalability, and adaptability. The Control Machine addresses these needs by providing a centralized platform for handling configuration changes and monitoring system performance.
Scope¶
For V1, the Control Machine encompasses three key engines: the Dynamic Configuration Engine, the Static Configuration Engine, and the Measurement Engine. Together, these engines manage dynamic configurations, static configurations, and measurement data, respectively, providing essential functionality for system control and monitoring.
Overview¶
The Control Machine is composed of the following three engines.
Dynamic Configuration Engine¶
The Dynamic Configuration Engine stores dynamic configurations of the engines and notifies them about configuration changes. Unlike the Static Configuration Engine, the Dynamic Configuration Engine allows engines to modify the configuration at runtime.
Static Configuration Engine¶
The Static Configuration Engine stores static configuration of the node that may not be change by other engines at runtime.
Measurements Engine¶
The Measurement Engine stores measurements submitted by engines associated with timestamps. These measurements could be used by various protocols. For example, the Networking Machine could use latency measurements to make routing decisions.