DHTTP: A Cache-Friendly and Efficient Transfer Protocol for the Web

Jount work with Hua Wang .

Source download

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: