Given by Wojtek Furmanski and Balaji Natarajan, Hasan/Zeynep Ozdemir, Tom Pulikal at UC Web Applications Certificate on July 24 1997. Foils prepared 5 August 97
Outside Index
Summary of Material
This describes developments in multi-user VRML |
JSDA and NPAC TVR EXperiment |
Living worlds VRML Working Group |
Open Community and Java API for Multi-User Worlds |
Relation to JSDA and DoD Simulation Systems |
Outside Index Summary of Material
Balaji Natarajan |
Hasan Timucin Ozdemir |
Zeynep Odcikin Ozdemir |
Tom Pulikal |
Wojtek Furmanski |
VRML 1.0 was a declarative (scene description) language |
VRML 2.0 /97 adds dynamic procedural elements via scripting techniques (to support animation and event handling) |
Eventually, we want to build multi-user interactive world-wide distributed worlds - is VRML'97 sufficient for it? |
In this lecture, we scripting discuss various scripting techniques such as:
|
We will illustrate VRML'97 scripting using a set of examples, including NPAC demos such as Visible Human or TVR Prototype |
The most interesting and advanced use of VRML scripting is for building multi-user networked virtual worlds (televirtual environments) |
We will summarize current efforts towards multi-user VRML standards such as:
|
No multi-user standard activities some 1/2 year ago - consensus that too early as not enough applications |
Early multi-user prototypes in `97 (including ours) afterVRML2.0 was published |
Several multi-user standard activites were started soon afterwards |
VRML'97 Scripting, when linked with Java, allows for fully interactive multi-user 3D programming |
However, everything is custom, including avatars in these new brave worlds |
That's not acceptable by the emergent `avatar industry' |
Avatar companies are current main pushers for multi-user VRML standards |
Base concepts are as in our early TVR demo |
Active VRML objects (avatars) are mapped on user controls (e.g. mouse) and linked with JavaVM via Java nodes |
Java sector maintains connections with collaboratory servers |
User/avatar actions are passed from VRML to Java to network to Java to VRML to users |
Base concepts are as in our early TVR demo |
Active VRML objects (avatars) are mapped on user controls (e.g. mouse) and linked with JavaVM via Java nodes |
Java sector maintains connections with collaboratory servers |
User/avatar actions are passed from VRML to Java to network to Java to VRML to users |
Living Worlds - standardize VRML support for multi-user applications |
Open Community - standardize Java node support for multi-user VRML applications |
Universal Avatars - standardize high level behavior, social rules, language |
JSDA - standardize synchronous real-time multimedia collaboratory services |
Define a set of VRML'97 conventions to support interpersonal (multi-user) and interoperable (multi-vendor) applications |
Extract standard components from existing and working (proprietary) applications |
Time-To-Market a critical factor in design decisions: early draft Feb'97, Draft 1.0 by mid `97 |
Mitra from Mitra Internet Consulting
|
Yasuaki Honda from Sony Corporation |
Bob Rockwell from Black Sun Interactive |
MUTech (Multi-User Technology) - encapsulates vendor specific networking support for shared objects and spaces |
Zones - act as shared regions that group objects aware of each other |
Shared Objects - Zone children, instantiated on all interested clients |
Pilots and Drones - active (unique) and passive instances |
Avatars - Human driven Pilots |
Capabilities - interactive `devices' for convenient communication (whiteboard, phone, VTC camera etc.) |
Security Support - to avoid malignant hackers |
Sharability: Zone, PrivateZone, SharedObject, PrivateSharedObjects |
MUTech Nodes: MUTechZone, MUTechSharedObjects |
Utilities and Workarounds: AssociativeStringArray, Message, MessageHandler, CooperativeLock, SmoothMover, Behavior, etc. |
Based on SPLINE (Scalable Platform for Large Interactive Network Environments) by Mistubishi Electric Research Lab (MERL) |
Authors:
|
Central Construct - World Model, i.e. object-oriented dynamic database (datafoam) |
Applications/clients interact with the World Model and induce changes to the World |
Backend is handled by proprietary collaboratory engines/servers |
Frontend is now published in the form of extensive Java and C APIs |
World Model is (conceptually) replicated in all clients |
In practice, that's not realistic for large worlds as non-scalable |
Worlds are chunked into regions of mutual interest and only regions are (dynamically) replicated (not analogy with LW Zones) |
All state changes of shared objects are dynamically broadcast to (conceptually) all other objects |
In practice, that's again not realistic for real-time simulations (as learned by DIS) |
The multicast is restricted to those who expressed interest (similar to event filtering in HLA/RTI in DoD M&S or javaBeans) |
Living Worlds standardize VRML support for multiuser applications |
Open Community standardizes the associated Java node support |
JSDA is a promising candidate for collaboratory servers (tested in TVR demo) |
Uses small number of generic primities: Clients, Session, Channels, Tokens which match well with Living Worlds nad Open Community |