A Survey On Federated Learning