Difference between revisions of "Private:psim"

From NMSL
Line 4: Line 4:
  
 
<UML density="200">
 
<UML density="200">
Class.Frame("Frame: a video frame read from a trace file")
+
Class.Frame("Frame")
("no:int:serial frame number",
+
("no:int",
  "layer:int:which layer is this frame in, set to zero for nonscalable file",
+
  "layer:int",
  "deadlineOffset:double:time offset of deadline",
+
  "deadlineOffsetInSec:double",
  "size:int:frame size (in byte)")
+
  "sizeInByte:int")
 
();
 
();
 
drawObject(Frame);
 
drawObject(Frame);
Line 16: Line 16:
  
 
<UML density="200">
 
<UML density="200">
Class.Video("Video: a coded stream that may have multiple layer")
+
Class.Video("Video")
("fileName:String:trace filename",
+
("traceFileName:String",
  "frameTrace:Hashtable<frameNo:int, frame:Frame>:frame-level trace read from the trace file",
+
  "frameTrace:Hashtable<frameNo:int, frame:Frame>",
  "segmentTrace:Hashtable<segmentNo:int, segment:Segment>:segment-level trace generated by function prepareSegment(...)")
+
  "segmentTrace:Hashtable<segmentNo:int, segment:Segment>")
("prepareSegment(...):void:map the frameTrace to segmentTrace, we probably want to support multiple strategies later, but implement time-based one for now.");
+
("prepareSegment(...):void");
 
drawObject(Video);
 
drawObject(Video);
 
</UML>
 
</UML>
 
 
= Implementation Concern =
 

Revision as of 21:53, 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") ("no:int",

"layer:int",
"deadlineOffsetInSec:double",
"sizeInByte:int")

(); drawObject(Frame); </UML>

Segment?

<UML density="200"> Class.Video("Video") ("traceFileName:String",

"frameTrace:Hashtable<frameNo:int, frame:Frame>",
"segmentTrace:Hashtable<segmentNo:int, segment:Segment>")

("prepareSegment(...):void"); drawObject(Video); </UML>