Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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.