Abstract:
A multi-processor communication system includes a plurality of processors in bidirectional communication with one another. One processor can transmit a message to an intended recipient. The message can be correctly received by other processors. In the event that the intended processor does not correctly receive the message and transmits a failure indicating message, the other processors, upon detection of the failure will retransmit the message. Ambient condition sensors can be coupled to some of the processors.

Description:
FIELD OF THE INVENTION 
     The invention pertains to apparatus and methods for communicating signals between processors in multi-processor systems. More particularly, the invention pertains to such systems wherein the processors communicate with one another via a communications medium. 
     BACKGROUND OF THE INVENTION 
     Communications circuitry for use in multi-processor systems dedicated to monitoring or supervising regions is known. One example is disclosed in Tice et al U.S. Pat. No. 4,916,432 entitled Smoke and Fire Detection System Communication. Another is disclosed in Tice U.S. Pat. No. 5,525,962 entitled Communication System and Method. Both of the noted patents are assigned to the assignee hereof and are hereby incorporated herein by reference. 
     Another system is disclosed in copending application Ser. No. 08/906,277, filed Aug. 5, 1997 and entitled Multi-Processor Communication System. This application is also assigned to the assignee hereof and is also incorporated by reference. 
     While known systems are useful and have been effective, it would be desirable to be able to improve the level of reliability of transmission of information in a given system. Further, it would be desirable to be able to provide apparatus and methods of retransmission essentially automatically. Such an environment would be useful in supervision or alarm systems as well as in general purpose local area networks. 
     SUMMARY OF THE INVENTION 
     A multi-processor communications system or network provides for repeated transmissions of messages where an intended receiver signals that the received message failed an integrity test. In that event, those processors, not the intended recipients of the message, which had correctly received the message will automatically retransmit the message. 
     In one aspect, there can be a plurality of programmed processors which communicate by a bidirectional communications medium. The medium can correspond to the ambient atmosphere for RF, infrared or ultrasonic transmissions. Alternately, the medium can correspond to optical or wire cable for optical or electrical transmissions. 
     Each processor can analyze all received transmissions. Where a processor determines that it is not an intended recipient of a respective transmission, but where it has received that transmission with a predetermined degree of integrity, that processor, and any others so situated can “listen” for an “integrity deficient” message on the medium generated by the intended recipient of the message. In that instance, any processor which has properly received the message can rebroadcast same to the network. The rebroadcast message, coming from a different transmission source, may be received by the intended recipient with the required degree of integrity. 
     In another aspect, in a communication system, messages are transmitted to/from devices or to/from a control unit. In the event that errors are detected in the communications, the other devices in the system that did not detect any errors can act as repeaters of the original message. This will increase the likelihood of the message being received by all intended devices or the control unit without additional errors. 
     Marginal transmission lines or noise conditions in the system can be overcome because the devices that are acting as repeaters are likely to be closer to the devices or control unit having difficulty receiving the messages. 
     In another aspect, a system includes a plurality of communication units, wherein each of the units is in bidirectional communication with others of the units. The units include detection circuitry for receipt of messages transmitted by others of the units and transmission circuitry for broadcasting of messages to at least one other unit. The detection circuitry and the transmission circuitry are coupled to control circuitry. 
     A first transmitting unit sends a first message to a second unit. The second unit is required to send an acknowledgment message in response to receiving the message without error. At least a first, second, and third unit are capable of receiving the first message and storing it. 
     An acknowledgment message is not transmitted by the second unit in the presence of an error. The missing message thus indicates that there was a transmission error. In response to not receiving the acknowledgment message, at least a third unit retransmits the first message to the second unit. 
     If devices are operating as repeaters to pass messages between devices, the last unit that sent the message that was not received error free by the next unit is considered the first unit sending the first message. The next unit is considered the second unit. 
     In another system, a plurality of communication units is in bidirectional communication with others of the units. Each of the units includes detection circuitry for receipt of messages transmitted by at least one other unit and transmission circuitry for broadcasting of messages to at least one other unit. The detection circuitry and the transmission circuitry are coupled to control circuitry. 
     The system includes executable commands at the respective units to identify that a first transmitted message from a first unit was not received without error by a second unit. A third unit will repeat the first transmitted message when it has determined that the second unit did not receive the message without error. 
     A multi-processor communications system includes a plurality of processors that can communicate via a medium. At least a first programmed processor includes interface circuitry for transmitting a first file via the medium to a second processor. The system includes programs effective to identify that an error has occurred in transmitting the first file. In response, a third processor transmits a second file which contains at least part of the first file via the medium when an error has occurred in the first transmission. 
     The programs to identify that an error has occurred in transmission of the first file detect that the second processor did not send an acknowledgment message after the first processor transmitted the first message. 
     In yet another aspect, system operation can be verified by keeping track of the presence or absence of communication errors noted by respective devices of the system. For example, the devices which are monitoring the communications medium of the system can carry out an error or integrity check of each message being monitored, including those directed to other devices. Where errors have been detected, an internal flag can be set or indicator stored. 
     Subsequently, the respective device or devices can then transmit the error indicators in response to a message or command requesting a transmission of its error monitoring indicators. The command can be issued by another device or a common control element. Message integrity can be verified using check sums or any other suitable processes without departing from the spirit and scope of the present invention. 
     Advantageously, since all messages received by devices of the system will be assessed from the point of view of the integrity of the message, irrespective of whether that message is intended for the receiving device or not, the integrity of the communication medium can be evaluated. An inappropriately large incidence of transmission errors which are detected by a particular device may well be indicative of a need to carry out maintenance on the system in the vicinity of that device. 
     In a further aspect, each device of a multiple device system can function in a normal mode and a repeat mode. Each device can monitor the medium, whether wired or wireless. Data values received by multiple devices can be immediately retransmitted, via the medium,to increase received signal strength at the intended receiving device. 
     In this embodiment, all devices, except the intended receiving device retransmit, on a bit-by-bit basis information from an originating device. This retransmission occurs irrespective of the absence of errors in the received message. Hence, signal strength throughout the medium will be enhanced minimizing noise induced errors or errors due to losses from shunt impedances or capacitive effects. 
     Numerous other advantages and features of the present invention will become readily apparent from the following detailed description of the invention and the embodiments thereof, from the claims and from the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a system in accordance with the present invention; 
     FIG. 2 is a block diagram of an electrical device usable with the system of FIG.  1 . 
     FIGS. 3A-3C illustrate different transmission and retransmission sequences for the system of FIG. 1; 
     FIG. 4 illustrates an alternate retransmission sequence; and 
     FIG. 5 is a timing diagram for FIG.  4 . 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     While this invention is susceptible of embodiment in many different forms, there are shown in the drawing and will be described herein in detail specific embodiments thereof with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit the invention to the specific embodiments illustrated. 
     FIG. 1 illustrates a multi-processor system  10  which can be used for monitoring a plurality of conditions in one or more regions to be supervised. The system  10  includes an optional common control unit  12  which could be implemented as one or more interconnected programmed processors and associated, prestored instructions. 
     The unit  12  includes an interface for coupling, for example, to a communications medium  14 , illustrated in FIG. 1 for exemplary purposes only as an optical or electrical cable. Alternately, the system  10  can communicate wirelessly, such as by RF or infrared, via transceiver  16 , illustrated in phantom in FIG. 1, and antenna  16   a.    
     Coupled to medium  14  is a plurality of electrical units  18 . the units  18  could be, for example, ambient condition detectors. A plurality of control or function units  20  is also coupled to medium  14 . It will be understood that the relative arrangement of the members of the pluralities  18  and  20  relative to the medium  14  is not a limitation of the present invention. 
     The members of the plurality  18  can include intrusion sensors, position sensors, gas sensors, fire sensors such as smoke sensors, thermal sensors or the like, and gas sensors all without limitation. The members of the plurality  20  can include solenoid actuated control or function implementing units, display devices, printers or the like. 
     Where system  10  incorporates a wireless communications medium, a plurality  22  of wireless units could be in bidirectional communication with transceiver  16  as well as directly with one another. The plurality  22  can include, without limitation, ambient condition detectors, as noted above as well as control or function implementation devices without limitation. The members of the plurality  22  can also directly communicate with one another. 
     Also coupled to the control unit  12  via a medium  24 , illustrated for example as a pair of electrical cables, is a plurality  26  of output devices. These could include audible or visible output devices without limitation, speech output devices and the like. The devices  26  are intended to broadcast a message, which might indicate alarm condition, in one or more predetermined regions. 
     While exemplary system  10  is a monitoring system, it will be understood that the invention is not so limited. Use of the present apparatus and method in communications systems having different purposes is within the spirit and scope of the present invention. 
     FIG. 2 illustrates in block diagram form an exemplary device  18   n  of the pluralities  18 ,  20 ,  22 . The device  18   n  can include a control element  30  which can be implemented as a programmable processor having associated read-only or programmable read-only memory  30   a  and read-write memory  30   b . Coupled to the processor  30  is input/output interface circuitry  32 . Circuitry  32  can be adapted to in turn be coupled to communication link  14 . Alternately, circuitry  32  can be adapted to be coupled to a transceiver  34 . Transceiver  34 , which could be, for example an RF transmitter/receiver could also include an antenna  34   a  to facilitate bidirectional wireless communication with other members of the plurality  22 , for example, or the element  12 . 
     The member  18   n  can include at least one an ambient condition sensor  36   a  illustrated in phantom. The sensor  36   a  can include without limitation a smoke sensor such as a photo electric sensor, ionization sensor, gas sensor, humidity sensor or the like. 
     The device  18   n  can also optionally include output circuitry  36   b  for implementing an output function such as energizing a solenoid, enabling another device or the like. 
     FIGS. 3A-3C illustrate a system showing the location of a plurality of devices  1 ,  50 ,  90 ,  120 ,  200  and the waveform at each device as a function of the device transmitting data. 
     FIG. 3A illustrates the waveform at devices  200 ,  120 ,  90 ,  50 , and the control unit  12  when device  1  is transmitting a message to device  200 . If the detect threshold is 5 volts, then device  200  will be marginal because the waveform only reaches 5 volts at the peak. Assume that device  200  then detects an error and indicates that error by a transmission on the link  14 . All other devices originally received the message without error. 
     When a communication error is recognized by devices or the control unit, devices that received the data/message without error may transmit the original data/message again to the devices coupled to the medium. 
     In FIG. 3B, device  90  recognized that an error had occurred in the prior communication. Device  90  received the message without error and therefore retransmitted the original message. Due to device  90 &#39;s retransmission, the waveform had not deteriorated and would be acceptable at all devices. No further errors have been generated by that repeated message so the communication is complete. 
     If another error had resulted, then another device could again retransmit and the process would repeat until no further errors were detected. The selection of which devices act as the repeater or the order they assume the repeater role can be predetermined by priority or address or some other means without departing from the spirit and scope of the present invention. 
     FIG. 3C illustrates an example where all devices are capable of transmitting the data simultaneously. In this case, all devices are functioning simultaneously as repeaters. The retransmitted message signal will have acceptable characteristics to the entire group of devices and no error should result. The communication integrity is very high because the signal strength is high everywhere on the link. 
     In accordance with the present invention, devices can not only initiate or receive transmissions, they can switch to a repeat mode. The phrase “non-repeating transmission” as used herein refers to a device which is attempting to initiate a transmission to one or more receiving devices. In this mode, the subject device is not repeating a transmission on the medium. 
     As a normal transmission method if the devices are capable of simultaneously driving data, the devices could all operate as in FIG.  4 . Devices could use a contention method to provide priority access of data/messages transmitted on the communication link. If a device drops off the link because it has a lower priority, then those devices could revert to a second mode and become repeaters for the data/message. 
     In this mode, as soon as a device detects a data value at its input, it would retransmit or drive a data value on the medium  14 . The resulting data pulse on the medium or link  14  would be extended in length by any filtering delays associated with device input circuits. This extended time could be acceptable especially if designed into the communication protocol. This would then result in signals with excellent signal strength everywhere on the communication link. FIG. 5 is a timing diagram illustrating how the data waveform would appear on the link  14  with device  1  initially driving the data pulse. 
     As illustrated in FIG. 5, at point  1 , the signal is not sufficient to be received by device  200 . But when units  50 ,  90 , and  120  add their data drive to the data drive of unit  1 , the signal increases to the level at point  2 . Unit  200  now sees a strong signal. The illustrated signal delays ignore wave propagation times that further extend the pulse value, because these times are typically on the order of microseconds. The system is designed to accommodate signals having an extended pulse width. 
     The communication quality or integrity of the system  10  can be assessed by using system devices, such as the members of the pluralities  18 ,  20  or  22  to monitor all communications associated with their respective communications media. The members of the pluralities  18 ,  20 ,  22  can include instructions for verifying the integrity of received messages irrespective of whether the respective received message is intended for the receiving device. For example, the devices prestored instructions can determine if messages have been received with appropriate check sums or other integrity indicating parameters without limitation. 
     Each of the respective devices can generate and store, for example in memories  30   a  or  30   b ,indicators indicative of the number of received errors. The stored error indicators are indicative of the quality of communications being received by the respective device. 
     The stored indicators can be accessed by other members of the pluralities  18 ,  20 ,  22  or common control element  12  for purposes of assessing over-all system functioning. If a particular device has recorded reception errors which exceed a predetermined criterion, the control element  12  can ascertain that transmission quality in the vicinity of the respective device, or devices, is not adequate. Remedial action or maintenance activities can be undertaken. 
     System  10  will accumulate error indicators at each of the respective devices without incurring additional overhead relative to transmissions on the medium. The error indicators can be transmitted separately or in combination with other parameters being sent by the respective device to a requesting device or to the control element. Transmissions of the communications integrity indicators can be carried out at low traffic time periods. 
     From the foregoing, it will be observed that numerous variations and modifications may be effected without departing from the spirit and scope of the invention. It is to be understood that no limitation with respect to the specific apparatus illustrated herein is intended or should be inferred. It is, of course, intended to cover by the appended claims all such modifications as fall within the scope of the claims.