CA1252535A - Adaptive communication network and method - Google Patents

Adaptive communication network and method

Info

Publication number
CA1252535A
CA1252535A CA000510903A CA510903A CA1252535A CA 1252535 A CA1252535 A CA 1252535A CA 000510903 A CA000510903 A CA 000510903A CA 510903 A CA510903 A CA 510903A CA 1252535 A CA1252535 A CA 1252535A
Authority
CA
Canada
Prior art keywords
message
messages
link
unit
down link
Prior art date
Legal status (The legal status 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 status listed.)
Expired
Application number
CA000510903A
Other languages
French (fr)
Inventor
Michael A. Robinton
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ROBINTON PRODUCTS Inc
Original Assignee
ROBINTON PRODUCTS Inc
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 ROBINTON PRODUCTS Inc filed Critical ROBINTON PRODUCTS Inc
Application granted granted Critical
Publication of CA1252535A publication Critical patent/CA1252535A/en
Expired legal-status Critical Current

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
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J13/00Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network
    • H02J13/00006Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network characterised by information or instructions transport means between the monitoring, controlling or managing units and monitored, controlled or operated power network element or electrical equipment
    • H02J13/00007Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network characterised by information or instructions transport means between the monitoring, controlling or managing units and monitored, controlled or operated power network element or electrical equipment using the power network as support for the transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/54Systems for transmission via power distribution lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B2203/00Indexing scheme relating to line transmission systems
    • H04B2203/54Aspects of powerline communications not already covered by H04B3/54 and its subgroups
    • H04B2203/5404Methods of transmitting or receiving signals via power distribution lines
    • H04B2203/5408Methods of transmitting or receiving signals via power distribution lines using protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B2203/00Indexing scheme relating to line transmission systems
    • H04B2203/54Aspects of powerline communications not already covered by H04B3/54 and its subgroups
    • H04B2203/5462Systems for power line communications
    • H04B2203/5495Systems for power line communications having measurements and testing channel

Abstract

Abstract of the Disclosure A communication system for use in a network of interconnected communication paths such as electrical power lines utilized for distributing electrical power.
The system includes two or more remote units and a master unit, each having an associated address, which are connected to the network. The remote units are each capable of initiating a down link message sequence wherein a data package containing data, such as data relating to power consumption, is transferred from one of the remote units to the master unit. The down link message sequence may include the transmission of one or more messages containing the data package by the remote units with the particular path taken being a function of network conditions. The master unit acknowledges receipt of the data package by initiating an up link message sequence wherein the remote units transmitting during a down link sequence are informed of the receipt. In addition to addresses and data package the messages include information regarding network conditions. By way of example, a message may include information which indicates the amount of noise present in the message path between the transmitting remote unit and the master unit and information which indicates the number of message transmissions required to transfer a data package from the transmitting unit to the master unit. Remote units ascertain network conditions for selecting optimum message paths by examining messages received on the network, including messages not directed to the receiving remote unit.

Description

~Z~ 5~3~:~

~daptive Communication ~1etwork and ~ethod ______~

Technical--Field The sub~ect invention relates yenerally to communication networks and me~hods and, more particu-larly~ to an adaptive communication network having a control or master unit which is in communication with a plurality of remote uni~s and which is capable of automatically changing communication patns in the presence of noise and other changes in the network.

Background Art __ In many communication networks, it is necessary for various remote sending units to periodically forward data to a central or master unit. By way of example, many older buildings, such as apartment buildings, are wired such that it is only convenient to measure the amount of electrical energy consumed by the entire building or a major subsection of the building using a centralized meter. It is frequently not convenient to install separate meters in the individual units or apartments since access to the meters in the apartments is usually not available.
One solution to the foregoing problem is to rewire the building to include a line to each apartment from each meter to a central site. The cost of such rewiring is typically prohibitive. The building power lines which are fed to each apartment can be used Eor transmitting data to a central unit by injecting a modulated carrier signal on the lines. Thus, it is not necessary to rewire the building. However, power lines are notoriously noisy; therefore, it is difEicult to establish a reliable communication link without utilizing an inordinately high amount of signal power.

- ~&

53~

In addition, the noise on a particular data path will typically drastically change witn respect to time. By way of exa~ple, if electrical equipment utilizing a normally noise-free line is turned on, the increase in noise may be so great that no reasonable amount of signal power will insure reliable communication over the lineO
The present invention overcomes the above-noted limitations in conventional metering applications.
Existing power lines are used for transmitting a modulated carriert therefore substantially no changes in the building wiring need be made. In addition, immunity to noise is provided by virtue of a data package store and forward Eunction which is perormed by each remote unit so that a data package originating from remote units can be relayed by other remote units towards the master unit. The particular path taken by a data package is also automatically altered to ta~e into account changes in power line noise and other 2n network conditionsO These and other advantages oE the subject invention will be obvious to those skille~ in the art upon a reading of the following ~est Mode or Carrying Out the Invention, together with the drawings.

C~ e l:~vent-~n A communication system for use in a network of interconnected communication paths is disclosed. The communication paths may include, for example, a network of power lines for distributing electrical energy. The system includes a plurality o communication nodes which are capable of transmitting messages on the net-work including a master unit and a plurality of remote units which are also capable of receiving messages on the network. Each node has an associated address for identiying the node. The system may also include remote units, sometimes referred to as secondary remote units, which are capable oE only transmitting ~essages.
Remote units capable of both transmitting and receiving messages are sometimes refe~red to as prilnary remote units to distinguish them from secondary remote units.
The primary remo~e units are each capable o initiating a down link message sequence wherein a data package is transferred from the remote unit to the master unit. The data package may include for example, power consumption data produced by a power meter associated with the initiating remote unit. The data package may also be associated with a secondary unit which transmitted a message received by the se~uence initiating primary remote unit if secondary remote units are utilized.
The down link message se~uence includes the trans~
mission of at least one message, with such messages be-in~ referred to as down link messages. It is possible that two or more successive down link message transmis-sions will be required to transfer the data package to the master unit.
The down link messages include, in addition to the data package, a source address identifying the node which is associated with the data package. For example, if the down link message contains a data package from a secondary remote unit~ the source ac~dress will correspond to the secondary remote unit address. ~he down link messages also include an intermediate source address identifying which of the nodes transmitted the message and an intermediate destination address identifying which of the nodes is intended to receive the messa~es.
By way of example, if a first primary remote unit received a message from a secondary remote unit and transmits a subsequent message to a second primary remote unit, the subsequent message will have a source address which corresponds to the secondary remote unit 3r;~

address, an intermediate source address whic'n corres-ponds to the first primary remote unit addr~ss, and an intermediate destination address which corresponds to t`lle second primary remote uni-~ address. It is likely that other remote units, in addition to the second pri-mary remote unit will receive the message since the primary remote units are all capable oP receiving messages on the network.
The master unit is capable of initiating an up link message sequence in response to receipt of one of the down link messa~es. The up link sequence serves to inform the down link sequence-originating remote unit that the master unit received the data package from the sequence-originating remote unit. The up link sequence includes the transmission of one or more messages, reerred to as up link messages.
The up link messages include an intermediate source address identifying the node which transmitted the message, an intermediate destination address which ~0 identifies which of the nodes is intended to receive the message and a inal destination address identifying the node associated with the data package present in the down link message received by the master unit which resulted in the responding up link message. By way of example, if the data package associated with a secondary remote unit had been transfered from a first primary remote unit to the master unit, the responding up link message transmitted from the master unit to the ~irst primary remote unit will have an intermediate source address which corresponds to the address of the master unit, an intermediate destination address ~hich coresponds to the first primary remote unit address and a final destination address which corresponds to the address of the secondary remote unit.
The remote units are provided with a remote input means for receiving the data package to be ~ransferred iL Z ~ ~ 5 to the master unit. The remote input means includes remote receiver means for receiving messaqes transmitted over the network. In that event, the data package is derived from the received messayes. The remote input means may also include data input means for receiving the data package rom a data source associated with the remote unit. An exemplary associated data source would be a power rneter.
The remote receiver means includes direction means Eor discriminating between the up and down link messages received by the remote unitO By way of example~ the messages may include one or more bits which indicate message direction, with the direction means examining such bits of received messages. The remote receiver means further includes store and forward means for identifying received messages requiring a transmit action by the remote unit.
Transmit action may include a message transmission during an up or down link message sequence. A transmit action may also include the initiation of a down link message sequence. This may occur when a primar~ remote unit receives message from a secondary remote unit if such units are present.
In addition to the remote input means, the remote units include a remote transmitter means for transmitting the messages in response to receipt by the remote unit of a message requiring a transmit action by the unit. The remote transmitter means includes down link transmit means for transmitting down link messages containing a data package. In the event the communication nodes include secondary remote units, the down link transmit means will transmit down link messages containing a data package obtained from messages received from the secondary units.
The down link transmit means includes down link address means Eor determining the intermediate destination address of messages transmitted hy the remote units. The address is determined utilizinq at least one parameter indicative oE network conditions obtained from messages received by the remote units.
The parame~ers are obtained, at least in part, from messages whicn are not directed to the subject remote unit, i.e., received messages having an intermediate destination address which is other than that oE the receiving remote unit. It is these messages which contain information regarding network conditions which may enable the receiving remote unit to select alternative down link addresses which are more preferable than the intermediate destination address presently used by the remote unit for transmitting down link messages.
There are several possible parameters indicative of network conditions which can be utilized by the down link address means for determining optimum down link intermediate destination addresses. In the presently-preEerred embodiment~ a total of seven parameters areutilized, although fewer or more parameters and different parameters will provide satisfactory operation. One such parameter is whether a potential down link intermediate destination address is also used for intermediate destination addresses Eor up link messages. If this is the case, the node identified by the address is less likely to be suitable for receiving down linX messages. The amount of noise present in messages transmitted by the node is an example oE a further parameter.
The remote transmitter means further includes up link transmit means for transmitting up link messages in the event the message received by the remote unit is an up link message. The up link transmit means includes up link address means for determining the intermediate destination address of the up link S~5 message. In the pre~erred embodiTnent, the up link intermediate address is typically determined ~1uring a previous down link message sequence~
The master unit is provided with a master receiver means and a master transmitter means. The master receiver means is a means ~or receiving messages transmitted over the network and includes AirectiGn means for discriminating between up and down link messages. The master transmitter means is a means for transmitting up link messages in response to receipt of the master unit of a down link message. The up link message may, for example, be the Eirst message of an up link message sequence wherein a down link sequence-originating remote unit is informed of receipt of a data package by the master unit, as previously descrihed.

Figure 1 is a schematic diagram of an exemplary apartment building depicting a typical power line arrangement which can be utilized in connection with the suhject communication system.
Figure 2 is a schematic diagram illustrating a typical communication system and exemplary communica-tion paths among the various remote communication units and the master communication unit of a preferred embodiment o the subject invention.
Figure 3 is a schematic block diagram of a com~
munication unit oE the subject communication system.
Figure 4A is a block diagram of the receiver section of the communication units o the subject com-munication system.
Figure 4B is a block diagram of the transmitter section of the communication units of the subject communication system~

Figure 5 is a diagram depicting the various registers oE ~he communication units oE the subject communication system.
Figure 6 is a simplified flowchart depicting the executive program for controlling overall operation of the communication units oE the subject system.
Figure 7A - 7~ is a flowchart depicting the manner in which remote units initially process received messages.
Figure 8 is a Elowchart for a sequence called by the executive program tFigure 6) for determining whether a received message was transmltted by a communication unit, sometimes referred to as deaE node, which is incapable of receiving messages.
Figure 9 is a flowchart for a subroutine for checking/clearing store and forward buffers Figure 10 is a flowchart for a subroutine which depicts the manner in which a received message is tested to determine whether an entry is to be made into an Expected List used for monitoring messages Eor which a reply message is expected.
Figure 11 is a flowchart for a subroutine which depicts the sequence for setting a failure timer associated with an entry in the Expected List for determining whether an expected reply message is received within a predetermined time.
Figure 12A - 12C is a flowchart for a sequence called by the executive program (Figure 6) for selecting optimum addresses to be used for transmitting messages in either the up link or down link direction.
Figure 13 is a simplified flowchart depicting the manner in which the Good List containing down link addresses is sorted based upon a single sort parameter.
Figure 14A - 14B is a detailed flowchart of a subroutine wherein Good List addresses are sorted based upon a plurali-ty oE sort parame~ers, with the order of the list determining pre.Eerred down link addresses.
Figure 15 is a subroutine called hy the Good List sort sequence (Figure 14) for the Quality of link sort parameter.
Figure 16 is a subroutine called by the Good List sort sequence (Figure 14) for the Hop Count sort parameter.
Figure 17 is a subroutine called by the Good List sort se~uence (Figure 14) for the Failure ~uotient sort parameter.
Figure 18 is a subroutine called by the Good Li.st sort sequence (Figure 14) for the Quality of back link sort parameter, Figure 19 is a subroutine called by the Good List sort sequence (Figure 14) for the Signal-To-Noise ~atio Estimator sort parameter.
Figure 20A - 20B is a flowchart which depicts the sequence which occurs when an expected reply message i5 not timely received.
Fi~ure 21 is a flowchart for a subroutine de-picting the nanner in which the Expected List is cleared.
Figure 22 is a schematic diagram illustrating a typical communication system and exemplary communication paths of an alternative embodiment oE the subject invention.
Figure 23~ - 23C is a flowchart depicting a periodic sequence called by the executive program tFigure 6) for updating and checking various network parameters.
Figure 24 is a flowchart for a subroutine for completing a sequence which controls a probability transmit timer.
Figure 25 is a flowchart depicting an initialization sequence for storing and forwarding a ~ o~ ~ ~ 5 ~ ~5 data package wherein a message will be transmitted in the up link direction.
Figure 26 is a flowchart depicting the sequence whereby up and down linX messages are transferred from an input buffer to a store and forward buffer~
Figure 27 is a flowchart depicting an initialization sequence for storing and forwar~ing a data package wherein a message will be transmitted in the up link direction.
Figure 28 is a flowchart for a subroutine depicting the manner in which address entries are made into the Link List~
Figure 2~ is a Flowchart for a sequence called by the executive program (Figure 6) for transfering messages to be transmitted from the store and forward buffer to the transmit buffer~
Figure 30A - 30~ is a flowchart called by the executive program (Figure 6) depicting the final transmit se~uence for messages.
Figure 31 is a flowchart for a sequence called by the executive program (Figure 6) depicting the manner in which an entry into the Expected List is made.
Figure 32 is a flowchart called by the executive program depicting the manner in which a remote unit originates a data package associated with the remote unit for a message to be transmitted by the remote unit.
Figure 33 is a flowchart of a subroutine depicting the manner in which an originate buffer is obtained Eor a data package associated with the remote unit to be transmitted by the remote unit.
Figure 34 is a flowchart oE a subroutine depicting the manner in which message priority is set for a messages containinq a data packa~e originated by a remote unit~

Figure 35 ls a Elowchart which is en~ered when the probability transmit timer times out depic~ing the sequence in which an attempt is made to transmit a message containing a data package originated by the remote unit.

t~e Inventlon The subject adaptive communication networ~ will be described in connection with a power metering system Eor an apartment building. It should be understood, however, that the subject invention has applica~ions other than power metering systemsO
The power wiring of a building, such as an apart-ment building, ~ill vary widely depending on many actors including arbitrary choices made by the builder. It is a principle objective of the subject invention to accommodate almost any conceivable building power wiring configuration.
Referring now to the drawings, Figure 1 is a simpliied schematic representation of an apartment building and associated exemplary wiring configuration.
The apartment building, generally designated by the numeral 10, has four floors, with four apartment units 18 and 20 present on each floor. It should be noted that the subject communication network is intended primarily for much larger buildings with a smaller building being described to illustrate the character-istics of a typical building wiring configuration.
The building illustrated is powered by two separate power transEormers, this being a relatively _ 30 common practice. The transformers have three-phase Y-configured secondary windings 12a and 12b, each having a neutral connection 14d and 16d, respectively.
Each apartment unit 1B receives power Erom one or the other of the secondary windings. Secondary winding 12a ,3 tj ~12-provides power to apartment units 18, and secondary winding 12b provides power to apartment units 20.
All three phases of the secondary winding outputs of both transformers are available on each floor of the building. Lines 14a, 14b and 14c carry the three-phases of secondary 12a and lines 16a, 16b and 16c carry the three phases of secondary 12b. Two of the three phases are distribu~ed to the apartment units on each loor~ By way of example, the phase output on lines 14a and 14b of secondary 12a are distributed to the second floor apartment units 18d, 18e and 18f and the phase output on lines l6a and 16c of secondary 12b are distributed to the second floor apartment unit 20b.
In addition, a neutral line (not shown) coupled to the neutral connection (14d, 16d) of each of the two transformers is also distrihuted to each of the apartment units.
Although not depicted in the Figure l diagram, each apartment unit 18 and 20 is provided with a communication unit and an associated electronic power meter. Each communication unit is programmed to periodically transmit power consumption data provided by the meter to a central or master unit located in the building utilizing the power lines. Other forms of data can also be transmitted to the master unit.
Communication units located in the apartment units 18, referred to herein sometimes as remote units or nodes, are frequently not capable of transmittinq data directly to the master unit. This is due to many factors including, for example, noise present on the power lines, the physical ~eparation of the remote units from the master unit, and the configuration of the building wiriny. Accordingly, the present invention utilizes a store and forward technique, as will be subsequently described in greater detail, wherein each remote unit is capable of receiving and ~Z~3~

retransmitting inEormation, sometimes referred to as a data package, in messages originatiny ~rom other remote units.
Assuming, by way of example, that the master communication unit is disposed in apartment unit 18c, it is likely tha~ a remote communication unit located in adjacent apartment 18b will be able to communicate directly with the master unit. However, a remote unit located in apartment unit 181, for example, will most likely be required to communicate to the master unit through intermediate remote units. A typical communication link would include a remote unit in apartment 18k, from apartment 18k through secondary 12a to unit 18a, then to apartment 18b and finally to apartment 18c. There exist several other alternative communication links which could also be used, with the particular link path being selected based upon several factors, to be subsequently described, so as to optimize overall communication efficiency.
Apartment uni~s 20 are not capable of communicat-ing with the master communication unit exclusively utilizing the power line since the master is coupled to a diferent power transEormer. In such cases, where a single building receives electrical power from more than one power trans~ormer, it is necessary to provide one or more fixed communication links between the separate segments of the power system. Such permanent links preferably include electro-optical isolators so as to maintain electrical isolation between the seg-ments. Radio links could also be used for thisapplication. By way of example, a fixed link 22 is provided between apartment unit 18l, powered by secondary 12a, and apartment unit 20e9 powered by secondary 12b. Any communications between apartment units 18 and 20 must utilize link 22.

The primary mode of communication includes the transmission oE a ~message containing a data paclcage by one of the remote units which is destined to che master unit followed by an acknowledgement or reply message from the master unit back to the originating remote unit. ~essages can also be transmitted to the ~aster unit from a remote unit without a following acknowledgement message. In addition, messages may originate from ~he master unit which contain a data packaye intended for a particular remote unit, a group of remote units or all remote units.
A brief overview of the subject communication network will now be given in connection wi~h the sche-matic diagram oE Figure 2. The diagram~ which repre-1~ sents an exemplary network, includes a plurality of remote units 26 and an associated master unit 24, some-times collectively referred to as nodes. The remote and master units are coupled to a power line grid (not depicted) which may include one or more fixed links.
The lines in-terconnecting the remote and master units represent exemplary data paths over the power line and/or fixed link at a particular point in time.
When a remote unit 2.6 transmits a message containing a data package originated by the unit, which will typically contain meter data, master unit 24 will be the final destination for the data package. The remote units contains a list of one or more preferred node addresses to which the message will be directedO The node addresses, referred to as down link address, are selected based upon various network parameters which may change with respect to timeO
For the conditions depicted in the Figure 2 diagram, remote unit 26m has determined that the preferred down link address is the address oE master unit 24. Accordingly, unit 26m will transmit down link messages directly to master unit 249 For the same .
. .

~252~5 network conditions, remote unit ~e has determined that it would be preferrable to transmit 30wn link messages to intermediate remote unit 26~, rather than directly to the master unit. Intermediate remote unit 26f will then store and forward the data package in the message to i~s preferred down link node address, which is the address of the master unit in this instance. It can be seen that the data package transmitted in the message by remote unit 26b must be stored and forwarded by four intermediate remote units 26c,26d,26e and 26f, respectively, in order to reach the master unit.
The remote units are adapted to alter the preferred down link addresses should network conditions change. By way of example, should remote unit 26f become incapable of communicating directly with the master unit because of an increase in noise on the power line, remote unit 26e is adapted to sense the change in network conditions and select another node address for down link messages.
Down link address selection is preferrably based upon a plurality o~ network parameters. One importan-t parameter is the demonstrated ability of a particular remote unit to communicate with the master unit.
Another important parameter is the amount of noise present in the data path between the remote unit and the preferred down link unit. The distance of the remote unit from the master unit is still another important parameter~ Such distance is measured in terms oE the number of message transmissions required or a data pac]cage ori~inating from the remote ~nit to reach the master unit and is reEerred to as Hop Count.
Additional parameters will be subsequently discussed.
An exemplary message tran-~mission sequence will now be described. Each remote unit is adapted to originate a data package to periodically initiate a down link message sequence by transmitting a message ~ ~ 5~ ~ 5 containing a data package originated by the unit in the Eorm oE meter data wherein the data package is transferred from the remote unit to the master unit~
The message will typically be transmitted once a 1ay and the data package will comprise meter data. Once the master unit has received the data pac]cage, the master is adapted to initiate an up link message sequence, which includes one or more messages, reEerred to as up link messages, wherein the transmittin~ remote units in the down link message sequence are apprised oE
receipt by the master unit of the data package.
Assuming that remote unit 26c has transmitted a message containing a data package originated by the remote unit, the message will be directed to remote unit 26d, since that remote unit is presently preferred. In addition to the meter data, the message will contain an Intermediate ~estination Address, which is the address o~ remote unit 26d and an Intermediate Source Address, which is the address of unit 26c. An additional address will be included indicating that unit 26c is the source of the data package in the message. The message will further contain inormation indicating that the message is a down link message, therefore, the master unit is the final destination.
Accordingly, unit 26d will determine that the meter data are to be stored and forwarded in the down link direction.
Remote unit 26e is the presently preferred down link address for unit 26d. Accordingly, unit 26d will transmit an additional down link message containing the meter data, with the Intermediate Destination ~ddress being that of unit 26e and the Intermediate Source Address being that of 26d. The address of unit 26c associated with the meter data in the down link message sequence will remain in all of the messages, as the data package is stored and forwarded. Unit 26d will ~ 3 t-3 also store the Intermediate Source Address of the received messa~e, unit ~6c, which will be used in transmitting the up link reply message. The address of the remote unit originating the data packaye will also be stored so that the reply message can be identified.
Remote unit 26e will store and forward the meter data in a subsequent down link message followed by a store and forward sequence performed by unit 2~f. The Intermediate Destination Address of the message transmitted by unit 26f will be the address of the master unit 24~ Remote units 2fie and 26f and master unit 24 will each store the respective Intermediate Source Address of the received message, together with the address of the remote unit originating the data Package.
Upon receipt of the final down link message of the sequence, master unit 24 is adapted to initiate an up link message se~uence which will include the transmission of one or more up link messages. The path taken by the up link message will be the same as that taken by the previous down link message sequence. The up link message transmitted by the master will include a final destination address which is the same as the address associated with the data package in the message received by the master, namelyv remote unit 26c. The up link address of the message, the Intermedidate Destination Address, will be the same as the stored Intermediate Source Address oF the received message, namely, remote unit 26f.
The message received by unit 26E will contain information indicating that the message is an up link message. In addition, the final destination address present in the message will not be that of unit 26f, thereby indicating that the acknowledgement is to be stored and forwarded in the up link direction. Unit 26f will use the previously-stored Intermediate Source Address as the Intermediate Destination Address of the s message to be transmitted. The ~inal destination address oE the received message will be used to identify the storec1 up link address.
The up link store and forward operation will be repeated by remote units 26e and ~6d. The final destination address of the message transmitted by unit 26d will match the address of unit 26c. Accordinqly, unit 26c will determine that it is the final destination of the reply message and will not store and forward the acknowledgement further.
Each remote unit is adapted to confirm that an expected acknowledgement or reply message is received.
When a down link message for which a reply is expected is transmitted, the transmitting remote unit starts an associated failure timer. If the expected reply message is not received within a time period determined by the timer, a flag associated with the remote unit, referred to as a Link confirmed flag, is cleared. The flag is inserted in all messages transmitted by the remote unit. If the transmitting remote unit also initiated t'ne sequence, a retry timer is also startefl when the message is transmitted. IE an expected reply lTleSSage i9 not received prior to the time out of the retry timer, the originating unit will initiate a subsequent down link message sequence containing the same meter data.
When a message is tran~mitted on the network, the message will usually be directed to a single remote unit or to the master unit, as determined by the Intermediate Destination Address of the message. There are, however, message types which are directed to more than one node, as will be subsequently explained~
Inasmuch as the nodes are all coupled to a common power line/fixed link network, nodes other than those to which a message is directed will usually receive the message. ~y way of example, messages transmitted by ~ ~ S~ 3 remote unit 26c and directed ~o unit 26d may be received hy surrounding units, including units 26b, 26i, 26g and 26e. Message.s receive by a node, but which are not direc~ed to the node, are sometimes referred to as ancillary messages. Although ancillary messages are not acted upon or stored and forwarded, the messages are processed for the purpose of obtaining information relating to network conditions. Such messages serve an imporkant func~ion in enabling the receiving remote unit to determine optimum Intermediate Destination Addresses Eor down link messages transmitted by the unit.
The foregoing can be further illustrated by again referring to the Figure 2 diagram. Assume that remote unit 26k has transmitted a down link message for which a reply is expected. The presently-preferred down link address for unit 26k is unit 261. Unit 261 will store and forward the message followed by unik 26m. If the expected reply message is timely received by unit 2fil, all further messages transmitted by unit 261 will include a set Link confirmed flag. ~emote units capable of receiving messages transmitted by unit 261 will examine the Link confirmed flag and will he able to ascertain, that, at least with respect to the last attempt to communicate with the master unit, unit ~1 was successful. This information will be used by the receiving remote units in selecting preferred down link addresses such as the address of unit 261.
If a remote unit does not receive an expected reply message, further messages transmitted by the unit will contain a cleared Link confirmed Elag if the failure timer has expired, as previously described.
However, a substantial amount of time may pass prior to the issuance of such a further message. In order to acquire more current information regarding the status of other remote units, each remote unit is adapted to ~ 53~3 monitor expected reply messages not only expecte-3 hy the subject unit but expected by other unitsO ~or example, when unit 261 transmitted the down link for which a reply message is expected, other remote uni~s receiving the down link messages will moni~or unit 261 to veriEy that unit 261 transmits the expected reply up link message to unit 26k.
The foregoing can be illustra~ed as follows. If, for example, remote unit 26j is capable o~ receiving messages transmitted by unit 261, it will receive the down link message directed to unit 26m. Unit 26j will monitor unit 261 to verify that unit 261 transmits the expected reply message to unit 26k If the expected transmission by 261 is not received by unit 26~, unit 26j will be less likely to select unit 261 Eor forwarding down link messages. Other remote units capable of receiving messages transmitted by unit 261 will function in a similar manner Preferably, many other parameters are used for the purpose of selecting optimum down link addresses. As a further example, each remote unit is capable of estimating the signal-to-noise ratio (S~) of received messages. Remote units transmitting messages with a high SNR will be preferred over those transmitting messages with a low SNR. Another parameter is the Hop Count of the node, with the Hop Count being included in messages transmitted by the unit. The Hop Count value oE a node is indicative of the number oE down link message transmissions that are required to transfer a 3n data package, such as meter data, from the node to the master unit. The master unit, by definition, has a fixed Hop count of zero. Unit 26d presently has a Hop Count of three, for example, and unit 26m has a Hop Count of one. With other parameters being equal, unit 261 will select unit 26m over unit 26d for down link messages hecause of the lower Hop Count. The~e and other network parameters used in selecting down link addresses will be described later in greater detail.
It should be further noterJ that each remote unit is adapted ~o ini~iate a down link message sequence for the purpose of assistiny other remote units in selecting down linX addresses. ~he data packa~e in such down link messages may or may not include meter data.
At initial power on, none oE the remote units have determined optimum down link addresses. The units are implemented to ini-tially automatically transmi~c a down link messageO The message will have the address of the master unit as the Intermediate Des~ination ~ddress.
Referring again to Figure 2, it can be seen that initial messages transmitted by remote unit 2~f will be received by the master unit and the master unit will transmit a reply up link message which unit 26f will receive.
Assume that unit 26e also transmitted an initial message which was not received by the master unit as a result o~, for example, noise present in the power line section between the two units. Unit 26e will not receive an acknowledgement from ~he mas~er unit. For the network conditions depicted in the diagram, unit 26e is capable of receiving messages from unit 26f.
Messages transmitted by unit 26f will contain information, such as ~op Count value, and the Link confirmed flag which indicates that the unit has successfully communicated with the master unit.
Accordingly, unit 26e will utilize the address of unit 26f as the Intermediate Destination ~ddress for down link messages rather than the address of the master.
This process continues with each of the remote units establishing an optimum down link Intermediate Destination Address.

