How can I train more than one model on the server and send different parameters to different clients?

Hi everyone, I’d like to implement a system in which there are c clients that send parameters and statistics to the server. On the server, I think this would be done in the aggregate fit, there I could implement a method that groups the clients into clusters and each cluster has its own model (m models according to the number of clusters). At the end of the round, each client would receive the parameters of the corresponding model.
I’m confused about how to do this. I’m stuck on this problem.
(I made a drawing in case my explanation is confusing)