您的位置:首页 > 理论基础 > 计算机网络

[高级网络的小论文]Video on Demand in P2P network

2009-12-19 23:35 375 查看
Providing video-on-demand using peer-to-peer networks

This paper argues the feasibility of building a Video-on-Demand system on current peer-to-
peer networks. The authors focus on how to ensure a small start-up time and a sustainable playback rate to enable a play-as-you-download experience. Pre-fetching and coding techniques, which gain significant benefit for efficiently disseminating the blocks of a video file, are mainly discussed in this paper. The paper is organized in introduction, model of the system, design, block scheduling for effective VoD, robustness of the system and conclusion.

P2P network are mainly used for bulk file transfer. But current P2P networks strive to increase the entropy of the content. Peers download pieces of the file at random order, which is impossible for a Video-on-Demand system because it requires the blocks to come in sequence. The main disadvantage of downloading sequentially is that the utilization will be low. So the fundamental question of enabling VoD(Video-on-Demand) on P2P network is the design of algorithms for scheduling the propagation of content. The main contribution of this paper is: show that it is possible to support a scalable play-as-you-download service using unstructured P2P network; propose heuristic algorithm to support efficient media streaming; find that behavior of the sever is very important in maintaining high performance; show network coding could further increase the playback rate.

The model of the system is built on the assumption that it has many users. The dissemination of video content would not rely solely on a server. The video file is initially present only on the server. Whenever a user wishes join the system, it contacts the central tracker. The central tracker will give it 4-6 nodes which are already in the system. Then the newly joined node will contact each of these nodes and incorporates itself into the client overlay mesh. Thus each node is oblivious of the other nodes in the system except for a small subset which designated as neighborhood. Also note that this relation is symmetric: if A is the neighbor of B, then B is the neighbor of A. Each node could exchange contents, messages only with their immediate neighbors. When a node loses its neighbors or wishes for more download rate, it can request additional neighbors. Note that both server and clients are constraint for resources.

In the design part, the authors started with some simple method, some refinement and then move to pre-fetching and network coding. But first, a few words on the simulator of the paper. The simulator is built to fulfill the parameters of the model. In the experiment, a video file is divided into 250 blocks. The playback rate can be calculated according to the method in Fig 1. A few simple methods are presented. They are random, sequential (client greedily fetch the next block it needs) and segment-random (client request a block from a segment it’s interested in).These methods are all poor in efficiency.
The progresses follow a regular pattern of mountains and valleys(Fig 3). Each mountain corresponds to the dissemination of one segment of the file. Valleys are the source of inefficiencies they arise for two independent reasons: a) the prolonged degradation during the dissemination of the last blocks of a segment (e.g. last block problems in each segment), and b) the slow rise in the initial phase of the dissemination of the following segment. The first problem can be solved by proper scheduling or coding techniques and the second can be solved by pre-fetching policy.
At first, only the server has the video file. Suppose that 250 blocks are divided into 10 segments, with 25 blocks each segment. Two types of algorithms are compared here: a) greedy policy for clients to download blocks useful for themselves and b) policy that the server dominate the system, it could send the blocks that are not of immediate interest to clients, but could be useful to system as a whole. Several policies are compared in the Figure on the right, but note that the server policy set to hybrid of Sequential + Client-Neighborhood
-Rarest performs best. Also note that the policies where server satisfies the clients performs poorly. This can be explained from the fact that the server is the only node have the content initially, hence it plays a crucial role in the dissemination of contents.
On the client policies, two techniques are discussed on the system. Local-Rarest policy, which improves the peaks of the progress and reduces the period of degradation in the Bit Torrent system, doesn’t perform well in the VoD system. This is due to too many idle phases produced when some blocks take very long to propagate from the nodes holding a block copy to the areas where they are needed. Pre-fetching, which means download the future segments with a small possibility, prevents the long period of waiting for initial blocks of a segment to propagate. After considering a number of policies with pre-fetching, the probabilistic-first-range-random-second-
range-rarest performs well consistently well across different scenarios. This policy is built with a biased coin. Typically with 90% probability we choose the first segment, with 10% probability we choose the second segment.

Network coding has been proposed for improving the throughput of a network for bulk data transfer and it enables the node to encode the data blocks. Network coding is illustrated as the right figure. The file initially exists only at the server. When node A contacts the server, the server combines all the blocks of the file to create an encoded block E1. The server picks random coefficients c1, c2… cn, and generates E1= , where bi represents a block. The server then sends node A E1 and the coefficient vector C = (Ci). Note that all the coefficients are chosen from the operations done in a finite field. When node A sends a block to node B, A similar combines the already encoded blocks it has (E1 and E2) and sends node B, the encoded block E3 = C1’’*E1 + C2’’*E2 and the new coefficient vector C1’’*C + C2’’*C’. Because VoD system cannot accept waiting for downloads before starting decoding the blocks, we strict network coding to a given segment only. Thus a node only needs to wait till it download 10 blocks. The performance of network coding is considerably good, according to the following figure. In A, the blocks are randomly distributed among all nodes. So the network coding does not provide much benefit. However, in scenario B, only one node has all content, the network coding provides a quick start-up.
Scenario C and D show the dynamic of arrivals in the system. In scenario C, 2 node come per round, and in scenario D, 50 nodes come per 10 rounds, and the system remains good. This is due to the early nodes use their spare capacity to serve later nodes.

Robustness of the system is tested in several policies; the network coding policy remains far more efficient and makes the system robust, as you can see from the following figure. Network coding delivers play back rates close to 80% even under massive departures. That is because network coding introduces a lot of randomization into the system and nodes do not ever wait on a particular block. Thus, network coding is the key in the robustness of the system.

Considering a system, there is one server node whose capacity is 2. 250 nodes are free riders, meaning that they have upload capacity 0 and download capacity 0. 100 nodes have a link capacity of 2; 50 nodes a link of capacity 6 and the remaining 50 nodes the capacity of 10. As can be seen from the right figure, Netcoding-Client-90-10-Two-Ranges tops all policies, which showed the robustness of the system and good scheduling algorithm. This way is certainly a good way in implementing a P2P VoD system.

In this paper, the authors examine the problem of designing a near Video-on-Demand service using mesh-based peer-to-peer networks. Algorithms for scheduling the propagation of blocks are argued in this paper. The algorithms are very important for determining both utilization of the system and the ability of the nodes to play the contents as they download it. The paper comes to a combination of algorithms and techniques to build a VoD system on a P2P network. Among all strategies, pre-fetching and network coding totally gives 50% improvement. The system is highly robust. It could provide a service of small start-up time and high playback rate.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