design and implementation of a caching system for streaming media over the internet ethendranath...

18
Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul IEEE Real-Time Technology and Applications Symposium, 2000

Upload: marian-hodge

Post on 17-Dec-2015

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul

Design and Implementation of a Caching System for Streaming Media over the Internet

Ethendranath Bommaiah, Katherine Guo, Markus

Hofmann,and Sanjoy PaulIEEE Real-Time Technology

and Applications Symposium, 2000

Page 2: Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul

Outline Focus on the design and

implementation issues Protocols

RTSP as control protocol RTP as data protocol

Performance Network load Server load Client start-up latency

Page 3: Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul

Application layer aware helper in the network

Page 4: Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul

The streaming cache design Helper

Caching and data forwarding proxy Each client is associated with on helper. Client requests are redirected to the

client’s helper. The helper serves the request itself if

possible, otherwise it forwards the request to the most appropriate helper or the server.

Page 5: Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul

The streaming cache design (Cont’d) Segmentation of streaming objects Client request aggregation

Temporal distance Ring buffer

Data transfer rate control Reduce startup latency

Page 6: Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul

Startup latency

Without helperL0 = 2(d1 + d2) + K

With helperL1 = d2 + max(K1r/b, 2d) + d2 + (K – K1)r/min(a, b)

The client does not start playing until its playout buffer is filled.

Page 7: Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul

Startup latency (Cont’d) The client does not start playing

until its playout buffer is filled. With helper:

Download K1 seconds of data to the client

Request K – K1 seconds of data from either its local disk, or another helper, or the server.

Page 8: Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul

Start-up latency when getting data from different sources

d = 0, b > a,

L1 = d2 + K1r/b + d2 + (K – K1)r/b

Page 9: Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul

Main module of a helper

Page 10: Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul

Implementation RTSP/RTP client and server Buffer management

Attach a new request to an existing buffer Allocate a new buffer

Cache management Maps URLs to local filenames Manage the disk space allocated for caching

Scheduler Manage the global queue of events Producer and consumer events

Page 11: Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul

Buffer organization

Page 12: Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul

Buffer management Modeled by producer and consumer events Garbage collection

Buffer temporal distance is statically chosen, but the number of packets within the ring might vary.

Solution Associate a reference count with each RTP packet. Use a garbage collection event to free packets after they

have been forwarded by the last consumer. Outgoing stream composition

RTP SSRC (synchronizing source identifier) Timestamp

Page 13: Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul

Timestamp translation

Page 14: Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul

Experimental results Server

Read server on a Sun Ultra-4 workstation with 4 processors, 1GB main memory

Helper 400MHz Pentium II with 250MB main memory

Client 300MHz Pentium Pro with 250MB main

memory Network

10Mbps Ethernet

Page 15: Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul

Traffic reduction ratio R = (Dout – Din) / Dout

Dout: data transferred from the helper to the client

Din: data transferred from the server to the helper

A larger value of R indicates larger server load and network.

Page 16: Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul

Prefix caching benefits

No cache replacement

Page 17: Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul

Buffer request aggregation benefits

Page 18: Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul

Improvement on startup latency

K = 5 sec