Introduction & Motivation• The fundamental goal of a net-VE is to provide user with the illusion that they are all seeing the same things and interacting with each other within that virtual space
What is Dynamic Shared State?• Dynamic information maintained by multiple hosts about net-VE• Common context• Makes VE truly “realistic” & “multi-user”• Managing it is the most challenging part of building a net-VE
Virtual World Virtual World Model of Player1 Model of Player2 Player1 Player2 State change and Interaction event messagesNetwork
The Problem Throughput • Consistency-Throughput Tradeoff: – the fundamental rule of net-VE sharedReal-time Scalable state: “it is impossible to allow dynamic shared state to change frequently and Reliable guarantee that all hosts simultaneously access identical Constancy versions of that state.” We can either have a Dynamic world or a consistent world, but not both.
Managing Shared States More Consistency• Shared Repositories – All from the same well (Data Server)• Blind Broadcasting – Talk a lot! (Network Messages)• Dead Reckoning – Predict the future! (State estimation) More Dynamic
Shared Repositories• Maintaining shared state in centralized repositories• Using “lock” on data to ensure synchronizationThree techniques of centralised repositories :1. Shared file directory2. Repository in server memory3. Distributed repository/ Virtual repository
Shared file Directory• Directory containing files that hold shared states. – Absolute Consistency! – One host can write data to same file at a time – Scalability issues – Slow!
Server memory• Server process which simulates the behavior of distributed file system – Faster than Shared File Directory – No need of locks, server arbitrates – Server-single point of failure – Bottleneck: Server Bandwidth – Need to maintain constant connection
Blind Broadcasting• Asynchronous broadcasting of owned states at regular intervals• Clients cache the most recent update• Frequency compensates for data-lost.• Explicit Object ownership• Filter: Broadcast to those who are “seen” – VEOS epidemic approach: send-to-neighbors
Blind Broadcasting• Can support a larger number of users at a higher frame rate and faster response time.• Simple to implement• Jitter may lead to “jerky” visual behavior
Dead Reckoning• Transmit state updates less frequently by using past updates to estimate the shared state• Prediction: Estimation of current state based on previously received packets• Convergence: correction of estimated state on arrival of new packet
Dead Reckoning• No need of central server• Trading accuracy of shared state for more scalability
Dead Reckoning• Prediction: – Using derivative polynomials • Zero order derivative f(t+t0) = f(t) where f(t) is location at time “t” • First order derivative f(t+t0)=f(t)+v(t)*t0 where v(t) is velocity at time “t” • Hybrid polynomial
Dead Reckoning• Convergence: Algorithms – Zero order • Jumping from predicted position to corrected position – First order • Linear transition from predicted position to actual position• Choice of convergence algorithm may vary with the requirements
Dead Reckoning• Reduces bandwidth requirements• Can support large number of players• Calculations are done at the host, independently• Complex to develop and implement• Not all hosts share the identical state about each entity
Conclusion• Choice of shared share maintenance technique is a task that must balance a variety of issues including – Bandwidth – Computation – Latency – Data consistency – Reproducibility
Conclusion(ctd)• Shared state maintenance is governed by the consistency throughput tradeoff
References• Singhal, Sandeep and Zyda Michael. Networked Virtual Environments, New York: ACM Press. PP. 101-146• Zona Inc., and Executive Summary Consulting Inc, “State of MMOG 2002”, October 2002• Anupam, V., and C. Bajaj. Distributed and collaborative visualization , IEEE Multimedia 1(2):39-49,Summer 1994.• http://web.ntpu.edu.tw/~jyhuang/ National Taipei University• Carlsson,C., and O. Hagsand. DIVE- A platform for multi- user virtual environments. Computers and Graphics 17(6):663:669 November-December 1993.