peer to peer networks alternate uses distributed systems and algorithms 5091339