Saros
Distributed Collaborative Editing and Distributed Party Programming
|
Packages | |
package | internal |
Classes | |
interface | Algorithm |
interface | InclusionTransformation |
interface | Operation |
interface | Timestamp |
class | TransformationException |
interface | VectorTime |
The Jupiter Architecture is the central concept for Distributed Party Programming in Saros. Each client administers its own copy of a shared artifact (resource). Local Operations will be performed immediately and communicated to a central server. From there all other clients get informed about the operation which they will transform in order to perform it on their own copies.
The transformation is needed to keep all copies consistent. Consistency maintenance is made up of three components:
Convergence --- all copies of a document have the same final state after performing a set of operations to it
Causality-preservation --- for each pair of operations O1 and O2 applies that if O1 precedes O2 then the execution of O1 must take place prior to the execution of O2 for all copies
Important components of the Jupiter package:
internal.Jupiter is the central class of the Jupiter Algorithm