Networked Graphics: Building Networked Games and Virtual Environments (Anthony Steed / Manuel Fradinho Oliveira 著)

时间:2022-08-29 23:02:24

PART I GROUNDWORK

CHAPTER 1 Introduction

CHAPTER 2 One on One (101)

CHAPTER 3 Overview of the Internet

CHAPTER 4 More Than Two

PART II FOUNDATIONS

CHAPTER 5 Issues in Networking Graphics

CHAPTER 6 Sockets and Middleware

CHAPTER 7 Middleware and Message-Based Systems

CHAPTER 8 Middleware and Object-Sharing Systems

CHAPTER 9 Other Networking Components

PART III REAL SYSTEMS

CHAPTER 10 Requirements

CHAPTER 11 Latency and Consistency

CHAPTER 12 Scalability

CHAPTER 13 Application Support Issues

CHAPTER 1 Introduction

  Introduction

  1.1 What are NVEs and NGs

  1.2 The illusion of a shared virtual environment

  1.3 Some history

    1.3.1 Internet

    1.3.2 Simulations

    1.3.3 Multiuser dungeons

    1.3.4 Electronic games

    1.3.5 Virtual reality systems

    1.3.6 MMORPGs

    1.3.7 Social spaces

  1.4 Scoping the software architecture

    1.4.1 Software roles and responsibilites

    1.4.2 Differences to other network code

  1.5 Structure

  References

Bartle, R. (2003). Designing virtual worlds. New Riders, Indianapolis, IN.

Berners-Lee, T., & Fischetti, M. (1999). Weaving the web: Origins and future of the world wide web. Orion Business.

Blanchard, C., Burgess, S., Harvill, Y., et al. (1990). Reality built for two: A virtual reality tool Proceedings of the 1990. Symposium on Interactive 3D. New York: ACM, 35–36.

Boggs, D., Shoch, J., Taft, E., et al. (1980). Pup: An internetwork architecture. IEEE Transactions on Communications, 28(4), 612–624.

BZFlag (2008) BZFlag, http://bzflag.org, accessed November 28 2008.

Capps, M., McGregor, D., Brutzman, D., et al. (2000). NPSNET-V: A new beginning for dynamically extensible virtual environments. IEEE Computer. Graphics and Applications, 20(5), 12–15.

Cerf, V., & Kahn, R. (1974). A protocol for packet network intercommunication. IEEE Transactions on Communications, 22(5), 637–648.

Churchill, E. F., Snowdon, D. N., & Munro, A. J. (Eds.) (2001). Collaborative virtual environments. Springer-Verlag, UK.

Cosby, L. N. (1999). SIMNET—An insider’s perspective. Simulation Technology Magazine, 2, 1g. Available online: http://www.sisostds.org/webletter/siso/iss_39/art_202.htm, Accessed November 28, 2008.

Cruz-Neira, C., Sandin, D. J., & DeFanti, T. A. (1993). Surround-screen projection-based virtual reality: The design and implementation of the CAVE. Proceedings of SIGGRAPH ‘93 Computer Graphics Conference, ACM SIGGRAPH, August 1993, 135–142.

Digibarn (2004). http://www.digibarn.com/history/04-VCF7-MazeWar/index.html, accessed November 28, 2008.

DODGDC (2008). Department of Defense Game Developers Community, http://www.dodgamecommunity.com/, accessed November 28, 2008.

Dodge, M. (2003). Mapping peer-to-peer networks, http://personalpages.manchester.ac.uk/staff/m.dodge/cybergeography/maps/maps26.html, accessed November 28, 2008.

Frécon, E., Smith, G., Steed, A., et al. (2001). An Overview of the COVEN Platform. Smith, G., Steed, A., et al. (2001). An Overview of the COVEN Platform. An Overview of the COVEN Platform. Presence: Teleoperators and Virtual Environments, 10(1), 109–127.

Gaines, B. R. (1998). The learning curves underlying convergence. Technological Forecasting and Social Change, 57, 7–34.

Hafner, K., & Lyon, M. (1996). Where wizards stay up late: The origins of the Internet. Simon & Schuster, Touchstone, NewYork, NY

Hall, R., Novak, J. (2008). Game development essentials: Online game development. Delmar: Cengage Learning, Florence, KY.

Harris, M. (1994). Entertainment driven collaboration. SIGGRAPH Computer Graphics, 28(2), 93–96.

IEEE (Institute of Electrical and Electronics Engineers) (1993). International Standard, ANSI/IEEE Std 1278-1993, Standard for Information Technology, Protocols for Distributed Interactive Simulation, March 1993.

Keegan, M. (1997). A classifcation of MUDs The Journal of Virtual Environments, 2, 2. Available online: http://www.brandeis.edu/pubs/jove/HTML/v2/v2n2jove.html, accessed November 11, 2009.

Kent, S. L. (2002). The ultimate history of video games. Prima Life, Rocklin, CA.

Koster, R. (2002). Online world timeline, http://www.raphkoster.com/gaming/mudtimeline.shtml, accessed November 11, 2008.

Macedonia, M., Zyda, M., Pratt, D., et al. (1994). Npsnet: A network software architecture for largescale virtual environments. Presence: Teleoperators and Virtual Environments, 3(4), 265–287.

Macedonia, M. R., Zyda, M. J., Pratt, D. R., et al. (1995). Exploiting reality with multicast groups. IEEE Computer Graphics and Applications, 15(5), 38–45.

Morse, K. L., Bic, L., & Dillencourt, M. (2000). Interest management in large-scale virtual environments. Presence: Teleoperators and Virtual Environments, 9(1), 52–68.

DeMaria, R., & Wilson, J. L. (2003). High score! The illustrated history of electronic games (2nd ed.). McGraw-Hill Osborne Media, Berkeley, CA.

Metcalfe, R. M., & Boggs, D. R. (1976). Ethernet: Distributed packet switching for local computer networks. Communications of the ACM, 19(7), 395–404.

MGP (2008). The mud genealogy project, http://sourcery.dyndns.org/wiki.cgi?MudGenealogyProject, accessed November 28, 2008.

Minsky, M. (1980). Telepresence, Omni, June 1980, pp. 45–52.

MMOGChart (2008). http://www.mmogchart.com/Chart2.html, accessed December 1, 2008.

Morningstar, C., & Farmer, F. R. (1990). The Lessons of Lucasflm’s Habitat, The First International Conference on Cyberspace, Austin, TX, USA. Available online: http://www.fudco.com/chip/lessons.html, accessed December 1, 2008.

Mulligan, J., & Patrovsky, B. (2003). Developing online games: An insider’s guide. New Riders Games, Indianapolis, IN.

Naughton, J. (2000). A brief history of the future: Origins of the Internet. Orion, London, UK.

Neyland, D. L. (1997). Virtual combat: A guide to distributed interactive simulation. Stackpole Books, Mechanicsburg, PA.

NSF (2008). The launch of NSFNET, http://www.nsf.gov/about/history/nsf0050/internet/launch.htm, accessed, November 28, 2008.

OpenSimulator (2008). OpenSimulator, http://opensimulator.org/wiki/Main_Page, accessed December 1, 2008.

Pascual, A., & Hauer, M. (2003). Minitasking – a visual Gnutella client. Proceedings of the Seventh International Conference on Information Visualization, 115–118.

Pope, A. (1989). BBN Report No. 7102, The SIMNET Network and Protocols, BBN Systems and Technologies, Cambridge, MA, July 1989.

Rheingold, H. (1993). The Virtual Community: Homesteading on the Electronic Frontier, Addison-Wesley.References

Rolfe, J. M., & Staples, K. J. (Eds.) (1988). Flight simulation. Cambridge University Press, Cambridge, UK.

Sanchez-Vives, M. V., & Slater, M. (2005). From presence to consciousness through virtual reality. Nature Reviews Neuroscience, 6(4), 332–339.

Schroeder, R. (Ed.) (2001). The social life of avatars: Presence and interaction in shared virtual environments. Springer-Verlag, London, UK.

Schroeder, R., & Axelsson, A. (Eds.), (2006). Avatars at work and play: Collaboration and interaction in shared virtual environments. Springer, Dordrecht, The Netherlands.

Schultz, A. (1999). Ultima Online Travelogue & Adventurer’s Guide: Trinsic Under Pirate Law, http://www.aschulze.net/ultima/stories/story137.htm, accessed July 16, 2009.

Schultz, A. (2008). Ultima Online Travelogue & Adventurer’s Guide: Blackrock Disaster in Moonglow, http://www.aschulze.net/ultima/stories10/story0041.htm, accessed July 16,2009.

Sutherland, I. E. (1965). The ultimate display. Proceedings of IFIP, 65(2), 506–508.

Taylor, T. L. (2006). Play between worlds: Exploring online game culture. MIT Press, Cambridge, MA.

Thompson, G. (2004). The aMazing History of Maze http://www.digibarn.com/collections/games/maze-war/imlacs-pds1-maze/index.html, accessed November 28, 2008.

Waters, R., Anderson, D., Barrus, J., et al. (1995). Diamond park and spline: A social virtual reality system with 3D animation, spoken interaction, and runtime modifability. IEEE Multimedia, 2(4), 77–82.

CHAPTER 2 One on One (101)

  Introduction

  2.1 Boids

    2.1.1 Boid rules

    2.1.2 Standalone implementation

  2.2 Distributed boids: concepts

  2.3 Distributed boids: implementation

    2.3.1 Revised simulation and data model

    2.3.2 Network concepts

    2.3.3 Network protocol

    2.3.4 Implementation of the network component

    2.3.5 Sending UDP data packets

    2.3.6 Sending TCP data streams

  2.4 Reflection

  References

Reynolds, C.W. (1987). Flocks, herds, and schools: A distributed behavioral model. Computer Graphics, 21(4), 25–34 (SIGGRAPH ‘87 Conference Proceedings).

Reynolds, C. (2001). Boids, background and update. Online at http://www.red3d.com/cwr/boids/, accessed December 12, 2008.

Winett, J. (1971). The Defnition of a Socket, RFC-129.

CHAPTER 3 Overview of the Internet

  Introduction

  3.1 The internet

  3.2 Application layer

    3.2.1 Application layer protocols

    3.2.2 Application qos

    3.2.3 Common applications and ports

    3.2.4 RFCs

    3.2.5 DNS

    3.2.6 Telnet and HTTP

  3.3 Transport layer

    3.3.1 Implementing UDP

    3.3.2 Basics of TCP

    3.3.3 Reliability in TCP

    3.3.4 Opening and closing TCP connections

    3.3.5 Flow control and congestion avoidance in TCP

  3.4 Network layer

    3.4.1 Network address translation

    3.4.2 IP packets

    3.4.3 Ping, traceroute and ICMP

    3.4.4 Routing on the internet

    3.4.5 DHCP

  3.5 Link and physical layer

    3.5.1 Ethernet

    3.5.2 Comparisons

  3.6 Futher network facilities

    3.6.1 Multicast

    3.6.2 Network qos

  3.7 Summary

  References

All RFCs can be accessed by number at http://tools.ietf.org/html/, accessed February 1, 2009.

Ballardie, A., Francis, P., & Crowcroft, J. (1993). Core based trees (CBT): An architecture for scalable inter-domain multicast routing. Proceedings SIGCOMM’93 (pp. 85–95).

CERT. (2008). CERT Vulnerability Note VU#800113: Multiple DNS implementations vulnerable to cache poisoning. United States Computer Emergency Readiness Team. http://www.kb.cert.org/vuls/id/800113, accessed January 29, 2009.

Chassot, C., Lozes, A., Garcia, F., et al. (1999). Specifcation and realization of the QoS required by a distributed simulation application in a new generation Internet. Proceedings Interactive Distributed Multimedia Systems and Telecommunication Services, Lecture Notes in Computer Science, 1718, 75–91).

Deering, S., & Cheriton, D. (1990). Multicasting routing in datagram inter-networks and extended LANs. ACM Transactions on Computer Systems, 8(2), 85–110.

Diot, C., Dabbous, W., & Crowcroft, J. (1997). Multipoint communication: A survey of protocols, functions and mechanisms. IEEE Journal on Selected Area in Communication, 15(3), 277–290.

Fisher, H. (2002). Multicast issues for collaborative virtual environments. IEEE Computer Graphics and Applications, 22(5), 68–75.

Handley, M. (1997). On Scalable Internet Multimedia Conferencing Systems, PhD Thesis, University College London.

IANA. (2009). Port Numbers, http://www.iana.org/assignments/port-numbers, accessed January 29, 2009.

Kurose, J. F., & Ross, K. W. (2008). Computer networking: A top-down approach (4th ed.). Addison Wesley.

Levine, B., Crowcroft, J., Diot, C., et al. (2000). Consideration of receiver interest in delivery of IP multicast. Proceedings Infocom 2000, IEEE 78–88.

Salon. (2000). tv, http://archive.salon.com/tech/view/2000/07/24/dot_tv/index.html, accessed January 29, 2009.

Stevens, R. (1994). TCP/IP illustrated, Volume 1: The protocols. Addison-Wesley, Indianapolis, IN.

Stevens, R. (1995). TCP/IP illustrated, Volume 2: The implementation. Addison-Wesley, Indianapolis, IN.

Stevens, R. (1996). TCP/IP illustrated, Volume 3: TCP for transactions, HTTP, NNTP, and the UNIX domain protocols. Addison-Wesley, Indianapolis, IN.

Wikipedia Contributors. (2009). Internet Protocol Suite. http://en.wikipedia.org/wiki/TCP/IP, accessed January 29, 2009.

Xiao, X., & Ni, L. (1999). Internet QoS: A big picture. IEEE Network, 13(2), 8–18.

Yu, H., Zhou, Q., Makrakis, D., et al. (2001). Quality of service support of distributed interactive virtual environment applications in IP networks. Proceedings Pacifc Rim Conference on Communications, Computer and Signal Processing, IEEE 196–199.

Zhao, W., Olshefski, D., & Schulzrinne, H. (2000). Internet Quality of Service: An Overview. Technical Report CUCS-003-00, Columbia University, New York, February 2000.

Zimmermann, H. (1980). OSI reference model—The ISO model of architecture for open systems interconnection. IEEE Transactions on Communications, 28(4), 425–432.

CHAPTER 4 More Than Two

  Introduction

  4.1 Boids

    4.1.1 Architecture

    4.1.2 Protocol

    4.1.3 Codebase refactoring

  4.2 Simple peer to peer

    4.2.1 System architecture

    4.2.2 Data model

    4.2.3 Network

    4.2.4 Protocol

  4.3 Peer to peer with master

    4.3.1 System architecture

    4.3.2 Datamodel

    4.3.3 Network

    4.3.4 Protocol

  4.4 Peer to peer with rendezvous server

    4.4.1 System architecture

    4.4.2 Datamodel

    4.4.3 Network

    4.4.4 Protocol

  4.5 Client/Server

    4.5.1 System architecture

    4.5.2 Datamodel

    4.5.3 Network

    4.5.4 Protocol

  4.6 Multicast

    4.6.1 System architecture

    4.6.2 Datamodel

    4.6.3 Network

    4.6.4 Protocol

  4.7 Extensions

    4.7.1 Protocol design

    4.7.2 Network compensation

    4.7.3 Scale

    4.7.4 Binary protocols

  4.8 Conclusions

  References

