• 沒有找到結果。

Chapter 2 Preliminary of CDL

2.3 Mobility [1]

The RGB values of location i corresponding to anchor k can be derived by equation (8):

) , ,

(Rik Gik Bik = HSVtoRGB(Hik,Sik,Vik) (8) Then the RGB values of location i can be calculated by averaging all RGB values of location i corresponding to N anchors.

=

In this way, the location for each sensor node can be constructed in the location database by maintaining the coordinate and the RGB value at each location i. Then, the location of a sensor node can be acquired by looking up the location database based on the derived RGB values.

) ,

(xi yi (Ri,Gi,Bi)

2.3 Mobility [1]

When a mobile node arrives at a new location, it sends an anchor information request to neighbor nodes. If a neighbor node has the anchors’ RGB values, it transmits packets that include the RGB values of each anchor and the hop count from the anchor to the node. After receiving the packets from neighbors, node i compares and calculates the Dik to the kth anchor and gets the smallest . With the RGB values and to all anchors, node i can update its RGB values using equation

Dik Dik

(1), (2), (3), and (4). The new RGB values are then transmitted to the server and the position of node i will be updated by looking up the location database.

5

-Chapter 3

Related Work

3.1 Existing Routing Protocols

In this chapter, we introduce several routing protocols in WSNs, which can be categorized into flat routing, hierarchical routing, location based routing, and source routing. Flat routing is that when a node queries for data in its communication range, neighbor nodes which have data will transmit the data to that node which is data-centric routing, such as SPIN [4] and Direct Diffusion [11]. Hierarchical routing builds a hierarchical topology in the region. It performs data aggregation and fusion in cluster heads in order to decrease the number of transmitted messages to the base station, such as TTDD [5], LEACH [12], and PEGASIS [13]. As to the location based routing, sensor nodes are addressed by means of their locations. We can use the direction of the destination to forward data to the nearest neighborhood recursively until reaching the destination, such as GEAR [6] and SPAN [14]. Source routing is a routing technique in which the source node determines the complete sequence of nodes to forward the packet;

the source node explicitly lists this route in the packet’s header, identifying each forwarding “hop” by the address or node’s ID of the next node to transmit the packet on its way to the destination node, such as DSR [7], AODV [15], and SPEED [16]. In the following, we review a classical routing protocol in each category.

3.1.1 Flat routing – Sensor Protocols for Information via Negotiation (SPIN) [4]

SPIN, also known as Sensor Protocols for Information via Negotiation, disseminates all the information at each node to neighbor nodes in the network. A source node first advertises its data to neighbor nodes. If a node within the radio range wants the data advertised by the source node, it sends a reply packet to the source node.

6

-The source node will send data to the request node which queried for the data. This is illustrated in Figure 1. The disadvantage of SPIN is that it can’t guarantee the delivery of interested data. If a node is interested in the data that is far away from the source node and nodes between source and destination nodes are not interested in that data, data will not be delivered to the destination node at all.

B B

Figure 1. Flat routing – SPIN. Node A starts by advertising its data to node B (a). Node B responds by sending a request to node A (b). After receiving the requested data (c), node B then sends out advertisements to its neighbors (d), who in turn send requests back to B (e,f) [4]

3.1.2 Hierarchical routing – Two Tier Data Dissemination (TTDD) [5]

An approach that provides data delivery to multiple mobile sinks is called TTDD, is illustrated in Figure 2, which is two tier data dissemination. Each data source proactively builds a grid structure that is used to disseminate data to the mobile sinks by assuming that sensor nodes are stationary and location aware. The sink chosen by the server may leave its old position to another position. Once this occurs, sensor nodes

7

-surrounding the sink process the signal sent by the sink and one of them becomes the new source node to generate data reports.

B

S

Node Source Sink

Figure 2. Hierarchical routing – TTDD. One source B and one sink S [5]

3.1.3 Location based routing – Geographic and energy aware routing (GEAR)

This algorithm, as illustrated in Figure 3, discusses the use of geographic inform

[6]

ation while disseminating queries to appropriate regions since data queries often include geographic attributes. Each node in GEAR keeps an estimated cost and a learning cost of reaching the destination through its neighbors. The estimated cost is a combination of residual energy and distance to the destination. The learning cost is refinement of the estimate cost that accounts for routing around holes in the network. A hole occurs when a node does not have any closer neighbor to the target region than itself. Two phases are used in this algorithm, forwarding packets towards the target region and forwarding packets within the region. In the first phase, when receiving a packet, a node checks its neighbors to see if one neighbor node is closer to the target region than itself. In the second phase, if the packet reaches the target region, it can be

8

-diffused in that region by using recursive geographic forwarding or restricted flooding.

Node

Data packet

re 3. Location based routing – GEAR. Recursive geogra

Target region

Figu ic forwarding: data disseminate to four

SR) [7] and ESDSR [2]

