Mathematical and Computer Modelling

Similar documents
CS321: Computer Networks Congestion Control in TCP

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Stochastic Petri Nets Models for the Performance Analysis of TCP Connections Supporting Finite Data Transfer

Performance Analysis of TCP Variants

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

Congestion Control in TCP

Congestion Control in TCP

cs/ee 143 Communication Networks

Faculty Of Computer Sc. & Information Technology (FSKTM)

Improving TCP Performance over Wireless Networks using Loss Predictors

TCP Congestion Control

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

ECE 610: Homework 4 Problems are taken from Kurose and Ross.

Performance Evaluation of TCP Westwood. Summary

A Generalization of a TCP Model: Multiple Source-Destination Case. with Arbitrary LAN as the Access Network

CS4700/CS5700 Fundamentals of Computer Networks

IJSRD - International Journal for Scientific Research & Development Vol. 2, Issue 03, 2014 ISSN (online):

ENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3

Chapter 3 Transport Layer

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

An analytical model for evaluating utilization of tcp reno

Answers to Sample Questions on Transport Layer

Hybrid Control and Switched Systems. Lecture #17 Hybrid Systems Modeling of Communication Networks

Transmission Control Protocol (TCP)

TCP Congestion Control

Performance Enhancement Of TCP For Wireless Network

Analytical Modeling of TCP Clients in Wi-Fi Hot Spot Networks

THE INCREASING popularity of wireless networks

Computer Networking Introduction

RED behavior with different packet sizes

Department of EECS - University of California at Berkeley EECS122 - Introduction to Communication Networks - Spring 2005 Final: 5/20/2005

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 30, 2018

TCP Congestion Control

TCP Congestion Control

Chapter III: Transport Layer

Computer Networks Spring 2017 Homework 2 Due by 3/2/2017, 10:30am

Mid Term Exam Results

Fall 2012: FCM 708 Bridge Foundation I

image 3.8 KB Figure 1.6: Example Web Page

Transport Layer Congestion Control

CS3600 SYSTEMS AND NETWORKS

COMPUTER NETWORK. Homework #3. Due Date: May 22, 2017 in class

CSCI Topics: Internet Programming Fall 2008

TCP congestion control:

Outline. CS5984 Mobile Computing

ADVANCED COMPUTER NETWORKS

CSCI Topics: Internet Programming Fall 2008

A Survey on Quality of Service and Congestion Control

Analyzing the Receiver Window Modification Scheme of TCP Queues

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Reasons not to Parallelize TCP Connections for Fast Long-Distance Networks

Cross-layer TCP Performance Analysis in IEEE Vehicular Environments

TCP Congestion Control in Wired and Wireless networks

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

EE122 MIDTERM EXAM: Scott Shenker, Ion Stoica

Lecture 4: Congestion Control

Congestion Control in TCP

Design and Performance Evaluation of High Efficient TCP for HBDP Networks

CS Transport. Outline. Window Flow Control. Window Flow Control

Flow and Congestion Control Marcos Vieira

Problem 7. Problem 8. Problem 9

A Hybrid Systems Modeling Framework for Fast and Accurate Simulation of Data Communication Networks. Motivation

Enhancing TCP Throughput over Lossy Links Using ECN-Capable Capable RED Gateways

Communication Networks

TCP Congestion Control

Improving TCP End to End Performance in Wireless LANs with Snoop Protocol

Wireless TCP Performance Issues

TCP Congestion Control 65KB W

Impact of IEEE MAC Packet Size on Performance of Wireless Sensor Networks

TCP based Receiver Assistant Congestion Control

There are 10 questions in total. Please write your SID on each page.

Improved Model for a Non-Standard TCP Behavior

Neural-based TCP performance modelling

CS 43: Computer Networks. 19: TCP Flow and Congestion Control October 31, Nov 2, 2018

COMPUTER NETWORK. Homework #3. Due Date: May 22, 2017 in class

Assignment 7: TCP and Congestion Control Due the week of October 29/30, 2015

King Fahd University of Petroleum & Minerals

SIMULATION FRAMEWORK MODELING

A Fast and Accurate Analytical Model of TCP Performance

Linux 2.4 Implementation of Westwood+ TCP with Rate Halving : A Performance Evaluation over the Internet

UNIT IV -- TRANSPORT LAYER

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018

COMP/ELEC 429/556 Introduction to Computer Networks

Delayed ACK Approach for TCP Performance Improvement for Ad Hoc Networks Using Chain Topology

CSC 4900 Computer Networks: TCP

Congestions and Control Mechanisms in Wired and Wireless Networks

Contents. CIS 632 / EEC 687 Mobile Computing. TCP in Fixed Networks. Prof. Chansu Yu

6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long

ECE 333: Introduction to Communication Networks Fall 2001

Data Link Control Protocols

ETSN01 Exam Solutions

Transport Protocols and TCP: Review

Department of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri

King Fahd University of Petroleum and Minerals College of Computer Sciences and Engineering Department of Computer Engineering

Review: Performance Evaluation of TCP Congestion Control Mechanisms Using Random-Way-Point Mobility Model

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

A Scheme for Enhancing TCP Fairness and Throughput in IEEE WLANs

Lecture 8. TCP/IP Transport Layer (2)

Reliable Transport II: TCP and Congestion Control

ENSC 835: COMMUNICATION NETWORKS

Transcription:

Mathematical and Computer Modelling 53 (2011) 684 693 Contents lists available at ScienceDirect Mathematical and Computer Modelling journal homepage: www.elsevier.com/locate/mcm Analytical modeling of TCP flow in wireless LANs Vandana Gupta a, S. Dharmaraja a,, Mingwei Gong b a Department of Mathematics, IIT Delhi, India b Department of Computer Science and Information Systems, Mount Royal University, Calgary, Canada a r t i c l e i n f o a b s t r a c t Article history: Received 24 August 2009 Received in revised form 24 June 2010 Accepted 3 October 2010 Keywords: Transport Control Protocol Access point Markov modeling Stochastic reward net Throughput Delay TCP (Transmission Control Protocol) is one of the protocols which are widely used in Internet environments. This paper presents an analytical model developed using the stochastic reward net (SRN) modeling technique for the TCP flow behavior in WLANs. The purpose of developing an analytical model is the evaluation of stationary TCP flow behavior. In this paper, we focus the attention on the TCP variant called TCP Reno which is implemented by most operating systems. The performance of TCP Reno is investigated through the SRN model. The model captures aspects such as congestion window (cwd) evolution, slow start and congestion avoidance phases, TCP packet transmissions, management of packet losses due to time-out, and due to generation of triple duplicate acknowledgements. The performance metrics such as throughput and delay of the TCP traffic are obtained using the SRN model. On the basis of these performance measures, the existing unfairness between the downstream and upstream flow at the AP in WLANs is also shown. The proposed analytical model is validated via simulation. Crown Copyright 2010 Published by Elsevier Ltd. All rights reserved. 1. Introduction The Transmission Control Protocol (TCP) is one of the core protocols of the Internet protocol suite. TCP consists of a set of rules, the protocol, that are used with the Internet Protocol, the IP, to send data in a form of message units between computers over the Internet. TCP provides reliable, in-order delivery of a stream of bytes, making it suitable for applications like file transfer and e-mail. TCP is used extensively by many of the Internet s most popular application protocols and resulting applications, including the World Wide Web, E-mail, the File Transfer Protocol and some streaming media applications. Numerous performance studies based on simulation have been conducted on the TCP so far. But to obtain more general and parametric results, analytical models are more appropriate. Modeling the TCP behavior using analytical paradigms is the key to achieving a better understanding of the TCP behavior under different operating conditions. At the same time, the development of accurate models of the TCP is difficult, because of the intrinsic complexity of the protocol algorithms, and because of the complex interactions between the TCP and the underlying IP network. In this paper, we develop an analytical model for the TCP flow. One of the important functions of the TCP is the congestion control function, which in part tries to avoid congestion, and in another part responds to congestion by reducing the sources transmission rate. As far as this congestion control function is concerned, there are several versions of the TCP, most importantly Tahoe and Reno [1,2]. These versions differ in how they detect packet losses, and how they react to such situations. In this paper, we mainly focus the attention on the TCP variant called TCP Reno which is implemented by most operating systems. Our modeling approach is based on continuous time Markov chain (CTMC). However, to deal Corresponding author. Tel.: +91 11 26597104; fax: +91 11 26581005. E-mail addresses: vandana_iitd@yahoo.com (V. Gupta), dharmar@maths.iitd.ac.in (S. Dharmaraja), gongm@cpsc.ucalgary.ca (M. Gong). 0895-7177/$ see front matter Crown Copyright 2010 Published by Elsevier Ltd. All rights reserved. doi:10.1016/j.mcm.2010.10.004

