Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Chapter Eight - Internet Networked Virtual Environments VRML-Based Virtual Environments 251 • Some Existing Networked VRML Worlds 253 virtual reality transfer protocol 262 Internet Gaming 263 • Overview of Online Gaming Services 264 • Internet Gaming Software Architectures 266 • Future Internet Gaming Directions 269 Conclusion 271 References 271 VRML-Based Net-VEs Are already dead but the xml/x3d look quite promising ... Internet Game Architectures Overview of Online Gaming Services Internet Gaming Software Architectures Future Internet Gaming Directions Excerpt from technical feasibility document to the VCs ... • XXX has plans to develop a fully-3D web portal. We plan on multiple 3D virtual channels operating in parallel. Each VR channel will have its own content and our customers will be able to smoothly transition between channels via environment selection off of our web presence. There will be entertainment channels, where complex, multiplayer 3D worlds are navigated in adventure fashion. There will be ecommerce channels and 3D storefronts. Excerpt from technical feasibility document to the VCs ... • The 3D storefronts will allow our customers to examine and purchase products in full 3D. Our virtual storefronts will have the ability to be staffed by knowledgeable clerks able to answer questions via an audio channel inside of the virtual environment. Virtual community channels will be available depending on the synchronicity of customer interests. Our customers will be able to homestead in our virtual communities. Excerpt from technical feasibility document to the VCs ... • They will be able to meet with their friends in virtual space for interest area discussions or just chat. Our customers will be able to create their own corner of the virtual space they desire to occupy. We will have virtual education channels where our customers will be able to attend lecturers and presentations in virtual space. Chapter Nine - Perspective and Predictions Better Library Support 275 Toward a Better Internet 285 • Bamboo 276 Research Frontiers 287 • High Level Architecture 279 Past, Present, and Future 289 • Java-Based Toolkits 283 References 290 • Toolkits Being Developed Everywhere . . . 284 Better Library Support Bamboo High Level Architecture Java-Based Toolkits Toolkits Being Developed Everywhere ... Networked Virtual Environments - A Vision Eventually, there will exist a persistent virtual environment simultaneously shared by millions. There can never be a global reboot. All modifications must happen on the fly. The development of participant programs (live & autonomous characters) for that VE must be as simple as writing a web page is today ... Requirements for that Vision - Network Software Architecture Extensible/Composable/Interoperable • Cross-platform, component frameworks • Dynamic Behavior Protocols Ability to Suspend/Resume State • Persistent Universe Large-Scale/Infinite Number of Players • Area of Interest Management NSA Requirements - Extensible, Composable & Interoperable Motivation - Cross-platform, component frameworks • The motivation behind cross-platform component frameworks is that we want to build systems that are changeable overtime, systems whose updates are downloadable over the Internet, systems that can work on multiple platforms, systems whose pieces are small-enough that they are understandable & reusable. NSA Requirements - Extensible, Composable & Interoperable More Than Just Extending Memory • Dynamically loaded modules require a consistent framework in which to plug into. • The system must establish a convention such that modules can integrate into already running applications. Lang-1 Lang-2 Loader Loader Lang-N Loader Bamboo Kernel Netscape Portable Runtime Dynamic Behavior Protocols Desire - each entity in the VE able to define its own protocol modules, modules that are dynamically loadable from the web. • easy to maintain • always fully implemented • always optimized per individual • never consumes unused system resources • updateable in real-time! Dynamic Behavior Protocol Architecture Object j Object i Object i Server Object j Client Stub Object k Client Stub Object k Object k Server Object i Client Stub Object j Client Stub Object j Server Object i Client Stub Object k Client Stub A Three-Tier Approach Seems the Way to Go ... Global - An environment registry • (help me find an environment i.e. DNS, MAAS) Environment - An object registry • (what objects are out there?) Object - A module registry • (input/output channels) A Persistent Universe Motivation - • By using dynamic protocols, along with components of the existing Internet architecture, we can support the persistence of a large-scale distributed virtual environment. http Statelets - A platform independent file containing: • Names of archived classes • URLs of the modules containing the classes • Archived classes Area of Interest Management - Large-Scale, Infinite Players Multicast and area of interest managers - to facilitate many-to-many communications while using limited bandwidth. 4 Keys to Success for Very Large Virtual Environments Receive only what you need to process. Must be expandable • dynamically add new protocols, environments Must have the ability to handle ‘crowd’ situations. Low overhead for interest management. Interest Management Issues • Network Latency, Bandwidth • The time to join a multicast group (0.5 seconds typical) • Multicast Address Space/Allocation --> IPv6 • Number of multicast groups supported by workstation/PC NICs • Number of multicast routes supported by network routers. • Unreliable nature of large-scale multicast --> Need QoS support Standards for Interoperability We must be designing standards for interoperability that are as simple to use as writing a web page … • So once we have done all the net-VE work on the previous slides, we can then think about standardization ... Appendix - Network Communications in C, C++, and Java Using TCP/IP from C and C++ 293 Managing Concurrent Connections in C and C++ 297 Using TCP/IP from Java 300 Managing Concurrent Connections in Java 303 Using UDP/IP from C and C++ 305 Using UDP/IP from Java 308 Broadcasting from C and C++ 310 Broadcasting from Java 310 Multicasting from C and C++ 311 Multicasting from Java 312 References 313 2 3 5 7 10 12 Final Any questions?