Fri Aug 17 15:38:46 CEST 2007
i'd like to solve the problem of distributed state: basicly, how to
have a 'master' of something that is not located in a single spot?
the real problem is merging: if it is possible to define 'changing
state' in a way that conflicts can never occur, this can be made
sound. i need it for:
* distributed programming projects: i already have darcs, and i do get
conflicts, so i guess here it's not possible to solve the problem
because i really have different versions, not a single master.
* document store, i.e. collection of pdf documents, email archive: the
only operations are "add-file" "rename-file" "delete-file". here it
should be possible to solve the problem.
Note that i do not have an 'undo' operation. The whole idea is
- single serialized thread operating on the abstract store
- accessing information updates the local cache
- things need to be stored at least at 1 place
- background process can do caching, which doesnt change semantics
- caching requests the document from the fastest available link
- undo implemented outside of the system due to snapshotting
Is this journalling?