2. Related Works
2.1. PeerCast
We propose an improved P2P streaming scheme which is based on PeerCast, one of popular prototypes of P2P live streaming media multicast tools. PeerCast is an open-source project of P2P IPTV streaming system. The author’s goal is to develop a simple and easy-to-use tool for research and improvement of P2P streaming. The official site of PeerCast was established in April 2002 as a non-profit site providing free P2P radio software, the latest version of the PeerCast client was released in December 2007, and the version number is 0.1218 [1]. Nowadays, PeerCast is mainly used for live P2P IPTV, does not support Video on Demand (VOD), and its supported Streaming media formats are MP3, WMA, AVI, WMV, and NSV, etc.
2.1.1. System Modules
In PeerCast, data and routing information are transmitted through PeerCast Protocol (PCP) which is an application-layer protocol above TCP/UDP. The transport-layer protocol used in the current PeerCast system is TCP. There are three components in the PeerCast system, which are Yellow Page, Broadcaster, and Listener [2]. Yellow Page, has routing information for all channels, manages all channel information in PeerCast system and publishes this information in a web page. The Broadcaster, as a data source of each channel, can forward the encoded streaming data to clients in the PeerCast network. Listeners, as the peer users, download media stream from Broadcasters or other listeners and forward their own data to one or more additional listeners.
2.1.2. Overlay Topology
15
PeerCast is a tree-based P2P IPTV streaming solution, as illustrated in Figure 2.1.
Yellow Page, in the highest network level, is the root node of the entire network. The following layers, all the nodes that watch the same channel construct a broadcast tree.
Broadcasters, the root nodes of each channel-broadcast tree, provide channel information to Yellow Page and supply streaming data to Listeners. Listeners, implement peer to peer technology, not only receive but also forward data to other listeners. The Listener in the leaf of the broadcast tree doesn’t contribute any resources itself, and this is the main drawback of tree-based P2P streaming system.
Yellow Page
Broadcaster 1
Listener 0
Listener 1
Broadcaster 2
Listener 2
Listener 5 Listener 6 Listener 7
Listener 4 Listener 3
Listener 8 Channel 1
information Channel 2
information
Figure 2.1 The tree-based architecture of PeerCast
16
2.1.3. Operating Procedure
At the beginning, the listener selects a channel from web page of Yellow Page and query channel routing information. According to the routing table and routing algorithm, Yellow Page returns some channel sources to the listener. Next, the Listener establishes a network connection to one of those channel sources, perhaps it is a Broadcaster, and starts to download the media stream. If the max connection number of the Broadcaster doesn’t meet its upper bound, the Broadcaster adds that Listener to its list of child nodes and starts to transmit data stream after successful handshake. On the other hand, if the max connection number of the Broadcaster reaches its upper bound, the Listener cannot be served by the Broadcaster. After successful handshake, the Broadcaster selects up to eight its child nodes based on some algorithm to the Listener, and that Listener use these nodes as his parent node for receiving data stream [21].
2.1.4. Defects of PeerCast
Due to pure tree-based overlay, additional connection-maintaining messages are not needed in PeerCast. However, major drawback in tree-push IPTV streaming system is their unbearable cost to peer churn. Once a peer leaves the IPTV system, the video transmission to all peers rooted that departure peer would be interrupted. In addition, as long as the video playback of parent node occurs pause, the playback delay of all child nodes in the subtree rooted that parent node would accumulate up. According to the above, the difference of playback time between each node in the PeerCast streaming system would very large. This result in P2P share ratio greatly reduced, because almost most of the content cached by peers is not the same [3].
2.1.5. Evolution
17
In recent years, due to above shortcomings, PeerCast is mostly proposed for academic research. In 2006, Industrial Technology Research Institute (ITRI) and Goosean media modify the tree overlay in PeerCast, and publish a new live IPTV streaming system called StarCast, which is a tree-mesh hybrid scheme, as shown in Figure 2.2 [2, 5]. In the evolution system, all peer and channel information is kept in Tracker (called Yellow Page in PeerCast) and the streaming data is transmitted by relay (called Broadcaster in PeerCast).
Nowadays, there are many IPTV systems in the market, but most of these IPTV systems have a large amount of bandwidth consumption during viewers surfing period. On the other hand, these IPTV systems are lack of frame-type classification, and this result in additional playback delay due to the un-decoded video. We want to improve these shortcomings in our proposed scheme. In order to reduce the number of users’ surfing behavior, we discuss channel zapping behavior, channel zapping time and how to precisely choose the favorite channels of IPTV users.
Tracker
Relay 1
Peer 0
Peer 1
Relay 2
Peer 2
Peer 3 Peer 4 Peer 5
Peer 7 Peer 6
Peer 8 Peers query
for partner list
Peers query for partner list
Figure 2.2 The tree-mesh hybrid architecture of StarCast
18