Live video streaming over Internet has attracted much attention nowadays and many mechanisms have been introduced to tackle challenges behind this applications. Recently streaming over peer to peer  overlay networks is proposed as an scheme to build scalable video stream applications. This group in DML is aiming to inspect this field using peer to peer approaches. DML’s peer to peer streaming group main goal is to study peer to peer overlay networks and their potentials for streaming applications.

Ongoing Projects

Mutli-Channel P2P Live Video Streaming Using Layered Coding

Recently, P2P media streaming has become a deploying interest to deliver video in large scale networks. There are some problems in current multi-channel live media streaming including long start up delays in case of channel churn, low performance and lack of available resources for less popular channels. These problems come from two fundamentals: channel churn and unbalanced channel resources.To solve these problems a new approach has been proposed recently which is called View-Upload Decoupling: nodes are divided into distribution swarms. In each swarm, nodes (visiting or not visiting) are responsible to distribute a specific channel. So this system becomes immune to channel churn, but requires more upload bandwidth overhead. To minimize the overhead we can use layered coding. In layered coding, there are several layers, one basic layer and one or more enhanced layers. Each node receives the basic layer and also enhanced layer(s) for more quality. So each node receives video with the quality matched with its bandwidth, bringing some type of incentives for nodes to contribute. If they contribute more and upload more video they can receive more layers and thus better quality will be achieved. In this thesis, we want to use layered coding technique in multi-channel P2P live video streaming and implement one sample on such systems. We’ll use parameters like average of start up delay, video quality and uploading overhead to evaluate the proposed approach.

People involved: Elahe Ghalebi, Navid Bayat, Mehrad Moradi, and Hamid R. Rabiee



Network testbed infrastructures, such as PlanetLab and CoreLab are groups of computers which are used for computer networking and distributed systems research. This systems are particularly suitable for peer-to-peer application testing because of their large-scales, distributed operations. In this project, our fundamental goals are doing a survey on understanding various aspects of architecture, virtualization, and opportunities and challenges of available systems. Also, we want to implement and test our current and previous peer-to-peer live video streaming and distributed multimedia systems. Moreover, we are currently work on designing a novel testbed infrastructure for Iran.

People involved: Mehrad Moradi, Mostafa Salehi and Hamid R. Rabiee


A Content Aware Mesh-Push Approach for P2P Live Video Streaming Systems

There are two main approaches for content delivery in every mesh-based p2p video streaming system, pull and push. In pull method, every peer in the network, regularly requests its desired video content from the potential suppliers, based on their content availability. Since every chunk of video has to be pulled from one neighbor, the major problem in pull-based methods is the considerable amount of end-to-end delay. In contrast, in mesh-push systems, a peer partitions its required content to the several sub-streams in a way that can be requested from different suppliers. Then, every supplier will be requested for one or more sub-streams just once and afterwards, the requested sub-stream will be pushed to the peer continuously. This can significantly reduce the end-to-end delay for each video chunk in the network. In this project, we are going to design an efficient content partitioning mechanism that helps to assign different sub-streams to the available suppliers effectively.

People involved: Mohamad Farahani, Hamid R. Rabiee

Past Projects

LayeredCast: A Hybrid Peer-to-Peer Architecture for Real-Time Layered Video Streaming over the Internet

The accessibility of broadband Internet to home users has pushed video broadcasting applications up in the list of the most favorite IP-based applications. A Peer-to-Peer overlay network is an attractive foundation for video streaming as it can shift the burden of content distribution from the network routers and servers to the clients. However, live Peer-to-Peer media streaming systems face many challenges such as bandwidth heterogeneity, node churn, and selfish nodes. Although many tree based and mesh based streaming protocols have been proposed, each has its own drawbacks such as unreliability and unfairness in the tree based and long startup delay and complex scheduling in mesh based protocols. In this project, we propose a new layered video streaming protocol called LayeredCast that compensates the mentioned drawbacks of the previous approaches by using a hybrid of mesh and tree structures. It provides an adaptive scheme to enhance the video quality by using a layered video codec for heterogeneous clients. Since all clients need to download the base layer, a tree network pushes the base layer to all peers with low delay while the enhancement layers are pulled over a mesh network based on the user need. We have evaluated the performance of the LayeredCast based on the play-back quality in the clients in the presence of ungraceful leave and heterogeneous bandwidth on an innovative simulation framework.

People involved: Masoud Moshref Javadi, Hamid R. Rabiee


Content Aware Packet Scheduling in Peer-to-Peer Video Streaming

The accessibility of broadband Internet to home users has pushed video broadcasting applications up, in the list of most favorite applications in todays Internet. Such applications involve delivering the data which generated in a single sender to a set of users which are scattered around the world. While it was formerly believed that the IP-Multicasting is the mean to provide this kind of services, the trend has altered to the use of Application Layer Multicasting techniques due to their deployment simplicity. Since their advent,Peer to Peer applications has mitigated many problems previously unsolved in the field of communication. File sharing, distributed file systems, distributed data based and many other applications have used the idea of resource sharing behind Peer to Peer systems. Recently Peer to Peer networks are being introduced and being implemented to surrogate IP multi-cast and CDN in live video streaming, which is the new demand of today’s INTERNET users since broadband access is widely available to regular Internet users. In this architecture, end-systems eager to receive the stream content form a self-organized efficient overlay over the IP networks instead of joining a multi-cast session. On this overlay, media content is distributed and each end-system plays the role of a relay that retransmits the contents to some other participating peer in the network. In this project, a new schedular for a live layered video streaming protocol called LayeredCast is proposed. It provides an adaptive scheme to enhance the video quality by using a layered video codec for heterogeneous clients. Since all clients need to download the base layer, a tree network pushes the base layer to all peers while the enhancement layers are pulled over a mesh network. We have evaluated the performance of the LayeredCast on an innovative simulation framework.

People involved: Reza Motamedi, Hamid R. Rabiee


A Scheme for Improving Security in Video Streaming over Peer-to-Peer Networks

The improvments in computer networks and video compression techniques have motivated the network engineers to broadcast video over the Internet. Recently, Peer-to-Peer networks have been considered as a suitable way for video streaming. P2P networks are distributed and there’s no central management mechanism in them. In addition, video has a time-sensitive nature. Therefore, these networks are vulnerable to security attacks. Denial of Service attacks, attacks on the membership management mechanism, attacks on neighbors selection mechanism, selfish nodes and content pollution attacks are common attack on Peer-to-Peer Video Streaming networks. In a content pollution attack, one or several malicious nodes join the network and instead of sending the received chunks, they send polluted content to their neighbors, causing spreading the polluted content in the netowk and a high degradation in the video quality and then loss of the credibility of the provider. In this project we have proposed a method based on a video feature, the continuity of the video sequence in the most moments of the play time, in order to detect and avoid content pollution attacks in P2P Video Streaming networks. To detect the discontinuity of video sequence, scene change detection methods are used. In each node, the scene changes occurred in the beginning and at the end of the video chunks are counted and if this number is greater than a threshold, pollution will be diagnosed in the node. We have tested our idea by simulation in Matlab environment. The simulation has been done in two points of view, Single node and the whole of the network. In single node point of view, the algorithm is examined on a single node of network for different pollution percentile and different thresholds. In the whole of the network point of view, we examine the algorithm for all nodes in the network. In this viewpoint pollution spreading and diagnosis time of pollution is considered. The simulation results show that the proposed idea can diagnose the pollution in the network in a fast manner and prevent spreading of the polluted content in the network without any traffic overhead and with a small computational overhead.

People involved: Pezhman Toghia, Hamid R. Rabiee


Applying Network Coding in Mesh-based P2P Streaming

Today peer-to-peer (P2P) networks are very popular among researchers in different scientific areas and applications such as topology-based design, information theory, routing, and file sharing systems. Various P2P networks demonstrate the capability of these networks to provide high performance and scalable interaction among peers which makes them very efficient in designing distributed multimedia streaming applications. In this project we present LiveCod, a mesh-pull peer-to-peer (P2P) lives video streaming system. The proposed XOR-based Network Coding (XOR-NC) system is based on GIA protocol and introduces new search and answer data formats for chunks which are used by the network coding algorithm for exchanging data among peers. The search message contains the XORed GOP (Group of Picture) keys and some meta-data such as search key. The answer message, however, has the XORed GOP data and a summary of video blocks of the encoded GOP. In order to reduce the encoding complexity at each peer, a new content-based cache (CCache) is also introduced. Comparison of LiveCod with traditional GIA and GIA with random network coding demonstrates that this system can achieve a significant improvement in average request delay, video layer providers’ fast availability, and network throughput and bandwidth redundancy usage performance metrics.

People involved: Hoda Ayatollahi, Mohammad Khansari, Hamid R. Rabiee


Efficient Content Partitioning and Block Scheduling in Mesh-based P2P Live Video Streaming

Recently peer-to-peer video streaming solution is promising for large-scale video distribution over the Internet. In peer-to-peer approach for video multicasting, each peer that receives a video stream contribute its resources to the group in order to forward the received video packets to one or a number of other peers. In a mesh based peer-to-peer streaming architecture a video stream is portioned into video blocks and each peer pulls the video blocks from its neighbors in peer-to-peer overlay network. Each peer that receives block requests from other peers schedules the transmission of the requested blocks. Since the uplink bandwidth of each peer is its main constraint in transmission video blocks to the other peers, efficient block scheduling can play important role in improving the perceived video quality by the peers. Moreover, the granularity of video blocks can have significant impact on the performance of the system. Therefore, study of the impact of data portioning on the performance of the mesh based peer-to-peer video streaming systems and designing an efficient block scheduling algorithm are the main objectives of this research work. Average video distortion and receiving throughput are the main QoS parameters that will be used in analytical and simulation performance analysis of the proposed algorithms and protocols.

People involved: Mohamad Farahani, Behzad Akbari, Hamid R. Rabiee


A Hybrid Push/Pull P2P video Streaming Protocol

Peer-to-peer architectures for video streaming systems can be classified into two general categories including push based and pull based approaches. In the push-based architectures, the Internet peers organize themselves into a multicast tree, and in pull-based approaches, a video stream is segmented into video chunks and each peer searches and downloads video chunks in a mesh-based peer-to-peer network like BitTorrent. In this project, the main goal is to design a hybrid structure for peer-to-peer video streaming in which a layered video is delivered to the Internet peers through both tree and mesh topologies. The base layer video is delivered to the peers by a push-based scheme and the enhancement layers are pulled from a mesh based peer-to-peer network. In this hybrid approach each peer contributes it resource with both tree based and mesh based peer-to-peer network. Efficient allocation of the resources of the peers between tree and mesh topologies is one of the main challenges of hybrid approach that will be addressed in this research work. The performance of designed protocol will studied through simulation by using one of discrete event simulators.

People involved: Adel Ghanbari, Mohammad Khansari, Hamid R. Rabiee


Adaptive Error Concealment of H.264/AVC Video Coding Standard for IPTV Application

Error concealment is one of the effective ways to alleviate the effect of packet loss in video communication over error-prone environments. In order to estimate lost macro-blocks, we have employed Bayesian estimation as an efficient and robust framework. Gaussian process regression has been used as the modeling approach through this framework. Considering luminance component as Gaussian process, a minimum mean squared error estimation of the lost macro-block is obtained. This estimator, as a function of the existing data, is only determined by the covariance matrix defined over them. Therefore, the main step in Gaussian process regression, is construction of the convenient covariance matrix based on existing data. The essential answer to this requirement is usage of the kernel function which is a similarity measure between any two data points. Human visual system is very sensitive to edge distortion. Hence, we have incorporated the edge related information in the definition of the kernel function, providing an adaptive error concealment solution. Experimental results verify the ability of the proposed method in preserving edge information and producing smooth estimations of the lost macro-blocks. In this work, in order to recover lost motion vectors, we have also provided a Gaussian process regression solution based on the existing correctly received motion vectors in the neighboring area. Of the various video coding standards, H.264/.

People involved: Hadi Asheri, Hamid R. Rabiee