Study on multi-channel mesh deterministic access for wireless mesh LAN

IEEE802.11s draft proposes a new medium access control (MAC) function-mesh deterministic access (MDA), which is mainly used for single-channel wireless mesh local area network (LAN). In single-channel environment, collisions between control packets and data packets may occur very often. In order to provide higher performance and network capacity for wireless mesh LAN, this article develops an algorithm for MDA to work well on multi-channel wireless mesh LAN. To reduce the hardware requirements in design, a mesh point (MP) only equips single transceiver to support multi-channel environment. To completely avoid the collision between control packets and data packets, the interval of the meshed delivery traffic indication message is first divided into contention period and data transmission period. We newly define a neighbor MP status table for MPs to support multi-channel environment. The mechanism of reserving MDA opportunity (MDAOP) adopts the four-way-handshaking mode to reduce hidden node problem; we propose channel load first random fit and multi-channel best fit mechanisms to select MDAOP. We also propose a multi-channel MDA (MMDA) algorithm to improve the overall performance of wireless mesh LAN in multi-channel environment. The theoretical analysis gives the upper limit of the throughput for MMDA. The simulation experiments clearly show the results in multi-channel wireless mesh LAN environment that MMDA performs better than the enhanced distributed channel access in throughput, average waiting time, and packet drop ratio both in the saturated and non-saturated mode.


Introduction
With the popularity of wireless local area network (LAN) , it is inevitable to increase the network coverage. As outdoor wiring is not easy, the multi-hop technology of wireless mesh network becomes more important. IEEE802.11s working group aims to build the wireless mesh network standard. IEEE802.11s draft [1] provides a distributed network environment, so that each node can do self-configuration with the surrounding environment and does not need a service provider. In IEEE802.11s draft, the medium access control (MAC) protocol has great influence for wireless LAN performance [2] and it follows the enhanced distributed channel access (EDCA) of the original IEEE802.11e [3], containing congestion control [4], power saving [5], synchronization [6,7], and beacon collision avoidance [8]. In addition, IEEE802.11s draft itself also defines a new MAC function-mesh deterministic access (MDA) to improve the performance of wireless mesh LAN.
In the recent IEEE802.11s researches, most literatures focus on the routing and gateway selection. In the routing area, IEEE802.11s draft proposes a hybrid wireless mesh protocol to provide on-demand and proactive routing modes [9][10][11]. The VoIP performances of several different routing mechanisms in wireless mesh LAN's are compared [12]. Some routing methods have also been proposed, like the multi-metric ad-hoc on-demand distance vector routing methods [13], the mechanism of supporting mobility path management [14], the combined routing and traffic shaping decisions to enhance the efficiency of the distributed coordination function (DCF) [15]. Neishaboori and Kesidis [16] use the link/ load-sensitive metric for routing, while Lee et al. [17] propose a new routing protocol to select high throughput paths based on channel diversity information and reduce the broadcast overhead of control messages. In the gateway selection, a gateway selection mechanism is proposed to reduce the occurrence of broadcast loop by connecting the external network [18], while Ashraf et al. [19] combine the gateway load, route interference, and route quality as the basis for selecting the gateway.
According to the studies [20,21], using multi-channel architecture is more effective than single-channel architecture to enhance performance and reduce collision probability in IEEE802.11 network, but the researches for the IEEE802.11s MAC enhancement are relatively fewer and mainly discuss on the single-channel MAC protocol design. For example, in order to improve the utilization of transmission media, Nandiraju et. al. [22] propose a queue management scheme for multi-hop networks to increase the fairness of multi-hop flows using available buffer. Ranjitkar and Ko [23] propose an aggressive block acknowledge (ACK) scheme to improve the performance of 802.11s mesh network. Vishnevsky et al. [24] make beacons responsible to support MDA for delay-sensitive multimedia applications. Based on MDA, Chen and Emeott [25] develop a scheduled mesh access (SMA) mechanism, which has better antiinterference ability than EDCA. Finally, this article proposes a multi-channel single-transceiver MAC protocol called multi-channel MDA (MMDA) algorithm to further enhance the overall performance of wireless mesh LAN.
This article is organized as follows. The next section is to describe the proposed MMDA algorithm. "MMDA analysis in throughput" section describes the MMDA throughput analysis and "Simulation experiments" section shows the simulation results. Finally, the article ends with some conclusions.

Description of the proposed MMDA algorithm
In the original MDA, a mesh delivery traffic indication message (DTIM) interval is defined between two consecutive beacon frames. According to IEEE802.11s draft, the slot size of mesh DTIM interval is set to 32 μs, in which a mesh point (MP) can reserve MDA opportunity (MDAOP) to transmit data. An MDAOP can be used by MP periodically until an MP finishes transmission and releases it. MDA is established by using two control packets: MDA Setup Request and MDA Setup Reply. Figure 1 shows the operation of MDA mechanism. Before the source MP transmits data, it sends an MDA Setup Request packet to the destination MP for requesting MDAOP setup. The destination MP will reply an MDA Setup Reply packet to the source MP if it can satisfy the request of MDAOP setup, i.e., MDA mechanism is completed and the source MP can periodically use MDAOP to transmit data. However, in IEEE802.11s draft, not every MP in wireless mesh LAN supports MDA mechanism.

Mesh DTIM interval architecture
In MMDA algorithm, we further split mesh DTIM interval into contention period (CP) and data transmission period (DTP) as shown in Figure 2. In CP, MPs use contention mechanism for reserving MDAOP, and DTP lets the successful MP to establish MDAOP at the selected channel to transmit data, which is to make sure that control packets and data packets can be transmitted in different intervals and avoid the collisions between them. Because MMDA algorithm allows an MP only equips a single transceiver in wireless mesh LAN, only a channel (i.e., CH 1 ) is listened by all MPs in CP; then MPs know the channel information in DTP, but CH 1 can be used to transmit data in DTP. The maximum size of an MDAOP to be reserved in DTP is 4096 μs (or 128 slots), which can be used by MP periodically at the same location of each DTP in the following mesh DTIM interval.
In order to make MPs achieve timing synchronization in wireless mesh LAN, we use the IEEE802.11 ad-hoc timing synchronization mechanism, because MMDA algorithm uses the new defined mesh DTIM interval architecture. An MP sends beacon in accordance with the principles of DCF at the beginning of each beacon interval; the other MPs will cease sending beacon if any MP sends beacon successfully; then the MPs will take the timestamp value in beacon. This article also requires that each MP must build a neighbor MP status table (NMST) to make sure that MPs know their neighbor MPs' status and the channel state information, including MP ID (identification), the channel ID currently used by MP, offset from MDAOP's starting position to the beginning of subinterval, duration of MDAOP, periodicity (i.e., the number of MDAOPs in DTP). For example, if periodicity is equal to 4, it means that DTP are divided into four subintervals, while the four MDAOPs are located in the same distance from the beginning of these four subintervals. We also need to modify MDAOP reservation element, because the MDAOP reservation element of the original MDA control packet is designed for single-channel environment. Therefore, it is necessary to add a new Channel ID field into MDAOP reservation element to support the operation of multi-channel environment.
Four-way-handshaking mechanism for MMDA algorithm Similarly as the original IEEE802.11 ad-hoc networks, wireless mesh LAN also has hidden node problem [26]. In order to effectively solve this problem, MMDA algorithm uses four-way-handshaking mechanism instead of two-way-handshaking mechanism in the original MDA.
When an MP establishes MDAOP, it uses two extra slots for guard slots, one in front and another one in back of its own MDAOP, to avoid being affected by the delay or incomplete synchronization of the other MDAOPs; the MDAOP duration can be obtained by Equation (2). Because the source MP can know which duration in every channel currently being used, according to channel ID, offset, duration, and periodicity of each MP in NMST. After the source MP determines MDAOP duration, it can find the suitable location and duration for its own MDAOP and determine its own MDAOP's channel ID, offset, duration, and periodicity to be capsulated into the MDA Setup Request packet which will be sent to its target MP. Before MP sends the MDA Setup Request packet in CP, it uses backoff algorithm according to CSMA/CA mechanism defined by IEEE802.11 standard [27]. After waiting for a random time, the source MP sends the MDA Setup Request packet to its target MP successfully.
After the target MP receives the MDA Setup Request packet, it copies the same information (channel ID, offset, duration, and periodicity) to an MDA Setup Reply packet and sends back to its source MP if it can satisfy the requirements of the source MP. When the source MP receives the MDA Setup Reply packet, it waits an additional short inter-frame space (SIFS) time and sends back an MDA ACK packet to the target MP to confirm the MDAOP setup. The neighbor MPs of the source MP update the content of NMST after overhearing the MDA ACK packet. The target MP needs to reply an MDA Adv packet to inform the source MP that the MDAOP setup is successful, when the target MP receives the MDA ACK packet; then the neighbor MPs of the target MP update the content of NMST by overhearing the MDA Adv packet. After finishing the four-way-handshaking mechanism, MDAOP is completely established; then MDAOP can be used to transmit data periodically in DTP. The details of the MMDA four-way-handshaking mechanism can be found in Figure 3. Conversely, the target MP may select another MDAOP (including channel ID, offset, duration, and periodicity) according to its own NMST if it cannot satisfy the requirements of the source MP. The information of new MDAOP will be put into an MDA Setup Reply packet and sends back to its source MP. The source MP sends an MDA ACK packet back to the target MP if it agrees the new MDAOP. Otherwise, the source MP does not send the MDA ACK packet back to the target MP if it disagrees. The target MP knows the setup of the new MDAOP fails if it does not receive the MDA ACK packet within a period of time.
After completing the MMDA four-way-handshaking mechanism, the MDAOP owner just needs to wait an SIFS time to access its own MDAOP, i.e., the MDAOP owner has higher priority to access the MDAOP and avoids the interference from the other MPs. The MDAOP setup may fail if any one of four control packets is collided, damaged, or lost in transmission, i.e., MP needs to restart the MMDA four-way-handshaking mechanism. In addition, the MMDA four-way-handshaking mechanism should be completed before the end of CP, otherwise it fails. An MP may restart to reserve MDAOP until the next CP of the mesh DTIM interval. This article allows an MP to reserve different MDAOPs to transmit data on the same channel or different channels in DTP, if MP needs more than one MDAOP to meet the transmission request. However, the MDAOPs on different channels cannot be overlapped in time, and the MP should complete the corresponding MMDA four-way-handshaking mechanisms for these MDAOPs. Figure 4 shows an example of multiple MDAOPs used by MPA on different channels in DTP and Table 1 shows the NMST content corresponding to Figure 4.
If an MP wants to send data to a destination MP, the steps of MMDA algorithm can be summarized as follows: Step1: To check NMST to find available durations to satisfy the required size of MDAOP in every channel.
Step2: To select the position of these durations to establish MDAOP.
Step3: To start four-way-handshaking mechanism in CP.
Step4: To start transmission in the MDAOP on the selected channel in DTP after the completion of four-way-handshaking mechanism.
Step5: To use the established MDAOP to periodically send data to the destination MP.

