We discuss current NII technologies including HTML, HTTP, MIME,CGI,PERL4 and Web search engines and the changes expected by including
|
Understood if not Web Integrated conecpts such as RDBMS, Multimedia servers, Compression, Collaboration, GIS/terrain rendering, collaboration(MOO), Agents, PDA's, security, Opendoc, SGML,HyTime, CORBA,OLE, Windows95/NT
|
Hardware trends such as ATM, ISDN, Wireless
|
Integrating Vision such as WebWindows, WebWork(metacomputing), Personal servers, Televirtuality
|
New Web approachs such as Java, VRML, PERL5, Metadata, Webservers
|
Education and other application requirements
|
Current Web/ATM based education including Syracuse's CPS600, Phy105 and Living Schoolbook projects
|
New Web integration ideas including WebTools, Webtop Publishing, WebDBMS, WebSpace, WebFlow, and the interpolating WebScript
|
We discuss current NII technologies including HTML, HTTP, MIME,CGI,PERL4 and Web search engines and the changes expected by including
|
Understood if not Web Integrated conecpts such as RDBMS, Multimedia servers, Compression, Collaboration, GIS/terrain rendering, collaboration(MOO), Agents, PDA's, security, Opendoc, SGML,HyTime, CORBA,OLE, Windows95/NT
|
Hardware trends such as ATM, ISDN, Wireless
|
Integrating Vision such as WebWindows, WebWork(metacomputing), Personal servers, Televirtuality
|
New Web approachs such as Java, VRML, PERL5, Metadata, Webservers
|
Education and other application requirements
|
Current Web/ATM based education including Syracuse's CPS600, Phy105 and Living Schoolbook projects
|
New Web integration ideas including WebTools, Webtop Publishing, WebDBMS, WebSpace, WebFlow, and the interpolating WebScript
|
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
|
Personal Digital Assistants -- WebNewtons done right -- Telescript (agent based communication) and Magic Cap operating system
|
Critical feature is realtime, "come as you are" adaptive linked computers and people
|
Judgement support extends decision support into an "exploratorium" scenario as crises tend to be unexpected
|
Major need to search community and government databases for immediate information on resource location and availability etc. Metadata(summaries) essential
|
Collaboration between commander in field , specialized anchor desks (domain experts) and those in field.
|
User Interface essential as user will be tired and searching unfamiliar data
|
Geographical Information Systems and browsing multiple video sources (InfoVision again) will be critical as judgements will depend critically on spatial data.
|
This is future model for (inter)national distributed research
|
Rich Collaboration environment essential as collaborative research requires nontrivial person to person interactions
|
Searching distributed databases basis of much scholarly work (infoVision and Digital Library)
|
Metacomputing for multidisciplinary, multi-institutional simulations and for control and data storage and analysis from remote instruments whether satellites, telescopes, accelerators etc.
|
Distributed (people) Software Engineering support for production of distributed computing software
|
Needs workflow support as distributed enterprise
|
Evaluate, Install, Maintain, Enhance as necessary WebWindows and base NII Services
|
Security -- special needs of large data transfer of proprietary information
|
Object and Database services including access, search, dissemination and especially configuration control
|
Collaboration services including linking of people, computation and databases in configuration controlled systems engineering environment
|
Metacomputing services linking many thousands of programs (with wrappers/agents to allow re-use of existing code) in distributed groups as needed for specific multi-disciplinary optimizations
|
WebWork is based on a three-layer architecture shown in figure 2, including: World_Wide Virtual Machine (WWVM) in the (bottom) layer 1, Middleware layer 2 of agents, wrappers, mediators etc., and high level programming environments (e.g. HPFCL) and user interfaces (e.g. WebFlow) in the (top) layer 3.
|
All base WebWork concepts can be implemented in terms of today's Web technologies (HTTP, MIME, CGI) and a prototype is under development at NPAC.
|
The overall design is open and ready to upgrade the existent (e.g. browsers or servers) and include new (e.g. agents or distributed object brokers) Internet/Web technologies
|
One starting point for the WebWork construction is provided by NPAC WebTools -- a CGI-extended Web server with enhanced content authoring and database navigation functionalities. WebTools Server is used as a prototype WebWork node server.
|
NPAC WebTools can be viewed as an instance of Web Productivity Tools (navigators, editors, databases), developed collectively by the Internet/Web community.
|
We view these emergent open tools as central to develop and maintain Web based World-Wide Metacomputing.
|
Software exchange and integration tools are urgently needed. Without it, 'pervasive Web' will become soon too complex to maintain and will be dominated by closed corporate products.
|
One such attempt is made by the HySource CASE package in NPAC WebTools. So far, we developed HyPerl World (Screen 3) of the WebTools source code and we now integrate it with Java (Screen 4) in the form of HyJava World (Screen 5)
|
These tools will evolve towardsVirtual Software Laboratory -- a collective distributed CASE framework for virtual corporation of WebWork developers.
|
WebWork pilot project is a collaboration between NPAC, Boston University and Cooperative Systems Corporation, MA. It will prototype a candidate VSL, WWVM, Java based user interfaces, and port selected Grand/National Challenge applications to this platform.
|
The project will use NPAC WebTools to bootstrap the software process and will prototype WWVM in terms of current Web technologies (Screen 1)
|
Technically, early WWVM will include existent Web Servers with add-on CGI (Perl) scripts that build server-to-server communication and offer document database management, and module publication and linkage/instantiation support.
|
This base model will be further extended and refined by using and driving evolving Web technologies. For example, the disk-based model in Screen1a will likely evolve towards memory-mapped model based on multi-threaded interpreted compute-servers (Screen 1b)
|
Illustrates implementation of WebWork message passing in terms of
-
a): current Web technologies (HTTP/CGI), and
-
b) next generation multithreaded compute-servers
|
This diagram illustrates point-to-point communication between Web servers, used to implement a webflow channel between compute-web modules. Two extreme implementation modes are described: a) based on today's Web server technology, and b) based on thread memory mapped high performance implementation, expected in future Web compute-servers. Subsequent steps, represented by a sequence of labelled lines in the figure, are described below in both implementation modes.
|
a) Today's Web server mode: (1) -- M1 locks O1 on S1 disk. (2) -- M1 sends POST HTTP message to S2 with M2 URL in the header sector and with O1 URL in the body sector. (3) -- S2 activates M2 via CGI and passes O1 URL as a command-line argument. (4) -- M2 sends GET method to S1 with O1 URL in the header. (5) -- S1 fetches O1 from its document tree. (6) -- S1 sends the content of O1 to M2 which completes the GET exchange. (7) -- M2 saves O1 by overwriting current I2 on the S2 disk. If I2 is
locked, M2 waits (blocks). (8) -- After O1 is saved on the S2 disk, M2 returns 'end-of-transfer' acknowledgment to M1 which completes the POST exchange. (9) -- M1 unlocks O1 and exists.
|
b) Compute-server (future Web server) mode: (1) - M1 locks its memory object O1. (2) - M1 checks if socket connection to M2 is in M1 connection table. If yes, go to (5) below. Otherwise, M1 connects to S2 and sends M2 creation script. (3) - S2 spawns M2 and acknowledges. (4) - M1 receives acknowledge message and saves new socket in connection table. (5) - M1 gets O1 handle. (6) - M1 writes O1 to M2 using socket lib calls. (7) - M2 reads O1 using socket lib calls. If I2 is free, O1 buffer is
copied directly to I2 buffer. If I2 is locked, M2 creates O1 clone and blocks. (8) - M2 sends acknowledge to M1. (9) - M1 unlocks O1 and blocks.
|
WebWork Interpolates and Integrates pervasive Web HPCC and (nonHPCC) commercial software as in following table comparing computing concepts in three "worlds"; HPCC -- Commercial mainstream -- Web
|
Current Web model needs computational extensions for banking/financial applications, manufacturing, interactice shopping/videogames etc
|
HPCC can provide Web both parallel computing programming models, libraries and language/runtime concepts which coordinate components of distributed or parallel system
|
HPCC needs the Web (or equivalent) to give it viable distributed computing and software engineering base
|
The Web interpolates between "flaky" research software and solid but closed corporate solution. Clear trend away from proprietary towards open software models.
|
RSA155 requires about 300 teraops hours to solve with NFS
|
RSA129 needed about an order of magnitude less time. Can be done today faster if use Number Field Sieve
|
We have roughly one to five million independent calculations which form the rows of matrix (after clever graph theory manipulates and combines)
|
Set of master servers publish problem to solved with suitable demos, description of algorithm and full marketing attention.
-
Clients download software, run tests and certify with test case.
-
Clients pick the set of a's they hope to do in a week
-
PC's pick the smaller numbers needing less memory and CPU power
-
Cray's pick the largest hardest numbers
|
Clients return results -- not so easy except by email and cut and paste
|
Best done as a set of cooperating servers where server performing factorization publishs it solution as a file on the WWW.
|
Cooperating servers also better for computer administrators as can control set of clients at a given site
|
Initially use humans but replace by agents when software ready
|
In WebWork, we also propose an interpreter of HPFCL -- High Performance Fortran Coordination Language, which will support coarse grain distributed HPF computation. Compiled HPF modules, published on individual nodes of the WWVM, will be easily invoked by HPFCL scripts, integrated with GUI front-ends (such as Khoros etc.) and employed in collective computation on the WWVM.
|
In WebHPL we further explore the concept of interpreted HPCC language environments and we propose an object-oriented Web based parallel programming environment supporting HPF and C++ for distributed metacomputing.
|
WebHPL, or Web based High Performance Languages, is our most ambitious project in the area of Web and HPCC integration. It addresses both base software engineering and applications, and it refers both to backend and frontend layers of language compilers and interpreters, seeking a uniform programming model for interactive HPCC.
|
Agent
-
A middleware broker module that facilitates WebWork operation
|
Application
-
A WWVM-runnable compute-web and its clients
|
Bottom-Up Process
-
A Software process that extracts reusable modules from applications
|
Channel
-
A communication link between two ports used to exchange objects
|
Client
|
Compute-Server
-
Evolving Web Technology Server, driven by WebWork computation
|
Compute-Web
-
A composite module given by a dataflow network of modules linked by channels
|
Database
-
A server document tree with atomicity, integrity and concurrency control support
|
Document
-
Web-viewable instance of an object
|
Editor
-
A Web Browser with enhanced WebFlow authoring functions
|
HPFCL -- HP-Fickle for High Performance Fortran Coordination Language
-
Coordination Script and Interface builder for HPF modules
|
Middleware
-
Any WebWork Module that is not a client or part of the WWVM
|
Module
-
Computational Unit with specified I/O ports and CGI interface to a server
|
Object
-
An instance of Object type used by modules as a (communication) unit
|
Object Type
-
Internet-public or WebWork-private MIME type
|
Port
-
A channel terminal with specified object type published by a module
|
Problem
-
A published compute-web with missing modules
|
Problem Solving Environment
-
A WebWork enabled, agents aided collaborative process of matching problems with solutions
|
Publication
-
WWVM-runnable module with a Web-published interface
|
Server
-
Any Web server with database support or a compute-server
|
Software Process
-
A VSL based two-tier (top-down, bottom-up) WebWork Software Engineering process
|
Solution
-
A published module to be matched with a problem
|
Top-down Process
-
A software process that encapsulates applications as modules
|
VSL or Virtual Software Laboratory
-
Web Productivity Tools based CASE (Computer aided Software Engineering) tools that facilitate the software process
|
WebFlow
-
User level WebWork dataflow based application development environment
|
Web Productivity Tools
-
Any Web Software that facilitates WebWork Authoring
|
WebScript
-
WebWork coordination and management language in layer 2 which incorporates agents and enables a software process
|
WebTools
-
An instance of Web Productivity Tools developed at NPAC to bootstrap the Virtual Software Laboratory or VSL
|
WebWork
-
Hierarchical network of applications and the associated software process
|
WWVM or World Wide Virtual Machine (Layer 1 of WebWork)
-
WebWork Infrastructure layer given by an interactive surface of interconnected servers
|