Building an Internet Caching System for Multimedia Content Delivery Songqing Chen July 9 (Friday), 10:00 am McGl 104 Committee: Phil Kearns Dimitrios Nikolopoulos Haining Wang Zhen Xiao (external member, AT&T Research) Xiaodong Zhang (Chair) ========================================================= Abstract The proxy has been widely and successfully used to cache the static Web objects fetched by a client so that the subsequent clients requesting the same Web objects can be served directly from the proxy instead of other sources faraway, thus reducing the server's load, the network traffic and the client response time.  However, with the dramatic increase of streaming media objects emerging on the Internet, the existing proxy cannot efficiently deliver them due to the following reasons. First, streaming media objects are generally very large. To directly cache them entirely as caching static Web objects will easily exhaust the limited cache space and result in poor cache performance. Second, clients requesting streaming media objects always demand continuous streaming delivery without playback jitter and with a small startup latency. Unfortunately, these rigorous real time requirements cannot be satisfied by the existing proxy. In this dissertation, we design, implement, and evaluate a cost-effective and high performance proxy-based Internet caching system for streaming media delivery. Addressing the conflicting performance objectives for streaming media delivery and comprehensively considering their trade-offs, we first propose an efficient segment-based streaming media proxy system model. This model has guided us to design a practical streaming proxy, called  Hyper-Proxy, aiming at delivering the streaming media data to clients with minimum playback jitter and a small startup latency, while achieving high caching performance. Second, we have implemented Hyper-Proxy by leveraging the existing Internet infrastructure. Hyper-Proxy pushes the streaming functions from the server to the proxy, which makes the through streaming traffic run on UDP suffer from less data loss and no blocking. The evaluation of Hyper-Proxy on the global Internet environment connecting Japan and US west coast and local network environment (e.g. LAN) shows it can provide satisfying streaming performance to clients while maintaining a good cache performance.  Finally, to further improve the streaming delivery efficiency, we propose a group of Shared Running Buffers (SRB) based proxy caching techniques to effectively utilize proxy's memory. SRB algorithms can significantly reduce the media server's load and network traffic and relieve the bottlenecks of the disk bandwidth and the network bandwidth. The contributions of this dissertation are threefold: (1) we have studied several critical performance trade-offs and provided insights into Internet media content caching and delivery. Our understanding further leads us to establish an effective streaming system optimization model; (2) we have designed and evaluated several efficient algorithms to support Internet streaming content delivery, including segment caching, segment pref etching, and memory locality exploitation for streaming; (3) having addressed several system challenges, we have successfully implemented a real streaming proxy system and deployed it in a large industrial enterprise.