MV-4474 Virtual Environment Network & Software Architectures Michael Zyda

Slides:



Advertisements
Similar presentations
Dead Reckoning Objectives – –Understand what is meant by the term dead reckoning. –Realize the two major components of a dead reckoning protocol. –Be capable.
Advertisements

Chapter Eight - Internet Networked Virtual Environments VRML-Based Virtual Environments 251 Some Existing Networked VRML Worlds 253Some Existing Networked.
Chapter Five - Managing Dynamic Shared State The Consistency-Throughput Tradeoff 101 Proof of the Tradeoff 104Proof of the Tradeoff 104 Design Implications.
Scaling a shared virtual environment — Presented by Junran Lei.
Online Educational Game of Snakes and Ladders -Shalini Pradhan -Manali Joshi -Uttara Paingankar -Seema Joshi.
Online Virtual Environments: Second Life. Networked Virtual Worlds Early interest in shared virtual spaces –Training –Social –Scalability Difficult issues.
Adapted from Tanenbaum's Slides for Computer Networks, 4e
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 17 Introduction to the Application.
NAV Project Update By: Meghan Allen and Peter McLachlan.
1 IMPROVING RESPONSIVENESS BY LOCALITY IN DISTRIBUTED VIRTUAL ENVIRONMENTS Luca Genovali, Laura Ricci, Fabrizio Baiardi Lucca Institute for Advanced Studies.
1 AINA 2006 Wien, April th 2006 DiVES: A DISTRIBUTED SUPPORT FOR NETWORKED VIRTUAL ENVIRONMENTS The IEEE 20th International Conference on Advanced.
School of Computer Science and Software Engineering A Networked Virtual Environment Communications Model using Priority Updating Monash University Yang-Wai.
DDDDRRaw: A Prototype Toolkit for Distributed Real-Time Rendering on Commodity Clusters Thu D. Nguyen and Christopher Peery Department of Computer Science.
1 Programming systems for distributed applications Seif Haridi KTH/SICS.
1 By Vanessa Newey. 2 Introduction Background Scalability in Distributed Simulation Traditional Aggregation Techniques Problems with Traditional Methods.
Introduction to Multiplayer Network Technology Thomas Lidy.
IVR Presentation Topic:A peer-to-peer message exchange scheme for large scale networked virtual environment. (N19) Presented by Feng SHEN, u
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
G52CCN Computer Communications and Networks Milena Radenkovic Room: B47
Chapter 1 The Challenges of Networked Games. Online Gaming Desire for entertainment has pushed the frontiers of computing and networking technologies.
Magda El Zarki Professor of CS Univ. of CA, Irvine
A global, public network of computer networks. The largest computer network in the world. Computer Network A collection of computing devices connected.
CPMT 1449 Computer Networking Technology – Lesson 1
CECS 474 Computer Network Interoperability Notes for Douglas E. Comer, Computer Networks and Internets (5 th Edition) Tracy Bradley Maples, Ph.D. Computer.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Holistic Mobile Game Development with Unity 2015 Taylor & Francis. All rights Reserved.
Network Protocols. Why Protocols?  Rules and procedures to govern communication Some for transferring data Some for transferring data Some for route.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 3: TCP/IP Architecture.
Review: – computer networks – topology: pair-wise connection, point-to-point networks and broadcast networks – switching techniques packet switching and.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Chapter 4 Networking and the Internet Introduction to CS 1 st Semester, 2015 Sanghyun Park.
UNIX SVR4 COSC513 Zhaohui Chen Jiefei Huang. UNIX SVR4 UNIX system V release 4 is a major new release of the UNIX operating system, developed by AT&T.
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
1 Computer Networks DA Chapter 1-3 Introduction.
Cooperative Inter-node and Inter- layer Optimization of Network Procotols D. Kliazovich, F. Granelli, N.L.S. da Fonseca Editors: Sudip Misra, Mohammad.
Seminar 3: Scalability by Zhexin Yang Zhuomin Liu Zhao Wang.
G52CCN Computer Communications and Networks Milena Radenkovic Room: B47
Scalability Don McGregor Research Associate MOVES Institute
Introduction Hamed Jamshak Hamed Jamshak Chapter 1 Hamed Jamshak.
Today’s Topics Chapter 8: Networks Chapter 8: Networks HTML Introduction HTML Introduction.
Architectures of distributed systems Fundamental Models
CS1Q Computer Systems Lecture 17 Simon Gay. Lecture 17CS1Q Computer Systems - Simon Gay2 The Layered Model of Networks It is useful to think of networks.
1 Networking Chapter Distributed Capabilities Communications architectures –Software that supports a group of networked computers Network operating.
CSNB534 Networked Computing Course Outline. Some Details.. Lecturer:Asma Shakil Room:BW-3-C48 Phone:2387 Web:
Distributed Virtual Environments Introduction. Outline What are they? DVEs vs. Analytic Simulations DIS –Design principles Example.
Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 4: Networking and the Internet Computer Science: An Overview Eleventh.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
 Course Overview Distributed Systems IT332. Course Description  The course introduces the main principles underlying distributed systems: processes,
