1. Trang chủ
  2. » Luận Văn - Báo Cáo

HYBRID PULL PUSH PEER TO PEER VIDEO STREAMING

26 324 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 901,16 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

HYBRID PULL PUSH PEER TO PEER VIDEO STREAMING

Trang 1

STUDENT SCIENTIFIC RESEARCH CONTEST

2012

PROJECT:

HYBRID PULL PUSH PEER TO PEER VIDEO STREAMING

Supervisor: Dr Nguyen Dai Tho

Trang 2

The Peer to Peer Streaming System is using more popular in this world but most of that existing systems still can provide the services for non-interactive environment on the Internet Besides, there are many ways to deal with P2P system, which a regular way is the usage of pull and push protocols Some researches have investigated on these two protocols and how to interleave them

to obtain the better performances of real time streaming in peer to peer network In these works, they used pull protocol as to retrieve pieces of data and push protocol as to spread the data to the entire network These two protocols were set to two-phase cycle which continuously switches from one push to one pull and so on The problem is how we know exactly that interleaving protocols like that will give best performances or doing more pull then switch to some push is better In this paper, we consider a two pull and one push cycle and test its performance on many kinds of configured network with simulator environment.

Trang 4

Table of contents

I INTRODUCTION 6

II PIECES SELECTION POLICY 8

III SIMULATION …….12

1 Introduction to Peersim [6]: 12

2 Simulation model: 12

3 Peersim Interfaces: 12

4 Peersim Classes: 13

IV EXPERIMENTS 14

1 Parameter for evaluating the performance 14

2 Configuration file 14

3 Simulation experiments 18

a Completion time 19

b Maximum delay 20

c Successful delivery rate 22

V CONCLUSION AND FUTURE APPROACH 24

VI REFERENCES: 25

Trang 5

Table of figures

Figure 1: Sending out request interleaving algorithm 9

Figure 2: Pull Cycle with full action 10

Figure 3: Push Cycle with full action 11

Figure 4: Overall completion time of 1000 – 500 – 16 network 19

Figure 5: Overall completion time of 5000 – 500 – 24 network 19

Figure 6: Overall completion time of 10000 – 500 – 32 network 20

Figure 7: Chunk delivery delay of 1000 – 500 – 16 network 20

Figure 8: Chunk delivery delay of 5000 – 500 – 24 network 21

Figure 9: Chunk delivery delay of 10000 – 500 – 32 network 22

Figure 10: Successful delivery ratio of 1000 – 500 – 16 network 22

Figure 11: Successful delivery ratio of 5000 – 500 – 24 network 23

Figure 12: Successful delivery ratio of 10000 – 500 – 32 network 23

Trang 6

I INTRODUCTION

Nowadays, peer to peer network is becoming more and more necessary for streaming

in human life due to some disadvantage of server model before While server model must need a server to control the network, and cannot spent the power ofclients computer, therefore, it cause waste to the network resources Oppositely, peer

client-to peer network can build easily on the Internet, does not need much resources but itstill can serve millions users in the world This kind of network use clients as the peer

to spread streaming data to other peers that connected to them The most importantthing is these peers can exchange data themselves and does not need a server tocontrol their work, that make constructing the network is faster and also easy toupgrade

Besides the power of peer to peer system, along the development of the Internet,many different P2P system were build for file-sharing like Napster, Gnutella, Kazaa

or for delivery content and video like Skype…etc Therefore, human requirement forstreaming system is harder day by day, especially on streaming delay and bandwidth

In order to improve the performance of peer to peer system, researchers make a lot ofworks on these existing networks, about the network topology and the fundamentalproperties of them, which are mentioned in [1] In the paper the author showed thatapplication can be file-based or stream-based The file-based services can be usedonly when the total file is transferred, so that average throughput and also total delayare the concern of performance In the stream-based application, the key is how tominimum the throughput and the latency of streaming information Besides, in peer topeer network, the data can be split to many smaller chunks or pieces, which makeeasier transmission, also called chunk-based system

The chunk-based peer to peer network overlay can be classified into three mainclasses:

Push: One peer (parent) can pass a piece to its children (another peer) without

asking them which one to push Therefore, it is efficiently when multiples pieces

is push only to same peer but others never arrive in the non-structured system

Trang 7

