The Web As A Global Computing Platform [Slides from a presentation at the 7th International Conference on High Performance Computing and Networking Europe. Amsterdam, the Netherlands, April 1999. Associated paper published in Springer Lecture Notes in Computer Science, pp. 281-290] Qusay H. Mahmoud Etisalat College of Engineering Emirates Telecommunications Corp. e-mail: dejavu@acm.org Outline Web-based Global Computing Why Global Computing Computing using CGI A Web-based Distributed System Security Issues Related Work Conclusion Web-based Computing The Web current computing models include: Server-side Computing (CGI) Client-side Computing (Applets) These are limited computing models Were initially designed for processing fill-out forms Why Global Computing? Think of the Web as Programmable That is, use the Web as global computers Computing-intensive applications need: More computing power Better performance A Global compute server built out of subcomponents (idle nodes on the Internet) Use as many idle machines on the Internet as possible Computing using CGI Inconvenient: more than one program Limited I/O: getting input from user Lack of control A Web-based System Compute server with Dynamic Class Loader Security Manager Client (applet, CGI script, stand-alone) Logging facilities Searching for compute resources Broker Dynamic Class Loader Modularity: software components are fetched dynamically, if they are needed The client sends a URL of the program to be run by the compute server The compute server loads the program dynamically Client receives results Security Issues Loading arbitrary classes over the network is not secure The compute server’s file system is at risk Client’s code may perform some malicious actions (e.g. deleting files) Clients may overload compute server Compute server may crash Solution Compute server runs in a restricted environment (sandbox) Clients do not have access to compute server’s file system A security policy is devised and a custom security manager is implemented Searching for Compute Servers Search engines are used to locate URLs of homepages A broker is used to dynamically match clients’ requests Related Work ParaWeb: executes parallel program on a variety of heterogeneous hosts World-Wide Virtual Machine: a collection of CGI to extend Web servers functionality Legion: workstations connected by LANs. It is not web-based Globus: enable applications to integrate geographically-distributed computational and information resources Conclusion Java is a step-forward towards programmable Web No language has the Web as its run-time system So, we need: New models of programming and computation for global computers