Eugene.Leitl@lrz.uni-muenchen.de wrote:
> Trying to ascertain that a given piece of up to date with all the other
> versions of the same piece living in boxes littered across the entire
> global landscape results in traffic.
BTW, determining (for reasonable "up to date" semantics) that something is "up to date" does
not, in fact, require byzantine agreement / strict consistency. For almost all decentralized
apps I've looked at, significantly weak consistency semantics suffice. The trick is to make
sure that *groups* of artifacts --- which are generally colocated anyway --- have internal
consistency. This does NOT necessarily result in huge amounts of traffic. Regardless of the
real world vs. theoretical argument, even if (in the real world) you have to resort to highly
distributed byzantine agreement, it's provable that the problem (of determining consistency) can
be reduced to agreement on one bit; Russell could weigh in at this point, as he coauthored the
seminal paper proving it years and years ago... (wink wink nudge nudge...) Net-net,
replication causes *eventual* significant traffic; detecting consistency doesn't. And in a
frequently disconnected world, app builders should strive for *eventual consistency* of
coarse-grained objects, rather than realtime / fine-grained / strict consistency. Happily, most
apps are written to filesystem-like semantics for propagation of persistent data over time, and
serendipitously those filesystem semantics are in a sense "normalizable" across various
filesystems, and give the desired versioning semantics, iff you assume the artifacts written are
immutable.
jb
This archive was generated by hypermail 2b29 : Sun May 06 2001 - 08:04:39 PDT