Operational Transformation algorithm

On Tue, Jun 11, 2013 at 12:34 AM, Upayavira <u...@odoko.co.uk> wrote:

> For the uninitiated, what is OT?
>
> Upayavira
>
> On Mon, Jun 10, 2013, at 09:53 PM, Michael MacFadden wrote:
> > Dave,
> >
> > Thanks for your thoughts.  A few things to consider.  There is a
> > distinction between P2P messaging and P2P OT.  A system could reasonable
> > have a client server messaging architecture where the server is a hub and
> > the clients are spokes.  All messages from one client flow through the
> > server to get to other clients.  However, even in this arrangement OT can
> > still happen in a P2P mode.  If the server is simply acting as the
> > messaging relay and doing no OT, then the OT can happen at the clients.
> >
> > Googles Wave leverages client-server messaging AND client-server OT.
> > That
> > is the server is participating in the OT.  OT only happens in paris
> > between the client and the server.
> >
> > In terms of mobile devices, unless we are talking about some form of
> > bluetooth or local wifi, then it is likely that messaging with be client
> > server.  However, how OT happens is up for debate.
> >
> > There are pros and cons to doing OT in a client-server or P2P manner.
> > Googles view was that if you have potentially hundreds or thousands of
> > collaborators, then in a P2P mode you wind up with state vectors, vector
> > clocks, or context vectors that are just to large.  Each peer has to
> > track
> > the state of each other client.  Operations typically have a context
> > vector attached to them.  In this case you have context vectors, and
> > state
> > tables that grow out of hand.  Google chose to avoid this by using a
> > client server OT model.
> >
> > I think that saying that the wave algorithm doesn't satisfy TP2 is a bit
> > inaccurate.  I believe it does satisfy TP2 in that three clients can
> > still
> > make concurrent edits to the document state.  The server simply chooses
> > to
> > canonically order these in order to ensure that TP2 is honored.  One
> > could
> > argue that the wave algorithm satisfies TP2 by never letting the
> > situation
> > arise in the first place, but in my view this still satisfies the
> > requirement.
> >
> > FYI, I have worked extensively with Wave's OT, other systems OT
> > algorithms, and have been working closely with the researchers who are
> > working OT right now.  I think this is a very good discussion.  One I can
> > bring to the larger OT community if we so desire.
> >
> > ~Michael
> >
> > On 6/10/13 9:38 PM, "Dave" <w...@glark.co.uk> wrote:
> >
> > >[John B - I wasn't sure where else it would be appropriate to ask this
> > >question, but please forward on anywhere you think it appropriate]
> > >
> > >There are many things about Wave and WIAB that I would like to see
> > >improved / changed, but based on my readings I've been content with the
> > >TP1 OT approach chosen by google (not that I'm even close to an expert)
> > >- even if the WIAB implementation would benefit from some love.
> > >
> > >But one of the things mentioned in the recent wave-forward hangout was
> > >the weakness in Wave's OT implementation for a required canonical
> > >version of a given wave (providing absolute ordering of changesets).
> > >Specifically, this effectively prevents 3 party P2P messaging where
> > >there isn't guaranteed to be that one canonical ordering. My
> > >understanding is that Joseph is playing with some alternative OT
> > >algorithms that are TP2, and therefore don't require arbitration of
> > >changeset order. This was specifically called out as an advantage to
> > >support P2P messaging and running the full stack on a phone.
> > >
> > >That got me thinking - why would you want to do that?  What are the
> > >benefits of P2P messaging, and are there other reasons to need TP2?
> > >
> > >Most of the messaging and collaboration systems I could think of are
> > >client-server (some with federated servers) and Wave/WIAB support this
> > >with TP1.  Most networked phone apps that I'm aware of are also
> > >client/server, and at first glance this seems a good thing - it makes
> > >addressing easier and avoids issues with intermittent connectivity. The
> > >ability to have a simple "wavelike" server (and detached clients)
> > >
> > >I suspect I'm missing something, and I wondered if I'm alone?
> > >
> > >My understanding is that technical interop between the various wave-like
> > >communities will need us to use the same OT alogrithm (eventually), so
> > >clarity on the pros/cons of keeping or changing the wave OT approach
> > >would be a good first step in that direction!
> > >
> > >Dave
> >
> >
>

Reply via email to