Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Advanced Wireless Networks - 4G Technologies

.pdf
Скачиваний:
60
Добавлен:
17.08.2013
Размер:
21.94 Mб
Скачать

548 SENSOR NETWORKS

(a)

 

(b)

(c)

 

Sink

Sink

Sink

 

 

Source

Source

Source

 

Figure 14.9 An example of directed diffusion [27]: (a) propagate interest, (b) set up gradient and (c) send data.

where P is the desired percentage to become a cluster-head; r, the current round; and G, the set of nodes that have not being selected as a cluster-head in the last 1/ P rounds. After the cluster-heads are selected, the cluster-heads advertise to all sensor nodes in the network that they are the new cluster-heads. During the steady phase, the sensor nodes can begin sensing and transmitting data to the cluster-heads. After a certain period of time spent on the steady phase, the network goes into the set-up phase again and entering into another round of selecting the cluster-heads.

14.3.3.5 Directed diffusion

The directed diffusion data dissemination is discussed in Intanagonwiwat et al. [27]. The sink sends out interest, which is a task description, to all sensors, as shown in Figure 14.9(a). The task descriptors are named by assigning attribute-value pairs that describe the task. Each sensor node then stores the interest entry in its cache. The interest entry contains a timestamp field and several gradient fields. As the interest is propagated throughout the sensor network, the gradients from the source back to the sink are set up as shown in Figure 14.9(b). When the source has data for the interest, the source sends the data along the interest’s gradient path as shown in Figure 14.9(c). The interest and data propagation and aggregation are determined locally. Also, the sink must refresh and reinforce the interest when it starts to receive data from the source. The directed diffusion is based on data-centric routing where the sink broadcasts the interest.

14.3.4 Transport layer

The need for transport layer is discussed in References [44, 46]. This layer is especially needed when access to the system is planned through Internet or other external networks. TCP with its current transmission window mechanisms, as discussed in Chapter 9, does match to the extreme characteristics of the sensor network environment. In Bakre and Badrinath [62] an approach called TCP splitting is considered to make sensor networks interact with other networks such as the Internet. In this approach, TCP connections are ended at sink nodes, and a special transport layer protocol can handle the communications between the sink node and sensor nodes. As a result, the communication between the user and the sink node is by UDP or TCP via the Internet or Satellite. Owing to sensor node limited memory, the communication between the sink and sensor nodes may be purely by UDP type protocols.

SENSOR NETWORKS ARCHITECTURE

549

Unlike protocols such as TCP, the end-to-end communication schemes in sensor networks are not based on global addressing. These schemes must consider that attribute-based naming is used to indicate the destinations of the data packets.

As a conclusion, TCP variants developed in Chapter 9 for the traditional wireless networks are not suitable for WSNs where the notion of end-to-end reliability has to be redefined due to the specific nature of the sensor network which comes with features such as: (1) multiple senders, the sensors and one destination, the sink, which creates a reverse multicast type of data flow; (2) for the same event there is a high level of redundancy or correlation in the data collected by the sensors and thus there is no need for end-to-end reliability between individual sensors and the sink, but instead between the event and the sink; (3) on the other hand there is need of end-to-end reliability between the sink and individual nodes for situations such as re-tasking or reprogramming; (4) the protocols developed should be energy aware and simple enough to be implemented in the low-end type of hardware and software of many WSN applications.

Pump slowly, fetch quickly (PFSQ) is designed to distribute data from a source node by pacing the injection of packets into the network at relatively low speed (pump slowly) which allows nodes that experience data loss to aggressively recover missing data from their neighbors (fetch quickly). The goals of this protocols are: (1) to ensure that all data segments are delivered to the intended destinations with minimum especial requirements on the nature of the lower layers; (2) to minimize the number of transmissions to recover lost information; (3) to operate correctly even in situations where the quality of the wireless links is very poor; and (4) to (5) provide loose delay bounds for data delivery to all intended receivers. PFSQ has been designed to guarantee sensor-to-sensor delivery and to provide end-to-end reliability for control management distribution from the control node (sink) to the sensors. It does not address congestion control.

Event-to-sink reliable transport (ESRT), illustrated in Figure 14.10, is designed to achieve reliable event detection (at the sink node) with a protocol that is energy aware and has congestion control mechanisms.

The protocol provides self-configuration, even in the case of a dynamic topology. For energy awareness sensor nodes are notified to decrease their frequency of reporting if the reliability level at the sink node is above the minimum. Congestion control takes advantage of the high level of correlation between the data flows corresponding to the same event. Sink is only interested in the collective information from a group of sensors, not in their

Event

Sink

Figure 14.10 Event-to-sink reliable transport (ESRT).

550 SENSOR NETWORKS

individual report. Most of the complexity of the protocol falls on the sink node, minimizing the requirements on the sensor nodes.

14.3.5 Application layer

In this section, we discuss three application layer protocols, i.e. sensor management protocol (SMP), task assignment and data advertisement protocol (TADAP), and sensor query and data dissemination protocol (SQDDP). Additional work is expected in this segment of sensor networks.

14.3.5.1 Sensor management protocol

Sensor networks have many different application areas, and accessing them through networks such as the Internet is an option [44]. Designing an application layer management protocol has several advantages. It makes the hardware and software of the lower layers transparent to the sensor network management applications. System administrators interact with sensor networks using the sensor management protocol (SMP). Unlike many other networks, sensor networks consist of nodes that do not have global IDs, and they are usually infrastructureless. Therefore, SMP needs to access the nodes by using attributebased naming and location-based addressing, which are explained in detail earlier in this section. SMP is a management protocol that provides the software operations needed to perform the following administrative tasks: introducing the rules related to data aggregation, attribute-based naming and clustering to the sensor nodes, exchanging data related to the location-finding algorithms, time synchronization of the sensor nodes, moving sensor nodes, turning sensor nodes on and off, querying the sensor network configuration and the status of nodes, re-configuring the sensor network, and authentication, key distribution and security in data communications. Discussion of these issues is given in References [15, 41, 48, 49, 65, 95–97].

The task assignment and data advertisement protocol controls interest dissemination in sensor networks. As discussed earlier in this section (Figure 14.6), users send their interest to a sensor node, a subset of the nodes or whole network. This interest may be about a certain attribute of the phenomenon or a triggering event. Another approach is the advertisement of available data in which the sensor nodes advertise the available data to the users, and the users query the data they are interested in. An application layer protocol that provides the user software with efficient interfaces for interest dissemination is useful for lower layer operations, such as routing, as explained in Figure 14.6.

The sensor query and data dissemination protocol (SQDDP) provides user applications with interfaces to issue queries, respond to queries and collect incoming replies. Note that these queries are generally not issued to particular nodes. Instead, attribute-based or locationbased naming is preferred. For instance, ‘the locations of the nodes in the supermarket where the selling items stock is bellow a threshold and should be re-supplied’ is an attribute-based query. Similarly, ‘the selling item stock size at the node A’ is an example for location-based naming.

Sensor query and tasking language (SQTL) [49] is proposed as an application that provides even a larger set of services. SQTL supports three types of events, which are defined by the keywords receive, every and expire. Receive keyword defines events generated by

MOBILE SENSOR NETWORKS DEPLOYMENT

551

a sensor node when the sensor node receives a message; every keyword defines events occurring periodically due to a timer time-out; and the expire keyword defines the events occurring when a timer is expired. If a sensor node receives a message that is intended for it and contains a script, the sensor node then executes the script. Although SQTL is proposed, different types of SQDDP can be developed for various applications. The use of SQDDPs may be unique to each application.

14.4 MOBILE SENSOR NETWORKS DEPLOYMENT

A mobile sensor network is composed of a distributed collection of nodes, each of which in addition to sensing, computation and communication also has locomotion capabilities. Locomotion facilitates a number of useful network capabilities, including the ability to selfdeploy and self-repair. The use of mobile sensor networks includes applications ranging from urban combat scenarios to search-and-rescue operations and emergency environment monitoring. An example is a scenario involving a hazardous materials leak in an urban environment. In general, we would like to be able to throw a number of sensor nodes into a building through a window or doorway. The nodes are equipped with chemical sensors that allow them to detect the relevant hazardous material, and deploy themselves throughout the building in such a way that they maximize the area ‘covered’ by these sensors. Data from the nodes are transmitted to a base station located safely outside the building, where they are assembled to form a live map showing the concentration of hazardous compounds within the building.

