A method, system, and computer program product for improving the
performance of distributed object systems. A remote object is replicated
to the node of the distributed system from which it is accessed. The scope
of the replication is a transaction. Thereafter, method invocations on the
object occur locally, avoiding the performance overhead of frequent round
trips to the remote persistent object store. Changes made to a replicated
object by a transaction are represented using a tree structure that is
internally managed by the application. When an application or application
user has made modifications to a replicated object and requests to commit
the modifications, a determination is first made as to whether committing
the modifications will result in an unacceptable data conflict. If no
unacceptable data conflict will occur, and after resolution of those
conflicts that can be resolved, the modifications are committed. Nested
transactions are supported, where each child transaction may commit or
roll back independently.
Un metodo, un sistema e un prodotto di programma destinato all'elaboratore per migliorare le prestazioni dei sistemi distribuiti dell'oggetto. Un oggetto a distanza è ripiegato al nodo del sistema distribuito da cui è raggiunto. La portata della replica è una transazione. Da allora in poi, i invocations di metodo sull'oggetto accadono localmente, evitando le spese generali di prestazioni di frequenti viaggi rotondi al deposito persistente a distanza dell'oggetto. I cambiamenti fatti ad un oggetto ripiegato tramite una transazione sono rappresentati usando una struttura arborescente che internamente è controllata dall'applicazione. Quando un'applicazione o un utente di applicazione ha apportato le modifiche ad un oggetto ripiegato ed alle richieste commettere le modifiche, una determinazione in primo luogo è fatta se commettere le modifiche provocherà un conflitto inaccettabile di dati. Se nessun conflitto inaccettabile di dati accadrà e dopo che risoluzione di quei conflitti che possono essere risolti, le modifiche si commettono. Le transazioni annidate sono sostenute, dove ogni transazione del bambino può commettere o rotolare indipendentemente indietro.