Peer-to-Peer (P2P) applications have witnessed unprecedented growth on the Internet and are increasingly being used for real-time applications such as video conferencing and live streaming. The design of the majority of P2P systems today, however, does not strive to achieve any systematic optimization of the total value to all peers under a resource sharing constraint. This may well be the next step in improving the performance of P2P systems.