MDAOP selection mechanism for MMDA algorithm
An MP is called non-MDA-MP (NMP) if it does not support MDA mechanism; conversely an MP is called MMP if it supports MDA mechanism. An NMP may occupy other MP's MDAOP, because it arbitrarily selects duration on the channel and does not know the distribution of MDAOPs on the channel. An MMP must wait until NMP finishing transmission; therefore, an MP can only transmit data in the remaining MDAOP duration, which degrades the throughput of MP. Furthermore, the MP's MDAOP may fully be occupied by NMP in the worst case and make the MP be unable to transmit any data in its own MDAOP. In order to avoid the aforementioned situation, NMP also needs NMST and listens the control packets on CH 1 in CP, so NMP knows the distribution of MDAOPs and obtains the channel state information. However, NMP still has to use the proposed four-way-handshaking mechanism to obtain the time slots on CH 1 in CP, and then NMP can use the time slots to transmit data in DTP.
By using NMST, NMP can avoid selecting other MMP's MDAOP, but MMP still records the information of the received NMP's control packets into its NMST, including NMP's channel ID, offset, and duration, but the MDA-support field is marked as 0, where duration here means the slot number used for NMP to transmit data. The information will be removed from NMST after the end of mesh DTIM interval, which means NMP has released the time slots.
When a source MMP wants to create MDAOP to send data to its target MMP, it first gets the channel state information according to its own NMST and avoids selecting the MDAOPs used by other MPs. Different MDAOP selection mechanism may affect the performance of wireless mesh LAN. Cicconetti et al. [28] propose two MDAOP selection mechanism: random fit and best fit, while these two mechanisms only apply to singlechannel network structure but not multi-channel network structure. We want to improve these two mechanisms to work on multi-channel wireless mesh LAN; therefore, MMDA algorithm also have two MDAOP selection mechanisms: channel load first random fit (CLFRF) and multi-channel best fit (MCBF).

CLFRF mechanism
The CLFRF mechanism is to randomly select duration from the lightest loading channel for MDAOP reservation, which has the advantage of simple and no more complex operation. The main purpose of CLFRF is to balance the channel load among all channels and avoid some channels always at overload situation to degrade throughput. First MP can obtain a channel having the lightest loading (e.g., channel r) according to its own NMST in multi-channel wireless mesh LAN. Let x be the size of MDAOP and A r │x be the subset of free locations large enough to contain an MDAOP of duration x on channel r, as shown in Equation (3), where 〈d i , o i 〉 means the ith free location that d i is the duration of contiguous slots and o i is the offset from this location's starting position to the beginning of subinterval. Then MP randomly selects the location 〈d rnd , o rnd 〉 among this subset to establish MDAOP, shown in Equation (4).

MCBF mechanism
The goal of the MCBF mechanism is to find the best fit location from all channels to build the requested MDAOP, i.e., MCBF is to select the minimum duration from these durations, hence the advantage of MCBF is to minimize the remaining space after building MDAOP and to avoid causing a large fragmentation. First MMP finds out the subset A c |x having free locations large enough to contain an MDAOP of duration x on channel c, shown in Equation (5), then it finds the minimum free location of each channel to meet the requested MDAOP. Let us denote 〈d best c ; o best c 〉 be the minimum free location on channel c to contain an MDAOP of duration x. Then we can get the minimum free locations for all channels, respectively, from CH 1 to CH Nc . Finally, MP selects the smallest duration among these minimum free locations, where 〈d best , o best 〉 is the best fit location for MDAOP, shown in Equation (6).

MDAOP teardown and relocation mechanisms for MMDA algorithm
The source MMP must release the occupied MDAOP when it completes transmitting data. Before sending teardown packet, the source MMP will enter the backoff mechanism at the beginning of CP. After backoff mechanism finished, the source MMP sends a teardown packet to the destination MMP for releasing the occupied MDAOP. The neighbor MMPs of the source MMP will update NMST and release the occupied time slots of the MDAOP. After receiving the teardown packet, the destination MP needs to forward it to its neighbor MMPs to release the occupied time slots of the MDAOP as well. Because the original teardown packet is designed for single-channel environment, it is not applied to our MMDA algorithm. Therefore, we add the new Channel ID field into the format of the teardown packet to support the operation of multi-channel environment.
When an MMP wants to establish MDAOP, it may find according to NMST that all of the remaining durations on each channel cannot meet the MDAOP size. However, after checking NMST, we will find that some channels' total remaining time slots can meet the MDAOP, which is caused by serious fragmentation on every channel. To avoid the waste of channel space, we use MDAOP relocation mechanism to deal with. However, to avoid too complex relocation action, resulting in too many MDAOPs to be moved, we hope to move only one MDAOP to solve this problem instead.
First MP will choose the lightest load channel according to NMST; MP knows the distribution of MDAOPs on the channel, and further finds out the MDAOP having enough front and back time slots to meet the MP's own MDAOP size. MP will send an MDAOP relocation request packet to the owner of the MDAOP in the next CP of mesh DTIM interval, if the MDAOP meet the requirements. The requested MP will reply an MDAOP relocation reply packet if it can perform the MDAOP relocation; otherwise it will reply an MDAOP relocation reject packet if it cannot perform the MDAOP relocation. After finishing the MDAOP relocation, MP may have the sufficient number of time slots to establish MDAOP.
MP will find the second lightest load channel and repeat the above steps, if it cannot find the MDAOP to satisfied MDAOP relocation request on the lightest channel. The MDAOP relocation mechanism fails if there is no MDAOP to meet MDAOP relocation request on all channels. Next we explain it by using an example of a two-channel network environment that the distributions of MDAOPs on CH 1 and CH 2 are shown as Figure 5, and the numbers on channels represent the number of free time slots. Let us suppose that MPD needs to use 60 time slots of its MDAOP. From Figure 5 we can find MDAOP 2 used by MPB on CH 1 has the total of 70 slots in front and back of it i.e., 30 + 40 = 70 slots, which can meet the needs of MPD. MPD will send an MDAOP relocation request packet to MPB in the next CP of mesh DTIM interval. MPB will first check whether it can do this relocation or not (including the forward shift and backward shift) according to its own NMST. If MPB agrees on this relocation, it asks its partner MP (e.g., MPE) which is using the same MDAOP with MPB. If MPE also agreed, MPB will send MDAOP relocation reply packet back to MPD, then MPD can use the space to establish MDAOP after relocation. If MPB or MPE cannot perform MDAOP relocation, MPB will reply an MDAOP relocation reject packet to MPD, which means that MPD's MDAOP relocation request is rejected.

MMDA analysis in throughput
In this section, we analyze the proposed MMDA algorithm based on the saturated contention in CP. To simplify the analysis, we only consider the two-hop wireless mesh LAN environment. We assume that there are totally n MPs operated in CP with the saturation mode binary exponential backoff; W 0 is the initial contention window; and p c is collision probability caused by two or more MPs transmissions at the same time. The transmission probability p t of MP can be obtained by Equation (7) [29], where MP contends with each other until successful transmission in CP without limiting the maximum backoff stage. Similarly, p t can also be obtained by Equation (8).
We can easily obtain the unique solutions of p t and p c , respectively, by solving Equations (7) and (8), if n and W 0 are given. In addition, p t (n) and p c (n) can be considered as the functions of n for p t and p c , respectively, by assuming W 0 is a fixed system parameter. Therefore, the probabilities of successful transmission and idle channel can also be considered as a function of n and expressed by Equations (9) and (10), respectively. Similarly, p c (n) is shown in Equation (11). In addition, we will consider the other parameters as the functions of n later in this article.
According to the content of NMST, MP knows that the durations will be used in DTP and avoid selecting these durations; then MP can reserve MDAOP by completing MMDA four-way-handshaking mechanism. Let us denote T cp to be the duration of CP, which obviously affects the number of successful contentions in CP. Let us also denote T cp_c to be the critical duration of CP, which is the minimum duration of CP for MPs to successfully reserve all available MDAOPs. Let us assume that an MP will experience i times of collision and j empty slot times before successfully reserving an MDAOP in CP with n MPs to contend, whose joint probability mass function, P ss (i, j, n), can be obtained by Equation (12), where I and J are the random variables that an MP will experience i times of collision and j empty slots before successfully reserving an MDAOP in CP, respectively. Furthermore, the means of I and J can be expressed as the functions of n and obtained by Equations (13) and (14), respectively.
Let us denote T s and T c to be the durations of each successful MMDA four-way-handshaking contention and collision shown as Equations (15) and (16) Data Transmission Period Figure 5 The distribution of MDAOPs on CH 1 and CH 2 in DTP.
T DIFS , and T SIFS are the durations of MDA Setup Request, MDA Setup Reply, MDA Acknowledge, MDA Advertisement, DIFS, and SIFS, respectively. Let us define T r (n) as the average time to reserve an MDAOP for an MP in CP, which can be obtained by Equation (17), where T i is a slot time that should be long enough to access the channel state information. Let us denote T DTIM and T DTP to be the durations of mesh DTIM interval and DTP, respectively, where T DTP can be obtained by Equation (18).
Let us denote N a to be the available MDAOPs provided for MPs to reserve in DTP shown in Equation (19), where Nc, B, D, and L are the number of channels in wireless mesh LAN, Each channel's bandwidth, MDAOP duration, and the average interval between two MDAOPs, respectively. Let us define N min as the minimum value of n and Na; then, the critical duration of CP T cp_c (n) can be obtained by Equation (20). Hence, the available MDAOPs will be completely reserved by MPs within CP, if T cp is longer than T cp_c . Let us define T m as the mth sub-critical duration of CP that m MPs can successfully reserve MDAOPs, which can be obtained by Equation (21). We define G (n) as the number of MPs that can successfully reserve MDAOPs in a CP, which can be obtained by Equation (22). Let us denote S(n) to be the throughput of MPs, which can be obtained by Equation (23). Finally, the average throughput of each MP, s(n), can be obtained by Equation (24).
Simulation experiments This section performs the simulation experiments. We use C# to design simulation program, and consider wireless mesh LAN topology with 32 MPs in a random style.
We also assume that all MPs are fixed and do not consider propagation delay and background noise. The other simulation parameters are shown in Table 2. We consider both saturated and non-saturated modes, and the packet arrival distribution of non-saturated mode is Poisson distribution. In the constant bit rate (CBR) traffic class, the packet size is assumed to be 512 bytes. The variable bit rate (VBR) traffic class is exponentially distributed, we assume the average packet size is 256 bytes, the maximum and minimum packet sizes are 512 and 64 bytes, respectively. We will compare the performances of MMDA using CLFRF mechanism, known as MMDA (CLFRF); MMDA using MCBF mechanism, known as MMDA (MCBF) and EDCA.