Push is popular for the structured or tree-based network model that has lasting relationship between peers

long-Pull: One peer (child) instead of waiting for chunks pushed by their parent, it

actively asks for pieces from other peer (parent) but also without knowledge ofwhich chunks their parent have Thus, the requested pieces may be server or not,

in the worse case, the child cannot found that piece in any of their parent, then thedata is missing at last Pull system can deal with unstructured network, where thepeer can seek for multiple parents, exchange the information they have, and thencomplete the request data

Status-based: The peer exchange status signal to describe the download process.

For example, zero for a missed chunk and one for available chunk

An interesting approach is interleaving the two protocols above, pull protocol and pushprotocol to make a combined protocol which can give better delay guaranteed Thereare a few paper concerns about combining pull and push protocol, such as [3] and [4].However, they used pull system to fill the entire stream data or building a structuredtree in network and push system to spread data content faster These works does notconsider about how to interleave these two protocol mechanisms

[1] provided a way to interleave two protocols and give examination on testing insimulation using a piece selection policy Depend on that, [2] make someimprovements on the selection policies, which give better performance for the peer topeer network, especially the total delay and completion time

Nevertheless, in this interleaving method, also the other combination methodologies,the researchers only work on one to one protocol, that means the system did a pull andswitch to push, so on Therefore, a problem can be seen here is: “Is the one to one pullpush combination system best for chunk based peer to peer network?” Along the result

of one to one interleaving mechanisms given in [1] and [2], this paper will do more onsimulation, and examine the different configure of peer to peer network with two pulland one push strategy, then determine which is better between this and the original onepull to one push above

Trang 8

The organization of remain parts is as follow In Section II, we describe the pieceselection policies of interleaving mechanism Some brief description about Peersim-theSimulator using in this paper include in section III Section IV presents the result fromsimulation and the last part, Section V will conclude the paper and give our futureworks.

II PIECES SELECTION POLICY

First, we consider that the network has only one source to produce the chunks fromtotal data to spread to other neighborhood The produced pieces can be exchangeindependently through the network, which are generated from source at a constantrate, push to other peers with the determined streaming rate as simulation At networknodes (normal peers) the pieces can be push away to its neighbor, or can be pulled byits neighbor too That means each node alternate the cycle with pull and pushesmechanism, switch between two modes, fill up their data and also spread data to othernodes Each node has its own contact list with size k, which is the ID of neighborhoodnode that can be received the pull and push requests from it However, a node can bereceived request from another node that is not in its contact list

In normal combination, the pieces selection policies are:

- Pull mode: a node P takes a neighbor Q and a piece randomly then send request topull that piece from neighbor Q Q will accept the pull request if it has availableupload bandwidth and the requested pieces, otherwise, the request will be refused

- Push mode: a node P selects a piece and push to a random neighborhood Q Theneighbor Q also download that piece if it does not have it at that time and notdownloading other pieces, otherwise, the request will be refused

The policy above has the problem when randomly select piece and neighbor, theefficiency is not much Therefore, in [1], the author gave the better pieces selectionstrategy as below:

- In pull mode, a node P asks its neighbor for the lowest sequence number pieces, inorder to full fill the information holes in stream data

- In the push mode, a node P pushes the pieces with highest sequence numberamong the pieces which it received via push from its neighbor

Trang 9

Here is the pseudo code of the algorithm presented in [1] for sending the pull or pushrequest by a node:

Trang 10

Figure 1: Sending out request interleaving algorithm

Trang 11

Nevertheless, the policy in [1] got problem that neighborhood selection is stillrandom Thus, in research of hybrid pull and push protocol, [2] studied about a betterway to choose the neighbor as long as using the pieces selection strategies in [1] Inthis work, they provide a parameter called pushmaxID, which is an array in each node

to store the maximum ID of the chunks that exchanged between this node and itsneighborhoods Depend on that parameter, each node can determine which neighborhas better chance to have the chunks it need to pull or better chance to need thechunks it want to push Here are the algorithm graphs given in [2]:

Figure 2: Pull Cycle with full action

Trang 12

Figure 3: Push Cycle with full action

The given policies are:

- Pull mode: a node P chooses the chunk with lowest sequence number to pull Afterthat, it chooses the neighbor in contact list which has pushmaxID bigger than the

