Difference between revisions of "Private:psim"
From NMSL
Line 3: | Line 3: | ||
= Class Diagrams = | = Class Diagrams = | ||
− | < | + | <pre> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | class Frame { | |
+ | int no; // serial number | ||
+ | int layer; // layer number it belongs to, set to zero for nonscalable frame | ||
+ | double deadlineOffset; // deadline offset compared to the start of the video, in secs | ||
+ | int size; // frame size in bytes | ||
+ | } | ||
− | < | + | class Segment { |
− | + | int no; // serial number | |
− | + | Vector<Frame> frames; // reference to included frame | |
− | + | int totalSize; // aggregate size in bytes | |
− | + | } | |
− | + | ||
− | + | class Video { | |
− | </ | + | String filename; // video trace file path and name |
+ | Hashtable<int, Frame> frameTrace; // frames read from the trace file | ||
+ | Hashtable<int, Segment> segmentTrace; // segments generated by the prepareSegments(...) | ||
+ | void prepareSegments(int noFrame); // packetize frames into segment, | ||
+ | // noFrame indicates how many frames should we put in one segment; | ||
+ | // we might implement other packtization schemes later. | ||
+ | } | ||
+ | |||
+ | </pre> |
Revision as of 22:09, 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
class Frame { int no; // serial number int layer; // layer number it belongs to, set to zero for nonscalable frame double deadlineOffset; // deadline offset compared to the start of the video, in secs int size; // frame size in bytes } class Segment { int no; // serial number Vector<Frame> frames; // reference to included frame int totalSize; // aggregate size in bytes } class Video { String filename; // video trace file path and name Hashtable<int, Frame> frameTrace; // frames read from the trace file Hashtable<int, Segment> segmentTrace; // segments generated by the prepareSegments(...) void prepareSegments(int noFrame); // packetize frames into segment, // noFrame indicates how many frames should we put in one segment; // we might implement other packtization schemes later. }