Document not found! Please try again

Group Allocation Multiple Access in Single-Channel Wireless LANs

19 downloads 0 Views 176KB Size Report
University of California ... Once a station is a member of the transmission group, it is able .... The data interval of a frame is of size m, where m is the number ... contend for the floor each time they have to transmit a data packet or packet train.
Group Allocation Multiple Access in Single-Channel Wireless LANs Andrew Muir and J.J. Garcia-Luna-Aceves Baskin Center for Computer Science and Engineering University of California Santa Cruz, CA 95064 (408) 459-4458, (408)459-4153 fandrew | [email protected] Abstract The Group Allocation Multiple Access (GAMA) protocol for scheduling variable-length packet transmissions in a single-hop packet-radio network is specified and analyzed. By maintaining a dynamically-sized cycle that changes in length depending on the amount of network traffic, GAMA is able to provide the advantages of both TDMA and CSMA. Each cycle contains a contention period and a group-transmission period; a station with data to send competes for the right to be added to the transmission group by successfully completing 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. This can be viewed as either allowing stations to “share the floor” in an organized manner, or as establishing frames that are not synchronized on a slot-basis and vary their length dynamically based on demand. The throughput and average delay of GAMA are presented and analyzed; to validate our analysis, the results of both models are compared to the throughput and delay produced by a simulation of GAMA. Keywords: Media Access Control, Packet Radio, Local Area Network, Dynamic Reservations, CSMA, TDMA

1 Introduction As the speed and capacity of wireless networks increase, so does the demand for improved quality of service for real-time multimedia applications that require performance guarantees. In the past, CSMA (carrier sense multiple access) protocols [9] have been used in several packet-radio 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 each packet must contend for transmission, these and other similar contention-based MAC protocols cannot provide performance guarantees to real-time traffic. We note that even the floor acquisition multiple access (FAMA) protocols [6], which permit a station to take over the channel in order to transmit packets without collisions, cannot provide delay guarantees to real-time applications because stations may wait varying times to obtain control of the channel. To provide performance guarantees, some packet-radio networks have opted for collision-free schemes based on fixed assignments (using time or frequency division multiplexing), reservations, or polling. The limitations of fixed assignments are that the channel is wasted if stations do not use their allocated frames and establishing and modifying time or frequency assignments is complex. On the other hand, polling requires a central station to poll the packet radios, and is efficient only if the majority of the packet radios are busy transmitting. Several approaches have been proposed in the past to combine contention schemes with reservations, tokenpassing, or polling (e.g., [1] [5] [12]). However, relatively few proposals have been reported for fully distributed single-channel packet-radio networks that attempt to provide performance guarantees without polling or time slotting. We describe and analyze a new channel access protocol for single-hop packet-radio networks that we call the Group Allocation Multiple Access protocol (GAMA). GAMA provides dynamic reservations of the channel and its implementation complexity is comparable with that of CSMA protocols. GAMA builds a dynamically-sized “cycle” that grows and shrinks depending upon traffic demand. Each cycle consists of a contention period of up 1

to a maximum duration and a group-transmission period during which one or more stations transmit data packets without collisions. A position in the transmission group is allocated to an individual station, and a station can continue to transmit in this position as long as it has data to send. GAMA ensures that there are no collisions of data packets, and that once a station has reserved a position in the group-transmission period, it will be able to transmit We believe that GAMA combines the best features of CSMA and contention-free protocols like TDMA or dynamic reservations. On the one hand, like CSMA, GAMA is very efficient under light load. On the other hand, GAMA is much more stable under heavy loads than CSMA, because it permits stations in the transmission group to send packets independently of new requests for additions to the transmission group. GAMA ensures that, once a station has reserved a position in the group-transmission period, it will be able to transmit at or better than a guaranteed rate. The guaranteed rate is given by the maximum duration allowed in any given cycle, which is the sum of a maximum contention period and a maximum transmission period. A maximum contention period is directly proportional to the maximum propagation delay over the LAN, and is independent of the number of stations. Clearly, the length of a transmission period can be bounded in many ways. In this paper, we assume that packets are of constant length and that a maximum number of transmissions is allowed in each transmission group. Therefore, the time between two transmissions by the same station is bounded. Section 2 motivates the design philosophy for GAMA protocols. Section 3 describes GAMA in detail. Section 4 proves that, once a station is added to the transmission group, its packets experience no collisions, and that data packets transmitted by a group member are received in a finite amount of time. Section 5 analyzes the throughput of GAMA and Section 6 studies its average delay using an approximate model. Section 7 compares the results of our analytical models to simulated results. Finally, Section 8 offers some concluding remarks.

2 Background To better understand the motivation behind GAMA’s design, consider the operation of TDMA networks and networks using contention-based protocols. In a TDMA network, the time is divided into frames; a frame typically has a fixed duration and consists of a control interval and a data interval. Time is slotted, which means that stations in the network must synchronize and know when a slot of a frame starts. The control interval can be used in many ways, including the use of contention protocols to reserve data slots in the data interval. The data interval of a frame is of size m, where m is the number of stations in the network or the maximum number of data slots that can be supported in each frame. When the network load is high (most stations have data to transmit) the channel is used in a very efficient manner, with a throughput that approaches 1; this is possible because there are no collisions of data packets. However, unless the data interval of each frame can be quickly reallocated and stations with packets to send are allowed to use multiple slots per frame, the throughput is low if the network load is low, because much of the channel bandwidth is wasted by silent stations or empty data slots. The average delay experienced by a station that has a data slot assigned to it is constant, regardless of the channel load; this is good if the load is high, but if the load is low the delay may be higher than necessary, unless data slots can be quickly reallocated to the active stations. On the other hand, typical contention-based protocols have an effective frame size of 1 and no need for time synchronization. The frame can be successful or unsuccessful, because each packet transmitted requires the station to successfully contend for access to the channel. When network load is low, this scheme works very well because a packet can be transmitted almost as soon as it enters the system; therefore, the average delay is low. However, when the network load increases so does the chance of collision, whether it be collision of data packets as in CSMA or collision of control packets as in other schemes. At some load level, the network becomes unstable, the throughput approaches 0, and the average delay becomes unbounded. Recently, floor acquisition multiple access [6] (FAMA) protocols have been proposed to allow for the collisionfree transmission of packet trains. FAMA protocols require a successful two-way handshake between sender and receiver before the sender transmits any data. The handshake ensures that all stations agree to listen for the 2

sender’s data packets, i.e., it allows the sender to acquire control of the channel (called the floor). This is a form of dynamic channel reservations, but cannot provide delay guarantees to the senders of data packets, because they must contend for the floor each time they have to transmit a data packet or packet train.

3 Protocol Description Fig. 6 provides a formal specification of the GAMA protocol. Each cycle begins with a contention period; during this time, stations contend for the right to be added to the transmission group; following the contention period is the group-transmission period. An individual transmission period corresponds to a slot in a synchronized network; however, GAMA does not require that the network stations be synchronized by time. The number of transmission periods n in a cycle can range from 0 to r, where 1r is the minimum guaranteed rate of transmission periods per second. By limiting the value of r, a GAMA network is able to provide performance guarantees because it can ensure that successive packets from the same station will be transmitted within l + r( + 2 ) seconds of each other, where l is the maximum length of the contention period. When a station receives a message to transmit, it uses carrier sensing to decide if the channel is busy; if no signal is detected within 2 seconds, where  is the end-to-end propagation delay, the station transmits an RTS (Request To Send) packet. The first seconds of each cycle is called the access period; GAMA guarantees that any station which has a message arrive during this time will be able to transmit an RTS packet. If the RTS packet is transmitted without collision, the destination node will respond with a CTS (Clear To Send) packet (if the number of group members is less than the maximum). Upon receiving the CTS packet the station is added to the group i.e., it is able to send its data packets without contention in subsequent cycles. After a station has been added to the group, it maintains its position until it has no has data to transmit. Once a station does not send data in its transmission period, the other stations recognize the idle period, and remove the station from the group. A station which determines that the channel is busy within 2 seconds of the arrival of a message, or that does not receive a CTS packet in response to its RTS packet, will back-off, and attempt to retransmit an RTS packet at some random point in the future. When a message arrives at station B destined for station A, station B transmits an RTS packet (Fig. 1) after the channel has been idle for 2 seconds. If no other station sends an RTS packet within the same contention period, station B’s RTS packet is received by every station. Upon receiving the successful RTS packet station A will transmit a CTS packet; each station adds one to the number of transmission periods in the cycle when it receives this CTS packet. If messages arrive at stations A and B during the same access period, one of two scenarios will occur. If the messages arrive within  seconds of each other, both stations transmit RTS packets which arrive at the other station within  seconds. Since the RTS packets have a length which is greater than 2 , a collision occurs (Fig. 2), and both stations (A and B) back-off when a CTS packet is not received within 2 seconds. If a message arrives at station B more than  seconds after a message arrives at station A, station A’s RTS will be heard by station B before it begins the transmission of its own RTS packet, and station B will back-off. It is possible that a message which arrives after the end of an idle access period will generate an RTS packet that collides with the first transmission period. The worst-case for this collision is when the first transmission period and the RTS packet begin transmission at the same; in this case, the collision will begin  seconds after the start of transmission, and continue for 2 seconds (the length of the RTS packet). To ensure that no data packets are involved in this collision, the station which owns the first transmission period must send a jamming packet which is 4 seconds long before it transmits its data packet. The jamming packet is also used to signal the start of the group-transmission period, which allows any listening station to become synchronized with the group; the jamming packet contains information relevant to the group (e.g. the number of group members). During the group-transmission period, each station allocated to the transmitting group transmits its packet as soon as the packet from the prior transmission period is received. The maximum spacing between packets is equal to twice the propagation delay (2 seconds); if a packet from the preceding transmission period is not 3