V. Gupta et al. / Mathematical and Computer Modelling 53 (2011) 684 693 685 with the computational complexities involved in construction of CTMCs, we use the stochastic reward net (SRN) modeling technique to develop the analytical model and to obtain various performance measures. In recent years, SRN techniques have gained much attention as a useful modeling formalism. They have been successfully used in the analysis of communication networks [3 6]. They can easily represent concurrency, synchronization, sequencing and multiple resource possession that are characteristics of current communication networks. The remainder of this paper is organized as follows. Section 2 discusses the background and related work on the analytical modeling of the TCP flow. Section 3 describes the analytical model developed by using SRN. Section 4 presents the various performance measures along with their definitions and Section 5 gives some remarks on the computational complexities involved in the modeling. Section 6 presents the numerical illustrations and observations. Finally, Section 7 concludes the paper and discusses future work. 2. Background and related work The evolution of the TCP transport protocol has changed slowly but progressively since its original incarnation in 1988. Various TCP algorithms and techniques have been proposed to improve congestion and reduce the non-congestion related packet loss. TCP Tahoe was the first algorithm to employ three transmission phases: slow start, congestion avoidance, and fast retransmit. TCP Reno has all the features of TCP Tahoe but, in addition, TCP Reno introduced major improvements over Tahoe by changing the way in which it reacts to detecting a loss through duplicate acknowledgements [1,2]. TCP Reno uses three mechanisms to control the flow and deal with congestion: slow start (SS), congestion avoidance (CA), and fast retransmit. The operation of these mechanisms depends on two variables that the protocol maintains: cwd (size of the congestion window) and ssthresh (slow start threshold). The size of the congestion window imposes a constraint on the amount of data that can be sent by a TCP sender entity, that is, the amount of non-acknowledged data that a sender can have within a TCP connection is limited by the size of the congestion window. After the connection is initiated, the cwd is set to 1 and the ssthresh to set to some higher value. The protocol enters the SS phase in which it increases the cwd by 1 for each packet successfully acknowledged (i.e. packets whose sending has been acknowledged). The effect of the SS is that the cwd grows exponentially since the cwd doubles per round-trip time (RTT). The SS phase is continued till the data packets are successfully transmitted and the cwd is less than or equal to the ssthresh value. When the cwd exceeds ssthresh or whenever a packet loss is detected for the first time, the CA phase begins. In the CA phase, the cwd size is not doubled anymore upon the correct receipt of all packets fitting within the window, but is rather incremented by the maximum segment size (MSS). After a packet loss occurs, the congestion window size is reduced. Here, there are two possibilities: (1) either packet loss is detected via the reception of a triple-duplicate acknowledgement (ACK), and the congestion window size is halved, (2) or packet loss is detected via the reception of a connection time-out indication, and the congestion window size is reset to MSS. In both cases, the threshold is reset to a new value which is half the value of the congestion window size as it was just before the detection of the packet loss. Then, the SS phase is repeated, until the new threshold value has been reached. The above algorithm is also known as the additive increase multiplicative decrease algorithm (AIMD). Note that all these above mentioned aspects of TCP Reno are captured in the SRN model presented in the next section of this paper. The literature on simulation models for TCP is vast, but very little work is done on the analytical modeling of TCP flow. Hence, in this paper, we focus on the concept of analytical modeling. Here we summarize some of the approaches that are closely related to our work. In [7], analytic models were presented for estimating the delay and the steady-state throughput of TCP Tahoe, Reno and SACK and comparisons were made between them. The paper [8] has presented a discrete-time Markov chain model for TCP and has given performance measures of throughput and goodput. In [9], a general analytical framework using Markov chain is developed to derive accurate closed-form expressions for the throughput of finite-load UDP flows and persistent TCP connections in IEEE 802.11 WLANs. In [10], the authors have proposed a new analytical modeling approach to study the behavior of a number of TCP connections that share a bottleneck link, considering the effects of the synchronization among connections induced by segment losses and round-trip times. The modeling approach is based on Markovian assumptions and on GSPN descriptions of the system behavior. In [11], a SPN formalism is proposed to model TCP behavior and various performance measures are obtained. The authors in this paper have modeled the no_loss case and a packet loss due to timeout. The work in [12] is also based on deterministic stochastic Petri net (DSPN) modeling of the TCP which is used to compute the completion time distribution for short TCP connection. In [13], the SPN model of two TCP sources sharing a single buffer is developed, but the loss of TCP packets due to generation of triple duplicate ACKs is not incorporated in the SPN model. 3. Analytical modeling of TCP flow In a typical deployment of WLANs, a mobile station equipped with an IEEE 802.11 interface communicates with an Access Point (AP) on a wireless channel, and the AP relays traffic to and from the Internet backbone. There are two kind of queues at the AP, one in the downstream direction and other in the upstream direction. The downstream queues consists of two kinds of flows: data packets for the download users and ACKs for the upload users. Similarly, the upstream queue consists of two kinds of flows: data packets for the upload users and ACKs for the download users. Hence, there are four flows which are contending for the AP. The underlying queueing network diagram for the AP is shown in Fig. 1.