Clark, D. D., & Tennenhouse, D. L. (1990). Architectural considerations for a new generation of protocols. SIGCOMM Computer Communication Review, 20(4), 200–208.

CHAPTER 5 Issues in Networking Graphics

  Introduction

  5.1 Architecture of the individual system

    5.1.1 Engines and engine framework

    5.1.2 Modules

    5.1.3 Content

    5.1.4 Behavior

  5.2 Role of the network

    5.2.1 Device I/O sharing

    5.2.2 Data model sharing

    5.2.3 Command/event streaming

    5.2.4 Coping with scale

  5.3 Initialization

    5.3.1 Case study: Disney's Toontown

  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

  References

Autodesk. (2009). HumanIK Middleware. ,http://usa.autodesk.com/adsk/servlet/index?siteID123112&id9491249., accessed February 14, 2009.

Autodesk. (2009). Kynapse. ,http://usa.autodesk.com/adsk/servlet/index?siteID123112&id11390544., accessed February 14, 2009.

BBC. (2009). Video game helps with fre drill. http://news.bbc.co.uk/1/hi/technology/7867861.stm, accessed February 14, 2009.

Blow, J. (2004). Game development: Harder than you think. ACM Queue, 1(10), 28–37.

Cohen-Or, D., Chrysanthou, Y. L., Silva, C. T., et al. (2003). A survey of visibility for walkthrough applications. IEEE Transactions on Visualization and Computer Graphics, 9(3), 412–431.

El-Nasr, M. S., & Smith, B. K. (2006). Learning through game modding. Computers in Entertainment, 4(1), 7.

Gibson, W. (1984). Neuromancer. Ace Books.

Havok. (2009). ,http://www.havok.com/., accessed February 14, 2009.

Le Hégare, P. (2002). The W3C Document Object Model (DOM). ,http://www.w3.org/2002/07/26-dom-article.html., accessed February 14, 2009.

id Software. (1993). DOOM (Shareware version).

IEEE. (1993). IEEE 1278-1993 Standard for Distributed Interactive Simulation—Application protocols.

ISO. (1997). Virtual Reality Modeling Language (VRML) ISO/IEC 14772-1:1997.

ISO. (2008). ISO/IEC FDIS 19775-1.2:2008—X3D Architecture and Base Components Edition 2.

Khronos. (2008). COLLADA 1.5.0 Specifcation, October 2008.,http://www.khronos.org/collada/.,accessed February 14, 2009.

Mine, M. R., Shochet, J., & Hughston, R. (2003). Building a massively multiplayer game for the million: Disney’s Toontown Online. Computers in Entertainment, 1(1), 1–20.

Murphy, G. (2005). Duct Tape—a Doom 3 mod. ,http://ducttape.glenmurphy.com/., accessed February 14, 2009.

Natural Motion. (2009). ,http://www.naturalmotion.com/morpheme.htm., accessed February 14, 2009.

NTP. (2009). ,http://www.ntp.org/., accessed February 14, 2009.

NVidia. (2009). ,http://www.nvidia.com/object/nvidia_physx.html., accessed February 14, 2009.

OGRE. (2009). ,http://www.ogre3d.org/., accessed February 14, 2009.

OpenSceneGraph. (2009). ,http://www.openscenegraph.org/projects/osg., accessed February 14, 2009.

OpenSG. (2009). ,http://opensg.vrsource.org/trac., accessed February 14, 2009.

Panda3D. (2009). Panda3D. ,http://panda3d.org/., accessed February 14, 2009.

Pathengine. (2009). ,http://www.pathengine.com/., accessed February 14, 2009.

Rof. (2005). Pathengine, The Source Engine BSP File Format. ,http://www.geocities.com/cofrdrbob/bspformat.html., accessed February 14, 2009.

SA-MP. (2009). San Andreas Multiplayer. ,http://www.sa-mp.com/., accessed February 14, 2009.

Schmidt, E. R., Tapus, C., Kiniry, J., et al. (1999). A new approach to multi-user environments using software distributed shared memory. 1st Workshop on Software Distributed Shared Memory, Rhodes, Greece, June 1999.

Sowizral, H. (2000). Scene graphs in the new millennium. IEEE Computer Graphics and Applications, 20(1), 56–57.

CHAPTER 6 Sockets and Middleware

  Introduction

  6.1 Role of middleware

  6.2 Low-level socket APIs

    6.2.1 Main functions

    6.2.2 Name helper functions and options

    6.2.3 Network byte order

    6.2.4 Examples

    6.2.5 Socket usage patterns

    6.2.6 Windows

    6.2.7 Synchronous I/O

    6.2.8 Critique and discussion

  6.3 C and C++ Middleware for networking

    6.3.1 HawkNL

    6.3.2 SDL_Net

    6.3.3 ACE

  6.4 Conclusion

  References

Hall, B. (2009). Beej’s guide to network programming using Internet sockets. http://beej.us/guide/bgnet, accessed March 21, 2009.216

Hawk Software. (2009). HawkNL™ (Hawk Network Library). http://www.hawksoft.com/hawknl, accessed March 21, 2009.

Huston, S. D., Johnson, J. C. E., & Syyid, U. (2003). The ACE programmer’s guide: Practical design patterns for network and systems programming. Addison-Wesley Professional, Boston, MA.

Lantinga, S., Wood, R., & Minami, M. (2009). SDL_Net. http://www.libsdl.org/projects/SDL_net,accessed March 21, 2009.

Microsoft. (2009). Porting socket applications to Winsock. http://msdn.microsoft.com/en-us/library/ms740096(VS.85).aspx/, accessed March 21, 2009.

Schmidt, D. C., & Huston, S. D. (2001). C network programming: Mastering complexity using ACE and patterns. Addison-Wesley, Boston, MA.

SDL. (2009). Simple Directmedia layer. http://www.libsdl.org, accessed March 21, 2009.

Stevens, W. R. (1998). UNIX network programming: Networking APIs: Sockets and XTI (Vol. 1) (2nd ed.). Prentice Hall PTR, Upper Saddle River, NJ.

Wikipedia Contributors. (2009). Berkeley sockets. http://en.wikipedia.org/w/index.php?title Berkeley_sockets/, accessed March 21, 2009.

CHAPTER 7 Middleware and Message-Based Systems

  Introduction

  7.1 Message-Based Systems

  7.2 DIS

    7.2.1 PDUs

  7.3 X3D and DIS

    7.3.1 Basics of X3D

    7.3.2 Dataflow and animation

    7.3.3 Scripting and interfaces

    7.3.4 VRML/X3D networking strategies

    7.3.5 X3D and DIS

  7.4 X3D, HAWKNL and DIS

    7.4.1 Sending a DIS packet

    7.4.2 Receiving DIS packets

  7.5 Conclusions

  References

Araki, Y., & Sony Music Entertainment (Japan) Inc. (1998). VSPLUS: A high-level multi-user extension library for interactive VRML worlds. In: Proceedings of the Third Symposium on Virtual Reality Modeling Language (Monterey, California, United States, February 16–20, 1998). VRML‘98 (pp. 39–47). New York, NY: ACM.

Brutzman, D., & Daly, L. (2007). X3D: 3D graphics for web authors. Morgan Kaufmann Publishers, San Francisco, CA.

Diehl, S. (2001). Distributed virtual worlds. Springer-Verlag, Berlin, Germany.

Hils, D. (1992). Visual languages and computing survey: Data flow visual programming languages. Journal of Visual Languages and Computing, 3(1), 69–101 New York, NY: IEEE. York, NY: IEEE.

IEEE (1993). IEEE standard for information technology—protocols for distributed simulation applications: Entity information and interaction. IEEE Standard 1278–1993. New York, NY: IEEE Computer Society.

IEEE (2000). Standard for modeling and simulation high level architecture—Framework and rules. IEEE Standard 1516–2000.

ISO/IEC (1997). Virtual Reality Modeling Language (VRML), 14772-1:1997 http://www.web3d.org/x3d/specifcations/vml/ISO-IEC-14772-VRML97/

ISO/IEC (2005). X3D encodings: XML and Classic VRML, ISO/IEC 19776:2005. http://www.web3d.org/x3d/specifcations/.

ISO/IEC (2008). X3D Architecture and base components Edition 2, ISO/IEC 19775-1.2. (Final Draft International Standard as of March 2009). http://www.web3d.org/x3d/specifcations/.

Kuhl, F., Weatherly, R., & Dahmann, J. (1999). Creating computer simulation systems: An introduction to the high level architecture. Prentice Hall PTR, Upper Saddle River, NJ.

Lea, R., Honda, Y., Matsuda, K., & Matsuda, S. (1997). Community place: Architecture and performance. In: Proceedings of the Second Symposium on Virtual Reality Modeling Language (Monterey, California, United States, February 24–26, 1997). VRML ‘97 (pp. 41  50). New York, NY:ACM.

Neyland D. L. (1997). Virtual combat: A guide to distributed interactive simulation. Stackpole Books, Mechanicsburg, PA.

Open-DIS (2009). Open-DIS. http://open-dis.sourceforge.net/Open-DIS.html/ accessed March 25, 2009. OpenSimulator (2009) OpenSimulator http://opensimulator.org/ accessed March 25, 2009.

Pesce, M., Kennard, P., & Parisi, A. (1994). Cyberspace, First International Conference on WWW.Geneva, May 1994.

SISO (2005). DIS Plain and Simple. http://www.sisostds.org/index.php?tg=fleman&idx=list&id=12&gr=Y&path=10+-+DIS++Plain+and+Simple/ accessed March 25, 2009.

SISO. (2006a). DIS Find-It-Fast Guide. http://www.sisostds.org/index.php?tg=fleman&idx=get&id=12&gr=Y&path=3++The+DIS+Find-It-Fast+Guide&file=The+DIS+Find+It+Fast+Guide+10+Dec+06.doc accessed March 25, 2009.

SISO. (2006b). The Complete DIS PDU Guide. http://www.sisostds.org/index.php?tg=fleman&idx=list&id=25&gr=Y&path=2++DIS+Guides%2F2++The+Complete+DIS+PDU+Guide%2F1++The+Complete+DIS+PDU+Guide accessed March 25, 2009.

SISO. (2009). DIS Data Dictionary-PDU Data. http://www.sisostds.org/dis-dd/pdu/index.htmaccessed March 25, 2009.

Snoswell, M. (1992). Overview of Cyberterm, a Cyberspace Protocol Implementation. http://www.ibiblio.org/pub/academic/computer-science/virtual-reality/papers/Snoswell.Cyberterm/accessed March 25, 2009.

Steed, A., & Slater, M. (1996). A dataflow representation for defning behaviours within virtual environments. In: S. Bryson (ed.), Proceedings of the IEEE Virtual Reality Annual International Symposium (VRAIS) Washington, DC: IEEE Computer Society pp. 163.

Wray, M. J., & Hawkes, R. (1998). LivingSpace: Distributed virtual environments and VRML: An event-based architecture. Computer Networks and ISDN Systems, 30, 43–51.

Wikipedia Contributors. (2009). XML. http://en.wikipedia.org/wiki/XML/ accessed March 25, 2009.

X3D-Edit (2009). https://savage.nps.edu/X3D-Edit/ accessed March 25, 2009.

Xj3D (2009). http://www.xj3d.org accessed March 25, 2009.

CHAPTER 8 Middleware and Object-Sharing Systems

  Introduction

  8.1 Object-sharing systems

  8.2 Raknet

    8.2.1 Object lifecycles

  8.3 Boids using object-sharing

    8.3.1 Boid definitions

    8.3.2 Main Application

    8.3.3 Discussion

  8.4 General Object-Sharing

    8.4.1 Sharing policy

    8.4.2 Visibility and sampling rates

  8.5 Ownership

  8.6 Scene-Graphs, Object-Sharing and messages

  8.7 Conclusions

  References

Chardavoine, F., Ageneau, S., & Ozell, B. (February 2005). Wolverine: A distributed scene-graph library. Presence: Teleoperators and Virtual Environments, 14(1), 20–30.

Greenhalgh, C., Purbrick, J., & Snowdon, D. (2000). Inside MASSIVE-3: Flexible support for data consistency and world structuring. In E. Churchill and M. Reddy (eds.), In: Proceedings of the third international conference on collaborative virtual environments (San Francisco, California, United States), CVE ‘00 (pp. 119–127). New York: ACM.

Hesina, G., Schmalstieg, D., Furhmann, A., & Purgathofer, W. (1999). Distributed Open Inventor: A practical approach to distributed 3D graphics. In: Proceedings of the ACM symposium on virtual reality software and technology (London, United Kingdom, December 20–22, 1999), VRST ‘99 (pp. 74  81). New York, NY: ACM.

Linebarger, J. M., & Kessler, G. D. (July 2004). Concurrency control mechanisms for closely coupled collaboration in multithreaded peer-to-peer virtual environments. Presence: Teleoperators and Virtual Environments, 13(3), 296–314.

MacIntyre, B., & Feiner, S. (1998). A distributed 3D graphics library. Proceedings of the 25th annual conference on computer graphics and interactive techniques, SIGGRAPH ‘98 (pp.361–370). New York: ACM.

Naef, M., Lamboray, E., Staadt, O., et al. (2003). The blue-c distributed scene graph. In: Proceedings of the workshop on virtual environments 2003 (Zurich, Switzerland, May 22–23, 2003), EGVE ‘03 (Vol. 39, pp. 125–133). New York: ACM.

OpenSG. (2009). ,http://opensg.vrsource.org/., accessed April 8, 2009.

Nitzberg, B., & Lo, V. (1991). Distributed shared memory: A survey of issues and algorithms. Computer, 24(8), 52–60. RakNet (2009) RakNet, (2009) RakNet, ,http://www.jenkinssoftware.com/.,accessed April 8, 2009

Replicanet. (2009). ,http://www.replicanet.com/., accessed April 8, 2009.

Roth, M., Voss, G., & Reiners, D. (2004). Multi-threading and clustering for scene graph systems. Computers and Graphics, 28(1), 63–66.

Schaeffer, B., Brinkmann, P., Francis, G., et al. (2005). Myriad: Scalable VR via peer-to-peer connectivity, PC clustering, and transient inconsistency. In: Proceedings of the ACM symposium on virtual reality software and technology (Monterey, CA, USA, November 07–09, 2005), VRST ‘05 (pp. 68–77). New York: ACM.

Sowizral, H. (January/February 2000). Scene graphs in the new millennium. IEEE Computer Graphics and Applications, 20(1), 56–57.

Strauss, P. S., & Carey, R. (1992). An object-oriented 3D graphics toolkit. SIGGRAPH Computer Graphics, 26(2), 341–349.

