![](bg3.png)
3 PROPOSED SCHEME
The proposed routing algorithm consists of two parts:
the Context-Aware module and Optimal Path Config-
uration module. The responsibility of the context-
aware module is to learn the characteristics of the
varying environment and predict the stability of
routes. Based on that, the optimal path configuration
module is used to estimate and select the most stable
path to guarantee end-to-end communication reliabil-
ity. The following subsections discuss these parts in
detail.
3.1 Context-aware Module
In order to feasibly estimate the variations in the net-
work environment, semi-supervised learning, which
is a subcase of Machine Learning, is employed in
our routing algorithm. Recently, Machine Learning
has become one of the most efficient and practical
solutions to solve several routing issues (Yu et al.,
2010; Wang et al., 2006; Ahmed and Kanhere, 2010).
Supervised and unsupervised learning methods are
particular cases that perform learning tasks with la-
beled and unlabeled data, respectively. Wang et al.
(2006), and Ahmed and Kanhere (2010) applied the
supervised learning method to their research. How-
ever, their algorithms require a large amount of la-
beled data to train estimate functions. In most of
CRSNs application scenarios, the labeled data are dif-
ficult and/or expensive to obtain. In contrast, the
unsupervised learning method trains it’s estimation
function based on unlabeled data, which are readily
available. However, the unsupervised method is more
complex than its counterpart. Furthermore, the es-
timation accuracy cannot satisfy the communication
requirements of CRSNs. These shortcomings can be
alleviated by semi-supervised learning, which bene-
fits from tactfully utilizing both labeled data and un-
labeled data. The semi-supervised learning method
can provide good learning accuracy even when there
are only a few labeled data. Thus, it is more feasible
than supervised or unsupervised method based one in
CRSNs.
In order to learn the context information of
CRSNs, the routing algorithm needs to gather some
information as labeled data. To predict the link con-
nectivity to sink nodes, each node needs to maintain
the following context features:
• Neighbor node IDs (D
1
,D
2
,...,D
n
), and sink node
IDs (S
1
,S
2
,...,S
m
).
• Current time slots (t
1
,t
2
,...,t
k
) assuming that time
of day T is divided into k slots.
• Currently available channel set (Ch
1
,Ch
2
,...,Ch
c
)
assuming a set of locally available channels.
In order to guarantee energy efficiency, the con-
text information collection is performed in a passive
manner. In the network initialization step, the sink
node broadcasts HELLO message using a common
control channel (CCC). In addition to the initializa-
tion step, the message is broadcast repeatedly with a
period (T + ε)/k. During this period, ε is randomly
selected within a time interval δ (δ T /k) to pre-
vent congestion. The HELLO message is one of the
control packets that contains sink nodes’ IDs, locally
available channel set, and a connectivity label Y (Yes)
or N (No) field. A sink node sends the message af-
ter setting the connectivity label as Y . This message
is identified by the sink node ID and the current time
slot. A CRSD may receive many copies of the same
message from one of the neighbors. In this case,
the CRSD only forwards the first one to downstream
neighbors.
When a node receives a HELLO message, it
checks its label and the available channel set of the
sender. If the label is Y and they have the common
available channels, the node retains the label. Oth-
erwise, the node changes the label to N. Before for-
warding the message, the node stores the context in-
formation, which consists of sink ID, sender ID, the
current time slot, and the label in local memory. Then,
the localized context information is updated to the
message. The node stops the forwarding until there
are no downstream neighbors.
Through HELLO message forwarding, every
CRSD can maintain the labeled context information
and should know whether it is successfully connected
to a sink node. For example, a context information
hS
1
,t
2
,D
5
,{Ch
2
,Ch
3
,Ch
4
},Yi indicates that the node
can successfully communicate with sink S
1
at time
slot t
2
using the relay node D
5
, and the available chan-
nel set {Ch
2
,Ch
3
,Ch
4
}.
The pseudo-code description of the proposed al-
gorithm is given in Fig. 1. Let L
i
denote the labeled
context information and U
i
denote all possible com-
bination of the unlabeled context information in D
i
.
Two classifiers h
1
and h
2
are initially trained from L
i
.
Then, the classifiers are used to label U
i
· u
k
i
, which
indicate k
th
unlabeled context information in D
i
can
be labeled if both of the classifiers agree on the label-
ing. When one of classifier disagree with the other
one, the decision is made after comparing with a con-
fidence threshold value τ. After labeling u
k
i
, the node
adds it to labeled context information and then obtains
L
new
i
= L
i
∪u
k
i
. Then, the algorithm picks up u
k+1
i
and
repeats this procedure. This process is repeated un-
til there are no more confident unlabeled data to be
SENSORNETS2014-InternationalConferenceonSensorNetworks
190