686 V. Gupta et al. / Mathematical and Computer Modelling 53 (2011) 684 693 Fig. 1. Queuing network diagram for the access point. Table 1 Places and their meaning. Place P down_buffer P batch_size P down_ack_buffer P timeout P down_acks P threshold P cwd P batch_counter P up_buffer P up_ack_buffer P bandwidth Meaning TCP packets sent by AP to mobile users Packets sent in one round ACKs for the transmitted packets in downstream A packet is lost ACKs received successfully Threshold value of the contention window size Contention window size Number of packets sent in the current trip TCP packets sent by mobile users to AP ACKs for the transmitted packets in upstream Available band width In this section, we develop the SRN model for the TCP flow in wireless LANs. The SRN model allows for a concise specification and the automated generation of the underlying CTMC. For a detailed study on modeling with the SRN, the readers are referred to [14]. Note that, though we have used the SRN for modeling, we have not used rewards in our model. In fact, we have used other concepts of guard functions and functions such as arc multiplicities which are supported only by an SRN model, and not by a generalized stochastic Petri net (GSPN) model. The SRN model for the TCP flow in WLANs is shown in Fig. 2. There are two main parts of this model, namely part A and part B. Part A of the model represents the downstream flow, while part B of the model represents the upstream flow, i.e., the movement of upstream and downstream TCP data packets and TCP ACKs between two mobile stations in the network. Suppose, we have n mobile users. For modeling simplification, we have aggregated all the n upstream and n downstream users as a single upstream and a single downstream user. The places, timed transitions and their respective rates, immediate transitions and arc multiplicities associated with the SRN model are listed in Tables 1 4, respectively. The rates of the timed transitions are chosen by us (and not from any real time data) based on some logical relation between the time periods of various events in the SRN model for the purpose of numerical illustration. Note that the SRN model assumes exponentially distributed firing times for all the timed transitions, even though some events in the SRN model might be deterministic (e.g., T timeout ) rather than random (e.g., packet inter-arrival time, packet transmission time). These assumption are made to facilitate Markov modeling using the SRN. We first discuss the downstream flow of traffic. The places P cwd and P threshold represent the contention window size and the threshold value for the contention window size, respectively. Initially, one token is kept at the place P cwd and two tokens are kept at the place P threshold, indicating that initially the window size is set to one and the threshold value is set to two. The

V. Gupta et al. / Mathematical and Computer Modelling 53 (2011) 684 693 687 Fig. 2. SRN model for the TCP flow in WLANs. Table 2 Timed transitions and their meaning. Transition Meaning (time duration) Average time (Rate 1 ) (µs) T downstream Inter-arrival of downstream TCP packets 1/λ down T down_trans Transmission of downstream TCP packets 1299 T timeout_timer Packet has been timed out 2500 T down_ack_trans ACKs for downstream TCP packets are sent successfully 250 T dup_ack_trans Duplicate ACKs are sent for downstream TCP packets p 250 (1 p) T upstream Inter-arrival of upstream TCP packets 1/λ up T up_trans Transmission of upstream TCP packets 1299 T up_ack_trans ACKs are sent for upstream TCP packets 20 firing of the timed transition T downstream represents the generation of a new TCP data packet by the aggregated downstream mobile users. We assume that the firing time of T downstream is exponentially distributed with parameter λ down. A token in the place P down_buffer represents the presence of a data packet. The inhibitor arc (with multiplicity n) from P down_buffer to T downstream ensures that no additional data packets are deposited when there are n data packets (tokens) in the place P down_buffer. This

688 V. Gupta et al. / Mathematical and Computer Modelling 53 (2011) 684 693 Table 3 Immediate transitions and respective guard functions. Immediate transition Guard function Condition t packets g 1 P batch_size = 0 & P batch_counter = 0 & P timeout = 0 & P down_ack_buffer = 0 & P down_acks = 0 & P dup_acks = 0 & P no_loss = 0 t no_loss g 2 ( P batch_size = 0 & P down_ack_buffer = 0)(& P down_acks = P batch_counter ) t slow_phase g 3 P threshold > P cwd t cong_phase g 4 ( P cwd P threshold ) & ( P cwd < w_max) t 1, t 5 g 5 P down_acks = 0 t 2 g 6 P down_ack_buffer = 0 & P down_acks = 0 t 4 g 7 P down_ack_buffer = 0 t 6 g 8 P batch_size = 0 t 8 g 9 P batch_size = 0 & P down_acks = 0 Table 4 Arc multiplicities and their meaning. Arc multiplicity Meaning f 1 min( P cwd, P down_buffer ) f 2 f 3 f 4 f 5 P batch_size P down_ack_buffer P batch_counter P threshold f 6 max( P cwd /2, 2) f 7 P cwd f 8 max( P cwd /2, 1) f 9 P down_acks represents an abstract model of TCP flow control, with finite buffer size n. The number of tokens in the place P batch_size represents the number of data packets to be sent in the current round. The number of packets sent in one round is equal to the size of the contention window. Hence, the place P batch_size contains the minimum of the number of tokens in the places P cwd and P down_buffer. This is ensured by firing of the immediate transition t packets which deposits the min( P cwd, P down_buffer ) in P batch_size. The firing of t packets also deposits the same number of tokens in the place P batch_counter. The number of tokens in this place is for keeping a track of the number of packets that is sent in one round. The immediate transition t packets should not fire until the previous round is over. This is captured by the guard function g 1 on the immediate transition t packets which states that the transition will not fire until the places P batch_size, P batch_counter, P down_ack_buffer, P timeout, P down_acks, P no_loss and P dup_acks are empty. We consider three different cases in the model: no packet loss, packet loss due to time-out and packet loss due to generation of triple duplicate ACKs. First let us consider the case of no packet loss. A token in P batch_size enables the timed transition T down_trans. The firing of T down_trans represents the transmission of the data packets in the current round. If the data packets are successfully received by the receiver, corresponding ACKs are generated which are accumulated in the place P down_ack_buffer. A token in P down_ack_buffer enables the timed transition T down_ack_trans. The firing of T down_ack_trans represents that ACKs are successfully received by the sender. Note that the ACKs for the data packets that are generated may or may not be received by the sender. Let us assume that the ACKs are successfully received by the sender with probability p. Hence, it is assumed that the transition T down_ack_trans is fired with probability p. The received ACKs are then accumulated in the place P down_acks. If the number of tokens in the place P down_acks is equal to the number of tokens in the place P batch_counter, this implies that none of the packets sent in the last round is lost. In this case, the immediate transition t no_loss is enabled. The firing of t no_loss deposits a token in the place P no_loss indicating that no packet has been lost. If P no_loss has a token, then depending on whether the system is in SS phase or CA phase, either of the immediate transitions t slow_phase or t cong_phase is enabled. In SS phase, on the completion of each round, the congestion window size is doubled. Hence, the firing of t slow_phase deposits as many tokens in the place P cwd as were already there before the beginning of the current round. On the other hand, in the CA phase, on the completion of each round, the congestion window size is linearly incremented. Hence, the firing of t cong_phase deposits only one token in P cwd to increment the current value of window size by one. Next, we discuss the case of packet loss due to time-out. If the ACK of a data packet is not received within a predefined time limit, then the packet is considered to be lost due to time-out. Once a data packet is sent for transmission, it will either be transmitted or it will be timed out. A token in the place P batch_size will either enable the timed-transition T down_trans or the timed-transition T timeout_timer. The firing of the transition T timeout_timer represents the loss of a data packet due to time-out and deposits a token in the place P timeout. A token in the place P timeout indicates the loss of a data packet due to time-out and it enables the immediate transition t timeout. In the case of a packet loss, the AIMD algorithm enters into CA phase. In this phase, both the contention window size and the threshold value are decreased. Then, the slow-start phase is repeated until the new threshold value is reached. If a packet is lost due to time-out, the window size is reset to one and the threshold is set to half the value of the contention window size that it was just before the detection of the packet loss. Hence, the firing of t timeout

