Part 8 Chapters 8 & 9

Download Report

Transcript Part 8 Chapters 8 & 9

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?