## 4 Results and Discussion
### Future Research Directions  
Non-IID data challenge: Many studies have tried to overcome the non-IID data challenge on the server side, often resulting in the abandonment of a trained model or a decrease in its effectiveness. This can result in losing crucial information, mainly if the model contains infrequent but essential data. To improve the training process, addressing the non-IID data challenge on the client end or using a hierarchical architecture could be more beneficial since the trained model will not be wasted, for instance, using edge computing or fog computing to help the IoT devices to overcome the skewness of the client data. Furthermore, resolving the non-IID data challenge before the training process could streamline training and reduce its duration. Privacy concern in non-IID data: FL was proposed to preserve the privacy of the client data. However, some techniques require analyzing the received client model to extract information to overcome the non-IID data challenge. This analysis may unintentionally lead to the exposure of sensitive information. Therefore, it is crucial to incorporate security measures, such as anonymous sharing of models, when using these techniques to prevent privacy leakage. Security in FL: FL training is a collaborative process between different parties that exposes it to various security threats, especially when clients have non-IID data; the existence of these data can facilitate backdoor attacks by malicious clients who may mislabel the samples to compromise the global model's performance and convergence speed. Additionally, a malicious server can analyze the obtained local models to expose clients' privacy. Therefore, when developing a scheme to overcome the non-IID data challenges, it is necessary to consider these attacks as some approaches can mitigate the impact of backdoor attacks and the Byzantine problems inherently, such as a personalized approach and aggregation. However, it is important to design them carefully so as not to introduce vulnerabilities that adversaries could exploit to compromise the security of the federated learning; hence, developing trusted federated learning is essential for ensuring a safe FL environment. Encryption in FL: FL is a distributed approach that exchanges the model through a network. However, this approach exposes the model to various security threats, such as snooping and modification by attackers. If the attacker modifies the captured model, it can compromise the training process and increase the communication rounds. Attackers can also capture and analyze local models to expose clients' private information. Moreover, some techniques that overcome the non-IID data challenge, such as clustering and data sharing, can facilitate the attacks. For instance, clustering methods may group clients with similar data distributions, making them more vulnerable to targeted attacks. Data-sharing techniques may also expose sensitive data points across clients, creating opportunities for attackers to exploit. Therefore, an encryption scheme in federated learning can mitigate these attacks and enhance the overall training process; however, the limited resources of clients and networks need to be considered. Generalizing of the global model: FL was proposed to facilitate the sharing of knowledge among different devices and learning from various environments. However, some techniques propose a personalized approach or cluster clients based on the similarity of their data. These approaches enable the central server to provide clients with a model that fits their own data. Although this approach can be beneficial in some specific scenarios(such as next-word prediction), some other applications require more global knowledge to achieve accurate results with unseen data. Therefore, a generalized approach to FL is required to facilitate the sharing of knowledge among different clients while still providing accurate and personalized results.