Having multiple Ultrapeer connections may be a temporary change until Ultrapeers become better internally connected. If all of your neighbors are connected to ~50+ hosts, then you need less fanout. However, there is some value in redundancy as we have found. I expect that we will always keep at least 2 Ultrapeer connections.
The question is, how smart do Ultrapeers become from this point on. If they can guarantee the user a good experience then we don't need as much redundancy.
Given that there is a controlled flow of messages between Ultrapeers and leafs, the only real waste with multiple Ultrapeers is connection slots. As always, broadcast messages have to be kept to a minimum. Query reach without broadcasting may be the next main area for innovation. |