Efficient programmable middleboxes for scaling large distributed applications
Abstract
A range of application classes is emerging in the Internet whose characteristics differ considerably from those of the point-to-point request/response protocols, which have dominated its recent past. Sensor applications, peer-to-peer systems, and massive multiplayer on-line games are multi-point applications that share both a need for the timely correlation of data generated by different participants in a session and a potentially unlimited number of session participants. We propose the use of middleboxes residing in the network to help in the scaling of these applications. As these emerging applications are not readily subject to standardization, we believe that a programmable model, in which a given middlebox can be instrumented to support various applications either simultaneously or over time, is desirable. We describe our work to date in building such a middlebox that makes use of hardware assists in its data path to maintain high performance.