An Efficient Packet Sensing MAC Protocol for ... - Semantic Scholar

2 downloads 0 Views 217KB Size Report
University of California ... and datagram traffic in a wireless LAN is specified and analyzed. ... radio networks; CSMA protocols attempt to prevent a station from transmitting ..... where m is the number of stations in the network and m 1, the maximum ..... can be a long-term connection or a packet train) to transmit at any time.
An Efficient Packet Sensing MAC Protocol for Wireless Networks Andrew Muir and J.J. Garcia-Luna-Aceves Computer Engineering Department School of Engineering University of California Santa Cruz, CA 95064 fandrew — [email protected] phone: (408)399-8184 fax: (408) 399-4028 corresponding author: Andrew Muir Abstract The Group Allocation Multiple Access with Packet-Sensing (GAMA-PS) protocol for scheduling real-time and datagram traffic in a wireless LAN is specified and analyzed. By maintaining a dynamically-sized cycle that changes in length depending on the amount of network traffic, GAMA-PS is able to efficiently control channel access while ensuring that there are no collisions of data packets. Each cycle contains a contention period and a group-transmission period; a station with data to send competes for membership in the “transmission group” by using packet sensing to successfully complete an RTS/CTS message exchange during the contention period. Once a station is a member of the transmission group, it is able to transmit a collision-free data packet during each cycle; as long as a station has data to send, it maintains its position in the group.

Keywords: Media Access Control, Wireless, Dynamic Reservations, Packet Sensing, Asynchronous

1 Introduction Existing media access control (MAC) protocols can be divided into two groups: contention-based and contentionfree. A contention-based protocol requires a station to compete for control of the transmission channel each time it sends a packet. In the past, CSMA (carrier sense multiple access) protocols [19] have been used in several packetradio networks; CSMA protocols attempt to prevent a station from transmitting simultaneously with other stations (within its transmission range) by asking the station to listen before it transmits. An attractive feature of CSMA protocols is that they are simple to implement; however, because a station must contend before it transmits each packet, CSMA and ALOHA [2] are unstable under heavy loads. Furthermore, in the presence of hidden terminals, CSMA’s performance degrades to the performance of ALOHA. Because of the instability under heavy loads of basic contention-based protocols, many contention-free protocols have been proposed; these include fixed assignment (in time or frequency), polling, token passing or dynamic reservations. Fixed assignment protocols are typically based on TDMA (e.g. [11]). In a TDMA network, time is divided into frames that provide each node with a transmission slot over which it can transmit data without collisions. A limitation of TDMA is that the channel is wasted when traffic is bursty. Secondary limitations are the complexity of managing slot assignments in a network with a dynamic population, and the added complexity of establishing time slotting. Polling schemes reduce the time wasted in TDMA on silent stations, but still incur unnecessary delays in polling all stations, not just those that are ready to transmit. Token passing has a similar problem, in that the token must be passed to all stations in the virtual ring even when some of the stations do not have data to transmit. Many protocols based on dynamic reservations have been proposed and implemented in the past that alleviate the problems identified with fixed assignment, polling and token passing. In this class of protocols stations compete to either reserve the right to transmit a single packet, or the right to become members of a transmission schedule. Recent examples of the first class of protocols include [1, 3, 4, 7, 9, 15]. The basic idea is for a sender to transmit a request-to-send (RTS) that the receiver or base station acknowledges with a clear-to-send (CTS); if the RTS/CTS 1

