Examining performance characteristics of HTTP persistent connections and pipelining and modifying the server scheduling algorithm to punish bad netizens Ryan Frishberg and Keetaek Hong Many Internet browsers such as Internet Explore and Firefox utilize mass persistent connections, but not pipelining by default. Why is this, and how does pipelining affect the client and the server? We are going to characterize the number of connections and types of connections current web browsers open when downloading a web page and the related content. We will then consider four techniques that could be used: (1) opening up as many parallel connections needed, (2) opening up 1 persistent connection and serializing requests, (3) opening up 1 persistent connection and pipelining requests, and (4) a hybrid approach of opening up a certain number of persistent and pipelined connections. We are planning to look at the results both from the perspective of the client as well as the server. We expect the client to receive the best service (in terms of latency) when opening multiple parallel connections; however, the server will benefit the most from a pipelining strategy. Because of this, we hope to create a scheduling algorithm that punishes clients who try to open too many connections in parallel and rewards those who only open a few connections.