[Sugar-devel] [ANNOUNCE] Groupthink 0.1 pre-alpha
Martin Edmund Sevior
martines at unimelb.edu.au
Thu Jan 15 03:02:38 EST 2009
Hi Benjamin,
Thanks very much! I'm very interested in looking at the source code and data structures.
These kind of problems are exactly what abicollab (as used by Write) solves.
I have given some detailed presentations about this. You can find one here:
(the ogg version)
http://mirror.linux.org.au/pub/linux.conf.au/2008/Wed/mel8-083.ogg
(presentation odp)
http://mirror.linux.org.au/pub/linux.conf.au/2008/slides/083-AbiCollab.odp
and wiki write up:
http://www.abisource.com/wiki/AbiCollab
Maybe these ideas can help.
Cheers!
Martin
-----Original Message-----
From: sugar-devel-bounces at lists.sugarlabs.org on behalf of Benjamin M. Schwartz
Sent: Thu 1/15/2009 3:25 PM
To: Martin Edmund Sevior
Cc: bens at alum.mit.edu; Sugar Devel; Chris Ball
Subject: Re: [Sugar-devel] [ANNOUNCE] Groupthink 0.1 pre-alpha
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Martin Edmund Sevior wrote:
> How do you solve "internet lag".
>
> User A puts a character "A" in position 10, then before user B see sees
this (because of the finite propagation time), he puts character "B" in
position 10?
>
> Who wins? You just have to make sure the the document remains the same
for both users.
This is, indeed, the central problem. For the moment, the answer is:
Groupthink does not support full documents, only short snippets of text.
I have prototyped a data structure that I believe can coherently resolve
these sorts of edit conflicts in long documents without any negotiation,
but it remains to be seen if the design will work.
In general, Groupthink's approach (described at length in docstrings in
the code) is to write each data structure in such a way that any two users
who have observed the same set of messages will arrive at the same state,
regardless of the order in which those messages are received. The hard
part is figuring out how to do this for each kind of data structure.
However, once it is working, the code can be reused for many purposes
without needing to understand how it works.
- --Ben
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
iEYEARECAAYFAkluuskACgkQUJT6e6HFtqQb2QCfXnSJHwZpn6Q/OsDSs8nJEb3x
vWIAoIJYuSuEp8EFOeKynHDLctW2S5iq
=Po5R
-----END PGP SIGNATURE-----
_______________________________________________
Sugar-devel mailing list
Sugar-devel at lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.sugarlabs.org/archive/sugar-devel/attachments/20090115/53e11b04/attachment-0001.htm
More information about the Sugar-devel
mailing list