For the sensor network to be useful in this scenario, the location of each node must be determined. In urban environments, accurate localization using GPS is generally not possible (due to occlusions or multipath effects), while landmark-based approaches require prior models of the environment that may be either unavailable (destroyed), incomplete or inaccurate. This is particularly true in disaster scenarios, were the environment may have undergone recent (and unplanned) structural modifications. Therefore it is of interest to determine the location of network nodes using the nodes themselves as landmarks. This particular technique, however, requires that nodes maintain line-of-sight relationships with one another. This condition also enables establishment of line-of-sight communications links which operate with minimum energy consumption. An additional demand is that nodes should deploy in such a way that they maximize the area ‘covered’ by the network, while simultaneously ensuring that each node can be seen by at least one other node.

The concept of coverage as a paradigm for evaluating multi-robot [98–114] systems was introduced in Gage [93]. Three basic types of coverage were defined: blanket coverage, where the objective is to achieve a static arrangement of nodes that maximizes the total detection area; barrier coverage, where the objective is to minimize the probability of undetected penetration through the barrier; and sweep coverage, which is more or less equivalent to a moving barrier. The problem of exploration and map-building by a single robot in an unknown environment has been considered by a number of authors [113–115]. The frontier-based approach described in References [113,114] proceeds by incrementally building a global occupancy map of the environment, which is then analyzed to find the ‘frontiers’ between free and unknown space. The robot is directed to the nearest such frontier. The network deployment algorithm described in Howard et al. [98] shares a number of similarities with [113]. It also builds a global occupancy grid of the environment and

552 SENSOR NETWORKS

direct nodes to the frontier between free and unknown space. However, in this deployment algorithm the map is built entirely from live, rather than stored, sensory data. It also satisfies an additional constraint: that each node must be visible to at least one other node.

Multi-robot exploration and map-building has been explored by a number of authors [100,106,109,111] who use a variety of techniques ranging from topological matching [100] to fuzzy inference [106] and particle filters [111]. Once again, there are two key differences between these earlier works and the work described in Howard et al. [98], where maps are built entirely from live, not stored, sensory data, and the deployment algorithm must satisfy an additional constraint (i.e. line-of-sight visibility).

A distributed algorithm for the deployment of mobile robot teams has been described in [108], where the concept of ‘virtual pheromones’ is introduced. These are localized messages that are emitted by one robot and detected by nearby robots. Virtual pheromones can be used to generate either ‘gas expansion’ or ‘guided growth’ deployment models. The key advantage of this approach is that the deployment algorithm is entirely distributed, and has the potential to respond dynamically to changes in the environment. This algorithm does, however, lead to relatively slow deployment; it is also unclear, from the published results, how effective this algorithm is at producing good area coverage. A somewhat similar algorithm based on artificial potential fields is described in Howard et al. [104].

The algorithm elaborated in this section is an incremental deployment algorithm [98], where nodes are deployed one at a time, with each node making use of information gathered by the previously deployed nodes to determine its ideal deployment location. The algorithm aims to maximize the total network coverage, i.e. the total area that can be ‘seen’ by the network. At the same time, the algorithm must ensure that the visibility constraint is satisfied, i.e. each node must be visible to at least one other node. The algorithm relies on a number of key assumptions:

(1)Homogeneous nodes – all nodes are assumed to be identical. We also assume that each node is equipped with a range sensor, a broadcast communications device, and is mounted on some form of mobile platform.

(2)Static environment – the environment is assumed to be static, at least to the extent that gross topology remains unchanged while the network is deploying.

(3)Model-free – this algorithm is intended for applications in which environment models are unavailable; indeed, a key task for the network may be to generate such models.

(4)Full communication – all nodes in the network can communicate with some remote base station on which the deployment algorithm is executed. Note that this does not automatically imply that all nodes must be within radio range of the base station; the nodes may, for example, form an ad hoc multihop network.

(5)Localization – the position of each node is known in some arbitrary global coordinate system. This technique does not require external landmarks or prior models of the environment, but does require that each node is visible to at least one other node. It is this requirement that gives rise to the visibility constraint, i.e. each node must be visible to at least one other node at its deployed location.

