「串流代理伺服器平台」之設計與實做 Design and Implementation of a Streaming Proxy Server Platform for Internet Video Streaming 國科會自由軟體專案計畫 (NSC E ) 國立屏東科技大學資訊管理系 童曉儒 2006/11/10
Outline Background Design goals Segment-based Caching Schemes Architecture of Streaming Proxy Server (SPS) Experimental Results Conclusion
Background Internet video streaming: –Challenges: Significant WAN delay jitter and unstable throughput. –Current implementation: No proxy, large client buffering/ long initial delay. Proxy-assisted video streaming –Segment-based caching –Reducing initial delay –Reducing WAN traffic by locally sharing videos.
Background (Contd.) Proxy-assisted video streaming
Design Goals Streaming Proxy Server (SPS) –Web compatible: user transparent (web server, media player, Http1.1). –Configurable: provide generic modules which can be configured into different segment-based caching schemes. –LAN-stream/WAN-segment hybrid transmission control: provide stable stream quality. Two-year project: –First year: unicast-based approach (94). –Second year: unicast/multicast hybrid approach (95).
Segment-based Caching Two schemes were implemented. Prefix Caching : –Video prefix is cached in SPS. –Upon request, SPS first sends video prefix to clients. –SPS then retrieves video suffix from the server. –Reducing initial waiting time. Suffix-Window caching (proposed by us) : –SPS further dynamically caches a window of video suffix for each video stream. –Other clients requesting the same video will first check the suffix-window segments available in SPS before asking the video suffix from the server. –Video sharing -> reduce WAN traffic.
System Architecture of SPS Three modules: Storage management subsystem (SMS), Caching policy subsystem (CPS), flow control subsystem (FCS). System Architecture of SPS
System Architecture- SMS Performance monitoring interface. System configuration interface. HTTP Connection management. Cache resource management.
System Architecture- CPS Defining configuration parameters. Defining caching policy. Caching policies management
System Architecture- FCS Stream flow controller: –Streaming between client and SPS. –Fine-grained datagram. Segment-based flow controller: –Segment file retrieval between SPS and server –Coarse-grained segment. –ATCP+ (proposed by us)
Adaptive TCP-Trunking Flow Control (ATCP+) A segment is divided into K sub-segments. K sub-segments are download in parallel by using Multi- Thread Download mechanism. K is dynamically adjusted subject to the sustainable network throughput. Single-thread download Multi-thread download
SPS User Interface
Experimental Result- Functional test SPS hardware: ?? SPS software: Window XP, Java, P-4
Experimental Result- Performance test Random access of 5 X 1.5-bps MPEG-1 videos by increasing client numbers under WAN or LAN. Performance metrics: –Initial delay. –Sustainable throughput. –K value. –Pressure test.
Initial Delay- LAN 區域網路 initial delay 圖
Initial Delay- WAN 廣域網路 initial delay 圖
Sustainable Throughput- SPS-to-Client
Sustainable Throughput- Web server-to-SPS
K Value- Domestic Web Site
K Value- Oversea Web Site
Pressure Test
Conclusion SPS provides a platform which can be flexibly configured according to different segment-based caching schemes. Two novel features are proposed and implemented –Suffix-window caching: achieves efficient video sharing particularly under an intensive video access environment (like new-on-demand). –ATCP+: provides a stable network throughput. Experiment result shows SPS with suffix-window running on a PC (?) can support over 50 concurrent MPEG-1 video accesses.