Multiplayer games on networks potential and tradeoffs.
University of Pennsylvania 7/15/98 Asymmetric Bandwidth Channel (ABC) Architecture Insup Lee University of Pennsylvania July 25, 1998.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Advanced UNIX programming Fall 2002, lecture 16 Instructor: Ashok Srinivasan Acknowledgements: The syllabus and power point presentations are modified.
Introduction Chapter 1. Business Applications of Networks A network with two clients and one server. Client-Server Model.
Introduction Chapter 1. Uses of Computer Networks Business Applications Home Applications Mobile Users Social Issues.
Introduction Chapter 1 Uses of Computer Networks Business Applications Home Applications Mobile Users Social Issues
Network Architecture Research in SPYCE CIP/URI Project Jonathan M. Smith University of Pennsylvania 3/31/03.
Introduction Chapter 1. Uses of Computer Networks Business Applications Home Applications Mobile Users Social Issues.
15.1 Chapter 15 Connecting LANs, Backbone Networks, and Virtual LANs Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or.
Introduction Chapter 1. Uses of Computer Networks Business Applications Home Applications Mobile Users Social Issues.
Network Topologies for Scalable Multi-User Virtual Environments Lingrui Liang.
Computer Network Course objective: To understand Network architecture
Module 8: Concepts of a Network Load Balancing Cluster
Chapter 1 Introduction.
Designing Routing and Switching Architectures. Howard C. Berkowitz
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Chapter 2 Network Models
Don Brutzman and Mike Zyda NPSNET Research Group
Computer Networks DA2402.
Presentation transcript:

MV-4474 Virtual Environment Network & Software Architectures Michael Zyda

Networked Virtual Environments - Design & Implementation Sandeep Singhal & Michael Zyda "Networked Virtual Environments - Design and Implementation," ACM Press Books, SIGGRAPH Series, July 1999, ISBN