received within this time, it is assumed that the station has either finished sending data, or that the station has failed. In either case the transmission period is taken, and the station that owns the next transmission period begins transmitting. To ensure that each idle transmission period is recognized, the header of each data packet contains its position within the group; by keeping track of the last data packet read, a station is able to determine how many consecutive idle periods have occurred. If the previous transmission period is idle, the space between successive packets could be greater than 2 ; therefore, it is possible for a station to sense the channel idle for 2 seconds, and begin transmitting an RTS packet. Consequently, a station which follows an idle transmission period must first transmit a jamming packet to ensure that its data packet does not collide with an RTS packet (Fig. 4). Fig. 5 shows an example of an RTS packet colliding with the jamming packet following an idle transmission period. It should be noted that it is possible to have a successful RTS/CTS exchange during the group transmission period, but this is only possible when there are at least two back to back idle transmission periods. Success A

Packet k

111 000 000 111

RTS 111 CTS 000

Packet n Message Arrives

B

Packet k

Packet n

β

C

Packet k



000 111 RTS 000 111 111 000

CTS

Packet 1

Jam

Packet 1



RTS

Packet n

Jam

Jamming Packet Packet 1

CTS 4τ

Figure 1: GAMA: A successful RTS/CTS exchange. Error A

Message Arrives Packet k

Packet n Message Arrives

B

Packet k

β

Packet n

β

C

Packet k





000 111 111 000 RTS 000 111 000 111

Jam

Packet 1

111 000 000 111 RTS 000 111 111 000

Jam

Packet 1

Jamming Packet

Error

Packet n

Packet 1 4τ

Figure 2: GAMA: Two RTS packets involved in a collision. Idle A

Jamming Packet Packet k

Packet n

Packet 2

Packet 1 β+4τ

B

Packet k

C

Packet k

Packet n

Packet n

Jam

Packet 1

Jam

Packet 1

Packet 2

Packet 2

Figure 3: GAMA: An idle contention period.

4 GAMA Correctness To operate “correctly” GAMA must ensure that once a station has been added to the transmission group, it can transmit data packets which arrive at their destination in a finite amount of time and without the possibility of 4

Idle Data A B

Packet k

Jam

Packet k

Packet k+2

Jam

Packet n

Packet k+2

Packet n

Jamming Packet

C

Packet k

Packet n

Packet k+2 2τ

Figure 4: GAMA: An idle transmission period. Error A B

Message Arrives Packet k

1111 0000 RTS 0000 1111 1111 0000

Packet k+2

Packet n

Packet k+2

Packet n



Error

Packet k

Jamming Packet

C

Packet k+2

Packet k 3τ

Packet n



Figure 5: GAMA: An RTS transmission during an idle transmission period. collision. In order to make this guarantee a station must be aware of: the start of each new cycle, the number of group members, and its own position within the group. The following assumptions are used to show the correctness of GAMA: 1. The maximum end-to-end propagation delay is  where 0  

1) Begin NumgroupMembers NumGroupMembers - IndexDelta + 1); If (i < TransmitDataIndex) TransmitDataIndex - IndexDelta + 1; TransmitDataIndex End End If (Packet = RTSPacket Packet.dest = LocalNode NumGroupMembers < MaxMembers) Begin TRANSMIT(CTSPacket); NumGroupMembers + 1; NumGroupMembers End If (Packet = CTSPacket) NumGroupMembers NumGroupMembers + 1; End Else PreviousPeriod IDLE; End End End

6

_

 CD ^ TimerExpired

^

^

^

Procedure ProcessContentionPeriod() Begin Timer ; While( If (LocalMessage) Timer 2 ; Else +4 ; Timer While( ) wait; If (TimerExpired) Begin If (LocalMessage) Transmit(RTSPacket); End Else Begin ReceiveRTS(); ReceiveCTS(); End

LocalMessage ^ TimerExpired ) wait;   TimerExpired ^ CD

Figure 6: GAMA Specification

6

^

1: If the first station in the transmission group senses any traffic on the channel before it begins sending a data packet, it will back-off until the channel is clear. However, if the contention period is idle, and a message arrives at a station within 2 seconds after the end of the access period, an RTS packet will be sent. The worst case is when the RTS packet is sent at the exact moment that the group transmission period begins; in this case the RTS packet will collide with the first transmission period after  seconds and the collision will have a duration of 2 seconds. However, because the first station in the group transmits a jamming packet of length 4 before it transmits a data packet, the data packet will be sent in the clear. 2: Each station knows the number of group members (by reading the jamming packet) before it enters the group. While in the group, a station listens to each contention period to determine whether or not a station has been added to the transmission group. Also, a station listens to every transmission period so that it is aware of idle periods, which signify that a station has left the group. Therefore, a station is always aware of the current number of group members, and its own position within the group. Because the time between transmission periods cannot be longer than 2 seconds, and because a station waits for at least 2 seconds before transmitting its data packet, consecutive transmission periods cannot overlap. 3: Because a station is forced to wait until the channel is idle for at least 2 seconds before it transmits an RTS packet, and because the spacing between successive transmission periods is at most 2 , it is impossible for an RTS packet to be transmitted between busy transmission periods. However, when a transmission period follows an idle transmission period, it is possible that an RTS packet will be transmitted. If the RTS packet reaches the station before it begins its data transmission, the station backoffs until after the RTS/CTS exchange has concluded. If the station does not sense the RTS packet, as in case 1, the station which owns the transmission period following the idle period, transmits a jamming packet of length 4 before it transmits a data packet, and the data packet cannot be involved in the collision. The preceding arguments show that once a station has been added to the group it can transmit its packets in a finite amount of time, and furthermore, no data packets transmitted by a group member can be involved in a collision. 2

5 Approximate Throughput Analysis In the following analysis we develop a non-persistent model of the throughput of GAMA. The model assumes that there are an infinite number of stations; the stations form a Poisson source which generates messages (both new and retransmitted) at a mean arrival rate of , and each station is assumed to have at most one message to transmit at any time. The time to transmit a single data packet is  , and the time to transmit a control packet is

; the number of packets in a message is a random variable, and the probability that a message will complete its transmission (in a given cycle) is given by  = N1 where N is the average number of packets in a message. The following assumptions have been made to further simplify the analysis. The transmission channel does not introduce errors, any errors observed in received packets are the result of collisions, and collisions are detected by all stations. We assume that there are no station failures, and that a transmission period is removed as soon as the station has no more data to transmit. Also, the propagation delay is  between all stations, and it is assumed that the members in the group are ordered by the number of packets (in the message) remaining to be transmitted. The state of the Markov chain in Fig. 7 represents the number of members in the group, where the value m is equal to the maximum number of group members. The probability that a station is added to the group (Pa (n)) where n is the current number of group members, is equal to the probability that an RTS packet is successfully transmitted within a contention period, which is the same as the probability that only one message arrives during the seconds of the access period. If there are m group members, no new members can be added because the transmission group is full. The value of Pa (n) can be expressed as

Pa(n) =

(

 e, 0 7

if n < m if n = m

(1)

0

1

2

m-1

m

Figure 7: Markov Chain defining the average number of members in the group. The probability Pi that a contention period is idle is equal to the probability that no packets arrive during the access period which can be expressed as

Pi = e,

(2)

Pe = 1 , e, , e,

(3)

The probability Pe that a contention period results in an error is the same as the probability that more than one message arrives during an access period. This value can be expressed as:

If a line is drawn between any two states of the Markov chain, then the flow in one direction across the line has to equal the flow in the other direction. For an arbitrary state n where 1  n  m the probability that the number of group members changes from n to n+1 is equal to the probability that the state of the Markov chain transitions from a state N (where N > n) to a state L (where L  n). This can be represented by the following equation.

Pn Pa(n)(1 , )n

mX ,n

=

Pn Pa(n)(1 , )n =

mX ,n

Pn+i

i=1 m, n,1 X i=1

, Pa n

i=1 mX ,n

+

Pn Pa(n) (1 , )n =

(1

i=1

(

Pa(n+i)Pn+i

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

Pn+i

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

Pn+i

+i) )

j =i+1

,

mX ,n i=1

 (1 , )

(4)

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

(5)

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

(6)

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

Pn = P 1

m, n, 1 X

a(n) i=1

Successively substituting the values of dependent only upon the value of Pm :

Pn+i

h P n+i j (1 , )i,j j =i

Pn+i

in Eq. 7 results in the following equation for

Pn = Pm F (n) 8

, Pa n i i

i

(7)

( + )

Pn

which is

(8 )

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 Pa(n) j =i  (1 , ) 1

, Pa n i i

i

(9)

( + )

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

Pm = Pm,11 i=0

The average number of group members  is

=

m X i=1

(10)

F (i)

iPi

(11)

If multiple RTS packets collide the value of Y represents the length of the overlap between colliding packets. This value as shown in [9] can be represented as:

Y

=

 , 1 , e

,

(12)

The probability Pr that an RTS packet (once sent) is successful is equal to the probability that no other messages arrive within  seconds of the start of transmission, i.e.,

Pr = e,

(13)

An idle period separates successive cycles; when the transmission group is empty, i.e., no stations have packets to send, the idle period lasts ( 1 + 2 ) on average. The first term ( 1 ) represents the time between message arrivals because arrivals are Poisson; the second term (2 )is the time a station must wait to sense for a clear channel. If the number of group members is greater than 0, then the length of the idle period depends upon the result of the contention period. If the contention period is idle, the length of the idle period is equal to + 3 ; the first seconds is the length of the access period, the following 2 seconds represent the time a station must wait to sense for a clear channel, and the final  seconds represent the propagation delay. If the contention period is not idle, the idle period has a length of 2 + 2 . For an RTS packet to be transmitted it must arrive within the first seconds of the contention period; on average a packet will arrive after 2 seconds, and wait for 2 seconds before the RTS packet is transmitted.

I = P0



1



+2





+ (1

h

, P0 ) Pi( + 3 ) + (1 , Pi )





2 +2



 i

(14)

A busy contention period can result in either a successful RTS/CTS exchange, or in a collision of RTS packets. A successful RTS/CTS exchange occurs with a probability equal to Pr , and has a length of (2 + 2 ). The length of an unsuccessful busy period is equal to ( + Y +  ). The length of the busy contention period B c can be expressed as follows:

B c = Pr (2 + 2 ) + (1 , Pr )( + Y +  ) (15) The average length of the group transmission period B d is equal to the average number of group members ()

multiplied by the time it takes to transmit a packet, i.e.,

Bd = ( +  ) (16) 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: 9

U = 

(17)

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

d

)

(18)

6 Average Delay Analysis

Arrive

(Ps, 2τ)

(1-Ps,V/2)

(Pf, b)

(1-Ps,b)

Attempt

Backoff (Ps, 2τ)

(1-Pf,Bc+Bd)

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

Transmit

Complete