Sung, U. J., Yang, J. H., & Wohn, K. Y. (1999). Concurrency control in CIAO, In: Proceedings of IEEE Virtual Reality, (March 13-17, 1999), Washington DC: IEEE Computer Society, 22–28.

Tramberend, H. (1999). Avocado: A distributed virtual reality framework. In: Proceedings of IEEE Virtual Reality (March 13–17, 1999). Washington, DC: VIEEE Computer Society. 14–21.

Zeleznik, B., Holden, L., Capps, M., et al. (2000). Scene-graph-as-bus: Collaboration between heterogeneous stand-alone 3-d graphical applications. Computer Graphics Forum, 19(3), 91–98).

CHAPTER 9 Other Networking Components

  Introduction

  9.1 Remote method call

    9.1.1 RPC

    9.1.2 XML-RPC, etc.

    9.1.3 CORBA

    9.1.4 Discussion

  9.2 DIVE

    9.2.1 DIVE overview

    9.2.2 DIVE entities

    9.2.3 Events

    9.2.4 Scripting and event scoping

    9.2.5 Networking

    9.2.6 Discussion

  9.3 System architectures

  9.4 Conclusions

  References

AccessGrid. (2009). Access Grid®, http://www.accessgrid.org/ accessed 15.04.09.

ActiveState. (2009). Tcl Developer Xchange, http://www.tcl.tk/ accessed 15.04.09.

Advanced Visual Systems. (2009). AVS/Express. http://www.avs.com/software/soft_t/avsxps.html/ accessed 15.04.09.

Allard, J., Gouranton, V., Lecointre, L. Limet, S., Mellin, E., Raffn, B., Robert, S. (2004). FlowVR:A middleware for large scale virtual reality applications. In: Lecture Notes in Computer Science,3139, Proceedings of Euro-Par 2004 Parallel Processing. Springer, (pp. 497–505).

Apache Incubator. (2009). Thrift, http://incubator.apache.org/thrift/ accessed 15.04.09.

Apache Software Foundation. (2009). Apache XML-RPC, http://ws.apache.org/xmlrpc/ accessed 15.04.09.

Bae, J. J. (2005). Fast and effcient implementation of a remote procedure call system. In K. Pallister (Ed.), Game Programming Gems 5. Charles River Media, Florence, KY.

Bierbaum, A., Just, C., Hartling, P. et al. (2001). VRJuggler: A virtual platform for virtual reality application development. In: Proceedings of the IEEE Virtual Reality Conference. Washington, DC: IEEE Computer Society (pp. 89–96).

Carlsson, C., & Hagsand, O. (1993). DIVE—A platform for multi-user virtual environments. Computers & Graphics, 17(6), 663–669.

Deriggi, F. V., Jr., Kubo, M. M., Sementille, A. C. et al. (1999). CORBA platform as support for distributed virtual environments. In: Proceedings of the IEEE Virtual Reality (March 13–17,1999). Washington, DC: VR. EEEE Computer Society (pp. 8–13).

Diehl, S. (2001). Distributed virtual worlds. Springer-Verlag, Berlin, Germany.

Eriksson, H. (August 1994). MBONE: The multicast backbone. Communications of the ACM, 37(8), 54–60.

Fielding, R. (2000). Architectural Styles and the Design of Network-based Software Architectures, Doctoral dissertation, University of California, Irvine, available online dissertation, University of California, Irvine, available online http://www.ics.uci.edu/~felding/pubs/dissertation/top.htm/, accessed April 15, 2009.

Fielding, R., & Taylor, R. N. (2002). Principled design of the modern Web architecture. ACM Transactions on Internet Technology, 2(2), 115–150.

Figueroa, P., Bischof, W. F., Boulanger, P. et al. (October 2008). InTml: A dataflow oriented development system for virtual reality applications. Presence: Teleoperators and Virtual Environments, 17(5), 492–511.

Floyd, S., Jacobson, V., Liu, C. et al. (1997). A reliable multicast framework for light-weight sessions and application level framing. IEEE/ACM Transactions on Networking, 5(6), 784–803.

Frécon, E. (2004a). DIVE: Communication architecture and programming model. IEEE Communications Magazine, 42(4), 34–40.

Frécon, E. (2004b). DIVE on the Internet, PhD Thesis, IT University of Göteborg, ISBN 91-628-6134-4.

Frécon, E., & Stenius, M. (1998). DIVE: A scalable network architecture for distributed virtual environments. Distributed Systems Engineering Journal, 5(3), 91–100.

Frécon, E., Greenhalgh, C., & Stenius, M. (1999). The DiveBone—An application-level network architecture for Internet-based CVEs. In: Proceedings of the ACM Symposium on Virtual Reality Software and Technology (London, United Kingdom, December 20–22, 1999). VRST ‘99. New York: ACM (pp. 58–65).

Frécon, E., Smith, G., Steed, A. et al. (2001). An overview of the COVEN platform. Presence: Teleoperators and Virtual Environments, 10(1), 109–127.

Henning, M., & Vinoski, S. (1999). Advanced CORBA Programming with C. Addison-Wesley Professional.

Hubbold, R., Cook, J., Keates, M. et al. (1999). GNU/MAVERIK: A micro-kernel for large-scale virtual environments. In: Proceedings of the ACM Symposium on Virtual Reality Software and Technology, VRST ‘99. New York, NY: ACM (pp. 66–73).

IETF. (1988). RPC: Remote procedure call, protocol specifcation, Version 2 http://tools.ietf.org/html/rfc1057/.

IETF. (2006). XDR: External data representation standard, http://www.tools.ietf.org/html/rfc4506http://tools.ietf.org/html/rfc4506/.

Kapolka, A., McGregor, D., & Capps, M. (2002). A unifed component framework for dynamically extensible virtual environments. In: Proceedings of the 4th international Conference on Collaborative Virtual Environments. New York, NY: ACM (pp. 64–71).

Kidd, E. (2001). XML-RPC HOWTO, http://www.faqs.org/docs/Linux-HOWTO/XML-RPCHOWTO.html#xmlrpc-howto-spec/ Accessed 15.04.09.

Latoschik, M. E., Fröhlich, C., & Wendler, A. (2006). Scene synchronization in close-coupled world representations using SCIVE. International Journal of Virtual Reality, 5(3), 47–52.

Marshall, D. (2005). Programming in C, UNIX system calls and subroutines using C, remote procedure calls (RPC), http://www.cs.cf.ac.uk/Dave/C/node33.html/ Accessed 15.04.09.

McHale, C. (2007). CORBA simply explained, http://www.ciaranmchale.com/corba-explainedsimply/ Accessed 04.15.09.

Mozilla Foundation. (2009). Netscape portable runtime, http://www.mozilla.org/projects/nspr/Accessed 15.04.09.

Naef, M., Lamboray, E., Staadt, O., & Gross, M. (2003). The blue-c distributed scene graph. In Proceedings of the Workshop on Virtual Environments 2003 (Zurich, Switzerland, May 22–23, 2003). EGVE ‘03: vol. 39. New York, NY: ACM (pp. 125–133).

Oliveira, M., Crowcroft, J., & Slater, M. (2001). Components for distributed virtual environments. Presence: Teleoperators and Virtual Environments, 10(1), 51–61.

Oliveira, M., Jordan, J., Pereira, J., Jorge, J., & Steed, A. (In Press). Analysis domain model for shared virtual environments. The International Journal of Virtual Reality.

OMG (2009). CORBA® Basics, http://www.omg.org/gettingstarted/corbafaq.htm/ accessed 15.04.09.

omniORB (2009). omniORB, http://omniorb.sourceforge.net/ accessed 15.04.09.

Pettifer, S., Cook, J., Marsh, J., & West, A. (2000). DEVA3: Architecture for a large-scale distributed virtual reality system. In: Proceedings of the ACM Symposium on Virtual Reality Software and Technology. VRST ‘00. New York, NY: ACM (pp. 33–40).

Picard, S. L., Degrande, S., & Gransart, C. (2001). A CORBA based platform as communication support for synchronous collaborative virtual environment. Proceedings of the 2001 international Workshop on Multimedia Middleware (Ottawa, Ontario, Canada), M3W. New York, NY: ACM (pp. 56–59).

Ponder, M. (2004). Component-Based Methodology and Development Framework for Virtual and Augmented Reality Systems, PhD Thesis No 3046, EPFL.

Ponder, M., Papagiannakis, G. et al. (2003). VHD development framework: Towards extendible, component based VR/AR simulation engine featuring advanced virtual character technologies. Proceedings Computer Graphics International (pp. 96–104). Washington, DC: IEEE Computer Society.

RPCGEN (2009) rpcgen Programming Guide, available online http://docs.freebsd.org/44doc/psd/22.rpcgen/paper.pdf accessed 15.04.09.

RPyc. (2009). Remote Python Call, http://rpyc.wikidot.com/ accessed 15.04.09.

Shaw, C., Liang, J., Green, M., & Sun, Y. (1992). The decoupled simulation model for virtual reality systems. Proceedings of the SIGCHI Conference on Human Factors in Computing Systems.New York, NY: ACM (pp. 321–328).

SICS. (2009). DIVE Home Page, http://www.sics.se/dive/ accessed 15.04.09.

Singhal, S., & Zyda, M. (1999). Networked virtual environments: Design and implementation. New York, NY: ACM Press.

Slee, M., Agarwal, A., & Kwiatkowski, M. (2007). Thrift: Scalable cross-language services implementation, http://developers.facebook.com/thrift/thrift-20070401.pdf/ accessed 15.04.09.

Steed, A. (2008). Some useful abstractions for re-usable virtual environment platforms. IEEE Virtual Reality Workshop for Software Engineering and Architectures for Realtime Interactive Systems.Available online: <http://gamma.cs.unc.edu/VR08_Cityscapes/PAPERS/steed.pdf> accessed 15.04.09

Steed, A., Frécon, E., Avatare Nöu, A. et al. (December 20–22, 1999). The London travel demonstratorACM Press. Proceedings ACM Symposium on Virtual Reality Software and Technology.New York, NY: ACM Press, (pp. 50–57).

Steed, A., Mortensen, J., & Frécon, E. (2001). Spelunking: Experiences using the DIVE system on CAVE-like platforms. In B. Frohlich, J. Deisinger, & H. -J. Bullinger (Eds.), Immersive Projection Technologies and Virtual Environments 2001. Springer-Verlag: Wien, Austria (pp. 153–164).

Sun. (2009). Remote method invocation home, http://java.sun.com/javase/technologies/core/basic/rmi/index.jsp/ accessed 15.04.09.

W3C. (2007a). SOAP, Version 1.2, http://www.w3.org/TR/soap12-part1/ Accessed 15.04.09.

W3C. (2007b). Web Services Description Language (WSDL), Version 2.0 Part 1: Core Language, http://www.w3.org/TR/wsdl20/ Accessed 15.04.09.

Watsen, K., & Zyda, M., (1998). Bamboo—a portable system for dynamically extensible, real-time, networked virtual environments. IEEE Computer Society, Washington, DC. Proceedings Virtual Reality Annual International Symposium, Washington, DC: IEEE Computer Society (pp.252–259).

Winer, D. (1999). XML-RPC Specifcation, http://www.xmlrpc.com/spec/ Accessed 15.04.09.

CHAPTER 10 Requirements

  Introduction

  10.1 Consistency

    10.1.1 System perspective

    10.1.2 Plausibility and fairness

    10.1.3 Consistency-throughput tradeoff

  10.2 Latency and jitter

    10.2.1 Sources of network latency

    10.2.2 Jitter

    10.2.3 Clocks and measurement of latency and jitter

    10.2.4 User tolerance

    10.2.5 Latency impact in specific systems

  10.3 Bandwidth

    10.3.1 Measurement

    10.3.2 Traffic patterns

    10.3.3 Congestion

  10.4 State of the internet

  10.5 Connectivity

    10.5.1 Nat

  10.6 Case study: Burnout™ ParadIse

    10.6.1 Car "Mechanics"

    10.6.2 Game phase and time synchronization

    10.6.3 Game hosting and peer-to-peer networking

  10.7 Conclusions

  References

Akamai. (2009). The State of the Internet 4th Quarter 2008, 1(4), http://www.akamai.com/stateoftheinternet/, accessed May 5, 2009.

Alhalabi, M., Horiguchi, S., & Kunifuji, S. (2003). An experimental study on the effects of network delay in cooperative shared haptic environment. Computers & Graphics, 27(2), 205–213.

Allison, R. S., Zacher, J. E., Wang, D., et al. (2004). Effects of network delay on a collaborative motor task with telehaptic and televisual feedback. Proceedings of the 2004 ACM SIGGRAPH international conference on virtual reality continuum and its applications in industry (Singapore, June 16–18, 2004). VRCAI �04 (pp. 375–381). New York: ACM.

AnalogX. (2009). The Internet traffc report, http://www.internettraffcreport.com/, accessed May 5, 2009.

Armitage, G. (2003). An experimental estimation of latency sensitivity in multiplayer quake 3. Proceedings of the 11th IEEE international conference on networks (ICON 2003), Sydney (Australia) (pp. 137–141).

Armitage, G., & Stewart, L. (2004). Limitations of using real-world, public servers to estimate jitter tolerance of frst person shooter games. In: Proceedings of the 2004 ACM SIGCHI international conference on advances in computer entertainment technology (Singapore, June 3–5, 2005). ACE �04 (Vol. 74, pp. 257–262). New York: ACM.

Armitage, G., Claypool, M., & Branch, P. (2006). Networking and online games: Understanding and engineering multiplayer internet games. Wiley, England: Chichester.

Baset, S. A., & Schulzrinne, H. G. (2006). An analysis of the Skype peer-to-peer Internet telephony protocol. In: Proceedings of INFOCOM 2006. 25th IEEE international conference on computer communications (pp. 1–11).

BBC News. (2008). Severed cable disrupts net access, news article 19th December 2008, http://news.bbc.co.uk/1/hi/technology/7792688.stm, accessed May 5, 2009.

Beigbeder, T., Coughlan, R., Lusher, C., et al. (2004). The effects of loss and latency on user performance in unreal tournament 2003®. Proceedings of 3rd ACM SIGCOMM workshop on network and system support for games (Portland, Oregon, USA, August 30, 2004). NetGames �04 (pp.144–151). New York: ACM.

Blow, J. (1998). A look at latency. Game Developer, 5(7), 28–40.

Breslau, L., Fall, D., Floyd, K., et al. (2000). Advances in network simulation. IEEE Computer, 33(5), 59–67.

Bryson, S., & Fisher, S.S. (1990). Defning, modeling, and measuring system lag in virtual environments. Stereoscopic Displays and Applications I, Proceedings SPIE 1256 (pp. 98–109), SPIE, Bellingham,WA.

Card, S., Moran, T., & Newell, A. (1983). The psychology of human–computer interaction.Lawrence Erlbaum Associates, Hillsdale, NJ.

Chen, K., Huang, P., & Lei, C. (2006a). How sensitive are online gamers to network quality?. Communications of the ACM, 49(11), 34–38.

