I'm trying to build an IoT network in which IoT devices have some sort of processing power. For example, they are supposed to receive data and do some processing on them and then send them to upper levels. I'm also supposed to have a coordinator for load balancing between these IoT devices.
Devices should send load information periodically to the coordinator, so that it will be able to balance the load between these devices by transferring some data from highly loaded device to the least loaded device.
Now my question is that what should be sent as the load of the device to the coordinator?
I have 2 ideas:
Sending CPU utilization of the device
Considering a task queue for each device (so that each newly received device will be moved to this queue and wait until they are processed) and sending the current queue size to the coordinator
But I'm not sure which one is better (and reasonable of course) and how people usually do this.