Cooperation Strategies for Agent-Based Peer-to-Peer Systems