Protocols for client-server architectures