Virtual Reality - Lecture7-Networked VR

Download Virtual Reality - Lecture7-Networked VR

Post on 18-Jul-2016




2 download

Embed Size (px)




<ul><li><p>11</p><p>Networked VR</p><p>Networked </p><p>Virtual Environments</p><p>SGN-5406 Virtual Reality</p><p>Autumn 2009</p><p></p><p>NetVE</p><p>Lectures</p><p>1. Introduction to Virtual Reality, VR history</p><p>2. Human senses, Audio in VR</p><p>3. Displays for VRDemos at VTT VR Centre, Wed. 14-15</p><p>4. I/O devices, haptics</p><p>5. Tracking systems for VR</p><p>6. 3D rendering, 3D modeling, VR software</p><p>7. Networked VR, web3D</p><p>8. Augmented Reality, mobile VRDemos at Machine Engineering VR lab (K1320B), Wed. 14-15</p><p>9. Novel user interfaces (11-13)</p><p>10. Applications of VR</p><p>11. Boev: Autostereoscopic displays, description of the lab work</p><p>3</p><p>Networked VR</p><p>Networked Virtual Environments</p><p> Singhal - Zyda: Networked Virtual Environments, Addison-Wesley 1999</p><p> NetVE: multi-user virtual environments which have:</p><p> Common state and space</p><p> Common presence</p><p> Common time</p><p> Communication Avatar = 3D net person</p><p> Interaction with others and with the environment</p><p> Networked, Collaborative Networked, distributed: components of VE running on separate </p><p>machines connected by a network</p><p> Collaborative: multiple users working together</p><p> NetVE, CVE, shared VE, MUVE, DIVE, WAVE, NVE</p><p> Cyberspace (in art, literature, media)</p><p>4</p><p>Networked VR</p><p>Networked Virtual Environments</p><p> A virtual environment over LAN or internet. Different environ-ments have different needs</p><p> Many applications Military simulators etc. Tele-immersion, -conferencing Distributed CAD, engineering, </p><p>design &amp; review</p><p> Gaming, entertainment Online communities Distance learning and training</p><p> Examples: Second Life World of Warcraft Military training centers Game consoles with internet </p><p>connection</p><p>5</p><p>Networked VR</p><p>Early NetVE Systems</p><p> SIMNET (DARPA) 1983- Operation Desert Storm training</p><p> Dogfight (SGI) 1985-</p><p> DIS (DoD) Distributed Interactive Simulation Large IEEE-standard 1993 Fewer than 300 participants Not general enough</p><p>6</p><p>Networked VR</p><p>Current Systems</p><p> HLA (DoD) High-Level Architecture, replaced DIS, IEEE standard Using HLA, computer simulations can communicate to other </p><p>computer simulations regardless of the computing platforms</p><p> DOOM 1993-</p><p> Many academic systems</p><p> X3D &amp; other multiuser web3D</p><p> Java-based toolkits</p><p> Computer, game console gaming</p><p> A Survey of Collaborative Virtual Environment Technologies</p><p></p><p></p></li><li><p>27</p><p>Networked VR</p><p>NetVE Basic Components</p><p> Net-VEs are:</p><p> Distributed systems</p><p> Contend with managing network resources, data loss, network </p><p>failure and concurrency</p><p> Graphical applications</p><p> Smooth, real-time display frame rates</p><p> Interactive applications </p><p> Net-VEs consist of:</p><p> 3D graphics, displays</p><p> Processing</p><p> Interaction, I/O-devices</p><p> Networking (LAN, Internet)</p><p>8</p><p>Networked VR</p><p>Some Major Bottlenecks</p><p> Computer performance Bus bandwidth Operating system Rendering, etc. Heterogeneity of participant equipment</p><p> Modeling</p><p> Processing</p><p> Networking bandwidth etc.</p><p> NetVE servers</p><p>9</p><p>Networked VR</p><p>Distributed Environments</p><p> Shared world How to organize the transmission of updates?</p><p> Simultaneously over the network How to update changes to all?</p><p> Connecting of military simulators</p><p> Problems Compatibility Latency Speed of the network Consistency Heterogeneity Failure management</p><p>10</p><p>Networked VR</p><p>Multiuser Networked VR</p><p> NetVE</p><p> Local simulator centers, or</p><p> Remote over Internet</p><p> Very hard real-time constraints</p><p> As fair and simultaneous for everybody as possible!</p><p> Major issues and problems:</p><p> I. NetVE Basic Architectures Server organization</p><p> II. Dynamic Shared State Management How to consistently update the state of VE for all?</p><p> (Many other issues also)</p><p>11</p><p>Networked VR</p><p>I. NetVE Basic Architectures</p><p> 1. Serverless systems (Peer to Peer)</p><p> 2. Centralized client-server systems</p><p> 3. Multiple server systems</p><p> 4. Coordinated multiple servers </p><p> Avoid bottlenecks Better communication models reduce the number of </p><p>connections and messages</p><p> Better database models distributed databases</p><p> Better decision making make it distributed, but any given decision is made in only one place</p><p>12</p><p>Networked VR</p><p>1. Serverless Systems</p><p> Peer-to-peer players on a LAN</p><p> Each broadcasts its state directly to others</p><p> WAN: each message sent individually</p><p> Broadcast is wasteful, multicast is selective</p><p> Area-of-interest management (AOIM) Assigns packets for multicast groups</p><p></p><p></p></li><li><p>313</p><p>Networked VR</p><p>1. Serverless Pros/Cons</p><p> Pros</p><p> No central bottleneck, single point of failure</p><p> Multicast is network-efficient</p><p> Multicast subscription = filtering</p><p> Cons</p><p> Difficult to manage</p><p> Network bottleneck: O(N2 )</p><p> All broadcast packets must be examined </p><p>14</p><p>Networked VR</p><p>2. Centralized Systems</p><p> A server is distributing everything</p><p> Usually very limited number of players</p><p> Latency </p><p> Complexity</p><p>15</p><p>Networked VR</p><p>2. Centralized Pros/Cons</p><p> Pros</p><p> Simple</p><p> Server can filter</p><p> Cons</p><p> Server is a bottleneck</p><p> Reliability?</p><p> Latency</p><p> If total consistency: one slow, all slow</p><p>16</p><p>Networked VR</p><p>3. Multiple Server Systems</p><p> Multiple servers, each server is responsible for a </p><p>subset of tasks</p><p>17</p><p>Networked VR</p><p>3. Multiple Server Pros/Cons</p><p> Pros</p><p> Better reliability</p><p> Scalability: tasks distributed by clients</p><p> by dividing the VE</p><p> Cons</p><p> Does not propagate changes</p><p> Multiple points of failure</p><p>18</p><p>Networked VR</p><p>4. Coordinated Multiple Servers</p><p> Hierarchy of servers </p><p></p><p></p></li><li><p>419</p><p>Networked VR</p><p>4. Coordinated Multiple Pros/Cons</p><p> Pros</p><p> Filtering</p><p> Dynamic load sharing</p><p> Can share a single world</p><p> Cons</p><p> Coordination is difficult</p><p> Can increase latency</p><p>20</p><p>Networked VR</p><p>Which to Choose?</p><p> Hard choice</p><p> Depends on task &amp; application</p><p> Guidelines</p><p> Scalability: Serverless/Uncoord. multiple</p><p> Reliability: Coordinated multiple server</p><p> Simple: Centralized</p><p> Interactivity: Serverless</p><p>21</p><p>Networked VR</p><p>II. Dynamic Shared State</p><p> All participants want accurate, real-time view</p><p> Location and orientation of objects</p><p> How and when to interact</p><p> Environmental info (weather, terrain, )</p><p> Many participants on different, remote computers</p><p> Problems:</p><p> All packets have delay (latency)</p><p> Different latency for each</p><p> Limited network bandwidth</p><p> Packets may get lost</p><p>22</p><p>Networked VR</p><p>Tradeoff: Consistency - Speed</p><p> Wanna make sure everybody gets the same view? </p><p>It takes time!</p><p> Impossible to </p><p> allow change</p><p> guarantee simultaneous access </p><p> identical versions</p><p> Either lots of state changes send state updates</p><p> Or fewer guaranteed state changes send consistency messages</p><p>23</p><p>Networked VR</p><p>Dynamic Shared State Management</p><p> The second basic NetVE design issue!</p><p> 1. Shared repository Easy, consistent</p><p> Slow, unpredictable, overhead</p><p> 2. Frequent state regeneration Continuous blind broadcast</p><p> Easy to implement</p><p> Network traffic</p><p> 3. Dead reckoning Prediction</p><p> Convergence</p><p>24</p><p>Networked VR</p><p>Select Matching Technique</p><p>Consistent view at all sites,</p><p>Less frequent state updates</p><p>Each site has different view,</p><p>More frequent state updates</p><p>Consistency Throughput</p><p>Shared</p><p>Repository</p><p>Frequent</p><p>State</p><p>Regeneration</p><p>Dead</p><p>Reckoning</p><p></p><p></p></li><li><p>525</p><p>Networked VR</p><p>1. Shared Repositories</p><p> Common data store</p><p> Updates to the store</p><p> Reads from the store</p><p> Used in DIVE, BrickNet, etc.</p><p> For small-scale LAN systems</p><p> For high consistency systems</p><p>Shared</p><p>State</p><p>26</p><p>Networked VR</p><p>Shared Repositories Pros/Cons</p><p> Pros</p><p> Easy programming model</p><p> Absolute state consistency</p><p> Cons</p><p> Single point of failure</p><p> Bottleneck </p><p> Unpredictable performance</p><p> Communications overhead</p><p>27</p><p>Networked VR</p><p>2. Frequent State Regeneration</p><p> Simply send the state frequently</p><p> Typically blind network broadcasts</p><p> Multicasting and filtering reduces bandwidth</p><p> Hook into event loop or on timer</p><p> Frequent updates: fast recovery</p><p> Common, for mid-scale LAN systems</p><p> SGI Dogfight, Doom (&amp; other games)</p><p>28</p><p>Networked VR</p><p>Frequent State Pros/Cons</p><p> Pros</p><p> Simple to implement</p><p> No servers needed</p><p> Better update throughput</p><p> Cons</p><p> Considerable bandwidth</p><p> Network latency and jitter</p><p> Different update rates</p><p> No absolute consistency</p><p>29</p><p>Networked VR</p><p>3. Dead Reckoning</p><p> Instead of sending frequent updates on </p><p>objects position, it is calculated locally using a last-known velocity and position</p><p> Predict from periodic updates</p><p> Converge prediction to updated position</p><p> Updates are sent less frequently</p><p> Best for large-scale WAN systems permitting </p><p>inexact state consistency</p><p> Military DIS, PARADISE, NPSNET</p><p>30</p><p>Networked VR</p><p>Dead Reckoning</p><p> Prediction Linear, Quadratic, Spline</p><p> Object-specialized Currently, capable of, who is doing?</p><p> Hybrid techniques</p><p> Convergence How to correct the prediction when real state is </p><p>received?</p><p> Snap, Linear, Quadratic, Spline, Hybrids</p><p> Knowledge about behavior and computation methods at remote hosts helps!</p><p></p><p></p></li><li><p>631</p><p>Networked VR</p><p>Dead Reckoning Pros/Cons</p><p> Pros</p><p> Insensitive to network latency</p><p> Low-frequency updates, reduced bandwidth</p><p> Cons</p><p> Does not guarantee identical states</p><p> More complex algorithms</p><p> Prediction model is object-specific</p><p> Prediction errors significant over poor networks</p><p>32</p><p>Networked VR</p><p>Information Principle</p><p> Resources ~ M * H * B * T * P M = number of Messages H = average Hosts B = average Bandwidth T = Timeliness P = Processing cycles</p><p> Improving one may affect others. Tradeoffs</p><p> The optimal choice: application dependent</p><p> Some approaches</p><p> Packet compression: reduce B, increase P</p><p> Area-of-interest: reduce H, increase M, P, T</p><p> Level-of-detail: reduce H, B, increase M, P</p><p>33</p><p>Networked VR</p><p>Challenges for NetVE</p><p> Network bandwidth</p><p> Distributed action management</p><p> HW heterogeneity, compatibility</p><p> Easy to use</p><p> Fault tolerance, failure management</p><p> Real time</p><p> Scalability (2N</p><p>) ! More players means more data 100,000+ players ?!</p><p> Realism (LOD, info filtering)</p><p> 3D graphics over the Internet</p><p></p><p></p></li></ul>