Changes between Version 7 and Version 8 of EMR


Ignore:
Timestamp:
Oct 7, 2010, 11:01:43 PM (14 years ago)
Author:
Sensei
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • EMR

    v7 v8  
    11= EMR – Energy-efficient Multi-hop Routing for Clustered WS&ANs Cookbook =
    22
    3 This document includes instructions how to install and to run the Energy-efficient Multi-hop Routing (EMR) for Clustered WS&ANs.
     3This document aims to introduce about how to use the resource of Energy-efficient Multi-hop Routing (EMR). It first gives some background about EMR about its main objective and how it operates. Then the required devices and soft wear environment to install EMR are provided. After illustrate how to install the codes, it briefly explains how to run this routing solution.
    44
    55[[PageOutline(2-3,Table of Contents,inline)]]
     
    77== Introduction ==
    88
    9 The main purpose of EMR is to address the hot-spot issue in WSNs so that the network energy could be better utilized.
    10 The operation of EMR is as following:
    11  * First, some CH candidates are selected;
    12  * Second, these candidates compete to be the final CH;
    13  * Third, the CHs announce their role and allow non-CH nodes to join them as member nodes to form the cluster;
    14  * Fourth, the CHs collect the data packets from their respective member nodes;
    15  * Finally, the CHs aggregate these packets as one summary packet of the cluster and deliver them to the sink.
    16 Please note that the competition range of the CH candidates to be the CHs are determined by the probability of nodes to be the CH, acquired by the mathematical analysis which aims to equalize the node lifetime across the network.
     9Hot-spot issue means the phenomenon that some nodes in a WSN drain energy more rapidly than others, due to the higher load, and thus deplete energy earlier. Therefore hot-spot issue may differ node lifetime in the network. The main purpose of EMR is to address the hot-spot issue in WSNs via individual node lifetime equalization across the network, so that the network energy could be better utilized.
     10 
     11The operation of EMR is summarized as following:
     12 * First of all, some CH candidates are selected;
     13 * Then, these candidates compete to be the final CH;
     14 * After the CHs are selected, they announce their role and allow non-CH nodes to join them as member nodes to form the clusters;
     15 * Then each CH gives a slot to each member node belongs it and collects the data packets from its respective member nodes;
     16 * Finally, each CH aggregates these packets as one summary packet of its cluster and delivers them to the sink.
     17
     18Please note that the competition ranges of the CH candidates to be the CHs are determined by the probability of the nodes to be the CH, acquired by the mathematical analysis about how the node lifetime could be equalized across the network.
    1719
    1820== Installation ==
     
    2224
    2325 * [http://www.ubuntu.com/ Linux PC (Ubuntu)]/ [http://www.microsoft.com/windows/windows-xp/default.aspx/ Windows XP]
    24  * [http://weblogs.java.net/blog/opinali/archive/2010/08/21/jdk-6u21-javafx-131-and-deployment JAVE Envorinment jdk-6u21]
     26 * [http://weblogs.java.net/blog/opinali/archive/2010/08/21/jdk-6u21-javafx-131-and-deployment JAVE Environment jdk-6u21]
    2527 * [http://docs.tinyos.net/index.php/Getting_started TinyOS-2.x]
    2628 * [https://ncit-cluster.grid.pub.ro/trac/Sensei-Cookbook/wiki/emr/emr.tar.gz EMR software package]
    27  * At least 11 TelosB sensor nodes
     29 * At least 11 TelosB sensor nodes (one as sink, and others as normal nodes consisting a network)
    2830
    29 We assume that the installation PC is running a '''Linux''' operating system  and the [http://docs.tinyos.net/index.php/Getting_started TinyOS-2.x] and [http://weblogs.java.net/blog/opinali/archive/2010/08/21/jdk-6u21-javafx-131-and-deployment JAVA environment] have been installed and configured properly on it. We skip the installation of TinyOS. A user could refer to here and refer to [http://docs.tinyos.net/index.php/Getting_started TinyOS-2.x] about the installation if necessary. We describe the installation and configuration steps in the following for the [http://www.ubuntu.com/ Ubuntu] operating system.
     31We assume that the installation PC is running a Linux operating system, and the [http://docs.tinyos.net/index.php/Getting_started TinyOS-2.x] and [http://weblogs.java.net/blog/opinali/archive/2010/08/21/jdk-6u21-javafx-131-and-deployment JAVA environment] have been installed and configured properly. We skip the installation of TinyOS. A user could refer to [http://docs.tinyos.net/index.php/Getting_started TinyOS-2.x] about the installation if necessary. Please note that the description about how to install the EMR routing solution is based on the [http://www.ubuntu.com/ Ubuntu] operating system.
    3032
    31 There are two type of nodes in the network, the normal sensor nodes and the sink, where data packets from the normal nodes are periodically collected by the sink after some basic processing at the CH, e.g. data aggregation. This is the structure of the content of the EMR software package:
     33In a WSN, there are two types of nodes, the normal sensor nodes which form the network, and the sink. The data packets from the normal nodes are periodically collected by the sink after some basic processing at the CH, e.g. data aggregation. The following provides the detailed information about the structure and the content of the EMR software package:
    3234* Node \\
    33  * {{{EMRAPPc.nc}}}\\ Contains the configuration files and includes wiring between interfaces
    34  * {{{EMRCHC.nc}}}\\ Contains all relevant actions and behavior of the Cluster Head (CH), e.g. collecting the informaiton of the member nodes, receiving the data packets from the member nodes, and forwarding the summary packet of the cluster towards the sink
     35 * {{{EMRAPPc.nc}}}\\ Contains the configuration files and  the wiring between interfaces
     36 * {{{EMRCHC.nc}}}\\ Contains all relevant actions and behavior of the Cluster Head (CH), e.g. collecting the informaiton of the member nodes like how many member nodes belong it, receiving the data packets from the member nodes, and forwarding the summary packet of the cluster towards the sink
    3537 * {{{EMRClusteringC.nc}}}\\ Contains the procedure about how the clusters are formed
    3638 * {{{EMRInitC.nc}}}\\ Contains all initializations of each round across the network operation, and how to process the received message
     
    4244
    4345* Sink \\
    44  * {{{EMRSinkAppc.nc}}}\\ Contains the configuration files and includes wiring between interfaces
     46 * {{{EMRSinkAppc.nc}}}\\ Contains the configuration files and the wiring between interfaces
    4547 * {{{EMRSinkC.nc}}}\\ Contains the actions and behavior of the sink
    4648 * {{{EMRSink.h}}} \\ Header file
     
    5153=== Installation
    5254
    53 * First of all, install * [http://docs.tinyos.net/index.php/Getting_started TinyOS-2.x]
     55* First of all, a user needs to install and configure [http://docs.tinyos.net/index.php/Getting_started TinyOS-2.x] and [http://weblogs.java.net/blog/opinali/archive/2010/08/21/jdk-6u21-javafx-131-and-deployment JAVE Environment jdk-6u21] properly
    5456
    55 * Then copy the {{{build}}}  folder and the {{{Makefile}}}  into a new folder under the tinyOS directory for normal node
     57* Then the user could copy the {{{build}}}  folder and the {{{Makefile}}}  into a new folder under the tinyOS directory for normal node
    5658
    5759        {{{
     
    6365
    6466        {{{
    65 e.g. /opt/tinyOS2.x/emr/sink/
     67/opt/tinyOS2.x/emr/sink/
    6668
    6769}}}
    6870       
    6971
    70 * Now, you can load the binary code into normal nodes by
     72* Now, the user can load the binary code into normal nodes by
    7173
    7274        {{{
     
    7577}}}
    7678       
    77 * And then compile and load the binary code into sink nodes by
     79* And finally compile and load the binary code into sink nodes by
    7880
    7981        {{{
     
    8183}}}
    8284
    83 
    8485 
    8586== Running EMR==
    8687
    87 The following describes about how to run EMR step by step.
     88The following describes about how to run EMR step by step and how to test whether it is installed properly.
    8889
    8990* Operation\\
    9091
    91  * First, turn on all normal nodes. the nodes should have the red led on and wait for clustering indication from the sink node.\\
     92 * First, turn on all normal nodes. After a normal node is powered on, its red led will on, meaning that this node is waiting for clustering indication from the sink node.\\
    9293
    9394 * Then, turn on the Sink node.\\
    9495
    95  * When the sink node is on, the network starts operation, e.g. to cluster the nodes and to collect the data from the member ndoes by the CHs. \\
     96 * When the sink node is on, the network starts operation, e.g. the CHs are selected, the clusters are organized and the data packets from the member nodes are collected by the CHs\\
    9697
    97  * You could see that the different leds are on on the nodes, where bue led means a CH and green led means a member node.\\
     98 * During the operation, you should be able to see that different leds are on on the nodes from time to time, where a bue led means a CH, a green led means a member node and a red led means that this node has depleted its energy and died. Please note that each change of the node led means a novel round.\\
    9899
    99  * The status of the nodes are changing from time to time, e.g. a node may change its led colour meaning its role in the new round.\\
    100 
    101 
     100 
    102101* Monitor the debug messages\\
    103102
    104         Use the serial output to watch the debug messages:
     103        A user is able to use the serial output to watch the debug messages:
    105104
    106105        {{{
     
    114113       
    115114* Change parameters\\
    116       You could change the parameters, e.g. {{{control_packet_size}}}, {{{data_packet_size}}} freely in the funciton {{{send_parameter()}}} in the file {{{EMRSinkC.nc}}}
     115      A user is able to change the parameters, e.g. {{{control_packet_size}}}, {{{data_packet_size}}} freely in the funciton {{{send_parameter()}}} in the file {{{EMRSinkC.nc}}}