Two performance metrics are of interest: coverage, i.e. the total area visible to the network’s sensors; and time, i.e. the total deployment time, including both the time taken to perform the necessary computations and the time taken to physically move the nodes. The objective is to maximize the coverage while minimizing the deployment time.

DIRECTED DIFFUSION

553

The algorithm has four phases: initialization, selection, assignment and execution.

Initialization – nodes are assigned one of three states: waiting, active or deployed. As the names suggest, a waiting node is waiting to be deployed, an active node is in the process of deploying, and a deployed node has already been deployed. Initially, the state of all nodes is set to waiting, with the exception of a single node that is set to deployed. This node provides a starting point, or ‘anchor’, for the network, and is not subject to the visibility constraint.

Selection – sensor data from the deployed nodes is combined to form a common map of the environment (occupancy grid ). This map is analyzed to select the deployment location, or goal, for the next node. Each cell in this grid is assigned one of three states: free, occupied or unknown. A cell is free if it is known to contain no obstacles, occupied if it is known to contain one or more obstacles, and unknown otherwise. In the combined occupancy grid, any cell that can be seen by one or more nodes will be marked as either free or occupied; only those cells that cannot be seen by any node will marked as unknown. We can therefore ensure that the visibility constraint is satisfied by always selecting goals that lie somewhere in free space.

Assignment – in the simplest case, the selected goal is assigned to a waiting node, and the node’s state is changed from waiting to active. More commonly, assignment is complicated by the fact that deployed nodes tend to obstruct waiting nodes, necessitating a more complex assignment algorithm. That is, the algorithm may have to re-assign the goals of a number of previously deployed nodes, changing their state from deployed to active.

Execution – active nodes are deployed sequentially to their goal locations. The state of each node is changed from active to deployed upon arrival at the goal. The algorithm iterates through the selection, assignment and execution phases, terminating only when all nodes have been deployed. Performance examples of the algorithm can be found in Howard et al. [98].

14.5 DIRECTED DIFFUSION

As already indicated in Section 14.3.3, directed diffusion consists of several elements. Data is named using attribute-value pairs. A sensing task (or a subtask thereof) is disseminated throughout the sensor network as an interest for named data. This dissemination sets up gradients within the network designed to ‘draw’ events (i.e. data matching the interest). Events start flowing towards the originators of interests along multiple paths. The sensor network reinforces one, or a small number of these paths as illustrated in Figure 14.9. In this section we elaborate these elements in more detail.

In directed diffusion, task descriptions are named by, for example, a list of attribute-value pairs that describe a task. For example a surveillance system (military or civil application) which is expected to report an intrusion in a given area might be described as

type = human interval = 20 ms duration = 10 s

rect = [100, 100, 200, 400]

// detect location

// send back events every 20 ms

// .. for the next 10 s

// from sensors within rectangle

554 SENSOR NETWORKS

For simplicity, we choose the subregion representation to be a rectangle defined on some coordinate system; in practice, this might be based on GPS coordinates. The task description specifies an interest for data matching the attributes. For this reason, such a task description is called an interest. The data sent in response to interests are also named using a similar naming scheme. Thus, for example, a sensor that detects an intrusion might generate the following data:

type = human instance = military location = [125, 220] intensity = 0.6 confidence = 0.85 timestamp = 01:20:40

// type of intruder seen

// instance of this type

// node location

// signal amplitude measure

// confidence in the match

// event generation time

Given our choice of naming scheme, we now describe how interests are diffused through the sensor network. Suppose that a task, with a specified type and rect, a duration of 10 min and an interval of 10 ms, is instantiated at a particular node in the network. The interval parameter specifies an event data rate; thus, in our example, the specified data rate is 100 events per second. This sink node records the task; the task state is purged from the node after the time indicated by the duration attribute.

For each active task, the sink periodically broadcasts an interest message to each of its neighbors. This initial interest contains the specified rect and duration attributes, but contains a much larger interval attribute. Intuitively, this initial interest may be thought of as exploratory; it tries to determine if there indeed are any sensor nodes that detect the human intrusion. To do this, the initial interest specifies a low data rate (in our example, one event per second). Then, the initial interest takes the following form:

type = human interval = 1 s

