WMich Home

 

CS Home

 

Ajay Gupta's Home

 

CS603 Home
Class Policies  & Syllabus
Topics Covered
Home Work I
Home Work II
Home Work III
Home Work IV
Home Work V
Home Work VI
Home Work VII
Home Work VIII
 
Projects
 
Message  Board
Class List
Reading List

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Email webmaster

 

 

 

 

CS 603 - Wireless Sensor Systems

Spring 2004

HW6

 

Given February 24, 2004

Due March 16, 2004, 11:00AM

We will essentially get experience in implementing flooding and related components in TinyOS from this assignment. In a typical long running sensor network application, it is natural that some of the deployed motes will fail. In order for the application to work correctly, there needs to be a way to periodically (large periods) keep a count of live motes in the network. We will first implement such an algorithm using flooding. For extra credit of 50 points, design a better and efficient algorithm and compare its performance to the flooding algorithm by implementing it and measuring the traditional network parameters (such as congestion, latency, etc).

Let n be a random integer between 10 and 1000. Given a network of n motes uniformly distributed in a grid region of size 15m X 15m, our goal is to develop an efficient distributed algorithm to count the number of live motes in the network. Use a random number generator, local to each mote, to simulate failures of motes (i.e., generate a random number z between 0 and 100, if z is smaller than 13, then assume that mote fails and put it to sleep, otherwise the mote is live and participates in the counting algorithm.

Start by randomly selecting a node to be the sink. The sink will flood a request to count live motes. Live motes will send a reply back upon the receipt of the count request and the sink will then count the total number of unique replies received. During the initial deployment setup, you may assume that motes know their coordinates on the 2-d grid region, i.e. x=(x1,y1) and y=(x2,y2). However, do not use this information in your counting algorithms, i.e., your algorithms should be oblivious of the geographical IDs of motes other than to identify uniqueness.  Print the total number of replies received by the sink, the time from start to finish for the counting algorithm, and the count of live motes in the network. Can your algorithm also count the total number of messages communicated?

Following additional questions must be answered and should help you in thinking about the counting problem and your solution(s) in more depth. Would there be any collisons? Would there be congestion? Can you devise techniques to avoid the collisions and/or congestion? Is there a need to use multihop routing algorithm? Are your algorithms dependent on the density of motes in the region - If so what are the dependencies and how you would address these if they cause any inefficiencies? Can your algorithms handle ad-hoc addition/removal of motes - if not, what changes might be necessary to truly support ad-hoc nature of sensor network deployment? How about mobility of motes? What would happen if the deplyment region is very large? Are your algorithms scalable?

Be creative in your design and come up with an efficient implementation. Make sure your program runs on TOSSIM/TinyViz. More details as discussed in class and/or to be discussed in class.

Any student may be asked to discuss his design and/or implementation in class.

Submit a zipped file of your source codes and scripts (to run your program) alongwith a hardcopy of your source codes, scripts, and a couple of sample executions of your solution.

Use <hw6cs603_yourlastname_mmddyy.{zip,ppt}> as the naming convention for your zipped or ppt files.

REMINDER: You are responsible for making yourself aware of and understanding the policies and procedures in the undergraduate (pp. 268-270) [Graduate (pp. 24-26)] Catalog that pertain to Academic Integrity. Additionally, easy availability of information, material, source codes, lecture notes etc on the Internet may make it possible to find solutions to your assignments on the Internet or elsewhere. It is okay to refer to those, understand them and use them to enhance your solutions, generate your own ideas etc. However, you must give proper and full credit to original authors of the work, if you include their ideas. Failing to do so is part of academic and professional dishonesty. It will not be tolerated in this class. Do not give in to temptations...

 

 

 

 


Home