Я уже ставил когда-то похожий вопрос
здесьАвтор: mselez
Дата: 20.04.08
. Способы решения "на пальцах" известны. Но хотелось бы знать, какая теория или технология занимается этим вопросом.
Задача такая. На клиентское приложение сначала загружается с сервера начальное состояние, а потом приходят обновления. Состояние — это коллекция однородных данных, мап или лист. На мой взгляд это довольно типичная схема.
Есть технология, называемая распределенный кеш (или память). Там все вопросы обновлений и синхронизации решаются внутри. Но это технология скорее для серверной стороны. Все узлы, имеющие доступ к кешу, равноправны, т.е. могут модифицировать его. Для клиента, где read only, это избыточно.
Месажинг. Обновления пересылаются подписчикам. Как здесь загружается начальное состояние и синхронизируется с потоком обновлений, непонятно.
Думаю, что общее решение, которое берет на себя все хлопоты с синхронизацией, существует, но где искать?