Chen, K., Huang, P., & Lei, C. (2006b). Game traffc analysis: An MMORPG perspective (Nov. 2006). Computer Networks, 50(16), 3002–3023.

Claypool, M. (2005). The effect of latency on user performance in real-time strategy games (Sept. 2005). Elsevier Computer Networks, 49(1), 52–70.

Claypool, M., & Claypool, K. (2006). Latency and player actions in online games (Nov. 2006). Communications of ACM, 49(11), 40–45.

Craig, S. J., Reid, L., & Kruk, R. (2000). The effect of visual system time delay on helicopter control. In: Proceedings of the IEA 2000/HFES 2000 Congress, 3-69-3-72.

Crovella, M., & Krishnamurthy, B. (2006). Internet measurement: Infrastructure, traffc and applications. New York: John Wiley & Sons, Inc.

Delaney, D., Ward, T., & McLoone, S. (2006). On consistency and network latency in distributed interactive applications: A survey—part I. Presence: Teleoperators and Virtual Environments, 15(2), 218–234.

Dischinger, M., Haeberlen, A., Gummadi, K. P., et al. (2007). Characterizing residential broadband networks. Proceedings of the 7th ACM SIGCOMM conference on internet measurement (San Diego, California, USA, October 24–26, 2007). IMC �07(pp. 43–56). New York: ACM.

Ellis, S. R., Adelstein, B. D., Baumeler, S., et al. (1999). Sensor spatial distortion, visual latency, and update rate effects on 3D tracking in virtual environments. Proceedings of the IEEE virtual reality (March 13–17, 1999). VR (pp. 218–221). Washington, DC: IEEE Computer Society.

Ellis, S. R., Wolfram, A., & Adelstein, B. D. (2002). Large amplitude three-dimensional tracking in augmented environments: A human performance trade-off between system latency and update rate. Proceedings of HFES (pp. 2149–2154).

Färber, J. (2004). Traffc modelling for fast action network games (May, 2004). Multimedia Tools and Applications, 23(1), 31–46.

Feng, W., Chang, F., Feng, W., et al. (2002). Provisioning on-line games: A traffc analysis of a busy counter-strike server. Proceedings of the 2nd ACM SIGCOMM workshop on internet measurment (Marseille, France, November 06–08, 2002). IMW �02 (pp. 151–156). New York: ACM.

Feng, W., Chang, F., Feng, W., & Walpole, J. (2005). A traffc characterization of popular on-line games. IEEE/ACM Transactions Networking, 13(3), 488–500.

Fernandes, S., Antonello, R., Moreira, J., et al. (2007). Traffc analysis beyond this world: The case of second life. 17th international workshop on network and operating systems support for digital audio & video, Urbana-Champaign, IL, USA, June 4–5, 2007.

Fitts, P. M. (1954). The information capacity of the human motor system in controlling the amplitude of movement. Journal of Experimental Psychology, 47(6), 381–391.

Ford, B., Srisuresh, P., & Kegel, D. (2005). Peer-to-peer communication across network address translators. Proceedings of the USENIX annual technical conference (Anaheim, CA), April 2005 (pp. 179–192).

Fritsch, T., Ritter, H., & Schiller, J. (2005). The effect of latency and network limitations on MMORPGs: A feld study of Everquest 2. Proceedings of the fourth ACM network and system support for games (NetGames) workshop (Hawthorne, NY, Oct. 10–11). New York: ACM Press.

Greenhalgh, C., Bullock, A., Tromp, J., et al. (1997). Evaluating the network and usability characteristics of virtual reality tele-conferencing. BT Technology Journal, 15(4), 101–119.

Greenhalgh, C., Bullock, A., Frecon, E., et al. (2001). Making networked virtual environments work. Presence: Teleoperators and Virtual Environments, 10(2), 142–159.

Gutwin, C. (2001). The effects of network delays on group work in real-time groupware. In W. Prinz, M. Jarke, Y. Rogers, K. Schmidt, & V. Wulf (Eds.), Proceedings of the seventh conference on European conference on computer supported cooperative work (Bonn, Germany, September 16–20, 2001). ECSCW (pp. 299–318). Norwell, MA: Kluwer Academic Publishers.

Hain, T. (2000). Architectural implications of NAT, network working group, RFC 2993, http://tools.ietf.org/html/rfc2993, Accessed May 5, 2009.

Henderson, T. (2001). Latency and user behaviour on a multiplayer game server. Proceedings of the third international cost264 workshop on networked group communication (November 07–09, 2001). Lecture Notes In Computer Science (Vol. 2233, pp. 1–13). London: Springer-Verlag.

Hoffmann, E. R. (1992). Fitts’ law with transmission delay. Ergonomics, 35(1), 37–48.

Hu, S. 2006. A case for 3D streaming on peer-to-peer networks. Proceedings of the Eleventh international Conference on 3D Web Technology (Columbia, Maryland, April 18 - 21, 2006). Web3D ’06. ACM, New York, 57–63.

IMC. (2009). Internet measurement conference, http://www.imconf.net/, accessed May 5, 2009.

Jacoby, R. H., Adelstein, B. D., & Ellis, S. R. (1996). Improved temporal response in virtual environments through system hardware and software reorganization. Proceedings of the SPIE 2653, stereoscopic displays and virtual reality systems III (pp. 271–284).

Jay, C., Glencross, M., & Hubbold, R. (2007). Modeling the effects of delayed haptic and visual feedback in a collaborative virtual environment. ACM Transactions on Computer–Human Interaction, 14(2), 8.

Kim, J., Choi, J., Chang, D., et al. (2005). Traffc characteristics of a massively multi-player online role playing game. Proceedings of 4th ACM SIGCOMM workshop on network and system support for games (Hawthorne, NY, October 10–11, 2005). NetGames �05 (pp. 1–8). New York: ACM.

Kinicki, J., & Claypool, M. (2008). Traffc analysis of avatars in Second Life. In: Proceedings of the 18th international workshop on network and operating systems support for digital audio and video (Braunschweig, Germany, May 28–30, 2008). NOSSDAV �08 (pp. 69–74). New York: ACM.

Kumar, S., Chhugani, J., Kim, C., et al. (2008). Second life and the new generation of virtual worlds (Sep. 2008). Computer, 41(9), 46–53.

Kurose, J. F., & Ross, K. W. (2008). Computer networking: A top-down approach (4th ed.). Addison Wesley.

Lee, Y., Agarwal, S., Butcher, C., et al. (2008). Measurement and estimation of network QoS among peer Xbox 360 game players. Proceedings of the 9th international conference on passive and active network measurement, lecture notes in computer science (Vol. 4979, pp. 41–50). Springer.

Leighton, T. (2009). Improving performance on the Internet (Feb. 2009). Communications of the ACM, 52(2), 44–51.

Lincroft, P. (1999). The Internet Sucks: Or, What I Learned Coding X-Wing vs. TIE Fighter, http://www.gamasutra.com/view/feature/3374/the_internet_sucks_or_what_i_.php, accessed May 5, 2009. Originally published in the 1999 Game Developer’s Conference proceedings.

Marshall, D., Mooney, B., McLoone, S., et al. (2007). An unobtrusive method for tracking network latency in online games. The IET China–Ireland international conference on information and communications technologies (CIICT) (pp. 54–61).

Meehan, M., Razzaque, S., Whitton, M. C., et al. (2003). Effect of latency on presence in stressful virtual environments. Proceedings of the IEEE virtual reality 2003 (March 22–26, 2003). VR (pp. 141–138). Washington, DC: IEEE Computer Society.

Mills, D. L. (1992). Network time protocol (version 3), network working group, RFC 1305, http://tools.ietf.org/html/rfc1305, accessed May 5, 2009.

Mine, M. (1993). Characterization of end-to-end delays in head-mounted display systems. Technical Report TR93-001. Department of Computer Science, University of North Carolina at Chapel Hill.

Molnár, S., & Szabó, G. (2008). On the scaling characteristics of MMORPG traffc, Híradástechnika, Selected Papers, LXIII(1), 40–47.

Netcraft. (2009). Most reliable hosting company sites in April 2009, http://news.netcraft.com/, accessed May 5, 2009.

Nichols, J., & Claypool, M. (2004). The effects of latency on online Madden NFL Football. Proceedings of network and operating system support for digital audio and video 2004 (Kinsale, County Cork, Ireland, June 16–18) (pp. 146–151). New York: ACM Press.

Nielsen. (2009). World of warcraft, playstation 2 continue most played gaming trend, http:// blog.nielsen.com/nielsenwire/consumer/world-of-warcraft-playstation-2-continue-most-playedgaming-trend/, Nielsen Games—GamePlay Metrics™/, accessed May 5, 2009.

NTP. (2009). Network time protocol project, http://www.ntp.org/, accessed May 5, 2009.

Pantel, L., & Wolf, L. C. (2002). On the impact of delay on real-time multiplayer games. In: Proceedings of the 12th international workshop on network and operating systems support fordigital audio and video (Miami, Florida, USA, May 12–14, 2002). NOSSDAV �02(pp. 23–29). New York: ACM.

Park, K. S., & Kenyon, R. V. (1999). Effects of network characteristics on human performance in a collaborative virtual environment. Proceedings of the IEEE virtual reality (March 13–17, 1999). VR (p. 104). Washington, DC: IEEE Computer Society.

Perkins, C. (2003). RTP:Audio/video Transport for the Internet, Addison-Wesley Professional.

Plamondon, R., & Alimi, A. M. (1997). Speed/accuracy trade-offs in target-directed movements. Behavioral and Brain Sciences, 20(2), 279–349.

Prasad, R., Dovrolis, C., Murray, M., et al. (2003). Bandwidth estimation: Metrics, measurement techniques, and tools. IEEE Network, 17(6), 27–35.

Ross, P., & Parr, R. (2009). Personal communication, May 10, 2009.

Quax, P., Monsieurs, P., Lamotte, W., et al. (2004). Objective and subjective evaluation of the influence of small amounts of delay and jitter on a recent frst person shooter game. Proceedings of 3rd ACM SIGCOMM workshop on network and system support for games (Portland, Oregon, USA, August 30, 2004). NetGames �04 (pp. 152–156). New York: ACM.

Shneiderman, B. (1983). Direct manipulation. A step beyond programming languages. IEEE Transactions on Computers, 16(8), 57–69.

Sheldon, N., Girard, E., Borg, S., et al. (2003). The effect of latency on user performance in Warcraft III. Proceedings of the 2nd workshop on network and system support for games (Redwood City, California, May 22–23, 2003). NetGames �03 (pp. 3–14). New York: ACM.

Shi, L., & Sha, Y. (2006). Reliable peer-to-peer gaming connections penetrating. In M. Dickheiser (Ed.), Game Programming Gems (Vol. 6). Charles River Media, Clifton Park, NY.

Singhal, S., & Zyda, M. (1999). Networked virtual environments: Design and implementation. New York, ACM Press.

Srisuresh, P., Ford, B., & Kegel, D. (2008). State of peer-to-peer (P2P) communication across network address translators (NATs), network working group, RFC 5128, http://www.tools.ietf. org/html/rfc5128, accessed May 5, 2009.

Steed, A. (2008). A simple method for estimating the latency of interactive, real-time graphics simulations. Proceedings of the 2008 ACM symposium on virtual reality software and technology (Bordeaux, France, October 27–29, 2008). VRST �08 (pp. 123–129). New York: ACM.

Sun, C., & Chen, D. (2002). Consistency maintenance in realtime collaborative graphics editing systems. ACM Transactions on Computer–Human Interaction (TOCHI), 9(1), 1–41.

Sun, C., Jia, X., Zhang, Y., et al. (1998). Achieving convergence, causality preservation and intention preservation in real-time cooperative editing systems. ACM Transactions on Computer– Human Interaction (TOCHI), 5(1), 63–108.

Svoboda, P., Karner, W., & Rupp, M. (2007). Traffc analysis and modeling for world of warcraft. IEEE international conference on communications, 2007. ICC �07(pp. 1612–1617).

UPnP Forum. (2009a). UPnP™ device architecture, Version 1.0, http://www.upnp.org/specs/ arch/UPnP-arch-DeviceArchitecture-v1.0.pdf, accessed May 5, 2009.

UPnP Forum. (2009b). Internet gateway device (IGD), Version 1.0 http://www.upnp.org/standardizeddcps/igd.asp, accessed May 5, 2009.

Vaghi, I., Greenhalgh, C., & Benford, S. (1999). Coping with inconsistency due to network delays in collaborative virtual environments. Proceedings of the ACM symposium on virtual reality software and technology (London, United Kingdom, December 20–22, 1999). VRST �99 (pp. 42–49). New York: ACM.

Wagner, M. (2007). Inside Second Life�s Data Centers, InformationWeek, http://www.informationweek.com/news/software/hosted/showArticle.jhtml?articleID  197800179, accessed May 5, 2009.

Ware, C., & Balakrishnan, R. (1994). Reaching for objects in VR displays: Lag and frame rate. ACM Transactions on Computer–Human Interaction, 1(4), 331–356.

Watte, J. (2005). Overcoming network address translation in peer-to-peer communications. In K. Pallister (Ed.), Game programming gems (Vol. 5). Charles River Media.

Zander, S., Leeder, I., & Armitage, G. (2005). Achieving fairness in multiplayer network games through automated latency balancing. In: Proceedings of the 2005 ACM SIGCHI international conference on advances in computer entertainment technology (Vol. 265, pp. 117–124). New York: ACM.

Zhou, S., Cai, W., Lee, B.-S., & Turner, S. J. (2003). Timespace consistency in large scale distributed virtual environment. ACM Transactions on Modeling and Computer Simulation, 14(1), 31–47.

CHAPTER 11 Latency and Consistency

  Introduction

  11.1 Latency impact

  11.2 Dumb client and lockstep synchronization

    11.2.1 Dumb client

    11.2.2 Lockstep synchronization

  11.3 Conservative simulations

  11.4 Time

  11.5 Optimistic algorithms

  11.6 Client predict ahead

  11.7 Extrapolation algorithms

    11.7.1 Basic dead-reckoning

    11.7.2 Dead-reckoning variants

  11.8 Interpolation,playout delays and local lag

  11.9 Local perception filters

  11.10 Revealing latency

  11.11 Conclusions

  References

Abrash, M. (1997). Quake’s game engine: The big picture. Dr. Dobb’s Journal, Spring Available online at: ,http://www.bluesnews.com/abrash/chap70.shtml., accessed 20.05.09.

Aggarwal, S., Banavar, H., & Khandelwal, A., et al. (200�). Accuracy in dead-reckoning based distributed multi-player games. Proceedings of 3rd ACM SIGCOMM workshop on network and system support for games. New York, NY: ACM (pp. 161–165).

Berglund, E. J., & Cheriton, D. R. (1985). Amaze: A multiplayer computer game. IEEE Software,2(3), 30–39.

Bernier, Y. B. (2001). Latency compensating methods in client/server in-game protocol design and optimization. Proceedings of the game developer conference, 2001. Available online ,http://www.developer.valvesoftware.com/wiki/Lag_Compensation., accessed 0.05.09.

