Project: Energy Efficient Communication in Wireless Sensor
Networks
Design Document
Team Members:
1. Ketan Joshi (kkj140030)
2. Bijon Desai (bhd130030)
3. Snehal Sisodiya (sks140430)
---------------------------------------------------------------------------------------------------------------------
1. Spanning Tree Construction:
1) Every node once started, will read the topology information file to find out its own
information (x, y position, range, ip, port etc.) and its neighbors.
2) If particular node is sink node, it will use the topology information to start spanning tree
construction.
2) Sink node, starting from itself as a parent node, will calculate Euclidean distance between
every other node. If a node is lying within range, make it child of the parent node and add that
node to the "SpanningTreeConstruction" queue.
3) Now remove a node from the queue and repeat the same process by considering the currently
removed node as parent node. Add the newly found nodes, lying within the range of this parent
nodes, to the same queue (these will be the nodes that currently don't have any assigned parent).
4) Once all nodes are processed and assigned in spanning tree, spanning tree construction
terminates.
Here,
Step 1: Node A & B are in range of SINK Node, hence added to "SpanningTreeConstruction" queue &
assigned as children of SINK node.
Step 2: Node A is removed from "SpanningTreeConstruction" queue & processed to find out that C is in
range of Node A. Hence C is Child of A and added to the "SpanningTreeConstruction" queue.
Step 3: Next Node B is removed from the "SpanningTreeConstruction" queue & processed to find out
that D & E is in range of Node B, Hence assigned as children \of B and added to the
"SpanningTreeConstruction" queue.
Step 4: Node C is removed from the "SpanningTreeConstruction" queue & processed to find out, F & G
are in range of Node C. Hence assigned as children of C and added to the "SpanningTreeConstruction"
queue. Node A is also in range of C but already processed.
Step 5: Node D is removed from "SpanningTreeConstruction" queue & processed to find out, H & I are
in range of Node D. Hence assigned as children of D and added to the "SpanningTreeConstruction"
queue.
Step 6: Now, node E is removed from the "SpanningTreeConstruction" queue & processed but no
unprocessed node is in range E. So it is considered as leaf node
Step 7: Node F is removed from "SpanningTreeConstruction" queue & processed. No unprocessed nodes
are in its range, hence leaf node.
Step 8: Node G is removed from "SpanningTreeConstruction" queue & processed. No unprocessed nodes
are in its range, hence leaf node.
Step 9: Node I is removed from "SpanningTreeConstruction" queue & processed. No unprocessed nodes
are in its range, hence leaf node.
2. Message Passing:
Here, we are using the following terminology for message types.
Message Identifier
'1'
'2'
'3'
'4'
'5'
'6'
Message Type
Avg.Request
Avg.Reply
Min.Request
Min.Reply
Max.Request
Max.Reply
1. Sink node will receive user input.
2. This request ("Avg.Request/Min.Request /Max.Request") will be broadcasted to all other
nodes in the range of sink node.
3. Broadcast message will be combination of node identifier and message identifier.
4. Each child of sink node will broadcast the message to its neighbors and so on.
5. The request will reach to every node in the spanning tree and each node will act on the
request.
6. Now the data collection will take place.
3. Data Collection:
1. Leaf nodes will reply with the temperature information using corresponding node
identifier and message identifiers.
2. Parent node will wait for replies from all the child nodes and then send the reply to its
parent in cumulative fashion. It will do some local processing before sending the reply.
3. This process will run from lower layer to higher layer till cumulative result reaches sink
node.
© Copyright 2026 Paperzz