On-sever, persistence, and reconnection - best practices?

Heya, looking for some advice on an application I’m working on! The gist is:

  1. I have two daemons, each with persistent vats. One daemon is meant to run on a central machine, the other as an agent on several other (worker) machines
  2. The central machine has one object for each worker machine
  3. On initial startup, the worker machine makes a method call to the central machine and gives the central machine a reference to itself
  4. Making a method call against one of these objects on the central machine forwards the call on to the worker machine

What I would like to accomplish:

  1. On startup, the daemon on the worker machine should (re-)establish a connection to the central machine
  2. If the worker machine comes back online after a disconnect and reconnects to the central machine, I would like method calls to the corresponding object on the central machine to resume forwarding to the worker machine

But I’m having a bit of trouble figuring out how to set something like this up. Are there any existing examples and/or best practices I could draw from for a situation like this? (Do I maybe need to define a method on the server side that replaces its client reference with a new live reference, i.e. is the old reference totally unusable once the connection is severed?)

Some relevant context, if you’re curious: Making sure you're not a bot!