Bettner, P., & Terrano, M. (2001). 1500 Archers on a 28.8: Network programming in age of empires and beyond. Gamasutra, Mar. 2001, ,http://www.gamasutra.com/view/feature/ 309�/1500_archers_on_a_288_network_.php., accessed 05.05.09.

Blau, B., Hughes, C. E., & Moshell, M. J., et al. (1992). Networked virtual environments. Proceedings of the 1992 symposium on interactive 3D graphics. New York, NY: ACM (pp. 157–160).

Bryant, R. E. (1977). Simulation of packet communication architecture computer systems. M.I.T. Laboratory Computer Science, M.S. Thesis.

Cai, W., Lee, F. B. S., & Chen, L. (1999). An auto-adaptive dead reckoning algorithm for distributed interactive simulation, Proceedings thirteenth workshop on parallel and distributed simulation (pp. 82–89), New York, NY.

Cado, O. (2007). Propagation of visual entity properties under bandwidth constraints, ,http:// www.gamasutra.com/view/feature/1�21/propagation_of_visual_entity_.php., accessed 05.05.09.

Capin, T. K., Pandzic, I. S., & Thalmann, N. M., et al. (1997). A dead-reckoning algorithm for virtual human fgures. Proceedings of the 1997 virtual reality annual international symposium. Washington: IEEE Computer Society (pp. 161–169).

Chandy, K. M., & Misra, J. (1979). Distributed simulation: A case study in design and verifcation of distributed programs. IEEE Transactions on Software Engineering, 5(5), 440–452.

Chen, L., Chen, G., & Chen, H., et al. (2007). An HCI method to improve the human performance reduced by local-lag mechanism. Interacting with Computers, 19(2), 215–224.

Cronin, E., Filstrup, B., & Kurc, A. R., et al. (2002). An effcient synchronization mechanism for mirrored game architectures. First Workshop on Network and System Support for Games, 66–73. ACM New York, NY, USA

Delaney, D., Ward, T., & Mc Loone, S. (2003). On reducing entity state update packets in distributed interactive simulations using a hybrid model. Proceedings of the 21st IASTED international multiconference on applied informatics (pp. 833–838), IASTED/ACTA Press, Calgary, AB, Canada.

Diot, C., & Gautier, L. (1999). A distributed architecture for multiplayer interactive applications on the Internet. IEEE Networks Magazine, 13(4), 6–15.

Duncan, T. P., & Gracˇanin, D. (2003). Algorithms and analyses: Pre-reckoning algorithm for distributed virtual environments. Proceedings of the 35th winter simulation conference (pp. 1086–1093), New York, NY: ACM.

Gautier, L., Diot, C., & Kurose, J. (1999). End-to-end transmission control mechanisms for multiparty interactive applications on the internet. New York, NY: IEEE Communication Society. (pp. 1470–1479).

Ferretti, S., & Roccetti, M. (2005). Fast delivery of game events with an optimistic synchronization mechanism in massive multiplayer online games. Proceedings of the 2005 ACM SIGCHI international conference on advances in computer entertainment technology (Vol. 265,pp. 405–412). New York, NY: ACM.

Fraser, M., Glover, T., & Vaghi, I., et al. (2000). Revealing the realities of collaborative virtual reality. Proceedings of the third international conference on collaborative virtual environments. New York, NY: ACM (pp. 29–37).

Fujimoto, R. M. (1990). Parallel discrete event simulation. Communications of the ACM, 33(10), 30–53.

Fujimoto, R. M. (1996). HLA time management: Design document 1.0. August 15, 1996. ,http://www.cc.gatech.edu/computing/pads/PAPERS/HLA-TM-1.0.pdf., accessed 20.05.09.

Fujimoto, R. M. (2000). Parallel and Distributed Simultion Systems. Wiley.

Greenhalgh, C., Purbrick, J., & Snowdon, D. (2000). Inside MASSIVE-3: Flexible support for data consistency and world structuring. Proceedings of the third international conference on collaborative virtual environments. New York, NY: ACM (pp. 119–127).

Gutwin, C., Benford, S., & Dyck, J., et al. (2004). Revealing delay in collaborative environments. Proceedings of the SIGCHI conference on human factors in computing systems. New York, NY: ACM (pp. 503–510).

id Software (1993). Doom. See ,http://www.idsoftware.com/games/doom/., accessed 08.06.09.

id Software (1996). Quake. See ,http://www.idsoftware.com/games/quake/quake/., accessed 08.06.09.

Ishibashi, Y., Hashimoto, Y., & Ikedo, T., et al. (2007). Adaptive -causality control with adaptive dead-reckoning in networked games. Proceedings of the 6th ACM SIGCOMM workshop on network and system support for games. New York, NY: ACM (pp. 75–80).

Jefferson, D. R. (1985). Virtual time. ACM Transactions on Programming Gauges and Systems,7(3), 404–425.

Katz, A., & Graham, K. (1995). Prediction of airplane states. Journal of Aircraft, 32(3), 563–569.

Lamport, L. (1978). Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7), 558–565.

Lee, B. S., Cai, W., & Turner, S. J., et al. (2000). Adaptive dead reckoning algorithms for distributed interactive simulation. International Journal of Simulation: Systems, Science & Technology, 1(1), 21–34.

Macedonia, M., Zyda, M., & Pratt, D., et al. (1994). NPSNET: A network software architecture for large-scale virtual environments. Presence: Teleoperators and Virtual Environments, 3(4),265–287.

Mauve, M. (2000a). Consistency in replicated continuous interactive media. Computer Supported Cooperative Working (pp. 181–190). New York, NY: ACM.

Mauve, M. (2000b). How to keep a dead man from shooting. Proceedings of the 7th international workshop on interactive distributed multimedia systems and telecommunication services,lecture notes in computer science: vol. 1905 (pp. 199–204). London: Springer-Verlag.

Mauve, M., Vogel, J., & Hilt, V., et al. (2004). Local-lag and timewarp: Providing consistency forreplicated continuous applications. IEEE Transactions on Multimedia, 6(1), 47–57.

Nichols, J., & Claypool, M. (2004). The effects of latency on online Madden NFL Football. Proceedings of network and operating system support for digital audio and video 2004 (Kinsale, County Cork, Ireland, June 16–18). New York: ACM Press (pp. 146–151).

Palant, W., Griwodz, C., & Halvorsen, P. (2006). Evaluating dead reckoning variations with a multiplayer game simulator. Proceedings of the 2006 international workshop on network and operating systems support for digital audio and video. New York, NY: ACM (pp. 1–6).
Pantel, L., & Wolf, L. C. (2002). On the suitability of dead reckoning schemes for games. Proceedings of the 1st workshop on network and system support for games. New York, NY: ACM (pp. 79–84).

Roberts, D. J. (1996). A predisctive real time architecture for multi-user, distributed, virtual reality,Ph.D. Thesis, Department of Cybernetics, University of Reading

Roberts, D. J., & Sharkey, P. M. (1997a). Maximising concurrency and scalability in a consistent, causal, distributed virtual reality system whilst minimising the effect of network delays. Proceedings of the 6th workshop on enabling technologies on infrastructure for collaborative enterprises (June 18–20, 1997). Washington, DC: WET-ICE. IEEE Computer Society(pp. 161–166).

Roberts, D. J., & Sharkey, P. M. (1997b). Minimising the latency induced by consistency control,within a large scale multi-user distributed virtual reality system. IEEE International Conference on Systems, Man, and Cybernetics, 5, 4492–4497.

Roberts, D., & Wolff, R. (2004). Controlling consistency within collaborative virtual environments. Proceedings of the 8th IEEE international symposium on distributed simulation and realtime applications. Washington, DC: IEEE Computer Society (pp. 46–52).

Roberts, D., Aspin, R., & Marshall, D., et al. (2008). Bounding inconsistency using a novel threshold metric for dead reckoning update packet generation. Simulation, 84(5), 239–256.

Ryan, M. D., & Sharkey, P. M. (1998). Distortion in distributed virtual reality. Proceedings of the 1st international conference on virtual worlds (pp. 42–48), Springer-Verlag New York, NY.

Safaei, F., Boustead, P., & Nguyen, C. D., et al. (2005). Latency-driven distribution: Infrastructure needs of participatory entertainment applications. IEEE Communications Magazine, 43(5), 106–112.

Sharkey, P. M., & Kumar, A. (1995). Continuous prewarping of time for multiuser interactive virtual environments. Proceedings of SPIE international symposium on telemanipulator and telepresence technologies II (pp. 160–171), SPIE, Bellingham, WA.

Sharkey, P. M., Ryan, M. D., & Roberts, D. J. (1998). A local perception flter for distributed virtual environments. Proceedings of the virtual reality annual international symposium. Washington, DC: IEEE Computer Society (pp. 242–249).

Shim, K. H., & Kim, J. S. (2001). A dead reckoning algorithm with variable threshold scheme in networked virtual environment. Proceeding IEEE international conference on systems, man, and cybernetics, 2, 1113–1118.

Singhal, S. K. (August 1996). Effective remote modeling in large-scale distributed simulation and visualization environments Ph.D Dissertation. Department of Computer Science, Stanford University.

Singhal, S. K., & Cheriton, D. R. (1995). Exploring position history for effcient remote rendering in networked virtual reality. Presence: Teleoperators and Virtual Environments, 4(2), 169–193.

Singhal, S., & Zyda, M. (1999). Networked virtual environments: Design and implementation. New York, NY, ACM Press.

Smed, J., Niinisalo, H., & Hakonen, H. (2005). Realizing the bullet time effect in multiplayer games with local perception flters. Computer Networks, 49(1), 27–37.

Smed, J., & Hakonen, H. (2006). Algorithms and Networking for Computer Games, John Wiley & Sons, Chichester, UK.

Smith, R., & Stoner, D. (2005). Time and event synchronization across an MMP Server Farm. T. Alexander (Ed.), Massively Multiplayer Game Development 2. Charles River Media, Clifton Park, NY.

Stuckel, D., & Gutwin, C. (2008). The effects of local lag on tightly-coupled interaction in distributed groupware. Proceedings of the ACM 2008 conference on computer supported cooperative work. New York, NY: ACM (pp. 447–456).

Svarovsky, J. (2002). Real-time strategy network protocol. D. Treglia (Ed.), Game Programming Gems 3. Charles River Media, Clifton Park, NY.

Vaghi, I., Greenhalgh, C., & Benford, S. (1999). Coping with inconsistency due to network delays in collaborative virtual environments. Proceedings of the ACM symposium on virtual reality software and technology. New York, NY: ACM (pp. 42–49).

Vogel, J., & Mauve, M. (2001). Consistency control for distributed interactive media. Proceedings of the ninth ACM international conference on multimedia, 9. New York, NY: ACM (pp. 221–230).

Weis, T., Wacker, A., & Schuster, S., et al. (2009). Towards logical clocks in P2P-based MMVEs. Proceedings of the 1st international workshop on concepts of massively multiuser virtual environments. Electronic Communications of the EASST, 17, ,http://eceasst.cs.tu-berlin.de/index.php/eceasst/article/view/221/190., accessed 25.05.09.

Yasui, T., Ishibashi, Y., & Ikedo, T. (2005). Influences of network latency and packet loss on consistency in networked racing games. Proceedings of 4th ACM SIGCOMM workshop on network and system support for games (Hawthorne, NY, October 10–11, 2005). NetGames ‘05. New York, NY: ACM (pp. 1–8).

Yu, S. J., & Choy, S. J. (2000). An adaptive dead reckoning algorithm using update lifetime. Virtual Reality, 5(3), 132–148.

Zhang, M., & Georganas, N. D. (2004). An orientation update message fltering algorithm in collaborative virtual environments. Journal of Computer Science Technology, 19(3), 423–429.

Zhang, Y., Chen, L., & Chen, G. (2006). Globally synchronized dead-reckoning with local lag for continuous distributed multiplayer games. Proceedings of 5th ACM SIGCOMM workshop on network and system support for games. New York, NY: ACM, p. 7.

Zhang, X., Ward, T. E., & McLoone, S. (2008). Towards an information model of consistency maintenance in distributed interactive applications. International Journal of Computer Games Technology, 4, 1–10.

Zhou, S., Cai, W., Lee, B. S., & Turner, S. J. (2004). Time-space consistency in large-scale distributed virtual environments. ACM Transactions on Modeling and Computer Simulation, 14(1), 31–47.

CHAPTER 12 Scalability

  Introduction

  12.1 Service Architecture

    12.1.1 Awareness

    12.1.2 Cohorts, groups and service architecture

  12.2 Overview of interset management

  12.3 Spatial models

    12.3.1 Zone models

    12.3.2 Dynamic spatial models

    12.3.3 Visibility models

  12.4 Interset specification and interset management

    12.4.1 Interset expressions

    12.4.2 Interset management

    12.4.3 Examples of distributed interset management

  12.5 Separating interset management from network architecture

    12.5.1 Message routing and message filtering

    12.5.2 Filtering as a pipeline

    12.5.3 Routing and filtering examples

    12.5.4 Delegating group communication to the network layer

  12.6 Server partitioning

    12.6.1 Server tasks and static partitionings

    12.6.2 Seams and handovers

    12.6.3 Load balancing and dynamic partitioning

  12.7 Group communication services

    12.7.1 Reflectors and tunnels

    12.7.2 Automatic overlay multicast

    12.7.3 Gossiping for peer-to-peer communications

    12.7.4 Specific group communication routing service

  12.8 Peer to peer

    12.8.1 Unstructured peer-to-peer systems

    12.8.2 Structured peer-to-peer system

    12.8.3 Peer-to-peer support using DHTs

    12.8.4 Local interset systems

    12.8.5 Update-free regions and frontier sets

  12.9 Conclusions

  References

Abrams, H., Watsen, K., & Zyda, M. (1998). Three-tiered interest management for large-scale virtual environments. Proceedings of the ACM symposium on virtual reality software and technology. New York: ACM (pp. 125–129).

Andersen, D., Balakrishnan, H., Kaashoek, F., et al. (2001). Resilient overlay networks. ACM SIGOPS Operating Systems Review, 35(5), 131–145.

Androutsellis-Theotokis, S., & Spinellis, D. (2004). A survey of peer to peer content distribution technologies. ACM Computing Surveys, 36(4), 335–371.

Airey, E. J. M., Rohlf, J. H., & *s, Jr. F. P., (1990). Towards image realism with interactive update rates in complex virtual building environments. Computer Graphics (Proceedings of ACM symposium on interactive 3D graphics), 24(2), 41–50.

Backhaus, H., & Krause, S. (2009). QuON—a Quad-Tree based overlay protocol for distributed virtual worlds. Proceedings of the 2nd international workshop on massively multiuser virtual environments, March 2009.

Banerjee, S., Bhattacharjee, B., & Kommareddy, C. (2002). Scalable application layer multicast. Proceedings of the 2002 conference on applications, technologies, architectures, and protocols for computer communications. New York: ACM (pp. 205–217).

