Federated learning is a multiple device collaboration setup designed tosolve machine learning problems under framework for aggregation andknowledge transfer in distributed local data. This distributed modelensures the privacy of data at each local node. Owing to its relevance,there has been extensive research activities and outcomes in federatedlearning with expanded applicability to different areas by the researchcommunity. As such, there is a vast research archive made available by thecommunity with research work and articles related to the various aspectsof federated learning such as applications, challenges, privacy, function-alities, and design. With respect to the function and design of federatedlearning, client selection, aggregation, knowledge transfer, managementof distributed data (Non-IID), Incentive of data and communication costare of paramount importance. Any effective design of federated learningrequires these aspects to be well considered.There are numerous surveyarticles found among the available literature that focus on its applica-tion and challenges, opportunities, data privacy and protection, as wellas on federated learning on internet of things, federated learning on edgecomputing, etc.1 In this paper, a review of the available literature on the various ele-ments of design and functionalities in federated learning has been carriedout with an aim to lay emphasis on the important challenges andresearch opportunities. More specifically, this work has endeavored tounderstand and summarize the various functional methods available,along with their techniques and goals. Additionally, it has strived toget a bird’s eye view of how various functions and designs of feder-ated learning have been used in applications, and how it has helpeduncover challenges and promising research directions for the future.