AVS: An Adaptive P2P Video Streaming Scheme with Frame Type Aware Scheduling Dohyun Kim†, Joongsoo Lee†, Younghee Lee† and Hagyoung Kim‡ †
Computer Networks Laboratory, Information and Communications University {t12t12t12, jslee, yhlee}@icu.ac.kr ‡ Media Streaming Team, Electronics and Telecommunications Research Institute
[email protected] Abstract In this paper, we present a video streaming scheme in peer-to-peer network, in which frame type aware scheduler adaptively adjusts the stream rate based on the estimated network bandwidth from the supplying peer nodes. The proposed frame type aware scheduler allocates the request quantity to each partner based on its variable network bandwidth, and decreases uselessly received video frames which not only consumes the available bandwidth but also no contribution for stream quality. We evaluated the adaptation scheme through extensive network simulations, and the result demonstrates that AVS significantly decreases uselessly received video frames without degrading streaming quality. Especially, when the bandwidth supply is insufficient, the effectiveness of proposed scheme significantly increases. Keywords video streaming, peer-to-peer network, frame type, rate adaptation.
1. Introduction Live multimedia streaming is usually characterized by its large population of users, and demand for high performance delivery network. For these applications, IP multicast scheme can be the most desirable solution, however, the deployment of IP multicast has been restricted due to many practical and commercial issues. For this reason, peer-to-peer (P2P) overlay multicast has been extensively focused on as an alternative networking framework for streaming multimedia content from a single source to many receivers without any special support from the network [1, 2], where participating user nodes build an overlay network out of unicast tunnels, and relay data among these nodes. In addition to that, migrating IP multicast functionality to application layer leads to greater flexibilities such as buffering capability and intelligence to determine data forwarding paths with application layer’s information. One of the most important parts, in P2P overlay multicast streaming, is construction and maintenance of optimal overlay structure which not only minimizes network load but also maximizes streaming quality. Initially, many overlay construction scheme deploys a tree structure for data forwarding. While this approach works well in the IP multicast network where the structure consists of dedicated routers, however, the tree structure is vulnerable to deploy in application level overlay where the structure consists of dynamic overlay nodes which can easily crash or leave at any time during the application session. For these reason, more
ISBN 978-89-5519-131-8 93560
sophisticated structure such as multiple trees or mesh has been deployed in recent years. Previous work to P2P overlay multicast can be categorized by whether its overlay structure has explicitly devised delivery structure or not. The former, structured approach[1, 2, 3, 4, 5, 6, 7, 8], usually forms a single (or multiple) tree(s) structure and each participating node has parent-children relationship and simply “pushes” all (or a subset) of received data from parent to predetermined children nodes. The latter, unstructured approach[9, 10, 11], on the other hands, does not form a specific overlay structure but periodically finds multiple partner peers which has missing data, then requests “pulls”- missing data to the partner peers. Data-driven approach[11] is kind of unstructured approach where data forwarding path is dynamically determined by the data availability of stream-supplying nodes, called partners. In spite of successful demonstrations and experimental results of previous work, the lack of rate adaptation mechanism to the heterogeneous networking environments in data-driven approach restrains overlay multicast from being applied to wide variety of devices and networks. This paper presents streaming rate adaptation scheme, AVS, which coordinates the stream quality from each supplier (partner) adapting to the network bandwidth fluctuation on top of the peer-to-peer data driven network. To this end, we propose i)a basic unit for transmission and request of stream data, segment, which has special type according to the composition of frames in it and shows different contribution on quality, and ii)a buffer map data structure which has the segment mapping information of buffer contents, and iii)frame type aware scheduler for bandwidth adaptive streaming using i), and ii). The rest of this paper is organized as follows: We present the related work in section 2. In section 3, we describe the AVS mechanism and its key components. In section 4, we present the performance evaluations from ns simulation and, finally, conclude the paper and present our future work in section 5.
2. Related Work There have been significant studies on video streaming using overlay multicast, which can be broadly classified into two categories[10]: proxy-assisted and peer-to-peer based schemes. AVS belongs to the second category, which does not rely on
- 1447 -
Feb. 12-14, 2007 ICACT2007
ISBN 978-89-5519-131-8 93560
Figure 1. Partnership example in AVS.
RE QU ES T
dedicated powerful nodes, but build an overlay out of application level nodes in streaming session. Many streaming systems using P2P overlay multicast employed explicit overlay structure, e.g. tree, multiple tree, or mesh. These kinds of systems usually focus on the construction and maintenance of an efficient distribution tree for data transmission. NICE[2] and SpreadIt[12] construct the tree-based overlay structure in distributed manner, on the other hands, CoopNet[6] manages the streaming session information solely on powerful root (source of contents) node. All these kind of approaches have tree-like overlay structure which makes the structure vulnerable to the node dynamics and loads internal nodes with high relaying overheads. Multiple distribution tree employing multiple description coding(MDC)[5], or layered coding[13] addressed the unbalanced load and vulnerability of tree structure. Receiver-driven approaches also have been proposed as the complement remedy for these kinds of problems[10, 11, 13]. DONet[11] introduced data-driven mechanism, where a peer dynamically requests missing data from multiple partners based on the buffer contents of them. PALS[13] proposed receiver driven framework, where a receiver coordinates delivery of layered coded stream data from multiple sender peers with peer selection criteria based on the overall effective throughput using layered coded video, however, these kinds of system still lack the rate adaptation mechanism to the heterogeneous networking environments or depends on several assumptions, thus, restrains overlay multicast from being applied to wide variety of devices and networks. Streaming video contents over best effort network usually goes through frequent random loss of video frames owing to the fluctuation and the shortage of available network bandwidth. Besides, the loss of important frame may cause significant impact on video quality since a video frame usually depends on more important frames for decoding itself[14]. Therefore, there needs streaming mechanism which not only minimizes the loss of important frames but also coordinates stream rate according to the variable network bandwidth. In this paper, we proposed a mechanism, AVS, for adaptive video streaming over peer-to-peer data-driven mechanism. In data-driven approach, to find out suppliers of missing stream data, a peer node usually exchanges buffer information with its partners (Figure 1). Based on the buffer information of each partner, a peer schedules how the missing stream data can be requested to each partner (Figure 2). The only issue here is: how much data a peer should request from which partner. We proposed two modules to apply bandwidth adaptive scheme to peer-to-peer video streaming; 1)segments and buffer map, 2)frame type aware scheduler to exchange stream data among partners with coordinating quality by considering bandwidth supply from multiple partner peers. AVS splits multimedia stream data in stream buffer into segments which have categorized type derived from the dependency among video frame types and summarizes that information to its buffer map. With periodically exchanged buffer maps, the scheduler controls the stream rate by coordinating the number of request segment and its type.
Figure 2. Stream data request in data-driven mechanism.
3. AVS Mechanism Data-driven approach is a natural way for peer-to-peer streaming on several aspects. Receiver is the only node that has motivation to monitor and control the quality of fed streams from partners as well as the node that has complete information about received data. Besides, it is simple and robust with network dynamic. If the coordination process of streaming includes sender peers, it is likely to be sensitive to sender dynamics resulting in a more traffic of coordination. Data-driven approach in video streaming should have mechanisms to tackle with the following functional requirements: i)a means for finding partners among all peers of streaming session, ii)a means for representing and acquiring information about buffer contents of partners, and iii)scheduling scheme for requesting stream data from multiple partners. Data-driven approach usually starts its joining process with finding multiple partners which have been already in streaming session to secure potential suppliers, kind of parents in structured approach. Selecting more desirable partner with given criterion, for example, which has high network bandwidth and high data availability is one of the significant work and it has been studied in RandPeer[15]. We assume that such kind of function is available from previous work and we focus on the rate adaptation scheme for video streaming. The second requirement states that there needs a mechanism to know the partners’ buffer contents to request missing data since data-driven approach, basically, uses “pulling” method for streaming from multiple partners. The mentioned two functions are not enough for providing bandwidth adaptive streaming service to session joiners. How much load should be allocated to each partner considering its
- 1448 -
Feb. 12-14, 2007 ICACT2007
data availability and network bandwidth is one of the most challenging requirement for adaptive streaming service. It is the role of frame type aware scheduler in AVS.
3.1 Segment and Buffer Map
size of buffer map can be one of the parameters that can influence the performance of AVS. Buffer map is a kind of flag to summarize segment information on the corresponding node’s stream buffer. As illustrated in Figure 3, a Flag in the buffer map represents information of a segment such as its type, and its existence at stream buffer, indicating whether the segment data is stored or not, and if it is, what kind of frames are stored. By exchanging buffer map among partners, AVS node can find out the stream data of partners and request missing segments with such information and adaptively request segments by coordinating quality of segment according to the bandwidth capability from each partner.
Figure 3. Representation of Buffer Map and Segment.
Segment is a chunk of stream data, which is basic unit for stream request and delivery in AVS. As illustrated in Figure 3, a segment is composed of a Group of Pictures(GoP) and the residue of audio and control stream data during that period. A GoP is an independent unit for decoding, means it can be decoded without any additional stream data[14]. By adapting segment as unit for request and delivery, AVS is more resilient than the other schemes which adapt the transmission unit as the amount of stream data during some period, e.g. one second. Standard MPEG coded video frame has one of the types, I, P, or B, and each type of frame depends on other types of frame except for I frame, which means that any received frame cannot be decoded if its dependent frames are not safely decoded[14]. With this observation, as illustrated at Table 1, AVS categorizes segments as four types according to which types of frames it contains. Each type of segment represents different qualities of stream, and any segment type can be decoded without any additional frame data. With this quality categorization of segments, AVS helps stream rate control through coordinating the types of segment. Table 1. Segment Type Segment Type IPB+Audio IP+Audio
Description Consist of all I, P, B frames and Audio stream Consist of all I, P frames and Audio stream
Video Quality High Middle
I+Audio
Consist of I frame and Audio stream
Low
Audio
Consist of only Audio stream
No Quality
As a means for representing and acquiring information about buffer contents of partners, AVS deployed buffer map data structure(Figure 3.) which is specialized for proposed rate adaptation scheduling scheme. The stream buffer of an overlay node is filled with segments, each of which is composed of a Group of Pictures (GoP) and audio, control stream data. The
ISBN 978-89-5519-131-8 93560
Figure 4. Frame Type Aware Scheduler.
3.2 Frame Type Aware Scheduler In this section, we propose the frame type aware scheduler which not only dynamically determines the suppliers of missing segments but also coordinates the quality of requesting segments. As illustrated at Figure 4, proposed scheduling scheme goes through three phases of subtasks to provide above-mentioned functionality: 1)set the segment
- 1449 -
Feb. 12-14, 2007 ICACT2007
allocation limit, 2)allocate segments to each partner, and finally, 3)determine segment quality for each partner. As the first step for scheduling, each peer determines the segment allocation limit, allocLimit, with monitored loss information, PLoss, and the number of segment allocated at previous scheduling time, PPAllocSegmCnt, for each partner. Segment allocation limit, as the name indicates, means the estimated limit of segments to be allocated to that partner. A peer has an allocLimit variable for each partner and it is set to maximum value at the first scheduling time. Segment allocation limit will be coordinated as follows: If a peer has experienced data loss from a partner after previous scheduling time, the allocLimit for that partner should be decreased because loss means the bandwidth supply from that partner is overestimated at previous time. On the other hands, if there has been no loss data from that partner, allocLimit for that partner should be increased. Through this simple phase, a peer can estimate the limit of potential supplying bandwidth from each partner. Calculated allocLimits are to be used for next scheduling phase, segment allocation to each partner. After setting the segment allocation limit for each partner, the scheduler actually allocates missing segments to each partner with the basic principle – trying to allocate missing segments to the partner that has more space in its allocation limit – with buffer map information of itself, BufferMap, and of partners, PBufferMap. However, as the term “trying” indicates, it is difficult to meet the principle because the bandwidth supplies of missing segments suppliers (partners) usually does not relate to their data availability for the scheduling peer. For example, there can be a partner that has most of missing segments for a peer, but the bandwidth supply capability from that peer is not desirable. As a similar case, there can be a partner which has few missing segments but has high bandwidth supply capability from a scheduling peer. For this reason, we alleviate the constraint by permitting the overflow of segment allocation limit but trying to minimize the overflow for each partner. That is, AVS scheduling peer firstly allocates segment which has only one supplier to that supplier, then allocates segment which has multiple suppliers to the partner having more space in its allocation limit, and if there is no such partner, then allocate the segment to the partner which shows smallest overflow in allocation limit. By minimizing the overflow of allocLimit for each partner, AVS minimizes the data loss derived from shortage of network bandwidth. In this phase, whenever allocation occurs, AVS increases PAllocSegmCnt variable for that supplier which then would be used at final phase of scheduling. As a result of second phase, a peer should have the supplier information, Supplier, corresponding to the each missing segment. For example, at Figure 2, third missing segment should be requested to partner1 and fourth one should be requested to partner2. After second phase of scheduling, it is possible that some of peers may have partner which is allocated over the partner’s segment allocation limit, e.g. a case that satisfy PAllocSegmCnt>allocLimit for a partner. Since the allocation limit of each partner, allocLimit, was set to as estimated upper bound of bandwidth supply capability based on loss and previous allocation quantity information, overflow of allocation limit for the partner indicates high possibility of
ISBN 978-89-5519-131-8 93560
additional loss. On the contrary, much room in allocation limit for a partner indicates bandwidth would not be used to its full utilization. Therefore, there need a scheme to handle such a situation. AVS tackles quality coordination in this situation, that is, if a partner is suppose to supply missing segments more than its allocation limit, PAllocSegmCnt>allocLimit*C, the burden should be decreased by degrading the requesting segment quality, PReqType for that partner, to avoid loss from that partner. Similarly, if a partner is suppose to supply less than or equal to the partner’s allocation limit, PAllocSegmCnt