Barrus, J. W., Waters, R. C., & Anderson, D. B. (1996). Locales: Supporting large multiuser virtual environments. IEEE Computer Graphics and Applications, 16(6), 50–57.

Bassiouni, M., Williams, H., & Loper, M. (1991). Intelligent fltering algorithms for real-time networked simulators. Proceedings of IEEE conference on systems, man and cybernetics (pp. 309–314).

Bassiouni, M. A., Chiu, M., Loper, M., et al. (1997). Performance and reliability analysis of relevance fltering for scalable distributed interactive simulation. ACM Transactions on Modeling and Computation Simulation, 7(3), 293–331.

Bauer, D., Rooney, S., & Scotton, P. (2002). Network infrastructure for massively distributed games. Proceedings of the 1st workshop on network and system support for games. New York: ACM (pp. 36–43).

Baumgart, I., Heep, B., & Krause, S. (2007). OverSim: A Flexible overlay network simulation framework. Proceedings of 10th IEEE global internet symposium (GI 07) in conjunction with IEEE INFOCOM 2007 (pp. 79–84).

Beardsley, J. (2003). Seamless servers: The case for and against. Massively multiplayer game development. Charles River Media, Clifton Park, NY.

Benford, S. D., & Fahlén, L. E. (December 1992). Focus, aura and awareness. Proceedings of the 5th multi-G workshop. Stockholm, Sweden: KTH. Sweden: KTH.

Benford, S., Bowers, J., Fahlén, L., et al. (1994). Managing mutual awareness in collaborative virtual environments. Proceedings of virtual reality software and technology. World Scientifc Publishing (pp. 223–236).

Bharambe, A. R., Agrawal, M., & Seshan, S. (2004). Mercury: Supporting scalable multi-attribute range queries. SIGCOMM Computer Communication Review, 34(4), 353–366.

Bharambe, A., Pang, J., & Seshan, S. (2006). Colyseus: A distributed architecture for online multiplayer games. Proceedings of the 3rd conference on networked systems design & implementation—Volume 3. Berkeley, CA: USENIX Association (pp. 155–168).

Bharambe, A., Douceur, J. R., Lorch, J. R., et al. (2008). Donny*: Enabling large-scale, highspeed, peer to peer games. SIGCOMM Computer Communication Review, 38(4), 389–400.

Birman, K. P., Hayden, M., Ozkasap, O., et al. (1999). Bimodal multicast. ACM Transactions on Computer Systems, 17(2), 41–88.

Bittorrent. (2009). BitTorrent™. http://www.bittorrent.com/ accessed 25.06.09.

Blazevic, L., & Le Boudec, J. Y. (1999). Distributed Core Multicast (DCM): A multicast routing protocol for many groups with few receivers. ACM SIGCOMM Computer Communication Review, 29(5), 6–21.

Blizzard. (2009). Paid character transfer FAQ Part 1. http://www.us.blizzard.com/support/article.xml?articleId20558/ accessed 01.06.09.

Borner, K., & Penumarthy, S. (2003). Social diffusion patterns in three-dimensional virtual worlds. Information Visualization Journal, 2(3), 182–198.

Boukerche, A., Roy, A., & Thomas, N. (2000). Dynamic grid-based multicast group assignment in data distribution management. International symposium on distributed simulation and realtime applications, IEEE Computer Society (p. 47).

Broll, W. (1997). Distributed virtual reality for everyone—a framework for networked VR on the Internet. Proceedings virtual reality annual international symposium, IEEE (pp. 121–128).

Brutzman, D. P., Macedonia, M. R., & Zyda, M. (1995). Internetwork infrastructure requirements for virtual environments. Proceedings of the virtual reality modeling language (VRML) symposium. New York: ACM (pp. 95–104).

Bungie. (2009). Halo 3 Global Heatmaps. http://www.bungie.net/Online/Heatmaps.aspx/ accessed 15.06.09.

Botev, J., Hohfeld, A., Schloss, H., et al. (2008). The HyperVerse: Concepts for a federated and Torrent-based “3D Web”. International Journal Advanced Media Communication, 2(4), 331–350.

Capps, M., McGregor, D., Brutzman, D., et al. (2000). NPSNET-V: A new beginning for dynamically extensible virtual environments. IEEE Computer. Graphics and Applications, 20(5), 12–15.

Castro, M., Druschel, P., Kermarrec, A.-M., et al. (2002). Scribe: A large-scale and decentralized application-level multicast infrastructure. IEEE Journal on Selected Areas in Communications, 20(8), 1489–1499.

Castro, M., Druschel, P., Kermarrec, A., et al. (2003). SplitStream: High-bandwidth multicast in cooperative environments. Proceedings of the nineteenth ACM symposium on operating systems principles. New York: ACM (pp. 298–313).

CCP (2009) 51,675 pilots: 50k pcu barrier smashed, http://www.eveonline.com/news.asp?a=single&nid=2765, Accessed 15.06.09.

Chawathe, Y., Ratnasamy, S., Breslau, L., et al. (2003). Making gnutella-like P2P systems scalable. Proceedings of the 2003 conference on applications, technologies, architectures, and protocols for computer communications. New York: ACM (pp. 407–418).

Chen, J., Wu, B., Delap, M., et al. (2005). Locality aware dynamic load management for massively multiplayer games. Proceedings of the tenth ACM SIGPLAN symposium on principles and practice of parallel programming. New York: ACM (pp. 289–300).

Chu, Y., Rao, S. G., & Zhang, H. (2000). A case for end system multicast. Proceedings of the 2000 ACM SIGMETRICS international conference on measurement and modeling of computer systems. New York: ACM (pp. 1–12).

Cohen-Or, D., Chrysanthou, Y., Silva, C., et al. (2003). A survey of visibility for walk-through applications. IEEE Transactions on Visualization and Computer Graphics, 9(3), 412–431.

Cronin, E., Filstrup, B., Kurc, A. R., et al. (2002). An effcient synchronization mechanism for mirrored game architectures. Proceedings of the 1st workshop on network and system support for games. New York: ACM (pp. 67–73).

Das, T. K., Singh, G., Mitchell, A., et al. (1997). NetEffect: A network architecture for large-scale multi-user virtual worlds. Proceedings of the ACM symposium on virtual reality software and technology. New York: ACM (pp. 157–163).

De Candia, G., Hastorun, D., Jampani, M., et al. (2007). Dynamo: Amazon’s highly available keyvalue store. ACM SIGOPS Operating Systems Review, 41(6), 205–220.

De Oliveira, J., & Georganas, N. D. (2003). VELVET: An adaptive hybrid architecture for very large virtual environments. Presence: Teleoperators and Virtual Environments, 12(6), 555–580.

De Vleeschauwer, B., Van Den Bossche, B., Verdickt, T., et al. (2005). Dynamic microcell assignment for massively multiplayer online gaming. Proceedings of 4th ACM SIGCOMM workshop on network and system support for games. New York: ACM (pp. 1–7).

Delaney, D., Ward, T., & McLoone, S. (2006). On consistency and network latency in distributed interactive applications: A survey — part II. Presence: Teleoperators and Virtual Environments, 15(4), 465–482.

Diot, C., Levine, B., Kassem, H., et al. (2000). Deployment issues for the IP Multicast service architecture. IEEE Network, 14(1), 78–88.

Dourish, P., & Bellotti, V. (1992). Awareness and coordination in shared workspaces. Proceedings of the ACM conference on computer-supported cooperative work. New York: ACM (pp.107–114).

El Merhebi, S., Hoelt, J. C., Torguet, P., et al. (2006). Perception based fltering for MMOGs. International Journal of Computer Games Technology, Joint International Conference on Cyber Games and Interactive Entertainment, Article ID: 243107.

El-Sayed, A., Roca, V., & Mathy, L. (2003). A survey of proposals for an alternative group communication service. IEEE Network, 17(1), 46–51.

eMule. (2009). eMule. http://www.emule-project.net/ accessed 25.06.09.

Eugster, P. T., Guerraoui, R., Handurukande, S. B., et al. (2001). Lightweight probabilistic broadcast. Proceedings of the 2001 international conference on dependable systems and networks. Washington, DC: IEEE Computer Society (pp. 443–452).

Ericksson, H. (1994). MBONE: The multicast backbone. Communications of the ACM, 37(8), 54–60.

Feng, W., Brandt, D., & Saha, D. (2007). A long-term study of a popular MMORPG. Proceedings of the 6th ACM SIGCOMM workshop on network and system support for games. New York: ACM (pp. 19–24).

Floyd, S., & Jacobson, V. (1993). Random early detection gateways for congestion avoidance. IEEE/ACM Transactions on Networking, 1(4), 397–413.

Frécon, E., Greenhalgh, C., & Stenius, M. (1999). The DiveBone—an application-level network architecture for Internet-based CVEs. Proceedings of the ACM symposium on virtual reality software and technology (London, United Kingdom, December 20–22, 1999) (pp. 58–65). VRST ‘99. New York: ACM.

Freenet. (2009). Freenet, the free network. http://freenetproject.org/http://freenetproject.org/accessed 25.06.09.

Fuchs, H., Kedem Z. M., & Naylor, B. F. (1980). On visible surface generation by a priori tree structures. Computer Graphics (Proceedings of ACM SIGGRAPH 80), 14(3), New York: ACM, 124–133.

Funkhouser, T. A. (1995). RING: A client–server system for multi-user virtual environments.Proceedings of the 1995 symposium on interactive 3D graphics. New York: ACM (pp. 85–92).

Funkhouser, T. A. (1996). Network topologies for scalable multi-user virtual environments. Proceedings of the 1996 virtual reality annual international symposium. IEEE Computer Society (pp. 222–228).

GauthierDickey, C., Lo, V., & Zappala, D. (2005). Using n-trees for scalable event ordering in peer to peer games. Proceedings of the international workshop on network and operating systems support for digital audio and video. New York: ACM (pp. 87–92).

Goldin, A., & Gotsman, C. (2004). Geometric message-fltering protocols for distributed multiagent environments. Presence: Teleoperators and Virtual Environments, 13(3), 279–295.

Greenhalgh, C. (1999). Large scale collaborative virtual environments. Springer-Verlag, London, UK.

Greenberg, S., & Roseman, M. (1998). Using a room metaphor to ease transitions in groupware. Research report, 98/611/02, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada, January.

Gutwin, C., & Greenberg, S. (2002). A descriptive framework of workspace awareness for real-time groupware. Computer Supported Cooperating Work, 11(3), 411–446.

Hall, R., & Novak, J. (2008). Game development essentials: Online game development. Delmar Learning, Clifton Park, NY.

Honda, Y., Matsuda, K., Rekimoto, J., et al. (1995). Virtual society: Extending the WWW to support a multi-user interactive shared 3D environment. Proceedings of the 1995 symposium on virtual reality modeling language. New York: ACM (pp. 109–116).

Hosseini, M., Ahmed, D. T., Shirmohammadi, S., et al. (2007). A survey of application-layer multicast protocols. IEEE Communications Surveys & Tutorials, 9(3), 58–74.

Hu, S., & Liao, G. (2004). Scalable peer to peer networked virtual environment. Proceedings of 3rd ACM SIGCOMM workshop on network and system support for games. New York: ACM (pp.129–133).

Hu, S., Chen, J., & Chen, T. (2006). VON: A scalable peer to peer network for virtual environments. IEEE Network, 20(4), 22–31.

Icking, C., Klein, R, Köllner, P., et al. (2001). VoroGlide. http://www.pi6.fernuni-hagen.de/ GeomLab/VoroGlide/index.html.en/ accessed 25.06.09.

IdSoftware. (1997). Quake II. http://www.idsoftware.com/games/quake/quake2/ .

IEEE. (1993). International Standard, ANSI/IEEE Std 1278–1993, Standard for Information Technology, Protocols for Distributed Interactive Simulation, March 1993.

IETF. (2007). RFC5058: Explicit multicast (Xcast) concepts and options. http://www.ietf.org/rfc/rfc5058.txt/ accessed 25.06.09.

Iimura, T., Hazeyama, H., & Kadobayashi, Y. (2004). Zoned federation of game servers: A peer to peer approach to scalable multi-player online games. Proceedings of 3rd ACM SIGCOMM workshop on network and system support for games. New York: ACM (pp. 116–120).

Jannotti, J., Gifford, D. K., Johnson, K. L., et al. (2000). Overcast: Reliable multicasting with on overlay network. Proceedings of the 4th conference on symposium on operating system design& implementation—Volume 4. Berkeley, CA: USENIX Association (pp. 197–212).

Jiang, J., Huang, Y., & Hu, S. (2008). Scalable AOI-cast for peer to peer networked virtual environments. Proceedings of the 28th international conference on distributed computing systems workshops. IEEE Computer Society (pp. 447–452).

Karp, B., Ratnasamy, S., Rhea, S., et al. (2004). Spurring Adoption of DHTs with OpenHash, a Public DHT Service. Proceedings of the 3rd international workshop on peer to peer systems (IPTPS 2004), lecture notes in computer science (vol. 3279, pp. 195–205). Springer.

Kawahara, Y., Morikawa, H., & Aoyama, T. (2002). A peer to peer message exchange scheme for large scale networked virtual environments. Proceedings of 8th IEEE international conference on communications systems. IEEE Computer Society (pp. 957–961).

Kazman, R. (1993). Making WAVES: On the design of architectures for low-end distributed virtual environments. Proceedings of the IEEE virtual reality annual international symposium, IEEE (pp. 443–449).

Keller, J., & Simon, G. (2003). Solipsis: A massively multi-participant virtual world. Proceedings international conference on parallel and distributed techniques and applications. CSREA Press (pp. 262–268).

Kempe, D., Kleinberg, J., & Demers, A. (2001). Spatial gossip and resource location protocols. Proceedings of the thirty-third annual ACM symposium on theory of computing. New York: ACM (pp. 163–172).

Knutsson, B., Lu, H., Xu, W., et al. (2004). Peer to peer support for massively multiplayer games. Proceedings of IEEE Infocom (pp. 96–107).

Kushner, D. (2005). Engineering Everquest. IEEE Spectrum, July, 34–39.

Lee, K., & Lee, D. (2003). A scalable dynamic load distribution scheme for multi-server distributed virtual environment systems with highly-skewed user distribution. Proceedings of the ACM symposium on virtual reality software and technology. New York: ACM (pp. 160–168).

Lee, D., Lim, M., Han, S., & et al. (2007). ATLAS: A scalable network framework for distributed virtual environments. Presence: Teleoperators and Virtual Environments, 16(2), 125–156.

Leibowitz, N., Ripeanu, M., & Wierzbicki, A. (2003). Deconstructing the Kazaa network. Proceedings of the third IEEE workshop on internet applications. IEEE Computer Society (pp. 112–120).

Levine, B.N., & Garcia-Luna-Aceves, J. (1997). Improving internet multicast with routing labels. Proceedings IEEE international conference on network protocols (pp. 241–250).