Figure 8: Process defining GAMA delay characteristics. In this section the average delay of GAMA is analyzed; 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. 8. In order to determine the average delay, one must consider the steps a station takes to transmit a message. When a station receives a message, it is in the Arrive state. If the station senses the channel clear for 2 seconds after the arrival of a message, the station sends an RTS packet (Attempt) otherwise the station backs off. If the RTS/CTS exchange is successful the station enters the Transmit state, where it remains until the message is complete. If the RTS/CTS exchange is not successful the station enters the Backoff state. These five states (Arrive, Backoff, Attempt, Transmit and Complete) along with the associated delay values and the transition probabilities define the process used to obtain an expression for the average delay. In Fig. 8, each link represents a transition from one state to another; for every link there is a label which consists of the probability the link is used, and the length of time spent in each state. The transition between the Arrive state and the Attempt state is made with probability Ps , where Ps can be expressed as follows:

Ps =

A (1 , P m ) I + Bc + Bd 10

(19)

The value Ps is the probability that a message arrives at a time when an RTS packet can be successfully transmitted, and the group is not full. The value A is equal to 1 if there are no group members, and if there are group members; it can be expressed as follows:



A = P0

1





+ (1

, P0 )

(20)

Since the RTS packet is sent immediately, the delay incurred is 0. If the message does not arrive within an idle period, the station enters the Backoff state with a cost of V2 where V is the average length of a cycle given that there are group members. This value can be expressed as follows:

V

=

h

Bc + Bd + (1 , P0 ) Pi ( + 3 ) + (1 , Pi )





2 +

2

 i

(21)

The second term in the previous equation represents the length of an idle period given that there are group members. The Backoff state represents the random period of time a station waits before it re-transmits an RTS packet. Each time a station enters this state, the additional delay is on average equal to b; where b is some random length of time. After waiting in the Backoff state, a station will enter the Attempt state with probability Ps ; while in the Attempt state, a station sends an RTS packet which is unsuccessful with a probability equal to Pf , where Pf = 1 , e. If the RTS/CTS exchange is successful, the station transitions to the Transmit state. The delay accrued while in the Attempt state is equal to Bc + Bd . If the RTS packet fails, the Backoff state is entered; in this case, the additional delay is equal to b. While in the Transmit state, a station sends a packet each cycle; the probability that a station completes its message transmission (in a given cycle) is equal to . Each time a station returns to the Transmit state, the additional delay is equal to the time required to transmit a complete cycle. From Fig. 8 one can obtain an expression for the average delay D:

D = (1 , P s )



V

2 +

E (B)



Ps (2 + E (A))

+

(22)

Where E(A) is the additional delay accumulated each time the Attempt state is entered, and E(B) is the delay caused by each stay in the Backoff state. The value for E(A) can be expressed as follows:

E (A) = (1 , Pf )(Bc + Bd + E (T )) + Pf (b + E (B))

(23)

where E(T) is equal to the time spent in the Transmit state. The expression for E(B) is

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

(24)

E (A) = E (B ) , 1 ,P Ps b

(25)

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

(26)

E (T ) = (1 ,)V

(27)

E (T ) = V

(28)

solving for E(A) leads to:

s

and the equation for E(T) is as follows:

which simplifies to

11

Where  = (1,) Substituting Eq. 25 into Eq. 23 leads to:

E (B ) , 1 ,P Ps b = (1 , Pf )(Bc + Bd + E (T )) + Pf (b + E (B))

(29)

s

E (B ) = Bc + Bd + V + 1 ,PfP b + P 1(1,,PPs ) b f s f

(30)

Using Eq. 25 leads to the following expression for E(A):

Ps b E (A) = Bc + Bd + V + 1 ,PfP b + P 1(1,,PPs ) b , 1 , Ps f s f

(31)

Substituting the previous two equations into Eq. 22 leads to:

D = Bc + Bd + V + 1 ,PfP b + P 1(1,,PPs ) b + (1 , Ps)b + (1 , Ps) V2 f s f

+

Ps 2

(32)

