networked vr
play

Networked VR Ashweeni Beeharee Ashweeni Beeharee VE Course - - PDF document

Networked VR Ashweeni Beeharee Ashweeni Beeharee VE Course - Networked VR 1 Content Networked VR scenarios Architectures Peer-to-peer Consistency Full Partial Predicted Conclusion Ashweeni Beeharee VE Course -


  1. Networked VR Ashweeni Beeharee Ashweeni Beeharee VE Course - Networked VR 1 Content � Networked VR scenarios � Architectures � Peer-to-peer � Consistency � Full � Partial � Predicted � Conclusion Ashweeni Beeharee VE Course - Networked VR 2 1

  2. Helicopter Maintenance � Assembly of a helicopter engine � Participant across continents Ashweeni Beeharee VE Course - Networked VR 3 The Diamond park � Cycling around the park � Multiple users � Voice support Ashweeni Beeharee VE Course - Networked VR 4 2

  3. The Oil Platform � Multi-user simulation exercise � Use of haptic device + HMD Ashweeni Beeharee VE Course - Networked VR 5 Multiplayer Game Ashweeni Beeharee VE Course - Networked VR 6 3

  4. Nature of a Networked Virtual Environment � Multiple user – geographically distributed � More types of interactions � Passive navigation � Single object/multiple user � Multiple objects/multiple users � Voice link between participants � Heterogeneous immersion devices Ashweeni Beeharee VE Course - Networked VR 7 Concerns for designers � Immersion and embodiment � In-body vs out-body � Presence and shared presence � User expectation � Things should look natural � Adaptation Ashweeni Beeharee VE Course - Networked VR 8 4

  5. Demands � Provide up-to-date info to all participants � Users location � Support Interactions � Minimal delay update � Support multiple message type � Simple state � Voice/video � Consistency is Very important Ashweeni Beeharee VE Course - Networked VR 9 Architecture � You already know about networking! � Peer-to-Peer � Client/Server � Distributed Ashweeni Beeharee VE Course - Networked VR 10 5

  6. Simple Peer-to-Peer DB DB • Total Replicated Database • Simple Extension to Single Users • Initial Multi-Participant VE Ashweeni Beeharee VE Course - Networked VR 11 Multiple Peer-to-Peer Ashweeni Beeharee VE Course - Networked VR 12 6

  7. Client-Server Architecture DB Client Server • Database on Server with Shadow Copy on Clients • Current Online Games • Some VE (MASSIVE,Deva) Ashweeni Beeharee VE Course - Networked VR 13 Client-Server Architecture Server Client Client Client Client Ashweeni Beeharee VE Course - Networked VR 14 7

  8. Distributed Architecture DB • Total Replicated or Partial Database • Most Virtual Environments (DIVE, NPSNET) Ashweeni Beeharee VE Course - Networked VR 15 How do these architecture measure up? � Up-to-date information � Synchronisation in peer-to-peer impossible – no absolute reality! � Interaction � Client/Server provides central locus of control – constraint resolution � Consistency! Ashweeni Beeharee VE Course - Networked VR 16 8

  9. Consistency : Reality � GOLDEN RULE � Information propagation IS NOT instantaneous It is not possible for EVERY It is not possible for EVERY user to share the user to share the EXACT same state at same state at EVERY EVERY instance instance EXACT Ashweeni Beeharee VE Course - Networked VR 17 State Consistency: Case 1 State Consistency: Case 1 (Total Sync) (Total Sync) Client A Client B T = t Acknowledge every update Propagation delay is 100ms Ashweeni Beeharee VE Course - Networked VR 18 9

  10. State Consistency: Case 1 State Consistency: Case 1 Client B Client A T = t + 50ms Ashweeni Beeharee VE Course - Networked VR 19 State Consistency: Case 1 State Consistency: Case 1 Delta T Client B Client A T = t + 50 ms + 100 ms Ashweeni Beeharee VE Course - Networked VR 20 10

  11. State Consistency: Case 1 State Consistency: Case 1 Delta T Client B Client A T = t + 50ms + 100ms + 50ms + 100ms T = t + 300ms After 300ms Client A may move again!!! Ashweeni Beeharee VE Course - Networked VR 21 State Consistency: Case 2 State Consistency: Case 2 (Async) (Async) Client B Client A T = t Local update every 150ms Propagation delay is 100ms Ashweeni Beeharee VE Course - Networked VR 22 11

  12. State Consistency: Case 2 State Consistency: Case 2 Client A Client B T = t + 100ms Ashweeni Beeharee VE Course - Networked VR 23 State Consistency: Case 2 State Consistency: Case 2 Client B Client A T = t + 150ms Ashweeni Beeharee VE Course - Networked VR 24 12

  13. State Consistency: Case 2 State Consistency: Case 2 Delta T Client B Client A T = t + 250ms Ashweeni Beeharee VE Course - Networked VR 25 State Consistency: Case 2 State Consistency: Case 2 Client B Client A T = t + 300ms Ashweeni Beeharee VE Course - Networked VR 26 13

  14. State Consistency: Case 2 State Consistency: Case 2 Delta T Delta T Client A Client B T = t + 400ms Inconsistency!!! Ashweeni Beeharee VE Course - Networked VR 27 State Consistency: Problem State Consistency: Problem � Network propagation > 100ms � Network is congested -> retransmission � Players >> 2 Update Consistency Frequency Ashweeni Beeharee VE Course - Networked VR 28 14

  15. State Consistency: Total State Consistency: Total Consistency Consistency Provided by Client/Server Architecture � Server controls total consistency of database � Communication is reliable � Each Client reads from Server � Client sends updates to Server (dirty cache) � Events are totally ordered Ashweeni Beeharee VE Course - Networked VR 29 State Consistency: Total State Consistency: Total Consistency Consistency Pros � Guaranteed ordered event processing � Implicit ownership Cons � Latency penalty: 2 Round Trip Time � Reliability not always compatible with real-time (msg + ack) � Poor scalability � Server is bottleneck � Server is single point of failure Ashweeni Beeharee VE Course - Networked VR 30 15

  16. State Consistency: Eventual State Consistency: Eventual Consistency Consistency � Clients just send periodic updates � Discrepancy is tolerated if: � Does not exceed a given time threshold � Does not dramatically a perceptual error threshold � Clients do not need acknowledgements � A client is unawares of other clients � Inconsistency inversely proportional update frequency Ashweeni Beeharee VE Course - Networked VR 31 State Consistency: Eventual State Consistency: Eventual Consistency Consistency � Pros: � Minimum latency � No infrastructure -> reduced processing overhead � Simple to upgrade a single user system to multi users � No bottleneck � Fault tolerant (no packets -> remove entity) � Cons: � Explicit ownership � Bandwidth hungry (high frequency for low inconsistency) � Better scalability but still poor Ashweeni Beeharee VE Course - Networked VR 32 16

  17. State Consistency: Predicted State Consistency: Predicted Consistency Consistency Facts: � Users are not aware of other users � Total consistency is not a requirement � But eventual consistency has problems Possible solution: Possible solution: • Dead reckoning Dead reckoning • • High level behaviours • High level behaviours Ashweeni Beeharee VE Course - Networked VR 33 State Consistency: Predicted State Consistency: Predicted Consistency Consistency � Dead reckoning I Ghost A Client B Ghost B Movement Model: P(t) = P(t 0 ) + v*t P(t) = P(t 0 ) + v*t + 0.5 * a * t 2 Client A Ashweeni Beeharee VE Course - Networked VR 34 17

  18. State Consistency: Predicted State Consistency: Predicted Consistency Consistency � Dead reckoning II If new pos does not exceed error threshold then do nothing If new pos does exceed Simulation error threshold then send Client A Ashweeni Beeharee VE Course - Networked VR 35 new position State Consistency: Predicted State Consistency: Predicted Consistency Consistency � Dead reckoning III - convergence OR T = t T = t T = t+1 T = t+2 Ashweeni Beeharee VE Course - Networked VR 36 18

  19. State Consistency: Predicted State Consistency: Predicted Consistency Consistency � High level behaviours (Games) Position B Position A • At each game interval send current position packet • If path takes 30 seconds and game tick is 10 per second • You have 300 packets being sent Ashweeni Beeharee VE Course - Networked VR 37 State Consistency: Predicted State Consistency: Predicted Consistency Consistency � High level behaviours (Games) Position B Position A • Just send Destination Position B • Use path finding to compute best path • Not all users will see same path • But all will see final result • Send 1 packet only with parameters Ashweeni Beeharee VE Course - Networked VR 38 19

  20. Twines � Derive function which represents complex path � Send the function over in a single message Twine Ashweeni Beeharee VE Course - Networked VR 39 Interaction � Passive navigation � Consistency requirement minimal � Delays � User/User – gesture � Point and Shoot � Collaboration � Single object/multiple user � Multiple objects/multiple users � What is the impact of network problems on these? Ashweeni Beeharee VE Course - Networked VR 40 20

Recommend


More recommend