Abstract:
Sensors in a network each have a geographical location and they each periodically broadcast this information to all the sensors in the network. Each receiving sensors then builds a list of sensors (neighbor list) that are closest to that sensor by computing the distance between itself and the other sensors. This list can then be used along with a decision algorithm to decide whether that sensor should act or perform a command when it receives a message from other sensors. In one embodiment, a sensor can use the neighbor list to command a specific other sensor(s) to perform a specific function.

Description:
FIELD OF THE INVENTION 
   This invention relates to measurement sensors and more particularly to a sensor network where neighboring sensors cooperate with one another without central control and even more particularly to sensor networks where neighboring sensors autonomously interact with each other to perform measurements. 
   BACKGROUND OF THE INVENTION 
   Many applications of distributed sensor networks require a spatial understanding of where the sensors are located. This geographical location information is necessary so that the system can make decisions to observe a phenomenon at a particular location or observe a phenomenon at a number of locations. For example, if one sensor in a network observes a local phenomenon it may be desirable for other nearby sensors to also observe the same phenomenon. Since it usually would not make sense for all sensors in the network to observe the phenomenon, attempts to control such observation under central control are difficult to achieve. 
   One structure for achieving this result is for a central controller to keep track of all sensor geographical locations and “instruct” one or more sensors in a desired location to make a measurement, observe a phenomenon, perform an action or a combination thereof. This consumes transmission bandwidth as well as processor time and often is not practical. For example, in prior systems a manual determination is made as to the location of all sensors in a network. Then a “neighbor” list is constructed and distributed to all sensors. In addition to being cumbersome, this approach is prone to errors arising from transmission difficulties as well as from using “stale” data. 
   BRIEF SUMMARY OF THE INVENTION 
   Sensors in a network each have a geographical location associated with them and they each periodically broadcast this information to all the sensors in the network. A receiving sensor then builds a list of sensors that are closest to that sensor by computing the distance between itself and the other sensors. This list can then be used along with a decision algorithm to decide whether that sensor should act or perform a command when it receives a message from other sensors. 
   This geographical neighbor list can be used in several ways. One way is for a sensor to perform an action and then send a message to other nearby sensors to command the neighbor sensors to act in a particular manner. A second way is for a sensor to observe a phenomenon and then broadcast a message to all sensors notifying them that the phenomenon was observed. Each receiving sensor can then determine for itself whether it is near the phenomenon and whether it is capable of acting and if so, determining if it should act in a particular manner based on the broadcast message. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     For a more complete understanding of the present invention, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which: 
       FIG. 1  shows one embodiment of a multi-sensor network with intersensor communication; 
       FIG. 2  shows one embodiment of a sensor for use in a sensor network; and 
       FIGS. 3 ,  4 ,  5  and  6  show embodiments of the operation of a sensor network. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
     FIG. 1  illustrates one embodiment  10  of a measurement system having a plurality of spaced apart sensors. The concepts taught herein can be used in such a system or can be used with any system in which a data collection point has geographical data about itself that can communicate to other data collection points. In the discussion to follow, a system will be described where the geographical data is communicated among (perhaps as metadata along with measurement data) the various sensors, such as among sensors  20 - 1  to  20 -N. 
   In the embodiment of  FIG. 1 , data from the sensors is transmitted, if desired, to data collection  11  via network  12  either wirelessly or by wireline or by a combination thereof. Also note that a network need not be used, but rather some or all of the communications from sensors  20 - 1  to  20 -N can be point-to-point using one or more wireless protocols, such as, for example, the Bluetooth protocol. Also, as will be discussed, certain data can be communicated directly among sensors via link  110  which advantageously would be a wireless link, but could be wireline, if desired. 
     FIG. 2  shows one embodiment  20  of a sensor having various controls for sending geographical data along with measured data. In the embodiment, the geographical data contained in storage  21  and data from the sensor (for example data obtained via input  25 ), is stored in storage  23 . Note that storages  21  and  23  can be the same storage if desired. Also note that the measured data sent from sensor  20  need not be stored in sensor  20  and can be communicated to data collection  11  as it is collected. Input  25  can measure data, or sense data, or sense conditions and report the results of the “sensing”. In addition, data can be provided to sensor  20  from other sensors via intersensor communicator  26 . In the discussion herein, measured data sent from sensor  20  includes any mode or manner of collecting and sending such data including data that is observed or communicated from another location. In the embodiment, data is sent under control of processor  22  and intersensor communicator  26 , if it is desired to send data to data collection point  11  then communicator  24  can be used. 
   Control device  202  determines the geographical location of the sensor. This can be accomplished by using any well-known method, such as, for example, GPS built into the sensor, GPS data sent to the sensor, remote determination of sensor location (for example, a cell phone&#39;s base station sending the cell phone its location). 
   Storage  201  shares the geographical location of “neighbors”. The definition of “neighbor” can change from time to time and from measured phenomenon to measured phenomenon. These definitions can be downloaded, for example, from collection point  11 , and stored in memory  203 . 
   Communicator  24  or intersensor communicator  26  can be used to broadcast the determined physical location of the sensor. When a sensor receives such a broadcast (which can be repeated from sensor to sensor) the sensor can determine, based on instructions locked in memory  203 , if the geographical location of a particular other sensor should be stored in storage  202 . Based on this storage of other sensor&#39;s geographical locations, neighbor list (or lists) can be determined. 
   By having each sensor independently generate its own list of nearby sensors, no manual system configuration is required and the neighbor table can be dynamically updated as the sensor network grows or changes when sensors are moved or when sensors change status. This significantly reduces the maintenance requirements for large systems and reduces potential for errors such as adding incorrect entries into the location table, entering a location table in the incorrect sensor, or even forgetting to enter a table in a sensor. 
   Turning now to  FIG. 3  there is shown algorithm  30  which could be stored in memory  203  under control of processor  22 . Algorithm  30  shows one embodiment for constructing a neighbor list such that when a message is received via process  301  from another sensor having geographical location information within the message the received geographical information is processed according to rules established in memory  203  to construct a “neighbor” list as shown by process  302 . The neighbor list then is stored in the “neighbor list” via process  303 . This neighbor list can be a single list or it can be different lists depending upon anticipated different measured phenomenon later to be communicated to the sensor. From time to time the algorithm used and stored in memory  203  can be changed. This changing can be, for example, by data collection system  11  under control of processor  101 , storage  102  and communication device  103  shown in  FIG. 1 . 
     FIG. 4  shows algorithm  40  outlining one embodiment for controlling a neighbor sensor, as shown in process  401 , when a sensor, such as sensor  20 - 1 , observes a phenomenon. Process  402  accesses the neighbor sensor list to determine, for the measured phenomenon, what sensors to use for further observation or testing. Under control of process  403  a command is sent to one or more neighbor sensors instructing the recipient sensor(s) to perform a specific function. The manner in which the function will be performed at the receiving sensor will be discussed hereinafter with respect to  FIG. 6 . 
   In an alternate mode, algorithm  50 , shown in  FIG. 5 , when process  501  observes a phenomenon, process  502  determines whether this observed phenomenon should be broadcast to all sensors or sent only to selected sensors. If this is a broadcast, then process  503  broadcasts the phenomenon to all sensors in the system. If this is to be a selective broadcast, then process  504  accesses the appropriate neighbor sensor list and based upon the neighbor list process  305  broadcasts the phenomenon only to the sensors on the neighbor list. 
   Turning now to  FIG. 6 , algorithm  60  shows one embodiment of how a sensor would process incoming messages. Process  601  receives a message from one or more sensors and process  602  determines if the message contains a measured phenomenon or a command to perform a specific action. If the message is a command message, then process  603  performs the function of the command. This performance can be completely controlled by the sending sensor or the operation can be controlled by algorithms stored, for example, in memory  203  of the message receiving sensor based upon codes or other instructions from the sending sensor. If desired, the receiving sensor can return a message back to the sending sensor or, can send the measured results of the command back to data collection point  11 . 
   If the received message is not a command, then process  604  determines if a measured phenomenon is attached to the message. If not, then nothing is done at this point. If a measured phenomenon is attached, then process  605  reads the measured phenomenon and determines the location of the sending sensor. This determination can be made, for example, by information contained in the message, such as geographical metadata pointing to the location of the sending sensor, or it can be metadata that contains an identification of the sending sensor thereupon facilitating a look up of the sending sensor&#39;s location in the neighbor list of the receiving sensor. 
   Process  606  then checks its instructions, for example, instructions contained in memory  203 , and under control of processor  22  determines the relative geographical position between the receiving sensor and the sending sensor. Based upon the relative geographical locations, process  607  performs the appropriate function via process  608 . Again, the results can be sent, if desired, back to the sending sensor or to a data collection point. Also, the new measured information can be retrained in storage  23  for further use at a later time. 
   Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims. Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the present invention, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present invention. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.