SEGMENTATION AND CLUSTERING IN A SENSOR NETWORK
FIELD OF THE INVENTION
This invention relates to sensor networks.
BACKGROUND TO THE INVENTION
Sensor networks can be deployed to monitor characteristics of an area of interest. Sensors can sense a parameter such as temperature, pressure, sound, a chemical property or motion and can be used in a wide variety of applications. Generally, in this type of network multiple sensing devices are deployed in an area of interest (called a sensor field). Each sensor makes a measurement of a particular parameter within the sensor field and transmits the measurement data to a remote node for analysis. This node may be outside the sensor field or may be within the sensor field, in which case it may be collocated with a sensor node. The measurements of the parameters provided by the sensors are combined to infer some property of interest of the sensor field. The sensors generally share a communication medium. In the case of wireless sensing devices the shared communication medium can be the unlicensed Industrial Scientific and Medical (ISM) band at 2.4GHz.
Situations can arise where multiple sensing devices, and multiple networks of sensing devices, co-exist in a geographical area. The sensing devices of each of the multiple networks access the same shared communication medium to transmit measurement data. Coexistence of sensor networks can place a significant burden on the supporting communications network and physical layer and medium access control protocols, and can result in high peak-to-mean traffic ratios. In severe cases, the communication network will be unable to cope with the traffic, which can have a detrimental effect on the applications which rely on the measurement data.
The paper "Clustering for Data Aggregation in Large Sensor Networks", Slobodanka Tomic et al. from the 'Proceedings of the Work-in-Progress Session of the 1st European Workshop on Wireless Sensor Networks (EWSN 2004)', Berlin, January 2004 describes a technique for forming clusters of sensors based on their measurements. Sensors within a cluster report measurements to a cluster-head node which reports aggregated information to a sink node.
The present invention seeks to improve the performance of sensor networks, particularly in situations where multiple sensor networks co-exist.
SUMMARY OF THE INVENTION A first aspect of the present invention provides a sensor network comprising: a plurality of sensing nodes distributed across a sensor field, each sensing node being arranged to measure a parameter in response to a stimulus and to transmit a measurement of the parameter during a temporal response interval following the stimulus; a processing function which is arranged to determine a characteristic of the sensor field based on the measured parameters; a shared communication medium which the plurality of sensing nodes use to transmit the measurements; wherein the temporal response interval of the sensing nodes is dependent on the characteristic of the sensor field.
The sensing nodes can be of one or more types, for measuring one or more parameters, and from the combination of measurements the processing function determines a single specific characteristic of the sensor field. For sensing nodes within a single sensor network, the provision of a temporal response interval has an advantage of distributing the time at which individual sensing nodes access the shared communication medium, which reduces the burden on the shared medium. The provision of a temporal response interval is also beneficial where multiple sensor networks share a common communication medium, and where the sensing nodes within the multiple sensors respond to a common stimulus. Following a stimulus, individual sensing nodes access the shared communication medium at a time which is dependent on the importance and/or urgency of the characteristic that they are contributing towards determining. The traffic generated by each sensor network is scheduled to take advantage of the temporal resolution required for the characteristic towards which the sensing nodes contribute. Sensing nodes which contribute measurements towards a characteristic for which there is a need to receive measurements within a short time period have a short temporal response interval while sensors which contribute measurements towards a characteristic for which their measurements can be received within a longer time period have a longer temporal response interval.
The stimulus can be an event within the sensor field, such as a change in the parameter under observation or the parameter under observation achieving a particular value, the receipt of an instruction from an external node to make a measurement, the expiry of an internal timer within the sensing node which causes the sensing node to make a measurement or, in the case of a mobile node, a change in position by a predetermined distance or movement past, or arrival at, a predetermined location.
Another aspect of the present invention provides a sensor network comprising: a plurality of sensing nodes distributed across an area, each sensing node being arranged to measure a parameter and to report a measurement of the parameter; a communication medium which is shared by the plurality of sensing nodes and which is used to report the measurements to a remote node outside the cluster; a management function which is arranged to: determine a cluster of sensing nodes which are reporting similar measurements; instruct a reduced number of sensing nodes within the cluster to report measurements to the remote node during each of a plurality of reporting cycles; and, configure the sleep patterns of the sensing nodes so that during each reporting cycle only those sensing nodes that are required to report a measurement to the remote node are awake.
The measurement may reach the remote node by a direct path, or via a path which uses intermediate nodes to relay the measurement. By instructing a reduced number of sensing nodes to report a measurement and putting other nodes to sleep, considerable savings in energy (battery life) are possible at each sensing node. This ensures the longevity of the network. Operating in this manner can also significantly reduce traffic generated by the cluster in response to a stimulus as only a limited number of sensing nodes report measurements. Preferably the sensors within a given sensor network are adaptively formed into clusters such that the clusters are optimally distributed to achieve the required spatial measurement resolution in the sensor field. It is then only necessary for a reduced number of sensors to be active in each cluster at any particular time.
A further aspect of the invention provides a sensor network comprising: a plurality of sensing nodes distributed across a sensor field, each sensing node being arranged to measure a parameter and to report a measurement of the parameter;
a communication medium which is shared by the plurality of sensing nodes and which is used to report the measurements; a management function which controls operation of the plurality of sensing nodes, the management function being arranged to: determine a cluster of sensing nodes which are reporting similar measurements based on measurements reported from the plurality of sensing nodes; and, issue instructions to the sensing nodes which cause a reduced number of sensing nodes within the cluster to report measurements.
Managing the sensing nodes based on measurements reported from the plurality of sensing nodes has an advantage over networks where sensing nodes locally organise themselves into clusters according to their own local view of the network. As the management entity, which is preferably remote from the sensing nodes, has a global view of the network, it is better placed to form clusters. It can form clusters of sensing nodes which are widely geographically spaced (and beyond the distance that sensing nodes would normally be able to form clusters by themselves) but which report similar measurements. It will be appreciated that in some circumstances, such as when a sensing node has died, the management entity may not receive a measurement from every sensing node and will determine a cluster based on as full a set of measurements as possible. These techniques, alone or in combination, can reduce the instantaneous traffic load on the supporting communication network that is shared by the sensing devices, enabling multiple sensor networks to coexist.
A further aspect of the present invention provides a network comprising: a plurality of sensing nodes distributed across a sensor field, each sensing node being arranged to measure a parameter and to transmit a measurement of the parameter; a shared communication medium which the plurality of sensing nodes use to transmit the measurements; a sensor network server which communicates with the sensing nodes, the sensor network server being arranged to receive the measurements and to control operation of the sensing nodes; a sensor network service server comprising: an interface which receives measurement data from the sensor network server;
a processing function which processes the measurement data; an interface for providing processed measurement data to external clients. Separation of the functions of providing results to external clients, at the sensor network service server, from operation of the sensor network, at the sensor network server, can reduce load on the sensor network.
The linking technical concept shared by the various aspects of the invention is that of reducing load on the communication medium of the sensor network.
The functionality described here can be implemented in software, hardware or a combination of these. Accordingly, further aspects of the invention provide software for performing any of these methods. It will be appreciated that software may be installed on a network entity at any point during the life of the equipment. The software may be stored on an electronic memory device, hard disk, optical disk or other machine-readable storage medium. The software may be delivered as a computer program product on a machine-readable carrier or it may be downloaded directly to the network entity via a network connection.
BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the invention will be described, by way of example only, with reference to the accompanying drawings in which: Figure 1 shows a high-level architecture for a sensor network;
Figure 2 shows the network of Figure 1 overlaid upon a communications infrastructure;
Figure 3 shows a sensing node (S-node) within the network of Figure 1 ;
Figure 4 shows a processor node (P-node) within the network of Figure 1 ; Figure 5 shows a management node (M-node) within the network of Figure 1;
Figure 6 shows a gateway node (G-node) within the network of Figure 1;
Figure 7 shows segmentation of sensing node outputs within the network of Figure 1;
Figure 8 shows the overall process of segmentation; Figures 9A-9C show alternative ways in which sensing nodes can delay the reporting of measurement data;
Figure 10 shows the overall process of clustering;
Figure 11 shows an example cluster of sensing nodes;
Figures 12 and 13 show operation of the cluster of nodes of Figure 11.
DESCRIPTION OF PREFERRED EMBODIMENTS
Figure 1 shows a high-level architecture for a sensor network 10. A sensor field 15 is the area observed by a sensor network 10. Three widely differing examples of a sensor field 15 are the illuminated area of an optical disk which is monitored by a photo- detector, a forest which is monitored by temperature sensors and a country's airspace which is monitored by an air traffic control network. A sensor field 15 is an area in which it is desired to measure some characteristic (e.g. detect a fire in a forest). The characteristic in question (the presence of a fire) may be derived from measurements of physical parameters (e.g. local temperature) within the sensor field 15. For example, if the sensor field 15 represents an area of forest, it may be desirable to determine the presence, location and extent of a forest fire. This may be determined from localised measurements of temperature throughout the area. A more complete characterisation of the fire may be required, in which case local measurements of soil moisture content and wind velocity (direction and speed) may also be made. In this case sensors of more than one type, each type measuring a different parameter, are included in the sensor network but the sensor network is still concerned to determine one characteristic of the sensor field, namely the behaviour of the fire in the forest. If the sensors contribute to the measurement of some other characteristic (e.g. movement of deer in the forest) then they are part of another sensor network. The spatial resolution of the sensor network can be increased by increasing the density of the sensors, using a different type of sensor or by advanced data fusion techniques. The sensor field 15 can be observed continuously or only periodically. The sensor field 15 can be monitored by a uniform on non-uniform deployment of sensing devices. The sensor fields of different sensor networks 10 may overlap.
It is preferred that each sensor network 10 only measures one characteristic. In order to realise the measurement of a characteristic in a sensor field 15, the sensor field 15 is populated with sensors 2OA, 20B, 2OC, 2OD. The sensors do not have to be located in the sensor field as long as they can observe it. Sensors may be of one or more types and may measure one or more physical parameters. For example, an individual sensor may measure local air temperature, whereas another may measure wind direction. An individual sensor node may include multiple sensors of different types. An individual sensor may be part of more than one sensor network. For example, temperature sensors may be part of a sensor network designed to monitor the microclimate in a forest but
may also be part of a sensor network used for fire detection. Thus the sensor network 10 is defined by the characteristic of the sensor field that it measures and not by the physical parameters measured by the sensors within it.
A characteristic of a sensor field measured by a sensor network is derived from measurements made by individual sensors within the network. The output from the sensor network may result from a combination of multiple measurements from a single sensor or from several sensors, which may be of different types. For example, movement in a forest may be monitored by a sensor network comprising vibration based proximity sensors combined with position sensors to indicate location. Multiple measurements from each vibration sensor may be used to show whether movement is towards or away from the sensor.
Figure 1 shows the four main types of node within the sensor network 10: S nodes (sensor) 20A-20D, P node (processor) 40, M node (management) 60 and G node (gateway) 80. Typically only one P node 40, one M node 60 and one G node 80 are required, although additional nodes may be added to provide redundancy. The location of the S-nodes is determined by the requirements of their sensors and will usually be in close proximity to, or within, the sensor field 15, whereas the P, M and G nodes can be hosted on remote servers. S-nodes may be shared by multiple sensor networks, such as where the sensor fields 15 overlap. Figure 2 schematically shows how the sensor network of Figure 1 can be overlaid upon a communications infrastructure. The S-nodes 20A-20D are positioned within, or close to, the sensor field 15. Measurement data is forwarded, via a sensor gateway 85, to a remote Sensor Network Server (SNS) 110. Note that the sensor gateway 85 is distinct from the G node (gateway) 80. The connection between the network of S-nodes and the SNS 110 is shown as a combination of a wireless network, such as a wireless LAN or a 3G network, and an IP packet network 100. The specific characteristics of the service to be provided by the sensor network will impose certain requirements on the quality of service that the intervening networks 90, 100 must support.
The SNS 110 hosts the M, P and G nodes of one or more sensor networks which manage and control the corresponding networks of S nodes and process the data provided by them. The output from the SNS is provided to a Virtual Sensor Network Service Server (VSNSS) 120 which post-processes the data corresponding to the one or more sensor networks supported by the SNS to provide services to interested parties. The SNS 110 thus supports one or more sensor networks to obtain the respective
characteristic measured by each one in a manner which is an optimum balance between the requirements of the respective measurement (e.g. temporal and spatial resolution) and the requirements of the network (e.g. longevity, energy constraints, etc.). All information from the sensor network terminates on the SNS 110 and no raw sensor data is allowed to pass beyond it to any users. This prevents users from making excessive demands on the sensors and hence draining their batteries and overloading the communications network. The SNS 110 therefore enables optimum management of the sensor network. The SNS 110 makes measurements of the characteristics provided by the respective sensor networks available to the VSNSS 120. The VSNSS 120 post-processes the measurement data provided by the SNS 110 to provide a range of services, which are made accessible to users. The VSNSS 120 thus provides an interface to the users. Raw data collected from the SNS is processed in different ways according to the service to be delivered. A variety of services can then be mounted on the VSNSS based on a given set of data received from the SNS. For example, sensor networks might provide environmental characteristics such as temperature, air pressure, wind speed and humidity. These may be combined and processed by the VSNSS to provide a weather forecast. Alternatively, they may be used for forestry purposes or for fire detection and location. The optimum periodicity and spatial resolution required for each service can be managed by the SNS in order to obtain data of the required timeliness and resolution balanced against the need to maximise battery life. Equally, data from different sensor networks can be combined for a particular service. Each service can then be made available to different users as required without their needing to access the sensors directly. This architecture enables the separation of the management and operation of the sensor networks from the users and hence allows optimum configuration and operation of the sensor networks combined with the ability to present the data in different ways to provide different service offerings.
Returning to Figure 1, the S-node 2OA measures one or more parameters of the sensor field and communicates the results to a P-node 40. An example architecture for an S-node 2OA is shown in Figure 3. The three principal components are: a sensor entity 25, a management entity 26 and a communications entity 27. The sensor entity 25 provides measurements of the parameters of interest. The management entity 26 provides element management of the S-node and contributes to network management by communication with the M-node 60. The communication entity 27 links the S-node to
the P-node 40 and to the M-node 60 and so there is no need for an S-node to directly communicate with other S-nodes.
The lowest addressable level within a sensor network is the S-node. Although an S-node may contain multiple sensors 21, 22, 23, these sensors are not individually addressable by the sensor network: the S-node provides a composite output corresponding to the combined measurements of the sensors it contains. For example, an S-node containing a pressure sensor and a location sensor produces a vector output of pressure and location which describes the pressure at that location. Consequently, information is requested from the S-node and not from the individual sensors. The components, or elements, of an S-node (e.g. sensors) must be enabled to communicate within the node. In many cases, the S-node comprises a single physical unit and the components are hard-wired in a single enclosure. However, in some cases, the S-node may be distributed with sensors spread over a small area (in comparison to the area covered by sensor network - the sensor field) and may be inter-connected by wireless links (e.g. Bluetooth). Some form of addressing may therefore be required within the S- node itself; however, this is local to the S-node, even though the addresses must be globally unique, and is invisible to the sensor network. S-nodes have a unique address by which they can be related to their position in the sensor field. Note that this is an application level address. Often this address is a geographical location (this would work well in the forest fire example described above). However, other methods of addressing may sometimes be more appropriate. For example, if the sensor is attached to a particular component in a machine (e.g. the cam-belt in an engine) then the name of that component may be used, as it may be expected that the application understands the relationship between the component and the machine (i.e. it knows the location of the cam-belt).
IEEE 1451 describes a Smart Transducer Interface Module (STIM) which can be used as a component of an S-node. Information concerning the particular properties of the individual sensors within the STIM is stored in a Transducer Electronic Data Sheet (TEDS) 24. This information may include, for example, calibration data for each sensor. The STIM may include more than one sensor, perhaps measuring different physical parameters, in which case the TEDS would contain information pertaining to each of the sensors. The communication capability in a given node is provided in IEEE 1451 by an NCAP (Network Capable Application Processor). The interface between a STIM and the NCAP is defined in IEEE 1451. Where the STIMs and the NCAP are not collocated
in a single unit, the IEEE 1451.5 wireless interface may be appropriate. The interface between the NCAP of a node and other nodes of the sensor network is independent of the specific sensor characteristics because of the information made available by the TEDS.
The P-node 40 is shown in Figure 4. It receives measurements from the S-nodes via a communications entity 43 and processes 42 the measurements in order to obtain the desired characteristic of the sensor field and then passes the results via the communications entity 43 to the G-node. For example, S-nodes distributed throughout a towed sonar array may each contain a 3-axis accelerometer and a 3-axis magnetic sensor. Their outputs are communicated to a P-node, which is typically located on the towing vessel. The P-node processes them to determine the shape of the array, enabling improved sonar accuracy. Calibration of individual sensor outputs may be performed as part of the P-node processing, if it does not occur in the S-nodes.
The M-node 60 is shown in Figure 5. It communicates with management entities in each of the S-nodes 20A-20D and in the P-node 40 to manage the sensor network 10. The G-node 80 is shown in Figure 6. It hosts the gateway function, enabling the sensor network to export data regarding the measured characteristic of the sensor field to other devices and networks outside the sensor network and to exchange control signals with a user. Note that the G-node 80 is a gateway to the sensor network and is distinct from gateways in the underlying communication network, for example the sensor gateway 85 shown in Figure 2.
An example of a sensor network is a VHS video recorder, which contains multiple playback heads (S-nodes) for improved signal to noise ratio and a processor to combine the signals (P-node). There is also a management function within the device (M-node). Typically this operates a sleep function which shuts down the sensor network (i.e. the video recorder) after a certain period of time in which it is not used. Finally there is a gateway function (G-node) which converts the output of the sensor network into a suitable format for onward transmission to a television (SCART or RF).
A management entity 26, 41, 61 is present in each of the nodes. The management entity 61 in the M-node 60 communicates with the management entities in the other nodes in the sensor network, via the corresponding communication entities, so that the M-node can manage the network. The M-node has the aim of maintaining an optimum balance between the requirements of the respective measurement (e.g. temporal and spatial resolution) and the requirements of the network (e.g. longevity, energy constraints, etc.) The management entity in each node is responsible for element
management of that node and for providing information relevant to the management of the network as a whole to the M-node.
One of the management functions 62 is managing the sleep patterns of S-nodes.
It is sometimes desirable to deploy a higher density of S-nodes than necessary to ensure full coverage of the sensor field and maximise the longevity of the network. Those S- nodes that are not required can be deactivated (put to sleep) to conserve energy and extend the life of the network.
A sensor network has been defined as a set of nodes for the measurement of one characteristic of a sensor field (e.g. the movement of deer in a forest or the location of a forest fire). Note that, if two characteristics can be derived from the same set of sensors, we treat this as two sensor networks with overlapping sensor fields. In many applications, however, many sensor fields will exist in close proximity to one another and will often overlap geographically (e.g. a lathe in a factory may be adjacent to a milling machine and each may have its own sensor network for health monitoring). Furthermore, it will often be desirable to combine the outputs from multiple sensor networks for a specific purpose (e.g. in healthcare, the output of a sensor network monitoring a patient's breathing may be closely related with the output of a sensor network monitoring the delivery of anesthetic). It will therefore often be necessary for sensor networks to coexist in close proximity to one another. Coexistence of many sensor networks can place a significant burden on the supporting communications network and physical layer protocols, particularly if a stimulus can trigger highly correlated responses from multiple sensors in each of the networks simultaneously, in which case peak-to-mean traffic ratios can be very high.
A first technique for improving the performance of coexisting sensor networks will be called segmentation. Any one sensor network is restricted to measure only one characteristic of the sensor field. A consequence of this is that it tends to make the responses of different sensor networks orthogonal without the need for large numbers of orthogonal physical layer communication channels. In accordance with an embodiment of the invention, the responses from sensors of each sensor network are delayed so that they do not overlap. The delay may be random or deterministic, if a mechanism exists for coordination between the networks.
The number of sensor networks whose responses can be separated in this way is limited by the mark to space ratio of their measurements, which is dependent on the temporal resolution and resolution of the measured parameter. Segmentation may be
based on each sensor network responding on an orthogonal time sequence, for example. This requires that each sensor network should measure a single characteristic, independent of other characteristics.
As each sensor network is restricted to determining one characteristic, the responses of the sensor networks will tend to be orthogonal because the stimuli will occur with different timescales, periodicities, etc. Stimuli trigger sensors to pass messages to their respective P-nodes. If a sensor network is concerned with only one characteristic, then all sensors responding to the corresponding stimulus (or stimuli) will pass messages to the P-node of that sensor network and these messages will be highly correlated in time. Other sensor networks will not be involved. As an example, when turning a tap on in a house the sensor on the tap will respond along with the sensor on the water main entering the house. Because all of the sensors report to a single sensor network for measuring the characteristic of water flow, the M node of that network can schedule their responses so as to reduce the peak traffic in the network. If instead each sensor network were concerned with all characteristics in a geographic area (e.g. the bathroom) rather than a single characteristic (such as water flow) it would be more difficult to schedule the traffic as the different characteristics in the bathroom (e.g. water flow, light levels, temperature, etc.) would be uncorrelated but correlations would occur between sensor networks (e.g. between the kitchen and the bathroom). Therefore scheduling across multiple sensor networks would be required to reduce peak traffic. Thus segmentation is a way of grouping to make scheduling easier to enable a reduction in peak traffic load.
The segmentation technique will now be described with reference to a simplified sensor network shown in Figures 7 and 8. The network has S-nodes 301-307. Nodes 301, 304 and 305 contribute to characteristic #1 (sensor network 340), nodes 302 and 306 contribute to characteristic #2 (sensor network 350) and nodes 303 and 307 contribute to characteristic #3 (sensor network 360). Each of these characteristics can vary considerably in temporal variability and this in turn affects the time-sensitivity of the corresponding measurement data. Taking the example of a hospital environment, measurement data concerning a patient's blood pressure can vary rapidly with time, and the data is critical within a period of a few seconds. However, measurement data relating to the temperature of the hospital room can afford to be delayed for a much longer period because room temperature is slowly varying. In order to avoid peaks of communication traffic on the shared medium, S-nodes make a measurement (step 381) but then wait
(step 382) for a delay period before transmitting their measurement data. Each characteristic is assigned a temporal response level and S-nodes which contribute measurement data to that characteristic transmit the data after a delay which is related to the temporal response level of the characteristic. The M-node 60 determines what delay should be assigned to each S-node (step 380) and issues configuration commands 371 to individual S-nodes. This technique is particularly effective where multiple sensors belonging to a sensor network respond to the same stimulus. Consider the example used above of a water system in a house. When a hot water tap is turned on in the bathroom, the flow of water is detected by a sensor on the tap as well as sensors on the pipes leading into and out of the hot water tank and on the mains inlet pipe in the kitchen. These sensors belong to a sensor network whose characteristic is the flow of water in the house. The set of sensors triggered by the same stimulus - turning on the tap - would normally compete for the available communication resources. Let us assume that a temporal response of one second is required - that is, any stimulus must be detected and all reports made within one second. To minimise congestion on the communication network, the M node schedules the sensors in the sensor network to wait before sending their data by different times in the range zero to one second, so that the messages from the different sensors do not collide and the peak traffic load is reduced. This waiting period or delay may be determined by the M node if the set of sensors responding to a given stimulus is known or it may be chosen randomly within the range zero to the maximum delay allowed by the required temporal response if the set of sensors responding to a particular stimulus is less well understood, for example as may occur in a mobile environment. Now consider a second collocated sensor network, this one having the water temperature in the house as its characteristic. As the temperature is slowly varying, assume that a temporal response of one hundred seconds is required - in this case, therefore, any stimulus must be detected and all reports made within one hundred seconds. The M node schedules the sensors to wait before sending their data by different times in the range zero to one hundred seconds, thus ensuring that sensors in this network will not compete with each other for communication resources. In this example it is unlikely that an event occurring in the water system will result in traffic at the same time as traffic is generated by a sensor in the temperature sensor network because the messages in the latter will be spread over one hundred seconds and the messages from the former must be complete within one second. Thus, segmentation of the sensors into sensor networks each for a single characteristic enables scheduling appropriate to the
required temporal response of the characteristic concerned, thus reducing congestion due to a shared single communications network or channel and furthermore by spreading traffic appropriately to the characteristic of each network reduces competition between network for the available communication resources. Where a common stimulus causes correlated responses in more than one network segmentation also helps to distribute load on the shared communications resources. Taking the same example as above, running hot water will cause sensors in the flow monitoring network to report flow measurements and the reduction in temperature of the remaining water in the hot water tank will cause sensors in the temperature monitoring network to report temperature measurements. Each sensor will report a measurement within the temporal response interval dictated by the sensor network it is part of. For the flow sensor, this is the range 0 - 1 second whereas for the water temperature sensor it is the range 0 - 100 seconds.
Figure 9 A shows a first example of how the S-nodes can stagger their reports. Sensor outputs contributing to characteristic #1 are assigned temporal response #1 (the shortest), sensor outputs contributing to characteristic #2 are assigned temporal response #2 (the middle response) and sensor outputs contributing to characteristic #3 are assigned temporal response #3 (the longest). Those S-nodes that contribute to characteristic #1 respond within an interval 310, those S-nodes that contribute to characteristic #2 respond within an interval 311 and those S-nodes that contribute to characteristic #3 respond within an interval 312. In this example all three intervals 310, 311, 312 extend from 0 (the occurrence of the stimulus). S-nodes wait a period of time, which may be random or predetermined by the M node, within their response interval, e.g. S-node 301 waits for a random period between 0 and the expiry of interval 310. Where coordination between sensor networks is possible, for example where both sensor networks are hosted on the same SNS, a sensor network with a longer temporal response interval may avoid delays that would result in overlap with the temporal response interval of the shorter temporal response interval, as shown in the variant of Figure 9B where each temporal response interval is associated with a distinct, non-overlapping, time interval 320, 321, 322. In the further alternative of Figure 9C the intervals 330, 331, 332 overlap to some extent. It will be appreciated that the precise values of the time intervals and the degree of overlap can be set according to anticipated levels of traffic within each temporal response interval and the relative temporal response interval of the characteristics. In each of the cases 9B and 9C the longest delay i.e. the period from zero up to the end of the intervals
321, 322, 331, 332 cannot exceed the corresponding temporal response interval for that characteristic. Longer temporal response intervals may well have a considerably longer response period than shown in Figures 9A-9C. For a group of S-nodes which share the same temporal response interval, individual S-nodes may either respond at a random time period within the response interval or each S-node may be allocated a particular value of delay within the interval.
In the event that two or more S-nodes attempt to access a shared channel of the communication medium at the same channel, resulting in a collision, the 'back-off period between the collision occurring and the next transmission attempt is related to the temporal response interval. In the example of Figure 9A the back-off time associated with response interval 310 would be shorter than that associated with response interval 311 or 312.
If a sensor contributes to more than one sensors network and it is triggered by a stimulus then it must respond within the shortest interval of the sensor networks to which it contributes; however, if it is responding to a request from one of the sensor networks, it may respond within the temporal response interval of that network, irrespective of whether it is longer or shorter.
For the purposes of the segmentation technique, either the M node needs to know the required temporal response interval so that it can assign specific delays to each S node as part of the scheduling process or each S node needs to know the required temporal response interval so that it can make a random choice of delay in the appropriate range.
A second technique for improving the performance of coexisting sensor networks will be called clustering. This technique forms groups of sensors in a sensor network in which the sensors constituting a group or cluster may be expected to provide correlated responses to stimuli in the sensor field. Spatial resolution is required as an input to the clustering process as it is necessary to ensure that the sensor field can be sampled with the required resolution. Therefore, each cluster, in which there may only be one sensor awake, must be smaller than the required spatial resolution so that the interval between sensors that are awake is smaller than that required be the spatial resolution. Clustering may be based on the actual correlated response to a known event or stimulus or may adapt over time according to the responses to a series of events or stimuli. Alternatively, clusters may be formed based on the geographical proximity of their sensors. Sensors which provide a similar response are considered to contribute redundant data and can
thus be turned off, or used on a rotational basis. The fact that the sensors are providing closely correlated results minimizes the loss of resolution with which the sensor field is sampled. The clustering technique can greatly extend the longevity of the sensor network as sensors may spend a greater proportion of their time sleeping and hence conserving energy which will be important as they will often have a power supply having a limited lifetime such as a battery. The sleep patterns of the sensors can be adjusted in groups of sensors that have highly correlated outputs so that only enough - typically only one - are awake at any one time to provide the required resolution. This minimises the amount of traffic passed onto the communications network in response to an event in the sensor field. This technique is particularly useful in situations where the S-nodes are deployed in a random and uncontrolled manner, such as airborne deployment.
Figure 10 summarises this technique and Figure 11 shows an example sensor network with S-nodes 401-412 deployed within a sensor field 415. It is preferred that the identification and formation of clusters is dynamic and adaptive. Initially, following deployment, when the environment is unknown, a high density of active sensors will be awake, leading to over sampling in some places but also to rapid drain of batteries. S- nodes report sensor responses 420 (step 430) and the P-node 40 logs the data (step 431). The M-node analyses the measurement data over a period of time, such as by using a correlation technique, to identify clusters of S-nodes that are reporting similar data. S- nodes can also report information about the position of the S-node within the sensor field if this information is known to the S-node. In this manner, clusters of S-nodes are formed (step 433). Configuration commands 440 are sent to individual S-nodes to control their sleep patterns. As the M-node learns about the S-nodes and gains confidence in which nodes are reporting redundant data, a higher proportion of sensors will be put to sleep in order to maximise longevity of the S-nodes. In the example network of Figure 11, after a period of time, the management function identifies a cluster 416 of S-nodes 405-409 which provide closely correlated results. Other nodes 401-404, 410-412 can continue to be operated in the normal manner. It is expected that the other nodes would also form into additional clusters and hence that some of these nodes could be set to sleep. It will be an important aspect of the clustering algorithm to determine which cluster a particular node should belong to, especially those nodes which are close to the boundary between adjacent clusters. This may be determined by the relative degree of correlation with the other nodes in the cluster or simply on geographical
proximity to the centre of the cluster. The sleep patterns of the sensors within the cluster 416 are adjusted at step 434.
Figure 12 shows an example of the operation of the S-nodes within a cluster 420 over a period of time. The time period is divided into a plurality of consecutive reporting cycles Tl , T2...T6. During each reporting cycle, one of the S-nodes within the cluster is instructed to be active, that is to be available to report a measurement in response to a stimulus, and the other S nodes in the cluster are instructed to sleep. Thus, in cycle Tl S- node 405 reports a measurement, in cycle T2 S-node 406 reports a measurement and so on. After a series of five reporting cycles each of the S-nodes has reported a measurement and the pattern repeats itself. Figure 13 shows the corresponding activity of one S-node - 405 - over the same time period. S-node 405 reports a measurement 405 A during reporting cycle Tl. During the reporting cycles T2-T5 node 405 enters a sleep mode to conserve power. S-node 405 again wakes up during, or just before, reporting cycle T6 to report a second measurement 405B. It will be appreciated that a larger number of S-nodes can be operational during each reporting cycle, with different combinations of S-nodes being operational during each reporting cycle. Preferably, each S-node is operational for the same average number of cycles.
The desired spatial resolution and the density of sensors determines the size of a cluster and in principle only one sensor need be awake in each cluster to achieve the desired spatial resolution. However, it is possible to vary the clustering algorithm such that the number of active S nodes within the cluster is varied according to the uncertainty in the location and environment in which the sensors are deployed. Particularly in the early stages of a deployment in terrain which is unfamiliar, the density of sensors required to achieve a given spatial resolution will be uncertain (e.g. the range over which a vibration sensor can detect a vehicle varies with the type of terrain - sand, rock etc.) When a high degree of uncertainty exists, a larger number (or all) of the S-nodes can be activated to report measurements. Similarly, as the degree of uncertainty decreases as more data is obtained and correlations between sensor outputs are observed, clusters can be formed with a smaller number (or one) of the S-nodes activated to report measurements in each cluster. Information about the desired spatial resolution can be received from a user as user inputs 450.
The sleep patterns of the S-nodes can also be adjusted depending on the remaining energy in each S-node. Each S-node can report it's remaining energy level to the M-node on a periodic basis. Preferably, the sleep patterns of individual S-nodes are
set so that S-nodes have generally equal amount of remaining energy. As S-nodes die, sleeping sensors can be re-activated (or used more frequently) to replace the deceased S- nodes. Where some of the S-nodes are common to more than one sensor network (e.g. where the sensor field overlap) it may be necessary for the sleep functions of multiple sensor networks to be coordinated. Therefore, the M-nodes of the respective sensor networks should be able to communicate with one another via their respective G-nodes. This coordinating function may alternatively be undertaken by the SNS.
There are a number of known clustering algorithms e.g. minimum spanning tree. However, the basic idea is that if an S-node Sl always reports an event at the same time as an S-node S2 then these two S-nodes would be grouped into a cluster. The complexity comes in deciding how similar the reported events need to be for them to be considered related: coincidence in time is the most useful in this respect. Where a particular spatial resolution is required, we would take into account the amplitude of the detected event for example the strength of the vibration caused by a passing vehicle at the location of a specific S node. If two S nodes detected the vibration at the same time with the same amplitude, they would be candidates for inclusion in the same cluster. If one responded more weakly it may be further away and be best grouped in another cluster. Location information from for example GPS or radio location techniques can also be used in deciding which S node should be in which cluster. Cluster size is determined by the required spatial resolution i.e. if only one S node is awake in each cluster, the S nodes that are awake in the sensor network must be separated by a distance less than or equal to the required spatial resolution. Another way to say this is that the cluster diameter must be less than or equal to the required spatial resolution. The clustering algorithm will run continuously to look for changes in the pattern of correlation between S nodes but will be less effective once most of the S nodes have been put to sleep. However, it will be particularly effective when new nodes enter the network e.g. in a mobile application when it will be necessary to determine which cluster these should belong to. In such a mobile environment it is necessary that the degree of mobility is low compared to the time required to form clusters.
The formation of clusters based on the entire set of S-node measurements can have a considerable advantage over locally formed clusters. For example, consider a water system in a building. Local clustering would form a cluster in, for example, the bathroom. Now, in the bathroom, there might be a sensor on the hot water tap of the
18
bath, the cold water tap of the bath, the hot water tap of the washbasin, the cold water tap of the washbasin, the toilet cistern and the radiator. Each of these sensors is responding to an independent flow: turning the hot water tap of the bath on has no effect on the cold water tap of the bath, or the taps on the washbasin, or the toilet or the radiator. Consequently, it is not possible to form a cluster within the room and so performing cluster formation on a local (room-by-room) basis would only result in one sensor per cluster and would not result in a reduction in the traffic in the network. However, the overall network of sensors includes sensors on the input and output to the hot water tank, on other radiators in the building, on the input and output to the cold water tank, and on the mains inlet to the building. Furthermore there may be sensors on the hot and cold taps in the kitchen and in the downstairs toilet, en-suite bathrooms, shower room, etc. Managing the formation of clusters from a separate node allows the inclusion of widely (geographically) separated sensors in a cluster if their responses were correlated; in this example when the hot water tap in the bathroom is turned on, a flow will also be detected in the inlet and outlet of the hot water tank, which may be located in a bedroom, and in the inlet and outlet of the cold water tank, which may be located in the loft, and in the mains inlet to the building. Therefore, although the cluster of sensors is geographically spread throughout the building, it nevertheless comprises sensors whose responses are correlated. Recognising the particular pattern of responses corresponding to a specific event (turning on the hot water tap in the bathroom) is an important discriminatory feature but in addition we can reduce the number of active sensors in each cluster to the minimum required to detect each event with accuracy.
To summarise the clustering method, firstly we have formed clusters of sensors λvhere the output from the sensors within the cluster is correlated (i.e. they all tend to detect the same thing at the same time.) We can then put most of the sensors in a cluster to sleep because the others would only provide redundant information. Hence, fewer sensors per cluster will respond to a stimulus or to a request for data. Secondly, clusters are separated to provide the required spatial resolution. If the required spatial resolution is small then more (i.e. a higher density of) clusters are required and typically each cluster will contain fewer sensors. Thirdly, if we request data from the sensors, rather than waiting for some stimulus to trigger a sensor output, we can target specific sensors or clusters based on prior knowledge (e.g. gained from previous measurements). Thus if we know that there is something of interest in a particular area of the sensor field, we can request updates from sensors or clusters in that area only. An improvement on this is to
employ an algorithm to estimate the area that we should interrogate based on previous measurements, thus refining the area and hence reducing the number of sensors that must respond. For example, if a stimulus such as movement of deer in a particular area of the sensor field - the forest - has caused sensors in that area to send messages, we may wish to interrogate sensors in that area to obtain updates of the position of the deer. However, as the deer are moving, we need to predict the set of sensors to interrogate in order to minimize the amount of redundant data. A tracking algorithm (e.g. a Kalman filter or an αβ-tracker) can predict the location of the target within the area of interest, i.e. the sensor field, and so enable the P-node to accurately direct its interrogation to a specific region, thus allowing other sensors to continue sleeping or avoid having to process requests for data unnecessarily.
The invention is not limited to the embodiments described herein, which may be modified or varied without departing from the scope of the invention.