The subject communication system is also capable of ~ransmitting cornmands ~rom the master unit to one or more remote units. The commands, referred to as Global Sequence Commands, are typically directed to all remoke units or a group of units. ~ach command has an associated unique Global Sequence Number. As will be subsequently described, the Global Sequence Num~er is used to ensure that each remote unit receives all Global Sequence Commands.
Inasmuch as all nodes are coupled to a common data path network and operate rela~ively asynchronously, it is possible tha~ collisions between messages will occur. Such collisions are likely to obliterate one or both messages. The subject system includes numerous features which reduce the likelihood that collisions will occur. ~y way of example, most transmissions by a node are initiated in response to a randomly generated numher. In addition, the probability that some transmission of a node initiating a message sequence will occur at a particular event time is a unction of the amount of message traffic on the network. If the amount of message traffic is heavy, the probability of the transmission per event time is reduced. Thus, the likelihood of a collision is correspondingly diminished.
System collisions are further reduced utilizing a channel allocation scheme. As will be further described, many messages contain information commanding other remote units to refrain from transmitting messages on the network for a fixed or variable time period. For example, remote unit 26b may initiate a down linX message se~uence for which a reply is expected. The initiating message will typically include transmit hold de~ay information to be acted upon by other remote units. If unit 26i receives the message, the unit will refrain from transmitting on the 53t:~

network for a period o~ time whic'n is su~iciently long so as to permit the expected reply message to be received by origina~ing unit 26b. Down link remote units storing and forwarding the data package originating from unit 26b, including units 26c,26d,26e and 26f will also transmit messages instructing the surrounding units to temporarily refrain ~rom transmitting.
Having set forth a brief overview of the operation of the subject communication system, a more detailed description of -the construction and operation of the system will now he givenO ~eferring now to Figure 3~ a simplified block diagram of a communication unit is depicted. The remote and master units are similarly lS constructed, with the primary difference residing in the associated programming rather than in hardware. In addition, one or more of the remote or master units may have an optional associated display (not depicted) for displaying various messages, which is used exclusively for diagnostic purposes.
A communica~ion unit, generally designated by the numeral 28, includes a transmitter section 34 having an output coupled to the power line 32. Transmltter section 34 typically utilizes a 36 kHz carrier which is phase modulated by digitally-encoded baseband data provided on input line 42. The baseband data rate is typically 180 bits per second.
The communication unit further includes a receiver section 30 having an input coupled to power line 32.
Receiver section 30 receives 36kHz phase modulated signals present on the power line 32 and provides a demodulated baseband digitally-encoaed output on line 40. Receiver section 30 also provides digital data on separate outputs represented by line 44 which are used to produce a figure of merit signal which represents 5~}5 the estimated signal-to-noise ratio of a particul~r received message.
The communication unit further includes a suitably-programmed central processing unit tCPU) 36 which is coupled to the receiver and transmitter section through conventional input/output devices (I/O) represented by block 38. I/O 38 also receives digitally-encoded data on line 48 from external sources such as an electronic power meter 46 in the event the communication unit is a remote unit, rather than the master.
Other data sources can also be used, such as alarms and the like.
The I/O may be further coupled to a fixed link 22.
The I/O receives and transmits unmodulated messages over the link. The apparatus for converting the electrical signals from the I/O to optical signals and the optical signals on the link to electrical signals is conventional and not depicted. For purposes of simplification, the fixed link can be assumed to be hardwired data path which introduces substantially no noise.
Further details of receiver section 30 of the communication units are shown in the block diagram of Figure 4A. The receiver section includes an input amplifier 50 coupled to the power line 32 for amplifying the 36k~z phase modulated carrier. Amplifier 50 also includes conventional amplitude limiting circuitry.
The output of amplifier 50 is connected to the input of a bandpass filter 52 having a center frequency of 36 k~z.
The receiver circuit further includes an SNRE circuit 60 which is fully described in applicant's copending Canadian application Serial No. 510,404, filed June 5, 1986 and entitled "Apparatus and Method for Producing a Signal-to-Noise Ratio Figure of Merit for Digitally Encoded-Data", naming the same inventor as the present application.
Circuit 60 serves two functions. The first function is to demodulate the phase modulated carrier present at the MLS/ji ~s~s output of filter 52. The baseband data are outputted on line 40. Circuit 60 further provides Signal-to-Moise Ration Estimator (SNR~) parameters on output lines represented by 44.
As set forth in the above-noted application, the SNRE
parameters are utilized by CPU 36 to produce an SNRE value which is indicative of the siynal-to-noise ratio of the received message.
Figure ~B shows further details of the construction of the transmitter section 34. The transmikter section includes an oscillator 64 which provides a digital output signal having a frequency of 36 kHz. The output of oscillator 64 is connected to the carrier input of a digital modulator 62.
The modulating input is coupled to line 42 which carries digitally-encoded data from I/O 38. The output of modulator 62 is a phase-shift-keyed (PSK) signal wherein the phase of the carrier is reversed in accordance with the data on line 42.
Modulator 62 may be implemented utilizing an exclusive OR gate, as is well known.
The modulated 36 kHz signal is then amplified by a conventional amplifier 66, with the output of the amplifier being fed to an impedence matching circuit 68. The output of circuit 68 is coupled to power line 32.
Figure 5 is a simplified block diagram illustrating the buffer or register configuration of an exemplary communication unit. The unit is provided with two message input buffers for receiving demodulated messages. Messages received over the power line are transferred to power line buffer 70 an~ messages received over the fixed link are transferred to fixed link buffer 72.