exchange is successful, the sender is allowed to transmit one or more packets (depending upon the protocol); the protocols also differ in the methods used to resolve the collisions of RTSs. Prior protocols that use packet sensing (i.e. detecting an entire RTS correctly) have poor performance because the time periods of RTS contentions can be very long; examples of these protocols are MACA [15] and MACAW [4]. FAMA protocols that use carrier sensing (e.g. FAMA-NCS [8]) have good performance in networks with hidden terminals, but carrier sensing is not available in several commercial spread spectrum radios. Protocols that resolve RTS collisions based on auctions or tree-splitting algorithms (e.g. RAMA, TRAMA, CARMA) require either carrier sensing or time slotting to achieve good performance. Some protocols require the base station to detect multiple simultaneous transmissions (e.g. RAMA, PRMA) to provide feedback to the nodes; however, this is not a common feature in spread spectrum radios. Recent examples of dynamic reservation protocols that build a transmission schedule include DQRAP [24], CARMA-NTG [10] and GAMA[21]. The throughput of these protocols under high load approaches the channel capacity provided that either carrier sensing or time slotting is used. This paper describes and analyzes a new protocol which we call Group Allocation Multiple Access with Packet Sensing (GAMA-PS) which is designed for wireless LANs built using spread spectrum radios that cannot provide accurate carrier sensing or time slotting. GAMA-PS can operate in fully connected WLANs without base stations, and in WLANs with hidden terminals by means of base stations that are interconnected with one another. With packet sensing, stations are unable to detect carrier, and must operate on the basis of the complete packets they receive; asynchronous access to the channel means that no time slotting is needed for the protocol to operate. Section 2 describes how GAMA-PS provides dynamic reservations of the channel and shows that its implementation complexity is comparable with that of CSMA [19] protocols. GAMA-PS builds a dynamically-sized “cycle” that grows and shrinks depending upon traffic demand. Each cycle consists of a contention period of up to a maximum duration and a group-transmission period during which one or more stations transmit data packets without collisions. A station with data to transmit requests to join the “transmission group” by establishing a two-way handshake with an intended receiver using packet sensing. Once a station has been added to the transmission group, it is able to transmit a packet during each cycle. A position in the transmission group is assigned to an individual station, and the station can continue to transmit in this position while it has data to send. Although we describe GAMA-PS in detail for the case of a fully-connected network, section 2 also summarizes our approach to allow GAMA-PS to operate properly in a WLAN with base stations and hidden terminals. Section 3 shows that that there are no collisions of data packets in GAMA-PS, and that once a station has reserved a position in the group-transmission period, it is able to transmit without interference. An interesting feature of GAMA-PS is that it is the first MAC protocol whose collision intervals have a bounded length without requiring the use of time slotting or carrier sensing; this makes GAMA-PS much more efficient than prior MAC protocols using packet-sensing (e.g.,[2, 15, 4]). In fact, GAMA-PS is much more efficient than even CSMA. We believe that GAMA-PS combines the best features of contention-based and contention-free MAC protocols. On the one hand, like CSMA, GAMA-PS is very efficient under light load. On the other hand, GAMA-PS is stable under heavy loads unlike CSMA, because it permits stations in the transmission group to send packets independent of new requests for additions to the transmission group. GAMA-PS is similar to prior MAC protocols based on dynamic reservations; our contribution consists of showing how to implement dynamic reservations without the need for carrier sensing, time slotting or the ability of base stations to detect multiple simultaneous transmissions. This enables a very efficient WLAN using very inexpensive radios. Section 4 studies the throughput of GAMA-PS, and section 5 models the average delay experience by a data packet. The analysis in these two sections show that simple back-off strategies can make GAMA-PS stable for cases in which the number of stations is finite, and the maximum number of stations in the network equals the maximum number of members allowed in the transmission group, which we believe is the case for WLANs. Section 6 compares the results of our analytical models to simulated results, which show a strong correlation of results.

2

2 GAMA-PS Description Figures 1 and 2 specify GAMA-PS in detail. To simplify our exposition, we assume that processing delays and turn-around times are negligible, and that all stations can hear one another. In a real network, turn-around times can be substantial, but the operation of GAMA-PS remains the same after such delays are taken into account.

2.1

Basic Operation

GAMA-PS divides the transmission channel into a sequence of cycles; each cycle begins with a contention period and ends with a “group-transmission” period. The group-transmission period is divided into a set of zero or more individual transmission periods. An individual transmission period is similar to a slot in a synchronous network; however, GAMA-PS does not require clock synchronization. GAMA-PS uses a form of dynamic reservations to improve efficiency and to ensure that there are no collisions involving data packets; to make a “reservation”, a station must transmit an RTS (Request To Send) using a “packet sensing” strategy (i.e., a station backs off only if it understands an entire packet, not after detecting carrier). If the RTS is received, the destination node responds with a CTS (Clear To Send); this RTS/CTS exchange occurs during a contention period. Once a station has successfully completed an RTS/CTS exchange, it is allocated its own transmission period; the station maintains ownership of this transmission period while it has data to transmit. A station relinquishes its transmission period by announcing when it is leaving the group (in its last data packet for example). Note that although the RTS/CTS exchange is carried out with a specific intended receiver, a station that is a member of the transmission group can keep its position in the group as long as it has data to send to any other station, not just the original destination. GAMA-PS maintains a “transmission group”; this group consists of every station that has been allocated a transmission period, i.e., the members of the transmission group are those stations allowed to transmit data. GAMA-PS does not use a central point of control; instead, each station in the transmission group is required to listen to the channel. By listening to the channel, a group member is aware of every successful RTS/CTS exchange, and any idle transmission periods. Consequently, a station knows how many stations are in the group, and what its own position within the group is. As the number of members in the transmission group varies, so does the size of the group-transmission period. In a nutshell, GAMA-PS builds the equivalent of a “dynamic token schedule” whose length varies according to the number of stations that need to transmit data. The rest of this section describes how such a schedule is built.

