360 likes | 390 Views
Smart Sensors and Sensor Networks. Lecture 9 In network processing. Smart Sensors and Sensor Networks. Collaborative or cooperative processing (computing); CSIP: Collaborative Signal and Information Processing; DSP: Distributed Signal Processing;
E N D
Smart Sensors and Sensor Networks Lecture9 In network processing
Smart Sensors and Sensor Networks • Collaborative or cooperative processing (computing); • CSIP: Collaborative Signal and Information Processing; • DSP: Distributed Signal Processing; • Communication consumes the most energy; solutions: • Data aggregation; • In network processing; • Crucial considerations: • In most networks, sensors are relatively close by each other; • When they observe a function of the physical environment, the changes of this function over a given distance are likely to be small in most cases; • Hence, the measurements taken by nearby sensors are correlated in space; • Since physical processes do not usually change abruptly, the measurements from a given sensor are also correlated in time; • In networking processing schemes exploit the correlation in time and space; example of changes: the optimal tree for collecting all data from the network is no longer a shortest-path tree but rather tends toward a travelling-salesperson structure;
Smart Sensors and Sensor Networks • Distributed coding schemes exploit the correlation among resources; • Correlation allows compression schemes to reduce the number of bits to be transmitted; • CSIP: • Making use of the processing power of the sensors, data are preprocessed, obtaining a different, more compact form of representation of the observed data or a reduction to relevant aspects; • A typical example: distributed tracking of vehicles: • Each sensor can observe some partial information, for example, a distance estimate to a moving object but only taken together does this information allow to compute and update a position estimate; • The trivial solution to send all values to a central processing site is inefficient regarding energy spent for communication; • Preprocessing in the field is advisable; • Depending on the type of processing to be done and on whether processing or communication constitutes the efficiency bottleneck, one can distinguish between coherent and non-coherent cooperative functions;
Smart Sensors and Sensor Networks • Non-coherent cooperative functions: • Raw sensor data will be preprocessed at each node to extract a small set of parameters to be forwarded to a central node for further processing; • In general, there are 3 phases in the processing network formation process: • Target detection, data collection and preprocessing; • Membership declaration; • Central node election; • During phase 1, a target is detected, its data collected and preprocessed; although the sink node can override any decision made on the local level, the results of preprocessing can serve as good indicators whether a node should participate in a cooperative function; one such indicator is the Signal to Noise Ratio (SNR); • When a node decides to participate in a cooperative function, it will enter phase 2 and declare this intention to all neighbors; this should be done as soon as possible so that each sensor has a local understanding of the network topology; • Phase 3 is the election of the central node (CN); since CN is selected to perform more sophisticated information processing, it must have sufficient energy reserve and computational capability;
Smart Sensors and Sensor Networks • The CN election algorithm has 2 components: • Single Winner Election (SWE) algorithm; • Spanning tree (ST) algorithm; • The first component handles the necessary signaling that facilitates the exchange of candidate information; the second component computes a minimum hop spanning tree rooted at CN; by piggybacking election and routing information together in an Elect message, it is possible to execute both algorithms concurrently; • Each Elect message identifies a potential CN candidate and a set of parameters that serve as the election criteria by which candidates are compared; • In the initial stage of the SWE process, each node may impose a voluntary delay of varying length before announcing itself as a CN candidate by broadcasting Elect messages; • In the response to the first batch of Elect messages, those nodes that received them will start comparing the proposed CN candidates with itself and respond with a second batch of Elect messages which carries the result of the initial comparison; the second batch of message passing will likely spawn further exchange of messages; • During this process, for each message that presents a better candidate, its information will be recorded in the registry and then be forwarded to all neighbors; otherwise the message is discarded;
Smart Sensors and Sensor Networks • Next figure shows how the continuing exchange, forwarding and discarding of Elect messages allows the winning candidates’ information to “diffuse” throughout the network; • Together with this diffusion process, a minimum – hop spanning tree rooted at the winning candidate will gradually increase its coverage; by the end of the SWE process, a minimum –hop spanning tree will completely cover the network;
Smart Sensors and Sensor Networks • An overhead – delay trade – off exists such that if each candidate voluntarily delays itself based on its likelihood to win the election, the diffusion process of the Elect messages for the better candidates will have a head start; • This simple mechanism can eliminate many local Elect message exchanges among losing candidates and greatly reduce overhead (comparison between figures): • When sufficient delay difference exists between the best candidate and the rest of the network, Elect messages of the winner can cover the entire network without opposition, thus achieving minimum overhead;
Smart Sensors and Sensor Networks • Coherent cooperative functions: • The coherent algorithm differs the non-coherent case in 2 respects: • Limited number of sensors generating data; • Explicit computation of minimum energy paths; • Since the energy cost of uploading long data stream to the central node is high, a Multi-Winner Election (MWE) process is used to limit the number of sensor source nodes (SN) that will provide the data; • The MWE process is an extension of the SWE process; instead of keeping record of one best candidate, each node will now keep up to n of them; • Just as in the non-coherent case, for each winning SN candidate, a minimum-energy path can be computed by piggybacking link power information on the Elect messages; • At the end of the MWE process, each sensor in the network has a set of minimum energy paths to each SN; then the total energy consumption to upload data from each SN to each node in the local network can be computed; • Using this energy consumption figure as the election criterion, a SWE process can be used to find the node that yields the minimum energy consumption; this node can serve as the CN for the coherent cooperative function;
Smart Sensors and Sensor Networks • In general, the formation process has longer delay, higher overhead and lower scalability than for non-coherent processing networks;
Smart Sensors and Sensor Networks • Applying MPEG encoding to sensor network • The analogy is between encoding a movie and optimizing data transmission in a WSN; • Suppose a set of sensors is placed in the field, each sensor with its own (x,y) coordinates and periodically reporting its measured value; • If the set of readings from all sensors per one measurement period is tantamount to a single frame of movie, then one can say that each sensor corresponds to one pixel of this virtual image, and the measured value corresponds to the brightness or color of a pixel; • Successive measurement periods correspond to successive frames in the movie; • Depending on the particular application scenario of the WSN, this analogy is more or less close; for a WSN monitoring moving objects, for example, there is a spatiotemporal correlation between successive measurement periods that is very similar to that of a movie and, hence, some of the basic coding and compression ideas of MPEG coding should be applicable;
Smart Sensors and Sensor Networks • MPEG, in particular, exploits predictions of future pixel values to reduce the data rate that has to be transmitted; • Such prediction – based monitoring is proposed; • A clustered organization of the sensor network is proposed; • The clusterhead computes, using MPEG – inspired algorithms, predictions for the likely future measurements of each sensor and returns a prediction model to each sensor; • The sensor, upon receiving this model, need only transmit data to the clusterhead in the future if it is considerably different from the predicted value; • As it is unlikely to be able to exactly predict future values, certain error margins have to be allowed for; • If, on the other hand, a measured value does not match the predicted value, the sensor transmits to the clusterhead to correct this prediction error; • The clusterhead can then also adapt its prediction model for such a sensor;
Smart Sensors and Sensor Networks Geographic routing • Is a form of CSIP, the goal being to simplify the routing process taking into the account the position similarities; • The idea is twofold: • For many applications, it is necessary to address physical locations, for example, as “any node in a given region” or “the node at/closest to a given point”; when such requirements exist, they have to be supported by a proper routing scheme; • When the position of source and destination is known as are the positions of intermediate nodes, this information can be used to assist in the routing process; to do so, the destination node has to be specified either geographically (as above) or as some form of mapping, a location service, between an otherwise specified destination and its current position; the possible advantage is a much simplified routing protocol with significantly smaller or even nonexisting routing tables as physical location carries implicit information to which neighbor to forward a packet to;
Smart Sensors and Sensor Networks • The first aspect, sending data to arbitrary nodes in a given region, is usually referred to as geocasting; • The second aspect is called position – based routing; • In WSNs, usually the geocasting aspect of geographic routing is considerably more important; since nodes are considered as interchangeable and are only distinguished by external aspects, in particular their position, a location service is usually not necessary; • Some simple forwarding strategies in position – based routing • Most forward within r • Assume a node wants to send a data packet to a node at known position and assume that every node in the network knows its own position and that of its neighbors; • In a simply greedy forwarding approach, the packet is forwarded to that neighbor that is located closest to the destination (the destination’s position is included in the packet) minimizing the remaining distance until the destination; • r indicates the maximum transmission range and thus the neighborhood; • Principal shortcoming: by ignoring topology information, geographic routing is, in general, not able to find the shortest possible path (in hop count); • The trade-off between simplified routing and reduced efficiency is unavoidable
Smart Sensors and Sensor Networks • Nearest with forward progress • An alternative to the greedy forwarding is to choose the nearest neighbor that still results in some progress toward the destination; • The reason is to reduce the collision rate and thus to maximize the expected progress per hop; it is not clear how this scheme would interact with an actual MAC layer; • Directional routing • Another possibility is to forward to nodes that are closer in direction rather than closer in distance; • Example: compass routing: that neighbor is chosen that is closest to the direct line between transmitter or destination; a variation would be to choose the angularly closest node;
Smart Sensors and Sensor Networks • The problem of dead ends • These simple strategies cannot deal with dead ends; the figure shows how an obstacle that blocks the direct path between source S and destination D interrupts communication even though S and D are actually connected by the network; • A solution for a situation where no forward progress can be made is to use the “least unappealing” node, that is, the neighboring node that loses the least progress; however, this heuristic can lead to packets looping back and forth between the nodes near the obstacle;
Smart Sensors and Sensor Networks • Right-hand rule to recover greedy routing – GPSR • A solution for the dead end problem is the right-hand rule; • When being stuck in a dead end, or even in a labyrinth, one way of escaping from the labyrinth is to keep the right hand to the wall and keep walking; • The idea was implemented in the Greedy Perimeter Stateless Routing (GPSR) protocol; • GPSR forwards a packet as long as possible using greedy forwarding with the “most forward” rule; if a packet cannot make any more progress, the packet is switched to another routing node: perimeter routing; • A perimeter is a set of nodes defining a face; a face is the largest possible region of the plane that is not cut by any edge of the graph; faces can be exterior or interior; • Perimeter routing essentially consists of sending the packet around the face using the right-hand rule; • To do so, the packet carries information where it entered a given face; this node, v, and the connecting line between it and the destination are used to decide whether the packet should leave the face and proceed to the next one (when the edge from the current node to the next node on the face intersects the connecting line between v and the destination node);
Smart Sensors and Sensor Networks • Also, the packet can return to greedy forwarding if the distance of the current node to the destination node and node v has been effectively reduced; • Routing a packet from A to Z: • At node A, the packet can be greedily forwarded to node D; • At node D, greedy forwarding fails (both B and C are further away from Z than D itself), so the packet is routed around the perimeter of the interior face defined by BFGCD; that is it is forwarded to B and then to F; here, edge FG intersects line DZ and routing can proceed to the next face; • The packet proceeds around the perimeter of the exterior face via E and I to H, from there via K to J and finally to L and Z; the last steps can be done via greedy forwarding; • Since the face-based procedure is based on properties of the plane, it only applies to planar graphs; in general, wireless network graphs are not planar, requiring the construction of a planar subgraph first;
Smart Sensors and Sensor Networks • Combination with ID-based routing • Purely position – based routing can be problematic in the immediate vicinity of the destination node, for example, when the destination node has moved around or the location information is not very accurate; • Identity-based routing protocols solve this issues but have difficulties maintaining state information over long distances; • A combination would use position information to forward a packet into the vicinity of the destination where then an identity-based protocol would take over. • Geocasting • Is an example of multicasting; • A broad classification of geocasting protocols can be made into: • Protocols that are essentially based on some form of geographically restricted flooding even outside the destination region; • Protocols that are based on some unicast routing protocol to transport a packet into destination region; within that region, some form of flooding is required as all nodes in that region are supposed to receive the data;
Smart Sensors and Sensor Networks • Location Based Multicast • A simple way to implement geocasting is to base it on flooding but somehow restrict the area where packets are forwarded; • In LBM protocol, there is a forwarding zone such that only nodes within the forwarding zone forward a received data packet; this zone can be defined in various ways: • Static zone: the smallest rectangle that contains both the source and the entire destination region, with its sides parallel to the axes of coordinate system; alternative geometric definitions are possible as well, for example, the destination region and 2 tangents to it defined by the source node’s location; • Adaptive zone: each forwarding node recalculates the zone definition, using its own position as the source; this way, nodes that would be included in the static zone but would represent a detour once the intermediate node has been reached are excluded from forwarding; since this can, however, again lead to dead end situations, this rule is only applied if an intermediate node actually has neighbors within its newly calculated zone; otherwise it forwards the packet to all neighbors; • Adaptive distances: while the previous two schemes contained the forwarding zone explicitly in each packet, this scheme recomputes it in each step, on the basis of information about the destination region and coordinates of the previous hop or the source; the idea is that a node u forwards a packet to its neighbors if its distance to the center of the destination region is smaller than the distance of the previous hop v to the center, meaning the packet has made progress; if not, the packet is only forwarded if the node is actually within the destination region, to ensure that all destinations receive the packet;
Smart Sensors and Sensor Networks • Trajectory-based forwarding (TBF) • In general, in the interpretation of geocasting the destination region was conceived of as a more or less convex region somewhere far away; • In TBF the region of interest is a path in the network instead some region far away; this path, or trajectory of the packet, can be embedded into the packet as a parametric description of the curve that the packet is supposed to follow; the parameter can be time or, preferably, the length of the path that the packet has followed; • Trajectory-based routing combines aspects from source routing, as the trajectory is defined by the source, and geocasting; • Different forms of such trajectories can be useful for different purposes, for example, a tree form for broadcasting or a “boomerang” for management of a network; • Given such a parametric description of a trajectory, the forwarding of a packet can follow different rules; for example, a node could forward a packet to its neighbor that minimizes the distance from the prescribed trajectory or to the one that results in the most advance of the trajectory; • Selecting the best forwarding policy depends on the actual application requirements;
Smart Sensors and Sensor Networks • Network coding • It’s an innovative way to use network resources; • In a traditional network, a router essentially only receives packets on incoming links and redistributes them to its outgoing links; • In the spirit of in network processing, a router is allowed to also modify data and redistribute the result of coding over already received packets on its outgoing links;
Smart Sensors and Sensor Networks a b • In figure a node S is trying to multicast information to nodes T and U, each intermediate link has a capacity of 1 unit of data per unit of time and each node can send and/or receive different data units at the same time over different links; • Using simple store-and-forward networking, node S can transmit one data unit per unit time to T and U; the additional links via nodes C and D are of no avail here (because delays are ignored); • At best, node S could transmit data x to node A and data y to node B; these nodes broadcast their received data; node C forwards, say, x to D and from there to U; it is not possible, however, to transport two units of data to both receivers in one unit of time;
Smart Sensors and Sensor Networks • This result changes, however, when node C is allowed to process the received data and to forward the results of such processing; • In particular, let node C not just forward one of the received data units but the result of computing the logical XOR of x and y (figure b); node D then broadcasts this data to both T and U who can then use x and y to compute their missing data units; thus, 2 units of data can be transmitted in one unit of time; • This fundamental idea can be generalized to the theory of network coding, applying ideas from coding theory to the processing and forwarding data in a network; • As a fundamental result, a theorem was established that corresponds to the max-flow/min-cut theorem: • A graph G was considered with limited edge capacities, a single source s and several destinations t1, …, tn to which the data from the source should be transmitted at rate h; • It was shown that this data distribution task is solvable if and only if for each destination ti a maximum flow exists that is larger than h; • An other solution is based on linear coding.
Smart Sensors and Sensor Networks Data funneling • Is closer to data aggregation than to in network processing; • The model: • A few controller nodes and many sensor nodes that periodically send their readings to the controllers; • The controller nodes are required to have much great computational and communication capabilities than the sensor nodes, so the cost of them can be much greater than the cost of the sensor nodes; • Also, the controllers must decide what actions to take based upon collated readings from a large region of space; each controller receives the readings of many sensors and each sensor sends its data to only one or two controllers; • The amount of data in each reading is low, at most a few bytes of some type of measurement; however, packet headers include training sequences for clock synchronization, framing information, destination address and error control codes and can be large relative to the packet size;
Smart Sensors and Sensor Networks • The idea: • The controller breaks up the space into different regions (e.g., cuboids) and send interest packets to each region; • Upon receiving the interest packet, each node in the region will start periodically sending its readings back to the controller at an interval specified in the interest packet, usually every few minutes; • Because many sensors within the region will send their readings at the same time, it would be more efficient to combine these readings;
Smart Sensors and Sensor Networks • The algorithm: • The interest packets are sent toward the region using directional flooding; each node that receives the interest packet checks whether it is in the target region; if it is not, it computes its cost for communicating back to the controller, updates the cost field within the interest packet and sends it toward the specified region; directional flooding phase; • When a node in the target region receives the interest packet from a neighbor node outside the target region, the directional flooding phase concludes; the node realizes that it is on the border of the region and designates itself to be a border node (as shown in figure); • Each border node computes its cost for communicating with the controller in the same manner as was done by the nodes outside the region during the directed flooding phase; it then floods the entire region with a modified version of the interest packet; • Within the region, each node only keeps track of its cost for communicating with the border node, not its cost for communicating with the controller; intuitively, it is as if the border node becomes the controller of the specified region; at one of the border nodes, all the readings from within the region will be collated into a single packet;
Smart Sensors and Sensor Networks • Once the nodes within the region receive the modified interest packet from the border nodes, they will then route their readings to the controller via each of the border nodes in turn; • Several border nodes are within the region, so maximizing aggregation of sensor readings requires all the nodes within the region to agree to route their data via the same border node during every given round of reporting back to the controller; this is accomplished by having every node compute an identical schedule of which border node to use during each round of reporting; this is achieved by each node in the region applying the same deterministic function to the vector of costs to reach the controller seen by each border node; • Because all the nodes apply the same function to the same inputs, they will all compute the same schedule, allowing them to collect all of their data at one border node during each round of reporting; the function used to compute the schedule can be the function used to compute the probabilities for selecting different paths in energy – aware routing; this allows border nodes with a low cost for communicating to the controller to be used more frequently than the ones with a high cost;
Smart Sensors and Sensor Networks • As data flow within the region from the sensors to the border nodes, the packet can be aggregated along the way as shown in figure; • When the time comes to send a new round of observations back to the controller, the sensor nodes do not immediately start sending their packets; instead, before sending their readings toward to the border node to be used in that round of reporting, they wait an amount of time inversely proportional to their distance (in number of hops) to that border node;
Smart Sensors and Sensor Networks • This allows nodes far away from the border node to send their data earlier than nodes closer to the border node; thus, nodes close to the border will first receive the readings from upstream nodes and bundle those readings with their own; • In the end, all of the data to be sent out by all nodes within the region will be collated at one border node and sent back to the controller in a single packet; • Advantages: • Data funneling creates clusters within the sensor network but does so in a fluid fashion, making the approach a lot less brittle; • There is no single cluster head whose failure can disconnect the network; instead, the border nodes take turns acting as the cluster head, spreading out the responsibility and the load among them; • Also, the controller can redefine the regions into which its area of interest is divided, thereby forcing the nodes to divide into new clusters and elect new sets of border nodes; • The controller can redefine the regions based on the data received from the nodes and/ or the energy remaining in the nodes so as to ensure that nodes with the greatest energy reserves act as border nodes;
Smart Sensors and Sensor Networks A cooperative computing model • This model is a distributed computing model for large scale, ad hoc networks of embedded systems (NES); although there are some differences between embedded systems and sensor nodes there are also similarities; • Description of the model: • Distributed applications are defined as dynamic collections of migratory execution units called SMs, that cooperate in achieving a common goal; • The execution of a SM is described in terms of computation and migration phases; the execution performed at each step is determined by the particular properties of that node: • On nodes that present interest to the current computation, the SM may read and process data; • On intermediate nodes, the SM executes only its routing algorithm; • During migrations, SMs carry mobile data, the code missing at destination and a lightweight execution state;
Smart Sensors and Sensor Networks • Nodes in the network cooperate by providing an architecturally independent programming environment (virtual machine) for SM execution and a name – based shared memory (tag space) for inter – SM communication and interaction with the host system; • SMs, along with the system support provided by nodes, form the cooperative computing infrastructure, which allows programming user – defined distributed applications in NES; • A new distributed application can be developed without a priori knowledge about the scale and topology of the network or the specific functionality of each node; placing intelligence in SMs provides this flexibility and also obviates the issue of implementing a new application or protocol in NES; • SMs are resilient to network volatility; over time, certain nodes may become unavailable due to mobility or energy depletion but SMs are able to adapt by controlling the routing; these messages can carry multiple routing procedures and choose the most appropriate one based on the conditions encountered in the network; using this feature, SMs can discover routes to nodes of interest even in adverse conditions;
Smart Sensors and Sensor Networks • Example: • Object tracking over a large area using a network of mobile robots with attached cameras; the target is a person moving across a given geographically region; a user can inject the tracking SM into any node; • The SM migrates to a node that acquired an image of a possible target object, analyses this image and then may decide to follow the object; • The network maintains no routing infrastructure and the SM is responsible for determining its path to cameras that detected the object; once the SM arrives at a new node that has the picture of the object, it generates a task to analyze the object and its motion further; • When the tracking completes, the SM generates a response that will transport the gathered information back to the user node;
Smart Sensors and Sensor Networks • Node architecture • The goal of the SM software architecture is to keep the support required from nodes in the network to the minimum placing intelligence in the SMs rather than in individual nodes; • The system support provided by nodes for cooperative computing: • The admission manager receives incoming SMs, decides whether to accept them and stores these messages into the SM ready queue; • The code cache stores frequently used codes to reduce the amount of traffic in the network; • The virtual machine acts as a hardware abstraction layer for scheduling and executing tasks generated by incoming SMs; • The tag space is a named – based shared memory that stores data objects persistent across SM executions and offers a unique interface to the host’s OS and I/O system;
Smart Sensors and Sensor Networks • Tag space • The tag space contains 2 types of tags: application tags, which are created by SMs and I/O tags that are provided by the system; • The I/O tags define the basic hardware of the node and provide SMs with a unique interface to the local OS and I/O system; • SMs are allowed to read and write both types of tags but they can create or delete only application tags; • Application tags and I/O tags differ in terms of functionality and lifetime; application tags offer persistent memory a limited lifetime; after this time interval, the tag expires and the node reclaims the memory; I/O tags are permanent and provide a pointer to an I/O handler capable of serving I/O requests; • Tags can be used for: naming, data storage, data exchange, data sharing, routing, synchronization and interaction with the host system; • Smart Messages • SMs are execution units that migrate through the network to execute on nodes of interest and route themselves at each node in the path toward a node of interest; • SMs comprise code and data sections (bricks), a lightweight execution state and a resource table; • The code and data bricks can be dynamically used to assemble new, possibly smaller SMs; the ability to incorporate only the necessary code and data bricks in the new SMs can reduce their size and, consequently, the amount of traffic;
Smart Sensors and Sensor Networks • The execution state contains the execution context necessary to resume the SM after a successful migration; • The resource table consists of resource estimates: execution time, tags to be accessed or created, memory requirements and network bandwidth; these resource estimates set a bound on the expected needs of a SM at a node; they are used by the admission manager to make the admission decision; • The SM computation is embodied in tasks; during its execution, a task may modify the data bricks as well as the local tags to which it has access; it cal also migrate, create new SMs or block on tags of interest; • A collection of SMs cooperating toward a common goal forms a distributed application; • Implementation: