This page documents the development of a discrete event simulator for P2P video streaming applications. This simulator captures important features of data-driven video streaming systems. In particular, it is designed to evaluate: (i) the performance of various segment scheduling algorithms; (ii) the potential of network coding in multi-layer P2P video streaming systems.
Class Diagrams
<UML density="201"> Class.Frame("Frame: a video frame read from a trace file") ("no:int:serial frame number",
"layer:int:which layer is this frame in, set to zero for nonscalable file", "deadlineOffset:double:time offset of deadline", "size:int:frame size in bytes")
(); drawObject(Frame); </UML>
Segment?
<UML density="200"> Class.Video("Video: a coded stream that may have multiple layer") ("fileName:String:trace filename",
"frameTrace:Hashtable<frameNo:int, frame:Frame>:frame-level trace read from the trace file", "segmentTrace:Hashtable<segmentNo:int, segment:Segment>:segment-level trace generated by function prepareSegment(...)")
("prepareSegment(...):void:map the frameTrace to segmentTrace, we probably want to support multiple strategies later, but implement time-based one for now."); drawObject(Video); </UML>