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
This tutorial will provide comprehensive coverage of interactive WWW technologies and their integration with HPCC from the perspective of distance education. |
The presenters will outline their vision of the Virtual University for modern education and discuss interactive WWW, HPCC backends, and agent-based communication as three critical enabling technologies in this framework. |
They will illustrate these concepts with demonstrations of WWW spaces and courses developed at the University of Syracuse such as KidsWeb,Science for the 21st Century, Living Textbook, and Computational Science for the Information Age. |
They will explain component technologies and infrastructure such as WebTools, parallel databases, and video and computational servers. Finally, they will discuss their concept of WebWork and WebWindows as an emergent, collectively developed integration framework for the WWW, agents, and HPCC-based Simulations-on-Demand, |
They will present prototype demonstrations of interactive and collaborative modules for distance education. |
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 |
This tutorial will provide comprehensive coverage of interactive WWW technologies and their integration with HPCC from the perspective of distance education. |
The presenters will outline their vision of the Virtual University for modern education and discuss interactive WWW, HPCC backends, and agent-based communication as three critical enabling technologies in this framework. |
They will illustrate these concepts with demonstrations of WWW spaces and courses developed at the University of Syracuse such as KidsWeb,Science for the 21st Century, Living Textbook, and Computational Science for the Information Age. |
They will explain component technologies and infrastructure such as WebTools, parallel databases, and video and computational servers. Finally, they will discuss their concept of WebWork and WebWindows as an emergent, collectively developed integration framework for the WWW, agents, and HPCC-based Simulations-on-Demand, |
They will present prototype demonstrations of interactive and collaborative modules for distance education. |
Clients (such as Mosaic and Netscape) support browsing of hyperlinked documents but have no internal interactive/compute capability |
Servers read HTTP and deliver requested service to client |
HTML -- a document format supporting hyperlinks |
HTTP -- a Transport Protocol defining Interaction between Web servers and Clients |
MIME -- a data format allowing agent-like (extended email) communication |
CGI -- a standard interface allowing sophisticated server extensions |
PERL -- a rapid prototyping language(script) aimed at text and file manipulation |
Web Search engines such as YAHOO, HARVEST, WAIS -- early distributed database access technology supporting search and indexing |
net.Thread, WebTools, RealAudio are early Web Interactive services |
Relational databases -- Oracle,DB2 have Web Interfaces |
Collaboration from Console Units (PIctureTel, CLI), Desktop (SGI Inperson) to MOOs |
Compression from MPEG and Wavelet to host of proprietary solutions -- a faction of 20 to 200 saving in space and bandwidth |
Geographical Information Systems |
Security will enable commerce on the Internet -- essential for Defence as well |
ATM, ISDN, Wireless, Satellite will be hybrid physical implementation of NII |
CORBA, Opendoc, OLE, SGML, Hytime are critical file and document standards |
High Performance Multimedia servers to enable digital information delivery on demand |
Data transport from MPI/MSGWAY/PVM to AAL to CBR/VBR |
Windows95/NT -- the last of the the non social(Web) operating systems -- will follow dinosaurs(IBM mainframes) into extinction except as WebServer/Client platforms with only base operating system services |
Personal Digital Assistants -- WebNewtons done right -- Learn from Telescript (agent based communication) and Magic Cap operating system |
WebWindows -- the open nonproprietary operating system of future supplanting UNIX, Windows95/NT, Apple etc. -- manages with a single interface all machines either individually or collectively on the NII |
WebWork -- Implements Computing for both Simulation and Information ontop of WebWindows-- the correct implementation of HPCC ideas such as HPF,MPI with pervasive technologies and good software engineering |
WebScript -- The evolving Middleware of scripted languages including PERL5, Java, Telescript, MOVIE (NPAC early prototype), domain specific Problem Solving Environments |
This will lead upto Ultimate Goal! Televirtuality -- All Web Users are linked into a single virtual world |
Java -- an interpreted C++ like language (script) allowing fully interactive clients which execute applets. Has full set of classes to make clients such as HOTJava. Licensed by Netscape |
VRML -- a 3 dimensional HTML allowing universal description of physical objects and allowing interchange of virtual worlds, commercial product designs etc. |
PERL5 -- an extension of PERL4 with full object oriented characteristics and extended pointer(array) constructs -- allows construction of Web Software obeying good software engineering practices |
Telescript -- forced into semiopen by Java (!?) -- dynamic Web Transport and Server technology replacing HTTP,MIME .. |
Multithreaded WebServers integrating current Web, Compute and digital multimedia delivery services -- future Enterprise Systems |
WebTools -- Early NPAC Prototype of WebWindows Equivalent to Program Manager with Navigation, File manipulation, Mail |
WebDeskTop Publishing -- an early killer application under WebWindows supplanting Word, Wordperfect, LOTUS123 , Persuasion etc. Java allows clear powerful implementation. |
WebRDBMS -- Integration of Relational and Distributed databases with both agent based heuristics, formal indices and free text search |
Metadata -- Common attributes to allow integration and search of heterogeneous databases |
WebSpace -- Televirtual implementation of full 3D MOO like environment building on LabSpace at Argonne for the virtual scientific laboratory |
WebFlow -- NPAC prototype of Web based extended Khoros/AVS supporting dataflow linkage of computers for simulation and people and data for workflow management |
WebScript -- the evolving Middleware of scripted languages including extended PERL5, Java, Telescript, MOVIE(NPAC compute oriented script) etc. |
Like UNIX or MS-DOS or Windows 3.1(NT,95), WebWindows is an operating system for a "computer" |
The "computer" is a metacomputer consisting of the 50,000 Webservers (currently--eventually hundreds of millions) on Internet for the World Wide Web |
WebWindows can also be used for the metacomputer (collection of heterogeneous networked computers) which is a business enterprise system
|
WebWindows is a multi-client multi-server technology
|
Includes World wide multimedia File access and dissemination -- current immediate Browser Services |
Initial Websearch and agent technology such as World Wide Web Worm, Lycos,Yahoo, Harvest etc. |
WebTools is initial NPAC Project to illustrate future WebWindows
|
WebWindows development team will run using a network of WebTools servers -- each user will run personal server |
It does not provide multi-threading/multiu-user support, memory management, device drivers and such base services -- these are supplied by UNIX, Windows or Mac O/S |
Rather it provides equivalent of higher level O/S services such as available under UNIX shell or applications supplied under Windows |
In the future one will build applications for WebWindows not UNIX / PC windows etc. |
Very interesting is WebWindows version of Lotus Notes to support Business Enterprise systems -- build from Web components such as those prototyped in WebTools
|
Note we are implicitly discussing both the implementing of general education with Web Technologies and the teaching of these technologies to a broad audience -- our new form of Computational Science in the Information track |
Education needs wonderful Information Delivery -- we call this InfoVision for
|
But also collaboration where this leads upto full televirtual environments where individuals are projected into a simulated world |
We will mention some synergies with needs of Business Enterprise Systems -- a larger market! |
We can divide into server and client but the (future) Web is a server -- server scenario for every PC can be a server and we can run both server and client on same (home) machine. So real division is "big" and "personal" systems |
CGI PERL enhancements are illustrated by
|
Servers will support computing to implement WebWork with pervasive integrated support of distributed/parallel computing and Software Engineering |
Multimedia databases will support Video and Audio Streaming and based on Living Schoolbook we will discuss educational video on demand with relational databases supporting text indexed video |
ISDN is particularly interesting opportunity to deliver video to "everybody" today using preferably nifty compression technologies |
Telescript seems an important server and communication (agent) technology which we should either use or learn from and "copy" if it remains too proprietary |
Java is a critical client technology which allow construction of proper balanced client-server systems which is relevant for computing, collaboration and WebTop productivity (WebFoil as a customized browser/authoring tool) |
VRML is the new data structure of the future implementing everthing from 3DHPF to Geographical Information Systems used by Living SchoolBook to provide virtual fieldtrips and by Nintendo/Sega for racing games ... |
Illustra illustrates power of object oriented database to support object based technologies such as VRML |
Stripped down Windows NT is all we need as a general operating system -- WebWindows will provide portable user level applications |
Nifty searching of the web will put the equivalent of 100 (today) to 10,000 (not so far in future with digital video) CD-Rom's at your mouse-click |
Hyper-G and WebTools attempt a start on a more disciplined information space navigation model |
TCL is another scripting/GUI system which shows that we can expect many overlapping environments which need to be integrated in WebScript |
Televirtual Environments motivate VRML enhancements, distributed simulation and Java Integration with a multi-threaded system |
The compilation system is accessed through a Web Browser. The HPF program and requests are POSTed to the HTTP Server using HTTP Protocol. |
HTTP Server analyzes the incoming request and activates the HPF Service Master which is a CGI module. |
HPF Service Master starts the Compile module which translates a given HPF program into Fortran 77 with message passing calls (i.e.MPI), and produces an object file using a node compiler. |
Link module links the generated object code with Common Runtime Support (CRS) and MPI libraries. |
Run module forks copies of the executable code on the nodes of a workstation cluster. |
After the request has been satisfied, HPF Service Master puts the results into HTML format and sends back to the HTTP Server. |
HTTP Server sends the results to the Web Browser via the HTTP Protocol. |
The WWVM is accessed through a Web Browser and requests are sent to the server through HTTP Protocol. |
HTTP Server starts a service master which translates given HPF program to F90 with message passing calls and starts-up other client servers. |
HTTP Servers at the client side get the requests through the HTTP protocol connection, and activates a Interpreter CGI module. |
Interpreter makes calls to the Runtime Support and Communication Server that sends and receives messages using PVM daemons. |
We describe the general architecture and major components of a Web Search System |
(a short version prepared for SC'95) |
See longer HPDC95 Version for more details |
Information Discovery - Locate Relevant Sources (URLs) with Reasonable Efforts/Time |
A Centralized Web Data Repository- Cache/Replicate Information to Alleviate Regional Network and Server Overhead |
A Unified Internet Search Interface - Search for Various Information Sources, HTTP, FTP, Gopher, WAIS, Usenet Newsgroups, Archive, On-line Databases and Libraries, etc. |
Data Volume
|
Data Diversity
|
User Base
|
There are at least 30 web search systems on the net |
InfoSeek - free service for web search (text database indexed from 400K URLs, total 2GB), paid-service for 15,000 USENET newsgroups (most recent 4 weeks, 2 million articles, total 7GB) and other on-line databases. Full-text indexing. Database and web servers run on 8 SUN10s |
Lycos - free service for web search (database indexed from ~10 million URLs, 1.8 GB summary text, 1.1 GB inverted index (10-20% of full text), run on 7 replicated workstations) |
OpenText - free service (text from ~1 million URLs, 985 million words, run on a worstation cluster). Full-text indexing. |
WebCrawler - free service for web search. Partial-text indexing. |
Yahoo - hierarchical listing of URLs by topics. A web site, not a search service (custom-made database system and web servers, run on several SGI Indy's and Pentium-based PCs running UNIX) |
Gather WWW pages/files from remote web servers and filter them into indexed text database |
Use 'Web Robot' or 'Web Agent' technology - a class of programs that automatically traverse network hosts and bring back information via various network protocols (e.g. HTTP) |
Major issues - direct impact on database size, search coverage and performance
|
How text of web documents/files are internally stored/indexed in the text database to efficiently and effectively support searching |
Common approach - 'inverted index' |
Major issues - direct impact on database size and search performance
|
Built on the indexed database |
Basic functions/algorithms - keyword-based search
|
Advanced functions - concept-based search
|
Form-based CGI - integration of a Web server and the backend database search engine |
Requires high-performance server to support large number of concurrent users - parallel technology can play a big role here ! |
Major issues
|
Gregor von Laszewski, |
gregor@npac.syr.edu |
NPAC at Syracuse University, |
Syracuse, NY 13244 |
URL Location: |
http://www.npac.syr.edu/users/gregor/PAPERS/SlidesTCL/SlidesTCL.html |
Siblings in a family of products for programming the Internet |
Each language has particular strengths |
Choose one or the other or both, depending on the needs of their applications |
Tcl/Tk structured as a
|
Similar to UNIX shells, but it is embeddable and portable and can be used for Internet scripting |
High-level scripting language |
Rapid development of Small and medium-sized applications |
Reuse of other Tcl/Tk scripts is easy |
Large amount of scripts available |
Interpreted -> slow for large iterative calculations |
Java is something like C++, simpler, more powerful, adds facilities for sending Java programs around the Internet as executable content. |
More structured than Tcl/Tk |
Easier to build large complex applications |
Java is also compiled and so should be faster |
Multi threading |
Tcl/Tk:
|
Java:
|
Tcl/Tk and Java:
|
Designed by John Ousterhout |
Primary FTP site for Tcl and Tk core distribution is http://www.sunlabs.com/research/tcl |
ftp://ftp.aud.alcatel.com/tcl is the primary archive site |
Current version Tcl 7.4 and Tk 4.0 |
One of its strong points: runs on mayor Operating Systems and computers
|
Experimental version Tcl7.5 and Tk4.1 (alpha 1) |
Tcl: is a small text-oriented embedded language with add-on extensions that allow it to also function as a shell. |
Tk: is a GUI library that is designed to interoperate with Tcl |
It provides a very easy way to create sophisticated applications |
The appearance of Tk is very similar to Motif. |
Famous Example using Tcl: Expect |
+ Greatest strength: uniform representation of everything as a string. |
- Greatest weakness: uniform representation of everything as a string. |
+ may be used as an embedded interpreter |
+ exceptions, packages (called libraries) |
- only a single name-space |
+ provide/require |
+ dynamic loading (newest version) |
+ 8-bit clean |
- only three variable types: strings, lists, associative arrays |
- No multithreading |
Variables: set a 24 |
Expression: set a [expr 100.0 / 24.0 ] |
Evaluation of strings: eval {seta156} |
Using GUI: button .b -text Hallo -command hello |
Procedures: proc hello {} {puts$a} |
Lists: concat, join, length, search, replace, ..., (LISP) |
Strings: regexp, first, last, length match, ..., (LISP,PERL) |
Extensions make Tcl/Tk very atractive |
BLT - hypertext and graph widgets |
Incr Tcl - object oriented programming |
TclX - enables access to UNIX commands |
DP - enables access to TCP/IP |
TIX - more motif like extensions |
Some of these extensions should be part of the core Tcl/Tk. |
Support for mpeg, GIF, ... |
Support for audio |
Slideshows |
HTML MAP creators |
HTML library for text widgets |
Surfit - WWW Browser. Execution of large Multimedia applications (alpha), Execution of TCL Scripts via Internet similar to Java |
For instance, Application Surf-o-matic automatically loads Web pages at random
|
XPVM - GUI to PVM |
CODE - Code generation, e.g. PVM |
netCDF - Accessing netCDF files |
March'96 using MPI, NPAC at Syracuse University |
The homepage of the Tcl/Tk project is
|
Primary archive site is ftp://ftp.aud.alcatel.com/tcl |
A good collection of slides for information about Tcl/Tk, Java and Visual Basic can be found at
|
A good introduction talk to Tcl can be found at
|
Another good starting point on the WWW for TCL/Tk is the Page http://cuiwww.unige.ch/eao/www/TclTk.html |
The Agent/Communication Technology |
General Magic started as an Apple Computer Advanced Technology Group project, code name Paradigm, aimed at novel, better-than-just-windows and yet affordable and pervasive model for personal digital communications. |
The company was founded in 1990 by
|
Magic Cap -- an intuitive human interface, based on spatial navigation through components of a virtual office, extensible via portals to other offices and to other business units in a virtual downtown. |
Telescript -- a communication language and a propagation medium for intelligent agents, linking Magic Cap units with distributed databases and other Magic Cap units. |
Specific implementation of the concept, based on a series of PDA -- Personal Digital Assistants -- consumer electronic products, conforming to the Magic Cap model and developed by General Magic partners
|
General Magic sponsors include Sony, Motorola, Phillips and Matsushita in consumer electronic sector and AT&T in the telecommunication sector. |
It is too early yet to measure the level of success or failure of this line of products.
|
This was expected to be easy to accomplish for AT&T, but the WWW became a major competitive force over the last few years. |
General Magic decided recently to publish Telescript technology --- the distribution was started on a Telescript conference in October '95. |
At the moment, only Telescript binaries seem to be published -- source code and the whole Magic Cap sector remain with General Magic and partners. |
Incidentally, we note a lot of analogies between Java and Telescript histories. Both projects started with the focus on consumer electronic communicators, both are implemented in terms of interpreted object-oriented languages, both are based on abstract virtual machines and both use virtual assembler as a communication protocol, both started in the same time as secret future oriented corporate projects, and both were published in 1995. |
Future of both Java and Telescript is unclear as the degree of openness is yet to be clarified in both cases. In any case, both models provide now a powerful reservoir of corporate software design ideas that will be quickly assimilated by the Web community. |
In the Web context, Telescript is currently more suitable as a server technology and Java is more suitable as a client technology. |
However, this may change if Java team decides to drop the HotJava development, or when General Magic decides to publish Magic Cap. |
We have just installed and inspected Telescript at NPAC. It seems to be a much better supported software product than Java and it offers a rather powerful development environment for distributed computing, including visual class browsers and interactive visual debuggers. |
The Telescript language is a pure (everything's an object!) object oriented, interpreted, software agents-enabling language. |
To run a Telescript program you need a Telescript Engine. Various Engines are available for a number of different platforms.
|
There are two language levels to Telescript: High Telescript and Low Telescript.
|
The basic network configuration is to run a Telescript Engine on each node in the network.
|
The most important class in the Telescript language is the Process.
|
Place and Agent are the two important subclasses of the Telescript Process. |
A Place object represents a virtual space in which other objects can interwork (through local communication).
|
An Agent object is a Process object which can migrate between Places.
|
Places provide meeting locations for Agents.
|
Telescript Engines implicitly save and recover object state information. |
This is as a failure recovery mechanism where objects are automatically recovered to the state previous to a system failure. |
Persistency is also transparently supported when objects migrate. |
When an Agent transports itself (using the "go" method) from one Place to another Place on a different Engine:
|
Agents have "attributes" such as "identify" and "owning authority" which uniquely identify the Agent and the entity responsible for it.
|
Telescript objects also have a "permit" attribute which may be used to limit the amount of resources which they may consume
|
The Telescript world is divided into "regions".
|
Places and Agents are identified using "Telenames":
|
Telescript Agents can only interact when they are co-located within the same Place.
|
Roughly speaking, an object may have 3 types of method:
|
Important Place methods include:
|
These Agent methods include: |
"live" --- the `main' code of the Agent. A codification of the Agent's destiny! |
"go" --- self.go(ticket(telename(localName,regionName),...)) |
Distributed Applications - Ranging from Web-based services, to High Performance Applications Telescript has all the capabilities to develop these. |
Games - Telescript can be very useful in developing Interactive games, to facilitate users to connect and play various Interactive games, like Chess, tic-tac-toe, etc.. |
Corporate - Evidently the corporate people have already taken advantage of this Technology, in the form of Communicators, and other set-top devices. |
Also useful in Financial Management applications (Stocks are reported when a particular price is reached at the Stock Exchange) |
Personalized Services - Can be anything from a News-server, to E-mail ,to reminders, alarms, pagers, and any combination of the above in just a small new device like the communicator.
|
It is a general purpose, large-scale, distributed, multi-user, hypermedia information system |
Hyper-G is being developed by a team of researchers in Graz, Austria at the Institute for Information Processing and Computer Supported New Media(IICM) of Graz University of Technology and the Institute for HyperMedia Systems (IHM) at Joanneum Research in Graz, Austria |
As a Side Note:
|
The VRweb viewer is based on the Harmony (Hyper-G's native client -- More about it later) 3D Scene Viewer for Hyper-G and is designed to work in concert with popular World-Wide Web browsers, such as Mosaic and Netscape, as well as Hyper-G and Gopher clients |
The Byte article "Hyper-G Organizes the Web" in the November'95 issue, puts it very eloquently |
"An Avalanche of servers,documents, and hyperlinks, compounded by the exponential growth in web usage, has all but buried its usefulness for real work by any but the most determined. |
And the work needed to maintain a thriving WebSite can become a problem. |
But that is nothing compared to the The problem of organizing massive amounts of unstructured data on the web. |
The answer maybe Hyper-G? |
Thus Hyper-G was conceived to avoid certain problems associated with the current information system such as |
Disorientation:This problem is characterized by:
|
Authoring:
|
Information Distribution:
|
Browsing and Searching is designed to be Convenient in Hyper-G which offers a blend of:
|
All Information as part of a collection hierarchy: |
Every Hyper-G document is a member of one or more collections, which are in turn members of one or more collections. There are three types of collections:
|
So far clients have been designed for most of client platforms. |
Harmony is a native Hyper-G client for X-windows on UNIX and for SGI platforms |
It is a multi-process UNIX application written in C++ |
The primary process is the session manager that communicates with the server, provides navigational facilities, and coordinates all other activities |
Harmony displays the users position in a 2-dimensional map of the collection hierarchy |
The most catchy part about harmony(currently only available for SGI platforms) is the Information Landscape.
|
Amadeus is the native Hyper-G client for the windows platform, and it incorporated most of the features except the information landscape mentioned above |
Compatibility with Web and Gopher
|
Hyper-G is not perfect yet. |
Clients like Harmony and Amadeus do not handle defective or syntactically incorrect HTML documents.
|
However, it is a stable and powerful alternative that confronts, head on, the problem of organizing massive amounts of data on the WWW. |
Some Hyper-G servers around the world
|