Re: Pointer: The Superhighway Steamroller

Simon E Spero (ses@tipper.oit.unc.edu)
Sun, 26 Jun 94 19:51:37 -0400


Over the past few days, I've been hacking away at an implementation of a
binary protocol suitable for use as a replacement for HTTP.

I've tried to get rid of the most blatant performance problems; the main
features are:

One time fast-track 'accept' negotiation, optimised for the usual sitation where
the favoured formats for each media type come from a small common subset-
the accept structure contains a 32-bit wide bit string indicating acceptance of
one or more well-known type, followed by a list of types either not in the
common-subset, or not which have non-default penalties.

Speculative transmission of non-requested documents; over long fat pipes,
connection latency counts for more than 90% of the time delay. Interruptable
speculative transmission allows the server to keep the pipe full if it
has a high degree of confidence that the client will be issuing a request for
an object.

Interleaved transmission of multiple objects; hypermedia often requires
data from more than one stream to be interleaved.

Unification of similar HTTP methods; several very similar HTTP methods are
merged into unified GET and PUT operations, with flags to indicate options
such as check-in and check-out, header only retrieval, and replacement
vs. adding a link.

The specification is written in ASN.1; the encoding rules used are the
draft Packed Encoding Rules (PER), which are probably the best encoding
rules in all of networkdom. If people are interested, I'll post the ASN.1
and the draft service specification, together with the requisite mods to
BGI.

Simon