DHTTP: A Cache-Friendly and Efficient Transfer Protocol for the Web
Jount work with Hua Wang .
We propose a new transfer protocol for Web traffic, called
Dual-traffic HTTP (DHTTP). The protocol splits the traffic between
UDP and TCP channels. A client always sends requests on the UDP channel.
The server may send a UDP response or decide to open
a TCP connection back to the client, depending on the size of
the response, network congestion, and other factors.
By eliminating the requirement that a transparent proxy be deployed
only at a network location that sees all packets from the clients,
DHTTP enables transparent caches to be freely integrated
into the Internet fabric, without any consideration of routing policies.
In addition, the comparative performance study of DHTTP and HTTP using trace-driven
simulation, as well as testing real HTTP and DHTTP servers,
showed a significant performance advantage of DHTTP when the bottleneck is
at the server and comparable performance when the bottleneck
is in the network.
We implemented a DHTTP server for
Linux by modifying Apache 1.6.3. We also modified the SURGE workload
generator from Boston University to speak DHTTP.
SURGE/DHTTP is useful not
only for benchmarking our DHTTP server but also as an example of a DHTTP
client implementation. The DHTTP implementation was done by Hua Wang of NYU
during his internship at AT&T Research.
Couple notes: first, we released
Apache/DHTTP and SURGE/DHTTP for
non-commercial use as the quickest way to get it out.
If enough interest develops
to justify the legwork, I will go through the non-restrictive open-source
release.
Second, we only tested our Apache/DHTTP implementation on a
Linux platform. Portings to other platforms are welcome.
Publications: