Tabu node selection with minimum spanning tree for WSNs
11102698 · 2021-08-24
Assignee
Inventors
Cpc classification
Y02D30/70
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
H04W40/24
ELECTRICITY
H04W84/18
ELECTRICITY
Abstract
A wireless sensor network node selection that efficiently manages active nodes using a Tabu heuristic coupled with minimum spanning tree routing protocol (TNS-MST) is presented. Nodal energy consumption is balanced to ensure all nodes are operating at the same energy level. To balance the energy consumption, nodes with high energy depletion are removed from routing by placing on them a Tabu list, which prevents the most used nodes, such as nodes close to a base station, from draining before their neighbors. The nodes in the Tabu lists are dynamically active according to the energy level of neighboring nodes. The Tabu list combined with Minimum Spanning Tree routing protocol, TNS-MST, greatly increases network lifetime by optimally balancing the energy of the sensor nodes.
Claims
1. A method for node selection in a wireless sensor network, comprising: determining a minimum path between a first sensor node and a destination node; routing a communications packet along the minimum path from the first sensor node to a next sensor node based on the energy level of the next sensor node being greater than a threshold energy level; placing the sensor nodes for which the energy level is below the threshold energy level on a routing list of inactive nodes; placing the sensor nodes for which the energy level is below the threshold energy level on a Tabu list; turning off the sensor nodes along the minimum path for which the energy level is equal to or below the threshold energy level; and continuing to route the communication packet along the minimum path to each next sensor node until the destination node is reached.
2. The method of claim 1, wherein either the first sensor node or the destination node is a base station.
3. The method of claim 1, further comprising: routing the communications packet along the minimum path based on a minimum spanning tree algorithm.
4. The method of claim 1, further comprising: routing the communications packet along the minimum path based on a minimum spanning tree algorithm, wherein the minimum spanning tree algorithm is PRIM's algorithm.
5. The method of claim 1, further comprising: selecting the next sensor node from any one of the sensor nodes within a communications distance of the first sensor node, wherein the next sensor node is not listed on the Tabu list, and wherein the communications distance is based at least partially on the energy level of the first sensor node.
6. The method of claim 1, further comprising: removing a sensor node from the Tabu list if the energy level of the sensor node equals the energy level of at least one neighboring sensor node.
7. The method of claim 1, further comprising: removing a sensor node from the Tabu list when there is no minimum path connecting the first sensor node to the destination node.
8. The method of claim 1, further comprising: removing the sensor nodes from the Tabu list when all the sensor nodes of the wireless sensor network are on the Tabu list.
9. The method of claim 1, further comprising: selecting, by a processor, the energy level threshold from a set of descending energy level thresholds.
10. The method of claim 9, further comprising: lowering the threshold energy level when all the sensor nodes are on the Tabu list; and removing sensor nodes from the Tabu list which are above the lowered threshold energy level.
11. The method of claim 1, further comprising: determining a minimum path to the destination node for each sensor node in the wireless sensor network which is not listed on the routing list of inactive nodes.
12. The method of claim 11, further comprising: balancing the energy, increasing the residual energy and increasing the lifetime of the wireless sensor network by turning off the sensor nodes along each minimum path for which the energy level is equal to or below the threshold energy level.
13. A system for node selection in a wireless sensor network including a plurality of sensor nodes and a destination node, comprising: turning off, by a processor including a Tabu search module, sensor nodes for which the energy level is equal to or below the threshold energy level and placing those sensor nodes on a Tabu routing list; determining, by a processor including a minimum spanning tree module, a minimum path between a first sensor node and the destination node, wherein the minimum path includes only those nodes not on the Tabu routing list; routing, by a computing system connected to the processor, a communications packet along the minimum path from the first sensor node to a next sensor node on the minimum path; continuing to route the communication packet along the minimum path to each next sensor node until the destination node is reached; and continuing the determining for each sensor node in the wireless sensor network until all of the sensor nodes have either been assigned a minimum path or have been turned off.
14. The system of claim 13, further comprising at least one of: removing a sensor node from the Tabu list if the energy level of the sensor node equals the energy level of at least one neighboring sensor node; or removing all of the sensor nodes from the Tabu list when all of the sensor nodes in the wireless sensor network are on the Tabu list.
15. The system of claim 13, further comprising: selecting, by the processor, the energy level threshold from a set of descending energy level thresholds.
16. The system of claim 13, further comprising: lowering the threshold energy level when all the sensor nodes are on the Tabu list; and removing the sensor nodes from the Tabu list which are above the lowered threshold energy level.
17. The system of claim 13, further comprising: balancing the energy, increasing the residual energy and increasing the lifetime of the wireless sensor network by turning off the sensor nodes along each minimum path for which the energy level is equal to or below the threshold energy level.
18. A non-transitory computer readable medium having instructions stored therein that, when executed by one or more processor, cause the one or more processors to perform a method for node selection in a wireless sensor network including a plurality of sensor nodes and a destination node, comprising: turning off, by a processor including a Tabu search module, sensor nodes for which the energy level is equal to or below the threshold energy level and placing those sensor nodes on a Tabu routing list; determining, by a processor including a minimum spanning tree module, a minimum path between a first sensor node and the destination node, wherein the minimum path includes only those nodes not on the Tabu routing list; routing, by a computing system connected to the processor, a communications packet along the minimum path from the first sensor node to a next sensor node on the minimum path; continuing to route the communication packet along the minimum path to each next sensor node until the destination node is reached; and continuing the determining for each sensor node in the wireless sensor network until all of the sensor nodes have either been assigned a minimum path or have been turned off.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) A more complete appreciation of this disclosure and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
DETAILED DESCRIPTION
(24) In the drawings, like reference numerals designate identical or corresponding parts throughout the several views. Further, as used herein, the words “a,” “an” and the like generally carry a meaning of “one or more,” unless stated otherwise. The drawings are generally drawn to scale unless specified otherwise or illustrating schematic structures or flowcharts.
(25) Furthermore, the terms “approximately,” “approximate,” “about,” and similar terms generally refer to ranges that include the identified value within a margin of 20%, 10%, or preferably 5%, and any values therebetween.
(26) Aspects of this disclosure are directed to a method, system for node selection in a wireless sensor network and a non-transitory computer readable medium having instructions stored therein that, when executed by one or more processors, cause the one or more processors to perform a method for node selection in a wireless sensor network including a plurality of sensor nodes and a destination node.
(27) Aspects of the present disclosure describe a minimum spanning tree algorithm developed for routing. PRIM's algorithm is combined with Tabu node selection. The Tabu Node Selection and Minimum Spanning Tree (TNS-MST) algorithm is used to increase residual energy and network lifetime of a wireless sensor network, WSN. A model is developed for creating Tabu lists, a kind of REST list of nodes which are idle for certain rounds. TNS-MST fine tunes the node selection based on energy consumption.
(28) An aspect of the present disclosure uses PRIM's algorithm for routing data, which provides a minimum spanning tree in graphic format. Assuming an undirected, connected graph, a spanning tree of that graph would be a subgraph that connects all the vertices of that tree. A single graph can have many spanning trees. If weights representing energy are assigned to each edge (see numbers on the lines between the circles,
(29) PRIM's Algorithm is shown below.
(30) TABLE-US-00001 Algorithm 1. PRIM's Algorithm function Prim(G: weighted connected graph with n vertices) T := a minimum-weight edge for i = 1 to n − 2 begin e := Minimum (edges incident to a vertex in T and not forming a circuit in T if added to T T := T U e end return(T)
(31) Areas of interest, such as a target or position, are covered by at least one sensor. The algorithm searches for nodes which are the most used in one routing, for these are the nodes that drain the most quickly. Therefore these nodes are entered into a Tabu list which represents nodes which are inactive for a certain period of time. A set of lists are built that represent the nodes covering a target. When the energy level of a node drops to a threshold energy level, it is added to the Tabu list. The sensor node remains on the Tabu list until all the nodes covering the same target reach the threshold energy level. The node is then released from the Tabu list and the selected nodes that should be put into a Tabu list are recomputed.
(32) In the above approach, the nodes that have used their battery power are avoided because once their energy levels have decreased more than others, they will be put “on hold” within the Tabu list for the coming rounds of routing. Because some nodes will “disconnect” from the network, different types of nodes are considered: nodes connected to the base station and nodes that are not connected directly to base station 201 as shown in
(33) The base station is represented by the large dot. Every circle represents the communication coverage range of each sensor Sensors S1, S2, S3 do not “cover” the base station, while nodes S4, S5 do cover the base station. This segmentation is important to consider differentiation in the algorithm. A node cannot be put on a Tabu list if it is the only one which is connected to the base station in order to prevent the network from being disconnected. Accordingly, for each target t.sub.i, a set of nodes Lt.sub.i contains all nodes covering the target t.sub.i. Hence, for each target there is a Tabu list named Tabu.sub.i. As a result, a set of Tabu lists is developed which represents nodes that could be inactive for a certain period of time according to their energy level.
(34) The routing occurs only on the active nodes. This prevents the nodes from being drained too quickly as the routing is controlled and balanced on all nodes in the network. The pseudo-code of the proposed algorithm is shown below.
(35) TABLE-US-00002 Algorithm 2. TNS Algorithm Pre - Processing Target-list(i)( ) // Store list of nodes covering target i Tabu(i) = { } // store list of nodes tabu for target i E(j) // energy of node j // All nodes have same energy at initialization Energy_level = [50%, 40%, 30%, 20%, 10%, 5%] WHILE Node_Energy NOT threshold DO Compute MST( ) // routing using Minimum Spanning Tree IF node(i) reaches Level_energy then IF node is NOT last node that covers a target & NOT last THEN add node to Tabu(i) IF node is the last node, THEN all nodes in Tabu(i) will be active nodes END WHILE
(36) The different levels of energy for which the energy value of the node varies were considered. For instance, if a node's energy level dropped 50% from its initial value, the node was added to the Tabu list, Lt.sub.i, corresponding to its target, t.sub.i. Once the entire set of nodes in the same target node list reached the same energy level of a 50% energy loss, all nodes on the list became active and were removed from the respective Tabu list, ensuring that all nodes covering a target have their energy level decreased in a balanced manner.
(37) To assess the TNS-MST model, a variety of sizes of region areas ranging from 100×100 to 400×400 m with different node densities were established in which N nodes were uniformly placed as shown in
(38) The metrics used for evaluating the performance of the TNS-MST were: network size, network lifetime, the number of dead nodes and the average residual energy. The tests were performed on 16 instance families, represented as I.sub.x, and coupled with the different WSN areas, such as 100×100, 200×200 and 400×400. The network density, denoted by N.sub.d, represents different small-scale and dense WSNs as shown in Table 1.
(39) TABLE-US-00003 TABLE 1 WNS Benchmarks # N Area Nd I1 100 100 × 100 0.01 I2 100 200 × 200 0.0025 I3 100 300 × 300 0.0011 I4 100 400 × 400 0.00625 I5 200 100 × 100 0.02 I6 200 200 × 200 0.005 I7 200 300 × 300 0.0024 I8 200 400 × 400 0.00125 I9 300 100 × 100 0.03 I10 300 200 × 200 0.075 I11 300 300 × 300 0.0033 I12 300 400 × 400 0.0018 I13 400 100 × 100 0.02 I14 400 200 × 200 0.01 I15 400 300 × 300 0.004 I16 400 400 × 400 0.025
(40)
(41) In a non-limiting example, the Tabu system may be applied to a wireless security monitoring network. Sensors may be placed at doors, windows and other points of entry or concern, such as cash register locations, safes or offices. The base station may be a computer terminal in the monitored area, or may be a remote monitor which receives communication from an internal WiFi router. The sensor nodes may be battery operated or wired to power terminals. Sensor nodes which are not wired may use their battery power quickly if they are in locations which are frequently used, such as an entry door. Additionally, sensor nodes which are close to the computer or WiFi router in the monitored area may be in the MST of many nodes, and thus deplete their battery power more quickly than sensor nodes in less well travelled areas. Referring to
(42)
(43) The first embodiment is illustrated as shown in
(44) Turning off the sensor nodes for which the energy level is below the threshold energy level includes placing those sensor nodes on a routing list of inactive nodes (S428). The routing list may be a Tabu list.
(45) Either the first sensor node or the destination node is a base station.
(46) Routing the communications packet along the minimum path is based on a minimum spanning tree algorithm, wherein the minimum spanning tree algorithm may be PRIM's algorithm.
(47) The method includes selecting the next sensor node from any one of the sensor nodes within a communications distance of the first sensor node, wherein the next sensor node is not listed on the Tabu list (S420), and wherein the communications distance is based at least partially on the energy level of the first sensor node.
(48) The method further includes at least one of removing a sensor node from the Tabu list if the energy level of the sensor node equals the energy level of at least one neighboring sensor node, removing a sensor node from the Tabu list when there is no minimum path connecting the first sensor node to the destination node, or removing the sensor nodes from the Tabu list when all the sensor nodes of the wireless sensor network are on the Tabu list (S432).
(49) The method also includes selecting, by a processor 546, the energy level threshold from a set of descending energy level thresholds (S414). The method may include lowering the threshold energy level when all the sensor nodes are on the Tabu list; and removing sensor nodes from the Tabu list which are above the lowered threshold energy level.
(50) Each sensor node in the wireless sensor network not listed on the routing list of inactive nodes is assigned a minimum path to the destination node.
(51) The method balances the energy, increases the residual energy and increases the lifetime of the wireless sensor network by turning off the sensor nodes along each minimum path for which the energy level is equal to or below the threshold energy level.
(52) The second embodiment is illustrated as shown in
(53) The system includes either removing a sensor node from the Tabu list if the energy level of the sensor node equals the energy level of at least one neighboring sensor node or removing all of the sensor nodes from the Tabu list when all of the sensor nodes in the wireless sensor network are on the Tabu list (S432).
(54) The system further includes selecting, by the processor, the energy level threshold from a set of descending energy level thresholds (S414). The system include lowering the threshold energy level (S434) when all the sensor nodes are on the Tabu list and removing the sensor nodes from the Tabu list which are above the lowered threshold energy level.
(55) The system steps result in balancing the energy, increasing the residual energy and increasing the lifetime of the wireless sensor network by turning off the sensor nodes along each minimum path for which the energy level is equal to or below the threshold energy level (S420).
(56) The third embodiment is illustrated with respect to
(57) The TNS-MST was simulated using a random sensor node distribution. The base station 201 was placed at the center or close to the center of the network field. The corresponding simulation parameters are shown in Table 2.
(58) TABLE-US-00004 TABLE 2 Simulation Parameters Parameters Value Initial energy E.sub.0 0.5 J Transmitting and receiving energy E.sub.elec 5 nJ/bit Amplification energy for short distance E.sub.f 10 Pj/bit/m.sup.2 Amplification energy for long distance E.sub.amp 0.013 pJ/bit/m.sup.4 Packet size 200 bits Operating frequency 2.4 GHz Initial energy of sensor 61,560 J Transmit power 32 mW Reference distance 3 m Path loss exponent 4 SNR 2 dB
(59) Computations were made to evaluate TNS-MST with MST routing against MST-only routing. To assess the network lifetime, residual energy as well as throughput, the TNS-MST based model performed fine-tuning to balance energy among nodes and put some nodes into the idle state based on their energy level.
(60) BS-list( ) this is the Tabu listing for only the nodes which cover the base station. Energy balancing was performed for these nodes using the TNS( ) algorithm. All other nodes are not added to the Tabu list and their management is done by the MST routing algorithm.
(61) Network-list( ) All of the nodes that can belong to Tabu lists corresponding to their target sets. Hence, this list is a generalization of the previous model (BS-list( ) )
(62) No-list( ) Only the MST routing algorithm is used without considering any Tabu list. Node management is performed using the MST routing algorithm.
(63) The first experiment investigated the effect of only preventing the nodes close to the base station from dying first, as they are the most solicited during the routing and get drained the fastest. A second experiment checked the situation when all qualifying nodes have been relegated to the Tabu list and then preventing the remaining nodes in the network from being drained, as only these remaining nodes can be in the unique routing path. Experiments were conducted for each of the situations represented by: BS-list( ) for option I, Network-list ( ) for option ii, and No-list( ) for option iii.
(64) In the Tabu Node Selection algorithm TNS( ), Tabu list parameters are dynamically updated according to the energy level of the nodes. Hence, it is assumed that when a node is depleted below a certain level of energy, it “drains” more quickly than its neighbors; hence this node is a good candidate for the Tabu list. Thus, such a node becomes inactive. The energy level of nodes varies from 10% depletion to 50% depletion. First, the determination must be made as to which energy level is the best for putting nodes into a Tabu list and performing the energy balancing. In the experiments, the energy level of each node is checked for whether it reaches one of a set of descending levels—e.g. 70%, 60%, 50%, etc. Once a node reaches the specified threshold level, it is added to the Tabu list according to the TNS( ) algorithm.
(65) The results of the algorithm are depicted in the figures for the three variants: BS-list( ) Network-list( ) and No-list( ) for different energy levels.
(66)
(67) Similarly, for the throughput of packets at an energy level of 10%, all three list variants are at a similar level for higher rounds as shown in
(68)
(69) As shown in
(70) For energy levels of 40% and 50%, the observation can be made that the residual energy is much higher for the Network-list( ) algorithm than the B S-List or No-List for greater than ten rounds as shown by
(71) To find the “best” energy level threshold for nodes to belong to the Tabu list, experiments with continuous values of energy levels ranging from 1 to 50% were run. As showed in
(72) In wireless sensors networks, the management of nodes energy is crucial to improve the network lifetime. In fact, having an efficient routing protocol coupled with a node management strategy positively impacts network lifetime. In the present disclosure, a Tabu based mechanism was presented to perform energy balancing among the nodes. The nodes are made inactive if their energy reached a certain level. Optimum selection of this level will ensure that the node will not have its energy drained faster than its neighbor nodes. Therefore, the network lifetime increases, since nodes with high data transit are prevented from dying quickly. The experiments showed that Tabu based approach coupled with Minimum Spanning Tree routing increased significantly network lifetime. These results confirm that performing energy balancing at the level of nodes will affect positively the network lifetime and increase residual energy.
(73) Next, a hardware description of the controller 662 according to exemplary embodiments is described with reference to
(74) Further, the claimed advancements are not limited by the form of the computer-readable media on which the instructions of the inventive process are stored. For example, the instructions may be stored on CDs, DVDs, in FLASH memory, RAM, ROM, PROM, EPROM, EEPROM, hard disk or any other information processing device with which the computing device communicates, such as a server or computer.
(75) Further, the claimed advancements may be provided as a utility application, background daemon, or component of an operating system, or combination thereof, executing in conjunction with CPU 1300 and an operating system such as Microsoft Windows 7, UNIX, Solaris, LINUX7, Apple MAC-OS and other systems known to those skilled in the art.
(76) The hardware elements in order to achieve the computing device may be realized by various circuitry elements, known to those skilled in the art. For example, CPU 1300 may be a Xenon or Core processor from Intel of America or an Opteron processor from AMD of America, or may be other processor types that would be recognized by one of ordinary skill in the art. Alternatively, the CPU 1300 may be implemented on an FPGA, ASIC, PLD or using discrete logic circuits, as one of ordinary skill in the art would recognize. Further, CPU 1300 may be implemented as multiple processors cooperatively working in parallel to perform the instructions of the inventive processes described above.
(77) The computing device in
(78) The computing device further includes a display controller 1308, such as a NVIDIA GeForce GT13 or Quadro graphics adaptor from NVIDIA Corporation of America for interfacing with display 1310, such as a Hewlett Packard HPL2445w LCD monitor. A general purpose I/O interface 1312 interfaces with a keyboard and/or mouse 1314 as well as a touch screen panel 1316 on or separate from display 1310. General purpose I/O interface also connects to a variety of peripherals 1318 including printers and scanners, such as an OfficeJet or DeskJet from Hewlett Packard. A sound controller 1320 is also provided in the computing device such as Sound Blaster X-Fi Titanium from Creative, to interface with speakers/microphone 1322 thereby providing sounds and/or music.
(79) The general purpose storage controller 1324 connects the storage medium disk 1304 with communication bus 1326, which may be an ISA, EISA, VESA, PCI, or similar, for interconnecting all of the components of the computing device. A description of the general features and functionality of the display 1310, keyboard and/or mouse 1314, as well as the display controller 1308, storage controller 1324, network controller 1306, sound controller 1320, and general purpose I/O interface 1312 is omitted herein for brevity as these features are known.
(80) The exemplary circuit elements described in the context of the present disclosure may be replaced with other elements and structured differently than the examples provided herein. Moreover, circuitry configured to perform features described herein may be implemented in multiple circuit units (e.g., chips), or the features may be combined in circuitry on a single chipset, as shown on
(81)
(82) In
(83) For example,
(84) According to certain implementations, the instruction set architecture of the CPU 1430 can use a reduced instruction set architecture, a complex instruction set architecture, a vector processor architecture, a very large instruction word architecture. Furthermore, the CPU 1430 can be based on the Von Neuman model or the Harvard model. The CPU 1430 can be a digital signal processor, an FPGA, an ASIC, a PLA, a PLD, or a CPLD. Further, the CPU 830 can be an x86 processor by Intel or by AMD; an ARM processor, a Power architecture processor by, e.g., IBM; a SPARC architecture processor by Sun Microsystems or by Oracle; or other known CPU architecture.
(85) Referring again to
(86) The PCI devices may include, for example, Ethernet adapters, add-in cards, and PC cards for notebook computers. The Hard disk drive 1460 and CD-ROM 1466 can use, for example, an integrated drive electronics (IDE) or serial advanced technology attachment (SATA) interface. In one implementation the I/O bus can include a super I/O (SIO) device.
(87) Further, the hard disk drive (HDD) 1460 and optical drive 1466 can also be coupled to the SB/ICH 1420 through a system bus. In one implementation, a keyboard 1470, a mouse 1472, a parallel port 1478, and a serial port 1476 can be connected to the system bus through the I/O bus. Other peripherals and devices that can be connected to the SB/ICH 1420 using a mass storage controller such as SATA or PATA, an Ethernet port, an ISA bus, a LPC bridge,
(88) Moreover, the present disclosure is not limited to the specific circuit elements described herein, nor is the present disclosure limited to the specific sizing and classification of these elements. For example, the skilled artisan will appreciate that the circuitry described herein may be adapted based on changes on battery sizing and chemistry, or based on the requirements of the intended back-up load to be powered.
(89) The functions and features described herein may also be executed by various distributed components of a system. For example, one or more processors may execute these system functions, wherein the processors are distributed across multiple components communicating in a network. The distributed components may include one or more client and server machines, which may share processing, as shown on
(90) The above-described hardware description is a non-limiting example of corresponding structure for performing the functionality described herein.
(91) Obviously, numerous modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.