Connection conditioning: architecture-independent support for simple, robust servers

  • Authors:
  • KyoungSoo Park;Vivek S. Pai

  • Affiliations:
  • Princeton University;Princeton University

  • Venue:
  • NSDI'06 Proceedings of the 3rd conference on Networked Systems Design & Implementation - Volume 3
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

For many network server applications, extracting the maximum performance or scalability from the hardware may no longer be much of a concern, given today's pricing - a $300 system can easily handle 100 Mbps of Web server traffic, which would cost nearly $30,000 per month in most areas. Freed from worrying about absolute performance, we re-examine the design space for simplicity and security, and show that a design approach inspired by Unix pipes, Connection Conditioning (CC), can provide architecture-neutral support for these goals. By moving security and connection management into separate filters outside the server program, CC supports multi-process, multi-threaded, and event-driven servers, with no changes to programming style. Moreover, these filters are customizable and reusable, making it easy to add security to any Web-based service. We show that CC-enhanced servers can easily support a range of security policies, and that offloading connection management allows even simple servers to perform comparably to much more complicated systems.