Information Technology Reference
In-Depth Information
buffer maps exchange and video packets downloading can be carried out. This
general process is the basis of many well-known P2P video streaming systems
such as Joost, SopCast, GridCast, UUSee, etc.
Nevertheless, there are still some differences among different systems. In-
deed, Huang et al. [Huang et al., 2008] give a detailed analysis of design choices
in a P2P video streaming system. Specifically, apart from the push versus pull
architecture discussed above, the design space can be further characterized in
the following several dimensions.
Chunk Size. A movie file (or a stream of live video packets) can be divided
into a hierarchy of data units of different sizes. First of all, the term chunk
refers to the largest unit, of a size around 2 MB, to be used for buffer
map construction. The rationale is that the buffer maps themselves are
exchanged frequently and thus, cannot be of a large size. For example,
with a 200 MB movie file and a chunk size of 2 MB, each buffer map is
just a 100-bit vector. The next level of storage unit is commonly called
piece which is of a size of around 16 KB. A piece is a basic unit for
the media player's processing, representing a reasonably long viewable
segment of the video. However, a piece is still too large to serve as a
basic unit of data requesting and downloading. Thus, in many real-life
implementations, a smaller unit called sub-piece is also used. A sub-
piece is of a size of around 1 KB, representing a moderately large size for
e cient transmission (weighed against the transport protocol overheads)
while not too large to cause a high loss rate.
Replication Strategies. This design aspect concerns the usage of the stor-
age (i.e., disk space) locally in each peer. Specifically, a peer can store
just one single movie at a time (referred to as single video cache (SVC))
or multiple movies at a time (referred to as multiple video cache (MVC)).
Obviously, implementing a SVC is much simpler because by default the
cache should store the movie currently being played back. On the other
hand, implementing MVC entails at least two design considerations: (1)
selection and replacement of videos; (2) pre-fetching. Firstly, we need to
decide which other videos to download while the user is watching one
specific movie. When the cache is full, we also need to decide which ex-
isting movie should be replaced. Secondly, we can carry out pre-fetching
of other movies when the user is watching one. Yet pre-fetching other
movies can also interfere with the downloading of packets for the current
movie.
Chunk Selection. Given a certain status of the buffer map, a peer has to
decide which missing chunks should be downloaded first. Commonly
used heuristics include: sequential, rarest first, and anchor first. In the
sequential selection method, the peer simply tries to get the chunks that
are closest to the current playback point. In the rarest first strategy,
however, the peer tries to get the currently rarest chunks in the hope
Search WWH ::




Custom Search