7 Performance Results The graphs presented in this section plot the throughput (Eq. 18) and the delay (Eq. 32) of GAMA, for a variety of network configurations. The network speed is 256 kb/s and the diameter of the network is at most 1 km; a unit of time is equal to the time it takes to transmit a 200 byte packet. Unless otherwise specified, the maximum number of group members is 20, the size of the access period is equal to  , the size of a data packet is 200 bytes, and the average number of packets per message is 20. Fig. 9 plots the throughput and delay of GAMA; each curve represents a different value for the average number of packets in a message. The packet size is fixed at 200 bytes, but the average message length is varied by changing the average number of packets per message. When the average number of packets per message is high (500 packets) the throughput rises to its maximum value almost immediately because each successful RTS/CTS exchange is able to reserve a collision-free transmission period for 500 packets (on average). Even when the average number of packets is low, GAMA is able to produce a high throughput level over a broad range of network loads. As the number of packets per message increases so does the number of cycles each station spends in the group, which increases the average group size. Because the group size is larger, the delay between successive transmissions from a single station is longer; thus, the average message delay is increased. Each plot in Fig. 10 represents a different way to divide a message which is 4000 bytes long (on average). If the packet size is large, the duration of the idle time between transmission periods is small in comparison to the length of the data packet, and has little impact on the maximum throughput. However, when the packet size is small, the idle time is much larger relative to the size of the data packet, and plays a large part in the lower maximum throughput displayed by the plots representing smaller sized packets. As the packet size increases, so does the total length of the cycle. Therefore, the time between contention periods is longer, and there are less opportunities for a station to be added to the group; when the network load is low, the throughput is decreased because there are fewer group members. In the average delay graph shown in Fig. 10, the curves representing packet sizes of 50 and 100 bytes have an unusual shape; both curves begin to increase exponentially, then stabilize for a short period of time before continuing with their exponential growth. During the first period of exponential growth, the size of the transmission group is growing exponentially which leads to an exponential growth in the average delay. Once the number of group members has reached its maximum, the delay caused by a station waiting for its next transmission period does not increase; this leads to a period of stability. Finally, when the message arrival rate increases to a point where RTS packets cannot be successfully transmitted, GAMA becomes unstable and the average delay grows without bounds.

12

Throughput as a function of Arrival Rate

Average Delay as a function of Arrival Rate

1

100 10 packets 20 packets 50 packets 100 packets 500 packets

0.9 0.8

80

10 packets 20 packets 50 packets 100 packets 200 packets

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

Arrival Rate

0.1

1

Arrival Rate

Figure 9: A comparison of the the throughput and average delay of GAMA, as the average message length varies. The packet size is 200 bytes, and the number of packets per messages ranges from 10 to 500. Throughput as a function of Arrival Rate

Average Delay as a function of Arrival Rate

1

100 50 bytes 100 bytes 200 bytes 500 bytes 1000 bytes

0.9 0.8

80

50 bytes 100 bytes 200 bytes 500 bytes 1000 bytes

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

Arrival Rate

0.01

0.1 Arrival Rate

1

10

Figure 10: A comparison of the throughput and average delay of GAMA.each plot represents a different way to divide a 4000 byte message, e.g. a message can be divided into 20 200 byte packets. In Fig. 11 we show the effect changing the maximum size of the transmission group has on the throughput and delay. When the number of group members is large, the overhead of the contention period is shared among a greater number of transmission periods; therefore, a larger fraction of time is spent transmitting data, and the throughput is increased. However, because the number of group members is larger; the size of the cycle increases, which leads to an extremely high delay. Fig. 12 shows how changing the size of the access period effects the throughput and delay of GAMA. The unit size of the access period is equal to the time required to transmit a 200 byte packet; each curve represents a different length for the access period. If an access period has an optimum length, exactly one message will arrive during each period; this ensures that each contention period will result in a successful RTS/CTS exchange. Therefore, a large access period is better suited for a lightly loaded network, and a small access period is ideal for a busy network. In Fig. 12 GAMA networks with large access periods have a higher throughput when the network is lightly loaded, but their throughput is lower during times of heavy traffic. Fig. 13 compares the throughput and delay produced by our analytical models to the observed throughput and delay of a GAMA simulation. This comparison is made in order to ensure that the assumptions we made in

13

Throughput as a function of Arrival Rate

Average Delay as a function of Arrival Rate

1

