Fri Aug 17 15:38:46 CEST 2007

distributed state

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?