Adaptive wireless sensor network and method of routing data in a wireless sensor network

A method of routing data in a wireless sensor network, a program product and a wireless sensor network. The method, includes: (a) detecting a temporal event by a source sensor node of a wireless sensor network comprising a multiplicity of sensor nodes; (b) identifying multiple paths from the source sensor node to a sink of the wireless sensor network, the multiple paths consisting of sensor node to sensor node hops; and after (b), (c) using a processor of the source sensor node, optimizing a distribution of data packets to each path of the multiple paths by simultaneously reducing (i) power consumed by sensor nodes in each path of the multiple paths and (ii) a time to transmit the data packets from the source sensor node to the sink.

FIELD OF THE INVENTION

The present invention relates to the field of wireless sensor networks; more specifically, it relates to a wireless sensor network and a method for routing data in a wireless sensor network.

BACKGROUND

Wireless sensor networks transmit data by hops between sensor nodes. Sending data and receiving data consume power which is generally limited in wireless sensor networks. The multiple hops add time delays to the data transmission time. Present wireless sensor networks and methods do not address both these issues simultaneously. Accordingly, there exists a need in the art to mitigate the deficiencies and limitations described hereinabove.

SUMMARY

A first aspect of the present invention is a method, comprising: (a) detecting a temporal event by a source sensor node of a wireless sensor network comprising a multiplicity of sensor nodes; (b) identifying multiple paths from the source sensor node to a sink of the wireless sensor network, the multiple paths consisting of sensor node to sensor node hops; and after (b), (c) using a processor of the source sensor node, optimizing a distribution of data packets to each path of the multiple paths by simultaneously reducing (i) power consumed by sensor nodes in each path of the multiple paths and (ii) a time to transmit the data packets from the source sensor node to the sink.

A second aspect of the present invention is a computer program product, comprising: a computer useable storage medium having a computer readable program therein, wherein the computer readable program when executed on a computer causes the computer to: (a) collect information relative to a temporal event detected by a source sensor node of a wireless sensor network comprising a multiplicity of sensor nodes; (b) identify multiple paths from the source sensor node to a sink of the wireless sensor network, the multiple paths consisting of sensor node to sensor node hops; and after (b), (c) optimize a distribution of data packets to each path of the multiple paths by simultaneously reducing (i) power consumed by sensor nodes in each path of the multiple paths and (ii) a time to transmit the data packets from the source sensor node to the sink.

A third aspect of the present invention is a wireless sensor network, comprising: a set of sensor nodes, each sensor node of the set of sensor nodes including a sensor, a processor, a memory unit, a battery and a transceiver; each sensor node of the set of sensor nodes configured to identify multiple paths from itself to a sink of the wireless sensor network, each path of the multiple paths comprising sensor node to sensor node hops; and each sensor node of the set of sensor nodes configured to optimize a distribution of data packets to each path of the multiple paths by simultaneously reducing (i) power consumed by sensor nodes in each path of the multiple paths and (ii) a time to transmit the data packets from itself to the sink.

These and other aspects of the invention are described below.

DETAILED DESCRIPTION

In the novel wireless sensor networks of the present invention, data packet routing in wireless sensor networks is an event driven temporal activity. When a sensor node detects an event in its vicinity, it becomes a source node (or source) and initiates a route discovery algorithm to a sink (e.g., a gateway node or a base station). If the data volume is greater than a predetermined data volume limit, multiple sensor node paths from the source to the sink are selected in order to reduce the amount of time to transmit all the information from the source to the sink. The information from the sensor is converted into data packets in the source node. The distribution of data packets over the various paths is computed using an optimization algorithm that adaptively addresses both data transmission delay and power consumption by optimizing the balance between power consumption and transmission delay.

Any sensor node in a wireless sensor network can act as a source but there is only one sink. The sink alone will receive all the data packets sent by the source node(s). There may be multiple source nodes transmitting data over different sets of multiple data paths at the same time to the sink. Each sensor node (nεN) has a unique identifier. The data (D) sensed by each node is divided among the multiple paths (Δj) such that the power consumed by all the sensor nodes in all the paths is minimized to the extent that delay time is not compromised.

FIG. 1illustrates a first exemplary wireless sensor network architecture according to an embodiment of the present invention. InFIG. 1, a wireless sensor network100includes a base station105and a set of sensor nodes110. Each sensor node is designated by the letter “S.” The sensor nodes are in wireless communication, however each sensor node has a limited range, so any given sensor node can communicate only with other sensor nodes that are within communication range. InFIG. 1, base station105is the sink and the source is a sensor node designated by the letters “SS.” In one example, base station105is a general purpose computer having a transceiver and a removable data and/or program storage device (e.g., magnetic media such as floppy drives and tape drives and optical media such as CD ROM drives). Wireless sensor network100constitutes a wireless ad-hoc network which means each sensor node supports a multi-hop routing algorithm where data collected by the source SS (in response to sensing a temporal event) is transmitted along paths indicated by the lines between various sensor nodes “S” to the sink. Each line between sensor nodes is a “hop.” There are three paths115,120and125illustrated inFIG. 1. A path is defined as a set of connected of hops from sensor node to sensor node. A hop is defined as a wireless transmission of data from a sensor node to another sensor node or to a base station or gateway node (seeFIG. 2).

FIG. 2illustrates a second exemplary wireless sensor network architecture according to an embodiment of the present invention.FIG. 2is similar toFIG. 1except that in a wireless sensor network130, base station105is not the sink, but is connected by a link135to a gateway sensor node designated by the letters “GS.” Gateway sensor node GS may be more robust than the other sensor nodes S in terms of communication range and/or the amount of power available. Link135may be wireless or wired.

