[go: up one dir, main page]

WO2008029164A2 - Method and network for routing data between a network of spatially distributed nodes using spatial indications - Google Patents

Method and network for routing data between a network of spatially distributed nodes using spatial indications Download PDF

Info

Publication number
WO2008029164A2
WO2008029164A2 PCT/GB2007/003396 GB2007003396W WO2008029164A2 WO 2008029164 A2 WO2008029164 A2 WO 2008029164A2 GB 2007003396 W GB2007003396 W GB 2007003396W WO 2008029164 A2 WO2008029164 A2 WO 2008029164A2
Authority
WO
WIPO (PCT)
Prior art keywords
node
nodes
data
network
spatial
Prior art date
Application number
PCT/GB2007/003396
Other languages
French (fr)
Other versions
WO2008029164A3 (en
Inventor
Brian Stewart Hoyle
Original Assignee
University Of Leeds
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University Of Leeds filed Critical University Of Leeds
Publication of WO2008029164A2 publication Critical patent/WO2008029164A2/en
Publication of WO2008029164A3 publication Critical patent/WO2008029164A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/32Flooding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/35Network arrangements, protocols or services for addressing or naming involving non-standard use of addresses for implementing network functionalities, e.g. coding subscription information within the address or functional addressing, i.e. assigning an address to a function
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/20Communication route or path selection, e.g. power-based or shortest path routing based on geographic position or location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/604Address structures or formats
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/04Terminal devices adapted for relaying to or from another terminal or user

Definitions

  • the present invention relates to nodes for sensor and/or actuator networks, and in particular a network including several sensing and/or actuation nodes where each node is located at a different position.
  • the present invention also relates to a network comprising the nodes, and methods for detecting predetermined conditions using the network.
  • the present invention may be used in many applications, including: smoke detectors and linked fire protection sprays which are routinely distributed in buildings; systems for monitoring and controlling potable water and waste water; gas and electricity energy distribution systems; ground water collection and flood alerting systems for monitoring rainfall and accumulation points such as streams and rivers utilising sensors at key points to give an estimate of specific loadings and flows, incorporating control valves and sluices; external crop monitoring and irrigation control for agriculture; environmental monitoring and control of temperature and humidity for enclosures of internal horticultural enterprises; radio frequency identification (RFID) and similar tag-based systems for identifying components and actuating mechanisms to pick parts in manufacturing and warehouse systems; and sensor systems for monitoring medical conditions of patients and for activating alarms and delivering prescribed treatment.
  • RFID radio frequency identification
  • nodes which can be sensors and/or actuators, to return information on the area, such as temperature, or to influence the environment, for example to actuate a mechanism to pick up a specific part.
  • the system must know the location of each node to operate correctly.
  • An infrastructure links the sensors and actuation units to a central monitoring and control unit that monitors the sensor signals and asserts appropriate actions.
  • the implementation of the infrastructure that links the various parts may take various forms: a wired system in which all elements are individually and separately connected to the central unit; or a wired network where specific signals identify the source and destination of data to permit the use of a shared circuit, for example, via a local area network (LAN).
  • LAN local area network
  • a further variant offers a wireless transport medium, for example via a Wireless LAN (WLAN).
  • WLAN Wireless LAN
  • a wireless system may also be configured using a Wireless Sensor Network (WSN) which is a recent development of a wireless communication network that consists of a plurality of nodes able to route data from node to node, rather than from one node to the central point.
  • WSN Wireless Sensor Network
  • the spatial property of the data is evident only due to its design assignment to a particular cable, for a fixed individual connection; or to an assigned telemetry channel or message packet identifier for a shared medium, wired or wireless connection.
  • nodes have no intrinsic data relating to their location in the spatially distributed network.
  • a sensor will simply supply an estimate of the variable of interest through the assigned circuit or channel.
  • the assignment of the spatial property of node data must be incorporated into the formal design. Even then the spatial component will be evident only at the nexus to which all data is routed through the assigned routing incorporated in the design. This will also depend upon specific critical actions that must occur and be validated during the installation process. In summary such networks rely for their spatial data integrity upon the fixed or wireless infrastructure design and installation process.
  • IP Internet Protocol
  • a method of routing data between a network of spatially distributed nodes wherein each node comprises a data storage unit for storing data of the node's position and the position of at least two adjacent nodes in a frame of reference; the method comprising: receiving a data packet including a header comprising data of the final spatial destination of the data packet at a node; calculating the direction of the final spatial destination from the node; determining which of the at least two adjacent nodes is closest to the direction of the spatial destination; and forwarding the packet to the one of the at least two adjacent nodes that is determined to be the closest to the direction of the final spatial destination.
  • the forwarding of the packet may comprise altering the header to include the position of the one of the at least two adjacent nodes that is determined to be the closest to the direction of the final spatial destination. This allows the packet to be directed to the next closest node without losing data of the final destination.
  • the method may further comprise determining the distance of the final spatial destination from the node and; if the node is closer to the final spatial destination than any of the at least two adjacent nodes, determining that the node is the final spatial destination for the packet. This ensures that a packet is always delivered to the closest node to it's destination. It also facilitates self configuration of the network because if a new node has been added closer to the final location than an existing node, the packet will be automatically routed to the new node without requiring re-programming of the application software to identify the new node.
  • the header of the data packet may further comprise a packet identifier
  • the method may further comprise, after receiving a data packet: comparing the packet identifier with a stored list of packet identifiers for packets previously received; and if it is determined that the packet identifier is not in the list, adding the packet identifier to the list and proceeding to calculating the direction; or if it is determined that the packet identifier is in the list, discarding the data packet.
  • the data of the final spatial destination may include a scope parameter for indicating the number of nodes to which the data packet is directed.
  • the scope parameter may be for indicating that the data packet is directed to: all nodes within the network; all nodes within a predetermined spatial region; a predetermined set of specific nodes; or a single predetermined node.
  • the data of the final spatial destination may also further comprises a persistence parameter for indicating whether the data packet should be forwarded when it is received by a node.
  • the persistence parameter may be for indicating that: the data packet should be forwarded by all nodes until it reaches the edges of the network; that the data packet should be forwarded towards the final spatial destination; that no automatic forwarding should be carried out; or that the data packet should be forwarded back to the node which sent it.
  • the scope and/or persistence parameters allow control of the propagation of packets through the network depending on the application required.
  • a method of establishing the position of at least two adjacent nodes to a selected node in a network of spatially distributed nodes wherein each node comprises a data storage unit for storing data of the node's position and the position of at least two adjacent nodes in a frame of reference; the method comprising: transmitting a command from the selected node requesting that proximate nodes transmit their position; receiving responses for a predetermined period; calculating the direction and distance for each response received; determining a predetermined number of the closest of the responses received and storing data of the position of the corresponding nodes in the data storage unit of the selected node.
  • the method may further comprise determining the closest of the responses comprises: dividing the area surrounding the node into a plurality of predetermined regions; and for each of the plurality of predetermined regions, determining which of the responses received is the closest and storing data of the position of the corresponding node in the data storage unit of the selected node.
  • the wait for a predetermined period means that the node can wait for a proximate node to process the query and forward the command. In this way a query can be processed successively by all the nodes in a space.
  • the predetermined period may be calculated to correspond to the amount of time for an adjacent node to receive, process and retransmit the data packet.
  • the method may further comprise determining if the packet has been received at the initial node, and, if it is determined that the node is the initial node, processing the payload of the data packet. If the node is the initial node, where the query begins, it should not wait before processing the payload.
  • the method may be for searching for the location of a maximum value of a parameter and wherein the processing of the payload of the data packet comprises comparing the value of the parameter in the payload with a value of the parameter at the node, and, if the value of the parameter at the node is greater, updating the payload with the value of the parameter at the node and the position of the node.
  • This allows efficient searching of a space to find a maximum value requiring only knowledge of the dimension of the space to be searched, not the configuration of nodes within the space.
  • This method could also be adapted to search for a minimum value if required.
  • Maximum and minimum values may also be referred to as cardinal values.
  • the method may be for searching for the location of a predetermined value of a parameter, which is defined in the payload of the data packet, and wherein the processing of the payload of the data packet comprises comparing a value of the parameter at the node with the predetermined value and, if the value of the parameter at the data packet is the same as the predetermined value, updating the payload to additionally include the spatial position of the node.
  • This allows efficient searching of a space to find locations of a specific value requiring only knowledge of the dimension of the space to be searched, not the configuration of nodes within the space.
  • the updating of the payload may simply append the location to the payload.
  • the method may be for searching for the location of an isocline of a parameter, which is defined in the payload of the data packet, and wherein the processing of the payload comprises: sending commands to query the value of the parameter at each of the at least two adjacent nodes stored in the data storage unit; receiving the replies from the at least two adjacent nodes containing the value of the parameter at their location; comparing the value of the parameter at the node with the value of the parameter at the at least two adjacent nodes, and if it determined from the values that the node lies closest to the isocline, updating the payload to include the data of the node.
  • An isocline is a line in which the parameter has an equal value
  • specific examples include isotherms, isobars, and contour lines on a map. This allows efficient searching of a space to find locations of an isocline requiring only knowledge of the dimension of the space to be searched, not the configuration of nodes within the space.
  • a computer program comprising code means that, when executed by a computer system, instructs the computer system to perform any of the methods described above.
  • the above described methods can be applied to a network of nodes where the nodes include sensors and/or actuators and used to query information from the sensors or command the actuators.
  • a node for a sensor and/or actuator network comprising: at least one sensor or actuator; a data storage unit for storing the location of the node in a frame of reference and the location of adjacent nodes in the frame of reference; a processor connected to the at least one sensor or actuator and the data storage unit; and a communication unit connected to the processor for exchanging data directly with other nodes.
  • the invention can be used with a range of sensor types, for example but not limited to, a singular physical or chemical state sensor, biometric sensors, sound and vision sensors (including video feeds where appropriate), and status devices such as keypads, switches and RFID tag readers.
  • sensor types for example but not limited to, a singular physical or chemical state sensor, biometric sensors, sound and vision sensors (including video feeds where appropriate), and status devices such as keypads, switches and RFID tag readers.
  • a sensing and/or actuation node may be realised with any combination of sensors and/or actuators to suit the particular needs of the application and the duties required at a specific node. It is expected that many networks will be constructed with relatively few variations, but the invention provides for an unlimited number of sensor and actuator types. It follows further that the invention provides for both homogeneous networks, in which a plurality of identical sensing and actuator nodes is deployed, and heterogeneous networks in which the plurality of sensor and actuation nodes can feature a variety of types.
  • the location may be stored in a location variable that may take any common appropriate format; for example but not limited to, a geometric or geographic format characterised using appropriate units in a two, or three-dimensional frame, for example x, y, z; or equally the location may be characterised by a wide range of application specific parameters: such as: building, floor, bay etc.
  • the unit may simply store a value that, for example, could be entered on a one-time basis when the device is installed at its specific location using a numerical selector or via an electronic device able to accept and then permanently store this data.
  • the node further comprises a location unit, for determining the location of the node within the frame of reference.
  • a number of methods may be deployed to determine the location of a node and a suitable method can be selected to suit the application.
  • Two methods for example are: the use of Global Positioning System (GPS) satellite navigation units having GPS receivers and antenna access to the satellite constellation; and direct estimation of relative location based upon radio timing messages coupled with estimation process that that can deduce location from a set of unknown and known node values [Langendoen and Reijers, Computer Networks, 43 (4) pp499-518 2003].
  • GPS Global Positioning System
  • a network comprising at least two nodes as described above.
  • the form and protocols deployed in the underlying network will be selected to suit the application since they pertain closely to the characteristics of the nodes and space that they share.
  • the network may be wired using a purpose designed or common de facto or standard network protocol, such as Ethernet.
  • a further wired alternative for fixed applications, where mains power is used is the use of mains borne signalling, in this case no extra infrastructure is required.
  • the node is wireless it can use protocols such as those marketed under the trade names Bluetooth, ZigBee, GSM, WiFi, or WiMAX.
  • a network can be implemented according to the present invention to support a specific application such as, but not limited to, those discussed above.
  • the present invention may equally be applied to several applications harnessing the same network, where a joint space is common to the multiple sensing and actuation applications, and hence in which the several applications can usefully share a single network in which nodes are: (i) distinct to each application; (ii) in which the nodes are also shared; or (iii) in which the nodes are a hybrid combination of the two forms.
  • a network of sensors/actuators in which location is a critical property can be summarised in the following inclusive view, to admit a wide set of applications :-
  • Sensing opportunity from node from singular physical/chemical data, to derived smart data, and at a higher level extending, for example, to biometric data, audio and vision data;
  • monitoring system It is desirable for the monitoring system to deliver smart interpretation depending upon the application. This may arise from the fusion of multiple sensor node data in both temporal and spatial dimensions. This process may be followed by a higher-level holistic interpretation that relates to the overall role or mission of the system.
  • the present invention allows general application domain queries to answer questions of the form:
  • Such questions can be classified into those addressing a singular point, or those that refer to a regional, or global feature.
  • the important ability to address such questions through generic network capabilities, rather than specific and detailed design actions, is delivered through a set of generic services, underpinned by a lower-level set of spatial and non- spatial configuration operations and queries. These are related to both the sensing and actuation available at a node, and the methods available for integrating node data to resolve typical application queries such as those exemplified above.
  • Such application domain queries can be resolved from a variety of combinations of configuration and query operations on the nodal, regional and global network data.
  • the frame of reference is divided into at least two regions, and wherein the data storage unit of each node is further for storing details of which region the node is located in.
  • a regionalisation scheme may be determined based upon the known maximum extents of the application space, and may be impendent of the actual configuration of nodes.
  • a variety of tessellations may be specified (having 2D or 3D dimensionality) to suit the application. Regions may be classified in terms of application based metrics, such as: room, bay, floor etc for which a conversion method may be included to derive inclusion criteria.
  • a finite set of such segmentations are viable from a single region (encompassing all nodes) to a state in which the number of regions that equals the number of nodes found. Such spatial segmentation provides the capability that each region can be assigned different sensing and actuation tasks.
  • a method for detecting a predetermined condition using a plurality of nodes connected by a network wherein each node comprises at least one sensor and a storage unit for storing data of its location in a frame of reference and the location of adjacent nodes in the frame of reference, the method comprising: instructing at least one node to monitor a variable using the sensor for a predetermined condition; wherein, if the node detects the predetermined condition, the node communicates with at least one adjacent node to determine if the at least one adjacent node has also detected the predetermined condition, and outputs a result dependent upon the result of the determination.
  • the method may be for detecting an isocline and the predetermined condition is the variable to sense and the value of the isocline, and wherein if the least one node outputs a result if at least one adjacent node is also determined to be on the isocline.
  • the method may be for tracking movement of a feature through the frame of reference and the predetermined condition is the feature to track, and wherein the at least one node outputs a vector of the direction of travel of the feature based on data received from the at least one adjacent node.
  • the method may be for detecting a point of inflection and the predetermined condition is the variable for which a point of inflection is required to be detected, and wherein the at least one node outputs a result if the value of the variable at the least one adjacent node indicates the presence of a point of inflection.
  • a network of nodes according to the present invention can potentially offer a more powerful smart solution, able to intrinsically monitor distributed data if the underlying query set can be distributed across the network.
  • Middleware tools to facilitate this have been explored, for example, TinyLime [C Curino, M Giani, M Giorgetta, A Giusti, A L Murphy and G P Picco, Mobile data collection in sensor networks: The TinyLIME middleware, Pervasive and Mobile Computing, 1 (4) pp446-469 2005] specifically supports a de-centralised model. As noted above configuration via a hierarchical decomposition is also likely increase the viability of large networks. The methodology of distributing queries to facilitate emergent smart network functionality has received some research attention.
  • a range of generic cooperation node properties may be provided to support common application needs, for example:-
  • Basic properties enable a range of queries and actions to be carried out by the present invention (a network need not be limited to a unidirectional data flow), including: Value at/ to a specified location;
  • Figure 1 is a diagrammatic representation of a sensing and actuation node
  • Figure 2 is a diagrammatic representation of a command node
  • Figure 3 is a diagrammatic representation of a composite network of command nodes and sensing and actuation nodes in a hybrid wired and wireless network
  • Figure 4 is a diagrammatic representation of the spatially mediated communication in a network
  • Figure 5 is flowchart showing node processing for spatial message vectoring routine
  • Figure 6 is flowchart showing inter-node message validation processing
  • Figure 7 is flowchart showing node processing for the major communication modes
  • Figure 8 is a diagrammatic representation of the spatially mediated communication supporting cooperation in a hybrid wired and wireless network
  • Figure 9 is a flow chart for network command node and common node initialisation
  • Figure 10 is a diagram showing the synchronised network timing requirements
  • Figure 11 is a diagram showing an example operation of the spatial awareness property
  • Figure 12 is a flow chart for the node spatial awareness process
  • Figure 13 is a diagram showing a variety of possible configurations for the operation of the spatial diffusion property
  • Figure 14 is a flow chart for the node spatial diffusion process
  • Figure 15 is a diagrammatic representation of two regions in a sample space that feature a population of equally spaced sensor nodes
  • Figure 16 is a flow chart for the cardinal node sub-process
  • Figure 17 is a flow chart for the threshold node list sub-process
  • Figure 18 is a diagrammatic representation of the identification of an isocline;
  • Figure 19 is a diagrammatic representation of inter-node cooperation;
  • Figure 20 is a diagrammatic representation of the tracking of moving features;
  • Figure 21 is a diagrammatic representation of a building security monitoring application.
  • Each active node of the network has a communication unit, to interchange messages with other nodes via the network; and a means is provided at each node to store and process data representing both instructions for tasks to be executed at the node, and node sensor and status data.
  • Figure 1 shows the schematic features of a typical network node 1 engaged in the sensing and actuation application.
  • Data processing and storage unit 2 of Figure 1 is required to provide a capability relevant to the complexity and needs of the node and network.
  • a key duty of this unit is to control the sensing and actuation operations to execute one of several tasks which can be assigned to the node.
  • a number of these operations will be required to operate to a time schedule and to facilitate this data processing and storage unit may include a time clock function so as determine a node time for any event. The synchronisation of this time with that of other nodes is part of an initialisation process described below.
  • Node sensor group 3 provides data from one or a plurality of sensors as illustrated in Figure 1 through its schematic index representation: Sl..Sn.
  • the underlying sensing (and actuation) capabilities are catalogued within an application to permit the resolution of queries (and actions) on specific variable types. For example, a given node in a fire alarm system might support a temperature sensor and a smoke sensor.
  • a network query can specifically identify the sensor types of interest.
  • Data processor and storage unit 2 through an assigned task, obtains an appropriate periodic or event-triggered sample value from each nominated sensor.
  • the status of a specific sensor will include the sample value and the node time at which the sample was taken.
  • a specific sensor index is used to denote a spatial value of a distributed variable. Hence in a given space the collection of all values for the same type of sensor, such as a temperature sensor, will provide the sampled spatial distribution of the corresponding variable.
  • Sensor data fusion algorithms can be used to support this functionality.
  • the network supports the loading and deployment of such methods within the processing unit 2 of the node.
  • Such compound operations may also be used to increase the integrity of node data through the checking of joint values for multiple sensors of the same type; for example, an alarm signal may be triggered if two from three sensors at the node indicate a danger level. In such cases the resulting variable data will be identified by a synthesised sensor identification and sensor type
  • Node actuator group 4 provides one or a plurality of localised control actions as illustrated in Figure 1 through the schematic representation Al ..An.
  • Data processor and storage unit 2 through its assigned task(s), can assert an appropriate periodic or event-triggered action for specified actuators.
  • the underlying actuation capabilities can be catalogued within an application to permit the resolution of actions on specific variable types.
  • a given node may support different actuator types.
  • a location unit 5 provides a means for the determination, and/or storage, of the spatial location of the node, using an appropriate spatial descriptor which forms part of all messages passed to other nodes.
  • the data provided by the location unit 5 will include information denoting whether the node is fixed or mobile and may include indication, appropriate to the application, of the precision with which the estimated location is known.
  • Communication unit 6 provides a means to authenticate access, buffer, transmit and receive data to/from the underlying network and the node, appropriate to the network type.
  • the communication unit 6 may, where appropriate to the application, also contain an authentication module that verifies identification of the node unit to the network.
  • the communication unit 6 may, where appropriate to the application, request a channel capacity from the network according to the transmitted information bandwidth/latency requirements of the current sensor data, for example to route location specific video or vision data to a command node.
  • a direct linkage between the location unit 5 and communications unit 6, shown as a dotted line in figure 1, may be provided to control signals used for time of flight location determination.
  • a wired network link 7 provides the network transport means to connect the node communication unit 6 to other network nodes via a wired network.
  • a wireless network link 8 is provided according to a purpose designed or common de facto or standard wireless network protocol.
  • the wireless network link is required for mobile nodes, but fixed nodes may also include a wireless network link.
  • a hybrid wired/wireless network can be used utilising a bridge 9 to connect the wired and wireless branches.
  • the requirements of a sensing and actuation node are highly standardised and are preferably implemented using a small number of low cost electronics parts that will then be usable in multiple embodiments that provide all of the specific functionality. It is likely that many potential applications could be served through a careful choice of sensor input and actuation output channels in the basic part.
  • the derivation of location for mobile nodes and asserting of specific location for a fixed node may be assigned through a standard input to the core part, and the link to the communication unit may also be provided in generic terms through a standard port.
  • Figure 2 shows a schematic view of a command node 11 that comprises an appropriate command interface 10 which, depending upon the application, will allow a human operator, or a supervisory system, to assign commands comprising assigned tasks which permit actions and queries to be requested via the network.
  • the command node also comprises a data processing and storage unit 2 and a communication unit 6.
  • a network can include one or several command nodes where this duty is distributed.
  • a sensing and actuation node can also act as a command node. However, it will generally be preferable to include command nodes that are confined to this duty.
  • Figure 2 illustrates a command node linked via a wired network but such nodes may also be wirelessly connected to the network.
  • the authentication of attaching sensor and actuation nodes will be a specific duty of a command node, or nodes if the duty is shared.
  • message data will be encrypted and include a validation key such that the communication unit in each node may identify invalid messages which will be ignored and not forwarded.
  • command centres may be required to operate at various known spatial locations or be mobile within the composite network.
  • a command node may optionally have a location unit 5 (shown with a dotted border in Figure 2).
  • a command node is preferably constructed the same as the sensing and actuation nodes, as described above, with the input and output ports simply used for connection to the command interface.
  • a composite network is illustrated in Figure 3 in schematic physical terms showing both wired and wireless branches.
  • the wired network segment may typically be configured upon a bus model, and the wireless network segment upon a conventional multi-hop configuration.
  • the detailed operation of the communication unit, illustrated as unit 6 in Figure 1, and its controlling processes varies according to the form of the network connection.
  • a bus connection where all nodes are in effect connected in parallel, it is assumed at the application layer of interest that all nodes will receive a broadcast message.
  • a spatial segmentation can also beneficially be exploited to increase routing efficiency if the segments of the wired network are ordered based upon their spatial properties. For example, one network router will be used to distribute bus connections to all points on one floor of building.
  • the network efficiency is typically more critical and in this role the invention exploits location information to gain major benefits. The embodiment to yield such benefits is described below.
  • each sensing and actuation node will acquire and maintain spatial data for a proximate set of nodes using a selected locality descriptor. This is based upon a two-dimensional or three-dimensional model of the application space of interest, and the density of information needed.
  • the invention may be deployed in other pseudo-spaces that can be segmented. For all spaces the spatial data is used where appropriate to facilitate the routing of network data.
  • Figure 4 illustrates this principle in an example based upon a two-dimensional space in which several network nodes are shown. Some are shown within the simple bounded region 400. Some nodes within the region lie at its extremities: an edge node 401, and a corner node 402.
  • Nodes which lie outside the bounded region, in the global space are also shown, including node 403 which is located at the corresponding edge extremity of the global space, and node 404 located at the corresponding corner extremity of the global space.
  • Global and regional scope message routing capabilities are provided in the invention. Edge and corner nodes, through the information they store on their respective proximate nodes, will not relay messages further in any boundary direction with respect to the space nominated for the communication.
  • Other more localised modes are also available to support cooperation between nodes. These modes make use of the spatial awareness property of nodes in the invention, which is defined later in this description.
  • each node in the example is designed to hold a table of up to 4 proximate nodes, corresponding to compass sectors North, East, South and West.
  • This data is used to provide efficient spatial vector routing in multi-hop network segments.
  • the nodal cooperation facilities provided by the spatial awareness property are used in all wired and wireless segments; but it is likely to be useful mainly for communication routing which is not concerned with inter-node cooperation message routing in multi-hop wireless segments.
  • FIG. 4 An example of the spatial vector communication routing is shown in Figure 4 from node 405, via intermediate nodes 406 and 407 to target node 408.
  • the flowchart of Figure 5 is a flowchart for simple algorithm for the spatial vector routing sub-process.
  • a sending node such as 405 located at X n , y n
  • target node such as 408 located at x t , y t
  • the sending node proximate node table may be searched (502) to find the most appropriate proximate node for the next hop from the sending node to target node vector shown from 405.
  • a message is constructed that nominates this node as the next step. The overall process is then repeated until the target is reached. For highly regular arrangements of nodes this leads to a simple geometric selection. Where nodes are deployed irregularly the routing will still take place effectively as routing vectors are always resolved to the nearest proximate node. Since other nodes will not respond to messages, and transmission power can be reduced appropriately the communication routing is likely to occur in general in a direct and low-cost manner.
  • Multi-hop networks cannot in principle guarantee that a valid path from one node to another can be found.
  • a specific application must ensure that appropriate resources exist in the network to permit the required service level to be provided.
  • the various routing facilities are enabled at the lower level through message packet data on the network. These contain location data specified in their header, together with other appropriate information that supports and optimises their routing efficiency in terms of: encouraging direct routes and suppressing indirect routes; and minimising the network energy consumed and the network bandwidth resource occupied.
  • the message packet header includes the following three data parameters:-
  • Message Identifier parameter - whose value is derived from a combination of data that may include the sending node identifier; the network time of transmission (at the sending node; a null time is used if the node has not been initialised); and a message index (which, for example, may be the index number relative to messages initiated from the sending node since its network initialisation). Messages simply routed by any node will retain their original message identifier.
  • Message Scope parameter - whose value indicates the intended target of the message from a range of options: global scope intended for all network nodes; a regional message intended for all nodes within the specified region (with information that defines the region, typically via its region index as specified during initialisation); group scope intended for a defined set of nodes (with information that defines the group member nodes); or, local scope intended for a single node (with information that defines the single target node in direct spatial terms, or in a form which otherwise encodes its location).
  • Message Persistence parameter - whose value indicates the requested network routing mode from a range of options: universal persistence, such that the message is relayed by all nodes until it reaches the extreme edges of the network; spatial persistence, such that the smart vectoring relay process can be employed by a receiving node to route the message to the target region or location; direct persistence, such that no automatic onward relaying is carried out by any receiving node; and as a special case, initialisation persistence, such that onward relaying is carried out by the receiving node after substituting the location of the initialisation command node, and by re-setting the persistence parameter to the spatial value.
  • the node communications unit has been specified to include a facility to buffer messages this feature embodies a list of recent messages in terms of Message header parameters, at least comprising the Message Identifier.
  • the storage latency for the list is simply related to dynamic properties of the application and the storage capability of each node.
  • the message buffer is searched (601) for the received Message Identifier to determine if the message has been previously received. If the message is found to be a duplicate it is discarded (602) and its details are not registered in the buffer and list. If not the message details are buffered (603) and processing of the message is continued (604).
  • the specified message packet header parameters offer flexibility in the realisation of a wide variety of applications that in turn require a range of system priorities of: energy efficiency, bandwidth utilisation, reliability against component failure and robustness against external disturbances.
  • a range of context dependent data will be provided, such as the location of both current and target node(s) and these are used to realise optimal system performance through a range of communication modes.
  • Table 1 summarises a set of major communication modes for validated messages that can be simply realised.
  • FIG. 7 is a flow chart for the major nodal operations that enable the above modes to be realised.
  • the flowchart begins (700) with a test (701) based upon the values of the Scope parameter.
  • the Global scope path is processed by a further test (702) which establishes processing paths for the Persistence parameter.
  • For the Universal case path the message is always processed (703) and forwarded (704); and for Spatial case path the target node of message is then tested (705) against the current node. If the message is intended for the current node it is processed (706), otherwise it is forwarded (704).
  • the regional scope path firstly tests (707) if the message is targeted at the current region.
  • the target node of message is then tested (705) against the current node and if this is the case the message is processed (706), and again otherwise forwarded.
  • the message is intended for the current node (708) it is processed (709), otherwise it is ignored and not forwarded.
  • the process is closed (710) at the end of each path.
  • FIG. 8 illustrates such a network which in this case is divided into a fixed (wire connected) node segments (7) and a mobile (wireless connected) node segment (8), connected via a bridge (9), that share a two-dimensional physical space, shown in the figure as a grid.
  • Figure 10 further illustrates the inter- working between the fixed and mobile network segments to facilitate the cooperation mechanism shown in the arrowed direct links from the highlighted node which indicate a message sent to the surrounding locality of nodes under the control of a task being executed at the node.
  • Figure 3 illustrates the physical sharing of two distinct network segments by a single application and Figure 8 illustrates their logical sharing.
  • This principle is clearly extensible to multiple network segments connected by appropriate bridge units 9 which include corresponding bi-directional spatial data ranges for their linked nodes to facilitate the cross-boundary routing.
  • Network initialisation involves the sharing of data between a command node, or nodes where this duty is shared, and every other node in the network as it becomes active. This process uses the network to transport the requisite initialisation data. Where the transport path depends upon a multi-hop process sufficient interposing nodes must be active.
  • the initialisation process for such network segments takes effect in a sequential cascade manner, beginning with the node that is within range of the command node, either directly for a multi-hop segment that includes the command node, or within range of a bridge unit which can provide a direct link to a command node.
  • each active node stores the location of the initialising command node.
  • Preliminary initialisation messages from activating nodes have global scope and initialisation persistence message parameter values.
  • these are converted by the corresponding relay process, defined above, to have spatial persistence, and are then routed efficiently to the command node.
  • Due to standard network operation the global scope initialisation request message from one activating node may be received by several nearby nodes, each of which will execute this conversion and routing. Although this will result in redundant messages these may be expected to quickly converge onto a common path, due to the spatial routing algorithm, and be discarded using the inbuilt mechanism as illustrated in Figure 6.
  • the viability of the network as a sensing and actuation system to meet its application requirements will depend upon the availability of a critical set of nodes and network segments.
  • the initialisation process is staged to allow nodes to activate, to receive initialisation data, and to then, when a critical level of activity is attained, to begin their assigned application tasks.
  • a composite overview flowchart for an activating network node and a command node is shown in Figure 9.
  • the activating node process (900) begins by periodically transmitting (901) a preliminary initialisation message (under the control of a timeout operation) until an acknowledgement message is received.
  • the flowchart shows a direct message as a schematic arrow (for a node near to the command node) and also an indirect routed message firstly via nearby active node (920).
  • the node When an acknowledgement arrives the node awaits command data (902).
  • This wait state may include timed sleep and wakeup states.
  • commands are received, as task instructions, either by the global broadcast illustrated, or for a late activating node, the node begins its assigned duties by entering its active state (903).
  • the command mode begins (910) by receiving and acknowledging all initialisation messages and compiling a view of the node activity (911) until a critical level is reached.
  • the command node will issue global broadcast instructions (912) to the network to provide region, and task data. It will then instigate (913) a background task to support late activating nodes (after a broadcast has been issued) so that they may be sent specific data.
  • the process then enters the active network monitoring state (914).
  • each sensing and actuation node When initially activated, each sensing and actuation node will first carry out any self- validation tests or calibration operations on its internal units. This will include the determination of its location, using unit 5 of Figure 1. Fixed nodes are likely to have this value preset. Mobile devices may use a number of possible methods to estimate their location. Where network radio signals are used for this purpose the node location unit (5 of Figure 1) will complete an estimation of initial node location. The initialisation process continues only when these self-validated and initial settings have been completed. When all self- validation tests have been completed the node will broadcast an initialisation request message to nearby nodes.
  • the identifier parameter comprises a zero message index and a null time value. Other message parameters indicate global scope and initialisation persistence.
  • the initialisation request message may be repeated at suitable intervals to coincide eventually with an awake- interval. Such repeated messages are exact duplicates which receiving nodes will suppress.
  • the node will then await an acknowledgement message from the initialising command node.
  • a specific command node, or nodes where the duty is shared, will monitor the network for initialisation messages and, after any requisite authentication procedure, update their view of the active regional distribution of the network in terms of appropriate location descriptors.
  • the command node will then transmit a Global Communication Mode routed acknowledgement message to the node that includes a current command node time value, and an indication of the expected wake-period for receipt of further initialisation messages.
  • Timing requirements are related to application needs. Many applications require a systematic schedule for their sensing and actuation operations. A range of possible methods are possible appropriate to the application needs. A simple example would be to use an external broadcast time signal which is used to update each node clock. An internal method would be based upon a command node that maintains a master time, and broadcasts this via a time initialisation signal which is propagated through the network to each sensor and actuation node to update its clock function. The propagation process will incur a delay. The required time accuracy will be related to the criticality of the application and the resolution will be related to the dynamic properties of application variables.
  • a set of time intervals are specified to ensure system synchronisation. These are illustrated in Figure 10, which is not intended to imply any relative or absolute scale in time, but simply indicate a single sampling event in a regular timed sequence.
  • the intervals are defined with respect to an appropriate time unit, 1000, which in turn is related to the application dynamics. For high-speed applications this may be a short interval such as one second; for slower applications this could be one minute, etc.
  • a network timing difference interval 1001 ensures that all nodes are in their awakened state.
  • An update interval 1002 allows for the expected propagation of initial network messages. This interval is also usable dependent upon the needs of the application for scheduled sensing and actuation actions.
  • An explicit sensing and actuation interval 1003 can be provided.
  • a processing interval 1004 allows for local processing.
  • a cooperative communication interval 1005 allows for local segment interrogation in response to multi-node task needs.
  • a result communication and acknowledgement interval 1006 allows for these actions.
  • a second network timing difference interval 1007 ensures that the node stays awake to route messages within the timing tolerance interval.
  • the location data contained in the initialisation data informs the auto-configuration capability for the network of the spatial distribution.
  • the spatial distribution data gained automatically from the network is then available as a basis for the spatial segmentation of the network into regions, if this is not already preset for the application.
  • An initialisation message will provide all nodes with details of the specified regions in terms of their extents. Nodes may then determine in which region they are located. Following this step the command node or nodes will assign sensing and actuation tasks for each region and its contained nodes, or for specific nodes, or for specific locations.
  • each node can determine its local spatial distribution in terms of nearby nodes for use in the execution of explicit tasks set by a command process. Such tasks may rely upon a range of emergent operations within the network that do not require infrastructure design. Where required nodes may also include a self-monitoring capability and report their operational status to the network.
  • the spatial data shared between nodes is used to enable a set of higher level operations that can automatically generate spatial distribution information locally within the network whose results can be despatched as required to a nominated temporary or permanent command node(s).
  • the system will thus deliver an interpretation of the application distribution(s) of interest, and allow control parameter(s) to be set. This may be expressed through a holistic interpretation that relates to the overall role or mission of the system.
  • the complete global collection of nodes is supported through a specific set of global queries. Furthermore, the network is segmented into spatially defined regions (with a minimum of one region and a maximum equal to the number of nodes), and each region can be tasked with autonomous operations. At the most local level each node can be tasked with a specific duty.
  • Node operations and queries can be tasked on a location basis.
  • the network will automatically find the most proximate node to a given location.
  • the location error can be estimated and reported with the data.
  • a task may require the node to monitor the temporal distribution of its data, for example to track the trend of a data item observed at the node and report the occurrence of a specified alert rate of change.
  • nodes may be given multiple concurrent tasks subject to processing capability and normal concurrency requirements.
  • the range of queries and actions outlined above that can be performed by the network in the invention are enabled by properties of the network.
  • the two fundamental properties are the spatial awareness property and spatial diffusion property.
  • the spatial awareness property of the invention provides the capability that all nodes have information of their set of proximate nodes. This property is gained through an autonomous operation of the network that begins when each node is initialised. It is then updated periodically, dependent in an application on the transience of the nodes
  • the node cooperation operation to realise this requirement is illustrated schematically, for a two-dimensional example, in Figure 11.
  • Local node data is easily obtained from any node, such as example node 1100, through the omni-directional transmission of a proximate node request message using the Local Communication Mode (having control parameters of global or regional scope and direct persistence).
  • the transmission whose power as expected in physical terms for a wireless segment will normally decrease with radial distance is illustrated using concentric circles. This operation relates to wireless connected nodes and the physical limits of their communication components and the local propagation conditions that pertain in a specific application.
  • the proximate request operation has variants for wired and wireless connected nodes. Where nodes are connected via a wired segment such limits will differ from the wireless connected case above, even to the extent that some implementations all nodes would normally receive all messages (in effect offering communication that is largely independent of distance within the scope of an application). In such cases the nodal implementation will include an operation to limit the response to proximate node request messages to a given inter-node distance. Messaged that are deemed out of logical range will be ignored (as though they had not been received). This functionality is achieved simply. As the initial proximate request message contains the location of the querying node all receiving nodes can verify their compliance with the proximity range condition.
  • FIG. 8 illustrates such a hybrid case in which reference node 800 instigates a proximity request which gains a response from the surrounding proximate nodes, indicated by arrows. This includes node 801 which is connected via a wired communication segment 7, and 802 which is connected via a wireless segment 8.
  • both wired-connected node 803 and wireless-connected node 804 are outside the logical defined range and hence do not respond to the request.
  • the invention further provides that different areas (for example implemented as regions) may have differing effective inter-node proximity limits.
  • an application can be simply supported which includes an internal space where nodes are close together, and an external space where their spacing is much larger.
  • This proximate node request message whether on a logically constrained wired segment, a naturally limited wireless segment or a logically constrained wireless segment, will cause any receiving node, for example nodes 1101 to 1106 inclusive, to respond giving its identification data, its location, and its fixed or mobile status via a direct scope, local persistence message.
  • a proximate node request message is transmitted to surrounding nodes (1201).
  • Responses messages will be received (1202) under the control of a timer set to the expected message response period. Where appropriate this operation will also discard responses from outside the inter-node proximity limits, shown by the outer concentric circle in Figure 11.
  • the proximate bearing and range is then calculated (1203) for each of the resulting M accepted responses (6 in the example). This operation may also be performed during the response period.
  • This data is then used to order (1204) the responses into the S sectors of interest (4 in the example).
  • a two-dimensional application space is segmented into the 4 sector marked, which centre on radials at 0, 90, 180 and 270 degrees respectively, with the top sector as 1107.
  • This intermediate data is used to select the optimal set of S proximate nodes using a sub- process (1205).
  • the method for this selection can be varied to suit the characteristics of the application network space; in the simple case the nearest node can be selected from each sector bin. In the example nodes 1101 to 1104 inclusive are selected and nodes 1105 and 1106 are rejected. More sophisticated algorithms could base the selection upon the optimal spatial spread (in relation to the dimensionality), as well as proximity, to limit communication energy needs and exploit the maximum spatial data resolution offered by the network distribution. If a proximate node is fixed no updating is necessary. If a node is mobile it will provide a global scope direct persistence message when it moves. The node will determine when to reset its proximate data set.
  • a proximate node table is built (1206) and the process is closed (1207).
  • the data table provides the information to realise the spatial awareness property of the invention.
  • the spatial diffusion property of the invention provides the capability for a set of mutually proximate nodes within a space, for example the set of nodes within a defined region, to cooperatively self-organise to fulfil the requirements of a given task. Hence this property will be realised in relation to a specific task and its operation when required will contain the needs of the contained task.
  • a possible task may require an answer to the question: "is the system within normal limits".
  • a query task can be executed asking for all points which exceed the defined 'normal' value expressed as a threshold.
  • the result is the set of all nodes for which the system exceeds normal limits.
  • the property will ideally deliver a single message to a command node to resolve this question.
  • Such a query may be executed as required or be executed periodically.
  • the spatial diffusion process which provides the core capability to address such queries, centres upon an ordered search of the set of nodes giving access to their sensing and actuation capabilities.
  • the search is conducted utilising directed spatial vectoring of network messages, with the intention that every node in the space of interest is accessed. All messages are transmitted using the Local Communication Mode (with direct scope and group persistence, with the group defined by the specific locations of the target nodes).
  • the search operation begins at a designated Initial Node and ceases at a designated Terminal Node.
  • Such Initial and Terminal Nodes are self-selecting within the configuration of the spatial diffusion process which forms part of the node task.
  • Initial and Terminal Nodes can be the nearest to an extremity, or be the nearest to a centre or centroid of the space.
  • a variety of configurations are possible that relate to the arrangement and dimensionality of the space in the application; and to the regularity of the nodes and the robustness required in the search.
  • Figure 13 illustrates a collection of possible configurations.
  • a configuration and its corresponding task is based upon the two-dimensional space 1300 populated with nodes of the type described above, 1.
  • the configuration has a single Initial Node 1301 at the North- West corner and a single Terminal Node 1302 at the South-East corner.
  • the nodes are regularly spaced and all nodes will be visited successfully using the simple search algorithm shown.
  • spatial vectoring will route data both South and East.
  • At the Eastern edge of the space data is routed only to the South.
  • Example 1310 shows the same space but now using a more intensive search method that employs two-dimensional spatial vectoring. This configuration provides 100% redundancy in that each node has two message opportunities to engage in the specific query. This configuration is suited to applications in which nodes have irregular spacing. In all cases the message propagation continues until the terminal node has received all expected data.
  • the flowchart of Figure 14 shows the nodal processing necessary to complete the generic spatial diffusion aspects of any task.
  • the process will be scheduled (1400) at a specific time, or in response to a specific network request, and is initialised by clearing the state of its two state flags.
  • Its first action (1401) is to determine if it is the Initial Node. This utilises proximate node data in conjunction with the specific diffusion configuration in use. For example in the simple two-dimensional configurations of Figure 13 (1300 and 1310) each node will determine that if lies at the 'comer' of interest and hence has no proximate nodes in the region or space to its North and West. If so (1402), it sets the message buffer reference to NULL value, and the Initial Node state flag to TRUE and continues immediately to operation 1407 to processes the specific task data for the node.
  • an operation will test whether the node is the Terminal node. In the simple two-dimensional example configurations of Figure 13 (1300 and 1310) this will determine if the node has no proximate nodes in the region or space to its South and East. If the test finds that it is the Terminal Node the corresponding flag is set (1404) and the all messages received, until the task timeout, are then stored using the buffer reference (1405). At the timeout processing passes to the specific task sub-process (1407).
  • the process awaits (1406) the arrival of a message from the previous (proximate) node in the search path under the control of a timeout operation set to the expected maximum message period.
  • a message containing specific task data
  • control is transferred to the specific task sub-process (1407).
  • an exception event can be generated to indicate that the node has not been involved in the task search. Such an event can be sent as a global message to the Command node. Its node value could be incorporated such that the omitted node data could be taken into account.
  • the specific task sub-process (1407) is passed the buffer reference and the flag values which enable node data to be incorporated into its distributed processing to fulfil the task requirements.
  • processing may operate upon the buffered data, or add more data to the buffer.
  • the buffer now includes the specific task data as appropriate.
  • the buffer will include all message data received at the terminal node. This terminal data is then processed according to the task requirements. If an event is generated this can be sent as one or more messages using appropriate communication modes. For example an event message may be sent directly to a command node.
  • a message may be sent to the one or more nodes which have been found in the search to singly or jointly to have an event status.
  • a message may be sent from the Terminal Node to the node found to have a cardinal value the region.
  • the node itself may then create a specific event from its own location to a command node.
  • Terminal Flag is checked (1408). If this is set all processing has been completed and the process is closed (1411). If not (indicating a normal node), the current buffered message, including any task specific changes, is transmitted (1409) using appropriate spatial vectoring. Control is then passed to an operation (1410), under the control of a timeout operation set to the expected maximum message period, that will forward any subsequent messages that arrive at the node (only the first message is used to incorporate the local node data).
  • Forwarded messages are transmitted using current spatial vectoring. As described above, as part of the communication processing, all messages received at a node are routinely discarded if they are duplicates of previously received messages. When the timeout occurs the process is closed (1411).
  • An example configuration 1320 shown in Figure 13 has four such paths that converge upon the centroid of the known space or region.
  • the corresponding task includes the self-selection of the four initial nodes 1311 to 1314 (based upon the 'corner' principle established above); and the self-selection of the node which is nearest to the centroid, 1325. This is simply determined for any rectangular area or corresponding three-dimensional rectangular volume.
  • the nearest node is that which has no proximate nodes that are nearer to the centroid than its own location.
  • the four quadrant corner to centroid data flows in the two-dimensional configuration are illustrated in the figure.
  • quadrant task processes will change direction when the centroid axis is reached.
  • the nodal task process can cause nodes at the quadrant intersection areas to take part in both quadrant operations through their message processing (using inherent direction information of the message sender) to allow for the imprecise resolution of the centroid at the nearest node.
  • FIG. 1330 is a three-dimensional form of 1300; and 1340 is a three-dimensional form of 1320.
  • the algorithm specified above and in the flow chart of Figure 14 is valid for these configurations if appropriate node selections of boundaries are included.
  • the spatial vectoring of the diffusion data is determined in the three-dimensional space, illustrated in Figure 13 through the standard North, East, South, West two-dimensional compass directions, plus the further Up and Down directions indicated.
  • Figure 13 uses a regular array of nodes and 90 degree orthogonal sectoring. This arrangement is also robust for irregular arrays of nodes in giving a high degree of success that all nodes are accessed. For highly irregular arrays it may be necessary to broadcast node messages to all nearby nodes and rely upon the message discarding process to reduce duplicated traffic.
  • a single terminal point is preferred.
  • multiple terminal points can be used if the later data fusion can be done later, for example, by the command node that receives the multiple partial results.
  • a more complex space may have ambiguity within the scope of the node extremity test logic that results in the emergence of two or more self-detected initial nodes for a configuration where only one is expected. This is not critical as although it may result in some duplication it will still support the intention of visiting all nodes in the space. For example where ambiguity arises in a space which is re-entrant this can ensure that all branches are visited.
  • the message pass through state, after a node has completed its task contribution, will allow local segments where a high level of multiple messaging occurs in this condition.
  • Simple or compound nodal data may be aggregated on a global basis to deliver network requirements. This form of aggregation is the common model for WSNs.
  • the global collection of data samples from all nodes is conceptually simple, although there are practical issues such as synchronisation, transport delay and the need to perform processing on the centralised data before a global interpretation is available.
  • the aggregation process may be distributed to the nodes such that each data sample is routed to a central collection node at each sample point, hi this configuration network bandwidth and power needs will be a function of the sampling rate and interpretation will in essence be centralised, and limited to the variety of different features that can be practically observed using such as a global sampling model.
  • Regional aggregation offers wide scope for a variety of distributed responsibilities. Hence a nominated region of the network may be tasked to perform a specified regional aggregation algorithm. Separate regions may be given different tasks, appropriate to the current assignment of application interest within the space covered by the network. Region based operations will typically be distributed homogeneously to the enclosed nodes such that any reporting is automatically triggered within the node. Regional operations are enabled by inter-node cooperation.
  • Global operations are primarily for authentication, where appropriate; for initialisation of nodes, and for regionalisation, and are controlled by one or more command nodes. On start-up an initialisation process will operate as described above.
  • the initialisation data so obtained is used to build a network table of node identifiers, initial locations, and node sensing and actuation types and status.
  • a small number of global operations provide overview functionality: to obtain the most proximate sensing and actuation node to a given location and its difference in distance (in the two or three-dimensions appropriate to the space); to obtain the global cardinal value of all regions for a particular sensing index.
  • Regions have self-persistent behaviour for each sensor and actuation index such that each contained node stores proximate node data table (for each index tessellation scheme) and automatically diffuse appropriate sensor, actuation and status data through the region, through inter-node cooperative actions.
  • Regions engage in specific processes that initiate and report notifiable events to the requesting task command point when responding to a specific task with reference to a specified sensor index.
  • Initiation operations include: set cardinal value; set threshold level; set isocline value and tolerance; set inflection; set feature of interest to be tracked (for example, as a specific RFID tag value, or a specific distribution pattern between multiple nodes).
  • Notify operations include: report if regional cardinal node; report if set threshold level exceeded; report if on isocline boundary; report if requested feature is detected (here nodes share data and detect the requested compound feature and the node at the nominal centroid would report, if the feature moves the track is automatically notified.
  • Node operations provide elementary building blocks for all other operations and include: get node sensor index value (with appropriate time synchronisation); set node data fusion algorithm (for multi-mode sensing); and set node actuator index value (with appropriate time synchronisation).
  • Table 2 summarises queries and actions based upon the elementary operations for each region segmentation scheme (that may vary with sensor and actuator index).
  • a further dimension can be defined for the table in terms of sensor and actuator indices and their corresponding network aggregation schema based upon their respective regional tessellation.
  • An overlay view will always be available since all schemes cover the whole space. Where a single uniform tessellation scheme is selected a homogeneous view of node indices and regional and global events can be simply obtained. Where reporting and control are segmented between command node the appropriate data is automatically routed to the requisite command node.
  • Task to sense at/nearest to a location and/or actuate at/nearest a location
  • This task can be assigned in an application which has relevance to one location either on a one-time base, in response to a specific task from a command node, as a periodic task executed according to a periodic schedule. Nodes at or closest to several locations can be tasked to perform specific localised functions.
  • the task will instigate appropriate sensor operations to yield corresponding data values. Within the application task requirements the sensor values may be tested against a singular stated condition to yield a composite result. As an alternate or additional requirement, the task can cause an actuator to be operated, which can in turn generate a status result. The task may then, dependent upon any included task conditions to be imposed upon sensor values or actuator status, instigate a reporting event through the transmission of a message, to the known command node, or to some other defined node.
  • a command message transmitted using the Directed Global Communication Mode will request the execution of the specific spatially located task.
  • the communication routing process implemented in the node terminates when the local node location is nearer to the target location (specified in the message) than any proximate nodes.
  • the required location will form part of the message details and be used by the network to route the message. Since the message is directed and therefore efficient it can include the details of the task requirements in terms of sensor and/or actuator data and scheduling.
  • the task instructions can optionally request an event acknowledgement to the command node, confirming that the task has been accepted. Task to sense cardinal value
  • This task will be of interest in an application space or part of the space in which there is an interest in monitoring the location of a maximum (or minimum) cardinal value in the space from a defined sensor, either on a one-time basis or as a periodic scheduled task.
  • the task may be required to report its value, or alternately the task may define some further condition for reporting, for example to report an event if the cardinal value is greater than a specified value.
  • this task can be implemented for a whole network it is likely to be more relevant in application areas in which there is a consistent distribution and this can be defined as a region. This is also the case for other compound tasks below.
  • the upper part of the Figure 15 illustrates two regions in a sample space that feature a population of equally spaced sensor nodes.
  • the lower part is an elevation showing a particular variable distribution.
  • the right region illustrates a cardinal value in the space.
  • the corresponding node has the value of 3.
  • Figure 16 is a flow-chart for the nodal realisation of the spatial diffusion process, which is shown schematically in Figure 13, and which provides an ordered and directed search of the space of interest.
  • the task will typically execute on a timed schedule.
  • the described generic nodal spatial diffusion process shown in the flowchart of Figure 16, begins by preparing a reference to the message buffer for previous node. This is passed (1600) to the specific sub-process currently under execution by the network task, in this case the searching for a cardinal value. Operation 1601 obtains the appropriate node sensor value (the object of the current cardinality search). The passed message buffer reference is then used to obtain (1602) the current cardinal value.
  • this process includes any multiple message values (encoded in the data) that result from the search at the terminal node. This is tested (1603) for the Initial Node state via the passed flag. If this is not the case then a further test (1604) determines if the node sensor value is greater than the passed current cardinal value. If the result of the tests is an Initial Node status, then the node sensor value is placed at the buffer reference cardinal data and the process is closed (1609). If not the Initial node the node value is tested against the buffer cardinal value (1605). If the node value is greater it is used to replace (1606) the buffer value. The terminal flag is then tested (1607); if set the updated buffer value is used to report the cardinal value event to the network according to application needs (1608) and control is then returned (1609) to the spatial diffusion process which completes the process.
  • This task will be of interest in an application space or part of the space in which there is an interest in detecting the number of nodes that exceed a given value and their location.
  • the task may be required to report its results in a variety of ways. This may be implemented for a whole network but is likely to be more relevant in application areas in which there is a consistent distribution and this can be defined as a region.
  • the upper part of the Figure 15 illustrates two regions in a sample space that feature a population of equally spaced sensor nodes.
  • the lower part is an elevation showing a particular variable distribution.
  • the left region illustrates a set threshold boundary, set at 1, all identified nodes that exceed the threshold will report this condition.
  • This process is similar to the search for a cardinal value in the space; in this case a list of all nodes that have the condition (that could extend to any singular node test) is created by the spatial search.
  • the flowchart is shown in Figure 17.
  • the passed buffer reference (1700) allows access to the list.
  • the node value is obtained (1701). If the node is the terminal node this can be a singular list created from multiple lists generated due to multiple search paths (1702).
  • a test (1703) is made of node value against the threshold. If the node value exceeds the thresholds the node data is appended to the list (1704).
  • a further test of the Terminal Node flag is used to control the terminal event reporting (1706).
  • the sub-process then returns control to the calling process (1707).
  • Figure 18 illustrates an application in which a specific isocline is of interest.
  • the illustration shows further that contiguous regions can be given the same task and an isocline can be closed through a global operation at the boundary.
  • the detection of the isocline is similar to the previous threshold case but benefits from increased smart functionality through inter-node cooperation.
  • Figure 19 illustrates the operation of this property in the invention.
  • a Local mode communication request can extract information of surrounding proximate data values (1901 to 1904 inclusive).
  • a cascade set of requests can be made to proximate set to explore the secondary rank of proximate data, for example to new nodes 1905, 1906 and 1907.
  • This process can be continued under a simple condition is met, for example until a particular radius (expressed as a location extent) from the original node is reached.
  • This process can be recursive to automatically explore the distributed space. All data-points of interest, and their locations, will be reported back to the originating node. In the isocline search case the operation will explore if any surrounding nodes are nearer to the value of interest.
  • the originating node message includes its location and identifier to facilitate the routing of the response.
  • the list of nearest isocline nodes are hence assembled as a list.
  • the processing of the node sub-process for the Terminal node can report this list to a command node.
  • a related isocline from an adjacent region can be combined, by the command node, to form a contiguous isocline coordinate set.
  • a search for the locus of a set of points of inflection follows a similar principle. In this case the inflection is represented in the space as a change of gradient of the value of the variable of interest. Similar surrounding inter-node data can be collected. More intensive processing can compute gradient vectors for given bearings from the node. Again the node can determine whether it is nearest to an inflection point and if so add its data to the list.
  • Figure 20 illustrates the tracking of two moving features in the left hand region. These are defined in terms of their spatial distribution allowing for joint limits in sensing and spatial resolution.
  • the inter-node cooperation facilitated by the invention enables many applications to be constructed to identify a spatially distributed feature and track its location, and motion in the space.
  • a search feature is defined in terms of a centre point.
  • Local inter-node interrogations are used to locate any corresponding object which is reported in terms of its centre location.
  • the cascade interrogations of the space surrounding the current node can be examined against a template which defines the distribution of the object, in terms of one or more sensed variables.
  • Subsequent queries can report any new location.
  • the event reporting can be used to monitor the motion of an object.
  • the adjacent region has also been tasked to track the same feature. As the feature crosses the region boundary a global inference could match the two features due to their spatial proximity and join them.
  • Figure 21 represents a security monitoring system for any building or structure must operate in an enclosed space which is segmented horizontally and/or vertically into rooms or other parts.
  • a number of hazards must be detected using appropriate sensors.
  • smoke and gas sensors can detect the occurrence of fire; and body heat and motion sensors can detect an intruder.
  • Actuators can be set dependent upon the detected results.
  • fire-door detent mechanisms can be reset to isolate a fire event, and water sprays can be instigated to extinguish the fire; and alarms can be set to warn of fire, or intrusion.
  • a set of sensor and actuation nodes (defined as 1 above) are mounted at appropriate (possibly regular) fixed intervals in the space as shown, although the exact positioning is not significant.
  • Each node is set on installation with a value that defines its location in the space.
  • a number of means are possible; a simple example could use a location initialisation unit able to load the appropriate location value into a non- volatile memory that forms part of the Data process/storage unit 2 defined above.
  • the nodes depicted in the bottom two rows are connected using a fixed wired communication link 7.
  • a bridge unit 9 To illustrate a later extension to the building or structure its contained nodes depicted in the top row are connected via a bridge unit 9 and utilise a wireless communication link, 8, that could be installed with minimal wiring changes.
  • electrical power may be supplied via installed mains, supplemented by re-chargeable emergency battery units.
  • the segmented areas are initialised as regions in the space.
  • a set of tasks are loaded onto the nodes to fulfil the assigned role. Some regions may have different tasks, for example to monitor areas of higher potential hazard with different parameters for sensors and actions.
  • Region A in the example is served by a single node. This node finds no other contiguous nodes within its defined region and must execute its task(s) for that region on a sole basis.
  • Regions B, C and D have multiple sensor and actuation nodes and tasks specified for each region are executed in cooperation with other regional nodes.
  • the system of the invention can be used to configure systems quickly and at low cost but with high integrity and intrinsic smart behaviour in terms of detection of joint events in a region of interest, for example the automatic discrimination between a fault and an alarm event.
  • the four nodes in region B can cooperate in a shared threshold detection task (as defined above and illustrated in Figure 21 with respect to a specific sensed variable. If the regional levels of a sensed value are increasing then the first sensor node to detect the threshold can instigate the corresponding action.
  • Such action could be the despatch of a single warning message to a control point containing details of the region and alarm status; with further local actuation such as: the sounding of alarm bells, the instigation of water sprays, and, the disengagement of door detent latches to allow control doors to close.
  • no other node sensors indicate elevated levels approaching the threshold the task could be defined so as to classify this event as a suspect node sensor.
  • the node task could specify the despatch of a maintenance warning message to a control point.
  • the system of the invention allows re-defined regions and their tasks to be reconfigured almost immediately. This permits full protection to be maintained with insignificant downtime.
  • the space C is divided by the addition of the partition depicted as a dotted line, to create a new enclosed space, E.
  • the system may be re-initialised to define the corresponding region E.
  • the bounds of the region E cause the corresponding nodes, which were previously enclosed in region C, to assert their new status as members of region E, to suspend their operation as members of region C; and in turn to update and execute their defined tasks.
  • sensing and actuation nodes can include units worn by personnel to allow their tracking in the critical space, and to identify their proximity to events that require attention.
  • Such units can incorporate sensors such as keypads and biosensors to allow a command node to request a specific identification of its user for security validation.
  • Distributed video feeds can be supported. Further moving objects could be the vehicles used to service aircraft on the ramp areas to allow their tracking for efficiency and security. Hence for example in Figure 20 one region could be external.
  • the monitoring of temporary critical areas can be supported using the invention through the distribution of an appropriate set of sensors to speedily create a self-configured spatially organised sensory view of the space.
  • This facility would be valuable for temporary events, for example that include persons who need special protection; and for aiding the handling of emergency events, such as major fires or civil disturbances.
  • the self-configuring capabilities of the system would allow a high level of information to be obtained quickly with minimal specification.
  • Distributed resource monitoring and control systems for example for gas, electricity and water, can be designed at low cost using the invention to provide intelligent monitoring and control, to automatically identify alarm events such as leaks and supply interruptions wherever they occur; to provide flexible access to supply and load data; and to offer direct incorporation of control actions for valves and switchgear.
  • Environmental systems can be designed using the invention for example for ground water collection and flood alerting through the monitoring of rainfall and key accumulation points such as streams and rivers to give an estimate of specific loadings and flows, and to incorporate control actions on valves and sluices.
  • Agricultural enterprises can be supported using the invention through the provision of simply deployed external crop and soil monitoring and for the control of localised irrigation.
  • Horticultural enterprises can be supported using the invention through the provision of simply deployed environmental monitoring of and control for enclosures such as greenhouses to give detailed and flexible control of temperature and humidity in the region of specific plants.
  • Manufacturing and warehousing facilities which commonly have an intrinsic spatial organisation of their resources and material flow may be monitored and supervised using the invention to identify component and products flows.
  • RFID tags could be routinely monitored to extract specific material flows.
  • Distributed sensors are increasingly used to monitor medical conditions of patients and the invention could be used to flexibly define monitoring regimes, to activate alarms, and to deliver prescribed treatment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A network comprising a plurality of nodes that store data of their location within a frame of reference together with data of the position of proximate adjacent nodes. The nodes can use the data of their location and of proximate nodes to enable easy self-configuration and distributed processing of spatially related queries, this is particularly suited to spatially distributed sensor systems. The network is enabled by a method of routing data between nodes. The method comprises receiving a data packet including a header comprising data of the final spatial destination of the data packet at a node; calculating the direction of the final spatial destination from the node; determining which of the at least two adjacent nodes is closest to the direction of the spatial destination; and forwarding the packet to the one of the at least two adjacent nodes that is determined to be the closest to the direction of the final spatial destination. This spatial routing enables data to be efficiently routed through the network. Methods of initialising the network and using the nodes to sense and report events are also disclosed.

Description

SPATIALLY AWARE NETWORK SYSTEM AND METHOD OF OPERATION
The present invention relates to nodes for sensor and/or actuator networks, and in particular a network including several sensing and/or actuation nodes where each node is located at a different position. The present invention also relates to a network comprising the nodes, and methods for detecting predetermined conditions using the network.
The present invention may be used in many applications, including: smoke detectors and linked fire protection sprays which are routinely distributed in buildings; systems for monitoring and controlling potable water and waste water; gas and electricity energy distribution systems; ground water collection and flood alerting systems for monitoring rainfall and accumulation points such as streams and rivers utilising sensors at key points to give an estimate of specific loadings and flows, incorporating control valves and sluices; external crop monitoring and irrigation control for agriculture; environmental monitoring and control of temperature and humidity for enclosures of internal horticultural enterprises; radio frequency identification (RFID) and similar tag-based systems for identifying components and actuating mechanisms to pick parts in manufacturing and warehouse systems; and sensor systems for monitoring medical conditions of patients and for activating alarms and delivering prescribed treatment.
All these systems share the requirement of a network of nodes, which can be sensors and/or actuators, to return information on the area, such as temperature, or to influence the environment, for example to actuate a mechanism to pick up a specific part. The system must know the location of each node to operate correctly.
An infrastructure links the sensors and actuation units to a central monitoring and control unit that monitors the sensor signals and asserts appropriate actions. The implementation of the infrastructure that links the various parts may take various forms: a wired system in which all elements are individually and separately connected to the central unit; or a wired network where specific signals identify the source and destination of data to permit the use of a shared circuit, for example, via a local area network (LAN). A further variant offers a wireless transport medium, for example via a Wireless LAN (WLAN). A wireless system may also be configured using a Wireless Sensor Network (WSN) which is a recent development of a wireless communication network that consists of a plurality of nodes able to route data from node to node, rather than from one node to the central point. Furthermore, a hybrid network consisting of both wired and wireless segments can also be used.
All of these implementations will require infrastructure design in that each cable, channel, or node must be assigned as part of the design process to a specific sensor or actuator. Such systems are thus currently purpose designed, typically as a star-configuration in which data is centralised at a monitoring and control hub. The design of spatially distributed systems, and of the inference resulting from a simple or complex sensor data set, must be defined in detail as an individual case for each specific application.
Where a configuration is to be later modified, further design effort is likely to be required, and further careful checking of the installed modification will be needed. Even for applications in which connections may be wireless, critical revision actions will be required at both the sensor and central control sites to integrate new sensors and/or actuators into the existing configuration.
In all of these examples the spatial property of the data is evident only due to its design assignment to a particular cable, for a fixed individual connection; or to an assigned telemetry channel or message packet identifier for a shared medium, wired or wireless connection. In essence nodes have no intrinsic data relating to their location in the spatially distributed network. Thus a sensor will simply supply an estimate of the variable of interest through the assigned circuit or channel. The assignment of the spatial property of node data must be incorporated into the formal design. Even then the spatial component will be evident only at the nexus to which all data is routed through the assigned routing incorporated in the design. This will also depend upon specific critical actions that must occur and be validated during the installation process. In summary such networks rely for their spatial data integrity upon the fixed or wireless infrastructure design and installation process.
It would be desirable to reduce the complexity of installing a network in which the spatial position of each node must be known.
In addition, conventional routing, such as Internet Protocol (IP) routing, relies on the logical format of the numerical address assigned to a particular node. This numerical address bears no relation to the physical location of the node. It would be desirable to enable network nodes to be addressed by their physical location within a frame of reference.
According to a first aspect of the present invention, there is provided a method of routing data between a network of spatially distributed nodes, wherein each node comprises a data storage unit for storing data of the node's position and the position of at least two adjacent nodes in a frame of reference; the method comprising: receiving a data packet including a header comprising data of the final spatial destination of the data packet at a node; calculating the direction of the final spatial destination from the node; determining which of the at least two adjacent nodes is closest to the direction of the spatial destination; and forwarding the packet to the one of the at least two adjacent nodes that is determined to be the closest to the direction of the final spatial destination.
This allows nodes to be addressed by their spatial location within a frame of reference so that knowledge of the correspondence of a numerical identifier (such as an IP address) to position is not required. This simplifies installation because nodes can be addressed by their position, hi addition the method allows efficient routing because data packets will generally follow the most efficient spatial route to the destination. The forwarding of the packet may comprise altering the header to include the position of the one of the at least two adjacent nodes that is determined to be the closest to the direction of the final spatial destination. This allows the packet to be directed to the next closest node without losing data of the final destination.
The method may further comprise determining the distance of the final spatial destination from the node and; if the node is closer to the final spatial destination than any of the at least two adjacent nodes, determining that the node is the final spatial destination for the packet. This ensures that a packet is always delivered to the closest node to it's destination. It also facilitates self configuration of the network because if a new node has been added closer to the final location than an existing node, the packet will be automatically routed to the new node without requiring re-programming of the application software to identify the new node.
The header of the data packet may further comprise a packet identifier, and the method may further comprise, after receiving a data packet: comparing the packet identifier with a stored list of packet identifiers for packets previously received; and if it is determined that the packet identifier is not in the list, adding the packet identifier to the list and proceeding to calculating the direction; or if it is determined that the packet identifier is in the list, discarding the data packet.
This enables packets to be routed via multiple parallel routes and, if a node receives the same packet twice (perhaps via different routes) the duplicate will not be forwarded again.
The data of the final spatial destination may include a scope parameter for indicating the number of nodes to which the data packet is directed. The scope parameter may be for indicating that the data packet is directed to: all nodes within the network; all nodes within a predetermined spatial region; a predetermined set of specific nodes; or a single predetermined node.
The data of the final spatial destination may also further comprises a persistence parameter for indicating whether the data packet should be forwarded when it is received by a node. The persistence parameter may be for indicating that: the data packet should be forwarded by all nodes until it reaches the edges of the network; that the data packet should be forwarded towards the final spatial destination; that no automatic forwarding should be carried out; or that the data packet should be forwarded back to the node which sent it.
The scope and/or persistence parameters allow control of the propagation of packets through the network depending on the application required.
According to another aspect of the invention, there is provided a method of establishing the position of at least two adjacent nodes to a selected node in a network of spatially distributed nodes, wherein each node comprises a data storage unit for storing data of the node's position and the position of at least two adjacent nodes in a frame of reference; the method comprising: transmitting a command from the selected node requesting that proximate nodes transmit their position; receiving responses for a predetermined period; calculating the direction and distance for each response received; determining a predetermined number of the closest of the responses received and storing data of the position of the corresponding nodes in the data storage unit of the selected node.
This allows a new node to initialise itself within the network and build a table of the nearest proximal nodes and their position in a frame of reference. The method may further comprise determining the closest of the responses comprises: dividing the area surrounding the node into a plurality of predetermined regions; and for each of the plurality of predetermined regions, determining which of the responses received is the closest and storing data of the position of the corresponding node in the data storage unit of the selected node.
This ensures that the data of the closest nodes includes nodes in all directions, avoiding the possibility of the closest nodes all being in the same general direction in the event of an unevenly distributed network.
According to a further aspect of the present invention, there is provided a method of routing a data packet to allow searching a network of spatially distributed nodes within a spatial region defined by at least one initial node having a position at an edge of the region and a final node having a position at an edge or in the centre of the region, wherein each node comprises a data storage unit for storing data of its position and the position of at least two adjacent nodes, the method comprising: receiving a data packet comprising a header including data of the spatial position of the final node and a payload; determining if the packet has been received at the final node; and, if it is determined that it has not been received at the final node; waiting for a predetermined period for a corresponding data packet to be received from a proximate node, and, if such a corresponding data packet is received; processing the payload of the data packet; and forwarding the data packet towards the final node.
This allows spatial queries to be executed efficiently. The wait for a predetermined period means that the node can wait for a proximate node to process the query and forward the command. In this way a query can be processed successively by all the nodes in a space. The predetermined period may be calculated to correspond to the amount of time for an adjacent node to receive, process and retransmit the data packet.
The method may further comprise determining if the packet has been received at the initial node, and, if it is determined that the node is the initial node, processing the payload of the data packet. If the node is the initial node, where the query begins, it should not wait before processing the payload.
The method may be for searching for the location of a maximum value of a parameter and wherein the processing of the payload of the data packet comprises comparing the value of the parameter in the payload with a value of the parameter at the node, and, if the value of the parameter at the node is greater, updating the payload with the value of the parameter at the node and the position of the node. This allows efficient searching of a space to find a maximum value requiring only knowledge of the dimension of the space to be searched, not the configuration of nodes within the space. This method could also be adapted to search for a minimum value if required. Maximum and minimum values may also be referred to as cardinal values.
The method may be for searching for the location of a predetermined value of a parameter, which is defined in the payload of the data packet, and wherein the processing of the payload of the data packet comprises comparing a value of the parameter at the node with the predetermined value and, if the value of the parameter at the data packet is the same as the predetermined value, updating the payload to additionally include the spatial position of the node. This allows efficient searching of a space to find locations of a specific value requiring only knowledge of the dimension of the space to be searched, not the configuration of nodes within the space. The updating of the payload may simply append the location to the payload.
The method may be for searching for the location of an isocline of a parameter, which is defined in the payload of the data packet, and wherein the processing of the payload comprises: sending commands to query the value of the parameter at each of the at least two adjacent nodes stored in the data storage unit; receiving the replies from the at least two adjacent nodes containing the value of the parameter at their location; comparing the value of the parameter at the node with the value of the parameter at the at least two adjacent nodes, and if it determined from the values that the node lies closest to the isocline, updating the payload to include the data of the node.
An isocline is a line in which the parameter has an equal value, specific examples include isotherms, isobars, and contour lines on a map. This allows efficient searching of a space to find locations of an isocline requiring only knowledge of the dimension of the space to be searched, not the configuration of nodes within the space.
According to a still further aspect of the present invention, there is provided a computer program comprising code means that, when executed by a computer system, instructs the computer system to perform any of the methods described above.
The above described methods can be applied to a network of nodes where the nodes include sensors and/or actuators and used to query information from the sensors or command the actuators.
According to a yet further aspect of the present invention, there is provided computer program product comprising a computer readable medium having code means embodied thereon, wherein the code means, when executed by a computer system, instructs the computer system to perform any of the methods described above.
According to another aspect of the present invention, there is provided a node for a sensor and/or actuator network, the node comprising: at least one sensor or actuator; a data storage unit for storing the location of the node in a frame of reference and the location of adjacent nodes in the frame of reference; a processor connected to the at least one sensor or actuator and the data storage unit; and a communication unit connected to the processor for exchanging data directly with other nodes.
This allows the installation to be simplified because the sensor knows its location within the frame of reference and those of adjacent nodes. Combined with the ability to exchange data with another node directly, it is possible for the nodes to operate as a distributed system for sensing and/or actuation events, reducing the requirement for the location of each sensor to be considered at the time of designing the system.
This allows the need for infrastructure design and resulting installation and maintenance costs to be reduced. This applies both at the time of the first fit and also for later modifications and revisions. It is also possible to automatically offer a range of spatial information directly related to application needs with minimal network communication and with minimal configuration to access and apply the data of interest.
The invention can be used with a range of sensor types, for example but not limited to, a singular physical or chemical state sensor, biometric sensors, sound and vision sensors (including video feeds where appropriate), and status devices such as keypads, switches and RFID tag readers.
A sensing and/or actuation node may be realised with any combination of sensors and/or actuators to suit the particular needs of the application and the duties required at a specific node. It is expected that many networks will be constructed with relatively few variations, but the invention provides for an unlimited number of sensor and actuator types. It follows further that the invention provides for both homogeneous networks, in which a plurality of identical sensing and actuator nodes is deployed, and heterogeneous networks in which the plurality of sensor and actuation nodes can feature a variety of types. The location may be stored in a location variable that may take any common appropriate format; for example but not limited to, a geometric or geographic format characterised using appropriate units in a two, or three-dimensional frame, for example x, y, z; or equally the location may be characterised by a wide range of application specific parameters: such as: building, floor, bay etc. For fixed nodes the unit may simply store a value that, for example, could be entered on a one-time basis when the device is installed at its specific location using a numerical selector or via an electronic device able to accept and then permanently store this data.
Preferably, the node further comprises a location unit, for determining the location of the node within the frame of reference.
A number of methods may be deployed to determine the location of a node and a suitable method can be selected to suit the application. Two methods for example are: the use of Global Positioning System (GPS) satellite navigation units having GPS receivers and antenna access to the satellite constellation; and direct estimation of relative location based upon radio timing messages coupled with estimation process that that can deduce location from a set of unknown and known node values [Langendoen and Reijers, Computer Networks, 43 (4) pp499-518 2003].
According to another aspect of the present invention, there is provided a network comprising at least two nodes as described above.
The form and protocols deployed in the underlying network will be selected to suit the application since they pertain closely to the characteristics of the nodes and space that they share. If the node is fixed the network may be wired using a purpose designed or common de facto or standard network protocol, such as Ethernet. A further wired alternative for fixed applications, where mains power is used is the use of mains borne signalling, in this case no extra infrastructure is required. If the node is wireless it can use protocols such as those marketed under the trade names Bluetooth, ZigBee, GSM, WiFi, or WiMAX. A network can be implemented according to the present invention to support a specific application such as, but not limited to, those discussed above. The present invention may equally be applied to several applications harnessing the same network, where a joint space is common to the multiple sensing and actuation applications, and hence in which the several applications can usefully share a single network in which nodes are: (i) distinct to each application; (ii) in which the nodes are also shared; or (iii) in which the nodes are a hybrid combination of the two forms.
A network of sensors/actuators in which location is a critical property can be summarised in the following inclusive view, to admit a wide set of applications :-
• Sensing opportunity from node, from singular physical/chemical data, to derived smart data, and at a higher level extending, for example, to biometric data, audio and vision data;
• Processing capability relevant to the complexity and needs of the node and network;
• Communication of nodal data, including location and sensory data to other nodes and on to controllers through a self-organising, re-configurable, wired or wireless (or hybrid) network to a given level of service;
• Location information for the object to an appropriate accuracy, integrity and availability.
It is desirable for the monitoring system to deliver smart interpretation depending upon the application. This may arise from the fusion of multiple sensor node data in both temporal and spatial dimensions. This process may be followed by a higher-level holistic interpretation that relates to the overall role or mission of the system.
The present invention allows general application domain queries to answer questions of the form:
• Is the system within normal limits?
• Is there a defect or problem? • What is the distribution of a given variable?
• What is the position of a specified boundary of a given variable?
• Is there an exceptional feature in the space?
Such questions can be classified into those addressing a singular point, or those that refer to a regional, or global feature. The important ability to address such questions through generic network capabilities, rather than specific and detailed design actions, is delivered through a set of generic services, underpinned by a lower-level set of spatial and non- spatial configuration operations and queries. These are related to both the sensing and actuation available at a node, and the methods available for integrating node data to resolve typical application queries such as those exemplified above. Such application domain queries can be resolved from a variety of combinations of configuration and query operations on the nodal, regional and global network data.
Preferably the frame of reference is divided into at least two regions, and wherein the data storage unit of each node is further for storing details of which region the node is located in.
A regionalisation scheme may be determined based upon the known maximum extents of the application space, and may be impendent of the actual configuration of nodes. A variety of tessellations may be specified (having 2D or 3D dimensionality) to suit the application. Regions may be classified in terms of application based metrics, such as: room, bay, floor etc for which a conversion method may be included to derive inclusion criteria. A finite set of such segmentations are viable from a single region (encompassing all nodes) to a state in which the number of regions that equals the number of nodes found. Such spatial segmentation provides the capability that each region can be assigned different sensing and actuation tasks.
For simplicity applications preferably deploy a single uniform tessellation scheme but regions can support differing size and/or shape, subject to the condition that the whole space without voids is enclosed and that appropriate unambiguous tests of inclusion must be available for each region. It is further possible to extend the method so that each sensing and actuation identifier is described via different regionalisation.
According to a further aspect of the present invention, there is provided a method for detecting a predetermined condition using a plurality of nodes connected by a network, wherein each node comprises at least one sensor and a storage unit for storing data of its location in a frame of reference and the location of adjacent nodes in the frame of reference, the method comprising: instructing at least one node to monitor a variable using the sensor for a predetermined condition; wherein, if the node detects the predetermined condition, the node communicates with at least one adjacent node to determine if the at least one adjacent node has also detected the predetermined condition, and outputs a result dependent upon the result of the determination.
The method may be for detecting an isocline and the predetermined condition is the variable to sense and the value of the isocline, and wherein if the least one node outputs a result if at least one adjacent node is also determined to be on the isocline.
Alternatively, the method may be for tracking movement of a feature through the frame of reference and the predetermined condition is the feature to track, and wherein the at least one node outputs a vector of the direction of travel of the feature based on data received from the at least one adjacent node.
Alternatively, the method may be for detecting a point of inflection and the predetermined condition is the variable for which a point of inflection is required to be detected, and wherein the at least one node outputs a result if the value of the variable at the least one adjacent node indicates the presence of a point of inflection.
In the prior art, smart interpretation is performed by a data collection and processing computer. A network of nodes according to the present invention can potentially offer a more powerful smart solution, able to intrinsically monitor distributed data if the underlying query set can be distributed across the network. Middleware tools to facilitate this have been explored, for example, TinyLime [C Curino, M Giani, M Giorgetta, A Giusti, A L Murphy and G P Picco, Mobile data collection in sensor networks: The TinyLIME middleware, Pervasive and Mobile Computing, 1 (4) pp446-469 2005] specifically supports a de-centralised model. As noted above configuration via a hierarchical decomposition is also likely increase the viability of large networks. The methodology of distributing queries to facilitate emergent smart network functionality has received some research attention. At the basic level non-programmatic distributed declarative queries are proposed by Yao and Gerke [Y Yao and J E Gehrke. Query Processing in Sensor Networks. In Proceedings of the First Biennial Conference on Innovative Data Systems Research (CIDR 2003), Asilomar, California, January 2003] but their mechanism simply optimises a centrally instigated spatial query. To be effective it is desirable that an application-related query can be distributed to the network, and be updated as required. Cayircia et al [E Cayircia, V Coskunb, and C Cimenc, Querying sensor networks by using dynamic task sets, Computer Networks, 50 (7) pp938-952 2006.] offer a hierarchical task decomposition interrogation strategy based upon a linear quadtree.
To facilitate smart spatial queries the present invention is based upon inter-node cooperation. A range of generic cooperation node properties may be provided to support common application needs, for example:-
• Spatial awareness property - through which all nodes have information of their location and the location of a proximate set of surrounding nodes in the space.
• Spatial diffusion property - through which a node participates in an active cooperation with locally adjacent nodes to characterise a region and its key features.
Basic properties enable a range of queries and actions to be carried out by the present invention (a network need not be limited to a unidirectional data flow), including: Value at/ to a specified location;
• Cardinal value in a specified region;
• Synchronize nominated action at node;
• Identification of feature; • Extent of variable value region(s)
• Track motion vector of region.
Embodiments of the invention will now be described by way of example with reference to the accompanying drawings, in which:
Figure 1 is a diagrammatic representation of a sensing and actuation node; Figure 2 is a diagrammatic representation of a command node; Figure 3 is a diagrammatic representation of a composite network of command nodes and sensing and actuation nodes in a hybrid wired and wireless network; Figure 4 is a diagrammatic representation of the spatially mediated communication in a network;
Figure 5 is flowchart showing node processing for spatial message vectoring routine;
Figure 6 is flowchart showing inter-node message validation processing; Figure 7 is flowchart showing node processing for the major communication modes;
Figure 8 is a diagrammatic representation of the spatially mediated communication supporting cooperation in a hybrid wired and wireless network; Figure 9 is a flow chart for network command node and common node initialisation;
Figure 10 is a diagram showing the synchronised network timing requirements; Figure 11 is a diagram showing an example operation of the spatial awareness property;
Figure 12 is a flow chart for the node spatial awareness process; Figure 13 is a diagram showing a variety of possible configurations for the operation of the spatial diffusion property; Figure 14 is a flow chart for the node spatial diffusion process; Figure 15 is a diagrammatic representation of two regions in a sample space that feature a population of equally spaced sensor nodes;
Figure 16 is a flow chart for the cardinal node sub-process; Figure 17 is a flow chart for the threshold node list sub-process;
Figure 18 is a diagrammatic representation of the identification of an isocline; Figure 19 is a diagrammatic representation of inter-node cooperation; Figure 20 is a diagrammatic representation of the tracking of moving features; and Figure 21 is a diagrammatic representation of a building security monitoring application.
Each active node of the network has a communication unit, to interchange messages with other nodes via the network; and a means is provided at each node to store and process data representing both instructions for tasks to be executed at the node, and node sensor and status data.
Sensing and/or actuation nodes
Figure 1 shows the schematic features of a typical network node 1 engaged in the sensing and actuation application. Data processing and storage unit 2 of Figure 1 is required to provide a capability relevant to the complexity and needs of the node and network. A key duty of this unit is to control the sensing and actuation operations to execute one of several tasks which can be assigned to the node. A number of these operations will be required to operate to a time schedule and to facilitate this data processing and storage unit may include a time clock function so as determine a node time for any event. The synchronisation of this time with that of other nodes is part of an initialisation process described below.
Node sensor group 3 provides data from one or a plurality of sensors as illustrated in Figure 1 through its schematic index representation: Sl..Sn. The underlying sensing (and actuation) capabilities are catalogued within an application to permit the resolution of queries (and actions) on specific variable types. For example, a given node in a fire alarm system might support a temperature sensor and a smoke sensor. A network query can specifically identify the sensor types of interest.
Data processor and storage unit 2, through an assigned task, obtains an appropriate periodic or event-triggered sample value from each nominated sensor. The status of a specific sensor will include the sample value and the node time at which the sample was taken. A specific sensor index is used to denote a spatial value of a distributed variable. Hence in a given space the collection of all values for the same type of sensor, such as a temperature sensor, will provide the sampled spatial distribution of the corresponding variable.
Further information can be gained from the fusion of multiple sensor values at a node, in order, for example, to estimate the local value of a variable that cannot be sensed directly. Sensor data fusion algorithms can be used to support this functionality. The network supports the loading and deployment of such methods within the processing unit 2 of the node. Such compound operations may also be used to increase the integrity of node data through the checking of joint values for multiple sensors of the same type; for example, an alarm signal may be triggered if two from three sensors at the node indicate a danger level. In such cases the resulting variable data will be identified by a synthesised sensor identification and sensor type
Node actuator group 4 provides one or a plurality of localised control actions as illustrated in Figure 1 through the schematic representation Al ..An. Data processor and storage unit 2, through its assigned task(s), can assert an appropriate periodic or event-triggered action for specified actuators. As noted above, the underlying actuation capabilities can be catalogued within an application to permit the resolution of actions on specific variable types. Thus for example, a given node may support different actuator types.
A location unit 5 provides a means for the determination, and/or storage, of the spatial location of the node, using an appropriate spatial descriptor which forms part of all messages passed to other nodes. The data provided by the location unit 5 will include information denoting whether the node is fixed or mobile and may include indication, appropriate to the application, of the precision with which the estimated location is known.
Communication unit 6 provides a means to authenticate access, buffer, transmit and receive data to/from the underlying network and the node, appropriate to the network type.
The communication unit 6 may, where appropriate to the application, also contain an authentication module that verifies identification of the node unit to the network.
The communication unit 6 may, where appropriate to the application, request a channel capacity from the network according to the transmitted information bandwidth/latency requirements of the current sensor data, for example to route location specific video or vision data to a command node.
A direct linkage between the location unit 5 and communications unit 6, shown as a dotted line in figure 1, may be provided to control signals used for time of flight location determination. This includes networks in which a de facto or standard network is, for example: GSM, WiFi, Bluetooth or WiMAX.
A wired network link 7 provides the network transport means to connect the node communication unit 6 to other network nodes via a wired network.
A wireless network link 8 is provided according to a purpose designed or common de facto or standard wireless network protocol. The wireless network link is required for mobile nodes, but fixed nodes may also include a wireless network link.
Where there is a mixture of fixed and mobile nodes a hybrid wired/wireless network can be used utilising a bridge 9 to connect the wired and wireless branches. The requirements of a sensing and actuation node are highly standardised and are preferably implemented using a small number of low cost electronics parts that will then be usable in multiple embodiments that provide all of the specific functionality. It is likely that many potential applications could be served through a careful choice of sensor input and actuation output channels in the basic part. The derivation of location for mobile nodes and asserting of specific location for a fixed node may be assigned through a standard input to the core part, and the link to the communication unit may also be provided in generic terms through a standard port.
Supervisory or command nodes
Figure 2 shows a schematic view of a command node 11 that comprises an appropriate command interface 10 which, depending upon the application, will allow a human operator, or a supervisory system, to assign commands comprising assigned tasks which permit actions and queries to be requested via the network. The command node also comprises a data processing and storage unit 2 and a communication unit 6. A network can include one or several command nodes where this duty is distributed.
A sensing and actuation node can also act as a command node. However, it will generally be preferable to include command nodes that are confined to this duty. Figure 2 illustrates a command node linked via a wired network but such nodes may also be wirelessly connected to the network.
Where appropriate for the application the authentication of attaching sensor and actuation nodes will be a specific duty of a command node, or nodes if the duty is shared. Where an authenticated network is used, for example for security applications, message data will be encrypted and include a validation key such that the communication unit in each node may identify invalid messages which will be ignored and not forwarded.
Some applications may require command centres to operate at various known spatial locations or be mobile within the composite network. To facilitate the organisation of this a command node may optionally have a location unit 5 (shown with a dotted border in Figure 2).
A command node is preferably constructed the same as the sensing and actuation nodes, as described above, with the input and output ports simply used for connection to the command interface.
Network and inter-node spatially mediated communication
A composite network is illustrated in Figure 3 in schematic physical terms showing both wired and wireless branches. As described above, the wired network segment may typically be configured upon a bus model, and the wireless network segment upon a conventional multi-hop configuration. The detailed operation of the communication unit, illustrated as unit 6 in Figure 1, and its controlling processes varies according to the form of the network connection. For a bus connection, where all nodes are in effect connected in parallel, it is assumed at the application layer of interest that all nodes will receive a broadcast message. In this case a spatial segmentation can also beneficially be exploited to increase routing efficiency if the segments of the wired network are ordered based upon their spatial properties. For example, one network router will be used to distribute bus connections to all points on one floor of building. For a multi-hop connection, and particularly one involving wireless links, the network efficiency is typically more critical and in this role the invention exploits location information to gain major benefits. The embodiment to yield such benefits is described below.
In order to facilitate the processing of distributed system information each sensing and actuation node will acquire and maintain spatial data for a proximate set of nodes using a selected locality descriptor. This is based upon a two-dimensional or three-dimensional model of the application space of interest, and the density of information needed. Providing a network can be realised, the invention may be deployed in other pseudo-spaces that can be segmented. For all spaces the spatial data is used where appropriate to facilitate the routing of network data. Figure 4 illustrates this principle in an example based upon a two-dimensional space in which several network nodes are shown. Some are shown within the simple bounded region 400. Some nodes within the region lie at its extremities: an edge node 401, and a corner node 402. Nodes which lie outside the bounded region, in the global space, are also shown, including node 403 which is located at the corresponding edge extremity of the global space, and node 404 located at the corresponding corner extremity of the global space. Global and regional scope message routing capabilities are provided in the invention. Edge and corner nodes, through the information they store on their respective proximate nodes, will not relay messages further in any boundary direction with respect to the space nominated for the communication. Other more localised modes are also available to support cooperation between nodes. These modes make use of the spatial awareness property of nodes in the invention, which is defined later in this description. To facilitate this property each node in the example is designed to hold a table of up to 4 proximate nodes, corresponding to compass sectors North, East, South and West. This data is used to provide efficient spatial vector routing in multi-hop network segments. For clarity the nodal cooperation facilities provided by the spatial awareness property are used in all wired and wireless segments; but it is likely to be useful mainly for communication routing which is not concerned with inter-node cooperation message routing in multi-hop wireless segments.
An example of the spatial vector communication routing is shown in Figure 4 from node 405, via intermediate nodes 406 and 407 to target node 408. The flowchart of Figure 5 is a flowchart for simple algorithm for the spatial vector routing sub-process. On entry (500) the locations of a sending node (such as 405 located at Xn, yn) and target node (such as 408 located at xt, yt) are used to calculate (501) a relative bearing in the application space from the differences between their coordinates. The sending node proximate node table may be searched (502) to find the most appropriate proximate node for the next hop from the sending node to target node vector shown from 405. A message is constructed that nominates this node as the next step. The overall process is then repeated until the target is reached. For highly regular arrangements of nodes this leads to a simple geometric selection. Where nodes are deployed irregularly the routing will still take place effectively as routing vectors are always resolved to the nearest proximate node. Since other nodes will not respond to messages, and transmission power can be reduced appropriately the communication routing is likely to occur in general in a direct and low-cost manner.
An extension to three-dimensions can be clearly achieved through a three-dimensional routing vector. In the example of Figure 4 the limit of proximate node data stored would be increased to 6. Once again the nearest node to the optimal vector now in the three- dimensional space is selected and the data is routed. The routing process terminates when the local node location is nearer to the target location (specified in the message) than any proximate nodes.
Multi-hop networks cannot in principle guarantee that a valid path from one node to another can be found. In this invention a specific application must ensure that appropriate resources exist in the network to permit the required service level to be provided.
The various routing facilities are enabled at the lower level through message packet data on the network. These contain location data specified in their header, together with other appropriate information that supports and optimises their routing efficiency in terms of: encouraging direct routes and suppressing indirect routes; and minimising the network energy consumed and the network bandwidth resource occupied. To facilitate this routing process the message packet header includes the following three data parameters:-
Message Identifier parameter - whose value is derived from a combination of data that may include the sending node identifier; the network time of transmission (at the sending node; a null time is used if the node has not been initialised); and a message index (which, for example, may be the index number relative to messages initiated from the sending node since its network initialisation). Messages simply routed by any node will retain their original message identifier. Message Scope parameter - whose value indicates the intended target of the message from a range of options: global scope intended for all network nodes; a regional message intended for all nodes within the specified region (with information that defines the region, typically via its region index as specified during initialisation); group scope intended for a defined set of nodes (with information that defines the group member nodes); or, local scope intended for a single node (with information that defines the single target node in direct spatial terms, or in a form which otherwise encodes its location).
Message Persistence parameter - whose value indicates the requested network routing mode from a range of options: universal persistence, such that the message is relayed by all nodes until it reaches the extreme edges of the network; spatial persistence, such that the smart vectoring relay process can be employed by a receiving node to route the message to the target region or location; direct persistence, such that no automatic onward relaying is carried out by any receiving node; and as a special case, initialisation persistence, such that onward relaying is carried out by the receiving node after substituting the location of the initialisation command node, and by re-setting the persistence parameter to the spatial value.
All messages are validated prior to use by the validation process illustrated in the flowchart of Figure 6 which receives message data (600). The node communications unit has been specified to include a facility to buffer messages this feature embodies a list of recent messages in terms of Message header parameters, at least comprising the Message Identifier. The storage latency for the list is simply related to dynamic properties of the application and the storage capability of each node. In all communication modes the message buffer is searched (601) for the received Message Identifier to determine if the message has been previously received. If the message is found to be a duplicate it is discarded (602) and its details are not registered in the buffer and list. If not the message details are buffered (603) and processing of the message is continued (604). This action suppresses duplicate messages that may arise in the network. The specified message packet header parameters offer flexibility in the realisation of a wide variety of applications that in turn require a range of system priorities of: energy efficiency, bandwidth utilisation, reliability against component failure and robustness against external disturbances. In addition a range of context dependent data will be provided, such as the location of both current and target node(s) and these are used to realise optimal system performance through a range of communication modes. Table 1 summarises a set of major communication modes for validated messages that can be simply realised.
Figure imgf000026_0001
Table 1 - Major communication modes Figure 7 is a flow chart for the major nodal operations that enable the above modes to be realised. The flowchart begins (700) with a test (701) based upon the values of the Scope parameter. The Global scope path is processed by a further test (702) which establishes processing paths for the Persistence parameter. For the Universal case path the message is always processed (703) and forwarded (704); and for Spatial case path the target node of message is then tested (705) against the current node. If the message is intended for the current node it is processed (706), otherwise it is forwarded (704). The regional scope path firstly tests (707) if the message is targeted at the current region. If so the target node of message is then tested (705) against the current node and if this is the case the message is processed (706), and again otherwise forwarded. In the Local Scope case if the message is intended for the current node (708) it is processed (709), otherwise it is ignored and not forwarded. The process is closed (710) at the end of each path.
Mobile nodes will offer location update messages to the network based upon their motion and the needs of the application. Figure 8 illustrates such a network which in this case is divided into a fixed (wire connected) node segments (7) and a mobile (wireless connected) node segment (8), connected via a bridge (9), that share a two-dimensional physical space, shown in the figure as a grid.
Figure 10 further illustrates the inter- working between the fixed and mobile network segments to facilitate the cooperation mechanism shown in the arrowed direct links from the highlighted node which indicate a message sent to the surrounding locality of nodes under the control of a task being executed at the node.
Plurality of network segments that may support a common application
Figure 3 illustrates the physical sharing of two distinct network segments by a single application and Figure 8 illustrates their logical sharing. This principle is clearly extensible to multiple network segments connected by appropriate bridge units 9 which include corresponding bi-directional spatial data ranges for their linked nodes to facilitate the cross-boundary routing. Network initialisation
Network initialisation involves the sharing of data between a command node, or nodes where this duty is shared, and every other node in the network as it becomes active. This process uses the network to transport the requisite initialisation data. Where the transport path depends upon a multi-hop process sufficient interposing nodes must be active. The initialisation process for such network segments takes effect in a sequential cascade manner, beginning with the node that is within range of the command node, either directly for a multi-hop segment that includes the command node, or within range of a bridge unit which can provide a direct link to a command node.
To expedite the cascade initialisation process each active node stores the location of the initialising command node. Preliminary initialisation messages from activating nodes have global scope and initialisation persistence message parameter values. On reaching nearby active nodes these are converted by the corresponding relay process, defined above, to have spatial persistence, and are then routed efficiently to the command node. Due to standard network operation the global scope initialisation request message from one activating node may be received by several nearby nodes, each of which will execute this conversion and routing. Although this will result in redundant messages these may be expected to quickly converge onto a common path, due to the spatial routing algorithm, and be discarded using the inbuilt mechanism as illustrated in Figure 6.
The viability of the network as a sensing and actuation system to meet its application requirements will depend upon the availability of a critical set of nodes and network segments. The initialisation process is staged to allow nodes to activate, to receive initialisation data, and to then, when a critical level of activity is attained, to begin their assigned application tasks. A composite overview flowchart for an activating network node and a command node is shown in Figure 9. The activating node process (900) begins by periodically transmitting (901) a preliminary initialisation message (under the control of a timeout operation) until an acknowledgement message is received. The flowchart shows a direct message as a schematic arrow (for a node near to the command node) and also an indirect routed message firstly via nearby active node (920). When an acknowledgement arrives the node awaits command data (902). This wait state may include timed sleep and wakeup states. When commands are received, as task instructions, either by the global broadcast illustrated, or for a late activating node, the node begins its assigned duties by entering its active state (903). The command mode begins (910) by receiving and acknowledging all initialisation messages and compiling a view of the node activity (911) until a critical level is reached. At this point the command node will issue global broadcast instructions (912) to the network to provide region, and task data. It will then instigate (913) a background task to support late activating nodes (after a broadcast has been issued) so that they may be sent specific data. The process then enters the active network monitoring state (914).
When initially activated, each sensing and actuation node will first carry out any self- validation tests or calibration operations on its internal units. This will include the determination of its location, using unit 5 of Figure 1. Fixed nodes are likely to have this value preset. Mobile devices may use a number of possible methods to estimate their location. Where network radio signals are used for this purpose the node location unit (5 of Figure 1) will complete an estimation of initial node location. The initialisation process continues only when these self-validated and initial settings have been completed. When all self- validation tests have been completed the node will broadcast an initialisation request message to nearby nodes. The identifier parameter comprises a zero message index and a null time value. Other message parameters indicate global scope and initialisation persistence. Where the node is part of a multi-hop segment in which other nodes may have a restricted time-awake cycle to conserve energy, the initialisation request message may be repeated at suitable intervals to coincide eventually with an awake- interval. Such repeated messages are exact duplicates which receiving nodes will suppress. The node will then await an acknowledgement message from the initialising command node. A specific command node, or nodes where the duty is shared, will monitor the network for initialisation messages and, after any requisite authentication procedure, update their view of the active regional distribution of the network in terms of appropriate location descriptors.
The command node will then transmit a Global Communication Mode routed acknowledgement message to the node that includes a current command node time value, and an indication of the expected wake-period for receipt of further initialisation messages. Timing requirements are related to application needs. Many applications require a systematic schedule for their sensing and actuation operations. A range of possible methods are possible appropriate to the application needs. A simple example would be to use an external broadcast time signal which is used to update each node clock. An internal method would be based upon a command node that maintains a master time, and broadcasts this via a time initialisation signal which is propagated through the network to each sensor and actuation node to update its clock function. The propagation process will incur a delay. The required time accuracy will be related to the criticality of the application and the resolution will be related to the dynamic properties of application variables.
In order to ensure network operations for the invention a set of time intervals are specified to ensure system synchronisation. These are illustrated in Figure 10, which is not intended to imply any relative or absolute scale in time, but simply indicate a single sampling event in a regular timed sequence. The intervals are defined with respect to an appropriate time unit, 1000, which in turn is related to the application dynamics. For high-speed applications this may be a short interval such as one second; for slower applications this could be one minute, etc. A network timing difference interval 1001 ensures that all nodes are in their awakened state. An update interval 1002 allows for the expected propagation of initial network messages. This interval is also usable dependent upon the needs of the application for scheduled sensing and actuation actions. An explicit sensing and actuation interval 1003 can be provided. A processing interval 1004 allows for local processing. A cooperative communication interval 1005 allows for local segment interrogation in response to multi-node task needs. A result communication and acknowledgement interval 1006 allows for these actions. A second network timing difference interval 1007 ensures that the node stays awake to route messages within the timing tolerance interval.
The location data contained in the initialisation data informs the auto-configuration capability for the network of the spatial distribution. The spatial distribution data gained automatically from the network is then available as a basis for the spatial segmentation of the network into regions, if this is not already preset for the application. An initialisation message will provide all nodes with details of the specified regions in terms of their extents. Nodes may then determine in which region they are located. Following this step the command node or nodes will assign sensing and actuation tasks for each region and its contained nodes, or for specific nodes, or for specific locations.
Intrinsic network operation
As described above, each node can determine its local spatial distribution in terms of nearby nodes for use in the execution of explicit tasks set by a command process. Such tasks may rely upon a range of emergent operations within the network that do not require infrastructure design. Where required nodes may also include a self-monitoring capability and report their operational status to the network.
The spatial data shared between nodes is used to enable a set of higher level operations that can automatically generate spatial distribution information locally within the network whose results can be despatched as required to a nominated temporary or permanent command node(s). The system will thus deliver an interpretation of the application distribution(s) of interest, and allow control parameter(s) to be set. This may be expressed through a holistic interpretation that relates to the overall role or mission of the system.
At the simplest level the complete global collection of nodes is supported through a specific set of global queries. Furthermore, the network is segmented into spatially defined regions (with a minimum of one region and a maximum equal to the number of nodes), and each region can be tasked with autonomous operations. At the most local level each node can be tasked with a specific duty.
Node operations and queries can be tasked on a location basis. The network will automatically find the most proximate node to a given location. The location error can be estimated and reported with the data.
A task may require the node to monitor the temporal distribution of its data, for example to track the trend of a data item observed at the node and report the occurrence of a specified alert rate of change. In general nodes may be given multiple concurrent tasks subject to processing capability and normal concurrency requirements.
The range of queries and actions outlined above that can be performed by the network in the invention are enabled by properties of the network. The two fundamental properties are the spatial awareness property and spatial diffusion property.
Spatial awareness property
The spatial awareness property of the invention provides the capability that all nodes have information of their set of proximate nodes. This property is gained through an autonomous operation of the network that begins when each node is initialised. It is then updated periodically, dependent in an application on the transience of the nodes
The node cooperation operation to realise this requirement is illustrated schematically, for a two-dimensional example, in Figure 11. Local node data is easily obtained from any node, such as example node 1100, through the omni-directional transmission of a proximate node request message using the Local Communication Mode (having control parameters of global or regional scope and direct persistence). In the example the transmission whose power as expected in physical terms for a wireless segment will normally decrease with radial distance is illustrated using concentric circles. This operation relates to wireless connected nodes and the physical limits of their communication components and the local propagation conditions that pertain in a specific application.
The proximate request operation has variants for wired and wireless connected nodes. Where nodes are connected via a wired segment such limits will differ from the wireless connected case above, even to the extent that some implementations all nodes would normally receive all messages (in effect offering communication that is largely independent of distance within the scope of an application). In such cases the nodal implementation will include an operation to limit the response to proximate node request messages to a given inter-node distance. Messaged that are deemed out of logical range will be ignored (as though they had not been received). This functionality is achieved simply. As the initial proximate request message contains the location of the querying node all receiving nodes can verify their compliance with the proximity range condition. Hence the same effect is achieved using this logical operation in a wired segment, as is achieved naturally in a communication limited wireless segment. To provide homogeneity of performance of the proximate node property, applications of the invention can include the same logical proximity limitation in the implementation of all nodes, whether connected on wired or wireless segments, by including the conditional operation in all nodes. This functionality in the invention provides that nodes that are close in proximity but have different communication methods can inter-operate seamlessly. Figure 8 illustrates such a hybrid case in which reference node 800 instigates a proximity request which gains a response from the surrounding proximate nodes, indicated by arrows. This includes node 801 which is connected via a wired communication segment 7, and 802 which is connected via a wireless segment 8. Here the wired and wireless segments share information via bridge 9. In this illustrated example both wired-connected node 803 and wireless-connected node 804 are outside the logical defined range and hence do not respond to the request. Where useful, in an application that includes a variety of differing node configurations, with differing spacing or physical arrangements, the invention further provides that different areas (for example implemented as regions) may have differing effective inter-node proximity limits. Thus for example, an application can be simply supported which includes an internal space where nodes are close together, and an external space where their spacing is much larger.
This proximate node request message, whether on a logically constrained wired segment, a naturally limited wireless segment or a logically constrained wireless segment, will cause any receiving node, for example nodes 1101 to 1106 inclusive, to respond giving its identification data, its location, and its fixed or mobile status via a direct scope, local persistence message.
The node process to realise this property is shown in the flowchart of Figure 12. A proximate node request message is transmitted to surrounding nodes (1201). Responses messages will be received (1202) under the control of a timer set to the expected message response period. Where appropriate this operation will also discard responses from outside the inter-node proximity limits, shown by the outer concentric circle in Figure 11. The proximate bearing and range is then calculated (1203) for each of the resulting M accepted responses (6 in the example). This operation may also be performed during the response period. This data is then used to order (1204) the responses into the S sectors of interest (4 in the example). In the example a two-dimensional application space is segmented into the 4 sector marked, which centre on radials at 0, 90, 180 and 270 degrees respectively, with the top sector as 1107.
This intermediate data is used to select the optimal set of S proximate nodes using a sub- process (1205). The method for this selection can be varied to suit the characteristics of the application network space; in the simple case the nearest node can be selected from each sector bin. In the example nodes 1101 to 1104 inclusive are selected and nodes 1105 and 1106 are rejected. More sophisticated algorithms could base the selection upon the optimal spatial spread (in relation to the dimensionality), as well as proximity, to limit communication energy needs and exploit the maximum spatial data resolution offered by the network distribution. If a proximate node is fixed no updating is necessary. If a node is mobile it will provide a global scope direct persistence message when it moves. The node will determine when to reset its proximate data set. Clearly the application must be designed either such that a motion update message from a mobile node must be produced before it moves out of range; or, that nodes which have proximate nodes that are mobile are periodically checked. A check can be carried out just prior to the transmission of a direct scope, local or group persistence message. The check process will consist of simple direct scope, local persistence message.
When selection of the proximate nodes is complete a proximate node table is built (1206) and the process is closed (1207). The data table provides the information to realise the spatial awareness property of the invention.
Spatial diffusion property
The spatial diffusion property of the invention provides the capability for a set of mutually proximate nodes within a space, for example the set of nodes within a defined region, to cooperatively self-organise to fulfil the requirements of a given task. Hence this property will be realised in relation to a specific task and its operation when required will contain the needs of the contained task.
For example a possible task, outlined above, may require an answer to the question: "is the system within normal limits". To resolve this question a query task can be executed asking for all points which exceed the defined 'normal' value expressed as a threshold. The result is the set of all nodes for which the system exceeds normal limits. The property will ideally deliver a single message to a command node to resolve this question. Such a query may be executed as required or be executed periodically.
The spatial diffusion process, which provides the core capability to address such queries, centres upon an ordered search of the set of nodes giving access to their sensing and actuation capabilities. The search is conducted utilising directed spatial vectoring of network messages, with the intention that every node in the space of interest is accessed. All messages are transmitted using the Local Communication Mode (with direct scope and group persistence, with the group defined by the specific locations of the target nodes). The search operation begins at a designated Initial Node and ceases at a designated Terminal Node. Such Initial and Terminal Nodes are self-selecting within the configuration of the spatial diffusion process which forms part of the node task. To facilitate their self-selection, Initial and Terminal Nodes can be the nearest to an extremity, or be the nearest to a centre or centroid of the space. A variety of configurations are possible that relate to the arrangement and dimensionality of the space in the application; and to the regularity of the nodes and the robustness required in the search.
Figure 13 illustrates a collection of possible configurations. In a simple example case a configuration and its corresponding task is based upon the two-dimensional space 1300 populated with nodes of the type described above, 1. The configuration has a single Initial Node 1301 at the North- West corner and a single Terminal Node 1302 at the South-East corner. In the simple case it is assumed in the application that the nodes are regularly spaced and all nodes will be visited successfully using the simple search algorithm shown. At the Western edge of the space (detected by the node using its spatial awareness property) spatial vectoring will route data both South and East. At the Eastern edge of the space data is routed only to the South. This configuration provides zero message redundancy in its search since non-edge nodes have a single message opportunity to engage in the specific query. Example 1310 shows the same space but now using a more intensive search method that employs two-dimensional spatial vectoring. This configuration provides 100% redundancy in that each node has two message opportunities to engage in the specific query. This configuration is suited to applications in which nodes have irregular spacing. In all cases the message propagation continues until the terminal node has received all expected data.
The flowchart of Figure 14 shows the nodal processing necessary to complete the generic spatial diffusion aspects of any task. The process will be scheduled (1400) at a specific time, or in response to a specific network request, and is initialised by clearing the state of its two state flags. Its first action (1401) is to determine if it is the Initial Node. This utilises proximate node data in conjunction with the specific diffusion configuration in use. For example in the simple two-dimensional configurations of Figure 13 (1300 and 1310) each node will determine that if lies at the 'comer' of interest and hence has no proximate nodes in the region or space to its North and West. If so (1402), it sets the message buffer reference to NULL value, and the Initial Node state flag to TRUE and continues immediately to operation 1407 to processes the specific task data for the node.
Otherwise (1403) an operation will test whether the node is the Terminal node. In the simple two-dimensional example configurations of Figure 13 (1300 and 1310) this will determine if the node has no proximate nodes in the region or space to its South and East. If the test finds that it is the Terminal Node the corresponding flag is set (1404) and the all messages received, until the task timeout, are then stored using the buffer reference (1405). At the timeout processing passes to the specific task sub-process (1407).
If the tests determine that the node is neither an Initial or Terminal Node the process awaits (1406) the arrival of a message from the previous (proximate) node in the search path under the control of a timeout operation set to the expected maximum message period. When a message, containing specific task data, is received control is transferred to the specific task sub-process (1407). If no message is received at timeout an exception event can be generated to indicate that the node has not been involved in the task search. Such an event can be sent as a global message to the Command node. Its node value could be incorporated such that the omitted node data could be taken into account.
At the start of its operation the specific task sub-process (1407) is passed the buffer reference and the flag values which enable node data to be incorporated into its distributed processing to fulfil the task requirements. For a general (non-terminal) node, processing may operate upon the buffered data, or add more data to the buffer. When the nodal specific task processing is complete control is returned to the generic process; the buffer now includes the specific task data as appropriate. For the terminal node the buffer will include all message data received at the terminal node. This terminal data is then processed according to the task requirements. If an event is generated this can be sent as one or more messages using appropriate communication modes. For example an event message may be sent directly to a command node. Alternatively a message may be sent to the one or more nodes which have been found in the search to singly or jointly to have an event status. For example a message may be sent from the Terminal Node to the node found to have a cardinal value the region. The node itself may then create a specific event from its own location to a command node.
When control returns to the main process from the specific task sub-process the Terminal Flag is checked (1408). If this is set all processing has been completed and the process is closed (1411). If not (indicating a normal node), the current buffered message, including any task specific changes, is transmitted (1409) using appropriate spatial vectoring. Control is then passed to an operation (1410), under the control of a timeout operation set to the expected maximum message period, that will forward any subsequent messages that arrive at the node (only the first message is used to incorporate the local node data).
Forwarded messages are transmitted using current spatial vectoring. As described above, as part of the communication processing, all messages received at a node are routinely discarded if they are duplicates of previously received messages. When the timeout occurs the process is closed (1411).
The inherent parallelism available in the network can be exploited, to speed the processing of query searches, through utilisation of multiple independent concurrent search paths. An example configuration 1320 shown in Figure 13 has four such paths that converge upon the centroid of the known space or region. The corresponding task includes the self-selection of the four initial nodes 1311 to 1314 (based upon the 'corner' principle established above); and the self-selection of the node which is nearest to the centroid, 1325. This is simply determined for any rectangular area or corresponding three-dimensional rectangular volume. The nearest node is that which has no proximate nodes that are nearer to the centroid than its own location. The four quadrant corner to centroid data flows in the two-dimensional configuration are illustrated in the figure. In this case quadrant task processes will change direction when the centroid axis is reached. The nodal task process can cause nodes at the quadrant intersection areas to take part in both quadrant operations through their message processing (using inherent direction information of the message sender) to allow for the imprecise resolution of the centroid at the nearest node.
Further corresponding three-dimensional forms are illustrated in Figure 13. 1330 is a three-dimensional form of 1300; and 1340 is a three-dimensional form of 1320. The algorithm specified above and in the flow chart of Figure 14 is valid for these configurations if appropriate node selections of boundaries are included. Here the spatial vectoring of the diffusion data is determined in the three-dimensional space, illustrated in Figure 13 through the standard North, East, South, West two-dimensional compass directions, plus the further Up and Down directions indicated. For clarity in illustrating the principle Figure 13 uses a regular array of nodes and 90 degree orthogonal sectoring. This arrangement is also robust for irregular arrays of nodes in giving a high degree of success that all nodes are accessed. For highly irregular arrays it may be necessary to broadcast node messages to all nearby nodes and rely upon the message discarding process to reduce duplicated traffic.
To permit the fusion of the search data, to yield the task requirements and where required to alert the detection of an event to a command node, a single terminal point is preferred. However, multiple terminal points can be used if the later data fusion can be done later, for example, by the command node that receives the multiple partial results.
A more complex space may have ambiguity within the scope of the node extremity test logic that results in the emergence of two or more self-detected initial nodes for a configuration where only one is expected. This is not critical as although it may result in some duplication it will still support the intention of visiting all nodes in the space. For example where ambiguity arises in a space which is re-entrant this can ensure that all branches are visited. The message pass through state, after a node has completed its task contribution, will allow local segments where a high level of multiple messaging occurs in this condition.
Global Data Aggregation
Simple or compound nodal data may be aggregated on a global basis to deliver network requirements. This form of aggregation is the common model for WSNs. The global collection of data samples from all nodes is conceptually simple, although there are practical issues such as synchronisation, transport delay and the need to perform processing on the centralised data before a global interpretation is available.
The aggregation process may be distributed to the nodes such that each data sample is routed to a central collection node at each sample point, hi this configuration network bandwidth and power needs will be a function of the sampling rate and interpretation will in essence be centralised, and limited to the variety of different features that can be practically observed using such as a global sampling model.
Regional Data Aggregation
Regional aggregation offers wide scope for a variety of distributed responsibilities. Hence a nominated region of the network may be tasked to perform a specified regional aggregation algorithm. Separate regions may be given different tasks, appropriate to the current assignment of application interest within the space covered by the network. Region based operations will typically be distributed homogeneously to the enclosed nodes such that any reporting is automatically triggered within the node. Regional operations are enabled by inter-node cooperation.
Global operations
Global operations are primarily for authentication, where appropriate; for initialisation of nodes, and for regionalisation, and are controlled by one or more command nodes. On start-up an initialisation process will operate as described above. The initialisation data so obtained is used to build a network table of node identifiers, initial locations, and node sensing and actuation types and status.
A small number of global operations provide overview functionality: to obtain the most proximate sensing and actuation node to a given location and its difference in distance (in the two or three-dimensions appropriate to the space); to obtain the global cardinal value of all regions for a particular sensing index.
Region operations
Regions have self-persistent behaviour for each sensor and actuation index such that each contained node stores proximate node data table (for each index tessellation scheme) and automatically diffuse appropriate sensor, actuation and status data through the region, through inter-node cooperative actions.
Regions engage in specific processes that initiate and report notifiable events to the requesting task command point when responding to a specific task with reference to a specified sensor index. Initiation operations include: set cardinal value; set threshold level; set isocline value and tolerance; set inflection; set feature of interest to be tracked (for example, as a specific RFID tag value, or a specific distribution pattern between multiple nodes). Notify operations include: report if regional cardinal node; report if set threshold level exceeded; report if on isocline boundary; report if requested feature is detected (here nodes share data and detect the requested compound feature and the node at the nominal centroid would report, if the feature moves the track is automatically notified.
Node operations
Node operations provide elementary building blocks for all other operations and include: get node sensor index value (with appropriate time synchronisation); set node data fusion algorithm (for multi-mode sensing); and set node actuator index value (with appropriate time synchronisation).
Resultant queries and actions
Table 2 summarises queries and actions based upon the elementary operations for each region segmentation scheme (that may vary with sensor and actuator index).
Figure imgf000042_0001
Table 2 - Queries, results and their spatial scope
A further dimension can be defined for the table in terms of sensor and actuator indices and their corresponding network aggregation schema based upon their respective regional tessellation. An overlay view will always be available since all schemes cover the whole space. Where a single uniform tessellation scheme is selected a homogeneous view of node indices and regional and global events can be simply obtained. Where reporting and control are segmented between command node the appropriate data is automatically routed to the requisite command node. The above queries will now be described. These exploit an increasing level of node data access and control in the invention, from the access to a single spatially defined point; to a search for a singular conditional point; the location of a given set of points; to the identification of spatially distributed features and their tracking in the space.
Task to sense at/nearest to a location and/or actuate at/nearest a location
This task can be assigned in an application which has relevance to one location either on a one-time base, in response to a specific task from a command node, as a periodic task executed according to a periodic schedule. Nodes at or closest to several locations can be tasked to perform specific localised functions. The task will instigate appropriate sensor operations to yield corresponding data values. Within the application task requirements the sensor values may be tested against a singular stated condition to yield a composite result. As an alternate or additional requirement, the task can cause an actuator to be operated, which can in turn generate a status result. The task may then, dependent upon any included task conditions to be imposed upon sensor values or actuator status, instigate a reporting event through the transmission of a message, to the known command node, or to some other defined node.
The spatial awareness property, inherent in all network nodes, provides the complete functionality to implement these task requirements. Firstly a command message transmitted using the Directed Global Communication Mode will request the execution of the specific spatially located task. As described above the communication routing process implemented in the node terminates when the local node location is nearer to the target location (specified in the message) than any proximate nodes. The required location will form part of the message details and be used by the network to route the message. Since the message is directed and therefore efficient it can include the details of the task requirements in terms of sensor and/or actuator data and scheduling. The task instructions can optionally request an event acknowledgement to the command node, confirming that the task has been accepted. Task to sense cardinal value
This task will be of interest in an application space or part of the space in which there is an interest in monitoring the location of a maximum (or minimum) cardinal value in the space from a defined sensor, either on a one-time basis or as a periodic scheduled task. The task may be required to report its value, or alternately the task may define some further condition for reporting, for example to report an event if the cardinal value is greater than a specified value. Although this task can be implemented for a whole network it is likely to be more relevant in application areas in which there is a consistent distribution and this can be defined as a region. This is also the case for other compound tasks below. Hence for example the upper part of the Figure 15 illustrates two regions in a sample space that feature a population of equally spaced sensor nodes. The lower part is an elevation showing a particular variable distribution. The right region illustrates a cardinal value in the space. In this example the corresponding node has the value of 3.
The spatial awareness property described supports the functionality to realise this query which is constructed within a generic spatial diffusion process also described. Figure 16 is a flow-chart for the nodal realisation of the spatial diffusion process, which is shown schematically in Figure 13, and which provides an ordered and directed search of the space of interest. The task will typically execute on a timed schedule. The described generic nodal spatial diffusion process, shown in the flowchart of Figure 16, begins by preparing a reference to the message buffer for previous node. This is passed (1600) to the specific sub-process currently under execution by the network task, in this case the searching for a cardinal value. Operation 1601 obtains the appropriate node sensor value (the object of the current cardinality search). The passed message buffer reference is then used to obtain (1602) the current cardinal value. Where the node is the Terminal Node this process includes any multiple message values (encoded in the data) that result from the search at the terminal node. This is tested (1603) for the Initial Node state via the passed flag. If this is not the case then a further test (1604) determines if the node sensor value is greater than the passed current cardinal value. If the result of the tests is an Initial Node status, then the node sensor value is placed at the buffer reference cardinal data and the process is closed (1609). If not the Initial node the node value is tested against the buffer cardinal value (1605). If the node value is greater it is used to replace (1606) the buffer value. The terminal flag is then tested (1607); if set the updated buffer value is used to report the cardinal value event to the network according to application needs (1608) and control is then returned (1609) to the spatial diffusion process which completes the process.
Task to sense threshold
This task will be of interest in an application space or part of the space in which there is an interest in detecting the number of nodes that exceed a given value and their location. As in the above case the task may be required to report its results in a variety of ways. This may be implemented for a whole network but is likely to be more relevant in application areas in which there is a consistent distribution and this can be defined as a region. Hence for example the upper part of the Figure 15 illustrates two regions in a sample space that feature a population of equally spaced sensor nodes. The lower part is an elevation showing a particular variable distribution. The left region illustrates a set threshold boundary, set at 1, all identified nodes that exceed the threshold will report this condition.
This process is similar to the search for a cardinal value in the space; in this case a list of all nodes that have the condition (that could extend to any singular node test) is created by the spatial search. The flowchart is shown in Figure 17. In this case the passed buffer reference (1700) allows access to the list. The node value is obtained (1701). If the node is the terminal node this can be a singular list created from multiple lists generated due to multiple search paths (1702). A test (1703) is made of node value against the threshold. If the node value exceeds the thresholds the node data is appended to the list (1704). A further test of the Terminal Node flag is used to control the terminal event reporting (1706). The sub-process then returns control to the calling process (1707). Task to sense isocline or inflection
Figure 18 illustrates an application in which a specific isocline is of interest. The illustration shows further that contiguous regions can be given the same task and an isocline can be closed through a global operation at the boundary. The detection of the isocline is similar to the previous threshold case but benefits from increased smart functionality through inter-node cooperation. Figure 19 illustrates the operation of this property in the invention.
For each node point (such as 1900) in the spatial search a Local mode communication request can extract information of surrounding proximate data values (1901 to 1904 inclusive). A cascade set of requests can be made to proximate set to explore the secondary rank of proximate data, for example to new nodes 1905, 1906 and 1907. This process can be continued under a simple condition is met, for example until a particular radius (expressed as a location extent) from the original node is reached. This process can be recursive to automatically explore the distributed space. All data-points of interest, and their locations, will be reported back to the originating node. In the isocline search case the operation will explore if any surrounding nodes are nearer to the value of interest. The originating node message includes its location and identifier to facilitate the routing of the response. The node can therefore use an algorithm that determines whether the node is nearest to the isocline value, to determine if it is on the isocline of interest. If so, its task sub-process will append the node details to a list of isocline nodes in the manner of the flowchart of Figure 17. Hence each node in the search space will examine its surrounding space and can locate the isocline 1910 corresponding to the spatial variable X=20.
The list of nearest isocline nodes are hence assembled as a list. The processing of the node sub-process for the Terminal node can report this list to a command node. A related isocline from an adjacent region can be combined, by the command node, to form a contiguous isocline coordinate set. A search for the locus of a set of points of inflection follows a similar principle. In this case the inflection is represented in the space as a change of gradient of the value of the variable of interest. Similar surrounding inter-node data can be collected. More intensive processing can compute gradient vectors for given bearings from the node. Again the node can determine whether it is nearest to an inflection point and if so add its data to the list.
Task to sense tracking
Figure 20 illustrates the tracking of two moving features in the left hand region. These are defined in terms of their spatial distribution allowing for joint limits in sensing and spatial resolution.
As in the isocline case the inter-node cooperation facilitated by the invention enables many applications to be constructed to identify a spatially distributed feature and track its location, and motion in the space. To locate an object a search feature is defined in terms of a centre point. Local inter-node interrogations are used to locate any corresponding object which is reported in terms of its centre location. Hence in Figure 20 the cascade interrogations of the space surrounding the current node can be examined against a template which defines the distribution of the object, in terms of one or more sensed variables.
Subsequent queries can report any new location. The event reporting can be used to monitor the motion of an object. In the illustration of Figure 20 the adjacent region has also been tasked to track the same feature. As the feature crosses the region boundary a global inference could match the two features due to their spatial proximity and join them.
The above description has described the construction and operation of the network without considering the application to which the network will be put. Examples of applications of the system of the present invention will now be described. Embodiments may relate to any spatially distributed application. Figure 20 can represent many application spaces.
Building or structure security monitoring application
In a first example Figure 21 represents a security monitoring system for any building or structure must operate in an enclosed space which is segmented horizontally and/or vertically into rooms or other parts. A number of hazards must be detected using appropriate sensors. For example, smoke and gas sensors can detect the occurrence of fire; and body heat and motion sensors can detect an intruder. Actuators can be set dependent upon the detected results. For example, fire-door detent mechanisms can be reset to isolate a fire event, and water sprays can be instigated to extinguish the fire; and alarms can be set to warn of fire, or intrusion.
For example part of an exemplar building or structure, represented in Figure 20, whose space is segmented into separate areas (A, B, C, D and E) to suit its application. (Area E, formed by the dotted partition which further divides area C, will be discussed later). Example purposes for the segmented areas could be offices, workrooms, laboratories, and storerooms. Each of the segmented areas A.. E is served by one or more sensor and actuation nodes. To fulfil the security role for fire detection and actions/alerting the invention will deploy the nodes in general as described above.
In the invention a set of sensor and actuation nodes (defined as 1 above) are mounted at appropriate (possibly regular) fixed intervals in the space as shown, although the exact positioning is not significant.
Each node is set on installation with a value that defines its location in the space. A number of means are possible; a simple example could use a location initialisation unit able to load the appropriate location value into a non- volatile memory that forms part of the Data process/storage unit 2 defined above. In this example the nodes depicted in the bottom two rows are connected using a fixed wired communication link 7. To illustrate a later extension to the building or structure its contained nodes depicted in the top row are connected via a bridge unit 9 and utilise a wireless communication link, 8, that could be installed with minimal wiring changes. In both the original wire-linked fixed nodes and extended wireless-linked fixed nodes, electrical power may be supplied via installed mains, supplemented by re-chargeable emergency battery units.
The segmented areas are initialised as regions in the space. A set of tasks are loaded onto the nodes to fulfil the assigned role. Some regions may have different tasks, for example to monitor areas of higher potential hazard with different parameters for sensors and actions. Region A in the example is served by a single node. This node finds no other contiguous nodes within its defined region and must execute its task(s) for that region on a sole basis. Regions B, C and D have multiple sensor and actuation nodes and tasks specified for each region are executed in cooperation with other regional nodes.
In this case the system of the invention can be used to configure systems quickly and at low cost but with high integrity and intrinsic smart behaviour in terms of detection of joint events in a region of interest, for example the automatic discrimination between a fault and an alarm event. For example the four nodes in region B can cooperate in a shared threshold detection task (as defined above and illustrated in Figure 21 with respect to a specific sensed variable. If the regional levels of a sensed value are increasing then the first sensor node to detect the threshold can instigate the corresponding action. Such action could be the despatch of a single warning message to a control point containing details of the region and alarm status; with further local actuation such as: the sounding of alarm bells, the instigation of water sprays, and, the disengagement of door detent latches to allow control doors to close. If in contrast no other node sensors indicate elevated levels approaching the threshold the task could be defined so as to classify this event as a suspect node sensor. At this stage the node task could specify the despatch of a maintenance warning message to a control point. When a building or structure is modified, perhaps by the segmentation of a large space into multiple spaces a typical installation may require considerable re-wiring. In contrast the system of the invention allows re-defined regions and their tasks to be reconfigured almost immediately. This permits full protection to be maintained with insignificant downtime.
For example in Figure 20, the space C is divided by the addition of the partition depicted as a dotted line, to create a new enclosed space, E. The system may be re-initialised to define the corresponding region E. The bounds of the region E cause the corresponding nodes, which were previously enclosed in region C, to assert their new status as members of region E, to suspend their operation as members of region C; and in turn to update and execute their defined tasks.
Systems to monitor critical special purpose buildings such as airport terminals can be designed using the invention at low cost to offer distributed alerting of critical events; and can be quickly re-configured to incorporate new configurations or revised sensing capabilities. In such spaces sensing and actuation nodes can include units worn by personnel to allow their tracking in the critical space, and to identify their proximity to events that require attention. Such units can incorporate sensors such as keypads and biosensors to allow a command node to request a specific identification of its user for security validation. Distributed video feeds can be supported. Further moving objects could be the vehicles used to service aircraft on the ramp areas to allow their tracking for efficiency and security. Hence for example in Figure 20 one region could be external.
The monitoring of temporary critical areas can be supported using the invention through the distribution of an appropriate set of sensors to speedily create a self-configured spatially organised sensory view of the space. This facility would be valuable for temporary events, for example that include persons who need special protection; and for aiding the handling of emergency events, such as major fires or civil disturbances. The self-configuring capabilities of the system would allow a high level of information to be obtained quickly with minimal specification. Distributed resource monitoring and control systems, for example for gas, electricity and water, can be designed at low cost using the invention to provide intelligent monitoring and control, to automatically identify alarm events such as leaks and supply interruptions wherever they occur; to provide flexible access to supply and load data; and to offer direct incorporation of control actions for valves and switchgear.
Environmental systems can be designed using the invention for example for ground water collection and flood alerting through the monitoring of rainfall and key accumulation points such as streams and rivers to give an estimate of specific loadings and flows, and to incorporate control actions on valves and sluices.
Agricultural enterprises can be supported using the invention through the provision of simply deployed external crop and soil monitoring and for the control of localised irrigation.
Horticultural enterprises can be supported using the invention through the provision of simply deployed environmental monitoring of and control for enclosures such as greenhouses to give detailed and flexible control of temperature and humidity in the region of specific plants.
Manufacturing and warehousing facilities which commonly have an intrinsic spatial organisation of their resources and material flow may be monitored and supervised using the invention to identify component and products flows. RFID tags could be routinely monitored to extract specific material flows.
Distributed sensors are increasingly used to monitor medical conditions of patients and the invention could be used to flexibly define monitoring regimes, to activate alarms, and to deliver prescribed treatment.

Claims

1. A method of routing data between a network of spatially distributed nodes, wherein each node comprises a data storage unit for storing data of the node's position and the position of at least two adjacent nodes in a frame of reference; the method comprising: receiving a data packet including a header comprising data of the final spatial destination of the data packet at a node; calculating the direction of the final spatial destination from the node; determining which of the at least two adjacent nodes is closest to the direction of the spatial destination; and forwarding the packet to the one of the at least two adjacent nodes that is determined to be the closest to the direction of the final spatial destination.
2. A method according to claim 1 , wherein the forwarding the packet comprises altering the header to include the position of the one of the at least two adjacent nodes that is determined to be the closest to the direction of the final spatial destination.
3. A method according to claim 1 or 2, further comprising determining the distance of the final spatial destination from the node and; if the node is closer to the final spatial destination than any of the at least two adjacent nodes, determining that the node is the final spatial destination for the packet.
4. A method according to any one of the preceding claims, wherein in the receiving a data packet, the header further comprises a packet identifier, and wherein the method further comprises, after receiving a data packet: comparing the packet identifier with a stored list of packet identifiers for packets previously received; and if it is determined that the packet identifier is not in the list, adding the packet identifier to the list and proceeding to calculating the direction; or if it is determined that the packet identifier is in the list, discarding the data packet.
5. A method according to any one of the preceding claims, wherein the data of the final spatial destination includes a scope parameter for indicating the number of nodes to which the data packet is directed.
6. A method according to claim 5, wherein the scope parameter is for indicating that the data packet is directed to: all nodes within the network; all nodes within a predetermined spatial region; a predetermined set of specific nodes; or a single predetermined node.
7. A method according to any one of the preceding claims, wherein the data of the final spatial destination further comprises a persistence parameter for indicating whether the data packet should be forwarded when it is received by a node.
8. A method according to claim 7, wherein the persistence parameter is for indicating that: the data packet should be forwarded by all nodes until it reaches the edges of the network; that the data packet should be forwarded towards the final spatial destination; that no automatic forwarding should be carried out; or that the data packet should be forwarded back to the node which sent it.
9. A method of establishing the position of at least two adjacent nodes to a selected node in a network of spatially distributed nodes, wherein each node comprises a data storage unit for storing data of the node's position and the position of at least two adjacent nodes in a frame of reference; the method comprising: transmitting a command from the selected node requesting that proximate nodes transmit their position; receiving responses for a predetermined period; calculating the direction and distance for each response received; determining a predetermined number of the closest of the responses received and storing data of the position of the corresponding nodes in the data storage unit of the selected node.
10. A method according to claim 9, wherein the determining the closest of the responses comprises: dividing the area surrounding the node into a plurality of predetermined regions; and for each of the plurality of predetermined regions, determining which of the responses received is the closest and storing data of the position of the corresponding node in the data storage unit of the selected node.
11. A method of routing a data packet to allow searching a network of spatially distributed nodes within a spatial region defined by at least one initial node having a position at an edge of the region. and a final node having a position at an edge or in the centre of the region, wherein each node comprises a data storage unit for storing data of its position and the position of at least two adjacent nodes, the method comprising: receiving a data packet comprising a header including data of the spatial position of the final node and a payload; determining if the packet has been received at the final node; and, if it is determined that it has not been received at the final node; waiting for a predetermined period for a corresponding data packet to be received from a proximate node, and, if such a corresponding data packet is received; processing the payload of the data packet; and forwarding the data packet towards the final node.
12. A method according to claim 11, wherein the predetermined period is calculated to correspond to the amount of time for an adjacent node to receive, process and retransmit the data packet.
13. A method according to claim 11 or 12, further comprising determining if the packet has been received at the initial node, and, if it is determined that the node is the initial node, processing the payload of the data packet.
14. A method according to any one of claims 11 to 13 , wherein the method is for searching for the location of a maximum value of a parameter and wherein the processing of the payload of the data packet comprises comparing the value of the parameter in the payload with a value of the parameter at the node, and, if the value of the parameter at the node is greater, updating the payload with the value of the parameter at the node and the position of the node.
15. A method according to any one of claims 11 to 13, wherein the method is for searching for the location of a predetermined value of a parameter, which is defined in the payload of the data packet, and wherein the processing of the payload of the data packet comprises comparing a value of the parameter at the node with the predetermined value and, if the value of the parameter at the data packet is the same as the predetermined value, updating the payload to additionally include the spatial position of the node.
16. A method according to any one of claims 11 to 13, wherein the method is for searching for the location of an isocline of a parameter, which is defined in the payload of the data packet, and wherein the processing of the payload comprises: sending commands to query the value of the parameter at each of the at least two adjacent nodes stored in the data storage unit; receiving the replies from the at least two adjacent nodes containing the value of the parameter at their location; comparing the value of the parameter at the node with the value of the parameter at the at least two adjacent nodes, and if it determined from the values that the node lies closest to the isocline, updating the payload to include the data of the node.
17. A computer program comprising code means that, when executed by a computer system, instructs the computer system to perform the method of any of the preceding claims.
18. A computer program product comprising a computer readable medium having code means embodied thereon, wherein the code means, when executed by a computer system, instructs the computer system to perform the method of any one of claim 1 to 16.
19. A node for a sensor and/or actuator network, the node comprising: at least one sensor or actuator; a data storage unit for storing the location of the node in a frame of reference and the location of adjacent nodes in the frame of reference; a processor connected to the at least one sensor or actuator and the data storage unit; and a communication unit connected to the processor for exchanging data directly with other nodes.
20. A node according to claim 19, wherein the node further comprise a location unit, for determining the location of the node within the frame of reference.
21. A network comprising at least two nodes according to claims 19 or 20.
22. A network according to claim 21, wherein the frame of reference is divided into at least two regions, and wherein the data storage unit of each node is further for storing details of which region the node is located in.
PCT/GB2007/003396 2006-09-08 2007-09-10 Method and network for routing data between a network of spatially distributed nodes using spatial indications WO2008029164A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0617641.6 2006-09-08
GBGB0617641.6A GB0617641D0 (en) 2006-09-08 2006-09-08 Sensor system

Publications (2)

Publication Number Publication Date
WO2008029164A2 true WO2008029164A2 (en) 2008-03-13
WO2008029164A3 WO2008029164A3 (en) 2008-05-08

Family

ID=37232546

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2007/003396 WO2008029164A2 (en) 2006-09-08 2007-09-10 Method and network for routing data between a network of spatially distributed nodes using spatial indications

Country Status (2)

Country Link
GB (1) GB0617641D0 (en)
WO (1) WO2008029164A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014108786A1 (en) * 2013-01-08 2014-07-17 Koninklijke Philips N.V. Optimizing message forwarding in a wireless mesh network
EP2202942B1 (en) * 2008-12-24 2018-02-07 Orange Group monitoring method
CN110928420A (en) * 2019-12-30 2020-03-27 华中科技大学鄂州工业技术研究院 Human body motion posture capturing method and system
CN112270392A (en) * 2020-10-28 2021-01-26 茅台学院 College laboratory management system integrating RFID and WSN positioning technologies
WO2023047197A1 (en) * 2021-09-21 2023-03-30 International Business Machines Corporation Distributed sensing and classification

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003071376A2 (en) * 2002-02-22 2003-08-28 Nokia Corporation Method and system for distributing geographical addresses across the surface of the earth
US20060010249A1 (en) * 2004-06-09 2006-01-12 Subramaniam Sabesan Restricted dissemination of topology information in a communication network
US20060013154A1 (en) * 2004-07-16 2006-01-19 Ajou University Industry Cooperation Foundation Directional flooding method in wireless sensor network
US20060165015A1 (en) * 1999-10-28 2006-07-27 Lightwaves Systems, Inc. Method for routing data packets using an IP address based on geo position

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060165015A1 (en) * 1999-10-28 2006-07-27 Lightwaves Systems, Inc. Method for routing data packets using an IP address based on geo position
WO2003071376A2 (en) * 2002-02-22 2003-08-28 Nokia Corporation Method and system for distributing geographical addresses across the surface of the earth
US20060010249A1 (en) * 2004-06-09 2006-01-12 Subramaniam Sabesan Restricted dissemination of topology information in a communication network
US20060013154A1 (en) * 2004-07-16 2006-01-19 Ajou University Industry Cooperation Foundation Directional flooding method in wireless sensor network

Non-Patent Citations (14)

* Cited by examiner, † Cited by third party
Title
AKYILDIZ I F ET AL: "Wireless sensor networks: a survey" COMPUTER NETWORKS, ELSEVIER SCIENCE PUBLISHERS B.V., AMSTERDAM, NL, vol. 38, no. 4, 15 March 2002 (2002-03-15), pages 393-422, XP004341653 ISSN: 1389-1286 *
AL-KARAKI J N ET AL: "Routing techniques in wireless sensor networks: a survey" IEEE WIRELESS COMMUNICATIONS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 11, no. 6, December 2004 (2004-12), pages 6-28, XP011123405 ISSN: 1536-1284 *
BASAGNI S ET AL: "A DISTANCE ROUTING EFFECT ALGORITHM FOR MOBILITY (DREAM)" MOBICOM '98. PROCEEDINGS OF THE 4TH ANNUAL ACM/IEEE INTERNATIONAL CONFERENCE ON MOBILE COMPUTING AND NETWORKING. DALLAS, TX, OCT. 25 - 30, 1998, ANNUAL ACM/IEEE INTERNATIONAL CONFERENCE ON MOBILE COMPUTING AND NETWORKING, NEW YORK, NY : ACM, US, 25 October 1998 (1998-10-25), pages 76-84, XP000850258 ISBN: 1-58113-035-X *
FREY H: "SCALABLE GEOGRAPHIC ROUTING ALGORITHMS FOR WIRELESS AD HOC NETWORKS" IEEE NETWORK, IEEE SERVICE CENTER, NEW YORK, NY, US, vol. 18, no. 4, July 2004 (2004-07), pages 18-22, XP001220889 ISSN: 0890-8044 *
HAAS Z J ED - INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS: "A new routing protocol for the reconfigurable wireless networks" 1997 IEEE 6TH. INTERNATIONAL CONFERENCE ON UNIVERSAL PERSONAL COMMUNICATIONS RECORD. SAN DIEGO, 12 - 16. OCT. 1997, IEEE INTERNATIONAL CONFERENCE ON UNIVERSAL PERSONAL COMMUNICATIONS, NEW YORK, IEEE, US, vol. VOL. 2 CONF. 6, 12 October 1997 (1997-10-12), pages 562-566, XP010248771 ISBN: 0-7803-3777-8 *
INTANAGONWIWAT C ET AL: "DIRECTED DIFFUSION FOR WIRELESS SENSOR NETWORKING" IEEE / ACM TRANSACTIONS ON NETWORKING, IEEE / ACM, NEW YORK, NY, US, vol. 11, no. 1, February 2003 (2003-02), pages 2-16, XP001144288 ISSN: 1063-6692 *
KO Y-B ET AL: "LOCATION-AIDED ROUTING (LAR) IN MOBILE AD HOC NETWORKS" WIRELESS NETWORKS, ACM, NEW YORK, NY, US, vol. 6, no. 4, September 2000 (2000-09), pages 307-321, XP001036337 ISSN: 1022-0038 *
MARIO JOA-NG ET AL: "A Peer-to-Peer Zone-Based Two-Level Link State Routing for Mobile Ad Hoc Networks" IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, IEEE SERVICE CENTER, PISCATAWAY, US, vol. 17, no. 8, August 1999 (1999-08), XP011054998 ISSN: 0733-8716 *
MARTIN MAUVE ET AL: "A Survey on Position-Based Routing in Mobile Ad Hoc Networks" IEEE NETWORK, IEEE SERVICE CENTER, NEW YORK, NY, US, vol. 15, no. 6, November 2001 (2001-11), pages 30-39, XP011092107 ISSN: 0890-8044 *
NAKAGAWA H ET AL: "GOLI: Greedy On-Demand Routing Scheme Using Location Information for Mobile Ad Hoc Networks" DISTRIBUTED COMPUTING SYSTEMS WORKSHOPS, 2006. ICDCS WORKSHOPS 2006. 26TH IEEE INTERNATIONAL CONFERENCE ON LISBOA, PORTUGAL 04-07 JULY 2006, PISCATAWAY, NJ, USA,IEEE, 4 July 2006 (2006-07-04), pages 1-1, XP010927143 ISBN: 0-7695-2541-5 *
RAO A ET AL: "GEOGRAPHIC ROUTING WITHOUT LOCATION INFORMATION" PROCEEDINGS OF THE 9TH. ANNUAL INTERNATIONAL CONFERENCE ON MOBILE COMPUTING AND NETWORKING. MOBICOM 2003. SAN DIEGO, CA, SEPT. 14 - 19, 2003, ANNUAL INTERNATIONAL CONFERENCE ON MOBILE COMPUTING AND NETWORKING, NEW YORK, NY : ACM, US, vol. CONF. 9, 14 September 2003 (2003-09-14), pages 96-108, XP001186711 ISBN: 1-58113-753-2 *
TANENBAUM: "Computer Networks" 27 November 2000 (2000-11-27), PRENTICE HALL , USA , XP002460491 page 351, line 19 - line 21 *
WEI LIU ET AL: "A robust and energy-efficient data dissemination framework for wireless sensor networks" WIRELESS NETWORKS ; THE JOURNAL OF MOBILE COMMUNICATION, COMPUTATION AND INFORMATION, KLUWER ACADEMIC PUBLISHERS, DO, vol. 12, no. 4, 8 May 2006 (2006-05-08), pages 465-479, XP019410572 ISSN: 1572-8196 *
YANG C-C ET AL: "Reduction of the broadcast redundancy by location awareness in mobile ad hoc networks" COMPUTER COMMUNICATIONS, ELSEVIER SCIENCE PUBLISHERS BV, AMSTERDAM, NL, vol. 26, no. 18, December 2003 (2003-12), pages 2082-2089, XP004456901 ISSN: 0140-3664 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2202942B1 (en) * 2008-12-24 2018-02-07 Orange Group monitoring method
WO2014108786A1 (en) * 2013-01-08 2014-07-17 Koninklijke Philips N.V. Optimizing message forwarding in a wireless mesh network
RU2661774C2 (en) * 2013-01-08 2018-07-19 Филипс Лайтинг Холдинг Б.В. Optimising message forwarding in wireless mesh network
US10993163B2 (en) 2013-01-08 2021-04-27 Signify Holding B.V. Optimizing message forwarding in a wireless mesh network
CN110928420A (en) * 2019-12-30 2020-03-27 华中科技大学鄂州工业技术研究院 Human body motion posture capturing method and system
CN110928420B (en) * 2019-12-30 2023-06-13 华中科技大学鄂州工业技术研究院 Human body motion gesture capturing method and system
CN112270392A (en) * 2020-10-28 2021-01-26 茅台学院 College laboratory management system integrating RFID and WSN positioning technologies
WO2023047197A1 (en) * 2021-09-21 2023-03-30 International Business Machines Corporation Distributed sensing and classification

Also Published As

Publication number Publication date
WO2008029164A3 (en) 2008-05-08
GB0617641D0 (en) 2006-10-18

Similar Documents

Publication Publication Date Title
Tubaishat et al. Sensor networks: an overview
US8624729B2 (en) Monitoring method, a monitoring system and a sensor station
Khoufi et al. Survey of deployment algorithms in wireless sensor networks: coverage and connectivity issues and challenges
Nasri et al. 3D node deployment strategies prediction in wireless sensors network
Bojkovic et al. A survey on wireless sensor networks deployment
Gajbhiye et al. A survey of architecture and node deployment in wireless sensor network
JP2017510919A (en) Distributed processing system
US8912917B2 (en) Monitoring module, system and method
WO2008029164A2 (en) Method and network for routing data between a network of spatially distributed nodes using spatial indications
Kamal et al. Introduction to wireless sensor networks
WO2019046336A1 (en) Collaborative sensor network
WO2007112975A1 (en) Distributed organization of sensor networks
Hamzi et al. Multi-agent architecture for the design of WSN applications
Liu et al. Applications, models, problems, and solution strategies
Modukari et al. Autonomous middleware framework for sensor networks
Venkataraman Target Coverage and Network Connectivity Challenges in Wireless Sensor Networks.
Kumar et al. WSAN Emerging Technology for IoT
Rajaram Jatothu et al. Heuristic and machine learning strategies for improved clustering and data aggregation in the Internet of Things
Lee et al. Middleware integration for ubiquitous sensor networks in agriculture
Dulman et al. Architectures for wireless sensor networks
Shah et al. Adaptive Pull–Push Based Event Tracking in Wireless Sensor Actor Networks
Souza et al. Gradys: Exploring movement awareness for efficient routing in ground-and-air dynamic sensor networks
Watfa Coverage issues in wireless sensor networks
Shivaprakasha Object Recovery System Using Wireless Sensor Networks for Smart Cities
Hoyle Location Aware Distributed Agents in Intelligent Environments

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07804194

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07804194

Country of ref document: EP

Kind code of ref document: A2