Hola,
Yo te recomendaria empezar por programar algo cliente/servidor, para ir familiarizandote con una parte y luego meterte en cuestiones de multi-hilo, por que las dos cosas a la vez pueden ser complicadas.
Para las llamadas remotas, una buena opcion sería RMI, con la ventaja de que la parte multi-hilo del servidor ya la tienes hecha por defecto ya que RMI se encarga de eso. Cualquier tutorial de Java sobre RMI te servirá, y poco a poco.
Por cierto, en una arquitectura cliente/servidor, el servidor es el programa que espera peticiones, realiza los comandos y devuelve las respuestas, así que al reves de como lo has escrito. Lo digo por aclarar conceptos
.