This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
into Q1 23: ENDIF
Fig. 4. DBR packet forwarding algorithm
buffer Q2. If the packet is found in Q2, it is dropped as it has been forwarded recently. Otherwise, the node calculates the sending time for the packet based on the current system time and the holding time and inserts the packet into the priority queue Q1. Note that if the packet is already in Q1, the sending time is updated to the earlier time. Later, the packets enqueued in Q1 will be sent out according to their scheduled sending times.
4
Performance Evaluation
In this section, we evaluate the performance of DBR and compare it with the Vector Based Forwarding (VBF) protocol[17]. 4.1
Simulation Settings
All simulations are performed using the Network Simulator (ns2) [12] with an underwater sensor network simulation package (called Aqua-Sim) extension. In our simulations, sensor nodes are randomly deployed in a 500m × 500m × 500m
DBR: Depth-Based Routing for Underwater Sensor Networks
81
3-D area. Multiple sinks are randomly deployed at the water surface. While we assume that the sinks are stationary once deployed, the sensor nodes follow the random-walk mobility pattern. Each sensor node randomly selects a direction and moves to the new position with a random speed between the minimal speed and maximal speed, which are 1 m/s and 5 m/s respectively unless specified otherwise. Although the source node can be anywhere in the network, for easy simulations, we place it at a random position at the bottom layer in our experiment. The data generating rate at the source node is one packet per second, with a packet size of 50 bytes. The communication parameters are similar to those on a commercial acoustic modem, LinkQuest UWM1000 [10]: the bit rate is 10k bps; the maximal transmission range is 100 meters (in all directions); and the power consumption in sending, receiving, and idling mode are 2w, 0.1w, and 10mw, respectively. The same broadcast Media Access Control (MAC) protocol as in [17] is used in our simulations. In this MAC protocol, when a node has a packet to send, it first senses the channel. If the channel is free, it continues to broadcast the packet. Otherwise, it backs off. The packet will be dropped if the maximal number of backoffs have been reached. We use the following metrics to evaluate the performance of routing protocols. – Packet Delivery Ratio is defined as the ratio of the number of distinct packets received successfully at the sinks to the total number of packets generated at the source node. Although a packet may reach the sinks multiple times, these redundant packets are considered as only one distinct packet. – Average End-to-end Delay represents the average time taken by a packet to travel from the source node to any of the sinks. – Total Energy Consumption represents the total energy consumed in packet delivery, including transmitting, receiving, and idling energy consumption of all nodes in the network. 4.2
Impact of Design Parameters
Now we examine how the performance of DBR is affected by algorithm parameters and network settings: parameter δ, depth threshold dth , node mobility, and number of sinks. Parameter δ. The parameter δ decides the holding time of packets at each node. With a larger δ, each node has a shorter holding time and hence the average end-to-end delay will be reduced; but more nodes will forward the same packet, which results in more energy consumption. On the other hand, with a smaller δ, a node will have longer holding time and hence the average end-to-end delay is increased; but less nodes will forward the same packet, as helps to reduce energy consumption. Fig. 5 shows how the energy consumption and average end-to-end delay change with three different values of δ: R/4, R/2, and R, where R is the maximal transmission range. In this set of simulations, the number of sinks is set to 5 and the depth threshold is set to 0. From Fig. 5(a), we observe that the average
82
H. Yan, Z.J. Shi, and J.-H. Cui 14000 Total Energy Consumption
Average E2E Delay (sec)
6 R/4 R/2 R
5 4 3 2 1
R/4 R/2 R
12000 10000 8000 6000 4000 2000 0
0 200
300
400 500 600 Number of Nodes
700
200
800
(a) Average end-to-end delay
300
400 500 600 Number of Nodes
700
800
(b) Energy consumption
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
16000 Total Energy Consumption
Packet Delivery Ratio
Fig. 5. DBR’s performance with different δ values
0 20 40
14000
0 20 40
12000 10000 8000 6000 4000 2000 0
200
300
400 500 600 Number of Nodes
700
(a) Packet delivery ratio
800
200
300
400 500 600 Number of Nodes
700
800
(b) Energy consumption
Fig. 6. DBR’s performance with different depth thresholds
end-to-end delay when δ = R4 is about three times of the delay when δ = R. Fig. 5(b) shows that the energy consumption does increase as δ is lifted, but not significantly (less than 5%). Hence, we choose δ = R in later simulations. Depth Threshold. Fig. 6 shows how the depth threshold, dth , affects the packet delivery ratio and energy consumption. In this set of simulations, the number of sinks is set to 5. From Fig. 6, we see that when the depth threshold increases, both the packet delivery ratio and the total energy consumption decrease. This is because increasing the depth threshold has a similar effect to reducing the number of available nodes in the network. Therefore, the number of forwarding nodes will decrease. Consequently, the packet delivery ratio decreases and less energy is consumed. Node Mobility. To evaluate how node mobility affects the performance of DBR, we simulate DBR with different fixed node speeds at 1 m/s, 5 m/s, and 10 m/s. The depth threshold is set to 0 and the total number of sinks deployed is 5. The simulation results are plotted in Fig. 7. From Fig. 7, we observe that the packet delivery ratio, total energy consumption, and average delay do not change much with node speed. The reason is that all routing decisions in DBR are made locally based on a node’s depth information. No topology or route information needs to be exchanged among neighboring
DBR: Depth-Based Routing for Underwater Sensor Networks
83
16000 Average E2E Delay (sec)
Packet Delivery Ratio
4
1 0.98 0.96 0.94 0.92 0.9 0.88 0.86 0.84 0.82 0.8
1 m/s 5 m/s 10 m/s
14000 12000 10000 8000
1 m/s 5 m/s 10 m/s
6000 4000 2000
(a) Packet delivery ratio
3 2.5 2 1.5
1 m/s 5 m/s 10 m/s
1 0.5 0
0
200 300 400 500 600 700 800 Number of Nodes
3.5
200
300
400
500
600
700
800
Number of Nodes
(b) Energy consumption
200
300
400 500 600 Number of Nodes
700
800
(c) Average end-to-end delay
Fig. 7. DBR’s performance with different node mobility
nodes. Therefore, DBR can handle dynamic network topologies well. For example, Fig. 7(a) shows that DBR successfully delivers at least 88% of the packets in all cases. When the total number of nodes is larger than 400, almost all packets can be successfully delivered. From Fig. 7 we can also see how node density affects the performance of DBR. The figure shows that the packet delivery ratio and the energy consumption increase as the number of nodes increases. The average end-to-end delay, however, decreases. This is because when the number of nodes increases, the number of forwarding nodes also increases, which leads to a higher packet delivery ratio and higher energy consumption. At the same time, the probability that a forwarding node has a shorter distance to the sinks increases as more nodes participate in packet forwarding. As a result, the average end-to-end delay decreases. Number of Sinks. Fig. 8(a) shows how the packet delivery ratio changes with different number of sinks. DBR with multiple sinks has a better packet delivery ratio than DBR with only one sink. Since DBR is a greedy algorithm trying to deliver data packets to the water surface, increasing the number of sinks at the water surface will increase the chance that a packet is received by a sink. This explains the higher delivery ratio when multiple sinks are deployed. The total energy consumption for different number of sinks is shown in Fig. 8(b). We observe that the energy consumption is almost the same for different number of sinks. The reason is that in DBR, the number of sinks does not affect the forwarding process. Therefore, all different settings have almost the same energy consumption. From Fig. 8(c), we observe that DBR with multiple sinks has a slightly better average end-to-end delay than DBR with one sink. This is because in the multiple-sink case, a packet is considered successfully delivered whenever it reaches any of the sinks. 4.3
Comparison with VBF
Now we compare DBR with VBF [17]. In this set of simulations, we consider two settings for DBR: one sink and multiple sinks. For one-sink DBR, the depth threshold is set to 0. In multiple-sink DBR, 5 sinks are randomly deployed at
H. Yan, Z.J. Shi, and J.-H. Cui
3
1 sink 3 sinks 5 sinks 10 sinks
Average E2E Delay (sec)
12000
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
Total Energy Consumption
Packet delivery Ratio
84
1 sink 3 sinks 5 sinks 10 sinks
10000 8000 6000 4000
2.5 2 1.5 1 sink 3 sinks 5 sinks 10 sinks
1 0.5
2000
0 200
300
400 500 600 Number of Nodes
700
800
(a) Packet delivery ratio
0
200 200
300
400 500 600 Number of Nodes
700
800
(b) Energy consumption
300
400 500 600 Number of Nodes
700
800
(c) Average end-to-end delay
Fig. 8. DBR’s performance with different number of sinks
the water surface and the depth threshold is set to 20 meters. For VBF, we set the routing pipe radius to 100 meters, which is the maximal transmission range. Fig. 9 compares DBR and VBF with respect to the three metrics. Fig. 9(a) shows that for the one-sink setting, DBR achieves a similar packet delivery ratio to VBF. With the multi-sink setting, however, DBR can achieve a much better delivery ratio, especially for sparse networks. For example, in a network with 200 nodes, DBR with five sinks has a packet delivery ratio of around 70%, which is more than four times larger than 15%, the delivery ratio of VBF. Fig. 9(b) shows that DBR has better energy efficiency compared with VBF. In all cases, the total energy consumption of DBR is about half that of VBF. This is mainly due to the the redundant packet suppression techniques adopted by DBR. The two-queue mechanism in DBR has greatly reduced the redundant packet transmissions in the network. It should be noted, however, that this comparison is made based on the basic settings of VBF. VBF may get better energy efficiency when advanced adaptation algorithms are applied and optimal parameters are chosen. Fig. 9(c) shows that the best end-to-end delay is achieved in multiple-sink DBR while VBF has a better end-to-end delay than one-sink DBR. This is because VBF tries to find the shortest path from the source node to the sink along the virtual vector between them. Thus the delay in VBF is shorter than that in one-sink DBR. In multiple-sink DBR, however, packets can be delivered to any sink, instead of a fixed sink as in VBF. It should be noted that DBR and VBF target different network settings and have quite different network assumptions. For example, VBF is designed for networks with a single sink. Although DBR can work in one-sink networks, it has better performance in multiple-sink settings. 4.4
Summary
The simulation results show that DBR protocol works well for dense networks. However, the delivery ratio in sparse networks is relatively low. The reason is that DBR has only a greedy mode. The greedy method alone is not able to achieve high delivery ratios in sparse networks. We will investigate recovery algorithms for DBR in the future.
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
5
one-sink multiple-sink VBF
20000
Average E2E Delay (sec)
one-sink multiple-sink VBF
15000 10000 5000
300
400 500 600 Number of Nodes
700
800
(a) Packet delivery ratio
4 3 2
one-sink multiple-sink VBF
1 0
0
200
85
6
25000 Total Energy Consumption
Packet Delivery Ratio
DBR: Depth-Based Routing for Underwater Sensor Networks
200
300
400 500 600 700 Number of Nodes
200
800
(b) Energy consumption
300
400 500 600 Number of Nodes
700
800
(c) Average end-to-end delay
Fig. 9. Comparison of DBR and VBF
The DBR protocol requires more memory in sensor nodes to maintain two buffers. Since the underwater sensor nodes normally are equipped with more resources than land-based sensor nodes, the memory overhead is not significant in most systems. Moreover, the applications for underwater sensor networks have relatively low data rate so only small buffers need to be maintained. For example, we observed in our simulations that the average number of packets in the sending queue of each node is less than 10. As a result, the cost of extra memory is affordable for underwater sensor nodes.
5
Conclusions and Future Work
In this paper, we presented Depth Based Routing (DBR), a routing protocol based on the depth information of nodes, for underwater sensor networks. DBR uses a greedy approach to deliver packets to the sinks at the water surface. Different from other geographical-based routing protocols that require full-dimensional location information of nodes, DBR only needs the depth information, which can be easily obtained locally at each sensor node. Further, DBR can naturally takes advantages of the multiple-sink underwater sensor network architecture without introducing extra cost. Our simulation results have shown that DBR can achieve high packet delivery ratios (at least 95%) for dense networks, with reasonable energy consumption. To achieve better performance for sparse networks, recovery algorithms need to be explored to avoid the “void” areas where the greedy strategy fails. Advanced recovery algorithms should be developed for higher energy efficiency and delivery ratio. DBR provides a distributed routing protocol based on local information of the sensor nodes. Besides the depth information, other information, such as the residual energy level and estimated distance to neighboring nodes, could also be useful in making routing decisions that can further reduce energy consumption and extend the network’s life time. For multiple-sink network settings, we only consider some simple cases in which the sinks are randomly, uniformly deployed on the water surface. Given the routing protocol and the node deployment model, we may find better deployment locations for the multiple sinks to achieve better performance.
86
H. Yan, Z.J. Shi, and J.-H. Cui
References 1. Akyildiz, I.F., Pompili, D., Melodia, T.: Challenges for efficient communication in underwater acoustic sensor networks. ACM SIGBED Review 1(1) (July 2004) 2. Basagni, S., Chlamtac, I., Syrotiuk, V.R., Woodward, B.A.: A distance routing effect algorithm for mobility (dream). In: MOBICOM 1998 (1998) 3. Braginsky, D., Estrin, D.: Rumor routing algorithm for sensor networks. In: WSNA 2002 (September 2002) 4. Cui, J.H., Kong, J., Gerla, M., Zhou, S.: Challenges: Building scalable mobile underwater wireless sensor networks for aquatic applications. Special Issue of IEEE Network on Wireless Sensor Networking (May 2006) 5. Grossglauser, M., Vetterli, M.: Locating nodes with ease: Mobility diffusion of last encounters in ad hoc networks. In: IEEE INFOCOM 2003 (March 2003) 6. Heidemann, J., Ye, W., Wills, J., Syed, A., Li, Y.: Research challenges and applications for underwater sensor networking. In: IEEE Wireless Communications and Networking Conference (April 2006) 7. Heinzelman, W.R., Kulik, J., Balakrishnan, H.: Adaptive protocols for information dissemination in wireless sensor networks. In: Mobicom 1999 (August 1999) 8. Intanagonwiwat, C., Govindan, R., Estrin, D.: Directed diffusion: A scalable and roust communication paradigm for sensor networks. In: MOBICOM 2000 (August 2000) 9. Karp, B., Kung, H.T.: Gpsr: Greedy perimeter stateless routing for wireless networks. In: Proc. Mobicom (2000) 10. Linkquest, http://www.link-quest.com/ 11. Nicolaou, N., See, A., Xie, P., Cui, J.-H., Maggiorini, D.: Improving the robustness of location-based routing for underwater sensor networks. In: Proceedings of IEEE OCEANS 2007 (June 2007) 12. The ns mannual (2002), http://www.isi.edu/nsnam/ns/doc/index.html 13. Partan, J., Kurose, J., Levine, B.N.: A survey of practical issues in underwater networks. In: Proc. of ACM International Workshop on UnderWater Networks (WUWNet), September 2006, pp. 17–24 (2006) 14. Proakis, J., Sozer, E.M., Rice, J.A., Stojanovic, M.: Shallow water acoustic networks. IEEE Communications Magazines, 114–119 (2001) 15. Seach, W.K., Tan, H.X.: Multipath virtual sink architecture for underwater sensor networks. In: OCEANS (May 2006) 16. Xie, G.G., Gibson, J.: A networking protocol for underwater acoustic networks. Technical Report TR-CS-00-02 (2000) 17. Xie, P., Cui, J.-H., Lao, L.: Vbf: Vector-based forwarding protocol for underwater sensor networks. In: Proceedings of IFIP Networking (May 2006) 18. Ye, F., Luo, H., Cheng, J., Lu, S., Zhang, L.: A two-tier data dissemination model for large-scale wireless sensor networks. In: MOBICOM 2002 (September 2002) 19. Ye, F., Zhong, G., lu, S., Zhang, L.: Gradient broadcast: A robust data delivery protocol for large scale sensor networks. ACM Wireless Networks(WINET) 11(2) (2005)
Channel Allocation for Multiple Channels Multiple Interfaces Communication in Wireless Ad Hoc Networks Trung-Tuan Luong, Bu-Sung Lee, and C.K. Yeo School of Computer Engineering Nanyang Technological University, Nanyang Avenue, Singapore 639798 {Y050089,bslee,asckyeo}@ntu.edu.sg
Abstract. A major drawback of multi-hop communication in ad hoc network is the bandwidth scarcity along the forwarding path of data packet. The main reason for the lack of bandwidth or the exponential reduction in the bandwidth is the contention for bandwidth between nodes along the path. In this paper we will demonstrate one way to overcome this problem through the use of multiple channels multiple interfaces (MCMI). We investigate different forwarding channel selection schemes for MCMI communication with Destination Sequenced Distance Vector protocol: same channel, random and round robin. Based on our analysis and simulation results we have shown that MCMI protocol significantly improves the channel capacity while maintaining low end-to-end delay. Forwarding channel selection policies play an important role in determining the performance of the MCMI. Among the channel assignment policies under study, round robin policy provides the best performance. The results provide a baseline for evaluating bandwidth of multiple channels multiple interfaces networks. Keywords: Multiple channel communication, channel interference, channel assignment, bandwidth.
1
Introduction
Wireless communication has become an indispensable part of modern day-to-day life. Research in ad hoc networks has focused on single channel networks, in which a common channel is desired for simple routing control in multi-hop networks. A well known fact that is affecting the performance of ad hoc networks is the significant throughput degradation along the multi-hop path [1]. When a single channel is used both for incoming and outgoing traffic, throughput is halved as they use the same radio channel. That means when one node is transmitting, its neighbors nodes must all be in listening mode otherwise collision will occur. This problem is amplified across the network, and after a few hops the bandwidth is reduced significantly. To overcome the throughput degradation problem, a natural approach is to use multiple channels in which nodes work on different channels in an interference area. A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 87–98, 2008. c IFIP International Federation for Information Processing 2008
88
T.-T. Luong, B.-S. Lee, and and C.K. Yeo
Recent research and commercial efforts in the wireless networking industry have focused on a new class of ad hoc networks: multiple channels multiple interfaces ad hoc networks [1]. These networks are characterized by a set of fixed nodes with multiple wireless interfaces utilizing multiple orthogonal channels at the same time over a given swath of spectrum such as IEEE 802.11 a/b/g. Simultaneous operation of multiple channels provides the following advantages: – Capacity enhancement: A node with two interfaces can send packets on two channels simultaneously. More importantly, forwarding nodes can both send and receive at the same time. Using appropriate protocols for channel selection and assignment, such a system can provide significantly greater capacity than a single interface system – Load sharing: Load sharing occurs where a traffic flow is distributed among the available connections to achieve lower latency and increase robustness to network. – Channel failure recovery: Graceful degradation and robustness against channel errors is possible by employing frequency diversity. Frequency diversity can be achieved by using multiple interfaces and operating each on different channel frequencies. In this paper, we implement the Destination Sequenced Distance Vector (DSDV) for multiple channels multiple interfaces wireless ad hoc networks (DSDV-MCMI) to reduce the bandwidth degradation problem. In DSDV-MCMI, we investigated three different policies for forwarding channel selection: same channel, random channel and round robin channel to evaluate the channel interference along the multi-hop path. Our simulation results show that DSDVMCMI protocol significantly improves the network goodput while maintaining low end-to-end delay. Among the three different channels selection policies for MCMI, round robin policy, where the packets are forwarded based on the packet incoming channel, is the best at preventing channel interference; which results in shortest end-to-end delay time. Our paper outline is as follows. Section 2 briefly discusses the related work. In Section 3, we present the multiple channels multiple interfaces protocol with DSDV-MCMI. The simulation and results analysis are given in Section 4. Finally, Section 5 concludes the paper.
2
Related Work
We can categorize strategies for using multiple channels into two groups depending on the number of interfaces used: single interface and multiple interfaces. The first strategy is to enable a single wireless interface card to access multiple channels [2,3]. For example, So and Vaidya [3] propose a scheme that allows wireless devices to communicate on multiple channels using a single interface card. The scheme requires frequent channel switching, which incurs considerable overhead on the current hardware. The other strategy is to use multiple interface cards; Nasipuri et al. [4,5,6] propose a class of multi-channel carrier sense multiple access
Channel Allocation for MCMI Communication
89
MAC protocols where all nodes have an interface on each channel. These proposed protocols use different metrics to choose the channel for communication between nodes. The metric may simply use the idle channel [4], or the signal power observed at the sender [5], or the received signal power at the receiver [6]. Wu et al [7] propose a MAC layer solution that requires two interfaces. One interface is assigned to common channel for control purposes, and the second interface is switched between the remaining available channels for transmitting data. Lee [8] proposed a class of proactive routing protocol for multi channels, which uses one control channel and N data channels. The nodes exchange control packages on the control channel to negotiate the best channel for the receiver’s data channel. Most past research in the use of multiple channels require either modification of the MAC layer protocol or changes to IEEE 802.11. Compared to previous research, our proposed protocol focus on exploit the multiple channels by using concurrent multiple interfaces. The protocol does not require channel synchronization among nodes. Although there is some additional control overhead, the simulation results show that the proposed protocol significantly increase network goodput while decreasing end-to-end delay efficiently.
3 3.1
Multiple Channels Multiple Interfaces Routing with DSDV Model Description
Module based node for ns-2. Wireless nodes are becoming multimodal. They are equipped with multiple interfaces possibly using different technologies, including wired access, and may use them concurrently. Paquereau [9] designed module based wireless node (MW-Node), a more flexible and better integrated wireless and mobile support in ns-2[10]. It is not a new implementation but primarily a reorganization of already existing components. The MW-Node enables new features to be supported by the simulator. For instance, true support for multiple wireless interfaces on a single node, each may have its own routing protocol. DSDV-MCMI. Based on the MW-Node model, we developed destination sequenced distance vector for multiple channels multiple interfaces, DSDV-MCMI, to demonstrate the multiple channels multiple interfaces routing scheme. Nodes can have more than one network interfaces as shown in Fig. 1. These interfaces are assigned to orthogonal channels so that they will not interfere with each other. Every interface has one DSDV [11] routing agent for generating control messages and forwarding data packets. Destination-Sequenced Distance-Vector Routing (DSDV) is a table-driven routing protocol based on the Bellman-Ford algorithm. Each mobile node maintains a route to every other node in a routing table. Route entry contains destination address, next hop address and number of host to reach the destination. In order to prevent routing loop, each entry is marked with a sequence number assigned by the destination node. The sequence numbers enable node to
90
T.-T. Luong, B.-S. Lee, and and C.K. Yeo
Fig. 1. Multi-interface node
distinguish stale routes from new ones. The DSDV routing agent at each interface maintains its’ own routing table for all available destinations. To maintain the consistency of routing tables in a dynamically varying topology, each node’s interface periodically transmits full updates or immediately transmits incremental updates when significant new information is available, such as a topology changes. We design a channel assignment module on top of the network interfaces. This module is in charge of selecting the network interface for forwarding each data packets. 3.2
Channel Assignment Policy
The purpose of channel assignment is to determine the forwarding channel for packet to minimize interference with other nodes. We apply the static approach [12] that assigning a common set of channels for node’s interfaces. Every node has N interfaces, which are assigned to the same set of N orthogonal channels. At the source node, data packet is sent out on an interface which is randomly selected. When an intermediate node along the path receives a data packet on incoming channel Chin ; the node uses one of the following three policies to select the outgoing channel Chout for relaying data packet: – Policy 1 Same channel: node will relay the packet on the same channel as the packet was received. This approach incurs high channel interference in multi-hop route, which results in long delay and packet drops that degrade the performance significantly. Chout = Chin – Policy 2 Random channel: node relays data packet on a randomly selected channel. The probability that the forwarding channel is the same as the received channel is N1 . When a node has more interfaces, the less chance that the forwarding channel is the same as the received channel. Chout = Random(Ch0 ,Ch1 ,..,ChN −1) – Policy 3 Round robin channel: when a node receive data packet need to be forwarded on ith channel it will forward that packet on the (i+1)th channel. Chout = (Chin + 1) mod (N)
Channel Allocation for MCMI Communication
3.3
91
Channel Interference
Assuming that nodes are ideally placed along the route with hop distance ’d’ as in Fig.2, all the node has transmission range ’T’ and carrier sensing range ’C’. The ideal placement of a node is d ≤ T < 2∗d
(1)
The transmissions of a node interfere with transmissions of other nodes within its’ sensing range. Thus sensing range is also called as interference range. The interference distance in term of number of hops along a path is: M = Cd hops where Cd is floor of Cd This means that transmission of a node may interfere with transmission of the next M nodes and transmission of the previous M nodes along the path. We will prove the throughput by using multiple channels for transmission; the minimum number of channels required to eliminate the channel interference among forwarding nodes along the path is (M+2). As shown in Fig. 2, nodes A1 , A2 ,..,
Fig. 2. Multi-hop path
AM+1 are within interference range of each other, because the distance between A1 and AM+1 is M hops. Therefore the (M+1) data transmissions from Ai to Ai+1 (i=1,2,..,M+1) can interfere with each other. Due to the exposed node problem, data transmission from node AM+1 to node AM+2 can also interfere with CTS/ACK packet sent from node A1 to node S. Thus we can see that there are (M+2) data transmissions interfering with each other. Hence we need at least (M+2) channels so that every data transmission can work on different channel to ensure these communications will not interfere with each other. In Fig. 3, we apply policy 3 for forwarding channel selection among the set of (M+2) channels { Ch0 , Ch1 ,..,ChM+1 }. We can see that two transmissions use the same channel, such as link S-A1 and link AM+2 -AM+3 , are (M+1) hops apart along the path, hence they will not interfere with each other. Thus with (M+2) available channels, we can use policy 3 for channel assignment for data transmission so that we can eliminate channel interference
92
T.-T. Luong, B.-S. Lee, and and C.K. Yeo
Fig. 3. Channel assignment for communication link in multi-hop path
3.4
Capacity of a Chain of Multiple Channels Multiple Interfaces Nodes
In this subsection, we evaluate the capacity of a single chain of nodes where packets are originated at first node and forwarded along the chain to the last node. We investigate chain of nodes under saturated condition that every node along the chain always has packet to forward. When node A select channel to forward packet, we denote PI (A) the probability that the selected channel will be interfered. Let S be the set of N available channels; B is channel bandwidth; B(A) is bandwidth experienced by node A. BChain is the maximum bandwidth can be achieved for transmission from source to destination of the chain. M is the interference distance in term of number of hops and L is hops length of the chain. Along the chain, we can see that the middle node such as node AM+1 in Fig. 2 is the bottleneck node, because its’ data transmission may share the same channel with most number of other transmissions. Bandwidth of chain is reduced significantly because of those nodes. Thus we will evaluate the bandwidth can be experienced by the middle node A in the chain. Policy 1. we have Chout = Chin , therefore two consecutive data transmissions along the path always interfere with each other. Thus channel interference always happens, PI (A) =1. If the chain is long enough, which is equal or more than (2*M+2) hops long. We examine the middle node AM+1 as in Fig. 2; AM+1 will share the same channel with the next M nodes AM+2 ,.., A2M+1 and the previous M nodes A1 ,.., AM along the path. However due to the exposed node problem, transmission from node AM+1 to node AM+2 will also interfere with CTS/ACK packet sent from node A1 to node S. Therefore we can say that node AM+1 shares the same B channel with (2*M+1) other node.; this makes B(AM+1 ) = 2∗M+2 . Thus the B chain of nodes can achieve a maximum bandwidth of 2∗M+2 . If hops length L < (2*M+2); the middle node will have carrier sensing range cover the whole chain, thus its’ data transmission will share the same channel with all the other (L-1) transmissions along the path. So its’ experienced bandwidth B will be B L . Therefore the chain can achieve a maximum bandwidth of L . B if L ≥ (2 ∗ M + 2) BChain = 2∗M+2 (2) B if L < (2 ∗ M + 2) L Policy 2. we denote PN I (A) the probability that the selected channel of A will not be interfered. PN I (A) = 1 - PI (A). Let K be number of forwarding nodes
Channel Allocation for MCMI Communication
93
along the chain excluding A stay inside carrier sensing range of A. As discussed in policy 1, K is (2*M+1) if L ≥ (2*M+2); otherwise K is (L-1). We can see that PN I (A) equals to the probability that node A selects channel Chi and the other K nodes select among the rest (N-1) channels (S\ {Chi }) multiply by N. K *N = NN−1 K PI (A) = 1- PN I (A) = 1- NN−1
PN I (A) =
1 N
*
N −1 K N
we denote PI (A,J) the probability that the selected channel of A will be shared with other J nodes J+1 N −1 K−J J N −1 K−J PI (A,J) = N1 ∗ N ∗ N = N1 ∗ N J=0..K where 1 K K K (N −1)K−J B B(A) = J=0 PI (A, J) ∗ J+1 =B ∗ N J=0 J+1
BChain = B ∗
1 N
K K (N − 1)K−J (2 ∗ M + 1) if L ≥ (2 ∗ M + 2) whereK = L−1 if L < (2 ∗ M + 2) J + 1 J =0 (3)
Policy 3. We first evaluate the long chain of nodes that L ≥ (2*M+2). If N ≥ (M+2), policy 3 can help to eliminate channel interference; thus PI (A) = 0 and B(A)= B. Else if N < (M+2), PI (A) = 1 and node A will share the same M channel with next M along the chain. Node A N nodes and previous N nodes may share the same channel with the exposed node if M+1 = M+1 N N . Therefore B(A) = M + BM +1 +1 . N N Then we evaluate the short chain that L< (2*M+2). If L ≤ N then all the transmissions use different channel thus PI (A) = 0 and B(A)= B. Else if L > L N, data transmission of node A will share the same channel with other N -1 L L transmission. Therefore PI (A) = 1 and B(A)= B where N is ceiling of N L N ⎧ B if L ≥ (2 ∗ M + 2)andN ≥ (M + 2) ⎪ ⎪ B ⎪ ⎨ M if L ≥ (2 ∗ M + 2)andN < (M + 2) N + MN+1 +1 BChain = (4) B if N < L < (2 ∗ M + 2) ⎪ L ⎪ ⎪ N ⎩ B if L ≤ N
4 4.1
Simulation and Results Verification of Chain Results
First we simulate MCMI in a chain of nodes setup, where nodes are placed ideally 150m apart from each other. The transmission range is 250m and carrier sensing range is 550m. This is the worst-case placement, where node is placed at just above half of transmission range of each other. In this scenario, interference distance M is 3 hops. Packet is originated at source node with the rate of 2Mbps, which equals to channel bandwidth; so that data transmission of the chain is
94
T.-T. Luong, B.-S. Lee, and and C.K. Yeo Table 1. Bandwidth drop rate when chain’s length increases Chain length (hops) 1 2 3 4 5 5
Interface Interface Interface Interface Interface Interface
with with with with with
Policy Policy Policy Policy Policy
3 3 3 2 3
1 2
3
4
5
6
7
8
9
10
1 2
1 3 1 2
1 4 1 2 1 2
1 5 1 3 1 2 1 2
1 6 1 3 1 2 1 2
1 7 1 4 1 3 1 2
1 8 1 4 1 3 1 2
1 8 1 4 1 3 1 2
1 8 1 4 1 3 1 2
1 1 1 1 1 1
1 1 1 0.9 1
1 1 1 0.73 0.59 0.47 0.38 0.30 0.24 0.24 0.24 1 1 1 1 1 1 1 1
under saturated condition. We will measure the bandwidth can be achieved when the chain is 1-hop length and measure how the bandwidth drops when chain is longer. We increases numbers of interfaces equipped by nodes and apply different channel selection policy to verify our analysis. We calculate the drop rate of maximum bandwidth achieved of chain of Nhops length compared to 1-hop length chain according to equation (2), (3), (4). The result is summarized in Table 1 Fig. 4 shows the comparison results of our
Fig. 4. Bandwidth drop rate when number of hops increases
simulation and analysis. We can see that our simulation’s results are very close to the analysis results shown in Table 1. When the chain gets longer, packet must traverse more hops. Packets’ end-to-end delay increases while bandwidth decreases. 4.2
Simulation of MCMI in Two Dimensions Multihops Network Environment
We evaluated the performance of MCMI in static ad hoc network of map size 1200mx800m with network node density of 80 nodes. This setting helps to ensure that network is crowded enough so that we can have a path between any nodes; and network is also scarce enough so that the path length is long for evaluating effects of different channel allocation policies. The average hop counts of our
Channel Allocation for MCMI Communication
95
Table 2. Simulation Setting Parameter
Setting
Traffic model Packet size Packet sending rate Mac Transmission range Carrier sensing range Map size Node number Simulation time
20CBR connections 512 bytes 2pkt/s-12pkts/s 802.11 2Mbps 250m 550m 1200mx800m 80 300s
simulation are 3.5 hops. We simulate 20 CBR connections with 512bytes packet size in 300 seconds. The packet rate increases from 2 packets/s to 12 packets/s to vary the traffic load. A summary of the simulation setting is given as shown in Table 2. The following performance metrics are used to evaluate the simulation results: – Goodput: the number of useful bits per unit of time forwarded by the network from a certain source address to a certain destination, excluding protocol overhead, and excluding retransmitted data packets – End-to-end delay: the average time it takes for a packet to traverse the network from its source to destination. 4.3
Result Analysis
Goodput Experiment 1: Effects of number of Interfaces,N. Fig. 5 shows the goodput results at different traffic load for different number of channels. The goodput performance of N-interfaces is normalized against the performance of 1-interface. With increasing number of node’s interface, nodes can receive packet on one interface and send packet on other interface at the same time. Thus with more interfaces, node can share the traffic load better, which help to reduce the congestion. Therefore as expected when number of interfaces increases, the goodput increases. We do not expect the goodput to increase linearly as the number of interfaces increases, because communication paths can crossover and interfere each others. This causes bandwidth reduction in all the crossover communication path. Experiment 2: Effects of Forwarding Channel Assignment Policy. The normalized goodput performances of three channel assignment policies is compared against policy 1 in three-interface network are shown in Fig. 6. Policy 3 is the best as it diversifies channel usages, which results in greatest goodput achieved. Policy 1 does nothing to prevent channel interference, thus its’ goopdut performance is much less than that of policy 3. Policy 2 does a little effort to prevent
96
T.-T. Luong, B.-S. Lee, and and C.K. Yeo
Fig. 5. Normalized goodput regarding number of interfaces
Fig. 6. Normalized goodput regarding forwarding channel selection policy
channel interference by selecting forwarding channel randomly, which still has probability of channel interference. Thus policy 2 performs slightly worse than policy 3. End-to-End Delay Experiment 1: Effects of number of Interfaces,N. Fig. 7 shows the corresponding results of end-to-end delay for different number of network interface used for transmission, as the traffic load is increased. A key observation is that, in a congested network, packets will be kept in queue for very long, waiting for channel availability; which resulted in either long end to end delay or packet dropped. When node has more interfaces, it will be able to forward packets through all the interfaces. Thus packets need not wait long in queue; as the result, with more interface the end-to-end delay decreases considerably. For example at packet sending rate of 10pkt/s, the end to end delay can be reduced by 2, 4, 6 times that of a single interface when node has 2, 3 and 4 interfaces respectively.
Channel Allocation for MCMI Communication
97
Fig. 7. End-to-end delay regarding number of interfaces
Experiment 2: Effects of Forwarding Channel Assignment Policy. Fig. 8 presents the end to end delay performance of three channel assignment policies in three-interface node configuration with varying traffic load. Forwarding data packets on the same channel as the receiving channel incurs the greatest channel interference, thus policy 1 has the highest end-to-end delay. Policy 3 is the best as it diversifies channel usages, thus it can help reduce channel interference, which results in shortest end-to-end delay. The performance of policy 2 is slightly worse than policy 3.
Fig. 8. End-to-end delay regarding forwarding channel selection policy
5
Conclusion
We presented a multiple channels multiple interfaces ad hoc network routing protocol, DSDV-MCMI, which utilizes multiple channels to enable simultaneous multiple transmission to improve network capacity. This proposed scheme does not require modification to the current IEEE 802.11 MAC protocol. Simulation
98
T.-T. Luong, B.-S. Lee, and and C.K. Yeo
results shows that DSDV-MCMI exploits multiple channels multiple interfaces to improve network capacity and reduce channel interference. With more equipped network interfaces, we can achieve higher goodput and shorter end-to-end delay time. We also suggested some policies for forwarding channel selection: same channel, random channel and round robin channel; these policies play an important role in determining performance of MCMI. However, there is also an issue of crossover interference among the communication path and one needs a deeper understanding before a satisfactory solution is found.
References 1. Bahl, P., Adya, A., Padhye, J., Walman, A.: Reconsidering wireless systems with multiple radios. SIGCOMM Comput. Commun. Rev. 34(5), 39–46 (2004) 2. Chandra, R., Bahl, P., et al.: Multinet: Connecting to multiple ieee 802.11 networks using a single wireless card. In: Proceedings of IEEE Infocom 2004, Hongkong (March 2004) 3. So, J., Vaidya, N.H.: Multi-channel mac for ad hoc networks: handling multichannel hidden terminals using a single transceiver. In: MobiHoc 2004: Proceedings of the 5th ACM international symposium on Mobile ad hoc networking and computing, pp. 222–233. ACM Press, New York (2004) 4. Nasipuri, A., Zhuang, J., Das, S.R.: A multichannel csma mac protocol for multihop wireless networks. In: Wireless Communications and Networking Conference. WCNC, vol. 3, pp. 1402–1406. IEEE, Los Alamitos (1999) 5. Nasipuri, A., Das, S.: Multichannel csma with signal power-based channel selection for multihop wireless networks. In: Vehicular Technology Conference, 2000. IEEE VTS-Fall VTC 2000. 52nd, vol. 1(1), pp. 211–218 (2000) 6. Jain, N., Das, S., Nasipuri, A.: A multichannel csma mac protocol with receiverbased channel selection for multihop wireless networks. In: Proc. IEEE IC3N, Phoenix (October 2001) 7. Wu, S.-L., Lin, C.-Y., Tseng, Y.-C., Sheu, J.-P.: A new multi-channel mac protocol with on-demand channel assignment for multi-hop mobile ad hoc networks. In: ISPAN ’00: Proceedings of the 2000 International Symposium on Parallel Architectures, Algorithms and Networks (ISPAN 2000), p. 232. IEEE Computer Society Press, Washington (2000) 8. Lee, U., Midkiff, S.F., Park, J.S.: A proactive routing protocol for multi-channel wireless ad-hoc networks (dsdv-mc). In: International Conference on Information Technology: Coding and Computing (ITCC 2005), vol. 2, pp. 710–715 (2005) 9. Paquereau, L., Helvik, B.E.: A module-based wireless node for ns-2. In: WNS2 2006: Proceeding from the 2006 workshop on ns-2: the IP network simulator, p. 4. ACM Press, New York (2006) 10. network simulator version 2 (ns 2): http://www.isi.edu/nsnam/ns/ 11. Perkins, C.E., Bhagwat, P.: Highly dynamic destination-sequenced distance-vector routing (dsdv) for mobile computers. Computer Communications Review 24(4), 234–244 (1994) 12. Katzela, I., Naghshineh, M.: Channel assignment schemes for cellular mobile telecommunication systems: a comprehensive survey. Personal Communications, IEEE [see also IEEE Wireless Communications] 3(3), 10–31 (1996)
Resilience to Dropping Nodes in Mobile Ad Hoc Networks with Link-State Routing Ignacy Gawędzki and Khaldoun Al Agha Laboratoire de Recherche en Informatique Université Paris-Sud 11, CNRS F-91405 Orsay, France [email protected], [email protected]
Abstract. Currently emerging standard routing protocols for MANETs do not perform well in presence of malicious nodes that intentionally drop data traffic but otherwise behave correctly with respect to control messages of the routing protocol. In this paper, we address the problem of coping with the presence of such nodes in networks that use a linkstate routing protocol. The solution, based on the verification of the principle of flow conservation, is purely protocolar and does not rely on any specific underlying OSI layer 1 or 2 technical feature. In addition, it is well suited for integration into existing link-state routing protocols for ad hoc networks, by using existing periodic control messages and by not requiring any clock synchronization between the nodes. The method, once implemented in an actual routing protocol, proves to increase the ratio of successfully delivered data packets significantly. Keywords: ad hoc networks, link-state routing, security, resilience.
1
Introduction
Routing protocols for mobile ad hoc networks (MANETs) have received much attention in the past decade, but currently the most mature solutions still rely on the full cooperation of the participating nodes. The presence of one or more malicious nodes may have negative consequences on the proper operation of the network. In the case of proactive protocols, nodes exchange control messages allowing them to maintain their routing table and data packet forwarding is performed on a hop-by-hop basis, using a traditional protocol stack (most commonly TCP/IP). This makes these protocols easy to implement as userspace processes while the operating system’s kernel remains unchanged. The downside is that securing the protocol itself is not enough to make the network resilient to malicious nodes, since they can always play nice with control packets, while not as much with data packets. The presented solution aims to reduce the impact of malicious nodes as much as possible, allowing others to route data packets around nodes that tend to lose traffic, provided that malicious nodes are not colluding. A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 99–111, 2008. c IFIP International Federation for Information Processing 2008
100
I. Gawędzki and K. Al Agha
After related work in the field is summarized in Sect. 2, the solution is detailed in Sect. 3. Performance evaluation is presented in Sect. 4, followed finally by a conclusion and some perspectives in Sect. 5.
2
Related Work
The issue of Byzantine robustness of network operations has received attention for as long as the network administration of the Internet has become more decentralized and thus more exposed to attacks. The problem reemerged for MANETs, since the direct application of solutions for wired networks appeared to be either impossible or ineffective. In the family of reactive routing protocols — of which DSR [9] and AODV [13] are notorious examples — various solutions have been proposed [2,7,1] to provide Byzantine robustness. Since route discovery and maintenance as well as data packet forwarding is taken care of by the protocol, cryptographic methods can be used to ensure that every packet has been forwarded to the destination, without being corrupted, misrouted nor forged. As for proactive routing protocols, the OLSR [5] protocol has received attention from Raffo et al. [14] who proposed to secure the content of control messages to prevent nodes from advertising false or expired information. Fourati et al. also proposed a way to secure control messages [6] by requiring neighbors to validate and sign TC messages using threshold cryptography. While these propositions aim to guarantee the correctness of the protocol in presence of malicious nodes, they do not protect against data packet dropping. Protecting data packets in the same (intrusive) way as proposed for reactive protocols would break the principle of separate table-driven hop-by-hop routing, so it is not desirable in this case. Additional cryptographic tools such as key distribution systems to allow sender authentication should be used, but they still do not enable the prevention or detection of intentional packet dropping. In order to make packet dropping detectable, Marti et al. proposed [12] to exploit the ability of nodes to overhear the transmissions of their neighbors to check whether they have retransmitted the packets as requested. Unfortunately, such an approach does not work anymore when directional antennae or multiple network interfaces (or simply different communication channels) are used on nodes. Other approaches, based on active probing of nodes to detect droppers, have also been proposed [10,2,11]. They rely on the inability of nodes to either distinguish probes from plain data packets or identify their originator. It is worth noting that many solutions to encourage cooperation [4,15] have been proposed as well. Although they may be very effective to discourage selfishness, they do not protect against malicious nodes that drop data traffic, be it at their own expense. In the context of static wired networks, Bradley et al. proposed [3] that nodes should periodically verify that each of their neighbors satisfies the principle of flow conservation based on their advertised packet counters. Nodes that fail to pass these tests are flagged as bad and excluded from the network. Their
Resilience to Dropping Nodes in MANETs with Link-State Routing
101
assumptions about the network have later been criticized as being too strong and a few possible attacks have been exposed by Hughes et al. [8]. However, this solution is also hardly applicable to MANETs, because of mobility and the difficulty to maintain tightly synchronized clocks between nodes.
3 3.1
Proposed Solution Motivations and Assumptions
Our experience in implementation of MANET routing protocols taught us that the less a solution is intrusive in the existing framework the easier it is to implement, maintain and port. Besides, relying only on basic features of drivers allows wider hardware support. With a protocolar approach, we sought a solution easy to implement by requiring little or no change at all in the OS kernel while no cross-layer requirement eases support for a wide range of network interface cards. The solution assumes that cryptographic mechanisms allow any node, be it the destination host or an intermediate router, to check a packet’s integrity and authenticate its source. The network is assumed to be running a linkstate routing protocol that exchanges periodic control packets. The bound P on the time separating two successive control packets is assumed to be finite and known. 3.2
Solution Outline
The solution is composed of three distinct phases, that are performed continuously during the operation of the network. First, perform unicast packet accounting, exchange counters periodically and verify the principle of flow conservation. Second, maintain a local degree of distrust in each other node, based on how often it fails the flow conservation tests and diffuse that value in the network. Third, combine local degrees of distrust from other nodes into a single, uniform metric (i.e. every other node comes up with the same values) and use it for routing table calculation. Note that intentional and unintentional packet droppings are not distinguished, which is desirable since in the third phase, intentional as well as unintentional packet droppers are simply avoided. This should have a positive effect on the overall operation of the network. 3.3
Checking Flow Conservation
In this section, the method used to check whether nodes’ counter values do not satisfy the flow conservation principle is presented. Definition 1. Let the network be a graph G = (V, E) with V the set of vertices (the nodes) and E : R+ → V × V a function mapping instants in time t to sets of arcs E(t) (the one-way links) existing at these instants.
102
I. Gawędzki and K. Al Agha
j i Definition 2. Let Iij (t) and Iij (t) be respectively i’s and j’s counter of the amount of bytes that flowed on link (i, j) up to instant t in packets which desj i tination was not j. Similarly, let Oij (t) and Oij (t) be respectively i’s and j’s counter of what flowed on (i, j) up to t in packets which source was not i.
The flow conservation principle states that i i ∀t, ∀i, Iji (t) − Oij (t) = 0 .
(1)
j i i If i advertised its counters Iji (t) and Oij (t) periodically, its neighbors could check (1) for each instant t at which i sent an advertisement. But since that simple check is based on i’s counters only, i could as well have advertised false values. Additional checks are thus needed to ensure that these are correct, namely:
∀t, ∀i, j,
j j i i Iji (t) = Iji (t) and Oij (t) = Oij (t)
and Tiji (t) = Tijj (t) ,
(2)
where Tiji (t) and Tijj (t) are respectively i’s and j’s counter of the total amount of bytes that flowed on (i, j) up to t. Because of mobility, the neighborhoods are changing and so absolute values of counters are inconvenient. Differential values are better advertised instead: a differential value is simply the difference between the current absolute value of a counter and its absolute value at the time of last advertisement. Definition 3. Let Si (t) be the value of i’s sequence counter at instant t and let Ti (n) be the instant at which the sequence counter is incremented from n − 1 to n and i’s advertisement set with sequence number n is transmitted. In the following, X is used to represent either I, O or T , to avoid repeating three times each formula that holds for each type of counter. j i i Definition 4. For each counter in the form Xij (t) or Xij (t), let X˙ ij (t) and j ˙ Xij (t) be their differential values.
∀t, ∀i, j, ∀k ∈ {i, j},
k k k X˙ ij (t) = Xij (t) − Xij (Tk (Sk (t)))
(3)
Definition 5. Let T− i (n) be the instant right before i’s nth advertisement set is sent. This notation is used only with differential values to avoid ambiguity. ∀t, ∀i, Si T− (4) i (Si (t)) = Si (t) − 1 Using periodic messages of the routing protocol, nodes advertise successive differential values of their counters. Definition 6. An advertised values of counters (AVC) tuple from i for neighbor j with sequence number n has the following form: i − − i I˙ij Ti (n) , O˙ ij Ti (n) , T˙iji T− i (n) , i Vj (n) = i − . (5) − i I˙ji T (n) , O˙ ji T (n) , T˙jii T− (n) i
i
i
Resilience to Dropping Nodes in MANETs with Link-State Routing P
P Ti (n)
Ti (n + 1)
103
P
Ti (n + 2)
Ti (n + 3) from i time from j
Tj (m − 2)
Tj (m − 1) P
Tj (m) Tj (m + 1) P
P
Fig. 1. Desynchronized advertisements: differential counter values from i and j are not advertised at the same time and thus do not represent flow on the same interval. Vertical arrows indicate instants at which advertisements from i (above) and j (below) are sent. Upper bound on the advertisement interval P is shown as well.
Between two successive transmissions of an AVC tuple for some neighbor j, a node i may receive zero or more AVC tuples regarding itself from j. Definition 7. Let Sij (n) be the (possibly empty) set of sequence numbers of j’s AVC tuples received by i between its (n − 1)th and nth advertisements. ∀i, j, ∀n, Sij (n) = m : Ti (n − 1) ≤ Tj (m) < Ti (n) ∧ (j, i) ∈ E (Tj (m)) (6) To allow neighbors of i to verify (2), i has to retransmit, along with each AVC tuple about a neighbor j, a set of reverse AVC tuples. In all, values of counters are diffused to the whole 2-hop neighborhood. Definition 8. Node i’s nth advertisement set contains nth link advertisements about each of its neighbor j. ⎧⎛ ⎞ ⎫ ⎬ ⎨ ⎝n, Vji (n), Ai (n) = m, Vij (m) ⎠ (7) ⎩ ⎭ i j
m∈Sj (n)
Given that advertisements are sent asynchronously, (1) can be performed directly, whereas (2) most probably cannot. The question is then how to decide that those equations are not satisfied, based on desynchronized counters, i.e. differential counter values over different intervals of time (see Fig. 1). The idea is to consider what can be called desynchronized link balances. Definition 9. A desynchronized link balance in terms of counter X for the link (k, l) (either (i, j) or (j, i)), computed from advertisement number n from node i about node j has the following form: − j − i ∀i, j, ∀n, ∀(k, l), BX ikl (n) = X˙ kl Ti (n) − X˙ kl Tj (m) . (8) m∈Sij (n)
When a node k receives the nth advertisement set from i, it can compute BX iij (n), i i i ˙j − since X˙ ij (T− i (n)) and every Xij (Tj (m)) with m ∈ Sj (n) are contained in A (n).
104
I. Gawędzki and K. Al Agha
Obviously, BX iij (n) and BX iji (n) are seldom zero, unless the counters in Ai (n) are zero themselves. Instead of looking at desynchronized link balances for individual advertisements, let us consider the sum of several desynchronized link balances for successive advertisements. It appears that these accumulated link balances have interesting properties. Definition 10. Let Δij (n) be the difference in time between the instant Ai (n) is sent and last j’s advertisement set was received by i.
∀i, j, ∀n,
Δij (n) =
⎧ ⎨Ti (n) − max Tj (m) i
if Sij (n) =∅ ,
⎩T (n) − T (n − 1) + Δi (n − 1) i i j
otherwise.
m∈Sj (n)
(9)
Suppose that k receives M successive advertisement sets from i, calculates the desynchronized link balances and sums them. That sum is expressed quite simply in terms of absolute counters. The intuitive argument can be seen on Fig. 1: the summed desynchronized link balance (the gray rectangles) from i’s advertisements n + 2 to n + 3 (i’s (n + 2)th advertisement contains j’s (m − 1)th counters and i’s (n + 3)th advertisement contains j’s mth and (m + 1)th counters), is clearly equal to the difference between the amount of bytes that flowed on interval [Tj (m + 1), Ti (n + 3)) and on interval [Tj (m − 2), Ti (n + 1)). Definition 11. Let F X iij (n) (resp. F X iji (n)) be i’s end flow on link (i, j) (resp. (j, i)), i.e. the quantity expressed by: ∀i, j, ∀n, ∀(k, l),
i i F X ikl (n) = Xkl (Ti (n)) − Xkl Ti (n) − Δij (n) .
(10)
j i Theorem 1. If Xkl (t) = Xkl (t) (for any i, j, (k, l) = (i, j) or (k, l) = (j, i) and any t), the summed values of desynchronized link balances over an interval of sequence numbers [n, n + M ] are exactly:
∀i, j, ∀n, ∀M ≥ 0, ∀(k, l),
n+M
BX ikl (p) = F X ikl (n + M ) − F X ikl (n − 1) . (11)
p=n
Proof. By induction on M ≥ 0. The case of M = 0 is trivially shown: i i ∀i, j, ∀n, ∀(k, l), BX ikl (n) = Xkl Ti (n) − Xkl Ti (n) −Δij (n) (12) j j i − Xkl Ti (n−1) + Xkl Ti (n−1) −Δj (n−1) . j i The induction hypothesis holds since we have that Xkl (t) = Xkl (t).
From the expression of (11), bounds on the accumulated desynchronized link balances can be expressed as follows.
Resilience to Dropping Nodes in MANETs with Link-State Routing
105
j i Theorem 2. If Xkl (t) = Xkl (t) (for any i, j, (k, l) = (i, j) or (k, l) = (j, i) and any t), then the accumulated desynchronized link balances are bound in the q n+M following way: i X Xi ∀i, j, ∀n, ∀M ≥ 0, ∀(k, l), max B kl (p) − F kl (q) ≤ BX ikl (p) q∈[n,n+M ]
p=n
≤
min
q
q∈[n,n+M ]
p=n
BX ikl (p)
+ F X ikl (n + M ) .
(13)
p=n
The proof of Theorem 2 is straightforward but omitted for brevity. Definition 12. Let Γji (n), be the minimum difference in time between the instant Ai (n) is sent and first j’s advertisement set was received by i since Ai (n−1) was sent. ∀i, j, ∀n : Sij (n) = ∅, Γji (n) = Ti (n) − min Tj (m) (14) i m∈Sj (n)
i ˙i − In Ai (n), the quantities X˙ ij (T− i (n)) and Xji (Ti (n)) are i’s claim about how much has flowed on links (i, j) and (j, i) respectively for each class X, during interval [Ti (n−1), Ti (n)). If that advertisement also contains at least one reverse j i AVC tuple for the links (i.e. Sij (n) = ∅), then the quantities X˙ ji (T− i (n) − Γj (n)) j − i ˙ and Xij (Ti (n) − Γj (n)) are j’s corresponding claim on interval [Ti (n − 1) − Δij (n − 1), Ti (n) − Γji (n)).
Definition 13. Let Lij (n) and Nij (n) be the sequence numbers defined as follows. ∀i, j, ∀n,
Lij (n) = max m : m ≤ n ∧ Sij (m) =∅ Nij (n) = min m : m > n ∧ Sij (m) =∅
(15)
It appears that we have the following properties: ∀i, j, ∀n, Ti (n) − Δij (n), Ti (n) ⊆ Ti Lij (n) − 1 , Ti (n) Ti (n) − Δij (n), Ti (n) ⊆ Ti (n) − Δij (n), Ti Nij (n) − Γji Nij (n) .
(16)
It immediately follows that bounds for the end flow can be expressed in terms of differential values of counters contained in advertisements. ⎞ ∀i, j, ∀n, ∀(k, l), ⎛ n − i i i i ˙j ⎠ (17) F X ikl (n) ≤ min ⎝ X˙ kl T− i (p) , Xkl Ti Nj (n) − Γj Nj (n) p=Lij (n)
If there is no discrepancy between i and j’s counters about link (k, l) (either (i, j) or (j, i)), then the bounds on the accumulated desynchronized link balances of (13) are verified. Even more so if upper bounds of the end flows from (17)
106
I. Gawędzki and K. Al Agha
are used instead of their actual values. In the following we call this verification the link coherence check. When such a check fails, the absolute value of the excess of accumulated desynchronized link balances with respect to the (loose) bounds is itself a lower bound on the amount of actual discrepancy, which is used directly in the second phase of the solution (detailed in Sect. 3.4). Then the corresponding accumulated values have to be reset to zero and the bounds to be initialized anew upon reception of the next advertisement. 3.4
Distrust System
A failed check is a proof of counter discrepancy, caused by dropped data traffic or false AVCs. Since usually some data packet loss is to be legitimately expected, a check failure should not be a direct reason for the exclusion of nodes. Nodes that drop data traffic should thus be avoided if possible, but not excluded. In the second phase of the solution, tests from the first phase are used to maintain a distrust metric on nodes which is used for path calculation. Unlike in usual trust or reputation systems, this metric cannot be individually maintained by each node, based on first-hand observations combined with second-hand observations from neighbors. The metric has to be uniform across all the nodes, so that every node tends to know of the same value for any given node in the topology, otherwise hop-by-hop routing may not be loop-free. Therefore, the metric is a combination of all the nodes’ local observations, diffused in the network. The local observations (failures to pass checks from the first phase) are used to maintain a local degree of distrust. This value is initially zero and each time a check fails, it is incremented as follows: Di ← max(1, Di ) · 1 + Li · r+ , (18) where Di , Li and r+ are respectively the degree of distrust in i, the lower bound on the amount of actual discrepancy and the ratio used as a parameter of the system set to how fast a degree has to increase. The value recovers over time in the following way: Di ← max 0, Di − Δt · r− , (19) where Di , Δt and r− are respectively the degree of distrust in i, the interval of time elapsed since last update and the ratio used as a parameter of the system set to how quickly a degree has to decrease with time. The local degree of distrust is diffused to other nodes, to allow them to compute the distrust metric for each other node. To make the calculation resilient to slander, we propose to combine the different degrees by calculating a kind of median value, which is insensitive to pathological samples that deviate too much. Using the local degrees of distrust directly is too simplistic and we require nodes to advertise a confidence factor along. That factor is used to enable each node to say to what extent its degree has to be taken into account in the calculation of the median. It is based on the amount of traffic that the observed
Resilience to Dropping Nodes in MANETs with Link-State Routing
107
node supposedly transmitted, according to its counters. The confidence factor increases with traffic: ci ← ci + Ti · r+ (20) (with ci , Ti and r+ being respectively the confidence factor for Di , the amount of traffic of i and the ratio used as a parameter of the system set to how quickly the confidence has to grow) and decreases with time passing: ci ← max(0, ci − Δt · r− )
(21)
(with ci , Δt and r− being respectively the confidence factor of Di , the interval of time elapsed since last update and the ratio used as a parameter of the system set to how quickly the confidence has to decrease with time). This way, the more (alleged) traffic goes through a node, the higher the confidence factor of its neighbors in their degree of distrust in that node. The value of the confidence factor that is actually advertised is required to be in the interval [0, 1), Ci = 1 −
1 , 1 + ci · ra
(22)
where Ci , ci and ra are respectively the advertised confidence factor of Di , the (internal) confidence factor of Di and the ratio used as a parameter of the system set to how quickly an advertised confidence factor has to come close to 1. The actual calculation of the metric based on individual couples (Dij , Cij ) (distrust and associated confidence in i diffused by j) is a weighted median: ∀i,
Di1 , Ci1 , . . . , (Din , Cin ) , j 1 j Ci ≤ · C 2 j i j j:Di <Wi
and
Cij ≤
j:Dij >Wi
1 j · C , (23) 2 j i
where Wi is the combined metric for node i. A simple route calculation using a shortest path algorithm on the global topology graph is to set the weight wij of each link (i, j) to 1 + Wi (instead of 1 for a simple hop-count metric).
4 4.1
Performance Evaluation Simulation Model
We have implemented our solution on top of a model of the OLSR protocol for the OPNET 12.0 simulator. Mobile nodes move on an area of 1000 m × 1000 m, with constant velocity (chosen uniformly on [0, 1] m/s) and constant direction (chosen uniformly on [0, 2π)) during an interval of time chosen exponentially with rate 1/600 per second. Data packets are generated exponentially with rate 5 per second, source and destination are chosen uniformly and data length is chosen uniformly between 40 and 1500 bytes. Cheaters, also chosen uniformly among the
108
I. Gawędzki and K. Al Agha
nodes, drop data packets with a parametrized probability. A IEEE 802.11 MAC layer is used on all nodes with 11 Mbps carrier, 50 mW transmission power, flow control (RTS/CTS) and default power thresholds (-85 dBm for carrier sense and -70 dBm for reception, resulting in ranges of respectively 1200 m and 214 m). The method presented in Sect. 3.3 and 3.4 has been implemented, along with a simple retransmission protocol for lost advertisements (omitted here for brevity), with r+ = 1/50, r+ = 1, r− = r− = 1/10 and ra = 10−6 . The MPR selection heuristic has been adapted so as to prefer neighbors with lower local distrust (details omitted here as well). MPRs diffuse local degrees of distrust and confidence factors of their selectors in TC messages. Cheaters do slander by always advertising a very high degree of distrust and a confidence factor of 1. The data packet delivery rate (total received data packets over total generated data packets) has been measured in each run and compared to several reference runs: in the No Cheater run, plain OLSR is used and the drop probability is forced to zero to see what OLSR achieves at best without cheaters; in the Plain run, plain OLSR is faced with non-zero drop probability to see how bad it does alone; in the Known run, OLSR has an oracle telling which node is a cheater and routing table calculation is performed as suggested at the end of Sect. 3.4 with Wi = 9 for each cheater i. That last reference run is used to see what performance could be achieved at best. Cheaters that intentionally drop data packets have many possible ways in which they can manipulate their counters. Among possible strategies, we have chosen four different ones: increment counters as though the packets were forwarded indeed; increment counters on all outgoing links so that the total added sum is the amount of lost data bytes; do not increment counters on outgoing links; increment counters only for every second packet. 4.2
Simulation Results
In the first batch of simulations, there were 100 nodes with 10% of cheaters. We have checked that the system stabilizes pretty quickly and after a few dozen seconds, the delivery ratio of our method is stable (though we checked for up to 10 1.0 0.9 delivery ratio
delivery ratio
0.9
0.8 Known Average Plain
0.7
0.8 0.7 0.6
No Cheater Known
Average Plain
0.5 0.25
0.5
0.75
drop probability
1.0
25 (3)
50 (5) 75 (8) total nodes (cheaters)
100 (10)
Fig. 2. Delivery ratio: with fixed density of 100 nodes and variable drop probability (left); with variable density and fixed drop probability of 1.0 (right)
Resilience to Dropping Nodes in MANETs with Link-State Routing
109
1.0
delivery ratio
0.8 0.6 Known Average Plain
0.4 0.2 0
5
10
15
20
25
30
35
40
45
50
55
60
percentage of cheaters
Fig. 3. Delivery ratio vs. cheaters: 1.0 drop probability and a total of 100 nodes
hours) and much closer to the Known case than to the Plain one. Lowering the drop probability, apart from raising the Plain curve, only lengthened by a small factor the time required for the delivery ratio to be as close to the Known curve (approximately 3 minutes for a drop probability of 0.25). The average delivery ratios of the Plain, Known and the average of the four cheating strategies (which results turned out to be very similar) after one hour of simulation, with 100 nodes, 10% cheaters with 1.0 drop probability, are presented in Fig. 2 (left). It appears clearly that in dense networks, the performance of our method sticks to the Known reference. To evaluate the performance of our method with respect to varying network density, we have run a batch of simulations with a different total number of nodes but a (almost) constant ratio of 10% of cheaters, each dropping with a probability of 1.0. The results presented in Fig. 2 (right) show that while the delivery ratio degrades with decreasing density, the performance of our method is still very close to the Known reference. The reason why maximum achievable performance decreases with the density is that there are fewer and fewer alternative paths for a given destination, hence fewer ways to avoid the cheaters. A last batch of simulations has been run with a duration of 15 minutes, a total number of 100 nodes but a varying number of cheaters with 1.0 drop probability. Results show (see Fig. 3) that our method improves the delivery ratio significantly, but less and less than the Known reference as the number of cheaters increases. 4.3
Discussion
Hughes et al. strongly criticized [8] the use of the principle of flow conservation as a way to detect malicious nodes in a network. They presented a number of attack scenarios which make simplistic approaches fail anyway. In our solution, we require all packets to be checked for integrity and their source address to be authenticated by all intermediate nodes, to exclude the possibility of packet modification or forgery going unnoticed. Some attacks, like “ghost routers” or the ones based on the reactivity of link-state routing protocols,
110
I. Gawędzki and K. Al Agha
are targeted at the routing protocol itself, which we assume here to be already protected. Note that the “kamikaze” attack, in which a malicious node intentionally advertises false counter values in order to be excluded along with some of its neighbors is simply handled by our solution, in which nodes are never excluded.
5
Conclusion
We have presented a way to augment a link-state routing protocol to make it resilient to the presence of nodes intentionally dropping data traffic. The method consists in three parallel operations: detect flow non-conservation on neighboring nodes, maintain a degree of distrust in all checked nodes, combine all degrees of distrust into a metric for routing table calculation. The method is very little intrusive into the system, provided that necessary cryptographic tools are available and that the routing protocol itself is protected. It is independent of OSI Data Link and Physical layers which makes it easier to implement and workable with different hardware setups (unidirectional antennae, multiple interfaces, etc). The method showed satisfactory performance, very close to an ideal case in which all cheating nodes are known to an oracle. Among the possible future works, we intend to explore the possibility of making the method work even in the presence of colluding cheaters. The interaction with some intrusion detection system can also be studied, in order to counter the “premature aging” attack.
References 1. Avramopoulos, I., Kobayashi, H., Wang, R., Krishnamurthy, A.: Highly secure and efficient routing. In: IEEE (ed.) INFOCOM 2004. Twenty-third AnnualJoint Conference of the IEEE Computer and Communications Societies, March 2004, vol. 1, pp. 208–220. IEEE, Los Alamitos (2004) 2. Awerbuch, B., Holmer, D., Nita-Rotaru, C., Rubens, H.: An on-demand secure routing protocol resilient to byzantine failures. In: WiSE 2002: Proceedings of the 3rd ACM workshop on Wireless security, pp. 21–30. ACM Press, New York (2002) 3. Bradley, K.A., Cheung, S., Puketza, N., Mukherjee, B., Olsson, R.A.: Detecting disruptive routers: a distributed network monitoring approach. Network, IEEE 12(5), 50–60 (1998) 4. Buttyán, L., Hubaux, J.-P.: Stimulating cooperation in self-organizing mobile ad hoc networks. MONET 8(5), 579–592 (2003) 5. Clausen, T., Jacquet, P.: Optimized link state routing (OLSR) protocol. In: RFC 3626, IETF (October 2003) 6. Fourati, A., Agha, K.A.: A shared secret-based algorithm for securing the OLSR routing protocol. Telecommunication Systems 31(2–3), 213–226 (2006) 7. Hu, Y.-C., Perrig, A., Johnson, D.B.: Ariadne: a secure on-demand routing protocol for ad hoc networks. In: MobiCom 2002: Proceedings of the 8th annual international conference on Mobile computing and networking, pp. 12–23. ACM Press, New York (2002)
Resilience to Dropping Nodes in MANETs with Link-State Routing
111
8. Hughes, J.R., Aura, T., Bishop, M.: Using conservation of flow as a security mechanism in network protocols. In: IEEE Symposium on Security and Privacy, pp. 132–141 (2000) 9. Johnson, D.B., Maltz, D.A., Hu, Y.-C.: The dynamic source routing protocol (DSR) for mobile ad hoc networks for IPv4. RFC 4728, IETF (February 2007) 10. Just, M., Kranakis, E., Wan, T.: Resisting malicious packet dropping in wireless ad hoc networks. In: Pierre, S., Barbeau, M., Kranakis, E. (eds.) ADHOC-NOW 2003. LNCS, vol. 2865, pp. 151–163. Springer, Heidelberg (2003) 11. Mahajan, R., Rodrig, M., Wetherall, D., Zahorjan, J.: Sustaining cooperation in multi-hop wireless networks. In: 2nd Symposium on Networked System Design and Implementation, Boston, MA, USA (May 2005) 12. Marti, S., Giuli, T.J., Lai, K., Baker, M.: Mitigating routing misbehavior in mobile ad hoc networks. In: MobiCom 2000: Proceedings of the 6th annual international conference on Mobile computing and networking, pp. 255–265. ACM Press, New York (2000) 13. Perkins, C., Belding-Royer, E., Das, S.: Ad hoc on-demand distance vector (AODV) routing. RFC 3561, IETF (July 2003) 14. Raffo, D., Adjih, C., Clausen, T., Mühlethaler, P.: An advanced signature system for olsr. In: SASN 2004: Proceedings of the 2nd ACM workshop on Security of ad hoc and sensor networks, pp. 10–16. ACM Press, New York (2004) 15. Zhong, S., Chen, J., Yang, Y.R.: Sprite: A simple, cheat-proof, credit-based system for mobile ad-hoc networks. In: INFOCOM (2003)
3-D Localization Schemes of RFID Tags with Static and Mobile Readers Mathieu Bouet and Guy Pujolle Université Pierre et Marie Curie (UPMC) – Laboratoire d’Informatique de Paris 6 (LIP6) 104 avenue du Président Kennedy, 75016 Paris, France {Mathieu.Bouet,Guy.Pujolle}@lip6.fr
Abstract. RFID is an automatic identification technology that enables tracking of people and objects. We propose a scalable and robust 3-D localization method of RFID tags, derived in two schemes, that uses the diversity of pervasive environments to improve its accuracy. RFID readers are placed on the floor and ceiling of a room. In the first scheme, static and mobile tags are localized using only connectivity information obtained through this structure. The second scheme involves in addition mobile RFID readers. They are used here to refine the localization process by adding more inclusive constraints to the calculation. We study the impact of the number of static and mobile readers on the accuracy. We then show that the first scheme constitutes an upper bound for the second one. Furthermore, we observe that the second scheme does not require a lot of mobile readers and that it considerably improves accuracy. Keywords: RFID, localization, mobility, 3 dimensions, tracking.
1 Introduction Radio Frenquency IDentification (RFID) has recently become widespread for automatic identification and tracking. A RFID system is composed of two types of entities: RFID tags (or transponders) that store identity, and RFID readers (or detectors) that remotely retrieve these data. Tags can be passive: communications are supplied by the reader generally by backscattering its carrier wave, semi-passive: the tags embed a power source for their internal processes and communicate with readers like passive tags, and active: they embed a battery that supplies communications with readers and functionalities such as cryptography or sensor. Active tags are more expensive than passive tags but their communication range is far larger and they can have more advanced utilizations [1]. RFID is a key technology in future pervasive systems and services. Indeed, it provides essential context-aware functionalities such as automatic identification, tracking, and real-time inventory. By building RFID in networks, new management concepts could be conceived so as to fully integrate real-time status of items and people. However, all the benefits of this technology could be hugely increased if identification information was linked to positions. It would add another dimension to the context-awareness: real-time location and consequently mobility. For example, it could be used in home-networking and libraries to retrieve specific objects, control A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 112–123, 2008. © IFIP International Federation for Information Processing 2008
3-D Localization Schemes of RFID Tags with Static and Mobile Readers
113
access or monitor events. Matching identities with their locations would also allow the development of new strategies in autonomic systems for mobility control, resource allocation, security, service discovery. Classic RFID systems only provide coarse-grained localization. In fact, they are generally composed of readers placed in strategic locations; their purpose is to identify all the tags that pass in their read range. As a matter of fact, the precision of the position corresponds to the size of the cell formed by their read range. In this paper, our major contribution is to design a 3-D localization algorithm for mobile and static RFID tags which, contrary to other related works, is based only on connectivity information and which takes into account mobile RFID readers. Our algorithm offers fine-grained position estimation and is conceived so as to be cheap, robust, fast, and thus scalable. Moreover mobile readers are used to refine and improve the precision. Our model is simple: we consider a room, a warehouse, or a container (modeled by a hexahedron) and we deploy readers on the floor and ceiling. No assumption is done on the equipments and their quantity is reduced to the minimum in order to have a low-cost system. In the first scheme, an estimated position is computed for each mobile or static tag by using only connectivity information (which reader can detect the tag and which cannot) with a semi-infinitely constrained multivariable nonlinear method. Then, we present a second method, derived from the first one, to increase the localization precision when there are mobile readers. They are used to refine the first method by adding more constraints. This calculation requires more time and can only be applied on static RFID tags. First, we evaluate the impact of the number of readers on the precision of the localization, and we show that the accuracy of our method is very high when they are densely deployed. Then, we study the impact of the number of mobile readers on the performance of the second method, we underline the existence of an upper bound for the precision, and we point out a quick and impressive reduction of the localization error. The rest of the paper is organized as follows. First we discuss related work in Section 2. Then we explain the basic localization method and the improved localization method with mobile readers in Section 3. Simulation methodology and results are discussed in Section 4. Finally, Section 5 concludes the paper.
2 Related Work Localization is often considered as a widely studied domain. However, few methods have been proposed for RFIDs. In fact, this area has specific constraints and requirements. Contrary to localization in Mobile Ad-hoc NETworks (MANETs) or in Wireless Sensor Networks (WSNs) for which a lot of algorithms have been conceived, a RFID system is centralized because the computation capabilities of RFID tags are very limited. Besides they are composed of tens of thousands of tags that need to be treated quasi simultaneously. Moreover, they are usually deployed in indoor environments and their signal is harshly impaired. For example, UHF tags’ radio waves do not bounce off metal and have difficulties to penetrate water. The most famous indoor localization sensing method is called LANDMARC (LocAtioN iDentification based on dynaMic Active Rfid Calibration) [2]. It only
114
M. Bouet and G. Pujolle
localizes active RFID. The system is calibrated with the help of reference tags (additional tags that are fixed and whose positions are known by the system): a map including the Received Signal Strength (RSS) of each reader is built. Then, the system has to retrieve the RSS information from each tag to the readers and checks the map to find out its estimated position. Another well-known RFID localization system is SpotON [3]. It is also based on RSS measurements and uses them to estimate the distance between readers and tags. A central server aggregates the data and performs a trilateration to obtain the position of the tags. In [4], the authors also estimate the distance between tags and readers. However, this estimation is done through the Time Difference Of Arrival (TDOA) technique: the system measures the time-of-flight and deduces the distance according to the frequency and the inter-delay. This scheme is designed for fixed passive SAW RFID tags. Finally, in [5] the authors propose a 3-D localization scheme. It is founded on the assumption that readers have numerous power levels and on the deployment of reference tags. The read range of each reader is increased or decreased until the tag is detected. Then, thanks to the reference tags, an upper and a lower bound are obtained. The localization is done by mixing the bounds of all the readers and by applying a time-costly computation on the obtained area. Distance estimation through RSS, TOA or AOA is often very complicated in indoor environments because of signal absorption, indirect path, and interferences. These techniques can lead to large errors and require specific and thus expensive equipments. Moreover, the use of reference tags considerably increases the whole cost of the system and necessitates manual installation. Our localization method is based on very simple principles in order to be cost-effective, robust in harsh environments, and fast enough to be scalable when thousands of items need to be treated simultaneously. Indeed, we consider readers with basic capabilities, we do not use any additional equipment, and we localize tags using only connectivity information, no distance estimation is performed. General indoor localization systems have also been studied for a long time. The three more famous are Cricket [6], Active Bat [7], and Active Badge [8]. In the last system, Active Badges transmit unique infra-red signals every 10 seconds. When they pass close to a reader, they are detected. The position of the badge corresponds to the one of the reader that detected it, and the precision is the size of the cell. In Active Bat, ultrasonic receivers (or sensors) are placed on the ceiling. The system measures the time-of-flight from the node to each receiver and applies a classic trilateration. Finally, Cricket is also based on TDOA measurements but the difference is that the sensors send their coordinates to the node and it is the node that performs the trilateration to estimate its position. Several location methods for geographic routing and security mechanisms have also been proposed for MANETs and WSNs. The vast majority of them measures inter-node distance through the RSS, TDOA, or Angle of Arrival (AOA) technique. The others are based on hop count or inclusive and exclusive constraints. The readers are referred to [9] for more details. As explained earlier, those approaches address different problems than the one treated in this article but they offer a good comprehension and a solid basis for our approach. This also goes for the numerous methods that use reference RFID tags to localize mobile robots.
3-D Localization Schemes of RFID Tags with Static and Mobile Readers
115
3 Our Algorithm 3.1 System Setup First of all, we place RFID readers on the floor and ceiling of a room, a warehouse, or a container. These are modelized by a hexahedron whose length, width, and height are L, W, and H respectively as shown in Fig. 1. The readers are spaced from each other according to a certain gap S. The exact position of each reader is known by the system. Furthermore, they are supposed to be as basic as possible, that is, they have no different power levels, no directional antenna, no multiple antennas, and no synchronization. They can also have different read ranges. For easier comprehension, we consider they all have the same capacities and thus the same read range R, and we assume the signal transmission between readers and tags forms a sphere. Both active and passive tags can be located with this system.
Fig. 1. Our model
3.2 Basic Position Estimation This first method can locate both static and mobile tags and is based on the architecture presented in Section 3.1. The localization of tags only requires connectivity information: which readers are able to detect a given tag and which cannot. No distance estimation is performed. A mean position is calculated for each combination of intersection of readers as shown in Fig. 2. These mean positions correspond to the barycenter (also known as the center of gravity or the center of mass) of the different volumes formed by the intersection of the readers’ detection areas. Tags’ positions are estimated as follows. First, we define an error objective function δ i (x, y, z ) for each combination of readers: nj
δ i ( x, y , z ) = ∑ j =1
(x − x ) + (y − y ) + (z − z ) 2
j
2
j
2
j
.
(1)
116
M. Bouet and G. Pujolle
Fig. 2. A 2 dimensional intersection of readers
Where n j is the number of readers that form the combination,
( x, y , z )
are the
unknown coordinates of the barycenter (that will be the estimated position), and x j , y j , z j the coordinates of the reader j .
(
)
The error objective function is defined as the sum of the distance between the tag whose position is unknown and every reader able to read it. Then, as the number of readers on the floor is equal to the one on the ceiling, we can easily deduce if the tag is close to the floor, in the middle zone, or close to the ceiling. Indeed, if the tag is near the floor, more readers on the floor than on the ceiling will be able to read it. In that case, we can add extra information to the error objective function in equation (2). The same is done if more readers on the ceiling than on the floor are activated in equation (3). Nothing is done if the quantities are equal.
δ i ( x, y , z ) = δ i ( x , y , z ) +
(z − z
floor
)
δ i ( x, y , z ) = δ i ( x, y , z ) +
(z − z
ceiling
)
2
2
,
(2)
.
(3)
Finally, we use a semi-infinitely constrained multivariable nonlinear method to find the minimum of the error objective function presented in equation (1). It takes as parameter non linear functions, linear inequalities (the difference between the maximum read range R and the distance reader-unknown estimated position), and lower and upper bounds (the dimensions of the hexahedron). This well-known algorithm uses cubic and quadratic interpolation techniques to estimate peak values in the semi-infinite constraints. The error objective function has been defined so that its minimum corresponds to the barycenter of the volume: the calculated point will minimize the sum of the distances with all the readers plus the distance with the floor or the ceiling. The problem is stated as follows:
3-D Localization Schemes of RFID Tags with Static and Mobile Readers
117
min δ i (x, y, z ) subject to
( x, y , z )
⎧0 ≤ x ≤ L ⎪0 ≤ y ≤ W ⎪ ⎪0 ≤ z ≤ H ⎪ ⎨ ( x − x )2 + ( y − y )2 + ( z − z )2 − R ≤ 0 1 1 1 ⎪ ⎪... ⎪ ⎪ x − xn 2 + y − y n 2 + z − z n 2 − R ≤ 0 j j j ⎩
(
(
) (
Where (x1 , y1 , z1 ) , …, x n j , y n j , z n j
) (
(4)
)
) are the coordinates of the readers that formed
the volume. It is obvious that if the result for a given combination has already been computed, it is not necessary to recompute it. Consequently, this localization method can require a few calculations at the beginning but will be very fast when all the cases are treated. Actually, a solution would be to calibrate the room at the start, i.e. compute the corresponding mean position of every combination of reader. The localization would then be very fast: check the built map and retrieve the tag’s position. This process can be easily applied both on static and mobile tags since only connectivity information is used. 3.3 Position Estimation Enhanced by Mobile Readers In realistic pervasive environments, RFID readers can be mobile. We propose to use this diversity to improve our localization scheme. We lean this method on the first one: the room is equipped in the same way and the positions are estimated through the same process if no mobile reader is present. The mobile readers do not need to be complex or expensive since, once again, we deduce connectivity information from their location and their maximum read range. Their positions are known by the system. The interaction between the static reader structure and the mobile readers is shown in Fig. 3.
Fig. 3. A 2 dimensional intersection of static and mobile readers
118
M. Bouet and G. Pujolle
Consequently, the equation (4) becomes:
min δ i ( x, y, z ) subject to
(x, y , z )
⎧0 ≤ x ≤ L ⎪0 ≤ y ≤ W ⎪ ⎪0 ≤ z ≤ H ⎪ ⎪ ⎪ 2 2 2 ⎨ (x − x1 ) + ( y − y1 ) + ( z − z1 ) − R ≤ 0 ⎪ ⎪... ⎪ 2 2 2 ⎪ x − xn j + y − y n j + z − z n j − R ≤ 0 ⎪ ⎪ x − x mobile 2 + y − y mobile 2 + z − z mobile k k k ⎩
(
) (
(
(
) (
) (
Where x mobilek , y mobilek , z mobilek
)
) (
)
(5)
)
2
−R≤0
are the coordinates of the mobile reader that
detected the tag. Each time a mobile reader performs the reading of a tag, an inclusive constraint is added. Obviously, if the tag is static, this scheme can be easily applied and the zone is reduced quickly or not depending on the number of mobile readers. If the tag is moving slowly, it can also be localized with this variant but it is necessary to put timestamp on the constraints defined by the mobile readers and to remove the oldest ones. If the tag is moving quickly, the first localization method has to be applied.
4 Simulation 4.1 Simulation Methodology and Settings We have run extensive simulations in order to study the accuracy of our methods. The semi-infinitely constrained multivariable nonlinear algorithm has been implemented in several mathematic programs. We chose the one in the Optimization Toolbox available in Matlab [10]. We have defined different error measurements so as to evaluate the accuracy: • The mean error in 2 dimensions:
ε 2D =
(xreal − xestimated )2 + ( y real − yestimated )2
(6)
,
And its standard deviation σ 2 D . • The mean error in 3 dimensions:
ε 3D =
(xreal − xestimated )2 + ( y real − yestimated )2 + (z real − z estimated )2
And its standard deviation σ 3 D .
,
(7)
3-D Localization Schemes of RFID Tags with Static and Mobile Readers
119
• The mean error regarding the estimated height:
εh =
(z real − z estimated )2
,
(8)
And its standard deviation σ h . We dimensioned the hexahedron as follows:
L = 100m W = 100m . H = 3m
(9)
Where L, W, and H are the length, the width, and the height respectively. These values have voluntarily been chosen bigger than the dimensions of a typical room so as to take into account all the possible shapes. We choose realistic values for the read range of the static and mobile RFID readers:
R = 5m .
(10)
Finally, we implemented the Random WayPoint Mobility Model (RWP) [11] for the mobile readers. This model is used in many works since it is relevant for simulation of people displacements. The mobile readers randomly pick a destination in the hexahedron, go to it with a constant speed, when they reach it they pause, and then start the same process. It would be better if the mobile readers were not all at the same height but for an easier analysis of the performances, we chose to place them at 1 meter from the floor and to make them move with the speed of someone who is walking (5 kilometers/hour). Since the related works presented in Section 2 do not provide enough accurate hypotheses or use different configurations and different equipments (such as reference tags) from our model, we are not able to propose any comparison. 4.2 Results Fig. 4 shows the mean error in two dimensions (on x and y coordinates) after 300 seconds for different quantities of mobile readers. The accuracy of our basic localization scheme is below 1 meter when the static readers are spaced until 6 meters. A local peak is observed at 4.5 meters. This is due to the shape of the intersections of readers’ areas. Indeed, this value is just below the one of the radius. The readers on the floor and ceiling thus form very irregular zones, hence a higher error. This data constitutes an upper bound for the second localization method. After 300 seconds, with only one mobile reader the 2-D error is reduced until 40 centimeters compared to the static results. In the same time, if 5 mobile readers are used, the estimated error falls between 18 and 57 centimeters. Furthermore, the use of 10 or 20 mobile readers almost cancels the impact of the inter-reader spacing since after 300 seconds the error is bounded between 17 and 23 centimeters.
120
M. Bouet and G. Pujolle
1.4
0 mobile reader 1 mobile reader 5 mobile readers 10 mobile readers 20 mobile readers
1.2
Accuracy (m)
1 0.8 0.6 0.4 0.2 0 2
2.5
3
3.5 4 4.5 5 Inter-Reader Spacing (m)
5.5
6
6.5
6
6.5
Fig. 4. 2-D accuracy after 300 seconds 1.6
0 mobile reader 1 mobile reader 5 mobile readers 10 mobile readers 20 mobile readers
Accuracy (m)
1.4 1.2 1 0.8 0.6 0.4 2
2.5
3
3.5 4 4.5 5 Inter-Reader Spacing (m)
5.5
Fig. 5. 3-D accuracy after 300 seconds
Fig. 6 shows the mean error on the estimated height. It is limited between 39 and 61 centimeters. When the readers are densely deployed, the shapes of the intersections formed by the readers’ areas are not as regular as the ones when the inter-spacing reader is around 3 or 3.5 meters. The same phenomenon occurs in the cases where they are far one another. Consequently, the accuracy is better around 3 – 3.5 meters. The results for the second localization scheme are roughly the same. However, we can notice an improvement of the accuracy when mobile readers are used with static readers spaced of at least 4 meters. The impact of the mobile readers could be hugely increased if they were not all placed at the same height and if their read range were not all equal. For easier comparison between the different scenarios we chose identical mobile readers. Fig. 5 shows the 3-D mean error. The curbs have almost the same shapes than the ones for the 2-D results. This can be explained by the fact that our second localization method has only a light impact on the improvement of the height accuracy. Therefore,
3-D Localization Schemes of RFID Tags with Static and Mobile Readers
0.65
0 mobile reader 1 mobile reader 5 mobile readers 10 mobile readers 20 mobile readers
0.6
Accuracy (m)
121
0.55 0.5 0.45 0.4 0.35 2
2.5
3
3.5 4 4.5 5 Inter-Reader Spacing (m)
5.5
6
6.5
Fig. 6. Accuracy on height after 300 seconds
the evolution of the 3-D accuracy tends to follow the one in 2-D. The error is bounded between 57 and 159 centimeters for the first localization method. When 20 mobile readers are used, after 300 seconds the error falls between 48 and 61 centimeters (until 62% of reduction). The evolution of the accuracy through time is illustrated in Fig. 7. The impact of the mobile readers is visible since the beginning. After 30 seconds, the precision has been greatly increased and it goes on over time. Nevertheless, we can notice that improvement of the accuracy tends to decrease since the difference between the results at 240 seconds and at 300 seconds is only a few centimeters. Finally, in Fig. 8 we compare the impact of the number of mobile readers on the accuracy. Since for the first localization scheme there is no mobile reader, the error remains unchanged through time. In addition, two interesting remarks can be done. First, it is not necessary to use a lot of mobile readers. Indeed, the difference between 1.4
0s 1s 30 s 60 s 120 s 180 s 240 s 300 s
1.2
Accuracy (m)
1 0.8 0.6 0.4 0.2 0 2
2.5
3
3.5 4 4.5 5 Inter-Reader Spacing (m)
5.5
6
6.5
Fig. 7. Evolution of the 2-D accuracy with 10 mobile readers
122
M. Bouet and G. Pujolle
0.6
Accuracy (m)
0.5 0.4 0.3 0.2 0 mobile reader 1 mobile reader 5 mobile readers 10 mobile readers 20 mobile readers
0.1 0 0
100
200
300
400 500 Time (s)
600
700
800
900
Fig. 8. Evolution of the 2-D accuracy for an inter-spacing of 5 meters
the results for 5 mobile readers and the ones for 10 and 20 is not as important as expected. Secondly, as noticed in Fig. 7, the mean error in each scenario tends to rapidly converge over time. A residual error remains because of the inter-spacing between the static readers. To sum up, the results for the first localization scheme constitute an upper bound for the mean error of the second scheme. The use of mobile readers improves the accuracy. It depends on the number of mobile readers, the space between the static readers, and the execution time. For example, when inter-space is 5.5 meters and when 10 mobile readers are involved, the 3-D error falls from 92 to 59 centimeters (a reduction of 36%) after 300 seconds. Moreover, the results show that the error reduction converges quickly over time and that it does not require a lot of mobile readers.
5 Conclusion We have proposed a 3 dimensional localization method for static and mobile RFID tags and we have shown how to use diversity of pervasive environments, that is to say mobile RFID readers, to improve the positioning accuracy. We have chosen very simple properties so as to obtain a robust, fast, cost-efficient, and thus scalable method. Static RFID readers are placed on the floor and ceiling of a room. Tags’ positions are estimated by using only connectivity information in a semi-infinitely constrained multivariable nonlinear method. We then derive this scheme: mobile readers are used to refine the inclusive constraints and thus to improve the accuracy of static tags’ estimated location. Our results show that the precision of the first scheme is very satisfactory compared to the requirements. Furthermore, the use of mobile readers hugely reduces the localization error. The analysis also shows that it is not necessary to involve a lot of mobile readers and that the error reduction rapidly converges making the second localization scheme not only very quick but also very precise.
3-D Localization Schemes of RFID Tags with Static and Mobile Readers
123
References 1. Want, R.: An introduction to RFID technology. IEEE Pervasive Computing 5(1), 25–33 (2006) 2. Ni, L.M., Liu, Y., Lau, Y.C., Patil, A.P.: LANDMARC: indoor location sensing using active RFID. In: First IEEE International Conference on Pervasive Computing and Communications, pp. 407–415 (2003) 3. Hightower, J., Borriello, G., Want, R.: SpotON: An Indoor 3D Location Sensing Technology Based on RF Signal Strength. UW CSE Technical Report (2000) 4. Bechteler, T.F., Yenigun, H.: 2-D localization and identification based on SAW ID-tags at 2.5 GHz. IEEE Transactions on Microwave Theory and Techniques 51(5), 1584–1590 (2003) 5. Wang, C., Wu, H., Tzeng, N.-F.: RFID-Based 3-D Positioning Schemes. In: 26th IEEE International Conference on Computer Communications (INFOCOM), pp. 1235–1243 (2007) 6. Priyantha, N.B., Chakraborty, A., Balakrishnan, H.: The cricket location-support system. In: 6th Annual ACM International Conference on Mobile Computing and Networking (MOBICOM), pp. 32–43 (2000) 7. Ward, A., Jones, A., Hopper, A.: A New Location Technique for the Active Office. IEEE Personal Communications 4(5), 42–47 (1997) 8. Want, R., Hopper, A., Falcao, V., Gibbons, J.: The active badge location system. ACM Transactions on Information Systems 10(1), 91–102 (1992) 9. Gustafsson, F., Gunnarsson, F.: Mobile positioning using wireless networks: possibilities and fundamental limitations based on available wireless network measurements. IEEE Signal Processing Magazine 22(4), 41–53 (2005) 10. Matlab, http://www.mathworks.com/ 11. Hyytia, E., Lassila, P., Virtamo, J.: Spatial node distribution of the random waypoint mobility model with applications. IEEE Transactions on Mobile Computing 5(6), 680–694 (2006)
Performance Evaluation and Enhancement of Surface Coverage Relay Protocol Antoine Gallais and Jean Carle IRCICA/LIFL, Univ. Lille 1, INRIA Futurs, France {antoine.gallais,jean.carle}@lifl.fr http://www.lifl.fr/POPS
Abstract. Area coverage protocols aim at turning off redundant sensor nodes while ensuring full coverage of the area by the remaining active nodes. Connectivity of the active nodes subset must also be provided so that monitoring reports can reach the sink stations. Existing solutions hardly address these two issues as a unified one and very few are robust to non ideal physical conditions. In this paper, we propose a deep analysis and some enhancements of a localized algorithm for area coverage, based on Surface Coverage Relays (SCR) and able to build connected active nodes sets that fully cover the area. We first enhanced the critical phase of our protocol (the relay selection) and show that the number of active nodes can be drastically reduced. We then raise the issue of the robustness of the protocol once a realistic physical layer is simulated. Our algorithm proved itself to be an interesting solution as it remained able to still ensure high coverage level under realistic physical layer conditions. We also added the possibility to finely tune the overall proportion of active nodes through a new parameter used during local relay selection phases. Keywords: Wireless sensor networks, area coverage, configurable localized algorithm, realistic physical layer.
1 Introduction Wireless sensor networks are made up of hundreds of devices in which a battery, a sensing module and a wireless communication device are embedded. They are deployed over hostile or remote environments, in which they become one-use-only since their batteries cannot easily be replaced or refilled. Energy consumption is therefore balanced by taking advantage of the redundancy induced by the random deployment of nodes; some nodes are active while others are in sleep mode, thus using less energy. Such a dynamic topology should not impact the monitoring activity. The ensuing issue consists in the active nodes to fully cover the area. Furthermore, as monitoring reports should at least reach the sink stations, the set of active nodes should be connected. This is also known as the connected area coverage problem. This work focuses on a localized algorithm, considering first that the availability of a deciding central entity is a strong assumption and also willing to show that such an organization can be obtained from networks without any infrastructure. We proposed in [1] a fully localized solution to the connected sensor area coverage issue. Both a neighbor A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 124–134, 2008. c IFIP International Federation for Information Processing 2008
Performance Evaluation and Enhancement of SCR Protocol
125
detection phase and a relay selection phase are required to complete the activity decision process. In this article, we deeply study the relay selection phase, made from a new method described here. This latest solution allows us to strongly reduce the proportions of active nodes while not inducing any communication overhead nor any new information in control messages. Most of existing area coverage solutions rely on an ideal communication model (each node has a transmission threshold, beyond which no message may be directly sent). The radio channel randomness is hardly considered. We studied the robustness of our SCR protocol with such a new assumption. After showing that it was slightly impacted, we introduce a new parameter during the relay selection phase in order to vary the size of the relay set thus finely tuning the proportions of active nodes.
2 Preliminaries We assume that randomly deployed sensors are time-synchronized, static and positionaware. Several solutions have been studied to achieve these goals [2]. The location of a sensor node is used as its unique identifier. We also consider that sensors are able to determine whether an area is covered by a set of sensors or not. Various coverage evaluation schemes have already been used for that purpose [3,4]. 2.1 Communication and Sensing Models A wireless network is modeled by a graph G = (V, E), V being the set of vertices and E ⊆ V 2 the set of edges that the available communications. An edge between two vertices u and v exists if u is physically able to send a message to v. The neighborhood set of u, noted as N(u), is defined as: N(u) = {v ∈ V | v = u ∧ (u, v) ∈ E}.
(1)
Each sensor has a communication range Rc and a sensing range Rs . We denote by S(u) the area covered by a node u and S(A) the area covered by a set of nodes A = {a1 , a2 , . . . , an } such that:
i=|A|
S(A) =
S(ai ).
(2)
i=1
2.2 Radio Channel Model Given a graph G = (V, E), a communication range Rc and the Euclidean distance between nodes u and v dist(u, v), the unit disk graph model defines the set of edges E as: E = {(u, v) ∈ V 2 | u = v ∧ dist(u, v) ≤ Rc },
(3)
Yet, in a practical context, transmission quality varies over the time and a node u may be able to communicate with node v at time t, but not at time t+1. Each communication
126
A. Gallais and J. Carle
link has a probability to exist which is influenced by a lot of factors such as the emitting power or the distance between the emitter and the receiver. Many models exist and some generators have already been proposed to allow model generation from parameters such as the kind of material used or the localization of the sensors themselves (see [5] for instance). To replace the unit disk graph, we opted for the lognormal shadowing model thus transforming G into a weighted graph, where the weight of each edge (u, v) ∈ E is equal to the probability of correct reception p(dist(u, v)) for the two nodes u and v. An approximated function P(x) is described by Kuruvila et al. [6]: ⎧ ⎪ 1− ⎪ ⎪ ⎪ ⎪ ⎨ P(x) =
⎪ ⎪ ⎪ ⎪ ⎪ ⎩
( Rxc )2α 2
if 0 < x ≤ Rc ,
( 2RRcc−x )2α 2
if Rc < x ≤ 2 × Rc ,
0
otherwise,
(4)
α being a factor that highly depends on the environment and x being the considered distance. This function assumes that the probability of correct reception for the range Rc is always equal to P(Rc ) = 0.5. Fig. 1 illustrates this function for α = 2, which is frequently encountered in the literature. Being aware of the approximation that is made here, we are not pretending to use a highly realistic model. Yet, we believe that considering radio channel randomness during protocol analysis and simulation constitutes a first step towards facilitating further developments on real material.
3 Related Work Many papers have already addressed the problem of connected area coverage in wireless sensor networks once sensors are allowed to self-schedule their activity. Some have assumed a given topology to start the study, such as a grid for instance [7]. In [8], authors study some deployment patterns in order to ensure both coverage and connectivity once wireless sensors are deployed over a sensing field. Meanwhile, the deployment might be random thus forcing sensor devices to make decisions based on non predictable information. Tian and Georganas [9] have proposed a node scheduling scheme in which time synchronized and randomly deployed sensor devices regularly detect their neighbors and listen for retreat messages for a given timeout. A node can get passive if remaining neighbors fully cover its area. To ensure connectivity of the set of active nodes, a strong assumption is made regarding the ratio between sensing and communication radii (Rs ≤ Rc ). Such an assumption had already been used and proved as preserving network connectivity as long as area coverage was provided [3,4]. Recently, a randomized algorithm was proposed in [10]. Based on a Markov model, this algorithm allows each node to probabilistically turn off while preserving both coverage and connectivity. Yet, the need for a new analysis when considering non homogeneous settings might be an obstacle in real deployments where neighbor information is required to ensure coherent node behavior once the neighborhood is modified for any reason (mobility, failure).
Performance Evaluation and Enhancement of SCR Protocol
127
Unit disk graph 1
Lognormal shadowing
Probability of correct reception
0.8
0.6
0.4
0.2
0
0
0.5
1 Distance
1.5
2
Fig. 1. The two considered physical models (Rc = 1, α = 2)
4 Base of the SCR-CADS Protocol While coverage might not be a strict requirement for wireless sensor networks, connectivity among the set of monitoring nodes is crucial as every collected piece of information should be able to reach one of the sink stations. This is why we propose a new look at our SCR-CADS protocol which has been proved to ensure both connectivity and coverage in an original manner [1]. We show how this algorithm could be configured and especially what its resistance to new communication models is. Our solution consists in three consecutive phases (a neighbor discovery mechanism, a relay selection phase and a decision making process), each being detailed in this section. Regular neighbor discovery. A classical neighbor discovery phase is first required. At the beginning of each round, a hello message is sent by each node. It contains information such as its geographical position and a priority, assumed to be unique among the set of nodes. Relay selection. When considering node coverage, Jacquet et al. [11] have defined the notion of multipoint relay (MPR). Each node selects a subset of its neighborhood; the set of relays. For any given node u, this set, denoted as M P R(u), enables multi-hop communications with every 2-hop neighbors: MPR : V → V u −→ M P R(u) ∀u, ∃ MPR | N (MPR(u))\N (u) = N (N (u))\N (u),
(5)
V being the whole set of nodes. We can observe that M P R(u) = N (u) satisfies the relation. Yet, trying to have a MPR set as little as possible leads to diminishing the size of the dominating set, denoted as MPR-DS. Each node must send its own relay set to its whole neighborhood so that a simple decision rule can be made. Authors have proved that some rules were providing MPR-DS that were connected.
128
A. Gallais and J. Carle
As we aim at providing area coverage by connected sets, we have extended this solution to the problem of area coverage in wireless sensor networks. The relay selection phase has been modified. Each node computes its own relay set; this set must cover as large an area as the whole set of neighbors. This set is called Surface Coverage Relay (SCR) set. We defined a SCR function for this purpose: SCR : V → V u −→ SCR(u) SCR(u) standing for the subset of N (u) for which the property holds: ∀u, ∃ SCR | S(SCR(u))\S(u) = S(N (u))\S(u).
(6)
Each node must be able to compute its SCR set. Finding the subset of minimal size is equivalent to the minimum set cover problem, which is NP-complete [12]. This is why heuristics have to be designed in order to compute SCR sets that are as optimal as possible considering the number of nodes involved. Initially, a heuristic based on centroid computation was used [1]. In this article, we propose a new heuristic to compute SCR sets. Each node starts with an empty SCR set. Then, step by step, a neighbor is added to the SCR set if and only if it covers a portion of area yet uncovered by the SCR set. To get interesting subsets, at each step, the neighbor that brings the more new coverage should be added. Ideally, the neighbors should therefore be ordered according to their coverage potential regarding previously observed nodes. The first heuristic was based on a simple idea; at each step, we try to find the node that should bring the more coverage. To avoid heavy computation, we opted for the one whose location is the furthest from the center of mass of already selected relays (every relay having the same mass). It turned out that still large sets were computed. We now propose a new heuristic for selecting the relays, based on a simple intuition; the furthest neighbor is the one that covers the largest portion of area outside the sensing zone of the selecting sensor. Neighbors are therefore ordered according to their distance to the selecting node. The furthest is added to SCR set, then the second furthest is evaluated and so on. Note that for any heuristic, considered neighbors have to be distinguished in case of equality when facing the choice criterion. Which node is considered first is determined with a simple random function. Once SCR sets have been computed, each node has to decide its own activity status. We now explain the decision rule used for this purpose. Making activity decision. In the MPR-DS protocol [11], nodes apply a simple rule to decide their status (dominant or not). This rule is based on a key, assumed to be unique among the set of nodes. Definition 1. Every node u whose key is the lowest among the neighborhood or which belongs to the relay set of the neighbor with the lowest key must be active. As already shown in [11], if relay sets are computed so that the property 5 holds, then the induced set of active nodes is connected. We have already proved that using this rule
Performance Evaluation and Enhancement of SCR Protocol
129
with SCR sets was providing a set covering as large an area as the whole set of nodes. It is also obvious that SCR sets are MPR sets once Rs = Rc since 2-hop neighbors are necessarily located within one or several sensing areas of the 1-hop neighbors. This means that the covering set is also connected once we every activity decision has been made. Now that we have presented SCR-CADS and a new heuristic to compute SCR sets, we are evaluating this protocol under several communication models. Indeed, it has already been largely spread that protocols evaluated under ideal communication assumptions (i.e. the unit disk model) were more prone to failures or to dysfunction once used in practice (see [13] for some instances among area coverage protocols). The remaining of this article is therefore focused on the analysis of SCR-CADS protocol and its performances with a realistic physical layer for communications.
5 Performance Evaluation We have simulated only homogeneous sensor networks. Experimental results were obtained from randomly generated connected networks with a discrete event simulator. Nodes are deployed over a 50 × 50 rectangle area, considering a Poisson point process of intensity λ > 0. We define the density d of the network to be the average number of nodes in a given communication area: we thus have d = λ × πRc2 . Both the communication range (Rc ) and the sensing radius (Rs ) are fixed at 10. Simulations were launched over densities varying from 20 to 90 nodes per communication zone, with a step of 10. For each density, the number of performed iterations is adjusted so that 95% of the results are in a sufficiently tight confidence interval. Each iteration consists of rounds. Each round starts with the neighbor discovery phase, followed by the SCR sets computation and the decision making process. A sensing area is modeled as a disk while the communciation model varies (unit disk model or a realistic physical layer). When nodes have to compute the area covered by a given neighbor, they use a coverage evaluation scheme based on a disks intersections theorem, already applied in [3,4]. A round ends with the sensing period which involves every node that has decided to be active. We essentially measure the percentage of active nodes and the percentage of preserved coverage of original area. 5.1 Under Ideal Communication Assumptions We give complementary results about the SCR protocol when simulated with ideal communication assumptions. By ideal, we mean that no message can ever be lost, neither due to message collisions nor to the communication environment itself. Area coverage and connectivity. As already mentioned, the algorithm has been proved as preserving both area coverage and connectivity of the set of active nodes. We therefore focus on the size of the active nodes sets in order to evaluate the impact of the heuristic used during the relay selection phase. Size of SCR sets. We have observed the average size of the SCR sets in order to compare the performances of the original heuristic with the ones the latest solution, based on distances. The size of the relay sets is a matter of prime importance first
130
A. Gallais and J. Carle
35
80 Distance−based heuristic Centroid−based heuristic
Distance−based heuristic Centroid−based heuristic 70
60 25
Active nodes (%)
Average size of SCR sets
30
20
15
50
40
30 10
20
5
10 20
30
40
50 60 Network density
70
80
(a) Diminishing the size of relay sets.
90
20
30
40
50 60 Network density
70
80
90
(b) Reducing the proportion of active nodes.
Fig. 2. Main advantages of the distance-based heuristic for relay selection
because the number of active nodes is strongly linked to these and second because they determine the communication overhead induced by the protocol. Concerning the first point,every node whose key is the lowest among its neighborhood is necessarily active. This number does not vary as long as the network density remains identical. Yet, the larger the relay sets, the higher the probability for a node to belong to the SCR set of the neighbor with the lowest key and so to become active. Concerning the second point, as relay sets must be sent to every 1-hop neighbor, the less large they are, the better for the communication overhead and thus the energy consumption. We could observed that the distance-based heuristic was actually performing better than the centroid-based one. As shown on Fig. 2(a), the average size of the SCR sets generated by the distance-based heuristic varies from roughly 8 neighbors to 11, respectively for densities 20 and 90, while the centroid-based method leads to 11 neighbors selected as relays at density 20 and nearly 24 at density 90, that is more than twice the size obtained by our distance-based heuristic. As already mentioned, the size of the relay sets straightly impacts the number of active nodes. As our new heuristic allows us to considerably reduce this size, we are now looking to what extent this improved relay selection impacts the average number of active nodes that are involved at every round. Active nodes. Figure 2(b) shows the average number of active nodes versus the network density. As expected, the percentage of active nodes decreases as the network density increases; the more nodes there are, the less the proportion of required sensors to achieve full coverage of the area. Interestingly, we can observe that the centroid-based heuristic leads to 24.7% of active nodes at density 90 while the distance-based method lowers this result to only 13% for the same density. We therefore obtained very interesting results with this new method. 5.2 Under Realistic Physical Layer Assumptions We now try to evaluate the SCR-CADS protocol with a realistic communication model. The goal for such an investigation is twofold. First, we aimed at testing the robustness
Performance Evaluation and Enhancement of SCR Protocol
131
of this algorithm and then some potential enhancements were to be implemented and also evaluated. Introducing a more realistic physical layer leads to more channel randomness, that is communication links that are probabilistic; two nodes can communicate with a given probability depending on the distance that separates them. Some area coverage protocols have already been studied under this new assumption and we aim at evaluating SCR protocol also. In our algorithm, once the relay sets have been computed, they are sent so that every node can make its activity decision from the rule previously described in 4. The so computed set of active nodes is connected and covers as large an area as the whole set of nodes once the unit disk model is used. When a realistic physical layer is used, we could observed some changes. Area coverage. Figure 3(a) shows the average percentage of covered area by the sets of active nodes computed by our SCR protocol. We can observe that while area coverage was fully preserved with an ideal communication model, this property does no longer holds under our new assumptions. Area coverage goes from a bit more than 95% at density 30 to less than 90% at density 80. Yet, this loss of coverage is not as important as we could have expected, and especially not as dramatic as the ones we could already observed with other protocols [13]. This shows an inherent robustness for our SCR protocol. Let us detail the reasons why the impact is that low. During the neighbor discovery phase, hello messages from some of the theoretical 1-hop neighbors may not be received by a given node u. Yet, this actually increases the probability for u to evaluate its own key as being the lowest among its neighbors. Then, the less neighbors are discovered, the higher the probability for u to get active, the worst case being no hello message ever received and u having an empty neighbor table, thus necessarily deciding to be active. In such a case, we would have all nodes being leaf and thus active, which is not the case here as some coverage losses have still been recorded. We may now focus on the relay selection phase. Once relays have been selected, SCR sets are sent to the neighbors. If some of these messages are never received by a given node u, then it results in some nodes being aware of only a subset of its real SCR selectors. If one of these potentially missed selectors is the neighbor with the 25 Distance−based heuristic Centroid−based heuristic 100 20
Active nodes (%)
Area coverage (%)
95
90
85
Distance−based heuristic Centroid−based heuristic
15
10
80 5 75
70
0 30
40
50
60 Network density
70
(a) Coverage loss.
80
90
30
40
50
60 Network density
70
80
90
(b) Reduction of active nodes (%).
Fig. 3. SCR-CADS algorithm and a realistic physical layer (LNS, see formula 4, with α = 2)
132
A. Gallais and J. Carle
lowest key so far, such a wrong reception leads to u not knowing it has been selected by its neighbor with the lowest key, which would have meant it had to be active. In such a case, u decides to be passive and therefore jeopardizes area coverage. This is why some coverage losses are observed on Fig. 3(a). However, note that if a relay message is received from a yet unknown node whose key is the lowest among already collected ones, then the receiving node must consider this message as a hello message. It must also check if it has been selected as a relay by this node. This demonstrates the inherent robustness of SCR protocol since only coverage losses may happen only in case the relay message of the neighbor with the lowest key (and whose previous hello message was received) was never received. This means that only this message is crucial while others can only bring some new information that could help nodes make the right activity decision. Active nodes. We also observed to what extent the average percentage of active nodes was impacted by our new physical layer assumptions. Generally, when some coverage losses occur, it is either caused by a decrease of the number of active nodes or by a spatial incoherence (as many active nodes but concentrated on a given region at the expense of another one which is left uncovered). The latter case can hardly take place thanks to the homogeneity of both our deployment and our random processes used during key computation. Indeed, fig. 3(b) shows that the percentage of active nodes is largely decreased (from less than 10% at density 30 to only 2% at density 90) when the distance-based heuristic is used. Although this tremendous drop of the percentage of active nodes could lead us to think that large coverage holes have occurred, we have already observed that the impact on area coverage was minor. The SCR-CADS protocol is inherently robust and does not much suffer from loss of active nodes since the remaining ones have self-elected with a coherent local process. 5.3 Tending to More Robustness and Customization of SCR Protocol Although the impact of a realistic physical layer is not important on area coverage, we could observe that the number of active nodes was largely decreased. As already mentioned, the percentage of active nodes is very much induced by the average size of the relay sets. We are now trying to tune the relay selection made by each node in order to be able to tune the global percentage of active nodes, and also the area coverage. We therefore introduced a coverage parameter, denoted as SCR COV , which stands for the number of relays that should cover any portion of the sensing area of a neighbor currently evaluated for potential selection. Every neighbor is now added to the set of relays if and only if its sensing area is not k-covered by already selected relays, with k being SCR COV . Several definitions of k-coverage exist in the literature. Our approach is to consider a k-covered piece of area as soon as k distinct sensor devices are able to sense it. This should help us to raise the proportions of active nodes as relay sets could be made larger. By this way, the resistance to some communication anomalies should be obtained thanks to the redundancy induced in the set of monitoring nodes. Note that this solution solely requires a modified coverage evaluation scheme.
Performance Evaluation and Enhancement of SCR Protocol
133
100
30
95
25 Active nodes (%)
Area coverage (%)
35
90
85
SCR_COV=2 SCR_COV=3 SCR_COV=4
20
15
80
10
75
5
70
SCR_COV=2 SCR_COV=3 SCR_COV=4
0 30
40
50
60 Network density
70
80
90
30
40
50
60 Network density
70
80
90
(a) Increasing robustness to radio channel ran- (b) Configurable proportions of active nodes domness. with enhanced relay selection. Fig. 4. Configurability of SCR-CADS protocol (LNS, see formula 4, with α = 2)
Area coverage. The prime goal of our SCR COV parameter is to be able to better resist to message loss. Figure 4(a) shows area coverage versus network density, with SCR COV ∈ {2, 3, 4} when the distance-based heuristic is used. As long as SCR COV > 1, area coverage is at least 95%. This shows that, even in presence of a realistic radio channel, our algorithm can provide satisfying results in terms of area coverage. Our new parameter may also help us to customize the relay selection more finely. Until now, we were only using our two selection heuristics. The problem with such a method is that dynamically modifying the way a relay selection is conducted by a node would require changing the code it actually runs. Given the hardware constraints of the target devices, it would be more convenient to interact with the algorithm by the means of a simple parameter. Active nodes. We observed to what extent the SCR COV value was able to impact the proportions of active nodes. The average percentage of active nodes is shown on Fig. 4(b), for several SCR COV values. When SCR COV = 2 (which is sufficient to ensure more than 95% of covered area), we have between 17% and 4% of active nodes. This shows that our SCR COV not only deserves to be used to improve area coverage but also to finely tune the proportions of active nodes.
6 Conclusion We have enhanced our SCR-CADS protocol in order to have a more efficient relay selection that fits in today’s requirements for wireless sensor networks algorithms. We have shown that our algorithm, originally designed under ideal communication assumptions, could work properly with a realistic physical layer, maintaining a high coverage level. We then introduced a new parameter during the relay selection, thus enabling full coverage in case this would be strongly required by the application. This allows to finely tune the proportions of active nodes as we tend to a more configurable protocol. Future work will focus on characterizing connectivity under more realistic communication assumptions. We also aim at observing the impact of both synchronization and
134
A. Gallais and J. Carle
localization errors which could be induced either due to the environment or to the used algorithm itself.
Acknowledgments This work was partially supported by a grant from CPER Nord-Pas-de-Calais/FEDER TAC COM’DOM, CNRS National platform RECAP.
References 1. Carle, J., Gallais, A., Simplot-Ryl, D.: Preserving area coverage in wireless sensor networks by using surface coverage relay dominating sets. In: Proceedings of IEEE Symposium on Computers and Communications (ISCC), Cartagena, Spain, pp. 347–352 (2005) 2. R¨omer, K.: Time Synchronization and Localization in Sensor Networks. PhD thesis, ETH Zurich, Switzerland (2005) 3. Zhang, H., Hou, J.C.: Maintaining sensing coverage and connectivity in large sensor networks. Ad Hoc and Sensor Wireless Networks journal (AHSWN) 1, 89–123 (2005) 4. Xing, G., Wang, X., Zhang, Y., Lu, C., Pless, R., Gill, C.: Integrated coverage and connectivity configuration for energy conservation in sensor networks. ACM Transactions on Sensor Networks (TOSN) 1(1), 36–72 (2005) 5. Cerpa, A., Wong, J.L., Kuang, L., Potkonjak, M., Estrin, D.: Statistical model of lossy links in wireless sensor networks. In: Proceedings of International Symposium on Information Processing in Sensor Networks (IPSN) (2005) 6. Kuruvila, J., Nayak, A., Stojmenovi´c, I.: Hop count optimal position based packet routing algorithms for ad hoc wireless networks with a realistic physical layer. In: Proceedings of IEEE Mobile Ad hoc and Sensor Systems (MASS), Fort Lauderdale, FL, USA (2004) 7. Shakkottai, S., Srikant, R., Shroff, N.: Unreliable sensor grids: Coverage, connectivity and diameter. In: Proceedings of IEEE International Conference on Computer Communications (INFOCOM), San Francisco, CA, USA (2003) 8. Liu, C., Xiao, Y.: Random coverage with guaranteed connectivity: Joint scheduling for wireless sensor networks. IEEE Transactions on Parallel and Distributed Systems (TPDS) 17(6) (2006) 9. Tian, D., Georganas, N.D.: Connectivity maintenance and coverage preservation in wireless sensor networks. AdHoc Networks Journal (Elsevier Science), 744–761 (2005) 10. Yener, B., Magdon-Ismail, M., Sivrikaya, F.: Joint problem of power optimal connectivity and coverage in wireless sensor networks. Wireless Networks 13(4), 537–550 (2007) 11. Adjih, C., Jacquet, P., Viennot, L.: Computing connected dominated sets with multipoint relays. Ad Hoc and Sensor Wireless Networks journal (AHSWN) 1(3), 27–39 (2005) 12. Karp, R.M.: Reducibility among combinatorial problems. In: Miller, R.E., Thatcher, J.W. (eds.) Complexity of Computer Computations, pp. 85–103. Plenum Press, New York (1972) 13. Gallais, A., Ingelrest, F., Carle, J., Simplot-Ryl, D.: Preserving area coverage in sensor networks with a realistic physical layer. In: Proceedings of IEEE International Conference on Computer Communications (INFOCOM), Anchorage, AK, USA (short paper, 2007)
On Extending Coverage of UMTS Networks Using an Ad-Hoc Network with Weighted Fair Queueing R. El-Azouzi1 , R. El-Khoury1, A. Kobbane1,2 , and E. Sabir1,2 1
LIA/CERI, Universit´e d’Avignon, Agroparc BP 1228, Avignon, France 2 LIMIARF, Universit´e Mohammed V Rabat-Agdal, 4 Av. Ibn Battouta B.P. 1014, Maroc {rachid.elazouzi,ralph.elkhoury,abdellatif.kobbane, essaid.sabir}@univ-avignon.fr
Abstract. In this paper, we are interested in the interconnection between an ad-hoc network and UMTS system. In presence of two access technologies, new challenges arise and mobile host will have face multiple base stations or gateways with different utilizations. As a result, a user who needs to establish a voice call, prefers to be connected through UMTS and a user who needs to transmit a Best Effort traffic with high rate, prefers to be connected through ad-hoc network. The aim of that combination is to improve the coverage of cellular networks and increases the services which can be made available for mobiles. This combination also reduces transmission power for mobile hosts. Our main result is characterization of stability condition and the end-to-end throughput using the rate balance. Numerical results are given and support the results of the analysis. Finally, we perform extensive simulation and verify that the analytical results closely match the results obtained from simulations. Keywords: Interconnection, cross-layer, routing, ad-hoc, UMTS, stability.
1
Introduction
In order to meet the increasing in data and user mobility, a considered amount of effort is tunneled towards the convergence of multi-service networks of diverse technologies. Next generation wireless networks (NGWN) will be heterogeneous radio access technologies such UMTS, WiMAx, WLAN, etc, coexist. However, the NGWN will be a joint radio resource management among multiple operators of different radio resource technologies [3]. In this paper, we are interested in the planning of ad-hoc networks in providing an improved cellular coverage of UMTS cellular networks and different services can be made available for nodes. Indeed, there exist several types of traffic that require different QoS. In presence of several access technologies, new challenge arises and mobile host will
This work was partially supported by ANR WINEM No. 06TCOM05 and Maroc Telecom R&D No. 10510005458.06 PI.
A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 135–148, 2008. c IFIP International Federation for Information Processing 2008
136
R. El-Azouzi et al.
face multiple base stations or gateway with different utilization. This opens the possibility of using the most appropriate multiple access types for each type of call. For example, for a network with a low bandwidth and high reliability access as UMTS, it is preferable to be used by a voice call. As a result, a user prefers to be connected through UMTS network which can offer higher reliability for particular services, even at a high cost. A multi-hop wireless ad hoc network is a collection of nodes that communicate with each other without any established infrastructure or centralized control. Many factors interact with each other to make the communication possible like routing protocol and channel access. Recently, wireless ad-hoc networks have been envisioned of commercial applications such as providing Internet connectivity for nodes that are not in transmission range of a wireless access point. Cellular network and ad-hoc networks should be considered as complementary systems. Hence, it is possible to use ad-hoc networks as an extension of the cellular networks like UMTS. Thus it is possible for a multihomed node to use different access technologies at different time to assure a permanent connectivity. As a result, potential benefits can be envisaged for UMTS cellular as : extend the cellular coverage, reduce the power transmission which implies the reduction of intra-cell and extra-cell interference. In the ad-hoc networks, new services can be made available as VoIP and streaming video. In this work we are interested in the interconnection between a MANET and a 3G system. In order to be able to connect to more than one base station (or network), a terminal should have at least two network cards. In the ad-hoc network, we consider the random access mechanism for the wireless channel where the nodes having packets to transmit in their transmit buffers attempt transmissions by delaying the transmission by a random amount of time. This mechanism acts as a way to avoid collisions of transmissions of nearby nodes in the case where nodes can not sense the channel while transmitting (hence, are not aware of other ongoing transmissions). We assume that time is slotted into fixed length time frames. In any slot, a node having a packet to be transmitted to one of its neighboring devices decides with some fixed (possibly node dependent) probability in favor of a transmission attempt. If there is no other transmission by the other devices whose transmission can interfere with the node under consideration, the transmission is successful. As examples of this mechanism, we find Aloha-type [14] and IEEE 802.11 CSMA/CA-based mechanism. With these mechanisms, each node determines its transmission times [4,25]. In the UMTS network, the nodes communicate using Direct Sequence-Code Division Multiple Access (DD-CDMA). The node transmits the packet with fixed rate and fixed power [26]. We consider an automatic-repeat-request(ARQ) mechanism in which the node keeps retransmitting a packet until the packet is received at base station without any error. At any instant in time, a device may have two kinds of packets to be transmitted: 1. Packets generated by the device itself. This can be sensed data if we are considering a sensor network. 2. Packets from other neighboring devices that need to be forwarded.
On Extending Coverage of UMTS Networks Using an Ad-Hoc Network
137
We consider two separate queues for these two types and do a weighted fair queueing (WFQ) for these two queues. This configuration allows nodes to have flexibility for managing at each node forwarded packets and its own packets differently. Two queues allow to model the selfish behavior or on the contrary to give higher priority to connections that traverse many hops that could otherwise suffer from large loss rates. The main contribution of this paper is to provide approximation expressions of stability. Our main result is concerned with the stability of the forwarding queues at the devices. It states that whether or not the forwarding queues can be stabilized (by appropriate choice of WFQ weights) depends only on the routing and the channel access rates of the devices. The end-to-end throughput achieved by the nodes are independent of the choice of the WFQ weight. The context of the stability that we study is new as it takes into account the possibility of a limited number of transmissions of a packet at each node after which it is dropped. Related works. Multihoming has been traditionally used by stub networks for improving network availability. Previous studies [5], have shown that ”Multihoming Route Control” can improve the Internet communication performance of the networks significantly. A comparison study of overlay source routing and multihoming is presented in [6]. The goal of this work is how much benefit does overlay routing provides over BGP, when multihoming and route control are considered. In wireless network, the usefulness of attaching to the Internet using different access technologies at different time, or even simultaneously, has been described in various works [7, 8]. A work devoted to IEEE 802.11 WLANs is [9], where users can choose between several access points and even split their traffic by using several of them. The network stability has been studied extensively both for networks with centralized scheduling [15, 17], Aloha protocol [10, 21] and UMTS system [19,20]. Among the most studied stability problems are scheduling [15,16] as well as for the Aloha protocol [27, 24]. Tassiulas and Ephremides [15] obtain a scheduling policy for the nodes that maximizes the stability region. Their approach inherently avoids collisions which allows to maximize the throughput. Radunovic and Le Boudec [11] suggest that considering the total throughput as a performance objective may not be a good objective. Moreover, most of the related studied do not consider the problem of forwarding and each flow is treated similarly (except for Radunovic and Le Boudec [11] or Tassiulas and Sarkar [23]). The rest of the paper is organized as: In section II, we formulate the problem. In section III, we study the stability of any given node in the system using the rate balance equation. We analyze the uplink case in section IV, valid our model and provide some numerical examples and some concluding remarks in section V.
2
Model Formulation
Background. Consider a geographical area which is not totally covered by any 3G system. The system is composed of three geographical classes (See fig.1); Class C1 contains terminals which communicate with each other using an ad-hoc network and some of them could be covered by the UMTS. The class C3 contains
138
R. El-Azouzi et al.
all terminals which are in the direct range of the 3G Node-B. We denote by C2 the set of mobiles covered by both the 3G system and the ad-hoc network, i.e. C2 = C1 ∩ C3 . Let N1 = card(C1 \C2 ) and N2 = card(C2 ). The 3G base station is denoted by B. The idea behind this work is to find a solution that allows non covered mobiles (C1 \C2 ) to use the 3G services besides they are not in the covered area, and allow to 3G devices to connect to Internet thanks to ad-hoc network. So we consider a scheme with special kind of terminals, each one disposes of two network cards (IEEE 802.11 and DS-CDMA), hence it could be connected to either the ad-hoc or the 3G system according to the coverage criterion. Moreover this mobile is assumed to be able to forward packets arriving from ad-hoc mobiles, and therefore transmits them to the 3G node-B or to another ad-hoc node; In other terms these type of mobiles can play the role of gateways that allow to access to the node-B and therefore to benefit from its services.
Internet
Ad-hoc subsystem
UMTS subsystem
Fig. 1. A single Cell 3G system combined with ad-hoc network. Access to UMTS and Internet without coverage constraint using an IEEE 802.11/UMTS gateway solution.
As long as a 3G node is far of the base station as its transmit power is higher, which could deteriorate the other nodes QoS. To avoid this, far nodes will prefer to use their ad-hoc neighbors to transmit and therefore save their energy. Moreover, for a 3G user who needs to connect to the Internet, it is very interesting to access to it via ad-hoc for high rate and low cost comparing to Internet via UMTS. Remark. (Case of a node j ∈ C2 ). Node j has neighbors transmitting using the IEEE 802.11 band and others using the UMTS band; When j transmits over the ad-hoc subsystem, it only collides with its neighbors using ad-hoc. And it is influenced only by users communicating with the node-B when it transmits using DS-CDMA. In others terms the two subsystems are separated and do not interfere with each other. Network layer. In order to insure the forwarding of a packet to a given destination (ad-hoc node or the Node-B), we assume that each terminal i possesses two queues Qi and Fi . Fi is selected with probability fi and receives packet to be forwarded to another destination whereas Qi represents the queue which carries the own packets of node i and is selected for transmission with probability 1 − fi . In this work we consider the saturated case where node i has always
On Extending Coverage of UMTS Networks Using an Ad-Hoc Network
139
packets to transmit from Qi . These queues are assumed to have infinite capacity. The network layer handles these queues using a weighted fair queuing (W F Q) protocol. For notation, we denote by Rs,d the set of nodes between a source s and a destination d (s and d not included). MAC layer. The MAC layers of the two subsystems are different. We consider for ad-hoc subsystem a collision channel where no more than one node can transmit successfully in a slot; Denote by τ a the duration of one slot. A successful transmission is occurred when there is no collision on reception, in other terms neighbors of an intermediate node should not transmit when it receives a packet. Each mobile transmitting a packet either from Qi or Fi should access the channel by probability Pi . We can consider the aloha protocol, CSMA/CA or any other mechanism to access the channel. For instance, the attempt rate (for node i) in IEEE 802.11 DCF (see [25]) is, Pi =
2(1 − 2Pc ) (1 − 2Pc )(CWmin + 1) + Pc CWmin (1 − (2Pc )m )
(1)
Pc denotes the conditional collision probability given that a transmission atmax tempt is made and CW is the contention window. m = log2 ( CW CWmin ) is the maximum of backoff stage. We assume that a packet is retransmitted (if needed) till success or dropping, Let Ki,s,d be the maximum number of transmissions allowed by a mobile i per packet. Yet expression (1) is valid only for IEEE 802.11 systems. In our case we have an hybrid network, so it does not hold anymore and we shall calculate it. Assume xi is the total proportion of UMTS cycles for a given node i. Let τiu be the average needed number of slots to send a UMTS packets. Proposition 1. Consider a heterogenous network composed of a UMTS and an Ad-hoc subsystems, then we have the following, 1) The proportion of UMTS traffic is, xi = Pi,B (1 − πi fi ) + fi
πi,s,B
(2)
s
2) The attempt rate for any given node i is, Pi =
Li (1 − xi ) Pi Li (1 − xi ) + τiu xi Pi
(3)
Proof. Here we develop a cycle-based method to prove proposition 1. Let us a observe the system (in particular a node i) for Ci,t cycles. Ci,t is the number of th u Ad-hoc cycles until the t slot, and Ci,t is the corresponding number of cycles for the UMTS traffic. We denote by Tta the total number of transmission slots used by Ad-hoc connections till the tth slot. The proportion of UMTS cycles is xi =
u Ci,t Ci,t
=
u,Q u,F Ci,t +Ci,t Ci,t
140 u,Q Ci,t Ci,t u,Q Ci,t Ci,t u,F Ci,t Ci,t
R. El-Azouzi et al.
is the probability to choose a UMTS packet from Qi . We have = =
u,Q Ci,t Q Ci,t F Ci,t a Ti,t
·
·
Q Ci,t Ci,t
a Ti,t Ci,t
= Pi,B (1 − πi fi ) π C u,F · Ci,tF = fi πi s i,s,B = fi s πi,s,B πi i,t
a where Ti,t denotes the number of cycles having Ad-hoc packets till slot t. The proportion of UMTS cycles becomes xi = Pi,B (1 − πi fi ) + fi s πi,s,B The proof is complete for part 1. a Tta T a Ci,t Ci,t = lim ta · · t→∞ t t→∞ C C t i,t i,t
The long term attempt rate is P i = lim Tta a Ci,t a Ci,t limt→∞ Ci,t limt→∞ Cti,t
limt→∞
is the average number of slots per cycle (Ad-hoc or UMTS), i.e. Li . is exactly the proportion of Ad-hoc cycles among Ci,t , i.e. 1 − xi . is the average number of slots per cycle (Ad-hoc or UMTS), then a Ci,t ·
Li
u +Ci,t .n
Pi u i limt→∞ Cti,t = =L Ci,t Pi (1 − xi ) + τi xi The result follows by substituting each term by its established expression.
For the UMTS subsystem, we assume that the base station communicates with 3G nodes using Direct Sequence Code Division Multiple Access (DS-CDMA). Each user i transmits to the base station with a transmission rate ρi,B (Uplink transmission rate), which is the bandwidth to the processing gain ratio. It depends on the mobile classes, the solicited service and the global load. The base station uses a downlink transmission rate ρB,i when sending to i. Another important parameter is the Packet Success Rate (PSR), which we denote by ξ(γi ), it is a function of the instantaneous signal to noise plus interference ratio (SINR). ξ(.) could be any increasing continuous, differentiable and S-sharped (sigmoidal) function with ξ(0) = 0 and ξ(+∞) = 1. Some properties and examples of S-sharped functions are studied with more details in [26] and references therein. Define μi,B as the uplink service rate, i.e. at which UMTS packets are served at node i. We denote by μB,i the arrival rate to node i from the node-B. Let 1 τi,B = μi,B be the average service time in number of ad-hoc slots. Then, it can be Ma written as: τi,B = ρi,B ξ(γ a where Ma is the length of one ad-hoc packet (in i ).τ a bit) and ρi,BMξ(γ is the average service time in second of a packet while allowing i) infinity retransmissions of a failure packet, see [26].
Cross-layer architecture. Nodes with two network cards are able to communicate with other nodes or with the 3G node-B. The system performance depends on more than one layer, this motivates us to use a cross-layer architecture (fig.2). This new network insight is more powerful and flexible thanks to communication and information exchange between different layers. Remark. It is interesting to note that a mobile is able to transmit on one interface and receive on the other and vice-versa. Moreover, it could get si-
On Extending Coverage of UMTS Networks Using an Ad-Hoc Network
141
Fig. 2. Cross-layer architecture including the two subsystems
multaneously one ad-hoc and one UMTS reception. Whereas we do not allow simultaneous transmissions over the two network cards. This is due to the nature of scheduling mechanism that we consider (selection of one queue a time). If we allow parallel selections we could make two simultaneous transmissions possible.
3
Stability of Forwarding Queues
In this section we study stability properties of nodes in the system in particular. a node i ∈ C2 which we call gateways. Classically ,the forwarding queue Fi is stable if the departure rate of packets from Fi is at least equal to the arrival rate into it. This is expressed by a rate balance system. For any given nodes i, s, d ∈ C1 ∪ C3 ; i denotes an intermediate node, s is the source and d is the destination. Let ji,s,d denote the entry in the set Rs,d just after i and N (i) be the set of i’s neighbors. The probability that a transmission from node i on route from node s to node d is successful is, Pi,s,d = (1 − P j ) (4) j∈ji,s,d ∪N (ji,s,d )\i
The expected number of attempts till success or dropping from i on route Rs,d is, 1 − (1 − Pi,s,d )Ki,s,d Li,s,d = Pi,s,d Let πi,s,d be the probability that the queue Fi has a packet at the first position ready to be forwarded to the path Rs,d . It follows that the probability that the queue Fi has at least one packet to be forwarded is πi = s,d πi,s,d . If Pi,d denotes the probability that i transmits to d then the average of Li,s,d over all possible paths is, Li = πi,s,d fi Li,s,d + (1 − πi fi )Pi,d Li,i,d (5) s,d:i∈Rs,d
d
In the following we classify connections onto three categories. – ad-hoc to ad-hoc connections: This corresponds to the case studied in [1] in which an ad-hoc node transmits to another ad-hoc node, i.e. s, d ∈ C1 .
142
R. El-Azouzi et al.
– ad-hoc to UMTS connections: This is the uplink case in which nodes transmit to the base station. For s ∈ C1 and d = B, note that a UMTS packet is transmitted until success from the gateway to the base station. – UMTS to ad-hoc connections: This illustrates downlink scheme, in other terms when the base station is transmitting to a given node so s = B and d ∈ C1 ∪ C3 . We note for transmissions to the base station, that an intermediate node i Pi forwards packets to a next hop at a rate L , whereas it forwards them to the i base station (if it is in the direct range of B) at a rate μi,B . For more generality we define μi,B as the service rate for the uplink scheme as following, μi,B =
μi,B , Pi , L i
if
if i ∈ C3 i ∈ C1 \C2
(6)
The departure rate In order to compute the departure rate of a given node, we shall make differentiation between ad-hoc and UMTS connections. Also the geographical criterion is taken into consideration thanks to P i and μi,B . The long term departure rate from node i for the connection Rs,d is,
di,s,d
⎧ Pi ⎪ ⎨ πi,s,d fi Li , = πi,s,B fi μi,B , ⎪ ⎩π Pi i,B,d fi L , i
s, d ∈ C1 s ∈ C1 , d = B d ∈ C1 , s = B
(7)
The arrival rate Here, we compute the arrival rate for each node i. Let i, s, d ∈ C1 ∪ C3 . s sends a packet destined to d with probability Ps,d . When the UMTS node-B transmits to a node d, we denote by g (for gateway) the first hop on the route RB,d . i’s long term arrival rate is expressed, according to possible connections, as following:
ai,s,d
⎧
Ps ⎪ ⎪ (1 − π f ) P 1 − (1 − Pk,s,d )Kk,s,d , ⎪ s s s,d ⎪ ⎪ Ls ⎪ k∈Rs,i ∪s ⎪ ⎪ ⎨
Ps = (1 − πs fs ) Ps,B 1 − (1 − Pk,s,B )Kk,s,B , ⎪ Ls ⎪ k∈Rs,i ∪s ⎪ ⎪
⎪ ⎪μ ⎪ 1 − (1 − Pk,s,d )Kk,s,d , ⎪ ⎩ B,g
s, d ∈ C1 s ∈ C1 , d = B d ∈ C1 , s = B
k∈RB,d
(8) End to end throughput of a connection. The end to end throughput between a couple of nodes s and d is exactly the arrival rate to the destination d. Namely thps,d = ad,s,d . Recall that gateways keep transmission of a packet over the UMTS subsystem till success (correctly received by the base station).
On Extending Coverage of UMTS Networks Using an Ad-Hoc Network
3.1
143
The Rate Balance System (RBS)
A queue Fi is stable while its corresponding departure rate is greater or equal than the arrival rate into it. In this subsection we consider the extreme case where we have strict equality. We will derive the rate balance equation for every node in the system. When the steady state is achieved, if all queues are stable, then for each i, s and d such that i ∈ Rs,d we get di,s,d = ai,s,d , this is the rate balance equation on the path Rs,d . Then for all i, s and d, we get a system of equations from which we can find a solution of the πi,s,d for all i, s and d. And then, find πi , for all i, which determines the load of the forwarding queues and the main condition of their stability which is πi < 1. Each node can forward packets for the three types of connections defined previously, and therefore we can explicit the rate balance equations using three generic equations: ⎧
P s Li ⎪ ⎪ πi,s,d fi = (1 − πs fs ) Ps,d 1 − (1 − Pk,s,d )Kk,s,d , s, d ∈ C1 ⎪ ⎪ ⎪ P i Ls ⎪ k∈R ∪s ⎪ s,i ⎪ ⎪
⎨ (1 − πs fs ) P s πi,s,B fi = Ps,d 1 − (1 − Pk,s,d )Kk,s,d , s ∈ C1 , d = B μ Ls ⎪ i,B ⎪ k∈Rs,i ∪s ⎪ ⎪ ⎪
⎪ Li ⎪ ⎪ πi,B,d fi = μB,g 1 − (1 − Pk,s,d )Kk,s,d , d ∈ C1 , s = B ⎪ ⎩ P i k∈R B,d
(9) We sum over all sources s and destinations d for all connections written above and get the global rate balance equation which is useful to study some special cases. Theorem 1. In the steady state, if all the queues in the system (both ad-hoc and UMTS) are stable, then for each i, s, d ∈ C1 ∪ C3 , such that i ∈ Rs,d we have, P i fi πi,s,d fi + μi,B πi,s,B = Li s,d s d:i∈R
B,d
+
s,d:i∈Rs,d
(1 − πs fs )
P s Ps,d Ls
μB,i
1 − (1 − Pk,B,d )Kk,B,d k∈RB,i
1 − (1 − Pk,s,d )Kk,s,d
(10)
k∈Rs,i ∪s
Let zi,s,d = πi,s,d fi , for all i, s and d, be the unknown of the rate balance system which is a non linear system because P i and Li usually depend on zi,s,d . We remark as in paper [1] that the solution is independent on the forwarding probability, and consequently the end to end throughput is also not impacted by the choice of fi as it appears when computing the end-to-end throughput thps,d = ad,s,d . This result holds only when the forwarding queues are stable. As a consequence, the forwarding capabilities of gateways do not affect their energy consumption.
144
R. El-Azouzi et al.
Another important remarks concern the interaction between the ad-hoc and the UMTS. Practically, the bit rate per node in the ad-hoc network is larger than the UMTS, but the size of this former network and its characteristics (as channel access and routing) influence drastically its capacity. Yet, connecting two heterogenous networks normally needs a scaling and an adaptation of the rates on each interface, if not, stability of the gateway nodes becomes a real issue. From the rate balance system, we find zi,s,d function of the service rate of the UMTS node μi,B and of the base station rate μB,i . So, the condition on zi,s,d (zi,s,d < 1) will be translated to a condition on the parameters of the UMTS, for example, we can find a minimum packets rate for UMTS nodes or a threshold of the SINR γ that insures stability on gateway nodes. Concerning the throughput of ad-hoc nodes connected to the base station, the throughput can be written in a simple form, in case of stability, as: thps,B = zg,s,B μg,B , where g is a gateway node. For the particular uplink case, the arrival rate (second equation of (8)) is independent of μi,B since πs fs , Li and Pi do not depend on it. Then when μi,B changes the load zi,s,B changes in the opposite sense, it follows that the throughput stays unchanged.
4
The Uplink Case Analysis
In the following we discuss and study with more details a scheme when the RBS is linear such the uplink case which is very important. There is indeed many asymmetric services which do not requires any request-response pattern (e.g. downloading files). In this case all sources has the same destination and each intermediate node forwards always to the same next hop. it follows that Li is independent of the unknown πi , Ls =
πs,s ,d fs Ls,s ,d + (1 − πs fs )Ps,d Ls,s,d = πs fs Ls,s,d + (1 − πs fs )Ls,s,d = Ls,s,d
s
The RBS is reduced to the second equation when d = B, we sum over all s,
zi,s,B =
ys P s Ps,B
s
μi,B Ls
s
1 − (1 − Pk,s,d )Kk,s,d
k∈Rs,i ∪s
Let yi = 1 − πi fi , later we will refer to yi as the stability region of Fi . We have, yi +
ys ωi,s = 1
(11)
s
where ωi,s =
P s Ps,d d μi,B Ls
k∈Rs,i ∪s
1 − (1 − Pk,s,d )Kk,s,d . (11) can be written in
a matrix form and then will be resolved more easily. Y (I + W ) = 1
(12)
On Extending Coverage of UMTS Networks Using an Ad-Hoc Network
145
W is the N ×N matrix whose (s, i)th entry is ωs,i , Y is the unknown N −dimensional row vector, i.e. Y (i) = yi . In the following we will restrict to symmetric ad-hoc network. The transmit and forwarding probabilities are the same for all users, i.e. Pi = P and fi = f . Assume that every ad-hoc node i has the same number of neighbors ni = n (such a grid or a mesh), it follows that Pi,s,B = (1 − P )n . For simplification and without loss of generality we will be assuming that Ki,s,d ≡ 1. Let denote by d(i, s, B) the number of intermediate nodes on the route Rs,B . Since we only consider uplink connections we shall put μB,g = 0. Proposition 2. A necessary condition for stability of Fi , for any given node in the system, for the uplink scheme is that, f≥ where ω i,s,B =
s
ωi,s,B ωi,s,B + μi,B
s.t.
f ≤1
(13)
P (1 − P )n(d(i,s,B)+1)
Proof. For any given routing, the input ratio into the forwarding queue Fi is, ai =
(1 − f πs )P Ps,s,B 1 − (1 − Pk,s,B )Kk,s,B s
k∈Rs,i
≥ (1 − f )P (1 − P )n(d(i,s,B)+1) = amin i s
The departure rate is di = μi,B f πi ≤ μi,B f = dmax i Since Fi is stable if and only if di ≥ ai , then the result follows. The next corollary provides a condition related to UMTS subsystem. Corollary. Considering the uplink case, a necessary condition that insures stability of queue Fi for any given gateway i, is that, μi,B ≥
1−f · ωi,s,B f
(14)
A more useful form is to convert it onto a condition on instantaneous SINR as, γi ≥ ξ −1
1 − f Ma · · ωi,s,B a f ρi,B τ
(15)
where ωi,s,B = s P (1−P )n(d(i,s,B)+1) . An interesting result of proposition (13) is that UMTS parameters do not affect stability of non covered nodes.
5
Numerical Results and Simulations
Consider in fig. (3) one single UMTS cell, covered by base station B, and extended with an Ad-Hoc network which is itself related to Internet via AP 9.
146
R. El-Azouzi et al. a
Connection a: 4-3-2-1-B Connection b: 6-5-1-B Connection c: 10-1-7-8-AP
1O
a
3
2
a c 4
Internet
b
b
11
5 1
c 6
c c 9
7 8
Fig. 3. Cellular and Ad-Hoc networks 0.076
1 node node node node
0.9 0.8
1 2 3 5
0.074
0.7
Throughput
0.072
π
i
0.6 0.5 0.4
a b
0.07
0.068
0.3 0.2
0.066
0.1 0 0
0.2
0.4
μi,B
0.6
0.8
0.064 0
1
0.2
0.4
μ
0.6
0.8
1
i,B
Fig. 4. Queues load for K = 4 and f = 0.8 Fig. 5. Throughput of connections a and b 1
0.08
node node node node
0.9 0.8
1 2 3 5
0.07 0.06
Throughput
0.7
πi
0.6 0.5 0.4 0.3
0.05 0.04 0.03
0.2 0.02
a b
0.1 0 0
0.2
0.4
μi,B
0.6
0.8
1
Fig. 6. Queues load πi from simulation
0.01 0
0.2
0.4
μ
0.6
0.8
1
i,B
Fig. 7. Throughput from simulation
Both nodes in the UMTS cell and the Ad-Hoc network can access to the services of the two networks. For that, gateway nodes play an important relay role on forwarding packets for both technologies. For that we are interested to show, at first, numerical results concerning the load of these latter nodes and then the end -to-end throughput of connections that traverse these nodes. We use a discrete time simulator that reflects the behavior of nodes in our model described in section 2, to validate our formulation results. In fig. (3), nodes 4 and 6 access the UMTS system with the base station B via connections a and b. Node 10 which is in the UMTS cell also reaches the access point AP (node 9) via the Ad-Hoc network with a connection c.
On Extending Coverage of UMTS Networks Using an Ad-Hoc Network
147
We fixe P3 = P9 = 0.2, P4 = 0.4 and all other Pi to 0.3. The number of transmissions is set to Ki,s,d ≡ K = 4 and the forwarding probability to fi ≡ f = 0.8. Fig. (4) and (5) consider only the uplink case where Ad-Hoc nodes communicate with the base station. Fig. 4 shows the load variation function of the UMTS service rate μ1,B . It is clear that increasing μ1,B would ameliorate the stability of node 1. Here, we see that we need μ1,B > 0.19 to get π1 < 1. For an Ad-Hoc node rate of 2Mbps and an Ad-Hoc packet size of 1000 Bytes, the slot size becomes τ a = 4ms, then a minimum UMTS rate needed must be at least 47.5 packet/s (ad-hoc packet). Concerning the throughput, fig. (5) shows the insensitivity of the throughput with the service rate of the UMTS. Note that only for π1 < 1 the figure of the throughput make sense. Elsewhere it will be an increasing function of μ1,B as it is shown in the simulation fig. (7). A validation with simulations of the numerical results is shown in fig. (7,6). Conclusion. In this paper we propose extending the coverage of UMTS using an ad-hoc network, our main result is characterization of stability condition and the end-to-end throughput, we also validate the analytical result using a discrete simulator. An ongoing work consists on studying the impact of transmit power over the 3G subsystem on the stability of the forwarding queues. We also consider a joint power and rate control game to seek the equilibrium points under some QoS constraints.
References 1. El Khoury, R., Elazouzi, R.: Stability-throughput analysis in a multi-hop ad hoc networks with weighted fair queueing. In: The Proc. 45th Annual Allerton Conf. on Communication, Control, and Computing (Allerton 2007), Monticello, IL (September 2007) 2. Kherani, A., ElAzouzi, R., Altman, E.: Stability-Throughput tradeoff and routing in multi-hop wireless ad-hoc networks. In: The Proceeding of Networking Conference 2006, Coimbra, Portugal, MAY 19, vol. 15 (2006) (Best paper Award) 3. Bria, A.: Joint resource management of cellular and broadcasting systems-research challenges. In: RVK 2005 Conference (2005) 4. Bianchi, G.: Performance analysis of the IEEE 802.11 distribute coordination function. IEEE Journal on Selected Areas in Communications (March 2000) 5. Smith, P.: Bgp multihoming techniques. In: NANOG, vol. 23 (2001) 6. Shaikh, A., Sitaraman, R., Akella, A., Maggs, B.: A measurement-based analysis of multihoming. In: SIGCOMM (2003) 7. Stemm, R., Katz, R.: Vertical handoffs in wireless overlay networks. Journal on Mobile Networks and applications 3(4), 335–350 (1998) 8. Wakikawa, R., Paik, E.K., Ng, C.W., Ernst, T., Montavont, N., Noel, T.: Goal and benefits of multihoming. IETF Internet Draft (July 2005) 9. Altman, E., Shakkottai, S., Kumar, A.: The case for non-cooperative multihoming of users to access points in ieee 802.11 wlans. In: IEEE INFOCOM 2006, Barcelona (2006) 10. Rao, R., Ephremides, A.: On the stability of ineracting queues in a multi-access system. IEEE Tran. Inform. Theory 34, 918–930 (1988)
148
R. El-Azouzi et al.
11. Radunovic, B., Le Boudec, J.Y.: Joint Scheduling, Power Control and Routing in Symmetric, One-dimensional, Multi-hop Wireless Networks. In: WiOpt 2003: Modeling and Optimization in Mobile, Ad-Hoc and Wireless Networks, SophiaAntipolis, France (2003) 12. Clausen, T., Jacquet, P., Laouiti, A., Muhlethaler, P., Qayyum, A., Viennot, L.: Optimized Link State Routing Protocol. In: IEEE INMIC Pakistan (2001) 13. Murthy, S., Garcia-Luna-Aceves, J.J.: An Efficient Routing Protocol for Wireless Networks. ACM/Baltzer Journal on Mobile Networks and Applications, Special Issue on Routing in Mobile Communication Networks 1 (1996) 14. Roberts, L.G.: Aloha packet system with and without slots and capture, Tech. Rep. Ass Notes stanford Research Institute advance Recharch Projects Agency Network Infomation Center (1972) 15. Tassiulas, L., Ephremides, A.: Stability properties of constrained queuing systems and scheduling for maximum throughput in multihop radio network. IEEE Trans. Automat. Contr. 37(12), 1936–1949 (1992) 16. Tassiulas, L.: Linear complexity algorithm for maximum throughput in radio networks and input queued switches. In: IEEE Infocom 1998, pp. 533–539 (1998) 17. Tassiulas, L.: Scheduling and perfomance limits of networks with contantly changing topology. IEEE TRans. Inform. Theory 43(3), 1067–1073 (1997) 18. Altman, E., Borkar, V.S., Kherani, A.A., Michiardi, P., Molva, R.: Some game theoretic problems in wireless ad-hoc networks. In: Kotsis, G., Spaniol, O. (eds.) Euro-NGI 2004. LNCS, vol. 3427, pp. 82–104. Springer, Heidelberg (2005) 19. Schr¨ oder, B., Weller, A.: Prediction of the Connection Stability of UMTS Services in the downlink- an Analytical Approach. In: Vehicular Technology Conference (2002) 20. Kumar, A., Patil, D.: Stability and throughput analysis of unslotted CDMAALOHA with finite number of users and code sharing. Telecommunication Systems 8 (December (2-4), 1997) 21. Luo, W., Ephremides, A.: Stability of N interacting queues in multiqueue distributed systems: buffered random acess system. IEEE Trans. Inform. Theory 45, 1579–1587 (1999) 22. Tsybakov, B., Mikhailov, W.: Ergodicity of slotted Aloha system. Prob. Inform. Transmission 15(4), 301–312 (1979) 23. Tassiulas, L., Sarkar, S.: Max-Min fair scheduling in wireless networks. In: Proceeding of Infocom 2002 (2002) 24. Tsybakov, B.S., Bakirov, V.L.: Packet transmission in radio networks. Probl Infom. Transmission 21(1), 60–76 (1985) 25. Yang, Y., Hou, J.C., Kung, L.-C.: Modeling the effect of transmit power and physical carrier sense in multi-hop Wireless networks. In: Infocom 2007, Alaska (2007) 26. Meshkati, F., Poor, H.V., Schwartz, S.C., Mandayam, N.B.: An energy efficient approach to power control and receiver design in wireless data networks. IEEE transactions on communications 53(11), 1885–1894 (2005) 27. Anantharam, V.: The stability region of the finite-user slotted Alloha protocol. III Trans. Inform. Theory 37(3), 535–540 (1991)
A Performance Analysis of Authentication Using Covert Timing Channels Reed Newman and Raheem Beyah Communications Assurance and Performance Group, Computer Science Department, Georgia State University Atlanta, GA, USA [email protected], [email protected]
Abstract. Authentication over a network is an important and difficult problem. Accurately determining the authenticity of a node or user is critical in maintaining the security of a network. Our proposed technique covertly embeds a watermark, or identifying tag, within a data stream. By implementing this model on a LAN and WLAN we show that this method is easily adaptable to a variety of networking technologies, and easily scalable. While our technique increases the time required for data to be transferred, we show that the throughput of the link during the brief authentication window is decreased by no more than 8% in a switched LAN and 11% in a WLAN. During our empirical analysis we were able to detect the watermark with 100% accuracy in both a LAN and WLAN environment.
1 Introduction With the large amount of network applications in existence today, it is becoming increasingly difficult for network administrators to police the traffic on their networks. Additionally, these network applications are increasingly carrying sensitive information; as the sensitivity of the information traversing the network increases, so too must the level of security within the network. A key step in securing a network is the authentication of all nodes1 on that network. Authentication of nodes allow perimeter devices the ability to determine if a node's requests should be granted. Reliable node authentication helps to ensure the basic elements of network security: positively identifying a node, allowing that node specific access privileges, and holding that node accountable should it compromise the security or productivity of the network. Leading industry approaches, such as Cisco’s AAA Server and Cisco's NAC model [1], rely on user name/password, S/Key, Token Cards or system profiling to authenticate users. While all of these methods provide a reasonable level of security, each are expensive and have been shown to have flaws [2,3]. Additionally, simple access control lists have proven to be ineffective as spoofing IP and MAC addresses is a trivial task, allowing attackers to easily gain access to systems and networks. 1
Authentication relating to nodes can easily be extended to users. When referencing nodes, unless otherwise noted, the statement applies to nodes and users.
A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 149–161, 2008. © IFIP International Federation for Information Processing 2008
150
R. Newman and R. Beyah
By not requiring strict node authentication, joining a network is a trivial matter. An attacker may obtain a physical connection to a network, enter the network through a wireless access point, circumvent 802.1x via phishing or other known exploits, or access the network via a VPN connection. By requiring each node joining the network to authenticate itself, the overall security of the network is increased making systems within the network harder to breach. We propose to embed a watermark, or signature specific to a node, within a data flow using inter-packet delay. The watermark will be embedded between select packets in a covert manner, such that it is difficult to detect and does not decrease the throughput of the link significantly. Our model can be used to supplement the above methods or be used as a standalone method of authentication. Our technique does not require synchronization between the nodes' clocks, and can easily be adapted for user authentication. We acknowledge that our proposed method, a method advocating security by obscurity, is not an impervious solution but assert that the additional layer of security increases the difficulty for an attacker. We believe that providing authentication in a covert manner adds the same level of benefit one achieves when changing an internal server’s (sftp, ssh, etc.) port from a well-known port to a random port. The attacker would require not only a technique by which to break into the server (e.g., a buffer overflow attack, etc.), but must also find the server, via port scanning, over a range of 64,000 ports without being detected. Further, this work evaluates performance of using timing channels in general to transmit data. Our specific application of this method uses this channel to communicate authentication information. The remainder of this paper is organized as follows: Section 2 reviews related work, Section 3 details the covert timing channel model, Section 4 outlines the experimental setup and procedure, Section 5 provides analysis on the model, Section 6 provides experimental data, and Section 7 contains our conclusions and future work.
2 Related Work The idea of using inter-packet delay (IPD) for node identification is not necessarily new. There have been several different applications regarding the use of IPD in recent academic research. The majority of the work focuses on the detection of stepping stone connections (i.e., intermediate systems attackers use to launch attacks and insulate themselves from detection), with most solely considering interactive (SSH) traffic. The authors of [4] extend the work done in [5,6] to detect a correlation between stepping stones. In [4], the authors use a binning technique to partition the data stream allowing the encoded watermark a greater level of robustness against timing perturbations and repacketization within the stepping stone links. In [7], the authors extend the work of [8] in an effort to defeat chaff packets (e.g., structurally correct packets inserted within the data flow to obfuscate a pattern) that may be inserted by a node within the stepping stone chain. This is done by decoding watermarks from all possible subsequences of a downstream flow, and choosing the “best” watermark (defined as the watermark with the least hamming distance from the original watermark).
A Performance Analysis of Authentication Using Covert Timing Channels
151
Peng, et al. [9] investigate the secrecy of active watermarking. The authors develop an attack technique that infers important parameters of the watermarks, and also recovers and duplicates watermarks through the stepping stones. The authors of [10] attempt to detect stepping stone connection correlations of SSH traffic by creating a logical partition between ON and OFF periods of usage. By examining the IPD of connections and determining if the OFF period transitions to an ON period within a certain threshold, it can be reasonably stated that these connections are related. It is interesting to note that this is an entirely passive technique. In [11], provable upper bounds are set on the number of packets required to confidently detect encrypted stepping stone streams with proven guarantees of a low false positive rate. The methods in [11] also take into consideration the usage of chaff packets, and provide bounds on the amount of chaff needed by the attacker to evade detection. The model proposed by [12] is similar to that of [11], with the addition of wavelets. In [12], the authors attempt to differentiate between the short term behavior of the stepping stone streams, where timing perturbations and chaff packets can mask the correlation between connections, and the long term behavior of stepping stone streams. Wang and Reeves [5] propose a watermark-based scheme that can detect correlation between streams of encrypted traffic. However, the assumption is made that the attackers timing perturbations are independent and evenly distributed. Should the traffic be disturbed in another fashion, such as with the insertion of chaff packets, their method will show a decrease in accuracy. Zhang, et al. [13] provide an upper bound on the number of packets required to detect attackers in stepping stone networks when chaff packets and timing perturbations exist simultaneously. The authors of [14] show that VoIP encoding scheme can easily contain a covert channel by altering the least significant bit. They provide analysis on the bandwidth and the amount of data transferred. Wang, et al. [6] show that encrypted VoIP calls hidden through an anonymizing network can still be traced, using a technique similar to that of Paxson [10]. Only tangentially related to our work, the authors of [15] studied the loss of anonymity in a flow-based wireless mix network under flow marking attacks, in which an adversary embeds a pattern of marks into wireless traffic flows by electromagnetic interference. They asserted that traditional mix technologies are not effective in defeating flow marking attacks in wireless networks. They proposed a new countermeasure based on digital filtering technology. The authors of [16] introduce a covert timing channel model based on the presence or absence of packets arriving during a specific time period. The authors attempt to detect this covert timing channel over IP using a similarity comparison between packet inter-arrival times. The concept of covert channels was first introduced by B. Lampson in 1973 [17]. Covert channels at the network and transport layers in TCP/IP were first investigated by Rowland [18] and Fisk, et al. [19]. Currently software such as Covert_TCP [19] and Nushu [20] are available to hide data within TCP headers. Project Loki [21] has also shown that ICMP packets are capable of carrying covert information within their headers. By moving the covert channel to the application layer, detection of covert channels becomes even more difficult. It was discussed in RFC 3205 [22] that HTTP be used as a carrier for other protocols; this was obviously meant for the covert encapsulation of the protocols. Several tools are also available to tunnel protocols
152
R. Newman and R. Beyah
through HTTP, like Lars Brinkhoff's httptunnel [23], primarily for the purpose of evading firewalls. The predominate focus of these works, with the exception of [6,14-19,21-22], are on detection of stepping stones using SSH style traffic. SSH traffic can be classified as high-latency traffic, caused by user pauses in commands being issued. In [14], data in the least significant bit of the VoIP stream is altered to create a covert channel. Wang et al. [6] use a technique similar to that of Paxson [10] to correlate between VoIP flows hidden by an anonymizing network. Additionally, all of the works discussed above, with the exception of [15-19,21-22], focus on wired networks. In [17-18,21-22], the covert channel is actually embedded or encapsulated within another protocol. We propose a general model (protocol independent) for node authentication that is able to take advantage of low-latency traffic and be effective on both wired and wireless networks. We evaluate this model experimentally and address the performance and accuracy of our model. This model does not require a large amount of overhead during the brief authentication window, using no more than 8% of the available bandwidth during testing in a switched LAN and no more than 11% in a WLAN.
3 Covert Timing Channel Model Through the application of Steganography to a network flow, we achieve Covert Timing Channels, which are defined as parasitic communication channels that draw bandwidth from other channels, via the disruption of event timing relative to other events, in order to transmit information [24-25]. Traditionally Covert Timing Channels are used for the transmission of messages, and likewise, to provide authentication, we transfer a watermark or signature specific to a node, through this channel. Particularly, we disrupt the inter-packet timing within a data flow over a network (specifically using the TCP and UDP protocols). By adding minimal amounts of delay to select packets within the flow, we add a watermark to the flow in such a way that it is unique to a specific node. By delaying packets within a data stream, even minimally, we detract from the bandwidth of the network and thus increase the time required for a given task. We will show that bandwidth degrades proportional to the amount of delay needed to accurately transfer a watermark, the length of the watermark, and the rate at which the node must be re-authenticated. Disrupting the inter-packet timing within a data flow is inherently volatile, especially when considering outside influences such as the overhead incurred from the use of TCP. Given occasionally network volatility we must assume that sending one watermark may not provide adequate authentication. Additionally to provide a greater degree of robustness, in certain cases it may be necessary to increase the frequency of watermark transmissions. For instance, a university system may not require the node to re-authenticate itself often whereas a military institution, which places a higher priority on security, may. Resending the watermark increases the security provided by the model, allowing the host network to ensure that the node it authenticated originally is still that node. In Section 4 we show that the increase per
A Performance Analysis of Authentication Using Covert Timing Channels
153
additional watermark is small, resulting in a minimal decrease of network throughput. Additionally, we provide analysis on the amount of delay required to accurately detect the watermark, versus the percentage error of false negatives. The degree of natural delay varies from one network type to another. For instance, assuming that network delay is the only factor, the time required to transfer a file over the Internet or VPN connection is greater than the time required to transfer that same file over a wireless network (from one local computer to another); the time required for the transfer of that file over the wireless network is greater than the time required to transfer the file over a 100Mbps LAN connection. With the addition of network congestion, packet loss, etc., the distinction between network types becomes even clearer. As such, the addition of delay required by our model dynamically varies depending on what type of network the user is using. Our model calculates the minimal delay required to accurately embed a watermark into the data flow by using the roundtrip time (RTT) of the first ten data packets received per connection over a TCP connection. This approach will not work over a UDP flow, as there are no acknowledgment packets being returned to the sender. If UDP is being used, the client will ping the server several times and calculate the delay based on the RTT provided. An overview of our model, graphically represented in Fig. 1, is as follows. Initially a bootstrap phase is entered. During this phase, a kernel module, called the Encoder, is loaded and an initial watermark is created. The Encoder associates itself with an application at the transport layer and acts as a filter allowing for the queuing of packets, so that delay may be added. An additional kernel hook, called the Detector, registers itself to determine the RTT of the first ten data packets sent, which will determine the amount of delay added to the data flow. The initial watermark is currently generated from a password, but can be altered to be generated from another input; for example, using a serial number unique to a node (or other identifying information) in addition to a password would allow for the authentication of the user/machine pair. To generate a watermark, our password is hashed using the SHA-1 hashing algorithm, translated from hex to binary, and truncated to the desired length of the watermark. Two delay values are used within the watermark. A high value is used to represent a binary 1, and a low value used to represent a binary 0; the true high (λ) and low (ω) values are set by the Detector with λ > ω and ω being greater than the average delay between packets. When delaying a packet that is part of the watermarked sequence, the binary watermark is consulted to determine if the delay to be added is λ or ω; if the binary value of the delay is a 0, the value represented by ω is used, with the value of λ being used if the binary value of the delay is a 1. As data is sent from the application, it is registered with the Encoder. The Encoder tracks the number of packets being sent, as well as the start time of the data flow. From a predetermined level of security configured by the user, the Encoder will embed the watermark within the data stream after every β number of packets, or after γ units of time have elapsed. Additionally, the user may configure the watermark to be rehashed using the current watermark as the key to create a new watermark after δ packets have been transferred, or to create a new watermark after ζ units of time have elapsed. From this point, the data is transferred over the network to the receiver where another module, a kernel hook, decodes the signal; it is not required that a kernel hook be used in this instance, the application itself could provide this service. Abstractly,
154
R. Newman and R. Beyah
Fig. 1.
Fig. 2.
Fig. 3.
Fig. 1. A work flow depicting the Covert Timing Channel Model. Fig. 2. Depiction of the Experimental Testbed. Fig. 3 Watermarks in UDP traffic transmitted over a WLAN link. Here λ = 12 ms and ω = 8 ms, with the Watermark = {1 0 1 1 1 1 1 0 0 0 1 0 0 0 0 0 1 0 0 0}.
we shall refer to this entity as the Decoder. Prior to decoding the watermark, the data flows' inter-packet timing sequence is subjected to a high-pass filter which filters out the majority of the un-encoded network traffic. Two methods of decoding the watermarks were investigated. These methods are as follows: 1. The Simple Threshold Method – A cutoff point is determined by taking the mean of the IPD not set to zero by the high-pass filter. If a packet has been delayed by an amount greater than the cutoff, it is considered to represent a 1, otherwise it is considered to represent a 0. 2. The Multi-Threshold Method – Using a moving window of two, the values are multiplied together and stored in a separate array. Doing this places the number pairs into three distinctly separate categories, 00, 01/10, and 11. It is difficult to determine the order of the pairing in the 01/10 category; as a solution, the original stream is reviewed, and the greater value is determined to be the 1 value. Due to space limitations, only the Simple Threshold Method was used during testing. Should the flow be found to not contain the watermark after a certain threshold, as determined by the level of security required, the Decoder can be configured to signal a firewall, or other external device, in an effort to alert a user or disallow continued traffic from the source. There are many additional steps that could be taken, each specific to an individual organization's needs, and beyond the scope of this work.
4 Experimental Setup and Procedure To test the Covert Timing Channel Model in a controlled environment, an experimental testbed was constructed. The testbed was comprised of a Lenovo 3000 C100 laptop running Fedora Core 4, kernel ver. 2.6.16-1.2111_FC4 with 512 MB RAM as the client sending the watermark. One server, called Server 1, used in the
A Performance Analysis of Authentication Using Covert Timing Channels
155
testbed was a custom build desktop computer running Fedora Core 6, kernel ver. 2.6.20 with a 3.0 GHz processor and 1 GB RAM connected on a local network with the client by both a wired and wireless connection. An Airlink101 wireless card was used in the Lenovo client, and a D-Link wireless USB adapter was used in Server 1 for the wireless testing. A Netgear 802.11b router was used for the local wired and wireless testing; encryption was left on during the wireless testing to more accurately simulate a real-world environment. The majority of network traffic was generated by the client to the server, with several other computers generating traffic through the router on the local network, but not to the client or server. This is an appropriate setup considering most institutions use a switched network, possibly a wireless network as well, with multiple users active at any given time. In our experiments there were two different scenarios: 1. 2.
Switched LAN – The data transfer occurs entirely over a 10/100 Ethernet network. 802.11b WLAN – The data transfer occurs entirely over an 802.11b wireless network.
Several different configurations were used with multiple trials being run for each configuration. Packets were queued using a Netfilter kernel module [26]. The packets were passed to user space if they were being sent out of a predetermined port, and placed into a separate queue with an appropriate release time set. If the packets were part of a watermark, the release time was set according to the watermark; if the packets were not part of a watermark, their release time was set to the current time. The head of the queue was continually checked to determine if the packet had reached its release time, and the packet was released if the current time was greater than the release time. All network traffic was monitored using Tcpdump [27]. Traffic was generated by transferring a 2.97 MB text file using a simple sockets program written in C, resulting in the transfer of 2035 packets over the network for Figures 4 and 5. For Figures 6-9, the same sockets program was used to transfer 88,000 packets over the network. Each set of captured data was parsed to a flat file using a pcap parser. The files were then processed in Matlab to detect the watermark embedded within the data flow. Five hundred tests per network type were run without using the watermark to provide a baseline.2 For each set of parameters used in Figures 6-9, ten trials were run per configuration, resulting in approximately 400 trials.
5 Analysis The balance of performance and security within large networks is crucial in maintaining the viability of that network. Corporate, university, government and military networks all require different levels of security and minimum tolerable levels of performance, leading to the need for scalable and adaptable solutions that do not prohibit performance. Using the Covert Channel Model, each network type receives a configurable and robust method to authenticate nodes for a minimal cost to the 2
UDP traffic was generated as a CBR data flow (35Mbps).
156
R. Newman and R. Beyah
network. The cost of using these methods varies depending on the frequency of authentication, size of the watermark, and the amount of delay added. This cost is minimal over switched LAN and WLAN connections. When adding a watermark, the majority of the data flow is uninterrupted (Unwatermarked Delay). Only the portion of the data flow containing the watermark adds delay (Watermarked Delay). Additionally, the number of times the watermark repeats increases the delay (Watermarked Repetition Delay), leading to the delay model (Total Delay). unwatermarked_transmission_time = ( packets_total – packets_watermarked ) x (RTT/2) high_delay = packets_watermarked @ λ x λ low_delay = packets_watermarked @ ω x ω watermarked_delay = high_delay + low_delay watermarked_repititions_delay = total_repititions x watermarked_delay transmission_time = unwatermarked_transmission_time + watermarked_repitions_delay
The delay added by the watermark depends on 4 variables: (1) The value of λ; (2) the value of ω; (3) the length of the watermark; and (4) the number of times the watermark is repeated. Both (1) and (2) are configurable and by minimizing these parameters the performance of the network is preserved. Both (3) and (4) are a function of the security required by the network. The Detector attempts to minimize the values in (1) and (2). By using the values of first ten data packets sent, the Detector determines which type of network is being used and sets the rates accordingly. It determines the connection type based on the RTT time of the first ten packets. The distinction between a LAN and a WLAN is made based on the variance within the first ten packets. If a LAN is in use, the Detector sets λ= (φHigh x ( RTT / 2 )) and sets ω = (φLow x (RTT/2)) with φHigh = 46.5 and φLow = 15.5. If a WLAN connection is in use the Detector sets the Encoder to “spike” the interface. When using a WLAN connection φHigh = 1.84 and φLow = 1.0; due to the comparatively high bandwidth of the LAN connection, larger normalizing parameters (φHigh, φLow) are required. During testing, it was initially observed that large delays were required on WLAN networks to ensure that the entire watermark was received. When using limited bandwidth, such as that on a WLAN, packets may be queued within the interface before being transferred to the network. By adding a large delay (“a spike”) prior to sending the watermark, the interface is allowed to clear its queue and thus transmit the watermark with greater accuracy and lower delays. Empirical testing shows that by “spiking” the interface, bandwidth over a WLAN connection is preserved far better than by simply increasing λ and ω. This will be discussed in more detail in Section 6. While testing was done using both TCP and UDP traffic, we will focus our analysis on TCP. The primary reason for this is that UDP traffic is relatively well behaved (with no outside influences unlike TCP) and easily carries the watermark. This is shown in Fig. 3 where UDP traffic is sent over a WLAN connection (which is more volatile than a LAN connection) at a rate well below the rate determined to be optimal. During this trial, watermarks were detected at 100% over the entire duration. UDP traffic over a LAN connection showed similar results. Ideally, after minimizing the delay, the watermark is transfered over the network and detected immediately. While this may be true with λ and ω set to a high value, it is not always the case. Network perturbations may cause alterations within the watermark
A Performance Analysis of Authentication Using Covert Timing Channels
157
leading to a false negative (no false positives were observed). In this case, multiple watermarks may be sent to authenticate the node. These incomplete watermarks are examined to determine their proximity to the correct watermark. Should they be within a tolerance level against false negatives (a predetermined value from the user) they will be considered the same as an ideal watermark. Additionally, care is taken such that delay values are not set too high (i.e., above the TCP timeout values), since packet retransmissions could also cause an increased number of false negatives. Optimal values for encoding differ per network. To maximize throughput the desired value for ω is slightly above the normal sending rate. Desired values for λ are slightly but distinguishably above ω. While this varies depending on what network type is in use, testing within our testbed has shown that optimal values in our LAN are λ = 6ms and ω = 2ms and in our WLAN are λ = 22ms and ω = 16ms. This was determined empirically and is illustrated in Fig. 4 and Fig. 5. These values lead to a highly detectable solution that is still covert and minimizes the number of watermarks required for accurate detection. Network performance is not greatly affected if λ and ω are set to relatively low values (but not the lowest possible values) and the number of watermarks contained within the authentication cycle is small. An authentication cycle represents the transmission of one or more watermarks. The transmission of several watermarks may be required to achieve an acceptable degree of detection accuracy. While it is certainly possible for a greater degree of performance to be achieved by setting λ and ω to lower values, doing so decreases the probability that the watermark will be accurately detected requiring a larger number of watermarks to be included within an authentication cycle. The computational power required and the speeds at which the watermarks can be detected are also important factors. The Simple Threshold Method is a powerful and easily implementable method to detect the watermark. It only requires enough memory to buffer the current watermark, and minimal computations; as such, the Simple Threshold Method is faster than the Multi-Threshold Method. The drawback to using this method is that it has minimal intelligence, and can create a higher false positive rating if network conditions change. The Multi-Threshold Method provides a greater degree of robustness with lower false positive rates. However, it does require that the original time stamps be held in memory as well as the current watermark, and a slightly greater amount of computation to be done. Comparatively, the MultiThreshold Method provides better protection against changes within network conditions. Due to space limitations our experimental data only provides analysis using the Simple Threshold method. At the monitoring node each watermark is individually detected and compared to the true watermark to determine its accuracy. Each of these accuracy ratings are stored until enough watermarks have been received (or time has elapsed) to complete one authentication cycle. The maximum value of the stored accuracy ratings is selected and compared to the configured threshold. If this maximum is greater than the threshold the user is considered to be authenticated, otherwise the maximum value of the stored accuracy ratings is averaged with all previously detected maximum rates and this value is considered to be the user’s current authentication value. The authentication value is compared to the configured threshold again to determine if the user is authenticated.
158
R. Newman and R. Beyah
Fig. 4.
Fig. 5.
Fig. 6
Fig. 7.
Fig. 8.
Fig. 9
Fig. 4. contains the results from trials used to empirically determine the optimal values for λ and ω, as well as the number of watermarks required per authentication cycle for different levels of detection accuracy in a LAN. Fig. 5 contains the results from trials used to empirically determine the optimal values for λ and ω, as well as the number of watermarks required per authentication cycle for different levels of detection accuracy in a WLAN. Figs. 6 and 8 show the percentage decrease in network throughput, compared to the baseline throughput, when the number of authentication cycles is increased in a switched LAN and WLAN respectively. Figs. 7 and 9 show the percentage decrease in network throughput, compared to the baseline throughput, when the length of a single watermark is increased in a switched LAN and WLAN respectively.
6 Performance Analysis RTT values differ per network. During testing it was observed that RTT values for a switched LAN had a median value of 0.258ms and a mean value of 0.247ms. Within a WLAN the RTT median value was 23.90ms and a mean value of 42.43ms. Using the Detector, the appropriate λ / ω delay times for a LAN and WLAN network are 6ms/2ms and 22ms/16ms respectively. As previously mentioned these values were determined empirically and are fixed in order to provide the performance analysis. While certain institutions may require the highest level of security, the needs of other institutions may not be as stringent. The Covert Timing Channel method is designed to be a general method of authentication for institutions requiring various levels of security. As such, performance testing was done for several different levels of accuracy using different watermarks lengths and various numbers of watermarks included within a single authentication cycle. By using shorter watermark lengths and/or fewer watermarks per authentication cycle, institutions (such as educational facilities that do not require high levels of security) may authenticate nodes with a
A Performance Analysis of Authentication Using Covert Timing Channels
159
lower degree of accuracy without seriously impacting the performance of the network. Conversely, institutions requiring a greater degree of security may increase the length of the watermark and/or the number of watermarks per authentication cycle. Doing so allows nodes to be authenticated at a higher degree of accuracy while increasing the complexity required for watermarks to be detected at high levels of accuracy. Testing on the switched LAN differed from that of the WLAN network in that the addition of a watermark was either fully detectable or not detectable at all up to 95% accuracy using an authentication cycle containing one watermark, after which an increase in the authentication cycle size (increased to three watermarks) was required to achieve 100% accuracy at lower rates. This is the result of extremely low latency between hosts. The “authentication watermarks” were fully detectable until 6ms/2ms, after which no watermarks were detected at all. As long as λ > 5ms and 1ms < ω ≤ λ2ms, watermarks were generally 95% detectable with 0% error within the detection. The values of 6ms/2ms were chosen for the LAN because of their consistent ability to provide a great degree of detectability with minimal performance degradation (Fig. 4). Our primary consideration during testing was the amount of overhead this model requires for accurate detection. Two configurable parameters were tested to provide a performance versus security comparison: (1) the cost to network throughput for different watermark lengths; and (2) the cost to network throughput for additional redundancy using authentication cycles. By increasing the length of the watermark and by adding additional authentication cycles, the security of the model is increased at a cost to the network throughput. Fig. 6 represents the cost of increasing the number of watermarks contained within one authentication cycle. This figure provides results for 1 watermark, 20 bits (or packets) long, per authentication cycle, with one to ten authentication cycles being sent over the authentication period of 88,000 packets for 95% detection rate. To achieve 100% detection, 3 watermarks were used per authentication cycle using the same λ and ω values. The throughput of the watermarked flows are compared to the average of several hundred baseline transmissions in the same environment. Transmission of more authentication cycles caused a decrease in the throughput of the network. In our experiments it was noted that there was an average of 0.54% decrease in throughput per additional authentication cycle transmitted, with a maximum performance penalty of 7.32% over our trials. Fig. 7 represents the cost of increasing the watermark length, tested using 6 watermarks per authentication cycle for 100% detection, and 1 watermark per authentication cycle for 95% detection. The cost of increasing the watermark from a length of 5 to 40 is a total decrease in throughput of 7.5%, with each additional bit costing, on average, a 0.036% decrease in throughput. Performance on a WLAN network had a greater degree of variance, primarily due to the nature of the network. Due to the bursty nature of a WLAN network, a higher proportional delay value was required for accurate detection. Testing was done at a detection accuracy of 90% (λ = 20ms), 95% (λ = 20ms), and 100% (λ = 22ms), with ω = 12ms (the optimal low value for our tested network) for each.
160
R. Newman and R. Beyah
Fig. 8 represents the cost of increasing the amount of authentication cycles per authentication period on a WLAN network. Each authentication cycle contains 6/3/2 watermarks for 100%/95%/90% detection respectively, consisting of 20 bits (or packets). In our experiments it was noted that there was, on average, a 0.63% decrease in network throughput per additional authentication cycle added, with a maximum decrease of 7.17%. Fig. 9 represents the cost of increasing the watermark length in a WLAN network. This figure contains a large degree of variance due to the nature of WLAN networks, but shows a general decrease in network throughput as the length of the watermarks are increased; with a larger amount of test data, we believe that this trend will smooth over time. On average adding an additional bit in a watermark on a WLAN network caused a 0.0435% decrease in throughput with, generally, an average maximum performance penalty of 8.54% when disregarding a single outlying value. All figures, while showing the general trend expected, are comprised of a limited set of trials. It is our belief that the anomalies within each figure will smooth over a larger number of trials.
7 Conclusion and Future Work While our specific application uses the Covert Timing Channel model to communicate authentication information, we investigate the use of the Covert Timing Channel model to transmit data in general. We show that the Covert Timing Channel method provides a secure, reliable, and cost effective process for which nodes may be authenticated within a network. Our model is highly scalable, easily adaptable and backwards compatible with existing technology, and provides excellent performance on switched LAN and WLAN networks. While the performance of this model is readily visible from the LAN and WLAN test results, we believe that this model could be extended for use over WAN networks as well; in our future work, we intend to show that this model will perform well over VPN connections. Additionally, we intend to investigate the effects of chaff packets on our method. Lastly, we shall apply our method to node authentication using real world traffic.
References 1. Cisco, NAC. http://www.cisco.com/en/US/netsol/ns466/ networking_solutions_package.html 2. Thumann, M., Roecher, D.: NAC@ACK: Hacking the Cisco Nac Framework. In: The Proceedings of Black Hat Europe (2007) 3. Cisco Security Response: AAA Command Authorization By-Pass. 0125-aaatcl.pdf (2006), http://www.cisco.com/warp/public/707/cisco-sr4. Pyun, Y.J., Park, Y.H., Wang, X., Reeves, D.S., Ning, P.: Tracing Traffic through Intermediate Hosts that Repacketize Flows. In: INFOCOM 2007. 26th IEEE International Conference on Computer Communications (2007) 5. Wang, X., Reeves, D.S.: Robust Correlation of Encrypted Attack Traffic through Stepping Stones by Manipulation of Interpacket Delays. In: Proc. of the 10th ACM conference on Computer and Communications Security (CCS), October 2003, pp. 20–29 (2003)
A Performance Analysis of Authentication Using Covert Timing Channels
161
6. Wang, X., Chen, S., Jajodia, S.: Tracking Anonymous Peer-to-Peer VoIP Calls on the Internet. In: Proc. of the 12th ACM conference on Computer and Communications Security (CCS), November 2005, pp. 81–91 (2005) 7. Peng, P., Ning, P., Reeve, D.S., Wang, X.: Active Timing-Based Correlation of Perturbed Traffic Flows with Chaff Packets. In: Proc. Of the 2nd International Workshop on Security in Distributed Computing Systems (SDCS), June 2005, pp. 107–113 (2005) 8. Want, X., Reeves, D.S., Ning, P., Feng, F.: Robust Network-Based Attack Attribution through Probabilistic Watermarking of Packet Flows. Technical Report TR-2005-10, Department of Computer Science, NC State Univ. (2005) 9. Peng, P., Ning, P., Reeves, D.S.: On the Secrecy of Timing-Based Active Watermarking Trace-Back Techniques. In: Proc. of the 2006 IEEE Symposium on Security and Privacy (S&P), May 2006, pp. 334–349 (2006) 10. Zhang, Y., Paxson, V.: Detecting Stepping Stones. In: Proc. of the 9th USENIX Security Symposium, August 2000, pp. 171–184 (2000) 11. Blum, A., Song, D.X., Venkataraman, S.: Detection of Interactive Stepping Stones: Algorithms and Confidence Bounds. In: Proc. of the 7th International Symposium on Recent Advances in Intrusion Detection (RAID), Octeber 2004, pp. 258–277 (2004) 12. Donoho, D.L., Flesia, A.G., Shankar, U., Paxson, V., Coit, J., Staniford, S.: Multiscale Stepping-Stone Detection: Detecting Pairs of Jittered Interactive Streams by Exploiting Maximum Tolerable Delay. In: Proc. of the 5th International Symposium on Recent Advances in Intrusion Detection (RAID), October 2002, pp. 17–35 (2002) 13. Zhang, L., Persaud, A., Johnson, A., Guan, Y.: Stepping Stone Attack Attribution in NonCooperative IP Networks. Iowa State University, Tech. Rep. TR-2005-02-1 (February 2005) 14. Takahashi, T., Lee, W.: An Assessment of VoIP Covert Channel Threats. In: Proc. of SecureComm 2007, 3rd International Conference on Security and Privacy in Communication Networks (2007) 15. Fu, X., Zhu, Y., Graham, B., Bettati, R., Zhao, W.: On Flow Marking Attacks in Wireless Anonymous Communication Networks. In: Proceedings of the 25th International Conference on Distributed Computing Systems (ICDCS) (2005) 16. Cabuk, S., Brodley, C., Shields, C.: IP Covert Timing Channels: Design and Detection. In: the Proceedings of the 11th ACM conference on Computer and Communications Security (October 2004) 17. Lampson, B.W.: A Note on the Confinement Problem. Communications of the ACM 16, 613–615 (1973) 18. Rowland, C.H.: Covert Channels in the TCP/IP Protocol Suite. First Monday 2.5 (May 1997) 19. Fisk, G., Fisk, M., Papadopoulos, C., Neil, J.: Eliminating Stenagraphy in Internet Traffic with Active Wardens. In: Information Hiding 2002, pp. 18–35. Springer, Heidelberg (2002) 20. Rutkowska, J.: The Implementation of Passive Covert Channels in the Linux Kernel. In: Chaos Communication Congress, Chaos Computer Club e.V. (2004) 21. route, alhambra. Project Loki. Phrack 7(49) (November 1996) 22. Moore, K.: On the Use of HTTP as a Substrate. Tech. Rep. In: Ternet Engineering Task Force, RFC 3205 (February 2002) 23. Brinkhoff, L.G.: httptunnel, http://www.nocrew.org/software/httptunnel.html 24. Covert Channels Definition, http://en.wikipedia.org/wiki/Covert_channel 25. Stenography Definition, http://en.wikipedia.org/wiki/Stenography 26. Netfilter / IPTables, http://www.netfilter.org/ 27. Tcpdump, http://www.tcpdump.org/
PassPattern System (PPS): A Pattern-Based User Authentication Scheme T. Rakesh Kumar and S.V. Raghavan Network Systems Laboratory, Department of Computer Science and Engineering, Indian Institute of Technology Madras Chennai-600036, India {rakeshk,svr}@cs.iitm.ernet.in
Abstract. Authenticating a user online, without compromising the user comfort is an important issue. The most popular approach to authenticate a user online is Password-based authentication. Studies show that, users (always) choose very simple passwords which are often easy to guess. On the contrary, randomly generated strings are difficult to remember, especially if the user is having many passwords. In this paper we present a dynamic password scheme based on patterns, called PassPattern System (PPS), which works using the existing infrastructure. PPS is an Adaptive Authentication System, where the strength of the system can be changed depending on the need of the application without compromising the user comfort. Keywords: User Authentication, Security.
1 Introduction "Open, Sesame!" is a classical example of using a SecretWord/Password in the famous tale Ali Baba and the Forty Thieves [1] to open the door of the magical cave. Since then SecretWord/Password has been used to authenticate the user before accessing any resource. With the advancement in computers, Internet and electronic commerce, authentication has become increasingly important. One of the main problems with the username-password scheme is ‘selection of the password’ itself. Studies show that users will always pick passwords which are short and easy to remember [2]. Often it is very easy to break the password of the user, if the personal information about him/her is known and more often than not, it is widely known. With technological advancement, alternative authentication schemes are reported in literature, which are more secure than the conventional Password-based scheme using Biometrics, RSA SecurID® [3], and Graphical passwords [4]. Each mechanism has its own advantages and disadvantages. One of the main reasons why password is still widely used is that newer technologies entail significant changes in the infrastructure of the system. Besides, the vulnerabilities of Graphical Passwords are still not fully understood and is an active area of research [4]. It appears that the need of the hour is to design an authentication scheme that is easy and intuitive to use, strong and robust against all possible attacks, and works using the existing hardware/software infrastructure. A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 162–169, 2008. © IFIP International Federation for Information Processing 2008
PassPattern System (PPS): A Pattern-Based User Authentication Scheme
163
In this paper we present the PPS, which is a dynamic password authentication system, where the user will prove to the system that he/she knows the secret instead of communicating it directly. PPS can be visualized as a challenge-response system, where in the response to a challenge is hardly reusable, there by rendering the replay attack or its variant ineffective. 1.1 Related Work There are several attempts reported in literature about authentication schemes in lieu of the traditional Password-based system. While each attempt is successful in increasing the strength of the system against some of the known attacks, they are either computationally intensive or they require additional hardware/software in the infrastructure. In this section we review the contemporary attempts, identify the gaps, and highlight the motivation for developing PPS. Password-based authentication. Password system is the oldest and the most popular authentication scheme used in the modern world. But users tend to choose simple passwords, which are easy to remember but they are very easy to break [2,5]. One way of preventing this is to provide users with a random password. While it is difficult for the user to remember, with contemporary computing power even a computer generated random password of length 8 characters is not strong enough for bruteforce attack; With Blue Gene/L1, it will take 1 hour to break password of length 10 characters. According to Microsoft “A strong password should appear to be a random string of characters to an attacker. It should be 14 characters or longer, (eight characters or longer at a minimum)” [6]. While it is recommended that user should not use same password for more than one account, it is quite common that the users have more than one online profile. Besides, users have to maintain a separate account for e-mail, social networking, e-banking, e-commerce, blogging, multimedia sharing, etc. Remembering a 14 character password for each account is difficult. The other way of increasing the strength of the password system is to make the password dynamic, i.e. the user has to enter a different password every time he/she does a login. But existing dynamic password or One-Time Password schemes either require extra hardware or complex mathematical operations. Biometrics. Biometrics comes under the category of authentication systems which use ‘What the user is’. The main disadvantage with any biometric system is the need for a change in the infrastructure of the entire system. For example if Yahoo wants to replace its authentication system from password to fingerprint based authentication, all the users have to install fingerprint readers on their computers and Yahoo should maintain a registry. This kind of change in infrastructure may not be feasible always. Moreover, biometrics are not often secret [7], as people publicly expose their voice and fingers in various ways on a regular basis, creating the possibility of biometric spoofing. For biometrics like Retina-based authentication and Vein-based authentication, spoofing is not possible but the installation cost is very high. Graphical passwords. The main idea of Graphical passwords [4] is that users find it easy to remember Graphical passwords than text-based passwords. Graphical 1
IBM Blue Gene is the current fastest super computer. [www.research.ibm.com/bluegene/]
164
T. Rakesh Kumar and S.V. Raghavan
passwords are more secure than text-based passwords from various attacks like dictionary attack, bruteforce attack and spyware. Some of the problems with the graphical passwords are that the users tend to choose the same sequence of images as their password making it easy to guess; Graphical passwords require much more storage than conventional text-based passwords. RSA SecurID®. RSA SecurID® is a two-factor authentication. It is based on something you know (a password or PIN) and something you have (an authenticator). RSA SecurID® is one of the dynamic password systems, where the user password will change for every login. Issues that cause concern are the cost and the possible of loss of physical devices. Virtual keyboard. Virtual keyboard is yet another user authentication system, where the user has to enter his/her password by clicking the characters on a virtual keyboard instead of typing the password on the conventional keyboard. While such a system is good against keyloggers and spywares, it is susceptible to other attacks like Shoulder surfing, guessing, and Social Engineering. Motivation for PPS. The discussions hitherto underline the need for an authentication system, that is simple, easy-to-use, inexpensive, incorporates the essence of challenge-response system, dynamically changing, robust against attacks such as bruteforce, dictionary, shoulder surfing, spyware, social engineering, ManIn-The-Middle attack and all above doesn’t demand any special hardware/software.
2 PassPattern System PassPattern System is a challenge-response system and is based on the premise that ‘humans are good at identifying, remembering and recollecting graphical patterns than text patterns’ [8]. The core idea of PassPattern system is that, ‘Instead of remembering a sequence of characters as the secret, users have to remember a shape (which is stored internally as a sequence of positions in hash form) as the secret’. Whenever the user wants to get authenticated, the PPS displays an NxN matrix of cells, which is known as PatternSquare. Each cell in the PatternSquare is an image, which represents a character as shown in Fig. 1(a). The character can be an alphabet, number or even special characters. The PatternSquare is the challenge that is sent by the server to the user. The PatternSquare will be generated dynamically upon each user request. Hence the characters in each cell of the PatternSquare may change or their position may change or both may change, for every authentication request. At the time of registration the user is asked to choose a sequence of positions as shown in Fig. 1(b), by typing the characters in those positions. The sequence of positions then becomes the user’s PassPattern. The cell sequence of the PassPattern so chosen will remain the secret between the user and the system. The user has to remember only the shape (cell sequence in the PatternSquare) as that is the only secret. For the user to get authenticated, he/she has to type the characters that are present in the chosen shape (PassPattern) in the PatternSquare. The cells in the PatternSquare are colored2 in such a way that, the user can see smaller 2
To enhance user convenience; no relationship to security of the PPS.
PassPattern System (PPS): A Pattern-Based User Authentication Scheme
(a)
165
(b)
Fig. 1. (a) A sample PatternSquare. This is the sample of the image that the user will see, whenever he/she wants to login to the system. (b) A sample user choice of a PassPattern. A user can choose any sequence of positions as the PassPattern.
subsections of the PatternSquare (3 x 3 in our example), which makes it easy for him to remember his PassPattern. Whenever the user wants to login to the system, the user has to type the sequence of characters which appear in the user’s PassPattern presented by the system as a challenge (This sequence of characters is referred to as SecretWord). During every presentation of the PatternSquare, the contents change and hence the user has to type a different SecretWord as shown in Fig. 2, during every authentication process such as login.
Fig. 2. The above figure shows PatternSquares that are displayed to the users at different login attempts. SecretWords corresponding to the PassPattern in Fig. 1(b) will be “t?X4”, “@?7-” and “b-97”.
2.1 Design Issues PPS allows users to choose any set of characters as their PassPattern. The user can select the PassPattern based on some sequences familiar to him/her, for example knight’s moves on a chess board or some symmetric positions. Because of the coloring2 of the cells, remembering the PassPattern will be easy. The PPS comprises of 4 parts - PPS software, Pseudo-Random number generator, Image generator, and PassPattern database. PPS software controls all activities in the system, Pseudo-Random number generator and Image generator are used to create dynamic challenges and PassPattern database stores all the PassPatterns of the users. Internally the cells of the PatternSquare are indexed in row-major order (and left to
166
T. Rakesh Kumar and S.V. Raghavan
right), starting from 0 to N2-1 (where N is the size of the matrix). Hence the PassPattern of a user will be stored as a string of numbers. Both PassPattern and usernames will be stored in the database as Hash, using MD5 hash function. Registration phase. Whenever a user sends a request for new registration, the server will create two S-seeds based on the “current clock time” (This seeds are valid only for that session at the server). Using S-seeds as the seed values, the Pseudo-Random generator will (randomly) pick two sets of 49 characters (for a 7x7 matrix) out of 94 printable characters in ASCII. The Image generator takes these characters and creates two sets of 49 images and sends the images to PPS Software. PPS Software creates two PatternSquares using the images and sends them to user as challenges. These two challenges are similar to the process of retyping the password in traditional password systems at the time of registration. The S-seed values are preserved as the session variable (in physical memory) for the verification phase.
(a)
(b)
Fig. 3. (a) Registration phase in the PPS. (b) Validation and Creation of the user account.
Once the user gets these two challenges, the user has to type the username and SecretWords. The SecretWords will be based on the user selection of the PassPattern. The PPS checks both the PassPatterns and if they are same, then the PPS calculates the MD5 Hash of the username and PassPattern and stores them in the PassPattern database and acknowledges the successful registration to the user. The Authentication phase. Whenever a user makes a login or authentication request, the PPS Software creates the PatternSquare (similar to the registration phase) and sends it to the user as a challenge. Once the user gets the challenge, the user has to type the username and the SecretWord which is based on his/her PassPattern and the PatternSquare (Secret and Challenge). The PPS software calculates the MD5 Hash of the username and PassPattern and compares the result with the value stored in the PassPattern database. Based on the comparison results, the user will be either allowed or rejected.
PassPattern System (PPS): A Pattern-Based User Authentication Scheme
(a)
167
(b)
Fig. 4. (a) Challenge creation phase in the PPS. (b) Response validation phase in the PPS.
Other Design Issues. PPS is an adaptive user-authentication system. The strength of PPS can be adapted for various situations. The strength of the PPS can be varied by changing two parameters – the size of the PatternSquare and the type of image. The first method is to change the size of the PatternSquare, i.e. the more the size, more is the security. Number of possible patterns of length n in an NxN matrix will be (N2)n. Thus, as the size of PatternSquare (N) increases, the total possible number of PassPatterns will increase, which in turn increases the strength of the system. The second method of increasing the security is by changing the type of the image in the PatternSquare. The strength of the system can be drastically improved by changing the type of the image. Each character in the PatternSquare can be represented with different coding, compression, noise, distortion, and even as a CAPTCHA3 image.
3 Security Strength of PPS In general, several attacks are possible on an authentication system. For any authentication system, the hacker can attack at least at three places; they are server, client, and the communication link. The different attacks on sever includes Bruteforce attack, Dictionary attack, attack on PassPattern database, and compromising the server as a whole. At the client, the possible attacks are keylogging and shoulder surfing. Finally on the communication link, the possible attack is Man-In-The-Middle attack, which can be done using packet sniffers. In terms of the data being passed from the user to the server and the data which is being stored in the server PPS is comparable with the classical Password-based authentication system. In both cases, user sends the username and a SecretWord and this will be compared with the registry in the database. But because of the dynamic nature of the challenge-response system, PPS is more secure than Password-based scheme to attacks such as Bruteforce, Dictionary attack, Keylogger, and Shoulder surfing. For the rest of the attacks, PPS is as vulnerable as Password-based schemes 3
CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) is a test used in computing to determine whether the user is human. For more information on the CAPTCHA refer [http://www.captcha.net].
168
T. Rakesh Kumar and S.V. Raghavan
(e.g. Server database compromise attack). The best known solution for such attacks is to use cryptography protocols at the server or on the communication link. In this section we analyze the impact of the four attacks mentioned here on PPS. Bruteforce attack. The hacker can try two kinds of Bruteforce attacks on this system. The first way of attacking the system is to ignore the PatternSquare and try with some random string. For a user PassPattern of length 4, there will be a unique SecretWord for the given session. If the hacker wants to guess that SecretWord, the probability of success will be 1/(944) = 1.28x10-8 (Since there are 94 printable characters). If the guess is wrong the probability of success will remain same for the next guess, it is because the SecretWord will change with every attempt. Hence, The probability of success for every attempt =
1 94n
(1)
The other way of doing Bruteforce search is to try all combinations of positions. For example, if we consider a 7x7 PatternSquare there will be 49n (if selection of PassPattern includes reuse of positions) or 49Pn (without reuse of positions) different patterns of length n. ⎧( N 2 ) n ⎪ Number of possible PassPatterns = ⎨ N 2! ⎪ ( N 2 − n)! ⎩
(2)
To break the system, the hacker on an average has to break (nx49n)/2 images (with reuse) or (nx49Pn)/2 (without reuse). ⎧ n × ( N 2 )n ⎪ 2 ⎪ Number of images that are to be broken = ⎨ (3) n × N 2! ⎪ ⎪⎩ 2 × ( N − n)! N represents the size of the PatternSquare and n represents the length of the PassPattern. Dictionary attack. Dictionary attack is one of the most commonly used techniques to break a Password-based system. In the case of PPS commonly used shapes, sequences can be possible candidates in a dictionary. However, as the PatternSquare changes randomly on every presentation, it approaches the behavior of one-time pad. Keyloggers. Keylogger is a program, which captures the user’s keystrokes and sends this information to the hacker. The natural protection for an authentication system from the keylogger is to have a one-time password (or Dynamic password). PPS being a dynamic password system, is not vulnerable to keyloggers. Even if the hacker gets the SecretWord of the user of a PPS system, this SecretWord cannot be reused by the hacker to login to the system, because of the dynamic nature of the PatternSquare. Shoulder surfing. Shoulder surfing is looking over someone’s shoulder when they enter a password or a PIN code. It is an effective way to get information in crowded places because it is relatively easy to stand next to someone and watch as they fill out a form, enter a PIN number at an ATM machine, or use a calling card at a public pay
PassPattern System (PPS): A Pattern-Based User Authentication Scheme
169
phone. Shoulder surfing can also be done at a distance with the aid of binoculars or other vision-enhancing devices to know the password. Shoulder surfing can be done easily on the password system, just by seeing the keys that the user is typing. But to decode the PassPattern in the PPS, the hacker has to see both the key sequence and the PatternSquare and do a mapping before the user submits the page. So shoulder surfing is of little or no use in PPS as compared to a Password-based system.
4 Conclusion In this paper we presented PPS, a user authentication system which can be a potential replacement to classical Password-based authentication system. The strength of the system can be changed by varying the size of the PatternSquare and the type of image associated witch each cell of the PatternSquare without increasing the length of the PassPattern. PPS is very easy for the user to use and at the same time it is more secure than conventional Password-based system. An existing Password-based system can be migrated to PPS, without any change in the infrastructure. Some of the open problems in this area are: What is the ideal length of the PassPattern? What is the ideal size of the PatternSquare? What is the general user behavior while choosing a PassPattern? Prototype of the PPS is available at http://netlab.cs.iitm.ernet.in/pps
References 1. McCaughrean, G.: One Thousand and One Arabian Nights, USA. Oxford University Press, Oxford (1999) 2. Adams, M.A., Sasse, M.S.: Users are not the enemy: why users compromise computing security mechanisms and how to take remedial measure. Communications of the ACM 42(12), 40–46 (1999) 3. RSA Security Inc. RSA SecurID® authenticators, http://www.rsasecurity.com 4. Suo, X., Owen, Y.Z.: Graphical Passwords: A Survey. In: 21st Annual Computer Security Applications Conference (ACSAC 2005), pp. 463–472 (2005) 5. Gilhooly, K.: Biometrics: Getting Back to Business. Computerworld (May 09, 2005) 6. Strong passwords: How to create and use them, http://www.microsoft.com/ protect/yourself/password/create.mspx 7. Brainard, J., Juels, A., Rivest, R.L., Szydlo, M., Yung, M.: Fourth-Factor Authentication: Somebody You Know. In: Proceedings of the 13th ACM conference on Computer and communications security, pp. 168–178 (2006) 8. Shepard, R.N.: Recognition memory for words, sentences and pictures. Journal of verbal Learning and verbal Behavior 6, 153–163 (1967)
A Secure and Efficient Three-Pass Authenticated Key Agreement Protocol Based on Elliptic Curves Meng-Hui Lim1 , Chee-Min Yeoh1 , Sanggon Lee2 , Hyotaek Lim2 , and Hoonjae Lee2 1
Department of Ubiquitous IT, Graduate School of Design & IT, Dongseo University, Busan 617-716, Korea {menghui.lim,yeohcm}@gmail.com 2 Division of Computer and Information Engineering, Dongseo University, Busan 617-716, Korea {nok60,htlim,hjlee}@dongseo.ac.kr
Abstract. Key agreement protocol is of fundamental importance in providing data confidentiality and integrity between two or more parties over an insecure network. In 2004, Popescu [14] proposed an authenticated key agreement protocol in which its security is claimed. However, Yoon and Yoo [19] discovered its vulnerabilities two years later and proposed an improved variant of it. In this paper, we highlight the vulnerability of this improved variant under the LaMacchia et al.’s extended Canetti-Krawczyk security model [12]. With this, we propose another enhanced version of Popescu’s protocol which offers stronger security features and appears to be significantly more efficient than Yoon-Yoo’s scheme. In order to justify our claims, we present a thorough heuristic security analysis on our scheme and compare the computational cost and security attributes with the surveyed schemes.
1
Introduction
Authenticated key agreement protocol is essential for two or more specific entities to communicate securely over an open network (e.g. the Internet), in which the communication can be fully controlled by adversaries. The protocol must be properly designed in such a way that at the end of the protocol execution, both communicating parties can be assured of each other’s identity and agreed on an unique shared secret key (also known as session key) based on the information contributed equally by each party. Once the key agreement is successfully carried out, the derived session key can be used subsequently to create a confidential channel particularly for preserving data confidentiality and integrity. Therefore, an authenticated key agreement protocol should strictly prohibit other unauthenticated parties aside from the intended protocol participants from gaining access to the shared secret under any circumstances.
This work was supported by MIC of Korea, under ITRC support program supervised by IITA (IITA-2007-C1090- 0701-0026).
A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 170–182, 2008. c IFIP International Federation for Information Processing 2008
A Secure and Efficient Three-Pass Authenticated Key Agreement Protocol
171
Key agreement protocols can employ symmetric or/and asymmetric cryptography in its construction. Generally, symmetric protocols require a common secret key to be shared in prior between the communicating parties whereas asymmetric or public key-based protocols require the communicating entities to learn only specific authenticated public information of their peer (such as identity, public key, etc.), which is usually exchanged via certificates. This paper is concerned with two-party authenticated key agreement protocols in the asymmetric settings. Over the years, there has been overwhelming interest in the use of public keybased cryptography, mainly due to the employment of elliptic curve operations in constructing cryptographic key agreement protocols. However, as designing a secure and efficient protocol is far from being a simple task, many protocols have been proven to be fallible. Strangio [16], in 2005, has proposed an efficient two-party elliptic curve based key agreement protocol, namely ECKE1, which is believed to be secure at the first glance since the security attributes are well discussed in his work. Unfortunately, Wang et al. [18] have revealed a weakness in Strangio’s protocol recently. Specifically, they have presented a valid key compromise impersonation attack on it. Besides, Duraisamy et al. [8] have also pointed out a similar attack independently. To defeat the vulnerability of ECKE1, Wang et al. [18] and Strangio [17] have proposed their revised version of ECKE1, namely ECKE1N and ECKE1R respectively at the expense of a higher computational workload. In 2004, Popescu [14] has proposed another notable key agreement scheme, in which the author claimed such protocol to be secure and more efficient than the exisitng ones due to its low computational cost required at both communicating entities. However, in 2006, Yoon-Yoo [19] have subverted Popescu’s claim by exploring a series of cryptographic attacks which encompass a key-compromise impersonation attack, a reflection attack and a replay attack. Subsequently, Yoon-Yoo have proposed another improved scheme [19] in order to defeat these vulnerabilities. To justify their claims on the security of their protocol, they have demonstrated a detailed heuristic security analysis on it. In this paper, we point out that Yoon-Yoo’s improved scheme [19] does not seem secure when both ephemeral keys of a specific completed session are exposed to a passive adversary who only eavesdropped on the session. This compromise of session-specific secret information is regarded as one of the essential attacks captured by the extended Canetti-Krawczyk security model [12]. Based on the shortcoming, we propose another improved variant of Popescu’s protocol [14] and we claim that our protocol is able to achieve a stronger and higher sense of security and efficiency as compared to Yoon-Yoo’s scheme. The structure of this paper is organized as follows. In Section 2, we illustrate the basic concepts needed to evaluate the security properties of a key agreement protocol and define the elliptic curve as well as several hard cryptographic problems. In section 3, we revisit Yoon-Yoo’s improved scheme and illustrate its insecurity. We propose an efficient three-pass authenticated key agreement protocol and evaluate its security in sections 4 and 5 successively. In Section 6, we compare our scheme with
172
M.-H. Lim et al.
the other existing key agreement schemes in terms of computational efficiency and security. Lastly, we conclude this paper in Section 7.
2 2.1
Preliminaries Security Properties of Key Agreement Protocol
There are numerous security attributes that have been defined and discussed, specifically for the analysis of the key agreement protocols. The most fundamental property of a key agreement protocol is the passive attack resilience, that is, the protocol should be able to prevent the adversary from obtaining the session key or any other useful information (such as ephemeral keys) by merely eavesdropping on the protocol. On top of that, we also assume that the adversary has full control of the communications on the open network, such that the adversary is capable of intercepting, deleting, injecting, altering and replaying messages in any online instance of the key agreement protocol. These potential attacks has in fact led to the additional security properties: known session key security, perfect forward secrecy, key compromise impersonation resilience, unknown key-share resilience and key control resilience. Please refer to Blake-Wilson and Menezes’s definition of these security attributes [4,3] for an excellent overview. 2.2
Elliptic Curve Cryptography
The notion of elliptic curve cryptography was first introduced independently by Miller [13] and Koblitz [10]. Since then, numerous elliptic curve cryptosystems have been proposed and employed. The main attraction of it is that it allows much smaller parameters (e.g. key size) to be employed in order to achieve an equivalent level of security as compared to the traditional public-key cryptosystems such as RSA and DSA. Since an elliptic curve cryptosystem, that is mainly based on the intractability of Elliptic Curve Discrete Logarithm Problem (ECDLP), takes full exponential time, its resistance against the sub-exponential attack offers potential reductions in processing power and memory size which is essential in applications on constrained devices [15]. Let E(Fq ) be an elliptic curve of defined over a finite field Fq of characteristic p. The public elliptic curve domain parameters over Fq is defined as a 8-tuple (q, F R, S, a, b, P, n, h), where q is the prime order of the field, F R (field representation) indicates the representation used for the elements of Fq , S is the random seed for elliptic curve generation, the coefficients a, b ∈R Fq define the equation of elliptic curve E over Fq (y 2 = x3 + ax + b for p = q > 3, where 4a3 + 27b2 = 0), the base point P = (xp , yp ) in E(FQ ), the prime n is the order of P (n > 2160 ) and the cofactor h = E(FQ )/n, where E(FQ ) denotes the number of FQ -rational points on E. These parameters should be chosen appropriately to prevent the employment of any efficient algorithm from solving the Discrete Logarithm Problem (DLP) or the computational Diffie-Hellman Problem (CDHP) in the cyclic subgroup P [16].
A Secure and Efficient Three-Pass Authenticated Key Agreement Protocol
173
Since many cryptographic primitives base their security on the underlying assumptions in which the DLP and CDHP on some cyclic groups are intractable, our proposed key agreement protocol would not be exceptional. Our protocol also rests upon a few related conjectures before its security can be claimed. Now, we define several cryptographic problems which we will assume their hardness throughout this paper. Conjecture 1 (ECDLP). Let E(Fq ) and P be defined as above. The Elliptic Curve Discrete Logarithm Problem is said to be intractable if for any probablilistic polynomial time Turing Machine A with the knowledge of Y = xP , where Y ∈ P , the probability of success in computing logP Y = x ∈R ecdlp [1, n − 1], denoted as SuccP,E(Fq ) (A) is negligible: ⎡
⎤ x ∈R [1, n − 1]; ecdlp ⎦ ε, Y = xP ; SuccP,E(Fq ) (A) = P r ⎣ A(n, P, Y ) = logP Y where the probability is taken over the coin tosses of A for any random choice of x. Conjecture 2. (ECCDHP). Let E(Fq ) and P be defined as above. The Elliptic Curve Computational Diffie-Hellman Problem is said to be intractable if for any probablilistic polynomial time Turing Machine A with the knowledge of R = rP and S = sP , where R, S ∈ P , the probability of success in computing rsP , denoted as Succeccdhp P,E(Fq ) (A) is negligible: ⎡
⎤ r, s ∈R [1, n − 1]; eccdhp SuccP,E(Fq ) (A) = P r ⎣ R = rP ; S = sP ; ⎦ ε, A(n, P, R, S) = rsP where the probability is taken over the coin tosses of A for any random choices of r and s. Conjecture 3 (ECDDHP). Let E(Fq ) and P be defined as above. The Elliptic Curve Decisional Diffie-Hellman Problem is said to be intractable if for any probablilistic polynomial time Turing Machine A with the knowledge of R = rP and S = sP , where R, S ∈ P , the probability of success in distinguishing the two probability distributions (P, R, S, Q) and (P, R, S, T ), ecddhp denoted as SuccP,E(Fq ) (A) is negligible: ⎡
⎤ r, s, t ∈R [1, n − 1]; ⎢ R = rP ; S = sP ; Q = rsP ; T = tP ; ⎥ ⎢ ⎥ 1 ecddhp ⎥ + ε, b ∈R [0, 1]; SuccP,E(Fq ) (A) = P r ⎢ ⎢ ⎥ 2 ⎣ ⎦ if(b = 0), U = T, else U = Q; A(n, P, R, S, U ) = b where the probability is taken over the coin tosses of A for any random choices of r, s and t.
174
3
M.-H. Lim et al.
Revisiting Yoon-Yoo’s Key Agreement Protocol
This section reviews an improved variant of Popescu’s protocol due to Yoon and Yoo [19]. Figure 1 gives a clear description of this three-pass protocol. The two communication parties are specified to be A (initiator) and B (responder), with their long term public/private key pairs (YA /sA ) and (YB /sB ) (where YA = sA P and YB = sB P ), and their chosen ephemeral secret key rA and rB respectively. Consider that the static public keys are exchanged via certificates, which are generally issued by a Certification Authority (CA) binding each entity’s identity (IDA /IDB ) to his/her long term public key (YA /YB ). Once the message exchange is completed, the session key, KAB is computed as H(IDA , IDB , xVA , xVB , xK2 , xK1 ), where K1 = rA rB sA P and K2 = rA rB sB P are the shared secrets. The conjectured security attributes of this protocol are known key security, perfect forward secrecy, key compromise impersonation resilience, session key security, reflection resilience and replay resilience.
A
B
(sA , YA )
(sB , YB )
rA ∈R [1, n − 1] VA = rA P QA = rA YA VA , QA −−−−−−−−−→
rB ∈R [1, n − 1] K1 = rB QA = rA rB sA P K2 = rB sB VA = rB rA sB P VB = rB P QB = rB YB
eB = H(IDA , IDB , xVB , xK1 , xK2 )
CB = e−1 B (sB − xVB rB ) mod q
K1 = rA sA VB = rA rB sA P
VB , QB , CB ← −−−−−−−−−− −
K2 = rA QB = rA rB sB P
eB = H(IDA , IDB , xVB , xK1 , xK2 )
Abort if VB = x−1 V (YB P − eB CB P ) B
eA = H(IDA , IDB , xVA , xK2 , xK1 )
CA =
e−1 A (sA
− xVA rA ) mod q
CA − −−−−−−−− →
eA = H(IDA , IDB , xVA , xK2 , xK1 )
Abort if VA = x−1 V (YA − eA CA P ) A
KAB = H(IDA , IDB , xVA , xVB , xK2 , xK1 )
Fig. 1. Yoon-Yoo’s Improved Variant of Popescu’s Key Agreement Protocol
A Secure and Efficient Three-Pass Authenticated Key Agreement Protocol
3.1
175
The Insecurity of Yoon-Yoo’s Scheme in the Extended Canetti-Krawczyk Security Model
Recently, LaMacchia et al. [12] have extended the Canetti-Krawczyk security model [6] for authenticated key exchange to achieve a stronger sense of security by capturing all possible attacks resulting from ephemeral and long-term data compromise. Specifically, they view the message exchange and the computation of a common session key as a function of at least four pieces of secret information, which encompass their own long-term and ephemeral secret keys and the other party’s static and ephemeral secret keys. Of these four pieces of information, the adversary in their model is allowed to reveal any subset of the four which does not contain both the long-term and ephemeral secrets of one of the parties that would trivially break the scheme. For passive sessions where the adversary has only the eavesdropping ability (without active intervention in the session establishment), the adversary may reveal both ephemeral keys, both long-term secret keys, or one of each from the two different parties once the session is established. For example, as defined by Krawczyk [11], the weak Perfect Forward Secrecy (wPFS) is concerned with the security against revelation of both the long term keys after the passive session is completed. For active sessions where the adversary may forge the communication of one of the parties during protocol execution, the adversary is allowed to reveal a long-term secret key or ephemeral secret key of the other party. This is because if the adversary can also reveal the long term key of the same party, then the adversary can trivially compute the session key. As pointed out by Krawczyk [11], this is the unattainable full Perfect Forward Secrecy property for two-pass AKE protocol. By considering only passive sessions in this part of our analysis, we now prove that Yoon-Yoo’s scheme is insecure under the extended Canetti-Krawczyk security model. As claimed by Yoon and Yoo, their improved protocol indeed provides weak perfect forward secrecy as the compromise of both long term keys of A and B (sA , sB ) would not expose any of the established session keys to the adversary. Also, it is easy to see that the security of the session key remains valid even if we consider the exposure of the static key and ephemeral key, one of each from the two different parties, (sA , rB ) or (sB , rA ) after the session completes. The revelations in these two cases truly prevent the adversary from reconstructing both the shared secrets K1 and K2 of their protocol. However, the analysis does not end here. Notice that if both the ephemeral secrets rA and rB are revealed to the passive adversary, she would then be able to recompute the shared secrets K1 = rB QA = rA rB sA P , K2 = rA QB = rA rB sB P and reconstruct the session key without needing to learn any of the static private keys sA or sB . In fact, this leakage can possibly happen in practical scenario as the ephemeral secret information may be stored in insecure memory or the random-number generator of a party may be corrupted. As a result, the adversary is able to gain access to the ephemeral data and recompute the session key, which renders the specific session insecure.
176
4
M.-H. Lim et al.
A Secure and Efficient Authenticated Key Agreement Protocol
Now we propose a secure and efficient authenticated key agreement protocol. As usual, the two communicating parties are A and B with their long term public/private key pairs (YA /sA ) and (YB /sB ) respectively. In this protocol, we employ two independent one-way collision-free hash functions, namely H1 : {0, 1}∗ → Fq and H2 : {0, 1}∗ → {0, 1}k , where k is the security parameter. Assume that the public keys are exchanged via certificates. Our key agreement protocol can be performed as follows: 1. Initially A selects a random rA ∈R [1, n − 1] and computes TA = rA YA .
(1)
In the similar manner, B selects a random rB ∈R [1, n − 1] and computes TB = rB YB .
(2)
Then, A, in the role of the initiator, initiates the key agreement process by sending TA to B. 2. Upon receiving A’s message, B computes accordingly K = hrB sB TA = hrA rB sA sB P,
(3)
eB = H1 (IDA , IDB , xTA , xTB , xK ),
(4)
zB = rB + eB sB mod q,
(5)
where xTA denotes the x-coordinate of TA , xTB denotes the x-coordinate of TB , xK denotes the x-coordinate of K and h denotes the cofactor. Finally, B, in the role of the responder, sends the triple (TB , zB ) to A. 3. On reception of B’s message, A calculates
and verifies whether
K = hrA sA TB = hrA rB sA sB P,
(6)
eB = H1 (IDA , IDB , xTA , xTB , xK ),
(7)
TB = zB P − eB YB
(8)
?
holds. If the verification fails, A terminates the execution. Otherwise, A proceeds to compute eA = H1 (IDA , IDB , xTB , xTA , xK ),
(9)
zA = rA + eA sA mod q
(10)
accordingly and then sends zA to B.
A Secure and Efficient Three-Pass Authenticated Key Agreement Protocol
4. B computes
177
eA = H1 (IDA , IDB , xTB , xTA , xK ),
(11)
TA = zA P − eA YA
(12)
and checks whether
?
holds. If the verification fails, A terminates the execution. Otherwise, B can be assured of A’s identity. 5. At last, both A and B terminate and agree on the common session key which is computed as KAB = H2 (IDA , IDB , xTA , xTB , zA , zB , xK ).
5
(13)
Security Analysis
In this section, we scrutinize our proposed key agreement protocol in detail so as to ensure that our protocol is able to achieve the desired security attributes of a key agreement protocol and also able to resist against the known cryptographic attacks. Known session key security (KSK-S). As shown in our protocol description, the session key is derived from the ephemeral keys (rA , rB ) of the specific session and the long term keys (sA , sB ) of the protocol entities. This would result in distinct independent session key in each protocol execution. On top of that, a one-way collision-resistant cryptographic hash function is used to derive the session key. Thus, obtaining any other session keys would not benefit the adversary in mounting a successful attack against a protocol run without the information set (rA , sA ) or (rB , sB ) which is required in the computation of the shared secret K. Therefore, based on the conjectures that we have defined in Section 2, we claim that the knowledge of some previous session keys would not allow the adversary to gain any advantage in deriving any future and other previous session keys. Weak Perfect Forward secrecy (wPFS). Suppose that both A and B’s long term private key sA and sB have been exposed. However, the adversary, with the eavesdropped information (TA , TB , zA , zB ) of any particular session, would not be able to recover the respective established session key since the adversary does not know the involved ephemeral private key rA or rB which are needed in the computation of the shared secret K. And also, the intractability of ECCDHP has significantly thwarted the adversary’s attempt in computing K by using merely TA and TB . Hence, we claim that our enhanced protocol enjoys weak perfect forward secrecy. Key-Compromise Impersonation Resilience (KCI-R). Suppose that A’s long term private key sA has been compromised and instead of directly impersonating A, the adversary now wishes to impersonate B in order to establish a session with A. However, the adversary is unable to compute the shared secret K with the available information (sA , rB , TA ) since the required information set is (rA , sA , TB ) or (rB , sB , TA ). Even if the adversary
178
M.-H. Lim et al.
is able to compute K by some means and subsequently eB , she would again face difficulty in computing zB in which it is impossible without the knowledge of sB . Hence, the adversary is significantly prevented from launching a successful KCI attack against our protocol. Generally, the same situation will result when the long term key sB is compromised (the adversary would impersonate A in this case and her effort will be foiled in computing K and zA ) as our key agreement protocol is symmetric. As a result, we claim that this protocol is able to withstand the KCI attack under all circumstances. Key Replicating Resilience (KR-R). The key replicating attack was first introduced by Krawczyk [11] where the illustration of it involves oracle queries described in Bellare and Rogaway’s random oracle model [1,2]. This attack, if successfully carried out by the adversary, would force the establishment of a session, S (other than the Test session or its matching session) to agree on a same session key as the Test session, by means of intercepting and altering the message from both communicating parties during transmission. Since the Test session and S are non-matching, the adversary may issue a Reveal query to the oracle associated with S and she can then distinguish whether the Test session key is real or random. (See [5,11] for more details on this attack.) Notice that the message integrity of TA and TB has been guaranteed by having each party to calculate the hash function eA and eB which will be bound to zA and zB respectively. Since the adversary has no idea in forging zA or zB along with TA or TB in such a way that the verification steps in Eqs. (8) or (12) would yield a positive result, she would not be able to force the establishment of non matching sessions to possess a common session key. As a result, if the adversary reveals A’s session key, she would not be able to guess B’s session key correctly with non-negligible probability and vice versa. On top of that, A and B also include the session identifiers (TA , TB , zA , zB ) in the key derivation function in Eq. (13) so as to fully eliminate the possibility of this attack [7]. Therefore, we claim that our protocol is secure against the key replicating attack. Unknown Key-Share Resilience (UKS-R). It is apparent that an adversary masquerading as another legal entity E cannot deceive A into believing that messages received from E are originated from B, even if the adversary could obtain E’s certificate. Suppose that in a protocol run, the adversary intercepts the second flow of message transmission, erases B’s certificate and attaches E’s certificate to the message, and sends (TB , zB ) along with E’s certificate to A. After computing eE = H1 (IDA , IDE , xTA , xTB , xK )
(14)
A would eventually terminate the protocol execution as she verifies that TB = zB P − eE YE ?
(15)
does not hold. As a result, the attack attempt fails. It is easy to see that this attack does not work on tricking B in the similar manner by attaching E’s certificate to A’s message. In a nutshell, we speculate that the inclusion
A Secure and Efficient Three-Pass Authenticated Key Agreement Protocol
179
of A and B’ identity (IDA and IDB ) in the hash function eA and eB along with the employment of the sender’s public key in the verification steps in Eqs. (8) and (12) would significantly prevent the adversary from launching the unknown key-share attack on our proposed protocol. Replay Resilience (R-R). In any protocol run, an adversary may attempt to deceive a legitimate participant through retransmitting the eavesdropped information of the impersonated entity from a previous protocol execution. Although the adversary might be unable to compute the session key at the end of the protocol run, her attack is still considered successful if she manage to trick the protocol entity to complete a session with her, believing that the adversary is indeed the impersonated party. In this replay analysis, we reasonably assume that the prime order n of point P is arbitrarily large such that the probability of a protocol entity selecting the same ephemeral key (rA , rB ∈ [1, n − 1]) in two different sessions is negligible. Consider a situation where the adversary (masquerading as A) replays A’s first message (TA(old) ) from a previous protocol run between A and B. After B has sent her a fresh (TB , zB ) in the second message flow, the adversary would abort since she could not produce (by means of forging or replaying) zA corresponding to TB . Notice that the same replay prevention works in the reverse situation where B’s message is replayed. The adversary would fail eventually in generating zB corresponding to the fresh TA . Hence, we claim that message replay in our protocol execution can always be detected by both A and B. Key Control Resilience (KC-R). Obviously in our protocol, no single protocol participant could force the session key to a predetermined or predicted value since the session key KAB is computed from the shared secret K which consists of both A and B’s long term and ephemeral keys. Besides all these security attributes, we also speculate that our protocol is able to overcome the security flaw of Yoon-Yoo’s protocol and achieves a stronger sense of security as specified in LaMacchia’s model. Note that in our protocol, the only way to compute the shared secret K = rA rB sA sB P (for reconstructing the session key) is to employ both ephemeral key and secret key of the same protocol participant, along with the other participant’s public information TA or TB . Thus, this fully prevents a passive adversary to recompute the established session key by revealing any other subset of the four secret keys (rA , sA , rB , sB ).
6
Comparison of Elliptic Curve Based Key Agreement Schemes
The computational efficiency of elliptic curve based key agreement schemes mainly relies on the number of major operations (elliptic curve scalar point multiplication and point addition) that is required to be performed by each protocol entity in a protocol run. In other words, while preserving the desired security features, one may need to minimize the number of these operations in ensuring the performance of key agreement protocol.
180
M.-H. Lim et al. Table 1. Comparison of Online Computational Efficiency Without With precomputations precomputations Protocol
Pass PSM PA FM
H
PSM PA FM
H
Popescu [14]
2
3
0
0
1
1
0
0
0
ECKE1 [16]
2
3
1
4
3
2
1
2
2
ECKE1N [18]
2
4
2
2
2
3
2
0
1
ECKE1R [17]
3
4
1
3
3
3
1
1
2
Yoon-Yoo [19]
3
6
1
5
3
4
1
2
3
Our Protocol
3
4
1
3
2
3
1
1
2
Table 1 summarizes the comparison of the online computational efficiency between the existing elliptic curve based key agreement schemes with our proposed scheme. Note that we do not consider pairing based schemes in our comparison work as the computation of a paring operation is equivalent to several times of an elliptic curve point scalar multiplication, which would turn out to be trivially inefficient. Moreover, we record the online computational operations such as point scalar multiplications (PSM), point addition/point subtraction (PA), field multiplication (FM) and hash function (H) with and without precomputations. For ease of comparison, we treat all the key derivation functions employed in the surveyed protocols as hash functions. And also, among the surveyed schemes, Popescu [14] and Yoon-Yoo [19] have ignored the cofactor in describing their protocol which is required to ensure that the point sent is a member of the prime order subgroup. To illustrate a fairer comparison, we assume that the shared secret(s) in their schemes are computed as a function of the cofactor h, in which we replace K = rA rB P with K = hrA rB P in Popescu’s protocol and in Yoon-Yoo’s protocol, we replace K1 = rA rB sA P with K1 = hrA rB sA P , K2 = rA rB sB P with K2 = hrA rB sB P in this efficiency analysis. Table 2 illustrates the comparison of security properties offered by the surveyed schemes with our proposed scheme. EE basically refers to the secuity against the compromise of both parties’ ephemeral secret for a passive completed session and ES refers to the similar security except that for the ephemeral and the static key, one of each from the two different parties is exposed. From Table 1, it is apparent that the two-pass key agreement protocols require lesser computational requirements than the three-pass schemes do. Despite being more efficient, all of them except Popescu’s scheme exchange unauthenticated messages, which means that private keys are not used in the message construction. This has led to session key establishment without authenticating the partner’s identity in prior. And also, as time synchronization is not always feasible, two-pass protocols can hardly withstand the replay attack even though the transmitted message is signed with the long term private key (since the signed message can also be replayed), as illustrated in Table 2. Basically, the inherent demerits of two-pass protocol can be successfully overcome by the three-pass schemes, where Yoon-Yoo’s scheme [19] (except for the EE attribute), Strangio’s revised scheme ECKE1R [17] and our scheme offer
A Secure and Efficient Three-Pass Authenticated Key Agreement Protocol
181
Table 2. Comparison of Conjectured Security Attributes Protocol
ES
Popescu [14]
KSK-S wPFS KCI-R KR-R UKS-R R-R KC-R EE √ √ √ √ √ X X X √ √ √ √ √ √ ECKE1 [16] X X √ √ √ √ √ √ √ ECKE1N [18] X √ √ √ √ √ √ √ √ ECKE1R [17] √ √ √ √ √ √ √ Yoon-Yoo [19] X √ √ √ √ √ √ √ √ Our Protocol
X √ √ √ √ √
more attractive security attributes than the two-pass protocols do. Comparing to the existing three-pass schemes without precomputations, our protocol appears to be the most efficient as our protocol only requires each participant to perform 4 point scalar multiplications, 1 point addition, 3 field multiplications and 2 hash functions online in order to establish a secure session key, while Yoon-Yoo’s scheme requires 6 point scalar multiplications, 1 point addition, 5 field multiplications and 3 hash functions, and ECKE1R requires 4 point scalar multiplications, 1 point addition, 3 field multiplications and 3 hash functions to be computed by each party in a protocol execution. Even with precomputation where extra storage requirement is incurred, our protocol achieves the same online computational efficiency as ECKE1R as it requires only the minimum computational effort for a party to compute 3 point scalar multiplications, 1 point addition, 1 field multiplication and 2 hash functions in a protocol run.
7
Conclusion
In conclusion, we have revealed the weakness of Yoon-Yoo’s protocol in providing security as the ephemeral secret of both communicating parties are disclosed. By aiming to eliminate this security flaw, we have proposed another improved variant of Popescu’s authenticated key agreement protocol. Besides that, we have evaluated the heuristic security of the protocol thoroughly to ensure that the analyzed security features are all offered. Furthermore, we have also compared our proposed scheme with several existing elliptic curve public-key key agreement schemes in terms of computational efficiency and security attributes. As a result, our protocol turns out to be a more secure and efficient improved variant of Popescu’s key agreement scheme as compared to Yoon-Yoo’s protocol.
References 1. Bellare, M., Rogaway, P.: Entity Authentication and Key Distribution. In: Stinson, D.R. (ed.) CRYPTO 1993. LNCS, vol. 773, pp. 110–125. Springer, Heidelberg (1994) 2. Bellare, M., Rogaway, P.: Provably Secure Session Key Distribution: The Three Party Case. In: 27th ACM Symposium on the Theory of Computing - ACM STOC, pp. 57–66 (1995)
182
M.-H. Lim et al.
3. Blake-Wilson, S., Johnson, D., Menezes, A.: Key Agreement Protocols and their Security Analysis. In: Darnell, M.J. (ed.) Cryptography and Coding 1997. LNCS, vol. 1355, pp. 30–45. Springer, Heidelberg (1997) 4. Blake-Wilson, S., Menezes, A.: Authenticated Diffie-Hellman key Agreement Protocols. In: Tavares, S., Meijer, H. (eds.) SAC 1998. LNCS, vol. 1556, pp. 339–361. Springer, Heidelberg (1999) 5. Boyd, C., Choo, K.-K.R.: Security of Two-Party Identity-Based Key Agreement. In: Dawson, E., Vaudenay, S. (eds.) Mycrypt 2005. LNCS, vol. 3715, pp. 229–243. Springer, Heidelberg (2005) 6. Canetti, R., Krawczyk, H.: Analysis of Key-Exchange Protocols and Their Use for Building Secure Channels. In: Pfitzmann, B. (ed.) EUROCRYPT 2001. LNCS, vol. 2045, pp. 453–474. Springer, Heidelberg (2001) 7. Choo, K.-K.R., Boyd, C., Hitchcock, Y.: On Session Key Construction in ProvablySecure Key Establishment Protocols. In: Dawson, E., Vaudenay, S. (eds.) Mycrypt 2005. LNCS, vol. 3715, pp. 116–131. Springer, Heidelberg (2005) 8. Duraisamy, R., Salcic, Z., Strangio, M.A., Morales-Sandoval, M.: Supporting Symmetric 128-bit AES in Networked Embedded Systems: An Elliptic Curve Key Establishment Protocol-on-Chip. EURASIP Journal of Embedded Systems 2007(9) (2007) 9. Diffie, W., Hellman, M.: New Directions in Cryptography. IEEE Transactions on Information Theory 22(6), 644–654 (1976) 10. Koblitz, N.: Elliptic Curve Cryptosystems. Mathematics of Computation 48, 203– 209 (1987) 11. Krawczyk, H.: HMQV: A High-Performance Secure Diffie-Hellman Protocol. In: Shoup, V. (ed.) CRYPTO 2005. LNCS, vol. 3621, pp. 546–566. Springer, Heidelberg (2005) 12. LaMacchia, B.A., Lauter, K., Mityagin, A.: Stronger Security of Authenticated key Exchange. In: Susilo, W., Liu, J.K., Mu, Y. (eds.) ProvSec 2007. LNCS, vol. 4784, pp. 1–16. Springer, Heidelberg (2007) 13. Miller, V.S.: Use of Elliptic Curves in Cryptography. In: Williams, H.C. (ed.) CRYPTO 1985. LNCS, vol. 218, pp. 417–426. Springer, Heidelberg (1986) 14. Popescu, C.: A Secure Authenticated Key Agreement Protocol. In: Proceedings of the 12th IEEE Mediterranean (MELECON 2004), vol. 2, pp. 783–786 (2004) 15. Raju, G.V.S., Akbani, R.: Elliptic Curve Cryptosystem and its Applications. In: Proceedings of the 2003 IEEE International Conference on Systems. Man and Cybernetics (IEEE-SMC), vol. 2, pp. 1540–1543 (2003) 16. Strangio, M.A.: Efficient Diffie-Hellmann Two-Party Key Agreement Protocols based on Elliptic Curves. In: Proceedings of the 2005 ACM Symposium on Applied Computing, pp. 324–331 (2005) 17. Strangio, M.A.: Revisiting an Efficient Elliptic Curve Key Agreement Protocol. Cryptology ePrint Archive: Report 081 (2007) 18. Wang, S., Cao, Z., Strangio, M.A., Wang, L.: Cryptanalysis of an Effcient DiffeHellman Key Agreement Protocol based on Elliptic Curves. Cryptology ePrint Archive: Report 026 (2006) 19. Yoon, E.-J., Yoo, K.-Y.: An Improved Popescu’s Authenticated Key Agreement Protocol. In: Gavrilova, M.L., Gervasi, O., Kumar, V., Tan, C.J.K., Taniar, D., Laganá, A., Mun, Y., Choo, H. (eds.) ICCSA 2006. LNCS, vol. 3984, pp. 276–283. Springer, Heidelberg (2006)
On the Robustness of Complex Networks by Using the Algebraic Connectivity A. Jamakovic and P. Van Mieghem Delft University of Technology Electrical Engineering, Mathematics and Computer Science P.O. Box 5031, 2600 GA Delft, The Netherlands [email protected], [email protected]
Abstract. The second smallest eigenvalue of the Laplacian matrix, also known as the algebraic connectivity, plays a special role for the robustness of networks since it measures the extent to which it is difficult to cut the network into independent components. In this paper we study the behavior of the algebraic connectivity in a well-known complex network model, the Erd˝os-R´enyi random graph. We estimate analytically the mean and the variance of the algebraic connectivity by approximating it with the minimum nodal degree. The resulting estimate improves a known expression for the asymptotic behavior of the algebraic connectivity [18]. Simulations emphasize the accuracy of the analytical estimation, also for small graph sizes. Furthermore, we study the algebraic connectivity in relation to the graph’s robustness to node and link failures, i.e. the number of nodes and links that have to be removed in order to disconnect a graph. These two measures are called the node and the link connectivity. Extensive simulations show that the node and the link connectivity converge to a distribution identical to that of the minimal nodal degree, already at small graph sizes. This makes the minimal nodal degree a valuable estimate of the number of nodes or links whose deletion results into disconnected random graph. Moreover, the algebraic connectivity increases with the increasing node and link connectivity, justifies the correctness of our definition that the algebraic connectivity is a measure of the robustness in complex networks.
1 Introduction Complex networks describe a wide range of natural and man-made systems, e.g. the Internet, the WWW, networks of food webs, social acquaintances, paper citations, as well as many others [5,11,28]. Although complex systems are extremely different in their function, a proper knowledge of their topology is required to thoroughly understand and predict the overall system performance. For example, in computer networks, performance and scalability of protocols and applications, robustness to different types of perturbations (such as failures and attacks), all depend on the network topology. Consequently, network topology analysis, primarily aiming at non-trivial topological properties, has resulted in the definition of a variety of practically important metrics, capable of quantitatively characterizing certain topological aspects of the studied systems [2,24]. A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 183–194, 2008. c IFIP International Federation for Information Processing 2008
184
A. Jamakovic and P. Van Mieghem
In this paper, we rely on a spectral metric, i.e. the second smallest Laplacian eigenvalue, often also referred to as the algebraic connectivity [13]. Fiedler [13] showed that the algebraic connectivity plays a special role: 1) a graph is disconnected if and only if the algebraic connectivity is zero, 2) the multiplicity of zero as an eigenvalue of a graph is equal to the number of disconnected components. There is a vast literature on the algebraic connectivity; see e.g. [9,10,19,20,22] for books and surveys and e.g. [21,23] for applications to several difficult problems in graph theory. However, for the purpose of this work, the most important is its application to the robustness of a graph: 1) the larger the algebraic connectivity is, the more difficult it is to cut a graph into independent components, 2) its classical upper bound in terms of the node and the link connectivity provides worst case robustness to node and link failures [13]. As mentioned in [6], the second means that for every node or link connectivity, there are infinitely many graphs for which the algebraic connectivity is not a sharp lower bound. The node and the link connectivity are important for the robustness because they quantify the extent to which a graph can accommodate to node and link failures. Hence, it is worth investigating the relationship between those three connectivity metrics. Traditionally, the topology of complex networks has been modeled as Erd˝os-R´enyi random graphs. However, the growing interest in complex networks has prompted many scientists to propose other, more complex models such as ”small world” [27] and ”scalefree” [4] networks. Despite the fact that various authors have observed that real-world networks have power-law degree distribution, the Erd˝os-R´enyi random graph still has many modeling applications. The modeling of wireless ad-hoc and sensor-networks, peer-to-peer networks like Gnutella [8] and, generally, overlay-networks, provide wellknown examples [14]. Besides that, for the Erd˝os-R´enyi random graph, most of the interesting properties can be analytically expressed. This is in contrast to most other graphs where computations are hardly possible. Taking the above arguments into consideration, in the first part of this work we study the behavior of algebraic connectivity in the Erd˝os-R´enyi random graph. By using the basic approximation that the algebraic connectivity equals the minimum nodal degree, we estimate the mean and the variance of the algebraic connectivity. Hereby we improve an already existing theorem concerning its behavior [18]. In the second part, we study the relationship between the algebraic connectivity and graph’s robustness to node and link failures. Extensive simulations show that the algebraic connectivity increases with the increasing node and link connectivity, implying the correctness of our definition that the algebraic connectivity is a measure of the robustness in complex networks. The paper is organized as follows. In Section 3, we present the theoretical background on the algebraic connectivity, and the node and the link connectivity. In Section 3, we analytically derive the estimation of the mean and the variance of the algebraic connectivity for the Erd˝os-R´enyi model, which we verify by simulations. Prior to analytical derivation, we describe in Section 3.1 the common topological properties that are observed in the random graph of Erd˝os-R´enyi, how they are measured and why they are believed to be important in the context of this paper. In Section 4, we present additional simulation results: by exploring the relation between the algebraic connectivity, and the node and the link connectivity, the existing relations for the connected Erd˝os-R´enyi graph are refined. Section 5 summarizes our main results.
On the Robustness of Complex Networks by Using the Algebraic Connectivity
185
2 Background A graph theoretic approach is used to model the topology of a complex system as a network with a collection of nodes N and a collection of links L that connect pairs of nodes. A network is represented as an undirected graph G = (N , L) consisting of N = |N | nodes and L = |L| links, respectively. The Laplacian matrix of a graph G with N nodes is an N × N matrix Q = Δ − A where Δ = diag(Di ). Di denotes the nodal degree of the node i ∈ N and A is the adjacency matrix of G. The eigenvalues of Q are called the Laplacian eigenvalues. The Laplacian eigenvalues λN = 0 ≤ λN −1 ≤ ... ≤ λ1 are all real and nonnegative [21]. The second smallest Laplacian eigenvalue λN −1 , also known as the algebraic connectivity, was first studied by Fiedler in [13]. Fiedler showed that the algebraic connectivity is very important for the classical connectivity, a basic measure of the robustness of a graph G: 1) the algebraic connectivity is only equal to zero if G is disconnected, 2) the multiplicity of zero as an eigenvalue of Q is equal to the number of disconnected components of G. In [13], Fiedler also proved the following upper bound on the algebraic connectivity λN −1 in terms of the minimum nodal degree Dmin of a graph G: 0 ≤ λN −1 ≤ NN−1 Dmin . In addition, we introduce two connectivity characteristics of a graph G: the link connectivity, i.e. the minimal number of links whose removal results in losing connectivity, is denoted by κL and the node connectivity, which is defined analogously (nodes together with adjacent links are removed) is denoted by κN . The following inequality in terms of the node connectivity κN (and obviously the link connectivity κL ) is to be found in [13]: λN −1 ≤ κN . Hence, the minimum nodal degree Dmin of an incomplete1 graph G is an upper bound on both λN −1 as well as κN and κL . If κN = κL = Dmin , we say that the connectivity of a graph is optimal.
3 Algebraic Connectivity in Random Graph of Erd˝os-R´enyi In this section we give an analytical estimate of the algebraic connectivity in the Erd˝osR´enyi random graph. The analytical estimate relies on the equality with the minimum nodal degree. This approximation is verified by a comprehensive set of simulations, presented in Subsection 3.4. Prior to analyzing the minimum nodal degree in Subsection 3.2, we give some details on the Erd˝os-R´enyi random graph and the corresponding theorems. 3.1 Random Graph of Erd˝os-R´enyi The random graph as proposed by Erd˝os-R´enyi [12] is a well-known model to describe a complex network. The most frequently occurring realization of this model is Gp (N ), where N is the number of nodes and p is the probability of having a link between any two nodes (or shortly the link probability). In fact, Gp (N ) is the ensemble of all such graphs in which the links are chosen independently and the total number of links is on average equal to pLmax , where Lmax = N2 is the maximum possible number of links. 1
The node connectivity κN of a complete graph KN is λN−1 (KN ) = N > κN (KN ) = N −1.
186
A. Jamakovic and P. Van Mieghem
Many properties of the random graph can be determined asymptotically, as was shown by Erd˝os-R´enyi in the series of papers in the 1960s and later by Bollobas in [6]. For example, for a random graph to be connected there must hold, for large N , that p ≥ logNN ≡ pc . Moreover, the probability that a random graph for large N is −p(N −1) connected, equals Pr[Gp (N ) = connected] e−N e [26]. Then, the probability that the node connectivity κN equals the link κL connectivity, which in turn equals the minimum nodal degree Dmin , approaches 1 as N approaches infinity or that Pr[κN = κL = Dmin ] → 1 as N → ∞ is also proved in [6] and holds without any restriction on p. This was also shown by Bollob´as and Thomason in [7]. On the other hand, the asymptotic behavior of the algebraic connectivity in the Erd˝os-R´enyi random graph Gp (N ) is proved by Juh¯az in [18]: For any ε > 0, 1 λN −1 = pN + o N 2 +ε (1) where the algebraic connectivity converges in probability as N → ∞. 3.2 Minimum Nodal Degree in Random Graph of Erd˝os-R´enyi In Gp (N ) each node i has a degree Di that is binomially distributed. Before proceeding, we first need to show that degrees in the sequence {Di }1≤i≤N are almost independent random variables. In any graph N i=1 Di = 2L holds, thus degrees in the sequence {Di }1≤i≤N are not independent. However, if N is large enough, Di and Dj are almost independent for i = j and we can assume that all Di are almost i.i.d. binomially distributed (see also [6, p. 60]). The following Lemma quantifies this weak dependence: Lemma 1. The correlation coefficient of the degree Di and Dj of two random nodes i and j in Gp (N ) for 0 < p < 1 is Cov [Di , Dj ] 1 ρ (Di , Dj ) = = . N −1 Var [Di ] Var [Dj ] Proof. See Appendix A of [16]. For large N and constant p, independent of N , the normalized i.i.d. binomially distributed sequence {Di∗ }1≤i≤N of all degrees in Gp (N ) tends to be Gaussian distributed. The minimum of the sequence {Di∗ }1≤i≤N possesses the distribution Pr[ min Di∗ ≤ x] = 1 − 1≤i≤N
N
Pr[Di∗ > x] = 1 − (Pr[Di∗ > x]) . N
i=1
After considering the limiting process of the minimum of a set {Di∗ }1≤i≤N when N → ∞, we derive [16] the appropriate solution
2 −Y − 2 log N + log 2π log N 2π ∗ √ Dmin = 2 log N
On the Robustness of Complex Networks by Using the Algebraic Connectivity
187
∗ where Y is a Gumbel random variable [26]. With Dmin = σ[D].Dmin + E[D] = ∗ (N − 1)p(1 − p).Dmin + p(N − 1), we obtain
⎞ ⎛ N2 2π log 2π ⎟ ⎜ Y + 2 log N − log ⎟. √ Dmin = p(N − 1) − (N − 1)p(1 − p) ⎜ ⎝ ⎠ 2 log N
Finally, let Dmin (p) denote the minimum degree in Gp (N ). Since the complement of Gp (N ) is G1−p (N ), there holds that Dmin (p) = N − 1 − Dmax (1 − p) . The law of Dmax has been derived by Bollobas [6, Corollary 3.4 (p. 65)] via another method. Using the above relation, Bollobas’ results precisely agrees with ours. 3.3 Analytical Approximation for Algebraic Connectivity in Random Graph of Erd˝os-R´enyi In Section 2 we saw that λN −1 ≤ NN−1 Dmin . Our basic approximation is λN −1 Dmin for large N . A comprehensive set of simulation results, presented in Subsection 3.4, supports the quality of this assumption. With this approximation we arrive, for large N , at λN −1 p(N − 1) − 2p(1 − p)(N − 1) log N (N − 1)p(1 − p) N2 + log 2π log 2 log N 2π (N − 1)p(1 − p) − Y. (2) 2 log N By taking the expectation on both sides and taking into account that the mean of a Gumbel random variable E[Y ] = γ = 0.5772..., our estimate of the mean of the algebraic connectivity in Gp (N ) becomes, for large N and constant p, E[λN −1 ] p(N − 1) − 2p(1 − p)(N − 1) log N (N − 1)p(1 − p) N2 + log 2π log 2 log N 2π (N − 1)p(1 − p) − γ. (3) 2 log N Similarly, by taking into account that V ar[Y ] = algebraic connectivity in Gp (N ) is V ar[λN −1 ] =
π2 6 ,
the estimate of the variance of the
(N − 1)p(1 − p) π 2 . 2 log N 6
(4)
188
A. Jamakovic and P. Van Mieghem
160 140 120
eq (1) for N = 200 eq (1) for N = 400 eq (1) for N = 800 eq(3) + eq(5) for N = 200 eq(3) + eq(5) for N = 400 eq(3) + eq(5) for N = 800
λN−1
100 80 60 40 20 0
4
8
12 α = p / pc
16
20
Fig. 1. A comparison between the estimation of the mean (3) as well as the standard deviation (5), plotted in lines and error bars, and the theorem of Juh¯az (1), plotted in markers, for the algebraic connectivity λN−1 as a function of α = p/pc in the Erd˝os-R´enyi random graph Gp (N ) with N = 200, 400 and 800 nodes
An interesting observation is that the standard deviation N σ [λN −1 ] = V ar[λN −1 ] = O log N
(5)
is much smaller than the mean (3). This implies that λN −1 tends to the mean rapidly, or that, for large N , λN −1 behaves almost deterministically and is closely approximated by the first three terms in (2). Hence, the relation (2) is more accurate than (1) (see also Figure 1). 3.4 Verification of Analytical Approximation by Simulations In all simulations we consider exclusively the Erd˝os-R´enyi random graph Gp (N ) with various combinations of the number of nodes N and the link probabilities p. N can takes the following values: 200, 400 and 800. The link probability p = αpc = α logNN , where α is varying from 1 to 20. From each combination of N and p, we compute the algebraic connectivity λN −1 and the minimum nodal degree Dmin . Then, we classify the simulated graphs according to their value of α, as shown in Figures 2 and 3. Subsequently, from generated graphs with a given α, we are interested in the extreme values, i.e. min λN −1 and max λN −1 , as shown in Figures 4 and 5. In Figures 2 and 3, we have plotted the simulated mean E[λN −1 ], the corresponding standard deviation σ [λN −1 ], and our estimate for the mean, Eq. (3), and the standard deviation, Eq. (5), of the algebraic connectivity as a function of α. As illustrated in Figures in Figures 2 and 3 there is a remarkable correspondence between the simulations and our estimate: the standard deviation is much smaller than the mean, implying that for N → ∞, λN −1 will rapidly approach E[λN −1 ]. Moreover, our basic approximation that, for large N , λN −1 Dmin is verified by the simulations shown in Figures 4 and 5.
On the Robustness of Complex Networks by Using the Algebraic Connectivity
189
We found that min λN −1 or max λN −1 grows linearly with Dmin . Note in Figure 4 that, in the probability range around the connectivity threshold pc , the minimum algebraic connectivity is always equal to zero, indicating a non-connected random graph (for details see Section 4). From Figures 4 and 5 it is clear that if the value of the algebraic connectivity is larger than zero, the random graph has nodes of minimum degree always larger than zero too, referring to {λN −1 > 0} ⇐⇒ {Gp (N ) is connected}. However, by scrutinizing only degree-related simulation results, we see that the implication {Dmin ≥ 1} =⇒ {Gp (N ) is connected} is not always true, i.e. for large N and certain p which depends on N , the implication is almost surely (a.s.) correct [26]. For example, the percentage of graphs with Dmin ≥ 1 that leads to a connected Gp (50) increases from 98% for p = pc to 100% for 2pc , while the percentage for Gp (400) increases from 99% for p = pc to 100% for 2pc . Hence, the simulation results confirm that, for large N and rather small p = logNN , the latter implication a.s. is equivalent. 100
4 6
90 4 80
2
70
−2 σ[λN−1]
E[λN−1]
60
3
0
50
2
40 30
N = 200 N = 400 N = 800 eq (3) for N = 200 eq (3) for N = 400 eq (3) for N = 800
20 10 0 1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18 19 20 α = p / pc
Fig. 2. A comparison between the estimation (3), plotted in lines, and the simulation results, plotterd in markers, for the mean of the algebraic connectivity E[λN−1 ] as a function of α. In the upper left corner of the figure, we show the difference between the estimation and the simulation results as a function of α.
N = 200 N = 400 N = 800 eq (5) for N = 200 eq (5) for N = 400 eq (5) for N = 800
1
0
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18 19 20 α = p/p c
Fig. 3. A comparison between the estimation (5), plotted in lines, and the simulation results, plotterd in markers, for the standard deviation of the algebraic connectivity σ[λN−1 ] as a function of α
Simulations demonstrate also that, for a particular fixed α = ppc , the mean of the algebraic connectivity increases with the size of the random graph: a higher value of the graph size N implies a higher mean of the algebraic connectivity, what in turn indicates that the probability of having a more robust graph is approaching 1 as N → ∞. Theorem given in Subsection 3.1, stating that Pr[κN = κL = Dmin ] → 1 as N → ∞, clarifies this observation in a slightly different way: given that N is approaching ∞, the node and the link connectivity will become as high as possible, i.e. equal to the minimum nodal degree, and therefore the graph will become optimally connected.
190
A. Jamakovic and P. Van Mieghem
N = 400,α = 1,2,3,...,20 100
4.5
90
4
80
3.5
70 min/max λN−1
min/max λ
N−1
N = 400, α = 0.1,0.2,...,2 5
3 2.5 2 1.5
60 50 40 30
1
min λN−1
20
min λ
0.5
max λN−1
10
max λ
0
0
1
2
3
4
5
N−1
6
D
min
Fig. 4. The relationship between the minimum algebraic connectivity min λN−1 (maximum algebraic connectivity max λN−1 ) and the minimum nodal degree Dmin in the Erd˝os-R´enyi random graph Gp (N ). For each combination of N and p = αpc , α = 0.1, 0.2, 0.3, ..., 2, we generate 104 random graphs. Then, from the generated graphs, having a given value of α, we take min λN−1 (max λN−1 ) and the corresponding Dmin , resulting in one point for each considered α.
0
N−1
0
20
40
60
80
100
Dmin
Fig. 5. The relationship between the minimum algebraic connectivity min λN−1 (maximum algebraic connectivity max λN−1 ) and the minimum nodal degree Dmin in the Erd˝os-R´enyi random graph Gp (N ). For each combination of N and p = αpc , α = 1, 2, 3, ..., 20, we generate 104 random graphs. Then, from the generated graphs, having a given value of α, we take min λN−1 (max λN−1 ) and the corresponding Dmin , resulting in one point for each considered α.
4 Relationship between Algebraic, Node and Link Connectivity in Random Graph of Erd˝os-R´enyi In the previous section we analytically estimated the behavior of the algebraic connectivity in the Erd˝os-R´enyi random graph. In this section we analyze the relation among the three connectivity measures: the algebraic connectivity, the node connectivity and the link connectivity. We have used the polynomial time algorithm, explained in [15], to find the node and the link connectivity by solving the maximum-flow problem. The maximum-flow problem can be solved with several algorithms, e.g. Dinic, Edmonds & Karp, Goldberg, etc. If Goldberg’s push-relabel algorithm√is utilized, as performed in our simulations, the link connectivity algorithm has O(N 3 L)-complexity, while the node connectivity √ 2 algorithm has O(N L L)-complexity. We have used the LAPACK implementation of the QR-algorithm for computing all the eigenvalues of the Laplacian matrix. For linear algebra problems involving the computation of a few extreme eigenvalues of large symmetric matrices, algorithms (e.g. Lanczos) whose run-time and storage cost is lower compared to the algorithms for calculation of all eigenvalues (QR algorithm has O n3 -complexity) are known [3]. We simulate for each combination of N and p, 104 independent Gp (N ) graphs. N is 50, 100, 200 and 400 nodes and the link probability p = αpc , where α varies from 1 to 10. From each combination of N and p, we compute the minimum nodal degree
On the Robustness of Complex Networks by Using the Algebraic Connectivity
191
40 N=50 N=100 N=200 N=400 E[λN−1], N=50
35
E[κN] = E[κL] = E[Dmin]
30
E[λ
], N=100
N−1
25
E[λN−1], N=200 E[λN−1], N =400
20 15 10 5 0
1
2
3
4
5 6 α = p / pc
7
8
9
10
Fig. 6. Simulated results on Erd˝os-R´enyi random graph Gp (N ) for N = 50, 100, 200, 400 and the link probability p = αpc , showing the mean of the algebraic connectivity E [λN−1 ], the mean of the node E[κN ] and the link E[κL ] connectivity and the mean of the minimum nodal degree E[Dmin ] as a function of α, where α = 1, 2, ..., 10. Note that for α = 1, E[κN ] = E[κL ] but E[κN ] = E[Dmin ].
Dmin , the algebraic, the node and the link connectivity, denoted respectively by λN −1, , κN and κL . Then, we classify graphs according to their value of α. Figure 6 shows the mean value of the algebraic connectivity E [λN −1 ] as a function of increasing α = ppc . In addition, Figure 6 shows the mean of the node connectivity E[κN ], the link connectivity E[κL ] and the minimum nodal degree E[Dmin ]. The first conclusion we can draw after analyzing simulation data is that for all generated random graphs from p = pc to p = 10pc the convergence to a surely connected random graph, i.e. λN −1 > 0, is surprisingly rapid. Results concerning connectivity percentages are plotted in Figure 7. For example, the percentage of connected random graphs with 50 nodes increases from about 39% and 98% for pc and p = 2pc , respectively, to 99% for p = 3pc , where for p = 4pc the graph is connected. These results are consistent with the Erd˝os-R´enyi asymptotic expression. For N → ∞, as observable in Figure 7, the simulated data as well as the Erd˝os-R´enyi formula confirm a well known result [17] that the random graph Gp (N ) is a.s. disconnected if the link density p is below the connectivity threshold pc ∼ logNN and connected for p > pc . The second conclusion is that our results, regarding the distribution range of the algebraic connectivity and the minimum nodal degree, indeed comply with the bounds 0 ≤ λN −1 ≤ NN−1 Dmin : the distribution of the algebraic connectivity λN −1 is contained in the closed interval [0, N ], or to be more precise λN −1 is 0 for a disconnected graph and above bounded by NN−1 Dmin for all those link probabilities p for which the graph is connected but not complete2 . Then, obviously E[λN −1 ] ≤ E[Dmin ]. The third conclusion is that the distribution range of the algebraic connectivity also complies with the bounds λN −1 ≤ κN . Moreover, in Figure 6, for p > pc and all simulated N , the distributions of the node κN and the link κL connectivity are equal to 2
If a graph G is a complete graph KN then λN−1 = N > Dmin = N − 1.
192
A. Jamakovic and P. Van Mieghem
the distribution of the minimum nodal degree Dmin (recall that in Figure 6 for p = pc , the distributions of κN , κL and Dmin are almost equal but not the same). Convergence here to a graph where κN = κL = Dmin is surprisingly rapid. For example, from the simulation results plotted in Figure 8 with p = pc and size of the random graph ranging from N = 5 to N = 400, we found that with probability approaching 1, the random graph becomes optimally connected at rather small graph sizes. For all other link probabilities, p > pc , the convergence to κN = κL = Dmin is faster (see Figure 8 for p = 2pc ). Hence, the simulation results show that the random graph Gp (N ) a.s. is constructed in such a way that deleting all the neighbors (or the links to its neighbors) of a minimum nodal degree node will lead to the minimum number of nodes (links) whose deletion from a graph will result into a disconnected random graph. Hence, the minimum nodal degree is a valuable estimate of the number of nodes or links whose deletion results into a disconnected graph. 100
100
90 98
70 κN = κL = Dmin [%]
Gp(N) is connected [%]
80
60 50
N = 50 N = 100 N = 200 N = 400 N = 50 N = 100 N = 200 N = 400
40 30 20 10 0
0
0.5
1 α=p/p
1.5
96
94
92
α=p/p =1 c
α=p/p =2 c
2
c
Fig. 7. Percentage of the connected Erd˝os-R´enyi random graphs Gp (N ), i.e. λN−1 > 0: a comparison between the simulation results, plotted in markers, and the Erdos’ asymptotic formula −p(N −1) Pr[Gp (N ) =connected] e−Ne , plotted in lines, in the probability range α = p/pc = 0.1, 0.2, ..., 2
90
0
50
500
1000
N
Fig. 8. Percentage of the Erd˝os-R´enyi random graphs Gp (N ) with p = pc and p = 2pc in which the node connectivity κN , the link connectivity κL and the minimum nodal degree Dmin converge to κN = κL = Dmin for small graph sizes N
5 Conclusion We studied the algebraic connectivity and its relation to the node and the link connectivity in the Erd˝os-R´enyi random graph. The analytical study shows that the variance of the algebraic connectivity is much smaller than its mean, implying that, for large graph size N , the distribution of the algebraic connectivity will rapidly approach the mean value. Through extensive simulations, we verified that the algebraic connectivity behaves almost deterministically and is closely approximated by our basic estimate, Eq. (2). Simulations also show that, for large N , the distribution of the algebraic connectivity grows linearly with the minimum nodal degree, confirming our basic approximation that λN −1 Dmin .
On the Robustness of Complex Networks by Using the Algebraic Connectivity
193
Moreover, for a given value of α = ppc , a higher value of the graph size N means a higher value of the algebraic connectivity. This translates into a higher probability of having a more connected, or to say robust, graph as N → ∞. On the other hand, the larger the graph size, the more the Erd˝os-R´enyi random graph is constructed in such a way that deleting all the neighbors (or the links to its neighbors) of a minimum nodal degree node leads to the minimum number of nodes (links) whose deletion disconnects the graph. However, the simulation results show that this optimal connectivity, occurs, regardless of the link probability p, at already small graph sizes N . Hence, the larger the value of the algebraic connectivity, the better the graph’s robustness to node and link failures.
References 1. Abramowitz, M., Stegun, I.A.: Handbook of Mathematical Functions. Dover Publications, Inc, NY (1999) 2. Albert, R., Barabasi, A.-L.: Statistical mechanics of complex networks. Reviews of Modern Physics 74(1) (January 2002) 3. Bai, Z., Demmel, J., Dongarra, J., Ruhe, A., van der Vorst, H.: Templates for the solution of Algebraic Eigenvalue Problems: A Practical Guide. SIAM, Philadelphia (2000) 4. Barabasi, A.-L., Albert, R.: Emergence of scaling in random networks. Science 286, 509–512 (1999) 5. Barabasi, A.-L.: Linked. The new science of networks. Perseus, Cambridge (2002) 6. Bollob´as, B.: Random graphs, 2nd edn. Cambridge University Press, Cambridge (2001) 7. Bollob´as, B., Thomason, A.G.: Random graphs of small order. Random graphs 1983. Annals of Discrete Mathematics 28, 47–97 (1985) 8. Castro, M., Costa, M., Rowstron, A.: Should We Build Gnutella on a Structured Overlay. ACM SIGCOMM Computer Communications Review 34(1), 131–136 (2004) 9. Chung, F.R.K.: Spectral Graph Theory. In: Conference Board of the Mathematical Sciences, American Mathematical Society, Providence, RI, vol. 92 (1997) 10. Cvetkovic, D.M., Doob, M., Sachs, H.: Spectra of Graphs, Theory and Applications, 3rd edn. Johann Ambrosius Barth, Heidelberg (1995) 11. Dorogovtsev, S.N., Mendes, J.F.F.: Evolution of Networks. In: From Biological Nets to the Internet and WWW, Oxford University Press, Oxford (2003) 12. Erd˝os, P., R´enyi, A.: On random graphs. Publicationes Mathematicae 6, 290–297 (1959) 13. Fiedler, M.: Algebraic connectivity of graphs. Czechoslovak Mathematical Journal 23, 298– 305 (1973) 14. Fuhrmann, T.: On the Topology of Overlay Networks. In: Proceedings of 11th IEEE International Conference on Networks (ICON), pp. 271–276 (2003) 15. Gibbons, A.: Algorithmic Graph Theory. Cambridge University Press, Cambridge (1985) 16. Jamakovic, A., Van Mieghem, P.: On the robustness of complex networks by using the algebraic connectivity, Technical Report (2007) 17. Janson, S., Knuth, D.E., Luczak, T., Pittel, B.: The birth of the giant component. Random Structures & Algorithms 4, 233–358 (1993) 18. Juh¯az, F.: The asymptotic behaviour of Fiedler’s algebraic connectivity for random graphs. Discrete Mathematics 96, 59–63 (1991) 19. Merris, R.: Laplacian matrices of graphs: a survey. In: Linear Algebra Applications, vol. 197,198, pp. 143–176 (1994) 20. Merris, R.: A survey of graph Laplacians. In: Linear and Multilinear Algebra, vol. 39, pp. 19–31 (1995)
194
A. Jamakovic and P. Van Mieghem
21. Mohar, B., Alavi, Y., Chartrand, G., Oellermann, O.R., Schwenk, A.J.: The Laplacian spectrum of graphs. Graph Theory, Combinatorics and Applications 2, 871–898 (1991) 22. Mohar, B.: Laplace eigenvalues of graphs: a survey. Discrete Mathematics 109, 198, 171–183 (1992) 23. Mohar, B., Hahn, G., Sabidussi, G.: Some applications of Laplace eigenvalues of graphs. Graph Symmetry: Algebraic Methods and Applications, NATO ASI Ser. C 497, 225–275 (1997) 24. Newman, M.: The structure and function of complex networks. SIAM Review 45, 167–256 (1990) 25. Skiena, S.: Implementing Discrete Mathematics: Combinatorics and Graph Theory with Mathematica. Addison-Wesley, Reading (1990) 26. Van Mieghem, P.: Performance Analysis of Computer Systems and Networks. Cambridge University Press, Cambridge (2006) 27. Watts, D.J., Strogatz, S.H.: Collective dynamics of small-world networks. Nature 393, 440– 442 (1999) 28. Watts, D.J.: Small Worlds. The Dynamics of Networks Between Order and Randomness. Princeton University Press, Princeton (1999)
On the Social Cost of Distributed Selfish Content Replication Gerasimos G. Pollatos1, , Orestis A. Telelis2, , and Vassilis Zissimopoulos1 1
Department of Informatics and Telecommunications, University of Athens, Greece {gpol,vassilis}@di.uoa.gr 2 Department of Computer Science, University of Aarhus, Denmark [email protected]
Abstract. We study distributed content replication networks formed voluntarily by selfish autonomous users, seeking access to information objects that originate from distant servers. Each user caters to minimization of its individual access cost by replicating locally (up to constrained storage capacity) a subset of objects, and accessing the rest from the nearest possible location. We show existence of stable networks by proving existence of pure strategy Nash equilibria for a game-theoretic formulation of this situation. Social (overall) cost of stable networks is measured by the average or by the maximum access cost experienced by any user. We study socially most and least expensive stable networks by means of tight bounds on the ratios of the Price of Anarchy and Stability respectively. Although in the worst case the ratios may coincide, we identify cases where they differ significantly. We comment on simulations exhibiting occurence of cost-efficient stable networks on average.
1
Introduction
Distributed network storage constitutes a frequently exploited modern resource for the improvement of services offered to internet users. A network node can replicate locally content (files or services) that is accessed frequently by local users, so as to lessen bandwidth consumption incurred by frequent remote access. Non-locally replicated objects can be retrieved from the nearest location where they can be found replicated (neighbors/origin servers). Web caching, content distribution networks and, more recently, applications over P2P networks serve this scheme. Query protocols [1], succint summaries [2], and distributed hash tables [3] can implement search of object replicas at remote nodes. Such systems are frequently modeled as Distributed Replication Groups [4]: a distant server distributes content represented as a set of information objects to a network of nodes sharing proximity, each having constrained local storage
Author supported by the 03ED694 research project (PENED), co-financed by E.U.European Social Fund (75%) and the Greek Ministry of Development-GSRT (25%). Center for Algorithmic Game Theory, funded by the Carlsberg Foundation, Denmark.
A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 195–206, 2008. c IFIP International Federation for Information Processing 2008
196
G.G. Pollatos, O.A. Telelis, and V. Zissimopoulos
capacity. Each node has an interest to a subset of information objects in the form of a non-negative demand weight per object. Access cost incurred per non-locally replicated object is defined as the distance from which the object is retrieved times the demand weight. The related Object (or Data) Placement problem requires placement of object replicas in nodes, subject to capacity constraints, so that total access cost summed over all objects and nodes is minimized [4,5]. We consider networks formed voluntarily by autonomous users for shared exploitation of distributed resources (storage capacity), such as file-sharing networks. We develop a game-theoretic analysis of distributed replication networks, in the light of which, users choose autonomously a replication strategy (a subset of objects to replicate locally), catering to minimization of their individual access cost. Through our study of the Distributed Selfish Replication game we address systematically the questions: “Does the performance of the network ever stabilize?” and “What is the overall performance of a stable network, in absence of a central optimizing authority?” Game theory predicts that users will eventually end up (converge) in a Nash equilibrium [6], i.e. a set of (randomized in general) replication strategies, under which no user can decrease his/her individual (in general, expectation of) access cost by unilaterally changing his/her strategy [7]. In view of equilibria as a notion of network stabilization, we are interested in deterministic strategies (pure equilibria), because randomized strategies do not naturally fit behavior of a rational user [7,8], as he/she may observe inefficiency during network’s lifetime and change the replication strategy. Two natural ways of measuring the social (overall) network cost include the average cost experienced by network users (SUM of individual costs), and the maximum cost over all users (MAX). The coordination ratio of such systems, widely known as the Price of Anarchy (PoA) was introduced in the seminal work of [9] as the worst-case ratio of the social cost of the most expensive equilibrium over the optimum centrally enforcable social cost. The PoA measures worst-case performance loss due to the absense of a centralized coordinating authority. More recently in [10] it was proposed that the worst-case ratio of the social cost of the least expensive equilibrium to the optimum social cost is also of interest, since some kind of coordination may be provided to the users, so that they reach the most efficient stable state. This ratio, initially termed the optimistic PoA [10], was established in [11] as the Price of Stability, (PoS) i.e. the performance loss due to the requirement for stability. In this paper we prove existence of pure strategy Nash equilibria for the Distributed Selfish Replication game, (section 3) over a slightly more general network model than the one originally proposed in [4], by analyzing a converging best response dynamics algorithm. We prove a tight upper bound for the PoA and matching lower bounds for the PoS (section 4), for both the SUM and MAX social costs: our PoA upper bound is valid for more general network models than the one considered. However, the simple model that we study exhibits tight worst-case lower bounds for the PoS. We identify cases where the PoS can be significantly smaller than PoA, and comment on simulations that exhibit occurence of cost-efficient equilibria on average (section 5). Our results generalize
On the Social Cost of Distributed Selfish Content Replication
197
and complement the work of [12], and answer a related open question posed in [8] with respect to considering constrained storage capacity in replication games. Related Work. The study of voluntarily formed data replication networks by autonomous users with individual incentives was initiated in [8], where each replicated object could be payed for a fixed amount (as opposed to capacity constraints). It was shown that both PoA and PoS can be unbounded in general with the exception of special topologies. The authors considered only 0/1 demand weights in their analysis. They posed consideration of capacitated nodes along with demand weights as an open question. Let us note here that the notion of capacity should not be perceived under the narrow view of hard disk storage (which is quite affordable nowadays), but rather as a more general notion of budget, to be spent for maintenance and reliability purposes (particularly when replication concerns services). Existence of equilibria for the simple capacitated model of [4] was shown in [12], and for demand weights that constitute a distribution over the set of objects requested by each node. This work however does not concern social efficiency, but rather maximization of the gain of individuals when participating in the network as opposed to staying isolated. Our work is strongly related to the recent studies on network formation games initiated by the seminal work of [13], in an effort of understanding the efficiencies and defficiencies induced to a network created by autonomous users, that are motivated by colliding incentives. A wealth of recent results on such network creation models [11,10,14] have grown this direction of research into an exciting field [15] (chapter 19), that has provided useful insights with respect to the manipulation of the users’ incentives towards creation of socially efficient networks.
2
Preliminaries
We consider a network involving k servers and a set N , |N | = n of client-nodes (simply referred to as nodes), each node having at its disposal integral local storage capacity of sizei . A universe U of up-to-date unit-sized information objects originates from the k servers and each node i requests access to each object o ∈ U by means of a demand weight wio ≥ 0. The request set of i is Ri = {o ∈ U |wio > 0}. Node i may choose to replicate locally any at most sizei cardinality subset of Ri , and access every non-replicated object o from some node (or server) j = i at cost dij wio , where dij is the cost (distance) of accessing j per unit of demand. If Pi is the subset of objects replicated by i, a placement over the network is denoted by X = {P1 , . . . , Pn }. Given a placement X, we use di (o) to denote the distance from node i of the closest node (including origin servers: they can be considered as nodes with fixed placements) replicating object o. Formally: di (o) = minj =i:o∈Pj dij . The individual access cost of i under a placement X, is defined as: ci (X) = wio di (o) (1) o∈Ri \Pi
198
G.G. Pollatos, O.A. Telelis, and V. Zissimopoulos
Our study involves two versions of social (overall) cost: SUM and MAX, defined as i ci (X) and maxi ci (X) respectively. We study the strategic Distributed Selfish Replication (DSR, and DSR(0/1) when demand weights are 0 or 1) game defined by the triple N, {Pi }, {ci } in which every node i is a player with strategy space {Pi } consisting of all sizei -cardinality subsets of objects that i may replicate, and utility expressed by the access cost ci , that i wishes to minimize. A placement X is then a strategy profile for the DSR game. In what follows we use the terms node and player interchangeably. Let X−i = {P1 , . . . , Pi−1 , Pi+1 , . . . , Pn } refer to the strategy profile of all players but i. For the DSR game, it is easy to see that given a strategy profile X−i , player i can determine optimally in polynomial time its best response Pi to the other players’ strategies, simply by solving a special 0/1 Knapsack problem, that amounts to replicating sizei objects with the greatest value wio di (o). Network Model. We consider a slightly more general network model than the one introduced by Leff,Wolf, and Yu in [4] and studied in [12], involving k origin servers, instead of 1. The distance of every node i from server l is dl for l = 0 . . . k − 1, while two nodes i and j are at distance dij = dk . We assume that distances form an ultra-metric such that dk < dk−1 < · · · < d0 . We refer to this network model as LWY(k). The minimum and maximum distances appearing in the network are also referred to with dmin = dk and dmax = d0 .
3
Existence of Pure Strategy Nash Equilibria
We introduce a simple polynomial-time algorithm, that finds a feasible placement constituting a pure strategy Nash equilibrium for the DSR game on a LWY(k) networks. The algorithm constitutes a converging iterative best response dynamics that iterates for l = 0 . . . k over the different distance values (in non-increasing order) appearing in LWY(k): for each distance value dl , all distances at most equal to dl are redefined to exactly dl and a best response placement is computed for each node i = 1 . . . n in turn. It is important to note that during computation of best response of a node i a tie for the values of two objects wio di (o) and wio di (o ) is resolved on the basis of index (for otherwise we cannot guarantee convergence to equilibrium). The order by which nodes compute their best response is fixed in all iterations. We refer to this algorithm (algorithm 1) as DSR-EQ. We show that DSR-EQ finds an equilibrium placement. In our analysis we use the iteration index l as superscript to the various quantities involved. Proposition 1. Consider the time right after computation of placements Pil−1 and Pil for a fixed node i in iterations l − 1 and l of algorithm DSR-EQ. Then for every pair of objects o, o with o ∈ Pil−1 \Pil and o ∈ Pil \Pil−1 it is dli (o) = dl and dli (o ) > dl . The proof is by induction on indices i, l through the following claims: Claim. (Basic Step) Proposition 1 holds for l = 1 (second iteration) and i = 1.
On the Social Cost of Distributed Selfish Content Replication
199
Algorithm 1. DSR-EQ for all i, j set d−1 ij ← dij ; for l=0. . . k do for all i, j set dlij ← dl−1 ij ; for all i, j: dij ≤ dl set dlij ← dl ; for i=1. . . n do Compute best response Pil of i with respect to [dlij ] end end
Proof. Right after computation of P10 and P11 the following hold with respect to objects o and o : d01 (o )w1o ≤ d01 (o)w1o ,
and
d11 (o )w1o ≥ d11 (o)w1o
(2)
Equality in both cases cannot hold, because of the index rule for breaking ties. From the first inequality it must be that w1o ≤ w1o because d01 (o ) = d01 (o) = d0 . Furthermore, in iteration l = 1, by redefinition of distances less than d0 in the original input to d1 , it must be either that d11 (o ) = d11 (o) = d0 (both objects are found only at server distance d0 ), or that d11 (o ) = d11 (o) = d1 (both objects are replicated somewhere at distance d1 ), or that d11 (o ) = d11 (o). The first two imply w1o ≥ w1o which contradicts w1o ≤ w1o , even in the case of equality (because of the tie-breaking index rule). For the third case, if d11 (o ) = d1 and d11 (o) = d0 , we obtain that d11 (o )w1o < d11 (o)w1o , a contradiction to the second relation of (2). Thus it must be that d11 (o ) = d0 > d1 and d11 (o) = d1 . Claim. (Inductive Step) Proposition 1 holds for every iteration l. Proof. Assume that the statement is true for all nodes {i + 1, . . . , n, 1, . . . , i − 1} computing their best response right after computation of Pil−1 and right before computation of Pil . For o ∈ Pil−1 \ Pil and o ∈ Pil \ Pil−1 we can write: dl−1 (o )wio ≤ dl−1 (o)wio , i i
and
dli (o )wio ≥ dli (o)wio
(3)
Equality in both cases cannot occur as before. Assume that dli (o) > dl . Then l di (o) ≥ dl−1 and, if o was replicated at some node in iteration it l − 1 (i.e. dl−1 (o) = dl−1 ), it must have remained so, by hypothesis. But then it should i have been dli (o) = dl . Thus o was found only at some server in iteration l − 1. l−1 l Then dli (o) = dl−1 i (o). For o however, we have that di (o ) ≤ di (o ), because of the assumed behavior of the other nodes computing best response after Pil−1 and before Pil : either o reduces its distance from i due to redefinition of distances to dl (in case some node has it replicated) or not. Then it is: dli (o )wio ≤ dl−1 (o )wio ≤ dl−1 (o)wio = dli (o) i i which is a contradiction to (3). Thus it must be dli (o) = dl .
200
G.G. Pollatos, O.A. Telelis, and V. Zissimopoulos
Now assume that dli (o ) = dl . Since dli (o) = dl also, we have that wio ≥ wio . Furthermore, in iteration l − 1 it must have been dl−1 (o ) ≥ dl−1 and dl−1 i i (o) = l−1 l dl−1 . Then we obtain di (o )wio ≥ di (o )wio = dl wio > dl wio = dli (o)wio = dl−1 (o)wio , which is a contradiction to (3). Thus it must be dli (o ) > dl . i Using proposition 1 it is possible to show that: Lemma 1. In the end of iteration l of algorithm 1, {Pil |i = 1 . . . n} is a pure strategy Nash equilibrim with respect to the current distance matrix [dlij ]. Proof. By proposition 1 we deduce that, in each iteration, a node’s best response is not invalidated by other nodes’ best responses, as follows. In the l-th iteration, for every node j = i and an object o ∈ Pjl−1 \ Pjl the object remains at distance dl from i (which was its distance when i was computing Pil ). For an object o ∈ Pjl \ Pjl−1 , o was at distance > dl and, therefore, not replicated in i either. Replication in j only decreases the value of o for i (because its distance is reduced). Theorem 1. Pure strategy Nash equilibria exist for the DSR game on LWY(k) networks. Proof. By lemma 1 the placement produced in the last iteration of algorithm 1 is a pure strategy Nash equilibrium with respect to a distance matrix identical to the input one.
4
Worst-Case Equilibria
We study efficiency of pure equilibria for the DSR game, by studying the worstcase ratios of the PoA and PoS. We assume that all players (nodes) have a marginal interest for joining the network, expressed by |Ri | ≥ sizei . If this does not hold, then equilibria may be unboundedly inefficient, because of unused storage space in certain nodes. In summary we show that the PoA can be at most ddmax for both the SUM and the MAX social cost functions, and the PoS can min be at least as much in the worst-case. We compare a worst-case socially most expensive equilibrium placement X towards the socially optimum placement X ∗ , and use di (·) and d∗i (·) for distances of objects in each placement. The analysis is performed for the individual cost of a single fixed node i, and therefore yields results with respect to the SUM and the MAX social cost functions. Lemma 2. If X and X are equilibrium and optimum placements respectively, for each node i we have: ci (X) = wio di (o) + wio di (o) (4) o∈Ri \(Pi ∪Pi )
ci (X ) =
o∈Ri \(Pi ∪Pi )
o∈Pi \Pi
wio di (o) +
o∈Pi \Pi
wio di (o)
(5)
On the Social Cost of Distributed Selfish Content Replication
201
Proof. Taking expression (1) for ci at X and X and noticing that: Ri \ Pi = (Ri \ (Pi ∪ Pi )) ∪ (Pi \ Pi ) and (Ri \ (Pi ∪ Pi )) ∩ (Pi \ Pi ) = ∅ Ri \ Pi = (Ri \ (Pi ∪ Pi )) ∪ (Pi \ Pi ) and (Ri \ (Pi ∪ Pi )) ∩ (Pi \ Pi ) = ∅
yields the result.
Lemma 3. If X and X are equilibrium and optimum placements respectively, for every player i we have that |Pi \ Pi | = |Pi \ Pi | and for every pair of objects o ∈ Pi \ Pi , o ∈ Pi \ Pi it is wio di (o) ≥ wio di (o ). Proof. Since for every player i sizei < |Ri |, we obtain |Pi \ Pi | = |Pi \ Pi |. For every pair of objects o ∈ Pi \ Pi , o ∈ Pi \ Pi it must be wio di (o) > wio di (o ), for otherwise, player i would have an incentive to unilaterally deviate in placement X, by substituting o for o , thus decreasing its individual access cost. Theorem 2. The price of anarchy for the DSR game is upper bounded by with respect to either of the SUM or the MAX social cost functions.
dmax dmin ,
Proof. Starting from expression (5) and using lemma 3 we have: ci (X ) =
wio di (o) +
o∈Ri \(Pi ∪Pi )
≥
o∈Ri \(Pi ∪Pi )
wio di (o)
o∈Pi \Pi
wio di (o)
o∈Ri \(Pi ∪Pi )
≥
wio di (o)
di (o) + di (o) dmin + dmax
o ∈Pi \Pi
o ∈Pi \Pi
wio
di (o ) d (o) di (o) i
wio di (o )
dmin dmax
min By expression (4) ci (X ) ≥ ddmax ci (X). Summing over all i yields the result for the SUM. For the MAX notice that for some j: maxi ci (X) = cj (X) ≤ ddmax cj (X ∗ ) ≤ min dmax ∗ dmin maxi ci (X ).
Note that we did not make use of any particular network topology. The bound is valid on any network topology, provided an equilibrium exists. Interestingly, matching lower bounds for the PoS can be shown on a LWY(1) network: Proposition 2. The Price of Stability for the DSR game has a lower bound arbitrarily close to dmax /dmin in the worst-case, with respect to SUM and MAX social cost functions, even for 1 server and 0/1 demand weights. Proof. Take dmin inter-node distance and dmax the distance of the single server. For SUM: we show that for every fixed integer I the PoS is lower bounded I dmax by I+1 dmin asymptotically with n. Take sizei = 1 and set: Ri = {a} for i = 1 . . . n−I and Ri = {bj |j = 1 . . . n−1}, for i = n−I +1 . . . n. In every equilibrium
202
G.G. Pollatos, O.A. Telelis, and V. Zissimopoulos
of this instance the I last nodes replicate collectively at most I objects from their (common) request set, while the rest n − I replicate object a. The social cost is I(I − 1)dmin + I(n − 1 − I)dmax . In the socially optimum placement we let nodes i = 1 . . . n − I − 1 replicate n − I − 1 objects that are not replicated in the I last nodes. But, we save a node for replicating a. The social cost becomes I(n − 2)dmin + (n − 1 − I)dmin = [(I + 1)n − 3I − 1]dmin . Since I is fixed, the I dmax PoS becomes I+1 dmin as n grows. For MAX: all nodes have sizei = 1 and let R1 = {a, b}, whereas for i > 1 set Ri = {c}. Take n ≥ 3 nodes. In equilibrium node 1 pays dmax for either a or b. In the social optimum some i > 1 replicates one of a,b that is not replicated by node 1, and pays dmin for c, while 1 also pays dmin .
5
Less Expensive Equilibria
Proposition 2 states that the least expensive and the most expensive equilibria can be of the same cost in the worst case. In this section we investigate existence of less expensive equilibria than the ones indicated by the worst-case PoA and PoS. In particular, we elaborate on conditions under which the PoS can be at dmax most 2d for the DSR(0/1) game, and present some indicative experimental min results on random instances of the DSR game, showing that social efficiency of equilibria does not degrade much as the ratio dmax /dmin grows. For the rest of this section’s theoretical analysis we turn our attention to the DSR(0/1) game and restrict our discussion to the SUM social cost function. In proving proposition 2 we used “over-demanding” nodes, each requesting O(n) times more objects, than the storage capacity they offer to the group. In what follows we will assume modestly demanding nodes. We define such nodes |−sizei formally through the demand ratio q = maxi |Risize as being q = O(1). We i will also use the assumption that the absolute difference of any pair of distinct distance values in the network is at least dmin . This is e.g. the case when the network is modeled as a graph with inter-node distance being one hop, while the nearest server being at least 2 hops away. We will compare the least expensive equilibrium X = {Pi } against the socially optimum placement X ∗ = {Pi∗ }, so as to obtain the maximum possible difference c(X) − c(X ∗ ). We consider objects a∗ ∈ Pi∗ \ Pi , that we call insertions and study an imaginary procedure that transforms X into X ∗ , by performing such insertions. An insertion is termed significant if it contributes to c(X) − c(X ∗ ). Lemma 4. If r significant insertions occur in comparing a least expensive equilibrium X to a socially optimum placement X ∗ , and at most n0 nodes benefit by any insertion, then: c(X) − c(X ∗ ) ≤ rn0 (dmax − dmin ) − rdmin . Proof. Take a∗ ∈ Pi∗ \ Pi for some node i. There is an object a ∈ Pi \ Pi∗ evicted from i due to insertion of a∗ . We use di (·) to denote the current distance of an object from i. Our target is to show that every significant insertion contributes a social cost increase at least dmin while potentially offering at most (dmax − dmin) cost decrease to some nodes. At first suppose that wia∗ = 0: i suffers an access
On the Social Cost of Distributed Selfish Content Replication
203
cost increase of at least dmin , because a has to be retrieved remotely at minimum distance dmin . Every node j = i with wja∗ = 1 benefits at most (dmax − dmin ) though. This is a significant insertion. Now consider the case wia∗ = 1. Then di (a) ≥ di (a∗ ), because X is equilibrium. We examine the following cases: 1. di (a) = di (a∗ ) = dmin : then i does not benefit or loose, and the insertion is indifferent to every other node j = i with wja∗ = 1 (they also do not benefit or loose, because a∗ is already replicated somewhere in the network). Such an insertion is not significant. 2. di (a) > di (a∗ ) = dmin : the cost of i increases by at least 2dmin (due to eviction of a and di (a) − di (a∗ ) ≥ dmin ) and decreases its cost by at most dmin (due to insertion of a∗ ). Such an insertion is potentially significant. 3. di (a) = di (a∗ ) > dmin : i does not benefit or loose, but any node j = i with wia = 1 and wia∗ = 0 looses at least di (a∗ ) − dmin > dmin (as long as a was stored in i it was retrieved by j from distance dmin ). If no such node exists, then we have a new equilibrium, potentially less expensive than X, a contradiction. Such an insertion can be significant. 4. di (a) > di (a∗ ) > dmin : eviction of a from i is caused at distance di (a) which is at least by dmin greater than di (a∗ ). Thus i looses at least dmin in this case. This insertion can be significant. Notice that the cost increase effect of cases (2), (3) and (4) may be compensated by a re-insertion of the evicted object a in some node j = i. By the previous arguments, such a re-insertion causes eviction of some object a from j and therefore, induces a new cost increase of at least dmin , or a new equilibrium contradiction. Such re-insertions are insignificant, as they may form chains of “movements” of objects around the network’s nodes, always carrying a cost increase, but no decrease. If n0 nodes benefit from any of the significant insertions, then assuming that all of them benefit from all the significant insertions only enlarges the difference c(X) − c(X ∗ ), and the result follows. Lemma 5. The cost of the socially least expensive equilibrium placement X for the DSR(0/1) game on a LWY(k) network in the worst case is at least: c(X) ≥ n0 (n0 − 1)Sdmin + n0 rdmax
(6)
where r is the number of significant insertions, S is the minimum storage capacity, and n0 is the number of nodes that benefit from all insertions. Proof. For every node j that benefits from an insertion a∗ it is wja∗ = 1, and for maximum benefit (dmax −dmin ), this object is payed dmax in the best equilibrium. In the worst case all n0 nodes benefit from all r significant insertions, as argued in lemma 4 (this assumption enlarges the difference c(X) − c(X ∗ )). The second term of inequality (6) is thus justified. For the first term, we notice that since all n0 nodes benefit from an insertion a∗ , then in the least expensive equilibrium X every object stored in these nodes is of interest to at least n0 nodes of the network. Otherwise, we show that there
204
G.G. Pollatos, O.A. Telelis, and V. Zissimopoulos
may be an equilibrium of less cost: take for example an instance where every one of the n0 nodes is either interested to replicas stored in the rest n0 − 1 of them or not, and no other nodes are interested in replicas stored in these n0 nodes. If there is a node j not interested to a replica a stored in some node i, then substitution of a for a∗ in i yields a less expensive equilibrium. We assume that all n0 nodes benefiting from the r insertions are also interested in objects replicated in them in equilibrium. This yields a lower bound of n0 (n0 − 1)Sdmin cost. Now we can prove the following: Theorem 3. The Price of Stability of the DSR(0/1) game on LWY(k) networks with modestly demanding nodes and distance differences at least dmin is dmax upper bounded by 2d . min Proof. By lemma 4: P oS ≤
c(X) c(X) + rdmin − r(dmax − dmin )
This bound is a monotonically decreasing function of c(X). Therefore we use for c(X) the lower bound given by (6) for worst-case P oS, and obtain: n0 (n0 − 1)Sdmin + n0 rdmax (r + rn0 + n0 (n0 − 1)S)dmin
P oS ≤
By the analysis of lemma 5, the number of insertions occurring is upper bounded as r ≤ (q − (n0 − 1))S. Taking the maximum value r = (q − (n0 − 1))S increases the ratio for every value of n0 : P oS ≤
n0 (n0 − 1)Sdmin + n0 (q − (n0 − 1))Sdmax ⇒ [(q − (n0 − 1))S + n0 (q − (n0 − 1))S + n0 (n0 − 1)S]dmin P oS ≤
n0 − 1 q+
q−(n0 −1) n0
+
q − (n0 − 1) q+
q−(n0 −1) n0
·
dmax dmin
Now notice that, since every node of the n0 accesses replicas stored in all other n0 − 1 nodes, it must be n0 − 1 ≤ q. Thus the first term can be at most 1, while dmax for q = O(1), the second term is maximized to 2d for n0 = 1. min Simulation on Random Instances. We performed simulations on random instances of the general DSR game, that provide evidence of existence of efficient equilibria on average. Fig. 1 depicts the evolution of emipirically extracted values for PoS, PoA, and an average value of coordination ratio, as dmax /dmin increases. We used an LWY(10) network of 64 nodes, with sizei = 5, and |Ri | = 10. For each node i the request set Ri was constructed by uniform random sampling of 10 objects out of a universe U of 400 objects. Demand weights were taken
On the Social Cost of Distributed Selfish Content Replication
SUM Social Cost
205
MAX Social Cost 4 PoA AVG PoS
3
PoA AVG PoS
3.5 3
2.5
2.5 2 2 1.5
1.5
1
1 0
20
40
60
80
100 120 140 160 180 200
0
20
dmax/dmin
40
60
80
100 120 140 160 180 200
dmax/dmin
Fig. 1. Evolution of PoS, PoA, and average coordination ratio (AVG) with dmax /dmin
randomly in (0, 1] for each node. We took dmin = 1 and distributed 10 servers, each hosting 40 objects, uniformly within the range [dmin , dmax ] for each different value of dmax . Social optimum for SUM and MAX was obtained by solution of the Object Placement Problem ILP formulation described in [5], using GLPK [16]. Each point of the diagrams was extracted using the maximum (for PoA), minimum (for PoS) and average (for AVG) social cost obtained over 1000 executions of algorithm DSR-EQ with randomly chosen node and object orderings per execution. Two main observations can be extracted by these experiments. First, that the rate of growth of all coordination ratios degrades significantly as dmax /dmin increases, thus giving the impression of a stabilization of the efficiency of the system. Second, that the range of different stable social cost values is quite narrow. These observations motivate a probabilistic analysis of the efficiency of equilibria, that constitutes an aspect of future work.
6
Conclusions and Open Questions
We studied the effects of selfish behavior in a distributed replication group with restricted storage capacity per node. We proved existence of pure strategy Nash equilibria for the related strategic game for networks with multiple origin servers, thus generalizing the result of [12]. Although worst-case maximum and minimum social cost of equilibria were shown to be ddmax times the optimum social cost in min the worst case, for 0/1 demand weights and certain topologies a better upper dmax bound of 2d was shown for the Price of Stability. Simulations on random min instances have shown that even the Price of Anarchy may grow much less rapidly than the ratio dmax /dmin . We were not able to find a single example without any pure equilibria when arbitrary-sized objects are involved, or disprove existence of pure equilibria for more general topologies. We consider investigation of these situations as an aspect of future work, along with enrichment of the game model with other realistic features, such as bounded node degrees.
206
G.G. Pollatos, O.A. Telelis, and V. Zissimopoulos
References 1. Wessels, D., Claffy, K.: ICP and the Squid web cache. IEEE Journal on Selected Areas in Communications 16(3) (1998) 2. Fan, L., Cao, P., Almeida, J., Broder, A.Z.: Summary cache: a scalable wide-area web cache sharing protocol. IEEE/ACM Transactions on Networking 8(3), 281–293 (2000) 3. Stoica, I., Morris, R., Liben-Nowell, D., Karger, D.R., Kaashoek, M.F., Dabek, F., Balakrishnan, H.: Chord: A scalable peer-to-peer lookup protocol for internet applications. IEEE/ACM Transactions on Networking 11(1), 17–32 (2003) 4. Leff, A., Wolf, J., Yu, P.S.: Replication Algorithms in a Remote Caching Architecture. IEEE Transactions on Parallel and Distributed Systems 4(11), 1185–1204 (1993) 5. Baev, I., Rajaraman, R.: Approximation algorithms for data placement in arbitrary networks. In: Proceedings of the ACM-SIAM Annual Symposium on Discrete Algorithms (SODA), pp. 661–670 (2001) 6. Nash, J.F.: Non-Cooperative ganes. Annals of Mathematics 54, 286–295 (1951) 7. Osborne, M.J., Rubinstein, A.: A course in game theory. MIT Press, Cambridge (1994) 8. Chun, B., Chaudhuri, K., Wee, H., Barreno, M., Papadimitriou, C.H., Kubiatowicz, J.: Selfish caching in distributed systems: a game-theoretic analysis. In: Proceedings of the ACM Symposium on Principles of Distributed Computing (PODC) (2004) 9. Koutsoupias, E., Papadimitriou, C.H.: Worst-case Equilibria. In: Proceedings of the Symposium on Theoretical Aspects of Computer Science (STACS), pp. 404– 413 (1999) 10. Anshelevich, E., Dasgupta, A., Tardos, E., Wexler, T.: Near-optimal network design with selfish agents. In: Proceedings of the ACM Annual Symposium on Theory of Computing (STOC), pp. 511–520 (2003) 11. Anshelevich, E., Dasgupta, A., Kleinberg, J.M., Tardos, E., Wexler, T., Roughgarden, T.: The Price of Stability for Network Design with Fair Cost Allocation. In: Proceedings of IEEE Annual Symposium on Foundations of Computer Science (FOCS), pp. 295–304 (2004) 12. Laoutaris, N., Telelis, O.A., Zissimopoulos, V., Stavrakakis, I.: Distributed Selfish Replication. IEEE Transactions on Parallel and Distributed Systems 17(12), 1401– 1413 (2006) 13. Fabrikant, A., Luthra, A., Maneva, E.N., Papadimitriou, C.H., Shenker, S.: On a network creation game. In: Proceedings of the ACM Symposium on Principle of Distributed Computing (PODC), pp. 347–351 (2003) 14. Chen, H., Roughgarden, T., Valiant, G.: Designing networks with good equilibria. In: Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (SODA) (to appear, 2008) 15. Nisan, N., Roughgarden, T., Tardos, E., Vazirani, V.V. (eds.): Algorithmic Game Theory. Cambridge University Press, Cambridge (2007) 16. GNU Linear Programming Kit, http://www.gnu.org/software/glpk/
On Performance Evaluation of Handling Streaming Traffic in IP Networks Using TFRC Protocol Kacper Kurowski and Halina Tarasiuk Institute of Telecommunications, Warsaw University of Technology ul. Nowowiejska 15/19, 00-665 Warsaw, Poland [email protected], [email protected]
Abstract. This paper deals with the performance evaluation of handling streaming traffic in IP best effort networks using TFRC protocol. In our studies we check and discuss an influence of video on demand traffic and different network conditions on TFRC congestion control mechanism. Moreover, we check TFRC performance when it is sharing bottleneck with different versions of TCP. We illustrate our studies by simulation results performed in ns-2 simulation tool and compare results with those obtained for UDP. Keywords: IP network, TCP-Friendly, Video on Demand, Best-effort.
1 Introduction In the last years we have observed the dynamic growth of standardization activity on the Internet towards the multi-service network based on Quality of Service (QoS) architectures, e.g. [20]. However, current version of Internet i.e., best effort network, lacks mechanisms guaranteeing QoS. Therefore, it is not possible to guarantee target values of throughput, IP packet delay (IPTD), packet losses (IPLR) or packet delay variation (IPDV) that are required by applications [21](e.g. audio, video on demand). Moreover, applications generate different types of traffic e.g. streaming or elastic and have different QoS requirements e.g. real time applications are delay sensitive while non-real time applications are loss rate sensitive. In order to provide better service for streaming and elastic traffic (to avoid congestion collapse and starvation of elastic flows by streaming transmissions) without building QoS networks new transport protocols such as TFRC (TCP-Friendly Rate Control [2], [15]) have been designed. TFRC is intended to provide congestion control mechanism for streaming traffic (e.g. audio, video). The protocol is reasonably fair while competing for bandwidth with TCP flows [1]. It is also responsible for maintaining smoothly changing sending rate, which is adjusted according to the changes in network conditions. TFRC may be implemented directly into the application or the transport protocol [7]. This protocol is receiver-based and to calculate allowed transmission rate uses TCP Reno throughput equation derived in [11] and [10]. The performance of TFRC congestion control mechanism has been intensively analyzed. However, in this paper we will present some aspects that have not been presented before. We analyze TFRC when it carries VoD traffic under different network conditions such as level of congestion, A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 207–214, 2008. © IFIP International Federation for Information Processing 2008
208
K. Kurowski and H. Tarasiuk
different RTT (Round Trip Time) values or TCP version used as background traffic. We will compare obtained results with simulations where only UDP was used. The reason to study TFRC performance for handling VoD streams is that TFRC uses throughput equation derived for TCP Reno to control transmission rate and, on the other hand, VoD is non-real time application. The paper is organized as follows: section 2 provides related works dealing with performance evaluation of TFRC; section 3 contains studied system and problem statement; section 4 presents simulation results; section 5 concludes the paper.
2 Related Works There are plenty of papers evaluating effectiveness of TFRC congestion control mechanisms: [4], [5], [16] and [17]. However, majority of them evaluate TFRC when RED (Random Early Detection) [6] was used for buffer management. It is important to emphasis that configuration parameters of RED have strong influence on its performance [19]. Moreover, based on our best knowledge RED is not amply used in current Internet. Therefore, in this paper, similar as in [17], we consider best effort environment where queues are drop-tail with FIFO (First In First Out) queuing discipline. In [4] the smoothness of TFRC throughput was evaluated and compared with the results obtained for AIMD (Additive Increase Multiplicative Decrease). The simulations have shown that TFRC maintains slowly changing sending rate and obtains better results in comparison with AIMD. Authors of [17] compared three TCP-Friendly protocols: GAIMD (Generalized Additive Increase Multiplicative Decrease), TEAR (TCP Emulation at Receivers), and TFRC in terms of friendliness, smoothness and quickness in responding to changes in network conditions. The simulations showed that TFRC maintains smooth sending rate only when loss rate is low and, when losses rise above 10 −1 TFRC throughput changes rapidly and is close to zero. However, [17] did not consider the influence of RTT and traffic characteristics on the congestion control mechanism implemented in TFRC. Based on the studies of current state of the art, we can conclude that there are hardly any publications concerning the impact of VoD traffic on the TFRC’s performance. Only in [18] was considered the transmission of pre-encoded media using TFRC. Authors analyzed the impact of TFRC on user-perceived media quality. The results from their studies can be used by streaming media applications to assess the movie playback rate, which will be based on the current network conditions. We can conclude that until now researchers have focused on evaluation and adjustment of TFRC protocol and verification of its friendliness with TCP flows. The impact of the type of traffic carried by TFRC was not deeply analyzed and simulations were mainly carried with the continuous traffic resembling FTP application. Taking above into account, we propose to evaluate the impact of traffic generated by VoD server on the performance of congestion control mechanism built into TFRC. We analyze TFRC in the best-effort environment, where FIFO/DropTail queuing scheme is used.
On Performance Evaluation of Handling Streaming Traffic in IP Networks
209
3 Problem Statement In this paper we study the impact of traffic characteristics on TFRC congestion control mechanism and the behavior of TFRC under different network conditions. In our studies we employed popular versions of TCP that exist in the Internet [8] because TFRC is supposed to share bandwidth with them. We performed simulations with TCP Reno [13] for which TFRC throughput equation was derived. Moreover, we considered TCP NewReno, which improves protocol performance in situations where there are multiple drops in a single congestion window [14], [3]. Furthermore, we used the most aggressive version of TCP – TCP SACK in which receiver explicitly informs sender about lost packets [12]. As first step of our studies we checked bandwidth sharing between TFRC and each of mentioned TCP versions. We assumed that both TFRC and TCP are associated with greedy source. We wanted to verify if TFRC stays friendly despite the version of TCP that it shares bandwidth with. However, due to space limit we present only main conclusions of these studies. We observed that, TFRC is the friendliest with TCP SACK, but its friendliness decreases along with the increase in RTT. Therefore, we found interesting to evaluate whether increase in delay has a similar effect on TFRC carrying VoD traffic. Moreover, we used different versions of TCP as background traffic for VoD transmission. As reference values for measured metrics obtained for VoD transmission, IPTD and IPLR, we used those proposed in [21]. The reference metrics are mean IPTD=1 s and IPLR=10-3. Let us recall that IPDV is not critical for VoD. For this purpose we studied the following system (see Fig. 1).
Fig. 1. Studied system for VoD transmission
Data packets coming from the source are encapsulated by MPEG-TS (MPEG Transport Stream) ISO/IEC 13818-1 and sent to receiver by UDP with transmission speed controlled by TFRC (there is no transmission rate control in case of standard UDP). Finally, we compared results obtained for TFRC and UDP carrying VoD.
4 Simulations Results As we have mentioned in previous paragraphs we study impact of different RTT values and traffic characteristics on performance of TFRC. Moreover, through experiments we verify whether using TFRC in best effort network can bring any advantage in comparison with actually used UDP/RTP for handling VoD application.
210
K. Kurowski and H. Tarasiuk
We prepared well known single bottleneck topology (Fig. 2). It consists of two IP routers R1 and R2 (with FIFO/drop-tail queue), a number of sources (it depends on evaluated scenario), associated with TFRC, TCP or UDP senders, and a number of receivers. In Fig. 2 we denoted by X link rate between R1 and R2 routers, by (d11,...., d1N), d2, and (d31, ..., d3N) we denoted propagation delay introduced by links between sender – router R1, router R1 – router R2, and router R2 – receiver, respectively. We changed link rate and delay depending on tested scenario.
Fig. 2. Simulation topology
For the simulations we used the ns-2 implementation [9] of TFRC with several modifications required for our needs. Especially due to the TFRC requirement for fixed packet sizes, a middle layer MPEG-TS was introduced to avoid sending small video packets of different sizes and, as a consequence, packets of fixed size (1316 bytes) were generated by the VoD source. Moreover, we modified TFRC source code in ns-2 to measure the value of delay introduced by the TFRC sender while buffering packets before transmission. To properly assess the impact of traffic characteristics on TFRC congestion control mechanism, we used traces [22] of two different movies (“V for Vendetta” and “Cinderella Man”) with different peak to mean rates. The movies were previously captured and stored in the trace files. The first movie had much quicker changes of bit rate in comparison with the second one (on the frame level peak/mean ratio equals 18.2 and 12.1 respectively). 4.1 Impact of TFRC on VoD Transmission In this section we evaluate the impact of VoD traffic on TFRC congestion control mechanism. We performed simulations in the single bottleneck topology depicted in Fig. 2. We begin our studies from testing performance of single VoD connection in isolation. Therefore, we set the link rate between IP routers to 2 Mbps. The link is faster than the peak value of the movies’ bit rates (mean rate about 640 kbps). To test the transmission over distinct network conditions we changed d2 delay values to 20 ms and 60 ms and router R1 buffer size to 20 and 100 packets. The simulations showed that using TFRC to carry VoD transmission slightly changes traffic characteristics. The influence of TFRC increases along with delay and it is also higher for movies with quick changes of bit rate (“V for Vendetta”). As one could expect, TFRC causes the increase of end-to-end packet delay, which in extreme case can be higher of about 1.5 seconds in comparison to UDP. The difference between mean IPTD values for TFRC and UDP grows with the increase of d2 delay value. The reason for greater delays for TFRC is the queuing time in the sender, which is required to shape outgoing traffic in accordance to the allowed value of transmission
On Performance Evaluation of Handling Streaming Traffic in IP Networks
211
Table 1. Simulation results for considered movies UDP 20 ms
TFRC 60 ms
UDP 60 ms
Cinderella Man
TFRC 20 ms
IPLR
V for Vendetta
Protocol d2
none
1.13E-03
none
1.13E-03
mean IPTD [s]
0.027
0.025
0.122
0.075
max IPTD [s]
0.19
0.13
0.82
0.18
IPLR
8.59E-03
2.28E-02
4.30E-03
2.28E-02
mean IPTD [s]
0.079
0.039
0.26
0.079
max IPTD [s]
0.73
0.13
1.69
0.18
rate calculated at the sender. However, the increase of IPTD (IPTD is the sum of the packet queuing and end-to-end transfer time) leads to the decrease of IPLR for TFRC (see Table 1). We observed, that the IPLR value for TFRC and UDP depends on the type of the movie transmitted (value of peak/mean ratio) and on the delay introduced by the network (in case of TFRC). When delay increases, IPLR decreases when TFRC is used. This was due to the fact that for greater delay, TFRC sender waited for a longer time with the increase of sending rate and, therefore, through the introduction of additional delay, reduced the number of lost packets. During the simulations we noticed that the upper limit (twice the receiving rate during last RTT) for the sending rate had some negative influence on VoD traffic. This effect consisted in the introduction of additional delay even though the sender could transmit packets faster due to availability of network resources. However, changing the upper bound for the sending rate caused the increase in IPLR. Nevertheless, the results that we obtained suggest that if there are enough resources for the transport of one VoD stream, TFRC mechanism has a positive impact on the service especially because of the reduction of IPLR value in comparison to UDP (see Fig.3). Having seen that TFRC does not disturb VoD transmission in different network conditions we verified how it deals with scenarios, where there are multiple connections. Therefore, we changed resource usage from about 50% to almost 100% by increasing the number of simultaneous VoD connections. We set the buffer size of bottleneck (10 Mbps) router R1 for three different values: 0.5BDP, 1BDP, 2BDP (Bandwidth Delay Product, BDP [8]) and compared the results obtained for TFRC and UDP. We noted that in our studies TFRC performed especially well in scenario, where the delay introduced by the bottleneck link was low (20ms) and buffers had small sizes (18 or 37 packets). Sample results are shown in Fig. 4. The results are presented with the 0.95 confidence interval. With the increase in buffer space or delay, TFRC and UDP obtained almost identical results. TFRC packets always had higher value of IPTD due to the fact that packets were queued in the sender when equation based sending rate did not allow their transmission. We observed that IPTD value was greater for movies with greater peak/mean ratio such as “V for Vendetta”. It was due to the fact that quick changes in sending rate influenced the value of receiving rate, and receiver reported this and as a consequence limited the allowed sending rate. Nevertheless, comparing to UDP, TFRC allows transmitting more simultaneous VoD connections, which meet
212
K. Kurowski and H. Tarasiuk
1,0E+00
1,0E+00 10
11
12
13
14
15
16
9 1,0E-01
1,0E-02
1,0E-02 IPLR
IPLR
9 1,0E-01
1,0E-03 1,0E-04
11
12
13
14
15
16
1,0E-03 1,0E-04
TFRC 18 packets
UDP 18 packets
TFRC 37packets
1,0E-05
10
UDP 37 packets
1,0E-05
TFRC 74 packets
UDP 74 packets
1,0E-06
1,0E-06 Number of VoD connections
Number of VoD connections
Fig. 3. IPLR for V for Vendetta movie, d2–20ms. Characteristics differ on buffer size expressed in packets (TFRC – Left, UDP – Right).
0,35
0,35
0,3
0,3
0,25
TFRC 74 packets
0,2
UDP 18 packets
TFRC 18 packets IPTD mean [s]
IPTD mean [s]
TFRC 18 packets
UDP 74 packets 0,15 0,1 0,05
0,25
TFRC 74 packets
0,2
UDP 18 packets UDP 74 packets
0,15 0,1 0,05
0
0 9
10
11
12
13
14
Number of VoD connections
(a) V for Vendetta
15
16
9
10
11
12
13
14
15
16
Number of VoD connections
(b) Cinderella Man
Fig. 4. Mean IPTD for d2–20ms. Characteristics differ on buffer size expressed in packets (18, 74).
reference values of IPTD and IPLR (see section 0). We obtained better results for movies with quick changes in bit rate (“V for Vendetta”). The gain of additional VoD connections decreases while d2 delay or buffer size increases. The results that we presented in this section show that in an environment with mainly VoD traffic, the use of TFRC reduces IPLR for tested connections and allows for simultaneous transmission of more VoD connections, which meet QoS requirements. The only drawback of TFRC is the increase of IPTD. 4.2 VoD Transmission Sharing Bottleneck with TCP Traffic In the next simulations we used single VoD source and increased the number of simultaneous FTP sessions (TCP Reno or TCP SACK). This approach is based on the fact that the most amount of network traffic is TCP. Our simulations have shown that the use of TFRC reduces the value of IPLR for VoD traffic. However, the use of TFRC allows activating only one (two for TCP Reno) more TCP connections in comparison with UDP. Sample results (IPTD and IPLR as a function of number of TCP sources) obtained for “Cinderella Man” are presented in Fig. 5. From the graphs we see that, as in all previous simulations, IPTD increases when TFRC is used, which remains within the boundaries defined for VoD.
On Performance Evaluation of Handling Streaming Traffic in IP Networks
1,0E-01
213
0,6 1
2
3
4
5
6
7
8
9
10
11
12
13 0,5
TFRC (RENO)
IPTD mean [s]
UDP (RENO)
1,0E-02 IPLR
TFRC(SACK) UDP(SACK)
1,0E-03
TFRC(RENO) UDP(RENO)
0,4
TFRC(SACK) UDP(SACK)
0,3 0,2 0,1 0
1,0E-04
1
2
3
Number of TCP connections
4
5
6
7
8
9
10
11
12
13
Number of TCP connections
Fig. 5. IPLR and mean IPTD characteristics for Cinderella Man traffic trace sharing bottleneck with TCP (IPLR – Left, mean IPTD – Right), d2–20 ms , X–15Mbps.
1,0E-01
3,0E+06
6
7
8
9
10
11
12
13
TCP Reno (TFRC)
IPLR
1,0E-03 TCP Reno (TFRC) TCP Reno (UDP)
1,0E-04
Throughput [bit/s]
2,5E+06
1,0E-02
TCP Reno (UDP) TCP SACK (TFRC)
2,0E+06
TCP SACK (UDP)
1,5E+06
1,0E+06
TCP SACK (TFRC) TCP SACK (UDP) 5,0E+05 6
1,0E-05
Number of TCP connections
7
8
9
10
11
12
13
Number of TCP connections
Fig. 6. IPLR and throughput characteristics for selected TCP flow (IPLR – Left, mean IPTD – Right), d2–20 ms, X–15Mbps.
Because in our experiments VoD traffic coexists with TCP connections, it is important to assess the impact that VoD has on the parameters of TCP packet transfer (Fig. 6). The results presented for TCP were obtained for one selected TCP connection. From Fig. 6 we can observe that TCP connections coexisting with VoD transmitted using TFRC have slightly higher IPLR values and lower throughput. This effect we may only observe in case where IPLR of the VoD trace exceeds reference values defined for VoD (see section 5). This is due to the fact that TFRC tends to obtain fair share of the bandwidth and its transmission is more aggressive in comparison with UDP. Nevertheless, the differences were within the error margin and can be considered negligible. From the obtained results we noticed that, due to the dynamic shaping of traffic by TFRC, its packets obtain higher end-to-end delay. The difference with UDP can be as high as 0.6 seconds in our studies. On the other hand, the use of TFRC for VoD reduces the packet loss rate.
5 Conclusions In this paper, we considered the transmission of VoD traffic using TFRC protocol. Our results show that when RTT increases TFRC is able to reduce the IPLR value. However, TFRC performs better than UDP only when buffer size in router R1 and end-to-end delay are small. In this case, it allows transmitting more VoD connections at the same time or running more TCP connections taking into account the reference values of IPTD and IPLR. Moreover, when TFRC is used to transmit, VoD traffic has
214
K. Kurowski and H. Tarasiuk
only negligible influence on TCP throughput. In the future, it can be interesting to compare the effectiveness of TFRC with shaped UDP stream and to verify results in real networks. We would like to consider TFRC for performance evaluation studies on multi-service QoS networks.
References 1. Handley, M., et al.: TCP Friendly Rate Control (TFRC): Protocol Specification. Internet RFC 3448 (January 2003) 2. Handley, M., et al.: TCP Friendly Rate Control (TFRC): Protocol Specification, March 2007. Internet draft (2007) 3. Fall, K., Floyd, S.: Simulation-based Comparisons of Tahoe, Reno, and SACK TCP. SIGCOMM Comput. Commun. Rev. 26(3), 5–21 (1996) 4. Floyd, S., Handley, M., Padhye, J.: A Comparison of Equation-Based and AIMD Congestion Control (February 2000) 5. Floyd, S., et al.: Equation-Based Congestion Control for Unicast Applications. In: ACM SIGCOMM 2000, Stockholm (2000) 6. Floyd, S., Jacobson, V.: Random Early Detection Gateways for Congestion Avoidance. IEEE/ACM Trans. on Netw. 1(4), 397–413 (1993) 7. Kohler, E., Handley, M., Floyd, S.: Datagram Congestion Control Protocol (DCCP). Internet RFC 4340 (March 2006) 8. Lee, H., Lee, S.-h., Choi, Y.: The Influence of the Large Bandwidth-Delay Product on TCP Reno, NewReno, and SACK. In: ICOIN (Japan, January 2001) 9. The Network Simulator (NS-2)., http://www.isi.edu/nsnam/ns/ 10. Padhye, J., et al.: Modeling TCP Reno Performance: A Simple Model and Its Empirical Validation. IEEE/ACM Trans. on Netw. 8(1), 133–145 (2000) 11. Padhye, J., et al.: Modeling TCP Throughput: A Simple Model and its Empirical Validation. In: SIGCOMM Symp. on Commun. Architectures and Protocols, Vancouver (1998) 12. Mathis, M., Mahdavi, J., Floyd, S., Romanow, A.: TCP Selective Acknowledgement Options. Internet RFC 2018 (October 1996) 13. Allman, M., Paxson, V., Stevens, W.: TCP Congestion Control. Internet RFC 2581 (April 1999) 14. Floyd, S., Henderson, T.: The NewReno Modification to TCP’s Fast Recovery Algorithm. Internet RFC 2582 (April 1999) 15. Floyd, S., Kohler, E.: TCP Friendly Rate Control (TFRC): The Small-Packet (SP) Variant. Internet RFC 4828 (April 2007) 16. Widmer, J.: Equation-based Congestion Control, Master’s thesis, University of Mannheim (February 2000) 17. Yang, Y.R., et al.: Transient Behaviors of TCP-friendly Congestion Control Protocols. In: IEEE INFOCOM 2001, Anchorage Alaska (April 2001) 18. Xu, L., Helzer, J.: Media streaming via TFRC: An analytical study of the impact of TFRC on user-perceived media quality. Computer Networks 51(17), 4744–4764 (2007) 19. Ziegler, T., Brandauer, C., Fdida, S.: A quantitative Model for the Parameter Setting of RED with TCP traffic. In: IWQoS 2001, Germany (June 2001) 20. ITU-T Rec.Y.2001, General Overview of NGN (2004) 21. ITU-T Rec. Y.1541, Network Performance Objectives for IP-based Services(2002) 22. VoD traces used: http://tnt.tele.pw.edu.pl/include/tools/vod_traces.php
Efficient Heuristic for Minimum Cost Trees Construction in Multi-Groups Multicast Keen-Mun Yong, Gee-Swee Poo, and Tee-Hiang Cheng Network Technology Research Centre (NTRC) School of Electrical and Electronic Engineering, Nanyang Technological University, Singapore 639798 {yong0010,egspoo,ethcheng}@ntu.edu.sg
Abstract. We propose an efficient and fast heuristic algorithm (MGST) to construct minimum cost tree for each multicast-group in multi-groups multicast. The idea is to construct just one spanning shared-tree that allows minimum cost tree of each multicast-group to be computed from this shared-tree. MGST is compared with the low overheads Core-Based Tree algorithm (CBT) and approximate optimal cost Minimum Cost Tree heuristic (MCT) through simulations. The results showed that MGST constructs trees with average cost close to the approximate optimal (7% difference). The overheads incurred from MGST are also comparable to CBT and much lesser than MCT. In addition, MGST has also shown to construct minimum cost trees much faster than MCT and comparable to CBT. To further improve the performance, “trace back” method is introduced to MGST and denoted as MGST-T. MGST-T yields average cost performance of only 2% difference from the optimal and with almost the same overheads and trees’ construction time as MGST. Keywords: Multicast, Multi-groups, Minimum cost tree, Shared-Tree.
1 Introduction Due to increase demand of multicast services, it is not unusual to have applications that cater multicast services to a wide diversity of users. Each group of users will be assigned a multicast-group within which multicasting can take place and each request to deliver traffic within the group is known as a multicast-session. We refer this as multi-groups multicast. Each user in the group will be identified as the group’s member. The tree constructed to deliver traffic for each group must be cost-efficient due to economic reason. Thus, the problem of computing minimum cost trees in multi-groups multicast is referred as the Multi-Groups Multicast problem (MGM). The problem of constructing minimum cost tree for a multicast-session can be modeled as a Steiner tree problem which is known to be NP-complete [1], and heuristics have been developed to approximate the constructed tree cost to the optimal. The most well-known is the one from [2] which constructs minimum cost tree for each multicast-session from a graph consisting of minimum cost paths between any two nodes for all the nodes. We henceforth refer the heuristic from [2] as A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 215–226, 2008. © IFIP International Federation for Information Processing 2008
216
K.-M. Yong, G.-S. Poo, and T.-H. Cheng
Minimum Cost Tree heuristic (MCT). As MCT or any other source-based algorithms constructs a tree for each session from source to its destinations, the overheads incurred and the time to construct a tree will be large if the number of destinations is large. This is not desirable especially for applications which require the trees to be ready within a short time period. Also, effective algorithms for dynamic membership multicast [3] proposed in [4], [5] will not work well and may incur race condition if the rearranged tree is not ready before the arrival of next member’s addition or removal event. In this paper, we proposed Multi-Groups Shared Tree algorithm (MGST) for the MGM problem. The objective is to construct minimum cost trees comparable to the optimal cost using minimal overheads and time to provide reliable and efficient multicasting. We then further improve the cost performance of MGST and denote it as MGST-T. The organization for the rest of the paper is as follows. Section 2 states the network model. Section 3 gives a brief review of CBT[6] and MCT in multi-group multicast. Section 4 presents the proposed algorithms. The performance of the proposed algorithms is evaluated in section 5. Section 6 concludes the paper.
2 Network Model We model the network as a graph G = (V, E) where V is a set of nodes and E a set of edges. All nodes are assumed to be source and destination node candidate and multicast-capable. Each edge e ∈ E connecting node x and y is denoted as ex , y and has a non-negative cost C (e) associated with it. We assume symmetric link cost. The cost of any directed tree T = (VT , ET ) in the network is given by C (T ) = ∑ e∈E C (e) . T
The set of multicast-groups is given by Q = {q1 ,......, qx } where each group consists of members given by qi = (mi ) . The set of incoming multicast-session requests is given by Y = { y1 ,...., y j } and each request is expressed in the form of yi = { X , si , Di } where si and Di are the source and its set of destinations respectively, and X is the multicast-group ID which the session is requested from. In order to deliver traffic efficiently, a tree Ty is constructed for each session y.
3 Review of CBT and MCT in Multi-Groups Multicast 3.1 Core-Based Tree Algorithm (CBT)
In CBT [6], a core node is first selected and each member of a multicast-group sends a join message to this core node to connect itself to the shared-tree constructed so far. This continues until all the members are connected via the shared-tree. Hence, each shared-tree is shared among the members of each group and the number of CBT required is proportional to the number of multicast-groups involved. However, for each group, since only a single shared-tree is employed, the number of overheads incurred and the processing time to construct the tree ready for data delivery each time a session request is made will be low. Thus, we evaluate the performance of our
Efficient Heuristic for Minimum Cost Trees Construction in Multi-Groups Multicast
217
proposed algorithm using CBT as the benchmark in terms of the overheads incurred as well as the processing time to ready the tree for data delivery. However, due to all paths in tree are required to travel through a core node, the selection of the core node will determine the resource and cost efficiency of the tree. This means that low cost tree cannot be a guarantee since core node selection is complex and can only be approximated most of the time and congestion may occurs at the core node leading to undesirable consequence unless a very efficient queuing model can be applied at the core node. In this paper, to minimize the tree cost constructed by CBT for comparison with our proposed algorithm in terms of both overheads and cost, the core node is selected such that its average minimum cost to the other members in the group is the minimum compared with the rest of the nodes. After which, each member of group is added to the core-based tree by means of least minimum cost path until all the members are connected in the shared-tree. 3.2 Minimum Cost Tree Heuristic (MCT)
In MCT [2], minimum cost path between any two nodes are first computed. These paths make up the links of a minimum cost graph. In this graph, all the nodes are connected via links which corresponds to their respective minimum cost path joining between them. For each incoming multicast-session request, the tree construction starts from the source node. From the source node, the least cost link in the graph to its neighboring member node is appended to the tree constructed so far. The next least cost link from unconnected member node to this tree will then be appended and this continues until all member nodes have been connected to the tree. The links in the obtained tree are then expanded to their respective minimum cost paths. Pruning may be required to remove any unnecessary links. It has been shown in [2] that MCT is able to obtain trees with cost very close to the optimal. Thus, we evaluate the performance of our proposed algorithm using MCT as the benchmark in terms of cost efficiency. However, since a minimum cost tree needs to be constructed for each incoming session request, and the least minimum cost path is required to be searched and selected to append to the tree for connection of each member, therefore the processing time to ready the tree for data traffic and overheads incurred will be significantly larger than that of CBT.
4 Our Proposed Algorithms (MGST and MGST-T) 4.1 Details
Our proposed Multi-Groups Shared Tree algorithm (MGST) consists of two phases. The first phase is to construct a cost efficient shared-tree spanning to all nodes. The second phase is to compute minimum cost tree for each multicast-session from the shared-tree obtained in the first phase. We assumed that the minimum cost path between any two nodes in the graph has been computed using Dijkstra algorithm and stored in the set W. MGST-T is an improvement of MGST where “trace back” method is introduced in the second phase.
218
K.-M. Yong, G.-S. Poo, and T.-H. Cheng
4.1.1 Phase 1: Construction of Cost-Efficient Spanning Shared-Tree
For each iteration of the cost-efficient shared-tree construction, we consider each neighboring node of the existing shared-tree as the potential node to connect. In order to have a cost-efficient shared-tree, the selection function (SF) which selects each neighboring node to add to the tree in each iteration must be in such a way that the cost to deliver traffic via (as a transition node) or from the node (as a source node) is low. A transition node is used to relay data. Hence, for each iteration of the sharedtree construction, the SF of a particular unconnected node j which is a neighbor to the existing shared-tree should consider the average minimum cost to deliver traffic to each node from node j either as a transition node or source node.
Fig. 1. An example of constructing shared-tree in MGST
From fig.1, when the next node is to be added to the sharing-tree, the SF of each potential node j needs to compute the average minimum cost to deliver traffic via node j and this consists of average minimum cost from any of the nodes in the existing shared-tree constructed so far to node j and the average minimum cost to any of the nodes not in the tree from node j, and vice versa. Since symmetric link cost is assumed, therefore only one direction needs to be considered. Since those unconnected nodes cannot be reached via the tree, therefore the computation of the average minimum cost to any of the nodes not in the tree from node j should be approximated by the average minimum path cost from j to the unconnected nodes. Let H and R be the set of unconnected nodes and set of connected nodes to the existing shared-tree respectively. Denoting ek , j as the minimum cost link between the existing shared-tree Ts and node j and Cm ( Px , y ) as the minimum cost path between node x and y, the selection function of a unconnected node j can be expressed as,
⎡1 1 SF ( j ) = ⎢ ⎡⎣C (Ts ) + C (ek , j ) ⎤⎦ + R H ⎣⎢
∑
b∈H
⎤ Cm ( Pj ,b ) ⎥ ⎦⎥
(1)
The first term in (1) computes the average minimum cost from any of the nodes in the existing shared-tree constructed so far to node j and the second term computes the average minimum cost to any of the nodes not in the tree from node j. The node with the least SF value among the unconnected nodes is selected to append to the existing
Efficient Heuristic for Minimum Cost Trees Construction in Multi-Groups Multicast
219
shared-tree via the minimum cost link between the existing shared-tree and the node, and this continues until all nodes are appended to the tree. For each iteration of the shared-tree construction, since the existing shared-tree makes no further changes in its structure, therefore it is independent to the cost contribution to future iteration of the construction process. This means that for the SF computation of an unconnected node during each iteration, the existing shared-tree can be viewed as a single entity, and the first term in (1) can be replaced by the average minimum cost between the existing shared-tree and the unconnected node. Thus, (1) is further simplified as, ⎡ 1 SF ( j ) = ⎢C (ek , j ) + H ⎢⎣
∑
b∈H
⎤ Cm ( Pj ,b ) ⎥ ⎥⎦
(2)
The final tree obtained is the cost-efficient spanning shared-tree. For selecting the first node to include in the shared-tree to start the construction process, it can be observed that since initially no shared-tree is constructed, therefore the first component of (2) is zero and the node with the least average minimum cost to all other nodes is selected to add into the shared-tree to start the construction process. Each node in the existing shared-tree is required to know the up-to-date configuration of the existing shared-tree so that the SF of those unconnected nodes can be computed for further tree construction. Hence, whenever a new node is added to the shared-tree, a control packet which stores the new node addition information is broadcast from the nearest on-tree neighboring node of the added node to all other nodes in the existing shared-tree. The overheads incurred by MGST in phase 1 are the total number of control packets required to complete the shared-tree construction.
Fig. 2. 8-nodes random network and its table of minimum cost path between any two nodes using Dijkstra algorithm. The numeric cost of each path is shown beside the path in the table.
Fig.2 shows an 8-nodes random network and the corresponding minimum cost path between any two nodes tabulated using Dijkstra algorithm. Fig.3 shows the stages of computing the spanning shared-tree using MGST from the network in fig.2. For the first stage shown in fig.3(a), node G has the least SF value of 2.86. Hence, it is selected as the first node to add to the shared-tree. Since only node F, A and H are neighbors to G in the network, therefore their SF are computed while the rest are labeled infinity. Since node A has the least SF, it is selected next to be connected to the shared-tree shown in fig.3(b). If there is a tie in SF value, the one with the least
220
K.-M. Yong, G.-S. Poo, and T.-H. Cheng
Fig. 3. (a) - (g) Seven stages in producing the cost-efficient spanning shared-tree using MGST. (h) The final cost-efficient spanning shared-tree produced by MGST.
connection link cost will be selected to be connected to the shared-tree. This is repeated shown in fig.3(c) to fig.3(f) until all the nodes are connected in the spanning shared-tree shown in fig.3(h). 4.1.2 Phase 2: Construction of Minimum Cost Tree for Each Session When an incoming session arrives, the source-members pair information will be stored in each data packet as part of the packet’s overheads. Each packet will be sent from the source via the shared-tree constructed in section 4.1.1. Each node in the shared-tree upon receiving the packet will check if its descendent sub-tree has any member nodes. If there is, the packet will be duplicated and transmitted out, while no further action will be done if otherwise. Fig.4 shows the tree constructed for a session with source node at C and destination nodes at E, G, F, A and B by MGST, MCT and CBT. The arrows indication in fig.4 shows CBT is a core-based tree with core at G while MGST and MCT are source-based trees. G is selected as the core for CBT because it has the least average minimum cost to the other destination nodes. It can be observed that both MGST and MCT have tree cost of 12 units while CBT has tree cost of 13 units. Although it is fairly simple to obtain minimum cost tree through pruning of the shared-tree in MGST, one disadvantage is that minimum cost tree may not be obtained for all cases. For example, if only a handful of nodes are members, then the session-tree obtained via pruning from the spanning shared-tree may consist a large
Efficient Heuristic for Minimum Cost Trees Construction in Multi-Groups Multicast
221
Fig. 4. An example of constructing minimum cost tree for a session with source node at C and destination nodes at node E, G, F, A, B in network given in fig.2. (a) Session-Tree produced by MGST. (b) Session-Tree produced by MCT. (c) Session-Tree produced by CBT.
Fig. 5. An example of constructing minimum cost tree for a session with source node at C and destination nodes at node F, B in network given in fig.2. (a) Session-Tree produced by MGST. (b) Session-Tree produced by MCT. (c) Session-Tree produced by CBT.
number of non-leaf nodes which are not necessary (redundant nodes) to connect the destination nodes. This leads to redundant cost in the tree and increases the tree cost instead of minimizing it. Fig.5 shows one such example where a session has source node at C and destination nodes at B and F. As node B and F are leaf-nodes in the shared-tree obtained from MGST with respect to the source C shown in fig.5(a), therefore no edges can be pruned and the total session-tree cost is 12 units. This is in big contrast to the tree obtained from MCT and CBT both with session-tree cost of 5 units. To solve this, we introduced “trace back” method to phase 2 of MGST to trace back the minimum cost link between each node of the shared-tree and the current active tree constructed. Each node in the shared-tree upon receiving the packet will check if a direct minimum cost link to the current active tree existed. If so, the minimum link cost is compared to the cost of shared-tree path between the nearest “anchor” node towards the direction of the source and the node. This “anchor” node is defined as the ingress node of the shared-tree path which can be replaced by the minimum cost link to the particular node without creating any dis-joint trees as a result. Hence, “anchor” node can be the source node; ingress of the minimum cost link; a destination node or a node with out-degree greater than one. The minimum cost link replaces the shared-tree path if it has smaller cost. Two extra control packets are required. One packet is required to prune the replaced path and the other packet to activate the replacing link. The idea is to remove redundant nodes in the tree.
222
K.-M. Yong, G.-S. Poo, and T.-H. Cheng
Fig. 6. (a) – (d) Four stages to construct minimum cost tree in MGST-T. (d) The final sessiontree for session with source at node C to destination node B and F.
Fig.6 shows an example of the “trace back” method in MGST. From the sharedtree obtained in fig.3(h), since F is the first node from C which has minimum cost link connecting to the current active tree constructed, therefore the cost of path from C to F in the shared-tree and the cost of minimum cost link between C and F are compared. Since the minimum link from C to F has cost of only 3 units, while the path from C to F in the shared tree has 7 units, therefore the path is replaced with the minimum cost link. However, since G has another link connected to H beside F, therefore only the link between G and F in the path is replaced with the link between C and F shown in fig.6(b). The next node which has minimum cost link connecting to the current active tree constructed is H. As the minimum cost link between F and H is smaller than from C to D to H, the path C to D to H is replaced with C to F to H shown in fig.6(c). And finally at B, since C to B has smaller cost than from C to F to H to E to B, thus the final session-tree is obtained in fig.6(d). This tree has the same low cost of 5 units compared to MCT and CBT shown in fig.5(b) and (c). This is a vast improvement compared to the tree obtained without “trace back” in MGST shown in fig.5(a). For easier reference and distinction of the improvement made to our proposed algorithm, we denote MGST-T as the algorithm with “trace back” method introduced. 4.2 Complexity of MGST and MGST-T 2
The worst case complexity to construct the shared-tree is O( V ) as each node is considered iteratively to append to the shared-tree. As no further action is required other than identifying pruned edges and tracing minimum cost link when session request arrives, by normalizing the complexity of all identification processes whereby tree information is known as O(1) , the complexity to set up session-tree is O(1) . Thus, the total complexity of MGST is O( V ) + O( Y ) where Y is the total set of multicast-session requests. If the worst case complexity is such that each node performs “trace back” in MGST-T, then the total worst case complexity of MGST-T 2
will be O( V ) + O( 2Y ) since again all the “trace back” links and the replaced paths are all known and do not require additional searching. The worst case complexity for 2
CBT and MCT are ∑ q ∈Q O ( qi ) + O ( Y ) and ∑ y ∈Y O( Di ) respectively. 2
i
2
i
Efficient Heuristic for Minimum Cost Trees Construction in Multi-Groups Multicast
223
5 Performance Evaluations 5.1 Performance Metrics 5.1.1 Cost Competitiveness (CC)
It is a measure of a given algorithm’s average tree cost performance with respect to an optimal algorithm. Finding optimal cost tree is proven to be NP-complete. As MCT constructs trees with cost approximate to the optimal, therefore, it is used as the benchmark for cost efficiency. Let R = {T1 ,....., Tx } and U = {B1 ,....., Bx } be the set of trees constructed by a given particular algorithm and by MCT respectively for a total of x = Y multicast-session requests. The CC of a given algorithm is expressed as CC =
⎛ C (Ty ) ⎞ 1 ⎜ ⎟⎟ . A low CC is desired as it means that the given algorithm is ∑ y∈Y ⎜ x ⎝ C ( By ) ⎠
able to construct trees with cost not too far off from the optimal cost algorithm. 5.1.2 Overheads Incurred
We defined overheads incurred as the total number of control packets required to set up the tree ready for multicasting. For CBT, the overheads incurred are the total number of join messages required to construct the trees for all groups. For MCT, the overheads incurred are the total number of control packets sent to each node in the existing tree of each iteration for all iterations of the construction process. For MGST, the overheads consist of the control packets required in constructing the spanning shared-tree. Additional overheads are incurred for MGST-T as mentioned earlier. The overheads incurred should be low to allow lesser resource used for setting up trees. 5.1.3 Tree Construction Processing Time
To measure the complexity of the algorithms we measure the average processing time required to construct a tree for each multicast-session. This does not include the spanning shared-tree construction time at the initialization stage for MGST since we are only interested in the time efficiency between the period when a session request is made and its corresponding tree ready for data transmission. 5.2 Simulation Model
Waxman method [7] was used to generate random networks ranging from 10 to 100 nodes with average node’s outdegree of 3 to 4 to analyze the performance of MGST and MGST-T. Readers are to refer to [7] for details in the method. Each link has cost ranging between 1 to 10 units. 100 multicast-session requests are randomly generated. Each of the requests is to perform multicasting in an arbitrary selected multicastgroup involved. The member size of each group is defined uniformly distributed when all groups have the same member size, and non-uniformly distributed when the groups have different member size. For non-uniform distribution, we defined a member size range K and uses 50% of the network size as the mid-point of the range.
224
K.-M. Yong, G.-S. Poo, and T.-H. Cheng
This means that if the range is K on a network of 100 nodes, the member size distribution ranges from 50 − K to 50 + K . 5.3 Simulation Results and Discussions
Fig.7(a) shows that CBT has an average CC of 1.2 while MGST and MGST-T have average CC of 1.07 and 1.02 respectively. This means that MGST and MGST-T are able to construct trees with cost very close to the optimal and performs much better than CBT. MGST-T has even lower CC than MGST due to the “trace back” method introduced to remove any redundant nodes in the trees to minimize costing. Fig.7(b) shows that the overheads incurred by MGST and MGST-T are smaller than CBT for smaller networks and comparable to CBT for larger networks. This is because the spanning shared-tree gets larger with larger network and thus requires more overheads. It is interesting to note that MGST and MGST-T have much lower overheads incurred compared to MCT (optimal cost heuristic) but yet able to yield also similar cost performance as shown in fig.7(a).
(a)
(b)
Fig. 7. (a) CC vs. Network size. (b) Overheads Incurred in Log10 scale vs. Network size. (group size of 100 and uniform per group’s member size of 50% of network size).
Fig.8(a) shows that the average time taken for MCT to ready a session-tree increases exponentially with increases in network size, while the increase is much more gentle for MGST, MGST-T and CBT. This is due to the employment of sharedtrees which allows sessions to use it to derive the delivery trees without having to reconstruct them from scratch each time. From fig.7(a) , fig.7(b) and fig8.(a), it can be concluded that MGST and MGST-T are able to construct minimum cost trees using minimal overheads and within a very much shorter time. Fig.8(b) shows that as the member size per group increases, CBT increases in CC while MGST and MGST-T decreases in CC. This is because MGST and MGST-T construct trees out of a sharedtree which uses the average minimum cost from a node to the rest as the selection criteria to add each node iteratively. This means that we assume all other nodes are
Efficient Heuristic for Minimum Cost Trees Construction in Multi-Groups Multicast
225
members during the shared-tree construction. Thus, as the member size increases, more member nodes contribute to the average minimum cost computation from one node to all others, thus increasing the accuracy of the selection to construct a cost efficient shared-tree. Even at smaller member size, CC of MGST is comparable to CBT, and as the member size increases, MGST and MGST-T performs much better by having much smaller CC than CBT. It can be observed in fig.8(b) that MGST-T has even lower CC than MGST. This shows that our theory of removing redundant nodes via “trace back” method is correct.
(a)
(b)
Fig. 8. (a) Average tree construction processing time vs. Network size (group size of 100 and uniform per group’s member size of 50% of network size). (b) CC vs. Uniform member size per group (group size of 100 on 100 nodes network).
(a)
(b)
Fig.9. (a) CC vs. Non-uniform member size range per group (group size of 100 on 100 nodes network). (b) CC vs. multicast-group size (uniform per group member size of 100 on 100 nodes network).
226
K.-M. Yong, G.-S. Poo, and T.-H. Cheng
Fig.9 shows that the CC performance of MGST and MGST-T are still much better than CBT and are close to the optimal when the member size per group is nonuniform.. Fig.9(b) also shows that MGST and MGST-T perform much better than CBT when multicast-group size varies from 10 to 100 nodes. MGST-T lies very close to CC=1, indicating MGST-T’s consistency in constructing trees with cost close to the optimal. Again, it can be observed that MGST-T performs better than MGST due to the removal of redundant nodes in the delivery trees. From the above figures, it is easy to conclude that MGST and MGST-T are able to construct minimum cost trees within a very short time and with overheads comparable to the optimal.
6 Conclusion In this paper, we proposed efficient algorithms to construct a single spanning sharedtree used to compute each incoming multicast session tree. We explained the need for an algorithm that constructs cost-efficient multicast-trees within a very short processing time with as little overheads as possible. To lower tree cost even further, “trace back” is introduced to phase 2 of MGST and we denote this improved algorithm as MGST-T. Intensive simulations carried out on MGST and MGST-T against approximate optimal cost heuristic such as MCT and low overheads algorithm such as CBT, showed that MGST and MGST-T are able to compute trees within a very short processing time; with cost comparable to optimal cost MCT and overheads incurred comparable to low overheads CBT. In conclusion, our proposed MGST and its improved MGST-T are able to construct trees with approximate optimal cost in multi-groups multicast much faster than existing algorithms using much lesser overheads. However, it should be noted that MGST and MGST-T are only limited to non-delay constraint scenarios where delays requirement is largely relaxed. With more multicast applications having strict delays requirement, it will be worthwhile to expand MGST and MGST-T to delay-constraint environment as our future work.
References 1. Karp, R.M.: Reducibility among combinatorial problems. In: Miller, R.E., Thatcher, J.W. (eds.) Complexity of Computer Computations, pp. 85–103. Plenum Press, New York (1972) 2. Kou, L., Markowsky, G., Berman, L.: A fast algorithm for Steiner Trees. Acta Informatica 15, 141–145 (1981) 3. Striegel, A., Manimaran, G.: A survey of QoS Multicasting Issues. IEEE Comm. Magazine, 82–85 (June 2002) 4. Raghavan, S., Manimaran, G., Murthy, C.S.R.: A Rearrangeable Algorithm for the Construction of Delay-Constrained Dynamic Multicast Trees. IEEE/ACM Transactions on Networking 7(4), 514–529 (1999) 5. Bauer, F., Verma, A.: ARIES: A rearrangeable inexpensive edge-based on-line Steiner algorithm. IEEE J. of Selected Areas in Comm. 15, 382–397 (1997) 6. Ballardie, A., Francis, P., Crowcroft, J.: Core Based Trees (CBT) and Architecture for Scalable Inter-domain Multicast Routing. In: ACM SIGCOMM 1993, August 1993, pp. 85– 89 (1993) 7. Waxman, B.: Routing of multipoint connections. IEEE Journal of Selected Areas in Communication 6, 1617–1622 (1988)
Delay Bounds and Scalability for Overlay Multicast Gy¨ orgy D´ an and Vikt´ oria Fodor ACCESS Linnaeus Centre, School of Electrical Engineering KTH, Royal Institute of Technology Stockholm, Sweden {gyuri,vfodor}@ee.kth.se
Abstract. A large number of peer-to-peer streaming systems has been proposed and deployed in recent years. Yet, there is no clear understanding of how these systems scale and how multi-path and multihop transmission, properties of all recent systems, affect the quality experienced by the peers. In this paper we present an analytical study that considers the relationship between delay and loss for general overlays: we study the trade-off between the playback delay and the probability of missing a packet and we derive bounds on the scalability of the systems. We use an exact model of push-based overlays to show that the bounds hold under diverse conditions: in the presence of errors, under node churn, and when using forward error correction and various retransmission schemes. Keywords: Overlay multicast, Scalability, Delay, Large-deviation theory.
1
Introduction
Overlay multicast is promising for distributing streaming data simultaneously to a large population of users. The architectures proposed for overlay multicast (a.k.a. peer-to-peer streaming) generally fall into one of two categories: push-based or pull-based. Solutions of both categories utilize multi-path transmission. Multi-path transmission offers two advantages. First, disturbances on an overlay path lead to graceful quality degradation in the nodes. Second, the output bandwidth of the peers can be utilized more efficiently. Push-based overlays follow the traditional approach of IP multicast: nodes are organized into multiple transmission trees and relay the data within the trees. The streaming data is divided into packets and packets are transmitted at roundrobin through the transmission trees, providing path diversity for subsequent packets in this way. The transmission trees are constructed at the beginning of the streaming session and are maintained throughout the session by a centralized or a distributed protocol. Node churn leads to the disconnection of the trees and hence to data loss, which is one of the main deficiencies of push-based overlays.
This work was in part supported by the Swedish Foundation for Strategic Research through the project Winternet.
A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 227–239, 2008. c IFIP International Federation for Information Processing 2008
228
G. D´ an and V. Fodor
Fig. 1. The playback delay and the time needed to connect to the overlay
The pull method (also called swarming) follows the approach of batch peer-topeer content distribution: nodes know about a subset of all nodes (their neighbors); they both receive data from and forward data to their neighbors. There is no global structure maintained, hence the scheduling of data transmissions is determined locally. Pull-based overlays are resilient to node churn as forwarding decisions are taken based on the actual neighborhood information, but their efficiency depends on the scheduling algorithm. Several works deal with the management of push-based overlays ([1,2] and references therein) and with scheduling algorithms for pull-based overlays ([3,4] and references therein). There are also numerous proposals on how to improve the robustness of the overlays to errors using coding techniques such as forward error correction (FEC), multiple description coding (MDC) and network coding [5]. The evaluation of the proposed solutions is mostly based on simulations and small scale measurements; the analytical modeling of overlay multicast has not received much attention. There are a number of commercial deployments of overlay multicast, e.g. [6,7]. Commercial systems often serve hundreds of thousands of peers simultaneously [8], yet little is known how they would behave if the number of concurrent users increased to its tenfold. We argue that there is a need for an analytical understanding of the performance of large systems in order to be able to design systems that can provide predictable and controllable quality under a wide range of operating conditions. The most important difference between overlay multicast systems and peerto-peer content distribution, such as Bittorrent, is the delay aspect: data should be delivered to the nodes before their playout deadline. The probability that data arrive before their playout deadline depends on the playback delay b: the lag between the time of the generation of a packet at the source and the time of the playback at the peers, as shown in Fig. 1. The necessary playback delay for providing good streaming quality may depend on many factors: the overlay’s architecture and size, which determine the nodes’ distances from the source; the per-hop delay distribution, the packet loss probability between the nodes and
Delay Bounds and Scalability for Overlay Multicast
229
the error control solutions used; and the frequency of node departures and the time needed to reconnect to the overlay in the case of push-based overlays. In this paper we consider two questions related to the playback delay. First, how fast does the probability of missing a packet decrease as a function of the playback delay. Second, how fast should the playback delay be increased to maintain the probability of missing a packet unchanged as the overlay’s size increases. We give bounds on the decrease of the packet missing probability and the necessary increase of the playback delay under general assumptions. Our results facilitate the choice of benchmarking metrics for the performance evaluation of overlay multicast systems. The rest of the paper is organized as follows. Section 2 gives an overview of the related work. Section 3 presents bounds on the playback delay and the scalability of the overlays based on the foundations of large deviation theory. Section 4 discusses the delay bounds and the performance of the overlays based on an exact mathematical model of overlay multicast systems, and we conclude our work in Section 5.
2
Related Modeling Work
The trade-off between the available resources and the number of nodes that can join the overlay was studied for overlay multicast systems utilizing a single transmission tree in [9]. The first models that describe the data distribution performance of multi-tree-based overlay multicast were proposed in [10,11] and showed that these systems exhibit a phase-transition when using FEC. The effect of the forwarding capacity on multi-tree-based overlays was investigated in [12] using a queuing theoretic approach, and in [13] based on a fluid model. The delay characteristics of a pull-based overlay were investigated in [4], and the authors showed an exponential relationship between the playback delay and the packet missing probability. The analytical results presented there are limited to a specific packet forwarding algorithm and to complete graphs. In [14] we presented an analytical model of push-based overlays and used the model to identify the primary sources of delay in overlay multicast. We are however not aware of analytical results neither on the scalability of overlay multicast architectures in terms of delay, nor on the effects of the playback delay on the performance.
3
Delay Bounds
We model the overlay as a directed graph G = (V, E) with N = |V | vertices. The set of vertices and edges can change over time due to node churn and due to the overlay management. We chose to omit the time dimension in our notation in order to ease understanding. Let us denote by s the source of the multicast, and by Ti the spanning tree rooted at the source, through which the copies of packet i reach the nodes in V . In a push-based overlay with τ trees the Ti are predetermined by the overlay maintenance entity and ∪Ti = E. In a pull-based overlay the Ti are a result
230
G. D´ an and V. Fodor
of local decisions taken in the nodes, such that all edges (u, v) ∈ Ti are chosen from E. E is maintained by the overlay maintenance entity. Let us denote by the random variable Li (v) the length of the simple path from s to v in Ti , and by the random variable Di (v) the time it takes for packet i to reach node v from s in Ti . We assume that every packet reaches every node after some finite amount of time, i.e., limb→∞ P (Di (v) ≤ b) = 1. Both push-based overlays with retransmissions and pull-based overlays (e.g., using the policy described in [4]) can fulfill this requirement. Di (v) is the sum of Li (v) ≤ N − 1 per-hop delays. We denote the per-hop Li (v) delays by the non-negative random variables Xh (v), i.e., Di (v) = h=1 Xh (v). For example, in Fig. 1, L400 (v) = 6 and L600 (v) = 4, i.e., the packets reach node v on different overlay paths. The distribution of the Xh (v) depends on many factors, e.g., the data distribution model (time spent for coordination between nodes), the probability of losses (due to churn and network congestion), the nodes’ upload capacities, and the distance from the source (many proposed architectures place nodes with large upload capacities close to the source). The probability that node v with playback delay b misses an arbitrary packet i is P (Di (v) > b). 3.1
Playback Delay in Stationary State
First, we consider an overlay in which N is a stationary process, and consequently Li (v) is a stationary process as well. Li (v) has a finite support and the per-hop delays Xh (v) follow distributions with finite moment generating functions (m.g.f), i.e., a light-tailed distribution. We are not aware of measurements that would show heavy-tailed end-to-end delay distributions, but theoretical work has shown that heavy-tailed distributions can arise in the presence of selfsimilar traffic [15]. We argue that the per-hop delays can be modeled with a distribution with finite m.g.f. even in this case, if the back-off scheme in use is sub-exponential, e.g., polynomial. Large delays trigger retransmission requests that cut the heavy tail of the distribution, and the resulting distribution will be geometric-like, which has a finite m.g.f. We leave the case of exponential back-off schemes, i.e., heavy-tailed per-hop-delays, to be subject of future work. Given the per-hop-delays with finite moment generating functions, the sum of the perhop delays has finite m.g.f. even if the per-hop delays are positively correlated, as shown by the following lemma. Lemma 1. Given non-negative random variables Xh (h = 1 . . . n, n > 0) with marginal p.d.f f (x1 , . . . , xn ) such that E[eθXh ] < ∞, for n p.d.f fh (x) and joint θSn Sn = h=1 Xh we have E[e ] < ∞. n Proof. For independent r.v.s the proof is trivial, E[eθSn ] = Πh=1 E[eθXh ]. For correlated r.v.s, we prove the lemma can be used for n > 2. x for n = 2, induction x Let us order X1 and X2 such that 0 f1 (t)dt ≤ 0 f2 (t)dt for ∀ x > x0 (x0 > 0). Let us denote by X2∗∗ a random variable that is distributed as X2 but is in perfect positive dependence with X1 (see [16] for a definition), that is x2 = g(x1 ) for
Delay Bounds and Scalability for Overlay Multicast
231
some function g. E[eθ(X1 +X2 ) ] is a convex, monotonically increasing function, hence [16] ∗∗ E[eθS2 ] = E[eθ(X1 +X2 ) ] ≤ E[eθ(X1 +X2 ) ]. (1)
Since there exists θ > 0 such that E[eθ X1 ] < ∞ ∞ ∞ ∞ E[eθS2 ] = e(x1 +x2 )θ f (x1 , x2 )dx1 dx2 ≤ e(x1 +g(x1 ))θ f1 (x)dx1 (2) 0 0 0 ∞ ≤ a(x0 , θ) + e2x1 θ f1 (x)dx1 < ∞, (3) x0
where (2) holds because of (1), (3) holds because g(x) ≤ x for x > x0 due to the ordering of X1 and X2 , and (3) holds for every 0 < θ ≤ θ /2. Based on Lemma 1 and on results from large deviation theory [17] we can prove the following theorem. Theorem 1. The decrease of the probability that an arbitrary node with playback delay b misses an arbitrary packet in an overlay with N nodes is asymptotically at least exponential in b if the per-hop delays have finite m.g.f. Proof. We use the law of total probability to express the probability of missing a packet P (Di (v) ≥ b) =
N −1
P (Di (v) ≥ b|Li (v) = l)P (Li (v) = l),
(4)
l=1
and in the following we show that the decrease of P (Di (v) ≥ b|Li(v) = l) is asymptotically at least exponential in b for any l. According to Chernoff’s bound for the average An of n i.i.d random variables X (note that it is not the sum, but the average of the r.v.s.) P (An ≥ x) ≤ e−nI(x) ,
(5)
where I(x) is the rate function given by I(x) = maxθ>0 θx − ln(MX (θ)), and MX (θ) = E[eXθ ] is the moment generating function of X. Fig. 2 shows the rate functions for two distributions with different parameters. Chernoff’s bound holds for any distribution for which MX (θ) < ∞, and for x > E[X]. The rate function I(x) is convex for scalar random variables, is monotonically increasing on (E[X], ∞) and I(E[X]) = 0 [17]. For non-negative r.v.s X with E[X] ≥ 0, the derivative ∂I(x) ∂x |x0 ≥ I(x0 )/x0 , so that we have I(ax) ≥ I(x) + (ax − x)I(x)/x = aI(x) and hence
for ∀a > 1
P (An ≥ ax) ≤ e−nI(ax) ≤ e−naI(x) .
(6) (7)
232
G. D´ an and V. Fodor
Fig. 2. Rate function for two distributions (a) X = a+yb where a = 1 and y has discrete uniform distribution on [1, n] and (b) geometric distribution with failure probability p
We apply (7) for the r.v. Di (v) conditioned on Li (v) = l with n = 1 P (Di (v) ≥ ab|Li (v) = l) ≤ e−Il (ab) ≤ e−aIl (b) ,
(8)
where Il (b) is the rate function conditioned on Li (v) = l. Eq. (8) holds for any l, which together with (4) proves the theorem. The result is independent of the distribution P (Li (v) = l), and holds whenever there is enough forwarding capacity in the overlay. It is also independent of the number of packets in the stream and does not make any assumption on the graph’s connectivity or the distribution scheme, in particular, it does not assume a complete graph. The simulation results presented in [4] support our analytical result for pull-based overlays, and we show results later that support the theorem for push-based overlays. 3.2
Scalability
The question we address here is how the probability of missing a packet changes as the overlay’s size increases. The change of the overlay’s size affects the data distribution through the distribution of the Li (v), hence we focus on the question how the increase of the path length Li (v) affects the probability of missing a packet. This way we decouple the problem of scaling in terms of delay from the problem of overlay maintenance, e.g., neighbor selection: the neighbor selection algorithm, random or optimized according to some metric, influences the scaling of the path lengths Li (v). Given the scaling of the path lengths we can evaluate the scaling in terms of delay. A trivial lower bound on the scaling in terms of delay is given by the increase of E[Di (v)], which is proportional to E[Li (v)]. In the following we show that the upper bound is proportional to Li (v) as well. We consider the case when the Xh (v) are i.i.d. random variables with M (θ) < ∞. We note that there are no asymptotic results available for correlated r.v.s, but we conjecture that the following theorem holds for correlated and for non identically distributed r.v.s as long as E[Xh (v)] is bounded from above, and leave the proof to be subject of future work.
Delay Bounds and Scalability for Overlay Multicast
233
Theorem 2. If Li (v) ∼ O(logN ) then the increase of the playback delay b needed to maintain the probability of missing an arbitrary packet unchanged is at most asymptotically logarithmic in N . Proof. We prove the theorem by showing that the upper bound of the playback delay increases logarithmically. We look for a d ≥ 0 such that for a ≥ 0 P (Di ≥ b|Li (v) = l) = P (Di ≥ b + d|Li (v) = l + a).
(9)
We use Chernoff’s bound to express the upper bounds of the probabilities e−lI( l ) = e−(l+a)I( l+a ) . b+d
b
We omit the base and rearrange the exponents to get b b+d b+d l I( ) − I( ) = aI( ). l l+a l+a
(10)
(11)
The right hand side of (11) is always positive. As the rate function is convex and monotonically increasing on (E[Xh (v)], ∞) we have the condition b+d b ≤ , l+a l
(12)
which can be rearranged to ba . (13) l If Li (v) = O(logN ) then as the overlay grows from N1 to N2 we have a ∼ log(N2 /N1 ) and this proves the theorem. d≤
In general, (12) shows that it is sufficient to increase the playback delay at the same pace as the depth of the spanning trees grows in order to maintain the probability of missing a packet unchanged. E.g., if the nodes’ distances from the source grow as a linear function of the overlay’s size, then the playback delay should be increased in direct proportion to the growth of the overlay to keep the packet missing probability constant. Consequently, in order to show that an overlay scales as O(logN ) in terms of playback delay, it is enough to show that Li (v) = O(logN ). Even though this result is in accordance with one’s expectations, it is not straightforward. Unfortunately, the converse of the theorem cannot be proved: there is no upper bound on the increase of the packet missing probability for constant playback delay as the overlay’s size grows, because the increase depends on the shape of the rate function. These asymptotic results indicate that the exponential decrease of the packet missing probability as a function of the playback delay is not a good measure of the efficiency of a scheduling scheme in overlay multicast: all scheduling schemes that manage to distribute the data to all nodes have this property under the assumption that the per-hop-delays have finite m.g.f. The scalability with respect to the overlay’s size is however a good measure: Theorem 2 shows that in a
234
G. D´ an and V. Fodor
scalable overlay the playback delay does not have to be increased faster than the logarithm of the increase of the overlay’s size to keep the packet missing probability constant. While the exponential decrease was shown via simulations for a specific scheduling algorithm in [4], we are not aware of any scheduling algorithm for pull-based systems with analytical results on its scalability.
4
Numerical Results
In the following we present numerical results obtained using an exact model of multi-tree-based overlays presented and validated in [14], and show that the bounds derived using the large deviation approach hold in the presence of various retransmission schemes and FEC. 4.1
System Description
We denote the number of trees in the overlay by τ . We assume the existence of a tree maintenance entity (centralized [18] or decentralized [19,20]) that finds suitable predecessors for arriving nodes and for nodes that lose their predecessors due to node churn or preemption [1,21]. We denote by Lm (v) the distance of node v from the source in tree m, and say that node v is in level l of tree m if Lm (v) = l. Packet i is distributed in tree m = (i mod τ ) + 1. To simplify the notation, we introduce the notion of stripe, and say that packet i belongs to stripe m if it is distributed in tree m. We consider two forms of error control: forward error correction and retransmissions. When forward error correction (FEC) is used, the source adds c redundant packets to every k packets, resulting in a block length of n = k + c. We denote this FEC scheme by FEC(n,k). Once a node receives at least k packets of a block of n packets, it may recover the remaining c packets, and forwards the reconstructed packets if necessary. Block based FEC can be used to implement PET and the MDC scheme considered in [18], where different blocks (layers) of data are protected with different FEC codes: the probability of reception in the different layers depends on the strength of the FEC codes protecting them. We consider three retransmission schemes. A node that detects a packet loss in stripe m requests the retransmission of the packet by one of these three strategies: (RF) from its predecessor in tree m. If the loss is due to node churn then the node will have to wait until a new predecessor is found. (RB) from another node that is forwarding packets in tree m in the same level as the node’s actual predecessor. This scheme assumes that every node maintains a list of backup nodes, but we do not model the overhead of maintaining such a list. (RS) from a predecessor in another tree. A predecessor in another tree is likely to be far away from the source in tree m, hence the retransmission might take longer than using a backup list.
Delay Bounds and Scalability for Overlay Multicast
235
For the RF and the RB strategies, the level of node v in the tree in which packet i should be distributed (Li mod τ (v)) is the same as the distance of v in the spanning tree Ti through which the copies of packet i reach the nodes (Li (v)), i.e., Li (v) = Li mod τ (v). For the RS strategy Li (v) ≥ Li mod τ (v), i.e., due to the retransmissions the spanning tree Ti can be deeper than the trees maintained by the overlay maintenance entity. 4.2
System Parameters
We model the propagation delay Dp by a normal distribution truncated at 180 ms with mean and variance (E[Dp ] = 67 ms, σDp = 21 ms) extracted from a transitstub network of 104 nodes generated with the GT-ITM topology generator [22]. We consider the streaming of a B = 400 kbps data stream, and the capacity of the source node’s output link is C(s) = 100 Mbps. The outdegree of the source, Os , is set to 50 throughout the paper for easy comparison and to ensure that the overlay is feasible for all considered values of the number of trees [12], though the particular value of Os does not affect the validity of our conclusions. The packet size is 1410 bytes. The distribution of the nodes’ output capacities (Cv ) and outdegrees (Ov ) is as in [4] and is shown in Table 1. Since the effect of the input capacity of the nodes is small on the results [14], we consider 10 Mbps for all nodes. Table 1. Distribution of node output capacities and outdegrees Ratio 15% 25% 40% 20% Cv 10 Mbps 1 Mbps 384 kbps 128 kbps Ov 2.5τ 2τ 0.75τ 0.25τ
The inter-arrival times of nodes joining the overlay are exponentially distributed, this assumption is supported by several measurement studies, e.g., [23]. The session holding times M follow the log-normal distribution, the mean holding time is E[M ] = 306 s (μ = 4.93, σ = 1.26) [23]. The nodes are prioritized according to their outdegrees as proposed in [21], hence large contributors are closer to the source in the trees in which they forward data and reconnect faster to the trees. 4.3
Packet Losses
First we evaluate the packet missing probability as a function of the playback delay for the case of packet losses. Fig 3 shows results for the RF scheme with two different packet loss detection times. We denote by tdld = 0 the case when the loss of a packet is detected at the instant when it should have arrived (if it had not been lost), i.e., an ideal loss detection algorithm. We denote by tdld = 1 when a retransmission is requested 1 s after the packet or the retransmission request has been sent out. The figure shows results for N = 104 nodes organized in τ = 4 trees. In the absence of losses (p = 0) the decrease of the packet missing probability is faster than exponential. This is predicted by Fig. 2 (a), as the rate function for the discrete uniform distribution grows faster than linear. The
236
G. D´ an and V. Fodor
Fig. 3. Packet missing prob. vs. playback delay for different packet loss probabilities, and packet loss detection times, τ = 4, N = 104
Fig. 4. Packet missing prob. vs. playback delay for different retransmission schemes, τ = 4, N = 104
rate function of the geometric distribution is however close to linear (Fig. 2 (b)), hence we expect that in the presence of losses the decrease of the packet missing probability is not much faster than exponential. This is supported by the curves that show results for p > 0. The slope of the curves is related to the slope of the rate function of the per-hop delay distribution, the steeper the rate function, the faster the decrease of the packet missing probability. Though for tdld = 1 the loss detection time is big compared to the per-hop delays and hence the packet missing probability decreases almost in a stepwise manner, we still observe the exponential decay. The curves for different loss probabilities and loss detection times show similar properties, they only differ in the slopes of the curves, so in the following we show results for p = 0.1 and tdld = 0. Fig. 4 shows results without losses and with losses for the RF and the RS retransmission schemes. The N = 104 nodes are organized in τ = 4 trees, and FEC(4,3) is used when indicated. We observe that in the presence of losses the exponential decay does not hold when retransmissions are not used. In this case the analysis of the asymptotic behavior presented in [11] with respect to N ,p and the FEC code applies to limb→∞ π(b): the system converges to the asymptotically stable fixed point of the discrete dynamic system shown in [11], and limb→∞ π(b) < 1. Consequently, the assumptions of Theorem 1 are not fulfilled, because all nodes do not receive all data. When using retransmissions, the decay is exponential, as shown by the results for both the RF and the RS retransmission schemes, with and without FEC. FEC decreases the necessary playback delay to achieve a certain packet missing probability, but the exponential decay still holds: in the presence of FEC Di (v) is the minimum of two random variables, the time until the packet would be received through the corresponding parent and the time to FEC recovery (which is the k th order statistic of n − 1 random variables with finite m.g.f.), and hence Di (v) has finite m.g.f. Consequently, an alternative of increasing the playback delay in order to achieve a certain packet missing probability is to introduce FEC. Nevertheless, the ratio of FEC redundancy has to be adjusted dynamically based on feedback from the nodes. We observe a small difference between the results obtained with the two retransmission schemes. Using the RS scheme, retransmission of a packet in stripe m becomes possible only
Delay Bounds and Scalability for Overlay Multicast
237
once nodes that do not forward data in tree m receive the packet. These nodes are in the last level of tree m, and hence, we observe a slow decay of the packet missing probability close to the point where the curves with and without retransmissions separate. Surprisingly, the difference between the results obtained with the RF and the RS schemes is small, especially when FEC is used, in which case the decrease of the decay close to the point where the curves with and without retransmissions separate is significantly smaller as well. Fig 5 shows results for the RF retransmission scheme for different overlay sizes for τ = 4 trees. Both in the presence of losses and in the absence of losses it is enough to increase the playback delay logarithmically in order to maintain the packet missing probability constant. Surprisingly however, the smaller the playback delay needed to achieve a certain packet missing probability for a given overlay size, the more sensitive is the overlay to the increase of the number of nodes. For p = 0 the packet missing probability increases by orders of magnitude if the overlay’s size increases by a factor of ten, for p = 0.1 the increase is significantly smaller. Consequently, even if one could achieve a low packet missing probability with a small playback delay, the playback delay should be overdimensioned to ensure that the packet missing probability does not become too high if the overlay suddenly grows. 4.4
Node Churn
In the following we show analytical results for the case of node churn. For the reconnection times (Ξ) and the disconnection times (Ω) we use values similar to the measured data presented in [1]: E[Ξ] = 5 s and E[Ω] = 200 s in the tree in which a node forwards data, and E[Ξ] = 30 s and E[Ω] = 100 s in the trees in which it does not. (Nodes are disconnected with a higher probability in the trees in which they do not forward data.) In lack of a measured distribution we model the reconnection time Ξ with a normal distribution N (E[Ξ], E[Ξ]/3). Based on these values the loss probability experienced by a node in a tree in which it forwards data (p = 0.024) and in which it does not forward data (p = 0.1968) can be calculated as described in [14]. The distribution of the retransmission times depends on the retransmission scheme used. For the RB and RS schemes we use the retransmission times as discussed in [14]. For the RF scheme retransmission occurs once the new predecessor is found, hence the retransmission time is the sum of the forward recurrence time of a renewal process with inter-renewal time Ξ (see [24]) and the retransmission time of the RB scheme. For all three schemes, retransmissions are asked from nodes that are present in the overlay and consequently limb→∞ P (Di (v) ≤ b) = 1. Figure 6 shows results for the case of node churn and the three retransmission schemes. As expected, the RB scheme, which involves tremendous control overhead, performs best. Surprisingly however, the RS scheme performs nearly as good as the RB scheme, both without and with FEC. This is because under churn nodes experience more frequent losses in the trees in which they do not forward data, i.e., far from the source: when these losses occur, data is already
238
G. D´ an and V. Fodor
Fig. 5. Packet missing prob. vs. playback delay for different overlay sizes
Fig. 6. Packet missing prob. vs. playback delay for N = 104 , node churn and three retransmission schemes
available in large parts of the overlay, hence the additional delay introduced by the RS scheme is small. The RF scheme, due to the large retransmission delays, performs almost as bad as if there were no retransmissions at all. Nevertheless, we observe the exponential decay with a very slow decay rate. The bad performance of the RF scheme suggests that resilience to node churn in a push-based overlay requires retransmission schemes that abandon the rigid structure of the trees, and converge towards pull-based architectures, e.g., the RS and RB schemes.
5
Conclusion
In this paper we presented analytical results that show that in overlay multicast systems the packet missing probability decreases at least exponentially as a function of the playback delay under very general conditions. Consequently, the exponential decrease of the packet missing probability as a function of the playback delay is not a good measure of the efficiency of a scheduling scheme in overlay multicast: all scheduling schemes that manage to distribute the data to all nodes have this property. The scalability with respect to the overlay’s size is however a good measure: the playback delay should not have to be increased faster than the logarithm of the overlay’s size to keep the packet missing probability constant. We used an exact model of push-based overlays to show that the exponential decrease of the packet missing probability holds using various retransmission schemes and FEC. It will be subject of future work to design a provably scalable pull-based scheduling algorithm based on the analytical results on scalability. To the best of our knowledge, our work is the first to present a continuous time analytical model of the effects of the playback delay on overlay multicast.
References 1. Sung, Y.-W., Bishop, M., Rao, S.: Enabling contribution awareness in an overlay broadcasting system. In: Proc. of ACM SIGCOMM, pp. 411–422 (2006) 2. Liao, X., Jin, H., Liu, Y., Ni, L.M., Deng, D.: Anysee: Scalable live streaming service based on inter-overlay optimization. In: Proc. of IEEE INFOCOM (April 2006)
Delay Bounds and Scalability for Overlay Multicast
239
3. Magharei, N., Rejaie, R.: PRIME: Peer-to-peer Receiver drIven MEsh-based streaming. In: Proc. of IEEE INFOCOM (May 2007) 4. Massoulie, L., Twigg, A., Gkantsidis, C., Rodriguez, P.: Randomized decentralized broadcasting algorithms. In: Proc. of IEEE INFOCOM (2007) 5. Fodor, V., D´ an, G.: Resilience in live peer-to-peer streaming. IEEE Communications Magazine 45(6) (June 2007) 6. ‘PPLive,” (June 2007), http://www.pplive.com/ 7. “OctoShape,” (June 2007), http://www.octoshape.com/ 8. Hei, X., Liang, C., Liang, J., Liu, Y., Ross, K.W.: A measurement study of a large-scale P2P IPTV system. IEEE Trans. Multimedia 9(8), 1672–1687 (2007) 9. Small, T., Liang, B., Li, B.: Scaling laws and tradeoffs in peer-to-peer live multimedia streaming. ACM Multimedia (October 2006) 10. D´ an, G., Fodor, V., Karlsson, G.: On the stability of end-point-based multimedia streaming. In: Proc. of IFIP Networking, May 2006, pp. 678–690 (2006) 11. D´ an, G., Fodor, V., Chatzidrossos, I.: Streaming performance in multiple-treebased overlays. In: Proc. of IFIP Networking, May 2007, pp. 617–627 (2007) 12. D´ an, G., Fodor, V., Chatzidrossos, I.: On the performance of multiple-tree-based peer-to-peer live streaming. In: Proc. of IEEE INFOCOM (May 2007) 13. Kumar, R., Liu, Y., Ross, K.W.: Stochastic fluid theory for P2P streaming systems. In: Proc. of IEEE INFOCOM (May 2007) 14. D´ an, G., Fodor, V.: An analytical study of low delay multi-tree-based overlay multicast. In: Proc. of ACM P2P-TV (August 2007) 15. Lelarge, M., Liu, Z., Xia, C.H.: Asyumptotic tail distribution of end-to-end delay in networks of queues with self-similar cross traffic. In: Proc. of IEEE INFOCOM (March 2004) ´ Stochastic bounds of sums of dependent risks. 16. Denuit, M., Genest, C., Marceau, E.: Insurance: Mathematics and Economics 25(1), 85–104 (1999) 17. Schwartz, A., Weiss, A.: Large Deviations for Performance Evaluation: Queues, communication and computing. Chapman and Hall, Boca Raton (1995) 18. Padmanabhan, V.N., Wang, H.J., Chou, P.A.: Resilient peer-to-peer streaming. In: Proc. of IEEE ICNP, pp. 16–27 (2003) 19. Castro, M., Druschel, P., Kermarrec, A.-M., Nandi, A., Rowstron, A., Singh, A.: SplitStream: High-bandwidth multicast in a cooperative environment. In: Proc. of ACM SOSP (2003) 20. Setton, E., Noh, J., Girod, B.: Rate-distortion optimized video peer-to-peer multicast streaming. In: Proc. of ACM APPMS, pp. 39–48 (2005) 21. Bishop, M., Rao, S., Sripanidkulchai, K.: Considering priority in overlay multicast protocols under heterogeneous environments. In: Proc. of IEEE INFOCOM (April 2006) 22. Zegura, E.W., Calvert, K., Bhattacharjee, S.: How to model an internetwork. In: Proc. of IEEE INFOCOM, March 1996, pp. 594–602 (1996) 23. Veloso, E., Almeida, V., Meira, W., Bestavros, A., Jin, S.: A hierarchical characterization of a live streaming media workload. In: Proc. of ACM IMC 2002, pp. 117–130 (2002) 24. Feller, W.: An Introduction to Probability Theory and its Applications. John Wiley and Sons, Chichester (1966)
A Distributed Algorithm for Overlay Backbone Multicast Routing in Content Delivery Networks Jun Guo and Sanjay Jha School of Computer Science and Engineering The University of New South Wales, Sydney, NSW 2052, Australia {jguo,sjha}@cse.unsw.edu.au
Abstract. To support large-scale live Internet broadcasting services efficiently in content delivery networks (CDNs), it is essential to exploit peer-to-peer capabilities among end users. This way, the access bandwidth demand on CDN servers in the overlay backbone can be largely reduced. Such a streaming infrastructure gives rise to a challenging overlay backbone multicast routing problem (OBMRP) to optimize multicast routing among CDN servers in the overlay backbone. In this paper, we take a graph theoretic approach and frame OBMRP as a constrained spanning tree problem which is shown to be NP-hard. We present a lightweight distributed algorithm for OBMRP. Simulation experiments confirm that our proposed algorithm converges to good quality solutions and requires small control overhead.
1
Introduction
Recent experiences of Internet service providers have seen a huge market demand for live Internet broadcasting services in content delivery networks (CDNs) [1]. AOL’s airing of the Live 8 concerts in July 2005 drew about 5 million users within one day and delivered 175,000 concurrent video streams of the concerts at its peak. This record was soon broken by Yahoo!’s broadcasting of NASA’s Shuttle Discovery launch, which is said to have delivered more than 335,000 video streams simultaneously. MSN’s latest broadcasting of the Live Earth concerts in July 2007, using Akamai’s streaming platform [2], has also drawn a global audience of the order of millions of viewers across the Internet. For such an Internet killer application that is both resource-intensive and latency-sensitive, a challenging issue is to design bandwidth-efficient mechanisms and algorithms that can handle large-scale live Internet broadcasting of streaming video efficiently in CDNs. While IP multicast [3] is doubtlessly the ideal solution for supporting large-scale live Internet broadcasting services, enabling IP multicast across the global Internet has not been successful due to its various deployment issues [4]. Until the global deployment of IP multicast could be eventually realized, Internet service providers have to resort to interim solutions. Among them, current service providers in general favor the overlay multicast approach that emulates the forwarding mechanism of IP multicast at the application layer [5,6,7,8,9,10,11,12,13]. A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 240–251, 2008. c IFIP International Federation for Information Processing 2008
A Distributed Algorithm for Overlay Backbone Multicast Routing in CDNs
241
In particular, small-scale service providers (such as PPLive [14]) typically use the peer-to-peer (P2P) approach [5,6,7,8]. In the P2P approach, end users wishing to participate in a live broadcasting session self-organize into an overlay multicast tree rooted at the origin server. The P2P approach, however, cannot yield satisfactory performance in large-scale live broadcasting services [14]. This is mainly due to the fact that current broadband access technologies provide end users with very limited upload bandwidth. The fanout capability of end users is thus significantly restricted. As a result, overlay multicast trees due to the P2P approach could be rather tall, so that end users deep in the tree (hence far from the origin server) are likely to suffer considerable lag [14]. On the other hand, large-scale service providers (such as Akamai [2]) generally adopt the infrastructure-based approach [9,10,11,12,13]. This approach relies on a set of geographically distributed and dedicated servers with large processing power and high fanout capability. Such powerful servers are typically placed at co-location facilities with high-speed connection to the Internet, and thus form a backbone service domain, which we call overlay backbone, for the overlay multicast network. The infrastructure-based approach has been widely used by commercial CDNs to support live Internet broadcasting services [2]. Akamai’s streaming platform largely benefits from a CDN that consists of over 20,000 servers distributed in more than 70 countries. Its solution is, however, a pure infrastructure-based approach, where each end user wishing to view the live broadcasting event is directly connected to one CDN server in the overlay backbone to fetch the live video stream [2]. The pure infrastructure-based approach is not efficient in handling large-scale live Internet broadcasting services, since it is less effective in restricting excessive and redundant traffic to be injected into the Internet, and also because the tremendous access bandwidth demand on CDN servers would render large-scale Internet broadcasting services sheer prohibitive. One flexible and scalable approach is to exploit P2P capabilities among end users as much as possible, so long as a predefined bound on the end-to-end latency can be met [9]. Such a hybrid approach leads to an effective two-tier overlay multicast architecture [13], in which the access bandwidth demand on CDN servers in the overlay backbone can be largely reduced. The two-tier overlay multicast architecture gives rise to a challenging overlay multicast problem among CDN servers in the overlay backbone. For a live broadcasting event, each participating CDN server is made aware of the largest delay from it to end users within its service area as well as the number of end users within its service area. The problem is to optimize the overlay multicast tree among CDN servers in the overlay backbone subject to access bandwidth constraints on CDN servers and the fixed bound on the de facto maximal end-toend latency from the origin server to end users. The optimization criterion is to minimize the weighted average latency from the origin server to the participating CDN servers, which weights each CDN server with the number of end users within its service area. We call such a problem as the overlay backbone multicast routing problem (OBMRP) in this paper. OBMRP is strongly motivated due to
242
J. Guo and S. Jha
the concern that the larger the size of user population within the service area of a CDN server, the larger is the access bandwidth demand that could be placed on the corresponding server. By reducing the latency as much as possible at such servers, it is more feasible to exploit P2P capabilities among end users and thus reduces the access bandwidth demand on CDN servers. In this paper, we take a graph theoretic approach to frame OBMRP as a constrained spanning tree problem and show that it is NP-hard. We propose a lightweight distributed algorithm for OBMRP (hence called OBMRP-DA for brevity). For the purpose of validating the efficacy of OBMRP-DA, we modify the distributed algorithm proposed in [11] for the OMNI problem (hence called OMNI-DA for brevity) to provide a comparable solution for OBMRP. In OMNI, each CDN server in the overlay backbone is made aware of only the number of end users within its service area. The overlay multicast problem addressed by OMNI-DA is to minimize the weighted average latency from the origin server to the participating CDN servers subject to access bandwidth constraints on CDN servers. OMNI-DA cannot guarantee to bound the de facto maximal end-to-end latency as required in the context of OBMRP. Moreover, OMNI-DA relies on a set of local transformation operations which essentially require probing among all nodes within up to two levels of each other. It was observed that such local transformation operations cannot guarantee that a global minimum will be achieved. OMNI-DA thus relies on a random swap operation to divert the algorithm from the local minimum region. Such a random swap operation inevitably introduces significant oscillations to the tree latency and thus prolongs the converging process. We shall see in this paper that our proposed OBMRP-DA benefits from the more efficient transformation operations that we have designed, and thus can significantly reduce the control overhead while yielding solutions of comparable qualities to OMNI-DA. The rest of this paper is organized as follows. Section 2 deals with the problem formulation. Section 3 presents the distributed algorithm. Simulation experiments are reported in Sect. 4. Finally, we draw conclusions in Sect. 5.
2
Problem Formulation
We model the overlay backbone in the CDN as a complete directed graph G = (V, E), where V is the set of N nodes and E = V × V is the set of edges. Each node in V represents a CDN server participating in the live broadcasting session. Let node r be the origin server. All other nodes (in the set V − {r}) are proxy servers. The directed edge i, j in E represents the unicast path of latency li,j from node i to node j. By {li,j }, we denote the matrix of unicast latency quantities between each pair of nodes in G. An overlay backbone multicast tree can be represented by a directed spanning tree T of G rooted at node r. For each sink node in the set V − {r}, we define Rr,v as the set of directed edges that form the overlay routing path from the root node to node v in the multicast tree. Let Lr,v denote the aggregate latency along the overlay routing path from the root node to node v. Let γv be the largest
A Distributed Algorithm for Overlay Backbone Multicast Routing in CDNs
243
delay from node v to end users within its service area, and cv be the number of end users within the service area of node v. The weight wv of node v is given by wv = cv / cv . (1) v∈V −{r}
¯ denote the weighted sum of latencies from the origin server to the proxy Let L servers along T . Let Lmax denote the de facto maximal end-to-end latency from the origin server to the end users. Let LB max denote the specified bound on Lmax . Given the unicast latency matrix {li,j }, we readily have Lr,v = li,j (2) i,j∈Rr,v
and ¯= L
wv Lr,v
(3)
v∈V −{r}
and Lmax =
max (Lr,v + γv ) .
v∈V −{r}
(4)
Let di be the residual degree of node i, and di be the out-degree of node i counted within the overlay backbone multicast tree. Since a spanning tree with N nodes has exactly N −1 edges, the sum of out-degrees in the overlay backbone multicast tree satisfies i∈V di = N − 1. Definition 1. Given the complete directed graph G = (V, E), OBMRP is to ¯ is find a constrained directed spanning tree T of G rooted at node r, such that L minimized, while T satisfies the residual degree constraint, i.e. di ≤ di , ∀i ∈ V , and the bound on the de facto maximal end-to-end latency, i.e. Lmax ≤ LB max . Such a constrained spanning tree problem is NP-hard. This is shown by creating a dummy node for each node v in V − {r} and forming an edge of weight γv between node v and its corresponding dummy node. The resulting problem can be reduced to finding a Hamiltonian path within the augmented graph which is known to be NP-complete [15].
3
Distributed Algorithm
In this paper, we define the ancestor nodes of node i as those nodes (including the root node) in the overlay routing path of the multicast tree from the root node to node i, where the parent node of node i is the immediate forwarding node to node i in the overlay routing path. The child nodes of node i are the immediate nodes that relay from node i in the subtree rooted at node i. The descendants of node i are defined as those end users served by proxy servers (including node i) in the subtree rooted at node i. Our proposed distributed algorithm for OBMRP requires node i, ∀i ∈ V , to maintain the following state information during the iterative tree restructuring process, except for those inapplicable to the root node:
244
– – – – –
J. Guo and S. Jha
ˆi: Parent node of node i in the current tree Φi : Set of all ancestor nodes of node i in the current tree Ωi : Set of all child nodes of node i in the current tree di : Residual degree of node i in the current tree Wi : Aggregate weight of all nodes in the subtree rooted at node i (including node i), which is given by ⎧ node i is a leaf node ⎨ wi , if Wi = wi + (5) Wj , elsewhere ⎩ j∈Ωi
– Lr,i : Latency from the root node to node i, which is given by Lr,i = Lr,ˆi + lˆi,i
(6)
– Γi : Largest delay from node i to end users served by proxy servers (including node i) in the subtree rooted at node i. This can be iteratively computed by γi , if node i is a leaf node
Γi = max max(l + Γ ), γ , elsewhere (7) i,j j i j∈Ωi
Clearly, Γr corresponds to Lmax of the current tree. 3.1
Tree Initialization
Starting from the initial tree including the origin server only, we allow proxy servers in V − {r} to join the tree in a random order, which is realistic in an actual live broadcasting event. If multiple nodes arrive concurrently, they are added to the tree in the decreasing order according to their node IDs. When node i wishes to join the tree, it directly contacts the root node, since the root node by default maintains the list of all nodes in the current tree. Upon the joining request of node i, the root node successively probes the list of nodes in the current tree until node j with sufficient residual degree, i.e. dj > 0, is found. Node i is thus grafted to the tree by registering as a child node of node j. 3.2
Handling of Tree Restructuring Requests
Our proposed distributed algorithm for OBMRP works by allowing each node in T to periodically and randomly contact another node in T to make a tree − → restructuring request. Let i, j denote such a tree restructuring request from node − → i to node j. Following OBMRP-DA, i, j will be simply rejected by node j if the current states and positions of node i and node j in T satisfy one of the five exclusive conditions: 1) i ∈ Φj ; 2) j = r, j = ˆi; 3) j = r, j = ˆi, dj = 0; 4) j = r, − → ˆ ˆ j = i, dˆj = 0; 5)j ∈ Φi − {r}, j = i, dˆj = 0, dj = 0. Node j considers i, j only if the current states and positions of node i and node j in T match one of the five distinct cases illustrated in Fig. 1. In particular, (a), (b) and (c) deal with the various cases where we have j ∈ Φi .
A Distributed Algorithm for Overlay Backbone Multicast Routing in CDNs
245
Fig. 1. Snapshot of the five distinct cases where a tree restructuring request from node i will be considered by node j. Both node i and node j are marked by circles. Node j is pointed by the double arrow.
(a) If j = r, j = ˆi and dˆj > 0, a Type-A transformation (described in Sect. 3.3) will be attempted by node j. (b) If j = r, j = ˆi and dj > 0, a Type-C transformation (described in Sect. 3.5) will be attempted by node j. (c) If j ∈ Φi − {r}, j = ˆi and dˆj > 0, a Type-A transformation will be attempted by node j. If dˆj = 0 but dj > 0, node j will instead attempt a Type-C transformation. (d) If ˆj = ˆi, a Type-C transformation will be attempted by node j provided dj > 0. However, if dj = 0, node j will instead attempt a Type-D transformation (described in Sect. 3.6). (e) In all other situations where neither i ∈ Φj nor j ∈ Φi , node j will selectively attempt a Type-A, B (described in Sect. 3.4), C or D transformation (in the corresponding order), depending on if any of the four exclusive conditions, i.e. dˆj > 0, dˆj = 0, dj > 0, or dj = 0, holds true. 3.3
Type-A Transformation
Since dˆj > 0, node i (together with its subtree if any) is switched to be a child node of node ˆj, given that ˘ r,i = (L ˆ + lˆ ) − (L ˆ + lˆ ) > 0 L r,i i,i r,j j,i
(8)
˘ r,i denotes the amount of variation on Lr,i . Clearly, such a transformation where L reduces the end-to-end latency Lr,j of each node j in the subtree rooted at node ˘ r,i , and thus reduces L ¯ by Wi · L ˘ r,i without increasing Γr of the current i by L tree. We illustrate an example of the Type-A transformation in Fig. 2(a) for the case presented in Fig. 1(e). 3.4
Type-B Transformation
Since dˆj = 0, if (8) holds true, we may switch node j to be either a child node of node ˆi, or a child node of node i after node i is grafted to node ˆj. More explicitly, we check if ˘ r,j = (L ˆ + lˆ ) − (L ˆ + lˆ ) > 0 L (9) r,j j,j r,i i,j
246
J. Guo and S. Jha
Fig. 2. All possible tree restructuring results for the case depicted in (e) of Fig. 1: (a) due to the Type-A transformation; (b) and (c) due to the Type-B transformation; (d) due to the Type-C transformation; (e) to (h) due to the Type-D transformation.
and if
˘ = (L ˆ + lˆ ) − (L ˆ + lˆ + li,j ) > 0 L r,j r,j j,j r,j j,i
(10)
˘ r,j = max(L ˘ , L ˘ ). If L ˘ r,j > 0, we perform the given that di > 0. Let L r,j r,j ˘ transformation by choosing the option that yields Lr,j . On the other hand, if ˘ r,j ≤ 0, but we have L ˘ r,i + Wj · L ˘ r,j > 0, Wi · L (11) ˘ r,j . we proceed with the transformation by choosing the option that achieves L However, this is done only if the transformation does not increase Γr of the B current tree or violate LB max if Γr is already smaller than Lmax . The two possible tree updates due to the Type-B transformation of Fig. 1(e) are shown in Fig. 2(b) and Fig. 2(c). 3.5
Type-C Transformation
This transformation is similar to the Type-A transformation by instead checking if ˘ r,i = (L ˆ + lˆ ) − (Lr,j + lj,i ) > 0 L (12) r,i i,i If so, node i (together with its subtree if any) is simply grafted to node j, since ¯ by Wi · L ˘ r,i without increasing Γr . An such a transformation certainly reduces L example of the Type-C transformation of Fig. 1(e) is shown in Fig. 2(d). 3.6
Type-D Transformation
Given that dj = 0 in this case, if (12) holds true, for each child node c of node j, i.e. c ∈ Ωj , we may switch node c to be either a child node of node ˆi, or a child node of node i after node i is grafted to node j. More explicitly, we check for all c ∈ Ωj if
A Distributed Algorithm for Overlay Backbone Multicast Routing in CDNs
and if
247
˘ r,c = (Lr,j + lj,c ) − (L ˆ + lˆ ) > 0 L r,i i,c
(13)
˘ r,c = (Lr,j + lj,c ) − (Lr,j + lj,i + li,c ) > 0 L
(14)
˘ r,c = max(L ˘ , L ˘ ), and let c denote the node in Ωj given that di > 0. Let L r,c r,c such that ˘ r,c = max Wc · L ˘ r,c . Wc · L (15) c∈Ωj
˘ r,c > 0, we perform the transformation by choosing the option that yields If L ˘ r,c . On the other hand, if L ˘ r,c ≤ 0, but we have L ˘ r,i + Wc · L ˘ r,c > 0, Wi · L
(16)
˘ r,c . we proceed with the transformation by choosing the option that achieves L However, this is done only if the transformation does not increase Γr of the B current tree or violate LB max if Γr is already smaller than Lmax . All four possible tree updates due to the Type-D transformation of Fig. 1(e) are illustrated in Fig. 2(e) to Fig. 2(h), respectively. 3.7
Control Overhead
The control overhead of OBMRP-DA is small due to the four lightweight trans− → formation operations that we design. For a tree restructuring request i, j, the ˆ Type-A transformation only requires probing between node i and node j (i ↔ ˆj for short) to acquire the unicast latency quantity lˆj,i . Similarly, the Type-C transformation only requires probing between i ↔ j to acquire the unicast latency quantity lj,i . The Type-B transformation requires probing between three pairs of nodes, i.e. i ↔ ˆj, ˆi ↔ j and i ↔ j, to acquire the corresponding unicast latency quantities. Even the most elaborate Type-D transformation merely requires probing between i ↔ j, ˆi ↔ c and i ↔ c, ∀c ∈ Ωj , which is within only one level of node j and thus requires only O(|Ωj |) control overhead. It is also important to note that OBMRP-DA defines exclusive conditions for an appropriate transformation operation to be performed, based on the current states and positions of node i and node j in the multicast tree. Consequently, − → any successful tree restructuring request i, j requires no more than one transformation attempt. The time for which the multicast tree is left in a transient state due to the transformation operation is thus minimal.
4
Simulation Experiments
We have examined the efficacy of our proposed OBMRP-DA through extensive simulation experiments. The network topologies used in our experiments are obtained from the transit-stub graph model of the GT-ITM topology generator [16]. All topologies have 12,000 nodes. CDN servers are placed at a set of N nodes, chosen uniformly at random. Due to the space limitation, here we report
248
J. Guo and S. Jha
experiments on one small-size graph (N = 20) and ten large-size graphs (N = 300). Unicast latencies between different pairs of nodes in these overlay topologies vary from 10 to 1000 msec. We set the residual degree as 5 for each node in the small-size graph and 10 in the large-size graphs. The bound LB max is set to 2000 in all experiments. The number ci of node i is randomly selected between 100 and 600. The value γi of node i is randomly generated following a lognormal distribution Log-N(a, b) with a = ci and b = ci . We thus introduce certain statistical correlation between ci and γi . This is due to the concern that it is likely that a larger number of end users within the service area of a CDN server can cause a larger delay from the server to its end users. Based on these overlay topologies, we design the following experiments to study the performance of OBMRP-DA. We have derived an integer linear programming (ILP) formulation for OBMRP (OBMRP-ILP for brevity, provided in the Appendix). Although ILP is known to have an exponential computational complexity and is unlikely to be solved for large-size problem instances, it allows us to find optimal solutions for small-size problem instances of OBMRP. Since OBMRP is NP-hard and the proposed OBMRP-DA uses a random approach for tree initialization, independent runs of OBMRP-DA for the same experiment setting can converge to different solutions. For each experiment setting, we thus solve OBMRP-DA for 200 independent runs, each of which for up to 300 × N successive tree restructuring requests. Results in Fig. 3(a) for the small-size graph are presented in the form of ¯ between the mean results obtained from OBMRPpercentage deviation in L DA and the optimal solutions from OBMRP-ILP. Each data point in Fig. 3(a) corresponds to the case where we set a particular node in the graph with the indicated node ID to be the root node. We see in all instances that the solutions obtained from OBMRP-DA are very close to the optimal solutions. The worst ¯ is within only 6% of OBMRP-ILP. case performance in L As we have discussed in Sect. 1, OMNI-DA proposed in [11] can be modified to provide a comparable solution for OBMRP. For the purpose of comparison, we have modified OMNI-DA by adding the same elements that we have developed for OBMRP-DA to control Γr during the tree restructuring process. While the random swap operation defined in OMNI-DA can have the same effect in improving the latency performance in the context of OBMRP-DA, we did not enable it in our experiments so as to make a fair comparison between the deterministic transformation operations proposed in this paper and those in [11]. For each of the ten large-size graphs, we again set each particular node to be the root node. This creates 3,000 simulation experiments. In each experiment, ¯ performance between OBMRP-DA and OMNI-DA in we compare the mean L the form of a ratio. We also count the number of probing actions required in the tree restructuring process. This is for us to investigate and compare the control overhead (again in the form of a ratio) between the two different algorithms. The ¯ comparison and those from the control 3,000 data points obtained from the L overhead comparison are presented in Fig. 3(b) and Fig. 3(c), respectively, both in the form of cumulative percentage.
(a)
10
100
OBMRP−DA
Cumulative Percentage
Deviation from OBMRP−ILP (%)
A Distributed Algorithm for Overlay Backbone Multicast Routing in CDNs
8
6
4
2
0 0
4
8
12
16
(b) OBMRP−DA
80
60
40
20
0 88
20
90
Root Node (c)
100
94
96
98
60
40
100
102
Maximum Average Minimum
80
80
60
40
20
20
0 4.5
92
Ratio to OMNI−DA (%) (d)
OBMRP−DA
Proportion (%)
Cumulative Percentage
100
249
4.6
4.7
4.8
4.9
5.0
Ratio to OMNI−DA (%)
5.1
5.2
0
A
B
C
D
Type
¯ performance compared with OBMRP-ILP; (b) Fig. 3. Efficacy of OBMRP-DA: (a) L ¯ performance compared with OMNI-DA; (c) Control overhead compared with OMNIL DA; (d) Distribution of transformation operations
These results clearly demonstrate the efficacy of OBMRP-DA. In general, OBMRP-DA converges to better quality solutions than OMNI-DA. In only four ¯ performance of OBMRP-DA is out of the 3,000 simulation experiments, the L slightly worse than OMNI-DA. On average, OBMRP-DA outperforms OMNIDA by more than 5%. However, as shown in Fig. 3(c), OBMRP-DA requires on average only 5% of the control overhead as required by OMNI-DA. This is due to the fact that OMNI-DA relies on a set of five transformation operations which in general require probing among all nodes within up to two levels of each other. In contrast, even the most elaborate Type-D transformation defined in OBMRP-DA merely requires probing between node i and all nodes within one − → level of node j for a particular tree restructuring request i, j. Moreover, this is also due to the fact that, for each particular tree restructuring request, OMNIDA attempts all five transformation operations until one of them is successful. In contrast, OBMRP-DA performs no more than one transformation, and requires only a modicum of the elaborate Type-D transformation operation, as shown in ¯ performance. Fig. 3(d), to achieve the comparable L
250
5
J. Guo and S. Jha
Conclusion and Future Work
In this paper, we have identified and addressed a strongly motivated overlay backbone multicast routing problem to support large-scale live Internet broadcasting services in CDNs more efficiently using the two-tier overlay multicast architecture. We have proposed a lightweight algorithm for solving OBMRP in a distributed iterative way. Simulation experiments have confirmed that our proposed algorithm can yield good quality solutions with small control overhead. Our future work is to design a distributed protocol based on the lightweight algorithm proposed in this paper, and to test the multicast routing performance in real or emulated CDN environments. Acknowledgments. This project is supported by Australian Research Council (ARC) Discovery Grant DP0557519.
References 1. Sripanidkulchai, K., Maggs, B., Zhang, H.: An analysis of live streaming workloads on the Internet. In: Proc. ACM IMC 2004, October 2004, pp. 41–54 (2004) 2. Dilley, J., Maggs, B., Parikh, J., Prokop, H., Sitaraman, R., Weihl, B.: Globally distributed content delivery. IEEE Internet Comput. 6(5), 50–58 (2002) 3. Deering, S.E., Cheriton, D.R.: Multicast routing in datagram internetworks and extended LANs. ACM Trans. Comput. Syst. 8(2), 85–110 (1990) 4. Diot, C., Levine, B.N., Lyles, B., Kassem, H., Balensiefen, D.: Deployment issues for the IP multicast service and architecture. IEEE Network 14(1), 78–88 (2000) 5. Chu, Y.H., Rao, S.G., Zhang, H.: A case for end system multicast. In: Proc. ACM SIGMETRICS 2000, Santa Clara, CA, USA, June 2000, pp. 1–12 (2000) 6. Kwon, M., Fahmy, S.: Topology-aware overlay networks for group communication. In: Proc. ACM NOSSDAV 2002, Miami, FL, USA, May 2002, pp. 127–136 (2002) 7. Zhang, B., Jamin, S., Zhang, L.: Host multicast: A framework for delivering multicast to end users. In: Proc. IEEE INFOCOM 2002, New York, USA, June 2002, vol. 3, pp. 1366–1375 (2002) 8. Banerjee, S., Bhattacharjee, B., Kommareddy, C.: Scalable application layer multicast. In: Proc. ACM SIGCOMM 2002, Pittsburgh, PA, USA, August 2002, pp. 205–217 (2002) 9. Malouch, N.M., Liu, Z., Rubenstein, D., Sahu, S.: A graph theoretic approach to bounding delay in proxy-assisted, end-system multicast. In: Proc. IEEE IWQoS 2002, May 2002, pp. 106–115 (2002) 10. Shi, S.Y., Turner, J.S.: Routing in overlay multicast networks. In: Proc. IEEE INFOCOM 2002, New York, USA, June 2002, vol. 3, pp. 1200–1208 (2002) 11. Banerjee, S., Kommareddy, C., Kar, K., Bhattacharjee, B., Khuller, S.: Construction of an efficient overlay multicast infrastructure for real-time applications. In: Proc. IEEE INFOCOM 2003, San Francisco, CA, USA, March 2003, pp. 1521–1531 (2003) 12. Lao, L., Cui, J.H., Gerla, M.: TOMA: A viable solution for large-scale multicast service support. In: Boutaba, R., Almeroth, K.C., Puigjaner, R., Shen, S., Black, J.P. (eds.) NETWORKING 2005. LNCS, vol. 3462, pp. 906–917. Springer, Heidelberg (2005)
A Distributed Algorithm for Overlay Backbone Multicast Routing in CDNs
251
13. Guo, J., Jha, S.: Host-aware routing in multicast overlay backbone. In: Proc. IEEE/IFIP NOMS 2008 (2008) 14. Hei, X., Liang, C., Liang, J., Liu, Y., Ross, K.W.: Insights into PPLive: A measurement study of a large-scale P2P IPTV system. In: Proc. Workshop on Internet Protocol TV (IPTV) services over World Wide Web in conjunction with WWW 2006, Edinburgh, Scotland (May 2006) 15. Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman, San Francisco (1979) 16. Zegura, E.W., Calvert, K.L., Bhattacharjee, S.: How to model an internetwork. In: Proc. IEEE INFOCOM 1996, San Francisco, CA, USA, March 1996, vol. 2, pp. 594–602 (1996)
Appendix Here we provide an ILP formulation for OBMRP. Let the 0-1 variables pvi,j , v ∈ V − {r}, i, j ∈ E, indicate if the directed edge i, j is included in the overlay routing path from node r to node v. Let the 0-1 variables ti,j , i, j ∈ E, indicate if the directed edge i, j is included in the overlay backbone multicast tree. OBMRP can be mathematically formulated as: Minimize wv pvi,j li,j (17) v∈V −{r}
i,j∈E
subject to j:i,j∈E
pvi,j −
pvj,i
j:j,i∈E
⎧ ⎨ 1, if i = r = 0, if i ∈ V − {r, v} , ∀v ∈ V − {r} ⎩ −1, if i = v
pvi,j ≤ (N − 1) · ti,j , ∀i, j ∈ E
v∈V −{r}
(18) (19)
ti,j = N − 1
(20)
ti,j ≤ di , ∀i ∈ V
(21)
pvi,j li,j + γv ≤ LB max , ∀v ∈ V − {r}
(22)
i,j∈E
j:i,j∈E
i,j∈E
The objective function in (17) is equivalent to (3) by the definition of pvi,j . Equations (18) and (19) ensure that the solution is a directed spanning tree rooted at node r. More explicitly, they enforce one single overlay routing path for each source-sink pair. Equation (20) restricts that the sum of out-degrees counts N −1. Equation (21) enforces the residual degree constraint. Equation (22) ensures that the de facto maximal end-to-end latency of the overlay backbone multicast tree is bounded by LB max . All equations jointly ensure that the solution is a directed spanning tree rooted at node r and satisfies all constraints of OBMRP.
Network Performance Assessment Using Adaptive Traffic Sampling René Serral-Gracià, Albert Cabellos-Aparicio, and Jordi Domingo-Pascual Advanced Broadband Communications Centre, Technical University of Catalunya (UPC), Spain {rserral,acabello,jordid}@ac.upc.edu
Abstract. Multimedia and real-time services are spreading all over the Internet. The delivery quality of such contents is closely related to its network performance, for example in terms such as low latency or few packet losses. Both customers and operators want some feedback from the network in order to assess the real provided quality. There are proposals about distributed infrastructures for the on-line reporting of these quality metrics. The issue all these infrastructures must face is the high resource requirements to keep up with accurate and live reporting. This paper proposes an adaptive sampling methodology to control the resources needed for the network performance reporting. Moreover, the solution keeps up with accurate live reporting of the main network performance metrics. The solution is tested in a European wide testbed with real traffic which permits to assess the accuracy and to study the resources consumption of the system. Keywords: Traffic sampling, Adaptive sampling, Quality assessment, Network Metrics, Distributed traffic monitoring.
1 Introduction Since the apparition of multimedia tools such as Skype or Ekiga the Internet became a multimedia aware system. Using these services usually comes with an associated fee. Hence, the clients require some guarantees in the Service Level Agreement (SLA). This raises the need of providing some feedback to the customers about the performance given by the network, nowadays achieved through the so called network quality metrics. Therefore on-line traffic monitoring infrastructures for network performance assessment are quickly spreading. The main goal of such systems is to efficiently provide a distributed intra and inter-domain infrastructure where to evaluate the network metrics. Distributed network monitoring infrastructures can be divided into two main groups: high and low level. On the one hand, high level systems deliver information about the network’s status by focusing on the study of its capacity and availability, while providing means to visually monitor the status of the traffic. On the other hand, low level approaches focus on direct traffic observation for assessing the network performance. These systems may use a distributed infrastructure in order to gather the network
This work was partially funded by IST under contract 6FP-004503 (IST-EuQoS), MCyT (Spanish Ministry of Science and Technology) under contract TSI 2005-07520-C03-02 and the CIRIT (Catalan Research Council) under contract 2005 SGR 00481.
A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 252–263, 2008. c IFIP International Federation for Information Processing 2008
Network Performance Assessment Using Adaptive Traffic Sampling
253
metrics. This requires of certain control traffic to maintain the structures for the live reporting. Our solution uses a low-level approach, which instead of providing information about the availability of the network or gathering information for off-line processing, it provides real-time information about the following network metrics: One-Way Delay (RFC-2679), Packet Loss Ratio (RFC-2680) and bandwidth usage. These metrics are among the most used, as stated on ITU-T Rec. Y.1540, and help operators to monitor and verify the status of their network. In order to achieve this we proposed the Network Parameter Acquisition System (NPAS) [1], a distributed monitoring infrastructure that collects and analyses the traffic on-line in an intra-domain environment. NPAS collects the traffic in all the different ingress and egress points of the domain under analysis, monitors the desired flows and sends the collected information to an analysis unit. The analysis unit computes the metrics by using the collected information through timestamps and packet sizes. Gathering this information in a per packet basis is very expensive in terms of bandwidth and processing resources needed by the control traffic. In our previous work we proposed mechanisms that used traffic aggregation [1] and traffic static sampling techniques [2] in order to reduce the resource consumption. We plan to further reduce the used resources with an adaptive sampling technique. The novel proposed distributed adaptive sampling dynamically adapts the sampling rate depending on the traffic conditions, reducing the resources needed by the control traffic down to 4% compared to the case of per packet reporting. Specifically our contribution uses the IP Delay Variation in order to estimate the accuracy of the sampled results, adjusting the sampling rate accordingly with minimum loss in accuracy. Moreover, the technique efficiently controls the use of resources, scheduling the sampling rates as required by the system. The system is tested in a European wide scenario by using 12 different locations with different traffic profiles. The results show that the enhancements permit a tight control over the used resources for the reporting and an increase in the accuracy compared to the case of static sampling. The rest of the paper is structured as follows, next section focuses on the explanation of the already existing solutions to perform distributed network performance assessment, centring on the most similar to our work. The paper continues by describing the state of the art in network parameter acquisition system and the current static sampling solution. After this the paper centres on the main proposal, which is an adaptive sampling solution to schedule the resources used for the live network performance assessment. This approach is validated in section 5, where tests in a real scenario are performed. The paper finishes with the conclusions and the work left for further study.
2 Related Work Traffic sampling is a broadly deployed technique used to reduce the resources required for traffic analysis [3, 4]. In general the sampling schemes are static [5], where a sampling rate is decided in advance and applied during all the study. Others use adaptive
254
R. Serral-Gracià, A. Cabellos-Aparicio, and J. Domingo-Pascual
methods [6] which decide dynamically the best sampling rate over time, adapting to the changes suffered by the system. Given the distributed nature of our scenario, the applicable sampling schemes are limited. Duffield et. al developed a sound methodology, namely trajectory sampling [7], based on hash sampling, which was used to infer packet paths simultaneously with different collection points. This schema has been used several times in other scenarios [2, 4, 8] using static sampling rates. As it has been said before, we propose a novel adaptive sampling technique based on the trajectory sampling, but relying on the IP Delay Variations (IPDV). We apply this technique on a distributed scenario used to monitor specific network performance metrics. Regarding distributed network performance assessment proposals, at the best of our knowledge very few tools have been published. Firstly, perfSONAR [9] is a tool intended to monitor any network metric on a distributed fashion. Specifically the authors present a methodology that provides meaningful network performance indicators, which can be used to visually monitor the status of the traffic. The main difference between this tool and our proposal is that while perfSONAR limits the study to the link status by active traffic generation, NPAS analyses directly the network metrics by passively collecting the traffic. Secondly InterMON [10] is based on interaction and coordination of different kinds of tools with access to a common database. The system’s main goal is to gather network metrics for off-line processing, analysis and data-mining. In this case, the main difference between InterMON and our proposal is that we are focused on providing live values for some network metrics not just gathering information for off-line processing.
3 Description of Network Parameter Acquisition System Network Parameter Acquisition System as proposed in [1] is a distributed network performance assessment infrastructure. It computes the network metrics suitable to quantify the network performance over sensible traffic (e.g. VoIP or Videoconferencing) on-line. The system collects the traffic on each ingress and egress points in the network, and only analysing the traffic selected by the configured filters. It computes the following network metrics: One-Way Delay (OWD), Packet Loss Ratio (PLR) and used bandwidth. 3.1 Basic System This infrastructure presents a framework which reports the intra-domain traffic metrics to higher layer entities to assess whether the specified performance constraints (policies) are fulfilled or not. This mechanism can also be used for triggering alarms to give feedback to other system units in case that the network is not providing the contracted quality . Both alarms and policies management are out of the scope of this specification. Figure 1 shows a generic network scenario where the system is deployed. It is composed by the following entities:
Network Performance Assessment Using Adaptive Traffic Sampling
255
Fig. 1. Example Scenario
The Monitoring Entity (ME) is in charge of the traffic collection via selection filters. The traffic selection policy aggregates the data in a per flow or per Class of Service (CoS) basis, but it can be easily extended to others. The traffic information collected by MEs is sent to a per-domain analyser entity (Processing Entity - PE) which computes the network metrics of all the traffic under analysis. The Processing Entity (PE) is the gathering point within the domain. It configures the ME policies, performs most of the processing, matches the information of the packets coming from the MEs and computes the network metrics on-line. The results are published as a network management service to monitor the status of the traffic under analysis in real-time. Depending on the information sent by the ME more control traffic is required to perform the monitoring. In general this can be a problem for under provisioned domains without dedicated links for network management traffic, we believe that this is the case in most ISPs. NPAS controls this issue by having three different modes of operation: i) per packet reporting, where the traffic information is sent in a per packet basis. ii) using time aggregation, where a time sliding window is used to optimise the network usage. iii) by using traffic sampling, as further discussed in the section 3.2. More detail in the specification of the first two modes and the analysis of the bandwidth usage can be found at [1]. In this paper we focus on the traffic sampling mode of operation. 3.2 Static Distributed Sampling The complexity of applying sampling in this distributed scenario is that centralised techniques (e.g. the techniques studied in [11]) are not well suited for this task, since they do not guarantee that all the ME capture exactly the same set of packets. Thus, accurately determining packet losses or one way delays is not feasible. We addressed this issue in [2] by using a deterministic sampling technique. It was used to match exactly the same packets all over the different ME to compute the network metrics. This permits to all the different ME to collect traffic independently, and only the selection function at start up time has to be shared by the MEs.
256
R. Serral-Gracià, A. Cabellos-Aparicio, and J. Domingo-Pascual
This distributed sampling technique computes a hash function over a set of fields on the packet’s header. For this to work in our environment, using only one hash table is not sufficient, since the monitoring framework has to guarantee that all the flows under analysis are considered. So, the sampling must be applied within individual flows, not directly to all the collected traffic. Hence, the packets are identified by using two different keys, flow and packet with the corresponding two level hash table. Thus, a packet is only analysed if it falls within specified positions in the hash table (A), of which only the first r packets are considered. Changing r gives different sampling rates ( Ar ). The hash table is sent from each ME to the PE when A packets have arrived or after a timeout t. This time interval t is known as a bin and it limits the upper bound for the live reporting interval. This permits to efficiently control the resources and the applied sampling rate.
4 Adaptive Distributed Sampling Using traffic sampling in order to reduce the required resources is usually a good option. But choosing the optimal sampling rate with minimum loss of accuracy is not straightforward. Moreover, knowing that control traffic (the reporting information from MEs to PEs) must be limited on the network, it might force the per flow sampling rate to be further reduced. Hence, selecting the right flows to reduce the sampling rate leads to better results than just equally sharing the sampling rate among the flows. The methodology presented here permits to efficiently estimate the One-Way Delay and Packet Loss Ratio using adaptive sampling. 4.1 Problem Formulation Given a domain D with R = {r1 , . . . , rn } ingress and egress points of the network, and FD = { f1 , . . . , fm } the list of active flows within the domain. Then R fi (t) (Ri from now on) is the rate of the ith flow at time t, being n the number of ME and m the number of flows. For simplicity we consider through out the paper that the resources for a ME is the bandwidth required to send information to the PE. The resources required to monitor all the existing flows from ME i to ME j are xi j = S
m
∑ δi jk Rk
(1)
k=1
where S is a constant defining the amount of resources needed to process (and send) a single control packet, for example the number of bytes. As it is a constant, for the ease of exposition we will assume S = 1. And δi jk = 1 if fk goes from ri to r j and 0 otherwise. From this we derive that the resources required for each ME (Xi ) are Xi =
∑nj=1 xi j + xji . Hence, reporting in a per packet basis implies that the total amount of resources (X ) required for on-line monitoring in domain D is: XD = ∑ni=1 Xi . In general per packet reporting requires too much resources to be feasible. We ease this requirement by applying adaptive traffic sampling to the solution. We consider
Network Performance Assessment Using Adaptive Traffic Sampling
257
that XD are the global resources available to perform the collection and performance assessment. We need a fair share of the resources among all the ME, considering that ME with more load (e.g. with more number of monitored flows) deserve more of the resources. Hence, we need to adapt the per flow sampling rate (ρ) in order to comply with this restriction: m
XD ≥ X ≥ S ∑ ρi Ri
(2)
i=1
where ρi is the sampling rate (0 ≤ ρi ≤ 1) of flow i, Ri the rate in packets per second and X the maximum resources reserved for the monitoring. Note that Ri (in packets/sec) is known since the ME initially must collect all the traffic to decide whether it falls within the specified threshold set in the hash table as described in 3.2. We need a lower bound of the sampling rate, namely ρimin , which guarantees that it is adjusted depending on the rate in a per flow basis, since low rate flows at small time scales are very sensible to sampling rates. This lower bound determines the minimum required resources for the whole monitoring task. Thus, m
Xmin = ∑ ρimin Ri
(3)
i=1
Where ρimin is the minimum ρi for flow i. This works well if the traffic has constant rates, but since traffic in general is variable these values need to be updated periodically. Moreover, new and expired flows are bound to appear over time. Both the flow management and the update strategy will be discussed later. The minimum applicable sampling rate has to take into account the rate of the flows, limited by expression ρimin = R1i ∀i \1 ≤ i ≤ m. Where ρimin is the minimum applicable sampling rate for all fi . This guarantees at least that one packet per flow is captured. If cmin is the number of samples per fi then, ρimin = 1 ∀i \cmin ≥ Ri cmin ρimin = , otherwise Ri
(4)
when more precision is required or more resources are available, assuring that at least cmin packets per flow are considered. In the same way we can define the maximum sampling rate to ρimax = 1 ∀i \cmax ≥ Ri cmax ρimax = , otherwise Ri
(5)
where cmax determines the maximum number of per flow packets to be collected. Then Xmax = ∑m i=1 ρimax Ri and Xmax ≤ X ≤ XD . In order to ease the exposition we define ximin and ximax which refer to the minimum and maximum resources for a particular flow respectively.
258
R. Serral-Gracià, A. Cabellos-Aparicio, and J. Domingo-Pascual
4.2 Resource Sharing With equations 2 and 3 we know that after Xmin are used, the remaining available resources (ΔX) to share among the flows are ΔX = X − Xmin
(6)
The goal now is to share the ΔX resources. Let’s define ωi as the weight assigned to the flow i where ∑m i=1 ωi = 1, then the resources assigned to the flow follow equation 7. xi = min {ΔX ωi + ximin , ximax }
(7)
It can be noted that the resources assigned to the flow are bounded by the Xmax as assigned previously. Now the weights (ω) may be assigned in different ways, in this work as a proof of concept we study IPDV driven sharing. IPDV driven. The ΔX resources need to be shared smartly. Obviously it is much more useful to increase ρi for flows with less accuracy on the metric estimation. But the estimated error is unknown in advance, so it is not possible to determine the sampling rate deterministically. The proposed mechanism uses I PDV as a measure of the accuracy of the estimator. Before detailing the methodology, it is important to define IPDV in our context. IPDV usually is defined as OW Di − OW Di−1 , excluding lost packets (See RFC-3393), or as OW D99.9th prc − OW Dmin in Rec. ITU-T 1541. In our work the first definition is not applicable since the packet sequence is lost during the sampling. Regarding the second option, obtaining the 99.9th percentile for low rate flows is not possible because there are too few packets in the bin. As an alternative, RFC-3393 states that it is possible to specify a custom selection function to compute IPDV . Hence we use IPDVi = |OW D− OW Di |, for all the i packets within the bin. Where the estimator OW D = E[OW D] for all the sampled packets. Using the IPDV as an accuracy estimator is based on the following rationale: 1. Constant OW D leads to null IPDV , where both OW D and I PDV can be perfectly estimated using ρimin . 2. High IPDV with low ρi might lead to inaccurate OW D since the subset of packets selected by ρi may not be representative enough. Hence it is worth to increase ρi for high variable flows. 3. But, in some cases, with ρi we can incorrectly estimate small I PDV due to the bias of the selected subset. This false negative will be corrected in later bins as I PDV converges. 4. The other case is incorrectly estimating high I PDV when in reality it is low. That being a false positive and forcing a needless increase of ρi for the flow. But not leading to incorrect estimation. The probability of false positives or false negatives decreases as ρi increases. Then the system automatically tunes ρi reducing these mistakes in the estimation. Therefore, the different weights (ωi ) are distributed using:
Network Performance Assessment Using Adaptive Traffic Sampling
ωi =
259
I PDV i m ∑ j=1 I PDV j
(8)
Fairly scheduling the ΔX resources proportionally to its delay variation. 4.3 Update Strategy Flow rates vary over time, ideally in our approach we need the rate for all flows in advance. Since this is not possible in a distributed scenario, our proposal uses a periodic updating mechanism divided into these steps: 1. Warm-up phase: Initially the PE assigns xmin resources to the system. 2. Working phase: In each step (bin of size t) the PE collects the rates and the estimated network metrics and computes the corresponding ci for each flow fi as explained before. This ci will be effective on the next step. Since the rate (ri ) might vary from one bin to the other, the estimated effective rate ∑k R considered in the analysis is Rˆ = i=1 i , where k is the history of the system. k
4.4 New and Expired Flows Since users connect to and disconnect from many services, continuously new flows arrive and others end in a domain. In our system the effects of such behaviour are that expired flows release resources for the reporting, while new flows force a rescheduling of the already shared ones. In the case that a flow does not have any active packets on the bin, its resources are not used in the current step. Note that increasing the ρ for other flows would lead to incorrect estimation as the other ME receiving (or sending) the flow are not aware of the situation. In the next bin, the flow without active packets will be assigned cmin resources and will enter in the Warm-up phase again. If a flow stays in Warm-up phase during several consecutive bins it is considered as expired, hence it is removed from the resource scheduling. Another condition to be considered is the apparition of new flows on the system. When this occurs, there is no time for the ME to ask the PE for a rescheduling of the resources, so the ME enters in local rescheduling mode. We know that each ME has Xi resources dedicated to it. Therefore to accommodate the new flow (x j ) the ME has the following alternatives: 1. There are flows without active packets in the bin: in this situation cmin resources from that inactive flow are used for the new. Equation 7 guarantees that the resources are present. 2. All the flows have active packets: ME (r j ) searches for the max(xi ) ∀i x1...m and shares its resources in the following way: xinew = xi − cmin and x jnew = cmin . Forcing x jnew to enter in Warm-up phase. The PE can fairly reallocate the resources to fit the new situation in the next step.
260
R. Serral-Gracià, A. Cabellos-Aparicio, and J. Domingo-Pascual
5 Tests and Results The adaptive sampling methodology proposed in this paper has been validated by a set of more than 500 experimental tests performed during 2006 using twelve different testbeds across Europe. The testbeds were provided by EuQoS [12] partners, covering a total of 5 countries and 4 different access technologies (LAN, xDSL, UMTS and WiFi) [13] with an overlay architecture on the Géant research network. For this work the testbed is configured to act as a single domain, with one ME deployed on each testbed, amounting to 12 ME and 1 PE on this scenario. 5.1 Validation Tests The tests were performed by actively generating synthetic periodic traffic, emulating different applications, namely VoIP and Videoconferencing; with a broad set of combinations of different packet rates and packet sizes, from 16 up to 900 packets per second, with a random duration between 1 and 10 minutes. A wide range of packet loss and delay variation conditions were encountered given the different cross-traffic found on the network at different days, hours and physical location of each testbed. The goal of the evaluation is twofold, in the one hand we compute the accuracy in the estimation of OWD and PLR. On the other hand, we analyse the used resources for the task. For each test the full trace was collected. With the traces we simulated a network with the flows entering and leaving the system following an uniform randomly distribution up to a maximum of 100 simultaneous flows. This way we were able to evaluate the results for different resource reservations (X) by taking as reference the complete original trace. In the experiments the used X were: 7000, 5000, 3000, 2000, 1000, 500, 300 and 200 with the constant S = 1 as detailed before. We also consider a bin size of t = 175ms which provides a good tradeoff between the interval for live reporting and collection time to apply the proper sampling rate. We used previously this bin size with success in [1]. Summarising the methodology used for obtaining a trace per different resources is: 1. 2. 3. 4. 5. 6.
Generate the test traffic and monitor all the traces in the MEs. Simulate the scenario with multiple simultaneous flows using the real traces. Split the results into bins of size t. Apply off-line the adaptive sampling for the different resources (X). and the average OW For each bin and X the PLR D are computed. Finally the estimated OWD for the sampled bin is compared with the real value.
5.2 Evaluation Results In order to evaluate the system we compare the obtained accuracy using adaptive sampling with the application of a fairly equivalent static sampling. Since the sampling rate (ρ) depends directly of c and Ri not all values of ρ within a bin lead to a feasible situation. For example, for low rate flows, (e.g. 16 packets per second), using the bin size t = 175ms leads to 3 packets per bin, then ρimin = 23 since with IPDV we need at least 2 packets to compute it. But in the case of flows with 200 packets per bin then 2 ρimin = 200 .
1
1
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
Probability
Probability
Network Performance Assessment Using Adaptive Traffic Sampling
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2 X=200 X=1000 X=7000
0.1 0
261
0
0.05
0.1
0.15
0.2
0.25 γA
0.3
0.35
0.4
0.45
ρ=3.8% ρ=11.3% ρ=30.9%
0.1 0
0.5
0
0.005
0.01
(a) Adaptive sampling
0.015
0.02
0.025 εS
0.03
0.035
0.04
0.045
0.05
(b) Static Sampling
Fig. 2. CDF of OWD accuracy comparison between adaptive and static sampling
Required resources: The row labelled as (ρe f f ) of Table 1 shows the amount of resources effectively needed for each value of X. It details the global sampling rate applied taking into account all the flows and their durations. This value is obtained by aggregating all the considered samples out of the total amount of packets sent by all the tests. As it can be noted for low X values the sampling rate is very small, which means that only 3.8% (in the case of X = 200) of the resources needed to monitor XD are required by our proposal. Table 1. Effective global sampling and Delay and Loss errors for 95th percentile per X X ρe f f εdelay γloss
200 3.8% 0.025 0.22
300 4.5% 0.018 0.17
500 7.3% 0.013 0.15
700 9.0% 0.012 0.11
1000 11.3% 0.010 0.09
2000 17.6% 0.008 0.07
3000 23.4% 0.007 0.06
5000 27.3% 0.005 0.05
7000 30.9% 0.005 0.05
OWD Estimation: In order to evaluate the accuracy of the OWD estimation we compared obtained per X with the real traces by using relative delay error values: the results ˆ ε = 1 − Dd . Where D is the average OWD per bin taken from the complete trace and dˆ stands for the estimate obtained by our solution for different X. Figure 2 shows the comparison between adaptive sampling (left) and static sampling (right). The figures show the Cumulative Distribution Function (CDF) for various X for the adaptive and equivalent sampling rates for the static case. The X-axis of the figures holds the relative error (ε) while Y-axis is the error probability. The results clearly show the gain obtained by our adaptive solution. Where adaptive sampling outperforms static sampling by around 50% for low values of X. For example in 95% of the tests, for X = 200 the εA ≤ 0.020 while εS ≤ 0.040. When the resources are increased the difference is reduced down to 5% and below for X ≥ 1000. Moreover, adaptive sampling gives a more robust and reliable mechanism to control and schedule the used resources. This sensible gain in accuracy is further enhanced when dealing with packet losses as shown later.
R. Serral-Gracià, A. Cabellos-Aparicio, and J. Domingo-Pascual 1
1
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
Probability
Probability
262
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2 X=200 X=1000 X=7000
0.1 0
0
0.05
0.1
0.15
0.2
0.25 γA
0.3
0.35
0.4
0.45
ρ=3.8% ρ=11.3% ρ=30.9%
0.1
0.5
(a) Adaptive sampling
0
0
0.05
0.1
0.15
0.2
0.25 γS
0.3
0.35
0.4
0.45
0.5
(b) Static Sampling
Fig. 3. CDF of PLR accuracy comparison between adaptive and static sampling
From the accuracy point of view the figure 2 shows that increasing the resources for the reporting improves greatly OW D, in fact 95% of the tests had an error smaller than 0.025 as summarised in the row labelled as εdelay in Table 1. PLR Estimation: Given that many flows did not have any packet loss and the system always estimates this case correctly, we decided to remove from the study such flows for not biasing the results. In this case PLR comparison is performed by using absolute errors. The results show that the accuracy is lower than for OWD as shown in Figure 3, but much higher than in the case of static sampling, whose error is up to ∼ 25% in the best considered case (30.9% sampling) for 95% of the tests. Compared to the worst obtained with adaptive sampling which is ∼ 20% for the minimum resources. Eventhough for reasonable sampling rates the results show an error lower than 10% for 95% of the cases, the full details are in the row labelled as γloss in Table 1. A way to overcome this lower accuracy in the estimation of PLR, is to increase the bin size (t) in order to gather more information per bin. Hence improving the sampling estimation of
the number of lost packets, which error is bound by ε ≤ 1.96 1c where c is the number of lost samples detected. A deep analysis of this is left for further study.
6 Conclusions and Future Work In this paper we proposed a new adaptive sampling methodology for distributed network performance assessment. Our contribution is focused on the resource scheduling and the optimisation of the required resources with minimum loss of accuracy in the live reporting. As a proof of concept, we use IPDV as an accuracy estimator to set the the sampling distribution. Our adaptive approach outperforms static sampling solutions by smartly scheduling more resources to the flows with poorer estimation in the performance assessment. In order to evaluate the accuracy of the estimation of OWD and PLR, we performed a series of tests in a European-wide scenario. The results show a negligible relative error in the OWD estimation (lower than 2.5% for 95% of the cases). In the case of PLR the accuracy is lower but kept within bearable thresholds.
Network Performance Assessment Using Adaptive Traffic Sampling
263
PLR estimation can be improved by enlarging the bin size. Hence we leave as an important part of our future work the use of dynamic bin sizes. This way, low rate flows report more detailed information and the sampling rate could be better adjusted. Another detail left as future work is the treatment of X as a distributed resource. This suits better a real scenario where the resources assigned to each ME can vary within the same domain. Finally with the current system design, it always uses all the available resources regardless of the conditions. A further optimisation would be to focus on the minimisation of such used resources when possible.
References 1. Serral-Gracià, R., Barlet-Ros, P., Domingo-Pascual, J.: Coping with Distributed Monitoring of QoS-enabled Heterogeneous Networks. In: IT-News (QoSIP) - 2008, pp. 142–147 (2008) 2. Serral-Gracià, R., et al.: Distributed sampling for on-line qos reporting. In: Submitted and pending acceptance (2008) 3. Duffeld, N.: Sampling for Passive Internet Measurement: A Review. Statistical Science 19(3), 472–498 (2004) 4. Zseby, T.: Comparison of Sampling Methods for Non-Intrusive SLA Validation. In: E2EMon (2004) 5. Cozzani, I., Giordano, S.: Traffic sampling methods for end-to-end QoS evaluation in large heterogeneous networks. In: Computer Networks and ISDN Systems, vol. 30, pp. 1697–1706 (1998) 6. Ma, W., Huang, C., Yan, J.: Adaptive sampling for network performance measurement under voice traffic. In: IEEE-ICC (2004) 7. Duffield, N.G., Grossglauser, M.: Trajectory sampling for direct traffic observation. IEEE/ACM Trans. Netw. 9(3), 280–292 (2001) 8. Zseby, T.: Stratification Strategies for Sampling-based Non-intrusive Measurements of Oneway Delay. In: Passive and Active Measurements (2003) 9. Hanemann, A., Boote, J.W., et al.: PerfSONAR: A Service Oriented Architecture for MultiDomain Network Monitoring. In: Benatallah, B., Casati, F., Traverso, P. (eds.) ICSOC 2005. LNCS, vol. 3826, pp. 241–254. Springer, Heidelberg (2005) 10. Miloucheva, I., Gutierrez, P.A., et al.: Intermon architecture for complex QoS analysis in inter-domain environment based on discovery of topology and traffic impact. In: Interdomain Performance and Simulation Workshop, Budapest (March 2004) 11. V.-Nogués, C., C.-Aparicio, A., D.-Pascual, J., S.-Pareta, J.: Verifying IP Meters from Sampled Measurements. In: Testing of Communicating Systems XIV. Application to Internet Technologies and Services. IFIP TC6/WG6.1. TestCom. pp. 39–54. Kluwer Academic Publishers, Dordrecht (2002) 12. [IST] EuQoS - End-to-end Quality of Service support over heterogeneous networks (September 2004), http://www.euqos.eu/ 13. D5.1.1: Technical requirements for trials, tasks scheduling - (September 2004), http://www.euqos.eu/documents/md_1216_d-511.pdf
On the Applicability of Knowledge Based NAT-Traversal for Home Networks Andreas M¨ uller, Andreas Klenk, and Georg Carle University of T¨ ubingen, Computer Networks and Internet, Sand 13, 72076 T¨ ubingen, Germany {mueller,klenk,carle}@ri.uni-tuebingen.de http://net.informatik.uni-tuebingen.de
Abstract. The presence of Network Address Translation (NAT) is a hindrance when accessing services within home networks, because NAT breaks the end-to-end connectivity model of the Internet protocol suite. Communication across NATs is only possible if it is initiated from a host belonging to the internal network. Thus, services expecting a connection established from the outside fail in most situations. Existing approaches for NAT-Traversal do not cover the full range of NAT-Traversal methods and fail in certain situations, or deliver sub optimal results in others. Part of the problem of existing approaches is that they do not differentiate between different types of applications. We argue that the classification of applications into four service categories helps to determine the best matching NAT-Traversal technique. An extensive field test enables us to acquire knowledge about the success rates of promising NAT-Traversal techniques. These results will help us to develop a knowledge driven NAT-Traversal framework making its choice based on an understanding of NAT behavior, NAT-Traversal options and the service category of the application. Keywords: NAT-Traversal, Field Test on NAT Behavior.
1
Introduction
Today most home networks connect to the public Internet via a “Designated Border Router”, allowing multiple clients to share one public IP address using Network Address Translation (NAT). We use the term NAT as defined in [1]: “a method by which IP addresses are mapped from one realm to another, in an attempt to provide transparent routing to hosts”. Since NAT breaks the end-to-end connectivity model of the TCP/IP-protocol suite, a communication across a middlebox performing NAT is only possible if it is initiated from a host belonging to the internal network. Therefore, applications behind a Network Address Translator aiming to provide a globally reachable service (e.g. Web Servers, Peer-to-Peer or VoIP applications) suffer from the existence of NATs. This problem is known as the NAT-Traversal problem. The NAT-Traversal problem arises as soon as an external host wants to connect to a peer located in the private network. This is because NAT only passes A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 264–275, 2008. c IFIP International Federation for Information Processing 2008
On the Applicability of Knowledge Based NAT-Traversal for Home Networks
265
inbound packets to an internal host if it has a state listed in its mapping table. The creation of a state however depends on a packet traveling in the other direction than the incoming packet. In other words, before an internal host is able to receive packets, it first has to send a packet to the remote peer itself. NAT then tries to handle all incoming packets as a response to the outgoing packet and passes them to the appropriate internal host. There are many different approaches for solving the NAT-Traversal problem, but none can claim to solve the problem in all situations without drawbacks. Some are behavior based and only support UDP (e.g. ICE [2]), while others introduce a significant communication overhead and require the presence of infrastructure nodes (e.g. TURN [3]). An alternative to behavior based approaches is to exercise direct control over the NAT, for instance by using UPnP [4] or MIDCOM [5] in order to establish port forwarding entries. There is a lack of extensible frameworks that can make a choice when to utilize behavior based or control based techniques. Our aim is to establish persistent knowledge about the available NAT-Traversal options and to make an intelligent choice depending on the application. This paper has four main contributions: 1.) A survey on the behavior of Network Address Translators and techniques for NAT-Traversal 2.) Service categories for applications requiring NAT-Traversal support 3.) Framework proposal for knowledge based NAT-Traversal 4.) A Field test on the success rate and applicability of NAT-Traversal techniques regarding our four service categories. The remainder of this paper is structured as follows. In Sec. 2 we rehash NAT behavior. Sec. 3 explains NAT-Traversal techniques. Service categories for applications are introduced in Sec. 4. Sec. 5 introduces the idea of the ANTS framework for NAT-Traversal. In Sec. 6 we present our field test on NAT behavior. Sec. 7 surveys related work. Finally, Sec. 8 summarizes the contributions of this paper.
2
NAT Behavior
Current NAT implementations not only differ from vendor to vendor, but also from model to model. If an application works with one particular Network Address Translator, there is no guarantee that it always works in a NATed environment. This section gives a short introduction to a common classification proposed by [6]. For a more detailed discussion please refer to [7] and [8]. A FullCone NAT uses an endpoint independent binding strategy (the same external endpoint is assigned to two consecutive connections from the same source transport address (the combination of IP address and port) independent from the destination transport address) and an independent filtering strategy. Thus, once a mapping is created, every external host can access it in order to communicate with the appropriate internal client. An Address-Restricted-Cone NAT uses an endpoint independent binding in combination with an address restricted filtering strategy: only packets that originate from the same host the initial packet has been sent to are forwarded. Again, endpoint independent binding is used for
266
A. M¨ uller, A. Klenk, and G. Carle
a Port-Address-Restricted-Cone NAT. In addition to the destination address, a Port-Address-Restricted-Cone NAT also considers the port of the external host when translating packets between the realms. Other than the three categories described above, a Symmetric NAT uses a non-independent mapping. Depending on the exact strategy (random or not), port prediction may not be possible. Symmetric NATs usually behave like Port-Address-Restricted-Cone NATs with respect to filtering.
3
Techniques for NAT-Traversal
This section presents popular and promising methods for NAT-Traversal. One important group of NAT-Traversal techniques assumes direct control over the NAT. Adding a Port-Forwarding entry to the Network Address Translator can be done manually, which is only feasible for experienced users, or dynamically. Controlling the Network Address Translator transparent to the user is the aim of protocols such as Universal Plug and Play (UPnP) [4], MIDCOM [5], NAT/Firewall NSIS Signaling Layer Protocol [9] or the NAT-Port-Mapping Protocol [10]. However, if the protocol is not explicitly supported by the NAT (e.g. UPnP may be disabled due to security issues) it fails. Furthermore, every external port can only be used once. If, e.g., two hosts in a private network want to provide a service running on the same port, only one can use port preservation. There are also NAT-Traversal methods that do not require support by the Network Address Translator. These techniques try to anticipate NAT behavior in order to establish a connection. One such technique is UDP Hole-Punching. HolePunching was first described in [11] and more thoroughly documented in [12]. In order to receive packets behind a Network Address Translator, the initial packet coming from the remote host has to look like a response to the Hole-Punching packet sent by the NATed host. Simple Traversal of User Datagram Protocol through NATs (STUN) [6] allows to determinate external transport addresses and works well for endpoint independent mapping. Today, UDP Hole-Punching is used by many proprietary protocols for Instant-Messaging, Online-Gaming and VoIP applications. Due to the connection-oriented design of TCP, Hole-Punching for TCP is more difficult than for UDP. The TCP NAT-Traversal method STUNT [8] requires a NAT to accept an incoming TCP-SYN packet following an outgoing TCP-SYN packet (the outgoing TCP-SYN being the Hole-Punching packet), a sequence of packets usually not seen and therefore often discarded. Hole-Punching is not a suitable technique for NAT-Traversal of Symmetric NATs, since port prediction usually fails. The goal of Traversal Using Relays around NAT (TURN) [3] is to provide a relay with a public transport address allowing the exchange of data packets between a TURN-client and a public host. TURN has the advantage of working with almost every NAT because all incoming packets are directly related to outgoing packets. As a drawback, the reliability and the bandwidth of a connection depends on the chosen TURN server, introducing a Single Point of Failure.
On the Applicability of Knowledge Based NAT-Traversal for Home Networks
4
267
Service Categories for NAT-Traversal
When investigating existing applications suffering from the presence of NAT, we identified four service categories an application can belong to. Each category addresses different requirements and makes assumptions about the network topology and available components. Our first category, Global Service Provisioning (GSP), assumes that only one host has a NAT-Traversal framework running (no signaling is needed). It helps to make a local service globally accessible by creating and maintaining a NAT-mapping (e.g. sending keep-alive packets). Services such as a Web-Server belong to GSP. Peers of P2P content distribution networks can establish direct connections, even if both peers are behind a NAT and one of them supports GSP. Service Provisioning using Pre-Signaling (SPPS) extends the GSPcategory by giving NAT-Traversal support to both parties, which allows more sophisticated connection establishment procedures such as signaling. Compared to related work, SPPS is the category used by most existing frameworks [2][13][14]. The advantage of SPPS is that the NAT-Traversal service can select from all available NAT-Traversal solutions. Therefore, SPPS should be used, if possible, because it provides the highest success rate regarding NAT-Traversal. Our third category, Secure Service Provisioning (SSP), is an extension to SPPS and addresses applications that only want to allow authorized hosts to create and use a mapping in the Network Address Translator. Many applications were originally designed to run in a closed environment only, such as a home or company network. Such services do not always realize a high level of security, making them a target for hackers if they are reachable from the public Internet. Unfortunately, none of the NAT-Traversal solutions available today actually offers restricted access to certain services. The last category, ALG Service Provisioning (ALG-SP), focuses on applications having problems with realm-specific IP-Addresses in their payload. This applies to protocols using inband-signaling on the application layer. This is also strongly related to Bundled-Session Applications with asymmetric connection establishment establishing separate control- and data-connections. The most popular application belonging to this category is VoIP using SIP. Besides ICE, SIP NAT-Traversal is usually solved by STUN or a SIP-aware Network Address Translator. But STUN only works with an independent mapping strategy, and SIP-aware NATs are not widely used. Therefore, in addition to the three categories described above, a NAT-Traversal service should also be able to handle protocols using inband-signaling without relying on a NAT-ALG.
5
Concept for a NAT-Traversal Framework
This section presents the idea of ANTS, a new framework which aims towards providing an Advanced NAT-Traversal Service for legacy applications. We first give an overview by describing a particular scenario for NAT-Traversal in section
268
A. M¨ uller, A. Klenk, and G. Carle
5.1. Section 5.2 then discusses the applicability of existing NAT-Traversal techniques regarding our service categories and explains our main idea of a knowledge based framework. 5.1
Towards the Advanced NAT-Traversal Service
ANTS is deployed directly at the host and is aware of all registered applications in order to provide NAT-Traversal support based on the requested service category. Figure 1 shows a scenario where two hosts, both behind NAT, want to establish a direct connection to each other. First, the ANTS-module gathers knowledge about its environment and determines which NAT-Traversal techniques can be used in order to traverse the Network Address Translator it is behind (see 5.2). ClientApplication
ANTS
ANTS knowledge gathering
Connection Request
register Server Application
Session Manager
ask for remote endpoint
Signaling
ServerApplication
Signaling create mapping
remote endpoint received
Public Endpoint for NAT-Traversal
Remote Endpoint
Rendezvous Point legacy IP-Connection
Host A
NAT A
NAT B
Host B
Fig. 1. Scenario for a new NAT-Traversal framework
If a user decides that a particular application should be reachable from the public Internet, he registers it at a Session Manager keeping track of all applications and their service categories. With the Session Manager, ANTS is able to provide Global Service Provisioning directly. Whenever an application is added and associated with GSP, the Session Manager calls the NAT-Traversal logic and asks to allocate an appropriate mapping in the NAT (for GSP, only the host that wants to offer services must run ANTS). SPPS and SSP, however, require some form of signaling in order to exchange connection specific information in advance. Signaling should result in a working public transport address for NAT-Traversal. In order to avoid a Single Point of Failure, signaling should be done in a decentralized way (e.g. Peer-to-Peer SIP (P2P-SIP) [15]). Furthermore, we also aim towards port preservation, meaning
On the Applicability of Knowledge Based NAT-Traversal for Home Networks
269
that the legacy applications only use realm-specific ports (e.g. port 80 for a web-server) independent of the global port allocated by the NATs. 5.2
Knowledge Based NAT-Traversal
The concept of ANTS is based on the idea of reusing previously obtained knowledge. This means, instead of querying the network on every new connection request, ANTS determines the properties and capabilities of the NAT periodically, resulting in a very fast connection establishment. The Knowledge and Decision Module not only needs to determine all working NAT-Traversal techniques, it also has to make sure that ANTS only applies NAT-Traversal techniques suitable for the requested service category. For example, UPnP cannot be used with Secure Service Provisioning because it violates the idea of a secure public endpoint. Therefore, every NAT-Traversal technique integrated into ANTS has to be associated with an entry as follows: (Identifier → Service Category → Condition) The last field describes the conditions that have to be met for the technique in order to work with the defined service category. Global Service Provisioning depends on NAT-Traversal techniques that allow unrestricted access to a public endpoint. A Port-Forwarding entry created by UPnP is easy to maintain and works independently from NAT behavior. Hole-Punching for GSP is also possible if the NAT is of type Full-Cone. Finally, an independent relay can be used as the third option. Since SPPS makes no assumptions about the accessibility of the mapping, there are no restrictions to be considered. As long as the technique is supported it may be used. As SPPS uses a signaling protocol between two hosts, more sophisticated techniques such as tunneling TCP within UDP are also possible. SSP is an extension to SPPS and relies on the same signaling infrastructure. Since it only allows authorized hosts to allocate and to use a mapping, we have to choose from the following techniques: Hole-Punching with a restricted filtering strategy or TURN (which behaves like a Restricted Cone-NAT) are possible. The applicability of NAT-Traversal techniques for ALG-SP depends on the security considerations made by the user for the particular service. As long as we only want to provide NAT-Traversal based on SPPS, any approach can be used. On the other hand, if we prefer to only allow certain hosts to access the NAT-mapping, the considerations made above when discussing SSP also apply to ALG-SP. Figure 2 shows the components necessary for a knowledge based framework. When making a decision (e.g. which NAT-Traversal technique should be used for the requested application) the Knowledge and Decision Module relies on input from an overlaying Input Module. Besides the rather static knowledge about the applicability of existing NAT-Traversal techniques, the Knowledge and Decision Module should also consider user input, as well as input from the Session Manager as described above. However, the most important component
270
A. M¨ uller, A. Klenk, and G. Carle Input Module NAT-Tester
Registered Applications
Policies
Knowledge based NAT-Traversal working techniques
Applicability
decision (2)
(3)
(1)
Fig. 2. Inputs to be considered in order to make decisions
of the Input Module has to be able to test the Network Address Translator regarding its core properties and the supported NAT-Traversal methods. Only if ANTS is able to determine the properties of the NAT correctly, it is able to reuse its knowledge when providing a working public endpoint to an application.
6
Knowledge Gathering for NAT-Traversal
We described the idea of ANTS, a knowledge based approach for solving the NAT-Traversal problem in section 5. The fundamental question is how to discover the behavior of individual NAT-Traversal techniques in order to establish this knowledge. Throughout the whole paper we stated that the implementation of NAT is not standardized and differs from model to model. To get an overview of the behavior of current NAT implementations we devised the NAT-Tester as a module that can work as a stand-alone program and as an integral part of ANTS at the same time. We then did a field test investigating the behavior of 104 NATs in the wild, with our NAT-Tester available here: http://gex.cs.unituebingen.de. Similar tests have been done in the past [8] [16], but all of them only tested a few NAT properties. For example, the combination of UPnP and different Hole-Punching techniques has never been considered. Additionally, the results are dependent on the market share of the NAT manufacturers, which differs from country to country. While all former results represent the North American Market, our test mainly grasps the realities in the German market. 6.1
NAT Behavior Discovery
As the first test, the NAT-Tester queried a public STUN-Server and determined the properties of the NAT (Table 1). More than 85% of all NATs were either of type Port-Address Restricted or Full-Cone. Symmetric NATs, which are said to be popular in the business market, were rarely discovered. The second test then queried the network to determine if the NAT supports UPnP. According
On the Applicability of Knowledge Based NAT-Traversal for Home Networks
271
Table 1. Results of the Field Test: NAT behavior NAT Type
Appearance
Port-Address Restricted Full-Cone Address-Restricted Symmetric No-NAT Symmetric Firewall
50.96 36.54 4.81 4.81 1.92 0.96
% % % % % %
Behavior
Appearance
Port Preservation Hairpinning
63.46 % 51.92 %
no UPnP no IGD UPnP ok
51.92 % 9.62 % 38.46 %
to Table 1, 51.92% of all NATs had UPnP disabled. No IGD means that the NAT-Tester found an UPnP-capable device on the private network, but it was not an Internet-Gateway-Device (IGD). 6.2
Anticipated Success of NAT-Traversal Techniques
The next tests actually determined the success rates for different NAT-Traversal techniques. First, the NAT-Tester created a Candidate-List (listing all public endpoints to be tested) for UDP containing a STUN-derived public transport address for Hole-Punching. For the Hole-Punching test, the NAT-Tester sent a UDP packet towards the Test-Server allocating an appropriate mapping in the NAT. The NAT-Tester then started a listener on the private port and waited for a connection from the Test-Server. If a packet was received within a limited amount of time, the test succeeded. Table 2 shows the success rates for UDP. While 93.67% of our 104 NATs supported UDP-Hole-Punching via STUN, the success rate of UPnP was only 38.46%. Table 2. NAT-Traversal for UDP Technique Relay Hole-Punching UPnP
Appearance 100 % 92.31 % 38.46 %
Table 3. NAT-Traversal for TCP Technique Relay HP FTP-ALG HP Low-TTL UPnP HP High-TTL
Appearance 100 67.44 51.92 38.46 13.95
% % % % %
The UDP test algorithm was adapted to TCP and showed interesting results. In [8], the authors identified Hole-Punching using a Hole-Punching packet with a low TTL to be the most promising method with a success rate of 88% and rely on it for their NAT-Traversal technique STUNT2. In our tests this form of TCPHole-Punching only succeeded for 51.92% of all NATs. After discovering that the actual success rate was much lower, we modified the NAT-Tester and added two other types of TCP-Hole-Punching to it1 . HP High-TTL uses a high TTL 1
43 NATs were tested with the modified NAT-Tester.
272
A. M¨ uller, A. Klenk, and G. Carle
Table 4. Results of the Field Test: Success rates for the different Service Categories Category
Condition
GSP1 GSP3 GSP2 GSP4
(Full-Cone and HP-UDP) (Full-Cone and HP-TCP) (UPnP or (Full-Cone and HP-UDP)) (UPnP or (Full-Cone and HP-TCP))
(UDP) (TCP) (UDP) (TCP)
SPPS1 SPPS2 SPPS3 SPPS4 SPPS5 SPPS6
(UDP) (HP-UDP) (TCP) (HP-TCP) (TCP) (HP-TCP or HP-UDP) (UDP) (UPnP or HP-UDP) (TCP) (UPnP or HP-TCP) (TCP) (UPnP or HP-TCP or HP-UDP)
SSP1 (UDP) (Restricted-NAT and HP-UDP) SSP2 (TCP) (Restricted-NAT and HP-TCP)
Success Rate 35.58 21.15 57.66 50.45
% % % %
92.31 66.35 96.15 92.31 75.96 96.15
% % % % % %
49.04 % 35.58 %
for the Hole-Punching packet resulting in a RST -packet from the NAT. With a success rate of only 13.95%, it cannot be seen as a general solution for TCPNAT-Traversal. HP FTP-ALG [17] relies on a working ALG for active FTP. The ALG creates mappings in the NAT according to the FTP signaling messages. But instead of providing a working FTP endpoint within the control messages, an independent transport address is listed. This unconventional technique works with 67.44% of all NATs. For future tests it could be interesting to extend this idea to SIP and to provide a transport address within the SDP message. The results of the individual techniques for TCP show that no general solution for TCP-Hole-Punching exists. Therefore, building a framework that automatically detects and applies a working candidate is the most promising way for providing a NAT-Traversal service to applications. Finally, we assumed for all tests that if the NAT-Tester is able to connect to the Test-Server, it is also able to connect to an external relay. Therefore, 100% of the tested NATs support NAT-Traversal using an appropriate data relay such as TURN. To adapt the test results to our work, we evaluated the success rates of the individual techniques regarding to our defined service categories. Table 4 shows the categories and the conditions that have to be met according to section 5.2. For example, GSP requires the use of UPnP or working Hole-Punching support in combination with a Full-Cone NAT. Therefore, 57.66% of our tested NATs supported a direct connection for UDP and category GSP (50.45% for TCP). In all other cases (the remaining percentages) an external relay has to be used in order to provide GSP. For SPPS, which makes no security assumptions, we divided our results into two categories. First we determined the success rates without considering UPnP. With 92.31% of all NATs we were able to establish a direct connection to the host behind the Network Address Translator (66.35% for TCP). This rate increased
On the Applicability of Knowledge Based NAT-Traversal for Home Networks
273
silghtly for TCP (to 75.96% ) when UPnP was an option. The highest success rate for TCP-NAT-Traversal (96.15% ) was discovered when we also allowed the tunneling of TCP-packets through UDP. Finally, SSP only allows authorized hosts to create and to use a mapping. Therefore, a suitable technique for SSP is Hole-Punching in combination with a NAT implementing a restricted filtering strategy. This was supported by 49.04% for TCP and 35.58% for UDP.
7
Related Work
A number of techniques have been proposed to examine NAT behavior. The IETF has standardized STUN [6], which is widely used by Voice over IP (VoIP) applications and phones. The STUN protocol determines the public transport address assigned for a connection and detects the NAT strategy of the middlebox by using a number of probing messages. The drawback of STUN is that it does not identify NATs allowing direct control (e.g. UPnP). Additionally, STUN does not preserve its gathered topology knowledge for later usage. This is not an issue for VoIP where there is enough time to perform the STUN protocol until the other party answers the telephone, but many other applications may suffer from this delay. There is an informational IETF draft presenting results of a survey that also utilized STUN to classify 43 Network Address Translators [16]. Francis did a thorough analysis of NAT implementations in [18] and also considered important properties for NAT-Traversal. However, the tool used is very time consuming and is therefore not able to provide a knowledge gathering component for ANTS. There are already a number of frameworks for NAT-Traversal that can also incorporate knowledge about the NAT behavior. ICE [2] aims to provide a solution flexible enough to work with all network topologies. Whenever a call is established, each phone gathers all possible transport addresses and exchanges them using SIP. Both clients then set up a local STUN-Server and go through the received candidate list. A client tries to connect to each candidate address using STUN binding-requests and responses, resulting in working candidate pairs. ICE describes a general solution for offer/answer protocols, but was mainly designed to provide a NAT-Traversal solution for VoIP. Therefore, it only supports UDP-based candidates. However, there have been studies on extending ICE to work with TCP as well [19]. ICE also requires both peers to have an ICE-implementation running. If one side does not, ICE cannot help. In [18] and [13], the authors propose a new architecture called NUTSS. They describe the integration of a TCP NAT-Traversal method called Simple Traversal of User Datagram Protocol through NATs and TCP too (STUNT). NatTrav, published in [14], exchanges public endpoints and uses TCP-Hole-Punching to actually traverse the NAT. The proprietary Skype2 VoIP application has a sophisticated probing technique [20] for NAT-Traversal, which is not available to any other application, though. NAT-Traversal is done using an unknown variation of the 2
http://www.skype.com
274
A. M¨ uller, A. Klenk, and G. Carle
STUN and TURN protocol. If possible, a Skype node uses Hole-Punching to establish a direct connection. If not, a Super Node acts as a TURN-Server relaying traffic back and forth. The analysis of the related work shows that there is no single NAT-Traversal technique which is able to handle all situations without having significant drawbacks in others. This is the strong point of our envisioned architecture that can be extended by behavior and control based NAT-Traversal techniques and profit from persistent knowledge about NAT behavior.
8
Conclusion
The NAT-Traversal problem became more and more important with the increasing popularity of applications following the Peer-to-Peer communication paradigm. Existing solutions to the NAT-Traversal problem have drawbacks of only working with certain types of NAT implementations, or lacking support for legacy applications and multiple transport protocols. When analyzing the NAT-Traversal problem more thoroughly, we discovered that the requirements for legacy applications differ significantly, and identified four service categories relevant for NAT-Traversal. The choice of the NAT-Traversal technique depends on the service category an application belongs to. We made a proposal for a knowledge based extensible NAT-Traversal framework that incorporates the NAT behavior and the available NAT-Traversal options in its decision. As a corner stone of the framework, we implemented the NAT-Tester for knowledge gathering. We did a field test using the NAT-Tester to get an overview on behavior of current NAT implementations and about promising NAT-Traversal techniques. TCP Hole-Punching, for instance, yielded worse results than expected. We therefore must integrate alternative methods to support TCP and SCTP. Future work addresses the implementation of the framework and connecting legacy applications to it.
References 1. Srisuresh, P., Holdrege, M.: IP Network Address Translator (NAT) Terminology and Considerations. RFC 2663, Internet Engineering Task Force (August 1999) 2. Rosenberg, J.: Interactive Connectivity Establishment (ICE): A Methodology for Network Address Translator (NAT) Traversal for the Session Initiation Protocol (SIP). Internet-Draft - work in progress, Internet Engineering Task Force (October 2007) 3. Rosenberg, J., Mahy, R., Matthews, P.: Traversal Using Relays around NAT (TURN). Internet Draft - work in progress. Internet Engineering Task Force (January 2008) 4. UPnPTM Forum. Internet gateway device (IGD) standardized device control protocol (November 2001) 5. Srisuresh, P., Kuthan, J., Rosenberg, J., Molitor, A., Rayhan, A.: Middlebox communication architecture and framework. RFC 3303, Internet Engineering Task Force (August 2002)
On the Applicability of Knowledge Based NAT-Traversal for Home Networks
275
6. Rosenberg, J., Weinberger, J., Huitema, C., Mahy, R.: STUN: Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs). RFC 3489, Internet Engineering Task Force (March 2003) 7. Audet, F., Jennings, E.,, C.: NAT Behavioral Requirements for Unicast UDP. RFC 4787, Internet Engineering Task Force (January 2007) 8. Guha, S., Francis, P.: Characterization and Measurement of TCP Traversal through NATs and Firewalls. In: Proceedings of ACM Interet Measurement Conference (IMC), Berkeley, CA (October 2005) 9. Stiemerling, M., Tschofenig, H., Aoun, C., Davies, E.: NAT/Firewall NSIS Signaling Layer Protocol (NSLP). IETF draft - work in progress. Internet Engineering Task Force (October 2006) 10. Cheshire, S., Krochmal, M., Sekar, K.: NAT Port Mapping Protocol (NAT-PMP). Internet Draft, Internet Engineering Task Force (September 2006) 11. Holdrege, M., Srisuresh, P.: Protocol Complications with the IP Network Address Translator. RFC 3027, Internet Engineering Task Force (January 2001) 12. Ford, B., Srisuresh, P., Kegel, D.: Peer-to-Peer Communication Across Network Address Translation. Technical report, Massachusetts Insitute of Technology (2005) 13. Guha, S., Francis, P.: Towards a Secure Internet Architecture Through Signaling. Technical report, Cornell University (2006) 14. Eppinger, J.: TCP Connections for P2P Applications - A Software Approach to Solving the NAT Problem. Technical report, Carnegie Mellon University, Pittsburgh, PA (2005) 15. P2P-SIP IETF Working Group, http://www.p2psip.org 16. Jennings, C.: NAT Classification Test Results. Internet Draft - work in progress. Internet Engineering Task Force (July 2007) 17. Olsson, M.: Extending the FTP ”ALG” vulnerability to any FTP client (March 2000) 18. Francis, P., Guha, S.: Takeda, Y.: NUTSS: A SIP-based Approach to UDP and TCP Network Connectivity. Technical report, Cornell University, Panasonic Communications (2004) 19. Rosenberg, J.: TCP Candidates with Interactive Connectivity Establishment. Internet Draft - work in progress. Internet Engineering Task Force (November 2007) 20. Baset, S.A., Schulzrinne, H.: An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol. Technical report, Columbia University, New York (2004)
IP Performance Management Infrastructure for ISP Atsuo Tachibana, Yuichiro Hei, Tomohiko Ogishi, and Shigehiro Ano KDDI R&D Laboratories, 2-1-15 Fujimino-shi, Saitama, Japan {tachi,hei,ogishi,ano}@kddilabs.jp
Abstract. An IP performance management infrastructure that has the twin frameworks of performance measurement and topology monitoring is proposed. By combining above frameworks, the infrastructure locates performance-degraded segments. Since the Internet is still highly prone to performance deterioration due to congestion, router failure, and so on, not only detecting performance deterioration, but also monitoring topology and locating the performance-degraded segments in real-time is vital to ensure that Internet Service Providers can mitigate or prevent such performance deterioration. The infrastructure is implemented and evaluated through a real-world experiment and its considerable potential for practical network operations is demonstrated.
1
Introduction
Today’s Internet serves as a communication infrastructure that supports various social and economic activities. The Internet needs to be managed in a reliable and efficient manner, and should be measurable and tractable in terms of its characteristics and internal states by ISPs (Internet Service Providers). However, it is widely known that transient performance deterioration is actually still likely to occur due to the inherent feature of providing cost-efficient and scalable services based on statistical, loosely controlled shares of network resources, meaning that ISP operators have to detect performance deterioration and take certain action to mitigate it. Although SNMP (Simple Network Management Protocol) may provide high accuracy for a metric such as a link-by-link packet loss, it is not suitable for estimating customers’ traffic performance. Hence, active measurement of packet behaviors passing through the targeted intra-network is an essential and rational approach to the network operations of ISPs. In addition to performance measurement, topology monitoring is important for network operation, because failures of a router or a transit network resulting in topology change can potentially severely degrade the performance of the network. Monitoring LSAs (Link-State Advertisements) that are updates of OSPF, a widely deployed intra-domain routing protocol, is a promising approach for ISP operators to efficiently monitor the topologies on the intra-network [1,2,3]. A variety of infrastructures and tools for active measurement and topology monitoring have been extensively developed for research (e.g., [4,5,6,7,8,9,10,11]). A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 276–288, 2008. c IFIP International Federation for Information Processing 2008
IP Performance Management Infrastructure for ISP
277
However, because most of them aim to clarify some research issues based on a different network model and not designed for real-time network operation, their practical application to a commercial ISP’s network operation in their present form remains difficult. Therefore in this paper, we propose an IP performance management infrastructure that has the twin frameworks of performance measurement and topology monitoring. In addition, there is a real possibility that the analysis of the combination of these two functionalities might reveal other useful features from the measurement data. Locating performance-degraded segment ensures that ISP operators take action to reduce costs and configuration efforts required for troubleshooting. Network tomography is a promising analysis technique for inferring the internal status of a network solely by measuring end-to-end packet behaviors passing through multiple paths traversing the targeted intra-network instead of directly monitoring each network node such as routers. A variety of network tomographic approaches have been extensively studied (e.g., [12,13,14,15,16]). Along these lines, as a practical way to locate performance-degraded segments, the inference methods in real-time are also proposed [17,18]. These methods actively and continuously measure end-to-end packet loss rate or delay variation within each measurement period (e.g., 15 seconds and 5 seconds, respectively) on paths from multiple origins to multiple destinations. The infrastructure includes these methods targeting ISPs’ network operation. The rest of the paper is organized as follows. Section 2 shows the system requirements. In Section 3, we explain the details of the system architecture, and in Section 4, in order to assess the feasibility of the infrastructure we outline an experiment with its results including the considerable potential of the proposed infrastructure for practical operational use. Finally, we conclude this work in Section 5.
2
System Requirements
Minimum system requirements for the proposed infrastructure are listed below. 1. Performance measurement First, network probes themselves are unsolicited and may cause harm to the network especially on a large scale, by consuming precious router processing resources. Probing packets have to be sufficiently light even when active measurements are simultaneously performed on multiple paths. To address this, we designed the following system requirements. – Probing packets are sent at a low rate (e.g., several Kbps) on each monitored path. To avoid being synchronized with a particular networkinternal queue behavior, the interval of an adjacent probing packet should be chosen randomly as specified in the IPPM (IP Performance Metrics) Working Group of the IETF. 2. Topology monitoring Although traceroute command is one available approach to making route measurements, since traceroute lists the source addresses of gTime exceededh
278
A. Tachibana et al.
ICMP messages, these addresses represent interfaces that received traceroute probes, the topology information obtained by traceroute is not necessarily accurate. In addition, to monitor all routers’ interface states in a large-scale network precisely, a large number of traceroute probes would be required. Hence, this approach is not suitable for continuous topology monitoring for an entire large-scale network. Instead, in this paper, we focus on monitoring LSAs. Routers running OSPF advertise their link states on LSAs to the network, and OSPF routers can construct a complete view of the topology of the network from these LSAs. Therefore, by passively monitoring LSAs flooded throughout the intra-network, we can comprehend the topology of the network. 3. Combination of performance measurement and topology monitoring From the operator’s viewpoint, not only IP performance on the measurement paths among measurement nodes but also the routes the probing packets pass through are important. For example, when performance deterioration is detected, operators investigate MIB (Management Information Base) of routers which are included in the monitored paths. Hence, the route of each monitored path needs to be calculated in real-time by combining the performance measurement information and topology. 4. Security In addition to the harmful aspect of network probing, network measurement data may be abused and used to harm the network. This is due to the fact that accurate measurement data may help unscrupulous parties to attack the infrastructure. Furthermore, network measurement data can expose private information on network architectures. Thus, the measurement infrastructure has to be securely and robustly managed including handling of measurement data. 5. Cost Although hardware-based measurement infrastructure may provide precise timestamps by using a specialized device with a built-in clock, it is difficult to apply to a large-scale distributed measurement infrastructure due to high cost and lack of expansibility. Hence, measurement nodes should be implemented with light-weight software. Our measurement software works even on a small PCs on which an RISC CPU 400-MHz processor, 64-MB RAM, 16-MB flash Rom, and two 100-Mbit Ethernet interfaces are implemented.
3
System Architecture
Our infrastructure consists of three frameworks for performance measurement, topology monitoring (i.e., OSPF monitoring), and analyzing measurement results as illustrated in Fig. 1.
IP Performance Management Infrastructure for ISP
279
The performance measurement framework continuously measures network performance along multiple paths among distributed measurement nodes. Measurement results such as one-way packet delay and loss rate along each path are periodically (e.g., every 1 minute) collected and stored in the performance database. The OSPF monitoring framework captures LSAs at a measurement node that establishes an adjacent relationship with an OSPF running router. By analyzing LSAs, we build an entire view of the network topology and detect route instability. The topology database stores an entire network topology. The data analysis framework detects performance deterioration by periodically looking up the performance database. Although network performance deterioration itself might be defined in various ways, we simply assume that packet loss rate or packet delay variation experienced on at least one monitored path is distinguishably larger than that found under normal conditions. Furthermore, the infrastructure infers the location of the performance-degraded segments by analyzing the performance database with the topology database along the line of network tomography. Operators interact with all frameworks and databases through the web-based graphical interface that uses HTML4, Javascript, PHP4, and Apache Web server using SSL (Secure Sockets Layer). In the following subsections, we explain the details of each framework.
Performance measurement framework
Graphical User Interface
Performance database
OSPF monitoring Framework
Topology database Data analysis Framework
Fig. 1. System architecture
3.1
Performance Measurement Framework
The system components of the performance measurement framework are depicted in Fig. 2. The measurement management software is in charge of measurement control, comprising not only the execution of performance measurements, but also monitoring survivability and configuration of measurement nodes. Along multiple paths among measurement nodes, performance is actively measured and the results are uploaded to the performance database. (1) Measurement node software The measurement node software is implemented over the GNU Linux operating system. Measurement nodes are always listening for commands from the measurement management software. The functionality of the measurement node should be reduced to a minimum in order to improve the robustness of the whole platform in case of a single node failure. Accordingly, the node software only provides the following functions.
280
A. Tachibana et al.
Measurement management software Graphical User Interface Performance database
Measurement node
Measurement node
Network probing
Network probing
Measurement node
Measurement node
Measurement node
Monitored network
Fig. 2. The system components of the measurement framework
– Measuring IP performance by sending probing packets UDP packets are sent at certain intervals (e.g., Poisson interval, uniformly distributed interval, and Pareto-distributed interval). The probing packet size is set by operators in the range from 64 to 1500 bytes. The TOS (Type of Service) field in the IP packet header is also specified for measurements over the policy-routing operated network. – Computing IP performance metrics The nodes periodically (e.g., every one minute) calculate 11 metrics at each period, the maximum, minimum, average, and the 95th percentile of oneway packet delay and delay variation respectively, the number of lost packets, loss rate, and the number of reordered packets. Here, we define packet delay variation vk for k-th packet along a path as the difference between the absolute one-way delay xk of the packet and the minimum d in all the observed absolute one-way delays along the path (vk = xk − d), which is nearly equal to the sum of queuing delays experienced by the packet along the path. – Uploading the measurement results to the data server The 11 metrics described above are periodically uploaded from each measurement node to the performance database using SSL. Periodic updating is also used for monitoring the survivability of the measurement nodes. After uploading the measurement results, the measurement data at each node are removed within a certain period (i.e., a few days) automatically. – Time synchronization All measurement nodes synchronize their clocks with the NTP server. To eliminate clock errors, each measurement node locally computes its own time based on the Time Stamp Counter (TSC) register that counts CPU ticks. Correspondence between the values of the TSC register and the actual time is periodically computed by simultaneous measurements for the TSC register value and reference time (i.e., the time of each NTP server). Currently, all measurement nodes are synchronized with one of the CDMA-based NTP servers (stratum 1) that are deployed in the intra-network.
IP Performance Management Infrastructure for ISP
281
(2) Measurement Management Software The measurement management software is also implemented for the GNU Linux operating system. – Measurement execution The operator chooses the measurement paths by picking up pairs of the sender and the receiver measurement nodes. Measurement parameters of probing packets are defined. Once a new set of measurement parameters has been defined, the measurement management software securely commands the measurement nodes using SSL. During the measurement execution task, the measurement management software is on standby until the end of the measurement or the registration of another measurement task. It ensures that no other measurement is duplicated on the same measurement paths. (Multiple measurements can be performed on the same measurement node.) – Downloading measurement data The measurement management software periodically receives the measurement results of 11 metrics, explained above, from each measurement node. The total size of the data at each measurement period is only about 300 Kbytes and thus, simultaneous execution of network probing and downloading measurement data is not expected to interfere with precise performance measurement. In addition to the 11 metrics, detailed (packet by packet) measurement results can be downloaded at an operatorfs request, because measurement data for each probing packet convey much more information that is possibly useful for monitoring network-internal states. The measurement management software specifies the measurement data to be uploaded with its period and path. To avoid congestion due to transmission of detailed data (e.g., the total size of detailed data that contain 1000 packets is about 10 Kbytes) the transmission rate-limiting function is implemented. In addition, a selective download function is also implemented. For example, the detailed measurement data of certain paths within certain measurement periods is downloaded if each measurement metric exceeds the predefined threshold. – System configuration Besides the measurement management tasks described above, maintenance tasks are also performed by the measurement management software. Such tasks have low priority and they take place when no other task is being performed by measurement nodes. An example of a maintenance task is to configure a newly incorporated measurement node on the infrastructure. To do this, a firewall to prevent unauthorized access and basic software configuration are added to the infrastructure. Locating information on the node i.e., which router it connects to is recorded. Other maintenance tasks are related to keep-alive functions such as connectivity checking. If no messages (including measurement result uploading) are received within a predefined period, the measurement nodes are assumed to be down and alarm messages are then sent to the operators.
282
A. Tachibana et al.
OSPF monitoring Manager Graphical User Interface
OSPF monitor
LSAs at area1
Area 1
Topology database
OSPF monitor
LSAs at area 0
Area 0 (Backbone)
OSPF monitor
LSAs at area 2
Area 2
Fig. 3. System components of the OSPF monitoring framework
3.2
OSPF Monitoring Framework
OSPF is a link-state routing protocol, meaning that each router within the OSPF area discovers and builds an entire view of the network topology. Using the topology graph, each router computes a shortest-path tree with itself as the root and applies the results to build its forwarding table according to the cost associated with each link. Hence, a measurement node running OSPF can also build an entire view of the network topology by passively capturing LSAs from a router located in each OSPF area. Note that it makes no difference wherever a monitoring point is located in an OSPF area because all OSPF routers in the same area store the same LSAs. When OSPF is run on a large-scale network, an OSPF domain is usually divided into multiple areas for scalability. For example, an OSPF domain is often organized into areas containing several dozen routers and a backbone area (area 0). Each area must contain at least one router with an interface in the backbone area. Because LSAs are flooded to all OSPF routers in the same area but are not flooded to other areas, for a multi-area OSPF network, the OSPF monitoring framework needs to distribute at least one OSPF monitoring point to each area, we refer to this as an “OSPF monitor,” and capture LSAs. Figure 3 shows the system components of the OSPF monitoring framework. Each OSPF monitor is managed by a central OSPF monitoring management software and LSAs captured by each OSPF monitor are uploaded to the topology database. 3.3
Data Analysis Framework
(1) Route Calculation along Measurement Path Once a new performance measurement task is executed, the data analysis framework calculates the route along the measurement path (defined as a set of sender and receiver measurement nodes). Because the performance measurement framework records the location of each measurement node with the information of the
IP Performance Management Infrastructure for ISP
283
router to which the node connects, the data analysis framework looks up the topology database and finds the shortest route from the router that connects to the sender measurement node to the router that connects to the receiver measurement node according to Dijkstra’s algorithm used in OSPF. As mentioned in Section 2, performance data related to the route information itself is often useful for troubleshooting when performance deterioration occurs and it is indispensable to locate performance-degraded segments, as explained below. (2) Detection of Performance Deterioration The data analysis framework monitors network packet loss rate and the 95th percentile of delay variation along monitored paths by periodically (e.g., every 1 minute) looking up the performance database. A path is regarded as being degraded within a certain measurement period if either or both of two performance metrics, packet loss rate and the 95th percentile of delay variation, over the time period is larger than a pre-defined threshold (e.g., 0.01 and 10ms, respectively). In this paper, we refer to a path on which performance deterioration is detected as a ”deteriorated path.” If we detect at least one deteriorated path, the following inference methods are applied. (3) Locating Performance-degraded Segments – Inference method based on Packet Loss Measurements[17] If we detect performance deterioration by packet loss, the method classifies all monitored paths’ states into three path states, i.e., bad, medium, and good, for the measurement period, using the high and low thresholds of packet loss rates (e.g., 0.01 and 0.005). By comparing the path statuses, our method infers a candidate set of performance-degraded segments along the deteriorated paths with the following properties: (i) each good path includes none of the segments in the candidate set; (ii) each bad path includes at least one segment in the candidate set; or (iii) the number of segments in the candidate set is the minimum among all possible performance-degraded segment sets satisfying properties (i) and (ii). The method defines a performancedegraded segment as packet loss rate on a segment that is larger than the low threshold (0.005). – Inference method based on Clustering the Delay Performance[18] If we detect at least one deteriorated path by the 95th percentile of delay variation, clustering of the monitored paths based on the delay variations detected by the probing packets is performed. The method compares the time series of packet delay variation among multiple paths and classifies each path into a cluster by using a hierarchical clustering technique. This technique is designed to effectively identify correlation among delay variations on these paths in conjunction with a network tomographic approach. After clustering, the method can extract all the clusters with at least one deteriorated path. In other words, a set of paths under the following conditions is regarded as a set of degraded paths resulting from a common congestion: the set contains at least one deteriorated path, and each path in the set is subject to similar
284
A. Tachibana et al.
variations in packet delay in a synchronized manner. The final step involves locating the performance-degraded segments by combining the clustering results with the topology information. During each measurement period, the segments shared by all paths that belong to the same cluster, including some deteriorated paths, are inferred as being performance degraded, and such segments are the cause of those deteriorated paths. Because the method clusters multiple monitored paths based on timeseries of packet delay variation, we need to download detailed (packet-bypacket) measurement data on multiple paths. However, since our concern is which monitored paths are degraded in a synchronized manner, we do not have to compare all monitored paths. Namely, among such paths whose delay variations are very small (completely non-degraded paths), some of them may be eliminated without decreasing the accuracy of the inference results. Actually, in the preliminary analysis, we could reduce the number of paths for which data need to be downloaded, by excluding the paths for which the maximum delay variations in each 60-second period are distinguishably smaller than the candidates of degraded paths.
4
Evaluation and Discussion
In this section, we evaluate the three functionalities of our infrastructure, performance measurement, OSPF monitoring and locating performance-degraded segments. The accuracy of performance measurement is verified by deploying a prototype of our infrastructure on a commercial intra-network. Since it is difficult to actually induce OSPF routing failure and performance deterioration in a real intra-network, these two functionalities are verified on a local experimental network. 4.1
Measurement Accuracy
Measuring IP performance accurately is the most essential part of our management infrastructure. Accuracy-verifying tests were conducted over the commercial intra-network. The core nodes of the network are connected with multiple 10 Gigabit/Gigabit lines. We chose 4 paths and made active measurements along them for 2 days. The distance of the targeted paths is in the range from about 1000 km and 1500 km. To verify measurement accuracy, we deployed another hardware-based (more expensive) measurement system “IQ2000 [19],” which actively measures end-toend IP performance on a targeted path more accurately than a software-based system. Probing packets with an interval of 20 ms are sent on both measurement infrastructures. Table 1 shows the distribution of the difference in the 95th percentile of one-way packet delay on a targeted path within 1 minute measured by our infrastructure and IQ2000. In addition, the distribution of the differences in packet loss rates measured is also indicated. The following results were obtained.
IP Performance Management Infrastructure for ISP
285
Table 1. Distribution of the difference between the two measurement infrastructures Dd is the difference the number of of packet delay [ms] 1-minute periods 0 ≤ |Dd | < 0.25 2588 0.25 ≤ |Dd | < 0.5 183 0.5 ≤ |Dd | < 0.75 6 0.75 ≤ |Dd | < 1 6 1 ≤ |Dd | 21
Dl is the difference the number of of loss rate 1-minute periods 0 ≤ |Dl | < 0.001 2603 0.001 ≤ |Dl | < 0.002 131 0.002 ≤ |Dl | < 0.003 44 0.003 ≤ |Dl | < 0.004 17 0.004 ≤ |Dl | 9
– The average of the difference in the 95th percentile of one-way packet delay was 0.17 ms. In about 99.3% (2783/2804) of 1-minute periods, the difference of the 95th percentile of one-way delay was less than 1 ms. – In about 99.7% (2795/2804) of 1-minute periods, the difference in packet loss rates was less than 0.004. – Measurement results along the other paths were roughly the same. The proportion of the periods within which the difference in the 95th percentile of one-way packet delay was less than 1 ms ranged from 99.1% to 99.8%. On the other hand, the proportion of periods within which the difference of packet loss rate was less than 0.004 ranged from 99.3% to 99.8%.
4.2
OSPF Monitoring
We established an experimental network consisting of five OSPF running routers (a), (b), (c), (d) and (e), the OSPF monitor and four performance measurement nodes as illustrated in Fig. 4. The OSPF monitor captures LSAs by establishing the adjacency with a router (b) and draws the entire topology of the experimental network. Figure 5 shows the topology drawn by our infrastructure with the graphical user interface. As a result, we could confirm that monitoring LSAs precisely draw the real router-level topology. In addition, we investigated behavior when links/routers are removed from the experimental environment. We monitored the topology via the graphical user interface when one of links “(a)(b)”, “(b)-(c)”, “(b)-(d)” and “(d)-(e)”, or one of routers (a), (c), (d) and (e) is removed. The results are summarized as follows. – In all cases, we could confirm that monitoring OSPF precisely recognizes the removal of links/routers and redraws the new topology. – The interval before our system recognizes a routing failure was in the range from 5 to 45 seconds. The interval mainly depends on when each router detects a failure. In this experiment, the hello-interval, the interval between the sending time of OSPF Hello Packets, and dead-interval, a timer used to time out inactive adjacencies, on each router were 10 and 40 seconds (default values of the router), respectively.
286
A. Tachibana et al.
Extension for OSPF Equal-Cost Multipath Multipath routing “Equal-Cost Multipath (ECMP)” is implemented with the OSPF. ECMP splits the traffic evenly among equal-cost paths to each destination by distributing the packets among them. Since the OSPF monitoring infrastructure monitors only the LSAs, the current version of our infrastructure cannot ascertain which paths each packet passes through at the ECMP branch points. On the other hand, the hash-based version of ECMP that maps packets from the same flow to the same path is often performed to avoid packet reordering [20,21]. For this type of ECMP routing, measuring the measurement paths by periodically issuing the traceroute command specifying the same UDP port number as the network probing packets use, in addition to the OSPF monitoring task, might be able to obtain more detailed route information. 4.3
Inference of Performance-Degraded Segments
To verify the functionality of locating performance-degraded segments, we chose a targeted segment from router (d) to measurement node 3, and caused congestion by loading heavy traffic on the segment. In Fig. 4, the traffic generator sent a number of packet trains, each of which consists of several dozen 1500 byte UDP packets. The interval of each packet train is uniformly distributed from 1 to 10 ms. By continuously monitoring the inference results shown on the graphical user interface as illustrated in Fig. 5, we checked whether the targeted segments are inferred as being degraded or not (the performance-degraded segment is indicated by bold gray arrow). Here, we define the performance-deterioration as the condition under which either or both of the following two conditions is satisfied: (i) Packet loss rate is larger than 0.01; (ii) The 95th percentile of packet delay variation is larger than 10 ms. measuremen node 1 Measurement management - OSPF monitoring and management -Graphical User Interface
measuremen node 2 web access user
probes (a)
probes (c)
(b)
These are Gbit Ethernet links (The others are 100 Mbit ethernet links) (e)
area0
probes
(d) HUB
HUB traffic load
probes
measuremen node 4
traffic generator
Fig. 4. Experimental local network
measuremen node 3
IP Performance Management Infrastructure for ISP
287
performance-degraded segment
Fig. 5. An example of monitoring OSPF
The results are summarized as follows. – During heavy traffic loading, there was a total of 131 1-minute periods during which performance deterioration was detected. (46 and 109 1-minute periods were detected by packet loss rate and delay variation, respectively.) – In 38 (29%) of the 131 1-minute periods, the data analysis framework failed to infer performance-degraded segments because the inference methods stop when any possibility of miss-inference is recognized to avoid inferring wrong segments. In 86 (92%) of the remaining 93 periods, the targeted segments were inferred as being congested correctly. In all cases, inference was performed in 1 minute or less.
5
Conclusion
In this paper, we proposed an IP performance management infrastructure having the twin frameworks of performance measurement and topology monitoring. By combining above frameworks, the infrastructure locates performance-degraded segments. Through an experiment over a commercial intra-network and an experimental local network, we verified that the proposed infrastructure can manage IP performance, topology and the location of the performance-degraded segments precisely and in real time.
References 1. Shaikh, A., Greenberg, A.: OSPF Monitoring: Architecture, Design and Deployment Experience. In: Proc. USENIX Symposium on Network Systems and Design and Implementation (NSDI) (2004) 2. Shaikh, A., Goyal, M., Greenberg, A., Rajan, R., Ramakrishnan, K.: An OSPF Topology Server: Design and Evaluation. IEEE J.Selected Areas in Communications 20(4) (2002)
288
A. Tachibana et al.
3. Watson, D., Labovitz, C., Jahanian, F.: Experiences with Monitoring OSPF on a Regional Service Provider Network. In: Proc. IEEE International Conference on Distributed Computing Systems (ICDCS) (2003) 4. Claffy, K.C., Monk, T.E., McRobb, D.: Internet tomography. Nature, Web Matter (January 1999) 5. Peterson, L., Anderson, T., Culler, D., Roscoe, T.: A blueprint for introducing disruptive technology into the Internet. In: Proc. ACM Workshop on Hot Topics in Networks (HotNets), Princeton, NJ, October 2002, pp. 59–64 (2002) 6. Andersen, D.G., Balakrishnan, H., Kaashoek, M.F., Morris, R.: Resilient overlay networks. In: Proc. ACM Symposium on Operating Systems Principles (SOSP), Banff, Alberta, Canada, October 2001, pp. 131–145 (2001) 7. Simpson Jr., C.R., Riley, G.F.: NETI@home: A distributed approach to collecting end-to-end network performance measurements. In: Proc. Passive & Active Measurement (PAM), Juan-les-Pins, France (April 2004) 8. Shavitt, Y., Shir, E.: DIMES: Let the internet measure itself. SIGCOMM Computer Communication Review 35(5), 71–74 (2005) 9. Kalidindi, S., Zekauskas, M.J.: Surveyor: An infrastructure for Internet performance measurements. In: Proc of INET 1999 (June 1999) 10. Active Measurement Project, http://amp.nlanr.net/ 11. Paxson, V., Adams, A., Mathis, M.: Experiences with NIMI. In: Proc. Passive & Active Measurement (PAM) (April 2000) 12. Caceres, R., Duffield, N., Horowitz, J., Towsley, D.: Multicast-based inference of network-internal loss characteristcs. IEEE Trans. Info. Theory 45(7), 2462–2480 (1999) 13. Duffield, N., Presti, F.L., Paxson, V., Towsley, D.: Inferring link loss using striped unicast probes. In: Proc. IEEE infocom, Anchorage (April 2001) 14. Tsuru, M., Takine, T., Oie, Y.: Inferring link characteristics from end-to-end path measurements. In: Proc. IEEE ICC, Helsinki, June 2001, pp. 1534–1538 (2001) 15. Bestavros, A., Byers, J., Harfoush, K.: Inference and labeling of metric-induced network topologies. In: Proc. IEEE infocom, New York (June 2002) 16. Padmanabhan, V.N., Qiu, L., Wang, H.: Server-based inference of internet link lossiness. In: Proc. IEEE infocom, San Francisco (April 2003) 17. Tachibana, A., Ano, S., Hasegawa, T., Tsuru, M., Oie, Y.: Locating Performancedegraded segments over the Internet Based on Multiple End-to-End Path Measurements. IEICE Transactions on Communications Internet Technology VI (April 2006) 18. Tachibana, A., Ano, S., Hasegawa, T., Tsuru, M., Oie, Y.: Locating Performancedegraded segments on the Internet by Clustering the Delay Performance of Multiple Paths. In: Proc. IEEE ICC, Glasgow (June 2007) 19. IQ, QoS Monitoring system, Yokogawa Electric Corporation (2000), http://www.yokogawa.com/tm/data/tm-data.htm 20. Cisco express forwarding(cef). Cisco white paper, Cisco Systems (July 2002) 21. Junos 6.3 internet software routing protocols configuration guide, http://www. juniper.net/techppubs/software/junos/junos63/swconfig63-routing/html/
Can Critical Real-Time Services of Public Infrastructures Run over Ethernet and MPLS Networks? Jaime Lloret1, Francisco Javier Sanchez2, Hugo Coll3, and Fernando Boronat4 1,3,4
Department of Communications, Polytechnic University of Valencia, Camino Vera s/n, 46022, Valencia (Spain) [email protected], [email protected], [email protected] 2 ADIF, Molino de las Fuentes s/n, 46026, Valencia (Spain) [email protected]
Abstract. — With the adoption of Ethernet-IP as the main technology for building end-to-end real-time networks, the requirement to deliver high availability, quality and secure services over Ethernet and MPLS has become strategic. Critical real-time traffic is generally penalized and the maximum restoration time of 50 msec. sometimes is exceeded because of devices hangings or the high delay to find an alternative path. Existing standard networks are not ready to transport real-time critical information. This issue must be solved specially in critical infrastructures such as railway control systems, because passengers’ safety could be committed. In this work, first we have checked in which conditions the devices of the network will have a reply in real-time. Then, we will explain why existing Ethernet and MPLS combined solutions don’t offer recovery time lower than 50 msec., and we will propose a new approach that achieves these conditions. Our statements are based on real measurements in real railway environments and using real testbeds. Keywords: real-time networks, critical systems, Ethernet, MPLS.
1 Introduction Distribution and transport companies (gas, oil, water, railway, etc.) often have their own voice and data communication infrastructure, usually based on SDH/SONET transmission systems over fiber or copper cables. Only few years ago, industrial systems were “islands” for control and system safety, but now they are integrating network technologies, to permit easy growing, and central management. We can distinguish two main environments depending on the type of service: non critical realtime services and critical real-time services. Normally, non critical real-time services are based on Ethernet access to corporate MPLS/VPLS network. The main structure and technology for this network responds basically to multimedia traffic requirements, but the behaviour is completely different when we are connecting critical real time systems to the same network. In fact, to avoid occasional blocking problems, critical real-time services are provisioned through independent local Ethernet networks (most of them in ring topology to provide resiliency), with no A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 289–301, 2008. © IFIP International Federation for Information Processing 2008
290
J. Lloret et al.
interaction with corporate MPLS/VPLS network. These solutions increase complexity and budget, and present many difficulties for integrated management on critical infrastructure companies. In the case of railway systems (where we are going to do our tests and simulations), non critical real-time services are provisioned through direct access to corporate MPLS network, such as railway station auxiliary services: automatic stairs, lifts, evacuation and emergency facilities, IP phones, video, remote alarm and supervision, etc. Station services and equipments are connected to third level nodes (usually MPLS routers) organized by a double ring topology. Both ends of the ring are connected to regional gigabit ring, through physical link between third level node and second level node (this is typically a layer 3 switch). On the other hand, critical real-time services are provisioned through independent Ethernet rings with resiliency mechanisms activated: level 2 methods based on Ethernet common topologies (like Spanning Tree Protocol -STP-, Rapid STP, Multiple STP and link aggregation), or specific ring topologies (RPR/802.17, EAPS/RFC3619) and level 3 methods based on interior routing protocols (EIGRP, ISIS, OSPF) and default-gateway backup protocols (VRRP, HSRP). [1] A real example of a complete railway control system network is shown in figure 1. The Circles represent routers in each station interlocking system, the rectangles represent switches using HSRP protocol and the squares represent interlocking CPUs. Dotted lines are the backup network lines. [2] Station 1
Station 2
Station 3
Station 4
Station 5
Station 6
Station 7
Station 8
Fig. 1. Network topology of a railway line critical control system
In critical real-time networks, any type of failure must be recovered in less than 50 msec. The non achievement of this goal could suppose to lose lives, such as in critical railway control system networks [3]. It is vital to study the viability of running critical real-time services over standard networks such as Ethernet and MPLS. This goal will allow the companies to use a unique network infrastructure. This paper is structured as follows. Section 2 describes last methods for protection and restoration in Ethernet and MPLS networks. Section 3 shows the measurements and analysis of real Ethernet and MPLS scenarios on the Spanish railway administrator (ADIF) company. Section 4 presents our proposal to improve the availability and fault tolerance for critical real-time systems using the integrated network. Finally, section 5 summarizes the conclusions and gives future works.
Can Critical Real-Time Services of Public Infrastructures Run over Ethernet
291
2 Failure Detection, Protection and Restoration in Ethernet and MPLS Networks When there is a failure in the network, there must be a way to detect it, so the recovery operation must start. Failure detection depends on the type of failure and may be done by an adjacent node to the failed one or by a configured point of repair in the network. Failure detection involves multiple layer mechanisms such as [4]: • • • • • •
Hardware: connectivity failures can be detected by line cards. Signaling: errors in SDH/SONET are detected using signaling mechanisms. Link: specific messages can be sent to poll node state or to notify an error. Network: when there is a failure, “hello” messages are missing. Application: SNMP traps can be used to notify a failure to a central manager. Specific protocols: failure detection could also be based on a specialized protocol like BFD (Bidirectional Forwarding Detection) [5].
The design and reconfiguration of the network, regarding with the components availability, is fundamental to deliver the required performance and reliability to realtime services. There are complex methods based on two complementary approaches to avoid the failure impact of the network components. The first one is to design high availability working paths, where the resilience is provided by selecting a working path with high connection availability. Few protocols include in their metrics availability factors, but usually data link protocols don’t include any. The second one is the use of backup paths. There are two main methods for resiliency provisioning: • Protection: static scheme in which backup paths are pre-computed and preprovisioned before the failure occurs. Protection can be done in two different forms: dedicated protection and shared protection. In dedicated protection, the resources used for protection are dedicated for backup traffic. There are two types of dedicated protection (1+1 and M:N protection). In shared protection, when a backup path is activated, other backup paths, that share resources with it, will have to be rerouted. Shared protection is more complex to maintain dedicated protection, but it can offer higher network utilization. • Restoration: dynamic scheme in which backup paths are discovered dynamically due to failed connections, so they are created and routed after the failure. In both cases have one mechanism to detect the failure and notify it to the rest of nodes and another one to re-route traffic from the working the path to a backup path. Recovery schemes can also be categorized by the scope of the recovery. Global recovery covers link and node failure by calculating a new unique end-to-end path (this recovery action run in the ingress node), while with local recovery faults are handled locally by the neighbors. Keeping failures local cause minimum disruption in the traffic, but it is necessary to reserve several paths. The topology of the network affects on how the recovery can performs [6]. Network recovery management is difficult when the network is viewed as an unstructured collection of backup paths. These schemes are based on building a set of sub-topologies of the network, serving as a more intuitive abstraction of the recovery paths, and can be applied to both, local and global recovery. The main methods are:
292
•
•
•
•
J. Lloret et al.
Self-healing rings. In these methods each node in the network is connected with two links to its upstream and downstream neighbours. In regular operation, the traffic is sent in one direction of the ring. When a link fails, the traffic is sent to the other link in the reverse direction, so the failed link is avoided. There are several mechanisms that rely on ring topologies, like SONET/SDH or Ethernet ring solutions (RPR/802.17 [7] and EAPS/RFC3619 [8]). Disjoint paths. These methods are based on a graph property described by Menger [9]. These solutions are applied to MPLS networks, because they can be adapted easier to MPLS signalling. This technique uses pre-provisioned backup paths with local recovery [10]. Protection cycles. The goal is to provide fast recovery speed (usually offered in rings) to mesh networks. In order to combine the best properties from both ring and mesh, a new concept called p-cycles has been introduced. It is based on the formation of closed paths which are formed in the spare capacity only of a mesh restorable network. When a link fails, the traffic is locally switched or routed according to the cycle instead of to the original shortest path [11]. Redundant trees. These methods are applied to standard Ethernet access networks. Ethernet traditionally relies on Spanning Tree Protocol (STP) defined in IEEE 802.1D, which provides loop-free communication between all nodes. The restoration after a link failure involves the reconstruction of the whole spanning tree. Typically, the recovery of the worst case requires around 50 seconds, which is not acceptable for real-time critical applications. In Rapid STP convergence, the time is reduced but is still in the order of few seconds. Multiple STP defines several spanning trees instances organized in regions and map each Virtual LAN onto a single spanning tree. MSTP restoration time is still high [12].
3 Measurements and Analysis in Ethernet and MPLS Networks Our first goal is to know which delays are introduced in the network because of the data transmission through the wire and because of the devices placed inside. We will give a law that shows which conditions we should follow when we want to have delays lower than 50 msec. Then, some measurements will demonstrate that existing recovery path restoration systems for Ethernet (such as STP) don’t accomplish realtime requisites. Next, we have measured the real environment to know which delays are in a real MPLS network when there is regular traffic through it. Finally, we have measured the path restoration time when there is a failure in the network. 3.1 Delays in Network Devices and Their Links Network delays are produced because of the transmission time Ttrans (time to send the information from the network adapter to the transmission medium), the propagation time Tprop (elapsed time in the medium) and the processing time Tproc (time to process the received frame in the station and transmit the next one). The Round Trip Time (RTT) of a ping is the elapsed time needed to send the frame from the station to the medium, plus the elapsed time to receive the last bit at the destination, plus the elapsed time to process the last bit and send the ACK, plus the elapsed time to send from the destination station to the medium the ACK, plus the ACK propagation time,
Can Critical Real-Time Services of Public Infrastructures Run over Ethernet
293
plus the processing time of the source station to process last bit of the ACK, plus the processing time of the source station. The expression for RTT is given by equation 1.
RTT = 2·Tprop + 2·Tproc + Ttrans_ frame + Ttrans_ ACK
(1)
We have considered the same processing time for both stations when they have the same hardware characteristics and the same operative system. The transmission time is determined by the bits of the frame sent divided by the Mbps of the interface card. The propagation time is the distance between stations divided by the propagation velocity in medium (for non guided transmissions through air or ether, it is the light speed, approximately 3•108 m/s, for guided transmissions through fiber and copper, this velocity is approximately 0.67 times the light speed). In order to determine the mean elapsed time, we have taken the average time of 100 pings. Each ping has 548 bytes, so the total packet length is 602 bytes (548 bytes of ping data + 8 bytes of the ICMP + 20 bytes of the IP + 26 bytes of Ethernet). Figure 2 shows obtained results using UTP category 5 wires. It also shows the equation that relates the meters of wire with the RTT using the obtained results. 0,41
y = 0,0063x + 0,3394 R2 = 0,96
0,40
RTT (msec.)
0,39 0,38 0,37 0,36 0,35 0,34 0,33 0,32 0,31 1 Meter
2 Meter
3 Meter
4 Meter
6 Meter
8 Meter
10 Meter 20 Meter
30 Meter
Fig. 2. RTT for several UTP category 5 pigtails
Taking these measurements into account, we can state that the wire together with the computer processing time and the packet transmission time introduces delays of about 1 msec. every 100 meters, where about 0.34 msec. will be due to the computer processing time and the packet transmission time. We must remember that it is not allowed a wire length larger than 100 meters in fast Ethernet. For Gigabit Ethernet we have calculated the delay of the propagation time for 1 kilometre about 0.004 msec. Once we have obtained the elapsed time due to the wire and to the computers, we can obtain the delay time introduced by the network devices. In order to do it, we have taken the average time of 100 pings (with the same size than the previous test) using two wires of 10 meters (one for each computer). Figure 3 shows the delay measurements introduced by some switches from several manufactures subtracting the RTT obtained for 20 meters in the previous test. The range of delays varied from 0.113 msec. to 1.943. The average value of all measured switches was 0.667 msec. The same methodology was used for the routers to measure their processing delay. Figure 4 shows results obtained from some routers of several manufacturers. The range varied from 0.479 msec. to 2.229 msec. The average value was 1.191. We have observed that the processing delay introduced highly depends on the switch or router
294
J. Lloret et al.
2,5
1,5
1
0,5
0 Cisco Catalyst 2950/12
Cisco Catalyst 2950/24
Allied Telesyn 8124XL
Allied Telesyn 8024
Cisco Catalyst 2923/24
Cisco Catalyst 3550
Cisco Catalyst 1900/12
Sitre Telecom
Nortel 2000/24
3com 2200/16
Processing delay (msec)
P rocessing delay (m sec)
2,5 2
2 1,5 1 0,5 0 Cisco 2621XM
Switches
Fig. 3. RTT for several Switches
Cisco 2651XM
Allied Telesyn AR410
Cisco 1720
Cisco 2611
Cisco 2514
Routers
Fig. 4. RTT for several Routers
manufacturer and even on its model. Switches and routers with more features introduce higher delays and, on the other hand, older switches and routers have higher delays than other devices from the same manufacturer. Using the measures obtained from the real world, we can conclude that the RTT value (in msec.) in an Ethernet network follows approximately equation 2. (2) RTT = 1.1912·Z + 0.6669·Y + 0.0063· X + 0.3394 Where Z is the number of routers, Y is the number of switches and X is the meters of wire in the Ethernet network. Assuming that there are 2 switches at least per router in the network and supposing that there is a mean value of 30 meters of wire between any device or computer, we can calculate that there couldn’t be more than 18 routers between the most remote devices in order to have a network with real time requisites. 3.2 Convergence Time in Spanning Tree Protocol In order to check that the STP doesn’t accomplish real-time responses, we have setup a testbed with three switches arranged in a triangle and test the response time when the link where the traffic goes through fails down. Figure 5 shows the network topology and the features of the computers for the testbed. In order to measure the time needed to recover a link, where the traffic is going through, we transmitted 10000 pings, each one with a difference of 200 msec. from one laptop to the other and, then, we measured how many packets were lost in the convergence time. Table 1 shows our measurements for several manufacturers and models. Table 1. STP measurements Switch 1 IP 192.168.1.1
Switch 3 IP 192.168.1.3 F 0/3
F 0/5
F 0/3
F 0/1
F 0/2
F 0/1
Laptop 1 IP 192.168.1.10 Intel Core 2 Duo 2.0Ghz 256 Mb RAM Debian Linux
F 0/5
F 0/2
Switch 2 IP 192.168.1.2
Laptop 2 IP 192.168.1.11 Intel Core 2 Duo 2.0Ghz 1 Gb RAM Debian Linux
Fig. 5. Testbed for STP measurements
Cisco Cisco HP C2923XL C2950-12 Procurve Packets received 7466 7871 9943 Packet loss 25.34% 21.29% 0.57% Time (in msec) 33954 28862 4458 Minimum value 0.156 0.136 0.107 Average value 0.356 0.305 0.295 Maximum value 1.561 4.731 1.231 Max. desviation 0.073 0.162 0.087 Convergence 506800 425800 11400 time (msec)
Can Critical Real-Time Services of Public Infrastructures Run over Ethernet
295
We can now state that the convergence time in a Fast Ethernet network, when a switch fails and the path is recovered using STP, exceeds always 50 msec, so such networks don’t provide real time recovery. 3.3 Round Trip Time in the Spanish Railway Network In order to test a MPLS network, area 3 (Madrid-Albacete-Játiva-Valencia) of ADIF corporate network was chosen. This area has 28 routers as it is shown in figure 6. The network has two levels. The second level can be distinguished by lines in black in figure 6. Stations are connected to the rings with 2 Mb/s, to deliver service in short distances (15-60 kilometers). Above this topology we can find 1 GB fiber optic links that connect main network nodes. Lines in red form the first level, that is, nodes 0, 1, 2 and 3 (Madrid, Albacete, Valencia and Jativa). Each ring has two connected nodes to this fiber network through 100Mb/s links. Thus, when a station needs to communicate with a station of another ring or other control node, data will go through fiber network. Distances between nodes in the same ring not exceed 15 Kilometers. However, first level node links are about 250 Kilometers. In order to know the real response time between the most remote nodes, we have gathered RTT from node 9 to node 21. Figure 7 shows the real response time obtained by 100 regular pings between those nodes. The minimum value was 23 msec., the maximum value was 98 msec. and the average time value was 24.84 msec. The 20th ping and the 94th ping peaks could be because there was sporadic excess of traffic in one of the nodes in the path, so the queue of that device needed more time to process all packets. Reference [13] shows more information about real measurements and simulations of this test bench. 120
RTT (msec.)
100 80 60 40 20 0 0
20
40
60
80
100
Ping
Fig. 6. ADIF corporate network - Area 3
Fig. 7. Delay time from node 9 to node 21
3.4 Convergence Time When There Are Node Failures in MPLS Networks In order to measure the delay produced in the traffic because of a link failure, we have used the testbed shown in figure 8. All routers in the topology were Cisco 2621 XM running MPLS. All links between routers have a bandwidth of 2 Mbps except the links between the routers b and c, d and e, and f and g, which are 10 MBps. In T=0 sec. we started to send 200 UDP packets per second (one packet every 50 msec.), with a size of 64 Bytes, from the computer A to the computer B. Due to the bandwidth of the links in the network, the path followed by the packets was a-b-d-e-g-h. In t=5 sec., the link between routers e and g fails. The time needed to send the traffic through an
296
J. Lloret et al. 192.168.3.0
A .1 192.168.11.0
192.168.0.0
c .2 .1
a
e .1
.1
.2
.1
g .1
192.168.10.0 .2 .2
192.168.2.0
.1
192.168.1.0
.2 .2 b
.3
.2
192.168.5.0
.1 .2
.1
192.168.6.0
192.168.8.0 .2
.2 .1
.2
192.168.4.0
d
.1
.2
f
.2
.1 B
h 192.168.12.0
192.168.9.0 .1
192.168.7.0
Fig. 8. Testbed used to measure the convergence time
available path is 5.4 secs. This time, the path followed by the packets is a-b-d-f-g-h. In t=15 secs. we recover the link between routers e and g and it is needed 5.0 secs to restore the old path. In both cases (the path recovery and the path restoration), the delays are quite higher than 50 msec.
4 Proposal We propose a new model for the integration of critical and non critical applications over standard Ethernet and MPLS networks. The new scenario is based on MetroEthernet corporate and integrated real-time network (see figure 9).
Customer Edge (VLAN)
Q in Q 802.1ad Encapsulation
MPLS o Provider Backbone Bridge (MAC in MAC 802.1ah)
Q in Q 802.1ad Encapsulation
Customer Edge (VLAN)
Fig. 9. Real-time corporate and integrated control network For each application or real time traffic flow, it is assigned a separate VLAN to establish a quality of service with level 2 or 3 marking. It will be a relationship between VLANs and VPNs at the backbone. It is necessary to improve the transport network to guarantee high quality communications. The main objectives of these improvements are: guarantee quality of service to vital applications (also during fails), minimize fail occurrences and get low recovery times (lower than 50 msec., the standard on SDH systems). MetroEthernet, technology is not used to support critical applications, where it is necessary not only to adjust to QoS requirements, but high end-to-end reliability and availability. We can find many innovations about QoS aware MPLS/VPLS networks, but really there is a gap about fault-tolerance for
Can Critical Real-Time Services of Public Infrastructures Run over Ethernet
297
supporting critical services. Our main goal is to provide high quality and reliability for the end-to-end path through Ethernet access networks and MPLS/VPLS core for non critical and critical real-time services. 4.1 Components of the Proposed Model The general components used in our proposed model are (i) a topology discovery protocol to build the network map, (ii) an algorithm for selecting primary and backup paths, (iii) an encapsulation method and frame format to carry data and explicit routing information, (iv) a protocol to detect and notify failures and, finally, (v) a mechanism to switch from active to backup paths. A protocol discovery is needed to learn network connectivity. It is better to use local non bridging protocol to avoid traffic overhead. In this case, we use LLDP (Link Layer Discovery Protocol) [14], defined in IEEE 802.1AB standard. LLDP data units (LLPDUs) are sent to destination MAC address, defined like LLDP multicast address. A LLDPDU will not be forwarded by MAC bridges or switches that using IEEE 802.1D standard [15]. In order to distribute this information we have chosen SNMP, and to retrieve the initial topology, network nodes use SNMP polls to query topology MIB database and they use SNMP traps to notify topology changes. LLDP system capabilities information is used to query only neighbours which are intermediate nodes (bridge, AP, etc.) and to register end-stations (station-only). Paths are pre-calculated with the algorithm proposed in [16]. It is a simple solution to build optimal primary and backup paths (k-paths) based on the SPF algorithm. But, in our case, we are going to include QoS and reliability considerations in a new integrated metric. All the parameters can be obtained through SNMP queries to the nodes in the path. We have not used STP algorithm because of its limitations (only one working path, no load balancing, a unique point of failure, maximum bridge diameter, etc). We have designed the metric shown in equation 3 to achieve our goals. delay ⎞ ⎛ loss·length ⎞ ⎛ ⎟⎟ Metric = ⎜ k1 ⎟ + ⎜⎜ ⎝ bandwidth ⎠ ⎝ availabili ty ⎠
(3)
The metric is formed by two parts. The first part, on the left, is related with QoS. Bandwidth is given by the addition of the bandwidth of the links along the path and the delay is the Round Trip Time required to move a packet from the source to the destination. The second part, on the right, is related with the reliability. Availability is the fraction of time in which nodes or links from all paths are working with full functionality, loss is the packet loss probability, and it is obtained from the SNMP interface counters, and length is the number of hops between the source and the destination. We have considered K1=103 to get the QoS part into the desired values. Only border network nodes build a full network map and select optimal working and backup paths, as a function of the availability and reliability based metrics. This algorithm falls under the category of proactive (pre-calculated backup paths) and global fault management (end-to-end). Really, the algorithm only have to add route descriptors (node and port identifier pairs) to a vector and have to detect if the node identifier is repeated for discarding this path. The next computation of the path can begin from the last node before the loop, and try to find another feasible segment to a destination. Our proposal allows several active paths for load balancing because the
298
J. Lloret et al.
loop free topology is inherent to explicit routing. Moreover, we have not a unique point of failure; we have a faster path recovery and an increased bridge diameter. The encapsulation method is based in QinQ or IEEE 802.1AD [17]. QinQ was originally designed to expand the number of VLANs by adding an additional tag to an 802.1Q frame. With this new tag, the number of VLANs is increased to 4096+4096. QinQ tags can indicate different information. For example, the inner tag indicates the user and the outer tag, the service. QinQ can be executed as the extension of a core MPLS VPN in the MetroEthernet to provide end-to-end VPN technology. QinQ encapsulation can be based on port or on traffic (on traffic is more flexible). QinQ encapsulation is also compatible with default-gateway standby protocols, like VRRP. Level-3 resiliency methods can be also added to our method. Ingress nodes store in their memory explicit end-to-end primary and backup paths. If an active path fails, the ingress node decides to switch to the best alternative path. The old primary path is marked inactive, and can be deleted from their memory if a timeout is exceeded. If the recovery time of the failed node, or link, is lower than a timeout, old path is marked as an active. In this case, it is not necessary to recalculate the path. This switching mechanism is extremely simple, and there is no need for changing frame control information to notify an alternative path, because primary and backup paths are stored in ingress node’s memory and intermediate nodes have not any routing information. In MSTP recovery solutions, normally end-hosts need to change the VLAN id in subsequent frames to select an alternative switching path [18]. As our proposal uses an explicit routing/switching mechanism based on the global view of the network, paths are pre-calculated from LLDP information and ingress node put full explicit path into the frame header. Since the path is predefined, the frame is routing at each node without the need for making routing decisions at every node along the path (hop-by-hop destination-based routing). Setting up paths implies that network will keep state information. It has been avoided in the past due to its potential reduce of performance, but now it can be done more efficiently because of higher-performance devices. In fact, MPLS networks use this technique to establish traffic engineering tunnels, but Ethernet networks have never use it before. Explicit routing approach is very useful for the prevention of routing loops, for traffic engineering and to adjust to QoS constraints (some constraints like the overall delay cannot be really calculated in a hop-by-hop fashion). Then, it is not necessary to work with Spanning Tree algorithm to find a unique path with no closed cycle, neither Multiple Spanning Tree routing solutions like 802.1AQ Shortest Path Bridging [19]. In order to guarantee full compatibility, we have employed the source routing transparent Ethernet operation described in IEEE Std 802.1D-2004 Annex C. However, we use QinQ tagged frame format between the ingress and egress node. In this case, when CFI bit is set (bit CFI=1), the switch performs source routing. It comprises a two-octet Route Control Field (RC) that has the following fields: •
3-bit Routing Type (RT) fixed to 0XX. If the most significant RT bit is set to 0, the Route Descriptor (RD) field contains a specific route through the network. This is the unique combination used in our proposal, because there is no need for routing explorer frames (network map is built from LLDP information).
Can Critical Real-Time Services of Public Infrastructures Run over Ethernet
• •
• •
299
5-bit Length (LTH). Indicates the length (in octets) of the Routing Information Field (RIF). Length field values will be even values between 2 and 30 inclusive. 1-bit Direction Bit (D). If the D bit is 0, the frame traverses the LANs in the order in which they are specified in the RIF (RD1 to RD2 to... to RDn). Conversely, if the D bit is set to 1, the frame will traverse the LANs in the reverse order (RDn to RDn-1 to... to RD1). 5-bit Largest Frame (LF). For source routing frames, the LF bits are ignored and shall not be altered by the bridge. Then this field is free to use such as destination region/ring id. 1-bit Non Canonical Format Indicator (NCFI). If it is set, indicates that all MAC address information, that may be present in the MAC Service Data Unit (MSDU), is in Canonical format, and it is reset otherwise. Figure 11 shows the modified E-RIF Route Control Field. 2 RT Bits:
8
(X) 6
LTH 5
D 1
8
NCFI
Octets: 1
LF 7
2
1
Fig. 11. E-RIF Route Control Field
Moreover, more octets of Route Descriptors could be added (up to a maximum of 28 octets such as in IEEE Std 802.Q-2005). Each Route Descriptor has 16-bits that next node contains (7-bit code) and port destination (9-bit code) for providing routing information. This design is scalable because it has three organization levels: regions (up to 32 coded in 5-bit field), nodes (up to 128 coded in 7-bit field), ports (up to 512 coded in 9-bit field). The bridge diameter of the network is only limited by the maximum number of octets in the frame. In our implementation, end-stations transmit standard frames with no routing information included. The ingress switch is responsible to put it into the frame and the egress put off the routing information. Then, no changes are required at end-stations. Route Descriptors are concatenated and are removed from the corresponding switch. Finally, when there is no Route Descriptors in the message, the bit CFI is set to zero. Then, last switch forwards the frame to local port destination. This mechanism of putting and taking information from the frame can prevent undesirable loops in the network, because never must be two equal route descriptors in the route information fields. In order to provide a procedure and protocol to notify link and node errors, for starting restoration actions, we can choose between two standardized methods (we can implement each one of them). Bidirectional Forwarding Detection (BFD) is an IETF draft standard that defines a method to detect errors in forwarding paths, and can be used to trigger a switch or a router to alternate interfaces or routes. It can be applied to many technologies and networks. The alternative option is to use IEEE 802.1AG standard [20]. It was designed only for Ethernet networks but it can be adapted with few modifications. Both can be used depending on the network scenario.
300
J. Lloret et al.
5 Conclusions We have shown the need of critical and non critical real-time services integration in a unique corporate network, to optimize management and to avoid high budget. We have provided an experimental law that should be applied when it is needed a network with real-time services. Measurement results confirm that recovery times in Ethernet and MPLS networks exceed 50 msec. On the other hand, we have observed that the delay of video streams is higher when the traffic begins to use an available path after a failure than when the failed device is recovered. We have proposed a new system to improve resiliency on critical infrastructures networks that allows path recoveries faster than 50 msec. because the proposal is based on a protection mechanism which guarantees a very small delay when a path has failed. This solution is fully compatible with Ethernet and MPLS equipments and protocols, with no need for substantial hardware or software modifications in nodes or end stations. In fact, only end switches must run this algorithm, and STP is yet not necessary to avoid loops. The key of our method is a new metric not only with QoS constraints, but also with metrics related with the reliability of nodes and links. This work opens new research lines in MetroEthernet, Cluster and Corporate networks and it can also be a fault-tolerance and traffic engineering optimal solution.
References 1. Sánchez, F.J., Lloret, J., Díaz, J.R., Jiménez, J.M.: Mecanismos de protección y recuperación en redes de tiempo real para el soporte de servicios de explotación ferroviaria, Gandia (Spain). In: XX Simposium Nacional de la URSI (September 2005) 2. Sánchez, F.J., Lloret, J., Díaz, J.R., Jiménez, J.M.: Standardization and improvement of real time network technology on railway traffic control systems. In: 7th World Congress on Railway Research, Montreal (June 2006) 3. Lloret, J., Sánchez, F.J., Díaz, J.R., Jiménez, J.M.: A fault-tolerant protocol for railway control systems. In: 2nd Conference on Next Generation Internet Design and Engineering, Valencia (Spain) (April 2006) 4. Harrison, E., Farrel, A., Miller, B.: Protection and restoration in MPLS networks. Data Connection White Paper (October 2001) 5. Aggarwal, R., Kompella, K., Nadeau, T., Swallow, G.: BFD For MPLS LSPs (November 2007) 6. Amin, M., Ho, K., Pavlou, G.: MPLS QoS-aware Traffic Engineering for Network Resilience. In: Proceedings of London Communications Symposium, London, UK (September 2004) 7. IEEE Std 802.17B. Resilient packet ring (RPR) access method and physical layer specifications. pp.1-216 (August 2007) 8. Shah, S., Yip, M.: IETF RFC 3619, October 2003. Ethernet Automatic Protection Switching (2003) 9. Dirac, G.A.: Extensions of Menger’s Theorem. Journal of the London Mathematical Societ s1-38(1), 148–161 (1963) 10. Hansen, A.F., Kvalbein, A., Cicic, T., Gjessing, S., Lysne, O.: Resilient Routing Layers for Recovery in Packet Networks. In: Proceedings of the International Conference on Dependable Systems and Networks, June 28 - July 1, 2005, pp. 238–247 (2005)
Can Critical Real-Time Services of Public Infrastructures Run over Ethernet
301
11. Stamatelakis, D., Grover, W.D.: IP layer restoration and network planning based on virtual protection cycles. IEEE Journal on selected areas in communications 18(10) (October 2000) 12. Padmaraj, M., Nair, S., Marchetti, M., Chiruvolu, G., Ali, M.: Distributed Fast Failure Recovery Scheme for Metro Ethernet. IEEE ICN, Los Alamitos (April 2006) 13. Coll, H., Lloret, J., Sanchez, F.J.: Does ns2 really simulate MPLS networks? In: The 4th Int. Conf. on Autonomic and Autonomous Systems (March 2008) 14. IEEE Std 802.1AB- Draft 2 d2-2. Station and Media Access Control Connectivity Discovery (December 2007) 15. IEEE Std 802.1D. Media Access Control (MAC) Bridges (June 2004) 16. IEEE Std 802.1AD. Provider Bridge (May 2006) 17. Eppstein, D.: Finding the k Shortest Paths. SIAM J. Computing 28(2), 652–673 (1998) 18. Sharma, S., Gopalan, K., Nanda, S., Chiueh, T.: Viking: a multi-spanning-tree Ethernet Architecture for Metropolitan Area and Cluster Networks. In: IEEE INFOCOM (2004) 19. IEEE 802.1AQ draft 0.3. Shortest Path Bridging (May 2006) 20. IEEE 802.1AG draft 8.1. Connectivity Fault Management (February 2007)
Shim6: Reference Implementation and Optimization Jun Bi, Ping Hu, and Lizhong Xie Network Research Center, Tsinghua University, Beijing, 100084, China [email protected]
Abstract. Shim6 is an important multihoming solution. This paper studies shim6 from several perspectives, including shim6 protocol implementation, shim6 mechanism optimization and security enhancement. In order to provide a shim6 research platform, we implement shim6 protocol on the Linux 2.6 platform as one of the first reference implementations. Based on this research platform, we refine the shim6 address switching mechanism, which reduces shim6 address switching time greatly. In addition, we propose an enhanced shim6 security mechanism to defeat reflection-type DoS/DDoS attacks launched from the multihomed site, by preventing source address spoofing in the multihomed site. Keywords: Multihoming, Shim6, IPv6.
1 Introduction Multihoming to upstream ISPs is a requirement today for most IPv4 networks in the Internet, especially for the enterprise networks. With the deployment of IPv6 network, more and more devices can access to the Internet, and more and more sites will have the requirement of multihoming. IPv6 multihoming will be a very common phenomenon undoubtedly. Currently, the shim6 mechanism [1] is an important multihoming approach. This paper studies shim6 from several perspectives, including shim6 protocol implementation, shim6 mechanism optimization and IPv4/IPv6 transition utilizing shim6. In order to provide a shim6 research platform, we implement shim6 protocol on the Linux 2.6 platform, which is one of the first reference implementations in the world. Based on this research platform, we refine the shim6 address switching mechanism, which reduces shim6 address switching time greatly. In addition, we propose an enhanced shim6 security mechanism to defeat reflection-type DoS/DDoS attacks launched from the multihomed site, by preventing source address spoofing in the multihomed site. In order to explore the utilization of shim6 in other research fields, we propose a mechanism called MI46 to optimize IPv4/IPv6 inter-operation using simplified shim6. The rest of this paper is organized as follows: Section 2 describes our Linux-based shim6 implementation; Section 3 and section 4 present the enhancements on shim6 protocol, including shim6 address switching mechanism refinement and shim6 security mechanism enhancement. Section 5 concludes the paper. A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 302–313, 2008. © IFIP International Federation for Information Processing 2008
Shim6: Reference Implementation and Optimization
303
2 Reference Implementation of Shim6 Multihoming refers to the phenomena that one network end node accesses to the Internet through multiple network paths mainly due to the consideration of fault resilience. For the purpose of accessing to the Internet via multiple network paths, the multihomed network end node often possesses several addresses. Once the current network path fails, the multihomed network end node can immediately switch to another address and use another network path to communicate. In the shim6 approach, a new ‘SHIM6’ sub-layer is inserted into the IP stack in end hosts that wish to take advantage of multihoming. The shim6 sub-layer is located within the IP layer between the IP endpoint sub-layer and IP routing sub-layer. With the shim6, hosts have to deploy multiple provider-assigned IP address prefixes from multiple ISPs. These IP addresses are used by applications and if a session becomes inoperational, shim6 sub-layer can switch to using a different address pair. The switch is transparent to applications as the shim6 layer rewrites and restores the addresses at the sending and receiving host. For the purpose of transport layer communication survivability, the shim6 approach separates the identity and location functions for IPv6 addresses. In shim6, the identifier is used to uniquely identify endpoints in the Internet, while the locator is used to perform the role of routing. There is a one-to-more relationship between the identifier and locator. The shim6 layer performs the mapping function between the identifier and the locator consistently at the sender and the receiver. The upper layers above the shim6 sub-layer just use the unique identifier to identify the communication peer, even though the locator of the peer has changed. Hence, when the multihomed host switches to another locator, the current transport layer communication does not break up since the identifier is not changed. Due to the lack of the implementation, there are a lot of problems on shim6 which nobody can give some clear answers. Therefore, in order to start our research on shim6, we first implement shim6 protocol based on Linux 2.6.x platform. The control plane of shim6 mainly refers to the four handshakes process. The function of first two handshakes are to confirm the peer whether deploys shim6, and that of other two handshakes are to exchange the address list with the peer. The data plane of shim6 includes two main functions: rewriting the source and destination addresses of each packet, adding (the sender) /removing (the receiver) the payload extension header to/from the packet. The control plane of shim6 is implemented in the user space while the data plane is implemented in the kernel space using netfilter mechanism [2] of Linux. That’s because the four handshakes function of control plane is more complicated than the rewriting packets’ addresses function of data plane. If the four handshakes function is implemented in the kernel space, it may bring bad influence to the efficiency of the kernel. However, if we want to modify the addresses of every packet, we must implement the function of rewriting packets’ addresses in the kernel space. And it doesn’t bring too much weight to kernel since the function of rewriting packets’ addresses is very simple. But, the data plane relies on the addresses mapping table that is generated by the control plane. So, we implement modules of communication
304
J. Bi, P. Hu, and L. Xie
between the kernel and user space using the Linux netlink mechanism[3], in order to transfer the addresses mapping table from the control plane to the data plane.
3 Optimization of Shim6 In our experimental platform of shim6, we explore some researches on optimization of shim6 and get some achievements. The address switch mechanism of shim6 is defined in REAP (REAchability Protocol)[4]. REAP contains two parts: failure detection mechanism which detects failures between two communicating hosts, and address-pair exploration mechanism which locates another operational address-pair if a failure occurs. The failure detection mechanism uses two timers (Keepalive Timer, Send Timer) and Keepalive message to detect the failures between two communicating hosts. The concrete process is as follows: 1. When host A sends data packets to host B, a send timer starts at the same time. The suggested timeout value is 10s. 2. When host B receives data packets sent from host A, a Keepalive timer starts simultaneously. The suggested timeout value is 3s. If host B sends no packets to host A within the keepalive interval (less than Keepalive timeout value) after receiving data packets from host A, host B sends a Keepalive message to host A. 3. If host A receives no packets (including data packets and Keepalive packets) from host B before the send timer is timeout, it can be determined that there is a failure of current address pair. And then the addresses exploration mechanism sets up to locate another operational addresses pair. The address-pair exploration mechanism uses the Probe message to examine the reachability of the address-pair. Specifically, if host A wants to choose another address-pair with host B, host A needs to send a series of Probe messages to host B until receiving the Probe message sent from B. Upon receipt of the Probe message from host B, host A can conclude that the new address-pair is reachable from A to B. After receiving the first Probe message from host A, host B applies the same algorithm to confirm that the address-pair is reachable from B to A. If the test fails, another address-pair is selected to do the next address exploration. REAP defines some suggested default values associated with the exploration process. The Initial Probe Timeout which specifies the interval between initial attempts to send probes is 0.5s. Then the exploration process uses the exponential backoff procedure to increase the time between every probe if there is no response. So, each increase doubles the time. If the exploration process reaches Max Probe Timeout (60 seconds), it will continue sending at this rate until a suitable response is received. From the above description, we can see the time of shim6 address switching can be expressed as the following formula: Shim6 address switching time = failure detection time + next address-pair exploration time
Shim6: Reference Implementation and Optimization
305
The failure detection time is the value of Send timer timeout (10s). The next address-pair exploration time may grow exponentially. If the multihomed hosts have numerous addresses and the address failure rate is high, the shim6 address switching time will be very time consuming. For example, if the multihomed host A and B have Na and Nb addresses respectively, then under the worst circumstance each host would be required to detect about Na*Nb times to examine the next operational address-pair. In the original shim6 address switching mechanism, the shim6 next address-pair exploration process starts until the failure detection has finished, that is, after 10s, the hosts start to explore the reachability of the next address-pair. In this paper, we explore from the SCTP[5] protocol to refine the shim6 address switching mechanism, whose main idea is: during the failure detection, the hosts maintain the reachability of next address-pair simultaneously. In this way, once the failure occurs, the hosts can immediately switch to next operational address-pair. The refined shim6 address switch mechanism can shorten the shim6 address switching time to exactly 10s (that is the failure detection time). In the refined shim6 address switch mechanism, we use the Heartbeat message to maintain the reachability of next address-pair. The details are as follows: While host A and B communicate with each other using the current address-pair, meanwhile host A and B send Heartbeat request to each other periodically. Upon receipt of the Heartbeat request, the host sends back the Heartbeat acknowledgement. The host maintains a counter to record the number of Heartbeat requests that have been sent but not received Heartbeat acknowledgements. When the counter value reaches a certain threshold, this address-pair is marked un-reachable. Then another address-pair is selected to examine the reachability using the same method. We design several experiments to verify the effectiveness of the refined shim6 address switching method regarding the address number of each multihomed host and address failure possibility as the variables. The experimental result shows that when the multihomed hosts have numerous addresses, and these addresses are at a relatively high probability of failure, the original shim6 address switching time significantly increases. But the refined shim6 address switching time remains 10s constantly. Thus, in this situation, the refined shim6 address switching mechanism can reduce the address switching time effectively.
4 Source Address Spoofing Prevention for Multihomed Site 4.1 Problem Statement Today's Internet is suffering from reflection-type DoS/DDoS attacks. Current source address spoofing prevention methods have a coarse granularity, and the attackers can still in some cases launch reflection-type DoS/DDos attacks or other attacks hard to trace. The approaches based filtering, such as ingress filtering [6][7], can validate the source address in real-time. But the current approaches based on filtering just validate the IP source address according to the network prefix. Thus, these approaches can not
306
J. Bi, P. Hu, and L. Xie
prevent the IP source address spoofing in the edge network granularity, and leave some room to launch reflection-type DoS/DDoS attacks. For instance, with the ingress filtering, the attacker can still forge the IP source address that belongs to the same multihomed site and attack the victim using the reflection-type DoS/DDoS. This type attack scenario is shown in Figure 1.
Fig. 1. Reflection-type DDoS attack in the same multihomed site
This type security threats may be more serious with the IPv6 network deployment, because the IPv6 multihomed site may be much larger than the one of IPv4. In this situation, the ingress filtering is not sufficient. This paper aims to prevent the source address spoofing when the host in the multihomed site sends packets to somewhere outside this multihomed site. In addition, the replay attack must be handled. Even if the forged IP source address packets can be identified, the replay packet can still be sent to somewhere outside the multihomed site since its source address is valid. 4.2 The Algorithms 4.2.1 Source Address Validation Algorithm In our solution, each edge router of the edge network is equipped with a security gateway to carry out the authentication algorithm. Each security gateway is responsible for handling the addresses assigned from the ISP to which the security gateway is
Shim6: Reference Implementation and Optimization
307
attached. For example, in Figure 2, the security gateway A just handles the addresses assigned from ISP A. When host A sends packets using the addresses based on prefix A (PrefixA:PrefSite:hostA) as the source addresses, the packets may be sent to the edge router B connected to ISP B, and the security gateway B will be confused and take wrong action. In order to solve this problem, packets originating in the multihomed site are passed through a source routing domain (see Figure 2), to which all edge routers are connected. These routers would choose a route based on the destination and source addresses of a packet, selecting the appropriate edge router for the given source address.
Fig. 2. The source address spoofing prevention solution for multihoming scenario
Initially, When a host wants to access the Internet, it should firstly carry out the access authentication. This process can use the existing access authentication mechanism such as 802.1x[8], NAC[9], NAP[10] and TNC[11], etc. If the access authentication succeeds, the host generates a session key and sends it to the security gateway via some key exchange mechanisms such as IKE and IKE2. The session key is a random number that is at least 12-byte-long. The security gateway binds the session key and the host’s IP address. When the host sends packets to somewhere outside the multihomed site, it needs to certify its ownership of a certain IP address via showing the security gateway its secret session key which is shared with the security gateway by generating one signature for each packet using the hash digest algorithm (MD5, SHA-1, etc). The approach mainly includes the following steps. Host A sends a packet M to the security gateway B. M carries a signature H[M||S] which is computed by the hash digest function using the session key S and the certain part of the packet M (source address, timestamp, sequence number, etc.) as the input. When the security gateway B receives the packet M, B can
308
J. Bi, P. Hu, and L. Xie
re-compute the hash value HB according to the packet M, since B also knows the session key S. If HB is equal to the signature H [M||S] carried in the packet M, the security gateway B can confirm that the packet has a valid source address; Otherwise, B can conclude that the packet's source address is forged and then drops it. 4.2.2 The Anti-replay Algorithm After validating the signature, the security gateway also identifies the replay packets by checking whether the timestamp of the packet is expired and the sequence number of the packet is increasing. The timestamp method works as follows: when the host A sends a packet M to the security gateway, the packet M is marked with a timestamp Ta, which represents the sending time of the packet M. Once the security gateway receives the packet M, it reads its local time Tb. If |Tb-Ta|> T, where T is the admission time window, the security gateway can conclude that the packet M is a replay one then drops it. However, it’s hard to synchronize the clocks of the host and the gateway exactly. Moreover, the transmitting time of the packet in the network is also uncertain. Therefore, the admission time window T is always larger than the real transmitting time of the packet. This feature makes the timestamp method unfaithful for anti-replay. When |Tb-Ta|< T, the packet should be a non-replay one. But afterwards, if the replay packet is received in the margin time ( T-|Tb-Ta|), the security gateway will regard it as a normal packet incorrectly. The main idea behind the sequence number method is: when the host A sends packets to the security gateway, each packet carries an incremental sequence number. If the latest packet’s sequence number is greater than the previous one, the packet is normal; otherwise, the packet is a replay one. This method requires the packets to come in order. If the packets come out of order, one can employ a sequence number window to deal with it like IPSec. That the packets come out of order is mainly due to the load balance policy or queuing in the router or other 3-layer devices. This paper deals with the situation behind the first 3-layer device, thus we can assume that the packets sending to security gateway from hosts in the edge network are always in order. However, even though the packets come in order, this method may not identify some replay packets when the sequence number is used in a cycle way. For example, assuming the length of the sequence number is 16 bits, once the sequence number reaches the maximum 65535, it will return to 0 and increase as the previous cycle. In this case, if the attacker keeps a packet of the nth cycle and replays it in the (n+1) th cycle, the security gateway can’t identify the replay packet. In order to overcome the drawbacks of the timestamp and sequence method, we combine these two methods to prevent the replay attack. The timestamp method can use the sequence number mechanism to identify the replay packets in the admission time window T; And the sequence method can avoid the confusion between the normal and the replay packet by limiting the period of the sequence number cycle within the admission time window T.
△
△
△
△
△
△
△
4.2.3 IPv6 Source Address Validation Header In our approach, we design a new IPv6 extension header to carry the signature, the sequence number and other useful information. We call this new extension header
Shim6: Reference Implementation and Optimization
309
“source address validation header”. We develop a new IPv6 extension header rather than use the IPv6 AH extension header to complete the authentication between host and security gateway, because the AH extension header just can be carried once in the IPv6 packet according to the IPv6 specification. If we use it here, the host can not use the AH extension header with its communication correspondent. That’s not the result we want.
Fig. 3. The format of the source address validation header
The format of the extension header is shown in Fig. 3: • Next Header: 8-bit. Indicate either the type of the next extension header or the protocol type of the payload (TCP/UDP). • Payload Len: 8-bit. Length of the source address validation header in 8-octet units, not including the first 8 octets. • Algorithm: 8-bit. Point out the hash digest algorithm. For example, MD5 is set to 1. • Reserved: 8-bit. Reserved for future use. Zero on transmit. • Timestamp: 32-bit. It is used to anti-replay as described above. • Sequence Number: 32-bit. It is used to anti-replay as described above. • Authentication Data: 128 bits if using MD5 as the hash digest algorithm. The authentication data is computed by the hash digest algorithm. The input of the hash digest algorithm includes: IPv6 source address, timestamp, sequence number and session key. • The security gateway needs to remove the source address validation header from the packet. Considering the partial deployment, if we don’t remove the source address validation header, the hosts in other multihomed site may drop the packet due to misunderstanding of the new extension header. This step is unnecessary if our approach has been globally deployed. 4.3 Experiment Simulation 4 3.1 The Performance Evaluation of Source Address Validation Algorithm Because every packet needs to be authenticated when they are sent to somewhere outside the edge network, the primary design requirement of source address validation
310
J. Bi, P. Hu, and L. Xie
algorithm is the high performance. In our approach, this requirement means whether the performance of the hash digest algorithm is high enough. In addition, the security gateway needs to record the (IPv6 address, session key) pair for every host in the edge network, and each authentication procedure needs to look up the session key according to the IPv6 address. We use the hash table to organize the (IPv6 address, session key) pair, and its average performance for looking up is O(1). We conduct some experiments to validate the source address validation algorithm. Table 1 shows our experimental results, which are evaluated in the platform of Intel P4 2.0G CPU and 512M memory. Table 1. The performance comparison of two main hash digest algorithms HASH Digest algorithm MD5 SHA-1
The capacity per second (MB/S)
205 66
The results show that the performance of MD5 is about 1.64 Gbps This performance can meet the requirements in the most cases. We should note that this result is derived from the MD5 algorithm implemented in the software. If we implement the MD5 algorithm using hardware, we will get a higher performance. Therefore, the source address validation algorithm in our approach is completely feasible.
Fig. 4. The topology of anti-replay algorithm simulation experiments
Shim6: Reference Implementation and Optimization
311
4.3.2 The Effectiveness Evaluation of Anti-replay Algorithm In order to validate the effectiveness of our anti-replay algorithm which integrates the timestamp and the sequence number methods, we conduct several experiments to compare the effects of the timestamp, sequence number and our anti-replay algorithm. The experimental topology is shown as Fig 4. In Fig 4, host A is the victim, host B sniffs the packets sent from A and replays them. In the simulation experiment to validate effectiveness of the timestamp method, host A and the security gateway G synchronize the clocks exactly. The packet transmitting time from A to G is about 8~10ms. The host B takes 2ms±50% to sniff a packet and replay it. We set the admission time window T in the security gateway is 10ms, 11ms and 12ms respectively to see the effectiveness of the timestamp method. Fig 5 shows the result when the attacker B replays 10,000 packets. $FFXUDF\RIUHSOD\SDFNHWVLGHQWLILFDWLRQ
△
Ƹ7 PV Ƹ7 PV Ƹ7 PV
Fig.5. The simulation result of the timestamp method
△
△ △
△
From Fig 5 we can see, the effectiveness of timestamp method seriously relies on the size of admission time window T. When T=11ms, that is, T has a growth of 10% from the upper bound of packet transmitting time, the gateway can identify 68.7% of replay packets. When T=12ms, that is, T has a growth of 20% from the upper bound of packet transmitting time, the gateway can identify only 31.3% of replay packets. In the simulation experiment, we make host A and the security gateway G synchronize the clocks exactly. But, in the real network environment, it is hard to synchronize clocks exactly. What’s worse, the packet transmitting time in real network may be more fluctuant than that we set in the experiment. So, the admission time window T may have larger margin and the effectiveness may be much worse in the real network. In the simulation experiment to validate effectiveness of the sequence number method, the sequence number is 16-bit long. After recording the packets sent from A in the nth sequence number increasing cycle, attacker B replays these packets persistently in the (n+1)th sequence number increasing cycle. Fig 6 shows the accuracy of replay
△
△
312
J. Bi, P. Hu, and L. Xie
s t e k c a p y a l p e r f o y c a r u c c A
1.2 n 1 o i t 0.8 a c i 0.6 f i t n 0.4 e d i 0.2 0 0 5000 10000 15000 20000 25000 Packet number recorded in the nth sequence number increasing cycle
Fig.6. The simulation result of the sequence number method
packets identification in the (n+1)th sequence number increasing cycle when attacker B respectively records 10, 20, 50, 100, 1000, 5000, 10000, 15000 and 20000 packets sent from A in the nth sequence number increasing cycle. From Fig 6 we can see, under condition of persistent replay, the accuracy of replay packets identification in the (n+1)th sequence number increasing cycle is linear with the packet number recorded in the nth sequence number increasing cycle. The experiment result shows that almost all packets recorded can be replayed successfully under condition of persistent replay. We redo the above two simulation experiments to validate the effectiveness of our anti-replay algorithm which integrates the timestamp and the sequence number methods. The result is shown as Fig 7.
a. Comparison with timestamp
b. Comparison with sequence number
Fig. 7. The results of our anti-replay algorithm integrating timestamp and sequence number
Shim6: Reference Implementation and Optimization
313
△
In Fig 7a, even though the admission time window T has a large margin, with the help of sequence number method, all replay packets are identified successfully. In Fig 7b, in the (n+1)th sequence number increasing cycle, when attacker B replays the packets recorded in the nth sequence number increasing cycle, the security gateway can identify nearly 100% replay packets since the intervals between replay packets and normal packets exceed the admission time window T. From the above experiments we can conclude that the anti-replay algorithm this paper proposed can overcome the shortcomings of both timestamp and sequence number methods, and form a more effective, fine-grain anti-replay mechanism.
△
5 Summary This paper studies shim6 from several perspectives, including shim6 protocol implementation, shim6 mechanism optimization and security enhancement. In order to provide a shim6 research platform, we implement shim6 protocol on the Linux 2.6 platform, which is one of the first reference implementations in the world. Based on this research platform, we introduce HEARTBEAT message to refine the shim6 address switching mechanism, which reduces shim6 address switching time greatly. In addition, we propose an enhanced shim6 security mechanism to defeat reflection-type DoS/DDoS attacks launched from the multihomed site, by preventing source address spoofing in the multihomed site.
References 1. Nordmark, E.: Level 3 multihoming shim protocol, draft-ietf-shim6-proto-08.txt (2007) 2. http://www.netfilter.org 3. Salim, J., Khosravi, H., Kleen, A., Kuznetsov, A.: Linux Netlink as an IP Services Protocol. RFC 3549 (July 2003) 4. Arkko, J., Beijnum, I.: Failure Detection and Locator Pair Exploration Protocol for IPv6 Multihoming. draft-ietf-shim6-failure-detection-07.txt (2006) 5. Stewart, R., et al.: Stream Control Transmission Protocol. IETF RFC 2960 (2000) 6. Ferguson, P., Senie, D.: Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing. RFC2827 (2000) 7. Baker, F. and Savola, P.: Ingress Filtering for Multihomed Networks. RFC3704 (2004) 8. American National Standards Institute: IEEE-SA Standards Board: IEEE Standard for Local and metropolitan area networks - Port-Based Network Access Control (2001) 9. Cisco Systems: Network Admission Control 10. Microsoft: Network Access Protection 11. TNC: TCG Trusted Network Connect TNC Architecture for Interoperability (2005)
A Measurement Study of Bandwidth Estimation in IEEE 802.11g Wireless LANs Using the DCF Michael Bredel and Markus Fidler Multimedia Communications Lab Technische Universit¨ at Darmstadt, Germany {michael.bredel,markus.fidler}@kom.tu-darmstadt.de
Abstract. In this paper we present results from an extensive measurement study of wireless bandwidth estimation in IEEE 802.11 WLANs using the distributed coordination function. We show that a number of known iterative probing methods, which are based on the assumption of first-come first-serve scheduling, can be expected to report the fair bandwidth share of a new flow rather than the available bandwidth. Our measurement results confirm this view and we conclude that under the current probe gap and probe rate models the fair share can only be loosely related to the available bandwidth. Like a few other studies we report that packet sizes have a tremendous impact on bandwidth estimates. Unlike these studies we can, however, show that minor modifications to known methods for wired networks, such as Pathload, can solve previously indicated limitations of these methods in wireless networks.
1
Introduction
The term available bandwidth denotes the portion of the capacity at a link or a network path that remains unused by present traffic. The idea to estimate the bandwidth of a network path from end-host measurements dates back to TCP congestion control [11] and packet pair probing [17]. Since then the field of available bandwidth estimation has evolved significantly and to date a number of estimation methods exists, e.g. [12,10,27,30,26], which are frequently used e.g. for network management, error diagnostics, overlay routing, and traffic engineering. The theoretical underpinnings of bandwidth estimation have been explored e.g. in [23,24,22,25] and empirical evaluations can be found e.g. in [29,30]. The task of bandwidth estimation in wireless networks, such as IEEE 802.11 Wireless LANs, however, has been understood to a much lesser extend. Bandwidth estimation methods, which perform well in case of wired links, have been reported to yield highly unreliable available bandwidth estimates for wireless links [9,21,19], hinting at a number of specific challenges and open issues in wireless bandwidth estimation. Here, the performance and the quality of service of a link depend largely on the characteristics of the shared physical medium and the multi-access coordination function. These aspects strongly influence quantities like delay, loss, and throughput and may result in a high variability of available or actually accessible resources. This makes measurement-based bandwidth estimation in wireless networks a complex and difficult task. A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 314–325, 2008. c IFIP International Federation for Information Processing 2008
A Measurement Study of Bandwidth Estimation
315
A few approaches to bandwidth estimation specifically address the characteristics of wireless networks. Passive methods, which measure existing traffic, can take advantage of the wireless broadcast medium and record idle periods to estimate the resources that would be available in the proximity of a node [20,28]. The approach is, however, unreliable in case of hidden stations. Active probing, on the other hand, takes measurements of specific probing traffic at the ingress and the egress of the network to infer the available bandwidth of a network path. Contrary to wired networks a strong impact of packet sizes on bandwidth estimates has been observed for wireless links [15,16,21,19,6]. Here, the fluid model, which is employed by many estimation methods, is clearly violated. Moreover, it is noted in [19] that the assumption of First-Come First-Serve (FCFS) scheduling, which is the basis of most active probing methods, may not hold in IEEE 802.11 WLANs, e.g. due to the Distributed Coordination Function (DCF). In this paper we report results from an extensive measurement study of active probing methods to shed light on the issues mentioned above. We conducted measurements of an IEEE 802.11g link in ns-2 simulations [4], Emulab [3,31], and a highly controlled local wireless testbed that is located in a shielded and reflection absorbing measuring room. Based on our measurement results we find that the common FCFS model does clearly not hold under the DCF. The DCF can (within certain limits) rather be viewed as implementing fair scheduling. Based on the fair queuing model we can show that iterative methods that are based on the FCFS assumption can be expected to estimate the fair share of a new flow instead of the available bandwidth. Our measurements using the methods in Tab. 1 support the anticipated results. The gathered data reconfirms the known dependency of bandwidth estimates on the probing packet size. The remainder of this paper is organized as follows. In Sect. 2 we review the state-of-the-art in available bandwidth estimation. In Sect. 3 we discuss relevant characteristics of wireless links and the fair queuing model. In Sect. 4 we show our measurement results and in Sect. 5 we present our conclusions.
2
Methods for Available Bandwidth Estimation
In this section we discuss the state-of-the-art of available bandwidth estimation in wired and wireless networks. We focus on a set of publicly available measurement tools, see Tab. 1, which are used for measurements in Sect. 4. For related empirical evaluations in wired networks see e.g. [29,30]. The task of available bandwidth estimation is to infer the portion of the capacity of a link or a network path that remains unused by cross-traffic. The available bandwidth of a link with index i can be defined as [12] ABi (τ, t) = Ci (1 − ui (τ, t))
(1)
where Ci is the capacity and ui ∈ [0, 1] is the utilization by cross-traffic in the interval [τ, t). The available bandwidth of a network path is determined by the available bandwidth of the tight link as AB(τ, t) = mini {ABi (τ, t)} [12].
316
M. Bredel and M. Fidler Table 1. Bandwidth estimation methods used in this study Probing method Pathload [12] Pathchirp [27] Spruce [30] IGI [10] PTR [10] WBest [21] DietTOPP [14]
Probing traffic Inference technique packet trains iterative packet chirps iterative packet pairs direct packet trains direct packet trains iterative packet trains direct packet trains iterative
Active measurement methods inject specific probes into the network and estimate the available bandwidth from measurements of the probing traffic at the ingress and at the egress of the network. The majority of the methods uses packet pairs, i.e. two packets sent with a defined spacing in time referred to as gap, or packet trains, i.e. a larger number of packets sent at a defined constant rate. The rate of a packet train can be converted into a certain spacing of the train’s packets, showing a direct relation to the gap model of packet pairs. Packet chirps [27] are specific packet trains that are sent at a geometrically increasing rate respectively with a geometrically decreasing gap. Many methods use a simplified network model, where cross-traffic is viewed as constant rate fluid and the network is abstracted as a single tight link. Under these assumptions the available bandwidth of a network path simplifies to AB = C(1 − u). In addition, FCFS multiplexing is usually assumed, where flows share the capacity of a link proportionally to their offered rates. For constant rate probes an expression referred to as rate response curve [26,23] can be derived as ri ri + λ 1 , if ri ≤ C − λ = max 1, = ri +λ (2) ro C , if ri > C − λ C where ri and ro are the input and output rates of probes respectively and λ is the input rate of cross-traffic. If λ ≤ C the available bandwidth follows as AB = C − λ and otherwise AB = 0. Based on this model the task of available bandwidth estimation is to select the rate of probing traffic such that (2) can be solved for C and λ or C − λ. While (2) is usually used for packet train probes, an equivalent gap response curve can be derived for packet pairs, where the gap g is linked to the rate r by the packet size l resulting in gi = l/ri and go = l/ro [23]. In [13] measurement methods are classified by their inference technique as either direct or iterative probing schemes. Direct probing schemes assume that the capacity of the link C is known in advance. In this case (2) can be solved for the rate of the cross-traffic if the probing rate is larger than the available bandwidth. A straightforward choice is to probe with ri = C in which case the available bandwidth follows from (2) in rate respectively gap notion as [21,30] C go − gi AB = C 2 − =C 1− . (3) ro gi
A Measurement Study of Bandwidth Estimation
317
Spruce, WBest, and IGI are methods that use direct probing. Spruce assumes that the capacity is known a priori and immediately applies the gap version of (3). WBest provides a two-step algorithm using packet pairs to estimate the link capacity and packet trains for available bandwidth estimation based on the rate version of (3). IGI uses probing trains with increasing gaps resulting in a more complex direct probing formula than (3), for details see [10]. Iterative probing methods do not require a priori knowledge of the link capacity. They employ an iterative procedure with multiple probing rates aiming to locate the turning point of the rate response curve (2), i.e. they seek to find the largest probing rate ri such that ri /ro = 1. At this point the probing rate coincides with the available bandwidth. TOPP, DietTOPP, PTR, Pathload, and Pathchirp are iterative probing methods. TOPP [26] uses trains of packet pairs with increasing rate and applies (2) for available bandwidth estimation. It recursively extends the model to the multiple node case and in addition it estimates the capacity from the second linear segment in (2). Closely related is a simplified version called dietTOPP. PTR is a packet train method that uses a gap version of (2). Pathload varies the rate of packet trains using a binary search algorithm to find the largest probing rate that does not cause overload and hence matches the available bandwidth. It uses increasing one-way delays as an indication of overload. Increasing delays indicate that the input rate exceeds the output rate, i.e. ri /ro > 1 which clearly shows the relation to (2) [23]. Pathchirp increases the probing rate within a single packet train, referred to as a chirp, instead of varying the rate of successive packet trains. Like Pathload it detects crossing the turning point of the rate response curve from increasing one-way delays. Most of the discussed methods have been developed for wired networks while WBest and dietTOPP have been suggested by the authors for available bandwidth estimation in wireless networks. Further on, a method called ProbeGap has been proposed for bandwidth estimation in broadband access networks [19]. The method does not exactly fit into the classification scheme used here. ProbeGap sends out single packets and collects the one-way delays of these probes. The fraction of the packets which have a delay close to zero are assumed to have found an idle channel. This fraction is used to estimate the available bandwidth. Besides, passive measurement approaches can take advantage of the wireless broadcast medium [28] or protocol related information [20]. Passive methods are, however, not considered within the scope of this study.
3
Relevant Wireless Link Characteristics
In this section we discuss relevant characteristics of wireless links that are of vital importance for bandwidth estimation. We show how these aspects affect current fluid rate and gap models from Sect. 2 and reason which quantity we expect to be estimated by known methods for bandwidth estimation in wireless
318
M. Bredel and M. Fidler
systems. We use the term wireless link meaning a wireless broadcast channel with Medium Access Control (MAC) and Radio Link Control (RLC) protocols. Fading and interference: As opposed to wired links the characteristics of wireless channels are highly variable due to fading. Other potentially hidden stations, which may even include stations that implement different radio standards using the same frequency band, create interference on the wireless broadcast medium. These effects can cause rapid fluctuations of the signal-to-noise ratio and may lead to high bit error rates. Different modulation and coding schemes combined with rate adaptation may be used for compensation. As a consequence, the capacity and the availability of the channel may vary drastically. Contention: In case of wireless multi-access channels, stations share the same medium and contend for access to the channel, often in a fully distributed manner. Channel access is controlled by the MAC protocol. Before accessing the medium stations listen to the channel to detect nearby transmissions with the objective of avoiding collisions. This procedure may fail in case of hidden stations, thus requiring additional protocol mechanisms such as RTS/CTS. The resulting behavior of medium access procedures may be largely different if compared to FCFS multiplexing at a point-to-point link. Retransmissions: Due to frequent packet loss on wireless links, e.g. because of fading, interference, or collisions, many standards include an RLC protocol that implements an automatic repeat request technique such as stop-and-wait ARQ to ensure packet delivery. Link layer retransmissions consume channel capacity and lead to increased and varying one-way delays. Effects that are due to fading and interference result in a time-varying channel capacity C(t). It is straight-forward to adapt the definition of available bandwidth (1) accordingly. The fluid rate and gap models for bandwidth estimation (2), (3) assume, however, a constant capacity. This assumption is mirrored by the view of cross-traffic as constant rate fluid. Our controlled measurement environment eliminates effects that are due to fading and interference to a large extend. Protocol-related aspects, however, remain to be addressed. In the following subsections we investigate two effects of the IEEE 802.11 protocols that have major impact on bandwidth estimation. 3.1
Protocol Overhead
We compute the impact of the IEEE 802.11g protocol overhead on the achievable throughput. Given packets of size l bits the throughput can be determined as C = l/g where g is the gap, i.e. the time between the beginning of two subsequent packets transmitted at the maximum rate. The gap consists of a number of additive parameters1 including inter frame spacings, the expected backoff time, transmission times of the data packet including preamble and header and the acknowledgement, as well as propagation delays which are neglected here. 1
We set tdifs = 28 μs, tsifs = 16 μs, tbackoff = 139.5 μs, tdata = 26+l/54 μs, tack = 30 μs.
A Measurement Study of Bandwidth Estimation
40 S5 contending traffic 54 Mbps
S3
100 Mbps
R
AP probe traffic
S2
measurements simple model
35 Throughput [Mbps]
S4
319
30 25 20 15 10 5
S1
0 0 Wireless test network
Wired control network
Fig. 1. Wireless testbed setup
500
1000
1500
2000
Packet size [Byte]
Fig. 2. Achievable throughput
Fig. 2 shows the achievable throughput for different packet sizes. The outcome of the above model is compared to measurement results from our testbed shown in Fig. 1, for details see Sect. 4. We used a single greedy UDP traffic stream that is generated with the D-ITG traffic generator [1]. The measured throughput is averaged over 60 s. It exhibits a strong dependence on the packet size, as also derived for IEEE 802.11b in [8]. We conclude that the size of probing packets used by bandwidth estimation tools has a large impact on the accuracy of estimates. This aspect is also noted in [16,19,21,6]. The fluid rate response model for bandwidth estimation does not involve a notion of packets. Using the equivalent gap formulation, an extended model that includes the effects of the packet size has been developed in [16]. The conclusion in [16] is none the less that the probing packet size needs to be tailored to the application that uses the bandwidth estimates. 3.2
Distributed Coordination Function
In this section we investigate how the capacity of IEEE 802.11g links using the DCF is allocated to contending flows. The issue is discussed controversially in the literature. While [18] showed short-term unfairness of CSMA/CA-based WaveLANs a recent study [7] attributes findings of unfairness to early WaveLAN cards and reports that current IEEE 802.11 DCF implementations actually exhibit good short-term fairness. On this account we performed a number of initial experiments to explore fairness issues in our shielded testbed. Fig. 3 shows the throughput of contending flows at an IEEE 802.11g link. Flows have a constant bit rate and are generated using the Rude/Crude traffic generator [5]. All packets have a constant size of 1500 Bytes. The throughput is averaged over 60 s. In Fig. 3(a) two flows contend for the link. Flow 1 has a rate of 28 Mbps and the rate of flow 2 is increased from 0 to 28 Mbps in steps of 1 Mbps after each experiment. Similarly Fig. 3(b) shows the throughput of four flows, where the rate of flow 4 is increased. The results in Fig. 3 confirm that each flow receives a fair share of the capacity. Flow 2 in Fig. 3(a) achieves its target throughput whereas the throughput of flow 1 is reduced accordingly until flow 2 reaches 14 Mbps. From this point on both
320
M. Bredel and M. Fidler
30
flow1: 24 Mbps flow2: 9 Mbps flow3: 2 Mbps flow4: 0-24 Mbps
25 Throughput [Mbps]
25 Throughput [Mbps]
30
flow1: 24 Mbps flow2: 0-24 Mbps
20 15 10 5
20 15 10 5
0
0 0
5
10
15
20
25
Rate of flow2 [Mbps]
0
5
10
15
20
25
Rate of flow4 [Mbps]
(a) two contending flows
(b) four contending flows
Fig. 3. Measured throughput of contending flows. Each flow obtains its fair share.
flows get a fair share of 14 Mbps regardless of the rate of flow 2. Fig. 3(b) confirms this result for four heterogeneous flows. Note that we measured fair throughput shares only for flows with homogeneous packet sizes. The fair share f at a congested link that is observed in Fig. 3 can be computed as the solution of n f: min{rk , f } = C (4) k=1
where C is the capacity, rk is the rate of flow k, and n is the number of flows. Once f is determined the output rate of flow k follows as min{rk , f }. The rate response curve of a fair queuing system follows immediately as 1 ri ri = max 1, = ri ro f f
, if ri ≤ f , if ri > f
(5)
where ri and ro are the input and output rates of the probes respectively. As opposed to the FCFS rate response curve (2) the available bandwidth cannot be derived from (5). Trivially the available bandwidth AB is upper bounded by the fair share, i.e. 0 ≤ AB ≤ f . Without further assumptions the two extremal values can, however, be easily attained if f ≤ C/2. As an example consider a single contending flow with rate λ = C/2 respectively λ = C. The fair share of a new greedy flow is f = C/2 in both cases, whereas the available bandwidth becomes AB = f respectively AB = 0. Referring to the classification of bandwidth estimation methods in Sect. 2 we conclude that iterative methods, which use the turning point of the rate response curve as bandwidth estimate, can be expected to report the fair share of a new greedy flow in case of a fair wireless link. For existing direct probing methods that inject probes with rate ri = C such a clear result cannot be established. Inserting ro = f into (3) does neither compute the available bandwidth nor the fair share. We note, however, that direct probing with ri = C could easily report the fair share, since ro = f in this case.
A Measurement Study of Bandwidth Estimation
4
321
Experimental Evaluation of Bandwidth Estimation
Equipped with the results from Sect. 3 we now investigate the performance of the bandwidth estimation tools listed in Tab. 1. If not mentioned otherwise we use the default configuration of the bandwidth estimation tools to perform the experiments. We evaluate the methods using a wireless testbed in a shielded, anechoic room. Hence, we act on the assumption that the physical medium is free of interference from external sources that do not belong to the testbed. We focus on the accuracy of wireless bandwidth estimates and show how these relate to the available bandwidth respectively to the fair share under different types of contending traffic. We do not report probing overhead, intrusiveness, as well as run or convergence times. These aspects are elaborated e.g. in [29]. As shown in Fig. 1 the testbed comprises five wireless stations (S1 to S5) that serve as traffic sources. The stations are connected to the access point (AP) using IEEE 802.11g with 54 Mbps2 . The access point is connected over fast Ethernet at 100 Mbps to a station (R) that acts as receiver. The distance between the wireless stations and the access point was between 0.5 m and 1.5 m. We switched of RTS/CTS, automatic rate adaption (which turned out to be unneeded in our scenario) as well as packet fragmentation. We used the DCF for medium access. In parallel to the wireless test network, all nodes are connected to a separated switched Ethernet, which is used as a control network. 4.1
Impact of the Intensity of Contending Traffic
In the first set of experiments we estimate the available bandwidth from S1 to R in the presence of a single contending flow. We increase the rate λ of the contending traffic that flows from S2 to R from 0 Mbps up to 28 Mbps in steps of 1 Mbps. The contending traffic consists of packets of 1500 Bytes and is generated using the D-ITG traffic generator [1]. All probe packets are set to 1500 Bytes. Fig. 4 shows the average of 25 available bandwidth estimates for each of the tools and all rates of the contending traffic as well as corresponding confidence intervals at a confidence level of 0.95. As a reference the available bandwidth AB = C − λ as well as a the fair share of a new flow f = max{C − λ, C/2} are plotted, where we use C = 28 Mbps from Fig. 2 for a packet size of 1500 Bytes. Iterative probing: From our arguments in Sect. 3 we expect that the iterative probing methods Pathload, DietTOPP, Pathchirp, and PTR report an estimate of the fair share. As indicated in Fig. 4 the fair share and the available bandwidth are identical for contending traffic with rate λ ∈ [0 . . . 14] Mbps, whereas they differ for λ ∈ (14 . . . 28] Mbps. Fig. 4(a) shows that the estimates from Pathload (which reports an upper and a lower bound of the available bandwidth) and DietTOPP clearly confirm the fair queuing model in (5). Both methods closely 2
We used Lenovo ThinkPad R61 notebooks with 1.6 GHz, 2 GB RAM running Ubuntu Linux 7.10 with kernel version 2.6.22. We employed the internal Intel PRO/Wireless 4965 AG IEEE 802.11g WLAN adapters. The access point is a Buffalo Wireless-G 125 series running DD-WRT [2] version 24 RC-4.
M. Bredel and M. Fidler
Bandwidth Estimate [Mbps]
35
35
Pathload DietTOPP
30 25 20 15 10 5
avail.bw.
0 0
5
10 15 20 Contending Traffic [Mbps]
Bandwidth Estimate [Mbps]
322
Spruce Pathchirp
30 25 20
fair share
15 10 5
avail.bw.
0
25
0
(a) Pathload and DietTOPP 35
IGI PTR
30 25 20 15 10 5
avail.bw.
0 0
5
10 15 20 Contending Traffic [Mbps]
(c) IGI/PTR
25
10 15 20 Contending Traffic [Mbps]
25
(b) Spruce and Pathchirp
Bandwidth Estimate [Mbps]
Bandwidth Estimate [Mbps]
35
5
WBest Avail.Bw. WBest Capacity
30 25 20 15 10 5
avail.bw.
0 0
5
10 15 20 Contending Traffic [Mbps]
25
(d) WBest
Fig. 4. Bandwidth estimates for a wireless link with one contending flow
track the fair share and the reported estimates deviate noticeably from the available bandwidth as the rate of the contending traffic increases beyond 14 Mbps. The results from PTR in Fig 4(c) and to a lesser extend from Pathchirp in Fig. 4(b) confirm this view. In case of Pathchirp we used the estimates provided after Pathchirp’s self-adapting phase. In our experimental results plotted in Fig. 4(b) it nevertheless underestimates the fair share and the estimates exhibit a comparably high variance. Pathload has been reported to provide inaccurate bandwidth estimates for wireless networks in [9,19,21]. This stands in contrast to experiences made using Pathload in wired networks. In [21] the probing packet size is mentioned as a possible reason for bandwidth underestimation, and [19] identifies the signature of one-way delays in wireless networks as a source of the problem. Having confirmed the strong impact of the packet size on the throughput in wireless networks, see Fig. 2, we modified Pathload so that we can specify the probing packet size. Using Pathload with a fixed packet size of 1500 Bytes improves bandwidth estimates significantly and leads to quite accurate and stable results as can be seen in Fig. 4(a). Similar problems have been reported for IGI/PTR [21], which can also be mitigated using a packet size of 1500 Bytes rather than the default size. The estimates in Fig. 4(c) are, however, less sensitive to the intensity of contending traffic, as also reported for cross-traffic in wired networks in [30]. Direct probing: Direct probing tools require a priori knowledge of the link capacity. We executed Spruce with a given capacity of C = 28 Mbps which
A Measurement Study of Bandwidth Estimation Pathload DietTOPP Fair Share
30 25 20 15 10 5 0
35 Bandwidth Estimate [Mbps]
Bandwidth Estimate [Mbps]
35
323
PTR Pathchirp Fair Share
30 25 20 15 10 5 0
0 1 2 3 4 Number of Contending Flows [Mbps]
(a) Pathload and DietTOPP
0 1 2 3 4 Number of Contending Flows [Mbps]
(b) PTR and Pathchirp
Fig. 5. Bandwidth estimates for a wireless link with several contending flows
corresponds to the throughput for packets of 1500 Bytes size in Fig. 2. From our results shown in Fig. 4(b) we cannot detect a clear trend of the estimates towards either the fair share or the available bandwidth once λ exceeds 14 Mbps. WBest uses a two-step algorithm to estimate first the capacity and then the available bandwidth. In our measurements both estimates exhibit a comparably high variance as shown in Fig. 4(d). Moreover, the capacity estimates are sensitive to contending traffic, possibly a result of fair resource allocation, such that bandwidth estimates that are based heron may be unreliable. 4.2
Impact of the Number of Contending Flows
In the second set of experiments we investigate the impact of the number of contending flows on bandwidth estimates. We use contending traffic with a total rate of 20 Mbps, which is divided evenly among one to four flows. Hence, the available bandwidth AB = 8 Mbps remains constant in all experiments, whereas the fair share of a new flow is (14, 9.3, 8, 8) Mbps for (1, 2, 3, 4) contending flows each offering a rate of (20, 10, 6.6, 5) Mbps respectively. Since we only related the estimates of iterative probing methods to the fair share we restrict the results shown here to iterative methods. Again all contending and probe packets are adjusted to have a fixed size of 1500 Bytes to achieve comparability. As in the experiments presented above, we ran each experiment 25 times and display the average of the available bandwidth estimates and belonging confidence intervals at a confidence level of 0.95 in Fig. 5. The estimates of the iterative methods Pathload, DietTOPP, PTR, and Pathchirp are closely related to the fair share and do not match the available bandwidth. As anticipated these results confirm the model that is developed in Sect. 3. Without presenting results due to limited space we state that the direct probing tools that were investigated tend to be more inaccurate and do not report the available bandwidth nor the fair share in these experiments.
5
Conclusions
We conducted an extensive measurement study of wireless bandwidth estimation in IEEE 802.11g WLAN testbeds. In contrast to wired links bandwidth
324
M. Bredel and M. Fidler
estimates for wireless channels depend largely on the choice of packet sizes. We adapted the examined tools accordingly. We found that the FCFS assumption common in bandwidth estimation does not apply in case of wireless channels with contending traffic, where the distributed coordination function seeks to achieve a fair bandwidth allocation. We showed that the estimates of known iterative measurement methods can be related to the fair share of a new flow, which may deviate significantly from the available bandwidth. Our measurement results confirm this relation. A similar result was not established for direct probing. As opposed to previous studies our measurement results indicate that the methods, which have been specifically targeted at wireless channels, are not superior to previously known methods that have been developed for wired networks.
Acknowledgements We would like to thank M. Hollick, R. Steinmetz, and R. Jakoby for providing the equipment and facilities that made this research possible. This work has been funded by an Emmy Noether grant of the German Research Foundation.
References 1. D-ITG: Distributed Internet Traffic Generator, http://www.grid.unina.it/software/ITG 2. dd-wrt: Linux wireless router, http://www.dd-wrt.com 3. Emulab: Network emulation testbed, http://www.emulab.org 4. ns-2: Network simulator, http://www.isi.edu/nsnam/ns 5. Rude/Crude: Real-time UDP Data Emitter/Collector, http://rude.sourceforge.net 6. Amambra, A., Hou, K.M., Chanet, J.-P.: Evaluation of the performance of the SLoPS: Available bandwidth estimation technique in IEEE 802.11b wireless networks. In: Proc. of IFIP NTMS, May 2007, pp. 123–132 (2007) 7. Berger-Sabbatel, G., Duda, A., Heusse, M., Rousseau, F.: Short-term fairness of 802.11 networks with several hosts. In: Proc. of IFIP MWCN, October 2004, pp. 263–274 (2004) 8. Bianchi, G.: Performance analysis of the IEEE 802.11 distributed coordination function. IEEE JSAC 18(3), 535–547 (2000) 9. Botta, A., Pescape, A., Ventre, G.: Improving accuracy in available bandwidth estimation for IEEE 802.11-based ad hoc networks. In: Proc. of IEEE Systems Communications, August 2005, pp. 287–292 (2005) 10. Hu, N., Steenkiste, P.: Evaluation and characterization of available bandwidth probing techniques. IEEE JSAC 21(6), 879–894 (2003) 11. Jacobson, V.: Congestion avoidance and control. In: Proc. of ACM SIGCOMM, August 1988, pp. 273–288 (1988) 12. Jain, M., Dovrolis, C.: End-to-end available bandwidth: measurement methodology, dynamics, and relation with tcp throughput. IEEE/ACM TON 11(4), 537–549 (2003) 13. Jain, M., Dovrolis, C.: Ten fallacies and pitfalls on end-to-end available bandwidth estimation. In: Proc. of ACM IMC, October 2004, pp. 272–277 (2004)
A Measurement Study of Bandwidth Estimation
325
14. Johnsson, A., Melander, B., Bj¨ orkman, M.: Diettopp: A first implementation and evaluation of a simplified bandwidth measurement method. In: Proc. of SNCNW (November 2004) 15. Johnsson, A., Melander, B., Bj¨ orkman, M.: Bandwidth measurement in wireless networks. In: Proc. of Med-Hoc-Net (June 2005) 16. Johnsson, A., Melander, B., Bj¨ orkman, M.: An analysis of active end-to-end bandwidth measurements in wireless networks. In: Proc. of IEEE/IFIP E2EMON, April 2006, pp. 74–81 (2006) 17. Keshav, S.: A control-theoretic approach to flow control. In: Proc. of ACM SIGCOMM, September 1991, pp. 3–15 (1991) 18. Koksal, C.E., Kassab, H., Balakrishnan, H.: An analysis of short-term fairness in wireless media access protocols. In: Proc. of ACM SIGMETRICS, June 2000, pp. 118–119 (2000) 19. Lakshminarayanan, K., Padmanabhan, V.N., Padhye, J.: Bandwidth estimation in broadband access networks. In: Proc. of ACM IMC, October 2004, pp. 314–321 (2004) 20. Lee, H.K., Hall, V., Yum, K.H., Kim, K.I., Kim, E.J.: Bandwidth estimation in wireless LANs for multimedia streaming services. In: Proc. of IEEE ICME, July 2006, pp. 1181–1184 (2006) 21. Li, M., Claypool, M., Kinicki, R.: WBest: A bandwidth estimation tool for multimedia streaming application over IEEE 802.11 wireless networks. Technical Report WPI-CS-TR-06-14, Computer Science Department, Worcester Polytechnic Institute (March 2006) 22. Liebeherr, J., Fidler, M., Valaee, S.: A min-plus system interpretation of bandwidth estimation. In: Proc. of IEEE INFOCOM, May 2007, pp. 1127–1135 (2007) 23. Liu, X., Ravindran, K., Loguinov, D.: A queuing-theoretic foundation of available bandwidth estimation: Single-hop analysis. IEEE/ACM Trans. Networking 15(4), 918–931 (2007) 24. Liu, X., Ravindran, K., Loguinov, D.: A stochastic foundation of available bandwidth estimation: Multi-hop analysis. IEEE/ACM Trans. Networking 16(2) (2008) 25. Machiraju, S., Veitch, D., Baccelli, F., Bolot, J.: Adding definition to active probing. ACM SIGCOMM Computer Communication Review 37(2), 19–28 (2007) 26. Melander, B., Bj¨ orkman, M., Gunningberg, P.: Regression-based available bandwidth measurements. In: Proc. of SPECTS (July 2002) 27. Ribeiro, V.J., Riedi, R.H., Baraniuk, R.G., Navratil, J., Cottrell, L.: Pathchirp: Efficient available bandwidth estimation for network paths. In: Proc. of PAM (April 2003) 28. Sarr, C., Chaudet, C., Chelius, G., Lassous, I.G.: Improving accuracy in available bandwidth estimation for IEEE 802.11-based ad hoc networks. In: Proc. of IEEE MASS, October 2006, pp. 517–520 (2006) 29. Shriram, A., Kaur, J.: Empirical evaluation of techniques for measuring available bandwidth. In: INFOCOM 2007. 26th IEEE International Conference on Computer Communications, May 2007, pp. 2162–2170. IEEE, Los Alamitos (2007) 30. Strauss, J., Katabi, D., Kaashoek, F.: A measurement study of available bandwidth estimation tools. In: Proc. of ACM IMC, October 2003, pp. 39–41 (2003) 31. White, B., Lepreau, J., Stoller, L., Ricci, R., Guruprasad, S., Newbold, M., Hibler, M., Barb, C., Joglekar, A.: An integrated experimental environment for distributed systems and networks. In: Proc. USENIX OSDI, December 2002, pp. 255–270 (2002)
Hierarchical Logical Topology in WDM Ring Networks with Limited ADMs Tomoya Kitani1 , Nobuo Funabiki2, Hirozumi Yamaguchi3, and Teruo Higashino3 1
Graduate School of Information Science Nara Institute of Science and Technology, Nara, Japan 2 Graduate School of Natural Science and Technology Okayama University, Okayama, Japan 3 Graduate School of Information Science and Technology Osaka University, Osaka, Japan [email protected], [email protected], {h-yamagu,higashino}@ist.osaka-u.ac.jp
Abstract. This paper presents a method for constructing logical topology in multi-hop WDM networks hierarchically. Our logical topology can be built over WDM ring networks with only three ADMs (Add-Drop Multiplexers) and transceivers per node. We aim to realize low-cost WDMs that can be deployed for MANs and LANs. Due to well constructed hierarchical topology, both the maximum distance between two nodes and the number of required wavelengths on each optical fiber are reduced to the logarithmic order of the number of nodes. This contributes to mitigate traffic costs in WDM networks. Furthermore, we propose a node labeling scheme to achieve efficient routing without routing table lookup. From our numerical experiments, we have shown that we could construct a logical topology consisting of 1,000 nodes with a very small diameter and 16 wavelengths in a WDM ring network. Keywords: WDM ring networks, logical topology design algorithm, hierarchical topology, compact routing algorithm.
1 Introduction Wavelength Division Multiplexing (WDM) technology enables high-speed and highvolume data transmission over fiber-optic networks by multiplexing several optical carrier signals using different wavelengths. Because of its significance for very high-speed communication infrastructure, the WDM methodology and the related issues have been widely investigated so far. In particular, since multi-hop WDM networks are required to assign lightpaths among two nodes and any data is carried over those lightpaths, the quality of lightpath design obviously has great impact on the network performance such as the volume of traffic that can be accommodated without causing congestion. Therefore, many algorithms on designing logical topologies over multi-hop WDM networks have been considered [1,2]. The existing methodologies on logical topology design over WDM networks have focused on minimizing the number of required wavelengths [3,4,5,6], the number of A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 326–337, 2008. c IFIP International Federation for Information Processing 2008
Hierarchical Logical Topology in WDM Ring Networks with Limited ADMs
327
required ADMs (Add-Drop Multiplexers) and transceivers [5,6,7], the blocking probability [8], the number of required paths [9], the total amount of relayed traffic [10,11], the number of required wavelength converters [3,12] and so on, for given traffic matrices. It is well-known that the number of ports (ADMs and transceivers) per WDM node has big impact on hardware costs. Also in order to save network resources, minimizing the number of required wavelengths is also desirable. Although some methods try to reduce the total number of ports for cost-efficient design of WDM networks [13], it is desirable to consider WDM networks with a small number of ports per node since MANs and LANs may employ a large number of low-cost nodes. Thus, the traffic grooming methods to minimize the number of ADMs and wavelengths have been investigated so far. In our previous work [14], we have proposed a logical topology called Hierarchical Chordal Ring Network (HCRN). In HCRN, each node has only three ports (ADMs and transceivers)√and the network diameter and the number of required wavelengths are proportional to N (N denotes the number of nodes). Arora et al. have proposed a method to configure a logical topology for WDM ring networks such as a prevalent MAN [15]. This topology has the network diameter and the number of required wavelengths which are proportional to the logarithmic order of N by using lightpaths with O(2N ) lengths (physical hop-counts). However, this method may require each node to use more ports in the logical topology whereas HCRN uses only three ports. In this paper, we propose a method of designing a logical topology where the network diameter and the number of required wavelengths are the logarithmic order of N on the WDM ring networks constituted by nodes with only three ports. We also propose a multi-hop routing method over this logical network. This topology is configured by clustering adjacent nodes in a similar way to HCRN and Arora’s method. This topology can admit most traffic patterns and variance because of its regularity. Although logical topologies may sometimes be reconfigured according to changes of traffic patterns, frequent reconfiguration cannot be applied in practice due to its overhead. Therefore, it is important to construct a topology which is adaptive to most traffic patterns. Furthermore, exploiting regularity and hierarchy of the logical topology, we propose a node labeling scheme to achieve effective routing on the logical topology without routing table lookup. From the numerical results, we have shown that we could construct logical topologies of 1,000 nodes with a very small diameter and up to 16 wavelengths per fiber-optic cable, and the method is dominant to the method in Ref. [16] that generates dynamic topologies and Chordal Ring Network topology.
2 Related Work Reference [16] is one of the initial literatures on logical topology design over optical networks, and provides several heuristic algorithms such as HLDA (Heuristic Logical topology Design Algorithm) and TILDA (Traffic Independent Logical topology Design Algorithm). Later we will conduct performance comparison with them to see efficiency of our method. Reference [6] deals with optical ring networks, and gives the lower bound analysis of wavelengths and ADMs usage in WDM networks. The results
328
T. Kitani et al.
indicate to what degree our achievements have been attained; our upper bound analysis shows that we could achieve almost the lowest in most cases. Reference [5] introduces several logical topologies in dynamic lightpath assignment, minimizing the number of transceivers. References [10,11] also assume SONET ring networks, minimizing the relay traffic on logical topologies by ILP formulation. In particular [10] considers the upper and lower bounds of the minimized relay traffic for cost-efficient design. The recent work [17] has presented the improvement of existing heuristic algorithms by the “rollout” technique. We have proposed the logical topology called Hierarchical Chordal Ring Network (HCRN) [14]. HCRN is inspired from the Chordal Ring Network topology (CRN) [18], where each node has only three ports (ADMs and transceivers). HCRN achieves less network diameter and less number of required wavelengths than the original CRN by clustering adjacent nodes and configuring internal / inter-cluster lightpaths. However, in both CRN√ and HCRN, the network diameter and the number of required wavelengths are order of N (N is the number of nodes). Arora et al. have proposed the method to configure a logical topology for WDM ring networks [15]. The topology achieves that the network diameter and the number of required wavelengths are the logarithmic order of N . In the method, the concept of configuring lightpaths is similar to the distributed hash table (DHT) algorithm named “Chord” for peer-to-peer networks [19]. Both methods use lightpaths/connections whose lengths (physical hop-counts) are power of two. However, they may make each node need more ports in the logical topology whereas it uses only three ports in CRN. We note that recent researches have dealt with wavelength assignment for highend, brand-new architectures like WDM networks with wavelength converters [3] and ROADM (Reconfigurable Optical Add-Drop Multiplexer) with modulators [20]. Also some others aim at attaining non-blocking rearrangement [4], achieving fairness in wavelength assignments [12] and so on. Different from those researches, we revisit the important topic; logical path design and routing over WDM networks with limited capabilities of equipments. Even several heuristic solutions have been presented over the last decade, we believe that this problem has not been solved completely and our solution is quite significant for efficient usage of low-cost WDM networks.
3 Target WDM Network Model In this section, we show the architecture of WDM networks to explain the problem dealt with in this paper. An optical network is modeled as a ring graph Gphy = (V, Ephy ) where V = {0, 1, · · · , N − 1} is a set of nodes and Ephy ⊆ V × V is a set of fiber-optic cables called physical links or simply links. Each node is equipped with OADMs (Optical Add-Drop Multiplexers) and for data transmission between two nodes; their transceivers are required to be tuned to a common wavelength in advance. The resulting logical path is called lightpath, and the two nodes are called terminal nodes. Since each lightpath needs a port (transceiver) at its both terminal nodes, the number of input and output ports at each node is greater than
Hierarchical Logical Topology in WDM Ring Networks with Limited ADMs
329
that of lightpaths which are terminated at the node. The number of ports is called degree bound. We show the architecture of WDM nodes in Fig. 1. For a lightpath, each non-terminal node on the lightpath acts as an optical repeater where the optical signal is passed through from an ingress port to the corresponding egress port. Meanwhile, routing is done by the terminal nodes by the conversion between optic signals and electric signals. We assume the same number of ADMs and transceivers for each node – two ADMs and three transceivers for each node in Fig. 1–, and thus the maximum number of wavelengths on each physical link is identical and is denoted by W . We also assume that in the similar reason, the degree bound of all nodes and the capacity of all the lightpaths are identical, and they are denoted by D and C, respectively. λ1
λ1, …, λw λw
Optical AddDrop MUX λ1
Optical AddDrop MUX
λa
λb λc λe
λ1, …, λw λw
Transceiver
λd λf
Transceiver
Electric Router
Transceiver
Fig. 1. Architecture of WDM Node
4 Proposed Hierarchical Network Topology Here, we explain the proposed hierarchical logical topology. We assume a physical ring network G = (V, Ephy ) where V = {0, 1, ..., N − 1} and Ephy = {(l, l ⊕ 1)|l ∈ V } is a set of bi-directional physical links (i ⊕ j ≡ (i + j) mod N ). 4.1 Clustering of Nodes In the given physical ring network, a subsequence of nodes in the node ring is called cluster. First, we start with a whole, single cluster [0, ..., N − 1]. As shown in Fig. 2, for each cluster we establish a lightpath called chord lightpath between the both end nodes of the cluster, and create two same-sized sub-clusters using the nodes in the cluster except the both end nodes. Then we establish a lightpath between an end node of an i-th level cluster and its physically adjacent node, which is an end node of the (i + 1)-th
330
T. Kitani et al.
chord lightpath i -th layer
(i+1)-th layer chord lightpath
Fig. 2. Clustering of nodes 1 1 0 0 0 0 0 0 0 1 0 1 1 01 1 1 01 11 10 00 0 0 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 11 11 01 01 01 01 01 01 01 1 0 00 00 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1
(a) Hierarchical Construction of “Chords”
0 00 000
01 001
0000 0001
1
0011
011
11 010
110
111
10 101
100
1100 1010 0110 1111 1001 0101 1101 1110 1011 1000 0010 0111 0100 Links on the ring
Chord Links
(b) Hierarchical Node Labeling
Fig. 3. Node labeling and routing in a cluster of HLT
level sub-cluster. For each sub-cluster, we repeat the same procedure until the cluster size is less than or equal to four. The consequent hierarchical network topology is called HLT (Hierarchical Logical Topology). As shown in Fig. 3(a), all nodes on this HLT can be clustered hierarchically. Then, for routing purpose, we give node labels according to the policy below (see Fig. 3(b)). For the end nodes in the 1st-level (the highest level) cluster, we assign the node labels 0 and 1 to those nodes. If the end nodes of an i-th level cluster have the node labels X0 and X1, we assign to the end nodes of the (i + 1)-th level clusters the node labels X00, X01, X11 and X10. According to this labeling policy, the nodes in the same level’s clusters have the node labels based on Gray codes where the labels of any two nodes that are directly connected by a lightpath differ in only one digit (Fig. 3). Also if a node p of (i + 1)-th level cluster is connected by a lightpath with a node of i-th level cluster with node label Y , the node label of p is Y 0. These codes are called variable length Gray codes.
Hierarchical Logical Topology in WDM Ring Networks with Limited ADMs
331
In this hierarchical logical topology HLT, the network diameter (the maximum distance (hop count) between two nodes in the network) is O(log N ). One may think that this is similar√with the Chordal ring network topology [18], however its network diameter is O( N ). Thus, the proposed hierarchical topology HLT can attain smaller network diameters than Chordal Ring Network topology in large-scale networks. As shown in Fig. 3, all the chord lightpaths established in the clusters of the same level can use a common wavelength because they never share the physical links. Therefore, as a total, we only need H wavelengths where H is the number of hierarchy levels. Since N ≤ 2H+1 − 2, the number of required wavelengths is obtained as follows; H = log2 (N + 2) − 1 log2 N
(1)
We note that if we use a physical ring network topology, the wavelength for the 1st level can be the same as that used for the second level, and this can save one wavelength. For example, in Fig. 3, the wavelength assigned to the chord lightpath between nodes 0 and 1 can be the same as that used for the two chord lightpaths between 00 and 01 and between 11 and 10 since there is a direct physical link between nodes 0 and 1. As we have seen above, the most significant feature of HLT is that the network diameter and the number of required wavelengths are suppressed to the logarithmic order of N . 4.2 Routing on Proposed Hierarchical Logical Topology Here, we consider a routing on the proposed network topology. For routing on the hierarchical topology HLT, as shown in Fig. 3(b), the proposed variable length Gray codes can be used for deciding the route from a source node to its destination node. If nodes 001 and 1001 are the source node and its destination node respectively, the path 001, 000, 00, 0, 1, 10, 100, 1000, 1001 is one of the shortest routes. Basically, each packet is relayed from the source node to a node on an upper level, and then it is forwarded from the node on the upper level to the destination node. This is the basic routing policy. There is an exception. If nodes 00 and 111 are the source node and its destination node, the path 00, 01, 11, 110, 111 is the shortest route, and the route through 00, 0, 1, 10 becomes longer. The lightpath from 01 to 11 makes the length of the route shorter. For each node S with node label s1 , s2 , · · · , sk , there are four routing actions. U P denotes the action which forwards the received packet to its parent node SUP = s1 , s2 , · · · , sk−1 . U P can be used only for sk = 0. DW denotes the action which forwards the received packet to its child node SDW = s1 , s2 , · · · , sk , 0 (sk+1 = 0). BR denotes the action which forwards the received packet to its sibling node SBR = s1 , s2 , · · · , sk ⊕ 1 through the chord lightpath (or normal lightpath) between s1 , s2 , · · · , sk and s1 , s2 , · · · , sk ⊕ 1. Here, note that x⊕1 = 1 if x = 0, and that x⊕1 = 0 if x = 1. CO denotes the action which forwards the received packet to its cousin node SCO = s1 , s2 , · · · , sk−1 ⊕ 1, sk through the lightpath between s1 , s2 , · · · , sk and s1 , s2 , · · · , sk−1 ⊕ 1, sk . CO can be used only for sk = 1. Hereafter, Forward(S, U P ), Forward(S, DW ), Forward(S, BR) and Forward(S, CO) denote the forwarded nodes SUP , SDW , SBR and SCO , respectively. Let S = (s1 , · · · , si , si+1 , · · · , sk ) and D = (s1 , · · · , si , di+1 , · · · , dh ) denote the variable length Gray codes for nodes S and D. Here, we assume that the first i bits
332
T. Kitani et al.
of the variable length Gray codes of nodes S and D are the same (si+1 = di+1 ). The following algorithm R-HLT(S,D) calculates the routing action of node S (here, “NIL” denotes no action).
[Routing Algorithm R-HLT]: if (S = D) then “NIL” else if ( (k − i > 2) ∨ (h = i) ) then if ( sk = 0 ) then “UP” else “BR” else if ( k − i = 2) then case (sk−1 , sk ) of (0, 0): if ( k > h ) then “UP” else “BR” (0, 1): if ( dk−1 = 0 ) then “BR” else “CO” (1, 0): if ( dk−1 = 0 ) then “CO” else “BR” (1, 1): if ( k > h ) then “UP” else “BR” end else if ( k − i = 1 ) then “BR” else (* k = i *) “DW” If node S is a source node or relay node, the above routing algorithm R-HLT(S,D) can decide the routing action of node S when S must forward its received packets to node D. If the source node S wants to decide the strict routing path and its length from node S to its destination node D, we can calculates them by repeating R-HLT and calculating the path S0 = S, S1 =Forward(S,R-HLT(S, D)), S2 =Forward(S1 ,R-HLT(S1 , D)), · · ·, Sq = D =Forward(Sq−1,R-HLT(Sq−1 , D)) until we find node D as Sq . This path denotes the strict routing path from S to D and its path length is q. This routing can be used when we use source routing.
5 Performance Evaluation and Numerical Results 5.1 Comparative Models Here, we will explain existing logical topologies which can be applied for WDM networks with node degree 3. A Chordal ring network has a ring topology with N nodes (N must be even) whose node IDs are 0 to N − 1. For each node with node ID k, one chord is connected to either √ node k + L or k − L. Here, L denotes a constant number. In Ref. [18], it is shown that if N + 3 ≤ N2 holds, we can maximize its network diameter √ √ when an odd number closest to N + 3 is specified as the constant L. If N + 3 ≤ N2 does not hold, we can assign the maximum odd number which is less than or equal to N 2 as the constant L. In this situation, the network diameter and the number of required wavelengths of CRN are both proportional to the square root of the number N of nodes. On the other hand, as we explained above, the proposed HLT topology only requires the network diameter and the number of required wavelengths which are proportional to the logarithmic order of N . Figure 4 denotes the comparison about the network diameter, the average hop counts and the number of required wavelengths of HLT and CRN
Hierarchical Logical Topology in WDM Ring Networks with Limited ADMs 45
100
40
90
HLT
35
25
p o h
20
70 s h t g 60 n e l e v 50 a w f o 40 #
15
30
10 Network Diameter of HLT Ave. hop count of HLT
5 0
CRN
80
30 t n u o c
333
20
Network Diameter of CRN Ave. hop count of CRN
10
0
0
200
400
600
800
1000 1200 # of nodes
1400
1600
1800
(a) Network diameter and average hop count
2000
0
200
400
600
800
1000
1200
1400
1600
1800
2000
# of nodes
(b) Number of required wavelengths
Fig. 4. Comparison between HLT and CRN
networks. Note that, as shown in Fig. 4(b), CRN needs twice the number of wavelengths in order to construct itself when N cannot be divided by the chord length L. There are also some dynamic topology construction methods. For example, in Ref. [16], HLDA (Heuristic Logical topology Design Algorithm) and TILDA (Traffic Independent Logical topology Design Algorithm) are proposed, and they are often used for performance comparison. In HLDA, in order to minimize the total amount of traffic, nodes with heavy traffic are given priority to use usable optical wavelengths. In HLDA, the following algorithm is used. Algorithm HLDA Step.0 An optical link is given between every physically adjacent nodes so that all nodes can communicate each other. Step.1 Estimate the traffic amount Pij for every link (i, j). Step.2 Find link (i, j) whose Pij is maximum. If there is an usable wavelength on the link (i, j), we assign one wavelength to link (i, j). Then, we set Pij to 0. Step.3 If all Pij are 0, go to Step.4. Otherwise, return to Step.2. Step.4 If we still have usable wavelengths, we assign those wavelengths to possible links randomly. We repeat this process until we cannot assign new wavelengths. On the other hand, TILDA does not consider traffic amounts, and gives priority for assigning usable wavelengths to physically closer links. In TILDA, the following algorithm is used. Algorithm TILDA Step.0 An optical link is given between every physically adjacent nodes so that all nodes can communicate each other. Step.1 Set i = 2. Step.2 If a node has usable ADMs and if there is a usable wavelength on the path from the node to another node with i hop distance, we assign one wavelength to all links on the path. If there is no such a path for two nodes with i hop distance, we set i = i + 1 and repeat the same process.
334
T. Kitani et al.
5.2 Performance Evaluation We have evaluated the performance of the proposed HLT, HLDA and TILDA by simulation. Here, we have used three types of traffic matrices: random model, server-client model and small-world model. In our analyses, we have changed the number N of nodes from 50 to 1, 000 in units of 50 nodes, and tried three numerical analyses for the above three types of traffic matrices, respectively. Here, we assume that HLDA can also use the same number of wavelengths as much as that used in the proposed method. The uniform random numbers between 0 and 1 are given as the traffic matrix of the random model. In the server-client model, 5% of nodes are selected as servers, and we have sent 10 times of traffic to those server nodes. In the small-world model, first we construct a traffic matrix based on the server-client model, and then we make traffic among neighboring nodes increase 10 times [21]. We also make the traffic between two nodes decrease in proportion to the distance between two nodes. For the given traffic matrices, we have evaluated the network diameters, the average number of hops, and overall traffic volume. The traffic volume, denoted by Q hereafter, is defined as follows; Q= T uv · huv (2) u
v
where huv and T uv denote the number of lightpaths and traffic on the route from u to v, respectively. We show our numerical results for the above three models in Fig. 5. Figure 5(a)–(c) denotes the network diameters and average numbers of hop counts. Figure 5(d) denotes the overall traffic volumes Q where all the traffic volumes are normalized so that the traffic volume of HLDA is represented as 1. For all the traffic models, if the number of nodes exceeds 100, the proposed logical topology HLT is better than other topologies. The reason is that if the number of nodes is small, relatively we can use more wavelengths. On the other hand, if the number of nodes becomes large, relatively we can use less wavelengths. If HLDA can assign enough number of logical links between nodes with heavy traffic, we can assign enough number of logical links. However, if the number of nodes becomes large, we might not be able to assign enough number of logical links for such purposes. For the network diameters, in the proposed hierarchical topology HLT, the network diameters are stable independently of traffic fluctuation and deviation. On the other hand, HLDA gives priority to assigns logical links for node pairs with heavy traffic. This makes the hop counts for node pairs with light traffic increase. The traffic fluctuation and deviation also make big influence to the network diameters. Next, we focus on the average hop counts and total traffic volumes for the random model and server-client model. In HLDA, the average hop counts are small for the random model since optical fiber links are assigned uniformly. In the server-client model, the total traffic volumes relatively become small since HLDA gives priority to assign logical links for node pairs with heavy traffic. Since the proposed topology is regular, it offers almost fixed performance independently of traffic models and volumes. It can also guarantee the upper limit of the network diameters theoretically. In general, the random model and server-client model have similar tendency for the average hop counts.
Hierarchical Logical Topology in WDM Ring Networks with Limited ADMs
335
(a) Net. dia. and ave. hop counts on Random (b) Net. dia. and ave. hop counts on Servermodel Client model
(c) Net. dia. and ave. hop counts “Small-world” (d) Ratio of network traffic amounts in HLT, model HLDA and TILDA (HLT = 1) Fig. 5. Network diameter, average hop counts and traffic amounts in HLT, HLDA and TILDA
Lastly, we focus on the average hop counts and total traffic volumes for the smallworld model. HLDA assigns many optical links for neighboring node pairs since we assume relatively heavy traffic to neighboring node pairs. Then, it becomes difficult to assign optical links for node pairs with long distances. On the other hand, the proposed topology can assign hierarchical chords for node pairs with long distances while neighboring node pair can communicate with each other using the links on the original ring topology. From the above reason, our proposed topology HLT and HLDA have rather different tendency. In Fig. 5(d), if the number of nodes is more than 400, the total traffic volumes of the proposed topology HLT is less than 60% of those for HLDA. We can observe that our topology could save the usage of wavelengths because it could uniformly distribute lightpaths over physical links. As shown in Fig. 5(d), for a logical topology with 1,000 nodes, an HLT topology only requires 16 wavelengths. Meanwhile, in HLDA and TILDA, it is likely to occur that some lightpaths are established over some specific physical links first due to degree limitations. In that case no more lightpaths were accepted over the link if no more wavelength is available, and the other lightpaths are needed to detour the link. Thus consequent topologies may have long routes that require many hops and make the diameters larger.
336
T. Kitani et al.
6 Conclusion In this paper, we propose a design method of hierarchical logical topology in multi-hop WDM networks. Our logical topology can be built over WDM networks with limited ADMs. The method can be applied for both ring-type and mesh-type WDM networks. The proposed logical topology has features that both the maximum distance between two nodes and the required number of wavelengths on each physical optical link are proportional to the logarithmic order of the number N of nodes. From theoretical and numerical points of views, we have compared the proposed logical topology with general Chordal ring network topology and HLDA (Heuristic Logical topology Design Algorithm) based network topology. The proposed logical topology has smaller average hop number, network diameter and total traffic amount. If the number N of nodes on a given WDM network becomes large, our logical topology becomes more efficient. It is shown that the proposed logical topology has enough scalability for large scale WDM networks. We have also shown that the network performance can be further improved by combining HLDA over our logical topology. To investigate detailed network performance on real WDM networks is one of our future work.
References 1. Dutta, R., Rouskas, G.N.: A survey of virtual topology design algorithms for wavelength routed optical networks. Optical Network Magazine 1, 73–89 (2000) 2. Zang, H., Jue, J.P., Mukherjee, B.: A Review of Routing and Wavelength Assignment Approaches for Wavelength-Routed Optical WDM Networks. Optical Networks Magazine 1(1), 47–60 (2000) 3. Chen, L.-W., Modiano, E.: Efficient Routing and Wavelength Assignment for Reconfigurable WDM Ring Networks With Wavelength Converters. IEEE/ACM Trans. on Networking 13(1), 173–186 (2005) 4. Saengudomlert, P., Modiano, E.H., Gallager, R.G.: Dynamic Wavelength Assignment for WDM All-Optical Tree Networks. IEEE/ACM Trans. on Networking 13(4), 895–905 (2005) 5. Gerstel, O., Ramswami, R., Sasaki, G.H.: Cost-Effective Traffic Grooming in WDM Rings. IEEE/ACM Trans. on Networking 8(5), 618–630 (2000) 6. Billah, A.R.B., Wang, B., Awwal, A.A.S.: Effective Traffic Grooming in WDM Rings. In: Proc. of the 45th IEEE Global Telecomm. Conf(GLOBECOM 2005), vol. 3, pp. 2726–2730 (2002) 7. Janardhanan, S., Mahanti, A., Saha, D., Sadhukhan, S.K.: A Routing and Wavelength Assignment (RWA) Technique to Minimize the Number of SONET ADMs in WDM Rings. In: Proc. of the 39th Annual Hawaii Int’l Conf. on Sys. Sci (HICSS 2006), vol. 2 (2006) 8. Liu, C., Ruan, L.: Logical Topology Augmentation for Survivable Mapping in IP-over-WDM Networks. In: Proc. of the 48th IEEE Global Telecomm. Conf(GLOBECOM 2005), vol. 4 (2005) 9. Xin, C., Wang, B., Cao, X., Li, J.: A Heuristic Logical Topology Design Algorithm for MultiHop Dynamic Traffic Grooming in WDM Optical Networks. In: Proc. of the 48th IEEE Global Telecomm. Conf(GLOBECOM 2005), vol. 4 (2005) 10. Lee, K., Siu, K.-Y.: On the Reconfigurability of Single-Hub WDM Ring Networks. IEEE/ACM Trans. on Networking 11(2), 273–284 (2003)
Hierarchical Logical Topology in WDM Ring Networks with Limited ADMs
337
11. Dutta, R., Rouskas, G.N.: On Optimal Traffic Grooming in WDM Rings. IEEE J. on Select. Areas in Commun. 20(1), 110–121 (2002) 12. Mosharaf, K., Lambadaris, I., Talim, J., Shokrani, A.: Fairness Control in WavelengthRouted WDM Ring Networks. In: Proc. of the 48th IEEE Global Telecomm. Conf(GLOBECOM 2005), vol. 4 (2005) 13. Schein, B., Modiano, E.: Quantifying the Benefit of Configurability in Circuit-Switched WDM Ring Networks with Limited Ports per Node. J. of Lightwave Tech. 19(6), 821–829 (2001) 14. Kitani, T., Funabiki, N., Higashino, T.: Proposal of Hierarchical Chordal Ring Network Topology for WDM Networks. In: Proc. of the IEEE Int’l Conf. on Networks 2004 (ICON 2004), pp. 605–609 (2004) 15. Arora, A.S., Subramaniam, S., Choi, H.-A.: Logical Topology Design for Linear and Ring Optical Networks. IEEE J. on Select. Areas in Commun. 20(1), 62–74 (2002) 16. Ramaswami, R., Sivarajan, K.N.: Design of logical topologies for wavelength-routed alloptical networks. In: Proc. of the 14th IEEE Int’l Conf. on Comp. Comm (INFOCOM 1995), pp. 1316–1325 (1995) 17. Lee, K., Shayman, M.A.: Rollout Algorithms for Logical Topology Design and Traffic Grooming in Multihop WDM Networks. In: Proc. of the 48th IEEE Global Telecomm. Conf(GLOBECOM 2005), vol. 4 (2005) 18. Arden, B.W., Lee, H.: Analysis of Chordal Ring Network. IEEE Trans. on Comp. C-30(4), 291–295 (1981) 19. Stoica, I., Morris, R., Liben-Nowell, D., Karger, D.R., Kaashoek, M.F., Dabek, F., Balakrishnan, H.: Chord: a scalable peer-to-peer lookup protocol for Internet applications. IEEE/ACM Trans. on Networking 11(1), 17–32 (2003) 20. Turkcu, O., Subramaniam, S.: Blocking in Reconfigurable Optical Networks. In: Proc. of the 26th IEEE Int’l Conf. on Comp. Comm (INFOCOM 2007), pp. 188–196 (2007) 21. Watts, D.J., Strogatz, S.H.: Collective dynamics of ‘small world’ networks. Nature 393, 440– 442 (1998)
A Novel Class-Based Protection Algorithm Providing Fast Service Recovery in IP/WDM Networks∗ Wojciech Molisz and Jacek Rak Gdansk University of Technology, G. Narutowicza 11/12, Pl-80-952 Gdansk, Poland {womol,jrak}@eti.pg.gda.pl
Abstract. In this paper we consider a multilayer architecture: IP-MPLS over optical transport networks (OTNs). Nodes have integrated functionality of optical cross connects (OXCs) in the optical layer and of IP routers in the IP layer. Any two IP routers can be connected together by an all-optical wavelength-division multiplexing (WDM) channel, called a lightpath. Wavelength converters may be installed in each node. We propose a class-based method providing fast service restoration and reducing the number of service recovery actions in the IP layer. We focus on service restoration time values and we show, that it is possible to decrease them, by reducing the size of active path protected area. This may be achieved for the price of link capacity utilization degradation. Keywords: IP /WDM network survivability, multilayer routing, fast, service recovery.
1 Introduction We consider a multilayer architecture: IP-MPLS over optical transport networks (OTNs), the main architecture of the next generation networks [3]. The OTN nodes have functionality of both optical cross connects (OXCs) in the optical layer and of IP routers in the IP layer. Any two IP routers can be connected together by an all-optical wavelength-division multiplexing (WDM) channel, called a lightpath. A lightpath may use several wavelengths if wavelength converters are installed in nodes. A fundamental characteristic of survivable network systems is their capability to deliver essential services in the face of failure, or attack. There are two approaches for providing survivability of IP-over-WDM networks: protection and restoration [11]. Protection uses pre–computed backup paths applied in the case of a failure. Restoration finds dynamically a new path, once a failure has occurred. In both cases we distinguish either path protection/restoration, or link protection/restoration against a single link or node failure. Several intermediate solutions can be applied between the mentioned extremes, like area protection [7], or partial path protection [13]. ∗
This work was partially supported by the Ministry of Science and Higher Education, Poland, under grants 3 T11D 001 30 and N517 022 32/3969.
A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 338–345, 2008. © IFIP International Federation for Information Processing 2008
A Novel Class-Based Protection Algorithm Providing Fast Service Recovery
339
1.1 Related Works Recently several papers have appeared on survivability of IP-over-WDM networks. Colle et al. [3] gave an excellent survey of multilayer survivability concepts in the context of next generation networks. Sahasrabuddhe, Ramamurthy and Mukherjee [11], assumming that each backup path in the WDM layer is arc-disjoint with the respective primary path, analysed protection in the WDM layer, and restoration in the IP layer. They proposed four integer linear programming (ILP) models and heuristics to find solutions. Pickavet et al. [8] discussed three approaches to interworking between layers and two efficient coordinated multilayer recovery techniques. Sasaki and Su [12] proposed models to evaluate the cost of survivable IP-over-WDM networks. Provisioning of survivability at the optical layer provides fast service recovery and is thus inherently attractive, but its major drawback is that it cannot recover from failures that occur at the IP-MPLS layer. The IP layer itself reacts very slowly to failures. Qin, Mason and Jia [9], Lei, Liu and Ji [5], and Ratnam, Zhou and Gurusamy [10] addressed the problem of efficient multilayer operational strategies for survivable IP-over-WDM networks and proposed several joint multiple layer restoration schemes with intralayer and interlayer signaling and backup resource sharing. Zhao et al. [16] proposed a similar strategy for IP/GMPLS/OTN networks. Bigos et al. [2], and Liu, Tipper and Vajanapoom [6] described various methods for spare capacity allocation (SCA) to reroute disrupted traffic in MPLS-over-OTN. Doucette, Grover and Giese [4] used the spare capacity of span-protecting p-cycles to provide protection against both optical link and node failures in the IP-MPLS layer. 1.2 Outline We consider here a survivable IP-MPLS-over-OTN-WDM network protected against a single node failure. Demands for IP flows are given. We assume M service classes, numbered from 0 to M-1. Class 0 represents the demands for which all the service recovery actions must be performed as fast as possible (i.e. at the WDM layer). For other (lower priority) classes, the IP restoration times may increase. In the first stage of our algorithm, for each service class we find a node-disjoint working and a backup label switched (LSP) paths. Then we group the IP demands into service classes on IP links. In the next stage we map each class onto protected lightpaths according to available capacities of optical links. The scope of WDM protection depends on service class. For the highest class 0, each two adjacent WDM links of the LSP are protected by a backup lightpath. In contrast, for the lowest class (M-1), there is no backup lightpath and all the recovery actions must be performed at the IP layer. We assume a bottom-up restoration strategy. If an active lightpath consists of more than one link, then a failure of the lightpath transit node can be restored in the optical layer. Connections which cannot be restored in the WDM layer, should be restored in the IP layer. Since all the flow optimization models (in the IP as well as in the WDM layer) are NP-complete, we propose the novel heuristic approach. The rest of the paper is organized as follows. The survivable routing and wavelength assignment optimization problems are sketched in Section 2. Heuristic algorithms are developed to solve the problems. Modeling assumptions are described in Section 3. Results discussed in Section 4 show, that it is possible to decrease service restoration duration by reducing the size of active path protected area.
340
W. Molisz and J. Rak
2 IP-MPLS Survivable Routing of Working/Backup LSPs The survivable IP-over-WDM routing problem, is divided into two following subproblems: a) survivable IP-MPLS routing consisting of determining the IP virtual topology and finding the survivable routing of IP layer demands, b) survivable WDM routing (lightpath routing and wavelength assignment). In a subproblem (a) is to find the survivable LSPs, where each working LSP is protected by the end-to-end backup LSP being node-disjoint with the working one. The number of active LSP links depends on the service class m and is determined as: ⎡ l −1 ⎤ rm = ⎢ c × m + 1⎥ ⎢ M −1 ⎥
where:
(1)
lc is the number of links of the end-to-end shortest path between the given pair of source s and destination d nodes in the WDM layer, m is the class of a demand, M is the number of service classes.
It is clear from the formula (1), that a working LSP for the class 0 is established by a direct IP layer link. This implies in turn that no IP layer recovery actions will take place. On the contrary, for the class M-1 each working LSP link will be mapped onto a single-link WDM lightpath, implying frequent recovery actions at IP layer. Fast service recovery at WDM layer is achieved here by limiting the backup lightpath protection scope. For that purpose we determine the number of backup lightpaths protecting the given working lightpath as: ⎡ l −1 ⎤ bm = ⎢− c × m + lc − 1⎥ M − 1 ⎢ ⎥
(2)
where all the symbols have the same meaning as in (1). From the formula (2), one can observe that bm decreases linearly with the increase of service class number m. In particular it means that any backup lightpath for the class 0 protects two adjacent links of the working lightpath, while for class M-1 there is no backup lightpath for a given working lightpath and all the recovery actions must be performed in the IP layer. However, due to the limitations on the number of working LSP links in the IP layer given in Eq. 1 (implying the decrease of the length of the working lightpath with the increase of service class number), the real scopes of WDM protection (measured in kilometers of fibers) remain at the same small level, independent of service class number (except for class M-1). This in turn provides fast service recovery in the WDM layer independent of the service class number. The proposed approach is characterized by better performance, compared to the approach of solving all the four subproblems separately, since it divides the original problem of integrated IP/WDM routing into two separate subproblems only. Finding the solution to subproblem (a) is followed here by solving the subproblem (b), but the tasks within subproblems (a) and (b) are performed in the integrated manner. Example IP/WDM routing for demands of boundary classes 0 and M-1 is given in Figs. 1÷2.
A Novel Class-Based Protection Algorithm Providing Fast Service Recovery
R2 R2 R1
R6
IP layer
R4
R6
IP layer
R4
R3
R1
R3
341
R5
R5
O2 O2
O3
O1 O4
O4
O6
WDM layer
O3
O1
O6
WDM layer O5
O5
backup LSP backup lightpaths for working LSP backup lightpath for backup LSP
\
working LSP working lightpath for working LSP
Fig. 1. Example IP/WDM routing of survivable connection of the class m = 0
Fig. 2. Example IP/WDM routing of survivable connection of the class m = M-1
In the proposed algorithm, given in Fig. 3, the following notation is used: s - source node of a demand d - destination node of a demand m - class of a demand Πsd - the demanded capacity ξij - the cost of the IP link lij defined as the length of the respective end-to-end lightpath in the WDM layer between nodes i and j INPUT
Network topology; A set of demands, each demand given by a quadruple [s, d, Πsd, m].
OUTPUT Survivable multilayer routing of demands from A. Step 1. Find the working and backup LSPs using the WDM topology with the link costs ξij set to link lengths or to infinity in case of insufficient spare capacity. Step 2. Divide the working LSPs into rm regions, as given in Eq. 1 and replace each working LSP region with a direct IP link. Regardless of the service class m, provide each link of the found backup LSP with the one-hop lightpath. Step 3. Find the lightpaths carrying the IP working flows, using the standard distance metrics treating the aggregated flows belonging to the same class m between the given pair of IP layer nodes, found in Step 2, as the demands for the WDM layer. Step 4. Divide each working lightpath into bm regions, as given in Eq. 2, and provide each region of WDM lightpath with the dedicated backup lightpath. Step 5. Provide each aggregated IP backup flow with the unprotected WDM lightpath.
Fig. 3. The proposed algorithm
Steps 1÷2 are responsible for determining the survivable IP-layer routing while steps 3÷5 are used to find the surivivable routing in the WDM layer. Since each of the subproblems considered here is NP-complete, we have used only the heuristic approach in computations. Due to limitations on the size of this paper, we have put the respective ILP formulations of the above problem at the Web page: http://www.pg.gda.pl/~jrak/Networking2008_ILP.pdf.
342
W. Molisz and J. Rak
3 Modeling Assumptions The modeling was performed for the U.S. Long-Distance Network [15], and European COST 239 Network [14], shown in Figs. 4÷5. The simulations were to measure the link capacity utilization ratio, the number of broken connections restored at the IP and WDM layers and the values of connection restoration time. Time of service restoration in WDM layer comprised: time to detect a failure, link propagation delay, time to configure backup lightpath transit nodes and message processing delay at network nodes (including queuing delay). All the WDM layer links were assumed to have 32 channels. Channel capacity unit was considered to be the same for all the network links. Optical nodes were assumed to have a full wavelength conversion capability. When measuring the IP layer service restoration time, we assumed the IP link propagation delay to be equal to the aggregate delay of the respective WDM lightpath realizing this IP link. The time of message processing delay at the IP layer label-switch routers was assumed to be equal to 30 ms. For each IP layer connection, the following properties were assumed: − demands from M = 5 service classes with protection against a single node failure, − the demanded capacity equal to 1/32 of the WDM link channel capacity, − provisioning 100% of the requested bandwidth after a network element failure, − a demand to assure unsplittable flows in both IP and WDM layer, − the distance metrics and Bhandari’s algorithm [1] of finding k-node disjoint paths (here k = 2) in all path computations, except for the unprotected lightpaths for the backup LSP links, found by the Dijsktra’s shortest path algorithm, − the three-way handshake protocol of service restoration in WDM layer (the exchange of LINK FAIL, SETUP and CONFIRM messages). The algorithm of a single modeling scenario is shown in Fig. 6.
Fig. 4. U.S. Long-Distance Network (28 nodes, 45 bidirectional links)
Fig. 5. European COST 239 Network (19 nodes, 37 bidirectional links)
Repeat r* times the following steps: Step 1. Randomly choose 30 pairs (s, d) of nodes (6 demands for each service class). Step 2. Try to establish the survivable connections using the proposed algorithm. Step 3. Store the ratio of link capacity utilization and the lengths of the backup paths. Step 4. t* times simulate random failures of single nodes. For each failure state restore connections that were broken and store the connection restoration time values. *
in each scenario, r = 100 and t = 100 were assumed
Fig. 6. Research plan
A Novel Class-Based Protection Algorithm Providing Fast Service Recovery
343
4 Modeling Results 4.1 Average Link Capacity Utilization Ratio Table 1 shows the average ratios of link capacity utilization achieved during simulation. The amount of capacity needed for backup lightpath purposes turned out to be about two times higher, compared with the amount of capacity needed for active lightpaths. This was due to the fact that additional unprotected lightpaths were needed for backup LSPs to provide protection against the IP layer transit router failures. Table. 1. Average ratios of link capacity utilization Network U. S. Long-Distance COST 239
active lightpath capacity 3,43% 3,15%
backup lightpath capacity 8,60% 7,08%
total used capacity 12,03% 10,22%
4.2 Average Lengths and Numbers of Links of Connection Paths
4000
Average number of LSP links
Average length of LSPs [km]
Fig. 7 shows the average lengths of IP layer active and backup paths as the function of the service class number, while Fig. 8 gives the respective numbers of IP layer path links. Independent of the service class, the lengths of IP layer active and backup paths remain at the same level, implying similar network resource utilization for all the network classes. The average number of IP layer active path links decreases with the decrease of the service class number (Fig. 8). As a result, time-consuming IP layer recovery actions are less frequent for more important service classes. The average number of IP layer backup path links remains at the same level, independent of the service class, because each IP layer backup path link is established as the one-hop lightpath.
2000
0 0
1 2 3 4 Service Class Number active LSPs (US) backup LSPs (US) active LSPs (COST) backup LSPs (COST)
6 4 2 0 0 1 2 3 4 Service Class Number active LSPs (US) backup LSPs (US) active LSPs (COST) backup LSPs (COST)
\
Fig. 7. Average length of paths in the IP layer
Fig. 8. Average number of LSP links
Fig. 9 shows the average lengths of WDM layer lightpaths as the function of the service class number, while Fig. 10 gives the respective numbers of WDM layer path links. The average length of backup lightpaths remains at the same level, independent of the service class number. However, the average length of active lightpaths decreases with the increase of service class number. This is due to the fact that with the increase of the service class number, the number of IP layer active LSP links increases, and each active LSP link is realized by a shorter WDM lightpath.
W. Molisz and J. Rak 4000
Average number of lightpath llinks
Average length of WDM lightpaths [km]
344
2000
0
6 4 2 0
0
1 2 3 4 Service Class Number active lightpaths (US) backup lightpaths (US) active lightpaths (COST) backup lightpaths (COST)
0 1 2 3 4 Service Class Number active lightpaths (US) backup lightpaths (US) active lightpaths (COST) backup lightpaths (COST)
\
Fig. 9. Average length of WDM lightpaths
Fig. 10. Average number of lightpath links
4.3 Service Recovery Actions
6000 4000 2000 0 0
1 2 3 4 Service Class Number WDM layer (US) IP layer (US) WDM layer (COST) IP layer (COST)
Average values of service restoration time [ms]
Toral numbers of restored connections
Fig. 11 shows the aggregate numbers of recovery actions for both IP and WDM layer measured in a single scenario. It shows that with the increase of the service class number, the number of recovery actions in IP layer increases, while the number of recovery actions at WDM layer decreases. For the class 0 it implies that WDM layer recovery actions are sufficient to handle all the failure cases and, as a result, provide fast service recovery as given in Fig. 12. For the other service classes, due to the existence of IP layer active path transit nodes, the more IP layer transit nodes the IP active LSP traverses, the higher frequency of IP layer service recovery actions occurs. The average values of service recovery times in WDM layer remain at the same low level, characteristic to link protection scheme. This is true independent of the service class number, since similar scopes of protection are achieved for all service classes, due to the linear decrease of the number of backup lightpaths that protect a given WDM active lightpath when increasing the service class number, as given in Eq. 2 (i.e. when decreasing the length of WDM active lightpath). 240 180 120 60 0 0 1 2 3 4 Service Class Number WDM layer (US) IP layer (US) WDM layer (COST) IP layer (COST)
\
Fig. 11. Total number of restored connections
Fig. 12. Average service recovery time values
Aggregate values of service restoration time [ms]
Fig. 13 shows the aggregate service 1200000 recovery time values as a function of the 800000 service class. Each aggregate value was 400000 calculated as the sum of all the values of 0 connection restoration time measured in 0 1 2 3 4 Service Class Number a single simulation scenario. These US Long-Distance Network COST 239 Network results give another proof of the efficiency of our approach. For the U.S. Fig. 13. Aggregate values of service restoration Long-Distance Network the ratio time between classes 0 and 4 is of order 1:6, while for the European COST 239 Network - about 1:6.6. Aggregate restoration times for the highest (0) class are always the shortest ones.
A Novel Class-Based Protection Algorithm Providing Fast Service Recovery
345
5 Conclusions In this paper we considered the multilayer architecture of the Next Generation Networks: IP-MPLS over OTN-WDM. We assumed nodes having the integrated functionality of optical cross connects (OXCs) and of IP routers in the IP layer. We proposed a class-based method providing fast service restoration and reducing the number of service recovery actions in the IP layer. We focused on service restoration time values and we showed, that it is possible to decrease them, by reducing the size of active path protected area. To prove our thesis, we modeled two typical networks: the U.S. Long-Distance Network and the European COST 239 Network and have calculated: the link capacity utilization ratio, average lengths and numbers of links of the connection paths and the values of service restoration time. To the best of our knowledge, all results are original ones and published for the first time.
References 1. Bhandari, R.: Survivable networks: Algorithms of diverse routing. Kluwer Academic Publishers, Boston (1999) 2. Bigos, W., et al.: Survivable MPLS over Optical Transport Networks: Cost and Resource Usage Analysis. IEEE J. Select. Areas Commun. 25(5), 949–962 (2007) 3. Colle, D., et al.: Data-Centric Optical Networks and Their Survivability. IEEE J. Select. Areas Commun. 20(1), 6–21 (2002) 4. Doucette, J., Grover, W.D., Giese, P.A.: Physical-Layer p-Cycles Adapted for Router Level Node Protection: A Multi-Layer Design and Operation Strategy. IEEE J. Select. Areas Commun. 25(5), 963–973 (2007) 5. Lei, L., Liu, A., Ji, Y.: A joint resilience scheme with interlayer backup resource sharing in IP over WDM networks. IEEE Communications Magazine 42, 78–84 (2004) 6. Liu, Y., Tipper, D., Vajanapoom, K.: Spare Capacity Allocation in Two-Layer Networks. IEEE J. Select. Areas Commun. 25(5), 974–986 (2007) 7. Molisz, W., Rak, J.: Region Protection/Restoration Scheme in Survivable Networks. In: Gorodetsky, V., Kotenko, I., Skormin, V.A. (eds.) MMM-ACNS 2005. LNCS, vol. 3685, pp. 442–447. Springer, Heidelberg (2005) 8. Pickavet, M., et al.: Recovery in Multilayer Optical Networks. IEEE J. of Lightwave Technology 24(1), 122–133 (2006) 9. Qin, Y., Mason, L., Jia, K.: Study on a joint multiple layer restoration scheme for IP overWDM networks. IEEE Network 17(2), 43–48 (2003) 10. Ratnam, K., et al.: Efficient Multi-Layer Operational Strategies for Survivable IP-overWDM Networks. IEEE J. Select. Areas Commun. 24(8), 16–31 (2006) 11. Sahasrabuddhe, L., et al.: Fault management in IP Over WDM Networks: WDM Protection vs. IP Restoration. IEEE J. Select. Areas Commun. 20(1), 21–33 (2002) 12. Sasaki, G.H., Su, C.-F.: The Interface between IP and WDM and Its Effect on the Cost of Survivability. IEEE Communications Magazine 41, 74–79 (2003) 13. Wang, H., Modiano, E., Médard, M.: Partial Path Protection for WDM Networks: End-toEnd Recovery Using Local Failure Information. In: Proc. ISCC 2002, vol. 725, pp. 719– 725 (2002) 14. Wauters, N., Demeester, P.: Design of the optical path layer in multiwavelength cross connected networks. IEEE J. Select. Areas Comn. 1(5), 881–892 (1996) 15. Xiong, Y., Mason, L.G.: Restoration strategies and spare capacity requirements in self healing ATM networks. IEEE/ACM Trans. on Netw. 7(1), 98–110 (1999) 16. Zhao, J., et al.: Integrated multilayer survivability strategy with inter-layer signaling. In: Proc. of Int. Conf. on Communication Technology, ICCT 2003, vol. 1, pp. 612–616 (2003)
End-to-End Proportional Loss Differentiation in OBS Networks Miguel A. González-Ortega, José C. López-Ardao, Pablo Argibay-Losada, Andrés Suárez-González, Cándido López-García, Manuel Fernández-Veiga, and Raúl F. Rodríguez-Rubio Departmento Enxeñería Telemática, University of Vigo (Spain) [email protected]
Abstract. Proportional loss differentiation in OBS networks has recently received much attention since it allows to provide a quantitative differentiation between classes, so facilitating network operations and pricing to providers, but without the complexity involved by the absolute loss differentiation. Although edge-to-edge differentiation must be the ultimate aim, most of the methods in the literature are per-hop-based, and it is well-known that guaranteeing per-hop proportional loss does not guarantee end-toend proportional loss. In this paper we modestly try to fill the gap which exists in this field, and so, we propose and analyze a new method to obtain edgeto-edge proportional loss differentiation for WDM-based OBS networks. This method is based on the idea of trunk and wavelength reservation, already used in circuit switched networks and deflection routing in OBS networks. Through extensive simulation experiments and analysis, we compare the performance of our mechanism to another mechanism proposed in the literature, based on using additional offset.
1
Introduction
The rapid advances in optical transmission technology have led to a wide deployment of WDM-based networks. In order to efficiently use the bandwidth in the optical domain, Optical Burst Switching (OBS) is considered as the most promising switching technology [1]. At the edge of OBS networks, incoming packets with the same destination and characteristics (class, quality of service, etc.) are assembled into big data packets, or data bursts. Before sending each burst, a control packet (Burst Header Packet – BHP) is sent over a signalling channel, and electronically processed in each intermediate node in order to reserve the necessary resources inside the core nodes. After an enough delay, the burst is sent, traversing the all-optical
This work was supported by the “Ministerio de Educación y Ciencia” through the project TSI2006-12507-C03-02 of the “Plan Nacional de I+D +I” (partially financed with FEDER funds) and through the grant BES-2007-15562.
A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 346–357, 2008. c IFIP International Federation for Information Processing 2008
End-to-End Proportional Loss Differentiation in OBS Networks
347
path set by the prior reservation. However, given that the control packets are not acknowledged, a burst may be discarded owing to contention with other bursts at the bufferless optical switches. Quality of Service (QoS) differentiation is still an open research issue in OBS networks. Since transfer delay in OBS is primarily determined by propagation delay, and bandwidth is implicitly provided by supporting loss guarantee, the focus of QoS support in OBS networks is to provide loss differentiation. Different loss differentiation methods have been proposed in the literature. According to these, differentiation can be absolute or relative. Absolute methods allow to guarantee quantitative requirements (like an upper bound on loss probability for each class) but they need efficient admission control and resource provisioning mechanisms. On the other hand, in the relative methods the QoS of one class is defined relatively in comparison to other classes, providing differentiation only in a qualitative manner. Instead, they are quite simpler and cheaper. If we analyze the methods proposed for loss differentiation (both absolute and relative) in the literature, we can see that they essentially use a few basic differentiation mechanisms, each one with its advantages and drawbacks: additional offset for the priority bursts ([2], [3]), intentional dropping of the less priority bursts ([4], [5], [6]), priority-based preemption ([7]), segmentation ([8], [9]), classbased bandwidth assignment ([5], [6]), or reordering of burst scheduling at the core nodes (see, for example, [10]). An special case of relative methods that have recently received much attention are those based on proportional QoS (see, for example, [4], [9] or [3]), since they allow to provide a quantitative differentiation between classes, so facilitating network operations and pricing to providers. The cost of achieving this quantitative differentiation, and not only qualitative, is a slightly higher complexity. Although the use of absolute or proportional QoS is usually a compromise between the level of the QoS guarantees and the complexity (or cost), it seems obvious that edge-to-edge differentiation must be the ultimate aim. However, this aim is very difficult to achieve, and so, most of the above methods are perhop-based. But, it is well-known that guaranteeing per-hop proportional loss does not guarantee end-to-end proportional loss [11]. Some works ([5]), however, go beyond trying to get close to a target end-to-end QoS using per-hop-based differentiation. To the best of our knowledge, only the recent work in [3] proposes a edge-toedge proportional loss differentiation mechanism, referred to as FOTS (Feedbackbased Offset Time Selection). This mechanism is based on the use of an additional offset, beyond the needed time for burst scheduling, that will be adaptively selected according to end-to-end measurements of the Burst Loss Probability (BLP, from now on) for each flow. Nevertheless, as all the additional offset based mechanisms for loss differentiation, FOTS only works when JET (Just Enough Time) [1] is used as resource reservation mechanism, but not with JIT (Just In Time) [12], also widely used in the literature.
348
M.A. González-Ortega et al.
In this paper we modestly try to fill the gap which exists in this field, and so, we propose a new edge-to-edge proportional loss differentiation mechanism for WDM-based OBS networks. Our mechanism is based on a new basic differentiation mechanism, although it is inspired by the idea of trunk reservation in circuit switched networks [13] and wavelength reservation for deflection routing in OBS networks [14]. We will refer to our mechanism as ADEWAR (ADaptive End-to-end WAvelength Reservation). We must note that ADEWAR works with both JET and JIT reservation mechanisms. Moreover, ADEWAR enjoys an interesting advantage since the Poisson traffic assumption allows us to calculate an analytical solution, based on the Erlang loss formula. In any case, we have also used other more complex traffic models for, through extensive simulation experiments, studying ADEWAR and comparing it to FOTS when JET is used. End-to-end proportional loss differentiation is achieved in both cases, but some differences in performance were found. The rest of the paper is organized as follows. Section 2 describes our mechanism ADEWAR. In Section 3 we show the simulation results and compare it to FOTS. The conclusions drawn are summarized in Section 4.
2
The ADEWAR Mechanism
In ADEWAR we use the same idea of trunk reservation in circuit switched networks [13] and wavelength reservation for deflection routing in OBS networks [14], but now we apply this idea for loss differentiation in OBS. So, we reserve a number of wavelengths on each link for the exclusive use of certain top-priority classes. That is, a burst of the Class of Service (CoS) i will be scheduled for a link if the number of free wavelengths in this link is higher than N − Ki , and dropped otherwise. N is the total number of wavelengths in that link. In this paper we will refer to a flow as the burst traffic between a node-pair belonging to the same CoS. So, let QiX−Y be the QoS parameter for the flow corresponding to the CoS i between the node pair X-Y . Its value, ranging from 0 to 1, is directly proportional to the number of allowed wavelengths to be used i by the flow, that is, KX−Y = N · QiX−Y . 1 If Q=1 for the highest priority CoS, KX−Y = N , that is, top-priority bursts will be always scheduled if there are free wavelengths. The value of Q for the other classes between the nodes X and Y will be adjusted according to its target BLP, BLPX−Y iT AR , that will be proportional to the BLP measured for the highest (or the lowest) priority CoS. It is clear that such a technique can be used with both JET and JIT reservation mechanisms. Due to the significant impact that an additional wavelength has on BLP, in i case of KX−Y results in a non-integer number, one additional wavelength will be randomly allowed, proportionally to the fractional part.
End-to-End Proportional Loss Differentiation in OBS Networks
349
We propose two adaptive adjustment methods: one based on feedback and end-to-end measurements, and another one where each node adaptively makes adjustments based on local measurements. We will refer to the first one as endto-end adjustment, and to the second one as local adjustment. In end-to-end adjustment, the adjustment and setting of the QoS parameter Q is made at the source node, according to end-to-end measurements of the BLP, and this value will be used in all the nodes traversed by the burst. Specifically, all the bursts belonging to the flow between the node-pair X-Y and CoS i will carry the same value QiX−Y . It is obvious that the core nodes need to know the value of Q for each burst. We propose that this value, set by the source node, travel into the corresponding control packet. For the measurements of BLP, we propose the source nodes send “collector packets” to the destination nodes. These special packets will be replied indicating the number of bursts received at destination since the last “collector packet”. This simple method can have drawbacks related to the convergence speed, but it is expected that traffic also changes slowly at the OBS networks, mainly used in the backbone. With local adjustment, in order to avoid this potential problem, a sequence number is included in the control packets to allow each traversed node to calculate the number of lost bursts from the source. So, making the corresponding adjustment at each node, the end-to-end BLP converges rapidly to its target value on a per-hop basis. In both cases, the adjustment consists in increasing Q (at the source node, or at each intermediate node) when the last measured value of BLP is higher than the target, or decreased otherwise, so making the measured BLP gets close to its target value. It seems clear that the per-hop adjustment will probably lead to a faster convergence and a better dynamic behaviour than the end-to-end adjustment; however, it is only valid when the flow travels along the same path from source to destination, that is, without using deflection or multipath. The dynamics related to increasing and decreasing Q are out of the scope of this paper and will be studied in a future work.
3
Performance Evaluation
We have studied the performance of ADEWAR in comparison to FOTS through analysis and simulation experiments, also using the NSFNET network as in [3]. All the links have 50 wavelengths of 10 Gbps. and we assume full wavelengthconversion capability in every core node. Although ADEWAR can be also used with JIT, we will use only JET as resource reservation mechanism, in order to be able to employ FOTS. LAUC (Last Available Unscheduled Channel ) [15] was the scheduling algorithm used. Except for some particular experiments, the mean burst size is 320 Kbits, and the processing time for the control packets at the core nodes is fixed and equal to 4 μsec. For computational cost reasons,
350
M.A. González-Ortega et al.
only a subset of source/destination node-pairs has been used, all of them with the same traffic pattern. We consider three CoS and the following target BLPs: BLPT2 AR = 5 · BLPT1 AR and BLPT3 AR = 25 · BLPT1 AR . In principle, each burst is randomly assigned to a CoS with probabilities 1/13 for the CoS 1, 3/13 for the CoS 2 and 9/13 for the CoS 3. We will also consider other target BLPs and traffic ratios between the CoS. In this scenario, we have conducted exhaustive simulation experiments to analyze the influence of many different factors on the performance of the mechanisms under study, mainly those related to the traffic pattern, both marginal distributions and correlation structure for burst interarrival times and burst sizes. Specifically, we will focus on: – Correlation structure: By means of using a M/G/∞ traffic generator [16], we model different correlation structures by means of only two parameters: the Hurst parameter (H) for the LRD, and the one-lag autocorrelation coefficient (R1) for the SRD. – Marginal distribution: We generate background M/G/∞ processes to capture the desired correlation structure, but by means of a transformation that preserve the correlation structure, we change its marginal distribution (Exponential, Lognormal and Uniform), using different mean values (giving rise to different average traffic intensities) and variation coefficients (VC=standard deviation/mean). As overall conclusions, we have observed that both ADEWAR and FOTS are able to provide end-to-end proportional loss differentiation (they have achieved the target proportional differentiation in all experiments we have carried out) and that FOTS suffers a slightly lower BLP than ADEWAR. However, this is achieved at the expense of increasing significantly the delay, due to the additional offset needed for differentiation, even prohibitive for some real-time applications. From now on, we will refer to this additional offset as FOTS offset. We must also note that, although we have used local adjustment for ADEWAR, the performance has been very similar for end-to-end adjustment. In order to observe the performance degradation typically associated to differentiation, we have also studied the case with no differentiation (No Diff ). First, we will analyze in detail the simulation results about the global BLP, and then we will study the magnitude of the additional offset needed for differentiation in FOTS. 3.1
Impact on Burst Lost Probability
Figure 1 shows the global BLP obtained as a function of the mean traffic intensity when the burst arrival process for each flow is Poissonian, and the burst length follows an exponential distribution. From the simulation results, we can see that the BLP obtained by FOTS and No Diff are very similar for all loads, and slightly lower than those of ADEWAR. In Figure 1 (right ), the corresponding fitting curves are also represented, showing that the BLP increases almost linearly with the traffic load for all the cases.
End-to-End Proportional Loss Differentiation in OBS Networks
0.18
No Diff (Sim.) No Diff (An.) ADEWAR (Sim.) ADEWAR (An.) FOTS (Sim.) 0.1
0.16 Burst Loss Probability
Burst Loss Probability
1
0.01
0.001
0.14 0.12
351
No Diff (Sim.) -0.19685 + 0.01352*x ADEWAR (Sim.) -0.22967 + 0.01631*x FOTS (Sim.) -0.20166 + 0.01389*x
0.1 0.08 0.06 0.04 0.02
1e-04
0 14
16 18 20 22 Average link traffic intensity
24
14
16 18 20 22 Average link traffic intensity
24
Fig. 1. Global Mean BLP for different traffic intensity values obtained by simulation, together with the analytical approximations (left) and the fitting curves (right)
Figure 1 (left ) also shows the analytical results for ADEWAR and No Diff. Since we use Poisson traffic patterns, BLP can be analytically estimated using the Erlang loss formulas, as in [13] and [17]. We have also used a fixed-point iterative procedure, calculating the values of QiX−Y , for each node-pair X − Y i and CoS i, that allows us to achieve the target values of BLP, BLPX−Y , T AR proportional to the BLP obtained for the top-priority CoS. We can see that the analytical results are slightly better than those of simulation. The reason is that the analytical model is optimistic, since it does not take into account the offset time between data bursts and BHPs. We have also studied other parameters like the differentiation degree requirements, the BHP processing time at the core nodes and the ratio of traffic for each CoS. Although the results obtained were not included for extension reasons, we will make some comments. We have found that BLP increases slightly with BHP processing time in all cases. The reason is that the minimum offset time between the BHP and the data bursts also increases with it. So, on the one hand, data bursts arrive at the core nodes with very different offset times, and this makes difficult to provide good resource provisioning. On the other hand, LAUC scheduling algorithm does not make use of the free wavelength gaps before the scheduled bursts, due to the offset time and, obviously, such wasted gaps will be larger when offset time increases. However, we could observe that the differentiation requirements hardly affect the global BLP obtained by FOTS, although there was a slight increase in the BLP of ADEWAR when the target differentiation was very stringent. In the same way, the ratio of traffic for each CoS does not have a big impact on global BLP. Impact of the Burst Interarrival Time. With respect to the marginal distribution, the performance changes in a similar way for the three cases, keeping the relative differences between them unchanged (see Figure 2 (left )). However, we can note that the lighter the tail of the marginal distribution is, the greater BLP is, since the smallest values of the interarrival time distribution are the
352
M.A. González-Ortega et al.
0.06
No Diff ADEWAR FOTS
0.05 Burst Loss Probability
Burst Loss Probability
0.05 0.04 0.03 0.02
No Diff ADEWAR FOTS
0.04 0.03 0.02 0.01
0.01 0
0 E1
L1 L025 U025 Marginal Distribution
D0
0
0.2
0.4 0.6 0.8 Variation Coefficient (VC)
1
Fig. 2. Global Mean BLP for various marginal distributions: Exponential (E1), Lognormal with VC=1 (L1) and VC=0.25 (L025), Uniform with VC=0.25 (U025), and deterministic (D0) (left) and as a function of VC with Lognormal distribution (right) of the burst interarrival time 0.09
No Diff ADEWAR FOTS
0.06
0.07
Burst Loss Probability
Burst Loss Probability
0.08
0.06 0.05 0.04 0.03 0.02
No Diff ADEWAR FOTS
0.05 0.04 0.03 0.02 0.01
0.01 0
0 0
0.2 0.4 0.6 0.8 One-lag Autocorrelation Coefficient (R1)
1
0.5
0.6 0.7 0.8 Hurst Parameter (H)
0.9
Fig. 3. Global Mean BLP depending on the SRD, represented by R1 (left) and on the LRD, represented by H (right) of the burst interarrival time. L1 marginal distribution was used.
most probable to occur, and so overlapping is also more probable. For this reason, the Exponential gives rise to greater values of BLP than the Lognormal. On the other hand, BLP increases with the value of VC (see Figure 2 (right )), but for small values the difference is not significant (for example, BLPs obtained for D0 and for L025 are similar) In Figure 3 we show the effects of the correlation structure, both SRD and LRD. Again, the influence of R1 is similar for all the cases. The increase of VC or R1 always degrades the network performance, because they cause traffic burstiness. This degradation is more significant for the case of R1. However, we can observe that the effects of LRD of the burst interarrival time is negligible. This can be explained by the lack of buffers in the optical paths, that introduces a reset effect in the correlations. Impact of the Burst Sizes. We have also studied the impact of several characteristics of the burst size in the global BLP, using Poisson arrivals. We can see that BLP decreases very slightly with the mean burst size, and this decrease is more significant for ADEWAR (see Figure 4 (left )). That is
End-to-End Proportional Loss Differentiation in OBS Networks
Burst Loss Probability
0.06
No Diff ADEWAR FOTS
0.06 Burst Loss Probability
0.07
0.05 0.04 0.03 0.02
353
No Diff ADEWAR FOTS
0.05 0.04 0.03 0.02 0.01
0.01 0
0 128
256
512 1024 2048 Mean Burst Size (Kbits)
4096
E1
L1 L025 U025 Marginal Distribution
D0
Fig. 4. Global Mean BLP as a function of the mean value (left) and the marginal distribution (right) of the burst size. L1 marginal distribution was used. 0.08
No Diff ADEWAR FOTS
0.09 0.08
0.06
Burst Loss Probability
Burst Loss Probability
0.07
0.05 0.04 0.03 0.02
No Diff ADEWAR FOTS
0.07 0.06 0.05 0.04 0.03 0.02
0.01
0.01
0
0 0
0.2
0.4 0.6 0.8 Variation Coefficient (VC)
1
0
0.2 0.4 0.6 0.8 One-lag Autocorrelation Coefficient (R1)
1
Fig. 5. Global Mean BLP depending on the VC (left) and on the SRD (right) of the burst size. L1 marginal distribution was used.
because for a given load the effect of increasing burst size is similar to that of decreasing the offset time. On the the one hand, as we reduce the number of bursts sent per time unit, the impact of the disparity between the order of the burst arrivals and the resource reservations is also reduced. So, it is easier to provide a good resource provisioning. On the other hand, wasted gaps caused by LAUC algorithm become relatively less significant. With respect to the marginal distribution of the burst size and its VC (see Figures 4 (right ) and 5 (left )), we can assert that the influence of both parameters on BLP is negligible. Regarding the correlation structure, we can see that the effect of SRD, as happened with the burst interarrival time, is important since traffic is more burstiness. So, BLP increases considerably and the impact is very similar for the three cases. However, we have observed that, again as in the case of burst interarrival time, LRD has hardly impact on BLP. 3.2
Impact on FOTS Offset
In this section, we focus our analysis on the magnitude of the FOTS offset, considering the same scenarios as those of the previous section. Burst sizes follow
M.A. González-Ortega et al.
FOTS Offset Time (μsec)
60 50
C1 Mean C1 Max. C2 Mean C2 Max.
60 FOTS Offset Time (μsec)
354
40 30 20
50
C1 Mean C1 Max. C2 Mean C2 Max.
40 30 20 10
10 0
0 14
16 18 20 Average link traffic intensity
22
24
0
5 10 15 BHP Processing Time (μsec)
20
Fig. 6. FOTS offset as a function of the traffic intensity (left) and of the BHP processing time (right)
an exponential distribution, and burst arrivals are Poissonian. The average number of hops per path was 2.465, and the BHP processing time at the core nodes was 4 μsec. So, the mean minimum offset time, or basic offset, results 2.465 · 4 μsec.= 9.86 μsec. Our objective is to discuss whether the FOTS offset is significant, both in absolute terms and compared with the basic offset, and so whether FOTS could be inadequate for some real-time applications. The figures show the average FOTS offset (Mean) and the maximum between all the flows (Max.) for CoS 1 and 2 (C1 and C2). Figure 6 (left ) shows the effect of the traffic intensity. We can observe that as BLP increases with the load, the FOTS offset also increases. A simple case can explain this. Let us consider one single OBS link with N wavelengths, Poissonian burst arrivals, and two priority classes (A > B), with traffic intensities IA and IB . In this case we define the isolation degree achieved by FOTS, α, as the fraction of class B traffic that does not compete for the resources with class A bursts. Obviously, α increases with FOTS offset. If we reasonably suppose that global BLP hardly depends on the FOTS offset, then, by applying the Erlang-B loss formula (EN (I)), we obtain that IA BLPA + IB BLPB = (IA + IB )EN (IA + IB ). Moreover we have BLPA = EN (IA +(1−α)IB ), and BLPB = ((IA +IB )EN (IA + IB ) − IA BLPA )/IB . It is easy to see from the above equations, that the quotient BLPB /BLPA decreases with traffic intensity and increases with α, provided that IA + IB and the rest of the parameters remain fixed. Therefore, the higher the traffic load is, the larger the FOTS offset must be, in order to increase α and hold a given loss differentiation. We can also see in Figure 6 (left ) that for both C1 and C2 FOTS offset is quite large. So, the average values are comparable to the basic offset (9.86 μsec.), that is, the transmission delay due to OBS offset time has doubled on average. But, if we focus on the maximum values, they are even much larger, peaking at over 60 μsec. for the highest loads. Therefore, for some flows, FOTS has increased offset time by more than 7 times, and this additional delay could be too long for real-time applications. In Figure 6 (right ) we can observe that FOTS offset increases with the BHP processing time. As already said, the reason is that the basic offset also increases
End-to-End Proportional Loss Differentiation in OBS Networks
C1 Mean C1 Max. C2 Mean C2 Max.
30
50 FOTS Offset Time (μsec)
FOTS Offset Time (μsec)
35
25 20 15 10
355
C1 Mean C1 Max. C2 Mean C2 Max.
40 30 20 10
5 0
0 E1
L1
L025 U025 Marginal Distribution
D0
0
0.2 0.4 0.6 0.8 One-lag Autocorrelation Coefficient (R1)
1
Fig. 7. FOTS offset depending on the marginal distribution (left) and on the SRD (right) of the burst interarrival time
with it, and so a larger FOTS offset is needed to achieve a certain isolation degree (α). Moreover, the results showed that, as expected, FOTS offset was larger when differentiation was more demanding, since α had to be greater, too. We could also observe, as pointed out in [3], that the FOTS offset increases with the ratio of the top-priority traffic. As a conclusion, we find again that the mean FOTS offset is comparable to the basic offset, but for certain flows it can become even several times larger. In Figure 7 we can see again that, as a general rule, the conditions which make BLP increase also make FOTS offset increase since, using the same isolation degree among CoS, the proportional BLP differentiation decreases when the global BLP increases, as it was already said. So, the FOTS offset increases with the SRD degree and the value of VC, and with the use of light-tailed marginal distributions (like Exponential) of the burst interarrival time. We have also studied the influence of the VC and the LRD of the burst interarrival time on the FOTS offset. As expected, we have found that both parameters have a similar impact on the global BLP and on the FOTS offset. So, FOTS offset slightly increases with VC, but hardly depends on LRD. Figure 8 shows the FOTS offset obtained by varying the mean value and the R1 parameter of the burst sizes. We can note that the FOTS offset notably increases with the burst size. This can be explained with a simple example. Let us assume null basic offset and bursts of constant length L. In this case, a burst whose arrival time at a core node is t could be blocked only by bursts that arrive into the collision interval [t− L, t]. It is easy to see that, for two priority levels, obtaining a certain isolation degree α between them implies to change the collision interval of the highest priority to [t − L, t − αL]. Therefore, the FOTS offset must be Lα, and so it increases with the burst size. Similar explanations can be applied to more complex scenarios. The collision interval depends on the maximum burst size. So, FOTS offset increases when large values of VC and heavy-tailed distributions are used for the burst sizes. Likewise, and due to the increase of the global BLP, the SRD also contributes to increase the FOTS offset (see Figure 8 (right )).
M.A. González-Ortega et al.
FOTS Offset Time (μsec)
60 50
C1 Mean C1 Max. C2 Mean C2 Max.
60 FOTS Offset Time (μsec)
356
40 30 20 10
50
C1 Mean C1 Max. C2 Mean C2 Max.
40 30 20 10
0
0 128
256
512 1024 2048 Mean Burst Size (Kbits)
4096
0
0.2 0.4 0.6 0.8 One-lag Autocorrelation Coefficient (R1)
1
Fig. 8. FOTS offset depending on the mean burst size (left) and on the one-lag autocorrelation coefficient of the burst sizes (right)
We have also analyzed the effect of the LRD of the burst sizes, but the results again reveal a negligible influence on the FOTS offset, basically for the same reasons, that is, the reset effect imposed by the lack of buffers in OBS networks.
4
Conclusions
In this paper we propose and analyze a new technique to obtain edge-to-edge proportional differentiation for WDM-based OBS networks. We call this method ADEWAR (ADaptive End-to-end WAvelength Reservation). ADEWAR is based on the wavelength reservation, previously used in circuit switched networks and deflection routing in OBS networks. Through analysis and extensive simulation experiments, we compare the performance of our mechanism to FOTS (Feedback-based Offset Time Selection), another feedback-based mechanism proposed in the literature that uses additional offset for achieve differentiation. This mechanism has some disadvantages compared to ADEWAR, since it only works with the JET reservation mechanism and it uses an end-to-end feedback-based adjustment, that converges slower than our local adjustment. Both ADEWAR and FOTS achieve end-to-end proportional loss differentiation, and although FOTS causes slightly less burst losses than our technique. the additional delay required for differentiation could be too long for real-time applications, specially if data bursts are large and with high traffic loads.
References 1. Qiao, C., Yoo, M.: Optical burst switching (OBS)-a new paradigm for an optical internet. Journal of High Speed Networks 8(1), 69–84 (1999) 2. Yoo, M., Qiao, C., Dixit, S.: QoS performance of optical burst switching in IPover-WDM networks. IEEE Journal on Selected Areas in Communications 18(10), 2062–2071 (2000)
End-to-End Proportional Loss Differentiation in OBS Networks
357
3. Tan, S.K., Mohan, G., Chua, K.C.: Feedback-based offset time selection for endto-end proportional QoS provisioning in WDM optical burst switching networks. Computer Communications 30(4), 904–921 (2007) 4. Chen, Y., Hamdi, M., Tsang, D.H.K.: Proportional QoS over OBS networks. In: Proc. of GLOBECOM, November 2001, vol. 3, pp. 1510–1514. IEEE, Los Alamitos (2001) 5. Zhang, Q., Vokkarane, V., Jue, J., Chen, B.: Absolute QoS differentiation in optical burst-switched networks. IEEE Journal on Selected Areas in Communications 22(9), 1781–1795 (2004) 6. Zhou, B., Bassiouni, M.A.: Supporting differentiated quality of service in optical burst switched networks. Optical Engineering 45(1) (January 2006) 7. Liao, W., Loi, C.-H.: Providing service differentiation for optical-burst-switched networks. Journal of Lightwave Technology 22(7), 1651–1660 (2004) 8. Vokkarane, V.M., Jue, J.P.: Prioritized burst segmentation and composite burstassembly techniques for QoS support in optical burst-switched networks. IEEE Journal on Selected Areas in Communications 21(7), 1198–1209 (2003) 9. Gurusamy, M., Tan, C., Lui, J.: Achieving proportional loss differentiation using probabilistic preemptive burst segmentation in optical burst switching WDM networks. In: Proc. of GLOBECOM, November-December 2004, vol. 3, pp. 1754–1758. IEEE, Los Alamitos (2004) 10. Yang, M., Zheng, S.Q., Verchere, D.: A QoS supporting scheduling algorithm for optical burst switching DWDM networks. In: Proc. of GLOBECOM, November 2001, vol. 1, pp. 86–91. IEEE, Los Alamitos (2001) 11. Chen, Y., Qiao, C., Hamdi, M., Tsang, D.H.K.: Proportional differentiation: a scalable QoS approach. IEEE Communications Magazine 41(6), 52–58 (2003) 12. Wei, J.Y., McFarland, R.I.: Just-in-time signaling for WDM optical burst switching networks. Journal of Lightwave Technology 18(12), 2019–2037 (2000) 13. Krupp, R.S.: Stabilization of alternate routing networks. In: Proc. of ICC, June 1982, pp. 1–31. IEEE, Los Alamitos (1982) 14. Zalesky, A., Vu, H., Rosberg, Z., Wong, E., Zukerman, M.: Modelling and performance evaluation of optical burst switched networks with deflection routing and wavelength reservation. In: Proc. of INFOCOM, March 2004, IEEE, Los Alamitos (2004) 15. Xiong, Y., Vandenhoute, M., Cankaya, H.C.: Design and analysis of optical burstswitched networks. In: Senior, J.M., Qiao, C., Dixit, S. (eds.) Proc. of SPIE, SPIE, vol. 3843, pp. 112–119 (1999) 16. Suárez-González, A., López-Ardao, J.C., López-García, C., Fernández-Veiga, M., Rodríguez-Rubio, R.F., Sousa-Vieira, M.E.: A new heavy-tailed discrete distribution for LRD M/G/inf sample generation. Performance Evaluation 47(2-3), 197– 219 (2002) 17. Argibay-Losada, P., Suárez-González, A., Veiga, M.F., Rodríguez-Rubio, R., López-García, C.: Evaluation of optical burst switching as a multiservice environment. In: Akyildiz, I.F., Sivakumar, R., Ekici, E., de Oliveira, J.C., McNair, J. (eds.) NETWORKING 2007. LNCS, vol. 4479, pp. 970–980. Springer, Heidelberg (2007)
The Effect of Peer Selection with Hopcount or Delay Constraint on Peer-to-Peer Networking S. Tang, H. Wang, and P. Van Mieghem Delft University of Technology, P.O. Box 5031, 2600 GA Delft, The Netherlands {S.Tang,H.Wang}@ewi.tudelft.nl, [email protected]
Abstract. We revisit the peer selection problem of finding the most nearby peer from an initiating node. The metrics to assess the closeness between peers are hopcount and delay, respectively. Based on a dense graph model with i.i.d regular link weight, we calculate the probability density function to reach a peer with minimum hopcount and asymptotically analyze the probability to reach a peer with the smallest delay within a group of peers. Both results suggest that a small peer group size is enough to offer an acceptable content distribution service. We also demonstrate the applicability of our model via Internet measurements.
1
Introduction
The idea of peer-to-peer (P2P) networking creates a reciprocal environment where, by sharing storage, bandwidth and computational capacity with each other, mutual benefit between end-users is possible. With the distribution of storage and retrieving functionality to peers in the P2P network, the process of selecting a best peer (in cost, bandwidth, delay, etc.) among a group of peers to start content retrieval becomes a vital procedure. Our model considers the hopcount and delay as the major criteria for peer selection. The problem is confined as follows: given a underlying network of size N , over which m peers with the desired content are randomly scattered, what is the distribution of the hopcount and delay respectively to the most nearby peer from a requesting node? A requesting peer refers to the peer who initiates the downloading request. By solving the above problem, we expect to answer the fundamental question of how many peers are needed to store the replicas of a particular file so that the most nearby peer can always be reached within j hopcount or t delay. Modeling of the peer selection problem is presented in section 2. We complement our model by verifying its applicability from a series of substantive experiments in Section 3. In Section 4, we conclude the paper.
This work has been partially supported by the European Union in CONTENT NoE (FP6-IST-038423) and NWO Robunet (643.000.503).
A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 358–365, 2008. c IFIP International Federation for Information Processing 2008
The Effect of Peer Selection with Hopcount or Delay Constraint
2
359
Problem Description and Modeling
2.1
Modeling Assumptions
We model the number of hops and the latency to the nearest peer among a set of m peers based on three assumptions: (a) a dense graph model1 for the underlying network, (b) regular link weight around zero, and (c) i.i.d. link weight distribution on each link. The shortest path (SP) from a source to a destination is computed as the path that minimizes the link weights2 along that path. In [4, Chapter 16.1], it is shown that a regular link weight distribution - regular means a linear function around zero - will dominate the formation of the shortest path tree (SPT), which is the union of all shortest paths from an arbitrary node to all the other destinations. A uniform recursive tree (URT) is asymptotically the SPT in a dense graph with regular i.i.d. link weights (e.g. exponential link weights) distribution [6]. A URT of size N is a random tree that starts from the root A, and where at each stage a new node is attached uniformly to one of the existing nodes until the total number of nodes reaches N . 2.2
Hopcount Distribution to the Nearest Peer
A) Theoretical analysis The number of hops from a requesting peer to its most nearby peer, denoted by hN (m), is the minimum number of hops among the set of shortest paths from the requesting node to the m peers in the network of size N . Let HN (m) be the hopcount starting from one, excluding the event hN (m) = 0 in the URT. Since Pr[hN (m) = 0] = m N , we have Pr[HN (m) = j] = Pr[hN (m) = j|hN (m) = 0] =
1 Pr[hN (m) = j] 1− m N
(1)
with j = 1, 2, ...N and Pr[hN (m) = j] recursively solved in [4, p. 427]. However, the recursive computation involves a considerable amount of memory and CPUtime which limits its use to relatively small sizes of N ≤ 100. Fig. 1 illustrates Pr[HN (m) = j] versus the fraction of peers m N for different hops j with network size varying from N = 20 up to N = 60. The interesting observation from Fig. 1 is that, for separate hops j, the distribution Pr[HN (m) = j] rapidly tends to a distinct curve for most of the small networks (N 100) and that the increase in the network size N only plays a small role. Further, the crosspoint of curve j = 1 and j 2 (the bold line) around m N = 15% indicates that in small networks (i.e. N = 20), the peer fraction should always be larger than 15% to ensure Pr[HN (m) = 1] > Pr[HN (m) 2]. 1
2
The dense graph is a heterogenous graphwith the average degree E[D] pc N ≈ O(log N ) and a small standard deviation V ar[D] E[D], where pc ∼ logNN is the disconnectivity threshold of the link density [4, Chapter 15.6.3]. The link weight wij assigned to a link (i, j) between node i and node j in a network, is a real positive number that reflects certain properties of the link, i.e. distance, delay, loss, or bandwidth.
360
S. Tang, H. Wang, and P. Van Mieghem 1.0 0.8
Pr[HN(m) = j]
j=1 0.6
m/N around 15%
0.4
1.00 N = 20 N = 30 N = 40 N = 50 N = 60
0.90 0.80
j=2 0.70
0.2 j=3
10
20
30
40
70
80
90
100
0.0 0 10 20 j=4 j=5
30
40 50 60 Fraction of peers (%)
Fig. 1. Pr[HN (m) = j] versus the fraction of peers m from network size N = 20 to N 60. The bold line is the pdf of HN (m) 2 for N = 20. The inserted figure plots the Pr[HN (m) ≤ 4] as a function of peer fraction m for network sizes N = 20 to 60. N
To avoid the recursive calculation in (1), we compute Pr[HN (m) = j] approximately by assuming the independence of the hopcount from the requesting node to the m peers when m is small3 . The approximation is expressed as Pr [HN (m) ≤ j] ≈ 1 − (Pr[HN > j])m
(2)
where Pr[HN > j] is the probability that at least one of the peers is j hop away (or not all peers are further than j hop away). As explained in footnote3 , we confine the estimation of (2) with large N and small m, whereas the exact result is applicable for N 100 with all m. We discuss the usage of (2) and its asymptotic result for very large network in more detail in [7]. B) Application of Pr[HN (m) = j] We apply (1) to estimate the peer group size for a certain content delivery service. For instance, if the operator of a content distribution network (CDN) with 40 routers has uniformly scattered 4 servers (peer fraction around 10%) into the network, he can already claim that approximately in 98% of the cases, any user request will reach a server (the term of server and peer are interchangeable in this case) within 4 hops (j ≤ 4) as seen in the inserted figure of Fig. 1. Placing more servers in the network will not improve the performance significantly. 2.3
Weight of the Shortest Path to the First Encountered Peer
A) The asymptotic analysis In [4, p. 349], the shortest path problem between two arbitrary nodes in the dense graph with regular link weight distribution (e.g. exponential link weights) 3
The path overlap from the root to the m peers in the URT causes correlation of the hopcount between peers. When m is small compare to the network size N , the path overlap is expected to be small, and so is the correlation of the hopcount. The larger the m, the more dependent of the hopcount from the root to the m peers becomes.
The Effect of Peer Selection with Hopcount or Delay Constraint
361
has been rephrased as a Markov discovery process. It evolves as a function of time from the source and stops at the time when the destination node is found. The transition rate in this continuous-time Markov chain from state n with n already discovered nodes, to the next state n + 1 is λn;n+1 = n(N − n). The inter-attachment time τn between the inclusion of the n-th and (n + 1)-th node in the SPT for n = 1, 2, ...N − 1 has exponential distribution with parameter n(N − n). The exact probability generating function (pgf) of the weight WN ;m of the shortest path from an arbitrary node the first encountered peer among m peers to N −m can be formulated as ϕWN ;m (z) = k=1 E[e−zvk ] Pr[Ym (k)], where Pr[Ym (k)] represents the probability that the k-th attached node is the first encountered peer among the m peers in the URT, vk = kn=1 τn denotes the weight of the path to the k-th attached node. And the corresponding generating function of vk k n(N −n) is E[e−zvk ] = z+n(N −n) . The formation of the URT with m attached peers n=1 −1 indicates Nm ways to distribute the m peers over the N − 1 position (other than the source node). The remaining m − 1 peers should always appear −1−k in the position that are larger than k-th position. Hence, there are Nm−1 ways to distribute the m − 1 peers over the N − 1 − k position. This analysis leads us to express Pr[Ym (k)] as N −1−k
Pr[Ym (k)] = m−1 N −1 m
The asymptotic probability of ϕWN ;m (z) with proper scaling is thus derived4 as ∞ −y N e−u lim Pr[N WN ;m − ln ≤ y] = e−my mm+1 eme du (3) m+1 N →∞ m me−y u which converges to the Fermi-Dirac distribution function as shown in [5, Section 3] N 1 lim Pr[N WN ;m − ln ≤ y] = (4) N →∞ m 1 + e−y for large m as shown in Fig. 2. It illustrates that a relatively small peer group m ≈ 5 is sufficient to offer a good service quality because increasing the number of peers can only improve the performance marginally, i.e. logarithmically in m. B) Application We use the Fermi-Dirac distribution (4) to estimate the minimum number of peers m needed to satisfy the requirement of Pr[WN ;m ≤ y] ≥ η, which means that in η of the cases, the delay to the nearest peer is no larger than y. Rewriting m Ny e (4), yields Pr[WN ;m ≤ y] ≈ 1+Nm eN y ≥ η, from which we find N
m η ≥ e−yN N (1 − η) 4
(5)
The joint probability of the pair (HN (m), WN;m ) as calculated in [2] is shown to be asymptotically independent. Hence, for large N , both hopcount via (1) and delay via (3) is sufficient to compute Pr[hN (m) = j, WN;m ≤ y].
362
S. Tang, H. Wang, and P. Van Mieghem
Pr[NWN;m - logN/m < y]
1.0 increasing m
0.8 0.6
m =1
0.4 0.2 0.0 -8
-6
-4
-2
0
2
4
6
8
y
Fig. 2. The convergence of the pdf with scaled random variable N WN;m −ln N towards m the Fermi-Dirac distribution (in bold) for increasing m = 1, 2, 3, 4, 5, 10, 15, 20.
Consider an online P2P music sharing system, which takes advantage of the VoIP service for example. The standard [3] suggests a mouth-to-ear delay < 150 ms. Let N = 80, y = 150, and η = 99.99%, with (5), we find that in this network, the declaration that in 99.99% cases the delay to the nearest peer is smaller than 150ms can always be achieved if there are 5 peers sharing the same music ( m N around 6%).
3
Discussion on Modeling Assumptions
In this section, we discuss the major two assumptions made for the URT model: 1) a dense graph to mimic the underlying network and 2) i.i.d. regular link weight. The Internet might be denser than what has been measured, taking into account all sorts of significant sampling bias, such as insufficient sources for traceroutes suggested in [1]. We will also give indications on the link weight distribution and the applicability of the URT model in P2P network in this section. 3.1
Link Weight Structure of Networks
We use the data from the National Road Database provided by the Dutch transport research center to give an indication on the link weight distribution in a transportation network. The link weight of the Dutch road is evaluated as the physical distance between two roadsections. In Fig. 3, we fit the link weight distribution Fw (x) of the Dutch road network with a linear function. A regular (linear) link weight distribution is found within a small range [0, ], where ∼ 0.03, which gives evidence to the assumption of regular link weight structure around zero. Given that the link weight structure in the Internet are tunable, we claim that the assignment of regular link weights in Section 2.1 is reasonable. 3.2
Applicability of the URT Model
We have carried out a series of experiments by using the traceroute data provided by iPlane5 to give further indication on how well the URT model matches the real 5
http://iplane.cs.washington.edu/
The Effect of Peer Selection with Hopcount or Delay Constraint
363
1.0
Fw(x)
0.8
0.6
0.4
The link weight distribution of Dutch road Fitting curve with a linear function 0.00
0.02
0.04
0.06
0.08
0.10
0.12
0.14
x
Fig. 3. Fx (x) = Pr[w ≤ x] of the link weight of the Dutch transportation network with normalize the x axis normalized between [0, 1] (x ∈ [a, b] → x ∈ ab , 1 ). The correlation coefficient ρ = 0.99 suggests a high fitting quality.
network. iPlane performs periodic measurements by using PlanetLab nodes to probe a list of targets with global coverage. We use the iPlane measurement data executed on 8th June 2007. We extract the stable traces from 52 Planetlab nodes that are located in different Planetlab sites. Assuming the traceroutes represent the shortest paths, we construct a SPT rooted at each PlanetLab node (as a source) to m peers (destinations), resulting in 52 SPTs in total. By using a map with all aliases resolved in iPlane, we obtain the router-level SPTs. The m peers are randomly chosen over the world, and the hopcount (HSP T ) and degree (DSP T ) distribution are obtained by making a histogram of the 52 SPTs (each with m destinations). A) Experimental results on node degree distribution Three sets of experiments with m = 10, 25 and 50 are conducted to examine the degree distribution of the sub-SPT because the number of peers in a P2P network is not expected to be large6. We observed from the experiments that an exponential node degree distribution is, if not better, at least comparable to the power law degree distribution that has been reported in most of the published papers. In Fig. 4, we fitted Pr[DSP T = k] for m = 10 with a linear function on both log-lin and log-log scales. The linear correlation coefficients used to reflect the fitting quality are ρα on the log-lin scale and ρβ on the log-log scale respectively. The quality of the fitting on the log-log scale (ρβ = 0.99) is only slightly higher than that of the log-lin scale (ρα = 0.98), which questions the power law degree distribution of a small subgraph of the Internet topology. A similar phenomenon is also observed for Pr[DSP T = k] for m = 25 and m = 50. Due to space limitation, we only provide the correlation coefficients for m = 25 and m = 50 in Table 1. Again, the quality of the fitting seems to be comparable on both scales. A discrepancy with the first three experiments occurs if we increase the peer size to 500 [7]. For larger subgraphs, a clear power law, rather than an exponential 6
Measurements on PPLive, a popular IPTV application [8] reveal that the number of active peers that a peer can download from is always smaller than 50.
S. Tang, H. Wang, and P. Van Mieghem
Pr[DSPT = k]
364
Pr[DSPT = k]
-2
-2 -4 -6 -8
-4
0.5
1.0 1.5 degree k
2.0
-6 52 SPT samples fit: lnPr[DSPT = k] = -1.10 k - 0.93 with ǏĮ = 0.98 fit: lnPr[DSPT = k] = -5.24lnk - 3.29 with Ǐǃ = 0.99
-8
2
4
6
8
degree k
Fig. 4. The histogram of degree DSP T for 52 SPTs with m = 10 peers based on PlanetLab traceroute data on log-lin and log-log scale in the inset. ρα represents the linear correlation coefficient on log-lin scale and ρβ is the one on log-log scale. Table 1. Correlation coefficient for both log-lin (ρα ) and log-log (ρβ ) scale of m = 10, 25 and 50
p = 10 p = 25 p = 50
0=98 0=95 0=95
0=99 0=99 0=99
distribution dominates the node degree. More discussion on the node degree distribution of both experimental and simulation results can be found in [7]. We conclude that the node degree of a subgraph with small m cannot be affirmatively claimed to obey a power law distribution. At least, it is disputable whether the exponential distribution can be equally good as the power law. B) Hopcount distribution in the Internet The probability density function of the hopcount from the root to an arbitrary chosen node in the URT with large N can be approximated as the following according to [4, p. 356]. Pr[HN = k] ≈ Pr[hN = k] ∼
(log N )k N k!
(6)
where HN indicates the event that k 1. We plotted the pdf of the hopcount with m = 50 (50 traceroute samples for each tree) in Fig. 5 (a), in which we see a reasonably good fitting with (6). An even better fitting quality is found in Fig. 5 (b) if we increases the number of traceroutes samples by randomly selecting m = 8000 destinations for each tree, because more traceroutes gives higher accuracy. We conclude that the hopcount distribution of the Internet can be modeled reasonably well by the pdf of hopcount (6) in the URT.
The Effect of Peer Selection with Hopcount or Delay Constraint
0.10
E[ H ] = 12.76
Pr[H = k]
Pr[H = k]
E[ H ] = 14.97
0.08
0.08
0.06
0.06
0.04
0.04 0.02 0.00
0.10
365
0.02
Measure Fitting
5
10
15 hop k
(a) m = 50
20
25
Measure Fitting
5
10
15
20
25
hop k
(b) m = 8000
( Fig. 5. The histogram of hopcount derived from 52 SPTs for m = 50 (a) and m = 8000 (b) are fitted by the pdf (6) of the hopcount in the URT. The measured data for (a) and (b) are fitted with log(N ) = 12.76 and log(N ) = 14.97 respectively.
4
Conclusion
We obtain the hopcount and delay distribution to the most nearby peer on the URT by assigning regular i.i.d. link weights (e.g. exponential link weights) on a dense graph. Both results suggest that a small peer group is sufficient to offer an acceptable quality of service. Via a series experiments, we show the applicability of the URT model, based on which the pdfs for hopcount and delay have been derived. To summarize, with a small group of peers (m 50), the URT seems to be a reasonably good model for a P2P network.
Acknowledgments We would like to thank Neil Spring, who is so kind to provide us the iPlane data.
References 1. Clauset, A., Moore, C.: Accuracy and scaling phenomena in Internet mapping. Physical Review Letters 94, 18701 (2005) 2. Hooghiemstra, G., Van Mieghem, P.: The weight and hopcount of the shortest path in the complete graph with exponential weights. CPC (submitted) 3. ITU-T Rec. G.114, One-way transmission time (May 2003) 4. Van Mieghem, P.: Performance Analysis of Communications Networks and Systems. Cambridge University Press, Cambridge (2006) 5. Van Mieghem, P., Tang, S.: Weight of the Shortest Path to the First Encountered Peer in a Peer Group of Size m. Probability in the Engineering and Informational Sciences (PEIS) 22, 37–52 (2008) 6. Van der Hofstad, R., Hooghiemstra, G., Van Mieghem, P.: First Passage Percolation on the Random Graph. Probability in the Engineering and Informational Sciences (PEIS) 15, 225–237 (2001) 7. Tang, S., Wang, H., Van Mieghem, P.: Peer selection with hopcount and delay constraint, Delft University of Technology, report20080222 (2008) 8. Hei, X., Liang, C., Liang, J., Liu, Y., Ross, K.W.: Insights into PPLive: A measurement study of a large-scale P2P IPTV system. In: Workshop on Internet Protocol TV (IPTV) services over World Wide Web, Edinburgh, Scotland, May 23 (2006)
T2MC: A Peer-to-Peer Mismatch Reduction Technique by Traceroute and 2-Means Classification Algorithm∗ Guangyu Shi1, Youshui Long1, Jian Chen1, Hao Gong1, and Hongli Zhang2 1
Huawei Technologies Co., Ltd Shenzhen, 518129, China {shiguangyu,longyoushui,jchen,haogong}@huawei.com 2 Harbin Institute of Technology Harbin, 150001, China [email protected]
Abstract. The Peer-to-Peer (P2P) technology has many potential advantages, including high scalability and cost-effectiveness. However, most P2P system performance suffers from the mismatch between the overlays topology and the underlying physical network topology, causing a large volume of redundant traffic in the Internet. A lot of research works have been presented to address this issue, but most results still have some drawbacks. In this paper, we propose a quite simple but efficient topology matching technique, T2MC, which uses the peers’ Traceroute result to execute 2-Means Classification, thereafter lets peers to build efficient “close” cluster. By performing experiments using the measured realistic Internet data of China, we show that T2MC outperforms the well-known GNP in both aspects of accuracy and maintenance cost. Keywords: Peer-to-Peer, mismatch, clustering.
1 Introduction Since the emergence of Peer-to-Peer (P2P) file sharing applications, millions of users have started using their home computers for more than browsing the Web and exchanging e-mails. With the development of the networks, the P2P model is quickly emerging as a significant computing paradigm of the future Internet. There are currently several P2P systems in operation and many more are under development. According to the methods of administering peers, they can be broadly classified into four categories, the central directory based P2P system, e.g. Napster [1]; the decentralized unstructured P2P systems, e.g. Gnutella [2] and Kazza [3]; the decentralized structured P2P systems, e.g. Chord [4], CAN [5], Pastry [6], and the reinforced P2P systems such as Bamboo [7], Accordion [8], and PROP [9], which improved the system in Mismatch solution, Churn-Resilient and Heterogeneity-aware. In a P2P system, an attractive feature is that peers do not need to directly interact with the underlying physical network, providing many new opportunities for user-level ∗
The research is partially supported by the National Information Security 242 Program of China under Grant No.2006A18.
A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 366–374, 2008. © IFIP International Federation for Information Processing 2008
T2MC: A Peer-to-Peer Mismatch Reduction Technique by Traceroute
367
development and applications. Nevertheless, the mechanism for a peer to randomly choose logical neighbors, without any knowledge about the physical topology, causes a serious topology mismatch between the P2P overlay networks and the physical networks. The mismatch between physical topologies and logical overlays is a major factor that delays the lookup response time, which is determined by the product of the routing hops and the logical link latency. Mismatch problem also causes a large volume of redundant traffic in inter-domain between the every ISP, which is also an important reason why ISP may prohibit P2P applications [10, 11, 12]. Studies in [13] show that about 75 percent of the query response paths suffer from the topology mismatch problem in 8000 logical peers on 27000 physical nodes. The issue of mismatch in P2P systems has been the focus of intensive research in recent years. The research works can be classified into four categories as follows: The first representative studies to address the mismatch problem are peer coordinate systems such as GNP [14] and Vivaldi [15], which demonstrated the possibility of calculating synthetic coordinates to predict Internet latencies. GNP relies on a small number (18) of “landmark” nodes; other nodes choose coordinates based on RTT measurements to the landmarks. The choice of landmarks significantly affects the accuracy of GNP’s RTT predictions. Requiring that certain nodes be designated as landmarks may be a burden on P2P systems. Vivaldi is a simple, light-weight algorithm that assigns synthetic coordinates to hosts such that the distance between the coordinates of two hosts accurately predicts the communication latency between the hosts. Although Vivaldi ensures nodes always decrease the prediction error and has no use for the choice of landmarks, it is so complex that hard to deploy in nowaday Internet. In addition, Vivaldi’s convergence of coordinate system is a slow process. The second study approach is a hierarchical location-based node IDs in P2P systems proposed by [16]. Physical locations and network distances are effectively embedded in the node IDs, and thereby improving routing locality. However, what is the influence on load balance is an important question concerning embedding location prefixes in node IDs. The clustering algorithm such as Coral [17] takes a third different approach. In Coral system, the peer discovered the router IP cluster by randomly traceroute then chose the first five routers as the close cluster and joined into the cluster. But this scheme is coarse-grained and has difficulty to distinguish relatively close nodes. Why did Coral choose the first five routers as the criterion of close cluster? Finally, the mechanisms based on measurement have been emerged in the last few years, such as Bamboo [7]. They select proximity neighbor based on monitoring daily DHT operation continuously. The disadvantage of this scheme is that it is hard to measure and learn adequate neighbor information during the peer’s limited life time. In order to address the limitations of the above cited work, we identify several basic characteristics of current networking paradigm, and propose a quite simple but efficient topology matching technique, called T2MC, which uses the peers’ Traceroute result to execute 2-Means Classification, thereafter lets peers to build efficient “close” clusters. Using the T2MC technique, we can optimize the overlay topology by identifying and replacing the mismatched connections. The rest of this paper is organized as follows: Section 2 describes T2MC in detail. Simulation methodology and performance evaluation are discussed in section 3. And we conclude the work in Section 4.
368
G. Shi et al.
2 The T2MC Technique Optimizing inefficient overlay topologies can fundamentally improve P2P search efficiency and decrease redundant traffic. T2MC utilizes several basic characteristics of current Internet paradigm, and lets peers belong to same ISP cluster together separately without any centralized control and predefined system parameters. We present two key aspects that need to be addressed in the design of T2MC following. 2.1 The Characteristics of Internet Paradigm The Internet presents two kinds of basic characteristic. On one hand, with many terminal peer devices randomly join and leave the network, the topology is dynamic and variable. On the other hand, the routers and switches split the realistic network to different AS domains. The whole topology of Internet presents a strict hierarchy. During a long period to observe, it’s clearly that the core routers are more stable than the terminal peers. According to this characteristic, we tried to make use of relationship between peers and routers in a topology location aspect. In the mean time, the inter-ISP links constitute a considerable small portion of the total links of Internet, and usually such inter-ISP links have a much higher delay than other intra-ISP links. Just like the Fig.1, a mass of inner-routers from different AS domains are connected together by a few “star” edge routers. This inspired us to divide the nodes into “near” and “remote” router clusters. We fulfilled this task with the peers’ Traceroute results. Fig.2 is an example of path information by R1 traceroute to R8. As clearly seen from Fig.2, between the R3 and R4, R5 and R6, these links present some huge latency leaps than the others. It usually means those hops across the different AS domains or different ISP ranges. How to find these latency leaps is the core part to distinguish the “near” and “remote” router clusters in T2MC. AS1
AS2
5m 10ms R1 R2
R3
100ms
6m R4 R5
150ms
20ms 8m R6
R7 R8
AS3
Fig. 1. The characteristics of Internet
Fig. 2. The characteristics of Internet
2.2 Traceroute Mechanism As mentioned before, the stabilized routers are more suitable for making a mark than dynamic terminal peers. We used the routers’ location relationship as the judgment criterion of “near” and “remote” routers. T2MC uses the peers’ Traceroute result to execute 2-Means Classification, thereafter lets peers to build efficient “closer” cluster. Firstly, when a peer joining the P2P networks, it randomly picked an Internet IP address and probed it using the traceroute tool. The peer tracked the results into a vector of
T2MC: A Peer-to-Peer Mismatch Reduction Technique by Traceroute
369
every router in traceroute path and Latency means the link delay between this router and its pervious-hop. In T2MC, the peer chose an IP address with the first bit far different from itself, if this doesn’t work, it will randomly chose another suitable IP address to probe. Secondly, based on the Latency attributes of the vector tuples, T2MC used the 2means classification algorithm to classify the Internet routers into “near” and “remote” routers. 2-means classification algorithm is a special example of k-means classification algorithm [18] with k=2. By this tactic, T2MC clustering avoided any presumed hops threshold such as used in Coral [17]. The 2-means classification algorithm in T2MC includes four steps as following. step1. Peer chose the tuples with minimum or maximum Latency attribute as centroids for two initial sets, “first” and “second”. step2. Peer took the latency attribute of each tuple in the vector to calculate the absolute distance value with the two centroids in turn, and then associated the tuple to the set whose centroid has smaller absolute distance value with it. step3. Peer calculated the latency mean and variance value of two sets. step4. If the variance value was larger than the threshold, peer picked two latency mean values as new centroids of “first” and “second” sets, then took a loop from step2 until the two sets achieved the minimum total intra-set variance. This produces a separation of the routers into two groups from which the metric to be minimized can be calculated. At last, two “first” and “second” sets confirmed in the end. The pseudo code of 2-means classification algorithm in T2MC is shown in Fig.3 structure Routerinfo ip ipaddress double srcdelay double hopdelay
Δ the ip of routers Δ the delay form this to source Δ the link delay
procedure Get2meansCluster(allrouters[1...routenumber]) firstcenter ← allrouters[min].hopdelay secondcenter ← allrouters[max].hopdelay oldE ← -1 Δ the previous variance E←0 Δ variance while (E - oldE) > 0.000001 firstlist.clear() secondlist.clear() foreach i ← 0 to allrouters.size if ((allrouters[i].hopdelay-firstcenter) <= (secondcenter - allrouters[i].hopdelay)) then firstlist.add(allrouters[i]) else secondlist.add(allrouters[i]) end foreach firstcenter ← the mean of firstlist.hopdelay firstE ← the variance of firstlist.hopdelay secondcenter ← the mean of secondlist.hopdelay secondE ← the variance of secondlist.hopdelay oldE ← E E ← firstE + secondE ret ← new Vector[2] end while Ret[0] ← firstlist Δ the “close” routers clustering Ret[1] ← secondlist Δ the “far” routers clustering Retrun Ret[0…1]
Fig. 3. Pseudo code of 2-means classification
Fig. 4. Measured Internet topology of China
370
G. Shi et al.
Finally, peer chose the router with minimum Hops attribute in “second” set as a hop threshold. This router and the other routers whose Hops attribute are larger than the hop are classified as the “remote” router cluster. The remaining routers formed the “near” router cluster. The peer chose the router with maximum Hops attribute in the “near” router cluster as its Edge Gateway, and then registered the Edge Gateway and the “near” cluster into the P2P overlay, as DHT PUTs. If two peers shared the same Edge Gateway or any members of their “near” router clusters, they would gather together to form a “close” peer clusters. The Edge Gateways presents more valuable information than other members of the “near” router clusters, T2MC were designed to let peers to register/search/save Edge Gateways information with the higher priority. In T2MC, each peer clusters has a ClusterId generated by consistent hash when the first 2 peers decided to form a cluster. The ClusterId and its member peer Ids will be PUT into the DHT (or other similar information retrieve means), and the peer can find the other members within the same cluster by DHT GET with its ClusterId remembered during its last online life. So, in T2MC, the judgment criterion for close neighbor peers is based on the much more stable routers in the underlay. The overhead of this technique is the traceroute operation when peer joining the system. On the contrary, the “close” relationship of peers is judged by their Euclidean space in GNP technique. The peer must probe the landmarks to measure the RTT delay as overhead. The simulation results in the next chapter will demonstrate such contrast.
3 Simulations and Analysis In this section, we choose GNP as comparative technique. By performing experiments based on the measured realistic Internet data of China, we get the performance and overhead comparison. Then we discuss some further improvements of T2MC. 3.1 Simulation Performance Metrics We mainly focus on three performance metrics: the accuracy of clustering “close” and “far” peers, the average delay in clusters and the average maintenance traffic cost. The accuracy of clustering is one of the important performance metrics with which topology matching algorithms are seriously concerned. The low accuracy increases the total delay of the response and redundant traffic on backbone Internet. Internet measurement [19] reports that roughly 75%~90% of flows have RTTs less than 200ms. Hence, we define the real “close” peer cluster as those peers whose latency are less than 100ms from the source in the realistic networks. And the accuracy could be measured as an “AND” operation result between the “close” peer cluster formed by T2MC and the real “close” peer cluster. We define the average latency in cluster as average link latency in each “close” peer cluster. The lower average latency obtained, the more efficient the cluster is. Traffic cost is another parameter that most seriously concerned by ISPs. Heavy network traffic is always the direct reason why many ISPs dislike P2P. We define the traffic cost as how many network messages will be used in the clustering process.
T2MC: A Peer-to-Peer Mismatch Reduction Technique by Traceroute
371
3.2 Measurement Methodology To evaluate the effectiveness of T2MC, we need an actual topology data which made up of the major ISP routers and most city-level routers in China. We used 9 probing sources to collect the data. The sources are located in Anhui, Gansu, Hainan, Heilongjiang, Hebei, Guangxi, Beijing, Shanghai and Guangzhou, nine mainland provinces. To ensure the effectiveness of probing, we intentionally selected addresses from a large set of IP addresses within China range as targets, each /24 subnet we chose 8 IP addresses. The sources triggered 20 processes to send the ICMP traceroute messages to the target and calculated the RTT value by monitoring the response messages. If the sequential 10 hops did not response, the probing process terminated. The RTT difference between previous hop and next hop was the link latency. The measurements from all probing sources were conducted roughly around the same time. The whole measurement lasted three days. As a result, 76116 routers’ IP addresses, 128083 links and their latency were obtained. They belong to a diverse set of prefixes originating from ASes across the entire Chinese Internet hierarchy. There are 33300 edge routers in whole 76116 routers. The measured routers were spread all over China as shown in Fig.4. 3.3 Experiment Parameters The logical topology represents the overlay topology built on top of the physical topology. We used PlanetSim simulator to generate logical topology, with 10000 peers each round. The peers randomly accessed the edge routes in physical topology. The J-sim simulator provided an interface to connect physical topology and logical topology. On the choice of the landmark number, we considered that in GNP thesis, GNP only set 15 landmarks for the RTT measurement in whole world. So with the China mainland topology, deploying 8 landmarks should be enough to meet the requirement. In our experiments, we set the number of GNP landmarks to 8. And the landmark was chosen randomly in whole nodes of P2P system. For the accuracy each experiment we run 50 rounds, each with different new generated 10000 peers. 3.4 Experiment Result First of all, we need to measure the accuracy of clustering “close” and “far” peers. We choose the “close” peer cluster by topology matching technique to make a comparison with the real “close” peer with latency less than 100ms each other in the realistic network. From Fig.5(a), we find that the number of wrong close peers in close cluster decreases by 65% in T2MC than that of in GNP. It is mainly because in GNP, the landmarks as probing targets are chosen randomly. Every peer calculates own GNP distance and clusters together by probing the landmark, so the number and location of landmarks directly determine the performance of GNP schemes. But in T2MC technique, there is no landmark and the probing target is random. It avoids that the limitation of landmark in peer clustering. Furthermore, through efficiently clustering, T2MC can reduce a large volume of inter-domain redundant traffic than GNP.
372
90 80 70 60 50 40 30 20 10 0
G. Shi et al.
the decrease of T 2MC than GNP in wrong close peers in clusters (%) %
the decrease of T 2MC than GNP in latency of close peer clusters (%) %
80 70 60 50 40 30 20 10 0
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 times
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 times
(a) the comparison of wrong close peer in clusters
(b) the comparison in latency of close peer clusters
the improvement of T2MC than GNP in inter-
the improvement of T2MC than GNP in whole message overhead (%)
80 %
domain message overhead (%)
%
60
70 60 50 40 30 20 10 0 -10 -20
%
%
40 20 0 -20
1
5
9 13 17 21 25 29 33 37 41 45 49 times
(c) the comparison of inter-domain message overhead
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49
-40 times
(d) the comparison in whole message overhead
Fig. 5. Performance comparison of T2MC and GNP in measured realistic Internet data (China)
The accuracy of clustering brings forth the improvement of latency immediately. Because of the “close” peers’ number increased and accuracy of “close” peer clusters improved, the average latency in cluster decreases by 48% approximately from the Fig.5(b). The lower average latency means quicker P2P interactions. As is clear from the Fig.5(c) and Fig.5(d), T2MC achieves another favorable performance metric, the maintenance traffic overhead. T2MC consumes less maintenance bandwidth overhead of clusters construction than GNP both in the inter-domain and whole network level. The reason is that in T2MC, each peer just probes only one peer. On the contrary, the peer must measure the delay of every landmark in GNP scheme, so that the number of landmark determines the maintenance overhead of scheme. As one can see in Fig.5(c) and Fig.5(d), T2MC decreases the average maintenance overhead in inter-domain by 40%, in whole by 8%. 3.5 Further Improvements Previous sections have shown that T2MC can achieve favorable performance. In the practical deployment, there are still some details need to be mentioned. (1) In our measurement process, we only use ICMP traceroute as the probing method. The result of 76116 routers IPs only represents 50% of whole routers in China mainland probably. In future measurement, if chose multiple probing tools such
T2MC: A Peer-to-Peer Mismatch Reduction Technique by Traceroute
373
as TCP traceroute and UDP traceroute, the more routers’ IP address will be identified, so as to let T2MC get more excellent performance in topology matching. (2) In probing process, for that peers could not get any traceroute response, they can’t find their “close” routers to form a cluster. The solution is to utilize the IP address and subnet mask address to find out its gateway router. (3) For neglecting the probing error practically, before the 2-means classification, we modify the Latency attribute less than 10ms to 10ms for each vector tuples, and also modify the Latency attribute more than 200ms to 200ms. (4) T2MC uses the peers’ traceroute result to execute 2-means classification, and lets peers to build their “close” and “far” clusters. For the further improvement, T2MC can perform 2-means classification to pervious “close” and “far” clusters recursively until the far centroid is less than 2 times of the close centroid during the latest round. With our experience, we found that 3 or 4 times recursive classification is quite enough for China network topologies, we suppose the whole world Internet maybe only needs 4 or 5 times. (5) In T2MC, during normal peer-to-peer interactions such as DHT lookup or maintenance, if peers belonging to different clusters found the delay between them were relatively low, then these two clusters would decide to combine to a new bigger cluster. The mapping between those original ClusterIds and the new generated ClusterIds would also be registered into the DHT so as to let those peers belonging to the original clusters could find and join the new cluster. This tactic alleviates the problem occurred when peers belonging to same cluster get different Edge Gateways from their traceroute response (“stars” in Fig.1), thus they may not form the ideal cluster. (6) T2MC is presented as a novel mismatch reduction technique which outperforms existing schemes. But it should be mentioned that T2MC also can be easily applied to existing equivalent techniques without the loss of their primary characteristics, such as utilize T2MC to choose the landmark peers in GNP scheme, choose the replacement of cache points in IPTV networks, or help to construct the ALM tree.
4 Conclusion In this paper we presented a simple but effective P2P mismatch reduction technique called T2MC. T2MC uses the peers’ Traceroute result to execute 2-Means Classification, thereafter lets peers to build efficient “close” cluster. T2MC utilizes several basic characteristics of current Internet paradigm, which can efficiently and accurately classify the peers belong to same ISP into a sort of cluster. Furthermore, T2MC is completely decentralized, scalable, reliable and self-organizing, without any presumed hops threshold parameters. By performing experiments using the measured realistic Internet data of China, we show that T2MC outperforms GNP scheme in both aspects of accuracy and maintenance cost.
References [1] Napster (2007), http://www.napster.com [2] Gnutella (2007), http://gnutella.wego.com [3] KaZaA (2007), http://www.kazaa.com
374
G. Shi et al.
[4] Stoica, I., Morris, R., Karger, D., Kaashoek, F., Balakrishnan, H.: Chord: A Scalable Peer-to-Peer Lookup Ser-vice for Internet Applications. In: Proc of. ACM SIGCOMM (2001) [5] Ratnasamy, S., Francis, P., Shenker, S.: A Scalable Content-Addressable Network. In: Proc of. ACM SIGCOMM (2001) [6] Rowstron, A., Druschel, P.: Pastry: Scalable, Distributed Object Location and Routing for Large-Scale Peer-to-Peer Systems. In: Proc of. Int’l Conf. Distributed Systems Platforms (2001) [7] Rhea, S., Geels, D., Roscoe, T., Kubiatowicz, J.: Handling Churn in a DHT. In: Proc of. USENIX (2004) [8] Li, J., Stribling, J., Morris, R., Kaashoek, M.F.: Bandwidth-efficient Management of DHT Rout-ing Tables. In: Proc of. NSDI (2005) [9] Qiu, T., Chen, G., Ye, M., Chan, E., Zhao, B.Y.: Towards Location-aware Topology in both Unstructured and Structured P2P Systems. In: Proc of. IEEE ICPP (2007) [10] Srivatsa, M., Gedik, B., Liu, L.: Large Scaling Unstructured Peer-to-Peer Networks with Heterogeneity-Aware Topology and Routing. IEEE Transactions on Parallel and Distributed Systems 17(11), 1277–1293 (2006) [11] Aggarwal, V., Feldmann, A., Scheideler, C.: Can ISPs and P2P Systems Cooperate for Improved Performance? ACM SIGCOMM Computer Communications Review 37(3), 29–40 (2007) [12] Shen, G., Wang, Y., Xiong, Y., Zhao, B., Zhang, Z.: HPTP: Relieving the Tension between ISPs and P2P. In: IPTPS (2007) [13] Liu, Y., Xiao, L., Ni, L.M.: Building a Scalable Bipartite P2P Overlay Network. IEEE Transactions on Parallel and Distributed Systems 18(9), 1296–1306 (2007) [14] Ng, T.S.E., Zhang, H.: Predicting Internet Net-work Distance with Coordinates-Based Approaches. In: Proc of. IEEE INFOCOM (2002) [15] Dabek, F., Cox, R., Kaashoek, F., Morris, R.: Vivaldi: A Decentralized Network Coordinate System. In: Proc of. ACM SIGCOMM (2004) [16] Zhou, S., Ganger, G.R., Steenkiste, P.: Location-based Node IDs: Enabling Explicit Locality in DHTs. Technical Report CMU-CS-03-171 (2003) [17] Freedman, M.J., Mazieres, D.: Sloppy Hashing and Self-organizing Clusters. In: Proc of. IPTPS (2003) [18] Faber, V.: Clustering and the Continuous k-Means Al-gorithm. Los Alamos Science, 22, pp.138-144 (1994) [19] Jiang, H., Dovrolis, C.: Passive Estimation of TCP Round-Trip Times. ACM Computer Communications Review 32(3), 75–88 (2002)
Towards an ISP-Compliant, Peer-Friendly Design for Peer-to-Peer Networks Haiyong Xie, Yang Richard Yang, and Avi Silberschatz Computer Science Department, Yale University, New Haven CT 06511, USA {haiyong.xie,yang.r.yang,avi.silberschatz}@yale.edu
Abstract. Peer-to-peer (P2P) applications are consuming a significant fraction of the total bandwidth of Internet service providers (ISPs). This has become a financial burden to ISPs and if not well addressed may lead ISPs to block or put strict rate limits on P2P traffic. In this paper, we propose a new framework, PCP, for designing P2P applications to smoothly fit into the global Internet. In our framework, an ISP decides on how much of its bandwidth is to be allocated to P2P clients, and P2P clients inside the network adopt a peer-friendly algorithm to fairly share the bandwidth. Using the widely-used percentile-based charging model and real traffic traces, we show that an ISP can allocate a large amount of bandwidth dedicated to P2P, without increasing its financial cost. We also show that P2P clients can use the algorithm to fairly share the allocated bandwidth.
1
Introduction
There are increasing concerns on Peer-to-Peer (P2P) applications by Internet Service Providers (ISPs). P2P traffic consumes an increasingly significant fraction of network bandwidth of ISPs. A recent study [7] estimates that the aggregated traffic of all P2P applications contributes to about 60-70% of the traffic in Internet and about 80% of the traffic in the last-mile providers’ networks. Thus P2P traffic increases network utilization, and can result in performance degradation to other applications. More importantly, P2P traffic is becoming a financial burden to the ISPs. Most ISPs connect to the Internet through their providers, and pay for the transit services. However, it may well happen that P2P clients in an ISP’s network upload a substantial amount of data to their peers in the ISP’s provider networks; hence, the ISP may become a content provider and be charged by its network provider unnecessarily. In a recent study [12] on Skype, the authors find that many universities are hosting a large number of Skype super nodes, and becoming potential providers to the rest of the Internet. In such networks, the outbound P2P traffic can be 5 times more than normal inbound traffic [10]. This can incur substantially higher operational cost to the university network. The world-wide extra costs due to P2P traffic are estimated to be in excess of e 500M per annum [7].
Haiyong Xie is supported by NSF grants ANI-0238038 and CNS-0435201. Yang Richard Yang is supported in part by NSF grants ANI-0238038 and CNS-0435201.
A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 375–384, 2008. c IFIP International Federation for Information Processing 2008
376
H. Xie, Y.R. Yang, and A. Silberschatz
However, ISPs do not have effective methods to handle the increasing P2P traffic. First, an ISP can upgrade its infrastructure. However, this may increase its over-provisioning cost substantially; further, the upgraded bandwidth might quickly be consumed by the constantly increasing P2P traffic. Second, an ISP can use P2P caching devices to reduce P2P bandwidth consumption. However, many ISPs are reluctant to get involved in content distribution by some P2P applications due to legal concerns. Third, an ISP may choose to block P2P traffic. However, this may involve complicated legal and publicity issues. Last, an ISP can use traffic shaping devices (e.g., [6,9]) to enforce a hard limit on P2P bandwidth consumption. However, P2P applications have taken countermeasures, for instance, hide themselves by using existing application-layer protocols and using random port numbers and message stream encryption [1]. Such evading techniques not only substantially increase the complexity but also reduce the interoperability and impede the development of P2P applications. In this paper, we propose a new framework referred to as Peer Coordination Protocol1 (or PCP for short). The framework allows ISPs to decides its bandwidth allocated to P2P clients according to its policy constraints, for example, an ISP may want to bound the total extra bandwidth and financial costs incurred by P2P applications. A clear advantage of the framework is that it allow an ISP to explicitly express its policies and constraints on P2P bandwidth usage. We also design algorithms for an ISP to determine P2P bandwidth allocation without increasing its cost in the widely-used percentile-based charging model. We show that our dynamic approach can allocate a large amount of bandwidth (40-60% of total bandwidth) to P2P applications without increasing its financial cost. Thus, our framework not only gives ISPs explicit control over bandwidth allocation, but also gives P2P clients incentive to adopt the approach since they can obtain a large amount of bandwidth which may not be feasible otherwise. In addition, we design a distributed algorithm for P2P clients inside an ISP network to be peer-friendly and share the allocated P2P bandwidth. Using real Internet traces, we demonstrate the effectiveness of our algorithm.
2
A Framework for ISP-Compliant, Peer-Friendly Design
Consider the scenario where an ISP network is connected to its provider through a peering link. Our focus is how the ISP should allocate the bandwidth of this link, and how P2P clients in the ISP should share the allocated bandwidth efficiently. Although we only consider a single peering link in the setup, our framework can be easily generalized to deal with multiple peering links. The first component is the algorithm to compute the total bandwidth allocatable to all P2P clients in the ISP network (referred to as total P2P capacity). The ISP should communicate the total P2P capacity to P2P clients in its network. One implementation strategy is to use one or multiple capacity allocation servers for this purpose. The ISP’s DNS server maintains a unique DNS resource 1
It is worth of noting that besides P2P, our framework is applicable to other applications as well.
Towards an ISP-Compliant, Peer-Friendly Design for Peer-to-Peer Networks
377
record (e.g., PCP) for these servers. P2P clients should query them through DNS lookups to obtain the total P2P capacity. Common practices such as DNS-based round robin and IP-based query filtering can be used to balance the query load and preserve privacy. The second component is the peer-friendly algorithm for P2P clients to fairly share the total P2P capacity. This component is necessary since the ISP may not want to be involved in determining how P2P clients should share the allocated capacity. Further, there may exist multiple P2P applications and/or clients in the ISP network, and they may not be aware of each other. Therefore, it is desirable that the capacity sharing algorithm be distributed.
3
Percentile Networks
We now study an ISP-compliant, peer-friendly P2P design for percentile networks where an ISP’s transit costs are determined by the widely-used percentilebased charging model. We study two common policies where the ISP allocates P2P capacity so that (1) the additional P2P traffic does not increase the ISP’s transit cost; and (2) the total traffic on the transit link does not exceed link capacity. Note that the ISP may impose additional constraints, for example, a threshold on network utilization. Our framework can be extended to handle such constraints. The percentile-based charging model is a typical usage-based charging scheme currently in use by many ISPs (e.g., [5]). Consider an ISP obtains transit services through a transit link with capacity C to its provider. The ISP’s provider records the traffic volumes on the transit link in 5-minute intervals, denoted by vi for the i-th interval. Let V be the vector consisting of the volumes in a charging period (typically one month) of I intervals. The provider charges the ISP using the q-th percentile of the sorted V (referred to as charging volume). We denote by xi and yi the non-P2P and P2P traffic volume on the transit link in the i-th interval, respectively. Let X and Y be the vectors of non-P2P and P2P traffic volumes. We also denote by K the number of P2P clients in the given ISP’s network, and yik the capacity P2P client k uses onk the transit link in the i-th interval. Thus Y k = {yik |1 ≤ i ≤ I}, and Y = Y . Let p = qt(V, q) be the charging volume, i.e., the q-th percentile of the traffic volume vector V. We formulate the aforementioned two ISP policies as follows: (1) for the cost constraint, and (2) for the link capacity constraint. qt(X + Y, q) = qt(X, q); ∀i : xi +
K
yik ≤ C.
(1) (2)
k=1
3.1
Algorithm to Determine Total Allocated P2P Bandwidth
We next present an algorithm for the ISP to determine the total P2P capacity for each interval (i.e., p − vi ). However, p is unknown until the end of a charging
378
H. Xie, Y.R. Yang, and A. Silberschatz
C
B
A x˜i
x˜i−1
p˜i−1 +˜ xi−1 2
p˜i−1
Fig. 1. Network status
for each time interval i in a charging period obtain c˜i for the current interval obtain last interval’s network state // update division factor if case A ˜i = K ˜ i−1 ∗ 2 K else if case B ˜ i = max{1, K ˜ i−1 − 1} K else if case C ˜ i = c˜i × K ˜ i−1 K c ˜i−1 // compute its share of total P2P capacity ˜i yi = c˜i /K
Fig. 2. A capacity sharing algorithm
period, and vi is unknown until the end of an interval i. We can predict p and vi at the beginning of each interval. To facilitate the prediction, we collect traffic volumes in previous intervals by repeatedly querying the border router through SNMP2 . We take a hybrid sliding window approach to predicting p. Specifically, for the first M intervals in a charging period, the traffic volumes of the last charging period (up to and including the last interval) are used for predicting the charging volume; while for the remaining I − M intervals, the traffic volumes from the first interval to the latest interval in the current charging period are used for prediction. We denote by p˜i the predicted charging volume: qt(V [i − I, i − 1], q) for s ≤ i ≤ M, p˜i = (3) qt(V [s, i − 1], q) for M < i < s + I, where s = Ii ∗ I + 1 is the first interval in the current charging period. We take a similar approach to predicting vi for each interval i. Specifically, a sliding window of the recent N intervals isused for the prediction. We denote by v˜i the predicted traffic volume: v˜i = N1 i−1 j=i−N vj . Similarly we can predict x ˜i . We then estimate the predicted P2P capacity as c˜i = p˜i − x ˜i for each interval i. Note that the size of the sliding window is a parameter of the prediction algorithm. However, it cannot be too large; otherwise, the diurnal traffic patterns will be lost in the prediction. 3.2
A Distributed, Peer-Friendly Sharing Algorithm
We next present an algorithm for P2P clients to share the allocated P2P capacity. At the beginning of an interval, each P2P client first queries the ISP to obtain the current P2P capacity ci and then estimate its fair share. The estimation relies on an aggregated network status and an internal division factor. The latter is an estimation of the total number of P2P clients in the network, denoted ˜ i. by K 2
The router’s MIB keeps a counter for the traffic volume vi in each 5-minute interval i, and this is widely implemented in most of the off-the-shelf routers.
Towards an ISP-Compliant, Peer-Friendly Design for Peer-to-Peer Networks
379
Table 1. Traffic traces and rates (Mbps) AS Organization Traffic Rate Charging Volume Total P2P Capacity 52 UCLA 47.550 95.614 48.063 55 University of Pennsylvania 39.793 67.227 27.433 111 Boston University 43.314 85.674 42.359 237 Merit Network Inc. 103.772 185.027 81.254 1249 Five Colleges Network 31.189 63.073 31.887 22753 Red Hat Inc. 28.079 64.611 36.531
% 50% 41% 49% 44% 51% 57%
Network status: We divide the network status into three cases, as shown in Figure 1. We refer to a network in interval i − 1 as over-utilized if p˜i−1 < vi−1 , and under-utilized otherwise. Therefore, case A implies that the network is likely to be over-utilized, while case B and C correspond to a potentially low and high under-utilization, respectively. Note that over-utilization may result in violation of ISP-compliant constraints 3 ; therefore, P2P clients should reduce their traffic rates more aggressively in over-utilization states. Division factor: Each P2P client adjusts its local division factor using the algorithm in Figure 2. Specifically, the algorithm aggressively doubles its division factor when the network is over-utilized, resulting in reducing its share of the total P2P capacity by half. When in case B, the division factor is reduced gradually by one until it reaches the lowest value 1; thus, the P2P node can gradually increase its share of the the total capacity. When in case C, the division factor is updated proportional to the ratio of the P2P capacities in the current and latest interval. It is particularly desirable that the network is over-utilized as least often as possible, since this reduces the chances of violating ISP-compliant constraints. We can show by Proposition 1 (we omit its proof due to space limit) that the algorithm guarantees that the network is not over-utilized if it is under-utilized in the preceding interval. Proposition 1. Assume that the network is under-utilized in interval i − 1 and xi ≤ xi−1 . Assume also that the prediction for the charging volumes is accurate and that the network has a fixed number of P2P nodes. The peer-friendly sharing algorithm guarantees that the network is not over-utilized in the next interval.
4
Evaluations
We use real Internet traffic traces in our evaluations. The traces were collected from Abilene, containing 5-minute traffic volumes from Nov. 1, 2003 to Dec. 31, 2003. We take the traffic volumes in these traces as non-P2P traffic. We also use the 95th-percentile charging model and the charging period is one month. For brevity, we present the results obtained using the traces of AS 111 only, since others have similar results. 3
In a q-percentile charging model, the charging volume will increased if the total P2P capacity is over-utilized in more than q percent of intervals.
H. Xie, Y.R. Yang, and A. Silberschatz
Charging Volume (Mbps)
125
Hybrid Incremental Basic non-P2P
120 115 110 105 100 95 90
125 Charging Volume (Mbps)
380
last interval (N=1) average (N=6) maximum (N=6) non-P2P
120 115 110 105 100 95 90
0
1000 2000 3000 4000 5000 6000 7000 8000 Interval
Fig. 3. Charging volume prediction
0
1000 2000 3000 4000 5000 6000 7000 8000 Interval
Fig. 4. Traffic volume prediction
We consider three performance metrics. The first is charging volume, from which we can derive the total costs. The second is robustness of the capacity prediction algorithm to traffic pattern changes. The third is efficiency of the capacity sharing algorithm. A desirable algorithm should enable multiple P2P clients to efficiently and fairly share the allocated P2P capacity. We evaluate the following algorithms of charging volume prediction: (1) the algorithm based on Equation (3), (2) a basic sliding window algorithm that uses the recent I intervals to predict the charging volume, and (3) an incremental sliding window algorithm that uses known volumes in the current charging period only. We also evaluate the algorithms predicting traffic volume as the average and maximum volume in a varying number N recent intervals, respectively. 4.1
Total Available P2P Capacity in Percentile Networks
Table 1 summarizes the results of the available P2P capacity in percentile networks. We observe that all six ASes can allocate 40% – 60% of their bandwidth usage to P2P applications without increasing their bandwidth costs. In other words, these networks can accommodate about the same amount of additional P2P traffic as that of non-P2P traffic at no extra financial costs. This is clearly an evidence that a dynamic policy may be more desirable since it is unlikely that an ISP will statically allocate 40% to 60% of their bandwidth to P2P applications. 4.2
Algorithm to Determine the Total P2P Capacity
Figure 3 plots the results of evaluating charging volume prediction algorithms, assuming that traffic volumes are known a priori. In order to show the dynamics of the algorithms, we plot the charging volumes computed in all intervals, and only the last point on each curve represents the real charging volume for the complete charging period. We observe that all three algorithms result in higher charging volumes due to prediction errors. In particular, the hybrid/basic and incremental algorithms increase the charging volume by 3% and 6%, respectively. An ISP pays only a small penalty by using these algorithms. Fig 4 plots the results of evaluating traffic volume prediction algorithms, where we use the hybrid sliding window algorithm to predict the charging volume.
Towards an ISP-Compliant, Peer-Friendly Design for Peer-to-Peer Networks
381
We observe that the last-interval prediction algorithm (N = 1) increases the charging volume by 12%, while the maximum and average algorithms (N = 6) increase the charging volume by only 1% and 3%, respectively. The results are consistent when N is larger. The last-interval prediction relies too much on the most recent history of traffic rates, thus is likely to have higher prediction errors when the traffic rates fluctuate. The maximum algorithm slightly outperforms the average algorithm. However, we find that it allocates 26.167 Mbps, while the average algorithm allocates 33.210 Mbps (or 27% more), as the P2P capacity. This suggests that the average algorithm is more desirable as a traffic volume prediction algorithm in percentile networks. 4.3
Distributed, Peer-Friendly Sharing Algorithm
Figure 5 plots the results of evaluating the capacity sharing algorithm. We observe that the charging volume increases by 6%. This penalty is due to the prediction error in P2P capacity prediction (as shown in Section 4.2) and underestimation of of the division factor. Figure 6 illustrates how efficiently the P2P capacity is shared by P2P clients. We observe that P2P clients coordinate themselves to share the allocated P2P capacity. We define the P2P capacity utilization ratio as the ratio between the aggregated P2P traffic volumes and the aggregated P2P capacity (sum of P2P capacity allocated in all intervals). We find that the P2P capacity utilization ratio is 71%; in other words, the two P2P nodes utilize 71% of all available P2P capacity using the capacity sharing algorithm. We also find that the clients generate approximately equal amount of traffic. Although the evaluation is very preliminary, the result suggests that the distributed, peer-friendly sharing algorithm is efficient for P2P clients to fairly share the allocated P2P capacity. 4.4
Robustness to Changing Traffic Patterns
To evaluate the robustness of the proposed algorithms to the Internet traffic dynamics, We repeat the experiments of Section 4.2 using the traces of Dec. 2003, as they have changing traffic patterns. Figure 7 plots the results of charging volume prediction algorithms. We observe that all three schemes are robust to the traffic dynamics, with only about 9% increase in the final charging volume. We also observe that the hybrid algorithm slightly outperforms the incremental algorithm, and that both of them outperforms the basic sliding window algorithm. Figure 8 plots the results of the algorithm to determine the total P2P capacity. We observe that the last-interval prediction is not robust due to the same reason described in the preceding subsection. while the average and maximum algorithm increase the charging volume by 14% and 7%, respectively. This suggests that the latter two algorithms are more desirable for ISPs having non-regular diurnal traffic patterns to predict the total P2P capacity.
382
H. Xie, Y.R. Yang, and A. Silberschatz
non-P2P Traffic P2P Node 1’s Traffic P2P Node 2’s Traffic Charging Volume of non-P2P Traffic Charging Volume of Total Traffic
200
100
Traffic Volume (Mbps)
Charging Volume (Mbps)
120
80 60 40 20
peer-friendly sharing non-P2P
0 0
1000 2000 3000 4000 5000 6000 7000 8000 Interval
150 100 50 0 0
1000
2000
3000
4000
5000
6000
7000
8000
Interval
Fig. 5. Charging volume when using ca- Fig. 6. P2P capacity utilization when uspacity sharing algorithm ing capacity sharing algorithm
5
Discussions
We first consider the problem that a P2P client has to make an initial estimation about the division factor when it first becomes active. A straightforwad approach is random initial estimation. However, the number of P2P clients may change significantly, especially in flash crowd period; thus, a random estimation is unlikely to well approximate it. Furthermore, an under-estimation will result in capacity over-utilization; consequently, the division factors will be halved, leading to inefficiency in P2P capacity sharing in the following rounds. We can take an ISP-aided initial estimation. Specifically, the ISP provides ˜ i = p−˜xi as a reference initial estimation. A new P2P client should obtain K p−vi−1 this reference and share the P2P capacity only when the network is underutilized. This approach is desirable in that as Proposition 2 shows, under some mild assumptions, a single new P2P can join the network without causing the network to be over-utilized. Proposition 2. Suppose that the assumptions in Proposition 1 hold. If a single ˜ i = p−˜xi in its initial estimation new P2P client joins a network and use K p−vi−1 of division factor, then the network is under-utilized in the next interval. We next consider the implications for Internet charging models. One potential concern of the proposed ISP-compliant P2P design is that the upstream providers may thus have incentives to change their charging models. We believe that this is unlikely to happen. ISPs’ traffic is still likely to have diurnal patterns, even with a large fraction of P2P traffic (see, e.g., [10]) Consequently, an ISP’s network should still be designed to handle the aggregated traffic peaks, regardless of P2P traffic. Thus, even if the traffic rate is flatten out at the targeted charging volumes (typically much lower than the peak rates) due to ISP-compliant P2P traffic, the ISP should still be able to handle all traffic.
6
Related Work
P2P traffic shaping (e.g., [6,9]) and caching (e.g., [3,8]) can be used to reduce bandwidth consumption of P2P applications. However, P2P applications often
125 120 115 110 105 100 95 90 85 80
Charging Volume (Mbps)
Charging Volume (Mbps)
Towards an ISP-Compliant, Peer-Friendly Design for Peer-to-Peer Networks
Basic Incremental Hybrid non-P2P 0
1000 2000 3000 4000 5000 6000 7000 8000 Interval
125 120 115 110 105 100 95 90 85 80
383
last interval average maximum non-P2P 0
1000 2000 3000 4000 5000 6000 7000 8000 Interval
Fig. 7. Robustness of traffic volume pre- Fig. 8. Robustness of charging volume diction algorithms prediction algorithms
differ in control messages, and hide themselves using encryption. Many ISPs are reluctant to get involved in P2P content distribution by deployment of P2P caching devices. It remains unclear whether in the long run they can effectively reduce operational costs. More recently, researchers have studied P2P network connectivity control to reduce P2P bandwidth consumption. In particular, Xie et al. proposed iTracker as an ISP portal service for disseminating network status and policy [11], which resulted in the formation of a Distributed Computing Industry Association (DCIA) [4] working group P4PWG and large-scale pilot studies on P4P. Aggarwal et al. proposed an oracle as an ISP service to rank the peers for P2P clients [2]. However, there lacks a study and it remains unclear in [2] how effectively ISPs can implement their policies by simply ranking the peers. Our framework differs from both approaches in that it imposes finer-grain control and has the potential benefit of implementing ISP policies more effectively.
7
Conclusion
In this paper, we present a new framework for ISP-compliant, peer-friendly P2P design. The framework enables ISP network to determine its capacity allocatable to P2P applications. We show that in typical percentile networks, an ISP can allocate a large amount of bandwidth to P2P applications without increasing its financial cost. We also show that P2P clients can use a distributed, peer-friendly algorithm to fairly share the allocated P2P bandwidth.
References 1. Message Stream Encryption, http://www.azureuswiki.com 2. Aggarwal, V., Feldmann, A., Scheideler, C.: Can ISPs and P2P systems cooperate for improved performance? In: ACM CCR (July 2007) 3. CacheLogic. Serving cached content, http://www.cachelogic.com/products/cachepliance.php 4. Distributed Computing Industry Association, http://www.dcia.info
384
H. Xie, Y.R. Yang, and A. Silberschatz
5. Odlyzko, A.: Internet pricing and the history of communications. Computer Networks 36, 493–517 (2001) 6. Packeteer. Packeteer PacketShaper, http://www.packeteer.com/products/packetshaper 7. Parker, A.: The true picture of peer-to-peer filesharing (July 2004), http://www.cachelogic.com 8. Saleh, O., Hefeeda, M.: Modeling and caching of peer-to-peer traffic. In: Proceedings of ICNP 2006, Washington, DC (November 2006) 9. Sandvine. Intelligent broadband network management, http://www.sandvine.com 10. Saroiu, S., Gummadi, K.P., Dunn, R.J., Gribble, S.D., Levy, H.M.: An analysis of internet content delivery systems. In: Proceedings of OSDI 2002, Boston, MA (December 2002) 11. Xie, H., Krishnamurthy, A., Yang, Y. R., and Silberschatz, A. P4P: Proactive provider participation for P2P. Tech. Rep. YALEU/DCS/TR-1377, Yale University (March 2007) 12. Xie, H., Yang, Y.R.: A measurement-based study of the skype peer-to-peer VoIP performance. In: Proceedings of IPTPS 2007, Bellevue, WA (February 2007)
Cache Placement Optimization in Hierarchical Networks: Analysis and Performance Evaluation Wenzhong Li1,2 , Edward Chan2 , Yilin Wang1,2 , Daoxu Chen1 , and Sanglu Lu1 1
State Key Laboratory for Novel Software Technology, Nanjing University, Nanjing, Jiangsu, 210093, China 2 Department of Computer Science, City University of Hong Kong, Kowloon, Hong Kong [email protected]
Abstract. Caching popular content in the Internet has been recognized as one of the effective solution to alleviate network congestion and accelerate user information access. Sharing and coordinating in cache data placement provide an opportunity to improve system performance. This paper studies cache placement strategies and their performance in hierarchical network environments. A theoretical model is introduced to analyze the access cost of placing a set of object copies in the cache hierarchy, under which the object placement problem is formulated as an optimization problem. The problem is proved to be divided into subproblems, and a dynamic programming algorithm is proposed to obtain the optimal solution. Performance of different caching strategies is evaluated using simulations. It is shown that the proposed algorithm outperforms other cache placement strategies in hierarchical caching systems. Keywords: cooperative caching, hierarchical caching system, cache placement and replacement.
1
Introduction
Data caching is a widely used technique to improve system performance, i.e. reduce network traffic, alleviate server load and decrease access latency. Danzig et. al. first showed that by providing caches in a hierarchical arrangement, the network bandwidth consumed for file transfer could be significantly reduced [4]. Following these findings, a hierarchical caching system was implemented in the Harvest system [2]. Coordinating object placement is one of the important issues in hierarchical caching systems. Given a set of caches, their network distances and access frequencies, cache placement and replacement decides which objects should be stored in the caching system and which object should be removed in order to minimize the total access cost [5]. In this paper, we study the performance of placement strategies for hierarchical caching using both analytical model and simulations. We first setup a theoretical model to analyze the accumulative access cost of cache placement A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 385–396, 2008. c IFIP International Federation for Information Processing 2008
386
W. Li et al.
strategies. Then we formulate the object placement problem as an optimization problem. The problem is further proved to be divided into subproblems, thus optimal solution using dynamic programming is proposed. We use simulation to evaluate the performance of different hierarchical caching algorithms. Experimental results show that the proposed strategy outperforms most existing hierarchical caching algorithms.
2
Related Work
Hierarchical web caching was first proposed in the context of the Harvest [2] project, where a series of caches hierarchically are arranged in a tree-like structure. Requests are first received at the leaf caches and are routed upwards until they reach a cache (or the content server) that stores a copy of the requested document. And then, the object is sent back on the reverse path to the client, each cache on this path gets to store a copy of the object. However, caching redundant object copies may not be an efficient approach and recent work [6, 7, 3] has shown that the scheme can be improved. Che et. al. [3] analyzed an uncooperative two-level hierarchical caching system where the LRU algorithm is locally run at each cache. On the basis of this analysis, a new algorithm referred to as Filter is proposed. A cache can be viewed roughly as a low pass filter with its cutoff frequency equal to the inverse of the characteristic time. Documents with access frequencies lower than this cutoff frequency will have good chances to pass through the cache without storing a local copy. However, Filter incurs additional complexity as it needs to estimate the request frequency of each requested document in all clients and disseminate this information to all the caches. Laoutaris et. al. studied several meta algorithms for hierarchical web caching, namely Prob, LCD (Leave Copy Down) and MCD (Move Copy Down) [6]. Comparison of the three algorithms with the LCE and Filter in [7] showed that LCD performs the best under all the studied scenarios. It even appears to perform better than Filter, despite the fact that it is much simpler. Korupolu et. al. investigated the placement problem for hierarchical cooperative caching, that is, how to fill the available cache space with copies of objects in such a way that average access cost is minimized [5]. Both exact and approximate polynomial-time algorithms were presented. The exact algorithm was based on a reduction to a min-cost flow problem. However, it does not appear to be practical for large problem size. Tang et. al. proposed a coordinated en-route web caching scheme [11]. In this scheme, cache status information along the routing path of a request is used in dynamically determining where to cache the requested object and what to replace if there is not enough space. The object placement problem is formulated as an optimization problem and the optimal locations to cache the object are obtained using a dynamic programming algorithm. Similar solution can be found in [8]. Their work are the basis of our analysis.
Cache Placement Optimization in Hierarchical Networks
387
Internet Server
Content Servers
Server
Server Server
Proxy
Proxy
Proxy
Proxy
Proxy Proxy Proxy
Proxy
Proxy Proxy
Proxy
Proxy
Hierarchical Caching
Proxy
Client Client
Client
Client
Fig. 1. Hierarchical caching architecture
3
Hierarchical Caching System
A hierarchical caching architecture is illustrated in Figure 1. In this architecture, a set of cache servers (proxies) are arranged in a hierarchical tree-like form, with the leaf nodes corresponding to the lowest level caches closest to the end users and the root nodes corresponding to the highest level caches. The caches in the higher level can be shared by the caching proxy servers in the lower level, forming a highly scalable caching hierarchy. User requests travel from a given leaf node towards the root node, until the requested document is found. If the requested document cannot be found even at the root level, the request is redirected to the content server containing the document. When the document is found, it is passed down through the reverse path to the client. Each cache on the reverse path decides to cache the document or not according to a chosen strategy. We address an important issue in designing hierarchical caching systems: how to appropriately deploy cache objects so that the total user access cost in minimized. In the following sections, we will present a theoretical model to investigate this problem.
4
Hierarchical Cache Placement Problem
Figure 2 depicts a scenario of data access in hierarchical caching. A leaf proxy v initiates a query for object O. The query is forwarded to the higher level of the hierarchy, until it is served at a proxy u. Let node 0 be proxy u, node n be proxy v, and node n-1,n-2, · · · , 1 denote the proxies on the path from v to u. Let fi be the access frequency of object O observed by node i, i.e. the number of requests for object O passing through v to the number of total requests. When
388
W. Li et al. u 0 f1 1 m1 hi
f2 f3
2 mf21-f2
...
f2-f3
fi
i mi fi-1 ... fi-fi-1 fn-1 n-1 mn-1 fn n mn v
Fig. 2. Data access model for hierarchical caching
object O is passed down from node 0 to node n, a copy of O can be dynamically placed in some of the proxies along the path. The question is which nodes should cache a copy of object O, so that the total access cost is minimized. 4.1
Cache Placement
Cache placement assigns copies of objects to the nodes along the path subject to the cache capacity constraints. The set of nodes which are chosen to cache the object is called a placement of cache copies. We first give a formal definition of placement for hierarchical caching. Definition 1 (HiePlacement). Suppose object O is cached in K intermediate nodes d1 , d2 , · · · , dK , where 0 ≤ K ≤ n, and 1 ≤ d1 < d2 < · · · < dK ≤ n. The set DK = {d1 , d2 , · · · , dK } is a subset of the nodes along the path. We call DK a HiePlacement (short for hierarchical placement) of the set {1,2,· · · ,n }. 4.2
Access Cost
The cost that a node fetches the requested data object from a near proxy is called access cost of the object. The access cost can be evaluated by different metrics, i.e. the network delay to fetch the object, the total bandwidth consumed and the communication overhead caused. In this paper, we use network latency to measure the access cost of an object. Please notice that the strategy proposed in the following sections can be also apply to other cost metrics. Assume the access delay is calculated by the hops that the object travels through to serve a query. The access cost of object i depends on: the access frequency to the object,
Cache Placement Optimization in Hierarchical Networks
389
denoted by fi , and the distance to fetch the object, denoted by disti . Formally the access cost can be expressed as: costi = fi · disti . 4.3
(1)
Replacement Cost
As a proxy has limited cache space, when a new object is inserted, one or more objects should be removed from the cache to make room for the new object. If an object is removed, the access cost to it is increased, which is referred to as replacement cost. The replacement cost of an object equals to the total access cost of the evicted objects. We employs a greedy cache replacement strategy in our scheme: each object is associated with a replacement cost value; when cache replacement occurs, the objects with the smallest replacement cost are selected, until sufficient space is created. 4.4
Accumulative Access Cost
We now derive the accumulative access cost under a HiePlacement. Consider the scenario of Figure 2. Assume DK = {d1 , d2 , · · · , dK } (1 ≤ d1 < d2 < · · · < dK ≤ n) is a HiePlacement. Assume each request is satisfied by the closest copy of the requested object. We use a function dist(i, a, DK )(a ≤ i) to calculate the distance from node i to a closest node holding the requested object under HiePlacement DK . If no such node exists, it equals to i−a. Formally, the function can be defined as: dist(i, a, DK ) = i − τ
(2)
where τ = max{a, dj (a ≤ dj ≤ i)} According to equation 1, for node i, the access cost to the object is fi · dist(i, a, DK ). We now consider the access cost of all nodes in the path. As shown in the data access model in Figure 2, requests for O that go through node i must also pass through nodes i-1,i-2,· · · ,1. Let Fi = fi − fi+1 . The total access cost to object O under HiePlacement DK is (Let fn+1 = 0): n Fi · dist(i, 0, DK ) i=1
By placing an object in node i, there is a replacement cost due to cache replacement, denoted by mi . Define a penalty function as: mi if i ∈ DK ; penalty(i, DK ) = 0 else The accumulative access cost in Figure 2 under HiePlacement DK can be calculated as: n (Fi · dist(i, 0, DK ) + penalty(i, DK )) (3) i=1
390
W. Li et al.
Our objective is to find an optimal HiePlacement, so that the total access cost in equation (3) is minimized. We provide a more general definition of the placement problem as following. Definition 2 ((a,b)-HiePlacement problem). Given two integers a,b (0 ≤ a ≤ b), and a set of real number fa , fa+1 , · · · , fb−1 , fb , ma , ma+1 , · · · , mb−1 , mb , where fa ≥ fa+1 ≥ ... ≥ fb ≥ 0, and mi ≥ 0 (i=a,a+1,...,b), Assume DK = {d1 , d2 , · · · , dK } (a < d1 < d2 < · · · < dK ≤ b) is a HiePlacement of the set {a + 1, a + 2, ..., b}. Let Fi = fi − fi+1 and fb+1 = 0. Define an objective function as C(a, b, DK ) =
b
(Fi · dist(i, a, DK ) + penalty(i, DK )).
(4)
i=a+1
The (a, b) − HieP lacement problem is: find K and DK , so that C(a, b, DK ) is minimized. According to the definition, the object placement problem in Figure 2 is simply a (0, n) − HieP lacement problem.
5
Solution
Before presenting our solution, we first give the following observation on the objective function. Theorem 1. Assume DK = {d1 , d2 , ..., dK } (a < d1 < d2 < · · · < dK ≤ b) is a HiePlacement of the set {a + 1, a + 2, ..., b}. C(a, b, DK ) is an objective function of an (a, b) − HieP lacement problem. For any μ(1 ≤ μ ≤ K), the following equation should be satisfied: C(a, b, DK ) = C(a, dμ − 1, {d1 , ..., dμ−1 }) + mdμ + C(dμ , b, {dμ+1 , ..., dK }) (5) Proof. For any μ(1 ≤ μ ≤ K), the set of DK can be divided into three subsets: P = {d1 , ..., dμ−1 }, Q = {dμ }, R = {dμ+1 , ..., dK }. C(a, dμ − 1, P ) + mdμ + C(dμ , b, R) dμ −1
=
(Fi · dist(i, a, P ) + penalty(i, P )) + mdμ
i=a+1
+
b
(Fi · dist(i, dμ , R) + penalty(i, R))
i=dμ +1
According to the definition of dist and penalty, we have: (a) when a < i < dμ , dist(i, a, P ) = dist(i, a, DK ) and penalty(i, P ) = penalty(i, DK ); (b) when i = dμ , dist(i, a, DK ) = 0 and penalty(dμ , DK ) = mdμ ;
Cache Placement Optimization in Hierarchical Networks
391
(c) when dμ < i ≤ b, dist(i, dμ , R) = dist(i, a, R) = dist(i, a, DK ) and penalty(i, R) = penalty(i, DK ). So, C(a, dμ − 1, P ) + mdμ + C(dμ , b, R) dμ −1
=
(Fi · dist(i, a, DK ) + penalty(i, DK )) + Fdμ · 0 + penalty(dμ , DK )
i=a+1
+
b
(Fi · dist(i, a, DK ) + penalty(i, DK ))
i=dμ +1
=
b
(Fi · dist(i, a, DK ) + penalty(i, DK ))
i=a+1
= C(a, b, DK ) The following Theorem shows that the optimal HiePlacement can be obtained by solving subproblems. Theorem 2. Assume a, b, K are integers, 0 ≤ a ≤ b and 0 ≤ K ≤ b−a. Suppose DK = {d1 , d2 , ..., dK } (a < d1 < d2 < · · · < dK ≤ b) and Dμ = {q1 , q2 , ..., qμ } (a < q1 < ... < qμ < dK ) are two HiePlacements. If DK is an optimal placement to the (a, b) − HieP lacement problem, and Dμ is an optimal placement to the (a, dK − 1) − HieP lacement problem, then D = Dμ + {dK } is also an optimal placement to the (a, b) − HieP lacement problem. Proof. As Dμ is an optimal placement to the (a, dK − 1) − HieP lacement problem, we have C(a, dK − 1, Dμ ) ≤ C(a, dK − 1, {d1 , d2 , ..., dK−1 }) According to Theorem 1, we have C(a, b, D) = C(a, dK − 1, Dμ ) + mdK + C(dK , b, ∅) ≤ C(a, dK − 1, {d1 , d2 , ..., dK−1 }) + mdK + C(dK , b, ∅) = C(a, b, DK )
(6)
On the other hand, since DK is an optimal placement to the (a, b)−HieP lacement problem, C(a, b, DK ) ≤ C(a, b, D) (7) Combining (6) and (7), we have C(a, b, D) = C(a, b, DK ). Hence, the theorem is proven.
392
W. Li et al.
Theorem 2 shows that the problem can be divided into subproblems, thus dynamic programming can be applied to obtain an optimal solution of the problem. Let OP T (a, b, x) be the minimum access cost of the (a, b)−HieP lacement problem and x(x ≤ a) be the closest node to a which holds a copy of the requested object. Let dist(a, x) denote the network distance between node a and node x. We can devise a dynamic programming solution to the (a, b) − HieP lacement problem as follows.
OP T (a, a, x) = min{ma , fa · dist(a, x)}; OP T (a, b, x) = min{OP T (a + 1, b, a) + ma , OP T (a + 1, b, x) + Fa · dist(a, x)}
(0 ≤ a ≤ b ≤ n)
(8)
According to section 4.4, the solution of the object placement problem in Figure 2 is OP T (1, n, 0).
6 6.1
Performance Evaluation The Simulation Environment
In our simulation, we employ a hierarchical network model similar to [9]. We model the network topology as a tree with L levels. For each node in the tree, if it is not a leaf node, it has a set of children. The number of children of a node is uniformly distributed in the range of [1,M]. A content server resides outside the hierarchy. Assume all queries can be served at the content server. Each node needs to maintain visit history information. Similar to [10], we estimate the access probability pi using a ”sliding window” of K most reference K times as: pi = t−t , where t is the current time and tK is the time of the K th K most recent reference. The length of sliding window is set to 1000, and the value of K is set to 3 in our experiments. We use synthetic workload to evaluate the performance of the proposed cache replacement policies. The synthetic workload simulates a data set with 10000 items, averaging 25 KB per item. Assume the query arrival rate follows a Poisson process with a mean arrival rate of λ. A Zipf-like distribution is used to model the possibility that a data item is requested [1]. In this model, the access probability N pi of data item di is given by pi = iCα , where C = ( k=1 k1α )−1 . The parameter α(0 ≤ α ≤ 1) is the skewness parameter of the Zipf-like distribution, indicating the degree of concentration of requests. We assume homogeneous data access pattern in the mobile clients. That is, all client requests follow the same Zipf pattern. 6.2
Performance Analysis
We employ two widely used metrics in our performance evaluation: cache hit ratio, and average access delay. Three cache placement algorithms are included for comparison: LCE, Prob and LCD [7]. The proposed algorithm is referred to as ”OPT” algorithm in our later analysis.
Cache Placement Optimization in Hierarchical Networks 0.55
5
LCE LCD Prob OPT
0.5 4.5 Average Access Delay
Cache Hit Ratio
0.45 0.4 0.35
393
4
3.5
0.3
0.2 0.25
3
LCE LCD Prob OPT
0.25
0.50
0.75
1.00
Cache Size(% of Data Set Size)
(a) Cache Hit Ratio.
1.25
1.50
2.5 0.25
0.50
0.75
1.00
1.25
1.50
Cache Size(% of Data Set Size)
(b) Average Access Delay.
Fig. 3. Performance under various cache size
Impact of the Cache Size: We first compare the performance of the different cache schemes under different cache size. Each node in the experiment has a relative cache size, which is the percent of the total size of the total data set, and is varied from 0.25 percent to 1.50 percent in our simulation. Figure 3 compares the cache hit ratio as a function of the relative cache size. As shown in Figure 3(a), the cache hit ratio of all the cache schemes steady improves as the cache size increases. the cache hit ratio of LCE scheme increases from 0.2 to 0.4 (about 100 percent improvement), and the cache hit ratio of OPT scheme increases from 0.37 to 0.53 (about 43 percent improvement). It also can be seen that LCE has the lowest cache hit ratio in all conditions. Prob performs better than LCE, but does not fare as well as LCD. However LCD, which is considered a simple and efficient cache placement algorithm in hierarchical caching, is not the best in our simulation. OPT obtains the highest cache hit ratio, which is about 10 to 25 percent higher than LCD in most conditions. Comparison of average access delay is shown in Figure 3(b). It can be seen that access delay decreases with the increasing cache size. For example, the average access delay of LCE and OPT decrease from 5 down to 3.6 and from 4.1 down to 2.8 accordingly (Figure 3(b)). LCE has the highest access delay in both workloads. Prob is a little better than LCE. OPT has the lowest access delay, which indicates data access in the OPT scheme is much faster, and an improvement of 20-30 percent is observed. Impact of the Network Hierarchy Level: Network hierarchy level has a significant impact on the performance of a caching system. The larger the network, the more proxies cooperate in the caching, and the more likely that an object will obtain a hit in the cache. On the other hand, if L is large, a query needs to travel more hops before it reaches the content server. We explore the influence of network topology in this section, with the value of L ranging from 2 to 7. As it is shown in Figure 4(a), cache hit ratio increases with the number of hierarchical levels increasing, but not as remarkable as the influence of increasing cache size. Again, LCE has the lowest cache hit ratio, and OPT outperforms the other cache schemes.
394
W. Li et al.
0.5
5
LCE LCD Prob OPT
4.5 0.45
Average Access Delay
4 Cache Hit Ratio
0.4
0.35
0.3
3.5 3 2.5 2
0.25
LCE LCD Prob OPT
0.2 2
3
4
5
6
1.5 1 7
2
3
Hierarchy levels
4
5
6
7
Hierarchy levels
(a) Cache Hit Ratio.
(b) Average Access Delay.
Fig. 4. Performance under different hierarchy levels 0.45
5.5
LCE LCD Prob OPT
0.4
5
LCE LCD Prob OPT
Average Access Delay
Cache Hit Ratio
0.35 0.3 0.25 0.2
4.5
4
0.15 3.5 0.1 0.05 0.90
0.85
0.80 0.75 Zipf-parameter
(a) Cache Hit Ratio.
0.70
0.65
3 0.90
0.85
0.80 0.75 Zipf-parameter
0.70
0.65
(b) Average Access Delay.
Fig. 5. Performance under various Zipf parameters
Figure 4(b) presents the experiment result of average access delay. One can see that the access delay also increases as the number of levels in the hierarchy increases. This is because when L becomes larger, a query generated in the leaf node needs to travel more hops to reach the content server, thus the access delay becomes longer if a query is missed in all caches. The OPT algorithm still achieves the lowest access delay among the cache schemes. Impact of the Data Access Pattern: Data access pattern can affect the performance of a caching system [1]. As mentioned before, the Zipf skewness parameter α indicates the degree of concentration of file accesses. By changing the value of α, we generate a number of synthetic workloads with different data access patterns to investigate the performance of the various cache replacement strategies. Figure 5 shows the performance when the Zipf skewness parameter varies from 0.9 to 0.65. We can see from the graph that when the Zipf parameter decreases, the performance decrease accordingly. A larger Zipf parameter value means more queries are focused on a set of ”hot” data items. As a result, cache replacement policies can easily identify the frequently accessed data items and
Cache Placement Optimization in Hierarchical Networks
395
keep them in the cache. This explains the performance degradation when the data access interest becomes more sparse. Comparing the performance results shown in Figure 5, we can see that OPT still performs the best under different query patterns.
7
Conclusion
Coordinating data placement in hierarchical caching system helps to reduce user access cost. The novelty of our work is that we study coordinated cache placement strategies using an analytical model and evaluate their performance in hierarchical network environment. The object placement problem is formulated as an optimization problem and the optimal solution is derived using dynamic programming algorithm. Performance of cache placement strategies are evaluated by simulations, which shows that the proposed algorithm performs well in hierarchical caching system.
Acknowledgment The work described in this paper is partially supported by the National HighTech Research and Development Program of China (863) under Grant No. 2006AA01Z199; the National Natural Science Foundation of China under Grant No. 90718031,60573106,60721002; the National Basic Research Program of China (973) under Grant No. 2006CB303000.
References [1] Breslau, L., Cao, P., Fan, L., Phillips, G., Shenker, S.: Web caching and zipf-like distributions: Evidence and implications. In: INFOCOM 1999: Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies, pp. 126– 134 (1999) [2] Chankhunthod, A., Danzig, P.B., Neerdaels, C., Schwartz, M.F., Worrell, K.J.: A hierarchical internet object cache. In: ATEC 1996: Proceedings of the Annual Technical Conference on USENIX 1996 Annual Technical Conference, Berkeley, CA, USA. USENIX Association, pp. 13–13 (1996) [3] Che, H., Wang, Z., Tung, Y.: Analysis and design of hierarchical web caching systems. In: Proc. of Twentieth Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM 2001), pp. 1416–1424. IEEE, Los Alamitos (2001) [4] Danzig, P.B., Hall, R.S., Schwartz, M.F.: A case for caching file objects inside internetworks. SIGCOMM Comput. Commun. Rev. 23(4), 239–248 (1993) [5] Korupolu, M.R., Plaxton, C.G., Rajaraman, R.: Placement algorithms for hierarchical cooperative caching. In: SODA 1999: Proceedings of the tenth annual ACM-SIAM symposium on Discrete algorithms, Philadelphia, PA, USA, pp. 586– 595. Society for Industrial and Applied Mathematics (1999) [6] Laoutaris, N., Che, H., Stavrakakis, I.: The lcd interconnection of lru caches and its analysis. Perform. Eval. 63(7), 609–634 (2006), doi:10.1016/j.peva.2005.05.003
396
W. Li et al.
[7] Laoutaris, N., Syntila, S., Stavrakakis, I.: Meta algorithms for hierarchical web caches. In: International Conference on Performance, Computing, and Communications (PCCC 2004), pp. 445–452. IEEE, Los Alamitos (2004) [8] Li, K., Shen, H., Chin, F.Y.L., Zheng, S.Q.: Optimal methods for coordinated enroute web caching for tree networks. ACM Transactions on Internet Technology 5(3), 480–507 (2005) [9] Rodriguez, P., Spanner, C., Biersack, E.W.: Analysis of web caching architectures: hierarchical and distributed caching. IEEE/ACM Transactions on Networking 9(4), 404–418 (2001) [10] Shim, J., Scheuermann, P., Vingralek, R.: Proxy cache algorithms: Design, implementation, and performance. IEEE Transactions on Knowledge and Data Engineering 11(4), 549–562 (1999) [11] Tang, X., Chanson, S.T.: Coordinated en-route web caching. IEEE Transactions on Computers 51(6), 595–607 (2002)
Towards a Two-Tier Internet Coordinate System to Mitigate the Impact of Triangle Inequality Violations Mohamed Ali Kaafar1 , Bamba Gueye1, , Francois Cantin1, , Guy Leduc1 , and Laurent Mathy2 1
University of Liege, Belgium Research Unit in Networking (RUN) {ma.kaafar,cabgueye,francois.cantin,guy.leduc}@ulg.ac.be 2 University of Lancaster, UK Computing Department [email protected]
Abstract. Routing policies or path inflation can give rise to violations of the Triangle Inequality with respect to delay (RTTs) in the Internet. In network coordinate systems, such Triangle Inequality Violations (TIVs) will introduce inaccuracy, as nodes in this particular case could not be embedded into any metric space. In this paper, we consider these TIVs as an inherent and natural property of the Internet; rather than trying to remove them, we consider characterizing them and mitigating their impact on distributed coordinate systems. In a first step, we study TIVs existing in the Internet, using different metrics in order to quantify various levels of TIVs’ severity. Our results show that path lengths do have an effect on the impact of these TIVs. In particular, the shorter the link between any two nodes is, the less severe TIVs involved in are. In a second step, we do leverage our study to reduce the impact of TIVs on coordinate systems. We focus on the particular case of the Vivaldi coordinate system and we explore how TIVs may impact its accuracy and stability. In particular, we observed correlation between the (in)stability and high effective error of nodes’ coordinates with respect to their involvement in TIVs situations. We finally propose a Two-Tier architecture opposed to a flat structure of Vivaldi that do mitigate the effect of TIVs on the distances predictions. Keywords: Internet Coordinate Systems, Performance, Experimentation, Triangle Inequality Violations.
1 Introduction As innovative ways are being developed to harvest the enormous potential of Internet infrastructure, a new class of large-scale globally-distributed network services and applications (e.g. [1] [2], etc) have emerged. To achieve network topology-awareness, most, if not all, of these overlays rely on the notion of proximity, usually defined in
B. Gueye is supported by the EU under the ANA FET project (FP6-IST-27489). F. Cantin is a Research Fellow of the Belgian Fund for Research in Industry and Agriculture (FRIA).
A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 397–408, 2008. c IFIP International Federation for Information Processing 2008
398
M.A. Kaafar et al.
terms of network delays or round-trip times (RTTs), for optimal neighbor selection during overlay construction and maintenance. However, proximity measurements, based on repeated pair-wise distance measurements between nodes, can prove to be very onerous in terms of measurement overheads. Indeed, the existence of several overlays simultaneously can result in significant bandwidth consumption by proximity measurements (i.e. ping storms) carried out by individual overlay nodes [3]. Also, measuring and tracking proximity within a rapidly changing group requires high frequency measurements. To palliate such problems, Internet coordinate systems [4,5] have been introduced. These systems embed latency measurements amongst samples of a node population into a metric space and associate a network coordinate vector (or coordinate in short) in this metric space with each node, with a view to enable accurate and cheap distance (i.e. latency) predictions amongst any pair of nodes in the population. However, Internet latencies, due to routing policies or path inflation [6], do sometimes violate the triangle inequalities which must hold in a metric space. Such Triangle Inequality Violations (TIV) could be a major barrier for the accuracy of Internet coordinate systems. Suppose we have a network with 3 nodes A, B and C, where d(A, B) is 1 ms, d(B, C) is 2 ms, and d(A, C) is 5 ms, with d(X, Y) denoting the measured delay between X and Y. The triangle inequality is violated because d(A, B) + d(B, C) < d(A, C). Such violations make coordinates embedding of network distances less accurate. When faced with these TIVs, coordinate systems resolve them by forcing edges to shrink or to stretch in the embedding space; this intuitively results in oscillations of the embedded coordinates, and thus causes large distance prediction errors. Indeed, ultimately Internet coordinate systems are used to estimate distances between nodes, based on their coordinates only, even and all the more so if these nodes have never exchanged a distance measurement probe. Both a reasonably stable and an accurate coordinate should then be computed. A few works considered removal (or at least the exclusion) of the Triangle Inequality violator nodes from the system to decrease the embedding distortion [7,8]. However, we claim that sacrificing even a small fraction of nodes, is not arguable since TIVs are an inherent and natural property of the Internet; rather than trying to remove them, we consider characterizing them and mitigating their impact on distributed coordinate systems. A recent work [9] proposes also to remove from the set of neighbors, nodes that underestimate their actual distances to others. These nodes are assumed to be involved in TIVs situations, and need to be removed. This approach however restricts the neighborhood selection to the closest nodes, depriving the coordinate systems from a desirable property, namely the hybrid selection of neighbors. In this paper, we first study the distributions of TIVs existing in the Internet, and we characterize their severity using different metrics. One of our findings is that longer edges cause more severe TIVs. That is to say, that considering shorter paths as measurement samples in coordinate systems would less likely lead to severe TIVs. Based on this insight, we do leverage our study to reduce the impact of TIVs on coordinate systems. To illustrate our results, we focus on the Vivaldi coordinate system, as a prominent representative of purely peer-to-peer (i.e. without infrastructure support) based coordinate systems. We then study the ways in which TIVs impact the Vivaldi coordinate system.
Towards a Two-Tier Internet Coordinate System to Mitigate the Impact of TIVs
399
We showed that TIVs seriously impact the embedding accuracy and coordinates stability. In fact, we observed that nodes that are more involved in TIVs situations are twice less accurate. These nodes’ coordinates have also been shown to have oscillations of larger amplitudes. We finally propose a Two-Tier architecture opposed to a flat structure of Vivaldi, based on the clustering of nodes. Inside these clusters, nodes compute coordinates to predict local distances, and keep predicting distances to nodes outside their clusters based on the original ’flat Vivaldi’. This hierarchical approach does mitigate the effect of TIVs on the distances predictions, and allows nodes to embed short distances with very low relative errors.
2 Analysis of Triangle Inequalities in the Internet We used the p2psim data (1740 nodes) [10] and Meridian data (2500 nodes) [11] to model Internet latency based on real world measurements. These data sets are obtained following the King [12] measurement technique. King is a technique (similar to ping) that estimates the latency between arbitrary end hosts by using recursive DNS queries. Based on these delay matrices, we study through different metrics the violations of the Triangle Inequality, and characterize their severity and distribution according to path lengths. 2.1 Severity Metrics Previous studies [13,6,14] have reported characteristics of TIVs in the Internet delay space by triangulation ratio distribution and the fraction of triangles that suffer from TIVs. Let us consider a triangle ABC. By convention, AB is always the longest edge of a triangle. If d(A, B) > (d(A, C) + d(C, B)), then ABC is called a TIV, because the triangle inequality is violated. Note that it is enough to consider the inequality with respect to the longest edge AB of the triangle. In this paper, we propose two basic characterizations of the severity of TIVs. The first one is the relative severity and is defined as follows: Gr =
d(A, B) − (d(A, C) + d(C, B)) d(A, B)
(1)
Gr ranges from 0 (minimum severity) to 1 (maximum severity). Relative severity is an interesting metric, but it may be argued that for small triangles, a high relative severity may not be that critical. Therefore we also define a second metric called the absolute severity, which is defined as follows: Gar =
d(A, B) − (d(A, C) + d(C, B)) Diameter
(2)
Note that we have normalized this metric with respect to the Diameter of the network, so that it also ranges from 0 (minimum severity) to 1 (maximum severity). Note that Diameter represents the maximal delay between any two points in the network. In the sequel, we will refer to specific severity thresholds and select TIVs whose severities are above them. We can select all TIVs such that Gr ≥ thr , or Gar ≥ thar , or even when both thresholds are exceeded.
400
M.A. Kaafar et al.
2.2 Results We first define some notations. Let K be the total number of triangles in the two data sets. For the p2psim data set, we found K = 854, 773, 676, of which 105, 329, 511 (representing 12%) are TIVs, whereas K = 2, 598, 842, 308 and the percentage of TIVs is equal to 23.5% for Meridian data set. We divide the whole range of RTTs in our data set (from 0 to Diameter) into 160 (resp. 600) equal bins of 5ms each for p2psim data (resp. Meridian). The maximum delay between any two nodes (i.e. Diameter) in p2psim data and Meridian data are respectively 800 ms and 3000 ms. Probably, the large diameter noticed in Meridian data is due to the presence of few outliers within the data set. Howeover, only 0.03% of all pair-wise RTT measurements in Meridian data are above 1000 ms. 40
40
Gr > 0 Gr > 0.10 Gr > 0.20
Gr > 0 Gr > 0.10 Gr > 0.20
35
30
30
25
25 Ki’ / Ki
Ki’ / Ki
35
20
20
15
15
10
10
5
5
0
0 100
200
300
400
500
600
700
800
100
d(A,B) in 160 bins of 5 ms (i=1..160)
200
300
400
500
600
700
800
d(A,B) in 160 bins of 5 ms (i=1..160)
(a) thar = 0
(b) thar = 0.025
Fig. 1. Proportion of TIVs in each bin for various TIV severity levels for p2psim data set
Let Ki be the number of triangles in the ith bin. By convention, we say that triangle ABC is in bin i if its longest edge AB is in that bin. Let Ki be the number of TIVs in the ith bin. K We begin our analysis by showing the proportion of TIVs is each bin, namely Kii , for different severity thresholds. Figure 1(a) (resp. Figure 2(a)) only considers relative TIV severities (as thar = 0). In Figure 1(b) (resp. Figure 2(a)), we filter out TIVs whose absolute severity is below thar = 0.025 (resp. thar = 0.005), which actually means below 20 ms (resp. 15 ms) with respect to our diameter of 800 ms for p2psim data (resp. 3000 ms for Meridian). All these curves have basically the same shapes. We can see clearly that large triangles (say above 400 ms) are more likely (severe) TIVs. Let Pi the probability for a triangle ABC, chosen at random in the data set, to be (a) in the bin i and (b) to be a (severe) TIV, namely: Pi =
Ki Ki K ∗ = i Ki K K
(3)
Obviously, Pi is simply the number of TIVs in the bin i divided by the total number of triangles. The distribution of TIVs in p2psim and Meridian data is depicted on Figure 3 and Figure 4.
Towards a Two-Tier Internet Coordinate System to Mitigate the Impact of TIVs 100 80
Gr > 0 Gr > 0.10 Gr > 0.20
90 80
70
70
60
60
Ki’ / Ki
Ki’ / Ki
100
Gr > 0 Gr > 0.10 Gr > 0.20
90
50 40
50 40
30
30
20
20
10
10
0
401
0 0
100 200 300 400 500 600 700 800 900 1000
0
d(A,B) in 200 bins of 5 ms (i=1..200)
100 200 300 400 500 600 700 800 900 1000 d(A,B) in 200 bins of 5 ms (i=1..200)
(a) thar = 0
(b) thar = 0.005
Fig. 2. Proportion of TIVs in each bin for various TIV severity levels for Meridian data set 0.25
Gr > 0 Gr > 0.10 Gr > 0.20
0.2 Ki’ / K (x 100)
0.2 Ki’ / K (x 100)
0.25
Gr > 0 Gr > 0.10 Gr > 0.20
0.15 0.1 0.05
0.15 0.1 0.05
0
0 100
200
300
400
500
600
700
800
100
d(A,B) in 160 bins of 5 ms (i=1..160)
200
300
400
500
600
700
800
d(A,B) in 160 bins of 5 ms (i=1..160)
(a) thar = 0
(b) thar = 0.025
Fig. 3. Distribution of TIVs in p2psim data set for various severity levels 1.4
Gr > 0 Gr > 0.10 Gr > 0.20
1.2
1
Ki’ / K (x 100)
Ki’ / K (x 100)
1.4
Gr > 0 Gr > 0.10 Gr > 0.20
1.2
0.8 0.6
1 0.8 0.6
0.4
0.4
0.2
0.2
0
0 0
100
200
300
400
d(A,B) in 100 bins of 5 ms (i=1..100)
(a) thar = 0
500
0
100
200
300
400
500
d(A,B) in 100 bins of 5 ms (i=1..100)
(b) thar = 0.005
Fig. 4. Distribution of TIVs in Meridian data set for various severity levels
As expected, Figure 3 is less conclusive than Figure 1, but it still shows that few severe TIVs are found in small triangles, that is below 100 ms. Similar behavior can be observed in Figure 4 where the edges shorter than 60 ms cause slight violations.
402
M.A. Kaafar et al.
Moreover, the TIV severity of edges has an irregular relationship with their lengths. For instance, in Figure 4 the TIV severity has a peak for the edges around 80 − 100 ms. This motivates our hierarchical approach to build a coordinate system. If we create clusters whose diameters do not exceed too much 100 ms, we may expect much fewer severe TIVs in each cluster, which is likely to improve the accuracy of intra-cluster coordinate systems. However, so far the impact of TIVs on the coordinates embedding remains hypothetical. In the next section, we will quantify this impact on one of the prominent P2P coordinate systems, namely Vivaldi.
3 Impact of TIVs on Vivaldi Vivaldi [5], the focus of our present study, is based on a simulation of springs, where the position of the nodes that minimizes the potential energy of the spring also minimizes the embedding error. It is described in further details in the following section. 3.1 Vivaldi Overview Vivaldi is fully distributed, requiring no fixed network infrastructure and no distinguished nodes. A new node computes its coordinate after collecting latency information from only a few other nodes. Basically, Vivaldi places a spring between each pair of nodes (i, j) with a rest length set to the known RT T (i, j). An identical Vivaldi procedure runs on every node. Each sample provides information that allows a node to update its coordinate. The algorithm handles high error nodes by computing weights for each received sample. The sample used by each node, i is based on measurement to a node, j, its coordinates xj and the estimated error reported by j, ej . A relative error of this sample is then computed as follows: es = | xj − xi − RT T (i, j)measured | / RT T (i, j)measured The node then computes the sample weight balancing local and remote error : wi = ei /(ei + ej ), where ei is the node’s current (local) error, representing node i confidence in its own coordinate. This sample weight is used to update an adaptive timestep, δi defining the fraction of the way the node is allowed to move toward the perfect position for the current sample: δi = Cc × wi , where Cc is a constant fraction < 1. The node updates its local coordinates as the following: xi = xi + δi · (RT T (i, j)measured − xi − xj ) · u(xi − xj ) where u(xi − xj ) is a unit vector giving the direction of i’s displacement. Finally, it updates its local error as ei = es × wi + ei × (1 − wi ). The reader should note that after convergence of a Vivaldi system, the relative local error variation is of the order of a few percent (e.g. +/-0.05). Vivaldi considers a few possible coordinate spaces that might better capture the underlying structure of the Internet. Coordinates embedding map into different geometric spaces, where nodes are computing their coordinates, e.g., 2D, 3D or 5D Euclidean spaces, spherical coordinates, etc.
Towards a Two-Tier Internet Coordinate System to Mitigate the Impact of TIVs
403
3.2 Results
1
1
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
CDF
CDF
In this section, we present the results of an extensive simulation study of the Vivaldi system. For the simulation scenarios, we used the p2psim discrete-event simulator [10], which comes with an implementation of the Vivaldi system. Unless otherwise stated, each Vivaldi node has 32 neighbors (i.e. is attached to 32 springs), half of which being chosen to be among the closest nodes. The constant fraction Cc for the adaptive timestep (see section 3.1) was set to 0.25. These values are those recommended in [5]. The system was considered stabilized when all relative errors converged to a value varying by at most 0.02 for 10 simulation ticks. We observed that Vivaldi always converged within 1800 simulation ticks, which represents a convergence time of over 8 hours (1 tick is roughly 17 seconds). Our results are obtained for a 2-dimensional euclidean space. In order to observe the impact of TIVs on Vivaldi nodes, and in particular on the embedding performance, we could define the notion of TIVs involvement through different considerations. In this paper, we consider a node to be more or less involved into TIVs according to the number of times it belongs to a TIV. The more node C appears in bad triangles Ai Bj C, i = j, the more C is considered involved into TIVs situations.
0.5 0.4
0.5 0.4
0.3
0.3
0.2
0.2
All nodes (p2psim) All nodes (Meridian) Top 100 of TIVs involved nodes (p2psim) Top 100 of TIVs involved nodes (Meridian)
0.1 0 0
0.5
1
1.5
All nodes (p2psim) All nodes (Meridian) Top 100 of TIVs involved nodes (p2psim) Top 100 of TIVs involved nodes (Meridian)
0.1 0 2
0
Average relative error
5
10
15
20
25
30
Average oscillations (in ms)
(a) CDF of Average relative errors
(b) CDF of Oscillations
Fig. 5. Impact of TIV severity on the embedding for p2psim and Meridian data set
In Figure 5(a), considering the p2psim and Meridian data set, we plot the Cumulative Distribution Function (CDF) of the average relative error (ARE) of the top 100 nodes involved in TIVs. We compare such distribution to the CDF of all nodes’ relative errors in a flat Vivaldi system. Note that the ARE is computed for each node as the average prediction errors (along all the nodes) yielded by the Vivaldi system at the last tick of our simulations. AREi =
j =i∈S
|(RT T (i,j)−||xi −xj ||)| RT T (i,j)
|S| − 1
where S is the set of all nodes in the system. Figure 5(a) shows that, while for the distribution of errors on all the nodes of the system, more than 90% of p2psim nodes (resp. 70% Meridian nodes) have an ARE
404
M.A. Kaafar et al.
less than 0.3 (resp. 0.5), this percentage falls down to only 50% (resp. 20%) when considering the most involved nodes in TIVs. The coordinates computation at the level of these implicated nodes is spoiled out. It is also worth observing the variation of coordinates in the Vivaldi system. In fact, even though the system converges in the sense that the relative errors at each node stabilizes, these errors could be so high that a great variation of the coordinate of a node barely affects the associated error. We can define such coordinates oscillation as the distance between any two consecutive coordinates. The average oscillations values are computed as the average of the oscillations during the last 500 ticks of our Vivaldi simulation. Figure 5(b) shows the CDF of these average oscillations, comparing again the distributions through all nodes and of the top 100 nodes involved in TIVs. We clearly see that the impact of TIVs can be considered as very serious with nodes involved in more TIV triangles seeing a large increase in their average oscillations values. In light of these observations on the serious impact of TIVs on the coordinates embedding and based on our findings related to the distributions of TIVs in the Internet, the main intuition behind our proposal of a hierarchical structure of Vivaldi is to mitigate the impact of most severe TIVs. In this way, nodes would perform a more accurate embedding at least in restricted spaces (i.e. with small distance coverage).
4 Two-Tier Vivaldi This section is divided into three parts. First, we present an overview of our Two-Tier architecture. Second, we define the clustering method we experimented with and, finally, we compare the results obtained with our Two-Tier Vivaldi to those obtained with a flat Vivaldi. 4.1 Overview Recall from our section 2 that small triangles are less often (severe) TIVs. Any 3 edges with small RTTs (as observed in section 2) should be more adequate to construct a metric space without violating too much the Triangle Inequality laws. Put simply, shorter paths are more embeddable than longer paths that tend to create more severe TIVs with high absolute errors. In this section, we exploit such property to deal with TIVs severity and their serious impact on network coordinates, by proposing a Two-Tier Vivaldi approach. The main idea is to divide the set of nodes into clusters and to run an independent Vivaldi in each cluster. Clusters are composed of a set of nodes within a given coverage distance. Since Vivaldi instances running on each cluster are independent, nodes are collecting latency information from only a few other neighbors located within the same cluster. In this way, coordinates of nodes belonging to different clusters cannot be used to estimate the RTT between these nodes. We keep then running a Vivaldi system at a higher level (i.e. the whole set of nodes) in order to ensure that coordinates computed between any two nodes belonging to different clusters, ’make sense’. Coordinates computed at the lower (resp. higher) level of clusters are called local coordinates (resp. global coordinates). Next, we describe how we set up the clusters we experimented with to illustrate our results on the Two-Tier Vivaldi structure.
Towards a Two-Tier Internet Coordinate System to Mitigate the Impact of TIVs
405
4.2 Clustering Method We have first based our clusters recognition on the coordinates as observed by running a flat Vivaldi over the p2psim and Meridian data set. As already shown by Dabek et al. [5], 2-D coordinates lead to five major clusters of nodes for p2psim data. We took the three most populated as our main clusters. For Meridian data, 2-D coordinates lead to three major clusters with a set of nodes sparsely distributed. Nodes that have not been selected in any cluster would then be considered in only the higher level of the architecture, using only their global coordinates. However, this first step in our cluster selection is only based on the estimated RTTs (as predicted by the flat Vivaldi) and not on the actual RTTs between nodes. In fact, according to their relative errors, some nodes can be misplaced by the flat Vivaldi and clusters could have their diameters larger than expected. Our second step has then consisted in a cross-checking of our preliminary clustering using the delay matrix. We proceed in a recursive way as follows: for any two nodes belonging to the same cluster, the cluster constraint is that the distance between these two nodes should be less than the cluster diameter. We then begin by verifying this cluster constraint, testing it on all the pairs of each cluster according to their actual distance provided by the delay matrix. Afterwards, we remove the top node that causes more violations of the constraint 1 . We then recursively check the cluster constraint until no more pairs inside the cluster violate the cluster constraint. Following this clusters selection method, we obtained the clusters described in Figure 6 for p2psim and Meridian data set. Nodes Diameter Cluster 1 565 140 ms Cluster 2 169 100 ms Cluster 3 93 60 ms (a) p2psim data
Nodes Diameter Cluster 1 560 80 ms Cluster 2 563 80 ms Cluster 3 282 70 ms (b) Meridian data
Fig. 6. Characteristics of the clusters
4.3 Performance Evaluation of the Two-Tier Vivaldi First, we use the relative error as our main performance indicator. Again, we compute the ARE over all nodes to represent the accuracy of the overall system. Figures 7(a) and 7(b) represent the CDFs of the relative error of nodes belonging to our three clusters 6(a). We clearly see that relative errors computed based on local coordinates inside the clusters are much less than errors as computed using global coordinates (the Flat Vivaldi labeled curves). In cluster 2, for instance, more than 90% of nodes predicting their distances inside the cluster, achieve on average a relative error less than 0.3. When using the flat Vivaldi, over half of the population of the set of nodes in cluster 2, is computing coordinates with an ARE more than 0.5. Worse cases (for the flat Vivaldi system) are observed with respect to nodes in cluster 3, as depicted in Figure 7(b), where the flat Vivaldi system collapses with very high effective relative 1
This node is likely to have a high embedding error.
406
M.A. Kaafar et al. 1
1
0.9
0.9
0.8
0.5
0.7 0.6 CDF
CDF
0.6
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1 0 0
Cluster3: Two−Tier Cluster3: Flat Vivaldi
0.8
Cluster1: Two−Tier Cluster1: Flat Vivaldi Cluster2: Two−Tier Cluster2: Flat Vivaldi
0.7
0.1
0.2
0.4
0.6
0.8
1
1.2
0 0
1.4
2
4
6
8
10
12
14
16
18
Average Relative Error
Average Relative Error
(a) Cluster 1 and 2
(b) Cluster 3
Fig. 7. Comparison of relative errors for p2psim data set: Flat versus Two-tier Vivaldi
errors for more than 70% of the nodes. In the Two-Tier architecture, nodes are clearly performing much better. We observed the same trend for the Meridian data. By lack of space, we do not present the Meridian’s figures here. It is worth noticing here that cluster 3 is the smallest cluster in terms of Diameter. The observation of the embedding relative errors in this cluster confirm then our findings related to the effect of edges lengths on the TIVs severity and thus on their impact on the embedding. More generally, improvements inside these clusters is explained by the fact that intra cluster nodes, when computing their local coordinates select only close by nodes as their neighbors. This constraints the node-to-neighbors edges lengths and thus reduces the selection of severe TIVs likelihood. When encountering severe TIVs that cause high absolute errors, a node updates its coordinate, by jumping back and forth across its actual position. When limited to TIVs of low absolute severity, a node converges ’smoothly’ towards an approximation of its correct position, then would stick to such position, and oscillate much less. In essence, it gains confidence in its local error faster (see 3.1) and performs more accurate embedding. Limiting the neighborhood inside the cluster should then limit the high oscillations due to long and severe TIVs. In a second step, we then observed the coordinates’ 1
1
0.9
0.9
0.8
0.8 0.7
0.7
0.5 0.4
CDF
CDF
0.6
Cluster1: Two−Tier Cluster1: Flat Vivaldi Cluster2: Two−Tier Cluster2: Flat Vivaldi Cluster3: Two−Tier Cluster3: Flat Vivaldi
0.6
0.4
Cluster1: Two-Tier Cluster1: Flat Vivaldi Cluster2: Two-Tier Cluster2: Flat Vivaldi Cluster3: Two-Tier Cluster3: Flat Vivaldi
0.3
0.3
0.2
0.2
0.1
0.1 0 0
0.5
0 5
10 Average Oscillations (in ms)
(a) p2psim data
15
0
5
10 15 20 Average oscillations (ms)
(b) Meridian data
Fig. 8. CDF of coordinates oscillations for flat and Two-Tier Vivaldi
25
Towards a Two-Tier Internet Coordinate System to Mitigate the Impact of TIVs
407
oscillation of nodes belonging to our three clusters. Again, we consider the average oscillations values as the average oscillations during the last 500 ticks of our simulations. We can observe that the three curves representing the CDF of the Two-Tier architecture nodes oscillations are those that are the highest in Figure 8(a) and Figure 8(b). This clearly shows that local coordinates of nodes inside our clusters oscillate with less amplitude. For instance, in Figure 8(a) more than 80% of the average oscillations are less than 3ms when nodes are computing local coordinates, whereas, only 40% of nodes in flat Vivaldi have, their oscillations less than this value. As can be seen, for Meridian data (Figure 8(b)), nodes oscillate over large ranges. More than 50% of nodes in flat Vivaldi have their oscillations superior to 5 ms.
5 Discussions and Conclusions We have presented a Two-Tier architecture to mitigate the impact of potential Triangle Inequality Violations, which often occur in the Internet. We have shown that larger triangles are more likely (severe) TIVs, with respect to the distribution of RTTs in the Internet. Previous proposals of different coordinate systems focus on the geometric properties of the coordinate space and look for which space is the most convenient to embed RTTs. Our architecture does not rely on such approach, but it is instead based on clustering nodes to mitigate the impact of severe TIVs. Within their cluster, nodes use more accurate local coordinates to predict intra-cluster distances, and keep using global coordinates when predicting longer distances towards nodes belonging to foreign clusters. Knowing that coordinate systems are often used to characterize the set of close by neighbors in an overlay distribution or to select the closest download server, our approach thus succeeds where methods based on space dimensionality or properties would fail. Although this paper focused on Vivaldi for measurements and experimentations, the Two-Tier architecture proposed is independent of the embedding protocol used. It is important to note that the deployment of our Two-Tier architecture does not equate to imposing any changes in the coordinate system process we use. Indeed, apart from running two different instantiations at the level of each cluster and at a higher level, our method does not entail any change to the operations of the embedding protocols. Our proposed method would then be general enough to be applied in the context of coordinates computed by other Internet coordinate system than Vivaldi. Even though this paper does not address the problem of clustering techniques, and rather uses an oracle-based technique where coordinates and delay matrix are known, we note that different solutions to such issues have been proposed elsewhere (e.g. [15]). Finally, we have also quantified the impact of TIVs on the embedding performance, considering that a node is involved in a TIV if it is within a bad triangle. However, it could also be argued that, in different embedding protocols, given a set of neighbors, the most involved node in TIVs is not necessarily affecting its non-neighbors measurements and coordinates. Other TIVs involvement definitions could be considered in order to refine the impact of TIVs on the embedding process. We can, for instance, consider that a node is involved in a TIV situation if it appears in a bad triangle and it considers the two other nodes of this bad triangle as its neighbors in the coordinate computation. Such
408
M.A. Kaafar et al.
new knowledge and our findings characterizing the TIVs severity could be leveraged to manage the neighbors selection in coordinate systems in order to alleviate the TIV severity at the higher-level of our Two-Tier architecture.
References 1. Rowstron, A., Drusche, P.: Pastry: Scalable, distributed object location and routing for largescale peer-to-peer systems. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, pp. 329–350. Springer, Heidelberg (2001) 2. Chu, Y.h., Rao, S.G., Zhang, H.: A case for end system multicast. In: Proc. the ACM SIGMETRICS, Santa Clara (June 2000) 3. Rewaskar, S., Kaur, J.: Testing the scalability of overlay routing infrastructures. In: Proc the PAM Conference, Sophia Antipolis, France (April 2004) 4. Ng, T.S.E., Zhang, H.: Predicting Internet network distance with coordinates-based approaches. In: Proc. IEEE INFOCOM, New York, NY, USA (June 2002) 5. Dabek, F., Cox, R., Kaashoek, F., Morris, R.: Vivaldi: A decentralized network coordinate system. In: Proc. ACM SIGCOMM, Portland, OR, USA (August 2004) 6. Zheng, H., Lua, E.K., Pias, M., Griffin, T.: Internet Routing Policies and Round-Trip-Times. In: Proc. the PAM Conference, Boston, MA, USA (April 2005) 7. Ledlie, J., Gardner, P., Seltzer, M.I.: Network coordinates in the wild. In: Proc NSDI, Cambridge (April 2007) 8. Mendel, M., Bartal, Y., Linial, N., Naor, A.: On metric ramsey-type phenomena. In: Proc. the Annual ACM Symposium on Theory of Computing (STOC), San Diego, CA (June 2003) 9. Wang, G., Zhang, B., Ng, T.S.E.: Towards network triangle inequality violation aware distributed systems. In: Proc. the ACM/IMC Conference, San Diego, CA, USA, October 2007, pp. 175–188 (2007) 10. A simulator for peer-to-peer protocols, http://www.pdos.lcs.mit.edu/p2psim/index.html 11. Wong, B., Slivkins, A., Sirer, E.: Meridian: A lightweight network location service without virtual coordinates. In: Proc. the ACM SIGCOMM, August (2005) 12. Gummadi, K.P., Saroiu, S., Gribble, S.D.: King: Estimating latency between arbitrary Internet end hosts. In: Proc the SIGCOMM Internet Measurement Workshop, Marseille, France (November 2002) 13. Savage, S., Collins, A., Hoffman, E., Snell, J., Anderson, T.: The end-to-end effects of Internet path selection. In: Proc. of ACM SIGCOMM 1999, Cambridge, MA, USA (September 1999) 14. Lee, S., Zhang, Z., Sahu, S., Saha, D.: On suitability of euclidean embedding of internet hosts. SIGMETRICS 34(1), 157–168 (2006) 15. Min, S., Holliday, J., Cho, D.: Optimal super-peer selection for large-scale p2p system. In: Proc. the ICHIT Conference, Washington, DC, USA, November 2006, pp. 588–593 (2006)
Efficient Multi-source Data Dissemination in Peer-to-Peer Networks Zhenyu Li1,2 , Zengyang Zhu1,2 , Gaogang Xie1 , and Zhongcheng Li1 1
Institute of Computing Technology, Chinese Academy of Sciences 2 Graduate School of Chinese Academy of Sciences Beijing, China {zyli, antonial, xie, zcli}@ict.ac.cn
Abstract. More and more emerging Peer-to-Peer applications require the support for multi-source data dissemination. These applications always consist of a large number of dynamic nodes which are heterogeneous in terms of capacity and spread over the entire Internet. Therefore, it is a challenge work to design an efficient data disseminate scheme. Existing studies always ignore the node proximity information or have high redundancy or high maintenance overhead. This paper presents EMS, an efficient multi-source data dissemination in P2P networks. By leveraging node heterogeneity, nodes are organized in a two-layer structure: the upper layer is based on DHT protocol and composed of powerful and stable nodes, while the nodes at the lower layer attach to physically close upper layer nodes. Data objects are replicated and forwarded along implicit trees, which are based on DHT route table. The average path length for delivering objects to all nodes converges to O(log n) automatically, where n is the number of nodes in the application. We perform extensive simulations to show the efficacy in terms of delivery path length, delay, redundancy and the effect of proximity-awareness. Key words: Multi-source multicast, Data Dissemination, P2P Networks.
1
Introduction
A large number of emerging Peer-to-Peer applications, such as distributed multiplayer games, teleconferencing, remote collaboration and multimedia chat groups, require support for multi-source data dissemination. In these applications, each node is a potential data source. When a new data object emerges on a node, it should be propagated to all the interested members as soon as possible. Since these applications always consist of a large number of dynamic nodes which are heterogeneous in terms of capacity and spread over the entire Internet, it is a challenge work to design an efficient data disseminate scheme. In our opinion, an efficient multi-source data dissemination scheme should meet at least the following basic requirements. – Scalable performance. The scheme should be decentralized and support node churns. As the system size grows, the efficiency should degrade gracefully. A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 409–420, 2008. © IFIP International Federation for Information Processing 2008
410
Z. Li et al.
– Complete coverage. A data object from any source should be delivered to all the other interest nodes. – Proximity aware. In order to reduce the bandwidth consumption and data transfer delay, the scheme should account for node proximity information. – Heterogeneity aware. The protocol should take the heterogeneity nature of nodes into account so that the load on a node is proportional to its capacity. – Low overhead. Both the maintenance overhead of the P2P overlay network and the data message redundancy should be low. Existing studies [3] [4] [5] on multi-source data dissemination do not meet all the requirements. The probabilistic gossip based hybrid push/pull scheme [3] brings lots of duplicate messages and only guarantees probabilistic convergency. CAM [4] builds capacity aware multicast on top of structured P2P network. So, it always has no redundancy. However, the maintenance overhead is considerable and it considers the proximity information only in a limited extent due to the rigid structures of structured overlay networks. ACOM[5] implicitly specifies a delivery tree for each source. However, it suffers a tradeoff between delivery delay and message redundancy. When the average path length is reduced to O(log n), the average number of duplicate messages grows to O(n/ log n), where n is the number of nodes in the overlay network. In this paper, we propose EMS, an Efficient Multi-Source data dissemination scheme. EMS is motivated by two facts. First, although the structured overlay networks need considerable maintenance overhead and have relative rigid structures, their predefined structures (e.g. ring, hypercube) give us useful information to extract data delivery trees. Second, measurement results in [11] [2] have shown that there exists some relative powerful and stable nodes in P2P applications. Therefore, we organize nodes in a two-layer structure: the upper layer is based on DHT protocol and composed of powerful and stable nodes, while the nodes at the lower layer attach to physically close upper layer nodes. Obviously, the upper layer node and the lower layer nodes attaching to it constitute a cluster. Data objects are replicated and forwarded on the upper layer along k-ary implicit trees, which are constructed using DHT route table. Thus, no control message is required to built the tree structures. The data objects are also delivered within the clusters using implicit tree structures. And in each step, a node tries to transmit the objects to as many new nodes as it can. We analyze the average path length for delivering objects to all the nodes and the results show that it automatically converges to O(log n), where n is the number of nodes in the P2P network. We also evaluate the performance of our scheme through comprehensive simulations. The results demonstrate that our scheme is more time- and cost-effective when compared with others. The rest of the paper is organized as follows. Section 2 provides a survey of related work. Section 3 describes the construction of hierarchical structure in detail. Section 4 details the data dissemination and in section 5, we evaluate our scheme through simulation experiments. Finally, we conclude our work in section 6.
Efficient Multi-source Data Dissemination in Peer-to-Peer Networks
2
411
Related Work
Probabilistic gossip based schemes [3] are reliable, scalable and easy to deploy. Their major limitations are considerable duplicate messages and only probabilistic convergency guarantees. Data-driven based methods [6] are simple and bring no redundancy. However, they suffer a control overhead and delay tradeoff [7], and therefore are not suitable for fast multi-source data dissemination applications. Tree-based schemes always build one tree or several disjoint trees [12] to propagate data. They are optimized for single source and not applicable to multi-source applications directly. NICE[8] forms nodes in a hierarchical structure to achieve high scalability. However, it is heterogeneity ignorant and fragile due to lack of redundancy in overlay networks. Narada[9] extracts source specific distribution trees from overlay network. It requires each node to maintain the information of all other nodes. Thus, it is only suitable for small scale systems. Several methods have been proposed for multi-source data dissemination in P2P systems. [1] and [4] are based on structured P2P networks. [1] assumes each node has same capacity and is not suitable for heterogeneous systems. [4] takes node capacity into account. A disadvantage of structured overlay based schemes is the considerable maintenance overhead. Moreover, the overlays are always too strict to optimize due to the predefined structures, e.g. ring or multi-dimension coordinates. Although our scheme also leverages DHT protocols to organize the upper layer nodes, the maintenance overhead is relative small because upper layer only consists of small portion of nodes which are more stable. ACOM[5], on the other hand, organizes nodes in a ring structure to support any-source multicast. Each node has a nearby neighbor and several random neighbors. Data object is first forwarded via random neighbors within several hops. Then it is transmitted down to the ring by the aware nodes, until all the nodes become aware of the object. The major contribution of ACOM is that the data object can be broadcasted to all the members in O(logc n) hops while no explicit tree is maintained, where c is the average node capacity and n is the number of members. However, this is at the cost of non-negligible redundancy. When the average path length is reduced to O(logc n), the average number of duplicate messages grows to O(n/ logc n). In addition, the constant coefficient in O(logc n) always is 2, which indicates the hop complexity is larger than other schemes. As to hierarchy architecture, Shen and Xu in [10] propose a landmark clustering based hierarchical structure to account for proximity information. However, they directly use node Hilbert number as logical node ID in the auxiliary DHTbased structure. Thus, the identifier randomness in the structure does not exist any more, which is a necessary condition in our scheme. In addition, no upper bound is imposed on the number of regular nodes that can be assigned to a supernode. Therefore, the supernodes may be overloaded.
412
Z. Li et al.
Dnodes Onodes
Fig. 1. Two-layer structure
3
Hierarchical Structure Construction
Fig. 1 captures the hierarchical structure in our scheme. Powerful and stable nodes are organized in a Chord ring, labeled as Dnodes. Ordinary nodes, labeled as Onodes, attach to physically close Dnodes. Although we use Chord [13] as a representative DHT protocol, it is straightforward for other DHT protocols. Obviously, a Dnode and the Onodes attaching to it constitute a cluster and the Dnode acts as a rendezvous point of the cluster. In order to avoid overloading Dnodes and relieve the single point of failure problem, an upper bound on the number of Onodes that a Dnode can be attached should be imposed. We call this upper bound as cluster capacity and denote it as mc . The default value of mc is 16. Nodes have different capacities. Node x’s capacity is denoted as cx , which specifies the number of nodes to which x is willing to send data objects concurrently. We assume nodes can estimate the capacities by themselves. In practice, node expected uptime should also been taken into consideration as in Gnutella protocol [14]. 3.1
Node Join
When a node x joins, it first locates nearby Dnodes. If there is a nearby Dnode y which can still accept ordinary nodes, x attaches to y as a y’s Onode. Otherwise, depending on x’s capacity, x either joins as a Dnode at the upper layer or attaches to a randomly chosen Dnode as an Onode. We leverage landmark clustering scheme [15] to generate proximity information. r nodes are picked up randomly from the Internet as landmark nodes. Node x measures the distance (i.e. delay) to these landmark nodes and obtains a landmark vector < dx1 , dx2 , · · · , dxr >, where dxi is the distance from x to the ith landmark node. The intuition behind is that physically close nodes are likely to have similar or close landmark vectors, and thus close to each other in the landmark space. Then the m-dimension landmark vector is mapped to a 1-dimension landmark numbers using Hilbert curve, which is an example of space-filling curves [16]. We partition the landmark space into 2rb smaller grids
Efficient Multi-source Data Dissemination in Peer-to-Peer Networks
413
with equal size, where b is the order of Hilbert curve and controls the number of grids used to partition the landmark space. Then we fit a Hilbert curve on the landmark space to number each grid. The nodes whose landmark number falls into grid ln has the landmark number as ln. Since space-filling curves map an m-dimension point to a 1-dimension point without loss of proximity, closeness in landmark number indicates physical closeness. We denote the landmark number of node x as lnx . In current design, the default values of r and b are 15 and 2, respectively. Each Dnode y publishes its information on the upper layer by storing its landmark number lny and address on the successor of identifier lny . As in [13], we assume new nodes can learn the information of an existing Dnodes (denoted as y0 ) in the upper layer by some external mechanism. New node x asks y0 to issue a Chord query message with its landmark number lnx as key on the DHT-based upper layer to locate nearby Dnodes of x. Dnodes whose landmark numbers fall into range Q = {q : |q − lnx | < Qx } are recognized as the nearby c−cx Dnodes of x, where Qx = Q0 ∗ 2 2 and c is the average node capacity, Q0 is the basic search radius. Thus, the search radius decreases exponentially with the growth of node capacity. The intuition behind is that the bigger a node’s capacity is, the higher probability it is a Dnodes. Note that since each Dnode maintains a continuous Chord identifier space and the information of Dnodes with close landmark numbers is stored closely in Chord ring, locating nearby Dnodes should be fast. Let Rx denote the set of nearby Dnodes located for x. Node x selects a node z ∈ Rx and sends z an attaching request message. If z is able to accept an Onode, it satisfies x’s request. Otherwise, x selects another node and performs the same operation until one of the Dnode accepts it. We call z is able to accept an Onode if the number of Onodes having attached to it does not exceed the cluster capacity mc . If none of the Dnode in Rx can accept x as an Onode, the subsequent operation depends on the x’s capacity cx : if cx is big enough (i.e. cx exceeds a threshold Cthd ), then x joins the upper layer as a Dnode; otherwise, x asks the well-known Dnode y0 to locate a random Dnode u which still can accept an Onode and attach to u. Now we describe how to choose the threshold Cthd . A Dnode maintains the information of the Onodes attaching to it and several other Dnodes’ information as Chord protocol specifying. The maintenance cost should not be ignored. In our current design, each Dnode dedicates one unit capacity for maintenance. And as mentioned before, k-ary implicit trees are used to transfer data objects among Dnodes. So, a Dnode’s capacity should at least be k. As detailed in the next section, data objects are also delivered within the cluster using implicit tree structure. The implicit tree is rooted by the Dnode in the cluster. To expedite data dissemination, the Dnode should at least have two child nodes on the implicit tree within the cluster. In summary, the threshold is set as Equ. 1. Cthd = k + 3
(1)
To increase robust, each Onode has a backup Dnodes list of length b. Onode x’s list consists of physically close Dnodes to x. When the current Dnode fails, x
414
Z. Li et al.
tries to choose a node from the list to attach. The list is initialized by the nearby Dnodes located during the joining procedure. To ensure that the backup Dnodes are always the available ones in the upper layer, x checks the availability of their backup Dnodes periodically. If a half of its backup Dnodes are not available any more, x relocates the nearby Dnodes by issuing a Chord query message through its Dnode. The query message is similar to the join message in terms of locating nearby Dnodes. Now we analyze the number of control messages used for a join operation. When a new node joins, to locate the close Dnodes, O(log nd ) Chord query messages are required, where nd is the number of Dnodes. If the new node joins as a Dnode, another O(log2 nd ) Chord join messages are required. Thus, when a new node joins, on average, #M SGjoin = log nd + pdn · log2 nd
(2)
messages are required, where pdn is the probability that a new node joins as a Dnode. 3.2
Node Departure and Failure
Each node has a buffer to store the data it received recently. When an Onode x leaves, it simply sends a Leaving Message to its corresponding Dnode. The Dnode then deletes the stored information for x. When a Dnode y leaves, it asks the Onodes attaching to it to switch their corresponding Dnode and then it leaves the upper layer based on the Chord protocol and unsubscribe its information (i.e. landmark number and address information) from the Chord ring. Each Onode z previously attaching to y selects a live node from its backup Dnode list to attach. If there is no node in the backup list can accept z, it rejoins. In any case, z records the sequence number of the last message received and fetches the messages it misses during above switch or rejoin process from other nodes’ buffers actively. Failure of an Onode can be detected by its corresponding Dnode through periodical message exchanging and this has little impact. When a Dnode fails, we resort to Chord protocol to recover the upper layer. Failure of a Dnode can also be detected by its Onodes through periodical message exchanging. Onodes switches their Dnodes as the departure procedure described in the previous paragraph. A method to relieve the impacts of departure and failure of a Dnode is to set a backup Dnode for each cluster. The backup Dnode is selected from the Onodes within each cluster. The backup Dnode should at least have a capacity bigger than Cthd and it acts as an ordinary Onode when the current Dnode is alive. After the failure of Dnode, it takes over the role of the failed Dnode by joining the upper layer and forcing other Onodes to attach to it. Because the departures or failures of Dnodes impose an larger impact on the hierarchical structure, node expected online time should be taken into account when selecting Dnodes.
Efficient Multi-source Data Dissemination in Peer-to-Peer Networks
15
1
14
2 3
13 12 finger table start Succ. 11 12 12 12 14 0 2 2
finger table start Succ. 3 5 4 5 6 7 10 10
0
4
11
finger table start Succ. 6 7 7 7 9 10 13 13
5 10
6 9
7 8
415
2 [2,1] 5
7
10
[5,9]
[10,1] 12
[7,9]
0 [0,1]
[12,15]
13 [13,15]
1
[1,1]
Dnode
Fig. 2. An example of upper layer structure based on Chord ring and a 2-ary implicit tree initialized by Dnode 2
4
Data Dissemination
When a new data object emerges on an Onode, the Onode delivers the object to its Dnode. When a Dnode y receives a new data object from its Onode or generates a data object by itself, it delivers the object to other Dnodes through a k-ary implicit tree based on node finger table which is defined and detailed in [13]. The finger table at node y contains the information of O(log nd ) Dnodes and the ith entry in the table is 1/2log nd −i of the ring away from y, where nd is the number of Dnodes and 0 ≤ i < log nd . Without loss of generality, we assume 2 ≤ k ≤ log nd . Initially, y holds the whole range of the Chord ring. We choose the first entry and the last k − 1 entries in y’s finger table as the children of y. y sends the data object to these k nodes concurrently. To ease of expression, we denote the node list constituted by these k nodes as klist and assume the relative sequence of these k nodes in klist is the same as the sequence in y’s finger table. Now the ring is partitioned into k parts by these k Dnodes. The jth Dnode in klist is responsible for the ring range which starts from it and ends with the predecessor of the (j + 1)th node, where 1 ≤ j < k. The kth Dnode in klist is responsible for the range which starts from it and ends with the predecessor of y. Each node z in klist performs the same operations as y does: partitioning the ring range which it is responsible for and forwarding the data object. The only difference is that not all the nodes in the finger table at node z fall in the range which z is responsible for. In this case, only the entries falling in the range can be z’s children in the implicit tree. We call these entries as valid entries. Note that the number of valid entries may be smaller than k. In this case, the number of z’s children is not k, but is the number of valid entries. And if there is no entry in the finger table falls into the range, the partition operation stops because this indicates there is no Dnode in this range. With the continuous partition of the Chord ring, all the Dnodes receive the data object. Fig. 2 gives an example of upper layer structure and a 2-ary implicit tree on it. At the same time that z transfers data object to its child Dnodes, z also delivers the object to as many Onodes as it can. Let t (0 ≤ t ≤ k) denote the number of z’s child Dnodes in the upper layer’s implicit tree and Sz denote the set of Onodes attaching to z. z randomly selects t Onodes from Sz to transfer
416
Z. Li et al.
data, where 2 ≤ t = cz − t − 1. Let Sz ⊂ Sz denote the set of these t Onodes and Sz denote the set of Onodes that do not directly receive data object from z. Obviously, Sz = Sz − Sz . z divides Sz into t parts as evenly as possible and assigns them to the nodes in Sz . After a node x in Sz receives the data from z, it sends the data to as many Onodes (assigned by z) as it can. The operation is similar to the one performed by z except x can sends data to cx nodes. For example, suppose 10 Onodes attach to Dnode z, which has capacity 10 and has 4 child Dnodes in the upper layer’s implicit tree (i.e. t = 4). Then t = 5. So, z sends the data message to 5 Onodes concurrently and also sends the address information of other 5 Onodes to them, one to each of them. These 5 nodes further delivery the message. This procedure naturally defines an implicit tree structure. Moreover, nodes within a cluster are always physically close to each other, so that the data delivery is fast. Theorem 1. A message from any source node can be delivered to all the nodes in O(log n) hops, where n is the number of nodes. Due to space limitation, the proof detail is omitted. The intuition behind is straightforward: the message containing the data object is delivered on the upper layer and within the clusters along implicit trees. More details can be found in [19]. A node x may fail after receiving the data object but before forwarding it to child nodes on the implicit trees, which would cause descendant nodes of x miss the object. To avoid this, Dnode y periodically exchanges a message summary with its predecessor. If y finds that a message that it has not received, it obtains the message from its predecessor. Onodes also periodically exchanges a message summary with its Dnode. If an Onode finds that a message that it missed, it requests the Dnode to send a copy of the message. The Dnode sends the message directly to the Onode or designates another Onode to send the message. The message summary is piggybacked on the heartbeat message. The basic Chord protocol does not account for node proximity. The study in [17] has pointed out that, instead of choosing the ith entry in y’s finger table to be (y + 2i ), a proximity optimization of Chord allows the ith entry to be any node within the range of [y + 2i , y + 2i+1 ], which does not affect the complexities. We leverages this optimization in our scheme to improve the proximity effect. When a Dnode y joins the upper layer (which is Chord based), it iteratively checks whether there is a nearby Dnode in Ry falls in the range [y + 2i , y + 2i+1 ]. If there is one, it chooses this nearby Dnode as the ith entry. Recall that Ry is the set of nearby Dnodes located for y during y’s join process.
5
Performance Evaluation
We develop an event-driven simulator to evaluate the performance of our scheme. We also compare our scheme with hybrid push/pull [3], CAM [4] and ACOM [5]. The metrics we mainly focus on are as following.
Efficient Multi-source Data Dissemination in Peer-to-Peer Networks
700
10
8
6
4
2
500
400
300
200
200
800 3200 Number of Nodes
(a) Avg. hops
12800
Hybrid push/pull CAM−Chord ACOM EMS
600
Number of forwarded copies
Hybrid push/pull CAM−Chord ACOM EMS
Avg. Msg Delivery Delay (ms)
Avg. Msg. Delivery Hop
12
417
200
800 3200 Number of Nodes
(b) Avg. delay
12800
12800
3200 hybrid push/pull CAM−Chord ACOM EMS
800
200
200
800
3200
12800
Number of Nodes
(c) Avg. traffic volume
Fig. 3. Comparison of different schemes while varying system size
M1. Average length of delivery paths: the average number of overlay hops it takes a message to reach a node; M2. Average delivery delay: the average time it takes a message to reach a node. It is determined by the product of the path length and the logical link latency; M3. Average traffic volume: the average number of copies that are forwarded by all nodes for delivering one message; M4. Average maintenance overhead : average number of control messages used for each node join. If not specified, the system consists of 10,000 nodes. When the average node capacity is c, the distribution of node capacity is Zipf-like. The capacity of a node is c/2, c, 2c and 4c with probability of 50 percent, 25 percent, 12.5 percent and 6.25 percent, respectively. The default value of c is 8. The default degree of implicit tree on the upper layer is 6, or k = 6. The basic search radius for locating nearby Dnodes is set to 50, or Q0 = 50. The underlying physical topology is generated by GT-ITM[18]. This topology has about 2,500 nodes: 4 transit domains each with 4 transit routers, 5 stub domains attached to each transit router, and 30 routers in each stub domain on average. Member nodes are attached to randomly chosen stub routers. Different latencies are assigned to the edges according to edge types: the distance of the edge between a node to the router it attached is 1 millisecond; the distance of intra-domain edge is 2 milliseconds; the distance of the edge between transit and stub domain is 10 milliseconds; and the distance of inter-transit edge is 50 milliseconds. In the simulations, nodes join first and then 500 randomly chosen nodes start to send data messages. We perform the simulations for 5 times and report the average results. 5.1
Comparisons of Different Schemes
In this set of experiments, we comprehensively compare the performance of different schemes.
Z. Li et al.
418 1
Hybrid push/pull CAM−Chord ACOM EMS
0.4
0.2
0
400 800 1200 Msg. Delivery Delay (ms)
1600
Number of control Msgs. per Join
0.6
Percentage of Delivered Msgs.
Percentage of Nodes
0.8
0
400
1
0.8
0.6
0.4 CAM−Chord ACOM EMS
0.2
0
300 250 200 150 100 50 0
0
20
40
60 80 100 Link Latency (ms)
120
140
CAM−Chord ACOM EMS
350
200
800 3200 Number of Nodes
12800
Fig. 4 4 . CDF of avg. deliv- Fig. 5. CDF of delivered Fig. 6 6 . Control messages ery delay messages per join
Fig. 3 shows the impact of system scale on the performance. The x-axis is in logarithm. In all schemes, the average length of delivery paths grows logarithmically with system scale. Our scheme EMS and CAM-Chord have comparable length of delivery paths and they outperform ACOM and hybrid push/pull. The reason why average length of delivery paths is so high in hybrid push/pull scheme is that a large part of the messages are duplicate messages. As to average delivery delay, EMS outperforms CAM-Chord and ACOM outperforms hybrid push/pull scheme for that both EMS and ACOM take the proximity information into account greatly. As to traffic volume, because EMS and CAM-Chord uses tree structures to delivery data messages, they bring no duplicate messages. In comparison, hybrid push/pull scheme and ACOM use about 75 percent and 25 percent more messages, respectively. To better understand the average delivery delay of different schemes, we study the cumulative distribution of delivery delay of one message, which is shown in Fig. 4. Two observations are notable. First, not all the nodes can be reached in hybrid push/pull scheme. Second, EMS outperforms other schemes. Specially, within 400ms, 73.4 percent, 47.7 percent and 33 percent nodes can be reached in EMS, CAM-Chord and ACOM, respectively. Fig. 5 illustrates cumulative distribution of delivered data messages. Intuitively, more messages are delivered within shorter distances indicates less cost and faster convergence. Fig. 5 shows that EMS delivers about 51 percent of total messages within 26ms and about 87 percent within 76ms, while CAMChord only delivers about 27 percent within 76ms and ACOM delivers about 18 percent of total messages within 26ms and about 88 percent within 76ms. The results implies that EMS effectively delivers data messages between physically close nodes. Fig. 6 compares the maintenance overhead of different schemes in terms of number of control messages per join. Since CAM-Chord has many more neighbors (O(c logc n)) per node than EMS (O(log nd )) and ACOM (O(c)), its overhead is much higher than that of EMS and ACOM. Recall that nd is the number of Dnodes in EMS. Another observation is that EMS and ACOM have comparable maintenance overhead in terms of the cost per join.
Efficient Multi-source Data Dissemination in Peer-to-Peer Networks 800
10
8
6
4
2
2−ary tree 4−ary tree 6−ary tree 8−ary tree
700
Avg. Number of Msg. Forwarded
2−ary tree 4−ary tree 6−ary tree 8−ary tree
Avg. Msg Delivery Delay
Avg. Msg. Delivery Hop
12
600 500 400 300 200
200
800 3200 Number of Nodes
12800
200
800 3200 Number of Nodes
12800
Fig. 7. Avg. path length Fig. 8. Avg. delay while while varying k varying k
5.2
419
20
15
10
5
0
0
4
8
16 Node Capacity
32
Fig. 9. Load distribution
Performance of EMS
In this set of experiments, we evaluate the performance of EMS while varying the degree (k) of implicit tree on the upper layer and show node load distribution in terms of the average number of messages it forwards. Fig. 7 and Fig. 8 show the impact of the implicit tree degree (k) of the upper layer on the average path length and delivery delay, respectively. As expected, the path length and delivery delay decrease with the growth of the degree. However, the extent of decreasing is very small when increasing the degree from 6 to 8. This is explained by the fact that the Chord ring range at a node x can be partitioned into vx parts at most, where vx is the distinct nodes in x’s finger table and is O(log nd ) on average. Recall that nd is the number of the number of Dnodes. In our experiment, nd is always smaller than 1/10 to 1/5 of the total number of nodes. Therefore, when the degree of implicit tree is 8 (always bigger than O(log nd )), the actual degree is about O(log nd ), not 8. Fig. 9 shows the load distribution in terms of the average number of messages it forwards. Since the nodes with capacity 16 or 32 are on the upper layer with high probability, they contribute more than others. Nodes with capacities 8 contribute as smaller as nodes with capacities 4. This is because they are all in the lower layers.
6
Conclusion
In this paper, we propose EMS, an efficient multi-source data dissemination in P2P networks. Nodes are organized into a two-layer structure: the upper layer is DHT-based and consists of powerful and stable nodes, ordinary nodes attache to physically close nodes at the upper layer. The data objects are delivered through implicit trees so that no control message is required to build the tree structures. The average length of delivery paths is O(log n), where n is the number of nodes in the P2P network. Compared with existing schemes, EMS is proximity-aware and has small maintenance overhead and small traffic volumes. As a future work, we will evaluate the performance with different capacity profiles.
420
Z. Li et al.
Acknowledgments This work is supported by National Basic Research Program of China with grant No.2007CB310702, by National Natural Science Foundation of China with grant No.60403031 and 90604015, and by France Telecom R&D.
References 1. El-Ansary, S., Alima, L.O., Brand, P., Haridi, S.: Efficient Broadcast in Structured P2P Networks. In: Proc. of IPTPS 2003 (2003) 2. Saroiu, S., Gummadi, P.K., Gribble, S.D.: A Measurement Strudy of Peer-to-Peer File Sharing Systems. In: Proc. of MMCN 2002 (2002) 3. Datta, A., Hauswirth, M., Aberer, K.: Updates in Highly Unreliable, Replicated Peer-to-Peer Systems. In: Proc. of ICDCS 2003 (2003) 4. Zhang, Z., Chen, S., Ling, Y., Chow, R.: Resilient Capacity-Aware Multicast Based on Overlay Networks. In: Proc. of ICDCS 2005 (2005) 5. Chen, S., Shi, B., Chen, S.: ACOM: Any-source Capacity-constrained Overlay Multicast in Non-DHT P2P Networks. IEEE Trans. on Parallel and Distributed Systems 18(9), 1188–1201 (2007) 6. Zhang, X., Liu, J., Li, B., Yum, T.-S.P.: DONet/CoolStreaming:A Data-Driven Overlay Network for Live Media Streaming. In: Proc. of INFOCOM 2005 (2005) 7. Venkataraman, V., Yoshida, K., Francis, P.: Chunkyspread: Heterogeneous Unstructured Tree-based Peer to Peer Multicast. In: Proc. of ICNP 2006 (2006) 8. Banerjee, S., Bhattacharjee, B., Kommareddy, C.: Scalable Application Layer Multicast. In: Proc. of SIGCOMM 2002 (2002) 9. Chu, Y.-H., Rao, S.G., Seshan, S., Zhang, H.: A Case for End System Multicast. IEEE Journal on Selected Areas in Communication (JSAC) 20 (2002) 10. Shen, H., Xu, C.: Hash-based Proximity Clustering for Load Balancing in Heterogeneous DHT Networks. In: Proc. of IPDPS 2006 (2006) 11. Wang, F., Xiong, Y., Liu, J.: mTreebone: A Hybrid Tree/Mesh Overlay for Application-Layer Live Video Multicast. In: Proc. of ICDCS 2007 (2007) 12. Castro, M., Druschel, P., Kermarrec, A., Nandi, A., Rowstron, A., Singh, A.: Splitstream: High-bandwidth Multicast in Cooperative Environments. In: Proc. of SOSP 2003 (2003) 13. Stoica, I., Morris, R., Karger, D., Kaashoek, M., Balakrishnan, H.: Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications. In: Proc. of SIGCOMM 2001 (2001) 14. Gnutella Protocol Specification v0.6. http://rfc-gnutella.sourceforge.net/src/rfc-0_6-draft.html 15. Xu, Z., Tang, C., Zhang, Z.: Building Topology-Aware Overlays using Global SoftState. In: Proc. of ICDSC 2003 (2003) 16. Asano, T., Ranjan, D., Roos, T., Welzl, E., Widmaier, P.: Space Filling Curves and Their Use in Geometric Data Structures. Theoretical Computer Science (1997) 17. Gummadi, K.P., Gummadi, R., Gribble, S.D., Ratnasamy, S., Shenker, S., Stoica, I.: The Impact of DHT Routing Geometry on Resilience and Proximity. In: Proc. of SIGCOMM 2003 (2003) 18. Zegura, E.W., Calvert, K.L., Bhattacharjee, S.: How to Model an Internetwork. In: Proc. of INFOCOM 1996 (1996) 19. Li, Z., Xie, G., Li, Z.: Efficient Multi-source Data Dissemination in Peer-to-Peer Networks, Technical Report, available on request (November 2007)
Modeling Priority-Based Incentive Policies for Peer-Assisted Content Delivery Systems∗ Niklas Carlsson and Derek L. Eager Department of Computer Science, University of Saskatchewan Saskatoon, SK S7N 5C9, Canada [email protected], [email protected]
Abstract. Content delivery providers can improve their service scalability and offload their servers by making use of content transfers among their clients. To provide peers with incentive to transfer data to other peers, protocols such as BitTorrent typically employ a tit-for-tat policy in which peers give upload preference to peers that provide the highest upload rate to them. However, the tit-for-tat policy does not provide any incentive for a peer to stay in the system beyond completion of its download. This paper presents a simple fixed-point analytic model of a priority-based incentive mechanism which provides peers with strong incentive to contribute upload bandwidth beyond their own download completion. Priority is obtained based on a peer’s prior contribution to the system. Using a two-class model, we show that priority-based policies can significantly improve average download times, and that there exists a significant region of the parameter space in which both high-priority and low-priority peers experience improved performance compared to with the pure tit-for-tat approach. Our results are supported using event-based simulations. Keywords: Modeling, peer-assisted content delivery, priority-based incentive.
1 Introduction A highly scalable approach to content delivery is to utilize the upload bandwidth of the clients to offload the original content source [1, 2, 3, 4, 5, 6]. Existing peer-topeer download protocols, such as BitTorrent [1], allow each peer to download content from any peer that has content that it does not have, and do not require any organized delivery structure. With these protocols each file is split into many small pieces, each of which may be downloaded from different peers. To provide peers with an incentive to upload pieces to other peers, these protocols typically employ a tit-for-tat policy in which peers give upload preference to peers that provide the highest upload rate to them. Whereas such policies provide peers with strong incentives to upload at their full upload capacity while downloading a file, ∗
This work was supported by the Natural Sciences and Engineering Research Council of Canada.
A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 421–432, 2008. © IFIP International Federation for Information Processing 2008
422
N. Carlsson and D.L. Eager
they do not provide peers with any incentive to serve additional data after having completed their download. Therefore, unless altruistic peers graciously continue to serve data beyond their download completion, peer-assisted systems with limited server resources are not able to provide download rates much higher than the peer upload rate. When the peer download capacity significantly exceeds the upload capacity, as is commonly the case with home Internet connections (e.g., [7]), much of the download capacity in such systems is therefore underutilized. To increase the available upload resources some BitTorrent sharing communities enforce a minimum required sharing ratio (defined as the ratio between the total amount of data uploaded and downloaded); other communities rely on social etiquette (e.g., a sharing ratio may be advertised without any enforcement mechanism). While improved performance has been observed in such communities [8, 9], no policies appear to be in place to reward peers contributing more than the advertised minimum. This paper presents a simple fixed-point model of a two-class, priority-based incentive mechanism which uses differentiated service to provide peers with a strong incentive to upload data past their download completion. In addition to using a tit-fortat policy to encourage peers to upload as much as possible, while downloading, a fraction of the upload bandwidth of each peer/server is used to serve high-priority class peers. Priority is obtained based on a peer’s prior contribution to the system. We show that this policy is able to significantly improve average download times and provides peers with strong incentive to contribute past their download completion. Furthermore, there exists a significant region of the parameter space in which the performance of both high-priority and low-priority peers is improved over that with the pure tit-for-tat approach. We also discuss the impact of individual client choices on system performance. Results are supported using event-based simulations. Previous multi-class models of BitTorrent-like systems assume that the arrival rate of each class of peers is known and each peer allocates a static portion of upload bandwidth to each class of peers [10]. In contrast, we consider scenarios in which the fraction of upload bandwidth used for uploads to peers of each class depends on the proportion of peers of each class, which in turn depends on the extent to which clients decide to gain high-priority status through their contribution of upload resources. Naturally, these decisions depend on client perception of the advantage of being a high-priority peer versus the additional cost. In this work a fixed-point is determined such that the performance differential enjoyed by high-priority peers for a particular proportion of peers, provides incentive that yields exactly that proportion of peers choosing to earn high-priority status by contributing as a seed. To achieve good accuracy over the considered portion of the system parameter space, we also require a somewhat more detailed mean value analysis than previous fluid models [10, 11, 12, 13]. These differences are further discussed in Section 4. Other related work has included the use of analytic models [14, 15] or instrumentation [16, 17, 18] to capture the peer interaction, the study of reputationbased (e.g., [19]) and currency/token-based (e.g., [20]) reputation systems, and the use of taxation techniques when rewarding peers [21]. The remainder of the paper is organized as follows. Section 2 provides a brief overview of BitTorrent. A simple priority-based policy is presented in Section 3. Section 4 presents our analytic model. Results and validation are presented in Section 5. Finally, conclusions are presented in Section 6.
Modeling Priority-Based Incentive Policies
423
2 BitTorrent Overview We consider here the use of BitTorrent-like protocols to aid in the on-demand delivery of files stored on one or more content provider servers. BitTorrent [1] splits files into pieces, which themselves are split into smaller sub-pieces. Multiple subpieces can be downloaded in parallel from different peers. A peer is said to have a piece whenever the entire piece is downloaded, and is interested in all peers that have at least one piece that it currently does not have itself. Peers that have the entire file are called seeds, while peers that only have parts of the file and are still downloading are called leechers. Each peer establishes persistent connections with a large set of peers; however, at each time instance each peer only uploads to a limited number of peers (these peers are considered unchoked, while all other peers are choked). A ratebased tit-for-tat policy is used to encourage peers to upload pieces and discourage free-riding. With this policy leechers give upload preference to the leechers that provide the highest download rates. To probe for better pairings (or in the case of the seeds, allow new peers to download pieces), periodically each peer uses an optimistic unchoke policy, in which a random peer is unchoked. To ensure high piece diversity a rarest-first piece selection policy is used to determine which pieces to request next.
3 A Priority-Based Incentive Policy This section presents a priority-based incentive policy with two priority classes. We consider a system from which clients may download many files. New clients that have yet to contribute upload bandwidth as a seed are (by default) given low priority. Each time a peer uploads a (combined) total of LH data as a seed (over some number of downloaded files) it earns high-priority status for one future file download. In return for their extra upload contributions, high-priority peers receive better service. Service differentiation is achieved by requiring that every peer/server use a fraction fH of their upload bandwidth to serve high-priority peers. The remaining upload bandwidth is allocated based on tit-for-tat with optimistic unchoking. This policy provides peers with incentives to both upload at a high rate when downloading (from use of tit-for-tat), and to upload additional data as a seed (from use of priority).1 When selecting new peers to upload to, a peer randomly selects a high-priority peer if at least one such peer is requesting service and less than a fraction fH of the data it has uploaded has been uploaded using priority uploading; otherwise, tit-for-tat with optimistic unchoking is used. To encourage bidirectional tit-for-tat relationships, in which connections are responsive to the tit-for-tat policy (with optimistic unchoking), the unchoke policy considers the download rates of priority connections to be zero. To ensure that peers allocate roughly a fraction fH of their upload bandwidth to priority uploading, when possible, each peer keeps track of the amount of data uploaded using (i) tit-for-tat with optimistic unchoking, and (ii) priority uploading. When the upload of a new piece begins, the amount credited to the corresponding upload category is increased by the size of a piece. This credit may later be reduced, 1
Many policy variations are possible, including variants in which service differentiation is achieved with smoothly varying weights rather than with a binary priority assignment.
424
N. Carlsson and D.L. Eager
however, if due to parallel downloading, the actual amount uploaded by the peer is less than the size of the piece. Upload amounts are credited only during periods when there is at least one high-priority peer to which an upload could occur. We assume that the system provides all clients with information about the average download times of high-priority and low-priority clients, as well as the amount of data that must be uploaded as a seed to become high priority. This information (provided by a tracker, for example) allows clients to make an informed decision as to whether to make the upload contribution required for high-priority status.
4 Model Description This section presents our analytic model. We assume that all servers and peers have implemented the priority-based incentive policy described in Section 3 and are equipped with software (provided by the content provider, for example) which monitors the peers’ upload contributions. While such software cannot control the upload bandwidth made available by peers, we assume that the software allows the fraction fH used for priority uploading to be maintained and peers to be fairly and correctly labeled as either high or low priority.2 It is further assumed that the system operates in steady state and clients make many requests to the system. Furthermore, we assume that the probability a peer decides to upload a particular amount of data as a seed (so as to gain credit towards high priority status), after a file download, is independent of file identity, and that no peer accumulates high-priority download credit that it does not use in later downloads. Thus, in steady state, the total average rate that seeds upload data for any particular file will equal LH times the request rate of high-priority peers for that file. We assume that peers do not depart the system before having fully downloaded the file. Each client is assumed to determine the extent to which it is willing to serve as a seed according to the performance difference (as measured by the server) between the average download times of high-priority and low-priority peers. We analyze here a simple case where each peer has a threshold such that the peer will serve exactly LH data as a seed following each download, should this performance difference exceed the threshold. Assuming that these thresholds follow some (arbitrary) distribution, our analysis obtains a fixed-point solution such that the performance differential enjoyed by high-priority peers for a particular proportion of peers, yields exactly that proportion of peers choosing to earn high-priority status by contributing as a seed. We model download performance for a single representative file of size L. It is assumed that clients have an average upload bandwidth capacity U, average download bandwidth capacity D, generate requests for the file that arrive according to a Poisson process with rate λ, and that the server(s) have a total available upload bandwidth for the file equal to s times the average peer upload bandwidth U. Subscripts H and L are used to distinguish quantities for the high-priority and low-priority class, respectively. 2
A reporting and tracking system could be used to identify misbehaving peers that do not allocate the required fraction of upload bandwidth to priority uploading. Such peers could be punished by black-listing them from receiving uploads by servers and well-behaved peers.
Modeling Priority-Based Incentive Policies
425
4.1 General Model Given the above assumptions, a differential equation expressing the relationship between the average achieved download rate dc and the average number xc of clients actively downloading the file at any given time t, for each class c, can be derived as
dxc / dt = λ c − xc d c / L , c = L, H
(1)
where dc/L is the rate at which peers of class c complete their downloads and λc is the rate at which peers of class c begin new downloads. Focusing on the steady state case (i.e., when dxc/dt = 0), this yields xc = λ c ( L / d c ) .
c = L, H
(2)
We note that these expressions can easily be obtained directly using Little’s law. Similarly, the relationship between the average achieved upload rate uy of peers that are currently acting as seeds, and the average number of such peers, is given by
y = λ H ( LH / u y ) .
(3)
To continue the analysis so as to achieve acceptable accuracy over the considered portion of the parameter space, we require a more detailed mean value analysis than previous fluid models [10, 11, 12]. Our model uses conditional expected values (rather than only the long term averages) and reallocates upload bandwidth intended to be used for high-priority peers, but not allocated owing to insufficient total download capacity of these peers, to low-priority peers. Let xc(Q) and y(Q) denote the expected number of class c leechers, and the expected number of seeds, respectively, conditioned on the set of constraints Q. For example, if Q implies that xc = ac, then xc(Q) = ac; similarly, if Q implies that xc ≥ 1, then xc (Q ) = x c /(1 − e − xc ) . Further, let dc(Q) and N(Q) denote the corresponding conditional expected values for the download rate and the number of peers and servers uploading data, respectively, where the servers are considered as s peers (since their total upload bandwidth is sU). The download and upload rates of each class of clients can then be expressed as follows: d H = d H ( xH ≥1) ; d L = d L ( x L ≥1) ; u y = ( x H d H ( x H ≥1, y ≥1) + x L d L( x L ≥1, y ≥1) ) / N ( y ≥1) .
(4)
These expressions make use of the fact that the download and upload rate of a peer type is only applicable if there is at least one peer of that particular type in the system. In determining the conditional download rates, we separate upload bandwidth used for priority uploading (shared only among high-priority leechers) and tit-for-tat and optimistic unchoking (shared among all leechers). This separation allows the download rates to be adjusted based on the relative mix of peers of each class. Given a total upload capacity of N(Q)U, the download rate of high-priority peers is given by ⎡ ⎛ 1− fH f d H (Q ) = min ⎢ D, N (Q )U ⎜ + H ⎜ x H (Q ) + x L (Q ) x H (Q ) ⎢ ⎝ ⎣
⎞⎤ ⎟⎥ . ⎟⎥ ⎠⎦
(5)
426
N. Carlsson and D.L. Eager
With all the remaining bandwidth available to them (after high-priority peers are satisfied) the download rate of the low-priority peers can be expressed as follows: ⎡ N (Q )U − x H d H ( Q ) ⎤ d L (Q ) = min ⎢ D, ⎥. x L (Q ) ⎣⎢ ⎦⎥
(6)
This expression reduces to N(Q)U(1– fH)/(xH(Q)+xL(Q)) whenever dH(Q) ≤ D. Finally, the expected number of peers or servers effectively uploading data is given by N (Q ) = s + y( Q ) + ∑ c = L , H xc (Q ) − Pr (x H + xL = 1Q ) ,
(7)
where Pr(xH + xL = 1 | Q) is the probability that there only is a single leecher in the system. This expression assumes that every peer can upload data whenever there is more than one client in the system. Assuming the number of high-priority and lowpriority peers is independent given Q, the above probability can be calculated as Pr (x H + x L = 1 Q ) = Pr (xH = 1Q ) Pr (x L = 0 Q ) + Pr (xH = 0 Q ) Pr (xL = 1Q ) ,
(8)
where the conditional probabilities can be calculated using standard theory. Given the portion λH/λ of peers selecting to become high-priority peers, as would depend on the relative performance difference (TL/TH – 1), the average download rates dc and download times Tc = L/dc can be easily obtained by numerically solving the above equation system. As with other fluid models, the complexity of these calculations is independent of the number of peers in the system. 4.2 All High-Priority Case
This section describes how our model can be reduced to a closed form solution for the special case in which (i) all clients select to become high-priority peers, (i) on average serve LH data as a seed, (iii) the system is demanding λL >> d, and (iv) the seed contributions are significant λLH >> uy. For this special case the conditional values are roughly equal to the long term s + λL / d H + λLH / u y averages and equations (4) and (5) reduce to dH = min[D, U], λL / d H where uy= λL/(s + λL/dH + λLH/uy). Here Little’s law has been used to substitute the average number of leechers xH = λL/dH and seeds y = λLH/uy, respectively. Solving for dH allows an expression for the average download time TH = L/dH to be obtained: TH = min [L / D, ( L − LH ) / U − s / λ ] .
(9)
Note that as long as D ≥ U /(1 − sU /(λL )) , the download time decreases linearly with the amount of data LH uploaded by seeds, and the clients fully utilize their maximum download bandwidth capacity D when seeds upload L*H = L(1 − U / D ) − sU / λ data. While equation (9) also is applicable to a regular tit-for-tat system in which altruistic
Modeling Priority-Based Incentive Policies
427
peers serve LH data as seeds, we note that such seed contributions are much more likely in the priority system, in which the peers are given a performance incentive.
5 Results This section validates the model and analyzes the characteristics of the priority-based policy. For validation we modified an existing event-based simulator of BitTorrentlike systems [22]. It is assumed that no connections are choked in the middle of an upload, and peers only request new downloads when they are not fully utilizing their download capacity D. For simulating the rate at which pieces are exchanged, it is assumed that connection bottlenecks are located at the end points (i.e., either by the upload capacity U at the sender or by the download capacity D at the receiver) and the network operates using max-min fair bandwidth sharing (using TCP, for example). 5.1 Validation Using Known User Choices
In this section we validate the analytic model for the case where the proportion of clients of each priority class is known. We consider a system with a single server operating in steady state. The system is simulated for 6400 requests, with the initial 1000 and the last 400 requests removed from the measurements. Each data point represents the average of 5 simulations. The file is split into 512 pieces. The peers and the server can simultaneously upload to at most 4 and 4s peers, respectively. Without loss of generality, the file size L and upload bandwidth capacity U are fixed at one. With these normalized units, the volume of data transferred is measured in units of the file size and the download time is measured in units of the minimum time it takes for a client to fully upload a copy of the file. Fig. 1 presents the average download times for each priority class individually and the overall averages, as predicated by both the analytic model and simulations. For each sub-figure in Fig. 1, one variable is considered at a time. The default case assumes that λ = 100, D/U = 3, LH/L = 20%, s = 1, fH = 25%, and λH/λ = 50%. Fig. 1(a) also presents the results for a probabilistic model extension.3 For the other subfigures the difference between the general model and the probabilistic extension is not noticeable and the results for the extension are therefore omitted. The agreement between simulation and analytical results is excellent for the overall averages. The agreement for the averages for each individual class is good, although the discrimination between the classes is typically slightly smaller for the simulations. This difference is likely due to the fixed-point model not capturing variability in the number of active peers of each class. Note that larger errors are observed in regions with larger variability; for example, in systems with relatively low arrival rate. For these regions, the probabilistic extension, which takes more state information into account, provides a slightly better approximation. In general, however, we have found that the added complexity of such models is not typically justified. 3
Due to space constraints the description of this extension is omitted. The basic idea is to split each condition Q used in expression (4) into three sub-cases: (i) there is no additional leecher in the system, (ii) there is at least one high-priority leecher in the system, and (iii) there is no high-priority leecher in the system, but at least one low-priority leecher.
N. Carlsson and D.L. Eager 1.4
1.4
1.2
1.2
1 0.8 0.6 0.4
all (model) all (simulation) all (prob. ext.)
0.2
high (model) high (simulation) high (prob.ext.)
low (model) low (simulation) low (prob. ext.)
Average download time
Average download time
428
0 1
10 100 Client arrival rate
1000
0.4
all (model) high (model) low (model)
0.2
10000
all (model) all (simulation) high (model) high (simulation) low (model) low (simulation)
1.2 1 0.8
1
all (simulation) high (simulation) low (simulation)
2 3 4 Download/upload bandwidth capacity ratio
0.6 0.4 0.2
5
all (model) all (simulation) high (model) high (simulation) low (model) low (simulation)
1.4
Average download time
1.4
Average download time
0.6
0
0.1
1.2 1 0.8 0.6 0.4 0.2 0
0 0.25 0.5 0.75 1 1.25 Amount (as a seed) to become high priority peer
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
all (model) high (model) low (model)
1
1.5
10 100 Server/peer upload bandwidth capacity ratio
1.2 1 0.8 0.6
all (model) all (simulation) high (model) high (simulation) low (model) low (simulation)
0.4 0.2 0
0
0.2 0.4 0.6 0.8 Fraction devoted to priority uploading
1000
1.4
all (simulation) high (simulation) low (simulation)
Average download time
0
Average download time
1 0.8
1
0
0.2
0.4 0.6 Portion high priority clients
0.8
1
Fig. 1. Model validation. Default settings: L = 1, U = 1, λ = 100, D/U = 3, LH = 0.2, s = 1, fH = 0.25, λH /λ = 0.5. (a) Client arrival rate λ. (b) Download/upload capacity ratio D/U. (c) Amount LH to be uploaded as a seed. (d) Server/peer upload capacity ratio s. (e) Fraction fH devoted to priority uploading. (f) Portion λH /λ high priority peers.
As suggested by the closed form equations in Section 4.2, the average download times decrease linearly with the amount of content uploaded by seeds (with the slope determined by the proportion of high-priority peers in the system). The discrimination between the priority classes increases linearly with the fraction devoted to priority uploading. We note that the decreased performance of low-priority peers (relative to the high-priority peers) is offset by the overall improved performance due to high priority peers making additional upload contributions as seeds. As further discussed in Section 5.2, such contributions can in some cases allow the low-priority peers to achieve better download times than peers in non-priority systems. 5.2 Social Welfare Regions
In this section we consider under what circumstances low-priority peers experience download times no worse (or only slightly worse) than they would in a regular tit-fortat system. We call regions in the modeling space for which both classes of peers see improved performance social welfare regions. We consider a system without altruistic peers and model the performance of a regular tit-for-tat system using the special case in which LH = 0 and fH = 0. Assuming that any additional (unconditional) upload contributions made by altruistic peers are equal for both systems, the results for systems with altruistic peers correspond to scenarios with additional server bandwidth.
Modeling Priority-Based Incentive Policies
429
Fig. 2. Percentage decrease in download times for low-priority peers when the clients’ individual thresholds follow an exponential distribution. Default settings are: L = 1, U = 1, LH = 0.5, λ = 100, D/U = 3, s = 1, fH = 0.25.
Fig. 2 shows the contour lines for different levels of improvements observed by the low-priority peers. These experiments assume that the clients’ individual thresholds follow an exponential distribution. On the y-axis of each sub-figure the median of this distribution is plotted. For example, with a median of 1, 50% of the clients require the performance difference to be at least 100% before selecting to become a high-priority peer. With our analytic model providing slight overestimates of the download times of the low-priority peers, we expect that in real systems the social regions would likely be somewhat larger than indicated here. Note that the size of the social welfare regions typically increases as clients are more willing to serve as high-priority peers (i.e., for lower thresholds). In fact, for large portions of the parameter space the low-priority peers actually observe significant performance improvements. Only when clients have large thresholds or the fraction of bandwidth devoted to priority uploading exceeds 50%, do the lowpriority peers observe decreased performance. It should further be noted that with fH = 0.25 and LH = 0.5 the low-priority peers do not have more than a 10% increase in download times (independent of the peer threshold distribution). The corresponding values when LH = 0.25 and LH = 0.75 are 25% and 0%, respectively. 5.3 User Behavior and System Dynamics
To illustrate the impact that individual client choices have on the performance of the system, Fig. 3 shows the performance using different threshold distributions. To cover a wide range of cases we assume that the thresholds follow a Weibull distribution. The shape parameter β determines if the distribution is light-tailed (β ≥ 1), or heavy-tailed (β < 1), with β = 1 corresponding to an exponential
430
N. Carlsson and D.L. Eager 1.2
regular BT b=0.25 b=0.5 b=1 b=2 b=4
0.8 0.6 0.4 0.2 0 0.01
0.1 1 Median theshold difference
Probability high priority peer
0.8 0.6
0.2
0.1 1 Median theshold difference
10
regular BT b=0.25 b=0.5 b=1 b=2 b=4
0.6 0.4 0.2
250
0.4
0 0.01
1 0.8
0 0.01
10 b=0.25 b=0.5 b=1 b=2 b=4
1
Average download time (low priority peers)
1
% increase in download time (low vs. high)
Average download time (high priority peers)
1.2
200 150
0.1 1 Median theshold difference
10
b=0.25 b=0.5 b=1 b=2 b=4
100 50 0 0.01
0.1 1 Median theshold difference
10
Fig. 3. Performance impact of the shape parameter β and the overall aggressiveness of clients. Default settings are: L = 1, U = 1, LH = 0.5, λ = 100, D/U = 3, s = 1, fH = 0.25.
distribution and β = 3.4 approximating a normal distribution. Note that the curves become more and more step-like as the shape parameter grows and the distribution becomes more compressed (with, in the limiting case, all peers sharing the same threshold). All curves cross at the point where the portion of high-priority peers is 50%; this is since the distributions are normalized to have the same median and the fact that the system performance is mainly determined by the fraction of peers that have a threshold below some “critical” value (not the shape of the threshold distribution itself). Another observation from these figures is that low-priority peers only perform worse (and only slightly worse) than peers in a regular BitTorrent system when the median threshold difference is relatively large (e.g., 100%). 5.4 Alternative Scenarios and Workload Assumptions
This section considers alternative scenarios and workload assumptions than those assumed by our analytic model. First, motivated by measurement studies [12], we consider a flash-crowd scenario in which peers arrive at an exponentially decaying rate λ(t) = λ0e-γt, with λ0 = 791.0 and γ = 1. For this case 63.2% of all 500 peer arrivals occur within the first time unit. Second, a steady state scenario is considered with heterogeneous peers: low-bandwidth (UA = 0.2, DA = 0.6) and high-bandwidth (UB = 1, DB = 3) peers. For reference we also include our original default scenario. Fig. 4 shows the relative download times for each scenario. Although the performance improvements are smaller in the flash crowd scenario and for the lowbandwidth clients in the heterogeneous scenario, the increased performance differences between high-priority and low-priority peers when the proportion of highpriority peers is small gives a strong incentive to contribute additional resources, thereby allowing the overall performance to be improved. Again, we note that the low-priority peers do not perform much worse than peers in a regular tit-for-tat system and in many cases significantly better.
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
4.5
Steady state (simulation) Steady state (analytic) Heterogeous (high bw ) Heterogenous (low bw ) Flash crow d
431
Steady state (simulation) Steady state (analytic) Heterogeous (high bw ) Heterogenous (low bw ) Flash crow d
4
Download time ratio (regular vs. high)
Download time ratio (regular vs. low)
Modeling Priority-Based Incentive Policies
3.5 3 2.5 2 1.5 1
0
0.2
0.4 0.6 Portion high priority peers
0.8
1
0
0.2
0.4 0.6 Portion high priority peers
0.8
1
Fig. 4. Example scenarios: (i) steady state (λ = 100), (ii) flash crowd (λ0e-γt, with λ0 = 791.0 and γ = 1), and (iii) heterogeneous scenario (λ = 50, λA/λ = 0.5, UA = 0.2, DA = 0.6, UB = 1, DB = 3). Default settings are: L = 1, U = 1, LH = 0.5, D/U = 3, s = 1, fH = 0.25.
6 Conclusions This paper presents a simple analytic model of a two-class priority-based incentive mechanism in which priority is obtained based on peers’ prior contributions to the system. It is shown that priority-based policies can provide peers with strong incentive to contribute upload bandwidth beyond their own download completion, can significantly improve the average download times in the system, and that there exists a significant region in the parameter space in which both high-priority and lowpriority peers experience improved performance compared to the pure tit-for-tat approach. While this paper has focused on download, we note that these types of priority policies also can be used for peer-assisted streaming [22].
References 1. Cohen, B.: Incentives Build Robustness in BitTorrent. In: Workshop on Economics of Peer-to-Peer Systems, Berkeley, CA (2003) 2. Gkantsidis, C., Rodriguez, P.R.: Network Coding for Large Scale Content Distribution. In: IEEE INFOCOM, Miami, FL (2005) 3. Sherwood, R., Braud, R., Bhattacharjee, B.: Slurpie: A Cooperative Bulk Data Transfer Protocol. In: IEEE INFOCOM, Hong Kong, China (2004) 4. Chu, Y., Rao, S.G., Zhang, H.: A Case for End System Multicast. In: ACM SIGMETRICS, Santa Clara, CA (2000) 5. Kozic, D., Rodriguez, A., Albrecht, J., Vahdat, A.: Bullet: High Bandwidth Data Dissemination Using an Overlay Mesh. In: ACM SOSP, Bolton Landing, NY (2003) 6. Zhang, X., Liu, J., Li, B., Yum, T.-S.P.: CoolStreaming/DONet: A Datadriven Overlay Network for Peer-to-Peer Live Media Streaming. In: IEEE INFOCOM, Miami, FL (2005) 7. Saroiu, S., Gummadi, K.P., Gribble, S.D.: A Measurement Study of Peer-to-Peer File Sharing Systems. In: IS&T/SPIE MMCN, San Jose, CA (2002) 8. Andrade, N., Mowbray, M., Lima, A., Wagner, G., Ripeanu, M.: Influences on Cooperation in BitTorrent Communities. In: ACM SIGCOMM Workshop on Economics of P2P Systems, Philadelphia, PA (2005) 9. Ripeanu, M., Mowbray, M., Andrade, N., Lima, A.: Gifting Technologies: A BitTorrent Case Study. First Monday 11, 11 (2006)
432
N. Carlsson and D.L. Eager
10. Clévenot-Perronnin, F., Nain, P., Ross, K.W.: Multiclass P2P Networks: Static Resource Allocation for Service Differentiation and Bandwidth Diversity. In: IFIP PERFORMANCE, Juan-les-Pins, France (2005) 11. Qiu, D., Srikant, R.: Modeling and Performance Analysis of BitTorrent-Like Peer-to-Peer Networks. In: ACM SIGCOMM, Portland, OR (2004) 12. Guo, L., Chen, S., Xiao, Z., Tan, E., Ding, X., Zhang, X.: Measurement, Analysis, and Modeling of BitTorrent-like Systems. In: ACM IMC, Berkley, CA (2005) 13. Kumar, R., Liu, Y., Ross, K.: Stochastic Fluid Theory for P2P Streaming Systems. In: IEEE INFOCOM, Anchorage, AK (2007) 14. Massoulie, L., Vojnovic, M.: Coupon Replication Systems. In: Proc. ACM SIGMETRICS, Banff, Canada (2005) 15. Lin, M., Fan, B., Chiu, D., Lui, J.C.S.: Stochastic Analysis of File Swarming Systems. In: IFIP PERFORMANCE, Cologne, Germany (2007) 16. Legout, A., Urvoy-Keller, G., Michiardi, P.: Rarest First and Choke Algorithms Are Enough. In: ACM IMC, Rio de Janeiro, Brazil (2006) 17. Legout, A., Liogkas, N., Kohler, E., Zhang, L.: Clustering and Sharing Incentives in BitTorrent Systems. In: ACM SIGMETRICS, San Diego, CA (2007) 18. Piatek, M., Isdal, T., Anderson, T., Krishnamurthy, A., Venkataramani, A.: Do Incentives Build Robustness in BitTorrent? In: NSDI, Cambridge, MA (2007) 19. Kamvar, S.D., Schlosser, M.T., Garcia-Molina, H.: The Eigentrust Algorithm for Reputation Management in P2P Networks. In: WWW, Budapest, Hungary (2003) 20. Zhong, S., Chen, J., Yang, Y.R.: Sprite: a Simple, Cheat-Proof, Credit-Based System for Mobile Ad-hoc Networks. In: IEEE INFOCOM, San Francisco, CA (2003) 21. Chu, Y., Chuang, J., Zhang, H.: A Case for Taxation in Peer-to-Peer Streaming Broadcast. In: ACM SIGCOMM Workshop on Practice and Theory of Incentives in Networked Systems, Portland, OR (2004) 22. Carlsson, N., Eager, D.L.: Peer-assisted On-demand Streaming of Stored Media using BitTorrent-like Protocols. In: IFIP/TC6 NETWORKING, Atlanta, GA (2007)
AQCS: Adaptive Queue-Based Chunk Scheduling for P2P Live Streaming Yang Guo1 , Chao Liang2 , and Yong Liu2 1
2
Corporate Research, Thomson, Princeton, NJ, USA 08540 [email protected] ECE Dept., Polytechnic University,Brooklyn, NY, USA 11201 [email protected],[email protected]
Abstract. P2P streaming has been popular and is expected to attract even more users. One major challenge for P2P streaming is to offer users satisfactory Quality of Experience (QoE) in terms of video resolution, startup delay, and playback smoothness, all require efficient utilization of bandwidth resources in P2P networks. In this paper, we propose AQCS, adaptive queue-based chunk scheduling, that can support the maximum streaming rate allowed by a P2P streaming system with small signaling overhead and short startup delay. AQCS is a distributed algorithm with minimum requirement on peers. Queue-based design enables peers to be self-adaptive to the bandwidth variations and peer churn, and automatically converges to the optimal operating point. The prototype of AQCS is implemented and various implementation issues are examined. The experiments over the PlanetLab further demonstrate AQCS’s optimality and its robustness against changing system/network environment.
1 Introduction Video-over-IP applications have recently attracted a large number of users on the Internet. Youtube [1] alone hosted some 45 terabytes of videos and attracted 1.73 billion views by the end of August 2006. With the fast deployment of high-speed residential access, such as Fiber-To-The-Home, video traffic is expected to dominate the Internet in near future. Traditionally, video content can be streamed to end users either directly from video source servers or indirectly from servers in Content Delivery Networks (CDNs). Peer-to-Peer video streaming has emerged as an alternative with low server infrastructure cost. P2P video streaming systems, such as ESM [2], CoolStreaming [3], and PPLive [4], have attracted millions of users to watch live or on-demand video programs on the Internet [5]. The P2P design philosophy seeks to utilize peers’ upload bandwidth to reduce servers’ workload. However, the upload bandwidth utilization might be throttled by the so called content bottleneck where a peer may not have any content that can be uploaded to its neighbors even if its link is idle. The mechanism adopted by P2P file sharing applications is to increase the content diversity among peers. For example, the rarest-first policy of BitTorrent [6] encourages peers to retrieve the chunks with the lowest availability among their neighbors. Network coding has also been explored to mitigate the content bottleneck problem [7]. The content bottleneck problem in live streaming is A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 433–444, 2008. c IFIP International Federation for Information Processing 2008
434
Y. Guo, C. Liang, and Y. Liu
even more severe. Video content in live streaming has strict playback deadlines. Even temporary decrease in peer bandwidth utilization leads to peer playback quality degradation, such as video playback freezing or skipping. To make things worse, at any given moment, peers are only interested in downloading a small set of chunks falling into the current playback window. This greatly increases the possibility of content bottleneck. One way to address this problem is to compromise user viewing quality. For example, a lower video playback rate would impose lower peer bandwidth utilization requirement. Allowing a longer playback delay also allows a larger set of chunks to be exchanged among peers. The opposite solution lies in designing more efficient peering strategies and chunk scheduling methods. This paper deals with the second solution. Our focus is on the design of a chunk scheduling method that can support high resolution video streaming service. We assume collaborative P2P systems. Peers help each other and forward received video chunks to other peers. Motivated by the effectiveness of buffer control on switches and Active Queue Management (AQM) on routers, we propose a novel queue-based chunk scheduling algorithm, AQCS, to adaptively eliminate content bottlenecks in P2P streaming. Using queue-based signaling between peers and the content source server, the amount of workload assigned to a peer is proportional to its available upload capacity, which leads to high bandwidth utilization. The queue-based signaling also enables the proposed scheme to adapt to the changing network environment. The data chunks are relayed at most once by intermediate peers. Hence the video content can be disseminated to all peers quickly. The simplicity of the design also reduces the signaling overhead. Our contributions are three-fold: – We propose a simple queue-based chunk scheduling method achieving high bandwidth utilization in P2P live streaming. We theoretically show that the proposed scheme can support the optimal streaming rate in idealized network environments. A practical algorithm is designed to achieve the close-to-optimum performance in realistic network environment. – A full-feature prototype is developed to test the feasibility and efficiency of the proposed scheduling algorithm. Various design considerations are explored to handle dynamics in realistic network environments, including peer churns, peer bandwidth variations, and inside network congestion. – The performance of the prototype system is examined through experiments over PlanetLab [8]. Both the optimality and the adaptiveness of the proposed chunk scheduling method are demonstrated. The remaining part of this paper is organized as follows. Background and related work is included in Section 2. The queuing model and scheduling algorithm of queuebased chunk scheduling are described in Section 3. Implementation considerations are explored in Section 4. The experiment results are reported in Section 5. Finally, Section 6 ends the paper with concluding remarks.
2 Background and Related Work In [9], we propose HCPS - Hierarchically Clustered P2P Streaming system that can support the streaming rate approaching the optimum upper bound with short delay, yet
AQCS: Adaptive Queue-Based Chunk Scheduling for P2P Live Streaming
435
is simple enough to be implemented in practice. In HCPS, the peers are grouped into small size clusters and a hierarchy is formed among clusters to retrieve video data from the source server. By actively balancing the uploading capacities among clusters, and executing the perfect scheduling algorithm [10] within each cluster, the system resource can be efficiently utilized. Fig. 1 depicts a two-level HCPS system. At the lower level, all peers are organized into bandwidth-balanced clusters. Each cluster consists of a cluster head and a small number, e.g. from 20 to 40 normal peers. Cluster heads of all clusters form a super cluster at upper level and retrieve video from the video source server in P2P fashion. After obtaining video at the upper level, a cluster head acts as a local video proxy server for normal peers in its cluster at lower level. Normal peers within the same cluster collaborate according to the perfect scheduling algorithm to retrieve video from their cluster head. In this new architecture, the server only distributes video to cluster heads; a normal peer only maintains connections to its neighbors in the same cluster; and a cluster head connects to both other cluster heads and normal peers in its own cluster. Two-level HCPS already has the ability to support a large number of peers with mild requirement on the number of connections on the server, cluster heads and normal peers. S
Cluster Head Head Mapping
1
2 a1
a3
b1
a2
b3 b2
Top Level
r
r r
a1
r
r
a3
b1
r
Base Level b3
3 b2
a2
5
4
8
6
7
Fig. 1. Hierarchically Clustered P2P Streaming System
The perfect scheduling employed in HCPS does not work well in practical, though. It requires a central controller that collects all peers’ upload capacity information, and computes the sub-stream rates sent from the server to individual peers. In practice, available upload capacity may not be known and can vary over time. The central coordinator needs to continuously monitor peers’ upload capacity and re-compute the sub-stream rates. The adaptive queue-based chunk scheduling method is a distributed solution. Peers only exchange information with the server and make local decisions. Upload capacity information of peers/source is not required, and the scheme adapts to the changing peer membership and network environment automatically. Hence AQCS is a more suitable peer scheduling method for HCPS at cluster level. There have been ongoing efforts intending to improve resource utilization in P2P live streaming. To improve the resource utilization in mesh-based P2P streaming, [11]
436
Y. Guo, C. Liang, and Y. Liu
proposes a two-phase swarming scheme where the fresh content is quickly diffused to the entire system in the first phase, and peers exchange available content in the second phase. Network coding is also applied to P2P live streaming. [12] performs a reality check by using network coding for P2P live streaming. Nevertheless neither approach can provably achieve the maximum streaming rate. The authors in [13] design a randomized distributed algorithm, Random Useful Packet Forwarding (RUPF), that can converge to the maximum streaming rate. They also study the delay that users must endure in order to play the stream with a small amount of missing data. The queue-based chunk scheduling method is a deterministic distributed algorithm with small control overhead. No data chunk need to be skipped to achieve short startup delay. AQCS also incurs less signaling overhead since no bit-maps carrying the data chunk availability information are exchanged between peers. Our initial experiments show that AQCS out-performs the randomized broadcasting scheme.
3 Adaptive Queue-Based Chunk Scheduling It is desirable to support high streaming rate in P2P streaming. Higher streaming rate allows the system to broadcast video with better quality. It also provides more cushion to absorb the bandwidth variations (caused by peer churn, network congestion, etc.) when constant-bit-rate (CBR) video is broadcasted. The key to achieve high streaming rate is to better utilize peers’ uploading bandwidth. In this section, we describe the queuebased chunk scheduling algorithm that can achieve close to optimal peer uploading bandwidth utilization in practical P2P networking environment. In AQCS, data chunks are pulled/pushed from server to peers, cached at peers’ queue, and relayed from peers to its neighbors. The availability of upload capacity is inferred from the queue status such as the queue size or if the queue is empty. Signals are passed between peers and server to convey the information if a peer’s upload capacity is available. Fig. 2 depicts a P2P streaming system using queue-based chunk scheduling with one source server and three peers. Each peer maintains several queues including a S 1 5
5
5
2
c 4
a 3
b 4
Pull signal from peer to server Chunks in response to pull signal Chunks with no pull signal
Fig. 2. Queue-based chunk scheduling example with four nodes
AQCS: Adaptive Queue-Based Chunk Scheduling for P2P Live Streaming
437
’pull’ signal queue
’pull’ signal Filter
Playback buffer
1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
F marked content
Forwarding queue
F marked content server
Content buffer
Forwarding server
(a) Queue Model of Peers
(b) Queue Model of Source Server
Fig. 3. Queue Models of Peers and Source Server
forward queue. Using peer a as an example, the signal and data flow is described next. Pull signals are sent from peer a to the server whenever the queues become empty (or have fallen below a threshold) (step 1 in Fig. 2). The server responds to the pull signal by sending three data chunks back to peer a (step 2). These chunks will be stored in the forward queue (step 3) and be relayed to peer b and peer c (step 4). When the server has responded to all ’pull’ signals on its ’pull’ signal queue, it serves one duplicated data chunks to all peers (step 5). These data chunks will not be stored in forward queue and will not be relayed further. Next we first describe in detail the queue-based scheduling mechanism at the source server and peers. The optimality of the scheme is shown afterwards. 3.1 Peer Side Scheduling and Its Queuing Model Fig. 3(a) depicts the queuing model for peers in the queue-based scheduling method. A peer maintains a playback buffer that stores all received streaming content from the source server and other peers. The received content from different nodes is assembled in the playback buffer in playback order. The peer’s media player renders/displays the content from this buffer. Meanwhile, the peer maintains a forwarding queue which is used to forward content to all other peers. The source server marks the data content either as F-marked content or NF-marked content before transmitting them. F (forwarding) represents content that should be relayed/forwarded to other peers. NF (non-forwarding) indicates that content is intended for this peer only and no forwarding is required. NF content is filtered out at peers. F content is stored into the forward queue, marked as NF content, and forwarded to other peers. Because the relayed content is always marked as NF at the relaying peer, data content is relayed at most once in AQCS, which reduces the content distribution time and startup delay. In order to fully utilize a peer’s upload capacity, the peer’s forwarding queue should be kept busy. A signal is sent to the source server to request more content whenever the forwarding queue becomes empty. This is termed a ’pull’ signal. The rules for marking the content at the source server are described next.
438
Y. Guo, C. Liang, and Y. Liu
3.2 Server Side Scheduling Algorithm and Its Queuing Model Fig. 3(b) illustrates the server-side queuing model of AQCS. The source server has two queues: a content queue and a signal queue. The signal queue buffers the ’pull’ signals issued by peers. The content queue is a multi-server queue with two dispatchers: an F-marked content dispatcher and a forward dispatcher. Which dispatcher is invoked depends on the status of the ’pull’ signal queue. Specifically, if there are ’pull’ signals in the signal queue, a small chunk of content is taken off from the content buffer, marked as F content, and dispatched by the F-marked content dispatcher to the peer that issued the ’pull’ signal. The ’pull’ signal is then removed from the signal queue. In contrast, if the signal queue is empty, the server takes a small chunk of content from the content buffer and puts that chunk of content into the forwarding queue. The forwarding dispatcher marks the chunk as NF and sends it to all peers in the system. 3.3 Optimality of Queue-Based Chunk Scheduling Given a content source server and a set of peers with known upload capacities, the maximum streaming rate, rmax , is governed by the following formula [10]: us + ni=1 ui rmax = min{us , }. (1) n where us is content source server’s upload capacity, ui is peer i’s upload capacity, and n is thenumber of peers in the system. The second term on the right-hand side of equation, us + n i=1 ui , is the average upload capacity per peer. The maximum/optimal streaming n u +
n
u
u +
n
u
u +
n
u
rate is rmax = us if us ≤ s ni=1 i , and rmax = s ni=1 i if us > s ni=1 i . The first case is termed as server resource poor scenario where the server’s upload capacity is the bottleneck. The second case is termed as server resource rich scenario where the peers’ average upload capacity is the bottleneck. Theorem 1. Assume that the signal propagation delay between a peer and the server is negligible and the data content can be transmitted at an arbitrary small amount, then the queue-based decentralized scheduling algorithm as described above achieves the maximum streaming rate possible in the system. Sketch of proof: In server resource poor scenario, the source server bandwidth is the bottleneck and cannot handle all ’pull’ signals issued by peers. The signal queue at the server side is hence non-empty and the entire server bandwidth is used to transmit Fmarked content to peers. In contrast, a peer’s forward queue becomes idle while waiting for the new data content from the source server. Since each peer has sufficient upload bandwidth to relay the F-marked content (received from the server) to all other peers, the supportable streaming rate is equal to the server’s upload capacity. Optimal rate is achieved. In server resource rich scenario, the server has the bandwidth to service the ’pull’ signals. During the time period when the ’pull’ signal queue is empty, the server transmits duplicate NF-marked content to all peers. It can be shown that the streaming u + n u rate is s ni=1 i . Optimal rate is again reached. The detailed proof can be found in [14].
AQCS: Adaptive Queue-Based Chunk Scheduling for P2P Live Streaming
439
4 Implementation Considerations The architecture of content source server and peers using the queue-based data chunk scheduling are now described with an eye toward practical implementation considerations including the impact of chunk size, propagation delay, network congestion, and peer churn. In the optimality proof, it was assumed that the chunk size could be arbitrarily small and the propagation delay was negligible. In practice, the chunk size is on the order of kilo-bytes to avoid excessive transmission overhead caused by protocol headers. The propagation delay is on the order of tens to hundreds of milliseconds. Hence, it is necessary to adjust the timing of issuing ’pull’ signals by the peers and increase the number of F-marked chunks served at the content source server to allow the decentralized scheduling method to achieve close to the optimal live streaming rate. At the server side, K F-marked chunks are transmitted as a batch in response to a ’pull’ signal from a requesting peer (via the F-marked content queue). A larger value of K would reduce the ’pull’ signal frequency and thus reduce the signaling overhead. This, however, increases peers’ threshold to be shown in Equation (2). Denote by Ti the threshold for peer i to issue ’pull’ signal. A ’pull’ signal is sent to server whenever the number of chunks in the queue is less than or equal to Ti . The time to empty the forwarding queue with Ti chunks is tempty = (n − 1)Ti δ/ui . Meanwhile, it takes i treceive = 2t + Kδ/u + t for peer i to receive K chunks after it issues a pull si s q i signal. Here tsi is the propagation delay between the source server and peer i, Kδ/us is the time required for server to transmit K chunks, and tq is queuing delay seen by the ’pull’ signal at the server pull signal queue. In order to receive the chunks before the forwarding queue becomes fully drained, tempty ≥ treceive . This leads to: i i Ti ≥
(2tsi + Kδ/us + tq )ui . (n − 1)δ
(2)
All quantities are known except tq , the queuing delay incurred at the server side signal queue. In server resource poor scenario where the source server is the bottleneck, the selection of Ti would not affect the streaming rate as long as the server is always busy. In server resource rich scenario, since the service rate of signal queue is faster than the pull signal rate, tq is very small. So we set tq to be zero. This leads to the following ’pull’ signal threshold formula that can be used to guide the threshold selection: Ti ≥
(2tsi + Kδ/us )ui . (n − 1)δ
(3)
The architectures of source server and peer are described next. Figure 4 illustrates the architecture of the source server. Using the ’select call’ mechanism to monitor the connections with peers, the server maintains a set of input buffers to store received data. There are three types of incoming messages: management message, ’pull’ signal, and missing chunk recovery request. Correspondingly three independent queues are formed for these messages. If the output of handling these messages needs to be transmitted to remote peers, the output is put on the per-peer out-unit.
440
Y. Guo, C. Liang, and Y. Liu
Source
Select Call
Packet Handler Internet
MSG PULL SIG RECOV REQ
Fig. 4. Server Architecture
There is one out-unit for each destination peer to handle the data transmission process. Each out-unit has four queues for a given peer: management message queue, Fmarked content queue, NF-marked content queue, and missing chunk recovery queue. The management message queue stores responses to management requests. An example of a management request is when a new peer has just joined the P2P system and requests the peer list. The F/NF marked content queue stores the F/NF marked content intended for this peer. Finally, chunk recovery queue stores the missing chunks requested by the peer. Different queues are used for different types of traffic in order to prioritize the traffic types. Specifically, management messages have the highest priority, followed by F-marked content, and NF-marked content. The priority of recovery chunks can be adjusted based on the design requirement. Management messages have the highest priority because it is important for the system to run smoothly. The content source server replies to each ’pull’ signal with F-marked chunks. F-marked chunks are further relayed to other peers by the receiving peer. The content source server sends out a NF-marked chunk to all peers when the ’pull’ signal queue is empty. NF-marked chunks are used by the destination peer only and will not be relayed further. Therefore, serving F-marked chunk promptly improves the utilization of peers’ upload capacity and increases the overall P2P system streaming rate. Another reason for using separate queues is to deal with bandwidth fluctuation and congestion inside the network. Many P2P researchers assume that server/peer’s upload capacity is the bottleneck. In our experiments over PlanetLab, it has been observed that some peers may slow down significantly due to congestion. If all the peers share the same queue, the uploading to the slowest peer will block the uploading to remaining peers. This is similar to the head-of-line blocking problem in input-queued switch design. Separate queues avoid inefficient blocking caused by slow peers. Peers’ architecture is similar to the server’s and is omitted here. In addition, we design the missing chunk recovery scheme that enables the peers to recover the missing chunks to avoid viewing quality degradation. Refer to [14] for more details.
5 Experiment Results In this section, we examine the performance of AQCS via experiments over PlanetLab [8]. 40+ nodes (one content source server, one public sink and 40 users/peers) are
AQCS: Adaptive Queue-Based Chunk Scheduling for P2P Live Streaming
441
used with most of them located in North America. All connections between nodes are TCP connections. TCP connections avoid network layer data losses, and allow us to use software package Trickle [15] to set a node’s upload capacity. In our experiments, we observe the obtained upload bandwidth is slightly larger (< 8%) than the value we set using Trickle. To account for this error, we measure the actual upload bandwidth, and use the measured rate for plotting the graphs. The upload capacity of peers are assigned randomly according to the distribution obtained from the measurement study conducted in [16]. The largest uplink speed is reduced from 5000 kbps to 4000 kbps, which ensures that PlanetLab nodes have sufficient bandwidth to support the targeted rate. Specifically, 20% of peers have upload capacity of 128 kbps, 40% have 384 kbps, 25% have 1 Mbps, and 15% have 4 Mbps. •Optimality evaluation. All 40 peers join the system at the beginning of the experiment, and stay for the entire duration of the experiment. The content source server’s upload capacity is varied from 320 kbps to 5.6 Mbps. For each server upload capacity setting, we run an experiment for 5 mins. The achieved streaming rate is collected every 10 seconds and the average value is reported at the end of each experiment. Fig. 5(a) 4
6
1300 1200
5
x 10
F−marked Chunk NF−marked Chunk Unique Chunk
1100
Rate(kbps)
1000
4
900
3
Server resource rich region
800 700
2 600 500
300 0
1
Server resource poor region
400
Achieved Rate Perfect Rate 1000
2000
3000
4000
5000
Server Bandwidth (kbps)
(a) Achieved Rate vs. Optimal Rate
6000
0
560
1600
3200
4800
Server Bandwidth(kbps)
(b) Distribution of Chunks from Server
Fig. 5. Optimality Evaluation Results
shows the achieved streaming rate vs. the optimal rate with different server bandwidths. The difference never exceeds 10% of the optimal rate possible in the system. The curves exhibit two segments with turning point at around 1.1 Mbps. According to Equation (1), the server bandwidth is the bottleneck when it is smaller than 1.1 Mbps (server resource poor scenario). The streaming rate is equal to the source rate. As the server bandwidth becomes greater than 1.1 Mbps, the peers’ average upload capacity becomes the bottleneck (server resource rich scenario). The streaming rate still increases linearly, however, with a smaller slope. Notice that AQCS performs better in the server resource poor scenario than in the server resource rich scenario. We plot the numbers of F-marked and NF-marked chunks sent out by the source server to explain what causes the difference. As shown in Fig. 5(b), when the server bandwidth is 560 kbps (source resource poor scenario), very few NF-marked chunks are transmitted. In theory, no NF-marked chunks should be sent in this scenario since signal queue is always non-empty. We do see several NF-marked chunks, which is caused by the bandwidth variation in the network. The
442
Y. Guo, C. Liang, and Y. Liu
variation occasionally causes the server’s pull signal queue becomes empty. In contrast, more and more NF-marked chunks are sent by the server as its uplink capacity increases beyond 1.1 Mbps (source resource rich scenarios). In the server resource poor scenario, the server sends out F-marked chunks exclusively. As long as the pull signal queue is not empty, the optimal streaming rate can be achieved. In the server resource rich scenario, the server sends out both F-marked and NF-marked chunks. If F-marked chunks are delayed at server or along the route from the server to peers due to the bandwidth variations or peer churn, peers can not receive F-marked chunks promptly. Peers’ forward queues become idle and upload bandwidth is wasted. Nevertheless, AQCS always achieve the streaming rate within 10% of the theoretical optimal rate. •Adaptiveness to peer churn and bandwidth variations. Peer churn has been identified as one of the major disruptions to the performance of p2p system. We study how AQCS performs in face of peer churns next. In this 10 minutes experiment, the server bandwidth is set to be 2.4 Mbps. Three peers with the bandwidth of 4 Mbps are selected to leave the system at time of 200 seconds, 250 seconds, and 300 seconds, respectively. Two peers rejoin the system at time of 400 seconds, and the third one rejoins the system at time of 450 seconds. Fig. 6(a) depicts the achieved rate vs. optimal rate every 120
1200
1500 F−marked Chunk Noise Traffic
Rate(kbps)
1000 900 800 700 600 500 400 0
Achieved Rate Perfect Rate 100
200
300
Time(s)
400
500
600
1000
100
500
80 0
100
200
300
400
500
600
Noise Traffic Rate(kbps)
Marked Chunk Rate(kbps)
1100
0
Time(s)
(a) Streaming Rate under Peer Churn (b) Marked Chunk Receiving Rate with Background Traffic Fig. 6. Adaptiveness to Peer Churn and Bandwidth Variations
10 seconds. Although the departure and the join of a peer does introduce disruptions to the achieved streaming rate, overall the achieved streaming rate tracks the optimal rate closely. The difference between them never exceeds 12% of the optimal rate. In addition to peer churn, the network bandwidth varies over time due to cross traffic. To evaluate AQCS’s adaptiveness to network bandwidth variations, the following experiment is conducted. We set up a sink on a separate PlanetLab node not participating in P2P streaming. One peer in the streaming system with upload capacity of 4 Mbps is selected to establish multiple parallel TCP connections to the sink. Each TCP connection sends out garbage data to the sink. The noise traffic generated by those TCP connections causes variations in the bandwidth available for the P2P video threads on the selected peer. Fig. 6(b) depicts the rate at which the F-marked chunks are received at the selected peer together with the sending rate of noise traffic. During time periods of (120 sec,
AQCS: Adaptive Queue-Based Chunk Scheduling for P2P Live Streaming
443
280 sec) and (380 sec, 450 sec), the noise traffic threads are on. The queue-based chunk scheduling method adapts quickly to the decreasing available bandwidth by reducing its pull signal rate. Consequently, the server reduces the rate of F-marked chunks sent to the selected peer. When the noise traffic is turned off, the server sends more F-marked chunks to the selected peer to fully utilize its available uploading bandwidth. The selfadaptiveness of the queue-based chunk scheduling method makes the overall achieved streaming rate close to the optimal rate. • Optimality comparison. Finally the performance of AQCS is compared with that of the Random Useful Packet Forwarding (RUPF) scheme [13], also proved to be optimal theoretically. We implemented the prototype of randomized broadcasting scheme, and carefully tune the configuration parameters so that it performs at its peak performance. The server bandwidth is chosen to be 3.2Mbps, however, the conclusion is true for different scenarios we tested. 1
0.14
AQCS RUPF 0.8
0.1
0.6 0.08
CDF
Missing Chunk Ratio
0.12
AQCS RUPF
0.4
0.06 0.04
0.2 0.02 0 700
900 1100 Streaming Rate(kbps)
(a) Chunk Missing Ratio
1300
0 0.8
0.85
0.9 0.95 Bandwidth Utilization
1
(b) Bandwidth Utilization
Fig. 7. Comparison with RUPF
Fig. 7(a) depicts the chunk missing ratio, the fraction of chunks that are lost or miss the playback deadline, with different streaming rates. Both adaptive queue-based chunk scheduling (AQCS) and the randomized scheduling (RUPF) achieve zero loss when the streaming rate is low. However, as the streaming rate increase beyond 1Mbps, AQCS remains no loss while RUPF starts to experiences missing chunks. In fact, AQCS maintains zero loss until the streaming rate reaches 1.1Mbps, the maximum streaming rate allowed by the system. The missing ratio of AQCS does increase linear after that due to un-sufficient bandwidth in P2P system. Fig. 7(b) explains why AQCS out-performs RUPF consistently. The CDFs of peer bandwidth utilization for both AQCS and RUPF are plotted at streaming rate 1.12Mbps. It is evident that peers in AQCS are able to utilize their upload bandwidth more efficiently than the peers in RUPF.
6 Conclusions In this paper, we propose a simple queue-based chunk scheduling method that supports the streaming rate close to the maximum rate allowed by a P2P streaming system. A
444
Y. Guo, C. Liang, and Y. Liu
prototype is implemented and various design considerations are explored to ensure that the algorithm works in realistic network environment. The experiments over PlanetLab further demonstrate the optimality and the adaptiveness of the proposed queue-based chunk scheduling method. Future work can develop along several avenues. As the first attempt of applying queue management to P2P streaming, we used simple queue control schemes. We will explore queue control design space to further improve its performance. The other direction is to apply this approach to other P2P content distribution applications such as file sharing and video-on-demand. Our work demonstrated the effectiveness of application layer queue management in eliminating content bottlenecks in P2P live streaming. It is a natural extension to explore its applicability in other P2P applications.
References 1. Youtube: (Youtube Homepage) http://www.youtube.com 2. Chu, Y.H., Rao, G., Zhang, S.,, H.: A case for end system multicast. In: Proceedings of ACM SIGMETRICS (2000) 3. Zhang, X., Liu, J., Li, B., Yum, T.S.P.: DONet/CoolStreaming: A data-driven overlay network for live media streaming. In: Proceedings of IEEE INFOCOM (2005) 4. PPLive (PPLive Homepage), http://www.pplive.com 5. Hei, X., Liang, C., Liang, J., Liu, Y., Ross, K.: A Measurement Study of a Large-Scale P2P IPTV System. IEEE Transactions on Multimedia (2007) 6. BT: (Bittorent Homepage) http://www.bittorrent.com 7. Gkantsidis, C., Rodriguez, P.R.: Network Coding for Large Scale Content Distribution. In: Proceedings of IEEE INFOCOM (2005) 8. PlanetLab: (PlanetLab Homepage) http://www.planet-lab.org 9. Liang, C., Guo, Y., Liu, Y.: Hierarchically clustered p2p streaming system. In: Proceedings of GLOBECOM (2007) 10. Kumar, R., Liu, Y., Ross, K.: Stochastic fluid theory for p2p streaming systems. In: Proceedings of IEEE INFOCOM (2007) 11. Magharei, N., Rejaie, R.: PRIME: Peer-to-Peer Receiver-drIven MEsh-based Streaming. In: Proceedings of IEEE INFOCOM (2007) 12. Wang, M., Li, B.: Lava: A reality check of network coding in peer-to-peer live streaming. In: Proceedings of IEEE INFOCOM (2007) 13. Massoulie, L., Twigg, A., Gkantsidis, C., Rodriguez, P.: Randomized decentralized broadcasting algorithms. In: Proceedings of IEEE INFOCOM (2007) 14. Guo, Y., Liang, C., Liu, Y.: Adaptive Queue-based Chunk Scheduling for P2P Live Streaming. Polytechnic U., Tech. Rep (2007) 15. Trickle: (Trickle Homepage) http://monkey.org/∼marius/pages/?page=trickle 16. Ashwin, R., Bharambe, C.H., Padmanabhan, V.N.: Analyzing and Improving a BitTorrent Network Performance Mechanisms. In: Proceedings of IEEE INFOCOM (2006)
E2E Blocking Probability of IPTV and P2PTV Yue Lu1 , Fernando Kuipers1 , Milena Janic2 , and Piet Van Mieghem1 1 Delft University of Technology {Y.Lu,F.A.Kuipers,P.F.A.VanMieghem}@tudelft.nl 2 TNO Information and Communication Technology [email protected]
Abstract. Increased Internet speeds together with new possibilities for tailor-made television services have spurred the interest in providing television via the Internet. Several television services are readily available and both IP-layer and application-layer (P2P) technologies are used. When disregarding commercial influences, customers will choose for IPTV or P2PTV based on the Quality of Experience (QoE). In this paper, we investigate one important QoE measure, namely the content blocking probability.
1
Introduction
The demand for digital television via a dedicated network or the Internet is growing fast. A digital television service can be provided in two different ways: either utilizing a mechanism on the IP layer (IPTV) or on the application layer (P2PTV). IPTV is implemented in a dedicated network, which connects the end-users’ television set-top boxes through Digital Subscriber Line Access Multiplexers (DSLAMs). The television programs are collected at a data centre and distributed towards the DSLAMs along an IP-layer multicast tree. A DSLAM replicates the received signal and sends it to the end users. P2PTV can either make use of application-layer multicast trees or chunkbased P2P technology. The majority of existing P2PTV applications are chunkbased. They make use of the BitTorrent technology1 and are currently free of charge. Disregarding economic incentives, telecom operators will continue to deploy and extend IPTV in the dedicated network if its quality surpasses the quality of P2PTV. In contrast, if connecting end-users’ set-top boxes in a P2P way can achieve better Quality of Experience (QoE), the operator should consider to deploy P2PTV technology instead. Hence, defining, computing and comparing the quality of these two television architectures is deemed essential. In this paper, we focus on the content blocking probability as our QoE measure of interest, and ask the following questions:
1
This work has been partially supported by the European Union CONTENT NoE (FP6-IST-038423) and the triangular cooperation KPN-TNO-TUDelft. http://www.bittorrent.com/
A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 445–456, 2008. c IFIP International Federation for Information Processing 2008
446
Y. Lu et al.
– What factors contribute to the blocking of IPTV and P2PTV, and how? – Which technology incurs the lowest end-to-end blocking? – In what situation can P2PTV offer users better QoE than IPTV? In order to answer these questions we have developed blocking models for IPTV and P2PTV, which we subsequently apply to two case studies. Our case study of IPTV is based on measurement data of an existing Dutch IPTV network. Our P2PTV case study is based on measurements of SopCast2 . The remainder of this paper is organized as follows. Section 2 presents related work. In Section 3 the blocking of IPTV will be defined and computed, and applied to our case study. Section 4 adopts a same methodology for P2PTV. Section 5 compares the two architectures. Finally, we conclude in Section 6.
2
Related Work
Work on IPTV mainly focuses on designing protocols (e.g., [1]) and implementations by broadband network operators, router manufacturers, and television providers. For the performance of IPTV, video quality and packet loss were analyzed, but the end-to-end blocking of requests has not been computed from a users’ point of view. Karvo et al. [2] set up a queuing model to calculate the end-to-end multicast blocking, but their work is not aimed at IPTV and is not based on realistic data. In this paper, we will define and compute the IPTV blocking probability based on realistic data. The majority of P2PTV implementations (e.g., SopCast, PPLive [3], and CoolStreaming [4]) use chunk-based BitTorrent technology. Consequently, in this paper, we only consider chunk-based P2PTV. Related work on BitTorrent-like P2P blocking and performance [5], [6], [7], only targets the P2P file sharing systems. Empirical blocking results were provided [3], [4], but a definition of and a formula to compute the end-to-end blocking in P2PTV architectures are still missing. In this paper, we provide a first step in this direction.
3
IPTV Blocking Probability
3.1
Model with Assumptions
Figure 1 illustrates a possible realization of an IPTV architecture. As this figure indicates, end users are connected to DSLAMs which, on their turn, are connected to an edge router. We only model the blocking of a single television channel over a single DSLAM. We assume that C represents the capacity of a link from a particular DSLAM to the edge router. The maximum number of channels that can be transmitted simultaneously over a link with capacity C is m = CCo , where Co is the capacity of one television channel. We further assume that there are K available television channels that can be viewed. If a channel is being viewed, we say it is “on”. Not all the channels are 2
http://www.sopcast.org/
E2E Blocking Probability of IPTV and P2PTV
447
U
2
one domain
U ser 1 DSLAM
O ne link w ith capacity C
Us DS
…
LA
M
edge router
Router k
B ackb one ro uting
…
Data center
C onsid ered here
…
DS
LA
M
…
O ne C hannel (m ore popular)
A nother C han nel
Fig. 1. A possible realization of an IPTV architecture
equally popular. In our model we assume that the popularity distribution αi is given3 . The arrival and departure process of TV users is assumed to be Poissonian. In reality, the request arrival rate λ(t) is non-stationary. If a popular TV program starts, the arrival rate will be high, while once the advertisements come, the average arrival rate decreases. However, we consider the average case over a specific time period. Based on a TV-users market survey4 , the arrival process is approximately Poissonian in the period of 16:00 to 22:00. According to the measurement study of X. Hei et al. [3, Fig 13.], the CDF of TV viewing time follows an exponential distribution, which justifies our assumption that the TV user departure process is Poissonian. 3.2
Computation of the Blocking Probability
If a user, requesting a particular television channel i, cannot receive its content, we consider channel i to be blocked. Two main causes of blocking in IPTV are: I Limited processing capability of a DSLAM. If many users simultaneously desire content from the same DSLAM, blocking might occur. The blocking probability of this case is denoted as Bproc . II Insufficient available capacity from the DSLAM to the edge router. If a maximum number of m channels is transmitted to the DSLAM, a new user requesting a new channel i (not among the transmitted m channels) will find his request blocked. Since the more popular channels have a higher probability to be present among the already transmitted m channels, Blink (i) depends on which television channel i is requested. 3
4
We have used the TV channel popularity distribution in The Netherlands, which is available at http://www.kijkonderzoek.nl/ (in Dutch). Market Report of TV customers in The Netherlands, http://www.kijkonderzoek.nl/
448
Y. Lu et al.
Since blocking II can only occur if blocking I did not take place, for IPTV the end-to-end blocking probability B(i) for channel i is B(i) = Bproc + (1 − Bproc )Blink (i)
(1)
Bproc : Assuming Poisson arrivals and departures, as explained in Section 3.1, we model the DSLAM as an M/M/n/n/s queue, where s represents the number of users accessing the DSLAM and n the number of replications that the DSLAM can handle. In our model ρDSLAM = λμDSLAM is the same for each user, where DSLAM λDSLAM represents the rate at which a user requests a TV service, and μDSLAM the rate at which the user turns his TV off. According to [8, pp. 512], we have (s−1)! n (s−1−n)!n! ρDSLAM
Bproc = n
h=0
(2)
(s−1)! h (s−1−h)!h! ρDSLAM
Blink (i): To compute Blink (i) we introduce two new probability functions P (i) and BEngset (i). P (i) is the probability that channel i is “on” and BEngset (i) is the probability that the link from the DSLAM to the edge router is consumed by m channels other than the requested channel i. Our computation of BEngset (i) is given in the Appendix, and Blink (i) = (1 − P (i))BEngset (i)
(3)
P (i): Disregarding possible blocking5 , channel i can be modeled as an M/M/∞ queue (in steady state), with infinite positions available in the queue to store all requests for channel i. Hence, the probability that channel i is “on”, in the condition that no requests are blocked, is equal to the probability that the M/M/∞ queue [8, pp. 281] is not empty: Pr[Ns > 0]i = 1 − exp(−ρi ), where ρi = λi /ui = αi λ/ui . λi is the users’ arrival rate in channel i, and ui is the number of users leaving from channel i per second. λ is the users’ arrival rate in the IPTV system, which includes both the rate at which users switch on their television as well as the channel switching rate. αi represents the popularity of channel i , where 0 ≤ αi ≤ 1. Channel i can be either “off” or “on”. We therefore resort to a two-state Markov chain illustrated in Figure 2 to analyze its steady state. In Figure 2, “0” represents the state that channel i is “off” and “1” represents the state that channel i is “on”. The probability to be in the state “off” is 1 − P (i) and consequently the probability to be in the state “on” is P (i). To change from the “off” state to the “on” state, requests should exist for channel i (this event has probability Pr[Ns > 0]i ) and these requests may not be blocked (this event has probability equal to 1 − BEngset (i)). The process remains in the “off” state if there are no requests in the queue for channel i (Pr[Ns = 0]i ) or if the requests 5
If a user’s request enters when channel i is “on”, the request will be grouped into multicast. However, if a user’s request enters when channel i is “off”, it has to open a new channel, which might not be possible in case of insufficient available capacity.
E2E Blocking Probability of IPTV and P2PTV Pr[ N s
0]i
Pr[ N s ! 0]i (1 BEngset (i ))
Pr[ N s ! 0]i BEngset (i)
0
449
Pr[ Ns ! 0]i
1 Pr[ N s
0]i
Fig. 2. Two-state Markov chain representing the status of channel i
are blocked (this event has probability Pr[Ns > 0]i BEngset (i)). To change from the “on” state to the “off” state, all requests for channel i are served until the queue becomes empty (with probability Pr[Ns = 0]i ). To remain in the “on” state, the queue may not be empty (Pr[Ns > 0]i ). According to the steady state probability of a two-state Markov chain [8, pp.176], the probability to be in the state “on” is Pr[Ns > 0]i (1 − BEngset (i)) Pr[Ns > 0]i (1 − BEngset (i)) + Pr[Ns = 0]i 1 =1− exp(ρi ) − BEngset (i) exp(ρi ) + BEngset (i)
P (i) =
(4)
By substituting formulae (3), (2), (4), and (10) into formula (1), we obtain the end-to-end blocking probability B(i) of IPTV. 3.3
Case Study
We focus on a Dutch IPTV network for which we have obtained the following parameter values: The channel popularity distribution αi for the channels (1 ≤ i ≤ 23) is obtained from a market survey6 . We assume that the remaining K − 23 channels uniformly share a popularity of 5.9%. In reality, the channel popularity distribution changes more smoothly, but here we just classify channels as popular or unpopular. The link capacity C is typically 155Mb/s in nowadays DSL systems and one MPEG4 coded TV channel consumes 2.5Mb/s. Hence, approximately m = 60 different TV channels can be transmitted simultaneously to the DSLAM. We further assume that the IPTV system consists of 500, 000 subscribers, who are uniformly distributed over 1200 DSLAMs and 41% of the subscribers are active in rush hours. This results in an average number of s = 171 active users connecting to a single DSLAM. However, only n = 120 channel replications can be handled by the DSLAM simultaneously. We define QIP T V = λ/ui . Figure 3 plots the IPTV blocking probability B(i) as a function of the channel index i, with m = 60 and n = 120. The less popular channels (higher channel index) have a considerably higher probability to be blocked than the more popular channels. In addition, we can 6
Channel 1 has a popularity of 15.1% and channel 23 of 0.2%, covering in total 94.1%.
450
Y. Lu et al. -1
10
180 B=10-7
-2
160
-3
10
-4
10
-5
10
-6
10
K=170,Q=400,s=171 K=82,Q=400,s=171 K=170,Q=600,s=171 K=170,Q=400,s=205
-7
10
-8
10
1
10 channel index i
needed capacity C (Mb/s)
blocking probability B(i)
10
100
B=10-5
140
B=10-3
120 100 80 60 1
10 channel index i
100
Fig. 3. (Left) IPTV end-to-end blocking B(i) with m = 60, n = 120, (right) The required capacity C for meet different blocking requirements, with K = 170, s = 171, and QIP T V = 400
observe that the user’s request is less likely blocked if there are less available TV channels (smaller K), if there are less users per DSLAM (smaller s), or if users leave more frequently (smaller QIP T V ). Figure 3 also plots the capacity C that is required to assure that the IPTV blocking B(i), as a function of channel index i, does not exceed a certain level.
4
P2PTV Blocking Probability
4.1
Model with Assumptions
Figure 4 presents our model of chunk-based P2PTV applications. We focus on the blocking of a single television channel i for a particular user U . User U is viewing a television channel i. The playback rate of the channel i is v kbits/s. In the worst case, user U downloads the next second of content when displaying the current second of content. One second of television content is divided into R chunks. Hence, one chunk contains v/R kbits. First, based on a peer list that user U obtains, a fixed amount of peers (referred to as partners) are randomly chosen to form a partner group P for that channel i. In this partner group, partners exchange information about which chunks are available at which partner. Based on this chunk-availability information, a user U chooses M ≤ |P| peers from whom he downloads chunks. Those peers are called parents of user U . A parent supplies at least 1 chunk to user U . Similarly, the peers downloading the content from user U will be referred to as children of user U . A parent has Y children at the same time. We denote by Ni the number of available peers in the entire peer list corresponding to channel i and by bwup the upload bandwidth of a parent. Simultaneously while downloading the chunks, user U is displaying the content stored in his buffer7 . Here, we consider the 7
There is a zero probability of buffer overflow, because the buffer window is sliding and the outdated chunks will be deleted automatically.
E2E Blocking Probability of IPTV and P2PTV
451
C hannel i
N
i
|P |
P a re n t
M
u
1
2
b w up O th e r c h ild re n O th e r c h ild re n
b w [1, U ]
user U C u rre n t 1 seco n d
N ex t 1 seco n d N ext R chunks r
d is p la y in g
d o w n lo a d in g a t th e sa m e tim e
Fig. 4. P2PTV model when user U has 2 parents
worst case of P2PTV blocking where none of these R chunks were previously downloaded and the download of these R chunks has to be finished within the coming second. 4.2
Computation of the Blocking Probability
In IPTV, the limited available bandwidth in an infrastructure network is the main cause of IPTV blocking, while the P2PTV network built on top of the Internet has, in theory, more available capacity contributed by peers. Hence, the P2PTV blocking is mainly caused by content unavailability, peer selection randomness and peer dynamics. Contrary to IPTV, where blocking only occurs when requesting a television channel, blocking in P2PTV can also occur while watching television. We define the blocking probability in P2PTV as the probability that user U cannot successfully download the next R chunks before having displayed the current R chunks. If the required R chunks cannot all be found in the partner group, which happens with probability bchunk (i), blocking will occur. Even when all the chunks can be found at the |P| partners, a chosen parent may upload his chunks too slowly. This occurs with probability btime (i). Finally, if a parent leaves during uploading, blocking will occur. The probability of this occurrence is bdyn (i). As a reasonable approximation, we assume that the different events are independent. The end-to-end blocking b(i) of channel i in P2PTV can be presented as: b(i) = bchunk (i) + (1 − bchunk (i))(btime (i) + (1 − btime (i))bdyn (i))
(5)
In the sequel, we determine bchunk (i), btime (i) and bdyn (i). bchunk (i): Choosing parents among partners is based on the chunk-availability information. Blocking arises when user U cannot find all R chunks from the randomly chosen partners. We let 1 − bchunk (i) denote the probability that user U can find all R chunks in his partner group.
452
Y. Lu et al. R
1 − bchunk (i) = Π (1 − Bi (r)) r=1
(6)
where Bi (r) = [1 − πi (r)]|P| represents the probability that user U cannot find chunk r successfully among |P| randomly chosen (and hence considered independent) partners. We use πi (r) to represent the probability that a peer is storing chunk r. btime (i): Blocking arises when at least one parent u cannot upload his chunks to user U within 1 second due to insufficient bandwidth. The upload bandwidth that a parent u has available for user U is bw[u, U ], which has a distribution function Pr[bw[u, U ] ≤ x]. Given that user U requests Xu chunks of v/R kbits from parent u, the required upload bandwidth is bwXu = XRu v . If the available bandwidth is smaller than the bandwidth required for uploading the requested chunks, blocking will occur. In the following, we will make use of the theory of partitions [9]. A partition of a positive integer R is a collection of positive integers whose sum is R. If there are M terms in the sum, then R is said to be partitioned into M parts. We let pM (R) represent the number of partitions of R into parts not exceeding M , M −1 ∞ which has the generating function [9]: 1 − xj = R=0 pM (R)xR . From j=1
the generating function the following recursion is obtained: pM (R) = pM−1 (R) + pM (R − M ) with pM (0) = p1 (R) = 1 and pM (j) = 0 for j < 0. In our P2PTV model, we need to find the number of partitions of R chunks over exactly M parents, which equals pM (R) − pM−1 (R) = pM (R − M ). The occurrence probability of having M parents has a density function Pr[M = k], however for partitions with a same number of M we assume that the occurrence probability of each possible partition is the same. Blocking occurs only when the available bandwidth bw[u, U ] is smaller than the required bandwidth. Assuming independence,
|P| k Pr[M = k] pk (R−k) Xu (j)v btime (i) = 1− (1 − Pr[bw[u, U ] < ]) (7) R u=1 j=1 k=1 pk (R − k) where the index j refers to one of the pM (R − M ) possible partitions, and Xu (j) refers to how many chunks user U requests from parent u. For instance, we have pM (R − M ) = 2 possible partitions of R = 4 chunks over M = 2 parents (u1 and u2 ), namely partition j = 1 consisting of Xu1 (1) = 1 and Xu2 (1) = 3 and partition j = 2 consisting of Xu1 (2) = 2 and Xu2 (2) = 2. bdyn (i): We let bdyn (i) represent the probability that at least one parent leaves during his uploading period, which causes blocking. In our P2PTV model, the peer departure process Z(t) is considered Poissonian, which was explained in Section 3.1. The rate at which peers leave from θi channel i is denoted by θi . The departure rate of one peer is N , where Ni stands i for the total number of available peers in channel i.
E2E Blocking Probability of IPTV and P2PTV
453
We denote by Pu (j) the probability that parent u with Xu (j) chunks (in partition j) leaves during uploading. Pu (j) = Pr[Z(t+t0 )−Z(t0 ) = 1] = θi θi u (j)v/R (N t) exp(− N t), where t = min{1, Xbw[u,U ] }. i i Hence, we can express bdyn (i) as:
k Pr[M = k] pk (R−k) bdyn (i) = 1− (1 − Pu (j)) u=1 j=1 k=1 pk (R − k) |P|
(8)
Substituting formulae (6), (7) and (8) into formula (5), we obtain the end-toend blocking b(i) of P2PTV. 4.3
Case Study
In this P2PTV case study, we analyze a chunk-based P2PTV application called SopCast. We have developed scripts and set-up a distributed measurement testbed via Planetlab. We installed SopCast and TcpDump on each (of in total 80) Planetlab nodes and performed various measurements, among which we believe three are unique, namely: (1) measurements on the topology - we have the parent distribution Pr[M = k] for popular as well as unpopular channels, (2) measurements on the bandwidth distribution Pr[bw[u, U ] ≤ k], and (3) the quality of experience (e.g., blocking) at the end user. We have used our measurement data as input to our model and then computed the blocking probability according to the formulae above. We also compared our analytical results with our measurement results on blocking probability. Our experiments with SopCast indicated that the upload bandwidth of a parent bwup is almost uniformly shared by his Y children in a 1 second period bw of time. Hence, for user U , we can define bw[u, U ] = Yup . Since each parent can have a different upload rate and a different number of children at a given time, the value of bw[u, U ] may differ per parent. Later, we will use our empirically obtained bw[u, U ] distribution function into our model. To allow for a fair comparison with the IPTV case, we will choose for our P2PTV case study similar values, where possible. The channel popularity distribution αi is the same as for IPTV, and the user behavior is the same as for IPTV. We let Ni = N αi , where N is the number of concurrent active peers over all channels. N can be 1200sαi (the same size for IPTV) or 2, 200, 000αi (the current peak size of a P2PTV system). For other values, our case study is based on SopCast. Our measurements were run for 5 times on 5 different days and we have used the obtained results for our computations. Based on our measurement data, a minimum of 1 and a maximum of 3 partners are chosen as parents for both popular channels and unpopular channels in 1 second. The distributions of the number of parents Pr[M = k] differ for popular and unpopular channels. Our measurement study has revealed that the channel under study has a playback rate v = 300kbits/s and one chunk size is 13kbytes. Hence, R is around 3 chunks/second. In our computation of the blocking probability bchunk (i), we assume πi (r) equals to 91% ([10]) for each channel. We set v/R = 104kbits, to
454
Y. Lu et al. 0.35 K=170, Q=60, N=205200 K=50, Q=60, N=205200
blocking probability b(i)
0.3
K=170, Q=600, N=205200 K=170, Q=60, N=2200000
0.25
0.2
0.15
0.1 0
10 channel index i
100
Fig. 5. P2PTV end-to-end blocking b(i) with different values for the number of channels K, the number of active users in the system N , and QP 2P T V = λ/θi
retrieve the blocking probability btime (i). We assume that the download bandwidth of an end user is large enough to download R = 3 chunks in 1 second. In order to obtain the blocking probability bdyn (i), we define QP 2P T V = θλi. and further assume8 θi = 0.00038N/QP 2P T V , with θi fixed for each TV channel. Given the above values we can get bchunk (i), btime (i) and bdyn (i), and subsequently compute the P2PTV blocking b(i) from formula (5). Figure 5 plots the P2PTV blocking probability b(i) as a function of the channel index i. Figure 5 illustrates that, the 23 most popular channels have a much smaller probability to be blocked than the remaining unpopular channels. The blocking probability of all channels is quite high, because what we have modeled is the worst case without any positive effects due to buffering. In order to validate our model, we measured the blocking at end users. We monitored the download speed at each user using 1 second as unit and we compared the download speed with the playback rate. The fraction of time the download speed is smaller than the constant playback rate gives the blocking probability defined in our model. When averaging the blocking probability over all channels, we find a blocking probability of 22% when excluding the buffer effect, which fits our mathematical results. The P2PTV end-to-end blocking b(i) shown in Figure 5 is mainly contributed by btime (i). Hence, the limited upload bandwidth of an end user’s parent distributed to him mainly causes the large blocking. This clearly indicates the importance of the parent selection policy. We can also observe that a user will face less blocking if the number of available channels K is smaller, or if users leave infrequently (high QP 2P T V ), while changing the amount of users did not significantly affect the blocking probability. 8
As observed in [4, Fig.14], when there are on average N = 1750 active peers, the λ maximum arrival rate of peers is λ = 0.67 peers/s and N = 0.00038.
E2E Blocking Probability of IPTV and P2PTV
5
455
Blocking Comparison
In this section, we compare IPTV and P2PTV based on the computations presented in Sections 3 and 4. We assess which technology (IPTV or P2PTV) incurs the lowest end-to-end blocking. Currently, if the operator decides to transmit television content to its residential users using P2PTV instead of IPTV, all channels will likely face more blocking than before. However, we can predict that when the number of end users increases, this will change. In a P2PTV system, the number of users has little effect on the blocking, while in an IPTV system the blocking would largely increase if the processing capability of the equipment (like DSLAM) cannot scale accordingly. When the total amount of users increases and the amount of DSLAMs and their processing capability remains the same, there will be a point at which the P2PTV system will start to outperform the IPTV system for popular channels. In our Dutch case study, this cross-over point is around 297, 600 users (s = 248 per DSLAM). Provided the appropriate data is available, our formulas allow for similar computations for different cases.
6
Conclusions
Two digital television technologies, namely IPTV and P2PTV, have been discussed in this paper. We have provided new blocking models for both technologies and have defined and derived formulae to calculate the end-to-end blocking probability based on our blocking models. Different contributions of the blocking have been analyzed. Moreover, the blocking of IPTV and the blocking of P2PTV have been compared under fair and realistic conditions. We found that when the amount of users increases, there will be a point at which the blocking in P2PTV will be less than in IPTV, unless the IPTV network is extended accordingly. Finally, our results cannot only be used to analyze the blocking in existing systems, but also to dimension them.
References 1. Lim, S.Y., Soek, J.M., Lee, H.K.: A path control architecture for receiving various multimedia contents. In: Proc. of ICACT 2006 (February 2006) 2. Karvo, J., Virtamo, J., Aalto, S., Martikainen, O.: Blocking of dynamic multicast connections in a single link. In: Proc. of IEEE BROADNETS (1998) 3. Hei, X., Liang, C., Liang, J., Liu, Y., Ross, K.W.: A Measurement Study of a large-Scale P2P IPTV System. IEEE Transactions on Multimedia 9(8), 1672–1687 (2007) 4. Zhang, X., Liu, J., Li, B., Yum, T.P.: CoolStreaming/DONet: A Data-driven Overlay Network for Peer-to-Peer Live Media streaming. In: Proc. of IEEE INFOCOM, March 2005, vol. 3, pp. 2102–2111 (2005) 5. Meo, M., Milan, F.: QoS-aware Content Management in P2P Networks. In: Proc. of HOT-P2P 2004 (2004)
456
Y. Lu et al.
6. Susitaival, R., Aalto, S., Virtamo, J.: Analyzing the dynamics and resource usage of P2P file sharing by a spatio-temporal model. In: Proc. of P2P-HPCS 2006 (2006) 7. Guo, L., Chen, S., Xiao, Z., Tan, E., Ding, X., Zhang, X.: A Performance Study of BitTorrent-like Peer-to-Peer Systems. IEEE J. Selected. Area in Comm. 25 (January 2007) 8. Van Mieghem, P.: Performance Analysis of communications Networks and Systems. Cambridge University Press, Cambridge (2006) 9. Rademacher, H.: Topics in Analytic Number Theory. Springer, Berlin (1973) 10. Vassilakis, C., Laoutaris, N., Stavrakakis, I.: On the Benefits of Synchronized Playout in Peer-to-Peer Streaming. In: Proc. of CoNEXT (September 2006)
A
BEngset(i)
The IPTV system with K available channels and m admitted channels can be modeled by an M/M/m/m/K queuing system. In this Engset queue with different channel i arrival rate λi and channel i leaving rate μi , each channel request can arrive in random order. Karvo et al. [2] introduced a binomial probability (i) generation function to deduce the probability πj (j positions are occupied by j channels other than channel i in an infinite capacity system) for this system: ϕi (z) =
∞
K
(i)
j=0
πj z j = Π
in which, qi = 1 − pi and pi = 1 − e
k=1
qk + pk z qi + pi z
λ
− μi i
(i)
. BEngset (i) = πm /
(9) m j=0
(i)
πj =
j 1 d ϕi (z) j! dz j | z=0 ([8,
(i)
πj . According to
pp.18]) and Eq. (9),
BEngset (i)=
1 m! m j=0
K q +p z k k ] k=1 qi +pi z dz m
dm [ Π
1 j!
| z=0
K q +p z dj [ Π qk +pkz ] i k=1 i
dz j
| z=0
(10)
Cooperative Replication in Content Networks with Nodes under Churn Eva Jaho, Ioannis Koukoutsidis, Ioannis Stavrakakis, and Ina Jaho National & Kapodistrian University of Athens Dept. Informatics and Telecommunications Ilissia, 157 84 Athens, Greece {ejaho,i.koukoutsidis,ioannis,grad0839}@di.uoa.gr
Abstract. In content networks, a replication group refers to a set of nodes that cooperate with each other to retrieve information objects from a distant server. Each node locally replicates a subset of the server objects, and can access objects stored by other nodes at a smaller cost. In a network with autonomous nodes, the problem is to construct efficient distributed algorithms for content replication that decrease the access cost for all nodes. Such a network also has to deal with churn, i.e. random “join” and “leave” events of nodes in the group. Churn induces instability and has a major impact on cooperation efficiency. Given a probability estimate of each node being active that is common knowledge between all nodes, we propose in this paper a distributed churn-aware object placement algorithm. We show that in most cases it has better performance than its churn unaware counterpart, increases fairness and incites all nodes to cooperate. Keywords: content networks, replication, cooperation, node churn.
1
Introduction
In content networks, a replication group refers to a set of nodes that cooperate with each other to retrieve information objects (files and other software entities) from a distant server. Nodes in the group usually have a high degree of proximity, and users associated with the nodes usually have common interests. To lower the access cost, each node locally replicates a subset of the server objects, and grants access to these objects to other nodes in the group. The placement of objects in nodes should aim at decreasing the cost for all nodes (or users served by them) to access requested objects. However, in distributed systems where nodes are largely autonomous (e.g. in p2p networks), users may behave selfishly and replicate objects to maximize their own benefit. The problem is to devise a
This work has been supported in part by the following projects funded by the IST FET Program of the European Commission: CASCADAS (Component-ware for Autonomic Situation-aware Communications, and Dynamically Adaptable Services) under contract FP6-027807, BIONETS (BIOlogically-inspired autonomic NETworks and Services) under contract FP6-027748, and NoE CONTENT (IST-384239).
A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 457–469, 2008. c IFIP International Federation for Information Processing 2008
458
E. Jaho et al.
distributed object placement algorithm that ensures that individual nodes would benefit through cooperation. As an additional challenge, such an algorithm must be robust to node misbehavior and general uncertainty conditions. In this paper, we address this problem in a game-theoretic context. We consider nodes to be the players in the game. Each player implements a placement strategy which consists of choosing which objects to replicate locally in its limited storage space. The goal of each player is to minimize the total access cost for all its requested objects. A node may choose not to cooperate with any other node (to act in isolation), in which case the optimal strategy is to replicate a number of most wanted objects, equal to its capacity. This is called the greedy local strategy. Naturally, selfish users who are not interested in increasing the social benefit, would want to cooperate with other nodes only if such cooperation could reduce their access cost compared to their incurred cost when all nodes follow the greedy local strategy. If, on the other hand, a node experiences an increase in its access cost, mistreatment occurs as an outcome of cooperation. Ensuring no node mistreatment is key to maintaining a cooperative scheme. The abstraction of a replication group was initially employed in [1]. We consider that, as in [1], requests for objects are handled in the following manner. First, a user’s request is received by the local node the user is associated with. If the requested object is stored locally, it is returned to the requesting user immediately, incurring a minimum access cost. Otherwise, the requested object is searched for, and fetched from other nodes of the group, at a potentially higher access cost. If the object can not be located anywhere else in the group, it is retrieved from an origin server – assumed to be outside the group – incurring a maximum access cost. Note that unlike caching, replication refers to storage of objects for a longer term, and no replacement policy (e.g., LRU) is applied for each new object request. In this setting, Laoutaris et al. developed in [2] a distributed algorithm for cooperative object placement that guarantees an access cost reduction for all nodes, when each node knows its local demand pattern and the objects selected for replication by the other nodes in the group. In this algorithm, nodes take turns to replicate objects that minimize their access cost, each node informing all other nodes of its decision. A deficiency of this scheme is that it does not take into account any uncertainty phenomena or node misbehavior. Such phenomena are collectively termed as “node churn” and denote random changes in the set of participating nodes in the group, that may occur due to “join” and “leave” events. For example, in a p2p network, nodes may disconnect themselves from the network as soon as they download their content of interest. It may also occur as a consequence of link failures in networks with wireless links and node mobility. A preliminary study in [3] has confirmed that under such a setting the algorithm in [2] may result in mistreatment for some nodes. To account for node churn, in this paper we consider a probability estimate of each node to be available for object retrieval in the group, that is common knowledge between all nodes in the group. We propose an object replication strategy wherein each node takes into consideration the probability of other
Cooperative Replication in Content Networks with Nodes under Churn
459
nodes to be available before deciding on its replication strategy. Based on this knowledge, each node makes the number of changes that will give it the greatest access cost reduction. We call this appropriately a greedy churn-aware object placement strategy. The performance of the ensuing distributed algorithm is investigated extensively and is shown to mitigate mistreatment, while in most cases reducing the access cost, compared to the churn-unaware and the greedy local strategies.
2
Game Formulation
Hereafter in the paper, nodes that are available shall be said to be “ON”, and in the opposite case “OFF”. Consider a replication group of N nodes and a set of M objects. Let rij denote the request rate of node j for object i, where 1 ≤ j ≤ N , 1 ≤ i ≤ M . All objects are assumed to be unit-sized. Node j has a storage capacity of Cj units and is assumed to be ON with a probability πj , also called the reliability of a node. Let Pj denote the placement of node j, defined to be the set of objects replicated at this node. We assume without loss of generality that |Pj | = Cj , since a node always has to gain by saving objects locally in its storage. Let P = {P1 , P2 , . . . , PN } denote the global placement for the replication group and let P−j = P \ Pj denote the set that contains the placements of all nodes except for node j. Assume that the cost for accessing an object from a node’s local memory is tl , from another remote node in the group tr and from an origin server ts , with tl < tr < ts . These values may denote averages, but are taken the same for all nodes in order to simplify the analysis; in reality, there are differences in these costs for different node pairs, but these are expected to be small, since nodes in a replication group are generally homogeneous devices in geographical proximity. Given a placement P , the mean total access cost per unit time for node j is given by Cj (P ) = rij tl + rij ts i∈Pj
i∈P / j, i∈P / −j
+ rij [tr (1 − i∈P / j, i∈P−j
N
(1 − πk )) + ts
k=1, k =j,k:i∈Pk
N
(1 − πk )] .
k=1, k =j,k:i∈Pk
The scenario under which nodes can cooperatively decide which objects to replicate is as follows. Initially, each node j makes a list of its Cj most popular objects, which constitutes the potential placement of objects in its memory. All nodes are informed of other nodes potential placements. This can be accomplished either by forwarding the information to their neighbors, or in larger networks by uploading these lists to a central database, close to all nodes in the group. In either case, we consider that the cost for disseminating this information
460
E. Jaho et al.
is negligible compared to the cost to actually obtain an object. Upon learning the other nodes potential placements, each node can make changes to its list— exploiting the fact that other nodes may have the same objects, to replicate other ones. We consider that nodes take (possible random) turns to make such changes, and inform other nodes of their decision. We model this as a dynamic game, where players do not form coalitions. Such games, in which there is a certain order of players, and each player’s moves have an effect on the utilities of players before or after him, are called Stackelberg games, or leaders-followers games (see e.g., [4]). We examine the following replacement strategies. 2.1
Greedy Churn-Unaware Strategy
Under this strategy nodes are assumed to be unaware of the reliability of other nodes; thus they falsely consider other nodes to be always ON when making replacements. It is essentially the strategy proposed in [2] under no node churn. Given the current global placement P , each node considers making replacements so as to minimize its current access cost (hence the term “greedy”). To describe the strategy, we need some further definitions. For an object e ∈ Pj , define the eviction loss Le,j as the increase in access cost if node j would evict the object from its memory. For an object i ∈ / Pj , define the insertion gain Gi,j as the decrease in access cost if node j would insert the object. In minimizing its current access cost, a node may evict an object from its local memory only if it exists at one or more of the other nodes, and may only insert an object that does not exist in any of the other nodes in the group. To prove this property, consider that if a node j evicts an object e ∈ / P−j , the eviction cost would be rej (ts − tl ). This must be replaced by an object i ∈ / Pj for which, in the best case that i ∈ / P−j , it would hold that rij (ts − tl ) > rej (ts − tl ). But there is no such object i, for if there were it should have been in the initial list of most popular objects. Likewise, if node j inserts an object i ∈ P−j , the insertion gain would be rij (tr − tl ). Since from the above a node only evicts an object that exists in one or more of the other nodes, i would replace an object e for which rij (tr − tl ) > rej (tr − tl ). But this also cannot hold, because if rij > rej object i would have been inserted in j at the beginning. With these in mind, for an object e replicated at node j and at one or more of the other nodes in P−j , the eviction cost is Le,j = rej (tr − tl ) .
(1)
For an object i not replicated in any of the nodes in the group, the insertion gain to node j is Gi,j = rij (ts − tl ) . (2) An object e ∈ Pj ∩ P−j is called an eviction candidate, whereas an object i∈ / P an insertion candidate for node j. The set of eviction candidates for node j is denoted as Ej , where |Ej | ≤ Cj , and the set of insertion candidates as Ij . Index the eviction candidates for node j as e1j , e2j , . . . , e|Ej |j , in order of increasing eviction cost. That is, Le1 ,j ≤ Le2 ,j ≤ · · · ≤ Le|Ej | ,j (the double
Cooperative Replication in Content Networks with Nodes under Churn
461
subscript j is removed). Accordingly, index the insertion candidates for node j as i1j , i2j , . . . , i|Ij |j in order of decreasing insertion gain, i.e., such that Gi1 ,j ≥ Gi2 ,j ≥ · · · ≥ Gi|Ij | ,j (the double subscript j is likewise removed). It is evident that to minimize its access cost, node j should make changes in the following way: evict e1j and insert i1j , evict e2j and insert i2j , and so on until the maximum number mj such that Gimj ,j > Lemj ,j (mj ≤ min(|Ej |, |Ij |)). For an arbitrary eviction candidate e and insertion candidate i, we call def ΔG(e,i) = Gi,j − Le,j the replacement gain for the insertion-eviction pair (e, i). A replacement of object e by object i is also denoted as e ← i. It was shown in [2] that this strategy results in a Nash equilibrium, i.e., no node can unilaterally change its placement strategy and obtain a benefit, when all other nodes follow the greedy churn-unaware placement strategy. This can be explained from the characteristic property of the strategy mentioned above: since a node only evicts an object that exists in one or more of the other nodes to insert an object unrepresented in the group, each node does its best over all possible moves of subsequent nodes. For a formal proof, interested readers are referred to [2]. Besides showing the Nash equilibrium, the proof leads to a stronger result: in the greedy churn-unaware strategy, no node can gain by playing again at any subsequent epoch in the game. However, as is shown in [3] by calculating the actual expected cost under churn, this algorithm may result in mistreatment for some nodes. Thus, the following object replacement strategy is proposed. 2.2
Greedy Churn-Aware Strategy
In this strategy, nodes have information about the reliability of other nodes, in the form of a common (prior and posterior) distribution of their ON probabilities π1 , π2 , . . . , πN . This information may be derived and forwarded in a distributed manner, by local interactions between nodes. (For a review of distributed algorithms for deriving reputation measures, readers may refer to [5].) It can also be maintained at a central database that nodes inquire into prior to making their decision. Each node uses this information in replacement decisions and makes a number of changes in its placement that minimize its expected access cost. We can follow the same arguments as in the churn-unaware case to show again that a node may only evict an object that is present in other nodes in the group. However, a node may now insert an object that also exists in one or more of the other nodes in the group (with ON probability smaller that 1). For an object e replicated at node j, we define the eviction cost as:1 Le,j = rej [(ts − tl )
N
(1 − πk ) + (tr − tl )(1 −
k=1 (k =j,k:e∈Pk )
N
(1 − πk ))] ,
(3)
k=1 (k =j,k:e∈Pk )
i.e., it is the increase in the expected access cost if node j would evict the object. 1
We maintain the same notation as in Sect. 2.1.
462
E. Jaho et al.
For an object i not replicated at node j, we define the insertion gain as: ⎧ rij (ts − tl ), if i ∈ / P−j (4a) ⎪ ⎪ ⎨ N N Gi,j = r [(t − t ) (1 − πk ) + (tr − tl )(1 − (1 − πk ))], if i ∈ P−j (4b) ij s l ⎪ ⎪ ⎩ k=1 k=1 (k =j,k:i∈Pk )
(k =j,k:i∈Pk )
i.e., it is the decrease in the expected access cost if node j would insert the object. Notice that the right-hand-side of (4b) may be greater than the right-handside of (3), which substantiates our previous claim that objects that exist in other nodes in the group may also be inserted. Considering eviction candidates ordered in increasing average eviction loss, and insertion candidates ordered in decreasing insertion gain, each node j makes a maximum number of replacements mj with positive average replacement gain, i.e., we have ΔG(ek ,ik ) > 0, for all k = 1, . . . , mj . In contrast to the churn-unaware strategy, there is no reason why a node may not benefit by playing again at a subsequent epoch in the game. We therefore formulate a version of the game in which all nodes apply the greedy churnaware strategy repeatedly for many rounds, until stopping. Although this is not an algorithm requirement, we mostly consider in our study that the same order of play is maintained in each round. For this to be applied in practice, a central coordinating entity is required that, aside from maintaining the database, authorizes each node to access the lists of placements of other nodes only at the specified order. The algorithm stops when all nodes cannot further improve their placements. In the next section, we show that stopping occurs always. Remark 1. Note however that we do not study the game as a repeated game. If nodes know a priori that they are going to play for a (possibly random) number of rounds, even the churn-unaware strategy may not arrive at a Nash equilibrium.
3
Characteristics of the Greedy Churn-Aware Strategy
We have sought standard Bayesian equilibria by studying the game without communication. (Although communication takes place, we don’t consider nodes’ placements to be private information they can lie about, and so the game is not treated as a game with communication.) Unfortunately, the greedy churn-aware strategy may not arrive at an equilibrium. To see this, consider the subgame after player N − 2 has played. Then, in order to have an equilibrium, player N −1 should be sequentially rational. In more words, given that the best for the last player N is to follow the greedy churn-aware strategy, would it always be best for N − 1 to also follow this strategy? A simple example shows that this may not be the case. Suppose that node N − 1 evicts an object e, replicated at node N and at one or more of the other nodes 1, ..., N − 2, and replaces it by an object i, such that Gi,N −1 > Le,N −1 .
Cooperative Replication in Content Networks with Nodes under Churn
463
Since one or more of the nodes 1, ..., N − 1 still have object e, node N may also at its turn evict it, by inserting an object i (i may be equal to i) for which Gi ,N > Le,N . (All of these occurrences are possible since request rates are positive reals.) Since Le,N > Le,N −1 , we may have that Gi,N −1 < Le,N and hence it would have been better for player N − 1 not to make the move e ← i. Despite this negative result, the strategy does have some good properties, as shown below. Most of these are shown to hold in a homogeneous case in which all nodes have the same request rate for each object and the same storage capacity. Despite the simplicity of this scenario, it is insightful for a real-life system, since nodes in a replication group are likely to have similar interests for objects. 3.1
Mistreatment
As discussed in the Introduction, a rational node is incited to follow the greedy churn-aware strategy if it is not susceptible to mistreatment, i.e. if its incurred access cost when all other nodes follow this strategy is smaller than its incurred cost when all nodes act in isolation. In this subsection, we examine in which cases this constraint can be satisfied for all nodes so that mistreatment is avoided. First, consider that in the case of two nodes, irrespective of their request rates for objects and their ON probabilities, the greedy churn-aware strategy is always better than the greedy local strategy for both nodes. This happens since the second node only evicts an object that belongs to the first node, and such action does not increase the access cost of the first node. For more than two nodes, one can easily construct examples with nodes having different request rates and ON probabilities, in which mistreatment occurs against one or more of the nodes. However in the homogeneous case, if less reliable nodes play first, the churn-aware strategy is mistreatment-free under an additional condition stated in the analysis below. Consider the set of nodes N = {1, 2, . . . , N }. We assume that π1 ≤ π2 ≤ ... ≤ πN . Initially, all nodes have the same lists of objects to be placed in their memory. Assume that each node starts making replacements in its list, as dictated by the churn-aware strategy. First notice that because πj ≤ πj the cost of each node j to evict an object is smaller than the cost of each node j > j to evict the same object. Similarly, the gain of each node j to insert an object is greater than the gain of each node j > j to insert the same object after j. Suppose that each node j makes mj replacements when playing. It follows that m1 ≥ m2 ≥ ... ≥ mN . Consider any subsequence of nodes, indexed without loss of generality as 1, 2, . . . , where π1 ≤ π2 ≤ ... ≤ π and assume that all nodes in this subsequence make a number of replacements k, where k ≤ m . It follows that subsequent nodes have decreasing gains when making the kth replacement. Denote the objects that node j removed by e1 , e2 , . . . , emj , indexed in increasing eviction cost. For its kth replacement, the replacement gain of node j is Gik ,j − Lek ,j . Its access cost will be increased if subsequent nodes at their kth replacement remove one or more of the objects e1 , e2 , . . . , emj that node j removed. (Its access cost is not affected if subsequent nodes insert the same objects, and is decreased if they insert some different objects.) We can show
464
E. Jaho et al.
however, that under a certain condition it remains lower than its cost before making this replacement. (j) We generally denote by Lek ,j+n the average increase in access cost incurred to node j by node j + n evicting object ek . If node j + n is the first node that evicts object ek after j and if Lek ,j+n is the eviction cost of node j + n , it holds (j) that Lek ,j+n = Lek ,j + Lek ,j+n . Let the number of nodes that make a kth replacement after node j has played be nk , and consider the subsequence j + 1, j + 2, . . . , j + nk . The object evicted by node j + 1, j + 2, . . . , j + nk at the kth replacement is denoted by ek(j+1) , ek(j+2) , . . . , ek(j+nk ) , respectively. Without loss of generality, we assume that at their kth replacement, all nodes in this subsequence evict objects evicted by node j (otherwise their induced cost to j is zero and we need not include these nodes). Due to decreasing gains of subsequent nodes for making the kth replacement, the objects evicted by a node j+ are a subset of the objects evicted by j and index k(j+) ≥ k ∀ = 1, . . . , nk . We now impose the critical condition that the objects evicted by node j + 2 are also evicted by node j + 1, for each pair (j + 2,j + 1) in the subsequence. The replacement gain of node j after these evictions becomes at least (since it may be increased by different inserted objects of other nodes) (j)
(j)
(j)
Gik ,j − Lek ,j − Lek(j+1) ,j+1 − Lek(j+2) ,j+2 − · · · − Lek(j+n ≥Gik ,j − Lek(j+1) ,j −
(j) Lek(j+1) ,j+1
=Gik ,j − Lek(j+1) ,j+1 −
−
(j+1) Lek(j+2) ,j+2
(j) Lek(j+2) ,j+2
− ···−
− ···−
k)
(5a)
,j+nk
(j) Lek(j+n ) ,j+nk k
(j) Lek(j+n ) ,j+nk k
(5b) (5c)
≥··· ≥Gik ,j − Lek(j+nk ) ,j+nk > 0 .
(5d) (j)
(5c) follows from (5b) because it holds that Lek(j+1) ,j+1 = Lek(j+1) ,j +Lek(j+1) ,j+1 (j+1)
(j)
and Lek(j+2) ,j+2 = Lek(j+2) ,j+2 (since both j, j +1 have evicted object ek(j+2) , the same cost is induced to both by j + 2 evicting it.) Finally, the last implication holds because Lek(j+nk ) ,j+nk < Gik(j+nk ) ,j+nk < Gik ,j . (ik(j+nk ) denotes the object inserted by node j + nk .) Since moreover node j makes a higher number of replacements than its subsequent nodes (mj ≥ mj+1 ≥ · · · ≥ mN ), the total gain of node j by making its mj moves can never become smaller than zero. Therefore node j incurs a smaller access cost under the final placement of all nodes compared to its greedy local placement. Under the same order of play and the same conditions, this holds for any number of rounds in the game. Remark 2. An important consequence of the previous analysis is that it reveals a mistreatment-free strategy. Consider the greedy churn-aware strategy, with the additional condition that a node only evicts an object if it was also evicted by all previous nodes, or not evicted by any of the previous nodes. In the homogeneous case where less reliable nodes play first this strategy is mistreatment-free.
Cooperative Replication in Content Networks with Nodes under Churn
3.2
465
Potential Gain of a Node by Playing Again
A useful metric in our model is the potential gain of a node by playing again after a number of steps in the game. This gain is defined as a node’s reduction in mean access cost if it were to play again after a number of steps in the game. Intuitively, a good strategy yields small such gains to all nodes. The analysis below shows that in the homogeneous case studied in the previous subsection, assuming now that more reliable nodes play first (π1 ≥ π2 ≥ ... ≥ πN ) a node does not have a benefit by playing again at a subsequent epoch, in certain game instances. A node may have a benefit by playing again by reinserting an object evicted by itself and subsequent nodes, or by evicting an object inserted by subsequent nodes. Consider that at a subsequent epoch after node j has played, a number of players evict an object e that was also evicted by node j and another number of players insert an object i also inserted by j. Say the last node that evicted object e was j + n1 , and the last node that inserted object i was j + n2 . We can show that if n1 = n2 ∀ (e, i), then Li,j > Ge,j and node j does not obtain a benefit by playing again. Consider that the insertion gain of node j to reinsert object e equals the eviction cost of the last node after j that evicted the object. So Ge,j = Le,j+n1 . If the last node that inserted object i was j + n2 , since πj ≥ πj+n2 , we also have that Li,j ≥ Gi,j+n2 . If n1 = n2 , then since we necessarily have Gi,j+n1 > Le,j+n1 it follows that Li,j > Ge,j . If n1 ≷ n2 then depending on request rates and the probabilities of nodes to be ON, we may have Li,j < Ge,j and node j may obtain a benefit by playing again. This is also the case if some other ordering is applied. However potential gains are usually small, as confirmed by the results in Sect. 4. 3.3
Finiteness of the Algorithm with Multiple Rounds
The following theorem holds: Theorem 1. The greedy churn-aware algorithm ends in a finite number of rounds, irrespective of the order of play in each round. Proof. At each step of the game, each player may evict an object owned by a certain number of other nodes, to insert another object owned by either a) a smaller number of nodes (or none), or b) a larger number of nodes, with smaller probability that at least one of them is ON. Thus, there will come a time when nodes do not have objects in common or no further replacements are possible. In practice, the algorithm finishes very quickly. In all test cases that follow, the algorithm finished in 1 to 5 rounds.
4
Numerical Evaluation
In this section we present some numerical examples to show how the different object replacement strategies perform in a replication group under node churn.
466
E. Jaho et al. LRF (π=[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1])
MRF (π=[1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1])
60
60 Greedy local Greedy churn-unaware (1 rnd) Greedy churn-aware (1 rnd) Greedy churn-aware (multiround)
Greedy local Greedy churn-unaware (1 rnd) Greedy churn-aware (1 rnd) Greedy churn-aware (multiround)
50
40
Access cost
Access cost
50
30 20 10
40 30 20 10
0
0 1
2
3
4
5
6
7
8
9
10
1
2
3
5
6
7
Node number
(a)
(b)
8
9
10
9
10
πj=0.5 for all j=1...N
Random order (π=[0.1 0.4 0.7 0.3 0.2 1 0.8 0.9 0.6 0.5]) 60
60 Greedy local Greedy churn-unaware (1 rnd) Greedy churn-aware (1 rnd) Greedy churn-aware (multiround)
50
Greedy local Greedy churn-unaware (1 rnd) Greedy churn-aware (1 rnd) Greedy churn-aware (multiround)
50
40
Access cost
Access cost
4
Node number
30 20 10
40 30 20 10
0
0 1
2
3
4
5
6
Node number
(c)
7
8
9
10
1
2
3
4
5
6
7
8
Node number
(d)
Fig. 1. Access cost for different placement strategies with different node orderings
We are interested in analyzing cases where nodes have similar preferences for objects, so that mutual benefits emerge by cooperation. Here we consider the simplest case where nodes have the exact same request rates. Our major conclusions are similar when we consider different request rates, or when each node has a different preference order for objects. Request rates are drawn from a Zipf distribution with exponent s. The probability of the object with rank k, k = 1, ..., M , is 1/k s f (k; s, M ) = M . s m=1 1/m We consider N = 10 nodes. Each of the N nodes has a capacity of 10 objects in its local storage, and there exists a total of M = 50 objects. We set tl = 1, tr = 10 and ts = 100 cost units. Fittings based on real traces in [6] have shown the value of the exponent s of the Zipf distribution to lie between 0.8 − 0.9. Here we take s = 0.9. We examine the following orderings of players based on their reliability: (1) Least Reliable First (LRF) where nodes play in increasing order of their ON probabilities, (2) More Reliable First (MRF) where nodes play in decreasing order of ON probabilities, (3) Random order, in which nodes take a selected random order to play.
Cooperative Replication in Content Networks with Nodes under Churn
467
Table 1. Potential gains of nodes by playing again after 1 round Potential gain 4 5 6
Node
1
2
3
7
8
9
10
LRF
1.52
1.61
0.83
1.93
0
0
0
0
0
0
MRF
0
0
0
0
0
0
0
0
0
0
Random order
2.81
2.73
0
2.94
2.69
0
0
0
0
0
πj = 0.5 ∀j = 1, . . . , N
0.35
0.40
0
0
0
0
0
0
0
0
The (mean) access costs of all nodes under the different orderings are shown in Fig. 1. The vector π = [π1 , π2 , . . . , πN ] of ON probabilities of nodes for each examined order of play is shown in the title of each sub-figure. We also show a case where nodes have the same probability to be ON, πj = 0.5 for all j = 1, ..., N (Fig. 1(d)). No mistreatment is shown to occur in these graphs; intuitively, this happens here because there exists a number of nodes with relatively high reliability values. (For an example of mistreatment under the churn-unaware strategy, readers are referred to [3].) It is demonstrated that all group replication strategies perform better than the greedy local. Comparing the churn-unaware and churn-aware greedy strategies, we observe that a significant improvement occurs when the ordering is LRF (Fig. 1(a)), while similar costs are produced for an MRF order (Fig. 1(b)). To understand this, notice that under the LRF order, the churn-unaware strategy results in many high request rate objects being stored at less reliable nodes; more reliable nodes falsely trust high request rate objects to be accessible from the previous nodes, while it would be better to have them stored locally. Such erroneous placements occur less frequently when the order is MRF. The churnaware strategy can also yield a significant improvement when there is no prespecified order of play, but nodes take random turns (Fig. 1(c)). On the contrary, a slight improvement is observed when all nodes have the same probability of being ON. An important observation is that there is no significant access cost reduction by repeating the churn-aware algorithm for multiple rounds. This yields extra benefit only to some nodes; depending on the order of play, some nodes may benefit from the extra rounds, which usually occurs at the expense of others. We also examine the potential gain of each node by playing again after one round of the churn-aware algorithm, under the various orderings (if there can be no improvement, the potential gain is zero). Results are shown in Table 1. In the MRF case, the algorithms stops in the first round and thus all potential gains are zero. The analysis in Sect. 3.2 partially justifies this result. Generally in the other cases, only the first few nodes attain a benefit by playing again, since they are more likely to be farther from an optimal placement. In any case, benefits are small when compared to the access cost values (see Fig. 1), and hence nodes have a small incentive to play again.
468
E. Jaho et al.
Finally, it is worth discussing the fairness aspects of different orderings. In this way, if some mediator (e.g., a system administrator) could enforce a certain order, we would like to know the fairest one. It is fair that more reliable nodes obtain a greater benefit by participating in the game, than the less reliable ones. We established previously that when all nodes follow the churn-unaware strategy, LRF is an unfair order because it leads more reliable nodes to erroneous placements. Instead, MRF should be followed. Under the churn-aware strategy, such fairness problems are mitigated, as all nodes behave in a rational manner. In the results, both the LRF and MRF orderings tend to give similar benefits.
5
Conclusions
This paper proposed a distributed algorithm for object replication in a content network, in which each node selfishly decides which objects to replicate from a distant server and announces its decision to other nodes, thus allowing all nodes to have a gain by a limited cooperation. The algorithms accounts for selfish behavior of autonomous nodes, as well as churn phenomena, i.e., nodes that are not always available or operational. It needs minimal information in order to be applied, consisting of the placements of other nodes in the replication group and a probability estimate of their reliability. This information can be forwarded in a distributed manner, or maintained in a central database in the network that nodes query prior to making their decision. While it may not arrive at an equilibrium, we have shown that it possesses good properties: in the majority of cases, it decreases the access cost collectively for all nodes, compared to the greedy local strategy and churn-unaware strategies. Although mistreatment problems may still occur, these are alleviated if all nodes follow the common strategy. Furthermore, if nodes having the same request rates for objects play according to an LRF order, the strategy is near mistreatmentfree and provides for a fair treatment of nodes according to their reliability. A challenging line for future work is the study of conditions under which the strategy arrives at an approximate Nash equilibrium. Based on the analysis in Sect. 3.1, a first conjecture is that an approximate equilibrium exists in the homogeneous case, under an LRF order. A possible extension of this work is to consider communication capabilities of nodes, and the possibility of each one to lie about its placement. Then the game should be studied as a game with communication, and an additional requirement of a good strategy is that nodes do not have an incentive to lie. Finally, the behavior of the algorithm in the cases where there exist objects of different sizes or where each node has a subjective estimate for the reliability of other nodes should be examined.
References 1. Leff, A., Wolff, J., Yu, P.: Replication algorithms in a remote caching architecture. IEEE Trans. Par. and Distr. Systems 4(11), 1185–1204 (1993) 2. Laoutaris, N., Telelis, O., Zissimopoulos, V., Stavrakakis, I.: Distributed selfish replication. IEEE Trans. Par. Distr. Systems 17(12), 1401–1413 (2006)
Cooperative Replication in Content Networks with Nodes under Churn
469
3. Jaho, E., Jaho, I., Stavrakakis, I.: Distributed selfish replication under node churn. In: Proc. Med-Hoc-Net (2007) Poster session 4. Basar, T., Olsder, G.: Dynamic noncooperative game theory, 2nd edn. Society for Industrial and Applied Mathematics (SIAM) (1999) 5. Avrachenkov, K., Nemirovsky, D., Pham, K.S.: A survey on distributed approaches to graph based reputation measures. In: Proc. of International Workshop on Tools for solving Structured Markov Chains (SMCtools) (2007) 6. Breslau, L., Cao, P., Fan, L., Phillips, G., Shenker, S.: Web caching and Zipf-like distributions: Evidence and implications. In: Proc. IEEE INFOCOM (1999)
Congestion Avoiding Mechanism Based on Inter-domain Hierarchy Marc-Antoine Weisser1 , Joanna Tomasik1 , and Dominique Barth2 1
Supélec, 3, rue Joliot-Curie, F-91192 Gif-Sur-Yvette, France {marc-antoine.weisser,joanna.tomasik}@supelec.fr 2 PRiSM, University of Versailles, 45, avenue des États Unis, F-78035 Versailles, France [email protected]
Abstract. Inter-domain routing is ensured by BGP. BGP messages carry no information concerning quality parameters of routes. Our goal is to provide domains with information regarding the congestion state of other domains without any changes in BGP. A domain, which is aware of congested domains, can choose a bypass instead of a route exhibiting possible QoS problems. We propose a distributed mechanism sending alert messages in order to notify domains about other domains congestion state. Our solution avoids flooding the Internet with signaling messages. It limits the number of alerts by taking advantage of the hierarchical structure of the Internet set by P2C and P2P relationships. Our algorithm is heuristic because it is a solution to an NP-complete and inapproximable problem. We prove these properties using the Steiner problem in directed acyclic graphs. The simulation runs show that our mechanism significantly diminishes the number of unavailable domains and routes compared to those obtained with “pure” BGP routing and with a theoretical centralised mechanism. Keywords: inter-domain, QoS, distributed algorithm.
1
Introduction
We consider two paradigms for the introduction of QoS into the Internet: flowbased and connectionless. The first one is based on an individual flow management. Generally speaking, the flow-based paradigm is not adapted to the inter-domain level. This paradigm may be applied to a small number of critical requests which need strict QoS requirements. For the other demands of QoS without strict guarantee, the second paradigm which is connectionless, should be used. The principle of the connectionless paradigm is represented by the rejection of flow management. Packets are divided into classes and the priority traffic, packets of the most privileged class, is treated with priority. In [1] we proposed an algorithm founded on the flow-based paradigm which finds multi-constraint paths in an inter-domain network. In this paper we focus on the second approach. Our proposition: BGP is a protocol which constructs routing tables in a interdomain network. We take as a hypothesis that a domain using BGP arbitrarily A. Das et al. (Eds.): NETWORKING 2008, LNCS 4982, pp. 470–481, 2008. c IFIP International Federation for Information Processing 2008
Congestion Avoiding Mechanism Based on Inter-domain Hierarchy
471
chooses one path from a set of possible paths i.e., a domain uses the same BGP routing table for all its border routers. If a domain was aware of the congestion state of the other domains, it could choose a path avoiding the congested domains. Yet, such an approach is unrealistic because 1) it would generate too many control messages and 2) domain operators would not want to give details of configuration and resources of their domains. We propose a mechanism which is external to BGP and which allows us to select paths avoiding congested domains. Our mechanism uses incomplete congestion state information to find bypasses which go around congested domains. Our mechanism copes with the two problems stated above. It could be implemented in a path computation element (PCE) [2] since PCE has to have a global vision of inter-domain paths. The studies [3, 4, 5, 6] of BGP tables show a hierarchical structure of the inter-domain network. This hierarchy is induced by the types of relationships connecting two domains: P2C (provider to customer) and P2P (peer to peer). In our mechanism, we use this hierarchy to limit the number of control messages. A domain using our mechanism needs to know congested domains which are found only in its neighborhood. Moreover, a commercial contract behind relationships such as P2C, legitimates the exchange of the information concerning congestion. Providers payed by their customers should warn them about congestion in order to allow them to change their routing and use networks of other providers. The second problem stated above is solved because only a minimum of information is sent to a small number of domains. In this paper we only focus on the simulation results of our solution. The problem complexity results are presented in [7]. Related works: An investigated approach to introduce QoS into the interdomain consists in either exhanging QoS characteristics between domains [8] or guessing the QoS characteristics using probe messages [9]. These approaches need a large amount of information difficult to collect and to use. In our approach we propose to use a binary information whether a domain is congested or not. It is exchanged only by connected nodes. An utilization of hierarchy in QoS issues appears in some works [10, 11]. The hierarchy described in [10] is artificial and it has be contructed. In our proposition, we use the existing hierarchy introduced by P2P and P2C relationships. We find a paper exploring this hierarchy in the routing context [11]. Its authors use it for a hybrid routing mechanism which works both with link-state and path vectors. To the best of our knowledge, the proposed utilization of alert message diffusion conditioned by the inter-domain hierarchy has never been studied. Paper organization: We give a description of an inter-domain network and its hierarchy in the next section. We model our problem with the graph theory in Section 3 and give the results about its complexity and inapproximability. In Section 4 we describe our mechanism. In Sections 5 and 6 we present the simulations and their results. In order to judge our algorithm, we confront it with two extreme solutions: BGP and an on-line theoretical centralized algorithm
472
M.-A. Weisser, J. Tomasik, and D. Barth
which we define in order to compare purposes. Finally, we make conclusions and outline perspective future works.
2
Problem Modeling
The problem modelling takes advantage of a specific structure of the interdomain network which is composed of independent domains administrated by operators. Links connecting domains are characterized by two types of relationships: P2C and P2P. A P2C relationship links providers which sell connectivity to their customers. A P2P relationship exists between two domains which share connectivity. The studies of BGP tables [3, 4, 5] show that these types of relationships introduce a hierarchy in the inter-domain network. There are layers which compose the hierarchy. The core, Tier-1, on the top of the hierarchy, is a set of domains which are linked together by P2P relationships. The domains of the core are not customers of any domain. Usually, the domains in the layer Tier-j are providers of domains in the layer Tier-k and customers of domains in the Tier-i, i < j < k. The domains in the layer Tier-i and in Tier-j are linked together with P2C relationships. Domains in the same layer can be linked together with P2P or P2C relationships. The inter-domain hierarchy has an impact on the current inter-domain routing because routes are established according to commercial relationships. The only routes present in an inter-domain network are composed of an uphill and a downhill com