1 INTRODUCTION

2 BACKGROUND AND PRELIMINARIES
2.1 From Centralized Learning to FL
2.2 An Overview of FL
2.3 Communication Overhead and Evaluation
2.4 Sources of Communication Inefficiency

3 FL PROGRAMMING FRAMEWORKS

4 COMMUNICATION-EFFICIENT FL METHODS
4.1 Reducing the Number of Communication Rounds
4.2 Reducing the Number of Participating Clients
4.3 Reducing the Burdens on the Network

5 COMMUNICATION-EFFICIENT FL ARCHITECTURES
5.1 Hierarchical FL
5.2 Peer-to-Peer FL

6 FUTURE DIRECTIONS AND DISCUSSIONS
6.1 Future Directions
6.2 Discussions

7 CONCLUSIONS