virtual environments networked virtual environments
play

Virtual Environments: Networked Virtual Environments Anthony Steed - PowerPoint PPT Presentation

Virtual Environments: Networked Virtual Environments Anthony Steed Department of Computer Science University College London http://www.cs.ucl.ac.uk/teaching/VE Part I: Goals Part II: The Internet Part III: Strategies Part IV:


  1. Virtual Environments: Networked Virtual Environments Anthony Steed Department of Computer Science University College London http://www.cs.ucl.ac.uk/teaching/VE

  2. • Part I: Goals • Part II: The Internet • Part III: Strategies • Part IV: Latency and Scalability 2

  3. DIVE “London Demonstrator”, UCL & colleagues 1999 3

  4. IEEE Virtual Reality 2009 programme committee meeting, autumn 2008 4

  5. Burnout Paradise, Electronic Arts 5

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

  7. Demands • Provide up-to-date info to all participants – Users location – Support Interactions • Minimal delay update • Support multiple message type – Simple state – Voice/video 7

  8. Consistency and Plausibility • Goal is the illusion of a consistent shared state • Local plausibility is the appearance of consistency of only local actions (e.g. physics & collision detection appears to work) • Shared plausibility is the appearance of properties being the same as observed by users – Objects that are in the background need not be consistent – Further: only things that might be the focus of joint attention can be discussed and be different • A local implausibility might be an obvious thing to talk about! 8

  9. • Part I: Goals • Part II: The Internet • Part III: Strategies • Part IV: Latency and Scalability 9

  10. Introduction • Networks at the heart of networked VR • Many network protocols are out there – TCP, UDP, multicast, RTP, etc – Choice based on needs • Properties of the Internet 10

  11. Internet Protocol - IP DHCP, DIS, DNS, FTP, HTTP, IMAP, RTP, Application SMTP, SSH, Telnet Transport TCP, UDP, RSVP Network IP, ICMP, IGMP Link Ethernet, 802.11, ADSL copper wires, fibre-optic cable, radio Physical waves 11

  12. Internet Protocol (IP) • Any particular inter-connect might guarantee delivery – Routers can get congested, for example when incoming links carry more traffic than outgoing – Dropping packets is the right solution to congestion! • Thus IP is a best effort protocol • Every node an internet must understand IP • Every node has an IP (IPv4) address of the form – 128.16.6.8 (32 bits) 12

  13. Routing Application Application Transport Transport Network Network Network Network Link Link Link Link 13

  14. Transport Protocols: UDP • Connectionless – No state is maintained – No setup time – Light-weight Postal Service • No Quality of Service – No guarantee delivery – No order delivery

  15. TCP • Connection Oriented – State is maintained at routers – Setup Handshake – Heavy-weight • Quality of Service – FIFO delivery – Flow Control – Error Recovery • Mechanisms – Timers, Acknowledgements, etc 15

  16. Application Application Destination Source Port Destination Source Port Port = 1901 Port = 1220 = 15000 = 15001 Transport Transport Network Network Link Link narok (128.16.13.118 ) seychelles (128.16.3.52 ) 16

  17. Network properties • Latency (Round Trip Time) – Devices take time to send data (e.g. Modems) – Data takes time to transmit (speed of light) • Jitter – Routers insert bandwidth • Bandwidth (Capacity) – Bandwidth costs money – 8Mbps is fairly standard @£8/month • Loss (Congestion, Reliability) – Routers drop packets, links do go down, routes do 17 fluctuate

  18. Variance of inter-packet arrival times Correct spacing Gaussian distribution Observed distribution Frequency of occurrence Interpacket arrival time

  19. Application Programming: Socket • End-point for communication • Network connections based on sockets • Socket identified by – Host address – numeric or name – Port number • 0-1023 : well known services (e.g. http traffic on 80) • 1024-49151: registered ports (less well known) • 49152-65536: private applications or dynamic use 19

  20. Socket communication Client Listener Needs to create a socket to connect to listening sockets Needs to create a socket to listen to incoming connection requests 20

  21. The Client/Server logic Server Client Create socket for listening Create socket for incoming connections connecting to Server Request connection Listen Accept and create thread Send/Receive Send/Receive message message 21

  22. XVR functions Server Client NetCreateChannelTCP( ) NetAcceptTCP ( ) NetConnectTCP( ) Accept and create thread NetSendToTCP() / NetSendToTCP() / NetReceiveFromTCP() NetReceiveFromTCP() 22

  23. • Part I: Goals • Part II: The Internet • Part III: Strategies • Part IV: Latency and Scalability 23

  24. Architectures • Peer-to-Peer • Client/Server • Hybrid 24

  25. Simple Peer-to-Peer DB DB •Total replicated database •Other user’s input treated locally like a second set of keyboard and mouse •Simple extension to single users •One example is DOOM from id Software 25

  26. Multiple Peer-to-Peer •Decoupled da 26

  27. Client-Server Architecture DB Client Server • Database on Server with Shadow Copy on Clients • Current Online Games • Some VE (MASSIVE,Deva) 27

  28. Client-Server Architecture Server Client Client Client Client 28

  29. Hybrid Architectures DB Server pool • Multiple servers serving different regions • Multiple service types & service layers 29

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

  31. Consistency : Reality • GOLDEN RULE • Information propagation IS NOT instantaneous It is not possible for EVERY user to share the EXACT same state at EVERY instance 31

  32. State Consistency: Case 1 (Total Sync) Client A Client B T = t Acknowledge every update Propagation delay is 100ms 32

  33. State Consistency: Case 1 Client B Client A T = t + 50ms 33

  34. State Consistency: Case 1 Delta T Client B Client A T = t + 50 ms + 100 ms 34

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

  36. State Consistency: Case 2 (Async) Client B Client A T = t Local update every 150ms Propagation delay is 100ms 36

  37. State Consistency: Case 2 Client A Client B T = t + 100ms 37

  38. State Consistency: Case 2 Client B Client A T = t + 150ms 38

  39. State Consistency: Case 2 Delta T Client B Client A T = t + 250ms 39

  40. State Consistency: Case 2 Client B Client A T = t + 300ms 40

  41. State Consistency: Case 2 Delta T Delta T Client A Client B T = t + 400ms Inconsistency!!! 41

  42. State Consistency: Problem • Would like to send data at the rate it is changing • Network is congested → retransmission – BUT this makes congestion more likely Update Consistency Frequency 42

  43. State Consistency: Total 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 43

  44. State Consistency: Total 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 44

  45. State Consistency: Eventual 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 45

  46. State Consistency: Eventual 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 46

  47. State Consistency: Predicted Consistency Facts: • Users are not aware of other users • Total consistency is not a requirement • But eventual consistency has problems Possible solution: • Dead reckoning • High level behaviours 47

  48. State Consistency: Predicted 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 48

  49. State Consistency: Predicted 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 new position 49

  50. State Consistency: Predicted Consistency • Dead reckoning III - convergence OR T = t T = t T = t+1 T = t+2 50

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend