M-cube: A Duty Cycle Based Multi-channel MAC Protocol with Multiple Channel Reservation for WSNs.
-
Citations (0)
-
Cited In (0)
Page 1
M-cube: A Duty Cycle Based Multi-Channel MAC
Protocol with Multiple Channel Reservation for WSNs
Jinbao Li1,2, Desheng Zhang1,2, Longjiang Guo1,2, Shouling Ji3, and Yingshu Li3
1School of Computer Science and Technology, Heilongjiang University, Harbin, Heilongjiang, China, 150080
2Key Laboratory of Database and Parallel Computing of Heilongjiang Province, Harbin, Heilongjiang, China, 150080
3Department of Computer Science, Georgia State University, Atlanta, GA, USA, 30303
longjiangguo@gmail.com, jbli@hlju.edu.cn, zh.de.sh@gmail.com, sji@cs.gsu.edu, yli@cs.gsu.edu
Abstract—In this paper, a duty cycle based multi-channel MAC
protocol with multiple channel reservation, called M-cube, is
proposed to tackle the triple hidden terminal problems. M-cube
can make nodes to choose one actually idle channel from all the
expected idle channels. Therefore, M-cube can avoid data
packet collisions resulted by the triple hidden terminal
problems. By minimizing the lower bound of the average
number of times of channel switching in M-cube, the optimal
duty cycle is obtained through theoretical analysis. To validate
the effectiveness of multiple channel reservation and dynamic
optimal duty cycling, extensive simulations and real testbed
experiments were conducted. Both the simulation and
experiment results show that when the number of channels is
large or network loads are heavy, M-cube improves energy
efficiency and throughput significantly compared with other
works in the literature.
I. INTRODUCTION
Recently, to overcome the drawbacks of single-channel
MAC protocols, some multi-channel MAC protocols
(mcMAC) have been proposed to improve network perfor-
mance of Wireless Sensor Networks (WSNs) via parallel
transmissions [1, 2, 3]. mcMACs have several advantages as
follows. First, because generally mcMACs employ one Con-
trol Channel (CCCC) to send control information and multiple
Data Channels (DCDC) to send data, the overall channel utiliza-
tion is increased. Second, mcMACs have higher throughput
and shorter latency. Third, because current WSNs radios
already offer multiple channels [1], mcMACs incur no more
multi-radio cost. An mcMAC mainly consists of channel
selection and media access functions. Channel selection
schemes can be classified as static and dynamic ones. Media
access schemes fall in two categories: TDMA and CSMA.
Dynamic channel selection and CSMA with duty cycling
are considered as suitable schemes for WSNs [3]. However,
these combined schemes sometimes fail to offer satisfactory
performances due to the Triple Hidden Terminals problems
(THTTHT), which includes three kinds of hidden terminal: (1)
multi-hop hidden terminals; (2) multi-channel hidden ter-
minals [5]; (3) sleep hidden terminals. For multi-hop, mul-
ti-channel and duty cycling WSNs, they will severely suffer
from THT. As shown in [4], THT is one of the most primary
reasons of energy waste in the multi-channel scenario, which
results from the fact that channel usage information may not
be timely obtained by all nodes. Therefore, when a node
selects an Expected Idle Data Channel (EIDC
be already being used by other nodes. The EIDC that is ac-
tually busy is called the Misunderstood Channel (MC
EIDC), this EIDC may
MC).
An example of THT is given in Fig.1. It involves one CC
and two DCs. Node ?, ?, ?, ?, and ? are awake and ? is
sleeping. When ? has data for ?, ? randomly selects an idle
DC such as DC1 and adds the reservation information (e.g.,
who will occupy which channel for how long) into an ???
and sends to ? on the CC. Then, ? sends a ??? back to ? to
confirm the delivery of ???. Next, ? and ? switch their
channels to DC1 at time ??. The awake neighbors of ? and ?
(e.g., ?, ? and ?) update their channel usage information by
overhearing on the CC; whereas, the sleeping neighbors
(e.g., ?) still assume that DC1 is idle. During (??, ??), ? has
data for ?. ? randomly selects an idle DC such as DC2 and
then switches to DC2 with ? after another reservation. Be-
cause ? and ? as well as ? are not overhearing on CC during
(??, ??), ?, ? and ? still assume that DC2 is idle. At time ??,
two situations may cause packet collisions at ? or ?. (1)
When ? finishes sending data to ?, ? has data for ?. If ? also
selects DC2 being occupied by ? and ?, a collision may
happen. In this case, ? is called the multi-channel hidden
terminal of ? and ?. (2) When ? wakes up, ? has data for ?.
If ? also selects DC2 being occupied by ? and ?, a collision
may happen as well. In this case, ? is called the sleep hidden
terminal of ? and ?.
To solve THT, we propose a dynamic duty cycle based
Multi-channel MAC protocol with Multiple channel reser-
vation (M-cube) for heavy loads WSNs. The contributions of
this work are as follows. (1) An asynchronous mcMAC,
called M-cube, is presented especially for heavy loads WSNs.
(2) M-cube’s performance is analyzed by probability theory.
(3) The extensive simulation results show that compared with
the other four protocols, M-cube achieves 6% to 174% more
throughput ratios. M-cube also has 6% to 90% better energy
efficiency ratios. Furthermore, M-cube is also implemented
in a real testbed. The results show that M-cube achieves 23%
to 63% more throughput ratios.
Figure 1. An example of THT
Page 2
II. RELATED WORK
McMACs are classified into two main categories: syn-
chronous and asynchronous ones as follows.
A. Synchronous mcMACs for WSMs
Zhou et al. [1] proposed MMSN which is the first
mcMAC that takes into account the restrictions in WSNs.
Salajegheh et al. [5] proposed HyMAC where the commu-
nication period consists of a number of frames, and the frame
is divided into scheduled slots and contention slots. The base
station selects channels and specific time slots for all nodes.
Jovanovic et al. [6] proposed TFMAC where a frame consists
of a contention period and a contention-free period that
contains some equal sized time slots. TFMAC works simi-
larly with HyMAC except that the schedules are made by all
nodes rather than the base station. Kim et al. [2] proposed
Y-MAC via adding a multi-channel mechanism to Crank-
shaft [7]. The difference between Y-MAC and other syn-
chronous MAC protocols is that Y-MAC schedules receivers
rather than senders to achieve low energy consumption.
B. Asynchronous mcMACs for WSNs
Le et al. [3] proposed PMC which involves no time
synchronization and utilizes a control theory approach to
dynamically add available channels one by one for all nodes
in a distributed manner. Wu et al. [8] proposed TMCP which
is a multi-channel protocol that does not require time syn-
chronization. However, this protocol is more like a topology
control protocol rather than a MAC protocol. Ansari et al. [9]
proposed a spectrum agile mcMAC where all nodes scan all
channels and make sure whether there are packets for them-
selves, which involves the overhead of channel switching.
Unfortunately, all above schemes for WSNs do not consider
THT. THT is only partly considered by mcMACs for general
wireless networks, because in general wireless networks the
duty cycle feature is not taken into account. Thereby, the
current solutions for THT fail to solve sleep hidden terminals
in duty cycle based WSNs. The current solutions for THT can
be categorized into three classes: multi-radio, time synchro-
nization and distributed information sharing as follows.
A. Multi-Radio Schemes
Wu et al. [10] proposed DCA which uses two radios, one
radio for control information exchanging used for channel
reservations, and the other radio for data communication.
Adya et al. [11] proposed MUP which allows both radios to
interchangeably send control information and data. Jain et al.
[12] proposed a protocol with a receiver-based channel se-
lection scheme via SNR comparisons at receivers. Nasipuri et
al. [13] proposed a multi-radio scheme which distinguishes
itself by a soft channel reservation scheme. Multi-radio
scheme can solve THT by dedicating a radio on the CC to
consistently overhear control information exchanging.
However, the requirement of multi-radio leads to not only
larger node size but also more potential energy consumption
[4], which could result in a shorter network lifetime. More-
over, multi-radio schemes result in high hardware cost, which
is unrealistic for most large-scale WSNs.
B. Time Synchronization Schemes
So et al. [14] proposed MMAC which partitions time into
multiple time slots. In MMAC, all nodes exchange control
information on the CC for channel reservations at the begin-
ning of each slot and switch to DCs for data communications
in the rest of the slot. Chen et al. [15] proposed MAP which
works in the same way as MMAC but has variable-length
time slots. Compared with the protocols using fixed-length
time slots, MAP avoids the problem that the length of a time
slot has to be decided according to the maximum data packet
size. Tzamaloukas et al. [16] proposed CHAT which em-
ploys time synchronization in channel hopping scheme. In
CHAT, all the idle nodes switch among all the channels using
a common hopping sequence. Bahl et al. [17] proposed
SSCH that is also based on the channel hopping, but SSCH
uses multiple hopping sequences for different nodes. These
schemes address THT by time synchronization. Most of them
send all the control information (i.e., channel reservation
information) in some pre-decided time slots. However, time
synchronization is still an open problem for low cost sensor
nodes with cheap prone to drift clocks [8]. One common
solution is to periodically send SYNC packets, but it will
consume more energy and make channels more crowded.
C. Distributed Information Sharing Schemes
Luo et al. [4] take advantage of Distributed Information
SHaring mechanism (DISH) and propose CAM-MAC to
address the multi-channel coordination problem. In
CAM-MAC, when a communicating node-pair performs a
channel reservation on the CC, all neighborhood nodes may
send cooperative packets to invalidate the reservation if they
are aware of the fact that the selected DC or receiver is un-
available. In addition, Luo et al. [18] proposed a mul-
ti-channel MAC protocol based on a strategy called altruistic
cooperation. This protocol introduces some specialized
nodes called altruists in the networks whose only role is to
acquire and share channel usage information. Furthermore,
Luo et al. [19] developed a theoretical treatment of DISH to
analytically evaluate the availability of information sharing.
Instead of directly analyzing throughput, this study analyzes
the availability of information sharing and correlates it with
performance metrics including throughput. DISH solves THT
by involving more nodes into a channel selection. However,
in every channel reservation, all the idle neighbors of the
sender and the receiver may send packets for invalidation, if
they assume this reservation is invalid. Therefore, it causes
more redundant communications and easily results in coop-
erative packet collisions, because many cooperative packets
could be sent simultaneously. Therefore, DISH may waste a
large amount of energy in large-scale WSNs.
Summary. In this paper, M-cube is proposed for WSNs
to tackle THT in a different way from all above-mentioned
works. Three important features distinguish M-cube from
prior works. First, in M-cube nodes are only equipped with
one single radio; second, M-cube is fully asynchronous; third,
all communicating node-pairs in M-cube make channel se-
lection decision only based on their own information, i.e., no
redundant communications from other nodes are introduced.
Page 3
III. DESIGN OF M-CUBE
Wireless bandwidth is divided into one dedicated CC for
control packet exchanging and ? DCs for communication.
A. Overview of M-cube
M-cube is a dynamic duty cycle based asynchronous
mcMAC with multiple channel reservation. There are three
features of M-cube as follows. (1) M-cube utilizes a sender
centric coordination to wake up the receiver by a series of
handshake packets (???), according to the Dynamic Optimal
Duty Cycle (DODC DODC, discussed in Section IV). Each idle node
periodically turns its radio on and off based on its own DODC
to conserve energy and to prolong network lifetime of WSNs.
(2) The independent sleeping schedule of each node reflects
the asynchronization of M-cube. (3) In M-cube, every
node-pair reserves multiple EIDCs instead of one. In M-cube,
all nodes take four actions as follows. Overhearing: When
an active node is idle, it monitors the CC to overhear control
information exchanging to update its Channel Usage Infor-
mation (CUI CUI) for next channel reservation. Reserving: When
a node has packets to send, it uses a handshake scheme with
the receiver on the CC to negotiate a list of common EIDCs
for data communication. Communicating: After reserving a
DC, this node and the receiver employ media access for
communication on one of all the DCs they reserved. Duty
cycling: After being idle for certain duration of time decided
by DODC, this node turns off its radio and enters sleep period
for certain duration of time, which is also decided by DODC.
B. Channel Selection of M-cube
The popular idea to solve THT is to update the CUI in
real-time. This will introduce too much SYNC overhead or
hardware cost (e.g., multi-radio). In this study, we tackle
THT from a new aspect, i.e., instead of updating the CUI in
real-time, we use outdated CUI to take care of THT. The
outdated CUI has a property that if the outdated CUI shows
that a DC is idle now, then this DC is probably idle, whereas if
the outdated CUI shows that a DC is busy now, then this DC is
definitely busy. As shown in Fig.1, this property is resulted
by the fact that a node misses some channel reservation in-
formation during its sleep period or communications on a DC.
We utilize this property to design a channel selection scheme,
called multiple channel reservation, in M-cube. When a
sender has packets to send, it uses this property to obtain the
DCs expected to be idle by its CUI, which could also be busy
with a certain probability. Next, this sender makes these
EIDCs into a list, called EIDC List (?????), and then sends
????? to the receiver. When this ????? is received, the
receiver performs the same actions to obtain its ?????, and
computes intersection of ????? s, called Final ?????
(??????), and finally sends ?????? back to the sender.
After that, both the sender and the receiver switch among all
the EIDCs in ?????? based on the random order of channels
in ?????? until they find an actually idle EIDC. When a
node-pair finds an actually idle EIDC, a node-pair have to
switch back to the CC first and inform all the idle neighbors
that they actually use this DC instead of other DCs in ??????.
Therefore, all these idle neighbors can update their CUI.
In M-cube, a node-pair reserves multiple EIDCs instead of
one is because that if they reserve one EIDC and this DC is
actually busy, they have to switch back to the CC and reserve
a new EIDC again via another handshake. Moreover, this new
EIDC could also be busy. Thereby, reserving only one DC
once may result in multiple handshakes on the CC for one
message communication consisting of multiple data packet
transmissions. These multiple handshakes will compromise
the utilization of the CC.
C. Media Access of M-cube
Three new kinds of packets are included in M-cube,
which are ??? (used to inform a node on a DC that it needs to
Continue to Switch Channel among ??????), ??? (used to
inform a node on a DC that this DC Is Idle) and ??? (used to
make an ANnounCement on the CC about the DC a node
actually uses). The media access of M-cube is given in Al-
gorithm 1 where ? and ? represent a sender and the receiver.
In M-cube, a node-pair first executes a handshake scheme
(???/???) and a channel announcement scheme (???/???)
before a message communications (?????/????). Note
that senders also are supposed to receive ???s in M-cube,
so the DC selected must be idle for both the sender and the
receiver. Handshake scheme is used to negotiate a list of
EIDCs by this node-pair; while Channel announcement is to
select an actually idle DC in ?????? and to help all their idle
neighbors update their CUIs.
Algorithm 1: Media Access of M-cube
If (upper layer message coming) { add message into packet buffer queue;}
If (sleeping timer expired) { turn off radio; set up active timer by DODC;}
If (active timer expired ) { turn on radio; set up sleeping timer by DODC;}
If (sending timer expired ){
check whether ? is on the DC by CUI; use CCA to sense the CC;
If (? is on DC || CC is busy){
back off for a while and tries to send later;}
Else {obtain ????? by CUI; send it in ??? to ?;}};
If (receiving a packet){
If (packet is ???){ // as a receiver
obtain ????? by CUI; obtain ??????; send it in ??? to ?;
While (switch to next DC in ??????){
monitor this DC for 2?(explain in subsection III.D);
If (this DC is busy){
If (node occupying this DC is not a neighbor of ? ){
send ??? to inform ? to switch again;}}/
Else If (receiving the ??? packet from ?){
send ??? on this DC to ?; switch to the CC;
inform neighbors which DC it occupied with ???;
switch to DC; wait to receive ???? from ?;send ???; }
Else If (receiving ???){continue;}}}
If (packet is ???){ // as a sender
While (switch to next DC in ??????){
monitor this DC for ?;
If (this DC is busy){
If (node occupying this DC is not a neighbor of ?){
send ??? to inform ? to switch again;}}
Else { send ??? on this DC to ?;
If (receiving ???) {
switch to CC; inform neighbors occupied DC with ???;
switch to that DC; send ????s to ?;}
Else if (receiving ???) {continue;}}}}
If (packet is ???){ update CUI; } };// as a neighbor
If (packet is ???){ send next ????; } };// as a sender}
Page 4
D. An Example of M-cube
Fig.2 describes an execution example of M-cube. There is
one CC and three DCs. Three node-pairs, i.e., ??, ??, and ??,
are communicating on DC2, DC2 and DC1, respectively. ? is a
neighbor of ?, and ? is a neighbor of ?. Both ? and ? are
sleeping at the beginning, and ? wakes up later. Both ? and
? overheard the channel announcements of ?? and ??, but
missed that of ?? due to sleep or communications. When ?
has packets for ?, three phases must be accomplished as
follows.
(1) Handshake Phase ???,???: Based on its CUI, ? com-
putes ????? recording that DC1 and DC3 are idle, and then ?
sends an ??? with ????? to ?. When ? receives this ???,
? computes its own ?????, and then computes ?????? via
?????s of ? and ?, and finally sends a ??? with ??????
to ?. (2) Channel Announcement Phase ???,???: Assume DC1
is the first DC in ??????, and then both ? and ? switch to
DC1 and listen for time ? and 2? where ? is decided ac-
cording to the maximum data packet size. Because DC1 is
occupied by ??, both ? and ? may receive a packet from ?
or ?, which indicates that DC1 is busy. Therefore, both ? and
? continue to switch to DC3 without sending ??? since they
are both aware of the fact that ? or ? is their common
neighbor. After monitoring DC3, ? and ? exchange ??? to
make sure that DC3 is idle for both nodes. Then, ? and ?
switch to the CC, and sequentially send the same ??? about
this channel selection, which helps their idle neighbors (e.g.,
? ) to update their CUIs. (3) Data Communication
Phase???,???: ? and ? switch back to DC3 and communicate
with each other by ?????/???? exchanging. When these
exchanging are finished, ? and ? switch to the CC again and
update their CUIs via overhearing the ??? sent on the CC by
their communicating neighbors.
IV. THEORETICAL ANALYSIS
In this section, M-cube’s performance is theoretically
analyzed. In particular, the lower bound of the average
numbers of times (denoted as ?? ) that a node-pair switches
among the DCs in ?????? is computed. Represented by the
function of the duty cycle ?, the value of ?? can basically
decide the latency and the energy consumption on channel
switching among DCs. Lastly, the optimal duty cycle ?? is
obtained, which is defined as the duty cycle that minimizes
the lower bound of ??. The symbols used in the analysis are
listed in Table I.
Let ? be the number of times that a node-pair switches
among the DCs in ?????? until they find an actually idle DC.
? is geometrically distributed with parameter ? , which
represents the probability that an EIDC in ?????? is actually
busy. We call this busy DC in ?????? the Misunderstood
Channel (MC MC). The expectation of geometrical variable is
?? ? 1/?. ?1?
The following subsection explains how to derive ? ?.
A. Derivation of ?
Let ? be an arbitrary node in the networks. By the Total
Probability Theorem (TPT),
???????? · Pr????
???????? ? Pr????|???? · Pr?????.?2?
? ? Pr????|???
The meanings of ??? and ??? are in Table I, so are all the
symbols. We can solve ?2? via ?3?, ?4? and ?9?. In M-cube,
the only reason why an ?? is created is that ? misses one
??? packet from a neighbor (i.e., a ??? happens). So,
Pr????|???
???????? ? 0. ?3?
Let ? be any neighbor node of ?. Therefore, Pr ????? is
equal to Pr ??????. Let ? be a neighbor node with which ?
communicates. Therefore, we have
Pr????|???? ? Pr????|????|? ? ???? · Pr?? ? ????
?Pr????|?????? ? ??\?? · Pr?? ? ??\??. ?4?
We can solve ?4? via ?5?, ?6? and ?7?.
1) ???? ? ???? and ???? ? ??\??
Assume that ? uniformly communicates with one of its
neighbors, so Pr?? ? ???? is approximately equal to the ratio
Figure 2. The Illustration Of M-cube
Table I. The symbol list
Symbol
???
????
???
????
???
??????
???
???????
?????????
?????????
????????
?????????
MC
?,??
?
?
???
???
???
???
???
??,???,??\?
Meaning
Probability
a node is on the CC at an arbitrary time
a node is sleeping at an arbitrary time
a MC is created
a node switches to a DC as a ReCeiVer
a MC is Created
? Misses a ??? from a Neighbor (e.g., ?)
? Is a Sender
? is On the CC at time ?
? is Not Sending on the CC during ???
? does Not Interfere on the CC during ???
? switches Back To the CC during ???
? is SLeePing during ???
an Expected idle channel that is actually busy
the duty cycle, the optimal duty cycle
the average number of nodes per ?? (density)
the average data packet arrival rate at a node
the average number of packets in a message
the longest wake time of an idle node
the longest sleeping time of an idle node
duration of two nodes sending ANC
duration of message communications on a DC
?’s neighbor set; ???? ?????; ??\?? ??\??\???
Events
Others
Page 5
between the average intersection area of two circles (centered
at ? and ?, respectively) and the area of an arbitrary circle.
The circle represents the communication area of a node, and
the radius of a circle (denoted as ?) represents the commu-
nication range of a node, respectively. Assume that the
communication range of a node is equal to the interference
range of a node, and all nodes are deployed in an area ac-
cording to a two-dimensional Poisson point process. It can be
derived from [19] that the average intersection area of two
circles centered at ? and ? is 1.84??, approximately. So,
Pr?? ? ???? ? 1.84/3.14 , Pr?? ? ??\?? ? 1.30/3.14. ?5?
2) ??????|?????? ? ??\??
If ? is not a neighbor of ? (i.e., ? ? ??\?) and ? misses
the ??? from ? (i.e., a ???? happens), an ??? will defi-
nitely happen, because ? misses its only chance to obtain the
information that a DC is occupied by ? and ?. Therefore,
Pr????|????? ? ? ??\?? ? 1. ?6?
3) ??????|????|? ? ????
If ? ? ??? and ? misses the ??? from ? (i.e., a ????
happens), then a ??? happens if and only if ???? happens,
because ? has another chance to overhear ?’s ???. So,
Pr????|????|? ? ???? ? Pr?????|????|? ? ????. ?7?
Pr?????|????|? ? ???? is equal to the probability that ?
misses two ???s from ? and ?, so it can be derived from [19]
Pr?????|????|? ? ???? ? ? ? ?1 ? ?? · ????? ????/???. ?8?
B. Derivation of ????????
We can solve Pr?????? via the probability that the
complementary event of ???? happens, therefore
Pr?????? ? 1 ? Pr????
?????????. ?9?
Moreover, by TPT, we have
Pr????
????????? ? Pr????
????????|???? · Pr????? ? Pr????
????????|???
????? · Pr????
?????.?10?
We can solve ?10? via ?11?, ?12? and ?13?.
?????
Based on the assumption we make in subsection A, ? is an
arbitrary neighbor of ?. Therefore, in the long run, we have
????? ? 1/2 . ?11?
????????|???? and ??????
In M-cube, if ? is a sender (i.e., an ??? happens), a ???
happens if and only if three following conditions are satisfied.
(1) ? is on the CC at the time (denoted as ??,?) that ? starts to
send an ??? (i.e., an ???????,?? happens). (2) ? is not
sending in the interval (denoted as ???, i.e.,???,?,??,?? ????)
that ? is sending an ??? (i.e., a ???? ????? happens). (3) All
the neighbors of ? except ? do not interfere with ? on the CC
in the interval ??? (i.e., ?
????\???
1) ??????? and ??????
Pr????? ? Pr????
2) ??????
????????|???
?????
????????
?????????
happens). So,
Pr????
????????|???? ? Pr ????????,??,???? ?????,?
??????????.
????\???
?12?
Similarly, if ? is a receiver, we have
Pr????
????????|???
????? ? Pr ????????,?
??,???? ????
??,?
????????
???.
????\???
?13?
Due to space limitation and the similarity between ?12? and
?13?, we just show that how to solve ?12? via ?14?.
In M-cube, if ? is on the CC at ??,? (i.e., an ???????,??
happens), a ???? ????? will always happen since M-cube
does not allow ? to send when its neighbor ? is sending
an ???. This may cause packet collisions. So if we assume
???????,?? and ????????? to being independent, we have
????????|???? ?Pr????????,??? · Pr??Pr???? ??????????.
????\???
?14?
We can solve ?14? via ?15? and ?17?.
a) ??????????,???
For ?, ??,? is an arbitrary time. Therefore, we have
Pr????????,??? ? ???. ?15?
Let ?? be a sufficiently long time. In ??, the total number of
arrival messages at each node is equal to ???/???, so the
total time that a node sends all these messages on DCs is
equal to ??????/???. Whereas, approximately, the total
time that a node receives all these messages is ?????1 ?
???? ???????. In the long run, the total time that a node sends
messages is equal to the total time that a node receives
messages, when the networks are stable. In the long run, if we
assume ????? 1/2, based on ???????
???? ?1 ? 2????/????/?1 ? 1/??. ?16?
b) ?????????????
If ? ? ???, then a ????????? always happens because
whichever channel ? is on at ??,?, M-cube does not allow ? to
send on the CC while its neighbor ? is sending ???, because
this may cause packet collisions. Therefore, based on ?5?,
⁄
? ?, we have
Pr?? ??????????
????\???
? Pr??????????????\??? Pr????????????.??. ?17?
By the TPT, we have
Pr??????????? ? Pr??????????|? ? ???? · Pr?? ? ????
?Pr???????????? ? ??\?? · Pr?? ? ??\??. ?18?
We can solve Pr?? ? ???? and Pr?? ? ??\?? by the same
method in ?5?, so we can solve ?18? via ?19? and ?20?.
c) ?????????????
If ? ? ???, based on the same reason as ?17?, we have
Pr??????????|? ? ???? ? 1. ?19?
By the TPT, we have
Pr ??????????|? ? ??\?? ?
Pr ??????????|? ? ??\?|?????????? · Pr??????????? ?
Pr ???????????? ? ??\???????????
????????????? · Pr??????????
?????????????. ?20?