neteye: a wireless sensor network testbed - wayne state university

102
NETEYE: A WIRELESS SENSOR NETWORK TESTBED by DIVYA SAKAMURI THESIS Submitted to the Graduate School of Wayne State University, Detroit, Michigan in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE 2008 MAJOR: COMPUTER SCIENCE Approved by: Advisor Date

Upload: others

Post on 03-Feb-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

NETEYE: A WIRELESS SENSOR NETWORK TESTBED

by

DIVYA SAKAMURI

THESIS

Submitted to the Graduate School

of Wayne State University,

Detroit, Michigan

in partial fulfillment of the requirements

for the degree of

MASTER OF SCIENCE

2008

MAJOR: COMPUTER SCIENCE Approved by: Advisor Date

DEDICATION

I dedicate this thesis to my loving husband, Mr. Dinakar Prasad Polavaram.

Without his constant help, encouragement, comments and support, the completion of this

work would not have been possible.

ii

ACKNOWLEDGMENTS

I would like to thank Dr. Hongwei Zhang, my advisor for his guidance, support

and constant feedback. His enthusiasm for research and his timeliness in doing things

inspires me. I should say that this work became possible only because of his constant

encouragement and support.

I would like to thank CheXin, Xiang Qiao, Bo Mi, and Eyad Hailat for helping me

set up the devices for the testbed.

Finally I would like to thank my husband Dinakar Prasad for his constant help,

encouragement, comments and support through out.

iii

iv

TABLE OF CONTENTS

DEDICATION……….……………………………………………………………………ii

ACKNOWLEDGEMENTS……..………………………………………………….…….iii

LIST OF TABLES………………………….…………………………………………....vii

LIST OF FIGURES……….…………………………….……………………...…….....viii

CHAPTERS

1 Introduction………………………………...……………………………………...….1

1.1 Simulation……… ………………………...…………………………………......2

1.1.1 Limitations of the simulation……………….……………………….....2

1.2 High-fidelity Environmental Facility…………………………………………...3

1.3 GENI: Global Environment for Network Innovation……………………......4

1.4 Contributions of the thesis…………………………………………………….....5

2 Design Issues for Wireless and Sensor Network Testbed.. ……………………...…..8

2.1 Interference control ………………………………………………………..….8

2.2 Topology control ……………………………………………………..…….11

2.3 Resource Management …………………………………………………..…..12

2.4 Health Monitoring Necessity and Requirements………………………...…….14

2.5 Provision of user tools……………….………………………………………...16

2.6 Provision of administrative tools ……….…………………………………....19

3 Survey of Network Testbeds …………………………………………………….....21

3.1 Kansei …….………………………………………………………………....21

3.2 Motelab ………………………………………………………………….....22

v

3.3 SensorNet …….. …………………………………………..…………….......24

3.4 Orbit ……..…………………………………………………………..…........25

3.5 Emulab …….………………………………………………………………..28

3.6 PlanetLab…………..…………………………………………………………...30

3.7 Physical parameter comparison of different testbeds……………..…………34

3.8 Design Parameter comparison of different testbeds………………………….35

4 NetEye..…………………..…………………………………………………....……36

4.1 Related Work…..……………………………………………..…...……………37

4.2 Interference control in NetEye……… ……………………………………40

4.2.1 Observations…………..……………………………………………....46

3 4.2.1.1 NetEye Embedded Lab..……...…………………………....47

4.2.1.2 Undergrad library………..……...………………………....49

1 4.2.1.3 Deroy apartments....…..……...…………………………....50

1 4.2.1.1 Quite area in Richmond.……...…………………………....52

4.2.2 Results………………………..…………………………………….....53

4.3 Elements of NetEye…………………….……………………………………....53

4.3.1 Hardware Components……….……………………………………….54

4.3.2 Topology control in NetEye…………………………………….…….56

4.3.3 NetEye server………………...……………………………….……...59

4.3.3.1 NetEye server implementation……………………………..61

4.3.4 Integration between NetEye server and motes (Laptops)…….……...61

4.3.4.1 Integration points (Laptops) implementation……….………62

4.3.5 Software Components………………………………………………...63

vi

4.3.5.1 New user……………………………………………….…...64

4.3.5.2 Topology selection………………………………………….65

4.3.5.3 Schedule jobs………………………………………………..66

4.3.5.4 Upload files…………………………………………………66

4.3.5.5 Resource Management in NetEye…………………………..67

4.3.5.6 Manage jobs…………………………………………….......69

4.3.5.7 Cancel jobs………………………………………………….70

4.3.5.8 Programming the motes…………………………………….71

4.3.5.9 Killing a job…………………………………………….......71

4.3.5.10 Data retrieval……………………………………………….72

4.3.5.11 NetEye injection…………………………………………….72

4.3.5.12 Health Monitoring…………………………………………..74

4.3.5.13 Administrative tool to add users…………………………….75

4.4 NetEye in Use-Light Sensing Demo……………………………………….......75

5 Conclusions and Future Work…………………………………………………........77

Appendices

A Light Sense Demo Web Pages………………………………………………………79

B General User Web Pages…………………………………………………………....81

C Registered User Web Pages………………………………………………………....84

Bibliography……………………………………………………………………………..89

Abstract…………………………………………………………………………………..92

Autobiographical Statement……………………………………………………………..93

vii

LIST OF TABLES

2.1 2.4GHz ISM Band (802.15.4 and 802.11 channels)…….………………………...10

3.1 Testbeds detail chart…………………………………………….………………20

3.2 Physical parameter comparison table for different testbeds………………….......34

3.3 Design parameter comparison table for different testbeds……………………...…35

4.1 CI of RSSI values at different channels in NetEye Embedded Lab……………….47

4.2 CI of RSSI values at different channels in Undergrad Library……………………49

4.3 CI of RSSI values at different channels in Deroy apartments……………………..50

4.4 CI of RSSI values at different channels in Richmond.……………………………52

viii

LIST OF FIGURES

2.1 RF Channel spectrum of 802.15.4/Zigbee and 802.11/WiFi……………………...10

4.1 RSSI vs Time-NetEye Embedded Lab (802.15.4/ch 26, 802.11/ch 1)...…………42

4.2 RSSI vs Time-Undergrad Library (802.15.4/ch 26,802.11/ch 1)…………………43

4.3 RSSI vs Time-NetEye Embedded Lab (802.15.4/ch 11,802.11/ch 1)…………....44

4.4 RSSI vs Time-Undergrad Library (802.15.4/ch 11, 802.11/ch 1)……………......44

4.5 RSSI vs Time-Quite area in Richmond (802.15.4/ch 11, No 802.11)……………45

4.6 RSSI vs Time-Deroy Apartments (802.15.4/ch 11, peer-to-peer Networks)…….46

4.7 Boxplot showing median and 95% CI-NetEye Embedded lab…………………..48

4.8 Boxplot showing median and 95% CI-Undergrad library……………………….50

4.9 Boxplot showing median and 95% CI-Deroy apartments………………………...51

4.10 Boxplot showing median and 95% CI-Richmond………………………………...53

4.11 Elements of NetEye……………………………………………………………….54

4.12 Telosb Mote……………………………………………………………………….55

4.13 PDR vs RSSI at different power levels at channel 26……………………………57

4.14 Boxplot for PDR vs Distance at power level 2…………………………………58

4.15 Boxplot for PDR vs Distance at power level 3…………………………………...58

4.16 Boxplot for PDR vs Distance at power level 6………………………………….59

A.1 Light Sense Demo web page when all nodes detect zero light…………………...79

A.2 Light Sense Demo when few nodes sense light greater than critical value………80

B.1 Topology Web Page……………………………………………………………...81

ix

B.2 Health Monitor Web Page……………………………………………………......82

B.3 New User Registration Web Page……………………………………………......83

C.1 Login Page to enter into the system……………………………………………...84

C.2 Selecting the node group Web Page……………………………………………..85

C.3 Schedule Jobs Web Page………………………………………………………...86

C.4 Topology grid on schedule Jobs Web Page……………………………………...87

C.5 Manage Jobs Web Page………………………………………………………........88

1

Chapter 1

Introduction

Recent developments and market trends towards portable computing and

communication devices imply an increasingly important role for wireless access in the

next generation Internet. The research of wireless sensor networks has become

prosperous in recent years because of their potential applications in many areas, such as

environmental monitoring, surveillance, disaster search and rescue. The short range

wireless sensor networks are of prime importance to drive the deployment of large-scale

embedded computing devices. Wireless, mobile and sensor network scenarios are

expected to grow rapidly at the edge of internet. These devices will be used increasingly

in “pervasive computing” applications in which the Internet enables monitoring and

interaction with every aspect of the physical world. Over past few years, the Internet has

evolved into a global network supporting a variety of computing and telecommunication

applications. In future the Internet must respond to many emerging requirements like

increased scale, improved security, and support for mobile, wireless devices and

embedded applications.

In order to help building the next generation Internet which will include wireless

and sensor network devices, researchers need a vehicle to drive their next ideas.

Researchers are investigating next generation network architecture and protocols but they

need a facility to evaluate them. The evaluation can be done using Analytical modeling,

simulation or High-fidelity environments (measurements).

Analytical modeling provides best insight into the effects of various parameters

and their interactions. In spite of being flexible to use at any stage analytical modeling is

2

less used compared to simulation or measurements because of its complexity. Another

disadvantage of analytical modeling is its simplified mathematical modeling tools which

do not capture the irregularity of sensor networks.

1.1 Simulation

Simulation is a replication of reality. When applied to the study of research design,

simulations can serve as a suitable substitute for constructing and understanding field

research. Simulations are easier to set up than physical experiments, are easy to repeat

and modify, and are highly portable. Due to lack of realistic environments and the ease of

usage a great deal of research activity was conducted on simulated environments. Though

they might be a substitute to real world system with full control on the system they have

lots of limitations and the simulated results cannot be trusted in building the next

generation internet which will be the future of the world.

1.1.1 Limitations of the Simulation

The challenge of developing, deploying, and debugging applications on the

realistic environment will be unmet with simulations. Many of the current simulators are

unable to model many essential characteristics of the “real world.” Simulations are based

on common simplifying assumptions. Accurate simulation model development requires

extensive resources. Most of the simplifying assumptions made in the simulations, along

with limited real-world modeling capabilities of existing simulators affect the quality of

the results. The shortcomings of modern simulation do not merely lead to minor

inaccuracies in experimental results. Rather, the simplifying assumptions that are built

into current wireless and wireless sensor network simulators lead to profound differences

between the behavior of system in simulation and the behavior of the real system .The

3

simulation results are only as good as the model and they are still only estimated or

projected outcomes. Especially for wireless sensor networks simulation models do not

capture the radio and sensor irregularity.

1.2 High-fidelity experimental facility

Simulations with the simplified assumptions and simplified results do not produce

accurate results. Research community needs to perform controlled experimental

investigations of protocols and evaluations using real-world devices. An open wireless

network and sensor network experimental facility is very important to the research

community in view of the limitations of simulated environments. Another requirement is

to run large scale experiments with the real devices for better evaluation of protocols.

Manually reprogramming nodes, deploying them into the physical environment, and data

gathering is tedious and time-consuming.

When building high-fidelity experimental facilities, the following characteristics

are desirable:

1. Realistic Environments which are not too sterile

2. Flexible to user

3. Simple Programming and experimental Interface

4. Entire control to user on the experiment

5. Scale in terms of devices

6. Production of accurate results

7. Mix of devices providing heterogeneity

Wireless and sensor networks testbeds with all the above features incorporated

can best be a high-fidelity facility. By providing the realistic environments for testing the

4

experiments, the testbeds bridge the gap between the simulation and deployment of real

devices. The testbeds thus deployed can improve the speed of innovation and productive

research.

1.3 GENI: Global Environment for Network Innovations

High-fidelity testbeds are being built all around. Integration of all the testbeds

through a common structure can better accommodate research facilities to develop next

generation internet architecture and protocols. There are proposals to integrate all the

testbeds in United States with a community project called GENI. GENI is an open, large-

scale, realistic experimental facility that has the potential to revolutionize research in

global communication networks. Its central goal is to change the nature of networked and

distributed systems design: creating over time new paradigms that integrate rigorous

theoretical understanding with compelling and thorough experimental validation. The

design of the facility is continually being refined to better accommodate research

requirements and to leverage the best available technologies for its construction. GENI is

intended to support two general kinds of activities. First, Running controlled experiments

to evaluate design, implementation, and engineering choices. Second, deploying

prototype systems and learning from observations of how they behave under real usage.

There are different working groups formed in GENI among which “GENI

Wireless Working Group” focuses on refining the design of the wireless and sensor

network components of the facility. It has the following two objectives.

• Identify major research challenges for the future Internet as it relates to mobile,

wireless and sensor devices.

5

• Make recommendations for research infrastructure necessary to pursue major

research themes identified, drawing upon community experience with testbeds

and platforms.

1.4 Contributions of the thesis

In lieu of the short comings of analytical and simulation models there are large

number of testbeds growing around the world. At Wayne state University, we built a

wireless and sensor network testbed, NetEye. NetEye is a high-fidelity testbed which is

part of the Kansei Consortium. Kansei consortium, which has been planned to be

integrated into GENI.

My Contributions to the NetEye testbed are as follows:

1. A controllable facility needs to be set up in testbeds to provide highly accurate

results. To achieve this in NetEye, I studied the interference between wireless and

sensor networks. An interference free channel should be set on sensor networks in

the presence of wireless networks. Experiments were done at different channels,

different times and different places. This helped in finding different interference

levels at different channels and to discover which channel to use on the sensor

networks. Through the experimental analysis, I found out that channel 26 is

interference free.

2. I designed the topology setting in NetEye. Experiments were done to achieve the

reliability of up to 6 hops in the testbed. Through these experiments, the distance

between the two nodes and the power level to set on the sensor nodes were

decided.

6

3. Implemented a resource scheduling algorithm which is on FCFS basis and is a

best effort service model.

4. Developed a web interface for NetEye which allows remote access and is easy to

use. The interface contains tools for scheduling, managing, and canceling the jobs

as well as retrieving output data. Another significant feature of the NetEye web

interface is its graphical topology selection tool which is easier to use than the

traditional list box.

5. Designed NetEye to be secure in a way that it does not allow the users to view or

collect other’s data.

6. Implemented facilities for automated reprogramming of the nodes and data

logging.

7. Implemented the injection tools that enable online interaction with the motes.

8. Designed and implemented a health monitoring tool to monitor the health status

of the testbed. This tool is proved to be very important for users and

administrators.

9. Implemented a few administrative tools for the maintenance of the testbed

10. Implemented a demo application, Light sense, to demonstrate the features of

NetEye.

In the following chapters I will discuss in detail the design issues, architecture and

implementation of the NetEye testbed. In Chapter 2 I will present the important

design issues for building a wireless and wireless sensor network testbed. Chapter 3

contains a survey of network testbeds. In Chapter 4 I will discuss the architectural

details, design issues, comparison with other testbed details, and the implementation

7

of NetEye testbed and usage scenario of NetEye testbed. Chapter 5 contains details

the future work which includes Kansei Consortium and GENI.

8

Chapter 2

Design Issues for Wireless and Sensor Network Testbed

To meet the goals of any deployment proper design is the key factor. The testbed

design should be in such a way that the users can relay on the results of the facility. To

obtain accurate results the testbed should provide controlled realistic environment. Apart

from providing controlled environment the testbed should be easy to use.

The deployment of testbed with self-forming networks of wireless devices and

sensor network devices require a lot of design issues to be considered. This is because the

main goal of the testbed is to provide accurate results by providing a user friendly

interface to researchers to perform their experiments.

The main design goals to be considered while deploying a wireless and sensor

network testbed are as follows:

1. Interference control

2. Topology control

3. Resource Management

4. Health Monitoring necessity and requirements

5. Provision of user tools

6. Provision of administrative tools

2.1 Interference control

For testbeds to accurately generate results an interference controlled environment

is necessary. The wireless network devices are referred by IEEE as 802.11 devices and

the wireless sensor network devices as 802.15.4. One of the important concerns when

building a wireless sensor network testbed is it’s coexistence with other wireless

9

networks. Coexistence can be said as “the ability of one system to perform certain task in

a given shared environment where other system may or may not be using same set of

rules”. There will be many scenarios when different radios will operate in the same place

and same time explosively growing the Industrial, Scientific and Medical (ISM) band

usage. 802.15.4 radios share the 2.4 GHz ISB band with lots of other wireless devices

like 802.11, Bluetooth headsets, 2.4 GHz cordless phones, microwaves etc. It is of prime

importance to study the RF interference on 802.15.4 networks in the crowded ISB band.

In some testbeds, deployment of both wireless and wireless sensor networks may

be necessary. In such a situation 802.15.4 networks and 802.11 networks should operate

simultaneously. Although the unlicensed ISB bands do not require strict coordination

between the deployed devices, they do not permit all forms of behavior between the

devices. The devices might interfere with each other and there could be loss of data and

performance degradation.

To understand the potential problem, the available channels and RF spectrums for

the 802.11 and 802.15.4 are shown in the below table and figure respectively.

Table 2.1: 2.4GHz ISM Band (IEEE 802.15.4 and IEEE 802.11 channels)

10

There are 11 channels in 802.11 with only 3 non-overlapping channels. Each

channel has 22 MHz frequency range. There are 16 channels in 802.15.4 with 3 MHz

frequency range and each channel is 5MHz apart.

Figure 2.1: RF channel spectrum of IEEE801.15.4/ZigBee and IEEE802.11b / WiFi

Since the RF channels in 802.11 and 802.15.4 overlap there is a cause for concern.

Even the beacon packets from the 802.11 access point cause a considerable interference.

To reduce the amount of interference from 802.11, a channel on 802.15.4 which does not

interfere with any 802.11 channel should be used.

From Figure 1, we can observe the RF spectrum of channels 15-24 of 802.15.4

overlap with the channels 1-11 of 802.11. This shows that the channels 25 and 26 in

802.15.4 are interference free from any channels of 802.11. There should be an

experimental evidence to prove this.

For the interfering devices since they don’t use the same format, messages and

data from the other device seems to be like noise. Experiments can be designed to collect

11

the Received Signal Strength (RSSI) in the presence and absence of the interferers. If any

difference is observed, that accounts to the interference between the devices. Channels

thus selected through experimentation can be set on 802.15.4 devices to provide the

abstract interference free environment.

2.2 Topology control

While designing the topology of the testbed there are lot of issues to be

considered to meet the goals of the testbed. Few of the important considerations might be

to choose which place to use, which equipment to use, how the devices should be placed

on the chosen equipment etc.

Once the sensor and wireless devices are chosen according to the requirements the

physical and radio properties of the devices should be studied. The equipment to place

these devices should be selected appropriately. For example wood can be chosen to place

the devices as it won’t conduct. The sensor devices will have large transmission ranges

indoors. Experiments should be done appropriately to set the transmission range to form a

multi-hop network. Attenuator can be used to reduce the communications over large

range.

2.3 Resource Management

Resource allocation and management is key factor to any shared computing and

communication infrastructure. Resource allocation should provide fairness, efficiency,

and reasonable performance for each scheduled task while honoring federated control.

The challenge is to schedule all the tasks contending to use the nodes at the particular

time. Some services using the testbed need guaranteed allocation of resources but some

services may need just best effort service model. The best effort service model should be

12

employed as the resource allocation algorithm results in higher levels of resource

utilization.

The shared testbed can either perform strict space sharing where individual jobs

control subset of nodes or best-effort scheduling where individual jobs receive resources

inversely proportional to the number of currently competing jobs. The amount of

resources that can be reserved by an application, the relative priority of best-effort

applications, and the proportion of global resources subject to admission control are all

matters of the resource allocation policy implemented in a particular testbed.

One of the important tasks of the resource allocation mechanism implemented is

to allow efficient usage of the resources available. It should be ensured that the users only

acquire as much resources as they truly need and for only the period of time they really

need them. Renewing of the resource privileges every few minutes should be

implemented to ensure the resources usage efficiently.

Resource allocation algorithm implemented in the shared system like testbed

should satisfy the following requirements:

a) Heterogeneous user base

The testbed can be used for a simple network experiment or a complex system

architecture research. The resource allocation algorithm should provide some baseline

guarantee of the resource availability to both kinds of users.

b) Policy Implementation

The Resource allocation should implement appropriate policy to guarantee

resource to the individual users and applications. The policy can either share equal

resources for all the users or give allocate more resources to certain type of resources. If

13

the first type is implemented then many of the resources will be wasted if the resources

are not being used by them in a given particular time. The second method lacks fairness;

a normal user may or may not get the resources he wanted to use.

c) Resource Isolation

Once the policy mentioned in the above section is implemented there should be

resource isolation. Virtualization is one technique which can be used to provide isolation.

Resource allocation and isolation are enforced on per node basis.

d) Security and Authentication

Security is a primary requirement for any resource allocation infrastructure. Users

must have a secure mechanism for authenticating themselves to the system and to receive

the resources that they are entitled to. Users should not be allowed to consume more than

allocated share of resources denying other users from using the system.

e) Separation of policy and Mechanism

Following two kinds of policies best effort or guaranteed allocation there should

not be any fixed constraint on which user gets which resources, priorities of the jobs etc.

Basic mandatory classes of resource principles and the capabilities types should be

defined which will take care that the resources are allocated with in the authorized usage

limits.

f) Providing proper incentives

The enabled resource allocation policies should:

• Ensure user commitment to the continued maintenance and growth of the

infrastructure.

14

• Promote user consumption of only as much resources as they require, especially

during times of peak demand.

2.4 Health Monitoring Necessity and Requirements

Health monitoring service should be considered important while designing a

wireless and sensor network testbed. The testbed will contains lots of hardware devices.

It is natural for the faults to occur in the mid of the experiment affecting the quality of the

data. The fault can be due to the relatively unreliable wireless sensor network devices,

software faults, or incorrect configuration of the devices. The faults can be categorized as

follows:

a) Device Failure

Device failure which the name itself suggests may be due to hardware failure or

software fault which failed the device completely. There will be many hardware devices

which might fail. The failure might be in the wireless sensor device, wireless device etc.

It depends on the deployed devices in the particular testbed.

b) Software Defects

A software defects and errors might corrupt a device or a network interface. This

might be due to bug in the code or using wrongly configured software.

c) Fault on the Network Interface

Communication between the devices might also fail due to driver failure,

unplugged Ethernet cable, detached cards etc. A situation of all the network interfaces

failure resulting in detached forest of devices is also a possible. These faults are

important to be diagnosed for both the users and the administrators of the testbed

15

There are several important requirements to be considered while developing a

health monitoring service since both the administrators and users use this tool. The

requirements are as follows:

a) Correctness and Reliability

The monitoring results obtained should be correct. Incorrect data leads to

misusage of the testbed facility. The status of each and ever resource in the network

should be reliably obtained. Monitoring service should be reliable in the manner that it

should not be affected by the experiments scheduled on the testbed or the communication

procedures. If it happens so then the monitoring results might be incorrect.

b) Efficiency

The monitoring application should be efficient. This means it should not consume

lots of time and lots of testbed resources. It should be efficient enough to monitor using

less time, few messages and fewer resources.

c) Independent and Adaptable

Testbed runs with lots of hardware devices. Hardware devices are not for ever,

they might be replaced due to several reasons. The Health monitoring code should be

independent of all such changes and should adapt to any replacements on the testbed. It

should be adaptable even when the network devices, interfaces and the configuration

changes with very less effort.

d) Availability:

Monitored results should be available to the users and administrators in real time.

To accommodate this requirement health monitoring code should be automated to run

16

periodically or it should be flexible to even run on demand. The results should be

displayed on the GUI for the users and the administrators.

e) Handling Heterogeneity:

A Wireless and Wireless sensor network testbeds may have many different

devices with different capabilities and limitations. The health monitoring application

should be capable enough to monitor the status of different hardware components like

wireless devices, sensor network devices, Ethernets, embedded Linux systems etc.

2.5 Provision of user tools

The kind of user tools to be provided to the user using the testbed is another important

design decision to be made. The tools should be very user friendly, flexible to the use,

and provide the user with full control on his experiment. A Graphical user interface

should be provided to the users for easy access and control of his experiments. The

interface should also be remotely available. Ideally the Sensor Network testbed GUI

should have necessary tools to perform the following operations.

a) Tool for registering as a new user

New users should be able to register into testbed for doing their experiments. The

users should be given a form to fill in and the administrator should check the genuinity of

the information. Once the validation of the user information is done he should be given

access to the testbed with appropriate privileges. This method proves an easy way for

both the users and administrators.

b) Tool for scheduling an experiment:

The user once provided the authentication should be able to schedule the nodes

for his experiment. The nodes should be assigned according to the resource allocation

17

algorithm implemented in the testbed. The algorithm can either be a best-effort access or

guaranteed access to the nodes. The user can select the start time for his experiment and

also the duration to run his program.

c) Tool for knowing the job status

The users will always want to know the status of his scheduled experiment. The

status should be communicated to the user through a GUI interface. This increases the

user trust on the deployed testbed. Also implementing necessary security mechanisms

(the user should only view his jobs) is appropriate.

d) Tool for canceling the experiment

The testbed design should be in such a way that it should save the resources when

ever possible. There should be a provision to cancel the scheduled experiment at any

moment. This saves lots of resources if the user has scheduled a wrong experiment, or on

the wrong nodes that he does not want to. Another advantage is if the user has specified a

wrong duration say 100 minutes instead of 10 minutes, it is not a good idea to wait for

100 minutes when the user really does not want to.

e) Tool for injection of real time data

The user might want to inject the data into the wireless or sensor devices when

necessary. It might be any time in between the experiment (real time). A GUI interface

should allow the user to inject his data into the appropriate nodes when necessary. This

injection should be abstract enough not to interfere with other nodes running different

experiments and data logging facility..

18

f) Tool for monitoring the health status of the nodes

To provide the user with up-to date information about the nodes a Health

Monitoring service is necessary. If the user checks the health of the node often while the

job is in process he can determine the quality and correctness of the output data. If the

node is up and running before the job and after the job too then there is less likely that the

produced result is not correct. If the node is running before the job and if it fails in the

middle and still gives some results the users will know the result is not accurate. Through

the health monitoring tool users can also know the job statistics on a particular testbed.

g) Provision to collect the results

The job of testbed is not done with experiment scheduling, resource allocating,

health monitoring etc. It has to provide the results to the users for analysis. A GUI should

provide the user with the link to collect his experimental data, errors if any to analyze.

With all the above facilities provided and running a testbed provides a realistic,

flexible, ease to use environment to the users. Such testbed provision is of high

importance to the research community as it eliminates most of the disadvantages of

simulated environments.

2.6 Provision of administrative tools

Administrative tools are necessary for maintenance of the testbed. Different kind

of administrative tools can be developed according to the requirements. The below

explained administrative tools are very important in any testbed.

a) Creating New Users

Only the administrators should have privileges to create new users. When the user

requests access to the testbed through filling the registration form, the administrator has

19

to accept the request. Administrators should have a handy tool to add the user in to the

system. This helps to reduce the manual work of the administrators.

b) Health Monitoring as administrative tool

The Health Monitor serves good both as an administrator as well as a user tool.

For the users it is to know the status of the nodes. For administrators it is to help maintain

the testbed. Through this service administrators should easily know the nodes which are

down. The fixing of the node will be easier this way because the administrator do not

have to go and check each node manually in such a large facility.

There might be many other minor issues which are to be considered in the design

phase of testbed. But the above mentioned design issues are very important and worth

considering. All the existing testbeds in spite of having their own design methodology

and scheme considered these issues very important for building the testbed. Next chapter

explains the testbed design methodology of network testbeds in detail

20

Chapter 3

Survey of Network Testbeds

The setting up of different wired, wireless and wireless sensor network testbeds is

growing in fast pace. Testbeds are being set up in many universities all over the world,

few of them in collaboration with major organizations like Intel, Motorola etc. Few of the

important testbeds in United States which are going to be part of GENI are referred in the

following table:

Testbed Name Year Establishment

Kansei 2004 Ohio State University

Motelab 2004 Harvard University

SensorNet 2005 Intel Berkeley Research Labs

Orbit 2005 Rutgers(WINLAB), Columbia, and Princeton, Lucent Bell Labs, IBM Research and Thomson

Emulab 2002 University of Utah

Planetlab 2002 Berkeley, Intel Research, MIT, Washington, Rice, Princeton, Columbia, Duke, Utah, HP

Table 3.1: Testbeds detail chart

It is important to survey some of the existing testbeds to understand the design

goals, functionality, design issues in order to set up a new wireless or wireless sensor

testbed. The testbeds studied include wireless sensor network testbeds (Kansei, Motelab

and SensorNet), wireless testbeds (Kansei, Orbit, and Emulab), and wired network

testbeds (Emulab and Planetlab).

21

3.1 Kansei

The Kansei Testbed at Ohio State University was developed to provide sensing at

scale. The Kansei testbed consists of stationary array with 210 nodes (XSM and

Stargates) on a rectangular 15X14 rectangular bench with 3 feet spacing, 150 TMote sky

nodes for mobility, 50 Trio motes in a portable array which duplicates the sensors in

stationary array for at-scale high fidelity sensing, and 5 robotic mobile nodes.

The objectives of the Kansei testbed include

• Provision of Heterogeneous hardware infrastructure for wireless and sensor

network experiments. Stargates are used as wireless network devices and TMote

sky nodes are used as sensor nodes.

• Time accurate hybrid simulation engine for simulation which is designed to

simulate large-scale experiments with emphasis on high fidelity on timing,

application, radio and sensing environments and complements the prior work on

simulation.

• High fidelity sensor data generation and real-time data and event injection on fly,

which enables dynamic experiments with the mobile nodes where the user can

change the input processes in real time.

• Software components to support complex multi-tier experiments utilizing real

hardware resources and data generation and simulation engines.

In Kansei testbed user can define the topology and schedule a job through the remote

web interface. There is provision for data storage, data analysis, remote access, and high

fidelity sensor data generation and Injection. Easy data retrieval is another added

advantage in Kansei Testbed. Kansei Testbed includes cluster of PC’s for running

22

visualizations, compute-intensive analysis, high fidelity sensor data generation, hybrid

simulation and diagnostic analysis. One of the PC called Director which is a remotely

accessible multi user frame work provides the services. It provides services for

experiment scheduling, deployment, monitoring and management for all array platforms

like motes and stargates, creation and management of testbed configurations, System

administrative services for managing the testbeds, and it contains tools for data injection,

and logging of all array platforms and tools for hybrid simulation. “Chowkidar” which

means watchman is Kansei’s Health Monitoring tool. Periodically the Health-Monitoring

service runs automatically giving important data about the testbed devices.

Health-Monitoring serves both users and the administrators. For users monitoring

this data helps in analyzing the real time data in the way if any node is corrupted or

producing error etc. For the administrators it helps in detecting if the node or device is

not working and helps in knowing the reason why it happened. The software is developed

in PHP, Perl and MySQL as the backend.

3.2 Motelab

The objective of Motelab testbed at Harvard is to meet the challenge of deploying,

developing, and debugging applications on realistic environments on large scale.

Recently they have deployed 190 TMote Sky sensor “motes” with T1 MSP430 processor

running at 8MHz,10KB of RAM, 1Mb Flash Memory, Chipcon CC2420 radio. The

CC2420 radio operates at 2.4GHz and has an indoor range of 100 meters approximately.

The motes are powered from wall power. The motes run the TinyOS operating system

and are programmed in NesC language. The mote provides two TCP ports one for

reprogramming and one for data logging. The functionality of Motelab includes create,

23

edit and schedule a job, programming the node, logging the data through a central server.

Users access the testbed using the web browser to set up or schedule jobs and download

data.

The different software components of the motelab are

• Web interface for job creation, scheduling, and data collection.

• MySQL Database Backend for storing the collected data

• DBLogger, a java program to parse the data generated. It will be started at the

beginning of every job. It connects to the data logging port of emote and its main

job is to collect the data.

• Job Daemon, a Perl script Job running as a cron job is responsible to set up

experiments, which involves reprogramming nodes and starting other necessary

system components like DBLogger and tears them down when finished, and

dumping the data from the MySQL database into a format suitable for download.

Resource scheduling in motelab is done through defining the user quota which

facilitates sharing the lab between multiple uses. The quota does not control how much

total access the user will have on the lab. It limits the number of outstanding jobs the user

can post to the lab at once. Motelab also provides direct access to the nodes serial port

over TCP/IP connection. This helps in monitoring and injecting the data to the motes via

its serial port. An important service motelab avails is Power measurement. Since the

sensor network power developers become aware of power as a design constraint this

feature is developed. A networked Keithley Digital Multimeter is attached to a node and

it will sample continuously at 250Hz, it bursts at 3000Hz and this value is displayed on

the main page of the web interface.

24

There are two different ways to use motelab. One is batch use where user can

schedule a batch of jobs and don’t have to worry about them till he gets the data. Other is

Real time Use where the user can interact directly with their job by attaching to the

exposed per-node serial forwarder or accessing the MySQL database. Motelab has a

connectivity Daemon which is kind of health Monitoring tool. It is used to collect the

information about the nodes and graphically represent the connectivity on the Maps pages.

The administrators can run it periodically when the lab is available. A Java program that

runs during the job connects directly to active nodes and uses this connection to tell them

when to send messages and when to listen. A Perl accesses the database tables and

calculates the packet losses and updates the connectivity information between the pair of

nodes.

3.3 SensorNet

SensorNet is a testbed by Inter Berkeley Research. It has 150 micaZ motes with

CC2420 802.15.4 radio. A canonical testbed incorporates a collection of compute and

sensing nodes that are coupled together by an out-of-band communication channel and a

power supply. This channel provides for remote control, reprogramming and data

collection independent of a node’s wireless capabilities. The power supply eliminates the

need to replace batteries, reducing the physical maintenance needs of the testbed.

Current testbed resource allocation algorithm has the following shortcomings:

• Short of meeting real user demands on a large system.

• Lack or have inadequate mechanisms for resolving contention among competing

users during peak times of demand. This system often requires direct system

administrator intervention to resolve conflicts.

25

• They provide limited mechanisms for expressing resource. So the user cannot

express desired resources and their associated constraints.

• This affects the efficient utilization of the underlying resources by limiting the

system’s ability to make intelligent allocations for multiple users.

To address user contention Intel Research Berkeley has developed tool “Mirage”

from Intel for allocation of resources. It applies microeconomic approach to arbitrate

among competing users. Users will be given virtual currency to request for the resources.

A combinatorial auction is then periodically run to determine which bids are allocated

resources based on supply and demand while aiming to maximize aggregate utility. A

combinatorial auction is periodically run to determine which user bids are allocated

resources based on supply and demand. User who ever spends more currency on

particular resources is the winner. The aim is to maximize the aggregate utility of the

resources on the testbed.

3.4 Orbit

Orbit is open-access research testbed for next generation wireless networks. The

ORBIT testbed consists of an indoor radio grid emulator for controlled experimentation

and an outdoor field trial network for end-user evaluations in real-world settings. It

consists of 20X20 802.11 radio nodes with 1m spacing in the indoor testbed and mix of

3G and 802.11 nodes in the outdoor testbed which spans over region of 5 Km wide and

2km long space.

The design objectives of the orbit testbed at Win lab, Rutgers include

• Scalability in terms of the number of wireless nodes

26

• Reproducibility of experiments which can be repeated in similar environments for

similar results

• Open-access flexibility giving the researcher high-level control over protocols and

software used on the testbed

• Extensive measurements capability at all the layers providing cross layer

experimental possibility

• Access to the testbed remotely through a web interface

Orbit testbed provides functionality for defining a topology, scheduling a job, and

running cross-layer experiments. Also, it provides the following services

a) Integrated Chassis Manager which is used to remotely monitor the status of the radio

nodes. The nodes can be reset, powered on/off remotely through the third Ethernet

interface.

b) Instrumentation Subsystem helps in the measurements of radio signal levels and to

create artificial RF interference in the grid. While the interference generator is based on

RF Vector Signal Generator, the spectrum measurements are done using Vector Signal

Analyzers.

c) Independent WLAN monitors which provide the MAC/network layer view of the radio

grid components using WLAN “observers” spread across the system.

There are different Support Servers like web servers for front end and back end database

servers for experimentation and data storage. The backend server has multi-terabyte

storage capacity.

In Orbit Software packages and libraries have been developed to support both

application/protocol evaluations. These include common libraries for traffic generation,

27

measurement collection etc. To provide flexibility a layered approach and modular design,

with open APIs, hiding the unnecessary details of experiment operation and complexity

from users is being implemented.

The Orbit testbed has following management software components.

a) Node Handler

The Node Handler multicasts the experiment scripts to the Node agents residing

on the individual nodes. The Node handler processes the experiment scripts, keeps track

of experiment steps and events, and sends them at the appropriate node agents. The Node

agent reports back the state of experiment command execution to the Node Handler.

b) Collection Server

The collection server collects the reported measurements during the experiment.

The nodes collect the statistics and send them to the collection server over a multicast

channel. The collection server provides a safe mechanism to collect the experimental

results reliably and store them for post-processing.

c) Disk-Loading Server

Disk-loading server is to enable quick re-imaging of hard disks on the nodes as

per the requirements of the user. It allows different users to have different OS images

between experiments. This service is highly scalable and reliable.

Orbit also has software components and libraries based on Linux target platform

for the user application development.

28

a) Node Agent

This is similar to Node Handler that resided on Orbit nodes and listens to Orbit

