Research in overlay and P2P networking has been tightly focused on fundamentals in the last few years, leading to developments on a range of important issues. The time has come to integrate these insights into existing and new systems. We see this as a vital part of the effort to influence the development of Internet services and arrive at a generalized architecture within which to design and construct overlay and P2P systems. This paper analyzes deployed P2P systems in the public and research arenas providing a taxonomy of issues and research. The paper then discusses the roles of overlays, P2P applications and network infrastructure and argues for a multi-dimensional view of systems development to describe the inter-relationships between these components. The parametric space in which one defines the role of a P2P application depends on the level of complexity we expect in that application, in comparison to the richness of the services provided by overlays and the network core. Th...