On Jan 29, 9:36 pm, Torben Weis <[email protected]> wrote: > > Wave's OT cannot handle such a scenario. There are peer-to-peer OT concepts > which can deal with it, but wave does not currently. >
Torben - I'm building a lot of respect for you based on many of your posts lately. This comment is spot on! The Wave OT implementation avoids satisfying TP2 by forcing a strict client/server topology. This is, of course, borrowed from the Jupiter system. As soon as you try to elect a new master server, you are in for a world of pain in trying to get clients to connect to the new server without rolling back (and hence losing edits that the user performed) - what happens to operations that were "in fight", but not delivered? What acknowledgements had been sent from the server? What happens to clients that received a server acknowledgement, but the new master server is unaware that it had been sent? What order had the old server applied operations in? So many questions... Of course, the correct answer to them all is to implement an OT system that satisfies TP2. If TP2 is satisfied, the concept of a "master server" does not exist as a fundamental concept. You may choose to have some node in the network act as a point of presence for clients to connect to, and this node may promise to persist and protect waves, but this is merely a configuration choice. If TP2 is satisfied, the concept "server clustering" is trivial - just add more peers into the network that replicate waves and accept connections from clients. Implementing a server cluster with the current OT algorithms must be fraught with danger... Personally I don't see how it could be done without putting massive constraints on the cluster, such as "all clients for wave X must form socket connections to server Y in the cluster". (BTW - I read that constraint as "Cluster? What cluster??") While TP2 is unsatisfied, so am I. Cheers, Dan -- You received this message because you are subscribed to the Google Groups "Wave Protocol" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/wave-protocol?hl=en.
