"A client is an entity that needs the solution and a server is an entity that, given enough information (typically in part from the client) can provide the answer." . . . .