VRML and Consistency

Rodger Lea (rodger@csl.sony.co.jp)
Thu, 19 Oct 95 13:09:46 +0900


We seem to be going round and round again; at the risk of being boring
can I just point out that the problem you are all discussing is the
distributed consistency problem which has a wealth of research
literature available.

Consistency ranges from strict consistency, through weak consistencies
down to chaotic memory or no consistency.

Strict consistency tends to be expensive in message based systems
rsquiring that all replicas see all events in the same order. Typical
solutions are clock based and message sequence based.

A weaker form of strict consistency are causal consistency algorithms
(Isis is a classic example) which reduce the number of participants in
the consistency decision.

Strict consistency algorithms are generally too expensive in loosly
coupled or wide area distributed systems. To ameliorate this situation
a class of algorithms have been studied which are generally termed as
weak consistency. Weak consistency allows inconsistency to exist in
special circumstances. Techniques such as entry or release
consistency hide network latencies and reduce message traffic by
delaying updates. Munin is a classic example of the second technique.

Chaotic memory or no consistency relaxes the model further. While more
or less useless for most data applications, it is used in simulations
and distributed Virtual Environments. Best effort multicast protocols
are often used to support this model.

As James (I think) pointed out - what is needed is all of these in
different circumstances. As mitra has pointed out, it's an application
issue: as long as you provide an API and a message framework
application builders can decide which of these policies they want for
which objects.

Our job is not to specify how to solve all these problems, simply to
provide a framework in which other people can build them, ie to decide
on the browser API and the facilities it provides for propogating
events to the network.

rodger

------
NB's

Some esserences: Distributed Systems, Sape Mullender (Ed) Addison
Wesley ISBN 0-201-62427-3 Gives a very good overview of the problems
and the solutions - if you plan to build a distributed system then
this standard text is a very good place to start.

An excellent overview of memory conisistency models with a useful
classification can be found in: Memory consistency models. David
Mosberger. Operating Systems Review. ACM press Vol 27. No 1.Jan 1993

An interesting take on the notion of consistency is shared virtual
worlds is the notion of 'perceptual consistency'. Here consistency is
considered not at the data level but the level of user perception. A
good paper is: Aviary: Design issues for future large scale virtual
environments. Presence: Vol 3 No 4 Fall 1994 pp 288-308 MIT press.

Roll-back, or undo techniques work well when the rollback is contained
within the system. Any external side-effects make roll-back useless. A
good example is a bank transaction system, the system will allow
transaction to be rolled-back up until the point that a rsal world
event takes place, eg cash is pushed out through the ATM slot. Roll
back becomes somewhat more difficult after that point :-)

As an aside, Mr Zap's *original* use of deterministic replicas is a
well understood approach to consistency, it is more usually known as
the state machine approach. See chapter 7 of the Distributed Systems book.

Discuss of DIS and a critique of its applicability for a wide area
simulation can be found in: Exploiting rsality with multicast groups,
Macedonia et al. IEEE computer graphics Vol 15. No. 5 Sept 1995.


  • Next message: Joel Crisp: "Re: Behaviours & p-flood"
  • Previous message: Don Brutzman: "Re: DIS protocol - documentation ?"
  • In reply to: Master Zap: "Re: ADMIN: VRML + JAVA - A Wedding"
  • Next in thesad: Bernie Roehl: "Re: ADMIN: VRML + JAVA - A Wedding"