Ещё есть такая идея. Сначала копируем всю структуру (обычным Stores), а затем...

Пусть у каждого объекта будет уникальный идентификатор и пусть будет реестр объектов (идентификатор <--> слабая ссылка).

Тогда каждый объект находящийся на активном компьютере сможет (после каждой своей модификации) посылать сообщения своей копии находящейся на запасном компьютере и в этих сообщениях очень компактно излагать как его копия должна изменить своё текущее внутреннее состояние до нужного. Таким образом, нагрузка на сеть минимальная и перерасхода памяти нет.

Правда, таким способом не решается вопрос об изменении связей между объектами. Тут надо ещё что-то придумать (наверное, вспомнить методологию Усова (ASU) - установление связей между объектами есть задача их агрегата)...