ID of the needed piece If the pushmaxID is zero or there are no satisfiedneighbors, the algorithm returns a random neighborhood to salvage the cycle

Trang 13

- Push mode: a node P chooses the chunk with highest sequence number it has topush After that, it chooses the neighbor in contact list which has the pushmaxIDsmaller than the ID of the pushed piece If there are no satisfied neighbors, thealgorithm will return a random neighborhood to salvage the cycle.

III SIMULATION

1 Introduction to Peersim [6]:

In [1] and [2] the researchers use peersim as the simulator to examine their works.Peersim is a java-based system which allows users to configure much kind ofnetworks and simulation scenes All we need to do is set up the parameters inconfiguration file then let the simulator do the rest Besides, Peersim is themodulo-design, thus, developers can add more class or module to support theirown purpose, like building a new protocol or else

2 Simulation model:

Peersim support two kind of simulation model, which are cycle based and eventbased In cycle based model, all nodes are synchronized and they work in cycle Ineach cycle, each node is activated continuously and a node can only be activatedwhen there are no others nodes are working Therefore, this model can helpabstract protocols can easily be constructed and executed

The second kind is event based model, which has the independency between allnodes All nodes can be work simultaneously and follow the protocol rules Thenode can add event into the queue of simulation cycle depend on theconfiguration These events can affect other nodes This model must beconfiguring some mandatory parameters such as switch time delay, eventprocessing protocol, network size, control protocol…etc

3 Peersim Interfaces:

The important interfaces of Peersim are: Control, Node, Protocol, Linkable,CDProtocol and EDProtocol

Trang 14

o Control Interface: include two main classes: Initializers and Observers.

The Initializers class configure the initial parameters of simulation and theObservers class is used to monitor all the actions caused by simulator

o Node Interface: set up the network node and based attributes such as

network address, protocol In simulation, nodes can be add or removeautomatically

o Protocol Interface: use to identify the type of protocol, linking method

between nodes and provide ways for nodes to access their neighborhood

o Linkable Interface: identify whether the connection between network

nodes is symmetric or asymmetric

o CDProtocol Interface: use for cycle based simulation model.

o EDProtocol Interface: use for event based simulation model.

4 Peersim Classes:

o OverlayGrap: use for construct the linking methodology between network

nodes, which implements Linkable Interface In simulation, OverlayGrap isedited to build a symmetric k level network with N nodes

o Transport: a general transmission interface that help delivery the

information from source to other nodes Besides, there is a class calledUniformRandomTransport which help configure reliable transmissionprotocol This class has two important parameters: minimum and maximumvalue of packet latency

UnreliableTransport: allows combination with other Transport classes, forexample, UniformRandomTransport, to simulate the loss of information.The parameter “Drop probability” in configuration file determines theprobability that information can be loss during the simulation

o Message: also known as the simple events, which can be add o queue in a

somehow delay The simulator will execute each event continuously inqueue follow the simulation time with a suitable protocol

Trang 15

IV EXPERIMENTS

1 Parameter for evaluating the performance

There are three main performance attributes:

o Completion time: is the time that a node receives all pieces of data, count

for all nodes in the network

o Maximum delay: especially in live streaming, the piece latency is so

important as the primary index of the performance We compute the delayfor each node with all pieces The maximum delay is the highest value ofdelay between all nodes, computed by the formula:

o Successful delivery rate: because each peer alternately execute the pull

and push action, thus, we compute the successful rate of these two protocolover the pieces:

Trang 16

### Number of nodes in the network

## Time in millisecond needed for a node to switch between states:

## push -> pull and vice-versa

## Currently, this protocol does not implement any form of "message recovery"

## therefor we are working on reliable channel

DROP 0

## Maximum number of active connections in upload and download

## Active means that the node issues either a push or pull to a target node

## push for upload and pull for download

ACT_UP 4

ACT_DW 4

## Maximum number of passice connections in upload and download

## Passive means that the node is the target node which receives either a push or pull request

## therefor it will either receive a chunk via push or satisfy a pull request

PAS_DW 4

PAS_UP 4

## Window size for either push or pull active message,

## the node either proposes PUSH_WIN chunks in push

## or PULL_WIN for pull

PUSH_WIN 10

PULL_WIN 10

Ngày đăng: 12/04/2014, 15:40

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w