Supponiamo che il processo A abbia un'istantanea coerente di alcune entità. E riceve costantemente aggiornamenti per queste entità. Ora il client B si connette a A e dovrebbe ricevere lo snapshot coerente delle entità che A ha e quindi dovrebbe ricevere tutti gli aggiornamenti ricevuti da A.
Normalmente se fosse una richiesta sincrona, avrei preso un blocco di lettura sullo snapshot di A e su writelock sugli aggiornamenti di A, che mi avrebbero permesso di trasferire lo stato su B.
La domanda è: possiamo rendere questo processo asincrono? Significa che la richiesta da B a A è asincrona?
Possiamo usare gli algoritmi CHANDY-LAMPORT o LAI-YANG qui? Sono abbastanza nuovo per gli algoritmi distribuiti, quindi cerco un po 'di esperienza.