he to store

aintenance operation is the mechanism which a node is able to detect any

ph sub-regions recursively until regions with only one node are left [6].

3.1.4 Source Routing – Dynamic Source Routing (D

The DSR routing [7] is based on the source routing. It uses each node’s cac information about the routing path which will be maintained by each sensor node if the routing path is broken or not. Two operations are used to build a routing path, route discovery and routing maintenance. Route discovery is the mechanism by which a source node finds a route to the destination. When a source wants to send information to the destination, it searches its own cache to find a routing path. If the source node can not find a routing path to the destination, it starts to perform route discovery. First of all, the source node initiates a local broadcast to start the routing. If the node which receives the packet is the route destination, it will route back to the source node. If it is not the destination, it also broadcasts a packet to its neighbors until reaching the destination.

The source will choose the shortest path — the smallest hop count path — to route to the destination.

The route m

changes in the network topology. While a node is unavailable, its one hop neighbor nodes around the routing path should route back to the source such that every node’s caches can update the new information.

9

-ESDSR [2] is an energy efficient DSR protocol. It changes the way of choosing a routi

g Protocols

A ty, position awareness, and

loca

ng path from the shortest path in DSR to the maximum expected life of the path.

Once a source node setups a route discovery, the return packet of each route path will contain the minimum expected battery life. The source node chooses a routing path with the maximum expected battery life among all routing paths. Each node also has its power table which contains its neighbor’s power state information so that it will choose more energy efficient path to the destination.

3.2 Comparison of Different Routin

ccording to the following metrics: energy cost, mobili

lization, the above mentioned approaches are compared, as shown in Table 1. The proposed cluster-based energy efficient routing (CEER) is also included in the table, which will be described in Chapter 4. First, the metric of energy cost indicates the average energy cost of the protocol for a packet sending from the source to the destination. ESDSR, which is the energy saving version of DSR will be evaluated in our simulations later. Mobility indicates whether nodes in the WSN are fixed or mobile.

DSR, ESDSR, and the proposed CEER can support mobility. The position awareness indicates that if a protocol needs each node to know its position, e.g., using GPS. TTDD and GEAR require this information to route data to the destination. The last metric, localization, indicates that the proposed CEER can perform localization because the source node uses RGB values to assist routing.

10

-Approach Energy cost Mobility Position awareness (e.g., using GPS)

Localization

SPIN[4] Mid N/A No No

TTDD[5] Mid Low Yes No

GEAR[6] Mid Low Yes No

DSR[7] Mid Mid No No

ESDSR[2] Low Mid No No

CEER (proposed) Low Mid No Yes

Table 1. Comparison of six routing protocols, including the proposed cluster-based energy efficient routing protocol.

11

-Chapter 4

Cluster-based Energy Efficient Routing Algorithm

In this chapter, we propose a cluster based energy efficient routing (CEER) algorithm for WSNs, which is based on the CDL [1]. The network model is first described. The routing process can be organized into three phases: setup phase, data dissemination phase, and refinement phase, which will be described next.

4.1 Network Model

The network model for our routing protocol is described as follows:

¾ A server is used for building a location database, localization, and collecting sensed data.

¾ The area is divided into clusters and a cluster head is selected by the server for each cluster.

¾ There are four anchors, which are placed in the four corners of the area [9].

Anchors collect aggregate data received from cluster heads.

¾ All sensor nodes have a uniform energy at the beginning.

¾ Each node wakes up at a fixed rate to check if its RGB values have changed.

¾ All sensor nodes are mobile.

¾ CSMA/CA is used to avoid collision of packets.

4.2 Setup Phase

In this phase, we need to choose a sensor node to be the cluster heads so that we can start to collect data. First, we used a sensor node’s radio range R such that the grid size is R× . All sensor nodes in a cluster (grid) are within their cluster head’s radio R

12

-range.

Secondly, each anchor floods its RGB values and average hop distance to each sensor node so that it can calculate its hop count to the anchor and adjust its RGB values based on the hop count. Then, the server receives the RGB values from each sensor node. By looking up the location database, the server can calculate each sensor node’s location and choose a cluster head which is close to the center of the grid, as shown in Figure 4.

Anchor Cluster head Sensor

Figure 4. Setup phase 1: Choose a cluster head which is close to the center of the grid.

Finally, the server uses the closest anchors to send information to the selected sensor nodes to let them know that they are cluster heads, as shown in Figure 5.

Anchor Cluster head

Figure 5. Setup phase 2: Server uses the closest anchors to send information to the selected sensor nodes to let them know that they are cluster heads.

13

-4.3 Data Dissemination Phase

After the setup phase, each cluster head will receive its cluster member’s information. If a sensor node’s position is changed, its hop counts to the anchors may also change. The node then updates its RGB values and transmits them to its cluster head. When a cluster head receives information from its cluster member, it will setup a timer and wait for other possible information from other members until the timer expires. The advantage of setting up a timer is that we can wait for other cluster members to see if they have data to send. In this way, communication cost can be reduce.

When a cluster head wants to forward the aggregate data toward the server, two steps are performed in CEER. In the first step, it selects its one hop neighbors that are closer to a nearby anchor than itself as the next possible hop by comparing their respective RGB values, as shown in Figure 6. In the second step, among those selected cluster members, the sensor node with the highest energy level is selected as the next hop, as shown in Figure 7. The selected node will receive the aggregated data and again follows these two steps to transmit the data to its next hop until reaching the server via the anchor.

Radio range

Anchor Cluster head Selected sensor Unselected sensor

Figure 6. Data dissemination step 1. Select one hop neighbor nodes closer to the anchor

14

-E=0.6

E=0.7 E=0.3

E=0.5

Radio range

Anchor Cluster head Selected sensor Unselected sensor

Figure 7. Data dissemination step 2. Choose the node with the maximum energy level from the selected nodes

4.4 Refinement Phase

There are several situations that a cluster head may fail to do its job. For example, if a cluster head has low power, it may not live long enough to be a cluster head. On the other hand, if a cluster head moves away from the grid, it may lose contact with some cluster members. In these situations, it is necessary to choose another sensor node to become a new cluster head so that the information can still be forwarded.

However, if we change cluster heads too often, it will waste too much energy and communication cost to switch the cluster head’s job from one sensor node to another.

Our approach uses the server to choose cluster heads because the server knows the speed, position, and energy level of each node. Among them, the most important factor is a node’s energy level. However, under the following two conditions, the role of a cluster head will not be replaced:

¾ A cluster head with an energy level higher than half of the original battery capacity.

¾ A cluster head with an energy level lower than half of the original battery capacity but higher than the average energy level.

15

-If a cluster head with low energy needs to be replaced, the server collects information of the sensor nodes in the corresponding grid. Then the server sorts each node’s speed from low to high and chooses a node if its energy level is higher than half of the original battery capacity or higher than the average energy level. On the other hand, when a sensor moves away from its cluster head, it broadcasts a packet to its neighbor nodes to ask for a new cluster head and hop counts. If there are more than two cluster heads for the sensor node to choose, the cluster head with RGB values closer to itself will be chosen. Figure 8 is the flowchart of our CEER algorithm.

16

-Sensor start

Collect RGB values from anchors

and return its RGB values to the

server

Server start

Build location database based on the RGB values

from anchors

Receive RGB values

from each sensor

Update cluster heads if

necessary

cluster head via the

anchor Act as a cluster head

or a sensor node

Send packets to new cluster heads

Transmit to

cluster head Transmit to the

server Send packets if position is

changed

Send packets to the server

Figure 8. The flowchart of CEER

17

-Chapter 5

Simulation Results and Discussion

In this chapter, we evaluate the proposed approach, CEER, by measuring its energy consumption and latency per packet with different number of sensor nodes and compare it with an existing approach, ESDSR [2].

5.1 Simulation Model

Our simulation model follows that of CDL [1] since our routing algorithm is based on CDL. All nodes were randomly placed in a 500 m × 500 m area and a modified random waypoint models [8] was used to simulate the mobility characteristic of each sensor node. In addition, a sensor node selects a moving destination and a velocity randomly. After reaching the destination, the sensor node pauses for a period of time (pause time). The node speed is uniformly distributed within [Vmin, Vmax]. The simulation parameters are shown in Table 2. The two performance parameters are defined as follows:

¾ Total energy consumption (mJ): summary of all sensor nodes’ energy consumption after 50 time slots (time units).

¾ Latency per packet (sec): average time spent to send a packet with aggregate data such as RGB values from a sensor node to the server.

18

-Parameter Value

Area size 500×500 m2

Node speed Randomly choose from [Vmin,Vmax] Node transmission range (R) 50 m

Pause time 0

Measurement period 50 tu

Update interval 5 tu

Time slot length (time unit) t u

Table 2. Simulation parameters.

In [9], it has shown that the location estimated error is minimized when anchors are placed at the corners. So we put four anchors at the four corner of the area, as shown in Figure 9.

Anchor

Figure 9. Anchor deployment.

5.2 Comparison with ESDSR [2]

Sooyeon Kim et. al [10] mentioned that a well dissemination routing protocol should have three characteristics: energy efficient, self-configuration, and scalable. By simulations, we have shown that our algorithm is better than ESDSR in terms of energy efficiency. Our algorithm is self-configurable in terms of cluster head selection, as described section 4.4. As to the scalability, our algorithm is more scalable than ESDSR when the area is bigger, which will be described at the end of this section.

19

-0

Figure 10. Energy consumption vs. number of nodes

As shown in Figure 10, our approach (CEER) saves more energy than ESDSR when the number of nodes increases. This is because CEER uses a cluster head to aggregate data and adopts dynamic path finding to find a neighbor node with maximum energy to route data to a nearby anchor. ESDSR uses local broadcast to find a path and choose the best route with maximum expected life but the source node doesn’t aggregate data of its neighbor nodes to send data to the destination.

0

Figure 11. Latency per packet vs. number of nodes.

In Figure 11, CEER has less latency per packet than ESDSR because the ESDSR uses the path with the maximum expected life in order to balance the load of the entire

20

-sensor network. In contrast, our approach selects a next hop node to delivery data based on the RGB values and the maximum energy levels of neighbor nodes, which is more efficient.

We also used the same network model as that of ESDSR [2] to validate the correct implementation of the ESDSR and CEER. Forty sensor nodes were randomly placed in an area sized from 200 m × 200 m, 300 m × 300 m, 400 m × 400 m, to 500 m × 500 m, respectively, while keeping the number of mobile nodes (40) and connection (20) constants. Figure 12 shows that, in a small area, our approach did not perform well compared to ESDSR. This is because we used a cluster head to forward transmissions, even if a node is within the transmission range of an anchor. When the area grows bigger, the routing path is long enough so that the overhead of routing packets to the cluster head can be reduced. Therefore, CEER is more scalable than ESDSR when the area is growing bigger.

0 2 4 6 8 10 12

40 90 160 250

Area (1000 )

Number of dead nodes

CEER ESDSR

Figure 12. Number of dead nodes at the end of simulation m2

21

-Chapter 6

Conclusion and Future Work

6.1 Concluding Remarks

In this paper, we have presented a cluster-based energy efficient routing algorithm (CEER) based on a color-theory-based dynamic localization algorithm (CDL). The basic idea of CEER is based on comparing the RGB values of neighbor nodes and those neighbor nodes that are closer to a nearby anchor are selected. Among these selected neighbor nodes, a sensor node with the highest energy level is chosen to be the next hop node toward the server via the anchor. Simulation results have shown that our routing algorithm can save 50% - 60% energy compared to ESDSR [2] in mobile wireless

In this paper, we have presented a cluster-based energy efficient routing algorithm (CEER) based on a color-theory-based dynamic localization algorithm (CDL). The basic idea of CEER is based on comparing the RGB values of neighbor nodes and those neighbor nodes that are closer to a nearby anchor are selected. Among these selected neighbor nodes, a sensor node with the highest energy level is chosen to be the next hop node toward the server via the anchor. Simulation results have shown that our routing algorithm can save 50% - 60% energy compared to ESDSR [2] in mobile wireless

相關文件