Given by NPAC Team at SC95 Tutorial on Web Technologies on December 4,95. Foils prepared December 2,95
Abstract * Foil Index for this file
What Is Televirtuality?
|
VAG --- VRML Architecture Group
|
VRML+ -- A Model for VRML based Collaboratory
|
Unifying Role of Agents
|
We also describe various new Web approaches including VRML extensions and their implications for WebScript |
Integrating Collaboratory and Simulation |
Examples of Current R&D at NPAC
|
This table of Contents
Abstract
Supercomputing 95 |
Monday December 4,1995 |
San Diego Convention Center |
NPAC |
Geoffrey Fox, Wojtek Furmanski, Marek Podgorny with |
Gang Cheng, Roman Markowski |
Syracuse University |
111 College Place |
Syracuse |
NY 13244-4100 |
What Is Televirtuality?
|
VAG --- VRML Architecture Group
|
VRML+ -- A Model for VRML based Collaboratory
|
Unifying Role of Agents
|
We also describe various new Web approaches including VRML extensions and their implications for WebScript |
Integrating Collaboratory and Simulation |
Examples of Current R&D at NPAC
|
We refer by this name to Multi-user Interactive Immersive/Sensory Collaboratory On the Internet |
Other popular names are:
|
Term "Televirtuality" coined by the "traditional" Virtual Reality community (Bob Jacobson, Worldesign, Inc.) as the ultimate limit of broadband based network VR. |
Not clear if this name is optimal and if it will survive but we like the acronym TVR (as it integrates Television and Virtual Reality). |
The popular belief is that Televirtuality represents the ultimate medium for mass communication and active telepresence in virtual environments on the Internet |
Since TVR is expected to be pervasive, there must be an evolution path to it from current Multimedia PCs. |
We can identify three critical dimensions for the associated enabling technologies:
|
The resulting "New Media Cube" (figure following) illustrates possible evolution pathways from multimedia to televirtuality and it indicates intermediate media located in the corners. |
Three Dimensions of Multimedia Extensions for Interactive Services
|
As TVR is meant to be the ultimate medium, it isn't obvious who should take the lead in design and implementation. We can identify the following possible major players: |
DoD -- successful in the past (SIMNET/DIS), currently impeded in the post-coldwar era.
|
Federal Government -- Global Village term coined and HPCC promoted by Clinton/Gore but --- do we have any government right now? |
Telecommunication Industry --- major impetus in the broadband networking deployment plans 2 years ago, now slowed down as ATM complex and interactive markets unclear |
World-Wide Web is the most vital force as of today, and within it the VRML forum and its VAG executive has the 'badge' for evolving the current Web towards the true Cyberspace. |
VRML Forum / mailing list led/moderated by Marc Pesce -- currently the most promising and dynamic body working on standards towards Televirtuality/Cyberspace. |
Current problems after successful deployment of VRML 1.0:
|
Current suggested solution: design work is split into two parallel thrusts:
|
VAG is an "executive task force" formed in summer '95, operating outside the public VRML forum and reporting on current status of design work to the forum. |
VAG is led by Marc Pesce and includes ten representatives from large industry, small companies and academia. Current members are:
|
Decisions currently being made by this mix of Internet hackers and Cyberspace visioners will likely have major impact on your children's education |
Good news is that this team seems to be making "right" decisions |
The first public appearance of this forum was made in August '95 -- VRML forum published minutes of their brainstorming meeting and a set of proposals towards VRML 1.x or/and VRML 2.0. |
Marc Pesce's "visionary" white letter proposes a transparent API for interactivity ---
|
Two specific technical proposals towards VRML 2.0 are by
|
A small set of generic communication nodes to be added to VRML. Examples:
|
Major extension is the Behavior node which can carry a script in arbitrary interpreted programming language |
Behavior node (which we could also call an Agent) results in downloading the requested interpreter (if not yet running at the client side) and executing the code. |
Behavioral scripts are called Applets and they may interact with themselves and perform real-time updates of the VRML scene graph |
Language(s) selection, multilanguage integration, and concurrency/multithreading among agents/applets/behaviors are not specified in this proposal. |
API elements (drafted in C++) include:
|
Areas not covered:
|
Multiuser VRML simulation not yet addressed by the current set of VAG proposal |
VRML+ by Worlds, Inc. is an implicit candidate model, given Mitra's influence in VAG (and IBM blessing for Worlds, Inc and VRML+ protocol). |
VRML+ is a minimal closed televirtuality protocol, focused on networked VRML collaboratory. |
VRML+ concepts include:
|
Avatar --- virtual self selected by / assigned to participants that represents them in televirtual spaces.
|
ID Server --- handles user identity and manages user appearance.
|
Motion Server --- Multiuser server receiving motion events from participants and broadcasting the state information (including other avatars) back to users. |
Multiserver --- a concept of maintaining several cooperating services in a single node or distributing it over nodes depending on the load and the network capabilities. |
Locality --- only a certain neighborhood of a current motion event is broadcast to interested users (no full interconnect as in SIMNET;
|
Scalability -- implemented via growable motion multiservers and the redirection mechanism (if a true service is moved, it is being replaced by an address service pointing to the new location) |
VRML/VAG/VRML+ current concepts share many aspects with agents technology.
|
Eventually, intelligent agents will populate/inhabit Cyberspace and will hopefully be useful and friendly to their human ancestors |
In the near term, dumb agents will be crucial for testing TVR environments (as we can't commit and coordinate N>>1 humans to patiently test flaky software). |
Variable grain size agents also offer a useful interpolating paradigm that integrates collaboration, information and high performance computing. |
Human Avatar as in VRML+ is an example of a coarse grain complex mobile agent with unpredictable real-time dynamics |
A cell of a regular CFD simulation is a fine grain size agent with simple static behavior. We wouldn't view it at all as 'an agent' if not that ...
|
Another example is a mobile agent that controls a LOD node in a dynamic terrain simulation/navigation. |
Finally, models such as Telescript address the information retrieval in terms of mobile variable size agents that can spread, gather and spawn copies to optimize search in distributed infobases. |
VAG Proposals for object behavior in VRML 2.0 tend to offer transparent API, supporting multitude of dynamic programming languages. Following are 3D design with behavior support are being evaluated in this proposal and design activities. |
Most promising candidates for client-side interpreters, interacting withe the VRML scene graph, are what W3 Organization calls mobile languages --- object-oriented scripts with some code propagation autonomy. Following are candidates for mobile computing and listed and evaluated by W3 Org: |
The whole lot are the middleware mishmash we call WebScript! |
Open Inventor (SGI) --- Superset of VRML, includes support for sensors and engines. Extensible by user provided dynamically loaded C++ clasees) |
TBAG (Sun Microsystems) --- functional 3D graphics language with parametric support for time-varying and user-controllable geometries. |
UGA (Brown University) --- object-oriented interpreted 3D language for rapid prototyping interactive 3D graphics applications. |
Alice (Univ. of Virginia) --- based on Python, supports rapid prototyping for 3D graphics. |
ANIM3D (Digital) --- based on Obliq, used for algorithm visualization. |
Worlds (Worlds, Inc.) --- commercial product for multimedia collaboratory. |
VRML+ (World, Inc.) --- collaboratory protocol with API support for dynamic modification of the VRML scene graph. |
BE System (BE Software Company) --- Pascal-like language to specify behavior for Inventor nodes. |
Candle Web extension language to support real-time interactivity and fast graphics and animation. Norway. |
GROW (GNU Remote Operations Web) - a multi-language scripted architecture, supporting interoperability and wrappers for several popular Web languages Perl, Tcl, Scheme, C, C++, Python). Also supports Web based software upgrade. Distributed by Cygnus Corporation (GNU consulting). |
Guile Interpreted language supporting multilanguage integration and acting as implementation platform for GROW |
Java object-oriented programming language with C++ based syntax and some elements of Smalltalk and Objective-C. Abstract virtual machine opcodes used as distribution protocol |
LiveScript - a macro language for Netscape2 with Java-like syntax and similar client site execution model. LiveScript can be embedded in HTML via custom tag and it does not require server side precompilation to binary opcodes as in Java. |
Obliq Interpreted object-oriented language for distributed computing. Developed by Digital. |
OREXX --- Object-oriented REXX. IBM. |
Perl --- pattern matching and text processing language, by Larry Wall,. popular in the UNIX community. |
Phantom Inspired by Obliq, under development by Anthony Courtney (Dublin/Berkeley undergrad). |
Python Object-oriented in the spirit of Modula-3, developed by CWI. Useful both for embedded hypermedia and for text processing. |
Safe-Tcl An agent version/extension of Tcl with support for "enabled mail" |
Scheme48 Bytecode compiler and VM for Scheme. Supports mobility in a similar way as Telescript (ultra-portable virtual assembler) |
ScriptX Multimedia language by Kaleida Labs. Some aspects similar to Macromind Director. Set-top box alliance with Scientific Atlanta. by Scientific Atlanta. |
Self Object oriented language for exploratory programming. Mixes structual and functional aspects. Used in MOOs. |
Telescript Agent language with aspects of C++ , translates to interpretable virtual assembler (Low Telescript). Developed by General Magic and partners. Recently published. |
Tycoon - polymorphic persistent programming environment supporting ineroperability between various database vendors (Hamburg, Germany) |
Winterp interactive object-oriented language for rapid prototyping. Includes object-oriented interface to OSF Motif. Developed by Enterprise Integration Technologies. Lisp based implementation. |
The emergent Cyberspace will be most likely multi-lingual, with agents employed both to propagate scripted information and to offer language translation services. |
We refer to such a multilanguage as to WebScript. |
It is yet to be seen if any new common language standard will be established in this process, or rather the televirtual environment software will take the form of a language soup. |
Eventually, TVR will simulate laws of physics by embedding human agents in an interactive simulation medium |
Uniform framework for such environments can be provided in terms of variable size mobile interacting agents, ranging from coarse grain complex human avatars to fine grain atomic elements of the physical or information medium |
In our current R&D efforts at NPAC, we approach such TVR environments from three complementary perspectives:
|
Multithreaded (Java based) collaboratory (Vishal Mehra) conforms to the VAG/VRML+ concepts
|
Multithreaded (TCE=Thread Communication Environment based) simulation (Janusz Niemiec)
|
Dynamic (VRML based) terrain rendering/world generation (Chris Walczak) |
In terrain rendering systems the partial data delivery is a prerequisite. |
Currently it is achieved by dividing the whole surface into smaller parts that are modeled and delivered to the user separately. |
In addition, in order to be able to cover a reasonably big area, the different levels of detail have to be used. The parts that are farther from the camera viewpoint (that cover much bigger area) can be modeled using lower resolution. |
Currently different detail levels are achieved by creating two separate VRML files for each part of the surface using different resolutions (see pics). |
Because of the overhead of VRML file syntax, in case of terrain rendering, even low resolution files are bigger than the volume of high-resolution, original Ôpure' terrain data. |
The convergence of database technology on the server site with a specialized agent on client site gives possibility of dynamic surface creation. |
An agent - a specialized program running on client site can generate the VRML file during the simulation - when the observation point moves above the terrain surface. |
At high resolution this saves a factor of 10 in communication load host <--> client |
Generating VRML on the client rather than the host increases the load of client computer but has several advantages: |
Less data need to be sent over the network, |
Only the data that is really needed is sent, |
The world is smooth - is not cut into parts, |
The movement is smooth - data is loaded and processed constantly, |
The rendering resolution can vary depending on different factors such as:
|
The number of resolution levels is not limited. |
Simulations of real-life phenomena require in general, powerful computational engines. Therefore, an appropriate HPCC support is essential. |
Simulations carried out in a collaborative mode can provide new, educational, scientific and purely practical, insights. |
An important challenge in the software domain is to provide an environment which is capable of balancing the simulation loads dynamically across computing nodes. Essential for distributed memory HPC architectures. |
The collaborative, multi-user aspect makes the challenge even more demanding, as user interactions have to be performed concurrently, safely and promptly. |
Multithreaded systems seems to be a natural platform for linking simulations with collaboration --- threads --- which can on one hand represent fine grain simulation particles and on the other hand, course grain user agents. |
An efficient multihreaded environment is able to deliver the assumed computational efficiency. The essential load balancing can be achieved by thread migration and different users, represented as additional threads, will interact with the simulation threads via fast inter-thread communication channels. |
As an example of a HPCC Collaborative Simulation we have developed an artificial shark and fish simulation (WaTor), using the TCE environment as the implementation framework. |
TCE stands for Thread-based Communication Environment. It has been developed at NPAC, to provide a system level support for data- and functional-parallel applications with client-server capabilities. |
The most characteristic features of the environment are: User-level, portable multithreading, with prioritized, preemptive scheduling. |
Message passing communication based on abstract communication objects - Ports and Channels. |
Channels construction involves two Ports. They exclusively link two peers, providing a variety of different communication modes, including support for communication between heterogenous architectures. |
Ports and Channels can be accessed by all threads within a process, and they can be freely passed between different TCE processes. Various system descriptors can be mapped onto TCE ports, therefore polymorphic operations on channels can refer to sockets, files, keyboard or other system devices. |
The environment is currently operational on SunOS, Ultrix, OSF/1 and CM-5 architectures. |
The Interactive WaTor simulation is an Ecological Simulation that can be controlled and altered by multiple users. |
The rules of the simulation are as follows: two populations of sharks and fish are randomly scattered across a wrapped-around rectangular ocean in each simulation step a fish tries to move at random into one of not occupied neighboring ocean cells a shark looks for a fish in the 4 adjacent cells, and eats at random one if one or more of the cells are occupied both populations produce offsprings at the rates set by simulation parameters sharks can survive without eating a fish for a period defined by another parameter, fish don't eat anything |
The multithreaded, parallel implementation uniformly distributes regions of the ocean between different processors. These regions are then further divided between processors' threads. Each thread runs a region, and exchanges boundaries with neighboring threads via channels. |
There is a control thread, one per a processor, which compares the local node load with the loads of neighboring processors. |
In the case of a significant load imbalance, the overloaded processors send some of their regions to others. Sending regions involves creating a new thread at the destination processor, which then receives the state of the region together with four channels to continue the communication with the neighbors. |
The set of simulation processes form a parallel server, to which different users can connect to interact with the shared simulation (changing parameters) or to run their independent simulations. |
For each connected user, there is an independently run thread, which sends to a user process the simulation image, and receives from it the simulation parameters. |
What is a Collaboratory System? |
These are result's from Master's project by Vishal Mehra at NPAC |
A Collaboratory is an environment which allows multiple dispersed users to connect and exchange multi-media information among themselves |
Multiple virtual channels are created dyanamically as the users connect to collaboration server(s) during run-time |
Users exchange information using these virtual channels |
User logs on to the Collaboratory server(s), providing his/her username and password |
Information of the user is recorded at the server side, and is made available to every other user currently logged on |
Each user has a set of environment variables which can be configured to meet his/her requirements |
These set of variables can be changed at run-time or can be loaded from the users' default configuration files |
All the information is packed as Java objects |
Only objects are sent across the Network |
Objects can fall into the following two categories
|
Control objects have a higher priority over Data objects |
Current Work Involves creating a Virtual Mall where channels are created dynamically |
Each room is a channel |
Clients present in that room are members of that channel |
By moving from room to room, client leaves one channel and joins another |