Difference between revisions of "Private:psim"

From NMSL
Line 3: Line 3:
 
= Class Diagrams =
 
= Class Diagrams =
  
<UML density="180">
+
<UML density="200">
Class.A("aaaPoint")
+
Class.Frame("Frame: a video frame read from a trace file")
("#x:int", "#y:int")
+
("no:int:serial frame number",
("+set(x:int, y:int)",
+
"layer:int:which layer is this frame in, set to zero for nonscalable file",
"+getX():int",
+
"deadlineOffset:double:time offset of deadline",
"+getY():int",
+
"size:int:frame size in bytes")
"-debug():void");
+
();
drawObject(A);
+
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>
 
</UML>
  
  
 
= Implementation Concern =
 
= Implementation Concern =

Revision as of 21:49, 4 March 2009

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="200"> 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>


Implementation Concern