Node handler. It can run and stop the applications, dynamically pass the parameters to the

applications, and report the experiment state to the controller.

b) Orbit Management Library (OML)

OML defines the data structures and functions for sending/ Receiving,

encoding/decoding the data. Testbed users have the option to choose the filters to be

applied to each measured metric. This software has been developed to reduce the burden

of statistic collection on application developers and runs on radio nodes and collection

servers.

c) LibMAC

LibMAC is a C library used by the application to inject and capture MAC frames.

This also helps in manipulation of RSSI, TX Power, channel settings etc. The primary

purpose of LibMAC is to provide a bridge between device drivers and the applications

such that application developers can easily use a standard interface to communicate with

wireless device drivers instead of worrying about their underlying mechanism

3.5 Emulab

Emulab at the University of Utah has a wide range of environments developing,

debugging, and evaluating the systems. They call it universally available “Internet in the

room” to provide balance between control and realism. The design goals of Emulab is to

provide penalty free accessibility of the nodes which is hundred percent configurable.

The other goals are scalability and flexibility. Emulab contains 160 end nodes and 40

29

core nodes (PC650/800) which are wired, few 802.11a/b/g nodes, 25 mica2 motes for

wireless sensor networks, 6 Garcia motes for mobility.

There are different experimental environmental facilities in Emulab like the

following:

• Emulation-An emulated experiment allows specifying an arbitrary topology and

gives controllable, predictable and repeatable environment giving full control of

the nodes.

• Live internet experimentation- Using PlanetLab, Emulab provided a full featured

environment to run the applications at hundreds of sites around the world.

• 802.11 Wireless environment for wireless applications.

• Software Defined Radio- It gives control over layer 1 of wireless

network .Everything from signal processing and up is done in software.

• Sensor Network facility for sensor applications

• Mobile Sensor Network facility for sensor applications involving mobility

• Simulation- Using ns-2 emulation facility simulated environment can interact

with real networks.

Emulab provides services through provision of web based tools to remotely configure

reserve and control machines, to define error models, latency, bandwidth, packet ordering.

It provides high speed network processor chips. Emulab also has Non-Intrusion

instrumentation for security. Emulab network testbed software provides the first

remotely-accessible mobile wireless and sensor testbed. This testbed is robust. Robots

carry motes and single board computers through a fixed indoor field of sensor-equipped

motes, all running the user’s selected software. In real-time, interactively or driven by a

30

script, remote users can position the robots, control all the computers and network

interfaces, run arbitrary programs, and log data.

Emulab provides a simple path planning, a vision-based tracking system accurate

to 1 cm, live maps, and webcams. Precise positioning and automation allow quick and

painless evaluation of location and mobility effects on wireless protocols, location

algorithms, and sensor-driven applications. Precise positioning and automation allow

quick and painless evaluation of location and mobility effects on wireless protocols,

location algorithms, and sensor-driven applications.

3.6 PlanetLab

PlanetLab works as a global platform for designing and evaluating network

services. PlanetLab is the first testbed which is distributed across the world with 834

nodes at 408 sites. Planet Lab’s design evolved incrementally based on experience gained

from supporting a live user community called experience-driven design, and the design

decisions made with conflicting requirements called conflict-driven design.

The design objectives in PlanetLab include

• Immediate availability to researchers to do their experiments. It is achieved by

spreading the nodes all across the world and implementing a fair resource

allocation algorithm.

• Global platform that supports both short term experiments and long running

services. The services run continuously and support real client workload.

• Autonomy and decentralized control is achieved through distribution of the

control to different organizations who contributed to PlanetLab and thus reducing

the centralized control.

31

• Scalability to support many users with minimal resources by promoting efficient

resource sharing.

• Distributed virtualization which means running a service as a slice in every node

which acts as an individual system. The user does not even know that he is just

using a part of resources; it seems all the resources are allocated to him through

this service.

• Unbundled management services used in PlanetLab testbed has three arguments

namely

o To allow the system to more easily evolve;

o To permit third-party developers to build alternative services, enabling a

software bazaar, rather than rely on a single development team with

limited resources and creativity; and

o To permit decentralized control over PlanetLab resources, and ultimately,

over its evolution.

There are different design challenges in deploying the PlanetLab. First,

Minimizing centralized components yet maintaining the necessary trust assumptions.

Second, balancing the need for slices to acquire the resources they need yet coping with

scarce resources. Third, Isolating slices from each other yet allowing some slices to

manage other slices. Resource allocation is a significant challenge for any system, and

this is especially true for PlanetLab, where the requirement for isolation is in conflict

with the reality of limited resources.

PlanetLab provides variety of services in spite of all its requirements and

implementation difficulties.

32

The services offered are as the following:

• Node virtualization: It is virtualizing the physical hardware and there by support

multiple, unmodified operating system binaries. Service runs as a slice in every

node and each node runs its own copy of OS and has access to all the devices and

resources provided by hypervisor. This is of interest to OS kernel researchers but

has a performance cost. VMware cannot support the number of simultaneous

slices required by PlanetLab due to the large amount of memory consumed by

each machine image.

• Provides Isolation and resource allocation, monitoring and application centric

interfaces for dealing the central problem “crosstalk” where contention for a

shared resource by different users prevent the Operating system from correctly

scheduling the tasks.

• Network virtualization: PlanetLab uses the safe version of the raw socket

interface allowing access to raw network devices. They also used filters on send

and receive. In PlanetLab the kernel must take responsibility for sharing raw

access (both reception and transmission of potentially arbitrary packets) among

multiple competing services in a controlled manner according to some

administrative policy. It also has mechanisms to protect the network from buggy

and malicious services. They used an alternative to sharing and partitioning a

single network address space among all virtual machines that is contextualization.

They assigned a different IP address to each VM and allow each to use the entire

port space and manage its own routing table.

33

PlanetLab provides different experimental environments like

• Internet2 which is optical high speed internet between the universities. The nodes

are fully programmable though they are close commercial routers where

introducing new functionality in the middle of the network is impossible.

• Emulab from University of Utah is part of PlanetLab. Researchers can schedule

the experiments and dictate the configuration to emulate different topologies.

• The Grid, collection of middleware, is used for large scientific applications across

distributed set of computational resources. The Grid glues together modest

number of large computing assets with high bandwidth pipes.

• ABone which is Active Network Initiative overlay testbed is used for dynamic

loading of the applications onto the overlay’s nodes.

• XBone provides Ip-in-Ip tunneling and has GUI based toolset for establishing and

monitoring specific overlay configurations. Its goal is support multiple

independent overlays on the same set of machine, though limited to Ip tunnels.

34

3.7 Physical parameter comparison of different testbeds

Each testbed discussed so far has different level of design detail according the

goal and requirements. Table 3.2 provides the comparison chart of different testbeds with

respect to different physical parameters like the type, nodes type, radio type, scale and

field.

Parameter Kansei MoteLab SensorNet Orbit Emulab Planet lab

Type Wireless, wireless sensor

Wireless sensor

Wireless Sensor

Wireless Wired, Wireless, Wireless sensor and Mobile

Wired Networks

Nodes type

XSM, Stargates TMote sky, robotic mobile nodes

Telosb, Mica2 motes, MIB-600 motes

Sensor motes

802.11 nodes, 3G cellular

Pc(600/850) nodes, 802.11X nodes, mica2 motes, robotic nodes

Wired nodes

Radio Type

802.15.4

802.15.4

802.15.4 802.11 802.11/ 802.15.4

-

Scale 1500 190 150 400 250 846

Field Indoor/Outdoor Indoor Indoor Indoor Indoor DistributedTable 3.2: Physical parameter comparison table for different testbeds

35

3.8 Design parameter comparison of different testbeds:

. Table 3.3 provides the comparison chart of different testbeds with respect to

different design parameters like the topology, resource allocation, health monitoring, and

available tools.

Design Kansei Motelab SensorNet Orbit Emulab PlanetLab

Topology design

3ft wood tables, 20db antenna

Multiple floors

- Indoor 20X20 nodes with 1m space.

Multiple floors

Across the world

Resource Allocation

FCFS, best-effort

FCFS with user quota, best-effort

Auction model

FCFS, best-effort

FCFS Best-effort and guaranteed

Health Monitoring

Chowkidar Connectivity graphs

- Script Slice, sliver mechanism

Health Monitoring service

Tools Select topology, Schedule, Upload, manage, retrieve

Select topology, Schedule, upload, manage, retrieve

No user tools for data logging and automated reprogramming

Schedule Ruby script to upload and select nodes, orbit commands

Ns2 script to select topology, schedule, run and terminate the experiment. Results through email

Scripts to schedule program

Table 3.3 Design parameter comparison of different testbeds

To built NetEye testbed different details of the existing testbed were studied in

appropriate level. The next chapter deals with different design issues and implementation

of NetEye.

36

Chapter 4

NetEye

The NetEye testbed at Wayne State University is deployed to facilitate research

on wireless and wireless sensing applications at scale. NetEye testbed consists of a

controlled indoor environment with a set of sensor nodes and wireless nodes deployed

permanently.

NetEye testbed provides a web interface to create and schedule a job on the testbed while

automated reprogramming of the sensor devices and storing the experimental data on to

the server. NetEye has the following features:

• It motivates application deployment by providing access to a large scale, fixed

sensor network.

• Through automatic storage and logging of data, it accelerates the debugging and

development of an application.

• NetEye provides a web interface allowing both local and remote users to easily

access the testbed.

• Resource scheduling mechanism used in NetEye ensures a fair share of resources

to its users.

• NetEye consists of heterogeneous hardware for computations, data storage, and to

support complex experimentation

• It provides real-time data and event injection on the fly.

• Software components in NetEye support multi-tier complex experiments.

37

4.1 Related Work

Once the trend of using large number of Wireless and Sensor devices started, there are

numerous testbeds developed and deployed for supporting wireless and embedded

network research. Many of those testbeds have very less scale, say 15-20 nodes and are

deployed for local usage. There are few testbeds which are meant for broader usage

having several users. All these testbeds aim at providing several different functionalities

to help user with his research in easy way. In terms of scale NetEye is comparative to

other wireless and sensor network testbeds like Kansei, Orbit, and Motelab etc. NetEye

meets the testability goals which are required by large set of users.

NetEye allows programming the motes directly on real hardware differing from

Emstar, a Linux based approach for sensor network development and debugging. Emstar

is a sensor network emulator allowing the boundary between simulated components and

hardware to be shifted. A similar project EmTOS allows TinyOS applications to be

recompiled to run on Emstar.

The hardware devices used in NetEye are inherently different from other Sensor

Network testbeds like Kansei and Motelab. Kansei has Extreme scale motes (XSM) and

substantial Stargate nodes serving as wireless sensor and wireless nodes respectively. In

Motelab there are permanently deployed sensor nodes connected via an Ethernet interface

boards to the central server. In NetEye telosb motes are connected to Dell Vostro 1400

laptops which are in turn connected to the server. Due to these differences there are subtle

differences between these testbeds. For example there is no need to have one interface

board or stargate for each “mote”. Few motes can connect to the laptop through USB

interface making it cost effective than other testbeds in terms of hardware devices used.

38

Resource allocation mechanism used in SensorNet testbed will resolve the

contention among the users sharing the testbed through auction model. They use Mirage

which applies microeconomic approaches to arbitrate among competing users. Users

submit bids for bundle of resources using virtual currency. A combinatorial auction runs

periodically to select the potential winners. The winner is the one who spend more

currency on a particular resource. NetEye uses FCFS scheduling approach. Apart from

this better scheduling model, Mirage does not provide automated reprogramming of the

nodes and data storage as NetEye does. In Mirage users access set of testbed nodes they

have gained access, log on to server and they are responsible for directing and

reprogramming the nodes and collecting the data from the nodes.

Resource allocation mechanism in NetEye is fair enough to all its users. User

can’t hold a resource for more than 4 hours. If he wants to the user has to schedule his job

again. NetEye provides a facility to cancel the job if the user has mistakenly done it. This

saves lots of resources on the testbed. Though Motelab has a fair resource allocation

mechanism it does not have a provision to cancel a scheduled job.

Many of the existing small scale testbeds have not addressed the provision of user

interface issue. Few of the testbeds use homebrew scripts to reprogram the network and

debug the applications. Scheduling is performed manually, for e.g. using mails. The web

interface should lessen the work of the user. It should be easy to use and provide

necessary functionality. The NetEye testbed facilitates good interfaces for choosing the

topology, scheduling a job, canceling a job, managing the jobs, retrieval of data, knowing

the status of the nodes etc. It also provides different administrative tools like creating new

users etc. The web interface of NetEye is equally good compared to other testbeds like

39

Motelab and Kansei. The topology selection tool in NetEye is easy to use compared to

list box tool in Kansei and Motelab. The “graphical selection tool” in NetEye for

topology selection is much better and more user friendly than just having a list box.

NetEye provides real time data injection. The implementation is quite different

from Kansei in the way that Kansei has one XSM per Stargate where as NetEye has six

or more motes per laptop (Laptop does the same functionality as stargate in Kansei). In

NetEye there will be several instances of serial forwarders for each laptop where as in

Kansei there will be only one. Separation between different ports used by the motes is

done in the implementation so that the user can easily inject the data to the appropriate

mote specifying the port used by that mote. The data injection tool is provided to the

remote users in NetEye where as in Kansei it is limited to the local users. Motelab uses a

different approach by giving the access to the serial forwarders to the users. Users can

directly inject the data through the serial forwarders to the motes.

In NetEye users can only view his jobs. He cannot view others jobs, use others

upload files or download others experimental results. This provides better security

mechanism than in Kansei where the user can see all the scheduled jobs and can

download any data. This is necessary because some users might not like the provision

where everybody can see their information. (Especially sensitive information like email

ids).

NetEye is probably the first testbed to use the latest version of TinyOS 2.0.2

where as all other testbeds use TinyOS 1.1. TinyOS 2.0.2 is a clean slate redesign and re-

implementation of TinyOS 1.1. It is motivated from the fact that the structure and

interfaces of 1.1 have several fundamental limitations. While these limitations can be

40

worked around, this practice has led to tightly coupled components, hard to find

interactions and a very steep learning curve for a newcomer to sensor network

programming. NetEye provides version 2.0.2 so the user can enjoy the advantages of this

version while using the NetEye testbed. New comers can also be motivated to use NetEye

testbed as TinyOS 2.0.2 is much easier to use than TinyOS 1.1.

The Software components is NetEye also use Linux-Apache-MySQL-Perl

implementation as in Kansei and Motelab. In addition there are components which use

shell scripting and C language (socket programming for injection). The software

architecture is almost similar to other testbeds containing web interface, health monitor

etc. NetEye differs in the design on different software components though the OS and

languages used are similar. The important components which differ are database scheme,

job daemons, user management tools, administrative tools, and data retrieval mechanism.

For example in Motelab the data is logged to the database. Users have to log on to the

MySQL server and download the data for analysis. In NetEye, the result of the scheduled

job is directly provided on the web interface as a link. Thus NetEye provides the user

with an easy data retrieval mechanism.

4.2 Interference Control in NetEye

NetEye testbed has both wireless and wireless sensor network devices. The

NetEye testbed deals the issue of coexistence between wireless and sensor networks thus

providing an interference free environment. The wireless network devices are referred by

IEEE as 802.11 devices and the Wireless Sensor Network devices as 802.15.4 radio

devices. Both these devices share the 2.4 GHz ISB band. So there is a chance that the

41

packets from one device can by interrupted by the other and the packets may be lost.

More details about considering this as an important design issue is explained in Chapter 2.

In NetEye this issue is taken seriously since the testbed setup itself contains both

wireless and wireless sensor devices. There are many access points around the NetEye

testbed set up, so definitely there is a need to find an interference free channel for

802.15.4 radio devices. There are 11 channels in 802.11 with only 3 non-overlapping

channels. Each channel has 22 MHz frequency range. There are 16 channels in 802.15.4

with 3 MHz frequency range and each channel is 5MHz apart.

To measure the environmental noise, a TinyOS application, written in NesC

language that samples RF energy at 1 KHz by reading the RSSI register of CC2420 radio

is used. The Register contains the average Received Signal Strength Indicator (RSSI)

over the past 8 symbol periods (125 micro seconds). The application logs this data to

flash for a fixed period of time (2 min period with one sample for a milli second). The

data is collected on the PC through UART (serial port).

Noise is sampled on different radio channels in a variety of environments;

including the NetEye embedded testbed lab at Wayne State University which has six

access points from the surrounding areas, Undergrad library at Wayne State University

where there is heavy usage of 802.11, Deroy apartments where there is no access point

present but some peer-to-peer networks exist and an out-door quiet area in Richmond

where neither access points not peer-to-peer networks exists.

To find the difference on how just the existence of the 802.11 access point

without heavy usage and with heavy usage changes the interference levels on 802.15.4,

an experiment is conducted to collect RSSI values while downloading a large HTTP file

42

Table 2.1 in Chapter 2 shows the RF spectrum of available channels for 802.11

and 802.15.4. According to the table it seems like channels 25 and 26 of 802.15.4 does

not interfere with any channels of 802.11.

Following experiments are done to determine the interference channel to provide the

controlled environment:

• Channel 11 set in 802.15.4 when channel 1 is set in 802.11 network

• Channel 16 set in 802.15.4 when channel 6 is set in 802.11 network

• Channel 17 set in 802.15.4 when channel 6 is set in 802.11 network

• Channel 21 set in 802.15.4 when channel 11 is set in 802.11 network

• Channel 22 set in 802.15.4 when channel 11 is set in 802.11 network

• Channel 26 set in 802.15.4 when channel 1 is set in 802.11 network

• Channel 26 set in 802.15.4 when channel 6 is set in 802.11 network

• Channel 26 set in 802.15.4 when channel 11 is set in 802.11 network

The RSSI values versus time at different channels for a 5 second interval are

displayed in the following graphs.

-120

-100

-80

-60

-40

-20

0

0

275

550

825

1100

1375

1650

1925

2200

2475

2750

3025

3300

3575

3850

4125

4400

4675

4950

Time(ms)

RSS

I(db)

Figure 4.1: RSSI vs Time-NetEye Embedded testbed Lab (802.15.4/ch

26,802.11/ch1)

43

The above graph is for Channel 26 set in 802.15.4 when channel 1 was set in

802.11 in the NetEye Embedded lab at Wayne State University. The values are almost

ranging from -97 to -96. The values are not much affected even in the presence of few

strong signal access points around the lab.

-120

-100

-80

-60

-40

-20

0

0

300

600

900

1200

1500

1800

2100

2400

2700

3000

3300

3600

3900

4200

4500

4800

Time(ms)

RSS

I(db)

Figure 4.2: RSSI vs Time-Undergrad Library (802.15.4/ch 26,802.11/ch1)

The above graph is when channel 26 is set in 802.15.4 and channel 1 is set in

802.11 in the Undergrad library at Wayne state where there is heavy usage of wireless

access network. The values in this channel are not much affected even when there is

heavy usage of 802.11 networks because the frequency spectrum of channel1 in 802.11

and channel 26 in 802.15.4 are far apart. The values range from -97 to -96.

44

-120

-100

-80

-60

-40

-20

0

0

300

600

900

1200

1500

1800

2100

2400

2700

3000

3300

3600

3900

4200

4500

4800

Time(ms)

RSS

I(db)

Figure 4.3: RSSI vs Time- NetEye Embedded testbed lab (802.15.4/Ch 11, 802.11/Ch 1)

The above graph is when channel 11 is set in 802.15.4 and channel 1 is set in

802.11 in NetEye embedded lab. The frequency spectrum of channel 11 in 802.15.4 is

2.405 and the range of frequency spectrum of channel 1 in 802.11 is 2.401-2.423. This

means the frequency is overlapping. The RSSI values range from -100 db to -55dm. This

is due to the presence of an interfering 802.11 channel.

-120

-100

-80

-60

-40

-20

0

0

300

600

900

1200

1500

1800

2100

2400

2700

3000

3300

3600

3900

4200

4500

4800

Time(ms)

RSSI

(db)

Figure 4.4: RSSI vs Time- Undergrad Library (802.15.4/ch 11, 802.11/Ch 1)

45

The above graph is when channel 11 is set in 802.15.4 and channel 1 is set in

802.11 in Undergrad Library at Wayne state university. Due to the presence of the

frequency spectrum interfering channel 1 of 802.11 the RSSI values range from -55 to -

98 db.

-120

-100

-80

-60

-40

-20

0

0

300

600

900

1200

1500

1800

2100

2400

2700

3000

3300

3600

3900

4200

4500

4800

Time

RSSI

(ms)

(db)

-120

-100

-80

-60

-40

-20

0

0

300

600

900

1200

1500

1800

2100

2400

2700

3000

3300

3600

3900

4200

4500

4800

Time

RSSI

(ms)

(db)

Figure 4.5: RSSI vs Time-Quite area in Richmond (802.15.4/ch 11, No 802.11)

The above graph is when channel 11 is set in 802.15.4 and no access points

around. This is a place in Richmond, Virginia. Since there are no access points around the

RSSI values are stable even in channel 11 and is around -97 db to -96 db.

46

-120

-100

-80

-60

-40

-20

0

0

300

600

900

1200

1500

1800

2100

2400

2700

3000

3300

3600

3900

4200

4500

4800

Time(ms)

RSS

I(db)

Figure 4.6: RSSI vs Time-Deroy Apartments (802.15.4/ch 11, peer-to-peer networks)

The above graph is when channel 11 is set in 802.15.4 and no access points

around but there are few peer-to-peer networks. The values are significantly different

from the values in the presence of access points though there are some spikes. The values

ranged from -99db to -95 db.

Similar experiments are conducted using different overlapping and non-

overlapping channels and the values are obtained to conclude which channel can provide

the controlled interference free environment for the users.

4.2.1 Observations

The following tables show the measured RSSI values at different areas at different

times. The median and Confidence intervals (95%) for 5000 samples are represented in

the tables and the box plots are used to represent the overlapping and non-overlapping

confidence intervals.

Representations used:

26:1 means 26th channel in 802.15.4 and 1st channel in 802.11

47

(21:11)* means 21st channel is set in 802.15.4 and channel 11th in 802.11 and the

experiment is done when a large HTTP file is being downloaded through wireless

network.

(-96.374,-96.398) means the 5000 samples lie in between these two values at the

corresponding 95% of confidence interval.

4.2.1.1 NetEye Embedded Lab

The table below shows the 95% confidence interval for the 5000 samples taken in

NetEye Embedded lab at Wayne state University. The Channel 26 set in 802.15.4 when

the channel 1, 6, 11 are set in 802.11 are measured and the values are stable with standard

deviation almost less than 1. Channels 11, 17, and 21 have non-overlapping confidence

intervals (CI) compared to channel 26 when corresponding interfering channels are set in

802.11. The last row represents the values when a large HTTP file is downloaded through

wireless. The confidence intervals of the last row also does not overlap with the channels

when 11 is set in 802.11

No Channel Median 95% CI

1 26:1 -96 (-95.92,-96.22)

2 11:1 -86 (-85.74,-86.53)

3 26:6 -97 (-96.93,-97.24)

4 17:6 -89 (-89.62,-90.16)

5 26:11 -96 (-95.97,-96.19)

6 21:11 -87 (-86.98,-87.64)

7 (21:11)* -77 (-76.69,-77.54)

Table 4.1: CI of RSSI values at different channels in the NetEye embedded Lab.

48

The box plot below shows the non-overlapping Confidence intervals between the

interfering and non-interfering channels. The red line represents the median and the

notches represent the confidence intervals.

Figure 4.7: Boxplot showing median and 95% CI-NetEye Embedded lab

First column is when channel 26 (non-interfering) is set in 802.15.4 and column 2

is when channel 11(interfering) is set in 802.15.4 when channel 1 is set in 802.11. The

RSSI values do not overlap showing the significantly different values. Likewise other

values need to be compared. The last column (21:11)* shows the different non-

overlapping compared to 21:11. This is when a large file is being downloaded and the

values are significantly different.

49

4.2.1.2 Undergrad library

The table below shows the 95% confidence interval for the 5000 samples taken in

Undergrad library at Wayne State University. The Channel 26 set in 802.15.4 when the

channel 1, 6, 11 are set in 802.11 are measured and the values are stable with standard

deviation almost less than 1. Channels 11, 17, and 21 have non-overlapping confidence

intervals (CI) compared to channel 26 when corresponding interfering channels are set in

802.11.

Channel Median 95% CI

26:1 -96 (-95.93,-96.08)

11:1 -79 (-79.45,-80.37)

26:6 -96 (-95.84,-96.02)

17:6 -84 (-83.14,-84.00)

26:11 -96 (-95.91,-96.09)

21:11 -85 (-84.77,-85.35)

Table 4.2: CI of RSSI values at different channels in the undergrad library

The box plot below shows the non-overlapping Confidence intervals between the

interfering and non-interfering channels. The red line represents the median and the

notches represent the confidence intervals. First column is when channel 26 (non-

interfering) is set in 802.15.4 and column 2 is when channel 11(interfering) is set in

802.15.4 when channel 1 is set in 802.11. The RSSI values do not overlap showing the

significantly different values. Likewise column 26:6 and 17:6 show non-overlapping

values. Columns 26:11 and 21:11 show non-overlapping CI values.

50

Figure 4.8: Boxplot showing median and 95% CI-Undergrad Library

4.2.1.3 Deroy apartments

The table below shows the 95% confidence interval for the 5000 samples taken in

Deroy apartments at Wayne State University. There are no wireless access points around

the apartments but there are few peer-to-peer networks around. The values for all

channels are almost similar.

Channel Median 95% CI

26:1 -96 (-95.80,-96.20)

11:1 -96 (-95.72,-96.12)

26:6 -96 (-96.12,-96.30)

17:6 -96 (-95.83,-96.18)

26:11 -96 (-95.50,-96.00)

51

21:11 -96 (-96.01,-96.05)

Table 4.3: CI of RSSI values at different channels in Deroy apartments

The box plot below shows the overlapping Confidence intervals between all the

channels. The red line represents the median and the notches represent the confidence

intervals. First column is when channel 26 (non-interfering) is set in 802.15.4 and column

second is when channel 11(interfering) is set in 802.15.4 when channel 1 is set in 802.11.

The RSSI values do overlap showing the values are in the same range. Likewise column

26:6 and 17:6 show overlapping values. Columns 26:11 and 21:11 show non-overlapping

CI values because of the existence of peer-peer networks.

Figure 4.9: Boxplot showing median and 95% CI-Deroy apartments

52

4.2.1.4 Quite area in Richmond

The table below shows the 95% confidence interval for the 5000 samples taken in

Richmond, Virginia. There are no access points and peer-to-peer networks and the mean

values are high, with very less standard deviation. The values at different confidence

intervals are also almost in the same range.

Channel Median 95% CI

26:1 -97 (-96.82,-97.50)

11:1 -97 (-96.70,-97.47)

26:6 -97 (-96.90,-97.30)

17:6 -97 (-96.89,-97.30)

26:11 -97 (-96.90,-97.42)

21:11 -97 (-96.88,-97.44)

Table 4.4: CI of RSSI values at different channels in Richmond

The box plot below shows the overlapping Confidence intervals between all the

channels. The red line represents the median and the notches represent the confidence

intervals. First column is when channel 26 (non-interfering) is set in 802.15.4 and column

second is when channel 11(interfering) is set in 802.15.4 when channel 1 is set in 802.11.

The RSSI values do overlap showing the values are in the same range. Likewise column

26:6 and 17:6 show overlapping values. Columns 26:11 and 21:11 show overlapping CI

values because of the non-existence of access points and peer-peer networks.

53

Figure 4.10: Boxplot showing median and 95% CI-Richmond

4.2.2 Results

With different set of experiments done at different times and different places, it

can be concluded that channel 26 set in sensor devices provides the interference

environment even in the presence of access points. It is not affected by any channel at

802.11 networks. It provides necessary abstraction even in the presence of wireless

network. This is very important study for setting up a sensor testbed since if the

interfering channel is set it will be affected even by the beacon packets from the access

points and there is high possibility to provide less accurate results to the user.

4.3 Elements of NetEye

The block diagram below shows all the elements of NetEye. The elements include

hardware and software components.

54

Intranet

Figure 4.11: Elements of NetEye

The details of all the elements of the NetEye testbed are as follows.

4.3.1 Hardware Components

NetEye consists of a fixed array of wireless and sensor nodes. The Wireless nodes

are Dell Vostro 1400 laptops with Intel dual core Processor, 1GB RAM, and 80GB Hard

disk. The operating system on the laptops is Linux Fedora core 8. There are 15 laptops

arranged on 15 wooden benches. The benches are at 1 feet apart column wise. Proper

Ventilation and air conditioning facilities are provided for the laptops as these will be

used on 24/7 basis.

The NetEye testbed has 130 “telosb motes” connected to the laptops. The motes

are connected through the USB interface. There are 6 to 12 motes connected to the

laptops depending on the topology design. The design is based on providing a multi-hop

network. The design is also optimized to lessen the number of USB hubs and cables used.

User 1

User n

User 2 Internet

Web Server MySQL Server Job (PHP, Perl) Server Daemon

Laptop 1 (Perl)

Laptop 2 (Perl)

Laptop 15 (Perl)

S

Mote 1 Mote n Mote 130

Laptop Job Daemon

SF S

55

There are 21 USB hubs connecting 130 motes to the laptops. Telosb is 802.15.4

compliant device designed by UC Berkeley and manufactured by Crossbow solutions. It

has T1 MSP430 microcontroller, 2.4 GHz Chipcon CC2420 radio, 4MHz 8 bit CPU,

128KB instruction memory, 4KB RAM, and an USB interface.

Motes run TinyOS 2.0.2 which is a lightweight event-based operating system that

implements the networking stack and communication with the sensors, and provides the

programming environment for this platform.Each mote accommodates a light sensor. The

mote in NetEye has a customized onboard facility to hold a 3db RF attenuator. The

spacing between the motes is 2feet. Sensor devices are low power radio devices. To

overcome this disadvantage the telosb motes use the power from the laptop. The laptop

uses the wall power and so will have a full battery life.

The following figure shows the telosb mote used in NetEye testbed. It contains a

USB interface for connecting to the USB switch which in turn connects to the laptops. An

antenna which reduces the transmission range can also be seen in the figure.

Figure 4.12: Telosb Mote

56

Laptops in each column are connected to a Gigabit Ethernet switch to an Ethernet

back-channel network which provides high-bandwidth connectivity to and from the nodes

for management commands, data injection and extraction which in turn is. The “NetEye

Server” connects to join the local Ethernet back channel network and it also has another

Ethernet card through which it connects to the Internet. The “NetEye server” provides the

remote access to the users for creating, editing and scheduling the job.

4.3.2 Topology control in NetEye

The topology control is one of the important design issues for setting up a testbed.

The topology set up in NetEye supports multi hop transmission between the motes.

In NetEye testbed wooden benches are used to hold the laptops and the motes since wood

is a bad conductor. Another advantage is it does not interfere much with the signal

propagation. The benches are 5 feet high in order to reduce the ground effect. In future if

the testbed has to be upgraded to have robots, they can be left on the ground to move

around.

Channel 26 is set on the sensor nodes to avoid interference with any channels on

wireless networks. The radio characteristics of the sensor networks are measured in the

NetEye testbed. The experiments are done to select the minimum power level and to

obtain reliable packet delivery in a multi hop network. In the indoor environments the

transmission ranges will be high. To deal with this a 3 db attenuator attached to each

telosb mote is used.

To achieve a multi-hop network a Nesc program which broadcasts 10000 packets

is scheduled on one of the nodes. All the other nodes are scheduled with a receiver

program. The data is collected from all the nodes and the packets received are counted to

57

know the Packet Delivery Rate (PDR). The experiments are done using different Power

Levels (PL) and between different distant nodes. The graph below shows the Packet

Delivery Rate at different power levels and at different distances.

0

20

40

60

80

100

120

2 4 6 8 10 12 14 16 18 20 22 24

Distance (Feet)

Pac

ket D

eliv

ery

Rate

(%)

0

20

40

60

80

100

120

PL 1PL 2PL 3PL 4PL 5PL 6

Figure 4.13: PDR vs Distance-At different power levels at channel 26

Power Level 1 and 2 has very low delivery rate. Power Level 3 can be considered

since it offers reliable packet delivery rate up to 6 hops. Power Level 4, 5 and 6 have very

high transmission ranges even with the attenuator.

The actual network connectivity in the network depends on the power level

adopted on the motes. The following box plots show the variation of packet delivery rate

as a function of distance, when the power level is 2, 3 and 6.

58

Figure 4.14: Boxplot for PDR vs Distance at power level 2

Figure 4.15: Boxplot for PDR vs Distance at power level 3

59

Figure 4.16: Boxplot for PDR vs Distance at power level 6

From Figure 4.14, we see that the network is sparse at power level 2, where most

nodes can talk to a limited number of nodes. Figure 4.16 shows at power level 6, the

density is fairly high almost any two nodes can talk to each other with high probability.

Figure 4.15 shows at power level 3, a node can reach many nodes in the network, and

some links are reliable while some are not. Thus power level 3 gives a typical multi-hop

network (about 6 hops).

4.3.3 NetEye server

NetEye server is remotely accessible frame work for Wireless sensor network

applications. A user experiment is referred to as a “Job”. NetEye Server provides the

following services:

60

• Web interface for Experiment scheduling a job, deployment, and monitoring the

fixed array platform

• Resource scheduling for the user jobs to support multiple user jobs.

The job specified by the users consists of one or more files like Sensor network

executables, scripts, support files etc which should be programmed to run on the specific

set of resources for specified interval of time. The status of the jobs may be monitored

during the execution. On the successful completion of the jobs output must be retrieved.

The NetEye server also handles the resource allocation mechanism according the

need and availability of the node. It follows FCFS scheduling mechanism. The NetEye

server provides the set of services for optimized resource allocation for gathering the

status of the NetEye testbed. The NetEye server collects the availability information

from each of the laptops which act as interface between the server and the sensor nodes,

considers the next job requirement and allocates the appropriate resources for the job.

The NetEye also implements the core set of system utilities. It includes tools for

data injection, health monitoring and logging of data. System administrative services are

also part of the NetEye server. These services include user management for creation and

deletion of users, assigning access privileges to the users, and platform administration

like restarting a node etc.

The NetEye server exposes these services for scheduling, managing, creating jobs

etc through web interface using a web server. The NetEye server implementation is

independent of specific hardware and platform. The user does not have to worry about

the platform while specifying a job.

61

4.3.3.1 NetEye server implementation

The NetEye server Implementation is done in a way that if the sensor node has to

be deployed a component on the server will be invoked which in turn invokes a

component in the laptop to which the node is connected. All the components in the

NetEye server are hierarchical. Each component is independent with each other. The

main NetEye server runs on a Linux (which also runs the Apache web-server for the web

interface).

Testbed scheduling, administration, management, and experimentation are

implemented in a multithreaded daemon that uses scripts and utilities written as PERL

modules and which encapsulate testbed services. PHP modules implement the web-

accessible testbed services, such as job-creation, storage of experiment data, and a testbed

Health monitoring page. A MySQL database provides persistence for storing job

configurations and user reservations. Data generated by jobs are stored on the server

database and may be retrieved by links through the web interface. Data injection is done

by an Injector Manager component on the server and the implementation is Socket

programming in C language.

4.3.4 Integration between NetEye server and motes (Laptops)

The laptops serve as an integration points and interface the motes with the server.

They also in turn acts as wireless network devices

It provides the channels for:

• Data collection: The laptop collects the experimental data from the motes attached

to it and sends it to server.

62

• Local data storage: The laptop stores the local information about the motes and

locally stores the data from the nodes during the running of the experiment.

• Transfer of data like the executable files, injection files, output files between the

server and motes

• Local node information: The laptop collects the local node information. The

health Monitor service contacts each laptop to collect the health status of the

nodes.

• Data injection: Each Laptop has an Injector for injecting events to applications

running on it, as well as to serve as a bridge that injects events into the application

on the mote. Each mote application has a Receptor component that receives

injections and takes appropriate actions.

4.3.4.1 Integration point (Laptop) implementation

The laptops also run on Linux Operating System. They have the local MySQL

database. The laptops act as clients to the MySQL server set up on the NetEye server. In

the database the local health information of the nodes, the jobs scheduled on the

particular nodes attached to the laptop etc are stored. The duration and start time of a

particular job are pushed on to the laptop by the server if the node attached to it is

selected for a particular job. Reprogramming the nodes, collecting the data from the

nodes is done through daemons (written in shell and Perl).

Each laptop has an injector which is invoked by the Injector Manager from the

server for injecting events to applications on fly. Each mote application has a Receptor

component that receives injections and takes appropriate actions. The Injector code in the

63

laptops is in C language. TinyOS is installed on the each laptop to handle programming

motes attached to it.

4.3.5 Software Components

NetEye consists of several different software components for providing the

necessary functionality and services on the testbed. The main components are:

a) Web interface

PHP generated pages for the user interface for job creation, scheduling, and data

collection. Administrators also have an interface to control the functionality of the testbed

functionality. After logging users have the access to the following functionality:

1. Home page

2. Topology Page

3. Schedule tier-1 jobs page

4. Schedule tier-2 jobs page

5. Select node-group page

6. Manage Tier-1 jobs page

7. Manage Tier-2 jobs page

8. Health Monitor Page

9. Help and Instructions page

b) MySQL Database:

MySQL database is used to store all the information necessary for running the

testbed. There are two categories of information stored:

64

• Data related to the jobs: The JID, information of the user who scheduled the job,

scheduled time, start time of the job, duration, information about the input files,

status of the jobs, and the links for output retrieval are stored in this database.

• Testbed status data: The health status of each node, the work status of the node etc

are stored in this database.

A separate database holds all the nodes and tier-2 devices state information.

c) Job Daemon

Perl and Shell scripts run as cron jobs for setting up, running, and tearing down

the jobs. The Job Daemon also does reprogramming the nodes and start necessary

services like serial forwarder and serial listen to get the data to the PC for a particular job.

After the duration job daemon tears the jobs down, kills processes which were running

during the jobs, and puts the data back to the server and updates the databases with the

links.

NetEye provides the following functionality through different software

components.

4.3.5.1 New user

A new user can easily register in to NetEye testbed. A user can run his 802.11

experiments as well 802.15.4 experiments on NetEye testbed. The user has to just fill in

the new registration form available on the web interface of NetEye, answering few simple

questions. In 24-48 hours users can have an account on NetEye and an email will be sent

to the user stating this.

As soon as the account is available for the user, a login and password will be

provided to the user through the email he has specified in the registration form. A login

65

directory will be created for the user at the start when he registers which will contain all

the input files and output files for the jobs specified by the user. Different users can have

input files with same names. The aspect of creating directories for individual users helps

in preventing the user files from being overwritten with one another.

The New User form is implemented in PHP. As the user registers an automated

mail is sent to the administrator stating the user’s interest in registration. An account will

be created for the user through the automated administrative tools with appropriate user

privileges. A directory will be created automatically (written in Perl script) on the server

for user to store user input files and output files.

4.3.5.2 Topology selection

User is provided with the topology of the testbed from which he can select a

subset of nodes he wanted for the experiment. A user friendly interface is provided for

the user to select the nodes remotely.

The user has two options while selecting the topology:

• The user is given the option to name the selected nodes if he wants. This is stored

in the database for reusing rather selecting it every time if he wants to use the

same set of nodes. This is available in creating node group web page in the

NetEye web interface.

• If he does not want the option of naming the nodes he can directly select them

and use them. This is available in Scheduling Tier-1 job web page in the NetEye

web interface.

66

The “graphical selection tool” is provided in the form of a grid of 10X13 for

topology selection where a click will select the appropriate nodes for the user. This tool is

implemented in Java script and PHP.

4.3.5.3 Schedule jobs

As in many other testbeds in NetEye also users can schedule tier-1 and tier-2 jobs

through a web interface. The user can specify the start time of the job, the nodes selected

for the experiment, the duration time for the experiment. The user can upload the

executable which needs to be programmed on the selected nodes.

The user can schedule the other jobs simultaneously and if the resources are

available those will be allocated to the user; otherwise the job will be in pending state. In

Tier-2 jobs the user can upload support files along with the executable. The support files

should be in zipped format.

The Schedule Job web page is in PHP. As the jobs are scheduled an entry will be

made in to MySQL database about the job information like JID, start time, duration etc.

4.3.5.4 Upload files

For the users to run their experiments users can upload their executables through

the web interface. Once the file is uploaded it will stored in the user directory which is

created during user registration. These will be copied to the appropriate laptops through

“secured copy protocol” according to the user node selection. The selected nodes will be

programmed with the file uploaded.

For the ease of the users, the files uploaded by them will be stored and user can

select from the stored files as well. The user can select from only the files he has

uploaded and not from others files. This facility serves two purposes:

67

1. If the user has to run the same experiment at different times, he does not have to

upload them again, he can just select from the existing files.

2. If the user does not have his executable files available for him at a particular

moment when he wishes to run his experiment, he can upload them earlier and

use them when he wants to run the experiment.

For tier-2 there is a possibility that he can upload support files along with his

executable all in a zipped format. Both the executable and support files will be uploaded

in one directory, so that those can be used easily when ever needed. The schedule web

page will link the upload web page and is in PHP. The user files will be uploaded into the

directory and is a PHP program but the secured copy protocol is implemented in Perl to

copy the files to the laptops. The uploaded files are stored in the database on the server

for further usage.

4.3.5.5 Resource management in NetEye

In any shared computing and communication infrastructure resource allocation

plays an important role. The NetEye will be shared by many users and each user should

get a fair share of resources. The users should not be allowed to greedily use all the

available resources.

FCFS resource allocation is used in NetEye testbed. The resource allocator in

NetEye allocates the resources to the user if the nodes chosen by the user are available at

that particular time. Few services running as daemons on the individual laptops (tier-2)

collect availability information of the all the nodes and send it to the server. The Server

stores all the information in MySQL database. The Resource allocator which will be

68

running on the server uses the information from the database to allocate the resources to

the user.

User is provided with the topology of the testbed from which he can select a

subset of nodes he wanted for the experiment. A user friendly interface is provided for

the user to select the nodes remotely. The user is also allowed to specify the start time if

he wants to otherwise the current time will be taken as the start time for his experiments.

The resource allocator checks if all the nodes selected by the user are available. If

they are available the nodes are immediately allocated to the user’s job. If not the user’s

job will be put in the pending list and will be allocated with the resources once they are

available. The allocation is based on the start time as the priority.

After the specified duration of a particular job, a module which will be running as

the daemon will tear the job and free the resources for the further usage. The user is given

the choice of 10 min to 4 hrs to run his experiments and the default is 10 min. This time

limit is to avoid users to hold the resources too long and to allocate fair share of resources

among the users. If the user has to run the experiment after 4 hours he has to schedule it

again. After the duration the daemon tears the job and notifies the information to the

server. The resources are made available for further usage.

Similar approach is followed for tier-2 wireless networking devices. The

management of tier-1 nodes is simpler compared to tier-1 because each node is just a

stand alone computer where as in tier-1 there are 6-12 nodes attached to a laptop.

There are different tables in MySQL database which hold the state information

about all the nodes in the facility. Job daemons (written in Perl) collect the state

information about the nodes from the database tables. They are responsible for setting up

69

the jobs, tearing down the jobs after the duration and updating the status of the nodes in

the database. A local database is maintained in each laptop, which act as client to the

NetEye server database holds the local information about the availability of the nodes and

updates it to the server.

4.3.5.6 Manage jobs

The user can manage his jobs through web interface remotely. There will be some

sensitive information for the user and might not want others to collect his data. So for

security reasons and providing confidentiality the user can just view his jobs. There are

separate web pages for managing tier-1 and tier-2 jobs.

Manage jobs interface shows the user details about his Job including the Job ID,

the input file, start time, duration, and the status of the job. A link to the output directory

is also provided in Manage jobs. A cancel job option is provided on this web page if the

user wishes to cancel his job. The status of the jobs will be always shown to the user

through Manage jobs webpage. There will be different status for each job depending on

the availability of the nodes.

The different statuses for a given Job are as follows:

• Pending: The job has been entered in the database, but the resources requested are

not yet allocated

• Reserved: The resources for the particular job are allocated.

• Running: The motes are programmed and the job is running.

• Finished: The job is finished and packaging module on the server is preparing for

the output.

70

• Completed: The output link is available to the user and he can download from the

provided link.

The web page for manage jobs is implemented in PHP. The job information and the

status of the jobs are picked from MySQL database and displayed to the user. The output

link provision is also done in PHP once the job is finished.

4.3.5.7 Cancel jobs

There is a high possibility that a user can go wrong in scheduling for a resource. If

the user mistakenly schedules a job it should be corrected by canceling the job. It is

useful for both the user as well as the resource providers. For the user it is useful because

he does not have to waste time waiting for the job to complete which he does not want or

if he wants to schedule a different job on the same nodes he does not have to wait till

resources get free. For the providers wastage of resources is reduced.

In NetEye the user is given the option to cancel the job if he does not want it or he

has mistakenly scheduled it. This option is provided on the Manage Jobs webpage for the

remote users. No output will be provided to the user. The Job will be torn down and the

resources will be freed for further usage.

The cancel job option is provided on Manage Jobs web page which is in PHP. For

canceling the job there are daemons running on the server as well on the laptops (written

in Perl). Once the user cancels a job, then the information will be updated in to the

database by the daemon running on the server. The information from the database server

will be picked by the daemon running on the particular laptop to which the node (where

the job is scheduled) is attached. This daemon will kill all the necessary processes like

71

serial forwarder, Listen tool etc to tear down the job and update it to the database on the

server. The information is provided through the web page to the user.

4.3.5.8 Programming the motes

The user can upload the executable to program on the selected nodes. For tier-2

the user can upload a set of files (executable and support files) to program. The users also

have an option to select an already uploaded file for programming. For security reasons

he can use just the files he has uploaded earlier. Programming the nodes is done in shell

scripting. A daemon running on the individual laptops checks if the nodes are allocated to

the particular job scheduled and it calls this shell script to program on the motes.

The users have two options while programming the motes:

1. If the user does not select Injection service, just java Listen tool will start running

and collect the data from the motes through serial port. User has to take care to

write his code to send the data through UART.

2. If the user selects injection service, a Serial Forwarder (one instance for each

mote), an Injection tool, and a Listen tool listening to the serial forwarder will be

opened. The program running on the mote should have a receptor component to

read the data from the serial port. The data is written to the serial port using the

serial forwarder.

4.3.5.9 Killing a job

The user processes for a particular job has to be killed after the scheduled duration

or if the user selects to cancel the job. If the jobs are not properly killed it will hamper the

resource availability on the testbed.

72

A shell script will be called by a Perl daemon to kill the processes running by the

job after the duration or on the selection of cancel option. The script will collect the

processes ID’s and kill the Listen tool, serial forwarder and the Injection tool to free the

resources.

4.3.5.10 Data retrieval

The user can easily retrieve his experimental data using the link provided on the

web page. The output will be in the zipped format. User can just download his data with a

simple click. The user can’t either see or download others data for security reasons.

The directory created for the user will be used to store his experimental data. Each

output file is named with the Job ID to prevent it from being overwritten by other files.

The Java Listen tool and the serial forwarder tool are used to collect the experimental

data. Once the duration of job is completed a secured copy protocol is used by each

laptop to push the data to the server. The data thus obtained is zipped on the server by the

packaging module written in Perl and the link is provided to the user.

4.3.5.11 NetEye injection

NetEye provides a service of real time data injection. Users can inject traces of

data to the nodes through a web interface option. If the user selects this option a tool

called Injection Manager on the server will be invoked to send the traces to the selected

nodes through a set of dedicated ports. The user has to upload a file which contains the

injection traces. The format should be such that the first field should contain the IP

address of laptop to which the mote is attached, the second field is the port number of the

mote.

73

The port number can be obtained from the node id itself. For example node “A0”

means it is the mote attached to port 0 of Machine A. The IP addresses of the laptop to

which the mote is attached can be obtained through the topology web page. The last field

should be the time interval between each injection. There will be 6 bytes of data between

the port number and time interval. Through this facility the user can pipe the output of

one job to the other job on the fly. It is also possible for the user send some input traces to

the nodes for running a particular job if need be in real time.

Injection option is provided to user on the Schedule Job web page. If the user

selects it he is given an option to upload a file which contains the injection traces. PHP

script checks if the option is selected and updates it to the database on the server. A

daemon on the server will invoke the Injection manager tool (written in C language) and

sends the data through the socket to the individual laptops to which the node is attached.

A daemon running on the individual laptops will check the database if the injection is

selected for a particular job. If it is a serial forwarder (tool provided by TinyOS),

Injection tool (written in C language) and a Listen tool (provided by TinyOS) will be

invoked.

There will be different instances of serial forwarders and Injection tools running

on different ports. The ports are selected as per the USB port to which the mote is

attached. The Injection tools will listen to the port to which the server sends the data and

injects the data to the serial forwarder. The serial forwarder will in turn send the data to

the serial port. The mote application which the user specifies should have a receptor

component which will read from UART and takes appropriate actions.

74

4.3.5.12 Health Monitoring

Health Monitoring is one of the important services in any testbed for both users

and administrators. Remote users can check the health status of the nodes on the testbed.

Health monitoring daemon uses an executable to periodically run on all the available

nodes to monitor its health status.

Through this facility user knows the following details about the testbed:

1. Number of Tier-1 nodes up

2. Number of Tier-1 nodes down

3. Number of Tier-2 nodes up

4. Number of Tier-2 nodes down

5. Number of Tier-1 nodes busy

6. Number of Tier-1 nodes free

7. Number of Tier-2 nodes busy

8. Number of Tier-2 nodes free

9. Number of Tier-1 jobs running

10. Number of Tier-1 jobs pending

11. Number of Tier-2 jobs running

12. Number of Tier-2 jobs pending

13. List of nodes that are down

Through this information user knows which nodes are not available and cannot be

used for scheduling. The administrators can know the nodes for fixing them easily

through this service; otherwise the administrator has to check each and every node

manually for its health status.

75

A Health Monitor daemon (written in Perl) runs periodically on all the available

nodes to determine if the nodes are up and running. A nesC module is run on the nodes

automatically and the data is collected to the laptop through the java Listen tool. The data

collected to the laptop is checked for correctness if the mote has generated an AM type

99 message. If it is then a Perl daemon script running on the laptop accesses the database

table on the server and updates that the motes attached to is up and running; otherwise it

updates the corresponding mote as down. The server receives the health information

from all the laptops about the motes attached to it. Finally a PHP module collects the

information from the MySQL database dynamically and displays the information to the

user.

4.3.5.13 Administrative tool to new add users

The NetEye testbed also provides an administrative tool to add users and allow

access privileges to them. Once the user registers using the registration form an

automated email will be sent to the admin. After checking the authenticity of the

information the administrator will add the user into the database. Appropriate access

rights are given to the user by the administration. The default is normal user who can use

the testbed for scheduling, data retrieval etc. The normal user wont have rights to view

others data. This admin tool is provided on the web interface and can only be seen if

logged in as admin. The code uses PHP and MySQL database.

4.4. NetEye in use-Light Sensing Demo

A demo application is implemented on the NetEye to reveal the functionalities of

the testbed. A NesC program is written to collect the amount of light sensed by the light

76

sensor on the telosb mote. This Program will be scheduled on all the motes through the

web interface and the real time data will be displayed on the web interface.

The NesC program also has an implementation to show the values it sensed on the

Leds. A critical value is defined and when the value is above the critical value green LED

will blink and if it is below a red LED will blink. The values are collected into the

database and are passed on to the server in real time. A PHP program picks the current

values from the database and shows it on the interface. Appendix A shows the web

interface screenshot of the demo.

77

Chapter 5

Conclusions and Future Work

Our goal in designing NetEye was to develop an interface to a wireless and sensor

network testbed allowing a large community of users to share access. NetEye provides an

experimentation facility similar to most deployments by providing a web interface and

implementing a fair resource allocation mechanism. The design issues and the

implementation details presented in this thesis will be useful for people who want to build

a new testbed.

Future work at NetEye includes increasing the scale and upgrading to

accommodate mobile robots. Other areas of future work include integrating NetEye with

GENI. The GENI facility will consist of a global wired network with programmable and

virtualizable network elements along with edge wireless access deployments intended to

support experimentation with mobile computing devices, embedded sensors, etc. For all

these varieties of testbeds to blend properly with GENI a standard substrate and

management infrastructure is defined. The individual testbed organizations should take

the responsibility of GENI-fying their infrastructures to meet GENI goals of

programmability, virtualization, slice-based experimentation and federation.

As a part of this effort, NetEye will participate in Kansei Consortium (which

includes Kansei and LANL) to deliver a prototype of GENI-fied infrastructure for

wireless sensor network experimentation. Each testbed site will offer multiple types of

WSN platform arrays and operate autonomously. The prototype will also include a

number of researcher client tools and researcher portal services. It will provide publically

78

available support for programmability, virtualization, and slice-based experimentation.

Kansei Consortium has identified different activities such as providing legacy web-based

support to existing users, GENI-fied software infrastructure, packaging the installation

tools, and delivering new services and tools.

NetEye testbed is open for community use and it will contribute to research in

wireless and sensor networks. We will continue NetEye development according to the

needs of the user community.

79

APPENDIX A

Light Sense Demo Web Pages

The below figure is the screenshot of the demo light sensing application. The grid

represents all the 130 nodes in the testbed. All the nodes are in an absolutely dark room

where the light values are almost 0 lux. The red background of the grid represents the

light value less than the critical value. Beside the node ID the value of the light is also

displayed in the grid.

Figure A.1: Light sense demo page when all nodes detect zero light.

80

The below figure is the screenshot for demo sensing application where few nodes

are detecting the some light and few are detecting a zero light. The green background on

the grid represents the light value more than a critical value and the red background is

when the light value is less than the critical value.

Figure A.2: Light sense demo when few nodes sense light greater than critical value.

81

APPENDIX B

General User Web Pages

Certain part of the web interface in the NetEye can be viewed by all the users.

These web pages include the Introduction about the testbed, topology of the testbed,

Health Monitoring page, registration form etc.

The below figure is the screenshot of the topology page. It shows the machine name,

the IP address of the machines. When clicked on the machine the motes attached to it and

the mote ID are displayed. Mote ID means the permanent ID assigned to the mote. The

USB number to which the mote attached is also represented on the page. This is useful

for the injection where the user needs USB port numbers for entering in the input files.

Figure B.1: Topology web Page

82

The below figure is the screenshot showing the health status of the nodes. It

shows the number of nodes up, number of nodes down, number of jobs running, number

of jobs pending for both tier-1 and tier-2 devices. The other tab “Nodes Down” will show

the ID’s of the nodes which are down.

Figure B.2: Health Monitor web page

The other web page which a general user can view is the new user registration

form. New user can register using this web page and get in to the system. The below

figure is the screenshot for registering into the system.

83

Figure B.3: New User Registration web page

84

APPENDIX C

Registered User Web Pages

The registered users on NetEye have the access to all the main functionality on

the system. User can select the topology, schedule a job, manage a job, cancel a job etc

on the system.

The below figure is the screenshot of the login page. This is the first page the user

sees to get into the system. After providing with the valid user name and password, the

user can get access to all the other functionalities.

Figure C.1: Login Page to enter in to the system

85

The below figure is the screenshot for selecting the node group on the testbed.

The user can click the nodes he wishes to use for the job. For the ease of user a topology

grid is represented on the top of the page. User can name the nodes he has selected for

future usage.

Figure C.2: Selecting the node group web page

The below figure is the screenshot to schedule a job on the testbed. User can

specify the start date, time, duration of the job. He can either use the nodes which he had

named earlier using the node group page or he can select the nodes directly on the

schedule web page. A topology grid is included here also for the ease of the user if he

wishes to choose the nodes on the schedule page. User can upload a file either directly or

86

can choose from the list of files stored in the database. An option is included for the

injection. If the option is selected the user will be given an option to upload the injection

traces file.

Figure C.3: Schedule Jobs web page

87

The below figure is the screenshot of the topology grid on the schedule jobs page.

Figure C.4: Topology grid on the Schedule jobs Web page.

The below figure is the screenshot of the Manage jobs page in NetEye. The

Manage jobs page show the JID, input files, start time, duration, and status of the jobs.

The output link is also displayed on this page for data retrieval. It also contains a cancel

job option if the user wishes to cancel a job. The webpage displays 4 jobs at a time but

the user can always go to his previous or next jobs using the appropriate buttons.

88

Figure C.5: Manage Jobs Web page

89

Bibliography

1. D. Raychaudhuri, M. Gerla, (eds.), "New Architectures and Disruptive Technologies

for the Future Internet: The Wireless, Mobile and Sensor Network Perspective”, in

NSF WMPG Workshop Report, August 2005.

2. J. Evans, D. Raychaudhuri, S. Paul, "Overview of Wireless, Mobile and Sensor

Networks in GENI," in GENI Design Document 06-14, Wireless Working Group,

September 2006.

3. S. Paul, “Requirements Document for Management and Control of GENI Wireless

Networks”, GENI Design Document 06-15, Wireless Working Group, September

2006.

4. Thomas Anderson, Amin Vahdat(Eds), “GENI Distributed Services”, in GENI

Design Document 06-24, Distributed Working Group, September 2006.

5. Emre Ertin, Anish Arora, Rajiv Ramnath, Mikhail Nesterenko, Vinayak Naik, Sandip

Bapat, Vinod Kulathumani,Mukundan Sridharan, Hongwei Zhang, Hui Cao “Kansei:

A Testbed for Sensing at Scale”, in Proceedings of the 5th IEEE International

Conference on Information Processing in Sensor Networks ( ISPN 2006), April 2006

6. Sandip Bapat, William Leal, Taewoo Kwon, Pihui Wei, Anish Arora , “Chowkidar: A

Health Monitor for Wireless Sensor Network Testbeds”, in proceedings of the 3rd

IEEE International Conference on Testbeds and Research Infrastructure for the

Development of Networks and communities ( TridentCom 2007), May 2007

7. D. Raychaudhuri, I. Seskar, M. Ott, S. Ganu, K. Ramachandran, H. Kremo, R.

Siracusa, H. Liu and M. Singh, “Overview of the ORBIT radio grid testbed for

evaluation of next-generation wireless network protocols”, in proceedings of the 1st

90

IEEE International Conference on Testbeds and Research Infrastructure for the

Development of Networks and communities ( TridentCom 2005), Feb 2005.

8. Geoffrey Werner-Allen, Patrick Swieskowski, and Matt Welsh, “MoteLab: A

Wireless Sensor Network Testbed”, in the proceedings of the 4th IEEE International

Symposium on Information Processing in Sensor Networks (ISPN 2005), April 2005.

9. Brent N. Chun, Philip Buonadonna, Alvin AuYoungz ,Chaki Ngy, David C. Parkesy,

Jeffrey Shneidmany, Alex C. Snoerenz ,Amin Vahdatz “Mirage:A Microeconomic

Resource Allocation System for Sensornet Testbeds” in proceedings of the 2nd IEEE

Workshop on Embedded Networked Sensors (EmNetS-II), May 2005.

10. David Johnson, Tim Stack, Russ Fish, Daniel Montrallo Flickinger, Leigh Stoller,

Robert Ricci, Jay Lepreau, “ Mobile Emulab: A Robotic Wireless and Sensor

Network Testbed”, in proceedings of 25th IEEE International Conference on

Computer Communications (INFOCOM 2006), April 2006.

11. http://www.emulab.net/

12. Larry Peterson, Andy Bavier, Marc E. Fiuczynski, Steve Muir, “Experiences Building

PlanetLab”, in the Proceedings of the 7th conference on USENIX Symposium on

Operating Systems Design and Implementation (Volume 7), 2006

13. Andy Bavier, Mic Bowman, Brent Chun, David Culler, Scott Karlin, Steve Muir,

Larry Peterson, Timothy Roscoe, Tammo Spalink, Mike Wawrzoniak, “Operating

System Support for Planetary-Scale Network Services”, in Proceedings of the 1st

conference on Symposium on Networked Systems Design and Implementation

(Volume 1), 2004

91

14. Larry Peterson “PlanetLab-A Blueprint for Introducing Disruptive Technology into

the Internet”, in Proceedings of ACM HotNets-1Workshop, Princeton, New Jersey,

USA, October 2002.

15. http://www.xbow.com.

16. Chulho Won, Jong-Hoon Youn, Hesham Ali, Hamid Sharif, and Jitender Deogun,

“Adaptive Radio Channel Allocation for Supporting Coexistence of 802.15.4 and

802.11b”, in Proceedings of 2005 IEEE 62nd Vehicular Technology Conference

(VTC-2005-Fall), September 2005

92

ABSTRACT

NETEYE: A WIRELESS SENSOR NETWORK TESTBED

by

DIVYA SAKAMURI

May 2008

Advisor: Dr. Hongwei Zhang

Major: Computer Science

Degree: Master of Science

The existing TCP/IP protocols are not suitable for the next generation Internet

with the fast growing wireless and embedded technologies. To help researchers develop

and evaluate new protocols, high-fidelity experimental facilities are desired. Through this

thesis research, I developed the NetEye sensor network testbed at Wayne State University.

NetEye has several desirable features such as cost-effective hardware, web interface, and

software tools to enable users to run potentially complex experiments. NetEye has been

designed and implemented to facilitate research in wireless and sensing networks. NetEye

embodies lots of characteristics like remote web interface, cost-effective hardware,

software components to run complex experiments etc. In this thesis, I will present the

elements of NetEye including its hardware and software platforms and implementation

details (e.g., interference control).

93

AUTOBIOGRAPHICAL STATEMENT

Divya Sakamuri received her Bachelor’s degree in Computer science and

Engineering from Sri Venkateswara University College of Engineering, Andhra Pradesh,

India. She worked in Wipro Technologies, Bangalore, India for 18 months in Telecom

domain. Divya achieved her CCNA and CCNP certifications. At present she is working

on her Master’s thesis in NetEye Embedded Lab in computer science department at

Wayne state University. Her areas of interest include Wireless Sensor Networks,

Wireless Networks, Security, and VOIP.

Divya took the complete responsibility of designing and implementation of the

NetEye testbed at Wayne State University.