## 2 Background
### An Overview of Federated Learning
#### 2.2.4 Federated Learning Systems Taxonomy  
FLSs facilitate cooperative model training while upholding the principles of data privacy and security. This approach is especially suitable for situations where data is distributed across multiple sources, and the parties involved are hesitant to share their data in a centralized manner. Many new FLSs have emerged since the creation of FL in 2016. There are a general taxonomy describing the difference of FLS is was presented in [19] and also replicated in [27]. Even though their taxonomy was very helpful for many researchers, it had several limitations that need to be addressed. Firstly, the taxonomy primarily focuses on the most prevalent and widely adopted Federated Learning scenarios, and as such, does not encompass all possible scenarios. Secondly, there might be gaps in terms of the different types of data distributions, models, and algorithms presented, indicating that the taxonomy might not be exhaustive. Thirdly, the taxonomy does not delve deeply into the specifics of each category, which could lead to overlooking certain nuances. Lastly, it is worth noting that the taxonomy is a reflection of the state of Federated Learning in 2021 and may require updates. As the domain progresses, we present a general taxonomy describing the differences between these FLSs in this section. We use the taxonomy to clarify the distinctions between different FLSs, which can be categorized according to their essential features and characteristics. This multidimensional classification considers the most significant components of FLSs, such as data sources, privacy, model aggregation techniques, learning models, scalability, and network topology. Given the prevalent system abstractions and foundational components employed in various FLSs, we can classify these systems based on six key aspects: data distribution, model management, privacy method, communication architecture, FL algorithms, optimization techniques, use cases, and applications. Figure 2 shows this taxonomy of FLSs. Data Distribution  
When discussing the taxonomy of FLSs, the term \"data distribution\" refers to the process by which various participants or nodes in an FL environment are given different portions of the data. It affects the effectiveness and level of privacy maintained during the learning process, making it an essential component of FL. The following list reviews important factors regarding the distribution of data within this taxonomy:  
* Data partitioning: The concept of data partitioning describes how data is allocated or divided among entities. Generally, FLSs can be divided into two categories, vertical and horizontal FLSs, depending on how the data are spread over the sample and feature spaces. The vertical partitioning strategy involves allocating distinct aspects or attributes of the dataset to various participants. For instance, a given participant may possess data pertaining to age and gender, whereas another participant may possess data on income and location. By contrast, in horizontal partitioning, participants have access to distinct sections of the data instances. A slice of the dataset with the same attributes belongs to each participant. For example, one member might have customer  
Figure 2: Taxonomy of Federated Learning systems (FLSs). data for a particular location, whereas another participant might have customer data for a different location. * Data imbalance: The notion of data imbalance holds significant importance within the taxonomy of FLSs as it relates to the uneven allocation of data among the participants or nodes within the system. An imbalanced data distribution can have a substantial impact on the performance, fairness, and effectiveness of FL models [28]. Generally, FLSs can be categorized into systems with an even distribution and those with an imbalanced distribution. In even distribution, data can be distributed among participants to ensure an equitable allocation, thereby resulting in each participant possessing a proportionate share of the data.