Levine, B., Crowcroft, J., Diot, C., et al. (2000). Consideration of receiver interest for IP Multicast delivery. Proceedings of INFOCOM 2000, IEEE (pp. 470–479).

Liebeherr, J., & Nahas, M. (2001). Application-layer multicast with delaunay triangulations. Proceedings IEEE INFOCOM (pp. 1651–1655).

Lim, M., & Lee, D. (2009). A task-based load distribution scheme for multi-server-based distributed virtual environment systems. Presence: Teleoperators and Virtual Environments, 18(1), 16–38.

Limewire. (2009).Gnutella protocol specifcation.http://wiki.limewire.org/index.php?title=GDF/ accessed 25.06.09.

Live555. (2009). LiveGate™. http://www.live555.com/liveGate/ accessed 15.06.09.

Lua, E. K., Crowcroft, J., Pias, M., et al. (2005). A survey and comparison of peer to peer overlay network schemes. IEEE Communications Surveys & Tutorials, 7(2), 72–93.

Luebke, D., Reddy, M., Cohen, J., et al. (2002). Level of detail for 3D graphics by Morgan Kaufmann.

Lui, J. C., & Chan, M. F. (2002). An effcient partitioning algorithm for distributed virtual environment systems. IEEE Transactions on Parallel and Distributed Systems, 13(3), 193–211.

Macedonia, M. R., Zyda, M. J., Pratt, D. R., et al. (1994). NPSNET: A network software architecture for large scale virtual environments. Presence: Teleoperators and Virtual Environments, 3(4), 265–287.

Macedonia, M. R. (1995). A network software architecture for large scale virtual environments, Ph.D. Dissertation, Naval Postgraduate School, Monterey, California, June 1995.

Macedonia, M. R., Zyda, M. J., Pratt, D. R., et al. (1995). Exploiting reality with multicast groups. IEEE Computer Graphics and Applications, 15(5), 38–45.

Makbili, Y., Gotsman, C., & Bar-Yehuda, R. (1999). Geometric algorithms for message fltering in decentralized virtual environments. Proceedings of the ACM symposium on interactive 3D graphics (pp. 39–46).

Maymounkov, P., & Mazières, D. (2002). Kademlia: A peer to peer information system based on the XOR metric. Revised Papers from the First International Workshop on Peer to Peer Systems, Lecture Notes in Computer Science (Vol. 2429, pp. 53–65). London: Springer-Verlag.

Moen, D., & Pullen, J. (2003). Enabling real-time distributed virtual simulation over the internet using host-based overlay multicast. Proceedings of the 7th IEEE distributed simulation and real time applications workshop. IEEE Computer Society (pp. 30–36).

Morillo, P., Orduna, J. M., Fernández, M., et al. (2005). Improving the performance of distributed virtual environment systems. IEEE Transactions on Parallel Distributed Systems, 16(7), 637–649.

Morillo, P., Moncho, W., Orduña, J. M., et al. (2006). Providing full awareness to distributed virtual environments based on peer to peer architectures, Advances in Computer Graphics, Lecture Notes in Computer Science (Vol. 4035, pp. 336–347). Berlin/Heidelberg: Springer.

Morse, K. L. (1996). Interest management in large-scale distributed simulations. Technical Report ICS-TR-96-27, University of California, Irvine.

Morse, K. L., Bic, L., & Dillencourt, M. (2000). Interest management in large-scale virtual environments. Presence: Teleoperators and Virtual Environments, 9(1), 52–68.

Morse, K. L, & Zyda, M. (2002). Multicast grouping for data distribution management. Simulation Practice and Theory, 9(3–5), 121–141.

Mulligan, J., & Patrovsky, B. (2003). Developing online games: An insider’s guide. New Riders, Indianapolis, IN.

Ng, B., Si, A., Lau, R. W., et al. (2002). A multi-server architecture for distributed virtual walkthrough. Proceedings of the ACM symposium on virtual reality software and technology. New York: ACM (pp. 163–170).

Oliveira, M., Crowcroft, J., & Diot, C. 2000. Router level fltering for receiver interest delivery. In Proceedings of NGC 2000 on Networked Group Communication (Palo Alto, California, United States, November 08 – 10, 2000). COMM ’00. ACM, New York: 141–150.

Oram, A. (2001). Peer to peer: Harnessing the power of disruptive technologies. O’Reilly Media, Sebastopol, CA.

Palazzi, C. E., Ferretti, S., Cacciaguerra, S., et al. (2004). On maintaining interactivity in event delivery synchronization for mirrored game architectures. IEEE Global Telecommunications Conference Workshops (pp. 157–165).

Parnes, P., Synnes, K., & Schefstrom, D. (1998). Lightweight application level multicast tunneling using mtunnel. Computer Communication, 21(15), 1295–1301.

Pekkola, S., Robinson, M., Saarinen, M. O., et al. (2000). Collaborative virtual environments in the year of the dragon. Proceedings of the third international conference on caborative virtual environments. New York: ACM (pp. 11–18).

Pereira, J., Rodrigues, L., Monteiro, M. J., et al. (2003). NEEM: Network-Friendly Epidemic Multicast.IEEE Symposium on Reliable Distributed Systems, IEEE (pp. 15–24).

Pittman, D., & GauthierDickey, C. (2007). A measurement study of virtual populations in massively multiplayer online games. Proceedings of the 6th ACM SIGCOMM workshop on network and system support for games. New York: ACM (pp. 25–30).

Ploss, A., Wichmann, S., Glinka, F., et al. (2008). From a single- to multi-server online game: A Quake 3 case study using RTF. Proceedings of the 2008 international conference on advances in computer entertainment technology (Vol. 352, pp 83–90). New York: ACM.

Rak, S. J., & Van Hook, D. J. (1996). Evaluation of grid-based relevance fltering for multicast group assignment. 14th Workshop on Standards for Interoperability of Defense Simulations. Orlando, FL, March 1996.

Ratnasamy, S., Francis, P., Handley, M., et al. (2001). A scalable content-addressable network. Proceedings of the 2001 conference on applications, technologies, architectures, and protocols for computer communications. New York: ACM (pp. 161–172).

Ratnasamy, S., Handley, M., Karp, R.M., et al. (2001). Application-level multicast using contentaddressable networks. Proceedings of the third international cost264 workshop on networked group communication, lecture notes in computer science (Vol. 2233, pp. 14–29). London: Springer-Verlag.

Rodden, T. (1996). Populating the application: A model of awareness for cooperative applications. Proceedings of ACM conference on computer-supported cooperative work (pp. 87–96).

Rowstron, A., & Druschel, P. (2001). Pastry: Scalable, distributed object location and routing for large-scale peer to peer systems. Proceedings IFIP/ACM middleware 2001, lecture notes in computer science (Vol. 2218, pp. 329–350). London: Springer.

Rueda, S., Morillo, P., Orduña, J. M., et al. (2007). On the characterization of peer to peer distributed virtual environments. Proceedings of the IEEE virtual reality 2007. IEEE Computer Society Press (pp. 107–114).

Saroiu, S., Gummadi, K. P., Dunn, R. J., et al. (2002). An analysis of Internet content delivery systems. ACM SIGOPS Operating Systems Review, 36, 315–327.

Singhal, S. K. (1996). Effective remote modeling in large-scale distributed simulation and visualization environments. Ph.D Dissertation. Department of Computer Science, Stanford University (August 1996).

Singhal, S., & Zyda, M. (1999). Networked virtual environments: Design and implementation. ACM Press, New York, NY.

Steed, A., & Abou-Haidar, R. (2003). Partitioning crowded virtual environments. Proceedings of 10th ACM symposium on virtual reality software and technology. ACM Press (pp. 7–14).

Steed, A., & Angus, C. (2005). Supporting scalable peer to peer virtual environments using frontier sets. Proceedings of IEEE conference on virtual reality. Washington, DC: IEEE Computer Society (pp. 27–34).

Steed, A., & Angus, C. (2006). Enabling scalability by partitioning virtual environments using frontier sets. Presence: Teleoperators and Virtual Environments, 15(1), 77–92.

Steed, A., & Bingshu, Z. (2008). An implementation of a frst-person game on a hybrid network. 1st International Workshop on Massively Multiuser Virtual Environments. http://www.peersat-play.org/MMVE08/http://peers-at-play.org/MMVE08/ accessed 25.06.09.

Stoica, I., Morris, R., Liben-Nowell, D., et al. (2003). Chord: A scalable peer to peer lookup protocol for internet applications. IEEE/ACM Transactions on Networking, 11(1), 17–32.

Stoica, I., Adkins, D., Zhuang, S., et al. (2004). Internet indirection infrastructure. IEEE/ACM Transactions on Networking, 12(2), 205–218.

Teller, S. J., & Sequin, C. H. (1991). Visibility preprocessing for interactive walkthroughs. Computer Graphics (Proceedings of SIGGRAPH 91), 25(4), 61–90.

Thawonmas, R., Kurashige, M., & Chen, K. T (2007). Detection of landmarks for clustering of online-game players. The International Journal of Virtual Reality, 6(3), 11–16.

Trefftz, H., Marsic, I., & Zyda, M. (2003). Handling heterogeneity in networked virtual environments. Presence: Teleoperators and Virtual Environments, 12(1), 37–51.

Van Hook, D. J., Rak, S., & Calvin, J. O. (1994). Approaches to relevance fltering. Proceedings of the 11th workshop on standards for the interoperability of distributed simulation (pp. 367–369).

Varvello, M., Diot, C., & Biersack, E. (2009). P2P Second Life: Experimental validation using Kad. INFOCOM 2009, The 28th Conference on Computer Communications (pp. 1161–1169).

VAST Development Team. (2009). VAST related work. http://vast.sourceforge.net/relatedwork.php/ accessed 25.06.09.

Waitzman, D., Partridge, C., Deering, S. (1988) Distance Vector Multicast Routing Protocol, RFC 1075, tools.ietf.org/html/rfc1075

Webb, S. D., Lau, W., & Soh, S. (2006). NGS: An application layer network game simulator. Proceedings of the 3rd Australasian conference on interactive entertainment, ACM international conference proceeding series (Vol. 207, pp. 15–22).

Webb, S. D., Soh, S., & Lau, W. (2007). Enhanced mirrored servers for network games. Proceedings of the 6th ACM SIGCOMM workshop on network and system support for games. New York: ACM (pp. 117–122).

Wikipedia Contributors. (2009). Gnutella. http://en.wikipedia.org/wiki/Gnutella/ accessed 25.06.09.

Wong, T., Katz, R.H., & McCanne, S. (1999). A preference clustering protocol for large-scale multicast applications. Proceedings of the frst international cost264 workshop on networked group communication, lecture notes in computer science (Vol. 1736, pp. 1–18). London: Springer-Verlag.

WoW. (2009). World of warcraft realm status.  http://www.worldofwarcraft.com/realmstatus/ accessed 01.06.09.

XCAST. (2009). XCAST-Wiki. http://www.xcast.jp/index.php/Main_Page/ accessed 25.06.09.

Zhao, B. Y., Huang, L., Strinling, J., et al. (2004). Tapestry: A resilient global-scale overlay for service deployment. IEEE Journal on Selected Areas in Communications, 22(1), 41–53.

Zhuang, S. Q., Zhao, B. Y., Joseph, A. D., et al. (2001). Bayeux: An architecture for scalable and fault-tolerant wide-area data dissemination. Proceedings of the 11th international workshop on network and operating systems support for digital audio and video. New York: ACM (pp. 11–20).

Zou, L., Ammar, M., & Diot, C. (2001). An evaluation of grouping techniques for state dissemination in networked multi-user games. Proceedings of the ninth international symposium on modelling, analysis, and simulation of computer and telecommunication systems
(pp. 33–40).

CHAPTER 13 Application Support Issues

  Introduction

  13.1 Security and cheating

    13.1.1 Client-side attacks

    13.1.2 Network level

    13.1.3 Server side

    13.1.4 Social

    13.1.5 Repercussion

  13.2 Binary protocols and compression

    13.2.1 Binary encodings

    13.2.2 Compression

  13.3 Streaming

    13.3.1 Audio and video

    13.3.2 Geometry and animation

    13.3.3 Mixing and grouping

  13.4 Revisiting the protocol decision

  13.5 Persistent and tiered services

  13.6 Clusters

    13.6.1 Multidisplay systems

    13.6.2 Massive models

  13.7 Thin clients

  13.8 Conclusions

  References

Abrash, M. (2000). Ramblings in realtime, Chapter 6: Quake’s 3D engine—The big picture. http://www.bluesnews.com/abrash/contents.shtml/ accessed 16.07.09.

AccessGrid. (2009). AccessGrid. http://www.accessgrid.org/. accessed 16.07.09.

Allard, J., Gouranton, V., Lamarque, G., et al. (2003). Softgenlock: Active stereo and Genlock for PC Cluster. Proceedings of the immersive projection technology and virtual environments workshop (pp. 255–260).

Allard, J., Gouranton, V., Lecointre, L., et al. (2004). FlowVR: A middleware for large scale virtual reality applications. Proceedings of EUROPAR, lecture notes in computer science (Vol. 3149, pp. 497–505). Springer Verlag.

Austerberry, D. (2005). The technology of video & audio streaming (2nd ed.). Focal Press, Oxford, UK

AVATS Project. (2009). Media tools repository. http://mediatools.cs.ucl.ac.uk/nets/mmedia/wiki/. accessed 16.07.09.

Baughman, N. E. & Levine, B. N. (2001). Cheat-proof playout for centralized and distributed online games. Proceedings INFOCOM 2001. Twentieth Annual Joint Conference of the IEEE Computer and Communications Societies, Volume 1, pp. 104–113, Washington, DC: IEEE

BBC. (2009). Billions stolen in online robbery, 3 July 2009. http://news.bbc.co.uk/1/hi/technology/8132547.stm/. accessed 16.07.09.

Beardsley, J. (2003). Seamless servers: The case for and against, massively multiplayer game development. Charles River Media, Clifton Park, NY.

Bierbaum, A., Hartling, P., Morillo, P., et al. (2005). Immersive clustering with VR Juggler. Proceedings international conference in computational science and its applications (ICCSA-2005), Singapore, Lecture Notes in Computer Science (Vol. 3482, pp. 1109–1118). Berlin: Springer.

Boukerche, A., & Dzermajko, C. (2004). Scalability and performance evaluation of an aggregation/disaggregation scheme for data distribution management in large-scale distributed interactive systems. Proceedings of the thirty seventh annual symposium on simulation. Washington, DC: IEEE Computer Society (pp. 238–245).

Capps, M. V., & Teller, S. J. (1997). Communication visibility in shared virtual worlds. Proceedings of the sixth workshop on enabling technologies on infrastructure for collaborative enterprises. Washington, DC: IEEE Computer Society (pp. 187–192).

Chambers, C., Feng, W., Feng, W., et al. (2005). Mitigating information exposure to cheaters in real-time strategy games. Proceedings of the international workshop on network and operating systems support for digital audio and video. New York, NY: ACM Press (pp. 7–12).

Chen, K., Jiang, J., Huang, P., et al. (2006). Identifying MMORPG bots: A traffc analysis approach. Proceedings of the 2006 ACM SIGCHI international conference on advances in computer entertainment technology (Vol. 266, p. 4). New York, NY: ACM.

Chen, K., Liao, A., Pao, H. K., et al. (2009). Game bot detection based on avatar trajectory. Proceedings of the seventh international conference on entertainment computing, lecture notes in computer science (Vol. 5309, pp. 94–105). Berlin, Heidelberg: Springer-Verlag.

Cheng, W., & Ooi, W. T. (2008). Receiver-driven view-dependent streaming of progressive mesh. Proceedings of the eighteenth international workshop on network and operating systems support for digital audio and video. New York: ACM (pp. 9–14).

Chim, J. H., Lau, R. W., Si, A., et al. (1998). Multi-resolution model transmission in distributed virtual environments. Proceedings of the ACM symposium on virtual reality software and technology. New York: ACM (pp. 25–34).

Cronin, E., Filstrup, B., & Jamin, S. (2003). Cheat-proofng dead reckoned multiplayer games. Proceedings of application and development of computer games. City University of *, China.

Data Compression Wiki Contributors. (2009). http://datacompression.dogma.net/index.php?titleFAQ: What_is_the_V.42bis_standard%3F/. accessed 16.07.09.

David, S. (2003). Why cheating matters, Presented at Game Developer’s Conference. http://www.secureplay.com/papers/docs/WhyCheatingMatters.pdf/. accessed 16.07.09.

Dietrich, A., Gobbetti, E., Manocha, D., et al. (2008). Interactive massive model rendering ACM SIGGRAPH ASIA 2008 Courses. New York: ACM 1–5.

Eddy, W. (2007). TCP SYN flooding attacks and common mitigations, RFC 4987. http://tools. ietf.org/html/rfc4987/. accessed 16.07.09.

Ericksson, H. (1994). MBONE: The multicast backbone. Communications of the ACM, 37(8), 54–60.

Even Balance. (2009). PunkBuster. http://www.evenbalance.com/. accessed 16.07.09.

Hoglund, G., & McGraw, G. (2007). Exploiting online games: Cheating massively distributed systems. Addison-Wesley Professional. GameSpy. (2009). Roger Wilco. http://rogerwilco.gamespy.com/. Accessed 16.07.09.

GauthierDickey, C., Zappala, D., Lo, V., et al. (2004). Low latency and cheat-proof event ordering for peer-to-peer games. Proceedings of the fourteenth international workshop on network and operating systems support for digital audio and video. New York: ACM (pp. 134–139).

di Giacomo, T., Kim, H., Garchery, S., et al. (2006). Dynamically adaptive streaming of 3D data for animated characters, Game Programming Gems 6. Charles River Media. Clifton Park, NY.

Goodman, J., & Verbrugge, C. (2008). A peer auditing scheme for cheat elimination in MMOGs. Proceedings of the seventh ACM SIGCOMM workshop on network and system support for games. New York: ACM (pp. 9–14).

Goel, A., Krasic, C., Li, K., & Walpole, J. (2002). Supporting low latency TCP-based media streams. Tenth IEEE International Workshop on Quality of Service, IEEE (pp. 193–203).

Greenhalgh, C., & Benford, S. (1999). Supporting rich and dynamic communication in large-scale collaborative virtual environments. Presence: Teleoperators and Virtual Environments, 8(1), 14–35.

Griwodz, C., & Halvorsen, P. (2006). The fun of using TCP for an MMORPG. Proceedings of the 2006 international workshop on network and operating systems support for digital audio and video. New York: ACM (pp. 1–7).

Gutwin, C., Fedak, C., Watson, M., et al. (2006). Improving network effciency in real-time groupware with general message compression. Proceedings of the conference on computer supported cooperative work. New York: ACM (pp. 119–128).

Hesina, G., Schmalstieg, D., Furhmann, A., et al. (1999). Distributed Open Inventor: A practical approach to distributed 3D graphics. Proceedings of the ACM symposium on virtual reality software and technology (London, United Kingdom, December 20–22, 1999) , VRST ‘99(pp. 74–81). New York, NY: ACM.

Hicke, J. (2005). Delta-compression for heterogeneous data transfer, massively multiplayer game development 2. Charles River Media. Clifton Park, NY.

Hook, B. (2009). The Quake3 networking model. http://trac.bookofhook.com/bookofhook/trac. cgi/wiki/Quake3Networking/. accessed 16.07.09.

Hoppe, H. (1996). Progressive meshes. Proceedings of the twenty-third annual conference on computer graphics and interactive techniques, SIGGRAPH ‘96 (pp. 99–108). New York: ACM.

Huffman, D. A. (1952). A method for the construction of minimum-redundancy codes. Proceedings of the institute of radio engineers, 40(9), 1098–1102.

Humphreys, G., Houston, M., Ng, R., et al. (2002). Chromium: A stream-processing framework for interactive rendering on clusters. ACM Transactions on Graphics, 21(3), 693–702.

Ianelli, N., & Hackworth, A. (2005). Botnets as a vehicle for online crime. CERT Coordination Center, Pittsburgh, PA. http://www.cert.org/archive/pdf/Botnets.pdf/. accessed 16.07.09.

Intersense. (2009). Intersense IS-900. http://www.isense.com/. accessed 16.07.09.

Isensee, P. (2002). Secure sockets. Game Programming Gems 3. Charles River Media, Clifton Park, NY.

Isensee, P. (2004). Bit packing: A network compression technique. Game Programming Gems 4.Charles River Media, Clifton Park, NY.

Jacobson, J., & Lewis, M. (2005). Game engine virtual reality with CaveUT. IEEE Computer, 38(4), 79–82.

Kim, H., Hong, S., & Kim, J. (2005). Detection of auto programs for MMORPGs. AI 2005: Advances in Artifcial Intelligence, Lecture Notes in Computer Science (Vol. 3809, pp. 1281–1284).

Kim, J., Lee, S., & Kobbelt, L. (2004). View-dependent streaming of progressive meshes. Proceedings of shape modeling and applications. Washington, DC: IEEE Computer Society (pp. 209–220).

Koster, R. (2009). The laws of online world design. http://www.raphkoster.com/gaming/laws. shtml/. accessed 16.07.09.

Kushner, D. (2005). Engineering Everquest. IEEE Spectrum, July, 34–39.

Mamou, K., Zaharia, T., & Preteux, F. (2008). FAMC: The MPEG-4 standard for Animated Mesh Compression, International Conference on Image Processing, IEEE (pp. 2676–2679).

MMOGlider. (2009). Glider. http://www.mmoglider.com/. accessed 16.07.09.

Molnar, S., Cox, M., Ellsworth, D., et al. (1994). A sorting classifcation of parallel rendering. IEEE Computer Graphics & Applications, 14(4), 23–32.

Morillo, P., Bierbaum, A., Hartling, P., et al. (2008). Analyzing the performance of a clusterbased architecture for immersive visualization systems. Journal of Parallel and Distributed Computing, 68(2), 221–234.

Mueller, C. (1995). The sort-frst rendering architecture for high-performance graphics. Proceedings of the 1995 symposium on interactive 3D Graphics. New York: ACM (pp. 75–83).

Mumble. (2009). http://mumble.sourceforge.net/. accessed 16.07.09.

OnLive Inc. (2009). OnLive®. http://www.onlive.com/. accessed 16.07.09.

OpenSG. (2009). http://opensg.vrsource.org/. accessed 08.04.09.

Parent, R. (2001). Computer animation: Algorithms and techniques. Morgan-Kaufmann, San Fransisco, CA.

Park, S., Lee, D., Lim, M., et al. (2001). Scalable data management using user-based caching and prefetching in distributed virtual environments. Proceedings of the ACM symposium on virtual reality software and technology. New York: ACM (pp. 121–126).

Peng, J., Kim, C. S., & Kuo, C. C. J. (2005). Technologies for 3D mesh compression: A survey. Journal of Visual Communication and Image Representation, 16(6), 688–733.

Perkins, C. S., Hodson, O., & Hardman, V. (1998). A survey of packet-loss recovery techniques for streaming audio. IEEE Network Magazine, September/October.

Perkins, C. (2003). RTP:Audio/video Transport for the Internet, Addison-Wesley Professional.

Petlund, A., Evensen, K., Halvorsen, P., et al. (2008). Improving application layer latency for reliable thin-stream game traffc. Proceedings of the seventhth ACM SIGCOMM workshop on network and system support for games. New York: ACM (pp. 91–96).

Popescu, G. V., & Codella, C. F. (2002). An architecture for QoS data replication in network virtual environments. In: Proceedings of the IEEE virtual reality conference 2002. Washington, DC: IEEE Computer Society (pp. 41–48).

Poulin, M. (2005). Anti-cheat mechanisms for massively multiplayer games, massively multiplayer game development 2. Charles River Media, Clifton Park, NY.

Pritchard, M, (2000). How to hurt the hackers: The scoop on internet cheating and how you can combat it. Game Developer, June. http://www.gamasutra.com/features/20000724/pritchard_01.htm/. accessed 16.07.09.

Radenkovic, M. (2004). A framework for building and deploying multiparty audio service for collaborative environments. Presence: Teleoperators and Virtual Environments, 13(6), 708–725.

Raffn, B., & Soares, L. (2006). PC clusters for virtual reality. Proceedings of the IEEE Conference on Virtual Reality. Washington, DC: IEEE Computer Society (pp. 215–222).

Raymond, E. S. (1999). The case of the quake cheats. http://catb.org/esr/writings/quake-cheats.html/. accessed 16.07.09.

Rosenberg, J., Schulzrinne, H., Camarillo, G., et al. (2002). SIP: Session initiation protocol, RFC 3261.http://tools.ietf.org/rfc/rfc3261.txt/. accessed 16.07.09.

Royan, J., Gioia, P., Cavagna, R., et al. (2007). Network-based visualization of 3d landscapes and city models. IEEE Computer Graphics and Applications, 27(6), 70–79.

Rusinkiewicz, S., & Levoy, M. (2001). Streaming QSplat: A viewer for networked visualization of large, dense models. Proceedings of the 2001 symposium on interactive 3D graphics. New York: ACM (pp. 63–68).

Sahm, J., Soetebier, I., & Birthelmer, H. (2004). Effcient representation and streaming of 3d scenes. Computers & Graphics, 28(1), 15–24.

Samanta, R., Funkhouser, T., Li, K., et al. (2000). Hybrid sort-frst and sort-last parallel rendering with a cluster of PCs. Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on graphics hardware. New York: ACM (pp. 97–108).

Schaeffer, B., & Goudeseune, C. (2003). Syzygy: Native PC cluster VR. Proceedings of IEEE virtual reality. IEEE Computer Society (pp. 15–22).

Schaeffer, B., Brinkmann, P., Francis, G., et al. (2005). Myriad: Scalable VR via peer-to-peer connectivity, PC clustering, and transient inconsistency. Proceedings of the ACM symposium on virtual reality software and technology. New York: ACM (pp. 68–77).

Schaufler, G., & Sturzlinger, W. (1996). A three dimensional image cache for virtual reality. Computer Graphics Forum, 15(3), 227–235.

Schmalstieg, D., & Gervautz, M. (1996). Demand-driven geometry transmission for distributed virtual environments. Computer Graphics Forum, 15(3), 421–433.

Schulzrinne, H., Rao, A., & Lanphier, R. (1998). Real time streaming protocol (RTSP), RFC 2326. http://www.ietf.org/rfc/rfc2326.txt/. accessed 16.07.09.

Schulzrinne, H., Casner, S., Frederick, R., et al. (2003). RTP: A transport protocol for real-time applications, RFC 3550. http://www.ietf.org/rfc3550.txt/. accessed 16.07.09.

SGI. (2009). OpenGL Vizserver. http://www.sgi.com/products/software/vizserver/. accessed 16.07.09.

Singhal, S.K. & Cheriton, D.R. (1996). Using Projection Aggregations to Support Scalability in Distributed Simulation, Proceedings of the 16th International Conference on Distributed Computing Systems, *, May 1996. Washington, DC, IEEE Computer Society

Street, S. (2005). Keeping a massively multiplayer online game massive, online, and persistent. Game Programming Gems 5. Charles River Media, Clifton Park, NY.

Sun Microsystems Inc. (2009). Scene graph superstructure. http://java.sun.com/javase/technologies/desktop/java3d/forDevelopers/J3D_1_3_API/j3dguide/VirtualUniverse.html/. accessed 16.07.09.

Teler, E., & Lischinski, D. (2001). Streaming of complex 3D scenes for remote walkthroughs.Computer Graphics Forum, 20(3), 17–25.

Thawonmas, R., Kashifuji, Y., & Chen, K. (2008). Detection of MMORPG bots based on behavior analysis. Proceedings of the 2008 international conference on advances in computer entertainment technology (Vol. 352, pp. 91–94). New York: ACM.

VRCO. (2009a). CAVElib™. http://www.vrco.com/. accessed 16.07.09.

VRCO. (2009b). TrackD. http://www.vrco.com/trackd/Overviewtrackd.html/. accessed 16.07.09.

VRMedia. (2009). XV. http://www.vrmedia.it/. accessed 16.07.09.

White, W., Koch, C., Gupta, N., et al. (2007). Database research opportunities in computer games. ACM SIGMOD Record, 36(3), 7–13.

Wikipedia Contributors. (2009). Huffman coding. http://en.wikipedia.org/wiki/Huffman_coding/. accessed 16.07.09.

Wikipedia Contributors. (2009). Griefer. http://en.wikipedia.org/wiki/Griefer/. accessed 16.07.09.

Williams, J. L., & Hiromoto, R. E. (2002). A proposal for a sort-middle cluster rendering system.Proceedings of the second IEEE international workshop on intelligent data acquisition andadvanced computing systems: Technology and applications (pp. 36–38).

Yan, J., & Randell, B. (2005). A systematic classifcation of cheating in online games. Proceedings of fourth ACM SIGCOMM workshop on network and system support for games. New York: ACM (pp. 1–9).

Yan, J. F., & Choi, H. J. (2002). Security issues in online games. The Electronic Library, 20(2), 125–133.

Yeung, S., Lui, J., Liu, J., et al. (2006). Detecting cheaters for multiplayer games: Theory, design and implementation. Consumer Communications and Networking Conference (Vol. 2, pp. 1178–1182). Washington, DC. IEEE.

Yeung, S., Lui, J., Liu, J., et al. Detecting cheaters for multiplayer games: Theory, design and implementation. Proceedings of international workshop on networking issues in multimedia entertainment (Vol. 2, pp. 1178–1182). IEEE.

ZDNet. (2005). Cheaters slam ‘Everquest II’ economy. http://news.zdnet.com/2100-1040_22-144176.html/. accessed 16.07.09.

Ziv, J., & Lempel, A. (1977). A universal algorithm for sequential data compression. IEEETransactions on Information Theory, 23(3), 337–343.