DIstributed CHat - each node is both server and client. Messages will be hand over only to nodes with smallest ping. Every node will remember chat history and will be able to authenticate user.