Two-hop scenario
First, we consider that the number of hops is limited to two in wireless mesh LAN for CBR traffic at the saturated mode. We assume that the mesh DTIM interval length, the length of CP, and MDAOP duration are 30 ms, 6 ms, and 128 slots, respectively. In Figure 6, the MMDA (analysis) curve shows the upper limit of the  theoretical analysis; we can find the curves of MMDA (MCBF) and MMDA (analysis) are very close. MMDA (MCBF) can approach the theoretical upper limit, because it has smaller fragmentation; conversely due to the larger fragmentation, MMDA (CLFRF) performs worse than MMDA (MCBF). When using EDCA, the source MP and the destination MP have to coordinate which channel to use, so the source MP must contend with the other MPs in CP. In addition, the source MP needs to reserve TXOP (transmission opportunity) by contention mechanism in DTP, which increases network overhead and more collisions. Furthermore, TXOP cannot periodically be used in every mesh DTIM interval, so it also increases the number of contentions and causes EDCA having poor performance.

Multi-hop scenario
In this section, we consider the multi-hop wireless mesh LAN in both saturated and non-saturated modes. We randomly place 32 MPs in the square of 300 m × 300 m. We assume that the mesh DTIM interval length and CP are 100 and 10 ms, respectively. We allow each MP to get more than one MDAOP to transmit data in DTP. Performance evaluation includes the average throughput, average waiting time (the time from packet entering the queue to leaving the queue), and packet drop ratio will be investigated. Figures 7 and 8 show the average throughput for CBR and VBR traffics, respectively, in the saturated mode. It is obvious that MMDA (CLFRF) and MMDA (MCBF) perform better than EDCA, because the situation is very similar to the two-hop scenario. Figures 9,10,11,12,13, and 14 show the results for the CBR and VBR traffics in the non-saturated mode, and it is obvious that both MMDA (CLFRF) and MMDA (MCBF) perform better than EDCA in average throughput, average waiting time, and packet drop ratio. The poor performance of EDCA is because EDCA needs to contend in both CP and DTP, and then it just can reserve TXOP, which causes more collisions and increases network overhead. Whatever the saturated or nonsaturated mode is used, the simulation results show that in CBR traffic mode, the average throughput of MMDA (CLFRF) and MMDA (MCBF) is close, but in VBR traffic    mode the average throughput of MMDA (MCBF) is better than MMDA (CLFRF). This is because the data packet size in VBR traffic mode is variable and MMDA (CLFRF) uses random mechanism to select the location of MDAOP, it will causes that the smaller MDAOP occupies the larger free location and results in the waste problem of channel resource. In Figures 11 and 12, the average waiting times of MMDA (CLFRF), MMDA (MCBF), and EDCA increase when traffic load increases, because MP suffers more contentions to transmit data when packet arrival rate increases. For MMDA (CLFRF) and MMDA (MCBF), MP needs to wait until the next mesh DTIM interval, if it cannot complete MMDA four-way-handshaking before the end of CP. Therefore, MMDA (CLFRF) and MMDA (MCBF) need to wait for several mesh DTIM intervals to transmit data packets when traffic load increases, which significantly make the average waiting time increase. Figures 13 and 14 show the packet drop ratio also increases, because packets will be dropped for time out or reached the retransmission limit when traffic load increases.

Conclusions
This research makes the MDA of IEEE802.11s draft to work well on multi-channel wireless mesh LAN to provide higher performance and network capacity. MMDA algorithm uses four-way-handshaking mechanism to reduce hidden node problems, and mesh DTIM interval is divided into CP and DTP to completely avoid the collision between control packets and data packets. MMDA algorithm is designed with only single transceiver, so it can reduce the hardware resource requirements and design complexity. NMST helps MP to know the distribution of MDAOPs on each channel and makes MP easily to select an available MDAOP. These two MDAOP selection mechanisms, CLFRF and MCBF, make MP to select the location of MDAOP more effectively. Because of these designs, MMDA algorithm works well on multichannel wireless mesh LAN. The theoretical analysis gives the upper limit of the throughput for MMDA. The simulation experiments clearly show the results in multi-channel wireless mesh LAN environment that the throughput of MMDA is better than EDCA both in saturated and non-saturated modes. In addition, MMDA