V. Gupta et al. / Mathematical and Computer Modelling 53 (2011) 684 693 689 removes all the tokens from the places P cwd and P threshold, and deposits one token in the place P cwd and min(2, P cwd /2) in the place P threshold, respectively. Next, we discuss the case of packet loss due to generation of three duplicate ACKs. Sometimes, it happens that the sender starts receiving duplicate ACKs for the previous packet. This means that ACKs for the current packets are not received by the sender. If three consecutive duplicate ACKs are received by the sender, it is assumed that the successive packets are lost. We have assumed that with probability p, the ACKs are successfully received by the sender. Hence, with probability 1 p, ACKs are not received successfully by the sender, i.e., duplicate ACKs are generated with probability 1 p. Hence, a token in the place P down_acks enables the transition T down_ack_trans with probability p and transition T dup_ack_trans with probability 1 p. The firing of T dup_ack_trans represents the generation of duplicate ACKs and deposits a token in place P dup_acks. A token in the place P dup_acks indicates the loss of data packets due to generation of duplicate ACKs and it enables the immediate transition t dupack. If packets are lost due to generation of duplicate ACKs, the window size is reduced to half and the threshold is set to half the value of the cwd as it was just before the detection of the packet loss. Hence, firing of t dupack takes out all the tokens from the places P cwd and P threshold, and then deposits min( P cwd /2, 1) in P cwd and min(2, P cwd /2) in the place P threshold. Before the next round begins, the places P batch_size, P batch_counter, P down_ack_buffer, P timeout, P down_acks, P no_loss and P dup_acks are emptied. This is achieved by various immediate transitions with corresponding guard functions. Note that a token in place P bandwidth indicates that bandwidth is available. The bandwidth is accessed by four flows, a flow of upstream data packets, a flow for upstream ACKs, a flow for downstream data packets and a flow for downstream ACKs. Hence, the transitions T down_trans, T down_ack_trans, T up_trans and T up_ack_trans will be enabled if the place P bandwidth has a token. The upstream traffic flow is represented in part B of the SRN model. The upstream flow behaves in a similar manner to the downstream flow. Note that because of the existing unfairness in wireless LANs operating in the DCF mode of the IEEE 802.11 protocol [15,16], the upstream flow gets more bandwidth share as compared to the downstream flow. To incorporate this in the SRN model, we have considered higher transmission rate for the transition T up_trans and lower rate for the transition T down_trans in the SRN model. 4. Performance measures In this section, we discuss two performance measures, namely, average throughput and average delay for upstream and downstream flows. 4.1. System throughput We get the average system throughput at the SRN level as follows: The software package SHARPE enables us to obtain the average throughput of a transition. The average throughput of a transition is defined as the average rate at which tokens are deposited by the transition T in its output places of the SRN model. If Y(t) is the average rate at which tokens are deposited by the transition T in all its output places up to time t, then the throughput η T of the transition T is defined as: η T = lim t Y(t)/t. In this paper, the average downstream and upstream throughput are given by: Throughput down = η Tdown_ACK_trans Throughput up = η Tup_ACK_trans. 4.2. Average delay The average delay, D, is given as the sum of the average data packet holding time and the sum of the average delays undergone by the data packets at every stage of data packet transmission. We get the average delay at the SRN level as follows: We measure the average delay of the data packets at the place P data and time period of the transitions involved in data transmission in the SRN model. Let the average number of tokens in place P be (P) and the average service time be 1/µ. The average service time for downstream flow is obtained by: 1 µ down = Average firing times of T down_trans + T down_ack_trans. Similarly, the average service time for upstream flow is obtained by: 1 µ up = Average firing times of T up_trans + T up_ack_trans. Then, average downstream delay Ddown can be obtained by using Little s Law [14] as D down = (P down_buffer) η Tdownstream + 1 µ down.

