- A **controller** coordinates the training process.
- A **device** consists of a client and server model. Usually, the client model is considered private. Each device has its own battery that depletes based on the operations it performs.
- A device **swarm** consists of multiple devices that train a model together. A device can be designated to be the server for a specific amount of time.