Active Message Application: CONNECT
Download
Report
Transcript Active Message Application: CONNECT
Active Message Application:
CONNECT
Presented by
Xiaozhou David Zhu
Oommen Regi
July 6, 2001
What does CONNECT do?
Ad-hoc Networking
Uses the Active Message primitives to
explore routing topology and than to
propagate information towards a central
collection node.
Determines a minimal spanning tree
and sends back sensor reading over
that tree to the base station
How does CONNECT do?
Destination-Sequenced Distance Vector
algorithm: having all nodes transmit to
a base station.
This algorithm is implemented through
the Java ConnectionManager module.
How Does CONNECT do?
The system starts out with zero
knowledge of the identity or topology of
sensors that are present. Each node
knows only its own identity.
The base station knows that it is
directly connected to the host PC. The
base station is the origin of all routing
update messages.
How does CONNECT do?
The base station periodically broadcasts
out its identity and that it has
connectivity to the host PC.
Devices in the range receives the
message and update routing
information.
How does CONNECT do?
The devices then rebroadcast the new
routing update to devices within range
that there is a path to the base station
through them.
Devices remember the first routing
update that they here, which
corresponds to the shortest path to the
base station.
How does CONNECT do?
To prevent cycles in the routing
topology, time is divided into eras and
route updates are broadcast once per
era.
For information collection, each node
periodically generates and transmits
information
How does CONNECT do?
A device’s transmissions are addressed
to the device ID that was received in
the last routing update. The recipient
will repeat the same process until the
packet reaches the base station.
Each node simply knows the identity of
the next hop that will bring the packet
closer to the base station.
How does CONNECT do?
The identities of the intermediate hops
are stored in the packet as it travels to
the base station. This allows us to
determine the overall routing topology
that the network is using.
ConnectionManager Module
This module forwards messages between
simulated motes. Each mote sents its
packets to this module which forwards it
to those motes that are in range.
The connection graph is determined by
what entries have been added to the
connection manager’s list with the void
add_conn() method, where a and b are
the IDs of the motes
ConnectionManager Module
The Wired_link is the interface defined
in Wired_link.java, which has a method
send_packet().
The Reliable_link.java defines the
implements the interface and defines
the send_packet() as writing data to
the output stream.
ConnectionManager Module
The connectionManager.java manages
the linkedlist of mote IDs. It has two
major functions: add_conn() and
remove_conn().
The two function adds/removes the
motes to/from the graph if the mote is
within/out of range.
ConnectionManager Module
The messages are sent/received
through the sockets. A new thread will
be started when a new mote is found
by the MoteConnection.java, which
simply add the new motes into the
output list.
When the a mote is added into the
graph, all the motes are synchronized.
ConnectionManager Module
The Java code does not seems to have
completed. The remove_conn() method
is never called, which means that if any
of the mobile motes moves out of the
range, it will not be removed from the
graph. Or, if a mote is defective, all the
motes through this mote will not be able
to connect to the base station.
CONNECT: Modules
GENERIC_COMM: communication
MAIN: initialization of sub components
CONNECT: establishing connection
CLOCK: timing
LEDS: visualization
PHOTO: accessing photo sensor
CONNECT: Components
Two files: .comp file which contains the
interface specification for the
component
.c file that contains the implementation
of the component
Components: Interface
The interface description contains 3
parts:
List of commands it ACCEPTS (2)
List of events it HANDLES (4)
List of commands it USES (17)
Component Graph
MAIN
AM
CLOCK
CONNECT
LEDS
GENERIC_COMM
PHOTO
Components: Implementation
The CONNECT.c explores routing
topology and then broadcasts back light
readings to the base station.