690 V. Gupta et al. / Mathematical and Computer Modelling 53 (2011) 684 693 Fig. 3. Arrival rate vs average throughput. Similarly, the upstream delay can be obtained by: D up = (P up_buffer) η Tupstream + 1 µ up. 5. Remarks on computation We need to solve the underlying CTMC model to obtain various performance measures. The construction of the SRN model automatically generates the underlying CTMC. Moreover, it allows for the concise specification of the system. These SRN models can be constructed by using standard software like SHARPE [17], TimeNET [18], or SPNica [19]. Wireless networks with a large number of mobile users will result in a CTMC with large state space and then computing various measures will be a tedious and an error-prone process. For the SRN described in Section 3, the approximate total number of states in the underlying CTMC can be given as: (P down_buffer ) (P up_buffer ) (P cwd ) (P threshold ) w max. For illustration purpose, let us assume that (P cwd ) = 6, (P threshold ) = 4, w max = 6, and n = 10 3, then the total number of states in the underlying CTMC will be 3.2 10 8. This gives the idea of the largeness of the state space in the SRN model presented in this paper. Because of this problem of large state space of the underlying CTMC, we could not incorporate larger values of the buffer size in the SRN model. 6. Numerical illustration In this section, we present the numerical results obtained using the SRN model. By using the software package SHARPE, we develop the SRN model and compute the above mentioned performance metrics. We have obtained the results for n = 3 mobile users, λ down = λ up varying from 0.0001 to 0.0008 µs 1 and p = 0.8. For transition rates of various timed transitions, refer to Table 2. These values are considered only for the purpose of illustration. 6.1. Results and discussion Fig. 3 presents the variation of upstream and downstream throughput with the arrival rate. It shows that as the arrival rate increases, throughput also increases. The upstream throughput is more than the downstream throughput. This difference is because of the existing unfairness between the upstream and downstream flow at the AP [15]. Also this difference in the upstream and downstream throughput increases as arrival rate increases. Fig. 4 presents the variation of average upstream and downstream delay with the arrival rate. It shows that as the arrival rate increases, delay also increases. Also it can be observed from the figure that initially the downstream delay is more than the upstream delay. Then after a point, the upstream delay exceeds the downstream delay. Fig. 5 presents the variation of average downstream throughput with the probability p of successful ACK transmission. We have obtained this result for n = 3, λ down = λ up = 0.0008 µs 1 and p varying from 0.1 to 0.8. It shows that as p increases, throughput also increases, which is logically correct.

V. Gupta et al. / Mathematical and Computer Modelling 53 (2011) 684 693 691 Fig. 4. Arrival rate vs average delay. Fig. 5. Probability (p) vs average downstream throughput. 6.2. Model validation We validate the proposed SRN model with simulation. The dynamics of the TCP flow behavior are simulated using the MATLAB program. The system parameters for simulation are set as shown in Table 2. The comparisons between the analytical results and the simulation results for average downstream delay and average upstream delay are presented in Figs. 6 and 7. To check the accuracy of the simulation results, we use the t distribution test. We adopted the following methodology: we ran the simulation 30 times for the same set of parameters and obtained 30 values for a metric. Then we evaluated the mean and standard deviation of the 30 values of the metric and obtained the confidence interval for 99% accuracy of the result. The confidence limits (c.l.) for 99% confidence interval can be obtained by: c.l. = x ± s t 0.01,k 1 k where x is the sample mean, s is the sample standard deviation, t 0.01,k 1 is the tabulated value for 99% confidence interval and k 1 degrees of freedom, and k is the sample size. In the figures, simulation results are plotted with dashed lines and 99% confidence interval. As expected, average delay increases with increase in the arrival rate. Moreover, it is observed from the graph that the results from the proposed analytical approach and simulation are in agreement with each other. Hence, this validates the analytical model.

692 V. Gupta et al. / Mathematical and Computer Modelling 53 (2011) 684 693 Fig. 6. Average downstream delay (analytical vs simulation). Fig. 7. Average upstream delay (analytical vs simulation). 7. Conclusions and future work Our paper studies an interesting fairness problem in WLANs between upload user and download user by using SRN modeling. We focus on analytical modeling so that our results can be complementary to existing simulation and experimental results. By making suitable assumptions (e.g. exponentially distributed times of transmission time, timeout time, etc.), TCP flow can be modeled by CTMC. We constructed an SRN model which automatically generates the underlying CTMC. We present the performance results for TCP throughput and delay through an SRN based analytical model. We observe that the upstream TCP flow is sharing more bandwidth as compared to the downstream flow. This shows the existence of unfairness at the AP in WLANs. We also validated our analysis by comparison with simulation. In this paper, as discussed in Section 5, our model fails to incorporate larger values of the buffer size because of the large state space of the underlying CTMC. Hence, we are planning to extend the SRN model to overcome this issue of largeness. We are also planning to undertake an extensive study through analytical modeling on the unfairness issue at the AP in WLANs and propose some schemes to overcome the problem of unfairness. Acknowledgements The excellent comments of the anonymous reviewers are greatly acknowledged and have helped a lot in improving the quality of the paper. This research work is supported by the Department of Science and Technology, India under the grant number RP 01907. One of the authors (V.G.) would like to thank CSIR, India for providing her financial support through Senior Research Fellowship.

