> > There are two possible delta propagation models: client-server and
> > peer-to-peer. The existing model, client-server, requires that all
> > deltas pass through the wavelet host before being broadcast to
> > participating remote servers and doesn't need support TP2 in order to
> > work. The peer-to-peer model, where each server sends deltas directly
> > to all participating servers, does require TP2 in-order to work.
>
> Just because you CAN support a peer to peer network topology does not
> mean that you have to set one up...
>

If you want multiple redundant servers, then you will have to use a
peer-to-peer propagation model.


>
> > I hope we all agree that the peer-to-peer model can not be secured. If
> > five servers are participating, then no single server can prevent the
> > others from participating in the wave.
>
> Why?  Call one of the server the "authority" and it can accept and
> reject deltas based on what ever security model you like.  If you want
> the authoritative version of a document, get it from the authoritative
> source (or validate it against the authoritative source, say with a
> hash).
>

Let's consider the case where servers A, B and C are participating in a wave
using the peer-to-peer propagation model. When server A generates a delta it
will sends that delta to servers B and C. Server C cannot prevent server A
from sending deltas to server B. It can reject deltas from server A but this
prevent convergence and eventially it would no longer be able to participate
because it's version of the wave would deviate too much from the version
that A and B contain.


>
> > The question is, what would be gained by adding TP2 support to the
> > client-server model, since ALL deltas are serialized through the
> > wavelet host?
>
> 1) Better interactivity due to lower latency
>
2) Simpler protocol as there is none of this sever ack guff
>

Server's will still need to communicate successful receipt of deltas.


> 3) Simpler "recovery" when something crashes
> 4) Fail-over support through redundant servers
>

There is no redundancy in a client-server propagation model.


> 5) Scaling through adding servers (akin to a web server farm)
>

This is already possible and is how Google manages to handle the deltas from
over 100,000 users. They are not running wave on a single machine. Each
wavelet is handled on a single machine, but the whole system can be spread
across multiple machines. Each wavelet still has only one master.


> 6) Branching and merging of data in an arbitrary manner
>

Branching and merging is still possible without TP2.


> 7) Distributing the OT load across multiple servers
>

This already happens. Each wavelet will need to be procesed on only one
machine concurrently, but thousands of wavelets can be processed on
thousands of servers concurrently.

-Tad

-- 
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.

Reply via email to