## 4 Results and Discussion
### Discussion
Hence, it is necessary to develop a secure environment in FL where the clients can trust that their privacy will not be compromised in an analysis of their local model and the server will ensure the integrity of the received local model. The techniques used to overcome the non-IID data challenge can be classified into server-side and client-side, according to where the non-IID data challenge is addressed. Aggregation, clustering, and client selection can be considered server-side techniques, where the server will be responsible for overcoming the non-IID data challenge. The work in [47, 86] selects the clients that will participate in the next round based on the received local model in the current round. In contrast, in [53, 84], the server selects the clients' models that will contribute to the new global model based on their model divergence; the models of the unselected clients will be abandoned. Some techniques can be implemented either at the client side or the server side, like a personalized approach that, for instance, can be implemented at the server side by keeping a record for each client to provide a personalized model [83] or at the client side where each client can have their personalized trained model locally and share a general model [87]. An adaptive approach also can be performed on the server side, where the work in [48] proves that using a fixed batch size can degrade the model performance since the data distribution and size differ between clients, so it proposes a batch adaption technique to determine the suitable batch size for each client; [99] proposes an adaptive local epoch technique to avoid overfitting the model, by decreasing the local epoch value after a certain iteration based on the global model performance. The adaptive approach can be implemented on the client side, where in [49, 95], the clients adapt their learning rate based on the global model received. The study [49] considers the deviations between the local model and global model and introduces a penalty term to force the local model to be inclined to learn the global model. In [81], the clients adapt their local model by having some local parameters used for local adaption. Knowledge distillation using a teacher-student model is also a technique that can be applied on the server side [71, 124] or the client side [111, 134]. The regularization technique is a technique used on the client side in [55, 126, 138] that can keep the local model closer to the global model by adding a regularization term to help the local model approach the global model. Each technique has its own benefits and limitations, as the server-side technique generally does not introduce extra computation at the client devices, but it may analyze the obtained local model, raising some privacy concerns. While client-side techniques preserve the client's privacy, extra computation steps are required to overcome the non-IID data challenge. Collaboration between clients and servers is sometimes necessary for certain techniques, particularly when it comes to data sharing. Data sharing can be seen as a joint effort between clients and the central server, where clients share some of their data with the server, and the server either uses the collected data to train a model at the server [79] or shares the collected data with clients [89]. Other techniques can change the architecture by introducing a middle layer between the client and server using a hierarchical architecture and hierarchical clustering architecture. Figure 20 shows a representation of the most widely used techniques that aim to overcome the non-IID data challenge based on their side. As we can see, most of the techniques are server-side, as the server has a more global look compared to the clients that can communicate only with the central server. However, there are techniques that can be implemented at the client-side that can help overcome the non-IID data challenge using the received global model or information obtained from the global server.