Other networking components

This chapter discusses some practicalities of networking by discussing some other tools that are commonly used. The two main topics discussed are remote method call (RMC), to refer to both remote procedure call (RPC) or remote method invocation (RMI), and the overall architecture of networked virtual environments (NVEs) and network games (NGs) systems. RMC is a class of networking technology that creates the impression to the programmer that a function call is made locally, whereas it is actually executed on another machine. The distinction between the two terms, RPC and RMI, is usually that the former refers to function calls in imperative code, whereas the latter refers to method calls on objects. The techniques of RPC or RMI techniques, which are very widely used in the broader realm of distributed systems and which have a role in NVEs are discussed. A larger system is then discussed, to show how object sharing, events and RPC/RMI all fit together to make a more fully-featured system. RMC was developed as a generic interface for distributed systems. It gives the appearance that remote function calls are actually local. Thus it has a good fit to transactions or infrequent interactions. Most complex systems or middleware support some mixture of RMC, message-based, and object-sharing systems. System architecture and how particular systems support the programmer in writing large applications are also discussed in the chapter.

[1]  Emmanuel Frécon,et al.  DIVE: a scaleable network architecture for distributed virtual environments , 1998, Distributed Syst. Eng..

[2]  Dr. Stephan Diehl Distributed Virtual Worlds , 2001, Springer Berlin Heidelberg.

[3]  Steve Pettifer,et al.  GNU/MAVERIK: a micro-kernel for large-scale virtual environments , 1999, VRST '99.

[4]  Samuel Degrande,et al.  A CORBA based platform as communication support for synchronous Collaborative Virtual Environment , 2001, M3W.

[5]  Raj Srinivasan,et al.  RPC: Remote Procedure Call Protocol Specification Version 2 , 1995, RFC.

[6]  Manuel Menezes de Oliveira Neto,et al.  Components for Distributed Virtual Environments , 1999, Presence: Teleoperators & Virtual Environments.

[7]  ZHANGLi-xia,et al.  A reliable multicast framework for light-weight sessions and application level framing , 1995 .

[8]  Hans Eriksson,et al.  MBONE: the multicast backbone , 1994, CACM.

[9]  Raj Srinivasan,et al.  XDR: External Data Representation Standard , 1995, RFC.

[10]  Anthony Steed,et al.  An Overview of the COVEN Platform , 2001, Presence: Teleoperators & Virtual Environments.

[11]  George Papagiannakis,et al.  VHD++ development framework: towards extendible, component based VR/AR simulation engine featuring advanced virtual character technologies , 2003, Proceedings Computer Graphics International 2003.

[12]  Carolina Cruz-Neira,et al.  VR Juggler: a virtual platform for virtual reality application development , 2001, Proceedings IEEE Virtual Reality 2001.

[13]  Anthony Steed Some Useful Abstractions for Re-Usable Virtual Environment Platforms , 2008 .

[14]  Steve Vinoski,et al.  Advanced CORBA® Programming with C++ , 1999 .

[15]  Emmanuel Frécon,et al.  DIVE: communication architecture and programming model , 2004, IEEE Communications Magazine.

[16]  Jesper Mortensen,et al.  Spelunking: Experiences using the DIVE System on CAVE-like Platforms , 2001, EGVE/IPT.

[17]  Don McGregor,et al.  A unified component framework for dynamically extensible virtual environments , 2002, CVE '02.

[18]  Chris Shaw,et al.  The decoupled simulation model for virtual reality systems , 1992, CHI '92.

[19]  Walter F. Bischof,et al.  InTml: A Dataflow Oriented Development System for Virtual Reality Applications , 2008, PRESENCE: Teleoperators and Virtual Environments.

[20]  Markus H. Gross,et al.  The blue-c distributed scene graph , 2003, IEEE Virtual Reality, 2003. Proceedings..

[21]  Anthony Steed,et al.  The London Travel Demonstrator , 1999, VRST '99.

[22]  Jérémie Allard,et al.  FlowVR: A Middleware for Large Scale Virtual Reality Applications , 2004, Euro-Par.

[23]  Michael Zyda,et al.  Bamboo-a portable system for dynamically extensible, real-time, networked, virtual environments , 1998, Proceedings. IEEE 1998 Virtual Reality Annual International Symposium (Cat. No.98CB36180).

[24]  Marc Erich Latoschik,et al.  Scene Synchronization in Close Coupled World Representations Using SCIVE , 2006, Int. J. Virtual Real..

[25]  Michal Ponder,et al.  Component-based methodology and development framework for virtual and augmented reality systems , 2004 .

[26]  Christer Carlsson,et al.  DIVE - A platform for multi-user virtual environments , 1993, Comput. Graph..

[27]  Chris Greenhalgh,et al.  The DiveBone—an application-level network architecture for Internet-based CVEs , 1999, VRST '99.

[28]  Michael Zyda,et al.  Networked virtual environments - desgin and implementation , 1999 .

[29]  Claudio Kirner,et al.  CORBA platform as support for distributed virtual environments , 1999, Proceedings IEEE Virtual Reality (Cat. No. 99CB36316).

[30]  Steve Pettifer,et al.  DEVA3: architecture for a large-scale distributed virtual reality system , 2000, VRST '00.

[31]  Joaquim A. Jorge,et al.  Analysis Domain Model for Shared Virtual Environments , 2009, Int. J. Virtual Real..