Shaka444
An alternative that would preserve compatibility with older BeShare clients is to be able to connect to multiple servers and be able to perform a search on all of them at once. Duplicate matches from the same user on different servers can be filtered out or grouped together by the client.
Chat messages can be sent to one or multiple connected servers, and each server sends its messages back. It would be up to the client to detect that the same message is received by multiple servers and filter out all but the first received.
Edit: Chat messages sent to a user that is only connected to one server only needs to be sent to that server, not to all. Again, that would be up to the client to.
The obvious downside of this solution is that it creates more network traffic. If this becomes a problem in the future then a new non-backward compatible protocol version might be needed to solve the problem.
Pooling servers in a similar matter to IRC should be avoided because of net split like problems. I would keep it simple.
Reservations for that I do not know how the communication protocol works.