`~ MLS/jj
-2~-Messages are transferred frorn the input buffers 70,72 to an operate buffer 74. I~ the received message is not directed to the subject communication unit, i.e., the message Intermedia~e Destination Adc]ress i5 different than the address of the receiving remote unit, the message will be processed for the purpose of selecting preferred down link addresses, as represented by block 76. Since the message is not directed to the subject uni~, no fur~her action will be taken with respect to the message. As will be subsequently described, certain types oE commands originating Prom the master unit will be directed ~o more than one remote unit, depending upon the message type and certain associated data fla~s, as will be described later. If a command is directed to one or more remote units, such units act upon the command, iE appropriate.
If the subject communication unit is the final destination for the data package, the message will also be processed for the purpose of optimizing the down link addresses, as represented by block 78. In addition, the message will be acted upon in accordance with the contents of the data package, as indicated by block 80.
If the message is directed to the subject unit, but the unit is not the final destination of the data package, the data package in the message will be s~ored and forwarded in a subsequent message. As represented by block 77t the message first will be processed for the purpose o updating the down link addresses. The message will then be transferred to one oE two store and forward buffers 82, 84. The messages will remain in either buer 82~ 84 until the transmit sequence is initiated At that time the message will be transEerred to transmit buffer 96.
If the subject unit is coupled to a fixed link, the message containing a data package to be stored and ....

,t,~35 orwarded is transEerred to a fixed link bufEer 98.
The message is then transmit~ed over the power line utilizing transmitter 34 ~not shown). If there is a fixed link, ~he message will also simultaneously be transmitted over the link. As will be subsequently described in greater detail, the power line baseband message is substantially identical to the fixed link message with the primary difference being that the power line message is hashed and includes a hashing constant, which is used for unhashing the message, and synchronization bits.
The communication unit further includes five buffers, 86 t 88, 9~, 92 and 94 for holding data packages originating from the sub~ect unit. The data packages are held in the buffers until the unit is ready to initiate a down link message sequence by transmitting a message containing one of the data pacakges. Since the probability for transmiting a sequence-initiating message at a particular event time may be a function of the amount of message traffic, a substantial amount oE time, on the order oE two to three hours, may pass before the message is actually transmitted. Accordingly, a plurality of originate buffers are utilized to accommodate data packages which may accumulate.
As will be subsequently described, once trans-mission commences, all waiting originating data packages will be successively transmitted so as to maximize network message throughput, with each message causing a down link message sequence followed hy an up link reply sequence. Once actual transmission commences, the message is transferred from the associated originate bufPer to the transmit buPPer and transmitted over the power liné in the same manner as previously described in connection with store and forward messages. Transmission will also occur over ~5~S

the fixed link utilizing ~ufEer 98 if a fixed link is present.
Operation of the subject communication network will now be described in connection with the flow charts of Figures 6 - 35. Table 1 below shows the content of the messages which are transmitted and received by the communication unitAs in the subject communication network.

ESSAG~ CONTENT
Preamble (16 bits) Sync (8 bits) Hashing Constant (5 bits) Hop Count (4 bits) Global Sequence Number (8 bits) Message Type (6 bits) Sequence Number (5 bits) Message Following Flag (1 bit) Quality of Back Link (2 bits) Data Flags (3 bits) Link Conirmed (1 bit) Measured Priority (4 bits) Intermediate Destination Address (10 bits) Source/Destination ~ddress (10 bits) Intermediate Source Address (10 bits) System Number (8 bits) Data Field (104 bits) Cyclic ~edundancy Check (16 bits) .

~25~5 Each message includes a total of 221 bits. As set forth in Table 1, 16 bits of each rnessage include a preamble followed ~y 8 synchronization bits. ~n additional 5 bits represent a hashing conskan~ used to decode the message at the receiver. Approxima~ely 30 bits of khe message comprise various control fields which will subsequently be described. The message further includes a data field of approximately 100 bits for holding message data. The last 16 bits of each message serve as Cyclic Redundancy Check bits~ which, as is well known, are used for data verification.
Table 2A contains a list of definitions o~ the terms used in the messages, some oE which have been previously mentioned. These terms will be further explained in connection with the overall description oE
the invention.

MESSAGE TERM DEFINITION
___ Global Se~uence A number which identifies com-Number (GSN) mands originated by the master unit~
Hop Count (HC) The number of message trans-missions required to transfer a data package from the remote ~5 unit which transmitted the message to the master unit.
Intermediate Destina- The address of the communica-tion Address (IDA) tion unit intended to receive the message~ i.e., the unit to which the message is directed.
Intermediate Source The address o~ the communica-Address (ISA) tion unit which transmitted the message.
Link confirmed flag (L) Indicates whether the remote unit transmitting the message successfully completed the 5~.~5 last communication sequence to the master unit.
System ~umber ~YN) Identifies a system comprised of a master unit and associated remote units.
Message Followinq A flag whi.ch indicates that Flag (MFF) another message sequence follows immediately Erom the remote unit identified by the Source/~estina~ion Address of the message.
Measured Priority (rkp) A measure of the busiest average message traffic experienced by any remote unit within the virtual link (Table 2B) oE the message.
Quality of back link (Q) A measure of the worst case figure oE merit for the signal-to-noise ratio for all segments of the virtual link (Table 2B) of the message.
Source/Destination The address of the remote unit Address (SDA) associated with the data p~ckage in the message (Table 2B) or the address of the remote unit which is the final destination of the message.
Sequence Number (SN) A number which remains constant for all messages in a down link message sequence and responding up link sequence and used to identify the data package.
Table 2B contains a list of deinitions of some of 3S the other terms~ in alphabetical order, which will be used to describe the operation of the subject communication network.
3~

TAB

OTHER TERMS DEFINITI~NS
Actual Command Received A value indicative of the (ACR) last Global Command Number received by the remote unit.
Broadcast Message A message having no particular destination and an Intermediate Destination Address of all zeros.
Calculated Priority (CP) A measure of the avera~e message traffic ex-perienced by a remote unit.
Down Link Message A message transmitted by a remote unit having a data package to be transferred to the master unit.
Expected List (XPL5T~ A list of addresses of remote units for which a responding message is expected together with an associated flaq for each entry which indicates whether the message for which a response lS
expected was transmitted by the remote unit associated with the list.
Failure List (FLST) A list of worst perform-ing down link addresses which have been or are on the Good Lis~.
Failure Quotient (FQ) A figure of merit for the failure/success ratio of a remote unit over time to receive an expected responding up link message.
Global Sequence A message containinq Command (GSC) command information originating fro~ the ~2~5~

master unit to be acted on by one or more remote uniks.
Good List (GOODLST) A list comprised of ad-dresses used as down link Intermediate Destination Addresses in order of preference.
Last Address (LSTADD) The last Source/Destina-ln tion Address ~SDA) which caused the communication channel to be alloca-ted.
Link List (LNKLST) A list comprised of addresses use~ as Inter-media~e ~estina~ion Addresses during the up link message sequence oE
a virtual link which are set during the previous down link message sequence.
Semaphore List ~SEMLST) An indexed list for all message types whic'n provides various inEor-mation for each type (Table 4).
Signal-to-Noise Ratio A value which represents Estimator (SNRE) an estimate of the signal-to-noise ratio for a received message.
Store and Forward The transmission oE a Operation (S&F) of a message by a remote unit containing a data package obtained from a received message to be transEerred to another remote unit or to the master unit.
~ystem Prioritv (SP) A value used by a remote unit to govern the prob ability of transmission oE certain messages.
Up Link Message A message containing a data package originatinq from the master unit and intended to be received 3~

by one or more remote units~
Virtual Link The path between communication nodes eor a message sequence.
An executive program is utilized for controlling the sequence which various tasks or jobs are per~ormed by the communication units. As is well known, executive programs assign a priority to the various jobs once the jobs have been queued. In the present system, the jobs include, Eor example, the processing of messages received over the power line, the processing of messages received over the fixed link, the storing and forwarding of a data package and the computation of a value which is an estimate of the signal-to-noise ratio o~ a received message~ Other jobs controlled by the executive program will be subsequently described.
A simpliied flowchart depicting the operation of the executive program is shown in Figure 6. The beginning of the sequence is represented by element 100. As indicated by element 102, a determination is made as to whether any o~ the various jobs controlled by the executive program have been queued~ If no jobs have been queue~, the sequence remains in a loop.
Assuming that one or more jobs have been queued, the jobs are then performed as indicated by block 104.
If there is more than one job to be performed, the sequence of performance takes place in accordance with a predetermined priority. Once the job(s) have been performed, the sequence returns to the starting point and a determintion is made as to whether any further jobs have been queued. The program will remain in a loop until a job is queued.
The sequence for initial processing of received messages is depicted in the flowcharts of Figures 7A-~S~3~

7E. When a received message is ~etected, a job is queued for carrying out such initial message processing. The executive program causes the se~uence to be commenced. If the message is received over the power line, the beginning of ~he sequence is represen~ed by element 106 of Figure 7A. The demodulated message is transEered to the power line input buffer 70 ~Figure 5). As represented by block 108, an internal pointer is directed to the power line 1 0 bufferO
If the remote unit under consideration is connected to a fixed link, the beginning of the sequence for processing message received over the link is represented by element 110. The received message is transferred to fixed link buffer 72 ~Figure 5)~ As represented by block 112, an internal pointer is then directed to the fixed link hufEer.
A determination is then made as to whether a received message is currently being processed, as indicated by element 114. This determination is made by examining a flag asociated with operate buffer 74 (Figure 5). If another message is being processed, the received message will remain in the input buffer. A
job will be queued to attempt to process the received message at a later time. As indicated by element 118, the sequence then returns to the executive program which will control when the retry job will be performed.
Assuming that another message i3 not being processed, the received ~essage will be transfered to the operate buffer. Various groups of information will then be extracted from the message and transfered to preassigned registers.
Messages received over the power line and fixed link are generally treated identically, with a few exceptions. In the event the message is received over ~l~5'~5~5 the fixed link, an internal ~]ag is set, as also represented by block 122, indicating that fact.
As indicated by block 124, the six bits in the received message representing message type are extracted. In the present embodiment there are sixty-four possible message types. These types include, for example, down link messages of a down link message sequence initiated by remote units which contain a data package such as electrical consumption data. Another type of message is the up linX messa~es of an up link message sequence initiated by the master unit in response to receipt of a previous down link message.
The previously-described Global Sequence Commands GSCs containing command information originating from the master unit comprise a still fur~her message type.
These and other message types will be discussed later in greater detail.
As indicated by block 126,the Hop Coun~ ~C value is also extracted from the received message. As previously noted and as se-t forth in Table 2A, the value of HC in a received message represents the number of message transmissions required to transfer a data package from the transmitting remote unit to the master unit. Messages transmitted by the master unit have a zero value of HC r as previously stated.
In the event the received message is a message containing a data package to be stored and forwarded in the up link direction~ the value oE HC in the transmitted message will be set equal to the value of HC in the received message, plus one. Accordingly, as indicated by block 128, the value o~ HC will be saved for use in the event the message information is to he stored and ~orwarded in the up link direction. The manner in which the value oE HC is determined for messages transmitted in the down link direction will be subsequently described.

5~5 As indicated by block 130, the five Sequenc2 Number SN bits are then extracted. ~s set fort'n in Table 2A, the SN remains constant for all me~sages in a particular down link message sequence and responding up link sequence and is used by remote units to identify the particular message sequence.
The Eoregoing can be further illustrated by reEerence to the Figure 2 diagram. Assume tha~ remote unit 26h has initiated a down link message sequence and transmitted a message of the type for which a reply i5 expected. The SN associated with unit 26h will be incremented so that the responding reply message can be distinguished from reply messages resulting from previous down link message sequences initiated by the unit. The incremented SN will be inserted in the transmitted message. In addition, the value of SN will be stored in the corresponding one of originate buffers 86, 88, 90, 92, 94 (Figure 5).
The down link message will be transmitted to unit 26e, given the present status oE the system as depicted in the diagram. Unit 26e will store and forward the data package by transmitting a message to unit 26f.
The value of SN in the message transmitted by unit 26e will not be changed since the data package in the message was originated by unit 26h~ Unit 26e will store and forward the data package by transmitting a message to unit 26f and unit 26f will store and forward the data package by transmitting a message to master unit 24 with the original value of SN.
Master unit 24 will transmit a reply up link message back to unit 26f. The value of SN will be will be the same as the down link messages. Units 2hf and 26e will successively transmit up link messages until initiating unit 26h receives the terminating up link message. The value of SN in the received message will be examined at unit 26h and compared with values of SN

~ 5~ 5 stored in the originate bufers for the purpose of identifying the message as the expected reply ko the original down link ~essage.
Returning to the Figure 7A flowchart, the ~uality of back link value Q is then extracted from the received message, as indicated by block 132. As set forth in Table 2A, the value of ~ represents a measure of the worst case figure of meri~ derived from the signal-to-noise ratio or all messages of a virtual link. Q is one of the network parameters utilized in selecting preferred down link addresses and in the present embodiment may vary from 3 (least noise) to 0 (most noise).
As previously noted, each remote unit is adapted to produce a SNRE value which represents an estimate of the signal-to-noise ratio for each received message.
The signal-to-noise ratio estimated value, referred to as the SNRE value, is another network parameter utilized in selecting preferred down link addresses.
In addition, the SNRE value is used to produce the Quality of back link value Q.
Each remote uni~ contains a list of preferred down link addresses used Eor transmitting down link messages. As set forth in Table 2~, the list of addresses is referred to as the Good List GOODLST, with each address entry having a set oE associated parameters, including SNR~ and Q. The addresses are listed in order of preference, with the preferred address being located at the top of the GOODLST. The top GOODLST entry is used by a remote unit for transmitting all down link messages. The addresses o~
the list and the address order may be altered if network conditions change, as will be subsequently described.
Each time a message is received Erom a remote unit, the receiving unit will examine the message Eor ~S~5~3~

the purpose of determining whether the transmittin~
unit should be adcled to the Good List ~70~DLST or, if already present in the list, whether the list order should be changed.
The manner in which the ~OODLST is updated with an SNRE value and Q will now be briefly described~
Referring to the Figure 2 diagram, assume, for example, that unit 26e has received an up link message from unit 26f~ The value of Q in the message transmitted by unit 26F is taken from the top entry in the unit 26f GOODLST. This is true for all messages transmitted by the communication nodes, with the excep~ion of the master uni~. Messages transmitted by the master unit always contain a best case Q value of 3 (least noise).
For the network conditions depicted in the Figure 2 diagram, it can be seen that the top GOODLST entry Eor unit 26f is the master unit 24. This is because the arrow indicates that the preferred down link address for unit 26f is the master unit. The value of Q for this entry represents the amount of noise present in the communication link between the master unit and unit 26f.
Receiving unit 26e will compute an SNRE value which is in~icative o the amount of noise introduced into the message in the link between unit 26f and unit 26e. If transmitting unit 26E is present on the GOODLST of receiving unit 26e, the computed SNRE value will be averaged with the SNRE value in the GOODLST.
If the transmitting address is not present on the unit 26e GOODLST, no averaging takes place and the computed SNRE value is used~ It can be seen from the Figure 2 diagram that for present network conditions, unit 26f is present on the unit 26e GOODLST.
The SNRE value may range from ~ to 45, with the larger value representing a higher estimated signal-~Z~5~5 --~o -to-noise ratio. A local value of ~ ls determined ~rom the SNRE value in accordance with Table 3 below.

Table-3 ___ Q SNRE

1 ~2-23 3 36 and up The local value of Q for unit is indicative of the amount of noise present in the communica~ion link between unit 26e and 26f. The local value of Q is compared with received value, and the lower or worst case value of Q is retained. If the transmitting unit is present on the GOODLST of the unit, the list en~ry 1~ is updated with the worst case value of Q and the computed SNRE value. If there is no present GOODLST
entry, a conditional entry will be made containing the two values. As will be subsequently described, the conditional entry may be retained if the associated 2~ parameters indicate that the entered address would be suitable for use as a down link address.
All messages transmitted by unit 26e will contain a value of Q taken from the top GOODLST entry for the unit. In the present example, unit 25f is the top GOODLST entry; therefore the previously described worst case value of Q will be inserted in the messages. All remote units receiving messages from unit 26e will be able to determine the quality oE the communication link between the unit and the master unit by examining the value of Q. This information~ along with other information to be subse~uently described, is utilized
-4 1 -by receivin~ remote units for selecting preEer~ed down link addresses for the receiving unit GOODLST.
Referring again to Figure 7~, once the value of Q
of the received message is extracted~ a set of semaphores for the message are obtained~ The semaphores are obtained Erom a semaphore list SEMLST
stored in the remote unit. The SEMLST is a look up table which contains pertinent information regarding the received message, based upon the message type.
Table 4, below, set forth exemplary informa~ion contained in the SEMLST for each of the six-ty-four possible message types. Any particular message type may have one or more oE the characteristics set forth in the SEMLST, provided the characteristics are consistent. By way of example a Global Sequence Command GSC is also an up link message. A GSC cannot be a down link message, by definition.

~A~O~ L15~ o~ l a Global Sequence Command Up link message ~own link message Response expected Elapsed timer required Fix transmit hold delay for one message time Fix transmit hold delay Eor two message times Fix transmit hold delay for three mes~a~e times Fix transmit hold delay for four message times Variable transrnit hold delay = HC*message times Variable transmit hold delay = 2*HC*message times As can be seen from Table 4, the SEMLST indicates whether the message is a Global Sequence Command GSC.
As described in Table 2B, a G~C is a message originated by the master unit and intended to be acted upon by one or more remote units. As will be subse~uen~ly explained, there are four types of GSCs/ with the 25~3~

particular command type being indicated by the three data flag bits present in the message (rrable 1).
The SEMLST also contains message direction information for each message type. The message will typically be either an up link or a down link message.
As will be subsequently described, one message ~ype is not assigned a message direction.
The S~ML5T further contains informa~ion as to whether the message is oE the type which requires a response or reply. ~own link messages, which by defi-nition contain information having the master unit as the inal destination, ~ypically are of t'ne type for which a response is expected. Up link messa~e typically are of the type for which a response is not expected.
Some messages are also of the type which are time critical. In those instances, information relating to the amount of time required for messages to tr~vel over the network is produced utilizing an elapsed applica-tion timer. As set forth in Table 4, the semaphoresfor the particular message type will indicate whether an elapsed timer is required. The operation oE the elapsed timer function will be subsequently described.
As previously noted, network message collisions are reduced by causing selected remote units to temporarily refrain from transmitting. Many of the message types will indicate that such a transmit hold delay is required for certain units receiving the message .
The semaphores for the message type will indicate whether a transmit hold delay i8 required, and, if so, the duration of the delay. As set forth in Table 4, certain message types call for a fixed hold delay of one, two, three or four message times, with a message time in the present embodiment being approximately 1.3 seconds. Other message types call for a variable hold ~'~S'~535 delay which is a function of the Hop Count HC value present in the received message. The magnitude of the hold delay may be either the value of the ~C multiplied by one message time or the value Oe ~IC multiplied by two message times.
As previously noted, the likelihood of message collisions is reduced by controlling the probability of transmitting a message at any particular event time, sometlmes referred to as a slot time. The probability 1n of transmission is generally inversely proportional to the amount oE message traffic on the network and is controlled by a timer referred to as a probability transmit ~imer. ~ach received message contains information regarding traffic on the network;
therefore, when a message is received, a determination is made as to whether the probability transmit timer should be updated.
The sequence for updating the probability transmit timer will now be briefly described. In the present embodiment, the transmit timer includes a seventeen bit counter which i5 clocked every approximately 88 milliseconds by a slot timer. The counter is started at an initial value which is randomly selected. A
message transmission will commence when certain bits of the counter become zero.
The probability of transmission at a given slot time is governed in accordance with the following equation:
P = 1/(2 ) (1~
where P is the probability of transmission and NT is the number of counter bits examined and varies from 0 to 17.
It can be seen from the foregoing that if NT is set to 0,none of the counter bits are examined.
Messages will be transmitted at the next slot time tick
5~5 with a probability P oE one~ If NT is set to 17, all coun~er bits are examinec1. The probability P will be approximately 8 x 10 6. Since the slot timer has a period of 88 milliseconds, it can be seen that i~ ~T is equal to 17, a transmission may not commence for approximately three hours.
It should be noted that the slot timer is resynchronized each time the communication unit receives a message. The timer clock will tend ~o occur at the beginning of each message, so that the various slot timers throughout the system will be substantially synchronized with one another.
Messages transmitted over the network have varying priority depending upon various factors including the type of message. The messages can be grouped into messages having a floating priority and messages having a fixed priority. The probability of transmitting messages having a floating priority will change if message traffic over the network changes. The probability of transmitting fixed priority messages will not change with network traffic changes.
Messages sequences initiated by a remote unit are almost invariably down link messages having a data package which, by definition, has -the master unit as the final destination. Once a message has been successfully transmitted onto the network without collision, the hold delay instruction in the message and in subsequent store and forward messages will cause other remote units to refrain from transmitting. As will be subsequently explained, once a message ~rom a sequence initiating remote unit has been transmitted, the channel will be allocated to the initiating unit and other remote units will refrain from transmitting until the reply up link message has been received.
Messages transmitted by a remote unit which is initiating a down link message sequence sometimes fall ~tj;~S

within the Eloating priority category. In that event the probability of transmission is a function oE the System Priority SP value as set ~Eorth in Table 2~.
System Priority SP is an indication of the worst case network message traffic at any particular time. The greater the value of SP, the lower the probability of transmission of floating priority messages.
The foregoing can be further illustrated by referring again to the Figure 2 diagram. Assume, for example, that remote unit 26k is ahout to initiate a down link message sequence. It is possible that unit 2~c is experiencing a large amount oE message traEfic which unit 26k canno~ detect. 20th units will be transmitting messages having the master unit 24 as t'ne final destination, with the master unit forming a bottleneck in the network. The Eunction oP the System Prinrity SP value is to provide message traffic information to remote units which can be utilized for controlling the probability of transmission.
Floating priority messages transmitted by a sequence initiating remote unit are transmitted with a probability determined by the current value of System Priority SP. The number of counter bits examined NT, sometimes also referred to as message priority, is determined Eor such Eloating priority messages in accordance with the following equation:
NT = NT0 ~ PCF (2) where NT0 is an original priority value and PCF is a priority correction faction equal to the value (SP-17).
The original priority value NT0 of the equation is, in the present embo~iment, e~ual to 17. For certain sequence initiating messages where a fast response is desirable, NT~ is sek to 6.

5~5 The priority adjustment factor PCF = (SP-17~ is updated each time a message is received and is also updated periodicallyO The System Priority 5P may vary from a minimum value of 6 to a maximum value of 17. In the presen~ embodiment, NT computed in accordance with equation (2) has a minimum value of 6, independent of PCF. Thus, for example, if message traf~ic is very high at any location on the network, SP will ideally approach the maximum o 17 for all remote units. PCF
will be ~ so that message priority NT will be equal to the original priority value NTO of 17. Thus, ln accordance with equation (1), the probability of transmission P at any slot time will be at the minimum value (approximately 8 x 10 6). If the value of SP is small thereby indicating that traffic is light, the probability of transmission will increase in accordance with equations (1) and (2).
Once the counter of the probability transmit timer has been set with an initial random value for a float-2n ing priority message, a substantial amount of time maypass before an actual transmission is attempted. If the network traffic conditions change while the transmit timer is running, the actual probability of transmission P can he varied in accordance with equation (1) by simply changing the number of counter bits examined (NT), as previously describedO
Messages transmitted by a remote Eor store and forwarding a data package in a down link message fall within the ixed priority category. Once the proba-bility of transmission P has been determined, the valueremains fixed and does not vary in accordance with equation (2).
Down link messages which store and forward data packages have a fixed priority which is determined in accordance with the following equation:
NT = Log2 SP (3) ~S~5 Although message priority NT is a function of System Priority SP, once NT has been initially computed and the transmit ~imer is running, NT will not change with changes in System Priority. Since NT is an in~eger, the exact relationship between NT and sP o~
equation (3) is se~ forth in Table 5 below.

Table 5 NT - - SP -~ S~ ~7 ~_ I

It can be seen from Table S, and equa~ion (1), the probability of transmission of store and orward down link messages is fairly high in comparison to sequence initiating floating priority messaqes. The minimum value of NT for fixed priority messages is 2 whereas the minimum value for floating priority messages is 6, as previously noted. Thus, if message traffic is low, SP will be 6 and NT will be 2 indicating that the message will be transmitted with a probability P of n.25 at the next slot timer tick, in accordance with equation (1).
Up link store and forward messages are also fixed priority, with certain exceptions. These messages are ~5 transmitted with message priority NT set ~o 0, independent of SP. As will be subsequently described, remote units which have failed to the extent that the unit is not capable of receiving messages, perfodically transmit data packages to the master unit. The messages are referred to as deaf node messages. A deaf node is implemented to periodically transmit four identical messages and to ther. discard the message.
The four messages are transmitted with an NT of 17, 16, 3~

-~8-15 and 14, respectively. A remote unit receiving a deaf node message transmiJcted by the deaE node will transmit a subsequent deaf node rnessage containing the data package originated by the deaf node. The receiv-ing remote unit will initiate a down link sequence ofdeaf node messages with the sequence initiating message being kransmitted with N~ equal ~o 12. Any subsequent messages of the deaf node message sequence will be transmitted as any normal down link store and forward message with NT determined in accordance wi~h equation (3).
Broadcast messages, messages that have no particular destination (Table 2B), are transmit~ed with a floating priori~y NTO o~ 6. The master unit sends up link messages in response to down link messages with a fixed priority of 0.
System Priority SP is derived from Calculated Priority CP and Measured Priority MP values. As will be described later in ~reater detail, each remote unit and the master unit computes a local Calculated Priority CP value which is indicative of the local message traffic (Table 2B). In the present embodiment, CP is substantially proportional to the average number of messages received and transmitted by a communication unit within a sixty-four second time interval. C~ has a minimum value of 2 ana a maximum value of 17.
A Measured Priority MP value (Table 2A) is inserted in each message transmitted by a remote unit or by the master unit. MP is calculated by a remote unit when a message is received by comparin~ the received MP value with the local CP value. The larger of the two values, which represents a greater amount of message traffic, is inserted as the MP value in messages transmitted by the unit. SP is also set equal to the transmitted MP of up link messages for controlling the probability transmit timer in ~5~35 ~9 accordance with equation l2) Eor variable priority messages and equation (3) for certain fixed priority messages. A~ will be subsequently described, SP will be periodically updated each time a local value of CP
is calculated.
The transmitted MP serves to inform a receiving remote unit of message traffic conditions elsewhere in the network. Since t'ne transmitted value oE MP is the larger of the received MP value and the local CP value, the transmitted ~P and SP are an indica~ion oE the maximum message traffic at any loca~ion in the network.
Although the values of SP for all remote units in the network will not necessarily be the same, all values of SP will have a tendency to rise and fall with the worst case message trafEic at any network location.
Information regarding network traEfic conditions is accumulated when messages are traveling down link from the originating remote units. Accordingly, the values of SP for the remote units are only updated by up link messages since such messages containing traffic information which is more complete than the corresponding down link messages.
Returning to the flowchart of Figure 7A, the semaphores for the received message type are obtained so that a determination can be made as to whether the received message is an up link message, as indicated by element 136. If the message is up link, a sequence will be entered for updating the value of SP for the receiving remote unit. If the message is down link, the value of SP is not updated for the reasons previously set forth.
Assuming that the message is an up link message, the received value of MP is compared with the local value of SP, as indicated by element 138. If the two values are the same, there is no requirement to change SP. If SP is not equal to the received MP, a ~5'~35 preliminary adjusted value of SP is set equal to the larger of the received MP and the local Calculated Priority CP, as represented by block 1401 Once the preliminary value of SP is determined, a .subroutine is entered for compleking the priority adjust sequence~ as indicated by element 142.
A flowchart for the completion of the priority adjust subroutine is depicted in Figure 24~ Entry into the subroutine is represented by element 29~. As indicated by element 298, a determinati.on is first made as to whether the preliminary value o SP is less than the minimum value of 6. If the value is less than fi, the minimum value is used, as shown by block 300.
Once the new value of SP is determined, the preliminary value of SP is compared with the present value of SP. As indicated by element 302, if the two values do not dif~er, it will not be necessary to change the present value of SP. Accordingly, the sequence will return to the calling program which continues on the Figure 7B flowchart as represented by element 312~
Assuming that the two values of SP are different, the new value of SP will be stored, as represented by block 304. Once the new value of SP has been stored, ?.5 the adjustment factor PCF is computed by subtracting the number seventeen from the new value of SP as represented by block 306. As previously noted in connection with equation (2), PCF represents the c'nange in the number oE probability timer hits NT which are ~o be examined. The actual number of bits examined is then computed in accordance with equation (2).
As set forth in equation (1), the value of NT
controls the actual probability o~ transmission at a given slot time. Once NT is computed, the probability transmit timer is updated and the sequence returns to the calling program, as represented by block 308 and lZ~.5;~5 element 310, respectively. ~s previously noted, the updated priority value will not be us~d unless the message to be transmitted is a Eloatiny priority message. For fixed priority messages~ the priority value NT is not changed once set.
As defined in Table 2A, each message contains a System Number SYN, which identifies the network associated with the message. ~ach remote unit in ~he system will be pro~rammed with the appropriate SYN so that messages from other systems, referred to as foreign messages, can be identified. Such foreign messages are utilized for limited purposes, as will be subsequently described.
As represented by element 144 of Fi~ure 7B, a determination is first made as to whether the S~N in the received message is all zeros. A S~N of all zeros is an indication that the remote unit which transmitted the message is inoperative. Such messages are treated as foreign messages. As represented by block 146, a foreign message counter, used for diagnostic purposes, is incremented.
It is possible that a foreign message may collide with local messages~ As will be subsequently described, all received messages, including foreign and local, will be processed for controlling a transmit hold delay timer which may prevent the receiving unit from transmitting on the network. If the received message is a oreign message the channel will not be allocated to a fore;gn unik transmitting a foreign message even though a hold ~elay may be set, as indicated by block 148. As previously noted, the channel is allocated to a remote unit initiating a message sequence so as to prevent other remote units from transmitting messages which are likely to cause a collision. The sequence will then proceed to the Figure 7E Elowchart, at which time the transmit hold delay timer will be updated, as re~uired~
Assuming that the received 5~N is non-zero, che Intermediate Source Address ~SA of ~he received message is examinedO As previously described, the ISA is the address of ~he remote unit which transmitted the received message. Such unit may or may not be the unit which initiated the message sequence.
Remote units which transmit messages with an ISA
of all zeroes are no~ operating properly. As represented by element 150, if the received ISA is all zeroes, the sequence will proceed to flowchart of Figure 7E. The message will be discarded and the display associated with the system will be udpated to reflec~ receipt of a message from an inoperative remote unit.
If the ISA is non-zero, the SYN associated with the subject remote unit will then be examined, as indicated by element 152. A SYM of all zeroes indicates that the sub~ect remote unit has not yet been programmed. In that even~, the unit will refrain from further processing of the received message~ with the exception of updating the Good ~ist ~OODLST. As previously described, the GOODLST is utilized in selecting preferred down link addresses and will subsequently be described in greater detail in connection with the Fiqure 7E flowchart.
If the subject remote unit has been programmed, the local SYN will be non-zero. As indicated by element 154, the received SYN is compared with the local SYN to determine whether the message is a ~oreign message. If the message is foreign, the message is treated in the same manner as if the received SYN were all zeros. The oreign mes~age counter is incrementec~
(block 146), the channel allocation remains unchan~ed 12~S~5 (bloclc 148) and the transmit hold delay timer is updated (Fiqure 7E), if re~uired.
Assuming that the ,~Ns ma~ch, the message type is examined to determine whether the message is what is termed a link ~est message. This message, which is neither an up link or down link message, serves to test a fixed link 22 (Figure 1) in the system. If a rernote unit is connected to a fixed link, the unit should periodically receive a message over the link if the network is func~ioning normally. If such a message is not received within a predetermined time period, the remote unit will transmit a link test message requesting a remote unit coupled to the fixed link to transmit a responding message. ~ll remote units coupled ~o a fixed link are implemented to respond to link test messages provided the message is received over a fixed length, regardless of the IDA of the message. Accordingly, the address o the unit coupled to the link need not be known by the transmitting unit.
If a responding message is not received over the fixed link by the unit transmitting the link test message, it is assumed that the link, or the receiver section connected to the link, has failed.
As represented by element 156, the message type is examined to determine whether the received message is a link test message. I the message is a link test message, a determination is then made as to whether the message was received over a fixed link, as represented by element 158~ This determination is made by examining the previously-noted internal fixed link flag which is set when a message is received over the link, as opposed to the power line~ If the message was not received over the link, it is assumed that the message was transmitted to test another link in the system and is ignoredO

53~
-5~-If the message ~as -received over the fixed link, a job will be queued for the unit to transmit a responding message over both the fixed link ancl the power line, as represented by hlock 16n7 The particular type of responding message is not critical since the purpose of the messa~e is to enable the remote unit transmitting the link test message to ascertain whether i~ is capable of receiving any message over the fixed link. Once the job has been queued, the display will be updated, as will be subsequently described in connection with the Figure 22 flowchart. The executive program will cause the job to be executed based upon the job priority. Link test messages are transmitted to test a link connected to the transmitting remote uni~; therefore, such messages do not cause a store and forward operation.
If the received message is not a link test message, the message will be processed further. The data package in the message will typically be stored and forwarded, as will be subsequently described.
The next step involves a Global Sequence Number GSN processin~ sequence. As set forth in Table 2A, each Global Sequence Command GSC issued by the master unit has an associated GSN. The GSN is utilized to ensure that all remote units intended to receive command information in a GSC will actually receive the information.
Each message transmitted by a remote unit includes a local GSN which reflects the latest GS~ present in messages received by the unit. If a remote unit receives a further message containing a GSN which is greater than the local GSN, a job will be ~ueued to notify the master unit of the last Global Sequence Command. The local GSN of the remote unit will then be updated, even though the unit may not yet have received any missing commands~ A separate value, an Actual i35 Command Received ACR value, is stored ~o maintain a record of the commands actually received by the suh~ect remote unit, as set Eorth in Table 2~. It is also possible that the received message itself cornprises the missing command information, thereby eliminatinq any requirement to request a command.
Referring back to the Figure 7B flow diagram, the GSN of the received message is examined as represented by element 162. If the GSN is all zeros, further Global Sequence processing will not be performed and the received message will be processed as a conventional message~ as will be subsequently described in connection with the flowchart of Figure 7D.
If a remote unit has determined that it is not capable of receiving messages~ the unit will commence transmitting messages, referred to as deaf node messages, containing an associated data package which has the master unit as the final destination. Steps will be taken to ensure that only one remote unit will come to the assistance of the deaf node by initiating a down link message sequence whereby a data package associated with the deaf node is transferred to the master unit. Ther messages of the messaqe sequence contain a SN provided by the deaf node rather than by the sequence-initiating remote unit. Once a first store and forward operation has been completed, any subsequent store and forward operations will be carried out in the same manner as a conventional message.
Deaf node messayes are identified by examining the GSN contained in the message, with a GSN of all ones indicating that the message contains a data packaqe associated with a deaf remote unit. As indicated by element 164, a determination is made as to whether the message is a deaf node message. If the message is a deaf node message~ a determination will then be made as to whether the subject remote unit should initiate a S~5 down link messaqe sequence~ If the GSN is not all ones, the GSN will be examined further/ as will be described in connection with the flowchart oE Figure 7C.
The Intermediate Destination Address IDA of messages transmitted by a deaf remote unit are ignored.
This is because the transmitting uni~ is not capable of receiving messages and is, therefore, not capable of selecting preferred down link addresses utilizing a GOODLST. Accordingly, any remote unit receiving a message transmitted by a deaf node may initiate a message sequence independent of any IDA which may be present in the message.
As represented by element 166~ a determination is made as to whether the unit transmitting the deaf node message is the deaf node. This is done by comparing the Intermediate Source Address ISA with the Source/Destination Address SDA of the received message.
As set Eorth in table 2B, the ISA is the address of unit transmitting the message. The SDA is the address of the unit associated with the data package in the message.
If the two addresses do not match, another remote unit has already come to the assistance of the deaf node by initiating a down link message sequence.
Accordingly, it will not be necessary for the subject remote unit to initiate a Eurther down linX message sequence, although the subject unit may be required to store and orward the data package contained in the deaf node message as it would for any conventional down link message directed ~o the subject unit.
If the subject remote unit had also previously received an identical dea node message transmitted by the deaf node, and has not yet initiated a down link message sequence, the duplicate message for initiating the sequence will be deleted~ as indicated by block 168. As will be ~urther described in connection with the flowchart at Figure 8, the extra messaqe is identi-fied by examining the SDA and SN of any messaqe present in either store and forward buffer~ The message will be processed further, as will be described in connection with Figure 7n Elowchart If the messaqe is directed to the subject node, as determined by the message IDA, the data package in the message will eventually be stored and forwarded in the conventional manner.
If the ISA and SDA do match, the deaf node message was transmitted by a deaf node and the subject remote unit will store and forward the data package in the message, under certain circumstances, by initiating a down link message sequence. As represented by element 170, the data package will not be stored and forwarded if a store and forward sequence for the same deaf node message is already in process. This may occur in the event the deaf node had transmitted another deaf node message at an earlier time and the subject remote uni~
had undertaken to initia~e a down link se~uence. The sequence for checking to determine whether a down link message sequence for the deaf node message is being initiated will be described in connection with the Figure 8 flowchart. As will be subsequently described in connection with the Figure 7E flowchart, the display will be updated, indicatin~ that the received data package will not be .stored and forwarded.
If a store and forward sequence of the deaf node data package is not already in process, a job will he queued for storing and forwarding the deaf node data packaqe by initiating a down link sequence, as represented by block 172. The GSN of the messages in the down link sequence will remain all ones to indicate that the message contains a data package originated by a deaf node. Once the job has been queued, the .

~,~' ~t~g received message will be processed further, as will be described in connection with the flowchart of Figure 7D ~
A deaf node sequence i5 entered when a deaf node 5 message is received to de~ermine whether there is already a down link message sequence about to be ini~iated by the subject remote unit (element 170) and for deleting any duplica~e data package in the event another remote unit has already initiated a down link message sequence to assist the deaf node (bloc~ 168).
Entry into the sequence is represented by element 314 of the Figure 8 flowcharta ~s indicated by block 316, the first s~ep of the sequence is to examine the contents of the Store and Forward (S&F) Ruffer A 82 (Figure 5).
A check/clear subroutine, depicted in the Elowchart of Figure 9, is then called, as represented by element 318. Entry into this routine is represented by element 326. If the buffer under consideration does not contain a message, the sequence returns to the calling program of Figure 8, as indicated by elements 328 and 330, respectively.
Assuming that the store and forward buffer does contain a message, a comparison is made between the SDA
of the messa~e in the operate buffer 74 (Figure 5) and the SDA of the message found in the store and forward buffer under consideration. If there is no match, the sequence will return to the calling program, as represented by elements 332 and 334, respectively.
Assuming that the addresses match, a determination is then made as to whether there is a ~equence Number SN match, as indicated by element 336, As previously noted, the SN uniquely identifie~ the data packa~e in a down link message sequence and responding up link sequence so that remote units can identify the reply up link message. If there is no match, the data package in the store and forward buffer is not a duplicate of r-3 ~ r~

the data package presen~ in the operate buffer.
Accordingly~ the sequence will return ~o ~he calling program, as shown by element 338.
If there is a S~ match, ~he data packa~e is a duplicate. The GS~s of the messages are again examined to reconfirm that the messages are deaf node messages, as indicated by element 340. If the messages are not from a deaf node, an anomally has occurred and the sequence returns to the calling progam, as represented by element 342.
Assuming that the messages are deaf node messages, a determination is then made as to whether the subroutine was entered for the purpose of both checking and clearing the store and forward buffers or just 1~ checking, as indicated by element 344. If the subroutine was entered only to determine whether the subject remote unit has already commenced a down link mes~age sequence to assist the deaf node tFigure 7B, element 170), then the store and forward buffers will be checked only. If the subroutine was entered to delete a duplicate data package (Figure 7B, block 168), the store and foreward buffers are hoth checked and cleared.
Assuming that the store and forward bu~fers are only to be checked, a flag indicating a match between the operate and store and forward buffers is set, as indicated by block 348. If the extra data package is also to be deleted, the store and forward buffer is cleared, as represented by block 346, followed by the setting of the match flag. The sequence then returns to the calling program depicted in Figure 8.
Once the S&F ~uffer A has been checked and cleared, as required, S&F Buffer B is examined, as represented by block 320. The check/clear suhroutine of Figure 9 is then called~ as represented by element 322. The sequence conducted in connection with Buffer A is then repeated for Buffer ~. Once the subroutîne is completed, the sequence returns to the program depicted in the Figure 7B flowchart~ as represented by element 324 of Fi~ure 8.
The SD~ indicates the final destination for up link data packages. In the event the up link message sequence is in response to receipt of a down link deaf message, the address of ~he deaf node will be the SD~
of the up link messages even though the deaf node will not be able to receive the final message transmitted by the down link sequence initiating remote unit.
However, such final message is useul for permitting other remote units receivinq the message to update their respective GOODLSTs.
If the GSN in the received message is not all ones (Fi~ure 7B, element 164), the message is not a deaf node message. Referring now to Figure 7C, the GSN of the received message is processed further. The GSN of the received message is compared with the local GSN of the subject remote unit.
If the GSN of the received message is less than the local CSN, the transmitting unit has been informed of fewer commands than the subject unit. No action is taken by the receiving remote unit. If the local GSN
is less than the received GSN, it is possible that the subject unit has missed one or more commands. It is also possible that the received message constitutes one of the missing commands. As represented by element 174 of Figure 7C, if a large number of transmitted commands 3Q have not been received by the subJect unit, no attempt is made to obtain the missing commands. In the present embodimentr no action will be taken if there are over one hundred twenty-ei~ht command numbers missing. The GSN of the sub~ect unit will now be updated to the value of the received GSN, as represented by block 178.

~61-If the number of missiny commands, if any, is less than the maximum value, a determination is made as to whether the local value of ~,SN is all zeros, a5 indicated by element 176. An all zero local ~N
indicates that the subjec~ unit just started operation.
In that event, no attempt will be made to obtain the missing commands and the present value of ~S~ will be updated.
Assuming that the present value o ~SN is greater than zero, or after the local value of GSN has been updated, the message type of ~he received message is examined to determine whether the message is a Global Se~uence Command GSC, as indicated by element 180.
If the message is not a GSC, the ACR (Table 2B) and received GSN value are compared, as shown by element 182. If the ACR value is less than that of the received GSN value, a job will be queued for the subject unit to initiate a down link message sequence to notify the master unit of the last command received ~0 hy the unit, as represented by block 184. The master unit will then respond to the final message of the sequence, with the response being a function of the particular command(s) missed. If, for example, it is too late for the remote unit to properly act upon the 2~ command, an up link message sequence will be initiated by the master unit for the purpose of only updating the Actual Command Received ACR value of the remote unit.
If the remote unit should act upon the command(s), the missing commands will be forwarded to the remote unit.
The message, which is not a command (element 180), will then be processed further, as will be described in connection with the flowchart of Figure 7D.
Assumin~ that the received message is a G~C
(element 180), a determin~tion will be made as to which type of command has been received. The command type is determined by examining the three data flags of the s;~

command. In the present embodiment, there are four basic types of commands, although other types oE
commands could also be used. The four command~ include two flood and two non-flood cornmands. The flood commands include total flood commands whic'n contain command information which is stored and forwarded in the up link direction by every remote unit receiving the command and where the receiving unit also has a valid up link address present in the associated Link List or is coupled to a fixed link. The IDA of total flood commands is all zeros, with every remote unit receiving the command also acting upon the command.
The second flood command is a fixed link flood command. This command has an IDA of all zeros and contains command information which is stored and forwarded if the receiving remote unit is connected to a fixed link. All remote units receiving a fixed link flood command act upon the command.
The two non-flood commands include directed commands. Directed commands contain command information which is stored and forwarded in the same manner as a data package in ordinary up link messages and have a non-zero IDA. Only the remote unit having an address which matches the ,SDA of the command message will act upon the command information.
The second non-flood command is referred to as a store and orward only command. The command has a non-zero IDA and the command in~ormation is stored and forwarded in the same manner as a conventional message.
Unlike a directed command, a]l remote units which receive a store and forward only command act upon the command information if appropriate. For example, a directed command may be transmitted in response to a data package sent by a remote unit for the purpose o~
informing the master of the ACR value of the remote unit. The ACR value informs the master unit of the 5~

last ~lobal Se~uence Command GSC received by the remote unit, as previously described. If one or more GSCs have been missed and ~t ls still appropriate for the remote unit to act upon the commands, the master may reply to the remote unit with one or more directed GSCs having an SDA of the remote unit and IDA equal to the ISA of the remote unit which transmitted the data package to the master. The SDA and IDA o~ other non-~lood GSCs are selected in a similar manner.
AS indicated by element 186, if the command is a directed command, the message will be processed Eurther as will be described in connection with Figure 7D. The command will eventually be acted upon, as will subsequently be described7 If the command is not a directed GSC, but rather is either one of the two types of flood commands or is a store and forward command, a determination is made as to whether ~he ACR value of the subject unit and the received GSN mat~-n, as represented by element 188.
Matching GSN ana ACR values is an indic~tion that the received GSC was received earlier. However, the command will not be stored and forwarded or acted upon since the command was previously received. In that event, the message will be processed further, as will be described in connection with Figure 7D.
Assuming that there is no match between the ACR
value and received GSN, a determination is then made as to whether the received command is in the proper sequence, as shown by element 190. B~ way o~ example, if the GSN of the received message is eight and the ACR
value is six~ the subject unit has not received the GSC
associated with the GSN of seven. The present command should not be acted upon until the missing command has been received and acted upon since the order in which the commands are processed may be critical. In that event, the sequence will proceed to block 184, and a job will be ~ueued to transmit a down link message informing the master unit of the last command received in the proper sequence. As previously described, the master unit may provide the missing commands in the proper sequence if appropriate, or simply update the remote unit with the most recent ACR value. The sequence will then proceed to the Figure 7D flowchart, as will be subsequently described.
If the received GSC is in sequence, a deter-mination is then made as to wnether the subject remoteunit falls within the group of units intended to act upon the command information, as shown by element 192.
In the event the subject unit falls within the ~roup, a job will be queued to act upon the command, as represented by block 194. The transmitter and receiver section of the subject unit will then be disabled, as shown by block 190 so that the message in the operate buffer will be preserved.
It had previously been determined that the received command was one of the three types of commands other than a directed command (element 186). In that event, the received command information will be stored and forwarded by the subject remote unit in the up link direction, if appropriate. By way o~ example, if the 2S command is a flood command an~ the subject remote unit has a valid up link address present in the LNKLST, the command information will even-tually be stored and forwarded. This procedure ensures that remote units intended to act upon the command information, but not capable of communicating directly with the master unit, will receive the command information.
In order to minimize the number of transmissions on the network, the remote units are implemented to refrain from transmitting messages in the up link direction if the Hop Count HC of the unit is equal to or greater than the maximum value for the system. In 5~5 the present embodiment, the maximum value is ~ teen~
The transmitted value o:E HC in this instance i~
determined by adding one to the value of HC in the received message. If the new value of ~C i5 equal to or exceeds the maximum value, the command will not be stored and forwarded, as represented by element 198O
The message will then be further processed, as will be described in connection with Figure 7D.
In the event the new value of HC is less than the maximum value, a determination is made, based upon the type of command, whether the message information is to be stored and forwarded, as indicated by element 199.
This is determined by examining the three data flags of the command, as previously described.
As represented by block 200, if the data package is to be stored and forwarded, a job will be queued to transmit a message in the up link direction~ as will be subse~uently described.
Once ~he Glohal Se~uence processing depicted in the Figure 7C flowchart has been completed, the command message is processed further, as will be described in connection with the flowchart of Figure 7D. Such urther message processing will also take place for most other messages, as previously described in connection with the flowchart of Fi~ure 7B.
As shown by element 202 of Figure 7n, a determination is first made as to whether the message is directed to the subject remote unit. This determination is made by examining the Intermediate Destination Address IDA of the received message. If the message is not directed to the subject unit, the message will not be acted upon further except for the purpose of updating the Good List GOODLST. As previously noted, the GOODLST is utilized in selecting optimum down link address, and will be described in connection with the Figure 7E Elowchart.

S

Assuming that the message is directed to the subject remote unit, a determination will then be made as to whether the message information should be stored and forwarded in the up link direc~ion. This will occur only if the message is an up link message and the subject remote unit is not the final destination of the message information, as is determined by the Source/Destination Address SDA of the message.
As previously described, each remote unit is provided with a transmit hold delay timer which is used to reduce message collisions on the network. The hold delay timer is set in response to receipt of a message, with the duration of the hold delay being determined by the message type, as set for~h in Table 3, above. The Source/Destination Address SDA of the last message to which the communication channel was allocated is referred to as the Last Address LSTADD, as described in Table 2Bo The L9TADD is used to identify the remote unit to which the channel has been allocated and which may include either the SDA of the remote unit which originated the data package in the message sequence or the remote unit to which the data package is the final destination. If the channel has not been allocated to the messa~e SDA, the hold delay will prevent the message from being stored and forwarded, thereby avoiding collisions with allocated messages, i.e., messages containing an SDA which matches the LSTADD.
The hold delay will be ignored for allo~ated messages.
As represented by element 204, a determination will be made as to whether the message is an up link message. Assuming that the message is an up link message, the channel will be allocated to the remote unit which is the final destination of the message information. Thus, the Laæt Address LSTADD is set equal to the SDA of the message, thereby allocatin~ the v~

channel to messages containing such SDA. As previously noted, the present ~essage is most likely an up link reply message. In that event, the channel would have been already allocated to the SDA during the down link message sequence of the virtual link.
Once the channel has been allocated, the transmit hold delay is ignored, as represented by block 208.
Thus, if the received data packaqe is to be stored and forwarded and the channel allocated to the remote unit identified by the SDA, the hold delay will not prevent the transmission.
If the message is not an up link message, a determination is again made as to whether the channel has been allocated to the remote unit identified by the SDA. As represented by element 210, this is determined by comparing the SDA of the message with the LSTADD.
If the channel had been allocated to the remote unit identified by the SDA of the received message, a transmit allocate flag is cleared~ as indicated by block 218~ As will be subse~uently described, the transmit allocate flag will be set when an allocated message is transmitted and will be cleared when an allocated message is received. The flag is only utilized by a remote unit preparing to initiate a message sequence which contains a data package originating with the remote unit. If a previous message sequence had been initiated and an expected reply message not yet received, the transmit allocate flag will be set. The sequence initiating remote unit will not transmit further messages until the expected reply message is received with such message clearing the flag or until the hold delay has expired. Thus~
the sequence initiating unit will not transmit a message, even though the channel is allocated to it, which is likely to collide with a message of an earlier down link message sequence or reply message.

3~

A hold enable flag will have been unconditionally set when a message is received. When this Elag is set, it is possible to update the hold delay timer associated with the remote unit. The hold enable flag will be cleared in the event the channel is not allocated to the remote unit identified by the SDA of the message and the message is not an up link message.
If the channel is not allocated to the remote unit identified by the SDA in the messaqe telement 21~), a determination is made as to whether the messa~e is an up link message, as indicated by element 212. If the message is not up link, a determination will be made as to whether the hold flag has been set, as indicated by element 214. As previously noted, the hold flag will have been previously set unless an anomally has occurred. Next, the hold flag is cleared, as represented by block 216.
A determination will then be made as to whether the subject remote unit is the final destination of the ~0 data package contained in the message. As indicated by element 220, if the SDA of the received message does not match the address oE the subject node, another node is the final destination. The data pacXage will be stored and forwarded either in the up or down link direction, as will be described in connection with Figure 7E.
Assuming that the subject remote unit is the final destination, the message should be an up link message.
If the message is not an up link message, as determined by element 222, an anomally has occurred. The data package will not be stored and forwarded, but the message will be used to update the Good ~ist GOODLST, as will be described in connection with Figure 7E.
If the message is up link, a determination will be made as to whether the message is a Global Se~uence Command GSC by examining the message type, as inflicated r~

by element 224. If the message i5 a GSC, a determin-ation is made as to whether the command is a directed GSC by examining the three ~lata flags. If the cornmand was one of the three types of non-directed commands, the job would have been previously queued to act upon the command information, if appropriate (Figure 7C, block 194) If the command is a directed command, it had been previously established that the subject remote unit is the final destination of the command (element 220). Accordingly, a job will be queued to act upon the directed command, as represented by block 224.
If the subject remote unit is the final destination of the data packaqe, but is not a GSC, the message will also be acted upon at this time. Such a message may have been initiated b~ the master in response to an earlier data p~ckage issued by the subject remote unit advising the remote unit of the latest Global Sequence Number.
Once the job has been queued, a sequence will be entered for the purpose of examining the Sequence Number ~SN of the received message, as will be described in connection with the Figure 7E flowchart.
Messages from a remote unit initiating a down llnk message sequence are typically of the type which cause a reply message to he transmitted by the master unit.
If the reply message is not received within a predeter-mined time period, the initiating unit will initiate another sequence. Aæ previously noted, each sequence initiated by a remote unit includes a Se~uence Number SN which, toqether with the SDA, is utilized to iden-tify an expected reply message. In the event the sequence wa~ initiated in response to receipt of a deaf node message transmitted by a deaf node, no attempt will be made by the initiating remote to initiate an-other sequence. As previously noted messaqe se~uencesinitiated in response to receipt of messages ~S~5~5 transmi~ted by deaf no~es contain the SDA, SN and data package of the deaf node.
At the present stage oE message processing, a determination has been previously made that the message is an up link message (elemen~ 22~) and the subject remote unit is the final des~ination of the message inEormation (element 220). Referring now to the Figure 7~ flowchart, a determination will then be made as to whether the message is a reply to a message having an 10 SDA which corresponds to the subject unit. If the SDA
matches a reply, an associated retry timer will be cleared so that no attempt will be made to initiate a further message se~uence.
Assuming tha~ there is an SDA match and the message is up link, each of the five transmit originate buffers 86,88,9n,92 and 94 (Figure 5) is then examined, as indicated by block 230. As indicated by element 234, each originate buffer is examined until a Sequence Number SN is ~ound which matches the SN of the received message. If an SN match is found the SN in the buffer is cleared along with the associated retry timer, as represented by block 238.
In most cases, a SN match will eventually be found. However, in some instances, there will not be a match. By way of example, it is possible that two or more reply messages will be produced in response to a single down link message sequ~nce. In that event, a match will not be found Eor the second reply, because the originate buffer will have been previously cleared by the first reply message.
As previously noted, once a channel has been allocated to a particular remote unit address, message throughput is maximized if data packages present in the unit are transmitted during a single allocation period by the initiation of successive down link message sequences. If a plurality of data packages are present 1~SJL35 in the five originate buffers, all of the message sequences excep-t one will contain a set Message Following Flag MFF, as defined in Table 2A. The message sequences wi~h a set ~FF will cause the master to reply with a message also containing a set MFF. As represented by element 240, if the received message contains a set MFF, usually at least one additional data package awaits ~ransmission~ As shown by block 242, a job will be queued to transmit the next Aata package present in the originate buffer. All data packages in the originate buffer will be transmitted until the final data package is transmitted, with the final message sequence having a cleared MFF.
Once the job has been queued to transmit the next message containing the next pending data package (block 242), or in the event MFF is not set (element 240), a job will then be ~ueued to update the Good List GOODLST, as shown by block 246. Similarlyt a G~ODLST
update job will be queued at this point in the sequence for other messages conkaining data packages which require store and forward operations, as represented by block 248. Such messages include messages not directed to the subject remote unit (Figure 7D, element 202), anomalous down link messages having the sub~ect unit as a final destination (Figure 7D, element 222) and messages received when the System Number SYN for the subject remote unit is all æeros ~Figure 7~, element 152). The sequence ~or updating the Good List GOODLST
will be subsequently described.
Messages containing data packages to be stored and forwarded include messages which are both directed ~o the subject remote unit, as determined by the IDA
(Figure 7E, element 202), and which do not have the subject unit as the final destination for the data packages, as determined by the message SDA (Figure 7E, element 220)~ As represented by block 248, a job is ~2~5 queued to store and forward such data package in either the up link or down link direction, as required. In addition, a job will be queued to update the Good List GOODLST. ~oth jobs will be subsequently described.
Once the job to update the Good List GOODLST has been queued, the transmit hold delay timer is adjusted, iE required. The duration of the hold delay timer may be modified for the purpose of assisting in the transmission of messages having a Hop Count HC which equals the maximum value, with such messages being referred to as lost messages.
As indicated by element 250, a de~ermination is first made as to whether the received message is a lost message. Messages from lost remote units will normally not cause the receiving unit to set a transmit hold delay. A lost remote unit is defined by a unit which transmits messages having a ~lop Count HC equal to the maximum value, which, in the present embodiment, is 15.
By refraining from setting a hold delay, the subject unit will not delay in ~he transmission of its own message. Such a message is likely to provide valuable inEormation to the lost node, namely a useable down link address.
If the message is lost, but the subject remote unit is also lost~ the subject unit will act upon any transmit hold delay and refrain from transmitting, provided the lost message is not a deaf node message.
In doing so, the lost node transmitting the message will have an opportunity to attempt to communicate with the master. If successful, the node transmitting the message will be in a position to provide assistance to the subject remote unit.
The foregoing can be further illustrated by reference to Figure 7E. ~s indicated by element 250, a determination is made as to whether the received message was transmitted by a lost node. If the ~2~S~

received HC is less than 15, the transmitting node is not lost and the hold delay sequence is carried out in the normal manner.
If the value of the received HC is not less than 15, the transmitting node is lost. A determination will then be made as to whether the received message is a deaf node message. As indicated by element 260, this is determined by verifying ~hat the GSN of the received message is not all ones. If the lost message is also a deaf node message, the transmit hold delay information in the message is ignored. A job will be queued to update the display, as represented by block 283. The initial message processing will then be completed and the sequence will return to the calling program, as represented by element 290.
If the lost message was not a deaf node message, a lost message counter is incremented, as represented by block 2~2. It is likely that a transmission of any message by the subject unit will provide useful information to surrounding lost nodes. If the information of the received message is not to be stored and forwarded, and the lost message counter is non-zero, a messa~e will be transmitted to assist lost nodes, as will be subse~uently described.
Once the lost counter has been incremented, a determination is made as to whether the sub~ect remote unit is also lost, as represented by element 294. If the ~op Count MC of the subject unit is not less than the maximum value of fifteen, the subject unit is lost and is not in a position to provide assistance to the transmitting unit. Accordingly, the subject unit will act upon the hold delay instruction in the message and refrain from transmitting. If the transmitting unit is not lost, the message will be used by the subject unit in establishing a path to the master. If the sub~ect ~S~5;~5 -7~-uni~ is not lostr the hold delay inEorma~ion is issued and the display is updated (block 288).
If the hold delay information in the message is to be acted upon, the Message Following Flag MFF of the message is examined, as shown by element 262. If the flag is set, the ~op Count HC value is set to a maximum value of 15~ In addition, the message type of the message is forced to be the type which requests a variable transmit hold delay (Table 4) in accordance with the following equation:

Hold Delay - (HC * 2) Messa~e (4) Times Thus, if the received message contains a set MFF, the subject until will refrain from transmitting for a long duration, thereby avoiding a collision with the message which will ollow the present message. As will be subsequently explained, the value of HC in equation (4) may be modified in certain circumstances. If the MFF is not set ~element 262), a determination i8 made as to whether the message is an up link message, as represented by element 26fi. If the message is an up link message, a determination is then made as to whether the message is terminating. This is determined by comparing ~he IDA with the SDA of the message, as represented by element 268. If the addresses match~
the hold delay timer is cleared, as shown by block 270 since the timer is no longer required. The display is the updated (block 2fl8~ and the initial message processing is completed.
If the message is not a terminating uo link message, or in the event the MFF of the message is not set, the subiect remote unit ~op Count HC is examined, as represented by element 272. If ~C equals the maximum of fifteen, the subject remote unit is lost.

~ 5 The subject unit will refrain from transmitting any message a suEficiently long period to enable the remote unit which transmitted the received message to provide assistance~ This is achieved by se~ting the value of HC used to control the delay timer to the received HC
value plus one, as represen~ed by block 274. If the received message is of the type which requests a fixed delay, rather than a variable delay, the increased value of HC will have no effect on the hold delay. If the message contains a set MFF, the message will be treated as a variable hold delay message (block 264), regardless oE the actual message typeO
Once the value of HC for the delay timer has been increased by one if the subject remote unit is lost, a determination is made as to whether the received message is a broadcast messageO As represented by elemen~ 276, any message containing an IDA of all zeros is referred to as a broadcast message (Table 2B).
These messaqes include both types of flood Global Se~uence Commands and the echo up link message transmitted in response to receipt of an echo up link command which will be subsequently described. As represented by element 276, if the message is a broadcast message, any hold delay request in the message, as determined by the message semaphores (Table 4), will be ignored. This prevents broadcast messages, which by definition tend to be transmitted hy a large number o~ remote units, from monopolizing the network.
The display will then be updated, thereby ending the initial message processing.
An echo up link command is a message type originated by the master unit and which is typically a reply to a down link message~ A remo~e unit which both initiates a down link message seguence and which receives an echo up link command in reply, will generate an echo up link message. The purpose o the S

message is to assist surrounding remote units by informing such uni~s that the initiating uni~ has successfully communicated with the master unit. The IDA of the echo up link message is all zeros.
If the message is not a broadcast message, a determination ~ hen be made as to whether a hold enable flag had been previously set for the received message, as indicated by element 278. If the flag is not set, the hold command in the message will be ignored and the display updated.
If the hold enable flag had been set, the transmit hold delay timer will be set, as represented by block 280. The delay timer will also be set in response to receipt of foreign messages, as previously described in connection with Figure 7B. As represented by block 279, a flag will have been unconditionally set to indicate that there was a previous hold. The purpose of the flag will be subsequently explained.
The magnitude of the delay will be set to the larger of any present delay or the computed delay as determined by the Hop Count HC (if the message type calls for a variable delay) or the maximum HC value which i5 used if the MFF is set (block 264), either of which may be increased by one (block 274).
Once the hold delay timer is set, a determination is then made as to whether the new value of the delay timer differs from the original value, as represented by element 282. If there is no change, the display will be updated and the initial message processing will be completed.
If there is a change in hold delay, a determination will be made as to whether the hold delay timer had originally been active, as indicated by element 284. As previously noted, if the received message is a foreign message, the flag indicating that the hold delay timer had been active will have been set (block 279)~ This serves to prevent a channel to be allocated to the foreign message. If the hold delay timer had not been active, the channel will be allocated to the received message, as represented by block 2860 This is accomplished by setting the Last Ad~ress LSTADD equal to the ~DA of the message~ Once the allocation has been made, or in the event the timer was previously active, the display ls upda~ed thereby ending the initial message processing sequence. If the delay timer had been active, no change in allocation will be made.
As previously noted, with few exceptions, a received message is utilized for the purpose of possibly updating the Good List GOODLST associated with the remote unit (Figure 7E, blocks 246,248). The Link List LNKLST, which contains up link addresses, will also be updated in the event data package contained in the message is to be stored and forwarded, as will be subsequently described.
The initial seguence for updating the GOODLST and LNKLST, sometimes collectively referred to as updating the links, is depicted in the flowchart of Figure 12A.
Entry into the sequence for updating the links is represented by element 352. The first portion of the sequence is devoted to determining whether the master unit should be placed of the Expected List XPLST. As previously noted, the XPLST contains a list of node addresses which are expected to transmit a reply message. The expected message is an up link reply message in response to a down link message. A primary function of the XPLST is to provide information utilized in forming the GOODLST.
The master unit is unique amon~ the network nodes in that, by definitionf the master is only capable of transmitting up link messages. Accordingly, the master unit would normally be placed on the XPLgT of a remote ,. ,. , , ; , . i ~2S~S~5 unit only if the unit which transmitted a message for which a reply is expected transmitted directly to the master unit. Thus, information regardin~ the ability of a remote unit to successfully transmi~ directly to the master unit is infrequently obtained. If the master uni~ address is present on a remo~e uni~
GOO~LST, the GOODLST is less likely to reflect current network condi~ions.
The foregoing can be further illustrated by reference to the diagram of Figure 2O Unit 26dy given present network conditions, communicates with the master unit through intermediate units 26e and 26f.
Assume, for example, ~hat at one time remote uni-t 2fid was capable o successfully transmitting messages directly to the master unit 24. It is possible that the master unit address will still be present on the GOODLST of unit 26d even though, because of a change in network conditions, the unit is no longer capable of transmitting directly to or receiving directly from the master unit. Unless special .steps are taken to place the master unit address on the XPLST, the address will remain on the GOODLST until unit 26d unsuccessfully attempts to transmit directly to the master unit.
As will be described, the master unit address will be placed on the XPLST for unit 26d whenever the unit receives a down link message for which a reply is expected. If the unit does not receive the reply transmitted by the master, the master unit address will be removed from the GOODLST of unit 26d.
Assume that remote unit 261 has received a down link message from unit 26k for which a reply is expected. Unit 261 will store and forward the message information to unit 26m. IE unit 26d is capable of receiving the message transmitted by unit 261, the address of the unit 261 will be placed on the ~PLST for unit 26d. Unit 261 will monitor unit 261 to verify that unit 261 transmits the expected re~ly ~essa~e to unit ~6k.
In the event that the master unit acldress i8 present on the GOODLST of unit 26d, the down link message transmitted by uni~ 261 will also cause the master unit address to be entered on the XPLST for unit 26d. Thus, unit 2~d will also monitor the master unit to verify that it is capable of directly receiving the reply up link message transmitted b~ the master to unit 26m. If the message is not receive-3 by unit 2hd, it is assumed that the master unit address is no longer a preferred down link address. Accordingly, the master unit address may be removed rom the unit 26d GOODLST, as will be subsequently described.
Returning to Figure 12~, a determination is first made as to whether the received message is down link, as shown by element 354. If the messaqe is down link, a determination is then made as to whether the master unit address is present in the GOODLST for the subject remote unit, as indicated by element 356. If the address is present, the Hop Count UC of the received message is examined to verify that the message is not a lost message, as represented by element 358. The message is considered lost if HC is equal to the maximum value of fifteen. The master address will not be placed on the XPLST for a lost message, since there is a high probability that any expected reply will not occur.
If the messa~e is not lost, a determination will then be made as to whether the link confirmed ~lag L
present in the message is set, as shown by element 360~
As previously described, flag L will be set if the unit transmitting the message was successful in communicating with the master unit the last time an attempt was made. If the flag is not set, the master unit address will not be added to the XPLST, since there is a high probability that ~ny expected reply will not be received. In the event the flag L has been set, the master unit address will be added to the XPLST, provided a reply i5 expected, as indicated by block 362.
Once the master unit address has been added to the XPLST, if required, a fllrther sequence is entered to determine whether the received message is an expected reply message. IE the message is expected~ the XPLST
t0 will be cleared, as will be described.
Expected reply messages are up link messages.
Accordingly, as represented by element 364, a determination will be made as to whether the message is up link, as shown by element 3~4. If the message is up link, a determination is made as to whether the address o the unit transmitting the message is present in the XPLST. As shown by element 366~ this is ascertained by examining the ISA of the message. The XPLST is not cleared if the address is not present.
If the ISA is present on the XPLST, a determination is then made as to whether a transmit originate ~lag associated with the entry is set, as represented by element 368. A set transmit originate flag indicates that the subject remo~e unit transmitted 2S the messaye for which a reply is expected. A cleared flag indicates that the subject unit observed another remote unit transmitting the message for which a reply is expected.
If the originate flaq is set, a determination is then made as to whether the received message was directed to the sub~ect remote unit, as represented by element 370. This is performed by examining the IDA of the message. If the message is directed to the subject unit, it has been established that the received message is an up link reply message in response to a down lin~
message transmitted by the subject unit. Accordingly, ~53 S

as represented by block 372, ~he link confirmed flag L
associated with the subject unit is set.
If the received message was not directed to the subject unit, but the message ISA is present in ~he XPLST with the transmit originate flag cleared, no change will be made to the XPLST. ~he messaqe will then be Eurther processed for a possible update of the GOODLST, as will be described in connection with Figure 12B.
1n Once the link conEirmed flag L has been set (block 372), a subroutine is entered for clearing the XPLST, as represented by element 374. The same subroutine is entered in the event the transmitting unit address (IS~) is on the XPLST, but the originate Elag was cleared (element 368). The subroutine will be described in connection with the flowchart of Figure 21.
Referring now to Figure 21, entry into the subroutine for clearing the XPLST is represented by element 454. The XPLST is first searched to locate the ISA of the message in the list, as represented by block 45fi. It was previously determined that the address was present, thereore, an anomally will occur if a match is not found. As indicated by elements 458 and 464, if a match is not found, the sequence returns to the calling program.
Assuming that an address match is found, the failure timer associated with the entry is cleared, as shown by block 460. As previously described, the purpose of the timer is to control the time period in which an expected reply message should be received.
Once the timer has been cleared, a subroutine is entered for setting various display flags for updating the display, as represented by element 462. As previously noted, the display is for diagnostic purposes only.

3~

-~2-Referring back to the Figure 12A flowchart, once the XPLST has been cleared (element 374), if requirefJ, the Failure List FLST is examined to determine whether the list shouLd be updated in view of the received message. As previously described, the FLST is a list of node addresses which are pertinent to the subject remote unit to the extent that suc~ addresses were or are presently on the Good List GOODLST of the subject remote unit. Thus, the FLST entries are or were potential down link addresses. The purpose of the FLST
is to maintain a record over time of the perEormance of potential down link addresses which have per~ormed poorly, based upon various criteria -to be subsequently described.
Each FLST entry has an associated Failure Quotient FQ which is indicative of the performance of the associated node. The lar~er the value of F~, the poorer the performance~ In the present embodiment, the unscaled value of FQ may range from O to 131.
If a message is received from a remote unit present on the FLST, the value of ~he associated FQ
will be decreased (improved) to reflect that the unit was successful in transmittin~ a message to the subject unit. As represented by element 376, the FLST is examined to determine whether the ISA of the received message is present. If the address is present, the associated FQ i5 obtained, as shown by block 3780 The value of FQ will be reduced only if the listed node is also present at the top of the GOODLST, as shown by element 380. A presence at the top of the GOODLST indicates that the node is the preferred down link address for the subject remote unit. In the present emhodiment, the unscaled value oE FQ iæ
decreased by four~ as represented by block 3~2~
An FLST entry will be deleted from the list if the status of the entry has improved to the extent that the 5;~

value of FQ is ~ero or less~ As shown by element 384 and block 390, a determination is made as to whe~her present value of ~Q is zero or less~ and, if so, the entry is cleared If the reduced value of FQ is greater than zero, the entry will remain on the FLST. As represented by block 386, the new value of FQ will be re~ained. A
subroutine will then be entered for the purpose of determining whether the received message should result in an addition to the XPLST, as represented by element 388. The subroutine will be entered for all received messages which happen to be present on the ~LST~ The subroutine will also be entered at another sta~e in the sequence for received message ISAs which are also present on the GOODLST for the suhject remote units.
Messages from nodes which are not present on either list will not be tested for the XPLST, since such nodes are not as pertinent to the subject remote unit.
Once the test for the XPLST is completed (element 388), or in the event the FLST entry is deleted (block 390), the FLST is sorted, as indicated by block 392.
The sort is in accordance with the magnitude o the associated FQ for each entry, with the entry having the lowest non-zero value FQ being present at the top of list.
In the event the received message is not on the FLST (element 376) or not directed to the subject remote unit (element 370), the message ISA will be examined to determine whether it is present on the GOODLST. If the message ISA is present on the ~,OODLST, a determination will be made as to whether the XPL,5T
should be updated. The sequence, which will be described in connection with the flowchart of ~igure 12B, will also be entered subsequent to the sorting of the FLST (block 392).

~Z~i35 The suhroutine for testing whether the received FLST message should be used for updating the XPLST
(element 388) will be described in connection with the Figure 10 flowchart. Entry in~o khe subroutine is represented by element 480. Reply rnessages are transmitted only in response to down link messages.
Accordinglyv a determination is made as to whether the received message is down link, as indicated by element 484c If the message is not down link, the seq~ence returns to the calling program, as represented by element 486.
If the message is down link, the message is usually of the type ~or which a reply is expected. As represented by elements 488 and 490, if a reply is not expected, the sequence will return to the calling program.
If the down link message is directed ~o the subject remote unit, the data package will be stored and forwarded by the unit. The XPLST will be updated during the store and forward operation, as will be subsequently described~ Accordingly, as represented by elements 492 and 494, if the IDA of the message matches the address of the subject node, the XPLST will be updated later and the sequence will return to the calling program.
A received messa~e will not cause an addi~ion to the XPLST if the HC in the message exceeds that of the sub~ect remote unit by more than one~ If the received HC is too great~ it is possible that the message will cause premature addition of an address to the XPLST.
~he foregoing can be further illustrated by reference to the Figure 2 diagram. Assume that remote unit 26d has transmitted a down link message directed to unit 26e, which is also received by unit 26a. The HC of the transmitted message will be three, whereas the HC of node 26a is one. Unit 26e will store and forward the ~85 data package ~o unit 26f with a message HC of two~ It is preferable that the message transmi~ted by unit 26e, rather than by unit 26d, will cause addition to the XPLST of unit 26aO Similarly, it is possible that unit 26f will receive the message transmi~ted to unit 26e.
It is preEerable that the XPLST for uni~ 26E be updated during the subsequent store and forward se~uence of the data package by unit 26f rather than by the message transmitted by uni~ 26d. Thus, as represented by elements 496 and 498 (Figure 10), if the received HC
exceeds the HC of -the subject unit by more than one~
the sequence returns to callinq program.
A remote unit initiating a down link message sequence will not store and forward the data package in the subsequent up link reply message. Accordingly, there will be no reply message transmitted by the sequence initiating unit to be received by other units;
therefore, no addition should be made to the XPLST. A
determination is made as to whether the message was transmitted by the remote unit ori~inating the data package in a down link message by comparing the ISA
with the SDA of the message. As represented by elements 500 and 502, if the addresses match, no change will be made to the XPLST and the sequence will return to the calling program. In the event the addresses do not match, a subroutine is called for enterin~ the address (ISA) of the transmitting node on the XPL5T, as represented by element 504.
The subroutine for making XPLST entries is depicted in the flowchart of Figure 11. ~ntry into the subroutine is represented by element 506~ If the address of the transmitting node is already entered, the sequence will return to the calling pro~ram, as represented by elements 508 and 510, respectively.
If the address is not present, a determination is then made as to whether there is room in the XPL5T for ~5'~

-~6-an additional entry, as represen~ed by element 512. In the present embodiment, ~he XPLST may have up to fourteen entries. If there is no room, the sequence will return to the calling program, as represented by element 514.
Assuming that there is room in the XPLST, a failure timer function will be obtained which determines the time period in which the expected reply message should be received. The timer function is provided by a conventional timer program which is dedicated to providing timer ~unctions used to time various events. Each timer function has a unique identifier. As represented by blocks 516 and 518, respectively, the identifier is obtained and stored in the XPLST at the location where the new entry is to be madeO
The time period in which the expected reply should be received is then calculated, as represented by block 520. If the reply is not received within time period, it is assumed that a failure to communicate with the master unit has occurred. The duration of the failure timer period is a function of the Hop Count HC of the received message and ~he System Priority SP of the sub~ect remote unit, in accordance with the following equation:

Failure Period = (HC+(SP~1))*8 Seconds (5) In the present embodiment, the maximum allowed period is 255 seconds. As represented by element 522, a determination is then made as to whether the calculated period exceeds the maximum. If the maximum is exceeded, the calculated period is set equal to the maximum and stored, as represented by blocks 524 and 526, respectively. If the maximum is not exceeded, the calculated value is stored (526).

25is3~

The stored value is then used for initializin~ the associated failure timer. The address o~ the received message is then stored in the XPLST, as represented by block 530. Once the address has been stored, the sequence returns to ~he calling program, as represented by element 5341 If the XPLST is to be upda~ed because oE receipt by the subject remote unit of a message for which a reply is expected, the ISA of the message is entered on the list. In the event the XPLST is updated because the subject unit is about to transmit a messaqe for which a reply is expected, the IDA of the message will be entered on the list. In addition, the previously-noted transmi~ originate flag will be set to indicate that the subject remote unit is to -receive an expected reply message containing the IDA of -the sub~ect remote unit.
The initial sequence for possible updatin~ of the XPLST in the event the received message is present on the Good List GOODLST or is to be added to the list will now be described in connection with the flowchart of Figure 12B. A preliminary sequence will be entered for the purpose of reducing the likelihood oE
undesirable message loops. Such loops are likely when a down link message is received from a node which is below the sub~ect remote unit in terms of ~op Count HC.
As indicated by element 394, the type of the received message is examined to determine whether the message is down link. If the message is down link, the HC of the message and that o the subject remote unit are compared to determine whether the message was transmitted from below, as shown by element 396~ The Link List LNKL5T for the subject unlt is then examined to determine whether the list contains an up link address which matches the ISA of the received message, as represented by element 398. Since the HC of the transmitting remote unit is less than that of the ~L~5~

subject remote unit, the transmitting unit is no longer ideal for receiving up link messages from the subject unit. Accordingly, the address is deleted from the LNKLST, as represented by block 400, therehy reducing the likelihood of message loopsO
Once the LN~LST entry has been deleted, if required, the GOODLS~ is searched to determine whether the I5~ of the received message is present, as indicted by block 404. As represented by block 410~ if the address is not present, the address is conditionally inserted in ~he ~OODLST as the last entry. A pointer is then directed to the new list er.try, as indicated by block 412. It is possible that the new entry will be removed Erom the list after the list is sorted, as will be subsequently described. If the entry is removed from the GOODL5T, no addition will be made to the XPLST .
If the unit transmitting the received messaqe is present in the Good List GOODLST (element 404), a determination is made as to whether the node transmitting the message is in the XPLST, as represented by element 406. As previously described, if the node is present, the subject remote unit is awaiting transmission by the node of an up link message to the subject or another node. A determination is then made as to whether the HC in the message is equal to the maximum of fifteen. If the HC is equal to the maximum, the transmitting remote unit is lost and steps will be taken, as will be described in connection with the flowchart of Figure 12C, to remove the node from the GOODLST.
A sequence is then entered to determine whether the GOODLST entry under consideration should be deleted for other reasons. The current value for the Failure Quotient FQ in the FLST for the entry is then examined to determine whether the value is greater than zero, as ~9 represented by element 414. If the GOODLST entry is a conditional entry or if there is no FLST entry~ the value of FQ will be assumed to be zero.
As represented by element 414, if FQ is greater than zero, a determination is made as to whether FQ
exceeds the allowed maximum for remaining on the GOODLST. Although FQ may have a maximum value of 131, the maximum permissible value of FQ for a GOODLST entry is 127 (unscaled). As represented by element 416; i f the value of FQ is equal to or greater than 128, the sequence will advance to the flowchart of Figure 12C, at which time the entry will be deleted from the GOODLST, as wîll be subsequently describedO
If the value oE FQ i5 less than the GOODLST
mimimum, a scaling operation takes place. The value of FQ in the FLST is represen~ed by seven bits whereas the value is represented only by four bits in the GOODLST.
The scaled value serves to simplify the GOODLST sorting routine, as will be subse~uently described. The 2~ scaling routine is accomplished by deleting the three LSBs of the FLST entry~
In order to prevent a non-zero FLST entry from being scaled or rounded down to zero, a determination is made as to whether the FLST value is below the rounding minimum of eight. A value of eight would result in a scaled value of one~ If the non-zero value is less than this minimum of eight, the value of FQ is set to eight, as represented by block 420, so that the scaled value is one.
The various performance parame~ers associated with the GOODLST entry under consideration are updated, as represented by block 422, These parameters include the Failure Quotient FQI Hop Count ~C, Link confirmed flag L, Quality of back link Q, Signal-To-Noise Ratio Estimator SNRE. The LNKLST status of each GOODLST

~ tj~ 5 entry is no~ s~ored in the GOODLST, but is a GOODLST
sort parameter.
Further processing of the received message is continued on the Figure 12C flowchart. As represented by element 424, a determination is made as to whether the message is directed to the subject remote unit by examining the IDA of the message. If the message is directed to the subject unit, the message type is examined to ascertain whether the message is an up link message, as indicated by element 442.
If the message is up link, in order to reduce the likelihood of message looping, the address will be effectively deleted from the GOODLS~. This is accomplished by setting the GOODLST parameters to worst case value as set set forth in Table 6 below.
Table 6 __ ... . .. . . .. .
---- -ENTRY - -- - - -STATE
-FQ-(scaled) ~ 15 --- S~RE

.,.... ~ ....... , .. , .. ,.. ,.... ,0~, -HC~ - - - .. - . - .. . . - 15 -Once the GOODLST entries have been set to worst case values, a subroutine will be entered for s~rting the list, as represented by block 450. As will be subsequently described, the GOODLST will be sorted in order o preference, with the most preferred address being located at the top of the list. The list has a capacity oE storing six entries in the present embodimentO If a conditional entry has been made such that there are seven entries, the bottom or least preferred entry will be deleted. Once the sort has been accomplished, the sequence for updating the links is completed, as represented by element 452.

5~

9, If the message is direc~ed to the subject remote unit, and is an up link message (element 442~, then the message information is either to be stored and forwarded or the subjec~ unit iæ the final destination of the message inEormation. In the former case, the XPLST will be updated during the subsequent transmission of ~he message. In neither case will it be necesary to update the XPLST at this time. The GOODLST will then be sorted and the se~uence will return to the executive program, as represented by block 444 and element 446, respectively.
If the received message is not directed to the subject unit (block 424), a value equal to the local Hop Count ~C oE the sub~ect unit plus one is computed, as represented by block 426. Next, as represented by element 428, a comparison is made between the computed value and the received Hop Count HC. If the received value is greater than the HC of the present unit plus one, the message was transmitted by a node located above the subject unit, in terms of ~C. To reduce the likelihood of message loops, the address of the node will not be added to the GOODLST. The associated GOODLST entries will then be set to the worst case value of Table 6 and the GOODLST will be sorted, as previously described, so as to effectively delete the entry.
In the event the messa~e was not transmitted from above (element 428), a determination is made as to whether the received message is an up link message, as represented by element 430. If the message is up link, no additions are made to the XPLST. As shown by element 436, a determination is then made a to whether the up link message was transmitted by a lost remote unit. A unit is considered lost, as previously noted, if the received HC is greater than the maximum value of fifteen. If the transmitting unit is lost, the GOODLST

parameters for any con~litional entry are se~ to the worst case value (block 448), and the list is sorted, as previously described. If the unit is not lo~t, the GOODLST is sorted and the best six entries are retained, as represented by block 438~ The sequence then returns to the executive program, as represented by element 440~
If the message i5 not an up link message (element 430), a determination is then made as to whether the message is down link, as represented by elemen~ 432.
~ertain message types are not designated as either up or down link. If this type of message has been received, the GOODLST en-tires are set to worst case values (block 448~, the GOODLST is sorted and the executive program is returned to (element 452), If the message is down link, the subroutine is entered for determining whether an entry on the XPLST
is to be made, as represented by element 434. As previously described in connection with the Figure 10 flowchart, a determination is made as to whether the XPLST is to be updated. If the list is to be updated, the address o~ the transmitting node is inserted in the list and the period for setting the failure timer is calculated, as previously described in connection with the flowchart of Figure 11.
Once the subroutine for updating the XPLST has been completed, a determination is made as to whether the message is from a lost remote uni~, as indicated by element 436. If the unit is lost, the conditional GOODLST entry is deleted, otherwise the list is sorted and the sequence returns to the cal1ing program.
The manner in which the GOODLST is sorted will be initially described in connection with the flowchart of Figure 13. The criteria for sorting the GOODLST are set orth in Table 7 in order of preference.

~ 2 ~ S

T~BLE 7 Entries not present on LMKLST
Entries with lower FQ
Entries with L - 1 Entries with non-zero Q
~ntries with lower HC
Entries with higher Q
~_LL~

As set for~h in Table 7, the GOODLST entries are first sorted based upon the status oE the entries with respect to the LNKLST. Undersirable message looping is likely to occur if an address is present on both the GOODLST and LNKLST for a particular remote unit.
Accordingly, GOODLST entries which are present on the LNKLST are not preferred as GOODLST entries.
Entries having a similar LNKLST status are Eurther sorted based upon the magnitude oE the Failure Quotient FQ of the entry. If the entry is not present on the Failure List FLs~r~ FQ is set to zero. ~ntries with the lower FQ are preferred.
Entries within the same value of FQ are sorted based upon the status of the Link confirmed flag L, with a set flag being preferred. The process will continue based upon each sort parameter, as set forth in Table 4.
An example of the manner in which any list may be sorted in accordance with the value of a given parameter is illustrated in the Figure 13 flowchart.
The sequence is or a single parameter, and it is assumed that the sort is to be performed based upon the magnitude of such parameter.
The beginning o~ the exemplary sorting sequence is represented by element 536. It is assumed that the 3~

_ga~_ GOODLST has M number of entries (N or N ~ 1), as indicated by block 538. An index I is initially s~t to 2, as indicated by block 540, with the number 2 representing the second entry from the bottom of the GOODLST and M represen~ing the top entry. The second from hottom list entry (I=2) is then compared with the bottom entry (I=1), as represented by element 542. If the second from bottom entry has a magnitude greater or equal to that of the bottom entry, the bottom entry is in the proper position and no change is made.
If the magnitude of the bottom entry is not greater than or equal to the second from bottom entry, the two entries are interchanged or swapped. As represented by block 544, the contents of the second from bottom entry (I=2) are transferred ko a temporary register. Next the contents of the bottom entry (I=1) are transferred to the previous location of the second ~rom bottom entry~ Finally, the contents of the temporary register are transferred to the bottom entry.
Once the interchange between the last two GOODLST
entries are made, the sorting sequence is repeated from the beginning at block 540. The reason for the repeat can best be illustrated by an example. Assume that there are three list entries, with the top entry being zero and the bottom two entries being one. When the two inal entries are compared, no interchange is required since the magnitudes are equal. When a comparison between the middle and top entries is made, the middle entry of one will be interchanged with the top entry of zero~ It is necessary to repeat the sort from beginning so that the bottom and next to bottom list entries can be compared and interchanged in order for the final list to be in the desired order.
Once the interchange has taken place, the sort sequence is repeated and the index I is set back to the starting point, as represented by block 540. The ~S~S35;

sequence is repeated~ If no in~erchange is required the index I is increased by one, as represented by block 546. A determination is then made as to whether the new value of I is less ~han or equal to the value of M, as represented by element 348. If the value does not exceed Mr the sort sequence is repeated with the new value of I, beginning at element 542. A comparison will then be made between the third and second from last entries. ~f an in~erchange is required, the value of I will be set back to 2 and the entire sort sequence will be repeated, beginning at block 540 The process continues until I is grea~er than M, at which time the sort sequence is completed, as represen-ted by element 548.
The sequence is modified if more than one sort parameter is used. A sort will not be perEormed on a pair o entries unless the sort parameters having higher precedence are equal. Thus, if it is determined that the respective sort parameters Eor two entries under consideration are the same (element 542), the two entries are then sorted based upon the next least significant sort parameter.
Further details of the GOODLST sort subroutine will be described in connection with the flowchart of Figures 14A-14B. If the list contains N entries, the sequence is entered at element 552 and the index for the number of items in the list is set to ~. If there are N*1 entries to be sorted, the subroutine is entered at element 554 and the index is set to N~1 items. The number oE items to be sorted, either N or N~1 is saved, as represented by block 560.
As indicated by element 562, the list entries are then sorted based upon whether the address under consideration is also present on the LNKLST. Units which are used for transmitting up link messages, as indicated by a presence on the LNKLST, are not ~5~5~5 preEerred for use in transmitting down link messagesD
As set forth in Table 7, entries present on the LNKLST
will be placed at the ho~om of the list and all other entries are placed at the top of the list.
The subroutine for sorting on LNKLST status is entered at element 602 of the Figure 14B flowchart.
The status of the next GOODLST entry with respect to the LNKLST is obtained, as represented by block 604~ A
determination is then made as to whether the current entry is present on the LNKLST, as indica~ed by element 606. If the curren~ entry is not on the LNKLST~ a determination is made as to whether the nex-t en-try is on the LNKLST, as represented by element 612. If the next entry is present on the LNKLST, the two entries need to be interchanged or swappedO
The subroutine for interchanging the two entries is represented by elemen~ 614 and entry into the sub-routine is represented by element 582 o the Figure 14A
flowchart. Once the subroutine is entered, the two entries are in~erchanged, as represented by block 584.
The display is then updated to indicate that a change has been made to the GOODLST~ as indicated by block 586~ The index will then be reset to the start so that the entire sorting sequence beginning with a sort on for LNKLST status~ will be repeated for the reasons previously set forth in connection with the Figure 13 flowchart.
If neither oP the two entries are on the LNKLST
(elements 606, 612), there is no requirement to interchange the entries. Similarly, if both entries are on the LNKLSTr no interchange is required. As represented by element 610, the two identical entries will be sorted in accordance with the next sort criteria, based upon minimum FQ. Entry into the subroutine for sorting on FQ is represented by element 564.

lZS~53~

If the two entries under consideration have differing LNKLST s~atuses, it may be necessary to interchange the items. In any event, the two items will not be sorted with respect to FQ, since the LNKLST
status has precedence over FQ. If the present entry is entered on the LNKLST and the next up entry is not, the entries are in proper order. The sequence will proceed to block 576, and a pointer will be directed to the next entry up on the GOODLST. A determination will be made as to whether there i5 a next entry. As represented by elements 578 and 580, if there is no next entry, the GOODLST sort is completed and the sequence returns to the calling program~ If there is a next entry, the next entry and the present entry are sorted based upon LNKLST status, in the manner previously described.
As noted earlier, iE the LNKLST status for the two entries under consideration are the same, the entries are then sorted basefl upon minimum value of FQ (element 610), as represented by element 564. The subroutine is depicted in the Figure 17 flowchart. Entry into the subroutine is represented by element 640. The values of FQ for the two entries under consideration are compared, as indicated by block 642. Next, a subroutine for making a sort decision is entered, as shown by element 644.
Entry into the sort decision subroutine, which is depicted in Figure 14B, is represented by element S90.
The two values of FQ are compared, as represented by element 592. If the values are equal~ there is no requirement to interchange the entries. As indicated by element 59A, the two entries will then be sorted in accordance with the next criteria, which is the state of flag L, as represented by element 566.
If the two values of FQ are not equal, a determination is made as to whether an interchange is ~5~5.~

re~uired. In any event, the items will not be sorted based upon the ne~t sort paramter. If the entry higher on the GOODLST has the lower value of FQ, no interchange is necessary. As represented by block 600, 5 the items are in the proper order, therefore, the next item up on the GOODLST will be sorted (hlocX 576) based upon LNKLS~ status (element 562)~ In the event the items are not in the proper order, the previously-described swap subroutine is entered into, as represented by elemen~ 598.
A sort based upon the state of ~he Lin~ confirmed ~lag L is performed for entries having similar LNKLST
status and identical values of FQ, as represented by element 566. ~ntry in the subroutine Eor sorting on L7 depicted in the Figure 15 flowchart, is represented by element 6~8. The respective values of L for the entries under consideration are compared, as represented by block 630. The previously-described sort decision subroutine is the entered, as represented by element 632. If the state of flag L for the two entries is not the same (element 5~2), the entries are interchanged, if required, and the next up entries are compared. If the status is the same, a sort based upon the value of "Q not equal to zero" is performed, as represented by element 568.
Entry into the suhroutine for sortin~ on Q is represented by element 616 of Figure 14B. Non-zero values of Q for the two entries are reduced to one, as represented by block 618. As shown by elements 620 and 622, if the two respective values of Q are equal, a sort will be performed on the next least significant parameter, namely, the value of ~C (element 570).
In the event the values of Q are not equal, a determination is then made as to whether it is necesary to interchange the two entries. If the entry having a value of Q-1 is higher on the GOODLST, no interchange - 99~-is required. In tnat event, the item next up on the GOODLST is examined with respect to the LNKLST statlls (element 562). If an interchange is require-3, the sorting sequence based upon Q is started overr The subroutine for sorting on ~C is represented by element 570. ~ntry into the routine is represented by element 634 of the Figure 16 flowchart~ The HC bits of the two entries are compared, as represented by block 636, and the subroutine for making the sort decision is entered into, as represented by element 638. If the entry higher on the list has the lower value of HC, no interchange is required. If the values of ~C are identical, a sort based upon the unreduced value of Q
is commenced, as represented by element 572 of Figure 14~
As previously noted, Q may vary from 0 to 3, with the hiyher value representing a larger signal-to-noise ratio. En~ry ;nto the subroutine is represented by element 646 of the Figure 18 flowchart. The values of Q for the two entries under consideration are compared and the sort decision subroutine is entered, as represented by block 654 and element ~56, respectively.
If the value of Q on the upper GOODLST entry is the greater of the two entries, no interchange is re~uired and the next GOODLST entry will be sorted based upon the LNKLST status. If the bottom entry is greater, the entries will be interchanged and the sortbased upon Q restarted. If the two values of Q are the same, no interchange is required. The t-wo entries will then be sorted based upon the value of SNRE, as represented by element 574~
The subroutine for sorting based upon the magnitude of the SNRE value, the least significant sorting criteria, is depicted in the Figure 19 flowchart. Entry into the subroutine is represented by element 652~ As represented by block 654 and element s~

650, the two values of SNRE are compared, and the sort decision subroutine is commenced. Since tne SNRE is the Einal sort criteria, iE the two values of SNR~ are equal, the sort decision subroutine i5 modified to the extent that the sequence will return to block 576. At that time, the next entry on the GOODLST will be sorted based upon the LN~LST sta~us and the subsequent sort parameters. If the values differ, the entries are interchanged, if required, as previously described.
The GOODLST sort sequence is completed when the number of items actually sorted is equal to the number of items to be sorted (block 560), as represented hy elements 578 and 580. The six entries at the top oE
the list are retained, and any possible additional entry is discarded. Once the XPLST has been updated with a new entry, if appropriate, and the GOODLST and FLST have been updated, the initial received message processing is completed.
The executive program periodicall~ examines XPLST
entries to verify that expected reply messages are received within the time period set by the ailure timer associated with each list entry. Referring now to the flowchart of Figure 20A, entry into the sequence which occurs whenever a failure timer time-out takes place is represented by element 658. The time-out is represented by block 670. The XPLST index associated with failed entry is obtained, as indicated by block 672.
The associaked transmit originate Elag is then examined, as shown by element 678. As previously described/ the flag will he set if the subject remote unit transmitted the down link message for which the reply was expected, rather than having merely observed the transmission. If the ori~inate flag is set, then the LinX confirmed flag L for the subject unit is cleared~ as indicated by block 680, thereby indicating S~5 that the subject unit was not capable of successfully communicating with the master unit. The flag L will be in a cleared state for all ~urther messages transmi~ted by the subject unit and will remain cleared until the unit successfully receives a reply message in response to a message transmitted by the unit.
Once flag L has been cleared, if appropriate, the address of ~he XPLST entry, which is the address of the node which failed to transmit the reply message, is obtained, as represented by block 682. A determination is then made as to whether the failed address is present on the Failure J.ist FLST of the subject remote unit , as shown by element 684.
If the failed address is not present7 it is entered on the FL5T~ The new entry is assigned a Failure Quotient FQ of 16, this being an unscaled value. The FLST is then sorted based upon the magnitude of the associated FQ, as indicated by block 702. The best performing address, the entry having the lowest value of FQ, is placed at the top of the list.
The FLST has a capacity of eight entries therefore, if the new entry exceeds this capacity, the entry having the largest FQ is deleted. Further ~PLST and related GOODLST processing will then take place, as will be described in connection with the Figure 20B flowchart.
If the failed address is present1y on the FLST, the FQ for the entry is obtained, as indicated by hlock 686. The value of FQ for the failed entry will then be doubled, provided the increased value does not exceed the maximum of 127. As indicated by element 688, a determination is made as to whether the present value of F~ is greater than 127. If the value is not greater, the value is doubled, as shown by element 690, otherwise the value is set equal to 131, as indicated by block 692. If the value of FQ is doubled tblock 690), a determination is made as to whether the increased value of FQ is yreater than 127, as represented by element ~91. If the increased value does not exceed 127, the value is left unchanged, otherwise FQ iS set to 131 (block 692). With an FQ of 131, the address is precluded from being entered on the GOODLST.
As will be subsequently describe~, the FQ for each FLST entry is periodically automatically reduced by one so as to eliminate FLST entries which are no lon~er active or to allow reentry of addresses havinq an F~
exceedin~ 127. If FQ o~ an FLS~ entry is reduced to zer~, the entry is deleted from the FLST. As represented by element 694, a determination is made as to whether the value of FQ has been reduced to below a minimum of 16. If the ~alue is less than 16~ FQ is set to 16 for subsequent scaling purposes as represented by block 696. Once the value has been set, if re~uired, the FLST iS sorted, as shown by element 698. Once the FLST has been sorted for either a new or present FLST
entry, the sequence is continued on the Figure 20B
flowchart.
As represented by block 704, the GOODLST is examined to determine whether the failed addres~ is present. As indicated by element 706 and block 708, if the address is present in the GOODLST, the associated sort parameters are set to worst case values as set forth in ~able 6, with exception of FQ. The value of FQ is then scaled, as indicated by block 710, ~or entry in the GOODLST by deleting the 3 LSBs of the FLST
value. The scaled value of FQ may vary from O to 15.
A determination is then made as to whether the scaled value oE FQ exceeds the maximum of 15 (127 unscaled), as represented by element 712. In the event the maximum is exceeded, the GOODLST entry is unconditionally deleted from the list, as represented by block 714. The GOODLST is then sorted, as ~S~ 5 represented by element 716, using ~he scaler3 value of FQ, with the remaining sort parame~ers set to worst case values (element 708). The subroutine ~or sorting the GOODLST was previously described in connection with the Figure 14 Elowchart. Thus, the GoonLsT entry which failed to transmit an expected message is made less preferred as a down link address, Once the ~OODLST has been updated, if appropriate, an error counter is incremented, as represented by block 718. The counter is used for diagnostic purposes to monitor the number of expected messages not received by the subject unit~ A subroutine is then entered for the purpose of clearing the XPLST, as was previously described in connection with the flowchart of Figure 21, as indicated by element 720.
The executive program causes various operations to be per~ormed periodically~ The periodic sequence, which takes place every sixty-four seconds in the present embodiment, includes an update of the System Priority SP value, the GOODLST and the FLST. In addition, a receiver failure test is conducted.
Entry into the periodic sequence is represented by element 722 of the flowchart of Figure 23A. As represented by block 724, the sequence takes place every sixty-four seconds. The initial portion of the sequence serves to test the receiver portion oE the subject unit.
A determination is first made as to whether the subject remote unit is capa~le of receiving messages over the fixed link. It is possible that there had been a previous determination that the subject unit cannot receive message over the fixed link. In that case, it will not be necessary to test the fixed link input. As indicted by element 726, a determination is made as to whether a previous failure had been detected by examining an appropriate internal flag. If no failure had been detected, a determination is made as to whether the subject unit is connected to a Eixed link, as represented by element 728. If there i5 no associated link, the test is bypassed.
In the present embodiment, a test message, previously referred to as a link test message (Figure 7~, element 156), is transmitted in the event a message has not been received for a time period approximately e~ual to 4u5 hours minus 15 minutes. As represented by e]ement 730, a determination is made as to whether a fixed link messa~e has not been received during such time period. If a message has nok been received, a job will be queued to transmit a link test message, as represented by block 732. The message will be transmitted over both ~he power line and the fixed link, with the message transmitted over the power line serving no test purpose. The link test message is a message type which is not designated as either an up or a down link message. Remote units receiving messages of this type over the fixed link will transmit a responding messag~ over the link (and power line~, as previously described.
As represented by block 734, a counter for measur-ing the 4.5 hour time period is incremented to indicate that 64 seconds have lapsed. In the event the subject unit does not receive any responding message within the 4.5 hour period, the unit will assume that it is not capable of receiving messages over the fixed link. An associated flag is set indicating that the subject unit cannot receive messages over the Eixed link. In the event the subject remote unit receives a message over the fixed link, the 4.5 hour counter is reset.
Once the fixed link receiver operation has been tested, a determination is made as to whether it had been ~reviously established that the subject unit is no longer capable of receiving message over the power ~Z~i~5,~5 ~1 os--line, as represented by element 736. If an appropriate internal flag indicates that the power line input has failed, the test is bypassedO If the flag is not set, a counter is incremented which is used to monitor receipt of power line message, as represented by block 738. The counter will be reset every time a message is received over the power line.
If a message is received over the power line at least once every 4.5 hours, it is assumed that the unit is capable of receiving power line messages. A
determination is made as to whether the 4.5 hours period has almost lapsed~ as represented by element 740. If only 15 minutes remain, a job is ~ueued to transmit a testing message, as represented by block 7420 The testing message may be any type of down link message for which a reply messa~e is expected. If the reply message or any other message is not received over the power line before the 4.5 hour period lapses, the counter will time-out. It will then be assumed that the subject unit is not capable of receiving messages over the power line. In the event there are no valid addresses present in the GOODLST of the unit, the subject unit will then proceed to periodically transmit down link messages containing a data package for the master unit so as to maintain a limited degree of operation. As previously described, such messages, sometimes reEerred to as deaf node messages, have a &lobal 5equence Number of all ones. If the subject unit is capable of receiving messages over the fixed link it is possible that the GOODLST will be updated such that valid down link addresses remain.
Accordingly, deaf node messages need not be transmitted.
Once the job has been queued to transmit a test message, or in the event it has been determined that the 4.5 hour period has not almost lapsed, the periodic 3~5~X

testing of receiver operation is completed. A periodic sequence for updating the ~ystem Priority sP is then commenced. As previously described, the value of SP is updated each time a message is received, based upon the Measured Priority MP contained in the message and the local Calculated Priori~y CP for the subject unit, with the latter being a measure of local message traffic.
The value of SP is also updated every sixty-four seconds to reflect any changes in CP as a result of changes in local message traffic. Thus, for example, if the local message traffic has increased significantly since the last message has been received, the value of SP will be adjusted as re~uired, thereby decreasing the probability o transmitting messages in accordance with equations (1) and (2).
The subject remote uni~ is provided with eight message traffic counters which count the number of messages received in eight consecutive sixty-four second periods. ~s represented by block 744, the counts for the eight counters are summed. A
determination is then made as to whether the sum exceeds a maximum value of 127 messages, as represented by element 746. If the maximum is exceeded, the sum is set equal to the maximum, as represented by block 748.
The seven newest message counters are aged (shift-ed), as represented by block 750, with the oldest count being discarded. The most recent message counter is then cleared, as indicated by block 752 of Figure 23~, so that messages can be counted during the subsequent sixty-four second period. Thus, the eight counters will contain the total number of messages received and transmitted during the last eight sixty-four second periods. The sum of the eight counters are averaged, as shown by block 758, by dividing the sum (block 744) by eight. This is accomplished by deleting the three LSBs of the eight bit valueO The averaged value -~07-represents the local Calcula~ed Priority CP for the subject unit and will be used ~o produce a new System Priority.
In -the event it has heen es~ablished that the subject unit is deaf, i eO, not capable of receiving messages over the power line and no valid down link addresses are present in the GOODLST, the resultant periodic status messages transmi~ted to the master hy the dea unit are assigned a relatively low priori~y.
As indicated by element 760, a determination is made as to whether the subject unit is deaf~ If the unit is deaf, the new value of CP is ignored and the value of SP is set to the maximum of 17. Thus, the effective rate at which the subject unit transmits status messages is reduced.
If the subject unit is not deaf, an adjustment value is computed by subtracting the new value of CP
from the old value, with the correction factor being either polarity. A determination is then made as to whether there is any change to be made, that is~
whether the adjustment value is non-zero, as indicated by element 76~.
If there is no chan~e, the sequence for updating the value of SP is bypassed. ~s represented by block 25 768, if the adjustment value is non-zero, the factor is saved. In addition, the new value of CP is stored for use in the subsequent message period, as represented by block 770.
The adjustment value is then added to the present value of SP, as indicated by block 772, to arrive at a new value of SP. A determination is then made as to whether the new value of SP exceeds the maximum value of 17, as indicated 774. If the maximum is exceeded, SP is set equal to the maximum, as indicated by block 776. The subroutine previously described in connection with the flowchart of Figure 24 is then entered for the ~5~5~5 purpose of adjusting the probability timer in accordance with the new value of SP~
The periodic sequence ~hen proceeds to the Figure 23C flowchart which depicts the manner in which the FLST and GOO~LST are updated once each sixty-four second time period. As represented by blocks 780 and 8Q8, each FLST entry is successively examined and updated, if required. The value of F~ of ~he entry under consideration is first obtained, as indicated by block 782. A determination is then made as to whether the value of FQ is zero. If the value is zero, the value is left unchanged and the next FLST entry is examined, the address of the entry will have been deleted If the value of FQ i5 non-zero, the value of FQ is reduced by one, as represented by block 786. As previously noted~ such periodic reductions of FQ for each FLST entry is performed for the purpose of clearinq inactive list entries and for the purpose of permitting the address to be considered Por entry on the GOODLST. As previously noted, an address nas to have a FQ of 127 or less to be entered on the GOODLST
The reduced value of FQ is then stored.
As previously described, the value of F~ in the FLST is an unscaled value and the value oE FQ in the GOODLST a scaled value. The GOODLST value is obtained by elimina~ing the three LS~s oE the FLST value.
As indicated by element 790, a determination is then made as to whether the value of FQ has been reduced to zero. If FQ is zero, there is no requirement for scaling FQ for the GOODLST. If the value is not zero, FQ is scaled, as represented by block 792. A routine for updating the display to reflect the new value of FQ is then entered, as indicated by block 794, ~z~

The address of the F~ST ent-ry under consideration is then obtalned, as represented by block 796. This address will be utilized to search the GOODLST Eor an entry. A determination is ayain made as to whether the value of FQ for the entry has been reduced to zero, as represented by element 798s If F~ is zero, the address of the entry is deleted from the FLST, as indicated by block R00.
Once the address has been deleted from the FLST, if required, the GOODLST is searched for the entry, as shown by block 802 and element 804. If the entry is present, the scaled value of FQ is inserted in the GOODL~, as indicated by block 806. Once FQ has been inserted, or in ~he event the entry is not present in the GOODLST, the next FLST entry is examined. The sequence continues until each FLST entry has been examined and updated, if appropriate, as indicated by block 800.
Once the entire FLST has been updated, the GOODLST
is sorted to reflect any changes in the value of FQ.
Entry into the subroutine for sorting the GOODLST is represented by element 810 and was previously described in connection with the Figure 14 flowchart. Next the FL5T is sorted, as indicated by block 812, thereby concluding the periodic sequenceO As represented by element 814, the sequence then returns to the executive program.
In the event the received message is an up link message having a Source/Destination Address SDA other than that of the subject uni~ and is directed to the subject unit, the data package will be stored and forwarded in the up link direction. The store and forward up link sequence is depic~ed by the flowchart oE Figure 25. Entry into the sequence, which is called by the executive program, is represented by element 81~.

As represented by block 818, the received message represents the sequence input. A determination is then made as to whether the message is a deaf node message, as indicated by element 820. If the GSN of khe message is all ones, indicating that the message is a deaf node message, ~he data package should not be stored and forwarded in the up link direction. As shown hy element 822, the sequence will return to the executive program.
If the message is not a deaf node messaqe, a determination is made, based upon message type, as to whether the message is a link request messaqe, as represented by element 824. A link request message is a messa~e which is utilized Eor diagnostic purposes wherein the address of each node transmitting the message is inserted in the data package of the message so that the path taken by the messa~e can be determined. If the message is a link request message, the address of the sub~ect remote unit is inserted in the data packaqe to be stored and forwarded, as indicated by block 826.
The Hop Count HC value of the received message is then examined, as represented by element 828. If the value of ~C is greater or equal to fourteen, the message should not be transmitted up link since it is likely that the message is lost. As represented by element 830, the sequence will then return to the calling program.
If the value oE HC is proper, the SDA of the message is examined, as indicated by block 832. This address represents the final destination of the data package and is used to locate the appropriate up link address in the Link List LNKL9T.
As represented by block 834, the LNKLST is searched. A determination is made as to whether the SDA of the message is present in the LNKLST, as represen~ed by element 836. If the SDA is present, the associated IDA of the LNKLST entry is obtained and inserted in the message, as represen~ed by block 840.
It is not likely that the ~DA of a Global Sequence Command GSC will be present in the LNKLST of a remote unit since there is no previous corresponding down link message. However, if the S~A is present, the command information will be stored and forwarded in the same manner as a conventional up link message, with the IDA
of the GSC being taken from the LMKLST~
If the received message SDA is not present in the LNKLST, the message type of the message is examined, as indicated by elemen~ 838, to determine whether the message is a GSC. If the message is not a G.SC, the data package will not be stored and forwarded. As indicated by element 842, the se~uence will return to the executive program.
If the message is a GSC, a determination is made as to whether the message is either one o the two flood commands, as indicated by element 844. IP the command is either one of the of the two non-flood commands (directed and store and forward) and if the sn~ of the message is not present in the LNKLST
(element 836), the command information will not be stored and forwarded. As shown by element 846 r the sequence will then return to the calling program.
If the message is either o the two flood commands, a determination will then be made as to whether the conditions for storing and forwarding the command information are met. If the flood command is a total flood command, it is necessary that there be either a valid (non-zero) address present in the LNKLST
of the subject remote unit or that the unit be coupled to a ixed link. If the flood command is a Eixed link ~5 flood command, it is necessary that the remote unit be connected to a fixed link.

~S~3~

If the appropria~e flood condition is not met, the flood command informa~ion will not he stored and forward~d. The sequence will then return to the executive program, as represented by element ~50. If the appropriate condition is metr the IDA o~ the message is set to all zeros, as indicated by block 852.
l~he up link messa~e sequence will be continued in the event the SDA of the message is in the LNKIST or in the event the message is a GSC, if appropriate. It should be noted that it is possible that one or more remote units, particularly units located up link frorn the subject unit, will not receive the command information during this stage o~ the sequence. The subject system is implemented to ensure that all remote units will eventually receive the command7 even though a unit may not be intended to act upon the command other than updating the ACR for the unit.
As previously described, each unit is adapted to periodically initiate a down link message sequence with message containing a data package relating to power consumption data~ The message will be of the type for which a reply is expected. When the reply messa~e is received, the Global Se~uence Number GSN of the message will differ from either the local GSN or the ACR of the receiving unit if one or more commands have not been received. In addition, any other message which the unit is capable of receiving will also have a GSN
indicating that commands have been missed. The unit will then transmit a down link messaye informing the master of the last GSC received by the remote unit. In addition, the process of transmittin~ such message will cause the SDA oE the transmitting unit to be added to the LNKLST of one or more units. This increases the likelihood that the unit will receive flood commands without the necessity of the unit requesting them.
Nonflood commands must always be re~uested unless the 12 ~ 3 t,~
~113-uni-t heard the command, as opposed to learning of the missing command by examining the ~,SN oE a message.
Returning to the Figure 25 Elowchar~, once the IDA
of the message has been determined (blocks 8AOo 852), the Store and Forward A buffer 82 (Figure 5) is examined to determine whether the buffer is available for use, as indicated by element 854 If the A buf~er is not available, the B buffer 84 is examined, as indicated by element 856. If neither buffer is available, ~he sequence returns to the executive program, as represented by element 858, and the message will not be forwarded.
If one of the two buffers i8 available, a pointer is directed to the available buffer, as represented by block 860. The up link address, the IDA of the message to be transmitted~ is then stored, as represented by element 862. Once the address is stored, the message to be transmitted, including the data package of the received message, is transferred from the operate buffer 74 (Figure 5) to the appropriate store and forward buffer. The transfer is accomplished utilizing a transfer subroutine which will subsequently be described in connection with the flowchart of Figure 26.
~5 The stored IDA is then inserted in the message to be transmitted, as indicated by block 870. The sequence will then return to the executive program, as represented by element 872. The actual transmit se~uence will later be described in connection with the flowchart of Figure 29.
~eferring now to Figure 26, the subroutine for transfering messages from the operate to the store and forward buffer will be described. The subroutine is utilized for both up and down lin~ operations.
Entry into the transfer routine is represented by element 874. The pointer directed to the appropriate ~Z5;~35 store and L-orward buffer is obtained, and the message, including data package, is trans~erred to the buffer, as represented by block 876 and ~78. The messa~e type is then obtained and stored as represented by hlock S 880. In addition, the message direction, either up or down link or neither, is obtained and saved~ as represented by block 882.
A determination is then made, based upon the message type, as to whether the suhject message requires an applica~ion timer, as represented by element 884. If an application timer is to be used, a fixed time constant i5 added to the initial application timer value present in the received data package. This fixed value, approxima~ely 1.3 seconds (one message time) in the present embodiment, serves to compensate for the amount of time required the subject unit to receive the message.
Once the time constant has been added, if required, a determination is made as to whether a timer function is available from the timer function program~
as represented by element 88~. I a timer function is not available, it is not possible to store and forward the data package. As represented by element 892 the sequence will return to the executive program.
If a timer function is available, the pointer indicating the selected store and forward buffer is obtained, as represented by block 894. The probability transmit timer is then set, as represented by block 898. As previously described~ a random number is selected and inserted in the 17 stage counter associated with the probability transmit timer. As also previously described, the message direction is then examined to determine the messaqe priority NT, with NT representing the number of counter bits to be examined.

~ZS'~S35 Once the probability transmit timer has been set, a determination is made as to whether probability transmit timer has been successfully set, as indicat~d by element 900. If a timer function had no'c been available, the message cannot be transmitted. As shown by block 9n2, the sequence will return to t'ne executive program.
If a timer function is available, the Quality of back link value ~ is se~, as represented by block 904 As previously described, the value of Q is taken from the GOODLST entry for the remote unit for both up and down link messages.
The sequence involving the transfer oE the messaqe from the store and forward buffer to the transmit buffer is depicted in ~he Figure 29 flowchartO The same sequence is used for either up or down link messages. The sequence is entered when the probability transmit timer bits under consideration (NT) are clocked to all zeros. Since the initial value of the counter is randomly selected, the time at which entry into the sequence occurs is not known unless NT=0.
In the event the message is present in the Store and Forward A buffer, entry into the se~uence is represented by element 96~. Entry into the sequence for the B buffer is represented by element 964. As shown by elements 96~ and 970, the pointer is directed to the appropriate buffer, either A or B, respectively.
As represented by element 972, a determination is made as to whether it is proper to transmit over the network, by examining an associated transmit allowed flag. The flag will be set when another message is detected on the network by the subject remote unit.
If it is not proper to transmit at this time, no transmission is attemptedl The probability transmit timer is restarted with a new randomly selected value, with NT remaining unchanged~ as represented by block ~25~S~5 980. The sequence will then return to the executive program, as indicated by element 982. The store and forward sequence will be reentered when the probability transmit timer times out.
If it is proper to transmit, a determination is then made as to whether the transmit hold delay timer is running, as represented by element 974. If the timer is not running, it is proper to transmit the message. If the timer is running, it may also be proper to transmit, provided the channel has been allocated to the data package SDA. In that event, a determination is made as to whether the messaqe to be transmitted is a broadcast message as represented by element 976. A channel cannot be allocated to a broadcast message. Accordingly, a broadcast message will not be transmitted unless the channel is absolutely clear, i.e., not allocated to any remote unit.
If the message is not a broadcast message (element 976), a determination is made as to whether the channel has been allocated to the message SDA (element 978).
Allocation of the channel is determined by first comparing the SDA of the message with the address contained in the LSTADD associated with the hold delay timer.
In the event the transmit hold delay timer is not running (element 974) or in the event the timer is running, but the channel has been allocated to the message SDA (element 978) it is appropriate to transmit the message, with a few minor exceptions. The receiver section of the subject unit will then be turned off, as represented by block 984. Next steps are taken such that no messages subsequent to the present message will be transferred to the transmit buffer, as indicated by block 986. The siubject messiage will then be transEered ., from the appropriate store and forward bu~fer to the transmit buffer, as represented by block 988.
A determination is then ~ade as to whether there is an application timer runninq for the sub-ject messsage, as shown by element 990~ If a timer is running, the present timer value is obtained, as indicated by block 992.
A further determination is made as to whether a timer value is available, as indicated by element 994.
If the timer value is not available, an anomally has occurred and the application timer value present in the received data package will be used in the transmitted message in lieu of an application timer value. Thust the message transit time can at least be approximated.
If a timer function is available, it is inserted in the message, as represented by block 996. The timer function for the received message, if present, is then cleared, as represented by block 998.
Each unit maintains a record of the number of messages containing message in~ormation stored and forwarded by it for diagnostic purposes utilizing a counter. As represented by block 1~00 9 the counter is incremented and the new value displayed. A job is then queued for carrying out a transmit setup sequence, which will be initially described in connection with the 10wchart of Figure 30A. Once the job has been queuedr the sequence returns to the executive program, as indicated by element 1004.
Referring now to Figure 30A, entry into transmit setup sequence is represented by element 1006. The sequence is utilized for all messages transmitted by the subject unit, including up and down link store and Eorward messages and messages containing a data package originated by the subject UQit~
An initial determination is made as to whether the subje~t unit has been properly pro~rammed to transmit ~S~5~

messages. The System Number SYN associated with the subject uni~ is firs~ examined to confirm that the SYN
i5 non-zero, as indicated by element 1008. If the SYN
is zero, the sequence will return to ~he executive program, as represented by element 1010.
Assuming that the SYN is proper, a determination is then made as to whether the address of the subject remote unit is valid or non-zero, as indicated by element 1012. If the address is not valid, the sequence returns to the executive program, as represented by element 1014, otherwise the associated message traffic counter is incremented~ as shown by block 1016. The message traffic count includes both messages received and messages transmitted by the subject unit and is used to compute Calculated Priority CP, as previously described (Figure 23A, blocks 744, 758). Messaqes received and transmitted hy the unit will cau.se the counter to be incremented twice.
The Source/Destination Address SDA of the message to be transmitted is then stored in the LSTADD, thereby inflicating that the channel is to be allocated to the address. In addi~ion, the transmit allocate flag is set, as represented by block 1018.
Once the allocation is made, a determination is made as to whether the message is an up link message, as indicated hy element 1020. Assuming that the message is not up link, the message may be either down link or have no message direction. In that event, the best down link address, or ID~, is obtained from the top of the GOODLST, as indicated by block 1022.
It is possible that the GOODLST does not contain a valid or non-zero address. As represented by element 1024, if no valid address is present, the IDA of the message is set equal to the master unit address as a fall back. The message will, therefore, not be successfully comunicated to the master unless the s~

master unit is capable of receiving messages directly from the subject remote unit.
The selected IDA is then saved, as indicated by block 1028. Certain selected message status perameters are then obtained~ including Q, and Hop Count. The value of Q is obtained from the top entry in the GOODLST of the subject remote unit for all messages. A
preliminary value of the Hop Count is obtained from the received message, in the event the message to be transmitted is up link. If the message is not up link, the preliminary value of HC is obtained from the top GOODLST entry.
As represented by element 1032, a determination i5 again made as to whether the message is up link. If the message is not up link, the saved IDA obtained from the GOODLST (block 1022) is inserted in the message at this point, as represented by block 1034. If khe messsage is up link, the IDA will be inserted at a later point. The address of the subject remote unit is then inserted in the message as the Intermediate Source Address ISA, as represented by block 1036.
The value oE the Link confirmed flag L for the message to be transmitted is then determined. If the local flag L for the subject remote unit and the received value of L are both set, the value oE L in the transmitted message will be set. For all other combinations, the transmitted flag L will be cleared.
Each remote unit is adapted to assist, under certain circumstances, surrounding remote uni~s which appear not to be capable of communicating with the master unit. Such remote units, previously referred to as lost nodes, transmit messages havin~ a HC equal to 15. In the event a message from a lost node is received, the subject remote unit may initiate a down link message sequence by transmitting a down link status message9 with the particular message type not S~535 being critical. The down link messa~e may provide the lost node with sufEicient information, ~ypically a suitable down link address, to enable the node to communicate with the master unit A lost message counter is maintained for keeping track of such lost messages, as previously described (Figure 7E, block 292)o If one or more lost messages have been received, the lost message counter is incremented. Once every five minutes, a sequence is entered at which time the contents of the counter are examined. IE a count is present, a job may be queued to transmit a down link status message to assist lost nodes.
It is not necessary to transmit a status message if a message is to be ~ransmitted in any event.
Accordingly, the value of L in the message to be transmitted is examined, as represented by element 1038O If the flag L is set, the lost message counter is cleared since a messaqe will be transmitted which is likely to be helpful to a lost node, as represented hy block 1040. If L is zero, the messaqe to be transmitted is not likely to be useful to a lost node.
Accor~ingly, the lost message counter will not be clearedO The transmit setup sequence is continued on the Figure 30B flowchart.
Referring now to Fi~ure 30B, the value of Q is then inserted in the message to be transmitted, as represented by block 1n42. Once the value of Q has been inserted, the HC of the message is computed by adding one to the previously-determined preliminary value of HC (block 1030), as represented by block 1044.
In the event HC exceeds the maximum of 15, ~he maximum value is used. The value of ~C is then inserted in the message, as shown by block 1046.
A determination is then made as to whether the message to be transmitted should be added to the 5~5 Expec~ed List XPLST~ As represented by elements 1048 and 1050, respectively, nG additions are made to the XPLST unless the message is not an up link and unless the message is of the type for which a reply i9 expected. If appropriate, a job is then queued for making an entry on the XPLST, as represen~ed hy block 1052. The sequence for making an ~PLST entry will be subsequently described in connection with the Figure 31 flowchart.
Once the XPLST entry is made, if required, the value of Measured Priority MP to be inserted in the mess~e is then determined. The value of MP is set equal to the larger of CP or the value of MP in the received message if the sequence is a store and forward operation. If the messa~e is not a store and forward message, there is no corresPonding precedinq message;
therefore the transmitted value of MP is set e~ual to CP~
The registers for holding the Cyclic Redundancy Code CRC bits are then cleared, as represented by block 1056. Next, the synchroniæation bits are inserted in the message, as indicated by block 1058. Althou~h the message is not completely formed, transmission of the message will then commence, as represented by block 1060.
While the synchronization bits of the messa~e are being transmitted, the Cyclic Redundancy Code CRC bits of the message are calculated and inserted, as represented by block 1062. A duplicate of the mes~age present in the transmit buffer, with the exception of the synchronization bits, is then transferred to the Eixed link buffer 98 (Figure 5), as represented by block 1064. This transfer will only take place if the subJect remote unit is connected to a fixed link. ~he duplicate messa~es will be transmitted simultaneously over the power line and fixed link.

5~5 -~2~-The data of the mes.sage in the transmit bufeer are then hashed in the conventional manner, as indicated by block 1066. A hashing facto~ is then inserted in the message for use in unhashing the data at the receiving units. The data are not hashed for messages transmitted over the fixed linkO
The transmit hold delay timer for the subject remote unit is then set. If the message type indicates that the message is a variable delay, the delay will be a function of the Hop Count HC value in the message to be transmitted. The value of HC used to determine the hold delay duration differs slightly ~rom the value of ~C present in the mes~age to be transmitted. In most instances, the value of MC used to control the hold delay is set equal to the message HC plus one. If the message to be transmitted is lost, the value of HC for the hold delay timer is the message ~C plus two. Since a lost message is defined as having an HC of 1~, the value of HC for controlling the hold delay timer is 17.
If the message to be transmitted contains a set MFF, for purposes of controlling the hold delay timer, the message is assumed to be of the type calling for a variable delay, as set forth in equation (4). As previously noted, a transmit allowed flag is set when a message is received. Once the transmission has been completed, the receiver section is turned back on and the transmit allowed flag is clearedO The sequence then returns to the executive program, as represented by element 1070.
The Job which was queued for making an entry in the XPLST ~block 1052) is depicted in the flowchart of Figure 31. Entry into the job, which is actually commenced after the message has been transmitted, is represented by element 1072. A duplicate oE the message which was transmitted will have been stored in the subject unit. The hashing factor oP the message is ~Z~ 35 extracted so tha~ ~he message may be unhashed, as represented by block 1074.
The transmit originate flag, which is stored, is set, as indicated by block 1076. The HC and the I~A
are then extracted from the message just transmitted, as represented by blocks 1078 and 1080, respectively.
A determination is then made as to w'nether the address is already present in the XPLST, as represented by element 1082. If the address is not on the XPLST, the subroutine for adding the address to the list is entered, as represented by element 1084. The subroutine was previously described in connection with Figure 11. Once the subroutine has been completed, the job is completed and the sequence will return to the executive or calling program, as indicated by block 10~6.
If the address is on the XPL~T, the XPLST entry is examined to determine whether the associated transmit originate flag has already been setv as represented by element 1088. If the flag is set, the seq~ence returns to the calling program, as represented by element 1n90, otherwise, the flag is set, as indicated by block 1092.
The failure timer time period is not changed.
Once the flag has been set, the display is upda~ed to reflect the change in the XPLST, as represented by element 1094. Once the display has been updated, the sequence will return to the executive or calling program, as indicated by element 1096.
The transmission sequence or storing and forwarding data package in down link messages is somewhat similar to that for up link messages, except that the down link operation depicted in Figure 27 is used rather than the up link operation depicted in Figure 25. The up link store and forward operation commences when the previously-set probability transmit timer times out.

5;~5.35 ~124~
Referring now to Fiyure 27, entry into the down link sequence is represented by element 908. As represented by elements 910 and 912, a determination is first made as to whether either s~ore and forward buffer is available If neither is available, the sequence returns to the executive program, as represented by element 914.
If a buffer is available, a pointer is directed to the first available bufEer, as indicated by block 916 A subroutine is then entered for transfering the message to be transmitted from the operate buffer to the selected store and forward buffer, as represented by element 918. The subroutine was previously described in connection with the Figure 26 flowchart.
Once the transfer is completed, a determination is made as to whether a timer function is available for the probability transmit timer, as indicated by element 920. If the timer function is not available, the message cannot be transmitted, thereEore the sequence will return to the executive program, as represented by element 922.
If the timer is available, a determination is made as to whether the message originated from a deaf remote unit. As indicated by block 924, the Global Sequence Number GSN of the received message is obtained. A
determination is then made, as represented by element 926, whether the GSN is all ones. If all ones, the message is from a deaf node and the GSN of the transmitted message will be leEt at all ones. If the message is not a deaf node message the local GSN of the subject remote unit, which represents the latest Global Se~uence Numher GSN received by the unit, will be used~
as represented by block 928. The GSN, either all ones or the local GSN, is inserted in the message to be transmitted, as represented by block 931.

The SDA of the received messaqe is then obtained for entry into the Link ~ist LNKLST~ as shown by bloc~
932. As previously described, LNK~S~ entries are made during the down link portion of a virtual link and provide up link addresses for the up link half of the virtual link.
The subroutine for inserting the SDA and associated ISA in the LNK~ST, represented by element 934, is depicted in the flowchart oE Figure 28 Entry into the routine is represented by element 938. A
determination is first made as to whether the SDA is already present in the list, as indicated by element 940. If the entry is not present, the oldest present entry is deleted as indicated by block 942. There are certain entries, which are referred to as permanent entries, that should never be removed from the lis~
once entered. Permanent entries in the LNKLST include addresses for critical remote units which may then be accessed by the master unit without the use of ~,lobal Sequence Commands. Accordingly, the oldest non-permanent entry will be deleted.
Once the deletion has been made, all entries above the deletion are moved down on the list to fill the deleted space~ as shown by block 946. Thus~ a position will be available at the top oE the LNKLST. As represented by block 954, the SDA and associated ISA
are then inserted at the top of the list. The ISA of the LNKLST will be used as the IDA of the responding up link message. The subroutine for updating the display is then entered, as represented by element 958. The sequence then returns to the calling program0 as represented by elemen~ 960.
If the SDA is already present on the LNKLST
(element 940), a determination is then made as to whether the address is present at the top of the LNKLST, as indicated by element g48. If the address is 5~:~5 at the top, a determination is made as to whether the corresponding ISA of the LMKLST matches the IS~ of the received message, as represented b~ element 94~. If there is a match, no change to the LNKLST is required and the sequence will return to the calling prograrn, as represented by element 95n. If there is no IS~ match, the ISA is inserted into LNKLST for the associated SDA~
If the SDA is not at the top of the LNKLST, the entry is temporarily removed, and the list is shifted down so t0 as to provide a space at the top of the list, as represented by block 952~ The removed entry is then added to the top of the list and the sequence is concluded as previously described.
Once the LNKLST has been updated, the sequence returns to the ex~cutive program, as indicated by element 936 (Figure 27). The previously-described sequences ~or transfering the message to one of the store and forward buffers (Figure 26), for carrying out the transmit set up ~Figures 30A, 3~) and for setting the XPLST (Figure 31) are then carried out.
The sequence for transmittin~ store and forward messages in the up link direction (Figure 25) and the down link direction (Figure 27) have been described.
The sequence for transmitting messa~es containing a data package originate~ by the subject remote unit will now be described.
The executive program for controlling each remote unit periodically determines whether the remote unit is to transmit a message containing an originated data package, thereby initiating a down link message sequence. By way of example, the remote units may he implemented to periodically transmit messages containin~ power consumption data. As a further example, a remote unit may initiate a down link messaqe sequence in response to an up link message from the master unit.

-127~
The sequence for obtaining an application buffer for storing the data package in the messa~e to be transmitted and for settin~ the priori~cy NT for the message, sometimes referred to as the application sequence, is depicted in the Plowchart oE Fi~ure 32.
The sequence is entered into when the executive program observes that a data package ori~inated by the subject remote unit is to be transmitted thereby initiating a down link message sequence. The sequence for initiating a down link message sequence in response to receipt of a deaf node message is clepicted in the flowchart of Figure 27 for store and forward messages.
Entry into the application sequence is represented by element 1098. As in~icated by element 1100, a sub-routine is irst called for reserving one of the fiveoriginate buffers (Figure 5~. The subroutine for reserving the buffer is depicted in the Figure 33 flowchart~
Entry into the subroutine is represented by element 1108. As indicated by element 111 n, a determination is made as to whether any of the ori~inate buffers is available. A buffer may not be available, for example, if the network is overloaded with traffic and messages cannot reach the master unit.
In that event~ the dcwn link se~uence cannot be initiated and the sequence will return to the executive program, as represented by element 1112.
If an originate buffer is available, the buffer is returned as represented by block 1114. The se~uence will then return to the calling program (element 1100), as represented by element 1116. A pointer is stored indicating which buffer has been reserved.
The data package to be transmitted in the sequence initiating message is transferred to a temporary or application buffer (not shown), as represented by block ~5Z535 1102. The dat~ may, for example, relate to power consumption.
Once the data are transferred, a subrou-tine is entered for setting the priority NT of 'che message to be transmitted, as shown by element 1104. Message priority NT controls the probability that a message will be transmitted at a particular slot time, as previously described in connection with equation ~1).
Entry into the set priority subroutine is represented by element 1118 of Figure 34. ~s previously described, messages transmitted by a remote unit for initiating down link messa~e se~uences, o~her than deaf node message sequences, have a floating priority which varies with changes in the Sys~em Priority SP, as set forth in equation (2)~ The original (unadjusted) priority value NTO is set equal to 17, this providing the lowest probability that a message will be transmitted at a particular slot timer tick as indicated by block 1120.
As previously described, certain messages containing information requiring a fast response from a remote unit will be assigned an initial priority value NTO of 6 rather than 17. Down link messages to be transmitted quickly are typically those that are produced in response to receipt of an up link message of an up link message sequence initiated by the master unit. As indicated by element 1122, a determination is made as to whether the message is to be assigned a high probability of transmission~ If so, the original priority NTO is changed from 17 to 6, as represented by block 1124.
Once NTO has been changed, if appropriate, a determination is made as to whether the subject remote unit has a backlo~ of messageæ to be transmitted, as represented by element 1128. A backlog exists in the present embodiment if there are not at least two ~ ~ S2 unreserved bu~fers out of the five originate buffers.
If there is a message backlog, the value of ~TO will he set to 6 so as to increase the probability of transmission thereby reducing message backlog.
The probability transmit timer is then set with a randomly selected initial value and ~he initial priority NTO is stored, as indicated by element 1130.
A determination is then made as to whether the probabili~y transmit timer has been initialized properly, as represented by element 1132. The timer will not be initialized properly if, for example, a timer function is not available. In that event, the sequence will re~urn to the calliny program, as represented by element 1134.
Assuming that the transmit timer has been initialized properly, the data package present in the application buffer is transferred to the reserved originate bu~fer (block 1114), as indicated by block 1136. The message priority value NT is then determined, as indicated by block 1138, in accordance with equation (2). The probability transmit timer then begins to be clocked and the se~uence returns to the calling program (element 1104), as represented by element 1140. As indicated by element 1106 of Figure 32, the sequence will then return to the executive program.
The probability transmit timer will continue to be clocked until the number of timer bits under consideration, NT, are clocked to zero. As previously described, since messages containing data packaqes originated by the transmitting unit have a floating priority, the value of NT will be updated in accordance with equation (2)~ as the value of SP changes, while the timer is running.
When the probability transmit timer times out, an attempt will be made to transmit the ori~inate~ data S~

package~ The execu~ive program will detect the time out and will cause the transmit sequence to com~ence.
Entry into the originated Aata package transmit sequence is represented by element 1142 of Figure 35 The originate buffer containing the data package to be transmitted is then selected, as represented by block 1144. A determination is then made as to whether the buffer is still reserved, as indicated by element 1146.
It is possible that the messa~e to be transmitted no longer requires transmission. ~y way of example, if a message had been previously sent and the reply not timely rec~ived, a re~ry message will be transmi~ted, as previously described. In the event the present data package will be inserted in a retry message t the retry message will not be transmitted if the reply to -the earlier message had been received while the probability transmit timer was running. In that event, the originate buffer will no longer be reserved and the present data package will not be transmitted. The sequence will then return to the executive program, as represented by element 1148, Assuming that the buffer is still reserved, a determination is made as to whether the transmit allowed flag is set. As previously described, the flag will be cleared in the event the subject remote unit is not receiving or transmitting a message~ In the event the subject unit is receiving or transmitting a message, the allowed Elag will be set and transmission of a further message will be inhibited.
If the allowed flag is set, the mes~sage priority NT is adjusted in accordance with the present 5ystem Priority SP~ as indicated by block 1158. The probability transmit timer is then reset with a new random numher and the sequence is re~urned to the executive program, as represented by block 1160 and 12~5~'~

element 1162, respectively. The sequence will be re-entered when the timer times out.
Assuming that ~he transmit allowed flag is clear (element 1150), a determination is made as to whether the transmit hold delay timer i5 running, as represented by element 1152. IE there is a hold delay, the message will not be transmitted unless the channel has been allocated to the subject remote unit, as represented by element 1154. The channel will have been allocated to the subject remote unit, ~or example, when the unit had previously transmitted a message with a set Message Following Flag MFF.
As prev-ously described, a channel can be allocated to a remote uni~ by virtue of the remote unit being the final destination of the message information in a message or the remote unit being the initiator of the down link sequence which produced the message. If the channel is allocated to a remote unit because the remote unit transmitted the message, a transmit allocate flag will be set. The flag is cleared when a reply message is received by the sequence originating remote unit. A remote unit having a set transmit allocate flag will not initiate a down link message sequence over the channel, even though the channel has been allocated to the unit. Such a sequence will be initiated only in the event that the channel has both been allocated to the unit and the transmit allocate flag is cleared.
The purpose of the transmit allocate flag i8 to prevent messages of down link sequences initiated by a remote unit from colliding with one another. By way of example, if a remote unit initiates a sequence, the channel will be allocated to the unit and the transmit allocate flag will be set. The purpose oE the retry timer, as noted earlier, is to re-transmit a message which contains a data package which initiates a message ~2~ ~53S

sequence in the event a reply to a previous sequence is not received. The retry timer function can be implemented utilizing the probability transmi-t timer.
The transmit timer is reinitialized once the message is transmitted and a retry occurs if the expected reply message is not received beEore a time out.
Certain messages do not require the use of a retry timer. For example, if the subject remote unit transmits a message for which no reply is expected, the retry timer is not needed. As represented by element 1166, a determination is made as to whether a retry timer is needed. If no timer is required, the retry timer will be cleared, as represented by block 1168.
If a retry timer is to be used, the time period is set, as shown by block 1170. The duration of the period is determined by the local Hop Count ~C of the unit, with the duration being longer for larger values of HC. The number of times a message containing a data package is re-transmitted is accumulated in a counter ~or diagnostic purposes, as indicated by block 1172.
Once the retry timer has been set, if appropriate, the data package in the originate buffer is transferred to the transmit buffer (Figure 5)~ as indicated by element 1174. As represented by block 1176, the SDA of the message, which is the address of the subject uni~, is then inserted in the message at this point. The remainder of the down link message will be formed during the final transmit se~uence, as was previously described in connection with Figures 30A and 30B and transmitted down link.
Thus, a novel adaptive communication network and method have been disclosed. Although a preferred embodiment has been descrihed in some detail, certain changes could be made by those skilled in art without departing from the spirit and scope of the invention as defined by one or more of the appended claims.

~2~5~3~

By way of example, an alternative embodiment network may include several remote units which are only capable o~ transmitting messaqes containing a data package originated by the units and do not store an~
forward messages. The messaqes are periodically transmitted over the network and would contain, Eor example~ power consumption data. The network further includes two or more remote units capable of storing and forwarding a data Packa~e and a master unit.
An exemplary communication system utilizing the alternative emhodiment invention is depicted in the diagram of Figure 22. The system includes a master unit 1194 and several remote units 1200, referred to as seconaary remote units. The system ~urther includes remote units 1196, referred to as primary remote units, for assisting in the transfer of data packages ~rom the secondary units to the master unit.
Although not depictedt each secondary unit 1200 has an associated power meter which provides power consumption data pacakges to be transferred to the master unit. The secondary units, which are not capable of receiving messages~ are implemented to periodically transmit messages containing power consumption data packages such as electrical power data associated with the unit. The messages, sometimes reerred to as secondary messages, also contain the address o~ the transmittin~ secondary unit so that the master unit can identify the source of the consumption data and also a flag to indicate that the message was transmitted by a secondary remote unit. The flag performs a function similar to the Global Seauence Number being set to all ones in the previously-described deaf node messages.
The primary remote units 1196 may have an associated data source, although the main function Oe the units is to store and forward data packages in secondary messages transmitted hy secondary units and in messages transmitted by other primary remote units to the master unit~ ~essages transmitted by pri~ary remote units are sometimes referred to as primary messages to distinguish them from secondary messages.
Primary messages preferably have the same content as previously set forth in connection with the description of Table 1. In the event the primary remote units 1196 only function to store and forward messages, the units preferably are implemented to periodically initiate down link message se~uences for the purpose of assisting other prirnary remote units in updating their associated Good List GOODLST.
Operation of the alternative embodiment invention will ~e further illustrated by way of a few examples.
At initial power on, none of the Good ~ists of the primary remote units contain down link addresses other than that of the master unit~ The primary remote units will all commence operation by transmitting a down link message containing an IDA of the master unit. As urther messages are transmitted, each primary remote unit will form a set of at least one preferred down link address. For current network conditions depicted in Figure 36, for example~ the preferred down link address for unit 1196b is the master unit and for unit 1196c, unit 1196b is the preferred address.
As previously described, secondary remote units 1200, like deaf nodes, will periodically transmit secondary messages containing power consumption data and a source address of the secondary unit. Secondary messages do not contain valid IDAs since secondary remote units are not capable of forming a Good List.
Assuming, Eor example, that primary unit 11~6c receives a secondary message transmitted by secondary unit 1200a, the primary unit will recognize the message as a secondary message by the presence of the ~ 2 -135~
previously-noted secondary message flag. Unit 1196c will then undertake to store and forward the data package in the secondary messaqe by initiating a down link message sequence. The down link message will S contain a Source Destination Address SDA which identifies the secondary unit associated with the data package, an Intermediate Source Address ISA which identifies primary unit 1196c and at Intermediate Destination Address IDA, taken from the GOODLST which identifies primary remote unit 1196b. The primary message will be received by primary remote unit 1196b which will, in turn, store and forward the data package in the same manner described in connection with the first embodiment. The master unit will respond to the down link message of unit 1196b by transmitting an up link messa~e having an Intermediate nestination Address IDA of unit 1196b, and a Source/Destination Address SDA
of secondary unit 1200a and an Intermediate Source Address ISA of the master unit. The up link data 2n package will be stored and forwarded to primary unit 1196c. Unit 1196c preferably will also transmit an up link message even though secondary unit 1200a is not capable of receiving messa~es. The purpose of such a message is to provide information for updating the Good Lists of other primary remote units in the system.
It should be noted that in the previously described sequence, it is also possible that other primary units other than unit 1196c will have received the secondary message from secondary unit 1200a, For example, unit 1196d may have also received the secondary message from unit 1200a. Although both units 1196c and 1196d would have received the secondary message at the same time~ because of the manner of operation o~ the respective probability transmit timers, it is unlikely that the two units would proceed to initiate a down link message sequence at the same . .

53~;

time. Assuming that until 1196c commenced transmittin~
first, unit 1196d would detect the transmission on the network and would refrain from transmitting. Once unit 1196c completed transmitting the down link message, it is possible that unit 1196d received the transmitted message in addition to unit 1196b. In that e~ent, unit 1196d will recognize that the down link message contains a data package from a secondary remote unit by virtue of the presence of the secondary message flag.
In addition, unit 1196d will recognize that the message was not transmitted by the secondary unit because the Source/Destination Address SDA of ~he message will differ from the Intermediate Source ~ddress ISA. As with the case oE deaf nodes, unit 1196d will discard the message it received from secondary unit 1200a since primary unit 1196c has already undertaken to assist unit 1200a by initiating a down link message se~uence.
Rrimary remote units are preferably implemented to perform the same function as the remote units of the first embodiment including the selection oE preferred down link addresses. By way of example, for the network conditions depicted in Figure 2~, primary unit 1196d has selected primary unit 1196a as the preferred down link address. If network condition should change, unit 1196d may select other primary remote units or the master unit as the preferred address.
From the foregoing, it can be seen that the master unit is implemented in a manner similar to the remote units. The master unit will not transmit on the network if the master unit hold delay timer is running unless the channel has heen allocated to the SDA of the message. If the message to be transmitted is a reply to a down link message, the master unit will utilize the Intermediate Source Address ISA of the received message as the Intermediate Destination Address IDA of 5~i the reply message. In tha~ event, the channel will have been allocated to the data package originating remote unit during the transmission of the previo~s down link messages.
The master unit will initiate an up link sequence by transmitting a message such as a Global Sequence Command GSC much in the same manner as a remote unit initiates a down link message sequence. However, the master unit will transmit the message with a floating 10 priority NT being determined by the urgency of the message. As previously noted, if the message is in response to receipt by the master of a down link message, the message will be transmitted with a fixed priority of ~. Accordingly, the message will be transmitted onto the network at the next slot timer tick.

Claims (78)

Claims
1. A communication system for use in a network of interconnected communication paths, said system comprising a plurality of communication nodes capable of transmitting messages over the network including a master unit and a plurality of remote units which are also capable of receiving said messages over the network, with each of said nodes having an associated identifying address, wherein said remote units are capable of initiating a down link message sequence wherein a data package associated with one of said nodes is transferred from a sequence-originating remote unit to said master unit by transmission of at least one of said messages, designated as down link messages, with said down link messages including said data package a source address identifying which of said nodes is associated with said data package in said message, an intermediate source address identifying which of said nodes transmitted said down link message, an intermediate destination address identifying which of said nodes is intended to receive said down link message and wherein said master unit is capable of initiating a responding up link message sequence in response to receipt by said master unit of one of said down link messages, wherein said sequence-oritinating remote unit is informed of said receipt by said master unit of said data package by transmission of at least one of said messages, designated as an up link message, with said up link messages including an intermediate source address identifying which of said nodes transmitted said up link message, an intermediate destination address identifying which of said nodes is intended to receive said up link message and a final destination address identifying said node associated with said data package received by said master unit with each of said remote units including:

a) remote input means for receiving said data package, said remote input means including remote receiver means for receiving said messages, said remote receiver means including direction means for discriminating between said up and down link messages and store and forward means for identifying received messages requiring a transmit action by said receiving remote unit;
b) remote transmitter means for transmitting said messages in response to receipt of one of said messages requiring said transmit action by said receiving remote unit, said remote transmitter means including down link transmit means for transmitting one of said down link messages containing said data package obtained from said received message in the event said received message is one of said down link messages, said down link transmit means including down link address means for determining said intermediate destination address of said down link messages transmitted by said receiving remote unit utilizing at least one parameter indicative of network conditions obtained, at least in part, from said messages received by said receiving remote unit containing one one of said intermediate destination addresses other than said address of said receiving remote unit and including up link transmit means for transmitting one of said up link messages in the event said received message is one of said up link messages, said up link transmit means including up link address means for determining said intermediate destination address of said transmitted up link message; and wherein said master unit includes:

a) master receiver means for receiving said messages, said master receiver means including direction means for discriminating between said up and said down link received messages; and b) master transmitter means for transmitting said up link messages in response to receipt by said master unit of one of said down link messages.
2. The system of Claim 1 wherein said down link address means also obtains said at least one parameter indicative of network conditions from said messages received by said receiving remote unit having one of said intermediate destination addresses which corresponds to said address of said receiving remote unit.
3. The system of Claim 2 wherein said remote transmitter means further includes transmit initiate means for initiating one of said down link message sequences.
4. The system of Claim 3 wherein said transmit initiate means is a means for initiating the transmission of one of said messages by said remote unit for the purpose of enabling other ones of said remote units to obtain said at least one parameter from said transmitted message.
5. The system of Claim 3 wherein said down link messages transmitted by said down link means in response to receipt of one of said messages requiring said transmit action include one of said source addresses which corresponds to said source address of said received message and an intermediate source address which corresponds to said address of said receiving remote unit.
6. The system of Claim 5 wherein said down link messages transmitted by said down link means in response to said transmit initiate means include one of said source addresses which corresponds to said address of said node associated with said data package contained in said transmitted down link messages.
7. The system of Claim 6 wherein said up link address means utilizes said intermediate source addresses obtained from said received down link messages requiring transmit action for said intermediate destination address of a responding one of said up link messages.
8. The system of Claim 7 wherein said store and forward means identifies said received down link messages as requiring said transmit action if said intermediate destination address of said received down link message corresponds to said address of said receiving remote unit.
9. The system of Claim 8 wherein said store and forward means identifies said received up link messages as requiring said transmit action if said intermediate destination address corresponds to said address of said receiving remote unit and said final destination address differs from said address of said receiving remote unit.
10. The system of Claim 9 wherein said master transmitter means transmits said up link messages containing an intermediate destination address which corresponds to said intermediate source address of said received down link message to which said up link message is a response.
11. The system of Claim 10 wherein said master transmitter means transmits said up link messages containing one of said final destination addresses which corresponds to said source address of said received down link message to which said up link message is a response.
12. The system of Claim 1 wherein said remote units further include data input means for producing one of said data packages from a data source associated with said remote unit.
13. The system of Claim 12 wherein said remote transmitter means further includes transmit initiate means for initiating one of said down link message sequences and wherein said down link transmit means transmits one of said down link messages containing said data package obtained from said data input means in response to said transmit initiate means.
14. The system of Claim 11 wherein said down link address means includes link confirmed means for producing a link confirmed flag which indicates whether said remote unit received one of said up link messages in response to a previous transmission of a down link message by said transmitting remote unit.
15. The system of Claim 14 wherein said messages transmitted by said remote unit contain said link confirmed flag associated with said remote unit and wherein said down link address means examines said link confirmed flag contained in said received messages, with said examined link confirmed flag being one of said at least one parameter indicative of network conditions.
16. The system of Claim 15 wherein said link confirmed means includes expected list means for identifying one of said remote units which transmits one of said down link messages and for determining whether said identified transmitting remote unit received a responding one of said up link messages.
17. The system of Claim 16 wherein said down link address means includes failure quotient means for storing a failure quotient value indicative of the frequency over time that said remote unit identified by said expected list means failed to receive one of said up link messages in response to transmission of one of said down link messages by said identified remote unit and wherein said failure quotient is one of said at least one parameter indicative of network conditions,
18. The system of Claim 11 wherein said down link address means includes expected list means for identifying one of said remote units which transmits one of said down link messages and for determining whether said identified transmitting remote unit received a responding one of said up link messages.
19. The system of Claim 18 wherein said down link address means includes failure quotient means for storing a failure quotient value indicative of the frequency over time that said remote unit identified by said expected list means failed to receive one of said up link messages in response to transmission of one of said down link message by said identified remote unit and wherein said failure quotient is one of said at least one parameter indicative of network conditions.
20. The system of Claim 11 wherein said down link address means includes hop count means for producing a hop count value associated with said remote unit indicative of the number of successive down link message transmissions required to transfer said data package from said associated remote unit to said master unit.
21. The system of Claim 20 wherein said messages transmitted by said associated remote unit contain said hop count value and wherein said down link means examines said hop count value contained in said received messages, with said examined hop count value being one of said at least one paramter indicative of network conditions.
22. The system of Claim 11 wherein said up link means of said remote unit store at least one node address for use as said intermediate destination address for said up link messages transmitted by said transmitting remote unit and wherein said stored addresses are one of said at least one parameter indicative of network conditions.
23. The system of Claim 11 wherein said down link address means of said remote unit include signal-to-noise means for producing a signal-to-noise value indicative of an estimated signal-to-noise ratio of said messages received by said remote unit.
24. The system of Claim 23 wherein said signal-to-noise value is one of said at least one parameter indicative of network conditions.
25. The system of Claim 23 wherein said down link address means of said remote unit includes quality of link means for producing a transmitted quality of link value which is present in said messages transmitted by said transmitting remote unit, with said transmitted quality of link value being derived from a local quality of link value and a received quality of link value, with said local quality of link value being produced from said signal-to-noise value and said received quality of link value being derived from said transmitted quality of link values produced by nodes other than said transmitting remote unit which are present in said messages received by said transmitting remote unit and wherein said transmitted quality of link value is one of said at least one parameter indicative of network conditions.
26. The system of Claim 25 wherein said down link address means of said remote unit includes a preferred node address which is utilized as said intermediate destination address of said down link messages transmitted by said transmitting remote unit and wherein said received quality of link value is derived from said transmitted quality of link value present in messages transmitted by said node associated with said preferred node address.
27. The system of Claim 11 wherein said remote transmitter means includes collision reduction means for controlling transmission of said messages by said transmitting remote unit so as to reduce the probability that said messages transmitted by said transmitting remote unit will collide with other said messages on the network.
28. The system of Claim 27 wherein said collision reduction means includes transmit hold means for delaying transmission of said messages by said transmitting remote unit in response to receipt by said transmitting remote unit of one of said messages.
29. The system of Claim 28 wherein said transmit hold means includes hold delay timer means for controlling the duration of said transmission delay, with said timer means being changeable between an active state wherein said transmission delay is in effect and an inactive state wherein said transmission delay is not in effect, with said timer means changing from said inactive state to said active state in response to receipt by said transmitting remote unit of one of said down link messages and includes channel allocation means for storing an address, referred to as an allocated address, which corresponds to one of said nodes associated with said data package contained in said down link message which caused said change to said active state.
30. The system of Claim 29 wherein said timer means changes from said inactive state to said active state in response to receipt by said transmitting remote unit of one of said up link messages.
31. The system of Claim 30 wherein said down link messages contain hold delay information used by said hold delay timer means for controlling said duration of said transmission delay.
32. The system of Claim 31 wherein said down link address means includes hop count means for producing a hop count value associated with said transmitting remote unit indicative of the number of successive down link message transmissions required to transfer said data package from said transmitting remote unit to said master unit and wherein said duration of said transmission delay of said transmitting remote unit is a function of one of said hop count values.
33. The system of Claim 32 wherein said duration of said transmission delay may also be independent of said hop count values and wherein said hold delay information from said received message used by said hold delay timer indicates whether said duration of said transmision delay is controlled by said hop count values.
34. The system of Claim 29 wherein said transmit hold means includes channel allocation means for stor-ing an address which corresponds to one of said nodes associated with said data package present in said down link message which caused said change to said active state.
35. The system of Claim 34 wherein said timer means changes from said inactive state to said active state in response to receipt by said transmitting remote unit of one of said up link messages.
36. The system of Claim 27 wherein said collision reduction means of said transmitting remote unit includes transmit timer means for controlling the probability that said transmitting remote unit will transmit one of said messages at a particular one of periodic event times.
37. The system of Claim 36 wherein said probability is a function of a number of said messages transmitted on the network during a predetermined time period.
38. The system of Claim 37 wherein said messages contain message traffic information indicative of said number of said messages transmitted on the network and wherein said transmit timer means of said transmitting remote unit utilizes said message traffic information in said messages received by said transmitting remote unit for determining said probability.
39. The system of Claim 38 wherein said transmit timer means includes a transmit counter clocked by a transmit clock, with a transmit attempt period commencing when said transmit counter is clocked starting at an initial value and with said attempt period terminating when said transmit counter is clocked to a final value at which time said transmitting remote unit attempts to transmit one of said messages, with the duration of said transmit attempt period being relatively randomly selected for each of said attempt periods.
40. The system of Claim 39 wherein said transmit clock has a period which corresponds to the period of said periodic event times, said transmit counter has a plurality of counter outputs of varying count significance and with said transmit attempt period terminating when selected ones of said transmit counter outputs are clocked to said final value, with said probability of transmission being a function of which of said counter outputs are selected.
41. The system of Claim 40 wherein said probability of transmission may be altered during said transmit attempt period, in response to a change in said number of messages transmitted on the network, by changing said selected ones of said transmit counter outputs.
42. The system of Claim 41 wherein said selected ones of said transmit counter outputs may include none of said counter outputs, in which case said transmit attempt period terminates upon receipt of a next one of said transmit clocks.
43. The system of Claim 41 wherein said transmit counter is a binary counter which is set to a relatively randomly-selected one of said initial values and which is decremented to said final value by said transmit clock.
44. The system of Claim 11 wherein said down link messages transmitted by one of said nodes contain a message identifier associated with said data package in said message and wherein said message identifier is transferred from said sequence initiating remote unit to said master unit during one of said down link message sequence and transferred from said master unit back to said sequence initiating remote unit during said responding up link message sequence.
45. The system of Claim 44 wherein said remote transmitter means includes retry means for confirming receipt by said master unit of said data package when said remote unit is one of said sequence initiating remote units by examining said message identifier in said up link messages and said retry means causes said sequence initiating remote unit to initiate a subsequent one of said down link message sequences containing said data package of a previous one of said down link message sequences in the event receipt of said previous down link data package by said master unit is not confirmed by said retry means.
46. The system of Claim 11 wherein said master transmitter means includes command means for initiating a command message sequence wherein command information is transferred from said master unit to at least one of said remote units by transmission of at least one of said messages, referred to as a command message.
47. The system of Claim 46 wherein said command messages include messages designated as flood command messages and wherein said remote receiver means of said remote unit includes flood command means for detecting receipt by said receiving remote unit of one of said flood command messages and wherein said remote trans-mitter means of said receiving remote unit transmits one of said flood command messages in response to receipt of one of said flood command messages by said receiving remote unit, with said transmitted flood command message containing said command information of said received flood command message.
48. The system of Claim 47 wherein said flood command messages transmitted by said receiving remote units contain one of said intermediate destination addresses determined independent of said up link address means of said receiving remote unit.
49. The system of Claim 46 wherein said remote units and said master unit transmit ones of said messages which further include a command number and wherein said messages transmitted by said master unit contain one of said command numbers, referred to as a master command number, which is sequentially changed as said master unit produces new command information to be transmitted in said command messages, and wherein said remote receiver means further includes command number storage means for storing said command number present in messages received by said remote unit, and said remote transmitter means inserts said command number stored in said remote unit in messages transmitted by said remote unit.
50. The system of Claim 49 wherein said command number storage means replaces said stored command number with one of said command numbers present in one of said messages received by said remote unit if said received command number is indicative of command information more recent than that indicated by said command number presently stored.
51. The system of Claim 50 wherein said remote receiver further includes actual command received means for producing an actual command received number indicative of said command information received by said receiving remote unit and said transmit initiate means includes missing command means for initiating one of said down link message sequences in response to a determination by said command number storage means that said received command number is indicative of command information more recent than that indicated by said command number presently stored.
52. The system of Claim 51 wherein said messages of said down link message sequence initiated by said missing command means contain one of said data packages which includes said actual received command number of said initiating remote unit.
53. The system of Claim 52 wherein said remote receiver means further includes sequential detection means responsive to said command number present in one of said received command messages and to said actual command received number for determining whether command information present in said received command message has been received in a predetermined command informa-tion sequence and wherein said missing command means initiates one of said down link message sequences if said receive command information is received out of said sequence.
54. The system of Claim 6 wherein said remote units include receiver failure means for causing said remote unit to periodicaly transmit one of said mes-sages, designated as a deaf message, in the event said remote receiver means of said transmitting remote unit has failed, with said deaf messages containing said data packages associated with said transmitting remote unit and further containing receiver failed information indicating that said receiver means of said transmitting remote unit has failed.
55. The system of Claim 54 wherein said store and forward means of said remote units identifies said deaf messages received by said receiving remote unit as said messages requiring said transmit action, independent of said intermediate destination address of said received deaf message.
56. The system of Claim 11 wherein said down link address means of said remote units includes hop count means for producing a hop count value associated with said remote unit which is indicative of the number of successive message transmissions required to transfer said data package from said associated remote unit to said master unit, with said messages transmitted by said associated remote unit containing said hop count value of said associated remote unit and wherein said remote transmitter means of said associated remote unit includes assist means for causing said associated remote unit to transmit one of said messages in response to receipt by said associated remote unit of one of said messages containing one of said hop count values which indicates that said number of transmissions exceeds a predetermined value.
57. The system of Claim 11 wherein said remote transmitter means of at least two of said remote units further includes separate output means for coupling to a separate communication path distinct from the network of interconnected communications paths and for transmitting said messages transmitted over the interconnected communication paths also over the separate communication path and wherein said remote receiver means of said at least two of said remote units further includes separate input means for coupling to the separate communication path and for receiving said messages transmitted over the separate communication path.
58. The system of Claim 13 wherein the network of interconnected paths includes power lines for distributing electrical energy and wherein said data input means includes power meter means for providing data relating to electrical energy consumption by an electrical load associated with said remote unit.
59. The system of Claim 1 wherein said remote units are designated as primary remote units and said messages transmitted by said remote units and by said master unit are designated as primary messages and wherein said communication nodes further include a plurality of secondary remote units, each having an associated identifying address, capable of transmitting said messages, designated as secondary messages, over the network, each of said secondary remote units including:
secondary data input means for receiving said data package from a data source associated with said secondary remote unit; and secondary remote transmitter means for transmitting said secondary messages over the network, with said secondary messages including one of said addresses, designated as a source address, for identifying which of said secondary remote units transmitted said secondary message and further including said data package obtained from said data source associated with said secondary remote unit which transmitted said secondary message; and and wherein said store and forward means of said primary remote units includes means for identifying received ones of said secondary messages as requiring said transmit action and wherein said remote transmitter means of said receiving primary remote unit initiates one of said down link message sequences in response to receipt of one of said secondary messages wherein said data package associated with said secondary remote unit which transmitted said secondary message is transferred from said sequence-initiating primary remote unit to said master unit by transmission of at least one of said down link primary messages.
60. The system of Claim 59 wherein said down link primary messages transmitted by said down link means in response to receipt of one of said messages by said primary remote unit, including said primary and said secondary messages, requiring said transmit action include one of said source addresses which corresponds to said source address of said received message and an intermediate source address which corresponds to said address of said receiving primary remote unit.
61. The system of Claim 60 wherein said down link primary messages transmitted by said down link means of said receiving primary remote unit include one of said source addresses which corresponds to said address of said node associated with said data package present in said transmitted down link primary message.
62. The system of Claim 61 wherein said up link address means of said primary remote units utilizes said intermediate source addresses obtained from said received down link primary messages requiring said transmit action for said intermediate destination address of a responding one of said up link primary messages.
63. The system of Claim 62 wherein said secondary messages contain secondary message information identifying said messages as secondary messages and wherein said store and forward means of a receiving one of said primary remote units identifies said received messages as requiring said transmit action, including said initiation of one of said down link message sequences if said secondary message information is present in said received message and wherein said store and forward means identifies said received down link primary messages as requiring said transmit action if said intermediate destination address of said received down link primary message corresponds to said address of said receiving primary remote unit.
64. The system of Claim 63 wherein said store and forward means of said receiving primary remote unit identifies said received up link primary messages as requiring said transmit action if said intermediate destination address of said received up link primary message corresponds to said address of said receiving primary remote unit and said final destination address of said received up link primary message differs from said address of said receiving primary remote unit.
65. The system of Claim 64 wherein said master transmitter means transmits said up link primary messages containing an intermediate destination address which corresponds to said intermediate source address of one of said received down link primary messages to which said transmitted up link primary message is a response.
66. The system of Claim 63 wherein said master transmitter means transmits said up link primary messages containing one of said final destination addresses which corresponds to said source address of said received down link primary messages to which said up link primary message is a response.
67. The system of Claim 66 wherein said down link address means of said primary remote units includes link confirmed means for producing a link confirmed flag which indicates whether one of said up link primary messages is received by one of said primary remote units in response to a previous transmission of one of said down link primary messages by said receiving primary remote unit and wherein said primary messages transmitted by said receiving primary remote unit contain said link confirmed flag associated with said receiving primary remote unit and wherein said down link means examines said link confirmed flag present in said received primary messages, with said examined link confirmed flag being one of said at least one parameter indicative of network conditions.
68. A communication system for use in a network of interconnected communication paths, said system comprising a plurality of communication nodes capable of transmitting messages over the network including a master unit and a plurality of remote units which are also capable of receiving said messages over the network, with each of said nodes having an associated identifying address, wherein said remote units are capable of initiating a down link message sequence wherein a data package associated with one of said nodes is transferred from a sequence initiating remote unit to said master unit by transmission of at least one of said messages, designated as down link messages, with said down link messages including said data package, a source address identifying which of said nodes is associated with said data package in said message, an intermediate source address identifying which of said nodes transmitted said down link message an intermediate destination address identifying which of said nodes is intended ~o receive said down link message and wherein said master unit is capable of initiating a responding up link message sequence in response to rece;pt by said master unit of one of said down link messages, wherein said sequence initiating remote unit is informed of said receipk by said rnaster unit of said data package by transmission of at least one of said messages, designated as an up link message, with said up link rnessages including an intermediate source address identifying which of said nodes transmitted said up link message, an intermediate destination address identifying which of said nodes is intended to receive said up link message and a final destination address identifying said node associated with said data package received by said master unit, with each of said remote units including:
a) remote input means for receiving said data package, said remote input means including remote receiver means for receiving said messages, said remote receiver means including direction means for discriminating between up and down link messages and store and forward means for identifying received messages requiring a transmit action by said receiving remote unit;
b) remote transmitter means for transmitting said messages in response to receipt of one of said messages requiring said transmit action by said receiving remote unit, said remote transmitter means including down link transmit means for transmitting one of said down link messages containing said data package obtained from said received message, one of said source addresses which corresponds to said source address of said received message and one of said intermediate source addresses which corresponds to event said received message is one of said down link messages, with said down link transmit means including down link address means for determining said intermediate destination address of said down link messages transmitted by said receiving remote unit utilizing at least one parameter indicative of network conditions obtained, at least in part, from said messages received by said receiving remote unit having one of said intermediate destination addresses other than said address of said receiving remote unit; with said remote transmitter means further including up link transmit means for transmitting one of said up link messages in the event said received message is one of said up link messages, said up link transmit means including up link address means for determining said intermediate destination address of said transmitted up link message; and wherein said master unit includes:
a) master receiver means for receiving said messages, said master receiver means including direction means for discriminating between up and down link received messages;
b) master transmitter means for transmitting said up link messages in response to receipt by said master unit of one of said down link messages, with said up link messages transmitted by said master unit containing one of said final destination addresses which corresponds to said source address of said received down link message to which said up link message is a response.
69. The system of Claim 68 wherein said up link address means utilizes said intermediate source address obtained from said received down link messages requiring transmit action for said intermediate destination address of a responding one of said up link messages.
70. The system of Claim 69 wherein said down link address means includes expected list means for identifying one of said remote units which transmits one of said down link messages and for determining whether said identified transmitting remote unit received a responding one of said up link messages.
71. The system of Claim 70 wherein said down link address means includes failure quotient means for storing a failure quotient value indicative of the frequency over time that said remote unit identified by said expected list means fails to receive one of said up link messages in response to transmission of a down link message by said identified remote unit and wherein said failure quotient is one of said at least one parameter indicative of network conditions.
72. The system of Claim 71 wherein said expected list means is also a means for producing a link confirmed flag in the event said identified remote unit is said subject remote unit indicating whether said subject remote unit has failed to receive one of said responding up link messages; wherein messages transmitted by said subject remote units contain said link confirmed flag and wherein said link confirmed flag is one of said at least one parameter indicative of network conditions.
73. The system of Claim 72 wherein said down link means of said remote units include signal-to-noise means for producing a signal-to-noise value indicative of an estimated signal-to-noise ratio of said messages received by said remote units.
74. The system of Claim 73 wherein said signal-to-noise value is one of said at least one parameter indicative of network conditions.
75. The system of Claim 74 wherein said down link means of said remote units includes quality of link means for producing a transmitted quality of link value which is present in said messages, transmitted by said transmitting remote unit, with said transmitted quality of link value being derived from a local quality of link value and a received quality of link value, with said local quality of link value being produced from said signal-to-noise value and said received quality of link value being derived from said transmitted quality of link values produced by nodes other than said transmitting remote unit which are present in said messages received by said transmitting remote unit and wherein said transmitted quality of link values are one of said at least one parameter indicative of network conditions.
76. The system of Claim 75 wherein said down link means of said remote units includes a preferred node address which is utilized as said intermediate destination address of said down link messages transmitted by said transmitting remote unit and wherein said received quality of link value is derived from said transmitted quality of link value present in messages transmitted by said node associated with said preferred node address.
77. A communication system for communicating over a network of interconnected power lines, said system comprising a plurality of communication nodes capable of transmitting messages over the network including a master unit and a plurality of remote units which are also capable of receiving said messages over the network, with each of said nodes having an associated identifying address, wherein said remote units are capable of initiating a down link message sequence wherein a data package includes data relating to consumption of electrical energy, associated with one of said nodes, is transferred from a sequence initiating remote unit to said master unit by transmission of at least one of said messages, designated as down link messages, with said down link messages including said data package, a source address identifying which of said nodes is associated with said data package in said message, an intermediate source address identifying which of said nodes transmitted said down link message, an intermediate destination address identifying which of said nodes is intended to receive said down link message and wherein said master unit is capable of initiating a responding up link message sequence in response to receipt by said master unit of one of said down link messages, wherein said sequence initiating remote unit is informed of said receipt by said master unit of said data package by transmission of at least one of said messages, designated as an up link message, with said up link messages including an intermediate source address identifying which of said nodes transmitted said up link message, an intermediate destination address identifying which of said nodes is intended to receive said up link message and a final destination address identifying said node associated with said data package received by said master unit, with each of said remote units including:
a) remote input means for receiving said data package, said remote input means including remote receiver means for receiving said messages, said remote receiver means including direction means for discriminating between said up and down link messages and store and forward means for identifying received messages requiring a transmit action by said receiving remote unit;
b) remote transmitter means for transmitting said messages in response to receipt of one of said messages requiring said transmit action by said receiving remote unit, said remote transmitter means including down link transmit means for transmitting one of said down link messages containing said data package obtained from said received message in the event said received message is one of said down link messages, said down link transmit means including down link address means for determining said intermediate destination address of said down link messages transmitted by said receiving remote unit utilizing a plurality of parameters indicative of network conditions, including a hop count value which represents the number of said message transmissions required to transfer said data package from a particular one of said nodes to said master unit and including up link transmit means for transmitting one of said up link messages in the event said received message is one of said up link messages, said up link transmit means including up link address means for determining said intermediate destination address of said transmitted up link message; and wherein said master unit includes:
a) master receiver means for receiving said messages, said master receiver means including direction means for discriminating between said up and down link received messages; and b) master transmitter means for transmitting said up link messages in response to receipt by said master unit of one of said down link messages.
78. The system of Claim 77 wherein said down link address means determines said intermediate destination address utilizing said paramter indicative of network condition obtained, at least in part, from said messages received by said receiving remote unit containing one of said intermediate destination addresses other than said address of said receiving remote unit.
CA000510903A 1985-06-21 1986-06-05 Adaptive communication network and method Expired CA1252535A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US747,806 1985-06-21
US06/747,806 US4692761A (en) 1985-06-21 1985-06-21 Adaptive communication network and method

Publications (1)

Publication Number Publication Date
CA1252535A true CA1252535A (en) 1989-04-11

Family

ID=25006720

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000510903A Expired CA1252535A (en) 1985-06-21 1986-06-05 Adaptive communication network and method

Country Status (10)

Country Link
US (1) US4692761A (en)
JP (1) JPS6248837A (en)
BE (1) BE904974A (en)
CA (1) CA1252535A (en)
DE (1) DE3619906A1 (en)
FR (1) FR2587570A1 (en)
GB (1) GB2176972B (en)
IT (1) IT1189169B (en)
NL (1) NL8601614A (en)
SE (1) SE8602769L (en)

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8713460D0 (en) * 1987-06-09 1987-07-15 Philips Nv Data processing system
US4799211A (en) * 1987-07-23 1989-01-17 Digital Equipment Corporation Apparatus and method for storing performance parameters of local area network system members
GB8817288D0 (en) * 1988-07-20 1988-08-24 Racal Milgo Ltd Methods of & networks for information communication
US5987058A (en) * 1988-11-02 1999-11-16 Axonn Corporation Wireless alarm system
CH677568A5 (en) * 1989-03-21 1991-05-31 Datawatt Bv
CH677300A5 (en) * 1989-03-21 1991-04-30 Asea Brown Boveri
US5032833A (en) * 1989-04-27 1991-07-16 Schlumberger Industries, Inc. Adaptive network routing for power line communications
US5553094A (en) 1990-02-15 1996-09-03 Iris Systems, Inc. Radio communication network for remote data generating stations
DE4015457A1 (en) * 1990-05-14 1991-11-21 Messerschmitt Boelkow Blohm REMOTE MEASURING AND ACTUATING SYSTEM
GB2256117A (en) * 1991-05-14 1992-11-25 Teleco Oilfield Services Inc Transmission of data pulses on intrinsically safe power lines
FR2677190B1 (en) * 1991-06-03 1993-09-03 Merlin Gerin TELETRANSMISSION DEVICE WITH IN LINE CARRIERS FOR CONTROLLED CONTROL OF AN ELECTRICAL NETWORK, PARTICULARLY AT MEDIUM VOLTAGE.
DE9113511U1 (en) * 1991-06-10 1992-01-02 Messerschmitt-Boelkow-Blohm Gmbh, 8012 Ottobrunn, De
US5384712A (en) * 1991-08-15 1995-01-24 Eaton Corporation Energy monitoring system for a plurality of local stations with snapshot polling from a central station
US5359646A (en) * 1992-04-30 1994-10-25 Bell Communications Research, Inc. Testing of distributed communications networks
US5428351A (en) * 1992-12-28 1995-06-27 General Electric Company Method and apparatus for sharing passwords
US5448229A (en) * 1992-12-28 1995-09-05 General Electric Company Method and apparatus for communicating with a meter register
US5835005A (en) * 1994-07-13 1998-11-10 Omron Corporation Power-line data transmission method and system utilizing relay stations
GB9416688D0 (en) * 1994-08-18 1994-10-12 Remote Metering Systems Ltd Mains signalling systems
EP0792558A1 (en) * 1994-11-17 1997-09-03 Nortel Networks Corporation Intelligent network testing
US5684826A (en) * 1996-02-08 1997-11-04 Acex Technologies, Inc. RS-485 multipoint power line modem
US8982856B2 (en) 1996-12-06 2015-03-17 Ipco, Llc Systems and methods for facilitating wireless network communication, satellite-based wireless network systems, and aircraft-based wireless network systems, and related methods
US7054271B2 (en) 1996-12-06 2006-05-30 Ipco, Llc Wireless network system and method for providing same
US5963548A (en) * 1997-01-21 1999-10-05 Nokia Mobile Phones Limited Apparatus and method for configuring a data channel for symmetric/asymmetric data transmission
US7046682B2 (en) 1997-02-12 2006-05-16 Elster Electricity, Llc. Network-enabled, extensible metering system
US6396839B1 (en) 1997-02-12 2002-05-28 Abb Automation Inc. Remote access to electronic meters using a TCP/IP protocol suite
US6233327B1 (en) * 1997-02-14 2001-05-15 Statsignal Systems, Inc. Multi-function general purpose transceiver
DE19711958A1 (en) * 1997-03-21 1998-09-10 Siemens Ag Network communication
US5978371A (en) * 1997-03-31 1999-11-02 Abb Power T&D Company Inc. Communications module base repeater
US6073169A (en) * 1997-04-08 2000-06-06 Abb Power T&D Company Inc. Automatic meter reading system employing common broadcast command channel
US5874903A (en) * 1997-06-06 1999-02-23 Abb Power T & D Company Inc. RF repeater for automatic meter reading system
US5923269A (en) * 1997-06-06 1999-07-13 Abb Power T&D Company Inc. Energy meter with multiple protocols for communication with local and wide area networks
WO1999013676A2 (en) 1997-09-12 1999-03-18 Williams Wireless, Inc. Wide area telemetry network
WO1999045510A2 (en) 1998-03-03 1999-09-10 Itron, Inc. Method and system for reading intelligent utility meters
US6100817A (en) * 1998-03-17 2000-08-08 Abb Power T&D Company Inc. Fixed network RF communications complaint with CEBus protocol
WO1999053627A1 (en) 1998-04-10 1999-10-21 Chrimar Systems, Inc. Doing Business As Cms Technologies System for communicating with electronic equipment on a network
US6230296B1 (en) * 1998-04-20 2001-05-08 Sun Microsystems, Inc. Method and apparatus for providing error correction
US6914893B2 (en) * 1998-06-22 2005-07-05 Statsignal Ipc, Llc System and method for monitoring and controlling remote devices
US8410931B2 (en) 1998-06-22 2013-04-02 Sipco, Llc Mobile inventory unit monitoring systems and methods
US6891838B1 (en) 1998-06-22 2005-05-10 Statsignal Ipc, Llc System and method for monitoring and controlling residential devices
US6437692B1 (en) 1998-06-22 2002-08-20 Statsignal Systems, Inc. System and method for monitoring and controlling remote devices
US6480510B1 (en) 1998-07-28 2002-11-12 Serconet Ltd. Local area network of serial intelligent cells
US6700902B1 (en) 1998-10-19 2004-03-02 Elster Electricity, Llc Method and system for improving wireless data packet delivery
US6643566B1 (en) 1999-01-12 2003-11-04 Powerdsine Ltd. System for power delivery over data communication cabling infrastructure
US6473608B1 (en) 1999-01-12 2002-10-29 Powerdsine Ltd. Structure cabling system
US7046983B2 (en) * 1999-08-02 2006-05-16 Powerdsine, Ltd. Integral board and module for power over LAN
US7346785B2 (en) * 1999-01-12 2008-03-18 Microsemi Corp. - Analog Mixed Signal Group Ltd. Structure cabling system
DE19904358B4 (en) * 1999-02-04 2005-07-07 Abb Research Ltd. Method for data exchange via a decentralized network
US20080136667A1 (en) * 1999-02-23 2008-06-12 Raj Vaswani Network for automated meter reading
US7650425B2 (en) 1999-03-18 2010-01-19 Sipco, Llc System and method for controlling communication between a host computer and communication devices associated with remote devices in an automated monitoring system
US7061398B2 (en) * 1999-08-16 2006-06-13 Bs&B Safety Systems Limited Two-way wide area telemetry
CA2299559A1 (en) * 2000-02-23 2001-08-23 Oneline Ag A power line communications system
US6549616B1 (en) 2000-03-20 2003-04-15 Serconet Ltd. Telephone outlet for implementing a local area network over telephone lines and a local area network using such outlets
US6842459B1 (en) 2000-04-19 2005-01-11 Serconet Ltd. Network combining wired and non-wired segments
JP3693896B2 (en) * 2000-07-28 2005-09-14 三菱電機株式会社 Communication method and communication system
US8489063B2 (en) 2001-10-24 2013-07-16 Sipco, Llc Systems and methods for providing emergency messages to a mobile device
US7480501B2 (en) * 2001-10-24 2009-01-20 Statsignal Ipc, Llc System and method for transmitting an emergency message over an integrated wireless network
US7424527B2 (en) * 2001-10-30 2008-09-09 Sipco, Llc System and method for transmitting pollution information over an integrated wireless network
US6867707B1 (en) 2002-04-24 2005-03-15 Elster Electricity, Llc Automated on-site meter registration confirmation using a portable, wireless computing device
US7119713B2 (en) 2002-06-27 2006-10-10 Elster Electricity, Llc Dynamic self-configuring metering network
US20040113810A1 (en) 2002-06-28 2004-06-17 Mason Robert T. Data collector for an automated meter reading system
IL152824A (en) 2002-11-13 2012-05-31 Mosaid Technologies Inc Addressable outlet and a network using same
EP1471661A1 (en) * 2003-03-31 2004-10-27 Magnetek S.p.A. Packet communication between a collecting unit and a plurality of control devices over the power supply line
IL160417A (en) 2004-02-16 2011-04-28 Mosaid Technologies Inc Outlet add-on module
US8031650B2 (en) 2004-03-03 2011-10-04 Sipco, Llc System and method for monitoring remote devices with a dual-mode wireless communication protocol
US7756086B2 (en) * 2004-03-03 2010-07-13 Sipco, Llc Method for communicating in dual-modes
US7227350B2 (en) 2004-03-18 2007-06-05 Elster Electricity, Llc Bias technique for electric utility meter
US7315162B2 (en) 2004-03-18 2008-01-01 Elster Electricity, Llc Reducing power consumption of electrical meters
US7239250B2 (en) 2004-04-26 2007-07-03 Elster Electricity, Llc System and method for improved transmission of meter data
US7262709B2 (en) 2004-04-26 2007-08-28 Elster Electricity, Llc System and method for efficient configuration in a fixed network automated meter reading system
US7187906B2 (en) 2004-04-26 2007-03-06 Elster Electricity, Llc Method and system for configurable qualification and registration in a fixed network automated meter reading system
US7142106B2 (en) 2004-06-15 2006-11-28 Elster Electricity, Llc System and method of visualizing network layout and performance characteristics in a wireless network
US7702594B2 (en) 2004-09-24 2010-04-20 Elster Electricity, Llc System and method for automated configuration of meters
US7176807B2 (en) 2004-09-24 2007-02-13 Elster Electricity, Llc System for automatically enforcing a demand reset in a fixed network of electricity meters
US7170425B2 (en) 2004-09-24 2007-01-30 Elster Electricity, Llc System and method for creating multiple operating territories within a meter reading system
US7742430B2 (en) 2004-09-24 2010-06-22 Elster Electricity, Llc System for automated management of spontaneous node migration in a distributed fixed wireless network
US7873058B2 (en) 2004-11-08 2011-01-18 Mosaid Technologies Incorporated Outlet with analog signal adapter, a method for use thereof and a network using said outlet
US8751624B1 (en) * 2004-12-10 2014-06-10 Packet Design, Llc System and method for identifying issues related to messages in a communication network
US7327998B2 (en) 2004-12-22 2008-02-05 Elster Electricity, Llc System and method of providing a geographic view of nodes in a wireless network
US7472290B2 (en) * 2004-12-23 2008-12-30 Cisco Technology, Inc. Methods and apparatus to maintain and utilize mobile power profile information
US9439126B2 (en) 2005-01-25 2016-09-06 Sipco, Llc Wireless network protocol system and methods
US7308370B2 (en) 2005-03-22 2007-12-11 Elster Electricity Llc Using a fixed network wireless data collection system to improve utility responsiveness to power outages
ATE480890T1 (en) * 2005-04-06 2010-09-15 Power One Italy Spa ELECTRICITY DISTRIBUTION NETWORK WITH STRAY VOLTAGE MONITORING AND METHOD FOR TRANSMITTING INFORMATION IN THE NETWORK
US8995448B2 (en) * 2005-04-06 2015-03-31 Power One Italy S.P.A. Method for transmission of information between nodes of a network and network using said method
WO2006106537A1 (en) 2005-04-06 2006-10-12 Power-One Italy S.P.A. Method for transmission of information between nodes of a network and network using said method
US7495578B2 (en) 2005-09-02 2009-02-24 Elster Electricity, Llc Multipurpose interface for an automated meter reading device
US7308369B2 (en) 2005-09-28 2007-12-11 Elster Electricity Llc Ensuring automatic season change demand resets in a mesh type network of telemetry devices
US7427927B2 (en) 2006-02-16 2008-09-23 Elster Electricity, Llc In-home display communicates with a fixed network meter reading system
US7545285B2 (en) 2006-02-16 2009-06-09 Elster Electricity, Llc Load control unit in communication with a fixed network meter reading system
US8055461B2 (en) * 2006-09-15 2011-11-08 Itron, Inc. Distributing metering responses for load balancing an AMR network
US7895456B2 (en) * 2006-11-12 2011-02-22 Microsemi Corp. - Analog Mixed Signal Group Ltd Reduced guard band for power over Ethernet
US7747357B2 (en) * 2006-11-13 2010-06-29 Lutron Electronics Co., Inc. Method of communicating a command for load shedding of a load control system
US8073384B2 (en) 2006-12-14 2011-12-06 Elster Electricity, Llc Optimization of redundancy and throughput in an automated meter data collection system using a wireless network
US8320302B2 (en) 2007-04-20 2012-11-27 Elster Electricity, Llc Over the air microcontroller flash memory updates
US20090115626A1 (en) * 2007-11-02 2009-05-07 Raj Vaswani Electronic meter for networked meter reading
NZ586190A (en) 2007-12-26 2013-05-31 Elster Electricity Llc A utility meter network wherein meters can transmit electrical and other readings to a collector by using other meters as repeaters
US8525692B2 (en) 2008-06-13 2013-09-03 Elster Solutions, Llc Techniques for limiting demand from an electricity meter with an installed relay
US8160753B2 (en) * 2008-07-31 2012-04-17 Microsemi Corp.—Analog Mixed Signal Group Ltd. Time integrated guard band
WO2010013493A1 (en) * 2008-07-31 2010-02-04 三洋電機株式会社 Notifying method, and access control device
US8195965B2 (en) * 2008-11-04 2012-06-05 Microsemi Corp. - Analog Mixed Signal Group Ltd. Compensation for high powered midspan power sourcing equipment
US8203463B2 (en) 2009-02-13 2012-06-19 Elster Electricity Llc Wakeup and interrogation of meter-reading devices using licensed narrowband and unlicensed wideband radio communication
DE102010044973B4 (en) * 2010-09-10 2016-02-25 Sew-Eurodrive Gmbh & Co Kg Device and method for data transmission and energy transmission via a line
US9081684B2 (en) 2013-08-28 2015-07-14 Landis+Gyr Technologies, Llc Data recovery of data symbols received in error
US9306624B1 (en) * 2015-03-31 2016-04-05 Landis+Gyr Technologies, Llc Initialization of endpoint devices joining a power-line communication network
US9525462B1 (en) 2015-12-04 2016-12-20 Landis+Gyr Technologies, Llc Data recovery of data symbols

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4250489A (en) * 1978-10-31 1981-02-10 Westinghouse Electric Corp. Distribution network communication system having branch connected repeaters
US4302750A (en) * 1979-08-03 1981-11-24 Compuguard Corporation Distribution automation system
EP0042447B1 (en) * 1980-06-19 1984-06-13 International Business Machines Corporation Flow control mechanism for block switching nodes
US4393499A (en) * 1981-03-11 1983-07-12 Ford Aerospace & Communications Corporation Adaptive signal quality measurement circuit for PSK and FSK demodulators
US4427968A (en) * 1981-04-09 1984-01-24 Westinghouse Electric Corp. Distribution network communication system with flexible message routes
US4446462A (en) * 1982-03-01 1984-05-01 General Electric Company Method and apparatus for multiple frequency transmission of information in a digital communication system
US4580276A (en) * 1983-08-05 1986-04-01 Consultant's Choice Inc. System and method for transporting data
US4642607A (en) * 1985-08-06 1987-02-10 National Semiconductor Corporation Power line carrier communications system transformer bridge

Also Published As

Publication number Publication date
SE8602769D0 (en) 1986-06-23
JPS6248837A (en) 1987-03-03
IT8620771A0 (en) 1986-06-12
NL8601614A (en) 1987-01-16
IT8620771A1 (en) 1987-12-12
GB2176972A (en) 1987-01-07
SE8602769L (en) 1986-12-22
DE3619906A1 (en) 1987-01-02
IT1189169B (en) 1988-01-28
FR2587570A1 (en) 1987-03-20
US4692761A (en) 1987-09-08
GB8610944D0 (en) 1986-06-11
GB2176972B (en) 1989-07-19
BE904974A (en) 1986-10-16

Similar Documents

Publication Publication Date Title
CA1252535A (en) Adaptive communication network and method
US4792947A (en) Method of multi-address communication
US4547850A (en) Priority control method and apparatus for common bus of data processing system
CA1194171A (en) Error-protected data transmission device and communication network
EP1092278B1 (en) Method and apparatus in a wireless communication system for dynamically formatting application data to be transmitted
EP0742659A2 (en) Multiple access system and method for multiple access
US4901313A (en) A-point to multi-points communication system
US4594706A (en) Packet communication systems
US4912703A (en) Apparatus and method for data flow control in broadcast data transmission system
AU662592B2 (en) Method of detecting a routing loop in a telecommunication network, telecommunication network for using the method, and detection means for use in the telecommunication network
JPH03500237A (en) multi-access communication system
EP0493905A1 (en) Address management for remote terminals in digital loop transmission systems
US4677613A (en) Network system for connecting multiple I/O devices to computers
WO1997041669A1 (en) Packet data communications system having a malfunction list
US5530913A (en) Message delivery improvement for data communications system using single frequency reuse networks
JP2001525155A (en) Random access communication method using binary feedback
JP3039642B1 (en) Mobile communication system
JPH0457140B2 (en)
JP2888112B2 (en) Satellite communication slot allocation device and satellite communication system
JPH08181715A (en) Transmitter-receiver
JP2002077305A (en) Optical radio communication system and optical radio communication control method
JPS58171150A (en) Communication system equivalent to loop
JPH0964872A (en) Network system
JP3019622B2 (en) Multipoint telegram collection method
JPH0687559B2 (en) Bus type LAN

Legal Events

Date Code Title Description
MKEX Expiry