FIG. 3illustrates an exemplary wireless sensor node according to an embodiment of the present invention. InFIG. 3, a sensor node200includes a processor (e.g., microprocessor or microcontroller)205connected to a memory (e.g. flash memory)210by a bus215, a sensor220connected to processor205by a bus225, a transceiver230connected to processor205by a bus235and a battery240connected to processor205, memory210, sensor220and transceiver230by a power distribution system245. An antenna250is connected to transceiver230. Sensor node220may also include an optional charger (e.g., solar cell)255for charging battery240. Processor205monitors the power level of battery240. Processor205may also include embedded memory. Sensor220may include an analog to digital converter (ADC). There may be additional sensors220. Sensor220may be (but is not limited to) a passive sensor omni-directional sensor (e.g., heat, light, vibration, a passive narrow beam sensor (e.g., camera or laser) or an active sensor (e.g., sonar or radar). Transceiver230may be a radio frequency, an optical or an infrared transceiver.

FIG. 4illustrates an exemplary wireless sensor gateway node according to an embodiment of the present invention. InFIG. 3, a gateway sensor node300includes a processor (e.g., microprocessor or microcontroller)305connected to a memory (e.g. flash memory)310by a bus315, a sensor320connected to processor305by a bus325, a first transceiver330connected to processor305by a bus335and a battery340connected to processor305, memory310, sensor320and transceiver330by a power distribution system445. An antenna350is connected to first transceiver330. Sensor node320may also include an optional charger (e.g., solar cell)335for charging battery340. Processor305monitors the power level of battery340. Processor305may also include embedded memory. Sensor320may include an analog to digital converter (ADC). There may be additional sensors320. Sensor320may be (but is not limited to) a passive sensor omni-directional sensor (e.g., heat, light, vibration, a passive narrow beam sensor (e.g., camera or laser) or an active sensor (e.g., sonar or radar). First transceiver330may be a radio frequency, an optical or an infrared transceiver. Gateway sensor300may include an optional second transceiver365and antenna370connected to processor305by bus335. First transceiver330may be a radio frequency, an optical or an infrared transceiver. Optional second transceiver365may be a short range transceiver used to communicate with other sensor nodes and second transceiver355may be a long range transceiver used to communicate with a base station. Gateway sensor300may include an optional network interface375connected to processor305by a bus380. Optional network interface375provides an optional wired connection to a base station.

Sensors of sensor nodes according to embodiments of the present invention include, but are not limited to, environmental sensors (e.g., temperature, pressure, wind speed, wind direction, light intensity, detection of chemicals and detection of radiation) and monitoring and surveillance sensors (e.g., vehicle presence and/or movement and/or human presence and/or movement).

Power consumption in a wireless sensor network according to embodiments of the present invention is categorized into two parts. The first part is power consumed by processing (by the processor and memory) and sensing (by the sensor). The second part is power consumed by transmitting and receiving data packets (i.e., communication delay). Given j paths, the lifespan of the jthpath is Pjminand is defined as the power remaining to the sensor node with the least amount of remaining power in the jthpath. Pjminthus defines the maximum lifespan of the jthpath. For a path to be stable, Pjminmust be equal to or less than the power that will be consumed during the time it takes to transmit all the data packets assigned to the jthpath,

Power consumption at each sensor node due to processing and sensing in the jthpath is given by:
Kr=nj*tj(1)
where

Kris the effective rate of power loss from a node due to processing and sensing (joule/second);

njis the number of sensor nodes in the jthpath; and

tjis the time the path is in use for transmitting data packets.

The time delay per data packet per hop is given by:
τj=qj+1/Bj(2)
where

qjis the average queuing delay in jthpath; and

Bjis the bit rate of the jthpath (in packets/seconds).

The power consumed for transmission and reception of data packets over the jthpath is given by:
pj=2*Δj*tpj*Hj(3)
where

pjis the power consumed in the jthpath;

Δjis the number of data packets transmitted over the jthpath; and

Hjis the number of hops in the jthpath.

The “2” is because the node must receive and then transmit the data packets.

Comparing equations (1) and (3) Kris seen to be independent of data packet transmission/reception related energy consumption, so Krneed not be considered in the distribution of data packets to the various paths.

As the data packets are routed simultaneously over the j paths, the communication delay is not the sum of the individual path delays. Instead, the communication delay can be estimated as the maximum of the individual delay paths. Path delay consists of two components. The first is queuing and processing delay (the average queuing delay/packet/hop for the jthpath. The second is transmission/reception delay. The source to sink transmission delay (message switching assumed) for the jthpath is given by:
TDj=Δj*τj*Hj*pj(4)
where

TDjis the source to sink delay of the jthpath;

Δjis the number of data packets transmitted over the jthpath

Hjis the number of hops in the jthpath; and

pj=1 if a path is selected else pj=0.

Thus, the total delay from source to sink transmission delay (message switching assumed) is given by:
TD=max[(Δj*τj*Hj*pj)]  (5).

When a sensor node detects an event in its vicinity it becomes a source node, generates a set of data packets describing the event, and if the number of data packets is greater than a predetermined number, executes a multipath route discovery algorithm to the sink node. Examples of multipath routing algorithms are described in “Multipath Routing Algorithms for Congestion Minimization” by Banner and Orda, IEEE/ACM Transactions on Networking, Vol. 15, No. 2, April 2007, which is hereby incorporated by reference.

The total data volume D is thus divided into datasets Δj, which are distributed over the multiple paths. Data packet distribution is computed using an optimization algorithm given by:
Z=Σj(2*Δj*tpj*Hj*pj)  (6)

where Z is the objective function; and

The constraints of the optimization problem are:
ΣjΔj=D(7)
max[(Δj*τj*Hj*pj)]≦{[D*τstab*Hstab*pj]+[max[(D/nj*Δj*Hj*pj)]}/2  (8)
2*Δj*tpj+Kr*max(Δj*τj*Hj*pj)<Pjmin(9)

where

τstabis the average delay/packet/hop for the maximum life span path (seconds/packet/hop); and

Hstabis the number of hop counts for the maximum life-span path.

Equation (7) requires the total data number of packets must be distributed among multiple paths. Inequality (8) requires that the average delay from the source to the sink is less than a predefined maximum value. Inequality (9) requires that the life-span of a path should be sufficient to transmit the entire volume of data packets sent over it without interruption.

A sensor node must have sufficient amount of energy to be able to receive all the data packets from a previous sensor node and successively transmit all the data packets received to a subsequent node which is covered by the term (2*Δj*tpj). Also the node immediately prior to the sink (terminating node) has to have sufficient power to survive the entire amount of time it will take for all data packets sent along the path to be received and transmitted to the sink, (i.e., the survival time of the terminating node equals to the net end-to-end delay). During this time the terminating node dissipates energy at a rate of Kr. So, the term Kr*max (Δj*τj*Hj*pj) accounts for the amount of power that is dissipated in the terminal node (i.e., the sensor node before the sink).

In the interval of time that it takes to transmit data packets from the source to the sink, the power consumption of each node taking part in data packet transmissions decreases by (2*Δj*tpj)+Kr*max [(Δj*τj*Hj*pj)] and the power of any node not taking part in data packet transmission decreases by Kr*max [(Δj*τj*Hj*pj)].

FIG. 5is a general flowchart of a method for routing data in a wireless sensor network according to an embodiment of the present invention. In step400, a sensor node (now source) detects a temporal event in its vicinity and initiates route discovery. In step405, it is determined if the volume of data to be transmitted is below or above a preset limit. If the data volume is at or below the preset limit, then the method proceeds to step410. In step410, the route discovery algorithm generates a single path through the wireless sensor network (WSN). Then, in step415, the source sends the data packets over the WSN to the sink. Steps410and415are essentially scheme (1) described infra.

Returning to step405. If the data volume is above the preset limit, then the method proceeds to step420. In step420, the route discovery algorithm generates multiple paths from the source through the WSN to the sink. Next, in step425the source runs the optimization algorithm to distribute the data packets over the multiple paths. Next, in step430, the source sends the data packets over the multiple paths with transmission time and power consumption being optimized with respect to each other. Steps420,425and430are essentially scheme (3) described infra and are illustrated in more detail inFIGS. 6,7and8described infra.

FIG. 6is a detailed flowchart of a method for routing data in a wireless sensor network according to an embodiment of the present invention. In step435, the sensor node is initiated. An event detection flag is set to indicate no event detected (SET FLAG=FALSE). Step440, it a wait for event loop. A periodic sample of the state of the sensor is performed in step440. If in step440an event is detected, then in step445SET FLAG=TRUE is issued and route discovery is initiated by calling a multipath discovery algorithm to determine paths (P). The route multipath discovery algorithm determiners (a) node-disjoint multi-paths, (b) parameters Hj, tpjand τjfor each jthpath, (c) lifespan of the particular paths, and (d) the most stable (i.e., maximum lifetime) path. Step450is a wait for all paths to be determined step. A periodic sample of the state of the multipath routing algorithm is performed in step450. If all paths are determined, the method proceeds to step455. In step455the optimization problem Z (equation 6, with constraints 7, 8 and 9) is called with input described supra. In step460, a sequential quadratic programming (SQP) algorithm is called to operate on Z to determine the Δjs (the number of data packets transmitted over each jthpath). In step465, it is determined if SQL termination criteria (TC) is met. SQL is a robust algorithm for nonlinear continuous optimization. SQL iterates until a desired level of convergence is reached (the termination criteria). Alternative non-linear continuous optimization methods may be used. If termination criteria is not met, then the method loops to step455otherwise the method proceeds to step470to reset the sensor node with SET FLAG=FALSE and the method then loops back to step440.

FIG. 7is a flowchart of the path determination step445of the flowchart ofFIG. 6. In step475, multipath routing algorithm parameters are initialized. The paths are initialized by (P)=0. The route initiate parameter is initialed by a SET ROUTE INITATE=0 instruction. And a maximum number of hops is set by SET MAX HOP COUNT=(VALUE) instruction. In step480, a route discovery request is initiated. In step485a path solution monitor is initiated by a SET ROUTE DISCOVERY TIMEOUT=TRUE instruction. In step490the multipath route discovery algorithm is run to find paths between the source and sink. When a solution is found, the instruction SET ROUTE DISCOVERY TIMEOUT=FALSE is executed. Step495checks the value of the SET ROUTE DISCOVERY TIMEOUT parameter and waits on a value of TRUE and proceeds to step500on a value of FALSE. In step500, multiple paths (P) exist between the source and sink, and the source can calculate data packet information (e.g. packet header data) for the various paths from the source to the sink.

FIG. 8is a flowchart of the optimization step455of the flowchart ofFIG. 6. In step505, a perform optimization flag is set to indicate whether or not optimization is to be performed. Step510, it a wait for an optimization start command loop. A periodic sample of the value of SET FLAG is performed in step510. If in step510FLAG=TRUE, then the method proceeds to step515. In step515, the optimization problem Z is called with the set of input variables discussed supra. In step520, the Lagrangian function is called to relax the objective function (Z) of equation (6) with the three constraints (7), (6) and (9) discussed supra. In step525, a Lagrangian function is solved with SQL to calculate data packet distribution among the multiple data paths. In step530, it is determined if the terminal criteria (TC) is met. If the terminal criteria not met, the method loops back to step515otherwise the method proceeds to step535. In step535, SET FLAGE=FALSE is executed and the method loops back to step510.

In order to test and verify the embodiments of the present invention, the power consumption of three schemes were simulated. The first scheme is a single-path scheme. The second scheme is a multipath with equal numbers of data packets. The third scheme is the novel multipath and data packet number optimized scheme according to embodiments of the present invention.

In the first, single path scheme (1), the maximum delay=delay caused in a single most stable path if the entire data volume are sent through it (i.e., max [(Δj*τj*Hj*pj)]≦([D*τstab*Hstab*pj]). In the first scheme the upper limit of transmission delay is high and the constraint will be satisfied in most cases.

In the second, multipath equal data packet size scheme (2) the maximum delay=total delay if the data is equally distributed over all the paths (i.e., max [(Δj*τj*Hj*pj)]≦[max (D/nj*τi*Hi*pj)], where n=number of spatial paths). In the second scheme, the upper limit of transmission delay is low and consequently the constraint is very restrictive.

In the third, novel multipath and data packet number optimized scheme (3) the upper limit of delay constraint as the average of values of the upper limits proposed in schemes 1 and 2. The optimization problem of equation (6) has been subsequently solved using an SQP technique.

A simulation program was developed using MATLAB. MATLAB stands for “Matrix Laboratory” and is a numerical computing environment and fourth-generation programming language. Developed by “The MathWorks”, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages, including C, C++, and Fortran. First the simulation program runs a route discovery algorithm in an area of 15 by 15 square meters where 192 sensor nodes are deployed randomly. Each of the sensor nodes had a transmission radius of 2.4 meters. The sensor nodes were models based on MICA2 motes available from Crossbow of Milpitas, Ca, USA. The routing algorithm gives five possible paths between the source and sink with the parameters listed in TABLE I:

TABLE IParameterValueHop Count8991010Available Power23,760 joules for all 192 motesTransmission power/1.4 milli-joules for all pathspacket/hopDelay/packet/hop0.068s0.0681s0.945s0.0776s0.0641sBit rate43 packets/second or 12.4 kbps for allKr0.024 watts (assuming 40% duty cycle)
With these input parameters, the optimization algorithm divides data over the paths for a optimal power consumption relative to transmission delay. The overall power consumption and transmission delay are calculated and compared with corresponding values derived by simulating schemes (1) and (2). The results are shown inFIGS. 9 and 10.

FIG. 9is a chart comparing power consumption of a multipath and data packet number optimized scheme according to embodiments of the present invention (3) to a single-path scheme (1) and to a multipath equal data packet size scheme (2). InFIG. 9, power consumption is at a minimum when the entire data volume is sent through a single most stable path; scheme (1). However, power utilization of the novel scheme (3) does not far exceed that. Power utilization is at maximum when the entire data is equally distributed among the five paths; scheme (2).

FIG. 10is a chart comparing data transmission delay of a multipath and data packet number optimized scheme according to embodiments of the present invention (3) to a single-path scheme (1) and to a multipath equal data packet size scheme (2). InFIG. 10, scheme 2 has the least delay of the three schemes. Scheme 1 has the most delay of the three schemes. The delay caused by scheme (3), the novel scheme, is between that of schemes (1) and (2). TakingFIGS. 9 and 10together, it is clear that both power consumption and transmission delay cannot both be minimized simultaneously. However, the balance between power consumption and transmission delay is optimized in scheme (3), the novel scheme according to embodiments of the present invention.

Generally, the method described herein with respect to a method for routing data in a wireless sensor network is practiced as a distributed algorithm and the methods described supra in the flow diagramsFIGS. 5,6,7and8may be coded as a set of computer executable code and stored in memories of on the sensor nodes, gateway nodes and base stations of a wireless sensor network.

As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a wireless sensor network, method of routing of data packets in a wireless sensor network or a computer program product having computer readable program code for routing of data packets in a wireless sensor network embodied thereon. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a sensor node, gateway node or base station which may be a general purpose computer.

The algorithms may be encoded on the computer program product as executable code which may then be loaded into the memory devices of sensor nodes of the wireless sensor network from a removable data and/or program storage device of the base station before or after deployment of the sensor and gateway nodes through their respective transceivers. Alternatively, the algorithms may be encoded on the computer program product as executable code which may then be loaded into the memory devices of sensor nodes of the wireless sensor network from a removable data and/or program storage device of a general purpose computer before deployment of the sensor and gateway nodes through their respective transceivers. Alternatively, the algorithms may be encoded on the computer program product as executable code may be loaded into the memory devices of sensor nodes during a programming step during fabrication of the sensor nodes either through their respective transceivers or by wired access to their respective memory devices.

Thus the embodiments of the present invention provide a wireless sensor network and method of transmitting data over a wireless sensor network that adaptively addresses both data transmission delay and power consumption by optimizing the balance between power consumption and transmission delay.