[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