2.2

Achieving Efficient Transmissions with Packet Sensing

Members of the transmission group take turns transmitting data; a station waits until it has received the data packet from the prior transmission period before it begins transmitting; if the maximum propagation delay is  , the maximum interval between successive transmission periods is 2 . Because GAMA-PS uses packet sensing, a packet is not recognized until it is received in its entirety. For this reason, each station is required to transmit a small packet (of length ) called the Begin Transmission Period (BTP) before transmitting data. The BTP contains, the state of the transmission group; as a minimum, it specifies the transmitting stations position within the group, and the number of group members. The BTP gives a listening station the ability to recognize that a relatively large data packet is being transmitted without having to wait for the entire data packet. This is particularly important to enable a more efficient joining mechanism. When a station enters the network, the maximum length of time, L, that it must wait before it receives a BTP or data packet equals  + 2 +  (where  >>  is the length of a data packet); a station must wait this length of time if it starts listening to the channel immediately after the beginning of a data packet’s transmission. Fig. 3 shows a sample transmission group.

3

2.3

Using the Transmission Group

Rather than requiring each transmission period to be a fixed length, GAMA-PS allows a station to transmit up to a fixed amount of data; this increases its efficiency, because channel bandwidth is not wasted on partially idle fixed length transmission periods. Because each member station is required to listen to the channel for the duration of its membership, they are aware of the start and end of each transmission period, and thus, are in fact synchronized by the reception of each entire packet within  seconds or less of one another. If a station is not ready to send a data packet during its transmission period, we assume that the station sends a small control packet equivalent to the BTP. This refreshes the state of the network and allows a very short turn for the station.

2.4

Competing to Enter the Transmission Group

When a station receives a message to transmit, it listens to the channel for L seconds; if no packet is read within this interval, the station transmits an RTS of length , where > 2 . For a group member, the maximum interval between the reception of a data packet and the recognition of the following BTP is 2 +  seconds; if a BTP is not received within this interval, the station assigned to the transmission period must have failed. Therefore, the channel will be idle for L seconds only if the transmission group is empty of if there is an idle transmission period. To ensure that an RTS/CTS exchange is not successful during an idle transmission period resulting from malfunctions, each station in the group transmits a jamming packet of length 2 +  + ; this packet collides with any RTS sent by mistake during the idle period. Fig. 7 shows an example of an RTS colliding with the jamming packets transmitted by the transmission group. A very attractive feature of GAMA-PS is that its collision intervals (times during which RTSs collide) are bounded. To accomplish this without using carrier sensing (which limits collision intervals because interfering transmissions must start within  seconds of the first transmission), GAMA-PS uses another control packet called the Transmit Requests (TR) packet; the TR is sent by the last member of the transmission group after it has transmitted its data. Each station in the group keeps track of whether or not it was the last station to send data, and if the final transmission period is idle due to the station failing, the station that was the last to transmit data sends the TR . The TR is used to tell any station waiting to send an RTS to transmit immediately; consequently, only the messages that have arrived during the final transmission period will generate an RTS. The TR can in fact be multiple small packets to account for the possibility of channel errors. The TR shortens the maximum length of the contention period by forcing any station that might contend for group membership to do so at the start of the contention period. After a station has transmitted an RTS, it waits for up to 2 + seconds, if a CTS is not read within this time, the station backs-off; otherwise, if the CTS is read, the station is admitted into the transmission group, and a new transmission period is added to the end of the cycle. The interval a station waits for the CTS (2 + seconds) is equal to the maximum round-trip propagation delay plus the time required to receive a CTS. Fig. 4 shows an example of a successful RTS/CTS exchange, and Fig. 5 shows an example of two RTSs colliding. Because a station using packet sensing does not distinguish between an idle channel and a channel with errors or noise, an idle contention period is indistinguishable from a contention period with RTS collisions, even without any fading; therefore, if the first station in the transmission group has not received an RTS within 2 + seconds of the reception of the TR, it begins transmitting its BTP and data packets (fig. 6). If an RTS is received, the first station backs of until after it has received the CTS, or until 2 + seconds have elapsed, in which case the CTS has not been sent.

2.5

Hidden Terminals

The impact of hidden terminals in GAMA-PS is that stations may not receive the same update on the state of the channel (i.e., the memberships of the transmission group), because stations may not hear either the RTSs or the CTSs from hidden senders. Also, there is no guarantee that a station will be able to hear all of the transmission periods; in this case, the stations would no longer be synchronized, and collisions of data packets could occur. In 4

order to maintain its synchronization in a wireless LAN with hidden terminals, GAMA-PS can be modified to use base stations. In this modified version a base station is responsible for synchronizing all of its group members. The destination node no longer sends a CTS in response to an RTS; instead, the base station sends the CTS. This CTS informs each station in the group that a new member has been added; it also acknowledges to the source that the RTS was successful. To maintain the group-transmission period, the base station sends out the BTP packet before each transmission period, and the TR at the end of the group transmission period. The net effect of this is that GAMA-PS with base station support becomes a form of dynamic polling; the polling schedule is modified by the requests received in the contention period and the departures from the transmission group. Note that this scheme is more efficient than polling with “static” schedules because only stations with packets to send are polled, and because contention intervals are very small compared to the duration of the group transmission period.

3

GAMA-PS Correctness

GAMA-PS guarantees that, in the absense of channel errors, any data packet transmitted by a group member arrives at its destination without error, and within a finite interval. The following assumptions are used to prove this: 1. There are no errors introduced by the channel.

2. The maximum end-to-end propagation delay is  , where 0  

n) to a state L (where L  n). This can be represented by the following equation.

n Pa(n)(1 , )n

mX ,n

=

mX ,n

n+i

i=1 mX ,n

n Pa(n)(1 , )n =

i=1

, Pa n

i=1 mX ,n

+

n Pa(n)(1 , )n =

(1

i=1

i

Pa(n+i)n+i

n+i X j (1 , )n+i,j j =i

n+i

n+i X j (1 , )n+i,j j =i nX +i j n+i,j

n+i

( + ))

j =i+1

,

mX ,n i=1

hP n+i j (1 , )n+i,j j =i

 (1 , )

(5)

Pa(n+i)n+i i(1 , )n

(6)

, Pa n i i (1 , )n

i

( + )

(7)

Dividing both sides of Eq. 7 by (1 , )n Pa(n) leads to

n = P

1

mX ,n

a(n) i=1

n+i

hP i n+i j (1 , )i,j , P a(n+i) i j =i

(8)

Successively substituting the values of n+i in Eq. 8 results in the following equation for n which is dependent only upon the value of m :

n = m F (n)

(9)

Where F (n) is a recursive function which can be defined as follows:

F (n) =

mX ,n i=1

F (n + i)

h

Pn+i j i,j , P i i  (1 ,  )  a ( n + i ) Pa(n) j =i 1

(10)

The sum of all of the values of n where 0  n  m is equal to 1. Therefore m can be expressed as,

m = Pm,1 1 i=0 F (i) + 1

(11)

The average number of group members  is

=

m X j =1

11

jj

(12)

If the transmission group is not empty, and the contention period is idle, the first station in the transmission group begins transmitting  + seconds after the TR is read; this is the length of time in which a successful RTS 1 + L, where will be recognized. On the other hand, if the transmission group is empty, the idle period lasts for m 1 m represents the average time between message arrivals, and L is the length of time a station waits before it transmits an RTS. Therefore, the average length I of the idle period is

I = 0



1

m

+

L



 )

