Key Features
- Everything designers need to know when developing networked graphics and games is covered in one volume - no need to consult multiple sources
- The many examples throughout the text feature real simulation code in C++ and Java that developers can use in their own design experiments
- Case studies describing real-world systems show how requirements and constraints can be managed
PART I GROUNDWORK
CHAPTER 1 Introduction
1 .1 What are NVEs and NGs?
1 .2 The Illusion of a Shared Virtual Environment
1 .3 Some History
1 .4 Scoping the Software Architecture
1 .5 Structure
CHAPTER 2 One on One (101)
2 .1 Boids
2 .2 Distributed Boids: Concepts
2 .3 Distributed Boids: Implementation
2 .4 Re? ection
CHAPTER 3 Overview of the Internet
3 .1 The Internet
3 .2 Application Layer
3 .3 Transport Layer
3 .4 Network Layer
3 .5 Link and Physical Layer
3 .6 Further Network Facilities
3 .7 Summary
CHAPTER 4 More Than Two
4 .1 Boids
4 .2 Simple Peer to Peer
4 .3 Peer to Peer with Master
4 .4 Peer to Peer with Rendezvous Server
4 .5 Client/Server
4 .6 Multicast
4 .7 Extensions
4 .8 Conclusions
PART II FOUNDATIONS
CHAPTER 5 Issues in Networking Graphics
5 .1 Architecture of the Individual System
5 .2 Role of the Network
5 .3 Initialization
5 .4 Server and Peer Responsibilities
5 .5 Critical and Noncritical
5 .6 Synchronized or Unsynchronized
5 .7 Ownership and Locking
5 .8 Persistency
5 .9 Latency and Bandwidth
5 .10 Conclusions
CHAPTER 6 Sockets and Middleware
6 .1 Role of Middleware
6 .2 Low-Level Socket APIs
6 .3 C and C Middleware for Networking
6 .4 Conclusion
CHAPTER 7 Middleware and Message-Based Systems
7 .1 Message-Based Systems
7 .2 DIS
7.3 X3D and DIS
7 .4 X3D, HawkNL and DIS
7 .5 Conclusions
CHAPTER 8 Middleware and Object-Sharing Systems
8 .1 Object-Sharing Systems
8 .2 RakNet
8 .3 Boids using Object-Sharing
8 .4 General Object-Sharing
8 .5 Ownership
8 .6 Scene-Graphs, Object-Sharing and Messages
8 .7 Conclusions
CHAPTER 9 Other Networking Components
9 .1 Remote Method Call
9 .2 DIVE
9 .3 System Architectures
9 .4 Conclusions
PART III REAL SYSTEMS
CHAPTER 10 Requirements
10 .1 Consistency
10 .2 Latency and Jitter
10 .3 Bandwidth
10 .4 State of the Internet
10 .5 Connectivity
10 .6 Case Study: Burnout ™ Paradise
10 .7 Conclusions
CHAPTER 11 Latency and Consistency
11 .1 Latency Impact
11 .2 Dumb Client and Lockstep Synchronization
11 .3 Conservative Simulations
11 .4 Time
11 .5 Optimistic Algorithms
11 .6 Client Predict Ahead
11 .7 Extrapolation Algorithms
11 .8 Interpolation, Playout Delays and Local Lag
11 .9 Local Perception Filters
11 .10 Revealing Latency
11 .11 Conclusions
CHAPTER 12 Scalability
12 .1 Service Architectures
12 .2 Overview of Interest Management
12 .3 Spatial Models
12 .4 Interest Speci?cation and Interest Management
12 .5 Separating Interest Management from Network Architecture
12 .6 Server Partitioning
12 .7 Group Communication Services
12 .8 Peer to Peer
12 .9 Conclusions
CHAPTER 13 Application Support Issues
13 .1 Security and Cheating
13 .2 Binary Protocols and Compression
13 .3 Streaming
13 .4 Revisiting the Protocol Decision
13 .5 Persistent and Tiered Services
13 .6 Clusters
13 .7 Thin Clients
13 .8 Conclusions