V. Gupta et al. / Mathematical and Computer Modelling 53 (2011) 684 693 693 References [1] V. Jacobson, Modified TCP congestion avoidance algorithm, end2end-interest mailing list, 1990. [2] W.R. Stevens, TCP/IP Illustrated, Volume 1: The Protocols, Addison-Wesley, 1994. [3] M. Balakrishnan, K.S. Trivedi, Stochastic Petri nets for the reliability analysis of communication network applications with alternate-routing, Reliability Engineering & System Safety 52 (1996) 243 259. [4] Armin Heindl, Reinhard German, Performance modeling of IEEE 802.11 wireless LANs with stochastic Petri nets, Performance Evaluation 44 (2001) 139 164. [5] C. Zhang, M.C. Zhou, A stochastic Petri net approach to modeling and analysis of ad hoc networks, International Journal of Intelligent Control and Systems 8 (1) (2003) 8 19. [6] R. Jayaparvathy, S. Anand, S. Dharmaraja, S. Srikanth, Performance analysis of IEEE 802.11 DCF with stochastic reward nets, International Journal of Communication Systems 20 (2007) 273 296. [7] Biplab Sikdar, Shivkumar Kalyanaraman, Kenneth S. Vastola, Analytic models for the latency and steady-state throughput of TCP Tahoe, Reno, and SACK, IEEE/ACM Transactions on Networking 11 (6) (2003) 959 971. [8] Sophie Fortin-Parisi, Bruno Sericola, A Markov model of TCP throughput, goodput and slow start, Performance Evaluation 58 (2004) 89 108. [9] Raffaele Bruno, Marco Conti, Enrico Gregori, Throughput analysis and measurements in IEEE 802.11 WLANs with TCP and UDP traffic flows, IEEE Transactions on Mobile Computing 7 (2) (2008) 171 186. [10] M. Ajmone Marsan, C. Casetti, R. Gaeta b, M. Meo, Performance analysis of TCP connections sharing a congested internet link, Performance Evaluation 42 (2000) 109 127. [11] R. Gaeta, M. Sereno, D. Manini, Stochastic Petri nets models for the performance analysis of TCP connections supporting finite data transfer, in: Proc. Second International Workshop on Quality of Service in Multiservice IP Networks, 2003, pp. 372 391. [12] R. Gaeta, M. Gribaudo, D. Manini, M. Sereno, On the use of Petri nets for the computation of completion time distribution for short TCP transfers, in: Proc. ICATPN 2003, in: LNCS, vol. 2679, 2003, pp. 181 200. [13] S. Dijkstra, Modeling active queue management algorithms using stochastic Petri nets, Master Thesis, University of Twente, The Netherlands, 2004. [14] K.S. Trivedi, Probability and Statistics with Reliability, Queueing, and Computer Science Applications, 2nd ed., John Wiley, New York, 2001. [15] S. Pilosof, R. Ramjee, D. Raz, Y. Shavitt, P. Sinha, Understanding TCP fairness over wireless LAN, in: Proc. IEEE INFOCOM, 2003, pp. 863 872. [16] F. Xiao, TCP fairness issues on wireless networks, Master Thesis, Department of Computer Science, University of Calgary, 2004. [17] R.A. Sahner, K.S. Trivedi, A. Puliafito, Performance and Reliability Analysis of Computer Systems: An Example Based Approach Using the SHARPE Software Package, Kluwer Academic Publishers, Massachusetts, USA, 1996. [18] R. German, C. Kelling, A. Zimmerman, G. Homel, TimeNET: a toolkit for evaluating non-markovian stochastic Petri nets, Performance Evaluation 24 (1995) 69 87. [19] R. German, Markov regenerative stochastic Petri nets with general execution policies: supplementary variable analysis and a prototype tool, Performance Evaluation 39 (2005) 165 188.