MV-4474 Virtual Environment Network & Software Architectures MV-4474 Virtual Environment Network and Software Architectures (3-2) This course covers the design and implementation of network and software architectures for real-time, interactive 3D virtual environments (VEs). Network architecture topics include a taxonomy for networked virtual environments, distributed interactive simulation protocols (DIS and HLA), virtual reality modeling language (VRML), agent-based network protocols (Java/Telescript), proposed solutions for large-scale networked virtual environments (area of interest managers and object brokers), multicast backbone tools and developments, and virtual reality transfer protocol proposals. Software architecture topics include representative software architectures for VEs (NPSNET, DIVE, MASSIVE,...), commercial toolkits for VE development (WorldToolKit, Division's dvs, Performer,...), lag in multiprocessor virtual environments, and the HCI implications on VE network and software architectures. PREREQUISITE: MV-4473 or the consent of the instructor.

Course Logistics The lectures in this course follow the Singhal/Zyda text from chapter 1 through chapter 9. Each student is expected to develop a programming project showing their knowledge of networked virtual environments. That project must be approved by the instructor. An in-class presentation on that project is due near the end of the quarter. Students are required to turn in Powerpoint versions of their presentation slides. A Powerpoint template provided by the instructor must be used.An in-class presentation on that project is due near the end of the quarter. Students are required to turn in Powerpoint versions of their presentation slides. A Powerpoint template provided by the instructor must be used. The lectures in this course follow the Singhal/Zyda text from chapter 1 through chapter 9. Each student is expected to develop a programming project showing their knowledge of networked virtual environments. That project must be approved by the instructor. An in-class presentation on that project is due near the end of the quarter. Students are required to turn in Powerpoint versions of their presentation slides. A Powerpoint template provided by the instructor must be used.An in-class presentation on that project is due near the end of the quarter. Students are required to turn in Powerpoint versions of their presentation slides. A Powerpoint template provided by the instructor must be used.

Chapter One - Promises and Challenges of Networked Virtual Environments What Is a Networked Virtual Environment? 1 Graphics Engines and Displays 4Graphics Engines and Displays 4 Control and Communication Devices 5Control and Communication Devices 5 Processing Systems 6Processing Systems 6 Data Network 7Data Network 7 What Is a Networked Virtual Environment? 1 Graphics Engines and Displays 4Graphics Engines and Displays 4 Control and Communication Devices 5Control and Communication Devices 5 Processing Systems 6Processing Systems 6 Data Network 7Data Network 7 Challenges in Net-VE Design and Development 9 Network Bandwidth 9Network Bandwidth 9 Heterogeneity 10Heterogeneity 10 Distributed Interaction 11Distributed Interaction 11 Real-Time System Design and Resource Management 12Real-Time System Design and Resource Management 12

Chapter One - Promises and Challenges of Networked Virtual Environments Failure Management 13Failure Management 13 Scalability 15Scalability 15 Deployment and Configuration 16Deployment and Configuration 16 Conclusion 16 References 17 Failure Management 13Failure Management 13 Scalability 15Scalability 15 Deployment and Configuration 16Deployment and Configuration 16 Conclusion 16 References 17

Chapter Two - The Origin of Networked Virtual Environments Department of Defense Networked Virtual Environments 20 SIMNET 20SIMNET 20 Distributed Interactive Simulation 26Distributed Interactive Simulation 26 Department of Defense Networked Virtual Environments 20 SIMNET 20SIMNET 20 Distributed Interactive Simulation 26Distributed Interactive Simulation 26 Networked Games and Demos 34 SGI Flight and Dogfight 34SGI Flight and Dogfight 34 Doom 35Doom 35 Other Games 36Other Games 36

Chapter Two - The Origin of Networked Virtual Environments Academic Networked Virtual Environments 37 NPSNET 37NPSNET 37 PARADISE 42PARADISE 42 DIVE 44DIVE 44 BrickNet 46BrickNet 46 MR Toolkit Peer Package 48MR Toolkit Peer Package 48 Others 49Others 49 Academic Networked Virtual Environments 37 NPSNET 37NPSNET 37 PARADISE 42PARADISE 42 DIVE 44DIVE 44 BrickNet 46BrickNet 46 MR Toolkit Peer Package 48MR Toolkit Peer Package 48 Others 49Others 49 Conclusion 49 References 50

Chapter Three - A Networking Primer Fundamentals of Data Transfer 56 Network Latency 56Network Latency 56 Network Bandwidth 58Network Bandwidth 58 Network Reliability 58Network Reliability 58 Network Protocol 60Network Protocol 60 Fundamentals of Data Transfer 56 Network Latency 56Network Latency 56 Network Bandwidth 58Network Bandwidth 58 Network Reliability 58Network Reliability 58 Network Protocol 60Network Protocol 60 The BSD Sockets Architecture 61 Sockets and Ports 62Sockets and Ports 62 The Internet Protocol 65The Internet Protocol 65

Chapter Three - A Networking Primer Introducing the Internet Protocols for Net-VEs 65 Transmission Control Protocol 67Transmission Control Protocol 67 User Datagram Protocol 67 IP Broadcasting Using UDP 69User Datagram Protocol 67 IP Broadcasting Using UDP 69 IP Multicasting 70IP Multicasting 70 Introducing the Internet Protocols for Net-VEs 65 Transmission Control Protocol 67Transmission Control Protocol 67 User Datagram Protocol 67 IP Broadcasting Using UDP 69User Datagram Protocol 67 IP Broadcasting Using UDP 69 IP Multicasting 70IP Multicasting 70 Selecting a Net-VE Protocol 75 Using TCP/IP 77Using TCP/IP 77 Using UDP/IP 77Using UDP/IP 77 Using IP Broadcasting 80Using IP Broadcasting 80 Using IP Multicasting 82Using IP Multicasting 82 Conclusion 82 References 83

Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server Architectures 94 Peer-to-Peer Architectures 95 Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server Architectures 94 Peer-to-Peer Architectures 95 Conclusion 98 References 98

Chapter Five - Managing Dynamic Shared State The Consistency-Throughput Tradeoff 101 Proof of the Tradeoff 104Proof of the Tradeoff 104 Design Implications of the Tradeoff 105Design Implications of the Tradeoff 105 The Consistency-Throughput Tradeoff 101 Proof of the Tradeoff 104Proof of the Tradeoff 104 Design Implications of the Tradeoff 105Design Implications of the Tradeoff 105 Maintaining Shared State Inside Centralized Repositories 107 A File Repository 108A File Repository 108 A Repository in Server Memory 110A Repository in Server Memory 110 Virtual Repositories 112Virtual Repositories 112 Advantages and Drawbacks to Centralized RepositoriesAdvantages and Drawbacks to Centralized Repositories

Chapter Five - Managing Dynamic Shared State Reducing Coupling through Frequent State Regeneration 117 Explicit Entity Ownership 118Explicit Entity Ownership 118 Systems Using Frequent State Regeneration 122Systems Using Frequent State Regeneration 122 Reducing the Broadcast Scope 124Reducing the Broadcast Scope 124 Reducing Coupling through Frequent State Regeneration 117 Explicit Entity Ownership 118Explicit Entity Ownership 118 Systems Using Frequent State Regeneration 122Systems Using Frequent State Regeneration 122 Reducing the Broadcast Scope 124Reducing the Broadcast Scope 124 Advantages and Drawbacks of Frequent State Regeneration 125Advantages and Drawbacks of Frequent State Regeneration 125

Chapter Five - Managing Dynamic Shared State Dead Reckoning of Shared State 127 Prediction and Convergence 128Prediction and Convergence 128 Prediction Using Derivative Polynomials 129Prediction Using Derivative Polynomials 129 Object-Specialized Prediction 134Object-Specialized Prediction 134 Convergence Algorithms 137Convergence Algorithms 137 Dead Reckoning of Shared State 127 Prediction and Convergence 128Prediction and Convergence 128 Prediction Using Derivative Polynomials 129Prediction Using Derivative Polynomials 129 Object-Specialized Prediction 134Object-Specialized Prediction 134 Convergence Algorithms 137Convergence Algorithms 137 Addressing Consistency- Throughput through Nonregular Transmissions 140Addressing Consistency- Throughput through Nonregular Transmissions 140 Advantages and Limitations of Dead Reckoning 142Advantages and Limitations of Dead Reckoning 142 Conclusion 143 References 144

Chapter Six - Systems Design One Thread, Multiple Threads 147 With One Thread With One Thread With Multiple Threads With Multiple Threads One Thread, Multiple Threads 147 With One Thread With One Thread With Multiple Threads With Multiple Threads Important Subsystems 156 Real-Time Rendering: Polygon Culling and Level-of-Detail Processing 157Real-Time Rendering: Polygon Culling and Level-of-Detail Processing 157 Real-Time Collision Detection and Response 165Real-Time Collision Detection and Response 165 Computational Resource Management 174Computational Resource Management 174

Chapter Six - Systems Design Conclusion 175 References and Further Reading 176 Conclusion 175 References and Further Reading 176 The reading collection at the back of this chapter is key to really being able to build a net-VE system.

Chapter Seven - Resource Management for Scalability and Performance An Information-Centric View of Resources 183 Optimizing the Communications Protocol 185 Packet Compression 186Packet Compression 186 Packet Aggregation 191Packet Aggregation 191 An Information-Centric View of Resources 183 Optimizing the Communications Protocol 185 Packet Compression 186Packet Compression 186 Packet Aggregation 191Packet Aggregation 191 Controlling the Visibility of Data 195 Area-of-Interest Filtering Subscriptions 197Area-of-Interest Filtering Subscriptions 197 Multicasting 204Multicasting 204 Hybrid Multicast Aggregation 210Hybrid Multicast Aggregation 210

Chapter Seven - Resource Management for Scalability and Performance Taking Advantage of Perceptual Limitations 213 Exploiting Level-of-Detail Perception 215Exploiting Level-of-Detail Perception 215 Exploiting Temporal Perception 221Exploiting Temporal Perception 221 Taking Advantage of Perceptual Limitations 213 Exploiting Level-of-Detail Perception 215Exploiting Level-of-Detail Perception 215 Exploiting Temporal Perception 221Exploiting Temporal Perception 221 Enhancing the System Architecture 236 Server Clusters 237Server Clusters 237 Peer-Server Systems 243Peer-Server Systems 243 Conclusion 244 References 246

Chapter Eight - Internet Networked Virtual Environments VRML-Based Virtual Environments 251 Some Existing Networked VRML Worlds 253Some Existing Networked VRML Worlds 253 virtual reality transfer protocol 262 VRML-Based Virtual Environments 251 Some Existing Networked VRML Worlds 253Some Existing Networked VRML Worlds 253 virtual reality transfer protocol 262 Internet Gaming 263 Overview of Online Gaming Services 264Overview of Online Gaming Services 264 Internet Gaming Software Architectures 266Internet Gaming Software Architectures 266 Future Internet Gaming Directions 269Future Internet Gaming Directions 269 Conclusion 271 References 271

Chapter Nine - Perspective and Predictions Better Library Support 275 Bamboo 276Bamboo 276 High Level Architecture 279High Level Architecture 279 Java-Based Toolkits 283Java-Based Toolkits 283 Toolkits Being Developed Everywhere Toolkits Being Developed Everywhere Better Library Support 275 Bamboo 276Bamboo 276 High Level Architecture 279High Level Architecture 279 Java-Based Toolkits 283Java-Based Toolkits 283 Toolkits Being Developed Everywhere Toolkits Being Developed Everywhere Toward a Better Internet 285 Research Frontiers 287 Past, Present, and Future 289 References 290

Appendix - Network Communications in C, C++, and Java Using TCP/IP from C and C Managing Concurrent Connections in C and C Using TCP/IP from Java 300 Managing Concurrent Connections in Java 303 Using UDP/IP from C and C Using TCP/IP from C and C Managing Concurrent Connections in C and C Using TCP/IP from Java 300 Managing Concurrent Connections in Java 303 Using UDP/IP from C and C Using UDP/IP from Java 308 Broadcasting from C and C Broadcasting from Java 310 Multicasting from C and C Multicasting from Java 312 References 313