100 5 members 20 members 50 members 100 members 200 members

0.9 0.8

80

5 members 20 members 50 members 100 members 200 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

Arrival Rate

0.1 Arrival Rate

1

10

Figure 11: A comparison of the throughput and average delay of GAMA for a variety of transmission group sizes. Throughput as a function of Arrival Rate

Average Delay as a function of Arrival Rate

1

100 Packet Size / 10 Packet Size / 2 Packet Size Packet Size * 5 Packet Size * 10

0.9 0.8

80

Packet Size / 10 Packet Size / 2 Packet Size Packet Size * 5 Packet Size * 10

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

Arrival Rate

0.01

0.1 Arrival Rate

1

10

Figure 12: A comparison of the throughput and average delay of GAMA as the size of the access period varies. deriving the analytical models are valid. In both graphs: the average packet size is 200 bytes, the length of the access period is equal to  , the average number of packets per message is 20, and the maximum group size is 20.

8 Conclusion We have presented a new channel access protocol for single-channel packet-radio networks called the Group Allocation Multiple Access (GAMA) protocol. GAMA dynamically organizes the channel into cycles, and allows a station to contend for membership in the transmission group of each cycle. Once a station is successfully added to the group, it can transmit a single data packet in each cycle, until the message is completely transmitted. When a network is lightly loaded, GAMA behaves much like CSMA. As the load in the channel increases, the cycle size increases up to a maximum, after which GAMA becomes in effect TDMA, giving every station that is part of the transmission group a “slot” in each cycle. Our continuing work focuses on adapting GAMA to networks with hidden terminals, and to using collision resolution mechanisms for RTSs within GAMA to ensure that every cycle has a successful contention period. Making every contention period successful ensures that GAMA is able to adapt to changing network conditions, even in the presence of sudden bursts of activity, and offer performance guarantees to applications without requiring time slotting and fixed frames as in TDMA. 14

Throughput as a function of Arrival Rate

Average Delay as a function of Arrival Rate

1

100 GAMA Analysis GAMA Simulation

0.9

GAMA Analysis GAMA Simulation

0.8

80

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

Arrival Rate

0.1

1

Arrival Rate

Figure 13: A comparison of the analytical and simulated throughput and delay of GAMA. Our analytical results constitute a first-cut approximation and apply to the case in which stations have messages of different lengths to send. However, they provide good insight on the impact of various parameters of the protocol. Simulation results were used to validate the simplifying assumptions used in our derivation of the average throughput.

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] D. Bertsekas and R. Gallager "Data Networks second edition" Prentice-Hall 1987 [4] V. Bharghavan, A. Demers, S. Shenker and L. Zhang "MACAW: A Media Access Protocol for Wireless LANs " Proc. ACM SIGCOMM 1994. [5] I. Chlamtac, W. R. Franta and K. D. Levin "BRAM: The Broadcast Recognizing Access Method" IEEE Transactions on Communications, August 1978. [6] C. L. Fullmer and J.J. Garcia-Luna-Aceves "Floor Acquisition Multiple Access (FAMA) for Packet-Radio Networks" Proc. ACM SIGCOMM 95. [7] P. Karn "MACA - a new channel access method for packet radio" ARRL/CRRL Amateur Radio 9th Computer Networking Conference 1990 [8] L. Kleinrock "Queuing Systems Volume 1: Theory" Wiley-Interscience 1975. [9] 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. [10] L. Kleinrock and F. Tobagi "The Effect of Acknowledgment Traffic on the Capacity of Packet-Switched Radio Channels" IEEE Transactions on Communications, June 1978.

15

[11] L. Kleinrock and M. O. Scholl, “Packet Switching in Radio Channels: New Conflict-Free Multiple Access Schemes,” IEEE Trans. Commun., vol. COM-28, 1980. [12] R. Rom and M. Sidi, Multiple Access Protocols Performance and Analysis. Springer-Verlag, 1990. [13] F. Tobagi "Carrier Sense Multiple Access with Message-Based Priority Functions" IEEE Transactions on Communications, January 1982. [14] F. Tobagi "Modeling and Performance Analysis of Multihop Packet Radio Networks" Proceedings of the IEEE, January 1987.

16

Suggest Documents