PARC HTTP-NG Project

HTTP-NG is a project that's existed for several years in different forms, aiming at a re-design of HTTP in various ways to make it more effective for various purposes. Some of these goals have been achieved in HTTP 1.1.

Others, however, have not. In particular, the PARC HTTP-NG project is interested in developing a binary distributed object protocol, for use with the Web, which is (1) optimized for Internet use; (2) at least as efficient as HTTP 1.1 for World Wide Web use; and (3) also provides direct support for remote service invocation models such as DCOM or CORBA. We believe encoded and unwieldy forms of such invocations are a sizable fraction of Web traffic. We believe that users of the Web and builders of distributed systems, such as the Xerox Corporation, would benefit from having one consistent system, rather than trying to cope with many different ones simultaneously.

We intend to develop and test such a protocol in cooperation with a group of interested parties. We are happy that the World Wide Web Consortium has started an actitity to define such a protocol, and look forward to having an IETF working group review the eventual protocol specification in an open forum to assure public consensus.

  • What's the plan?
  • The PARC project is organized as a set of activities. Each activity will have a technical lead, and will proceed in conjunction with the larger W3C activity, where possible. We intend to emphasize empirical results. The ILU distributed object system will be used for prototyping purposes. Currently, the activities are:

  • Web Characterization

    It is important to understand the actual system that is being optimized. Part of the project will attempt to characterize the kinds of tasks actually performed on the Web, and the kinds of documents that are retrieved. Additionally, a set of scenarios or standard tests must be developed so that protocol evaluation can be done in a systematic fashion. These scenarios must reflect the actual usage of the Web.

    NOTE: This has been so successful it's now a separate W3C Activity!

    Xerox participants: Jim Pitkow, Peter Pirolli

  • Transport Issues

    The lowest layer will be about message-oriented transport that works well for bursts of transactions. Simon Spero did an analysis of HTTP performance problems, which mainly illustrates performance lossage inherent in the way HTTP 1.0 uses TCP. One way to attack these problems is to provide virtual circuit multiplexing and the equivalent of XNS SPP support over a reliable byte-stream channel such as TCP/IP. Another is to promote the sharing of state between parallel TCP/IP streams. Both would seem to benefit from the use of Transactional TCP instead of plain TCP.

    Xerox participants: Mike Spreitzer, Bill Janssen

  • Remote Method Invocation

    The next layer will describe an object-oriented RPC protocol, maximizing use of protocol features found to be successful in existing Internet protocols. A possible challenge here is to enable the kind of anarchic evolution of interfaces seen in the Internet, without requiring extra round trips for type negotiation. Such flexibility and efficiency are rarely found together in strongly-typed systems. This work also involves the object model and type system used with this RPC protocol.

    Xerox participants: Bill Janssen, Mike Spreitzer

  • Interfaces for the Web

    On top of an object-oriented RPC layer, we will need to define a set of interfaces defined in the interface definition language of that RPC protocol which provide the functionality of the current World Wide Web.

    Xerox participants: Mike Spreitzer, Larry Masinter

  • PARC Reading List

  • The W3C HTTP-NG Project

  • Terms and Architectural Model

  • Binary Wire Protocol for HTTP-NG

  • WebMUX Transport Protocol for HTTP-NG

  • HTTP-NG Testbed Architecture

  • updated: $Date: 1999/03/26 02:49:21 $ GMT by $Author: janssen $