rect = [100, 200, 200, 400] timestamp = 01:20:40 expiresAt = 01:30:40

The interest is periodically refreshed by the sink. To do this, the sink simply re-sends the same interest with a monotonically increasing timestamp attribute. Every node maintains an interest cache. Each item in the cache corresponds to a distinct interest. Two interests are distinct if their type, interval or rect attributes are different. Interest entries in the cache do not contain information about the sink. Thus, interest state scales with the number of distinct active interests. The definition of distinct interests also allows interest aggregation. Two interests I1 and I2, with identical types, completely overlapping rect attributes, can, in some situations, be represented by a single interest entry.

An entry in the interest cache has several fields. A timestamp field indicates the timestamp of the last received matching interest. The interest entry also contains several gradient fields, up to one per neighbor. Each gradient contains a data rate field requested by the specified neighbor, derived from the interval attribute of the interest. It also contains a duration field, derived from the timestamp and expiresAt attributes of the interest, and indicating the approximate lifetime of the interest.

When a node receives an interest, it checks to see if the interest exists in the cache. If no matching entry exists (where a match is determined by the definition of distinct interests

DIRECTED DIFFUSION

555

specified above), the node creates an interest entry. The parameters of the interest entry are instantiated from the received interest. This entry has a single gradient towards the neighbor from which the interest was received, with the specified event data rate. In the above example, a neighbor of the sink will set up an interest entry with a gradient of one event per second towards the sink. For this, it must be possible to distinguish individual neighbors. Any locally unique neighbor identifier may be used for this purpose.

If there exists an interest entry, but no gradient for the sender of the interest, the node adds a gradient with the specified value. It also updates the entry’s timestamp and duration fields appropriately. Finally, if there exist both an entry and a gradient, the node simply updates the timestamp and duration fields.

After receiving an interest, a node may decide to re-send the interest to some subset of its neighbors. To its neighbors, this interest appears to originate from the sending node, although it might have come from a distant sink. This is an example of a local interaction. In this manner, interests diffuse throughout the network. Not all received interests are re-sent. A node may suppress a received interest if it recently re-sent a matching interest.

Generally speaking, there are several possible choices for neighbors, as presented in Figure 14.11. The simplest alternative is to re-broadcast the interest to all neighbors. It may also be possible to perform geographic routing, using some of the techniques described in Chapters 7 and 13. This can limit the topological scope for interest diffusion, thereby resulting in energy savings. Finally, in an immobile sensor network, a node might use cached

(a)

Sink

Gradients

(b)

Sink

Gradients

Event

Source

Event

 

D

Sink

 

 

(c)

 

(d)

B

 

C

 

 

Event

 

 

 

A

Event

 

 

Event

Source

C

Source

 

Sink X

Sink Y

Source

(e)

Gradients

Sink

Figure 14.11 Diffusion: (a) gradient establishment; (b) reinforcement; (c) multiple sources;

(d) multiple siniks; and (e) repair.

556 SENSOR NETWORKS

data to direct interests. For example, if in response to an earlier interest, a node heard from some neighbor A data sent by some sensor within the region specified by the rect attribute, it can direct this interest to A, rather than broadcasting to all neighbors.

Figure 14.11(a) shows the gradients established in the case where interests are flooded through a sensor field. Unlike the simplified description in Figure 14.9(b), notice that every pair of neighboring nodes establishes a gradient towards each other. This is a consequence of local interactions.

For a sensor network, a gradient specifies both a data rate and a direction in which to send events. More generally, a gradient specifies a value and a direction. Figure 14.9(c) implicitly depicts binary valued gradients. In the sensor networks presented in this section, gradients have two values that determine the event reporting rate. In other sensor networks, gradient values might be used to, for example, probabilistically forward data along different paths, achieving some measure of load balancing.

14.5.1 Data propagation

A sensor node that is within the specified rect processes interests as described in the previous section. In addition, the node tasks its local sensors to begin collecting samples. A sensor node that detects a target searches its interest cache for a matching interest entry. In this case, a matching entry is one whose rect encompasses the sensor location, and the type of the entry matches the detected target type. When it finds one, it computes the highest requested event rate among all its outgoing gradients. The node tasks its sensor subsystem to generate event samples at this highest data rate. In the previous example, this data rate is initially one event per second (until reinforcement is applied). The source then sends to each neighbor for whom it has a gradient, an event description every second of the form:

type = human

/ / type of intruder seen

instance = military

/ / instance of this type

location = [125, 220]

/ / node location

intensity = 0.6

/ / signal amplitude measure

confidence = 0.85

/ / confidence in the match

timestamp = 01:20:40

/ / local time when event was generated

This data message is unicast individually to the relevant neighbors. A node that receives a data message from its neighbors attempts to find a matching interest entry in its cache. The matching rule is as described in the previous paragraph. If no match exists, the data message is silently dropped. If a match exists, the node checks the data cache associated with the matching interest entry for loop prevention. If a received data message has a matching data cache entry, the data message is silently dropped. Otherwise, the received message is added to the data cache and the data message is re-sent to the node’s neighbors.

By examining its data cache, a node can determine the data rate of received events. To resend a received data message, a node needs to examine the matching interest entry’s gradient list. If all gradients have a data rate that is greater than or equal to the rate of incoming events, the node may simply send the received data message to the appropriate neighbors. However, if some gradients have a lower data rate than others (caused by selectively reinforcing paths, then the node may downconvert to the appropriate gradient.

AGGREGATION IN WIRELESS SENSOR NETWORKS

557

14.5.2 Reinforcement

The sink initially diffuses an interest for a low event-rate notification (one event per second). Once sources detect a matching target, they send low-rate events, possibly along multiple paths, towards the sink. After the sink starts receiving these low data rate events, it reinforces one particular neighbor in order to ‘draw down’ higher quality (higher data rate) events. In general, this feature of directed diffusion is achieved by data driven local rules. One example of such a rule is to reinforce any neighbor from which a node receives a previously unseen event. To reinforce this neighbor, the sink re-sends the original interest message but with a smaller interval (higher data rate). The reinforcement propagates back, and one way to chose reinforced path is to pick up one with low delay, as shown in Figure 14.11(b). Similar mechanisms are used to handle multiple source and multiple sinks scenarios, as shown in Figure 14.11(c) and (d).

In directed diffusion, intermediate nodes on a previously reinforced path can also apply the reinforcement rules. This is useful to enable local repair of failed or degraded paths as indicated in Figure 14.11(e).

14.6 AGGREGATION IN WIRELESS SENSOR NETWORKS

Data fusion or aggregation is an important concept in sensor networks. The key idea is to combine data from different sensors to eliminate redundant transmissions, and still provide a rich, multidimensional view of the environment being monitored. This concepts shifts the focus from address-centric approaches (finding routes between pairs of end nodes) to a more data-centric approach (finding routes from multiple sources to a destination that allows in-network consolidation of data).

Consider a network of n sensor nodes 1, 2, . . . , n and a sink node t labeled n + 1 distributed over a region. The locations of the sensors and the sink are fixed and known apriori. Each sensor produces some information as it monitors its vicinity. We assume that each sensor generates one data packet per time unit to be transmitted to the base station. For simplicity, we refer to each time unit as a transmission cycle or simply cycle. We assume that all data packets have size k bits. The information from all the sensors needs to be gathered at each cycle and sent to the sink for processing. We assume that each sensor has the ability to transmit its packet to any other sensor in the network or directly to the sink. Further, each sensor i has a battery with finite, non-replenishable energy Ei . Whenever a sensor transmits or receives a data packet, it consumes some energy from its battery. The sink has an unlimited amount of energy available to it. Typical assumptions used in the modeling of energy consumption are that sensor consumes elec = 50 nJ/b to run the transmitter or receiver circuitry and amp = 100 pJ/bit/m2 for the transmitter amplifier. Thus, the energy consumed by a sensor i in receiving a k-bit data packet is given by, Rxi = elec × k, while the energy consumed in transmitting a data packet to sensor j is given by, T xi, j = elec × k + amp × di2, j × k, where di, j is the distance between nodes i and j.

We define the lifetime T of the system to be the number of cycles until the first sensor is drained of its energy. A data gathering schedule specifies, for each cycle, how the data packets from all the sensors are collected and transmitted to the base station. A schedule can be thought of as a collection of T directed trees, each rooted at the base station and