The choosing done at the client side would be subject to a strategy
(like closest under your proposed ping metric) determined by the
user, the choosing at server would be subject by a strategy determined
by the server operator.
These decisions are at the heart of a distributed system.
If I remember correctly, Adam Beberg (former distributed.net prez)
decided to open up the closed distributed.net architecture (wasn't this
the promised v3 client?) and planed to make it usable for other
distributed projects. We should have a look at what happended there.
Regards,
Marc