Check out the new USENIX Web site.

Herman Rao, AT&T Research

Abstract:

iPROXY - Cross-Platform, Browser-Independent Middleware

iPROXY is middleware designed for applications that access Web services, such as browsers like Netscape and IE, loaders, search engines, virtual machines, indexing tools, robots, intelligent agents, and Intranet applications. iPROXY allows accessing, caching, and processing of Web data, and provides its own built-in Web server.

As more resources become available on the Internet, it is becoming increasingly more difficult to locate, manage, and integrate them. Many Internet Browsers like Netscape, Microsoft IE, and Mosaic have been introduced to make network searches and information retrieval more convenient and productive for end-users. Though perfectly adequate for searching and retrieving, these browsers are overloaded and monopolistic. Most do not offer open architectures so other applications can also use browser functions. Thus, applications must duplicate browser functions in order to access Web services, and no general way now exists for applications (including browsers) to share caches. Customizing most browser features (like choosing different proxies for different domains, turning caches on and off, clearing cached data, and the like) is difficult or even impossible; Netscape's plug-ins, for instance, are primarily intended to allow to support various file formats. iPROXY addresses these issues by introducing a new middleware for browsers and other Web application programs. It supports APIs for retrieving Web data, hooks for processing the data, and mechanisms for accepting notifications from remote servers. With a built-in Web server, iPROXY elevates the client/server communication model used by WWW to peer-to-peer communication. In addition to serving as middleware for applications, iPROXY also enables end-users to download home-page sets (for off-line reading or "to-go"), customize browser features, maintain caches, and post files.

iPROXY is designed to run under Win95, Windows NT, and UNIX-like OSs. It is transparent to existing browsers, which treat it like a regular proxy server. Using iPROXY as a browser proxy allows applications to share caches with the browser, thus avoiding the redundant network accesses that occur when applications using a browser as their GUI.

herman@research.att.com