Project 2 - Network Topology
Due - Monday, September 22, 2008
The goal of this assignment is to give you more experience with network
programming on the SPOTs.
Part 1 - HTTP Demo
- Use the SPOT
Manager to download the beta Blue release of the SDK.
- Upgrade your SPOTs and base station to use Blue.
- Familiarize yourself with the HTTPDemo that comes with the Blue
SDK.
Part 2 - Twitter Feed
Implement an application that integrates your movement detection
program with the HTTPDemo. Anytime a SPOT in your network detects movement,
upload a message to your own twitter feed indicating the IEEE address of the
SPOT and the time at which it moved.
Part 3 - Gathering Topology Information
For this assignment, you will extend your Movement Detection program from
Project 1 by adding a host program that runs on a base station node. SPOTs
will report their movement detection information directly to the base station
and each SPOT will also periodically report a list of its directly attached
neighbors to its neighbors. The SPOTs will be responsible for performing
the following operations:
- Anytime movement is detected, send a movement detected message directly to
the base station. You may assume that the base station address is
statically configured.
- Periodically, broadcast (with a hop count of 1) a list of the IEEE
addresses of directly attached neighbors.
- Maintain a routing table that contains a list of all neighbors
reachable in 1 hop and a list of each neighbor's neighbors.
- Use the LEDs on each SPOT to display, in binary, the number of hops
required to reach the base station.
You may use any method you like for finding neighbors and for determining the
number of hops required to reach the base station from every node. One
option is to use the RouteTable class provided by the Blue
release. Another option is to send periodic control messages between
nodes.
The base station will be responsible for the following operations:
- Maintain a list of all SPOTs in the network and, for each SPOT, a list
of all directly attached neighbors. This will require that SPOTs send
this information to the base station.
- Maintain a list of its own directly attached neighbors.
Grad Students: In addition, grad students are responsible for implementing
Dijkstra's shortest path algorithm on the base station node. The base station
will be capable of determining the shortest path to every node in the network using the
neighbor information provided by the SPOTs. You will submit a short (1 page)
write up that compares the shortest path determined by your algorithm to the
path determined by the AODV protocol. You may use the RouteTable class,
tracert (using ant tracert), and you
may also find the ant hello program
useful. Discuss whether the shortest path calculations are the same in both
cases. If not, why not? If so, will they always be the same?
Due 3:30PM - Monday, September 22, 2008
- Complete and submit your working code.
- Grad students: submit a 1-page document detailing the results of your
experiment. Include graphs where appropriate.
Note: No portion of your code may be copied from any other source
including another text book, a web page, or another student (current or
former). You must provide citations for any sources you have used in
designing and implementing your program.
Sami Rollins