How to win with everyone fighting its own battles : extending opportunistic networking to heterogeneous environments