+( +

m X j =1

j Pi(j )

(13)

Because GAMA-PS uses packet sensing, the length of a busy contention period with errors is the same as the length of an idle contention period. The length of a successful RTS/CTS exchange is 2 + 2 ; therefore, the average length Bc of a busy period can be expressed as

B c = (2 + 2 )

m X j =0

j Pa(n) + ( + )

m X j =0

j Pe(n)

(14)

The average length of the group transmission period B d is equal to the average number of group members () multiplied by the length of a transmission period plus the length of a TR, which is only sent if the transmission group is not empty, i.e.,

B d = ( +  +  ) + (1 , 0 )

(15)

Because data packets are sent free of collisions, the average time spent transmitting data in a cycle (U ) is equal to the average number of group members multiplied by the the packet length, i.e., U =  The throughput S is equal to the average time spent transmitting data in a cycle (U ) divided by the duration of an average cycle, i.e.,

S = I + BU + B c

5

d

(16)

Average Delay Analysis

Because the maximum size of the transmission group equals the number of stations in the network, GAMA-PS can ensure a maximum channel access time by limiting the duration of each transmission period. However, data packets in the queue of a station will experience increasing delays as the queue becomes larger. In this section, an analytical model of the average delay is developed; the delay of a message is defined as the elapsed time from the instant the message is ready to be transmitted to the time the entire message is received at the destination. The average delay is modeled by the process shown in Fig. 9, which displays the steps a station must follow in order to send a message. When a station receives a message to transmit, it is in the arrive state; a station waits in this state for up to k =  +  +  seconds. If an BTP or data packet is received before either the waiting period is over, or a TR is received, the station enters the backoff state; otherwise, the station transitions to the attempt state and transmits an RTS. If the RTS/CTS exchange is successful, the transmit state is entered, else the station backs-off. The states described above, the amount of time spent in each state, and the transition probabilities define the process which is used to obtain an expression for the average delay. From the arrive state, a station enters the attempt state with probability Ps

Ps =

A (1 , m ) I + Bc + Bd

(17)

The value A represents the interval during each cycle in which an arriving message will generate an RTS. 1 if the transmission group is Therefore, Ps is the probability that a message produces an RTS. A is equal to m empty; otherwise, it is equal to k. Therefore, A can be expressed as 12

Arrive

(1-Ps,k/2+b)

(Ps,k/2)

(Pf, b+ 2τ+γ)

(1-Ps,b)

Attempt

Backoff (Ps,k/2)

(1-Pf,Bc+Bd)

(µ,0) (1−µ, V)

Transmit

Complete

Figure 9: Process defining GAMA-PS delay characteristics.

A = 0



1

m



+ (1

,  )k

(18)

0

On average, a station must wait k2 seconds before it either backs-off, or transmits an RTS. Each time the backoff state is entered, a station must wait a random length of time which is on average equal to b. After completing the back-off period, a station will transmit an RTS with probability Ps . The probability Pf (n) that the RTS collides with another RTS when there are n group members is equal to 1 , e,(m,n)( + ) . The station enters the transmit state if the RTS/CTS exchange is successful. A station must wait until the end of the cycle before it can transmit its data; the length of this wait is equal to Bc + Bd . If the RTS/CTS exchange is unsuccessful, the station backs-off after waiting 2 + seconds. While in the transmit state, a station is able to send one data packet during each cycle. The probability that a message is completed during the current cycle is equal to . For each cycle the station remains in the transmit state, the additional delay is equal to V, where V is equal to the length of a cycle.

V

Bc + Bd An expression for the average delay D given that there are n group members can be obtained from fig. 9 =







(19)



Djn) = (1 , Ps ) k2 + b + E (Bjn) + Ps k2 + E (Ajn) (20) Where E (Ajn) and E (B jn) are the expected delay of a station in the attempt and backup states given that there are n group members. The value of E (B jn) can be expressed as (

E (B jn) = (1 , Ps )(b + E (B jn)) + Ps



and E (Ajn) is equal to the following

k

2

+

E (Ajn)



E (Ajn) = Pf (n)(b + 2 + + E (Bjn)) + (1 , Pf (n))(Bc + Bd + E (T )) Where E(T) is the expected delay of a station in the transmit state.

13

(21)

(22)

E (T ) = (1 , )(V + E (T ))

(23)

E (T ) = (1 ,)V

(24)

E (T ) = V

(25)

which simplifies to

Where  = (1,) Solving Eq. 21 for E (Ajn) leads to:

E (Ajn) = E (B jn) , 1 ,P Ps b , k2 s

(26)

Substituting Eq. 26 into Eq. 22 leads to

E (Bjn) , 1 ,P Ps b , k2 = Pf (n)(E (B jn) + b + 2 + ) + (1 , Pf (n))(E (T ) + Bc + Bd ) s

E (B jn) = 1 ,PfP(n()n) (b + 2 + 2 ) + V + Bc + Bd + P (11,,PPs(n)) b + 2(1 , kP (n)) f s f f Substituting Eq. 28 into Eq. 26 results in the following equation for E (Ajn) E (Ajn) = 1 ,PfP(n()n) (b + 2 + 2 ) + V + Bc + Bd + P (11,,PPs(n)) b + 2(1 , kP (n)) , 1 ,P Ps b , k2 f s f f s E (Ajn) = 1 ,PfP(n()n) (b + 2 + 2 + 1 ,P Ps b + k2 ) + V + Bc + Bd f

s

(27) (28)

(29)

(30)

Replacing the values of E (Ajn) and E (B jn) in Eq. 20 with Eqs. 30 and 28 lead to

Djn) = 1 ,PfP(n()n) (b + 2 + 2 ) + V + Bd + P (11,,PPs(n)) b + 2(1 , kP (n)) + (1 , Ps ) k2 (31) f s f f The unconditional average delay can be calculated by averaging the values of (Djn) where n ranges from 0 to (

m.

D=

m X

j 1 ,PfP(j()j ) (b + 2 + 2 ) + V + Bd + P (11 ,, PPs(j )) b + 2(1 ,kP (j )) + (1 , Ps ) k2 f s f f j =0

(32)

6 Performance Results 6.1

Analytical Results

We show the throughput and average delay of GAMA-PS for a variety of network configurations. The distance between any two nodes is 1km, and the capacity of the channel is 1 Mb/s. The arrival rate corresponds to the number of messages to be transmitted that arrive at each station within a  second period.

14

Fig. 10 plots the throughput and delay of GAMA-PS as a function of arrival rate; the size of a data packet is 200 bytes, and the average number of packets per message is 100. Each curve represents a different value for the maximum size of the transmission group. When the size of the transmission group is large, the overhead of the contention period is shared among many transmission periods; therefore, the maximum throughput increases as the group size grows. However, because the length of each cycle also increases, the average delay grows with the transmission group size. Throughput as a function of Arrival Rate

Average Delay as a function of Arrival Rate

1

100 5 members 10 members 20 members 50 members 100 members

0.9 0.8

80

5 members 10 members 20 members 50 members 100 members

0.7 60 Throughput

Throughput

0.6 0.5 0.4

40

0.3 0.2

20

0.1 0 0.001

0.01

0.1

1

10

0 0.001

100

0.01

0.1

Arrival Rate

1

10

100

Arrival Rate

Figure 10: A comparison of the throughput and average delay of GAMA-PS for a variety of transmission group sizes. In Fig. 11, we compare the throughput and delay of GAMA-PS for a variety of message sizes. The maximum transmission group size is 50, the packet size is 200 bytes, and the average number of packets per message ranges from 20 to 1000. The graphs show that the throughput increases and the delay decreases as the average message size increases. When the number of packets per message is high, the average group size is increased because each successful RTS reserves a position in the group for more cycles; as in fig. 10 the throughput increases as the group size increases. Throughput as a function of Arrival Rate

Average Delay as a function of Arrival Rate

1

50 20 packets 50 packets 100 packets 500 packets 1000 packets

0.9

40

0.7

35

0.6

30 Throughput

Throughput

0.8

45

0.5

25

0.4

20

0.3

15

0.2

10

0.1

5

0 0.001

0.01

0.1

1

10

20 packets 50 packets 100 packets 500 packets 1000 packets

0 0.001

100

Arrival Rate

0.01

0.1

1

10

100

Arrival Rate

Figure 11: A comparison of the throughput and average delay of GAMA-PS for a variety of average message sizes. Fig. 12 shows the affect of changing the length of the propagation delay on the throughput and average delay. The diameter of the network ranges from 0.1 km to 10.0 km. The maximum group size is 50, the average number of packets per message is 100 and the size of a packet is 200 bytes. 15

Throughput as a function of Arrival Rate

Average Delay as a function of Arrival Rate

1

50

0.9

0.1 km 0.5 km 1.0 km 5.0 km

40

0.7

35

0.6

30 Throughput

Throughput

0.8

0.5

25

0.4

20

0.3

15

0.2

10

0.1

5

0 0.001

0.01

0.1

1

10

0.1 km 0.5 km 1.0 km 5.0 km

45

0 0.001

100

0.01

0.1

Arrival Rate

1

10

100

Arrival Rate

Figure 12: A comparison of the throughput and average delay of GAMA-PS for a variety of propagation delays. Fig. 13 compares the analytical models to results obtained from a simulation of GAMA-PS; the packet size is 200 bytes and the average message size is 100 packets. Throughput as a function of Arrival Rate

Average Delay as a function of Arrival Rate

1

50 GAMA-PS Analysis GAMA-PS Simulation

45

0.8

40

0.7

35

0.6

30

Average Delay

Throughput

0.9

0.5 0.4

25 20

0.3

15

0.2

10

0.1

5

0 0.001

0.01

0.1

1

10

GAMA-PS Analysis GAMA-PS Simulation

0 0.001

100

Arrival Rate

0.01

0.1

1

10

100

Arrival Rate

Figure 13: A comparison of the throughput and average delay of the GAMA-PS.

6.2

Simulation Results

In this section we compare the throughput and delay produced by simulations of GAMA-PS and CSMA. All simulations use a fully-connected network with 50 nodes, and a network diameter of one kilometer; the duration of a single packet transmission is the unit of time. All of the GAMA-PS simulations use a maximum group size of 50. We use a fully-connected network because CSMA’s performance degrades under hidden terminals. The choice of the network diameter was arbitrary and is larger than a typical WLAN’s diameter to show that GAMA-PS can be applied to wireless networks that are more geographically dispersed. The performance of GAMA-PS would degrade only slightly with the need to introduce TR and BTP packets from the base stations. Fig. 14 shows the throughput and delay of GAMA-PS and CSMA for a network in which the average packet size is 1000 bytes. GAMA-PS divides each 1000 byte message into 20 packets of 50 bytes. The maximum throughput of both protocols is virtually the same; however, as in the previous section GAMA-PS reaches its

16

maximum throughput at low network loads, and continues at that level as the network load increases. The average packet delay produced by both the GAMA-PS and the CSMA simulations are almost identical. Throughput as a function of Arrival Rate

Delay as a function of Arrival Rate

0.9

0.8

1000 GAMA-PS CSMA

GAMA-PS CSMA

800

0.7

0.6

Delay

Throughput

600 0.5

0.4 400 0.3

0.2

200

0.1

0 0.001

0.01

0.1

1 Arrival Rate

10

100

0 0.001

1000

0.01

0.1

1 Arrival Rate

10

100

1000

Figure 14: A comparison of the simulated throughput and average delay of GAMA-PS and CSMA when the average packet size is 1000 bytes. Fig. 15 compares the performance of GAMA-PS and CSMA in a network in which packet trains (20 packets of 500 bytes) are the norm. As in the previous graph, GAMA-PS reaches its maximum throughput at very low network loads, and remains stable. Throughput as a function of Arrival Rate

Delay as a function of Arrival Rate

1 0.9

1000 GAMA-PS CSMA

GAMA-PS CSMA

0.8

800

0.7 600 Delay

Throughput

0.6 0.5 0.4

400

0.3 0.2

200

0.1 0 0.001

0.01

0.1

1 Arrival Rate

10

100

0 0.001

1000

0.01

0.1

1 Arrival Rate

10

100

1000

Figure 15: A comparison of the simulated throughput and average delay of GAMA-PS and CSMA when the average size of a packet train is 10,000 bytes. Figures 16 and 17 compare the throughput and delay of both protocols when the traffic being sent is similar to real-time voice data, i.e., small packets sent at regular intervals for extended time periods. In Fig. 16, the messages are composed of 1500 packets of 64 bytes, and in Fig. 17, a message (connection) contains 7500 packets of 64 bytes. It is clear that GAMA-PS is much better suited to handle this type of traffic; not only does GAMA-PS achieve a much higher maximum throughput, but it is able to sustain that level for a large range of network loads. Also, the delay shown by GAMA-PS is much lower than the delay of CSMA. The above results demonstrate that GAMA-PS provides all the benefits obtained with prior dynamic reservation schemes, without the need for carrier sensing, time slotting or sophisticated base stations. Like other dynamic reservation protocols GAMA-PS is able 17

to support real-time and bursty traffic efficiently. Throughput as a function of Arrival Rate

Delay as a function of Arrival Rate

1 0.9

1000 GAMA-PS CSMA

GAMA-PS CSMA

0.8

800

0.7 600 Delay

Throughput

0.6 0.5 0.4

400

0.3 0.2

200

0.1 0 0.001

0.01

0.1

1 Arrival Rate

10

100

0 0.001

1000

0.01

0.1

1 Arrival Rate

10

100

1000

Figure 16: A comparison of the simulated throughput and average delay of GAMA-PS and CSMA when the average message consists of 1500, 64-byte packets transmitted at a fixed interval. Throughput as a function of Arrival Rate

Delay as a function of Arrival Rate

1

500

0.9

0.7

350

0.6

300

0.5

250

0.4

200

0.3

150

0.2

100

0.1

50

0 0.001

0.01

GAMA-PS CSMA

400

Delay

Throughput

0.8

450 GAMA-PS CSMA

0.1

1 Arrival Rate

10

100

0 0.001

1000

0.01

0.1

1 Arrival Rate

10

100

1000

Figure 17: A comparison of the simulated throughput and average delay of GAMA-PS and CSMA when the average message consists of 7500, 64-byte packets transmitted at a fixed interval.

7

Conclusion

We have presented a new channel access protocol for asynchronous, packet-sensing, wireless networks called the Group Allocation Multiple Access with Packet Sensing (GAMA-PS) protocol. GAMA-PS dynamically organizes the channel into cycles, and allows a station to contend for membership in the “transmission group”. Once a station is successfully added to this group, it is able to transmit a data packet during each cycle, until it has no more data to send. When a network is lightly loaded, GAMA-PS behaves much like CSMA. As the load in the channel grows, the cycle size increases up to a maximum, after which GAMA-PS becomes in effect TDMA, giving each station that is part of the transmission group a turn in every cycle. Our analytical results constitute a first-cut approximation; however, they provide good insight on the impact of various parameters of the protocol. Simulation results were used to validate the simplifying assumptions used 18

in our derivation of the average throughput and delay. Also, through simulation, we were able to show that the performance of GAMA-PS is significantly better than the performance of CSMA. To our knowledge, GAMA-PS is the first MAC protocol that offers all of the benefits of prior dynamic reservation schemes, without the need for carrier sensing, time slotting or base stations capable of detecting multiple simultaneous transmissions. This makes GAMA-PS very attractive for the implementation of inexpensive WLANs using COTS spread spectrum radios.

References [1] P802.11–Unapproved Draft: Wireless LAN Medium Access Control (MAC) and Physical Specifications, IEEE, November 1994. [2] N. Abramson ”The ALOHA System - Another Alternative for Computer Communications” Proc. Fall Joint Computer Conference. [3] N. Amitay and S. Nada ”Resource Auction Multiple Access (RAMA) for Statistical Multiplexing of Speech in Wireless PCS” Proc. ICC ’93, May 1993 [4] V. Bharghavan, A. Demers, S. Shenker and L. Zhang ”MACAW: A Media Access Protocol for Wireless LANs ” Proc. ACM SIGCOMM 1994. [5] R. Binder ”A Dynamic Packet Switching System for Satellite Broadcast Channels” Proc. ICC, 1975. [6] I. Chlamtac, W. R. Franta and K. D. Levin ”BRAM: The Broadcast Recognizing Access Method” IEEE Transactions on Communications, August 1978. [7] C. L. Fullmer and J.J. Garcia-Luna-Aceves ”Floor Acquisition Multiple Access (FAMA) for Packet-Radio Networks” Proc. ACM SIGCOMM 95. [8] C. L. Fullmer and J.J. Garcia-Luna-Aceves ”Solutions to Hidden Terminal Problems in Wireless Networks” Proc. ACM SIGCOMM 97. [9] R. Garces and J.J. Garcia-Luna-Aceves ”Collision Avoidance and Resolution Multiple Access: First-Success Protocols” Proc. IEEE ICC 97. [10] R. Garces and J.J. Garcia-Luna-Aceves ”Collision Avoidance and Resolution Multiple Access with Transmission Groups” Proc. IEEE INFOCOM 97. [11] M. Gerla and J. Tzu-Chieh Tsai ”Multicluster, mobile, multimedia radio network” Wireless Networks vol. 1 1995 [12] D.J. Goodman, R.A. Valenzuela, K.T. Gayliard and B. Ramamurthy ”Packet Reservation Multiple Access for Local Wireless Communications” IEEE Transactions on Communications, August, 1989 [13] I. Jacobs, R. Binder and E. Hoversten ”General Purpose Packet Satellite Networks” Proc. IEEE 1978. [14] Dong Geun Jeong, Chong-Ho Choi, Wha Sook Jeon ”Design and Performance Evaluation of a New Medium Access Control Protocol for Local Wireless Data Communications” IEEE/ACM Transactions on Networking, December 1995 [15] P. Karn ”MACA - a new channel access method for packet radio” ARRL/CRRL Amateur Radio 9th Computer Networking Conference 1990 [16] M. Karol and Chin-Lin I ”A Protocol for Fast Resource Assignment in Wireless PCS” IEEE Transactions on Vehicular Technology, August 1994 19

[17] M. Karol, Z. Liu and K.Y. Eng ”An Efficient Demand-Assignment Multiple Access Protocol for Wireless Packet (ATM) Networks” Wireless Networks, October 1995 [18] L. Kleinrock ”Queuing Systems Volume 1: Theory” Wiley-Interscience 1975. [19] L. Kleinrock and F. Tobagi ”Packet Switching in Radio Channels: Part I-Carrier Sense Multiple-Access Modes and Their Throughput-Delay Characteristics” IEEE Transactions on Communications, December 1975. [20] L. Kleinrock and M. O. Scholl, “Packet Switching in Radio Channels: New Conflict-Free Multiple Access Schemes,” IEEE Trans. Commun., vol. COM-28, 1980. [21] A. Muir and J.J. Garcia-Luna-Aceves ”Supporting Real-Time Multimedia Traffic in a Wireless LAN” Proc. Proc. SPIE MMCN 1997 [22] R. Rom and M. Sidi, Multiple Access Protocols Performance and Analysis. Springer-Verlag, 1990. [23] F. Tobagi ”Modeling and Performance Analysis of Multihop Packet Radio Networks” Proceedings of the IEEE, January 1987. [24] Wenxin Xu and G. Campbell ”A Distributed Queuing Ransom Access Protocol for a Broadcast Channel” Proc. ACM SIGCOMM 93. [25] J. Wieselthier and A. Ephremides ”A New Class of Protocols for Multiple Access in Satellite Networks” IEEE Trans. Automat. Control, 1980.

20